diff --git a/assets/index-DKqItGQ7.js b/assets/index-CCrv1rV0.js similarity index 89% rename from assets/index-DKqItGQ7.js rename to assets/index-CCrv1rV0.js index 33e44ae28..701f8f7de 100644 --- a/assets/index-DKqItGQ7.js +++ b/assets/index-CCrv1rV0.js @@ -1,4 +1,4 @@ -var dct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=dct((yg,ch)=>{function LEe(t,e){for(var n=0;no[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var mc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function WEe(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function o(){return this instanceof o?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(o){var i=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,i.get?i:{enumerable:!0,get:function(){return t[o]}})}),n}var NEe={exports:{}},oK={},UEe={exports:{}},Qa={};/** +var cct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var fWo=cct((yg,ch)=>{function kEe(t,e){for(var n=0;no[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var mc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function FEe(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function o(){return this instanceof o?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(o){var i=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,i.get?i:{enumerable:!0,get:function(){return t[o]}})}),n}var LEe={exports:{}},oK={},WEe={exports:{}},Qa={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var dct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=dct((yg, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ML=Symbol.for("react.element"),fct=Symbol.for("react.portal"),hct=Symbol.for("react.fragment"),pct=Symbol.for("react.strict_mode"),gct=Symbol.for("react.profiler"),mct=Symbol.for("react.provider"),yct=Symbol.for("react.context"),Act=Symbol.for("react.forward_ref"),wct=Symbol.for("react.suspense"),vct=Symbol.for("react.memo"),xct=Symbol.for("react.lazy"),n6e=Symbol.iterator;function bct(t){return t===null||typeof t!="object"?null:(t=n6e&&t[n6e]||t["@@iterator"],typeof t=="function"?t:null)}var BEe={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},jEe=Object.assign,YEe={};function lH(t,e,n){this.props=t,this.context=e,this.refs=YEe,this.updater=n||BEe}lH.prototype.isReactComponent={};lH.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};lH.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function OEe(){}OEe.prototype=lH.prototype;function Yhe(t,e,n){this.props=t,this.context=e,this.refs=YEe,this.updater=n||BEe}var Ohe=Yhe.prototype=new OEe;Ohe.constructor=Yhe;jEe(Ohe,lH.prototype);Ohe.isPureReactComponent=!0;var o6e=Array.isArray,_Ee=Object.prototype.hasOwnProperty,_he={current:null},VEe={key:!0,ref:!0,__self:!0,__source:!0};function GEe(t,e,n){var o,i={},r=null,a=null;if(e!=null)for(o in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(r=""+e.key),e)_Ee.call(e,o)&&!VEe.hasOwnProperty(o)&&(i[o]=e[o]);var l=arguments.length-2;if(l===1)i.children=n;else if(1()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=dct((yg, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Rct=m,Hct=Symbol.for("react.element"),Mct=Symbol.for("react.fragment"),Ict=Object.prototype.hasOwnProperty,zct=Rct.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Dct={key:!0,ref:!0,__self:!0,__source:!0};function XEe(t,e,n){var o,i={},r=null,a=null;n!==void 0&&(r=""+n),e.key!==void 0&&(r=""+e.key),e.ref!==void 0&&(a=e.ref);for(o in e)Ict.call(e,o)&&!Dct.hasOwnProperty(o)&&(i[o]=e[o]);if(t&&t.defaultProps)for(o in e=t.defaultProps,e)i[o]===void 0&&(i[o]=e[o]);return{$$typeof:Hct,type:t,key:r,ref:a,props:i,_owner:zct.current}}oK.Fragment=Mct;oK.jsx=XEe;oK.jsxs=XEe;NEe.exports=oK;var h=NEe.exports,JEe={exports:{}},Eg={},KEe={exports:{}},qEe={};/** + */var Pct=m,Cct=Symbol.for("react.element"),Rct=Symbol.for("react.fragment"),Hct=Object.prototype.hasOwnProperty,Mct=Pct.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ict={key:!0,ref:!0,__self:!0,__source:!0};function VEe(t,e,n){var o,i={},r=null,a=null;n!==void 0&&(r=""+n),e.key!==void 0&&(r=""+e.key),e.ref!==void 0&&(a=e.ref);for(o in e)Hct.call(e,o)&&!Ict.hasOwnProperty(o)&&(i[o]=e[o]);if(t&&t.defaultProps)for(o in e=t.defaultProps,e)i[o]===void 0&&(i[o]=e[o]);return{$$typeof:Cct,type:t,key:r,ref:a,props:i,_owner:Mct.current}}oK.Fragment=Rct;oK.jsx=VEe;oK.jsxs=VEe;LEe.exports=oK;var h=LEe.exports,GEe={exports:{}},Eg={},XEe={exports:{}},JEe={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var dct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=dct((yg, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(F,B){var _=F.length;F.push(B);e:for(;0<_;){var Y=_-1>>>1,O=F[Y];if(0>>1;Yi(ie,_))eei(q,ie)?(F[Y]=q,F[ee]=_,Y=ee):(F[Y]=ie,F[Z]=_,Y=Z);else if(eei(q,_))F[Y]=q,F[ee]=_,Y=ee;else break e}}return B}function i(F,B){var _=F.sortIndex-B.sortIndex;return _!==0?_:F.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;t.unstable_now=function(){return r.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var s=[],c=[],u=1,d=null,f=3,p=!1,g=!1,A=!1,w=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function P(F){for(var B=n(c);B!==null;){if(B.callback===null)o(c);else if(B.startTime<=F)o(c),B.sortIndex=B.expirationTime,e(s,B);else break;B=n(c)}}function v(F){if(A=!1,P(F),!g)if(n(s)!==null)g=!0,E(T);else{var B=n(c);B!==null&&U(v,B.startTime-F)}}function T(F,B){g=!1,A&&(A=!1,b(x),x=-1),p=!0;var _=f;try{for(P(B),d=n(s);d!==null&&(!(d.expirationTime>B)||F&&!D());){var Y=d.callback;if(typeof Y=="function"){d.callback=null,f=d.priorityLevel;var O=Y(d.expirationTime<=B);B=t.unstable_now(),typeof O=="function"?d.callback=O:d===n(s)&&o(s),P(B)}else o(s);d=n(s)}if(d!==null)var J=!0;else{var Z=n(c);Z!==null&&U(v,Z.startTime-B),J=!1}return J}finally{d=null,f=_,p=!1}}var y=!1,S=null,x=-1,R=5,H=-1;function D(){return!(t.unstable_now()-HF||125Y?(F.sortIndex=_,e(c,F),n(s)===null&&F===n(c)&&(A?(b(x),x=-1):A=!0,U(v,_-Y))):(F.sortIndex=O,e(s,F),g||p||(g=!0,E(T))),F},t.unstable_shouldYield=D,t.unstable_wrapCallback=function(F){var B=f;return function(){var _=f;f=B;try{return F.apply(this,arguments)}finally{f=_}}}})(qEe);KEe.exports=qEe;var Ect=KEe.exports;/** + */(function(t){function e(F,B){var _=F.length;F.push(B);e:for(;0<_;){var Y=_-1>>>1,O=F[Y];if(0>>1;Yi(ie,_))eei(q,ie)?(F[Y]=q,F[ee]=_,Y=ee):(F[Y]=ie,F[Z]=_,Y=Z);else if(eei(q,_))F[Y]=q,F[ee]=_,Y=ee;else break e}}return B}function i(F,B){var _=F.sortIndex-B.sortIndex;return _!==0?_:F.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;t.unstable_now=function(){return r.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var s=[],c=[],u=1,d=null,f=3,p=!1,g=!1,A=!1,w=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function P(F){for(var B=n(c);B!==null;){if(B.callback===null)o(c);else if(B.startTime<=F)o(c),B.sortIndex=B.expirationTime,e(s,B);else break;B=n(c)}}function v(F){if(A=!1,P(F),!g)if(n(s)!==null)g=!0,E(T);else{var B=n(c);B!==null&&U(v,B.startTime-F)}}function T(F,B){g=!1,A&&(A=!1,b(x),x=-1),p=!0;var _=f;try{for(P(B),d=n(s);d!==null&&(!(d.expirationTime>B)||F&&!D());){var Y=d.callback;if(typeof Y=="function"){d.callback=null,f=d.priorityLevel;var O=Y(d.expirationTime<=B);B=t.unstable_now(),typeof O=="function"?d.callback=O:d===n(s)&&o(s),P(B)}else o(s);d=n(s)}if(d!==null)var J=!0;else{var Z=n(c);Z!==null&&U(v,Z.startTime-B),J=!1}return J}finally{d=null,f=_,p=!1}}var y=!1,S=null,x=-1,R=5,H=-1;function D(){return!(t.unstable_now()-HF||125Y?(F.sortIndex=_,e(c,F),n(s)===null&&F===n(c)&&(A?(b(x),x=-1):A=!0,U(v,_-Y))):(F.sortIndex=O,e(s,F),g||p||(g=!0,E(T))),F},t.unstable_shouldYield=D,t.unstable_wrapCallback=function(F){var B=f;return function(){var _=f;f=B;try{return F.apply(this,arguments)}finally{f=_}}}})(JEe);XEe.exports=JEe;var zct=XEe.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ var dct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hWo=dct((yg, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var $Ee=m,Tg=Ect;function Go(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fle=Object.prototype.hasOwnProperty,kct=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,r6e={},a6e={};function Fct(t){return fle.call(a6e,t)?!0:fle.call(r6e,t)?!1:kct.test(t)?a6e[t]=!0:(r6e[t]=!0,!1)}function Lct(t,e,n,o){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return o?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Wct(t,e,n,o){if(e===null||typeof e>"u"||Lct(t,e,n,o))return!0;if(o)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function up(t,e,n,o,i,r,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=o,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=r,this.removeEmptyString=a}var hf={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){hf[t]=new up(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];hf[e]=new up(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){hf[t]=new up(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){hf[t]=new up(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){hf[t]=new up(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){hf[t]=new up(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){hf[t]=new up(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){hf[t]=new up(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){hf[t]=new up(t,5,!1,t.toLowerCase(),null,!1,!1)});var Ghe=/[\-:]([a-z])/g;function Xhe(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ghe,Xhe);hf[e]=new up(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ghe,Xhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ghe,Xhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!1,!1)});hf.xlinkHref=new up("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!0,!0)});function Jhe(t,e,n,o){var i=hf.hasOwnProperty(e)?hf[e]:null;(i!==null?i.type!==0:o||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fle=Object.prototype.hasOwnProperty,Dct=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,r6e={},a6e={};function Ect(t){return fle.call(a6e,t)?!0:fle.call(r6e,t)?!1:Dct.test(t)?a6e[t]=!0:(r6e[t]=!0,!1)}function kct(t,e,n,o){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return o?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Fct(t,e,n,o){if(e===null||typeof e>"u"||kct(t,e,n,o))return!0;if(o)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function up(t,e,n,o,i,r,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=o,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=r,this.removeEmptyString=a}var hf={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){hf[t]=new up(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];hf[e]=new up(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){hf[t]=new up(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){hf[t]=new up(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){hf[t]=new up(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){hf[t]=new up(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){hf[t]=new up(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){hf[t]=new up(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){hf[t]=new up(t,5,!1,t.toLowerCase(),null,!1,!1)});var Ghe=/[\-:]([a-z])/g;function Xhe(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ghe,Xhe);hf[e]=new up(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ghe,Xhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ghe,Xhe);hf[e]=new up(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!1,!1)});hf.xlinkHref=new up("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){hf[t]=new up(t,1,!1,t.toLowerCase(),null,!0,!0)});function Jhe(t,e,n,o){var i=hf.hasOwnProperty(e)?hf[e]:null;(i!==null?i.type!==0:o||!(2l||i[a]!==r[l]){var s=` -`+i[a].replace(" at new "," at ");return t.displayName&&s.includes("")&&(s=s.replace("",t.displayName)),s}while(1<=a&&0<=l);break}}}finally{gne=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?aD(t):""}function Nct(t){switch(t.tag){case 5:return aD(t.type);case 16:return aD("Lazy");case 13:return aD("Suspense");case 19:return aD("SuspenseList");case 0:case 2:case 15:return t=mne(t.type,!1),t;case 11:return t=mne(t.type.render,!1),t;case 1:return t=mne(t.type,!0),t;default:return""}}function mle(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case PP:return"Fragment";case TP:return"Portal";case hle:return"Profiler";case Khe:return"StrictMode";case ple:return"Suspense";case gle:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case eke:return(t.displayName||"Context")+".Consumer";case ZEe:return(t._context.displayName||"Context")+".Provider";case qhe:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case $he:return e=t.displayName||null,e!==null?e:mle(t.type)||"Memo";case N4:e=t._payload,t=t._init;try{return mle(t(e))}catch{}}return null}function Uct(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return mle(e);case 8:return e===Khe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function _w(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function nke(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Bct(t){var e=nke(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),o=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(a){o=""+a,r.call(this,a)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return o},setValue:function(a){o=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function zB(t){t._valueTracker||(t._valueTracker=Bct(t))}function oke(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),o="";return t&&(o=nke(t)?t.checked?"true":"false":t.value),t=o,t!==n?(e.setValue(t),!0):!1}function aV(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function yle(t,e){var n=e.checked;return a0({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function s6e(t,e){var n=e.defaultValue==null?"":e.defaultValue,o=e.checked!=null?e.checked:e.defaultChecked;n=_w(e.value!=null?e.value:n),t._wrapperState={initialChecked:o,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function ike(t,e){e=e.checked,e!=null&&Jhe(t,"checked",e,!1)}function Ale(t,e){ike(t,e);var n=_w(e.value),o=e.type;if(n!=null)o==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(o==="submit"||o==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?wle(t,e.type,n):e.hasOwnProperty("defaultValue")&&wle(t,e.type,_w(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function c6e(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var o=e.type;if(!(o!=="submit"&&o!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function wle(t,e,n){(e!=="number"||aV(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var lD=Array.isArray;function aC(t,e,n,o){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=DB.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _E(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var BD={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},jct=["Webkit","ms","Moz","O"];Object.keys(BD).forEach(function(t){jct.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),BD[e]=BD[t]})});function ske(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||BD.hasOwnProperty(t)&&BD[t]?(""+e).trim():e+"px"}function cke(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var o=n.indexOf("--")===0,i=ske(n,e[n],o);n==="float"&&(n="cssFloat"),o?t.setProperty(n,i):t[n]=i}}var Yct=a0({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ble(t,e){if(e){if(Yct[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Go(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Go(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Go(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Go(62))}}function Sle(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Tle=null;function Qhe(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Ple=null,lC=null,sC=null;function f6e(t){if(t=DL(t)){if(typeof Ple!="function")throw Error(Go(280));var e=t.stateNode;e&&(e=cK(e),Ple(t.stateNode,t.type,e))}}function uke(t){lC?sC?sC.push(t):sC=[t]:lC=t}function dke(){if(lC){var t=lC,e=sC;if(sC=lC=null,f6e(t),e)for(t=0;t>>=0,t===0?32:31-(Zct(t)/e0t|0)|0}var EB=64,kB=4194304;function sD(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function uV(t,e){var n=t.pendingLanes;if(n===0)return 0;var o=0,i=t.suspendedLanes,r=t.pingedLanes,a=n&268435455;if(a!==0){var l=a&~i;l!==0?o=sD(l):(r&=a,r!==0&&(o=sD(r)))}else a=n&~i,a!==0?o=sD(a):r!==0&&(o=sD(r));if(o===0)return 0;if(e!==0&&e!==o&&!(e&i)&&(i=o&-o,r=e&-e,i>=r||i===16&&(r&4194240)!==0))return e;if(o&4&&(o|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=o;0n;n++)e.push(t);return e}function IL(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-S2(e),t[e]=n}function i0t(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var o=t.eventTimes;for(t=t.expirationTimes;0=YD),x6e=" ",b6e=!1;function zke(t,e){switch(t){case"keyup":return D0t.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dke(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var CP=!1;function k0t(t,e){switch(t){case"compositionend":return Dke(e);case"keypress":return e.which!==32?null:(b6e=!0,x6e);case"textInput":return t=e.data,t===x6e&&b6e?null:t;default:return null}}function F0t(t,e){if(CP)return t==="compositionend"||!ape&&zke(t,e)?(t=Mke(),n_=ope=rw=null,CP=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=C6e(n)}}function Lke(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Lke(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Wke(){for(var t=window,e=aV();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=aV(t.document)}return e}function lpe(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function _0t(t){var e=Wke(),n=t.focusedElem,o=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&Lke(n.ownerDocument.documentElement,n)){if(o!==null&&lpe(n)){if(e=o.start,t=o.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,r=Math.min(o.start,i);o=o.end===void 0?r:Math.min(o.end,i),!t.extend&&r>o&&(i=o,o=r,r=i),i=R6e(n,r);var a=R6e(n,o);i&&a&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),r>o?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,RP=null,zle=null,_D=null,Dle=!1;function H6e(t,e,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dle||RP==null||RP!==aV(o)||(o=RP,"selectionStart"in o&&lpe(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),_D&&qE(_D,o)||(_D=o,o=hV(zle,"onSelect"),0IP||(t.current=Nle[IP],Nle[IP]=null,IP--)}function Os(t,e){IP++,Nle[IP]=t.current,t.current=e}var Vw={},fh=v7(Vw),_p=v7(!1),zx=Vw;function FC(t,e){var n=t.type.contextTypes;if(!n)return Vw;var o=t.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===e)return o.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=e[r];return o&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Vp(t){return t=t.childContextTypes,t!=null}function gV(){Ac(_p),Ac(fh)}function F6e(t,e,n){if(fh.current!==Vw)throw Error(Go(168));Os(fh,e),Os(_p,n)}function Gke(t,e,n){var o=t.stateNode;if(e=e.childContextTypes,typeof o.getChildContext!="function")return n;o=o.getChildContext();for(var i in o)if(!(i in e))throw Error(Go(108,Uct(t)||"Unknown",i));return a0({},n,o)}function mV(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Vw,zx=fh.current,Os(fh,t),Os(_p,_p.current),!0}function L6e(t,e,n){var o=t.stateNode;if(!o)throw Error(Go(169));n?(t=Gke(t,e,zx),o.__reactInternalMemoizedMergedChildContext=t,Ac(_p),Ac(fh),Os(fh,t)):Ac(_p),Os(_p,n)}var l6=null,uK=!1,Ine=!1;function Xke(t){l6===null?l6=[t]:l6.push(t)}function nut(t){uK=!0,Xke(t)}function x7(){if(!Ine&&l6!==null){Ine=!0;var t=0,e=ls;try{var n=l6;for(ls=1;t>=a,i-=a,f6=1<<32-S2(e)+i|n<x?(R=S,S=null):R=S.sibling;var H=f(b,S,P[x],v);if(H===null){S===null&&(S=R);break}t&&S&&H.alternate===null&&e(b,S),C=r(H,C,x),y===null?T=H:y.sibling=H,y=H,S=R}if(x===P.length)return n(b,S),Nc&&tv(b,x),T;if(S===null){for(;xx?(R=S,S=null):R=S.sibling;var D=f(b,S,H.value,v);if(D===null){S===null&&(S=R);break}t&&S&&D.alternate===null&&e(b,S),C=r(D,C,x),y===null?T=D:y.sibling=D,y=D,S=R}if(H.done)return n(b,S),Nc&&tv(b,x),T;if(S===null){for(;!H.done;x++,H=P.next())H=d(b,H.value,v),H!==null&&(C=r(H,C,x),y===null?T=H:y.sibling=H,y=H);return Nc&&tv(b,x),T}for(S=o(b,S);!H.done;x++,H=P.next())H=p(S,b,x,H.value,v),H!==null&&(t&&H.alternate!==null&&S.delete(H.key===null?x:H.key),C=r(H,C,x),y===null?T=H:y.sibling=H,y=H);return t&&S.forEach(function(k){return e(b,k)}),Nc&&tv(b,x),T}function w(b,C,P,v){if(typeof P=="object"&&P!==null&&P.type===PP&&P.key===null&&(P=P.props.children),typeof P=="object"&&P!==null){switch(P.$$typeof){case IB:e:{for(var T=P.key,y=C;y!==null;){if(y.key===T){if(T=P.type,T===PP){if(y.tag===7){n(b,y.sibling),C=i(y,P.props.children),C.return=b,b=C;break e}}else if(y.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===N4&&O6e(T)===y.type){n(b,y.sibling),C=i(y,P.props),C.ref=$I(b,y,P),C.return=b,b=C;break e}n(b,y);break}else e(b,y);y=y.sibling}P.type===PP?(C=ex(P.props.children,b.mode,v,P.key),C.return=b,b=C):(v=u_(P.type,P.key,P.props,null,b.mode,v),v.ref=$I(b,C,P),v.return=b,b=v)}return a(b);case TP:e:{for(y=P.key;C!==null;){if(C.key===y)if(C.tag===4&&C.stateNode.containerInfo===P.containerInfo&&C.stateNode.implementation===P.implementation){n(b,C.sibling),C=i(C,P.children||[]),C.return=b,b=C;break e}else{n(b,C);break}else e(b,C);C=C.sibling}C=Nne(P,b.mode,v),C.return=b,b=C}return a(b);case N4:return y=P._init,w(b,C,y(P._payload),v)}if(lD(P))return g(b,C,P,v);if(GI(P))return A(b,C,P,v);jB(b,P)}return typeof P=="string"&&P!==""||typeof P=="number"?(P=""+P,C!==null&&C.tag===6?(n(b,C.sibling),C=i(C,P),C.return=b,b=C):(n(b,C),C=Wne(P,b.mode,v),C.return=b,b=C),a(b)):n(b,C)}return w}var WC=tFe(!0),nFe=tFe(!1),EL={},h9=v7(EL),ek=v7(EL),tk=v7(EL);function Pv(t){if(t===EL)throw Error(Go(174));return t}function mpe(t,e){switch(Os(tk,e),Os(ek,t),Os(h9,EL),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:xle(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=xle(e,t)}Ac(h9),Os(h9,e)}function NC(){Ac(h9),Ac(ek),Ac(tk)}function oFe(t){Pv(tk.current);var e=Pv(h9.current),n=xle(e,t.type);e!==n&&(Os(ek,t),Os(h9,n))}function ype(t){ek.current===t&&(Ac(h9),Ac(ek))}var Zc=v7(0);function bV(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var zne=[];function Ape(){for(var t=0;tn?n:4,t(!0);var o=Dne.transition;Dne.transition={};try{t(!1),e()}finally{ls=n,Dne.transition=o}}function wFe(){return Om().memoizedState}function aut(t,e,n){var o=Iw(t);if(n={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null},vFe(t))xFe(e,n);else if(n=$ke(t,e,n,o),n!==null){var i=ap();T2(n,t,o,i),bFe(n,e,o)}}function lut(t,e,n){var o=Iw(t),i={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null};if(vFe(t))xFe(e,i);else{var r=t.alternate;if(t.lanes===0&&(r===null||r.lanes===0)&&(r=e.lastRenderedReducer,r!==null))try{var a=e.lastRenderedState,l=r(a,n);if(i.hasEagerState=!0,i.eagerState=l,L2(l,a)){var s=e.interleaved;s===null?(i.next=i,ppe(e)):(i.next=s.next,s.next=i),e.interleaved=i;return}}catch{}finally{}n=$ke(t,e,i,o),n!==null&&(i=ap(),T2(n,t,o,i),bFe(n,e,o))}}function vFe(t){var e=t.alternate;return t===i0||e!==null&&e===i0}function xFe(t,e){VD=SV=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function bFe(t,e,n){if(n&4194240){var o=e.lanes;o&=t.pendingLanes,n|=o,e.lanes=n,epe(t,n)}}var TV={readContext:Ym,useCallback:Ff,useContext:Ff,useEffect:Ff,useImperativeHandle:Ff,useInsertionEffect:Ff,useLayoutEffect:Ff,useMemo:Ff,useReducer:Ff,useRef:Ff,useState:Ff,useDebugValue:Ff,useDeferredValue:Ff,useTransition:Ff,useMutableSource:Ff,useSyncExternalStore:Ff,useId:Ff,unstable_isNewReconciler:!1},sut={readContext:Ym,useCallback:function(t,e){return _5().memoizedState=[t,e===void 0?null:e],t},useContext:Ym,useEffect:V6e,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,a_(4194308,4,pFe.bind(null,e,t),n)},useLayoutEffect:function(t,e){return a_(4194308,4,t,e)},useInsertionEffect:function(t,e){return a_(4,2,t,e)},useMemo:function(t,e){var n=_5();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var o=_5();return e=n!==void 0?n(e):e,o.memoizedState=o.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},o.queue=t,t=t.dispatch=aut.bind(null,i0,t),[o.memoizedState,t]},useRef:function(t){var e=_5();return t={current:t},e.memoizedState=t},useState:_6e,useDebugValue:Spe,useDeferredValue:function(t){return _5().memoizedState=t},useTransition:function(){var t=_6e(!1),e=t[0];return t=rut.bind(null,t[1]),_5().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var o=i0,i=_5();if(Nc){if(n===void 0)throw Error(Go(407));n=n()}else{if(n=e(),xd===null)throw Error(Go(349));Ex&30||aFe(o,e,n)}i.memoizedState=n;var r={value:n,getSnapshot:e};return i.queue=r,V6e(sFe.bind(null,o,r,t),[t]),o.flags|=2048,ik(9,lFe.bind(null,o,r,n,e),void 0,null),n},useId:function(){var t=_5(),e=xd.identifierPrefix;if(Nc){var n=h6,o=f6;n=(o&~(1<<32-S2(o)-1)).toString(32)+n,e=":"+e+"R"+n,n=nk++,0")&&(s=s.replace("",t.displayName)),s}while(1<=a&&0<=l);break}}}finally{gne=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?aD(t):""}function Lct(t){switch(t.tag){case 5:return aD(t.type);case 16:return aD("Lazy");case 13:return aD("Suspense");case 19:return aD("SuspenseList");case 0:case 2:case 15:return t=mne(t.type,!1),t;case 11:return t=mne(t.type.render,!1),t;case 1:return t=mne(t.type,!0),t;default:return""}}function mle(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case PP:return"Fragment";case TP:return"Portal";case hle:return"Profiler";case Khe:return"StrictMode";case ple:return"Suspense";case gle:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case QEe:return(t.displayName||"Context")+".Consumer";case $Ee:return(t._context.displayName||"Context")+".Provider";case qhe:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case $he:return e=t.displayName||null,e!==null?e:mle(t.type)||"Memo";case N4:e=t._payload,t=t._init;try{return mle(t(e))}catch{}}return null}function Wct(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return mle(e);case 8:return e===Khe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function _w(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function eke(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Nct(t){var e=eke(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),o=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(a){o=""+a,r.call(this,a)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return o},setValue:function(a){o=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function zB(t){t._valueTracker||(t._valueTracker=Nct(t))}function tke(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),o="";return t&&(o=eke(t)?t.checked?"true":"false":t.value),t=o,t!==n?(e.setValue(t),!0):!1}function aV(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function yle(t,e){var n=e.checked;return a0({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function s6e(t,e){var n=e.defaultValue==null?"":e.defaultValue,o=e.checked!=null?e.checked:e.defaultChecked;n=_w(e.value!=null?e.value:n),t._wrapperState={initialChecked:o,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function nke(t,e){e=e.checked,e!=null&&Jhe(t,"checked",e,!1)}function Ale(t,e){nke(t,e);var n=_w(e.value),o=e.type;if(n!=null)o==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(o==="submit"||o==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?wle(t,e.type,n):e.hasOwnProperty("defaultValue")&&wle(t,e.type,_w(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function c6e(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var o=e.type;if(!(o!=="submit"&&o!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function wle(t,e,n){(e!=="number"||aV(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var lD=Array.isArray;function aC(t,e,n,o){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=DB.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _E(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var BD={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Uct=["Webkit","ms","Moz","O"];Object.keys(BD).forEach(function(t){Uct.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),BD[e]=BD[t]})});function ake(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||BD.hasOwnProperty(t)&&BD[t]?(""+e).trim():e+"px"}function lke(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var o=n.indexOf("--")===0,i=ake(n,e[n],o);n==="float"&&(n="cssFloat"),o?t.setProperty(n,i):t[n]=i}}var Bct=a0({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ble(t,e){if(e){if(Bct[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Go(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Go(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Go(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Go(62))}}function Sle(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Tle=null;function Qhe(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Ple=null,lC=null,sC=null;function f6e(t){if(t=DL(t)){if(typeof Ple!="function")throw Error(Go(280));var e=t.stateNode;e&&(e=cK(e),Ple(t.stateNode,t.type,e))}}function ske(t){lC?sC?sC.push(t):sC=[t]:lC=t}function cke(){if(lC){var t=lC,e=sC;if(sC=lC=null,f6e(t),e)for(t=0;t>>=0,t===0?32:31-($ct(t)/Qct|0)|0}var EB=64,kB=4194304;function sD(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function uV(t,e){var n=t.pendingLanes;if(n===0)return 0;var o=0,i=t.suspendedLanes,r=t.pingedLanes,a=n&268435455;if(a!==0){var l=a&~i;l!==0?o=sD(l):(r&=a,r!==0&&(o=sD(r)))}else a=n&~i,a!==0?o=sD(a):r!==0&&(o=sD(r));if(o===0)return 0;if(e!==0&&e!==o&&!(e&i)&&(i=o&-o,r=e&-e,i>=r||i===16&&(r&4194240)!==0))return e;if(o&4&&(o|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=o;0n;n++)e.push(t);return e}function IL(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-S2(e),t[e]=n}function n0t(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var o=t.eventTimes;for(t=t.expirationTimes;0=YD),x6e=" ",b6e=!1;function Mke(t,e){switch(t){case"keyup":return I0t.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ike(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var CP=!1;function D0t(t,e){switch(t){case"compositionend":return Ike(e);case"keypress":return e.which!==32?null:(b6e=!0,x6e);case"textInput":return t=e.data,t===x6e&&b6e?null:t;default:return null}}function E0t(t,e){if(CP)return t==="compositionend"||!ape&&Mke(t,e)?(t=Rke(),n_=ope=rw=null,CP=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=C6e(n)}}function kke(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?kke(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Fke(){for(var t=window,e=aV();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=aV(t.document)}return e}function lpe(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Y0t(t){var e=Fke(),n=t.focusedElem,o=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&kke(n.ownerDocument.documentElement,n)){if(o!==null&&lpe(n)){if(e=o.start,t=o.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,r=Math.min(o.start,i);o=o.end===void 0?r:Math.min(o.end,i),!t.extend&&r>o&&(i=o,o=r,r=i),i=R6e(n,r);var a=R6e(n,o);i&&a&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),r>o?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,RP=null,zle=null,_D=null,Dle=!1;function H6e(t,e,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dle||RP==null||RP!==aV(o)||(o=RP,"selectionStart"in o&&lpe(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),_D&&qE(_D,o)||(_D=o,o=hV(zle,"onSelect"),0IP||(t.current=Nle[IP],Nle[IP]=null,IP--)}function Os(t,e){IP++,Nle[IP]=t.current,t.current=e}var Vw={},fh=v7(Vw),_p=v7(!1),zx=Vw;function FC(t,e){var n=t.type.contextTypes;if(!n)return Vw;var o=t.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===e)return o.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=e[r];return o&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Vp(t){return t=t.childContextTypes,t!=null}function gV(){Ac(_p),Ac(fh)}function F6e(t,e,n){if(fh.current!==Vw)throw Error(Go(168));Os(fh,e),Os(_p,n)}function _ke(t,e,n){var o=t.stateNode;if(e=e.childContextTypes,typeof o.getChildContext!="function")return n;o=o.getChildContext();for(var i in o)if(!(i in e))throw Error(Go(108,Wct(t)||"Unknown",i));return a0({},n,o)}function mV(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Vw,zx=fh.current,Os(fh,t),Os(_p,_p.current),!0}function L6e(t,e,n){var o=t.stateNode;if(!o)throw Error(Go(169));n?(t=_ke(t,e,zx),o.__reactInternalMemoizedMergedChildContext=t,Ac(_p),Ac(fh),Os(fh,t)):Ac(_p),Os(_p,n)}var l6=null,uK=!1,Ine=!1;function Vke(t){l6===null?l6=[t]:l6.push(t)}function eut(t){uK=!0,Vke(t)}function x7(){if(!Ine&&l6!==null){Ine=!0;var t=0,e=ls;try{var n=l6;for(ls=1;t>=a,i-=a,f6=1<<32-S2(e)+i|n<x?(R=S,S=null):R=S.sibling;var H=f(b,S,P[x],v);if(H===null){S===null&&(S=R);break}t&&S&&H.alternate===null&&e(b,S),C=r(H,C,x),y===null?T=H:y.sibling=H,y=H,S=R}if(x===P.length)return n(b,S),Nc&&tv(b,x),T;if(S===null){for(;xx?(R=S,S=null):R=S.sibling;var D=f(b,S,H.value,v);if(D===null){S===null&&(S=R);break}t&&S&&D.alternate===null&&e(b,S),C=r(D,C,x),y===null?T=D:y.sibling=D,y=D,S=R}if(H.done)return n(b,S),Nc&&tv(b,x),T;if(S===null){for(;!H.done;x++,H=P.next())H=d(b,H.value,v),H!==null&&(C=r(H,C,x),y===null?T=H:y.sibling=H,y=H);return Nc&&tv(b,x),T}for(S=o(b,S);!H.done;x++,H=P.next())H=p(S,b,x,H.value,v),H!==null&&(t&&H.alternate!==null&&S.delete(H.key===null?x:H.key),C=r(H,C,x),y===null?T=H:y.sibling=H,y=H);return t&&S.forEach(function(k){return e(b,k)}),Nc&&tv(b,x),T}function w(b,C,P,v){if(typeof P=="object"&&P!==null&&P.type===PP&&P.key===null&&(P=P.props.children),typeof P=="object"&&P!==null){switch(P.$$typeof){case IB:e:{for(var T=P.key,y=C;y!==null;){if(y.key===T){if(T=P.type,T===PP){if(y.tag===7){n(b,y.sibling),C=i(y,P.props.children),C.return=b,b=C;break e}}else if(y.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===N4&&O6e(T)===y.type){n(b,y.sibling),C=i(y,P.props),C.ref=$I(b,y,P),C.return=b,b=C;break e}n(b,y);break}else e(b,y);y=y.sibling}P.type===PP?(C=ex(P.props.children,b.mode,v,P.key),C.return=b,b=C):(v=u_(P.type,P.key,P.props,null,b.mode,v),v.ref=$I(b,C,P),v.return=b,b=v)}return a(b);case TP:e:{for(y=P.key;C!==null;){if(C.key===y)if(C.tag===4&&C.stateNode.containerInfo===P.containerInfo&&C.stateNode.implementation===P.implementation){n(b,C.sibling),C=i(C,P.children||[]),C.return=b,b=C;break e}else{n(b,C);break}else e(b,C);C=C.sibling}C=Nne(P,b.mode,v),C.return=b,b=C}return a(b);case N4:return y=P._init,w(b,C,y(P._payload),v)}if(lD(P))return g(b,C,P,v);if(GI(P))return A(b,C,P,v);jB(b,P)}return typeof P=="string"&&P!==""||typeof P=="number"?(P=""+P,C!==null&&C.tag===6?(n(b,C.sibling),C=i(C,P),C.return=b,b=C):(n(b,C),C=Wne(P,b.mode,v),C.return=b,b=C),a(b)):n(b,C)}return w}var WC=Zke(!0),eFe=Zke(!1),EL={},h9=v7(EL),ek=v7(EL),tk=v7(EL);function Pv(t){if(t===EL)throw Error(Go(174));return t}function mpe(t,e){switch(Os(tk,e),Os(ek,t),Os(h9,EL),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:xle(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=xle(e,t)}Ac(h9),Os(h9,e)}function NC(){Ac(h9),Ac(ek),Ac(tk)}function tFe(t){Pv(tk.current);var e=Pv(h9.current),n=xle(e,t.type);e!==n&&(Os(ek,t),Os(h9,n))}function ype(t){ek.current===t&&(Ac(h9),Ac(ek))}var Zc=v7(0);function bV(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var zne=[];function Ape(){for(var t=0;tn?n:4,t(!0);var o=Dne.transition;Dne.transition={};try{t(!1),e()}finally{ls=n,Dne.transition=o}}function yFe(){return Om().memoizedState}function iut(t,e,n){var o=Iw(t);if(n={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null},AFe(t))wFe(e,n);else if(n=Kke(t,e,n,o),n!==null){var i=ap();T2(n,t,o,i),vFe(n,e,o)}}function rut(t,e,n){var o=Iw(t),i={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null};if(AFe(t))wFe(e,i);else{var r=t.alternate;if(t.lanes===0&&(r===null||r.lanes===0)&&(r=e.lastRenderedReducer,r!==null))try{var a=e.lastRenderedState,l=r(a,n);if(i.hasEagerState=!0,i.eagerState=l,L2(l,a)){var s=e.interleaved;s===null?(i.next=i,ppe(e)):(i.next=s.next,s.next=i),e.interleaved=i;return}}catch{}finally{}n=Kke(t,e,i,o),n!==null&&(i=ap(),T2(n,t,o,i),vFe(n,e,o))}}function AFe(t){var e=t.alternate;return t===i0||e!==null&&e===i0}function wFe(t,e){VD=SV=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function vFe(t,e,n){if(n&4194240){var o=e.lanes;o&=t.pendingLanes,n|=o,e.lanes=n,epe(t,n)}}var TV={readContext:Ym,useCallback:Ff,useContext:Ff,useEffect:Ff,useImperativeHandle:Ff,useInsertionEffect:Ff,useLayoutEffect:Ff,useMemo:Ff,useReducer:Ff,useRef:Ff,useState:Ff,useDebugValue:Ff,useDeferredValue:Ff,useTransition:Ff,useMutableSource:Ff,useSyncExternalStore:Ff,useId:Ff,unstable_isNewReconciler:!1},aut={readContext:Ym,useCallback:function(t,e){return _5().memoizedState=[t,e===void 0?null:e],t},useContext:Ym,useEffect:V6e,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,a_(4194308,4,fFe.bind(null,e,t),n)},useLayoutEffect:function(t,e){return a_(4194308,4,t,e)},useInsertionEffect:function(t,e){return a_(4,2,t,e)},useMemo:function(t,e){var n=_5();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var o=_5();return e=n!==void 0?n(e):e,o.memoizedState=o.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},o.queue=t,t=t.dispatch=iut.bind(null,i0,t),[o.memoizedState,t]},useRef:function(t){var e=_5();return t={current:t},e.memoizedState=t},useState:_6e,useDebugValue:Spe,useDeferredValue:function(t){return _5().memoizedState=t},useTransition:function(){var t=_6e(!1),e=t[0];return t=out.bind(null,t[1]),_5().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var o=i0,i=_5();if(Nc){if(n===void 0)throw Error(Go(407));n=n()}else{if(n=e(),xd===null)throw Error(Go(349));Ex&30||iFe(o,e,n)}i.memoizedState=n;var r={value:n,getSnapshot:e};return i.queue=r,V6e(aFe.bind(null,o,r,t),[t]),o.flags|=2048,ik(9,rFe.bind(null,o,r,n,e),void 0,null),n},useId:function(){var t=_5(),e=xd.identifierPrefix;if(Nc){var n=h6,o=f6;n=(o&~(1<<32-S2(o)-1)).toString(32)+n,e=":"+e+"R"+n,n=nk++,0<\/script>",t=t.removeChild(t.firstChild)):typeof o.is=="string"?t=a.createElement(n,{is:o.is}):(t=a.createElement(n),n==="select"&&(a=t,o.multiple?a.multiple=!0:o.size&&(a.size=o.size))):t=a.createElementNS(t,n),t[t9]=e,t[ZE]=o,zFe(t,e,!1,!1),e.stateNode=t;e:{switch(a=Sle(n,o),n){case"dialog":oc("cancel",t),oc("close",t),i=o;break;case"iframe":case"object":case"embed":oc("load",t),i=o;break;case"video":case"audio":for(i=0;iBC&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304)}else{if(!o)if(t=bV(a),t!==null){if(e.flags|=128,o=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),QI(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!Nc)return Lf(e),null}else 2*L0()-r.renderingStartTime>BC&&n!==1073741824&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304);r.isBackwards?(a.sibling=e.child,e.child=a):(n=r.last,n!==null?n.sibling=a:e.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=L0(),e.sibling=null,n=Zc.current,Os(Zc,o?n&1|2:n&1),e):(Lf(e),null);case 22:case 23:return Mpe(),o=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==o&&(e.flags|=8192),o&&e.mode&1?K1&1073741824&&(Lf(e),e.subtreeFlags&6&&(e.flags|=8192)):Lf(e),null;case 24:return null;case 25:return null}throw Error(Go(156,e.tag))}function mut(t,e){switch(cpe(e),e.tag){case 1:return Vp(e.type)&&gV(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return NC(),Ac(_p),Ac(fh),Ape(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return ype(e),null;case 13:if(Ac(Zc),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Go(340));LC()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Ac(Zc),null;case 4:return NC(),null;case 10:return hpe(e.type._context),null;case 22:case 23:return Mpe(),null;case 24:return null;default:return null}}var OB=!1,eh=!1,yut=typeof WeakSet=="function"?WeakSet:Set,Bi=null;function kP(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(o){u0(t,e,o)}else n.current=null}function qle(t,e,n){try{n()}catch(o){u0(t,e,o)}}var eAe=!1;function Aut(t,e){if(Ele=dV,t=Wke(),lpe(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var i=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var a=0,l=-1,s=-1,c=0,u=0,d=t,f=null;t:for(;;){for(var p;d!==n||i!==0&&d.nodeType!==3||(l=a+i),d!==r||o!==0&&d.nodeType!==3||(s=a+o),d.nodeType===3&&(a+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===t)break t;if(f===n&&++c===i&&(l=a),f===r&&++u===o&&(s=a),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(kle={focusedElem:t,selectionRange:n},dV=!1,Bi=e;Bi!==null;)if(e=Bi,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Bi=t;else for(;Bi!==null;){e=Bi;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var A=g.memoizedProps,w=g.memoizedState,b=e.stateNode,C=b.getSnapshotBeforeUpdate(e.elementType===e.type?A:e2(e.type,A),w);b.__reactInternalSnapshotBeforeUpdate=C}break;case 3:var P=e.stateNode.containerInfo;P.nodeType===1?P.textContent="":P.nodeType===9&&P.documentElement&&P.removeChild(P.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Go(163))}}catch(v){u0(e,e.return,v)}if(t=e.sibling,t!==null){t.return=e.return,Bi=t;break}Bi=e.return}return g=eAe,eAe=!1,g}function GD(t,e,n){var o=e.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var i=o=o.next;do{if((i.tag&t)===t){var r=i.destroy;i.destroy=void 0,r!==void 0&&qle(e,n,r)}i=i.next}while(i!==o)}}function hK(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var o=n.create;n.destroy=o()}n=n.next}while(n!==e)}}function $le(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function kFe(t){var e=t.alternate;e!==null&&(t.alternate=null,kFe(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[t9],delete e[ZE],delete e[Wle],delete e[eut],delete e[tut])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function FFe(t){return t.tag===5||t.tag===3||t.tag===4}function tAe(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||FFe(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Qle(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=pV));else if(o!==4&&(t=t.child,t!==null))for(Qle(t,e,n),t=t.sibling;t!==null;)Qle(t,e,n),t=t.sibling}function Zle(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(o!==4&&(t=t.child,t!==null))for(Zle(t,e,n),t=t.sibling;t!==null;)Zle(t,e,n),t=t.sibling}var $d=null,o2=!1;function u4(t,e,n){for(n=n.child;n!==null;)LFe(t,e,n),n=n.sibling}function LFe(t,e,n){if(f9&&typeof f9.onCommitFiberUnmount=="function")try{f9.onCommitFiberUnmount(rK,n)}catch{}switch(n.tag){case 5:eh||kP(n,e);case 6:var o=$d,i=o2;$d=null,u4(t,e,n),$d=o,o2=i,$d!==null&&(o2?(t=$d,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):$d.removeChild(n.stateNode));break;case 18:$d!==null&&(o2?(t=$d,n=n.stateNode,t.nodeType===8?Mne(t.parentNode,n):t.nodeType===1&&Mne(t,n),JE(t)):Mne($d,n.stateNode));break;case 4:o=$d,i=o2,$d=n.stateNode.containerInfo,o2=!0,u4(t,e,n),$d=o,o2=i;break;case 0:case 11:case 14:case 15:if(!eh&&(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){i=o=o.next;do{var r=i,a=r.destroy;r=r.tag,a!==void 0&&(r&2||r&4)&&qle(n,e,a),i=i.next}while(i!==o)}u4(t,e,n);break;case 1:if(!eh&&(kP(n,e),o=n.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(l){u0(n,e,l)}u4(t,e,n);break;case 21:u4(t,e,n);break;case 22:n.mode&1?(eh=(o=eh)||n.memoizedState!==null,u4(t,e,n),eh=o):u4(t,e,n);break;default:u4(t,e,n)}}function nAe(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new yut),e.forEach(function(o){var i=Rut.bind(null,t,o);n.has(o)||(n.add(o),o.then(i,i))})}}function Ny(t,e){var n=e.deletions;if(n!==null)for(var o=0;oi&&(i=a),o&=~r}if(o=i,o=L0()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*vut(o/1960))-o,10t?16:t,aw===null)var o=!1;else{if(t=aw,aw=null,RV=0,Tl&6)throw Error(Go(331));var i=Tl;for(Tl|=4,Bi=t.current;Bi!==null;){var r=Bi,a=r.child;if(Bi.flags&16){var l=r.deletions;if(l!==null){for(var s=0;sL0()-Rpe?Zv(t,0):Cpe|=n),Gp(t,e)}function _Fe(t,e){e===0&&(t.mode&1?(e=kB,kB<<=1,!(kB&130023424)&&(kB=4194304)):e=1);var n=ap();t=N6(t,e),t!==null&&(IL(t,e,n),Gp(t,n))}function Cut(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),_Fe(t,n)}function Rut(t,e){var n=0;switch(t.tag){case 13:var o=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:o=t.stateNode;break;default:throw Error(Go(314))}o!==null&&o.delete(e),_Fe(t,n)}var VFe;VFe=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||_p.current)Wp=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Wp=!1,put(t,e,n);Wp=!!(t.flags&131072)}else Wp=!1,Nc&&e.flags&1048576&&Jke(e,AV,e.index);switch(e.lanes=0,e.tag){case 2:var o=e.type;l_(t,e),t=e.pendingProps;var i=FC(e,fh.current);uC(e,n),i=vpe(null,e,o,t,i,n);var r=xpe();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Vp(o)?(r=!0,mV(e)):r=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,gpe(e),i.updater=dK,e.stateNode=i,i._reactInternals=e,Ole(e,o,t,n),e=Gle(null,e,o,!0,r,n)):(e.tag=0,Nc&&r&&spe(e),Vh(null,e,i,n),e=e.child),e;case 16:o=e.elementType;e:{switch(l_(t,e),t=e.pendingProps,i=o._init,o=i(o._payload),e.type=o,i=e.tag=Mut(o),t=e2(o,t),i){case 0:e=Vle(null,e,o,t,n);break e;case 1:e=$6e(null,e,o,t,n);break e;case 11:e=K6e(null,e,o,t,n);break e;case 14:e=q6e(null,e,o,e2(o.type,t),n);break e}throw Error(Go(306,o,""))}return e;case 0:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),Vle(t,e,o,i,n);case 1:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),$6e(t,e,o,i,n);case 3:e:{if(HFe(e),t===null)throw Error(Go(387));o=e.pendingProps,r=e.memoizedState,i=r.element,Qke(t,e),xV(e,o,null,n);var a=e.memoizedState;if(o=a.element,r.isDehydrated)if(r={element:o,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},e.updateQueue.baseState=r,e.memoizedState=r,e.flags&256){i=UC(Error(Go(423)),e),e=Q6e(t,e,o,n,i);break e}else if(o!==i){i=UC(Error(Go(424)),e),e=Q6e(t,e,o,n,i);break e}else for(ug=Rw(e.stateNode.containerInfo.firstChild),Ag=e,Nc=!0,c2=null,n=nFe(e,null,o,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(LC(),o===i){e=U6(t,e,n);break e}Vh(t,e,o,n)}e=e.child}return e;case 5:return oFe(e),t===null&&Ble(e),o=e.type,i=e.pendingProps,r=t!==null?t.memoizedProps:null,a=i.children,Fle(o,i)?a=null:r!==null&&Fle(o,r)&&(e.flags|=32),RFe(t,e),Vh(t,e,a,n),e.child;case 6:return t===null&&Ble(e),null;case 13:return MFe(t,e,n);case 4:return mpe(e,e.stateNode.containerInfo),o=e.pendingProps,t===null?e.child=WC(e,null,o,n):Vh(t,e,o,n),e.child;case 11:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),K6e(t,e,o,i,n);case 7:return Vh(t,e,e.pendingProps,n),e.child;case 8:return Vh(t,e,e.pendingProps.children,n),e.child;case 12:return Vh(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(o=e.type._context,i=e.pendingProps,r=e.memoizedProps,a=i.value,Os(wV,o._currentValue),o._currentValue=a,r!==null)if(L2(r.value,a)){if(r.children===i.children&&!_p.current){e=U6(t,e,n);break e}}else for(r=e.child,r!==null&&(r.return=e);r!==null;){var l=r.dependencies;if(l!==null){a=r.child;for(var s=l.firstContext;s!==null;){if(s.context===o){if(r.tag===1){s=T6(-1,n&-n),s.tag=2;var c=r.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?s.next=s:(s.next=u.next,u.next=s),c.pending=s}}r.lanes|=n,s=r.alternate,s!==null&&(s.lanes|=n),jle(r.return,n,e),l.lanes|=n;break}s=s.next}}else if(r.tag===10)a=r.type===e.type?null:r.child;else if(r.tag===18){if(a=r.return,a===null)throw Error(Go(341));a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),jle(a,n,e),a=r.sibling}else a=r.child;if(a!==null)a.return=r;else for(a=r;a!==null;){if(a===e){a=null;break}if(r=a.sibling,r!==null){r.return=a.return,a=r;break}a=a.return}r=a}Vh(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,o=e.pendingProps.children,uC(e,n),i=Ym(i),o=o(i),e.flags|=1,Vh(t,e,o,n),e.child;case 14:return o=e.type,i=e2(o,e.pendingProps),i=e2(o.type,i),q6e(t,e,o,i,n);case 15:return PFe(t,e,e.type,e.pendingProps,n);case 17:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),l_(t,e),e.tag=1,Vp(o)?(t=!0,mV(e)):t=!1,uC(e,n),eFe(e,o,i),Ole(e,o,i,n),Gle(null,e,o,!0,t,n);case 19:return IFe(t,e,n);case 22:return CFe(t,e,n)}throw Error(Go(156,e.tag))};function GFe(t,e){return Ake(t,e)}function Hut(t,e,n,o){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Im(t,e,n,o){return new Hut(t,e,n,o)}function zpe(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Mut(t){if(typeof t=="function")return zpe(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qhe)return 11;if(t===$he)return 14}return 2}function zw(t,e){var n=t.alternate;return n===null?(n=Im(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function u_(t,e,n,o,i,r){var a=2;if(o=t,typeof t=="function")zpe(t)&&(a=1);else if(typeof t=="string")a=5;else e:switch(t){case PP:return ex(n.children,i,r,e);case Khe:a=8,i|=8;break;case hle:return t=Im(12,n,e,i|2),t.elementType=hle,t.lanes=r,t;case ple:return t=Im(13,n,e,i),t.elementType=ple,t.lanes=r,t;case gle:return t=Im(19,n,e,i),t.elementType=gle,t.lanes=r,t;case tke:return gK(n,i,r,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case ZEe:a=10;break e;case eke:a=9;break e;case qhe:a=11;break e;case $he:a=14;break e;case N4:a=16,o=null;break e}throw Error(Go(130,t==null?t:typeof t,""))}return e=Im(a,n,e,i),e.elementType=t,e.type=o,e.lanes=r,e}function ex(t,e,n,o){return t=Im(7,t,o,e),t.lanes=n,t}function gK(t,e,n,o){return t=Im(22,t,o,e),t.elementType=tke,t.lanes=n,t.stateNode={isHidden:!1},t}function Wne(t,e,n){return t=Im(6,t,null,e),t.lanes=n,t}function Nne(t,e,n){return e=Im(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function Iut(t,e,n,o,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ane(0),this.expirationTimes=Ane(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ane(0),this.identifierPrefix=o,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Dpe(t,e,n,o,i,r,a,l,s){return t=new Iut(t,e,n,l,s),e===1?(e=1,r===!0&&(e|=8)):e=0,r=Im(3,null,null,e),t.current=r,r.stateNode=t,r.memoizedState={element:o,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},gpe(r),t}function zut(t,e,n){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(qFe)}catch(t){console.error(t)}}qFe(),JEe.exports=Eg;var Td=JEe.exports;const IV=kr(Td),Lut=LEe({__proto__:null,default:IV},[Td]);var $Fe,uAe=Td;$Fe=uAe.createRoot,uAe.hydrateRoot;var QFe={exports:{}},ZFe={},eLe={exports:{}},tLe={};/** +`+r.stack}return{value:t,source:e,stack:i,digest:null}}function Fne(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function _le(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var cut=typeof WeakMap=="function"?WeakMap:Map;function xFe(t,e,n){n=T6(-1,n),n.tag=3,n.payload={element:null};var o=e.value;return n.callback=function(){CV||(CV=!0,ese=o),_le(t,e)},n}function bFe(t,e,n){n=T6(-1,n),n.tag=3;var o=t.type.getDerivedStateFromError;if(typeof o=="function"){var i=e.value;n.payload=function(){return o(i)},n.callback=function(){_le(t,e)}}var r=t.stateNode;return r!==null&&typeof r.componentDidCatch=="function"&&(n.callback=function(){_le(t,e),typeof o!="function"&&(Mw===null?Mw=new Set([this]):Mw.add(this));var a=e.stack;this.componentDidCatch(e.value,{componentStack:a!==null?a:""})}),n}function G6e(t,e,n){var o=t.pingCache;if(o===null){o=t.pingCache=new cut;var i=new Set;o.set(e,i)}else i=o.get(e),i===void 0&&(i=new Set,o.set(e,i));i.has(n)||(i.add(n),t=Sut.bind(null,t,e,n),e.then(t,t))}function X6e(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function J6e(t,e,n,o,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=T6(-1,1),e.tag=2,Hw(n,e,1))),n.lanes|=1),t)}var uut=iA.ReactCurrentOwner,Wp=!1;function Vh(t,e,n,o){e.child=t===null?eFe(e,null,n,o):WC(e,t.child,n,o)}function K6e(t,e,n,o,i){n=n.render;var r=e.ref;return uC(e,i),o=vpe(t,e,n,o,r,i),n=xpe(),t!==null&&!Wp?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,U6(t,e,i)):(Nc&&n&&spe(e),e.flags|=1,Vh(t,e,o,i),e.child)}function q6e(t,e,n,o,i){if(t===null){var r=n.type;return typeof r=="function"&&!zpe(r)&&r.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=r,SFe(t,e,r,o,i)):(t=u_(n.type,null,o,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(r=t.child,!(t.lanes&i)){var a=r.memoizedProps;if(n=n.compare,n=n!==null?n:qE,n(a,o)&&t.ref===e.ref)return U6(t,e,i)}return e.flags|=1,t=zw(r,o),t.ref=e.ref,t.return=e,e.child=t}function SFe(t,e,n,o,i){if(t!==null){var r=t.memoizedProps;if(qE(r,o)&&t.ref===e.ref)if(Wp=!1,e.pendingProps=o=r,(t.lanes&i)!==0)t.flags&131072&&(Wp=!0);else return e.lanes=t.lanes,U6(t,e,i)}return Vle(t,e,n,o,i)}function TFe(t,e,n){var o=e.pendingProps,i=o.children,r=t!==null?t.memoizedState:null;if(o.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},Os(FP,K1),K1|=n;else{if(!(n&1073741824))return t=r!==null?r.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,Os(FP,K1),K1|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=r!==null?r.baseLanes:n,Os(FP,K1),K1|=o}else r!==null?(o=r.baseLanes|n,e.memoizedState=null):o=n,Os(FP,K1),K1|=o;return Vh(t,e,i,n),e.child}function PFe(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function Vle(t,e,n,o,i){var r=Vp(n)?zx:fh.current;return r=FC(e,r),uC(e,i),n=vpe(t,e,n,o,r,i),o=xpe(),t!==null&&!Wp?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,U6(t,e,i)):(Nc&&o&&spe(e),e.flags|=1,Vh(t,e,n,i),e.child)}function $6e(t,e,n,o,i){if(Vp(n)){var r=!0;mV(e)}else r=!1;if(uC(e,i),e.stateNode===null)l_(t,e),Qke(e,n,o),Ole(e,n,o,i),o=!0;else if(t===null){var a=e.stateNode,l=e.memoizedProps;a.props=l;var s=a.context,c=n.contextType;typeof c=="object"&&c!==null?c=Ym(c):(c=Vp(n)?zx:fh.current,c=FC(e,c));var u=n.getDerivedStateFromProps,d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l!==o||s!==c)&&Y6e(e,a,o,c),U4=!1;var f=e.memoizedState;a.state=f,xV(e,o,a,i),s=e.memoizedState,l!==o||f!==s||_p.current||U4?(typeof u=="function"&&(Yle(e,n,u,o),s=e.memoizedState),(l=U4||j6e(e,n,l,o,f,s,c))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(e.flags|=4194308)):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=o,e.memoizedState=s),a.props=o,a.state=s,a.context=c,o=l):(typeof a.componentDidMount=="function"&&(e.flags|=4194308),o=!1)}else{a=e.stateNode,qke(t,e),l=e.memoizedProps,c=e.type===e.elementType?l:e2(e.type,l),a.props=c,d=e.pendingProps,f=a.context,s=n.contextType,typeof s=="object"&&s!==null?s=Ym(s):(s=Vp(n)?zx:fh.current,s=FC(e,s));var p=n.getDerivedStateFromProps;(u=typeof p=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l!==d||f!==s)&&Y6e(e,a,o,s),U4=!1,f=e.memoizedState,a.state=f,xV(e,o,a,i);var g=e.memoizedState;l!==d||f!==g||_p.current||U4?(typeof p=="function"&&(Yle(e,n,p,o),g=e.memoizedState),(c=U4||j6e(e,n,c,o,f,g,s)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(o,g,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(o,g,s)),typeof a.componentDidUpdate=="function"&&(e.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof a.componentDidUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),e.memoizedProps=o,e.memoizedState=g),a.props=o,a.state=g,a.context=s,o=c):(typeof a.componentDidUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&f===t.memoizedState||(e.flags|=1024),o=!1)}return Gle(t,e,n,o,r,i)}function Gle(t,e,n,o,i,r){PFe(t,e);var a=(e.flags&128)!==0;if(!o&&!a)return i&&L6e(e,n,!1),U6(t,e,r);o=e.stateNode,uut.current=e;var l=a&&typeof n.getDerivedStateFromError!="function"?null:o.render();return e.flags|=1,t!==null&&a?(e.child=WC(e,t.child,null,r),e.child=WC(e,null,l,r)):Vh(t,e,l,r),e.memoizedState=o.state,i&&L6e(e,n,!0),e.child}function CFe(t){var e=t.stateNode;e.pendingContext?F6e(t,e.pendingContext,e.pendingContext!==e.context):e.context&&F6e(t,e.context,!1),mpe(t,e.containerInfo)}function Q6e(t,e,n,o,i){return LC(),upe(i),e.flags|=256,Vh(t,e,n,o),e.child}var Xle={dehydrated:null,treeContext:null,retryLane:0};function Jle(t){return{baseLanes:t,cachePool:null,transitions:null}}function RFe(t,e,n){var o=e.pendingProps,i=Zc.current,r=!1,a=(e.flags&128)!==0,l;if((l=a)||(l=t!==null&&t.memoizedState===null?!1:(i&2)!==0),l?(r=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),Os(Zc,i&1),t===null)return Ble(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(e.mode&1?t.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(a=o.children,t=o.fallback,r?(o=e.mode,r=e.child,a={mode:"hidden",children:a},!(o&1)&&r!==null?(r.childLanes=0,r.pendingProps=a):r=gK(a,o,0,null),t=ex(t,o,n,null),r.return=e,t.return=e,r.sibling=t,e.child=r,e.child.memoizedState=Jle(n),e.memoizedState=Xle,t):Tpe(e,a));if(i=t.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return dut(t,e,a,o,l,i,n);if(r){r=o.fallback,a=e.mode,i=t.child,l=i.sibling;var s={mode:"hidden",children:o.children};return!(a&1)&&e.child!==i?(o=e.child,o.childLanes=0,o.pendingProps=s,e.deletions=null):(o=zw(i,s),o.subtreeFlags=i.subtreeFlags&14680064),l!==null?r=zw(l,r):(r=ex(r,a,n,null),r.flags|=2),r.return=e,o.return=e,o.sibling=r,e.child=o,o=r,r=e.child,a=t.child.memoizedState,a=a===null?Jle(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},r.memoizedState=a,r.childLanes=t.childLanes&~n,e.memoizedState=Xle,o}return r=t.child,t=r.sibling,o=zw(r,{mode:"visible",children:o.children}),!(e.mode&1)&&(o.lanes=n),o.return=e,o.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=o,e.memoizedState=null,o}function Tpe(t,e){return e=gK({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function YB(t,e,n,o){return o!==null&&upe(o),WC(e,t.child,null,n),t=Tpe(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function dut(t,e,n,o,i,r,a){if(n)return e.flags&256?(e.flags&=-257,o=Fne(Error(Go(422))),YB(t,e,a,o)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(r=o.fallback,i=e.mode,o=gK({mode:"visible",children:o.children},i,0,null),r=ex(r,i,a,null),r.flags|=2,o.return=e,r.return=e,o.sibling=r,e.child=o,e.mode&1&&WC(e,t.child,null,a),e.child.memoizedState=Jle(a),e.memoizedState=Xle,r);if(!(e.mode&1))return YB(t,e,a,null);if(i.data==="$!"){if(o=i.nextSibling&&i.nextSibling.dataset,o)var l=o.dgst;return o=l,r=Error(Go(419)),o=Fne(r,o,void 0),YB(t,e,a,o)}if(l=(a&t.childLanes)!==0,Wp||l){if(o=xd,o!==null){switch(a&-a){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(o.suspendedLanes|a)?0:i,i!==0&&i!==r.retryLane&&(r.retryLane=i,N6(t,i),T2(o,t,i,-1))}return Ipe(),o=Fne(Error(Go(421))),YB(t,e,a,o)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=Tut.bind(null,t),i._reactRetry=e,null):(t=r.treeContext,ug=Rw(i.nextSibling),Ag=e,Nc=!0,c2=null,t!==null&&(xm[bm++]=f6,xm[bm++]=h6,xm[bm++]=Dx,f6=t.id,h6=t.overflow,Dx=e),e=Tpe(e,o.children),e.flags|=4096,e)}function Z6e(t,e,n){t.lanes|=e;var o=t.alternate;o!==null&&(o.lanes|=e),jle(t.return,e,n)}function Lne(t,e,n,o,i){var r=t.memoizedState;r===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:o,tail:n,tailMode:i}:(r.isBackwards=e,r.rendering=null,r.renderingStartTime=0,r.last=o,r.tail=n,r.tailMode=i)}function HFe(t,e,n){var o=e.pendingProps,i=o.revealOrder,r=o.tail;if(Vh(t,e,o.children,n),o=Zc.current,o&2)o=o&1|2,e.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Z6e(t,n,e);else if(t.tag===19)Z6e(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}o&=1}if(Os(Zc,o),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&bV(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Lne(e,!1,i,n,r);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&bV(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Lne(e,!0,n,null,r);break;case"together":Lne(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function l_(t,e){!(e.mode&1)&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function U6(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),kx|=e.lanes,!(n&e.childLanes))return null;if(t!==null&&e.child!==t.child)throw Error(Go(153));if(e.child!==null){for(t=e.child,n=zw(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=zw(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function fut(t,e,n){switch(e.tag){case 3:CFe(e),LC();break;case 5:tFe(e);break;case 1:Vp(e.type)&&mV(e);break;case 4:mpe(e,e.stateNode.containerInfo);break;case 10:var o=e.type._context,i=e.memoizedProps.value;Os(wV,o._currentValue),o._currentValue=i;break;case 13:if(o=e.memoizedState,o!==null)return o.dehydrated!==null?(Os(Zc,Zc.current&1),e.flags|=128,null):n&e.child.childLanes?RFe(t,e,n):(Os(Zc,Zc.current&1),t=U6(t,e,n),t!==null?t.sibling:null);Os(Zc,Zc.current&1);break;case 19:if(o=(n&e.childLanes)!==0,t.flags&128){if(o)return HFe(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Os(Zc,Zc.current),o)break;return null;case 22:case 23:return e.lanes=0,TFe(t,e,n)}return U6(t,e,n)}var MFe,Kle,IFe,zFe;MFe=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Kle=function(){};IFe=function(t,e,n,o){var i=t.memoizedProps;if(i!==o){t=e.stateNode,Pv(h9.current);var r=null;switch(n){case"input":i=yle(t,i),o=yle(t,o),r=[];break;case"select":i=a0({},i,{value:void 0}),o=a0({},o,{value:void 0}),r=[];break;case"textarea":i=vle(t,i),o=vle(t,o),r=[];break;default:typeof i.onClick!="function"&&typeof o.onClick=="function"&&(t.onclick=pV)}ble(n,o);var a;n=null;for(c in i)if(!o.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var l=i[c];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(OE.hasOwnProperty(c)?r||(r=[]):(r=r||[]).push(c,null));for(c in o){var s=o[c];if(l=i!=null?i[c]:void 0,o.hasOwnProperty(c)&&s!==l&&(s!=null||l!=null))if(c==="style")if(l){for(a in l)!l.hasOwnProperty(a)||s&&s.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in s)s.hasOwnProperty(a)&&l[a]!==s[a]&&(n||(n={}),n[a]=s[a])}else n||(r||(r=[]),r.push(c,n)),n=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,l=l?l.__html:void 0,s!=null&&l!==s&&(r=r||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(r=r||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(OE.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&oc("scroll",t),r||l===s||(r=[])):(r=r||[]).push(c,s))}n&&(r=r||[]).push("style",n);var c=r;(e.updateQueue=c)&&(e.flags|=4)}};zFe=function(t,e,n,o){n!==o&&(e.flags|=4)};function QI(t,e){if(!Nc)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var o=null;n!==null;)n.alternate!==null&&(o=n),n=n.sibling;o===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:o.sibling=null}}function Lf(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,o=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,o|=i.subtreeFlags&14680064,o|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,o|=i.subtreeFlags,o|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=o,t.childLanes=n,e}function hut(t,e,n){var o=e.pendingProps;switch(cpe(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Lf(e),null;case 1:return Vp(e.type)&&gV(),Lf(e),null;case 3:return o=e.stateNode,NC(),Ac(_p),Ac(fh),Ape(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(t===null||t.child===null)&&(BB(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,c2!==null&&(ose(c2),c2=null))),Kle(t,e),Lf(e),null;case 5:ype(e);var i=Pv(tk.current);if(n=e.type,t!==null&&e.stateNode!=null)IFe(t,e,n,o,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!o){if(e.stateNode===null)throw Error(Go(166));return Lf(e),null}if(t=Pv(h9.current),BB(e)){o=e.stateNode,n=e.type;var r=e.memoizedProps;switch(o[t9]=e,o[ZE]=r,t=(e.mode&1)!==0,n){case"dialog":oc("cancel",o),oc("close",o);break;case"iframe":case"object":case"embed":oc("load",o);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof o.is=="string"?t=a.createElement(n,{is:o.is}):(t=a.createElement(n),n==="select"&&(a=t,o.multiple?a.multiple=!0:o.size&&(a.size=o.size))):t=a.createElementNS(t,n),t[t9]=e,t[ZE]=o,MFe(t,e,!1,!1),e.stateNode=t;e:{switch(a=Sle(n,o),n){case"dialog":oc("cancel",t),oc("close",t),i=o;break;case"iframe":case"object":case"embed":oc("load",t),i=o;break;case"video":case"audio":for(i=0;iBC&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304)}else{if(!o)if(t=bV(a),t!==null){if(e.flags|=128,o=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),QI(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!Nc)return Lf(e),null}else 2*L0()-r.renderingStartTime>BC&&n!==1073741824&&(e.flags|=128,o=!0,QI(r,!1),e.lanes=4194304);r.isBackwards?(a.sibling=e.child,e.child=a):(n=r.last,n!==null?n.sibling=a:e.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=L0(),e.sibling=null,n=Zc.current,Os(Zc,o?n&1|2:n&1),e):(Lf(e),null);case 22:case 23:return Mpe(),o=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==o&&(e.flags|=8192),o&&e.mode&1?K1&1073741824&&(Lf(e),e.subtreeFlags&6&&(e.flags|=8192)):Lf(e),null;case 24:return null;case 25:return null}throw Error(Go(156,e.tag))}function put(t,e){switch(cpe(e),e.tag){case 1:return Vp(e.type)&&gV(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return NC(),Ac(_p),Ac(fh),Ape(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return ype(e),null;case 13:if(Ac(Zc),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(Go(340));LC()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Ac(Zc),null;case 4:return NC(),null;case 10:return hpe(e.type._context),null;case 22:case 23:return Mpe(),null;case 24:return null;default:return null}}var OB=!1,eh=!1,gut=typeof WeakSet=="function"?WeakSet:Set,Bi=null;function kP(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(o){u0(t,e,o)}else n.current=null}function qle(t,e,n){try{n()}catch(o){u0(t,e,o)}}var eAe=!1;function mut(t,e){if(Ele=dV,t=Fke(),lpe(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var i=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var a=0,l=-1,s=-1,c=0,u=0,d=t,f=null;t:for(;;){for(var p;d!==n||i!==0&&d.nodeType!==3||(l=a+i),d!==r||o!==0&&d.nodeType!==3||(s=a+o),d.nodeType===3&&(a+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===t)break t;if(f===n&&++c===i&&(l=a),f===r&&++u===o&&(s=a),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(kle={focusedElem:t,selectionRange:n},dV=!1,Bi=e;Bi!==null;)if(e=Bi,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Bi=t;else for(;Bi!==null;){e=Bi;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var A=g.memoizedProps,w=g.memoizedState,b=e.stateNode,C=b.getSnapshotBeforeUpdate(e.elementType===e.type?A:e2(e.type,A),w);b.__reactInternalSnapshotBeforeUpdate=C}break;case 3:var P=e.stateNode.containerInfo;P.nodeType===1?P.textContent="":P.nodeType===9&&P.documentElement&&P.removeChild(P.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Go(163))}}catch(v){u0(e,e.return,v)}if(t=e.sibling,t!==null){t.return=e.return,Bi=t;break}Bi=e.return}return g=eAe,eAe=!1,g}function GD(t,e,n){var o=e.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var i=o=o.next;do{if((i.tag&t)===t){var r=i.destroy;i.destroy=void 0,r!==void 0&&qle(e,n,r)}i=i.next}while(i!==o)}}function hK(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var o=n.create;n.destroy=o()}n=n.next}while(n!==e)}}function $le(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function DFe(t){var e=t.alternate;e!==null&&(t.alternate=null,DFe(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[t9],delete e[ZE],delete e[Wle],delete e[Q0t],delete e[Z0t])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function EFe(t){return t.tag===5||t.tag===3||t.tag===4}function tAe(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||EFe(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Qle(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=pV));else if(o!==4&&(t=t.child,t!==null))for(Qle(t,e,n),t=t.sibling;t!==null;)Qle(t,e,n),t=t.sibling}function Zle(t,e,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(o!==4&&(t=t.child,t!==null))for(Zle(t,e,n),t=t.sibling;t!==null;)Zle(t,e,n),t=t.sibling}var $d=null,o2=!1;function u4(t,e,n){for(n=n.child;n!==null;)kFe(t,e,n),n=n.sibling}function kFe(t,e,n){if(f9&&typeof f9.onCommitFiberUnmount=="function")try{f9.onCommitFiberUnmount(rK,n)}catch{}switch(n.tag){case 5:eh||kP(n,e);case 6:var o=$d,i=o2;$d=null,u4(t,e,n),$d=o,o2=i,$d!==null&&(o2?(t=$d,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):$d.removeChild(n.stateNode));break;case 18:$d!==null&&(o2?(t=$d,n=n.stateNode,t.nodeType===8?Mne(t.parentNode,n):t.nodeType===1&&Mne(t,n),JE(t)):Mne($d,n.stateNode));break;case 4:o=$d,i=o2,$d=n.stateNode.containerInfo,o2=!0,u4(t,e,n),$d=o,o2=i;break;case 0:case 11:case 14:case 15:if(!eh&&(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){i=o=o.next;do{var r=i,a=r.destroy;r=r.tag,a!==void 0&&(r&2||r&4)&&qle(n,e,a),i=i.next}while(i!==o)}u4(t,e,n);break;case 1:if(!eh&&(kP(n,e),o=n.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(l){u0(n,e,l)}u4(t,e,n);break;case 21:u4(t,e,n);break;case 22:n.mode&1?(eh=(o=eh)||n.memoizedState!==null,u4(t,e,n),eh=o):u4(t,e,n);break;default:u4(t,e,n)}}function nAe(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new gut),e.forEach(function(o){var i=Put.bind(null,t,o);n.has(o)||(n.add(o),o.then(i,i))})}}function Ny(t,e){var n=e.deletions;if(n!==null)for(var o=0;oi&&(i=a),o&=~r}if(o=i,o=L0()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Aut(o/1960))-o,10t?16:t,aw===null)var o=!1;else{if(t=aw,aw=null,RV=0,Tl&6)throw Error(Go(331));var i=Tl;for(Tl|=4,Bi=t.current;Bi!==null;){var r=Bi,a=r.child;if(Bi.flags&16){var l=r.deletions;if(l!==null){for(var s=0;sL0()-Rpe?Zv(t,0):Cpe|=n),Gp(t,e)}function YFe(t,e){e===0&&(t.mode&1?(e=kB,kB<<=1,!(kB&130023424)&&(kB=4194304)):e=1);var n=ap();t=N6(t,e),t!==null&&(IL(t,e,n),Gp(t,n))}function Tut(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),YFe(t,n)}function Put(t,e){var n=0;switch(t.tag){case 13:var o=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:o=t.stateNode;break;default:throw Error(Go(314))}o!==null&&o.delete(e),YFe(t,n)}var OFe;OFe=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||_p.current)Wp=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return Wp=!1,fut(t,e,n);Wp=!!(t.flags&131072)}else Wp=!1,Nc&&e.flags&1048576&&Gke(e,AV,e.index);switch(e.lanes=0,e.tag){case 2:var o=e.type;l_(t,e),t=e.pendingProps;var i=FC(e,fh.current);uC(e,n),i=vpe(null,e,o,t,i,n);var r=xpe();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Vp(o)?(r=!0,mV(e)):r=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,gpe(e),i.updater=dK,e.stateNode=i,i._reactInternals=e,Ole(e,o,t,n),e=Gle(null,e,o,!0,r,n)):(e.tag=0,Nc&&r&&spe(e),Vh(null,e,i,n),e=e.child),e;case 16:o=e.elementType;e:{switch(l_(t,e),t=e.pendingProps,i=o._init,o=i(o._payload),e.type=o,i=e.tag=Rut(o),t=e2(o,t),i){case 0:e=Vle(null,e,o,t,n);break e;case 1:e=$6e(null,e,o,t,n);break e;case 11:e=K6e(null,e,o,t,n);break e;case 14:e=q6e(null,e,o,e2(o.type,t),n);break e}throw Error(Go(306,o,""))}return e;case 0:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),Vle(t,e,o,i,n);case 1:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),$6e(t,e,o,i,n);case 3:e:{if(CFe(e),t===null)throw Error(Go(387));o=e.pendingProps,r=e.memoizedState,i=r.element,qke(t,e),xV(e,o,null,n);var a=e.memoizedState;if(o=a.element,r.isDehydrated)if(r={element:o,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},e.updateQueue.baseState=r,e.memoizedState=r,e.flags&256){i=UC(Error(Go(423)),e),e=Q6e(t,e,o,n,i);break e}else if(o!==i){i=UC(Error(Go(424)),e),e=Q6e(t,e,o,n,i);break e}else for(ug=Rw(e.stateNode.containerInfo.firstChild),Ag=e,Nc=!0,c2=null,n=eFe(e,null,o,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(LC(),o===i){e=U6(t,e,n);break e}Vh(t,e,o,n)}e=e.child}return e;case 5:return tFe(e),t===null&&Ble(e),o=e.type,i=e.pendingProps,r=t!==null?t.memoizedProps:null,a=i.children,Fle(o,i)?a=null:r!==null&&Fle(o,r)&&(e.flags|=32),PFe(t,e),Vh(t,e,a,n),e.child;case 6:return t===null&&Ble(e),null;case 13:return RFe(t,e,n);case 4:return mpe(e,e.stateNode.containerInfo),o=e.pendingProps,t===null?e.child=WC(e,null,o,n):Vh(t,e,o,n),e.child;case 11:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),K6e(t,e,o,i,n);case 7:return Vh(t,e,e.pendingProps,n),e.child;case 8:return Vh(t,e,e.pendingProps.children,n),e.child;case 12:return Vh(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(o=e.type._context,i=e.pendingProps,r=e.memoizedProps,a=i.value,Os(wV,o._currentValue),o._currentValue=a,r!==null)if(L2(r.value,a)){if(r.children===i.children&&!_p.current){e=U6(t,e,n);break e}}else for(r=e.child,r!==null&&(r.return=e);r!==null;){var l=r.dependencies;if(l!==null){a=r.child;for(var s=l.firstContext;s!==null;){if(s.context===o){if(r.tag===1){s=T6(-1,n&-n),s.tag=2;var c=r.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?s.next=s:(s.next=u.next,u.next=s),c.pending=s}}r.lanes|=n,s=r.alternate,s!==null&&(s.lanes|=n),jle(r.return,n,e),l.lanes|=n;break}s=s.next}}else if(r.tag===10)a=r.type===e.type?null:r.child;else if(r.tag===18){if(a=r.return,a===null)throw Error(Go(341));a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),jle(a,n,e),a=r.sibling}else a=r.child;if(a!==null)a.return=r;else for(a=r;a!==null;){if(a===e){a=null;break}if(r=a.sibling,r!==null){r.return=a.return,a=r;break}a=a.return}r=a}Vh(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,o=e.pendingProps.children,uC(e,n),i=Ym(i),o=o(i),e.flags|=1,Vh(t,e,o,n),e.child;case 14:return o=e.type,i=e2(o,e.pendingProps),i=e2(o.type,i),q6e(t,e,o,i,n);case 15:return SFe(t,e,e.type,e.pendingProps,n);case 17:return o=e.type,i=e.pendingProps,i=e.elementType===o?i:e2(o,i),l_(t,e),e.tag=1,Vp(o)?(t=!0,mV(e)):t=!1,uC(e,n),Qke(e,o,i),Ole(e,o,i,n),Gle(null,e,o,!0,t,n);case 19:return HFe(t,e,n);case 22:return TFe(t,e,n)}throw Error(Go(156,e.tag))};function _Fe(t,e){return mke(t,e)}function Cut(t,e,n,o){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Im(t,e,n,o){return new Cut(t,e,n,o)}function zpe(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Rut(t){if(typeof t=="function")return zpe(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qhe)return 11;if(t===$he)return 14}return 2}function zw(t,e){var n=t.alternate;return n===null?(n=Im(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function u_(t,e,n,o,i,r){var a=2;if(o=t,typeof t=="function")zpe(t)&&(a=1);else if(typeof t=="string")a=5;else e:switch(t){case PP:return ex(n.children,i,r,e);case Khe:a=8,i|=8;break;case hle:return t=Im(12,n,e,i|2),t.elementType=hle,t.lanes=r,t;case ple:return t=Im(13,n,e,i),t.elementType=ple,t.lanes=r,t;case gle:return t=Im(19,n,e,i),t.elementType=gle,t.lanes=r,t;case ZEe:return gK(n,i,r,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case $Ee:a=10;break e;case QEe:a=9;break e;case qhe:a=11;break e;case $he:a=14;break e;case N4:a=16,o=null;break e}throw Error(Go(130,t==null?t:typeof t,""))}return e=Im(a,n,e,i),e.elementType=t,e.type=o,e.lanes=r,e}function ex(t,e,n,o){return t=Im(7,t,o,e),t.lanes=n,t}function gK(t,e,n,o){return t=Im(22,t,o,e),t.elementType=ZEe,t.lanes=n,t.stateNode={isHidden:!1},t}function Wne(t,e,n){return t=Im(6,t,null,e),t.lanes=n,t}function Nne(t,e,n){return e=Im(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function Hut(t,e,n,o,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ane(0),this.expirationTimes=Ane(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ane(0),this.identifierPrefix=o,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Dpe(t,e,n,o,i,r,a,l,s){return t=new Hut(t,e,n,l,s),e===1?(e=1,r===!0&&(e|=8)):e=0,r=Im(3,null,null,e),t.current=r,r.stateNode=t,r.memoizedState={element:o,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},gpe(r),t}function Mut(t,e,n){var o=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(JFe)}catch(t){console.error(t)}}JFe(),GEe.exports=Eg;var Td=GEe.exports;const IV=kr(Td),kut=kEe({__proto__:null,default:IV},[Td]);var KFe,uAe=Td;KFe=uAe.createRoot,uAe.hydrateRoot;var qFe={exports:{}},$Fe={},QFe={exports:{}},ZFe={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -45,7 +45,7 @@ Error generating stack: `+r.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var jC=m;function Wut(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Nut=typeof Object.is=="function"?Object.is:Wut,Uut=jC.useState,But=jC.useEffect,jut=jC.useLayoutEffect,Yut=jC.useDebugValue;function Out(t,e){var n=e(),o=Uut({inst:{value:n,getSnapshot:e}}),i=o[0].inst,r=o[1];return jut(function(){i.value=n,i.getSnapshot=e,Une(i)&&r({inst:i})},[t,n,e]),But(function(){return Une(i)&&r({inst:i}),t(function(){Une(i)&&r({inst:i})})},[t]),Yut(n),n}function Une(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Nut(t,n)}catch{return!0}}function _ut(t,e){return e()}var Vut=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?_ut:Out;tLe.useSyncExternalStore=jC.useSyncExternalStore!==void 0?jC.useSyncExternalStore:Vut;eLe.exports=tLe;var Gut=eLe.exports;/** + */var jC=m;function Fut(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Lut=typeof Object.is=="function"?Object.is:Fut,Wut=jC.useState,Nut=jC.useEffect,Uut=jC.useLayoutEffect,But=jC.useDebugValue;function jut(t,e){var n=e(),o=Wut({inst:{value:n,getSnapshot:e}}),i=o[0].inst,r=o[1];return Uut(function(){i.value=n,i.getSnapshot=e,Une(i)&&r({inst:i})},[t,n,e]),Nut(function(){return Une(i)&&r({inst:i}),t(function(){Une(i)&&r({inst:i})})},[t]),But(n),n}function Une(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Lut(t,n)}catch{return!0}}function Yut(t,e){return e()}var Out=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Yut:jut;ZFe.useSyncExternalStore=jC.useSyncExternalStore!==void 0?jC.useSyncExternalStore:Out;QFe.exports=ZFe;var _ut=QFe.exports;/** * @license React * use-sync-external-store-shim/with-selector.production.min.js * @@ -53,7 +53,7 @@ Error generating stack: `+r.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vK=m,Xut=Gut;function Jut(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Kut=typeof Object.is=="function"?Object.is:Jut,qut=Xut.useSyncExternalStore,$ut=vK.useRef,Qut=vK.useEffect,Zut=vK.useMemo,edt=vK.useDebugValue;ZFe.useSyncExternalStoreWithSelector=function(t,e,n,o,i){var r=$ut(null);if(r.current===null){var a={hasValue:!1,value:null};r.current=a}else a=r.current;r=Zut(function(){function s(p){if(!c){if(c=!0,u=p,p=o(p),i!==void 0&&a.hasValue){var g=a.value;if(i(g,p))return d=g}return d=p}if(g=d,Kut(u,p))return g;var A=o(p);return i!==void 0&&i(g,A)?g:(u=p,d=A)}var c=!1,u,d,f=n===void 0?null:n;return[function(){return s(e())},f===null?void 0:function(){return s(f())}]},[e,n,o,i]);var l=qut(t,r[0],r[1]);return Qut(function(){a.hasValue=!0,a.value=l},[l]),edt(l),l};QFe.exports=ZFe;var tdt=QFe.exports;const ndt=kr(tdt);var odt={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_FIREBASE_LOGGER_DATABASE_URL:"https://aladdin-2023.firebaseio.com",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const dAe=t=>{let e;const n=new Set,o=(s,c)=>{const u=typeof s=="function"?s(e):s;if(!Object.is(u,e)){const d=e;e=c??typeof u!="object"?u:Object.assign({},e,u),n.forEach(f=>f(e,d))}},i=()=>e,l={setState:o,getState:i,subscribe:s=>(n.add(s),()=>n.delete(s)),destroy:()=>{(odt?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}};return e=t(o,i,l),l},idt=t=>t?dAe(t):dAe,{useDebugValue:rdt}=be,{useSyncExternalStoreWithSelector:adt}=ndt;function ldt(t,e=t.getState,n){const o=adt(t.subscribe,t.getState,t.getServerState||t.getState,e,n);return rdt(o),o}const sdt=(t,e)=>{const n=idt(t),o=(i,r=e)=>ldt(n,i,r);return Object.assign(o,n),o},xK=(t,e)=>sdt;var GB,cdt=new Uint8Array(16);function nLe(){if(!GB&&(GB=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!GB))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return GB(cdt)}const udt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function bK(t){return typeof t=="string"&&udt.test(t)}var Jd=[];for(var Bne=0;Bne<256;++Bne)Jd.push((Bne+256).toString(16).substr(1));function SK(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(Jd[t[e+0]]+Jd[t[e+1]]+Jd[t[e+2]]+Jd[t[e+3]]+"-"+Jd[t[e+4]]+Jd[t[e+5]]+"-"+Jd[t[e+6]]+Jd[t[e+7]]+"-"+Jd[t[e+8]]+Jd[t[e+9]]+"-"+Jd[t[e+10]]+Jd[t[e+11]]+Jd[t[e+12]]+Jd[t[e+13]]+Jd[t[e+14]]+Jd[t[e+15]]).toLowerCase();if(!bK(n))throw TypeError("Stringified UUID is invalid");return n}var fAe,jne,Yne=0,One=0;function ddt(t,e,n){var o=e&&n||0,i=e||new Array(16);t=t||{};var r=t.node||fAe,a=t.clockseq!==void 0?t.clockseq:jne;if(r==null||a==null){var l=t.random||(t.rng||nLe)();r==null&&(r=fAe=[l[0]|1,l[1],l[2],l[3],l[4],l[5]]),a==null&&(a=jne=(l[6]<<8|l[7])&16383)}var s=t.msecs!==void 0?t.msecs:Date.now(),c=t.nsecs!==void 0?t.nsecs:One+1,u=s-Yne+(c-One)/1e4;if(u<0&&t.clockseq===void 0&&(a=a+1&16383),(u<0||s>Yne)&&t.nsecs===void 0&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Yne=s,One=c,jne=a,s+=122192928e5;var d=((s&268435455)*1e4+c)%4294967296;i[o++]=d>>>24&255,i[o++]=d>>>16&255,i[o++]=d>>>8&255,i[o++]=d&255;var f=s/4294967296*1e4&268435455;i[o++]=f>>>8&255,i[o++]=f&255,i[o++]=f>>>24&15|16,i[o++]=f>>>16&255,i[o++]=a>>>8|128,i[o++]=a&255;for(var p=0;p<6;++p)i[o+p]=r[p];return e||SK(i)}function oLe(t){if(!bK(t))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=e&255,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=e&255,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=e&255,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=e&255,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=e&255,n}function fdt(t){t=unescape(encodeURIComponent(t));for(var e=[],n=0;n>5]>>>i%32&255,a=parseInt(o.charAt(r>>>4&15)+o.charAt(r&15),16);e.push(a)}return e}function rLe(t){return(t+64>>>9<<4)+14+1}function ydt(t,e){t[e>>5]|=128<>5]|=(t[o/8]&255)<>16)+(e>>16)+(n>>16);return o<<16|n&65535}function wdt(t,e){return t<>>32-e}function TK(t,e,n,o,i,r){return lw(wdt(lw(lw(e,t),lw(o,r)),i),n)}function Wf(t,e,n,o,i,r,a){return TK(e&n|~e&o,t,e,i,r,a)}function Nf(t,e,n,o,i,r,a){return TK(e&o|n&~o,t,e,i,r,a)}function Uf(t,e,n,o,i,r,a){return TK(e^n^o,t,e,i,r,a)}function Bf(t,e,n,o,i,r,a){return TK(n^(e|~o),t,e,i,r,a)}var vdt=iLe("v3",48,gdt);const xdt=vdt;function bdt(t,e,n){t=t||{};var o=t.random||(t.rng||nLe)();if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,e){n=n||0;for(var i=0;i<16;++i)e[n+i]=o[i];return e}return SK(o)}function Sdt(t,e,n,o){switch(t){case 0:return e&n^~e&o;case 1:return e^n^o;case 2:return e&n^e&o^n&o;case 3:return e^n^o}}function _ne(t,e){return t<>>32-e}function Tdt(t){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){var o=unescape(encodeURIComponent(t));t=[];for(var i=0;i>>0;P=C,C=b,b=_ne(w,30)>>>0,w=A,A=y}n[0]=n[0]+A>>>0,n[1]=n[1]+w>>>0,n[2]=n[2]+b>>>0,n[3]=n[3]+C>>>0,n[4]=n[4]+P>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var Pdt=iLe("v5",80,Tdt);const Cdt=Pdt,Rdt="00000000-0000-0000-0000-000000000000";function Hdt(t){if(!bK(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}const Mdt=Object.freeze(Object.defineProperty({__proto__:null,NIL:Rdt,parse:oLe,stringify:SK,v1:ddt,v3:xdt,v4:bdt,v5:Cdt,validate:bK,version:Hdt},Symbol.toStringTag,{value:"Module"})),Idt=WEe(Mdt);function Lpe(t,e){if(!t||!e||!t.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=t,this.dstAlphabet=e}Lpe.prototype.convert=function(t){var e,n,o,i={},r=this.srcAlphabet.length,a=this.dstAlphabet.length,l=t.length,s=typeof t=="string"?"":[];if(!this.isValid(t))throw new Error('Number "'+t+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return t;for(e=0;e=a?(i[o++]=parseInt(n/a,10),n=n%a):o>0&&(i[o++]=0);l=o,s=this.dstAlphabet.slice(n,n+1).concat(s)}while(o!==0);return s};Lpe.prototype.isValid=function(t){for(var e=0;e?@[]^_`{|}~",Fdt={consistentLength:!0};let Xne;const hAe=(t,e,n)=>{const o=e(t.toLowerCase().replace(/-/g,""));return!n||!n.consistentLength?o:o.padStart(n.shortIdLength,n.paddingChar)},Ldt=(t,e)=>{const o=e(t).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[o[1],o[2],o[3],o[4],o[5]].join("-")},Wdt=t=>Math.ceil(Math.log(2**128)/Math.log(t));var Ndt=(()=>{const t=(e,n)=>{const o=e||Gne,i={...Fdt,...n};if([...new Set(Array.from(o))].length!==o.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const r=Wdt(o.length),a={shortIdLength:r,consistentLength:i.consistentLength,paddingChar:o[0]},l=XB(XB.HEX,o),s=XB(o,XB.HEX),c=()=>hAe(Vne(),l,a),u={new:c,generate:c,uuid:Vne,fromUUID:d=>hAe(d,l,a),toUUID:d=>Ldt(d,s),alphabet:o,maxLength:r};return Object.freeze(u),u};return t.constants={flickrBase58:Gne,cookieBase90:kdt},t.uuid=Vne,t.generate=()=>(Xne||(Xne=t(Gne).generate),Xne()),t})();const ta=kr(Ndt);var aLe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){var n=1e3,o=6e4,i=36e5,r="millisecond",a="second",l="minute",s="hour",c="day",u="week",d="month",f="quarter",p="year",g="date",A="Invalid Date",w=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(N){var L=["th","st","nd","rd"],E=N%100;return"["+N+(L[(E-20)%10]||L[E]||L[0])+"]"}},P=function(N,L,E){var U=String(N);return!U||U.length>=L?N:""+Array(L+1-U.length).join(E)+N},v={s:P,z:function(N){var L=-N.utcOffset(),E=Math.abs(L),U=Math.floor(E/60),F=E%60;return(L<=0?"+":"-")+P(U,2,"0")+":"+P(F,2,"0")},m:function N(L,E){if(L.date()1)return N(_[0])}else{var Y=L.name;y[Y]=L,F=Y}return!U&&F&&(T=F),F||!U&&T},H=function(N,L){if(x(N))return N.clone();var E=typeof L=="object"?L:{};return E.date=N,E.args=arguments,new k(E)},D=v;D.l=R,D.i=x,D.w=function(N,L){return H(N,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var k=function(){function N(E){this.$L=R(E.locale,null,!0),this.parse(E),this.$x=this.$x||E.x||{},this[S]=!0}var L=N.prototype;return L.parse=function(E){this.$d=function(U){var F=U.date,B=U.utc;if(F===null)return new Date(NaN);if(D.u(F))return new Date;if(F instanceof Date)return new Date(F);if(typeof F=="string"&&!/Z$/i.test(F)){var _=F.match(w);if(_){var Y=_[2]-1||0,O=(_[7]||"0").substring(0,3);return B?new Date(Date.UTC(_[1],Y,_[3]||1,_[4]||0,_[5]||0,_[6]||0,O)):new Date(_[1],Y,_[3]||1,_[4]||0,_[5]||0,_[6]||0,O)}}return new Date(F)}(E),this.init()},L.init=function(){var E=this.$d;this.$y=E.getFullYear(),this.$M=E.getMonth(),this.$D=E.getDate(),this.$W=E.getDay(),this.$H=E.getHours(),this.$m=E.getMinutes(),this.$s=E.getSeconds(),this.$ms=E.getMilliseconds()},L.$utils=function(){return D},L.isValid=function(){return this.$d.toString()!==A},L.isSame=function(E,U){var F=H(E);return this.startOf(U)<=F&&F<=this.endOf(U)},L.isAfter=function(E,U){return H(E){let e;const n=new Set,o=(s,c)=>{const u=typeof s=="function"?s(e):s;if(!Object.is(u,e)){const d=e;e=c??typeof u!="object"?u:Object.assign({},e,u),n.forEach(f=>f(e,d))}},i=()=>e,l={setState:o,getState:i,subscribe:s=>(n.add(s),()=>n.delete(s)),destroy:()=>{(tdt?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}};return e=t(o,i,l),l},ndt=t=>t?dAe(t):dAe,{useDebugValue:odt}=be,{useSyncExternalStoreWithSelector:idt}=edt;function rdt(t,e=t.getState,n){const o=idt(t.subscribe,t.getState,t.getServerState||t.getState,e,n);return odt(o),o}const adt=(t,e)=>{const n=ndt(t),o=(i,r=e)=>rdt(n,i,r);return Object.assign(o,n),o},xK=(t,e)=>adt;var GB,ldt=new Uint8Array(16);function eLe(){if(!GB&&(GB=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!GB))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return GB(ldt)}const sdt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function bK(t){return typeof t=="string"&&sdt.test(t)}var Jd=[];for(var Bne=0;Bne<256;++Bne)Jd.push((Bne+256).toString(16).substr(1));function SK(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(Jd[t[e+0]]+Jd[t[e+1]]+Jd[t[e+2]]+Jd[t[e+3]]+"-"+Jd[t[e+4]]+Jd[t[e+5]]+"-"+Jd[t[e+6]]+Jd[t[e+7]]+"-"+Jd[t[e+8]]+Jd[t[e+9]]+"-"+Jd[t[e+10]]+Jd[t[e+11]]+Jd[t[e+12]]+Jd[t[e+13]]+Jd[t[e+14]]+Jd[t[e+15]]).toLowerCase();if(!bK(n))throw TypeError("Stringified UUID is invalid");return n}var fAe,jne,Yne=0,One=0;function cdt(t,e,n){var o=e&&n||0,i=e||new Array(16);t=t||{};var r=t.node||fAe,a=t.clockseq!==void 0?t.clockseq:jne;if(r==null||a==null){var l=t.random||(t.rng||eLe)();r==null&&(r=fAe=[l[0]|1,l[1],l[2],l[3],l[4],l[5]]),a==null&&(a=jne=(l[6]<<8|l[7])&16383)}var s=t.msecs!==void 0?t.msecs:Date.now(),c=t.nsecs!==void 0?t.nsecs:One+1,u=s-Yne+(c-One)/1e4;if(u<0&&t.clockseq===void 0&&(a=a+1&16383),(u<0||s>Yne)&&t.nsecs===void 0&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Yne=s,One=c,jne=a,s+=122192928e5;var d=((s&268435455)*1e4+c)%4294967296;i[o++]=d>>>24&255,i[o++]=d>>>16&255,i[o++]=d>>>8&255,i[o++]=d&255;var f=s/4294967296*1e4&268435455;i[o++]=f>>>8&255,i[o++]=f&255,i[o++]=f>>>24&15|16,i[o++]=f>>>16&255,i[o++]=a>>>8|128,i[o++]=a&255;for(var p=0;p<6;++p)i[o+p]=r[p];return e||SK(i)}function tLe(t){if(!bK(t))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=e&255,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=e&255,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=e&255,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=e&255,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=e&255,n}function udt(t){t=unescape(encodeURIComponent(t));for(var e=[],n=0;n>5]>>>i%32&255,a=parseInt(o.charAt(r>>>4&15)+o.charAt(r&15),16);e.push(a)}return e}function oLe(t){return(t+64>>>9<<4)+14+1}function gdt(t,e){t[e>>5]|=128<>5]|=(t[o/8]&255)<>16)+(e>>16)+(n>>16);return o<<16|n&65535}function ydt(t,e){return t<>>32-e}function TK(t,e,n,o,i,r){return lw(ydt(lw(lw(e,t),lw(o,r)),i),n)}function Wf(t,e,n,o,i,r,a){return TK(e&n|~e&o,t,e,i,r,a)}function Nf(t,e,n,o,i,r,a){return TK(e&o|n&~o,t,e,i,r,a)}function Uf(t,e,n,o,i,r,a){return TK(e^n^o,t,e,i,r,a)}function Bf(t,e,n,o,i,r,a){return TK(n^(e|~o),t,e,i,r,a)}var Adt=nLe("v3",48,hdt);const wdt=Adt;function vdt(t,e,n){t=t||{};var o=t.random||(t.rng||eLe)();if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,e){n=n||0;for(var i=0;i<16;++i)e[n+i]=o[i];return e}return SK(o)}function xdt(t,e,n,o){switch(t){case 0:return e&n^~e&o;case 1:return e^n^o;case 2:return e&n^e&o^n&o;case 3:return e^n^o}}function _ne(t,e){return t<>>32-e}function bdt(t){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){var o=unescape(encodeURIComponent(t));t=[];for(var i=0;i>>0;P=C,C=b,b=_ne(w,30)>>>0,w=A,A=y}n[0]=n[0]+A>>>0,n[1]=n[1]+w>>>0,n[2]=n[2]+b>>>0,n[3]=n[3]+C>>>0,n[4]=n[4]+P>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var Sdt=nLe("v5",80,bdt);const Tdt=Sdt,Pdt="00000000-0000-0000-0000-000000000000";function Cdt(t){if(!bK(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}const Rdt=Object.freeze(Object.defineProperty({__proto__:null,NIL:Pdt,parse:tLe,stringify:SK,v1:cdt,v3:wdt,v4:vdt,v5:Tdt,validate:bK,version:Cdt},Symbol.toStringTag,{value:"Module"})),Hdt=FEe(Rdt);function Lpe(t,e){if(!t||!e||!t.length||!e.length)throw new Error("Bad alphabet");this.srcAlphabet=t,this.dstAlphabet=e}Lpe.prototype.convert=function(t){var e,n,o,i={},r=this.srcAlphabet.length,a=this.dstAlphabet.length,l=t.length,s=typeof t=="string"?"":[];if(!this.isValid(t))throw new Error('Number "'+t+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return t;for(e=0;e=a?(i[o++]=parseInt(n/a,10),n=n%a):o>0&&(i[o++]=0);l=o,s=this.dstAlphabet.slice(n,n+1).concat(s)}while(o!==0);return s};Lpe.prototype.isValid=function(t){for(var e=0;e?@[]^_`{|}~",Edt={consistentLength:!0};let Xne;const hAe=(t,e,n)=>{const o=e(t.toLowerCase().replace(/-/g,""));return!n||!n.consistentLength?o:o.padStart(n.shortIdLength,n.paddingChar)},kdt=(t,e)=>{const o=e(t).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[o[1],o[2],o[3],o[4],o[5]].join("-")},Fdt=t=>Math.ceil(Math.log(2**128)/Math.log(t));var Ldt=(()=>{const t=(e,n)=>{const o=e||Gne,i={...Edt,...n};if([...new Set(Array.from(o))].length!==o.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const r=Fdt(o.length),a={shortIdLength:r,consistentLength:i.consistentLength,paddingChar:o[0]},l=XB(XB.HEX,o),s=XB(o,XB.HEX),c=()=>hAe(Vne(),l,a),u={new:c,generate:c,uuid:Vne,fromUUID:d=>hAe(d,l,a),toUUID:d=>kdt(d,s),alphabet:o,maxLength:r};return Object.freeze(u),u};return t.constants={flickrBase58:Gne,cookieBase90:Ddt},t.uuid=Vne,t.generate=()=>(Xne||(Xne=t(Gne).generate),Xne()),t})();const ta=kr(Ldt);var iLe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){var n=1e3,o=6e4,i=36e5,r="millisecond",a="second",l="minute",s="hour",c="day",u="week",d="month",f="quarter",p="year",g="date",A="Invalid Date",w=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(N){var L=["th","st","nd","rd"],E=N%100;return"["+N+(L[(E-20)%10]||L[E]||L[0])+"]"}},P=function(N,L,E){var U=String(N);return!U||U.length>=L?N:""+Array(L+1-U.length).join(E)+N},v={s:P,z:function(N){var L=-N.utcOffset(),E=Math.abs(L),U=Math.floor(E/60),F=E%60;return(L<=0?"+":"-")+P(U,2,"0")+":"+P(F,2,"0")},m:function N(L,E){if(L.date()1)return N(_[0])}else{var Y=L.name;y[Y]=L,F=Y}return!U&&F&&(T=F),F||!U&&T},H=function(N,L){if(x(N))return N.clone();var E=typeof L=="object"?L:{};return E.date=N,E.args=arguments,new k(E)},D=v;D.l=R,D.i=x,D.w=function(N,L){return H(N,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var k=function(){function N(E){this.$L=R(E.locale,null,!0),this.parse(E),this.$x=this.$x||E.x||{},this[S]=!0}var L=N.prototype;return L.parse=function(E){this.$d=function(U){var F=U.date,B=U.utc;if(F===null)return new Date(NaN);if(D.u(F))return new Date;if(F instanceof Date)return new Date(F);if(typeof F=="string"&&!/Z$/i.test(F)){var _=F.match(w);if(_){var Y=_[2]-1||0,O=(_[7]||"0").substring(0,3);return B?new Date(Date.UTC(_[1],Y,_[3]||1,_[4]||0,_[5]||0,_[6]||0,O)):new Date(_[1],Y,_[3]||1,_[4]||0,_[5]||0,_[6]||0,O)}}return new Date(F)}(E),this.init()},L.init=function(){var E=this.$d;this.$y=E.getFullYear(),this.$M=E.getMonth(),this.$D=E.getDate(),this.$W=E.getDay(),this.$H=E.getHours(),this.$m=E.getMinutes(),this.$s=E.getSeconds(),this.$ms=E.getMilliseconds()},L.$utils=function(){return D},L.isValid=function(){return this.$d.toString()!==A},L.isSame=function(E,U){var F=H(E);return this.startOf(U)<=F&&F<=this.endOf(U)},L.isAfter=function(E,U){return H(E)=N)return Ue(!0)}else for(ge=U,U++;;){if((ge=B.indexOf(R,ge+1))===-1)return Y||ae.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:q.length,index:U}),Te();if(ge===O-1)return Te(B.substring(U,ge).replace(oe,R));if(R!==E||B[ge+1]!==E){if(R===E||ge===0||B[ge-1]!==E){ze!==-1&&ze=N)return Ue(!0);break}ae.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:q.length,index:U}),ge++}}else ge++}return Te();function Pe(Le){q.push(Le),se=U}function Me(Le){var $e=0;if(Le!==-1){var We=B.substring(ge+1,Le);We&&We.trim()===""&&($e=We.length)}return $e}function Te(Le){return Y||(Le===void 0&&(Le=B.substring(U)),ne.push(Le),U=O,Pe(ne),ee&&Oe()),Ue()}function De(Le){U=Le,Pe(ne),ne=[],ye=B.indexOf(D,U)}function Ue(Le){return{data:q,errors:ae,meta:{delimiter:H,linebreak:D,aborted:F,truncated:!!Le,cursor:se+(_||0)}}}function Oe(){W(Ue()),q=[],ae=[]}},this.abort=function(){F=!0},this.getCharIndex=function(){return U}}function C(x){var R=x.data,H=a[R.workerId],D=!1;if(R.error)H.userError(R.error,R.file);else if(R.results&&R.results.data){var k={abort:function(){D=!0,P(R.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:v,resume:v};if(S(H.userStep)){for(var W=0;W1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||jdt,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),o=0;o{this.observers[o]||(this.observers[o]=new Map);const i=this.observers[o].get(n)||0;this.observers[o].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i{let[l,s]=a;for(let c=0;c{let[l,s]=a;for(let c=0;c{t=o,e=i});return n.resolve=t,n.reject=e,n}function pAe(t){return t==null?"":""+t}function Odt(t,e,n){t.forEach(o=>{e[o]&&(n[o]=e[o])})}const _dt=/###/g;function KD(t,e,n){function o(l){return l&&l.indexOf("###")>-1?l.replace(_dt,"."):l}function i(){return!t||typeof t=="string"}const r=typeof e!="string"?e:e.split(".");let a=0;for(;a":">",'"':""","'":"'","/":"/"};function Jdt(t){return typeof t=="string"?t.replace(/[&<>"'\/]/g,e=>Xdt[e]):t}class Kdt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const o=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,o),this.regExpQueue.push(e),o}}const qdt=[" ",",","?","!",";"],$dt=new Kdt(20);function Qdt(t,e,n){e=e||"",n=n||"";const o=qdt.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(o.length===0)return!0;const i=$dt.getRegExp(`(${o.map(a=>a==="?"?"\\?":a).join("|")})`);let r=!i.test(t);if(!r){const a=t.indexOf(n);a>0&&!i.test(t.substring(0,a))&&(r=!0)}return r}function rse(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return t[e];const o=e.split(n);let i=t;for(let r=0;r-1&&s0?t.replace("_","-"):t}class mAe extends PK{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let l;e.indexOf(".")>-1?l=e.split("."):(l=[e,n],o&&(Array.isArray(o)?l.push(...o):typeof o=="string"&&r?l.push(...o.split(r)):l.push(o)));const s=zV(this.data,l);return!s&&!n&&!o&&e.indexOf(".")>-1&&(e=l[0],n=l[1],o=l.slice(2).join(".")),s||!a||typeof o!="string"?s:rse(this.data&&this.data[e]&&this.data[e][n],o,r)}addResource(e,n,o,i){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator;let l=[e,n];o&&(l=l.concat(a?o.split(a):o)),e.indexOf(".")>-1&&(l=e.split("."),i=n,n=l[1]),this.addNamespaces(n),gAe(this.data,l,i),r.silent||this.emit("added",e,n,o,i)}addResources(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const r in o)(typeof o[r]=="string"||Object.prototype.toString.apply(o[r])==="[object Array]")&&this.addResource(e,n,r,o[r],{silent:!0});i.silent||this.emit("added",e,n,o)}addResourceBundle(e,n,o,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},l=[e,n];e.indexOf(".")>-1&&(l=e.split("."),i=o,o=n,n=l[1]),this.addNamespaces(n);let s=zV(this.data,l)||{};a.skipCopy||(o=JSON.parse(JSON.stringify(o))),i?sLe(s,o,r):s={...s,...o},gAe(this.data,l,s),a.silent||this.emit("added",e,n,o)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,n)}:this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var cLe={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,o,i){return t.forEach(r=>{this.processors[r]&&(e=this.processors[r].process(e,n,o,i))}),e}};const yAe={};class EV extends PK{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Odt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=r9.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const o=this.resolve(e,n);return o&&o.res!==void 0}extractFromKey(e,n){let o=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;o===void 0&&(o=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let r=n.ns||this.options.defaultNS||[];const a=o&&e.indexOf(o)>-1,l=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Qdt(e,o,i);if(a&&!l){const s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:r};const c=e.split(o);(o!==i||o===i&&this.options.ns.indexOf(c[0])>-1)&&(r=c.shift()),e=c.join(i)}return typeof r=="string"&&(r=[r]),{key:e,namespaces:r}}translate(e,n,o){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,r=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:l}=this.extractFromKey(e[e.length-1],n),s=l[l.length-1],c=n.lng||this.language,u=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&c.toLowerCase()==="cimode"){if(u){const v=n.nsSeparator||this.options.nsSeparator;return i?{res:`${s}${v}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:s,usedParams:this.getUsedParamsDetails(n)}:`${s}${v}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:s,usedParams:this.getUsedParamsDetails(n)}:a}const d=this.resolve(e,n);let f=d&&d.res;const p=d&&d.usedKey||a,g=d&&d.exactUsedKey||a,A=Object.prototype.toString.apply(f),w=["[object Number]","[object Function]","[object RegExp]"],b=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject;if(C&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&w.indexOf(A)<0&&!(typeof b=="string"&&A==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const v=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,f,{...n,ns:l}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(d.res=v,d.usedParams=this.getUsedParamsDetails(n),d):v}if(r){const v=A==="[object Array]",T=v?[]:{},y=v?g:p;for(const S in f)if(Object.prototype.hasOwnProperty.call(f,S)){const x=`${y}${r}${S}`;T[S]=this.translate(x,{...n,joinArrays:!1,ns:l}),T[S]===x&&(T[S]=f[S])}f=T}}else if(C&&typeof b=="string"&&A==="[object Array]")f=f.join(b),f&&(f=this.extendTranslation(f,e,n,o));else{let v=!1,T=!1;const y=n.count!==void 0&&typeof n.count!="string",S=EV.hasDefaultValue(n),x=y?this.pluralResolver.getSuffix(c,n.count,n):"",R=n.ordinal&&y?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",H=y&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),D=H&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${x}`]||n[`defaultValue${R}`]||n.defaultValue;!this.isValidLookup(f)&&S&&(v=!0,f=D),this.isValidLookup(f)||(T=!0,f=a);const W=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:f,N=S&&D!==f&&this.options.updateMissing;if(T||v||N){if(this.logger.log(N?"updateKey":"missingKey",c,s,a,N?D:f),r){const F=this.resolve(a,{...n,keySeparator:!1});F&&F.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let L=[];const E=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&E&&E[0])for(let F=0;F{const Y=S&&_!==f?_:W;this.options.missingKeyHandler?this.options.missingKeyHandler(F,s,B,Y,N,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(F,s,B,Y,N,n),this.emit("missingKey",F,s,B,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&y?L.forEach(F=>{const B=this.pluralResolver.getSuffixes(F,n);H&&n[`defaultValue${this.options.pluralSeparator}zero`]&&B.indexOf(`${this.options.pluralSeparator}zero`)<0&&B.push(`${this.options.pluralSeparator}zero`),B.forEach(_=>{U([F],a+_,n[`defaultValue${_}`]||D)})}):U(L,a,D))}f=this.extendTranslation(f,e,n,d,o),T&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${s}:${a}`),(T||v)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${a}`:a,v?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d.usedParams=this.getUsedParamsDetails(n),d):f}extendTranslation(e,n,o,i,r){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...o},o.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!o.skipInterpolation){o.interpolation&&this.interpolator.init({...o,interpolation:{...this.options.interpolation,...o.interpolation}});const c=typeof e=="string"&&(o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let u;if(c){const f=e.match(this.interpolator.nestingRegexp);u=f&&f.length}let d=o.replace&&typeof o.replace!="string"?o.replace:o;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),e=this.interpolator.interpolate(e,d,o.lng||this.language,o),c){const f=e.match(this.interpolator.nestingRegexp),p=f&&f.length;u1&&arguments[1]!==void 0?arguments[1]:{},o,i,r,a,l;return typeof e=="string"&&(e=[e]),e.forEach(s=>{if(this.isValidLookup(o))return;const c=this.extractFromKey(s,n),u=c.key;i=u;let d=c.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",p=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),g=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",A=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(w=>{this.isValidLookup(o)||(l=w,!yAe[`${A[0]}-${w}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(l)&&(yAe[`${A[0]}-${w}`]=!0,this.logger.warn(`key "${i}" for languages "${A.join(", ")}" won't get resolved as namespace "${l}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),A.forEach(b=>{if(this.isValidLookup(o))return;a=b;const C=[u];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(C,u,b,w,n);else{let v;f&&(v=this.pluralResolver.getSuffix(b,n.count,n));const T=`${this.options.pluralSeparator}zero`,y=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(C.push(u+v),n.ordinal&&v.indexOf(y)===0&&C.push(u+v.replace(y,this.options.pluralSeparator)),p&&C.push(u+T)),g){const S=`${u}${this.options.contextSeparator}${n.context}`;C.push(S),f&&(C.push(S+v),n.ordinal&&v.indexOf(y)===0&&C.push(S+v.replace(y,this.options.pluralSeparator)),p&&C.push(S+T))}}let P;for(;P=C.pop();)this.isValidLookup(o)||(r=P,o=this.getResource(b,w,P,n))}))})}),{res:o,usedKey:i,exactUsedKey:r,usedLng:a,usedNS:l}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,n,o,i):this.resourceStore.getResource(e,n,o,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],o=e.replace&&typeof e.replace!="string";let i=o?e.replace:e;if(o&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!o){i={...i};for(const r of n)delete i[r]}return i}static hasDefaultValue(e){const n="defaultValue";for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&n===o.substring(0,n.length)&&e[o]!==void 0)return!0;return!1}}function Jne(t){return t.charAt(0).toUpperCase()+t.slice(1)}class AAe{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=r9.create("languageUtils")}getScriptPartFromCode(e){if(e=DV(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=DV(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(typeof e=="string"&&e.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let o=e.split("-");return this.options.lowerCaseLng?o=o.map(i=>i.toLowerCase()):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),n.indexOf(o[1].toLowerCase())>-1&&(o[1]=Jne(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),n.indexOf(o[1].toLowerCase())>-1&&(o[1]=Jne(o[1].toLowerCase())),n.indexOf(o[2].toLowerCase())>-1&&(o[2]=Jne(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(o=>{if(n)return;const i=this.formatLanguageCode(o);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(o=>{if(n)return;const i=this.getLanguagePartFromCode(o);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(r=>{if(r===i)return r;if(!(r.indexOf("-")<0&&i.indexOf("-")<0)&&(r.indexOf("-")>0&&i.indexOf("-")<0&&r.substring(0,r.indexOf("-"))===i||r.indexOf(i)===0&&i.length>1))return r})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),typeof e=="string"&&(e=[e]),Object.prototype.toString.apply(e)==="[object Array]")return e;if(!n)return e.default||[];let o=e[n];return o||(o=e[this.getScriptPartFromCode(n)]),o||(o=e[this.formatLanguageCode(n)]),o||(o=e[this.getLanguagePartFromCode(n)]),o||(o=e.default),o||[]}toResolveHierarchy(e,n){const o=this.getFallbackCodes(n||this.options.fallbackLng||[],e),i=[],r=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return typeof e=="string"&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&r(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&r(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&r(this.getLanguagePartFromCode(e))):typeof e=="string"&&r(this.formatLanguageCode(e)),o.forEach(a=>{i.indexOf(a)<0&&r(this.formatLanguageCode(a))}),i}}let Zdt=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],eft={1:function(t){return+(t>1)},2:function(t){return+(t!=1)},3:function(t){return 0},4:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},5:function(t){return t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},6:function(t){return t==1?0:t>=2&&t<=4?1:2},7:function(t){return t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},8:function(t){return t==1?0:t==2?1:t!=8&&t!=11?2:3},9:function(t){return+(t>=2)},10:function(t){return t==1?0:t==2?1:t<7?2:t<11?3:4},11:function(t){return t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3},12:function(t){return+(t%10!=1||t%100==11)},13:function(t){return+(t!==0)},14:function(t){return t==1?0:t==2?1:t==3?2:3},15:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2},16:function(t){return t%10==1&&t%100!=11?0:t!==0?1:2},17:function(t){return t==1||t%10==1&&t%100!=11?0:1},18:function(t){return t==0?0:t==1?1:2},19:function(t){return t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3},20:function(t){return t==1?0:t==0||t%100>0&&t%100<20?1:2},21:function(t){return t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0},22:function(t){return t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3}};const tft=["v1","v2","v3"],nft=["v4"],wAe={zero:0,one:1,two:2,few:3,many:4,other:5};function oft(){const t={};return Zdt.forEach(e=>{e.lngs.forEach(n=>{t[n]={numbers:e.nr,plurals:eft[e.fc]}})}),t}class ift{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=r9.create("pluralResolver"),(!this.options.compatibilityJSON||nft.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=oft()}addRule(e,n){this.rules[e]=n}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(DV(e==="dev"?"en":e),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const o=this.getRule(e,n);return this.shouldUseIntlApi()?o&&o.resolvedOptions().pluralCategories.length>1:o&&o.numbers.length>1}getPluralFormsOfKey(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,o).map(i=>`${n}${i}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const o=this.getRule(e,n);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort((i,r)=>wAe[i]-wAe[r]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):o.numbers.map(i=>this.getSuffix(e,i,n)):[]}getSuffix(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,o);return i?this.shouldUseIntlApi()?`${this.options.prepend}${o.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,n){const o=e.noAbs?e.plurals(n):e.plurals(Math.abs(n));let i=e.numbers[o];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const r=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:r():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?r():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}shouldUseIntlApi(){return!tft.includes(this.options.compatibilityJSON)}}function vAe(t,e,n){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,r=Gdt(t,e,n);return!r&&i&&typeof n=="string"&&(r=rse(t,n,o),r===void 0&&(r=rse(e,n,o))),r}class rft{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=r9.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(n=>n),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const n=e.interpolation;this.escape=n.escape!==void 0?n.escape:Jdt,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?GS(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?GS(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?GS(n.nestingPrefix):n.nestingPrefixEscaped||GS("$t("),this.nestingSuffix=n.nestingSuffix?GS(n.nestingSuffix):n.nestingSuffixEscaped||GS(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,o)=>n&&n.source===o?(n.lastIndex=0,n):new RegExp(o,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,n,o,i){let r,a,l;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(g){return g.replace(/\$/g,"$$$$")}const u=g=>{if(g.indexOf(this.formatSeparator)<0){const C=vAe(n,s,g,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(C,void 0,o,{...i,...n,interpolationkey:g}):C}const A=g.split(this.formatSeparator),w=A.shift().trim(),b=A.join(this.formatSeparator).trim();return this.format(vAe(n,s,w,this.options.keySeparator,this.options.ignoreJSONStructure),b,o,{...i,...n,interpolationkey:w})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:g=>c(g)},{regex:this.regexp,safeValue:g=>this.escapeValue?c(this.escape(g)):c(g)}].forEach(g=>{for(l=0;r=g.regex.exec(e);){const A=r[1].trim();if(a=u(A),a===void 0)if(typeof d=="function"){const b=d(e,r,i);a=typeof b=="string"?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,A))a="";else if(f){a=r[0];continue}else this.logger.warn(`missed to pass in variable ${A} for interpolating ${e}`),a="";else typeof a!="string"&&!this.useRawValueToEscape&&(a=pAe(a));const w=g.safeValue(a);if(e=e.replace(r[0],w),f?(g.regex.lastIndex+=a.length,g.regex.lastIndex-=r[0].length):g.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),e}nest(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,r,a;function l(s,c){const u=this.nestingOptionsSeparator;if(s.indexOf(u)<0)return s;const d=s.split(new RegExp(`${u}[ ]*{`));let f=`{${d[1]}`;s=d[0],f=this.interpolate(f,a);const p=f.match(/'/g),g=f.match(/"/g);(p&&p.length%2===0&&!g||g.length%2!==0)&&(f=f.replace(/'/g,'"'));try{a=JSON.parse(f),c&&(a={...c,...a})}catch(A){return this.logger.warn(`failed parsing options string in nesting for key ${s}`,A),`${s}${u}${f}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,s}for(;i=this.nestingRegexp.exec(e);){let s=[];a={...o},a=a.replace&&typeof a.replace!="string"?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const u=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=u.shift(),s=u,c=!0}if(r=n(l.call(this,i[1].trim(),a),a),r&&i[0]===e&&typeof r!="string")return r;typeof r!="string"&&(r=pAe(r)),r||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),r=""),c&&(r=s.reduce((u,d)=>this.format(u,d,o.lng,{...o,interpolationkey:i[1].trim()}),r.trim())),e=e.replace(i[0],r),this.regexp.lastIndex=0}return e}}function aft(t){let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const o=t.split("(");e=o[0].toLowerCase().trim();const i=o[1].substring(0,o[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(!a)return;const[l,...s]=a.split(":"),c=s.join(":").trim().replace(/^'+|'+$/g,"");n[l.trim()]||(n[l.trim()]=c),c==="false"&&(n[l.trim()]=!1),c==="true"&&(n[l.trim()]=!0),isNaN(c)||(n[l.trim()]=parseInt(c,10))})}return{formatName:e,formatOptions:n}}function XS(t){const e={};return function(o,i,r){const a=i+JSON.stringify(r);let l=e[a];return l||(l=t(DV(i),r),e[a]=l),l(o)}}class lft{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=r9.create("formatter"),this.options=e,this.formats={number:XS((n,o)=>{const i=new Intl.NumberFormat(n,{...o});return r=>i.format(r)}),currency:XS((n,o)=>{const i=new Intl.NumberFormat(n,{...o,style:"currency"});return r=>i.format(r)}),datetime:XS((n,o)=>{const i=new Intl.DateTimeFormat(n,{...o});return r=>i.format(r)}),relativetime:XS((n,o)=>{const i=new Intl.RelativeTimeFormat(n,{...o});return r=>i.format(r,o.range||"day")}),list:XS((n,o)=>{const i=new Intl.ListFormat(n,{...o});return r=>i.format(r)})},this.init(e)}init(e){const o=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=o.formatSeparator?o.formatSeparator:o.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=XS(n)}format(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((l,s)=>{const{formatName:c,formatOptions:u}=aft(s);if(this.formats[c]){let d=l;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},p=f.locale||f.lng||i.locale||i.lng||o;d=this.formats[c](l,p,{...u,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${c}`);return l},e)}}function sft(t,e){t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)}class cft extends PK{constructor(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=o,this.languageUtils=o.languageUtils,this.options=i,this.logger=r9.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(o,i.backend,i)}queueLoad(e,n,o,i){const r={},a={},l={},s={};return e.forEach(c=>{let u=!0;n.forEach(d=>{const f=`${c}|${d}`;!o.reload&&this.store.hasResourceBundle(c,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?a[f]===void 0&&(a[f]=!0):(this.state[f]=1,u=!1,a[f]===void 0&&(a[f]=!0),r[f]===void 0&&(r[f]=!0),s[d]===void 0&&(s[d]=!0)))}),u||(l[c]=!0)}),(Object.keys(r).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(r),pending:Object.keys(a),toLoadLanguages:Object.keys(l),toLoadNamespaces:Object.keys(s)}}loaded(e,n,o){const i=e.split("|"),r=i[0],a=i[1];n&&this.emit("failedLoading",r,a,n),o&&this.store.addResourceBundle(r,a,o,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2;const l={};this.queue.forEach(s=>{Vdt(s.loaded,[r],a),sft(s,e),n&&s.errors.push(n),s.pendingCount===0&&!s.done&&(Object.keys(s.loaded).forEach(c=>{l[c]||(l[c]={});const u=s.loaded[c];u.length&&u.forEach(d=>{l[c][d]===void 0&&(l[c][d]=!0)})}),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())}),this.emit("loaded",l),this.queue=this.queue.filter(s=>!s.done)}read(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:o,tried:i,wait:r,callback:a});return}this.readingCalls++;const l=(c,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(c&&u&&i{this.read.call(this,e,n,o,i+1,r*2,a)},r);return}a(c,u)},s=this.backend[o].bind(this.backend);if(s.length===2){try{const c=s(e,n);c&&typeof c.then=="function"?c.then(u=>l(null,u)).catch(l):l(null,c)}catch(c){l(c)}return}return s(e,n,l)}prepareLoading(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof e=="string"&&(e=this.languageUtils.toResolveHierarchy(e)),typeof n=="string"&&(n=[n]);const r=this.queueLoad(e,n,o,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,o){this.prepareLoading(e,n,{},o)}reload(e,n,o){this.prepareLoading(e,n,{reload:!0},o)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const o=e.split("|"),i=o[0],r=o[1];this.read(i,r,"read",void 0,void 0,(a,l)=>{a&&this.logger.warn(`${n}loading namespace ${r} for language ${i} failed`,a),!a&&l&&this.logger.log(`${n}loaded namespace ${r} for language ${i}`,l),this.loaded(e,a,l)})}saveMissing(e,n,o,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${o}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(o==null||o==="")){if(this.backend&&this.backend.create){const s={...a,isUpdate:r},c=this.backend.create.bind(this.backend);if(c.length<6)try{let u;c.length===5?u=c(e,n,o,i,s):u=c(e,n,o,i),u&&typeof u.then=="function"?u.then(d=>l(null,d)).catch(l):l(null,u)}catch(u){l(u)}else c(e,n,o,i,l,s)}!e||!e[0]||this.store.addResource(e[0],n,o,i)}}}function xAe(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let n={};if(typeof e[1]=="object"&&(n=e[1]),typeof e[1]=="string"&&(n.defaultValue=e[1]),typeof e[2]=="string"&&(n.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const o=e[3]||e[2];Object.keys(o).forEach(i=>{n[i]=o[i]})}return n},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function bAe(t){return typeof t.ns=="string"&&(t.ns=[t.ns]),typeof t.fallbackLng=="string"&&(t.fallbackLng=[t.fallbackLng]),typeof t.fallbackNS=="string"&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&t.supportedLngs.indexOf("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t}function KB(){}function uft(t){Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})}class ak extends PK{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=bAe(e),this.services={},this.logger=r9,this.modules={external:[]},uft(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(o=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=xAe();this.options={...i,...this.options,...bAe(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function r(u){return u?typeof u=="function"?new u:u:null}if(!this.options.isClone){this.modules.logger?r9.init(r(this.modules.logger),this.options):r9.init(null,this.options);let u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=lft);const d=new AAe(this.options);this.store=new mAe(this.options.resources,this.options);const f=this.services;f.logger=r9,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new ift(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=r(u),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new rft(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new cft(r(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(p){for(var g=arguments.length,A=new Array(g>1?g-1:0),w=1;w1?g-1:0),w=1;w{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,o||(o=KB),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.length>0&&u[0]!=="dev"&&(this.options.lng=u[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(u=>{this[u]=function(){return e.store[u](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(u=>{this[u]=function(){return e.store[u](...arguments),e}});const s=ez(),c=()=>{const u=(d,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(f),o(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return u(null,this.t.bind(this));this.changeLanguage(this.options.lng,u)};return this.options.resources||!this.options.initImmediate?c():setTimeout(c,0),s}loadResources(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:KB;const i=typeof e=="string"?e:this.language;if(typeof e=="function"&&(o=e),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return o();const r=[],a=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(c=>{c!=="cimode"&&r.indexOf(c)<0&&r.push(c)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(s=>a(s)),this.options.preload&&this.options.preload.forEach(l=>a(l)),this.services.backendConnector.load(r,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),o(l)})}else o(null)}reloadResources(e,n,o){const i=ez();return e||(e=this.languages),n||(n=this.options.ns),o||(o=KB),this.services.backendConnector.reload(e,n,r=>{i.resolve(),o(r)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&cLe.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(o)){this.resolvedLanguage=o;break}}}changeLanguage(e,n){var o=this;this.isLanguageChangingTo=e;const i=ez();this.emit("languageChanging",e);const r=s=>{this.language=s,this.languages=this.services.languageUtils.toResolveHierarchy(s),this.resolvedLanguage=void 0,this.setResolvedLanguage(s)},a=(s,c)=>{c?(r(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,i.resolve(function(){return o.t(...arguments)}),n&&n(s,function(){return o.t(...arguments)})},l=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);const c=typeof s=="string"?s:this.services.languageUtils.getBestMatchFromCodes(s);c&&(this.language||r(c),this.translator.language||this.translator.changeLanguage(c),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(c)),this.loadResources(c,u=>{a(u,c)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e),i}getFixedT(e,n,o){var i=this;const r=function(a,l){let s;if(typeof l!="object"){for(var c=arguments.length,u=new Array(c>2?c-2:0),d=2;d`${s.keyPrefix}${f}${g}`):p=s.keyPrefix?`${s.keyPrefix}${f}${a}`:a,i.t(p,s)};return typeof e=="string"?r.lng=e:r.lngs=e,r.ns=n,r.keyPrefix=o,r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const o=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,r=this.languages[this.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const a=(l,s)=>{const c=this.services.backendConnector.state[`${l}|${s}`];return c===-1||c===2};if(n.precheck){const l=n.precheck(this,a);if(l!==void 0)return l}return!!(this.hasResourceBundle(o,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(o,e)&&(!i||a(r,e)))}loadNamespaces(e,n){const o=ez();return this.options.ns?(typeof e=="string"&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{o.resolve(),n&&n(i)}),o):(n&&n(),Promise.resolve())}loadLanguages(e,n){const o=ez();typeof e=="string"&&(e=[e]);const i=this.options.preload||[],r=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return r.length?(this.options.preload=i.concat(r),this.loadResources(a=>{o.resolve(),n&&n(a)}),o):(n&&n(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],o=this.services&&this.services.languageUtils||new AAe(xAe());return n.indexOf(o.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new ak(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:KB;const o=e.forkResourceStore;o&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},r=new ak(i);return(e.debug!==void 0||e.prefix!==void 0)&&(r.logger=r.logger.clone(e)),["store","services","language"].forEach(l=>{r[l]=this[l]}),r.services={...this.services},r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},o&&(r.store=new mAe(this.store.data,i),r.services.resourceStore=r.store),r.translator=new EV(r.services,i),r.translator.on("*",function(l){for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u()=>{if(t.isInitialized)e();else{const n=()=>{setTimeout(()=>{t.off("initialized",n)},0),e()};t.on("initialized",n)}};function TAe(t,e,n){t.loadNamespaces(e,uLe(t,n))}function PAe(t,e,n,o){typeof n=="string"&&(n=[n]),n.forEach(i=>{t.options.ns.indexOf(i)<0&&t.options.ns.push(i)}),t.loadLanguages(e,uLe(t,o))}function fft(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=e.languages[0],i=e.options?e.options.fallbackLng:!1,r=e.languages[e.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const a=(l,s)=>{const c=e.services.backendConnector.state[`${l}|${s}`];return c===-1||c===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!a(e.isLanguageChangingTo,t)?!1:!!(e.hasResourceBundle(o,t)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||a(o,t)&&(!i||a(r,t)))}function hft(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!e.languages||!e.languages.length?(ase("i18n.languages were undefined or empty",e.languages),!0):e.options.ignoreJSONStructure!==void 0?e.hasLoadedNamespace(t,{lng:n.lng,precheck:(i,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!r(i.isLanguageChangingTo,t))return!1}}):fft(t,e,n)}const pft=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,gft={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},mft=t=>gft[t],yft=t=>t.replace(pft,mft);let lse={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:yft};function Aft(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};lse={...lse,...t}}function wft(){return lse}let dLe;function vft(t){dLe=t}function xft(){return dLe}const bft={type:"3rdParty",init(t){Aft(t.options.react),vft(t)}},Sft=m.createContext();class Tft{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Pft=(t,e)=>{const n=m.useRef();return m.useEffect(()=>{n.current=t},[t,e]),n.current};function jl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=e,{i18n:o,defaultNS:i}=m.useContext(Sft)||{},r=n||o||xft();if(r&&!r.reportNamespaces&&(r.reportNamespaces=new Tft),!r){ase("You will need to pass in an i18next instance by using initReactI18next");const P=(T,y)=>typeof y=="string"?y:y&&typeof y=="object"&&typeof y.defaultValue=="string"?y.defaultValue:Array.isArray(T)?T[T.length-1]:T,v=[P,{},!1];return v.t=P,v.i18n={},v.ready=!1,v}r.options.react&&r.options.react.wait!==void 0&&ase("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...wft(),...r.options.react,...e},{useSuspense:l,keyPrefix:s}=a;let c=i||r.options&&r.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],r.reportNamespaces.addUsedNamespaces&&r.reportNamespaces.addUsedNamespaces(c);const u=(r.isInitialized||r.initializedStoreOnce)&&c.every(P=>hft(P,r,a));function d(){return r.getFixedT(e.lng||null,a.nsMode==="fallback"?c:c[0],s)}const[f,p]=m.useState(d);let g=c.join();e.lng&&(g=`${e.lng}${g}`);const A=Pft(g),w=m.useRef(!0);m.useEffect(()=>{const{bindI18n:P,bindI18nStore:v}=a;w.current=!0,!u&&!l&&(e.lng?PAe(r,e.lng,c,()=>{w.current&&p(d)}):TAe(r,c,()=>{w.current&&p(d)})),u&&A&&A!==g&&w.current&&p(d);function T(){w.current&&p(d)}return P&&r&&r.on(P,T),v&&r&&r.store.on(v,T),()=>{w.current=!1,P&&r&&P.split(" ").forEach(y=>r.off(y,T)),v&&r&&v.split(" ").forEach(y=>r.store.off(y,T))}},[r,g]);const b=m.useRef(!0);m.useEffect(()=>{w.current&&!b.current&&p(d),b.current=!1},[r,s]);const C=[f,r,u];if(C.t=f,C.i18n=r,C.ready=u,u||!u&&!l)return C;throw new Promise(P=>{e.lng?PAe(r,e.lng,c,()=>P()):TAe(r,c,()=>P())})}function Cft(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lk(t){"@babel/helpers - typeof";return lk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lk(t)}function Rft(t,e){if(lk(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(lk(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Hft(t){var e=Rft(t,"string");return lk(e)==="symbol"?e:String(e)}function Mft(t,e){for(var n=0;n0){var l=i.maxAge-0;if(Number.isNaN(l))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(l))}if(i.domain){if(!CAe.test(i.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(i.domain)}if(i.path){if(!CAe.test(i.path))throw new TypeError("option path is invalid");a+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(a+="; HttpOnly"),i.secure&&(a+="; Secure"),i.sameSite){var s=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(s){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},RAe={create:function(e,n,o,i){var r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};o&&(r.expires=new Date,r.expires.setTime(r.expires.getTime()+o*60*1e3)),i&&(r.domain=i),document.cookie=kft(e,encodeURIComponent(n),r)},read:function(e){for(var n="".concat(e,"="),o=document.cookie.split(";"),i=0;i-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=o.substring(1),r=i.split("&"),a=0;a0){var s=r[a].substring(0,l);s===e.lookupQuerystring&&(n=r[a].substring(l+1))}}}return n}},tz=null,HAe=function(){if(tz!==null)return tz;try{tz=window!=="undefined"&&window.localStorage!==null;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{tz=!1}return tz},Wft={name:"localStorage",lookup:function(e){var n;if(e.lookupLocalStorage&&HAe()){var o=window.localStorage.getItem(e.lookupLocalStorage);o&&(n=o)}return n},cacheUserLanguage:function(e,n){n.lookupLocalStorage&&HAe()&&window.localStorage.setItem(n.lookupLocalStorage,e)}},nz=null,MAe=function(){if(nz!==null)return nz;try{nz=window!=="undefined"&&window.sessionStorage!==null;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{nz=!1}return nz},Nft={name:"sessionStorage",lookup:function(e){var n;if(e.lookupSessionStorage&&MAe()){var o=window.sessionStorage.getItem(e.lookupSessionStorage);o&&(n=o)}return n},cacheUserLanguage:function(e,n){n.lookupSessionStorage&&MAe()&&window.sessionStorage.setItem(n.lookupSessionStorage,e)}},Uft={name:"navigator",lookup:function(e){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var o=0;o0?n:void 0}},Bft={name:"htmlTag",lookup:function(e){var n,o=e.htmlTag||(typeof document<"u"?document.documentElement:null);return o&&typeof o.getAttribute=="function"&&(n=o.getAttribute("lang")),n}},jft={name:"path",lookup:function(e){var n;if(typeof window<"u"){var o=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(o instanceof Array)if(typeof e.lookupFromPathIndex=="number"){if(typeof o[e.lookupFromPathIndex]!="string")return;n=o[e.lookupFromPathIndex].replace("/","")}else n=o[0].replace("/","")}return n}},Yft={name:"subdomain",lookup:function(e){var n=typeof e.lookupFromSubdomainIndex=="number"?e.lookupFromSubdomainIndex+1:1,o=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(o)return o[n]}};function Oft(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}}var hLe=function(){function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Cft(this,t),this.type="languageDetector",this.detectors={},this.init(e,n)}return Ift(t,[{key:"init",value:function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n||{languageUtils:{}},this.options=Eft(o,this.options||{},Oft()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(r){return r.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(Fft),this.addDetector(Lft),this.addDetector(Wft),this.addDetector(Nft),this.addDetector(Uft),this.addDetector(Bft),this.addDetector(jft),this.addDetector(Yft)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var o=this;n||(n=this.options.order);var i=[];return n.forEach(function(r){if(o.detectors[r]){var a=o.detectors[r].lookup(o.options);a&&typeof a=="string"&&(a=[a]),a&&(i=i.concat(a))}}),i=i.map(function(r){return o.options.convertDetectedLanguage(r)}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,o){var i=this;o||(o=this.options.caches),o&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||o.forEach(function(r){i.detectors[r]&&i.detectors[r].cacheUserLanguage(n,i.options)}))}}]),t}();hLe.type="languageDetector";const _ft={translation:{name:{IFI:"Institute for Future Intelligence",Aladdin:"Aladdin",Tagline:"Aladdin: Reimagining Design with Explainable AI — Institute for Future Intelligence"},cookie:{Statement:"By clicking Accept, you agree to our use of cookies to improve your experience with Aladdin.",Accept:"Accept"},aboutUs:{ProductBroughtToYouBy:"This product is brought to you by",TermsOfService:"Terms of Service",PrivacyPolicy:"Privacy Policy",Software:"Software",Content:"Content",Research:"Research",Support:"Support",Acknowledgment:"Acknowledgment",FundingInformation:"The National Science Foundation (NSF) generously provided funding for the research and development of this product through grants #2105695, #2131097, and #2301164. Any opinions, findings, and conclusions or recommendations expressed in this product, however, are those of the authors and do not necessarily reflect the views of NSF.",Contact:"For more information, please contact Charles Xie (charles@intofuture.org).",Translators:"Translators"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"All Rights Reserved",MeterAbbreviation:"m",Version:"Version",VersionInitial:"V",Options:"Options",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Maximum Number",MinimumNumber:"Minimum Number",MaximumValue:"Maximum Value",MinimumValue:"Minimum Value",Or:"Or",None:"None",High:"High",Partial:"Partial",Teacher:"Teacher",Class:"Class",Total:"Total",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Range",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. -AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Press",Open:"Open",Save:"Save",SaveAsImage:"Save as Image",SaveAsCsv:"Save as CSV",Update:"Update",Paste:"Paste",Copy:"Copy",Cut:"Cut",Delete:"Delete",Lock:"Lock",Translucent:"Translucent",Color:"Color",Pattern:"Pattern",Texture:"Texture",Size:"Size",Thickness:"Thickness",Yes:"Yes",No:"No",OK:"OK",Cancel:"Cancel",Apply:"Apply",Close:"Close",ApplyTo:"Apply to",Run:"Run",Pause:"Pause",Resume:"Resume",Clear:"Clear",Warning:"Warning",Caution:"Caution",Reminder:"Reminder",Length:"Length",Width:"Width",Height:"Height",Radius:"Radius",Angle:"Angle",Azimuth:"Azimuth",Coordinates:"Coordinates",Weather:"Weather",Show:"Show",Animate:"Animate",Date:"Date",Time:"Time",Title:"Title",Owner:"Owner",Action:"Action",Rename:"Rename",Location:"Location",Latitude:"Latitude",Month:"Month",Day:"Day",Hour:"Hour",Daylight:"Daylight",Radiation:"Radiation",Temperature:"Temperature",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"W",Fixed:"Fixed",Elements:"Elements",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"No Texture",FoundationElement:"Foundation",CuboidElement:"Cuboid",PolygonElement:"Polygon",SensorElement:"Sensor",SolarPanelElement:"Solar Panel",WaterHeaterElement:"Water Heater",ParabolicDishElement:"Parabolic Dish",ParabolicTroughElement:"Parabolic Trough",FresnelReflectorElement:"Fresnel Reflector",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Locked",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Cannot sign in",CannotSignOut:"Cannot sign out",YourAccountWasCreated:"Your account was created.",CannotCreateAccount:"Cannot create an account",YourAccountSettingsWereSaved:"Your account settings were saved.",CannotSaveYourAccountSettings:"Cannot save your account settings",CannotSaveYourFileToCloud:"Cannot save your file to the cloud",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"The cloud file was not found",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Cannot open the cloud file",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Cannot open your cloud folder",CannotDeleteCloudFile:"Cannot delete the cloud file",CannotRenameCloudFile:"Cannot rename the cloud file",DoYouWantToSaveChanges:"Do you want to save changes?",NotApplicableToSelectedAction:"Not Applicable to Selected Action",ThisElementIsLocked:"This element is locked.",ThisCannotBeUndone:"This cannot be undone.",AzimuthOfNorthIsZero:"Azimuth of north is 0°",CounterclockwiseAzimuthIsPositive:"Counter-clockwise is positive",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Move cancelled because of overlap.",MoveOutsideBoundaryCancelled:"Move outside the boundary cancelled.",RotationCancelledBecauseOfOverlap:"Rotation cancelled because of overlap.",RotationOutsideBoundaryCancelled:"Rotation outside the boundary cancelled.",ResizingCancelledBecauseOfOverlap:"Resizing cancelled because of overlap.",ResizingOutsideBoundaryCancelled:"Resizing outside the boundary cancelled.",CannotPasteOutsideBoundary:"Cannot paste outside the boundary.",CannotPasteBecauseOfOverlap:"Cannot paste because of overlap.",CannotMoveObjectTooFar:"Cannot move object too far.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Existing solar panels will be removed before applying the new layout.",DoYouWantToContinue:"Do you want to continue?",SolarPanelsCannotIntersectWithGround:"Solar panels cannot intersect with the ground.",SolarPanelsCannotOverlapWithOneAnother:"Solar panels cannot overlap with one another.",ScreenshotSaved:"A screenshot was saved.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simulation started.",SimulationCompleted:"Simulation completed.",SimulationAborted:"Simulation aborted.",SimulationPaused:"Simulation paused.",CancelSimulation:"Cancel simulation",PauseSimulation:"Pause simulation",ResumeSimulation:"Resume simulation",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evolution started.",EvolutionCompleted:"Evolution completed.",EvolutionAborted:"Evolution aborted.",EvolutionPaused:"Evolution paused.",EncounterEvolutionError:"Encountered an evolution error.",CancelEvolution:"Cancel evolution",PauseEvolution:"Pause evolution",ResumeEvolution:"Resume evolution",ConvergenceThresholdHasBeenReached:"The convergence threshold has been reached.",MaximumNumberOfGenerationsHasBeenReached:"The maximum number of generations has been reached.",MaximumNumberOfStepsHasBeenReached:"The maximum number of steps has been reached.",ObjectiveFunctionTypeError:"The current objective function is not supported by this operation. Please start from the menu.",WallsAreNotAtSameHeight:"Walls are not at the same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analysis Options",option:{GridCellSize:"Grid Cell Size",SamplingFrequency:"Sampling Frequency",TimesPerHour:"Times per Hour",DaysPerYear:"Days per Year"},mainMenu:"Main Menu",cloudMenu:"Cloud Menu",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"File",file:{CreateNewFile:"Create New File",OpenLocalFile:"Open Local File",SaveAsLocalFile:"Save as Local File",SavingAbortedMustHaveValidFileName:"Saving aborted! You must have a valid file name",OpenCloudFile:"Open Cloud File",SaveCloudFile:"Save Cloud File",SaveAsCloudFile:"Save as Cloud File",SavingAbortedMustHaveValidTitle:"Saving aborted! You must have a valid title for a cloud file",ToSaveYourWorkPleaseSignIn:"To save your work, please sign in.",TakeScreenshot:"Take Screenshot",UseCloudFileName:"Use Cloud File Name",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Edit",edit:{Undo:"Undo",Redo:"Redo"},viewSubMenu:"View",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D View",ResetView:"Reset",ZoomIn:"Zoom In",ZoomOut:"Zoom Out",AutoRotate:"Auto Rotate",ShowShadow:"Show Shadow",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Translucent Floating Windows",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Site Information",DesignInformation:"Design Information",Instruction:"Instruction",StickyNote:"Sticky Note",Note:"Note"}},settingsSubMenu:"Settings",settings:{WeatherData:"Weather Data",DiurnalTemperature:"Diurnal Temperature",Heliodon:"Heliodon",SunAndTime:"Sun & Time"},benchmarksSubMenu:"Benchmarks",benchmarks:{SolarRadiationPredictionVsMeasurement:"Solar Radiation Prediction vs. Measurement",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Line Width",SymbolSize:"Symbol Size",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Show Horizontal Grid Lines",ShowVerticalGridLines:"Show Vertical Grid Lines"},analysisSubMenu:"Analysis",physicsSubMenu:"Physics",physics:{DailySolarRadiationHeatmap:"Daily Solar Radiation Heatmap",SolarRadiationHeatmapOptions:"Solar Radiation Heatmap Options",SolarRadiationHeatmapGridCellSize:"Solar Radiation Heatmap Grid Cell Size",SolarRadiationHeatmapMaxValue:"Solar Radiation Heatmap Maximum Value",SolarRadiationHeatmapNoAnimation:"No Animation for Static Model",ReflectionHeatmap:"Reflection Heatmap"},sensorSubMenu:"Sensor",sensor:{CollectDailyData:"Collect Daily Data",CollectYearlyData:"Collect Yearly Data",SensorSimulationNoAnimation:"No Animation for Collecting Sensor Data"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Solar Panel",solarPanel:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",AnalyzeVisibility:"Analyze Visibility",PanelDiscretization:"Panel Discretization",Exact:"Exact",Approximate:"Approximate",EnergyGridCellSize:"Energy Grid Cell Size",VisibilityGridCellSize:"View Factor Grid Cell Size",EnergyAnalysisOptions:"Energy Analysis Options",VisibilityAnalysisOptions:"Visibility Analysis Options",SolarPanelSimulationNoAnimation:"No Animation for Solar Panel Simulation"},parabolicTroughSubMenu:"Parabolic Trough",parabolicTrough:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},parabolicDishSubMenu:"Parabolic Dish",parabolicDish:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},fresnelReflectorSubMenu:"Fresnel Reflector",fresnelReflector:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},solarUpdraftTowerSubMenu:"Solar Updraft Tower",solarUpdraftTower:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",SolarUpdraftTowerSimulationNoAnimation:"No Animation for Solar Updraft Tower Simulation"},tutorialsSubMenu:"Tutorials",solarEnergyScienceSubMenu:"Solar Science",solarEnergyScienceTutorials:{SunAngles:"Sun Angles Relative to an Observer on the Ground",InsolationAndClimate:"Insolation and Climate",SolarRadiationToBox:"Solar Radiation to a Box"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Building Design",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Cape Cod Style House with Shed Dormer",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Gable Roof vs. Hip Roof",ColonialVsSaltbox:"Colonial vs. Saltbox",GambrelRoofVsMansardRoof:"Gambrel Roof vs. Mansard Roof",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"All Basic Roof Types"},photovoltaicSolarPowerSubMenu:"Photovoltaic Solar Power",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Effect of Tilt Angle of a Solar Panel",EffectOfAzimuthOfSolarPanel:"Effect of Azimuth of a Solar Panel",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Solar Trackers",CoveringGroundWithSolarPanels:"Why Just Covering the Ground with Solar Panels is not a Good Idea",InterRowSpacingOfSolarPanelArray:"Effect of Inter-Row Spacing in a Solar Panel Array",EffectOfOrientationOfSolarPanels:"Effect of Orientation of Solar Panels",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Concentrated Solar Power",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Effect of Azimuth of a Parabolic Trough",EffectOfLatusRectumOfParabolicTrough:"Effect of Latus Rectum of a Parabolic Trough",FocusSunlightWithParabolicDish:"Focus Sunlight with a Parabolic Dish",LinearFresnelReflectors:"Linear Fresnel Reflectors",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Effect of Absorber Pipe Height for Linear Fresnel Reflectors",EffectOfAzimuthOfLinearFresnelReflectors:"Effect of Azimuth of Linear Fresnel Reflectors",LinearFresnelReflectorsWithTwoAbsorbers:"Linear Fresnel Reflectors with Two Absorbers",CosineEfficiencyOfHeliostats:"Cosine Efficiency of Heliostats",ShadowingAndBlockingOfHeliostats:"Shadowing and Blocking of Heliostats",EffectSolarPowerTowerHeight:"Effect of Solar Power Tower Height",SolarPowerTower:"Solar Power Tower"},otherTypesOfSolarPowerSubMenu:"Other Types of Solar Power",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Tower"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Examples",solarEnergySubMenu:"Solar Energy",solarEnergyExamples:{SunBeamAndHeliodon:"Sun Beam and Heliodon",RooftopSolarPanels:"Rooftop Solar Panels",NevadaSolarOneParabolicTroughArray:"Nevada Solar One Parabolic Trough Array",TooeleParabolicDishArray:"Tooele Parabolic Dish Array",PS10SolarPowerTower:"PS10 Solar Power Tower",TucsonLinearFresnelReflectors:"Tucson Linear Fresnel Reflectors",SolarCanopyFormFactors:"Solar Canopy Form Factors",SolarCanopyOverBleachers:"Solar Canopy Over Bleachers",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Bus Stop",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Vegetative Buffer",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Hypothetical Solar Panels Over Canal in Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Hypothetical Solar Noise Barrier in Lexington, MA",HSATSolarTrackersRaleighNC:"Horizontal Single Axis Trackers (HSAT) in Raleigh, NC",AADATSolarTrackersLancasterCA:"Azimuth–Altitude Dual Axis Trackers (AADAT) in Lancaster, CA",SolarUpdraftTowerInCity:"Solar Updraft Tower in City"},builtEnvironmentSubMenu:"Built Environment",residentialBuildingsSubMenu:"Residential Buildings",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Dutch Colonial House",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solarium",Church1:"Church 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Barn Style House",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Commercial Buildings",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"BILIM, Mersin, Turkiye",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Office Building",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, VT",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Urban Planning",urbanPlanningExamples:{Heatmap1:"Heatmap"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Greenhouse",Pavilion:"Pavilion in a Park",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Artificial Intelligence",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Optimizing the Tilt Angle of a Solar Panel Row",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Optimizing the Tilt Angles of Multiple Solar Panel Rows",SolarFarmGenerativeDesign:"Solar Farm Generative Design",SolarFarmGenerativeDesignWithBlock:"Solar Farm Generative Design in the Presence of a Block",FitchburgSolarFarmGenerativeDesign:"Fitchburg Solar Farm Generative Design"},languageSubMenu:"Language",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"About Us"},avatarMenu:{AccountSettings:"Account Settings",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"When you sign in, your Google ID is used to create and access your Aladdin account. Only a random alphanumeric string is stored in our database as a reference. No personally identifiable data such as your name or email is ever gathered. For more information, see our ",SignIn:"Sign In",SignOut:"Sign Out",IfYouAreAStudent:"If you are a student"},skyMenu:{Axes:"Axes",Theme:"Theme",ThemeDefault:"Default",ThemeDesert:"Desert",ThemeDune:"Dune",ThemeForest:"Forest",ThemeGrassland:"Grassland",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Sunlight Attenuation Coefficient in Air",ConvectiveCoefficientOfAir:"Convective Coefficient of Air",HighestTemperatureTimeInMinutes:"Highest Temperature Time (Minutes)",SelectSunAnglesToShow:"Select Sun Angles to Show",ShowAzimuthAngle:"Show Azimuth Angle",ShowElevationAngle:"Show Elevation Angle",ShowZenithAngle:"Show Zenith Angle",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Image on Ground",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Remove All Unlocked Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Remove All Unlocked People",RemoveAllUnlockedFoundations:"Remove All Unlocked Foundations",RemoveAllUnlockedCuboids:"Remove All Unlocked Cuboids",DoYouReallyWantToRemoveAllPeople:"Do you really want to remove all the people who are not locked",DoYouReallyWantToRemoveAllTrees:"Do you really want to remove all the trees that are not locked",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Do you really want to remove all the foundations that are not locked",DoYouReallyWantToRemoveAllCuboids:"Do you really want to remove all the cuboids that are not locked",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Label",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Keep Showing Label"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedParabolicTroughs:"Remove All Unlocked Parabolic Troughs",RemoveAllUnlockedParabolicDishes:"Remove All Unlocked Parabolic Dishes",RemoveAllUnlockedFresnelReflectors:"Remove All Unlocked Fresnel Reflectors",RemoveAllUnlockedHeliostats:"Remove All Unlocked Heliostats",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Remove All Unlocked Walls",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Remove All Unlocked Polygons",RemoveAllUnlockedHumans:"Remove All Unlocked Humans",RemoveAllUnlockedTrees:"Remove All Unlocked Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Racks",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",SolarPanels:"Solar Panels",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Do you really want to remove all the solar panels on this foundation that are not locked",ParabolicTroughs:"Parabolic Troughs",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Do you really want to remove all the parabolic troughs on this foundation that are not locked",ParabolicDishes:"Parabolic Dishes",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Do you really want to remove all the parabolic dishes on this foundation that are not locked",FresnelReflectors:"Fresnel Reflectors",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Do you really want to remove all the Fresnel reflectors on this foundation that are not locked",Heliostats:"Heliostats",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Do you really want to remove all the heliostats on this foundation that are not locked",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensors",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Do you really want to remove all the sensors on this foundation that are not locked",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Walls",DoYouReallyWantToRemoveAllWallsOnFoundation:"Do you really want to remove all the walls on this foundation that are not locked",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Polygons",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Do you really want to remove all the polygons on this foundation that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnFoundation:"Do you really want to remove all the humans on this foundation who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnFoundation:"Do you really want to remove all the trees on this foundation that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Only This Foundation",AllConnectedFoundations:"All Connected Foundations",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"All Foundations",AddPolygon:"Add Polygon",SolarStructure:"Solar Structure",GroupMaster:"Group Master",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Receiver Tower for Heliostats",ReceiverTowerPhysicalProperties:"Physical Properties of Receiver Tower",ReceiverTowerHeight:"Height of Receiver Tower",ReceiverTowerRadius:"Radius of Receiver Tower",ReceiverAbsorptance:"Absorptance of Receiver",ReceiverOpticalEfficiency:"Optical Efficiency of Receiver",ReceiverThermalEfficiency:"Thermal Efficiency of Receiver"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Absorber Pipe for Fresnel Reflectors",AbsorberPipePhysicalProperties:"Physical Properties of Absorber Pipe",AbsorberHeight:"Height of Absorber Pipe",AbsorberApertureWidth:"Aperture Width of Absorber Pipe",AbsorberPipePoleNumber:"Pole Number for Absorber Pipe",AbsorberAbsorptance:"Absorptance of Absorber",AbsorberOpticalEfficiency:"Optical Efficiency of Absorber",AbsorberThermalEfficiency:"Thermal Efficiency of Absorber"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Tower",SolarUpdraftTowerPhysicalProperties:"Physical Properties of Solar Updraft Tower",SolarUpdraftTowerChimneyHeight:"Solar Updraft Tower Chimney Height",SolarUpdraftTowerChimneyRadius:"Solar Updraft Tower Chimney Radius",SolarUpdraftTowerCollectorHeight:"Solar Updraft Tower Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Tower Collector Radius",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Tower Collector Transmissivity",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Tower Collector Emissivity",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Tower Discharge Coefficient",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Tower Turbine Efficiency"},cuboidMenu:{Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",RemoveAllUnlockedPolygons:"Remove All Unlocked Polygons",RemoveAllUnlockedHumans:"Remove All Unlocked Humans",RemoveAllUnlockedTrees:"Remove All Unlocked Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Racks",SolarPanels:"Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Do you really want to remove all the solar panels on this cuboid that are not locked",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",Sensors:"Sensors",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Do you really want to remove all the sensors on this cuboid that are not locked",Polygons:"Polygons",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Do you really want to remove all the polygons on this cuboid that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnCuboid:"Do you really want to remove all the humans on this cuboid who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnCuboid:"Do you really want to remove all the trees on this cuboid that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Only This Cuboid",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids Above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"All Cuboids",OnlyThisSide:"Only This Side",AllSidesOfThisCuboid:"All Sides of This Cuboid",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"All Sides of All Cuboids",AddPolygon:"Add Polygon",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Filled",FillTexture:"Fill Texture",FillColor:"Fill Color",Opacity:"Opacity",LineColor:"Line Color",LineWidth:"Line Width",LineStyle:"Line Style",SolidLine:"Solid Line",DashedLine:"Dashed Line",DottedLine:"Dotted Line",InsertVertexBeforeIndex:"Insert Vertex Before Index",InsertVertexAfterIndex:"Insert Vertex After Index",DeleteVertex:"Delete Vertex",OnlyThisPolygon:"Only This Polygon",AllPolygonsOnSurface:"All Polygons on the Same Surface",AllPolygonsAboveFoundation:"All Polygons Above Foundation",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"All Polygons",Layout:"Layout",SolarPanelArrayLayout:"Solar Panel Array Layout",SolarPanelArrayLayoutParametricDesign:"Solar Panel Array Layout: Parametric Design",SolarPanelArrayLayoutGenerativeDesign:"Solar Panel Array Layout: Generative Design",SolarPanelArrayModel:"Solar Panel Model",SolarPanelArrayOrientation:"Orientation",SolarPanelArrayTiltAngle:"Tilt Angle",SolarPanelArrayRowWidth:"Row Width",SolarPanelArrayInterRowSpacing:"Inter-Row Spacing",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Row Axis",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"East-West (Absolute)",SolarPanelArrayNorthSouthRowAxis:"North-South (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Pole Height",SolarPanelArrayPoleSpacing:"Pole Spacing",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"This layout is not accepted. Please check your parameters."},optimizationMenu:{Optimization:"Optimization",Parameters:"Parameters",Variables:"Variables",Constants:"Constants",GeneticAlgorithm:"Genetic Algorithm",GeneticAlgorithmSettings:"Genetic Algorithm Settings",ParticleSwarmOptimization:"Particle Swarm Optimization",ParticleSwarmOptimizationSettings:"Particle Swarm Optimization Settings",SolarPanelTiltAngleOptimization:"Solar Panel Tilt Angle Optimization",SolarPanelArrayLayout:"Solar Panel Array Layout",Generation:"Generation",Gene:"Gene",NormalizedVariables:"Normalized Variables",Objective:"Objective",ObjectiveFunctionDailyTotalYield:"Daily Total Yield",ObjectiveFunctionYearlyTotalYield:"Yearly Total Yield",ObjectiveFunctionDailyMeanYield:"Daily Mean Yield",ObjectiveFunctionYearlyMeanYield:"Yearly Mean Yield",ObjectiveFunctionDailyProfit:"Daily Profit",ObjectiveFunctionYearlyProfit:"Yearly Profit",GeneticAlgorithmSelectionMethod:"Genetic Algorithm Selection Method",RouletteWheel:"Roulette Wheel",Tournament:"Tournament",SearchMethod:"Search Method",GlobalSearchUniformSelection:"Global Search Uniform Selection",LocalSearchRandomOptimization:"Local Search Random Optimization",PopulationSize:"Population Size",MaximumGenerations:"Maximum Generations",SelectionRate:"Selection Rate",CrossoverRate:"Crossover Rate",MutationRate:"Mutation Rate",Step:"Step",SwarmSize:"Swarm Size",MaximumSteps:"Maximum Steps",MaximumVelocity:"Maximum Velocity",InertiaWeight:"Inertia Weight",CognitiveCoefficient:"Cognitive Coefficient",SocialCoefficient:"Social Coefficient",ConvergenceThreshold:"Convergence Threshold for Termination",LocalSearchRadius:"Local Search Radius",RowsPerRackRange:"Range for Rows per Rack",TiltAngleRange:"Range for Tilt Angle",InterRowSpacingRange:"Range for Inter-Row Spacing",ClickTargetPolygonToActivate:"Click Target Polygon to Activate",ClickTargetFoundationToActivate:"Click Target Foundation to Activate"},treeMenu:{ShowModel:"Show Model",Flip:"Flip",Type:"Type",Spread:"Spread"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Change Person",Flip:"Flip",Observer:"Observer",ViewFromThisPerson:"View from This Person"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Relative Azimuth",Pole:"Pole",PoleHeight:"Pole Height",PoleRadius:"Pole Radius",ExtraPoleHeight:"Extra Pole Height",ExtraPoleHeightInAdditionToHalfWidth:"Extra Pole Height in Addition to Half Width",DrawSunBeam:"Draw Sun Beam"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflector Reflectance",ReceiverAbsorptance:"Receiver Absorptance",ReflectorOpticalEfficiency:"Reflector Optical Efficiency",ReceiverThermalEfficiency:"Receiver Thermal Efficiency"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Change PV Model",Orientation:"Orientation",Portrait:"Portrait",Landscape:"Landscape",FrameColor:"Frame Color",Panels:"panels",PanelsWide:"panels wide",PanelsLong:"panels long",TiltAngle:"Tilt Angle",SouthFacingIsPositive:"South facing is positive",Tracker:"Tracker",SolarTrackerFollowsSun:"A tracker follows the sun to increase solar panel outputs.",PoleSpacing:"Pole Spacing",NoTracker:"No Tracker",HorizontalSingleAxisTracker:"Horizontal Single Axis Tracker",VerticalSingleAxisTracker:"Vertical Single Axis Tracker",AltazimuthDualAxisTracker:"Altazimuth Dual Axis Tracker",OnlyThisSolarPanel:"Only This Solar Panel",AllSolarPanelsOnSurface:"All Solar Panels on the Same Surface",AllSolarPanelsAboveFoundation:"All Solar Panels Above the Same Foundation",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"All Solar Panels"},pvModelPanel:{SolarPanelSpecs:"Solar Panel Specs",Model:"Model",PanelSize:"Panel Size",Cells:"Cells",CellType:"Cell Type",Monocrystalline:"Monocrystalline",Polycrystalline:"Polycrystalline",ThinFilm:"Thin Film",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Black",Blue:"Blue",ShadeTolerance:"Shade Tolerance",SolarCellEfficiency:"Solar Cell Efficiency",NominalOperatingCellTemperature:"Nominal Operating Cell Temperature",TemperatureCoefficientOfPmax:"Temperature Coefficient of Pmax"},parabolicTroughMenu:{ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",LatusRectum:"Latus Rectum",OnlyThisParabolicTrough:"Only This Parabolic Trough",AllParabolicTroughsAboveFoundation:"All Parabolic Troughs Above the Same Foundation",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"All Parabolic Troughs"},fresnelReflectorMenu:{AbsorberPipe:"Absorber Pipe",SelectAbsorberToReflectSunlightTo:"Select Absorber to Reflect Sunlight to",ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",OnlyThisFresnelReflector:"Only This Fresnel Reflector",AllFresnelReflectorsAboveFoundation:"All Fresnel Reflectors Above the Same Foundation",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"All Fresnel Reflectors"},heliostatMenu:{Tower:"Tower",SelectTowerToReflectSunlightTo:"Select Tower to Reflect Sunlight to",OnlyThisHeliostat:"Only This Heliostat",AllHeliostatsAboveFoundation:"All Heliostats Above the Same Foundation",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"All Heliostats"},parabolicDishMenu:{ReceiverStructure:"Receiver Structure",CentralPole:"Central Pole",CentralPoleWithTripod:"Central Pole with Tripod",Quadrupod:"Quadrupod",RimDiameter:"Rim Diameter",LatusRectum:"Latus Rectum",ExtraPoleHeightInAdditionToRadius:"Extra Pole Height in Addition to Radius",OnlyThisParabolicDish:"Only This Parabolic Dish",AllParabolicDishesAboveFoundation:"All Parabolic Dishes Above the Same Foundation",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"All Parabolic Dishes"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Default",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",SizeOfWall:"Size of Wall",OnlyThisWall:"Only This Wall",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:"All Walls Above the Same Foundation",AllSelectedWalls:"All Selected Walls",AllWalls:"All Walls",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Do you really want to remove all the windows on this wall",Doors:"Doors",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Do you really want to remove all the doors on this wall",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Do you really want to remove all the solar panels on this wall",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Remove All Unlocked Polygons",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Wall Structure",DefaultStructure:"Default",StudStructure:"Stud",PillarStructure:"Pillar",Opacity:"Opacity",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Height",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Only This Window",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"All Windows Above the Same Foundation",AllSelectedWindows:"All Selected Windows",AllWindows:"All Windows",Width:"Width",Height:"Height",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Mullion",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Mullion Width",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Tint",Opacity:"Opacity",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Shutter",LeftShutter:"Left Shutter",RightShutter:"Right Shutter",BothShutters:"Both Shutters",ShutterWidth:"Relative Width",ShutterColor:"Shutter Color",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Default",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",OnlyThisRoof:"Only This Roof",AllRoofsAboveFoundation:"All Roofs Above the Same Foundation",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"All Roofs",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Rafter Spacing",RafterWidth:"Rafter Width",RafterThickness:"Rafter Thickness",RafterColor:"Rafter Color",RoofColor:"Roof Color",RoofSideColor:"Roof Side Color",GlassTint:"Glass Tint",Opacity:"Opacity",RoofStructure:"Roof Structure",DefaultStructure:"Default",RafterStructure:"Rafter",GlassStructure:"Glass",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Default",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",Texture11:"Texture 11",Texture12:"Texture 12",Texture13:"Texture 13",Texture14:"Texture 14",Texture15:"Texture 15",Texture16:"Texture 16",Texture17:"Texture 17",OnlyThisDoor:"Only This Door",AllDoorsOnWall:"All Doors on the Same Wall",AllDoorsAboveFoundation:"All Doors Above the Same Foundation",AllSelectedDoors:"All Selected Doors",AllDoors:"All Doors",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"High",Low:"Low"},designInfoPanel:{NumberOfSelectedHeliostats:"Number of selected heliostats",NumberOfSelectedSolarPanels:"Number of selected solar panels",ElectricityGeneratedDailyBySolarPanels:"Electricity generated daily by these solar panels",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Color Contrast",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Click up or down arrow buttons to change"},instructionPanel:{Rotate:"Rotate",DragMouse:"Drag mouse",Zoom:"Zoom",MouseWheelOrKeys:"Rotate mouse wheel or press Ctrl+[ or Ctrl+]",MouseWheelOrKeysMac:"Rotate mouse wheel or press ⌘+[ or ⌘+]",Pan:"Pan",HoldCtrlDragMouse:"Hold Ctrl and drag mouse",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Reset",AutoRotate:"Auto rotate",StartOrStop:"Press F4 to start or stop"},mapPanel:{ImageOnGround:"Image on Ground",HideAddress:"Hide Address",WeatherStations:"Weather Stations",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Coordinates",Zoom:"Zoom"},visibilityPanel:{SolarPanelVisibility:"Solar Panel Visibility",Observer:"Observer",VantagePoint:"Vantage Point",ItemizedVisibilityByFields:"Itemized by Fields",TotalVisibility:"Total"},sensorPanel:{LightSensor:"Light Sensor",WeatherDataFrom:"Weather Data from"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Solar Panel Daily Yield",SolarPanelYearlyYield:"Solar Panel Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualSolarPanels:"Show outputs of individual solar panels",Profit:"Profit",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolic Trough Daily Yield",ParabolicTroughYearlyYield:"Parabolic Trough Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicTroughs:"Show outputs of individual parabolic troughs"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolic Dish Daily Yield",ParabolicDishYearlyYield:"Parabolic Dish Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicDishes:"Show outputs of individual parabolic dishes"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflector Daily Yield",FresnelReflectorYearlyYield:"Fresnel Reflector Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualFresnelReflectors:"Show outputs of individual Fresnel feflectors"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Daily Yield",HeliostatYearlyYield:"Heliostat Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualHeliostats:"Show outputs of individual heliostats"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Tower Daily Yield",UpdraftTowerYearlyYield:"Solar Updraft Tower Yearly Yield",ChimneyAirTemperature:"Chimney Air Temperature",ChimneyWindSpeed:"Chimney Wind Speed",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualUpdraftTowers:"Show outputs of individual updraft towers"},heliodonPanel:{SunAndTimeSettings:"Sun & Time Settings",SunAngles:"Angles",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"My Cloud Files",GenerateLink:"Generate Link",LinkGeneratedInClipBoard:"A link was generated in the clip board",DoYouReallyWantToDelete:"Do you really want to delete",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"My Account Settings",MyID:"My 🆔",ClickToCopyMyID:"Click to copy my ID",IDInClipBoard:"Your ID was copied and is ready to paste.",StoreMyNameInMyFilesWhenSaving:"Store my name in my files when saving",DoYouReallyWantToShowYourNameInYourFiles:"Do you really want to show your display name in your files?",SignFileDisclaimer:"If yes, your display name may be seen by anyone who can access your files.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"User Count",SchoolID:"School ID",ClassID:"Class ID"},weatherPanel:{SunshineHours:"Sunshine"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Select Air Temperature Model",Sinusoidal:"Sinusoidal"},economicsPanel:{EconomicsParameters:"Economics Parameters",ElectricitySellingPrice:"Electricity Selling Price",OperationalCostPerUnit:"Operational Cost per Unit",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Clearness",ShowDaylightResults:"Show daylight results",ShowSkyClearnessResults:"Show sky clearness results",ShowAverageDailySolarRadiation:"Show average daily solar radiation"},analysisManager:{NoSensorForCollectingData:"There is no sensor for collecting data.",NoSolarPanelForAnalysis:"There is no solar panel for analysis.",NoObserverForVisibilityAnalysis:"There is no observer for visibility analysis.",NoWaterHeaterForAnalysis:"There is no water heater for analysis.",NoParabolicDishForAnalysis:"There is no parabolic dish for analysis.",NoParabolicTroughForAnalysis:"There is no parabolic trough for analysis.",NoFresnelReflectorForAnalysis:"There is no Fresnel reflector for analysis.",NoHeliostatForAnalysis:"There is no heliostat for analysis.",NoSolarUpdraftTowerForAnalysis:"There is no solar updraft tower for analysis.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Cloud file",Select:"Select",AddFoundation:"Add Foundation",AddWall:"Add Wall",AddWindow:"Add Window",AddDoor:"Add Door",AddPyramidRoof:"Add Pyramid Roof",AddGableRoof:"Add Gable Roof",AddHipRoof:"Add Hip Roof",AddGambrelRoof:"Add Gambrel Roof",AddMansardRoof:"Add Mansard Roof",AddCuboid:"Add Cuboid",AddSensor:"Add Sensor",AddSolarPanel:"Add Solar Panel",AddWaterHeater:"Add Water Heater",AddParabolicDish:"Add Parabolic Dish",AddParabolicTrough:"Add Parabolic Trough",AddFresnelReflector:"Add Fresnel Reflector",AddHeliostat:"Add Heliostat",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Add Tree",AddFlower:"Add Flower",AddPeople:"Add People",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Manipulate a group",ClearScene:"Clear scene",ShowSunAndTimeSettings:"Show sun and time settings",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"Do you really want to clear the content",ClickForMoreButtons:"Click for more buttons"},tooltip:{gotoIFI:"Go to Institute for Future Intelligence",visitAladdinHomePage:"Visit Aladdin Homepage",clickToOpenMenu:"Click to open main menu",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Dogwood",Elm:"Elm",FanPalm:"Fan Palm",Linden:"Linden",Magnolia:"Magnolia",Maple:"Maple",Oak:"Oak",Pine:"Pine",Spruce:"Spruce"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Jaah",Jack:"Jack",Jacob:"Jacob",Jacqueline:"Jacqueline",Jade:"Jade",Jamelia:"Jamelia",James:"James",Jane:"Jane",Jaya:"Jaya",Jaye:"Jaye",Jeanette:"Jeanette",Jedi:"Jedi",Jeff:"Jeff",Jena:"Jena",Jennifer:"Jennifer",Jess:"Jess",Jett:"Jett",Jill:"Jill",Jiya:"Jiya",Joan:"Joan",Jocelyn:"Jocelyn",Joel:"Joel",Joey:"Joey",John:"John",Jonathon:"Jonathon",Jose:"Jose",Joseph:"Joseph",Joshua:"Joshua",Judd:"Judd",Judy:"Judy",Julia:"Julia",Julio:"Julio",Jumapili:"Jumapili",June:"June",Juro:"Juro",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Vft={translation:{name:{IFI:"未来智能研究所",Aladdin:"阿拉丁",Tagline:"阿拉丁: 探索人工智能时代的设计软件 — 未来智能研究所研发"},cookie:{Statement:"声明:为了改善您的用户体验,阿拉丁采用cookie储存少量数据。",Accept:"同意"},aboutUs:{ProductBroughtToYouBy:"未来智能研究所荣誉出品",TermsOfService:"服务条款",PrivacyPolicy:"隐私政策",Software:"软件",Content:"课件",Research:"研究",Support:"服务",Acknowledgment:"鸣谢",FundingInformation:"本产品的研发承蒙美国国家科学基金会慷慨资助(项目号#2105695,#2131097,#2301164)。本产品的任何观点或结论仅代表创作者个人意见。",Contact:"如您需要更多信息,请联系 Charles Xie (charles@intofuture.org)。我们会尽快回复。",Translators:"翻译"},word:{LastUpdate:"上一次更新",Small:"小",Medium:"中",Large:"大",Design:"设计",Information:"信息",Type:"类别",Text:"文字",FontSize:"字体大小",FontColor:"字体颜色",Model:"模型",Models:"模型",Upload:"上传",ClickCount:"点击数",Share:"分享",AlreadyLike:"已点赞",Like:"点赞",MustLogInToLike:"必须登录才能点赞",AllRightsReserved:"版权所有",MeterAbbreviation:"米",Version:"版本",VersionInitial:"版本",Options:"选项",Maximum:"最大",Minimum:"最小",MaximumNumber:"最多",MinimumNumber:"最少",MaximumValue:"最大值",MinimumValue:"最小值",Or:"或",None:"无",High:"高",Partial:"部分",Teacher:"老师",Class:"班级",Total:"总数",Leaderboard:"用戶排行榜",Latest:"最新",Range:"范围",SIUnit:"国际单位制",USUnit:"美国单位制",ThermalTransmittance:"热透过率",ThermalResistance:"热阻",UValue:"U值",RValue:"R值",VolumetricHeatCapacity:"容积热容",BuildingHVACSystem:"建筑物暖通空调系统",ThermostatSetpoint:"恒温器设定值",TemperatureToleranceThreshold:"温度忍耐阈值",TemperatureToleranceThresholdExplanation:`当日最低外面温度高于恒温器设定值减去此阈值,暖气不开。 -当日最高外面温度低于恒温器设定值加上此阈值,空调不开。`,Press:"按",Open:"打开",Save:"保存",SaveAsImage:"保存为图像",SaveAsCsv:"保存为CSV",Update:"刷新",Paste:"粘贴",Copy:"复制",Cut:"剪切",Delete:"删除",Lock:"固定",Translucent:"半透明",Color:"颜色",Pattern:"图案",Texture:"材质",Thickness:"厚度",Size:"尺寸",Yes:"是",No:"不",OK:"确定",Cancel:"取消",Apply:"应用",Close:"关闭",ApplyTo:"适用于",Run:"运行",Pause:"暂停",Resume:"继续",Clear:"清空",Warning:"警告",Caution:"小心",Reminder:"提醒",Length:"长度",Width:"宽度",Height:"高度",Radius:"半径",Angle:"角度",Azimuth:"方位角",Coordinates:"坐标",Weather:"天气",Show:"显示",Animate:"动画",Date:"日期",Time:"时间",Title:"标题",Owner:"所有者",Action:"操作",Rename:"改名",Location:"位置",Latitude:"纬度",Month:"月份",Day:"天",Hour:"小时",Daylight:"白天长度",Radiation:"辐射",Temperature:"温度",kWh:"千瓦时",dollar:"元",MeterPerSecond:"米/秒",NorthInitial:"北",SouthInitial:"南",EastInitial:"东",WestInitial:"西",Fixed:"固定",Elements:"部件",Energy:"能量",Unknown:"未知",Label:"标签",Description:"描述",NoDescription:"无描述",MaximumCharacters:"最多字符数",Author:"作者",Publisher:"发布者",Building:"建筑",ResidentialBuilding:"住宅建筑",CommercialBuilding:"商用建筑",SchoolBuilding:"学校建筑",TouristAttraction:"旅游景点",UnderConstruction:"在建",Photovoltaic:"光伏",WindPower:"风能",ColocationProjects:"共用空间项目",Anonymous:"无名氏",Nickname:"别名",Pin:"置顶",Unpin:"解除置顶"},shared:{NoTexture:"无材质",FoundationElement:"地基",CuboidElement:"长方体",PolygonElement:"多边形",SensorElement:"传感器",SolarPanelElement:"光伏板",WaterHeaterElement:"太阳能热水器",ParabolicDishElement:"抛物线碟",ParabolicTroughElement:"抛物线槽",FresnelReflectorElement:"菲涅耳反射镜",HeliostatElement:"定日镜",WindTurbineElement:"风力涡轮机",LightElement:"电灯",ElementLocked:"固定",ModelType:"模型类别",OutputBreakdown:"分列发电量",MoreResults:"更多结果"},message:{CalculationMayBeSlowDoYouWantToContinue:"计算可能会很慢。您想继续吗?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"加大太阳辐射热图网格的尺寸可加速",ModelNotFound:"没有找到模型",CannotSignIn:"登录失败",CannotSignOut:"退出失败",YourAccountWasCreated:"成功建立您的账号。",CannotCreateAccount:"无法创建账号",YourAccountSettingsWereSaved:"您的账号设定已保存。",CannotSaveYourAccountSettings:"您的账号设定无法保存",CannotSaveYourFileToCloud:"无法保存您的文件到云端",CannotCreateNewProject:"无法创建新项目",CannotCreateNewProjectWithoutTitle:"没有标题, 无法创建新项目",CannotOpenYourProjects:"无法打开您的项目列表",CannotOpenProject:"无法打开项目",CannotDeleteProject:"无法删除项目",CannotRenameProject:"无法给项目改名",CannotAddDesignToProject:"无法把此设计加到项目里",CannotAddDesignToProjectOwnedByOthers:"不能把此设计加到别人的项目里",DesignRemovedFromProject:"设计被成功地从项目里删除",CannotRemoveDesignFromProject:"无法把此设计从项目里删除",CannotUpdateProject:"无法更新项目",CannotFetchProjectData:"无法取得项目数据",TitleUsedChooseDifferentOne:"此标题已经被使用, 请采用不同的标题",CloudFileWithTitleExistsDoYouWantToOverwrite:"使用此标题的云文件已经存在,您确定要覆盖它吗?",CloudFileNotFound:"找不到此云端文件",CannotLoadModelsOnMap:"无法下载地图上的模型",CannotLoadLeaderboard:"无法下载排行榜",CannotPublishModelOnMap:"模型无法发布到地图上",CannotLikeModelFromMap:"无法点赞地图上的模型",CannotDeleteModelFromMap:"无法删除地图上的模型",ModelDeletedFromMap:"模型已从地图上删除",DoYouWantToDeleteModelFromMap:"您要删除地图上的这个模型吗?",CannotOpenCloudFile:"此云端文件无法打开",CannotReadCloudFile:"无法读取此云端文件",CannotWriteCloudFile:"无法存储此云端文件",CloudFileCopied:"拷贝云端文件",CannotOpenCloudFolder:"您的云端文件夹无法打开",CannotDeleteCloudFile:"无法删除此云端文件",CannotRenameCloudFile:"此云端文件的名字无法更改",DoYouWantToSaveChanges:"您要保存当前文件吗?",NotApplicableToSelectedAction:"此值不适用于当前选择范围",ThisElementIsLocked:"这个部件被锁定。",ThisCannotBeUndone:"这个操作一旦执行就不能撤销。",AzimuthOfNorthIsZero:"正北的方位角为零度",CounterclockwiseAzimuthIsPositive:"逆时针为正",SouthFacingIsZero:"朝南为零度",ClockwiseRotationIsPositive:"顺时针为正",MoveCancelledBecauseOfOverlap:"位置重叠,移动取消。",MoveOutsideBoundaryCancelled:"位置出界,移动取消。",RotationCancelledBecauseOfOverlap:"位置重叠,旋转取消。",RotationOutsideBoundaryCancelled:"位置出界,旋转取消。",ResizingCancelledBecauseOfOverlap:"位置重叠,尺寸调整取消。",ResizingOutsideBoundaryCancelled:"位置出界,尺寸调整取消。",CannotPasteOutsideBoundary:"位置出界,不能复制。",CannotPasteBecauseOfOverlap:"位置重叠,不能复制。",CannotMoveObjectTooFar:"位置太远,移动取消。",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"采用新布局之前必须移除现有的光伏板。",DoYouWantToContinue:"您想继续吗?",SolarPanelsCannotIntersectWithGround:"光伏板不能和地面接触。",SolarPanelsCannotOverlapWithOneAnother:"光伏板不能重叠。",ScreenshotSaved:"截屏图片保存在下载文件夹里。",CsvFileSaved:"CSV保存在下载文件夹里。",SimulationStarted:"模拟开始。",SimulationCompleted:"模拟结束。",SimulationAborted:"模拟取消。",SimulationPaused:"模拟暂停。",CancelSimulation:"取消模拟",PauseSimulation:"暂停模拟",ResumeSimulation:"继续模拟",SimulationWillNotStartDueToErrors:"由于错误模拟无法运行",SimulationWillStartDespiteWarnings:"发现问题,但模拟仍然将运行。",EvolutionStarted:"演化开始。",EvolutionCompleted:"演化结束。",EvolutionAborted:"演化取消。",EvolutionPaused:"演化暂停。",EncounterEvolutionError:"演化出错。",CancelEvolution:"取消演化",PauseEvolution:"暂停演化",ResumeEvolution:"继续演化",ConvergenceThresholdHasBeenReached:"收敛阈值已达到。",MaximumNumberOfGenerationsHasBeenReached:"最大世代数已达到。",MaximumNumberOfStepsHasBeenReached:"最大步数已达到。",ObjectiveFunctionTypeError:"此操作不支持当前的目标函数。请从菜单启动此功能。",WallsAreNotAtSameHeight:"墙体高度不同。",WallsAreNotPerpendicular:"墙体不垂直。",WallsAreNotConnected:"墙体不相连。",WallsNumberNeedToBeFour:"墙体数量必须为四个。",BuildingContainsEmptyWall:"建筑物有空墙。",BuildingRoofMissing:"建筑物没有屋顶。",UnknownErrors:"未知错误。"},menu:{AnalysisOptions:"分析选项",option:{GridCellSize:"计算网格的尺寸",SamplingFrequency:"采样频率",TimesPerHour:"每小时采样次数",DaysPerYear:"每一年采样天数"},mainMenu:"主菜单",cloudMenu:"云菜单",projectSubMenu:"项目",project:{CreateNewProject:"创建新项目",OpenProject:"打开项目",SaveProject:"保存项目",SaveProjectAs:"另存项目为",YouMustLogInToCreateProject:"您必须登录才能创建项目",YouMustLogInToOpenProject:"您必须登录才能打开项目"},fileSubMenu:"文件",file:{CreateNewFile:"创建新文件",OpenLocalFile:"打开本地文件",SaveAsLocalFile:"保存为本地文件",SavingAbortedMustHaveValidFileName:"文件名无效,保存失败",OpenCloudFile:"打开云端文件",SaveCloudFile:"保存云端文件",SaveAsCloudFile:"另存云端文件为",SavingAbortedMustHaveValidTitle:"云端文件名无效,保存失败",ToSaveYourWorkPleaseSignIn:"为了保存您的云端文件,请先登录。",TakeScreenshot:"截屏",UseCloudFileName:"采用云端文件名",PublishOnModelsMap:"发布到地图上",PublishedOnModelsMap:"您的模型成功发布到地图上",UpdatedOnModelsMap:"您的模型更新成功",YouMustLogInToPublishYourModel:"您必须登录才能发布模型",YouCannotPublishAModelThatYouDoNotOwn:"您不能发布他人的模型",YouMustSaveModelOnCloudBeforePublishingIt:"您必须先把此模型保存在云端才能发布它"},editSubMenu:"编辑",edit:{Undo:"撤销",Redo:"重做"},viewSubMenu:"视界",view:{NavigationView:"导航模式",TwoDimensionalView:"二维模式",ResetView:"重置视角",ZoomIn:"放大",ZoomOut:"缩小",AutoRotate:"自动旋转",ShowShadow:"显示阴影",ShowSurfaceShininess:"显示表面光泽",TranslucentFloatingWindows:"透明浮动窗口",accessoriesSubMenu:"配件",accessories:{SiteInformation:"位置信息",DesignInformation:"设计信息",Instruction:"操作说明",StickyNote:"便签",Note:"便签"}},settingsSubMenu:"设置",settings:{WeatherData:"气象数据",DiurnalTemperature:"昼夜温度",Heliodon:"日影仪",SunAndTime:"太阳和时间"},benchmarksSubMenu:"基准",benchmarks:{SolarRadiationPredictionVsMeasurement:"太阳能辐射模型预测和实际测量的对比",BESTESTCase600:"建筑物能耗模拟测试:BESTEST案例600",BESTESTCase610:"建筑物能耗模拟测试:BESTEST案例610",BESTESTCase620:"建筑物能耗模拟测试:BESTEST案例620",BESTESTCase630:"建筑物能耗模拟测试:BESTEST案例630"},graph:{LineWidth:"线条宽度",SymbolSize:"符号大小",BarCategoryGap:"直条间隙",ShowHorizontalGridLines:"显示格子的水平线条",ShowVerticalGridLines:"显示格子的竖直线条"},analysisSubMenu:"分析",physicsSubMenu:"物理",physics:{DailySolarRadiationHeatmap:"当日太阳辐射总量分布热图",SolarRadiationHeatmapOptions:"太阳辐射热图选项",SolarRadiationHeatmapGridCellSize:"太阳辐射热图网格的尺寸",SolarRadiationHeatmapMaxValue:"太阳辐射热图最大值",SolarRadiationHeatmapNoAnimation:"若无移动部件则省略动画",ReflectionHeatmap:"反射热图"},sensorSubMenu:"传感器",sensor:{CollectDailyData:"收集当天数据",CollectYearlyData:"收集全年数据",SensorSimulationNoAnimation:"若无移动部件则省略动画"},buildingSubMenu:"建筑物",building:{AnalyzeDailyBuildingEnergy:"建筑物当天能耗分析",AnalyzeYearlyBuildingEnergy:"建筑物全年能耗分析",EnergyAnalysisOptions:"能耗分析选项",EnergyGridCellSize:"计算网格的尺寸",BuildingEnergySimulationNoAnimation:"若无移动部件则省略动画"},solarPanelSubMenu:"太阳能光伏板",solarPanel:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出",AnalyzeVisibility:"分析可见度",PanelDiscretization:"光伏板离散化方法",Exact:"准确",Approximate:"近似",EnergyGridCellSize:"计算网格的尺寸",VisibilityGridCellSize:"视界因子计算网格的尺寸",EnergyAnalysisOptions:"能量分析选项",VisibilityAnalysisOptions:"可见度分析选项",SolarPanelSimulationNoAnimation:"若无移动部件则省略动画"},parabolicTroughSubMenu:"抛物线槽",parabolicTrough:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},parabolicDishSubMenu:"抛物线碟",parabolicDish:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},fresnelReflectorSubMenu:"菲涅尔反射镜",fresnelReflector:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},heliostatSubMenu:"定日镜",heliostat:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},solarUpdraftTowerSubMenu:"太阳能上升气流塔",solarUpdraftTower:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出",SolarUpdraftTowerSimulationNoAnimation:"若无移动部件则省略动画"},tutorialsSubMenu:"教程",solarEnergyScienceSubMenu:"太阳能科学",solarEnergyScienceTutorials:{SunAngles:"太阳相对于地面观察者的角度",InsolationAndClimate:"太阳辐射和气候的关系",SolarRadiationToBox:"一个长方体受到的太阳能辐射分析"},buildingScienceSubMenu:"建筑科学",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"房屋的热学封套和围护封套",EffectOfSizeOnBuildingEnergy:"房屋大小对能耗的影响",EffectOfOrientationOnBuildingEnergy:"房屋方位对能耗的影响",EffectOfInsulationOnBuildingEnergy:"房屋隔热对能耗的影响",EffectOfRoofColorOnBuildingEnergy:"屋顶颜色对建筑物能耗的影响",EffectOfEavesOverhangLengthOnBuildingEnergy:"屋檐延伸长度对建筑物能耗的影响",EffectOfWindowSHGCOnBuildingEnergy:"窗户太阳能输入对房屋能耗的影响",EffectOfThermostatSetpointOnBuildingEnergy:"恒温器设定值对房屋能耗的影响",EffectOfSolarPanelsOnBuildingEnergy:"光伏板对房屋能耗的影响",EffectOfGroundTemperatureOnBuildingEnergy:"地表温度对房屋能耗的影响",EffectOfTreesOnBuildingEnergy:"树荫对房屋能耗的影响"},buildingDesignSubMenu:"建筑设计",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"有棚顶窗的科德角风格的住宅",MansardRoofWithDormers:"有天窗的折线屋顶",GableRoofVsHipRoof:"双坡屋顶和四坡屋顶的对比",ColonialVsSaltbox:"殖民地风格和盐盒风格的对比",GambrelRoofVsMansardRoof:"复斜屋顶和折线屋顶的对比",CombinationRoofVsBonnetRoof:"组合屋顶和帽檐屋顶的对比",DutchGableRoof:"荷兰双坡屋顶",GableAndValleyRoof:"坡谷屋顶",ClerestoryRoof:"天窗屋顶",MonitorRoof:"采光屋顶",AFrameHouse:"A字形房子",HalfTimberedHouse:"半木骨架房子",AllBasicRoofTypes:"所有的基本屋顶类型"},photovoltaicSolarPowerSubMenu:"光伏发电",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"光伏板倾斜角对发电量的影响",EffectOfAzimuthOfSolarPanel:"光伏板方位角对发电量的影响",SolarPanelTypes:"光伏板类型",VerticalBifacialSolarPanels:"竖直的双面光伏板",CompareMonofacialAndBifacialSolarPanels:"单面光伏板和双面光伏板的对比",SolarTrackers:"自动追日器",CoveringGroundWithSolarPanels:"为什么我们不简单地用光伏板覆盖地面",InterRowSpacingOfSolarPanelArray:"光伏板阵列行间距对发电量的影响",EffectOfOrientationOfSolarPanels:"光伏板排列方向对发电量的影响",SolarPanelArrayAutomaticLayout:"光伏板自动排列"},concentratedSolarPowerSubMenu:"光热发电",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"抛物线槽方位角对发电量的影响",EffectOfLatusRectumOfParabolicTrough:"抛物线槽通径对发电量的影响",FocusSunlightWithParabolicDish:"用抛物线碟聚焦陽光",LinearFresnelReflectors:"用直线式菲涅尔反射镜聚焦陽光",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"吸热管的安装高度对直线式菲涅尔反射镜发电量的影响",EffectOfAzimuthOfLinearFresnelReflectors:"直线式菲涅尔反射镜方位角对发电量的影响",LinearFresnelReflectorsWithTwoAbsorbers:"配备两个吸收管的直线式菲涅尔反射镜阵列",CosineEfficiencyOfHeliostats:"定日镜的余弦效率",ShadowingAndBlockingOfHeliostats:"定日镜的阴影和遮挡",EffectSolarPowerTowerHeight:"吸收塔高度对发电量的影响",SolarPowerTower:"塔式光热发电站"},otherTypesOfSolarPowerSubMenu:"其它类型的太阳能发电",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"太阳能上升气流塔"},windPowerSubMenu:"风力发电",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"转子叶片的数目对风力涡轮机输出的影响",EffectOfPitchAngleOfWindTurbineBlades:"转子叶片的俯仰角对风力涡轮机输出的影响",BirdSafeBladeDesign:"对鸟类安全的叶片设计",OffshoreWindFarm:"海上风电场"},colocationSubMenu:"共用空间项目",colocationTutorials:{AgricultureSolarWindColocation:"农业光伏风力共用空间"},generativeDesignSubMenu:"生成式设计",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"单面光伏板阵列的倾斜角",BifacialSolarPanelArrayTiltAngle:"双面光伏板阵列的倾斜角",OutputOfSolarPanelArrayInDifferentPlaces:"一个光伏板阵列在不同地区的产出",SimpleSolarFarmParetoFront:"简单太阳能农场设计的帕累托前沿"},examplesSubMenu:"例子",solarEnergySubMenu:"太阳能",solarEnergyExamples:{SunBeamAndHeliodon:"太阳光束和日影仪",RooftopSolarPanels:"屋顶光伏板",NevadaSolarOneParabolicTroughArray:"内华达州太阳能一号的抛物线槽阵列",TooeleParabolicDishArray:"犹他州图埃勒的抛物线碟阵列",PS10SolarPowerTower:"西班牙塞维利亚的PS10太阳能发电塔",TucsonLinearFresnelReflectors:"亚利桑那州图森的直线式菲涅尔反射镜阵列",SolarCanopyFormFactors:"太阳能天篷外形设计",SolarCanopyOverBleachers:"看台太阳能天篷",SolarCanopyOverGarage:"车库太阳能天篷",SolarBusStop:"太阳能候车亭",SolarFacadeTesla:"特斯拉光伏墙",BuildingIntegratedPhotovoltaics:"建筑整合光伏",Floatovoltaics:"浮动光伏",Agrivoltaics:"农业光伏",VegetativeBuffer:"太阳能农场绿化带",RainbowSwashSolarFarmBostonMA:"马萨诸塞州波士顿彩虹激流旁边的光伏板阵列",MickeyMouseSolarFarmOrlandoFL:"佛罗里达州奥兰多的米老鼠形状光伏板阵列",SolarPanelsOverCanalBakersfieldCA:"加利福尼亚州贝克斯菲尔德灌溉渠上假想的光伏板阵列",SolarNoiseBarrierLexingtonMA:"马萨诸塞州列克星敦高速公路噪音墙上假想的光伏板",HSATSolarTrackersRaleighNC:"北卡罗来纳州罗利的一个水平方向单轴旋转追日光伏板阵列(HSAT)",AADATSolarTrackersLancasterCA:"加利福尼亚州兰开斯特的一个双轴旋转追日光伏板阵列(AADAT)",SolarUpdraftTowerInCity:"太阳能上升气流塔在城市中的应用"},builtEnvironmentSubMenu:"建造环境",residentialBuildingsSubMenu:"住宅建筑",residentialBuildingExamples:{ColonialHouse:"殖民地风格的住宅",DutchColonialHouse:"荷兰殖民地风格的住宅",TShapedHouse:"T字型房子",CapeCodHouseWithGarage:"有车库的科德角风格的住宅",Solarium:"有日光浴室的房子",Church1:"教堂例一",Cathedral1:"主教座堂例一",Cathedral2:"主教座堂例二",Mosque1:"清真寺例一",AdobeTaosHouse:"陶斯土坯房",RanchHouse:"牧场风格的住宅",BonnetHouse:"有帽檐屋顶的住宅",BarnStyleHouse:"谷仓式风格的住宅",ModernHouse:"现代风格的住宅",ButterflyRoofHouse:"蝴蝶型屋顶的住宅"},commercialBuildingsSubMenu:"商用建筑",commercialBuildingExamples:{WhiteHouse:"白宫",BilimMersinTurkiye:"土耳其梅尔辛科学教育中心",SpanishStyleHotel:"西班牙风格旅馆",ApartmentBuilding:"公寓楼",OfficeBuilding:"办公楼",Hotel:"旅馆"},buildingComplexesSubMenu:"建筑群",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"佛蒙特州南伯灵顿高中",MescaleroApacheSchoolNewMexico:"新墨西哥州梅斯卡勒罗阿帕奇学校"},urbanPlanningSubMenu:"城市规划",urbanPlanningExamples:{Heatmap1:"热图例一"},otherBuildingsSubMenu:"其它建筑",otherBuildingExamples:{Greenhouse:"温室",Pavilion:"公园的亭子",OctagonalPagoda:"八角塔",OceanFront:"海边",EgyptianPyramids:"埃及金字塔",MayanPyramid:"玛雅金字塔",SiOSePol:"三十三孔桥",StackedCuboids:"堆砌长方体"},artificialIntelligenceSubMenu:"人工智能",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"优化单排光伏板的倾斜角",OptimizingTiltAnglesOfMultipleSolarPanelRows:"优化多排光伏板的倾斜角",SolarFarmGenerativeDesign:"生成式设计太阳能农场",SolarFarmGenerativeDesignWithBlock:"生成式设计太阳能农场:周边有建筑物的情况",FitchburgSolarFarmGenerativeDesign:"生成式设计太阳能农场:真实世界案例"},languageSubMenu:"语言",publicSubMenu:"公共",ModelsGallery:"模型画廊",ModelsMap:"模型地图",AboutUs:"关于我们"},avatarMenu:{AccountSettings:"账号设定",PrivacyStatementTitle:"用户隐私保护声明",PrivacyStatement:"登录需要采用您的谷歌ID建立或进入您的阿拉丁账户。 我们只储存一个随机的字符串作为您的ID。 任何关于您的可辨识的个人信息都没有被收集。 详情请参考我们的",SignIn:"登录",SignOut:"退出账号",IfYouAreAStudent:"如果您是一个学生"},skyMenu:{Axes:"显示坐标轴",Theme:"环境主题",ThemeDefault:"默认",ThemeDesert:"沙漠",ThemeDune:"沙丘",ThemeForest:"森林",ThemeGrassland:"草原",ThemeHill:"丘陵",ThemeLake:"湖泊",ThemeMountain:"山脉",ThemeRural:"田园",SunlightAttenuationCoefficientInAir:"阳光在空气中传播的衰减系数",ConvectiveCoefficientOfAir:"空气对流传热系数",HighestTemperatureTimeInMinutes:"最高气温时间(分钟)",SelectSunAnglesToShow:"选择太阳角度显示",ShowAzimuthAngle:"显示方位角",ShowElevationAngle:"显示高度角",ShowZenithAngle:"显示天顶角",DirectLightBrightnessAtNoon:"正午直射光照度",AmbientLightBrightnessAtNoon:"正午环境光照度"},groundMenu:{MonthlyIrradianceLoss:"月份辐射度损失比",Vegetation:"植被",LeafOutDay:"树叶长出的日子",LeafOffDay:"树叶脱落的日子",Albedo:"反照率",ImageOnGround:"地面显示图像",WaterSurface:"水面",RemoveAllUnlockedTrees:"删除所有非固定的树木",RemoveAllUnlockedFlowers:"删除所有非固定的花草",RemoveAllUnlockedSolarPanels:"删除所有非固定的光伏板",RemoveAllUnlockedPeople:"删除所有非固定的人物",RemoveAllUnlockedFoundations:"删除所有非固定的地基",RemoveAllUnlockedCuboids:"删除所有非固定的长方体",DoYouReallyWantToRemoveAllPeople:"你确定删除所有非固定的人物吗",DoYouReallyWantToRemoveAllTrees:"你确定删除所有非固定的树木吗",DoYouReallyWantToRemoveAllFlowers:"你确定删除所有非固定的花草吗",DoYouReallyWantToRemoveAllSolarPanels:"你确定删除所有非固定的光伏板吗",DoYouReallyWantToRemoveAllFoundations:"你确定删除所有非固定的地基吗",DoYouReallyWantToRemoveAllCuboids:"你确定删除所有非固定的长方体吗",LockAllUnlockedElements:"固定所有非固定的部件",UnlockAllLockedElements:"解除所有的固定"},labelSubMenu:{Label:"标签",LabelText:"标签的内容",LabelHeight:"标签的高度",LabelSize:"标签的大小",LabelFontSize:"字体的大小",LabelColor:"标签的颜色",KeepShowingLabel:"显示标签"},foundationMenu:{RemoveAllUnlockedSolarPanels:"删除此地基上所有非固定的光伏板",RemoveAllUnlockedParabolicTroughs:"删除此地基上所有非固定的抛物线槽",RemoveAllUnlockedParabolicDishes:"删除此地基上所有非固定的抛物线碟",RemoveAllUnlockedFresnelReflectors:"删除此地基上所有非固定的菲涅耳反射镜",RemoveAllUnlockedHeliostats:"删除此地基上所有非固定的定日镜",RemoveAllUnlockedWindTurbines:"删除此地基上所有非固定的风力涡轮机",RemoveAllUnlockedSensors:"删除此地基上所有非固定的传感器",RemoveAllUnlockedLights:"删除此地基上所有非固定的电灯",RemoveAllUnlockedWalls:"删除此地基上所有非固定的墙",RemoveAllUnlockedWindows:"删除此地基上所有非固定的窗户",RemoveAllUnlockedDoors:"删除此地基上所有非固定的门",RemoveAllUnlockedPolygons:"删除此地基上所有非固定的多边形",RemoveAllUnlockedHumans:"删除此地基上所有非固定的人物",RemoveAllUnlockedTrees:"删除此地基上所有非固定的树木",RemoveAllUnlockedFlowers:"删除此地基上所有非固定的花草",Racks:"支架",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",SolarPanels:"光伏板",SolarPanelArray:"光伏板阵列",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"你确定删除此地基上所有非固定的光伏板吗",ParabolicTroughs:"抛物线槽",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"你确定删除此地基上所有非固定的抛物线槽吗",ParabolicDishes:"抛物线碟",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"你确定删除此地基上所有非固定的抛物线碟吗",FresnelReflectors:"菲涅耳反射镜",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"你确定删除此地基上所有非固定的菲涅耳反射镜吗",Heliostats:"定日镜",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"你确定删除此地基上所有非固定的定日镜吗",WindTurbines:"风力涡轮机",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"你确定删除此地基上所有非固定的风力涡轮机吗",Sensors:"传感器",DoYouReallyWantToRemoveAllSensorsOnFoundation:"你确定删除此地基上所有非固定的传感器吗",Lights:"电灯",DoYouReallyWantToRemoveAllLightsOnFoundation:"你确定删除此地基上所有非固定的电灯吗",Walls:"墙",DoYouReallyWantToRemoveAllWallsOnFoundation:"你确定删除此地基上所有非固定的墙吗",Windows:"窗户",DoYouReallyWantToRemoveAllWindowsOnFoundation:"你确定删除此地基上所有非固定的窗户吗",Doors:"门",DoYouReallyWantToRemoveAllDoorsOnFoundation:"你确定删除此地基上所有非固定的门吗",Polygons:"多边形",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"你确定删除此地基上所有非固定的多边形吗",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnFoundation:"你确定删除此地基上所有非固定的人物吗",Trees:"树木",DoYouReallyWantToRemoveAllTreesOnFoundation:"你确定删除此地基上所有非固定的树木吗",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnFoundation:"你确定删除此地基上所有非固定的花草吗",OnlyThisFoundation:"只这块地基",AllSelectedFoundations:"所有选中的地基",AllConnectedFoundations:"所有相连的地基",AllFoundations:"所有的地基",AddPolygon:"添加多边形",SolarStructure:"太阳能构型",GroupMaster:"主地基",LockAllUnlockedElementsOnThisFoundation:"固定此地基上所有非固定的部件",UnlockAllLockedElementsOnThisFoundation:"解除此地基上所有的固定",GroundFloorRValue:"建筑物地板的R值",OnlyThisGroundFloor:"只这个建筑物的地板",AllGroundFloors:"所有建筑物的地板"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"和定日镜配套的吸收塔",ReceiverTowerPhysicalProperties:"太阳能吸收塔的物理性质",ReceiverTowerHeight:"太阳能吸收塔的高度",ReceiverTowerRadius:"太阳能吸收塔的半径",ReceiverAbsorptance:"太阳能吸收器的吸收率",ReceiverOpticalEfficiency:"太阳能吸收器的光效率",ReceiverThermalEfficiency:"太阳能吸收器的热效率"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"和菲涅尔反射镜配套的吸收管",AbsorberPipePhysicalProperties:"太阳能吸收管的物理性质",AbsorberHeight:"太阳能吸收管的安装高度",AbsorberApertureWidth:"太阳能吸收管的孔径",AbsorberPipePoleNumber:"太阳能吸收管的支柱数量",AbsorberAbsorptance:"太阳能吸收管的吸收率",AbsorberOpticalEfficiency:"太阳能吸收管的光效率",AbsorberThermalEfficiency:"太阳能吸收管的热效率"},solarUpdraftTowerMenu:{SolarUpdraftTower:"太阳能上升气流塔",SolarUpdraftTowerPhysicalProperties:"太阳能上升气流塔的物理性质",SolarUpdraftTowerChimneyHeight:"太阳能上升气流塔烟囱的高度",SolarUpdraftTowerChimneyRadius:"太阳能上升气流塔烟囱的半径",SolarUpdraftTowerCollectorHeight:"太阳能上升气流塔集热棚的高度",SolarUpdraftTowerCollectorRadius:"太阳能上升气流塔集热棚的半径",SolarUpdraftTowerCollectorTransmissivity:"太阳能上升气流塔集热棚的透射率",SolarUpdraftTowerCollectorEmissivity:"太阳能上升气流塔集热棚的发射率",SolarUpdraftTowerDischargeCoefficient:"太阳能上升气流塔的流量系数",SolarUpdraftTowerTurbineEfficiency:"太阳能上升气流塔的涡轮机效率"},cuboidMenu:{Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",RemoveAllUnlockedSolarPanels:"删除此长方体表面上所有非固定的光伏板",RemoveAllUnlockedSensors:"删除此长方体表面上所有非固定的传感器",RemoveAllUnlockedPolygons:"删除此长方体表面上所有非固定的多边形",RemoveAllUnlockedHumans:"删除此长方体表面上所有非固定的人物",RemoveAllUnlockedTrees:"删除此长方体表面上所有非固定的树木",RemoveAllUnlockedFlowers:"删除此长方体表面上所有非固定的花草",RemoveAllUnlockedLights:"删除此长方体表面上所有非固定的电灯",Racks:"支架",SolarPanels:"光伏板",Lights:"电灯",DoYouReallyWantToRemoveAllLightsOnCuboid:"你确定删除此长方体表面上所有非固定的电灯吗",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"你确定删除此长方体表面上所有非固定的光伏板吗",Sensors:"传感器",DoYouReallyWantToRemoveAllSensorsOnCuboid:"你确定删除此长方体表面上所有非固定的传感器吗",Polygons:"多边形",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"你确定删除此长方体表面上所有非固定的多边形吗",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnCuboid:"你确定删除此长方体表面上所有非固定的人物吗",Trees:"树木",DoYouReallyWantToRemoveAllTreesOnCuboid:"你确定删除此长方体表面上所有非固定的树木吗",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnCuboid:"你确定删除此长方体表面上所有非固定的花草吗",OnlyThisCuboid:"只这个长方体",AllCuboidsOnSameSurface:"同一表面上所有的长方体",AllCuboidsAboveSameBase:"同一地基上所有的长方体",AllSelectedCuboids:"所有选中的长方体",AllCuboids:"所有的长方体",OnlyThisSide:"只这个表面",AllSidesOfThisCuboid:"这个长方体所有的侧面",AllSidesOfSelectedCuboids:"所有选中长方体所有的侧面",AllSidesOfAllCuboids:"所有的长方体所有的侧面",AddPolygon:"添加多边形",Stackable:"可堆砌",GroupMaster:"主长方体"},polygonMenu:{Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",TextBox:"文字框",FontOutlineColor:"字体轮廓颜色",FontOutlineWidth:"字体轮廓线宽",FontStrokeColor:"字体描边颜色",FontStrokeWidth:"字体描边线宽",NoOutline:"无轮廓线",Shiny:"光泽",Filled:"填充",FillTexture:"填充材质",FillColor:"填充颜色",Opacity:"遮光度",LineColor:"线条颜色",LineWidth:"线条宽度",LineStyle:"线条样式",SolidLine:"实线",DashedLine:"虚线",DottedLine:"点线",InsertVertexBeforeIndex:"前面插入顶点",InsertVertexAfterIndex:"后面插入顶点",DeleteVertex:"移除顶点",OnlyThisPolygon:"只这个多边形",AllPolygonsOnSurface:"同一表面上所有的多边形",AllPolygonsAboveFoundation:"同一地基上所有的多边形",AllSelectedPolygons:"所有选中的多边形",AllPolygons:"所有的多边形",Layout:"布局",SolarPanelArrayLayout:"光伏板阵列布局",SolarPanelArrayLayoutParametricDesign:"光伏板阵列布局参数化设计",SolarPanelArrayLayoutGenerativeDesign:"光伏板阵列布局生成式设计",SolarPanelArrayModel:"光伏板型号",SolarPanelArrayOrientation:"排列方向",SolarPanelArrayTiltAngle:"倾斜角度",SolarPanelArrayRowWidth:"行宽度",SolarPanelArrayInterRowSpacing:"行间距",SolarPanelArrayRowSpacing:"行间距",SolarPanelArrayRowAxis:"行轴方向",SolarPanelArrayLeftRightRowAxis:"左右方向(相对)",SolarPanelArrayUpDownRowAxis:"上下方向(相对)",SolarPanelArrayEastWestRowAxis:"东西方向(绝对)",SolarPanelArrayNorthSouthRowAxis:"南北方向(绝对)",SolarPanelArrayMargin:"边缘余地",SolarPanelArrayPoleHeight:"支架高度",SolarPanelArrayPoleSpacing:"支柱间隔",SolarPanelArrayTotalYearlyCost:"全年总成本",SolarPanelArrayTotalYearlyRevenue:"全年总收入",SolarPanelArrayTotalYearlyYield:"全年总发电量",SolarPanelArrayMeanYearlyYield:"平均年发电量",SolarPanelArrayYearlyProfit:"全年利润",LayoutNotAcceptedCheckYourParameters:"恕不能采用此布局。请检查您的参数设置。"},optimizationMenu:{Optimization:"优化",Parameters:"参数",Variables:"变量",Constants:"常量",GeneticAlgorithm:"遗传算法",GeneticAlgorithmSettings:"遗传算法设定",ParticleSwarmOptimization:"粒子群优化",ParticleSwarmOptimizationSettings:"粒子群优化设定",SolarPanelTiltAngleOptimization:"光伏板倾斜角度优化",SolarPanelArrayLayout:"光伏板阵列布局",Generation:"世代",Gene:"基因",NormalizedVariables:"标准化变量",Objective:"目标函数",ObjectiveFunctionDailyTotalYield:"当日总产出",ObjectiveFunctionYearlyTotalYield:"全年总产出",ObjectiveFunctionDailyMeanYield:"当日平均产出",ObjectiveFunctionYearlyMeanYield:"全年平均产出",ObjectiveFunctionDailyProfit:"当日利润",ObjectiveFunctionYearlyProfit:"全年利润",GeneticAlgorithmSelectionMethod:"遗传算法选择方法",RouletteWheel:"轮盘制",Tournament:"淘汰制",SearchMethod:"搜索方法",GlobalSearchUniformSelection:"全局搜索均匀取样",LocalSearchRandomOptimization:"局部搜索随机优化",PopulationSize:"种群个体数目",MaximumGenerations:"最大世代数目",SelectionRate:"选择概率",CrossoverRate:"交配概率",MutationRate:"突变概率",Step:"步数",SwarmSize:"粒子数目",MaximumSteps:"最大步数",MaximumVelocity:"最大速度",InertiaWeight:"惯性权重",CognitiveCoefficient:"认知系数",SocialCoefficient:"社会系数",ConvergenceThreshold:"终止条件的收敛阈值",LocalSearchRadius:"局部搜索的半径",RowsPerRackRange:"单个支架上光伏板行数的变化范围",TiltAngleRange:"光伏板倾斜角度的变化范围",InterRowSpacingRange:"光伏板阵列行间距的变化范围",ClickTargetPolygonToActivate:"点击目标多边形激活",ClickTargetFoundationToActivate:"点击目标地基激活"},treeMenu:{ShowModel:"显示近似模型",Flip:"翻转",Type:"树种",Spread:"树冠直径"},flowerMenu:{Flip:"翻转",Type:"品种",Spread:"直径"},peopleMenu:{ChangePerson:"改变人物",Flip:"转身",Observer:"观察者",ViewFromThisPerson:"视角移到此人位置"},lightMenu:{Color:"颜色",Intensity:"亮度",Decay:"衰减",MaximumDistance:"最大距离",Inside:"内部"},solarCollectorMenu:{Coordinates:"坐标",RelativeXCoordinateOfCenter:"中心的相对X坐标",RelativeYCoordinateOfCenter:"中心的相对Y坐标",RelativeAzimuth:"相对方位角",Pole:"支柱",PoleHeight:"支柱高度",PoleRadius:"支柱半径",ExtraPoleHeight:"额外的支柱高度",ExtraPoleHeightInAdditionToHalfWidth:"宽度一半额外的支柱高度",DrawSunBeam:"显示光束"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"反射器镜面反射率",ReceiverAbsorptance:"接收器吸收率",ReflectorOpticalEfficiency:"反射器光效率",ReceiverThermalEfficiency:"接收器热效率"},solarPanelMenu:{ElectricalProperties:"电气特性",InverterEfficiency:"逆变器效率",InverterEfficiencyExplained:"直流电转换为交流电的效率。",DcToAcSizeRatio:"直流-交流容量比例",DcToAcSizeRatioExplained:"直流电容量和交流电容量的比例。",ChangePvModel:"改变光伏板型号",Orientation:"排列方向",Portrait:"纵向",Landscape:"橫向",FrameColor:"框架颜色",Panels:"块",PanelsWide:"块光伏板宽",PanelsLong:"块光伏板长",TiltAngle:"倾斜角度",SouthFacingIsPositive:"朝南为正",Tracker:"追日系统",SolarTrackerFollowsSun:"追日系统提高光伏板产出。",PoleSpacing:"支柱间隔",NoTracker:"无追日系统",HorizontalSingleAxisTracker:"水平单轴追日系统",VerticalSingleAxisTracker:"竖直单轴追日系统",AltazimuthDualAxisTracker:"地平双轴追日系统",OnlyThisSolarPanel:"只这个光伏板",AllSolarPanelsOnSurface:"同一表面上所有的光伏板",AllSolarPanelsAboveFoundation:"同一地基上所有的光伏板",AllSelectedSolarPanels:"所有选中的光伏板",AllSolarPanels:"所有的光伏板"},pvModelPanel:{SolarPanelSpecs:"光伏板型号性能",Model:"型号",PanelSize:"尺寸",Cells:"电池組",CellType:"光伏电池类型",Monocrystalline:"单晶硅",Polycrystalline:"多晶硅",ThinFilm:"薄膜",Bifacial:"双面",BifacialityFactor:"双面性因子",Black:"黑色",Blue:"蓝色",ShadeTolerance:"阴影耐受度",SolarCellEfficiency:"光伏电池效率",NominalOperatingCellTemperature:"名义电池运行温度",TemperatureCoefficientOfPmax:"Pmax温度系数"},parabolicTroughMenu:{ModuleLength:"模块长度",Modules:"模块",ModulesLong:"模块长",LatusRectum:"通径",OnlyThisParabolicTrough:"只这个抛物线槽",AllParabolicTroughsAboveFoundation:"同一地基上所有的抛物线槽",AllSelectedParabolicTroughs:"所有选中的抛物线槽",AllParabolicTroughs:"所有的抛物线槽"},fresnelReflectorMenu:{AbsorberPipe:"吸收管",SelectAbsorberToReflectSunlightTo:"选择阳光反射到的吸收管",ModuleLength:"模块长度",Modules:"模块",ModulesLong:"模块长",OnlyThisFresnelReflector:"只这个菲涅耳反射镜",AllFresnelReflectorsAboveFoundation:"同一地基上所有的菲涅耳反射镜",AllSelectedFresnelReflectors:"所有选中的菲涅耳反射镜",AllFresnelReflectors:"所有的菲涅耳反射镜"},heliostatMenu:{Tower:"吸收塔",SelectTowerToReflectSunlightTo:"选择阳光反射到的吸收塔",OnlyThisHeliostat:"只这个定日镜",AllHeliostatsAboveFoundation:"同一地基上所有的定日镜",AllSelectedHeliostats:"所有选中的定日镜",AllHeliostats:"所有的定日镜"},parabolicDishMenu:{ReceiverStructure:"接收器结构",CentralPole:"中心直柱",CentralPoleWithTripod:"三脚架和中心直柱",Quadrupod:"四脚架",RimDiameter:"外圈直径",LatusRectum:"通径",ExtraPoleHeightInAdditionToRadius:"半径之外额外的支架高度",OnlyThisParabolicDish:"只这个抛物线碟",AllParabolicDishesAboveFoundation:"同一地基上所有的抛物线碟",AllSelectedParabolicDishes:"所有选中的抛物线碟",AllParabolicDishes:"所有的抛物线碟"},windTurbineMenu:{BirdSafeDesign:"鸟类安全设计",BirdSafeNone:"无",BirdSafeBicolor:"双色",BirdSafeStriped:"条纹",Rotor:"转子",BladeNumber:"叶片数目",RotorInitialAngle:"转子初始角度",RotorBladeDesign:"转子叶片设计",RotorBladeRadius:"转子叶片半径",RotorBladePitchAngle:"转子叶片俯仰角",RelativeYawAngle:"相对偏流角",MaximumChordLength:"最大弦长度",Tower:"塔架",TowerHeight:"塔架高度",TowerRadius:"塔架半径",HubDesign:"转子轮毂设计",HubRadius:"轮毂半径",HubLength:"轮毂长度",OnlyThisWindTurbine:"只这个风力涡轮机",AllWindTurbinesAboveFoundation:"同一地基上所有的风力涡轮机",AllSelectedWindTurbines:"所有选中的风力涡轮机",AllWindTurbines:"所有的风力涡轮机"},wallMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",SizeOfWall:"墙的尺寸",OnlyThisWall:"只这堵墙",AllConnectedWalls:"所有连接的墙",AllWallsAboveFoundation:"同一地基上所有的墙",AllSelectedWalls:"所有选中的墙",AllWalls:"所有的墙",Windows:"窗户",LockAllUnlockedWindows:"固定所有非固定的窗户",UnlockAllLockedWindows:"解除所有的窗户固定",RemoveAllUnlockedWindows:"删除这堵墙上所有非固定的窗户",DoYouReallyWantToRemoveAllWindowsOnThisWall:"你确定删除这堵墙上所有非固定的窗户吗",Doors:"门",LockAllUnlockedDoors:"固定所有非固定的门",UnlockAllLockedDoors:"解除所有的门固定",RemoveAllUnlockedDoors:"删除这堵墙上所有非固定的门",DoYouReallyWantToRemoveAllDoorsOnThisWall:"你确定删除这堵墙上所有非固定的门吗",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"删除这堵墙上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"你确定删除这堵墙上所有非固定的光伏板吗",Sensors:"传感器",LockAllUnlockedSensors:"固定所有非固定的传感器",UnlockAllLockedSensors:"解除所有的传感器固定",RemoveAllUnlockedSensors:"删除这堵墙上所有非固定的传感器",DoYouReallyWantToRemoveAllSensorsOnThisWall:"你确定删除这堵墙上所有非固定的传感器吗",Lights:"电灯",LockAllUnlockedLights:"固定这堵墙上所有非固定的电灯",UnlockAllLockedLights:"解除这堵墙上所有的电灯固定",RemoveAllUnlockedLights:"删除这堵墙上所有非固定的电灯",DoYouReallyWantToRemoveAllLightsOnThisWall:"你确定删除这堵墙上所有非固定的电灯吗",Polygons:"多边形",LockAllUnlockedPolygons:"固定这堵墙上所有非固定的多边形",UnlockAllLockedPolygons:"解除这堵墙上所有的多边形固定",RemoveAllUnlockedPolygons:"删除这堵墙上所有非固定的多边形",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"你确定删除这堵墙上所有非固定的多边形吗",WallStructure:"墙结构",DefaultStructure:"默认",StudStructure:"墙柱",PillarStructure:"圆柱",Opacity:"遮光度",StructureSpacing:"结构间距",StructureWidth:"结构宽度",StructureThickness:"结构厚度",StructureColor:"结构颜色",Color:"牆体颜色",Height:"高度",Thickness:"厚度",Texture:"材质",AllLightsOnWallInside:"所有电灯在牆内",AllLightsOnWallOutside:"所有电灯在牆外",Fill:"填充",Full:"全部",Partial:"部分",Empty:"空白",OpenToOutside:"对外面开放",EavesLength:"屋檐延伸长度",Parapet:"女墙",ParapetColor:"女墙颜色",ParapetTexture:"女墙材质",ParapetHeight:"女墙高度",CopingsHeight:"顶盖高度",CopingsWidth:"顶盖宽度"},windowMenu:{OnlyThisWindow:"只这个窗户",AllWindowsOnSurface:"同一表面上所有的窗户",AllWindowsAboveFoundation:"同一地基上所有的窗户",AllSelectedWindows:"所有选中的窗户",AllWindows:"所有的窗户",Width:"宽度",Height:"高度",Setback:"离墙体外表面的距离",RelativeToWallThickness:"相对于墙的厚度",Mullion:"直棂",HorizontalMullion:"水平的直棂",VerticalMullion:"竖直的直棂",MullionWidth:"直棂宽度",HorizontalMullionSpacing:"水平直棂的间距",VerticalMullionSpacing:"竖直直棂的间距",MullionColor:"直棂颜色",Tint:"着色",Opacity:"不透明度",SolarHeatGainCoefficient:"太阳辐射热获取系数(SHGC) = 1 - 不透明度",Shutter:"百叶窗",LeftShutter:"左侧百叶窗",RightShutter:"右侧百叶窗",BothShutters:"两侧百叶窗",ShutterWidth:"相对宽度",ShutterColor:"百叶窗颜色",Frame:"边框",FrameWidth:"边框宽度",SillWidth:"窗台宽度",Color:"边框颜色",WindowType:"窗户种类",Default:"默认",Arched:"拱形",Polygonal:"多边形",Interior:"内窗",Empty:"空白"},roofMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",OnlyThisRoof:"只这个屋顶",AllRoofsAboveFoundation:"同一地基上所有的屋顶",AllSelectedRoofs:"所有选中的屋顶",AllRoofs:"所有的屋顶",OnlyThisCeiling:"只这个天花板",AllCeilingsAboveFoundation:"同一地基上所有的天花板",AllCeilings:"所有的天花板",EavesOverhangLength:"屋檐延伸长度",RafterSpacing:"屋椽间距",RafterWidth:"屋椽宽度",RafterThickness:"屋椽厚度",RafterColor:"屋椽颜色",RoofColor:"屋顶颜色",RoofSideColor:"屋顶侧面颜色",GlassTint:"玻璃颜色",Opacity:"遮光度",RoofStructure:"屋顶结构",DefaultStructure:"默认",RafterStructure:"屋椽",GlassStructure:"玻璃",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"删除这个屋顶上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"你确定删除这个屋顶上所有非固定的光伏板吗",Windows:"天窗",LockAllUnlockedWindows:"固定所有非固定的天窗",UnlockAllLockedWindows:"解除所有的天窗固定",RemoveAllUnlockedWindows:"删除这个屋顶上所有非固定的天窗",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"你确定删除这个屋顶上所有非固定的天窗吗",Sensors:"传感器",LockAllUnlockedSensors:"固定所有非固定的传感器",UnlockAllLockedSensors:"解除所有的传感器固定",RemoveAllUnlockedSensors:"删除这个屋顶上所有非固定的传感器",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"你确定删除这个屋顶上所有非固定的传感器吗",Lights:"电灯",RemoveAllUnlockedLights:"删除这个屋顶上所有非固定的电灯",DoYouReallyWantToRemoveAllLightsOnThisRoof:"你确定删除这个屋顶上所有非固定的电灯吗",AllLightsOnRoofInside:"所有电灯在屋顶内",AllLightsOnRoofOutside:"所有电灯在屋顶外",Rise:"相对高度",Ceiling:"天花板",RoofRValue:"屋顶R值",CeilingRValue:"天花板R值"},doorMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",Texture11:"十一号材质",Texture12:"十二号材质",Texture13:"十三号材质",Texture14:"十四号材质",Texture15:"十五号材质",Texture16:"十六号材质",Texture17:"十七号材质",OnlyThisDoor:"只这个门",AllDoorsOnWall:"同一面墙上所有的门",AllDoorsAboveFoundation:"同一地基上所有的门",AllSelectedDoors:"所有选中的门",AllDoors:"所有的门",DoorType:"门种类",Default:"默认",Arched:"拱形",Filled:"填充",FrameColor:"门框颜色",Interior:"内门"},siteInfoPanel:{High:"最高温度",Low:"最低温度"},designInfoPanel:{NumberOfSelectedHeliostats:"选中的定日镜总数",NumberOfSelectedSolarPanels:"选中的光伏板总数",ElectricityGeneratedDailyBySolarPanels:"这些光伏板的日发电量",SceneDiameter:"场景直径",BuildingArea:"建筑面积"},visualizationControlPanel:{ColorContrast:"热图颜色对比度",FluxScale:"热通量长度",ClickUpOrDownArrowButtonsToChange:"点击上下箭头改变参数"},instructionPanel:{Rotate:"旋转",DragMouse:"拖动鼠标",Zoom:"缩放",MouseWheelOrKeys:"鼠标滚轮或者Ctrl+[和Ctrl+]",MouseWheelOrKeysMac:"鼠标滚轮或者⌘+[和⌘+]",Pan:"平移",HoldCtrlDragMouse:"按下Ctrl键并拖动鼠标",HoldMetaDragMouse:"按下⌘键并拖动鼠标",Enter2DMode:"進入二维模式",Exit2DMode:"退出二维模式",NavigationMode:"导航模式",EnableNavigation:"進入导航模式",DisableNavigation:"退出导航模式",MoveForwardBack:"前后移动",MoveForwardBackInstruction:"按W/S键",MoveLeftRight:"左右移动",MoveLeftRightInstruction:"按A/D键",MoveUpDown:"上下移动",MoveUpDownInstruction:"按Z/X键",Turn:"拐弯",TurnInstruction:"按方向键",ResetView:"重置视角",AutoRotate:"自动旋转",StartOrStop:"按F4键启动或停止"},mapPanel:{ImageOnGround:"地面显示图像",HideAddress:"隐藏地址",WeatherStations:"气象站",WeatherStationsNote:"关闭此选项以提高地图速度",Coordinates:"经纬度坐标",Zoom:"放大程度"},visibilityPanel:{SolarPanelVisibility:"光伏板对观察者的可见度",Observer:"观察者",VantagePoint:"观察位置",ItemizedVisibilityByFields:"每个场的可见度",TotalVisibility:"总可见度"},sensorPanel:{LightSensor:"光传感器",WeatherDataFrom:"气象数据来自"},buildingEnergyPanel:{DailyBuildingEnergy:"建筑物日能耗",YearlyBuildingEnergy:"建筑物年能耗",Heater:"暖气",AC:"空调",SolarPanel:"光伏",Net:"净能耗"},solarPanelYieldPanel:{SolarPanelDailyYield:"光伏日发电量",SolarPanelYearlyYield:"光伏年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualSolarPanels:"显示每行光伏板单独发电量",Profit:"利润",TotalCost:"总成本",TotalRevenue:"总收入",TotalYield:"总发电量",MeanYield:"平均发电量",ModuleCount:"光伏板总数"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"抛物线槽日发电量",ParabolicTroughYearlyYield:"抛物线槽年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualParabolicTroughs:"显示每行抛物线槽单独发电量"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"抛物线碟日发电量",ParabolicDishYearlyYield:"抛物线碟年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualParabolicDishes:"显示每个抛物线碟单独发电量"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"菲涅耳反射镜日发电量",FresnelReflectorYearlyYield:"菲涅耳反射镜年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualFresnelReflectors:"显示每个菲涅耳反射镜单独发电量"},heliostatYieldPanel:{HeliostatDailyYield:"定日镜日发电量",HeliostatYearlyYield:"定日镜年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualHeliostats:"显示每个定日镜单独发电量"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"太阳能上升气流塔日发电量",UpdraftTowerYearlyYield:"太阳能上升气流塔年发电量",ChimneyAirTemperature:"烟囱空气温度",ChimneyWindSpeed:"烟囱风速",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualUpdraftTowers:"显示每个太阳能上升气流塔单独发电量"},heliodonPanel:{SunAndTimeSettings:"太阳和时间设置",SunAngles:"角度",TwentyFourHours:"24小时"},cloudFilePanel:{CopyTitle:"拷贝标题",TitleCopiedToClipBoard:"标题拷贝到剪贴板",SearchByTitle:"按标题搜索",MyLikes:"我喜欢的模型",MyCloudFiles:"我的云文件",GenerateLink:"生成链接",LinkGeneratedInClipBoard:"链接生成到剪贴板",DoYouReallyWantToDelete:"您确定删除此文件",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"如果此文件已被分享或发布, 改名会使已有链接失效"},projectListPanel:{CopyTitle:"拷贝标题",TitleCopiedToClipBoard:"标题拷贝到剪贴板",SearchByTitle:"按标题搜索",MyProjects:"我的项目",GenerateProjectLink:"生成项目链接",ProjectLinkGeneratedInClipBoard:"项目链接生成到剪贴板",DoYouReallyWantToDeleteProject:"您确定删除项目",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"如果此项目已被分享或发布, 改名会使已有链接失效"},projectPanel:{ProjectSettings:"项目设定",ThumbnailImageSize:"缩略图大小",ProjectByOtherPeople:"别人的项目",Project:"项目",ProjectType:"类别",ProjectDescription:"描述",MakeDescriptionEditable:"编辑描述",MakeDescriptionNonEditable:"不编辑描述",DoubleClickToMakeDescriptionEditable:"双击此描述激活编辑功能",SolarPanelArray:"光伏板阵列设计",CurateCurrentDesign:"收藏当前设计",UpdateSelectedDesign:"更新选中设计",RemoveSelectedDesign:"删除选中设计",ClickToFlipSortingOrder:"点击逆转排序方向",DesignNotShownInSolutionSpaceClickToShow:"此设计目前不显示在设计空间内,点击显示",DesignShownInSolutionSpaceClickToHide:"此设计目前显示在设计空间内,点击隐藏",SolutionSpace:"设计空间",ChooseSolutionSpace:"选择设计空间",ChooseDataColoring:"选择数据着色",SameColorForAllDesigns:"所有设计一个颜色",OneColorForEachDesign:"每个设计一个颜色",SolutionSpaceScreenshot:"设计空间截屏",ScatterPlotScreenshot:"散点图截屏",SingleClickToSelectDoubleClickToOpen:"单击选择,双击打开。",SingleClickToDeselectDoubleClickToOpen:"单击取消选择,双击打开。",GenerateScatterPlot:"生成散点图",SelectXAxis:"选择X轴",SelectYAxis:"选择Y轴"},accountSettingsPanel:{MyAccountSettings:"我的账户设定",MyID:"我的🆔",ClickToCopyMyID:"点击此处拷贝我的ID",IDInClipBoard:"您现在可以粘贴ID了。",StoreMyNameInMyFilesWhenSaving:"保存文件时签上我的大名",DoYouReallyWantToShowYourNameInYourFiles:"您确定在您的文件里保存您的大名吗?",SignFileDisclaimer:"如果您选择保存,您的大名可能被所有打开您的文件的人看到。",Likes:"点赞总数",AllPublished:"发布总数",PublishedUnderAliases:"别名发布",UserCount:"用户总数",SchoolID:"学校编号",ClassID:"班级编号"},weatherPanel:{SunshineHours:"日照时间"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"选择气温模型",Sinusoidal:"正弦函数"},economicsPanel:{EconomicsParameters:"经济学参数",ElectricitySellingPrice:"销售电价",OperationalCostPerUnit:"单位运行成本",SellingPrice:"销售电价",UnitCost:"单位成本"},navigationPanel:{NavigationParameters:"导航模式参数",MinimumMoveSpeed:"最小移动速度",MinimumTurnSpeed:"最小拐弯速度"},shadowSettingsPanel:{ShadowSettings:"阴影设定",ShadowCameraFarDistance:"最远距离",ShadowMapSize:"映射图长宽",Notes:"注意事项",RefreshPageNote:"改变设置后须刷新页面。",MapSizeWarning:"大的映射图长宽可能导致阿拉丁无法在某些电脑上运行。"},yearlyLightSensorPanel:{SkyClearness:"天空清晰度",ShowDaylightResults:"显示日照时间结果",ShowSkyClearnessResults:"显示天空清晰度结果",ShowAverageDailySolarRadiation:"显示日平均辐射结果"},analysisManager:{NoSensorForCollectingData:"没有传感器收集数据。",NoSolarPanelForAnalysis:"没有光伏板可以分析。",NoObserverForVisibilityAnalysis:"没有找到可见度分析的观察者。",NoWaterHeaterForAnalysis:"沒有太阳能热水器可以分析。",NoParabolicDishForAnalysis:"沒有抛物线碟可以分析。",NoParabolicTroughForAnalysis:"沒有抛物线槽可以分析。",NoFresnelReflectorForAnalysis:"沒有菲涅耳反射镜可以分析。",NoHeliostatForAnalysis:"沒有定日镜可以分析。",NoSolarUpdraftTowerForAnalysis:"沒有太阳能上升气流塔可以分析。",NoBuildingForAnalysis:"沒有建筑物可以分析。"},toolbar:{CloudFile:"云文件",Select:"选择",AddFoundation:"添加地基",AddWall:"添加墙体",AddWindow:"添加窗户",AddDoor:"添加门",AddPyramidRoof:"添加金字塔屋顶",AddGableRoof:"添加双坡屋顶",AddHipRoof:"添加四坡屋顶",AddGambrelRoof:"添加复斜屋顶",AddMansardRoof:"添加折线屋顶",AddCuboid:"添加长方体",AddSensor:"添加传感器",AddSolarPanel:"添加光伏板",AddWaterHeater:"添加太阳能热水器",AddParabolicDish:"添加抛物线碟",AddParabolicTrough:"添加抛物线槽",AddFresnelReflector:"添加菲涅耳反射镜",AddHeliostat:"添加定日镜",AddWindTurbine:"添加水平轴风力涡轮机",AddVerticalAxisWindTurbine:"添加垂直轴风力涡轮机",AddLight:"添加电灯",AddTree:"添加树木",AddFlower:"添加花草",AddPeople:"添加人物",DoubleClickToLockThisModeForNextAction:"双击按钮给下个动作锁定此模式",ClickToUnlockThisModeForNextAction:"点击按钮让动作完成即离开此模式",ManipulateGroup:"整体操作一个组",ClearScene:"清空场景",ShowSunAndTimeSettings:"显示太阳和时间设置",SpatialAnalysisOfEnergy:"能量的空间分析",DoYouReallyWantToClearContent:"您确定清空场景吗",ClickForMoreButtons:"点击此处切换到更多的按钮模式"},tooltip:{gotoIFI:"访问未来智能研究所",visitAladdinHomePage:"访问阿拉丁主页",clickToOpenMenu:"点击打开主菜单",clickToAccessAccountSettings:"点击打开账号设定"},tree:{Apple:"苹果树",Birch:"白桦",Coconut:"椰子树",Dogwood:"茱萸",Elm:"榆树",FanPalm:"扇叶棕榈",Linden:"菩提",Magnolia:"玉兰",Maple:"枫树",Oak:"橡树",Pine:"松树",Spruce:"云杉"},flower:{Bellflower:"铃兰",Boxwood:"黄杨",CactusCombo1:"仙人掌组合一",CactusCombo2:"仙人掌组合二",CactusCombo3:"仙人掌组合三",CactusCombo4:"仙人掌组合四",Hibiscus:"木槿",Hosta:"玉簪",Hydrangea:"绣球花",Peony:"牡丹",RedRose:"红玫瑰",Spirea:"绣线菊",Sunflower:"向日葵",TallBush:"高灌木",Tulip:"郁金香",WhiteFlower:"白花",YellowFlower:"黄花"},people:{Jaah:"贾阿",Jack:"杰克",Jacob:"雅各布",Jacqueline:"杰奎琳",Jade:"美玉",Jamelia:"洁米莉雅",James:"詹姆斯",Jane:"简",Jaya:"佳娅",Jaye:"杰伊",Jeanette:"珍妮特",Jedi:"杰迪",Jeff:"杰夫",Jena:"珍娜",Jennifer:"珍尼弗",Jess:"杰西",Jett:"杰特",Jill:"吉尔",Jiya:"吉娅",Joan:"琼",Jocelyn:"乔斯林",Joel:"乔尔",Joey:"乔伊",John:"约翰",Jonathon:"乔纳森",Jose:"何塞",Joseph:"约瑟夫",Joshua:"约书亚",Judd:"贾德",Judy:"朱蒂",Julia:"朱莉娅",Julio:"胡里奥",Jumapili:"祖玛匹莉",June:"准卫",Juro:"朱诺",Justin:"贾斯汀"},compass:{N:"北",S:"南",W:"西",E:"东"},month:{January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},modelsMap:{SearchByPublisher:"按发布者搜索",SearchByLabel:"按标签搜索",MyPublishedModels:"我发布的模型",TotalNumberOfUserPublishedModels:"用户发布的模型总数",SortFromOldestToNewest:"从早到晚排序",SortFromNewestToOldest:"从晚到早排序",ModelsFoundOnThisSite:"个模型在此位置",ShowModelsPublishedByThisAuthor:"展示此用户发布的模型"}}},Gft={translation:{name:{IFI:"未來智能研究所",Aladdin:"阿拉丁",Tagline:"阿拉丁: 探索人工智慧時代的設計軟體 — 未來智能研究所研發"},cookie:{Statement:"聲明:為了改善您的用戶體驗,阿拉丁採用cookie儲存少量數據。",Accept:"同意"},aboutUs:{ProductBroughtToYouBy:"未來智能研究所榮譽出品",TermsOfService:"服務條款",PrivacyPolicy:"隱私政策",Software:"軟體",Content:"課件",Research:"研究",Support:"服務",Acknowledgment:"鳴謝",FundingInformation:"本產品的研發承蒙美國國家科學基金會慷慨資助(項目號#2105695,#2131097,#2301164)。本產品的任何觀點或結論僅代表創作者個人意見。",Contact:"如您需要更多資訊,請聯繫 Charles Xie (charles@intofuture.org)。我們會盡快回复。",Translators:"翻譯"},word:{LastUpdate:"上一次更新",Small:"小",Medium:"中",Large:"大",Design:"設計",Information:"資訊",Type:"類别",Text:"文字",FontSize:"字體大小",FontColor:"字體顏色",Model:"模型",Models:"模型",Upload:"上傳",ClickCount:"點擊數",Share:"分享",AlreadyLike:"已點贊",Like:"點贊",MustLogInToLike:"必須登錄才能點贊",AllRightsReserved:"版權所有",MeterAbbreviation:"米",Version:"版本",VersionInitial:"版本",Options:"選項",Maximum:"最大",Minimum:"最小",MaximumNumber:"最多",MinimumNumber:"最少",MaximumValue:"最大值",MinimumValue:"最小值",Or:"或",None:"無",High:"高",Partial:"部分",Teacher:"老師",Class:"班級",Total:"總數",Leaderboard:"用戶排行榜",Latest:"最新",Range:"範圍",SIUnit:"國際單位制",USUnit:"美國單位制",ThermalTransmittance:"熱透過率",ThermalResistance:"熱阻",UValue:"U值",RValue:"R值",VolumetricHeatCapacity:"容積熱容",BuildingHVACSystem:"建築物暖通空調系統",ThermostatSetpoint:"恆溫器設定值",TemperatureToleranceThreshold:"溫度忍耐閾值",TemperatureToleranceThresholdExplanation:`當日最低外面溫度高於恆溫器設定值減去此閾值,暖氣不開。 -當日最高外面溫度低於恆溫器設定值加上此閾值,空調不開。`,Press:"按",Open:"打開",Save:"保存",SaveAsImage:"保存為圖像",SaveAsCsv:"保存為CSV",Update:"刷新",Paste:"粘貼",Copy:"複製",Cut:"剪切",Delete:"删除",Lock:"固定",Translucent:"半透明",Color:"顏色",Pattern:"圖案",Texture:"材質",Thickness:"厚度",Size:"尺寸",Yes:"是",No:"不",OK:"確定",Cancel:"取消",Apply:"應用",Close:"關閉",ApplyTo:"適用於",Run:"運行",Pause:"暫停",Resume:"繼續",Clear:"清空",Warning:"警告",Caution:"小心",Reminder:"提醒",Length:"長度",Width:"寬度",Height:"高度",Radius:"半徑",Angle:"角度",Azimuth:"方位角",Coordinates:"坐標",Weather:"天氣",Show:"顯示",Animate:"動畫",Date:"日期",Time:"時間",Title:"標題",Owner:"所有者",Action:"操作",Rename:"改名",Location:"位置",Latitude:"緯度",Month:"月份",Day:"天",Hour:"小時",Daylight:"白天長度",Radiation:"輻射",Temperature:"温度",kWh:"千瓦時",dollar:"元",MeterPerSecond:"米/秒",NorthInitial:"北",SouthInitial:"南",EastInitial:"東",WestInitial:"西",Fixed:"固定",Elements:"部件",Energy:"能量",Unknown:"未知",Label:"標籤",Description:"描述",NoDescription:"無描述",MaximumCharacters:"最多字符數",Author:"作者",Publisher:"發布者",Building:"建築",ResidentialBuilding:"住宅建築",CommercialBuilding:"商用建築",SchoolBuilding:"學校建築",TouristAttraction:"旅遊景點",UnderConstruction:"在建",Photovoltaic:"光伏",WindPower:"風能",ColocationProjects:"共用空間專案",Anonymous:"無名氏",Nickname:"别名",Pin:"置頂",Unpin:"解除置頂"},shared:{NoTexture:"無材質",FoundationElement:"地基",CuboidElement:"長方體",PolygonElement:"多邊形",SensorElement:"傳感器",SolarPanelElement:"光伏板",WaterHeaterElement:"太陽能熱水器",ParabolicDishElement:"拋物線碟",ParabolicTroughElement:"拋物線槽",FresnelReflectorElement:"菲涅耳反射鏡",HeliostatElement:"定日鏡",WindTurbineElement:"風力渦輪機",LightElement:"電燈",ElementLocked:"固定",ModelType:"模型類别",OutputBreakdown:"分列發電量",MoreResults:"更多結果"},message:{CalculationMayBeSlowDoYouWantToContinue:"計算可能會很慢。您想繼續嗎?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"加大太陽輻射熱圖網格的尺寸可加速",ModelNotFound:"沒有找到模型",CannotSignIn:"登錄失敗",CannotSignOut:"退出失敗",YourAccountWasCreated:"成功建立您的賬號。",CannotCreateAccount:"無法創建賬號",YourAccountSettingsWereSaved:"您的賬號設定已保存。",CannotSaveYourAccountSettings:"您的賬號設定無法保存",CannotSaveYourFileToCloud:"無法保存您的文檔到雲端",CannotCreateNewProject:"無法創建新專案",CannotCreateNewProjectWithoutTitle:"沒有標題, 無法創建新專案",CannotOpenYourProjects:"無法打開您的專案列表",CannotOpenProject:"無法打開專案",CannotDeleteProject:"無法刪除專案",CannotRenameProject:"無法給專案改名",CannotAddDesignToProject:"無法把此設計加到專案裡",CannotAddDesignToProjectOwnedByOthers:"不能把此設計加到別人的專案裡",DesignRemovedFromProject:"設計被成功地從專案裡刪除",CannotRemoveDesignFromProject:"無法把此設計從專案裡刪除",CannotUpdateProject:"無法更新專案",CannotFetchProjectData:"無法取得專案數據",TitleUsedChooseDifferentOne:"此標題已經被使用, 請採用不同的標題",CloudFileWithTitleExistsDoYouWantToOverwrite:"使用此標題的雲文檔已經存在,您確定要覆蓋它嗎?",CloudFileNotFound:"找不到此云端文檔",CannotLoadModelsOnMap:"無法下載地圖上的模型",CannotLoadLeaderboard:"無法下載排行榜",CannotPublishModelOnMap:"模型無法發佈到地圖上",CannotLikeModelFromMap:"無法點贊地圖上的模型",CannotDeleteModelFromMap:"無法删除地圖上的模型",ModelDeletedFromMap:"模型已從地圖上刪除",DoYouWantToDeleteModelFromMap:"您要删除地圖上的這個模型嗎?",CannotOpenCloudFile:"此云端文檔無法打開",CannotReadCloudFile:"無法讀取此云端文檔",CannotWriteCloudFile:"無法存儲此云端文檔",CloudFileCopied:"拷貝云端文檔",CannotOpenCloudFolder:"您的雲端文檔夾無法打開",CannotDeleteCloudFile:"無法刪除此云端文檔",CannotRenameCloudFile:"此云端文檔的名字無法更改",DoYouWantToSaveChanges:"您要保存當前文檔嗎?",NotApplicableToSelectedAction:"此值不適用於當前選擇範圍",ThisElementIsLocked:"這個部件被鎖定。",ThisCannotBeUndone:"這個操作一旦執行就不能撤銷。",AzimuthOfNorthIsZero:"正北的方位角為零度",CounterclockwiseAzimuthIsPositive:"逆時針為正",SouthFacingIsZero:"朝南為零度",ClockwiseRotationIsPositive:"順時針為正",MoveCancelledBecauseOfOverlap:"位置重疊,移動取消。",MoveOutsideBoundaryCancelled:"位置出界,移動取消。",RotationCancelledBecauseOfOverlap:"位置重疊,旋轉取消。",RotationOutsideBoundaryCancelled:"位置出界,旋轉取消。",ResizingCancelledBecauseOfOverlap:"位置重疊,尺寸調整取消。",ResizingOutsideBoundaryCancelled:"位置出界,尺寸調整取消。",CannotPasteOutsideBoundary:"位置出界,不能複制。",CannotPasteBecauseOfOverlap:"位置重疊,不能複制。",CannotMoveObjectTooFar:"位置太遠,移動取消。",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"採用新佈局之前必須移除現有的光伏板。",DoYouWantToContinue:"您想繼續嗎?",SolarPanelsCannotIntersectWithGround:"光伏板不能和地面接觸。",SolarPanelsCannotOverlapWithOneAnother:"光伏板不能重疊。",ScreenshotSaved:"截屏圖片保存在下載文檔夾裡。",CsvFileSaved:"CSV保存在下載文檔夾裡。",SimulationStarted:"模擬開始。",SimulationCompleted:"模擬結束。",SimulationAborted:"模擬取消。",SimulationPaused:"模擬暫停。",CancelSimulation:"取消模擬",PauseSimulation:"暫停模擬",ResumeSimulation:"繼續模擬",SimulationWillNotStartDueToErrors:"由於錯誤模擬無法運行",SimulationWillStartDespiteWarnings:"發現問題,但模擬仍然將運行。",EvolutionStarted:"演化開始。",EvolutionCompleted:"演化結束。",EvolutionAborted:"演化取消。",EvolutionPaused:"演化暫停。",EncounterEvolutionError:"演化出錯。",CancelEvolution:"取消演化",PauseEvolution:"暫停演化",ResumeEvolution:"繼續演化",ConvergenceThresholdHasBeenReached:"收斂閾值已達到。",MaximumNumberOfGenerationsHasBeenReached:"最大世代數已達到。",MaximumNumberOfStepsHasBeenReached:"最大步數已達到。",ObjectiveFunctionTypeError:"此操作不支持當前的目標函數。請從菜單啟動此功能。",WallsAreNotAtSameHeight:"墻體高度不同。",WallsAreNotPerpendicular:"墻體不垂直。",WallsAreNotConnected:"墻體不相連。",WallsNumberNeedToBeFour:"墻體數量必須為四個。",BuildingContainsEmptyWall:"建築物有空牆。",BuildingRoofMissing:"建築物沒有屋頂。",UnknownErrors:"未知錯誤。"},menu:{AnalysisOptions:"分析選項",option:{GridCellSize:"計算網格的尺寸",SamplingFrequency:"採樣頻率",TimesPerHour:"每小時採樣次數",DaysPerYear:"每一年採樣天數"},mainMenu:"主菜單",cloudMenu:"雲菜單",projectSubMenu:"專案",project:{CreateNewProject:"創建新專案",OpenProject:"打開專案",SaveProject:"保存專案",SaveProjectAs:"另存專案為",YouMustLogInToCreateProject:"您必須登錄才能創建專案",YouMustLogInToOpenProject:"您必須登錄才能打開專案"},fileSubMenu:"文檔",file:{CreateNewFile:"創建新文檔",OpenLocalFile:"打開本地文檔",SaveAsLocalFile:"保存為本地文檔",SavingAbortedMustHaveValidFileName:"文檔名無效,保存失敗",OpenCloudFile:"打開雲端文檔",SaveCloudFile:"保存雲端文檔",SaveAsCloudFile:"另存雲端文檔為",SavingAbortedMustHaveValidTitle:"雲端文檔名無效,保存失敗",ToSaveYourWorkPleaseSignIn:"為了保存您的雲端文檔,請先登錄。",TakeScreenshot:"截屏",UseCloudFileName:"採用雲端文件名",PublishOnModelsMap:"發佈到地圖上",PublishedOnModelsMap:"您的模型成功發佈到地圖上",UpdatedOnModelsMap:"您的模型更新成功",YouMustLogInToPublishYourModel:"您必須登錄才能發布模型",YouCannotPublishAModelThatYouDoNotOwn:"您不能發布他人的模型",YouMustSaveModelOnCloudBeforePublishingIt:"您必須先把此模型保存在雲端才能發布它"},editSubMenu:"編輯",edit:{Undo:"撤銷",Redo:"重做"},viewSubMenu:"視界",view:{NavigationView:"導航模式",TwoDimensionalView:"二維模式",ResetView:"重置視角",ZoomIn:"放大",ZoomOut:"縮小",AutoRotate:"自動旋轉",ShowShadow:"顯示陰影",ShowSurfaceShininess:"顯示表面光澤",TranslucentFloatingWindows:"透明浮動窗口",accessoriesSubMenu:"配件",accessories:{SiteInformation:"位置資訊",DesignInformation:"設計資訊",Instruction:"操作說明",StickyNote:"便簽",Note:"便簽"}},settingsSubMenu:"設置",settings:{WeatherData:"氣象數據",DiurnalTemperature:"晝夜溫度",Heliodon:"日影儀",SunAndTime:"太陽和時間"},benchmarksSubMenu:"基準",benchmarks:{SolarRadiationPredictionVsMeasurement:"太陽能輻射模型預測和實際測量的對比",BESTESTCase600:"建築物能耗模擬測試:BESTEST案例600",BESTESTCase610:"建築物能耗模擬測試:BESTEST案例610",BESTESTCase620:"建築物能耗模擬測試:BESTEST案例620",BESTESTCase630:"建築物能耗模擬測試:BESTEST案例630"},graph:{LineWidth:"線條寬度",SymbolSize:"符號大小",BarCategoryGap:"直條間隙",ShowHorizontalGridLines:"顯示格子的水平線條",ShowVerticalGridLines:"顯示格子的豎直線條"},analysisSubMenu:"分析",physicsSubMenu:"物理",physics:{DailySolarRadiationHeatmap:"當日太陽輻射總量分佈熱圖",SolarRadiationHeatmapOptions:"太陽輻射熱圖選項",SolarRadiationHeatmapGridCellSize:"太陽輻射熱圖網格的尺寸",SolarRadiationHeatmapMaxValue:"太陽輻射熱圖最大值",SolarRadiationHeatmapNoAnimation:"若無移動部件則省略動畫",ReflectionHeatmap:"反射熱圖"},sensorSubMenu:"傳感器",sensor:{CollectDailyData:"收集當天數據",CollectYearlyData:"收集全年數據",SensorSimulationNoAnimation:"若無移動部件則省略動畫"},buildingSubMenu:"建築物",building:{AnalyzeDailyBuildingEnergy:"建築物當天能耗分析",AnalyzeYearlyBuildingEnergy:"建築物全年能耗分析",EnergyAnalysisOptions:"能耗分析選項",EnergyGridCellSize:"計算網格的尺寸",BuildingEnergySimulationNoAnimation:"若無移動部件則省略動畫"},solarPanelSubMenu:"太陽能光伏板",solarPanel:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出",AnalyzeVisibility:"分析可見度",PanelDiscretization:"光伏板離散化方法",Exact:"準確",Approximate:"近似",EnergyGridCellSize:"計算網格的尺寸",VisibilityGridCellSize:"視界因子計算網格的尺寸",EnergyAnalysisOptions:"能量分析選項",VisibilityAnalysisOptions:"可見度分析選項",SolarPanelSimulationNoAnimation:"若無移動部件則省略動畫"},parabolicTroughSubMenu:"拋物線槽",parabolicTrough:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},parabolicDishSubMenu:"拋物線碟",parabolicDish:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},fresnelReflectorSubMenu:"菲涅爾反射鏡",fresnelReflector:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},heliostatSubMenu:"定日鏡",heliostat:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},solarUpdraftTowerSubMenu:"太陽能上升氣流塔",solarUpdraftTower:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出",SolarUpdraftTowerSimulationNoAnimation:"若無移動部件則省略動畫"},tutorialsSubMenu:"教程",solarEnergyScienceSubMenu:"太陽能科學",solarEnergyScienceTutorials:{SunAngles:"太陽相對於地面觀察者的角度",InsolationAndClimate:"太陽輻射和氣候的關係",SolarRadiationToBox:"一個長方體受到的太陽能輻射分析"},buildingScienceSubMenu:"建築科學",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"房屋的熱學封套和圍護封套",EffectOfSizeOnBuildingEnergy:"房屋大小對能耗的影響",EffectOfOrientationOnBuildingEnergy:"房屋方位對能耗的影響",EffectOfInsulationOnBuildingEnergy:"房屋隔熱對能耗的影響",EffectOfRoofColorOnBuildingEnergy:"屋頂顏色對建築物能耗的影響",EffectOfEavesOverhangLengthOnBuildingEnergy:"屋簷延伸長度對建築物能耗的影響",EffectOfWindowSHGCOnBuildingEnergy:"窗戶太陽能輸入對房屋能耗的影響",EffectOfThermostatSetpointOnBuildingEnergy:"恆溫器設定值對房屋能耗的影響",EffectOfSolarPanelsOnBuildingEnergy:"光伏板對房屋能耗的影響",EffectOfGroundTemperatureOnBuildingEnergy:"地表温度對房屋能耗的影響",EffectOfTreesOnBuildingEnergy:"樹蔭對房屋能耗的影響"},buildingDesignSubMenu:"建築設計",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"有棚頂窗的科德角風格的住宅",MansardRoofWithDormers:"有天窗的折線屋頂",GableRoofVsHipRoof:"雙坡屋頂和四坡屋顶的對比",ColonialVsSaltbox:"殖民地風格和鹽盒風格的對比",GambrelRoofVsMansardRoof:"复斜屋顶和折線屋頂的對比",CombinationRoofVsBonnetRoof:"組合屋頂和帽簷屋頂的對比",DutchGableRoof:"荷蘭雙坡屋頂",GableAndValleyRoof:"坡谷屋頂",ClerestoryRoof:"天窗屋頂",MonitorRoof:"採光屋頂",AFrameHouse:"A字形房子",HalfTimberedHouse:"半木骨架房子",AllBasicRoofTypes:"所有的基本屋頂類型"},photovoltaicSolarPowerSubMenu:"光伏發電",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"光伏板傾斜角對發電量的影響",EffectOfAzimuthOfSolarPanel:"光伏板方位角對發電量的影響",SolarPanelTypes:"光伏板類型",VerticalBifacialSolarPanels:"豎直的雙面光伏板",CompareMonofacialAndBifacialSolarPanels:"單面光伏板和雙面光伏板的對比",SolarTrackers:"自動追日器",CoveringGroundWithSolarPanels:"為什麼我們不簡單地用光伏板覆蓋地面",InterRowSpacingOfSolarPanelArray:"光伏板陣列行間距對發電量的影響",EffectOfOrientationOfSolarPanels:"光伏板排列方向對發電量的影響",SolarPanelArrayAutomaticLayout:"光伏板自動排列"},concentratedSolarPowerSubMenu:"光熱發電",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"拋物線槽方位角對發電量的影響",EffectOfLatusRectumOfParabolicTrough:"拋物線槽通徑對發電量的影響",FocusSunlightWithParabolicDish:"用拋物線碟聚焦阳光",LinearFresnelReflectors:"用直線式菲涅爾反射鏡聚焦阳光",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"吸熱管的安装高度對直線式菲涅爾反射鏡發電量的影響",EffectOfAzimuthOfLinearFresnelReflectors:"直線式菲涅爾反射鏡方位角對發電量的影響",LinearFresnelReflectorsWithTwoAbsorbers:"配備兩個吸收管的直線式菲涅爾反射鏡陣列",CosineEfficiencyOfHeliostats:"定日鏡的餘弦效率",ShadowingAndBlockingOfHeliostats:"定日鏡的陰影和遮擋",EffectSolarPowerTowerHeight:"吸收塔高度對發電量的影響",SolarPowerTower:"塔式光熱發電站"},otherTypesOfSolarPowerSubMenu:"其它類型的太陽能發電",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"太陽能上升氣流塔"},windPowerSubMenu:"風力發電",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"轉子葉片的數目對風力渦輪機輸出的影響",EffectOfPitchAngleOfWindTurbineBlades:"轉子葉片的俯仰角對風力渦輪機輸出的影響",BirdSafeBladeDesign:"對鳥類安全的葉片設計",OffshoreWindFarm:"離岸風電場"},colocationSubMenu:"共用空間項目",colocationTutorials:{AgricultureSolarWindColocation:"農業光電風力共用空間"},generativeDesignSubMenu:"生成式設計",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"單面光伏板陣列的傾斜角",BifacialSolarPanelArrayTiltAngle:"雙面光伏板陣列的傾斜角",OutputOfSolarPanelArrayInDifferentPlaces:"一個光伏板陣列在不同地區的產出",SimpleSolarFarmParetoFront:"簡單太陽能農場設計的帕累托前沿"},examplesSubMenu:"例子",solarEnergySubMenu:"太陽能",solarEnergyExamples:{SunBeamAndHeliodon:"太陽光束和日影儀",RooftopSolarPanels:"屋頂光伏板",NevadaSolarOneParabolicTroughArray:"內華達州太陽能一號的拋物線槽陣列",TooeleParabolicDishArray:"猶他州圖埃勒的拋物線碟陣列",PS10SolarPowerTower:"西班牙塞維利亞的PS10太陽能發電塔",TucsonLinearFresnelReflectors:"亞利桑那州圖森的直線式菲涅爾反射鏡陣列",SolarCanopyFormFactors:"太陽能天篷外形設計",SolarCanopyOverBleachers:"看台太陽能天篷",SolarCanopyOverGarage:"車庫太陽能天篷",SolarBusStop:"太陽能候車亭",SolarFacadeTesla:"特斯拉光伏牆",BuildingIntegratedPhotovoltaics:"建築整合光伏",Floatovoltaics:"浮動光伏",Agrivoltaics:"農業光伏",VegetativeBuffer:"太陽能農場绿化带",RainbowSwashSolarFarmBostonMA:"馬薩諸塞州波士頓彩虹激流旁邊的光伏板陣列",MickeyMouseSolarFarmOrlandoFL:"佛羅里達州奧蘭多的米老鼠形狀光伏板陣列",SolarPanelsOverCanalBakersfieldCA:"加利福尼亞州貝克斯菲爾德灌溉渠上假想的光伏板陣列",SolarNoiseBarrierLexingtonMA:"馬薩諸塞州列剋星敦高速公路噪音牆上假想的光伏板",HSATSolarTrackersRaleighNC:"北卡羅來納州羅利的一個水平方向單軸旋轉追日光伏板陣列(HSAT)",AADATSolarTrackersLancasterCA:"加利福尼亞州蘭開斯特的一個雙軸旋轉追日光伏板陣列(AADAT)",SolarTrackersInRealWorld:"模擬",SolarUpdraftTowerInCity:"太陽能上升氣流塔在城市中的應用"},builtEnvironmentSubMenu:"建造環境",residentialBuildingsSubMenu:"住宅建築",residentialBuildingExamples:{ColonialHouse:"殖民地風格的住宅",DutchColonialHouse:"荷蘭殖民地風格的住宅",TShapedHouse:"T字型房子",CapeCodHouseWithGarage:"有車庫的科德角風格的住宅",Solarium:"有日光浴室的房子",Church1:"教堂例一",Cathedral1:"主教座堂例一",Cathedral2:"主教座堂例二",Mosque1:"清真寺例一",AdobeTaosHouse:"陶斯土坯房",RanchHouse:"牧場風格的住宅",BonnetHouse:"有帽簷屋頂的住宅",BarnStyleHouse:"穀倉式風格的住宅",ModernHouse:"現代風格的住宅",ButterflyRoofHouse:"蝴蝶型屋頂的住宅"},commercialBuildingsSubMenu:"商用建築",commercialBuildingExamples:{WhiteHouse:"白宫",BilimMersinTurkiye:"土耳其梅爾辛科學教育中心",SpanishStyleHotel:"西班牙風格旅館",ApartmentBuilding:"公寓樓",OfficeBuilding:"寫字樓",Hotel:"旅館"},buildingComplexesSubMenu:"建築群",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"佛蒙特州南伯靈頓高中",MescaleroApacheSchoolNewMexico:"新墨西哥州梅斯卡勒羅阿帕奇學校"},urbanPlanningSubMenu:"城市規劃",urbanPlanningExamples:{Heatmap1:"熱圖例一"},otherBuildingsSubMenu:"其它建築",otherBuildingExamples:{Greenhouse:"溫室",Pavilion:"公園的亭子",OctagonalPagoda:"八角塔",OceanFront:"海邊",EgyptianPyramids:"埃及金字塔",MayanPyramid:"瑪雅金字塔",SiOSePol:"三十三孔橋",StackedCuboids:"堆砌長方體"},artificialIntelligenceSubMenu:"人工智慧",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"優化單排光伏板的傾斜角",OptimizingTiltAnglesOfMultipleSolarPanelRows:"優化多排光伏板的傾斜角",SolarFarmGenerativeDesign:"生成式設計太陽能農場",SolarFarmGenerativeDesignWithBlock:"生成式設計太陽能農場:周邊有建築物的情況",FitchburgSolarFarmGenerativeDesign:"生成式設計太陽能農場:真實世界案例"},languageSubMenu:"語言",publicSubMenu:"公共",ModelsGallery:"模型畫廊",ModelsMap:"模型地圖",AboutUs:"關於我們"},avatarMenu:{AccountSettings:"賬號設定",PrivacyStatementTitle:"用戶隱私權保護聲明",PrivacyStatement:"登錄需要採用您的谷歌ID建立或進入您的阿拉丁賬戶。 我們只儲存一個隨機的字符串作為您的ID。 任何關於您的可辨識的個人信息都沒有被收集。 詳情請參考我們的",SignIn:"登錄",SignOut:"退出賬號",IfYouAreAStudent:"如果您是一個學生"},skyMenu:{Axes:"顯示坐標軸",Theme:"環境主題",ThemeDefault:"默認",ThemeDesert:"沙漠",ThemeDune:"沙丘",ThemeForest:"森林",ThemeGrassland:"草原",ThemeHill:"丘陵",ThemeLake:"湖泊",ThemeMountain:"山脈",ThemeRural:"田園",SunlightAttenuationCoefficientInAir:"陽光在空氣中傳播的衰減係數",ConvectiveCoefficientOfAir:"空氣對流傳熱係數",HighestTemperatureTimeInMinutes:"最高氣溫時間(分鐘)",SelectSunAnglesToShow:"選擇太陽角度顯示",ShowAzimuthAngle:"顯示方位角",ShowElevationAngle:"顯示高度角",ShowZenithAngle:"顯示天頂角",DirectLightBrightnessAtNoon:"正午直射光照度",AmbientLightBrightnessAtNoon:"正午環境光照度"},groundMenu:{MonthlyIrradianceLoss:"月份輻射度損失比",Vegetation:"植被",LeafOutDay:"樹葉長出的日子",LeafOffDay:"樹葉脫落的日子",Albedo:"反照率",ImageOnGround:"地面顯示圖像",WaterSurface:"水面",RemoveAllUnlockedTrees:"刪除所有非固定的樹木",RemoveAllUnlockedFlowers:"删除所有非固定的花草",RemoveAllUnlockedSolarPanels:"删除所有非固定的光伏板",RemoveAllUnlockedPeople:"删除所有非固定的人物",RemoveAllUnlockedFoundations:"删除所有非固定的地基",RemoveAllUnlockedCuboids:"删除所有非固定的長方體",DoYouReallyWantToRemoveAllPeople:"你確定刪除所有非固定的人物嗎",DoYouReallyWantToRemoveAllTrees:"你確定刪除所有非固定的樹木嗎",DoYouReallyWantToRemoveAllFlowers:"你確定刪除所有非固定的花草嗎",DoYouReallyWantToRemoveAllSolarPanels:"你確定刪除所有非固定的光伏板嗎",DoYouReallyWantToRemoveAllFoundations:"你確定刪除所有非固定的地基嗎",DoYouReallyWantToRemoveAllCuboids:"你確定刪除所有非固定的長方體嗎",LockAllUnlockedElements:"固定所有非固定的部件",UnlockAllLockedElements:"解除所有的固定"},labelSubMenu:{Label:"標籤",LabelText:"標籤的内容",LabelHeight:"標籤的高度",LabelSize:"標籤的大小",LabelFontSize:"字體的大小",LabelColor:"標籤的顏色",KeepShowingLabel:"顯示標籤"},foundationMenu:{RemoveAllUnlockedSolarPanels:"刪除此地基上所有非固定的光伏板",RemoveAllUnlockedParabolicTroughs:"刪除此地基上所有非固定的拋物線槽",RemoveAllUnlockedParabolicDishes:"刪除此地基上所有非固定的拋物線碟",RemoveAllUnlockedFresnelReflectors:"刪除此地基上所有非固定的菲涅耳反射鏡",RemoveAllUnlockedHeliostats:"刪除此地基上所有非固定的定日鏡",RemoveAllUnlockedWindTurbines:"刪除此地基上所有非固定的風力渦輪機",RemoveAllUnlockedSensors:"刪除此地基上所有非固定的傳感器",RemoveAllUnlockedLights:"刪除此地基上所有非固定的電燈",RemoveAllUnlockedWalls:"刪除此地基上所有非固定的牆",RemoveAllUnlockedWindows:"刪除此地基上所有非固定的窗戶",RemoveAllUnlockedDoors:"刪除此地基上所有非固定的門",RemoveAllUnlockedPolygons:"刪除此地基上所有非固定的多邊形",RemoveAllUnlockedHumans:"刪除此地基上所有非固定的人物",RemoveAllUnlockedTrees:"刪除此地基上所有非固定的樹木",RemoveAllUnlockedFlowers:"刪除此地基上所有非固定的花草",Racks:"支架",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",SolarPanels:"光伏板",SolarPanelArray:"光伏板陣列",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"你確定刪除此地基上所有非固定的光伏板嗎",ParabolicTroughs:"拋物線槽",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"你確定刪除此地基上所有非固定的拋物線槽嗎",ParabolicDishes:"拋物線碟",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"你確定刪除此地基上所有非固定的拋物線碟嗎",FresnelReflectors:"菲涅耳反射鏡",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"你確定刪除此地基上所有非固定的菲涅耳反射鏡嗎",Heliostats:"定日鏡",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"你確定刪除此地基上所有非固定的定日鏡嗎",WindTurbines:"風力渦輪機",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"你確定刪除此地基上所有非固定的風力渦輪機嗎",Sensors:"傳感器",DoYouReallyWantToRemoveAllSensorsOnFoundation:"你確定刪除此地基上所有非固定的傳感器嗎",Lights:"電燈",DoYouReallyWantToRemoveAllLightsOnFoundation:"你確定刪除此地基上所有非固定的電燈嗎",Walls:"牆",DoYouReallyWantToRemoveAllWallsOnFoundation:"你確定刪除此地基上所有非固定的牆嗎",Windows:"窗戶",DoYouReallyWantToRemoveAllWindowsOnFoundation:"你確定刪除此地基上所有非固定的窗戶嗎",Doors:"門",DoYouReallyWantToRemoveAllDoorsOnFoundation:"你確定刪除此地基上所有非固定的門嗎",Polygons:"多邊形",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"你確定刪除此地基上所有非固定的多邊形嗎",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnFoundation:"你確定刪除此地基上所有非固定的人物嗎",Trees:"樹木",DoYouReallyWantToRemoveAllTreesOnFoundation:"你確定刪除此地基上所有非固定的樹木嗎",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnFoundation:"你確定刪除此地基上所有非固定的花草嗎",OnlyThisFoundation:"只這塊地基",AllConnectedFoundations:"所有相連的地基",AllSelectedFoundations:"所有選中的地基",AllFoundations:"所有的地基",AddPolygon:"添加多邊形",SolarStructure:"太陽能構型",GroupMaster:"主地基",LockAllUnlockedElementsOnThisFoundation:"固定此地基上所有非固定的部件",UnlockAllLockedElementsOnThisFoundation:"解除此地基上所有的固定",GroundFloorRValue:"建築物地板的R值",OnlyThisGroundFloor:"只這個建築物的地板",AllGroundFloors:"所有建築物的地板"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"和定日鏡配套的吸收塔",ReceiverTowerPhysicalProperties:"太陽能吸收塔的物理性質",ReceiverTowerHeight:"太陽能吸收塔的高度",ReceiverTowerRadius:"太陽能吸收塔的半徑",ReceiverAbsorptance:"太陽能吸收器的吸收率",ReceiverOpticalEfficiency:"太陽能吸收器的光效率",ReceiverThermalEfficiency:"太陽能吸收器的熱效率"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"和菲涅爾反射鏡配套的吸收管",AbsorberPipePhysicalProperties:"太陽能吸收管的物理性質",AbsorberHeight:"太陽能吸收管的安装高度",AbsorberApertureWidth:"太陽能吸收管的孔徑",AbsorberPipePoleNumber:"太陽能吸收管的支柱數量",AbsorberAbsorptance:"太陽能吸收管的吸收率",AbsorberOpticalEfficiency:"太陽能吸收管的光效率",AbsorberThermalEfficiency:"太陽能吸收管的熱效率"},solarUpdraftTowerMenu:{SolarUpdraftTower:"太陽能上升氣流塔",SolarUpdraftTowerPhysicalProperties:"太陽能上升氣流塔的物理性質",SolarUpdraftTowerChimneyHeight:"太陽能上升氣流塔煙囪的高度",SolarUpdraftTowerChimneyRadius:"太陽能上升氣流塔煙囪的半徑",SolarUpdraftTowerCollectorHeight:"太陽能上升氣流塔集熱棚的高度",SolarUpdraftTowerCollectorRadius:"太陽能上升氣流塔集熱棚的半徑",SolarUpdraftTowerCollectorTransmissivity:"太陽能上升氣流塔集熱棚的透射率",SolarUpdraftTowerCollectorEmissivity:"太陽能上升氣流塔集熱棚的發射率",SolarUpdraftTowerDischargeCoefficient:"太陽能上升氣流塔的流量係數",SolarUpdraftTowerTurbineEfficiency:"太陽能上升氣流塔的渦輪機效率"},cuboidMenu:{Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",RemoveAllUnlockedSolarPanels:"刪除此長方體表面上所有非固定的光伏板",RemoveAllUnlockedSensors:"刪除此長方體表面上所有非固定的傳感器",RemoveAllUnlockedPolygons:"刪除此長方體表面上所有非固定的多邊形",RemoveAllUnlockedHumans:"刪除此長方體表面上所有非固定的人物",RemoveAllUnlockedTrees:"刪除此長方體表面上所有非固定的樹木",RemoveAllUnlockedFlowers:"刪除此長方體表面上所有非固定的花草",RemoveAllUnlockedLights:"刪除此長方體表面上所有非固定的電燈",Racks:"支架",Lights:"電燈",DoYouReallyWantToRemoveAllLightsOnCuboid:"你確定刪除此長方體表面上所有非固定的電燈嗎",SolarPanels:"光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"你確定刪除此長方體表面上所有非固定的光伏板嗎",Sensors:"傳感器",DoYouReallyWantToRemoveAllSensorsOnCuboid:"你確定刪除此長方體表面上所有非固定的傳感器嗎",Polygons:"多邊形",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"你確定刪除此長方體表面上所有非固定的多邊形嗎",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnCuboid:"你確定刪除此長方體表面上所有非固定的人物嗎",Trees:"樹木",DoYouReallyWantToRemoveAllTreesOnCuboid:"你確定刪除此長方體表面上所有非固定的樹木嗎",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnCuboid:"你確定刪除此長方體表面上所有非固定的花草嗎",OnlyThisCuboid:"只這個長方體",AllCuboidsOnSameSurface:"同一表面上所有的長方體",AllCuboidsAboveSameBase:"同一地基上所有的長方體",AllSelectedCuboids:"所有選中的長方體",AllCuboids:"所有的長方體",OnlyThisSide:"只這個表面",AllSidesOfThisCuboid:"這個長方體所有的側面",AllSidesOfSelectedCuboids:"所有選中長方體所有的側面",AllSidesOfAllCuboids:"所有的長方體所有的側面",AddPolygon:"添加多邊形",Stackable:"可堆砌",GroupMaster:"主長方體"},polygonMenu:{Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",TextBox:"文字框",FontOutlineColor:"字體輪廓顏色",FontOutlineWidth:"字體輪廓線寬",FontStrokeColor:"字體描邊顏色",FontStrokeWidth:"字體描邊線寬",NoOutline:"無輪廓線",Shiny:"光澤",Filled:"填充",FillTexture:"填充材質",FillColor:"填充顏色",Opacity:"遮光度",LineColor:"線條顏色",LineWidth:"線條寬度",LineStyle:"線條樣式",SolidLine:"實線",DashedLine:"虛線",DottedLine:"點線",InsertVertexBeforeIndex:"前面插入頂點",InsertVertexAfterIndex:"後面插入頂點",DeleteVertex:"移除頂點",OnlyThisPolygon:"只這個多邊形",AllPolygonsOnSurface:"同一表面上所有的多邊形",AllPolygonsAboveFoundation:"同一地基上所有的多邊形",AllSelectedPolygons:"所有選中的多邊形",AllPolygons:"所有的多邊形",Layout:"佈局",SolarPanelArrayLayout:"光伏板陣列佈局",SolarPanelArrayLayoutParametricDesign:"光伏板陣列佈局參數化設計",SolarPanelArrayLayoutGenerativeDesign:"光伏板陣列佈局生成式設計",SolarPanelArrayModel:"光伏板型號",SolarPanelArrayOrientation:"排列方向",SolarPanelArrayTiltAngle:"傾斜角度",SolarPanelArrayRowWidth:"行寬度",SolarPanelArrayInterRowSpacing:"行間距",SolarPanelArrayRowSpacing:"行間距",SolarPanelArrayRowAxis:"行軸方向",SolarPanelArrayLeftRightRowAxis:"左右方向(相對)",SolarPanelArrayUpDownRowAxis:"上下方向(相對)",SolarPanelArrayEastWestRowAxis:"東西方向(絕對)",SolarPanelArrayNorthSouthRowAxis:"南北方向(絕對)",SolarPanelArrayMargin:"邊緣餘地",SolarPanelArrayPoleHeight:"支架高度",SolarPanelArrayPoleSpacing:"支柱間隔",SolarPanelArrayTotalYearlyCost:"全年總成本",SolarPanelArrayTotalYearlyRevenue:"全年總收入",SolarPanelArrayTotalYearlyYield:"全年總發電量",SolarPanelArrayMeanYearlyYield:"平均年發電量",SolarPanelArrayYearlyProfit:"全年利潤",LayoutNotAcceptedCheckYourParameters:"恕不能採用此佈局。請檢查您的參數設置。"},optimizationMenu:{Optimization:"優化",Parameters:"參數",Variables:"變量",Constants:"常量",GeneticAlgorithm:"遺傳算法",GeneticAlgorithmSettings:"遺傳算法設定",ParticleSwarmOptimization:"粒子群優化",ParticleSwarmOptimizationSettings:"粒子群優化設定",SolarPanelTiltAngleOptimization:"光伏板傾斜角度優化",SolarPanelArrayLayout:"光伏板陣列佈局",Generation:"世代",Gene:"基因",NormalizedVariables:"標準化變量",Objective:"目標函數",ObjectiveFunctionDailyTotalYield:"當日總產出",ObjectiveFunctionYearlyTotalYield:"全年總產出",ObjectiveFunctionDailyMeanYield:"當日平均產出",ObjectiveFunctionYearlyMeanYield:"全年平均產出",ObjectiveFunctionDailyProfit:"當日利潤",ObjectiveFunctionYearlyProfit:"全年利潤",GeneticAlgorithmSelectionMethod:"遺傳算法選擇方法",RouletteWheel:"輪盤制",Tournament:"淘汰制",SearchMethod:"搜索方法",GlobalSearchUniformSelection:"全局搜索均勻取樣",LocalSearchRandomOptimization:"局部搜索隨機優化",PopulationSize:"種群個體數目",MaximumGenerations:"最大世代數目",SelectionRate:"選擇概率",CrossoverRate:"交配概率",MutationRate:"突變概率",Step:"步數",SwarmSize:"粒子數目",MaximumSteps:"最大步數",MaximumVelocity:"最大速度",InertiaWeight:"慣性權重",CognitiveCoefficient:"認知係數",SocialCoefficient:"社會係數",ConvergenceThreshold:"終止條件的收斂閾值",LocalSearchRadius:"局部搜索的半徑",RowsPerRackRange:"單個支架上光伏板行數的變化範圍",TiltAngleRange:"光伏板傾斜角度的變化範圍",InterRowSpacingRange:"光伏板陣列行間距的變化範圍",ClickTargetPolygonToActivate:"點擊目標多邊形激活",ClickTargetFoundationToActivate:"點擊目標地基激活"},treeMenu:{ShowModel:"顯示近似模型",Flip:"翻轉",Type:"樹種",Spread:"樹冠直徑"},flowerMenu:{Flip:"翻轉",Type:"品種",Spread:"直徑"},peopleMenu:{ChangePerson:"改變人物",Flip:"轉身",Observer:"觀察者",ViewFromThisPerson:"視角移到此人位置"},lightMenu:{Color:"顏色",Intensity:"亮度",Decay:"衰减",MaximumDistance:"最大距離",Inside:"内部"},solarCollectorMenu:{Coordinates:"座標",RelativeXCoordinateOfCenter:"中心的相對X座標",RelativeYCoordinateOfCenter:"中心的相對Y座標",RelativeAzimuth:"相對方位角",Pole:"支柱",PoleHeight:"支柱高度",PoleRadius:"支柱半徑",ExtraPoleHeight:"額外的支柱高度",ExtraPoleHeightInAdditionToHalfWidth:"寬度一半額外的支柱高度",DrawSunBeam:"顯示光束"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"反射器鏡面反射率",ReceiverAbsorptance:"接收器吸收率",ReflectorOpticalEfficiency:"反射器光效率",ReceiverThermalEfficiency:"接收器熱效率"},solarPanelMenu:{ElectricalProperties:"電氣特性",InverterEfficiency:"逆變器效率",InverterEfficiencyExplained:"直流電轉換為交流電的效率。",DcToAcSizeRatio:"直流-交流容量比例",DcToAcSizeRatioExplained:"直流電容量和交流電容量的比例。",ChangePvModel:"改變光伏板型號",Orientation:"排列方向",Portrait:"縱向",Landscape:"橫向",FrameColor:"框架顏色",Panels:"塊",PanelsWide:"塊光伏板寬",PanelsLong:"塊光伏板長",TiltAngle:"傾斜角度",SouthFacingIsPositive:"朝南為正",Tracker:"追日系統",SolarTrackerFollowsSun:"追日系統提高光伏板產出。",PoleSpacing:"支柱間隔",NoTracker:"無追日系統",HorizontalSingleAxisTracker:"水平單軸追日系統",VerticalSingleAxisTracker:"豎直單軸追日系統",AltazimuthDualAxisTracker:"地平雙軸追日系統",OnlyThisSolarPanel:"只這個光伏板",AllSolarPanelsOnSurface:"同一表面上所有的光伏板",AllSolarPanelsAboveFoundation:"同一地基上所有的光伏板",AllSelectedSolarPanels:"所有選中的光伏板",AllSolarPanels:"所有的光伏板"},pvModelPanel:{SolarPanelSpecs:"光伏板型號性能",Model:"型號",PanelSize:"尺寸",Cells:"電池組",CellType:"光伏電池類型",Monocrystalline:"單晶矽",Polycrystalline:"多晶矽",ThinFilm:"薄膜",Bifacial:"雙面",BifacialityFactor:"雙面性因子",Black:"黑色",Blue:"藍色",ShadeTolerance:"陰影耐受度",SolarCellEfficiency:"光伏電池效率",NominalOperatingCellTemperature:"名義電池運行溫度",TemperatureCoefficientOfPmax:"Pmax溫度係數"},parabolicTroughMenu:{ModuleLength:"模塊長度",Modules:"模塊",ModulesLong:"模塊長",LatusRectum:"通徑",OnlyThisParabolicTrough:"只這個拋物線槽",AllParabolicTroughsAboveFoundation:"同一地基上所有的拋物線槽",AllSelectedParabolicTroughs:"所有選中的抛物线槽",AllParabolicTroughs:"所有的拋物線槽"},fresnelReflectorMenu:{AbsorberPipe:"吸收管",SelectAbsorberToReflectSunlightTo:"選擇陽光反射到的吸收管",ModuleLength:"模塊長度",Modules:"模塊",ModulesLong:"模塊長",OnlyThisFresnelReflector:"只這個菲涅耳反射鏡",AllFresnelReflectorsAboveFoundation:"同一地基上所有的菲涅耳反射鏡",AllSelectedFresnelReflectors:"所有選中的菲涅耳反射镜",AllFresnelReflectors:"所有的菲涅耳反射鏡"},heliostatMenu:{Tower:"吸收塔",SelectTowerToReflectSunlightTo:"選擇陽光反射到的吸收塔",OnlyThisHeliostat:"只這個定日鏡",AllHeliostatsAboveFoundation:"同一地基上所有的定日鏡",AllSelectedHeliostats:"所有選中的定日镜",AllHeliostats:"所有的定日鏡"},parabolicDishMenu:{ReceiverStructure:"接收器結構",CentralPole:"中心直柱",CentralPoleWithTripod:"三腳架和中心直柱",Quadrupod:"四脚架",RimDiameter:"外圈直徑",LatusRectum:"通徑",ExtraPoleHeightInAdditionToRadius:"半徑之外額外的支架高度",OnlyThisParabolicDish:"只這個拋物線碟",AllParabolicDishesAboveFoundation:"同一地基上所有的拋物線碟",AllSelectedParabolicDishes:"所有選中的抛物线碟",AllParabolicDishes:"所有的拋物線碟"},windTurbineMenu:{BirdSafeDesign:"鳥類安全設計",BirdSafeNone:"無",BirdSafeBicolor:"雙色",BirdSafeStriped:"條紋",Rotor:"轉子",BladeNumber:"葉片數目",RotorInitialAngle:"轉子初始角度",RotorBladeDesign:"轉子葉片設計",RotorBladeRadius:"轉子葉片半徑",RotorBladePitchAngle:"轉子葉片俯仰角",RelativeYawAngle:"相對偏流角",MaximumChordLength:"最大弦長度",Tower:"塔架",TowerHeight:"塔架高度",TowerRadius:"塔架半徑",HubDesign:"轉子輪轂設計",HubRadius:"輪轂半徑",HubLength:"輪轂長度",OnlyThisWindTurbine:"只這個風力渦輪機",AllWindTurbinesAboveFoundation:"同一地基上所有的風力渦輪機",AllSelectedWindTurbines:"所有選中的風力渦輪機",AllWindTurbines:"所有的風力渦輪機"},wallMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",SizeOfWall:"牆的尺寸",OnlyThisWall:"只這堵牆",AllConnectedWalls:"所有連接的牆",AllWallsAboveFoundation:"同一地基上所有的牆",AllSelectedWalls:"所有選中的墙",AllWalls:"所有的牆",Windows:"窗戶",LockAllUnlockedWindows:"固定所有非固定的窗戶",UnlockAllLockedWindows:"解除所有的窗戶固定",RemoveAllUnlockedWindows:"刪除這堵牆上所有非固定的窗戶",DoYouReallyWantToRemoveAllWindowsOnThisWall:"你確定刪除這堵牆上所有非固定的窗戶嗎",Doors:"門",LockAllUnlockedDoors:"固定所有非固定的門",UnlockAllLockedDoors:"解除所有的門固定",RemoveAllUnlockedDoors:"刪除這堵牆上所有非固定的門",DoYouReallyWantToRemoveAllDoorsOnThisWall:"你確定刪除這堵牆上所有非固定的門嗎",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"刪除這堵牆上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"你確定刪除這堵牆上所有非固定的光伏板嗎",Sensors:"傳感器",LockAllUnlockedSensors:"固定所有非固定的傳感器",UnlockAllLockedSensors:"解除所有的傳感器固定",RemoveAllUnlockedSensors:"刪除這堵牆上所有非固定的傳感器",DoYouReallyWantToRemoveAllSensorsOnThisWall:"你確定刪除這堵牆上所有非固定的傳感器嗎",Lights:"電燈",LockAllUnlockedLights:"固定這堵牆上所有非固定的電燈",UnlockAllLockedLights:"解除這堵牆上所有的電燈固定",RemoveAllUnlockedLights:"刪除這堵牆上所有非固定的電燈",DoYouReallyWantToRemoveAllLightsOnThisWall:"你確定刪除這堵牆上所有非固定的電燈嗎",Polygons:"多邊形",LockAllUnlockedPolygons:"固定這堵牆上所有非固定的多邊形",UnlockAllLockedPolygons:"解除這堵牆上所有的多邊形固定",RemoveAllUnlockedPolygons:"刪除這堵牆上所有非固定的多邊形",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"你確定刪除這堵牆上所有非固定的多邊形嗎",WallStructure:"牆結構",DefaultStructure:"默認",StudStructure:"牆柱",PillarStructure:"圓柱",Opacity:"遮光度",StructureSpacing:"結構間距",StructureWidth:"結構寬度",StructureThickness:"結構厚度",StructureColor:"結構颜色",Color:"牆体颜色",Height:"高度",Thickness:"厚度",Texture:"材質",AllLightsOnWallInside:"所有電燈在牆內",AllLightsOnWallOutside:"所有電燈在牆外",Fill:"填充",Full:"全部",Partial:"部分",Empty:"空白",OpenToOutside:"對外面開放",EavesLength:"屋簷延伸長度",Parapet:"女牆",ParapetColor:"女牆颜色",ParapetTexture:"女牆材質",ParapetHeight:"女牆高度",CopingsHeight:"頂蓋高度",CopingsWidth:"頂蓋寬度"},windowMenu:{OnlyThisWindow:"只這個窗戶",AllWindowsOnSurface:"同一表面上所有的窗戶",AllWindowsAboveFoundation:"同一地基上所有的窗戶",AllSelectedWindows:"所有選中的窗户",AllWindows:"所有的窗戶",Width:"寬度",Height:"高度",Setback:"離牆體外表面的距離",RelativeToWallThickness:"相對於牆的厚度",Mullion:"直櫺",HorizontalMullion:"水平的直櫺",VerticalMullion:"豎直的直櫺",MullionWidth:"直櫺寬度",HorizontalMullionSpacing:"水平直櫺的間距",VerticalMullionSpacing:"豎直直櫺的間距",MullionColor:"直櫺颜色",Tint:"著色",Opacity:"不透明度",SolarHeatGainCoefficient:"太陽輻射熱獲取係數(SHGC) = 1 - 不透明度",Shutter:"百葉窗",LeftShutter:"左側百葉窗",RightShutter:"右側百葉窗",BothShutters:"兩側百葉窗",ShutterWidth:"相對寬度",ShutterColor:"百葉窗顏色",Frame:"邊框",FrameWidth:"邊框寬度",SillWidth:"窗台寬度",Color:"邊框顔色",WindowType:"窗戶種類",Default:"默認",Arched:"拱形",Polygonal:"多邊形",Interior:"内窗",Empty:"空白"},roofMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",OnlyThisRoof:"只這個屋顶",AllRoofsAboveFoundation:"同一地基上所有的屋顶",AllSelectedRoofs:"所有選中的屋顶",AllRoofs:"所有的屋顶",OnlyThisCeiling:"只這個天花板",AllCeilingsAboveFoundation:"同一地基上所有的天花板",AllCeilings:"所有的天花板",EavesOverhangLength:"屋簷延伸長度",RafterSpacing:"屋椽間距",RafterWidth:"屋椽寬度",RafterThickness:"屋椽厚度",RafterColor:"屋椽颜色",RoofColor:"屋顶颜色",RoofSideColor:"屋顶側面颜色",GlassTint:"玻璃顏色",Opacity:"遮光度",RoofStructure:"屋頂結構",DefaultStructure:"默認",RafterStructure:"屋椽",GlassStructure:"玻璃",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"刪除這個屋顶上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"你確定刪除這個屋顶上所有非固定的光伏板嗎",Windows:"天窗",LockAllUnlockedWindows:"固定所有非固定的天窗",UnlockAllLockedWindows:"解除所有的天窗固定",RemoveAllUnlockedWindows:"刪除這個屋顶上所有非固定的天窗",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"你確定刪除這個屋顶上所有非固定的天窗嗎",Sensors:"傳感器",LockAllUnlockedSensors:"固定所有非固定的傳感器",UnlockAllLockedSensors:"解除所有的傳感器固定",RemoveAllUnlockedSensors:"刪除這個屋顶上所有非固定的傳感器",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"你確定刪除這個屋顶上所有非固定的傳感器嗎",Lights:"電燈",RemoveAllUnlockedLights:"刪除這個屋顶上所有非固定的電燈",DoYouReallyWantToRemoveAllLightsOnThisRoof:"你確定刪除這個屋顶上所有非固定的電燈嗎",AllLightsOnRoofInside:"所有電燈在屋頂內",AllLightsOnRoofOutside:"所有電燈在屋頂外",Rise:"相對高度",Ceiling:"天花板",RoofRValue:"屋顶R值",CeilingRValue:"天花板R值"},doorMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",Texture11:"十一號材質",Texture12:"十二號材質",Texture13:"十三號材質",Texture14:"十四號材質",Texture15:"十五號材質",Texture16:"十六號材質",Texture17:"十七號材質",OnlyThisDoor:"只這個門",AllDoorsOnWall:"同一面牆上所有的門",AllDoorsAboveFoundation:"同一地基上所有的門",AllSelectedDoors:"所有選中的门",AllDoors:"所有的門",DoorType:"門種類",Default:"默認",Arched:"拱形",Filled:"填充",FrameColor:"門框顏色",Interior:"內門"},siteInfoPanel:{High:"最高溫度",Low:"最低温度"},designInfoPanel:{NumberOfSelectedHeliostats:"選中的定日鏡總數",NumberOfSelectedSolarPanels:"選中的光伏板總數",ElectricityGeneratedDailyBySolarPanels:"這些光伏板的日發電量",SceneDiameter:"場景直徑",BuildingArea:"建築面積"},visualizationControlPanel:{ColorContrast:"熱圖顏色對比度",FluxScale:"熱通量長度",ClickUpOrDownArrowButtonsToChange:"點擊上下箭頭改變參數"},instructionPanel:{Rotate:"旋轉",DragMouse:"拖動滑鼠",Zoom:"缩放",MouseWheelOrKeys:"滑鼠滾輪或者Ctrl+[和Ctrl+]",MouseWheelOrKeysMac:"滑鼠滾輪或者⌘+[和⌘+]",Pan:"平移",HoldCtrlDragMouse:"按下Ctrl鍵並拖動滑鼠",HoldMetaDragMouse:"按下⌘鍵並拖動滑鼠",Enter2DMode:"進入二維模式",Exit2DMode:"退出二維模式",NavigationMode:"導航模式",EnableNavigation:"進入導航模式",DisableNavigation:"退出導航模式",MoveForwardBack:"前後移動",MoveForwardBackInstruction:"按W/S鍵",MoveLeftRight:"左右移動",MoveLeftRightInstruction:"按A/D鍵",MoveUpDown:"上下移動",MoveUpDownInstruction:"按Z/X鍵",Turn:"拐彎",TurnInstruction:"按方向鍵",ResetView:"重置視角",AutoRotate:"自動旋轉",StartOrStop:"按F4鍵啟動或停止"},mapPanel:{ImageOnGround:"地面顯示圖像",HideAddress:"隱藏地址",WeatherStations:"氣象站",WeatherStationsNote:"關閉此選項以提高地圖速度",Coordinates:"經緯度坐標",Zoom:"放大程度"},visibilityPanel:{SolarPanelVisibility:"光伏板對觀察者的可見度",Observer:"觀察者",VantagePoint:"觀察位置",ItemizedVisibilityByFields:"每個場的可見度",TotalVisibility:"總可見度"},sensorPanel:{LightSensor:"光傳感器",WeatherDataFrom:"氣象數據來自"},buildingEnergyPanel:{DailyBuildingEnergy:"建築物日能耗",YearlyBuildingEnergy:"建築物年能耗",Heater:"暖氣",AC:"空調",SolarPanel:"光伏",Net:"淨能耗"},solarPanelYieldPanel:{SolarPanelDailyYield:"光伏日發電量",SolarPanelYearlyYield:"光伏年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualSolarPanels:"顯示每行光伏板單獨發電量",Profit:"利潤",TotalCost:"總成本",TotalRevenue:"總收入",TotalYield:"總發電量",MeanYield:"平均發電量",ModuleCount:"光伏板總數"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"拋物線槽日發電量",ParabolicTroughYearlyYield:"拋物線槽年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualParabolicTroughs:"顯示每行拋物線槽單獨發電量"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"拋物線碟日發電量",ParabolicDishYearlyYield:"拋物線碟年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualParabolicDishes:"顯示每個拋物線碟單獨發電量"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"菲涅耳反射鏡日發電量",FresnelReflectorYearlyYield:"菲涅耳反射鏡年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualFresnelReflectors:"顯示每個菲涅耳反射鏡單獨發電量"},heliostatYieldPanel:{HeliostatDailyYield:"定日鏡日發電量",HeliostatYearlyYield:"定日鏡年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualHeliostats:"顯示每個定日鏡單獨發電量"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"太陽能上升氣流塔日發電量",UpdraftTowerYearlyYield:"太陽能上升氣流塔年發電量",ChimneyAirTemperature:"煙囪空氣溫度",ChimneyWindSpeed:"煙囪風速",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualUpdraftTowers:"顯示每個太陽能上升氣流塔單獨發電量"},heliodonPanel:{SunAndTimeSettings:"太陽和時間設置",SunAngles:"角度",TwentyFourHours:"24小時"},cloudFilePanel:{CopyTitle:"拷貝標題",TitleCopiedToClipBoard:"標題拷貝到剪貼板",SearchByTitle:"按標題搜索",MyLikes:"我喜歡的模型",MyCloudFiles:"我的雲文件",GenerateLink:"生成鏈接",LinkGeneratedInClipBoard:"鏈接生成到剪貼板",DoYouReallyWantToDelete:"您確定刪除此文檔",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"如果此文檔已被分享或發布, 改名會使已有鏈接失效"},projectListPanel:{CopyTitle:"拷貝標題",TitleCopiedToClipBoard:"標題拷貝到剪貼板",SearchByTitle:"按標題搜索",MyProjects:"我的專案",GenerateProjectLink:"生成專案鏈接",ProjectLinkGeneratedInClipBoard:"專案鏈接生成到剪貼板",DoYouReallyWantToDeleteProject:"您確定刪除專案",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"如果此專案已被分享或發布, 改名會使已有鏈接失效"},projectPanel:{ProjectSettings:"專案設定",ThumbnailImageSize:"縮略圖大小",ProjectByOtherPeople:"別人的專案",Project:"專案",ProjectType:"類别",ProjectDescription:"描述",MakeDescriptionEditable:"編輯描述",MakeDescriptionNonEditable:"不編輯描述",DoubleClickToMakeDescriptionEditable:"雙擊此描述激活編輯功能",SolarPanelArray:"光伏板陣列設計",CurateCurrentDesign:"收藏當前設計",UpdateSelectedDesign:"更新選中設計",RemoveSelectedDesign:"刪除選中設計",ClickToFlipSortingOrder:"點擊逆轉排序方向",DesignNotShownInSolutionSpaceClickToShow:"此設計目前不顯示在設計空間內,點擊顯示",DesignShownInSolutionSpaceClickToHide:"此設計目前顯示在設計空間內,點擊隱藏",SolutionSpace:"設計空間",ChooseSolutionSpace:"選擇設計空間",ChooseDataColoring:"選擇數據著色",SameColorForAllDesigns:"所有設計一個顏色",OneColorForEachDesign:"每個設計一個顏色",SolutionSpaceScreenshot:"設計空間截屏",ScatterPlotScreenshot:"散點圖截屏",SingleClickToSelectDoubleClickToOpen:"單擊選擇,雙擊打開。",SingleClickToDeselectDoubleClickToOpen:"單擊取消選擇,雙擊打開。",GenerateScatterPlot:"生成散點圖",SelectXAxis:"選擇X軸",SelectYAxis:"選擇Y軸"},accountSettingsPanel:{MyAccountSettings:"我的賬戶設定",MyID:"我的🆔",ClickToCopyMyID:"點擊此處拷貝我的ID",IDInClipBoard:"您現在可以粘貼ID了。",StoreMyNameInMyFilesWhenSaving:"保存文檔時籤上我的大名",DoYouReallyWantToShowYourNameInYourFiles:"您確定在您的文檔裡保存您的大名嗎?",SignFileDisclaimer:"如果您選擇保存,您的大名可能被所有打開您的文檔的人看到。",Likes:"點贊總數",AllPublished:"發佈總數",PublishedUnderAliases:"别名發佈",UserCount:"用戶總數",SchoolID:"學校編號",ClassID:"班級編號"},weatherPanel:{SunshineHours:"日照時間"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"選擇氣溫模型",Sinusoidal:"正弦函數"},economicsPanel:{EconomicsParameters:"經濟學參數",ElectricitySellingPrice:"銷售電價",OperationalCostPerUnit:"單位運行成本",SellingPrice:"銷售電價",UnitCost:"單位成本"},navigationPanel:{NavigationParameters:"導航模式參數",MinimumMoveSpeed:"最小移動速度",MinimumTurnSpeed:"最小拐彎速度"},shadowSettingsPanel:{ShadowSettings:"陰影設定",ShadowCameraFarDistance:"最遠距離",ShadowMapSize:"映射圖長寬",Notes:"注意事項",RefreshPageNote:"改變設定後須刷新頁面。",MapSizeWarning:"大的映射圖長寬可能導致阿拉丁無法在某些電腦上運作。"},yearlyLightSensorPanel:{SkyClearness:"天空清晰度",ShowDaylightResults:"顯示日照時間結果",ShowSkyClearnessResults:"顯示天空清晰度結果",ShowAverageDailySolarRadiation:"顯示日平均輻射結果"},analysisManager:{NoSensorForCollectingData:"沒有傳感器收集數據。",NoSolarPanelForAnalysis:"沒有光伏板可以分析。",NoObserverForVisibilityAnalysis:"沒有找到可見度分析的觀察者。",NoWaterHeaterForAnalysis:"沒有太陽能熱水器可以分析。",NoParabolicDishForAnalysis:"沒有拋物線碟可以分析。",NoParabolicTroughForAnalysis:"沒有拋物線槽可以分析。",NoFresnelReflectorForAnalysis:"沒有菲涅耳反射鏡可以分析。",NoHeliostatForAnalysis:"沒有定日鏡可以分析。",NoSolarUpdraftTowerForAnalysis:"沒有太陽能上升氣流塔可以分析。",NoBuildingForAnalysis:"沒有建築物可以分析。"},toolbar:{CloudFile:"雲文檔",Select:"選擇",AddFoundation:"添加地基",AddWall:"添加牆體",AddWindow:"添加窗戶",AddDoor:"添加門",AddPyramidRoof:"添加金字塔屋頂",AddGableRoof:"添加雙坡屋頂",AddHipRoof:"添加四坡屋顶",AddGambrelRoof:"添加复斜屋顶",AddMansardRoof:"添加折線屋顶",AddCuboid:"添加長方體",AddSensor:"添加傳感器",AddSolarPanel:"添加光伏板",AddWaterHeater:"添加太陽能熱水器",AddParabolicDish:"添加拋物線碟",AddParabolicTrough:"添加拋物線槽",AddFresnelReflector:"添加菲涅耳反射鏡",AddHeliostat:"添加定日鏡",AddWindTurbine:"添加水平轴風力渦輪機",AddVerticalAxisWindTurbine:"添加垂直軸風力渦輪機",AddLight:"添加電燈",AddTree:"添加樹木",AddFlower:"添加花草",AddPeople:"添加人物",DoubleClickToLockThisModeForNextAction:"雙擊按鈕給下個動作鎖定此模式",ClickToUnlockThisModeForNextAction:"點擊按鈕讓動作完成即離開此模式",ManipulateGroup:"整體操作一個組",ClearScene:"清空場景",ShowSunAndTimeSettings:"顯示太陽和時間設置",SpatialAnalysisOfEnergy:"能量的空間分析",DoYouReallyWantToClearContent:"您確定清空場景嗎",ClickForMoreButtons:"點擊此處切換到更多的按鈕模式"},tooltip:{gotoIFI:"訪問未來智能研究所",visitAladdinHomePage:"訪問阿拉丁主頁",clickToOpenMenu:"點擊打開主菜單",clickToAccessAccountSettings:"點擊打開賬號設定"},tree:{Apple:"蘋果樹",Birch:"白樺",Coconut:"椰子樹",Dogwood:"茱萸",Elm:"榆樹",FanPalm:"扇葉棕櫚",Linden:"菩提",Magnolia:"玉蘭",Maple:"楓樹",Oak:"橡樹",Pine:"松樹",Spruce:"雲杉"},flower:{Bellflower:"鈴蘭",Boxwood:"黃楊",CactusCombo1:"仙人掌組合一",CactusCombo2:"仙人掌組合二",CactusCombo3:"仙人掌組合三",CactusCombo4:"仙人掌組合四",Hibiscus:"木槿",Hosta:"玉簪",Hydrangea:"繡球花",Peony:"牡丹",RedRose:"紅玫瑰",Spirea:"繡線菊",Sunflower:"向日葵",TallBush:"高灌木",Tulip:"鬱金香",WhiteFlower:"白花",YellowFlower:"黄花"},people:{Jaah:"賈阿",Jack:"傑克",Jacob:"雅各布",Jacqueline:"杰奎琳",Jade:"美玉",Jamelia:"潔米莉雅",James:"詹姆斯",Jane:"簡",Jaya:"佳婭",Jaye:"傑伊",Jeanette:"珍妮特",Jedi:"傑迪",Jeff:"傑夫",Jena:"珍娜",Jennifer:"珍尼弗",Jess:"傑西",Jett:"傑特",Jill:"吉爾",Jiya:"吉娅",Joan:"瓊",Jocelyn:"喬斯林",Joel:"喬爾",Joey:"喬伊",John:"約翰",Jonathon:"喬納森",Jose:"何塞",Joseph:"約瑟夫",Joshua:"約書亞",Judd:"賈德",Judy:"朱蒂",Julia:"朱莉婭",Julio:"胡里奥",Jumapili:"祖瑪匹莉",June:"準衛",Juro:"朱諾",Justin:"賈斯汀"},compass:{N:"北",S:"南",W:"西",E:"東"},month:{January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},modelsMap:{SearchByPublisher:"按發布者搜索",SearchByLabel:"按標籤搜索",MyPublishedModels:"我發布的模型",TotalNumberOfUserPublishedModels:"用戶發布的模型總數",SortFromOldestToNewest:"從早到晚排序",SortFromNewestToOldest:"從晚到早排序",ModelsFoundOnThisSite:"個模型在此位置",ShowModelsPublishedByThisAuthor:"展示此用戶發布的模型"}}},Xft={translation:{name:{IFI:"Instituto de inteligencia futura",Aladdin:"Aladdin",Tagline:"Aladdin: Reimagining Design with Explainable AI — Institute for Future Intelligence"},cookie:{Statement:"Clicando Aceptar, autoriza el uso de cookies para mejora la experiencia con Aladdin",Accept:"Aceptar"},aboutUs:{ProductBroughtToYouBy:"Este producto esta hecho por",TermsOfService:"Términos de servicio",PrivacyPolicy:"Política de privacidad",Software:"Programa",Content:"Contenido",Research:"Investigación",Support:"Ayuda",Acknowledgment:"Agradecimientos",FundingInformation:"La National Science Foundation (NSF) proporcionó generosamente fondos para la investigación y el desarrollo de este producto a través de las subvenciones con número #2105695, #2131097, y #2301164. Sin embargo, todas las opiniones, hallazgos y conclusiones o recomendaciones expresados en este producto pertenecen a los autores y no reflejan necesariamente los puntos de vista de la NSF.",Contact:"Para más información, por favor contacte con Charles Xie (charles@intofuture.org).",Translators:"Translators"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"Todos los derechos reservados",MeterAbbreviation:"m",Version:"Versión",VersionInitial:"V",Options:"Opciones",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Número máximo",MinimumNumber:"Minimum Number",MaximumValue:"Maximum Value",MinimumValue:"Minimum Value",Or:"O",None:"Ninguno",High:"High",Partial:"Partial",Teacher:"Profesor",Class:"Clase",Total:"Total",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Rango",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. -AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Press",Open:"Abrir",Save:"Guardar",SaveAsImage:"Guardar como imagen",SaveAsCsv:"Save as CSV",Update:"Actualizar",Paste:"Pegar",Copy:"Copiar",Cut:"Cortar",Delete:"Eliminar",Lock:"Cerrar con llave",Translucent:"Translucent",Color:"Color",Pattern:"Pattern",Texture:"Textura",Size:"Tamaño",Thickness:"Grosor",Yes:"Sí",No:"No",OK:"OK",Cancel:"Cancelar",Apply:"Aplicar",Close:"Cerrar",ApplyTo:"Aplicar a",Run:"Run",Pause:"Pause",Resume:"Resume",Clear:"Limpiar",Warning:"Aviso",Caution:"Caution",Reminder:"Reminder",Length:"Longitud",Width:"Ancho",Height:"Altura",Radius:"Radius",Angle:"Ángulo",Azimuth:"Azimut",Coordinates:"Coordinates",Weather:"Tiempo",Show:"Mostrar",Animate:"Animar",Date:"Fecha",Time:"Tiempo",Title:"Título",Owner:"Propietario",Action:"Acción",Rename:"Renombrar",Location:"Location",Latitude:"Latitud",Month:"Mes",Day:"Día",Hour:"Hora",Daylight:"Luz solar",Radiation:"Radiación",Temperature:"Temperatura",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"O",Fixed:"Fixed",Elements:"Elements",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Sin textura",FoundationElement:"Bases",CuboidElement:"Cuboide",PolygonElement:"Polígon",SensorElement:"Sensor",SolarPanelElement:"Panel solar",WaterHeaterElement:"Water Heater",ParabolicDishElement:"Parabolic Dish",ParabolicTroughElement:"Parabolic Trough",FresnelReflectorElement:"Fresnel Reflector",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Bloqueado",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Cannot sign in",CannotSignOut:"Cannot sign out",YourAccountWasCreated:"Your account was created.",CannotCreateAccount:"Cannot create an account",YourAccountSettingsWereSaved:"Your account settings were saved.",CannotSaveYourAccountSettings:"Cannot save your account settings",CannotSaveYourFileToCloud:"Cannot save your file to the cloud",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"The cloud file was not found",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Cannot open the cloud file",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Cannot open your cloud folder",CannotDeleteCloudFile:"Cannot delete the cloud file",CannotRenameCloudFile:"Cannot rename the cloud file",DoYouWantToSaveChanges:"¿Quieres guardar los cambios?",NotApplicableToSelectedAction:"No se aplica a la acción seleccionada",ThisElementIsLocked:"Este elemento está bloqueado",ThisCannotBeUndone:"Esto no se puede deshacer",AzimuthOfNorthIsZero:"Azimut del norte es 0°",CounterclockwiseAzimuthIsPositive:"Hacia la izquierda es positivo",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Move cancelled because of overlap.",MoveOutsideBoundaryCancelled:"Move outside the boundary cancelled.",RotationCancelledBecauseOfOverlap:"Rotation cancelled because of overlap.",RotationOutsideBoundaryCancelled:"Rotation outside the boundary cancelled.",ResizingCancelledBecauseOfOverlap:"Resizing cancelled because of overlap.",ResizingOutsideBoundaryCancelled:"Resizing outside the boundary cancelled.",CannotPasteOutsideBoundary:"Cannot paste outside this surface.",CannotPasteBecauseOfOverlap:"Cannot paste because of overlap.",CannotMoveObjectTooFar:"Cannot move object too far.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Existing solar panels will be removed before applying the new layout.",DoYouWantToContinue:"Do you want to continue?",SolarPanelsCannotIntersectWithGround:"Solar panels cannot intersect with the ground.",SolarPanelsCannotOverlapWithOneAnother:"Solar panels cannot overlap with one another.",ScreenshotSaved:"A screenshot was saved.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simulation started.",SimulationCompleted:"Simulation completed.",SimulationAborted:"Simulation aborted.",SimulationPaused:"Simulation paused.",CancelSimulation:"Cancel simulation",PauseSimulation:"Pause simulation",ResumeSimulation:"Resume simulation",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evolution started.",EvolutionCompleted:"Evolution completed.",EvolutionAborted:"Evolution aborted.",EvolutionPaused:"Evolution paused.",EncounterEvolutionError:"Encountered an evolution error.",CancelEvolution:"Cancel evolution",PauseEvolution:"Pause evolution",ResumeEvolution:"Resume evolution",ConvergenceThresholdHasBeenReached:"The convergence threshold has been reached.",MaximumNumberOfGenerationsHasBeenReached:"The maximum number of generations has been reached.",MaximumNumberOfStepsHasBeenReached:"The maximum number of steps has been reached.",ObjectiveFunctionTypeError:"The current objective function is not supported by this operation. Please start from the menu.",WallsAreNotAtSameHeight:"Walls are not at the same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analysis Options",option:{GridCellSize:"Grid Cell Size",SamplingFrequency:"Frecuencia de muestreo",TimesPerHour:"Veces per hora",DaysPerYear:"Days per Year"},mainMenu:"Menu principal",cloudMenu:"Menú en la nube",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Archivo",file:{CreateNewFile:"Crear nuevo archivo",OpenLocalFile:"Abrir archivo local",SaveAsLocalFile:"Guardar como archivo local",SavingAbortedMustHaveValidFileName:"!Error guardando! Debes tener un nombre de archivo válido",OpenCloudFile:"Abrir archivo en la nube",SaveCloudFile:"Guardar archivo en la nube",SaveAsCloudFile:"Guardar como archivo en la nube",SavingAbortedMustHaveValidTitle:"!Error guardando! Debes tener un título válido para el archivo en la nube",ToSaveYourWorkPleaseSignIn:"Para guardar tu trabajo, por favor regístrese.",TakeScreenshot:"Hacer captura de pantalla",UseCloudFileName:"Use Cloud File Name",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Editar",edit:{Undo:"Deshacer",Redo:"Repetir"},viewSubMenu:"Vista",view:{NavigationView:"Navigation View",TwoDimensionalView:"Vista 2D",ResetView:"Resetear",ZoomIn:"Acercar",ZoomOut:"Alejar",AutoRotate:"Auto rotación",ShowShadow:"Mostrar sombra",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Translucent Floating Windows",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Información del sitio",DesignInformation:"Información de diseño",Instruction:"Instrucción",StickyNote:"Nota adhesiva",Note:"Nota"}},settingsSubMenu:"Settings",settings:{WeatherData:"Datos del tiempo",DiurnalTemperature:"Diurnal Temperature",Heliodon:"Heliodon",SunAndTime:"Sun & Time"},benchmarksSubMenu:"Benchmarks",benchmarks:{SolarRadiationPredictionVsMeasurement:"Solar Radiation Prediction vs. Measurement",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Line Width",SymbolSize:"Symbol Size",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Show Horizontal Grid Lines",ShowVerticalGridLines:"Show Vertical Grid Lines"},analysisSubMenu:"Análisis",physicsSubMenu:"Physics",physics:{DailySolarRadiationHeatmap:"Daily Solar Radiation Heatmap",SolarRadiationHeatmapOptions:"Solar Radiation Heatmap Options",SolarRadiationHeatmapGridCellSize:"Solar Radiation Heatmap Grid Cell Size",SolarRadiationHeatmapMaxValue:"Solar Radiation Heatmap Maximum Value",SolarRadiationHeatmapNoAnimation:"No Animation for Static Model",ReflectionHeatmap:"Reflection Heatmap"},sensorSubMenu:"Sensores",sensor:{CollectDailyData:"Recoger datos diarios",CollectYearlyData:"Recoger datos anuales",SensorSimulationNoAnimation:"No Animation for Collecting Sensor Data"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Paneles solares",solarPanel:{AnalyzeDailyYield:"Analizar el rendimiento diario",AnalyzeYearlyYield:"Analizar el rendimiento anual",AnalyzeVisibility:"Analyze Visibility",PanelDiscretization:"Discretización del panel",Exact:"Exacto",Approximate:"Aproximado",EnergyGridCellSize:"Energy Grid Cell Size",VisibilityGridCellSize:"View Factor Grid Cell Size",EnergyAnalysisOptions:"Energy Analysis Options",VisibilityAnalysisOptions:"Visibility Analysis Options",SolarPanelSimulationNoAnimation:"No Animation for Solar Panel Simulation"},parabolicTroughSubMenu:"Parabolic Trough",parabolicTrough:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},parabolicDishSubMenu:"Parabolic Dish",parabolicDish:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},fresnelReflectorSubMenu:"Fresnel Reflector",fresnelReflector:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},solarUpdraftTowerSubMenu:"Solar Updraft Tower",solarUpdraftTower:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",SolarUpdraftTowerSimulationNoAnimation:"No Animation for Solar Updraft Tower Simulation"},tutorialsSubMenu:"Tutorials",solarEnergyScienceSubMenu:"Solar Science",solarEnergyScienceTutorials:{SunAngles:"Ángulos solares relativos a un observador en el suelo",InsolationAndClimate:"Insolation and Climate",SolarRadiationToBox:"Radiación solar a una caja"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Building Design",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Cape Cod Style House with Shed Dormer",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Gable Roof vs. Hip Roof",ColonialVsSaltbox:"Colonial vs. Saltbox",GambrelRoofVsMansardRoof:"Gambrel Roof vs. Mansard Roof",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"All Basic Roof Types"},photovoltaicSolarPowerSubMenu:"Photovoltaic Solar Power",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Effect of Tilt Angle",EffectOfAzimuthOfSolarPanel:"Effect of Azimuth",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Seguidores solares",CoveringGroundWithSolarPanels:"Why Just Covering the Ground with Solar Panels is not a Good Idea",InterRowSpacingOfSolarPanelArray:"Effect of Inter-Row Spacing in a Solar Panel Array",EffectOfOrientationOfSolarPanels:"Effect of Orientation of Solar Panels",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Concentrated Solar Power",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Effect of Azimuth of a Parabolic Trough",EffectOfLatusRectumOfParabolicTrough:"Effect of Latus Rectum of a Parabolic Trough",FocusSunlightWithParabolicDish:"Focus Sunlight with a Parabolic Dish",LinearFresnelReflectors:"Linear Fresnel Reflectors",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Effect of Absorber Pipe Height for Linear Fresnel Reflectors",EffectOfAzimuthOfLinearFresnelReflectors:"Effect of Azimuth of Linear Fresnel Reflectors",LinearFresnelReflectorsWithTwoAbsorbers:"Linear Fresnel Reflectors with Two Absorbers",CosineEfficiencyOfHeliostats:"Cosine Efficiency of Heliostats",ShadowingAndBlockingOfHeliostats:"Shadowing and Blocking of Heliostats",EffectSolarPowerTowerHeight:"Effect of Solar Power Tower Height",SolarPowerTower:"Solar Power Tower"},otherTypesOfSolarPowerSubMenu:"Other Types of Solar Power",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Tower"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Ejemplos",solarEnergySubMenu:"Energía Solar",solarEnergyExamples:{SunBeamAndHeliodon:"Rayo de sol y heliodon",RooftopSolarPanels:"Rooftop Solar Panels",NevadaSolarOneParabolicTroughArray:"Nevada Solar One Parabolic Trough Array",TooeleParabolicDishArray:"Tooele Parabolic Dish Array",PS10SolarPowerTower:"PS10 Solar Power Tower",TucsonLinearFresnelReflectors:"Tucson Linear Fresnel Reflectors",SolarCanopyFormFactors:"Solar Canopy Form Factors",SolarCanopyOverBleachers:"Solar Canopy Over Bleachers",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Bus Stop",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Vegetative Buffer",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Hypothetical Solar Panels Over Canal in Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Hypothetical Solar Noise Barrier in Lexington, MA",HSATSolarTrackersRaleighNC:"Horizontal Single Axis Trackers (HSAT) in Raleigh, NC",AADATSolarTrackersLancasterCA:"Azimuth–Altitude Dual Axis Trackers (AADAT) in Lancaster, CA",SolarUpdraftTowerInCity:"Solar Updraft Tower in City"},builtEnvironmentSubMenu:"Built Environment",residentialBuildingsSubMenu:"Residential Buildings",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Dutch Colonial House",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solarium",Church1:"Church 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Barn Style House",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Commercial Buildings",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"BILIM, Mersin, Turkiye",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Edificio de oficinas",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, VT",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Urban Planning",urbanPlanningExamples:{Heatmap1:"Heatmap"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Greenhouse",Pavilion:"Pavilion in a Park",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Artificial Intelligence",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Optimizing the Tilt Angle of a Solar Panel Row",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Optimizing the Tilt Angles of Multiple Solar Panel Rows",SolarFarmGenerativeDesign:"Solar Farm Generative Design",SolarFarmGenerativeDesignWithBlock:"Solar Farm Generative Design in the Presence of a Block",FitchburgSolarFarmGenerativeDesign:"Fitchburg Solar Farm Generative Design"},languageSubMenu:"Idioma",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Sobre nosotros"},avatarMenu:{AccountSettings:"Configuraciones de la cuenta",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"When you sign in, your Google ID is used to create and access your Aladdin account. Only a random alphanumeric string is stored in our database as a reference. No personally identifiable data such as your name or email is ever gathered. For more information, see our ",SignIn:"Iniciar sesión",SignOut:"Desconectar",IfYouAreAStudent:"Si eres un estudiante"},skyMenu:{Axes:"Ejes",Theme:"Tema",ThemeDefault:"Por defecto",ThemeDesert:"Desierto",ThemeDune:"Dune",ThemeForest:"Bosque",ThemeGrassland:"Campo",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Sunlight Attenuation Coefficient in Air",ConvectiveCoefficientOfAir:"Convective Coefficient of Air",HighestTemperatureTimeInMinutes:"Highest Temperature Time (Minutes)",SelectSunAnglesToShow:"Select Sun Angles to Show",ShowAzimuthAngle:"Show Azimuth Angle",ShowElevationAngle:"Show Elevation Angle",ShowZenithAngle:"Show Zenith Angle",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Imagen en el suelo",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Eliminar todos los árboles",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Eliminar toda la gente",RemoveAllUnlockedFoundations:"Eliminar todos las bases",RemoveAllUnlockedCuboids:"Eliminar todos los cuboides",DoYouReallyWantToRemoveAllPeople:"Estás seguro que quieres eliminar a toda la gente who are not locked",DoYouReallyWantToRemoveAllTrees:"Estás seguro que quieres eliminar todos los árboles that are not locked",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Estás seguro que quieres eliminar todas las bases that are not locked",DoYouReallyWantToRemoveAllCuboids:"Estás seguro que quieres eliminar todos los cuboides that are not locked",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiqueta",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Seguir mostrando etiqueta"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Eliminar todos los paneles solares",RemoveAllUnlockedParabolicTroughs:"Remove All Unlocked Parabolic Troughs",RemoveAllUnlockedParabolicDishes:"Remove All Unlocked Parabolic Dishes",RemoveAllUnlockedFresnelReflectors:"Remove All Unlocked Fresnel Reflectors",RemoveAllUnlockedHeliostats:"Remove All Unlocked Heliostats",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Eliminar todos los sensores",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Eliminar todas las paredes",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",RemoveAllUnlockedHumans:"Remove All Humans",RemoveAllUnlockedTrees:"Remove All Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Rejillas",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",SolarPanels:"Paneles solares",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Estás seguro que quieres eliminar todos los paneles solares en esta base that are not locked",ParabolicTroughs:"Parabolic Troughs",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Do you really want to remove all the parabolic troughs on this foundation that are not locked",ParabolicDishes:"Parabolic Dishes",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Do you really want to remove all the parabolic dishes on this foundation that are not locked",FresnelReflectors:"Fresnel Reflectors",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Do you really want to remove all the Fresnel reflectors on this foundation that are not locked",Heliostats:"Heliostats",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Do you really want to remove all the heliostats on this foundation that are not locked",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensores",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Estás seguro que quieres eliminar todos los sensores de esta base",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Paredes",DoYouReallyWantToRemoveAllWallsOnFoundation:"Estás seguro que quieres eliminar todas las paredes de esta base that are not locked",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Polígonos",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Estás seguro que quieres eliminar todos los polígonos de esta base that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnFoundation:"Do you really want to remove all the humans on this foundation who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnFoundation:"Do you really want to remove all the trees on this foundation that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Solamente esta base",AllConnectedFoundations:"Todas las bases conectadas",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Todas las bases",AddPolygon:"Añadir polígono",SolarStructure:"Solar Structure",GroupMaster:"Group Master",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Receiver Tower for Heliostats",ReceiverTowerPhysicalProperties:"Physical Properties of Receiver Tower",ReceiverTowerHeight:"Height of Receiver Tower",ReceiverTowerRadius:"Radius of Receiver Tower",ReceiverAbsorptance:"Absorptance of Receiver",ReceiverOpticalEfficiency:"Optical Efficiency of Receiver",ReceiverThermalEfficiency:"Thermal Efficiency of Receiver"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Absorber Pipe for Fresnel Reflectors",AbsorberPipePhysicalProperties:"Physical Properties of Absorber Pipe",AbsorberHeight:"Height of Absorber Pipe",AbsorberApertureWidth:"Aperture Width of Absorber Pipe",AbsorberPipePoleNumber:"Pole Number for Absorber Pipe",AbsorberAbsorptance:"Absorptance of Absorber",AbsorberOpticalEfficiency:"Optical Efficiency of Absorber",AbsorberThermalEfficiency:"Thermal Efficiency of Absorber"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Tower",SolarUpdraftTowerPhysicalProperties:"Physical Properties of Solar Updraft Tower",SolarUpdraftTowerChimneyHeight:"Solar Updraft Tower Chimney Height",SolarUpdraftTowerChimneyRadius:"Solar Updraft Tower Chimney Radius",SolarUpdraftTowerCollectorHeight:"Solar Updraft Tower Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Tower Collector Radius",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Tower Collector Transmissivity",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Tower Collector Emissivity",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Tower Discharge Coefficient",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Tower Turbine Efficiency"},cuboidMenu:{Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",RemoveAllUnlockedSolarPanels:"Eliminar todos los paneles solares",RemoveAllUnlockedSensors:"Eliminar todos los sensores",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",RemoveAllUnlockedHumans:"Remove All Humans",RemoveAllUnlockedTrees:"Remove All Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Rejillas",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Paneles solares",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Estás seguro que quieres eliminar todos los paneles solares de este cuboide that are not locked",Sensors:"Sensores",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Estás seguro que quieres eliminar todos los sensores de este cuboide that are not locked",Polygons:"Polígonos",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Estás seguro que quieres eliminar todos los polígonos de este cuboide that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnCuboid:"Do you really want to remove all the humans on this cuboid who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnCuboid:"Do you really want to remove all the trees on this cuboid that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Solamente este cuboide",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Todos los cuboides",OnlyThisSide:"Solamente este lado",AllSidesOfThisCuboid:"Todos los lados en este cuboide",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Todos los lados en todos los cuboides",AddPolygon:"Añadir polígono",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Rellenar",FillTexture:"Rellenar textura",FillColor:"Rellenar color",Opacity:"Opacity",LineColor:"Color de la línea",LineWidth:"Line Width",LineStyle:"Line Style",SolidLine:"Solid Line",DashedLine:"Dashed Line",DottedLine:"Dotted Line",InsertVertexBeforeIndex:"Añadir vértice antes del índice",InsertVertexAfterIndex:"Añadir vértice después del índice",DeleteVertex:"Eliminar vértice",OnlyThisPolygon:"Solamente este polígono",AllPolygonsOnSurface:"All Polygons on the Same Surface",AllPolygonsAboveFoundation:"Todos los polígonos sobre la base",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Todos los polígonos",Layout:"Layout",SolarPanelArrayLayout:"Solar Panel Array Layout",SolarPanelArrayLayoutParametricDesign:"Solar Panel Array Layout: Parametric Design",SolarPanelArrayLayoutGenerativeDesign:"Solar Panel Array Layout: Generative Design",SolarPanelArrayModel:"Solar Panel Model",SolarPanelArrayOrientation:"Orientation",SolarPanelArrayTiltAngle:"Tilt Angle",SolarPanelArrayRowWidth:"Row Width",SolarPanelArrayInterRowSpacing:"Inter-Row Spacing",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Row Axis",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"East-West (Absolute)",SolarPanelArrayNorthSouthRowAxis:"North-South (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Pole Height",SolarPanelArrayPoleSpacing:"Pole Spacing",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"This layout is not accepted. Please check your parameters."},optimizationMenu:{Optimization:"Optimization",Parameters:"Parameters",Variables:"Variables",Constants:"Constants",GeneticAlgorithm:"Genetic Algorithm",GeneticAlgorithmSettings:"Genetic Algorithm Settings",ParticleSwarmOptimization:"Particle Swarm Optimization",ParticleSwarmOptimizationSettings:"Particle Swarm Optimization Settings",SolarPanelTiltAngleOptimization:"Solar Panel Tilt Angle Optimization",SolarPanelArrayLayout:"Solar Panel Array Layout",Generation:"Generation",Gene:"Gene",NormalizedVariables:"Normalized Variables",Objective:"Objective",ObjectiveFunctionDailyTotalYield:"Daily Total Yield",ObjectiveFunctionYearlyTotalYield:"Yearly Total Yield",ObjectiveFunctionDailyMeanYield:"Daily Mean Yield",ObjectiveFunctionYearlyMeanYield:"Yearly Mean Yield",ObjectiveFunctionDailyProfit:"Daily Profit",ObjectiveFunctionYearlyProfit:"Yearly Profit",GeneticAlgorithmSelectionMethod:"Genetic Algorithm Selection Method",RouletteWheel:"Roulette Wheel",Tournament:"Tournament",SearchMethod:"Search Method",GlobalSearchUniformSelection:"Global Search Uniform Selection",LocalSearchRandomOptimization:"Local Search Random Optimization",PopulationSize:"Population Size",MaximumGenerations:"Maximum Generations",SelectionRate:"Selection Rate",CrossoverRate:"Crossover Rate",MutationRate:"Mutation Rate",Step:"Step",SwarmSize:"Swarm Size",MaximumSteps:"Maximum Steps",MaximumVelocity:"Maximum Velocity",InertiaWeight:"Inertia Weight",CognitiveCoefficient:"Cognitive Coefficient",SocialCoefficient:"Social Coefficient",ConvergenceThreshold:"Convergence Threshold for Termination",LocalSearchRadius:"Local Search Radius",RowsPerRackRange:"Range for Rows per Rack",TiltAngleRange:"Range for Tilt Angle",InterRowSpacingRange:"Range for Inter-Row Spacing",ClickTargetPolygonToActivate:"Click Target Polygon to Activate",ClickTargetFoundationToActivate:"Click Target Foundation to Activate"},treeMenu:{ShowModel:"Mostrar modelo",Flip:"Flip",Type:"Tipo",Spread:"Extender"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Cambiar persona",Flip:"Flip",Observer:"Observer",ViewFromThisPerson:"View from This Person"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Azimut relativa",Pole:"Pole",PoleHeight:"Altura del poste",PoleRadius:"Pole Radius",ExtraPoleHeight:"Extra Pole Height",ExtraPoleHeightInAdditionToHalfWidth:"Extra Pole Height in Addition to Half Width",DrawSunBeam:"Dibujar rayo del sol"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflector Reflectance",ReceiverAbsorptance:"Receiver Absorptance",ReflectorOpticalEfficiency:"Reflector Optical Efficiency",ReceiverThermalEfficiency:"Receiver Thermal Efficiency"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Cambiar modelo PV",Orientation:"Orientación",Portrait:"Vertical",Landscape:"Horizontal",FrameColor:"Frame Color",Panels:"paneles",PanelsWide:"ancho paneles",PanelsLong:"longitud paneles",TiltAngle:"Inclinar ángulo",SouthFacingIsPositive:"Orientado al sur es positivo",Tracker:"Seguidor",SolarTrackerFollowsSun:"Un seguidor sigue el sol para incrementar las salidas de los paneles solares",PoleSpacing:"Espaciado entre postes",NoTracker:"Sin seguimiento",HorizontalSingleAxisTracker:"Seguidor horizontal de eje único",VerticalSingleAxisTracker:"Seguidor vertical de eje único",AltazimuthDualAxisTracker:"Seguidor de doble eje altazimutal",OnlyThisSolarPanel:"Solamente este panel solar",AllSolarPanelsOnSurface:"Todos los paneles solares en la misma superficie",AllSolarPanelsAboveFoundation:"Todos los paneles solares sobre la misma base",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Todos los paneles solares"},pvModelPanel:{SolarPanelSpecs:"Especificaciones del panel solar",Model:"Modelo",PanelSize:"Tamaño del panel",Cells:"Celdas",CellType:"Tipo de celda",Monocrystalline:"Monocristalino",Polycrystalline:"Policristalino",ThinFilm:"Película delgada",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Negro",Blue:"Azul",ShadeTolerance:"Tolerancia a la sombra",SolarCellEfficiency:"Eficiencia de la célula solar",NominalOperatingCellTemperature:"Temperatura nominal de la celda de funcionamiento",TemperatureCoefficientOfPmax:"Coeficiente de temperatura de Pmax"},parabolicTroughMenu:{ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",LatusRectum:"Latus Rectum",OnlyThisParabolicTrough:"Only This Parabolic Trough",AllParabolicTroughsAboveFoundation:"All Parabolic Troughs Above the Same Foundation",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"All Parabolic Troughs"},fresnelReflectorMenu:{AbsorberPipe:"Absorber Pipe",SelectAbsorberToReflectSunlightTo:"Select Absorber to Reflect Sunlight to",ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",OnlyThisFresnelReflector:"Only This Fresnel Reflector",AllFresnelReflectorsAboveFoundation:"All Fresnel Reflectors Above the Same Foundation",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"All Fresnel Reflectors"},heliostatMenu:{Tower:"Tower",SelectTowerToReflectSunlightTo:"Select Tower to Reflect Sunlight to",OnlyThisHeliostat:"Only This Heliostat",AllHeliostatsAboveFoundation:"All Heliostats Above the Same Foundation",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"All Heliostats"},parabolicDishMenu:{ReceiverStructure:"Receiver Structure",CentralPole:"Central Pole",CentralPoleWithTripod:"Central Pole with Tripod",Quadrupod:"Quadrupod",RimDiameter:"Rim Diameter",LatusRectum:"Latus Rectum",ExtraPoleHeightInAdditionToRadius:"Extra Pole Height in Addition to Radius",OnlyThisParabolicDish:"Only This Parabolic Dish",AllParabolicDishesAboveFoundation:"All Parabolic Dishes Above the Same Foundation",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"All Parabolic Dishes"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",SizeOfWall:"Tamaño de la pared",OnlyThisWall:"Solamente esta pared",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:"Todas las paredes sobre la misma base",AllSelectedWalls:"All Selected Walls",AllWalls:"Todo paredes",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Do you really want to remove all the windows on this wall",Doors:"Doors",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Do you really want to remove all the doors on this wall",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Do you really want to remove all the solar panels on this wall",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Wall Structure",DefaultStructure:"Default",StudStructure:"Stud",PillarStructure:"Pillar",Opacity:"Opacity",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Altura",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Only This Window",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"All Windows Above the Same Foundation",AllSelectedWindows:"All Selected Windows",AllWindows:"All Windows",Width:"Ancho",Height:"Altura",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Mullion",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Mullion Width",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Tint",Opacity:"Opacity",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Shutter",LeftShutter:"Left Shutter",RightShutter:"Right Shutter",BothShutters:"Both Shutters",ShutterWidth:"Relative Width",ShutterColor:"Shutter Color",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",OnlyThisRoof:"Only This Wall",AllRoofsAboveFoundation:"All Walls Above the Same Foundation",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"All Roofs",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Rafter Spacing",RafterWidth:"Rafter Width",RafterThickness:"Rafter Thickness",RafterColor:"Rafter Color",RoofColor:"Roof Color",RoofSideColor:"Roof Side Color",GlassTint:"Glass Tint",Opacity:"Opacity",RoofStructure:"Roof Structure",DefaultStructure:"Default",RafterStructure:"Rafter",GlassStructure:"Glass",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",Texture11:"Textura 11",Texture12:"Textura 12",Texture13:"Textura 13",Texture14:"Textura 14",Texture15:"Textura 15",Texture16:"Textura 16",Texture17:"Textura 17",OnlyThisDoor:"Only This Door",AllDoorsOnWall:"All Doors on the Same Wall",AllDoorsAboveFoundation:"All Doors Above the Same Foundation",AllSelectedDoors:"All Selected Doors",AllDoors:"All Doors",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Alto",Low:"Bajo"},designInfoPanel:{NumberOfSelectedHeliostats:"Number of selected heliostats",NumberOfSelectedSolarPanels:"Number of selected solar panels",ElectricityGeneratedDailyBySolarPanels:"Electricity generated daily by these solar panels",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Color Contrast",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Click up or down arrow buttons to change"},instructionPanel:{Rotate:"Rotar",DragMouse:"Arrastrar el ratón",Zoom:"Zoom",MouseWheelOrKeys:"Girar el mouse o presionar Ctrl+[ o Ctrl+]",MouseWheelOrKeysMac:"Girar el mouse o presionar ⌘+[ o ⌘+]",Pan:"Panorámica",HoldCtrlDragMouse:"Mantener Ctrl y mover el ratón",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Reset",AutoRotate:"Auto rotar",StartOrStop:"Presiona F4 para empezar o parar"},mapPanel:{ImageOnGround:"Imagen en el suelo",HideAddress:"Hide Address",WeatherStations:"Weather Stations",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Coordenadas",Zoom:"Zoom"},visibilityPanel:{SolarPanelVisibility:"Solar Panel Visibility",Observer:"Observer",VantagePoint:"Vantage Point",ItemizedVisibilityByFields:"Itemized by Fields",TotalVisibility:"Total"},sensorPanel:{LightSensor:"Sensor de luz",WeatherDataFrom:"Datos metereológicos de"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Rendimiento diario del panel solar",SolarPanelYearlyYield:"Rendimiento anual del panel solar",Yield:"Rendimiento",YieldPerHour:"Rendimiento por hora",DailyTotal:"Total diario",YearlyTotal:"Total anual",ShowOutputsOfIndividualSolarPanels:"Mostrar salidas de paneles solares individuales",Profit:"Profit",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolic Trough Daily Yield",ParabolicTroughYearlyYield:"Parabolic Trough Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicTroughs:"Show outputs of individual parabolic troughs"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolic Dish Daily Yield",ParabolicDishYearlyYield:"Parabolic Dish Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicDishes:"Show outputs of individual parabolic dishes"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflector Daily Yield",FresnelReflectorYearlyYield:"Fresnel Reflector Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualFresnelReflectors:"Show outputs of individual Fresnel feflectors"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Daily Yield",HeliostatYearlyYield:"Heliostat Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualHeliostats:"Show outputs of individual heliostats"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Tower Daily Yield",UpdraftTowerYearlyYield:"Solar Updraft Tower Yearly Yield",ChimneyAirTemperature:"Chimney Air Temperature",ChimneyWindSpeed:"Chimney Wind Speed",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualUpdraftTowers:"Show outputs of individual updraft towers"},heliodonPanel:{SunAndTimeSettings:"Sun & Time Settings",SunAngles:"Ángulos",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Mis archivos en la nube",GenerateLink:"Generar enlace",LinkGeneratedInClipBoard:"Se ha generado un enlace en el portapapeles",DoYouReallyWantToDelete:"Estás seguro que quieres eliminar",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Configuración de mi cuenta",MyID:"My 🆔",ClickToCopyMyID:"Click to copy my ID",IDInClipBoard:"Your ID was copied and is ready to paste.",StoreMyNameInMyFilesWhenSaving:"Store my name in my files when saving",DoYouReallyWantToShowYourNameInYourFiles:"Do you really want to show your display name in your files?",SignFileDisclaimer:"If yes, your display name may be seen by anyone who can access your files.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"User Count",SchoolID:"School ID",ClassID:"Class ID"},weatherPanel:{SunshineHours:"Luz solar"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Select Air Temperature Model",Sinusoidal:"Sinusoidal"},economicsPanel:{EconomicsParameters:"Economics Parameters",ElectricitySellingPrice:"Electricity Selling Price",OperationalCostPerUnit:"Operational Cost per Unit",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Claridad",ShowDaylightResults:"Mostrar resultados de la luz solar",ShowSkyClearnessResults:"Mostrar resultados de claridad del cielo",ShowAverageDailySolarRadiation:"Mostrar la radiación solar diaria promedio"},analysisManager:{NoSensorForCollectingData:"Sin sensor para recopilar datos",NoSolarPanelForAnalysis:"Sin panel solar para el análisis",NoObserverForVisibilityAnalysis:"There is no observer for visibility analysis.",NoWaterHeaterForAnalysis:"There is no water heater for analysis.",NoParabolicDishForAnalysis:"There is no parabolic dish for analysis.",NoParabolicTroughForAnalysis:"There is no parabolic trough for analysis.",NoFresnelReflectorForAnalysis:"There is no Fresnel reflector for analysis.",NoHeliostatForAnalysis:"There is no heliostat for analysis.",NoSolarUpdraftTowerForAnalysis:"There is no solar updraft tower for analysis.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Archivo en la nube",Select:"Seleccionar",AddFoundation:"Añadir base",AddWall:"Añadir pared",AddWindow:"Añadir ventana",AddDoor:"Añadir door",AddPyramidRoof:"Add Pyramid Roof",AddGableRoof:"Add Gable Roof",AddHipRoof:"Add Hip Roof",AddGambrelRoof:"Add Gambrel Roof",AddMansardRoof:"Add Mansard Roof",AddCuboid:"Añadir Cuboid",AddSensor:"Añadir Sensor",AddSolarPanel:"Añadir Panel Solar",AddWaterHeater:"Add Water Heater",AddParabolicDish:"Add Parabolic Dish",AddParabolicTrough:"Add Parabolic Trough",AddFresnelReflector:"Add Fresnel Reflector",AddHeliostat:"Add Heliostat",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Añadir árbol",AddFlower:"Add Flower",AddPeople:"Añadir gente",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Manipulate a group",ClearScene:"Clear escena",ShowSunAndTimeSettings:"Show sun and time settings",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"Estás seguro que quieres borrar el contenido",ClickForMoreButtons:"Click for more buttons"},tooltip:{gotoIFI:"Ver Institute for Future Intelligence",visitAladdinHomePage:"Visita la página de Aladdin",clickToOpenMenu:"Haz clic para abrir el menú principal",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Cerezo silvestre",Elm:"Olmo",FanPalm:"Fan Palm",Linden:"Tilo",Magnolia:"Magnolia",Maple:"Arce",Oak:"Roble",Pine:"Pino",Spruce:"Spruce"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Jaah",Jack:"Jack",Jacob:"Jacob",Jacqueline:"Jacqueline",Jade:"Jade",Jamelia:"Jamelia",James:"James",Jane:"Jane",Jaya:"Jaya",Jaye:"Jaye",Jeanette:"Jeanette",Jedi:"Jedi",Jeff:"Jeff",Jena:"Jena",Jennifer:"Jennifer",Jess:"Jess",Jett:"Jett",Jill:"Jill",Jiya:"Jiya",Joan:"Joan",Jocelyn:"Jocelyn",Joel:"Joel",Joey:"Joey",John:"John",Jonathon:"Jonathon",Jose:"Jose",Joseph:"Joseph",Joshua:"Joshua",Judd:"Judd",Judy:"Judy",Julia:"Julia",Julio:"Julio",Jumapili:"Jumapili",June:"June",Juro:"Juro",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Jft={translation:{name:{IFI:"Yarının Zekası Enstitüsü",Aladdin:"Aladdin",Tagline:"Aladdin: Açıklanabilir Yapay Zeka ile Tasarımı Yeniden Hayal Et — Yarının Zekası Enstitüsü"},cookie:{Statement:"Kabul Ete tıklayarak, iyi bir Aladdin deneyimi için çerez kullanımını kabul etmiş olursunuz.",Accept:"Kabul Et"},aboutUs:{ProductBroughtToYouBy:"Geliştiriciler",TermsOfService:"Hizmet Şartları",PrivacyPolicy:"Gizlilik Politikası",Software:"Yazılım",Content:"İçerik",Research:"Araştırma",Support:"Destek",Acknowledgment:"Onay",FundingInformation:"Ulusal Bilim Vakfı (NSF), #2105695, #2131097, ve #2301164 numaralı fon destekleriyle mevcut ürünün araştırma ve geliştirme çalışmalarına cömert bir mali kaynak sağlamıştır. Bununla birlikte üründe ifade edilen herhangi bir görüş, bulgu ve sonuç veya öneri yazarların kendi görüşleridir. NSF'nin kurumsal görüşlerini yansıtmayabilir.",Contact:"Daha fazla bilgi için lütfen Charles Xie (charles@intofuture.org) ile iletişime geçiniz.",Translators:"Çevirmenler"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"Tüm Hakları Saklıdır.",MeterAbbreviation:"m",Version:"Sürüm",VersionInitial:"S",Options:"Seçenekler",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Maksimum Sayı",MinimumNumber:"Minimum Sayı",MaximumValue:"Maksimum Değer",MinimumValue:"Minimum Değer",Or:"Veya",None:"Hiçbiri",High:"Yüksek",Partial:"Kısmi",Teacher:"Öğretmen",Class:"Sınıf",Total:"Toplam",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Aralık",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. -AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Tıkla",Open:"Aç",Save:"Kaydet",SaveAsImage:"Resim Olarak Kaydet",SaveAsCsv:"Save as CSV",Update:"Güncelle",Paste:"Yapıştır",Copy:"Kopyala",Cut:"Kes",Delete:"Sil",Lock:"Kilitle",Translucent:"Yarı Saydam",Color:"Renk",Pattern:"Pattern",Texture:"Doku",Size:"Boyut",Thickness:"Kalınlık",Yes:"Evet",No:"Hayır",OK:"Tamam",Cancel:"İptal",Apply:"Uygula",Close:"Kapat",ApplyTo:"Uygula",Run:"Çalıştır",Pause:"Duraklat",Resume:"Sürdür",Clear:"Temizle",Warning:"Uyarı",Caution:"Caution",Reminder:"Hatırlatıcı",Length:"Uzunluk",Width:"Genişlik",Height:"Yükseklik",Radius:"Yarıçap",Angle:"Açı",Azimuth:"Azimut",Coordinates:"Koordinatlar",Weather:"Hava Durumu",Show:"Göster",Animate:"Oynat",Date:"Tarih",Time:"Saat",Title:"Başlık",Owner:"Sahibi",Action:"Eylem",Rename:"Yeniden Adlandır",Location:"Konum",Latitude:"Enlem",Month:"Ay",Day:"Gün",Hour:"Saat",Daylight:"Gün Işığı",Radiation:"Işınım",Temperature:"Sıcaklık",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"W",Fixed:"Sabit",Elements:"Öğeler",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Doku Yok",FoundationElement:"Temel",CuboidElement:"Kübik",PolygonElement:"Poligon",SensorElement:"Sensör",SolarPanelElement:"Güneş Paneli",WaterHeaterElement:"Su Isıtıcı",ParabolicDishElement:"Parabolik Çanak",ParabolicTroughElement:"Parabolik Oluk",FresnelReflectorElement:"Fresnel Reflektör",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Kilitli",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Oturum açılamıyor",CannotSignOut:"Çıkış yapılamıyor",YourAccountWasCreated:"Hesabınız oluşturuldu",CannotCreateAccount:"Hesap oluşturulamıyor",YourAccountSettingsWereSaved:"Hesap ayarlarınız kaydedildi.",CannotSaveYourAccountSettings:"Hesap ayarlarınız kaydedilemiyor",CannotSaveYourFileToCloud:"Dosyanız buluta kaydedilemiyor",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"Bulut dosyası bulunamadı",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Bulut dosyası açılamıyor",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Bulut klasörünüz açılamıyor",CannotDeleteCloudFile:"Bulut dosyası silinemiyor",CannotRenameCloudFile:"Bulut dosyası yeniden adlandırılamıyor",DoYouWantToSaveChanges:"Değişiklikleri kaydetmek istiyor musunuz?",NotApplicableToSelectedAction:"Seçili eyleme uygulanamaz",ThisElementIsLocked:"Bu öğe kilitli.",ThisCannotBeUndone:"Geri alınamaz.",AzimuthOfNorthIsZero:"Kuzey yönünün azimut açısı 0 ° derecedir.",CounterclockwiseAzimuthIsPositive:"Saat yönünün tersi yönde azimut açısı pozitiftir.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Çakışma nedeniyle taşıma iptal edildi.",MoveOutsideBoundaryCancelled:"Alan dışına çıkan taşıma iptal edildi.",RotationCancelledBecauseOfOverlap:"Çakışma nedeniyle döndürme iptal edildi.",RotationOutsideBoundaryCancelled:"Alan dışı döndürme iptal edildi.",ResizingCancelledBecauseOfOverlap:"Çakışma nedeniyle yeniden boyutlandırma iptal edildi.",ResizingOutsideBoundaryCancelled:"Alan dışında yeniden boyutlandırma iptal edildi.",CannotPasteOutsideBoundary:"Alanın dışına yapıştırılamaz.",CannotPasteBecauseOfOverlap:"Çakışma nedeniyle yapıştırılamıyor.",CannotMoveObjectTooFar:"Nesne buraya taşınamaz.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Yeni yerleşim düzeni uygulanmadan önce mevcut güneş panelleri kaldırılacaktır.",DoYouWantToContinue:"Devam etmek istiyor musunuz?",SolarPanelsCannotIntersectWithGround:"Güneş panelleri zeminle kesişemez.",SolarPanelsCannotOverlapWithOneAnother:"Güneş panelleri birbiriyle örtüşemez.",ScreenshotSaved:"Ekran görüntüsü kaydedildi.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simülasyon başladı.",SimulationCompleted:"Simülasyon tamamlandı.",SimulationAborted:"Simülasyon iptal edildi.",SimulationPaused:"Simülasyon duraklatıldı.",CancelSimulation:"Simülasyonu iptal et",PauseSimulation:"Simülasyonu duraklat",ResumeSimulation:"Simülasyonu devam ettir",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evrim başladı.",EvolutionCompleted:"Evrim tamamlandı.",EvolutionAborted:"Evrim iptal edildi.",EvolutionPaused:"Evrim duraklatıldı.",EncounterEvolutionError:"Evrim hatasıyla karşılaşıldı.",CancelEvolution:"Evrimi iptal et",PauseEvolution:"Evrimi duraklat",ResumeEvolution:"Evrime devam et",ConvergenceThresholdHasBeenReached:"Yakınsama eşiğine ulaşıldı.",MaximumNumberOfGenerationsHasBeenReached:"Maksimum nesil sayısına ulaşıldı.",MaximumNumberOfStepsHasBeenReached:"Maksimum adım sayısına ulaşıldı.",ObjectiveFunctionTypeError:"Geçerli işlev desteklenmiyor. Lütfen menüden başlatınız.",WallsAreNotAtSameHeight:"Walls are not at same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analiz Seçenekleri",option:{GridCellSize:"Hücre Boyutu",SamplingFrequency:"Örneklem Frekansı",TimesPerHour:"x 1/saat",DaysPerYear:"Gün Sayısı / Yıl"},mainMenu:"Ana Menü",cloudMenu:"Bulut Menüsü",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Dosya",file:{CreateNewFile:"Yeni Dosya Oluştur",OpenLocalFile:"Yerel Dosya Aç",SaveAsLocalFile:"Yerel Dosya Olarak Kaydet",SavingAbortedMustHaveValidFileName:"Kaydetme iptal edildi! Geçerli bir dosya adı kullanınız.",OpenCloudFile:"Bulut Dosyası Aç",SaveCloudFile:"Bulut Dosyasını Kaydet",SaveAsCloudFile:"Bulut Dosyası Olarak Kaydet",SavingAbortedMustHaveValidTitle:"Kaydetme iptal edildi! Dosya adı geçersiz!",ToSaveYourWorkPleaseSignIn:"Çalışmanızı kaydetmek için lütfen oturum açınız.",TakeScreenshot:"Ekran görüntüsü al",UseCloudFileName:"Bulut Dosya Adını Kullan",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Düzen",edit:{Undo:"Geri Al",Redo:"Yinele"},viewSubMenu:"Görünüm",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D",ResetView:"Yenile",ZoomIn:"Yaklaş",ZoomOut:"Uzaklaş",AutoRotate:"Otomatik Döndür",ShowShadow:"Gölge",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Yüzer Pencere",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Konum Bilgisi",DesignInformation:"Izgara Hücre Sayısı",Instruction:"Yardım",StickyNote:"Notlar",Note:"Notlar"}},settingsSubMenu:"Settings",settings:{WeatherData:"Hava Durumu",DiurnalTemperature:"Günlük Sıcaklık",Heliodon:"Heliodon",SunAndTime:"Güneş & Zaman"},benchmarksSubMenu:"Deneysel",benchmarks:{SolarRadiationPredictionVsMeasurement:"Güneş Işınım Tahmini Vs. Ölçümü ",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Çizgi Kalınlığı",SymbolSize:"Sembol Boyutu",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Yatay Izgara Çizgilerini Göster",ShowVerticalGridLines:"Dikey Izgara Çizgilerini Göster"},analysisSubMenu:"Analiz",physicsSubMenu:"Fizik",physics:{DailySolarRadiationHeatmap:"Günlük Isı Haritası",SolarRadiationHeatmapOptions:"Isı Haritası Seçenekleri",SolarRadiationHeatmapGridCellSize:"Hücre Boyutu",SolarRadiationHeatmapMaxValue:"Işınım Maksimum Değer",SolarRadiationHeatmapNoAnimation:"Animasyon Yok",ReflectionHeatmap:"Yansıma Isı Haritası"},sensorSubMenu:"Sensörler",sensor:{CollectDailyData:"Günlük Veri Topla",CollectYearlyData:"Yıllık Veri Topla",SensorSimulationNoAnimation:"Animasyon Yok"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Güneş Panelleri",solarPanel:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",AnalyzeVisibility:"Görünüm Analizi",PanelDiscretization:"Panel Ayrıklaştırma",Exact:"Kesin",Approximate:" Yaklaşık",EnergyGridCellSize:"Hücre Boyutu",VisibilityGridCellSize:"Hücre Boyutu",EnergyAnalysisOptions:"Enerji Analiz Seçenekleri",VisibilityAnalysisOptions:"Görünüm Analiz Seçenekleri",SolarPanelSimulationNoAnimation:"Animasyon Yok"},parabolicTroughSubMenu:"Parabolik Oluk",parabolicTrough:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},parabolicDishSubMenu:"Parabolik Çanak",parabolicDish:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},fresnelReflectorSubMenu:"Fresnel Yansıtıcı",fresnelReflector:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},solarUpdraftTowerSubMenu:"Solar Updraft Kulesi",solarUpdraftTower:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",SolarUpdraftTowerSimulationNoAnimation:"Animasyon Yok"},tutorialsSubMenu:"Öğrenme Merkezi",solarEnergyScienceSubMenu:"Güneş Bilimi",solarEnergyScienceTutorials:{SunAngles:"Gözlemciye Göre Güneş Açıları",InsolationAndClimate:"Güneşlenme ve İklim",SolarRadiationToBox:"Kutu Güneş Işınımı"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Bina Tasarımı",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Çatı Pencereli Cape Cod Evi",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Beşik Çatı vs. Kırma Çatı",ColonialVsSaltbox:"Koloni vs. Tuz Kutusu",GambrelRoofVsMansardRoof:"Flemenk Çatı vs. Mansart Çatı",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"Tüm Çatı Tipleri"},photovoltaicSolarPowerSubMenu:"Fotovoltaik Güneş Enerjisi",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Güneş Paneli Eğim Açısı Etkisi",EffectOfAzimuthOfSolarPanel:"Güneş Paneli Azimut Açısı Etkisi",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Güneş İzleyiciler",CoveringGroundWithSolarPanels:"Sadece güneş panellerini kullanarak yüzeyi kaplamak neden iyi bir fikir değildir?",InterRowSpacingOfSolarPanelArray:"Güneş Paneli Dizi Arası Boşluk Etkisi",EffectOfOrientationOfSolarPanels:"Güneş Panelleri Yön Etkisi",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Yoğunlaştırılmış Güneş Enerjisi",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Parabolik Oluk Azimut Açısı Etkisi",EffectOfLatusRectumOfParabolicTrough:"Parabolik Oluk Özkiriş Etkisi",FocusSunlightWithParabolicDish:"Güneş Işığını Parabolik Çanakla Odaklama",LinearFresnelReflectors:"Doğrusal Fresnel Reflektörler",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Soğurucu Boru Yükseklik Etkisi",EffectOfAzimuthOfLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Azimut Açısı Etkisi",LinearFresnelReflectorsWithTwoAbsorbers:"İki Soğuruculu Doğrusal Fresnel Reflektörler",CosineEfficiencyOfHeliostats:"Heliostatların Kosinüs Verimliliği",ShadowingAndBlockingOfHeliostats:"Heliostatlarda Gölgeleme ve Engellenme",EffectSolarPowerTowerHeight:"Güneş Güç Kulesi Yükseklik Etkisi",SolarPowerTower:"Güneş Güç Kulesi"},otherTypesOfSolarPowerSubMenu:"Diğer Güneş Gücü Türleri",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Kulesi"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Örnekler",solarEnergySubMenu:"Güneş Enerjisi",solarEnergyExamples:{SunBeamAndHeliodon:"Güneş Işını ve Heliodon",RooftopSolarPanels:"Çatı Üstü Güneş Panelleri",NevadaSolarOneParabolicTroughArray:"Nevada Eyaletinde Parabolik Oluk Dizisi",TooeleParabolicDishArray:"Tooele Şehrinde Parabolik Çanak Dizisi",PS10SolarPowerTower:"PS10 Güneş Güç Kulesi",TucsonLinearFresnelReflectors:"Tucson Şehrinde Doğrusal Fresnel Reflektörleri",SolarCanopyFormFactors:"Solar Gölgelik Biçim Etkileri",SolarCanopyOverBleachers:"Tirübün Üzeri Solar Gölgelik",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Otobüs Durağı",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Bitkisel Tampon",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Bakersfield Şehrinde Kanal Üzerindeki Varsayımsal Güneş Panelleri",SolarNoiseBarrierLexingtonMA:"Lexington Kasabasında Varsayımsal Güneş Gürültü Bariyeri",HSATSolarTrackersRaleighNC:"Raleigh Şehrinde Yatay Tek Eksenli İzleyiciler (HSAT)",AADATSolarTrackersLancasterCA:"Lancaster Şehrinde Azimut–İrtifa Çift Eksenli İzleyiciler (AADAT)",SolarUpdraftTowerInCity:"Şehir Solar Updraft Kulesi"},builtEnvironmentSubMenu:"Yapılı Çevre",residentialBuildingsSubMenu:"Konut inşaatları",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Flemenk Koloni Evi",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solaryum",Church1:"Kilise 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Çiftlik Evi",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Ticari Binalar",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"Yenişehir Belediyesi Bilim ve Sanat Merkezi",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Ofis Binası",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"Güney Burlington Lisesi",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Şehir Planlaması",urbanPlanningExamples:{Heatmap1:"Isı Haritası"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Sera",Pavilion:"Park Kamelyası",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Yapay Zeka",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Güneş Paneli Sıra Eğim Açısı Optimize Etme",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Çoklu Güneş Paneli Sıra Eğim Açısı Optimize Etme",SolarFarmGenerativeDesign:"Güneş Tarlası Tasarımı",SolarFarmGenerativeDesignWithBlock:"Blok Varlığında Güneş Tarlası Tasarımı",FitchburgSolarFarmGenerativeDesign:"Fitchburg Güneş Tarlası Tasarımı"},languageSubMenu:"Dil",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Hakkımızda"},avatarMenu:{AccountSettings:"Hesap Ayarları",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Oturum açtığınızda, Aladdin hesabınızı oluşturmak ve hesabınıza erişmek için Google Kimliğiniz kullanılır. Veritabanımızda referans olarak yalnızca rastgele bir alfasayısal dize depolanır. Adınız veya e-posta adresiniz gibi kişisel olarak tanımlanabilir hiçbir veri toplanmaz. Daha fazla bilgi için ",SignIn:"Kayıt Ol",SignOut:"Oturum Kapat",IfYouAreAStudent:"Eğer Öğrenciyseniz"},skyMenu:{Axes:"Eksenler",Theme:"Tema",ThemeDefault:"Varsayılan",ThemeDesert:"Çöl",ThemeDune:"Dune",ThemeForest:"Orman",ThemeGrassland:"Çayır",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Havan Güneş Işığı Zayıflatma Katsayısı",ConvectiveCoefficientOfAir:"Havan Isı İletkenlik Katsayısı",HighestTemperatureTimeInMinutes:"En Yüksek Sıcaklık Süresi (Dakika)",SelectSunAnglesToShow:"Gösterilecek Güneş Açılarını Seçin",ShowAzimuthAngle:"Azimut Açısını Göster",ShowElevationAngle:"Yükselme Açısını Göster",ShowZenithAngle:"Zenit Açısını Göster",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Yer Görüntüsü",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Tüm Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Tüm Kişileri Kaldır",RemoveAllUnlockedFoundations:"Tüm Temelleri Kaldır",RemoveAllUnlockedCuboids:"Tüm Kübikleri Kaldır",DoYouReallyWantToRemoveAllPeople:"Tüm Kişileri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllTrees:"Tüm Ağaçları Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Tüm Temelleri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllCuboids:"Tüm Kübikleri Kaldırmak İstiyor Musunuz?",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiket",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Etiketi Göstermeye Devam Et"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedParabolicTroughs:"Tüm Kilitlenmemiş Parabolik Olukları Kaldır",RemoveAllUnlockedParabolicDishes:"Tüm Kilitlenmemiş Parabolik Çanakları Kaldır",RemoveAllUnlockedFresnelReflectors:"Tüm Kilitlenmemiş Fresnel Reflektörleri Kaldır",RemoveAllUnlockedHeliostats:"Tüm Kilitlenmemiş Heliostatları Kaldır",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Tüm Kilitlenmemiş Duvarları Kaldır",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Çokgenleri Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş İnsanları Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Çerçeveler",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SolarPanels:"Güneş Panelleri",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:" Seçili temel üzerindeki tüm güneş panellerini kaldırmak istiyor musunuz?",ParabolicTroughs:"Parabolik Oluklar",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik olukları kaldırmak istiyor musunuz?",ParabolicDishes:"Parabolik Çanaklar",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik çanakları kaldırmak istiyor musunuz?",FresnelReflectors:"Fresnel Reflektörler",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm Fresnel reflektörlerini kaldırmak istiyor musunuz?",Heliostats:"Heliostatlar",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm heliostatları kaldırmak istiyor musunuz?",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm sensörleri kaldırmak istiyor musunuz?",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Duvarlar",DoYouReallyWantToRemoveAllWallsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm duvarları kaldırmak istiyor musunuz? ",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm poligonları kaldırmak istiyor musunuz?",Humans:"Kişiler",DoYouReallyWantToRemoveAllHumansOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Sadece Seçili Temel",AllConnectedFoundations:"Tüm Bağlantılı Temeller",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Tüm Temeller",AddPolygon:"Poligon Ekle",SolarStructure:"Solar Yapı Seçin",GroupMaster:"Grup Yöneticisi",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Heliostat Alıcı Kulesi",ReceiverTowerPhysicalProperties:"Alıcı Kule Fiziksel Özellikler",ReceiverTowerHeight:"Alıcı Kule Yükseklik",ReceiverTowerRadius:"Alıcı Kule Yarıçap",ReceiverAbsorptance:"Alıcı Absorbsiyon",ReceiverOpticalEfficiency:"Alıcı Optik Verim",ReceiverThermalEfficiency:"Alıcı Termal Verim"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Fresnel Reflektör Soğurucu Boru",AbsorberPipePhysicalProperties:"Soğurucu Boru Fiziksel Özellikler",AbsorberHeight:"Soğurucu Boru Yükseklik",AbsorberApertureWidth:"Soğurucu boru diyafram genişliği",AbsorberPipePoleNumber:"Soğurucu Boru Sayısı",AbsorberAbsorptance:"Soğurucu Absorbsiyonu",AbsorberOpticalEfficiency:"Soğurucu Optik Verimlilik",AbsorberThermalEfficiency:"Soğurucu Isıl Verimlilik"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Kulesi",SolarUpdraftTowerPhysicalProperties:"Solar Updraft Kulesi Fiziksel Özellikler",SolarUpdraftTowerChimneyHeight:"Solar Updraft Kulesi Baca Yüksekliği",SolarUpdraftTowerChimneyRadius:"Solar Updraft Kulesi Baca Yarıçapı",SolarUpdraftTowerCollectorHeight:"Solar Updraft Kulesi Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Kulesi Kollektör Yarıçapı",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Kulesi Kollektör Geçirgenliği",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Kulesi Kollektör Emisivite",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Kulesi Deşarj Katsayısı",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Kulesi Türbin Verimliliği"},cuboidMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş Kişileri Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Çerçeveler",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Güneş Panelleri",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm sensörleri kaldırmak istiyor musunuz?",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm poligonları kaldırmak istiyor musunuz?",Humans:"İnsanlar",DoYouReallyWantToRemoveAllHumansOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Sadece Seçili Kübik",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Tüm Kübikler",OnlyThisSide:"Sadece Seçili Yüzey",AllSidesOfThisCuboid:"Seçili Kübik Tüm Yüzeyler",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Bütün Kübik Yüzeyleri ",AddPolygon:"Poligon Ekle",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Dolgu",FillTexture:"Dolgu Dokusu",FillColor:"Dolgu Rengi",Opacity:"Opaklık",LineColor:"Çizgi Rengi",LineWidth:"Çizgi Kalınlığı",LineStyle:"Çizgi Stili",SolidLine:"Düz çizgi",DashedLine:"Kesik çizgi",DottedLine:"Noktalı çizgi",InsertVertexBeforeIndex:"İndeksten Önce Tepe Noktası Ekle",InsertVertexAfterIndex:"İndeksten Sonra Tepe Noktası Ekle",DeleteVertex:"Tepe Noktası Sil",OnlyThisPolygon:"Sadece Seçili Poligon",AllPolygonsOnSurface:"Tüm Poligonlar Aynı Yüzeyde",AllPolygonsAboveFoundation:"Temel Üzerindeki Tüm Poligonlar",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Tüm Poligonlar",Layout:"Düzen",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",SolarPanelArrayLayoutParametricDesign:"Güneş Paneli Dizi Düzeni: Parametrik Tasarım",SolarPanelArrayLayoutGenerativeDesign:"Güneş Paneli Dizi Düzeni: Üretici Tasarım",SolarPanelArrayModel:"Güneş Paneli Modeli",SolarPanelArrayOrientation:"Oryantasyon",SolarPanelArrayTiltAngle:"Eğim Açısı",SolarPanelArrayRowWidth:"Dizi Sıra Genişliği",SolarPanelArrayInterRowSpacing:"Dizi Sıra Arası Boşluk",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Dizi Sıra Ekseni",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"Doğu-Batı (Absolute)",SolarPanelArrayNorthSouthRowAxis:"Kuzey-Güney (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Direk Yükseklik",SolarPanelArrayPoleSpacing:"Direk Aralık",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Bu yerleşim düzeni uygulanamaz. Lütfen parametrelerinizi kontrol edin."},optimizationMenu:{Optimization:"Optimizasyon",Parameters:"Parametreler",Variables:"Değişkenler",Constants:"Sabitler",GeneticAlgorithm:"Genetik Algoritma",GeneticAlgorithmSettings:"Genetik Algoritma Ayarı",ParticleSwarmOptimization:"Parçacık Sürü Optimizasyon",ParticleSwarmOptimizationSettings:"Parçacık Sürü Optimizasyon Ayarı",SolarPanelTiltAngleOptimization:"Güneş Paneli Eğim Açısı Optimizasyonu",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",Generation:"Nesil",Gene:"Gen",NormalizedVariables:"Normalleştirilmiş Değişkenler",Objective:"Amaç",ObjectiveFunctionDailyTotalYield:"Günlük Toplam Üretim",ObjectiveFunctionYearlyTotalYield:"Yıllık Toplam Üretim",ObjectiveFunctionDailyMeanYield:"Günlük Ortalama Üretim",ObjectiveFunctionYearlyMeanYield:"Yıllık Ortalama Üretim",ObjectiveFunctionDailyProfit:"Günlük Kazanç",ObjectiveFunctionYearlyProfit:"Yıllık Kazanç",GeneticAlgorithmSelectionMethod:"Genetik Algoritma Seçim Yöntemi",RouletteWheel:"Rulet Çarkı",Tournament:"Turnuva",SearchMethod:"Arama Yöntemi",GlobalSearchUniformSelection:"Küresel Arama Standart Seçim",LocalSearchRandomOptimization:"Yerel Arama Rastgele Optimizasyon",PopulationSize:"Popülasyon Boyutu",MaximumGenerations:"Maksimum Nesil",SelectionRate:"Seçim Oranı",CrossoverRate:"Geçiş Oranı",MutationRate:"Mutasyon Oranı",Step:"Adım",SwarmSize:"Sürü Boyutu",MaximumSteps:"Maksimum Adım",MaximumVelocity:"Maksimum Hız",InertiaWeight:"Atalet Ağırlığı",CognitiveCoefficient:"Bilişsel Katsayı",SocialCoefficient:"Sosyal Katsayı",ConvergenceThreshold:"Sonlandırma için Yakınsama Eşiği",LocalSearchRadius:"Yerel Arama Yarıçapı",RowsPerRackRange:"Raf Başına Sıra Aralığı",TiltAngleRange:"Eğim Açısı Aralığı",InterRowSpacingRange:"Sıra Arası Aralık Ranjı",ClickTargetPolygonToActivate:"Etkinleştirmek için Hedef Poligona Tıklayınız",ClickTargetFoundationToActivate:"Etkinleştirmek için Hedef Temele Tıklayınız"},treeMenu:{ShowModel:"Modeli Göster",Flip:"Flip",Type:"Tür",Spread:"Yayılım"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Kişi Değiştir",Flip:"Flip",Observer:"Gözlemci",ViewFromThisPerson:" Seçili Kişiye Göre Perspektif"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Göreceli Azimut Açısı",Pole:"Pole",PoleHeight:"Direk Yüksekliği",PoleRadius:"Pole Radius",ExtraPoleHeight:"Ekstra Direk Yüksekliği",ExtraPoleHeightInAdditionToHalfWidth:"Yarım Genişliğe Ek Ekstra Direk Yüksekliği",DrawSunBeam:"Güneş Işını Çiz"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflektör Yansıma",ReceiverAbsorptance:"Alıcı Absorbsiyonu",ReflectorOpticalEfficiency:"Reflektör Optik Verimliliği",ReceiverThermalEfficiency:"Alıcı Termal Verimliliği"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"PV Modelini Değiştir",Orientation:"Oryantasyon",Portrait:"Portre",Landscape:"Peyzaj",FrameColor:"Frame Color",Panels:"Paneller",PanelsWide:"Panel Genişliği",PanelsLong:"Panel Uzunluğu",TiltAngle:"Eğim Açısı",SouthFacingIsPositive:"Güney yönünde açı pozitiftir.",Tracker:"İzleyici",SolarTrackerFollowsSun:"Güneş paneli verimini artırmak için bir güneş izleme sistemi güneşi sürekli takip eder.",PoleSpacing:"Direk Aralığı",NoTracker:"İzleme Sistemi Yok",HorizontalSingleAxisTracker:"Yatay Tek Eksenli İzleme Sistemi",VerticalSingleAxisTracker:"Dikey Tek Eksenli İzleme Sistemi",AltazimuthDualAxisTracker:"Altazimut Çift Eksenli İzleme Sistemi",OnlyThisSolarPanel:"Sadece Seçili Güneş Paneli",AllSolarPanelsOnSurface:"Tüm Güneş Panelleri Aynı Yüzeyde",AllSolarPanelsAboveFoundation:"Tüm Güneş Panelleri Aynı Temel Üzerinde",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Tüm Güneş Panelleri"},pvModelPanel:{SolarPanelSpecs:"Güneş Paneli Özellikleri",Model:"Model",PanelSize:"Panel Boyutu",Cells:"Hücreler",CellType:"Hücre Tipi",Monocrystalline:"Monokristal",Polycrystalline:"Polikristal",ThinFilm:"İnce Katman",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Siyah",Blue:"Mavi",ShadeTolerance:"Gölge Toleransı",SolarCellEfficiency:"Güneş Pili Verimliliği",NominalOperatingCellTemperature:"Nominal Çalışma Hücresi Sıcaklığı",TemperatureCoefficientOfPmax:"Pmax Sıcaklık Katsayısı"},parabolicTroughMenu:{ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",LatusRectum:"Özkiriş",OnlyThisParabolicTrough:"Sadece Seçili Parabolik Oluk",AllParabolicTroughsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Parabolik Oluklar",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Tüm Parabolik Oluklar"},fresnelReflectorMenu:{AbsorberPipe:"Soğurucu Boru",SelectAbsorberToReflectSunlightTo:"Güneş Işığı Yansıtılacak Soğurucuyu Seçin",ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",OnlyThisFresnelReflector:"Sadece Seçili Fresnel Reflektör",AllFresnelReflectorsAboveFoundation:"Aynı Temel Üzerindeki Tüm Fresnel Reflektörler",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Tüm Fresnel Reflektörler"},heliostatMenu:{Tower:"Kule",SelectTowerToReflectSunlightTo:"Güneş Işığı Yansıtılacak Kuleyi Seçin",OnlyThisHeliostat:"Sadece Seçili Heliostat",AllHeliostatsAboveFoundation:"Aynı Temel Üzerindeki Tüm Heliostatlar",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Tüm Heliostatlar"},parabolicDishMenu:{ReceiverStructure:"Alıcı Yapısı",CentralPole:"Merkez Direk",CentralPoleWithTripod:"Tripodlu Merkez Direk",Quadrupod:"Dört Ayaklı",RimDiameter:"Kasnak Çapı",LatusRectum:"Özkiriş",ExtraPoleHeightInAdditionToRadius:"Yarıçapa Ek Olarak Ekstra Direk Yüksekliği",OnlyThisParabolicDish:"Sadece Seçili Parabolik Çanak",AllParabolicDishesAboveFoundation:"Aynı Temel Üzerindeki Tüm Parabolik Çanaklar",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Tüm Parabolik Çanaklar"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SizeOfWall:"Duvar Boyutu",OnlyThisWall:"Sadece Seçili Duvar",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:" Aynı Temel Üzerindeki Tüm Duvarlar",AllSelectedWalls:"All Selected Walls",AllWalls:"Tüm Duvarlar",Windows:"Pencereler",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Kilitlenmemiş Tüm Pencereleri Kaldır",DoYouReallyWantToRemoveAllWindowsOnThisWall:" Seçili duvardaki tüm pencereleri kaldırmak istiyor musunuz?",Doors:"Kapılar",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Tüm Kilitlenmemiş Kapıları Kaldır",DoYouReallyWantToRemoveAllDoorsOnThisWall:" Seçili duvardaki tüm kapıları kaldırmak istiyor musun?",SolarPanels:"Güneş Panelleri",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Kilitlenmemiş Tüm Güneş Panellerini Kaldır",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:" Seçili duvardaki tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Duvar Yapısı",DefaultStructure:"Varsayılan",StudStructure:"Ahşap Dikme",PillarStructure:"Pillar",Opacity:"Opaklık",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Height",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Sadece Bu Pencere",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Pencereler",AllSelectedWindows:"All Selected Windows",AllWindows:"Tüm Pencereler",Width:"Genişlik",Height:"Yükseklik",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Tiriz",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Tiriz Genişliği",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Ton",Opacity:"Opaklık",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Kepenk",LeftShutter:"Sol Kepenk",RightShutter:"Sağ Kepenk",BothShutters:"Kepenkler",ShutterWidth:"Genişlik",ShutterColor:"Kepenk Rengi",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",OnlyThisRoof:"Sadece Seçili Çatı",AllRoofsAboveFoundation:"Aynı Temelin Üzerinde Tüm Çatılar",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Tüm Çatılar",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Mertek Aralığı",RafterWidth:"Mertek Genişliği",RafterThickness:"Mertek Kalınlığı",RafterColor:"Mertek Rengi",RoofColor:"Çatı Rengi",RoofSideColor:"Roof Side Color",GlassTint:"Cam Tonu",Opacity:"Opaklık",RoofStructure:"Çatı Yapısı",DefaultStructure:"Varsayılan",RafterStructure:"Mertek",GlassStructure:"Cam",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",Texture11:"Doku 11",Texture12:"Doku 12",Texture13:"Doku 13",Texture14:"Doku 14",Texture15:"Doku 15",Texture16:"Doku 16",Texture17:"Doku 17",OnlyThisDoor:"Sadece Seçili Kapı",AllDoorsOnWall:"Aynı Duvardaki Tüm Kapılar",AllDoorsAboveFoundation:"Aynı Temelin Üstündeki Tüm Kapılar",AllSelectedDoors:"All Selected Doors",AllDoors:"Tüm Kapılar",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Yüksek",Low:"Düşük"},designInfoPanel:{NumberOfSelectedHeliostats:"Seçilen heliostat sayısı",NumberOfSelectedSolarPanels:"Seçilen güneş paneli sayısı",ElectricityGeneratedDailyBySolarPanels:"Güneş panellerinin günlük elektrik üretimi",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Renk Kontrastı",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Değiştirmek için yukarı veya aşağı ok butonlarına tıklayınız"},instructionPanel:{Rotate:"Döndürme",DragMouse:"Sol Tık + Sürükle",Zoom:"Yakınlaştırma",MouseWheelOrKeys:"Tekerlek veya Ctrl+[ veya Ctrl+]",MouseWheelOrKeysMac:"Tekerlek veya ⌘+[ veya ⌘+]",Pan:"Ekran Kaydırma",HoldCtrlDragMouse:"Ctrl + Sürükle",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Yeniden Başlat",AutoRotate:"Otomatik Döndürme",StartOrStop:"Başlat veya Durdur (F4)"},mapPanel:{ImageOnGround:"Yüzey Görünümü",HideAddress:"Hide Address",WeatherStations:"Referans",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Koordinatlar",Zoom:"Büyüt"},visibilityPanel:{SolarPanelVisibility:"Güneş Paneli Görünüm",Observer:"Gözlemci",VantagePoint:"Referans Noktası",ItemizedVisibilityByFields:"Alana Özel Perspektif",TotalVisibility:"Toplam"},sensorPanel:{LightSensor:"Işık Sensörü",WeatherDataFrom:"Hava Durumu"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Güneş Paneli Günlük Üretim",SolarPanelYearlyYield:"Güneş Paneli Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualSolarPanels:"Herbir güneş panelinin üretimini göster",Profit:"Kazanç",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolik Oluk Günlük Üretim",ParabolicTroughYearlyYield:"Parabolik Oluk Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicTroughs:"Herbir parabolik oluğun üretimini göster"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolik Çanak Günlük Üretim",ParabolicDishYearlyYield:"Parabolik Çanak Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicDishes:"Herbir parabolik çanağın üretimini göster"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflektör Günlük Üretim",FresnelReflectorYearlyYield:"Fresnel Reflektör Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualFresnelReflectors:"Herbir Fresnel yansıtıcısının üretimini göster"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Günlük Üretim",HeliostatYearlyYield:"Heliostat Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualHeliostats:"Herbir heliostatın üretimini göster"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Kulesi Günlük Üretimi",UpdraftTowerYearlyYield:"Solar Updraft Kulesi Yıllık Üretimi",ChimneyAirTemperature:"Baca Hava Sıcaklığı",ChimneyWindSpeed:"Baca Rüzgar Hızı",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualUpdraftTowers:"Herbir updraft kulesinin üretimini göster"},heliodonPanel:{SunAndTimeSettings:"Güneş & Saat Ayarları",SunAngles:"Açılar",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Bulut Dosyalarım",GenerateLink:"Link Oluştur",LinkGeneratedInClipBoard:"Klip Panosunda Oluşturulan Link",DoYouReallyWantToDelete:"Gerçekten silmek istiyor musun?",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Hesap Ayarlarım",MyID:"Bilgilerim",ClickToCopyMyID:"Bilgilerinizi kopyalamak için tıklayın",IDInClipBoard:"Kişisel bilgileriniz kopyalandı ve yapıştırmaya hazır.",StoreMyNameInMyFilesWhenSaving:"Kaydederken, adımı dosyalarıma ekle",DoYouReallyWantToShowYourNameInYourFiles:"Dosyalarınızda isminizin gösterilmesini istiyor musunuz?",SignFileDisclaimer:"Evet ise, isiminiz dosyalarınıza erişimi olan bütün kişiler tarafından görülebilir.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"Kullanıcı Sayısı",SchoolID:"Okul",ClassID:"Sınıf"},weatherPanel:{SunshineHours:"Gündüz Saatleri"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Model Seç",Sinusoidal:"Sinüzoidal"},economicsPanel:{EconomicsParameters:"Ekonomik Parametreler",ElectricitySellingPrice:"Elektrik Satış Fiyatı",OperationalCostPerUnit:"Birim Başına İşletme Maliyeti",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Gökyüzü Açıklığı",ShowDaylightResults:"Gün Işığı Sonuçlarını Göster",ShowSkyClearnessResults:"Gökyüzü Açıklığı Sonuçlarını Göster",ShowAverageDailySolarRadiation:"Günlük ortalama güneş Işınımını göster"},analysisManager:{NoSensorForCollectingData:"Veri toplamak için sensör yok.",NoSolarPanelForAnalysis:"Analiz için güneş paneli yok.",NoObserverForVisibilityAnalysis:"Görünürlük analizi için gözlemci yok.",NoWaterHeaterForAnalysis:"Analiz için su ısıtıcısı yok",NoParabolicDishForAnalysis:"Analiz için parabolik çanak yok",NoParabolicTroughForAnalysis:"Analiz için parabolik oluk yok.",NoFresnelReflectorForAnalysis:"Analiz için Fresnel reflektörü yok.",NoHeliostatForAnalysis:"Analiz için heliostat yok.",NoSolarUpdraftTowerForAnalysis:"Analiz için Solar Updraft Kulesi yok.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Bulut Dosyası",Select:"Seç",AddFoundation:"Temel Ekle",AddWall:"Duvar Ekle",AddWindow:"Pencere Ekle",AddDoor:"Kapı Ekle",AddPyramidRoof:"Piramit Çatı Ekle",AddGableRoof:"Beşik Çatı Ekle",AddHipRoof:"Kırma Çatı Ekle",AddGambrelRoof:"Flemenk Çatı Ekle",AddMansardRoof:"Mansart Çatı Ekle",AddCuboid:"Kübik Ekle",AddSensor:"Sensör Ekle",AddSolarPanel:"Güneş Paneli Ekle",AddWaterHeater:"Su Isıtıcı Ekle",AddParabolicDish:"Parabolik Çanak Ekle",AddParabolicTrough:"Parabolik Oluk Ekle",AddFresnelReflector:"Fresnel Reflektörü Ekle",AddHeliostat:"Heliostat Ekle",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Ağaç Ekle",AddFlower:"Add Flower",AddPeople:"İnsan Ekle",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Ölçeklendirme",ClearScene:"Herşeyi Sil",ShowSunAndTimeSettings:"Güneş & Zaman Ayarlarını Göster",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"İçeriği silmek istiyor musunuz",ClickForMoreButtons:"Daha fazla buton için tıklayın"},tooltip:{gotoIFI:"Yarının Zekası Enstitüsüne Git",visitAladdinHomePage:"Aladdin Ana Sayfasını Ziyaret Edin",clickToOpenMenu:"Ana Menüyü Açmak İçin Tıklayınız",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Kızılcık Ağacı",Elm:"Karaağaç",FanPalm:"Fan Palm",Linden:"Ihlamur Ağacı",Magnolia:"Magnolia",Maple:"Akçaağaç",Oak:"Meşe Ağacı",Pine:"Çam",Spruce:"Alaçam"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Ata",Jack:"Mete",Jacob:"Jacob",Jacqueline:"Beril",Jade:"Ece",Jamelia:"Bilge",James:"James",Jane:"Jane",Jaya:"Asya",Jaye:"Aylin",Jeanette:"Jeanette",Jedi:"Alp",Jeff:"Kaya",Jena:"Nehir",Jennifer:"Defne",Jess:"Zeynep",Jett:"Umut",Jill:"Jill",Jiya:"Elif",Joan:"Ezgi",Jocelyn:"Jocelyn",Joel:"Cenk",Joey:"Azra",John:"Can",Jonathon:"Jonathon",Jose:"Mert",Joseph:"Joseph",Joshua:"Joshua",Judd:"Ozan",Judy:"Judy",Julia:"Julia",Julio:"Bulut",Jumapili:"Umay",June:"Naz",Juro:"Efe",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Kft={translation:{name:{IFI:"Інститут Інтелекту Майбутнього",Aladdin:"Aladdin",Tagline:"Aladdin: Переосмислення Дизайну з Пояснювальним Штучним Інтелектом - Інститут Інтелекту Майбутнього"},cookie:{Statement:"Натиснувши «Прийняти», ви погоджуєтеся з використанням файлів cookie для покращення вашого досвіду з Aladdin.",Accept:"Прийняти"},aboutUs:{ProductBroughtToYouBy:"Цей Продукт Було Створено:",TermsOfService:"Умови Використання",PrivacyPolicy:"Політика Конфіденційності",Software:"Програмне Забезпечення",Content:"Матеріали",Research:"Дослідження",Support:"Підтримка",Acknowledgment:"Подяка",FundingInformation:"Національний Науковий Фонд (ННФ, Cполучені Штати Америки) надав фінансову підтримку для дослідження та розробки цього продукту за допомогою грантів №2105695, №2131097, та №#2301164. Однак, будь-які погляди, результати та висновки, висловлені у продукті, належать авторам і можуть не повністю відображати погляди ННФ.",Contact:"Для отримання додаткової інформації, будь ласка, зверніться до Charles Xie (charles@intofuture.org).",Translators:"Переклад"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Текст",FontSize:"Розмір Шрифту",FontColor:"Колір Шрифту",Model:" Модель",Models:"Моделі",Upload:"Завантажити",ClickCount:"Натисніть Підрахувати",Share:"Поділитись",AlreadyLike:"Вподобано",Like:"Вподобати",MustLogInToLike:"Потрібно Увійти, щоб Вподобати",AllRightsReserved:"Усі Права Захищено",MeterAbbreviation:"м",Version:"Версія",VersionInitial:"В",Options:"Опції",Maximum:"Максимум",Minimum:"Мінімум",MaximumNumber:"Максимальне Число",MinimumNumber:"Мінімальне Число",MaximumValue:"Максимальне Значення",MinimumValue:"Мінімальне Значення",Or:"Або",None:"Жоден",High:"Високий",Partial:"Частковий",Teacher:"Вчитель",Class:"Клас",Total:"Всього",Leaderboard:"Таблиця Лідерів",Latest:"Останнє",Range:"Діапазон",SIUnit:"SI Одиниця",USUnit:"US Одиниця",ThermalTransmittance:"Теплопередача",ThermalResistance:"Термічний Опір",UValue:"U-Значення",RValue:"R-Значення",VolumetricHeatCapacity:"Об'ємна Теплоємність",BuildingHVACSystem:"Побудова Системи Опалення, Вентиляції та Кондиціювання Повітря (ОВК)",ThermostatSetpoint:"Задана Температура Термостата",TemperatureToleranceThreshold:"Порогове Значення Допустимого Відхилення Температури",TemperatureToleranceThresholdExplanation:"Обігрівач не працюватиме, якщо найнижча зовнішня температура дня вища за значення отриманe, якщо від заданої температури відняти порогове значення. Кондиціонер не працюватиме, якщо найвища зовнішня температура дня нижча за значення отримане, якщо від заданої температури відняти порогове значення.",Press:"Натисніть",Open:"Відкрити",Save:"Зберегти",SaveAsImage:"Зберегти як Зображення",SaveAsCsv:"Зберегти як CSV",Update:"Оновити",Paste:"Вставити",Copy:"Копіювати",Cut:"Вирізати",Delete:"Видалити",Lock:"Заблокувати",Translucent:"Півпрозорий",Color:"Колір",Pattern:"Pattern",Texture:"Текстура",Size:"Розмір",Thickness:"Товщина",Yes:"Так",No:"Ні",OK:"ОК",Cancel:"Скасувати",Apply:"Застосувати",Close:"Закрити",ApplyTo:"Застосувати До",Run:"Запустити",Pause:"Пауза",Resume:"Відновити",Clear:"Очистити",Warning:"Попередження",Caution:"Обережно",Reminder:"Нагадування",Length:"Довжина",Width:"Ширина",Height:"Висота",Radius:"Радіус",Angle:"Кут",Azimuth:"Азимут",Coordinates:"Координати",Weather:"Погода",Show:"Показати",Animate:"Анімувати",Date:"Дата",Time:"Час",Title:"Заголовок",Owner:"Власник",Action:"Дія",Rename:"Перейменувати",Location:"Місцезнаходження",Latitude:"Широта",Month:"Місяць",Day:"День",Hour:"Година",Daylight:"Денне світло",Radiation:"Радіаційне Випромінювання",Temperature:"Температура",kWh:"кВт-год",dollar:"долар",MeterPerSecond:"м/с",NorthInitial:"Північ",SouthInitial:"Південь",EastInitial:"Схід",WestInitial:"Захід",Fixed:"Фіксований",Elements:"Елементи",Energy:"Енергія",Unknown:"Невідомо",Label:"Мітка",Description:"Опис",NoDescription:"Без опису",MaximumCharacters:"Максимальна кількість символів",Author:"Автор",Publisher:"Видавець",Building:"Будівля",ResidentialBuilding:"Житлова будівля",CommercialBuilding:"Комерційна будівля",SchoolBuilding:"Шкільна будівля",TouristAttraction:"Туристична визначна пам'ятка",UnderConstruction:"В стадії будівництва",Photovoltaic:"Фотоелектричний",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Анонімний",Nickname:"Нікнейм",Pin:"Закріпити",Unpin:"Відкріпити"},shared:{NoTexture:"Без текстури",FoundationElement:"Фундамент",CuboidElement:"Паралелепіпед",PolygonElement:"Багатокутник",SensorElement:"Сенсор",SolarPanelElement:"Сонячна панель",WaterHeaterElement:"Водонагрівач",ParabolicDishElement:"Параболічна тарілка",ParabolicTroughElement:"Параболічний сонячний колектор",FresnelReflectorElement:"Відбивач Френеля",HeliostatElement:"Геліостат",WindTurbineElement:"Вітрова турбіна",LightElement:"Світло",ElementLocked:"Заблоковано",ModelType:"Тип моделі",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Модель не знайдено",CannotSignIn:"Не вдається увійти",CannotSignOut:"Не вдається вийти",YourAccountWasCreated:"Ваш обліковий запис був створений",CannotCreateAccount:"Не вдається створити обліковий запис",YourAccountSettingsWereSaved:"Налаштування облікового запису були збережені",CannotSaveYourAccountSettings:"Не вдається зберегти налаштування облікового запису",CannotSaveYourFileToCloud:"Не вдається зберегти ваш файл у хмарному середовищі",CannotCreateNewProject:"Не вдається створити новий проєкт",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Не вдається відкрити ваші проєкти",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"Ця назва була використана. Виберіть іншу",CloudFileWithTitleExistsDoYouWantToOverwrite:"Хмарний файл з такою ж назвою вже існує. Ви хочете перезаписати його?",CloudFileNotFound:"Файл у хмарному середовищі не знайдено",CannotLoadModelsOnMap:"Не вдається завантажити моделі на карту",CannotLoadLeaderboard:"Не вдається завантажити таблицю лідерів",CannotPublishModelOnMap:"Не вдається опублікувати модель на карті",CannotLikeModelFromMap:"Не вдається оцінити модель з карти",CannotDeleteModelFromMap:"Не вдається видалити модель з карти",ModelDeletedFromMap:"Модель видалена з карти",DoYouWantToDeleteModelFromMap:"Ви бажаєте видалити модель з карти?",CannotOpenCloudFile:"Не вдається відкрити файл у хмарному середовищі",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Не вдається відкрити папку у хмарному середовищі",CannotDeleteCloudFile:"Не вдається видалити файл у хмарному середовищі",CannotRenameCloudFile:"Не вдається перейменувати файл у хмарному середовищі",DoYouWantToSaveChanges:"Бажаєте зберегти зміни?",NotApplicableToSelectedAction:"Не застосовується до обраної дії",ThisElementIsLocked:"Цей елемент заблокований.",ThisCannotBeUndone:"Це не можна скасувати.",AzimuthOfNorthIsZero:"Азимут півночі дорівнює 0°",CounterclockwiseAzimuthIsPositive:"Азимут є позитивним проти годинникової стрілки.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Переміщення скасовано через перекриття.",MoveOutsideBoundaryCancelled:"Переміщення за межі скасовано.",RotationCancelledBecauseOfOverlap:"Ротацію скасовано через перекриття.",RotationOutsideBoundaryCancelled:"Ротація за межі скасована.",ResizingCancelledBecauseOfOverlap:"Зміна розміру скасована через перекриття.",ResizingOutsideBoundaryCancelled:"Зміна розміру за межі скасована.",CannotPasteOutsideBoundary:"Не можна вставити за межі.",CannotPasteBecauseOfOverlap:"Не можна вставити через перекриття.",CannotMoveObjectTooFar:"Не можна перемістити об'єкт занадто далеко.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Існуючі сонячні панелі будуть видалені перед застосуванням нового макету.",DoYouWantToContinue:"Бажаєте продовжити?",SolarPanelsCannotIntersectWithGround:"Сонячні панелі не можуть перетинатися з землею.",SolarPanelsCannotOverlapWithOneAnother:"Сонячні панелі не можуть накладатися одна на одну.",ScreenshotSaved:"Знімок екрана збережено.",CsvFileSaved:"CSV файл збережено.",SimulationStarted:"Розпочато симуляцію.",SimulationCompleted:"Симуляцію завершено.",SimulationAborted:"Симуляцію перервано.",SimulationPaused:"Симуляцію призупинено.",CancelSimulation:"Скасувати симуляцію",PauseSimulation:"Призупинити симуляцію",ResumeSimulation:"Продовжити симуляцію",SimulationWillNotStartDueToErrors:"Симуляція не розпочнеться через помилки",SimulationWillStartDespiteWarnings:"Симуляція розпочнеться незважаючи на попередження.",EvolutionStarted:"Еволюцію розпочато.",EvolutionCompleted:"Еволюцію завершено.",EvolutionAborted:"Еволюцію перервано.",EvolutionPaused:"Еволюцію призупинено.",EncounterEvolutionError:"Сталася помилка еволюції.",CancelEvolution:"Скасувати еволюцію",PauseEvolution:"Призупинити еволюцію",ResumeEvolution:"Продовжити еволюцію",ConvergenceThresholdHasBeenReached:"Досягнуто порогове значення збіжності.",MaximumNumberOfGenerationsHasBeenReached:"Досягнуто максимальну кількість поколінь.",MaximumNumberOfStepsHasBeenReached:"Досягнуто максимальну кількість кроків.",ObjectiveFunctionTypeError:"Поточна цільова функція не підтримується цією операцією. Будь ласка, розпочніть з меню.",WallsAreNotAtSameHeight:"Стіни не знаходяться на однаковій висоті.",WallsAreNotPerpendicular:"Стіни не перпендикулярні.",WallsAreNotConnected:"Стіни не з'єднані.",WallsNumberNeedToBeFour:"Кількість стін має дорівнювати чотири.",BuildingContainsEmptyWall:"Будівля містить одну або кілька порожніх стін.",BuildingRoofMissing:"У будівлі відсутній дах.",UnknownErrors:"Невідомі помилки."},menu:{AnalysisOptions:"Опції аналізу",option:{GridCellSize:"Розмір комірки сітки",SamplingFrequency:"Частота вибірки",TimesPerHour:"Разів на годину",DaysPerYear:"Днів на рік"},mainMenu:"Головне Меню",cloudMenu:"Меню Хмарного Середовища",projectSubMenu:"Проєкт",project:{CreateNewProject:"Створити Новий Проєкт",OpenProject:"Відкрити Проєкт",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"Ви повинні увійти, щоб створити новий проєкт",YouMustLogInToOpenProject:"Ви повинні увійти, щоб відкрити проєкт"},fileSubMenu:"Файл",file:{CreateNewFile:"Створити новий",OpenLocalFile:"Відкрити локально",SaveAsLocalFile:"Зберегти як",SavingAbortedMustHaveValidFileName:"Збереження перервано! Вам потрібно мати дійсне ім'я файлу",OpenCloudFile:"Відкрити у хмарному середовищі",SaveCloudFile:"Зберегти у хмарному середовищі",SaveAsCloudFile:"Зберегти у хмарному середовищі",SavingAbortedMustHaveValidTitle:"Збереження перервано! Вам потрібно мати дійсний заголовок для хмарного файлу",ToSaveYourWorkPleaseSignIn:"Щоб зберегти вашу роботу, будь ласка, увійдіть в систему.",TakeScreenshot:"Зробити знімок екрана",UseCloudFileName:"Використовувати ім'я файлу у хмарному середовищі",PublishOnModelsMap:"Опублікувати на карті моделей",PublishedOnModelsMap:"Вашу модель було опубліковано на карті моделей",UpdatedOnModelsMap:"Ваша модель була оновлена на карті моделей",YouMustLogInToPublishYourModel:"Вам потрібно увійти в систему, щоб опублікувати свою модель",YouCannotPublishAModelThatYouDoNotOwn:"Ви не можете опублікувати модель, якою не володієте",YouMustSaveModelOnCloudBeforePublishingIt:"Вам потрібно зберегти модель у хмарному середовищі перед її публікацією"},editSubMenu:"Редагувати",edit:{Undo:"Скасувати",Redo:"Повторити"},viewSubMenu:"Перегляд",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D Вигляд",ResetView:"Скинути",ZoomIn:"Збільшити масштаб",ZoomOut:"Зменшити масштаб",AutoRotate:"Автоматичний поворот",ShowShadow:"Показати тінь",ShowSurfaceShininess:"Показати блиск поверхні",TranslucentFloatingWindows:"Напівпрозорі плаваючі вікна",accessoriesSubMenu:"Додаткові елементи",accessories:{SiteInformation:"Інформація про місце",DesignInformation:"Інформація про дизайн",Instruction:"Інструкція",StickyNote:"Примітка",Note:"Примітка"}},settingsSubMenu:"Налаштування",settings:{WeatherData:"Дані про погоду",DiurnalTemperature:"Добова температура",Heliodon:"Геліодон",SunAndTime:"Сонце та час"},benchmarksSubMenu:"Бенчмарки",benchmarks:{SolarRadiationPredictionVsMeasurement:"Прогнозування сонячної радіації порівняно з вимірюванням",BESTESTCase600:"Тестування енергоефективності будівель: BESTEST Case 600",BESTESTCase610:"Тестування енергоефективності будівель: BESTEST Case 610",BESTESTCase620:"Тестування енергоефективності будівель: BESTEST Case 620",BESTESTCase630:"Тестування енергоефективності будівель: BESTEST Case 630"},graph:{LineWidth:"Товщина лінії",SymbolSize:"Розмір символу",BarCategoryGap:"Відступ категорій стовпців",ShowHorizontalGridLines:"Показати горизонтальні лінії сітки",ShowVerticalGridLines:"Показати вертикальні лінії сітки"},analysisSubMenu:"Аналіз",physicsSubMenu:"Фізика",physics:{DailySolarRadiationHeatmap:"Щоденна карта сонячної радіації",SolarRadiationHeatmapOptions:"Параметри карти сонячної радіації",SolarRadiationHeatmapGridCellSize:"Розмір комірки на карті сонячної радіації",SolarRadiationHeatmapMaxValue:"Максимальне значення на карті",SolarRadiationHeatmapNoAnimation:"Немає анімації для статичної моделі",ReflectionHeatmap:"Карта відображень"},sensorSubMenu:"Датчик",sensor:{CollectDailyData:"Збирати щоденні дані",CollectYearlyData:"Збирати щорічні дані",SensorSimulationNoAnimation:"Немає анімації для збору даних датчика"},buildingSubMenu:"Будівля",building:{AnalyzeDailyBuildingEnergy:"Аналізувати щоденну енергію будівлі",AnalyzeYearlyBuildingEnergy:"Аналізувати щорічну енергію будівлі",EnergyAnalysisOptions:"Параметри аналізу енергії",EnergyGridCellSize:"Розмір комірки сітки",BuildingEnergySimulationNoAnimation:"Немає анімації симулювати енергію будівлі"},solarPanelSubMenu:"Сонячна панель",solarPanel:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",AnalyzeVisibility:"Аналізувати видимість",PanelDiscretization:"Дискретизація панелі",Exact:"Точний",Approximate:"Наближений",EnergyGridCellSize:"Розмір комірки сітки енергії",VisibilityGridCellSize:"Розмір комірки сітки коефіцієнта видимості",EnergyAnalysisOptions:"Параметри аналізу енергії",VisibilityAnalysisOptions:"Параметри аналізу видимості",SolarPanelSimulationNoAnimation:"Немає анімації для симуляції сонячної панелі"},parabolicTroughSubMenu:"Параболічний сонячний колектор",parabolicTrough:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},parabolicDishSubMenu:"Параболічний диск",parabolicDish:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},fresnelReflectorSubMenu:"Відбивач Френеля",fresnelReflector:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},heliostatSubMenu:"Геліостат",heliostat:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},solarUpdraftTowerSubMenu:"Сонячна вежа з використаним повітрям",solarUpdraftTower:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",SolarUpdraftTowerSimulationNoAnimation:"Немає анімації симулювати сонячну вежу з використаним повітрям"},tutorialsSubMenu:"Посібники",solarEnergyScienceSubMenu:"Сонячна наука",solarEnergyScienceTutorials:{SunAngles:"Кути сонця відносно спостерігача на землі",InsolationAndClimate:"Інсоляція та клімат",SolarRadiationToBox:"Сонячна радіація в коробку"},buildingScienceSubMenu:"Наука про будівлі",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Теплозахисна оболонка проти будівельної оболонки",EffectOfSizeOnBuildingEnergy:"Вплив розміру на енергію будівлі",EffectOfOrientationOnBuildingEnergy:"Вплив орієнтації на енергію будівлі",EffectOfInsulationOnBuildingEnergy:"Вплив інсоляції на енергію будівлі",EffectOfRoofColorOnBuildingEnergy:"Вплив кольору даху на енергію будівлі",EffectOfEavesOverhangLengthOnBuildingEnergy:"Вплив довжини виступу карнизу на енергію будівлі",EffectOfWindowSHGCOnBuildingEnergy:"Вплив коефіцієнта сонячного теплозиску вікна на енергію будівлі",EffectOfThermostatSetpointOnBuildingEnergy:"Вплив заданої температури на термостаті на енергію будівлі",EffectOfSolarPanelsOnBuildingEnergy:"Вплив сонячних панелей на енергію будівлі",EffectOfGroundTemperatureOnBuildingEnergy:"Вплив температури грунту на енергію будівлі",EffectOfTreesOnBuildingEnergy:"Вплив дерев на енергію будівлі"},buildingDesignSubMenu:"Дизайн будівлі",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:'Будинок у стилі Кейп Код з пристроєм типу "шед-дормер"',MansardRoofWithDormers:"Мансарда з горизонтальними пристроями",GableRoofVsHipRoof:"Схиловий дах проти двосхилих дахів",ColonialVsSaltbox:"Колоніальний стиль проти стилю Saltbox",GambrelRoofVsMansardRoof:"Півшаровий дах проти мансардного даху",CombinationRoofVsBonnetRoof:"Комбінований дах проти капотного даху",DutchGableRoof:"Голландський дах з рикетом",GableAndValleyRoof:"Схиловий та долинний дах",ClerestoryRoof:"Клересторний дах",MonitorRoof:"Моніторний дах",AFrameHouse:'Будинок у формі літери "А"',HalfTimberedHouse:"Будинок з напівдерев'яними стінами",AllBasicRoofTypes:"Усі основні типи дахів"},photovoltaicSolarPowerSubMenu:"Фотоелектрична сонячна енергія",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Вплив кута нахилу сонячної панелі",EffectOfAzimuthOfSolarPanel:"Вплив азимуту сонячної панелі",SolarPanelTypes:"Типи сонячних панелей",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Сонячні трекери",CoveringGroundWithSolarPanels:"Чому просто покриття землі сонячними панелями - не найкраща ідея",InterRowSpacingOfSolarPanelArray:"Вплив міжрядного простору в масиві сонячних панелей",EffectOfOrientationOfSolarPanels:"Вплив орієнтації сонячних панелей",SolarPanelArrayAutomaticLayout:"Автоматичне розміщення масиву сонячних панелей"},concentratedSolarPowerSubMenu:"Концентрована сонячна енергія",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Вплив азимуту параболічного сонячного колектора",EffectOfLatusRectumOfParabolicTrough:"Вплив прямої лінії на параболічний сонячний колектор",FocusSunlightWithParabolicDish:"Фокусування сонячного світла за допомогою параболічного диску",LinearFresnelReflectors:"Лінійні відбивачі Френеля",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Вплив висоти поглинаючої трубки на лінійні відбивачі Френеля",EffectOfAzimuthOfLinearFresnelReflectors:"Вплив азимуту на лінійні відбивачі Френеля",LinearFresnelReflectorsWithTwoAbsorbers:"Лінійні відбивачі Френеля з двома поглинаючими елементами",CosineEfficiencyOfHeliostats:"Косинусна ефективність геліостатів",ShadowingAndBlockingOfHeliostats:"Затінення та блокування геліостатів",EffectSolarPowerTowerHeight:"Вплив висоти сонячної вежі з використаним повітрям",SolarPowerTower:"Сонячна вежа з використаним повітрям"},otherTypesOfSolarPowerSubMenu:"Інші типи сонячної енергії",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Сонячна вежа з використаним повітрям"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Приклади",solarEnergySubMenu:"Сонячна енергія",solarEnergyExamples:{SunBeamAndHeliodon:"Промінь сонця та геліодон",RooftopSolarPanels:"Сонячні панелі на даху",NevadaSolarOneParabolicTroughArray:"Масив параболічних сонячних колекторів Nevada Solar One",TooeleParabolicDishArray:"Масив параболічних тарілок Tooele",PS10SolarPowerTower:"Сонячна енергетична вежа PS10",TucsonLinearFresnelReflectors:"Лінійні відбивачі Френеля в Tucson",SolarCanopyFormFactors:"Форми сонячних козирків",SolarCanopyOverBleachers:"Сонячний козирок над трибунами",SolarCanopyOverGarage:"Сонячний козирок над гаражем",SolarBusStop:"Сонячна автобусна зупинка",SolarFacadeTesla:"Сонячна фасадна панель Tesla",BuildingIntegratedPhotovoltaics:"Вбудовані фотоелектричні системи в будівлі",Floatovoltaics:"Сонячні панелі на плавучих платформах",Agrivoltaics:"Агровольтаїка",VegetativeBuffer:"Вегетативна зона",RainbowSwashSolarFarmBostonMA:"Сонячна ферма Rainbow Swash в Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Сонячна ферма Міккі Мауса в Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Сонячні панелі над каналом в Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Сонячний шумовий бар'єр в Lexington, MA",HSATSolarTrackersRaleighNC:"Сонячні трекери з горизонтальною віссю в Raleign, NC",AADATSolarTrackersLancasterCA:"Сонячні трекери з азимутальною-вертикальною віссю в Lancaster, CA",SolarUpdraftTowerInCity:"Сонячна вежа з використаним повітрям у місті"},builtEnvironmentSubMenu:"Забудоване середовище",residentialBuildingsSubMenu:"Житлові будівлі",residentialBuildingExamples:{ColonialHouse:"Колоніальний будинок",DutchColonialHouse:"Голландський колоніальний будинок",TShapedHouse:"Будинок у формі літери Т",CapeCodHouseWithGarage:"Будинок у стилі Cape Cod з гаражем",Solarium:"Солярій",Church1:"Церква 1",Cathedral1:"Собор 1",Cathedral2:"Собор 2",Mosque1:"Мечеть 1",AdobeTaosHouse:"Будинок з адобе в стилі Taos",RanchHouse:"Ranch House",BonnetHouse:"Будинок в стилі Bonnet",BarnStyleHouse:"Будинок у стилі амбара",ModernHouse:"Сучасний будинок",ButterflyRoofHouse:"Будинок з метеликовим дахом"},commercialBuildingsSubMenu:"Комерційні будівлі",commercialBuildingExamples:{WhiteHouse:"Білий Дім",BilimMersinTurkiye:"Bilim, Mersin, Туреччина",SpanishStyleHotel:"Готель в іспанському стилі",ApartmentBuilding:"Багатоквартирний будинок",OfficeBuilding:"Офісна будівля",Hotel:"Готель"},buildingComplexesSubMenu:"Будівельні комплекси",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, Vermont",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, New Mexico"},urbanPlanningSubMenu:"Міське планування",urbanPlanningExamples:{Heatmap1:"Теплова карта"},otherBuildingsSubMenu:"Інші будівлі",otherBuildingExamples:{Greenhouse:"Теплиця",Pavilion:"Павільйон у парку",OctagonalPagoda:"Восьмикутна пагода",OceanFront:"Будівля біля океану",EgyptianPyramids:"Єгипетські піраміди",MayanPyramid:"Піраміда Мая",SiOSePol:"Si-O-Se-Pol",StackedCuboids:"Стековані кубоїди"},artificialIntelligenceSubMenu:"Штучний інтелект",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Оптимізація кута нахилу одного ряду сонячних панелей",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Оптимізація кутів нахилу декількох рядів сонячних панелей",SolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми",SolarFarmGenerativeDesignWithBlock:"Генеративний дизайн сонячної ферми в присутності перешкоди",FitchburgSolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми у Fitchburg"},languageSubMenu:"Мова",publicSubMenu:"Загальнодоступно",ModelsGallery:"Галерея моделей",ModelsMap:"Карта моделей",AboutUs:"Про нас"},avatarMenu:{AccountSettings:"Налаштування облікового запису",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Коли ви увійдете, ваш Google ID використовується для створення та доступу до вашого облікового запису Aladdin. В нашій базі даних зберігається лише випадковий алфавітно-цифровий рядок як посилання. Ми ніколи не збираємо особисто ідентифіковану інформацію, таку як ваше ім'я або електронна пошта. Для отримання додаткової інформації ознайомтесь з нашою ",SignIn:"Увійти",SignOut:"Вийти",IfYouAreAStudent:"Якщо ви студент"},skyMenu:{Axes:"Вісі",Theme:"Тематика",ThemeDefault:"За замовчуванням",ThemeDesert:"Пустеля",ThemeDune:"Дюна",ThemeForest:"Ліс",ThemeGrassland:"Степ",ThemeHill:"Пагорб",ThemeLake:"Озеро",ThemeMountain:"Гора",ThemeRural:"Сільська місцевість",SunlightAttenuationCoefficientInAir:"Коефіцієнт затухання сонячного світла у повітрі",ConvectiveCoefficientOfAir:"Коефіцієнт конвекції повітря",HighestTemperatureTimeInMinutes:"Час найвищої температури (хвилини)",SelectSunAnglesToShow:"Виберіть кути сонця, які показати",ShowAzimuthAngle:"Показати азимутний кут",ShowElevationAngle:"Показати висотний кут",ShowZenithAngle:"Показати зенітний кут",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Рослинність",LeafOutDay:"День розпускання листя",LeafOffDay:"День опадання листя",Albedo:"Альбедо",ImageOnGround:"Зображення на поверхні",WaterSurface:"Поверхня води",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Видалити всіх розблокованих людей",RemoveAllUnlockedFoundations:"Видалити всі розблоковані фундаменти",RemoveAllUnlockedCuboids:"Видалити всі розблоковані кубоїди",DoYouReallyWantToRemoveAllPeople:"Ви дійсно хочете видалити всіх людей, що не заблоковані",DoYouReallyWantToRemoveAllTrees:"Ви дійсно хочете видалити всі дерева, що не заблоковані",DoYouReallyWantToRemoveAllFlowers:"Ви дійсно хочете видалити всі квіти, що не заблоковані",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Ви дійсно хочете видалити всі фундаменти, що не заблоковані",DoYouReallyWantToRemoveAllCuboids:"Ви дійсно хочете видалити всі кубоїди, що не заблоковані",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Мітка",LabelText:"Текст мітки",LabelHeight:"Висота мітки",LabelSize:"Розмір мітки",LabelFontSize:"Розмір шрифту",LabelColor:"Колір мітки",KeepShowingLabel:"Залишати видимою мітку"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Видалити всі незаблоковані сонячні панелі",RemoveAllUnlockedParabolicTroughs:"Видалити всі незаблоковані параболічні сонячні колектори",RemoveAllUnlockedParabolicDishes:"Видалити всі незаблоковані параболічні антени",RemoveAllUnlockedFresnelReflectors:"Видалити всі незаблоковані відбивачі Френеля",RemoveAllUnlockedHeliostats:"Видалити всі незаблоковані геліостати",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Видалити всі незаблоковані датчики",RemoveAllUnlockedLights:"Видалити всі незаблоковані освітлювальні прилади",RemoveAllUnlockedWalls:"Видалити всі незаблоковані стіни",RemoveAllUnlockedWindows:"Видалити всі незаблоковані вікна",RemoveAllUnlockedDoors:"Видалити всі незаблоковані двері",RemoveAllUnlockedPolygons:"Видалити всі незаблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх незаблокованих людей",RemoveAllUnlockedTrees:"Видалити всі незаблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі незаблоковані квіти",Racks:"Стелажі",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SolarPanels:"Сонячні панелі",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому фундаменті, які не є заблокованими",ParabolicTroughs:"Параболічні сонячні колектори",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Ви дійсно бажаєте видалити всі параболічні сонячні колектори на цьому фундаменті, які не є заблокованими",ParabolicDishes:"Параболічні антени",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Ви дійсно бажаєте видалити всі параболічні антени на цьому фундаменті, які не є заблокованими",FresnelReflectors:"Відбивачі Френеля",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Ви дійсно бажаєте видалити всі відбивачі Френеля на цьому фундаменті, які не є заблокованими",Heliostats:"Геліостати",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Ви дійсно бажаєте видалити всі геліостати на цьому фундаменті, які не є заблокованими",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Датчики",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Ви дійсно бажаєте видалити всі датчики на цьому фундаменті, які не є заблокованими",Lights:"Світильники",DoYouReallyWantToRemoveAllLightsOnFoundation:"Ви дійсно бажаєте видалити всі світильники на цьому фундаменті, які не є заблокованими",Walls:"Стіни",DoYouReallyWantToRemoveAllWallsOnFoundation:"Ви дійсно бажаєте видалити всі стіни на цьому фундаменті, які не є заблокованими",Windows:"Вікна",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Ви дійсно бажаєте видалити всі вікна на цьому фундаменті, які не є заблокованими",Doors:"Двері",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Ви дійсно бажаєте видалити всі двері на цьому фундаменті, які не є заблокованими",Polygons:"Багатокутники",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Ви дійсно бажаєте видалити всі багатокутники на цьому фундаменті, які не є заблокованими",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnFoundation:"Ви дійсно бажаєте видалити всіх людей на цьому фундаменті, які не є заблокованими",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnFoundation:"Ви дійсно бажаєте видалити всі дерева на цьому фундаменті, які не є заблокованими",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Ви дійсно бажаєте видалити всі квіти на цьому фундаменті, які не є заблокованими",OnlyThisFoundation:"Тільки цей фундамент",AllConnectedFoundations:"Всі пов’язані фундаменти",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Всі фундаменти",AddPolygon:"Додати багатокутник",SolarStructure:"Вибрати сонячну структуру",GroupMaster:"Груповий майстер",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Теплопровідність перекриття цокольного поверху",OnlyThisGroundFloor:"Тільки цокольний поверх",AllGroundFloors:"Всі цокольні поверхи"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Вежа приймача для геліостатів",ReceiverTowerPhysicalProperties:"Фізичні властивості вежі приймача",ReceiverTowerHeight:"Висота вежі приймача",ReceiverTowerRadius:"Радіус вежі приймача",ReceiverAbsorptance:"Поглинання приймача",ReceiverOpticalEfficiency:"Оптична ефективність приймача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Трубопровід для відбивачів Френеля",AbsorberPipePhysicalProperties:"Фізичні властивості трубопроводу поглинання",AbsorberHeight:"Висота трубопроводу поглинання",AbsorberApertureWidth:"Ширина отвору трубопроводу поглинання",AbsorberPipePoleNumber:"Кількість полюсів для трубопроводу поглинання",AbsorberAbsorptance:"Сила поглинання",AbsorberOpticalEfficiency:"Оптична ефективність поглинача",AbsorberThermalEfficiency:"Теплова ефективність поглинача"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Сонячна вежа з тяговим потоком",SolarUpdraftTowerPhysicalProperties:"Фізичні властивості сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyHeight:"Висота димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyRadius:"Радіус димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorHeight:"Висота колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorRadius:"Радіус колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorTransmissivity:"Проникність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorEmissivity:"Випромінюваність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerDischargeCoefficient:"Коефіцієнт викиду сонячної вежі з тяговим потоком",SolarUpdraftTowerTurbineEfficiency:"Ефективність турбіни сонячної вежі з тяговим потоком"},cuboidMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх розблокованих людей",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Стійки",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому кубоїді, які не заблоковані",Sensors:"Сенсори",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Ви дійсно бажаєте видалити всі сенсори на цьому кубоїді, які не заблоковані",Polygons:"Полігони",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Ви дійсно бажаєте видалити всі полігони на цьому кубоїді, які не заблоковані",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnCuboid:"Ви дійсно бажаєте видалити всіх людей на цьому кубоїді, які не заблоковані",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnCuboid:"Ви дійсно бажаєте видалити всі дерева на цьому кубоїді, які не заблоковані",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Ви дійсно бажаєте видалити всі квіти на цьому кубоїді, які не заблоковані",OnlyThisCuboid:"Тільки цей кубоїд",AllCuboidsOnSameSurface:"Усі кубоїди на одній поверхні",AllCuboidsAboveSameBase:"Усі кубоїди над тією ж основою",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Всі кубоїди",OnlyThisSide:"Тільки ця сторона",AllSidesOfThisCuboid:"Всі сторони цього кубоїда",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Всі сторони всіх кубоїдів",AddPolygon:"Додати полігон",Stackable:"Стекабельне",GroupMaster:"Майстер групи"},polygonMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",TextBox:"Текстове поле",FontOutlineColor:"Колір контуру шрифту",FontOutlineWidth:"Товщина контуру шрифту",FontStrokeColor:"Колір обводки шрифту",FontStrokeWidth:"Товщина обводки шрифту",NoOutline:"Без контуру",Shiny:"Блискучий",Filled:"Заповнений",FillTexture:"Текстура заповнення",FillColor:"Колір заповнення",Opacity:"Прозорість",LineColor:"Колір лінії",LineWidth:"Товщина лінії",LineStyle:"Стиль лінії",SolidLine:"Суцільна лінія",DashedLine:"Пунктирна лінія",DottedLine:"Точкова лінія",InsertVertexBeforeIndex:"Вставити вершину перед індексом",InsertVertexAfterIndex:"Вставити вершину після індексу",DeleteVertex:"Видалити вершину",OnlyThisPolygon:"Тільки цей полігон",AllPolygonsOnSurface:"Всі полігони на цій поверхні",AllPolygonsAboveFoundation:"Всі полігони вище фундаменту",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Всі полігони",Layout:"Розташування",SolarPanelArrayLayout:"Розташування сонячних панелей",SolarPanelArrayLayoutParametricDesign:"Розташування сонячних панелей: параметричний дизайн",SolarPanelArrayLayoutGenerativeDesign:"Розташування сонячних панелей: генеративний дизайн",SolarPanelArrayModel:"Модель сонячної панелі",SolarPanelArrayOrientation:"Орієнтація",SolarPanelArrayTiltAngle:"Кут нахилу",SolarPanelArrayRowWidth:"Ширина ряду",SolarPanelArrayInterRowSpacing:"Міжрядковий інтервал",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Вісь ряду",SolarPanelArrayLeftRightRowAxis:"Наліво-Направо (відносне)",SolarPanelArrayUpDownRowAxis:"Вгору-Вниз (відносне)",SolarPanelArrayEastWestRowAxis:"Схід-Захід (абсолютне)",SolarPanelArrayNorthSouthRowAxis:"Північ-Південь (абсолютне)",SolarPanelArrayMargin:"Відступ",SolarPanelArrayPoleHeight:"Висота стовпа",SolarPanelArrayPoleSpacing:"Інтервал між стовпами",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Це розташування не приймається. Будь ласка, перевірте ваші параметри."},optimizationMenu:{Optimization:"Оптимізація",Parameters:"Параметри",Variables:"Змінні",Constants:"Константи",GeneticAlgorithm:"Генетичний алгоритм",GeneticAlgorithmSettings:"Налаштування генетичного алгоритму",ParticleSwarmOptimization:"Оптимізація роєм частинок",ParticleSwarmOptimizationSettings:"Налаштування оптимізації роєм частинок",SolarPanelTiltAngleOptimization:"Оптимізація кута нахилу сонячних панелей",SolarPanelArrayLayout:"Розташування сонячних панелей",Generation:"Покоління",Gene:"Ген",NormalizedVariables:"Нормалізовані змінні",Objective:"Ціль",ObjectiveFunctionDailyTotalYield:"Щоденний загальний дохід",ObjectiveFunctionYearlyTotalYield:"Щорічний загальний дохід",ObjectiveFunctionDailyMeanYield:"Щоденний середній дохід",ObjectiveFunctionYearlyMeanYield:"Щорічний середній дохід",ObjectiveFunctionDailyProfit:"Щоденний прибуток",ObjectiveFunctionYearlyProfit:"Щорічний прибуток",GeneticAlgorithmSelectionMethod:"Метод вибору для генетичного алгоритму",RouletteWheel:"Велосипедне колесо",Tournament:"Турнір",SearchMethod:"Метод пошуку",GlobalSearchUniformSelection:"Глобальний пошук з однорідним вибором",LocalSearchRandomOptimization:"Локальний пошук випадкової оптимізації",PopulationSize:"Розмір населення",MaximumGenerations:"Максимальна кількість поколінь",SelectionRate:"Швидкість відбору",CrossoverRate:"Швидкість схрещування",MutationRate:"Швидкість мутації",Step:"Крок",SwarmSize:"Розмір рою",MaximumSteps:"Максимальна кількість кроків",MaximumVelocity:"Максимальна швидкість",InertiaWeight:"Вага інерції",CognitiveCoefficient:"Коефіцієнт когнітивної функції",SocialCoefficient:"Коефіцієнт соціальної взаємодії",ConvergenceThreshold:"Поріг збіжності для завершення",LocalSearchRadius:"Радіус локального пошуку",RowsPerRackRange:"Діапазон для рядів на стелаж",TiltAngleRange:"Діапазон для кута нахилу",InterRowSpacingRange:"Діапазон для міжрядкового проміжку",ClickTargetPolygonToActivate:"Натисніть на цільовий полігон для активації",ClickTargetFoundationToActivate:"Натисніть на цільовий фундамент для активації"},treeMenu:{ShowModel:"Показати модель",Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},flowerMenu:{Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},peopleMenu:{ChangePerson:"Змінити особу",Flip:"Перевернути",Observer:"Спостерігач",ViewFromThisPerson:"Переглянути з цієї особи"},lightMenu:{Color:"Колір",Intensity:"Інтенсивність",Decay:"Затухання",MaximumDistance:"Максимальна відстань",Inside:"Усередині"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Відносний азимут",Pole:"Стовп",PoleHeight:"Висота стовпа",PoleRadius:"Pole Radius",ExtraPoleHeight:"Додаткова висота стовпа",ExtraPoleHeightInAdditionToHalfWidth:"Додаткова висота стовпа на додаток до половини ширини",DrawSunBeam:"Намалювати промінь сонця"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Відбивання відбивача",ReceiverAbsorptance:"Поглинання приймача",ReflectorOpticalEfficiency:"Оптична ефективність відбивача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Змінити модель",Orientation:"Орієнтація",Portrait:"Вертикальна",Landscape:"Горизонтальна",FrameColor:"Колір рамки",Panels:"панелі",PanelsWide:"панелі по ширині",PanelsLong:"панелі по довжині",TiltAngle:"Кут нахилу",SouthFacingIsPositive:"Південь вважається позитивним",Tracker:"Трекер",SolarTrackerFollowsSun:"Трекер слідкує за сонцем для збільшення виходу сонячних панелей.",PoleSpacing:"Відстань між стовпами",NoTracker:"Без трекера",HorizontalSingleAxisTracker:"Трекер з горизонтальною одноосевою орієнтацією",VerticalSingleAxisTracker:"Трекер з вертикальною одноосевою орієнтацією",AltazimuthDualAxisTracker:"Трекер з азимутально-альтазимутальною двоосевою орієнтацією",OnlyThisSolarPanel:"Тільки ця сонячна панель",AllSolarPanelsOnSurface:"Всі сонячні панелі на одній поверхні",AllSolarPanelsAboveFoundation:"Всі сонячні панелі над однією фундаментом",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Всі сонячні панелі"},pvModelPanel:{SolarPanelSpecs:"Технічні характеристики сонячної панелі",Model:"Модель",PanelSize:"Розмір панелі",Cells:"Комірки",CellType:"Тип комірок",Monocrystalline:"Монокристалічні",Polycrystalline:"Полікристалічні",ThinFilm:"Тонкоплівкові",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Чорний",Blue:"Синій",ShadeTolerance:"Стійкість до затінення",SolarCellEfficiency:"Ефективність сонячної комірки",NominalOperatingCellTemperature:"Номінальна робоча температура комірки",TemperatureCoefficientOfPmax:"Температурний коефіцієнт Pmax"},parabolicTroughMenu:{ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",LatusRectum:"Велика піввісь",OnlyThisParabolicTrough:"Тільки цей параболічний сонячний колектор",AllParabolicTroughsAboveFoundation:"Усі параболічні сонячні колектори над цим фундаментом",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Усі параболічні сонячні колектори"},fresnelReflectorMenu:{AbsorberPipe:"Труба поглинання",SelectAbsorberToReflectSunlightTo:"Виберіть поглинач, до якого буде відбиватися сонячне світло",ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",OnlyThisFresnelReflector:"Тільки цей відбивач Френеля",AllFresnelReflectorsAboveFoundation:"Усі відбивачі Френеля над цим фундаментом",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Усі відбивачі Френеля"},heliostatMenu:{Tower:"Вежа",SelectTowerToReflectSunlightTo:"Виберіть вежу, до якої буде відбиватися сонячне світло",OnlyThisHeliostat:"Тільки цей геліостат",AllHeliostatsAboveFoundation:"Усі геліостати над цим фундаментом",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Усі геліостати"},parabolicDishMenu:{ReceiverStructure:"Структура приймача",CentralPole:"Центральний стовп",CentralPoleWithTripod:"Центральний стовп з триногою",Quadrupod:"Чотиринога",RimDiameter:"Діаметр ободу",LatusRectum:"Велика піввісь",ExtraPoleHeightInAdditionToRadius:"Додаткова висота стовпа плюс радіус",OnlyThisParabolicDish:"Тільки ця параболічна тарілка",AllParabolicDishesAboveFoundation:"Усі параболічні тарілки над цим фундаментом",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Усі параболічні тарілки"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Типова текстура",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SizeOfWall:"Розмір стіни",OnlyThisWall:"Тільки ця стіна",AllConnectedWalls:"Всі пов'язані стіни",AllWallsAboveFoundation:"Всі стіни над цим фундаментом",AllSelectedWalls:"All Selected Walls",AllWalls:"Всі стіни",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Ви дійсно бажаєте видалити всі вікна на цій стіні",Doors:"Двері",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Видалити всі розблоковані двері",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Ви дійсно бажаєте видалити всі двері на цій стіні",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Ви дійсно бажаєте видалити всі сонячні панелі на цій стіні",Sensors:"Датчики",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані датчики",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Ви дійсно бажаєте видалити всі датчики на цій стіні",Lights:"Лампи",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisWall:"Ви дійсно бажаєте видалити всі лампи на цій стіні",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Структура стіни",DefaultStructure:"Типова",StudStructure:"Студ",PillarStructure:"Пілар",Opacity:"Непрозорість",StructureSpacing:"Відстань між структурами",StructureWidth:"Ширина структури",StructureThickness:"Товщина структури",StructureColor:"Колір структури",Color:"Колір стіни",Height:"Висота",Thickness:"Товщина",Texture:"Текстура",AllLightsOnWallInside:"Всі лампи всередині стіни",AllLightsOnWallOutside:"Всі лампи ззовні стіни",Fill:"Заповнення",Full:"Повне",Partial:"Часткове",Empty:"Порожнє",OpenToOutside:"Відкрите на зовнішню сторону",EavesLength:"Довжина карнизу",Parapet:"Перила",ParapetColor:"Колір перил",ParapetTexture:"Текстура перил",ParapetHeight:"Висота перил",CopingsHeight:"Висота паркану",CopingsWidth:"Ширина паркану"},windowMenu:{OnlyThisWindow:"Тільки це вікно",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Всі вікна над однією фундаментом",AllSelectedWindows:"All Selected Windows",AllWindows:"Всі вікна",Width:"Ширина",Height:"Висота",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Розділовий стовпець",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Ширина розділового стовпця",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Колір розділового стовпця",Tint:"Відтінок",Opacity:"Непрозорість",SolarHeatGainCoefficient:"Коефіцієнт сонячного теплового навантаження (SHGC) = 1 - непрозорість",Shutter:"Жалюзі",LeftShutter:"Ліве жалюзі",RightShutter:"Праве жалюзі",BothShutters:"Обидві жалюзі",ShutterWidth:"Відносна ширина",ShutterColor:"Колір жалюзі",Frame:"Рамка",FrameWidth:"Ширина рамки",SillWidth:"Ширина підвіконня",Color:"Колір рамки",WindowType:"Тип вікна",Default:"Типове",Arched:"Аркове",Polygonal:"Багатокутне",Interior:"Інтер'єр",Empty:"Порожнє"},roofMenu:{TextureDefault:"Типове",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",OnlyThisRoof:"Тільки цей дах",AllRoofsAboveFoundation:"Всі дахи над одним фундаментом",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Всі дахи",OnlyThisCeiling:"Тільки ця стеля",AllCeilingsAboveFoundation:"Всі стелі над одним фундаментом",AllCeilings:"Всі стелі",EavesOverhangLength:"Довжина виступу карнизу",RafterSpacing:"Відстань між стропилами",RafterWidth:"Ширина стропила",RafterThickness:"Товщина стропила",RafterColor:"Колір стропила",RoofColor:"Колір даху",RoofSideColor:"Колір бокової частини даху",GlassTint:"Колір скла",Opacity:"Непрозорість",RoofStructure:"Структура даху",DefaultStructure:"Типова",RafterStructure:"Стропило",GlassStructure:"Скло",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому даху",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Ви дійсно бажаєте видалити всі вікна на цьому даху",Sensors:"Сенсори",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Ви дійсно бажаєте видалити всі сенсори на цьому даху",Lights:"Лампи",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Ви дійсно бажаєте видалити всі лампи на цьому даху",AllLightsOnRoofInside:"Всі лампи на даху всередині",AllLightsOnRoofOutside:"Всі лампи на даху ззовні",Rise:"Піднімання",Ceiling:"Стеля",RoofRValue:"Значення R для даху",CeilingRValue:"Значення R для стелі"},doorMenu:{TextureDefault:"За замовчуванням",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",Texture11:"Текстура 11",Texture12:"Текстура 12",Texture13:"Текстура 13",Texture14:"Текстура 14",Texture15:"Текстура 15",Texture16:"Текстура 16",Texture17:"Текстура 17",OnlyThisDoor:"Тільки ці двері",AllDoorsOnWall:"Всі двері на цій стіні",AllDoorsAboveFoundation:"Всі двері над тим самим фундаментом",AllSelectedDoors:"All Selected Doors",AllDoors:"Всі двері",DoorType:"Тип дверей",Default:"За замовчуванням",Arched:"Аркові",Filled:"Заповнені",FrameColor:"Колір рамки",Interior:"Інтер'єр"},siteInfoPanel:{High:"Високо",Low:"Низько"},designInfoPanel:{NumberOfSelectedHeliostats:"Кількість вибраних геліостатів",NumberOfSelectedSolarPanels:"Кількість вибраних сонячних панелей",ElectricityGeneratedDailyBySolarPanels:"Електрика, що генерується щоденно цими сонячними панелями",SceneDiameter:"Діаметр сцени",BuildingArea:"Площа будівлі"},visualizationControlPanel:{ColorContrast:"Контраст кольору",FluxScale:"Шкала потоку",ClickUpOrDownArrowButtonsToChange:"Натисніть кнопки зі стрілками вгору або вниз щоб змінити"},instructionPanel:{Rotate:"Повернути",DragMouse:"Перетягніть мишею",Zoom:"Масштабування",MouseWheelOrKeys:"Обертайте колесо миші або натисніть Ctrl+[ або Ctrl+]",MouseWheelOrKeysMac:"Обертайте колесо миші або натисніть ⌘+[ або ⌘+]",Pan:"Переміщення",HoldCtrlDragMouse:"Натисніть і утримуйте Ctrl, перетягніть мишею",HoldMetaDragMouse:"Натисніть і утримуйте ⌘, перетягніть мишею",Enter2DMode:"Ввійти в 2D режим",Exit2DMode:"Вийти з 2D режиму",NavigationMode:"Режим навігації",EnableNavigation:"Увімкнути навігацію",DisableNavigation:"Вимкнути навігацію",MoveForwardBack:"Рухатися вперед/назад",MoveForwardBackInstruction:"Натисніть W/S",MoveLeftRight:"Рухатися вліво/вправо",MoveLeftRightInstruction:"Натисніть A/D",MoveUpDown:"Рухатися вгору/вниз",MoveUpDownInstruction:"Натисніть Z/X",Turn:"Повернути",TurnInstruction:"Натисніть клавіші зі стрілками",ResetView:"Скинути",AutoRotate:"Автоматичний поворот",StartOrStop:"Натисніть F4, щоб почати або зупинити"},mapPanel:{ImageOnGround:"Зображення на землі",HideAddress:"Hide Address",WeatherStations:"Метеостанції",WeatherStationsNote:"Вимкніть це, щоб прискорити",Coordinates:"Координати",Zoom:"Масштабування"},visibilityPanel:{SolarPanelVisibility:"Видимість сонячних панелей",Observer:"Спостерігач",VantagePoint:"Точка огляду",ItemizedVisibilityByFields:"Розгорнутий за полями",TotalVisibility:"Загальна видимість"},sensorPanel:{LightSensor:"Датчик освітленості",WeatherDataFrom:"Метеодані з"},buildingEnergyPanel:{DailyBuildingEnergy:"Щоденна енергія будівлі",YearlyBuildingEnergy:"Річна енергія будівлі",Heater:"Обігрівач",AC:"Кондиціонер",SolarPanel:"Сонячна панель",Net:"Всього"},solarPanelYieldPanel:{SolarPanelDailyYield:"Щоденний дохід сонячних панелей",SolarPanelYearlyYield:"Річний дохід сонячних панелей",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualSolarPanels:"Показати дохід окремих сонячних панелей",Profit:"Прибуток",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Щоденний дохід параболічних сонячних колекторів",ParabolicTroughYearlyYield:"Річний дохід параболічних сонячних колекторів",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicTroughs:"Показати дохід окремих параболічних сонячних колекторів"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Щоденний дохід параболічних тарілок",ParabolicDishYearlyYield:"Річний дохід параболічних тарілок",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicDishes:"Показати дохід окремих параболічних тарілок"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Щоденний дохід відбивача Френеля",FresnelReflectorYearlyYield:"Річний дохід відбивача Френеля",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualFresnelReflectors:"Показати дохід окремих відбивачів Френеля"},heliostatYieldPanel:{HeliostatDailyYield:"Щоденний дохід геліостату",HeliostatYearlyYield:"Річний дохід геліостату",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualHeliostats:"Показати дохід окремих геліостатів"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Щоденний дохід сонячної вежі",UpdraftTowerYearlyYield:"Річний дохід сонячної вежі",ChimneyAirTemperature:"Температура повітря у димовій трубі",ChimneyWindSpeed:"Швидкість вітру у димовій трубі",Yield:"дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualUpdraftTowers:"Показати дохід окремих сонячних веж"},heliodonPanel:{SunAndTimeSettings:"Налаштування Сонця та Часу",SunAngles:"Кути Сонця",TwentyFourHours:"24 Години"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyLikes:"Мої вподобання",MyCloudFiles:"Мої файли у хмарному середовищі",GenerateLink:"Створити посилання",LinkGeneratedInClipBoard:"Посилання було створено та скопійовано до буферу обміну",DoYouReallyWantToDelete:"Ви дійсно бажаєте видалити",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"Якщо цей файл було відкрито або опубліковано, зміна його назви порушить наявні посилання"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Тип проєкту",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Мої налаштування облікового запису",MyID:"Моє 🆔",ClickToCopyMyID:"Натисніть, щоб скопіювати моє ID",IDInClipBoard:"Ваш ID було скопійоване і готове для вставки.",StoreMyNameInMyFilesWhenSaving:"Зберігати моє ім'я в моїх файлах при збереженні",DoYouReallyWantToShowYourNameInYourFiles:"Ви дійсно бажаєте відображати ваше ім'я в файлах?",SignFileDisclaimer:"Якщо так, ваше ім'я зможе бачити будь-хто, хто матиме доступ до ваших файлів.",Likes:"Вподобання",AllPublished:"Усі опубліковані",PublishedUnderAliases:"Псевдоніми",UserCount:"Кількість користувачів",SchoolID:"ID Школи",ClassID:"ID Класу"},weatherPanel:{SunshineHours:"Сонячні години"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Виберіть модель повітряної температури",Sinusoidal:"Синусоїдальна"},economicsPanel:{EconomicsParameters:"Параметри економіки",ElectricitySellingPrice:"Ціна продажу електроенергії",OperationalCostPerUnit:"Операційні витрати за одиницю",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Ясність неба",ShowDaylightResults:"Показати результати денного освітлення",ShowSkyClearnessResults:"Показати результати ясності неба",ShowAverageDailySolarRadiation:"Показати середню щоденну сонячну радіацію"},analysisManager:{NoSensorForCollectingData:"Немає датчика для збору даних.",NoSolarPanelForAnalysis:"Немає сонячної панелі для аналізу.",NoObserverForVisibilityAnalysis:"Немає спостерігача для аналізу видимості.",NoWaterHeaterForAnalysis:"Немає водонагрівача для аналізу.",NoParabolicDishForAnalysis:"Немає параболічної тарілки для аналізу.",NoParabolicTroughForAnalysis:"Немає параболічного сонячного колектора для аналізу.",NoFresnelReflectorForAnalysis:"Немає відбивача Френеля для аналізу.",NoHeliostatForAnalysis:"Немає геліостата для аналізу.",NoSolarUpdraftTowerForAnalysis:"Немає сонячної вежі для аналізу.",NoBuildingForAnalysis:"Немає будівлі для аналізу."},toolbar:{CloudFile:"Хмарний файл",Select:"Вибрати",AddFoundation:"Додати фундамент",AddWall:"Додати стіну",AddWindow:"Додати вікно",AddDoor:"Додати двері",AddPyramidRoof:"Додати пірамідальний дах",AddGableRoof:"Додати шатровий дах",AddHipRoof:"Додати чотирихилий дах",AddGambrelRoof:"Додати двосхилий дах",AddMansardRoof:"Додати мансардний дах",AddCuboid:"Додати прямокутний паралелепіпед",AddSensor:"Додати датчик",AddSolarPanel:"Додати сонячну панель",AddWaterHeater:"Додати водонагрівач",AddParabolicDish:"Додати параболічну тарілку",AddParabolicTrough:"Додати параболічний сонячний колектор",AddFresnelReflector:"Додати відбивач Френеля",AddHeliostat:"Додати геліостат",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Додати світло",AddTree:"Додати дерево",AddFlower:"Додати квітку",AddPeople:"Додати людей",DoubleClickToLockThisModeForNextAction:"Подвійне клацання, щоб заблокувати цей режим для наступної дії",ClickToUnlockThisModeForNextAction:"Клацніть, щоб розблокувати цей режим для наступної дії",ManipulateGroup:"Маніпулювати групою",ClearScene:"Очистити сцену",ShowSunAndTimeSettings:"Показати налаштування Сонця та Часу",SpatialAnalysisOfEnergy:"Просторовий аналіз енергії",DoYouReallyWantToClearContent:"Ви дійсно бажаєте очистити вміст",ClickForMoreButtons:"Натисніть для додаткових кнопок"},tooltip:{gotoIFI:"Перейти до Інституту Інтелекту Майбутнього",visitAladdinHomePage:"Відвідати домашню сторінку Aladdin",clickToOpenMenu:"Натисність, щоб відкрити Головне Меню",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Яблуня",Birch:"Береза",Coconut:"Кокос",Dogwood:"Дерен",Elm:"В'яз",FanPalm:"Віяльна пальма",Linden:"Липа",Magnolia:"Магнолія",Maple:"Клен",Oak:"Дуб",Pine:"Сосна",Spruce:"Ялина"},flower:{Bellflower:"Дзвоник",Boxwood:"Самшит",CactusCombo1:"Кактус Комбо 1",CactusCombo2:"Кактус Комбо 2",CactusCombo3:"Кактус Комбо 3",CactusCombo4:"Кактус Комбо 4",Hibiscus:"Гібіскус",Hosta:"Госта",Hydrangea:"Гортензія",Peony:"Півонія",RedRose:"Червона троянда",Spirea:"Спірея",Sunflower:"Соняшник",TallBush:"Високий кущ",Tulip:"Тюльпан",WhiteFlower:"Біла квітка",YellowFlower:"Жовта квітка"},people:{Jaah:"Артем",Jack:"Віталій",Jacob:"Ярослав",Jacqueline:"Олена",Jade:"Ольга",Jamelia:"Олександра",James:"Андрій",Jane:"Вікторія",Jaya:"Ірина",Jaye:"Назар",Jeanette:"Соломія",Jedi:"Євген",Jeff:"Павло",Jena:"Любов",Jennifer:"Тетяна",Jess:"Злата",Jett:"Сергій",Jill:"Надія",Jiya:"Марина",Joan:"Іванна",Jocelyn:"Анастасія",Joel:"Володимир",Joey:"Вероніка",John:"Іван",Jonathon:"Петро",Jose:"Микита",Joseph:"Віктор",Joshua:"Михайло",Judd:"Владислав",Judy:"Марія",Julia:"Юлія",Julio:"Дмитро",Jumapili:"Марта",June:"Анна",Juro:"Юрій",Justin:"Богдан"},compass:{N:"Пн",S:"Пд",W:"Зx",E:"Сх"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Пошук за виробником",SearchByLabel:"Пошук за міткою",MyPublishedModels:"Мої опубліковані моделі",TotalNumberOfUserPublishedModels:"Загальна кількість моделей, опублікованих користувачами",SortFromOldestToNewest:"Сортувати від найдавніших до найновіших",SortFromNewestToOldest:"Сортувати від найновіших до найдавніших",ModelsFoundOnThisSite:"моделей знайдено на цьому сайті",ShowModelsPublishedByThisAuthor:"Показати моделі, опубліковані цим автором"}}};j.use(hLe).use(bft).init({debug:!0,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:_ft,zh_cn:Vft,zh_tw:Gft,es:Xft,tr:Jft,ua:Kft}});var Wpe={},pLe={exports:{}};(function(t){function e(n){return n&&n.__esModule?n:{default:n}}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports})(pLe);var Cd=pLe.exports,CK={};Object.defineProperty(CK,"__esModule",{value:!0});CK.default=void 0;var qft={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};CK.default=qft;var RK={},FL={},HK={};Object.defineProperty(HK,"__esModule",{value:!0});HK.default=void 0;var $ft={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};HK.default=$ft;var LL={};Object.defineProperty(LL,"__esModule",{value:!0});LL.default=void 0;const Qft={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};LL.default=Qft;var gLe=Cd.default;Object.defineProperty(FL,"__esModule",{value:!0});FL.default=void 0;var Zft=gLe(HK),eht=gLe(LL);const tht={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},Zft.default),timePickerLocale:Object.assign({},eht.default)};FL.default=tht;var nht=Cd.default;Object.defineProperty(RK,"__esModule",{value:!0});RK.default=void 0;var oht=nht(FL);RK.default=oht.default;var MK=Cd.default;Object.defineProperty(Wpe,"__esModule",{value:!0});var Npe=Wpe.default=void 0,iht=MK(CK),rht=MK(RK),aht=MK(FL),lht=MK(LL);const M1="${label} is not a valid ${type}",sht={locale:"en",Pagination:iht.default,DatePicker:aht.default,TimePicker:lht.default,Calendar:rht.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:M1,method:M1,array:M1,object:M1,number:M1,date:M1,boolean:M1,integer:M1,float:M1,regexp:M1,email:M1,url:M1,hex:M1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};Npe=Wpe.default=sht;const cht="/aladdin/assets/weather-4azAMZ4u.csv",uht="/aladdin/assets/solar_radiation_horizontal-D4I5HnbU.csv",dht="/aladdin/assets/solar_radiation_vertical-ChWgQAyS.csv",fht="/aladdin/assets/pvmodules-BhZ8sEOG.csv";function Rm(t){for(var e=arguments.length,n=Array(e>1?e-1:0),o=1;o3?e.i-4:e.i:Array.isArray(t)?1:Upe(t)?2:Bpe(t)?3:0}function sse(t,e){return uH(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function hht(t,e){return uH(t)===2?t.get(e):t[e]}function mLe(t,e,n){var o=uH(t);o===2?t.set(e,n):o===3?t.add(n):t[e]=n}function pht(t,e){return t===e?t!==0||1/t==1/e:t!=t&&e!=e}function Upe(t){return vht&&t instanceof Map}function Bpe(t){return xht&&t instanceof Set}function fd(t){return t.o||t.t}function jpe(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=Sht(t);delete e[ql];for(var n=Vpe(e),o=0;o1&&(t.set=t.add=t.clear=t.delete=ght),Object.freeze(t),e&&OC(t,function(n,o){return Ype(o,!0)},!0)),t}function ght(){Rm(2)}function Ope(t){return t==null||typeof t!="object"||Object.isFrozen(t)}function p9(t){var e=use[t];return e||Rm(18,t),e}function mht(t,e){use[t]||(use[t]=e)}function kV(){return ck}function Kne(t,e){e&&(p9("Patches"),t.u=[],t.s=[],t.v=e)}function FV(t){cse(t),t.p.forEach(yht),t.p=null}function cse(t){t===ck&&(ck=t.l)}function IAe(t){return ck={p:[],l:ck,h:t,m:!0,_:0}}function yht(t){var e=t[ql];e.i===0||e.i===1?e.j():e.g=!0}function qne(t,e){e._=e.p.length;var n=e.p[0],o=t!==void 0&&t!==n;return e.h.O||p9("ES5").S(e,t,o),o?(n[ql].P&&(FV(e),Rm(4)),B6(t)&&(t=LV(e,t),e.l||WV(e,t)),e.u&&p9("Patches").M(n[ql].t,t,e.u,e.s)):t=LV(e,n,[]),FV(e),e.u&&e.v(e.u,e.s),t!==yLe?t:void 0}function LV(t,e,n){if(Ope(e))return e;var o=e[ql];if(!o)return OC(e,function(l,s){return zAe(t,o,e,l,s,n)},!0),e;if(o.A!==t)return e;if(!o.P)return WV(t,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var i=o.i===4||o.i===5?o.o=jpe(o.k):o.o,r=i,a=!1;o.i===3&&(r=new Set(i),i.clear(),a=!0),OC(r,function(l,s){return zAe(t,o,i,l,s,n,a)}),WV(t,i,!1),n&&t.u&&p9("Patches").N(o,n,t.u,t.s)}return o.o}function zAe(t,e,n,o,i,r,a){if(YC(i)){var l=LV(t,i,r&&e&&e.i!==3&&!sse(e.R,o)?r.concat(o):void 0);if(mLe(n,o,l),!YC(l))return;t.m=!1}else a&&n.add(i);if(B6(i)&&!Ope(i)){if(!t.h.D&&t._<1)return;LV(t,i),e&&e.A.l||WV(t,i)}}function WV(t,e,n){n===void 0&&(n=!1),!t.l&&t.h.D&&t.m&&Ype(e,n)}function $ne(t,e){var n=t[ql];return(n?fd(n):t)[e]}function DAe(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var o=Object.getOwnPropertyDescriptor(n,e);if(o)return o;n=Object.getPrototypeOf(n)}}function s6(t){t.P||(t.P=!0,t.l&&s6(t.l))}function Qne(t){t.o||(t.o=jpe(t.t))}function sk(t,e,n){var o=Upe(e)?p9("MapSet").F(e,n):Bpe(e)?p9("MapSet").T(e,n):t.O?function(i,r){var a=Array.isArray(i),l={i:a?1:0,A:r?r.A:kV(),P:!1,I:!1,R:{},l:r,t:i,k:null,o:null,j:null,C:!1},s=l,c=dse;a&&(s=[l],c=uD);var u=Proxy.revocable(s,c),d=u.revoke,f=u.proxy;return l.k=f,l.j=d,f}(e,n):p9("ES5").J(e,n);return(n?n.A:kV()).p.push(o),o}function Aht(t){return YC(t)||Rm(22,t),function e(n){if(!B6(n))return n;var o,i=n[ql],r=uH(n);if(i){if(!i.P&&(i.i<4||!p9("ES5").K(i)))return i.t;i.I=!0,o=EAe(n,r),i.I=!1}else o=EAe(n,r);return OC(o,function(a,l){i&&hht(i.t,a)===l||mLe(o,a,e(l))}),r===3?new Set(o):o}(t)}function EAe(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return jpe(t)}function wht(){function t(l,s){function c(){this.constructor=l}i(l,s),l.prototype=(c.prototype=s.prototype,new c)}function e(l){l.o||(l.R=new Map,l.o=new Map(l.t))}function n(l){l.o||(l.o=new Set,l.t.forEach(function(s){if(B6(s)){var c=sk(l.A.h,s,l);l.p.set(s,c),l.o.add(c)}else l.o.add(s)}))}function o(l){l.g&&Rm(3,JSON.stringify(fd(l)))}var i=function(l,s){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var d in u)u.hasOwnProperty(d)&&(c[d]=u[d])})(l,s)},r=function(){function l(c,u){return this[ql]={i:2,l:u,A:u?u.A:kV(),P:!1,I:!1,o:void 0,R:void 0,t:c,k:this,C:!1,g:!1},this}t(l,Map);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){return fd(this[ql]).has(c)},s.set=function(c,u){var d=this[ql];return o(d),fd(d).has(c)&&fd(d).get(c)===u||(e(d),s6(d),d.R.set(c,!0),d.o.set(c,u),d.R.set(c,!0)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),e(u),s6(u),u.t.has(c)?u.R.set(c,!1):u.R.delete(c),u.o.delete(c),!0},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(e(c),s6(c),c.R=new Map,OC(c.t,function(u){c.R.set(u,!1)}),c.o.clear())},s.forEach=function(c,u){var d=this;fd(this[ql]).forEach(function(f,p){c.call(u,d.get(p),p,d)})},s.get=function(c){var u=this[ql];o(u);var d=fd(u).get(c);if(u.I||!B6(d)||d!==u.t.get(c))return d;var f=sk(u.A.h,d,u);return e(u),u.o.set(c,f),f},s.keys=function(){return fd(this[ql]).keys()},s.values=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.values()},c.next=function(){var f=d.next();return f.done?f:{done:!1,value:u.get(f.value)}},c},s.entries=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.entries()},c.next=function(){var f=d.next();if(f.done)return f;var p=u.get(f.value);return{done:!1,value:[f.value,p]}},c},s[qB]=function(){return this.entries()},l}(),a=function(){function l(c,u){return this[ql]={i:3,l:u,A:u?u.A:kV(),P:!1,I:!1,o:void 0,t:c,k:this,p:new Map,g:!1,C:!1},this}t(l,Set);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){var u=this[ql];return o(u),u.o?!!u.o.has(c)||!(!u.p.has(c)||!u.o.has(u.p.get(c))):u.t.has(c)},s.add=function(c){var u=this[ql];return o(u),this.has(c)||(n(u),s6(u),u.o.add(c)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),n(u),s6(u),u.o.delete(c)||!!u.p.has(c)&&u.o.delete(u.p.get(c))},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(n(c),s6(c),c.o.clear())},s.values=function(){var c=this[ql];return o(c),n(c),c.o.values()},s.entries=function(){var c=this[ql];return o(c),n(c),c.o.entries()},s.keys=function(){return this.values()},s[qB]=function(){return this.values()},s.forEach=function(c,u){for(var d=this.values(),f=d.next();!f.done;)c.call(u,f.value,f.value,this),f=d.next()},l}();mht("MapSet",{F:function(l,s){return new r(l,s)},T:function(l,s){return new a(l,s)}})}var kAe,ck,_pe=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",vht=typeof Map<"u",xht=typeof Set<"u",FAe=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",yLe=_pe?Symbol.for("immer-nothing"):((kAe={})["immer-nothing"]=!0,kAe),_m=_pe?Symbol.for("immer-draftable"):"__$immer_draftable",ql=_pe?Symbol.for("immer-state"):"__$immer_state",qB=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",bht=""+Object.prototype.constructor,Vpe=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Sht=Object.getOwnPropertyDescriptors||function(t){var e={};return Vpe(t).forEach(function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)}),e},use={},dse={get:function(t,e){if(e===ql)return t;var n=fd(t);if(!sse(n,e))return function(i,r,a){var l,s=DAe(r,a);return s?"value"in s?s.value:(l=s.get)===null||l===void 0?void 0:l.call(i.k):void 0}(t,n,e);var o=n[e];return t.I||!B6(o)?o:o===$ne(t.t,e)?(Qne(t),t.o[e]=sk(t.A.h,o,t)):o},has:function(t,e){return e in fd(t)},ownKeys:function(t){return Reflect.ownKeys(fd(t))},set:function(t,e,n){var o=DAe(fd(t),e);if(o!=null&&o.set)return o.set.call(t.k,n),!0;if(!t.P){var i=$ne(fd(t),e),r=i==null?void 0:i[ql];if(r&&r.t===n)return t.o[e]=n,t.R[e]=!1,!0;if(pht(n,i)&&(n!==void 0||sse(t.t,e)))return!0;Qne(t),s6(t)}return t.o[e]===n&&(n!==void 0||e in t.o)||Number.isNaN(n)&&Number.isNaN(t.o[e])||(t.o[e]=n,t.R[e]=!0),!0},deleteProperty:function(t,e){return $ne(t.t,e)!==void 0||e in t.t?(t.R[e]=!1,Qne(t),s6(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=fd(t),o=Reflect.getOwnPropertyDescriptor(n,e);return o&&{writable:!0,configurable:t.i!==1||e!=="length",enumerable:o.enumerable,value:n[e]}},defineProperty:function(){Rm(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Rm(12)}},uD={};OC(dse,function(t,e){uD[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),uD.deleteProperty=function(t,e){return uD.set.call(this,t,e,void 0)},uD.set=function(t,e,n){return dse.set.call(this,t[0],e,n,t[0])};var Tht=function(){function t(n){var o=this;this.O=FAe,this.D=!0,this.produce=function(i,r,a){if(typeof i=="function"&&typeof r!="function"){var l=r;r=i;var s=o;return function(A){var w=this;A===void 0&&(A=l);for(var b=arguments.length,C=Array(b>1?b-1:0),P=1;P1?u-1:0),f=1;f=0;i--){var r=o[i];if(r.path.length===0&&r.op==="replace"){n=r.value;break}}i>-1&&(o=o.slice(i+1));var a=p9("Patches").$;return YC(n)?a(n,o):this.produce(n,function(l){return a(l,o)})},t}(),Pg=new Tht,LP=Pg.produce;Pg.produceWithPatches.bind(Pg);Pg.setAutoFreeze.bind(Pg);Pg.setUseProxies.bind(Pg);Pg.applyPatches.bind(Pg);Pg.createDraft.bind(Pg);Pg.finishDraft.bind(Pg);/** +`);var U=0,F=!1;this.parse=function(B,_,Y){if(typeof B!="string")throw new Error("Input must be a string");var O=B.length,J=H.length,Z=D.length,ie=k.length,ee=S(W),q=[],ae=[],ne=[],se=U=0;if(!B)return Ne();if(x.header&&!_){var le=B.split(D)[0].split(H),te=[],he={},pe=!1;for(var fe in le){var $=le[fe];S(x.transformHeader)&&($=x.transformHeader($,fe));var de=$,Se=he[$]||0;for(0=N)return Ne(!0)}else for(ge=U,U++;;){if((ge=B.indexOf(R,ge+1))===-1)return Y||ae.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:q.length,index:U}),Te();if(ge===O-1)return Te(B.substring(U,ge).replace(oe,R));if(R!==E||B[ge+1]!==E){if(R===E||ge===0||B[ge-1]!==E){ze!==-1&&ze=N)return Ne(!0);break}ae.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:q.length,index:U}),ge++}}else ge++}return Te();function Pe(Le){q.push(Le),se=U}function Me(Le){var $e=0;if(Le!==-1){var We=B.substring(ge+1,Le);We&&We.trim()===""&&($e=We.length)}return $e}function Te(Le){return Y||(Le===void 0&&(Le=B.substring(U)),ne.push(Le),U=O,Pe(ne),ee&&Ye()),Ne()}function De(Le){U=Le,Pe(ne),ne=[],ye=B.indexOf(D,U)}function Ne(Le){return{data:q,errors:ae,meta:{delimiter:H,linebreak:D,aborted:F,truncated:!!Le,cursor:se+(_||0)}}}function Ye(){W(Ne()),q=[],ae=[]}},this.abort=function(){F=!0},this.getCharIndex=function(){return U}}function C(x){var R=x.data,H=a[R.workerId],D=!1;if(R.error)H.userError(R.error,R.file);else if(R.results&&R.results.data){var k={abort:function(){D=!0,P(R.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:v,resume:v};if(S(H.userStep)){for(var W=0;W1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||Udt,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),o=0;o{this.observers[o]||(this.observers[o]=new Map);const i=this.observers[o].get(n)||0;this.observers[o].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i{let[l,s]=a;for(let c=0;c{let[l,s]=a;for(let c=0;c{t=o,e=i});return n.resolve=t,n.reject=e,n}function pAe(t){return t==null?"":""+t}function jdt(t,e,n){t.forEach(o=>{e[o]&&(n[o]=e[o])})}const Ydt=/###/g;function KD(t,e,n){function o(l){return l&&l.indexOf("###")>-1?l.replace(Ydt,"."):l}function i(){return!t||typeof t=="string"}const r=typeof e!="string"?e:e.split(".");let a=0;for(;a":">",'"':""","'":"'","/":"/"};function Gdt(t){return typeof t=="string"?t.replace(/[&<>"'\/]/g,e=>Vdt[e]):t}class Xdt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const o=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,o),this.regExpQueue.push(e),o}}const Jdt=[" ",",","?","!",";"],Kdt=new Xdt(20);function qdt(t,e,n){e=e||"",n=n||"";const o=Jdt.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(o.length===0)return!0;const i=Kdt.getRegExp(`(${o.map(a=>a==="?"?"\\?":a).join("|")})`);let r=!i.test(t);if(!r){const a=t.indexOf(n);a>0&&!i.test(t.substring(0,a))&&(r=!0)}return r}function rse(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return t[e];const o=e.split(n);let i=t;for(let r=0;r-1&&s0?t.replace("_","-"):t}class mAe extends PK{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let l;e.indexOf(".")>-1?l=e.split("."):(l=[e,n],o&&(Array.isArray(o)?l.push(...o):typeof o=="string"&&r?l.push(...o.split(r)):l.push(o)));const s=zV(this.data,l);return!s&&!n&&!o&&e.indexOf(".")>-1&&(e=l[0],n=l[1],o=l.slice(2).join(".")),s||!a||typeof o!="string"?s:rse(this.data&&this.data[e]&&this.data[e][n],o,r)}addResource(e,n,o,i){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator;let l=[e,n];o&&(l=l.concat(a?o.split(a):o)),e.indexOf(".")>-1&&(l=e.split("."),i=n,n=l[1]),this.addNamespaces(n),gAe(this.data,l,i),r.silent||this.emit("added",e,n,o,i)}addResources(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const r in o)(typeof o[r]=="string"||Object.prototype.toString.apply(o[r])==="[object Array]")&&this.addResource(e,n,r,o[r],{silent:!0});i.silent||this.emit("added",e,n,o)}addResourceBundle(e,n,o,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},l=[e,n];e.indexOf(".")>-1&&(l=e.split("."),i=o,o=n,n=l[1]),this.addNamespaces(n);let s=zV(this.data,l)||{};a.skipCopy||(o=JSON.parse(JSON.stringify(o))),i?aLe(s,o,r):s={...s,...o},gAe(this.data,l,s),a.silent||this.emit("added",e,n,o)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,n)}:this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var lLe={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,o,i){return t.forEach(r=>{this.processors[r]&&(e=this.processors[r].process(e,n,o,i))}),e}};const yAe={};class EV extends PK{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),jdt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=r9.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const o=this.resolve(e,n);return o&&o.res!==void 0}extractFromKey(e,n){let o=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;o===void 0&&(o=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let r=n.ns||this.options.defaultNS||[];const a=o&&e.indexOf(o)>-1,l=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!qdt(e,o,i);if(a&&!l){const s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:r};const c=e.split(o);(o!==i||o===i&&this.options.ns.indexOf(c[0])>-1)&&(r=c.shift()),e=c.join(i)}return typeof r=="string"&&(r=[r]),{key:e,namespaces:r}}translate(e,n,o){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,r=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:l}=this.extractFromKey(e[e.length-1],n),s=l[l.length-1],c=n.lng||this.language,u=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&c.toLowerCase()==="cimode"){if(u){const v=n.nsSeparator||this.options.nsSeparator;return i?{res:`${s}${v}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:s,usedParams:this.getUsedParamsDetails(n)}:`${s}${v}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:s,usedParams:this.getUsedParamsDetails(n)}:a}const d=this.resolve(e,n);let f=d&&d.res;const p=d&&d.usedKey||a,g=d&&d.exactUsedKey||a,A=Object.prototype.toString.apply(f),w=["[object Number]","[object Function]","[object RegExp]"],b=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,C=!this.i18nFormat||this.i18nFormat.handleAsObject;if(C&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&w.indexOf(A)<0&&!(typeof b=="string"&&A==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const v=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,f,{...n,ns:l}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(d.res=v,d.usedParams=this.getUsedParamsDetails(n),d):v}if(r){const v=A==="[object Array]",T=v?[]:{},y=v?g:p;for(const S in f)if(Object.prototype.hasOwnProperty.call(f,S)){const x=`${y}${r}${S}`;T[S]=this.translate(x,{...n,joinArrays:!1,ns:l}),T[S]===x&&(T[S]=f[S])}f=T}}else if(C&&typeof b=="string"&&A==="[object Array]")f=f.join(b),f&&(f=this.extendTranslation(f,e,n,o));else{let v=!1,T=!1;const y=n.count!==void 0&&typeof n.count!="string",S=EV.hasDefaultValue(n),x=y?this.pluralResolver.getSuffix(c,n.count,n):"",R=n.ordinal&&y?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",H=y&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),D=H&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${x}`]||n[`defaultValue${R}`]||n.defaultValue;!this.isValidLookup(f)&&S&&(v=!0,f=D),this.isValidLookup(f)||(T=!0,f=a);const W=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:f,N=S&&D!==f&&this.options.updateMissing;if(T||v||N){if(this.logger.log(N?"updateKey":"missingKey",c,s,a,N?D:f),r){const F=this.resolve(a,{...n,keySeparator:!1});F&&F.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let L=[];const E=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&E&&E[0])for(let F=0;F{const Y=S&&_!==f?_:W;this.options.missingKeyHandler?this.options.missingKeyHandler(F,s,B,Y,N,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(F,s,B,Y,N,n),this.emit("missingKey",F,s,B,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&y?L.forEach(F=>{const B=this.pluralResolver.getSuffixes(F,n);H&&n[`defaultValue${this.options.pluralSeparator}zero`]&&B.indexOf(`${this.options.pluralSeparator}zero`)<0&&B.push(`${this.options.pluralSeparator}zero`),B.forEach(_=>{U([F],a+_,n[`defaultValue${_}`]||D)})}):U(L,a,D))}f=this.extendTranslation(f,e,n,d,o),T&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${s}:${a}`),(T||v)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${s}:${a}`:a,v?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d.usedParams=this.getUsedParamsDetails(n),d):f}extendTranslation(e,n,o,i,r){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...o},o.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!o.skipInterpolation){o.interpolation&&this.interpolator.init({...o,interpolation:{...this.options.interpolation,...o.interpolation}});const c=typeof e=="string"&&(o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let u;if(c){const f=e.match(this.interpolator.nestingRegexp);u=f&&f.length}let d=o.replace&&typeof o.replace!="string"?o.replace:o;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),e=this.interpolator.interpolate(e,d,o.lng||this.language,o),c){const f=e.match(this.interpolator.nestingRegexp),p=f&&f.length;u1&&arguments[1]!==void 0?arguments[1]:{},o,i,r,a,l;return typeof e=="string"&&(e=[e]),e.forEach(s=>{if(this.isValidLookup(o))return;const c=this.extractFromKey(s,n),u=c.key;i=u;let d=c.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",p=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),g=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",A=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(w=>{this.isValidLookup(o)||(l=w,!yAe[`${A[0]}-${w}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(l)&&(yAe[`${A[0]}-${w}`]=!0,this.logger.warn(`key "${i}" for languages "${A.join(", ")}" won't get resolved as namespace "${l}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),A.forEach(b=>{if(this.isValidLookup(o))return;a=b;const C=[u];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(C,u,b,w,n);else{let v;f&&(v=this.pluralResolver.getSuffix(b,n.count,n));const T=`${this.options.pluralSeparator}zero`,y=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(C.push(u+v),n.ordinal&&v.indexOf(y)===0&&C.push(u+v.replace(y,this.options.pluralSeparator)),p&&C.push(u+T)),g){const S=`${u}${this.options.contextSeparator}${n.context}`;C.push(S),f&&(C.push(S+v),n.ordinal&&v.indexOf(y)===0&&C.push(S+v.replace(y,this.options.pluralSeparator)),p&&C.push(S+T))}}let P;for(;P=C.pop();)this.isValidLookup(o)||(r=P,o=this.getResource(b,w,P,n))}))})}),{res:o,usedKey:i,exactUsedKey:r,usedLng:a,usedNS:l}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,n,o,i):this.resourceStore.getResource(e,n,o,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],o=e.replace&&typeof e.replace!="string";let i=o?e.replace:e;if(o&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!o){i={...i};for(const r of n)delete i[r]}return i}static hasDefaultValue(e){const n="defaultValue";for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&n===o.substring(0,n.length)&&e[o]!==void 0)return!0;return!1}}function Jne(t){return t.charAt(0).toUpperCase()+t.slice(1)}class AAe{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=r9.create("languageUtils")}getScriptPartFromCode(e){if(e=DV(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=DV(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(typeof e=="string"&&e.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let o=e.split("-");return this.options.lowerCaseLng?o=o.map(i=>i.toLowerCase()):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),n.indexOf(o[1].toLowerCase())>-1&&(o[1]=Jne(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),n.indexOf(o[1].toLowerCase())>-1&&(o[1]=Jne(o[1].toLowerCase())),n.indexOf(o[2].toLowerCase())>-1&&(o[2]=Jne(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(o=>{if(n)return;const i=this.formatLanguageCode(o);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(o=>{if(n)return;const i=this.getLanguagePartFromCode(o);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(r=>{if(r===i)return r;if(!(r.indexOf("-")<0&&i.indexOf("-")<0)&&(r.indexOf("-")>0&&i.indexOf("-")<0&&r.substring(0,r.indexOf("-"))===i||r.indexOf(i)===0&&i.length>1))return r})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),typeof e=="string"&&(e=[e]),Object.prototype.toString.apply(e)==="[object Array]")return e;if(!n)return e.default||[];let o=e[n];return o||(o=e[this.getScriptPartFromCode(n)]),o||(o=e[this.formatLanguageCode(n)]),o||(o=e[this.getLanguagePartFromCode(n)]),o||(o=e.default),o||[]}toResolveHierarchy(e,n){const o=this.getFallbackCodes(n||this.options.fallbackLng||[],e),i=[],r=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return typeof e=="string"&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&r(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&r(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&r(this.getLanguagePartFromCode(e))):typeof e=="string"&&r(this.formatLanguageCode(e)),o.forEach(a=>{i.indexOf(a)<0&&r(this.formatLanguageCode(a))}),i}}let $dt=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Qdt={1:function(t){return+(t>1)},2:function(t){return+(t!=1)},3:function(t){return 0},4:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},5:function(t){return t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},6:function(t){return t==1?0:t>=2&&t<=4?1:2},7:function(t){return t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},8:function(t){return t==1?0:t==2?1:t!=8&&t!=11?2:3},9:function(t){return+(t>=2)},10:function(t){return t==1?0:t==2?1:t<7?2:t<11?3:4},11:function(t){return t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3},12:function(t){return+(t%10!=1||t%100==11)},13:function(t){return+(t!==0)},14:function(t){return t==1?0:t==2?1:t==3?2:3},15:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2},16:function(t){return t%10==1&&t%100!=11?0:t!==0?1:2},17:function(t){return t==1||t%10==1&&t%100!=11?0:1},18:function(t){return t==0?0:t==1?1:2},19:function(t){return t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3},20:function(t){return t==1?0:t==0||t%100>0&&t%100<20?1:2},21:function(t){return t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0},22:function(t){return t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3}};const Zdt=["v1","v2","v3"],eft=["v4"],wAe={zero:0,one:1,two:2,few:3,many:4,other:5};function tft(){const t={};return $dt.forEach(e=>{e.lngs.forEach(n=>{t[n]={numbers:e.nr,plurals:Qdt[e.fc]}})}),t}class nft{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=r9.create("pluralResolver"),(!this.options.compatibilityJSON||eft.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=tft()}addRule(e,n){this.rules[e]=n}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(DV(e==="dev"?"en":e),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const o=this.getRule(e,n);return this.shouldUseIntlApi()?o&&o.resolvedOptions().pluralCategories.length>1:o&&o.numbers.length>1}getPluralFormsOfKey(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,o).map(i=>`${n}${i}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const o=this.getRule(e,n);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort((i,r)=>wAe[i]-wAe[r]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):o.numbers.map(i=>this.getSuffix(e,i,n)):[]}getSuffix(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,o);return i?this.shouldUseIntlApi()?`${this.options.prepend}${o.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,n){const o=e.noAbs?e.plurals(n):e.plurals(Math.abs(n));let i=e.numbers[o];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const r=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:r():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?r():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}shouldUseIntlApi(){return!Zdt.includes(this.options.compatibilityJSON)}}function vAe(t,e,n){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,r=_dt(t,e,n);return!r&&i&&typeof n=="string"&&(r=rse(t,n,o),r===void 0&&(r=rse(e,n,o))),r}class oft{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=r9.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(n=>n),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const n=e.interpolation;this.escape=n.escape!==void 0?n.escape:Gdt,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?GS(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?GS(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?GS(n.nestingPrefix):n.nestingPrefixEscaped||GS("$t("),this.nestingSuffix=n.nestingSuffix?GS(n.nestingSuffix):n.nestingSuffixEscaped||GS(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,o)=>n&&n.source===o?(n.lastIndex=0,n):new RegExp(o,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,n,o,i){let r,a,l;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(g){return g.replace(/\$/g,"$$$$")}const u=g=>{if(g.indexOf(this.formatSeparator)<0){const C=vAe(n,s,g,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(C,void 0,o,{...i,...n,interpolationkey:g}):C}const A=g.split(this.formatSeparator),w=A.shift().trim(),b=A.join(this.formatSeparator).trim();return this.format(vAe(n,s,w,this.options.keySeparator,this.options.ignoreJSONStructure),b,o,{...i,...n,interpolationkey:w})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:g=>c(g)},{regex:this.regexp,safeValue:g=>this.escapeValue?c(this.escape(g)):c(g)}].forEach(g=>{for(l=0;r=g.regex.exec(e);){const A=r[1].trim();if(a=u(A),a===void 0)if(typeof d=="function"){const b=d(e,r,i);a=typeof b=="string"?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,A))a="";else if(f){a=r[0];continue}else this.logger.warn(`missed to pass in variable ${A} for interpolating ${e}`),a="";else typeof a!="string"&&!this.useRawValueToEscape&&(a=pAe(a));const w=g.safeValue(a);if(e=e.replace(r[0],w),f?(g.regex.lastIndex+=a.length,g.regex.lastIndex-=r[0].length):g.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),e}nest(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,r,a;function l(s,c){const u=this.nestingOptionsSeparator;if(s.indexOf(u)<0)return s;const d=s.split(new RegExp(`${u}[ ]*{`));let f=`{${d[1]}`;s=d[0],f=this.interpolate(f,a);const p=f.match(/'/g),g=f.match(/"/g);(p&&p.length%2===0&&!g||g.length%2!==0)&&(f=f.replace(/'/g,'"'));try{a=JSON.parse(f),c&&(a={...c,...a})}catch(A){return this.logger.warn(`failed parsing options string in nesting for key ${s}`,A),`${s}${u}${f}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,s}for(;i=this.nestingRegexp.exec(e);){let s=[];a={...o},a=a.replace&&typeof a.replace!="string"?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const u=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=u.shift(),s=u,c=!0}if(r=n(l.call(this,i[1].trim(),a),a),r&&i[0]===e&&typeof r!="string")return r;typeof r!="string"&&(r=pAe(r)),r||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),r=""),c&&(r=s.reduce((u,d)=>this.format(u,d,o.lng,{...o,interpolationkey:i[1].trim()}),r.trim())),e=e.replace(i[0],r),this.regexp.lastIndex=0}return e}}function ift(t){let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const o=t.split("(");e=o[0].toLowerCase().trim();const i=o[1].substring(0,o[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(!a)return;const[l,...s]=a.split(":"),c=s.join(":").trim().replace(/^'+|'+$/g,"");n[l.trim()]||(n[l.trim()]=c),c==="false"&&(n[l.trim()]=!1),c==="true"&&(n[l.trim()]=!0),isNaN(c)||(n[l.trim()]=parseInt(c,10))})}return{formatName:e,formatOptions:n}}function XS(t){const e={};return function(o,i,r){const a=i+JSON.stringify(r);let l=e[a];return l||(l=t(DV(i),r),e[a]=l),l(o)}}class rft{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=r9.create("formatter"),this.options=e,this.formats={number:XS((n,o)=>{const i=new Intl.NumberFormat(n,{...o});return r=>i.format(r)}),currency:XS((n,o)=>{const i=new Intl.NumberFormat(n,{...o,style:"currency"});return r=>i.format(r)}),datetime:XS((n,o)=>{const i=new Intl.DateTimeFormat(n,{...o});return r=>i.format(r)}),relativetime:XS((n,o)=>{const i=new Intl.RelativeTimeFormat(n,{...o});return r=>i.format(r,o.range||"day")}),list:XS((n,o)=>{const i=new Intl.ListFormat(n,{...o});return r=>i.format(r)})},this.init(e)}init(e){const o=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=o.formatSeparator?o.formatSeparator:o.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=XS(n)}format(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((l,s)=>{const{formatName:c,formatOptions:u}=ift(s);if(this.formats[c]){let d=l;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},p=f.locale||f.lng||i.locale||i.lng||o;d=this.formats[c](l,p,{...u,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${c}`);return l},e)}}function aft(t,e){t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)}class lft extends PK{constructor(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=o,this.languageUtils=o.languageUtils,this.options=i,this.logger=r9.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(o,i.backend,i)}queueLoad(e,n,o,i){const r={},a={},l={},s={};return e.forEach(c=>{let u=!0;n.forEach(d=>{const f=`${c}|${d}`;!o.reload&&this.store.hasResourceBundle(c,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?a[f]===void 0&&(a[f]=!0):(this.state[f]=1,u=!1,a[f]===void 0&&(a[f]=!0),r[f]===void 0&&(r[f]=!0),s[d]===void 0&&(s[d]=!0)))}),u||(l[c]=!0)}),(Object.keys(r).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(r),pending:Object.keys(a),toLoadLanguages:Object.keys(l),toLoadNamespaces:Object.keys(s)}}loaded(e,n,o){const i=e.split("|"),r=i[0],a=i[1];n&&this.emit("failedLoading",r,a,n),o&&this.store.addResourceBundle(r,a,o,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2;const l={};this.queue.forEach(s=>{Odt(s.loaded,[r],a),aft(s,e),n&&s.errors.push(n),s.pendingCount===0&&!s.done&&(Object.keys(s.loaded).forEach(c=>{l[c]||(l[c]={});const u=s.loaded[c];u.length&&u.forEach(d=>{l[c][d]===void 0&&(l[c][d]=!0)})}),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())}),this.emit("loaded",l),this.queue=this.queue.filter(s=>!s.done)}read(e,n,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:o,tried:i,wait:r,callback:a});return}this.readingCalls++;const l=(c,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(c&&u&&i{this.read.call(this,e,n,o,i+1,r*2,a)},r);return}a(c,u)},s=this.backend[o].bind(this.backend);if(s.length===2){try{const c=s(e,n);c&&typeof c.then=="function"?c.then(u=>l(null,u)).catch(l):l(null,c)}catch(c){l(c)}return}return s(e,n,l)}prepareLoading(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof e=="string"&&(e=this.languageUtils.toResolveHierarchy(e)),typeof n=="string"&&(n=[n]);const r=this.queueLoad(e,n,o,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,o){this.prepareLoading(e,n,{},o)}reload(e,n,o){this.prepareLoading(e,n,{reload:!0},o)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const o=e.split("|"),i=o[0],r=o[1];this.read(i,r,"read",void 0,void 0,(a,l)=>{a&&this.logger.warn(`${n}loading namespace ${r} for language ${i} failed`,a),!a&&l&&this.logger.log(`${n}loaded namespace ${r} for language ${i}`,l),this.loaded(e,a,l)})}saveMissing(e,n,o,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${o}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(o==null||o==="")){if(this.backend&&this.backend.create){const s={...a,isUpdate:r},c=this.backend.create.bind(this.backend);if(c.length<6)try{let u;c.length===5?u=c(e,n,o,i,s):u=c(e,n,o,i),u&&typeof u.then=="function"?u.then(d=>l(null,d)).catch(l):l(null,u)}catch(u){l(u)}else c(e,n,o,i,l,s)}!e||!e[0]||this.store.addResource(e[0],n,o,i)}}}function xAe(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let n={};if(typeof e[1]=="object"&&(n=e[1]),typeof e[1]=="string"&&(n.defaultValue=e[1]),typeof e[2]=="string"&&(n.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const o=e[3]||e[2];Object.keys(o).forEach(i=>{n[i]=o[i]})}return n},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function bAe(t){return typeof t.ns=="string"&&(t.ns=[t.ns]),typeof t.fallbackLng=="string"&&(t.fallbackLng=[t.fallbackLng]),typeof t.fallbackNS=="string"&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&t.supportedLngs.indexOf("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t}function KB(){}function sft(t){Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})}class ak extends PK{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=bAe(e),this.services={},this.logger=r9,this.modules={external:[]},sft(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(o=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=xAe();this.options={...i,...this.options,...bAe(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function r(u){return u?typeof u=="function"?new u:u:null}if(!this.options.isClone){this.modules.logger?r9.init(r(this.modules.logger),this.options):r9.init(null,this.options);let u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=rft);const d=new AAe(this.options);this.store=new mAe(this.options.resources,this.options);const f=this.services;f.logger=r9,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new nft(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=r(u),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new oft(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new lft(r(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(p){for(var g=arguments.length,A=new Array(g>1?g-1:0),w=1;w1?g-1:0),w=1;w{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,o||(o=KB),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.length>0&&u[0]!=="dev"&&(this.options.lng=u[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(u=>{this[u]=function(){return e.store[u](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(u=>{this[u]=function(){return e.store[u](...arguments),e}});const s=ez(),c=()=>{const u=(d,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(f),o(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return u(null,this.t.bind(this));this.changeLanguage(this.options.lng,u)};return this.options.resources||!this.options.initImmediate?c():setTimeout(c,0),s}loadResources(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:KB;const i=typeof e=="string"?e:this.language;if(typeof e=="function"&&(o=e),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return o();const r=[],a=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(c=>{c!=="cimode"&&r.indexOf(c)<0&&r.push(c)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(s=>a(s)),this.options.preload&&this.options.preload.forEach(l=>a(l)),this.services.backendConnector.load(r,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),o(l)})}else o(null)}reloadResources(e,n,o){const i=ez();return e||(e=this.languages),n||(n=this.options.ns),o||(o=KB),this.services.backendConnector.reload(e,n,r=>{i.resolve(),o(r)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&lLe.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(o)){this.resolvedLanguage=o;break}}}changeLanguage(e,n){var o=this;this.isLanguageChangingTo=e;const i=ez();this.emit("languageChanging",e);const r=s=>{this.language=s,this.languages=this.services.languageUtils.toResolveHierarchy(s),this.resolvedLanguage=void 0,this.setResolvedLanguage(s)},a=(s,c)=>{c?(r(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,i.resolve(function(){return o.t(...arguments)}),n&&n(s,function(){return o.t(...arguments)})},l=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);const c=typeof s=="string"?s:this.services.languageUtils.getBestMatchFromCodes(s);c&&(this.language||r(c),this.translator.language||this.translator.changeLanguage(c),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(c)),this.loadResources(c,u=>{a(u,c)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e),i}getFixedT(e,n,o){var i=this;const r=function(a,l){let s;if(typeof l!="object"){for(var c=arguments.length,u=new Array(c>2?c-2:0),d=2;d`${s.keyPrefix}${f}${g}`):p=s.keyPrefix?`${s.keyPrefix}${f}${a}`:a,i.t(p,s)};return typeof e=="string"?r.lng=e:r.lngs=e,r.ns=n,r.keyPrefix=o,r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const o=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,r=this.languages[this.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const a=(l,s)=>{const c=this.services.backendConnector.state[`${l}|${s}`];return c===-1||c===2};if(n.precheck){const l=n.precheck(this,a);if(l!==void 0)return l}return!!(this.hasResourceBundle(o,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(o,e)&&(!i||a(r,e)))}loadNamespaces(e,n){const o=ez();return this.options.ns?(typeof e=="string"&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{o.resolve(),n&&n(i)}),o):(n&&n(),Promise.resolve())}loadLanguages(e,n){const o=ez();typeof e=="string"&&(e=[e]);const i=this.options.preload||[],r=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return r.length?(this.options.preload=i.concat(r),this.loadResources(a=>{o.resolve(),n&&n(a)}),o):(n&&n(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],o=this.services&&this.services.languageUtils||new AAe(xAe());return n.indexOf(o.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new ak(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:KB;const o=e.forkResourceStore;o&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},r=new ak(i);return(e.debug!==void 0||e.prefix!==void 0)&&(r.logger=r.logger.clone(e)),["store","services","language"].forEach(l=>{r[l]=this[l]}),r.services={...this.services},r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},o&&(r.store=new mAe(this.store.data,i),r.services.resourceStore=r.store),r.translator=new EV(r.services,i),r.translator.on("*",function(l){for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u()=>{if(t.isInitialized)e();else{const n=()=>{setTimeout(()=>{t.off("initialized",n)},0),e()};t.on("initialized",n)}};function TAe(t,e,n){t.loadNamespaces(e,sLe(t,n))}function PAe(t,e,n,o){typeof n=="string"&&(n=[n]),n.forEach(i=>{t.options.ns.indexOf(i)<0&&t.options.ns.push(i)}),t.loadLanguages(e,sLe(t,o))}function uft(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=e.languages[0],i=e.options?e.options.fallbackLng:!1,r=e.languages[e.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const a=(l,s)=>{const c=e.services.backendConnector.state[`${l}|${s}`];return c===-1||c===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!a(e.isLanguageChangingTo,t)?!1:!!(e.hasResourceBundle(o,t)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||a(o,t)&&(!i||a(r,t)))}function dft(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!e.languages||!e.languages.length?(ase("i18n.languages were undefined or empty",e.languages),!0):e.options.ignoreJSONStructure!==void 0?e.hasLoadedNamespace(t,{lng:n.lng,precheck:(i,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!r(i.isLanguageChangingTo,t))return!1}}):uft(t,e,n)}const fft=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,hft={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},pft=t=>hft[t],gft=t=>t.replace(fft,pft);let lse={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:gft};function mft(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};lse={...lse,...t}}function yft(){return lse}let cLe;function Aft(t){cLe=t}function wft(){return cLe}const vft={type:"3rdParty",init(t){mft(t.options.react),Aft(t)}},xft=m.createContext();class bft{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Sft=(t,e)=>{const n=m.useRef();return m.useEffect(()=>{n.current=t},[t,e]),n.current};function jl(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=e,{i18n:o,defaultNS:i}=m.useContext(xft)||{},r=n||o||wft();if(r&&!r.reportNamespaces&&(r.reportNamespaces=new bft),!r){ase("You will need to pass in an i18next instance by using initReactI18next");const P=(T,y)=>typeof y=="string"?y:y&&typeof y=="object"&&typeof y.defaultValue=="string"?y.defaultValue:Array.isArray(T)?T[T.length-1]:T,v=[P,{},!1];return v.t=P,v.i18n={},v.ready=!1,v}r.options.react&&r.options.react.wait!==void 0&&ase("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...yft(),...r.options.react,...e},{useSuspense:l,keyPrefix:s}=a;let c=i||r.options&&r.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],r.reportNamespaces.addUsedNamespaces&&r.reportNamespaces.addUsedNamespaces(c);const u=(r.isInitialized||r.initializedStoreOnce)&&c.every(P=>dft(P,r,a));function d(){return r.getFixedT(e.lng||null,a.nsMode==="fallback"?c:c[0],s)}const[f,p]=m.useState(d);let g=c.join();e.lng&&(g=`${e.lng}${g}`);const A=Sft(g),w=m.useRef(!0);m.useEffect(()=>{const{bindI18n:P,bindI18nStore:v}=a;w.current=!0,!u&&!l&&(e.lng?PAe(r,e.lng,c,()=>{w.current&&p(d)}):TAe(r,c,()=>{w.current&&p(d)})),u&&A&&A!==g&&w.current&&p(d);function T(){w.current&&p(d)}return P&&r&&r.on(P,T),v&&r&&r.store.on(v,T),()=>{w.current=!1,P&&r&&P.split(" ").forEach(y=>r.off(y,T)),v&&r&&v.split(" ").forEach(y=>r.store.off(y,T))}},[r,g]);const b=m.useRef(!0);m.useEffect(()=>{w.current&&!b.current&&p(d),b.current=!1},[r,s]);const C=[f,r,u];if(C.t=f,C.i18n=r,C.ready=u,u||!u&&!l)return C;throw new Promise(P=>{e.lng?PAe(r,e.lng,c,()=>P()):TAe(r,c,()=>P())})}function Tft(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lk(t){"@babel/helpers - typeof";return lk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lk(t)}function Pft(t,e){if(lk(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(lk(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Cft(t){var e=Pft(t,"string");return lk(e)==="symbol"?e:String(e)}function Rft(t,e){for(var n=0;n0){var l=i.maxAge-0;if(Number.isNaN(l))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(l))}if(i.domain){if(!CAe.test(i.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(i.domain)}if(i.path){if(!CAe.test(i.path))throw new TypeError("option path is invalid");a+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(a+="; HttpOnly"),i.secure&&(a+="; Secure"),i.sameSite){var s=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(s){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},RAe={create:function(e,n,o,i){var r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};o&&(r.expires=new Date,r.expires.setTime(r.expires.getTime()+o*60*1e3)),i&&(r.domain=i),document.cookie=Dft(e,encodeURIComponent(n),r)},read:function(e){for(var n="".concat(e,"="),o=document.cookie.split(";"),i=0;i-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=o.substring(1),r=i.split("&"),a=0;a0){var s=r[a].substring(0,l);s===e.lookupQuerystring&&(n=r[a].substring(l+1))}}}return n}},tz=null,HAe=function(){if(tz!==null)return tz;try{tz=window!=="undefined"&&window.localStorage!==null;var e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{tz=!1}return tz},Fft={name:"localStorage",lookup:function(e){var n;if(e.lookupLocalStorage&&HAe()){var o=window.localStorage.getItem(e.lookupLocalStorage);o&&(n=o)}return n},cacheUserLanguage:function(e,n){n.lookupLocalStorage&&HAe()&&window.localStorage.setItem(n.lookupLocalStorage,e)}},nz=null,MAe=function(){if(nz!==null)return nz;try{nz=window!=="undefined"&&window.sessionStorage!==null;var e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{nz=!1}return nz},Lft={name:"sessionStorage",lookup:function(e){var n;if(e.lookupSessionStorage&&MAe()){var o=window.sessionStorage.getItem(e.lookupSessionStorage);o&&(n=o)}return n},cacheUserLanguage:function(e,n){n.lookupSessionStorage&&MAe()&&window.sessionStorage.setItem(n.lookupSessionStorage,e)}},Wft={name:"navigator",lookup:function(e){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var o=0;o0?n:void 0}},Nft={name:"htmlTag",lookup:function(e){var n,o=e.htmlTag||(typeof document<"u"?document.documentElement:null);return o&&typeof o.getAttribute=="function"&&(n=o.getAttribute("lang")),n}},Uft={name:"path",lookup:function(e){var n;if(typeof window<"u"){var o=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(o instanceof Array)if(typeof e.lookupFromPathIndex=="number"){if(typeof o[e.lookupFromPathIndex]!="string")return;n=o[e.lookupFromPathIndex].replace("/","")}else n=o[0].replace("/","")}return n}},Bft={name:"subdomain",lookup:function(e){var n=typeof e.lookupFromSubdomainIndex=="number"?e.lookupFromSubdomainIndex+1:1,o=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(o)return o[n]}};function jft(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:function(e){return e}}}var dLe=function(){function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Tft(this,t),this.type="languageDetector",this.detectors={},this.init(e,n)}return Hft(t,[{key:"init",value:function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n||{languageUtils:{}},this.options=zft(o,this.options||{},jft()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=function(r){return r.replace("-","_")}),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(Eft),this.addDetector(kft),this.addDetector(Fft),this.addDetector(Lft),this.addDetector(Wft),this.addDetector(Nft),this.addDetector(Uft),this.addDetector(Bft)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var o=this;n||(n=this.options.order);var i=[];return n.forEach(function(r){if(o.detectors[r]){var a=o.detectors[r].lookup(o.options);a&&typeof a=="string"&&(a=[a]),a&&(i=i.concat(a))}}),i=i.map(function(r){return o.options.convertDetectedLanguage(r)}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,o){var i=this;o||(o=this.options.caches),o&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||o.forEach(function(r){i.detectors[r]&&i.detectors[r].cacheUserLanguage(n,i.options)}))}}]),t}();dLe.type="languageDetector";const Yft={translation:{name:{IFI:"Institute for Future Intelligence",Aladdin:"Aladdin",Tagline:"Aladdin: Reimagining Design with Explainable AI — Institute for Future Intelligence"},cookie:{Statement:"By clicking Accept, you agree to our use of cookies to improve your experience with Aladdin.",Accept:"Accept"},aboutUs:{ProductBroughtToYouBy:"This product is brought to you by",TermsOfService:"Terms of Service",PrivacyPolicy:"Privacy Policy",Software:"Software",Content:"Content",Research:"Research",Support:"Support",Acknowledgment:"Acknowledgment",FundingInformation:"The National Science Foundation (NSF) generously provided funding for the research and development of this product through grants #2105695, #2131097, and #2301164. Any opinions, findings, and conclusions or recommendations expressed in this product, however, are those of the authors and do not necessarily reflect the views of NSF.",Contact:"For more information, please contact Charles Xie (charles@intofuture.org).",Translators:"Translators"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"All Rights Reserved",MeterAbbreviation:"m",Version:"Version",VersionInitial:"V",Options:"Options",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Maximum Number",MinimumNumber:"Minimum Number",MaximumValue:"Maximum Value",MinimumValue:"Minimum Value",Or:"Or",None:"None",High:"High",Partial:"Partial",Teacher:"Teacher",Class:"Class",Total:"Total",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Range",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. +AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Press",Open:"Open",Save:"Save",SaveAsImage:"Save as Image",SaveAsCsv:"Save as CSV",Update:"Update",Paste:"Paste",Copy:"Copy",Cut:"Cut",Delete:"Delete",Lock:"Lock",Translucent:"Translucent",Color:"Color",Pattern:"Pattern",Texture:"Texture",Size:"Size",Thickness:"Thickness",Yes:"Yes",No:"No",OK:"OK",Cancel:"Cancel",Apply:"Apply",Close:"Close",ApplyTo:"Apply to",Run:"Run",Pause:"Pause",Resume:"Resume",Clear:"Clear",Warning:"Warning",Caution:"Caution",Reminder:"Reminder",Length:"Length",Width:"Width",Height:"Height",Radius:"Radius",Angle:"Angle",Azimuth:"Azimuth",Coordinates:"Coordinates",Weather:"Weather",Show:"Show",Animate:"Animate",Date:"Date",Time:"Time",Title:"Title",Owner:"Owner",Action:"Action",Rename:"Rename",Location:"Location",Latitude:"Latitude",Month:"Month",Day:"Day",Hour:"Hour",Daylight:"Daylight",Radiation:"Radiation",Temperature:"Temperature",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"W",Fixed:"Fixed",Elements:"Elements",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"No Texture",FoundationElement:"Foundation",CuboidElement:"Cuboid",PolygonElement:"Polygon",SensorElement:"Sensor",SolarPanelElement:"Solar Panel",WaterHeaterElement:"Water Heater",ParabolicDishElement:"Parabolic Dish",ParabolicTroughElement:"Parabolic Trough",FresnelReflectorElement:"Fresnel Reflector",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Locked",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Cannot sign in",CannotSignOut:"Cannot sign out",YourAccountWasCreated:"Your account was created.",CannotCreateAccount:"Cannot create an account",YourAccountSettingsWereSaved:"Your account settings were saved.",CannotSaveYourAccountSettings:"Cannot save your account settings",CannotSaveYourFileToCloud:"Cannot save your file to the cloud",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"The cloud file was not found",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Cannot open the cloud file",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Cannot open your cloud folder",CannotDeleteCloudFile:"Cannot delete the cloud file",CannotRenameCloudFile:"Cannot rename the cloud file",DoYouWantToSaveChanges:"Do you want to save changes?",NotApplicableToSelectedAction:"Not Applicable to Selected Action",ThisElementIsLocked:"This element is locked.",ThisCannotBeUndone:"This cannot be undone.",AzimuthOfNorthIsZero:"Azimuth of north is 0°",CounterclockwiseAzimuthIsPositive:"Counter-clockwise is positive",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Move cancelled because of overlap.",MoveOutsideBoundaryCancelled:"Move outside the boundary cancelled.",RotationCancelledBecauseOfOverlap:"Rotation cancelled because of overlap.",RotationOutsideBoundaryCancelled:"Rotation outside the boundary cancelled.",ResizingCancelledBecauseOfOverlap:"Resizing cancelled because of overlap.",ResizingOutsideBoundaryCancelled:"Resizing outside the boundary cancelled.",CannotPasteOutsideBoundary:"Cannot paste outside the boundary.",CannotPasteBecauseOfOverlap:"Cannot paste because of overlap.",CannotMoveObjectTooFar:"Cannot move object too far.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Existing solar panels will be removed before applying the new layout.",DoYouWantToContinue:"Do you want to continue?",SolarPanelsCannotIntersectWithGround:"Solar panels cannot intersect with the ground.",SolarPanelsCannotOverlapWithOneAnother:"Solar panels cannot overlap with one another.",ScreenshotSaved:"A screenshot was saved.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simulation started.",SimulationCompleted:"Simulation completed.",SimulationAborted:"Simulation aborted.",SimulationPaused:"Simulation paused.",CancelSimulation:"Cancel simulation",PauseSimulation:"Pause simulation",ResumeSimulation:"Resume simulation",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evolution started.",EvolutionCompleted:"Evolution completed.",EvolutionAborted:"Evolution aborted.",EvolutionPaused:"Evolution paused.",EncounterEvolutionError:"Encountered an evolution error.",CancelEvolution:"Cancel evolution",PauseEvolution:"Pause evolution",ResumeEvolution:"Resume evolution",ConvergenceThresholdHasBeenReached:"The convergence threshold has been reached.",MaximumNumberOfGenerationsHasBeenReached:"The maximum number of generations has been reached.",MaximumNumberOfStepsHasBeenReached:"The maximum number of steps has been reached.",ObjectiveFunctionTypeError:"The current objective function is not supported by this operation. Please start from the menu.",WallsAreNotAtSameHeight:"Walls are not at the same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analysis Options",option:{GridCellSize:"Grid Cell Size",SamplingFrequency:"Sampling Frequency",TimesPerHour:"Times per Hour",DaysPerYear:"Days per Year"},mainMenu:"Main Menu",cloudMenu:"Cloud Menu",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"File",file:{CreateNewFile:"Create New File",OpenLocalFile:"Open Local File",SaveAsLocalFile:"Save as Local File",SavingAbortedMustHaveValidFileName:"Saving aborted! You must have a valid file name",OpenCloudFile:"Open Cloud File",SaveCloudFile:"Save Cloud File",SaveAsCloudFile:"Save as Cloud File",SavingAbortedMustHaveValidTitle:"Saving aborted! You must have a valid title for a cloud file",ToSaveYourWorkPleaseSignIn:"To save your work, please sign in.",TakeScreenshot:"Take Screenshot",UseCloudFileName:"Use Cloud File Name",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Edit",edit:{Undo:"Undo",Redo:"Redo"},viewSubMenu:"View",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D View",ResetView:"Reset",ZoomIn:"Zoom In",ZoomOut:"Zoom Out",AutoRotate:"Auto Rotate",ShowShadow:"Show Shadow",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Translucent Floating Windows",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Site Information",DesignInformation:"Design Information",Instruction:"Instruction",StickyNote:"Sticky Note",Note:"Note"}},settingsSubMenu:"Settings",settings:{WeatherData:"Weather Data",DiurnalTemperature:"Diurnal Temperature",Heliodon:"Heliodon",SunAndTime:"Sun & Time"},benchmarksSubMenu:"Benchmarks",benchmarks:{SolarRadiationPredictionVsMeasurement:"Solar Radiation Prediction vs. Measurement",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Line Width",SymbolSize:"Symbol Size",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Show Horizontal Grid Lines",ShowVerticalGridLines:"Show Vertical Grid Lines"},analysisSubMenu:"Analysis",physicsSubMenu:"Physics",physics:{DailySolarRadiationHeatmap:"Daily Solar Radiation Heatmap",SolarRadiationHeatmapOptions:"Solar Radiation Heatmap Options",SolarRadiationHeatmapGridCellSize:"Solar Radiation Heatmap Grid Cell Size",SolarRadiationHeatmapMaxValue:"Solar Radiation Heatmap Maximum Value",SolarRadiationHeatmapNoAnimation:"No Animation for Static Model",ReflectionHeatmap:"Reflection Heatmap"},sensorSubMenu:"Sensor",sensor:{CollectDailyData:"Collect Daily Data",CollectYearlyData:"Collect Yearly Data",SensorSimulationNoAnimation:"No Animation for Collecting Sensor Data"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Solar Panel",solarPanel:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",AnalyzeVisibility:"Analyze Visibility",PanelDiscretization:"Panel Discretization",Exact:"Exact",Approximate:"Approximate",EnergyGridCellSize:"Energy Grid Cell Size",VisibilityGridCellSize:"View Factor Grid Cell Size",EnergyAnalysisOptions:"Energy Analysis Options",VisibilityAnalysisOptions:"Visibility Analysis Options",SolarPanelSimulationNoAnimation:"No Animation for Solar Panel Simulation"},parabolicTroughSubMenu:"Parabolic Trough",parabolicTrough:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},parabolicDishSubMenu:"Parabolic Dish",parabolicDish:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},fresnelReflectorSubMenu:"Fresnel Reflector",fresnelReflector:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},solarUpdraftTowerSubMenu:"Solar Updraft Tower",solarUpdraftTower:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",SolarUpdraftTowerSimulationNoAnimation:"No Animation for Solar Updraft Tower Simulation"},tutorialsSubMenu:"Tutorials",solarEnergyScienceSubMenu:"Solar Science",solarEnergyScienceTutorials:{SunAngles:"Sun Angles Relative to an Observer on the Ground",InsolationAndClimate:"Insolation and Climate",SolarRadiationToBox:"Solar Radiation to a Box"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Building Design",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Cape Cod Style House with Shed Dormer",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Gable Roof vs. Hip Roof",ColonialVsSaltbox:"Colonial vs. Saltbox",GambrelRoofVsMansardRoof:"Gambrel Roof vs. Mansard Roof",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"All Basic Roof Types"},photovoltaicSolarPowerSubMenu:"Photovoltaic Solar Power",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Effect of Tilt Angle of a Solar Panel",EffectOfAzimuthOfSolarPanel:"Effect of Azimuth of a Solar Panel",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Solar Trackers",CoveringGroundWithSolarPanels:"Why Just Covering the Ground with Solar Panels is not a Good Idea",InterRowSpacingOfSolarPanelArray:"Effect of Inter-Row Spacing in a Solar Panel Array",EffectOfOrientationOfSolarPanels:"Effect of Orientation of Solar Panels",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Concentrated Solar Power",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Effect of Azimuth of a Parabolic Trough",EffectOfLatusRectumOfParabolicTrough:"Effect of Latus Rectum of a Parabolic Trough",FocusSunlightWithParabolicDish:"Focus Sunlight with a Parabolic Dish",LinearFresnelReflectors:"Linear Fresnel Reflectors",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Effect of Absorber Pipe Height for Linear Fresnel Reflectors",EffectOfAzimuthOfLinearFresnelReflectors:"Effect of Azimuth of Linear Fresnel Reflectors",LinearFresnelReflectorsWithTwoAbsorbers:"Linear Fresnel Reflectors with Two Absorbers",CosineEfficiencyOfHeliostats:"Cosine Efficiency of Heliostats",ShadowingAndBlockingOfHeliostats:"Shadowing and Blocking of Heliostats",EffectSolarPowerTowerHeight:"Effect of Solar Power Tower Height",SolarPowerTower:"Solar Power Tower"},otherTypesOfSolarPowerSubMenu:"Other Types of Solar Power",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Tower"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Examples",solarEnergySubMenu:"Solar Energy",solarEnergyExamples:{SunBeamAndHeliodon:"Sun Beam and Heliodon",RooftopSolarPanels:"Rooftop Solar Panels",NevadaSolarOneParabolicTroughArray:"Nevada Solar One Parabolic Trough Array",TooeleParabolicDishArray:"Tooele Parabolic Dish Array",PS10SolarPowerTower:"PS10 Solar Power Tower",TucsonLinearFresnelReflectors:"Tucson Linear Fresnel Reflectors",SolarCanopyFormFactors:"Solar Canopy Form Factors",SolarCanopyOverBleachers:"Solar Canopy Over Bleachers",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Bus Stop",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Vegetative Buffer",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Hypothetical Solar Panels Over Canal in Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Hypothetical Solar Noise Barrier in Lexington, MA",HSATSolarTrackersRaleighNC:"Horizontal Single Axis Trackers (HSAT) in Raleigh, NC",AADATSolarTrackersLancasterCA:"Azimuth–Altitude Dual Axis Trackers (AADAT) in Lancaster, CA",SolarUpdraftTowerInCity:"Solar Updraft Tower in City"},builtEnvironmentSubMenu:"Built Environment",residentialBuildingsSubMenu:"Residential Buildings",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Dutch Colonial House",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solarium",Church1:"Church 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Barn Style House",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Commercial Buildings",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"BILIM, Mersin, Turkiye",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Office Building",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, VT",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Urban Planning",urbanPlanningExamples:{Heatmap1:"Heatmap"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Greenhouse",Pavilion:"Pavilion in a Park",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Artificial Intelligence",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Optimizing the Tilt Angle of a Solar Panel Row",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Optimizing the Tilt Angles of Multiple Solar Panel Rows",SolarFarmGenerativeDesign:"Solar Farm Generative Design",SolarFarmGenerativeDesignWithBlock:"Solar Farm Generative Design in the Presence of a Block",FitchburgSolarFarmGenerativeDesign:"Fitchburg Solar Farm Generative Design"},languageSubMenu:"Language",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"About Us"},avatarMenu:{AccountSettings:"Account Settings",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"When you sign in, your Google ID is used to create and access your Aladdin account. Only a random alphanumeric string is stored in our database as a reference. No personally identifiable data such as your name or email is ever gathered. For more information, see our ",SignIn:"Sign In",SignOut:"Sign Out",IfYouAreAStudent:"If you are a student"},skyMenu:{Axes:"Axes",Theme:"Theme",ThemeDefault:"Default",ThemeDesert:"Desert",ThemeDune:"Dune",ThemeForest:"Forest",ThemeGrassland:"Grassland",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Sunlight Attenuation Coefficient in Air",ConvectiveCoefficientOfAir:"Convective Coefficient of Air",HighestTemperatureTimeInMinutes:"Highest Temperature Time (Minutes)",SelectSunAnglesToShow:"Select Sun Angles to Show",ShowAzimuthAngle:"Show Azimuth Angle",ShowElevationAngle:"Show Elevation Angle",ShowZenithAngle:"Show Zenith Angle",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Image on Ground",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Remove All Unlocked Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Remove All Unlocked People",RemoveAllUnlockedFoundations:"Remove All Unlocked Foundations",RemoveAllUnlockedCuboids:"Remove All Unlocked Cuboids",DoYouReallyWantToRemoveAllPeople:"Do you really want to remove all the people who are not locked",DoYouReallyWantToRemoveAllTrees:"Do you really want to remove all the trees that are not locked",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Do you really want to remove all the foundations that are not locked",DoYouReallyWantToRemoveAllCuboids:"Do you really want to remove all the cuboids that are not locked",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Label",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Keep Showing Label"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedParabolicTroughs:"Remove All Unlocked Parabolic Troughs",RemoveAllUnlockedParabolicDishes:"Remove All Unlocked Parabolic Dishes",RemoveAllUnlockedFresnelReflectors:"Remove All Unlocked Fresnel Reflectors",RemoveAllUnlockedHeliostats:"Remove All Unlocked Heliostats",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Remove All Unlocked Walls",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Remove All Unlocked Polygons",RemoveAllUnlockedHumans:"Remove All Unlocked Humans",RemoveAllUnlockedTrees:"Remove All Unlocked Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Racks",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",SolarPanels:"Solar Panels",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Do you really want to remove all the solar panels on this foundation that are not locked",ParabolicTroughs:"Parabolic Troughs",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Do you really want to remove all the parabolic troughs on this foundation that are not locked",ParabolicDishes:"Parabolic Dishes",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Do you really want to remove all the parabolic dishes on this foundation that are not locked",FresnelReflectors:"Fresnel Reflectors",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Do you really want to remove all the Fresnel reflectors on this foundation that are not locked",Heliostats:"Heliostats",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Do you really want to remove all the heliostats on this foundation that are not locked",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensors",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Do you really want to remove all the sensors on this foundation that are not locked",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Walls",DoYouReallyWantToRemoveAllWallsOnFoundation:"Do you really want to remove all the walls on this foundation that are not locked",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Polygons",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Do you really want to remove all the polygons on this foundation that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnFoundation:"Do you really want to remove all the humans on this foundation who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnFoundation:"Do you really want to remove all the trees on this foundation that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Only This Foundation",AllConnectedFoundations:"All Connected Foundations",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"All Foundations",AddPolygon:"Add Polygon",SolarStructure:"Solar Structure",GroupMaster:"Group Master",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Receiver Tower for Heliostats",ReceiverTowerPhysicalProperties:"Physical Properties of Receiver Tower",ReceiverTowerHeight:"Height of Receiver Tower",ReceiverTowerRadius:"Radius of Receiver Tower",ReceiverAbsorptance:"Absorptance of Receiver",ReceiverOpticalEfficiency:"Optical Efficiency of Receiver",ReceiverThermalEfficiency:"Thermal Efficiency of Receiver"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Absorber Pipe for Fresnel Reflectors",AbsorberPipePhysicalProperties:"Physical Properties of Absorber Pipe",AbsorberHeight:"Height of Absorber Pipe",AbsorberApertureWidth:"Aperture Width of Absorber Pipe",AbsorberPipePoleNumber:"Pole Number for Absorber Pipe",AbsorberAbsorptance:"Absorptance of Absorber",AbsorberOpticalEfficiency:"Optical Efficiency of Absorber",AbsorberThermalEfficiency:"Thermal Efficiency of Absorber"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Tower",SolarUpdraftTowerPhysicalProperties:"Physical Properties of Solar Updraft Tower",SolarUpdraftTowerChimneyHeight:"Solar Updraft Tower Chimney Height",SolarUpdraftTowerChimneyRadius:"Solar Updraft Tower Chimney Radius",SolarUpdraftTowerCollectorHeight:"Solar Updraft Tower Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Tower Collector Radius",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Tower Collector Transmissivity",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Tower Collector Emissivity",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Tower Discharge Coefficient",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Tower Turbine Efficiency"},cuboidMenu:{Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",RemoveAllUnlockedPolygons:"Remove All Unlocked Polygons",RemoveAllUnlockedHumans:"Remove All Unlocked Humans",RemoveAllUnlockedTrees:"Remove All Unlocked Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Racks",SolarPanels:"Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Do you really want to remove all the solar panels on this cuboid that are not locked",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",Sensors:"Sensors",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Do you really want to remove all the sensors on this cuboid that are not locked",Polygons:"Polygons",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Do you really want to remove all the polygons on this cuboid that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnCuboid:"Do you really want to remove all the humans on this cuboid who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnCuboid:"Do you really want to remove all the trees on this cuboid that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Only This Cuboid",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids Above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"All Cuboids",OnlyThisSide:"Only This Side",AllSidesOfThisCuboid:"All Sides of This Cuboid",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"All Sides of All Cuboids",AddPolygon:"Add Polygon",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Filled",FillTexture:"Fill Texture",FillColor:"Fill Color",Opacity:"Opacity",LineColor:"Line Color",LineWidth:"Line Width",LineStyle:"Line Style",SolidLine:"Solid Line",DashedLine:"Dashed Line",DottedLine:"Dotted Line",InsertVertexBeforeIndex:"Insert Vertex Before Index",InsertVertexAfterIndex:"Insert Vertex After Index",DeleteVertex:"Delete Vertex",OnlyThisPolygon:"Only This Polygon",AllPolygonsOnSurface:"All Polygons on the Same Surface",AllPolygonsAboveFoundation:"All Polygons Above Foundation",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"All Polygons",Layout:"Layout",SolarPanelArrayLayout:"Solar Panel Array Layout",SolarPanelArrayLayoutParametricDesign:"Solar Panel Array Layout: Parametric Design",SolarPanelArrayLayoutGenerativeDesign:"Solar Panel Array Layout: Generative Design",SolarPanelArrayModel:"Solar Panel Model",SolarPanelArrayOrientation:"Orientation",SolarPanelArrayTiltAngle:"Tilt Angle",SolarPanelArrayRowWidth:"Row Width",SolarPanelArrayInterRowSpacing:"Inter-Row Spacing",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Row Axis",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"East-West (Absolute)",SolarPanelArrayNorthSouthRowAxis:"North-South (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Pole Height",SolarPanelArrayPoleSpacing:"Pole Spacing",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"This layout is not accepted. Please check your parameters."},optimizationMenu:{Optimization:"Optimization",Parameters:"Parameters",Variables:"Variables",Constants:"Constants",GeneticAlgorithm:"Genetic Algorithm",GeneticAlgorithmSettings:"Genetic Algorithm Settings",ParticleSwarmOptimization:"Particle Swarm Optimization",ParticleSwarmOptimizationSettings:"Particle Swarm Optimization Settings",SolarPanelTiltAngleOptimization:"Solar Panel Tilt Angle Optimization",SolarPanelArrayLayout:"Solar Panel Array Layout",Generation:"Generation",Gene:"Gene",NormalizedVariables:"Normalized Variables",Objective:"Objective",ObjectiveFunctionDailyTotalYield:"Daily Total Yield",ObjectiveFunctionYearlyTotalYield:"Yearly Total Yield",ObjectiveFunctionDailyMeanYield:"Daily Mean Yield",ObjectiveFunctionYearlyMeanYield:"Yearly Mean Yield",ObjectiveFunctionDailyProfit:"Daily Profit",ObjectiveFunctionYearlyProfit:"Yearly Profit",GeneticAlgorithmSelectionMethod:"Genetic Algorithm Selection Method",RouletteWheel:"Roulette Wheel",Tournament:"Tournament",SearchMethod:"Search Method",GlobalSearchUniformSelection:"Global Search Uniform Selection",LocalSearchRandomOptimization:"Local Search Random Optimization",PopulationSize:"Population Size",MaximumGenerations:"Maximum Generations",SelectionRate:"Selection Rate",CrossoverRate:"Crossover Rate",MutationRate:"Mutation Rate",Step:"Step",SwarmSize:"Swarm Size",MaximumSteps:"Maximum Steps",MaximumVelocity:"Maximum Velocity",InertiaWeight:"Inertia Weight",CognitiveCoefficient:"Cognitive Coefficient",SocialCoefficient:"Social Coefficient",ConvergenceThreshold:"Convergence Threshold for Termination",LocalSearchRadius:"Local Search Radius",RowsPerRackRange:"Range for Rows per Rack",TiltAngleRange:"Range for Tilt Angle",InterRowSpacingRange:"Range for Inter-Row Spacing",ClickTargetPolygonToActivate:"Click Target Polygon to Activate",ClickTargetFoundationToActivate:"Click Target Foundation to Activate"},treeMenu:{ShowModel:"Show Model",Flip:"Flip",Type:"Type",Spread:"Spread"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Change Person",Flip:"Flip",Observer:"Observer",ViewFromThisPerson:"View from This Person"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Relative Azimuth",Pole:"Pole",PoleHeight:"Pole Height",PoleRadius:"Pole Radius",ExtraPoleHeight:"Extra Pole Height",ExtraPoleHeightInAdditionToHalfWidth:"Extra Pole Height in Addition to Half Width",DrawSunBeam:"Draw Sun Beam"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflector Reflectance",ReceiverAbsorptance:"Receiver Absorptance",ReflectorOpticalEfficiency:"Reflector Optical Efficiency",ReceiverThermalEfficiency:"Receiver Thermal Efficiency"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Change PV Model",Orientation:"Orientation",Portrait:"Portrait",Landscape:"Landscape",FrameColor:"Frame Color",Panels:"panels",PanelsWide:"panels wide",PanelsLong:"panels long",TiltAngle:"Tilt Angle",SouthFacingIsPositive:"South facing is positive",Tracker:"Tracker",SolarTrackerFollowsSun:"A tracker follows the sun to increase solar panel outputs.",PoleSpacing:"Pole Spacing",NoTracker:"No Tracker",HorizontalSingleAxisTracker:"Horizontal Single Axis Tracker",VerticalSingleAxisTracker:"Vertical Single Axis Tracker",AltazimuthDualAxisTracker:"Altazimuth Dual Axis Tracker",OnlyThisSolarPanel:"Only This Solar Panel",AllSolarPanelsOnSurface:"All Solar Panels on the Same Surface",AllSolarPanelsAboveFoundation:"All Solar Panels Above the Same Foundation",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"All Solar Panels"},pvModelPanel:{SolarPanelSpecs:"Solar Panel Specs",Model:"Model",PanelSize:"Panel Size",Cells:"Cells",CellType:"Cell Type",Monocrystalline:"Monocrystalline",Polycrystalline:"Polycrystalline",ThinFilm:"Thin Film",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Black",Blue:"Blue",ShadeTolerance:"Shade Tolerance",SolarCellEfficiency:"Solar Cell Efficiency",NominalOperatingCellTemperature:"Nominal Operating Cell Temperature",TemperatureCoefficientOfPmax:"Temperature Coefficient of Pmax"},parabolicTroughMenu:{ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",LatusRectum:"Latus Rectum",OnlyThisParabolicTrough:"Only This Parabolic Trough",AllParabolicTroughsAboveFoundation:"All Parabolic Troughs Above the Same Foundation",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"All Parabolic Troughs"},fresnelReflectorMenu:{AbsorberPipe:"Absorber Pipe",SelectAbsorberToReflectSunlightTo:"Select Absorber to Reflect Sunlight to",ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",OnlyThisFresnelReflector:"Only This Fresnel Reflector",AllFresnelReflectorsAboveFoundation:"All Fresnel Reflectors Above the Same Foundation",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"All Fresnel Reflectors"},heliostatMenu:{Tower:"Tower",SelectTowerToReflectSunlightTo:"Select Tower to Reflect Sunlight to",OnlyThisHeliostat:"Only This Heliostat",AllHeliostatsAboveFoundation:"All Heliostats Above the Same Foundation",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"All Heliostats"},parabolicDishMenu:{ReceiverStructure:"Receiver Structure",CentralPole:"Central Pole",CentralPoleWithTripod:"Central Pole with Tripod",Quadrupod:"Quadrupod",RimDiameter:"Rim Diameter",LatusRectum:"Latus Rectum",ExtraPoleHeightInAdditionToRadius:"Extra Pole Height in Addition to Radius",OnlyThisParabolicDish:"Only This Parabolic Dish",AllParabolicDishesAboveFoundation:"All Parabolic Dishes Above the Same Foundation",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"All Parabolic Dishes"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Default",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",SizeOfWall:"Size of Wall",OnlyThisWall:"Only This Wall",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:"All Walls Above the Same Foundation",AllSelectedWalls:"All Selected Walls",AllWalls:"All Walls",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Do you really want to remove all the windows on this wall",Doors:"Doors",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Do you really want to remove all the doors on this wall",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Do you really want to remove all the solar panels on this wall",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Remove All Unlocked Polygons",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Wall Structure",DefaultStructure:"Default",StudStructure:"Stud",PillarStructure:"Pillar",Opacity:"Opacity",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Height",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Only This Window",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"All Windows Above the Same Foundation",AllSelectedWindows:"All Selected Windows",AllWindows:"All Windows",Width:"Width",Height:"Height",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Mullion",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Mullion Width",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Tint",Opacity:"Opacity",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Shutter",LeftShutter:"Left Shutter",RightShutter:"Right Shutter",BothShutters:"Both Shutters",ShutterWidth:"Relative Width",ShutterColor:"Shutter Color",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Default",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",OnlyThisRoof:"Only This Roof",AllRoofsAboveFoundation:"All Roofs Above the Same Foundation",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"All Roofs",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Rafter Spacing",RafterWidth:"Rafter Width",RafterThickness:"Rafter Thickness",RafterColor:"Rafter Color",RoofColor:"Roof Color",RoofSideColor:"Roof Side Color",GlassTint:"Glass Tint",Opacity:"Opacity",RoofStructure:"Roof Structure",DefaultStructure:"Default",RafterStructure:"Rafter",GlassStructure:"Glass",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Default",Texture01:"Texture 1",Texture02:"Texture 2",Texture03:"Texture 3",Texture04:"Texture 4",Texture05:"Texture 5",Texture06:"Texture 6",Texture07:"Texture 7",Texture08:"Texture 8",Texture09:"Texture 9",Texture10:"Texture 10",Texture11:"Texture 11",Texture12:"Texture 12",Texture13:"Texture 13",Texture14:"Texture 14",Texture15:"Texture 15",Texture16:"Texture 16",Texture17:"Texture 17",OnlyThisDoor:"Only This Door",AllDoorsOnWall:"All Doors on the Same Wall",AllDoorsAboveFoundation:"All Doors Above the Same Foundation",AllSelectedDoors:"All Selected Doors",AllDoors:"All Doors",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"High",Low:"Low"},designInfoPanel:{NumberOfSelectedHeliostats:"Number of selected heliostats",NumberOfSelectedSolarPanels:"Number of selected solar panels",ElectricityGeneratedDailyBySolarPanels:"Electricity generated daily by these solar panels",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Color Contrast",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Click up or down arrow buttons to change"},instructionPanel:{Rotate:"Rotate",DragMouse:"Drag mouse",Zoom:"Zoom",MouseWheelOrKeys:"Rotate mouse wheel or press Ctrl+[ or Ctrl+]",MouseWheelOrKeysMac:"Rotate mouse wheel or press ⌘+[ or ⌘+]",Pan:"Pan",HoldCtrlDragMouse:"Hold Ctrl and drag mouse",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Reset",AutoRotate:"Auto rotate",StartOrStop:"Press F4 to start or stop"},mapPanel:{ImageOnGround:"Image on Ground",HideAddress:"Hide Address",WeatherStations:"Weather Stations",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Coordinates",Zoom:"Zoom"},visibilityPanel:{SolarPanelVisibility:"Solar Panel Visibility",Observer:"Observer",VantagePoint:"Vantage Point",ItemizedVisibilityByFields:"Itemized by Fields",TotalVisibility:"Total"},sensorPanel:{LightSensor:"Light Sensor",WeatherDataFrom:"Weather Data from"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Solar Panel Daily Yield",SolarPanelYearlyYield:"Solar Panel Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualSolarPanels:"Show outputs of individual solar panels",Profit:"Profit",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolic Trough Daily Yield",ParabolicTroughYearlyYield:"Parabolic Trough Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicTroughs:"Show outputs of individual parabolic troughs"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolic Dish Daily Yield",ParabolicDishYearlyYield:"Parabolic Dish Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicDishes:"Show outputs of individual parabolic dishes"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflector Daily Yield",FresnelReflectorYearlyYield:"Fresnel Reflector Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualFresnelReflectors:"Show outputs of individual Fresnel feflectors"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Daily Yield",HeliostatYearlyYield:"Heliostat Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualHeliostats:"Show outputs of individual heliostats"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Tower Daily Yield",UpdraftTowerYearlyYield:"Solar Updraft Tower Yearly Yield",ChimneyAirTemperature:"Chimney Air Temperature",ChimneyWindSpeed:"Chimney Wind Speed",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualUpdraftTowers:"Show outputs of individual updraft towers"},heliodonPanel:{SunAndTimeSettings:"Sun & Time Settings",SunAngles:"Angles",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"My Cloud Files",GenerateLink:"Generate Link",LinkGeneratedInClipBoard:"A link was generated in the clip board",DoYouReallyWantToDelete:"Do you really want to delete",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"My Account Settings",MyID:"My 🆔",ClickToCopyMyID:"Click to copy my ID",IDInClipBoard:"Your ID was copied and is ready to paste.",StoreMyNameInMyFilesWhenSaving:"Store my name in my files when saving",DoYouReallyWantToShowYourNameInYourFiles:"Do you really want to show your display name in your files?",SignFileDisclaimer:"If yes, your display name may be seen by anyone who can access your files.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"User Count",SchoolID:"School ID",ClassID:"Class ID"},weatherPanel:{SunshineHours:"Sunshine"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Select Air Temperature Model",Sinusoidal:"Sinusoidal"},economicsPanel:{EconomicsParameters:"Economics Parameters",ElectricitySellingPrice:"Electricity Selling Price",OperationalCostPerUnit:"Operational Cost per Unit",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Clearness",ShowDaylightResults:"Show daylight results",ShowSkyClearnessResults:"Show sky clearness results",ShowAverageDailySolarRadiation:"Show average daily solar radiation"},analysisManager:{NoSensorForCollectingData:"There is no sensor for collecting data.",NoSolarPanelForAnalysis:"There is no solar panel for analysis.",NoObserverForVisibilityAnalysis:"There is no observer for visibility analysis.",NoWaterHeaterForAnalysis:"There is no water heater for analysis.",NoParabolicDishForAnalysis:"There is no parabolic dish for analysis.",NoParabolicTroughForAnalysis:"There is no parabolic trough for analysis.",NoFresnelReflectorForAnalysis:"There is no Fresnel reflector for analysis.",NoHeliostatForAnalysis:"There is no heliostat for analysis.",NoSolarUpdraftTowerForAnalysis:"There is no solar updraft tower for analysis.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Cloud file",Select:"Select",AddFoundation:"Add Foundation",AddWall:"Add Wall",AddWindow:"Add Window",AddDoor:"Add Door",AddPyramidRoof:"Add Pyramid Roof",AddGableRoof:"Add Gable Roof",AddHipRoof:"Add Hip Roof",AddGambrelRoof:"Add Gambrel Roof",AddMansardRoof:"Add Mansard Roof",AddCuboid:"Add Cuboid",AddSensor:"Add Sensor",AddSolarPanel:"Add Solar Panel",AddWaterHeater:"Add Water Heater",AddParabolicDish:"Add Parabolic Dish",AddParabolicTrough:"Add Parabolic Trough",AddFresnelReflector:"Add Fresnel Reflector",AddHeliostat:"Add Heliostat",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Add Tree",AddFlower:"Add Flower",AddPeople:"Add People",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Manipulate a group",ClearScene:"Clear scene",ShowSunAndTimeSettings:"Show sun and time settings",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"Do you really want to clear the content",ClickForMoreButtons:"Click for more buttons"},tooltip:{gotoIFI:"Go to Institute for Future Intelligence",visitAladdinHomePage:"Visit Aladdin Homepage",clickToOpenMenu:"Click to open main menu",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Dogwood",Elm:"Elm",FanPalm:"Fan Palm",Linden:"Linden",Magnolia:"Magnolia",Maple:"Maple",Oak:"Oak",Pine:"Pine",Spruce:"Spruce"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Jaah",Jack:"Jack",Jacob:"Jacob",Jacqueline:"Jacqueline",Jade:"Jade",Jamelia:"Jamelia",James:"James",Jane:"Jane",Jaya:"Jaya",Jaye:"Jaye",Jeanette:"Jeanette",Jedi:"Jedi",Jeff:"Jeff",Jena:"Jena",Jennifer:"Jennifer",Jess:"Jess",Jett:"Jett",Jill:"Jill",Jiya:"Jiya",Joan:"Joan",Jocelyn:"Jocelyn",Joel:"Joel",Joey:"Joey",John:"John",Jonathon:"Jonathon",Jose:"Jose",Joseph:"Joseph",Joshua:"Joshua",Judd:"Judd",Judy:"Judy",Julia:"Julia",Julio:"Julio",Jumapili:"Jumapili",June:"June",Juro:"Juro",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Oft={translation:{name:{IFI:"未来智能研究所",Aladdin:"阿拉丁",Tagline:"阿拉丁: 探索人工智能时代的设计软件 — 未来智能研究所研发"},cookie:{Statement:"声明:为了改善您的用户体验,阿拉丁采用cookie储存少量数据。",Accept:"同意"},aboutUs:{ProductBroughtToYouBy:"未来智能研究所荣誉出品",TermsOfService:"服务条款",PrivacyPolicy:"隐私政策",Software:"软件",Content:"课件",Research:"研究",Support:"服务",Acknowledgment:"鸣谢",FundingInformation:"本产品的研发承蒙美国国家科学基金会慷慨资助(项目号#2105695,#2131097,#2301164)。本产品的任何观点或结论仅代表创作者个人意见。",Contact:"如您需要更多信息,请联系 Charles Xie (charles@intofuture.org)。我们会尽快回复。",Translators:"翻译"},word:{LastUpdate:"上一次更新",Small:"小",Medium:"中",Large:"大",Design:"设计",Information:"信息",Type:"类别",Text:"文字",FontSize:"字体大小",FontColor:"字体颜色",Model:"模型",Models:"模型",Upload:"上传",ClickCount:"点击数",Share:"分享",AlreadyLike:"已点赞",Like:"点赞",MustLogInToLike:"必须登录才能点赞",AllRightsReserved:"版权所有",MeterAbbreviation:"米",Version:"版本",VersionInitial:"版本",Options:"选项",Maximum:"最大",Minimum:"最小",MaximumNumber:"最多",MinimumNumber:"最少",MaximumValue:"最大值",MinimumValue:"最小值",Or:"或",None:"无",High:"高",Partial:"部分",Teacher:"老师",Class:"班级",Total:"总数",Leaderboard:"用戶排行榜",Latest:"最新",Range:"范围",SIUnit:"国际单位制",USUnit:"美国单位制",ThermalTransmittance:"热透过率",ThermalResistance:"热阻",UValue:"U值",RValue:"R值",VolumetricHeatCapacity:"容积热容",BuildingHVACSystem:"建筑物暖通空调系统",ThermostatSetpoint:"恒温器设定值",TemperatureToleranceThreshold:"温度忍耐阈值",TemperatureToleranceThresholdExplanation:`当日最低外面温度高于恒温器设定值减去此阈值,暖气不开。 +当日最高外面温度低于恒温器设定值加上此阈值,空调不开。`,Press:"按",Open:"打开",Save:"保存",SaveAsImage:"保存为图像",SaveAsCsv:"保存为CSV",Update:"刷新",Paste:"粘贴",Copy:"复制",Cut:"剪切",Delete:"删除",Lock:"固定",Translucent:"半透明",Color:"颜色",Pattern:"图案",Texture:"材质",Thickness:"厚度",Size:"尺寸",Yes:"是",No:"不",OK:"确定",Cancel:"取消",Apply:"应用",Close:"关闭",ApplyTo:"适用于",Run:"运行",Pause:"暂停",Resume:"继续",Clear:"清空",Warning:"警告",Caution:"小心",Reminder:"提醒",Length:"长度",Width:"宽度",Height:"高度",Radius:"半径",Angle:"角度",Azimuth:"方位角",Coordinates:"坐标",Weather:"天气",Show:"显示",Animate:"动画",Date:"日期",Time:"时间",Title:"标题",Owner:"所有者",Action:"操作",Rename:"改名",Location:"位置",Latitude:"纬度",Month:"月份",Day:"天",Hour:"小时",Daylight:"白天长度",Radiation:"辐射",Temperature:"温度",kWh:"千瓦时",dollar:"元",MeterPerSecond:"米/秒",NorthInitial:"北",SouthInitial:"南",EastInitial:"东",WestInitial:"西",Fixed:"固定",Elements:"部件",Energy:"能量",Unknown:"未知",Label:"标签",Description:"描述",NoDescription:"无描述",MaximumCharacters:"最多字符数",Author:"作者",Publisher:"发布者",Building:"建筑",ResidentialBuilding:"住宅建筑",CommercialBuilding:"商用建筑",SchoolBuilding:"学校建筑",TouristAttraction:"旅游景点",UnderConstruction:"在建",Photovoltaic:"光伏",WindPower:"风能",ColocationProjects:"共用空间项目",Anonymous:"无名氏",Nickname:"别名",Pin:"置顶",Unpin:"解除置顶"},shared:{NoTexture:"无材质",FoundationElement:"地基",CuboidElement:"长方体",PolygonElement:"多边形",SensorElement:"传感器",SolarPanelElement:"光伏板",WaterHeaterElement:"太阳能热水器",ParabolicDishElement:"抛物线碟",ParabolicTroughElement:"抛物线槽",FresnelReflectorElement:"菲涅耳反射镜",HeliostatElement:"定日镜",WindTurbineElement:"风力涡轮机",LightElement:"电灯",ElementLocked:"固定",ModelType:"模型类别",OutputBreakdown:"分列发电量",MoreResults:"更多结果"},message:{CalculationMayBeSlowDoYouWantToContinue:"计算可能会很慢。您想继续吗?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"加大太阳辐射热图网格的尺寸可加速",ModelNotFound:"没有找到模型",CannotSignIn:"登录失败",CannotSignOut:"退出失败",YourAccountWasCreated:"成功建立您的账号。",CannotCreateAccount:"无法创建账号",YourAccountSettingsWereSaved:"您的账号设定已保存。",CannotSaveYourAccountSettings:"您的账号设定无法保存",CannotSaveYourFileToCloud:"无法保存您的文件到云端",CannotCreateNewProject:"无法创建新项目",CannotCreateNewProjectWithoutTitle:"没有标题, 无法创建新项目",CannotOpenYourProjects:"无法打开您的项目列表",CannotOpenProject:"无法打开项目",CannotDeleteProject:"无法删除项目",CannotRenameProject:"无法给项目改名",CannotAddDesignToProject:"无法把此设计加到项目里",CannotAddDesignToProjectOwnedByOthers:"不能把此设计加到别人的项目里",DesignRemovedFromProject:"设计被成功地从项目里删除",CannotRemoveDesignFromProject:"无法把此设计从项目里删除",CannotUpdateProject:"无法更新项目",CannotFetchProjectData:"无法取得项目数据",TitleUsedChooseDifferentOne:"此标题已经被使用, 请采用不同的标题",CloudFileWithTitleExistsDoYouWantToOverwrite:"使用此标题的云文件已经存在,您确定要覆盖它吗?",CloudFileNotFound:"找不到此云端文件",CannotLoadModelsOnMap:"无法下载地图上的模型",CannotLoadLeaderboard:"无法下载排行榜",CannotPublishModelOnMap:"模型无法发布到地图上",CannotLikeModelFromMap:"无法点赞地图上的模型",CannotDeleteModelFromMap:"无法删除地图上的模型",ModelDeletedFromMap:"模型已从地图上删除",DoYouWantToDeleteModelFromMap:"您要删除地图上的这个模型吗?",CannotOpenCloudFile:"此云端文件无法打开",CannotReadCloudFile:"无法读取此云端文件",CannotWriteCloudFile:"无法存储此云端文件",CloudFileCopied:"拷贝云端文件",CannotOpenCloudFolder:"您的云端文件夹无法打开",CannotDeleteCloudFile:"无法删除此云端文件",CannotRenameCloudFile:"此云端文件的名字无法更改",DoYouWantToSaveChanges:"您要保存当前文件吗?",NotApplicableToSelectedAction:"此值不适用于当前选择范围",ThisElementIsLocked:"这个部件被锁定。",ThisCannotBeUndone:"这个操作一旦执行就不能撤销。",AzimuthOfNorthIsZero:"正北的方位角为零度",CounterclockwiseAzimuthIsPositive:"逆时针为正",SouthFacingIsZero:"朝南为零度",ClockwiseRotationIsPositive:"顺时针为正",MoveCancelledBecauseOfOverlap:"位置重叠,移动取消。",MoveOutsideBoundaryCancelled:"位置出界,移动取消。",RotationCancelledBecauseOfOverlap:"位置重叠,旋转取消。",RotationOutsideBoundaryCancelled:"位置出界,旋转取消。",ResizingCancelledBecauseOfOverlap:"位置重叠,尺寸调整取消。",ResizingOutsideBoundaryCancelled:"位置出界,尺寸调整取消。",CannotPasteOutsideBoundary:"位置出界,不能复制。",CannotPasteBecauseOfOverlap:"位置重叠,不能复制。",CannotMoveObjectTooFar:"位置太远,移动取消。",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"采用新布局之前必须移除现有的光伏板。",DoYouWantToContinue:"您想继续吗?",SolarPanelsCannotIntersectWithGround:"光伏板不能和地面接触。",SolarPanelsCannotOverlapWithOneAnother:"光伏板不能重叠。",ScreenshotSaved:"截屏图片保存在下载文件夹里。",CsvFileSaved:"CSV保存在下载文件夹里。",SimulationStarted:"模拟开始。",SimulationCompleted:"模拟结束。",SimulationAborted:"模拟取消。",SimulationPaused:"模拟暂停。",CancelSimulation:"取消模拟",PauseSimulation:"暂停模拟",ResumeSimulation:"继续模拟",SimulationWillNotStartDueToErrors:"由于错误模拟无法运行",SimulationWillStartDespiteWarnings:"发现问题,但模拟仍然将运行。",EvolutionStarted:"演化开始。",EvolutionCompleted:"演化结束。",EvolutionAborted:"演化取消。",EvolutionPaused:"演化暂停。",EncounterEvolutionError:"演化出错。",CancelEvolution:"取消演化",PauseEvolution:"暂停演化",ResumeEvolution:"继续演化",ConvergenceThresholdHasBeenReached:"收敛阈值已达到。",MaximumNumberOfGenerationsHasBeenReached:"最大世代数已达到。",MaximumNumberOfStepsHasBeenReached:"最大步数已达到。",ObjectiveFunctionTypeError:"此操作不支持当前的目标函数。请从菜单启动此功能。",WallsAreNotAtSameHeight:"墙体高度不同。",WallsAreNotPerpendicular:"墙体不垂直。",WallsAreNotConnected:"墙体不相连。",WallsNumberNeedToBeFour:"墙体数量必须为四个。",BuildingContainsEmptyWall:"建筑物有空墙。",BuildingRoofMissing:"建筑物没有屋顶。",UnknownErrors:"未知错误。"},menu:{AnalysisOptions:"分析选项",option:{GridCellSize:"计算网格的尺寸",SamplingFrequency:"采样频率",TimesPerHour:"每小时采样次数",DaysPerYear:"每一年采样天数"},mainMenu:"主菜单",cloudMenu:"云菜单",projectSubMenu:"项目",project:{CreateNewProject:"创建新项目",OpenProject:"打开项目",SaveProject:"保存项目",SaveProjectAs:"另存项目为",YouMustLogInToCreateProject:"您必须登录才能创建项目",YouMustLogInToOpenProject:"您必须登录才能打开项目"},fileSubMenu:"文件",file:{CreateNewFile:"创建新文件",OpenLocalFile:"打开本地文件",SaveAsLocalFile:"保存为本地文件",SavingAbortedMustHaveValidFileName:"文件名无效,保存失败",OpenCloudFile:"打开云端文件",SaveCloudFile:"保存云端文件",SaveAsCloudFile:"另存云端文件为",SavingAbortedMustHaveValidTitle:"云端文件名无效,保存失败",ToSaveYourWorkPleaseSignIn:"为了保存您的云端文件,请先登录。",TakeScreenshot:"截屏",UseCloudFileName:"采用云端文件名",PublishOnModelsMap:"发布到地图上",PublishedOnModelsMap:"您的模型成功发布到地图上",UpdatedOnModelsMap:"您的模型更新成功",YouMustLogInToPublishYourModel:"您必须登录才能发布模型",YouCannotPublishAModelThatYouDoNotOwn:"您不能发布他人的模型",YouMustSaveModelOnCloudBeforePublishingIt:"您必须先把此模型保存在云端才能发布它"},editSubMenu:"编辑",edit:{Undo:"撤销",Redo:"重做"},viewSubMenu:"视界",view:{NavigationView:"导航模式",TwoDimensionalView:"二维模式",ResetView:"重置视角",ZoomIn:"放大",ZoomOut:"缩小",AutoRotate:"自动旋转",ShowShadow:"显示阴影",ShowSurfaceShininess:"显示表面光泽",TranslucentFloatingWindows:"透明浮动窗口",accessoriesSubMenu:"配件",accessories:{SiteInformation:"位置信息",DesignInformation:"设计信息",Instruction:"操作说明",StickyNote:"便签",Note:"便签"}},settingsSubMenu:"设置",settings:{WeatherData:"气象数据",DiurnalTemperature:"昼夜温度",Heliodon:"日影仪",SunAndTime:"太阳和时间"},benchmarksSubMenu:"基准",benchmarks:{SolarRadiationPredictionVsMeasurement:"太阳能辐射模型预测和实际测量的对比",BESTESTCase600:"建筑物能耗模拟测试:BESTEST案例600",BESTESTCase610:"建筑物能耗模拟测试:BESTEST案例610",BESTESTCase620:"建筑物能耗模拟测试:BESTEST案例620",BESTESTCase630:"建筑物能耗模拟测试:BESTEST案例630"},graph:{LineWidth:"线条宽度",SymbolSize:"符号大小",BarCategoryGap:"直条间隙",ShowHorizontalGridLines:"显示格子的水平线条",ShowVerticalGridLines:"显示格子的竖直线条"},analysisSubMenu:"分析",physicsSubMenu:"物理",physics:{DailySolarRadiationHeatmap:"当日太阳辐射总量分布热图",SolarRadiationHeatmapOptions:"太阳辐射热图选项",SolarRadiationHeatmapGridCellSize:"太阳辐射热图网格的尺寸",SolarRadiationHeatmapMaxValue:"太阳辐射热图最大值",SolarRadiationHeatmapNoAnimation:"若无移动部件则省略动画",ReflectionHeatmap:"反射热图"},sensorSubMenu:"传感器",sensor:{CollectDailyData:"收集当天数据",CollectYearlyData:"收集全年数据",SensorSimulationNoAnimation:"若无移动部件则省略动画"},buildingSubMenu:"建筑物",building:{AnalyzeDailyBuildingEnergy:"建筑物当天能耗分析",AnalyzeYearlyBuildingEnergy:"建筑物全年能耗分析",EnergyAnalysisOptions:"能耗分析选项",EnergyGridCellSize:"计算网格的尺寸",BuildingEnergySimulationNoAnimation:"若无移动部件则省略动画"},solarPanelSubMenu:"太阳能光伏板",solarPanel:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出",AnalyzeVisibility:"分析可见度",PanelDiscretization:"光伏板离散化方法",Exact:"准确",Approximate:"近似",EnergyGridCellSize:"计算网格的尺寸",VisibilityGridCellSize:"视界因子计算网格的尺寸",EnergyAnalysisOptions:"能量分析选项",VisibilityAnalysisOptions:"可见度分析选项",SolarPanelSimulationNoAnimation:"若无移动部件则省略动画"},parabolicTroughSubMenu:"抛物线槽",parabolicTrough:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},parabolicDishSubMenu:"抛物线碟",parabolicDish:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},fresnelReflectorSubMenu:"菲涅尔反射镜",fresnelReflector:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},heliostatSubMenu:"定日镜",heliostat:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出"},solarUpdraftTowerSubMenu:"太阳能上升气流塔",solarUpdraftTower:{AnalyzeDailyYield:"分析当天产出",AnalyzeYearlyYield:"分析全年产出",SolarUpdraftTowerSimulationNoAnimation:"若无移动部件则省略动画"},tutorialsSubMenu:"教程",solarEnergyScienceSubMenu:"太阳能科学",solarEnergyScienceTutorials:{SunAngles:"太阳相对于地面观察者的角度",InsolationAndClimate:"太阳辐射和气候的关系",SolarRadiationToBox:"一个长方体受到的太阳能辐射分析"},buildingScienceSubMenu:"建筑科学",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"房屋的热学封套和围护封套",EffectOfSizeOnBuildingEnergy:"房屋大小对能耗的影响",EffectOfOrientationOnBuildingEnergy:"房屋方位对能耗的影响",EffectOfInsulationOnBuildingEnergy:"房屋隔热对能耗的影响",EffectOfRoofColorOnBuildingEnergy:"屋顶颜色对建筑物能耗的影响",EffectOfEavesOverhangLengthOnBuildingEnergy:"屋檐延伸长度对建筑物能耗的影响",EffectOfWindowSHGCOnBuildingEnergy:"窗户太阳能输入对房屋能耗的影响",EffectOfThermostatSetpointOnBuildingEnergy:"恒温器设定值对房屋能耗的影响",EffectOfSolarPanelsOnBuildingEnergy:"光伏板对房屋能耗的影响",EffectOfGroundTemperatureOnBuildingEnergy:"地表温度对房屋能耗的影响",EffectOfTreesOnBuildingEnergy:"树荫对房屋能耗的影响"},buildingDesignSubMenu:"建筑设计",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"有棚顶窗的科德角风格的住宅",MansardRoofWithDormers:"有天窗的折线屋顶",GableRoofVsHipRoof:"双坡屋顶和四坡屋顶的对比",ColonialVsSaltbox:"殖民地风格和盐盒风格的对比",GambrelRoofVsMansardRoof:"复斜屋顶和折线屋顶的对比",CombinationRoofVsBonnetRoof:"组合屋顶和帽檐屋顶的对比",DutchGableRoof:"荷兰双坡屋顶",GableAndValleyRoof:"坡谷屋顶",ClerestoryRoof:"天窗屋顶",MonitorRoof:"采光屋顶",AFrameHouse:"A字形房子",HalfTimberedHouse:"半木骨架房子",AllBasicRoofTypes:"所有的基本屋顶类型"},photovoltaicSolarPowerSubMenu:"光伏发电",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"光伏板倾斜角对发电量的影响",EffectOfAzimuthOfSolarPanel:"光伏板方位角对发电量的影响",SolarPanelTypes:"光伏板类型",VerticalBifacialSolarPanels:"竖直的双面光伏板",CompareMonofacialAndBifacialSolarPanels:"单面光伏板和双面光伏板的对比",SolarTrackers:"自动追日器",CoveringGroundWithSolarPanels:"为什么我们不简单地用光伏板覆盖地面",InterRowSpacingOfSolarPanelArray:"光伏板阵列行间距对发电量的影响",EffectOfOrientationOfSolarPanels:"光伏板排列方向对发电量的影响",SolarPanelArrayAutomaticLayout:"光伏板自动排列"},concentratedSolarPowerSubMenu:"光热发电",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"抛物线槽方位角对发电量的影响",EffectOfLatusRectumOfParabolicTrough:"抛物线槽通径对发电量的影响",FocusSunlightWithParabolicDish:"用抛物线碟聚焦陽光",LinearFresnelReflectors:"用直线式菲涅尔反射镜聚焦陽光",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"吸热管的安装高度对直线式菲涅尔反射镜发电量的影响",EffectOfAzimuthOfLinearFresnelReflectors:"直线式菲涅尔反射镜方位角对发电量的影响",LinearFresnelReflectorsWithTwoAbsorbers:"配备两个吸收管的直线式菲涅尔反射镜阵列",CosineEfficiencyOfHeliostats:"定日镜的余弦效率",ShadowingAndBlockingOfHeliostats:"定日镜的阴影和遮挡",EffectSolarPowerTowerHeight:"吸收塔高度对发电量的影响",SolarPowerTower:"塔式光热发电站"},otherTypesOfSolarPowerSubMenu:"其它类型的太阳能发电",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"太阳能上升气流塔"},windPowerSubMenu:"风力发电",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"转子叶片的数目对风力涡轮机输出的影响",EffectOfPitchAngleOfWindTurbineBlades:"转子叶片的俯仰角对风力涡轮机输出的影响",BirdSafeBladeDesign:"对鸟类安全的叶片设计",OffshoreWindFarm:"海上风电场"},colocationSubMenu:"共用空间项目",colocationTutorials:{AgricultureSolarWindColocation:"农业光伏风力共用空间"},generativeDesignSubMenu:"生成式设计",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"单面光伏板阵列的倾斜角",BifacialSolarPanelArrayTiltAngle:"双面光伏板阵列的倾斜角",OutputOfSolarPanelArrayInDifferentPlaces:"一个光伏板阵列在不同地区的产出",SimpleSolarFarmParetoFront:"简单太阳能农场设计的帕累托前沿"},examplesSubMenu:"例子",solarEnergySubMenu:"太阳能",solarEnergyExamples:{SunBeamAndHeliodon:"太阳光束和日影仪",RooftopSolarPanels:"屋顶光伏板",NevadaSolarOneParabolicTroughArray:"内华达州太阳能一号的抛物线槽阵列",TooeleParabolicDishArray:"犹他州图埃勒的抛物线碟阵列",PS10SolarPowerTower:"西班牙塞维利亚的PS10太阳能发电塔",TucsonLinearFresnelReflectors:"亚利桑那州图森的直线式菲涅尔反射镜阵列",SolarCanopyFormFactors:"太阳能天篷外形设计",SolarCanopyOverBleachers:"看台太阳能天篷",SolarCanopyOverGarage:"车库太阳能天篷",SolarBusStop:"太阳能候车亭",SolarFacadeTesla:"特斯拉光伏墙",BuildingIntegratedPhotovoltaics:"建筑整合光伏",Floatovoltaics:"浮动光伏",Agrivoltaics:"农业光伏",VegetativeBuffer:"太阳能农场绿化带",RainbowSwashSolarFarmBostonMA:"马萨诸塞州波士顿彩虹激流旁边的光伏板阵列",MickeyMouseSolarFarmOrlandoFL:"佛罗里达州奥兰多的米老鼠形状光伏板阵列",SolarPanelsOverCanalBakersfieldCA:"加利福尼亚州贝克斯菲尔德灌溉渠上假想的光伏板阵列",SolarNoiseBarrierLexingtonMA:"马萨诸塞州列克星敦高速公路噪音墙上假想的光伏板",HSATSolarTrackersRaleighNC:"北卡罗来纳州罗利的一个水平方向单轴旋转追日光伏板阵列(HSAT)",AADATSolarTrackersLancasterCA:"加利福尼亚州兰开斯特的一个双轴旋转追日光伏板阵列(AADAT)",SolarUpdraftTowerInCity:"太阳能上升气流塔在城市中的应用"},builtEnvironmentSubMenu:"建造环境",residentialBuildingsSubMenu:"住宅建筑",residentialBuildingExamples:{ColonialHouse:"殖民地风格的住宅",DutchColonialHouse:"荷兰殖民地风格的住宅",TShapedHouse:"T字型房子",CapeCodHouseWithGarage:"有车库的科德角风格的住宅",Solarium:"有日光浴室的房子",Church1:"教堂例一",Cathedral1:"主教座堂例一",Cathedral2:"主教座堂例二",Mosque1:"清真寺例一",AdobeTaosHouse:"陶斯土坯房",RanchHouse:"牧场风格的住宅",BonnetHouse:"有帽檐屋顶的住宅",BarnStyleHouse:"谷仓式风格的住宅",ModernHouse:"现代风格的住宅",ButterflyRoofHouse:"蝴蝶型屋顶的住宅"},commercialBuildingsSubMenu:"商用建筑",commercialBuildingExamples:{WhiteHouse:"白宫",BilimMersinTurkiye:"土耳其梅尔辛科学教育中心",SpanishStyleHotel:"西班牙风格旅馆",ApartmentBuilding:"公寓楼",OfficeBuilding:"办公楼",Hotel:"旅馆"},buildingComplexesSubMenu:"建筑群",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"佛蒙特州南伯灵顿高中",MescaleroApacheSchoolNewMexico:"新墨西哥州梅斯卡勒罗阿帕奇学校"},urbanPlanningSubMenu:"城市规划",urbanPlanningExamples:{Heatmap1:"热图例一"},otherBuildingsSubMenu:"其它建筑",otherBuildingExamples:{Greenhouse:"温室",Pavilion:"公园的亭子",OctagonalPagoda:"八角塔",OceanFront:"海边",EgyptianPyramids:"埃及金字塔",MayanPyramid:"玛雅金字塔",SiOSePol:"三十三孔桥",StackedCuboids:"堆砌长方体"},artificialIntelligenceSubMenu:"人工智能",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"优化单排光伏板的倾斜角",OptimizingTiltAnglesOfMultipleSolarPanelRows:"优化多排光伏板的倾斜角",SolarFarmGenerativeDesign:"生成式设计太阳能农场",SolarFarmGenerativeDesignWithBlock:"生成式设计太阳能农场:周边有建筑物的情况",FitchburgSolarFarmGenerativeDesign:"生成式设计太阳能农场:真实世界案例"},languageSubMenu:"语言",publicSubMenu:"公共",ModelsGallery:"模型画廊",ModelsMap:"模型地图",AboutUs:"关于我们"},avatarMenu:{AccountSettings:"账号设定",PrivacyStatementTitle:"用户隐私保护声明",PrivacyStatement:"登录需要采用您的谷歌ID建立或进入您的阿拉丁账户。 我们只储存一个随机的字符串作为您的ID。 任何关于您的可辨识的个人信息都没有被收集。 详情请参考我们的",SignIn:"登录",SignOut:"退出账号",IfYouAreAStudent:"如果您是一个学生"},skyMenu:{Axes:"显示坐标轴",Theme:"环境主题",ThemeDefault:"默认",ThemeDesert:"沙漠",ThemeDune:"沙丘",ThemeForest:"森林",ThemeGrassland:"草原",ThemeHill:"丘陵",ThemeLake:"湖泊",ThemeMountain:"山脉",ThemeRural:"田园",SunlightAttenuationCoefficientInAir:"阳光在空气中传播的衰减系数",ConvectiveCoefficientOfAir:"空气对流传热系数",HighestTemperatureTimeInMinutes:"最高气温时间(分钟)",SelectSunAnglesToShow:"选择太阳角度显示",ShowAzimuthAngle:"显示方位角",ShowElevationAngle:"显示高度角",ShowZenithAngle:"显示天顶角",DirectLightBrightnessAtNoon:"正午直射光照度",AmbientLightBrightnessAtNoon:"正午环境光照度"},groundMenu:{MonthlyIrradianceLoss:"月份辐射度损失比",Vegetation:"植被",LeafOutDay:"树叶长出的日子",LeafOffDay:"树叶脱落的日子",Albedo:"反照率",ImageOnGround:"地面显示图像",WaterSurface:"水面",RemoveAllUnlockedTrees:"删除所有非固定的树木",RemoveAllUnlockedFlowers:"删除所有非固定的花草",RemoveAllUnlockedSolarPanels:"删除所有非固定的光伏板",RemoveAllUnlockedPeople:"删除所有非固定的人物",RemoveAllUnlockedFoundations:"删除所有非固定的地基",RemoveAllUnlockedCuboids:"删除所有非固定的长方体",DoYouReallyWantToRemoveAllPeople:"你确定删除所有非固定的人物吗",DoYouReallyWantToRemoveAllTrees:"你确定删除所有非固定的树木吗",DoYouReallyWantToRemoveAllFlowers:"你确定删除所有非固定的花草吗",DoYouReallyWantToRemoveAllSolarPanels:"你确定删除所有非固定的光伏板吗",DoYouReallyWantToRemoveAllFoundations:"你确定删除所有非固定的地基吗",DoYouReallyWantToRemoveAllCuboids:"你确定删除所有非固定的长方体吗",LockAllUnlockedElements:"固定所有非固定的部件",UnlockAllLockedElements:"解除所有的固定"},labelSubMenu:{Label:"标签",LabelText:"标签的内容",LabelHeight:"标签的高度",LabelSize:"标签的大小",LabelFontSize:"字体的大小",LabelColor:"标签的颜色",KeepShowingLabel:"显示标签"},foundationMenu:{RemoveAllUnlockedSolarPanels:"删除此地基上所有非固定的光伏板",RemoveAllUnlockedParabolicTroughs:"删除此地基上所有非固定的抛物线槽",RemoveAllUnlockedParabolicDishes:"删除此地基上所有非固定的抛物线碟",RemoveAllUnlockedFresnelReflectors:"删除此地基上所有非固定的菲涅耳反射镜",RemoveAllUnlockedHeliostats:"删除此地基上所有非固定的定日镜",RemoveAllUnlockedWindTurbines:"删除此地基上所有非固定的风力涡轮机",RemoveAllUnlockedSensors:"删除此地基上所有非固定的传感器",RemoveAllUnlockedLights:"删除此地基上所有非固定的电灯",RemoveAllUnlockedWalls:"删除此地基上所有非固定的墙",RemoveAllUnlockedWindows:"删除此地基上所有非固定的窗户",RemoveAllUnlockedDoors:"删除此地基上所有非固定的门",RemoveAllUnlockedPolygons:"删除此地基上所有非固定的多边形",RemoveAllUnlockedHumans:"删除此地基上所有非固定的人物",RemoveAllUnlockedTrees:"删除此地基上所有非固定的树木",RemoveAllUnlockedFlowers:"删除此地基上所有非固定的花草",Racks:"支架",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",SolarPanels:"光伏板",SolarPanelArray:"光伏板阵列",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"你确定删除此地基上所有非固定的光伏板吗",ParabolicTroughs:"抛物线槽",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"你确定删除此地基上所有非固定的抛物线槽吗",ParabolicDishes:"抛物线碟",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"你确定删除此地基上所有非固定的抛物线碟吗",FresnelReflectors:"菲涅耳反射镜",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"你确定删除此地基上所有非固定的菲涅耳反射镜吗",Heliostats:"定日镜",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"你确定删除此地基上所有非固定的定日镜吗",WindTurbines:"风力涡轮机",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"你确定删除此地基上所有非固定的风力涡轮机吗",Sensors:"传感器",DoYouReallyWantToRemoveAllSensorsOnFoundation:"你确定删除此地基上所有非固定的传感器吗",Lights:"电灯",DoYouReallyWantToRemoveAllLightsOnFoundation:"你确定删除此地基上所有非固定的电灯吗",Walls:"墙",DoYouReallyWantToRemoveAllWallsOnFoundation:"你确定删除此地基上所有非固定的墙吗",Windows:"窗户",DoYouReallyWantToRemoveAllWindowsOnFoundation:"你确定删除此地基上所有非固定的窗户吗",Doors:"门",DoYouReallyWantToRemoveAllDoorsOnFoundation:"你确定删除此地基上所有非固定的门吗",Polygons:"多边形",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"你确定删除此地基上所有非固定的多边形吗",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnFoundation:"你确定删除此地基上所有非固定的人物吗",Trees:"树木",DoYouReallyWantToRemoveAllTreesOnFoundation:"你确定删除此地基上所有非固定的树木吗",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnFoundation:"你确定删除此地基上所有非固定的花草吗",OnlyThisFoundation:"只这块地基",AllSelectedFoundations:"所有选中的地基",AllConnectedFoundations:"所有相连的地基",AllFoundations:"所有的地基",AddPolygon:"添加多边形",SolarStructure:"太阳能构型",GroupMaster:"主地基",LockAllUnlockedElementsOnThisFoundation:"固定此地基上所有非固定的部件",UnlockAllLockedElementsOnThisFoundation:"解除此地基上所有的固定",GroundFloorRValue:"建筑物地板的R值",OnlyThisGroundFloor:"只这个建筑物的地板",AllGroundFloors:"所有建筑物的地板"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"和定日镜配套的吸收塔",ReceiverTowerPhysicalProperties:"太阳能吸收塔的物理性质",ReceiverTowerHeight:"太阳能吸收塔的高度",ReceiverTowerRadius:"太阳能吸收塔的半径",ReceiverAbsorptance:"太阳能吸收器的吸收率",ReceiverOpticalEfficiency:"太阳能吸收器的光效率",ReceiverThermalEfficiency:"太阳能吸收器的热效率"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"和菲涅尔反射镜配套的吸收管",AbsorberPipePhysicalProperties:"太阳能吸收管的物理性质",AbsorberHeight:"太阳能吸收管的安装高度",AbsorberApertureWidth:"太阳能吸收管的孔径",AbsorberPipePoleNumber:"太阳能吸收管的支柱数量",AbsorberAbsorptance:"太阳能吸收管的吸收率",AbsorberOpticalEfficiency:"太阳能吸收管的光效率",AbsorberThermalEfficiency:"太阳能吸收管的热效率"},solarUpdraftTowerMenu:{SolarUpdraftTower:"太阳能上升气流塔",SolarUpdraftTowerPhysicalProperties:"太阳能上升气流塔的物理性质",SolarUpdraftTowerChimneyHeight:"太阳能上升气流塔烟囱的高度",SolarUpdraftTowerChimneyRadius:"太阳能上升气流塔烟囱的半径",SolarUpdraftTowerCollectorHeight:"太阳能上升气流塔集热棚的高度",SolarUpdraftTowerCollectorRadius:"太阳能上升气流塔集热棚的半径",SolarUpdraftTowerCollectorTransmissivity:"太阳能上升气流塔集热棚的透射率",SolarUpdraftTowerCollectorEmissivity:"太阳能上升气流塔集热棚的发射率",SolarUpdraftTowerDischargeCoefficient:"太阳能上升气流塔的流量系数",SolarUpdraftTowerTurbineEfficiency:"太阳能上升气流塔的涡轮机效率"},cuboidMenu:{Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",RemoveAllUnlockedSolarPanels:"删除此长方体表面上所有非固定的光伏板",RemoveAllUnlockedSensors:"删除此长方体表面上所有非固定的传感器",RemoveAllUnlockedPolygons:"删除此长方体表面上所有非固定的多边形",RemoveAllUnlockedHumans:"删除此长方体表面上所有非固定的人物",RemoveAllUnlockedTrees:"删除此长方体表面上所有非固定的树木",RemoveAllUnlockedFlowers:"删除此长方体表面上所有非固定的花草",RemoveAllUnlockedLights:"删除此长方体表面上所有非固定的电灯",Racks:"支架",SolarPanels:"光伏板",Lights:"电灯",DoYouReallyWantToRemoveAllLightsOnCuboid:"你确定删除此长方体表面上所有非固定的电灯吗",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"你确定删除此长方体表面上所有非固定的光伏板吗",Sensors:"传感器",DoYouReallyWantToRemoveAllSensorsOnCuboid:"你确定删除此长方体表面上所有非固定的传感器吗",Polygons:"多边形",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"你确定删除此长方体表面上所有非固定的多边形吗",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnCuboid:"你确定删除此长方体表面上所有非固定的人物吗",Trees:"树木",DoYouReallyWantToRemoveAllTreesOnCuboid:"你确定删除此长方体表面上所有非固定的树木吗",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnCuboid:"你确定删除此长方体表面上所有非固定的花草吗",OnlyThisCuboid:"只这个长方体",AllCuboidsOnSameSurface:"同一表面上所有的长方体",AllCuboidsAboveSameBase:"同一地基上所有的长方体",AllSelectedCuboids:"所有选中的长方体",AllCuboids:"所有的长方体",OnlyThisSide:"只这个表面",AllSidesOfThisCuboid:"这个长方体所有的侧面",AllSidesOfSelectedCuboids:"所有选中长方体所有的侧面",AllSidesOfAllCuboids:"所有的长方体所有的侧面",AddPolygon:"添加多边形",Stackable:"可堆砌",GroupMaster:"主长方体"},polygonMenu:{Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",TextBox:"文字框",FontOutlineColor:"字体轮廓颜色",FontOutlineWidth:"字体轮廓线宽",FontStrokeColor:"字体描边颜色",FontStrokeWidth:"字体描边线宽",NoOutline:"无轮廓线",Shiny:"光泽",Filled:"填充",FillTexture:"填充材质",FillColor:"填充颜色",Opacity:"遮光度",LineColor:"线条颜色",LineWidth:"线条宽度",LineStyle:"线条样式",SolidLine:"实线",DashedLine:"虚线",DottedLine:"点线",InsertVertexBeforeIndex:"前面插入顶点",InsertVertexAfterIndex:"后面插入顶点",DeleteVertex:"移除顶点",OnlyThisPolygon:"只这个多边形",AllPolygonsOnSurface:"同一表面上所有的多边形",AllPolygonsAboveFoundation:"同一地基上所有的多边形",AllSelectedPolygons:"所有选中的多边形",AllPolygons:"所有的多边形",Layout:"布局",SolarPanelArrayLayout:"光伏板阵列布局",SolarPanelArrayLayoutParametricDesign:"光伏板阵列布局参数化设计",SolarPanelArrayLayoutGenerativeDesign:"光伏板阵列布局生成式设计",SolarPanelArrayModel:"光伏板型号",SolarPanelArrayOrientation:"排列方向",SolarPanelArrayTiltAngle:"倾斜角度",SolarPanelArrayRowWidth:"行宽度",SolarPanelArrayInterRowSpacing:"行间距",SolarPanelArrayRowSpacing:"行间距",SolarPanelArrayRowAxis:"行轴方向",SolarPanelArrayLeftRightRowAxis:"左右方向(相对)",SolarPanelArrayUpDownRowAxis:"上下方向(相对)",SolarPanelArrayEastWestRowAxis:"东西方向(绝对)",SolarPanelArrayNorthSouthRowAxis:"南北方向(绝对)",SolarPanelArrayMargin:"边缘余地",SolarPanelArrayPoleHeight:"支架高度",SolarPanelArrayPoleSpacing:"支柱间隔",SolarPanelArrayTotalYearlyCost:"全年总成本",SolarPanelArrayTotalYearlyRevenue:"全年总收入",SolarPanelArrayTotalYearlyYield:"全年总发电量",SolarPanelArrayMeanYearlyYield:"平均年发电量",SolarPanelArrayYearlyProfit:"全年利润",LayoutNotAcceptedCheckYourParameters:"恕不能采用此布局。请检查您的参数设置。"},optimizationMenu:{Optimization:"优化",Parameters:"参数",Variables:"变量",Constants:"常量",GeneticAlgorithm:"遗传算法",GeneticAlgorithmSettings:"遗传算法设定",ParticleSwarmOptimization:"粒子群优化",ParticleSwarmOptimizationSettings:"粒子群优化设定",SolarPanelTiltAngleOptimization:"光伏板倾斜角度优化",SolarPanelArrayLayout:"光伏板阵列布局",Generation:"世代",Gene:"基因",NormalizedVariables:"标准化变量",Objective:"目标函数",ObjectiveFunctionDailyTotalYield:"当日总产出",ObjectiveFunctionYearlyTotalYield:"全年总产出",ObjectiveFunctionDailyMeanYield:"当日平均产出",ObjectiveFunctionYearlyMeanYield:"全年平均产出",ObjectiveFunctionDailyProfit:"当日利润",ObjectiveFunctionYearlyProfit:"全年利润",GeneticAlgorithmSelectionMethod:"遗传算法选择方法",RouletteWheel:"轮盘制",Tournament:"淘汰制",SearchMethod:"搜索方法",GlobalSearchUniformSelection:"全局搜索均匀取样",LocalSearchRandomOptimization:"局部搜索随机优化",PopulationSize:"种群个体数目",MaximumGenerations:"最大世代数目",SelectionRate:"选择概率",CrossoverRate:"交配概率",MutationRate:"突变概率",Step:"步数",SwarmSize:"粒子数目",MaximumSteps:"最大步数",MaximumVelocity:"最大速度",InertiaWeight:"惯性权重",CognitiveCoefficient:"认知系数",SocialCoefficient:"社会系数",ConvergenceThreshold:"终止条件的收敛阈值",LocalSearchRadius:"局部搜索的半径",RowsPerRackRange:"单个支架上光伏板行数的变化范围",TiltAngleRange:"光伏板倾斜角度的变化范围",InterRowSpacingRange:"光伏板阵列行间距的变化范围",ClickTargetPolygonToActivate:"点击目标多边形激活",ClickTargetFoundationToActivate:"点击目标地基激活"},treeMenu:{ShowModel:"显示近似模型",Flip:"翻转",Type:"树种",Spread:"树冠直径"},flowerMenu:{Flip:"翻转",Type:"品种",Spread:"直径"},peopleMenu:{ChangePerson:"改变人物",Flip:"转身",Observer:"观察者",ViewFromThisPerson:"视角移到此人位置"},lightMenu:{Color:"颜色",Intensity:"亮度",Decay:"衰减",MaximumDistance:"最大距离",Inside:"内部"},solarCollectorMenu:{Coordinates:"坐标",RelativeXCoordinateOfCenter:"中心的相对X坐标",RelativeYCoordinateOfCenter:"中心的相对Y坐标",RelativeAzimuth:"相对方位角",Pole:"支柱",PoleHeight:"支柱高度",PoleRadius:"支柱半径",ExtraPoleHeight:"额外的支柱高度",ExtraPoleHeightInAdditionToHalfWidth:"宽度一半额外的支柱高度",DrawSunBeam:"显示光束"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"反射器镜面反射率",ReceiverAbsorptance:"接收器吸收率",ReflectorOpticalEfficiency:"反射器光效率",ReceiverThermalEfficiency:"接收器热效率"},solarPanelMenu:{ElectricalProperties:"电气特性",InverterEfficiency:"逆变器效率",InverterEfficiencyExplained:"直流电转换为交流电的效率。",DcToAcSizeRatio:"直流-交流容量比例",DcToAcSizeRatioExplained:"直流电容量和交流电容量的比例。",ChangePvModel:"改变光伏板型号",Orientation:"排列方向",Portrait:"纵向",Landscape:"橫向",FrameColor:"框架颜色",Panels:"块",PanelsWide:"块光伏板宽",PanelsLong:"块光伏板长",TiltAngle:"倾斜角度",SouthFacingIsPositive:"朝南为正",Tracker:"追日系统",SolarTrackerFollowsSun:"追日系统提高光伏板产出。",PoleSpacing:"支柱间隔",NoTracker:"无追日系统",HorizontalSingleAxisTracker:"水平单轴追日系统",VerticalSingleAxisTracker:"竖直单轴追日系统",AltazimuthDualAxisTracker:"地平双轴追日系统",OnlyThisSolarPanel:"只这个光伏板",AllSolarPanelsOnSurface:"同一表面上所有的光伏板",AllSolarPanelsAboveFoundation:"同一地基上所有的光伏板",AllSelectedSolarPanels:"所有选中的光伏板",AllSolarPanels:"所有的光伏板"},pvModelPanel:{SolarPanelSpecs:"光伏板型号性能",Model:"型号",PanelSize:"尺寸",Cells:"电池組",CellType:"光伏电池类型",Monocrystalline:"单晶硅",Polycrystalline:"多晶硅",ThinFilm:"薄膜",Bifacial:"双面",BifacialityFactor:"双面性因子",Black:"黑色",Blue:"蓝色",ShadeTolerance:"阴影耐受度",SolarCellEfficiency:"光伏电池效率",NominalOperatingCellTemperature:"名义电池运行温度",TemperatureCoefficientOfPmax:"Pmax温度系数"},parabolicTroughMenu:{ModuleLength:"模块长度",Modules:"模块",ModulesLong:"模块长",LatusRectum:"通径",OnlyThisParabolicTrough:"只这个抛物线槽",AllParabolicTroughsAboveFoundation:"同一地基上所有的抛物线槽",AllSelectedParabolicTroughs:"所有选中的抛物线槽",AllParabolicTroughs:"所有的抛物线槽"},fresnelReflectorMenu:{AbsorberPipe:"吸收管",SelectAbsorberToReflectSunlightTo:"选择阳光反射到的吸收管",ModuleLength:"模块长度",Modules:"模块",ModulesLong:"模块长",OnlyThisFresnelReflector:"只这个菲涅耳反射镜",AllFresnelReflectorsAboveFoundation:"同一地基上所有的菲涅耳反射镜",AllSelectedFresnelReflectors:"所有选中的菲涅耳反射镜",AllFresnelReflectors:"所有的菲涅耳反射镜"},heliostatMenu:{Tower:"吸收塔",SelectTowerToReflectSunlightTo:"选择阳光反射到的吸收塔",OnlyThisHeliostat:"只这个定日镜",AllHeliostatsAboveFoundation:"同一地基上所有的定日镜",AllSelectedHeliostats:"所有选中的定日镜",AllHeliostats:"所有的定日镜"},parabolicDishMenu:{ReceiverStructure:"接收器结构",CentralPole:"中心直柱",CentralPoleWithTripod:"三脚架和中心直柱",Quadrupod:"四脚架",RimDiameter:"外圈直径",LatusRectum:"通径",ExtraPoleHeightInAdditionToRadius:"半径之外额外的支架高度",OnlyThisParabolicDish:"只这个抛物线碟",AllParabolicDishesAboveFoundation:"同一地基上所有的抛物线碟",AllSelectedParabolicDishes:"所有选中的抛物线碟",AllParabolicDishes:"所有的抛物线碟"},windTurbineMenu:{BirdSafeDesign:"鸟类安全设计",BirdSafeNone:"无",BirdSafeBicolor:"双色",BirdSafeStriped:"条纹",Rotor:"转子",BladeNumber:"叶片数目",RotorInitialAngle:"转子初始角度",RotorBladeDesign:"转子叶片设计",RotorBladeRadius:"转子叶片半径",RotorBladePitchAngle:"转子叶片俯仰角",RelativeYawAngle:"相对偏流角",MaximumChordLength:"最大弦长度",Tower:"塔架",TowerHeight:"塔架高度",TowerRadius:"塔架半径",HubDesign:"转子轮毂设计",HubRadius:"轮毂半径",HubLength:"轮毂长度",OnlyThisWindTurbine:"只这个风力涡轮机",AllWindTurbinesAboveFoundation:"同一地基上所有的风力涡轮机",AllSelectedWindTurbines:"所有选中的风力涡轮机",AllWindTurbines:"所有的风力涡轮机"},wallMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",SizeOfWall:"墙的尺寸",OnlyThisWall:"只这堵墙",AllConnectedWalls:"所有连接的墙",AllWallsAboveFoundation:"同一地基上所有的墙",AllSelectedWalls:"所有选中的墙",AllWalls:"所有的墙",Windows:"窗户",LockAllUnlockedWindows:"固定所有非固定的窗户",UnlockAllLockedWindows:"解除所有的窗户固定",RemoveAllUnlockedWindows:"删除这堵墙上所有非固定的窗户",DoYouReallyWantToRemoveAllWindowsOnThisWall:"你确定删除这堵墙上所有非固定的窗户吗",Doors:"门",LockAllUnlockedDoors:"固定所有非固定的门",UnlockAllLockedDoors:"解除所有的门固定",RemoveAllUnlockedDoors:"删除这堵墙上所有非固定的门",DoYouReallyWantToRemoveAllDoorsOnThisWall:"你确定删除这堵墙上所有非固定的门吗",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"删除这堵墙上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"你确定删除这堵墙上所有非固定的光伏板吗",Sensors:"传感器",LockAllUnlockedSensors:"固定所有非固定的传感器",UnlockAllLockedSensors:"解除所有的传感器固定",RemoveAllUnlockedSensors:"删除这堵墙上所有非固定的传感器",DoYouReallyWantToRemoveAllSensorsOnThisWall:"你确定删除这堵墙上所有非固定的传感器吗",Lights:"电灯",LockAllUnlockedLights:"固定这堵墙上所有非固定的电灯",UnlockAllLockedLights:"解除这堵墙上所有的电灯固定",RemoveAllUnlockedLights:"删除这堵墙上所有非固定的电灯",DoYouReallyWantToRemoveAllLightsOnThisWall:"你确定删除这堵墙上所有非固定的电灯吗",Polygons:"多边形",LockAllUnlockedPolygons:"固定这堵墙上所有非固定的多边形",UnlockAllLockedPolygons:"解除这堵墙上所有的多边形固定",RemoveAllUnlockedPolygons:"删除这堵墙上所有非固定的多边形",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"你确定删除这堵墙上所有非固定的多边形吗",WallStructure:"墙结构",DefaultStructure:"默认",StudStructure:"墙柱",PillarStructure:"圆柱",Opacity:"遮光度",StructureSpacing:"结构间距",StructureWidth:"结构宽度",StructureThickness:"结构厚度",StructureColor:"结构颜色",Color:"牆体颜色",Height:"高度",Thickness:"厚度",Texture:"材质",AllLightsOnWallInside:"所有电灯在牆内",AllLightsOnWallOutside:"所有电灯在牆外",Fill:"填充",Full:"全部",Partial:"部分",Empty:"空白",OpenToOutside:"对外面开放",EavesLength:"屋檐延伸长度",Parapet:"女墙",ParapetColor:"女墙颜色",ParapetTexture:"女墙材质",ParapetHeight:"女墙高度",CopingsHeight:"顶盖高度",CopingsWidth:"顶盖宽度"},windowMenu:{OnlyThisWindow:"只这个窗户",AllWindowsOnSurface:"同一表面上所有的窗户",AllWindowsAboveFoundation:"同一地基上所有的窗户",AllSelectedWindows:"所有选中的窗户",AllWindows:"所有的窗户",Width:"宽度",Height:"高度",Setback:"离墙体外表面的距离",RelativeToWallThickness:"相对于墙的厚度",Mullion:"直棂",HorizontalMullion:"水平的直棂",VerticalMullion:"竖直的直棂",MullionWidth:"直棂宽度",HorizontalMullionSpacing:"水平直棂的间距",VerticalMullionSpacing:"竖直直棂的间距",MullionColor:"直棂颜色",Tint:"着色",Opacity:"不透明度",SolarHeatGainCoefficient:"太阳辐射热获取系数(SHGC) = 1 - 不透明度",Shutter:"百叶窗",LeftShutter:"左侧百叶窗",RightShutter:"右侧百叶窗",BothShutters:"两侧百叶窗",ShutterWidth:"相对宽度",ShutterColor:"百叶窗颜色",Frame:"边框",FrameWidth:"边框宽度",SillWidth:"窗台宽度",Color:"边框颜色",WindowType:"窗户种类",Default:"默认",Arched:"拱形",Polygonal:"多边形",Interior:"内窗",Empty:"空白"},roofMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",OnlyThisRoof:"只这个屋顶",AllRoofsAboveFoundation:"同一地基上所有的屋顶",AllSelectedRoofs:"所有选中的屋顶",AllRoofs:"所有的屋顶",OnlyThisCeiling:"只这个天花板",AllCeilingsAboveFoundation:"同一地基上所有的天花板",AllCeilings:"所有的天花板",EavesOverhangLength:"屋檐延伸长度",RafterSpacing:"屋椽间距",RafterWidth:"屋椽宽度",RafterThickness:"屋椽厚度",RafterColor:"屋椽颜色",RoofColor:"屋顶颜色",RoofSideColor:"屋顶侧面颜色",GlassTint:"玻璃颜色",Opacity:"遮光度",RoofStructure:"屋顶结构",DefaultStructure:"默认",RafterStructure:"屋椽",GlassStructure:"玻璃",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"删除这个屋顶上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"你确定删除这个屋顶上所有非固定的光伏板吗",Windows:"天窗",LockAllUnlockedWindows:"固定所有非固定的天窗",UnlockAllLockedWindows:"解除所有的天窗固定",RemoveAllUnlockedWindows:"删除这个屋顶上所有非固定的天窗",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"你确定删除这个屋顶上所有非固定的天窗吗",Sensors:"传感器",LockAllUnlockedSensors:"固定所有非固定的传感器",UnlockAllLockedSensors:"解除所有的传感器固定",RemoveAllUnlockedSensors:"删除这个屋顶上所有非固定的传感器",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"你确定删除这个屋顶上所有非固定的传感器吗",Lights:"电灯",RemoveAllUnlockedLights:"删除这个屋顶上所有非固定的电灯",DoYouReallyWantToRemoveAllLightsOnThisRoof:"你确定删除这个屋顶上所有非固定的电灯吗",AllLightsOnRoofInside:"所有电灯在屋顶内",AllLightsOnRoofOutside:"所有电灯在屋顶外",Rise:"相对高度",Ceiling:"天花板",RoofRValue:"屋顶R值",CeilingRValue:"天花板R值"},doorMenu:{TextureDefault:"默认材质",Texture01:"一号材质",Texture02:"二号材质",Texture03:"三号材质",Texture04:"四号材质",Texture05:"五号材质",Texture06:"六号材质",Texture07:"七号材质",Texture08:"八号材质",Texture09:"九号材质",Texture10:"十号材质",Texture11:"十一号材质",Texture12:"十二号材质",Texture13:"十三号材质",Texture14:"十四号材质",Texture15:"十五号材质",Texture16:"十六号材质",Texture17:"十七号材质",OnlyThisDoor:"只这个门",AllDoorsOnWall:"同一面墙上所有的门",AllDoorsAboveFoundation:"同一地基上所有的门",AllSelectedDoors:"所有选中的门",AllDoors:"所有的门",DoorType:"门种类",Default:"默认",Arched:"拱形",Filled:"填充",FrameColor:"门框颜色",Interior:"内门"},siteInfoPanel:{High:"最高温度",Low:"最低温度"},designInfoPanel:{NumberOfSelectedHeliostats:"选中的定日镜总数",NumberOfSelectedSolarPanels:"选中的光伏板总数",ElectricityGeneratedDailyBySolarPanels:"这些光伏板的日发电量",SceneDiameter:"场景直径",BuildingArea:"建筑面积"},visualizationControlPanel:{ColorContrast:"热图颜色对比度",FluxScale:"热通量长度",ClickUpOrDownArrowButtonsToChange:"点击上下箭头改变参数"},instructionPanel:{Rotate:"旋转",DragMouse:"拖动鼠标",Zoom:"缩放",MouseWheelOrKeys:"鼠标滚轮或者Ctrl+[和Ctrl+]",MouseWheelOrKeysMac:"鼠标滚轮或者⌘+[和⌘+]",Pan:"平移",HoldCtrlDragMouse:"按下Ctrl键并拖动鼠标",HoldMetaDragMouse:"按下⌘键并拖动鼠标",Enter2DMode:"進入二维模式",Exit2DMode:"退出二维模式",NavigationMode:"导航模式",EnableNavigation:"進入导航模式",DisableNavigation:"退出导航模式",MoveForwardBack:"前后移动",MoveForwardBackInstruction:"按W/S键",MoveLeftRight:"左右移动",MoveLeftRightInstruction:"按A/D键",MoveUpDown:"上下移动",MoveUpDownInstruction:"按Z/X键",Turn:"拐弯",TurnInstruction:"按方向键",ResetView:"重置视角",AutoRotate:"自动旋转",StartOrStop:"按F4键启动或停止"},mapPanel:{ImageOnGround:"地面显示图像",HideAddress:"隐藏地址",WeatherStations:"气象站",WeatherStationsNote:"关闭此选项以提高地图速度",Coordinates:"经纬度坐标",Zoom:"放大程度"},visibilityPanel:{SolarPanelVisibility:"光伏板对观察者的可见度",Observer:"观察者",VantagePoint:"观察位置",ItemizedVisibilityByFields:"每个场的可见度",TotalVisibility:"总可见度"},sensorPanel:{LightSensor:"光传感器",WeatherDataFrom:"气象数据来自"},buildingEnergyPanel:{DailyBuildingEnergy:"建筑物日能耗",YearlyBuildingEnergy:"建筑物年能耗",Heater:"暖气",AC:"空调",SolarPanel:"光伏",Net:"净能耗"},solarPanelYieldPanel:{SolarPanelDailyYield:"光伏日发电量",SolarPanelYearlyYield:"光伏年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualSolarPanels:"显示每行光伏板单独发电量",Profit:"利润",TotalCost:"总成本",TotalRevenue:"总收入",TotalYield:"总发电量",MeanYield:"平均发电量",ModuleCount:"光伏板总数"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"抛物线槽日发电量",ParabolicTroughYearlyYield:"抛物线槽年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualParabolicTroughs:"显示每行抛物线槽单独发电量"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"抛物线碟日发电量",ParabolicDishYearlyYield:"抛物线碟年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualParabolicDishes:"显示每个抛物线碟单独发电量"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"菲涅耳反射镜日发电量",FresnelReflectorYearlyYield:"菲涅耳反射镜年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualFresnelReflectors:"显示每个菲涅耳反射镜单独发电量"},heliostatYieldPanel:{HeliostatDailyYield:"定日镜日发电量",HeliostatYearlyYield:"定日镜年发电量",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualHeliostats:"显示每个定日镜单独发电量"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"太阳能上升气流塔日发电量",UpdraftTowerYearlyYield:"太阳能上升气流塔年发电量",ChimneyAirTemperature:"烟囱空气温度",ChimneyWindSpeed:"烟囱风速",Yield:"发电量",YieldPerHour:"每小时发电量",DailyTotal:"日发电总量",YearlyTotal:"年发电总量",ShowOutputsOfIndividualUpdraftTowers:"显示每个太阳能上升气流塔单独发电量"},heliodonPanel:{SunAndTimeSettings:"太阳和时间设置",SunAngles:"角度",TwentyFourHours:"24小时"},cloudFilePanel:{CopyTitle:"拷贝标题",TitleCopiedToClipBoard:"标题拷贝到剪贴板",SearchByTitle:"按标题搜索",MyLikes:"我喜欢的模型",MyCloudFiles:"我的云文件",GenerateLink:"生成链接",LinkGeneratedInClipBoard:"链接生成到剪贴板",DoYouReallyWantToDelete:"您确定删除此文件",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"如果此文件已被分享或发布, 改名会使已有链接失效"},projectListPanel:{CopyTitle:"拷贝标题",TitleCopiedToClipBoard:"标题拷贝到剪贴板",SearchByTitle:"按标题搜索",MyProjects:"我的项目",GenerateProjectLink:"生成项目链接",ProjectLinkGeneratedInClipBoard:"项目链接生成到剪贴板",DoYouReallyWantToDeleteProject:"您确定删除项目",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"如果此项目已被分享或发布, 改名会使已有链接失效"},projectPanel:{ProjectSettings:"项目设定",ThumbnailImageSize:"缩略图大小",ProjectByOtherPeople:"别人的项目",Project:"项目",ProjectType:"类别",ProjectDescription:"描述",MakeDescriptionEditable:"编辑描述",MakeDescriptionNonEditable:"不编辑描述",DoubleClickToMakeDescriptionEditable:"双击此描述激活编辑功能",SolarPanelArray:"光伏板阵列设计",CurateCurrentDesign:"收藏当前设计",UpdateSelectedDesign:"更新选中设计",RemoveSelectedDesign:"删除选中设计",ClickToFlipSortingOrder:"点击逆转排序方向",DesignNotShownInSolutionSpaceClickToShow:"此设计目前不显示在设计空间内,点击显示",DesignShownInSolutionSpaceClickToHide:"此设计目前显示在设计空间内,点击隐藏",SolutionSpace:"设计空间",ChooseSolutionSpace:"选择设计空间",ChooseDataColoring:"选择数据着色",SameColorForAllDesigns:"所有设计一个颜色",OneColorForEachDesign:"每个设计一个颜色",SolutionSpaceScreenshot:"设计空间截屏",ScatterPlotScreenshot:"散点图截屏",SingleClickToSelectDoubleClickToOpen:"单击选择,双击打开。",SingleClickToDeselectDoubleClickToOpen:"单击取消选择,双击打开。",GenerateScatterPlot:"生成散点图",SelectXAxis:"选择X轴",SelectYAxis:"选择Y轴"},accountSettingsPanel:{MyAccountSettings:"我的账户设定",MyID:"我的🆔",ClickToCopyMyID:"点击此处拷贝我的ID",IDInClipBoard:"您现在可以粘贴ID了。",StoreMyNameInMyFilesWhenSaving:"保存文件时签上我的大名",DoYouReallyWantToShowYourNameInYourFiles:"您确定在您的文件里保存您的大名吗?",SignFileDisclaimer:"如果您选择保存,您的大名可能被所有打开您的文件的人看到。",Likes:"点赞总数",AllPublished:"发布总数",PublishedUnderAliases:"别名发布",UserCount:"用户总数",SchoolID:"学校编号",ClassID:"班级编号"},weatherPanel:{SunshineHours:"日照时间"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"选择气温模型",Sinusoidal:"正弦函数"},economicsPanel:{EconomicsParameters:"经济学参数",ElectricitySellingPrice:"销售电价",OperationalCostPerUnit:"单位运行成本",SellingPrice:"销售电价",UnitCost:"单位成本"},navigationPanel:{NavigationParameters:"导航模式参数",MinimumMoveSpeed:"最小移动速度",MinimumTurnSpeed:"最小拐弯速度"},shadowSettingsPanel:{ShadowSettings:"阴影设定",ShadowCameraFarDistance:"最远距离",ShadowMapSize:"映射图长宽",Notes:"注意事项",RefreshPageNote:"改变设置后须刷新页面。",MapSizeWarning:"大的映射图长宽可能导致阿拉丁无法在某些电脑上运行。"},yearlyLightSensorPanel:{SkyClearness:"天空清晰度",ShowDaylightResults:"显示日照时间结果",ShowSkyClearnessResults:"显示天空清晰度结果",ShowAverageDailySolarRadiation:"显示日平均辐射结果"},analysisManager:{NoSensorForCollectingData:"没有传感器收集数据。",NoSolarPanelForAnalysis:"没有光伏板可以分析。",NoObserverForVisibilityAnalysis:"没有找到可见度分析的观察者。",NoWaterHeaterForAnalysis:"沒有太阳能热水器可以分析。",NoParabolicDishForAnalysis:"沒有抛物线碟可以分析。",NoParabolicTroughForAnalysis:"沒有抛物线槽可以分析。",NoFresnelReflectorForAnalysis:"沒有菲涅耳反射镜可以分析。",NoHeliostatForAnalysis:"沒有定日镜可以分析。",NoSolarUpdraftTowerForAnalysis:"沒有太阳能上升气流塔可以分析。",NoBuildingForAnalysis:"沒有建筑物可以分析。"},toolbar:{CloudFile:"云文件",Select:"选择",AddFoundation:"添加地基",AddWall:"添加墙体",AddWindow:"添加窗户",AddDoor:"添加门",AddPyramidRoof:"添加金字塔屋顶",AddGableRoof:"添加双坡屋顶",AddHipRoof:"添加四坡屋顶",AddGambrelRoof:"添加复斜屋顶",AddMansardRoof:"添加折线屋顶",AddCuboid:"添加长方体",AddSensor:"添加传感器",AddSolarPanel:"添加光伏板",AddWaterHeater:"添加太阳能热水器",AddParabolicDish:"添加抛物线碟",AddParabolicTrough:"添加抛物线槽",AddFresnelReflector:"添加菲涅耳反射镜",AddHeliostat:"添加定日镜",AddWindTurbine:"添加水平轴风力涡轮机",AddVerticalAxisWindTurbine:"添加垂直轴风力涡轮机",AddLight:"添加电灯",AddTree:"添加树木",AddFlower:"添加花草",AddPeople:"添加人物",DoubleClickToLockThisModeForNextAction:"双击按钮给下个动作锁定此模式",ClickToUnlockThisModeForNextAction:"点击按钮让动作完成即离开此模式",ManipulateGroup:"整体操作一个组",ClearScene:"清空场景",ShowSunAndTimeSettings:"显示太阳和时间设置",SpatialAnalysisOfEnergy:"能量的空间分析",DoYouReallyWantToClearContent:"您确定清空场景吗",ClickForMoreButtons:"点击此处切换到更多的按钮模式"},tooltip:{gotoIFI:"访问未来智能研究所",visitAladdinHomePage:"访问阿拉丁主页",clickToOpenMenu:"点击打开主菜单",clickToAccessAccountSettings:"点击打开账号设定"},tree:{Apple:"苹果树",Birch:"白桦",Coconut:"椰子树",Dogwood:"茱萸",Elm:"榆树",FanPalm:"扇叶棕榈",Linden:"菩提",Magnolia:"玉兰",Maple:"枫树",Oak:"橡树",Pine:"松树",Spruce:"云杉"},flower:{Bellflower:"铃兰",Boxwood:"黄杨",CactusCombo1:"仙人掌组合一",CactusCombo2:"仙人掌组合二",CactusCombo3:"仙人掌组合三",CactusCombo4:"仙人掌组合四",Hibiscus:"木槿",Hosta:"玉簪",Hydrangea:"绣球花",Peony:"牡丹",RedRose:"红玫瑰",Spirea:"绣线菊",Sunflower:"向日葵",TallBush:"高灌木",Tulip:"郁金香",WhiteFlower:"白花",YellowFlower:"黄花"},people:{Jaah:"贾阿",Jack:"杰克",Jacob:"雅各布",Jacqueline:"杰奎琳",Jade:"美玉",Jamelia:"洁米莉雅",James:"詹姆斯",Jane:"简",Jaya:"佳娅",Jaye:"杰伊",Jeanette:"珍妮特",Jedi:"杰迪",Jeff:"杰夫",Jena:"珍娜",Jennifer:"珍尼弗",Jess:"杰西",Jett:"杰特",Jill:"吉尔",Jiya:"吉娅",Joan:"琼",Jocelyn:"乔斯林",Joel:"乔尔",Joey:"乔伊",John:"约翰",Jonathon:"乔纳森",Jose:"何塞",Joseph:"约瑟夫",Joshua:"约书亚",Judd:"贾德",Judy:"朱蒂",Julia:"朱莉娅",Julio:"胡里奥",Jumapili:"祖玛匹莉",June:"准卫",Juro:"朱诺",Justin:"贾斯汀"},compass:{N:"北",S:"南",W:"西",E:"东"},month:{January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},modelsMap:{SearchByPublisher:"按发布者搜索",SearchByLabel:"按标签搜索",MyPublishedModels:"我发布的模型",TotalNumberOfUserPublishedModels:"用户发布的模型总数",SortFromOldestToNewest:"从早到晚排序",SortFromNewestToOldest:"从晚到早排序",ModelsFoundOnThisSite:"个模型在此位置",ShowModelsPublishedByThisAuthor:"展示此用户发布的模型"}}},_ft={translation:{name:{IFI:"未來智能研究所",Aladdin:"阿拉丁",Tagline:"阿拉丁: 探索人工智慧時代的設計軟體 — 未來智能研究所研發"},cookie:{Statement:"聲明:為了改善您的用戶體驗,阿拉丁採用cookie儲存少量數據。",Accept:"同意"},aboutUs:{ProductBroughtToYouBy:"未來智能研究所榮譽出品",TermsOfService:"服務條款",PrivacyPolicy:"隱私政策",Software:"軟體",Content:"課件",Research:"研究",Support:"服務",Acknowledgment:"鳴謝",FundingInformation:"本產品的研發承蒙美國國家科學基金會慷慨資助(項目號#2105695,#2131097,#2301164)。本產品的任何觀點或結論僅代表創作者個人意見。",Contact:"如您需要更多資訊,請聯繫 Charles Xie (charles@intofuture.org)。我們會盡快回复。",Translators:"翻譯"},word:{LastUpdate:"上一次更新",Small:"小",Medium:"中",Large:"大",Design:"設計",Information:"資訊",Type:"類别",Text:"文字",FontSize:"字體大小",FontColor:"字體顏色",Model:"模型",Models:"模型",Upload:"上傳",ClickCount:"點擊數",Share:"分享",AlreadyLike:"已點贊",Like:"點贊",MustLogInToLike:"必須登錄才能點贊",AllRightsReserved:"版權所有",MeterAbbreviation:"米",Version:"版本",VersionInitial:"版本",Options:"選項",Maximum:"最大",Minimum:"最小",MaximumNumber:"最多",MinimumNumber:"最少",MaximumValue:"最大值",MinimumValue:"最小值",Or:"或",None:"無",High:"高",Partial:"部分",Teacher:"老師",Class:"班級",Total:"總數",Leaderboard:"用戶排行榜",Latest:"最新",Range:"範圍",SIUnit:"國際單位制",USUnit:"美國單位制",ThermalTransmittance:"熱透過率",ThermalResistance:"熱阻",UValue:"U值",RValue:"R值",VolumetricHeatCapacity:"容積熱容",BuildingHVACSystem:"建築物暖通空調系統",ThermostatSetpoint:"恆溫器設定值",TemperatureToleranceThreshold:"溫度忍耐閾值",TemperatureToleranceThresholdExplanation:`當日最低外面溫度高於恆溫器設定值減去此閾值,暖氣不開。 +當日最高外面溫度低於恆溫器設定值加上此閾值,空調不開。`,Press:"按",Open:"打開",Save:"保存",SaveAsImage:"保存為圖像",SaveAsCsv:"保存為CSV",Update:"刷新",Paste:"粘貼",Copy:"複製",Cut:"剪切",Delete:"删除",Lock:"固定",Translucent:"半透明",Color:"顏色",Pattern:"圖案",Texture:"材質",Thickness:"厚度",Size:"尺寸",Yes:"是",No:"不",OK:"確定",Cancel:"取消",Apply:"應用",Close:"關閉",ApplyTo:"適用於",Run:"運行",Pause:"暫停",Resume:"繼續",Clear:"清空",Warning:"警告",Caution:"小心",Reminder:"提醒",Length:"長度",Width:"寬度",Height:"高度",Radius:"半徑",Angle:"角度",Azimuth:"方位角",Coordinates:"坐標",Weather:"天氣",Show:"顯示",Animate:"動畫",Date:"日期",Time:"時間",Title:"標題",Owner:"所有者",Action:"操作",Rename:"改名",Location:"位置",Latitude:"緯度",Month:"月份",Day:"天",Hour:"小時",Daylight:"白天長度",Radiation:"輻射",Temperature:"温度",kWh:"千瓦時",dollar:"元",MeterPerSecond:"米/秒",NorthInitial:"北",SouthInitial:"南",EastInitial:"東",WestInitial:"西",Fixed:"固定",Elements:"部件",Energy:"能量",Unknown:"未知",Label:"標籤",Description:"描述",NoDescription:"無描述",MaximumCharacters:"最多字符數",Author:"作者",Publisher:"發布者",Building:"建築",ResidentialBuilding:"住宅建築",CommercialBuilding:"商用建築",SchoolBuilding:"學校建築",TouristAttraction:"旅遊景點",UnderConstruction:"在建",Photovoltaic:"光伏",WindPower:"風能",ColocationProjects:"共用空間專案",Anonymous:"無名氏",Nickname:"别名",Pin:"置頂",Unpin:"解除置頂"},shared:{NoTexture:"無材質",FoundationElement:"地基",CuboidElement:"長方體",PolygonElement:"多邊形",SensorElement:"傳感器",SolarPanelElement:"光伏板",WaterHeaterElement:"太陽能熱水器",ParabolicDishElement:"拋物線碟",ParabolicTroughElement:"拋物線槽",FresnelReflectorElement:"菲涅耳反射鏡",HeliostatElement:"定日鏡",WindTurbineElement:"風力渦輪機",LightElement:"電燈",ElementLocked:"固定",ModelType:"模型類别",OutputBreakdown:"分列發電量",MoreResults:"更多結果"},message:{CalculationMayBeSlowDoYouWantToContinue:"計算可能會很慢。您想繼續嗎?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"加大太陽輻射熱圖網格的尺寸可加速",ModelNotFound:"沒有找到模型",CannotSignIn:"登錄失敗",CannotSignOut:"退出失敗",YourAccountWasCreated:"成功建立您的賬號。",CannotCreateAccount:"無法創建賬號",YourAccountSettingsWereSaved:"您的賬號設定已保存。",CannotSaveYourAccountSettings:"您的賬號設定無法保存",CannotSaveYourFileToCloud:"無法保存您的文檔到雲端",CannotCreateNewProject:"無法創建新專案",CannotCreateNewProjectWithoutTitle:"沒有標題, 無法創建新專案",CannotOpenYourProjects:"無法打開您的專案列表",CannotOpenProject:"無法打開專案",CannotDeleteProject:"無法刪除專案",CannotRenameProject:"無法給專案改名",CannotAddDesignToProject:"無法把此設計加到專案裡",CannotAddDesignToProjectOwnedByOthers:"不能把此設計加到別人的專案裡",DesignRemovedFromProject:"設計被成功地從專案裡刪除",CannotRemoveDesignFromProject:"無法把此設計從專案裡刪除",CannotUpdateProject:"無法更新專案",CannotFetchProjectData:"無法取得專案數據",TitleUsedChooseDifferentOne:"此標題已經被使用, 請採用不同的標題",CloudFileWithTitleExistsDoYouWantToOverwrite:"使用此標題的雲文檔已經存在,您確定要覆蓋它嗎?",CloudFileNotFound:"找不到此云端文檔",CannotLoadModelsOnMap:"無法下載地圖上的模型",CannotLoadLeaderboard:"無法下載排行榜",CannotPublishModelOnMap:"模型無法發佈到地圖上",CannotLikeModelFromMap:"無法點贊地圖上的模型",CannotDeleteModelFromMap:"無法删除地圖上的模型",ModelDeletedFromMap:"模型已從地圖上刪除",DoYouWantToDeleteModelFromMap:"您要删除地圖上的這個模型嗎?",CannotOpenCloudFile:"此云端文檔無法打開",CannotReadCloudFile:"無法讀取此云端文檔",CannotWriteCloudFile:"無法存儲此云端文檔",CloudFileCopied:"拷貝云端文檔",CannotOpenCloudFolder:"您的雲端文檔夾無法打開",CannotDeleteCloudFile:"無法刪除此云端文檔",CannotRenameCloudFile:"此云端文檔的名字無法更改",DoYouWantToSaveChanges:"您要保存當前文檔嗎?",NotApplicableToSelectedAction:"此值不適用於當前選擇範圍",ThisElementIsLocked:"這個部件被鎖定。",ThisCannotBeUndone:"這個操作一旦執行就不能撤銷。",AzimuthOfNorthIsZero:"正北的方位角為零度",CounterclockwiseAzimuthIsPositive:"逆時針為正",SouthFacingIsZero:"朝南為零度",ClockwiseRotationIsPositive:"順時針為正",MoveCancelledBecauseOfOverlap:"位置重疊,移動取消。",MoveOutsideBoundaryCancelled:"位置出界,移動取消。",RotationCancelledBecauseOfOverlap:"位置重疊,旋轉取消。",RotationOutsideBoundaryCancelled:"位置出界,旋轉取消。",ResizingCancelledBecauseOfOverlap:"位置重疊,尺寸調整取消。",ResizingOutsideBoundaryCancelled:"位置出界,尺寸調整取消。",CannotPasteOutsideBoundary:"位置出界,不能複制。",CannotPasteBecauseOfOverlap:"位置重疊,不能複制。",CannotMoveObjectTooFar:"位置太遠,移動取消。",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"採用新佈局之前必須移除現有的光伏板。",DoYouWantToContinue:"您想繼續嗎?",SolarPanelsCannotIntersectWithGround:"光伏板不能和地面接觸。",SolarPanelsCannotOverlapWithOneAnother:"光伏板不能重疊。",ScreenshotSaved:"截屏圖片保存在下載文檔夾裡。",CsvFileSaved:"CSV保存在下載文檔夾裡。",SimulationStarted:"模擬開始。",SimulationCompleted:"模擬結束。",SimulationAborted:"模擬取消。",SimulationPaused:"模擬暫停。",CancelSimulation:"取消模擬",PauseSimulation:"暫停模擬",ResumeSimulation:"繼續模擬",SimulationWillNotStartDueToErrors:"由於錯誤模擬無法運行",SimulationWillStartDespiteWarnings:"發現問題,但模擬仍然將運行。",EvolutionStarted:"演化開始。",EvolutionCompleted:"演化結束。",EvolutionAborted:"演化取消。",EvolutionPaused:"演化暫停。",EncounterEvolutionError:"演化出錯。",CancelEvolution:"取消演化",PauseEvolution:"暫停演化",ResumeEvolution:"繼續演化",ConvergenceThresholdHasBeenReached:"收斂閾值已達到。",MaximumNumberOfGenerationsHasBeenReached:"最大世代數已達到。",MaximumNumberOfStepsHasBeenReached:"最大步數已達到。",ObjectiveFunctionTypeError:"此操作不支持當前的目標函數。請從菜單啟動此功能。",WallsAreNotAtSameHeight:"墻體高度不同。",WallsAreNotPerpendicular:"墻體不垂直。",WallsAreNotConnected:"墻體不相連。",WallsNumberNeedToBeFour:"墻體數量必須為四個。",BuildingContainsEmptyWall:"建築物有空牆。",BuildingRoofMissing:"建築物沒有屋頂。",UnknownErrors:"未知錯誤。"},menu:{AnalysisOptions:"分析選項",option:{GridCellSize:"計算網格的尺寸",SamplingFrequency:"採樣頻率",TimesPerHour:"每小時採樣次數",DaysPerYear:"每一年採樣天數"},mainMenu:"主菜單",cloudMenu:"雲菜單",projectSubMenu:"專案",project:{CreateNewProject:"創建新專案",OpenProject:"打開專案",SaveProject:"保存專案",SaveProjectAs:"另存專案為",YouMustLogInToCreateProject:"您必須登錄才能創建專案",YouMustLogInToOpenProject:"您必須登錄才能打開專案"},fileSubMenu:"文檔",file:{CreateNewFile:"創建新文檔",OpenLocalFile:"打開本地文檔",SaveAsLocalFile:"保存為本地文檔",SavingAbortedMustHaveValidFileName:"文檔名無效,保存失敗",OpenCloudFile:"打開雲端文檔",SaveCloudFile:"保存雲端文檔",SaveAsCloudFile:"另存雲端文檔為",SavingAbortedMustHaveValidTitle:"雲端文檔名無效,保存失敗",ToSaveYourWorkPleaseSignIn:"為了保存您的雲端文檔,請先登錄。",TakeScreenshot:"截屏",UseCloudFileName:"採用雲端文件名",PublishOnModelsMap:"發佈到地圖上",PublishedOnModelsMap:"您的模型成功發佈到地圖上",UpdatedOnModelsMap:"您的模型更新成功",YouMustLogInToPublishYourModel:"您必須登錄才能發布模型",YouCannotPublishAModelThatYouDoNotOwn:"您不能發布他人的模型",YouMustSaveModelOnCloudBeforePublishingIt:"您必須先把此模型保存在雲端才能發布它"},editSubMenu:"編輯",edit:{Undo:"撤銷",Redo:"重做"},viewSubMenu:"視界",view:{NavigationView:"導航模式",TwoDimensionalView:"二維模式",ResetView:"重置視角",ZoomIn:"放大",ZoomOut:"縮小",AutoRotate:"自動旋轉",ShowShadow:"顯示陰影",ShowSurfaceShininess:"顯示表面光澤",TranslucentFloatingWindows:"透明浮動窗口",accessoriesSubMenu:"配件",accessories:{SiteInformation:"位置資訊",DesignInformation:"設計資訊",Instruction:"操作說明",StickyNote:"便簽",Note:"便簽"}},settingsSubMenu:"設置",settings:{WeatherData:"氣象數據",DiurnalTemperature:"晝夜溫度",Heliodon:"日影儀",SunAndTime:"太陽和時間"},benchmarksSubMenu:"基準",benchmarks:{SolarRadiationPredictionVsMeasurement:"太陽能輻射模型預測和實際測量的對比",BESTESTCase600:"建築物能耗模擬測試:BESTEST案例600",BESTESTCase610:"建築物能耗模擬測試:BESTEST案例610",BESTESTCase620:"建築物能耗模擬測試:BESTEST案例620",BESTESTCase630:"建築物能耗模擬測試:BESTEST案例630"},graph:{LineWidth:"線條寬度",SymbolSize:"符號大小",BarCategoryGap:"直條間隙",ShowHorizontalGridLines:"顯示格子的水平線條",ShowVerticalGridLines:"顯示格子的豎直線條"},analysisSubMenu:"分析",physicsSubMenu:"物理",physics:{DailySolarRadiationHeatmap:"當日太陽輻射總量分佈熱圖",SolarRadiationHeatmapOptions:"太陽輻射熱圖選項",SolarRadiationHeatmapGridCellSize:"太陽輻射熱圖網格的尺寸",SolarRadiationHeatmapMaxValue:"太陽輻射熱圖最大值",SolarRadiationHeatmapNoAnimation:"若無移動部件則省略動畫",ReflectionHeatmap:"反射熱圖"},sensorSubMenu:"傳感器",sensor:{CollectDailyData:"收集當天數據",CollectYearlyData:"收集全年數據",SensorSimulationNoAnimation:"若無移動部件則省略動畫"},buildingSubMenu:"建築物",building:{AnalyzeDailyBuildingEnergy:"建築物當天能耗分析",AnalyzeYearlyBuildingEnergy:"建築物全年能耗分析",EnergyAnalysisOptions:"能耗分析選項",EnergyGridCellSize:"計算網格的尺寸",BuildingEnergySimulationNoAnimation:"若無移動部件則省略動畫"},solarPanelSubMenu:"太陽能光伏板",solarPanel:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出",AnalyzeVisibility:"分析可見度",PanelDiscretization:"光伏板離散化方法",Exact:"準確",Approximate:"近似",EnergyGridCellSize:"計算網格的尺寸",VisibilityGridCellSize:"視界因子計算網格的尺寸",EnergyAnalysisOptions:"能量分析選項",VisibilityAnalysisOptions:"可見度分析選項",SolarPanelSimulationNoAnimation:"若無移動部件則省略動畫"},parabolicTroughSubMenu:"拋物線槽",parabolicTrough:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},parabolicDishSubMenu:"拋物線碟",parabolicDish:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},fresnelReflectorSubMenu:"菲涅爾反射鏡",fresnelReflector:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},heliostatSubMenu:"定日鏡",heliostat:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出"},solarUpdraftTowerSubMenu:"太陽能上升氣流塔",solarUpdraftTower:{AnalyzeDailyYield:"分析當天產出",AnalyzeYearlyYield:"分析全年產出",SolarUpdraftTowerSimulationNoAnimation:"若無移動部件則省略動畫"},tutorialsSubMenu:"教程",solarEnergyScienceSubMenu:"太陽能科學",solarEnergyScienceTutorials:{SunAngles:"太陽相對於地面觀察者的角度",InsolationAndClimate:"太陽輻射和氣候的關係",SolarRadiationToBox:"一個長方體受到的太陽能輻射分析"},buildingScienceSubMenu:"建築科學",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"房屋的熱學封套和圍護封套",EffectOfSizeOnBuildingEnergy:"房屋大小對能耗的影響",EffectOfOrientationOnBuildingEnergy:"房屋方位對能耗的影響",EffectOfInsulationOnBuildingEnergy:"房屋隔熱對能耗的影響",EffectOfRoofColorOnBuildingEnergy:"屋頂顏色對建築物能耗的影響",EffectOfEavesOverhangLengthOnBuildingEnergy:"屋簷延伸長度對建築物能耗的影響",EffectOfWindowSHGCOnBuildingEnergy:"窗戶太陽能輸入對房屋能耗的影響",EffectOfThermostatSetpointOnBuildingEnergy:"恆溫器設定值對房屋能耗的影響",EffectOfSolarPanelsOnBuildingEnergy:"光伏板對房屋能耗的影響",EffectOfGroundTemperatureOnBuildingEnergy:"地表温度對房屋能耗的影響",EffectOfTreesOnBuildingEnergy:"樹蔭對房屋能耗的影響"},buildingDesignSubMenu:"建築設計",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"有棚頂窗的科德角風格的住宅",MansardRoofWithDormers:"有天窗的折線屋頂",GableRoofVsHipRoof:"雙坡屋頂和四坡屋顶的對比",ColonialVsSaltbox:"殖民地風格和鹽盒風格的對比",GambrelRoofVsMansardRoof:"复斜屋顶和折線屋頂的對比",CombinationRoofVsBonnetRoof:"組合屋頂和帽簷屋頂的對比",DutchGableRoof:"荷蘭雙坡屋頂",GableAndValleyRoof:"坡谷屋頂",ClerestoryRoof:"天窗屋頂",MonitorRoof:"採光屋頂",AFrameHouse:"A字形房子",HalfTimberedHouse:"半木骨架房子",AllBasicRoofTypes:"所有的基本屋頂類型"},photovoltaicSolarPowerSubMenu:"光伏發電",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"光伏板傾斜角對發電量的影響",EffectOfAzimuthOfSolarPanel:"光伏板方位角對發電量的影響",SolarPanelTypes:"光伏板類型",VerticalBifacialSolarPanels:"豎直的雙面光伏板",CompareMonofacialAndBifacialSolarPanels:"單面光伏板和雙面光伏板的對比",SolarTrackers:"自動追日器",CoveringGroundWithSolarPanels:"為什麼我們不簡單地用光伏板覆蓋地面",InterRowSpacingOfSolarPanelArray:"光伏板陣列行間距對發電量的影響",EffectOfOrientationOfSolarPanels:"光伏板排列方向對發電量的影響",SolarPanelArrayAutomaticLayout:"光伏板自動排列"},concentratedSolarPowerSubMenu:"光熱發電",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"拋物線槽方位角對發電量的影響",EffectOfLatusRectumOfParabolicTrough:"拋物線槽通徑對發電量的影響",FocusSunlightWithParabolicDish:"用拋物線碟聚焦阳光",LinearFresnelReflectors:"用直線式菲涅爾反射鏡聚焦阳光",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"吸熱管的安装高度對直線式菲涅爾反射鏡發電量的影響",EffectOfAzimuthOfLinearFresnelReflectors:"直線式菲涅爾反射鏡方位角對發電量的影響",LinearFresnelReflectorsWithTwoAbsorbers:"配備兩個吸收管的直線式菲涅爾反射鏡陣列",CosineEfficiencyOfHeliostats:"定日鏡的餘弦效率",ShadowingAndBlockingOfHeliostats:"定日鏡的陰影和遮擋",EffectSolarPowerTowerHeight:"吸收塔高度對發電量的影響",SolarPowerTower:"塔式光熱發電站"},otherTypesOfSolarPowerSubMenu:"其它類型的太陽能發電",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"太陽能上升氣流塔"},windPowerSubMenu:"風力發電",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"轉子葉片的數目對風力渦輪機輸出的影響",EffectOfPitchAngleOfWindTurbineBlades:"轉子葉片的俯仰角對風力渦輪機輸出的影響",BirdSafeBladeDesign:"對鳥類安全的葉片設計",OffshoreWindFarm:"離岸風電場"},colocationSubMenu:"共用空間項目",colocationTutorials:{AgricultureSolarWindColocation:"農業光電風力共用空間"},generativeDesignSubMenu:"生成式設計",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"單面光伏板陣列的傾斜角",BifacialSolarPanelArrayTiltAngle:"雙面光伏板陣列的傾斜角",OutputOfSolarPanelArrayInDifferentPlaces:"一個光伏板陣列在不同地區的產出",SimpleSolarFarmParetoFront:"簡單太陽能農場設計的帕累托前沿"},examplesSubMenu:"例子",solarEnergySubMenu:"太陽能",solarEnergyExamples:{SunBeamAndHeliodon:"太陽光束和日影儀",RooftopSolarPanels:"屋頂光伏板",NevadaSolarOneParabolicTroughArray:"內華達州太陽能一號的拋物線槽陣列",TooeleParabolicDishArray:"猶他州圖埃勒的拋物線碟陣列",PS10SolarPowerTower:"西班牙塞維利亞的PS10太陽能發電塔",TucsonLinearFresnelReflectors:"亞利桑那州圖森的直線式菲涅爾反射鏡陣列",SolarCanopyFormFactors:"太陽能天篷外形設計",SolarCanopyOverBleachers:"看台太陽能天篷",SolarCanopyOverGarage:"車庫太陽能天篷",SolarBusStop:"太陽能候車亭",SolarFacadeTesla:"特斯拉光伏牆",BuildingIntegratedPhotovoltaics:"建築整合光伏",Floatovoltaics:"浮動光伏",Agrivoltaics:"農業光伏",VegetativeBuffer:"太陽能農場绿化带",RainbowSwashSolarFarmBostonMA:"馬薩諸塞州波士頓彩虹激流旁邊的光伏板陣列",MickeyMouseSolarFarmOrlandoFL:"佛羅里達州奧蘭多的米老鼠形狀光伏板陣列",SolarPanelsOverCanalBakersfieldCA:"加利福尼亞州貝克斯菲爾德灌溉渠上假想的光伏板陣列",SolarNoiseBarrierLexingtonMA:"馬薩諸塞州列剋星敦高速公路噪音牆上假想的光伏板",HSATSolarTrackersRaleighNC:"北卡羅來納州羅利的一個水平方向單軸旋轉追日光伏板陣列(HSAT)",AADATSolarTrackersLancasterCA:"加利福尼亞州蘭開斯特的一個雙軸旋轉追日光伏板陣列(AADAT)",SolarTrackersInRealWorld:"模擬",SolarUpdraftTowerInCity:"太陽能上升氣流塔在城市中的應用"},builtEnvironmentSubMenu:"建造環境",residentialBuildingsSubMenu:"住宅建築",residentialBuildingExamples:{ColonialHouse:"殖民地風格的住宅",DutchColonialHouse:"荷蘭殖民地風格的住宅",TShapedHouse:"T字型房子",CapeCodHouseWithGarage:"有車庫的科德角風格的住宅",Solarium:"有日光浴室的房子",Church1:"教堂例一",Cathedral1:"主教座堂例一",Cathedral2:"主教座堂例二",Mosque1:"清真寺例一",AdobeTaosHouse:"陶斯土坯房",RanchHouse:"牧場風格的住宅",BonnetHouse:"有帽簷屋頂的住宅",BarnStyleHouse:"穀倉式風格的住宅",ModernHouse:"現代風格的住宅",ButterflyRoofHouse:"蝴蝶型屋頂的住宅"},commercialBuildingsSubMenu:"商用建築",commercialBuildingExamples:{WhiteHouse:"白宫",BilimMersinTurkiye:"土耳其梅爾辛科學教育中心",SpanishStyleHotel:"西班牙風格旅館",ApartmentBuilding:"公寓樓",OfficeBuilding:"寫字樓",Hotel:"旅館"},buildingComplexesSubMenu:"建築群",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"佛蒙特州南伯靈頓高中",MescaleroApacheSchoolNewMexico:"新墨西哥州梅斯卡勒羅阿帕奇學校"},urbanPlanningSubMenu:"城市規劃",urbanPlanningExamples:{Heatmap1:"熱圖例一"},otherBuildingsSubMenu:"其它建築",otherBuildingExamples:{Greenhouse:"溫室",Pavilion:"公園的亭子",OctagonalPagoda:"八角塔",OceanFront:"海邊",EgyptianPyramids:"埃及金字塔",MayanPyramid:"瑪雅金字塔",SiOSePol:"三十三孔橋",StackedCuboids:"堆砌長方體"},artificialIntelligenceSubMenu:"人工智慧",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"優化單排光伏板的傾斜角",OptimizingTiltAnglesOfMultipleSolarPanelRows:"優化多排光伏板的傾斜角",SolarFarmGenerativeDesign:"生成式設計太陽能農場",SolarFarmGenerativeDesignWithBlock:"生成式設計太陽能農場:周邊有建築物的情況",FitchburgSolarFarmGenerativeDesign:"生成式設計太陽能農場:真實世界案例"},languageSubMenu:"語言",publicSubMenu:"公共",ModelsGallery:"模型畫廊",ModelsMap:"模型地圖",AboutUs:"關於我們"},avatarMenu:{AccountSettings:"賬號設定",PrivacyStatementTitle:"用戶隱私權保護聲明",PrivacyStatement:"登錄需要採用您的谷歌ID建立或進入您的阿拉丁賬戶。 我們只儲存一個隨機的字符串作為您的ID。 任何關於您的可辨識的個人信息都沒有被收集。 詳情請參考我們的",SignIn:"登錄",SignOut:"退出賬號",IfYouAreAStudent:"如果您是一個學生"},skyMenu:{Axes:"顯示坐標軸",Theme:"環境主題",ThemeDefault:"默認",ThemeDesert:"沙漠",ThemeDune:"沙丘",ThemeForest:"森林",ThemeGrassland:"草原",ThemeHill:"丘陵",ThemeLake:"湖泊",ThemeMountain:"山脈",ThemeRural:"田園",SunlightAttenuationCoefficientInAir:"陽光在空氣中傳播的衰減係數",ConvectiveCoefficientOfAir:"空氣對流傳熱係數",HighestTemperatureTimeInMinutes:"最高氣溫時間(分鐘)",SelectSunAnglesToShow:"選擇太陽角度顯示",ShowAzimuthAngle:"顯示方位角",ShowElevationAngle:"顯示高度角",ShowZenithAngle:"顯示天頂角",DirectLightBrightnessAtNoon:"正午直射光照度",AmbientLightBrightnessAtNoon:"正午環境光照度"},groundMenu:{MonthlyIrradianceLoss:"月份輻射度損失比",Vegetation:"植被",LeafOutDay:"樹葉長出的日子",LeafOffDay:"樹葉脫落的日子",Albedo:"反照率",ImageOnGround:"地面顯示圖像",WaterSurface:"水面",RemoveAllUnlockedTrees:"刪除所有非固定的樹木",RemoveAllUnlockedFlowers:"删除所有非固定的花草",RemoveAllUnlockedSolarPanels:"删除所有非固定的光伏板",RemoveAllUnlockedPeople:"删除所有非固定的人物",RemoveAllUnlockedFoundations:"删除所有非固定的地基",RemoveAllUnlockedCuboids:"删除所有非固定的長方體",DoYouReallyWantToRemoveAllPeople:"你確定刪除所有非固定的人物嗎",DoYouReallyWantToRemoveAllTrees:"你確定刪除所有非固定的樹木嗎",DoYouReallyWantToRemoveAllFlowers:"你確定刪除所有非固定的花草嗎",DoYouReallyWantToRemoveAllSolarPanels:"你確定刪除所有非固定的光伏板嗎",DoYouReallyWantToRemoveAllFoundations:"你確定刪除所有非固定的地基嗎",DoYouReallyWantToRemoveAllCuboids:"你確定刪除所有非固定的長方體嗎",LockAllUnlockedElements:"固定所有非固定的部件",UnlockAllLockedElements:"解除所有的固定"},labelSubMenu:{Label:"標籤",LabelText:"標籤的内容",LabelHeight:"標籤的高度",LabelSize:"標籤的大小",LabelFontSize:"字體的大小",LabelColor:"標籤的顏色",KeepShowingLabel:"顯示標籤"},foundationMenu:{RemoveAllUnlockedSolarPanels:"刪除此地基上所有非固定的光伏板",RemoveAllUnlockedParabolicTroughs:"刪除此地基上所有非固定的拋物線槽",RemoveAllUnlockedParabolicDishes:"刪除此地基上所有非固定的拋物線碟",RemoveAllUnlockedFresnelReflectors:"刪除此地基上所有非固定的菲涅耳反射鏡",RemoveAllUnlockedHeliostats:"刪除此地基上所有非固定的定日鏡",RemoveAllUnlockedWindTurbines:"刪除此地基上所有非固定的風力渦輪機",RemoveAllUnlockedSensors:"刪除此地基上所有非固定的傳感器",RemoveAllUnlockedLights:"刪除此地基上所有非固定的電燈",RemoveAllUnlockedWalls:"刪除此地基上所有非固定的牆",RemoveAllUnlockedWindows:"刪除此地基上所有非固定的窗戶",RemoveAllUnlockedDoors:"刪除此地基上所有非固定的門",RemoveAllUnlockedPolygons:"刪除此地基上所有非固定的多邊形",RemoveAllUnlockedHumans:"刪除此地基上所有非固定的人物",RemoveAllUnlockedTrees:"刪除此地基上所有非固定的樹木",RemoveAllUnlockedFlowers:"刪除此地基上所有非固定的花草",Racks:"支架",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",SolarPanels:"光伏板",SolarPanelArray:"光伏板陣列",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"你確定刪除此地基上所有非固定的光伏板嗎",ParabolicTroughs:"拋物線槽",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"你確定刪除此地基上所有非固定的拋物線槽嗎",ParabolicDishes:"拋物線碟",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"你確定刪除此地基上所有非固定的拋物線碟嗎",FresnelReflectors:"菲涅耳反射鏡",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"你確定刪除此地基上所有非固定的菲涅耳反射鏡嗎",Heliostats:"定日鏡",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"你確定刪除此地基上所有非固定的定日鏡嗎",WindTurbines:"風力渦輪機",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"你確定刪除此地基上所有非固定的風力渦輪機嗎",Sensors:"傳感器",DoYouReallyWantToRemoveAllSensorsOnFoundation:"你確定刪除此地基上所有非固定的傳感器嗎",Lights:"電燈",DoYouReallyWantToRemoveAllLightsOnFoundation:"你確定刪除此地基上所有非固定的電燈嗎",Walls:"牆",DoYouReallyWantToRemoveAllWallsOnFoundation:"你確定刪除此地基上所有非固定的牆嗎",Windows:"窗戶",DoYouReallyWantToRemoveAllWindowsOnFoundation:"你確定刪除此地基上所有非固定的窗戶嗎",Doors:"門",DoYouReallyWantToRemoveAllDoorsOnFoundation:"你確定刪除此地基上所有非固定的門嗎",Polygons:"多邊形",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"你確定刪除此地基上所有非固定的多邊形嗎",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnFoundation:"你確定刪除此地基上所有非固定的人物嗎",Trees:"樹木",DoYouReallyWantToRemoveAllTreesOnFoundation:"你確定刪除此地基上所有非固定的樹木嗎",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnFoundation:"你確定刪除此地基上所有非固定的花草嗎",OnlyThisFoundation:"只這塊地基",AllConnectedFoundations:"所有相連的地基",AllSelectedFoundations:"所有選中的地基",AllFoundations:"所有的地基",AddPolygon:"添加多邊形",SolarStructure:"太陽能構型",GroupMaster:"主地基",LockAllUnlockedElementsOnThisFoundation:"固定此地基上所有非固定的部件",UnlockAllLockedElementsOnThisFoundation:"解除此地基上所有的固定",GroundFloorRValue:"建築物地板的R值",OnlyThisGroundFloor:"只這個建築物的地板",AllGroundFloors:"所有建築物的地板"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"和定日鏡配套的吸收塔",ReceiverTowerPhysicalProperties:"太陽能吸收塔的物理性質",ReceiverTowerHeight:"太陽能吸收塔的高度",ReceiverTowerRadius:"太陽能吸收塔的半徑",ReceiverAbsorptance:"太陽能吸收器的吸收率",ReceiverOpticalEfficiency:"太陽能吸收器的光效率",ReceiverThermalEfficiency:"太陽能吸收器的熱效率"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"和菲涅爾反射鏡配套的吸收管",AbsorberPipePhysicalProperties:"太陽能吸收管的物理性質",AbsorberHeight:"太陽能吸收管的安装高度",AbsorberApertureWidth:"太陽能吸收管的孔徑",AbsorberPipePoleNumber:"太陽能吸收管的支柱數量",AbsorberAbsorptance:"太陽能吸收管的吸收率",AbsorberOpticalEfficiency:"太陽能吸收管的光效率",AbsorberThermalEfficiency:"太陽能吸收管的熱效率"},solarUpdraftTowerMenu:{SolarUpdraftTower:"太陽能上升氣流塔",SolarUpdraftTowerPhysicalProperties:"太陽能上升氣流塔的物理性質",SolarUpdraftTowerChimneyHeight:"太陽能上升氣流塔煙囪的高度",SolarUpdraftTowerChimneyRadius:"太陽能上升氣流塔煙囪的半徑",SolarUpdraftTowerCollectorHeight:"太陽能上升氣流塔集熱棚的高度",SolarUpdraftTowerCollectorRadius:"太陽能上升氣流塔集熱棚的半徑",SolarUpdraftTowerCollectorTransmissivity:"太陽能上升氣流塔集熱棚的透射率",SolarUpdraftTowerCollectorEmissivity:"太陽能上升氣流塔集熱棚的發射率",SolarUpdraftTowerDischargeCoefficient:"太陽能上升氣流塔的流量係數",SolarUpdraftTowerTurbineEfficiency:"太陽能上升氣流塔的渦輪機效率"},cuboidMenu:{Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",RemoveAllUnlockedSolarPanels:"刪除此長方體表面上所有非固定的光伏板",RemoveAllUnlockedSensors:"刪除此長方體表面上所有非固定的傳感器",RemoveAllUnlockedPolygons:"刪除此長方體表面上所有非固定的多邊形",RemoveAllUnlockedHumans:"刪除此長方體表面上所有非固定的人物",RemoveAllUnlockedTrees:"刪除此長方體表面上所有非固定的樹木",RemoveAllUnlockedFlowers:"刪除此長方體表面上所有非固定的花草",RemoveAllUnlockedLights:"刪除此長方體表面上所有非固定的電燈",Racks:"支架",Lights:"電燈",DoYouReallyWantToRemoveAllLightsOnCuboid:"你確定刪除此長方體表面上所有非固定的電燈嗎",SolarPanels:"光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"你確定刪除此長方體表面上所有非固定的光伏板嗎",Sensors:"傳感器",DoYouReallyWantToRemoveAllSensorsOnCuboid:"你確定刪除此長方體表面上所有非固定的傳感器嗎",Polygons:"多邊形",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"你確定刪除此長方體表面上所有非固定的多邊形嗎",Humans:"人物",DoYouReallyWantToRemoveAllHumansOnCuboid:"你確定刪除此長方體表面上所有非固定的人物嗎",Trees:"樹木",DoYouReallyWantToRemoveAllTreesOnCuboid:"你確定刪除此長方體表面上所有非固定的樹木嗎",Flowers:"花草",DoYouReallyWantToRemoveAllFlowersOnCuboid:"你確定刪除此長方體表面上所有非固定的花草嗎",OnlyThisCuboid:"只這個長方體",AllCuboidsOnSameSurface:"同一表面上所有的長方體",AllCuboidsAboveSameBase:"同一地基上所有的長方體",AllSelectedCuboids:"所有選中的長方體",AllCuboids:"所有的長方體",OnlyThisSide:"只這個表面",AllSidesOfThisCuboid:"這個長方體所有的側面",AllSidesOfSelectedCuboids:"所有選中長方體所有的側面",AllSidesOfAllCuboids:"所有的長方體所有的側面",AddPolygon:"添加多邊形",Stackable:"可堆砌",GroupMaster:"主長方體"},polygonMenu:{Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",TextBox:"文字框",FontOutlineColor:"字體輪廓顏色",FontOutlineWidth:"字體輪廓線寬",FontStrokeColor:"字體描邊顏色",FontStrokeWidth:"字體描邊線寬",NoOutline:"無輪廓線",Shiny:"光澤",Filled:"填充",FillTexture:"填充材質",FillColor:"填充顏色",Opacity:"遮光度",LineColor:"線條顏色",LineWidth:"線條寬度",LineStyle:"線條樣式",SolidLine:"實線",DashedLine:"虛線",DottedLine:"點線",InsertVertexBeforeIndex:"前面插入頂點",InsertVertexAfterIndex:"後面插入頂點",DeleteVertex:"移除頂點",OnlyThisPolygon:"只這個多邊形",AllPolygonsOnSurface:"同一表面上所有的多邊形",AllPolygonsAboveFoundation:"同一地基上所有的多邊形",AllSelectedPolygons:"所有選中的多邊形",AllPolygons:"所有的多邊形",Layout:"佈局",SolarPanelArrayLayout:"光伏板陣列佈局",SolarPanelArrayLayoutParametricDesign:"光伏板陣列佈局參數化設計",SolarPanelArrayLayoutGenerativeDesign:"光伏板陣列佈局生成式設計",SolarPanelArrayModel:"光伏板型號",SolarPanelArrayOrientation:"排列方向",SolarPanelArrayTiltAngle:"傾斜角度",SolarPanelArrayRowWidth:"行寬度",SolarPanelArrayInterRowSpacing:"行間距",SolarPanelArrayRowSpacing:"行間距",SolarPanelArrayRowAxis:"行軸方向",SolarPanelArrayLeftRightRowAxis:"左右方向(相對)",SolarPanelArrayUpDownRowAxis:"上下方向(相對)",SolarPanelArrayEastWestRowAxis:"東西方向(絕對)",SolarPanelArrayNorthSouthRowAxis:"南北方向(絕對)",SolarPanelArrayMargin:"邊緣餘地",SolarPanelArrayPoleHeight:"支架高度",SolarPanelArrayPoleSpacing:"支柱間隔",SolarPanelArrayTotalYearlyCost:"全年總成本",SolarPanelArrayTotalYearlyRevenue:"全年總收入",SolarPanelArrayTotalYearlyYield:"全年總發電量",SolarPanelArrayMeanYearlyYield:"平均年發電量",SolarPanelArrayYearlyProfit:"全年利潤",LayoutNotAcceptedCheckYourParameters:"恕不能採用此佈局。請檢查您的參數設置。"},optimizationMenu:{Optimization:"優化",Parameters:"參數",Variables:"變量",Constants:"常量",GeneticAlgorithm:"遺傳算法",GeneticAlgorithmSettings:"遺傳算法設定",ParticleSwarmOptimization:"粒子群優化",ParticleSwarmOptimizationSettings:"粒子群優化設定",SolarPanelTiltAngleOptimization:"光伏板傾斜角度優化",SolarPanelArrayLayout:"光伏板陣列佈局",Generation:"世代",Gene:"基因",NormalizedVariables:"標準化變量",Objective:"目標函數",ObjectiveFunctionDailyTotalYield:"當日總產出",ObjectiveFunctionYearlyTotalYield:"全年總產出",ObjectiveFunctionDailyMeanYield:"當日平均產出",ObjectiveFunctionYearlyMeanYield:"全年平均產出",ObjectiveFunctionDailyProfit:"當日利潤",ObjectiveFunctionYearlyProfit:"全年利潤",GeneticAlgorithmSelectionMethod:"遺傳算法選擇方法",RouletteWheel:"輪盤制",Tournament:"淘汰制",SearchMethod:"搜索方法",GlobalSearchUniformSelection:"全局搜索均勻取樣",LocalSearchRandomOptimization:"局部搜索隨機優化",PopulationSize:"種群個體數目",MaximumGenerations:"最大世代數目",SelectionRate:"選擇概率",CrossoverRate:"交配概率",MutationRate:"突變概率",Step:"步數",SwarmSize:"粒子數目",MaximumSteps:"最大步數",MaximumVelocity:"最大速度",InertiaWeight:"慣性權重",CognitiveCoefficient:"認知係數",SocialCoefficient:"社會係數",ConvergenceThreshold:"終止條件的收斂閾值",LocalSearchRadius:"局部搜索的半徑",RowsPerRackRange:"單個支架上光伏板行數的變化範圍",TiltAngleRange:"光伏板傾斜角度的變化範圍",InterRowSpacingRange:"光伏板陣列行間距的變化範圍",ClickTargetPolygonToActivate:"點擊目標多邊形激活",ClickTargetFoundationToActivate:"點擊目標地基激活"},treeMenu:{ShowModel:"顯示近似模型",Flip:"翻轉",Type:"樹種",Spread:"樹冠直徑"},flowerMenu:{Flip:"翻轉",Type:"品種",Spread:"直徑"},peopleMenu:{ChangePerson:"改變人物",Flip:"轉身",Observer:"觀察者",ViewFromThisPerson:"視角移到此人位置"},lightMenu:{Color:"顏色",Intensity:"亮度",Decay:"衰减",MaximumDistance:"最大距離",Inside:"内部"},solarCollectorMenu:{Coordinates:"座標",RelativeXCoordinateOfCenter:"中心的相對X座標",RelativeYCoordinateOfCenter:"中心的相對Y座標",RelativeAzimuth:"相對方位角",Pole:"支柱",PoleHeight:"支柱高度",PoleRadius:"支柱半徑",ExtraPoleHeight:"額外的支柱高度",ExtraPoleHeightInAdditionToHalfWidth:"寬度一半額外的支柱高度",DrawSunBeam:"顯示光束"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"反射器鏡面反射率",ReceiverAbsorptance:"接收器吸收率",ReflectorOpticalEfficiency:"反射器光效率",ReceiverThermalEfficiency:"接收器熱效率"},solarPanelMenu:{ElectricalProperties:"電氣特性",InverterEfficiency:"逆變器效率",InverterEfficiencyExplained:"直流電轉換為交流電的效率。",DcToAcSizeRatio:"直流-交流容量比例",DcToAcSizeRatioExplained:"直流電容量和交流電容量的比例。",ChangePvModel:"改變光伏板型號",Orientation:"排列方向",Portrait:"縱向",Landscape:"橫向",FrameColor:"框架顏色",Panels:"塊",PanelsWide:"塊光伏板寬",PanelsLong:"塊光伏板長",TiltAngle:"傾斜角度",SouthFacingIsPositive:"朝南為正",Tracker:"追日系統",SolarTrackerFollowsSun:"追日系統提高光伏板產出。",PoleSpacing:"支柱間隔",NoTracker:"無追日系統",HorizontalSingleAxisTracker:"水平單軸追日系統",VerticalSingleAxisTracker:"豎直單軸追日系統",AltazimuthDualAxisTracker:"地平雙軸追日系統",OnlyThisSolarPanel:"只這個光伏板",AllSolarPanelsOnSurface:"同一表面上所有的光伏板",AllSolarPanelsAboveFoundation:"同一地基上所有的光伏板",AllSelectedSolarPanels:"所有選中的光伏板",AllSolarPanels:"所有的光伏板"},pvModelPanel:{SolarPanelSpecs:"光伏板型號性能",Model:"型號",PanelSize:"尺寸",Cells:"電池組",CellType:"光伏電池類型",Monocrystalline:"單晶矽",Polycrystalline:"多晶矽",ThinFilm:"薄膜",Bifacial:"雙面",BifacialityFactor:"雙面性因子",Black:"黑色",Blue:"藍色",ShadeTolerance:"陰影耐受度",SolarCellEfficiency:"光伏電池效率",NominalOperatingCellTemperature:"名義電池運行溫度",TemperatureCoefficientOfPmax:"Pmax溫度係數"},parabolicTroughMenu:{ModuleLength:"模塊長度",Modules:"模塊",ModulesLong:"模塊長",LatusRectum:"通徑",OnlyThisParabolicTrough:"只這個拋物線槽",AllParabolicTroughsAboveFoundation:"同一地基上所有的拋物線槽",AllSelectedParabolicTroughs:"所有選中的抛物线槽",AllParabolicTroughs:"所有的拋物線槽"},fresnelReflectorMenu:{AbsorberPipe:"吸收管",SelectAbsorberToReflectSunlightTo:"選擇陽光反射到的吸收管",ModuleLength:"模塊長度",Modules:"模塊",ModulesLong:"模塊長",OnlyThisFresnelReflector:"只這個菲涅耳反射鏡",AllFresnelReflectorsAboveFoundation:"同一地基上所有的菲涅耳反射鏡",AllSelectedFresnelReflectors:"所有選中的菲涅耳反射镜",AllFresnelReflectors:"所有的菲涅耳反射鏡"},heliostatMenu:{Tower:"吸收塔",SelectTowerToReflectSunlightTo:"選擇陽光反射到的吸收塔",OnlyThisHeliostat:"只這個定日鏡",AllHeliostatsAboveFoundation:"同一地基上所有的定日鏡",AllSelectedHeliostats:"所有選中的定日镜",AllHeliostats:"所有的定日鏡"},parabolicDishMenu:{ReceiverStructure:"接收器結構",CentralPole:"中心直柱",CentralPoleWithTripod:"三腳架和中心直柱",Quadrupod:"四脚架",RimDiameter:"外圈直徑",LatusRectum:"通徑",ExtraPoleHeightInAdditionToRadius:"半徑之外額外的支架高度",OnlyThisParabolicDish:"只這個拋物線碟",AllParabolicDishesAboveFoundation:"同一地基上所有的拋物線碟",AllSelectedParabolicDishes:"所有選中的抛物线碟",AllParabolicDishes:"所有的拋物線碟"},windTurbineMenu:{BirdSafeDesign:"鳥類安全設計",BirdSafeNone:"無",BirdSafeBicolor:"雙色",BirdSafeStriped:"條紋",Rotor:"轉子",BladeNumber:"葉片數目",RotorInitialAngle:"轉子初始角度",RotorBladeDesign:"轉子葉片設計",RotorBladeRadius:"轉子葉片半徑",RotorBladePitchAngle:"轉子葉片俯仰角",RelativeYawAngle:"相對偏流角",MaximumChordLength:"最大弦長度",Tower:"塔架",TowerHeight:"塔架高度",TowerRadius:"塔架半徑",HubDesign:"轉子輪轂設計",HubRadius:"輪轂半徑",HubLength:"輪轂長度",OnlyThisWindTurbine:"只這個風力渦輪機",AllWindTurbinesAboveFoundation:"同一地基上所有的風力渦輪機",AllSelectedWindTurbines:"所有選中的風力渦輪機",AllWindTurbines:"所有的風力渦輪機"},wallMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",SizeOfWall:"牆的尺寸",OnlyThisWall:"只這堵牆",AllConnectedWalls:"所有連接的牆",AllWallsAboveFoundation:"同一地基上所有的牆",AllSelectedWalls:"所有選中的墙",AllWalls:"所有的牆",Windows:"窗戶",LockAllUnlockedWindows:"固定所有非固定的窗戶",UnlockAllLockedWindows:"解除所有的窗戶固定",RemoveAllUnlockedWindows:"刪除這堵牆上所有非固定的窗戶",DoYouReallyWantToRemoveAllWindowsOnThisWall:"你確定刪除這堵牆上所有非固定的窗戶嗎",Doors:"門",LockAllUnlockedDoors:"固定所有非固定的門",UnlockAllLockedDoors:"解除所有的門固定",RemoveAllUnlockedDoors:"刪除這堵牆上所有非固定的門",DoYouReallyWantToRemoveAllDoorsOnThisWall:"你確定刪除這堵牆上所有非固定的門嗎",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"刪除這堵牆上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"你確定刪除這堵牆上所有非固定的光伏板嗎",Sensors:"傳感器",LockAllUnlockedSensors:"固定所有非固定的傳感器",UnlockAllLockedSensors:"解除所有的傳感器固定",RemoveAllUnlockedSensors:"刪除這堵牆上所有非固定的傳感器",DoYouReallyWantToRemoveAllSensorsOnThisWall:"你確定刪除這堵牆上所有非固定的傳感器嗎",Lights:"電燈",LockAllUnlockedLights:"固定這堵牆上所有非固定的電燈",UnlockAllLockedLights:"解除這堵牆上所有的電燈固定",RemoveAllUnlockedLights:"刪除這堵牆上所有非固定的電燈",DoYouReallyWantToRemoveAllLightsOnThisWall:"你確定刪除這堵牆上所有非固定的電燈嗎",Polygons:"多邊形",LockAllUnlockedPolygons:"固定這堵牆上所有非固定的多邊形",UnlockAllLockedPolygons:"解除這堵牆上所有的多邊形固定",RemoveAllUnlockedPolygons:"刪除這堵牆上所有非固定的多邊形",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"你確定刪除這堵牆上所有非固定的多邊形嗎",WallStructure:"牆結構",DefaultStructure:"默認",StudStructure:"牆柱",PillarStructure:"圓柱",Opacity:"遮光度",StructureSpacing:"結構間距",StructureWidth:"結構寬度",StructureThickness:"結構厚度",StructureColor:"結構颜色",Color:"牆体颜色",Height:"高度",Thickness:"厚度",Texture:"材質",AllLightsOnWallInside:"所有電燈在牆內",AllLightsOnWallOutside:"所有電燈在牆外",Fill:"填充",Full:"全部",Partial:"部分",Empty:"空白",OpenToOutside:"對外面開放",EavesLength:"屋簷延伸長度",Parapet:"女牆",ParapetColor:"女牆颜色",ParapetTexture:"女牆材質",ParapetHeight:"女牆高度",CopingsHeight:"頂蓋高度",CopingsWidth:"頂蓋寬度"},windowMenu:{OnlyThisWindow:"只這個窗戶",AllWindowsOnSurface:"同一表面上所有的窗戶",AllWindowsAboveFoundation:"同一地基上所有的窗戶",AllSelectedWindows:"所有選中的窗户",AllWindows:"所有的窗戶",Width:"寬度",Height:"高度",Setback:"離牆體外表面的距離",RelativeToWallThickness:"相對於牆的厚度",Mullion:"直櫺",HorizontalMullion:"水平的直櫺",VerticalMullion:"豎直的直櫺",MullionWidth:"直櫺寬度",HorizontalMullionSpacing:"水平直櫺的間距",VerticalMullionSpacing:"豎直直櫺的間距",MullionColor:"直櫺颜色",Tint:"著色",Opacity:"不透明度",SolarHeatGainCoefficient:"太陽輻射熱獲取係數(SHGC) = 1 - 不透明度",Shutter:"百葉窗",LeftShutter:"左側百葉窗",RightShutter:"右側百葉窗",BothShutters:"兩側百葉窗",ShutterWidth:"相對寬度",ShutterColor:"百葉窗顏色",Frame:"邊框",FrameWidth:"邊框寬度",SillWidth:"窗台寬度",Color:"邊框顔色",WindowType:"窗戶種類",Default:"默認",Arched:"拱形",Polygonal:"多邊形",Interior:"内窗",Empty:"空白"},roofMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",OnlyThisRoof:"只這個屋顶",AllRoofsAboveFoundation:"同一地基上所有的屋顶",AllSelectedRoofs:"所有選中的屋顶",AllRoofs:"所有的屋顶",OnlyThisCeiling:"只這個天花板",AllCeilingsAboveFoundation:"同一地基上所有的天花板",AllCeilings:"所有的天花板",EavesOverhangLength:"屋簷延伸長度",RafterSpacing:"屋椽間距",RafterWidth:"屋椽寬度",RafterThickness:"屋椽厚度",RafterColor:"屋椽颜色",RoofColor:"屋顶颜色",RoofSideColor:"屋顶側面颜色",GlassTint:"玻璃顏色",Opacity:"遮光度",RoofStructure:"屋頂結構",DefaultStructure:"默認",RafterStructure:"屋椽",GlassStructure:"玻璃",SolarPanels:"光伏板",LockAllUnlockedSolarPanels:"固定所有非固定的光伏板",UnlockAllLockedSolarPanels:"解除所有的光伏板固定",RemoveAllUnlockedSolarPanels:"刪除這個屋顶上所有非固定的光伏板",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"你確定刪除這個屋顶上所有非固定的光伏板嗎",Windows:"天窗",LockAllUnlockedWindows:"固定所有非固定的天窗",UnlockAllLockedWindows:"解除所有的天窗固定",RemoveAllUnlockedWindows:"刪除這個屋顶上所有非固定的天窗",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"你確定刪除這個屋顶上所有非固定的天窗嗎",Sensors:"傳感器",LockAllUnlockedSensors:"固定所有非固定的傳感器",UnlockAllLockedSensors:"解除所有的傳感器固定",RemoveAllUnlockedSensors:"刪除這個屋顶上所有非固定的傳感器",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"你確定刪除這個屋顶上所有非固定的傳感器嗎",Lights:"電燈",RemoveAllUnlockedLights:"刪除這個屋顶上所有非固定的電燈",DoYouReallyWantToRemoveAllLightsOnThisRoof:"你確定刪除這個屋顶上所有非固定的電燈嗎",AllLightsOnRoofInside:"所有電燈在屋頂內",AllLightsOnRoofOutside:"所有電燈在屋頂外",Rise:"相對高度",Ceiling:"天花板",RoofRValue:"屋顶R值",CeilingRValue:"天花板R值"},doorMenu:{TextureDefault:"默認材質",Texture01:"一號材質",Texture02:"二號材質",Texture03:"三號材質",Texture04:"四號材質",Texture05:"五號材質",Texture06:"六號材質",Texture07:"七號材質",Texture08:"八號材質",Texture09:"九號材質",Texture10:"十號材質",Texture11:"十一號材質",Texture12:"十二號材質",Texture13:"十三號材質",Texture14:"十四號材質",Texture15:"十五號材質",Texture16:"十六號材質",Texture17:"十七號材質",OnlyThisDoor:"只這個門",AllDoorsOnWall:"同一面牆上所有的門",AllDoorsAboveFoundation:"同一地基上所有的門",AllSelectedDoors:"所有選中的门",AllDoors:"所有的門",DoorType:"門種類",Default:"默認",Arched:"拱形",Filled:"填充",FrameColor:"門框顏色",Interior:"內門"},siteInfoPanel:{High:"最高溫度",Low:"最低温度"},designInfoPanel:{NumberOfSelectedHeliostats:"選中的定日鏡總數",NumberOfSelectedSolarPanels:"選中的光伏板總數",ElectricityGeneratedDailyBySolarPanels:"這些光伏板的日發電量",SceneDiameter:"場景直徑",BuildingArea:"建築面積"},visualizationControlPanel:{ColorContrast:"熱圖顏色對比度",FluxScale:"熱通量長度",ClickUpOrDownArrowButtonsToChange:"點擊上下箭頭改變參數"},instructionPanel:{Rotate:"旋轉",DragMouse:"拖動滑鼠",Zoom:"缩放",MouseWheelOrKeys:"滑鼠滾輪或者Ctrl+[和Ctrl+]",MouseWheelOrKeysMac:"滑鼠滾輪或者⌘+[和⌘+]",Pan:"平移",HoldCtrlDragMouse:"按下Ctrl鍵並拖動滑鼠",HoldMetaDragMouse:"按下⌘鍵並拖動滑鼠",Enter2DMode:"進入二維模式",Exit2DMode:"退出二維模式",NavigationMode:"導航模式",EnableNavigation:"進入導航模式",DisableNavigation:"退出導航模式",MoveForwardBack:"前後移動",MoveForwardBackInstruction:"按W/S鍵",MoveLeftRight:"左右移動",MoveLeftRightInstruction:"按A/D鍵",MoveUpDown:"上下移動",MoveUpDownInstruction:"按Z/X鍵",Turn:"拐彎",TurnInstruction:"按方向鍵",ResetView:"重置視角",AutoRotate:"自動旋轉",StartOrStop:"按F4鍵啟動或停止"},mapPanel:{ImageOnGround:"地面顯示圖像",HideAddress:"隱藏地址",WeatherStations:"氣象站",WeatherStationsNote:"關閉此選項以提高地圖速度",Coordinates:"經緯度坐標",Zoom:"放大程度"},visibilityPanel:{SolarPanelVisibility:"光伏板對觀察者的可見度",Observer:"觀察者",VantagePoint:"觀察位置",ItemizedVisibilityByFields:"每個場的可見度",TotalVisibility:"總可見度"},sensorPanel:{LightSensor:"光傳感器",WeatherDataFrom:"氣象數據來自"},buildingEnergyPanel:{DailyBuildingEnergy:"建築物日能耗",YearlyBuildingEnergy:"建築物年能耗",Heater:"暖氣",AC:"空調",SolarPanel:"光伏",Net:"淨能耗"},solarPanelYieldPanel:{SolarPanelDailyYield:"光伏日發電量",SolarPanelYearlyYield:"光伏年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualSolarPanels:"顯示每行光伏板單獨發電量",Profit:"利潤",TotalCost:"總成本",TotalRevenue:"總收入",TotalYield:"總發電量",MeanYield:"平均發電量",ModuleCount:"光伏板總數"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"拋物線槽日發電量",ParabolicTroughYearlyYield:"拋物線槽年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualParabolicTroughs:"顯示每行拋物線槽單獨發電量"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"拋物線碟日發電量",ParabolicDishYearlyYield:"拋物線碟年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualParabolicDishes:"顯示每個拋物線碟單獨發電量"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"菲涅耳反射鏡日發電量",FresnelReflectorYearlyYield:"菲涅耳反射鏡年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualFresnelReflectors:"顯示每個菲涅耳反射鏡單獨發電量"},heliostatYieldPanel:{HeliostatDailyYield:"定日鏡日發電量",HeliostatYearlyYield:"定日鏡年發電量",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualHeliostats:"顯示每個定日鏡單獨發電量"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"太陽能上升氣流塔日發電量",UpdraftTowerYearlyYield:"太陽能上升氣流塔年發電量",ChimneyAirTemperature:"煙囪空氣溫度",ChimneyWindSpeed:"煙囪風速",Yield:"發電量",YieldPerHour:"每小時發電量",DailyTotal:"日發電總量",YearlyTotal:"年發電總量",ShowOutputsOfIndividualUpdraftTowers:"顯示每個太陽能上升氣流塔單獨發電量"},heliodonPanel:{SunAndTimeSettings:"太陽和時間設置",SunAngles:"角度",TwentyFourHours:"24小時"},cloudFilePanel:{CopyTitle:"拷貝標題",TitleCopiedToClipBoard:"標題拷貝到剪貼板",SearchByTitle:"按標題搜索",MyLikes:"我喜歡的模型",MyCloudFiles:"我的雲文件",GenerateLink:"生成鏈接",LinkGeneratedInClipBoard:"鏈接生成到剪貼板",DoYouReallyWantToDelete:"您確定刪除此文檔",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"如果此文檔已被分享或發布, 改名會使已有鏈接失效"},projectListPanel:{CopyTitle:"拷貝標題",TitleCopiedToClipBoard:"標題拷貝到剪貼板",SearchByTitle:"按標題搜索",MyProjects:"我的專案",GenerateProjectLink:"生成專案鏈接",ProjectLinkGeneratedInClipBoard:"專案鏈接生成到剪貼板",DoYouReallyWantToDeleteProject:"您確定刪除專案",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"如果此專案已被分享或發布, 改名會使已有鏈接失效"},projectPanel:{ProjectSettings:"專案設定",ThumbnailImageSize:"縮略圖大小",ProjectByOtherPeople:"別人的專案",Project:"專案",ProjectType:"類别",ProjectDescription:"描述",MakeDescriptionEditable:"編輯描述",MakeDescriptionNonEditable:"不編輯描述",DoubleClickToMakeDescriptionEditable:"雙擊此描述激活編輯功能",SolarPanelArray:"光伏板陣列設計",CurateCurrentDesign:"收藏當前設計",UpdateSelectedDesign:"更新選中設計",RemoveSelectedDesign:"刪除選中設計",ClickToFlipSortingOrder:"點擊逆轉排序方向",DesignNotShownInSolutionSpaceClickToShow:"此設計目前不顯示在設計空間內,點擊顯示",DesignShownInSolutionSpaceClickToHide:"此設計目前顯示在設計空間內,點擊隱藏",SolutionSpace:"設計空間",ChooseSolutionSpace:"選擇設計空間",ChooseDataColoring:"選擇數據著色",SameColorForAllDesigns:"所有設計一個顏色",OneColorForEachDesign:"每個設計一個顏色",SolutionSpaceScreenshot:"設計空間截屏",ScatterPlotScreenshot:"散點圖截屏",SingleClickToSelectDoubleClickToOpen:"單擊選擇,雙擊打開。",SingleClickToDeselectDoubleClickToOpen:"單擊取消選擇,雙擊打開。",GenerateScatterPlot:"生成散點圖",SelectXAxis:"選擇X軸",SelectYAxis:"選擇Y軸"},accountSettingsPanel:{MyAccountSettings:"我的賬戶設定",MyID:"我的🆔",ClickToCopyMyID:"點擊此處拷貝我的ID",IDInClipBoard:"您現在可以粘貼ID了。",StoreMyNameInMyFilesWhenSaving:"保存文檔時籤上我的大名",DoYouReallyWantToShowYourNameInYourFiles:"您確定在您的文檔裡保存您的大名嗎?",SignFileDisclaimer:"如果您選擇保存,您的大名可能被所有打開您的文檔的人看到。",Likes:"點贊總數",AllPublished:"發佈總數",PublishedUnderAliases:"别名發佈",UserCount:"用戶總數",SchoolID:"學校編號",ClassID:"班級編號"},weatherPanel:{SunshineHours:"日照時間"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"選擇氣溫模型",Sinusoidal:"正弦函數"},economicsPanel:{EconomicsParameters:"經濟學參數",ElectricitySellingPrice:"銷售電價",OperationalCostPerUnit:"單位運行成本",SellingPrice:"銷售電價",UnitCost:"單位成本"},navigationPanel:{NavigationParameters:"導航模式參數",MinimumMoveSpeed:"最小移動速度",MinimumTurnSpeed:"最小拐彎速度"},shadowSettingsPanel:{ShadowSettings:"陰影設定",ShadowCameraFarDistance:"最遠距離",ShadowMapSize:"映射圖長寬",Notes:"注意事項",RefreshPageNote:"改變設定後須刷新頁面。",MapSizeWarning:"大的映射圖長寬可能導致阿拉丁無法在某些電腦上運作。"},yearlyLightSensorPanel:{SkyClearness:"天空清晰度",ShowDaylightResults:"顯示日照時間結果",ShowSkyClearnessResults:"顯示天空清晰度結果",ShowAverageDailySolarRadiation:"顯示日平均輻射結果"},analysisManager:{NoSensorForCollectingData:"沒有傳感器收集數據。",NoSolarPanelForAnalysis:"沒有光伏板可以分析。",NoObserverForVisibilityAnalysis:"沒有找到可見度分析的觀察者。",NoWaterHeaterForAnalysis:"沒有太陽能熱水器可以分析。",NoParabolicDishForAnalysis:"沒有拋物線碟可以分析。",NoParabolicTroughForAnalysis:"沒有拋物線槽可以分析。",NoFresnelReflectorForAnalysis:"沒有菲涅耳反射鏡可以分析。",NoHeliostatForAnalysis:"沒有定日鏡可以分析。",NoSolarUpdraftTowerForAnalysis:"沒有太陽能上升氣流塔可以分析。",NoBuildingForAnalysis:"沒有建築物可以分析。"},toolbar:{CloudFile:"雲文檔",Select:"選擇",AddFoundation:"添加地基",AddWall:"添加牆體",AddWindow:"添加窗戶",AddDoor:"添加門",AddPyramidRoof:"添加金字塔屋頂",AddGableRoof:"添加雙坡屋頂",AddHipRoof:"添加四坡屋顶",AddGambrelRoof:"添加复斜屋顶",AddMansardRoof:"添加折線屋顶",AddCuboid:"添加長方體",AddSensor:"添加傳感器",AddSolarPanel:"添加光伏板",AddWaterHeater:"添加太陽能熱水器",AddParabolicDish:"添加拋物線碟",AddParabolicTrough:"添加拋物線槽",AddFresnelReflector:"添加菲涅耳反射鏡",AddHeliostat:"添加定日鏡",AddWindTurbine:"添加水平轴風力渦輪機",AddVerticalAxisWindTurbine:"添加垂直軸風力渦輪機",AddLight:"添加電燈",AddTree:"添加樹木",AddFlower:"添加花草",AddPeople:"添加人物",DoubleClickToLockThisModeForNextAction:"雙擊按鈕給下個動作鎖定此模式",ClickToUnlockThisModeForNextAction:"點擊按鈕讓動作完成即離開此模式",ManipulateGroup:"整體操作一個組",ClearScene:"清空場景",ShowSunAndTimeSettings:"顯示太陽和時間設置",SpatialAnalysisOfEnergy:"能量的空間分析",DoYouReallyWantToClearContent:"您確定清空場景嗎",ClickForMoreButtons:"點擊此處切換到更多的按鈕模式"},tooltip:{gotoIFI:"訪問未來智能研究所",visitAladdinHomePage:"訪問阿拉丁主頁",clickToOpenMenu:"點擊打開主菜單",clickToAccessAccountSettings:"點擊打開賬號設定"},tree:{Apple:"蘋果樹",Birch:"白樺",Coconut:"椰子樹",Dogwood:"茱萸",Elm:"榆樹",FanPalm:"扇葉棕櫚",Linden:"菩提",Magnolia:"玉蘭",Maple:"楓樹",Oak:"橡樹",Pine:"松樹",Spruce:"雲杉"},flower:{Bellflower:"鈴蘭",Boxwood:"黃楊",CactusCombo1:"仙人掌組合一",CactusCombo2:"仙人掌組合二",CactusCombo3:"仙人掌組合三",CactusCombo4:"仙人掌組合四",Hibiscus:"木槿",Hosta:"玉簪",Hydrangea:"繡球花",Peony:"牡丹",RedRose:"紅玫瑰",Spirea:"繡線菊",Sunflower:"向日葵",TallBush:"高灌木",Tulip:"鬱金香",WhiteFlower:"白花",YellowFlower:"黄花"},people:{Jaah:"賈阿",Jack:"傑克",Jacob:"雅各布",Jacqueline:"杰奎琳",Jade:"美玉",Jamelia:"潔米莉雅",James:"詹姆斯",Jane:"簡",Jaya:"佳婭",Jaye:"傑伊",Jeanette:"珍妮特",Jedi:"傑迪",Jeff:"傑夫",Jena:"珍娜",Jennifer:"珍尼弗",Jess:"傑西",Jett:"傑特",Jill:"吉爾",Jiya:"吉娅",Joan:"瓊",Jocelyn:"喬斯林",Joel:"喬爾",Joey:"喬伊",John:"約翰",Jonathon:"喬納森",Jose:"何塞",Joseph:"約瑟夫",Joshua:"約書亞",Judd:"賈德",Judy:"朱蒂",Julia:"朱莉婭",Julio:"胡里奥",Jumapili:"祖瑪匹莉",June:"準衛",Juro:"朱諾",Justin:"賈斯汀"},compass:{N:"北",S:"南",W:"西",E:"東"},month:{January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},modelsMap:{SearchByPublisher:"按發布者搜索",SearchByLabel:"按標籤搜索",MyPublishedModels:"我發布的模型",TotalNumberOfUserPublishedModels:"用戶發布的模型總數",SortFromOldestToNewest:"從早到晚排序",SortFromNewestToOldest:"從晚到早排序",ModelsFoundOnThisSite:"個模型在此位置",ShowModelsPublishedByThisAuthor:"展示此用戶發布的模型"}}},Vft={translation:{name:{IFI:"Instituto de inteligencia futura",Aladdin:"Aladdin",Tagline:"Aladdin: Reimagining Design with Explainable AI — Institute for Future Intelligence"},cookie:{Statement:"Clicando Aceptar, autoriza el uso de cookies para mejora la experiencia con Aladdin",Accept:"Aceptar"},aboutUs:{ProductBroughtToYouBy:"Este producto esta hecho por",TermsOfService:"Términos de servicio",PrivacyPolicy:"Política de privacidad",Software:"Programa",Content:"Contenido",Research:"Investigación",Support:"Ayuda",Acknowledgment:"Agradecimientos",FundingInformation:"La National Science Foundation (NSF) proporcionó generosamente fondos para la investigación y el desarrollo de este producto a través de las subvenciones con número #2105695, #2131097, y #2301164. Sin embargo, todas las opiniones, hallazgos y conclusiones o recomendaciones expresados en este producto pertenecen a los autores y no reflejan necesariamente los puntos de vista de la NSF.",Contact:"Para más información, por favor contacte con Charles Xie (charles@intofuture.org).",Translators:"Translators"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"Todos los derechos reservados",MeterAbbreviation:"m",Version:"Versión",VersionInitial:"V",Options:"Opciones",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Número máximo",MinimumNumber:"Minimum Number",MaximumValue:"Maximum Value",MinimumValue:"Minimum Value",Or:"O",None:"Ninguno",High:"High",Partial:"Partial",Teacher:"Profesor",Class:"Clase",Total:"Total",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Rango",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. +AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Press",Open:"Abrir",Save:"Guardar",SaveAsImage:"Guardar como imagen",SaveAsCsv:"Save as CSV",Update:"Actualizar",Paste:"Pegar",Copy:"Copiar",Cut:"Cortar",Delete:"Eliminar",Lock:"Cerrar con llave",Translucent:"Translucent",Color:"Color",Pattern:"Pattern",Texture:"Textura",Size:"Tamaño",Thickness:"Grosor",Yes:"Sí",No:"No",OK:"OK",Cancel:"Cancelar",Apply:"Aplicar",Close:"Cerrar",ApplyTo:"Aplicar a",Run:"Run",Pause:"Pause",Resume:"Resume",Clear:"Limpiar",Warning:"Aviso",Caution:"Caution",Reminder:"Reminder",Length:"Longitud",Width:"Ancho",Height:"Altura",Radius:"Radius",Angle:"Ángulo",Azimuth:"Azimut",Coordinates:"Coordinates",Weather:"Tiempo",Show:"Mostrar",Animate:"Animar",Date:"Fecha",Time:"Tiempo",Title:"Título",Owner:"Propietario",Action:"Acción",Rename:"Renombrar",Location:"Location",Latitude:"Latitud",Month:"Mes",Day:"Día",Hour:"Hora",Daylight:"Luz solar",Radiation:"Radiación",Temperature:"Temperatura",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"O",Fixed:"Fixed",Elements:"Elements",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Sin textura",FoundationElement:"Bases",CuboidElement:"Cuboide",PolygonElement:"Polígon",SensorElement:"Sensor",SolarPanelElement:"Panel solar",WaterHeaterElement:"Water Heater",ParabolicDishElement:"Parabolic Dish",ParabolicTroughElement:"Parabolic Trough",FresnelReflectorElement:"Fresnel Reflector",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Bloqueado",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Cannot sign in",CannotSignOut:"Cannot sign out",YourAccountWasCreated:"Your account was created.",CannotCreateAccount:"Cannot create an account",YourAccountSettingsWereSaved:"Your account settings were saved.",CannotSaveYourAccountSettings:"Cannot save your account settings",CannotSaveYourFileToCloud:"Cannot save your file to the cloud",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"The cloud file was not found",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Cannot open the cloud file",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Cannot open your cloud folder",CannotDeleteCloudFile:"Cannot delete the cloud file",CannotRenameCloudFile:"Cannot rename the cloud file",DoYouWantToSaveChanges:"¿Quieres guardar los cambios?",NotApplicableToSelectedAction:"No se aplica a la acción seleccionada",ThisElementIsLocked:"Este elemento está bloqueado",ThisCannotBeUndone:"Esto no se puede deshacer",AzimuthOfNorthIsZero:"Azimut del norte es 0°",CounterclockwiseAzimuthIsPositive:"Hacia la izquierda es positivo",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Move cancelled because of overlap.",MoveOutsideBoundaryCancelled:"Move outside the boundary cancelled.",RotationCancelledBecauseOfOverlap:"Rotation cancelled because of overlap.",RotationOutsideBoundaryCancelled:"Rotation outside the boundary cancelled.",ResizingCancelledBecauseOfOverlap:"Resizing cancelled because of overlap.",ResizingOutsideBoundaryCancelled:"Resizing outside the boundary cancelled.",CannotPasteOutsideBoundary:"Cannot paste outside this surface.",CannotPasteBecauseOfOverlap:"Cannot paste because of overlap.",CannotMoveObjectTooFar:"Cannot move object too far.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Existing solar panels will be removed before applying the new layout.",DoYouWantToContinue:"Do you want to continue?",SolarPanelsCannotIntersectWithGround:"Solar panels cannot intersect with the ground.",SolarPanelsCannotOverlapWithOneAnother:"Solar panels cannot overlap with one another.",ScreenshotSaved:"A screenshot was saved.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simulation started.",SimulationCompleted:"Simulation completed.",SimulationAborted:"Simulation aborted.",SimulationPaused:"Simulation paused.",CancelSimulation:"Cancel simulation",PauseSimulation:"Pause simulation",ResumeSimulation:"Resume simulation",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evolution started.",EvolutionCompleted:"Evolution completed.",EvolutionAborted:"Evolution aborted.",EvolutionPaused:"Evolution paused.",EncounterEvolutionError:"Encountered an evolution error.",CancelEvolution:"Cancel evolution",PauseEvolution:"Pause evolution",ResumeEvolution:"Resume evolution",ConvergenceThresholdHasBeenReached:"The convergence threshold has been reached.",MaximumNumberOfGenerationsHasBeenReached:"The maximum number of generations has been reached.",MaximumNumberOfStepsHasBeenReached:"The maximum number of steps has been reached.",ObjectiveFunctionTypeError:"The current objective function is not supported by this operation. Please start from the menu.",WallsAreNotAtSameHeight:"Walls are not at the same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analysis Options",option:{GridCellSize:"Grid Cell Size",SamplingFrequency:"Frecuencia de muestreo",TimesPerHour:"Veces per hora",DaysPerYear:"Days per Year"},mainMenu:"Menu principal",cloudMenu:"Menú en la nube",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Archivo",file:{CreateNewFile:"Crear nuevo archivo",OpenLocalFile:"Abrir archivo local",SaveAsLocalFile:"Guardar como archivo local",SavingAbortedMustHaveValidFileName:"!Error guardando! Debes tener un nombre de archivo válido",OpenCloudFile:"Abrir archivo en la nube",SaveCloudFile:"Guardar archivo en la nube",SaveAsCloudFile:"Guardar como archivo en la nube",SavingAbortedMustHaveValidTitle:"!Error guardando! Debes tener un título válido para el archivo en la nube",ToSaveYourWorkPleaseSignIn:"Para guardar tu trabajo, por favor regístrese.",TakeScreenshot:"Hacer captura de pantalla",UseCloudFileName:"Use Cloud File Name",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Editar",edit:{Undo:"Deshacer",Redo:"Repetir"},viewSubMenu:"Vista",view:{NavigationView:"Navigation View",TwoDimensionalView:"Vista 2D",ResetView:"Resetear",ZoomIn:"Acercar",ZoomOut:"Alejar",AutoRotate:"Auto rotación",ShowShadow:"Mostrar sombra",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Translucent Floating Windows",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Información del sitio",DesignInformation:"Información de diseño",Instruction:"Instrucción",StickyNote:"Nota adhesiva",Note:"Nota"}},settingsSubMenu:"Settings",settings:{WeatherData:"Datos del tiempo",DiurnalTemperature:"Diurnal Temperature",Heliodon:"Heliodon",SunAndTime:"Sun & Time"},benchmarksSubMenu:"Benchmarks",benchmarks:{SolarRadiationPredictionVsMeasurement:"Solar Radiation Prediction vs. Measurement",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Line Width",SymbolSize:"Symbol Size",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Show Horizontal Grid Lines",ShowVerticalGridLines:"Show Vertical Grid Lines"},analysisSubMenu:"Análisis",physicsSubMenu:"Physics",physics:{DailySolarRadiationHeatmap:"Daily Solar Radiation Heatmap",SolarRadiationHeatmapOptions:"Solar Radiation Heatmap Options",SolarRadiationHeatmapGridCellSize:"Solar Radiation Heatmap Grid Cell Size",SolarRadiationHeatmapMaxValue:"Solar Radiation Heatmap Maximum Value",SolarRadiationHeatmapNoAnimation:"No Animation for Static Model",ReflectionHeatmap:"Reflection Heatmap"},sensorSubMenu:"Sensores",sensor:{CollectDailyData:"Recoger datos diarios",CollectYearlyData:"Recoger datos anuales",SensorSimulationNoAnimation:"No Animation for Collecting Sensor Data"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Paneles solares",solarPanel:{AnalyzeDailyYield:"Analizar el rendimiento diario",AnalyzeYearlyYield:"Analizar el rendimiento anual",AnalyzeVisibility:"Analyze Visibility",PanelDiscretization:"Discretización del panel",Exact:"Exacto",Approximate:"Aproximado",EnergyGridCellSize:"Energy Grid Cell Size",VisibilityGridCellSize:"View Factor Grid Cell Size",EnergyAnalysisOptions:"Energy Analysis Options",VisibilityAnalysisOptions:"Visibility Analysis Options",SolarPanelSimulationNoAnimation:"No Animation for Solar Panel Simulation"},parabolicTroughSubMenu:"Parabolic Trough",parabolicTrough:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},parabolicDishSubMenu:"Parabolic Dish",parabolicDish:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},fresnelReflectorSubMenu:"Fresnel Reflector",fresnelReflector:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield"},solarUpdraftTowerSubMenu:"Solar Updraft Tower",solarUpdraftTower:{AnalyzeDailyYield:"Analyze Daily Yield",AnalyzeYearlyYield:"Analyze Yearly Yield",SolarUpdraftTowerSimulationNoAnimation:"No Animation for Solar Updraft Tower Simulation"},tutorialsSubMenu:"Tutorials",solarEnergyScienceSubMenu:"Solar Science",solarEnergyScienceTutorials:{SunAngles:"Ángulos solares relativos a un observador en el suelo",InsolationAndClimate:"Insolation and Climate",SolarRadiationToBox:"Radiación solar a una caja"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Building Design",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Cape Cod Style House with Shed Dormer",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Gable Roof vs. Hip Roof",ColonialVsSaltbox:"Colonial vs. Saltbox",GambrelRoofVsMansardRoof:"Gambrel Roof vs. Mansard Roof",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"All Basic Roof Types"},photovoltaicSolarPowerSubMenu:"Photovoltaic Solar Power",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Effect of Tilt Angle",EffectOfAzimuthOfSolarPanel:"Effect of Azimuth",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Seguidores solares",CoveringGroundWithSolarPanels:"Why Just Covering the Ground with Solar Panels is not a Good Idea",InterRowSpacingOfSolarPanelArray:"Effect of Inter-Row Spacing in a Solar Panel Array",EffectOfOrientationOfSolarPanels:"Effect of Orientation of Solar Panels",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Concentrated Solar Power",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Effect of Azimuth of a Parabolic Trough",EffectOfLatusRectumOfParabolicTrough:"Effect of Latus Rectum of a Parabolic Trough",FocusSunlightWithParabolicDish:"Focus Sunlight with a Parabolic Dish",LinearFresnelReflectors:"Linear Fresnel Reflectors",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Effect of Absorber Pipe Height for Linear Fresnel Reflectors",EffectOfAzimuthOfLinearFresnelReflectors:"Effect of Azimuth of Linear Fresnel Reflectors",LinearFresnelReflectorsWithTwoAbsorbers:"Linear Fresnel Reflectors with Two Absorbers",CosineEfficiencyOfHeliostats:"Cosine Efficiency of Heliostats",ShadowingAndBlockingOfHeliostats:"Shadowing and Blocking of Heliostats",EffectSolarPowerTowerHeight:"Effect of Solar Power Tower Height",SolarPowerTower:"Solar Power Tower"},otherTypesOfSolarPowerSubMenu:"Other Types of Solar Power",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Tower"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Ejemplos",solarEnergySubMenu:"Energía Solar",solarEnergyExamples:{SunBeamAndHeliodon:"Rayo de sol y heliodon",RooftopSolarPanels:"Rooftop Solar Panels",NevadaSolarOneParabolicTroughArray:"Nevada Solar One Parabolic Trough Array",TooeleParabolicDishArray:"Tooele Parabolic Dish Array",PS10SolarPowerTower:"PS10 Solar Power Tower",TucsonLinearFresnelReflectors:"Tucson Linear Fresnel Reflectors",SolarCanopyFormFactors:"Solar Canopy Form Factors",SolarCanopyOverBleachers:"Solar Canopy Over Bleachers",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Bus Stop",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Vegetative Buffer",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Hypothetical Solar Panels Over Canal in Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Hypothetical Solar Noise Barrier in Lexington, MA",HSATSolarTrackersRaleighNC:"Horizontal Single Axis Trackers (HSAT) in Raleigh, NC",AADATSolarTrackersLancasterCA:"Azimuth–Altitude Dual Axis Trackers (AADAT) in Lancaster, CA",SolarUpdraftTowerInCity:"Solar Updraft Tower in City"},builtEnvironmentSubMenu:"Built Environment",residentialBuildingsSubMenu:"Residential Buildings",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Dutch Colonial House",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solarium",Church1:"Church 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Barn Style House",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Commercial Buildings",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"BILIM, Mersin, Turkiye",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Edificio de oficinas",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, VT",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Urban Planning",urbanPlanningExamples:{Heatmap1:"Heatmap"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Greenhouse",Pavilion:"Pavilion in a Park",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Artificial Intelligence",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Optimizing the Tilt Angle of a Solar Panel Row",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Optimizing the Tilt Angles of Multiple Solar Panel Rows",SolarFarmGenerativeDesign:"Solar Farm Generative Design",SolarFarmGenerativeDesignWithBlock:"Solar Farm Generative Design in the Presence of a Block",FitchburgSolarFarmGenerativeDesign:"Fitchburg Solar Farm Generative Design"},languageSubMenu:"Idioma",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Sobre nosotros"},avatarMenu:{AccountSettings:"Configuraciones de la cuenta",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"When you sign in, your Google ID is used to create and access your Aladdin account. Only a random alphanumeric string is stored in our database as a reference. No personally identifiable data such as your name or email is ever gathered. For more information, see our ",SignIn:"Iniciar sesión",SignOut:"Desconectar",IfYouAreAStudent:"Si eres un estudiante"},skyMenu:{Axes:"Ejes",Theme:"Tema",ThemeDefault:"Por defecto",ThemeDesert:"Desierto",ThemeDune:"Dune",ThemeForest:"Bosque",ThemeGrassland:"Campo",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Sunlight Attenuation Coefficient in Air",ConvectiveCoefficientOfAir:"Convective Coefficient of Air",HighestTemperatureTimeInMinutes:"Highest Temperature Time (Minutes)",SelectSunAnglesToShow:"Select Sun Angles to Show",ShowAzimuthAngle:"Show Azimuth Angle",ShowElevationAngle:"Show Elevation Angle",ShowZenithAngle:"Show Zenith Angle",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Imagen en el suelo",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Eliminar todos los árboles",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Eliminar toda la gente",RemoveAllUnlockedFoundations:"Eliminar todos las bases",RemoveAllUnlockedCuboids:"Eliminar todos los cuboides",DoYouReallyWantToRemoveAllPeople:"Estás seguro que quieres eliminar a toda la gente who are not locked",DoYouReallyWantToRemoveAllTrees:"Estás seguro que quieres eliminar todos los árboles that are not locked",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Estás seguro que quieres eliminar todas las bases that are not locked",DoYouReallyWantToRemoveAllCuboids:"Estás seguro que quieres eliminar todos los cuboides that are not locked",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiqueta",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Seguir mostrando etiqueta"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Eliminar todos los paneles solares",RemoveAllUnlockedParabolicTroughs:"Remove All Unlocked Parabolic Troughs",RemoveAllUnlockedParabolicDishes:"Remove All Unlocked Parabolic Dishes",RemoveAllUnlockedFresnelReflectors:"Remove All Unlocked Fresnel Reflectors",RemoveAllUnlockedHeliostats:"Remove All Unlocked Heliostats",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Eliminar todos los sensores",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Eliminar todas las paredes",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",RemoveAllUnlockedHumans:"Remove All Humans",RemoveAllUnlockedTrees:"Remove All Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Rejillas",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",SolarPanels:"Paneles solares",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Estás seguro que quieres eliminar todos los paneles solares en esta base that are not locked",ParabolicTroughs:"Parabolic Troughs",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Do you really want to remove all the parabolic troughs on this foundation that are not locked",ParabolicDishes:"Parabolic Dishes",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Do you really want to remove all the parabolic dishes on this foundation that are not locked",FresnelReflectors:"Fresnel Reflectors",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Do you really want to remove all the Fresnel reflectors on this foundation that are not locked",Heliostats:"Heliostats",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Do you really want to remove all the heliostats on this foundation that are not locked",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensores",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Estás seguro que quieres eliminar todos los sensores de esta base",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Paredes",DoYouReallyWantToRemoveAllWallsOnFoundation:"Estás seguro que quieres eliminar todas las paredes de esta base that are not locked",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Polígonos",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Estás seguro que quieres eliminar todos los polígonos de esta base that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnFoundation:"Do you really want to remove all the humans on this foundation who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnFoundation:"Do you really want to remove all the trees on this foundation that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Solamente esta base",AllConnectedFoundations:"Todas las bases conectadas",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Todas las bases",AddPolygon:"Añadir polígono",SolarStructure:"Solar Structure",GroupMaster:"Group Master",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Receiver Tower for Heliostats",ReceiverTowerPhysicalProperties:"Physical Properties of Receiver Tower",ReceiverTowerHeight:"Height of Receiver Tower",ReceiverTowerRadius:"Radius of Receiver Tower",ReceiverAbsorptance:"Absorptance of Receiver",ReceiverOpticalEfficiency:"Optical Efficiency of Receiver",ReceiverThermalEfficiency:"Thermal Efficiency of Receiver"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Absorber Pipe for Fresnel Reflectors",AbsorberPipePhysicalProperties:"Physical Properties of Absorber Pipe",AbsorberHeight:"Height of Absorber Pipe",AbsorberApertureWidth:"Aperture Width of Absorber Pipe",AbsorberPipePoleNumber:"Pole Number for Absorber Pipe",AbsorberAbsorptance:"Absorptance of Absorber",AbsorberOpticalEfficiency:"Optical Efficiency of Absorber",AbsorberThermalEfficiency:"Thermal Efficiency of Absorber"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Tower",SolarUpdraftTowerPhysicalProperties:"Physical Properties of Solar Updraft Tower",SolarUpdraftTowerChimneyHeight:"Solar Updraft Tower Chimney Height",SolarUpdraftTowerChimneyRadius:"Solar Updraft Tower Chimney Radius",SolarUpdraftTowerCollectorHeight:"Solar Updraft Tower Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Tower Collector Radius",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Tower Collector Transmissivity",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Tower Collector Emissivity",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Tower Discharge Coefficient",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Tower Turbine Efficiency"},cuboidMenu:{Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",RemoveAllUnlockedSolarPanels:"Eliminar todos los paneles solares",RemoveAllUnlockedSensors:"Eliminar todos los sensores",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",RemoveAllUnlockedHumans:"Remove All Humans",RemoveAllUnlockedTrees:"Remove All Trees",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Rejillas",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Paneles solares",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Estás seguro que quieres eliminar todos los paneles solares de este cuboide that are not locked",Sensors:"Sensores",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Estás seguro que quieres eliminar todos los sensores de este cuboide that are not locked",Polygons:"Polígonos",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Estás seguro que quieres eliminar todos los polígonos de este cuboide that are not locked",Humans:"Humans",DoYouReallyWantToRemoveAllHumansOnCuboid:"Do you really want to remove all the humans on this cuboid who are not locked",Trees:"Trees",DoYouReallyWantToRemoveAllTreesOnCuboid:"Do you really want to remove all the trees on this cuboid that are not locked",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Solamente este cuboide",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Todos los cuboides",OnlyThisSide:"Solamente este lado",AllSidesOfThisCuboid:"Todos los lados en este cuboide",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Todos los lados en todos los cuboides",AddPolygon:"Añadir polígono",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Rellenar",FillTexture:"Rellenar textura",FillColor:"Rellenar color",Opacity:"Opacity",LineColor:"Color de la línea",LineWidth:"Line Width",LineStyle:"Line Style",SolidLine:"Solid Line",DashedLine:"Dashed Line",DottedLine:"Dotted Line",InsertVertexBeforeIndex:"Añadir vértice antes del índice",InsertVertexAfterIndex:"Añadir vértice después del índice",DeleteVertex:"Eliminar vértice",OnlyThisPolygon:"Solamente este polígono",AllPolygonsOnSurface:"All Polygons on the Same Surface",AllPolygonsAboveFoundation:"Todos los polígonos sobre la base",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Todos los polígonos",Layout:"Layout",SolarPanelArrayLayout:"Solar Panel Array Layout",SolarPanelArrayLayoutParametricDesign:"Solar Panel Array Layout: Parametric Design",SolarPanelArrayLayoutGenerativeDesign:"Solar Panel Array Layout: Generative Design",SolarPanelArrayModel:"Solar Panel Model",SolarPanelArrayOrientation:"Orientation",SolarPanelArrayTiltAngle:"Tilt Angle",SolarPanelArrayRowWidth:"Row Width",SolarPanelArrayInterRowSpacing:"Inter-Row Spacing",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Row Axis",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"East-West (Absolute)",SolarPanelArrayNorthSouthRowAxis:"North-South (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Pole Height",SolarPanelArrayPoleSpacing:"Pole Spacing",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"This layout is not accepted. Please check your parameters."},optimizationMenu:{Optimization:"Optimization",Parameters:"Parameters",Variables:"Variables",Constants:"Constants",GeneticAlgorithm:"Genetic Algorithm",GeneticAlgorithmSettings:"Genetic Algorithm Settings",ParticleSwarmOptimization:"Particle Swarm Optimization",ParticleSwarmOptimizationSettings:"Particle Swarm Optimization Settings",SolarPanelTiltAngleOptimization:"Solar Panel Tilt Angle Optimization",SolarPanelArrayLayout:"Solar Panel Array Layout",Generation:"Generation",Gene:"Gene",NormalizedVariables:"Normalized Variables",Objective:"Objective",ObjectiveFunctionDailyTotalYield:"Daily Total Yield",ObjectiveFunctionYearlyTotalYield:"Yearly Total Yield",ObjectiveFunctionDailyMeanYield:"Daily Mean Yield",ObjectiveFunctionYearlyMeanYield:"Yearly Mean Yield",ObjectiveFunctionDailyProfit:"Daily Profit",ObjectiveFunctionYearlyProfit:"Yearly Profit",GeneticAlgorithmSelectionMethod:"Genetic Algorithm Selection Method",RouletteWheel:"Roulette Wheel",Tournament:"Tournament",SearchMethod:"Search Method",GlobalSearchUniformSelection:"Global Search Uniform Selection",LocalSearchRandomOptimization:"Local Search Random Optimization",PopulationSize:"Population Size",MaximumGenerations:"Maximum Generations",SelectionRate:"Selection Rate",CrossoverRate:"Crossover Rate",MutationRate:"Mutation Rate",Step:"Step",SwarmSize:"Swarm Size",MaximumSteps:"Maximum Steps",MaximumVelocity:"Maximum Velocity",InertiaWeight:"Inertia Weight",CognitiveCoefficient:"Cognitive Coefficient",SocialCoefficient:"Social Coefficient",ConvergenceThreshold:"Convergence Threshold for Termination",LocalSearchRadius:"Local Search Radius",RowsPerRackRange:"Range for Rows per Rack",TiltAngleRange:"Range for Tilt Angle",InterRowSpacingRange:"Range for Inter-Row Spacing",ClickTargetPolygonToActivate:"Click Target Polygon to Activate",ClickTargetFoundationToActivate:"Click Target Foundation to Activate"},treeMenu:{ShowModel:"Mostrar modelo",Flip:"Flip",Type:"Tipo",Spread:"Extender"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Cambiar persona",Flip:"Flip",Observer:"Observer",ViewFromThisPerson:"View from This Person"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Azimut relativa",Pole:"Pole",PoleHeight:"Altura del poste",PoleRadius:"Pole Radius",ExtraPoleHeight:"Extra Pole Height",ExtraPoleHeightInAdditionToHalfWidth:"Extra Pole Height in Addition to Half Width",DrawSunBeam:"Dibujar rayo del sol"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflector Reflectance",ReceiverAbsorptance:"Receiver Absorptance",ReflectorOpticalEfficiency:"Reflector Optical Efficiency",ReceiverThermalEfficiency:"Receiver Thermal Efficiency"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Cambiar modelo PV",Orientation:"Orientación",Portrait:"Vertical",Landscape:"Horizontal",FrameColor:"Frame Color",Panels:"paneles",PanelsWide:"ancho paneles",PanelsLong:"longitud paneles",TiltAngle:"Inclinar ángulo",SouthFacingIsPositive:"Orientado al sur es positivo",Tracker:"Seguidor",SolarTrackerFollowsSun:"Un seguidor sigue el sol para incrementar las salidas de los paneles solares",PoleSpacing:"Espaciado entre postes",NoTracker:"Sin seguimiento",HorizontalSingleAxisTracker:"Seguidor horizontal de eje único",VerticalSingleAxisTracker:"Seguidor vertical de eje único",AltazimuthDualAxisTracker:"Seguidor de doble eje altazimutal",OnlyThisSolarPanel:"Solamente este panel solar",AllSolarPanelsOnSurface:"Todos los paneles solares en la misma superficie",AllSolarPanelsAboveFoundation:"Todos los paneles solares sobre la misma base",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Todos los paneles solares"},pvModelPanel:{SolarPanelSpecs:"Especificaciones del panel solar",Model:"Modelo",PanelSize:"Tamaño del panel",Cells:"Celdas",CellType:"Tipo de celda",Monocrystalline:"Monocristalino",Polycrystalline:"Policristalino",ThinFilm:"Película delgada",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Negro",Blue:"Azul",ShadeTolerance:"Tolerancia a la sombra",SolarCellEfficiency:"Eficiencia de la célula solar",NominalOperatingCellTemperature:"Temperatura nominal de la celda de funcionamiento",TemperatureCoefficientOfPmax:"Coeficiente de temperatura de Pmax"},parabolicTroughMenu:{ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",LatusRectum:"Latus Rectum",OnlyThisParabolicTrough:"Only This Parabolic Trough",AllParabolicTroughsAboveFoundation:"All Parabolic Troughs Above the Same Foundation",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"All Parabolic Troughs"},fresnelReflectorMenu:{AbsorberPipe:"Absorber Pipe",SelectAbsorberToReflectSunlightTo:"Select Absorber to Reflect Sunlight to",ModuleLength:"Module Length",Modules:"modules",ModulesLong:"modules long",OnlyThisFresnelReflector:"Only This Fresnel Reflector",AllFresnelReflectorsAboveFoundation:"All Fresnel Reflectors Above the Same Foundation",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"All Fresnel Reflectors"},heliostatMenu:{Tower:"Tower",SelectTowerToReflectSunlightTo:"Select Tower to Reflect Sunlight to",OnlyThisHeliostat:"Only This Heliostat",AllHeliostatsAboveFoundation:"All Heliostats Above the Same Foundation",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"All Heliostats"},parabolicDishMenu:{ReceiverStructure:"Receiver Structure",CentralPole:"Central Pole",CentralPoleWithTripod:"Central Pole with Tripod",Quadrupod:"Quadrupod",RimDiameter:"Rim Diameter",LatusRectum:"Latus Rectum",ExtraPoleHeightInAdditionToRadius:"Extra Pole Height in Addition to Radius",OnlyThisParabolicDish:"Only This Parabolic Dish",AllParabolicDishesAboveFoundation:"All Parabolic Dishes Above the Same Foundation",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"All Parabolic Dishes"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",SizeOfWall:"Tamaño de la pared",OnlyThisWall:"Solamente esta pared",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:"Todas las paredes sobre la misma base",AllSelectedWalls:"All Selected Walls",AllWalls:"Todo paredes",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Do you really want to remove all the windows on this wall",Doors:"Doors",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Do you really want to remove all the doors on this wall",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Do you really want to remove all the solar panels on this wall",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Eliminar todos los polígonos",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Wall Structure",DefaultStructure:"Default",StudStructure:"Stud",PillarStructure:"Pillar",Opacity:"Opacity",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Altura",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Only This Window",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"All Windows Above the Same Foundation",AllSelectedWindows:"All Selected Windows",AllWindows:"All Windows",Width:"Ancho",Height:"Altura",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Mullion",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Mullion Width",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Tint",Opacity:"Opacity",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Shutter",LeftShutter:"Left Shutter",RightShutter:"Right Shutter",BothShutters:"Both Shutters",ShutterWidth:"Relative Width",ShutterColor:"Shutter Color",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",OnlyThisRoof:"Only This Wall",AllRoofsAboveFoundation:"All Walls Above the Same Foundation",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"All Roofs",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Rafter Spacing",RafterWidth:"Rafter Width",RafterThickness:"Rafter Thickness",RafterColor:"Rafter Color",RoofColor:"Roof Color",RoofSideColor:"Roof Side Color",GlassTint:"Glass Tint",Opacity:"Opacity",RoofStructure:"Roof Structure",DefaultStructure:"Default",RafterStructure:"Rafter",GlassStructure:"Glass",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Por defecto",Texture01:"Textura 1",Texture02:"Textura 2",Texture03:"Textura 3",Texture04:"Textura 4",Texture05:"Textura 5",Texture06:"Textura 6",Texture07:"Textura 7",Texture08:"Textura 8",Texture09:"Textura 9",Texture10:"Textura 10",Texture11:"Textura 11",Texture12:"Textura 12",Texture13:"Textura 13",Texture14:"Textura 14",Texture15:"Textura 15",Texture16:"Textura 16",Texture17:"Textura 17",OnlyThisDoor:"Only This Door",AllDoorsOnWall:"All Doors on the Same Wall",AllDoorsAboveFoundation:"All Doors Above the Same Foundation",AllSelectedDoors:"All Selected Doors",AllDoors:"All Doors",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Alto",Low:"Bajo"},designInfoPanel:{NumberOfSelectedHeliostats:"Number of selected heliostats",NumberOfSelectedSolarPanels:"Number of selected solar panels",ElectricityGeneratedDailyBySolarPanels:"Electricity generated daily by these solar panels",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Color Contrast",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Click up or down arrow buttons to change"},instructionPanel:{Rotate:"Rotar",DragMouse:"Arrastrar el ratón",Zoom:"Zoom",MouseWheelOrKeys:"Girar el mouse o presionar Ctrl+[ o Ctrl+]",MouseWheelOrKeysMac:"Girar el mouse o presionar ⌘+[ o ⌘+]",Pan:"Panorámica",HoldCtrlDragMouse:"Mantener Ctrl y mover el ratón",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Reset",AutoRotate:"Auto rotar",StartOrStop:"Presiona F4 para empezar o parar"},mapPanel:{ImageOnGround:"Imagen en el suelo",HideAddress:"Hide Address",WeatherStations:"Weather Stations",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Coordenadas",Zoom:"Zoom"},visibilityPanel:{SolarPanelVisibility:"Solar Panel Visibility",Observer:"Observer",VantagePoint:"Vantage Point",ItemizedVisibilityByFields:"Itemized by Fields",TotalVisibility:"Total"},sensorPanel:{LightSensor:"Sensor de luz",WeatherDataFrom:"Datos metereológicos de"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Rendimiento diario del panel solar",SolarPanelYearlyYield:"Rendimiento anual del panel solar",Yield:"Rendimiento",YieldPerHour:"Rendimiento por hora",DailyTotal:"Total diario",YearlyTotal:"Total anual",ShowOutputsOfIndividualSolarPanels:"Mostrar salidas de paneles solares individuales",Profit:"Profit",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolic Trough Daily Yield",ParabolicTroughYearlyYield:"Parabolic Trough Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicTroughs:"Show outputs of individual parabolic troughs"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolic Dish Daily Yield",ParabolicDishYearlyYield:"Parabolic Dish Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualParabolicDishes:"Show outputs of individual parabolic dishes"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflector Daily Yield",FresnelReflectorYearlyYield:"Fresnel Reflector Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualFresnelReflectors:"Show outputs of individual Fresnel feflectors"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Daily Yield",HeliostatYearlyYield:"Heliostat Yearly Yield",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualHeliostats:"Show outputs of individual heliostats"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Tower Daily Yield",UpdraftTowerYearlyYield:"Solar Updraft Tower Yearly Yield",ChimneyAirTemperature:"Chimney Air Temperature",ChimneyWindSpeed:"Chimney Wind Speed",Yield:"Yield",YieldPerHour:"Yield per Hour",DailyTotal:"Daily Total",YearlyTotal:"Yearly Total",ShowOutputsOfIndividualUpdraftTowers:"Show outputs of individual updraft towers"},heliodonPanel:{SunAndTimeSettings:"Sun & Time Settings",SunAngles:"Ángulos",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Mis archivos en la nube",GenerateLink:"Generar enlace",LinkGeneratedInClipBoard:"Se ha generado un enlace en el portapapeles",DoYouReallyWantToDelete:"Estás seguro que quieres eliminar",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Configuración de mi cuenta",MyID:"My 🆔",ClickToCopyMyID:"Click to copy my ID",IDInClipBoard:"Your ID was copied and is ready to paste.",StoreMyNameInMyFilesWhenSaving:"Store my name in my files when saving",DoYouReallyWantToShowYourNameInYourFiles:"Do you really want to show your display name in your files?",SignFileDisclaimer:"If yes, your display name may be seen by anyone who can access your files.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"User Count",SchoolID:"School ID",ClassID:"Class ID"},weatherPanel:{SunshineHours:"Luz solar"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Select Air Temperature Model",Sinusoidal:"Sinusoidal"},economicsPanel:{EconomicsParameters:"Economics Parameters",ElectricitySellingPrice:"Electricity Selling Price",OperationalCostPerUnit:"Operational Cost per Unit",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Claridad",ShowDaylightResults:"Mostrar resultados de la luz solar",ShowSkyClearnessResults:"Mostrar resultados de claridad del cielo",ShowAverageDailySolarRadiation:"Mostrar la radiación solar diaria promedio"},analysisManager:{NoSensorForCollectingData:"Sin sensor para recopilar datos",NoSolarPanelForAnalysis:"Sin panel solar para el análisis",NoObserverForVisibilityAnalysis:"There is no observer for visibility analysis.",NoWaterHeaterForAnalysis:"There is no water heater for analysis.",NoParabolicDishForAnalysis:"There is no parabolic dish for analysis.",NoParabolicTroughForAnalysis:"There is no parabolic trough for analysis.",NoFresnelReflectorForAnalysis:"There is no Fresnel reflector for analysis.",NoHeliostatForAnalysis:"There is no heliostat for analysis.",NoSolarUpdraftTowerForAnalysis:"There is no solar updraft tower for analysis.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Archivo en la nube",Select:"Seleccionar",AddFoundation:"Añadir base",AddWall:"Añadir pared",AddWindow:"Añadir ventana",AddDoor:"Añadir door",AddPyramidRoof:"Add Pyramid Roof",AddGableRoof:"Add Gable Roof",AddHipRoof:"Add Hip Roof",AddGambrelRoof:"Add Gambrel Roof",AddMansardRoof:"Add Mansard Roof",AddCuboid:"Añadir Cuboid",AddSensor:"Añadir Sensor",AddSolarPanel:"Añadir Panel Solar",AddWaterHeater:"Add Water Heater",AddParabolicDish:"Add Parabolic Dish",AddParabolicTrough:"Add Parabolic Trough",AddFresnelReflector:"Add Fresnel Reflector",AddHeliostat:"Add Heliostat",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Añadir árbol",AddFlower:"Add Flower",AddPeople:"Añadir gente",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Manipulate a group",ClearScene:"Clear escena",ShowSunAndTimeSettings:"Show sun and time settings",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"Estás seguro que quieres borrar el contenido",ClickForMoreButtons:"Click for more buttons"},tooltip:{gotoIFI:"Ver Institute for Future Intelligence",visitAladdinHomePage:"Visita la página de Aladdin",clickToOpenMenu:"Haz clic para abrir el menú principal",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Cerezo silvestre",Elm:"Olmo",FanPalm:"Fan Palm",Linden:"Tilo",Magnolia:"Magnolia",Maple:"Arce",Oak:"Roble",Pine:"Pino",Spruce:"Spruce"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Jaah",Jack:"Jack",Jacob:"Jacob",Jacqueline:"Jacqueline",Jade:"Jade",Jamelia:"Jamelia",James:"James",Jane:"Jane",Jaya:"Jaya",Jaye:"Jaye",Jeanette:"Jeanette",Jedi:"Jedi",Jeff:"Jeff",Jena:"Jena",Jennifer:"Jennifer",Jess:"Jess",Jett:"Jett",Jill:"Jill",Jiya:"Jiya",Joan:"Joan",Jocelyn:"Jocelyn",Joel:"Joel",Joey:"Joey",John:"John",Jonathon:"Jonathon",Jose:"Jose",Joseph:"Joseph",Joshua:"Joshua",Judd:"Judd",Judy:"Judy",Julia:"Julia",Julio:"Julio",Jumapili:"Jumapili",June:"June",Juro:"Juro",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Gft={translation:{name:{IFI:"Yarının Zekası Enstitüsü",Aladdin:"Aladdin",Tagline:"Aladdin: Açıklanabilir Yapay Zeka ile Tasarımı Yeniden Hayal Et — Yarının Zekası Enstitüsü"},cookie:{Statement:"Kabul Ete tıklayarak, iyi bir Aladdin deneyimi için çerez kullanımını kabul etmiş olursunuz.",Accept:"Kabul Et"},aboutUs:{ProductBroughtToYouBy:"Geliştiriciler",TermsOfService:"Hizmet Şartları",PrivacyPolicy:"Gizlilik Politikası",Software:"Yazılım",Content:"İçerik",Research:"Araştırma",Support:"Destek",Acknowledgment:"Onay",FundingInformation:"Ulusal Bilim Vakfı (NSF), #2105695, #2131097, ve #2301164 numaralı fon destekleriyle mevcut ürünün araştırma ve geliştirme çalışmalarına cömert bir mali kaynak sağlamıştır. Bununla birlikte üründe ifade edilen herhangi bir görüş, bulgu ve sonuç veya öneri yazarların kendi görüşleridir. NSF'nin kurumsal görüşlerini yansıtmayabilir.",Contact:"Daha fazla bilgi için lütfen Charles Xie (charles@intofuture.org) ile iletişime geçiniz.",Translators:"Çevirmenler"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Text",FontSize:"Font Size",FontColor:"Font Color",Model:"Model",Models:"Models",Upload:"Upload",ClickCount:"Click Count",Share:"Share",AlreadyLike:"Already like",Like:"Like",MustLogInToLike:"Must log in to like",AllRightsReserved:"Tüm Hakları Saklıdır.",MeterAbbreviation:"m",Version:"Sürüm",VersionInitial:"S",Options:"Seçenekler",Maximum:"Maximum",Minimum:"Minimum",MaximumNumber:"Maksimum Sayı",MinimumNumber:"Minimum Sayı",MaximumValue:"Maksimum Değer",MinimumValue:"Minimum Değer",Or:"Veya",None:"Hiçbiri",High:"Yüksek",Partial:"Kısmi",Teacher:"Öğretmen",Class:"Sınıf",Total:"Toplam",Leaderboard:"Leaderboard",Latest:"Latest",Range:"Aralık",SIUnit:"SI Unit",USUnit:"US Unit",ThermalTransmittance:"Thermal Transmittance",ThermalResistance:"Thermal Resistance",UValue:"U-Value",RValue:"R-Value",VolumetricHeatCapacity:"Volumetric Heat Capacity",BuildingHVACSystem:"Building HVAC System",ThermostatSetpoint:"Thermostat Setpoint",TemperatureToleranceThreshold:"Tolerance Threshold",TemperatureToleranceThresholdExplanation:`Heater will not run if the lowest outside temperature of the day is higher than the setpoint minus this threshold. +AC will not run if the highest outside temperature of the day is lower than the setpoint plus this threshold.`,Press:"Tıkla",Open:"Aç",Save:"Kaydet",SaveAsImage:"Resim Olarak Kaydet",SaveAsCsv:"Save as CSV",Update:"Güncelle",Paste:"Yapıştır",Copy:"Kopyala",Cut:"Kes",Delete:"Sil",Lock:"Kilitle",Translucent:"Yarı Saydam",Color:"Renk",Pattern:"Pattern",Texture:"Doku",Size:"Boyut",Thickness:"Kalınlık",Yes:"Evet",No:"Hayır",OK:"Tamam",Cancel:"İptal",Apply:"Uygula",Close:"Kapat",ApplyTo:"Uygula",Run:"Çalıştır",Pause:"Duraklat",Resume:"Sürdür",Clear:"Temizle",Warning:"Uyarı",Caution:"Caution",Reminder:"Hatırlatıcı",Length:"Uzunluk",Width:"Genişlik",Height:"Yükseklik",Radius:"Yarıçap",Angle:"Açı",Azimuth:"Azimut",Coordinates:"Koordinatlar",Weather:"Hava Durumu",Show:"Göster",Animate:"Oynat",Date:"Tarih",Time:"Saat",Title:"Başlık",Owner:"Sahibi",Action:"Eylem",Rename:"Yeniden Adlandır",Location:"Konum",Latitude:"Enlem",Month:"Ay",Day:"Gün",Hour:"Saat",Daylight:"Gün Işığı",Radiation:"Işınım",Temperature:"Sıcaklık",kWh:"kWh",dollar:"dollar",MeterPerSecond:"m/s",NorthInitial:"N",SouthInitial:"S",EastInitial:"E",WestInitial:"W",Fixed:"Sabit",Elements:"Öğeler",Energy:"Energy",Unknown:"Unknown",Label:"Label",Description:"Description",NoDescription:"No description",MaximumCharacters:"Maximum characters",Author:"Author",Publisher:"Publisher",Building:"Building",ResidentialBuilding:"Residential Building",CommercialBuilding:"Commercial Building",SchoolBuilding:"School Building",TouristAttraction:"Tourist Attraction",UnderConstruction:"Under Construction",Photovoltaic:"Photovoltaic",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Anonymous",Nickname:"Nickname",Pin:"Pin",Unpin:"Unpin"},shared:{NoTexture:"Doku Yok",FoundationElement:"Temel",CuboidElement:"Kübik",PolygonElement:"Poligon",SensorElement:"Sensör",SolarPanelElement:"Güneş Paneli",WaterHeaterElement:"Su Isıtıcı",ParabolicDishElement:"Parabolik Çanak",ParabolicTroughElement:"Parabolik Oluk",FresnelReflectorElement:"Fresnel Reflektör",HeliostatElement:"Heliostat",WindTurbineElement:"Wind Turbine",LightElement:"Light",ElementLocked:"Kilitli",ModelType:"Model Type",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Model not found",CannotSignIn:"Oturum açılamıyor",CannotSignOut:"Çıkış yapılamıyor",YourAccountWasCreated:"Hesabınız oluşturuldu",CannotCreateAccount:"Hesap oluşturulamıyor",YourAccountSettingsWereSaved:"Hesap ayarlarınız kaydedildi.",CannotSaveYourAccountSettings:"Hesap ayarlarınız kaydedilemiyor",CannotSaveYourFileToCloud:"Dosyanız buluta kaydedilemiyor",CannotCreateNewProject:"Cannot create a new project",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Cannot open your projects",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"This title has been used. Choose a different one",CloudFileWithTitleExistsDoYouWantToOverwrite:"A cloud file with the title exists. Do you want to overwrite it?",CloudFileNotFound:"Bulut dosyası bulunamadı",CannotLoadModelsOnMap:"Cannot load models on map",CannotLoadLeaderboard:"Cannot load leaderboard",CannotPublishModelOnMap:"Cannot publish model on map",CannotLikeModelFromMap:"Cannot like model from map",CannotDeleteModelFromMap:"Cannot delete model from map",ModelDeletedFromMap:"Model is deleted from map",DoYouWantToDeleteModelFromMap:"Do you want to delete the model from map?",CannotOpenCloudFile:"Bulut dosyası açılamıyor",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Bulut klasörünüz açılamıyor",CannotDeleteCloudFile:"Bulut dosyası silinemiyor",CannotRenameCloudFile:"Bulut dosyası yeniden adlandırılamıyor",DoYouWantToSaveChanges:"Değişiklikleri kaydetmek istiyor musunuz?",NotApplicableToSelectedAction:"Seçili eyleme uygulanamaz",ThisElementIsLocked:"Bu öğe kilitli.",ThisCannotBeUndone:"Geri alınamaz.",AzimuthOfNorthIsZero:"Kuzey yönünün azimut açısı 0 ° derecedir.",CounterclockwiseAzimuthIsPositive:"Saat yönünün tersi yönde azimut açısı pozitiftir.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Çakışma nedeniyle taşıma iptal edildi.",MoveOutsideBoundaryCancelled:"Alan dışına çıkan taşıma iptal edildi.",RotationCancelledBecauseOfOverlap:"Çakışma nedeniyle döndürme iptal edildi.",RotationOutsideBoundaryCancelled:"Alan dışı döndürme iptal edildi.",ResizingCancelledBecauseOfOverlap:"Çakışma nedeniyle yeniden boyutlandırma iptal edildi.",ResizingOutsideBoundaryCancelled:"Alan dışında yeniden boyutlandırma iptal edildi.",CannotPasteOutsideBoundary:"Alanın dışına yapıştırılamaz.",CannotPasteBecauseOfOverlap:"Çakışma nedeniyle yapıştırılamıyor.",CannotMoveObjectTooFar:"Nesne buraya taşınamaz.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Yeni yerleşim düzeni uygulanmadan önce mevcut güneş panelleri kaldırılacaktır.",DoYouWantToContinue:"Devam etmek istiyor musunuz?",SolarPanelsCannotIntersectWithGround:"Güneş panelleri zeminle kesişemez.",SolarPanelsCannotOverlapWithOneAnother:"Güneş panelleri birbiriyle örtüşemez.",ScreenshotSaved:"Ekran görüntüsü kaydedildi.",CsvFileSaved:"A CSV file was saved.",SimulationStarted:"Simülasyon başladı.",SimulationCompleted:"Simülasyon tamamlandı.",SimulationAborted:"Simülasyon iptal edildi.",SimulationPaused:"Simülasyon duraklatıldı.",CancelSimulation:"Simülasyonu iptal et",PauseSimulation:"Simülasyonu duraklat",ResumeSimulation:"Simülasyonu devam ettir",SimulationWillNotStartDueToErrors:"Simulation will not start due to errors",SimulationWillStartDespiteWarnings:"Simulation will start despite warnings.",EvolutionStarted:"Evrim başladı.",EvolutionCompleted:"Evrim tamamlandı.",EvolutionAborted:"Evrim iptal edildi.",EvolutionPaused:"Evrim duraklatıldı.",EncounterEvolutionError:"Evrim hatasıyla karşılaşıldı.",CancelEvolution:"Evrimi iptal et",PauseEvolution:"Evrimi duraklat",ResumeEvolution:"Evrime devam et",ConvergenceThresholdHasBeenReached:"Yakınsama eşiğine ulaşıldı.",MaximumNumberOfGenerationsHasBeenReached:"Maksimum nesil sayısına ulaşıldı.",MaximumNumberOfStepsHasBeenReached:"Maksimum adım sayısına ulaşıldı.",ObjectiveFunctionTypeError:"Geçerli işlev desteklenmiyor. Lütfen menüden başlatınız.",WallsAreNotAtSameHeight:"Walls are not at same height.",WallsAreNotPerpendicular:"Walls are not perpendicular.",WallsAreNotConnected:"Walls are not connected.",WallsNumberNeedToBeFour:"The number of walls needs to be four.",BuildingContainsEmptyWall:"Building contains one or more empty wall.",BuildingRoofMissing:"Building has a missing roof.",UnknownErrors:"Unknown errors."},menu:{AnalysisOptions:"Analiz Seçenekleri",option:{GridCellSize:"Hücre Boyutu",SamplingFrequency:"Örneklem Frekansı",TimesPerHour:"x 1/saat",DaysPerYear:"Gün Sayısı / Yıl"},mainMenu:"Ana Menü",cloudMenu:"Bulut Menüsü",projectSubMenu:"Project",project:{CreateNewProject:"Create New Project",OpenProject:"Open Project",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"You must log in to create a new project",YouMustLogInToOpenProject:"You must log in to open a project"},fileSubMenu:"Dosya",file:{CreateNewFile:"Yeni Dosya Oluştur",OpenLocalFile:"Yerel Dosya Aç",SaveAsLocalFile:"Yerel Dosya Olarak Kaydet",SavingAbortedMustHaveValidFileName:"Kaydetme iptal edildi! Geçerli bir dosya adı kullanınız.",OpenCloudFile:"Bulut Dosyası Aç",SaveCloudFile:"Bulut Dosyasını Kaydet",SaveAsCloudFile:"Bulut Dosyası Olarak Kaydet",SavingAbortedMustHaveValidTitle:"Kaydetme iptal edildi! Dosya adı geçersiz!",ToSaveYourWorkPleaseSignIn:"Çalışmanızı kaydetmek için lütfen oturum açınız.",TakeScreenshot:"Ekran görüntüsü al",UseCloudFileName:"Bulut Dosya Adını Kullan",PublishOnModelsMap:"Publish on Models Map",PublishedOnModelsMap:"Your model has been published on the Models Map",UpdatedOnModelsMap:"Your model has been updated on the Models Map",YouMustLogInToPublishYourModel:"You must log in to publish your model",YouCannotPublishAModelThatYouDoNotOwn:"You cannot publish a model that you do not own",YouMustSaveModelOnCloudBeforePublishingIt:"You must save the model on the cloud before publishing it"},editSubMenu:"Düzen",edit:{Undo:"Geri Al",Redo:"Yinele"},viewSubMenu:"Görünüm",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D",ResetView:"Yenile",ZoomIn:"Yaklaş",ZoomOut:"Uzaklaş",AutoRotate:"Otomatik Döndür",ShowShadow:"Gölge",ShowSurfaceShininess:"Show Surface Shininess",TranslucentFloatingWindows:"Yüzer Pencere",accessoriesSubMenu:"Accessories",accessories:{SiteInformation:"Konum Bilgisi",DesignInformation:"Izgara Hücre Sayısı",Instruction:"Yardım",StickyNote:"Notlar",Note:"Notlar"}},settingsSubMenu:"Settings",settings:{WeatherData:"Hava Durumu",DiurnalTemperature:"Günlük Sıcaklık",Heliodon:"Heliodon",SunAndTime:"Güneş & Zaman"},benchmarksSubMenu:"Deneysel",benchmarks:{SolarRadiationPredictionVsMeasurement:"Güneş Işınım Tahmini Vs. Ölçümü ",BESTESTCase600:"Building Energy Simulation Test: BESTEST Case 600",BESTESTCase610:"Building Energy Simulation Test: BESTEST Case 610",BESTESTCase620:"Building Energy Simulation Test: BESTEST Case 620",BESTESTCase630:"Building Energy Simulation Test: BESTEST Case 630"},graph:{LineWidth:"Çizgi Kalınlığı",SymbolSize:"Sembol Boyutu",BarCategoryGap:"Bar Category Gap",ShowHorizontalGridLines:"Yatay Izgara Çizgilerini Göster",ShowVerticalGridLines:"Dikey Izgara Çizgilerini Göster"},analysisSubMenu:"Analiz",physicsSubMenu:"Fizik",physics:{DailySolarRadiationHeatmap:"Günlük Isı Haritası",SolarRadiationHeatmapOptions:"Isı Haritası Seçenekleri",SolarRadiationHeatmapGridCellSize:"Hücre Boyutu",SolarRadiationHeatmapMaxValue:"Işınım Maksimum Değer",SolarRadiationHeatmapNoAnimation:"Animasyon Yok",ReflectionHeatmap:"Yansıma Isı Haritası"},sensorSubMenu:"Sensörler",sensor:{CollectDailyData:"Günlük Veri Topla",CollectYearlyData:"Yıllık Veri Topla",SensorSimulationNoAnimation:"Animasyon Yok"},buildingSubMenu:"Building",building:{AnalyzeDailyBuildingEnergy:"Analyze Daily Building Energy",AnalyzeYearlyBuildingEnergy:"Analyze Yearly Building Energy",EnergyAnalysisOptions:"Energy Analysis Options",EnergyGridCellSize:"Energy Grid Cell Size",BuildingEnergySimulationNoAnimation:"No Animation for Building Energy Simulation"},solarPanelSubMenu:"Güneş Panelleri",solarPanel:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",AnalyzeVisibility:"Görünüm Analizi",PanelDiscretization:"Panel Ayrıklaştırma",Exact:"Kesin",Approximate:" Yaklaşık",EnergyGridCellSize:"Hücre Boyutu",VisibilityGridCellSize:"Hücre Boyutu",EnergyAnalysisOptions:"Enerji Analiz Seçenekleri",VisibilityAnalysisOptions:"Görünüm Analiz Seçenekleri",SolarPanelSimulationNoAnimation:"Animasyon Yok"},parabolicTroughSubMenu:"Parabolik Oluk",parabolicTrough:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},parabolicDishSubMenu:"Parabolik Çanak",parabolicDish:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},fresnelReflectorSubMenu:"Fresnel Yansıtıcı",fresnelReflector:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},heliostatSubMenu:"Heliostat",heliostat:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi"},solarUpdraftTowerSubMenu:"Solar Updraft Kulesi",solarUpdraftTower:{AnalyzeDailyYield:"Günlük Üretim Analizi",AnalyzeYearlyYield:"Yıllık Üretim Analizi",SolarUpdraftTowerSimulationNoAnimation:"Animasyon Yok"},tutorialsSubMenu:"Öğrenme Merkezi",solarEnergyScienceSubMenu:"Güneş Bilimi",solarEnergyScienceTutorials:{SunAngles:"Gözlemciye Göre Güneş Açıları",InsolationAndClimate:"Güneşlenme ve İklim",SolarRadiationToBox:"Kutu Güneş Işınımı"},buildingScienceSubMenu:"Building Science",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Thermal Envelope vs. Building Envelope",EffectOfSizeOnBuildingEnergy:"Effect of Size on Building Energy",EffectOfOrientationOnBuildingEnergy:"Effect of Orientation on Building Energy",EffectOfInsulationOnBuildingEnergy:"Effect of Insulation on Building Energy",EffectOfRoofColorOnBuildingEnergy:"Effect of Roof Color on Building Energy",EffectOfEavesOverhangLengthOnBuildingEnergy:"Effect of Eaves Overhang Length on Building Energy",EffectOfWindowSHGCOnBuildingEnergy:"Effect of Window Solar Heat Gain on Building Energy",EffectOfThermostatSetpointOnBuildingEnergy:"Effect of Thermostat Setpoint on Building Energy",EffectOfSolarPanelsOnBuildingEnergy:"Effect of Solar Panels on Building Energy",EffectOfGroundTemperatureOnBuildingEnergy:"Effect of Ground Temperature on Building Energy",EffectOfTreesOnBuildingEnergy:"Effect of Trees on Building Energy"},buildingDesignSubMenu:"Bina Tasarımı",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:"Çatı Pencereli Cape Cod Evi",MansardRoofWithDormers:"Mansard Roof with Dormers",GableRoofVsHipRoof:"Beşik Çatı vs. Kırma Çatı",ColonialVsSaltbox:"Koloni vs. Tuz Kutusu",GambrelRoofVsMansardRoof:"Flemenk Çatı vs. Mansart Çatı",CombinationRoofVsBonnetRoof:"Combination Roof vs. Bonnet Roof",DutchGableRoof:"Dutch Gable Roof",GableAndValleyRoof:"Gable and Valley Roof",ClerestoryRoof:"Clerestory Roof",MonitorRoof:"Monitor Roof",AFrameHouse:"A-Frame House",HalfTimberedHouse:"Half-Timbered House",AllBasicRoofTypes:"Tüm Çatı Tipleri"},photovoltaicSolarPowerSubMenu:"Fotovoltaik Güneş Enerjisi",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Güneş Paneli Eğim Açısı Etkisi",EffectOfAzimuthOfSolarPanel:"Güneş Paneli Azimut Açısı Etkisi",SolarPanelTypes:"Solar Panel Types",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Güneş İzleyiciler",CoveringGroundWithSolarPanels:"Sadece güneş panellerini kullanarak yüzeyi kaplamak neden iyi bir fikir değildir?",InterRowSpacingOfSolarPanelArray:"Güneş Paneli Dizi Arası Boşluk Etkisi",EffectOfOrientationOfSolarPanels:"Güneş Panelleri Yön Etkisi",SolarPanelArrayAutomaticLayout:"Solar Panel Array Automatic Layout"},concentratedSolarPowerSubMenu:"Yoğunlaştırılmış Güneş Enerjisi",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Parabolik Oluk Azimut Açısı Etkisi",EffectOfLatusRectumOfParabolicTrough:"Parabolik Oluk Özkiriş Etkisi",FocusSunlightWithParabolicDish:"Güneş Işığını Parabolik Çanakla Odaklama",LinearFresnelReflectors:"Doğrusal Fresnel Reflektörler",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Soğurucu Boru Yükseklik Etkisi",EffectOfAzimuthOfLinearFresnelReflectors:"Doğrusal Fresnel Reflektörlerde Azimut Açısı Etkisi",LinearFresnelReflectorsWithTwoAbsorbers:"İki Soğuruculu Doğrusal Fresnel Reflektörler",CosineEfficiencyOfHeliostats:"Heliostatların Kosinüs Verimliliği",ShadowingAndBlockingOfHeliostats:"Heliostatlarda Gölgeleme ve Engellenme",EffectSolarPowerTowerHeight:"Güneş Güç Kulesi Yükseklik Etkisi",SolarPowerTower:"Güneş Güç Kulesi"},otherTypesOfSolarPowerSubMenu:"Diğer Güneş Gücü Türleri",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Solar Updraft Kulesi"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Örnekler",solarEnergySubMenu:"Güneş Enerjisi",solarEnergyExamples:{SunBeamAndHeliodon:"Güneş Işını ve Heliodon",RooftopSolarPanels:"Çatı Üstü Güneş Panelleri",NevadaSolarOneParabolicTroughArray:"Nevada Eyaletinde Parabolik Oluk Dizisi",TooeleParabolicDishArray:"Tooele Şehrinde Parabolik Çanak Dizisi",PS10SolarPowerTower:"PS10 Güneş Güç Kulesi",TucsonLinearFresnelReflectors:"Tucson Şehrinde Doğrusal Fresnel Reflektörleri",SolarCanopyFormFactors:"Solar Gölgelik Biçim Etkileri",SolarCanopyOverBleachers:"Tirübün Üzeri Solar Gölgelik",SolarCanopyOverGarage:"Solar Canopy Over Garage",SolarBusStop:"Solar Otobüs Durağı",SolarFacadeTesla:"Tesla Solar Façade",BuildingIntegratedPhotovoltaics:"Building-Integrated Photovoltaics",Floatovoltaics:"Floatovoltaics",Agrivoltaics:"Agrivoltaics",VegetativeBuffer:"Bitkisel Tampon",RainbowSwashSolarFarmBostonMA:"Rainbow Swash Solar Farm in Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Mickey Mouse Solar Farm in Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Bakersfield Şehrinde Kanal Üzerindeki Varsayımsal Güneş Panelleri",SolarNoiseBarrierLexingtonMA:"Lexington Kasabasında Varsayımsal Güneş Gürültü Bariyeri",HSATSolarTrackersRaleighNC:"Raleigh Şehrinde Yatay Tek Eksenli İzleyiciler (HSAT)",AADATSolarTrackersLancasterCA:"Lancaster Şehrinde Azimut–İrtifa Çift Eksenli İzleyiciler (AADAT)",SolarUpdraftTowerInCity:"Şehir Solar Updraft Kulesi"},builtEnvironmentSubMenu:"Yapılı Çevre",residentialBuildingsSubMenu:"Konut inşaatları",residentialBuildingExamples:{ColonialHouse:"Colonial House",DutchColonialHouse:"Flemenk Koloni Evi",TShapedHouse:"T-Shaped House",CapeCodHouseWithGarage:"Cape Cod House with Garage",Solarium:"Solaryum",Church1:"Kilise 1",Cathedral1:"Cathedral 1",Cathedral2:"Cathedral 2",Mosque1:"Mosque 1",AdobeTaosHouse:"Adobe Taos House",RanchHouse:"Ranch House",BonnetHouse:"Bonnet House",BarnStyleHouse:"Çiftlik Evi",ModernHouse:"Modern House",ButterflyRoofHouse:"Butterfly Roof House"},commercialBuildingsSubMenu:"Ticari Binalar",commercialBuildingExamples:{WhiteHouse:"White House",BilimMersinTurkiye:"Yenişehir Belediyesi Bilim ve Sanat Merkezi",SpanishStyleHotel:"Spanish Style Hotel",ApartmentBuilding:"Apartment Building",OfficeBuilding:"Ofis Binası",Hotel:"Hotel"},buildingComplexesSubMenu:"Building Complexes",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"Güney Burlington Lisesi",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, NM"},urbanPlanningSubMenu:"Şehir Planlaması",urbanPlanningExamples:{Heatmap1:"Isı Haritası"},otherBuildingsSubMenu:"Other Buildings",otherBuildingExamples:{Greenhouse:"Sera",Pavilion:"Park Kamelyası",OctagonalPagoda:"Octagonal Pagoda",OceanFront:"Ocean Front",EgyptianPyramids:"Egyptian Pyramids",MayanPyramid:"Mayan Pyramid",SiOSePol:"Si-o-se-pol",StackedCuboids:"Stacked Cuboids"},artificialIntelligenceSubMenu:"Yapay Zeka",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Güneş Paneli Sıra Eğim Açısı Optimize Etme",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Çoklu Güneş Paneli Sıra Eğim Açısı Optimize Etme",SolarFarmGenerativeDesign:"Güneş Tarlası Tasarımı",SolarFarmGenerativeDesignWithBlock:"Blok Varlığında Güneş Tarlası Tasarımı",FitchburgSolarFarmGenerativeDesign:"Fitchburg Güneş Tarlası Tasarımı"},languageSubMenu:"Dil",publicSubMenu:"Public",ModelsGallery:"Models Gallery",ModelsMap:"Models Map",AboutUs:"Hakkımızda"},avatarMenu:{AccountSettings:"Hesap Ayarları",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Oturum açtığınızda, Aladdin hesabınızı oluşturmak ve hesabınıza erişmek için Google Kimliğiniz kullanılır. Veritabanımızda referans olarak yalnızca rastgele bir alfasayısal dize depolanır. Adınız veya e-posta adresiniz gibi kişisel olarak tanımlanabilir hiçbir veri toplanmaz. Daha fazla bilgi için ",SignIn:"Kayıt Ol",SignOut:"Oturum Kapat",IfYouAreAStudent:"Eğer Öğrenciyseniz"},skyMenu:{Axes:"Eksenler",Theme:"Tema",ThemeDefault:"Varsayılan",ThemeDesert:"Çöl",ThemeDune:"Dune",ThemeForest:"Orman",ThemeGrassland:"Çayır",ThemeHill:"Hill",ThemeLake:"Lake",ThemeMountain:"Mountain",ThemeRural:"Rural",SunlightAttenuationCoefficientInAir:"Havan Güneş Işığı Zayıflatma Katsayısı",ConvectiveCoefficientOfAir:"Havan Isı İletkenlik Katsayısı",HighestTemperatureTimeInMinutes:"En Yüksek Sıcaklık Süresi (Dakika)",SelectSunAnglesToShow:"Gösterilecek Güneş Açılarını Seçin",ShowAzimuthAngle:"Azimut Açısını Göster",ShowElevationAngle:"Yükselme Açısını Göster",ShowZenithAngle:"Zenit Açısını Göster",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Vegetation",LeafOutDay:"Leaf-Out Day",LeafOffDay:"Leaf-Off Day",Albedo:"Albedo",ImageOnGround:"Yer Görüntüsü",WaterSurface:"Water Surface",RemoveAllUnlockedTrees:"Tüm Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Tüm Kişileri Kaldır",RemoveAllUnlockedFoundations:"Tüm Temelleri Kaldır",RemoveAllUnlockedCuboids:"Tüm Kübikleri Kaldır",DoYouReallyWantToRemoveAllPeople:"Tüm Kişileri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllTrees:"Tüm Ağaçları Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllFlowers:"Do you really want to remove all the flowers that are not locked",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Tüm Temelleri Kaldırmak İstiyor Musunuz?",DoYouReallyWantToRemoveAllCuboids:"Tüm Kübikleri Kaldırmak İstiyor Musunuz?",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Etiket",LabelText:"Label Text",LabelHeight:"Label Height",LabelSize:"Label Size",LabelFontSize:"Font Size",LabelColor:"Label Color",KeepShowingLabel:"Etiketi Göstermeye Devam Et"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedParabolicTroughs:"Tüm Kilitlenmemiş Parabolik Olukları Kaldır",RemoveAllUnlockedParabolicDishes:"Tüm Kilitlenmemiş Parabolik Çanakları Kaldır",RemoveAllUnlockedFresnelReflectors:"Tüm Kilitlenmemiş Fresnel Reflektörleri Kaldır",RemoveAllUnlockedHeliostats:"Tüm Kilitlenmemiş Heliostatları Kaldır",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedLights:"Remove All Unlocked Lights",RemoveAllUnlockedWalls:"Tüm Kilitlenmemiş Duvarları Kaldır",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",RemoveAllUnlockedDoors:"Remove All Unlocked Doors",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Çokgenleri Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş İnsanları Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",Racks:"Çerçeveler",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SolarPanels:"Güneş Panelleri",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:" Seçili temel üzerindeki tüm güneş panellerini kaldırmak istiyor musunuz?",ParabolicTroughs:"Parabolik Oluklar",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik olukları kaldırmak istiyor musunuz?",ParabolicDishes:"Parabolik Çanaklar",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm parabolik çanakları kaldırmak istiyor musunuz?",FresnelReflectors:"Fresnel Reflektörler",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm Fresnel reflektörlerini kaldırmak istiyor musunuz?",Heliostats:"Heliostatlar",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm heliostatları kaldırmak istiyor musunuz?",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm sensörleri kaldırmak istiyor musunuz?",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnFoundation:"Do you really want to remove all the lights on this foundation that are not locked",Walls:"Duvarlar",DoYouReallyWantToRemoveAllWallsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm duvarları kaldırmak istiyor musunuz? ",Windows:"Windows",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Do you really want to remove all the windows on this foundation that are not locked",Doors:"Doors",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Do you really want to remove all the doors on this foundation that are not locked",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm poligonları kaldırmak istiyor musunuz?",Humans:"Kişiler",DoYouReallyWantToRemoveAllHumansOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnFoundation:" Seçili temel üzerinde kilitli olmayan tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Do you really want to remove all the flowers on this foundation that are not locked",OnlyThisFoundation:"Sadece Seçili Temel",AllConnectedFoundations:"Tüm Bağlantılı Temeller",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Tüm Temeller",AddPolygon:"Poligon Ekle",SolarStructure:"Solar Yapı Seçin",GroupMaster:"Grup Yöneticisi",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Ground Floor R-Value",OnlyThisGroundFloor:"Only This Ground Floor",AllGroundFloors:"All Ground Floors"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Heliostat Alıcı Kulesi",ReceiverTowerPhysicalProperties:"Alıcı Kule Fiziksel Özellikler",ReceiverTowerHeight:"Alıcı Kule Yükseklik",ReceiverTowerRadius:"Alıcı Kule Yarıçap",ReceiverAbsorptance:"Alıcı Absorbsiyon",ReceiverOpticalEfficiency:"Alıcı Optik Verim",ReceiverThermalEfficiency:"Alıcı Termal Verim"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Fresnel Reflektör Soğurucu Boru",AbsorberPipePhysicalProperties:"Soğurucu Boru Fiziksel Özellikler",AbsorberHeight:"Soğurucu Boru Yükseklik",AbsorberApertureWidth:"Soğurucu boru diyafram genişliği",AbsorberPipePoleNumber:"Soğurucu Boru Sayısı",AbsorberAbsorptance:"Soğurucu Absorbsiyonu",AbsorberOpticalEfficiency:"Soğurucu Optik Verimlilik",AbsorberThermalEfficiency:"Soğurucu Isıl Verimlilik"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Solar Updraft Kulesi",SolarUpdraftTowerPhysicalProperties:"Solar Updraft Kulesi Fiziksel Özellikler",SolarUpdraftTowerChimneyHeight:"Solar Updraft Kulesi Baca Yüksekliği",SolarUpdraftTowerChimneyRadius:"Solar Updraft Kulesi Baca Yarıçapı",SolarUpdraftTowerCollectorHeight:"Solar Updraft Kulesi Collector Height",SolarUpdraftTowerCollectorRadius:"Solar Updraft Kulesi Kollektör Yarıçapı",SolarUpdraftTowerCollectorTransmissivity:"Solar Updraft Kulesi Kollektör Geçirgenliği",SolarUpdraftTowerCollectorEmissivity:"Solar Updraft Kulesi Kollektör Emisivite",SolarUpdraftTowerDischargeCoefficient:"Solar Updraft Kulesi Deşarj Katsayısı",SolarUpdraftTowerTurbineEfficiency:"Solar Updraft Kulesi Türbin Verimliliği"},cuboidMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",RemoveAllUnlockedSolarPanels:"Tüm Kilitlenmemiş Güneş Panellerini Kaldır",RemoveAllUnlockedSensors:"Tüm Kilitlenmemiş Sensörleri Kaldır",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",RemoveAllUnlockedHumans:"Tüm Kilitlenmemiş Kişileri Kaldır",RemoveAllUnlockedTrees:"Tüm Kilitlenmemiş Ağaçları Kaldır",RemoveAllUnlockedFlowers:"Remove All Unlocked Flowers",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Çerçeveler",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Güneş Panelleri",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensörler",DoYouReallyWantToRemoveAllSensorsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm sensörleri kaldırmak istiyor musunuz?",Polygons:"Poligonlar",DoYouReallyWantToRemoveAllPolygonsOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm poligonları kaldırmak istiyor musunuz?",Humans:"İnsanlar",DoYouReallyWantToRemoveAllHumansOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm insanları kaldırmak istiyor musunuz?",Trees:"Ağaçlar",DoYouReallyWantToRemoveAllTreesOnCuboid:" Seçili kübik üzerinde kilitlenmemiş tüm ağaçları kaldırmak istiyor musunuz?",Flowers:"Flowers",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Do you really want to remove all the flowers on this cuboid that are not locked",OnlyThisCuboid:"Sadece Seçili Kübik",AllCuboidsOnSameSurface:"All Cuboids on Same Surface",AllCuboidsAboveSameBase:"All Cuboids above Same Base",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Tüm Kübikler",OnlyThisSide:"Sadece Seçili Yüzey",AllSidesOfThisCuboid:"Seçili Kübik Tüm Yüzeyler",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Bütün Kübik Yüzeyleri ",AddPolygon:"Poligon Ekle",Stackable:"Stackable",GroupMaster:"Group Master"},polygonMenu:{Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",TextBox:"Text Box",FontOutlineColor:"Font Outline Color",FontOutlineWidth:"Font Outline Width",FontStrokeColor:"Font Stroke Color",FontStrokeWidth:"Font Stroke Width",NoOutline:"No Outline",Shiny:"Shiny",Filled:"Dolgu",FillTexture:"Dolgu Dokusu",FillColor:"Dolgu Rengi",Opacity:"Opaklık",LineColor:"Çizgi Rengi",LineWidth:"Çizgi Kalınlığı",LineStyle:"Çizgi Stili",SolidLine:"Düz çizgi",DashedLine:"Kesik çizgi",DottedLine:"Noktalı çizgi",InsertVertexBeforeIndex:"İndeksten Önce Tepe Noktası Ekle",InsertVertexAfterIndex:"İndeksten Sonra Tepe Noktası Ekle",DeleteVertex:"Tepe Noktası Sil",OnlyThisPolygon:"Sadece Seçili Poligon",AllPolygonsOnSurface:"Tüm Poligonlar Aynı Yüzeyde",AllPolygonsAboveFoundation:"Temel Üzerindeki Tüm Poligonlar",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Tüm Poligonlar",Layout:"Düzen",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",SolarPanelArrayLayoutParametricDesign:"Güneş Paneli Dizi Düzeni: Parametrik Tasarım",SolarPanelArrayLayoutGenerativeDesign:"Güneş Paneli Dizi Düzeni: Üretici Tasarım",SolarPanelArrayModel:"Güneş Paneli Modeli",SolarPanelArrayOrientation:"Oryantasyon",SolarPanelArrayTiltAngle:"Eğim Açısı",SolarPanelArrayRowWidth:"Dizi Sıra Genişliği",SolarPanelArrayInterRowSpacing:"Dizi Sıra Arası Boşluk",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Dizi Sıra Ekseni",SolarPanelArrayLeftRightRowAxis:"Left-Right (Relative)",SolarPanelArrayUpDownRowAxis:"Up-Down (Relative)",SolarPanelArrayEastWestRowAxis:"Doğu-Batı (Absolute)",SolarPanelArrayNorthSouthRowAxis:"Kuzey-Güney (Absolute)",SolarPanelArrayMargin:"Margin",SolarPanelArrayPoleHeight:"Direk Yükseklik",SolarPanelArrayPoleSpacing:"Direk Aralık",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Bu yerleşim düzeni uygulanamaz. Lütfen parametrelerinizi kontrol edin."},optimizationMenu:{Optimization:"Optimizasyon",Parameters:"Parametreler",Variables:"Değişkenler",Constants:"Sabitler",GeneticAlgorithm:"Genetik Algoritma",GeneticAlgorithmSettings:"Genetik Algoritma Ayarı",ParticleSwarmOptimization:"Parçacık Sürü Optimizasyon",ParticleSwarmOptimizationSettings:"Parçacık Sürü Optimizasyon Ayarı",SolarPanelTiltAngleOptimization:"Güneş Paneli Eğim Açısı Optimizasyonu",SolarPanelArrayLayout:"Güneş Paneli Dizi Düzeni",Generation:"Nesil",Gene:"Gen",NormalizedVariables:"Normalleştirilmiş Değişkenler",Objective:"Amaç",ObjectiveFunctionDailyTotalYield:"Günlük Toplam Üretim",ObjectiveFunctionYearlyTotalYield:"Yıllık Toplam Üretim",ObjectiveFunctionDailyMeanYield:"Günlük Ortalama Üretim",ObjectiveFunctionYearlyMeanYield:"Yıllık Ortalama Üretim",ObjectiveFunctionDailyProfit:"Günlük Kazanç",ObjectiveFunctionYearlyProfit:"Yıllık Kazanç",GeneticAlgorithmSelectionMethod:"Genetik Algoritma Seçim Yöntemi",RouletteWheel:"Rulet Çarkı",Tournament:"Turnuva",SearchMethod:"Arama Yöntemi",GlobalSearchUniformSelection:"Küresel Arama Standart Seçim",LocalSearchRandomOptimization:"Yerel Arama Rastgele Optimizasyon",PopulationSize:"Popülasyon Boyutu",MaximumGenerations:"Maksimum Nesil",SelectionRate:"Seçim Oranı",CrossoverRate:"Geçiş Oranı",MutationRate:"Mutasyon Oranı",Step:"Adım",SwarmSize:"Sürü Boyutu",MaximumSteps:"Maksimum Adım",MaximumVelocity:"Maksimum Hız",InertiaWeight:"Atalet Ağırlığı",CognitiveCoefficient:"Bilişsel Katsayı",SocialCoefficient:"Sosyal Katsayı",ConvergenceThreshold:"Sonlandırma için Yakınsama Eşiği",LocalSearchRadius:"Yerel Arama Yarıçapı",RowsPerRackRange:"Raf Başına Sıra Aralığı",TiltAngleRange:"Eğim Açısı Aralığı",InterRowSpacingRange:"Sıra Arası Aralık Ranjı",ClickTargetPolygonToActivate:"Etkinleştirmek için Hedef Poligona Tıklayınız",ClickTargetFoundationToActivate:"Etkinleştirmek için Hedef Temele Tıklayınız"},treeMenu:{ShowModel:"Modeli Göster",Flip:"Flip",Type:"Tür",Spread:"Yayılım"},flowerMenu:{Flip:"Flip",Type:"Type",Spread:"Spread"},peopleMenu:{ChangePerson:"Kişi Değiştir",Flip:"Flip",Observer:"Gözlemci",ViewFromThisPerson:" Seçili Kişiye Göre Perspektif"},lightMenu:{Color:"Color",Intensity:"Intensity",Decay:"Decay",MaximumDistance:"Distance",Inside:"Inside"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Göreceli Azimut Açısı",Pole:"Pole",PoleHeight:"Direk Yüksekliği",PoleRadius:"Pole Radius",ExtraPoleHeight:"Ekstra Direk Yüksekliği",ExtraPoleHeightInAdditionToHalfWidth:"Yarım Genişliğe Ek Ekstra Direk Yüksekliği",DrawSunBeam:"Güneş Işını Çiz"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Reflektör Yansıma",ReceiverAbsorptance:"Alıcı Absorbsiyonu",ReflectorOpticalEfficiency:"Reflektör Optik Verimliliği",ReceiverThermalEfficiency:"Alıcı Termal Verimliliği"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"PV Modelini Değiştir",Orientation:"Oryantasyon",Portrait:"Portre",Landscape:"Peyzaj",FrameColor:"Frame Color",Panels:"Paneller",PanelsWide:"Panel Genişliği",PanelsLong:"Panel Uzunluğu",TiltAngle:"Eğim Açısı",SouthFacingIsPositive:"Güney yönünde açı pozitiftir.",Tracker:"İzleyici",SolarTrackerFollowsSun:"Güneş paneli verimini artırmak için bir güneş izleme sistemi güneşi sürekli takip eder.",PoleSpacing:"Direk Aralığı",NoTracker:"İzleme Sistemi Yok",HorizontalSingleAxisTracker:"Yatay Tek Eksenli İzleme Sistemi",VerticalSingleAxisTracker:"Dikey Tek Eksenli İzleme Sistemi",AltazimuthDualAxisTracker:"Altazimut Çift Eksenli İzleme Sistemi",OnlyThisSolarPanel:"Sadece Seçili Güneş Paneli",AllSolarPanelsOnSurface:"Tüm Güneş Panelleri Aynı Yüzeyde",AllSolarPanelsAboveFoundation:"Tüm Güneş Panelleri Aynı Temel Üzerinde",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Tüm Güneş Panelleri"},pvModelPanel:{SolarPanelSpecs:"Güneş Paneli Özellikleri",Model:"Model",PanelSize:"Panel Boyutu",Cells:"Hücreler",CellType:"Hücre Tipi",Monocrystalline:"Monokristal",Polycrystalline:"Polikristal",ThinFilm:"İnce Katman",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Siyah",Blue:"Mavi",ShadeTolerance:"Gölge Toleransı",SolarCellEfficiency:"Güneş Pili Verimliliği",NominalOperatingCellTemperature:"Nominal Çalışma Hücresi Sıcaklığı",TemperatureCoefficientOfPmax:"Pmax Sıcaklık Katsayısı"},parabolicTroughMenu:{ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",LatusRectum:"Özkiriş",OnlyThisParabolicTrough:"Sadece Seçili Parabolik Oluk",AllParabolicTroughsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Parabolik Oluklar",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Tüm Parabolik Oluklar"},fresnelReflectorMenu:{AbsorberPipe:"Soğurucu Boru",SelectAbsorberToReflectSunlightTo:"Güneş Işığı Yansıtılacak Soğurucuyu Seçin",ModuleLength:"Modül Uzunluğu",Modules:"Modüller",ModulesLong:"Modüllerin Uzunluğu",OnlyThisFresnelReflector:"Sadece Seçili Fresnel Reflektör",AllFresnelReflectorsAboveFoundation:"Aynı Temel Üzerindeki Tüm Fresnel Reflektörler",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Tüm Fresnel Reflektörler"},heliostatMenu:{Tower:"Kule",SelectTowerToReflectSunlightTo:"Güneş Işığı Yansıtılacak Kuleyi Seçin",OnlyThisHeliostat:"Sadece Seçili Heliostat",AllHeliostatsAboveFoundation:"Aynı Temel Üzerindeki Tüm Heliostatlar",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Tüm Heliostatlar"},parabolicDishMenu:{ReceiverStructure:"Alıcı Yapısı",CentralPole:"Merkez Direk",CentralPoleWithTripod:"Tripodlu Merkez Direk",Quadrupod:"Dört Ayaklı",RimDiameter:"Kasnak Çapı",LatusRectum:"Özkiriş",ExtraPoleHeightInAdditionToRadius:"Yarıçapa Ek Olarak Ekstra Direk Yüksekliği",OnlyThisParabolicDish:"Sadece Seçili Parabolik Çanak",AllParabolicDishesAboveFoundation:"Aynı Temel Üzerindeki Tüm Parabolik Çanaklar",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Tüm Parabolik Çanaklar"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",SizeOfWall:"Duvar Boyutu",OnlyThisWall:"Sadece Seçili Duvar",AllConnectedWalls:"All Connected Walls",AllWallsAboveFoundation:" Aynı Temel Üzerindeki Tüm Duvarlar",AllSelectedWalls:"All Selected Walls",AllWalls:"Tüm Duvarlar",Windows:"Pencereler",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Kilitlenmemiş Tüm Pencereleri Kaldır",DoYouReallyWantToRemoveAllWindowsOnThisWall:" Seçili duvardaki tüm pencereleri kaldırmak istiyor musunuz?",Doors:"Kapılar",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Tüm Kilitlenmemiş Kapıları Kaldır",DoYouReallyWantToRemoveAllDoorsOnThisWall:" Seçili duvardaki tüm kapıları kaldırmak istiyor musun?",SolarPanels:"Güneş Panelleri",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Kilitlenmemiş Tüm Güneş Panellerini Kaldır",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:" Seçili duvardaki tüm güneş panellerini kaldırmak istiyor musunuz?",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Do you really want to remove all the sensors on this wall",Lights:"Lights",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisWall:"Do you really want to remove all the lights on this wall",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Tüm Kilitlenmemiş Poligonları Kaldır",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Duvar Yapısı",DefaultStructure:"Varsayılan",StudStructure:"Ahşap Dikme",PillarStructure:"Pillar",Opacity:"Opaklık",StructureSpacing:"Structure Spacing",StructureWidth:"Structure Width",StructureThickness:"Structure Thickness",StructureColor:"Structure Color",Color:"Wall Color",Height:"Height",Thickness:"Thickness",Texture:"Texture",AllLightsOnWallInside:"All Lights on Wall Inside",AllLightsOnWallOutside:"All Lights on Wall Outside",Fill:"Fill",Full:"Full",Partial:"Partial",Empty:"Empty",OpenToOutside:"Open to Outside",EavesLength:"Eaves Overhang Length",Parapet:"Parapet",ParapetColor:"Parapet Color",ParapetTexture:"Parapet Texture",ParapetHeight:"Parapet Height",CopingsHeight:"Copings Height",CopingsWidth:"Copings Width"},windowMenu:{OnlyThisWindow:"Sadece Bu Pencere",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Aynı Temelin Üzerindeki Tüm Pencereler",AllSelectedWindows:"All Selected Windows",AllWindows:"Tüm Pencereler",Width:"Genişlik",Height:"Yükseklik",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Tiriz",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Tiriz Genişliği",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Mullion Color",Tint:"Ton",Opacity:"Opaklık",SolarHeatGainCoefficient:"Solar heat gain coefficient (SHGC) = 1 - opacity",Shutter:"Kepenk",LeftShutter:"Sol Kepenk",RightShutter:"Sağ Kepenk",BothShutters:"Kepenkler",ShutterWidth:"Genişlik",ShutterColor:"Kepenk Rengi",Frame:"Frame",FrameWidth:"Frame Width",SillWidth:"Sill Width",Color:"Frame Color",WindowType:"Window Type",Default:"Default",Arched:"Arched",Polygonal:"Polygonal",Interior:"Interior",Empty:"Empty"},roofMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",OnlyThisRoof:"Sadece Seçili Çatı",AllRoofsAboveFoundation:"Aynı Temelin Üzerinde Tüm Çatılar",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Tüm Çatılar",OnlyThisCeiling:"Only This Ceiling",AllCeilingsAboveFoundation:"All Ceilings Above the Same Foundation",AllCeilings:"All Ceilings",EavesOverhangLength:"Eaves Overhang Length",RafterSpacing:"Mertek Aralığı",RafterWidth:"Mertek Genişliği",RafterThickness:"Mertek Kalınlığı",RafterColor:"Mertek Rengi",RoofColor:"Çatı Rengi",RoofSideColor:"Roof Side Color",GlassTint:"Cam Tonu",Opacity:"Opaklık",RoofStructure:"Çatı Yapısı",DefaultStructure:"Varsayılan",RafterStructure:"Mertek",GlassStructure:"Cam",SolarPanels:"Solar Panels",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Do you really want to remove all the solar panels on this roof",Windows:"Windows",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Remove All Unlocked Windows",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Do you really want to remove all the windows on this roof",Sensors:"Sensors",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Remove All Unlocked Sensors",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Do you really want to remove all the sensors on this roof",Lights:"Lights",RemoveAllUnlockedLights:"Remove All Unlocked Lights",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Do you really want to remove all the lights on this roof",AllLightsOnRoofInside:"All Lights on Roof Inside",AllLightsOnRoofOutside:"All Lights on Roof Outside",Rise:"Rise",Ceiling:"Ceiling",RoofRValue:"Roof R-Value",CeilingRValue:"Ceiling R-Value"},doorMenu:{TextureDefault:"Varsayılan",Texture01:"Doku 1",Texture02:"Doku 2",Texture03:"Doku 3",Texture04:"Doku 4",Texture05:"Doku 5",Texture06:"Doku 6",Texture07:"Doku 7",Texture08:"Doku 8",Texture09:"Doku 9",Texture10:"Doku 10",Texture11:"Doku 11",Texture12:"Doku 12",Texture13:"Doku 13",Texture14:"Doku 14",Texture15:"Doku 15",Texture16:"Doku 16",Texture17:"Doku 17",OnlyThisDoor:"Sadece Seçili Kapı",AllDoorsOnWall:"Aynı Duvardaki Tüm Kapılar",AllDoorsAboveFoundation:"Aynı Temelin Üstündeki Tüm Kapılar",AllSelectedDoors:"All Selected Doors",AllDoors:"Tüm Kapılar",DoorType:"Door Type",Default:"Default",Arched:"Arched",Filled:"Filled",FrameColor:"Frame Color",Interior:"Interior"},siteInfoPanel:{High:"Yüksek",Low:"Düşük"},designInfoPanel:{NumberOfSelectedHeliostats:"Seçilen heliostat sayısı",NumberOfSelectedSolarPanels:"Seçilen güneş paneli sayısı",ElectricityGeneratedDailyBySolarPanels:"Güneş panellerinin günlük elektrik üretimi",SceneDiameter:"Scene diameter",BuildingArea:"Building area"},visualizationControlPanel:{ColorContrast:"Renk Kontrastı",FluxScale:"Flux Scale",ClickUpOrDownArrowButtonsToChange:"Değiştirmek için yukarı veya aşağı ok butonlarına tıklayınız"},instructionPanel:{Rotate:"Döndürme",DragMouse:"Sol Tık + Sürükle",Zoom:"Yakınlaştırma",MouseWheelOrKeys:"Tekerlek veya Ctrl+[ veya Ctrl+]",MouseWheelOrKeysMac:"Tekerlek veya ⌘+[ veya ⌘+]",Pan:"Ekran Kaydırma",HoldCtrlDragMouse:"Ctrl + Sürükle",HoldMetaDragMouse:"Hold ⌘ and drag mouse",Enter2DMode:"Enter 2D mode",Exit2DMode:"Exit 2D mode",NavigationMode:"Navigation mode",EnableNavigation:"Enable navigation",DisableNavigation:"Disable navigation",MoveForwardBack:"Move forward/back",MoveForwardBackInstruction:"Press W/S",MoveLeftRight:"Move left/right",MoveLeftRightInstruction:"Press A/D",MoveUpDown:"Move up/down",MoveUpDownInstruction:"Press Z/X",Turn:"Turn",TurnInstruction:"Press arrow keys",ResetView:"Yeniden Başlat",AutoRotate:"Otomatik Döndürme",StartOrStop:"Başlat veya Durdur (F4)"},mapPanel:{ImageOnGround:"Yüzey Görünümü",HideAddress:"Hide Address",WeatherStations:"Referans",WeatherStationsNote:"Turn this off to speed up",Coordinates:"Koordinatlar",Zoom:"Büyüt"},visibilityPanel:{SolarPanelVisibility:"Güneş Paneli Görünüm",Observer:"Gözlemci",VantagePoint:"Referans Noktası",ItemizedVisibilityByFields:"Alana Özel Perspektif",TotalVisibility:"Toplam"},sensorPanel:{LightSensor:"Işık Sensörü",WeatherDataFrom:"Hava Durumu"},buildingEnergyPanel:{DailyBuildingEnergy:"Daily Building Energy",YearlyBuildingEnergy:"Yearly Building Energy",Heater:"Heater",AC:"AC",SolarPanel:"Solar Panel",Net:"Net"},solarPanelYieldPanel:{SolarPanelDailyYield:"Güneş Paneli Günlük Üretim",SolarPanelYearlyYield:"Güneş Paneli Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualSolarPanels:"Herbir güneş panelinin üretimini göster",Profit:"Kazanç",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Parabolik Oluk Günlük Üretim",ParabolicTroughYearlyYield:"Parabolik Oluk Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicTroughs:"Herbir parabolik oluğun üretimini göster"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Parabolik Çanak Günlük Üretim",ParabolicDishYearlyYield:"Parabolik Çanak Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualParabolicDishes:"Herbir parabolik çanağın üretimini göster"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Fresnel Reflektör Günlük Üretim",FresnelReflectorYearlyYield:"Fresnel Reflektör Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualFresnelReflectors:"Herbir Fresnel yansıtıcısının üretimini göster"},heliostatYieldPanel:{HeliostatDailyYield:"Heliostat Günlük Üretim",HeliostatYearlyYield:"Heliostat Yıllık Üretim",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualHeliostats:"Herbir heliostatın üretimini göster"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Solar Updraft Kulesi Günlük Üretimi",UpdraftTowerYearlyYield:"Solar Updraft Kulesi Yıllık Üretimi",ChimneyAirTemperature:"Baca Hava Sıcaklığı",ChimneyWindSpeed:"Baca Rüzgar Hızı",Yield:"Üretim",YieldPerHour:"Saatlik Üretim",DailyTotal:"Günlük Toplam",YearlyTotal:"Yıllık Toplam",ShowOutputsOfIndividualUpdraftTowers:"Herbir updraft kulesinin üretimini göster"},heliodonPanel:{SunAndTimeSettings:"Güneş & Saat Ayarları",SunAngles:"Açılar",TwentyFourHours:"24 Hours"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyLikes:"My Likes",MyCloudFiles:"Bulut Dosyalarım",GenerateLink:"Link Oluştur",LinkGeneratedInClipBoard:"Klip Panosunda Oluşturulan Link",DoYouReallyWantToDelete:"Gerçekten silmek istiyor musun?",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"If this file has been shared or published, renaming it breaks existing links"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Search by title",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Type",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Hesap Ayarlarım",MyID:"Bilgilerim",ClickToCopyMyID:"Bilgilerinizi kopyalamak için tıklayın",IDInClipBoard:"Kişisel bilgileriniz kopyalandı ve yapıştırmaya hazır.",StoreMyNameInMyFilesWhenSaving:"Kaydederken, adımı dosyalarıma ekle",DoYouReallyWantToShowYourNameInYourFiles:"Dosyalarınızda isminizin gösterilmesini istiyor musunuz?",SignFileDisclaimer:"Evet ise, isiminiz dosyalarınıza erişimi olan bütün kişiler tarafından görülebilir.",Likes:"Likes",AllPublished:"All Published",PublishedUnderAliases:"Aliases",UserCount:"Kullanıcı Sayısı",SchoolID:"Okul",ClassID:"Sınıf"},weatherPanel:{SunshineHours:"Gündüz Saatleri"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Model Seç",Sinusoidal:"Sinüzoidal"},economicsPanel:{EconomicsParameters:"Ekonomik Parametreler",ElectricitySellingPrice:"Elektrik Satış Fiyatı",OperationalCostPerUnit:"Birim Başına İşletme Maliyeti",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Gökyüzü Açıklığı",ShowDaylightResults:"Gün Işığı Sonuçlarını Göster",ShowSkyClearnessResults:"Gökyüzü Açıklığı Sonuçlarını Göster",ShowAverageDailySolarRadiation:"Günlük ortalama güneş Işınımını göster"},analysisManager:{NoSensorForCollectingData:"Veri toplamak için sensör yok.",NoSolarPanelForAnalysis:"Analiz için güneş paneli yok.",NoObserverForVisibilityAnalysis:"Görünürlük analizi için gözlemci yok.",NoWaterHeaterForAnalysis:"Analiz için su ısıtıcısı yok",NoParabolicDishForAnalysis:"Analiz için parabolik çanak yok",NoParabolicTroughForAnalysis:"Analiz için parabolik oluk yok.",NoFresnelReflectorForAnalysis:"Analiz için Fresnel reflektörü yok.",NoHeliostatForAnalysis:"Analiz için heliostat yok.",NoSolarUpdraftTowerForAnalysis:"Analiz için Solar Updraft Kulesi yok.",NoBuildingForAnalysis:"There is no building for analysis."},toolbar:{CloudFile:"Bulut Dosyası",Select:"Seç",AddFoundation:"Temel Ekle",AddWall:"Duvar Ekle",AddWindow:"Pencere Ekle",AddDoor:"Kapı Ekle",AddPyramidRoof:"Piramit Çatı Ekle",AddGableRoof:"Beşik Çatı Ekle",AddHipRoof:"Kırma Çatı Ekle",AddGambrelRoof:"Flemenk Çatı Ekle",AddMansardRoof:"Mansart Çatı Ekle",AddCuboid:"Kübik Ekle",AddSensor:"Sensör Ekle",AddSolarPanel:"Güneş Paneli Ekle",AddWaterHeater:"Su Isıtıcı Ekle",AddParabolicDish:"Parabolik Çanak Ekle",AddParabolicTrough:"Parabolik Oluk Ekle",AddFresnelReflector:"Fresnel Reflektörü Ekle",AddHeliostat:"Heliostat Ekle",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Add Light",AddTree:"Ağaç Ekle",AddFlower:"Add Flower",AddPeople:"İnsan Ekle",DoubleClickToLockThisModeForNextAction:"Double-click to lock this mode for next action",ClickToUnlockThisModeForNextAction:"Click to unlock this mode for next action",ManipulateGroup:"Ölçeklendirme",ClearScene:"Herşeyi Sil",ShowSunAndTimeSettings:"Güneş & Zaman Ayarlarını Göster",SpatialAnalysisOfEnergy:"Spatial analysis of energy",DoYouReallyWantToClearContent:"İçeriği silmek istiyor musunuz",ClickForMoreButtons:"Daha fazla buton için tıklayın"},tooltip:{gotoIFI:"Yarının Zekası Enstitüsüne Git",visitAladdinHomePage:"Aladdin Ana Sayfasını Ziyaret Edin",clickToOpenMenu:"Ana Menüyü Açmak İçin Tıklayınız",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Apple",Birch:"Birch",Coconut:"Coconut",Dogwood:"Kızılcık Ağacı",Elm:"Karaağaç",FanPalm:"Fan Palm",Linden:"Ihlamur Ağacı",Magnolia:"Magnolia",Maple:"Akçaağaç",Oak:"Meşe Ağacı",Pine:"Çam",Spruce:"Alaçam"},flower:{Bellflower:"Bellflower",Boxwood:"Boxwood",CactusCombo1:"Cactus Combo 1",CactusCombo2:"Cactus Combo 2",CactusCombo3:"Cactus Combo 3",CactusCombo4:"Cactus Combo 4",Hibiscus:"Hibiscus",Hosta:"Hosta",Hydrangea:"Hydrangea",Peony:"Peony",RedRose:"Red Rose",Spirea:"Spirea",Sunflower:"Sunflower",TallBush:"Tall Bush",Tulip:"Tulip",WhiteFlower:"White Flower",YellowFlower:"Yellow Flower"},people:{Jaah:"Ata",Jack:"Mete",Jacob:"Jacob",Jacqueline:"Beril",Jade:"Ece",Jamelia:"Bilge",James:"James",Jane:"Jane",Jaya:"Asya",Jaye:"Aylin",Jeanette:"Jeanette",Jedi:"Alp",Jeff:"Kaya",Jena:"Nehir",Jennifer:"Defne",Jess:"Zeynep",Jett:"Umut",Jill:"Jill",Jiya:"Elif",Joan:"Ezgi",Jocelyn:"Jocelyn",Joel:"Cenk",Joey:"Azra",John:"Can",Jonathon:"Jonathon",Jose:"Mert",Joseph:"Joseph",Joshua:"Joshua",Judd:"Ozan",Judy:"Judy",Julia:"Julia",Julio:"Bulut",Jumapili:"Umay",June:"Naz",Juro:"Efe",Justin:"Justin"},compass:{N:"N",S:"S",W:"W",E:"E"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Search by publisher",SearchByLabel:"Search by label",MyPublishedModels:"My Published Models",TotalNumberOfUserPublishedModels:"Total number of user-published models",SortFromOldestToNewest:"Sort from oldest to newest",SortFromNewestToOldest:"Sort from newest to oldest",ModelsFoundOnThisSite:"models found on this site",ShowModelsPublishedByThisAuthor:"Show the models published by this author"}}},Xft={translation:{name:{IFI:"Інститут Інтелекту Майбутнього",Aladdin:"Aladdin",Tagline:"Aladdin: Переосмислення Дизайну з Пояснювальним Штучним Інтелектом - Інститут Інтелекту Майбутнього"},cookie:{Statement:"Натиснувши «Прийняти», ви погоджуєтеся з використанням файлів cookie для покращення вашого досвіду з Aladdin.",Accept:"Прийняти"},aboutUs:{ProductBroughtToYouBy:"Цей Продукт Було Створено:",TermsOfService:"Умови Використання",PrivacyPolicy:"Політика Конфіденційності",Software:"Програмне Забезпечення",Content:"Матеріали",Research:"Дослідження",Support:"Підтримка",Acknowledgment:"Подяка",FundingInformation:"Національний Науковий Фонд (ННФ, Cполучені Штати Америки) надав фінансову підтримку для дослідження та розробки цього продукту за допомогою грантів №2105695, №2131097, та №#2301164. Однак, будь-які погляди, результати та висновки, висловлені у продукті, належать авторам і можуть не повністю відображати погляди ННФ.",Contact:"Для отримання додаткової інформації, будь ласка, зверніться до Charles Xie (charles@intofuture.org).",Translators:"Переклад"},word:{LastUpdate:"Last Update",Small:"Small",Medium:"Medium",Large:"Large",Design:"Design",Information:"Information",Type:"Type",Text:"Текст",FontSize:"Розмір Шрифту",FontColor:"Колір Шрифту",Model:" Модель",Models:"Моделі",Upload:"Завантажити",ClickCount:"Натисніть Підрахувати",Share:"Поділитись",AlreadyLike:"Вподобано",Like:"Вподобати",MustLogInToLike:"Потрібно Увійти, щоб Вподобати",AllRightsReserved:"Усі Права Захищено",MeterAbbreviation:"м",Version:"Версія",VersionInitial:"В",Options:"Опції",Maximum:"Максимум",Minimum:"Мінімум",MaximumNumber:"Максимальне Число",MinimumNumber:"Мінімальне Число",MaximumValue:"Максимальне Значення",MinimumValue:"Мінімальне Значення",Or:"Або",None:"Жоден",High:"Високий",Partial:"Частковий",Teacher:"Вчитель",Class:"Клас",Total:"Всього",Leaderboard:"Таблиця Лідерів",Latest:"Останнє",Range:"Діапазон",SIUnit:"SI Одиниця",USUnit:"US Одиниця",ThermalTransmittance:"Теплопередача",ThermalResistance:"Термічний Опір",UValue:"U-Значення",RValue:"R-Значення",VolumetricHeatCapacity:"Об'ємна Теплоємність",BuildingHVACSystem:"Побудова Системи Опалення, Вентиляції та Кондиціювання Повітря (ОВК)",ThermostatSetpoint:"Задана Температура Термостата",TemperatureToleranceThreshold:"Порогове Значення Допустимого Відхилення Температури",TemperatureToleranceThresholdExplanation:"Обігрівач не працюватиме, якщо найнижча зовнішня температура дня вища за значення отриманe, якщо від заданої температури відняти порогове значення. Кондиціонер не працюватиме, якщо найвища зовнішня температура дня нижча за значення отримане, якщо від заданої температури відняти порогове значення.",Press:"Натисніть",Open:"Відкрити",Save:"Зберегти",SaveAsImage:"Зберегти як Зображення",SaveAsCsv:"Зберегти як CSV",Update:"Оновити",Paste:"Вставити",Copy:"Копіювати",Cut:"Вирізати",Delete:"Видалити",Lock:"Заблокувати",Translucent:"Півпрозорий",Color:"Колір",Pattern:"Pattern",Texture:"Текстура",Size:"Розмір",Thickness:"Товщина",Yes:"Так",No:"Ні",OK:"ОК",Cancel:"Скасувати",Apply:"Застосувати",Close:"Закрити",ApplyTo:"Застосувати До",Run:"Запустити",Pause:"Пауза",Resume:"Відновити",Clear:"Очистити",Warning:"Попередження",Caution:"Обережно",Reminder:"Нагадування",Length:"Довжина",Width:"Ширина",Height:"Висота",Radius:"Радіус",Angle:"Кут",Azimuth:"Азимут",Coordinates:"Координати",Weather:"Погода",Show:"Показати",Animate:"Анімувати",Date:"Дата",Time:"Час",Title:"Заголовок",Owner:"Власник",Action:"Дія",Rename:"Перейменувати",Location:"Місцезнаходження",Latitude:"Широта",Month:"Місяць",Day:"День",Hour:"Година",Daylight:"Денне світло",Radiation:"Радіаційне Випромінювання",Temperature:"Температура",kWh:"кВт-год",dollar:"долар",MeterPerSecond:"м/с",NorthInitial:"Північ",SouthInitial:"Південь",EastInitial:"Схід",WestInitial:"Захід",Fixed:"Фіксований",Elements:"Елементи",Energy:"Енергія",Unknown:"Невідомо",Label:"Мітка",Description:"Опис",NoDescription:"Без опису",MaximumCharacters:"Максимальна кількість символів",Author:"Автор",Publisher:"Видавець",Building:"Будівля",ResidentialBuilding:"Житлова будівля",CommercialBuilding:"Комерційна будівля",SchoolBuilding:"Шкільна будівля",TouristAttraction:"Туристична визначна пам'ятка",UnderConstruction:"В стадії будівництва",Photovoltaic:"Фотоелектричний",WindPower:"Wind Power",ColocationProjects:"Colocation Projects",Anonymous:"Анонімний",Nickname:"Нікнейм",Pin:"Закріпити",Unpin:"Відкріпити"},shared:{NoTexture:"Без текстури",FoundationElement:"Фундамент",CuboidElement:"Паралелепіпед",PolygonElement:"Багатокутник",SensorElement:"Сенсор",SolarPanelElement:"Сонячна панель",WaterHeaterElement:"Водонагрівач",ParabolicDishElement:"Параболічна тарілка",ParabolicTroughElement:"Параболічний сонячний колектор",FresnelReflectorElement:"Відбивач Френеля",HeliostatElement:"Геліостат",WindTurbineElement:"Вітрова турбіна",LightElement:"Світло",ElementLocked:"Заблоковано",ModelType:"Тип моделі",OutputBreakdown:"Breakdown",MoreResults:"More Results"},message:{CalculationMayBeSlowDoYouWantToContinue:"Calculation may be slow. Do you want to continue?",IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp:"Increase solar radiation heatmap grid cell size to speed up",ModelNotFound:"Модель не знайдено",CannotSignIn:"Не вдається увійти",CannotSignOut:"Не вдається вийти",YourAccountWasCreated:"Ваш обліковий запис був створений",CannotCreateAccount:"Не вдається створити обліковий запис",YourAccountSettingsWereSaved:"Налаштування облікового запису були збережені",CannotSaveYourAccountSettings:"Не вдається зберегти налаштування облікового запису",CannotSaveYourFileToCloud:"Не вдається зберегти ваш файл у хмарному середовищі",CannotCreateNewProject:"Не вдається створити новий проєкт",CannotCreateNewProjectWithoutTitle:"Cannot create a new project without a title",CannotOpenYourProjects:"Не вдається відкрити ваші проєкти",CannotOpenProject:"Cannot open the project",CannotDeleteProject:"Cannot delete the project",CannotRenameProject:"Cannot rename the project",CannotAddDesignToProject:"Cannot add this design to the project",CannotAddDesignToProjectOwnedByOthers:"Cannot add this design to a project owned by others",DesignRemovedFromProject:"The design was successfully removed from the project",CannotRemoveDesignFromProject:"Cannot remove this design from the project",CannotUpdateProject:"Cannot update the project",CannotFetchProjectData:"Cannot fetch project data",TitleUsedChooseDifferentOne:"Ця назва була використана. Виберіть іншу",CloudFileWithTitleExistsDoYouWantToOverwrite:"Хмарний файл з такою ж назвою вже існує. Ви хочете перезаписати його?",CloudFileNotFound:"Файл у хмарному середовищі не знайдено",CannotLoadModelsOnMap:"Не вдається завантажити моделі на карту",CannotLoadLeaderboard:"Не вдається завантажити таблицю лідерів",CannotPublishModelOnMap:"Не вдається опублікувати модель на карті",CannotLikeModelFromMap:"Не вдається оцінити модель з карти",CannotDeleteModelFromMap:"Не вдається видалити модель з карти",ModelDeletedFromMap:"Модель видалена з карти",DoYouWantToDeleteModelFromMap:"Ви бажаєте видалити модель з карти?",CannotOpenCloudFile:"Не вдається відкрити файл у хмарному середовищі",CannotReadCloudFile:"Cannot read the cloud file",CannotWriteCloudFile:"Cannot write the cloud file",CloudFileCopied:"Cloud file copied",CannotOpenCloudFolder:"Не вдається відкрити папку у хмарному середовищі",CannotDeleteCloudFile:"Не вдається видалити файл у хмарному середовищі",CannotRenameCloudFile:"Не вдається перейменувати файл у хмарному середовищі",DoYouWantToSaveChanges:"Бажаєте зберегти зміни?",NotApplicableToSelectedAction:"Не застосовується до обраної дії",ThisElementIsLocked:"Цей елемент заблокований.",ThisCannotBeUndone:"Це не можна скасувати.",AzimuthOfNorthIsZero:"Азимут півночі дорівнює 0°",CounterclockwiseAzimuthIsPositive:"Азимут є позитивним проти годинникової стрілки.",SouthFacingIsZero:"South-facing is 0°",ClockwiseRotationIsPositive:"Clockwise is positive",MoveCancelledBecauseOfOverlap:"Переміщення скасовано через перекриття.",MoveOutsideBoundaryCancelled:"Переміщення за межі скасовано.",RotationCancelledBecauseOfOverlap:"Ротацію скасовано через перекриття.",RotationOutsideBoundaryCancelled:"Ротація за межі скасована.",ResizingCancelledBecauseOfOverlap:"Зміна розміру скасована через перекриття.",ResizingOutsideBoundaryCancelled:"Зміна розміру за межі скасована.",CannotPasteOutsideBoundary:"Не можна вставити за межі.",CannotPasteBecauseOfOverlap:"Не можна вставити через перекриття.",CannotMoveObjectTooFar:"Не можна перемістити об'єкт занадто далеко.",ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout:"Існуючі сонячні панелі будуть видалені перед застосуванням нового макету.",DoYouWantToContinue:"Бажаєте продовжити?",SolarPanelsCannotIntersectWithGround:"Сонячні панелі не можуть перетинатися з землею.",SolarPanelsCannotOverlapWithOneAnother:"Сонячні панелі не можуть накладатися одна на одну.",ScreenshotSaved:"Знімок екрана збережено.",CsvFileSaved:"CSV файл збережено.",SimulationStarted:"Розпочато симуляцію.",SimulationCompleted:"Симуляцію завершено.",SimulationAborted:"Симуляцію перервано.",SimulationPaused:"Симуляцію призупинено.",CancelSimulation:"Скасувати симуляцію",PauseSimulation:"Призупинити симуляцію",ResumeSimulation:"Продовжити симуляцію",SimulationWillNotStartDueToErrors:"Симуляція не розпочнеться через помилки",SimulationWillStartDespiteWarnings:"Симуляція розпочнеться незважаючи на попередження.",EvolutionStarted:"Еволюцію розпочато.",EvolutionCompleted:"Еволюцію завершено.",EvolutionAborted:"Еволюцію перервано.",EvolutionPaused:"Еволюцію призупинено.",EncounterEvolutionError:"Сталася помилка еволюції.",CancelEvolution:"Скасувати еволюцію",PauseEvolution:"Призупинити еволюцію",ResumeEvolution:"Продовжити еволюцію",ConvergenceThresholdHasBeenReached:"Досягнуто порогове значення збіжності.",MaximumNumberOfGenerationsHasBeenReached:"Досягнуто максимальну кількість поколінь.",MaximumNumberOfStepsHasBeenReached:"Досягнуто максимальну кількість кроків.",ObjectiveFunctionTypeError:"Поточна цільова функція не підтримується цією операцією. Будь ласка, розпочніть з меню.",WallsAreNotAtSameHeight:"Стіни не знаходяться на однаковій висоті.",WallsAreNotPerpendicular:"Стіни не перпендикулярні.",WallsAreNotConnected:"Стіни не з'єднані.",WallsNumberNeedToBeFour:"Кількість стін має дорівнювати чотири.",BuildingContainsEmptyWall:"Будівля містить одну або кілька порожніх стін.",BuildingRoofMissing:"У будівлі відсутній дах.",UnknownErrors:"Невідомі помилки."},menu:{AnalysisOptions:"Опції аналізу",option:{GridCellSize:"Розмір комірки сітки",SamplingFrequency:"Частота вибірки",TimesPerHour:"Разів на годину",DaysPerYear:"Днів на рік"},mainMenu:"Головне Меню",cloudMenu:"Меню Хмарного Середовища",projectSubMenu:"Проєкт",project:{CreateNewProject:"Створити Новий Проєкт",OpenProject:"Відкрити Проєкт",SaveProject:"Save Project",SaveProjectAs:"Save Project As",YouMustLogInToCreateProject:"Ви повинні увійти, щоб створити новий проєкт",YouMustLogInToOpenProject:"Ви повинні увійти, щоб відкрити проєкт"},fileSubMenu:"Файл",file:{CreateNewFile:"Створити новий",OpenLocalFile:"Відкрити локально",SaveAsLocalFile:"Зберегти як",SavingAbortedMustHaveValidFileName:"Збереження перервано! Вам потрібно мати дійсне ім'я файлу",OpenCloudFile:"Відкрити у хмарному середовищі",SaveCloudFile:"Зберегти у хмарному середовищі",SaveAsCloudFile:"Зберегти у хмарному середовищі",SavingAbortedMustHaveValidTitle:"Збереження перервано! Вам потрібно мати дійсний заголовок для хмарного файлу",ToSaveYourWorkPleaseSignIn:"Щоб зберегти вашу роботу, будь ласка, увійдіть в систему.",TakeScreenshot:"Зробити знімок екрана",UseCloudFileName:"Використовувати ім'я файлу у хмарному середовищі",PublishOnModelsMap:"Опублікувати на карті моделей",PublishedOnModelsMap:"Вашу модель було опубліковано на карті моделей",UpdatedOnModelsMap:"Ваша модель була оновлена на карті моделей",YouMustLogInToPublishYourModel:"Вам потрібно увійти в систему, щоб опублікувати свою модель",YouCannotPublishAModelThatYouDoNotOwn:"Ви не можете опублікувати модель, якою не володієте",YouMustSaveModelOnCloudBeforePublishingIt:"Вам потрібно зберегти модель у хмарному середовищі перед її публікацією"},editSubMenu:"Редагувати",edit:{Undo:"Скасувати",Redo:"Повторити"},viewSubMenu:"Перегляд",view:{NavigationView:"Navigation View",TwoDimensionalView:"2D Вигляд",ResetView:"Скинути",ZoomIn:"Збільшити масштаб",ZoomOut:"Зменшити масштаб",AutoRotate:"Автоматичний поворот",ShowShadow:"Показати тінь",ShowSurfaceShininess:"Показати блиск поверхні",TranslucentFloatingWindows:"Напівпрозорі плаваючі вікна",accessoriesSubMenu:"Додаткові елементи",accessories:{SiteInformation:"Інформація про місце",DesignInformation:"Інформація про дизайн",Instruction:"Інструкція",StickyNote:"Примітка",Note:"Примітка"}},settingsSubMenu:"Налаштування",settings:{WeatherData:"Дані про погоду",DiurnalTemperature:"Добова температура",Heliodon:"Геліодон",SunAndTime:"Сонце та час"},benchmarksSubMenu:"Бенчмарки",benchmarks:{SolarRadiationPredictionVsMeasurement:"Прогнозування сонячної радіації порівняно з вимірюванням",BESTESTCase600:"Тестування енергоефективності будівель: BESTEST Case 600",BESTESTCase610:"Тестування енергоефективності будівель: BESTEST Case 610",BESTESTCase620:"Тестування енергоефективності будівель: BESTEST Case 620",BESTESTCase630:"Тестування енергоефективності будівель: BESTEST Case 630"},graph:{LineWidth:"Товщина лінії",SymbolSize:"Розмір символу",BarCategoryGap:"Відступ категорій стовпців",ShowHorizontalGridLines:"Показати горизонтальні лінії сітки",ShowVerticalGridLines:"Показати вертикальні лінії сітки"},analysisSubMenu:"Аналіз",physicsSubMenu:"Фізика",physics:{DailySolarRadiationHeatmap:"Щоденна карта сонячної радіації",SolarRadiationHeatmapOptions:"Параметри карти сонячної радіації",SolarRadiationHeatmapGridCellSize:"Розмір комірки на карті сонячної радіації",SolarRadiationHeatmapMaxValue:"Максимальне значення на карті",SolarRadiationHeatmapNoAnimation:"Немає анімації для статичної моделі",ReflectionHeatmap:"Карта відображень"},sensorSubMenu:"Датчик",sensor:{CollectDailyData:"Збирати щоденні дані",CollectYearlyData:"Збирати щорічні дані",SensorSimulationNoAnimation:"Немає анімації для збору даних датчика"},buildingSubMenu:"Будівля",building:{AnalyzeDailyBuildingEnergy:"Аналізувати щоденну енергію будівлі",AnalyzeYearlyBuildingEnergy:"Аналізувати щорічну енергію будівлі",EnergyAnalysisOptions:"Параметри аналізу енергії",EnergyGridCellSize:"Розмір комірки сітки",BuildingEnergySimulationNoAnimation:"Немає анімації симулювати енергію будівлі"},solarPanelSubMenu:"Сонячна панель",solarPanel:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",AnalyzeVisibility:"Аналізувати видимість",PanelDiscretization:"Дискретизація панелі",Exact:"Точний",Approximate:"Наближений",EnergyGridCellSize:"Розмір комірки сітки енергії",VisibilityGridCellSize:"Розмір комірки сітки коефіцієнта видимості",EnergyAnalysisOptions:"Параметри аналізу енергії",VisibilityAnalysisOptions:"Параметри аналізу видимості",SolarPanelSimulationNoAnimation:"Немає анімації для симуляції сонячної панелі"},parabolicTroughSubMenu:"Параболічний сонячний колектор",parabolicTrough:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},parabolicDishSubMenu:"Параболічний диск",parabolicDish:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},fresnelReflectorSubMenu:"Відбивач Френеля",fresnelReflector:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},heliostatSubMenu:"Геліостат",heliostat:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід"},solarUpdraftTowerSubMenu:"Сонячна вежа з використаним повітрям",solarUpdraftTower:{AnalyzeDailyYield:"Аналізувати щоденний дохід",AnalyzeYearlyYield:"Аналізувати щорічний дохід",SolarUpdraftTowerSimulationNoAnimation:"Немає анімації симулювати сонячну вежу з використаним повітрям"},tutorialsSubMenu:"Посібники",solarEnergyScienceSubMenu:"Сонячна наука",solarEnergyScienceTutorials:{SunAngles:"Кути сонця відносно спостерігача на землі",InsolationAndClimate:"Інсоляція та клімат",SolarRadiationToBox:"Сонячна радіація в коробку"},buildingScienceSubMenu:"Наука про будівлі",buildingScienceTutorials:{ThermalEnvelopeVsBuildingEnvelope:"Теплозахисна оболонка проти будівельної оболонки",EffectOfSizeOnBuildingEnergy:"Вплив розміру на енергію будівлі",EffectOfOrientationOnBuildingEnergy:"Вплив орієнтації на енергію будівлі",EffectOfInsulationOnBuildingEnergy:"Вплив інсоляції на енергію будівлі",EffectOfRoofColorOnBuildingEnergy:"Вплив кольору даху на енергію будівлі",EffectOfEavesOverhangLengthOnBuildingEnergy:"Вплив довжини виступу карнизу на енергію будівлі",EffectOfWindowSHGCOnBuildingEnergy:"Вплив коефіцієнта сонячного теплозиску вікна на енергію будівлі",EffectOfThermostatSetpointOnBuildingEnergy:"Вплив заданої температури на термостаті на енергію будівлі",EffectOfSolarPanelsOnBuildingEnergy:"Вплив сонячних панелей на енергію будівлі",EffectOfGroundTemperatureOnBuildingEnergy:"Вплив температури грунту на енергію будівлі",EffectOfTreesOnBuildingEnergy:"Вплив дерев на енергію будівлі"},buildingDesignSubMenu:"Дизайн будівлі",buildingDesignTutorials:{CapeCodStyleHouseWithShedDormer:'Будинок у стилі Кейп Код з пристроєм типу "шед-дормер"',MansardRoofWithDormers:"Мансарда з горизонтальними пристроями",GableRoofVsHipRoof:"Схиловий дах проти двосхилих дахів",ColonialVsSaltbox:"Колоніальний стиль проти стилю Saltbox",GambrelRoofVsMansardRoof:"Півшаровий дах проти мансардного даху",CombinationRoofVsBonnetRoof:"Комбінований дах проти капотного даху",DutchGableRoof:"Голландський дах з рикетом",GableAndValleyRoof:"Схиловий та долинний дах",ClerestoryRoof:"Клересторний дах",MonitorRoof:"Моніторний дах",AFrameHouse:'Будинок у формі літери "А"',HalfTimberedHouse:"Будинок з напівдерев'яними стінами",AllBasicRoofTypes:"Усі основні типи дахів"},photovoltaicSolarPowerSubMenu:"Фотоелектрична сонячна енергія",photovoltaicSolarPowerTutorials:{EffectOfTiltAngleOfSolarPanel:"Вплив кута нахилу сонячної панелі",EffectOfAzimuthOfSolarPanel:"Вплив азимуту сонячної панелі",SolarPanelTypes:"Типи сонячних панелей",VerticalBifacialSolarPanels:"Vertical Bifacial Solar Panels",CompareMonofacialAndBifacialSolarPanels:"Monofacial vs. Bifacial Solar Panels",SolarTrackers:"Сонячні трекери",CoveringGroundWithSolarPanels:"Чому просто покриття землі сонячними панелями - не найкраща ідея",InterRowSpacingOfSolarPanelArray:"Вплив міжрядного простору в масиві сонячних панелей",EffectOfOrientationOfSolarPanels:"Вплив орієнтації сонячних панелей",SolarPanelArrayAutomaticLayout:"Автоматичне розміщення масиву сонячних панелей"},concentratedSolarPowerSubMenu:"Концентрована сонячна енергія",concentratedSolarPowerTutorials:{EffectOfAzimuthOfParabolicTrough:"Вплив азимуту параболічного сонячного колектора",EffectOfLatusRectumOfParabolicTrough:"Вплив прямої лінії на параболічний сонячний колектор",FocusSunlightWithParabolicDish:"Фокусування сонячного світла за допомогою параболічного диску",LinearFresnelReflectors:"Лінійні відбивачі Френеля",EffectOfAbsorberPipeHeightForLinearFresnelReflectors:"Вплив висоти поглинаючої трубки на лінійні відбивачі Френеля",EffectOfAzimuthOfLinearFresnelReflectors:"Вплив азимуту на лінійні відбивачі Френеля",LinearFresnelReflectorsWithTwoAbsorbers:"Лінійні відбивачі Френеля з двома поглинаючими елементами",CosineEfficiencyOfHeliostats:"Косинусна ефективність геліостатів",ShadowingAndBlockingOfHeliostats:"Затінення та блокування геліостатів",EffectSolarPowerTowerHeight:"Вплив висоти сонячної вежі з використаним повітрям",SolarPowerTower:"Сонячна вежа з використаним повітрям"},otherTypesOfSolarPowerSubMenu:"Інші типи сонячної енергії",otherTypesOfSolarPowerTutorials:{SolarUpdraftTower:"Сонячна вежа з використаним повітрям"},windPowerSubMenu:"Wind Power",windPowerTutorials:{EffectOfBladeNumberOfWindTurbine:"Effect of Blade Number of Wind Turbine",EffectOfPitchAngleOfWindTurbineBlades:"Effect of Pitch Angle of Wind Turbine Blades",BirdSafeBladeDesign:"Bird-Safe Blade Design",OffshoreWindFarm:"Offshore Wind Farm"},colocationSubMenu:"Colocation",colocationTutorials:{AgricultureSolarWindColocation:"Agriculture-Solar-Wind Colocation"},generativeDesignSubMenu:"Generative Design",generativeDesignTutorials:{MonofacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Monofacial Solar Panel Array",BifacialSolarPanelArrayTiltAngle:"The Tilt Angle of a Bifacial Solar Panel Array",OutputOfSolarPanelArrayInDifferentPlaces:"The Output of a Solar Panel Array in Different Places",SimpleSolarFarmParetoFront:"The Pareto Front for Designing a Simple Solar Farm"},examplesSubMenu:"Приклади",solarEnergySubMenu:"Сонячна енергія",solarEnergyExamples:{SunBeamAndHeliodon:"Промінь сонця та геліодон",RooftopSolarPanels:"Сонячні панелі на даху",NevadaSolarOneParabolicTroughArray:"Масив параболічних сонячних колекторів Nevada Solar One",TooeleParabolicDishArray:"Масив параболічних тарілок Tooele",PS10SolarPowerTower:"Сонячна енергетична вежа PS10",TucsonLinearFresnelReflectors:"Лінійні відбивачі Френеля в Tucson",SolarCanopyFormFactors:"Форми сонячних козирків",SolarCanopyOverBleachers:"Сонячний козирок над трибунами",SolarCanopyOverGarage:"Сонячний козирок над гаражем",SolarBusStop:"Сонячна автобусна зупинка",SolarFacadeTesla:"Сонячна фасадна панель Tesla",BuildingIntegratedPhotovoltaics:"Вбудовані фотоелектричні системи в будівлі",Floatovoltaics:"Сонячні панелі на плавучих платформах",Agrivoltaics:"Агровольтаїка",VegetativeBuffer:"Вегетативна зона",RainbowSwashSolarFarmBostonMA:"Сонячна ферма Rainbow Swash в Boston, MA",MickeyMouseSolarFarmOrlandoFL:"Сонячна ферма Міккі Мауса в Orlando, FL",SolarPanelsOverCanalBakersfieldCA:"Сонячні панелі над каналом в Bakersfield, CA",SolarNoiseBarrierLexingtonMA:"Сонячний шумовий бар'єр в Lexington, MA",HSATSolarTrackersRaleighNC:"Сонячні трекери з горизонтальною віссю в Raleign, NC",AADATSolarTrackersLancasterCA:"Сонячні трекери з азимутальною-вертикальною віссю в Lancaster, CA",SolarUpdraftTowerInCity:"Сонячна вежа з використаним повітрям у місті"},builtEnvironmentSubMenu:"Забудоване середовище",residentialBuildingsSubMenu:"Житлові будівлі",residentialBuildingExamples:{ColonialHouse:"Колоніальний будинок",DutchColonialHouse:"Голландський колоніальний будинок",TShapedHouse:"Будинок у формі літери Т",CapeCodHouseWithGarage:"Будинок у стилі Cape Cod з гаражем",Solarium:"Солярій",Church1:"Церква 1",Cathedral1:"Собор 1",Cathedral2:"Собор 2",Mosque1:"Мечеть 1",AdobeTaosHouse:"Будинок з адобе в стилі Taos",RanchHouse:"Ranch House",BonnetHouse:"Будинок в стилі Bonnet",BarnStyleHouse:"Будинок у стилі амбара",ModernHouse:"Сучасний будинок",ButterflyRoofHouse:"Будинок з метеликовим дахом"},commercialBuildingsSubMenu:"Комерційні будівлі",commercialBuildingExamples:{WhiteHouse:"Білий Дім",BilimMersinTurkiye:"Bilim, Mersin, Туреччина",SpanishStyleHotel:"Готель в іспанському стилі",ApartmentBuilding:"Багатоквартирний будинок",OfficeBuilding:"Офісна будівля",Hotel:"Готель"},buildingComplexesSubMenu:"Будівельні комплекси",buildingComplexExamples:{SouthBurlingtonHighSchoolVermont:"South Burlington High School, Vermont",MescaleroApacheSchoolNewMexico:"Mescalero Apache School, New Mexico"},urbanPlanningSubMenu:"Міське планування",urbanPlanningExamples:{Heatmap1:"Теплова карта"},otherBuildingsSubMenu:"Інші будівлі",otherBuildingExamples:{Greenhouse:"Теплиця",Pavilion:"Павільйон у парку",OctagonalPagoda:"Восьмикутна пагода",OceanFront:"Будівля біля океану",EgyptianPyramids:"Єгипетські піраміди",MayanPyramid:"Піраміда Мая",SiOSePol:"Si-O-Se-Pol",StackedCuboids:"Стековані кубоїди"},artificialIntelligenceSubMenu:"Штучний інтелект",artificialIntelligenceExamples:{OptimizingTiltAngleOfOneSolarPanelRow:"Оптимізація кута нахилу одного ряду сонячних панелей",OptimizingTiltAnglesOfMultipleSolarPanelRows:"Оптимізація кутів нахилу декількох рядів сонячних панелей",SolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми",SolarFarmGenerativeDesignWithBlock:"Генеративний дизайн сонячної ферми в присутності перешкоди",FitchburgSolarFarmGenerativeDesign:"Генеративний дизайн сонячної ферми у Fitchburg"},languageSubMenu:"Мова",publicSubMenu:"Загальнодоступно",ModelsGallery:"Галерея моделей",ModelsMap:"Карта моделей",AboutUs:"Про нас"},avatarMenu:{AccountSettings:"Налаштування облікового запису",PrivacyStatementTitle:"User Privacy Protection Statement",PrivacyStatement:"Коли ви увійдете, ваш Google ID використовується для створення та доступу до вашого облікового запису Aladdin. В нашій базі даних зберігається лише випадковий алфавітно-цифровий рядок як посилання. Ми ніколи не збираємо особисто ідентифіковану інформацію, таку як ваше ім'я або електронна пошта. Для отримання додаткової інформації ознайомтесь з нашою ",SignIn:"Увійти",SignOut:"Вийти",IfYouAreAStudent:"Якщо ви студент"},skyMenu:{Axes:"Вісі",Theme:"Тематика",ThemeDefault:"За замовчуванням",ThemeDesert:"Пустеля",ThemeDune:"Дюна",ThemeForest:"Ліс",ThemeGrassland:"Степ",ThemeHill:"Пагорб",ThemeLake:"Озеро",ThemeMountain:"Гора",ThemeRural:"Сільська місцевість",SunlightAttenuationCoefficientInAir:"Коефіцієнт затухання сонячного світла у повітрі",ConvectiveCoefficientOfAir:"Коефіцієнт конвекції повітря",HighestTemperatureTimeInMinutes:"Час найвищої температури (хвилини)",SelectSunAnglesToShow:"Виберіть кути сонця, які показати",ShowAzimuthAngle:"Показати азимутний кут",ShowElevationAngle:"Показати висотний кут",ShowZenithAngle:"Показати зенітний кут",DirectLightBrightnessAtNoon:"Direct Light Brightness at Noon",AmbientLightBrightnessAtNoon:"Ambient Light Brightness at Noon"},groundMenu:{MonthlyIrradianceLoss:"Monthly Irradiance Loss",Vegetation:"Рослинність",LeafOutDay:"День розпускання листя",LeafOffDay:"День опадання листя",Albedo:"Альбедо",ImageOnGround:"Зображення на поверхні",WaterSurface:"Поверхня води",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedSolarPanels:"Remove All Unlocked Solar Panels",RemoveAllUnlockedPeople:"Видалити всіх розблокованих людей",RemoveAllUnlockedFoundations:"Видалити всі розблоковані фундаменти",RemoveAllUnlockedCuboids:"Видалити всі розблоковані кубоїди",DoYouReallyWantToRemoveAllPeople:"Ви дійсно хочете видалити всіх людей, що не заблоковані",DoYouReallyWantToRemoveAllTrees:"Ви дійсно хочете видалити всі дерева, що не заблоковані",DoYouReallyWantToRemoveAllFlowers:"Ви дійсно хочете видалити всі квіти, що не заблоковані",DoYouReallyWantToRemoveAllSolarPanels:"Do you really want to remove all the solar panels that are not locked",DoYouReallyWantToRemoveAllFoundations:"Ви дійсно хочете видалити всі фундаменти, що не заблоковані",DoYouReallyWantToRemoveAllCuboids:"Ви дійсно хочете видалити всі кубоїди, що не заблоковані",LockAllUnlockedElements:"Lock All Unlocked Elements",UnlockAllLockedElements:"Unlock All Locked Elements"},labelSubMenu:{Label:"Мітка",LabelText:"Текст мітки",LabelHeight:"Висота мітки",LabelSize:"Розмір мітки",LabelFontSize:"Розмір шрифту",LabelColor:"Колір мітки",KeepShowingLabel:"Залишати видимою мітку"},foundationMenu:{RemoveAllUnlockedSolarPanels:"Видалити всі незаблоковані сонячні панелі",RemoveAllUnlockedParabolicTroughs:"Видалити всі незаблоковані параболічні сонячні колектори",RemoveAllUnlockedParabolicDishes:"Видалити всі незаблоковані параболічні антени",RemoveAllUnlockedFresnelReflectors:"Видалити всі незаблоковані відбивачі Френеля",RemoveAllUnlockedHeliostats:"Видалити всі незаблоковані геліостати",RemoveAllUnlockedWindTurbines:"Remove All Unlocked Wind Turbines",RemoveAllUnlockedSensors:"Видалити всі незаблоковані датчики",RemoveAllUnlockedLights:"Видалити всі незаблоковані освітлювальні прилади",RemoveAllUnlockedWalls:"Видалити всі незаблоковані стіни",RemoveAllUnlockedWindows:"Видалити всі незаблоковані вікна",RemoveAllUnlockedDoors:"Видалити всі незаблоковані двері",RemoveAllUnlockedPolygons:"Видалити всі незаблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх незаблокованих людей",RemoveAllUnlockedTrees:"Видалити всі незаблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі незаблоковані квіти",Racks:"Стелажі",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SolarPanels:"Сонячні панелі",SolarPanelArray:"Solar Panel Array",DoYouReallyWantToRemoveAllSolarPanelsOnFoundation:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому фундаменті, які не є заблокованими",ParabolicTroughs:"Параболічні сонячні колектори",DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation:"Ви дійсно бажаєте видалити всі параболічні сонячні колектори на цьому фундаменті, які не є заблокованими",ParabolicDishes:"Параболічні антени",DoYouReallyWantToRemoveAllParabolicDishesOnFoundation:"Ви дійсно бажаєте видалити всі параболічні антени на цьому фундаменті, які не є заблокованими",FresnelReflectors:"Відбивачі Френеля",DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation:"Ви дійсно бажаєте видалити всі відбивачі Френеля на цьому фундаменті, які не є заблокованими",Heliostats:"Геліостати",DoYouReallyWantToRemoveAllHeliostatsOnFoundation:"Ви дійсно бажаєте видалити всі геліостати на цьому фундаменті, які не є заблокованими",WindTurbines:"Wind Turbines",DoYouReallyWantToRemoveAllWindTurbinesOnFoundation:"Do you really want to remove all the wind turbines on this foundation that are not locked",Sensors:"Датчики",DoYouReallyWantToRemoveAllSensorsOnFoundation:"Ви дійсно бажаєте видалити всі датчики на цьому фундаменті, які не є заблокованими",Lights:"Світильники",DoYouReallyWantToRemoveAllLightsOnFoundation:"Ви дійсно бажаєте видалити всі світильники на цьому фундаменті, які не є заблокованими",Walls:"Стіни",DoYouReallyWantToRemoveAllWallsOnFoundation:"Ви дійсно бажаєте видалити всі стіни на цьому фундаменті, які не є заблокованими",Windows:"Вікна",DoYouReallyWantToRemoveAllWindowsOnFoundation:"Ви дійсно бажаєте видалити всі вікна на цьому фундаменті, які не є заблокованими",Doors:"Двері",DoYouReallyWantToRemoveAllDoorsOnFoundation:"Ви дійсно бажаєте видалити всі двері на цьому фундаменті, які не є заблокованими",Polygons:"Багатокутники",DoYouReallyWantToRemoveAllPolygonsOnFoundation:"Ви дійсно бажаєте видалити всі багатокутники на цьому фундаменті, які не є заблокованими",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnFoundation:"Ви дійсно бажаєте видалити всіх людей на цьому фундаменті, які не є заблокованими",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnFoundation:"Ви дійсно бажаєте видалити всі дерева на цьому фундаменті, які не є заблокованими",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnFoundation:"Ви дійсно бажаєте видалити всі квіти на цьому фундаменті, які не є заблокованими",OnlyThisFoundation:"Тільки цей фундамент",AllConnectedFoundations:"Всі пов’язані фундаменти",AllSelectedFoundations:"All Selected Foundations",AllFoundations:"Всі фундаменти",AddPolygon:"Додати багатокутник",SolarStructure:"Вибрати сонячну структуру",GroupMaster:"Груповий майстер",LockAllUnlockedElementsOnThisFoundation:"Lock All Unlocked Elements on This Foundation",UnlockAllLockedElementsOnThisFoundation:"Unlock All Locked Elements on This Foundation",GroundFloorRValue:"Теплопровідність перекриття цокольного поверху",OnlyThisGroundFloor:"Тільки цокольний поверх",AllGroundFloors:"Всі цокольні поверхи"},solarPowerTowerMenu:{ReceiverTowerForHeliostats:"Вежа приймача для геліостатів",ReceiverTowerPhysicalProperties:"Фізичні властивості вежі приймача",ReceiverTowerHeight:"Висота вежі приймача",ReceiverTowerRadius:"Радіус вежі приймача",ReceiverAbsorptance:"Поглинання приймача",ReceiverOpticalEfficiency:"Оптична ефективність приймача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarAbsorberPipeMenu:{AbsorberPipeForFresnelReflectors:"Трубопровід для відбивачів Френеля",AbsorberPipePhysicalProperties:"Фізичні властивості трубопроводу поглинання",AbsorberHeight:"Висота трубопроводу поглинання",AbsorberApertureWidth:"Ширина отвору трубопроводу поглинання",AbsorberPipePoleNumber:"Кількість полюсів для трубопроводу поглинання",AbsorberAbsorptance:"Сила поглинання",AbsorberOpticalEfficiency:"Оптична ефективність поглинача",AbsorberThermalEfficiency:"Теплова ефективність поглинача"},solarUpdraftTowerMenu:{SolarUpdraftTower:"Сонячна вежа з тяговим потоком",SolarUpdraftTowerPhysicalProperties:"Фізичні властивості сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyHeight:"Висота димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerChimneyRadius:"Радіус димової труби сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorHeight:"Висота колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorRadius:"Радіус колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorTransmissivity:"Проникність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerCollectorEmissivity:"Випромінюваність колектора сонячної вежі з тяговим потоком",SolarUpdraftTowerDischargeCoefficient:"Коефіцієнт викиду сонячної вежі з тяговим потоком",SolarUpdraftTowerTurbineEfficiency:"Ефективність турбіни сонячної вежі з тяговим потоком"},cuboidMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",RemoveAllUnlockedHumans:"Видалити всіх розблокованих людей",RemoveAllUnlockedTrees:"Видалити всі розблоковані дерева",RemoveAllUnlockedFlowers:"Видалити всі розблоковані квіти",RemoveAllUnlockedLights:"Remove All Unlocked Lights",Racks:"Стійки",Lights:"Lights",DoYouReallyWantToRemoveAllLightsOnCuboid:"Do you really want to remove all the lights on this cuboid that are not locked",SolarPanels:"Сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnCuboid:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому кубоїді, які не заблоковані",Sensors:"Сенсори",DoYouReallyWantToRemoveAllSensorsOnCuboid:"Ви дійсно бажаєте видалити всі сенсори на цьому кубоїді, які не заблоковані",Polygons:"Полігони",DoYouReallyWantToRemoveAllPolygonsOnCuboid:"Ви дійсно бажаєте видалити всі полігони на цьому кубоїді, які не заблоковані",Humans:"Люди",DoYouReallyWantToRemoveAllHumansOnCuboid:"Ви дійсно бажаєте видалити всіх людей на цьому кубоїді, які не заблоковані",Trees:"Дерева",DoYouReallyWantToRemoveAllTreesOnCuboid:"Ви дійсно бажаєте видалити всі дерева на цьому кубоїді, які не заблоковані",Flowers:"Квіти",DoYouReallyWantToRemoveAllFlowersOnCuboid:"Ви дійсно бажаєте видалити всі квіти на цьому кубоїді, які не заблоковані",OnlyThisCuboid:"Тільки цей кубоїд",AllCuboidsOnSameSurface:"Усі кубоїди на одній поверхні",AllCuboidsAboveSameBase:"Усі кубоїди над тією ж основою",AllSelectedCuboids:"All Selected Cuboids",AllCuboids:"Всі кубоїди",OnlyThisSide:"Тільки ця сторона",AllSidesOfThisCuboid:"Всі сторони цього кубоїда",AllSidesOfSelectedCuboids:"All Sides of Selected Cuboids",AllSidesOfAllCuboids:"Всі сторони всіх кубоїдів",AddPolygon:"Додати полігон",Stackable:"Стекабельне",GroupMaster:"Майстер групи"},polygonMenu:{Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",TextBox:"Текстове поле",FontOutlineColor:"Колір контуру шрифту",FontOutlineWidth:"Товщина контуру шрифту",FontStrokeColor:"Колір обводки шрифту",FontStrokeWidth:"Товщина обводки шрифту",NoOutline:"Без контуру",Shiny:"Блискучий",Filled:"Заповнений",FillTexture:"Текстура заповнення",FillColor:"Колір заповнення",Opacity:"Прозорість",LineColor:"Колір лінії",LineWidth:"Товщина лінії",LineStyle:"Стиль лінії",SolidLine:"Суцільна лінія",DashedLine:"Пунктирна лінія",DottedLine:"Точкова лінія",InsertVertexBeforeIndex:"Вставити вершину перед індексом",InsertVertexAfterIndex:"Вставити вершину після індексу",DeleteVertex:"Видалити вершину",OnlyThisPolygon:"Тільки цей полігон",AllPolygonsOnSurface:"Всі полігони на цій поверхні",AllPolygonsAboveFoundation:"Всі полігони вище фундаменту",AllSelectedPolygons:"All Selected Polygons",AllPolygons:"Всі полігони",Layout:"Розташування",SolarPanelArrayLayout:"Розташування сонячних панелей",SolarPanelArrayLayoutParametricDesign:"Розташування сонячних панелей: параметричний дизайн",SolarPanelArrayLayoutGenerativeDesign:"Розташування сонячних панелей: генеративний дизайн",SolarPanelArrayModel:"Модель сонячної панелі",SolarPanelArrayOrientation:"Орієнтація",SolarPanelArrayTiltAngle:"Кут нахилу",SolarPanelArrayRowWidth:"Ширина ряду",SolarPanelArrayInterRowSpacing:"Міжрядковий інтервал",SolarPanelArrayRowSpacing:"Row Spacing",SolarPanelArrayRowAxis:"Вісь ряду",SolarPanelArrayLeftRightRowAxis:"Наліво-Направо (відносне)",SolarPanelArrayUpDownRowAxis:"Вгору-Вниз (відносне)",SolarPanelArrayEastWestRowAxis:"Схід-Захід (абсолютне)",SolarPanelArrayNorthSouthRowAxis:"Північ-Південь (абсолютне)",SolarPanelArrayMargin:"Відступ",SolarPanelArrayPoleHeight:"Висота стовпа",SolarPanelArrayPoleSpacing:"Інтервал між стовпами",SolarPanelArrayTotalYearlyCost:"Total Cost",SolarPanelArrayTotalYearlyRevenue:"Total Revenue",SolarPanelArrayTotalYearlyYield:"Total Yield",SolarPanelArrayMeanYearlyYield:"Mean Yield",SolarPanelArrayYearlyProfit:"Profit",LayoutNotAcceptedCheckYourParameters:"Це розташування не приймається. Будь ласка, перевірте ваші параметри."},optimizationMenu:{Optimization:"Оптимізація",Parameters:"Параметри",Variables:"Змінні",Constants:"Константи",GeneticAlgorithm:"Генетичний алгоритм",GeneticAlgorithmSettings:"Налаштування генетичного алгоритму",ParticleSwarmOptimization:"Оптимізація роєм частинок",ParticleSwarmOptimizationSettings:"Налаштування оптимізації роєм частинок",SolarPanelTiltAngleOptimization:"Оптимізація кута нахилу сонячних панелей",SolarPanelArrayLayout:"Розташування сонячних панелей",Generation:"Покоління",Gene:"Ген",NormalizedVariables:"Нормалізовані змінні",Objective:"Ціль",ObjectiveFunctionDailyTotalYield:"Щоденний загальний дохід",ObjectiveFunctionYearlyTotalYield:"Щорічний загальний дохід",ObjectiveFunctionDailyMeanYield:"Щоденний середній дохід",ObjectiveFunctionYearlyMeanYield:"Щорічний середній дохід",ObjectiveFunctionDailyProfit:"Щоденний прибуток",ObjectiveFunctionYearlyProfit:"Щорічний прибуток",GeneticAlgorithmSelectionMethod:"Метод вибору для генетичного алгоритму",RouletteWheel:"Велосипедне колесо",Tournament:"Турнір",SearchMethod:"Метод пошуку",GlobalSearchUniformSelection:"Глобальний пошук з однорідним вибором",LocalSearchRandomOptimization:"Локальний пошук випадкової оптимізації",PopulationSize:"Розмір населення",MaximumGenerations:"Максимальна кількість поколінь",SelectionRate:"Швидкість відбору",CrossoverRate:"Швидкість схрещування",MutationRate:"Швидкість мутації",Step:"Крок",SwarmSize:"Розмір рою",MaximumSteps:"Максимальна кількість кроків",MaximumVelocity:"Максимальна швидкість",InertiaWeight:"Вага інерції",CognitiveCoefficient:"Коефіцієнт когнітивної функції",SocialCoefficient:"Коефіцієнт соціальної взаємодії",ConvergenceThreshold:"Поріг збіжності для завершення",LocalSearchRadius:"Радіус локального пошуку",RowsPerRackRange:"Діапазон для рядів на стелаж",TiltAngleRange:"Діапазон для кута нахилу",InterRowSpacingRange:"Діапазон для міжрядкового проміжку",ClickTargetPolygonToActivate:"Натисніть на цільовий полігон для активації",ClickTargetFoundationToActivate:"Натисніть на цільовий фундамент для активації"},treeMenu:{ShowModel:"Показати модель",Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},flowerMenu:{Flip:"Перевернути",Type:"Тип",Spread:"Розповсюдження"},peopleMenu:{ChangePerson:"Змінити особу",Flip:"Перевернути",Observer:"Спостерігач",ViewFromThisPerson:"Переглянути з цієї особи"},lightMenu:{Color:"Колір",Intensity:"Інтенсивність",Decay:"Затухання",MaximumDistance:"Максимальна відстань",Inside:"Усередині"},solarCollectorMenu:{Coordinates:"Coordinates",RelativeXCoordinateOfCenter:"Relative X Coordinate of Center",RelativeYCoordinateOfCenter:"Relative Y Coordinate of Center",RelativeAzimuth:"Відносний азимут",Pole:"Стовп",PoleHeight:"Висота стовпа",PoleRadius:"Pole Radius",ExtraPoleHeight:"Додаткова висота стовпа",ExtraPoleHeightInAdditionToHalfWidth:"Додаткова висота стовпа на додаток до половини ширини",DrawSunBeam:"Намалювати промінь сонця"},concentratedSolarPowerCollectorMenu:{ReflectorReflectance:"Відбивання відбивача",ReceiverAbsorptance:"Поглинання приймача",ReflectorOpticalEfficiency:"Оптична ефективність відбивача",ReceiverThermalEfficiency:"Теплова ефективність приймача"},solarPanelMenu:{ElectricalProperties:"Electrical Properties",InverterEfficiency:"Inverter Efficiency",InverterEfficiencyExplained:"The efficiency for converting direct current (DC) to alternating current (AC).",DcToAcSizeRatio:"DC-to-AC Size Ratio",DcToAcSizeRatioExplained:"The ratio of the solar panels' DC-rated size to the inverter's AC-rated size.",ChangePvModel:"Змінити модель",Orientation:"Орієнтація",Portrait:"Вертикальна",Landscape:"Горизонтальна",FrameColor:"Колір рамки",Panels:"панелі",PanelsWide:"панелі по ширині",PanelsLong:"панелі по довжині",TiltAngle:"Кут нахилу",SouthFacingIsPositive:"Південь вважається позитивним",Tracker:"Трекер",SolarTrackerFollowsSun:"Трекер слідкує за сонцем для збільшення виходу сонячних панелей.",PoleSpacing:"Відстань між стовпами",NoTracker:"Без трекера",HorizontalSingleAxisTracker:"Трекер з горизонтальною одноосевою орієнтацією",VerticalSingleAxisTracker:"Трекер з вертикальною одноосевою орієнтацією",AltazimuthDualAxisTracker:"Трекер з азимутально-альтазимутальною двоосевою орієнтацією",OnlyThisSolarPanel:"Тільки ця сонячна панель",AllSolarPanelsOnSurface:"Всі сонячні панелі на одній поверхні",AllSolarPanelsAboveFoundation:"Всі сонячні панелі над однією фундаментом",AllSelectedSolarPanels:"All Selected Solar Panels",AllSolarPanels:"Всі сонячні панелі"},pvModelPanel:{SolarPanelSpecs:"Технічні характеристики сонячної панелі",Model:"Модель",PanelSize:"Розмір панелі",Cells:"Комірки",CellType:"Тип комірок",Monocrystalline:"Монокристалічні",Polycrystalline:"Полікристалічні",ThinFilm:"Тонкоплівкові",Bifacial:"Bifacial",BifacialityFactor:"Bifaciality Factor",Black:"Чорний",Blue:"Синій",ShadeTolerance:"Стійкість до затінення",SolarCellEfficiency:"Ефективність сонячної комірки",NominalOperatingCellTemperature:"Номінальна робоча температура комірки",TemperatureCoefficientOfPmax:"Температурний коефіцієнт Pmax"},parabolicTroughMenu:{ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",LatusRectum:"Велика піввісь",OnlyThisParabolicTrough:"Тільки цей параболічний сонячний колектор",AllParabolicTroughsAboveFoundation:"Усі параболічні сонячні колектори над цим фундаментом",AllSelectedParabolicTroughs:"All Selected Parabolic Troughs",AllParabolicTroughs:"Усі параболічні сонячні колектори"},fresnelReflectorMenu:{AbsorberPipe:"Труба поглинання",SelectAbsorberToReflectSunlightTo:"Виберіть поглинач, до якого буде відбиватися сонячне світло",ModuleLength:"Довжина модуля",Modules:"модулі",ModulesLong:"модулів у довжину",OnlyThisFresnelReflector:"Тільки цей відбивач Френеля",AllFresnelReflectorsAboveFoundation:"Усі відбивачі Френеля над цим фундаментом",AllSelectedFresnelReflectors:"All Selected Fresnel Reflectors",AllFresnelReflectors:"Усі відбивачі Френеля"},heliostatMenu:{Tower:"Вежа",SelectTowerToReflectSunlightTo:"Виберіть вежу, до якої буде відбиватися сонячне світло",OnlyThisHeliostat:"Тільки цей геліостат",AllHeliostatsAboveFoundation:"Усі геліостати над цим фундаментом",AllSelectedHeliostats:"All Selected Heliostats",AllHeliostats:"Усі геліостати"},parabolicDishMenu:{ReceiverStructure:"Структура приймача",CentralPole:"Центральний стовп",CentralPoleWithTripod:"Центральний стовп з триногою",Quadrupod:"Чотиринога",RimDiameter:"Діаметр ободу",LatusRectum:"Велика піввісь",ExtraPoleHeightInAdditionToRadius:"Додаткова висота стовпа плюс радіус",OnlyThisParabolicDish:"Тільки ця параболічна тарілка",AllParabolicDishesAboveFoundation:"Усі параболічні тарілки над цим фундаментом",AllSelectedParabolicDishes:"All Selected Parabolic Dishes",AllParabolicDishes:"Усі параболічні тарілки"},windTurbineMenu:{BirdSafeDesign:"Bird-Safe Design",BirdSafeNone:"None",BirdSafeBicolor:"Bicolor",BirdSafeStriped:"Striped",Rotor:"Rotor",BladeNumber:"Blade Number",RotorInitialAngle:"Rotor Initial Angle",RotorBladeDesign:"Rotor Blade Design",RotorBladeRadius:"Rotor Blade Radius",RotorBladePitchAngle:"Rotor Blade Pitch Angle",RelativeYawAngle:"Relative Yaw Angle",MaximumChordLength:"Maximum Chord Length",Tower:"Tower",TowerHeight:"Tower Height",TowerRadius:"Tower Radius",HubDesign:"Hub Design",HubRadius:"Hub Radius",HubLength:"Hub Length",OnlyThisWindTurbine:"Only This Wind Turbine",AllWindTurbinesAboveFoundation:"All Wind Turbines Above the Same Foundation",AllSelectedWindTurbines:"All Selected Wind Turbines",AllWindTurbines:"All Wind Turbines"},wallMenu:{TextureDefault:"Типова текстура",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",SizeOfWall:"Розмір стіни",OnlyThisWall:"Тільки ця стіна",AllConnectedWalls:"Всі пов'язані стіни",AllWallsAboveFoundation:"Всі стіни над цим фундаментом",AllSelectedWalls:"All Selected Walls",AllWalls:"Всі стіни",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisWall:"Ви дійсно бажаєте видалити всі вікна на цій стіні",Doors:"Двері",LockAllUnlockedDoors:"Lock All Unlocked Doors",UnlockAllLockedDoors:"Unlock All Locked Doors",RemoveAllUnlockedDoors:"Видалити всі розблоковані двері",DoYouReallyWantToRemoveAllDoorsOnThisWall:"Ви дійсно бажаєте видалити всі двері на цій стіні",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisWall:"Ви дійсно бажаєте видалити всі сонячні панелі на цій стіні",Sensors:"Датчики",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані датчики",DoYouReallyWantToRemoveAllSensorsOnThisWall:"Ви дійсно бажаєте видалити всі датчики на цій стіні",Lights:"Лампи",LockAllUnlockedLights:"Lock All Unlocked Lights",UnlockAllLockedLights:"Unlock All Locked Lights",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisWall:"Ви дійсно бажаєте видалити всі лампи на цій стіні",Polygons:"Polygons",LockAllUnlockedPolygons:"Lock All Unlocked Polygons",UnlockAllLockedPolygons:"Unlock All Locked Polygons",RemoveAllUnlockedPolygons:"Видалити всі розблоковані полігони",DoYouReallyWantToRemoveAllPolygonsOnThisWall:"Do you really want to remove all the polygons on this wall",WallStructure:"Структура стіни",DefaultStructure:"Типова",StudStructure:"Студ",PillarStructure:"Пілар",Opacity:"Непрозорість",StructureSpacing:"Відстань між структурами",StructureWidth:"Ширина структури",StructureThickness:"Товщина структури",StructureColor:"Колір структури",Color:"Колір стіни",Height:"Висота",Thickness:"Товщина",Texture:"Текстура",AllLightsOnWallInside:"Всі лампи всередині стіни",AllLightsOnWallOutside:"Всі лампи ззовні стіни",Fill:"Заповнення",Full:"Повне",Partial:"Часткове",Empty:"Порожнє",OpenToOutside:"Відкрите на зовнішню сторону",EavesLength:"Довжина карнизу",Parapet:"Перила",ParapetColor:"Колір перил",ParapetTexture:"Текстура перил",ParapetHeight:"Висота перил",CopingsHeight:"Висота паркану",CopingsWidth:"Ширина паркану"},windowMenu:{OnlyThisWindow:"Тільки це вікно",AllWindowsOnSurface:"All Windows on the Same Surface",AllWindowsAboveFoundation:"Всі вікна над однією фундаментом",AllSelectedWindows:"All Selected Windows",AllWindows:"Всі вікна",Width:"Ширина",Height:"Висота",Setback:"Setback from Exterior Surface",RelativeToWallThickness:"Relative to wall thickness",Mullion:"Розділовий стовпець",HorizontalMullion:"Horizontal Mullion",VerticalMullion:"Vertical Mullion",MullionWidth:"Ширина розділового стовпця",HorizontalMullionSpacing:"Horizontal Mullion Spacing",VerticalMullionSpacing:"Vertical Mullion Spacing",MullionColor:"Колір розділового стовпця",Tint:"Відтінок",Opacity:"Непрозорість",SolarHeatGainCoefficient:"Коефіцієнт сонячного теплового навантаження (SHGC) = 1 - непрозорість",Shutter:"Жалюзі",LeftShutter:"Ліве жалюзі",RightShutter:"Праве жалюзі",BothShutters:"Обидві жалюзі",ShutterWidth:"Відносна ширина",ShutterColor:"Колір жалюзі",Frame:"Рамка",FrameWidth:"Ширина рамки",SillWidth:"Ширина підвіконня",Color:"Колір рамки",WindowType:"Тип вікна",Default:"Типове",Arched:"Аркове",Polygonal:"Багатокутне",Interior:"Інтер'єр",Empty:"Порожнє"},roofMenu:{TextureDefault:"Типове",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",OnlyThisRoof:"Тільки цей дах",AllRoofsAboveFoundation:"Всі дахи над одним фундаментом",AllSelectedRoofs:"All Selected Roofs",AllRoofs:"Всі дахи",OnlyThisCeiling:"Тільки ця стеля",AllCeilingsAboveFoundation:"Всі стелі над одним фундаментом",AllCeilings:"Всі стелі",EavesOverhangLength:"Довжина виступу карнизу",RafterSpacing:"Відстань між стропилами",RafterWidth:"Ширина стропила",RafterThickness:"Товщина стропила",RafterColor:"Колір стропила",RoofColor:"Колір даху",RoofSideColor:"Колір бокової частини даху",GlassTint:"Колір скла",Opacity:"Непрозорість",RoofStructure:"Структура даху",DefaultStructure:"Типова",RafterStructure:"Стропило",GlassStructure:"Скло",SolarPanels:"Сонячні панелі",LockAllUnlockedSolarPanels:"Lock All Unlocked Solar Panels",UnlockAllLockedSolarPanels:"Unlock All Locked Solar Panels",RemoveAllUnlockedSolarPanels:"Видалити всі розблоковані сонячні панелі",DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof:"Ви дійсно бажаєте видалити всі сонячні панелі на цьому даху",Windows:"Вікна",LockAllUnlockedWindows:"Lock All Unlocked Windows",UnlockAllLockedWindows:"Unlock All Locked Windows",RemoveAllUnlockedWindows:"Видалити всі розблоковані вікна",DoYouReallyWantToRemoveAllWindowsOnThisRoof:"Ви дійсно бажаєте видалити всі вікна на цьому даху",Sensors:"Сенсори",LockAllUnlockedSensors:"Lock All Unlocked Sensors",UnlockAllLockedSensors:"Unlock All Locked Sensors",RemoveAllUnlockedSensors:"Видалити всі розблоковані сенсори",DoYouReallyWantToRemoveAllSensorsOnThisRoof:"Ви дійсно бажаєте видалити всі сенсори на цьому даху",Lights:"Лампи",RemoveAllUnlockedLights:"Видалити всі розблоковані лампи",DoYouReallyWantToRemoveAllLightsOnThisRoof:"Ви дійсно бажаєте видалити всі лампи на цьому даху",AllLightsOnRoofInside:"Всі лампи на даху всередині",AllLightsOnRoofOutside:"Всі лампи на даху ззовні",Rise:"Піднімання",Ceiling:"Стеля",RoofRValue:"Значення R для даху",CeilingRValue:"Значення R для стелі"},doorMenu:{TextureDefault:"За замовчуванням",Texture01:"Текстура 1",Texture02:"Текстура 2",Texture03:"Текстура 3",Texture04:"Текстура 4",Texture05:"Текстура 5",Texture06:"Текстура 6",Texture07:"Текстура 7",Texture08:"Текстура 8",Texture09:"Текстура 9",Texture10:"Текстура 10",Texture11:"Текстура 11",Texture12:"Текстура 12",Texture13:"Текстура 13",Texture14:"Текстура 14",Texture15:"Текстура 15",Texture16:"Текстура 16",Texture17:"Текстура 17",OnlyThisDoor:"Тільки ці двері",AllDoorsOnWall:"Всі двері на цій стіні",AllDoorsAboveFoundation:"Всі двері над тим самим фундаментом",AllSelectedDoors:"All Selected Doors",AllDoors:"Всі двері",DoorType:"Тип дверей",Default:"За замовчуванням",Arched:"Аркові",Filled:"Заповнені",FrameColor:"Колір рамки",Interior:"Інтер'єр"},siteInfoPanel:{High:"Високо",Low:"Низько"},designInfoPanel:{NumberOfSelectedHeliostats:"Кількість вибраних геліостатів",NumberOfSelectedSolarPanels:"Кількість вибраних сонячних панелей",ElectricityGeneratedDailyBySolarPanels:"Електрика, що генерується щоденно цими сонячними панелями",SceneDiameter:"Діаметр сцени",BuildingArea:"Площа будівлі"},visualizationControlPanel:{ColorContrast:"Контраст кольору",FluxScale:"Шкала потоку",ClickUpOrDownArrowButtonsToChange:"Натисніть кнопки зі стрілками вгору або вниз щоб змінити"},instructionPanel:{Rotate:"Повернути",DragMouse:"Перетягніть мишею",Zoom:"Масштабування",MouseWheelOrKeys:"Обертайте колесо миші або натисніть Ctrl+[ або Ctrl+]",MouseWheelOrKeysMac:"Обертайте колесо миші або натисніть ⌘+[ або ⌘+]",Pan:"Переміщення",HoldCtrlDragMouse:"Натисніть і утримуйте Ctrl, перетягніть мишею",HoldMetaDragMouse:"Натисніть і утримуйте ⌘, перетягніть мишею",Enter2DMode:"Ввійти в 2D режим",Exit2DMode:"Вийти з 2D режиму",NavigationMode:"Режим навігації",EnableNavigation:"Увімкнути навігацію",DisableNavigation:"Вимкнути навігацію",MoveForwardBack:"Рухатися вперед/назад",MoveForwardBackInstruction:"Натисніть W/S",MoveLeftRight:"Рухатися вліво/вправо",MoveLeftRightInstruction:"Натисніть A/D",MoveUpDown:"Рухатися вгору/вниз",MoveUpDownInstruction:"Натисніть Z/X",Turn:"Повернути",TurnInstruction:"Натисніть клавіші зі стрілками",ResetView:"Скинути",AutoRotate:"Автоматичний поворот",StartOrStop:"Натисніть F4, щоб почати або зупинити"},mapPanel:{ImageOnGround:"Зображення на землі",HideAddress:"Hide Address",WeatherStations:"Метеостанції",WeatherStationsNote:"Вимкніть це, щоб прискорити",Coordinates:"Координати",Zoom:"Масштабування"},visibilityPanel:{SolarPanelVisibility:"Видимість сонячних панелей",Observer:"Спостерігач",VantagePoint:"Точка огляду",ItemizedVisibilityByFields:"Розгорнутий за полями",TotalVisibility:"Загальна видимість"},sensorPanel:{LightSensor:"Датчик освітленості",WeatherDataFrom:"Метеодані з"},buildingEnergyPanel:{DailyBuildingEnergy:"Щоденна енергія будівлі",YearlyBuildingEnergy:"Річна енергія будівлі",Heater:"Обігрівач",AC:"Кондиціонер",SolarPanel:"Сонячна панель",Net:"Всього"},solarPanelYieldPanel:{SolarPanelDailyYield:"Щоденний дохід сонячних панелей",SolarPanelYearlyYield:"Річний дохід сонячних панелей",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualSolarPanels:"Показати дохід окремих сонячних панелей",Profit:"Прибуток",TotalCost:"Total Cost",TotalRevenue:"Total Revenue",TotalYield:"Total Yield",MeanYield:"Mean Yield",ModuleCount:"Module Count"},parabolicTroughYieldPanel:{ParabolicTroughDailyYield:"Щоденний дохід параболічних сонячних колекторів",ParabolicTroughYearlyYield:"Річний дохід параболічних сонячних колекторів",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicTroughs:"Показати дохід окремих параболічних сонячних колекторів"},parabolicDishYieldPanel:{ParabolicDishDailyYield:"Щоденний дохід параболічних тарілок",ParabolicDishYearlyYield:"Річний дохід параболічних тарілок",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualParabolicDishes:"Показати дохід окремих параболічних тарілок"},fresnelReflectorYieldPanel:{FresnelReflectorDailyYield:"Щоденний дохід відбивача Френеля",FresnelReflectorYearlyYield:"Річний дохід відбивача Френеля",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualFresnelReflectors:"Показати дохід окремих відбивачів Френеля"},heliostatYieldPanel:{HeliostatDailyYield:"Щоденний дохід геліостату",HeliostatYearlyYield:"Річний дохід геліостату",Yield:"Дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualHeliostats:"Показати дохід окремих геліостатів"},updraftTowerYieldPanel:{UpdraftTowerDailyYield:"Щоденний дохід сонячної вежі",UpdraftTowerYearlyYield:"Річний дохід сонячної вежі",ChimneyAirTemperature:"Температура повітря у димовій трубі",ChimneyWindSpeed:"Швидкість вітру у димовій трубі",Yield:"дохід",YieldPerHour:"Дохід за годину",DailyTotal:"Щоденний загальний",YearlyTotal:"Річний загальний",ShowOutputsOfIndividualUpdraftTowers:"Показати дохід окремих сонячних веж"},heliodonPanel:{SunAndTimeSettings:"Налаштування Сонця та Часу",SunAngles:"Кути Сонця",TwentyFourHours:"24 Години"},cloudFilePanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyLikes:"Мої вподобання",MyCloudFiles:"Мої файли у хмарному середовищі",GenerateLink:"Створити посилання",LinkGeneratedInClipBoard:"Посилання було створено та скопійовано до буферу обміну",DoYouReallyWantToDelete:"Ви дійсно бажаєте видалити",IfSharedOrPublishedRenamingFileBreaksExistingLinks:"Якщо цей файл було відкрито або опубліковано, зміна його назви порушить наявні посилання"},projectListPanel:{CopyTitle:"Copy Title",TitleCopiedToClipBoard:"The title was copied to the clip board",SearchByTitle:"Пошук за назвою",MyProjects:"My Projects",GenerateProjectLink:"Generate Project Link",ProjectLinkGeneratedInClipBoard:"A link to the project was generated in the clip board",DoYouReallyWantToDeleteProject:"Do you really want to delete Project",IfSharedOrPublishedRenamingProjectBreaksExistingLinks:"If this project has been shared or published, renaming it breaks existing links"},projectPanel:{ProjectSettings:"Project Settings",ThumbnailImageSize:"Thumbnail Image Size",ProjectByOtherPeople:"Project by Other People",Project:"Project",ProjectType:"Тип проєкту",ProjectDescription:"Description",MakeDescriptionEditable:"Make this description editable",MakeDescriptionNonEditable:"Make this description non-editable",DoubleClickToMakeDescriptionEditable:"Double-click to make this description editable",SolarPanelArray:"Solar Panel Array",CurateCurrentDesign:"Curate current design",UpdateSelectedDesign:"Update selected design",RemoveSelectedDesign:"Remove selected design",ClickToFlipSortingOrder:"Click to flip the sorting order",DesignNotShownInSolutionSpaceClickToShow:"This design is not shown in solution space; click to show",DesignShownInSolutionSpaceClickToHide:"This design is shown in solution space; click to hide",SolutionSpace:"Solution Space",ChooseSolutionSpace:"Choose solution space",ChooseDataColoring:"Choose data coloring",SameColorForAllDesigns:"Same color for all designs",OneColorForEachDesign:"One color for each design",SolutionSpaceScreenshot:"Take a screenshot of the solution space",ScatterPlotScreenshot:"Take a screenshot of the scatter plot",SingleClickToSelectDoubleClickToOpen:"Single-click to select, double-click to open.",SingleClickToDeselectDoubleClickToOpen:"Single-click to deselect, double-click to open.",GenerateScatterPlot:"Generate Scatter Plot",SelectXAxis:"Select X Axis",SelectYAxis:"Select Y Axis"},accountSettingsPanel:{MyAccountSettings:"Мої налаштування облікового запису",MyID:"Моє 🆔",ClickToCopyMyID:"Натисніть, щоб скопіювати моє ID",IDInClipBoard:"Ваш ID було скопійоване і готове для вставки.",StoreMyNameInMyFilesWhenSaving:"Зберігати моє ім'я в моїх файлах при збереженні",DoYouReallyWantToShowYourNameInYourFiles:"Ви дійсно бажаєте відображати ваше ім'я в файлах?",SignFileDisclaimer:"Якщо так, ваше ім'я зможе бачити будь-хто, хто матиме доступ до ваших файлів.",Likes:"Вподобання",AllPublished:"Усі опубліковані",PublishedUnderAliases:"Псевдоніми",UserCount:"Кількість користувачів",SchoolID:"ID Школи",ClassID:"ID Класу"},weatherPanel:{SunshineHours:"Сонячні години"},diurnalTemperaturePanel:{SelectAirTemperatureModel:"Виберіть модель повітряної температури",Sinusoidal:"Синусоїдальна"},economicsPanel:{EconomicsParameters:"Параметри економіки",ElectricitySellingPrice:"Ціна продажу електроенергії",OperationalCostPerUnit:"Операційні витрати за одиницю",SellingPrice:"Selling Price",UnitCost:"Unit Cost"},navigationPanel:{NavigationParameters:"Navigation Parameters",MinimumMoveSpeed:"Minimum Move Speed",MinimumTurnSpeed:"Minimum Turn Speed"},shadowSettingsPanel:{ShadowSettings:"Shadow Settings",ShadowCameraFarDistance:"Shadow Camera Far Distance",ShadowMapSize:"Shadow Map Size",Notes:"Notes",RefreshPageNote:"Refresh the page for the new settings to take effect.",MapSizeWarning:"A large shadow map size may cause Aladdin to crash on some computers."},yearlyLightSensorPanel:{SkyClearness:"Ясність неба",ShowDaylightResults:"Показати результати денного освітлення",ShowSkyClearnessResults:"Показати результати ясності неба",ShowAverageDailySolarRadiation:"Показати середню щоденну сонячну радіацію"},analysisManager:{NoSensorForCollectingData:"Немає датчика для збору даних.",NoSolarPanelForAnalysis:"Немає сонячної панелі для аналізу.",NoObserverForVisibilityAnalysis:"Немає спостерігача для аналізу видимості.",NoWaterHeaterForAnalysis:"Немає водонагрівача для аналізу.",NoParabolicDishForAnalysis:"Немає параболічної тарілки для аналізу.",NoParabolicTroughForAnalysis:"Немає параболічного сонячного колектора для аналізу.",NoFresnelReflectorForAnalysis:"Немає відбивача Френеля для аналізу.",NoHeliostatForAnalysis:"Немає геліостата для аналізу.",NoSolarUpdraftTowerForAnalysis:"Немає сонячної вежі для аналізу.",NoBuildingForAnalysis:"Немає будівлі для аналізу."},toolbar:{CloudFile:"Хмарний файл",Select:"Вибрати",AddFoundation:"Додати фундамент",AddWall:"Додати стіну",AddWindow:"Додати вікно",AddDoor:"Додати двері",AddPyramidRoof:"Додати пірамідальний дах",AddGableRoof:"Додати шатровий дах",AddHipRoof:"Додати чотирихилий дах",AddGambrelRoof:"Додати двосхилий дах",AddMansardRoof:"Додати мансардний дах",AddCuboid:"Додати прямокутний паралелепіпед",AddSensor:"Додати датчик",AddSolarPanel:"Додати сонячну панель",AddWaterHeater:"Додати водонагрівач",AddParabolicDish:"Додати параболічну тарілку",AddParabolicTrough:"Додати параболічний сонячний колектор",AddFresnelReflector:"Додати відбивач Френеля",AddHeliostat:"Додати геліостат",AddWindTurbine:"Add Horizontal Axis Wind Turbine",AddVerticalAxisWindTurbine:"Add Vertical Axis Wind Turbine",AddLight:"Додати світло",AddTree:"Додати дерево",AddFlower:"Додати квітку",AddPeople:"Додати людей",DoubleClickToLockThisModeForNextAction:"Подвійне клацання, щоб заблокувати цей режим для наступної дії",ClickToUnlockThisModeForNextAction:"Клацніть, щоб розблокувати цей режим для наступної дії",ManipulateGroup:"Маніпулювати групою",ClearScene:"Очистити сцену",ShowSunAndTimeSettings:"Показати налаштування Сонця та Часу",SpatialAnalysisOfEnergy:"Просторовий аналіз енергії",DoYouReallyWantToClearContent:"Ви дійсно бажаєте очистити вміст",ClickForMoreButtons:"Натисніть для додаткових кнопок"},tooltip:{gotoIFI:"Перейти до Інституту Інтелекту Майбутнього",visitAladdinHomePage:"Відвідати домашню сторінку Aladdin",clickToOpenMenu:"Натисність, щоб відкрити Головне Меню",clickToAccessAccountSettings:"Click to access account settings"},tree:{Apple:"Яблуня",Birch:"Береза",Coconut:"Кокос",Dogwood:"Дерен",Elm:"В'яз",FanPalm:"Віяльна пальма",Linden:"Липа",Magnolia:"Магнолія",Maple:"Клен",Oak:"Дуб",Pine:"Сосна",Spruce:"Ялина"},flower:{Bellflower:"Дзвоник",Boxwood:"Самшит",CactusCombo1:"Кактус Комбо 1",CactusCombo2:"Кактус Комбо 2",CactusCombo3:"Кактус Комбо 3",CactusCombo4:"Кактус Комбо 4",Hibiscus:"Гібіскус",Hosta:"Госта",Hydrangea:"Гортензія",Peony:"Півонія",RedRose:"Червона троянда",Spirea:"Спірея",Sunflower:"Соняшник",TallBush:"Високий кущ",Tulip:"Тюльпан",WhiteFlower:"Біла квітка",YellowFlower:"Жовта квітка"},people:{Jaah:"Артем",Jack:"Віталій",Jacob:"Ярослав",Jacqueline:"Олена",Jade:"Ольга",Jamelia:"Олександра",James:"Андрій",Jane:"Вікторія",Jaya:"Ірина",Jaye:"Назар",Jeanette:"Соломія",Jedi:"Євген",Jeff:"Павло",Jena:"Любов",Jennifer:"Тетяна",Jess:"Злата",Jett:"Сергій",Jill:"Надія",Jiya:"Марина",Joan:"Іванна",Jocelyn:"Анастасія",Joel:"Володимир",Joey:"Вероніка",John:"Іван",Jonathon:"Петро",Jose:"Микита",Joseph:"Віктор",Joshua:"Михайло",Judd:"Владислав",Judy:"Марія",Julia:"Юлія",Julio:"Дмитро",Jumapili:"Марта",June:"Анна",Juro:"Юрій",Justin:"Богдан"},compass:{N:"Пн",S:"Пд",W:"Зx",E:"Сх"},month:{January:"Jan",February:"Feb",March:"Mar",April:"Apr",May:"May",June:"Jun",July:"Jul",August:"Aug",September:"Sep",October:"Oct",November:"Nov",December:"Dec"},modelsMap:{SearchByPublisher:"Пошук за виробником",SearchByLabel:"Пошук за міткою",MyPublishedModels:"Мої опубліковані моделі",TotalNumberOfUserPublishedModels:"Загальна кількість моделей, опублікованих користувачами",SortFromOldestToNewest:"Сортувати від найдавніших до найновіших",SortFromNewestToOldest:"Сортувати від найновіших до найдавніших",ModelsFoundOnThisSite:"моделей знайдено на цьому сайті",ShowModelsPublishedByThisAuthor:"Показати моделі, опубліковані цим автором"}}};j.use(dLe).use(vft).init({debug:!0,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:Yft,zh_cn:Oft,zh_tw:_ft,es:Vft,tr:Gft,ua:Xft}});var Wpe={},fLe={exports:{}};(function(t){function e(n){return n&&n.__esModule?n:{default:n}}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports})(fLe);var Cd=fLe.exports,CK={};Object.defineProperty(CK,"__esModule",{value:!0});CK.default=void 0;var Jft={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};CK.default=Jft;var RK={},FL={},HK={};Object.defineProperty(HK,"__esModule",{value:!0});HK.default=void 0;var Kft={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};HK.default=Kft;var LL={};Object.defineProperty(LL,"__esModule",{value:!0});LL.default=void 0;const qft={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};LL.default=qft;var hLe=Cd.default;Object.defineProperty(FL,"__esModule",{value:!0});FL.default=void 0;var $ft=hLe(HK),Qft=hLe(LL);const Zft={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},$ft.default),timePickerLocale:Object.assign({},Qft.default)};FL.default=Zft;var eht=Cd.default;Object.defineProperty(RK,"__esModule",{value:!0});RK.default=void 0;var tht=eht(FL);RK.default=tht.default;var MK=Cd.default;Object.defineProperty(Wpe,"__esModule",{value:!0});var Npe=Wpe.default=void 0,nht=MK(CK),oht=MK(RK),iht=MK(FL),rht=MK(LL);const M1="${label} is not a valid ${type}",aht={locale:"en",Pagination:nht.default,DatePicker:iht.default,TimePicker:rht.default,Calendar:oht.default,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:M1,method:M1,array:M1,object:M1,number:M1,date:M1,boolean:M1,integer:M1,float:M1,regexp:M1,email:M1,url:M1,hex:M1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};Npe=Wpe.default=aht;const lht="/aladdin/assets/weather-4azAMZ4u.csv",sht="/aladdin/assets/solar_radiation_horizontal-XbDP6xhD.csv",cht="/aladdin/assets/solar_radiation_vertical-CITm3vMC.csv",uht="/aladdin/assets/pvmodules-BhZ8sEOG.csv";function Rm(t){for(var e=arguments.length,n=Array(e>1?e-1:0),o=1;o3?e.i-4:e.i:Array.isArray(t)?1:Upe(t)?2:Bpe(t)?3:0}function sse(t,e){return uH(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function dht(t,e){return uH(t)===2?t.get(e):t[e]}function pLe(t,e,n){var o=uH(t);o===2?t.set(e,n):o===3?t.add(n):t[e]=n}function fht(t,e){return t===e?t!==0||1/t==1/e:t!=t&&e!=e}function Upe(t){return Aht&&t instanceof Map}function Bpe(t){return wht&&t instanceof Set}function fd(t){return t.o||t.t}function jpe(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=xht(t);delete e[ql];for(var n=Vpe(e),o=0;o1&&(t.set=t.add=t.clear=t.delete=hht),Object.freeze(t),e&&OC(t,function(n,o){return Ype(o,!0)},!0)),t}function hht(){Rm(2)}function Ope(t){return t==null||typeof t!="object"||Object.isFrozen(t)}function p9(t){var e=use[t];return e||Rm(18,t),e}function pht(t,e){use[t]||(use[t]=e)}function kV(){return ck}function Kne(t,e){e&&(p9("Patches"),t.u=[],t.s=[],t.v=e)}function FV(t){cse(t),t.p.forEach(ght),t.p=null}function cse(t){t===ck&&(ck=t.l)}function IAe(t){return ck={p:[],l:ck,h:t,m:!0,_:0}}function ght(t){var e=t[ql];e.i===0||e.i===1?e.j():e.g=!0}function qne(t,e){e._=e.p.length;var n=e.p[0],o=t!==void 0&&t!==n;return e.h.O||p9("ES5").S(e,t,o),o?(n[ql].P&&(FV(e),Rm(4)),B6(t)&&(t=LV(e,t),e.l||WV(e,t)),e.u&&p9("Patches").M(n[ql].t,t,e.u,e.s)):t=LV(e,n,[]),FV(e),e.u&&e.v(e.u,e.s),t!==gLe?t:void 0}function LV(t,e,n){if(Ope(e))return e;var o=e[ql];if(!o)return OC(e,function(l,s){return zAe(t,o,e,l,s,n)},!0),e;if(o.A!==t)return e;if(!o.P)return WV(t,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var i=o.i===4||o.i===5?o.o=jpe(o.k):o.o,r=i,a=!1;o.i===3&&(r=new Set(i),i.clear(),a=!0),OC(r,function(l,s){return zAe(t,o,i,l,s,n,a)}),WV(t,i,!1),n&&t.u&&p9("Patches").N(o,n,t.u,t.s)}return o.o}function zAe(t,e,n,o,i,r,a){if(YC(i)){var l=LV(t,i,r&&e&&e.i!==3&&!sse(e.R,o)?r.concat(o):void 0);if(pLe(n,o,l),!YC(l))return;t.m=!1}else a&&n.add(i);if(B6(i)&&!Ope(i)){if(!t.h.D&&t._<1)return;LV(t,i),e&&e.A.l||WV(t,i)}}function WV(t,e,n){n===void 0&&(n=!1),!t.l&&t.h.D&&t.m&&Ype(e,n)}function $ne(t,e){var n=t[ql];return(n?fd(n):t)[e]}function DAe(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var o=Object.getOwnPropertyDescriptor(n,e);if(o)return o;n=Object.getPrototypeOf(n)}}function s6(t){t.P||(t.P=!0,t.l&&s6(t.l))}function Qne(t){t.o||(t.o=jpe(t.t))}function sk(t,e,n){var o=Upe(e)?p9("MapSet").F(e,n):Bpe(e)?p9("MapSet").T(e,n):t.O?function(i,r){var a=Array.isArray(i),l={i:a?1:0,A:r?r.A:kV(),P:!1,I:!1,R:{},l:r,t:i,k:null,o:null,j:null,C:!1},s=l,c=dse;a&&(s=[l],c=uD);var u=Proxy.revocable(s,c),d=u.revoke,f=u.proxy;return l.k=f,l.j=d,f}(e,n):p9("ES5").J(e,n);return(n?n.A:kV()).p.push(o),o}function mht(t){return YC(t)||Rm(22,t),function e(n){if(!B6(n))return n;var o,i=n[ql],r=uH(n);if(i){if(!i.P&&(i.i<4||!p9("ES5").K(i)))return i.t;i.I=!0,o=EAe(n,r),i.I=!1}else o=EAe(n,r);return OC(o,function(a,l){i&&dht(i.t,a)===l||pLe(o,a,e(l))}),r===3?new Set(o):o}(t)}function EAe(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return jpe(t)}function yht(){function t(l,s){function c(){this.constructor=l}i(l,s),l.prototype=(c.prototype=s.prototype,new c)}function e(l){l.o||(l.R=new Map,l.o=new Map(l.t))}function n(l){l.o||(l.o=new Set,l.t.forEach(function(s){if(B6(s)){var c=sk(l.A.h,s,l);l.p.set(s,c),l.o.add(c)}else l.o.add(s)}))}function o(l){l.g&&Rm(3,JSON.stringify(fd(l)))}var i=function(l,s){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var d in u)u.hasOwnProperty(d)&&(c[d]=u[d])})(l,s)},r=function(){function l(c,u){return this[ql]={i:2,l:u,A:u?u.A:kV(),P:!1,I:!1,o:void 0,R:void 0,t:c,k:this,C:!1,g:!1},this}t(l,Map);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){return fd(this[ql]).has(c)},s.set=function(c,u){var d=this[ql];return o(d),fd(d).has(c)&&fd(d).get(c)===u||(e(d),s6(d),d.R.set(c,!0),d.o.set(c,u),d.R.set(c,!0)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),e(u),s6(u),u.t.has(c)?u.R.set(c,!1):u.R.delete(c),u.o.delete(c),!0},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(e(c),s6(c),c.R=new Map,OC(c.t,function(u){c.R.set(u,!1)}),c.o.clear())},s.forEach=function(c,u){var d=this;fd(this[ql]).forEach(function(f,p){c.call(u,d.get(p),p,d)})},s.get=function(c){var u=this[ql];o(u);var d=fd(u).get(c);if(u.I||!B6(d)||d!==u.t.get(c))return d;var f=sk(u.A.h,d,u);return e(u),u.o.set(c,f),f},s.keys=function(){return fd(this[ql]).keys()},s.values=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.values()},c.next=function(){var f=d.next();return f.done?f:{done:!1,value:u.get(f.value)}},c},s.entries=function(){var c,u=this,d=this.keys();return(c={})[qB]=function(){return u.entries()},c.next=function(){var f=d.next();if(f.done)return f;var p=u.get(f.value);return{done:!1,value:[f.value,p]}},c},s[qB]=function(){return this.entries()},l}(),a=function(){function l(c,u){return this[ql]={i:3,l:u,A:u?u.A:kV(),P:!1,I:!1,o:void 0,t:c,k:this,p:new Map,g:!1,C:!1},this}t(l,Set);var s=l.prototype;return Object.defineProperty(s,"size",{get:function(){return fd(this[ql]).size}}),s.has=function(c){var u=this[ql];return o(u),u.o?!!u.o.has(c)||!(!u.p.has(c)||!u.o.has(u.p.get(c))):u.t.has(c)},s.add=function(c){var u=this[ql];return o(u),this.has(c)||(n(u),s6(u),u.o.add(c)),this},s.delete=function(c){if(!this.has(c))return!1;var u=this[ql];return o(u),n(u),s6(u),u.o.delete(c)||!!u.p.has(c)&&u.o.delete(u.p.get(c))},s.clear=function(){var c=this[ql];o(c),fd(c).size&&(n(c),s6(c),c.o.clear())},s.values=function(){var c=this[ql];return o(c),n(c),c.o.values()},s.entries=function(){var c=this[ql];return o(c),n(c),c.o.entries()},s.keys=function(){return this.values()},s[qB]=function(){return this.values()},s.forEach=function(c,u){for(var d=this.values(),f=d.next();!f.done;)c.call(u,f.value,f.value,this),f=d.next()},l}();pht("MapSet",{F:function(l,s){return new r(l,s)},T:function(l,s){return new a(l,s)}})}var kAe,ck,_pe=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Aht=typeof Map<"u",wht=typeof Set<"u",FAe=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",gLe=_pe?Symbol.for("immer-nothing"):((kAe={})["immer-nothing"]=!0,kAe),_m=_pe?Symbol.for("immer-draftable"):"__$immer_draftable",ql=_pe?Symbol.for("immer-state"):"__$immer_state",qB=typeof Symbol<"u"&&Symbol.iterator||"@@iterator",vht=""+Object.prototype.constructor,Vpe=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,xht=Object.getOwnPropertyDescriptors||function(t){var e={};return Vpe(t).forEach(function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)}),e},use={},dse={get:function(t,e){if(e===ql)return t;var n=fd(t);if(!sse(n,e))return function(i,r,a){var l,s=DAe(r,a);return s?"value"in s?s.value:(l=s.get)===null||l===void 0?void 0:l.call(i.k):void 0}(t,n,e);var o=n[e];return t.I||!B6(o)?o:o===$ne(t.t,e)?(Qne(t),t.o[e]=sk(t.A.h,o,t)):o},has:function(t,e){return e in fd(t)},ownKeys:function(t){return Reflect.ownKeys(fd(t))},set:function(t,e,n){var o=DAe(fd(t),e);if(o!=null&&o.set)return o.set.call(t.k,n),!0;if(!t.P){var i=$ne(fd(t),e),r=i==null?void 0:i[ql];if(r&&r.t===n)return t.o[e]=n,t.R[e]=!1,!0;if(fht(n,i)&&(n!==void 0||sse(t.t,e)))return!0;Qne(t),s6(t)}return t.o[e]===n&&(n!==void 0||e in t.o)||Number.isNaN(n)&&Number.isNaN(t.o[e])||(t.o[e]=n,t.R[e]=!0),!0},deleteProperty:function(t,e){return $ne(t.t,e)!==void 0||e in t.t?(t.R[e]=!1,Qne(t),s6(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=fd(t),o=Reflect.getOwnPropertyDescriptor(n,e);return o&&{writable:!0,configurable:t.i!==1||e!=="length",enumerable:o.enumerable,value:n[e]}},defineProperty:function(){Rm(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Rm(12)}},uD={};OC(dse,function(t,e){uD[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),uD.deleteProperty=function(t,e){return uD.set.call(this,t,e,void 0)},uD.set=function(t,e,n){return dse.set.call(this,t[0],e,n,t[0])};var bht=function(){function t(n){var o=this;this.O=FAe,this.D=!0,this.produce=function(i,r,a){if(typeof i=="function"&&typeof r!="function"){var l=r;r=i;var s=o;return function(A){var w=this;A===void 0&&(A=l);for(var b=arguments.length,C=Array(b>1?b-1:0),P=1;P1?u-1:0),f=1;f=0;i--){var r=o[i];if(r.path.length===0&&r.op==="replace"){n=r.value;break}}i>-1&&(o=o.slice(i+1));var a=p9("Patches").$;return YC(n)?a(n,o):this.produce(n,function(l){return a(l,o)})},t}(),Pg=new bht,LP=Pg.produce;Pg.produceWithPatches.bind(Pg);Pg.setAutoFreeze.bind(Pg);Pg.setUseProxies.bind(Pg);Pg.applyPatches.bind(Pg);Pg.createDraft.bind(Pg);Pg.finishDraft.bind(Pg);/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const WL="158",ov={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},iv={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},ALe=0,fse=1,wLe=2,Pht=3,vLe=0,IK=1,qD=2,t2=3,ia=0,p0=1,ji=2,Cht=2,P6=0,tx=1,_C=2,hse=3,pse=4,xLe=5,$4=100,bLe=101,SLe=102,gse=103,mse=104,TLe=200,PLe=201,CLe=202,RLe=203,NV=204,UV=205,HLe=206,MLe=207,ILe=208,zLe=209,DLe=210,ELe=211,kLe=212,FLe=213,LLe=214,WLe=0,NLe=1,ULe=2,uk=3,BLe=4,jLe=5,YLe=6,OLe=7,NL=0,_Le=1,VLe=2,g9=0,GLe=1,XLe=2,JLe=3,Gpe=4,KLe=5,yse="attached",qLe="detached",zK=300,j6=301,Gw=302,dk=303,fk=304,dH=306,Ss=1e3,ah=1001,hk=1002,F0=1003,BV=1004,Rht=1004,$D=1005,Hht=1005,js=1006,Xpe=1007,Mht=1007,Xw=1008,Iht=1008,m9=1009,$Le=1010,QLe=1011,DK=1012,Jpe=1013,p6=1014,p2=1015,Lx=1016,Kpe=1017,qpe=1018,Dw=1020,ZLe=1021,kp=1023,eWe=1024,tWe=1025,Ew=1026,Wx=1027,nWe=1028,$pe=1029,oWe=1030,Qpe=1031,Zpe=1033,d_=33776,f_=33777,h_=33778,p_=33779,Ase=35840,wse=35841,vse=35842,xse=35843,iWe=36196,bse=37492,Sse=37496,Tse=37808,Pse=37809,Cse=37810,Rse=37811,Hse=37812,Mse=37813,Ise=37814,zse=37815,Dse=37816,Ese=37817,kse=37818,Fse=37819,Lse=37820,Wse=37821,g_=36492,Nse=36494,Use=36495,rWe=36283,Bse=36284,jse=36285,Yse=36286,aWe=2200,lWe=2201,sWe=2202,pk=2300,gk=2301,m_=2302,Cv=2400,Rv=2401,mk=2402,EK=2500,e1e=2501,zht=0,Dht=1,Eht=2,t1e=3e3,kw=3001,cWe=3200,n1e=3201,b7=0,uWe=1,ag="",nu="srgb",R9="srgb-linear",kK="display-p3",UL="display-p3-linear",yk="linear",Ws="srgb",Ak="rec709",wk="p3",kht=0,rv=7680,Fht=7681,Lht=7682,Wht=7683,Nht=34055,Uht=34056,Bht=5386,jht=512,Yht=513,Oht=514,_ht=515,Vht=516,Ght=517,Xht=518,Ose=519,dWe=512,fWe=513,hWe=514,pWe=515,gWe=516,mWe=517,yWe=518,AWe=519,vk=35044,Jht=35048,Kht=35040,qht=35045,$ht=35049,Qht=35041,Zht=35046,ept=35050,tpt=35042,npt="100",_se="300 es",jV=1035,a9=2e3,xk=2001;class V9{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const o=this._listeners;o[e]===void 0&&(o[e]=[]),o[e].indexOf(n)===-1&&o[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const o=this._listeners;return o[e]!==void 0&&o[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const r=i.indexOf(n);r!==-1&&i.splice(r,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const o=this._listeners[e.type];if(o!==void 0){e.target=this;const i=o.slice(0);for(let r=0,a=i.length;r>8&255]+jf[t>>16&255]+jf[t>>24&255]+"-"+jf[e&255]+jf[e>>8&255]+"-"+jf[e>>16&15|64]+jf[e>>24&255]+"-"+jf[n&63|128]+jf[n>>8&255]+"-"+jf[n>>16&255]+jf[n>>24&255]+jf[o&255]+jf[o>>8&255]+jf[o>>16&255]+jf[o>>24&255]).toLowerCase()}function h0(t,e,n){return Math.max(e,Math.min(n,t))}function o1e(t,e){return(t%e+e)%e}function opt(t,e,n,o,i){return o+(t-e)*(i-o)/(n-e)}function ipt(t,e,n){return t!==e?(n-t)/(e-t):0}function QD(t,e,n){return(1-n)*t+n*e}function rpt(t,e,n,o){return QD(t,e,1-Math.exp(-n*o))}function apt(t,e=1){return e-Math.abs(o1e(t,e*2)-e)}function lpt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function spt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function cpt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function upt(t,e){return t+Math.random()*(e-t)}function dpt(t){return t*(.5-Math.random())}function fpt(t){t!==void 0&&(LAe=t);let e=LAe+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function hpt(t){return t*nx}function ppt(t){return t*VC}function Vse(t){return(t&t-1)===0&&t!==0}function wWe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function YV(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function gpt(t,e,n,o,i){const r=Math.cos,a=Math.sin,l=r(n/2),s=a(n/2),c=r((e+o)/2),u=a((e+o)/2),d=r((e-o)/2),f=a((e-o)/2),p=r((o-e)/2),g=a((o-e)/2);switch(i){case"XYX":t.set(l*u,s*d,s*f,l*c);break;case"YZY":t.set(s*f,l*u,s*d,l*c);break;case"ZXZ":t.set(s*d,s*f,l*u,l*c);break;case"XZX":t.set(l*u,s*g,s*p,l*c);break;case"YXY":t.set(s*p,l*u,s*g,l*c);break;case"ZYZ":t.set(s*g,s*p,l*u,l*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Fp(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function ma(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const vWe={DEG2RAD:nx,RAD2DEG:VC,generateUUID:wg,clamp:h0,euclideanModulo:o1e,mapLinear:opt,inverseLerp:ipt,lerp:QD,damp:rpt,pingpong:apt,smoothstep:lpt,smootherstep:spt,randInt:cpt,randFloat:upt,randFloatSpread:dpt,seededRandom:fpt,degToRad:hpt,radToDeg:ppt,isPowerOfTwo:Vse,ceilPowerOfTwo:wWe,floorPowerOfTwo:YV,setQuaternionFromProperEuler:gpt,normalize:ma,denormalize:Fp};class Gt{constructor(e=0,n=0){Gt.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,o=this.y,i=e.elements;return this.x=i[0]*n+i[3]*o+i[6],this.y=i[1]*n+i[4]*o+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y;return n*n+o*o}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const o=Math.cos(n),i=Math.sin(n),r=this.x-e.x,a=this.y-e.y;return this.x=r*o-a*i+e.x,this.y=r*i+a*o+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class fa{constructor(e,n,o,i,r,a,l,s,c){fa.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c)}set(e,n,o,i,r,a,l,s,c){const u=this.elements;return u[0]=e,u[1]=i,u[2]=l,u[3]=n,u[4]=r,u[5]=s,u[6]=o,u[7]=a,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],this}extractBasis(e,n,o){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),o.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[3],s=o[6],c=o[1],u=o[4],d=o[7],f=o[2],p=o[5],g=o[8],A=i[0],w=i[3],b=i[6],C=i[1],P=i[4],v=i[7],T=i[2],y=i[5],S=i[8];return r[0]=a*A+l*C+s*T,r[3]=a*w+l*P+s*y,r[6]=a*b+l*v+s*S,r[1]=c*A+u*C+d*T,r[4]=c*w+u*P+d*y,r[7]=c*b+u*v+d*S,r[2]=f*A+p*C+g*T,r[5]=f*w+p*P+g*y,r[8]=f*b+p*v+g*S,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8];return n*a*u-n*l*c-o*r*u+o*l*s+i*r*c-i*a*s}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=u*a-l*c,f=l*s-u*r,p=c*r-a*s,g=n*d+o*f+i*p;if(g===0)return this.set(0,0,0,0,0,0,0,0,0);const A=1/g;return e[0]=d*A,e[1]=(i*c-u*o)*A,e[2]=(l*o-i*a)*A,e[3]=f*A,e[4]=(u*n-i*s)*A,e[5]=(i*r-l*n)*A,e[6]=p*A,e[7]=(o*s-c*n)*A,e[8]=(a*n-o*r)*A,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,o,i,r,a,l){const s=Math.cos(r),c=Math.sin(r);return this.set(o*s,o*c,-o*(s*a+c*l)+a+e,-i*c,i*s,-i*(-c*a+s*l)+l+n,0,0,1),this}scale(e,n){return this.premultiply(Zne.makeScale(e,n)),this}rotate(e){return this.premultiply(Zne.makeRotation(-e)),this}translate(e,n){return this.premultiply(Zne.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,o,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<9;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<9;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Zne=new fa;function xWe(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const mpt={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function WP(t,e){return new mpt[t](e)}function bk(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function bWe(){const t=bk("canvas");return t.style.display="block",t}const WAe={};function ZD(t){t in WAe||(WAe[t]=!0,console.warn(t))}const NAe=new fa().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),UAe=new fa().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),$B={[R9]:{transfer:yk,primaries:Ak,toReference:t=>t,fromReference:t=>t},[nu]:{transfer:Ws,primaries:Ak,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[UL]:{transfer:yk,primaries:wk,toReference:t=>t.applyMatrix3(UAe),fromReference:t=>t.applyMatrix3(NAe)},[kK]:{transfer:Ws,primaries:wk,toReference:t=>t.convertSRGBToLinear().applyMatrix3(UAe),fromReference:t=>t.applyMatrix3(NAe).convertLinearToSRGB()}},ypt=new Set([R9,UL]),rs={enabled:!0,_workingColorSpace:R9,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!ypt.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const o=$B[e].toReference,i=$B[n].fromReference;return i(o(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return $B[t].primaries},getTransfer:function(t){return t===ag?yk:$B[t].transfer}};function fC(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function eoe(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let JS;class i1e{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{JS===void 0&&(JS=bk("canvas")),JS.width=e.width,JS.height=e.height;const o=JS.getContext("2d");e instanceof ImageData?o.putImageData(e,0,0):o.drawImage(e,0,0,e.width,e.height),n=JS}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=bk("canvas");n.width=e.width,n.height=e.height;const o=n.getContext("2d");o.drawImage(e,0,0,e.width,e.height);const i=o.getImageData(0,0,e.width,e.height),r=i.data;for(let a=0;a0&&(o.userData=this.userData),n||(e.textures[this.uuid]=o),o}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==zK)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ss:e.x=e.x-Math.floor(e.x);break;case ah:e.x=e.x<0?0:1;break;case hk:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Ss:e.y=e.y-Math.floor(e.y);break;case ah:e.y=e.y<0?0:1;break;case hk:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===nu?kw:t1e}set encoding(e){ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===kw?nu:ag}}_c.DEFAULT_IMAGE=null;_c.DEFAULT_MAPPING=zK;_c.DEFAULT_ANISOTROPY=1;class ll{constructor(e=0,n=0,o=0,i=1){ll.prototype.isVector4=!0,this.x=e,this.y=n,this.z=o,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,o,i){return this.x=e,this.y=n,this.z=o,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=this.w,a=e.elements;return this.x=a[0]*n+a[4]*o+a[8]*i+a[12]*r,this.y=a[1]*n+a[5]*o+a[9]*i+a[13]*r,this.z=a[2]*n+a[6]*o+a[10]*i+a[14]*r,this.w=a[3]*n+a[7]*o+a[11]*i+a[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,o,i,r;const s=e.elements,c=s[0],u=s[4],d=s[8],f=s[1],p=s[5],g=s[9],A=s[2],w=s[6],b=s[10];if(Math.abs(u-f)<.01&&Math.abs(d-A)<.01&&Math.abs(g-w)<.01){if(Math.abs(u+f)<.1&&Math.abs(d+A)<.1&&Math.abs(g+w)<.1&&Math.abs(c+p+b-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const P=(c+1)/2,v=(p+1)/2,T=(b+1)/2,y=(u+f)/4,S=(d+A)/4,x=(g+w)/4;return P>v&&P>T?P<.01?(o=0,i=.707106781,r=.707106781):(o=Math.sqrt(P),i=y/o,r=S/o):v>T?v<.01?(o=.707106781,i=0,r=.707106781):(i=Math.sqrt(v),o=y/i,r=x/i):T<.01?(o=.707106781,i=.707106781,r=0):(r=Math.sqrt(T),o=S/r,i=x/r),this.set(o,i,r,n),this}let C=Math.sqrt((w-g)*(w-g)+(d-A)*(d-A)+(f-u)*(f-u));return Math.abs(C)<.001&&(C=1),this.x=(w-g)/C,this.y=(d-A)/C,this.z=(f-u)/C,this.w=Math.acos((c+p+b-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this.w=e.w+(n.w-e.w)*o,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class SWe extends V9{constructor(e=1,n=1,o={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new ll(0,0,e,n),this.scissorTest=!1,this.viewport=new ll(0,0,e,n);const i={width:e,height:n,depth:1};o.encoding!==void 0&&(ZD("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),o.colorSpace=o.encoding===kw?nu:ag),o=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:js,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},o),this.texture=new _c(i,o.mapping,o.wrapS,o.wrapT,o.magFilter,o.minFilter,o.format,o.type,o.anisotropy,o.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=o.generateMipmaps,this.texture.internalFormat=o.internalFormat,this.depthBuffer=o.depthBuffer,this.stencilBuffer=o.stencilBuffer,this.depthTexture=o.depthTexture,this.samples=o.samples}setSize(e,n,o=1){(this.width!==e||this.height!==n||this.depth!==o)&&(this.width=e,this.height=n,this.depth=o,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=o,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new Hv(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Vm extends SWe{constructor(e=1,n=1,o={}){super(e,n,o),this.isWebGLRenderTarget=!0}}class FK extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class vpt extends Vm{constructor(e=1,n=1,o=1){super(e,n),this.isWebGLArrayRenderTarget=!0,this.depth=o,this.texture=new FK(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class r1e extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class xpt extends Vm{constructor(e=1,n=1,o=1){super(e,n),this.isWebGL3DRenderTarget=!0,this.depth=o,this.texture=new r1e(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class bpt extends Vm{constructor(e=1,n=1,o=1,i={}){super(e,n,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let a=0;a=0?1:-1,P=1-b*b;if(P>Number.EPSILON){const T=Math.sqrt(P),y=Math.atan2(T,b*C);w=Math.sin(w*y)/T,l=Math.sin(l*y)/T}const v=l*C;if(s=s*w+f*v,c=c*w+p*v,u=u*w+g*v,d=d*w+A*v,w===1-l){const T=1/Math.sqrt(s*s+c*c+u*u+d*d);s*=T,c*=T,u*=T,d*=T}}e[n]=s,e[n+1]=c,e[n+2]=u,e[n+3]=d}static multiplyQuaternionsFlat(e,n,o,i,r,a){const l=o[i],s=o[i+1],c=o[i+2],u=o[i+3],d=r[a],f=r[a+1],p=r[a+2],g=r[a+3];return e[n]=l*g+u*d+s*p-c*f,e[n+1]=s*g+u*f+c*d-l*p,e[n+2]=c*g+u*p+l*f-s*d,e[n+3]=u*g-l*d-s*f-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,o,i){return this._x=e,this._y=n,this._z=o,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n){const o=e._x,i=e._y,r=e._z,a=e._order,l=Math.cos,s=Math.sin,c=l(o/2),u=l(i/2),d=l(r/2),f=s(o/2),p=s(i/2),g=s(r/2);switch(a){case"XYZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"YXZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"ZXY":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"ZYX":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"YZX":this._x=f*u*d+c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d-f*p*g;break;case"XZY":this._x=f*u*d-c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d+f*p*g;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return n!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const o=n/2,i=Math.sin(o);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(o),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,o=n[0],i=n[4],r=n[8],a=n[1],l=n[5],s=n[9],c=n[2],u=n[6],d=n[10],f=o+l+d;if(f>0){const p=.5/Math.sqrt(f+1);this._w=.25/p,this._x=(u-s)*p,this._y=(r-c)*p,this._z=(a-i)*p}else if(o>l&&o>d){const p=2*Math.sqrt(1+o-l-d);this._w=(u-s)/p,this._x=.25*p,this._y=(i+a)/p,this._z=(r+c)/p}else if(l>d){const p=2*Math.sqrt(1+l-o-d);this._w=(r-c)/p,this._x=(i+a)/p,this._y=.25*p,this._z=(s+u)/p}else{const p=2*Math.sqrt(1+d-o-l);this._w=(a-i)/p,this._x=(r+c)/p,this._y=(s+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let o=e.dot(n)+1;return oMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=o):(this._x=0,this._y=-e.z,this._z=e.y,this._w=o)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=o),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(h0(this.dot(e),-1,1)))}rotateTowards(e,n){const o=this.angleTo(e);if(o===0)return this;const i=Math.min(1,n/o);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const o=e._x,i=e._y,r=e._z,a=e._w,l=n._x,s=n._y,c=n._z,u=n._w;return this._x=o*u+a*l+i*c-r*s,this._y=i*u+a*s+r*l-o*c,this._z=r*u+a*c+o*s-i*l,this._w=a*u-o*l-i*s-r*c,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const o=this._x,i=this._y,r=this._z,a=this._w;let l=a*e._w+o*e._x+i*e._y+r*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=o,this._y=i,this._z=r,this;const s=1-l*l;if(s<=Number.EPSILON){const p=1-n;return this._w=p*a+n*this._w,this._x=p*o+n*this._x,this._y=p*i+n*this._y,this._z=p*r+n*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(s),u=Math.atan2(c,l),d=Math.sin((1-n)*u)/c,f=Math.sin(n*u)/c;return this._w=a*d+this._w*f,this._x=o*d+this._x*f,this._y=i*d+this._y*f,this._z=r*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,n,o){return this.copy(e).slerp(n,o)}random(){const e=Math.random(),n=Math.sqrt(1-e),o=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(n*Math.cos(i),o*Math.sin(r),o*Math.cos(r),n*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class re{constructor(e=0,n=0,o=0){re.prototype.isVector3=!0,this.x=e,this.y=n,this.z=o}set(e,n,o){return o===void 0&&(o=this.z),this.x=e,this.y=n,this.z=o,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(BAe.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(BAe.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[3]*o+r[6]*i,this.y=r[1]*n+r[4]*o+r[7]*i,this.z=r[2]*n+r[5]*o+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=e.elements,a=1/(r[3]*n+r[7]*o+r[11]*i+r[15]);return this.x=(r[0]*n+r[4]*o+r[8]*i+r[12])*a,this.y=(r[1]*n+r[5]*o+r[9]*i+r[13])*a,this.z=(r[2]*n+r[6]*o+r[10]*i+r[14])*a,this}applyQuaternion(e){const n=this.x,o=this.y,i=this.z,r=e.x,a=e.y,l=e.z,s=e.w,c=2*(a*i-l*o),u=2*(l*n-r*i),d=2*(r*o-a*n);return this.x=n+s*c+a*d-l*u,this.y=o+s*u+l*c-r*d,this.z=i+s*d+r*u-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[4]*o+r[8]*i,this.y=r[1]*n+r[5]*o+r[9]*i,this.z=r[2]*n+r[6]*o+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const o=e.x,i=e.y,r=e.z,a=n.x,l=n.y,s=n.z;return this.x=i*s-r*l,this.y=r*a-o*s,this.z=o*l-i*a,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const o=e.dot(this)/n;return this.copy(e).multiplyScalar(o)}projectOnPlane(e){return noe.copy(this).projectOnVector(e),this.sub(noe)}reflect(e){return this.sub(noe.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y,i=this.z-e.z;return n*n+o*o+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,o){const i=Math.sin(n)*e;return this.x=i*Math.sin(o),this.y=Math.cos(n)*e,this.z=i*Math.cos(o),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,o){return this.x=e*Math.sin(n),this.y=o,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),o=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=o,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,o=Math.sqrt(1-e**2);return this.x=o*Math.cos(n),this.y=o*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const noe=new re,BAe=new Ts;class pf{constructor(e=new re(1/0,1/0,1/0),n=new re(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,o=e.length;nthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Uy),Uy.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,o;return e.normal.x>0?(n=e.normal.x*this.min.x,o=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,o=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,o+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,o+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,o+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,o+=e.normal.z*this.min.z),n<=-e.constant&&o>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(oz),ZB.subVectors(this.max,oz),KS.subVectors(e.a,oz),qS.subVectors(e.b,oz),$S.subVectors(e.c,oz),d4.subVectors(qS,KS),f4.subVectors($S,qS),I8.subVectors(KS,$S);let n=[0,-d4.z,d4.y,0,-f4.z,f4.y,0,-I8.z,I8.y,d4.z,0,-d4.x,f4.z,0,-f4.x,I8.z,0,-I8.x,-d4.y,d4.x,0,-f4.y,f4.x,0,-I8.y,I8.x,0];return!ooe(n,KS,qS,$S,ZB)||(n=[1,0,0,0,1,0,0,0,1],!ooe(n,KS,qS,$S,ZB))?!1:(ej.crossVectors(d4,f4),n=[ej.x,ej.y,ej.z],ooe(n,KS,qS,$S,ZB))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Uy).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Uy).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(O3[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),O3[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),O3[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),O3[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),O3[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),O3[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),O3[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),O3[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(O3),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const O3=[new re,new re,new re,new re,new re,new re,new re,new re],Uy=new re,QB=new pf,KS=new re,qS=new re,$S=new re,d4=new re,f4=new re,I8=new re,oz=new re,ZB=new re,ej=new re,z8=new re;function ooe(t,e,n,o,i){for(let r=0,a=t.length-3;r<=a;r+=3){z8.fromArray(t,r);const l=i.x*Math.abs(z8.x)+i.y*Math.abs(z8.y)+i.z*Math.abs(z8.z),s=e.dot(z8),c=n.dot(z8),u=o.dot(z8);if(Math.max(-Math.max(s,c,u),Math.min(s,c,u))>l)return!1}return!0}const Spt=new pf,iz=new re,ioe=new re;let n1=class{constructor(e=new re,n=-1){this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const o=this.center;n!==void 0?o.copy(n):Spt.setFromPoints(e).getCenter(o);let i=0;for(let r=0,a=e.length;rthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;iz.subVectors(e,this.center);const n=iz.lengthSq();if(n>this.radius*this.radius){const o=Math.sqrt(n),i=(o-this.radius)*.5;this.center.addScaledVector(iz,i/o),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ioe.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(iz.copy(e.center).add(ioe)),this.expandByPoint(iz.copy(e.center).sub(ioe))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};const _3=new re,roe=new re,tj=new re,h4=new re,aoe=new re,nj=new re,loe=new re;class fH{constructor(e=new re,n=new re(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,_3)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const o=n.dot(this.direction);return o<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,o)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=_3.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(_3.copy(this.origin).addScaledVector(this.direction,n),_3.distanceToSquared(e))}distanceSqToSegment(e,n,o,i){roe.copy(e).add(n).multiplyScalar(.5),tj.copy(n).sub(e).normalize(),h4.copy(this.origin).sub(roe);const r=e.distanceTo(n)*.5,a=-this.direction.dot(tj),l=h4.dot(this.direction),s=-h4.dot(tj),c=h4.lengthSq(),u=Math.abs(1-a*a);let d,f,p,g;if(u>0)if(d=a*s-l,f=a*l-s,g=r*u,d>=0)if(f>=-g)if(f<=g){const A=1/u;d*=A,f*=A,p=d*(d+a*f+2*l)+f*(a*d+f+2*s)+c}else f=r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f=-r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f<=-g?(d=Math.max(0,-(-a*r+l)),f=d>0?-r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c):f<=g?(d=0,f=Math.min(Math.max(-r,-s),r),p=f*(f+2*s)+c):(d=Math.max(0,-(a*r+l)),f=d>0?r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c);else f=a>0?-r:r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;return o&&o.copy(this.origin).addScaledVector(this.direction,d),i&&i.copy(roe).addScaledVector(tj,f),p}intersectSphere(e,n){_3.subVectors(e.center,this.origin);const o=_3.dot(this.direction),i=_3.dot(_3)-o*o,r=e.radius*e.radius;if(i>r)return null;const a=Math.sqrt(r-i),l=o-a,s=o+a;return s<0?null:l<0?this.at(s,n):this.at(l,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const o=-(this.origin.dot(e.normal)+e.constant)/n;return o>=0?o:null}intersectPlane(e,n){const o=this.distanceToPlane(e);return o===null?null:this.at(o,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let o,i,r,a,l,s;const c=1/this.direction.x,u=1/this.direction.y,d=1/this.direction.z,f=this.origin;return c>=0?(o=(e.min.x-f.x)*c,i=(e.max.x-f.x)*c):(o=(e.max.x-f.x)*c,i=(e.min.x-f.x)*c),u>=0?(r=(e.min.y-f.y)*u,a=(e.max.y-f.y)*u):(r=(e.max.y-f.y)*u,a=(e.min.y-f.y)*u),o>a||r>i||((r>o||isNaN(o))&&(o=r),(a=0?(l=(e.min.z-f.z)*d,s=(e.max.z-f.z)*d):(l=(e.max.z-f.z)*d,s=(e.min.z-f.z)*d),o>s||l>i)||((l>o||o!==o)&&(o=l),(s=0?o:i,n)}intersectsBox(e){return this.intersectBox(e,_3)!==null}intersectTriangle(e,n,o,i,r){aoe.subVectors(n,e),nj.subVectors(o,e),loe.crossVectors(aoe,nj);let a=this.direction.dot(loe),l;if(a>0){if(i)return null;l=1}else if(a<0)l=-1,a=-a;else return null;h4.subVectors(this.origin,e);const s=l*this.direction.dot(nj.crossVectors(h4,nj));if(s<0)return null;const c=l*this.direction.dot(aoe.cross(h4));if(c<0||s+c>a)return null;const u=-l*h4.dot(loe);return u<0?null:this.at(u/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Xr{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w){Xr.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w)}set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w){const b=this.elements;return b[0]=e,b[4]=n,b[8]=o,b[12]=i,b[1]=r,b[5]=a,b[9]=l,b[13]=s,b[2]=c,b[6]=u,b[10]=d,b[14]=f,b[3]=p,b[7]=g,b[11]=A,b[15]=w,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Xr().fromArray(this.elements)}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],n[9]=o[9],n[10]=o[10],n[11]=o[11],n[12]=o[12],n[13]=o[13],n[14]=o[14],n[15]=o[15],this}copyPosition(e){const n=this.elements,o=e.elements;return n[12]=o[12],n[13]=o[13],n[14]=o[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,o){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),o.setFromMatrixColumn(this,2),this}makeBasis(e,n,o){return this.set(e.x,n.x,o.x,0,e.y,n.y,o.y,0,e.z,n.z,o.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,o=e.elements,i=1/QS.setFromMatrixColumn(e,0).length(),r=1/QS.setFromMatrixColumn(e,1).length(),a=1/QS.setFromMatrixColumn(e,2).length();return n[0]=o[0]*i,n[1]=o[1]*i,n[2]=o[2]*i,n[3]=0,n[4]=o[4]*r,n[5]=o[5]*r,n[6]=o[6]*r,n[7]=0,n[8]=o[8]*a,n[9]=o[9]*a,n[10]=o[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,o=e.x,i=e.y,r=e.z,a=Math.cos(o),l=Math.sin(o),s=Math.cos(i),c=Math.sin(i),u=Math.cos(r),d=Math.sin(r);if(e.order==="XYZ"){const f=a*u,p=a*d,g=l*u,A=l*d;n[0]=s*u,n[4]=-s*d,n[8]=c,n[1]=p+g*c,n[5]=f-A*c,n[9]=-l*s,n[2]=A-f*c,n[6]=g+p*c,n[10]=a*s}else if(e.order==="YXZ"){const f=s*u,p=s*d,g=c*u,A=c*d;n[0]=f+A*l,n[4]=g*l-p,n[8]=a*c,n[1]=a*d,n[5]=a*u,n[9]=-l,n[2]=p*l-g,n[6]=A+f*l,n[10]=a*s}else if(e.order==="ZXY"){const f=s*u,p=s*d,g=c*u,A=c*d;n[0]=f-A*l,n[4]=-a*d,n[8]=g+p*l,n[1]=p+g*l,n[5]=a*u,n[9]=A-f*l,n[2]=-a*c,n[6]=l,n[10]=a*s}else if(e.order==="ZYX"){const f=a*u,p=a*d,g=l*u,A=l*d;n[0]=s*u,n[4]=g*c-p,n[8]=f*c+A,n[1]=s*d,n[5]=A*c+f,n[9]=p*c-g,n[2]=-c,n[6]=l*s,n[10]=a*s}else if(e.order==="YZX"){const f=a*s,p=a*c,g=l*s,A=l*c;n[0]=s*u,n[4]=A-f*d,n[8]=g*d+p,n[1]=d,n[5]=a*u,n[9]=-l*u,n[2]=-c*u,n[6]=p*d+g,n[10]=f-A*d}else if(e.order==="XZY"){const f=a*s,p=a*c,g=l*s,A=l*c;n[0]=s*u,n[4]=-d,n[8]=c*u,n[1]=f*d+A,n[5]=a*u,n[9]=p*d-g,n[2]=g*d-p,n[6]=l*u,n[10]=A*d+f}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Tpt,e,Ppt)}lookAt(e,n,o){const i=this.elements;return I1.subVectors(e,n),I1.lengthSq()===0&&(I1.z=1),I1.normalize(),p4.crossVectors(o,I1),p4.lengthSq()===0&&(Math.abs(o.z)===1?I1.x+=1e-4:I1.z+=1e-4,I1.normalize(),p4.crossVectors(o,I1)),p4.normalize(),oj.crossVectors(I1,p4),i[0]=p4.x,i[4]=oj.x,i[8]=I1.x,i[1]=p4.y,i[5]=oj.y,i[9]=I1.y,i[2]=p4.z,i[6]=oj.z,i[10]=I1.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[4],s=o[8],c=o[12],u=o[1],d=o[5],f=o[9],p=o[13],g=o[2],A=o[6],w=o[10],b=o[14],C=o[3],P=o[7],v=o[11],T=o[15],y=i[0],S=i[4],x=i[8],R=i[12],H=i[1],D=i[5],k=i[9],W=i[13],N=i[2],L=i[6],E=i[10],U=i[14],F=i[3],B=i[7],_=i[11],Y=i[15];return r[0]=a*y+l*H+s*N+c*F,r[4]=a*S+l*D+s*L+c*B,r[8]=a*x+l*k+s*E+c*_,r[12]=a*R+l*W+s*U+c*Y,r[1]=u*y+d*H+f*N+p*F,r[5]=u*S+d*D+f*L+p*B,r[9]=u*x+d*k+f*E+p*_,r[13]=u*R+d*W+f*U+p*Y,r[2]=g*y+A*H+w*N+b*F,r[6]=g*S+A*D+w*L+b*B,r[10]=g*x+A*k+w*E+b*_,r[14]=g*R+A*W+w*U+b*Y,r[3]=C*y+P*H+v*N+T*F,r[7]=C*S+P*D+v*L+T*B,r[11]=C*x+P*k+v*E+T*_,r[15]=C*R+P*W+v*U+T*Y,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[4],i=e[8],r=e[12],a=e[1],l=e[5],s=e[9],c=e[13],u=e[2],d=e[6],f=e[10],p=e[14],g=e[3],A=e[7],w=e[11],b=e[15];return g*(+r*s*d-i*c*d-r*l*f+o*c*f+i*l*p-o*s*p)+A*(+n*s*p-n*c*f+r*a*f-i*a*p+i*c*u-r*s*u)+w*(+n*c*d-n*l*p-r*a*d+o*a*p+r*l*u-o*c*u)+b*(-i*l*u-n*s*d+n*l*f+i*a*d-o*a*f+o*s*u)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,o){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=o),this}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=e[9],f=e[10],p=e[11],g=e[12],A=e[13],w=e[14],b=e[15],C=d*w*c-A*f*c+A*s*p-l*w*p-d*s*b+l*f*b,P=g*f*c-u*w*c-g*s*p+a*w*p+u*s*b-a*f*b,v=u*A*c-g*d*c+g*l*p-a*A*p-u*l*b+a*d*b,T=g*d*s-u*A*s-g*l*f+a*A*f+u*l*w-a*d*w,y=n*C+o*P+i*v+r*T;if(y===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/y;return e[0]=C*S,e[1]=(A*f*r-d*w*r-A*i*p+o*w*p+d*i*b-o*f*b)*S,e[2]=(l*w*r-A*s*r+A*i*c-o*w*c-l*i*b+o*s*b)*S,e[3]=(d*s*r-l*f*r-d*i*c+o*f*c+l*i*p-o*s*p)*S,e[4]=P*S,e[5]=(u*w*r-g*f*r+g*i*p-n*w*p-u*i*b+n*f*b)*S,e[6]=(g*s*r-a*w*r-g*i*c+n*w*c+a*i*b-n*s*b)*S,e[7]=(a*f*r-u*s*r+u*i*c-n*f*c-a*i*p+n*s*p)*S,e[8]=v*S,e[9]=(g*d*r-u*A*r-g*o*p+n*A*p+u*o*b-n*d*b)*S,e[10]=(a*A*r-g*l*r+g*o*c-n*A*c-a*o*b+n*l*b)*S,e[11]=(u*l*r-a*d*r-u*o*c+n*d*c+a*o*p-n*l*p)*S,e[12]=T*S,e[13]=(u*A*i-g*d*i+g*o*f-n*A*f-u*o*w+n*d*w)*S,e[14]=(g*l*i-a*A*i-g*o*s+n*A*s+a*o*w-n*l*w)*S,e[15]=(a*d*i-u*l*i+u*o*s-n*d*s-a*o*f+n*l*f)*S,this}scale(e){const n=this.elements,o=e.x,i=e.y,r=e.z;return n[0]*=o,n[4]*=i,n[8]*=r,n[1]*=o,n[5]*=i,n[9]*=r,n[2]*=o,n[6]*=i,n[10]*=r,n[3]*=o,n[7]*=i,n[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],o=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,o,i))}makeTranslation(e,n,o){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,o,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),o=Math.sin(e);return this.set(1,0,0,0,0,n,-o,0,0,o,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,0,o,0,0,1,0,0,-o,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,0,o,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const o=Math.cos(n),i=Math.sin(n),r=1-o,a=e.x,l=e.y,s=e.z,c=r*a,u=r*l;return this.set(c*a+o,c*l-i*s,c*s+i*l,0,c*l+i*s,u*l+o,u*s-i*a,0,c*s-i*l,u*s+i*a,r*s*s+o,0,0,0,0,1),this}makeScale(e,n,o){return this.set(e,0,0,0,0,n,0,0,0,0,o,0,0,0,0,1),this}makeShear(e,n,o,i,r,a){return this.set(1,o,r,0,e,1,a,0,n,i,1,0,0,0,0,1),this}compose(e,n,o){const i=this.elements,r=n._x,a=n._y,l=n._z,s=n._w,c=r+r,u=a+a,d=l+l,f=r*c,p=r*u,g=r*d,A=a*u,w=a*d,b=l*d,C=s*c,P=s*u,v=s*d,T=o.x,y=o.y,S=o.z;return i[0]=(1-(A+b))*T,i[1]=(p+v)*T,i[2]=(g-P)*T,i[3]=0,i[4]=(p-v)*y,i[5]=(1-(f+b))*y,i[6]=(w+C)*y,i[7]=0,i[8]=(g+P)*S,i[9]=(w-C)*S,i[10]=(1-(f+A))*S,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,o){const i=this.elements;let r=QS.set(i[0],i[1],i[2]).length();const a=QS.set(i[4],i[5],i[6]).length(),l=QS.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],By.copy(this);const c=1/r,u=1/a,d=1/l;return By.elements[0]*=c,By.elements[1]*=c,By.elements[2]*=c,By.elements[4]*=u,By.elements[5]*=u,By.elements[6]*=u,By.elements[8]*=d,By.elements[9]*=d,By.elements[10]*=d,n.setFromRotationMatrix(By),o.x=r,o.y=a,o.z=l,this}makePerspective(e,n,o,i,r,a,l=a9){const s=this.elements,c=2*r/(n-e),u=2*r/(o-i),d=(n+e)/(n-e),f=(o+i)/(o-i);let p,g;if(l===a9)p=-(a+r)/(a-r),g=-2*a*r/(a-r);else if(l===xk)p=-a/(a-r),g=-a*r/(a-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+l);return s[0]=c,s[4]=0,s[8]=d,s[12]=0,s[1]=0,s[5]=u,s[9]=f,s[13]=0,s[2]=0,s[6]=0,s[10]=p,s[14]=g,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,n,o,i,r,a,l=a9){const s=this.elements,c=1/(n-e),u=1/(o-i),d=1/(a-r),f=(n+e)*c,p=(o+i)*u;let g,A;if(l===a9)g=(a+r)*d,A=-2*d;else if(l===xk)g=r*d,A=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+l);return s[0]=2*c,s[4]=0,s[8]=0,s[12]=-f,s[1]=0,s[5]=2*u,s[9]=0,s[13]=-p,s[2]=0,s[6]=0,s[10]=A,s[14]=-g,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<16;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<16;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e[n+9]=o[9],e[n+10]=o[10],e[n+11]=o[11],e[n+12]=o[12],e[n+13]=o[13],e[n+14]=o[14],e[n+15]=o[15],e}}const QS=new re,By=new Xr,Tpt=new re(0,0,0),Ppt=new re(1,1,1),p4=new re,oj=new re,I1=new re,jAe=new Xr,YAe=new Ts;class Qt{constructor(e=0,n=0,o=0,i=Qt.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=o,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,o,i=this._order){return this._x=e,this._y=n,this._z=o,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,o=!0){const i=e.elements,r=i[0],a=i[4],l=i[8],s=i[1],c=i[5],u=i[9],d=i[2],f=i[6],p=i[10];switch(n){case"XYZ":this._y=Math.asin(h0(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-h0(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(l,p),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-d,r),this._z=0);break;case"ZXY":this._x=Math.asin(h0(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,r));break;case"ZYX":this._y=Math.asin(-h0(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,p),this._z=Math.atan2(s,r)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(h0(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-d,r)):(this._x=0,this._y=Math.atan2(l,p));break;case"XZY":this._z=Math.asin(-h0(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(l,r)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,o===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,o){return jAe.makeRotationFromQuaternion(e),this.setFromRotationMatrix(jAe,n,o)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return YAe.setFromEuler(this),this.setFromQuaternion(YAe,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Qt.DEFAULT_ORDER="XYZ";class ox{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let o=0;o0&&(o=o.concat(a))}return o}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,e,Rpt),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,Hpt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const n=this.matrixWorld.elements;return e.set(n[8],n[9],n[10]).normalize()}raycast(){}traverse(e){e(this);const n=this.children;for(let o=0,i=n.length;o0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON()));function r(l,s){return l[s.uuid]===void 0&&(l[s.uuid]=s.toJSON(e)),s.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);const l=this.geometry.parameters;if(l!==void 0&&l.shapes!==void 0){const s=l.shapes;if(Array.isArray(s))for(let c=0,u=s.length;c0){i.children=[];for(let l=0;l0){i.animations=[];for(let l=0;l0&&(o.geometries=l),s.length>0&&(o.materials=s),c.length>0&&(o.textures=c),u.length>0&&(o.images=u),d.length>0&&(o.shapes=d),f.length>0&&(o.skeletons=f),p.length>0&&(o.animations=p),g.length>0&&(o.nodes=g)}return o.object=i,o;function a(l){const s=[];for(const c in l){const u=l[c];delete u.metadata,s.push(u)}return s}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let o=0;o0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,n,o,i,r){jy.subVectors(i,n),G3.subVectors(o,n),soe.subVectors(e,n);const a=jy.dot(jy),l=jy.dot(G3),s=jy.dot(soe),c=G3.dot(G3),u=G3.dot(soe),d=a*c-l*l;if(d===0)return r.set(-2,-1,-1);const f=1/d,p=(c*s-l*u)*f,g=(a*u-l*s)*f;return r.set(1-p-g,g,p)}static containsPoint(e,n,o,i){return this.getBarycoord(e,n,o,i,X3),X3.x>=0&&X3.y>=0&&X3.x+X3.y<=1}static getUV(e,n,o,i,r,a,l,s){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),this.getInterpolation(e,n,o,i,r,a,l,s)}static getInterpolation(e,n,o,i,r,a,l,s){return this.getBarycoord(e,n,o,i,X3),s.setScalar(0),s.addScaledVector(r,X3.x),s.addScaledVector(a,X3.y),s.addScaledVector(l,X3.z),s}static isFrontFacing(e,n,o,i){return jy.subVectors(o,n),G3.subVectors(e,n),jy.cross(G3).dot(i)<0}set(e,n,o){return this.a.copy(e),this.b.copy(n),this.c.copy(o),this}setFromPointsAndIndices(e,n,o,i){return this.a.copy(e[n]),this.b.copy(e[o]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,o,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,o),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return jy.subVectors(this.c,this.b),G3.subVectors(this.a,this.b),jy.cross(G3).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return th.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return th.getBarycoord(e,this.a,this.b,this.c,n)}getUV(e,n,o,i,r){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}getInterpolation(e,n,o,i,r){return th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}containsPoint(e){return th.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return th.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const o=this.a,i=this.b,r=this.c;let a,l;eT.subVectors(i,o),tT.subVectors(r,o),coe.subVectors(e,o);const s=eT.dot(coe),c=tT.dot(coe);if(s<=0&&c<=0)return n.copy(o);uoe.subVectors(e,i);const u=eT.dot(uoe),d=tT.dot(uoe);if(u>=0&&d<=u)return n.copy(i);const f=s*d-u*c;if(f<=0&&s>=0&&u<=0)return a=s/(s-u),n.copy(o).addScaledVector(eT,a);doe.subVectors(e,r);const p=eT.dot(doe),g=tT.dot(doe);if(g>=0&&p<=g)return n.copy(r);const A=p*c-s*g;if(A<=0&&c>=0&&g<=0)return l=c/(c-g),n.copy(o).addScaledVector(tT,l);const w=u*g-p*d;if(w<=0&&d-u>=0&&p-g>=0)return XAe.subVectors(r,i),l=(d-u)/(d-u+(p-g)),n.copy(i).addScaledVector(XAe,l);const b=1/(w+A+f);return a=A*b,l=f*b,n.copy(o).addScaledVector(eT,a).addScaledVector(tT,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const TWe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},g4={h:0,s:0,l:0},aj={h:0,s:0,l:0};function foe(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}let Xo=class{constructor(e,n,o){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,o)}set(e,n,o){if(n===void 0&&o===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,o);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=nu){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,rs.toWorkingColorSpace(this,n),this}setRGB(e,n,o,i=rs.workingColorSpace){return this.r=e,this.g=n,this.b=o,rs.toWorkingColorSpace(this,i),this}setHSL(e,n,o,i=rs.workingColorSpace){if(e=o1e(e,1),n=h0(n,0,1),o=h0(o,0,1),n===0)this.r=this.g=this.b=o;else{const r=o<=.5?o*(1+n):o+n-o*n,a=2*o-r;this.r=foe(a,r,e+1/3),this.g=foe(a,r,e),this.b=foe(a,r,e-1/3)}return rs.toWorkingColorSpace(this,i),this}setStyle(e,n=nu){function o(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const a=i[1],l=i[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,n);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],a=r.length;if(a===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,n);if(a===6)return this.setHex(parseInt(r,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=nu){const o=TWe[e.toLowerCase()];return o!==void 0?this.setHex(o,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=fC(e.r),this.g=fC(e.g),this.b=fC(e.b),this}copyLinearToSRGB(e){return this.r=eoe(e.r),this.g=eoe(e.g),this.b=eoe(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=nu){return rs.fromWorkingColorSpace(Yf.copy(this),e),Math.round(h0(Yf.r*255,0,255))*65536+Math.round(h0(Yf.g*255,0,255))*256+Math.round(h0(Yf.b*255,0,255))}getHexString(e=nu){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=rs.workingColorSpace){rs.fromWorkingColorSpace(Yf.copy(this),n);const o=Yf.r,i=Yf.g,r=Yf.b,a=Math.max(o,i,r),l=Math.min(o,i,r);let s,c;const u=(l+a)/2;if(l===a)s=0,c=0;else{const d=a-l;switch(c=u<=.5?d/(a+l):d/(2-a-l),a){case o:s=(i-r)/d+(i0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const o=e[n];if(o===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(o):i&&i.isVector3&&o&&o.isVector3?i.copy(o):this[n]=o}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const o={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};o.uuid=this.uuid,o.type=this.type,this.name!==""&&(o.name=this.name),this.color&&this.color.isColor&&(o.color=this.color.getHex()),this.roughness!==void 0&&(o.roughness=this.roughness),this.metalness!==void 0&&(o.metalness=this.metalness),this.sheen!==void 0&&(o.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(o.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(o.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(o.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(o.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(o.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(o.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(o.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(o.shininess=this.shininess),this.clearcoat!==void 0&&(o.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(o.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(o.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(o.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(o.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,o.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(o.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(o.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(o.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(o.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(o.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(o.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(o.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(o.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(o.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(o.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(o.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(o.lightMap=this.lightMap.toJSON(e).uuid,o.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(o.aoMap=this.aoMap.toJSON(e).uuid,o.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(o.bumpMap=this.bumpMap.toJSON(e).uuid,o.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(o.normalMap=this.normalMap.toJSON(e).uuid,o.normalMapType=this.normalMapType,o.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(o.displacementMap=this.displacementMap.toJSON(e).uuid,o.displacementScale=this.displacementScale,o.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(o.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(o.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(o.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(o.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(o.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(o.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(o.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(o.combine=this.combine)),this.envMapIntensity!==void 0&&(o.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(o.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(o.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(o.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(o.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(o.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(o.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(o.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(o.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(o.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(o.size=this.size),this.shadowSide!==null&&(o.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(o.sizeAttenuation=this.sizeAttenuation),this.blending!==tx&&(o.blending=this.blending),this.side!==ia&&(o.side=this.side),this.vertexColors===!0&&(o.vertexColors=!0),this.opacity<1&&(o.opacity=this.opacity),this.transparent===!0&&(o.transparent=!0),this.blendSrc!==NV&&(o.blendSrc=this.blendSrc),this.blendDst!==UV&&(o.blendDst=this.blendDst),this.blendEquation!==$4&&(o.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(o.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(o.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(o.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(o.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(o.blendAlpha=this.blendAlpha),this.depthFunc!==uk&&(o.depthFunc=this.depthFunc),this.depthTest===!1&&(o.depthTest=this.depthTest),this.depthWrite===!1&&(o.depthWrite=this.depthWrite),this.colorWrite===!1&&(o.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(o.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Ose&&(o.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(o.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(o.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==rv&&(o.stencilFail=this.stencilFail),this.stencilZFail!==rv&&(o.stencilZFail=this.stencilZFail),this.stencilZPass!==rv&&(o.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(o.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(o.rotation=this.rotation),this.polygonOffset===!0&&(o.polygonOffset=!0),this.polygonOffsetFactor!==0&&(o.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(o.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(o.linewidth=this.linewidth),this.dashSize!==void 0&&(o.dashSize=this.dashSize),this.gapSize!==void 0&&(o.gapSize=this.gapSize),this.scale!==void 0&&(o.scale=this.scale),this.dithering===!0&&(o.dithering=!0),this.alphaTest>0&&(o.alphaTest=this.alphaTest),this.alphaHash===!0&&(o.alphaHash=!0),this.alphaToCoverage===!0&&(o.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(o.premultipliedAlpha=!0),this.forceSinglePass===!0&&(o.forceSinglePass=!0),this.wireframe===!0&&(o.wireframe=!0),this.wireframeLinewidth>1&&(o.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(o.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(o.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(o.flatShading=!0),this.visible===!1&&(o.visible=!1),this.toneMapped===!1&&(o.toneMapped=!1),this.fog===!1&&(o.fog=!1),Object.keys(this.userData).length>0&&(o.userData=this.userData);function i(r){const a=[];for(const l in r){const s=r[l];delete s.metadata,a.push(s)}return a}if(n){const r=i(e.textures),a=i(e.images);r.length>0&&(o.textures=r),a.length>0&&(o.images=a)}return o}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let o=null;if(n!==null){const i=n.length;o=new Array(i);for(let r=0;r!==i;++r)o[r]=n[r].clone()}return this.clippingPlanes=o,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};class G9 extends yf{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const d6=Dpt();function Dpt(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),o=new Uint32Array(512),i=new Uint32Array(512);for(let s=0;s<256;++s){const c=s-127;c<-27?(o[s]=0,o[s|256]=32768,i[s]=24,i[s|256]=24):c<-14?(o[s]=1024>>-c-14,o[s|256]=1024>>-c-14|32768,i[s]=-c-1,i[s|256]=-c-1):c<=15?(o[s]=c+15<<10,o[s|256]=c+15<<10|32768,i[s]=13,i[s|256]=13):c<128?(o[s]=31744,o[s|256]=64512,i[s]=24,i[s|256]=24):(o[s]=31744,o[s|256]=64512,i[s]=13,i[s|256]=13)}const r=new Uint32Array(2048),a=new Uint32Array(64),l=new Uint32Array(64);for(let s=1;s<1024;++s){let c=s<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,r[s]=c|u}for(let s=1024;s<2048;++s)r[s]=939524096+(s-1024<<13);for(let s=1;s<31;++s)a[s]=s<<23;a[31]=1199570944,a[32]=2147483648;for(let s=33;s<63;++s)a[s]=2147483648+(s-32<<23);a[63]=3347054592;for(let s=1;s<64;++s)s!==32&&(l[s]=1024);return{floatView:e,uint32View:n,baseTable:o,shiftTable:i,mantissaTable:r,exponentTable:a,offsetTable:l}}function Hp(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=h0(t,-65504,65504),d6.floatView[0]=t;const e=d6.uint32View[0],n=e>>23&511;return d6.baseTable[n]+((e&8388607)>>d6.shiftTable[n])}function dD(t){const e=t>>10;return d6.uint32View[0]=d6.mantissaTable[d6.offsetTable[e]+(t&1023)]+d6.exponentTable[e],d6.floatView[0]}const Ept={toHalfFloat:Hp,fromHalfFloat:dD},Q0=new re,lj=new Gt;class qa{constructor(e,n,o=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=o,this.usage=vk,this.updateRange={offset:0,count:-1},this.gpuType=p2,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,o){e*=this.itemSize,o*=n.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const s=this.parameters;for(const c in s)s[c]!==void 0&&(e[c]=s[c]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const o=this.attributes;for(const s in o){const c=o[s];e.data.attributes[s]=c.toJSON(e.data)}const i={};let r=!1;for(const s in this.morphAttributes){const c=this.morphAttributes[s],u=[];for(let d=0,f=c.length;d0&&(i[s]=u,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return l!==null&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const o=e.index;o!==null&&this.setIndex(o.clone(n));const i=e.attributes;for(const c in i){const u=i[c];this.setAttribute(c,u.clone(n))}const r=e.morphAttributes;for(const c in r){const u=[],d=r[c];for(let f=0,p=d.length;f0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r(e.far-e.near)**2))&&(JAe.copy(r).invert(),D8.copy(e.ray).applyMatrix4(JAe),!(o.boundingBox!==null&&D8.intersectsBox(o.boundingBox)===!1)&&this._computeIntersections(e,n,D8)))}_computeIntersections(e,n,o){let i;const r=this.geometry,a=this.material,l=r.index,s=r.attributes.position,c=r.attributes.uv,u=r.attributes.uv1,d=r.attributes.normal,f=r.groups,p=r.drawRange;if(l!==null)if(Array.isArray(a))for(let g=0,A=f.length;gn.far?null:{distance:c,point:pj.clone(),object:t}}function gj(t,e,n,o,i,r,a,l,s,c){t.getVertexPosition(l,oT),t.getVertexPosition(s,iT),t.getVertexPosition(c,rT);const u=Ypt(t,e,n,o,oT,iT,rT,hj);if(u){i&&(uj.fromBufferAttribute(i,l),dj.fromBufferAttribute(i,s),fj.fromBufferAttribute(i,c),u.uv=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt)),r&&(uj.fromBufferAttribute(r,l),dj.fromBufferAttribute(r,s),fj.fromBufferAttribute(r,c),u.uv1=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt),u.uv2=u.uv1),a&&(qAe.fromBufferAttribute(a,l),$Ae.fromBufferAttribute(a,s),QAe.fromBufferAttribute(a,c),u.normal=th.getInterpolation(hj,oT,iT,rT,qAe,$Ae,QAe,new re),u.normal.dot(o.direction)>0&&u.normal.multiplyScalar(-1));const d={a:l,b:s,c,normal:new re,materialIndex:0};th.getNormal(oT,iT,rT,d.normal),u.face=d}return u}class X9 extends Ur{constructor(e=1,n=1,o=1,i=1,r=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:o,widthSegments:i,heightSegments:r,depthSegments:a};const l=this;i=Math.floor(i),r=Math.floor(r),a=Math.floor(a);const s=[],c=[],u=[],d=[];let f=0,p=0;g("z","y","x",-1,-1,o,n,e,a,r,0),g("z","y","x",1,-1,o,n,-e,a,r,1),g("x","z","y",1,1,e,o,n,i,a,2),g("x","z","y",1,-1,e,o,-n,i,a,3),g("x","y","z",1,-1,e,n,o,i,r,4),g("x","y","z",-1,-1,e,n,-o,i,r,5),this.setIndex(s),this.setAttribute("position",new hi(c,3)),this.setAttribute("normal",new hi(u,3)),this.setAttribute("uv",new hi(d,2));function g(A,w,b,C,P,v,T,y,S,x,R){const H=v/S,D=T/x,k=v/2,W=T/2,N=y/2,L=S+1,E=x+1;let U=0,F=0;const B=new re;for(let _=0;_0?1:-1,u.push(B.x,B.y,B.z),d.push(O/S),d.push(1-_/x),U+=1}}for(let _=0;_>8&255]+jf[t>>16&255]+jf[t>>24&255]+"-"+jf[e&255]+jf[e>>8&255]+"-"+jf[e>>16&15|64]+jf[e>>24&255]+"-"+jf[n&63|128]+jf[n>>8&255]+"-"+jf[n>>16&255]+jf[n>>24&255]+jf[o&255]+jf[o>>8&255]+jf[o>>16&255]+jf[o>>24&255]).toLowerCase()}function h0(t,e,n){return Math.max(e,Math.min(n,t))}function o1e(t,e){return(t%e+e)%e}function tpt(t,e,n,o,i){return o+(t-e)*(i-o)/(n-e)}function npt(t,e,n){return t!==e?(n-t)/(e-t):0}function QD(t,e,n){return(1-n)*t+n*e}function opt(t,e,n,o){return QD(t,e,1-Math.exp(-n*o))}function ipt(t,e=1){return e-Math.abs(o1e(t,e*2)-e)}function rpt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function apt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function lpt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function spt(t,e){return t+Math.random()*(e-t)}function cpt(t){return t*(.5-Math.random())}function upt(t){t!==void 0&&(LAe=t);let e=LAe+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function dpt(t){return t*nx}function fpt(t){return t*VC}function Vse(t){return(t&t-1)===0&&t!==0}function yWe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function YV(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function hpt(t,e,n,o,i){const r=Math.cos,a=Math.sin,l=r(n/2),s=a(n/2),c=r((e+o)/2),u=a((e+o)/2),d=r((e-o)/2),f=a((e-o)/2),p=r((o-e)/2),g=a((o-e)/2);switch(i){case"XYX":t.set(l*u,s*d,s*f,l*c);break;case"YZY":t.set(s*f,l*u,s*d,l*c);break;case"ZXZ":t.set(s*d,s*f,l*u,l*c);break;case"XZX":t.set(l*u,s*g,s*p,l*c);break;case"YXY":t.set(s*p,l*u,s*g,l*c);break;case"ZYZ":t.set(s*g,s*p,l*u,l*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Fp(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function ma(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const AWe={DEG2RAD:nx,RAD2DEG:VC,generateUUID:wg,clamp:h0,euclideanModulo:o1e,mapLinear:tpt,inverseLerp:npt,lerp:QD,damp:opt,pingpong:ipt,smoothstep:rpt,smootherstep:apt,randInt:lpt,randFloat:spt,randFloatSpread:cpt,seededRandom:upt,degToRad:dpt,radToDeg:fpt,isPowerOfTwo:Vse,ceilPowerOfTwo:yWe,floorPowerOfTwo:YV,setQuaternionFromProperEuler:hpt,normalize:ma,denormalize:Fp};class Gt{constructor(e=0,n=0){Gt.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,o=this.y,i=e.elements;return this.x=i[0]*n+i[3]*o+i[6],this.y=i[1]*n+i[4]*o+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y;return n*n+o*o}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const o=Math.cos(n),i=Math.sin(n),r=this.x-e.x,a=this.y-e.y;return this.x=r*o-a*i+e.x,this.y=r*i+a*o+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class fa{constructor(e,n,o,i,r,a,l,s,c){fa.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c)}set(e,n,o,i,r,a,l,s,c){const u=this.elements;return u[0]=e,u[1]=i,u[2]=l,u[3]=n,u[4]=r,u[5]=s,u[6]=o,u[7]=a,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],this}extractBasis(e,n,o){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),o.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[3],s=o[6],c=o[1],u=o[4],d=o[7],f=o[2],p=o[5],g=o[8],A=i[0],w=i[3],b=i[6],C=i[1],P=i[4],v=i[7],T=i[2],y=i[5],S=i[8];return r[0]=a*A+l*C+s*T,r[3]=a*w+l*P+s*y,r[6]=a*b+l*v+s*S,r[1]=c*A+u*C+d*T,r[4]=c*w+u*P+d*y,r[7]=c*b+u*v+d*S,r[2]=f*A+p*C+g*T,r[5]=f*w+p*P+g*y,r[8]=f*b+p*v+g*S,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8];return n*a*u-n*l*c-o*r*u+o*l*s+i*r*c-i*a*s}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=u*a-l*c,f=l*s-u*r,p=c*r-a*s,g=n*d+o*f+i*p;if(g===0)return this.set(0,0,0,0,0,0,0,0,0);const A=1/g;return e[0]=d*A,e[1]=(i*c-u*o)*A,e[2]=(l*o-i*a)*A,e[3]=f*A,e[4]=(u*n-i*s)*A,e[5]=(i*r-l*n)*A,e[6]=p*A,e[7]=(o*s-c*n)*A,e[8]=(a*n-o*r)*A,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,o,i,r,a,l){const s=Math.cos(r),c=Math.sin(r);return this.set(o*s,o*c,-o*(s*a+c*l)+a+e,-i*c,i*s,-i*(-c*a+s*l)+l+n,0,0,1),this}scale(e,n){return this.premultiply(Zne.makeScale(e,n)),this}rotate(e){return this.premultiply(Zne.makeRotation(-e)),this}translate(e,n){return this.premultiply(Zne.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,o,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<9;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<9;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Zne=new fa;function wWe(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const ppt={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function WP(t,e){return new ppt[t](e)}function bk(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function vWe(){const t=bk("canvas");return t.style.display="block",t}const WAe={};function ZD(t){t in WAe||(WAe[t]=!0,console.warn(t))}const NAe=new fa().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),UAe=new fa().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),$B={[R9]:{transfer:yk,primaries:Ak,toReference:t=>t,fromReference:t=>t},[nu]:{transfer:Ws,primaries:Ak,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[UL]:{transfer:yk,primaries:wk,toReference:t=>t.applyMatrix3(UAe),fromReference:t=>t.applyMatrix3(NAe)},[kK]:{transfer:Ws,primaries:wk,toReference:t=>t.convertSRGBToLinear().applyMatrix3(UAe),fromReference:t=>t.applyMatrix3(NAe).convertLinearToSRGB()}},gpt=new Set([R9,UL]),rs={enabled:!0,_workingColorSpace:R9,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!gpt.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const o=$B[e].toReference,i=$B[n].fromReference;return i(o(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return $B[t].primaries},getTransfer:function(t){return t===ag?yk:$B[t].transfer}};function fC(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function eoe(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let JS;class i1e{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{JS===void 0&&(JS=bk("canvas")),JS.width=e.width,JS.height=e.height;const o=JS.getContext("2d");e instanceof ImageData?o.putImageData(e,0,0):o.drawImage(e,0,0,e.width,e.height),n=JS}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=bk("canvas");n.width=e.width,n.height=e.height;const o=n.getContext("2d");o.drawImage(e,0,0,e.width,e.height);const i=o.getImageData(0,0,e.width,e.height),r=i.data;for(let a=0;a0&&(o.userData=this.userData),n||(e.textures[this.uuid]=o),o}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==zK)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ss:e.x=e.x-Math.floor(e.x);break;case ah:e.x=e.x<0?0:1;break;case hk:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Ss:e.y=e.y-Math.floor(e.y);break;case ah:e.y=e.y<0?0:1;break;case hk:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===nu?kw:t1e}set encoding(e){ZD("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===kw?nu:ag}}_c.DEFAULT_IMAGE=null;_c.DEFAULT_MAPPING=zK;_c.DEFAULT_ANISOTROPY=1;class ll{constructor(e=0,n=0,o=0,i=1){ll.prototype.isVector4=!0,this.x=e,this.y=n,this.z=o,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,o,i){return this.x=e,this.y=n,this.z=o,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=this.w,a=e.elements;return this.x=a[0]*n+a[4]*o+a[8]*i+a[12]*r,this.y=a[1]*n+a[5]*o+a[9]*i+a[13]*r,this.z=a[2]*n+a[6]*o+a[10]*i+a[14]*r,this.w=a[3]*n+a[7]*o+a[11]*i+a[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,o,i,r;const s=e.elements,c=s[0],u=s[4],d=s[8],f=s[1],p=s[5],g=s[9],A=s[2],w=s[6],b=s[10];if(Math.abs(u-f)<.01&&Math.abs(d-A)<.01&&Math.abs(g-w)<.01){if(Math.abs(u+f)<.1&&Math.abs(d+A)<.1&&Math.abs(g+w)<.1&&Math.abs(c+p+b-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const P=(c+1)/2,v=(p+1)/2,T=(b+1)/2,y=(u+f)/4,S=(d+A)/4,x=(g+w)/4;return P>v&&P>T?P<.01?(o=0,i=.707106781,r=.707106781):(o=Math.sqrt(P),i=y/o,r=S/o):v>T?v<.01?(o=.707106781,i=0,r=.707106781):(i=Math.sqrt(v),o=y/i,r=x/i):T<.01?(o=.707106781,i=.707106781,r=0):(r=Math.sqrt(T),o=S/r,i=x/r),this.set(o,i,r,n),this}let C=Math.sqrt((w-g)*(w-g)+(d-A)*(d-A)+(f-u)*(f-u));return Math.abs(C)<.001&&(C=1),this.x=(w-g)/C,this.y=(d-A)/C,this.z=(f-u)/C,this.w=Math.acos((c+p+b-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this.w=e.w+(n.w-e.w)*o,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class xWe extends V9{constructor(e=1,n=1,o={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new ll(0,0,e,n),this.scissorTest=!1,this.viewport=new ll(0,0,e,n);const i={width:e,height:n,depth:1};o.encoding!==void 0&&(ZD("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),o.colorSpace=o.encoding===kw?nu:ag),o=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:js,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},o),this.texture=new _c(i,o.mapping,o.wrapS,o.wrapT,o.magFilter,o.minFilter,o.format,o.type,o.anisotropy,o.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=o.generateMipmaps,this.texture.internalFormat=o.internalFormat,this.depthBuffer=o.depthBuffer,this.stencilBuffer=o.stencilBuffer,this.depthTexture=o.depthTexture,this.samples=o.samples}setSize(e,n,o=1){(this.width!==e||this.height!==n||this.depth!==o)&&(this.width=e,this.height=n,this.depth=o,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=o,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new Hv(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Vm extends xWe{constructor(e=1,n=1,o={}){super(e,n,o),this.isWebGLRenderTarget=!0}}class FK extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Apt extends Vm{constructor(e=1,n=1,o=1){super(e,n),this.isWebGLArrayRenderTarget=!0,this.depth=o,this.texture=new FK(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class r1e extends _c{constructor(e=null,n=1,o=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:o,depth:i},this.magFilter=F0,this.minFilter=F0,this.wrapR=ah,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class wpt extends Vm{constructor(e=1,n=1,o=1){super(e,n),this.isWebGL3DRenderTarget=!0,this.depth=o,this.texture=new r1e(null,e,n,o),this.texture.isRenderTargetTexture=!0}}class vpt extends Vm{constructor(e=1,n=1,o=1,i={}){super(e,n,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let a=0;a=0?1:-1,P=1-b*b;if(P>Number.EPSILON){const T=Math.sqrt(P),y=Math.atan2(T,b*C);w=Math.sin(w*y)/T,l=Math.sin(l*y)/T}const v=l*C;if(s=s*w+f*v,c=c*w+p*v,u=u*w+g*v,d=d*w+A*v,w===1-l){const T=1/Math.sqrt(s*s+c*c+u*u+d*d);s*=T,c*=T,u*=T,d*=T}}e[n]=s,e[n+1]=c,e[n+2]=u,e[n+3]=d}static multiplyQuaternionsFlat(e,n,o,i,r,a){const l=o[i],s=o[i+1],c=o[i+2],u=o[i+3],d=r[a],f=r[a+1],p=r[a+2],g=r[a+3];return e[n]=l*g+u*d+s*p-c*f,e[n+1]=s*g+u*f+c*d-l*p,e[n+2]=c*g+u*p+l*f-s*d,e[n+3]=u*g-l*d-s*f-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,o,i){return this._x=e,this._y=n,this._z=o,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n){const o=e._x,i=e._y,r=e._z,a=e._order,l=Math.cos,s=Math.sin,c=l(o/2),u=l(i/2),d=l(r/2),f=s(o/2),p=s(i/2),g=s(r/2);switch(a){case"XYZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"YXZ":this._x=f*u*d+c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"ZXY":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d-f*p*g;break;case"ZYX":this._x=f*u*d-c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d+f*p*g;break;case"YZX":this._x=f*u*d+c*p*g,this._y=c*p*d+f*u*g,this._z=c*u*g-f*p*d,this._w=c*u*d-f*p*g;break;case"XZY":this._x=f*u*d-c*p*g,this._y=c*p*d-f*u*g,this._z=c*u*g+f*p*d,this._w=c*u*d+f*p*g;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return n!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const o=n/2,i=Math.sin(o);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(o),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,o=n[0],i=n[4],r=n[8],a=n[1],l=n[5],s=n[9],c=n[2],u=n[6],d=n[10],f=o+l+d;if(f>0){const p=.5/Math.sqrt(f+1);this._w=.25/p,this._x=(u-s)*p,this._y=(r-c)*p,this._z=(a-i)*p}else if(o>l&&o>d){const p=2*Math.sqrt(1+o-l-d);this._w=(u-s)/p,this._x=.25*p,this._y=(i+a)/p,this._z=(r+c)/p}else if(l>d){const p=2*Math.sqrt(1+l-o-d);this._w=(r-c)/p,this._x=(i+a)/p,this._y=.25*p,this._z=(s+u)/p}else{const p=2*Math.sqrt(1+d-o-l);this._w=(a-i)/p,this._x=(r+c)/p,this._y=(s+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let o=e.dot(n)+1;return oMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=o):(this._x=0,this._y=-e.z,this._z=e.y,this._w=o)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=o),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(h0(this.dot(e),-1,1)))}rotateTowards(e,n){const o=this.angleTo(e);if(o===0)return this;const i=Math.min(1,n/o);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const o=e._x,i=e._y,r=e._z,a=e._w,l=n._x,s=n._y,c=n._z,u=n._w;return this._x=o*u+a*l+i*c-r*s,this._y=i*u+a*s+r*l-o*c,this._z=r*u+a*c+o*s-i*l,this._w=a*u-o*l-i*s-r*c,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const o=this._x,i=this._y,r=this._z,a=this._w;let l=a*e._w+o*e._x+i*e._y+r*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=o,this._y=i,this._z=r,this;const s=1-l*l;if(s<=Number.EPSILON){const p=1-n;return this._w=p*a+n*this._w,this._x=p*o+n*this._x,this._y=p*i+n*this._y,this._z=p*r+n*this._z,this.normalize(),this._onChangeCallback(),this}const c=Math.sqrt(s),u=Math.atan2(c,l),d=Math.sin((1-n)*u)/c,f=Math.sin(n*u)/c;return this._w=a*d+this._w*f,this._x=o*d+this._x*f,this._y=i*d+this._y*f,this._z=r*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,n,o){return this.copy(e).slerp(n,o)}random(){const e=Math.random(),n=Math.sqrt(1-e),o=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(n*Math.cos(i),o*Math.sin(r),o*Math.cos(r),n*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class re{constructor(e=0,n=0,o=0){re.prototype.isVector3=!0,this.x=e,this.y=n,this.z=o}set(e,n,o){return o===void 0&&(o=this.z),this.x=e,this.y=n,this.z=o,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(BAe.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(BAe.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[3]*o+r[6]*i,this.y=r[1]*n+r[4]*o+r[7]*i,this.z=r[2]*n+r[5]*o+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,o=this.y,i=this.z,r=e.elements,a=1/(r[3]*n+r[7]*o+r[11]*i+r[15]);return this.x=(r[0]*n+r[4]*o+r[8]*i+r[12])*a,this.y=(r[1]*n+r[5]*o+r[9]*i+r[13])*a,this.z=(r[2]*n+r[6]*o+r[10]*i+r[14])*a,this}applyQuaternion(e){const n=this.x,o=this.y,i=this.z,r=e.x,a=e.y,l=e.z,s=e.w,c=2*(a*i-l*o),u=2*(l*n-r*i),d=2*(r*o-a*n);return this.x=n+s*c+a*d-l*u,this.y=o+s*u+l*c-r*d,this.z=i+s*d+r*u-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,o=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[4]*o+r[8]*i,this.y=r[1]*n+r[5]*o+r[9]*i,this.z=r[2]*n+r[6]*o+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const o=this.length();return this.divideScalar(o||1).multiplyScalar(Math.max(e,Math.min(n,o)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,o){return this.x=e.x+(n.x-e.x)*o,this.y=e.y+(n.y-e.y)*o,this.z=e.z+(n.z-e.z)*o,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const o=e.x,i=e.y,r=e.z,a=n.x,l=n.y,s=n.z;return this.x=i*s-r*l,this.y=r*a-o*s,this.z=o*l-i*a,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const o=e.dot(this)/n;return this.copy(e).multiplyScalar(o)}projectOnPlane(e){return noe.copy(this).projectOnVector(e),this.sub(noe)}reflect(e){return this.sub(noe.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const o=this.dot(e)/n;return Math.acos(h0(o,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,o=this.y-e.y,i=this.z-e.z;return n*n+o*o+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,o){const i=Math.sin(n)*e;return this.x=i*Math.sin(o),this.y=Math.cos(n)*e,this.z=i*Math.cos(o),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,o){return this.x=e*Math.sin(n),this.y=o,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),o=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=o,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,o=Math.sqrt(1-e**2);return this.x=o*Math.cos(n),this.y=o*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const noe=new re,BAe=new Ts;class pf{constructor(e=new re(1/0,1/0,1/0),n=new re(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,o=e.length;nthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Uy),Uy.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,o;return e.normal.x>0?(n=e.normal.x*this.min.x,o=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,o=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,o+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,o+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,o+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,o+=e.normal.z*this.min.z),n<=-e.constant&&o>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(oz),ZB.subVectors(this.max,oz),KS.subVectors(e.a,oz),qS.subVectors(e.b,oz),$S.subVectors(e.c,oz),d4.subVectors(qS,KS),f4.subVectors($S,qS),I8.subVectors(KS,$S);let n=[0,-d4.z,d4.y,0,-f4.z,f4.y,0,-I8.z,I8.y,d4.z,0,-d4.x,f4.z,0,-f4.x,I8.z,0,-I8.x,-d4.y,d4.x,0,-f4.y,f4.x,0,-I8.y,I8.x,0];return!ooe(n,KS,qS,$S,ZB)||(n=[1,0,0,0,1,0,0,0,1],!ooe(n,KS,qS,$S,ZB))?!1:(ej.crossVectors(d4,f4),n=[ej.x,ej.y,ej.z],ooe(n,KS,qS,$S,ZB))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Uy).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Uy).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(O3[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),O3[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),O3[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),O3[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),O3[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),O3[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),O3[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),O3[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(O3),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const O3=[new re,new re,new re,new re,new re,new re,new re,new re],Uy=new re,QB=new pf,KS=new re,qS=new re,$S=new re,d4=new re,f4=new re,I8=new re,oz=new re,ZB=new re,ej=new re,z8=new re;function ooe(t,e,n,o,i){for(let r=0,a=t.length-3;r<=a;r+=3){z8.fromArray(t,r);const l=i.x*Math.abs(z8.x)+i.y*Math.abs(z8.y)+i.z*Math.abs(z8.z),s=e.dot(z8),c=n.dot(z8),u=o.dot(z8);if(Math.max(-Math.max(s,c,u),Math.min(s,c,u))>l)return!1}return!0}const xpt=new pf,iz=new re,ioe=new re;let n1=class{constructor(e=new re,n=-1){this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const o=this.center;n!==void 0?o.copy(n):xpt.setFromPoints(e).getCenter(o);let i=0;for(let r=0,a=e.length;rthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;iz.subVectors(e,this.center);const n=iz.lengthSq();if(n>this.radius*this.radius){const o=Math.sqrt(n),i=(o-this.radius)*.5;this.center.addScaledVector(iz,i/o),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ioe.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(iz.copy(e.center).add(ioe)),this.expandByPoint(iz.copy(e.center).sub(ioe))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}};const _3=new re,roe=new re,tj=new re,h4=new re,aoe=new re,nj=new re,loe=new re;class fH{constructor(e=new re,n=new re(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,_3)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const o=n.dot(this.direction);return o<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,o)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=_3.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(_3.copy(this.origin).addScaledVector(this.direction,n),_3.distanceToSquared(e))}distanceSqToSegment(e,n,o,i){roe.copy(e).add(n).multiplyScalar(.5),tj.copy(n).sub(e).normalize(),h4.copy(this.origin).sub(roe);const r=e.distanceTo(n)*.5,a=-this.direction.dot(tj),l=h4.dot(this.direction),s=-h4.dot(tj),c=h4.lengthSq(),u=Math.abs(1-a*a);let d,f,p,g;if(u>0)if(d=a*s-l,f=a*l-s,g=r*u,d>=0)if(f>=-g)if(f<=g){const A=1/u;d*=A,f*=A,p=d*(d+a*f+2*l)+f*(a*d+f+2*s)+c}else f=r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f=-r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;else f<=-g?(d=Math.max(0,-(-a*r+l)),f=d>0?-r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c):f<=g?(d=0,f=Math.min(Math.max(-r,-s),r),p=f*(f+2*s)+c):(d=Math.max(0,-(a*r+l)),f=d>0?r:Math.min(Math.max(-r,-s),r),p=-d*d+f*(f+2*s)+c);else f=a>0?-r:r,d=Math.max(0,-(a*f+l)),p=-d*d+f*(f+2*s)+c;return o&&o.copy(this.origin).addScaledVector(this.direction,d),i&&i.copy(roe).addScaledVector(tj,f),p}intersectSphere(e,n){_3.subVectors(e.center,this.origin);const o=_3.dot(this.direction),i=_3.dot(_3)-o*o,r=e.radius*e.radius;if(i>r)return null;const a=Math.sqrt(r-i),l=o-a,s=o+a;return s<0?null:l<0?this.at(s,n):this.at(l,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const o=-(this.origin.dot(e.normal)+e.constant)/n;return o>=0?o:null}intersectPlane(e,n){const o=this.distanceToPlane(e);return o===null?null:this.at(o,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let o,i,r,a,l,s;const c=1/this.direction.x,u=1/this.direction.y,d=1/this.direction.z,f=this.origin;return c>=0?(o=(e.min.x-f.x)*c,i=(e.max.x-f.x)*c):(o=(e.max.x-f.x)*c,i=(e.min.x-f.x)*c),u>=0?(r=(e.min.y-f.y)*u,a=(e.max.y-f.y)*u):(r=(e.max.y-f.y)*u,a=(e.min.y-f.y)*u),o>a||r>i||((r>o||isNaN(o))&&(o=r),(a=0?(l=(e.min.z-f.z)*d,s=(e.max.z-f.z)*d):(l=(e.max.z-f.z)*d,s=(e.min.z-f.z)*d),o>s||l>i)||((l>o||o!==o)&&(o=l),(s=0?o:i,n)}intersectsBox(e){return this.intersectBox(e,_3)!==null}intersectTriangle(e,n,o,i,r){aoe.subVectors(n,e),nj.subVectors(o,e),loe.crossVectors(aoe,nj);let a=this.direction.dot(loe),l;if(a>0){if(i)return null;l=1}else if(a<0)l=-1,a=-a;else return null;h4.subVectors(this.origin,e);const s=l*this.direction.dot(nj.crossVectors(h4,nj));if(s<0)return null;const c=l*this.direction.dot(aoe.cross(h4));if(c<0||s+c>a)return null;const u=-l*h4.dot(loe);return u<0?null:this.at(u/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Xr{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w){Xr.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w)}set(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w){const b=this.elements;return b[0]=e,b[4]=n,b[8]=o,b[12]=i,b[1]=r,b[5]=a,b[9]=l,b[13]=s,b[2]=c,b[6]=u,b[10]=d,b[14]=f,b[3]=p,b[7]=g,b[11]=A,b[15]=w,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Xr().fromArray(this.elements)}copy(e){const n=this.elements,o=e.elements;return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=o[6],n[7]=o[7],n[8]=o[8],n[9]=o[9],n[10]=o[10],n[11]=o[11],n[12]=o[12],n[13]=o[13],n[14]=o[14],n[15]=o[15],this}copyPosition(e){const n=this.elements,o=e.elements;return n[12]=o[12],n[13]=o[13],n[14]=o[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,o){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),o.setFromMatrixColumn(this,2),this}makeBasis(e,n,o){return this.set(e.x,n.x,o.x,0,e.y,n.y,o.y,0,e.z,n.z,o.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,o=e.elements,i=1/QS.setFromMatrixColumn(e,0).length(),r=1/QS.setFromMatrixColumn(e,1).length(),a=1/QS.setFromMatrixColumn(e,2).length();return n[0]=o[0]*i,n[1]=o[1]*i,n[2]=o[2]*i,n[3]=0,n[4]=o[4]*r,n[5]=o[5]*r,n[6]=o[6]*r,n[7]=0,n[8]=o[8]*a,n[9]=o[9]*a,n[10]=o[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,o=e.x,i=e.y,r=e.z,a=Math.cos(o),l=Math.sin(o),s=Math.cos(i),c=Math.sin(i),u=Math.cos(r),d=Math.sin(r);if(e.order==="XYZ"){const f=a*u,p=a*d,g=l*u,A=l*d;n[0]=s*u,n[4]=-s*d,n[8]=c,n[1]=p+g*c,n[5]=f-A*c,n[9]=-l*s,n[2]=A-f*c,n[6]=g+p*c,n[10]=a*s}else if(e.order==="YXZ"){const f=s*u,p=s*d,g=c*u,A=c*d;n[0]=f+A*l,n[4]=g*l-p,n[8]=a*c,n[1]=a*d,n[5]=a*u,n[9]=-l,n[2]=p*l-g,n[6]=A+f*l,n[10]=a*s}else if(e.order==="ZXY"){const f=s*u,p=s*d,g=c*u,A=c*d;n[0]=f-A*l,n[4]=-a*d,n[8]=g+p*l,n[1]=p+g*l,n[5]=a*u,n[9]=A-f*l,n[2]=-a*c,n[6]=l,n[10]=a*s}else if(e.order==="ZYX"){const f=a*u,p=a*d,g=l*u,A=l*d;n[0]=s*u,n[4]=g*c-p,n[8]=f*c+A,n[1]=s*d,n[5]=A*c+f,n[9]=p*c-g,n[2]=-c,n[6]=l*s,n[10]=a*s}else if(e.order==="YZX"){const f=a*s,p=a*c,g=l*s,A=l*c;n[0]=s*u,n[4]=A-f*d,n[8]=g*d+p,n[1]=d,n[5]=a*u,n[9]=-l*u,n[2]=-c*u,n[6]=p*d+g,n[10]=f-A*d}else if(e.order==="XZY"){const f=a*s,p=a*c,g=l*s,A=l*c;n[0]=s*u,n[4]=-d,n[8]=c*u,n[1]=f*d+A,n[5]=a*u,n[9]=p*d-g,n[2]=g*d-p,n[6]=l*u,n[10]=A*d+f}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(bpt,e,Spt)}lookAt(e,n,o){const i=this.elements;return I1.subVectors(e,n),I1.lengthSq()===0&&(I1.z=1),I1.normalize(),p4.crossVectors(o,I1),p4.lengthSq()===0&&(Math.abs(o.z)===1?I1.x+=1e-4:I1.z+=1e-4,I1.normalize(),p4.crossVectors(o,I1)),p4.normalize(),oj.crossVectors(I1,p4),i[0]=p4.x,i[4]=oj.x,i[8]=I1.x,i[1]=p4.y,i[5]=oj.y,i[9]=I1.y,i[2]=p4.z,i[6]=oj.z,i[10]=I1.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const o=e.elements,i=n.elements,r=this.elements,a=o[0],l=o[4],s=o[8],c=o[12],u=o[1],d=o[5],f=o[9],p=o[13],g=o[2],A=o[6],w=o[10],b=o[14],C=o[3],P=o[7],v=o[11],T=o[15],y=i[0],S=i[4],x=i[8],R=i[12],H=i[1],D=i[5],k=i[9],W=i[13],N=i[2],L=i[6],E=i[10],U=i[14],F=i[3],B=i[7],_=i[11],Y=i[15];return r[0]=a*y+l*H+s*N+c*F,r[4]=a*S+l*D+s*L+c*B,r[8]=a*x+l*k+s*E+c*_,r[12]=a*R+l*W+s*U+c*Y,r[1]=u*y+d*H+f*N+p*F,r[5]=u*S+d*D+f*L+p*B,r[9]=u*x+d*k+f*E+p*_,r[13]=u*R+d*W+f*U+p*Y,r[2]=g*y+A*H+w*N+b*F,r[6]=g*S+A*D+w*L+b*B,r[10]=g*x+A*k+w*E+b*_,r[14]=g*R+A*W+w*U+b*Y,r[3]=C*y+P*H+v*N+T*F,r[7]=C*S+P*D+v*L+T*B,r[11]=C*x+P*k+v*E+T*_,r[15]=C*R+P*W+v*U+T*Y,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],o=e[4],i=e[8],r=e[12],a=e[1],l=e[5],s=e[9],c=e[13],u=e[2],d=e[6],f=e[10],p=e[14],g=e[3],A=e[7],w=e[11],b=e[15];return g*(+r*s*d-i*c*d-r*l*f+o*c*f+i*l*p-o*s*p)+A*(+n*s*p-n*c*f+r*a*f-i*a*p+i*c*u-r*s*u)+w*(+n*c*d-n*l*p-r*a*d+o*a*p+r*l*u-o*c*u)+b*(-i*l*u-n*s*d+n*l*f+i*a*d-o*a*f+o*s*u)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,o){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=o),this}invert(){const e=this.elements,n=e[0],o=e[1],i=e[2],r=e[3],a=e[4],l=e[5],s=e[6],c=e[7],u=e[8],d=e[9],f=e[10],p=e[11],g=e[12],A=e[13],w=e[14],b=e[15],C=d*w*c-A*f*c+A*s*p-l*w*p-d*s*b+l*f*b,P=g*f*c-u*w*c-g*s*p+a*w*p+u*s*b-a*f*b,v=u*A*c-g*d*c+g*l*p-a*A*p-u*l*b+a*d*b,T=g*d*s-u*A*s-g*l*f+a*A*f+u*l*w-a*d*w,y=n*C+o*P+i*v+r*T;if(y===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/y;return e[0]=C*S,e[1]=(A*f*r-d*w*r-A*i*p+o*w*p+d*i*b-o*f*b)*S,e[2]=(l*w*r-A*s*r+A*i*c-o*w*c-l*i*b+o*s*b)*S,e[3]=(d*s*r-l*f*r-d*i*c+o*f*c+l*i*p-o*s*p)*S,e[4]=P*S,e[5]=(u*w*r-g*f*r+g*i*p-n*w*p-u*i*b+n*f*b)*S,e[6]=(g*s*r-a*w*r-g*i*c+n*w*c+a*i*b-n*s*b)*S,e[7]=(a*f*r-u*s*r+u*i*c-n*f*c-a*i*p+n*s*p)*S,e[8]=v*S,e[9]=(g*d*r-u*A*r-g*o*p+n*A*p+u*o*b-n*d*b)*S,e[10]=(a*A*r-g*l*r+g*o*c-n*A*c-a*o*b+n*l*b)*S,e[11]=(u*l*r-a*d*r-u*o*c+n*d*c+a*o*p-n*l*p)*S,e[12]=T*S,e[13]=(u*A*i-g*d*i+g*o*f-n*A*f-u*o*w+n*d*w)*S,e[14]=(g*l*i-a*A*i-g*o*s+n*A*s+a*o*w-n*l*w)*S,e[15]=(a*d*i-u*l*i+u*o*s-n*d*s-a*o*f+n*l*f)*S,this}scale(e){const n=this.elements,o=e.x,i=e.y,r=e.z;return n[0]*=o,n[4]*=i,n[8]*=r,n[1]*=o,n[5]*=i,n[9]*=r,n[2]*=o,n[6]*=i,n[10]*=r,n[3]*=o,n[7]*=i,n[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],o=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,o,i))}makeTranslation(e,n,o){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,o,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),o=Math.sin(e);return this.set(1,0,0,0,0,n,-o,0,0,o,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,0,o,0,0,1,0,0,-o,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),o=Math.sin(e);return this.set(n,-o,0,0,o,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const o=Math.cos(n),i=Math.sin(n),r=1-o,a=e.x,l=e.y,s=e.z,c=r*a,u=r*l;return this.set(c*a+o,c*l-i*s,c*s+i*l,0,c*l+i*s,u*l+o,u*s-i*a,0,c*s-i*l,u*s+i*a,r*s*s+o,0,0,0,0,1),this}makeScale(e,n,o){return this.set(e,0,0,0,0,n,0,0,0,0,o,0,0,0,0,1),this}makeShear(e,n,o,i,r,a){return this.set(1,o,r,0,e,1,a,0,n,i,1,0,0,0,0,1),this}compose(e,n,o){const i=this.elements,r=n._x,a=n._y,l=n._z,s=n._w,c=r+r,u=a+a,d=l+l,f=r*c,p=r*u,g=r*d,A=a*u,w=a*d,b=l*d,C=s*c,P=s*u,v=s*d,T=o.x,y=o.y,S=o.z;return i[0]=(1-(A+b))*T,i[1]=(p+v)*T,i[2]=(g-P)*T,i[3]=0,i[4]=(p-v)*y,i[5]=(1-(f+b))*y,i[6]=(w+C)*y,i[7]=0,i[8]=(g+P)*S,i[9]=(w-C)*S,i[10]=(1-(f+A))*S,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,o){const i=this.elements;let r=QS.set(i[0],i[1],i[2]).length();const a=QS.set(i[4],i[5],i[6]).length(),l=QS.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],By.copy(this);const c=1/r,u=1/a,d=1/l;return By.elements[0]*=c,By.elements[1]*=c,By.elements[2]*=c,By.elements[4]*=u,By.elements[5]*=u,By.elements[6]*=u,By.elements[8]*=d,By.elements[9]*=d,By.elements[10]*=d,n.setFromRotationMatrix(By),o.x=r,o.y=a,o.z=l,this}makePerspective(e,n,o,i,r,a,l=a9){const s=this.elements,c=2*r/(n-e),u=2*r/(o-i),d=(n+e)/(n-e),f=(o+i)/(o-i);let p,g;if(l===a9)p=-(a+r)/(a-r),g=-2*a*r/(a-r);else if(l===xk)p=-a/(a-r),g=-a*r/(a-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+l);return s[0]=c,s[4]=0,s[8]=d,s[12]=0,s[1]=0,s[5]=u,s[9]=f,s[13]=0,s[2]=0,s[6]=0,s[10]=p,s[14]=g,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,n,o,i,r,a,l=a9){const s=this.elements,c=1/(n-e),u=1/(o-i),d=1/(a-r),f=(n+e)*c,p=(o+i)*u;let g,A;if(l===a9)g=(a+r)*d,A=-2*d;else if(l===xk)g=r*d,A=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+l);return s[0]=2*c,s[4]=0,s[8]=0,s[12]=-f,s[1]=0,s[5]=2*u,s[9]=0,s[13]=-p,s[2]=0,s[6]=0,s[10]=A,s[14]=-g,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){const n=this.elements,o=e.elements;for(let i=0;i<16;i++)if(n[i]!==o[i])return!1;return!0}fromArray(e,n=0){for(let o=0;o<16;o++)this.elements[o]=e[o+n];return this}toArray(e=[],n=0){const o=this.elements;return e[n]=o[0],e[n+1]=o[1],e[n+2]=o[2],e[n+3]=o[3],e[n+4]=o[4],e[n+5]=o[5],e[n+6]=o[6],e[n+7]=o[7],e[n+8]=o[8],e[n+9]=o[9],e[n+10]=o[10],e[n+11]=o[11],e[n+12]=o[12],e[n+13]=o[13],e[n+14]=o[14],e[n+15]=o[15],e}}const QS=new re,By=new Xr,bpt=new re(0,0,0),Spt=new re(1,1,1),p4=new re,oj=new re,I1=new re,jAe=new Xr,YAe=new Ts;class Qt{constructor(e=0,n=0,o=0,i=Qt.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=o,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,o,i=this._order){return this._x=e,this._y=n,this._z=o,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,o=!0){const i=e.elements,r=i[0],a=i[4],l=i[8],s=i[1],c=i[5],u=i[9],d=i[2],f=i[6],p=i[10];switch(n){case"XYZ":this._y=Math.asin(h0(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-h0(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(l,p),this._z=Math.atan2(s,c)):(this._y=Math.atan2(-d,r),this._z=0);break;case"ZXY":this._x=Math.asin(h0(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,p),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(s,r));break;case"ZYX":this._y=Math.asin(-h0(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,p),this._z=Math.atan2(s,r)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(h0(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-d,r)):(this._x=0,this._y=Math.atan2(l,p));break;case"XZY":this._z=Math.asin(-h0(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(l,r)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,o===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,o){return jAe.makeRotationFromQuaternion(e),this.setFromRotationMatrix(jAe,n,o)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return YAe.setFromEuler(this),this.setFromQuaternion(YAe,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Qt.DEFAULT_ORDER="XYZ";class ox{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let o=0;o0&&(o=o.concat(a))}return o}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,e,Ppt),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(rz,Cpt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const n=this.matrixWorld.elements;return e.set(n[8],n[9],n[10]).normalize()}raycast(){}traverse(e){e(this);const n=this.children;for(let o=0,i=n.length;o0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON()));function r(l,s){return l[s.uuid]===void 0&&(l[s.uuid]=s.toJSON(e)),s.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);const l=this.geometry.parameters;if(l!==void 0&&l.shapes!==void 0){const s=l.shapes;if(Array.isArray(s))for(let c=0,u=s.length;c0){i.children=[];for(let l=0;l0){i.animations=[];for(let l=0;l0&&(o.geometries=l),s.length>0&&(o.materials=s),c.length>0&&(o.textures=c),u.length>0&&(o.images=u),d.length>0&&(o.shapes=d),f.length>0&&(o.skeletons=f),p.length>0&&(o.animations=p),g.length>0&&(o.nodes=g)}return o.object=i,o;function a(l){const s=[];for(const c in l){const u=l[c];delete u.metadata,s.push(u)}return s}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let o=0;o0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,n,o,i,r){jy.subVectors(i,n),G3.subVectors(o,n),soe.subVectors(e,n);const a=jy.dot(jy),l=jy.dot(G3),s=jy.dot(soe),c=G3.dot(G3),u=G3.dot(soe),d=a*c-l*l;if(d===0)return r.set(-2,-1,-1);const f=1/d,p=(c*s-l*u)*f,g=(a*u-l*s)*f;return r.set(1-p-g,g,p)}static containsPoint(e,n,o,i){return this.getBarycoord(e,n,o,i,X3),X3.x>=0&&X3.y>=0&&X3.x+X3.y<=1}static getUV(e,n,o,i,r,a,l,s){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),this.getInterpolation(e,n,o,i,r,a,l,s)}static getInterpolation(e,n,o,i,r,a,l,s){return this.getBarycoord(e,n,o,i,X3),s.setScalar(0),s.addScaledVector(r,X3.x),s.addScaledVector(a,X3.y),s.addScaledVector(l,X3.z),s}static isFrontFacing(e,n,o,i){return jy.subVectors(o,n),G3.subVectors(e,n),jy.cross(G3).dot(i)<0}set(e,n,o){return this.a.copy(e),this.b.copy(n),this.c.copy(o),this}setFromPointsAndIndices(e,n,o,i){return this.a.copy(e[n]),this.b.copy(e[o]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,o,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,o),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return jy.subVectors(this.c,this.b),G3.subVectors(this.a,this.b),jy.cross(G3).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return th.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return th.getBarycoord(e,this.a,this.b,this.c,n)}getUV(e,n,o,i,r){return rj===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),rj=!0),th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}getInterpolation(e,n,o,i,r){return th.getInterpolation(e,this.a,this.b,this.c,n,o,i,r)}containsPoint(e){return th.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return th.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const o=this.a,i=this.b,r=this.c;let a,l;eT.subVectors(i,o),tT.subVectors(r,o),coe.subVectors(e,o);const s=eT.dot(coe),c=tT.dot(coe);if(s<=0&&c<=0)return n.copy(o);uoe.subVectors(e,i);const u=eT.dot(uoe),d=tT.dot(uoe);if(u>=0&&d<=u)return n.copy(i);const f=s*d-u*c;if(f<=0&&s>=0&&u<=0)return a=s/(s-u),n.copy(o).addScaledVector(eT,a);doe.subVectors(e,r);const p=eT.dot(doe),g=tT.dot(doe);if(g>=0&&p<=g)return n.copy(r);const A=p*c-s*g;if(A<=0&&c>=0&&g<=0)return l=c/(c-g),n.copy(o).addScaledVector(tT,l);const w=u*g-p*d;if(w<=0&&d-u>=0&&p-g>=0)return XAe.subVectors(r,i),l=(d-u)/(d-u+(p-g)),n.copy(i).addScaledVector(XAe,l);const b=1/(w+A+f);return a=A*b,l=f*b,n.copy(o).addScaledVector(eT,a).addScaledVector(tT,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const bWe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},g4={h:0,s:0,l:0},aj={h:0,s:0,l:0};function foe(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}let Xo=class{constructor(e,n,o){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,o)}set(e,n,o){if(n===void 0&&o===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,o);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=nu){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,rs.toWorkingColorSpace(this,n),this}setRGB(e,n,o,i=rs.workingColorSpace){return this.r=e,this.g=n,this.b=o,rs.toWorkingColorSpace(this,i),this}setHSL(e,n,o,i=rs.workingColorSpace){if(e=o1e(e,1),n=h0(n,0,1),o=h0(o,0,1),n===0)this.r=this.g=this.b=o;else{const r=o<=.5?o*(1+n):o+n-o*n,a=2*o-r;this.r=foe(a,r,e+1/3),this.g=foe(a,r,e),this.b=foe(a,r,e-1/3)}return rs.toWorkingColorSpace(this,i),this}setStyle(e,n=nu){function o(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const a=i[1],l=i[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,n);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return o(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],a=r.length;if(a===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,n);if(a===6)return this.setHex(parseInt(r,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=nu){const o=bWe[e.toLowerCase()];return o!==void 0?this.setHex(o,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=fC(e.r),this.g=fC(e.g),this.b=fC(e.b),this}copyLinearToSRGB(e){return this.r=eoe(e.r),this.g=eoe(e.g),this.b=eoe(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=nu){return rs.fromWorkingColorSpace(Yf.copy(this),e),Math.round(h0(Yf.r*255,0,255))*65536+Math.round(h0(Yf.g*255,0,255))*256+Math.round(h0(Yf.b*255,0,255))}getHexString(e=nu){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=rs.workingColorSpace){rs.fromWorkingColorSpace(Yf.copy(this),n);const o=Yf.r,i=Yf.g,r=Yf.b,a=Math.max(o,i,r),l=Math.min(o,i,r);let s,c;const u=(l+a)/2;if(l===a)s=0,c=0;else{const d=a-l;switch(c=u<=.5?d/(a+l):d/(2-a-l),a){case o:s=(i-r)/d+(i0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const o=e[n];if(o===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(o):i&&i.isVector3&&o&&o.isVector3?i.copy(o):this[n]=o}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const o={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};o.uuid=this.uuid,o.type=this.type,this.name!==""&&(o.name=this.name),this.color&&this.color.isColor&&(o.color=this.color.getHex()),this.roughness!==void 0&&(o.roughness=this.roughness),this.metalness!==void 0&&(o.metalness=this.metalness),this.sheen!==void 0&&(o.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(o.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(o.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(o.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(o.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(o.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(o.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(o.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(o.shininess=this.shininess),this.clearcoat!==void 0&&(o.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(o.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(o.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(o.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(o.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,o.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(o.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(o.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(o.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(o.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(o.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(o.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(o.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(o.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(o.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(o.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(o.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(o.lightMap=this.lightMap.toJSON(e).uuid,o.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(o.aoMap=this.aoMap.toJSON(e).uuid,o.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(o.bumpMap=this.bumpMap.toJSON(e).uuid,o.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(o.normalMap=this.normalMap.toJSON(e).uuid,o.normalMapType=this.normalMapType,o.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(o.displacementMap=this.displacementMap.toJSON(e).uuid,o.displacementScale=this.displacementScale,o.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(o.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(o.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(o.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(o.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(o.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(o.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(o.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(o.combine=this.combine)),this.envMapIntensity!==void 0&&(o.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(o.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(o.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(o.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(o.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(o.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(o.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(o.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(o.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(o.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(o.size=this.size),this.shadowSide!==null&&(o.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(o.sizeAttenuation=this.sizeAttenuation),this.blending!==tx&&(o.blending=this.blending),this.side!==ia&&(o.side=this.side),this.vertexColors===!0&&(o.vertexColors=!0),this.opacity<1&&(o.opacity=this.opacity),this.transparent===!0&&(o.transparent=!0),this.blendSrc!==NV&&(o.blendSrc=this.blendSrc),this.blendDst!==UV&&(o.blendDst=this.blendDst),this.blendEquation!==$4&&(o.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(o.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(o.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(o.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(o.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(o.blendAlpha=this.blendAlpha),this.depthFunc!==uk&&(o.depthFunc=this.depthFunc),this.depthTest===!1&&(o.depthTest=this.depthTest),this.depthWrite===!1&&(o.depthWrite=this.depthWrite),this.colorWrite===!1&&(o.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(o.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Ose&&(o.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(o.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(o.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==rv&&(o.stencilFail=this.stencilFail),this.stencilZFail!==rv&&(o.stencilZFail=this.stencilZFail),this.stencilZPass!==rv&&(o.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(o.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(o.rotation=this.rotation),this.polygonOffset===!0&&(o.polygonOffset=!0),this.polygonOffsetFactor!==0&&(o.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(o.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(o.linewidth=this.linewidth),this.dashSize!==void 0&&(o.dashSize=this.dashSize),this.gapSize!==void 0&&(o.gapSize=this.gapSize),this.scale!==void 0&&(o.scale=this.scale),this.dithering===!0&&(o.dithering=!0),this.alphaTest>0&&(o.alphaTest=this.alphaTest),this.alphaHash===!0&&(o.alphaHash=!0),this.alphaToCoverage===!0&&(o.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(o.premultipliedAlpha=!0),this.forceSinglePass===!0&&(o.forceSinglePass=!0),this.wireframe===!0&&(o.wireframe=!0),this.wireframeLinewidth>1&&(o.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(o.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(o.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(o.flatShading=!0),this.visible===!1&&(o.visible=!1),this.toneMapped===!1&&(o.toneMapped=!1),this.fog===!1&&(o.fog=!1),Object.keys(this.userData).length>0&&(o.userData=this.userData);function i(r){const a=[];for(const l in r){const s=r[l];delete s.metadata,a.push(s)}return a}if(n){const r=i(e.textures),a=i(e.images);r.length>0&&(o.textures=r),a.length>0&&(o.images=a)}return o}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let o=null;if(n!==null){const i=n.length;o=new Array(i);for(let r=0;r!==i;++r)o[r]=n[r].clone()}return this.clippingPlanes=o,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};class G9 extends yf{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const d6=Ipt();function Ipt(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),o=new Uint32Array(512),i=new Uint32Array(512);for(let s=0;s<256;++s){const c=s-127;c<-27?(o[s]=0,o[s|256]=32768,i[s]=24,i[s|256]=24):c<-14?(o[s]=1024>>-c-14,o[s|256]=1024>>-c-14|32768,i[s]=-c-1,i[s|256]=-c-1):c<=15?(o[s]=c+15<<10,o[s|256]=c+15<<10|32768,i[s]=13,i[s|256]=13):c<128?(o[s]=31744,o[s|256]=64512,i[s]=24,i[s|256]=24):(o[s]=31744,o[s|256]=64512,i[s]=13,i[s|256]=13)}const r=new Uint32Array(2048),a=new Uint32Array(64),l=new Uint32Array(64);for(let s=1;s<1024;++s){let c=s<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,r[s]=c|u}for(let s=1024;s<2048;++s)r[s]=939524096+(s-1024<<13);for(let s=1;s<31;++s)a[s]=s<<23;a[31]=1199570944,a[32]=2147483648;for(let s=33;s<63;++s)a[s]=2147483648+(s-32<<23);a[63]=3347054592;for(let s=1;s<64;++s)s!==32&&(l[s]=1024);return{floatView:e,uint32View:n,baseTable:o,shiftTable:i,mantissaTable:r,exponentTable:a,offsetTable:l}}function Hp(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=h0(t,-65504,65504),d6.floatView[0]=t;const e=d6.uint32View[0],n=e>>23&511;return d6.baseTable[n]+((e&8388607)>>d6.shiftTable[n])}function dD(t){const e=t>>10;return d6.uint32View[0]=d6.mantissaTable[d6.offsetTable[e]+(t&1023)]+d6.exponentTable[e],d6.floatView[0]}const zpt={toHalfFloat:Hp,fromHalfFloat:dD},Q0=new re,lj=new Gt;class qa{constructor(e,n,o=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=o,this.usage=vk,this.updateRange={offset:0,count:-1},this.gpuType=p2,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,o){e*=this.itemSize,o*=n.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const s=this.parameters;for(const c in s)s[c]!==void 0&&(e[c]=s[c]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const o=this.attributes;for(const s in o){const c=o[s];e.data.attributes[s]=c.toJSON(e.data)}const i={};let r=!1;for(const s in this.morphAttributes){const c=this.morphAttributes[s],u=[];for(let d=0,f=c.length;d0&&(i[s]=u,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return l!==null&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const o=e.index;o!==null&&this.setIndex(o.clone(n));const i=e.attributes;for(const c in i){const u=i[c];this.setAttribute(c,u.clone(n))}const r=e.morphAttributes;for(const c in r){const u=[],d=r[c];for(let f=0,p=d.length;f0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r(e.far-e.near)**2))&&(JAe.copy(r).invert(),D8.copy(e.ray).applyMatrix4(JAe),!(o.boundingBox!==null&&D8.intersectsBox(o.boundingBox)===!1)&&this._computeIntersections(e,n,D8)))}_computeIntersections(e,n,o){let i;const r=this.geometry,a=this.material,l=r.index,s=r.attributes.position,c=r.attributes.uv,u=r.attributes.uv1,d=r.attributes.normal,f=r.groups,p=r.drawRange;if(l!==null)if(Array.isArray(a))for(let g=0,A=f.length;gn.far?null:{distance:c,point:pj.clone(),object:t}}function gj(t,e,n,o,i,r,a,l,s,c){t.getVertexPosition(l,oT),t.getVertexPosition(s,iT),t.getVertexPosition(c,rT);const u=Bpt(t,e,n,o,oT,iT,rT,hj);if(u){i&&(uj.fromBufferAttribute(i,l),dj.fromBufferAttribute(i,s),fj.fromBufferAttribute(i,c),u.uv=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt)),r&&(uj.fromBufferAttribute(r,l),dj.fromBufferAttribute(r,s),fj.fromBufferAttribute(r,c),u.uv1=th.getInterpolation(hj,oT,iT,rT,uj,dj,fj,new Gt),u.uv2=u.uv1),a&&(qAe.fromBufferAttribute(a,l),$Ae.fromBufferAttribute(a,s),QAe.fromBufferAttribute(a,c),u.normal=th.getInterpolation(hj,oT,iT,rT,qAe,$Ae,QAe,new re),u.normal.dot(o.direction)>0&&u.normal.multiplyScalar(-1));const d={a:l,b:s,c,normal:new re,materialIndex:0};th.getNormal(oT,iT,rT,d.normal),u.face=d}return u}class X9 extends Ur{constructor(e=1,n=1,o=1,i=1,r=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:o,widthSegments:i,heightSegments:r,depthSegments:a};const l=this;i=Math.floor(i),r=Math.floor(r),a=Math.floor(a);const s=[],c=[],u=[],d=[];let f=0,p=0;g("z","y","x",-1,-1,o,n,e,a,r,0),g("z","y","x",1,-1,o,n,-e,a,r,1),g("x","z","y",1,1,e,o,n,i,a,2),g("x","z","y",1,-1,e,o,-n,i,a,3),g("x","y","z",1,-1,e,n,o,i,r,4),g("x","y","z",-1,-1,e,n,-o,i,r,5),this.setIndex(s),this.setAttribute("position",new hi(c,3)),this.setAttribute("normal",new hi(u,3)),this.setAttribute("uv",new hi(d,2));function g(A,w,b,C,P,v,T,y,S,x,R){const H=v/S,D=T/x,k=v/2,W=T/2,N=y/2,L=S+1,E=x+1;let U=0,F=0;const B=new re;for(let _=0;_0?1:-1,u.push(B.x,B.y,B.z),d.push(O/S),d.push(1-_/x),U+=1}}for(let _=0;_0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const o={};for(const i in this.extensions)this.extensions[i]===!0&&(o[i]=!0);return Object.keys(o).length>0&&(n.extensions=o),n}}class BL extends Dl{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Xr,this.projectionMatrix=new Xr,this.projectionMatrixInverse=new Xr,this.coordinateSystem=a9}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}let Iu=class extends BL{constructor(e=50,n=1,o=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=o,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=VC*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(nx*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return VC*2*Math.atan(Math.tan(nx*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,n,o,i,r,a){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=o,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(nx*.5*this.fov)/this.zoom,o=2*n,i=this.aspect*o,r=-.5*i;const a=this.view;if(this.view!==null&&this.view.enabled){const s=a.fullWidth,c=a.fullHeight;r+=a.offsetX*i/s,n-=a.offsetY*o/c,i*=a.width/s,o*=a.height/c}const l=this.filmOffset;l!==0&&(r+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-o,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}};const aT=-90,lT=1;class CWe extends Dl{constructor(e,n,o){super(),this.type="CubeCamera",this.renderTarget=o,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Iu(aT,lT,e,n);i.layers=this.layers,this.add(i);const r=new Iu(aT,lT,e,n);r.layers=this.layers,this.add(r);const a=new Iu(aT,lT,e,n);a.layers=this.layers,this.add(a);const l=new Iu(aT,lT,e,n);l.layers=this.layers,this.add(l);const s=new Iu(aT,lT,e,n);s.layers=this.layers,this.add(s);const c=new Iu(aT,lT,e,n);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[o,i,r,a,l,s]=n;for(const c of n)this.remove(c);if(e===a9)o.up.set(0,1,0),o.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===xk)o.up.set(0,-1,0),o.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of n)this.add(c),c.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:o,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[r,a,l,s,c,u]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),g=e.xr.enabled;e.xr.enabled=!1;const A=o.texture.generateMipmaps;o.texture.generateMipmaps=!1,e.setRenderTarget(o,0,i),e.render(n,r),e.setRenderTarget(o,1,i),e.render(n,a),e.setRenderTarget(o,2,i),e.render(n,l),e.setRenderTarget(o,3,i),e.render(n,s),e.setRenderTarget(o,4,i),e.render(n,c),o.texture.generateMipmaps=A,e.setRenderTarget(o,5,i),e.render(n,u),e.setRenderTarget(d,f,p),e.xr.enabled=g,o.texture.needsPMREMUpdate=!0}}class jL extends _c{constructor(e,n,o,i,r,a,l,s,c,u){e=e!==void 0?e:[],n=n!==void 0?n:j6,super(e,n,o,i,r,a,l,s,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class RWe extends Vm{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const o={width:e,height:e,depth:1},i=[o,o,o,o,o,o];n.encoding!==void 0&&(ZD("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===kw?nu:ag),this.texture=new jL(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:js}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const o={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class W2 extends yf{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=Ypt,this.fragmentShader=Opt,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=GC(e.uniforms),this.uniformsGroups=jpt(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const n=super.toJSON(e);n.glslVersion=this.glslVersion,n.uniforms={};for(const i in this.uniforms){const a=this.uniforms[i].value;a&&a.isTexture?n.uniforms[i]={type:"t",value:a.toJSON(e).uuid}:a&&a.isColor?n.uniforms[i]={type:"c",value:a.getHex()}:a&&a.isVector2?n.uniforms[i]={type:"v2",value:a.toArray()}:a&&a.isVector3?n.uniforms[i]={type:"v3",value:a.toArray()}:a&&a.isVector4?n.uniforms[i]={type:"v4",value:a.toArray()}:a&&a.isMatrix3?n.uniforms[i]={type:"m3",value:a.toArray()}:a&&a.isMatrix4?n.uniforms[i]={type:"m4",value:a.toArray()}:n.uniforms[i]={value:a}}Object.keys(this.defines).length>0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const o={};for(const i in this.extensions)this.extensions[i]===!0&&(o[i]=!0);return Object.keys(o).length>0&&(n.extensions=o),n}}class BL extends Dl{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Xr,this.projectionMatrix=new Xr,this.projectionMatrixInverse=new Xr,this.coordinateSystem=a9}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}let Iu=class extends BL{constructor(e=50,n=1,o=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=o,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=VC*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(nx*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return VC*2*Math.atan(Math.tan(nx*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,n,o,i,r,a){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=o,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(nx*.5*this.fov)/this.zoom,o=2*n,i=this.aspect*o,r=-.5*i;const a=this.view;if(this.view!==null&&this.view.enabled){const s=a.fullWidth,c=a.fullHeight;r+=a.offsetX*i/s,n-=a.offsetY*o/c,i*=a.width/s,o*=a.height/c}const l=this.filmOffset;l!==0&&(r+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-o,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}};const aT=-90,lT=1;class TWe extends Dl{constructor(e,n,o){super(),this.type="CubeCamera",this.renderTarget=o,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Iu(aT,lT,e,n);i.layers=this.layers,this.add(i);const r=new Iu(aT,lT,e,n);r.layers=this.layers,this.add(r);const a=new Iu(aT,lT,e,n);a.layers=this.layers,this.add(a);const l=new Iu(aT,lT,e,n);l.layers=this.layers,this.add(l);const s=new Iu(aT,lT,e,n);s.layers=this.layers,this.add(s);const c=new Iu(aT,lT,e,n);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[o,i,r,a,l,s]=n;for(const c of n)this.remove(c);if(e===a9)o.up.set(0,1,0),o.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===xk)o.up.set(0,-1,0),o.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of n)this.add(c),c.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:o,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[r,a,l,s,c,u]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),g=e.xr.enabled;e.xr.enabled=!1;const A=o.texture.generateMipmaps;o.texture.generateMipmaps=!1,e.setRenderTarget(o,0,i),e.render(n,r),e.setRenderTarget(o,1,i),e.render(n,a),e.setRenderTarget(o,2,i),e.render(n,l),e.setRenderTarget(o,3,i),e.render(n,s),e.setRenderTarget(o,4,i),e.render(n,c),o.texture.generateMipmaps=A,e.setRenderTarget(o,5,i),e.render(n,u),e.setRenderTarget(d,f,p),e.xr.enabled=g,o.texture.needsPMREMUpdate=!0}}class jL extends _c{constructor(e,n,o,i,r,a,l,s,c,u){e=e!==void 0?e:[],n=n!==void 0?n:j6,super(e,n,o,i,r,a,l,s,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class PWe extends Vm{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const o={width:e,height:e,depth:1},i=[o,o,o,o,o,o];n.encoding!==void 0&&(ZD("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===kw?nu:ag),this.texture=new jL(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:js}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const o={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -115,9 +115,9 @@ AC will not run if the highest outside temperature of the day is lower than the gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},i=new X9(5,5,5),r=new W2({name:"CubemapFromEquirect",uniforms:GC(o.uniforms),vertexShader:o.vertexShader,fragmentShader:o.fragmentShader,side:p0,blending:P6});r.uniforms.tEquirect.value=n;const a=new es(i,r),l=n.minFilter;return n.minFilter===Xw&&(n.minFilter=js),new CWe(1,10,this).update(e,a),n.minFilter=l,a.geometry.dispose(),a.material.dispose(),this}clear(e,n,o,i){const r=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(n,o,i);e.setRenderTarget(r)}}const goe=new re,Gpt=new re,Xpt=new fa;let Q5=class{constructor(e=new re(1,0,0),n=0){this.isPlane=!0,this.normal=e,this.constant=n}set(e,n){return this.normal.copy(e),this.constant=n,this}setComponents(e,n,o,i){return this.normal.set(e,n,o),this.constant=i,this}setFromNormalAndCoplanarPoint(e,n){return this.normal.copy(e),this.constant=-n.dot(this.normal),this}setFromCoplanarPoints(e,n,o){const i=goe.subVectors(o,n).cross(Gpt.subVectors(e,n)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,n){return n.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,n){const o=e.delta(goe),i=this.normal.dot(o);if(i===0)return this.distanceToPoint(e.start)===0?n.copy(e.start):null;const r=-(e.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:n.copy(e.start).addScaledVector(o,r)}intersectsLine(e){const n=this.distanceToPoint(e.start),o=this.distanceToPoint(e.end);return n<0&&o>0||o<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const o=n||Xpt.getNormalMatrix(e),i=this.coplanarPoint(goe).applyMatrix4(e),r=this.normal.applyMatrix3(o).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const E8=new n1,mj=new re;class LK{constructor(e=new Q5,n=new Q5,o=new Q5,i=new Q5,r=new Q5,a=new Q5){this.planes=[e,n,o,i,r,a]}set(e,n,o,i,r,a){const l=this.planes;return l[0].copy(e),l[1].copy(n),l[2].copy(o),l[3].copy(i),l[4].copy(r),l[5].copy(a),this}copy(e){const n=this.planes;for(let o=0;o<6;o++)n[o].copy(e.planes[o]);return this}setFromProjectionMatrix(e,n=a9){const o=this.planes,i=e.elements,r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=i[6],f=i[7],p=i[8],g=i[9],A=i[10],w=i[11],b=i[12],C=i[13],P=i[14],v=i[15];if(o[0].setComponents(s-r,f-c,w-p,v-b).normalize(),o[1].setComponents(s+r,f+c,w+p,v+b).normalize(),o[2].setComponents(s+a,f+u,w+g,v+C).normalize(),o[3].setComponents(s-a,f-u,w-g,v-C).normalize(),o[4].setComponents(s-l,f-d,w-A,v-P).normalize(),n===a9)o[5].setComponents(s+l,f+d,w+A,v+P).normalize();else if(n===xk)o[5].setComponents(l,d,A,P).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),E8.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),E8.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(E8)}intersectsSprite(e){return E8.center.set(0,0,0),E8.radius=.7071067811865476,E8.applyMatrix4(e.matrixWorld),this.intersectsSphere(E8)}intersectsSphere(e){const n=this.planes,o=e.center,i=-e.radius;for(let r=0;r<6;r++)if(n[r].distanceToPoint(o)0?e.max.x:e.min.x,mj.y=i.normal.y>0?e.max.y:e.min.y,mj.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(mj)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let o=0;o<6;o++)if(n[o].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function HWe(){let t=null,e=!1,n=null,o=null;function i(r,a){n(r,a),o=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(o=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(o),e=!1},setAnimationLoop:function(r){n=r},setContext:function(r){t=r}}}function Jpt(t,e){const n=e.isWebGL2,o=new WeakMap;function i(c,u){const d=c.array,f=c.usage,p=t.createBuffer();t.bindBuffer(u,p),t.bufferData(u,d,f),c.onUploadCallback();let g;if(d instanceof Float32Array)g=t.FLOAT;else if(d instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(n)g=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=t.UNSIGNED_SHORT;else if(d instanceof Int16Array)g=t.SHORT;else if(d instanceof Uint32Array)g=t.UNSIGNED_INT;else if(d instanceof Int32Array)g=t.INT;else if(d instanceof Int8Array)g=t.BYTE;else if(d instanceof Uint8Array)g=t.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)g=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:p,type:g,bytesPerElement:d.BYTES_PER_ELEMENT,version:c.version}}function r(c,u,d){const f=u.array,p=u.updateRange;t.bindBuffer(d,c),p.count===-1?t.bufferSubData(d,0,f):(n?t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f,p.offset,p.count):t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f.subarray(p.offset,p.offset+p.count)),p.count=-1),u.onUploadCallback()}function a(c){return c.isInterleavedBufferAttribute&&(c=c.data),o.get(c)}function l(c){c.isInterleavedBufferAttribute&&(c=c.data);const u=o.get(c);u&&(t.deleteBuffer(u.buffer),o.delete(c))}function s(c,u){if(c.isGLBufferAttribute){const f=o.get(c);(!f||f.version1?null:n.copy(e.start).addScaledVector(o,r)}intersectsLine(e){const n=this.distanceToPoint(e.start),o=this.distanceToPoint(e.end);return n<0&&o>0||o<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const o=n||Vpt.getNormalMatrix(e),i=this.coplanarPoint(goe).applyMatrix4(e),r=this.normal.applyMatrix3(o).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const E8=new n1,mj=new re;class LK{constructor(e=new Q5,n=new Q5,o=new Q5,i=new Q5,r=new Q5,a=new Q5){this.planes=[e,n,o,i,r,a]}set(e,n,o,i,r,a){const l=this.planes;return l[0].copy(e),l[1].copy(n),l[2].copy(o),l[3].copy(i),l[4].copy(r),l[5].copy(a),this}copy(e){const n=this.planes;for(let o=0;o<6;o++)n[o].copy(e.planes[o]);return this}setFromProjectionMatrix(e,n=a9){const o=this.planes,i=e.elements,r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=i[6],f=i[7],p=i[8],g=i[9],A=i[10],w=i[11],b=i[12],C=i[13],P=i[14],v=i[15];if(o[0].setComponents(s-r,f-c,w-p,v-b).normalize(),o[1].setComponents(s+r,f+c,w+p,v+b).normalize(),o[2].setComponents(s+a,f+u,w+g,v+C).normalize(),o[3].setComponents(s-a,f-u,w-g,v-C).normalize(),o[4].setComponents(s-l,f-d,w-A,v-P).normalize(),n===a9)o[5].setComponents(s+l,f+d,w+A,v+P).normalize();else if(n===xk)o[5].setComponents(l,d,A,P).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),E8.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),E8.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(E8)}intersectsSprite(e){return E8.center.set(0,0,0),E8.radius=.7071067811865476,E8.applyMatrix4(e.matrixWorld),this.intersectsSphere(E8)}intersectsSphere(e){const n=this.planes,o=e.center,i=-e.radius;for(let r=0;r<6;r++)if(n[r].distanceToPoint(o)0?e.max.x:e.min.x,mj.y=i.normal.y>0?e.max.y:e.min.y,mj.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(mj)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let o=0;o<6;o++)if(n[o].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function CWe(){let t=null,e=!1,n=null,o=null;function i(r,a){n(r,a),o=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(o=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(o),e=!1},setAnimationLoop:function(r){n=r},setContext:function(r){t=r}}}function Gpt(t,e){const n=e.isWebGL2,o=new WeakMap;function i(c,u){const d=c.array,f=c.usage,p=t.createBuffer();t.bindBuffer(u,p),t.bufferData(u,d,f),c.onUploadCallback();let g;if(d instanceof Float32Array)g=t.FLOAT;else if(d instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(n)g=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=t.UNSIGNED_SHORT;else if(d instanceof Int16Array)g=t.SHORT;else if(d instanceof Uint32Array)g=t.UNSIGNED_INT;else if(d instanceof Int32Array)g=t.INT;else if(d instanceof Int8Array)g=t.BYTE;else if(d instanceof Uint8Array)g=t.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)g=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:p,type:g,bytesPerElement:d.BYTES_PER_ELEMENT,version:c.version}}function r(c,u,d){const f=u.array,p=u.updateRange;t.bindBuffer(d,c),p.count===-1?t.bufferSubData(d,0,f):(n?t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f,p.offset,p.count):t.bufferSubData(d,p.offset*f.BYTES_PER_ELEMENT,f.subarray(p.offset,p.offset+p.count)),p.count=-1),u.onUploadCallback()}function a(c){return c.isInterleavedBufferAttribute&&(c=c.data),o.get(c)}function l(c){c.isInterleavedBufferAttribute&&(c=c.data);const u=o.get(c);u&&(t.deleteBuffer(u.buffer),o.delete(c))}function s(c,u){if(c.isGLBufferAttribute){const f=o.get(c);(!f||f.version 0 +#endif`,a1t=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #pragma unroll_loop_start for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { @@ -298,26 +298,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #pragma unroll_loop_end if ( clipped ) discard; #endif -#endif`,c1t=`#if NUM_CLIPPING_PLANES > 0 +#endif`,l1t=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,u1t=`#if NUM_CLIPPING_PLANES > 0 +#endif`,s1t=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; -#endif`,d1t=`#if NUM_CLIPPING_PLANES > 0 +#endif`,c1t=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,f1t=`#if defined( USE_COLOR_ALPHA ) +#endif`,u1t=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,h1t=`#if defined( USE_COLOR_ALPHA ) +#endif`,d1t=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,p1t=`#if defined( USE_COLOR_ALPHA ) +#endif`,f1t=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,g1t=`#if defined( USE_COLOR_ALPHA ) +#endif`,h1t=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -327,7 +327,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,m1t=`#define PI 3.141592653589793 +#endif`,p1t=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -405,7 +405,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,y1t=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,g1t=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -503,7 +503,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,A1t=`vec3 transformedNormal = objectNormal; +#endif`,m1t=`vec3 transformedNormal = objectNormal; #ifdef USE_INSTANCING mat3 m = mat3( instanceMatrix ); transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) ); @@ -518,18 +518,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,w1t=`#ifdef USE_DISPLACEMENTMAP +#endif`,y1t=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,v1t=`#ifdef USE_DISPLACEMENTMAP +#endif`,A1t=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,x1t=`#ifdef USE_EMISSIVEMAP +#endif`,w1t=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,b1t=`#ifdef USE_EMISSIVEMAP +#endif`,v1t=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,S1t="gl_FragColor = linearToOutputTexel( gl_FragColor );",T1t=` +#endif`,x1t="gl_FragColor = linearToOutputTexel( gl_FragColor );",b1t=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -557,7 +557,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,P1t=`#ifdef USE_ENVMAP +}`,S1t=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -586,7 +586,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,C1t=`#ifdef USE_ENVMAP +#endif`,T1t=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -595,7 +595,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,R1t=`#ifdef USE_ENVMAP +#endif`,P1t=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -606,7 +606,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,H1t=`#ifdef USE_ENVMAP +#endif`,C1t=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -617,7 +617,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,M1t=`#ifdef USE_ENVMAP +#endif`,R1t=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -634,18 +634,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,I1t=`#ifdef USE_FOG +#endif`,H1t=`#ifdef USE_FOG vFogDepth = - mvPosition.z; -#endif`,z1t=`#ifdef USE_FOG +#endif`,M1t=`#ifdef USE_FOG varying float vFogDepth; -#endif`,D1t=`#ifdef USE_FOG +#endif`,I1t=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,E1t=`#ifdef USE_FOG +#endif`,z1t=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -654,7 +654,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,k1t=`#ifdef USE_GRADIENTMAP +#endif`,D1t=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -666,16 +666,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif -}`,F1t=`#ifdef USE_LIGHTMAP +}`,E1t=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,L1t=`#ifdef USE_LIGHTMAP +#endif`,k1t=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,W1t=`LambertMaterial material; +#endif`,F1t=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,N1t=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,L1t=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -689,7 +689,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,U1t=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,W1t=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -812,7 +812,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,B1t=`#ifdef USE_ENVMAP +#endif`,N1t=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -845,8 +845,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,j1t=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,Y1t=`varying vec3 vViewPosition; +#endif`,U1t=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,B1t=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -858,11 +858,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,O1t=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,j1t=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,_1t=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,Y1t=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -879,7 +879,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,V1t=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,O1t=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); @@ -958,7 +958,7 @@ material.roughness = min( material.roughness, 1.0 ); material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x - tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x + tbn[ 0 ] * anisotropyV.y; -#endif`,G1t=`struct PhysicalMaterial { +#endif`,_1t=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1258,7 +1258,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,X1t=` +}`,V1t=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1373,7 +1373,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,J1t=`#if defined( RE_IndirectDiffuse ) +#endif`,G1t=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1392,25 +1392,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,K1t=`#if defined( RE_IndirectDiffuse ) +#endif`,X1t=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,q1t=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,J1t=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,$1t=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,K1t=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,Q1t=`#ifdef USE_LOGDEPTHBUF +#endif`,q1t=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,Z1t=`#ifdef USE_LOGDEPTHBUF +#endif`,$1t=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1420,16 +1420,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,egt=`#ifdef USE_MAP +#endif`,Q1t=`#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); #endif diffuseColor *= sampledDiffuseColor; -#endif`,tgt=`#ifdef USE_MAP +#endif`,Z1t=`#ifdef USE_MAP uniform sampler2D map; -#endif`,ngt=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,egt=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1441,7 +1441,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,ogt=`#if defined( USE_POINTS_UV ) +#endif`,tgt=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1453,13 +1453,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,igt=`float metalnessFactor = metalness; +#endif`,ngt=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,rgt=`#ifdef USE_METALNESSMAP +#endif`,ogt=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,agt=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,igt=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1468,7 +1468,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,lgt=`#ifdef USE_MORPHNORMALS +#endif`,rgt=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1480,7 +1480,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,sgt=`#ifdef USE_MORPHTARGETS +#endif`,agt=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1500,7 +1500,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,cgt=`#ifdef USE_MORPHTARGETS +#endif`,lgt=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1518,7 +1518,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,ugt=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,sgt=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1559,7 +1559,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,dgt=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,cgt=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1574,25 +1574,25 @@ vec3 nonPerturbedNormal = normal;`,dgt=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,fgt=`#ifndef FLAT_SHADED +#endif`,ugt=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,hgt=`#ifndef FLAT_SHADED +#endif`,dgt=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,pgt=`#ifndef FLAT_SHADED +#endif`,fgt=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,ggt=`#ifdef USE_NORMALMAP +#endif`,hgt=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1614,13 +1614,13 @@ vec3 nonPerturbedNormal = normal;`,dgt=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,mgt=`#ifdef USE_CLEARCOAT +#endif`,pgt=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,ygt=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,ggt=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,Agt=`#ifdef USE_CLEARCOATMAP +#endif`,mgt=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1629,18 +1629,18 @@ vec3 nonPerturbedNormal = normal;`,dgt=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,wgt=`#ifdef USE_IRIDESCENCEMAP +#endif`,ygt=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,vgt=`#ifdef OPAQUE +#endif`,Agt=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,xgt=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,wgt=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1681,29 +1681,29 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,bgt=`#ifdef PREMULTIPLIED_ALPHA +}`,vgt=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,Sgt=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,xgt=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_INSTANCING mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,bgt=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,Pgt=`#ifdef DITHERING +#endif`,Sgt=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,Cgt=`float roughnessFactor = roughness; +#endif`,Tgt=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,Rgt=`#ifdef USE_ROUGHNESSMAP +#endif`,Pgt=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,Hgt=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Cgt=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1880,7 +1880,7 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,Mgt=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Rgt=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1918,7 +1918,7 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,Igt=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,Hgt=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; #endif @@ -1950,7 +1950,7 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,zgt=`float getShadowMask() { +#endif`,Mgt=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -1982,12 +1982,12 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING #endif #endif return shadow; -}`,Dgt=`#ifdef USE_SKINNING +}`,Igt=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,Egt=`#ifdef USE_SKINNING +#endif`,zgt=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2006,7 +2006,7 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING mat4 bone = mat4( v1, v2, v3, v4 ); return bone; } -#endif`,kgt=`#ifdef USE_SKINNING +#endif`,Dgt=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2014,7 +2014,7 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,Fgt=`#ifdef USE_SKINNING +#endif`,Egt=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2025,17 +2025,17 @@ gl_Position = projectionMatrix * mvPosition;`,Tgt=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,Lgt=`float specularStrength; +#endif`,kgt=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,Wgt=`#ifdef USE_SPECULARMAP +#endif`,Fgt=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,Ngt=`#if defined( TONE_MAPPING ) +#endif`,Lgt=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,Ugt=`#ifndef saturate +#endif`,Wgt=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2071,7 +2071,7 @@ vec3 ACESFilmicToneMapping( vec3 color ) { color = ACESOutputMat * color; return saturate( color ); } -vec3 CustomToneMapping( vec3 color ) { return color; }`,Bgt=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,Ngt=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2092,7 +2092,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Bgt=`#ifdef USE_TRANSMIS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,jgt=`#ifdef USE_TRANSMISSION +#endif`,Ugt=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2198,7 +2198,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Bgt=`#ifdef USE_TRANSMIS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,Ygt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,Bgt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2268,7 +2268,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Bgt=`#ifdef USE_TRANSMIS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,Ogt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,jgt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2362,7 +2362,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Bgt=`#ifdef USE_TRANSMIS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,_gt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,Ygt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2433,18 +2433,18 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Bgt=`#ifdef USE_TRANSMIS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,Vgt=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Ogt=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_INSTANCING worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const Ggt=`varying vec2 vUv; +#endif`;const _gt=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,Xgt=`uniform sampler2D t2D; +}`,Vgt=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2456,14 +2456,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,Jgt=`varying vec3 vWorldDirection; +}`,Ggt=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,Kgt=`#ifdef ENVMAP_TYPE_CUBE +}`,Xgt=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2485,14 +2485,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,qgt=`varying vec3 vWorldDirection; +}`,Jgt=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,$gt=`uniform samplerCube tCube; +}`,Kgt=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2502,7 +2502,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,Qgt=`#include +}`,qgt=`#include #include #include #include @@ -2526,7 +2526,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,Zgt=`#if DEPTH_PACKING == 3200 +}`,$gt=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2556,7 +2556,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,emt=`#define DISTANCE +}`,Qgt=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2580,7 +2580,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,tmt=`#define DISTANCE +}`,Zgt=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2604,13 +2604,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,nmt=`varying vec3 vWorldDirection; +}`,emt=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,omt=`uniform sampler2D tEquirect; +}`,tmt=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2619,7 +2619,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,imt=`uniform float scale; +}`,nmt=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2640,7 +2640,7 @@ void main() { #include #include #include -}`,rmt=`uniform vec3 diffuse; +}`,omt=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2668,7 +2668,7 @@ void main() { #include #include #include -}`,amt=`#include +}`,imt=`#include #include #include #include @@ -2697,7 +2697,7 @@ void main() { #include #include #include -}`,lmt=`uniform vec3 diffuse; +}`,rmt=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2745,7 +2745,7 @@ void main() { #include #include #include -}`,smt=`#define LAMBERT +}`,amt=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2781,7 +2781,7 @@ void main() { #include #include #include -}`,cmt=`#define LAMBERT +}`,lmt=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2838,7 +2838,7 @@ void main() { #include #include #include -}`,umt=`#define MATCAP +}`,smt=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2869,7 +2869,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,dmt=`#define MATCAP +}`,cmt=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -2915,7 +2915,7 @@ void main() { #include #include #include -}`,fmt=`#define NORMAL +}`,umt=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -2945,7 +2945,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,hmt=`#define NORMAL +}`,dmt=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -2966,7 +2966,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,pmt=`#define PHONG +}`,fmt=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3002,7 +3002,7 @@ void main() { #include #include #include -}`,gmt=`#define PHONG +}`,hmt=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3061,7 +3061,7 @@ void main() { #include #include #include -}`,mmt=`#define STANDARD +}`,pmt=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3101,7 +3101,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,ymt=`#define STANDARD +}`,gmt=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3223,7 +3223,7 @@ void main() { #include #include #include -}`,Amt=`#define TOON +}`,mmt=`#define TOON varying vec3 vViewPosition; #include #include @@ -3257,7 +3257,7 @@ void main() { #include #include #include -}`,wmt=`#define TOON +}`,ymt=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3310,7 +3310,7 @@ void main() { #include #include #include -}`,vmt=`uniform float size; +}`,Amt=`uniform float size; uniform float scale; #include #include @@ -3340,7 +3340,7 @@ void main() { #include #include #include -}`,xmt=`uniform vec3 diffuse; +}`,wmt=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3365,7 +3365,7 @@ void main() { #include #include #include -}`,bmt=`#include +}`,vmt=`#include #include #include #include @@ -3385,7 +3385,7 @@ void main() { #include #include #include -}`,Smt=`uniform vec3 color; +}`,xmt=`uniform vec3 color; uniform float opacity; #include #include @@ -3401,7 +3401,7 @@ void main() { #include #include #include -}`,Tmt=`uniform float rotation; +}`,bmt=`uniform float rotation; uniform vec2 center; #include #include @@ -3427,7 +3427,7 @@ void main() { #include #include #include -}`,Pmt=`uniform vec3 diffuse; +}`,Smt=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3452,7 +3452,7 @@ void main() { #include #include #include -}`,ua={alphahash_fragment:Kpt,alphahash_pars_fragment:qpt,alphamap_fragment:$pt,alphamap_pars_fragment:Qpt,alphatest_fragment:Zpt,alphatest_pars_fragment:e1t,aomap_fragment:t1t,aomap_pars_fragment:n1t,begin_vertex:o1t,beginnormal_vertex:i1t,bsdfs:r1t,iridescence_fragment:a1t,bumpmap_pars_fragment:l1t,clipping_planes_fragment:s1t,clipping_planes_pars_fragment:c1t,clipping_planes_pars_vertex:u1t,clipping_planes_vertex:d1t,color_fragment:f1t,color_pars_fragment:h1t,color_pars_vertex:p1t,color_vertex:g1t,common:m1t,cube_uv_reflection_fragment:y1t,defaultnormal_vertex:A1t,displacementmap_pars_vertex:w1t,displacementmap_vertex:v1t,emissivemap_fragment:x1t,emissivemap_pars_fragment:b1t,colorspace_fragment:S1t,colorspace_pars_fragment:T1t,envmap_fragment:P1t,envmap_common_pars_fragment:C1t,envmap_pars_fragment:R1t,envmap_pars_vertex:H1t,envmap_physical_pars_fragment:B1t,envmap_vertex:M1t,fog_vertex:I1t,fog_pars_vertex:z1t,fog_fragment:D1t,fog_pars_fragment:E1t,gradientmap_pars_fragment:k1t,lightmap_fragment:F1t,lightmap_pars_fragment:L1t,lights_lambert_fragment:W1t,lights_lambert_pars_fragment:N1t,lights_pars_begin:U1t,lights_toon_fragment:j1t,lights_toon_pars_fragment:Y1t,lights_phong_fragment:O1t,lights_phong_pars_fragment:_1t,lights_physical_fragment:V1t,lights_physical_pars_fragment:G1t,lights_fragment_begin:X1t,lights_fragment_maps:J1t,lights_fragment_end:K1t,logdepthbuf_fragment:q1t,logdepthbuf_pars_fragment:$1t,logdepthbuf_pars_vertex:Q1t,logdepthbuf_vertex:Z1t,map_fragment:egt,map_pars_fragment:tgt,map_particle_fragment:ngt,map_particle_pars_fragment:ogt,metalnessmap_fragment:igt,metalnessmap_pars_fragment:rgt,morphcolor_vertex:agt,morphnormal_vertex:lgt,morphtarget_pars_vertex:sgt,morphtarget_vertex:cgt,normal_fragment_begin:ugt,normal_fragment_maps:dgt,normal_pars_fragment:fgt,normal_pars_vertex:hgt,normal_vertex:pgt,normalmap_pars_fragment:ggt,clearcoat_normal_fragment_begin:mgt,clearcoat_normal_fragment_maps:ygt,clearcoat_pars_fragment:Agt,iridescence_pars_fragment:wgt,opaque_fragment:vgt,packing:xgt,premultiplied_alpha_fragment:bgt,project_vertex:Sgt,dithering_fragment:Tgt,dithering_pars_fragment:Pgt,roughnessmap_fragment:Cgt,roughnessmap_pars_fragment:Rgt,shadowmap_pars_fragment:Hgt,shadowmap_pars_vertex:Mgt,shadowmap_vertex:Igt,shadowmask_pars_fragment:zgt,skinbase_vertex:Dgt,skinning_pars_vertex:Egt,skinning_vertex:kgt,skinnormal_vertex:Fgt,specularmap_fragment:Lgt,specularmap_pars_fragment:Wgt,tonemapping_fragment:Ngt,tonemapping_pars_fragment:Ugt,transmission_fragment:Bgt,transmission_pars_fragment:jgt,uv_pars_fragment:Ygt,uv_pars_vertex:Ogt,uv_vertex:_gt,worldpos_vertex:Vgt,background_vert:Ggt,background_frag:Xgt,backgroundCube_vert:Jgt,backgroundCube_frag:Kgt,cube_vert:qgt,cube_frag:$gt,depth_vert:Qgt,depth_frag:Zgt,distanceRGBA_vert:emt,distanceRGBA_frag:tmt,equirect_vert:nmt,equirect_frag:omt,linedashed_vert:imt,linedashed_frag:rmt,meshbasic_vert:amt,meshbasic_frag:lmt,meshlambert_vert:smt,meshlambert_frag:cmt,meshmatcap_vert:umt,meshmatcap_frag:dmt,meshnormal_vert:fmt,meshnormal_frag:hmt,meshphong_vert:pmt,meshphong_frag:gmt,meshphysical_vert:mmt,meshphysical_frag:ymt,meshtoon_vert:Amt,meshtoon_frag:wmt,points_vert:vmt,points_frag:xmt,shadow_vert:bmt,shadow_frag:Smt,sprite_vert:Tmt,sprite_frag:Pmt},pi={common:{diffuse:{value:new Xo(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new fa},alphaMap:{value:null},alphaMapTransform:{value:new fa},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new fa}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new fa}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new fa}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new fa},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new fa},normalScale:{value:new Gt(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new fa},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new fa}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new fa}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new fa}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Xo(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Xo(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new fa},alphaTest:{value:0},uvTransform:{value:new fa}},sprite:{diffuse:{value:new Xo(16777215)},opacity:{value:1},center:{value:new Gt(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new fa},alphaMap:{value:null},alphaMapTransform:{value:new fa},alphaTest:{value:0}}},u2={basic:{uniforms:jh([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.fog]),vertexShader:ua.meshbasic_vert,fragmentShader:ua.meshbasic_frag},lambert:{uniforms:jh([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)}}]),vertexShader:ua.meshlambert_vert,fragmentShader:ua.meshlambert_frag},phong:{uniforms:jh([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)},specular:{value:new Xo(1118481)},shininess:{value:30}}]),vertexShader:ua.meshphong_vert,fragmentShader:ua.meshphong_frag},standard:{uniforms:jh([pi.common,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.roughnessmap,pi.metalnessmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ua.meshphysical_vert,fragmentShader:ua.meshphysical_frag},toon:{uniforms:jh([pi.common,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.gradientmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)}}]),vertexShader:ua.meshtoon_vert,fragmentShader:ua.meshtoon_frag},matcap:{uniforms:jh([pi.common,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,{matcap:{value:null}}]),vertexShader:ua.meshmatcap_vert,fragmentShader:ua.meshmatcap_frag},points:{uniforms:jh([pi.points,pi.fog]),vertexShader:ua.points_vert,fragmentShader:ua.points_frag},dashed:{uniforms:jh([pi.common,pi.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ua.linedashed_vert,fragmentShader:ua.linedashed_frag},depth:{uniforms:jh([pi.common,pi.displacementmap]),vertexShader:ua.depth_vert,fragmentShader:ua.depth_frag},normal:{uniforms:jh([pi.common,pi.bumpmap,pi.normalmap,pi.displacementmap,{opacity:{value:1}}]),vertexShader:ua.meshnormal_vert,fragmentShader:ua.meshnormal_frag},sprite:{uniforms:jh([pi.sprite,pi.fog]),vertexShader:ua.sprite_vert,fragmentShader:ua.sprite_frag},background:{uniforms:{uvTransform:{value:new fa},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ua.background_vert,fragmentShader:ua.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:ua.backgroundCube_vert,fragmentShader:ua.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ua.cube_vert,fragmentShader:ua.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ua.equirect_vert,fragmentShader:ua.equirect_frag},distanceRGBA:{uniforms:jh([pi.common,pi.displacementmap,{referencePosition:{value:new re},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ua.distanceRGBA_vert,fragmentShader:ua.distanceRGBA_frag},shadow:{uniforms:jh([pi.lights,pi.fog,{color:{value:new Xo(0)},opacity:{value:1}}]),vertexShader:ua.shadow_vert,fragmentShader:ua.shadow_frag}};u2.physical={uniforms:jh([u2.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new fa},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new fa},clearcoatNormalScale:{value:new Gt(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new fa},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new fa},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new fa},sheen:{value:0},sheenColor:{value:new Xo(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new fa},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new fa},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new fa},transmissionSamplerSize:{value:new Gt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new fa},attenuationDistance:{value:0},attenuationColor:{value:new Xo(0)},specularColor:{value:new Xo(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new fa},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new fa},anisotropyVector:{value:new Gt},anisotropyMap:{value:null},anisotropyMapTransform:{value:new fa}}]),vertexShader:ua.meshphysical_vert,fragmentShader:ua.meshphysical_frag};const yj={r:0,b:0,g:0};function Cmt(t,e,n,o,i,r,a){const l=new Xo(0);let s=r===!0?0:1,c,u,d=null,f=0,p=null;function g(w,b){let C=!1,P=b.isScene===!0?b.background:null;P&&P.isTexture&&(P=(b.backgroundBlurriness>0?n:e).get(P)),P===null?A(l,s):P&&P.isColor&&(A(P,1),C=!0);const v=t.xr.getEnvironmentBlendMode();v==="additive"?o.buffers.color.setClear(0,0,0,1,a):v==="alpha-blend"&&o.buffers.color.setClear(0,0,0,0,a),(t.autoClear||C)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),P&&(P.isCubeTexture||P.mapping===dH)?(u===void 0&&(u=new es(new X9(1,1,1),new W2({name:"BackgroundCubeMaterial",uniforms:GC(u2.backgroundCube.uniforms),vertexShader:u2.backgroundCube.vertexShader,fragmentShader:u2.backgroundCube.fragmentShader,side:p0,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(T,y,S){this.matrixWorld.copyPosition(S.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),u.material.uniforms.envMap.value=P,u.material.uniforms.flipEnvMap.value=P.isCubeTexture&&P.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=b.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=b.backgroundIntensity,u.material.toneMapped=rs.getTransfer(P.colorSpace)!==Ws,(d!==P||f!==P.version||p!==t.toneMapping)&&(u.material.needsUpdate=!0,d=P,f=P.version,p=t.toneMapping),u.layers.enableAll(),w.unshift(u,u.geometry,u.material,0,0,null)):P&&P.isTexture&&(c===void 0&&(c=new es(new S7(2,2),new W2({name:"BackgroundMaterial",uniforms:GC(u2.background.uniforms),vertexShader:u2.background.vertexShader,fragmentShader:u2.background.fragmentShader,side:ia,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=P,c.material.uniforms.backgroundIntensity.value=b.backgroundIntensity,c.material.toneMapped=rs.getTransfer(P.colorSpace)!==Ws,P.matrixAutoUpdate===!0&&P.updateMatrix(),c.material.uniforms.uvTransform.value.copy(P.matrix),(d!==P||f!==P.version||p!==t.toneMapping)&&(c.material.needsUpdate=!0,d=P,f=P.version,p=t.toneMapping),c.layers.enableAll(),w.unshift(c,c.geometry,c.material,0,0,null))}function A(w,b){w.getRGB(yj,PWe(t)),o.buffers.color.setClear(yj.r,yj.g,yj.b,b,a)}return{getClearColor:function(){return l},setClearColor:function(w,b=1){l.set(w),s=b,A(l,s)},getClearAlpha:function(){return s},setClearAlpha:function(w){s=w,A(l,s)},render:g}}function Rmt(t,e,n,o){const i=t.getParameter(t.MAX_VERTEX_ATTRIBS),r=o.isWebGL2?null:e.get("OES_vertex_array_object"),a=o.isWebGL2||r!==null,l={},s=w(null);let c=s,u=!1;function d(N,L,E,U,F){let B=!1;if(a){const _=A(U,E,L);c!==_&&(c=_,p(c.object)),B=b(N,U,E,F),B&&C(N,U,E,F)}else{const _=L.wireframe===!0;(c.geometry!==U.id||c.program!==E.id||c.wireframe!==_)&&(c.geometry=U.id,c.program=E.id,c.wireframe=_,B=!0)}F!==null&&n.update(F,t.ELEMENT_ARRAY_BUFFER),(B||u)&&(u=!1,x(N,L,E,U),F!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.get(F).buffer))}function f(){return o.isWebGL2?t.createVertexArray():r.createVertexArrayOES()}function p(N){return o.isWebGL2?t.bindVertexArray(N):r.bindVertexArrayOES(N)}function g(N){return o.isWebGL2?t.deleteVertexArray(N):r.deleteVertexArrayOES(N)}function A(N,L,E){const U=E.wireframe===!0;let F=l[N.id];F===void 0&&(F={},l[N.id]=F);let B=F[L.id];B===void 0&&(B={},F[L.id]=B);let _=B[U];return _===void 0&&(_=w(f()),B[U]=_),_}function w(N){const L=[],E=[],U=[];for(let F=0;F=0){const Z=F[O];let ie=B[O];if(ie===void 0&&(O==="instanceMatrix"&&N.instanceMatrix&&(ie=N.instanceMatrix),O==="instanceColor"&&N.instanceColor&&(ie=N.instanceColor)),Z===void 0||Z.attribute!==ie||ie&&Z.data!==ie.data)return!0;_++}return c.attributesNum!==_||c.index!==U}function C(N,L,E,U){const F={},B=L.attributes;let _=0;const Y=E.getAttributes();for(const O in Y)if(Y[O].location>=0){let Z=B[O];Z===void 0&&(O==="instanceMatrix"&&N.instanceMatrix&&(Z=N.instanceMatrix),O==="instanceColor"&&N.instanceColor&&(Z=N.instanceColor));const ie={};ie.attribute=Z,Z&&Z.data&&(ie.data=Z.data),F[O]=ie,_++}c.attributes=F,c.attributesNum=_,c.index=U}function P(){const N=c.newAttributes;for(let L=0,E=N.length;L=0){let J=F[Y];if(J===void 0&&(Y==="instanceMatrix"&&N.instanceMatrix&&(J=N.instanceMatrix),Y==="instanceColor"&&N.instanceColor&&(J=N.instanceColor)),J!==void 0){const Z=J.normalized,ie=J.itemSize,ee=n.get(J);if(ee===void 0)continue;const q=ee.buffer,ae=ee.type,ne=ee.bytesPerElement,se=o.isWebGL2===!0&&(ae===t.INT||ae===t.UNSIGNED_INT||J.gpuType===Jpe);if(J.isInterleavedBufferAttribute){const le=J.data,te=le.stride,he=J.offset;if(le.isInstancedInterleavedBuffer){for(let pe=0;pe0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";S="mediump"}return S==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const a=typeof WebGL2RenderingContext<"u"&&t.constructor.name==="WebGL2RenderingContext";let l=n.precision!==void 0?n.precision:"highp";const s=r(l);s!==l&&(console.warn("THREE.WebGLRenderer:",l,"not supported, using",s,"instead."),l=s);const c=a||e.has("WEBGL_draw_buffers"),u=n.logarithmicDepthBuffer===!0,d=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),f=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=t.getParameter(t.MAX_TEXTURE_SIZE),g=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),A=t.getParameter(t.MAX_VERTEX_ATTRIBS),w=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),b=t.getParameter(t.MAX_VARYING_VECTORS),C=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),P=f>0,v=a||e.has("OES_texture_float"),T=P&&v,y=a?t.getParameter(t.MAX_SAMPLES):0;return{isWebGL2:a,drawBuffers:c,getMaxAnisotropy:i,getMaxPrecision:r,precision:l,logarithmicDepthBuffer:u,maxTextures:d,maxVertexTextures:f,maxTextureSize:p,maxCubemapSize:g,maxAttributes:A,maxVertexUniforms:w,maxVaryings:b,maxFragmentUniforms:C,vertexTextures:P,floatFragmentTextures:v,floatVertexTextures:T,maxSamples:y}}function Imt(t){const e=this;let n=null,o=0,i=!1,r=!1;const a=new Q5,l=new fa,s={value:null,needsUpdate:!1};this.uniform=s,this.numPlanes=0,this.numIntersection=0,this.init=function(d,f){const p=d.length!==0||f||o!==0||i;return i=f,o=d.length,p},this.beginShadows=function(){r=!0,u(null)},this.endShadows=function(){r=!1},this.setGlobalState=function(d,f){n=u(d,f,0)},this.setState=function(d,f,p){const g=d.clippingPlanes,A=d.clipIntersection,w=d.clipShadows,b=t.get(d);if(!i||g===null||g.length===0||r&&!w)r?u(null):c();else{const C=r?0:o,P=C*4;let v=b.clippingState||null;s.value=v,v=u(g,f,P,p);for(let T=0;T!==P;++T)v[T]=n[T];b.clippingState=v,this.numIntersection=A?this.numPlanes:0,this.numPlanes+=C}};function c(){s.value!==n&&(s.value=n,s.needsUpdate=o>0),e.numPlanes=o,e.numIntersection=0}function u(d,f,p,g){const A=d!==null?d.length:0;let w=null;if(A!==0){if(w=s.value,g!==!0||w===null){const b=p+A*4,C=f.matrixWorldInverse;l.getNormalMatrix(C),(w===null||w.length0){const c=new RWe(s.height/2);return c.fromEquirectangularTexture(t,a),e.set(a,c),a.addEventListener("dispose",i),n(c.texture,a.mapping)}else return null}}return a}function i(a){const l=a.target;l.removeEventListener("dispose",i);const s=e.get(l);s!==void 0&&(e.delete(l),s.dispose())}function r(){e=new WeakMap}return{get:o,dispose:r}}let YL=class extends BL{constructor(e=-1,n=1,o=1,i=-1,r=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=o,this.bottom=i,this.near=r,this.far=a,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,n,o,i,r,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=o,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),n=(this.top-this.bottom)/(2*this.zoom),o=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=o-e,a=o+e,l=i+n,s=i-n;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=c*this.view.offsetX,a=r+c*this.view.width,l-=u*this.view.offsetY,s=l-u*this.view.height}this.projectionMatrix.makeOrthographic(r,a,l,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}};const NP=4,ZAe=[.125,.215,.35,.446,.526,.582],gv=20,moe=new YL,e4e=new Xo;let yoe=null,Aoe=0,woe=0;const av=(1+Math.sqrt(5))/2,sT=1/av,t4e=[new re(1,1,1),new re(-1,1,1),new re(1,1,-1),new re(-1,1,-1),new re(0,av,sT),new re(0,av,-sT),new re(sT,0,av),new re(-sT,0,av),new re(av,sT,0),new re(-av,sT,0)];class Gse{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,n=0,o=.1,i=100){yoe=this._renderer.getRenderTarget(),Aoe=this._renderer.getActiveCubeFace(),woe=this._renderer.getActiveMipmapLevel(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(e,o,i,r),n>0&&this._blur(r,0,0,n),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=i4e(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=o4e(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?P:0,P,P),u.setRenderTarget(i),A&&u.render(g,l),u.render(e,l)}g.geometry.dispose(),g.material.dispose(),u.toneMapping=f,u.autoClear=d,e.background=w}_textureToCubeUV(e,n){const o=this._renderer,i=e.mapping===j6||e.mapping===Gw;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=i4e()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=o4e());const r=i?this._cubemapMaterial:this._equirectMaterial,a=new es(this._lodPlanes[0],r),l=r.uniforms;l.envMap.value=e;const s=this._cubeSize;Aj(n,0,0,3*s,2*s),o.setRenderTarget(n),o.render(a,moe)}_applyPMREM(e){const n=this._renderer,o=n.autoClear;n.autoClear=!1;for(let i=1;igv&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${w} samples when the maximum is set to ${gv}`);const b=[];let C=0;for(let S=0;SP-NP?i-P+NP:0),y=4*(this._cubeSize-v);Aj(n,T,y,3*v,2*v),s.setRenderTarget(n),s.render(d,moe)}}function Dmt(t){const e=[],n=[],o=[];let i=t;const r=t-NP+1+ZAe.length;for(let a=0;at-NP?s=ZAe[a-t+NP-1]:a===0&&(s=0),o.push(s);const c=1/(l-2),u=-c,d=1+c,f=[u,u,d,u,d,d,u,u,d,d,u,d],p=6,g=6,A=3,w=2,b=1,C=new Float32Array(A*g*p),P=new Float32Array(w*g*p),v=new Float32Array(b*g*p);for(let y=0;y2?0:-1,R=[S,x,0,S+2/3,x,0,S+2/3,x+1,0,S,x,0,S+2/3,x+1,0,S,x+1,0];C.set(R,A*g*y),P.set(f,w*g*y);const H=[y,y,y,y,y,y];v.set(H,b*g*y)}const T=new Ur;T.setAttribute("position",new qa(C,A)),T.setAttribute("uv",new qa(P,w)),T.setAttribute("faceIndex",new qa(v,b)),e.push(T),i>NP&&i--}return{lodPlanes:e,sizeLods:n,sigmas:o}}function n4e(t,e,n){const o=new Vm(t,e,n);return o.texture.mapping=dH,o.texture.name="PMREM.cubeUv",o.scissorTest=!0,o}function Aj(t,e,n,o,i){t.viewport.set(e,n,o,i),t.scissor.set(e,n,o,i)}function Emt(t,e,n){const o=new Float32Array(gv),i=new re(0,1,0);return new W2({name:"SphericalGaussianBlur",defines:{n:gv,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:o},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:s1e(),fragmentShader:` +}`,ua={alphahash_fragment:Xpt,alphahash_pars_fragment:Jpt,alphamap_fragment:Kpt,alphamap_pars_fragment:qpt,alphatest_fragment:$pt,alphatest_pars_fragment:Qpt,aomap_fragment:Zpt,aomap_pars_fragment:e1t,begin_vertex:t1t,beginnormal_vertex:n1t,bsdfs:o1t,iridescence_fragment:i1t,bumpmap_pars_fragment:r1t,clipping_planes_fragment:a1t,clipping_planes_pars_fragment:l1t,clipping_planes_pars_vertex:s1t,clipping_planes_vertex:c1t,color_fragment:u1t,color_pars_fragment:d1t,color_pars_vertex:f1t,color_vertex:h1t,common:p1t,cube_uv_reflection_fragment:g1t,defaultnormal_vertex:m1t,displacementmap_pars_vertex:y1t,displacementmap_vertex:A1t,emissivemap_fragment:w1t,emissivemap_pars_fragment:v1t,colorspace_fragment:x1t,colorspace_pars_fragment:b1t,envmap_fragment:S1t,envmap_common_pars_fragment:T1t,envmap_pars_fragment:P1t,envmap_pars_vertex:C1t,envmap_physical_pars_fragment:N1t,envmap_vertex:R1t,fog_vertex:H1t,fog_pars_vertex:M1t,fog_fragment:I1t,fog_pars_fragment:z1t,gradientmap_pars_fragment:D1t,lightmap_fragment:E1t,lightmap_pars_fragment:k1t,lights_lambert_fragment:F1t,lights_lambert_pars_fragment:L1t,lights_pars_begin:W1t,lights_toon_fragment:U1t,lights_toon_pars_fragment:B1t,lights_phong_fragment:j1t,lights_phong_pars_fragment:Y1t,lights_physical_fragment:O1t,lights_physical_pars_fragment:_1t,lights_fragment_begin:V1t,lights_fragment_maps:G1t,lights_fragment_end:X1t,logdepthbuf_fragment:J1t,logdepthbuf_pars_fragment:K1t,logdepthbuf_pars_vertex:q1t,logdepthbuf_vertex:$1t,map_fragment:Q1t,map_pars_fragment:Z1t,map_particle_fragment:egt,map_particle_pars_fragment:tgt,metalnessmap_fragment:ngt,metalnessmap_pars_fragment:ogt,morphcolor_vertex:igt,morphnormal_vertex:rgt,morphtarget_pars_vertex:agt,morphtarget_vertex:lgt,normal_fragment_begin:sgt,normal_fragment_maps:cgt,normal_pars_fragment:ugt,normal_pars_vertex:dgt,normal_vertex:fgt,normalmap_pars_fragment:hgt,clearcoat_normal_fragment_begin:pgt,clearcoat_normal_fragment_maps:ggt,clearcoat_pars_fragment:mgt,iridescence_pars_fragment:ygt,opaque_fragment:Agt,packing:wgt,premultiplied_alpha_fragment:vgt,project_vertex:xgt,dithering_fragment:bgt,dithering_pars_fragment:Sgt,roughnessmap_fragment:Tgt,roughnessmap_pars_fragment:Pgt,shadowmap_pars_fragment:Cgt,shadowmap_pars_vertex:Rgt,shadowmap_vertex:Hgt,shadowmask_pars_fragment:Mgt,skinbase_vertex:Igt,skinning_pars_vertex:zgt,skinning_vertex:Dgt,skinnormal_vertex:Egt,specularmap_fragment:kgt,specularmap_pars_fragment:Fgt,tonemapping_fragment:Lgt,tonemapping_pars_fragment:Wgt,transmission_fragment:Ngt,transmission_pars_fragment:Ugt,uv_pars_fragment:Bgt,uv_pars_vertex:jgt,uv_vertex:Ygt,worldpos_vertex:Ogt,background_vert:_gt,background_frag:Vgt,backgroundCube_vert:Ggt,backgroundCube_frag:Xgt,cube_vert:Jgt,cube_frag:Kgt,depth_vert:qgt,depth_frag:$gt,distanceRGBA_vert:Qgt,distanceRGBA_frag:Zgt,equirect_vert:emt,equirect_frag:tmt,linedashed_vert:nmt,linedashed_frag:omt,meshbasic_vert:imt,meshbasic_frag:rmt,meshlambert_vert:amt,meshlambert_frag:lmt,meshmatcap_vert:smt,meshmatcap_frag:cmt,meshnormal_vert:umt,meshnormal_frag:dmt,meshphong_vert:fmt,meshphong_frag:hmt,meshphysical_vert:pmt,meshphysical_frag:gmt,meshtoon_vert:mmt,meshtoon_frag:ymt,points_vert:Amt,points_frag:wmt,shadow_vert:vmt,shadow_frag:xmt,sprite_vert:bmt,sprite_frag:Smt},pi={common:{diffuse:{value:new Xo(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new fa},alphaMap:{value:null},alphaMapTransform:{value:new fa},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new fa}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new fa}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new fa}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new fa},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new fa},normalScale:{value:new Gt(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new fa},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new fa}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new fa}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new fa}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Xo(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Xo(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new fa},alphaTest:{value:0},uvTransform:{value:new fa}},sprite:{diffuse:{value:new Xo(16777215)},opacity:{value:1},center:{value:new Gt(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new fa},alphaMap:{value:null},alphaMapTransform:{value:new fa},alphaTest:{value:0}}},u2={basic:{uniforms:jh([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.fog]),vertexShader:ua.meshbasic_vert,fragmentShader:ua.meshbasic_frag},lambert:{uniforms:jh([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)}}]),vertexShader:ua.meshlambert_vert,fragmentShader:ua.meshlambert_frag},phong:{uniforms:jh([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)},specular:{value:new Xo(1118481)},shininess:{value:30}}]),vertexShader:ua.meshphong_vert,fragmentShader:ua.meshphong_frag},standard:{uniforms:jh([pi.common,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.roughnessmap,pi.metalnessmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ua.meshphysical_vert,fragmentShader:ua.meshphysical_frag},toon:{uniforms:jh([pi.common,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.gradientmap,pi.fog,pi.lights,{emissive:{value:new Xo(0)}}]),vertexShader:ua.meshtoon_vert,fragmentShader:ua.meshtoon_frag},matcap:{uniforms:jh([pi.common,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,{matcap:{value:null}}]),vertexShader:ua.meshmatcap_vert,fragmentShader:ua.meshmatcap_frag},points:{uniforms:jh([pi.points,pi.fog]),vertexShader:ua.points_vert,fragmentShader:ua.points_frag},dashed:{uniforms:jh([pi.common,pi.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ua.linedashed_vert,fragmentShader:ua.linedashed_frag},depth:{uniforms:jh([pi.common,pi.displacementmap]),vertexShader:ua.depth_vert,fragmentShader:ua.depth_frag},normal:{uniforms:jh([pi.common,pi.bumpmap,pi.normalmap,pi.displacementmap,{opacity:{value:1}}]),vertexShader:ua.meshnormal_vert,fragmentShader:ua.meshnormal_frag},sprite:{uniforms:jh([pi.sprite,pi.fog]),vertexShader:ua.sprite_vert,fragmentShader:ua.sprite_frag},background:{uniforms:{uvTransform:{value:new fa},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ua.background_vert,fragmentShader:ua.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:ua.backgroundCube_vert,fragmentShader:ua.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ua.cube_vert,fragmentShader:ua.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ua.equirect_vert,fragmentShader:ua.equirect_frag},distanceRGBA:{uniforms:jh([pi.common,pi.displacementmap,{referencePosition:{value:new re},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ua.distanceRGBA_vert,fragmentShader:ua.distanceRGBA_frag},shadow:{uniforms:jh([pi.lights,pi.fog,{color:{value:new Xo(0)},opacity:{value:1}}]),vertexShader:ua.shadow_vert,fragmentShader:ua.shadow_frag}};u2.physical={uniforms:jh([u2.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new fa},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new fa},clearcoatNormalScale:{value:new Gt(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new fa},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new fa},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new fa},sheen:{value:0},sheenColor:{value:new Xo(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new fa},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new fa},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new fa},transmissionSamplerSize:{value:new Gt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new fa},attenuationDistance:{value:0},attenuationColor:{value:new Xo(0)},specularColor:{value:new Xo(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new fa},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new fa},anisotropyVector:{value:new Gt},anisotropyMap:{value:null},anisotropyMapTransform:{value:new fa}}]),vertexShader:ua.meshphysical_vert,fragmentShader:ua.meshphysical_frag};const yj={r:0,b:0,g:0};function Tmt(t,e,n,o,i,r,a){const l=new Xo(0);let s=r===!0?0:1,c,u,d=null,f=0,p=null;function g(w,b){let C=!1,P=b.isScene===!0?b.background:null;P&&P.isTexture&&(P=(b.backgroundBlurriness>0?n:e).get(P)),P===null?A(l,s):P&&P.isColor&&(A(P,1),C=!0);const v=t.xr.getEnvironmentBlendMode();v==="additive"?o.buffers.color.setClear(0,0,0,1,a):v==="alpha-blend"&&o.buffers.color.setClear(0,0,0,0,a),(t.autoClear||C)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),P&&(P.isCubeTexture||P.mapping===dH)?(u===void 0&&(u=new es(new X9(1,1,1),new W2({name:"BackgroundCubeMaterial",uniforms:GC(u2.backgroundCube.uniforms),vertexShader:u2.backgroundCube.vertexShader,fragmentShader:u2.backgroundCube.fragmentShader,side:p0,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(T,y,S){this.matrixWorld.copyPosition(S.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),u.material.uniforms.envMap.value=P,u.material.uniforms.flipEnvMap.value=P.isCubeTexture&&P.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=b.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=b.backgroundIntensity,u.material.toneMapped=rs.getTransfer(P.colorSpace)!==Ws,(d!==P||f!==P.version||p!==t.toneMapping)&&(u.material.needsUpdate=!0,d=P,f=P.version,p=t.toneMapping),u.layers.enableAll(),w.unshift(u,u.geometry,u.material,0,0,null)):P&&P.isTexture&&(c===void 0&&(c=new es(new S7(2,2),new W2({name:"BackgroundMaterial",uniforms:GC(u2.background.uniforms),vertexShader:u2.background.vertexShader,fragmentShader:u2.background.fragmentShader,side:ia,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=P,c.material.uniforms.backgroundIntensity.value=b.backgroundIntensity,c.material.toneMapped=rs.getTransfer(P.colorSpace)!==Ws,P.matrixAutoUpdate===!0&&P.updateMatrix(),c.material.uniforms.uvTransform.value.copy(P.matrix),(d!==P||f!==P.version||p!==t.toneMapping)&&(c.material.needsUpdate=!0,d=P,f=P.version,p=t.toneMapping),c.layers.enableAll(),w.unshift(c,c.geometry,c.material,0,0,null))}function A(w,b){w.getRGB(yj,SWe(t)),o.buffers.color.setClear(yj.r,yj.g,yj.b,b,a)}return{getClearColor:function(){return l},setClearColor:function(w,b=1){l.set(w),s=b,A(l,s)},getClearAlpha:function(){return s},setClearAlpha:function(w){s=w,A(l,s)},render:g}}function Pmt(t,e,n,o){const i=t.getParameter(t.MAX_VERTEX_ATTRIBS),r=o.isWebGL2?null:e.get("OES_vertex_array_object"),a=o.isWebGL2||r!==null,l={},s=w(null);let c=s,u=!1;function d(N,L,E,U,F){let B=!1;if(a){const _=A(U,E,L);c!==_&&(c=_,p(c.object)),B=b(N,U,E,F),B&&C(N,U,E,F)}else{const _=L.wireframe===!0;(c.geometry!==U.id||c.program!==E.id||c.wireframe!==_)&&(c.geometry=U.id,c.program=E.id,c.wireframe=_,B=!0)}F!==null&&n.update(F,t.ELEMENT_ARRAY_BUFFER),(B||u)&&(u=!1,x(N,L,E,U),F!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.get(F).buffer))}function f(){return o.isWebGL2?t.createVertexArray():r.createVertexArrayOES()}function p(N){return o.isWebGL2?t.bindVertexArray(N):r.bindVertexArrayOES(N)}function g(N){return o.isWebGL2?t.deleteVertexArray(N):r.deleteVertexArrayOES(N)}function A(N,L,E){const U=E.wireframe===!0;let F=l[N.id];F===void 0&&(F={},l[N.id]=F);let B=F[L.id];B===void 0&&(B={},F[L.id]=B);let _=B[U];return _===void 0&&(_=w(f()),B[U]=_),_}function w(N){const L=[],E=[],U=[];for(let F=0;F=0){const Z=F[O];let ie=B[O];if(ie===void 0&&(O==="instanceMatrix"&&N.instanceMatrix&&(ie=N.instanceMatrix),O==="instanceColor"&&N.instanceColor&&(ie=N.instanceColor)),Z===void 0||Z.attribute!==ie||ie&&Z.data!==ie.data)return!0;_++}return c.attributesNum!==_||c.index!==U}function C(N,L,E,U){const F={},B=L.attributes;let _=0;const Y=E.getAttributes();for(const O in Y)if(Y[O].location>=0){let Z=B[O];Z===void 0&&(O==="instanceMatrix"&&N.instanceMatrix&&(Z=N.instanceMatrix),O==="instanceColor"&&N.instanceColor&&(Z=N.instanceColor));const ie={};ie.attribute=Z,Z&&Z.data&&(ie.data=Z.data),F[O]=ie,_++}c.attributes=F,c.attributesNum=_,c.index=U}function P(){const N=c.newAttributes;for(let L=0,E=N.length;L=0){let J=F[Y];if(J===void 0&&(Y==="instanceMatrix"&&N.instanceMatrix&&(J=N.instanceMatrix),Y==="instanceColor"&&N.instanceColor&&(J=N.instanceColor)),J!==void 0){const Z=J.normalized,ie=J.itemSize,ee=n.get(J);if(ee===void 0)continue;const q=ee.buffer,ae=ee.type,ne=ee.bytesPerElement,se=o.isWebGL2===!0&&(ae===t.INT||ae===t.UNSIGNED_INT||J.gpuType===Jpe);if(J.isInterleavedBufferAttribute){const le=J.data,te=le.stride,he=J.offset;if(le.isInstancedInterleavedBuffer){for(let pe=0;pe0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";S="mediump"}return S==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const a=typeof WebGL2RenderingContext<"u"&&t.constructor.name==="WebGL2RenderingContext";let l=n.precision!==void 0?n.precision:"highp";const s=r(l);s!==l&&(console.warn("THREE.WebGLRenderer:",l,"not supported, using",s,"instead."),l=s);const c=a||e.has("WEBGL_draw_buffers"),u=n.logarithmicDepthBuffer===!0,d=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),f=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=t.getParameter(t.MAX_TEXTURE_SIZE),g=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),A=t.getParameter(t.MAX_VERTEX_ATTRIBS),w=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),b=t.getParameter(t.MAX_VARYING_VECTORS),C=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),P=f>0,v=a||e.has("OES_texture_float"),T=P&&v,y=a?t.getParameter(t.MAX_SAMPLES):0;return{isWebGL2:a,drawBuffers:c,getMaxAnisotropy:i,getMaxPrecision:r,precision:l,logarithmicDepthBuffer:u,maxTextures:d,maxVertexTextures:f,maxTextureSize:p,maxCubemapSize:g,maxAttributes:A,maxVertexUniforms:w,maxVaryings:b,maxFragmentUniforms:C,vertexTextures:P,floatFragmentTextures:v,floatVertexTextures:T,maxSamples:y}}function Hmt(t){const e=this;let n=null,o=0,i=!1,r=!1;const a=new Q5,l=new fa,s={value:null,needsUpdate:!1};this.uniform=s,this.numPlanes=0,this.numIntersection=0,this.init=function(d,f){const p=d.length!==0||f||o!==0||i;return i=f,o=d.length,p},this.beginShadows=function(){r=!0,u(null)},this.endShadows=function(){r=!1},this.setGlobalState=function(d,f){n=u(d,f,0)},this.setState=function(d,f,p){const g=d.clippingPlanes,A=d.clipIntersection,w=d.clipShadows,b=t.get(d);if(!i||g===null||g.length===0||r&&!w)r?u(null):c();else{const C=r?0:o,P=C*4;let v=b.clippingState||null;s.value=v,v=u(g,f,P,p);for(let T=0;T!==P;++T)v[T]=n[T];b.clippingState=v,this.numIntersection=A?this.numPlanes:0,this.numPlanes+=C}};function c(){s.value!==n&&(s.value=n,s.needsUpdate=o>0),e.numPlanes=o,e.numIntersection=0}function u(d,f,p,g){const A=d!==null?d.length:0;let w=null;if(A!==0){if(w=s.value,g!==!0||w===null){const b=p+A*4,C=f.matrixWorldInverse;l.getNormalMatrix(C),(w===null||w.length0){const c=new PWe(s.height/2);return c.fromEquirectangularTexture(t,a),e.set(a,c),a.addEventListener("dispose",i),n(c.texture,a.mapping)}else return null}}return a}function i(a){const l=a.target;l.removeEventListener("dispose",i);const s=e.get(l);s!==void 0&&(e.delete(l),s.dispose())}function r(){e=new WeakMap}return{get:o,dispose:r}}let YL=class extends BL{constructor(e=-1,n=1,o=1,i=-1,r=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=o,this.bottom=i,this.near=r,this.far=a,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,n,o,i,r,a){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=o,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),n=(this.top-this.bottom)/(2*this.zoom),o=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=o-e,a=o+e,l=i+n,s=i-n;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=c*this.view.offsetX,a=r+c*this.view.width,l-=u*this.view.offsetY,s=l-u*this.view.height}this.projectionMatrix.makeOrthographic(r,a,l,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}};const NP=4,ZAe=[.125,.215,.35,.446,.526,.582],gv=20,moe=new YL,e4e=new Xo;let yoe=null,Aoe=0,woe=0;const av=(1+Math.sqrt(5))/2,sT=1/av,t4e=[new re(1,1,1),new re(-1,1,1),new re(1,1,-1),new re(-1,1,-1),new re(0,av,sT),new re(0,av,-sT),new re(sT,0,av),new re(-sT,0,av),new re(av,sT,0),new re(-av,sT,0)];class Gse{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,n=0,o=.1,i=100){yoe=this._renderer.getRenderTarget(),Aoe=this._renderer.getActiveCubeFace(),woe=this._renderer.getActiveMipmapLevel(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(e,o,i,r),n>0&&this._blur(r,0,0,n),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=i4e(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=o4e(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?P:0,P,P),u.setRenderTarget(i),A&&u.render(g,l),u.render(e,l)}g.geometry.dispose(),g.material.dispose(),u.toneMapping=f,u.autoClear=d,e.background=w}_textureToCubeUV(e,n){const o=this._renderer,i=e.mapping===j6||e.mapping===Gw;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=i4e()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=o4e());const r=i?this._cubemapMaterial:this._equirectMaterial,a=new es(this._lodPlanes[0],r),l=r.uniforms;l.envMap.value=e;const s=this._cubeSize;Aj(n,0,0,3*s,2*s),o.setRenderTarget(n),o.render(a,moe)}_applyPMREM(e){const n=this._renderer,o=n.autoClear;n.autoClear=!1;for(let i=1;igv&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${w} samples when the maximum is set to ${gv}`);const b=[];let C=0;for(let S=0;SP-NP?i-P+NP:0),y=4*(this._cubeSize-v);Aj(n,T,y,3*v,2*v),s.setRenderTarget(n),s.render(d,moe)}}function Imt(t){const e=[],n=[],o=[];let i=t;const r=t-NP+1+ZAe.length;for(let a=0;at-NP?s=ZAe[a-t+NP-1]:a===0&&(s=0),o.push(s);const c=1/(l-2),u=-c,d=1+c,f=[u,u,d,u,d,d,u,u,d,d,u,d],p=6,g=6,A=3,w=2,b=1,C=new Float32Array(A*g*p),P=new Float32Array(w*g*p),v=new Float32Array(b*g*p);for(let y=0;y2?0:-1,R=[S,x,0,S+2/3,x,0,S+2/3,x+1,0,S,x,0,S+2/3,x+1,0,S,x+1,0];C.set(R,A*g*y),P.set(f,w*g*y);const H=[y,y,y,y,y,y];v.set(H,b*g*y)}const T=new Ur;T.setAttribute("position",new qa(C,A)),T.setAttribute("uv",new qa(P,w)),T.setAttribute("faceIndex",new qa(v,b)),e.push(T),i>NP&&i--}return{lodPlanes:e,sizeLods:n,sigmas:o}}function n4e(t,e,n){const o=new Vm(t,e,n);return o.texture.mapping=dH,o.texture.name="PMREM.cubeUv",o.scissorTest=!0,o}function Aj(t,e,n,o,i){t.viewport.set(e,n,o,i),t.scissor.set(e,n,o,i)}function zmt(t,e,n){const o=new Float32Array(gv),i=new re(0,1,0);return new W2({name:"SphericalGaussianBlur",defines:{n:gv,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:o},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:s1e(),fragmentShader:` precision mediump float; precision mediump int; @@ -3602,26 +3602,26 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function kmt(t){let e=new WeakMap,n=null;function o(l){if(l&&l.isTexture){const s=l.mapping,c=s===dk||s===fk,u=s===j6||s===Gw;if(c||u)if(l.isRenderTargetTexture&&l.needsPMREMUpdate===!0){l.needsPMREMUpdate=!1;let d=e.get(l);return n===null&&(n=new Gse(t)),d=c?n.fromEquirectangular(l,d):n.fromCubemap(l,d),e.set(l,d),d.texture}else{if(e.has(l))return e.get(l).texture;{const d=l.image;if(c&&d&&d.height>0||u&&d&&i(d)){n===null&&(n=new Gse(t));const f=c?n.fromEquirectangular(l):n.fromCubemap(l);return e.set(l,f),l.addEventListener("dispose",r),f.texture}else return null}}}return l}function i(l){let s=0;const c=6;for(let u=0;ue.maxTextureSize&&(D=Math.ceil(H/e.maxTextureSize),H=e.maxTextureSize);const k=new Float32Array(H*D*4*A),W=new FK(k,H,D,A);W.type=p2,W.needsUpdate=!0;const N=R*4;for(let E=0;E0)return t;const i=e*n;let r=r4e[i];if(r===void 0&&(r=new Float32Array(i),r4e[i]=r),e!==0){o.toArray(r,0);for(let a=1,l=0;a!==e;++a)l+=n,t[a].toArray(r,l)}return r}function Bu(t,e){if(t.length!==e.length)return!1;for(let n=0,o=t.length;n0||u&&d&&i(d)){n===null&&(n=new Gse(t));const f=c?n.fromEquirectangular(l):n.fromCubemap(l);return e.set(l,f),l.addEventListener("dispose",r),f.texture}else return null}}}return l}function i(l){let s=0;const c=6;for(let u=0;ue.maxTextureSize&&(D=Math.ceil(H/e.maxTextureSize),H=e.maxTextureSize);const k=new Float32Array(H*D*4*A),W=new FK(k,H,D,A);W.type=p2,W.needsUpdate=!0;const N=R*4;for(let E=0;E0)return t;const i=e*n;let r=r4e[i];if(r===void 0&&(r=new Float32Array(i),r4e[i]=r),e!==0){o.toArray(r,0);for(let a=1,l=0;a!==e;++a)l+=n,t[a].toArray(r,l)}return r}function Bu(t,e){if(t.length!==e.length)return!1;for(let n=0,o=t.length;n":" "} ${l}: ${n[a]}`)}return o.join(` -`)}function Lyt(t){const e=rs.getPrimaries(rs.workingColorSpace),n=rs.getPrimaries(t);let o;switch(e===n?o="":e===wk&&n===Ak?o="LinearDisplayP3ToLinearSRGB":e===Ak&&n===wk&&(o="LinearSRGBToLinearDisplayP3"),t){case R9:case UL:return[o,"LinearTransferOETF"];case nu:case kK:return[o,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[o,"LinearTransferOETF"]}}function f4e(t,e,n){const o=t.getShaderParameter(e,t.COMPILE_STATUS),i=t.getShaderInfoLog(e).trim();if(o&&i==="")return"";const r=/ERROR: 0:(\d+)/.exec(i);if(r){const a=parseInt(r[1]);return n.toUpperCase()+` +`)}function kyt(t){const e=rs.getPrimaries(rs.workingColorSpace),n=rs.getPrimaries(t);let o;switch(e===n?o="":e===wk&&n===Ak?o="LinearDisplayP3ToLinearSRGB":e===Ak&&n===wk&&(o="LinearSRGBToLinearDisplayP3"),t){case R9:case UL:return[o,"LinearTransferOETF"];case nu:case kK:return[o,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[o,"LinearTransferOETF"]}}function f4e(t,e,n){const o=t.getShaderParameter(e,t.COMPILE_STATUS),i=t.getShaderInfoLog(e).trim();if(o&&i==="")return"";const r=/ERROR: 0:(\d+)/.exec(i);if(r){const a=parseInt(r[1]);return n.toUpperCase()+` `+i+` -`+Fyt(t.getShaderSource(e),a)}else return i}function Wyt(t,e){const n=Lyt(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function Nyt(t,e){let n;switch(e){case GLe:n="Linear";break;case XLe:n="Reinhard";break;case JLe:n="OptimizedCineon";break;case Gpe:n="ACESFilmic";break;case KLe:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function Uyt(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.normalMapTangentSpace||t.clearcoatNormalMap||t.flatShading||t.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(fD).join(` -`)}function Byt(t){const e=[];for(const n in t){const o=t[n];o!==!1&&e.push("#define "+n+" "+o)}return e.join(` -`)}function jyt(t,e){const n={},o=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function Xse(t){return t.replace(Yyt,_yt)}const Oyt=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function _yt(t,e){let n=ua[e];if(n===void 0){const o=Oyt.get(e);if(o!==void 0)n=ua[o],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,o);else throw new Error("Can not resolve #include <"+e+">")}return Xse(n)}const Vyt=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function g4e(t){return t.replace(Vyt,Gyt)}function Gyt(t,e,n,o){let i="";for(let r=parseInt(e);r/gm;function Xse(t){return t.replace(Byt,Yyt)}const jyt=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function Yyt(t,e){let n=ua[e];if(n===void 0){const o=jyt.get(e);if(o!==void 0)n=ua[o],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,o);else throw new Error("Can not resolve #include <"+e+">")}return Xse(n)}const Oyt=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function g4e(t){return t.replace(Oyt,_yt)}function _yt(t,e,n,o){let i="";for(let r=parseInt(e);r0&&(w+=` `),b=[p,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,g].filter(fD).join(` `),b.length>0&&(b+=` `)):(w=[m4e(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,g,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+u:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&n.flatShading===!1?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+s:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` `].filter(fD).join(` -`),b=[p,m4e(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.envMap?"#define "+u:"",n.envMap?"#define "+d:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+s:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==g9?"#define TONE_MAPPING":"",n.toneMapping!==g9?ua.tonemapping_pars_fragment:"",n.toneMapping!==g9?Nyt("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",ua.colorspace_pars_fragment,Wyt("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` +`),b=[p,m4e(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.envMap?"#define "+u:"",n.envMap?"#define "+d:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+s:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==g9?"#define TONE_MAPPING":"",n.toneMapping!==g9?ua.tonemapping_pars_fragment:"",n.toneMapping!==g9?Lyt("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",ua.colorspace_pars_fragment,Fyt("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` `].filter(fD).join(` `)),a=Xse(a),a=h4e(a,n),a=p4e(a,n),l=Xse(l),l=h4e(l,n),l=p4e(l,n),a=g4e(a),l=g4e(l),n.isWebGL2&&n.isRawShaderMaterial!==!0&&(C=`#version 300 es `,w=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` @@ -3632,9 +3632,9 @@ precision `+t.precision+" int;";return t.precision==="highp"?e+=` Program Info Log: `+k+` `+U+` -`+F)}else k!==""?console.warn("THREE.WebGLProgram: Program Info Log:",k):(W===""||N==="")&&(E=!1);E&&(D.diagnostics={runnable:L,programLog:k,vertexShader:{log:W,prefix:w},fragmentShader:{log:N,prefix:b}})}i.deleteShader(T),i.deleteShader(y),x=new y_(i,A),R=jyt(i,A)}let x;this.getUniforms=function(){return x===void 0&&S(this),x};let R;this.getAttributes=function(){return R===void 0&&S(this),R};let H=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return H===!1&&(H=i.getProgramParameter(A,Eyt)),H},this.destroy=function(){o.releaseStatesOfProgram(this),i.deleteProgram(A),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=kyt++,this.cacheKey=e,this.usedTimes=1,this.program=A,this.vertexShader=T,this.fragmentShader=y,this}let Zyt=0;class e2t{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,o=e.fragmentShader,i=this._getShaderStage(n),r=this._getShaderStage(o),a=this._getShaderCacheForMaterial(e);return a.has(i)===!1&&(a.add(i),i.usedTimes++),a.has(r)===!1&&(a.add(r),r.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const o of n)o.usedTimes--,o.usedTimes===0&&this.shaderCache.delete(o.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const n=this.materialCache;let o=n.get(e);return o===void 0&&(o=new Set,n.set(e,o)),o}_getShaderStage(e){const n=this.shaderCache;let o=n.get(e);return o===void 0&&(o=new t2t(e),n.set(e,o)),o}}class t2t{constructor(e){this.id=Zyt++,this.code=e,this.usedTimes=0}}function n2t(t,e,n,o,i,r,a){const l=new ox,s=new e2t,c=[],u=i.isWebGL2,d=i.logarithmicDepthBuffer,f=i.vertexTextures;let p=i.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function A(R){return R===0?"uv":`uv${R}`}function w(R,H,D,k,W){const N=k.fog,L=W.geometry,E=R.isMeshStandardMaterial?k.environment:null,U=(R.isMeshStandardMaterial?n:e).get(R.envMap||E),F=U&&U.mapping===dH?U.image.height:null,B=g[R.type];R.precision!==null&&(p=i.getMaxPrecision(R.precision),p!==R.precision&&console.warn("THREE.WebGLProgram.getParameters:",R.precision,"not supported, using",p,"instead."));const _=L.morphAttributes.position||L.morphAttributes.normal||L.morphAttributes.color,Y=_!==void 0?_.length:0;let O=0;L.morphAttributes.position!==void 0&&(O=1),L.morphAttributes.normal!==void 0&&(O=2),L.morphAttributes.color!==void 0&&(O=3);let J,Z,ie,ee;if(B){const ot=u2[B];J=ot.vertexShader,Z=ot.fragmentShader}else J=R.vertexShader,Z=R.fragmentShader,s.update(R),ie=s.getVertexShaderID(R),ee=s.getFragmentShaderID(R);const q=t.getRenderTarget(),ae=W.isInstancedMesh===!0,ne=!!R.map,se=!!R.matcap,le=!!U,te=!!R.aoMap,he=!!R.lightMap,pe=!!R.bumpMap,fe=!!R.normalMap,$=!!R.displacementMap,de=!!R.emissiveMap,Se=!!R.metalnessMap,Ce=!!R.roughnessMap,ve=R.anisotropy>0,Ie=R.clearcoat>0,ze=R.iridescence>0,ye=R.sheen>0,oe=R.transmission>0,ge=ve&&!!R.anisotropyMap,Ae=Ie&&!!R.clearcoatMap,me=Ie&&!!R.clearcoatNormalMap,Pe=Ie&&!!R.clearcoatRoughnessMap,Me=ze&&!!R.iridescenceMap,Te=ze&&!!R.iridescenceThicknessMap,De=ye&&!!R.sheenColorMap,Ue=ye&&!!R.sheenRoughnessMap,Oe=!!R.specularMap,Le=!!R.specularColorMap,$e=!!R.specularIntensityMap,We=oe&&!!R.transmissionMap,Ee=oe&&!!R.thicknessMap,Fe=!!R.gradientMap,Ge=!!R.alphaMap,rt=R.alphaTest>0,Ve=!!R.alphaHash,xt=!!R.extensions,dt=!!L.attributes.uv1,Qe=!!L.attributes.uv2,ut=!!L.attributes.uv3;let ft=g9;return R.toneMapped&&(q===null||q.isXRRenderTarget===!0)&&(ft=t.toneMapping),{isWebGL2:u,shaderID:B,shaderType:R.type,shaderName:R.name,vertexShader:J,fragmentShader:Z,defines:R.defines,customVertexShaderID:ie,customFragmentShaderID:ee,isRawShaderMaterial:R.isRawShaderMaterial===!0,glslVersion:R.glslVersion,precision:p,instancing:ae,instancingColor:ae&&W.instanceColor!==null,supportsVertexTextures:f,outputColorSpace:q===null?t.outputColorSpace:q.isXRRenderTarget===!0?q.texture.colorSpace:R9,map:ne,matcap:se,envMap:le,envMapMode:le&&U.mapping,envMapCubeUVHeight:F,aoMap:te,lightMap:he,bumpMap:pe,normalMap:fe,displacementMap:f&&$,emissiveMap:de,normalMapObjectSpace:fe&&R.normalMapType===uWe,normalMapTangentSpace:fe&&R.normalMapType===b7,metalnessMap:Se,roughnessMap:Ce,anisotropy:ve,anisotropyMap:ge,clearcoat:Ie,clearcoatMap:Ae,clearcoatNormalMap:me,clearcoatRoughnessMap:Pe,iridescence:ze,iridescenceMap:Me,iridescenceThicknessMap:Te,sheen:ye,sheenColorMap:De,sheenRoughnessMap:Ue,specularMap:Oe,specularColorMap:Le,specularIntensityMap:$e,transmission:oe,transmissionMap:We,thicknessMap:Ee,gradientMap:Fe,opaque:R.transparent===!1&&R.blending===tx,alphaMap:Ge,alphaTest:rt,alphaHash:Ve,combine:R.combine,mapUv:ne&&A(R.map.channel),aoMapUv:te&&A(R.aoMap.channel),lightMapUv:he&&A(R.lightMap.channel),bumpMapUv:pe&&A(R.bumpMap.channel),normalMapUv:fe&&A(R.normalMap.channel),displacementMapUv:$&&A(R.displacementMap.channel),emissiveMapUv:de&&A(R.emissiveMap.channel),metalnessMapUv:Se&&A(R.metalnessMap.channel),roughnessMapUv:Ce&&A(R.roughnessMap.channel),anisotropyMapUv:ge&&A(R.anisotropyMap.channel),clearcoatMapUv:Ae&&A(R.clearcoatMap.channel),clearcoatNormalMapUv:me&&A(R.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Pe&&A(R.clearcoatRoughnessMap.channel),iridescenceMapUv:Me&&A(R.iridescenceMap.channel),iridescenceThicknessMapUv:Te&&A(R.iridescenceThicknessMap.channel),sheenColorMapUv:De&&A(R.sheenColorMap.channel),sheenRoughnessMapUv:Ue&&A(R.sheenRoughnessMap.channel),specularMapUv:Oe&&A(R.specularMap.channel),specularColorMapUv:Le&&A(R.specularColorMap.channel),specularIntensityMapUv:$e&&A(R.specularIntensityMap.channel),transmissionMapUv:We&&A(R.transmissionMap.channel),thicknessMapUv:Ee&&A(R.thicknessMap.channel),alphaMapUv:Ge&&A(R.alphaMap.channel),vertexTangents:!!L.attributes.tangent&&(fe||ve),vertexColors:R.vertexColors,vertexAlphas:R.vertexColors===!0&&!!L.attributes.color&&L.attributes.color.itemSize===4,vertexUv1s:dt,vertexUv2s:Qe,vertexUv3s:ut,pointsUvs:W.isPoints===!0&&!!L.attributes.uv&&(ne||Ge),fog:!!N,useFog:R.fog===!0,fogExp2:N&&N.isFogExp2,flatShading:R.flatShading===!0,sizeAttenuation:R.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:W.isSkinnedMesh===!0,morphTargets:L.morphAttributes.position!==void 0,morphNormals:L.morphAttributes.normal!==void 0,morphColors:L.morphAttributes.color!==void 0,morphTargetsCount:Y,morphTextureStride:O,numDirLights:H.directional.length,numPointLights:H.point.length,numSpotLights:H.spot.length,numSpotLightMaps:H.spotLightMap.length,numRectAreaLights:H.rectArea.length,numHemiLights:H.hemi.length,numDirLightShadows:H.directionalShadowMap.length,numPointLightShadows:H.pointShadowMap.length,numSpotLightShadows:H.spotShadowMap.length,numSpotLightShadowsWithMaps:H.numSpotLightShadowsWithMaps,numLightProbes:H.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:R.dithering,shadowMapEnabled:t.shadowMap.enabled&&D.length>0,shadowMapType:t.shadowMap.type,toneMapping:ft,useLegacyLights:t._useLegacyLights,decodeVideoTexture:ne&&R.map.isVideoTexture===!0&&rs.getTransfer(R.map.colorSpace)===Ws,premultipliedAlpha:R.premultipliedAlpha,doubleSided:R.side===ji,flipSided:R.side===p0,useDepthPacking:R.depthPacking>=0,depthPacking:R.depthPacking||0,index0AttributeName:R.index0AttributeName,extensionDerivatives:xt&&R.extensions.derivatives===!0,extensionFragDepth:xt&&R.extensions.fragDepth===!0,extensionDrawBuffers:xt&&R.extensions.drawBuffers===!0,extensionShaderTextureLOD:xt&&R.extensions.shaderTextureLOD===!0,rendererExtensionFragDepth:u||o.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||o.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||o.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:o.has("KHR_parallel_shader_compile"),customProgramCacheKey:R.customProgramCacheKey()}}function b(R){const H=[];if(R.shaderID?H.push(R.shaderID):(H.push(R.customVertexShaderID),H.push(R.customFragmentShaderID)),R.defines!==void 0)for(const D in R.defines)H.push(D),H.push(R.defines[D]);return R.isRawShaderMaterial===!1&&(C(H,R),P(H,R),H.push(t.outputColorSpace)),H.push(R.customProgramCacheKey),H.join()}function C(R,H){R.push(H.precision),R.push(H.outputColorSpace),R.push(H.envMapMode),R.push(H.envMapCubeUVHeight),R.push(H.mapUv),R.push(H.alphaMapUv),R.push(H.lightMapUv),R.push(H.aoMapUv),R.push(H.bumpMapUv),R.push(H.normalMapUv),R.push(H.displacementMapUv),R.push(H.emissiveMapUv),R.push(H.metalnessMapUv),R.push(H.roughnessMapUv),R.push(H.anisotropyMapUv),R.push(H.clearcoatMapUv),R.push(H.clearcoatNormalMapUv),R.push(H.clearcoatRoughnessMapUv),R.push(H.iridescenceMapUv),R.push(H.iridescenceThicknessMapUv),R.push(H.sheenColorMapUv),R.push(H.sheenRoughnessMapUv),R.push(H.specularMapUv),R.push(H.specularColorMapUv),R.push(H.specularIntensityMapUv),R.push(H.transmissionMapUv),R.push(H.thicknessMapUv),R.push(H.combine),R.push(H.fogExp2),R.push(H.sizeAttenuation),R.push(H.morphTargetsCount),R.push(H.morphAttributeCount),R.push(H.numDirLights),R.push(H.numPointLights),R.push(H.numSpotLights),R.push(H.numSpotLightMaps),R.push(H.numHemiLights),R.push(H.numRectAreaLights),R.push(H.numDirLightShadows),R.push(H.numPointLightShadows),R.push(H.numSpotLightShadows),R.push(H.numSpotLightShadowsWithMaps),R.push(H.numLightProbes),R.push(H.shadowMapType),R.push(H.toneMapping),R.push(H.numClippingPlanes),R.push(H.numClipIntersection),R.push(H.depthPacking)}function P(R,H){l.disableAll(),H.isWebGL2&&l.enable(0),H.supportsVertexTextures&&l.enable(1),H.instancing&&l.enable(2),H.instancingColor&&l.enable(3),H.matcap&&l.enable(4),H.envMap&&l.enable(5),H.normalMapObjectSpace&&l.enable(6),H.normalMapTangentSpace&&l.enable(7),H.clearcoat&&l.enable(8),H.iridescence&&l.enable(9),H.alphaTest&&l.enable(10),H.vertexColors&&l.enable(11),H.vertexAlphas&&l.enable(12),H.vertexUv1s&&l.enable(13),H.vertexUv2s&&l.enable(14),H.vertexUv3s&&l.enable(15),H.vertexTangents&&l.enable(16),H.anisotropy&&l.enable(17),H.alphaHash&&l.enable(18),R.push(l.mask),l.disableAll(),H.fog&&l.enable(0),H.useFog&&l.enable(1),H.flatShading&&l.enable(2),H.logarithmicDepthBuffer&&l.enable(3),H.skinning&&l.enable(4),H.morphTargets&&l.enable(5),H.morphNormals&&l.enable(6),H.morphColors&&l.enable(7),H.premultipliedAlpha&&l.enable(8),H.shadowMapEnabled&&l.enable(9),H.useLegacyLights&&l.enable(10),H.doubleSided&&l.enable(11),H.flipSided&&l.enable(12),H.useDepthPacking&&l.enable(13),H.dithering&&l.enable(14),H.transmission&&l.enable(15),H.sheen&&l.enable(16),H.opaque&&l.enable(17),H.pointsUvs&&l.enable(18),H.decodeVideoTexture&&l.enable(19),R.push(l.mask)}function v(R){const H=g[R.type];let D;if(H){const k=u2[H];D=Sk.clone(k.uniforms)}else D=R.uniforms;return D}function T(R,H){let D;for(let k=0,W=c.length;k0?o.push(b):p.transparent===!0?i.push(b):n.push(b)}function s(d,f,p,g,A,w){const b=a(d,f,p,g,A,w);p.transmission>0?o.unshift(b):p.transparent===!0?i.unshift(b):n.unshift(b)}function c(d,f){n.length>1&&n.sort(d||i2t),o.length>1&&o.sort(f||y4e),i.length>1&&i.sort(f||y4e)}function u(){for(let d=e,f=t.length;d=r.length?(a=new A4e,r.push(a)):a=r[i],a}function n(){t=new WeakMap}return{get:e,dispose:n}}function a2t(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new re,color:new Xo};break;case"SpotLight":n={position:new re,direction:new re,color:new Xo,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new re,color:new Xo,distance:0,decay:0};break;case"HemisphereLight":n={direction:new re,skyColor:new Xo,groundColor:new Xo};break;case"RectAreaLight":n={color:new Xo,position:new re,halfWidth:new re,halfHeight:new re};break}return t[e.id]=n,n}}}function l2t(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Gt};break;case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Gt};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Gt,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let s2t=0;function c2t(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function u2t(t,e){const n=new a2t,o=l2t(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new re);const r=new re,a=new Xr,l=new Xr;function s(u,d){let f=0,p=0,g=0;for(let k=0;k<9;k++)i.probe[k].set(0,0,0);let A=0,w=0,b=0,C=0,P=0,v=0,T=0,y=0,S=0,x=0,R=0;u.sort(c2t);const H=d===!0?Math.PI:1;for(let k=0,W=u.length;k0&&(e.isWebGL2||t.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=pi.LTC_FLOAT_1,i.rectAreaLTC2=pi.LTC_FLOAT_2):t.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=pi.LTC_HALF_1,i.rectAreaLTC2=pi.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=f,i.ambient[1]=p,i.ambient[2]=g;const D=i.hash;(D.directionalLength!==A||D.pointLength!==w||D.spotLength!==b||D.rectAreaLength!==C||D.hemiLength!==P||D.numDirectionalShadows!==v||D.numPointShadows!==T||D.numSpotShadows!==y||D.numSpotMaps!==S||D.numLightProbes!==R)&&(i.directional.length=A,i.spot.length=b,i.rectArea.length=C,i.point.length=w,i.hemi.length=P,i.directionalShadow.length=v,i.directionalShadowMap.length=v,i.pointShadow.length=T,i.pointShadowMap.length=T,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=v,i.pointShadowMatrix.length=T,i.spotLightMatrix.length=y+S-x,i.spotLightMap.length=S,i.numSpotLightShadowsWithMaps=x,i.numLightProbes=R,D.directionalLength=A,D.pointLength=w,D.spotLength=b,D.rectAreaLength=C,D.hemiLength=P,D.numDirectionalShadows=v,D.numPointShadows=T,D.numSpotShadows=y,D.numSpotMaps=S,D.numLightProbes=R,i.version=s2t++)}function c(u,d){let f=0,p=0,g=0,A=0,w=0;const b=d.matrixWorldInverse;for(let C=0,P=u.length;C=l.length?(s=new w4e(t,e),l.push(s)):s=l[a],s}function i(){n=new WeakMap}return{get:o,dispose:i}}class NK extends yf{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=cWe,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class UK extends yf{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const f2t=`void main() { +`+F)}else k!==""?console.warn("THREE.WebGLProgram: Program Info Log:",k):(W===""||N==="")&&(E=!1);E&&(D.diagnostics={runnable:L,programLog:k,vertexShader:{log:W,prefix:w},fragmentShader:{log:N,prefix:b}})}i.deleteShader(T),i.deleteShader(y),x=new y_(i,A),R=Uyt(i,A)}let x;this.getUniforms=function(){return x===void 0&&S(this),x};let R;this.getAttributes=function(){return R===void 0&&S(this),R};let H=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return H===!1&&(H=i.getProgramParameter(A,zyt)),H},this.destroy=function(){o.releaseStatesOfProgram(this),i.deleteProgram(A),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=Dyt++,this.cacheKey=e,this.usedTimes=1,this.program=A,this.vertexShader=T,this.fragmentShader=y,this}let $yt=0;class Qyt{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,o=e.fragmentShader,i=this._getShaderStage(n),r=this._getShaderStage(o),a=this._getShaderCacheForMaterial(e);return a.has(i)===!1&&(a.add(i),i.usedTimes++),a.has(r)===!1&&(a.add(r),r.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const o of n)o.usedTimes--,o.usedTimes===0&&this.shaderCache.delete(o.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const n=this.materialCache;let o=n.get(e);return o===void 0&&(o=new Set,n.set(e,o)),o}_getShaderStage(e){const n=this.shaderCache;let o=n.get(e);return o===void 0&&(o=new Zyt(e),n.set(e,o)),o}}class Zyt{constructor(e){this.id=$yt++,this.code=e,this.usedTimes=0}}function e2t(t,e,n,o,i,r,a){const l=new ox,s=new Qyt,c=[],u=i.isWebGL2,d=i.logarithmicDepthBuffer,f=i.vertexTextures;let p=i.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function A(R){return R===0?"uv":`uv${R}`}function w(R,H,D,k,W){const N=k.fog,L=W.geometry,E=R.isMeshStandardMaterial?k.environment:null,U=(R.isMeshStandardMaterial?n:e).get(R.envMap||E),F=U&&U.mapping===dH?U.image.height:null,B=g[R.type];R.precision!==null&&(p=i.getMaxPrecision(R.precision),p!==R.precision&&console.warn("THREE.WebGLProgram.getParameters:",R.precision,"not supported, using",p,"instead."));const _=L.morphAttributes.position||L.morphAttributes.normal||L.morphAttributes.color,Y=_!==void 0?_.length:0;let O=0;L.morphAttributes.position!==void 0&&(O=1),L.morphAttributes.normal!==void 0&&(O=2),L.morphAttributes.color!==void 0&&(O=3);let J,Z,ie,ee;if(B){const ot=u2[B];J=ot.vertexShader,Z=ot.fragmentShader}else J=R.vertexShader,Z=R.fragmentShader,s.update(R),ie=s.getVertexShaderID(R),ee=s.getFragmentShaderID(R);const q=t.getRenderTarget(),ae=W.isInstancedMesh===!0,ne=!!R.map,se=!!R.matcap,le=!!U,te=!!R.aoMap,he=!!R.lightMap,pe=!!R.bumpMap,fe=!!R.normalMap,$=!!R.displacementMap,de=!!R.emissiveMap,Se=!!R.metalnessMap,Ce=!!R.roughnessMap,ve=R.anisotropy>0,Ie=R.clearcoat>0,ze=R.iridescence>0,ye=R.sheen>0,oe=R.transmission>0,ge=ve&&!!R.anisotropyMap,Ae=Ie&&!!R.clearcoatMap,me=Ie&&!!R.clearcoatNormalMap,Pe=Ie&&!!R.clearcoatRoughnessMap,Me=ze&&!!R.iridescenceMap,Te=ze&&!!R.iridescenceThicknessMap,De=ye&&!!R.sheenColorMap,Ne=ye&&!!R.sheenRoughnessMap,Ye=!!R.specularMap,Le=!!R.specularColorMap,$e=!!R.specularIntensityMap,We=oe&&!!R.transmissionMap,Ee=oe&&!!R.thicknessMap,Fe=!!R.gradientMap,Ge=!!R.alphaMap,rt=R.alphaTest>0,_e=!!R.alphaHash,xt=!!R.extensions,dt=!!L.attributes.uv1,Qe=!!L.attributes.uv2,ct=!!L.attributes.uv3;let ft=g9;return R.toneMapped&&(q===null||q.isXRRenderTarget===!0)&&(ft=t.toneMapping),{isWebGL2:u,shaderID:B,shaderType:R.type,shaderName:R.name,vertexShader:J,fragmentShader:Z,defines:R.defines,customVertexShaderID:ie,customFragmentShaderID:ee,isRawShaderMaterial:R.isRawShaderMaterial===!0,glslVersion:R.glslVersion,precision:p,instancing:ae,instancingColor:ae&&W.instanceColor!==null,supportsVertexTextures:f,outputColorSpace:q===null?t.outputColorSpace:q.isXRRenderTarget===!0?q.texture.colorSpace:R9,map:ne,matcap:se,envMap:le,envMapMode:le&&U.mapping,envMapCubeUVHeight:F,aoMap:te,lightMap:he,bumpMap:pe,normalMap:fe,displacementMap:f&&$,emissiveMap:de,normalMapObjectSpace:fe&&R.normalMapType===sWe,normalMapTangentSpace:fe&&R.normalMapType===b7,metalnessMap:Se,roughnessMap:Ce,anisotropy:ve,anisotropyMap:ge,clearcoat:Ie,clearcoatMap:Ae,clearcoatNormalMap:me,clearcoatRoughnessMap:Pe,iridescence:ze,iridescenceMap:Me,iridescenceThicknessMap:Te,sheen:ye,sheenColorMap:De,sheenRoughnessMap:Ne,specularMap:Ye,specularColorMap:Le,specularIntensityMap:$e,transmission:oe,transmissionMap:We,thicknessMap:Ee,gradientMap:Fe,opaque:R.transparent===!1&&R.blending===tx,alphaMap:Ge,alphaTest:rt,alphaHash:_e,combine:R.combine,mapUv:ne&&A(R.map.channel),aoMapUv:te&&A(R.aoMap.channel),lightMapUv:he&&A(R.lightMap.channel),bumpMapUv:pe&&A(R.bumpMap.channel),normalMapUv:fe&&A(R.normalMap.channel),displacementMapUv:$&&A(R.displacementMap.channel),emissiveMapUv:de&&A(R.emissiveMap.channel),metalnessMapUv:Se&&A(R.metalnessMap.channel),roughnessMapUv:Ce&&A(R.roughnessMap.channel),anisotropyMapUv:ge&&A(R.anisotropyMap.channel),clearcoatMapUv:Ae&&A(R.clearcoatMap.channel),clearcoatNormalMapUv:me&&A(R.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Pe&&A(R.clearcoatRoughnessMap.channel),iridescenceMapUv:Me&&A(R.iridescenceMap.channel),iridescenceThicknessMapUv:Te&&A(R.iridescenceThicknessMap.channel),sheenColorMapUv:De&&A(R.sheenColorMap.channel),sheenRoughnessMapUv:Ne&&A(R.sheenRoughnessMap.channel),specularMapUv:Ye&&A(R.specularMap.channel),specularColorMapUv:Le&&A(R.specularColorMap.channel),specularIntensityMapUv:$e&&A(R.specularIntensityMap.channel),transmissionMapUv:We&&A(R.transmissionMap.channel),thicknessMapUv:Ee&&A(R.thicknessMap.channel),alphaMapUv:Ge&&A(R.alphaMap.channel),vertexTangents:!!L.attributes.tangent&&(fe||ve),vertexColors:R.vertexColors,vertexAlphas:R.vertexColors===!0&&!!L.attributes.color&&L.attributes.color.itemSize===4,vertexUv1s:dt,vertexUv2s:Qe,vertexUv3s:ct,pointsUvs:W.isPoints===!0&&!!L.attributes.uv&&(ne||Ge),fog:!!N,useFog:R.fog===!0,fogExp2:N&&N.isFogExp2,flatShading:R.flatShading===!0,sizeAttenuation:R.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:W.isSkinnedMesh===!0,morphTargets:L.morphAttributes.position!==void 0,morphNormals:L.morphAttributes.normal!==void 0,morphColors:L.morphAttributes.color!==void 0,morphTargetsCount:Y,morphTextureStride:O,numDirLights:H.directional.length,numPointLights:H.point.length,numSpotLights:H.spot.length,numSpotLightMaps:H.spotLightMap.length,numRectAreaLights:H.rectArea.length,numHemiLights:H.hemi.length,numDirLightShadows:H.directionalShadowMap.length,numPointLightShadows:H.pointShadowMap.length,numSpotLightShadows:H.spotShadowMap.length,numSpotLightShadowsWithMaps:H.numSpotLightShadowsWithMaps,numLightProbes:H.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:R.dithering,shadowMapEnabled:t.shadowMap.enabled&&D.length>0,shadowMapType:t.shadowMap.type,toneMapping:ft,useLegacyLights:t._useLegacyLights,decodeVideoTexture:ne&&R.map.isVideoTexture===!0&&rs.getTransfer(R.map.colorSpace)===Ws,premultipliedAlpha:R.premultipliedAlpha,doubleSided:R.side===ji,flipSided:R.side===p0,useDepthPacking:R.depthPacking>=0,depthPacking:R.depthPacking||0,index0AttributeName:R.index0AttributeName,extensionDerivatives:xt&&R.extensions.derivatives===!0,extensionFragDepth:xt&&R.extensions.fragDepth===!0,extensionDrawBuffers:xt&&R.extensions.drawBuffers===!0,extensionShaderTextureLOD:xt&&R.extensions.shaderTextureLOD===!0,rendererExtensionFragDepth:u||o.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||o.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||o.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:o.has("KHR_parallel_shader_compile"),customProgramCacheKey:R.customProgramCacheKey()}}function b(R){const H=[];if(R.shaderID?H.push(R.shaderID):(H.push(R.customVertexShaderID),H.push(R.customFragmentShaderID)),R.defines!==void 0)for(const D in R.defines)H.push(D),H.push(R.defines[D]);return R.isRawShaderMaterial===!1&&(C(H,R),P(H,R),H.push(t.outputColorSpace)),H.push(R.customProgramCacheKey),H.join()}function C(R,H){R.push(H.precision),R.push(H.outputColorSpace),R.push(H.envMapMode),R.push(H.envMapCubeUVHeight),R.push(H.mapUv),R.push(H.alphaMapUv),R.push(H.lightMapUv),R.push(H.aoMapUv),R.push(H.bumpMapUv),R.push(H.normalMapUv),R.push(H.displacementMapUv),R.push(H.emissiveMapUv),R.push(H.metalnessMapUv),R.push(H.roughnessMapUv),R.push(H.anisotropyMapUv),R.push(H.clearcoatMapUv),R.push(H.clearcoatNormalMapUv),R.push(H.clearcoatRoughnessMapUv),R.push(H.iridescenceMapUv),R.push(H.iridescenceThicknessMapUv),R.push(H.sheenColorMapUv),R.push(H.sheenRoughnessMapUv),R.push(H.specularMapUv),R.push(H.specularColorMapUv),R.push(H.specularIntensityMapUv),R.push(H.transmissionMapUv),R.push(H.thicknessMapUv),R.push(H.combine),R.push(H.fogExp2),R.push(H.sizeAttenuation),R.push(H.morphTargetsCount),R.push(H.morphAttributeCount),R.push(H.numDirLights),R.push(H.numPointLights),R.push(H.numSpotLights),R.push(H.numSpotLightMaps),R.push(H.numHemiLights),R.push(H.numRectAreaLights),R.push(H.numDirLightShadows),R.push(H.numPointLightShadows),R.push(H.numSpotLightShadows),R.push(H.numSpotLightShadowsWithMaps),R.push(H.numLightProbes),R.push(H.shadowMapType),R.push(H.toneMapping),R.push(H.numClippingPlanes),R.push(H.numClipIntersection),R.push(H.depthPacking)}function P(R,H){l.disableAll(),H.isWebGL2&&l.enable(0),H.supportsVertexTextures&&l.enable(1),H.instancing&&l.enable(2),H.instancingColor&&l.enable(3),H.matcap&&l.enable(4),H.envMap&&l.enable(5),H.normalMapObjectSpace&&l.enable(6),H.normalMapTangentSpace&&l.enable(7),H.clearcoat&&l.enable(8),H.iridescence&&l.enable(9),H.alphaTest&&l.enable(10),H.vertexColors&&l.enable(11),H.vertexAlphas&&l.enable(12),H.vertexUv1s&&l.enable(13),H.vertexUv2s&&l.enable(14),H.vertexUv3s&&l.enable(15),H.vertexTangents&&l.enable(16),H.anisotropy&&l.enable(17),H.alphaHash&&l.enable(18),R.push(l.mask),l.disableAll(),H.fog&&l.enable(0),H.useFog&&l.enable(1),H.flatShading&&l.enable(2),H.logarithmicDepthBuffer&&l.enable(3),H.skinning&&l.enable(4),H.morphTargets&&l.enable(5),H.morphNormals&&l.enable(6),H.morphColors&&l.enable(7),H.premultipliedAlpha&&l.enable(8),H.shadowMapEnabled&&l.enable(9),H.useLegacyLights&&l.enable(10),H.doubleSided&&l.enable(11),H.flipSided&&l.enable(12),H.useDepthPacking&&l.enable(13),H.dithering&&l.enable(14),H.transmission&&l.enable(15),H.sheen&&l.enable(16),H.opaque&&l.enable(17),H.pointsUvs&&l.enable(18),H.decodeVideoTexture&&l.enable(19),R.push(l.mask)}function v(R){const H=g[R.type];let D;if(H){const k=u2[H];D=Sk.clone(k.uniforms)}else D=R.uniforms;return D}function T(R,H){let D;for(let k=0,W=c.length;k0?o.push(b):p.transparent===!0?i.push(b):n.push(b)}function s(d,f,p,g,A,w){const b=a(d,f,p,g,A,w);p.transmission>0?o.unshift(b):p.transparent===!0?i.unshift(b):n.unshift(b)}function c(d,f){n.length>1&&n.sort(d||n2t),o.length>1&&o.sort(f||y4e),i.length>1&&i.sort(f||y4e)}function u(){for(let d=e,f=t.length;d=r.length?(a=new A4e,r.push(a)):a=r[i],a}function n(){t=new WeakMap}return{get:e,dispose:n}}function i2t(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new re,color:new Xo};break;case"SpotLight":n={position:new re,direction:new re,color:new Xo,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new re,color:new Xo,distance:0,decay:0};break;case"HemisphereLight":n={direction:new re,skyColor:new Xo,groundColor:new Xo};break;case"RectAreaLight":n={color:new Xo,position:new re,halfWidth:new re,halfHeight:new re};break}return t[e.id]=n,n}}}function r2t(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Gt};break;case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Gt};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Gt,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let a2t=0;function l2t(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function s2t(t,e){const n=new i2t,o=r2t(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new re);const r=new re,a=new Xr,l=new Xr;function s(u,d){let f=0,p=0,g=0;for(let k=0;k<9;k++)i.probe[k].set(0,0,0);let A=0,w=0,b=0,C=0,P=0,v=0,T=0,y=0,S=0,x=0,R=0;u.sort(l2t);const H=d===!0?Math.PI:1;for(let k=0,W=u.length;k0&&(e.isWebGL2||t.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=pi.LTC_FLOAT_1,i.rectAreaLTC2=pi.LTC_FLOAT_2):t.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=pi.LTC_HALF_1,i.rectAreaLTC2=pi.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=f,i.ambient[1]=p,i.ambient[2]=g;const D=i.hash;(D.directionalLength!==A||D.pointLength!==w||D.spotLength!==b||D.rectAreaLength!==C||D.hemiLength!==P||D.numDirectionalShadows!==v||D.numPointShadows!==T||D.numSpotShadows!==y||D.numSpotMaps!==S||D.numLightProbes!==R)&&(i.directional.length=A,i.spot.length=b,i.rectArea.length=C,i.point.length=w,i.hemi.length=P,i.directionalShadow.length=v,i.directionalShadowMap.length=v,i.pointShadow.length=T,i.pointShadowMap.length=T,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=v,i.pointShadowMatrix.length=T,i.spotLightMatrix.length=y+S-x,i.spotLightMap.length=S,i.numSpotLightShadowsWithMaps=x,i.numLightProbes=R,D.directionalLength=A,D.pointLength=w,D.spotLength=b,D.rectAreaLength=C,D.hemiLength=P,D.numDirectionalShadows=v,D.numPointShadows=T,D.numSpotShadows=y,D.numSpotMaps=S,D.numLightProbes=R,i.version=a2t++)}function c(u,d){let f=0,p=0,g=0,A=0,w=0;const b=d.matrixWorldInverse;for(let C=0,P=u.length;C=l.length?(s=new w4e(t,e),l.push(s)):s=l[a],s}function i(){n=new WeakMap}return{get:o,dispose:i}}class NK extends yf{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=lWe,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class UK extends yf{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const u2t=`void main() { gl_Position = vec4( position, 1.0 ); -}`,h2t=`uniform sampler2D shadow_pass; +}`,d2t=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3660,7 +3660,7 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function p2t(t,e,n){let o=new LK;const i=new Gt,r=new Gt,a=new ll,l=new NK({depthPacking:n1e}),s=new UK,c={},u=n.maxTextureSize,d={[ia]:p0,[p0]:ia,[ji]:ji},f=new W2({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Gt},radius:{value:4}},vertexShader:f2t,fragmentShader:h2t}),p=f.clone();p.defines.HORIZONTAL_PASS=1;const g=new Ur;g.setAttribute("position",new qa(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const A=new es(g,f),w=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=IK;let b=this.type;this.render=function(T,y,S){if(w.enabled===!1||w.autoUpdate===!1&&w.needsUpdate===!1||T.length===0)return;const x=t.getRenderTarget(),R=t.getActiveCubeFace(),H=t.getActiveMipmapLevel(),D=t.state;D.setBlending(P6),D.buffers.color.setClear(1,1,1,1),D.buffers.depth.setTest(!0),D.setScissorTest(!1);const k=b!==t2&&this.type===t2,W=b===t2&&this.type!==t2;for(let N=0,L=T.length;Nu||i.y>u)&&(i.x>u&&(r.x=Math.floor(u/F.x),i.x=r.x*F.x,U.mapSize.x=r.x),i.y>u&&(r.y=Math.floor(u/F.y),i.y=r.y*F.y,U.mapSize.y=r.y)),U.map===null||k===!0||W===!0){const _=this.type!==t2?{minFilter:F0,magFilter:F0}:{};U.map!==null&&U.map.dispose(),U.map=new Vm(i.x,i.y,_),U.map.texture.name=E.name+".shadowMap",U.camera.updateProjectionMatrix()}t.setRenderTarget(U.map),t.clear();const B=U.getViewportCount();for(let _=0;_0||y.map&&y.alphaTest>0){const D=R.uuid,k=y.uuid;let W=c[D];W===void 0&&(W={},c[D]=W);let N=W[k];N===void 0&&(N=R.clone(),W[k]=N),R=N}if(R.visible=y.visible,R.wireframe=y.wireframe,x===t2?R.side=y.shadowSide!==null?y.shadowSide:y.side:R.side=y.shadowSide!==null?y.shadowSide:d[y.side],R.alphaMap=y.alphaMap,R.alphaTest=y.alphaTest,R.map=y.map,R.clipShadows=y.clipShadows,R.clippingPlanes=y.clippingPlanes,R.clipIntersection=y.clipIntersection,R.displacementMap=y.displacementMap,R.displacementScale=y.displacementScale,R.displacementBias=y.displacementBias,R.wireframeLinewidth=y.wireframeLinewidth,R.linewidth=y.linewidth,S.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const D=t.properties.get(R);D.light=S}return R}function v(T,y,S,x,R){if(T.visible===!1)return;if(T.layers.test(y.layers)&&(T.isMesh||T.isLine||T.isPoints)&&(T.castShadow||T.receiveShadow&&R===t2)&&(!T.frustumCulled||o.intersectsObject(T))){T.modelViewMatrix.multiplyMatrices(S.matrixWorldInverse,T.matrixWorld);const k=e.update(T),W=T.material;if(Array.isArray(W)){const N=k.groups;for(let L=0,E=N.length;L=1):_.indexOf("OpenGL ES")!==-1&&(B=parseFloat(/^OpenGL ES (\d)/.exec(_)[1]),F=B>=2);let Y=null,O={};const J=t.getParameter(t.SCISSOR_BOX),Z=t.getParameter(t.VIEWPORT),ie=new ll().fromArray(J),ee=new ll().fromArray(Z);function q(Ve,xt,dt,Qe){const ut=new Uint8Array(4),ft=t.createTexture();t.bindTexture(Ve,ft),t.texParameteri(Ve,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(Ve,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let at=0;at"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let A;const w=new WeakMap;let b=!1;try{b=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function C(ye,oe){return b?new OffscreenCanvas(ye,oe):bk("canvas")}function P(ye,oe,ge,Ae){let me=1;if((ye.width>Ae||ye.height>Ae)&&(me=Ae/Math.max(ye.width,ye.height)),me<1||oe===!0)if(typeof HTMLImageElement<"u"&&ye instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&ye instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&ye instanceof ImageBitmap){const Pe=oe?YV:Math.floor,Me=Pe(me*ye.width),Te=Pe(me*ye.height);A===void 0&&(A=C(Me,Te));const De=ge?C(Me,Te):A;return De.width=Me,De.height=Te,De.getContext("2d").drawImage(ye,0,0,Me,Te),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+ye.width+"x"+ye.height+") to ("+Me+"x"+Te+")."),De}else return"data"in ye&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+ye.width+"x"+ye.height+")."),ye;return ye}function v(ye){return Vse(ye.width)&&Vse(ye.height)}function T(ye){return l?!1:ye.wrapS!==ah||ye.wrapT!==ah||ye.minFilter!==F0&&ye.minFilter!==js}function y(ye,oe){return ye.generateMipmaps&&oe&&ye.minFilter!==F0&&ye.minFilter!==js}function S(ye){t.generateMipmap(ye)}function x(ye,oe,ge,Ae,me=!1){if(l===!1)return oe;if(ye!==null){if(t[ye]!==void 0)return t[ye];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+ye+"'")}let Pe=oe;if(oe===t.RED&&(ge===t.FLOAT&&(Pe=t.R32F),ge===t.HALF_FLOAT&&(Pe=t.R16F),ge===t.UNSIGNED_BYTE&&(Pe=t.R8)),oe===t.RED_INTEGER&&(ge===t.UNSIGNED_BYTE&&(Pe=t.R8UI),ge===t.UNSIGNED_SHORT&&(Pe=t.R16UI),ge===t.UNSIGNED_INT&&(Pe=t.R32UI),ge===t.BYTE&&(Pe=t.R8I),ge===t.SHORT&&(Pe=t.R16I),ge===t.INT&&(Pe=t.R32I)),oe===t.RG&&(ge===t.FLOAT&&(Pe=t.RG32F),ge===t.HALF_FLOAT&&(Pe=t.RG16F),ge===t.UNSIGNED_BYTE&&(Pe=t.RG8)),oe===t.RGBA){const Me=me?yk:rs.getTransfer(Ae);ge===t.FLOAT&&(Pe=t.RGBA32F),ge===t.HALF_FLOAT&&(Pe=t.RGBA16F),ge===t.UNSIGNED_BYTE&&(Pe=Me===Ws?t.SRGB8_ALPHA8:t.RGBA8),ge===t.UNSIGNED_SHORT_4_4_4_4&&(Pe=t.RGBA4),ge===t.UNSIGNED_SHORT_5_5_5_1&&(Pe=t.RGB5_A1)}return(Pe===t.R16F||Pe===t.R32F||Pe===t.RG16F||Pe===t.RG32F||Pe===t.RGBA16F||Pe===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Pe}function R(ye,oe,ge){return y(ye,ge)===!0||ye.isFramebufferTexture&&ye.minFilter!==F0&&ye.minFilter!==js?Math.log2(Math.max(oe.width,oe.height))+1:ye.mipmaps!==void 0&&ye.mipmaps.length>0?ye.mipmaps.length:ye.isCompressedTexture&&Array.isArray(ye.image)?oe.mipmaps.length:1}function H(ye){return ye===F0||ye===BV||ye===$D?t.NEAREST:t.LINEAR}function D(ye){const oe=ye.target;oe.removeEventListener("dispose",D),W(oe),oe.isVideoTexture&&g.delete(oe)}function k(ye){const oe=ye.target;oe.removeEventListener("dispose",k),L(oe)}function W(ye){const oe=o.get(ye);if(oe.__webglInit===void 0)return;const ge=ye.source,Ae=w.get(ge);if(Ae){const me=Ae[oe.__cacheKey];me.usedTimes--,me.usedTimes===0&&N(ye),Object.keys(Ae).length===0&&w.delete(ge)}o.remove(ye)}function N(ye){const oe=o.get(ye);t.deleteTexture(oe.__webglTexture);const ge=ye.source,Ae=w.get(ge);delete Ae[oe.__cacheKey],a.memory.textures--}function L(ye){const oe=ye.texture,ge=o.get(ye),Ae=o.get(oe);if(Ae.__webglTexture!==void 0&&(t.deleteTexture(Ae.__webglTexture),a.memory.textures--),ye.depthTexture&&ye.depthTexture.dispose(),ye.isWebGLCubeRenderTarget)for(let me=0;me<6;me++){if(Array.isArray(ge.__webglFramebuffer[me]))for(let Pe=0;Pe=s&&console.warn("THREE.WebGLTextures: Trying to use "+ye+" texture units while this GPU supports only "+s),E+=1,ye}function B(ye){const oe=[];return oe.push(ye.wrapS),oe.push(ye.wrapT),oe.push(ye.wrapR||0),oe.push(ye.magFilter),oe.push(ye.minFilter),oe.push(ye.anisotropy),oe.push(ye.internalFormat),oe.push(ye.format),oe.push(ye.type),oe.push(ye.generateMipmaps),oe.push(ye.premultiplyAlpha),oe.push(ye.flipY),oe.push(ye.unpackAlignment),oe.push(ye.colorSpace),oe.join()}function _(ye,oe){const ge=o.get(ye);if(ye.isVideoTexture&&Ie(ye),ye.isRenderTargetTexture===!1&&ye.version>0&&ge.__version!==ye.version){const Ae=ye.image;if(Ae===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Ae.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ne(ge,ye,oe);return}}n.bindTexture(t.TEXTURE_2D,ge.__webglTexture,t.TEXTURE0+oe)}function Y(ye,oe){const ge=o.get(ye);if(ye.version>0&&ge.__version!==ye.version){ne(ge,ye,oe);return}n.bindTexture(t.TEXTURE_2D_ARRAY,ge.__webglTexture,t.TEXTURE0+oe)}function O(ye,oe){const ge=o.get(ye);if(ye.version>0&&ge.__version!==ye.version){ne(ge,ye,oe);return}n.bindTexture(t.TEXTURE_3D,ge.__webglTexture,t.TEXTURE0+oe)}function J(ye,oe){const ge=o.get(ye);if(ye.version>0&&ge.__version!==ye.version){se(ge,ye,oe);return}n.bindTexture(t.TEXTURE_CUBE_MAP,ge.__webglTexture,t.TEXTURE0+oe)}const Z={[Ss]:t.REPEAT,[ah]:t.CLAMP_TO_EDGE,[hk]:t.MIRRORED_REPEAT},ie={[F0]:t.NEAREST,[BV]:t.NEAREST_MIPMAP_NEAREST,[$D]:t.NEAREST_MIPMAP_LINEAR,[js]:t.LINEAR,[Xpe]:t.LINEAR_MIPMAP_NEAREST,[Xw]:t.LINEAR_MIPMAP_LINEAR},ee={[dWe]:t.NEVER,[AWe]:t.ALWAYS,[fWe]:t.LESS,[pWe]:t.LEQUAL,[hWe]:t.EQUAL,[yWe]:t.GEQUAL,[gWe]:t.GREATER,[mWe]:t.NOTEQUAL};function q(ye,oe,ge){if(ge?(t.texParameteri(ye,t.TEXTURE_WRAP_S,Z[oe.wrapS]),t.texParameteri(ye,t.TEXTURE_WRAP_T,Z[oe.wrapT]),(ye===t.TEXTURE_3D||ye===t.TEXTURE_2D_ARRAY)&&t.texParameteri(ye,t.TEXTURE_WRAP_R,Z[oe.wrapR]),t.texParameteri(ye,t.TEXTURE_MAG_FILTER,ie[oe.magFilter]),t.texParameteri(ye,t.TEXTURE_MIN_FILTER,ie[oe.minFilter])):(t.texParameteri(ye,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(ye,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(ye===t.TEXTURE_3D||ye===t.TEXTURE_2D_ARRAY)&&t.texParameteri(ye,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(oe.wrapS!==ah||oe.wrapT!==ah)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(ye,t.TEXTURE_MAG_FILTER,H(oe.magFilter)),t.texParameteri(ye,t.TEXTURE_MIN_FILTER,H(oe.minFilter)),oe.minFilter!==F0&&oe.minFilter!==js&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),oe.compareFunction&&(t.texParameteri(ye,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(ye,t.TEXTURE_COMPARE_FUNC,ee[oe.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Ae=e.get("EXT_texture_filter_anisotropic");if(oe.magFilter===F0||oe.minFilter!==$D&&oe.minFilter!==Xw||oe.type===p2&&e.has("OES_texture_float_linear")===!1||l===!1&&oe.type===Lx&&e.has("OES_texture_half_float_linear")===!1)return;(oe.anisotropy>1||o.get(oe).__currentAnisotropy)&&(t.texParameterf(ye,Ae.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(oe.anisotropy,i.getMaxAnisotropy())),o.get(oe).__currentAnisotropy=oe.anisotropy)}}function ae(ye,oe){let ge=!1;ye.__webglInit===void 0&&(ye.__webglInit=!0,oe.addEventListener("dispose",D));const Ae=oe.source;let me=w.get(Ae);me===void 0&&(me={},w.set(Ae,me));const Pe=B(oe);if(Pe!==ye.__cacheKey){me[Pe]===void 0&&(me[Pe]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,ge=!0),me[Pe].usedTimes++;const Me=me[ye.__cacheKey];Me!==void 0&&(me[ye.__cacheKey].usedTimes--,Me.usedTimes===0&&N(oe)),ye.__cacheKey=Pe,ye.__webglTexture=me[Pe].texture}return ge}function ne(ye,oe,ge){let Ae=t.TEXTURE_2D;(oe.isDataArrayTexture||oe.isCompressedArrayTexture)&&(Ae=t.TEXTURE_2D_ARRAY),oe.isData3DTexture&&(Ae=t.TEXTURE_3D);const me=ae(ye,oe),Pe=oe.source;n.bindTexture(Ae,ye.__webglTexture,t.TEXTURE0+ge);const Me=o.get(Pe);if(Pe.version!==Me.__version||me===!0){n.activeTexture(t.TEXTURE0+ge);const Te=rs.getPrimaries(rs.workingColorSpace),De=oe.colorSpace===ag?null:rs.getPrimaries(oe.colorSpace),Ue=oe.colorSpace===ag||Te===De?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,oe.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,oe.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,oe.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ue);const Oe=T(oe)&&v(oe.image)===!1;let Le=P(oe.image,Oe,!1,u);Le=ze(oe,Le);const $e=v(Le)||l,We=r.convert(oe.format,oe.colorSpace);let Ee=r.convert(oe.type),Fe=x(oe.internalFormat,We,Ee,oe.colorSpace,oe.isVideoTexture);q(Ae,oe,$e);let Ge;const rt=oe.mipmaps,Ve=l&&oe.isVideoTexture!==!0,xt=Me.__version===void 0||me===!0,dt=R(oe,Le,$e);if(oe.isDepthTexture)Fe=t.DEPTH_COMPONENT,l?oe.type===p2?Fe=t.DEPTH_COMPONENT32F:oe.type===p6?Fe=t.DEPTH_COMPONENT24:oe.type===Dw?Fe=t.DEPTH24_STENCIL8:Fe=t.DEPTH_COMPONENT16:oe.type===p2&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),oe.format===Ew&&Fe===t.DEPTH_COMPONENT&&oe.type!==DK&&oe.type!==p6&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),oe.type=p6,Ee=r.convert(oe.type)),oe.format===Wx&&Fe===t.DEPTH_COMPONENT&&(Fe=t.DEPTH_STENCIL,oe.type!==Dw&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),oe.type=Dw,Ee=r.convert(oe.type))),xt&&(Ve?n.texStorage2D(t.TEXTURE_2D,1,Fe,Le.width,Le.height):n.texImage2D(t.TEXTURE_2D,0,Fe,Le.width,Le.height,0,We,Ee,null));else if(oe.isDataTexture)if(rt.length>0&&$e){Ve&&xt&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,rt[0].width,rt[0].height);for(let Qe=0,ut=rt.length;Qe>=1,ut>>=1}}else if(rt.length>0&&$e){Ve&&xt&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,rt[0].width,rt[0].height);for(let Qe=0,ut=rt.length;Qe0&&xt++,n.texStorage2D(t.TEXTURE_CUBE_MAP,xt,Ge,Le[0].width,Le[0].height));for(let Qe=0;Qe<6;Qe++)if(Oe){rt?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Qe,0,0,0,Le[Qe].width,Le[Qe].height,Ee,Fe,Le[Qe].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Qe,0,Ge,Le[Qe].width,Le[Qe].height,0,Ee,Fe,Le[Qe].data);for(let ut=0;ut>Pe),Le=Math.max(1,oe.height>>Pe);me===t.TEXTURE_3D||me===t.TEXTURE_2D_ARRAY?n.texImage3D(me,Pe,De,Oe,Le,oe.depth,0,Me,Te,null):n.texImage2D(me,Pe,De,Oe,Le,0,Me,Te,null)}n.bindFramebuffer(t.FRAMEBUFFER,ye),ve(oe)?f.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,Ae,me,o.get(ge).__webglTexture,0,Ce(oe)):(me===t.TEXTURE_2D||me>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&me<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,Ae,me,o.get(ge).__webglTexture,Pe),n.bindFramebuffer(t.FRAMEBUFFER,null)}function te(ye,oe,ge){if(t.bindRenderbuffer(t.RENDERBUFFER,ye),oe.depthBuffer&&!oe.stencilBuffer){let Ae=l===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(ge||ve(oe)){const me=oe.depthTexture;me&&me.isDepthTexture&&(me.type===p2?Ae=t.DEPTH_COMPONENT32F:me.type===p6&&(Ae=t.DEPTH_COMPONENT24));const Pe=Ce(oe);ve(oe)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Pe,Ae,oe.width,oe.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,Pe,Ae,oe.width,oe.height)}else t.renderbufferStorage(t.RENDERBUFFER,Ae,oe.width,oe.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,ye)}else if(oe.depthBuffer&&oe.stencilBuffer){const Ae=Ce(oe);ge&&ve(oe)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,Ae,t.DEPTH24_STENCIL8,oe.width,oe.height):ve(oe)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Ae,t.DEPTH24_STENCIL8,oe.width,oe.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,oe.width,oe.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,ye)}else{const Ae=oe.isWebGLMultipleRenderTargets===!0?oe.texture:[oe.texture];for(let me=0;me0){ge.__webglFramebuffer[Te]=[];for(let De=0;De0){ge.__webglFramebuffer=[];for(let Te=0;Te0&&ve(ye)===!1){const Te=Pe?oe:[oe];ge.__webglMultisampledFramebuffer=t.createFramebuffer(),ge.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,ge.__webglMultisampledFramebuffer);for(let De=0;De0)for(let De=0;De0)for(let De=0;De0&&ve(ye)===!1){const oe=ye.isWebGLMultipleRenderTargets?ye.texture:[ye.texture],ge=ye.width,Ae=ye.height;let me=t.COLOR_BUFFER_BIT;const Pe=[],Me=ye.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Te=o.get(ye),De=ye.isWebGLMultipleRenderTargets===!0;if(De)for(let Ue=0;Ue0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&oe.__useRenderToTexture!==!1}function Ie(ye){const oe=a.render.frame;g.get(ye)!==oe&&(g.set(ye,oe),ye.update())}function ze(ye,oe){const ge=ye.colorSpace,Ae=ye.format,me=ye.type;return ye.isCompressedTexture===!0||ye.isVideoTexture===!0||ye.format===jV||ge!==R9&&ge!==ag&&(rs.getTransfer(ge)===Ws?l===!1?e.has("EXT_sRGB")===!0&&Ae===kp?(ye.format=jV,ye.minFilter=js,ye.generateMipmaps=!1):oe=i1e.sRGBToLinear(oe):(Ae!==kp||me!==m9)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ge)),oe}this.allocateTextureUnit=F,this.resetTextureUnits=U,this.setTexture2D=_,this.setTexture2DArray=Y,this.setTexture3D=O,this.setTextureCube=J,this.rebindTextures=fe,this.setupRenderTarget=$,this.updateRenderTargetMipmap=de,this.updateMultisampleRenderTarget=Se,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=le,this.useMultisampledRTT=ve}function EWe(t,e,n){const o=n.isWebGL2;function i(r,a=ag){let l;const s=rs.getTransfer(a);if(r===m9)return t.UNSIGNED_BYTE;if(r===Kpe)return t.UNSIGNED_SHORT_4_4_4_4;if(r===qpe)return t.UNSIGNED_SHORT_5_5_5_1;if(r===$Le)return t.BYTE;if(r===QLe)return t.SHORT;if(r===DK)return t.UNSIGNED_SHORT;if(r===Jpe)return t.INT;if(r===p6)return t.UNSIGNED_INT;if(r===p2)return t.FLOAT;if(r===Lx)return o?t.HALF_FLOAT:(l=e.get("OES_texture_half_float"),l!==null?l.HALF_FLOAT_OES:null);if(r===ZLe)return t.ALPHA;if(r===kp)return t.RGBA;if(r===eWe)return t.LUMINANCE;if(r===tWe)return t.LUMINANCE_ALPHA;if(r===Ew)return t.DEPTH_COMPONENT;if(r===Wx)return t.DEPTH_STENCIL;if(r===jV)return l=e.get("EXT_sRGB"),l!==null?l.SRGB_ALPHA_EXT:null;if(r===nWe)return t.RED;if(r===$pe)return t.RED_INTEGER;if(r===oWe)return t.RG;if(r===Qpe)return t.RG_INTEGER;if(r===Zpe)return t.RGBA_INTEGER;if(r===d_||r===f_||r===h_||r===p_)if(s===Ws)if(l=e.get("WEBGL_compressed_texture_s3tc_srgb"),l!==null){if(r===d_)return l.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(l=e.get("WEBGL_compressed_texture_s3tc"),l!==null){if(r===d_)return l.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===Ase||r===wse||r===vse||r===xse)if(l=e.get("WEBGL_compressed_texture_pvrtc"),l!==null){if(r===Ase)return l.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===wse)return l.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===vse)return l.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===xse)return l.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===iWe)return l=e.get("WEBGL_compressed_texture_etc1"),l!==null?l.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===bse||r===Sse)if(l=e.get("WEBGL_compressed_texture_etc"),l!==null){if(r===bse)return s===Ws?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(r===Sse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===Tse||r===Pse||r===Cse||r===Rse||r===Hse||r===Mse||r===Ise||r===zse||r===Dse||r===Ese||r===kse||r===Fse||r===Lse||r===Wse)if(l=e.get("WEBGL_compressed_texture_astc"),l!==null){if(r===Tse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:l.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===Pse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:l.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===Cse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:l.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===Rse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:l.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===Hse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:l.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Mse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:l.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===Ise)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:l.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===zse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:l.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===Dse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:l.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===Ese)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:l.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===kse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:l.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Fse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:l.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===Lse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:l.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===Wse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:l.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===g_||r===Nse||r===Use)if(l=e.get("EXT_texture_compression_bptc"),l!==null){if(r===g_)return s===Ws?l.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:l.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===Nse)return l.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===Use)return l.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===rWe||r===Bse||r===jse||r===Yse)if(l=e.get("EXT_texture_compression_rgtc"),l!==null){if(r===g_)return l.COMPRESSED_RED_RGTC1_EXT;if(r===Bse)return l.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===jse)return l.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===Yse)return l.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Dw?o?t.UNSIGNED_INT_24_8:(l=e.get("WEBGL_depth_texture"),l!==null?l.UNSIGNED_INT_24_8_WEBGL:null):t[r]!==void 0?t[r]:null}return{convert:i}}class kWe extends Iu{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let UP=class extends Dl{constructor(){super(),this.isGroup=!0,this.type="Group"}};const y2t={type:"move"};class xoe{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new UP,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new UP,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new re,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new re),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new UP,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new re,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new re),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const o of e.hand.values())this._getHandJoint(n,o)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,o){let i=null,r=null,a=null;const l=this._targetRay,s=this._grip,c=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const A of e.hand.values()){const w=n.getJointPose(A,o),b=this._getHandJoint(c,A);w!==null&&(b.matrix.fromArray(w.transform.matrix),b.matrix.decompose(b.position,b.rotation,b.scale),b.matrixWorldNeedsUpdate=!0,b.jointRadius=w.radius),b.visible=w!==null}const u=c.joints["index-finger-tip"],d=c.joints["thumb-tip"],f=u.position.distanceTo(d.position),p=.02,g=.005;c.inputState.pinching&&f>p+g?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&f<=p-g&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(r=n.getPose(e.gripSpace,o),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1));l!==null&&(i=n.getPose(e.targetRaySpace,o),i===null&&r!==null&&(i=r),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(y2t)))}return l!==null&&(l.visible=i!==null),s!==null&&(s.visible=r!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const o=new UP;o.matrixAutoUpdate=!1,o.visible=!1,e.joints[n.jointName]=o,e.add(o)}return e.joints[n.jointName]}}class c1e extends _c{constructor(e,n,o,i,r,a,l,s,c,u){if(u=u!==void 0?u:Ew,u!==Ew&&u!==Wx)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");o===void 0&&u===Ew&&(o=p6),o===void 0&&u===Wx&&(o=Dw),super(null,i,r,a,l,s,u,o,c),this.isDepthTexture=!0,this.image={width:e,height:n},this.magFilter=l!==void 0?l:F0,this.minFilter=s!==void 0?s:F0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const n=super.toJSON(e);return this.compareFunction!==null&&(n.compareFunction=this.compareFunction),n}}class A2t extends V9{constructor(e,n){super();const o=this;let i=null,r=1,a=null,l="local-floor",s=1,c=null,u=null,d=null,f=null,p=null,g=null;const A=n.getContextAttributes();let w=null,b=null;const C=[],P=[],v=new Iu;v.layers.enable(1),v.viewport=new ll;const T=new Iu;T.layers.enable(2),T.viewport=new ll;const y=[v,T],S=new kWe;S.layers.enable(1),S.layers.enable(2);let x=null,R=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Y){let O=C[Y];return O===void 0&&(O=new xoe,C[Y]=O),O.getTargetRaySpace()},this.getControllerGrip=function(Y){let O=C[Y];return O===void 0&&(O=new xoe,C[Y]=O),O.getGripSpace()},this.getHand=function(Y){let O=C[Y];return O===void 0&&(O=new xoe,C[Y]=O),O.getHandSpace()};function H(Y){const O=P.indexOf(Y.inputSource);if(O===-1)return;const J=C[O];J!==void 0&&(J.update(Y.inputSource,Y.frame,c||a),J.dispatchEvent({type:Y.type,data:Y.inputSource}))}function D(){i.removeEventListener("select",H),i.removeEventListener("selectstart",H),i.removeEventListener("selectend",H),i.removeEventListener("squeeze",H),i.removeEventListener("squeezestart",H),i.removeEventListener("squeezeend",H),i.removeEventListener("end",D),i.removeEventListener("inputsourceschange",k);for(let Y=0;Y=0&&(P[Z]=null,C[Z].disconnect(J))}for(let O=0;O=P.length){P.push(J),Z=ee;break}else if(P[ee]===null){P[ee]=J,Z=ee;break}if(Z===-1)break}const ie=C[Z];ie&&ie.connect(J)}}const W=new re,N=new re;function L(Y,O,J){W.setFromMatrixPosition(O.matrixWorld),N.setFromMatrixPosition(J.matrixWorld);const Z=W.distanceTo(N),ie=O.projectionMatrix.elements,ee=J.projectionMatrix.elements,q=ie[14]/(ie[10]-1),ae=ie[14]/(ie[10]+1),ne=(ie[9]+1)/ie[5],se=(ie[9]-1)/ie[5],le=(ie[8]-1)/ie[0],te=(ee[8]+1)/ee[0],he=q*le,pe=q*te,fe=Z/(-le+te),$=fe*-le;O.matrixWorld.decompose(Y.position,Y.quaternion,Y.scale),Y.translateX($),Y.translateZ(fe),Y.matrixWorld.compose(Y.position,Y.quaternion,Y.scale),Y.matrixWorldInverse.copy(Y.matrixWorld).invert();const de=q+fe,Se=ae+fe,Ce=he-$,ve=pe+(Z-$),Ie=ne*ae/Se*de,ze=se*ae/Se*de;Y.projectionMatrix.makePerspective(Ce,ve,Ie,ze,de,Se),Y.projectionMatrixInverse.copy(Y.projectionMatrix).invert()}function E(Y,O){O===null?Y.matrixWorld.copy(Y.matrix):Y.matrixWorld.multiplyMatrices(O.matrixWorld,Y.matrix),Y.matrixWorldInverse.copy(Y.matrixWorld).invert()}this.updateCamera=function(Y){if(i===null)return;S.near=T.near=v.near=Y.near,S.far=T.far=v.far=Y.far,(x!==S.near||R!==S.far)&&(i.updateRenderState({depthNear:S.near,depthFar:S.far}),x=S.near,R=S.far);const O=Y.parent,J=S.cameras;E(S,O);for(let Z=0;Z0&&(w.alphaTest.value=b.alphaTest);const C=e.get(b).envMap;if(C&&(w.envMap.value=C,w.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,w.reflectivity.value=b.reflectivity,w.ior.value=b.ior,w.refractionRatio.value=b.refractionRatio),b.lightMap){w.lightMap.value=b.lightMap;const P=t._useLegacyLights===!0?Math.PI:1;w.lightMapIntensity.value=b.lightMapIntensity*P,n(b.lightMap,w.lightMapTransform)}b.aoMap&&(w.aoMap.value=b.aoMap,w.aoMapIntensity.value=b.aoMapIntensity,n(b.aoMap,w.aoMapTransform))}function a(w,b){w.diffuse.value.copy(b.color),w.opacity.value=b.opacity,b.map&&(w.map.value=b.map,n(b.map,w.mapTransform))}function l(w,b){w.dashSize.value=b.dashSize,w.totalSize.value=b.dashSize+b.gapSize,w.scale.value=b.scale}function s(w,b,C,P){w.diffuse.value.copy(b.color),w.opacity.value=b.opacity,w.size.value=b.size*C,w.scale.value=P*.5,b.map&&(w.map.value=b.map,n(b.map,w.uvTransform)),b.alphaMap&&(w.alphaMap.value=b.alphaMap,n(b.alphaMap,w.alphaMapTransform)),b.alphaTest>0&&(w.alphaTest.value=b.alphaTest)}function c(w,b){w.diffuse.value.copy(b.color),w.opacity.value=b.opacity,w.rotation.value=b.rotation,b.map&&(w.map.value=b.map,n(b.map,w.mapTransform)),b.alphaMap&&(w.alphaMap.value=b.alphaMap,n(b.alphaMap,w.alphaMapTransform)),b.alphaTest>0&&(w.alphaTest.value=b.alphaTest)}function u(w,b){w.specular.value.copy(b.specular),w.shininess.value=Math.max(b.shininess,1e-4)}function d(w,b){b.gradientMap&&(w.gradientMap.value=b.gradientMap)}function f(w,b){w.metalness.value=b.metalness,b.metalnessMap&&(w.metalnessMap.value=b.metalnessMap,n(b.metalnessMap,w.metalnessMapTransform)),w.roughness.value=b.roughness,b.roughnessMap&&(w.roughnessMap.value=b.roughnessMap,n(b.roughnessMap,w.roughnessMapTransform)),e.get(b).envMap&&(w.envMapIntensity.value=b.envMapIntensity)}function p(w,b,C){w.ior.value=b.ior,b.sheen>0&&(w.sheenColor.value.copy(b.sheenColor).multiplyScalar(b.sheen),w.sheenRoughness.value=b.sheenRoughness,b.sheenColorMap&&(w.sheenColorMap.value=b.sheenColorMap,n(b.sheenColorMap,w.sheenColorMapTransform)),b.sheenRoughnessMap&&(w.sheenRoughnessMap.value=b.sheenRoughnessMap,n(b.sheenRoughnessMap,w.sheenRoughnessMapTransform))),b.clearcoat>0&&(w.clearcoat.value=b.clearcoat,w.clearcoatRoughness.value=b.clearcoatRoughness,b.clearcoatMap&&(w.clearcoatMap.value=b.clearcoatMap,n(b.clearcoatMap,w.clearcoatMapTransform)),b.clearcoatRoughnessMap&&(w.clearcoatRoughnessMap.value=b.clearcoatRoughnessMap,n(b.clearcoatRoughnessMap,w.clearcoatRoughnessMapTransform)),b.clearcoatNormalMap&&(w.clearcoatNormalMap.value=b.clearcoatNormalMap,n(b.clearcoatNormalMap,w.clearcoatNormalMapTransform),w.clearcoatNormalScale.value.copy(b.clearcoatNormalScale),b.side===p0&&w.clearcoatNormalScale.value.negate())),b.iridescence>0&&(w.iridescence.value=b.iridescence,w.iridescenceIOR.value=b.iridescenceIOR,w.iridescenceThicknessMinimum.value=b.iridescenceThicknessRange[0],w.iridescenceThicknessMaximum.value=b.iridescenceThicknessRange[1],b.iridescenceMap&&(w.iridescenceMap.value=b.iridescenceMap,n(b.iridescenceMap,w.iridescenceMapTransform)),b.iridescenceThicknessMap&&(w.iridescenceThicknessMap.value=b.iridescenceThicknessMap,n(b.iridescenceThicknessMap,w.iridescenceThicknessMapTransform))),b.transmission>0&&(w.transmission.value=b.transmission,w.transmissionSamplerMap.value=C.texture,w.transmissionSamplerSize.value.set(C.width,C.height),b.transmissionMap&&(w.transmissionMap.value=b.transmissionMap,n(b.transmissionMap,w.transmissionMapTransform)),w.thickness.value=b.thickness,b.thicknessMap&&(w.thicknessMap.value=b.thicknessMap,n(b.thicknessMap,w.thicknessMapTransform)),w.attenuationDistance.value=b.attenuationDistance,w.attenuationColor.value.copy(b.attenuationColor)),b.anisotropy>0&&(w.anisotropyVector.value.set(b.anisotropy*Math.cos(b.anisotropyRotation),b.anisotropy*Math.sin(b.anisotropyRotation)),b.anisotropyMap&&(w.anisotropyMap.value=b.anisotropyMap,n(b.anisotropyMap,w.anisotropyMapTransform))),w.specularIntensity.value=b.specularIntensity,w.specularColor.value.copy(b.specularColor),b.specularColorMap&&(w.specularColorMap.value=b.specularColorMap,n(b.specularColorMap,w.specularColorMapTransform)),b.specularIntensityMap&&(w.specularIntensityMap.value=b.specularIntensityMap,n(b.specularIntensityMap,w.specularIntensityMapTransform))}function g(w,b){b.matcap&&(w.matcap.value=b.matcap)}function A(w,b){const C=e.get(b).light;w.referencePosition.value.setFromMatrixPosition(C.matrixWorld),w.nearDistance.value=C.shadow.camera.near,w.farDistance.value=C.shadow.camera.far}return{refreshFogUniforms:o,refreshMaterialUniforms:i}}function v2t(t,e,n,o){let i={},r={},a=[];const l=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function s(C,P){const v=P.program;o.uniformBlockBinding(C,v)}function c(C,P){let v=i[C.id];v===void 0&&(g(C),v=u(C),i[C.id]=v,C.addEventListener("dispose",w));const T=P.program;o.updateUBOMapping(C,T);const y=e.render.frame;r[C.id]!==y&&(f(C),r[C.id]=y)}function u(C){const P=d();C.__bindingPointIndex=P;const v=t.createBuffer(),T=C.__size,y=C.usage;return t.bindBuffer(t.UNIFORM_BUFFER,v),t.bufferData(t.UNIFORM_BUFFER,T,y),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,P,v),v}function d(){for(let C=0;C0){y=v%T;const k=T-y;y!==0&&k-H.boundary<0&&(v+=T-y,R.__offset=v)}v+=H.storage}return y=v%T,y>0&&(v+=T-y),C.__size=v,C.__cache={},this}function A(C){const P={boundary:0,storage:0};return typeof C=="number"?(P.boundary=4,P.storage=4):C.isVector2?(P.boundary=8,P.storage=8):C.isVector3||C.isColor?(P.boundary=16,P.storage=12):C.isVector4?(P.boundary=16,P.storage=16):C.isMatrix3?(P.boundary=48,P.storage=48):C.isMatrix4?(P.boundary=64,P.storage=64):C.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",C),P}function w(C){const P=C.target;P.removeEventListener("dispose",w);const v=a.indexOf(P.__bindingPointIndex);a.splice(v,1),t.deleteBuffer(i[P.id]),delete i[P.id],delete r[P.id]}function b(){for(const C in i)t.deleteBuffer(i[C]);a=[],i={},r={}}return{bind:s,update:c,dispose:b}}class u1e{constructor(e={}){const{canvas:n=bWe(),context:o=null,depth:i=!0,stencil:r=!0,alpha:a=!1,antialias:l=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;o!==null?f=o.getContextAttributes().alpha:f=a;const p=new Uint32Array(4),g=new Int32Array(4);let A=null,w=null;const b=[],C=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=nu,this._useLegacyLights=!1,this.toneMapping=g9,this.toneMappingExposure=1;const P=this;let v=!1,T=0,y=0,S=null,x=-1,R=null;const H=new ll,D=new ll;let k=null;const W=new Xo(0);let N=0,L=n.width,E=n.height,U=1,F=null,B=null;const _=new ll(0,0,L,E),Y=new ll(0,0,L,E);let O=!1;const J=new LK;let Z=!1,ie=!1,ee=null;const q=new Xr,ae=new Gt,ne=new re,se={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function le(){return S===null?U:1}let te=o;function he(Ne,lt){for(let Ye=0;Ye{function mt(){if(st.forEach(function(Ht){Se.get(Ht).currentProgram.isReady()&&st.delete(Ht)}),st.size===0){je(Ne);return}setTimeout(mt,10)}pe.get("KHR_parallel_shader_compile")!==null?mt():setTimeout(mt,10)})};let at=null;function ot(Ne){at&&at(Ne)}function et(){nt.stop()}function _e(){nt.start()}const nt=new HWe;nt.setAnimationLoop(ot),typeof self<"u"&&nt.setContext(self),this.setAnimationLoop=function(Ne){at=Ne,Ge.setAnimationLoop(Ne),Ne===null?nt.stop():nt.start()},Ge.addEventListener("sessionstart",et),Ge.addEventListener("sessionend",_e),this.render=function(Ne,lt){if(lt!==void 0&<.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(v===!0)return;Ne.matrixWorldAutoUpdate===!0&&Ne.updateMatrixWorld(),lt.parent===null&<.matrixWorldAutoUpdate===!0&<.updateMatrixWorld(),Ge.enabled===!0&&Ge.isPresenting===!0&&(Ge.cameraAutoUpdate===!0&&Ge.updateCamera(lt),lt=Ge.getCamera()),Ne.isScene===!0&&Ne.onBeforeRender(P,Ne,lt,S),w=Pe.get(Ne,C.length),w.init(),C.push(w),q.multiplyMatrices(lt.projectionMatrix,lt.matrixWorldInverse),J.setFromProjectionMatrix(q),ie=this.localClippingEnabled,Z=Me.init(this.clippingPlanes,ie),A=me.get(Ne,b.length),A.init(),b.push(A),yt(Ne,lt,0,P.sortObjects),A.finish(),P.sortObjects===!0&&A.sort(F,B),this.info.render.frame++,Z===!0&&Me.beginShadows();const Ye=w.state.shadowsArray;if(Te.render(Ye,Ne,lt),Z===!0&&Me.endShadows(),this.info.autoReset===!0&&this.info.reset(),De.render(A,Ne),w.setupLights(P._useLegacyLights),lt.isArrayCamera){const st=lt.cameras;for(let je=0,mt=st.length;je0?w=C[C.length-1]:w=null,b.pop(),b.length>0?A=b[b.length-1]:A=null};function yt(Ne,lt,Ye,st){if(Ne.visible===!1)return;if(Ne.layers.test(lt.layers)){if(Ne.isGroup)Ye=Ne.renderOrder;else if(Ne.isLOD)Ne.autoUpdate===!0&&Ne.update(lt);else if(Ne.isLight)w.pushLight(Ne),Ne.castShadow&&w.pushShadow(Ne);else if(Ne.isSprite){if(!Ne.frustumCulled||J.intersectsSprite(Ne)){st&&ne.setFromMatrixPosition(Ne.matrixWorld).applyMatrix4(q);const Ht=oe.update(Ne),wt=Ne.material;wt.visible&&A.push(Ne,Ht,wt,Ye,ne.z,null)}}else if((Ne.isMesh||Ne.isLine||Ne.isPoints)&&(!Ne.frustumCulled||J.intersectsObject(Ne))){const Ht=oe.update(Ne),wt=Ne.material;if(st&&(Ne.boundingSphere!==void 0?(Ne.boundingSphere===null&&Ne.computeBoundingSphere(),ne.copy(Ne.boundingSphere.center)):(Ht.boundingSphere===null&&Ht.computeBoundingSphere(),ne.copy(Ht.boundingSphere.center)),ne.applyMatrix4(Ne.matrixWorld).applyMatrix4(q)),Array.isArray(wt)){const It=Ht.groups;for(let Et=0,zt=It.length;Et0&&Rt(je,mt,lt,Ye),st&&$.viewport(H.copy(st)),je.length>0&&Wt(je,lt,Ye),mt.length>0&&Wt(mt,lt,Ye),Ht.length>0&&Wt(Ht,lt,Ye),$.buffers.depth.setTest(!0),$.buffers.depth.setMask(!0),$.buffers.color.setMask(!0),$.setPolygonOffset(!1)}function Rt(Ne,lt,Ye,st){if((Ye.isScene===!0?Ye.overrideMaterial:null)!==null)return;const mt=fe.isWebGL2;ee===null&&(ee=new Vm(1,1,{generateMipmaps:!0,type:pe.has("EXT_color_buffer_half_float")?Lx:m9,minFilter:Xw,samples:mt?4:0})),P.getDrawingBufferSize(ae),mt?ee.setSize(ae.x,ae.y):ee.setSize(YV(ae.x),YV(ae.y));const Ht=P.getRenderTarget();P.setRenderTarget(ee),P.getClearColor(W),N=P.getClearAlpha(),N<1&&P.setClearColor(16777215,.5),P.clear();const wt=P.toneMapping;P.toneMapping=g9,Wt(Ne,Ye,st),Ce.updateMultisampleRenderTarget(ee),Ce.updateRenderTargetMipmap(ee);let It=!1;for(let Et=0,zt=lt.length;Et0),ln=!!Ye.morphAttributes.position,Xt=!!Ye.morphAttributes.normal,fn=!!Ye.morphAttributes.color;let rn=g9;st.toneMapped&&(S===null||S.isXRRenderTarget===!0)&&(rn=P.toneMapping);const bn=Ye.morphAttributes.position||Ye.morphAttributes.normal||Ye.morphAttributes.color,Tn=bn!==void 0?bn.length:0,Un=Se.get(st),Ai=w.state.lights;if(Z===!0&&(ie===!0||Ne!==R)){const vi=Ne===R&&st.id===x;Me.setState(st,Ne,vi)}let vo=!1;st.version===Un.__version?(Un.needsLights&&Un.lightsStateVersion!==Ai.state.version||Un.outputColorSpace!==wt||je.isInstancedMesh&&Un.instancing===!1||!je.isInstancedMesh&&Un.instancing===!0||je.isSkinnedMesh&&Un.skinning===!1||!je.isSkinnedMesh&&Un.skinning===!0||je.isInstancedMesh&&Un.instancingColor===!0&&je.instanceColor===null||je.isInstancedMesh&&Un.instancingColor===!1&&je.instanceColor!==null||Un.envMap!==It||st.fog===!0&&Un.fog!==mt||Un.numClippingPlanes!==void 0&&(Un.numClippingPlanes!==Me.numPlanes||Un.numIntersection!==Me.numIntersection)||Un.vertexAlphas!==Et||Un.vertexTangents!==zt||Un.morphTargets!==ln||Un.morphNormals!==Xt||Un.morphColors!==fn||Un.toneMapping!==rn||fe.isWebGL2===!0&&Un.morphTargetsCount!==Tn)&&(vo=!0):(vo=!0,Un.__version=st.version);let Oo=Un.currentProgram;vo===!0&&(Oo=At(st,lt,je));let si=!1,po=!1,to=!1;const uo=Oo.getUniforms(),qo=Un.uniforms;if($.useProgram(Oo.program)&&(si=!0,po=!0,to=!0),st.id!==x&&(x=st.id,po=!0),si||R!==Ne){uo.setValue(te,"projectionMatrix",Ne.projectionMatrix),uo.setValue(te,"viewMatrix",Ne.matrixWorldInverse);const vi=uo.map.cameraPosition;vi!==void 0&&vi.setValue(te,ne.setFromMatrixPosition(Ne.matrixWorld)),fe.logarithmicDepthBuffer&&uo.setValue(te,"logDepthBufFC",2/(Math.log(Ne.far+1)/Math.LN2)),(st.isMeshPhongMaterial||st.isMeshToonMaterial||st.isMeshLambertMaterial||st.isMeshBasicMaterial||st.isMeshStandardMaterial||st.isShaderMaterial)&&uo.setValue(te,"isOrthographic",Ne.isOrthographicCamera===!0),R!==Ne&&(R=Ne,po=!0,to=!0)}if(je.isSkinnedMesh){uo.setOptional(te,je,"bindMatrix"),uo.setOptional(te,je,"bindMatrixInverse");const vi=je.skeleton;vi&&(fe.floatVertexTextures?(vi.boneTexture===null&&vi.computeBoneTexture(),uo.setValue(te,"boneTexture",vi.boneTexture,Ce),uo.setValue(te,"boneTextureSize",vi.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const Hi=Ye.morphAttributes;if((Hi.position!==void 0||Hi.normal!==void 0||Hi.color!==void 0&&fe.isWebGL2===!0)&&Ue.update(je,Ye,Oo),(po||Un.receiveShadow!==je.receiveShadow)&&(Un.receiveShadow=je.receiveShadow,uo.setValue(te,"receiveShadow",je.receiveShadow)),st.isMeshGouraudMaterial&&st.envMap!==null&&(qo.envMap.value=It,qo.flipEnvMap.value=It.isCubeTexture&&It.isRenderTargetTexture===!1?-1:1),po&&(uo.setValue(te,"toneMappingExposure",P.toneMappingExposure),Un.needsLights&&ct(qo,to),mt&&st.fog===!0&&Ae.refreshFogUniforms(qo,mt),Ae.refreshMaterialUniforms(qo,st,U,E,ee),y_.upload(te,Ft(Un),qo,Ce)),st.isShaderMaterial&&st.uniformsNeedUpdate===!0&&(y_.upload(te,Ft(Un),qo,Ce),st.uniformsNeedUpdate=!1),st.isSpriteMaterial&&uo.setValue(te,"center",je.center),uo.setValue(te,"modelViewMatrix",je.modelViewMatrix),uo.setValue(te,"normalMatrix",je.normalMatrix),uo.setValue(te,"modelMatrix",je.matrixWorld),st.isShaderMaterial||st.isRawShaderMaterial){const vi=st.uniformsGroups;for(let Cn=0,yn=vi.length;Cn0&&Ce.useMultisampledRTT(Ne)===!1?je=Se.get(Ne).__webglMultisampledFramebuffer:Array.isArray(zt)?je=zt[Ye]:je=zt,H.copy(Ne.viewport),D.copy(Ne.scissor),k=Ne.scissorTest}else H.copy(_).multiplyScalar(U).floor(),D.copy(Y).multiplyScalar(U).floor(),k=O;if($.bindFramebuffer(te.FRAMEBUFFER,je)&&fe.drawBuffers&&st&&$.drawBuffers(Ne,je),$.viewport(H),$.scissor(D),$.setScissorTest(k),mt){const It=Se.get(Ne.texture);te.framebufferTexture2D(te.FRAMEBUFFER,te.COLOR_ATTACHMENT0,te.TEXTURE_CUBE_MAP_POSITIVE_X+lt,It.__webglTexture,Ye)}else if(Ht){const It=Se.get(Ne.texture),Et=lt||0;te.framebufferTextureLayer(te.FRAMEBUFFER,te.COLOR_ATTACHMENT0,It.__webglTexture,Ye||0,Et)}x=-1},this.readRenderTargetPixels=function(Ne,lt,Ye,st,je,mt,Ht){if(!(Ne&&Ne.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let wt=Se.get(Ne).__webglFramebuffer;if(Ne.isWebGLCubeRenderTarget&&Ht!==void 0&&(wt=wt[Ht]),wt){$.bindFramebuffer(te.FRAMEBUFFER,wt);try{const It=Ne.texture,Et=It.format,zt=It.type;if(Et!==kp&&$e.convert(Et)!==te.getParameter(te.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const ln=zt===Lx&&(pe.has("EXT_color_buffer_half_float")||fe.isWebGL2&&pe.has("EXT_color_buffer_float"));if(zt!==m9&&$e.convert(zt)!==te.getParameter(te.IMPLEMENTATION_COLOR_READ_TYPE)&&!(zt===p2&&(fe.isWebGL2||pe.has("OES_texture_float")||pe.has("WEBGL_color_buffer_float")))&&!ln){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}lt>=0&<<=Ne.width-st&&Ye>=0&&Ye<=Ne.height-je&&te.readPixels(lt,Ye,st,je,$e.convert(Et),$e.convert(zt),mt)}finally{const It=S!==null?Se.get(S).__webglFramebuffer:null;$.bindFramebuffer(te.FRAMEBUFFER,It)}}},this.copyFramebufferToTexture=function(Ne,lt,Ye=0){const st=Math.pow(2,-Ye),je=Math.floor(lt.image.width*st),mt=Math.floor(lt.image.height*st);Ce.setTexture2D(lt,0),te.copyTexSubImage2D(te.TEXTURE_2D,Ye,0,0,Ne.x,Ne.y,je,mt),$.unbindTexture()},this.copyTextureToTexture=function(Ne,lt,Ye,st=0){const je=lt.image.width,mt=lt.image.height,Ht=$e.convert(Ye.format),wt=$e.convert(Ye.type);Ce.setTexture2D(Ye,0),te.pixelStorei(te.UNPACK_FLIP_Y_WEBGL,Ye.flipY),te.pixelStorei(te.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ye.premultiplyAlpha),te.pixelStorei(te.UNPACK_ALIGNMENT,Ye.unpackAlignment),lt.isDataTexture?te.texSubImage2D(te.TEXTURE_2D,st,Ne.x,Ne.y,je,mt,Ht,wt,lt.image.data):lt.isCompressedTexture?te.compressedTexSubImage2D(te.TEXTURE_2D,st,Ne.x,Ne.y,lt.mipmaps[0].width,lt.mipmaps[0].height,Ht,lt.mipmaps[0].data):te.texSubImage2D(te.TEXTURE_2D,st,Ne.x,Ne.y,Ht,wt,lt.image),st===0&&Ye.generateMipmaps&&te.generateMipmap(te.TEXTURE_2D),$.unbindTexture()},this.copyTextureToTexture3D=function(Ne,lt,Ye,st,je=0){if(P.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const mt=Ne.max.x-Ne.min.x+1,Ht=Ne.max.y-Ne.min.y+1,wt=Ne.max.z-Ne.min.z+1,It=$e.convert(st.format),Et=$e.convert(st.type);let zt;if(st.isData3DTexture)Ce.setTexture3D(st,0),zt=te.TEXTURE_3D;else if(st.isDataArrayTexture)Ce.setTexture2DArray(st,0),zt=te.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}te.pixelStorei(te.UNPACK_FLIP_Y_WEBGL,st.flipY),te.pixelStorei(te.UNPACK_PREMULTIPLY_ALPHA_WEBGL,st.premultiplyAlpha),te.pixelStorei(te.UNPACK_ALIGNMENT,st.unpackAlignment);const ln=te.getParameter(te.UNPACK_ROW_LENGTH),Xt=te.getParameter(te.UNPACK_IMAGE_HEIGHT),fn=te.getParameter(te.UNPACK_SKIP_PIXELS),rn=te.getParameter(te.UNPACK_SKIP_ROWS),bn=te.getParameter(te.UNPACK_SKIP_IMAGES),Tn=Ye.isCompressedTexture?Ye.mipmaps[0]:Ye.image;te.pixelStorei(te.UNPACK_ROW_LENGTH,Tn.width),te.pixelStorei(te.UNPACK_IMAGE_HEIGHT,Tn.height),te.pixelStorei(te.UNPACK_SKIP_PIXELS,Ne.min.x),te.pixelStorei(te.UNPACK_SKIP_ROWS,Ne.min.y),te.pixelStorei(te.UNPACK_SKIP_IMAGES,Ne.min.z),Ye.isDataTexture||Ye.isData3DTexture?te.texSubImage3D(zt,je,lt.x,lt.y,lt.z,mt,Ht,wt,It,Et,Tn.data):Ye.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),te.compressedTexSubImage3D(zt,je,lt.x,lt.y,lt.z,mt,Ht,wt,It,Tn.data)):te.texSubImage3D(zt,je,lt.x,lt.y,lt.z,mt,Ht,wt,It,Et,Tn),te.pixelStorei(te.UNPACK_ROW_LENGTH,ln),te.pixelStorei(te.UNPACK_IMAGE_HEIGHT,Xt),te.pixelStorei(te.UNPACK_SKIP_PIXELS,fn),te.pixelStorei(te.UNPACK_SKIP_ROWS,rn),te.pixelStorei(te.UNPACK_SKIP_IMAGES,bn),je===0&&st.generateMipmaps&&te.generateMipmap(zt),$.unbindTexture()},this.initTexture=function(Ne){Ne.isCubeTexture?Ce.setTextureCube(Ne,0):Ne.isData3DTexture?Ce.setTexture3D(Ne,0):Ne.isDataArrayTexture||Ne.isCompressedArrayTexture?Ce.setTexture2DArray(Ne,0):Ce.setTexture2D(Ne,0),$.unbindTexture()},this.resetState=function(){T=0,y=0,S=null,$.reset(),We.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return a9}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===kK?"display-p3":"srgb",n.unpackColorSpace=rs.workingColorSpace===UL?"display-p3":"srgb"}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===nu?kw:t1e}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===kw?nu:R9}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class FWe extends u1e{}FWe.prototype.isWebGL1Renderer=!0;class BK{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new Xo(e),this.density=n}clone(){return new BK(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class jK{constructor(e,n=1,o=1e3){this.isFog=!0,this.name="",this.color=new Xo(e),this.near=n,this.far=o}clone(){return new jK(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class OV extends Dl{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class YK{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=vk,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=wg()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,o){e*=this.stride,o*=n.stride;for(let i=0,r=this.stride;ie.far||n.push({distance:s,point:lz.clone(),uv:th.getInterpolation(lz,wj,cz,vj,v4e,boe,x4e,new Gt),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function xj(t,e,n,o,i,r){fT.subVectors(t,n).addScalar(.5).multiply(o),i!==void 0?(sz.x=r*fT.x-i*fT.y,sz.y=i*fT.x+r*fT.y):sz.copy(fT),t.copy(e),t.x+=sz.x,t.y+=sz.y,t.applyMatrix4(LWe)}const bj=new re,b4e=new re;class WWe extends Dl{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const n=e.levels;for(let o=0,i=n.length;o0){let o,i;for(o=1,i=n.length;o0){bj.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(bj);this.getObjectForDistance(i).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){bj.setFromMatrixPosition(e.matrixWorld),b4e.setFromMatrixPosition(this.matrixWorld);const o=bj.distanceTo(b4e)/e.zoom;n[0].object.visible=!0;let i,r;for(i=1,r=n.length;i=a)n[i-1].object.visible=!1,n[i].object.visible=!0;else break}for(this._currentLevel=i-1;is)continue;f.applyMatrix4(this.matrixWorld);const x=e.ray.origin.distanceTo(f);xe.far||n.push({distance:x,point:d.clone().applyMatrix4(this.matrixWorld),index:P,face:null,faceIndex:null,object:this})}}else{const b=Math.max(0,a.start),C=Math.min(w.count,a.start+a.count);for(let P=b,v=C-1;Ps)continue;f.applyMatrix4(this.matrixWorld);const y=e.ray.origin.distanceTo(f);ye.far||n.push({distance:y,point:d.clone().applyMatrix4(this.matrixWorld),index:P,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,o=Object.keys(n);if(o.length>0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;ri.far)return;r.push({distance:c,distanceToRay:Math.sqrt(l),point:s,index:e,face:null,object:a})}}class T2t extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isVideoTexture=!0,this.minFilter=a!==void 0?a:js,this.magFilter=r!==void 0?r:js,this.generateMipmaps=!1;const u=this;function d(){u.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class P2t extends _c{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=F0,this.minFilter=F0,this.generateMipmaps=!1,this.needsUpdate=!0}}class VK extends _c{constructor(e,n,o,i,r,a,l,s,c,u,d,f){super(null,a,l,s,c,u,i,r,d,f),this.isCompressedTexture=!0,this.image={width:n,height:o},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class C2t extends VK{constructor(e,n,o,i,r,a){super(e,n,o,r,a),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=ah}}class R2t extends VK{constructor(e,n,o){super(void 0,e[0].width,e[0].height,n,o,j6),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class BP extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}let V2=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const o=this.getUtoTmapping(e);return this.getPoint(o,n)}getPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPoint(o/e));return n}getSpacedPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPointAt(o/e));return n}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let o,i=this.getPoint(0),r=0;n.push(0);for(let a=1;a<=e;a++)o=this.getPoint(a/e),r+=o.distanceTo(i),n.push(r),i=o;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const o=this.getLengths();let i=0;const r=o.length;let a;n?a=n:a=e*o[r-1];let l=0,s=r-1,c;for(;l<=s;)if(i=Math.floor(l+(s-l)/2),c=o[i]-a,c<0)l=i+1;else if(c>0)s=i-1;else{s=i;break}if(i=s,o[i]===a)return i/(r-1);const u=o[i],f=o[i+1]-u,p=(a-u)/f;return(i+p)/(r-1)}getTangent(e,n){let i=e-1e-4,r=e+1e-4;i<0&&(i=0),r>1&&(r=1);const a=this.getPoint(i),l=this.getPoint(r),s=n||(a.isVector2?new Gt:new re);return s.copy(l).sub(a).normalize(),s}getTangentAt(e,n){const o=this.getUtoTmapping(e);return this.getTangent(o,n)}computeFrenetFrames(e,n){const o=new re,i=[],r=[],a=[],l=new re,s=new Xr;for(let p=0;p<=e;p++){const g=p/e;i[p]=this.getTangentAt(g,new re)}r[0]=new re,a[0]=new re;let c=Number.MAX_VALUE;const u=Math.abs(i[0].x),d=Math.abs(i[0].y),f=Math.abs(i[0].z);u<=c&&(c=u,o.set(1,0,0)),d<=c&&(c=d,o.set(0,1,0)),f<=c&&o.set(0,0,1),l.crossVectors(i[0],o).normalize(),r[0].crossVectors(i[0],l),a[0].crossVectors(i[0],r[0]);for(let p=1;p<=e;p++){if(r[p]=r[p-1].clone(),a[p]=a[p-1].clone(),l.crossVectors(i[p-1],i[p]),l.length()>Number.EPSILON){l.normalize();const g=Math.acos(h0(i[p-1].dot(i[p]),-1,1));r[p].applyMatrix4(s.makeRotationAxis(l,g))}a[p].crossVectors(i[p],r[p])}if(n===!0){let p=Math.acos(h0(r[0].dot(r[e]),-1,1));p/=e,i[0].dot(l.crossVectors(r[0],r[e]))>0&&(p=-p);for(let g=1;g<=e;g++)r[g].applyMatrix4(s.makeRotationAxis(i[g],p*g)),a[g].crossVectors(i[g],r[g])}return{tangents:i,normals:r,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}};class P2 extends V2{constructor(e=0,n=0,o=1,i=1,r=0,a=Math.PI*2,l=!1,s=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=o,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=a,this.aClockwise=l,this.aRotation=s}getPoint(e,n){const o=n||new Gt,i=Math.PI*2;let r=this.aEndAngle-this.aStartAngle;const a=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:s===0&&l===r-1&&(l=r-2,s=1);let c,u;this.closed||l>0?c=i[(l-1)%r]:(Hj.subVectors(i[0],i[1]).add(i[0]),c=Hj);const d=i[l%r],f=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:a+1],d=i[a>i.length-3?i.length-1:a+2];return o.set(N4e(l,s.x,c.x,u.x,d.x),N4e(l,s.y,c.y,u.y,d.y)),o}copy(e){super.copy(e),this.points=[];for(let n=0,o=e.points.length;n=o){const a=i[r]-o,l=this.curves[r],s=l.getLength(),c=s===0?0:1-a/s;return l.getPointAt(c,n)}r++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let n=0;for(let o=0,i=this.curves.length;o1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,o=e.curves.length;n0){const d=c.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class OL extends Ur{constructor(e=[new Gt(0,-.5),new Gt(.5,0),new Gt(0,.5)],n=12,o=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:o,phiLength:i},n=Math.floor(n),i=h0(i,0,Math.PI*2);const r=[],a=[],l=[],s=[],c=[],u=1/n,d=new re,f=new Gt,p=new re,g=new re,A=new re;let w=0,b=0;for(let C=0;C<=e.length-1;C++)switch(C){case 0:w=e[C+1].x-e[C].x,b=e[C+1].y-e[C].y,p.x=b*1,p.y=-w,p.z=b*0,A.copy(p),p.normalize(),s.push(p.x,p.y,p.z);break;case e.length-1:s.push(A.x,A.y,A.z);break;default:w=e[C+1].x-e[C].x,b=e[C+1].y-e[C].y,p.x=b*1,p.y=-w,p.z=b*0,g.copy(p),p.x+=A.x,p.y+=A.y,p.z+=A.z,p.normalize(),s.push(p.x,p.y,p.z),A.copy(g)}for(let C=0;C<=n;C++){const P=o+C*u*i,v=Math.sin(P),T=Math.cos(P);for(let y=0;y<=e.length-1;y++){d.x=e[y].x*v,d.y=e[y].y,d.z=e[y].x*T,a.push(d.x,d.y,d.z),f.x=C/n,f.y=y/(e.length-1),l.push(f.x,f.y);const S=s[3*y+0]*v,x=s[3*y+1],R=s[3*y+0]*T;c.push(S,x,R)}}for(let C=0;C0&&P(!0),n>0&&P(!1)),this.setIndex(u),this.setAttribute("position",new hi(d,3)),this.setAttribute("normal",new hi(f,3)),this.setAttribute("uv",new hi(p,2));function C(){const v=new re,T=new re;let y=0;const S=(n-e)/o;for(let x=0;x<=r;x++){const R=[],H=x/r,D=H*(n-e)+e;for(let k=0;k<=i;k++){const W=k/i,N=W*s+l,L=Math.sin(N),E=Math.cos(N);T.x=D*L,T.y=-H*o+w,T.z=D*E,d.push(T.x,T.y,T.z),v.set(L,S,E).normalize(),f.push(v.x,v.y,v.z),p.push(W,1-H),R.push(g++)}A.push(R)}for(let x=0;x.9&&S<.1&&(P<.2&&(a[C+0]+=1),v<.2&&(a[C+2]+=1),T<.2&&(a[C+4]+=1))}}function f(C){r.push(C.x,C.y,C.z)}function p(C,P){const v=C*3;P.x=e[v+0],P.y=e[v+1],P.z=e[v+2]}function g(){const C=new re,P=new re,v=new re,T=new re,y=new Gt,S=new Gt,x=new Gt;for(let R=0,H=0;R80*n){l=c=t[0],s=u=t[1];for(let g=n;gc&&(c=d),f>u&&(u=f);p=Math.max(c-l,u-s),p=p!==0?32767/p:0}return Pk(r,a,n,l,s,p,0),a}};function XWe(t,e,n,o,i){let r,a;if(i===$2t(t,e,n,o)>0)for(r=e;r=e;r-=o)a=U4e(r,t[r],t[r+1],a);return a&&QK(a,a.next)&&(Rk(a),a=a.next),a}function Ux(t,e){if(!t)return t;e||(e=t);let n=t,o;do if(o=!1,!n.steiner&&(QK(n,n.next)||n0(n.prev,n,n.next)===0)){if(Rk(n),n=e=n.prev,n===n.next)break;o=!0}else n=n.next;while(o||n!==e);return e}function Pk(t,e,n,o,i,r,a){if(!t)return;!a&&r&&V2t(t,o,i,r);let l=t,s,c;for(;t.prev!==t.next;){if(s=t.prev,c=t.next,r?W2t(t,o,i,r):L2t(t)){e.push(s.i/n|0),e.push(t.i/n|0),e.push(c.i/n|0),Rk(t),t=c.next,l=c.next;continue}if(t=c,t===l){a?a===1?(t=N2t(Ux(t),e,n),Pk(t,e,n,o,i,r,2)):a===2&&U2t(t,e,n,o,i,r):Pk(Ux(t),e,n,o,i,r,1);break}}}function L2t(t){const e=t.prev,n=t,o=t.next;if(n0(e,n,o)>=0)return!1;const i=e.x,r=n.x,a=o.x,l=e.y,s=n.y,c=o.y,u=ir?i>a?i:a:r>a?r:a,p=l>s?l>c?l:c:s>c?s:c;let g=o.next;for(;g!==e;){if(g.x>=u&&g.x<=f&&g.y>=d&&g.y<=p&&jP(i,l,r,s,a,c,g.x,g.y)&&n0(g.prev,g,g.next)>=0)return!1;g=g.next}return!0}function W2t(t,e,n,o){const i=t.prev,r=t,a=t.next;if(n0(i,r,a)>=0)return!1;const l=i.x,s=r.x,c=a.x,u=i.y,d=r.y,f=a.y,p=ls?l>c?l:c:s>c?s:c,w=u>d?u>f?u:f:d>f?d:f,b=Kse(p,g,e,n,o),C=Kse(A,w,e,n,o);let P=t.prevZ,v=t.nextZ;for(;P&&P.z>=b&&v&&v.z<=C;){if(P.x>=p&&P.x<=A&&P.y>=g&&P.y<=w&&P!==i&&P!==a&&jP(l,u,s,d,c,f,P.x,P.y)&&n0(P.prev,P,P.next)>=0||(P=P.prevZ,v.x>=p&&v.x<=A&&v.y>=g&&v.y<=w&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0))return!1;v=v.nextZ}for(;P&&P.z>=b;){if(P.x>=p&&P.x<=A&&P.y>=g&&P.y<=w&&P!==i&&P!==a&&jP(l,u,s,d,c,f,P.x,P.y)&&n0(P.prev,P,P.next)>=0)return!1;P=P.prevZ}for(;v&&v.z<=C;){if(v.x>=p&&v.x<=A&&v.y>=g&&v.y<=w&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function N2t(t,e,n){let o=t;do{const i=o.prev,r=o.next.next;!QK(i,r)&&JWe(i,o,o.next,r)&&Ck(i,r)&&Ck(r,i)&&(e.push(i.i/n|0),e.push(o.i/n|0),e.push(r.i/n|0),Rk(o),Rk(o.next),o=t=r),o=o.next}while(o!==t);return Ux(o)}function U2t(t,e,n,o,i,r){let a=t;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&J2t(a,l)){let s=KWe(a,l);a=Ux(a,a.next),s=Ux(s,s.next),Pk(a,e,n,o,i,r,0),Pk(s,e,n,o,i,r,0);return}l=l.next}a=a.next}while(a!==t)}function B2t(t,e,n,o){const i=[];let r,a,l,s,c;for(r=0,a=e.length;r=n.next.y&&n.next.y!==n.y){const f=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(f<=r&&f>o&&(o=f,i=n.x=n.x&&n.x>=s&&r!==n.x&&jP(ai.x||n.x===i.x&&_2t(i,n)))&&(i=n,u=d)),n=n.next;while(n!==l);return i}function _2t(t,e){return n0(t.prev,t,e.prev)<0&&n0(e.next,t,t.next)<0}function V2t(t,e,n,o){let i=t;do i.z===0&&(i.z=Kse(i.x,i.y,e,n,o)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,G2t(i)}function G2t(t){let e,n,o,i,r,a,l,s,c=1;do{for(n=t,t=null,r=null,a=0;n;){for(a++,o=n,l=0,e=0;e0||s>0&&o;)l!==0&&(s===0||!o||n.z<=o.z)?(i=n,n=n.nextZ,l--):(i=o,o=o.nextZ,s--),r?r.nextZ=i:t=i,i.prevZ=r,r=i;n=o}r.nextZ=null,c*=2}while(a>1);return t}function Kse(t,e,n,o,i){return t=(t-n)*i|0,e=(e-o)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function X2t(t){let e=t,n=t;do(e.x=(t-a)*(r-l)&&(t-a)*(o-l)>=(n-a)*(e-l)&&(n-a)*(r-l)>=(i-a)*(o-l)}function J2t(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!K2t(t,e)&&(Ck(t,e)&&Ck(e,t)&&q2t(t,e)&&(n0(t.prev,t,e.prev)||n0(t,e.prev,e))||QK(t,e)&&n0(t.prev,t,t.next)>0&&n0(e.prev,e,e.next)>0)}function n0(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function QK(t,e){return t.x===e.x&&t.y===e.y}function JWe(t,e,n,o){const i=Ej(n0(t,e,n)),r=Ej(n0(t,e,o)),a=Ej(n0(n,o,t)),l=Ej(n0(n,o,e));return!!(i!==r&&a!==l||i===0&&Dj(t,n,e)||r===0&&Dj(t,o,e)||a===0&&Dj(n,t,o)||l===0&&Dj(n,e,o))}function Dj(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Ej(t){return t>0?1:t<0?-1:0}function K2t(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&JWe(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function Ck(t,e){return n0(t.prev,t,t.next)<0?n0(t,e,t.next)>=0&&n0(t,t.prev,e)>=0:n0(t,e,t.prev)<0||n0(t,t.next,e)<0}function q2t(t,e){let n=t,o=!1;const i=(t.x+e.x)/2,r=(t.y+e.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&i<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(o=!o),n=n.next;while(n!==t);return o}function KWe(t,e){const n=new qse(t.i,t.x,t.y),o=new qse(e.i,e.x,e.y),i=t.next,r=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,o.next=n,n.prev=o,r.next=o,o.prev=r,o}function U4e(t,e,n,o){const i=new qse(t,e,n);return o?(i.next=o.next,i.prev=o,o.next.prev=i,o.next=i):(i.prev=i,i.next=i),i}function Rk(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function qse(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function $2t(t,e,n,o){let i=0;for(let r=e,a=n-o;r2&&t[e-1].equals(t[0])&&t.pop()}function j4e(t,e){for(let n=0;nNumber.EPSILON){const oe=Math.sqrt(ze),ge=Math.sqrt(ve*ve+Ie*Ie),Ae=he.x-Ce/oe,me=he.y+Se/oe,Pe=pe.x-Ie/ge,Me=pe.y+ve/ge,Te=((Pe-Ae)*Ie-(Me-me)*ve)/(Se*Ie-Ce*ve);fe=Ae+Se*Te-te.x,$=me+Ce*Te-te.y;const De=fe*fe+$*$;if(De<=2)return new Gt(fe,$);de=Math.sqrt(De/2)}else{let oe=!1;Se>Number.EPSILON?ve>Number.EPSILON&&(oe=!0):Se<-Number.EPSILON?ve<-Number.EPSILON&&(oe=!0):Math.sign(Ce)===Math.sign(Ie)&&(oe=!0),oe?(fe=-Ce,$=Se,de=Math.sqrt(ze)):(fe=Se,$=Ce,de=Math.sqrt(ze/2))}return new Gt(fe/de,$/de)}const B=[];for(let te=0,he=N.length,pe=he-1,fe=te+1;te=0;te--){const he=te/w,pe=p*Math.cos(he*Math.PI/2),fe=g*Math.sin(he*Math.PI/2)+A;for(let $=0,de=N.length;$=0;){const fe=pe;let $=pe-1;$<0&&($=te.length-1);for(let de=0,Se=u+w*2;de0)&&p.push(P,v,y),(b!==o-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class v1e extends yf{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Xo(16777215),this.specular=new Xo(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class ZWe extends yf{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Xo(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class eNe extends yf{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class tNe extends yf{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class nNe extends yf{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Xo(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class oNe extends dp{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Mv(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function iNe(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function rNe(t){function e(i,r){return t[i]-t[r]}const n=t.length,o=new Array(n);for(let i=0;i!==n;++i)o[i]=i;return o.sort(e),o}function $se(t,e,n){const o=t.length,i=new t.constructor(o);for(let r=0,a=0;a!==o;++r){const l=n[r]*e;for(let s=0;s!==e;++s)i[a++]=t[l+s]}return i}function x1e(t,e,n,o){let i=1,r=t[0];for(;r!==void 0&&r[o]===void 0;)r=t[i++];if(r===void 0)return;let a=r[o];if(a!==void 0)if(Array.isArray(a))do a=r[o],a!==void 0&&(e.push(r.time),n.push.apply(n,a)),r=t[i++];while(r!==void 0);else if(a.toArray!==void 0)do a=r[o],a!==void 0&&(e.push(r.time),a.toArray(n,n.length)),r=t[i++];while(r!==void 0);else do a=r[o],a!==void 0&&(e.push(r.time),n.push(a)),r=t[i++];while(r!==void 0)}function t5t(t,e,n,o,i=30){const r=t.clone();r.name=e;const a=[];for(let s=0;s=o)){d.push(c.times[p]);for(let A=0;Ar.tracks[s].times[0]&&(l=r.tracks[s].times[0]);for(let s=0;s=l.times[g]){const b=g*d+u,C=b+d-u;A=l.values.slice(b,C)}else{const b=l.createInterpolant(),C=u,P=d-u;b.evaluate(r),A=b.resultBuffer.slice(C,P)}s==="quaternion"&&new Ts().fromArray(A).normalize().conjugate().toArray(A);const w=c.times.length;for(let b=0;b=r)){const l=n[1];e=r)break t}a=o,o=0;break n}break e}for(;o>>1;en;)--a;if(++a,r!==0||a!==i){r>=a&&(a=Math.max(a,1),r=a-1);const l=this.getValueSize();this.times=o.slice(r,a),this.values=this.values.slice(r*l,a*l)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const o=this.times,i=this.values,r=o.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let l=0;l!==r;l++){const s=o[l];if(typeof s=="number"&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,l,s),e=!1;break}if(a!==null&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,l,s,a),e=!1;break}a=s}if(i!==void 0&&iNe(i))for(let l=0,s=i.length;l!==s;++l){const c=i[l];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,l,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),o=this.getValueSize(),i=this.getInterpolation()===m_,r=e.length-1;let a=1;for(let l=1;l0){e[a]=e[r];for(let l=r*o,s=a*o,c=0;c!==o;++c)n[s+c]=n[l+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=n.slice(0,a*o)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),o=this.constructor,i=new o(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}G2.prototype.TimeBufferType=Float32Array;G2.prototype.ValueBufferType=Float32Array;G2.prototype.DefaultInterpolation=gk;class pb extends G2{}pb.prototype.ValueTypeName="bool";pb.prototype.ValueBufferType=Array;pb.prototype.DefaultInterpolation=pk;pb.prototype.InterpolantFactoryMethodLinear=void 0;pb.prototype.InterpolantFactoryMethodSmooth=void 0;class S1e extends G2{}S1e.prototype.ValueTypeName="color";class Hk extends G2{}Hk.prototype.ValueTypeName="number";class sNe extends GL{constructor(e,n,o,i){super(e,n,o,i)}interpolate_(e,n,o,i){const r=this.resultBuffer,a=this.sampleValues,l=this.valueSize,s=(o-n)/(i-n);let c=e*l;for(let u=c+l;c!==u;c+=4)Ts.slerpFlat(r,0,a,c-l,a,c,s);return r}}class gH extends G2{InterpolantFactoryMethodLinear(e){return new sNe(this.times,this.values,this.getValueSize(),e)}}gH.prototype.ValueTypeName="quaternion";gH.prototype.DefaultInterpolation=gk;gH.prototype.InterpolantFactoryMethodSmooth=void 0;class gb extends G2{}gb.prototype.ValueTypeName="string";gb.prototype.ValueBufferType=Array;gb.prototype.DefaultInterpolation=pk;gb.prototype.InterpolantFactoryMethodLinear=void 0;gb.prototype.InterpolantFactoryMethodSmooth=void 0;class Mk extends G2{}Mk.prototype.ValueTypeName="vector";class Ik{constructor(e,n=-1,o,i=EK){this.name=e,this.tracks=o,this.duration=n,this.blendMode=i,this.uuid=wg(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],o=e.tracks,i=1/(e.fps||1);for(let a=0,l=o.length;a!==l;++a)n.push(r5t(o[a]).scale(i));const r=new this(e.name,e.duration,n,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const n=[],o=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,a=o.length;r!==a;++r)n.push(G2.toJSON(o[r]));return i}static CreateFromMorphTargetSequence(e,n,o,i){const r=n.length,a=[];for(let l=0;l1){const d=u[1];let f=i[d];f||(i[d]=f=[]),f.push(c)}}const a=[];for(const l in i)a.push(this.CreateFromMorphTargetSequence(l,i[l],n,o));return a}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const o=function(d,f,p,g,A){if(p.length!==0){const w=[],b=[];x1e(p,w,b,g),w.length!==0&&A.push(new d(f,w,b))}},i=[],r=e.name||"default",a=e.fps||30,l=e.blendMode;let s=e.length||-1;const c=e.hierarchy||[];for(let d=0;d{n&&n(r),this.manager.itemEnd(e)},0),r;if(J3[e]!==void 0){J3[e].push({onLoad:n,onProgress:o,onError:i});return}J3[e]=[],J3[e].push({onLoad:n,onProgress:o,onError:i});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),l=this.mimeType,s=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=J3[e],d=c.body.getReader(),f=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=f?parseInt(f):0,g=p!==0;let A=0;const w=new ReadableStream({start(b){C();function C(){d.read().then(({done:P,value:v})=>{if(P)b.close();else{A+=v.byteLength;const T=new ProgressEvent("progress",{lengthComputable:g,loaded:A,total:p});for(let y=0,S=u.length;y{switch(s){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,l));case"json":return c.json();default:if(l===void 0)return c.text();{const d=/charset="?([^;"\s]*)"?/i.exec(l),f=d&&d[1]?d[1].toLowerCase():void 0,p=new TextDecoder(f);return c.arrayBuffer().then(g=>p.decode(g))}}}).then(c=>{Bx.add(e,c);const u=J3[e];delete J3[e];for(let d=0,f=u.length;d{const u=J3[e];if(u===void 0)throw this.manager.itemError(e),c;delete J3[e];for(let d=0,f=u.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class l5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{n(r.parse(JSON.parse(l)))}catch(s){i?i(s):console.error(s),r.manager.itemError(e)}},o,i)}parse(e){const n=[];for(let o=0;o0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const r in e.uniforms){const a=e.uniforms[r];switch(i.uniforms[r]={},a.type){case"t":i.uniforms[r].value=o(a.value);break;case"c":i.uniforms[r].value=new Xo().setHex(a.value);break;case"v2":i.uniforms[r].value=new Gt().fromArray(a.value);break;case"v3":i.uniforms[r].value=new re().fromArray(a.value);break;case"v4":i.uniforms[r].value=new ll().fromArray(a.value);break;case"m3":i.uniforms[r].value=new fa().fromArray(a.value);break;case"m4":i.uniforms[r].value=new Xr().fromArray(a.value);break;default:i.uniforms[r].value=a.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const r in e.extensions)i.extensions[r]=e.extensions[r];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=o(e.map)),e.matcap!==void 0&&(i.matcap=o(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=o(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=o(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=o(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let r=e.normalScale;Array.isArray(r)===!1&&(r=[r,r]),i.normalScale=new Gt().fromArray(r)}return e.displacementMap!==void 0&&(i.displacementMap=o(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=o(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=o(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=o(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=o(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=o(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=o(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=o(e.envMap)),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=o(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=o(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=o(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=o(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=o(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=o(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Gt().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=o(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=o(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=o(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=o(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=o(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=o(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=o(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const n={ShadowMaterial:qWe,SpriteMaterial:OK,RawShaderMaterial:$We,ShaderMaterial:W2,PointsMaterial:h1e,MeshPhysicalMaterial:QWe,MeshStandardMaterial:sf,MeshPhongMaterial:v1e,MeshToonMaterial:ZWe,MeshNormalMaterial:eNe,MeshLambertMaterial:tNe,MeshDepthMaterial:NK,MeshDistanceMaterial:UK,MeshBasicMaterial:G9,MeshMatcapMaterial:nNe,LineDashedMaterial:oNe,LineBasicMaterial:dp,Material:yf};return new n[e]}}class Qse{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let o=0,i=e.length;o0){const s=new T1e(n);r=new zk(s),r.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){i=new zk(this.manager),i.setCrossOrigin(this.crossOrigin);for(let a=0,l=e.length;a"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,o,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=Bx.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(a),r.manager.itemEnd(e)},0),a;const l={};l.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",l.headers=this.requestHeader,fetch(e,l).then(function(s){return s.blob()}).then(function(s){return createImageBitmap(s,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(s){Bx.add(e,s),n&&n(s),r.manager.itemEnd(e)}).catch(function(s){i&&i(s),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}let kj;class C1e{static getContext(){return kj===void 0&&(kj=new(window.AudioContext||window.webkitAudioContext)),kj}static setContext(e){kj=e}}class y5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(s){try{const c=s.slice(0);C1e.getContext().decodeAudioData(c,function(d){n(d)},l)}catch(c){l(c)}},o,i);function l(s){i?i(s):console.error(s),r.manager.itemError(e)}}}const K4e=new Xr,q4e=new Xr,k8=new Xr;class A5t{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Iu,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Iu,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,k8.copy(e.projectionMatrix);const i=n.eyeSep/2,r=i*n.near/n.focus,a=n.near*Math.tan(nx*n.fov*.5)/n.zoom;let l,s;q4e.elements[12]=-i,K4e.elements[12]=i,l=-a*n.aspect+r,s=a*n.aspect+r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraL.projectionMatrix.copy(k8),l=-a*n.aspect-r,s=a*n.aspect-r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraR.projectionMatrix.copy(k8)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(q4e),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(K4e)}}class R1e{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=$4e(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const n=$4e();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}}function $4e(){return(typeof performance>"u"?Date:performance).now()}const F8=new re,Q4e=new Ts,w5t=new re,L8=new re;class v5t extends Dl{constructor(){super(),this.type="AudioListener",this.context=C1e.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new R1e}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const n=this.context.listener,o=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(F8,Q4e,w5t),L8.set(0,0,-1).applyQuaternion(Q4e),n.positionX){const i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(F8.x,i),n.positionY.linearRampToValueAtTime(F8.y,i),n.positionZ.linearRampToValueAtTime(F8.z,i),n.forwardX.linearRampToValueAtTime(L8.x,i),n.forwardY.linearRampToValueAtTime(L8.y,i),n.forwardZ.linearRampToValueAtTime(L8.z,i),n.upX.linearRampToValueAtTime(o.x,i),n.upY.linearRampToValueAtTime(o.y,i),n.upZ.linearRampToValueAtTime(o.z,i)}else n.setPosition(F8.x,F8.y,F8.z),n.setOrientation(L8.x,L8.y,L8.z,o.x,o.y,o.z)}}class wNe extends Dl{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(o,i,this._addIndex*n,1,n);for(let s=n,c=n+n;s!==c;++s)if(o[s]!==o[s+n]){l.setValue(o,i);break}}saveOriginalState(){const e=this.binding,n=this.buffer,o=this.valueSize,i=o*this._origIndex;e.getValue(n,i);for(let r=o,a=i;r!==a;++r)n[r]=n[i+r%o];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=e+this.valueSize;for(let o=e;o=.5)for(let a=0;a!==r;++a)e[n+a]=e[o+a]}_slerp(e,n,o,i){Ts.slerpFlat(e,n,e,n,e,o,i)}_slerpAdditive(e,n,o,i,r){const a=this._workIndex*r;Ts.multiplyQuaternionsFlat(e,a,e,n,e,o),Ts.slerpFlat(e,n,e,n,e,a,i)}_lerp(e,n,o,i,r){const a=1-i;for(let l=0;l!==r;++l){const s=n+l;e[s]=e[s]*a+e[o+l]*i}}_lerpAdditive(e,n,o,i,r){for(let a=0;a!==r;++a){const l=n+a;e[l]=e[l]+e[o+a]*i}}}const H1e="\\[\\]\\.:\\/",T5t=new RegExp("["+H1e+"]","g"),M1e="[^"+H1e+"]",P5t="[^"+H1e.replace("\\.","")+"]",C5t=/((?:WC+[\/:])*)/.source.replace("WC",M1e),R5t=/(WCOD+)?/.source.replace("WCOD",P5t),H5t=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",M1e),M5t=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",M1e),I5t=new RegExp("^"+C5t+R5t+H5t+M5t+"$"),z5t=["material","materials","bones","map"];class D5t{constructor(e,n,o){const i=o||bl.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const o=this._targetGroup.nCachedObjects_,i=this._bindings[o];i!==void 0&&i.getValue(e,n)}setValue(e,n){const o=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=o.length;i!==r;++i)o[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].unbind()}}class bl{constructor(e,n,o){this.path=n,this.parsedPath=o||bl.parseTrackName(n),this.node=bl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,o){return e&&e.isAnimationObjectGroup?new bl.Composite(e,n,o):new bl(e,n,o)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(T5t,"")}static parseTrackName(e){const n=I5t.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const o={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=o.nodeName&&o.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=o.nodeName.substring(i+1);z5t.indexOf(r)!==-1&&(o.nodeName=o.nodeName.substring(0,i),o.objectName=r)}if(o.propertyName===null||o.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return o}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const o=e.skeleton.getBoneByName(n);if(o!==void 0)return o}if(e.children){const o=function(r){for(let a=0;a=r){const d=r++,f=e[d];n[f.uuid]=u,e[u]=f,n[c]=d,e[d]=s;for(let p=0,g=i;p!==g;++p){const A=o[p],w=A[d],b=A[u];A[u]=w,A[d]=b}}}this.nCachedObjects_=r}uncache(){const e=this._objects,n=this._indicesByUUID,o=this._bindings,i=o.length;let r=this.nCachedObjects_,a=e.length;for(let l=0,s=arguments.length;l!==s;++l){const c=arguments[l],u=c.uuid,d=n[u];if(d!==void 0)if(delete n[u],d0&&(n[p.uuid]=d),e[d]=p,e.pop();for(let g=0,A=i;g!==A;++g){const w=o[g];w[d]=w[f],w.pop()}}}this.nCachedObjects_=r}subscribe_(e,n){const o=this._bindingsIndicesByPath;let i=o[e];const r=this._bindings;if(i!==void 0)return r[i];const a=this._paths,l=this._parsedPaths,s=this._objects,c=s.length,u=this.nCachedObjects_,d=new Array(c);i=r.length,o[e]=i,a.push(e),l.push(n),r.push(d);for(let f=u,p=s.length;f!==p;++f){const g=s[f];d[f]=new bl(g,e,n)}return d}unsubscribe_(e){const n=this._bindingsIndicesByPath,o=n[e];if(o!==void 0){const i=this._paths,r=this._parsedPaths,a=this._bindings,l=a.length-1,s=a[l],c=e[l];n[c]=o,a[o]=s,a.pop(),r[o]=r[l],r.pop(),i[o]=i[l],i.pop()}}}class xNe{constructor(e,n,o=null,i=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=o,this.blendMode=i;const r=n.tracks,a=r.length,l=new Array(a),s={endingStart:Cv,endingEnd:Cv};for(let c=0;c!==a;++c){const u=r[c].createInterpolant(null);l[c]=u,u.settings=s}this._interpolantSettings=s,this._interpolants=l,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=lWe,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,n){return this.loop=e,this.repetitions=n,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,n,o){if(e.fadeOut(n),this.fadeIn(n),o){const i=this._clip.duration,r=e._clip.duration,a=r/i,l=i/r;e.warp(1,a,n),this.warp(l,1,n)}return this}crossFadeTo(e,n,o){return e.crossFadeFrom(this,n,o)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,n,o){const i=this._mixer,r=i.time,a=this.timeScale;let l=this._timeScaleInterpolant;l===null&&(l=i._lendControlInterpolant(),this._timeScaleInterpolant=l);const s=l.parameterPositions,c=l.sampleValues;return s[0]=r,s[1]=r+o,c[0]=e/a,c[1]=n/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,n,o,i){if(!this.enabled){this._updateWeight(e);return}const r=this._startTime;if(r!==null){const s=(e-r)*o;s<0||o===0?n=0:(this._startTime=null,n=o*s)}n*=this._updateTimeScale(e);const a=this._updateTime(n),l=this._updateWeight(e);if(l>0){const s=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case e1e:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulateAdditive(l);break;case EK:default:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulate(i,l)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const o=this._weightInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const o=this._timeScaleInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,o=this.loop;let i=this.time+e,r=this._loopCount;const a=o===sWe;if(e===0)return r===-1?i:a&&(r&1)===1?n-i:i;if(o===aWe){r===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=n)i=n;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(r===-1&&(e>=0?(r=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),i>=n||i<0){const l=Math.floor(i/n);i-=n*l,r+=Math.abs(l);const s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?n:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(s===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:l})}}else this.time=i;if(a&&(r&1)===1)return n-i}return i}_setEndings(e,n,o){const i=this._interpolantSettings;o?(i.endingStart=Rv,i.endingEnd=Rv):(e?i.endingStart=this.zeroSlopeAtStart?Rv:Cv:i.endingStart=mk,n?i.endingEnd=this.zeroSlopeAtEnd?Rv:Cv:i.endingEnd=mk)}_scheduleFading(e,n,o){const i=this._mixer,r=i.time;let a=this._weightInterpolant;a===null&&(a=i._lendControlInterpolant(),this._weightInterpolant=a);const l=a.parameterPositions,s=a.sampleValues;return l[0]=r,s[0]=n,l[1]=r+e,s[1]=o,this}}const k5t=new Float32Array(1);class F5t extends V9{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const o=e._localRoot||this._root,i=e._clip.tracks,r=i.length,a=e._propertyBindings,l=e._interpolants,s=o.uuid,c=this._bindingsByRootAndName;let u=c[s];u===void 0&&(u={},c[s]=u);for(let d=0;d!==r;++d){const f=i[d],p=f.name;let g=u[p];if(g!==void 0)++g.referenceCount,a[d]=g;else{if(g=a[d],g!==void 0){g._cacheIndex===null&&(++g.referenceCount,this._addInactiveBinding(g,s,p));continue}const A=n&&n._propertyBindings[d].binding.parsedPath;g=new vNe(bl.create(o,p,A),f.ValueTypeName,f.getValueSize()),++g.referenceCount,this._addInactiveBinding(g,s,p),a[d]=g}l[d].resultBuffer=g.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const o=(e._localRoot||this._root).uuid,i=e._clip.uuid,r=this._actionsByClip[i];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,i,o)}const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];r.useCount++===0&&(this._lendBinding(r),r.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];--r.useCount===0&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=0;--o)e[o].stop();return this}update(e){e*=this.timeScale;const n=this._actions,o=this._nActiveActions,i=this.time+=e,r=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==o;++c)n[c]._update(i,e,r,a);const l=this._bindings,s=this._nActiveBindings;for(let c=0;c!==s;++c)l[c].apply(a);return this}setTime(e){this.time=0;for(let n=0;nthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,twe).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const nwe=new re,Fj=new re;class z1e{constructor(e=new re,n=new re){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){nwe.subVectors(e,this.start),Fj.subVectors(this.end,this.start);const o=Fj.dot(Fj);let r=Fj.dot(nwe)/o;return n&&(r=h0(r,0,1)),r}closestPointToPoint(e,n,o){const i=this.closestPointToPointParameter(e,n);return this.delta(o).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const owe=new re;class j5t extends Dl{constructor(e,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const o=new Ur,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,l=1,s=32;a1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{swe.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(swe,n)}}setLength(e,n=e*.2,o=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(o,n,o),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class e9t extends J9{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],o=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Ur;i.setAttribute("position",new hi(n,3)),i.setAttribute("color",new hi(o,3));const r=new dp({vertexColors:!0,toneMapped:!1});super(i,r),this.type="AxesHelper"}setColors(e,n,o){const i=new Xo,r=this.geometry.attributes.color.array;return i.set(e),i.toArray(r,0),i.toArray(r,3),i.set(n),i.toArray(r,6),i.toArray(r,9),i.set(o),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class SNe{constructor(){this.type="ShapePath",this.color=new Xo,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new Tk,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,o,i){return this.currentPath.quadraticCurveTo(e,n,o,i),this}bezierCurveTo(e,n,o,i,r,a){return this.currentPath.bezierCurveTo(e,n,o,i,r,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(b){const C=[];for(let P=0,v=b.length;PNumber.EPSILON){if(H<0&&(S=C[y],R=-R,x=C[T],H=-H),b.yx.y)continue;if(b.y===S.y){if(b.x===S.x)return!0}else{const D=H*(b.x-S.x)-R*(b.y-S.y);if(D===0)return!0;if(D<0)continue;v=!v}}else{if(b.y!==S.y)continue;if(x.x<=b.x&&b.x<=S.x||S.x<=b.x&&b.x<=x.x)return!0}}return v}const i=y9.isClockWise,r=this.subPaths;if(r.length===0)return[];let a,l,s;const c=[];if(r.length===1)return l=r[0],s=new Ml,s.curves=l.curves,c.push(s),c;let u=!i(r[0].getPoints());u=e?!u:u;const d=[],f=[];let p=[],g=0,A;f[g]=void 0,p[g]=[];for(let b=0,C=r.length;b1){let b=!1,C=0;for(let P=0,v=f.length;P0&&b===!1&&(p=d)}let w;for(let b=0,C=f.length;bu||i.y>u)&&(i.x>u&&(r.x=Math.floor(u/F.x),i.x=r.x*F.x,U.mapSize.x=r.x),i.y>u&&(r.y=Math.floor(u/F.y),i.y=r.y*F.y,U.mapSize.y=r.y)),U.map===null||k===!0||W===!0){const _=this.type!==t2?{minFilter:F0,magFilter:F0}:{};U.map!==null&&U.map.dispose(),U.map=new Vm(i.x,i.y,_),U.map.texture.name=E.name+".shadowMap",U.camera.updateProjectionMatrix()}t.setRenderTarget(U.map),t.clear();const B=U.getViewportCount();for(let _=0;_0||y.map&&y.alphaTest>0){const D=R.uuid,k=y.uuid;let W=c[D];W===void 0&&(W={},c[D]=W);let N=W[k];N===void 0&&(N=R.clone(),W[k]=N),R=N}if(R.visible=y.visible,R.wireframe=y.wireframe,x===t2?R.side=y.shadowSide!==null?y.shadowSide:y.side:R.side=y.shadowSide!==null?y.shadowSide:d[y.side],R.alphaMap=y.alphaMap,R.alphaTest=y.alphaTest,R.map=y.map,R.clipShadows=y.clipShadows,R.clippingPlanes=y.clippingPlanes,R.clipIntersection=y.clipIntersection,R.displacementMap=y.displacementMap,R.displacementScale=y.displacementScale,R.displacementBias=y.displacementBias,R.wireframeLinewidth=y.wireframeLinewidth,R.linewidth=y.linewidth,S.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const D=t.properties.get(R);D.light=S}return R}function v(T,y,S,x,R){if(T.visible===!1)return;if(T.layers.test(y.layers)&&(T.isMesh||T.isLine||T.isPoints)&&(T.castShadow||T.receiveShadow&&R===t2)&&(!T.frustumCulled||o.intersectsObject(T))){T.modelViewMatrix.multiplyMatrices(S.matrixWorldInverse,T.matrixWorld);const k=e.update(T),W=T.material;if(Array.isArray(W)){const N=k.groups;for(let L=0,E=N.length;L=1):_.indexOf("OpenGL ES")!==-1&&(B=parseFloat(/^OpenGL ES (\d)/.exec(_)[1]),F=B>=2);let Y=null,O={};const J=t.getParameter(t.SCISSOR_BOX),Z=t.getParameter(t.VIEWPORT),ie=new ll().fromArray(J),ee=new ll().fromArray(Z);function q(_e,xt,dt,Qe){const ct=new Uint8Array(4),ft=t.createTexture();t.bindTexture(_e,ft),t.texParameteri(_e,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(_e,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let at=0;at"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let A;const w=new WeakMap;let b=!1;try{b=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function C(ye,oe){return b?new OffscreenCanvas(ye,oe):bk("canvas")}function P(ye,oe,ge,Ae){let me=1;if((ye.width>Ae||ye.height>Ae)&&(me=Ae/Math.max(ye.width,ye.height)),me<1||oe===!0)if(typeof HTMLImageElement<"u"&&ye instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&ye instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&ye instanceof ImageBitmap){const Pe=oe?YV:Math.floor,Me=Pe(me*ye.width),Te=Pe(me*ye.height);A===void 0&&(A=C(Me,Te));const De=ge?C(Me,Te):A;return De.width=Me,De.height=Te,De.getContext("2d").drawImage(ye,0,0,Me,Te),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+ye.width+"x"+ye.height+") to ("+Me+"x"+Te+")."),De}else return"data"in ye&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+ye.width+"x"+ye.height+")."),ye;return ye}function v(ye){return Vse(ye.width)&&Vse(ye.height)}function T(ye){return l?!1:ye.wrapS!==ah||ye.wrapT!==ah||ye.minFilter!==F0&&ye.minFilter!==js}function y(ye,oe){return ye.generateMipmaps&&oe&&ye.minFilter!==F0&&ye.minFilter!==js}function S(ye){t.generateMipmap(ye)}function x(ye,oe,ge,Ae,me=!1){if(l===!1)return oe;if(ye!==null){if(t[ye]!==void 0)return t[ye];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+ye+"'")}let Pe=oe;if(oe===t.RED&&(ge===t.FLOAT&&(Pe=t.R32F),ge===t.HALF_FLOAT&&(Pe=t.R16F),ge===t.UNSIGNED_BYTE&&(Pe=t.R8)),oe===t.RED_INTEGER&&(ge===t.UNSIGNED_BYTE&&(Pe=t.R8UI),ge===t.UNSIGNED_SHORT&&(Pe=t.R16UI),ge===t.UNSIGNED_INT&&(Pe=t.R32UI),ge===t.BYTE&&(Pe=t.R8I),ge===t.SHORT&&(Pe=t.R16I),ge===t.INT&&(Pe=t.R32I)),oe===t.RG&&(ge===t.FLOAT&&(Pe=t.RG32F),ge===t.HALF_FLOAT&&(Pe=t.RG16F),ge===t.UNSIGNED_BYTE&&(Pe=t.RG8)),oe===t.RGBA){const Me=me?yk:rs.getTransfer(Ae);ge===t.FLOAT&&(Pe=t.RGBA32F),ge===t.HALF_FLOAT&&(Pe=t.RGBA16F),ge===t.UNSIGNED_BYTE&&(Pe=Me===Ws?t.SRGB8_ALPHA8:t.RGBA8),ge===t.UNSIGNED_SHORT_4_4_4_4&&(Pe=t.RGBA4),ge===t.UNSIGNED_SHORT_5_5_5_1&&(Pe=t.RGB5_A1)}return(Pe===t.R16F||Pe===t.R32F||Pe===t.RG16F||Pe===t.RG32F||Pe===t.RGBA16F||Pe===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Pe}function R(ye,oe,ge){return y(ye,ge)===!0||ye.isFramebufferTexture&&ye.minFilter!==F0&&ye.minFilter!==js?Math.log2(Math.max(oe.width,oe.height))+1:ye.mipmaps!==void 0&&ye.mipmaps.length>0?ye.mipmaps.length:ye.isCompressedTexture&&Array.isArray(ye.image)?oe.mipmaps.length:1}function H(ye){return ye===F0||ye===BV||ye===$D?t.NEAREST:t.LINEAR}function D(ye){const oe=ye.target;oe.removeEventListener("dispose",D),W(oe),oe.isVideoTexture&&g.delete(oe)}function k(ye){const oe=ye.target;oe.removeEventListener("dispose",k),L(oe)}function W(ye){const oe=o.get(ye);if(oe.__webglInit===void 0)return;const ge=ye.source,Ae=w.get(ge);if(Ae){const me=Ae[oe.__cacheKey];me.usedTimes--,me.usedTimes===0&&N(ye),Object.keys(Ae).length===0&&w.delete(ge)}o.remove(ye)}function N(ye){const oe=o.get(ye);t.deleteTexture(oe.__webglTexture);const ge=ye.source,Ae=w.get(ge);delete Ae[oe.__cacheKey],a.memory.textures--}function L(ye){const oe=ye.texture,ge=o.get(ye),Ae=o.get(oe);if(Ae.__webglTexture!==void 0&&(t.deleteTexture(Ae.__webglTexture),a.memory.textures--),ye.depthTexture&&ye.depthTexture.dispose(),ye.isWebGLCubeRenderTarget)for(let me=0;me<6;me++){if(Array.isArray(ge.__webglFramebuffer[me]))for(let Pe=0;Pe=s&&console.warn("THREE.WebGLTextures: Trying to use "+ye+" texture units while this GPU supports only "+s),E+=1,ye}function B(ye){const oe=[];return oe.push(ye.wrapS),oe.push(ye.wrapT),oe.push(ye.wrapR||0),oe.push(ye.magFilter),oe.push(ye.minFilter),oe.push(ye.anisotropy),oe.push(ye.internalFormat),oe.push(ye.format),oe.push(ye.type),oe.push(ye.generateMipmaps),oe.push(ye.premultiplyAlpha),oe.push(ye.flipY),oe.push(ye.unpackAlignment),oe.push(ye.colorSpace),oe.join()}function _(ye,oe){const ge=o.get(ye);if(ye.isVideoTexture&&Ie(ye),ye.isRenderTargetTexture===!1&&ye.version>0&&ge.__version!==ye.version){const Ae=ye.image;if(Ae===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Ae.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ne(ge,ye,oe);return}}n.bindTexture(t.TEXTURE_2D,ge.__webglTexture,t.TEXTURE0+oe)}function Y(ye,oe){const ge=o.get(ye);if(ye.version>0&&ge.__version!==ye.version){ne(ge,ye,oe);return}n.bindTexture(t.TEXTURE_2D_ARRAY,ge.__webglTexture,t.TEXTURE0+oe)}function O(ye,oe){const ge=o.get(ye);if(ye.version>0&&ge.__version!==ye.version){ne(ge,ye,oe);return}n.bindTexture(t.TEXTURE_3D,ge.__webglTexture,t.TEXTURE0+oe)}function J(ye,oe){const ge=o.get(ye);if(ye.version>0&&ge.__version!==ye.version){se(ge,ye,oe);return}n.bindTexture(t.TEXTURE_CUBE_MAP,ge.__webglTexture,t.TEXTURE0+oe)}const Z={[Ss]:t.REPEAT,[ah]:t.CLAMP_TO_EDGE,[hk]:t.MIRRORED_REPEAT},ie={[F0]:t.NEAREST,[BV]:t.NEAREST_MIPMAP_NEAREST,[$D]:t.NEAREST_MIPMAP_LINEAR,[js]:t.LINEAR,[Xpe]:t.LINEAR_MIPMAP_NEAREST,[Xw]:t.LINEAR_MIPMAP_LINEAR},ee={[cWe]:t.NEVER,[mWe]:t.ALWAYS,[uWe]:t.LESS,[fWe]:t.LEQUAL,[dWe]:t.EQUAL,[gWe]:t.GEQUAL,[hWe]:t.GREATER,[pWe]:t.NOTEQUAL};function q(ye,oe,ge){if(ge?(t.texParameteri(ye,t.TEXTURE_WRAP_S,Z[oe.wrapS]),t.texParameteri(ye,t.TEXTURE_WRAP_T,Z[oe.wrapT]),(ye===t.TEXTURE_3D||ye===t.TEXTURE_2D_ARRAY)&&t.texParameteri(ye,t.TEXTURE_WRAP_R,Z[oe.wrapR]),t.texParameteri(ye,t.TEXTURE_MAG_FILTER,ie[oe.magFilter]),t.texParameteri(ye,t.TEXTURE_MIN_FILTER,ie[oe.minFilter])):(t.texParameteri(ye,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(ye,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(ye===t.TEXTURE_3D||ye===t.TEXTURE_2D_ARRAY)&&t.texParameteri(ye,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(oe.wrapS!==ah||oe.wrapT!==ah)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(ye,t.TEXTURE_MAG_FILTER,H(oe.magFilter)),t.texParameteri(ye,t.TEXTURE_MIN_FILTER,H(oe.minFilter)),oe.minFilter!==F0&&oe.minFilter!==js&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),oe.compareFunction&&(t.texParameteri(ye,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(ye,t.TEXTURE_COMPARE_FUNC,ee[oe.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Ae=e.get("EXT_texture_filter_anisotropic");if(oe.magFilter===F0||oe.minFilter!==$D&&oe.minFilter!==Xw||oe.type===p2&&e.has("OES_texture_float_linear")===!1||l===!1&&oe.type===Lx&&e.has("OES_texture_half_float_linear")===!1)return;(oe.anisotropy>1||o.get(oe).__currentAnisotropy)&&(t.texParameterf(ye,Ae.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(oe.anisotropy,i.getMaxAnisotropy())),o.get(oe).__currentAnisotropy=oe.anisotropy)}}function ae(ye,oe){let ge=!1;ye.__webglInit===void 0&&(ye.__webglInit=!0,oe.addEventListener("dispose",D));const Ae=oe.source;let me=w.get(Ae);me===void 0&&(me={},w.set(Ae,me));const Pe=B(oe);if(Pe!==ye.__cacheKey){me[Pe]===void 0&&(me[Pe]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,ge=!0),me[Pe].usedTimes++;const Me=me[ye.__cacheKey];Me!==void 0&&(me[ye.__cacheKey].usedTimes--,Me.usedTimes===0&&N(oe)),ye.__cacheKey=Pe,ye.__webglTexture=me[Pe].texture}return ge}function ne(ye,oe,ge){let Ae=t.TEXTURE_2D;(oe.isDataArrayTexture||oe.isCompressedArrayTexture)&&(Ae=t.TEXTURE_2D_ARRAY),oe.isData3DTexture&&(Ae=t.TEXTURE_3D);const me=ae(ye,oe),Pe=oe.source;n.bindTexture(Ae,ye.__webglTexture,t.TEXTURE0+ge);const Me=o.get(Pe);if(Pe.version!==Me.__version||me===!0){n.activeTexture(t.TEXTURE0+ge);const Te=rs.getPrimaries(rs.workingColorSpace),De=oe.colorSpace===ag?null:rs.getPrimaries(oe.colorSpace),Ne=oe.colorSpace===ag||Te===De?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,oe.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,oe.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,oe.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ne);const Ye=T(oe)&&v(oe.image)===!1;let Le=P(oe.image,Ye,!1,u);Le=ze(oe,Le);const $e=v(Le)||l,We=r.convert(oe.format,oe.colorSpace);let Ee=r.convert(oe.type),Fe=x(oe.internalFormat,We,Ee,oe.colorSpace,oe.isVideoTexture);q(Ae,oe,$e);let Ge;const rt=oe.mipmaps,_e=l&&oe.isVideoTexture!==!0,xt=Me.__version===void 0||me===!0,dt=R(oe,Le,$e);if(oe.isDepthTexture)Fe=t.DEPTH_COMPONENT,l?oe.type===p2?Fe=t.DEPTH_COMPONENT32F:oe.type===p6?Fe=t.DEPTH_COMPONENT24:oe.type===Dw?Fe=t.DEPTH24_STENCIL8:Fe=t.DEPTH_COMPONENT16:oe.type===p2&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),oe.format===Ew&&Fe===t.DEPTH_COMPONENT&&oe.type!==DK&&oe.type!==p6&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),oe.type=p6,Ee=r.convert(oe.type)),oe.format===Wx&&Fe===t.DEPTH_COMPONENT&&(Fe=t.DEPTH_STENCIL,oe.type!==Dw&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),oe.type=Dw,Ee=r.convert(oe.type))),xt&&(_e?n.texStorage2D(t.TEXTURE_2D,1,Fe,Le.width,Le.height):n.texImage2D(t.TEXTURE_2D,0,Fe,Le.width,Le.height,0,We,Ee,null));else if(oe.isDataTexture)if(rt.length>0&&$e){_e&&xt&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,rt[0].width,rt[0].height);for(let Qe=0,ct=rt.length;Qe>=1,ct>>=1}}else if(rt.length>0&&$e){_e&&xt&&n.texStorage2D(t.TEXTURE_2D,dt,Fe,rt[0].width,rt[0].height);for(let Qe=0,ct=rt.length;Qe0&&xt++,n.texStorage2D(t.TEXTURE_CUBE_MAP,xt,Ge,Le[0].width,Le[0].height));for(let Qe=0;Qe<6;Qe++)if(Ye){rt?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Qe,0,0,0,Le[Qe].width,Le[Qe].height,Ee,Fe,Le[Qe].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Qe,0,Ge,Le[Qe].width,Le[Qe].height,0,Ee,Fe,Le[Qe].data);for(let ct=0;ct>Pe),Le=Math.max(1,oe.height>>Pe);me===t.TEXTURE_3D||me===t.TEXTURE_2D_ARRAY?n.texImage3D(me,Pe,De,Ye,Le,oe.depth,0,Me,Te,null):n.texImage2D(me,Pe,De,Ye,Le,0,Me,Te,null)}n.bindFramebuffer(t.FRAMEBUFFER,ye),ve(oe)?f.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,Ae,me,o.get(ge).__webglTexture,0,Ce(oe)):(me===t.TEXTURE_2D||me>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&me<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,Ae,me,o.get(ge).__webglTexture,Pe),n.bindFramebuffer(t.FRAMEBUFFER,null)}function te(ye,oe,ge){if(t.bindRenderbuffer(t.RENDERBUFFER,ye),oe.depthBuffer&&!oe.stencilBuffer){let Ae=l===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(ge||ve(oe)){const me=oe.depthTexture;me&&me.isDepthTexture&&(me.type===p2?Ae=t.DEPTH_COMPONENT32F:me.type===p6&&(Ae=t.DEPTH_COMPONENT24));const Pe=Ce(oe);ve(oe)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Pe,Ae,oe.width,oe.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,Pe,Ae,oe.width,oe.height)}else t.renderbufferStorage(t.RENDERBUFFER,Ae,oe.width,oe.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,ye)}else if(oe.depthBuffer&&oe.stencilBuffer){const Ae=Ce(oe);ge&&ve(oe)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,Ae,t.DEPTH24_STENCIL8,oe.width,oe.height):ve(oe)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Ae,t.DEPTH24_STENCIL8,oe.width,oe.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,oe.width,oe.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,ye)}else{const Ae=oe.isWebGLMultipleRenderTargets===!0?oe.texture:[oe.texture];for(let me=0;me0){ge.__webglFramebuffer[Te]=[];for(let De=0;De0){ge.__webglFramebuffer=[];for(let Te=0;Te0&&ve(ye)===!1){const Te=Pe?oe:[oe];ge.__webglMultisampledFramebuffer=t.createFramebuffer(),ge.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,ge.__webglMultisampledFramebuffer);for(let De=0;De0)for(let De=0;De0)for(let De=0;De0&&ve(ye)===!1){const oe=ye.isWebGLMultipleRenderTargets?ye.texture:[ye.texture],ge=ye.width,Ae=ye.height;let me=t.COLOR_BUFFER_BIT;const Pe=[],Me=ye.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Te=o.get(ye),De=ye.isWebGLMultipleRenderTargets===!0;if(De)for(let Ne=0;Ne0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&oe.__useRenderToTexture!==!1}function Ie(ye){const oe=a.render.frame;g.get(ye)!==oe&&(g.set(ye,oe),ye.update())}function ze(ye,oe){const ge=ye.colorSpace,Ae=ye.format,me=ye.type;return ye.isCompressedTexture===!0||ye.isVideoTexture===!0||ye.format===jV||ge!==R9&&ge!==ag&&(rs.getTransfer(ge)===Ws?l===!1?e.has("EXT_sRGB")===!0&&Ae===kp?(ye.format=jV,ye.minFilter=js,ye.generateMipmaps=!1):oe=i1e.sRGBToLinear(oe):(Ae!==kp||me!==m9)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ge)),oe}this.allocateTextureUnit=F,this.resetTextureUnits=U,this.setTexture2D=_,this.setTexture2DArray=Y,this.setTexture3D=O,this.setTextureCube=J,this.rebindTextures=fe,this.setupRenderTarget=$,this.updateRenderTargetMipmap=de,this.updateMultisampleRenderTarget=Se,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=le,this.useMultisampledRTT=ve}function zWe(t,e,n){const o=n.isWebGL2;function i(r,a=ag){let l;const s=rs.getTransfer(a);if(r===m9)return t.UNSIGNED_BYTE;if(r===Kpe)return t.UNSIGNED_SHORT_4_4_4_4;if(r===qpe)return t.UNSIGNED_SHORT_5_5_5_1;if(r===KLe)return t.BYTE;if(r===qLe)return t.SHORT;if(r===DK)return t.UNSIGNED_SHORT;if(r===Jpe)return t.INT;if(r===p6)return t.UNSIGNED_INT;if(r===p2)return t.FLOAT;if(r===Lx)return o?t.HALF_FLOAT:(l=e.get("OES_texture_half_float"),l!==null?l.HALF_FLOAT_OES:null);if(r===$Le)return t.ALPHA;if(r===kp)return t.RGBA;if(r===QLe)return t.LUMINANCE;if(r===ZLe)return t.LUMINANCE_ALPHA;if(r===Ew)return t.DEPTH_COMPONENT;if(r===Wx)return t.DEPTH_STENCIL;if(r===jV)return l=e.get("EXT_sRGB"),l!==null?l.SRGB_ALPHA_EXT:null;if(r===eWe)return t.RED;if(r===$pe)return t.RED_INTEGER;if(r===tWe)return t.RG;if(r===Qpe)return t.RG_INTEGER;if(r===Zpe)return t.RGBA_INTEGER;if(r===d_||r===f_||r===h_||r===p_)if(s===Ws)if(l=e.get("WEBGL_compressed_texture_s3tc_srgb"),l!==null){if(r===d_)return l.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(l=e.get("WEBGL_compressed_texture_s3tc"),l!==null){if(r===d_)return l.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===f_)return l.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===h_)return l.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===p_)return l.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===Ase||r===wse||r===vse||r===xse)if(l=e.get("WEBGL_compressed_texture_pvrtc"),l!==null){if(r===Ase)return l.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===wse)return l.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===vse)return l.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===xse)return l.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===nWe)return l=e.get("WEBGL_compressed_texture_etc1"),l!==null?l.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===bse||r===Sse)if(l=e.get("WEBGL_compressed_texture_etc"),l!==null){if(r===bse)return s===Ws?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(r===Sse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===Tse||r===Pse||r===Cse||r===Rse||r===Hse||r===Mse||r===Ise||r===zse||r===Dse||r===Ese||r===kse||r===Fse||r===Lse||r===Wse)if(l=e.get("WEBGL_compressed_texture_astc"),l!==null){if(r===Tse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:l.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===Pse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:l.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===Cse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:l.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===Rse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:l.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===Hse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:l.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Mse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:l.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===Ise)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:l.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===zse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:l.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===Dse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:l.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===Ese)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:l.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===kse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:l.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Fse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:l.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===Lse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:l.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===Wse)return s===Ws?l.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:l.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===g_||r===Nse||r===Use)if(l=e.get("EXT_texture_compression_bptc"),l!==null){if(r===g_)return s===Ws?l.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:l.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===Nse)return l.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===Use)return l.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===oWe||r===Bse||r===jse||r===Yse)if(l=e.get("EXT_texture_compression_rgtc"),l!==null){if(r===g_)return l.COMPRESSED_RED_RGTC1_EXT;if(r===Bse)return l.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===jse)return l.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===Yse)return l.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Dw?o?t.UNSIGNED_INT_24_8:(l=e.get("WEBGL_depth_texture"),l!==null?l.UNSIGNED_INT_24_8_WEBGL:null):t[r]!==void 0?t[r]:null}return{convert:i}}class DWe extends Iu{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let UP=class extends Dl{constructor(){super(),this.isGroup=!0,this.type="Group"}};const g2t={type:"move"};class xoe{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new UP,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new UP,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new re,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new re),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new UP,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new re,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new re),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const o of e.hand.values())this._getHandJoint(n,o)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,o){let i=null,r=null,a=null;const l=this._targetRay,s=this._grip,c=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const A of e.hand.values()){const w=n.getJointPose(A,o),b=this._getHandJoint(c,A);w!==null&&(b.matrix.fromArray(w.transform.matrix),b.matrix.decompose(b.position,b.rotation,b.scale),b.matrixWorldNeedsUpdate=!0,b.jointRadius=w.radius),b.visible=w!==null}const u=c.joints["index-finger-tip"],d=c.joints["thumb-tip"],f=u.position.distanceTo(d.position),p=.02,g=.005;c.inputState.pinching&&f>p+g?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&f<=p-g&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else s!==null&&e.gripSpace&&(r=n.getPose(e.gripSpace,o),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1));l!==null&&(i=n.getPose(e.targetRaySpace,o),i===null&&r!==null&&(i=r),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(g2t)))}return l!==null&&(l.visible=i!==null),s!==null&&(s.visible=r!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const o=new UP;o.matrixAutoUpdate=!1,o.visible=!1,e.joints[n.jointName]=o,e.add(o)}return e.joints[n.jointName]}}class c1e extends _c{constructor(e,n,o,i,r,a,l,s,c,u){if(u=u!==void 0?u:Ew,u!==Ew&&u!==Wx)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");o===void 0&&u===Ew&&(o=p6),o===void 0&&u===Wx&&(o=Dw),super(null,i,r,a,l,s,u,o,c),this.isDepthTexture=!0,this.image={width:e,height:n},this.magFilter=l!==void 0?l:F0,this.minFilter=s!==void 0?s:F0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const n=super.toJSON(e);return this.compareFunction!==null&&(n.compareFunction=this.compareFunction),n}}class m2t extends V9{constructor(e,n){super();const o=this;let i=null,r=1,a=null,l="local-floor",s=1,c=null,u=null,d=null,f=null,p=null,g=null;const A=n.getContextAttributes();let w=null,b=null;const C=[],P=[],v=new Iu;v.layers.enable(1),v.viewport=new ll;const T=new Iu;T.layers.enable(2),T.viewport=new ll;const y=[v,T],S=new DWe;S.layers.enable(1),S.layers.enable(2);let x=null,R=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Y){let O=C[Y];return O===void 0&&(O=new xoe,C[Y]=O),O.getTargetRaySpace()},this.getControllerGrip=function(Y){let O=C[Y];return O===void 0&&(O=new xoe,C[Y]=O),O.getGripSpace()},this.getHand=function(Y){let O=C[Y];return O===void 0&&(O=new xoe,C[Y]=O),O.getHandSpace()};function H(Y){const O=P.indexOf(Y.inputSource);if(O===-1)return;const J=C[O];J!==void 0&&(J.update(Y.inputSource,Y.frame,c||a),J.dispatchEvent({type:Y.type,data:Y.inputSource}))}function D(){i.removeEventListener("select",H),i.removeEventListener("selectstart",H),i.removeEventListener("selectend",H),i.removeEventListener("squeeze",H),i.removeEventListener("squeezestart",H),i.removeEventListener("squeezeend",H),i.removeEventListener("end",D),i.removeEventListener("inputsourceschange",k);for(let Y=0;Y=0&&(P[Z]=null,C[Z].disconnect(J))}for(let O=0;O=P.length){P.push(J),Z=ee;break}else if(P[ee]===null){P[ee]=J,Z=ee;break}if(Z===-1)break}const ie=C[Z];ie&&ie.connect(J)}}const W=new re,N=new re;function L(Y,O,J){W.setFromMatrixPosition(O.matrixWorld),N.setFromMatrixPosition(J.matrixWorld);const Z=W.distanceTo(N),ie=O.projectionMatrix.elements,ee=J.projectionMatrix.elements,q=ie[14]/(ie[10]-1),ae=ie[14]/(ie[10]+1),ne=(ie[9]+1)/ie[5],se=(ie[9]-1)/ie[5],le=(ie[8]-1)/ie[0],te=(ee[8]+1)/ee[0],he=q*le,pe=q*te,fe=Z/(-le+te),$=fe*-le;O.matrixWorld.decompose(Y.position,Y.quaternion,Y.scale),Y.translateX($),Y.translateZ(fe),Y.matrixWorld.compose(Y.position,Y.quaternion,Y.scale),Y.matrixWorldInverse.copy(Y.matrixWorld).invert();const de=q+fe,Se=ae+fe,Ce=he-$,ve=pe+(Z-$),Ie=ne*ae/Se*de,ze=se*ae/Se*de;Y.projectionMatrix.makePerspective(Ce,ve,Ie,ze,de,Se),Y.projectionMatrixInverse.copy(Y.projectionMatrix).invert()}function E(Y,O){O===null?Y.matrixWorld.copy(Y.matrix):Y.matrixWorld.multiplyMatrices(O.matrixWorld,Y.matrix),Y.matrixWorldInverse.copy(Y.matrixWorld).invert()}this.updateCamera=function(Y){if(i===null)return;S.near=T.near=v.near=Y.near,S.far=T.far=v.far=Y.far,(x!==S.near||R!==S.far)&&(i.updateRenderState({depthNear:S.near,depthFar:S.far}),x=S.near,R=S.far);const O=Y.parent,J=S.cameras;E(S,O);for(let Z=0;Z0&&(w.alphaTest.value=b.alphaTest);const C=e.get(b).envMap;if(C&&(w.envMap.value=C,w.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,w.reflectivity.value=b.reflectivity,w.ior.value=b.ior,w.refractionRatio.value=b.refractionRatio),b.lightMap){w.lightMap.value=b.lightMap;const P=t._useLegacyLights===!0?Math.PI:1;w.lightMapIntensity.value=b.lightMapIntensity*P,n(b.lightMap,w.lightMapTransform)}b.aoMap&&(w.aoMap.value=b.aoMap,w.aoMapIntensity.value=b.aoMapIntensity,n(b.aoMap,w.aoMapTransform))}function a(w,b){w.diffuse.value.copy(b.color),w.opacity.value=b.opacity,b.map&&(w.map.value=b.map,n(b.map,w.mapTransform))}function l(w,b){w.dashSize.value=b.dashSize,w.totalSize.value=b.dashSize+b.gapSize,w.scale.value=b.scale}function s(w,b,C,P){w.diffuse.value.copy(b.color),w.opacity.value=b.opacity,w.size.value=b.size*C,w.scale.value=P*.5,b.map&&(w.map.value=b.map,n(b.map,w.uvTransform)),b.alphaMap&&(w.alphaMap.value=b.alphaMap,n(b.alphaMap,w.alphaMapTransform)),b.alphaTest>0&&(w.alphaTest.value=b.alphaTest)}function c(w,b){w.diffuse.value.copy(b.color),w.opacity.value=b.opacity,w.rotation.value=b.rotation,b.map&&(w.map.value=b.map,n(b.map,w.mapTransform)),b.alphaMap&&(w.alphaMap.value=b.alphaMap,n(b.alphaMap,w.alphaMapTransform)),b.alphaTest>0&&(w.alphaTest.value=b.alphaTest)}function u(w,b){w.specular.value.copy(b.specular),w.shininess.value=Math.max(b.shininess,1e-4)}function d(w,b){b.gradientMap&&(w.gradientMap.value=b.gradientMap)}function f(w,b){w.metalness.value=b.metalness,b.metalnessMap&&(w.metalnessMap.value=b.metalnessMap,n(b.metalnessMap,w.metalnessMapTransform)),w.roughness.value=b.roughness,b.roughnessMap&&(w.roughnessMap.value=b.roughnessMap,n(b.roughnessMap,w.roughnessMapTransform)),e.get(b).envMap&&(w.envMapIntensity.value=b.envMapIntensity)}function p(w,b,C){w.ior.value=b.ior,b.sheen>0&&(w.sheenColor.value.copy(b.sheenColor).multiplyScalar(b.sheen),w.sheenRoughness.value=b.sheenRoughness,b.sheenColorMap&&(w.sheenColorMap.value=b.sheenColorMap,n(b.sheenColorMap,w.sheenColorMapTransform)),b.sheenRoughnessMap&&(w.sheenRoughnessMap.value=b.sheenRoughnessMap,n(b.sheenRoughnessMap,w.sheenRoughnessMapTransform))),b.clearcoat>0&&(w.clearcoat.value=b.clearcoat,w.clearcoatRoughness.value=b.clearcoatRoughness,b.clearcoatMap&&(w.clearcoatMap.value=b.clearcoatMap,n(b.clearcoatMap,w.clearcoatMapTransform)),b.clearcoatRoughnessMap&&(w.clearcoatRoughnessMap.value=b.clearcoatRoughnessMap,n(b.clearcoatRoughnessMap,w.clearcoatRoughnessMapTransform)),b.clearcoatNormalMap&&(w.clearcoatNormalMap.value=b.clearcoatNormalMap,n(b.clearcoatNormalMap,w.clearcoatNormalMapTransform),w.clearcoatNormalScale.value.copy(b.clearcoatNormalScale),b.side===p0&&w.clearcoatNormalScale.value.negate())),b.iridescence>0&&(w.iridescence.value=b.iridescence,w.iridescenceIOR.value=b.iridescenceIOR,w.iridescenceThicknessMinimum.value=b.iridescenceThicknessRange[0],w.iridescenceThicknessMaximum.value=b.iridescenceThicknessRange[1],b.iridescenceMap&&(w.iridescenceMap.value=b.iridescenceMap,n(b.iridescenceMap,w.iridescenceMapTransform)),b.iridescenceThicknessMap&&(w.iridescenceThicknessMap.value=b.iridescenceThicknessMap,n(b.iridescenceThicknessMap,w.iridescenceThicknessMapTransform))),b.transmission>0&&(w.transmission.value=b.transmission,w.transmissionSamplerMap.value=C.texture,w.transmissionSamplerSize.value.set(C.width,C.height),b.transmissionMap&&(w.transmissionMap.value=b.transmissionMap,n(b.transmissionMap,w.transmissionMapTransform)),w.thickness.value=b.thickness,b.thicknessMap&&(w.thicknessMap.value=b.thicknessMap,n(b.thicknessMap,w.thicknessMapTransform)),w.attenuationDistance.value=b.attenuationDistance,w.attenuationColor.value.copy(b.attenuationColor)),b.anisotropy>0&&(w.anisotropyVector.value.set(b.anisotropy*Math.cos(b.anisotropyRotation),b.anisotropy*Math.sin(b.anisotropyRotation)),b.anisotropyMap&&(w.anisotropyMap.value=b.anisotropyMap,n(b.anisotropyMap,w.anisotropyMapTransform))),w.specularIntensity.value=b.specularIntensity,w.specularColor.value.copy(b.specularColor),b.specularColorMap&&(w.specularColorMap.value=b.specularColorMap,n(b.specularColorMap,w.specularColorMapTransform)),b.specularIntensityMap&&(w.specularIntensityMap.value=b.specularIntensityMap,n(b.specularIntensityMap,w.specularIntensityMapTransform))}function g(w,b){b.matcap&&(w.matcap.value=b.matcap)}function A(w,b){const C=e.get(b).light;w.referencePosition.value.setFromMatrixPosition(C.matrixWorld),w.nearDistance.value=C.shadow.camera.near,w.farDistance.value=C.shadow.camera.far}return{refreshFogUniforms:o,refreshMaterialUniforms:i}}function A2t(t,e,n,o){let i={},r={},a=[];const l=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function s(C,P){const v=P.program;o.uniformBlockBinding(C,v)}function c(C,P){let v=i[C.id];v===void 0&&(g(C),v=u(C),i[C.id]=v,C.addEventListener("dispose",w));const T=P.program;o.updateUBOMapping(C,T);const y=e.render.frame;r[C.id]!==y&&(f(C),r[C.id]=y)}function u(C){const P=d();C.__bindingPointIndex=P;const v=t.createBuffer(),T=C.__size,y=C.usage;return t.bindBuffer(t.UNIFORM_BUFFER,v),t.bufferData(t.UNIFORM_BUFFER,T,y),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,P,v),v}function d(){for(let C=0;C0){y=v%T;const k=T-y;y!==0&&k-H.boundary<0&&(v+=T-y,R.__offset=v)}v+=H.storage}return y=v%T,y>0&&(v+=T-y),C.__size=v,C.__cache={},this}function A(C){const P={boundary:0,storage:0};return typeof C=="number"?(P.boundary=4,P.storage=4):C.isVector2?(P.boundary=8,P.storage=8):C.isVector3||C.isColor?(P.boundary=16,P.storage=12):C.isVector4?(P.boundary=16,P.storage=16):C.isMatrix3?(P.boundary=48,P.storage=48):C.isMatrix4?(P.boundary=64,P.storage=64):C.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",C),P}function w(C){const P=C.target;P.removeEventListener("dispose",w);const v=a.indexOf(P.__bindingPointIndex);a.splice(v,1),t.deleteBuffer(i[P.id]),delete i[P.id],delete r[P.id]}function b(){for(const C in i)t.deleteBuffer(i[C]);a=[],i={},r={}}return{bind:s,update:c,dispose:b}}class u1e{constructor(e={}){const{canvas:n=vWe(),context:o=null,depth:i=!0,stencil:r=!0,alpha:a=!1,antialias:l=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;o!==null?f=o.getContextAttributes().alpha:f=a;const p=new Uint32Array(4),g=new Int32Array(4);let A=null,w=null;const b=[],C=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=nu,this._useLegacyLights=!1,this.toneMapping=g9,this.toneMappingExposure=1;const P=this;let v=!1,T=0,y=0,S=null,x=-1,R=null;const H=new ll,D=new ll;let k=null;const W=new Xo(0);let N=0,L=n.width,E=n.height,U=1,F=null,B=null;const _=new ll(0,0,L,E),Y=new ll(0,0,L,E);let O=!1;const J=new LK;let Z=!1,ie=!1,ee=null;const q=new Xr,ae=new Gt,ne=new re,se={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function le(){return S===null?U:1}let te=o;function he(Ue,lt){for(let Ve=0;Ve{function yt(){if(ut.forEach(function(Ht){Se.get(Ht).currentProgram.isReady()&&ut.delete(Ht)}),ut.size===0){je(Ue);return}setTimeout(yt,10)}pe.get("KHR_parallel_shader_compile")!==null?yt():setTimeout(yt,10)})};let at=null;function ot(Ue){at&&at(Ue)}function et(){nt.stop()}function Oe(){nt.start()}const nt=new CWe;nt.setAnimationLoop(ot),typeof self<"u"&&nt.setContext(self),this.setAnimationLoop=function(Ue){at=Ue,Ge.setAnimationLoop(Ue),Ue===null?nt.stop():nt.start()},Ge.addEventListener("sessionstart",et),Ge.addEventListener("sessionend",Oe),this.render=function(Ue,lt){if(lt!==void 0&<.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(v===!0)return;Ue.matrixWorldAutoUpdate===!0&&Ue.updateMatrixWorld(),lt.parent===null&<.matrixWorldAutoUpdate===!0&<.updateMatrixWorld(),Ge.enabled===!0&&Ge.isPresenting===!0&&(Ge.cameraAutoUpdate===!0&&Ge.updateCamera(lt),lt=Ge.getCamera()),Ue.isScene===!0&&Ue.onBeforeRender(P,Ue,lt,S),w=Pe.get(Ue,C.length),w.init(),C.push(w),q.multiplyMatrices(lt.projectionMatrix,lt.matrixWorldInverse),J.setFromProjectionMatrix(q),ie=this.localClippingEnabled,Z=Me.init(this.clippingPlanes,ie),A=me.get(Ue,b.length),A.init(),b.push(A),mt(Ue,lt,0,P.sortObjects),A.finish(),P.sortObjects===!0&&A.sort(F,B),this.info.render.frame++,Z===!0&&Me.beginShadows();const Ve=w.state.shadowsArray;if(Te.render(Ve,Ue,lt),Z===!0&&Me.endShadows(),this.info.autoReset===!0&&this.info.reset(),De.render(A,Ue),w.setupLights(P._useLegacyLights),lt.isArrayCamera){const ut=lt.cameras;for(let je=0,yt=ut.length;je0?w=C[C.length-1]:w=null,b.pop(),b.length>0?A=b[b.length-1]:A=null};function mt(Ue,lt,Ve,ut){if(Ue.visible===!1)return;if(Ue.layers.test(lt.layers)){if(Ue.isGroup)Ve=Ue.renderOrder;else if(Ue.isLOD)Ue.autoUpdate===!0&&Ue.update(lt);else if(Ue.isLight)w.pushLight(Ue),Ue.castShadow&&w.pushShadow(Ue);else if(Ue.isSprite){if(!Ue.frustumCulled||J.intersectsSprite(Ue)){ut&&ne.setFromMatrixPosition(Ue.matrixWorld).applyMatrix4(q);const Ht=oe.update(Ue),At=Ue.material;At.visible&&A.push(Ue,Ht,At,Ve,ne.z,null)}}else if((Ue.isMesh||Ue.isLine||Ue.isPoints)&&(!Ue.frustumCulled||J.intersectsObject(Ue))){const Ht=oe.update(Ue),At=Ue.material;if(ut&&(Ue.boundingSphere!==void 0?(Ue.boundingSphere===null&&Ue.computeBoundingSphere(),ne.copy(Ue.boundingSphere.center)):(Ht.boundingSphere===null&&Ht.computeBoundingSphere(),ne.copy(Ht.boundingSphere.center)),ne.applyMatrix4(Ue.matrixWorld).applyMatrix4(q)),Array.isArray(At)){const It=Ht.groups;for(let zt=0,Ft=It.length;zt0&&Rt(je,yt,lt,Ve),ut&&$.viewport(H.copy(ut)),je.length>0&&Wt(je,lt,Ve),yt.length>0&&Wt(yt,lt,Ve),Ht.length>0&&Wt(Ht,lt,Ve),$.buffers.depth.setTest(!0),$.buffers.depth.setMask(!0),$.buffers.color.setMask(!0),$.setPolygonOffset(!1)}function Rt(Ue,lt,Ve,ut){if((Ve.isScene===!0?Ve.overrideMaterial:null)!==null)return;const yt=fe.isWebGL2;ee===null&&(ee=new Vm(1,1,{generateMipmaps:!0,type:pe.has("EXT_color_buffer_half_float")?Lx:m9,minFilter:Xw,samples:yt?4:0})),P.getDrawingBufferSize(ae),yt?ee.setSize(ae.x,ae.y):ee.setSize(YV(ae.x),YV(ae.y));const Ht=P.getRenderTarget();P.setRenderTarget(ee),P.getClearColor(W),N=P.getClearAlpha(),N<1&&P.setClearColor(16777215,.5),P.clear();const At=P.toneMapping;P.toneMapping=g9,Wt(Ue,Ve,ut),Ce.updateMultisampleRenderTarget(ee),Ce.updateRenderTargetMipmap(ee);let It=!1;for(let zt=0,Ft=lt.length;zt0),ln=!!Ve.morphAttributes.position,Xt=!!Ve.morphAttributes.normal,fn=!!Ve.morphAttributes.color;let rn=g9;ut.toneMapped&&(S===null||S.isXRRenderTarget===!0)&&(rn=P.toneMapping);const bn=Ve.morphAttributes.position||Ve.morphAttributes.normal||Ve.morphAttributes.color,Tn=bn!==void 0?bn.length:0,Un=Se.get(ut),Ai=w.state.lights;if(Z===!0&&(ie===!0||Ue!==R)){const vi=Ue===R&&ut.id===x;Me.setState(ut,Ue,vi)}let vo=!1;ut.version===Un.__version?(Un.needsLights&&Un.lightsStateVersion!==Ai.state.version||Un.outputColorSpace!==At||je.isInstancedMesh&&Un.instancing===!1||!je.isInstancedMesh&&Un.instancing===!0||je.isSkinnedMesh&&Un.skinning===!1||!je.isSkinnedMesh&&Un.skinning===!0||je.isInstancedMesh&&Un.instancingColor===!0&&je.instanceColor===null||je.isInstancedMesh&&Un.instancingColor===!1&&je.instanceColor!==null||Un.envMap!==It||ut.fog===!0&&Un.fog!==yt||Un.numClippingPlanes!==void 0&&(Un.numClippingPlanes!==Me.numPlanes||Un.numIntersection!==Me.numIntersection)||Un.vertexAlphas!==zt||Un.vertexTangents!==Ft||Un.morphTargets!==ln||Un.morphNormals!==Xt||Un.morphColors!==fn||Un.toneMapping!==rn||fe.isWebGL2===!0&&Un.morphTargetsCount!==Tn)&&(vo=!0):(vo=!0,Un.__version=ut.version);let Oo=Un.currentProgram;vo===!0&&(Oo=wt(ut,lt,je));let si=!1,po=!1,eo=!1;const uo=Oo.getUniforms(),qo=Un.uniforms;if($.useProgram(Oo.program)&&(si=!0,po=!0,eo=!0),ut.id!==x&&(x=ut.id,po=!0),si||R!==Ue){uo.setValue(te,"projectionMatrix",Ue.projectionMatrix),uo.setValue(te,"viewMatrix",Ue.matrixWorldInverse);const vi=uo.map.cameraPosition;vi!==void 0&&vi.setValue(te,ne.setFromMatrixPosition(Ue.matrixWorld)),fe.logarithmicDepthBuffer&&uo.setValue(te,"logDepthBufFC",2/(Math.log(Ue.far+1)/Math.LN2)),(ut.isMeshPhongMaterial||ut.isMeshToonMaterial||ut.isMeshLambertMaterial||ut.isMeshBasicMaterial||ut.isMeshStandardMaterial||ut.isShaderMaterial)&&uo.setValue(te,"isOrthographic",Ue.isOrthographicCamera===!0),R!==Ue&&(R=Ue,po=!0,eo=!0)}if(je.isSkinnedMesh){uo.setOptional(te,je,"bindMatrix"),uo.setOptional(te,je,"bindMatrixInverse");const vi=je.skeleton;vi&&(fe.floatVertexTextures?(vi.boneTexture===null&&vi.computeBoneTexture(),uo.setValue(te,"boneTexture",vi.boneTexture,Ce),uo.setValue(te,"boneTextureSize",vi.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const Hi=Ve.morphAttributes;if((Hi.position!==void 0||Hi.normal!==void 0||Hi.color!==void 0&&fe.isWebGL2===!0)&&Ne.update(je,Ve,Oo),(po||Un.receiveShadow!==je.receiveShadow)&&(Un.receiveShadow=je.receiveShadow,uo.setValue(te,"receiveShadow",je.receiveShadow)),ut.isMeshGouraudMaterial&&ut.envMap!==null&&(qo.envMap.value=It,qo.flipEnvMap.value=It.isCubeTexture&&It.isRenderTargetTexture===!1?-1:1),po&&(uo.setValue(te,"toneMappingExposure",P.toneMappingExposure),Un.needsLights&&st(qo,eo),yt&&ut.fog===!0&&Ae.refreshFogUniforms(qo,yt),Ae.refreshMaterialUniforms(qo,ut,U,E,ee),y_.upload(te,kt(Un),qo,Ce)),ut.isShaderMaterial&&ut.uniformsNeedUpdate===!0&&(y_.upload(te,kt(Un),qo,Ce),ut.uniformsNeedUpdate=!1),ut.isSpriteMaterial&&uo.setValue(te,"center",je.center),uo.setValue(te,"modelViewMatrix",je.modelViewMatrix),uo.setValue(te,"normalMatrix",je.normalMatrix),uo.setValue(te,"modelMatrix",je.matrixWorld),ut.isShaderMaterial||ut.isRawShaderMaterial){const vi=ut.uniformsGroups;for(let Cn=0,yn=vi.length;Cn0&&Ce.useMultisampledRTT(Ue)===!1?je=Se.get(Ue).__webglMultisampledFramebuffer:Array.isArray(Ft)?je=Ft[Ve]:je=Ft,H.copy(Ue.viewport),D.copy(Ue.scissor),k=Ue.scissorTest}else H.copy(_).multiplyScalar(U).floor(),D.copy(Y).multiplyScalar(U).floor(),k=O;if($.bindFramebuffer(te.FRAMEBUFFER,je)&&fe.drawBuffers&&ut&&$.drawBuffers(Ue,je),$.viewport(H),$.scissor(D),$.setScissorTest(k),yt){const It=Se.get(Ue.texture);te.framebufferTexture2D(te.FRAMEBUFFER,te.COLOR_ATTACHMENT0,te.TEXTURE_CUBE_MAP_POSITIVE_X+lt,It.__webglTexture,Ve)}else if(Ht){const It=Se.get(Ue.texture),zt=lt||0;te.framebufferTextureLayer(te.FRAMEBUFFER,te.COLOR_ATTACHMENT0,It.__webglTexture,Ve||0,zt)}x=-1},this.readRenderTargetPixels=function(Ue,lt,Ve,ut,je,yt,Ht){if(!(Ue&&Ue.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let At=Se.get(Ue).__webglFramebuffer;if(Ue.isWebGLCubeRenderTarget&&Ht!==void 0&&(At=At[Ht]),At){$.bindFramebuffer(te.FRAMEBUFFER,At);try{const It=Ue.texture,zt=It.format,Ft=It.type;if(zt!==kp&&$e.convert(zt)!==te.getParameter(te.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const ln=Ft===Lx&&(pe.has("EXT_color_buffer_half_float")||fe.isWebGL2&&pe.has("EXT_color_buffer_float"));if(Ft!==m9&&$e.convert(Ft)!==te.getParameter(te.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Ft===p2&&(fe.isWebGL2||pe.has("OES_texture_float")||pe.has("WEBGL_color_buffer_float")))&&!ln){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}lt>=0&<<=Ue.width-ut&&Ve>=0&&Ve<=Ue.height-je&&te.readPixels(lt,Ve,ut,je,$e.convert(zt),$e.convert(Ft),yt)}finally{const It=S!==null?Se.get(S).__webglFramebuffer:null;$.bindFramebuffer(te.FRAMEBUFFER,It)}}},this.copyFramebufferToTexture=function(Ue,lt,Ve=0){const ut=Math.pow(2,-Ve),je=Math.floor(lt.image.width*ut),yt=Math.floor(lt.image.height*ut);Ce.setTexture2D(lt,0),te.copyTexSubImage2D(te.TEXTURE_2D,Ve,0,0,Ue.x,Ue.y,je,yt),$.unbindTexture()},this.copyTextureToTexture=function(Ue,lt,Ve,ut=0){const je=lt.image.width,yt=lt.image.height,Ht=$e.convert(Ve.format),At=$e.convert(Ve.type);Ce.setTexture2D(Ve,0),te.pixelStorei(te.UNPACK_FLIP_Y_WEBGL,Ve.flipY),te.pixelStorei(te.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ve.premultiplyAlpha),te.pixelStorei(te.UNPACK_ALIGNMENT,Ve.unpackAlignment),lt.isDataTexture?te.texSubImage2D(te.TEXTURE_2D,ut,Ue.x,Ue.y,je,yt,Ht,At,lt.image.data):lt.isCompressedTexture?te.compressedTexSubImage2D(te.TEXTURE_2D,ut,Ue.x,Ue.y,lt.mipmaps[0].width,lt.mipmaps[0].height,Ht,lt.mipmaps[0].data):te.texSubImage2D(te.TEXTURE_2D,ut,Ue.x,Ue.y,Ht,At,lt.image),ut===0&&Ve.generateMipmaps&&te.generateMipmap(te.TEXTURE_2D),$.unbindTexture()},this.copyTextureToTexture3D=function(Ue,lt,Ve,ut,je=0){if(P.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const yt=Ue.max.x-Ue.min.x+1,Ht=Ue.max.y-Ue.min.y+1,At=Ue.max.z-Ue.min.z+1,It=$e.convert(ut.format),zt=$e.convert(ut.type);let Ft;if(ut.isData3DTexture)Ce.setTexture3D(ut,0),Ft=te.TEXTURE_3D;else if(ut.isDataArrayTexture)Ce.setTexture2DArray(ut,0),Ft=te.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}te.pixelStorei(te.UNPACK_FLIP_Y_WEBGL,ut.flipY),te.pixelStorei(te.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ut.premultiplyAlpha),te.pixelStorei(te.UNPACK_ALIGNMENT,ut.unpackAlignment);const ln=te.getParameter(te.UNPACK_ROW_LENGTH),Xt=te.getParameter(te.UNPACK_IMAGE_HEIGHT),fn=te.getParameter(te.UNPACK_SKIP_PIXELS),rn=te.getParameter(te.UNPACK_SKIP_ROWS),bn=te.getParameter(te.UNPACK_SKIP_IMAGES),Tn=Ve.isCompressedTexture?Ve.mipmaps[0]:Ve.image;te.pixelStorei(te.UNPACK_ROW_LENGTH,Tn.width),te.pixelStorei(te.UNPACK_IMAGE_HEIGHT,Tn.height),te.pixelStorei(te.UNPACK_SKIP_PIXELS,Ue.min.x),te.pixelStorei(te.UNPACK_SKIP_ROWS,Ue.min.y),te.pixelStorei(te.UNPACK_SKIP_IMAGES,Ue.min.z),Ve.isDataTexture||Ve.isData3DTexture?te.texSubImage3D(Ft,je,lt.x,lt.y,lt.z,yt,Ht,At,It,zt,Tn.data):Ve.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),te.compressedTexSubImage3D(Ft,je,lt.x,lt.y,lt.z,yt,Ht,At,It,Tn.data)):te.texSubImage3D(Ft,je,lt.x,lt.y,lt.z,yt,Ht,At,It,zt,Tn),te.pixelStorei(te.UNPACK_ROW_LENGTH,ln),te.pixelStorei(te.UNPACK_IMAGE_HEIGHT,Xt),te.pixelStorei(te.UNPACK_SKIP_PIXELS,fn),te.pixelStorei(te.UNPACK_SKIP_ROWS,rn),te.pixelStorei(te.UNPACK_SKIP_IMAGES,bn),je===0&&ut.generateMipmaps&&te.generateMipmap(Ft),$.unbindTexture()},this.initTexture=function(Ue){Ue.isCubeTexture?Ce.setTextureCube(Ue,0):Ue.isData3DTexture?Ce.setTexture3D(Ue,0):Ue.isDataArrayTexture||Ue.isCompressedArrayTexture?Ce.setTexture2DArray(Ue,0):Ce.setTexture2D(Ue,0),$.unbindTexture()},this.resetState=function(){T=0,y=0,S=null,$.reset(),We.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return a9}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===kK?"display-p3":"srgb",n.unpackColorSpace=rs.workingColorSpace===UL?"display-p3":"srgb"}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===nu?kw:t1e}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===kw?nu:R9}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class EWe extends u1e{}EWe.prototype.isWebGL1Renderer=!0;class BK{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new Xo(e),this.density=n}clone(){return new BK(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class jK{constructor(e,n=1,o=1e3){this.isFog=!0,this.name="",this.color=new Xo(e),this.near=n,this.far=o}clone(){return new jK(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class OV extends Dl{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class YK{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=vk,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=wg()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,o){e*=this.stride,o*=n.stride;for(let i=0,r=this.stride;ie.far||n.push({distance:s,point:lz.clone(),uv:th.getInterpolation(lz,wj,cz,vj,v4e,boe,x4e,new Gt),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function xj(t,e,n,o,i,r){fT.subVectors(t,n).addScalar(.5).multiply(o),i!==void 0?(sz.x=r*fT.x-i*fT.y,sz.y=i*fT.x+r*fT.y):sz.copy(fT),t.copy(e),t.x+=sz.x,t.y+=sz.y,t.applyMatrix4(kWe)}const bj=new re,b4e=new re;class FWe extends Dl{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const n=e.levels;for(let o=0,i=n.length;o0){let o,i;for(o=1,i=n.length;o0){bj.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(bj);this.getObjectForDistance(i).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){bj.setFromMatrixPosition(e.matrixWorld),b4e.setFromMatrixPosition(this.matrixWorld);const o=bj.distanceTo(b4e)/e.zoom;n[0].object.visible=!0;let i,r;for(i=1,r=n.length;i=a)n[i-1].object.visible=!1,n[i].object.visible=!0;else break}for(this._currentLevel=i-1;is)continue;f.applyMatrix4(this.matrixWorld);const x=e.ray.origin.distanceTo(f);xe.far||n.push({distance:x,point:d.clone().applyMatrix4(this.matrixWorld),index:P,face:null,faceIndex:null,object:this})}}else{const b=Math.max(0,a.start),C=Math.min(w.count,a.start+a.count);for(let P=b,v=C-1;Ps)continue;f.applyMatrix4(this.matrixWorld);const y=e.ray.origin.distanceTo(f);ye.far||n.push({distance:y,point:d.clone().applyMatrix4(this.matrixWorld),index:P,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,o=Object.keys(n);if(o.length>0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;r0){const i=n[o[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,a=i.length;ri.far)return;r.push({distance:c,distanceToRay:Math.sqrt(l),point:s,index:e,face:null,object:a})}}class b2t extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isVideoTexture=!0,this.minFilter=a!==void 0?a:js,this.magFilter=r!==void 0?r:js,this.generateMipmaps=!1;const u=this;function d(){u.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class S2t extends _c{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=F0,this.minFilter=F0,this.generateMipmaps=!1,this.needsUpdate=!0}}class VK extends _c{constructor(e,n,o,i,r,a,l,s,c,u,d,f){super(null,a,l,s,c,u,i,r,d,f),this.isCompressedTexture=!0,this.image={width:n,height:o},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class T2t extends VK{constructor(e,n,o,i,r,a){super(e,n,o,r,a),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=ah}}class P2t extends VK{constructor(e,n,o){super(void 0,e[0].width,e[0].height,n,o,j6),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class BP extends _c{constructor(e,n,o,i,r,a,l,s,c){super(e,n,o,i,r,a,l,s,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}let V2=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const o=this.getUtoTmapping(e);return this.getPoint(o,n)}getPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPoint(o/e));return n}getSpacedPoints(e=5){const n=[];for(let o=0;o<=e;o++)n.push(this.getPointAt(o/e));return n}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let o,i=this.getPoint(0),r=0;n.push(0);for(let a=1;a<=e;a++)o=this.getPoint(a/e),r+=o.distanceTo(i),n.push(r),i=o;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const o=this.getLengths();let i=0;const r=o.length;let a;n?a=n:a=e*o[r-1];let l=0,s=r-1,c;for(;l<=s;)if(i=Math.floor(l+(s-l)/2),c=o[i]-a,c<0)l=i+1;else if(c>0)s=i-1;else{s=i;break}if(i=s,o[i]===a)return i/(r-1);const u=o[i],f=o[i+1]-u,p=(a-u)/f;return(i+p)/(r-1)}getTangent(e,n){let i=e-1e-4,r=e+1e-4;i<0&&(i=0),r>1&&(r=1);const a=this.getPoint(i),l=this.getPoint(r),s=n||(a.isVector2?new Gt:new re);return s.copy(l).sub(a).normalize(),s}getTangentAt(e,n){const o=this.getUtoTmapping(e);return this.getTangent(o,n)}computeFrenetFrames(e,n){const o=new re,i=[],r=[],a=[],l=new re,s=new Xr;for(let p=0;p<=e;p++){const g=p/e;i[p]=this.getTangentAt(g,new re)}r[0]=new re,a[0]=new re;let c=Number.MAX_VALUE;const u=Math.abs(i[0].x),d=Math.abs(i[0].y),f=Math.abs(i[0].z);u<=c&&(c=u,o.set(1,0,0)),d<=c&&(c=d,o.set(0,1,0)),f<=c&&o.set(0,0,1),l.crossVectors(i[0],o).normalize(),r[0].crossVectors(i[0],l),a[0].crossVectors(i[0],r[0]);for(let p=1;p<=e;p++){if(r[p]=r[p-1].clone(),a[p]=a[p-1].clone(),l.crossVectors(i[p-1],i[p]),l.length()>Number.EPSILON){l.normalize();const g=Math.acos(h0(i[p-1].dot(i[p]),-1,1));r[p].applyMatrix4(s.makeRotationAxis(l,g))}a[p].crossVectors(i[p],r[p])}if(n===!0){let p=Math.acos(h0(r[0].dot(r[e]),-1,1));p/=e,i[0].dot(l.crossVectors(r[0],r[e]))>0&&(p=-p);for(let g=1;g<=e;g++)r[g].applyMatrix4(s.makeRotationAxis(i[g],p*g)),a[g].crossVectors(i[g],r[g])}return{tangents:i,normals:r,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}};class P2 extends V2{constructor(e=0,n=0,o=1,i=1,r=0,a=Math.PI*2,l=!1,s=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=o,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=a,this.aClockwise=l,this.aRotation=s}getPoint(e,n){const o=n||new Gt,i=Math.PI*2;let r=this.aEndAngle-this.aStartAngle;const a=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:s===0&&l===r-1&&(l=r-2,s=1);let c,u;this.closed||l>0?c=i[(l-1)%r]:(Hj.subVectors(i[0],i[1]).add(i[0]),c=Hj);const d=i[l%r],f=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:a+1],d=i[a>i.length-3?i.length-1:a+2];return o.set(N4e(l,s.x,c.x,u.x,d.x),N4e(l,s.y,c.y,u.y,d.y)),o}copy(e){super.copy(e),this.points=[];for(let n=0,o=e.points.length;n=o){const a=i[r]-o,l=this.curves[r],s=l.getLength(),c=s===0?0:1-a/s;return l.getPointAt(c,n)}r++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let n=0;for(let o=0,i=this.curves.length;o1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,o=e.curves.length;n0){const d=c.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class OL extends Ur{constructor(e=[new Gt(0,-.5),new Gt(.5,0),new Gt(0,.5)],n=12,o=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:o,phiLength:i},n=Math.floor(n),i=h0(i,0,Math.PI*2);const r=[],a=[],l=[],s=[],c=[],u=1/n,d=new re,f=new Gt,p=new re,g=new re,A=new re;let w=0,b=0;for(let C=0;C<=e.length-1;C++)switch(C){case 0:w=e[C+1].x-e[C].x,b=e[C+1].y-e[C].y,p.x=b*1,p.y=-w,p.z=b*0,A.copy(p),p.normalize(),s.push(p.x,p.y,p.z);break;case e.length-1:s.push(A.x,A.y,A.z);break;default:w=e[C+1].x-e[C].x,b=e[C+1].y-e[C].y,p.x=b*1,p.y=-w,p.z=b*0,g.copy(p),p.x+=A.x,p.y+=A.y,p.z+=A.z,p.normalize(),s.push(p.x,p.y,p.z),A.copy(g)}for(let C=0;C<=n;C++){const P=o+C*u*i,v=Math.sin(P),T=Math.cos(P);for(let y=0;y<=e.length-1;y++){d.x=e[y].x*v,d.y=e[y].y,d.z=e[y].x*T,a.push(d.x,d.y,d.z),f.x=C/n,f.y=y/(e.length-1),l.push(f.x,f.y);const S=s[3*y+0]*v,x=s[3*y+1],R=s[3*y+0]*T;c.push(S,x,R)}}for(let C=0;C0&&P(!0),n>0&&P(!1)),this.setIndex(u),this.setAttribute("position",new hi(d,3)),this.setAttribute("normal",new hi(f,3)),this.setAttribute("uv",new hi(p,2));function C(){const v=new re,T=new re;let y=0;const S=(n-e)/o;for(let x=0;x<=r;x++){const R=[],H=x/r,D=H*(n-e)+e;for(let k=0;k<=i;k++){const W=k/i,N=W*s+l,L=Math.sin(N),E=Math.cos(N);T.x=D*L,T.y=-H*o+w,T.z=D*E,d.push(T.x,T.y,T.z),v.set(L,S,E).normalize(),f.push(v.x,v.y,v.z),p.push(W,1-H),R.push(g++)}A.push(R)}for(let x=0;x.9&&S<.1&&(P<.2&&(a[C+0]+=1),v<.2&&(a[C+2]+=1),T<.2&&(a[C+4]+=1))}}function f(C){r.push(C.x,C.y,C.z)}function p(C,P){const v=C*3;P.x=e[v+0],P.y=e[v+1],P.z=e[v+2]}function g(){const C=new re,P=new re,v=new re,T=new re,y=new Gt,S=new Gt,x=new Gt;for(let R=0,H=0;R80*n){l=c=t[0],s=u=t[1];for(let g=n;gc&&(c=d),f>u&&(u=f);p=Math.max(c-l,u-s),p=p!==0?32767/p:0}return Pk(r,a,n,l,s,p,0),a}};function VWe(t,e,n,o,i){let r,a;if(i===K2t(t,e,n,o)>0)for(r=e;r=e;r-=o)a=U4e(r,t[r],t[r+1],a);return a&&QK(a,a.next)&&(Rk(a),a=a.next),a}function Ux(t,e){if(!t)return t;e||(e=t);let n=t,o;do if(o=!1,!n.steiner&&(QK(n,n.next)||n0(n.prev,n,n.next)===0)){if(Rk(n),n=e=n.prev,n===n.next)break;o=!0}else n=n.next;while(o||n!==e);return e}function Pk(t,e,n,o,i,r,a){if(!t)return;!a&&r&&O2t(t,o,i,r);let l=t,s,c;for(;t.prev!==t.next;){if(s=t.prev,c=t.next,r?F2t(t,o,i,r):k2t(t)){e.push(s.i/n|0),e.push(t.i/n|0),e.push(c.i/n|0),Rk(t),t=c.next,l=c.next;continue}if(t=c,t===l){a?a===1?(t=L2t(Ux(t),e,n),Pk(t,e,n,o,i,r,2)):a===2&&W2t(t,e,n,o,i,r):Pk(Ux(t),e,n,o,i,r,1);break}}}function k2t(t){const e=t.prev,n=t,o=t.next;if(n0(e,n,o)>=0)return!1;const i=e.x,r=n.x,a=o.x,l=e.y,s=n.y,c=o.y,u=ir?i>a?i:a:r>a?r:a,p=l>s?l>c?l:c:s>c?s:c;let g=o.next;for(;g!==e;){if(g.x>=u&&g.x<=f&&g.y>=d&&g.y<=p&&jP(i,l,r,s,a,c,g.x,g.y)&&n0(g.prev,g,g.next)>=0)return!1;g=g.next}return!0}function F2t(t,e,n,o){const i=t.prev,r=t,a=t.next;if(n0(i,r,a)>=0)return!1;const l=i.x,s=r.x,c=a.x,u=i.y,d=r.y,f=a.y,p=ls?l>c?l:c:s>c?s:c,w=u>d?u>f?u:f:d>f?d:f,b=Kse(p,g,e,n,o),C=Kse(A,w,e,n,o);let P=t.prevZ,v=t.nextZ;for(;P&&P.z>=b&&v&&v.z<=C;){if(P.x>=p&&P.x<=A&&P.y>=g&&P.y<=w&&P!==i&&P!==a&&jP(l,u,s,d,c,f,P.x,P.y)&&n0(P.prev,P,P.next)>=0||(P=P.prevZ,v.x>=p&&v.x<=A&&v.y>=g&&v.y<=w&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0))return!1;v=v.nextZ}for(;P&&P.z>=b;){if(P.x>=p&&P.x<=A&&P.y>=g&&P.y<=w&&P!==i&&P!==a&&jP(l,u,s,d,c,f,P.x,P.y)&&n0(P.prev,P,P.next)>=0)return!1;P=P.prevZ}for(;v&&v.z<=C;){if(v.x>=p&&v.x<=A&&v.y>=g&&v.y<=w&&v!==i&&v!==a&&jP(l,u,s,d,c,f,v.x,v.y)&&n0(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function L2t(t,e,n){let o=t;do{const i=o.prev,r=o.next.next;!QK(i,r)&&GWe(i,o,o.next,r)&&Ck(i,r)&&Ck(r,i)&&(e.push(i.i/n|0),e.push(o.i/n|0),e.push(r.i/n|0),Rk(o),Rk(o.next),o=t=r),o=o.next}while(o!==t);return Ux(o)}function W2t(t,e,n,o,i,r){let a=t;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&G2t(a,l)){let s=XWe(a,l);a=Ux(a,a.next),s=Ux(s,s.next),Pk(a,e,n,o,i,r,0),Pk(s,e,n,o,i,r,0);return}l=l.next}a=a.next}while(a!==t)}function N2t(t,e,n,o){const i=[];let r,a,l,s,c;for(r=0,a=e.length;r=n.next.y&&n.next.y!==n.y){const f=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(f<=r&&f>o&&(o=f,i=n.x=n.x&&n.x>=s&&r!==n.x&&jP(ai.x||n.x===i.x&&Y2t(i,n)))&&(i=n,u=d)),n=n.next;while(n!==l);return i}function Y2t(t,e){return n0(t.prev,t,e.prev)<0&&n0(e.next,t,t.next)<0}function O2t(t,e,n,o){let i=t;do i.z===0&&(i.z=Kse(i.x,i.y,e,n,o)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,_2t(i)}function _2t(t){let e,n,o,i,r,a,l,s,c=1;do{for(n=t,t=null,r=null,a=0;n;){for(a++,o=n,l=0,e=0;e0||s>0&&o;)l!==0&&(s===0||!o||n.z<=o.z)?(i=n,n=n.nextZ,l--):(i=o,o=o.nextZ,s--),r?r.nextZ=i:t=i,i.prevZ=r,r=i;n=o}r.nextZ=null,c*=2}while(a>1);return t}function Kse(t,e,n,o,i){return t=(t-n)*i|0,e=(e-o)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function V2t(t){let e=t,n=t;do(e.x=(t-a)*(r-l)&&(t-a)*(o-l)>=(n-a)*(e-l)&&(n-a)*(r-l)>=(i-a)*(o-l)}function G2t(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!X2t(t,e)&&(Ck(t,e)&&Ck(e,t)&&J2t(t,e)&&(n0(t.prev,t,e.prev)||n0(t,e.prev,e))||QK(t,e)&&n0(t.prev,t,t.next)>0&&n0(e.prev,e,e.next)>0)}function n0(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function QK(t,e){return t.x===e.x&&t.y===e.y}function GWe(t,e,n,o){const i=Ej(n0(t,e,n)),r=Ej(n0(t,e,o)),a=Ej(n0(n,o,t)),l=Ej(n0(n,o,e));return!!(i!==r&&a!==l||i===0&&Dj(t,n,e)||r===0&&Dj(t,o,e)||a===0&&Dj(n,t,o)||l===0&&Dj(n,e,o))}function Dj(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Ej(t){return t>0?1:t<0?-1:0}function X2t(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&GWe(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function Ck(t,e){return n0(t.prev,t,t.next)<0?n0(t,e,t.next)>=0&&n0(t,t.prev,e)>=0:n0(t,e,t.prev)<0||n0(t,t.next,e)<0}function J2t(t,e){let n=t,o=!1;const i=(t.x+e.x)/2,r=(t.y+e.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&i<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(o=!o),n=n.next;while(n!==t);return o}function XWe(t,e){const n=new qse(t.i,t.x,t.y),o=new qse(e.i,e.x,e.y),i=t.next,r=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,o.next=n,n.prev=o,r.next=o,o.prev=r,o}function U4e(t,e,n,o){const i=new qse(t,e,n);return o?(i.next=o.next,i.prev=o,o.next.prev=i,o.next=i):(i.prev=i,i.next=i),i}function Rk(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function qse(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function K2t(t,e,n,o){let i=0;for(let r=e,a=n-o;r2&&t[e-1].equals(t[0])&&t.pop()}function j4e(t,e){for(let n=0;nNumber.EPSILON){const oe=Math.sqrt(ze),ge=Math.sqrt(ve*ve+Ie*Ie),Ae=he.x-Ce/oe,me=he.y+Se/oe,Pe=pe.x-Ie/ge,Me=pe.y+ve/ge,Te=((Pe-Ae)*Ie-(Me-me)*ve)/(Se*Ie-Ce*ve);fe=Ae+Se*Te-te.x,$=me+Ce*Te-te.y;const De=fe*fe+$*$;if(De<=2)return new Gt(fe,$);de=Math.sqrt(De/2)}else{let oe=!1;Se>Number.EPSILON?ve>Number.EPSILON&&(oe=!0):Se<-Number.EPSILON?ve<-Number.EPSILON&&(oe=!0):Math.sign(Ce)===Math.sign(Ie)&&(oe=!0),oe?(fe=-Ce,$=Se,de=Math.sqrt(ze)):(fe=Se,$=Ce,de=Math.sqrt(ze/2))}return new Gt(fe/de,$/de)}const B=[];for(let te=0,he=N.length,pe=he-1,fe=te+1;te=0;te--){const he=te/w,pe=p*Math.cos(he*Math.PI/2),fe=g*Math.sin(he*Math.PI/2)+A;for(let $=0,de=N.length;$=0;){const fe=pe;let $=pe-1;$<0&&($=te.length-1);for(let de=0,Se=u+w*2;de0)&&p.push(P,v,y),(b!==o-1||s0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class v1e extends yf{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Xo(16777215),this.specular=new Xo(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class $We extends yf{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Xo(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class QWe extends yf{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class ZWe extends yf{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Xo(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Xo(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=NL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class eNe extends yf{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Xo(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=b7,this.normalScale=new Gt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class tNe extends dp{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Mv(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function nNe(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function oNe(t){function e(i,r){return t[i]-t[r]}const n=t.length,o=new Array(n);for(let i=0;i!==n;++i)o[i]=i;return o.sort(e),o}function $se(t,e,n){const o=t.length,i=new t.constructor(o);for(let r=0,a=0;a!==o;++r){const l=n[r]*e;for(let s=0;s!==e;++s)i[a++]=t[l+s]}return i}function x1e(t,e,n,o){let i=1,r=t[0];for(;r!==void 0&&r[o]===void 0;)r=t[i++];if(r===void 0)return;let a=r[o];if(a!==void 0)if(Array.isArray(a))do a=r[o],a!==void 0&&(e.push(r.time),n.push.apply(n,a)),r=t[i++];while(r!==void 0);else if(a.toArray!==void 0)do a=r[o],a!==void 0&&(e.push(r.time),a.toArray(n,n.length)),r=t[i++];while(r!==void 0);else do a=r[o],a!==void 0&&(e.push(r.time),n.push(a)),r=t[i++];while(r!==void 0)}function Z2t(t,e,n,o,i=30){const r=t.clone();r.name=e;const a=[];for(let s=0;s=o)){d.push(c.times[p]);for(let A=0;Ar.tracks[s].times[0]&&(l=r.tracks[s].times[0]);for(let s=0;s=l.times[g]){const b=g*d+u,C=b+d-u;A=l.values.slice(b,C)}else{const b=l.createInterpolant(),C=u,P=d-u;b.evaluate(r),A=b.resultBuffer.slice(C,P)}s==="quaternion"&&new Ts().fromArray(A).normalize().conjugate().toArray(A);const w=c.times.length;for(let b=0;b=r)){const l=n[1];e=r)break t}a=o,o=0;break n}break e}for(;o>>1;en;)--a;if(++a,r!==0||a!==i){r>=a&&(a=Math.max(a,1),r=a-1);const l=this.getValueSize();this.times=o.slice(r,a),this.values=this.values.slice(r*l,a*l)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const o=this.times,i=this.values,r=o.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let l=0;l!==r;l++){const s=o[l];if(typeof s=="number"&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,l,s),e=!1;break}if(a!==null&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,l,s,a),e=!1;break}a=s}if(i!==void 0&&nNe(i))for(let l=0,s=i.length;l!==s;++l){const c=i[l];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,l,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),o=this.getValueSize(),i=this.getInterpolation()===m_,r=e.length-1;let a=1;for(let l=1;l0){e[a]=e[r];for(let l=r*o,s=a*o,c=0;c!==o;++c)n[s+c]=n[l+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=n.slice(0,a*o)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),o=this.constructor,i=new o(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}G2.prototype.TimeBufferType=Float32Array;G2.prototype.ValueBufferType=Float32Array;G2.prototype.DefaultInterpolation=gk;class pb extends G2{}pb.prototype.ValueTypeName="bool";pb.prototype.ValueBufferType=Array;pb.prototype.DefaultInterpolation=pk;pb.prototype.InterpolantFactoryMethodLinear=void 0;pb.prototype.InterpolantFactoryMethodSmooth=void 0;class S1e extends G2{}S1e.prototype.ValueTypeName="color";class Hk extends G2{}Hk.prototype.ValueTypeName="number";class aNe extends GL{constructor(e,n,o,i){super(e,n,o,i)}interpolate_(e,n,o,i){const r=this.resultBuffer,a=this.sampleValues,l=this.valueSize,s=(o-n)/(i-n);let c=e*l;for(let u=c+l;c!==u;c+=4)Ts.slerpFlat(r,0,a,c-l,a,c,s);return r}}class gH extends G2{InterpolantFactoryMethodLinear(e){return new aNe(this.times,this.values,this.getValueSize(),e)}}gH.prototype.ValueTypeName="quaternion";gH.prototype.DefaultInterpolation=gk;gH.prototype.InterpolantFactoryMethodSmooth=void 0;class gb extends G2{}gb.prototype.ValueTypeName="string";gb.prototype.ValueBufferType=Array;gb.prototype.DefaultInterpolation=pk;gb.prototype.InterpolantFactoryMethodLinear=void 0;gb.prototype.InterpolantFactoryMethodSmooth=void 0;class Mk extends G2{}Mk.prototype.ValueTypeName="vector";class Ik{constructor(e,n=-1,o,i=EK){this.name=e,this.tracks=o,this.duration=n,this.blendMode=i,this.uuid=wg(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],o=e.tracks,i=1/(e.fps||1);for(let a=0,l=o.length;a!==l;++a)n.push(o5t(o[a]).scale(i));const r=new this(e.name,e.duration,n,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const n=[],o=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,a=o.length;r!==a;++r)n.push(G2.toJSON(o[r]));return i}static CreateFromMorphTargetSequence(e,n,o,i){const r=n.length,a=[];for(let l=0;l1){const d=u[1];let f=i[d];f||(i[d]=f=[]),f.push(c)}}const a=[];for(const l in i)a.push(this.CreateFromMorphTargetSequence(l,i[l],n,o));return a}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const o=function(d,f,p,g,A){if(p.length!==0){const w=[],b=[];x1e(p,w,b,g),w.length!==0&&A.push(new d(f,w,b))}},i=[],r=e.name||"default",a=e.fps||30,l=e.blendMode;let s=e.length||-1;const c=e.hierarchy||[];for(let d=0;d{n&&n(r),this.manager.itemEnd(e)},0),r;if(J3[e]!==void 0){J3[e].push({onLoad:n,onProgress:o,onError:i});return}J3[e]=[],J3[e].push({onLoad:n,onProgress:o,onError:i});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),l=this.mimeType,s=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=J3[e],d=c.body.getReader(),f=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=f?parseInt(f):0,g=p!==0;let A=0;const w=new ReadableStream({start(b){C();function C(){d.read().then(({done:P,value:v})=>{if(P)b.close();else{A+=v.byteLength;const T=new ProgressEvent("progress",{lengthComputable:g,loaded:A,total:p});for(let y=0,S=u.length;y{switch(s){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,l));case"json":return c.json();default:if(l===void 0)return c.text();{const d=/charset="?([^;"\s]*)"?/i.exec(l),f=d&&d[1]?d[1].toLowerCase():void 0,p=new TextDecoder(f);return c.arrayBuffer().then(g=>p.decode(g))}}}).then(c=>{Bx.add(e,c);const u=J3[e];delete J3[e];for(let d=0,f=u.length;d{const u=J3[e];if(u===void 0)throw this.manager.itemError(e),c;delete J3[e];for(let d=0,f=u.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class r5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{n(r.parse(JSON.parse(l)))}catch(s){i?i(s):console.error(s),r.manager.itemError(e)}},o,i)}parse(e){const n=[];for(let o=0;o0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const r in e.uniforms){const a=e.uniforms[r];switch(i.uniforms[r]={},a.type){case"t":i.uniforms[r].value=o(a.value);break;case"c":i.uniforms[r].value=new Xo().setHex(a.value);break;case"v2":i.uniforms[r].value=new Gt().fromArray(a.value);break;case"v3":i.uniforms[r].value=new re().fromArray(a.value);break;case"v4":i.uniforms[r].value=new ll().fromArray(a.value);break;case"m3":i.uniforms[r].value=new fa().fromArray(a.value);break;case"m4":i.uniforms[r].value=new Xr().fromArray(a.value);break;default:i.uniforms[r].value=a.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const r in e.extensions)i.extensions[r]=e.extensions[r];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=o(e.map)),e.matcap!==void 0&&(i.matcap=o(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=o(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=o(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=o(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let r=e.normalScale;Array.isArray(r)===!1&&(r=[r,r]),i.normalScale=new Gt().fromArray(r)}return e.displacementMap!==void 0&&(i.displacementMap=o(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=o(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=o(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=o(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=o(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=o(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=o(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=o(e.envMap)),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=o(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=o(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=o(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=o(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=o(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=o(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Gt().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=o(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=o(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=o(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=o(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=o(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=o(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=o(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const n={ShadowMaterial:JWe,SpriteMaterial:OK,RawShaderMaterial:KWe,ShaderMaterial:W2,PointsMaterial:h1e,MeshPhysicalMaterial:qWe,MeshStandardMaterial:sf,MeshPhongMaterial:v1e,MeshToonMaterial:$We,MeshNormalMaterial:QWe,MeshLambertMaterial:ZWe,MeshDepthMaterial:NK,MeshDistanceMaterial:UK,MeshBasicMaterial:G9,MeshMatcapMaterial:eNe,LineDashedMaterial:tNe,LineBasicMaterial:dp,Material:yf};return new n[e]}}class Qse{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let o=0,i=e.length;o0){const s=new T1e(n);r=new zk(s),r.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){i=new zk(this.manager),i.setCrossOrigin(this.crossOrigin);for(let a=0,l=e.length;a"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,o,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,a=Bx.get(e);if(a!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(a),r.manager.itemEnd(e)},0),a;const l={};l.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",l.headers=this.requestHeader,fetch(e,l).then(function(s){return s.blob()}).then(function(s){return createImageBitmap(s,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(s){Bx.add(e,s),n&&n(s),r.manager.itemEnd(e)}).catch(function(s){i&&i(s),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}let kj;class C1e{static getContext(){return kj===void 0&&(kj=new(window.AudioContext||window.webkitAudioContext)),kj}static setContext(e){kj=e}}class g5t extends fp{constructor(e){super(e)}load(e,n,o,i){const r=this,a=new M9(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(s){try{const c=s.slice(0);C1e.getContext().decodeAudioData(c,function(d){n(d)},l)}catch(c){l(c)}},o,i);function l(s){i?i(s):console.error(s),r.manager.itemError(e)}}}const K4e=new Xr,q4e=new Xr,k8=new Xr;class m5t{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Iu,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Iu,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,k8.copy(e.projectionMatrix);const i=n.eyeSep/2,r=i*n.near/n.focus,a=n.near*Math.tan(nx*n.fov*.5)/n.zoom;let l,s;q4e.elements[12]=-i,K4e.elements[12]=i,l=-a*n.aspect+r,s=a*n.aspect+r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraL.projectionMatrix.copy(k8),l=-a*n.aspect-r,s=a*n.aspect-r,k8.elements[0]=2*n.near/(s-l),k8.elements[8]=(s+l)/(s-l),this.cameraR.projectionMatrix.copy(k8)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(q4e),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(K4e)}}class R1e{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=$4e(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const n=$4e();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}}function $4e(){return(typeof performance>"u"?Date:performance).now()}const F8=new re,Q4e=new Ts,y5t=new re,L8=new re;class A5t extends Dl{constructor(){super(),this.type="AudioListener",this.context=C1e.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new R1e}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const n=this.context.listener,o=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(F8,Q4e,y5t),L8.set(0,0,-1).applyQuaternion(Q4e),n.positionX){const i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(F8.x,i),n.positionY.linearRampToValueAtTime(F8.y,i),n.positionZ.linearRampToValueAtTime(F8.z,i),n.forwardX.linearRampToValueAtTime(L8.x,i),n.forwardY.linearRampToValueAtTime(L8.y,i),n.forwardZ.linearRampToValueAtTime(L8.z,i),n.upX.linearRampToValueAtTime(o.x,i),n.upY.linearRampToValueAtTime(o.y,i),n.upZ.linearRampToValueAtTime(o.z,i)}else n.setPosition(F8.x,F8.y,F8.z),n.setOrientation(L8.x,L8.y,L8.z,o.x,o.y,o.z)}}class yNe extends Dl{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(o,i,this._addIndex*n,1,n);for(let s=n,c=n+n;s!==c;++s)if(o[s]!==o[s+n]){l.setValue(o,i);break}}saveOriginalState(){const e=this.binding,n=this.buffer,o=this.valueSize,i=o*this._origIndex;e.getValue(n,i);for(let r=o,a=i;r!==a;++r)n[r]=n[i+r%o];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=e+this.valueSize;for(let o=e;o=.5)for(let a=0;a!==r;++a)e[n+a]=e[o+a]}_slerp(e,n,o,i){Ts.slerpFlat(e,n,e,n,e,o,i)}_slerpAdditive(e,n,o,i,r){const a=this._workIndex*r;Ts.multiplyQuaternionsFlat(e,a,e,n,e,o),Ts.slerpFlat(e,n,e,n,e,a,i)}_lerp(e,n,o,i,r){const a=1-i;for(let l=0;l!==r;++l){const s=n+l;e[s]=e[s]*a+e[o+l]*i}}_lerpAdditive(e,n,o,i,r){for(let a=0;a!==r;++a){const l=n+a;e[l]=e[l]+e[o+a]*i}}}const H1e="\\[\\]\\.:\\/",b5t=new RegExp("["+H1e+"]","g"),M1e="[^"+H1e+"]",S5t="[^"+H1e.replace("\\.","")+"]",T5t=/((?:WC+[\/:])*)/.source.replace("WC",M1e),P5t=/(WCOD+)?/.source.replace("WCOD",S5t),C5t=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",M1e),R5t=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",M1e),H5t=new RegExp("^"+T5t+P5t+C5t+R5t+"$"),M5t=["material","materials","bones","map"];class I5t{constructor(e,n,o){const i=o||bl.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const o=this._targetGroup.nCachedObjects_,i=this._bindings[o];i!==void 0&&i.getValue(e,n)}setValue(e,n){const o=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=o.length;i!==r;++i)o[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,o=e.length;n!==o;++n)e[n].unbind()}}class bl{constructor(e,n,o){this.path=n,this.parsedPath=o||bl.parseTrackName(n),this.node=bl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,o){return e&&e.isAnimationObjectGroup?new bl.Composite(e,n,o):new bl(e,n,o)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(b5t,"")}static parseTrackName(e){const n=H5t.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const o={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=o.nodeName&&o.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=o.nodeName.substring(i+1);M5t.indexOf(r)!==-1&&(o.nodeName=o.nodeName.substring(0,i),o.objectName=r)}if(o.propertyName===null||o.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return o}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const o=e.skeleton.getBoneByName(n);if(o!==void 0)return o}if(e.children){const o=function(r){for(let a=0;a=r){const d=r++,f=e[d];n[f.uuid]=u,e[u]=f,n[c]=d,e[d]=s;for(let p=0,g=i;p!==g;++p){const A=o[p],w=A[d],b=A[u];A[u]=w,A[d]=b}}}this.nCachedObjects_=r}uncache(){const e=this._objects,n=this._indicesByUUID,o=this._bindings,i=o.length;let r=this.nCachedObjects_,a=e.length;for(let l=0,s=arguments.length;l!==s;++l){const c=arguments[l],u=c.uuid,d=n[u];if(d!==void 0)if(delete n[u],d0&&(n[p.uuid]=d),e[d]=p,e.pop();for(let g=0,A=i;g!==A;++g){const w=o[g];w[d]=w[f],w.pop()}}}this.nCachedObjects_=r}subscribe_(e,n){const o=this._bindingsIndicesByPath;let i=o[e];const r=this._bindings;if(i!==void 0)return r[i];const a=this._paths,l=this._parsedPaths,s=this._objects,c=s.length,u=this.nCachedObjects_,d=new Array(c);i=r.length,o[e]=i,a.push(e),l.push(n),r.push(d);for(let f=u,p=s.length;f!==p;++f){const g=s[f];d[f]=new bl(g,e,n)}return d}unsubscribe_(e){const n=this._bindingsIndicesByPath,o=n[e];if(o!==void 0){const i=this._paths,r=this._parsedPaths,a=this._bindings,l=a.length-1,s=a[l],c=e[l];n[c]=o,a[o]=s,a.pop(),r[o]=r[l],r.pop(),i[o]=i[l],i.pop()}}}class wNe{constructor(e,n,o=null,i=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=o,this.blendMode=i;const r=n.tracks,a=r.length,l=new Array(a),s={endingStart:Cv,endingEnd:Cv};for(let c=0;c!==a;++c){const u=r[c].createInterpolant(null);l[c]=u,u.settings=s}this._interpolantSettings=s,this._interpolants=l,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=rWe,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,n){return this.loop=e,this.repetitions=n,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,n,o){if(e.fadeOut(n),this.fadeIn(n),o){const i=this._clip.duration,r=e._clip.duration,a=r/i,l=i/r;e.warp(1,a,n),this.warp(l,1,n)}return this}crossFadeTo(e,n,o){return e.crossFadeFrom(this,n,o)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,n,o){const i=this._mixer,r=i.time,a=this.timeScale;let l=this._timeScaleInterpolant;l===null&&(l=i._lendControlInterpolant(),this._timeScaleInterpolant=l);const s=l.parameterPositions,c=l.sampleValues;return s[0]=r,s[1]=r+o,c[0]=e/a,c[1]=n/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,n,o,i){if(!this.enabled){this._updateWeight(e);return}const r=this._startTime;if(r!==null){const s=(e-r)*o;s<0||o===0?n=0:(this._startTime=null,n=o*s)}n*=this._updateTimeScale(e);const a=this._updateTime(n),l=this._updateWeight(e);if(l>0){const s=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case e1e:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulateAdditive(l);break;case EK:default:for(let u=0,d=s.length;u!==d;++u)s[u].evaluate(a),c[u].accumulate(i,l)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const o=this._weightInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const o=this._timeScaleInterpolant;if(o!==null){const i=o.evaluate(e)[0];n*=i,e>o.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,o=this.loop;let i=this.time+e,r=this._loopCount;const a=o===aWe;if(e===0)return r===-1?i:a&&(r&1)===1?n-i:i;if(o===iWe){r===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=n)i=n;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(r===-1&&(e>=0?(r=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),i>=n||i<0){const l=Math.floor(i/n);i-=n*l,r+=Math.abs(l);const s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?n:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(s===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:l})}}else this.time=i;if(a&&(r&1)===1)return n-i}return i}_setEndings(e,n,o){const i=this._interpolantSettings;o?(i.endingStart=Rv,i.endingEnd=Rv):(e?i.endingStart=this.zeroSlopeAtStart?Rv:Cv:i.endingStart=mk,n?i.endingEnd=this.zeroSlopeAtEnd?Rv:Cv:i.endingEnd=mk)}_scheduleFading(e,n,o){const i=this._mixer,r=i.time;let a=this._weightInterpolant;a===null&&(a=i._lendControlInterpolant(),this._weightInterpolant=a);const l=a.parameterPositions,s=a.sampleValues;return l[0]=r,s[0]=n,l[1]=r+e,s[1]=o,this}}const D5t=new Float32Array(1);class E5t extends V9{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const o=e._localRoot||this._root,i=e._clip.tracks,r=i.length,a=e._propertyBindings,l=e._interpolants,s=o.uuid,c=this._bindingsByRootAndName;let u=c[s];u===void 0&&(u={},c[s]=u);for(let d=0;d!==r;++d){const f=i[d],p=f.name;let g=u[p];if(g!==void 0)++g.referenceCount,a[d]=g;else{if(g=a[d],g!==void 0){g._cacheIndex===null&&(++g.referenceCount,this._addInactiveBinding(g,s,p));continue}const A=n&&n._propertyBindings[d].binding.parsedPath;g=new ANe(bl.create(o,p,A),f.ValueTypeName,f.getValueSize()),++g.referenceCount,this._addInactiveBinding(g,s,p),a[d]=g}l[d].resultBuffer=g.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const o=(e._localRoot||this._root).uuid,i=e._clip.uuid,r=this._actionsByClip[i];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,i,o)}const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];r.useCount++===0&&(this._lendBinding(r),r.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let o=0,i=n.length;o!==i;++o){const r=n[o];--r.useCount===0&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=0;--o)e[o].stop();return this}update(e){e*=this.timeScale;const n=this._actions,o=this._nActiveActions,i=this.time+=e,r=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==o;++c)n[c]._update(i,e,r,a);const l=this._bindings,s=this._nActiveBindings;for(let c=0;c!==s;++c)l[c].apply(a);return this}setTime(e){this.time=0;for(let n=0;nthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,twe).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const nwe=new re,Fj=new re;class z1e{constructor(e=new re,n=new re){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){nwe.subVectors(e,this.start),Fj.subVectors(this.end,this.start);const o=Fj.dot(Fj);let r=Fj.dot(nwe)/o;return n&&(r=h0(r,0,1)),r}closestPointToPoint(e,n,o){const i=this.closestPointToPointParameter(e,n);return this.delta(o).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const owe=new re;class U5t extends Dl{constructor(e,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const o=new Ur,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,l=1,s=32;a1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{swe.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(swe,n)}}setLength(e,n=e*.2,o=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(o,n,o),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Q5t extends J9{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],o=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Ur;i.setAttribute("position",new hi(n,3)),i.setAttribute("color",new hi(o,3));const r=new dp({vertexColors:!0,toneMapped:!1});super(i,r),this.type="AxesHelper"}setColors(e,n,o){const i=new Xo,r=this.geometry.attributes.color.array;return i.set(e),i.toArray(r,0),i.toArray(r,3),i.set(n),i.toArray(r,6),i.toArray(r,9),i.set(o),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class xNe{constructor(){this.type="ShapePath",this.color=new Xo,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new Tk,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,o,i){return this.currentPath.quadraticCurveTo(e,n,o,i),this}bezierCurveTo(e,n,o,i,r,a){return this.currentPath.bezierCurveTo(e,n,o,i,r,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(b){const C=[];for(let P=0,v=b.length;PNumber.EPSILON){if(H<0&&(S=C[y],R=-R,x=C[T],H=-H),b.yx.y)continue;if(b.y===S.y){if(b.x===S.x)return!0}else{const D=H*(b.x-S.x)-R*(b.y-S.y);if(D===0)return!0;if(D<0)continue;v=!v}}else{if(b.y!==S.y)continue;if(x.x<=b.x&&b.x<=S.x||S.x<=b.x&&b.x<=x.x)return!0}}return v}const i=y9.isClockWise,r=this.subPaths;if(r.length===0)return[];let a,l,s;const c=[];if(r.length===1)return l=r[0],s=new Ml,s.curves=l.curves,c.push(s),c;let u=!i(r[0].getPoints());u=e?!u:u;const d=[],f=[];let p=[],g=0,A;f[g]=void 0,p[g]=[];for(let b=0,C=r.length;b1){let b=!1,C=0;for(let P=0,v=f.length;P0&&b===!1&&(p=d)}let w;for(let b=0,C=f.length;b{const d=typeof c=="function"?c(e):c;if(d!==e){const f=e;e=u?d:Object.assign({},e,d),n.forEach(p=>p(e,f))}},i=()=>e,r=(c,u=i,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=u(e);function p(){const g=u(e);if(!d(f,g)){const A=f;c(f=g,A)}}return n.add(p),()=>n.delete(p)},s={setState:o,getState:i,subscribe:(c,u,d)=>u||d?r(c,u,d):(n.add(c),()=>n.delete(c)),destroy:()=>n.clear()};return e=t(o,i,s),s}const o9t=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),cwe=o9t?m.useEffect:m.useLayoutEffect;function i9t(t){const e=typeof t=="function"?n9t(t):t,n=(o=e.getState,i=Object.is)=>{const[,r]=m.useReducer(w=>w+1,0),a=e.getState(),l=m.useRef(a),s=m.useRef(o),c=m.useRef(i),u=m.useRef(!1),d=m.useRef();d.current===void 0&&(d.current=o(a));let f,p=!1;(l.current!==a||s.current!==o||c.current!==i||u.current)&&(f=o(a),p=!i(d.current,f)),cwe(()=>{p&&(d.current=f),l.current=a,s.current=o,c.current=i,u.current=!1});const g=m.useRef(a);cwe(()=>{const w=()=>{try{const C=e.getState(),P=s.current(C);c.current(d.current,P)||(l.current=C,d.current=P,r())}catch{u.current=!0,r()}},b=e.subscribe(w);return e.getState()!==g.current&&w(),b},[]);const A=p?f:d.current;return m.useDebugValue(A),A};return Object.assign(n,e),n[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const o=[n,e];return{next(){const i=o.length<=0;return{value:o.shift(),done:i}}}},n}var PNe={exports:{}},CNe={exports:{}},RNe={};/** + */mb.ConcurrentRoot=1;mb.ContinuousEventPriority=4;mb.DefaultEventPriority=16;mb.DiscreteEventPriority=1;mb.IdleEventPriority=536870912;mb.LegacyRoot=0;bNe.exports=mb;var YP=bNe.exports;function e9t(t){let e;const n=new Set,o=(c,u)=>{const d=typeof c=="function"?c(e):c;if(d!==e){const f=e;e=u?d:Object.assign({},e,d),n.forEach(p=>p(e,f))}},i=()=>e,r=(c,u=i,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=u(e);function p(){const g=u(e);if(!d(f,g)){const A=f;c(f=g,A)}}return n.add(p),()=>n.delete(p)},s={setState:o,getState:i,subscribe:(c,u,d)=>u||d?r(c,u,d):(n.add(c),()=>n.delete(c)),destroy:()=>n.clear()};return e=t(o,i,s),s}const t9t=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),cwe=t9t?m.useEffect:m.useLayoutEffect;function n9t(t){const e=typeof t=="function"?e9t(t):t,n=(o=e.getState,i=Object.is)=>{const[,r]=m.useReducer(w=>w+1,0),a=e.getState(),l=m.useRef(a),s=m.useRef(o),c=m.useRef(i),u=m.useRef(!1),d=m.useRef();d.current===void 0&&(d.current=o(a));let f,p=!1;(l.current!==a||s.current!==o||c.current!==i||u.current)&&(f=o(a),p=!i(d.current,f)),cwe(()=>{p&&(d.current=f),l.current=a,s.current=o,c.current=i,u.current=!1});const g=m.useRef(a);cwe(()=>{const w=()=>{try{const C=e.getState(),P=s.current(C);c.current(d.current,P)||(l.current=C,d.current=P,r())}catch{u.current=!0,r()}},b=e.subscribe(w);return e.getState()!==g.current&&w(),b},[]);const A=p?f:d.current;return m.useDebugValue(A),A};return Object.assign(n,e),n[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const o=[n,e];return{next(){const i=o.length<=0;return{value:o.shift(),done:i}}}},n}var SNe={exports:{}},TNe={exports:{}},PNe={};/** * @license React * scheduler.production.min.js * @@ -3676,7 +3676,7 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(F,B){var _=F.length;F.push(B);e:for(;0<_;){var Y=_-1>>>1,O=F[Y];if(0>>1;Yi(ie,_))eei(q,ie)?(F[Y]=q,F[ee]=_,Y=ee):(F[Y]=ie,F[Z]=_,Y=Z);else if(eei(q,_))F[Y]=q,F[ee]=_,Y=ee;else break e}}return B}function i(F,B){var _=F.sortIndex-B.sortIndex;return _!==0?_:F.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;t.unstable_now=function(){return r.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var s=[],c=[],u=1,d=null,f=3,p=!1,g=!1,A=!1,w=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function P(F){for(var B=n(c);B!==null;){if(B.callback===null)o(c);else if(B.startTime<=F)o(c),B.sortIndex=B.expirationTime,e(s,B);else break;B=n(c)}}function v(F){if(A=!1,P(F),!g)if(n(s)!==null)g=!0,E(T);else{var B=n(c);B!==null&&U(v,B.startTime-F)}}function T(F,B){g=!1,A&&(A=!1,b(x),x=-1),p=!0;var _=f;try{for(P(B),d=n(s);d!==null&&(!(d.expirationTime>B)||F&&!D());){var Y=d.callback;if(typeof Y=="function"){d.callback=null,f=d.priorityLevel;var O=Y(d.expirationTime<=B);B=t.unstable_now(),typeof O=="function"?d.callback=O:d===n(s)&&o(s),P(B)}else o(s);d=n(s)}if(d!==null)var J=!0;else{var Z=n(c);Z!==null&&U(v,Z.startTime-B),J=!1}return J}finally{d=null,f=_,p=!1}}var y=!1,S=null,x=-1,R=5,H=-1;function D(){return!(t.unstable_now()-HF||125Y?(F.sortIndex=_,e(c,F),n(s)===null&&F===n(c)&&(A?(b(x),x=-1):A=!0,U(v,_-Y))):(F.sortIndex=O,e(s,F),g||p||(g=!0,E(T))),F},t.unstable_shouldYield=D,t.unstable_wrapCallback=function(F){var B=f;return function(){var _=f;f=B;try{return F.apply(this,arguments)}finally{f=_}}}})(RNe);CNe.exports=RNe;var tce=CNe.exports;/** + */(function(t){function e(F,B){var _=F.length;F.push(B);e:for(;0<_;){var Y=_-1>>>1,O=F[Y];if(0>>1;Yi(ie,_))eei(q,ie)?(F[Y]=q,F[ee]=_,Y=ee):(F[Y]=ie,F[Z]=_,Y=Z);else if(eei(q,_))F[Y]=q,F[ee]=_,Y=ee;else break e}}return B}function i(F,B){var _=F.sortIndex-B.sortIndex;return _!==0?_:F.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;t.unstable_now=function(){return r.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var s=[],c=[],u=1,d=null,f=3,p=!1,g=!1,A=!1,w=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function P(F){for(var B=n(c);B!==null;){if(B.callback===null)o(c);else if(B.startTime<=F)o(c),B.sortIndex=B.expirationTime,e(s,B);else break;B=n(c)}}function v(F){if(A=!1,P(F),!g)if(n(s)!==null)g=!0,E(T);else{var B=n(c);B!==null&&U(v,B.startTime-F)}}function T(F,B){g=!1,A&&(A=!1,b(x),x=-1),p=!0;var _=f;try{for(P(B),d=n(s);d!==null&&(!(d.expirationTime>B)||F&&!D());){var Y=d.callback;if(typeof Y=="function"){d.callback=null,f=d.priorityLevel;var O=Y(d.expirationTime<=B);B=t.unstable_now(),typeof O=="function"?d.callback=O:d===n(s)&&o(s),P(B)}else o(s);d=n(s)}if(d!==null)var J=!0;else{var Z=n(c);Z!==null&&U(v,Z.startTime-B),J=!1}return J}finally{d=null,f=_,p=!1}}var y=!1,S=null,x=-1,R=5,H=-1;function D(){return!(t.unstable_now()-HF||125Y?(F.sortIndex=_,e(c,F),n(s)===null&&F===n(c)&&(A?(b(x),x=-1):A=!0,U(v,_-Y))):(F.sortIndex=O,e(s,F),g||p||(g=!0,E(T))),F},t.unstable_shouldYield=D,t.unstable_wrapCallback=function(F){var B=f;return function(){var _=f;f=B;try{return F.apply(this,arguments)}finally{f=_}}}})(PNe);TNe.exports=PNe;var tce=TNe.exports;/** * @license React * react-reconciler.production.min.js * @@ -3684,30 +3684,30 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r9t=function(e){var n={},o=m,i=tce,r=Object.assign;function a(X){for(var K="https://reactjs.org/docs/error-decoder.html?invariant="+X,we=1;wexn||qe[Zt]!==pt[xn]){var Kn=` -`+qe[Zt].replace(" at new "," at ");return X.displayName&&Kn.includes("")&&(Kn=Kn.replace("",X.displayName)),Kn}while(1<=Zt&&0<=xn);break}}}finally{zt=!1,Error.prepareStackTrace=we}return(X=X?X.displayName||X.name:"")?Et(X):""}var Xt=Object.prototype.hasOwnProperty,fn=[],rn=-1;function bn(X){return{current:X}}function Tn(X){0>rn||(X.current=fn[rn],fn[rn]=null,rn--)}function Un(X,K){rn++,fn[rn]=X.current,X.current=K}var Ai={},vo=bn(Ai),Oo=bn(!1),si=Ai;function po(X,K){var we=X.type.contextTypes;if(!we)return Ai;var ke=X.stateNode;if(ke&&ke.__reactInternalMemoizedUnmaskedChildContext===K)return ke.__reactInternalMemoizedMaskedChildContext;var qe={},pt;for(pt in we)qe[pt]=K[pt];return ke&&(X=X.stateNode,X.__reactInternalMemoizedUnmaskedChildContext=K,X.__reactInternalMemoizedMaskedChildContext=qe),qe}function to(X){return X=X.childContextTypes,X!=null}function uo(){Tn(Oo),Tn(vo)}function qo(X,K,we){if(vo.current!==Ai)throw Error(a(168));Un(vo,K),Un(Oo,we)}function Hi(X,K,we){var ke=X.stateNode;if(K=K.childContextTypes,typeof ke.getChildContext!="function")return we;ke=ke.getChildContext();for(var qe in ke)if(!(qe in K))throw Error(a(108,x(X)||"Unknown",qe));return r({},we,ke)}function vi(X){return X=(X=X.stateNode)&&X.__reactInternalMemoizedMergedChildContext||Ai,si=vo.current,Un(vo,X),Un(Oo,Oo.current),!0}function Cn(X,K,we){var ke=X.stateNode;if(!ke)throw Error(a(169));we?(X=Hi(X,K,si),ke.__reactInternalMemoizedMergedChildContext=X,Tn(Oo),Tn(vo),Un(vo,X)):Tn(Oo),Un(Oo,we)}var yn=Math.clz32?Math.clz32:ni,no=Math.log,Eo=Math.LN2;function ni(X){return X>>>=0,X===0?32:31-(no(X)/Eo|0)|0}var Lo=64,bo=4194304;function Ro(X){switch(X&-X){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return X&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return X&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return X}}function oi(X,K){var we=X.pendingLanes;if(we===0)return 0;var ke=0,qe=X.suspendedLanes,pt=X.pingedLanes,Zt=we&268435455;if(Zt!==0){var xn=Zt&~qe;xn!==0?ke=Ro(xn):(pt&=Zt,pt!==0&&(ke=Ro(pt)))}else Zt=we&~qe,Zt!==0?ke=Ro(Zt):pt!==0&&(ke=Ro(pt));if(ke===0)return 0;if(K!==0&&K!==ke&&!(K&qe)&&(qe=ke&-ke,pt=K&-K,qe>=pt||qe===16&&(pt&4194240)!==0))return K;if(ke&4&&(ke|=we&16),K=X.entangledLanes,K!==0)for(X=X.entanglements,K&=ke;0we;we++)K.push(X);return K}function Qo(X,K,we){X.pendingLanes|=K,K!==536870912&&(X.suspendedLanes=0,X.pingedLanes=0),X=X.eventTimes,K=31-yn(K),X[K]=we}function ar(X,K){var we=X.pendingLanes&~K;X.pendingLanes=K,X.suspendedLanes=0,X.pingedLanes=0,X.expiredLanes&=K,X.mutableReadLanes&=K,X.entangledLanes&=K,K=X.entanglements;var ke=X.eventTimes;for(X=X.expirationTimes;0>=Zt,qe-=Zt,h1=1<<32-yn(K)+qe|we<ea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Sa=Ji(Dn,Yr,On[ea],xi);if(Sa===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Sa.alternate===null&&K(Dn,Yr),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa,Yr=Wa}if(ea===On.length)return we(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;eaea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Tp=Ji(Dn,Yr,Sa.value,xi);if(Tp===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Tp.alternate===null&&K(Dn,Yr),Rn=pt(Tp,Rn,ea),qr===null?zi=Tp:qr.sibling=Tp,qr=Tp,Yr=Wa}if(Sa.done)return we(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;!Sa.done;ea++,Sa=On.next())Sa=Dr(Dn,Sa.value,xi),Sa!==null&&(Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return yl&&Ch(Dn,ea),zi}for(Yr=ke(Dn,Yr);!Sa.done;ea++,Sa=On.next())Sa=dl(Yr,Dn,ea,Sa.value,xi),Sa!==null&&(X&&Sa.alternate!==null&&Yr.delete(Sa.key===null?ea:Sa.key),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return X&&Yr.forEach(function(ZA){return K(Dn,ZA)}),yl&&Ch(Dn,ea),zi}function Od(Dn,Rn,On,xi){if(typeof On=="object"&&On!==null&&On.type===u&&On.key===null&&(On=On.props.children),typeof On=="object"&&On!==null){switch(On.$$typeof){case s:e:{for(var zi=On.key,qr=Rn;qr!==null;){if(qr.key===zi){if(zi=On.type,zi===u){if(qr.tag===7){we(Dn,qr.sibling),Rn=qe(qr,On.props.children),Rn.return=Dn,Dn=Rn;break e}}else if(qr.elementType===zi||typeof zi=="object"&&zi!==null&&zi.$$typeof===P&&y3(zi)===qr.type){we(Dn,qr.sibling),Rn=qe(qr,On.props),Rn.ref=l5(Dn,qr,On),Rn.return=Dn,Dn=Rn;break e}we(Dn,qr);break}else K(Dn,qr);qr=qr.sibling}On.type===u?(Rn=nm(On.props.children,Dn.mode,xi,On.key),Rn.return=Dn,Dn=Rn):(xi=Iy(On.type,On.key,On.props,null,Dn.mode,xi),xi.ref=l5(Dn,Rn,On),xi.return=Dn,Dn=xi)}return Zt(Dn);case c:e:{for(qr=On.key;Rn!==null;){if(Rn.key===qr)if(Rn.tag===4&&Rn.stateNode.containerInfo===On.containerInfo&&Rn.stateNode.implementation===On.implementation){we(Dn,Rn.sibling),Rn=qe(Rn,On.children||[]),Rn.return=Dn,Dn=Rn;break e}else{we(Dn,Rn);break}else K(Dn,Rn);Rn=Rn.sibling}Rn=Yd(On,Dn.mode,xi),Rn.return=Dn,Dn=Rn}return Zt(Dn);case P:return qr=On._init,Od(Dn,Rn,qr(On._payload),xi)}if(L(On))return Gi(Dn,Rn,On,xi);if(y(On))return S0(Dn,Rn,On,xi);Hh(Dn,On)}return typeof On=="string"&&On!==""||typeof On=="number"?(On=""+On,Rn!==null&&Rn.tag===6?(we(Dn,Rn.sibling),Rn=qe(Rn,On),Rn.return=Dn,Dn=Rn):(we(Dn,Rn),Rn=b0(On,Dn.mode,xi),Rn.return=Dn,Dn=Rn),Zt(Dn)):we(Dn,Rn)}return Od}var kd=Bg(!0),$7=Bg(!1),Xc={},hs=bn(Xc),py=bn(Xc),gy=bn(Xc);function vu(X){if(X===Xc)throw Error(a(174));return X}function Q7(X,K){Un(gy,K),Un(py,X),Un(hs,Xc),X=U(K),Tn(hs),Un(hs,X)}function my(){Tn(hs),Tn(py),Tn(gy)}function lS(X){var K=vu(gy.current),we=vu(hs.current);K=F(we,X.type,K),we!==K&&(Un(py,X),Un(hs,K))}function Ap(X){py.current===X&&(Tn(hs),Tn(py))}var An=bn(0);function Zn(X){for(var K=X;K!==null;){if(K.tag===13){var we=K.memoizedState;if(we!==null&&(we=we.dehydrated,we===null||Tt(we)||Rt(we)))return K}else if(K.tag===19&&K.memoizedProps.revealOrder!==void 0){if(K.flags&128)return K}else if(K.child!==null){K.child.return=K,K=K.child;continue}if(K===X)break;for(;K.sibling===null;){if(K.return===null||K.return===X)return null;K=K.return}K.sibling.return=K.return,K=K.sibling}return null}var Nn=[];function bi(){for(var X=0;Xwe?we:4,X(!0);var ke=jr.transition;jr.transition={};try{X(!1),K()}finally{$o=we,jr.transition=ke}}function e8(){return Es().memoizedState}function Kc(X,K,we){var ke=Df(X);we={lane:ke,action:we,hasEagerState:!1,eagerState:null,next:null},t8(X)?RA(K,we):(x3(X,K,we),we=v0(),X=rd(X,ke,we),X!==null&&HA(X,K,ke))}function V0(X,K,we){var ke=Df(X),qe={lane:ke,action:we,hasEagerState:!1,eagerState:null,next:null};if(t8(X))RA(K,qe);else{x3(X,K,qe);var pt=X.alternate;if(X.lanes===0&&(pt===null||pt.lanes===0)&&(pt=K.lastRenderedReducer,pt!==null))try{var Zt=K.lastRenderedState,xn=pt(Zt,we);if(qe.hasEagerState=!0,qe.eagerState=xn,Wl(xn,Zt))return}catch{}finally{}we=v0(),X=rd(X,ke,we),X!==null&&HA(X,K,ke)}}function t8(X){var K=X.alternate;return X===br||K!==null&&K===br}function RA(X,K){jg=_0=!0;var we=X.pending;we===null?K.next=K:(K.next=we.next,we.next=K),X.pending=K}function x3(X,K,we){Ic!==null&&X.mode&1&&!(Cr&2)?(X=K.interleaved,X===null?(we.next=we,jn===null?jn=[K]:jn.push(K)):(we.next=X.next,X.next=we),K.interleaved=we):(X=K.pending,X===null?we.next=we:(we.next=X.next,X.next=we),K.pending=we)}function HA(X,K,we){if(we&4194240){var ke=K.lanes;ke&=X.pendingLanes,we|=ke,K.lanes=we,ur(X,we)}}var Pi={readContext:kn,useCallback:Ds,useContext:Ds,useEffect:Ds,useImperativeHandle:Ds,useInsertionEffect:Ds,useLayoutEffect:Ds,useMemo:Ds,useReducer:Ds,useRef:Ds,useState:Ds,useDebugValue:Ds,useDeferredValue:Ds,useTransition:Ds,useMutableSource:Ds,useSyncExternalStore:Ds,useId:Ds,unstable_isNewReconciler:!1},qc={readContext:kn,useCallback:function(X,K){return Rc().memoizedState=[X,K===void 0?null:K],X},useContext:kn,useEffect:wp,useImperativeHandle:function(X,K,we){return we=we!=null?we.concat([X]):null,Fd(4194308,4,m5.bind(null,K,X),we)},useLayoutEffect:function(X,K){return Fd(4194308,4,X,K)},useInsertionEffect:function(X,K){return Fd(4,2,X,K)},useMemo:function(X,K){var we=Rc();return K=K===void 0?null:K,X=X(),we.memoizedState=[X,K],X},useReducer:function(X,K,we){var ke=Rc();return K=we!==void 0?we(K):K,ke.memoizedState=ke.baseState=K,X={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:X,lastRenderedState:K},ke.queue=X,X=X.dispatch=Kc.bind(null,br,X),[ke.memoizedState,X]},useRef:function(X){var K=Rc();return X={current:X},K.memoizedState=X},useState:h5,useDebugValue:Mf,useDeferredValue:function(X){var K=h5(X),we=K[0],ke=K[1];return wp(function(){var qe=jr.transition;jr.transition={};try{ke(X)}finally{jr.transition=qe}},[X]),we},useTransition:function(){var X=h5(!1),K=X[0];return X=v3.bind(null,X[1]),Rc().memoizedState=X,[K,X]},useMutableSource:function(){},useSyncExternalStore:function(X,K,we){var ke=br,qe=Rc();if(yl){if(we===void 0)throw Error(a(407));we=we()}else{if(we=K(),Ic===null)throw Error(a(349));is&30||f5(ke,K,we)}qe.memoizedState=we;var pt={value:we,getSnapshot:K};return qe.queue=pt,wp(Qs.bind(null,ke,pt,X),[X]),ke.flags|=2048,Qu(9,Og.bind(null,ke,pt,we,K),void 0,null),we},useId:function(){var X=Rc(),K=Ic.identifierPrefix;if(yl){var we=O0,ke=h1;we=(ke&~(1<<32-yn(ke)-1)).toString(32)+we,K=":"+K+"R"+we,we=A3++,0xn||Ke[Zt]!==pt[xn]){var Kn=` +`+Ke[Zt].replace(" at new "," at ");return X.displayName&&Kn.includes("")&&(Kn=Kn.replace("",X.displayName)),Kn}while(1<=Zt&&0<=xn);break}}}finally{Ft=!1,Error.prepareStackTrace=we}return(X=X?X.displayName||X.name:"")?zt(X):""}var Xt=Object.prototype.hasOwnProperty,fn=[],rn=-1;function bn(X){return{current:X}}function Tn(X){0>rn||(X.current=fn[rn],fn[rn]=null,rn--)}function Un(X,K){rn++,fn[rn]=X.current,X.current=K}var Ai={},vo=bn(Ai),Oo=bn(!1),si=Ai;function po(X,K){var we=X.type.contextTypes;if(!we)return Ai;var ke=X.stateNode;if(ke&&ke.__reactInternalMemoizedUnmaskedChildContext===K)return ke.__reactInternalMemoizedMaskedChildContext;var Ke={},pt;for(pt in we)Ke[pt]=K[pt];return ke&&(X=X.stateNode,X.__reactInternalMemoizedUnmaskedChildContext=K,X.__reactInternalMemoizedMaskedChildContext=Ke),Ke}function eo(X){return X=X.childContextTypes,X!=null}function uo(){Tn(Oo),Tn(vo)}function qo(X,K,we){if(vo.current!==Ai)throw Error(a(168));Un(vo,K),Un(Oo,we)}function Hi(X,K,we){var ke=X.stateNode;if(K=K.childContextTypes,typeof ke.getChildContext!="function")return we;ke=ke.getChildContext();for(var Ke in ke)if(!(Ke in K))throw Error(a(108,x(X)||"Unknown",Ke));return r({},we,ke)}function vi(X){return X=(X=X.stateNode)&&X.__reactInternalMemoizedMergedChildContext||Ai,si=vo.current,Un(vo,X),Un(Oo,Oo.current),!0}function Cn(X,K,we){var ke=X.stateNode;if(!ke)throw Error(a(169));we?(X=Hi(X,K,si),ke.__reactInternalMemoizedMergedChildContext=X,Tn(Oo),Tn(vo),Un(vo,X)):Tn(Oo),Un(Oo,we)}var yn=Math.clz32?Math.clz32:ni,to=Math.log,Eo=Math.LN2;function ni(X){return X>>>=0,X===0?32:31-(to(X)/Eo|0)|0}var Lo=64,bo=4194304;function Ro(X){switch(X&-X){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return X&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return X&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return X}}function oi(X,K){var we=X.pendingLanes;if(we===0)return 0;var ke=0,Ke=X.suspendedLanes,pt=X.pingedLanes,Zt=we&268435455;if(Zt!==0){var xn=Zt&~Ke;xn!==0?ke=Ro(xn):(pt&=Zt,pt!==0&&(ke=Ro(pt)))}else Zt=we&~Ke,Zt!==0?ke=Ro(Zt):pt!==0&&(ke=Ro(pt));if(ke===0)return 0;if(K!==0&&K!==ke&&!(K&Ke)&&(Ke=ke&-ke,pt=K&-K,Ke>=pt||Ke===16&&(pt&4194240)!==0))return K;if(ke&4&&(ke|=we&16),K=X.entangledLanes,K!==0)for(X=X.entanglements,K&=ke;0we;we++)K.push(X);return K}function Qo(X,K,we){X.pendingLanes|=K,K!==536870912&&(X.suspendedLanes=0,X.pingedLanes=0),X=X.eventTimes,K=31-yn(K),X[K]=we}function ar(X,K){var we=X.pendingLanes&~K;X.pendingLanes=K,X.suspendedLanes=0,X.pingedLanes=0,X.expiredLanes&=K,X.mutableReadLanes&=K,X.entangledLanes&=K,K=X.entanglements;var ke=X.eventTimes;for(X=X.expirationTimes;0>=Zt,Ke-=Zt,h1=1<<32-yn(K)+Ke|we<ea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Sa=Ji(Dn,Yr,On[ea],xi);if(Sa===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Sa.alternate===null&&K(Dn,Yr),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa,Yr=Wa}if(ea===On.length)return we(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;eaea?(Wa=Yr,Yr=null):Wa=Yr.sibling;var Tp=Ji(Dn,Yr,Sa.value,xi);if(Tp===null){Yr===null&&(Yr=Wa);break}X&&Yr&&Tp.alternate===null&&K(Dn,Yr),Rn=pt(Tp,Rn,ea),qr===null?zi=Tp:qr.sibling=Tp,qr=Tp,Yr=Wa}if(Sa.done)return we(Dn,Yr),yl&&Ch(Dn,ea),zi;if(Yr===null){for(;!Sa.done;ea++,Sa=On.next())Sa=Dr(Dn,Sa.value,xi),Sa!==null&&(Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return yl&&Ch(Dn,ea),zi}for(Yr=ke(Dn,Yr);!Sa.done;ea++,Sa=On.next())Sa=dl(Yr,Dn,ea,Sa.value,xi),Sa!==null&&(X&&Sa.alternate!==null&&Yr.delete(Sa.key===null?ea:Sa.key),Rn=pt(Sa,Rn,ea),qr===null?zi=Sa:qr.sibling=Sa,qr=Sa);return X&&Yr.forEach(function(ZA){return K(Dn,ZA)}),yl&&Ch(Dn,ea),zi}function Od(Dn,Rn,On,xi){if(typeof On=="object"&&On!==null&&On.type===u&&On.key===null&&(On=On.props.children),typeof On=="object"&&On!==null){switch(On.$$typeof){case s:e:{for(var zi=On.key,qr=Rn;qr!==null;){if(qr.key===zi){if(zi=On.type,zi===u){if(qr.tag===7){we(Dn,qr.sibling),Rn=Ke(qr,On.props.children),Rn.return=Dn,Dn=Rn;break e}}else if(qr.elementType===zi||typeof zi=="object"&&zi!==null&&zi.$$typeof===P&&y3(zi)===qr.type){we(Dn,qr.sibling),Rn=Ke(qr,On.props),Rn.ref=l5(Dn,qr,On),Rn.return=Dn,Dn=Rn;break e}we(Dn,qr);break}else K(Dn,qr);qr=qr.sibling}On.type===u?(Rn=nm(On.props.children,Dn.mode,xi,On.key),Rn.return=Dn,Dn=Rn):(xi=Iy(On.type,On.key,On.props,null,Dn.mode,xi),xi.ref=l5(Dn,Rn,On),xi.return=Dn,Dn=xi)}return Zt(Dn);case c:e:{for(qr=On.key;Rn!==null;){if(Rn.key===qr)if(Rn.tag===4&&Rn.stateNode.containerInfo===On.containerInfo&&Rn.stateNode.implementation===On.implementation){we(Dn,Rn.sibling),Rn=Ke(Rn,On.children||[]),Rn.return=Dn,Dn=Rn;break e}else{we(Dn,Rn);break}else K(Dn,Rn);Rn=Rn.sibling}Rn=Yd(On,Dn.mode,xi),Rn.return=Dn,Dn=Rn}return Zt(Dn);case P:return qr=On._init,Od(Dn,Rn,qr(On._payload),xi)}if(L(On))return Gi(Dn,Rn,On,xi);if(y(On))return S0(Dn,Rn,On,xi);Hh(Dn,On)}return typeof On=="string"&&On!==""||typeof On=="number"?(On=""+On,Rn!==null&&Rn.tag===6?(we(Dn,Rn.sibling),Rn=Ke(Rn,On),Rn.return=Dn,Dn=Rn):(we(Dn,Rn),Rn=b0(On,Dn.mode,xi),Rn.return=Dn,Dn=Rn),Zt(Dn)):we(Dn,Rn)}return Od}var kd=Bg(!0),$7=Bg(!1),Xc={},hs=bn(Xc),py=bn(Xc),gy=bn(Xc);function vu(X){if(X===Xc)throw Error(a(174));return X}function Q7(X,K){Un(gy,K),Un(py,X),Un(hs,Xc),X=U(K),Tn(hs),Un(hs,X)}function my(){Tn(hs),Tn(py),Tn(gy)}function lS(X){var K=vu(gy.current),we=vu(hs.current);K=F(we,X.type,K),we!==K&&(Un(py,X),Un(hs,K))}function Ap(X){py.current===X&&(Tn(hs),Tn(py))}var An=bn(0);function Qn(X){for(var K=X;K!==null;){if(K.tag===13){var we=K.memoizedState;if(we!==null&&(we=we.dehydrated,we===null||Tt(we)||Rt(we)))return K}else if(K.tag===19&&K.memoizedProps.revealOrder!==void 0){if(K.flags&128)return K}else if(K.child!==null){K.child.return=K,K=K.child;continue}if(K===X)break;for(;K.sibling===null;){if(K.return===null||K.return===X)return null;K=K.return}K.sibling.return=K.return,K=K.sibling}return null}var Nn=[];function bi(){for(var X=0;Xwe?we:4,X(!0);var ke=jr.transition;jr.transition={};try{X(!1),K()}finally{$o=we,jr.transition=ke}}function e8(){return Es().memoizedState}function Kc(X,K,we){var ke=Df(X);we={lane:ke,action:we,hasEagerState:!1,eagerState:null,next:null},t8(X)?RA(K,we):(x3(X,K,we),we=v0(),X=rd(X,ke,we),X!==null&&HA(X,K,ke))}function V0(X,K,we){var ke=Df(X),Ke={lane:ke,action:we,hasEagerState:!1,eagerState:null,next:null};if(t8(X))RA(K,Ke);else{x3(X,K,Ke);var pt=X.alternate;if(X.lanes===0&&(pt===null||pt.lanes===0)&&(pt=K.lastRenderedReducer,pt!==null))try{var Zt=K.lastRenderedState,xn=pt(Zt,we);if(Ke.hasEagerState=!0,Ke.eagerState=xn,Wl(xn,Zt))return}catch{}finally{}we=v0(),X=rd(X,ke,we),X!==null&&HA(X,K,ke)}}function t8(X){var K=X.alternate;return X===br||K!==null&&K===br}function RA(X,K){jg=_0=!0;var we=X.pending;we===null?K.next=K:(K.next=we.next,we.next=K),X.pending=K}function x3(X,K,we){Ic!==null&&X.mode&1&&!(Cr&2)?(X=K.interleaved,X===null?(we.next=we,jn===null?jn=[K]:jn.push(K)):(we.next=X.next,X.next=we),K.interleaved=we):(X=K.pending,X===null?we.next=we:(we.next=X.next,X.next=we),K.pending=we)}function HA(X,K,we){if(we&4194240){var ke=K.lanes;ke&=X.pendingLanes,we|=ke,K.lanes=we,ur(X,we)}}var Pi={readContext:kn,useCallback:Ds,useContext:Ds,useEffect:Ds,useImperativeHandle:Ds,useInsertionEffect:Ds,useLayoutEffect:Ds,useMemo:Ds,useReducer:Ds,useRef:Ds,useState:Ds,useDebugValue:Ds,useDeferredValue:Ds,useTransition:Ds,useMutableSource:Ds,useSyncExternalStore:Ds,useId:Ds,unstable_isNewReconciler:!1},qc={readContext:kn,useCallback:function(X,K){return Rc().memoizedState=[X,K===void 0?null:K],X},useContext:kn,useEffect:wp,useImperativeHandle:function(X,K,we){return we=we!=null?we.concat([X]):null,Fd(4194308,4,m5.bind(null,K,X),we)},useLayoutEffect:function(X,K){return Fd(4194308,4,X,K)},useInsertionEffect:function(X,K){return Fd(4,2,X,K)},useMemo:function(X,K){var we=Rc();return K=K===void 0?null:K,X=X(),we.memoizedState=[X,K],X},useReducer:function(X,K,we){var ke=Rc();return K=we!==void 0?we(K):K,ke.memoizedState=ke.baseState=K,X={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:X,lastRenderedState:K},ke.queue=X,X=X.dispatch=Kc.bind(null,br,X),[ke.memoizedState,X]},useRef:function(X){var K=Rc();return X={current:X},K.memoizedState=X},useState:h5,useDebugValue:Mf,useDeferredValue:function(X){var K=h5(X),we=K[0],ke=K[1];return wp(function(){var Ke=jr.transition;jr.transition={};try{ke(X)}finally{jr.transition=Ke}},[X]),we},useTransition:function(){var X=h5(!1),K=X[0];return X=v3.bind(null,X[1]),Rc().memoizedState=X,[K,X]},useMutableSource:function(){},useSyncExternalStore:function(X,K,we){var ke=br,Ke=Rc();if(yl){if(we===void 0)throw Error(a(407));we=we()}else{if(we=K(),Ic===null)throw Error(a(349));is&30||f5(ke,K,we)}Ke.memoizedState=we;var pt={value:we,getSnapshot:K};return Ke.queue=pt,wp(Qs.bind(null,ke,pt,X),[X]),ke.flags|=2048,Qu(9,Og.bind(null,ke,pt,we,K),void 0,null),we},useId:function(){var X=Rc(),K=Ic.identifierPrefix;if(yl){var we=O0,ke=h1;we=(ke&~(1<<32-yn(ke)-1)).toString(32)+we,K=":"+K+"R"+we,we=A3++,0M3&&(K.flags|=128,ke=!0,G0(qe,!1),K.lanes=4194304)}else{if(!ke)if(X=Zn(pt),X!==null){if(K.flags|=128,ke=!0,X=X.updateQueue,X!==null&&(K.updateQueue=X,K.flags|=4),G0(qe,!0),qe.tail===null&&qe.tailMode==="hidden"&&!pt.alternate&&!yl)return fr(K),null}else 2*di()-qe.renderingStartTime>M3&&we!==1073741824&&(K.flags|=128,ke=!0,G0(qe,!1),K.lanes=4194304);qe.isBackwards?(pt.sibling=K.child,K.child=pt):(X=qe.last,X!==null?X.sibling=pt:K.child=pt,qe.last=pt)}return qe.tail!==null?(K=qe.tail,qe.rendering=K,qe.tail=K.sibling,qe.renderingStartTime=di(),K.sibling=null,X=An.current,Un(An,ke?X&1|2:X&1),K):(fr(K),null);case 22:case 23:return E3(),ke=K.memoizedState!==null,X!==null&&X.memoizedState!==null!==ke&&(K.flags|=8192),ke&&K.mode&1?Su&1073741824&&(fr(K),le&&K.subtreeFlags&6&&(K.flags|=8192)):fr(K),null;case 24:return null;case 25:return null}throw Error(a(156,K.tag))}var cS=l.ReactCurrentOwner,Ld=!1;function ks(X,K,we,ke){K.child=X===null?$7(K,null,we,ke):kd(K,X.child,we,ke)}function uS(X,K,we,ke,qe){we=we.render;var pt=K.ref;return vn(K,qe),ke=La(X,K,we,ke,pt,qe),we=w3(),X!==null&&!Ld?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~qe,Hc(X,K,qe)):(yl&&we&&p3(K),K.flags|=1,ks(X,K,ke,qe),K.child)}function dS(X,K,we,ke,qe){if(X===null){var pt=we.type;return typeof pt=="function"&&!Dh(pt)&&pt.defaultProps===void 0&&we.compare===null&&we.defaultProps===void 0?(K.tag=15,K.type=pt,DA(X,K,pt,ke,qe)):(X=Iy(we.type,null,ke,K,K.mode,qe),X.ref=K.ref,X.return=K,K.child=X)}if(pt=X.child,!(X.lanes&qe)){var Zt=pt.memoizedProps;if(we=we.compare,we=we!==null?we:pn,we(Zt,ke)&&X.ref===K.ref)return Hc(X,K,qe)}return K.flags|=1,X=jd(pt,ke),X.ref=K.ref,X.return=K,K.child=X}function DA(X,K,we,ke,qe){if(X!==null&&pn(X.memoizedProps,ke)&&X.ref===K.ref)if(Ld=!1,(X.lanes&qe)!==0)X.flags&131072&&(Ld=!0);else return K.lanes=X.lanes,Hc(X,K,qe);return Ih(X,K,we,ke,qe)}function o8(X,K,we){var ke=K.pendingProps,qe=ke.children,pt=X!==null?X.memoizedState:null;if(ke.mode==="hidden")if(!(K.mode&1))K.memoizedState={baseLanes:0,cachePool:null},Un(Ud,Su),Su|=we;else if(we&1073741824)K.memoizedState={baseLanes:0,cachePool:null},ke=pt!==null?pt.baseLanes:we,Un(Ud,Su),Su|=ke;else return X=pt!==null?pt.baseLanes|we:we,K.lanes=K.childLanes=1073741824,K.memoizedState={baseLanes:X,cachePool:null},K.updateQueue=null,Un(Ud,Su),Su|=X,null;else pt!==null?(ke=pt.baseLanes|we,K.memoizedState=null):ke=we,Un(Ud,Su),Su|=ke;return ks(X,K,qe,we),K.child}function i8(X,K){var we=K.ref;(X===null&&we!==null||X!==null&&X.ref!==we)&&(K.flags|=512,K.flags|=2097152)}function Ih(X,K,we,ke,qe){var pt=to(we)?si:vo.current;return pt=po(K,pt),vn(K,qe),we=La(X,K,we,ke,pt,qe),ke=w3(),X!==null&&!Ld?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~qe,Hc(X,K,qe)):(yl&&ke&&p3(K),K.flags|=1,ks(X,K,we,qe),K.child)}function fS(X,K,we,ke,qe){if(to(we)){var pt=!0;vi(K)}else pt=!1;if(vn(K,qe),K.stateNode===null)X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),qu(K,we,ke),Ol(K,we,ke,qe),ke=!0;else if(X===null){var Zt=K.stateNode,xn=K.memoizedProps;Zt.props=xn;var Kn=Zt.context,Bo=we.contextType;typeof Bo=="object"&&Bo!==null?Bo=kn(Bo):(Bo=to(we)?si:vo.current,Bo=po(K,Bo));var Ii=we.getDerivedStateFromProps,Dr=typeof Ii=="function"||typeof Zt.getSnapshotBeforeUpdate=="function";Dr||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==ke||Kn!==Bo)&&Hf(K,Zt,ke,Bo),Wn=!1;var Ji=K.memoizedState;Zt.state=Ji,ga(K,ke,Zt,qe),Kn=K.memoizedState,xn!==ke||Ji!==Kn||Oo.current||Wn?(typeof Ii=="function"&&(Ku(K,we,Ii,ke),Kn=K.memoizedState),(xn=Wn||Rf(K,we,xn,ke,Ji,Kn,Bo))?(Dr||typeof Zt.UNSAFE_componentWillMount!="function"&&typeof Zt.componentWillMount!="function"||(typeof Zt.componentWillMount=="function"&&Zt.componentWillMount(),typeof Zt.UNSAFE_componentWillMount=="function"&&Zt.UNSAFE_componentWillMount()),typeof Zt.componentDidMount=="function"&&(K.flags|=4194308)):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),K.memoizedProps=ke,K.memoizedState=Kn),Zt.props=ke,Zt.state=Kn,Zt.context=Bo,ke=xn):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),ke=!1)}else{Zt=K.stateNode,Xn(X,K),xn=K.memoizedProps,Bo=K.type===K.elementType?xn:Ze(K.type,xn),Zt.props=Bo,Dr=K.pendingProps,Ji=Zt.context,Kn=we.contextType,typeof Kn=="object"&&Kn!==null?Kn=kn(Kn):(Kn=to(we)?si:vo.current,Kn=po(K,Kn));var dl=we.getDerivedStateFromProps;(Ii=typeof dl=="function"||typeof Zt.getSnapshotBeforeUpdate=="function")||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==Dr||Ji!==Kn)&&Hf(K,Zt,ke,Kn),Wn=!1,Ji=K.memoizedState,Zt.state=Ji,ga(K,ke,Zt,qe);var Gi=K.memoizedState;xn!==Dr||Ji!==Gi||Oo.current||Wn?(typeof dl=="function"&&(Ku(K,we,dl,ke),Gi=K.memoizedState),(Bo=Wn||Rf(K,we,Bo,ke,Ji,Gi,Kn)||!1)?(Ii||typeof Zt.UNSAFE_componentWillUpdate!="function"&&typeof Zt.componentWillUpdate!="function"||(typeof Zt.componentWillUpdate=="function"&&Zt.componentWillUpdate(ke,Gi,Kn),typeof Zt.UNSAFE_componentWillUpdate=="function"&&Zt.UNSAFE_componentWillUpdate(ke,Gi,Kn)),typeof Zt.componentDidUpdate=="function"&&(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate=="function"&&(K.flags|=1024)):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),K.memoizedProps=ke,K.memoizedState=Gi),Zt.props=ke,Zt.state=Gi,Zt.context=Kn,ke=Bo):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),ke=!1)}return EA(X,K,we,ke,pt,qe)}function EA(X,K,we,ke,qe,pt){i8(X,K);var Zt=(K.flags&128)!==0;if(!ke&&!Zt)return qe&&Cn(K,we,!1),Hc(X,K,pt);ke=K.stateNode,cS.current=K;var xn=Zt&&typeof we.getDerivedStateFromError!="function"?null:ke.render();return K.flags|=1,X!==null&&Zt?(K.child=kd(K,X.child,null,pt),K.child=kd(K,null,xn,pt)):ks(X,K,xn,pt),K.memoizedState=ke.state,qe&&Cn(K,we,!0),K.child}function hS(X){var K=X.stateNode;K.pendingContext?qo(X,K.pendingContext,K.pendingContext!==K.context):K.context&&qo(X,K.context,!1),Q7(X,K.containerInfo)}function pS(X,K,we,ke,qe){return hy(),m3(qe),K.flags|=256,ks(X,K,we,ke),K.child}var T3={dehydrated:null,treeContext:null,retryLane:0};function xu(X){return{baseLanes:X,cachePool:null}}function r8(X,K,we){var ke=K.pendingProps,qe=An.current,pt=!1,Zt=(K.flags&128)!==0,xn;if((xn=Zt)||(xn=X!==null&&X.memoizedState===null?!1:(qe&2)!==0),xn?(pt=!0,K.flags&=-129):(X===null||X.memoizedState!==null)&&(qe|=1),Un(An,qe&1),X===null)return fy(K),X=K.memoizedState,X!==null&&(X=X.dehydrated,X!==null)?(K.mode&1?Rt(X)?K.lanes=8:K.lanes=1073741824:K.lanes=1,null):(qe=ke.children,X=ke.fallback,pt?(ke=K.mode,pt=K.child,qe={mode:"hidden",children:qe},!(ke&1)&&pt!==null?(pt.childLanes=0,pt.pendingProps=qe):pt=zy(qe,ke,0,null),X=nm(X,ke,we,null),pt.return=K,X.return=K,pt.sibling=X,K.child=pt,K.child.memoizedState=xu(we),K.memoizedState=T3,X):kA(K,qe));if(qe=X.memoizedState,qe!==null){if(xn=qe.dehydrated,xn!==null){if(Zt)return K.flags&256?(K.flags&=-257,LA(X,K,we,Error(a(422)))):K.memoizedState!==null?(K.child=X.child,K.flags|=128,null):(pt=ke.fallback,qe=K.mode,ke=zy({mode:"visible",children:ke.children},qe,0,null),pt=nm(pt,qe,we,null),pt.flags|=2,ke.return=K,pt.return=K,ke.sibling=pt,K.child=ke,K.mode&1&&kd(K,X.child,null,we),K.child.memoizedState=xu(we),K.memoizedState=T3,pt);if(!(K.mode&1))K=LA(X,K,we,null);else if(Rt(xn))K=LA(X,K,we,Error(a(419)));else if(ke=(we&X.childLanes)!==0,Ld||ke){if(ke=Ic,ke!==null){switch(we&-we){case 4:pt=2;break;case 16:pt=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:pt=32;break;case 536870912:pt=268435456;break;default:pt=0}ke=pt&(ke.suspendedLanes|we)?0:pt,ke!==0&&ke!==qe.retryLane&&(qe.retryLane=ke,rd(X,ke,-1))}M5(),K=LA(X,K,we,Error(a(421)))}else Tt(xn)?(K.flags|=128,K.child=X.child,K=T1.bind(null,X),Wt(xn,K),K=null):(we=qe.treeContext,he&&($s=Ke(xn),zs=K,yl=!0,el=null,Ug=!1,we!==null&&(Gc[yu++]=h1,Gc[yu++]=O0,Gc[yu++]=f1,h1=we.id,O0=we.overflow,f1=K)),K=kA(K,K.pendingProps.children),K.flags|=4096);return K}return pt?(ke=a8(X,K,ke.children,ke.fallback,we),pt=K.child,qe=X.child.memoizedState,pt.memoizedState=qe===null?xu(we):{baseLanes:qe.baseLanes|we,cachePool:null},pt.childLanes=X.childLanes&~we,K.memoizedState=T3,ke):(we=FA(X,K,ke.children,we),K.memoizedState=null,we)}return pt?(ke=a8(X,K,ke.children,ke.fallback,we),pt=K.child,qe=X.child.memoizedState,pt.memoizedState=qe===null?xu(we):{baseLanes:qe.baseLanes|we,cachePool:null},pt.childLanes=X.childLanes&~we,K.memoizedState=T3,ke):(we=FA(X,K,ke.children,we),K.memoizedState=null,we)}function kA(X,K){return K=zy({mode:"visible",children:K},X.mode,0,null),K.return=X,X.child=K}function FA(X,K,we,ke){var qe=X.child;return X=qe.sibling,we=jd(qe,{mode:"visible",children:we}),!(K.mode&1)&&(we.lanes=ke),we.return=K,we.sibling=null,X!==null&&(ke=K.deletions,ke===null?(K.deletions=[X],K.flags|=16):ke.push(X)),K.child=we}function a8(X,K,we,ke,qe){var pt=K.mode;X=X.child;var Zt=X.sibling,xn={mode:"hidden",children:we};return!(pt&1)&&K.child!==X?(we=K.child,we.childLanes=0,we.pendingProps=xn,K.deletions=null):(we=jd(X,xn),we.subtreeFlags=X.subtreeFlags&14680064),Zt!==null?ke=jd(Zt,ke):(ke=nm(ke,pt,qe,null),ke.flags|=2),ke.return=K,we.return=K,we.sibling=ke,K.child=we,ke}function LA(X,K,we,ke){return ke!==null&&m3(ke),kd(K,X.child,null,we),X=kA(K,K.pendingProps.children),X.flags|=2,K.memoizedState=null,X}function A1(X,K,we){X.lanes|=K;var ke=X.alternate;ke!==null&&(ke.lanes|=K),mn(X.return,K,we)}function WA(X,K,we,ke,qe){var pt=X.memoizedState;pt===null?X.memoizedState={isBackwards:K,rendering:null,renderingStartTime:0,last:ke,tail:we,tailMode:qe}:(pt.isBackwards=K,pt.rendering=null,pt.renderingStartTime=0,pt.last=ke,pt.tail=we,pt.tailMode=qe)}function l8(X,K,we){var ke=K.pendingProps,qe=ke.revealOrder,pt=ke.tail;if(ks(X,K,ke.children,we),ke=An.current,ke&2)ke=ke&1|2,K.flags|=128;else{if(X!==null&&X.flags&128)e:for(X=K.child;X!==null;){if(X.tag===13)X.memoizedState!==null&&A1(X,we,K);else if(X.tag===19)A1(X,we,K);else if(X.child!==null){X.child.return=X,X=X.child;continue}if(X===K)break e;for(;X.sibling===null;){if(X.return===null||X.return===K)break e;X=X.return}X.sibling.return=X.return,X=X.sibling}ke&=1}if(Un(An,ke),!(K.mode&1))K.memoizedState=null;else switch(qe){case"forwards":for(we=K.child,qe=null;we!==null;)X=we.alternate,X!==null&&Zn(X)===null&&(qe=we),we=we.sibling;we=qe,we===null?(qe=K.child,K.child=null):(qe=we.sibling,we.sibling=null),WA(K,!1,qe,we,pt);break;case"backwards":for(we=null,qe=K.child,K.child=null;qe!==null;){if(X=qe.alternate,X!==null&&Zn(X)===null){K.child=qe;break}X=qe.sibling,qe.sibling=we,we=qe,qe=X}WA(K,!0,we,null,pt);break;case"together":WA(K,!1,null,null,void 0);break;default:K.memoizedState=null}return K.child}function Hc(X,K,we){if(X!==null&&(K.dependencies=X.dependencies),id|=K.lanes,!(we&K.childLanes))return null;if(X!==null&&K.child!==X.child)throw Error(a(153));if(K.child!==null){for(X=K.child,we=jd(X,X.pendingProps),K.child=we,we.return=K;X.sibling!==null;)X=X.sibling,we=we.sibling=jd(X,X.pendingProps),we.return=K;we.sibling=null}return K.child}function NA(X,K,we){switch(K.tag){case 3:hS(K),hy();break;case 5:lS(K);break;case 1:to(K.type)&&vi(K);break;case 4:Q7(K,K.stateNode.containerInfo);break;case 10:an(K,K.type._context,K.memoizedProps.value);break;case 13:var ke=K.memoizedState;if(ke!==null)return ke.dehydrated!==null?(Un(An,An.current&1),K.flags|=128,null):we&K.child.childLanes?r8(X,K,we):(Un(An,An.current&1),X=Hc(X,K,we),X!==null?X.sibling:null);Un(An,An.current&1);break;case 19:if(ke=(we&K.childLanes)!==0,X.flags&128){if(ke)return l8(X,K,we);K.flags|=128}var qe=K.memoizedState;if(qe!==null&&(qe.rendering=null,qe.tail=null,qe.lastEffect=null),Un(An,An.current),ke)break;return null;case 22:case 23:return K.lanes=0,o8(X,K,we)}return Hc(X,K,we)}function HM(X,K){switch(Au(K),K.tag){case 1:return to(K.type)&&uo(),X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 3:return my(),Tn(Oo),Tn(vo),bi(),X=K.flags,X&65536&&!(X&128)?(K.flags=X&-65537|128,K):null;case 5:return Ap(K),null;case 13:if(Tn(An),X=K.memoizedState,X!==null&&X.dehydrated!==null){if(K.alternate===null)throw Error(a(340));hy()}return X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 19:return Tn(An),null;case 4:return my(),null;case 10:return gn(K.type._context),null;case 22:case 23:return E3(),null;case 24:return null;default:return null}}var Vg=!1,wy=!1,MM=typeof WeakSet=="function"?WeakSet:Set,mi=null;function Gg(X,K){var we=X.ref;if(we!==null)if(typeof we=="function")try{we(null)}catch(ke){K0(X,K,ke)}else we.current=null}function v5(X,K,we){try{we()}catch(ke){K0(X,K,ke)}}var s8=!1;function UA(X,K){for(B(X.containerInfo),mi=K;mi!==null;)if(X=mi,K=X.child,(X.subtreeFlags&1028)!==0&&K!==null)K.return=X,mi=K;else for(;mi!==null;){X=mi;try{var we=X.alternate;if(X.flags&1024)switch(X.tag){case 0:case 11:case 15:break;case 1:if(we!==null){var ke=we.memoizedProps,qe=we.memoizedState,pt=X.stateNode,Zt=pt.getSnapshotBeforeUpdate(X.elementType===X.type?ke:Ze(X.type,ke),qe);pt.__reactInternalSnapshotBeforeUpdate=Zt}break;case 3:le&&xt(X.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(xn){K0(X,X.return,xn)}if(K=X.sibling,K!==null){K.return=X.return,mi=K;break}mi=X.return}return we=s8,s8=!1,we}function td(X,K,we){var ke=K.updateQueue;if(ke=ke!==null?ke.lastEffect:null,ke!==null){var qe=ke=ke.next;do{if((qe.tag&X)===X){var pt=qe.destroy;qe.destroy=void 0,pt!==void 0&&v5(K,we,pt)}qe=qe.next}while(qe!==ke)}}function vp(X,K){if(K=K.updateQueue,K=K!==null?K.lastEffect:null,K!==null){var we=K=K.next;do{if((we.tag&X)===X){var ke=we.create;we.destroy=ke()}we=we.next}while(we!==K)}}function P3(X){var K=X.ref;if(K!==null){var we=X.stateNode;switch(X.tag){case 5:X=E(we);break;default:X=we}typeof K=="function"?K(X):K.current=X}}function BA(X,K,we){if(qs&&typeof qs.onCommitFiberUnmount=="function")try{qs.onCommitFiberUnmount(Is,K)}catch{}switch(K.tag){case 0:case 11:case 14:case 15:if(X=K.updateQueue,X!==null&&(X=X.lastEffect,X!==null)){var ke=X=X.next;do{var qe=ke,pt=qe.destroy;qe=qe.tag,pt!==void 0&&(qe&2||qe&4)&&v5(K,we,pt),ke=ke.next}while(ke!==X)}break;case 1:if(Gg(K,we),X=K.stateNode,typeof X.componentWillUnmount=="function")try{X.props=K.memoizedProps,X.state=K.memoizedState,X.componentWillUnmount()}catch(Zt){K0(K,we,Zt)}break;case 5:Gg(K,we);break;case 4:le?OA(X,K,we):te&&te&&(K=K.stateNode.containerInfo,we=Qe(K),at(K,we))}}function jA(X,K,we){for(var ke=K;;)if(BA(X,ke,we),ke.child===null||le&&ke.tag===4){if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return}ke.sibling.return=ke.return,ke=ke.sibling}else ke.child.return=ke,ke=ke.child}function zh(X){var K=X.alternate;K!==null&&(X.alternate=null,zh(K)),X.child=null,X.deletions=null,X.sibling=null,X.tag===5&&(K=X.stateNode,K!==null&&de(K)),X.stateNode=null,X.return=null,X.dependencies=null,X.memoizedProps=null,X.memoizedState=null,X.pendingProps=null,X.stateNode=null,X.updateQueue=null}function x5(X){return X.tag===5||X.tag===3||X.tag===4}function w0(X){e:for(;;){for(;X.sibling===null;){if(X.return===null||x5(X.return))return null;X=X.return}for(X.sibling.return=X.return,X=X.sibling;X.tag!==5&&X.tag!==6&&X.tag!==18;){if(X.flags&2||X.child===null||X.tag===4)continue e;X.child.return=X,X=X.child}if(!(X.flags&2))return X.stateNode}}function nd(X){if(le){e:{for(var K=X.return;K!==null;){if(x5(K))break e;K=K.return}throw Error(a(160))}var we=K;switch(we.tag){case 5:K=we.stateNode,we.flags&32&&(Ee(K),we.flags&=-33),we=w0(X),C3(X,we,K);break;case 3:case 4:K=we.stateNode.containerInfo,we=w0(X),YA(X,we,K);break;default:throw Error(a(161))}}}function YA(X,K,we){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Le(we,X,K):Me(we,X);else if(ke!==4&&(X=X.child,X!==null))for(YA(X,K,we),X=X.sibling;X!==null;)YA(X,K,we),X=X.sibling}function C3(X,K,we){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Oe(we,X,K):Pe(we,X);else if(ke!==4&&(X=X.child,X!==null))for(C3(X,K,we),X=X.sibling;X!==null;)C3(X,K,we),X=X.sibling}function OA(X,K,we){for(var ke=K,qe=!1,pt,Zt;;){if(!qe){qe=ke.return;e:for(;;){if(qe===null)throw Error(a(160));switch(pt=qe.stateNode,qe.tag){case 5:Zt=!1;break e;case 3:pt=pt.containerInfo,Zt=!0;break e;case 4:pt=pt.containerInfo,Zt=!0;break e}qe=qe.return}qe=!0}if(ke.tag===5||ke.tag===6)jA(X,ke,we),Zt?We(pt,ke.stateNode):$e(pt,ke.stateNode);else if(ke.tag===18)Zt?je(pt,ke.stateNode):st(pt,ke.stateNode);else if(ke.tag===4){if(ke.child!==null){pt=ke.stateNode.containerInfo,Zt=!0,ke.child.return=ke,ke=ke.child;continue}}else if(BA(X,ke,we),ke.child!==null){ke.child.return=ke,ke=ke.child;continue}if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return,ke.tag===4&&(qe=!1)}ke.sibling.return=ke.return,ke=ke.sibling}}function Xg(X,K){if(le){switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 1:return;case 5:var we=K.stateNode;if(we!=null){var ke=K.memoizedProps;X=X!==null?X.memoizedProps:ke;var qe=K.type,pt=K.updateQueue;K.updateQueue=null,pt!==null&&Ue(we,pt,qe,X,ke,K)}return;case 6:if(K.stateNode===null)throw Error(a(162));we=K.memoizedProps,Te(K.stateNode,X!==null?X.memoizedProps:we,we);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&<(K.stateNode.containerInfo);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 17:return}throw Error(a(163))}switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&<(K.stateNode.containerInfo);break;case 22:case 23:return}e:if(te){switch(K.tag){case 1:case 5:case 6:break e;case 3:case 4:K=K.stateNode,at(K.containerInfo,K.pendingChildren);break e}throw Error(a(163))}}function od(X){var K=X.updateQueue;if(K!==null){X.updateQueue=null;var we=X.stateNode;we===null&&(we=X.stateNode=new MM),K.forEach(function(ke){var qe=k3.bind(null,X,ke);we.has(ke)||(we.add(ke),ke.then(qe,qe))})}}function b5(X,K){for(mi=K;mi!==null;){K=mi;var we=K.deletions;if(we!==null)for(var ke=0;ke";case Wd:return":has("+(P5(X)||"")+")";case bu:return'[role="'+X.value+'"]';case Nd:return'"'+X.value+'"';case T5:return'[data-testname="'+X.value+'"]';default:throw Error(a(365))}}function Jg(X,K){var we=[];X=[X,0];for(var ke=0;keqe&&(qe=Zt),ke&=~pt}if(ke=qe,ke=di()-ke,ke=(120>ke?120:480>ke?480:1080>ke?1080:1920>ke?1920:3e3>ke?3e3:4320>ke?4320:1960*xy(ke/1960))-ke,10X?16:X,Bd===null)var ke=!1;else{if(X=Bd,Bd=null,R5=0,Cr&6)throw Error(a(331));var qe=Cr;for(Cr|=4,mi=X.current;mi!==null;){var pt=mi,Zt=pt.child;if(mi.flags&16){var xn=pt.deletions;if(xn!==null){for(var Kn=0;Kndi()-GA?ec(X,0):H3|=we),Qi(X,K)}function d8(X,K){K===0&&(X.mode&1?(K=bo,bo<<=1,!(bo&130023424)&&(bo=4194304)):K=1);var we=v0();X=$g(X,K),X!==null&&(Qo(X,K,we),Qi(X,we))}function T1(X){var K=X.memoizedState,we=0;K!==null&&(we=K.retryLane),d8(X,we)}function k3(X,K){var we=0;switch(X.tag){case 13:var ke=X.stateNode,qe=X.memoizedState;qe!==null&&(we=qe.retryLane);break;case 19:ke=X.stateNode;break;default:throw Error(a(314))}ke!==null&&ke.delete(K),d8(X,we)}var KA;KA=function(X,K,we){if(X!==null)if(X.memoizedProps!==K.pendingProps||Oo.current)Ld=!0;else{if(!(X.lanes&we)&&!(K.flags&128))return Ld=!1,NA(X,K,we);Ld=!!(X.flags&131072)}else Ld=!1,yl&&K.flags&1048576&&Ng(K,dy,K.index);switch(K.lanes=0,K.tag){case 2:var ke=K.type;X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps;var qe=po(K,vo.current);vn(K,we),qe=La(null,K,ke,X,qe,we);var pt=w3();return K.flags|=1,typeof qe=="object"&&qe!==null&&typeof qe.render=="function"&&qe.$$typeof===void 0?(K.tag=1,K.memoizedState=null,K.updateQueue=null,to(ke)?(pt=!0,vi(K)):pt=!1,K.memoizedState=qe.state!==null&&qe.state!==void 0?qe.state:null,$n(K),qe.updater=Th,K.stateNode=qe,qe._reactInternals=K,Ol(K,ke,X,we),K=EA(null,K,ke,!0,pt,we)):(K.tag=0,yl&&pt&&p3(K),ks(null,K,qe,we),K=K.child),K;case 16:ke=K.elementType;e:{switch(X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps,qe=ke._init,ke=qe(ke._payload),K.type=ke,qe=K.tag=tm(ke),X=Ze(ke,X),qe){case 0:K=Ih(null,K,ke,X,we);break e;case 1:K=fS(null,K,ke,X,we);break e;case 11:K=uS(null,K,ke,X,we);break e;case 14:K=dS(null,K,ke,Ze(ke.type,X),we);break e}throw Error(a(306,ke,""))}return K;case 0:return ke=K.type,qe=K.pendingProps,qe=K.elementType===ke?qe:Ze(ke,qe),Ih(X,K,ke,qe,we);case 1:return ke=K.type,qe=K.pendingProps,qe=K.elementType===ke?qe:Ze(ke,qe),fS(X,K,ke,qe,we);case 3:e:{if(hS(K),X===null)throw Error(a(387));ke=K.pendingProps,pt=K.memoizedState,qe=pt.element,Xn(X,K),ga(K,ke,null,we);var Zt=K.memoizedState;if(ke=Zt.element,he&&pt.isDehydrated)if(pt={element:ke,isDehydrated:!1,cache:Zt.cache,transitions:Zt.transitions},K.updateQueue.baseState=pt,K.memoizedState=pt,K.flags&256){qe=Error(a(423)),K=pS(X,K,ke,we,qe);break e}else if(ke!==qe){qe=Error(a(424)),K=pS(X,K,ke,we,qe);break e}else for(he&&($s=Ft(K.stateNode.containerInfo),zs=K,yl=!0,el=null,Ug=!1),we=$7(K,null,ke,we),K.child=we;we;)we.flags=we.flags&-3|4096,we=we.sibling;else{if(hy(),ke===qe){K=Hc(X,K,we);break e}ks(X,K,ke,we)}K=K.child}return K;case 5:return lS(K),X===null&&fy(K),ke=K.type,qe=K.pendingProps,pt=X!==null?X.memoizedProps:null,Zt=qe.children,ie(ke,qe)?Zt=null:pt!==null&&ie(ke,pt)&&(K.flags|=32),i8(X,K),ks(X,K,Zt,we),K.child;case 6:return X===null&&fy(K),null;case 13:return r8(X,K,we);case 4:return Q7(K,K.stateNode.containerInfo),ke=K.pendingProps,X===null?K.child=kd(K,null,ke,we):ks(X,K,ke,we),K.child;case 11:return ke=K.type,qe=K.pendingProps,qe=K.elementType===ke?qe:Ze(ke,qe),uS(X,K,ke,qe,we);case 7:return ks(X,K,K.pendingProps,we),K.child;case 8:return ks(X,K,K.pendingProps.children,we),K.child;case 12:return ks(X,K,K.pendingProps.children,we),K.child;case 10:e:{if(ke=K.type._context,qe=K.pendingProps,pt=K.memoizedProps,Zt=qe.value,an(K,ke,Zt),pt!==null)if(Wl(pt.value,Zt)){if(pt.children===qe.children&&!Oo.current){K=Hc(X,K,we);break e}}else for(pt=K.child,pt!==null&&(pt.return=K);pt!==null;){var xn=pt.dependencies;if(xn!==null){Zt=pt.child;for(var Kn=xn.firstContext;Kn!==null;){if(Kn.context===ke){if(pt.tag===1){Kn=Jo(-1,we&-we),Kn.tag=2;var Bo=pt.updateQueue;if(Bo!==null){Bo=Bo.shared;var Ii=Bo.pending;Ii===null?Kn.next=Kn:(Kn.next=Ii.next,Ii.next=Kn),Bo.pending=Kn}}pt.lanes|=we,Kn=pt.alternate,Kn!==null&&(Kn.lanes|=we),mn(pt.return,we,K),xn.lanes|=we;break}Kn=Kn.next}}else if(pt.tag===10)Zt=pt.type===K.type?null:pt.child;else if(pt.tag===18){if(Zt=pt.return,Zt===null)throw Error(a(341));Zt.lanes|=we,xn=Zt.alternate,xn!==null&&(xn.lanes|=we),mn(Zt,we,K),Zt=pt.sibling}else Zt=pt.child;if(Zt!==null)Zt.return=pt;else for(Zt=pt;Zt!==null;){if(Zt===K){Zt=null;break}if(pt=Zt.sibling,pt!==null){pt.return=Zt.return,Zt=pt;break}Zt=Zt.return}pt=Zt}ks(X,K,qe.children,we),K=K.child}return K;case 9:return qe=K.type,ke=K.pendingProps.children,vn(K,we),qe=kn(qe),ke=ke(qe),K.flags|=1,ks(X,K,ke,we),K.child;case 14:return ke=K.type,qe=Ze(ke,K.pendingProps),qe=Ze(ke.type,qe),dS(X,K,ke,qe,we);case 15:return DA(X,K,K.type,K.pendingProps,we);case 17:return ke=K.type,qe=K.pendingProps,qe=K.elementType===ke?qe:Ze(ke,qe),X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),K.tag=1,to(ke)?(X=!0,vi(K)):X=!1,vn(K,we),qu(K,ke,qe),Ol(K,ke,qe,we),EA(null,K,ke,!0,X,we);case 19:return l8(X,K,we);case 22:return o8(X,K,we)}throw Error(a(156,K.tag))};function em(X,K){return Mo(X,K)}function qA(X,K,we,ke){this.tag=X,this.key=we,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=K,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=ke,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kf(X,K,we,ke){return new qA(X,K,we,ke)}function Dh(X){return X=X.prototype,!(!X||!X.isReactComponent)}function tm(X){if(typeof X=="function")return Dh(X)?1:0;if(X!=null){if(X=X.$$typeof,X===A)return 11;if(X===C)return 14}return 2}function jd(X,K){var we=X.alternate;return we===null?(we=kf(X.tag,K,X.key,X.mode),we.elementType=X.elementType,we.type=X.type,we.stateNode=X.stateNode,we.alternate=X,X.alternate=we):(we.pendingProps=K,we.type=X.type,we.flags=0,we.subtreeFlags=0,we.deletions=null),we.flags=X.flags&14680064,we.childLanes=X.childLanes,we.lanes=X.lanes,we.child=X.child,we.memoizedProps=X.memoizedProps,we.memoizedState=X.memoizedState,we.updateQueue=X.updateQueue,K=X.dependencies,we.dependencies=K===null?null:{lanes:K.lanes,firstContext:K.firstContext},we.sibling=X.sibling,we.index=X.index,we.ref=X.ref,we}function Iy(X,K,we,ke,qe,pt){var Zt=2;if(ke=X,typeof X=="function")Dh(X)&&(Zt=1);else if(typeof X=="string")Zt=5;else e:switch(X){case u:return nm(we.children,qe,pt,K);case d:Zt=8,qe|=8;break;case f:return X=kf(12,we,K,qe|2),X.elementType=f,X.lanes=pt,X;case w:return X=kf(13,we,K,qe),X.elementType=w,X.lanes=pt,X;case b:return X=kf(19,we,K,qe),X.elementType=b,X.lanes=pt,X;case v:return zy(we,qe,pt,K);default:if(typeof X=="object"&&X!==null)switch(X.$$typeof){case p:Zt=10;break e;case g:Zt=9;break e;case A:Zt=11;break e;case C:Zt=14;break e;case P:Zt=16,ke=null;break e}throw Error(a(130,X==null?X:typeof X,""))}return K=kf(Zt,we,K,qe),K.elementType=X,K.type=ke,K.lanes=pt,K}function nm(X,K,we,ke){return X=kf(7,X,ke,K),X.lanes=we,X}function zy(X,K,we,ke){return X=kf(22,X,ke,K),X.elementType=v,X.lanes=we,X.stateNode={},X}function b0(X,K,we){return X=kf(6,X,null,K),X.lanes=we,X}function Yd(X,K,we){return K=kf(4,X.children!==null?X.children:[],X.key,K),K.lanes=we,K.stateNode={containerInfo:X.containerInfo,pendingChildren:null,implementation:X.implementation},K}function $A(X,K,we,ke,qe){this.tag=K,this.containerInfo=X,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ne,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_i(0),this.expirationTimes=_i(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_i(0),this.identifierPrefix=ke,this.onRecoverableError=qe,he&&(this.mutableSourceEagerHydrationData=null)}function z5(X,K,we,ke,qe,pt,Zt,xn,Kn){return X=new $A(X,K,we,xn,Kn),K===1?(K=1,pt===!0&&(K|=8)):K=0,pt=kf(3,null,null,K),X.current=pt,pt.stateNode=X,pt.memoizedState={element:ke,isDehydrated:we,cache:null,transitions:null},$n(pt),X}function D5(X){if(!X)return Ai;X=X._reactInternals;e:{if(R(X)!==X||X.tag!==1)throw Error(a(170));var K=X;do{switch(K.tag){case 3:K=K.stateNode.context;break e;case 1:if(to(K.type)){K=K.stateNode.__reactInternalMemoizedMergedChildContext;break e}}K=K.return}while(K!==null);throw Error(a(171))}if(X.tag===1){var we=X.type;if(to(we))return Hi(X,we,K)}return K}function Sp(X){var K=X._reactInternals;if(K===void 0)throw typeof X.render=="function"?Error(a(188)):(X=Object.keys(X).join(","),Error(a(268,X)));return X=k(K),X===null?null:X.stateNode}function F3(X,K){if(X=X.memoizedState,X!==null&&X.dehydrated!==null){var we=X.retryLane;X.retryLane=we!==0&&we=Bo&&pt>=Dr&&qe<=Ii&&Zt<=Ji){X.splice(K,1);break}else if(ke!==Bo||we.width!==Kn.width||JiZt){if(!(pt!==Dr||we.height!==Kn.height||Iiqe)){Bo>ke&&(Kn.width+=Bo-ke,Kn.x=ke),Iipt&&(Kn.height+=Dr-pt,Kn.y=pt),Jiwe&&(we=Zt)),ZtM3&&(K.flags|=128,ke=!0,G0(Ke,!1),K.lanes=4194304)}else{if(!ke)if(X=Qn(pt),X!==null){if(K.flags|=128,ke=!0,X=X.updateQueue,X!==null&&(K.updateQueue=X,K.flags|=4),G0(Ke,!0),Ke.tail===null&&Ke.tailMode==="hidden"&&!pt.alternate&&!yl)return fr(K),null}else 2*di()-Ke.renderingStartTime>M3&&we!==1073741824&&(K.flags|=128,ke=!0,G0(Ke,!1),K.lanes=4194304);Ke.isBackwards?(pt.sibling=K.child,K.child=pt):(X=Ke.last,X!==null?X.sibling=pt:K.child=pt,Ke.last=pt)}return Ke.tail!==null?(K=Ke.tail,Ke.rendering=K,Ke.tail=K.sibling,Ke.renderingStartTime=di(),K.sibling=null,X=An.current,Un(An,ke?X&1|2:X&1),K):(fr(K),null);case 22:case 23:return E3(),ke=K.memoizedState!==null,X!==null&&X.memoizedState!==null!==ke&&(K.flags|=8192),ke&&K.mode&1?Su&1073741824&&(fr(K),le&&K.subtreeFlags&6&&(K.flags|=8192)):fr(K),null;case 24:return null;case 25:return null}throw Error(a(156,K.tag))}var cS=l.ReactCurrentOwner,Ld=!1;function ks(X,K,we,ke){K.child=X===null?$7(K,null,we,ke):kd(K,X.child,we,ke)}function uS(X,K,we,ke,Ke){we=we.render;var pt=K.ref;return vn(K,Ke),ke=La(X,K,we,ke,pt,Ke),we=w3(),X!==null&&!Ld?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~Ke,Hc(X,K,Ke)):(yl&&we&&p3(K),K.flags|=1,ks(X,K,ke,Ke),K.child)}function dS(X,K,we,ke,Ke){if(X===null){var pt=we.type;return typeof pt=="function"&&!Dh(pt)&&pt.defaultProps===void 0&&we.compare===null&&we.defaultProps===void 0?(K.tag=15,K.type=pt,DA(X,K,pt,ke,Ke)):(X=Iy(we.type,null,ke,K,K.mode,Ke),X.ref=K.ref,X.return=K,K.child=X)}if(pt=X.child,!(X.lanes&Ke)){var Zt=pt.memoizedProps;if(we=we.compare,we=we!==null?we:pn,we(Zt,ke)&&X.ref===K.ref)return Hc(X,K,Ke)}return K.flags|=1,X=jd(pt,ke),X.ref=K.ref,X.return=K,K.child=X}function DA(X,K,we,ke,Ke){if(X!==null&&pn(X.memoizedProps,ke)&&X.ref===K.ref)if(Ld=!1,(X.lanes&Ke)!==0)X.flags&131072&&(Ld=!0);else return K.lanes=X.lanes,Hc(X,K,Ke);return Ih(X,K,we,ke,Ke)}function o8(X,K,we){var ke=K.pendingProps,Ke=ke.children,pt=X!==null?X.memoizedState:null;if(ke.mode==="hidden")if(!(K.mode&1))K.memoizedState={baseLanes:0,cachePool:null},Un(Ud,Su),Su|=we;else if(we&1073741824)K.memoizedState={baseLanes:0,cachePool:null},ke=pt!==null?pt.baseLanes:we,Un(Ud,Su),Su|=ke;else return X=pt!==null?pt.baseLanes|we:we,K.lanes=K.childLanes=1073741824,K.memoizedState={baseLanes:X,cachePool:null},K.updateQueue=null,Un(Ud,Su),Su|=X,null;else pt!==null?(ke=pt.baseLanes|we,K.memoizedState=null):ke=we,Un(Ud,Su),Su|=ke;return ks(X,K,Ke,we),K.child}function i8(X,K){var we=K.ref;(X===null&&we!==null||X!==null&&X.ref!==we)&&(K.flags|=512,K.flags|=2097152)}function Ih(X,K,we,ke,Ke){var pt=eo(we)?si:vo.current;return pt=po(K,pt),vn(K,Ke),we=La(X,K,we,ke,pt,Ke),ke=w3(),X!==null&&!Ld?(K.updateQueue=X.updateQueue,K.flags&=-2053,X.lanes&=~Ke,Hc(X,K,Ke)):(yl&&ke&&p3(K),K.flags|=1,ks(X,K,we,Ke),K.child)}function fS(X,K,we,ke,Ke){if(eo(we)){var pt=!0;vi(K)}else pt=!1;if(vn(K,Ke),K.stateNode===null)X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),qu(K,we,ke),Ol(K,we,ke,Ke),ke=!0;else if(X===null){var Zt=K.stateNode,xn=K.memoizedProps;Zt.props=xn;var Kn=Zt.context,Bo=we.contextType;typeof Bo=="object"&&Bo!==null?Bo=kn(Bo):(Bo=eo(we)?si:vo.current,Bo=po(K,Bo));var Ii=we.getDerivedStateFromProps,Dr=typeof Ii=="function"||typeof Zt.getSnapshotBeforeUpdate=="function";Dr||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==ke||Kn!==Bo)&&Hf(K,Zt,ke,Bo),Wn=!1;var Ji=K.memoizedState;Zt.state=Ji,ga(K,ke,Zt,Ke),Kn=K.memoizedState,xn!==ke||Ji!==Kn||Oo.current||Wn?(typeof Ii=="function"&&(Ku(K,we,Ii,ke),Kn=K.memoizedState),(xn=Wn||Rf(K,we,xn,ke,Ji,Kn,Bo))?(Dr||typeof Zt.UNSAFE_componentWillMount!="function"&&typeof Zt.componentWillMount!="function"||(typeof Zt.componentWillMount=="function"&&Zt.componentWillMount(),typeof Zt.UNSAFE_componentWillMount=="function"&&Zt.UNSAFE_componentWillMount()),typeof Zt.componentDidMount=="function"&&(K.flags|=4194308)):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),K.memoizedProps=ke,K.memoizedState=Kn),Zt.props=ke,Zt.state=Kn,Zt.context=Bo,ke=xn):(typeof Zt.componentDidMount=="function"&&(K.flags|=4194308),ke=!1)}else{Zt=K.stateNode,Xn(X,K),xn=K.memoizedProps,Bo=K.type===K.elementType?xn:Ze(K.type,xn),Zt.props=Bo,Dr=K.pendingProps,Ji=Zt.context,Kn=we.contextType,typeof Kn=="object"&&Kn!==null?Kn=kn(Kn):(Kn=eo(we)?si:vo.current,Kn=po(K,Kn));var dl=we.getDerivedStateFromProps;(Ii=typeof dl=="function"||typeof Zt.getSnapshotBeforeUpdate=="function")||typeof Zt.UNSAFE_componentWillReceiveProps!="function"&&typeof Zt.componentWillReceiveProps!="function"||(xn!==Dr||Ji!==Kn)&&Hf(K,Zt,ke,Kn),Wn=!1,Ji=K.memoizedState,Zt.state=Ji,ga(K,ke,Zt,Ke);var Gi=K.memoizedState;xn!==Dr||Ji!==Gi||Oo.current||Wn?(typeof dl=="function"&&(Ku(K,we,dl,ke),Gi=K.memoizedState),(Bo=Wn||Rf(K,we,Bo,ke,Ji,Gi,Kn)||!1)?(Ii||typeof Zt.UNSAFE_componentWillUpdate!="function"&&typeof Zt.componentWillUpdate!="function"||(typeof Zt.componentWillUpdate=="function"&&Zt.componentWillUpdate(ke,Gi,Kn),typeof Zt.UNSAFE_componentWillUpdate=="function"&&Zt.UNSAFE_componentWillUpdate(ke,Gi,Kn)),typeof Zt.componentDidUpdate=="function"&&(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate=="function"&&(K.flags|=1024)):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),K.memoizedProps=ke,K.memoizedState=Gi),Zt.props=ke,Zt.state=Gi,Zt.context=Kn,ke=Bo):(typeof Zt.componentDidUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=4),typeof Zt.getSnapshotBeforeUpdate!="function"||xn===X.memoizedProps&&Ji===X.memoizedState||(K.flags|=1024),ke=!1)}return EA(X,K,we,ke,pt,Ke)}function EA(X,K,we,ke,Ke,pt){i8(X,K);var Zt=(K.flags&128)!==0;if(!ke&&!Zt)return Ke&&Cn(K,we,!1),Hc(X,K,pt);ke=K.stateNode,cS.current=K;var xn=Zt&&typeof we.getDerivedStateFromError!="function"?null:ke.render();return K.flags|=1,X!==null&&Zt?(K.child=kd(K,X.child,null,pt),K.child=kd(K,null,xn,pt)):ks(X,K,xn,pt),K.memoizedState=ke.state,Ke&&Cn(K,we,!0),K.child}function hS(X){var K=X.stateNode;K.pendingContext?qo(X,K.pendingContext,K.pendingContext!==K.context):K.context&&qo(X,K.context,!1),Q7(X,K.containerInfo)}function pS(X,K,we,ke,Ke){return hy(),m3(Ke),K.flags|=256,ks(X,K,we,ke),K.child}var T3={dehydrated:null,treeContext:null,retryLane:0};function xu(X){return{baseLanes:X,cachePool:null}}function r8(X,K,we){var ke=K.pendingProps,Ke=An.current,pt=!1,Zt=(K.flags&128)!==0,xn;if((xn=Zt)||(xn=X!==null&&X.memoizedState===null?!1:(Ke&2)!==0),xn?(pt=!0,K.flags&=-129):(X===null||X.memoizedState!==null)&&(Ke|=1),Un(An,Ke&1),X===null)return fy(K),X=K.memoizedState,X!==null&&(X=X.dehydrated,X!==null)?(K.mode&1?Rt(X)?K.lanes=8:K.lanes=1073741824:K.lanes=1,null):(Ke=ke.children,X=ke.fallback,pt?(ke=K.mode,pt=K.child,Ke={mode:"hidden",children:Ke},!(ke&1)&&pt!==null?(pt.childLanes=0,pt.pendingProps=Ke):pt=zy(Ke,ke,0,null),X=nm(X,ke,we,null),pt.return=K,X.return=K,pt.sibling=X,K.child=pt,K.child.memoizedState=xu(we),K.memoizedState=T3,X):kA(K,Ke));if(Ke=X.memoizedState,Ke!==null){if(xn=Ke.dehydrated,xn!==null){if(Zt)return K.flags&256?(K.flags&=-257,LA(X,K,we,Error(a(422)))):K.memoizedState!==null?(K.child=X.child,K.flags|=128,null):(pt=ke.fallback,Ke=K.mode,ke=zy({mode:"visible",children:ke.children},Ke,0,null),pt=nm(pt,Ke,we,null),pt.flags|=2,ke.return=K,pt.return=K,ke.sibling=pt,K.child=ke,K.mode&1&&kd(K,X.child,null,we),K.child.memoizedState=xu(we),K.memoizedState=T3,pt);if(!(K.mode&1))K=LA(X,K,we,null);else if(Rt(xn))K=LA(X,K,we,Error(a(419)));else if(ke=(we&X.childLanes)!==0,Ld||ke){if(ke=Ic,ke!==null){switch(we&-we){case 4:pt=2;break;case 16:pt=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:pt=32;break;case 536870912:pt=268435456;break;default:pt=0}ke=pt&(ke.suspendedLanes|we)?0:pt,ke!==0&&ke!==Ke.retryLane&&(Ke.retryLane=ke,rd(X,ke,-1))}M5(),K=LA(X,K,we,Error(a(421)))}else Tt(xn)?(K.flags|=128,K.child=X.child,K=T1.bind(null,X),Wt(xn,K),K=null):(we=Ke.treeContext,he&&($s=qe(xn),zs=K,yl=!0,el=null,Ug=!1,we!==null&&(Gc[yu++]=h1,Gc[yu++]=O0,Gc[yu++]=f1,h1=we.id,O0=we.overflow,f1=K)),K=kA(K,K.pendingProps.children),K.flags|=4096);return K}return pt?(ke=a8(X,K,ke.children,ke.fallback,we),pt=K.child,Ke=X.child.memoizedState,pt.memoizedState=Ke===null?xu(we):{baseLanes:Ke.baseLanes|we,cachePool:null},pt.childLanes=X.childLanes&~we,K.memoizedState=T3,ke):(we=FA(X,K,ke.children,we),K.memoizedState=null,we)}return pt?(ke=a8(X,K,ke.children,ke.fallback,we),pt=K.child,Ke=X.child.memoizedState,pt.memoizedState=Ke===null?xu(we):{baseLanes:Ke.baseLanes|we,cachePool:null},pt.childLanes=X.childLanes&~we,K.memoizedState=T3,ke):(we=FA(X,K,ke.children,we),K.memoizedState=null,we)}function kA(X,K){return K=zy({mode:"visible",children:K},X.mode,0,null),K.return=X,X.child=K}function FA(X,K,we,ke){var Ke=X.child;return X=Ke.sibling,we=jd(Ke,{mode:"visible",children:we}),!(K.mode&1)&&(we.lanes=ke),we.return=K,we.sibling=null,X!==null&&(ke=K.deletions,ke===null?(K.deletions=[X],K.flags|=16):ke.push(X)),K.child=we}function a8(X,K,we,ke,Ke){var pt=K.mode;X=X.child;var Zt=X.sibling,xn={mode:"hidden",children:we};return!(pt&1)&&K.child!==X?(we=K.child,we.childLanes=0,we.pendingProps=xn,K.deletions=null):(we=jd(X,xn),we.subtreeFlags=X.subtreeFlags&14680064),Zt!==null?ke=jd(Zt,ke):(ke=nm(ke,pt,Ke,null),ke.flags|=2),ke.return=K,we.return=K,we.sibling=ke,K.child=we,ke}function LA(X,K,we,ke){return ke!==null&&m3(ke),kd(K,X.child,null,we),X=kA(K,K.pendingProps.children),X.flags|=2,K.memoizedState=null,X}function A1(X,K,we){X.lanes|=K;var ke=X.alternate;ke!==null&&(ke.lanes|=K),mn(X.return,K,we)}function WA(X,K,we,ke,Ke){var pt=X.memoizedState;pt===null?X.memoizedState={isBackwards:K,rendering:null,renderingStartTime:0,last:ke,tail:we,tailMode:Ke}:(pt.isBackwards=K,pt.rendering=null,pt.renderingStartTime=0,pt.last=ke,pt.tail=we,pt.tailMode=Ke)}function l8(X,K,we){var ke=K.pendingProps,Ke=ke.revealOrder,pt=ke.tail;if(ks(X,K,ke.children,we),ke=An.current,ke&2)ke=ke&1|2,K.flags|=128;else{if(X!==null&&X.flags&128)e:for(X=K.child;X!==null;){if(X.tag===13)X.memoizedState!==null&&A1(X,we,K);else if(X.tag===19)A1(X,we,K);else if(X.child!==null){X.child.return=X,X=X.child;continue}if(X===K)break e;for(;X.sibling===null;){if(X.return===null||X.return===K)break e;X=X.return}X.sibling.return=X.return,X=X.sibling}ke&=1}if(Un(An,ke),!(K.mode&1))K.memoizedState=null;else switch(Ke){case"forwards":for(we=K.child,Ke=null;we!==null;)X=we.alternate,X!==null&&Qn(X)===null&&(Ke=we),we=we.sibling;we=Ke,we===null?(Ke=K.child,K.child=null):(Ke=we.sibling,we.sibling=null),WA(K,!1,Ke,we,pt);break;case"backwards":for(we=null,Ke=K.child,K.child=null;Ke!==null;){if(X=Ke.alternate,X!==null&&Qn(X)===null){K.child=Ke;break}X=Ke.sibling,Ke.sibling=we,we=Ke,Ke=X}WA(K,!0,we,null,pt);break;case"together":WA(K,!1,null,null,void 0);break;default:K.memoizedState=null}return K.child}function Hc(X,K,we){if(X!==null&&(K.dependencies=X.dependencies),id|=K.lanes,!(we&K.childLanes))return null;if(X!==null&&K.child!==X.child)throw Error(a(153));if(K.child!==null){for(X=K.child,we=jd(X,X.pendingProps),K.child=we,we.return=K;X.sibling!==null;)X=X.sibling,we=we.sibling=jd(X,X.pendingProps),we.return=K;we.sibling=null}return K.child}function NA(X,K,we){switch(K.tag){case 3:hS(K),hy();break;case 5:lS(K);break;case 1:eo(K.type)&&vi(K);break;case 4:Q7(K,K.stateNode.containerInfo);break;case 10:an(K,K.type._context,K.memoizedProps.value);break;case 13:var ke=K.memoizedState;if(ke!==null)return ke.dehydrated!==null?(Un(An,An.current&1),K.flags|=128,null):we&K.child.childLanes?r8(X,K,we):(Un(An,An.current&1),X=Hc(X,K,we),X!==null?X.sibling:null);Un(An,An.current&1);break;case 19:if(ke=(we&K.childLanes)!==0,X.flags&128){if(ke)return l8(X,K,we);K.flags|=128}var Ke=K.memoizedState;if(Ke!==null&&(Ke.rendering=null,Ke.tail=null,Ke.lastEffect=null),Un(An,An.current),ke)break;return null;case 22:case 23:return K.lanes=0,o8(X,K,we)}return Hc(X,K,we)}function HM(X,K){switch(Au(K),K.tag){case 1:return eo(K.type)&&uo(),X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 3:return my(),Tn(Oo),Tn(vo),bi(),X=K.flags,X&65536&&!(X&128)?(K.flags=X&-65537|128,K):null;case 5:return Ap(K),null;case 13:if(Tn(An),X=K.memoizedState,X!==null&&X.dehydrated!==null){if(K.alternate===null)throw Error(a(340));hy()}return X=K.flags,X&65536?(K.flags=X&-65537|128,K):null;case 19:return Tn(An),null;case 4:return my(),null;case 10:return gn(K.type._context),null;case 22:case 23:return E3(),null;case 24:return null;default:return null}}var Vg=!1,wy=!1,MM=typeof WeakSet=="function"?WeakSet:Set,mi=null;function Gg(X,K){var we=X.ref;if(we!==null)if(typeof we=="function")try{we(null)}catch(ke){K0(X,K,ke)}else we.current=null}function v5(X,K,we){try{we()}catch(ke){K0(X,K,ke)}}var s8=!1;function UA(X,K){for(B(X.containerInfo),mi=K;mi!==null;)if(X=mi,K=X.child,(X.subtreeFlags&1028)!==0&&K!==null)K.return=X,mi=K;else for(;mi!==null;){X=mi;try{var we=X.alternate;if(X.flags&1024)switch(X.tag){case 0:case 11:case 15:break;case 1:if(we!==null){var ke=we.memoizedProps,Ke=we.memoizedState,pt=X.stateNode,Zt=pt.getSnapshotBeforeUpdate(X.elementType===X.type?ke:Ze(X.type,ke),Ke);pt.__reactInternalSnapshotBeforeUpdate=Zt}break;case 3:le&&xt(X.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(xn){K0(X,X.return,xn)}if(K=X.sibling,K!==null){K.return=X.return,mi=K;break}mi=X.return}return we=s8,s8=!1,we}function td(X,K,we){var ke=K.updateQueue;if(ke=ke!==null?ke.lastEffect:null,ke!==null){var Ke=ke=ke.next;do{if((Ke.tag&X)===X){var pt=Ke.destroy;Ke.destroy=void 0,pt!==void 0&&v5(K,we,pt)}Ke=Ke.next}while(Ke!==ke)}}function vp(X,K){if(K=K.updateQueue,K=K!==null?K.lastEffect:null,K!==null){var we=K=K.next;do{if((we.tag&X)===X){var ke=we.create;we.destroy=ke()}we=we.next}while(we!==K)}}function P3(X){var K=X.ref;if(K!==null){var we=X.stateNode;switch(X.tag){case 5:X=E(we);break;default:X=we}typeof K=="function"?K(X):K.current=X}}function BA(X,K,we){if(qs&&typeof qs.onCommitFiberUnmount=="function")try{qs.onCommitFiberUnmount(Is,K)}catch{}switch(K.tag){case 0:case 11:case 14:case 15:if(X=K.updateQueue,X!==null&&(X=X.lastEffect,X!==null)){var ke=X=X.next;do{var Ke=ke,pt=Ke.destroy;Ke=Ke.tag,pt!==void 0&&(Ke&2||Ke&4)&&v5(K,we,pt),ke=ke.next}while(ke!==X)}break;case 1:if(Gg(K,we),X=K.stateNode,typeof X.componentWillUnmount=="function")try{X.props=K.memoizedProps,X.state=K.memoizedState,X.componentWillUnmount()}catch(Zt){K0(K,we,Zt)}break;case 5:Gg(K,we);break;case 4:le?OA(X,K,we):te&&te&&(K=K.stateNode.containerInfo,we=Qe(K),at(K,we))}}function jA(X,K,we){for(var ke=K;;)if(BA(X,ke,we),ke.child===null||le&&ke.tag===4){if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return}ke.sibling.return=ke.return,ke=ke.sibling}else ke.child.return=ke,ke=ke.child}function zh(X){var K=X.alternate;K!==null&&(X.alternate=null,zh(K)),X.child=null,X.deletions=null,X.sibling=null,X.tag===5&&(K=X.stateNode,K!==null&&de(K)),X.stateNode=null,X.return=null,X.dependencies=null,X.memoizedProps=null,X.memoizedState=null,X.pendingProps=null,X.stateNode=null,X.updateQueue=null}function x5(X){return X.tag===5||X.tag===3||X.tag===4}function w0(X){e:for(;;){for(;X.sibling===null;){if(X.return===null||x5(X.return))return null;X=X.return}for(X.sibling.return=X.return,X=X.sibling;X.tag!==5&&X.tag!==6&&X.tag!==18;){if(X.flags&2||X.child===null||X.tag===4)continue e;X.child.return=X,X=X.child}if(!(X.flags&2))return X.stateNode}}function nd(X){if(le){e:{for(var K=X.return;K!==null;){if(x5(K))break e;K=K.return}throw Error(a(160))}var we=K;switch(we.tag){case 5:K=we.stateNode,we.flags&32&&(Ee(K),we.flags&=-33),we=w0(X),C3(X,we,K);break;case 3:case 4:K=we.stateNode.containerInfo,we=w0(X),YA(X,we,K);break;default:throw Error(a(161))}}}function YA(X,K,we){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Le(we,X,K):Me(we,X);else if(ke!==4&&(X=X.child,X!==null))for(YA(X,K,we),X=X.sibling;X!==null;)YA(X,K,we),X=X.sibling}function C3(X,K,we){var ke=X.tag;if(ke===5||ke===6)X=X.stateNode,K?Ye(we,X,K):Pe(we,X);else if(ke!==4&&(X=X.child,X!==null))for(C3(X,K,we),X=X.sibling;X!==null;)C3(X,K,we),X=X.sibling}function OA(X,K,we){for(var ke=K,Ke=!1,pt,Zt;;){if(!Ke){Ke=ke.return;e:for(;;){if(Ke===null)throw Error(a(160));switch(pt=Ke.stateNode,Ke.tag){case 5:Zt=!1;break e;case 3:pt=pt.containerInfo,Zt=!0;break e;case 4:pt=pt.containerInfo,Zt=!0;break e}Ke=Ke.return}Ke=!0}if(ke.tag===5||ke.tag===6)jA(X,ke,we),Zt?We(pt,ke.stateNode):$e(pt,ke.stateNode);else if(ke.tag===18)Zt?je(pt,ke.stateNode):ut(pt,ke.stateNode);else if(ke.tag===4){if(ke.child!==null){pt=ke.stateNode.containerInfo,Zt=!0,ke.child.return=ke,ke=ke.child;continue}}else if(BA(X,ke,we),ke.child!==null){ke.child.return=ke,ke=ke.child;continue}if(ke===K)break;for(;ke.sibling===null;){if(ke.return===null||ke.return===K)return;ke=ke.return,ke.tag===4&&(Ke=!1)}ke.sibling.return=ke.return,ke=ke.sibling}}function Xg(X,K){if(le){switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 1:return;case 5:var we=K.stateNode;if(we!=null){var ke=K.memoizedProps;X=X!==null?X.memoizedProps:ke;var Ke=K.type,pt=K.updateQueue;K.updateQueue=null,pt!==null&&Ne(we,pt,Ke,X,ke,K)}return;case 6:if(K.stateNode===null)throw Error(a(162));we=K.memoizedProps,Te(K.stateNode,X!==null?X.memoizedProps:we,we);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&<(K.stateNode.containerInfo);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 17:return}throw Error(a(163))}switch(K.tag){case 0:case 11:case 14:case 15:td(3,K,K.return),vp(3,K),td(5,K,K.return);return;case 12:return;case 13:od(K);return;case 19:od(K);return;case 3:he&&X!==null&&X.memoizedState.isDehydrated&<(K.stateNode.containerInfo);break;case 22:case 23:return}e:if(te){switch(K.tag){case 1:case 5:case 6:break e;case 3:case 4:K=K.stateNode,at(K.containerInfo,K.pendingChildren);break e}throw Error(a(163))}}function od(X){var K=X.updateQueue;if(K!==null){X.updateQueue=null;var we=X.stateNode;we===null&&(we=X.stateNode=new MM),K.forEach(function(ke){var Ke=k3.bind(null,X,ke);we.has(ke)||(we.add(ke),ke.then(Ke,Ke))})}}function b5(X,K){for(mi=K;mi!==null;){K=mi;var we=K.deletions;if(we!==null)for(var ke=0;ke";case Wd:return":has("+(P5(X)||"")+")";case bu:return'[role="'+X.value+'"]';case Nd:return'"'+X.value+'"';case T5:return'[data-testname="'+X.value+'"]';default:throw Error(a(365))}}function Jg(X,K){var we=[];X=[X,0];for(var ke=0;keKe&&(Ke=Zt),ke&=~pt}if(ke=Ke,ke=di()-ke,ke=(120>ke?120:480>ke?480:1080>ke?1080:1920>ke?1920:3e3>ke?3e3:4320>ke?4320:1960*xy(ke/1960))-ke,10X?16:X,Bd===null)var ke=!1;else{if(X=Bd,Bd=null,R5=0,Cr&6)throw Error(a(331));var Ke=Cr;for(Cr|=4,mi=X.current;mi!==null;){var pt=mi,Zt=pt.child;if(mi.flags&16){var xn=pt.deletions;if(xn!==null){for(var Kn=0;Kndi()-GA?ec(X,0):H3|=we),Qi(X,K)}function d8(X,K){K===0&&(X.mode&1?(K=bo,bo<<=1,!(bo&130023424)&&(bo=4194304)):K=1);var we=v0();X=$g(X,K),X!==null&&(Qo(X,K,we),Qi(X,we))}function T1(X){var K=X.memoizedState,we=0;K!==null&&(we=K.retryLane),d8(X,we)}function k3(X,K){var we=0;switch(X.tag){case 13:var ke=X.stateNode,Ke=X.memoizedState;Ke!==null&&(we=Ke.retryLane);break;case 19:ke=X.stateNode;break;default:throw Error(a(314))}ke!==null&&ke.delete(K),d8(X,we)}var KA;KA=function(X,K,we){if(X!==null)if(X.memoizedProps!==K.pendingProps||Oo.current)Ld=!0;else{if(!(X.lanes&we)&&!(K.flags&128))return Ld=!1,NA(X,K,we);Ld=!!(X.flags&131072)}else Ld=!1,yl&&K.flags&1048576&&Ng(K,dy,K.index);switch(K.lanes=0,K.tag){case 2:var ke=K.type;X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps;var Ke=po(K,vo.current);vn(K,we),Ke=La(null,K,ke,X,Ke,we);var pt=w3();return K.flags|=1,typeof Ke=="object"&&Ke!==null&&typeof Ke.render=="function"&&Ke.$$typeof===void 0?(K.tag=1,K.memoizedState=null,K.updateQueue=null,eo(ke)?(pt=!0,vi(K)):pt=!1,K.memoizedState=Ke.state!==null&&Ke.state!==void 0?Ke.state:null,qn(K),Ke.updater=Th,K.stateNode=Ke,Ke._reactInternals=K,Ol(K,ke,X,we),K=EA(null,K,ke,!0,pt,we)):(K.tag=0,yl&&pt&&p3(K),ks(null,K,Ke,we),K=K.child),K;case 16:ke=K.elementType;e:{switch(X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),X=K.pendingProps,Ke=ke._init,ke=Ke(ke._payload),K.type=ke,Ke=K.tag=tm(ke),X=Ze(ke,X),Ke){case 0:K=Ih(null,K,ke,X,we);break e;case 1:K=fS(null,K,ke,X,we);break e;case 11:K=uS(null,K,ke,X,we);break e;case 14:K=dS(null,K,ke,Ze(ke.type,X),we);break e}throw Error(a(306,ke,""))}return K;case 0:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:Ze(ke,Ke),Ih(X,K,ke,Ke,we);case 1:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:Ze(ke,Ke),fS(X,K,ke,Ke,we);case 3:e:{if(hS(K),X===null)throw Error(a(387));ke=K.pendingProps,pt=K.memoizedState,Ke=pt.element,Xn(X,K),ga(K,ke,null,we);var Zt=K.memoizedState;if(ke=Zt.element,he&&pt.isDehydrated)if(pt={element:ke,isDehydrated:!1,cache:Zt.cache,transitions:Zt.transitions},K.updateQueue.baseState=pt,K.memoizedState=pt,K.flags&256){Ke=Error(a(423)),K=pS(X,K,ke,we,Ke);break e}else if(ke!==Ke){Ke=Error(a(424)),K=pS(X,K,ke,we,Ke);break e}else for(he&&($s=kt(K.stateNode.containerInfo),zs=K,yl=!0,el=null,Ug=!1),we=$7(K,null,ke,we),K.child=we;we;)we.flags=we.flags&-3|4096,we=we.sibling;else{if(hy(),ke===Ke){K=Hc(X,K,we);break e}ks(X,K,ke,we)}K=K.child}return K;case 5:return lS(K),X===null&&fy(K),ke=K.type,Ke=K.pendingProps,pt=X!==null?X.memoizedProps:null,Zt=Ke.children,ie(ke,Ke)?Zt=null:pt!==null&&ie(ke,pt)&&(K.flags|=32),i8(X,K),ks(X,K,Zt,we),K.child;case 6:return X===null&&fy(K),null;case 13:return r8(X,K,we);case 4:return Q7(K,K.stateNode.containerInfo),ke=K.pendingProps,X===null?K.child=kd(K,null,ke,we):ks(X,K,ke,we),K.child;case 11:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:Ze(ke,Ke),uS(X,K,ke,Ke,we);case 7:return ks(X,K,K.pendingProps,we),K.child;case 8:return ks(X,K,K.pendingProps.children,we),K.child;case 12:return ks(X,K,K.pendingProps.children,we),K.child;case 10:e:{if(ke=K.type._context,Ke=K.pendingProps,pt=K.memoizedProps,Zt=Ke.value,an(K,ke,Zt),pt!==null)if(Wl(pt.value,Zt)){if(pt.children===Ke.children&&!Oo.current){K=Hc(X,K,we);break e}}else for(pt=K.child,pt!==null&&(pt.return=K);pt!==null;){var xn=pt.dependencies;if(xn!==null){Zt=pt.child;for(var Kn=xn.firstContext;Kn!==null;){if(Kn.context===ke){if(pt.tag===1){Kn=Jo(-1,we&-we),Kn.tag=2;var Bo=pt.updateQueue;if(Bo!==null){Bo=Bo.shared;var Ii=Bo.pending;Ii===null?Kn.next=Kn:(Kn.next=Ii.next,Ii.next=Kn),Bo.pending=Kn}}pt.lanes|=we,Kn=pt.alternate,Kn!==null&&(Kn.lanes|=we),mn(pt.return,we,K),xn.lanes|=we;break}Kn=Kn.next}}else if(pt.tag===10)Zt=pt.type===K.type?null:pt.child;else if(pt.tag===18){if(Zt=pt.return,Zt===null)throw Error(a(341));Zt.lanes|=we,xn=Zt.alternate,xn!==null&&(xn.lanes|=we),mn(Zt,we,K),Zt=pt.sibling}else Zt=pt.child;if(Zt!==null)Zt.return=pt;else for(Zt=pt;Zt!==null;){if(Zt===K){Zt=null;break}if(pt=Zt.sibling,pt!==null){pt.return=Zt.return,Zt=pt;break}Zt=Zt.return}pt=Zt}ks(X,K,Ke.children,we),K=K.child}return K;case 9:return Ke=K.type,ke=K.pendingProps.children,vn(K,we),Ke=kn(Ke),ke=ke(Ke),K.flags|=1,ks(X,K,ke,we),K.child;case 14:return ke=K.type,Ke=Ze(ke,K.pendingProps),Ke=Ze(ke.type,Ke),dS(X,K,ke,Ke,we);case 15:return DA(X,K,K.type,K.pendingProps,we);case 17:return ke=K.type,Ke=K.pendingProps,Ke=K.elementType===ke?Ke:Ze(ke,Ke),X!==null&&(X.alternate=null,K.alternate=null,K.flags|=2),K.tag=1,eo(ke)?(X=!0,vi(K)):X=!1,vn(K,we),qu(K,ke,Ke),Ol(K,ke,Ke,we),EA(null,K,ke,!0,X,we);case 19:return l8(X,K,we);case 22:return o8(X,K,we)}throw Error(a(156,K.tag))};function em(X,K){return Mo(X,K)}function qA(X,K,we,ke){this.tag=X,this.key=we,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=K,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=ke,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kf(X,K,we,ke){return new qA(X,K,we,ke)}function Dh(X){return X=X.prototype,!(!X||!X.isReactComponent)}function tm(X){if(typeof X=="function")return Dh(X)?1:0;if(X!=null){if(X=X.$$typeof,X===A)return 11;if(X===C)return 14}return 2}function jd(X,K){var we=X.alternate;return we===null?(we=kf(X.tag,K,X.key,X.mode),we.elementType=X.elementType,we.type=X.type,we.stateNode=X.stateNode,we.alternate=X,X.alternate=we):(we.pendingProps=K,we.type=X.type,we.flags=0,we.subtreeFlags=0,we.deletions=null),we.flags=X.flags&14680064,we.childLanes=X.childLanes,we.lanes=X.lanes,we.child=X.child,we.memoizedProps=X.memoizedProps,we.memoizedState=X.memoizedState,we.updateQueue=X.updateQueue,K=X.dependencies,we.dependencies=K===null?null:{lanes:K.lanes,firstContext:K.firstContext},we.sibling=X.sibling,we.index=X.index,we.ref=X.ref,we}function Iy(X,K,we,ke,Ke,pt){var Zt=2;if(ke=X,typeof X=="function")Dh(X)&&(Zt=1);else if(typeof X=="string")Zt=5;else e:switch(X){case u:return nm(we.children,Ke,pt,K);case d:Zt=8,Ke|=8;break;case f:return X=kf(12,we,K,Ke|2),X.elementType=f,X.lanes=pt,X;case w:return X=kf(13,we,K,Ke),X.elementType=w,X.lanes=pt,X;case b:return X=kf(19,we,K,Ke),X.elementType=b,X.lanes=pt,X;case v:return zy(we,Ke,pt,K);default:if(typeof X=="object"&&X!==null)switch(X.$$typeof){case p:Zt=10;break e;case g:Zt=9;break e;case A:Zt=11;break e;case C:Zt=14;break e;case P:Zt=16,ke=null;break e}throw Error(a(130,X==null?X:typeof X,""))}return K=kf(Zt,we,K,Ke),K.elementType=X,K.type=ke,K.lanes=pt,K}function nm(X,K,we,ke){return X=kf(7,X,ke,K),X.lanes=we,X}function zy(X,K,we,ke){return X=kf(22,X,ke,K),X.elementType=v,X.lanes=we,X.stateNode={},X}function b0(X,K,we){return X=kf(6,X,null,K),X.lanes=we,X}function Yd(X,K,we){return K=kf(4,X.children!==null?X.children:[],X.key,K),K.lanes=we,K.stateNode={containerInfo:X.containerInfo,pendingChildren:null,implementation:X.implementation},K}function $A(X,K,we,ke,Ke){this.tag=K,this.containerInfo=X,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ne,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_i(0),this.expirationTimes=_i(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_i(0),this.identifierPrefix=ke,this.onRecoverableError=Ke,he&&(this.mutableSourceEagerHydrationData=null)}function z5(X,K,we,ke,Ke,pt,Zt,xn,Kn){return X=new $A(X,K,we,xn,Kn),K===1?(K=1,pt===!0&&(K|=8)):K=0,pt=kf(3,null,null,K),X.current=pt,pt.stateNode=X,pt.memoizedState={element:ke,isDehydrated:we,cache:null,transitions:null},qn(pt),X}function D5(X){if(!X)return Ai;X=X._reactInternals;e:{if(R(X)!==X||X.tag!==1)throw Error(a(170));var K=X;do{switch(K.tag){case 3:K=K.stateNode.context;break e;case 1:if(eo(K.type)){K=K.stateNode.__reactInternalMemoizedMergedChildContext;break e}}K=K.return}while(K!==null);throw Error(a(171))}if(X.tag===1){var we=X.type;if(eo(we))return Hi(X,we,K)}return K}function Sp(X){var K=X._reactInternals;if(K===void 0)throw typeof X.render=="function"?Error(a(188)):(X=Object.keys(X).join(","),Error(a(268,X)));return X=k(K),X===null?null:X.stateNode}function F3(X,K){if(X=X.memoizedState,X!==null&&X.dehydrated!==null){var we=X.retryLane;X.retryLane=we!==0&&we=Bo&&pt>=Dr&&Ke<=Ii&&Zt<=Ji){X.splice(K,1);break}else if(ke!==Bo||we.width!==Kn.width||JiZt){if(!(pt!==Dr||we.height!==Kn.height||IiKe)){Bo>ke&&(Kn.width+=Bo-ke,Kn.x=ke),Iipt&&(Kn.height+=Dr-pt,Kn.y=pt),Jiwe&&(we=Zt)),Zt ")+` No matching component was found for: - `)+X.join(" > ")}return null},n.getPublicRootInstance=function(X){if(X=X.current,!X.child)return null;switch(X.child.tag){case 5:return E(X.child.stateNode);default:return X.child.stateNode}},n.injectIntoDevTools=function(X){if(X={bundleType:X.bundleType,version:X.version,rendererPackageName:X.rendererPackageName,rendererConfig:X.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:l.ReactCurrentDispatcher,findHostInstanceByFiber:IM,findFiberByHostInstance:X.findFiberByHostInstance||L3,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")X=!1;else{var K=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(K.isDisabled||!K.supportsFiber)X=!0;else{try{Is=K.inject(X),qs=K}catch{}X=!!K.checkDCE}}return X},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(X,K,we,ke){if(!ve)throw Error(a(363));X=VA(X,K);var qe=me(X,we,ke).disconnect;return{disconnect:function(){qe()}}},n.registerMutableSourceForHydration=function(X,K){var we=K._getVersion;we=we(K._source),X.mutableSourceEagerHydrationData==null?X.mutableSourceEagerHydrationData=[K,we]:X.mutableSourceEagerHydrationData.push(K,we)},n.runWithPriority=function(X,K){var we=$o;try{return $o=X,K()}finally{$o=we}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(X,K,we,ke){var qe=K.current,pt=v0(),Zt=Df(qe);return we=D5(we),K.context===null?K.context=we:K.pendingContext=we,K=Jo(pt,Zt),K.payload={element:X},ke=ke===void 0?null:ke,ke!==null&&(K.callback=ke),lr(qe,K),X=rd(qe,Zt,pt),X!==null&&Kr(X,qe,Zt),Zt},n};PNe.exports=r9t;var a9t=PNe.exports;const l9t=kr(a9t),s9t=t=>typeof t=="object"&&typeof t.then=="function",Iv=[];function HNe(t,e,n=(o,i)=>o===i){if(t===e)return!0;if(!t||!e)return!1;const o=t.length;if(e.length!==o)return!1;for(let i=0;i0&&(r.timeout&&clearTimeout(r.timeout),r.timeout=setTimeout(r.remove,o.lifespan)),r.response;if(!n)throw r.promise}const i={keys:e,equal:o.equal,remove:()=>{const r=Iv.indexOf(i);r!==-1&&Iv.splice(r,1)},promise:(s9t(t)?t:t(...e)).then(r=>{i.response=r,o.lifespan&&o.lifespan>0&&(i.timeout=setTimeout(i.remove,o.lifespan))}).catch(r=>i.error=r)};if(Iv.push(i),!n)throw i.promise}const INe=(t,e,n)=>MNe(t,e,!1,n),c9t=(t,e,n)=>void MNe(t,e,!0,n),u9t=t=>{if(t===void 0||t.length===0)Iv.splice(0,Iv.length);else{const e=Iv.find(n=>HNe(t,n.keys,n.equal));e&&e.remove()}},D1e={},yb=t=>void Object.assign(D1e,t);function d9t(t,e){function n(u,{args:d=[],attach:f,...p},g){let A=`${u[0].toUpperCase()}${u.slice(1)}`,w;if(u==="primitive"){if(p.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const b=p.object;w=qT(b,{type:u,root:g,attach:f,primitive:!0})}else{const b=D1e[A];if(!b)throw new Error(`R3F: ${A} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(d))throw new Error("R3F: The args prop must be an array!");w=qT(new b(...d),{type:u,root:g,attach:f,memoizedProps:{args:d}})}return w.__r3f.attach===void 0&&(w instanceof Ur?w.__r3f.attach="geometry":w instanceof yf&&(w.__r3f.attach="material")),A!=="inject"&&Loe(w,p),w}function o(u,d){let f=!1;if(d){var p,g;(p=d.__r3f)!=null&&p.attach?Foe(u,d,d.__r3f.attach):d.isObject3D&&u.isObject3D&&(u.add(d),f=!0),f||(g=u.__r3f)==null||g.objects.push(d),d.__r3f||qT(d,{}),d.__r3f.parent=u,oce(d),$T(d)}}function i(u,d,f){let p=!1;if(d){var g,A;if((g=d.__r3f)!=null&&g.attach)Foe(u,d,d.__r3f.attach);else if(d.isObject3D&&u.isObject3D){d.parent=u,d.dispatchEvent({type:"added"});const w=u.children.filter(C=>C!==d),b=w.indexOf(f);u.children=[...w.slice(0,b),d,...w.slice(b)],p=!0}p||(A=u.__r3f)==null||A.objects.push(d),d.__r3f||qT(d,{}),d.__r3f.parent=u,oce(d),$T(d)}}function r(u,d,f=!1){u&&[...u].forEach(p=>a(d,p,f))}function a(u,d,f){if(d){var p,g,A;if(d.__r3f&&(d.__r3f.parent=null),(p=u.__r3f)!=null&&p.objects&&(u.__r3f.objects=u.__r3f.objects.filter(v=>v!==d)),(g=d.__r3f)!=null&&g.attach)pwe(u,d,d.__r3f.attach);else if(d.isObject3D&&u.isObject3D){var w;u.remove(d),(w=d.__r3f)!=null&&w.root&&v9t(d.__r3f.root,d)}const C=(A=d.__r3f)==null?void 0:A.primitive,P=f===void 0?d.dispose!==null&&!C:f;if(!C){var b;r((b=d.__r3f)==null?void 0:b.objects,d,P),r(d.children,d,P)}delete d.__r3f,P&&d.dispose&&d.type!=="Scene"&&tce.unstable_scheduleCallback(tce.unstable_IdlePriority,()=>{try{d.dispose()}catch{}}),$T(u)}}function l(u,d,f,p){var g;const A=(g=u.__r3f)==null?void 0:g.parent;if(!A)return;const w=n(d,f,u.__r3f.root);if(u.children){for(const b of u.children)b.__r3f&&o(w,b);u.children=u.children.filter(b=>!b.__r3f)}u.__r3f.objects.forEach(b=>o(w,b)),u.__r3f.objects=[],u.__r3f.autoRemovedBeforeAppend||a(A,u),w.parent&&(w.__r3f.autoRemovedBeforeAppend=!0),o(A,w),w.raycast&&w.__r3f.eventCount&&w.__r3f.root.getState().internal.interaction.push(w),[p,p.alternate].forEach(b=>{b!==null&&(b.stateNode=w,b.ref&&(typeof b.ref=="function"?b.ref(w):b.ref.current=w))})}const s=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:l9t({createInstance:n,removeChild:a,appendChild:o,appendInitialChild:o,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(u,d)=>{if(!d)return;const f=u.getState().scene;f.__r3f&&(f.__r3f.root=u,o(f,d))},removeChildFromContainer:(u,d)=>{d&&a(u.getState().scene,d)},insertInContainerBefore:(u,d,f)=>{if(!d||!f)return;const p=u.getState().scene;p.__r3f&&i(p,d,f)},getRootHostContext:()=>null,getChildHostContext:u=>u,finalizeInitialChildren(u){var d;return!!((d=u==null?void 0:u.__r3f)!=null?d:{}).handlers},prepareUpdate(u,d,f,p){var g;if(((g=u==null?void 0:u.__r3f)!=null?g:{}).primitive&&p.object&&p.object!==u)return[!0];{const{args:w=[],children:b,...C}=p,{args:P=[],children:v,...T}=f;if(!Array.isArray(w))throw new Error("R3F: the args prop must be an array!");if(w.some((S,x)=>S!==P[x]))return[!0];const y=WNe(u,C,T,!0);return y.changes.length?[!1,y]:null}},commitUpdate(u,[d,f],p,g,A,w){d?l(u,p,A,w):Loe(u,f)},commitMount(u,d,f,p){var g;const A=(g=u.__r3f)!=null?g:{};u.raycast&&A.handlers&&A.eventCount&&u.__r3f.root.getState().internal.interaction.push(u)},getPublicInstance:u=>u,prepareForCommit:()=>null,preparePortalMount:u=>qT(u.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(u){var d;const{attach:f,parent:p}=(d=u.__r3f)!=null?d:{};f&&p&&pwe(p,u,f),u.isObject3D&&(u.visible=!1),$T(u)},unhideInstance(u,d){var f;const{attach:p,parent:g}=(f=u.__r3f)!=null?f:{};p&&g&&Foe(g,u,p),(u.isObject3D&&d.visible==null||d.visible)&&(u.visible=!0),$T(u)},createTextInstance:s,hideTextInstance:s,unhideTextInstance:s,getCurrentEventPriority:()=>e?e():YP.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&dc.fun(performance.now)?performance.now:dc.fun(Date.now)?Date.now:()=>0,scheduleTimeout:dc.fun(setTimeout)?setTimeout:void 0,cancelTimeout:dc.fun(clearTimeout)?clearTimeout:void 0}),applyProps:Loe}}var uwe,dwe;const koe=t=>"colorSpace"in t||"outputColorSpace"in t,zNe=()=>{var t;return(t=D1e.ColorManagement)!=null?t:null},DNe=t=>t&&t.isOrthographicCamera,f9t=t=>t&&t.hasOwnProperty("current"),XL=typeof window<"u"&&((uwe=window.document)!=null&&uwe.createElement||((dwe=window.navigator)==null?void 0:dwe.product)==="ReactNative")?m.useLayoutEffect:m.useEffect;function ENe(t){const e=m.useRef(t);return XL(()=>void(e.current=t),[t]),e}function h9t({set:t}){return XL(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class kNe extends m.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}kNe.getDerivedStateFromError=()=>({error:!0});const FNe="__default",fwe=new Map,p9t=t=>t&&!!t.memoized&&!!t.changes;function LNe(t){var e;const n=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(t)?Math.min(Math.max(t[0],n),t[1]):t}const hz=t=>{var e;return(e=t.__r3f)==null?void 0:e.root.getState()},dc={obj:t=>t===Object(t)&&!dc.arr(t)&&typeof t!="function",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",boo:t=>typeof t=="boolean",und:t=>t===void 0,arr:t=>Array.isArray(t),equ(t,e,{arrays:n="shallow",objects:o="reference",strict:i=!0}={}){if(typeof t!=typeof e||!!t!=!!e)return!1;if(dc.str(t)||dc.num(t))return t===e;const r=dc.obj(t);if(r&&o==="reference")return t===e;const a=dc.arr(t);if(a&&n==="reference")return t===e;if((a||r)&&t===e)return!0;let l;for(l in t)if(!(l in e))return!1;if(r&&n==="shallow"&&o==="shallow"){for(l in i?e:t)if(!dc.equ(t[l],e[l],{strict:i,objects:"reference"}))return!1}else for(l in i?e:t)if(t[l]!==e[l])return!1;if(dc.und(l)){if(a&&t.length===0&&e.length===0||r&&Object.keys(t).length===0&&Object.keys(e).length===0)return!0;if(t!==e)return!1}return!0}};function g9t(t){const e={nodes:{},materials:{}};return t&&t.traverse(n=>{n.name&&(e.nodes[n.name]=n),n.material&&!e.materials[n.material.name]&&(e.materials[n.material.name]=n.material)}),e}function m9t(t){t.dispose&&t.type!=="Scene"&&t.dispose();for(const e in t)e.dispose==null||e.dispose(),delete t[e]}function qT(t,e){const n=t;return n.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},t}function nce(t,e){let n=t;if(e.includes("-")){const o=e.split("-"),i=o.pop();return n=o.reduce((r,a)=>r[a],t),{target:n,key:i}}else return{target:n,key:e}}const hwe=/-\d+$/;function Foe(t,e,n){if(dc.str(n)){if(hwe.test(n)){const r=n.replace(hwe,""),{target:a,key:l}=nce(t,r);Array.isArray(a[l])||(a[l]=[])}const{target:o,key:i}=nce(t,n);e.__r3f.previousAttach=o[i],o[i]=e}else e.__r3f.previousAttach=n(t,e)}function pwe(t,e,n){var o,i;if(dc.str(n)){const{target:r,key:a}=nce(t,n),l=e.__r3f.previousAttach;l===void 0?delete r[a]:r[a]=l}else(o=e.__r3f)==null||o.previousAttach==null||o.previousAttach(t,e);(i=e.__r3f)==null||delete i.previousAttach}function WNe(t,{children:e,key:n,ref:o,...i},{children:r,key:a,ref:l,...s}={},c=!1){var u;const d=(u=t==null?void 0:t.__r3f)!=null?u:{},f=Object.entries(i),p=[];if(c){const A=Object.keys(s);for(let w=0;w{var b;if((b=t.__r3f)!=null&&b.primitive&&A==="object"||dc.equ(w,s[A]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(A))return p.push([A,w,!0,[]]);let C=[];A.includes("-")&&(C=A.split("-")),p.push([A,w,!1,C]);for(const P in i){const v=i[P];P.startsWith(`${A}-`)&&p.push([P,v,!1,P.split("-")])}});const g={...i};return d.memoizedProps&&d.memoizedProps.args&&(g.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(g.attach=d.memoizedProps.attach),{memoized:g,changes:p}}const y9t=typeof process<"u"&&!1;function Loe(t,e){var n,o,i;const r=(n=t.__r3f)!=null?n:{},a=r.root,l=(o=a==null||a.getState==null?void 0:a.getState())!=null?o:{},{memoized:s,changes:c}=p9t(e)?e:WNe(t,e),u=r.eventCount;t.__r3f&&(t.__r3f.memoizedProps=s);for(let f=0;fP[v],t),!(C&&C.set))){const[P,...v]=w.reverse();b=v.reverse().reduce((T,y)=>T[y],t),p=P}if(g===FNe+"remove")if(b.constructor){let P=fwe.get(b.constructor);P||(P=new b.constructor,fwe.set(b.constructor,P)),g=P[p]}else g=0;if(A)g?r.handlers[p]=g:delete r.handlers[p],r.eventCount=Object.keys(r.handlers).length;else if(C&&C.set&&(C.copy||C instanceof ox)){if(Array.isArray(g))C.fromArray?C.fromArray(g):C.set(...g);else if(C.copy&&g&&g.constructor&&(y9t?C.constructor.name===g.constructor.name:C.constructor===g.constructor))C.copy(g);else if(g!==void 0){const P=C instanceof Xo;!P&&C.setScalar?C.setScalar(g):C instanceof ox&&g instanceof ox?C.mask=g.mask:C.set(g),!zNe()&&!l.linear&&P&&C.convertSRGBToLinear()}}else if(b[p]=g,b[p]instanceof _c&&b[p].format===kp&&b[p].type===m9){const P=b[p];koe(P)&&koe(l.gl)?P.colorSpace=l.gl.outputColorSpace:P.encoding=l.gl.outputEncoding}$T(t)}if(r.parent&&l.internal&&t.raycast&&u!==r.eventCount){const f=l.internal.interaction.indexOf(t);f>-1&&l.internal.interaction.splice(f,1),r.eventCount&&l.internal.interaction.push(t)}return!(c.length===1&&c[0][0]==="onUpdate")&&c.length&&(i=t.__r3f)!=null&&i.parent&&oce(t),t}function $T(t){var e,n;const o=(e=t.__r3f)==null||(n=e.root)==null||n.getState==null?void 0:n.getState();o&&o.internal.frames===0&&o.invalidate()}function oce(t){t.onUpdate==null||t.onUpdate(t)}function A9t(t,e){t.manual||(DNe(t)?(t.left=e.width/-2,t.right=e.width/2,t.top=e.height/2,t.bottom=e.height/-2):t.aspect=e.width/e.height,t.updateProjectionMatrix(),t.updateMatrixWorld())}function jj(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instanceId}function w9t(){var t;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return YP.DefaultEventPriority;switch((t=e.event)==null?void 0:t.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return YP.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return YP.ContinuousEventPriority;default:return YP.DefaultEventPriority}}function NNe(t,e,n,o){const i=n.get(e);i&&(n.delete(e),n.size===0&&(t.delete(o),i.target.releasePointerCapture(o)))}function v9t(t,e){const{internal:n}=t.getState();n.interaction=n.interaction.filter(o=>o!==e),n.initialHits=n.initialHits.filter(o=>o!==e),n.hovered.forEach((o,i)=>{(o.eventObject===e||o.object===e)&&n.hovered.delete(i)}),n.capturedMap.forEach((o,i)=>{NNe(n.capturedMap,e,o,i)})}function x9t(t){function e(s){const{internal:c}=t.getState(),u=s.offsetX-c.initialClick[0],d=s.offsetY-c.initialClick[1];return Math.round(Math.sqrt(u*u+d*d))}function n(s){return s.filter(c=>["Move","Over","Enter","Out","Leave"].some(u=>{var d;return(d=c.__r3f)==null?void 0:d.handlers["onPointer"+u]}))}function o(s,c){const u=t.getState(),d=new Set,f=[],p=c?c(u.internal.interaction):u.internal.interaction;for(let b=0;b{const P=hz(b.object),v=hz(C.object);return!P||!v?b.distance-C.distance:v.events.priority-P.events.priority||b.distance-C.distance}).filter(b=>{const C=jj(b);return d.has(C)?!1:(d.add(C),!0)});u.events.filter&&(A=u.events.filter(A,u));for(const b of A){let C=b.object;for(;C;){var w;(w=C.__r3f)!=null&&w.eventCount&&f.push({...b,eventObject:C}),C=C.parent}}if("pointerId"in s&&u.internal.capturedMap.has(s.pointerId))for(let b of u.internal.capturedMap.get(s.pointerId).values())d.has(jj(b.intersection))||f.push(b.intersection);return f}function i(s,c,u,d){const f=t.getState();if(s.length){const p={stopped:!1};for(const g of s){const A=hz(g.object)||f,{raycaster:w,pointer:b,camera:C,internal:P}=A,v=new re(b.x,b.y,0).unproject(C),T=H=>{var D,k;return(D=(k=P.capturedMap.get(H))==null?void 0:k.has(g.eventObject))!=null?D:!1},y=H=>{const D={intersection:g,target:c.target};P.capturedMap.has(H)?P.capturedMap.get(H).set(g.eventObject,D):P.capturedMap.set(H,new Map([[g.eventObject,D]])),c.target.setPointerCapture(H)},S=H=>{const D=P.capturedMap.get(H);D&&NNe(P.capturedMap,g.eventObject,D,H)};let x={};for(let H in c){let D=c[H];typeof D!="function"&&(x[H]=D)}let R={...g,...x,pointer:b,intersections:s,stopped:p.stopped,delta:u,unprojectedPoint:v,ray:w.ray,camera:C,stopPropagation(){const H="pointerId"in c&&P.capturedMap.get(c.pointerId);if((!H||H.has(g.eventObject))&&(R.stopped=p.stopped=!0,P.hovered.size&&Array.from(P.hovered.values()).find(D=>D.eventObject===g.eventObject))){const D=s.slice(0,s.indexOf(g));r([...D,g])}},target:{hasPointerCapture:T,setPointerCapture:y,releasePointerCapture:S},currentTarget:{hasPointerCapture:T,setPointerCapture:y,releasePointerCapture:S},nativeEvent:c};if(d(R),p.stopped===!0)break}}return s}function r(s){const{internal:c}=t.getState();for(const u of c.hovered.values())if(!s.length||!s.find(d=>d.object===u.object&&d.index===u.index&&d.instanceId===u.instanceId)){const f=u.eventObject.__r3f,p=f==null?void 0:f.handlers;if(c.hovered.delete(jj(u)),f!=null&&f.eventCount){const g={...u,intersections:s};p.onPointerOut==null||p.onPointerOut(g),p.onPointerLeave==null||p.onPointerLeave(g)}}}function a(s,c){for(let u=0;ur([]);case"onLostPointerCapture":return c=>{const{internal:u}=t.getState();"pointerId"in c&&u.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{u.capturedMap.has(c.pointerId)&&(u.capturedMap.delete(c.pointerId),r([]))})}}return function(u){const{onPointerMissed:d,internal:f}=t.getState();f.lastEvent.current=u;const p=s==="onPointerMove",g=s==="onClick"||s==="onContextMenu"||s==="onDoubleClick",w=o(u,p?n:void 0),b=g?e(u):0;s==="onPointerDown"&&(f.initialClick=[u.offsetX,u.offsetY],f.initialHits=w.map(P=>P.eventObject)),g&&!w.length&&b<=2&&(a(u,f.interaction),d&&d(u)),p&&r(w);function C(P){const v=P.eventObject,T=v.__r3f,y=T==null?void 0:T.handlers;if(T!=null&&T.eventCount)if(p){if(y.onPointerOver||y.onPointerEnter||y.onPointerOut||y.onPointerLeave){const S=jj(P),x=f.hovered.get(S);x?x.stopped&&P.stopPropagation():(f.hovered.set(S,P),y.onPointerOver==null||y.onPointerOver(P),y.onPointerEnter==null||y.onPointerEnter(P))}y.onPointerMove==null||y.onPointerMove(P)}else{const S=y[s];S?(!g||f.initialHits.includes(v))&&(a(u,f.interaction.filter(x=>!f.initialHits.includes(x))),S(P)):g&&f.initialHits.includes(v)&&a(u,f.interaction.filter(x=>!f.initialHits.includes(x)))}}i(w,u,b,C)}}return{handlePointer:l}}const UNe=t=>!!(t!=null&&t.render),BNe=m.createContext(null),b9t=(t,e)=>{const n=i9t((l,s)=>{const c=new re,u=new re,d=new re;function f(b=s().camera,C=u,P=s().size){const{width:v,height:T,top:y,left:S}=P,x=v/T;C instanceof re?d.copy(C):d.set(...C);const R=b.getWorldPosition(c).distanceTo(d);if(DNe(b))return{width:v/b.zoom,height:T/b.zoom,top:y,left:S,factor:1,distance:R,aspect:x};{const H=b.fov*Math.PI/180,D=2*Math.tan(H/2)*R,k=D*(v/T);return{width:k,height:D,top:y,left:S,factor:v/k,distance:R,aspect:x}}}let p;const g=b=>l(C=>({performance:{...C.performance,current:b}})),A=new Gt;return{set:l,get:s,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(b=1)=>t(s(),b),advance:(b,C)=>e(b,C,s()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new R1e,pointer:A,mouse:A,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const b=s();p&&clearTimeout(p),b.performance.current!==b.performance.min&&g(b.performance.min),p=setTimeout(()=>g(s().performance.max),b.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:f},setEvents:b=>l(C=>({...C,events:{...C.events,...b}})),setSize:(b,C,P,v,T)=>{const y=s().camera,S={width:b,height:C,top:v||0,left:T||0,updateStyle:P};l(x=>({size:S,viewport:{...x.viewport,...f(y,u,S)}}))},setDpr:b=>l(C=>{const P=LNe(b);return{viewport:{...C.viewport,dpr:P,initialDpr:C.viewport.initialDpr||P}}}),setFrameloop:(b="always")=>{const C=s().clock;C.stop(),C.elapsedTime=0,b!=="never"&&(C.start(),C.elapsedTime=0),l(()=>({frameloop:b}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:m.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(b,C,P)=>{const v=s().internal;return v.priority=v.priority+(C>0?1:0),v.subscribers.push({ref:b,priority:C,store:P}),v.subscribers=v.subscribers.sort((T,y)=>T.priority-y.priority),()=>{const T=s().internal;T!=null&&T.subscribers&&(T.priority=T.priority-(C>0?1:0),T.subscribers=T.subscribers.filter(y=>y.ref!==b))}}}}}),o=n.getState();let i=o.size,r=o.viewport.dpr,a=o.camera;return n.subscribe(()=>{const{camera:l,size:s,viewport:c,gl:u,set:d}=n.getState();if(s.width!==i.width||s.height!==i.height||c.dpr!==r){var f;i=s,r=c.dpr,A9t(l,s),u.setPixelRatio(c.dpr);const p=(f=s.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&u.domElement instanceof HTMLCanvasElement;u.setSize(s.width,s.height,p)}l!==a&&(a=l,d(p=>({viewport:{...p.viewport,...p.viewport.getCurrentViewport(l)}})))}),n.subscribe(l=>t(l)),n};let Yj,S9t=new Set,T9t=new Set,P9t=new Set;function Woe(t,e){if(t.size)for(const{callback:n}of t.values())n(e)}function pz(t,e){switch(t){case"before":return Woe(S9t,e);case"after":return Woe(T9t,e);case"tail":return Woe(P9t,e)}}let Noe,Uoe;function Boe(t,e,n){let o=e.clock.getDelta();for(e.frameloop==="never"&&typeof t=="number"&&(o=t-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=t),Noe=e.internal.subscribers,Yj=0;Yj0)&&!((c=i.gl.xr)!=null&&c.isPresenting)&&(n+=Boe(s,i))}if(pz("after",s),n===0)return pz("tail",s),e=!1,cancelAnimationFrame(o)}function a(s,c=1){var u;if(!s)return t.forEach(d=>a(d.store.getState()),c);(u=s.gl.xr)!=null&&u.isPresenting||!s.internal.active||s.frameloop==="never"||(s.internal.frames=Math.min(60,s.internal.frames+c),e||(e=!0,requestAnimationFrame(r)))}function l(s,c=!0,u,d){if(c&&pz("before",s),u)Boe(s,u,d);else for(const f of t.values())Boe(s,f.store.getState());c&&pz("after",s)}return{loop:r,invalidate:a,advance:l}}function jNe(){const t=m.useContext(BNe);if(!t)throw new Error("R3F: Hooks can only be used within the Canvas component!");return t}function Xi(t=n=>n,e){return jNe()(t,e)}function rA(t,e=0){const n=jNe(),o=n.getState().internal.subscribe,i=ENe(t);return XL(()=>o(i,e,n),[e,o,n]),null}const gwe=new WeakMap;function YNe(t,e){return function(n,...o){let i=gwe.get(n);return i||(i=new n,gwe.set(n,i)),t&&t(i),Promise.all(o.map(r=>new Promise((a,l)=>i.load(r,s=>{s.scene&&Object.assign(s,g9t(s.scene)),a(s)},e,s=>l(new Error(`Could not load ${r}: ${s==null?void 0:s.message}`)))))).finally(()=>i.dispose==null?void 0:i.dispose())}}function aA(t,e,n,o){const i=Array.isArray(e)?e:[e],r=INe(YNe(n,o),[t,...i],{equal:dc.equ});return Array.isArray(e)?r:r[0]}aA.preload=function(t,e,n){const o=Array.isArray(e)?e:[e];return c9t(YNe(n),[t,...o])};aA.clear=function(t,e){const n=Array.isArray(e)?e:[e];return u9t([t,...n])};const XC=new Map,{invalidate:Zh,advance:mwe}=C9t(XC),{reconciler:GV,applyProps:pT}=d9t(XC,w9t),gT={objects:"shallow",strict:!1},R9t=(t,e)=>{const n=typeof t=="function"?t(e):t;return UNe(n)?n:new u1e({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...t})};function H9t(t,e){const n=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement;if(e){const{width:o,height:i,top:r,left:a,updateStyle:l=n}=e;return{width:o,height:i,top:r,left:a,updateStyle:l}}else if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&t.parentElement){const{width:o,height:i,top:r,left:a}=t.parentElement.getBoundingClientRect();return{width:o,height:i,top:r,left:a,updateStyle:n}}else if(typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height,top:0,left:0,updateStyle:n};return{width:0,height:0,top:0,left:0}}function M9t(t){const e=XC.get(t),n=e==null?void 0:e.fiber,o=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,r=o||b9t(Zh,mwe),a=n||GV.createContainer(r,YP.ConcurrentRoot,null,!1,null,"",i,null);e||XC.set(t,{fiber:a,store:r});let l,s=!1,c;return{configure(u={}){let{gl:d,size:f,scene:p,events:g,onCreated:A,shadows:w=!1,linear:b=!1,flat:C=!1,legacy:P=!1,orthographic:v=!1,frameloop:T="always",dpr:y=[1,2],performance:S,raycaster:x,camera:R,onPointerMissed:H}=u,D=r.getState(),k=D.gl;D.gl||D.set({gl:k=R9t(d,t)});let W=D.raycaster;W||D.set({raycaster:W=new Gs});const{params:N,...L}=x||{};if(dc.equ(L,W,gT)||pT(W,{...L}),dc.equ(N,W.params,gT)||pT(W,{params:{...W.params,...N}}),!D.camera||D.camera===c&&!dc.equ(c,R,gT)){c=R;const O=R instanceof BL,J=O?R:v?new YL(0,0,0,0,.1,1e3):new Iu(75,0,.1,1e3);O||(J.position.z=5,R&&pT(J,R),!D.camera&&!(R!=null&&R.rotation)&&J.lookAt(0,0,0)),D.set({camera:J}),W.camera=J}if(!D.scene){let O;p instanceof OV?O=p:(O=new OV,p&&pT(O,p)),D.set({scene:qT(O)})}if(!D.xr){var E;const O=(ie,ee)=>{const q=r.getState();q.frameloop!=="never"&&mwe(ie,!0,q,ee)},J=()=>{const ie=r.getState();ie.gl.xr.enabled=ie.gl.xr.isPresenting,ie.gl.xr.setAnimationLoop(ie.gl.xr.isPresenting?O:null),ie.gl.xr.isPresenting||Zh(ie)},Z={connect(){const ie=r.getState().gl;ie.xr.addEventListener("sessionstart",J),ie.xr.addEventListener("sessionend",J)},disconnect(){const ie=r.getState().gl;ie.xr.removeEventListener("sessionstart",J),ie.xr.removeEventListener("sessionend",J)}};typeof((E=k.xr)==null?void 0:E.addEventListener)=="function"&&Z.connect(),D.set({xr:Z})}if(k.shadowMap){const O=k.shadowMap.enabled,J=k.shadowMap.type;if(k.shadowMap.enabled=!!w,dc.boo(w))k.shadowMap.type=qD;else if(dc.str(w)){var U;const Z={basic:vLe,percentage:IK,soft:qD,variance:t2};k.shadowMap.type=(U=Z[w])!=null?U:qD}else dc.obj(w)&&Object.assign(k.shadowMap,w);(O!==k.shadowMap.enabled||J!==k.shadowMap.type)&&(k.shadowMap.needsUpdate=!0)}const F=zNe();F&&("enabled"in F?F.enabled=!P:"legacyMode"in F&&(F.legacyMode=P)),pT(k,{outputEncoding:b?3e3:3001,toneMapping:C?g9:Gpe}),D.legacy!==P&&D.set(()=>({legacy:P})),D.linear!==b&&D.set(()=>({linear:b})),D.flat!==C&&D.set(()=>({flat:C})),d&&!dc.fun(d)&&!UNe(d)&&!dc.equ(d,k,gT)&&pT(k,d),g&&!D.events.handlers&&D.set({events:g(r)});const Y=H9t(t,f);return dc.equ(Y,D.size,gT)||D.setSize(Y.width,Y.height,Y.updateStyle,Y.top,Y.left),y&&D.viewport.dpr!==LNe(y)&&D.setDpr(y),D.frameloop!==T&&D.setFrameloop(T),D.onPointerMissed||D.set({onPointerMissed:H}),S&&!dc.equ(S,D.performance,gT)&&D.set(O=>({performance:{...O.performance,...S}})),l=A,s=!0,this},render(u){return s||this.configure(),GV.updateContainer(m.createElement(I9t,{store:r,children:u,onCreated:l,rootElement:t}),a,null,()=>{}),r},unmount(){ONe(t)}}}function I9t({store:t,children:e,onCreated:n,rootElement:o}){return XL(()=>{const i=t.getState();i.set(r=>({internal:{...r.internal,active:!0}})),n&&n(i),t.getState().events.connected||i.events.connect==null||i.events.connect(o)},[]),m.createElement(BNe.Provider,{value:t},e)}function ONe(t,e){const n=XC.get(t),o=n==null?void 0:n.fiber;if(o){const i=n==null?void 0:n.store.getState();i&&(i.internal.active=!1),GV.updateContainer(null,o,null,()=>{i&&setTimeout(()=>{try{var r,a,l,s;i.events.disconnect==null||i.events.disconnect(),(r=i.gl)==null||(a=r.renderLists)==null||a.dispose==null||a.dispose(),(l=i.gl)==null||l.forceContextLoss==null||l.forceContextLoss(),(s=i.gl)!=null&&s.xr&&i.xr.disconnect(),m9t(i),XC.delete(t)}catch{}},500)})}}GV.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:m.version});function XV(){return XV=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0?o=setTimeout(s,e-u):(o=null,n||(l=t.apply(r,i),r=i=null))}var c=function(){r=this,i=arguments,a=Date.now();var u=n&&!o;return o||(o=setTimeout(s,e)),u&&(l=t.apply(r,i),r=i=null),l};return c.clear=function(){o&&(clearTimeout(o),o=null)},c.flush=function(){o&&(l=t.apply(r,i),r=i=null,clearTimeout(o),o=null)},c}ice.debounce=ice;var z9t=ice;const ywe=kr(z9t);function D9t(t){let{debounce:e,scroll:n,polyfill:o,offsetSize:i}=t===void 0?{debounce:0,scroll:!1,offsetSize:!1}:t;const r=o||(typeof window>"u"?class{}:window.ResizeObserver);if(!r)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[a,l]=m.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),s=m.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a}),c=e?typeof e=="number"?e:e.scroll:null,u=e?typeof e=="number"?e:e.resize:null,d=m.useRef(!1);m.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,p,g]=m.useMemo(()=>{const C=()=>{if(!s.current.element)return;const{left:P,top:v,width:T,height:y,bottom:S,right:x,x:R,y:H}=s.current.element.getBoundingClientRect(),D={left:P,top:v,width:T,height:y,bottom:S,right:x,x:R,y:H};s.current.element instanceof HTMLElement&&i&&(D.height=s.current.element.offsetHeight,D.width=s.current.element.offsetWidth),Object.freeze(D),d.current&&!L9t(s.current.lastBounds,D)&&l(s.current.lastBounds=D)};return[C,u?ywe(C,u):C,c?ywe(C,c):C]},[l,i,c,u]);function A(){s.current.scrollContainers&&(s.current.scrollContainers.forEach(C=>C.removeEventListener("scroll",g,!0)),s.current.scrollContainers=null),s.current.resizeObserver&&(s.current.resizeObserver.disconnect(),s.current.resizeObserver=null)}function w(){s.current.element&&(s.current.resizeObserver=new r(g),s.current.resizeObserver.observe(s.current.element),n&&s.current.scrollContainers&&s.current.scrollContainers.forEach(C=>C.addEventListener("scroll",g,{capture:!0,passive:!0})))}const b=C=>{!C||C===s.current.element||(A(),s.current.element=C,s.current.scrollContainers=_Ne(C),w())};return k9t(g,!!n),E9t(p),m.useEffect(()=>{A(),w()},[n,g,p]),m.useEffect(()=>A,[]),[b,a,f]}function E9t(t){m.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function k9t(t,e){m.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function _Ne(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:o,overflowY:i}=window.getComputedStyle(t);return[n,o,i].some(r=>r==="auto"||r==="scroll")&&e.push(t),[...e,..._Ne(t.parentElement)]}const F9t=["x","y","top","bottom","left","right","width","height"],L9t=(t,e)=>F9t.every(n=>t[n]===e[n]);var W9t=Object.defineProperty,N9t=Object.defineProperties,U9t=Object.getOwnPropertyDescriptors,Awe=Object.getOwnPropertySymbols,B9t=Object.prototype.hasOwnProperty,j9t=Object.prototype.propertyIsEnumerable,wwe=(t,e,n)=>e in t?W9t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vwe=(t,e)=>{for(var n in e||(e={}))B9t.call(e,n)&&wwe(t,n,e[n]);if(Awe)for(var n of Awe(e))j9t.call(e,n)&&wwe(t,n,e[n]);return t},Y9t=(t,e)=>N9t(t,U9t(e));function VNe(t,e,n){if(!t)return;if(n(t)===!0)return t;let o=t.child;for(;o;){const i=VNe(o,e,n);if(i)return i;o=o.sibling}}function GNe(t){try{return Object.defineProperties(t,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return t}}const E1e=GNe(m.createContext(null));class XNe extends m.Component{render(){return m.createElement(E1e.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:xwe,ReactCurrentDispatcher:bwe}=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function O9t(){const t=m.useContext(E1e);if(t===null)throw new Error("its-fine: useFiber must be called within a !");const e=m.useId();return m.useMemo(()=>{for(const o of[xwe==null?void 0:xwe.current,t,t==null?void 0:t.alternate]){if(!o)continue;const i=VNe(o,!1,r=>{let a=r.memoizedState;for(;a;){if(a.memoizedState===e)return!0;a=a.next}});if(i)return i}},[t,e])}function _9t(){var t,e;const n=O9t(),[o]=m.useState(()=>new Map);o.clear();let i=n;for(;i;){const r=(t=i.type)==null?void 0:t._context;r&&r!==E1e&&!o.has(r)&&o.set(r,(e=bwe==null?void 0:bwe.current)==null?void 0:e.readContext(GNe(r))),i=i.return}return o}function V9t(){const t=_9t();return m.useMemo(()=>Array.from(t.keys()).reduce((e,n)=>o=>m.createElement(e,null,m.createElement(n.Provider,Y9t(vwe({},o),{value:t.get(n)}))),e=>m.createElement(XNe,vwe({},e))),[t])}const joe={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function G9t(t){const{handlePointer:e}=x9t(t);return{priority:1,enabled:!0,compute(n,o,i){o.pointer.set(n.offsetX/o.size.width*2-1,-(n.offsetY/o.size.height)*2+1),o.raycaster.setFromCamera(o.pointer,o.camera)},connected:void 0,handlers:Object.keys(joe).reduce((n,o)=>({...n,[o]:e(o)}),{}),update:()=>{var n;const{events:o,internal:i}=t.getState();(n=i.lastEvent)!=null&&n.current&&o.handlers&&o.handlers.onPointerMove(i.lastEvent.current)},connect:n=>{var o;const{set:i,events:r}=t.getState();r.disconnect==null||r.disconnect(),i(a=>({events:{...a.events,connected:n}})),Object.entries((o=r.handlers)!=null?o:[]).forEach(([a,l])=>{const[s,c]=joe[a];n.addEventListener(s,l,{passive:c})})},disconnect:()=>{const{set:n,events:o}=t.getState();if(o.connected){var i;Object.entries((i=o.handlers)!=null?i:[]).forEach(([r,a])=>{if(o&&o.connected instanceof HTMLElement){const[l]=joe[r];o.connected.removeEventListener(l,a)}}),n(r=>({events:{...r.events,connected:void 0}}))}}}}const X9t=m.forwardRef(function({children:e,fallback:n,resize:o,style:i,gl:r,events:a=G9t,eventSource:l,eventPrefix:s,shadows:c,linear:u,flat:d,legacy:f,orthographic:p,frameloop:g,dpr:A,performance:w,raycaster:b,camera:C,scene:P,onPointerMissed:v,onCreated:T,...y},S){m.useMemo(()=>yb(t9t),[]);const x=V9t(),[R,H]=D9t({scroll:!0,debounce:{scroll:50,resize:0},...o}),D=m.useRef(null),k=m.useRef(null);m.useImperativeHandle(S,()=>D.current);const W=ENe(v),[N,L]=m.useState(!1),[E,U]=m.useState(!1);if(N)throw N;if(E)throw E;const F=m.useRef(null);XL(()=>{const _=D.current;H.width>0&&H.height>0&&_&&(F.current||(F.current=M9t(_)),F.current.configure({gl:r,events:a,shadows:c,linear:u,flat:d,legacy:f,orthographic:p,frameloop:g,dpr:A,performance:w,raycaster:b,camera:C,scene:P,size:H,onPointerMissed:(...Y)=>W.current==null?void 0:W.current(...Y),onCreated:Y=>{Y.events.connect==null||Y.events.connect(l?f9t(l)?l.current:l:k.current),s&&Y.setEvents({compute:(O,J)=>{const Z=O[s+"X"],ie=O[s+"Y"];J.pointer.set(Z/J.size.width*2-1,-(ie/J.size.height)*2+1),J.raycaster.setFromCamera(J.pointer,J.camera)}}),T==null||T(Y)}}),F.current.render(m.createElement(x,null,m.createElement(kNe,{set:U},m.createElement(m.Suspense,{fallback:m.createElement(h9t,{set:L})},e)))))}),m.useEffect(()=>{const _=D.current;if(_)return()=>ONe(_)},[]);const B=l?"none":"auto";return m.createElement("div",XV({ref:k,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:B,...i}},y),m.createElement("div",{ref:R,style:{width:"100%",height:"100%"}},m.createElement("canvas",{ref:D,style:{display:"block"}},n)))}),J9t=m.forwardRef(function(e,n){return m.createElement(XNe,null,m.createElement(X9t,XV({},e,{ref:n})))});function K9t(t,e,n){return e=JV(e),i3t(t,JNe()?Reflect.construct(e,n||[],JV(t).constructor):e.apply(t,n))}function JNe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(JNe=function(){return!!t})()}function q9t(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function $9t(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function Q9t(t){var e=$9t(t,"string");return typeof e=="symbol"?e:String(e)}function Z9t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e3t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:"",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:10,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"rgba(255, 255, 255, 1)";return Z9t(this,e),n=K9t(this,e,[new mT.SpriteMaterial]),n._text="".concat(o),n._textHeight=i,n._color=r,n._backgroundColor=!1,n._padding=0,n._borderWidth=0,n._borderRadius=0,n._borderColor="white",n._strokeWidth=0,n._strokeColor="white",n._fontFace="system-ui",n._fontSize=90,n._fontWeight="normal",n._canvas=document.createElement("canvas"),n._genCanvas(),n}return t3t(e,[{key:"text",get:function(){return this._text},set:function(o){this._text=o,this._genCanvas()}},{key:"textHeight",get:function(){return this._textHeight},set:function(o){this._textHeight=o,this._genCanvas()}},{key:"color",get:function(){return this._color},set:function(o){this._color=o,this._genCanvas()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(o){this._backgroundColor=o,this._genCanvas()}},{key:"padding",get:function(){return this._padding},set:function(o){this._padding=o,this._genCanvas()}},{key:"borderWidth",get:function(){return this._borderWidth},set:function(o){this._borderWidth=o,this._genCanvas()}},{key:"borderRadius",get:function(){return this._borderRadius},set:function(o){this._borderRadius=o,this._genCanvas()}},{key:"borderColor",get:function(){return this._borderColor},set:function(o){this._borderColor=o,this._genCanvas()}},{key:"fontFace",get:function(){return this._fontFace},set:function(o){this._fontFace=o,this._genCanvas()}},{key:"fontSize",get:function(){return this._fontSize},set:function(o){this._fontSize=o,this._genCanvas()}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(o){this._fontWeight=o,this._genCanvas()}},{key:"strokeWidth",get:function(){return this._strokeWidth},set:function(o){this._strokeWidth=o,this._genCanvas()}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(o){this._strokeColor=o,this._genCanvas()}},{key:"_genCanvas",value:function(){var o=this,i=this._canvas,r=i.getContext("2d"),a=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],l=a.map(function(S){return S*o.fontSize*.1}),s=Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius],c=s.map(function(S){return S*o.fontSize*.1}),u=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],d=u.map(function(S){return S*o.fontSize*.1}),f=this.text.split(` -`),p="".concat(this.fontWeight," ").concat(this.fontSize,"px ").concat(this.fontFace);r.font=p;var g=Math.max.apply(Math,Oj(f.map(function(S){return r.measureText(S).width}))),A=this.fontSize*f.length;if(i.width=g+l[0]*2+d[0]*2,i.height=A+l[1]*2+d[1]*2,this.borderWidth){if(r.strokeStyle=this.borderColor,l[0]){var w=l[0]/2;r.lineWidth=l[0],r.beginPath(),r.moveTo(w,c[0]),r.lineTo(w,i.height-c[3]),r.moveTo(i.width-w,c[1]),r.lineTo(i.width-w,i.height-c[2]),r.stroke()}if(l[1]){var b=l[1]/2;r.lineWidth=l[1],r.beginPath(),r.moveTo(Math.max(l[0],c[0]),b),r.lineTo(i.width-Math.max(l[0],c[1]),b),r.moveTo(Math.max(l[0],c[3]),i.height-b),r.lineTo(i.width-Math.max(l[0],c[2]),i.height-b),r.stroke()}if(this.borderRadius){var C=Math.max.apply(Math,Oj(l)),P=C/2;r.lineWidth=C,r.beginPath(),[!!c[0]&&[c[0],P,P,c[0]],!!c[1]&&[i.width-c[1],i.width-P,P,c[1]],!!c[2]&&[i.width-c[2],i.width-P,i.height-P,i.height-c[2]],!!c[3]&&[c[3],P,i.height-P,i.height-c[3]]].filter(function(S){return S}).forEach(function(S){var x=Swe(S,4),R=x[0],H=x[1],D=x[2],k=x[3];r.moveTo(R,D),r.quadraticCurveTo(H,D,H,k)}),r.stroke()}}this.backgroundColor&&(r.fillStyle=this.backgroundColor,this.borderRadius?(r.beginPath(),r.moveTo(l[0],c[0]),[[l[0],c[0],i.width-c[1],l[1],l[1],l[1]],[i.width-l[0],i.width-l[0],i.width-l[0],l[1],c[1],i.height-c[2]],[i.width-l[0],i.width-c[2],c[3],i.height-l[1],i.height-l[1],i.height-l[1]],[l[0],l[0],l[0],i.height-l[1],i.height-c[3],c[0]]].forEach(function(S){var x=Swe(S,6),R=x[0],H=x[1],D=x[2],k=x[3],W=x[4],N=x[5];r.quadraticCurveTo(R,k,H,W),r.lineTo(D,N)}),r.closePath(),r.fill()):r.fillRect(l[0],l[1],i.width-l[0]*2,i.height-l[1]*2)),r.translate.apply(r,Oj(l)),r.translate.apply(r,Oj(d)),r.font=p,r.fillStyle=this.color,r.textBaseline="bottom";var v=this.strokeWidth>0;v&&(r.lineWidth=this.strokeWidth*this.fontSize/10,r.strokeStyle=this.strokeColor),f.forEach(function(S,x){var R=(g-r.measureText(S).width)/2,H=(x+1)*o.fontSize;v&&r.strokeText(S,R,H),r.fillText(S,R,H)}),this.material.map&&this.material.map.dispose();var T=this.material.map=new mT.Texture(i);T.minFilter=mT.LinearFilter,T.colorSpace=mT.SRGBColorSpace,T.needsUpdate=!0;var y=this.textHeight*f.length+a[1]*2+u[1]*2;this.scale.set(y*i.width/i.height,y,0)}},{key:"clone",value:function(){return new this.constructor(this.text,this.textHeight,this.color).copy(this)}},{key:"copy",value:function(o){return mT.Sprite.prototype.copy.call(this,o),this.color=o.color,this.backgroundColor=o.backgroundColor,this.padding=o.padding,this.borderWidth=o.borderWidth,this.borderColor=o.borderColor,this.fontFace=o.fontFace,this.fontSize=o.fontSize,this.fontWeight=o.fontWeight,this.strokeWidth=o.strokeWidth,this.strokeColor=o.strokeColor,this}}]),e}(mT.Sprite);const U8={type:"change"},Yoe={type:"start"},B8={type:"end"};class d3t extends V9{constructor(e,n){super(),n===void 0&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),n===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=e,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new re,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.moveSpeed=1,this.turnSpeed=1,this.keys={MOVE_LEFT:"KeyA",MOVE_RIGHT:"KeyD",MOVE_FORWARD:"KeyW",MOVE_BACKWARD:"KeyS",MOVE_UP:"KeyZ",MOVE_DOWN:"KeyX",ROTATE_LEFT:"ArrowLeft",ROTATE_UP:"ArrowUp",ROTATE_RIGHT:"ArrowRight",ROTATE_DOWN:"ArrowDown"},this.mouseButtons={LEFT:ov.ROTATE,MIDDLE:ov.DOLLY,RIGHT:ov.PAN},this.touches={ONE:iv.ROTATE,TWO:iv.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return l.phi},this.getAzimuthalAngle=function(){return l.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(We){We.addEventListener("keydown",Pe),this._domElementKeyEvents=We,S=!1,x=0},this.removeKeyEvents=function(){o._domElementKeyEvents!==null&&o._domElementKeyEvents.removeEventListener("keydown",Pe)},this.saveState=function(){o.target0.copy(o.target),o.position0.copy(o.object.position),o.zoom0=o.object.zoom},this.reset=function(){o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),o.dispatchEvent(U8),o.update(),r=i.NONE},this.update=function(){const We=new re,Ee=new Ts().setFromUnitVectors(e.up,new re(0,1,0)),Fe=Ee.clone().invert(),Ge=new re,rt=new Ts,Ve=2*Math.PI;return function(){const dt=o.object.position;We.copy(dt).sub(o.target),We.applyQuaternion(Ee),l.setFromVector3(We),o.autoRotate&&r===i.NONE&&D(R()),o.enableDamping?(l.theta+=s.theta*o.dampingFactor,l.phi+=s.phi*o.dampingFactor):(l.theta+=s.theta,l.phi+=s.phi);let Qe=o.minAzimuthAngle,ut=o.maxAzimuthAngle;return isFinite(Qe)&&isFinite(ut)&&(Qe<-Math.PI?Qe+=Ve:Qe>Math.PI&&(Qe-=Ve),ut<-Math.PI?ut+=Ve:ut>Math.PI&&(ut-=Ve),Qe<=ut?l.theta=Math.max(Qe,Math.min(ut,l.theta)):l.theta=l.theta>(Qe+ut)/2?Math.max(Qe,l.theta):Math.min(ut,l.theta)),l.phi=Math.max(o.minPolarAngle,Math.min(o.maxPolarAngle,l.phi)),l.makeSafe(),l.radius*=c,l.radius=Math.max(o.minDistance,Math.min(o.maxDistance,l.radius)),o.enableDamping===!0?o.target.addScaledVector(u,o.dampingFactor):o.target.add(u),We.setFromSpherical(l),We.applyQuaternion(Fe),dt.copy(o.target).add(We),o.object.lookAt(o.target),o.enableDamping===!0?(s.theta*=1-o.dampingFactor,s.phi*=1-o.dampingFactor,u.multiplyScalar(1-o.dampingFactor)):(s.set(0,0,0),u.set(0,0,0)),c=1,d||Ge.distanceToSquared(o.object.position)>a||8*(1-rt.dot(o.object.quaternion))>a?(o.dispatchEvent(U8),Ge.copy(o.object.position),rt.copy(o.object.quaternion),d=!1,!0):!1}}(),this.dispose=function(){o.domElement.removeEventListener("contextmenu",De),o.domElement.removeEventListener("pointerdown",Ie),o.domElement.removeEventListener("pointercancel",oe),o.domElement.removeEventListener("wheel",me),o.domElement.removeEventListener("pointermove",ze),o.domElement.removeEventListener("pointerup",ye),o._domElementKeyEvents!==null&&o._domElementKeyEvents.removeEventListener("keydown",Pe)};const o=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let r=i.NONE;const a=1e-6,l=new ece,s=new ece;let c=1;const u=new re;let d=!1;const f=new Gt,p=new Gt,g=new Gt,A=new Gt,w=new Gt,b=new Gt,C=new Gt,P=new Gt,v=new Gt,T=[],y={};let S=!1,x=0;function R(){return 2*Math.PI/60/60*o.autoRotateSpeed}function H(){return Math.pow(.95,o.zoomSpeed)}function D(We){s.theta-=We}function k(We){s.phi-=We}const W=function(){const We=new re;return function(Fe,Ge){We.setFromMatrixColumn(Ge,0),We.multiplyScalar(-Fe),u.add(We)}}(),N=function(){const We=new re;return function(Fe,Ge){o.screenSpacePanning===!0?We.setFromMatrixColumn(Ge,1):(We.setFromMatrixColumn(Ge,0),We.crossVectors(o.object.up,We)),We.multiplyScalar(Fe),u.add(We)}}(),L=function(){const We=new re;return function(Fe,Ge){const rt=o.domElement;if(o.object.isPerspectiveCamera){const Ve=o.object.position;We.copy(Ve).sub(o.target);let xt=We.length();xt*=Math.tan(o.object.fov/2*Math.PI/180),W(2*Fe*xt/rt.clientHeight,o.object.matrix),N(2*Ge*xt/rt.clientHeight,o.object.matrix)}else o.object.isOrthographicCamera?(W(Fe*(o.object.right-o.object.left)/o.object.zoom/rt.clientWidth,o.object.matrix),N(Ge*(o.object.top-o.object.bottom)/o.object.zoom/rt.clientHeight,o.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),o.enablePan=!1)}}(),E=function(){const We=new re;return function(Fe){const Ge=o.object;We.setFromMatrixColumn(Ge.matrix,1),We.multiplyScalar(Fe*.1),Ge.position.add(We),Ge.position.z=Math.max(0,Ge.position.z),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),U=function(){const We=new re;return function(Fe){const Ge=o.object;We.setFromMatrixColumn(Ge.matrix,0),We.crossVectors(Ge.up,We),We.multiplyScalar(Fe*.1),Ge.position.add(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),F=function(){const We=new re;return function(Fe){const Ge=o.object;We.setFromMatrixColumn(Ge.matrix,0),We.multiplyScalar(Fe*.1),Ge.position.add(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),B=function(){const We=new Qt(0,0,0,"ZXY");return function(Fe){const Ge=o.object;We.setFromQuaternion(Ge.quaternion),Math.abs(Math.abs(We.z-x)-Math.PI)<.01&&(S=!S),S?We.x-=.01*Fe:We.x+=.01*Fe,We.x=Math.max(.1,We.x),x=We.z,Ge.quaternion.setFromEuler(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),_=function(){const We=new Qt(0,0,0,"ZXY");return function(Fe){const Ge=o.object;We.setFromQuaternion(Ge.quaternion),We.z-=.01*Fe,Ge.quaternion.setFromEuler(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}();function Y(We){o.object.isPerspectiveCamera?c/=We:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom*We)),o.object.updateProjectionMatrix(),d=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function O(We){o.object.isPerspectiveCamera?c*=We:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom/We)),o.object.updateProjectionMatrix(),d=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function J(We){f.set(We.clientX,We.clientY)}function Z(We){C.set(We.clientX,We.clientY)}function ie(We){A.set(We.clientX,We.clientY)}function ee(We){p.set(We.clientX,We.clientY),g.subVectors(p,f).multiplyScalar(o.rotateSpeed);const Ee=o.domElement;D(2*Math.PI*g.x/Ee.clientHeight),k(2*Math.PI*g.y/Ee.clientHeight),f.copy(p),o.update()}function q(We){P.set(We.clientX,We.clientY),v.subVectors(P,C),v.y>0?Y(H()):v.y<0&&O(H()),C.copy(P),o.update()}function ae(We){w.set(We.clientX,We.clientY),b.subVectors(w,A).multiplyScalar(o.panSpeed),L(b.x,b.y),A.copy(w),o.update()}function ne(We){We.deltaY<0?O(H()):We.deltaY>0&&Y(H()),o.update()}function se(We){switch(We.code){case o.keys.MOVE_FORWARD:U(o.moveSpeed);break;case o.keys.MOVE_BACKWARD:U(-o.moveSpeed);break;case o.keys.MOVE_UP:E(o.moveSpeed);break;case o.keys.MOVE_DOWN:E(-o.moveSpeed);break;case o.keys.MOVE_RIGHT:F(o.moveSpeed);break;case o.keys.MOVE_LEFT:F(-o.moveSpeed);break;case o.keys.ROTATE_UP:B(o.turnSpeed);break;case o.keys.ROTATE_DOWN:B(-o.turnSpeed);break;case o.keys.ROTATE_LEFT:_(-o.turnSpeed);break;case o.keys.ROTATE_RIGHT:_(o.turnSpeed);break}}function le(){if(T.length===1)f.set(T[0].pageX,T[0].pageY);else{const We=.5*(T[0].pageX+T[1].pageX),Ee=.5*(T[0].pageY+T[1].pageY);f.set(We,Ee)}}function te(){if(T.length===1)A.set(T[0].pageX,T[0].pageY);else{const We=.5*(T[0].pageX+T[1].pageX),Ee=.5*(T[0].pageY+T[1].pageY);A.set(We,Ee)}}function he(){const We=T[0].pageX-T[1].pageX,Ee=T[0].pageY-T[1].pageY,Fe=Math.sqrt(We*We+Ee*Ee);C.set(0,Fe)}function pe(){o.enableZoom&&he(),o.enablePan&&te()}function fe(){o.enableZoom&&he(),o.enableRotate&&le()}function $(We){if(T.length===1)p.set(We.pageX,We.pageY);else{const Fe=$e(We),Ge=.5*(We.pageX+Fe.x),rt=.5*(We.pageY+Fe.y);p.set(Ge,rt)}g.subVectors(p,f).multiplyScalar(o.rotateSpeed);const Ee=o.domElement;D(2*Math.PI*g.x/Ee.clientHeight),k(2*Math.PI*g.y/Ee.clientHeight),f.copy(p)}function de(We){if(T.length===1)w.set(We.pageX,We.pageY);else{const Ee=$e(We),Fe=.5*(We.pageX+Ee.x),Ge=.5*(We.pageY+Ee.y);w.set(Fe,Ge)}b.subVectors(w,A).multiplyScalar(o.panSpeed),L(b.x,b.y),A.copy(w)}function Se(We){const Ee=$e(We),Fe=We.pageX-Ee.x,Ge=We.pageY-Ee.y,rt=Math.sqrt(Fe*Fe+Ge*Ge);P.set(0,rt),v.set(0,Math.pow(P.y/C.y,o.zoomSpeed)),Y(v.y),C.copy(P)}function Ce(We){o.enableZoom&&Se(We),o.enablePan&&de(We)}function ve(We){o.enableZoom&&Se(We),o.enableRotate&&$(We)}function Ie(We){o.enabled!==!1&&(T.length===0&&(o.domElement.setPointerCapture(We.pointerId),o.domElement.addEventListener("pointermove",ze),o.domElement.addEventListener("pointerup",ye)),Ue(We),We.pointerType==="touch"?Me(We):ge(We))}function ze(We){o.enabled!==!1&&(We.pointerType==="touch"?Te(We):Ae(We))}function ye(We){Oe(We),T.length===0&&(o.domElement.releasePointerCapture(We.pointerId),o.domElement.removeEventListener("pointermove",ze),o.domElement.removeEventListener("pointerup",ye)),o.dispatchEvent(B8),r=i.NONE}function oe(We){Oe(We)}function ge(We){let Ee;switch(We.button){case 0:Ee=o.mouseButtons.LEFT;break;case 1:Ee=o.mouseButtons.MIDDLE;break;case 2:Ee=o.mouseButtons.RIGHT;break;default:Ee=-1}switch(Ee){case ov.DOLLY:if(o.enableZoom===!1)return;Z(We),r=i.DOLLY;break;case ov.ROTATE:if(o.object.isOrthographicCamera){if(o.enablePan===!1)return;ie(We),r=i.PAN}else if(We.ctrlKey||We.metaKey){if(o.enablePan===!1)return;ie(We),r=i.PAN}else{if(o.enableRotate===!1)return;J(We),r=i.ROTATE}break;case ov.PAN:if(We.ctrlKey||We.metaKey){if(o.enableRotate===!1)return;J(We),r=i.ROTATE}else{if(o.enablePan===!1)return;ie(We),r=i.PAN}break;default:r=i.NONE}r!==i.NONE&&o.dispatchEvent(Yoe)}function Ae(We){if(o.enabled!==!1)switch(r){case i.ROTATE:if(o.enableRotate===!1)return;ee(We);break;case i.DOLLY:if(o.enableZoom===!1)return;q(We);break;case i.PAN:if(o.enablePan===!1)return;ae(We);break}}function me(We){o.enabled===!1||o.enableZoom===!1||r!==i.NONE||(We.preventDefault(),o.dispatchEvent(Yoe),ne(We),o.dispatchEvent(B8))}function Pe(We){o.enabled===!1||o.enablePan===!1||se(We)}function Me(We){switch(Le(We),T.length){case 1:switch(o.touches.ONE){case iv.ROTATE:if(o.enableRotate===!1)return;le(),r=i.TOUCH_ROTATE;break;case iv.PAN:if(o.enablePan===!1)return;te(),r=i.TOUCH_PAN;break;default:r=i.NONE}break;case 2:switch(o.touches.TWO){case iv.DOLLY_PAN:if(o.enableZoom===!1&&o.enablePan===!1)return;pe(),r=i.TOUCH_DOLLY_PAN;break;case iv.DOLLY_ROTATE:if(o.enableZoom===!1&&o.enableRotate===!1)return;fe(),r=i.TOUCH_DOLLY_ROTATE;break;default:r=i.NONE}break;default:r=i.NONE}r!==i.NONE&&o.dispatchEvent(Yoe)}function Te(We){switch(Le(We),r){case i.TOUCH_ROTATE:if(o.enableRotate===!1)return;$(We),o.update();break;case i.TOUCH_PAN:if(o.enablePan===!1)return;de(We),o.update();break;case i.TOUCH_DOLLY_PAN:if(o.enableZoom===!1&&o.enablePan===!1)return;Ce(We),o.update();break;case i.TOUCH_DOLLY_ROTATE:if(o.enableZoom===!1&&o.enableRotate===!1)return;ve(We),o.update();break;default:r=i.NONE}}function De(We){o.enabled!==!1&&We.preventDefault()}function Ue(We){T.push(We)}function Oe(We){delete y[We.pointerId];for(let Ee=0;Ee=4){this.makeEmpty();for(let n=0,o=e.length;nthis.tolerance)return!1;return!0}intersectRay(e,n){const o=this.faces;let i=-1/0,r=1/0;for(let a=0,l=o.length;a0&&u>=0)return null;const d=u!==0?-c/u:0;if(!(d<=0)&&(u>0?r=Math.min(d,r):i=Math.max(d,i),i>r))return null}return i!==-1/0?e.at(i,n):e.at(r,n),n}intersectsRay(e){return this.intersectRay(e,h3t)!==null}makeEmpty(){return this.faces=[],this.vertices=[],this}addVertexToFace(e,n){return e.face=n,n.outside===null?this.assigned.append(e):this.assigned.insertBefore(n.outside,e),n.outside=e,this}removeVertexFromFace(e,n){return e===n.outside&&(e.next!==null&&e.next.face===n?n.outside=e.next:n.outside=null),this.assigned.remove(e),this}removeAllVerticesFromFace(e){if(e.outside!==null){const n=e.outside;let o=e.outside;for(;o.next!==null&&o.next.face===e;)o=o.next;return this.assigned.removeSubList(n,o),n.prev=o.next=null,e.outside=null,n}}deleteFaceVertices(e,n){const o=this.removeAllVerticesFromFace(e);if(o!==void 0)if(n===void 0)this.unassigned.appendChain(o);else{let i=o;do{const r=i.next;n.distanceToPoint(i.point)>this.tolerance?this.addVertexToFace(i,n):this.unassigned.append(i),i=r}while(i!==null)}return this}resolveUnassignedPoints(e){if(this.unassigned.isEmpty()===!1){let n=this.unassigned.first();do{const o=n.next;let i=this.tolerance,r=null;for(let a=0;ai&&(i=s,r=l),i>1e3*this.tolerance)break}}r!==null&&this.addVertexToFace(n,r),n=o}while(n!==null)}return this}computeExtremes(){const e=new re,n=new re,o=[],i=[];for(let r=0;r<3;r++)o[r]=i[r]=this.vertices[0];e.copy(this.vertices[0].point),n.copy(this.vertices[0].point);for(let r=0,a=this.vertices.length;rn.getComponent(c)&&(n.setComponent(c,s.getComponent(c)),i[c]=l)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(e.x),Math.abs(n.x))+Math.max(Math.abs(e.y),Math.abs(n.y))+Math.max(Math.abs(e.z),Math.abs(n.z))),{min:o,max:i}}computeInitialHull(){const e=this.vertices,n=this.computeExtremes(),o=n.min,i=n.max;let r=0,a=0;for(let f=0;f<3;f++){const p=i[f].point.getComponent(f)-o[f].point.getComponent(f);p>r&&(r=p,a=f)}const l=o[a],s=i[a];let c,u;r=0,Twe.set(l.point,s.point);for(let f=0,p=this.vertices.length;fr&&(r=A,c=g)}}r=-1,Ooe.setFromCoplanarPoints(l.point,s.point,c.point);for(let f=0,p=this.vertices.length;fr&&(r=A,u=g)}}const d=[];if(Ooe.distanceToPoint(u.point)<0){d.push($y.create(l,s,c),$y.create(u,s,l),$y.create(u,c,s),$y.create(u,l,c));for(let f=0;f<3;f++){const p=(f+1)%3;d[f+1].getEdge(2).setTwin(d[0].getEdge(p)),d[f+1].getEdge(1).setTwin(d[p+1].getEdge(0))}}else{d.push($y.create(l,c,s),$y.create(u,l,s),$y.create(u,s,c),$y.create(u,c,l));for(let f=0;f<3;f++){const p=(f+1)%3;d[f+1].getEdge(2).setTwin(d[0].getEdge((3-f)%3)),d[f+1].getEdge(0).setTwin(d[p+1].getEdge(1))}}for(let f=0;f<4;f++)this.faces.push(d[f]);for(let f=0,p=e.length;fr&&(r=b,A=this.faces[w])}A!==null&&this.addVertexToFace(g,A)}}return this}reindexFaces(){const e=[];for(let n=0;nn&&(n=r,e=i),i=i.next}while(i!==null&&i.face===o);return e}}computeHorizon(e,n,o,i){this.deleteFaceVertices(o),o.mark=f3t;let r;n===null?r=n=o.getEdge(0):r=n.next;do{const a=r.twin,l=a.face;l.mark===A_&&(l.distanceToPoint(e)>this.tolerance?this.computeHorizon(e,a,l,i):i.push(r)),r=r.next}while(r!==n);return this}addAdjoiningFace(e,n){const o=$y.create(e,n.tail(),n.head());return this.faces.push(o),o.getEdge(-1).setTwin(n.twin),o.getEdge(0)}addNewFaces(e,n){this.newFaces=[];let o=null,i=null;for(let r=0;r0;)n=n.next,e--;for(;e<0;)n=n.prev,e++;return n}compute(){const e=this.edge.tail(),n=this.edge.head(),o=this.edge.next.head();return _j.set(e.point,n.point,o.point),_j.getNormal(this.normal),_j.getMidpoint(this.midpoint),this.area=_j.getArea(),this.constant=this.normal.dot(this.midpoint),this}distanceToPoint(e){return this.normal.dot(e)-this.constant}}class _oe{constructor(e,n){this.vertex=e,this.prev=null,this.next=null,this.twin=null,this.face=n}head(){return this.vertex}tail(){return this.prev?this.prev.vertex:null}length(){const e=this.head(),n=this.tail();return n!==null?n.point.distanceTo(e.point):-1}lengthSquared(){const e=this.head(),n=this.tail();return n!==null?n.point.distanceToSquared(e.point):-1}setTwin(e){return this.twin=e,e.twin=this,this}}class g3t{constructor(e){this.point=e,this.prev=null,this.next=null,this.face=null}}class Cwe{constructor(){this.head=null,this.tail=null}first(){return this.head}last(){return this.tail}clear(){return this.head=this.tail=null,this}insertBefore(e,n){return n.prev=e.prev,n.next=e,n.prev===null?this.head=n:n.prev.next=n,e.prev=n,this}insertAfter(e,n){return n.prev=e,n.next=e.next,n.next===null?this.tail=n:n.next.prev=n,e.next=n,this}append(e){return this.head===null?this.head=e:this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e,this}appendChain(e){for(this.head===null?this.head=e:this.tail.next=e,e.prev=this.tail;e.next!==null;)e=e.next;return this.tail=e,this}remove(e){return e.prev===null?this.head=e.next:e.prev.next=e.next,e.next===null?this.tail=e.prev:e.next.prev=e.prev,this}removeSubList(e,n){return e.prev===null?this.head=n.next:e.prev.next=n.next,n.next===null?this.tail=e.prev:n.next.prev=e.prev,this}isEmpty(){return this.head===null}}class lce extends Ur{constructor(e,n,o){super();const i=[],r=[],a=[],l=new Qt(0,0,n),c=new p3t().setFromPoints(e).faces;for(let u=0;u(t.FILES="Files",t.LOG_DATA="Log Data",t))(KV||{}),rc=(t=>(t.UNKNOWN="UNKNOWN SCHOOL",t.SCHOOL1="SCHOOL 1",t.SCHOOL2="SCHOOL 2",t.SCHOOL3="SCHOOL 3",t.SCHOOL4="SCHOOL 4",t.SCHOOL5="SCHOOL 5",t))(rc||{}),Ua=(t=>(t.UNKNOWN="UNKNOWN CLASS",t.CLASS1="CLASS 1",t.CLASS2="CLASS 2",t.CLASS3="CLASS 3",t.CLASS4="CLASS 4",t.CLASS5="CLASS 5",t.CLASS6="CLASS 6",t.CLASS7="CLASS 7",t.CLASS8="CLASS 8",t.CLASS9="CLASS 9",t))(Ua||{}),n9=(t=>(t[t.ALL=0]="ALL",t[t.INDIVIDUALS=1]="INDIVIDUALS",t[t.GROUPS=2]="GROUPS",t))(n9||{}),da=(t=>(t.UNKNOWN="Unknown",t.UNDER_CONSTRUCTION="Under Construction",t.RESIDENTIAL_BUILDING="Residential Building",t.COMMERCIAL_BUILDING="Commercial Building",t.SCHOOL_BUILDING="School Building",t.TOURIST_ATTRACTION="Tourist Attraction",t.PHOTOVOLTAIC="Photovoltaic",t.PARABOLIC_DISH="Parabolic Dish",t.PARABOLIC_TROUGH="Parabolic Trough",t.FRESNEL_REFLECTOR="Fresnel Reflector",t.SOLAR_POWER_TOWER="Solar Power Tower",t.WIND_TURBINE="Wind Turbine",t.COLOCATION_PROJECTS="Colocation Projects",t))(da||{}),Uc=(t=>(t[t.COMPLETE=0]="COMPLETE",t[t.ROOF_MISSING=1]="ROOF_MISSING",t[t.WALL_DISJOINED=2]="WALL_DISJOINED",t[t.WALL_EMPTY=3]="WALL_EMPTY",t))(Uc||{}),Tr=(t=>(t.SOLAR_PANEL_TILT_ANGLE="Solar Panel Tilt Angle",t.SOLAR_PANEL_ARRAY="Solar Panel Array",t))(Tr||{}),xo=(t=>(t[t.DAILY_TOTAL_OUTPUT=1]="DAILY_TOTAL_OUTPUT",t[t.YEARLY_TOTAL_OUTPUT=2]="YEARLY_TOTAL_OUTPUT",t[t.DAILY_AVERAGE_OUTPUT=3]="DAILY_AVERAGE_OUTPUT",t[t.YEARLY_AVERAGE_OUTPUT=4]="YEARLY_AVERAGE_OUTPUT",t[t.DAILY_PROFIT=5]="DAILY_PROFIT",t[t.YEARLY_PROFIT=6]="YEARLY_PROFIT",t))(xo||{}),Bs=(t=>(t[t.GENETIC_ALGORITHM=1]="GENETIC_ALGORITHM",t[t.PARTICLE_SWARM_OPTIMIZATION=2]="PARTICLE_SWARM_OPTIMIZATION",t))(Bs||{}),zm=(t=>(t[t.ROULETTE_WHEEL=1]="ROULETTE_WHEEL",t[t.TOURNAMENT=2]="TOURNAMENT",t))(zm||{}),as=(t=>(t[t.GLOBAL_SEARCH_UNIFORM_SELECTION=1]="GLOBAL_SEARCH_UNIFORM_SELECTION",t[t.LOCAL_SEARCH_RANDOM_OPTIMIZATION=2]="LOCAL_SEARCH_RANDOM_OPTIMIZATION",t[t.GLOBAL_SEARCH_FITNESS_SHARING=3]="GLOBAL_SEARCH_FITNESS_SHARING",t))(as||{}),Oh=(t=>(t[t.Solid=1]="Solid",t[t.Dashed=2]="Dashed",t[t.Dotted=3]="Dotted",t))(Oh||{}),Vy=(t=>(t[t.One=1]="One",t[t.Two=2]="Two",t[t.Three=3]="Three",t[t.Four=4]="Four",t[t.Five=5]="Five",t))(Vy||{}),Pl=(t=>(t[t.Line=1]="Line",t[t.Area=2]="Area",t))(Pl||{}),xr=(t=>(t[t.HourlyTemperatures=1]="HourlyTemperatures",t[t.MonthlyTemperatures=2]="MonthlyTemperatures",t[t.SunshineHours=3]="SunshineHours",t[t.DaylightData=4]="DaylightData",t[t.ClearnessData=5]="ClearnessData",t[t.YearlyRadiationSensorData=6]="YearlyRadiationSensorData",t[t.DailyRadiationSensorData=7]="DailyRadiationSensorData",t[t.YearlyPvYield=8]="YearlyPvYield",t[t.DailyPvYield=9]="DailyPvYield",t[t.YearlyParabolicTroughYield=10]="YearlyParabolicTroughYield",t[t.DailyParabolicTroughYield=11]="DailyParabolicTroughYield",t[t.YearlyParabolicDishYield=12]="YearlyParabolicDishYield",t[t.DailyParabolicDishYield=13]="DailyParabolicDishYield",t[t.YearlyFresnelReflectorYield=14]="YearlyFresnelReflectorYield",t[t.DailyFresnelReflectorYield=15]="DailyFresnelReflectorYield",t[t.YearlyHeliostatYield=16]="YearlyHeliostatYield",t[t.DailyHeliostatYield=17]="DailyHeliostatYield",t[t.YearlyUpdraftTowerYield=18]="YearlyUpdraftTowerYield",t[t.DailyUpdraftTowerYield=19]="DailyUpdraftTowerYield",t[t.YearlyBuildingEnergy=20]="YearlyBuildingEnergy",t[t.DailyBuildingEnergy=21]="DailyBuildingEnergy",t))(xr||{}),Ns=(t=>(t.Default="Default",t.Desert="Desert",t.Dune="Dune",t.Forest="Forest",t.Grassland="Grassland",t.Hill="Hill",t.Lake="Lake",t.Mountain="Mountain",t.Rural="Rural",t))(Ns||{}),d2=(t=>(t[t.Sinusoidal=1]="Sinusoidal",t[t.PartonLogan=2]="PartonLogan",t))(d2||{}),Z5=(t=>(t.English="English",t.ChineseSimplified="简体中文",t.ChineseTraditional="繁体中文",t.Turkish="Türkçe",t.Spanish="Español",t.Ukrainian="Українська",t))(Z5||{}),z=(t=>(t.Sky="Sky",t.Ground="Ground",t.Foundation="Foundation",t.Wall="Wall",t.Window="Window",t.Door="Door",t.Roof="Roof",t.PyramidRoof="Pyramid Roof",t.GableRoof="Gable Roof",t.HipRoof="Hip Roof",t.GambrelRoof="Gambrel Roof",t.MansardRoof="Mansard Roof",t.Sensor="Sensor",t.SolarPanel="Solar Panel",t.WaterHeater="Water Heater",t.ParabolicDish="Parabolic Dish",t.ParabolicTrough="Parabolic Trough",t.FresnelReflector="Fresnel Reflector",t.Heliostat="Heliostat",t.WindTurbine="Wind Turbine",t.VerticalAxisWindTurbine="Vertical Axis Wind Turbine",t.Cuboid="Cuboid",t.Human="Human",t.Tree="Tree",t.Flower="Flower",t.Polygon="Polygon",t.PolygonVertex="Polygon Vertex",t.Light="Light",t.None="None",t))(z||{}),tf=(t=>(t[t.CentralPole=1]="CentralPole",t[t.CentralPoleWithTripod=2]="CentralPoleWithTripod",t[t.Quadrupod=3]="Quadrupod",t))(tf||{}),zn=(t=>(t[t.None=0]="None",t[t.FocusPipe=1]="FocusPipe",t[t.FocusTower=2]="FocusTower",t[t.UpdraftTower=3]="UpdraftTower",t))(zn||{}),lc=(t=>(t[t.None=0]="None",t[t.Bicolor=1]="Bicolor",t[t.Striped=2]="Striped",t))(lc||{}),zo=(t=>(t.Select="Select",t.Move="Move",t.Resize="Resize",t.Rotate="Rotate",t.ContextMenu="ContextMenu",t))(zo||{}),yo=(t=>(t.Default="Move Handle",t.Lower="Move Handle Lower",t.Upper="Move Handle Upper",t.Left="Move Handle Left",t.Right="Move Handle Right",t.Top="Move Handle Top",t.Mid="Move Handle Mid",t))(yo||{}),wl=(t=>(t.Left="Left",t.Right="Right",t.Up="Up",t.Down="Down",t))(wl||{}),gt=(t=>(t.LowerLeft="Resize Handle Lower Left",t.UpperLeft="Resize Handle Upper Left",t.LowerRight="Resize Handle Lower Right",t.UpperRight="Resize Handle Upper Right",t.LowerLeftTop="Resize Handle Lower Left Top",t.UpperLeftTop="Resize Handle Upper Left Top",t.LowerRightTop="Resize Handle Lower Right Top",t.UpperRightTop="Resize Handle Upper Right Top",t.Lower="Resize Handle Lower",t.Upper="Resize Handle Upper",t.Left="Resize Handle Left",t.Right="Resize Handle Right",t.Top="Resize Handle Top",t.Default="Resize Handle",t.Arch="Resize Handle Arch",t.WallPartialResizeLeft="Wall Partial Resize Handle Left",t.WallPartialResizeRight="Wall Partial Resize Handle Right",t.WallPartialResizeLeftTop="Wall Partial Resize Handle Left Top",t.WallPartialResizeRightTop="Wall Partial Resize Handle Right Top",t))(gt||{}),wi=(t=>(t.Lower="Rotate Handle Lower",t.Upper="Rotate Handle Upper",t.Tilt="Rotate Handle Tilt",t))(wi||{}),ix=(t=>(t.Delete="Delete Vertex",t.InsertBeforeIndex="Insert Vertex Before Index",t.InsertAfterIndex="Insert Vertex After Index",t))(ix||{}),Kf=(t=>(t.Horizontal="Horizontal",t.Vertical="Vertical",t.Ground="Ground",t.Sky="Sky",t))(Kf||{}),ue=(t=>(t[t.OnlyThisObject=1]="OnlyThisObject",t[t.AllObjectsOfThisTypeOnSurface=2]="AllObjectsOfThisTypeOnSurface",t[t.AllObjectsOfThisTypeAboveFoundation=3]="AllObjectsOfThisTypeAboveFoundation",t[t.AllObjectsOfThisType=4]="AllObjectsOfThisType",t[t.AllConnectedObjects=5]="AllConnectedObjects",t[t.OnlyThisSide=6]="OnlyThisSide",t[t.AllSelectedObjectsOfThisType=7]="AllSelectedObjectsOfThisType",t))(ue||{}),ui=(t=>(t.portrait="Portrait",t.landscape="Landscape",t))(ui||{}),Rl=(t=>(t.eastWest="East-West",t.northSouth="North-South",t.leftRight="Left-Right",t.upDown="Up-Down",t))(Rl||{}),Ma=(t=>(t.NO_TRACKER="None",t.HORIZONTAL_SINGLE_AXIS_TRACKER="HSAT",t.ALTAZIMUTH_DUAL_AXIS_TRACKER="AADAT",t.VERTICAL_SINGLE_AXIS_TRACKER="VSAT",t.TILTED_SINGLE_AXIS_TRACKER="TSAT",t))(Ma||{}),zv=(t=>(t.NONE="None",t.HIGH="High",t.PARTIAL="Partial",t))(zv||{}),Hm=(t=>(t.EXACT="Exact",t.APPROXIMATE="Approximate",t))(Hm||{}),fi=(t=>(t.Apple="Apple",t.Birch="Birch",t.Coconut="Coconut",t.Dogwood="Dogwood",t.Elm="Elm",t.FanPalm="Fan Palm",t.Linden="Linden",t.Magnolia="Magnolia",t.Maple="Maple",t.Oak="Oak",t.Pine="Pine",t.Spruce="Spruce",t))(fi||{}),Qn=(t=>(t.Bellflower="Bellflower",t.Boxwood="Boxwood",t.CactusCombo1="Cactus Combo 1",t.CactusCombo2="Cactus Combo 2",t.CactusCombo3="Cactus Combo 3",t.CactusCombo4="Cactus Combo 4",t.Hibiscus="Hibiscus",t.Hosta="Hosta",t.Hydrangea="Hydrangea",t.Peony="Peony",t.RedRose="Red Rose",t.Spirea="Spirea",t.Sunflower="Sunflower",t.TallBush="Tall Bush",t.Tulip="Tulip",t.WhiteFlower="White Flower",t.YellowFlower="Yellow Flower",t))(Qn||{}),Ca=(t=>(t.Male="Male",t.Female="Female",t.Other="Other",t))(Ca||{}),Yt=(t=>(t.Jaah="Jaah",t.Jack="Jack",t.Jacob="Jacob",t.Jacqueline="Jacqueline",t.Jade="Jade",t.Jamelia="Jamelia",t.James="James",t.Jane="Jane",t.Jaya="Jaya",t.Jaye="Jaye",t.Jeanette="Jeanette",t.Jedi="Jedi",t.Jeff="Jeff",t.Jena="Jena",t.Jennifer="Jennifer",t.Jess="Jess",t.Jett="Jett",t.Jill="Jill",t.Jiya="Jiya",t.Jocelyn="Jocelyn",t.Joan="Joan",t.Joel="Joel",t.Joey="Joey",t.John="John",t.Jonathon="Jonathon",t.Joseph="Joseph",t.Jose="Jose",t.Joshua="Joshua",t.Judd="Judd",t.Judy="Judy",t.Julia="Julia",t.Julio="Julio",t.Jumapili="Jumapili",t.June="June",t.Juro="Juro",t.Justin="Justin",t))(Yt||{}),qi=(t=>(t.Texture01="Polygon Texture #1",t.Texture02="Polygon Texture #2",t.Texture03="Polygon Texture #3",t.Texture04="Polygon Texture #4",t.Texture05="Polygon Texture #5",t.Texture06="Polygon Texture #6",t.Texture07="Polygon Texture #7",t.Texture08="Polygon Texture #8",t.Texture09="Polygon Texture #9",t.Texture10="Polygon Texture #10",t.NoTexture="No Polygon Texture",t))(qi||{}),Or=(t=>(t.Texture01="Foundation Texture #1",t.Texture02="Foundation Texture #2",t.Texture03="Foundation Texture #3",t.Texture04="Foundation Texture #4",t.Texture05="Foundation Texture #5",t.Texture06="Foundation Texture #6",t.Texture07="Foundation Texture #7",t.Texture08="Foundation Texture #8",t.Texture09="Foundation Texture #9",t.Texture10="Foundation Texture #10",t.NoTexture="No Foundation Texture",t))(Or||{}),Co=(t=>(t.Facade01="Facade #1",t.Facade02="Facade #2",t.Facade03="Facade #3",t.Facade04="Facade #4",t.Facade05="Facade #5",t.Facade06="Facade #6",t.Facade07="Facade #7",t.Facade08="Facade #8",t.Facade09="Facade #9",t.Facade10="Facade #10",t.NoTexture="No Facade Texture",t))(Co||{}),No=(t=>(t.Default="Wall Texture Default",t.Texture01="Wall Texture #1",t.Texture02="Wall Texture #2",t.Texture03="Wall Texture #3",t.Texture04="Wall Texture #4",t.Texture05="Wall Texture #5",t.Texture06="Wall Texture #6",t.Texture07="Wall Texture #7",t.Texture08="Wall Texture #8",t.Texture09="Wall Texture #9",t.Texture10="Wall Texture #10",t.NoTexture="No Wall Texture",t))(No||{}),ri=(t=>(t.Default="Door Texture Default",t.Texture01="Door Texture #1",t.Texture02="Door Texture #2",t.Texture03="Door Texture #3",t.Texture04="Door Texture #4",t.Texture05="Door Texture #5",t.Texture06="Door Texture #6",t.Texture07="Door Texture #7",t.Texture08="Door Texture #8",t.Texture09="Door Texture #9",t.Texture10="Door Texture #10",t.Texture11="Door Texture #11",t.Texture12="Door Texture #12",t.Texture13="Door Texture #13",t.Texture14="Door Texture #14",t.Texture15="Door Texture #15",t.Texture16="Door Texture #16",t.Texture17="Door Texture #17",t.NoTexture="No Door Texture",t))(ri||{}),Ui=(t=>(t.Default="Roof Texture Default",t.Texture01="Roof Texture #1",t.Texture02="Roof Texture #2",t.Texture03="Roof Texture #3",t.Texture04="Roof Texture #4",t.Texture05="Roof Texture #5",t.Texture06="Roof Texture #6",t.Texture07="Roof Texture #7",t.NoTexture="No Roof Texture",t))(Ui||{}),j1=(t=>(t.Left="Left",t.Right="Right",t))(j1||{}),fc=(t=>(t.Valid="Valid",t.OverLap="OverLap",t.OutsideBoundary="OutsideBoundary",t.Invalid="Invalid",t))(fc||{}),ki=(t=>(t.Mid="Mid",t.Left="Left",t.Right="Right",t.TopMid="TopMid",t.TopLeft="TopLeft",t.TopRight="TopRight",t.FrontLeft="FrontLeft",t.FrontRight="FrontRight",t.BackLeft="BackLeft",t.BackRight="BackRight",t.Top="Top",t.Ridge="Ridge",t.Null="Null",t))(ki||{}),Ql=(t=>(t.BUILDING="Building",t.PV="PV",t.CSP="CSP",t.SUT="SUT",t.WIND="Wind",t))(Ql||{}),w_={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_FIREBASE_LOGGER_DATABASE_URL:"https://aladdin-2023.firebaseio.com",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const sce=new Map,Vj=t=>{const e=sce.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,o])=>[n,o.getState()])):{}},v3t=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};const o=sce.get(n.name);if(o)return{type:"tracked",store:t,...o};const i={connection:e.connect(n),stores:{}};return sce.set(n.name,i),{type:"tracked",store:t,...i}},x3t=(t,e={})=>(n,o,i)=>{const{enabled:r,anonymousActionType:a,store:l,...s}=e;let c;try{c=(r??(w_?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!c)return(w_?"production":void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,o,i);const{connection:u,...d}=v3t(l,c,s);let f=!0;i.setState=(A,w,b)=>{const C=n(A,w);if(!f)return C;const P=b===void 0?{type:a||"anonymous"}:typeof b=="string"?{type:b}:b;return l===void 0?(u==null||u.send(P,o()),C):(u==null||u.send({...P,type:`${l}/${P.type}`},{...Vj(s.name),[l]:i.getState()}),C)};const p=(...A)=>{const w=f;f=!1,n(...A),f=w},g=t(i.setState,o,i);if(d.type==="untracked"?u==null||u.init(g):(d.stores[d.store]=i,u==null||u.init(Object.fromEntries(Object.entries(d.stores).map(([A,w])=>[A,A===d.store?g:w.getState()])))),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let A=!1;const w=i.dispatch;i.dispatch=(...b)=>{(w_?"production":void 0)!=="production"&&b[0].type==="__setState"&&!A&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),A=!0),w(...b)}}return u.subscribe(A=>{var w;switch(A.type){case"ACTION":if(typeof A.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return Voe(A.payload,b=>{if(b.type==="__setState"){if(l===void 0){p(b.state);return}Object.keys(b.state).length!==1&&console.error(` + `)+X.join(" > ")}return null},n.getPublicRootInstance=function(X){if(X=X.current,!X.child)return null;switch(X.child.tag){case 5:return E(X.child.stateNode);default:return X.child.stateNode}},n.injectIntoDevTools=function(X){if(X={bundleType:X.bundleType,version:X.version,rendererPackageName:X.rendererPackageName,rendererConfig:X.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:l.ReactCurrentDispatcher,findHostInstanceByFiber:IM,findFiberByHostInstance:X.findFiberByHostInstance||L3,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")X=!1;else{var K=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(K.isDisabled||!K.supportsFiber)X=!0;else{try{Is=K.inject(X),qs=K}catch{}X=!!K.checkDCE}}return X},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(X,K,we,ke){if(!ve)throw Error(a(363));X=VA(X,K);var Ke=me(X,we,ke).disconnect;return{disconnect:function(){Ke()}}},n.registerMutableSourceForHydration=function(X,K){var we=K._getVersion;we=we(K._source),X.mutableSourceEagerHydrationData==null?X.mutableSourceEagerHydrationData=[K,we]:X.mutableSourceEagerHydrationData.push(K,we)},n.runWithPriority=function(X,K){var we=$o;try{return $o=X,K()}finally{$o=we}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(X,K,we,ke){var Ke=K.current,pt=v0(),Zt=Df(Ke);return we=D5(we),K.context===null?K.context=we:K.pendingContext=we,K=Jo(pt,Zt),K.payload={element:X},ke=ke===void 0?null:ke,ke!==null&&(K.callback=ke),lr(Ke,K),X=rd(Ke,Zt,pt),X!==null&&Kr(X,Ke,Zt),Zt},n};SNe.exports=o9t;var i9t=SNe.exports;const r9t=kr(i9t),a9t=t=>typeof t=="object"&&typeof t.then=="function",Iv=[];function CNe(t,e,n=(o,i)=>o===i){if(t===e)return!0;if(!t||!e)return!1;const o=t.length;if(e.length!==o)return!1;for(let i=0;i0&&(r.timeout&&clearTimeout(r.timeout),r.timeout=setTimeout(r.remove,o.lifespan)),r.response;if(!n)throw r.promise}const i={keys:e,equal:o.equal,remove:()=>{const r=Iv.indexOf(i);r!==-1&&Iv.splice(r,1)},promise:(a9t(t)?t:t(...e)).then(r=>{i.response=r,o.lifespan&&o.lifespan>0&&(i.timeout=setTimeout(i.remove,o.lifespan))}).catch(r=>i.error=r)};if(Iv.push(i),!n)throw i.promise}const HNe=(t,e,n)=>RNe(t,e,!1,n),l9t=(t,e,n)=>void RNe(t,e,!0,n),s9t=t=>{if(t===void 0||t.length===0)Iv.splice(0,Iv.length);else{const e=Iv.find(n=>CNe(t,n.keys,n.equal));e&&e.remove()}},D1e={},yb=t=>void Object.assign(D1e,t);function c9t(t,e){function n(u,{args:d=[],attach:f,...p},g){let A=`${u[0].toUpperCase()}${u.slice(1)}`,w;if(u==="primitive"){if(p.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const b=p.object;w=qT(b,{type:u,root:g,attach:f,primitive:!0})}else{const b=D1e[A];if(!b)throw new Error(`R3F: ${A} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(d))throw new Error("R3F: The args prop must be an array!");w=qT(new b(...d),{type:u,root:g,attach:f,memoizedProps:{args:d}})}return w.__r3f.attach===void 0&&(w instanceof Ur?w.__r3f.attach="geometry":w instanceof yf&&(w.__r3f.attach="material")),A!=="inject"&&Loe(w,p),w}function o(u,d){let f=!1;if(d){var p,g;(p=d.__r3f)!=null&&p.attach?Foe(u,d,d.__r3f.attach):d.isObject3D&&u.isObject3D&&(u.add(d),f=!0),f||(g=u.__r3f)==null||g.objects.push(d),d.__r3f||qT(d,{}),d.__r3f.parent=u,oce(d),$T(d)}}function i(u,d,f){let p=!1;if(d){var g,A;if((g=d.__r3f)!=null&&g.attach)Foe(u,d,d.__r3f.attach);else if(d.isObject3D&&u.isObject3D){d.parent=u,d.dispatchEvent({type:"added"});const w=u.children.filter(C=>C!==d),b=w.indexOf(f);u.children=[...w.slice(0,b),d,...w.slice(b)],p=!0}p||(A=u.__r3f)==null||A.objects.push(d),d.__r3f||qT(d,{}),d.__r3f.parent=u,oce(d),$T(d)}}function r(u,d,f=!1){u&&[...u].forEach(p=>a(d,p,f))}function a(u,d,f){if(d){var p,g,A;if(d.__r3f&&(d.__r3f.parent=null),(p=u.__r3f)!=null&&p.objects&&(u.__r3f.objects=u.__r3f.objects.filter(v=>v!==d)),(g=d.__r3f)!=null&&g.attach)pwe(u,d,d.__r3f.attach);else if(d.isObject3D&&u.isObject3D){var w;u.remove(d),(w=d.__r3f)!=null&&w.root&&A9t(d.__r3f.root,d)}const C=(A=d.__r3f)==null?void 0:A.primitive,P=f===void 0?d.dispose!==null&&!C:f;if(!C){var b;r((b=d.__r3f)==null?void 0:b.objects,d,P),r(d.children,d,P)}delete d.__r3f,P&&d.dispose&&d.type!=="Scene"&&tce.unstable_scheduleCallback(tce.unstable_IdlePriority,()=>{try{d.dispose()}catch{}}),$T(u)}}function l(u,d,f,p){var g;const A=(g=u.__r3f)==null?void 0:g.parent;if(!A)return;const w=n(d,f,u.__r3f.root);if(u.children){for(const b of u.children)b.__r3f&&o(w,b);u.children=u.children.filter(b=>!b.__r3f)}u.__r3f.objects.forEach(b=>o(w,b)),u.__r3f.objects=[],u.__r3f.autoRemovedBeforeAppend||a(A,u),w.parent&&(w.__r3f.autoRemovedBeforeAppend=!0),o(A,w),w.raycast&&w.__r3f.eventCount&&w.__r3f.root.getState().internal.interaction.push(w),[p,p.alternate].forEach(b=>{b!==null&&(b.stateNode=w,b.ref&&(typeof b.ref=="function"?b.ref(w):b.ref.current=w))})}const s=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:r9t({createInstance:n,removeChild:a,appendChild:o,appendInitialChild:o,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(u,d)=>{if(!d)return;const f=u.getState().scene;f.__r3f&&(f.__r3f.root=u,o(f,d))},removeChildFromContainer:(u,d)=>{d&&a(u.getState().scene,d)},insertInContainerBefore:(u,d,f)=>{if(!d||!f)return;const p=u.getState().scene;p.__r3f&&i(p,d,f)},getRootHostContext:()=>null,getChildHostContext:u=>u,finalizeInitialChildren(u){var d;return!!((d=u==null?void 0:u.__r3f)!=null?d:{}).handlers},prepareUpdate(u,d,f,p){var g;if(((g=u==null?void 0:u.__r3f)!=null?g:{}).primitive&&p.object&&p.object!==u)return[!0];{const{args:w=[],children:b,...C}=p,{args:P=[],children:v,...T}=f;if(!Array.isArray(w))throw new Error("R3F: the args prop must be an array!");if(w.some((S,x)=>S!==P[x]))return[!0];const y=FNe(u,C,T,!0);return y.changes.length?[!1,y]:null}},commitUpdate(u,[d,f],p,g,A,w){d?l(u,p,A,w):Loe(u,f)},commitMount(u,d,f,p){var g;const A=(g=u.__r3f)!=null?g:{};u.raycast&&A.handlers&&A.eventCount&&u.__r3f.root.getState().internal.interaction.push(u)},getPublicInstance:u=>u,prepareForCommit:()=>null,preparePortalMount:u=>qT(u.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(u){var d;const{attach:f,parent:p}=(d=u.__r3f)!=null?d:{};f&&p&&pwe(p,u,f),u.isObject3D&&(u.visible=!1),$T(u)},unhideInstance(u,d){var f;const{attach:p,parent:g}=(f=u.__r3f)!=null?f:{};p&&g&&Foe(g,u,p),(u.isObject3D&&d.visible==null||d.visible)&&(u.visible=!0),$T(u)},createTextInstance:s,hideTextInstance:s,unhideTextInstance:s,getCurrentEventPriority:()=>e?e():YP.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&dc.fun(performance.now)?performance.now:dc.fun(Date.now)?Date.now:()=>0,scheduleTimeout:dc.fun(setTimeout)?setTimeout:void 0,cancelTimeout:dc.fun(clearTimeout)?clearTimeout:void 0}),applyProps:Loe}}var uwe,dwe;const koe=t=>"colorSpace"in t||"outputColorSpace"in t,MNe=()=>{var t;return(t=D1e.ColorManagement)!=null?t:null},INe=t=>t&&t.isOrthographicCamera,u9t=t=>t&&t.hasOwnProperty("current"),XL=typeof window<"u"&&((uwe=window.document)!=null&&uwe.createElement||((dwe=window.navigator)==null?void 0:dwe.product)==="ReactNative")?m.useLayoutEffect:m.useEffect;function zNe(t){const e=m.useRef(t);return XL(()=>void(e.current=t),[t]),e}function d9t({set:t}){return XL(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class DNe extends m.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}DNe.getDerivedStateFromError=()=>({error:!0});const ENe="__default",fwe=new Map,f9t=t=>t&&!!t.memoized&&!!t.changes;function kNe(t){var e;const n=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(t)?Math.min(Math.max(t[0],n),t[1]):t}const hz=t=>{var e;return(e=t.__r3f)==null?void 0:e.root.getState()},dc={obj:t=>t===Object(t)&&!dc.arr(t)&&typeof t!="function",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",boo:t=>typeof t=="boolean",und:t=>t===void 0,arr:t=>Array.isArray(t),equ(t,e,{arrays:n="shallow",objects:o="reference",strict:i=!0}={}){if(typeof t!=typeof e||!!t!=!!e)return!1;if(dc.str(t)||dc.num(t))return t===e;const r=dc.obj(t);if(r&&o==="reference")return t===e;const a=dc.arr(t);if(a&&n==="reference")return t===e;if((a||r)&&t===e)return!0;let l;for(l in t)if(!(l in e))return!1;if(r&&n==="shallow"&&o==="shallow"){for(l in i?e:t)if(!dc.equ(t[l],e[l],{strict:i,objects:"reference"}))return!1}else for(l in i?e:t)if(t[l]!==e[l])return!1;if(dc.und(l)){if(a&&t.length===0&&e.length===0||r&&Object.keys(t).length===0&&Object.keys(e).length===0)return!0;if(t!==e)return!1}return!0}};function h9t(t){const e={nodes:{},materials:{}};return t&&t.traverse(n=>{n.name&&(e.nodes[n.name]=n),n.material&&!e.materials[n.material.name]&&(e.materials[n.material.name]=n.material)}),e}function p9t(t){t.dispose&&t.type!=="Scene"&&t.dispose();for(const e in t)e.dispose==null||e.dispose(),delete t[e]}function qT(t,e){const n=t;return n.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},t}function nce(t,e){let n=t;if(e.includes("-")){const o=e.split("-"),i=o.pop();return n=o.reduce((r,a)=>r[a],t),{target:n,key:i}}else return{target:n,key:e}}const hwe=/-\d+$/;function Foe(t,e,n){if(dc.str(n)){if(hwe.test(n)){const r=n.replace(hwe,""),{target:a,key:l}=nce(t,r);Array.isArray(a[l])||(a[l]=[])}const{target:o,key:i}=nce(t,n);e.__r3f.previousAttach=o[i],o[i]=e}else e.__r3f.previousAttach=n(t,e)}function pwe(t,e,n){var o,i;if(dc.str(n)){const{target:r,key:a}=nce(t,n),l=e.__r3f.previousAttach;l===void 0?delete r[a]:r[a]=l}else(o=e.__r3f)==null||o.previousAttach==null||o.previousAttach(t,e);(i=e.__r3f)==null||delete i.previousAttach}function FNe(t,{children:e,key:n,ref:o,...i},{children:r,key:a,ref:l,...s}={},c=!1){var u;const d=(u=t==null?void 0:t.__r3f)!=null?u:{},f=Object.entries(i),p=[];if(c){const A=Object.keys(s);for(let w=0;w{var b;if((b=t.__r3f)!=null&&b.primitive&&A==="object"||dc.equ(w,s[A]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(A))return p.push([A,w,!0,[]]);let C=[];A.includes("-")&&(C=A.split("-")),p.push([A,w,!1,C]);for(const P in i){const v=i[P];P.startsWith(`${A}-`)&&p.push([P,v,!1,P.split("-")])}});const g={...i};return d.memoizedProps&&d.memoizedProps.args&&(g.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(g.attach=d.memoizedProps.attach),{memoized:g,changes:p}}const g9t=typeof process<"u"&&!1;function Loe(t,e){var n,o,i;const r=(n=t.__r3f)!=null?n:{},a=r.root,l=(o=a==null||a.getState==null?void 0:a.getState())!=null?o:{},{memoized:s,changes:c}=f9t(e)?e:FNe(t,e),u=r.eventCount;t.__r3f&&(t.__r3f.memoizedProps=s);for(let f=0;fP[v],t),!(C&&C.set))){const[P,...v]=w.reverse();b=v.reverse().reduce((T,y)=>T[y],t),p=P}if(g===ENe+"remove")if(b.constructor){let P=fwe.get(b.constructor);P||(P=new b.constructor,fwe.set(b.constructor,P)),g=P[p]}else g=0;if(A)g?r.handlers[p]=g:delete r.handlers[p],r.eventCount=Object.keys(r.handlers).length;else if(C&&C.set&&(C.copy||C instanceof ox)){if(Array.isArray(g))C.fromArray?C.fromArray(g):C.set(...g);else if(C.copy&&g&&g.constructor&&(g9t?C.constructor.name===g.constructor.name:C.constructor===g.constructor))C.copy(g);else if(g!==void 0){const P=C instanceof Xo;!P&&C.setScalar?C.setScalar(g):C instanceof ox&&g instanceof ox?C.mask=g.mask:C.set(g),!MNe()&&!l.linear&&P&&C.convertSRGBToLinear()}}else if(b[p]=g,b[p]instanceof _c&&b[p].format===kp&&b[p].type===m9){const P=b[p];koe(P)&&koe(l.gl)?P.colorSpace=l.gl.outputColorSpace:P.encoding=l.gl.outputEncoding}$T(t)}if(r.parent&&l.internal&&t.raycast&&u!==r.eventCount){const f=l.internal.interaction.indexOf(t);f>-1&&l.internal.interaction.splice(f,1),r.eventCount&&l.internal.interaction.push(t)}return!(c.length===1&&c[0][0]==="onUpdate")&&c.length&&(i=t.__r3f)!=null&&i.parent&&oce(t),t}function $T(t){var e,n;const o=(e=t.__r3f)==null||(n=e.root)==null||n.getState==null?void 0:n.getState();o&&o.internal.frames===0&&o.invalidate()}function oce(t){t.onUpdate==null||t.onUpdate(t)}function m9t(t,e){t.manual||(INe(t)?(t.left=e.width/-2,t.right=e.width/2,t.top=e.height/2,t.bottom=e.height/-2):t.aspect=e.width/e.height,t.updateProjectionMatrix(),t.updateMatrixWorld())}function jj(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instanceId}function y9t(){var t;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return YP.DefaultEventPriority;switch((t=e.event)==null?void 0:t.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return YP.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return YP.ContinuousEventPriority;default:return YP.DefaultEventPriority}}function LNe(t,e,n,o){const i=n.get(e);i&&(n.delete(e),n.size===0&&(t.delete(o),i.target.releasePointerCapture(o)))}function A9t(t,e){const{internal:n}=t.getState();n.interaction=n.interaction.filter(o=>o!==e),n.initialHits=n.initialHits.filter(o=>o!==e),n.hovered.forEach((o,i)=>{(o.eventObject===e||o.object===e)&&n.hovered.delete(i)}),n.capturedMap.forEach((o,i)=>{LNe(n.capturedMap,e,o,i)})}function w9t(t){function e(s){const{internal:c}=t.getState(),u=s.offsetX-c.initialClick[0],d=s.offsetY-c.initialClick[1];return Math.round(Math.sqrt(u*u+d*d))}function n(s){return s.filter(c=>["Move","Over","Enter","Out","Leave"].some(u=>{var d;return(d=c.__r3f)==null?void 0:d.handlers["onPointer"+u]}))}function o(s,c){const u=t.getState(),d=new Set,f=[],p=c?c(u.internal.interaction):u.internal.interaction;for(let b=0;b{const P=hz(b.object),v=hz(C.object);return!P||!v?b.distance-C.distance:v.events.priority-P.events.priority||b.distance-C.distance}).filter(b=>{const C=jj(b);return d.has(C)?!1:(d.add(C),!0)});u.events.filter&&(A=u.events.filter(A,u));for(const b of A){let C=b.object;for(;C;){var w;(w=C.__r3f)!=null&&w.eventCount&&f.push({...b,eventObject:C}),C=C.parent}}if("pointerId"in s&&u.internal.capturedMap.has(s.pointerId))for(let b of u.internal.capturedMap.get(s.pointerId).values())d.has(jj(b.intersection))||f.push(b.intersection);return f}function i(s,c,u,d){const f=t.getState();if(s.length){const p={stopped:!1};for(const g of s){const A=hz(g.object)||f,{raycaster:w,pointer:b,camera:C,internal:P}=A,v=new re(b.x,b.y,0).unproject(C),T=H=>{var D,k;return(D=(k=P.capturedMap.get(H))==null?void 0:k.has(g.eventObject))!=null?D:!1},y=H=>{const D={intersection:g,target:c.target};P.capturedMap.has(H)?P.capturedMap.get(H).set(g.eventObject,D):P.capturedMap.set(H,new Map([[g.eventObject,D]])),c.target.setPointerCapture(H)},S=H=>{const D=P.capturedMap.get(H);D&&LNe(P.capturedMap,g.eventObject,D,H)};let x={};for(let H in c){let D=c[H];typeof D!="function"&&(x[H]=D)}let R={...g,...x,pointer:b,intersections:s,stopped:p.stopped,delta:u,unprojectedPoint:v,ray:w.ray,camera:C,stopPropagation(){const H="pointerId"in c&&P.capturedMap.get(c.pointerId);if((!H||H.has(g.eventObject))&&(R.stopped=p.stopped=!0,P.hovered.size&&Array.from(P.hovered.values()).find(D=>D.eventObject===g.eventObject))){const D=s.slice(0,s.indexOf(g));r([...D,g])}},target:{hasPointerCapture:T,setPointerCapture:y,releasePointerCapture:S},currentTarget:{hasPointerCapture:T,setPointerCapture:y,releasePointerCapture:S},nativeEvent:c};if(d(R),p.stopped===!0)break}}return s}function r(s){const{internal:c}=t.getState();for(const u of c.hovered.values())if(!s.length||!s.find(d=>d.object===u.object&&d.index===u.index&&d.instanceId===u.instanceId)){const f=u.eventObject.__r3f,p=f==null?void 0:f.handlers;if(c.hovered.delete(jj(u)),f!=null&&f.eventCount){const g={...u,intersections:s};p.onPointerOut==null||p.onPointerOut(g),p.onPointerLeave==null||p.onPointerLeave(g)}}}function a(s,c){for(let u=0;ur([]);case"onLostPointerCapture":return c=>{const{internal:u}=t.getState();"pointerId"in c&&u.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{u.capturedMap.has(c.pointerId)&&(u.capturedMap.delete(c.pointerId),r([]))})}}return function(u){const{onPointerMissed:d,internal:f}=t.getState();f.lastEvent.current=u;const p=s==="onPointerMove",g=s==="onClick"||s==="onContextMenu"||s==="onDoubleClick",w=o(u,p?n:void 0),b=g?e(u):0;s==="onPointerDown"&&(f.initialClick=[u.offsetX,u.offsetY],f.initialHits=w.map(P=>P.eventObject)),g&&!w.length&&b<=2&&(a(u,f.interaction),d&&d(u)),p&&r(w);function C(P){const v=P.eventObject,T=v.__r3f,y=T==null?void 0:T.handlers;if(T!=null&&T.eventCount)if(p){if(y.onPointerOver||y.onPointerEnter||y.onPointerOut||y.onPointerLeave){const S=jj(P),x=f.hovered.get(S);x?x.stopped&&P.stopPropagation():(f.hovered.set(S,P),y.onPointerOver==null||y.onPointerOver(P),y.onPointerEnter==null||y.onPointerEnter(P))}y.onPointerMove==null||y.onPointerMove(P)}else{const S=y[s];S?(!g||f.initialHits.includes(v))&&(a(u,f.interaction.filter(x=>!f.initialHits.includes(x))),S(P)):g&&f.initialHits.includes(v)&&a(u,f.interaction.filter(x=>!f.initialHits.includes(x)))}}i(w,u,b,C)}}return{handlePointer:l}}const WNe=t=>!!(t!=null&&t.render),NNe=m.createContext(null),v9t=(t,e)=>{const n=n9t((l,s)=>{const c=new re,u=new re,d=new re;function f(b=s().camera,C=u,P=s().size){const{width:v,height:T,top:y,left:S}=P,x=v/T;C instanceof re?d.copy(C):d.set(...C);const R=b.getWorldPosition(c).distanceTo(d);if(INe(b))return{width:v/b.zoom,height:T/b.zoom,top:y,left:S,factor:1,distance:R,aspect:x};{const H=b.fov*Math.PI/180,D=2*Math.tan(H/2)*R,k=D*(v/T);return{width:k,height:D,top:y,left:S,factor:v/k,distance:R,aspect:x}}}let p;const g=b=>l(C=>({performance:{...C.performance,current:b}})),A=new Gt;return{set:l,get:s,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(b=1)=>t(s(),b),advance:(b,C)=>e(b,C,s()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new R1e,pointer:A,mouse:A,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const b=s();p&&clearTimeout(p),b.performance.current!==b.performance.min&&g(b.performance.min),p=setTimeout(()=>g(s().performance.max),b.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:f},setEvents:b=>l(C=>({...C,events:{...C.events,...b}})),setSize:(b,C,P,v,T)=>{const y=s().camera,S={width:b,height:C,top:v||0,left:T||0,updateStyle:P};l(x=>({size:S,viewport:{...x.viewport,...f(y,u,S)}}))},setDpr:b=>l(C=>{const P=kNe(b);return{viewport:{...C.viewport,dpr:P,initialDpr:C.viewport.initialDpr||P}}}),setFrameloop:(b="always")=>{const C=s().clock;C.stop(),C.elapsedTime=0,b!=="never"&&(C.start(),C.elapsedTime=0),l(()=>({frameloop:b}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:m.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(b,C,P)=>{const v=s().internal;return v.priority=v.priority+(C>0?1:0),v.subscribers.push({ref:b,priority:C,store:P}),v.subscribers=v.subscribers.sort((T,y)=>T.priority-y.priority),()=>{const T=s().internal;T!=null&&T.subscribers&&(T.priority=T.priority-(C>0?1:0),T.subscribers=T.subscribers.filter(y=>y.ref!==b))}}}}}),o=n.getState();let i=o.size,r=o.viewport.dpr,a=o.camera;return n.subscribe(()=>{const{camera:l,size:s,viewport:c,gl:u,set:d}=n.getState();if(s.width!==i.width||s.height!==i.height||c.dpr!==r){var f;i=s,r=c.dpr,m9t(l,s),u.setPixelRatio(c.dpr);const p=(f=s.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&u.domElement instanceof HTMLCanvasElement;u.setSize(s.width,s.height,p)}l!==a&&(a=l,d(p=>({viewport:{...p.viewport,...p.viewport.getCurrentViewport(l)}})))}),n.subscribe(l=>t(l)),n};let Yj,x9t=new Set,b9t=new Set,S9t=new Set;function Woe(t,e){if(t.size)for(const{callback:n}of t.values())n(e)}function pz(t,e){switch(t){case"before":return Woe(x9t,e);case"after":return Woe(b9t,e);case"tail":return Woe(S9t,e)}}let Noe,Uoe;function Boe(t,e,n){let o=e.clock.getDelta();for(e.frameloop==="never"&&typeof t=="number"&&(o=t-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=t),Noe=e.internal.subscribers,Yj=0;Yj0)&&!((c=i.gl.xr)!=null&&c.isPresenting)&&(n+=Boe(s,i))}if(pz("after",s),n===0)return pz("tail",s),e=!1,cancelAnimationFrame(o)}function a(s,c=1){var u;if(!s)return t.forEach(d=>a(d.store.getState()),c);(u=s.gl.xr)!=null&&u.isPresenting||!s.internal.active||s.frameloop==="never"||(s.internal.frames=Math.min(60,s.internal.frames+c),e||(e=!0,requestAnimationFrame(r)))}function l(s,c=!0,u,d){if(c&&pz("before",s),u)Boe(s,u,d);else for(const f of t.values())Boe(s,f.store.getState());c&&pz("after",s)}return{loop:r,invalidate:a,advance:l}}function UNe(){const t=m.useContext(NNe);if(!t)throw new Error("R3F: Hooks can only be used within the Canvas component!");return t}function Xi(t=n=>n,e){return UNe()(t,e)}function rA(t,e=0){const n=UNe(),o=n.getState().internal.subscribe,i=zNe(t);return XL(()=>o(i,e,n),[e,o,n]),null}const gwe=new WeakMap;function BNe(t,e){return function(n,...o){let i=gwe.get(n);return i||(i=new n,gwe.set(n,i)),t&&t(i),Promise.all(o.map(r=>new Promise((a,l)=>i.load(r,s=>{s.scene&&Object.assign(s,h9t(s.scene)),a(s)},e,s=>l(new Error(`Could not load ${r}: ${s==null?void 0:s.message}`)))))).finally(()=>i.dispose==null?void 0:i.dispose())}}function aA(t,e,n,o){const i=Array.isArray(e)?e:[e],r=HNe(BNe(n,o),[t,...i],{equal:dc.equ});return Array.isArray(e)?r:r[0]}aA.preload=function(t,e,n){const o=Array.isArray(e)?e:[e];return l9t(BNe(n),[t,...o])};aA.clear=function(t,e){const n=Array.isArray(e)?e:[e];return s9t([t,...n])};const XC=new Map,{invalidate:Zh,advance:mwe}=T9t(XC),{reconciler:GV,applyProps:pT}=c9t(XC,y9t),gT={objects:"shallow",strict:!1},P9t=(t,e)=>{const n=typeof t=="function"?t(e):t;return WNe(n)?n:new u1e({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...t})};function C9t(t,e){const n=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement;if(e){const{width:o,height:i,top:r,left:a,updateStyle:l=n}=e;return{width:o,height:i,top:r,left:a,updateStyle:l}}else if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&t.parentElement){const{width:o,height:i,top:r,left:a}=t.parentElement.getBoundingClientRect();return{width:o,height:i,top:r,left:a,updateStyle:n}}else if(typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height,top:0,left:0,updateStyle:n};return{width:0,height:0,top:0,left:0}}function R9t(t){const e=XC.get(t),n=e==null?void 0:e.fiber,o=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,r=o||v9t(Zh,mwe),a=n||GV.createContainer(r,YP.ConcurrentRoot,null,!1,null,"",i,null);e||XC.set(t,{fiber:a,store:r});let l,s=!1,c;return{configure(u={}){let{gl:d,size:f,scene:p,events:g,onCreated:A,shadows:w=!1,linear:b=!1,flat:C=!1,legacy:P=!1,orthographic:v=!1,frameloop:T="always",dpr:y=[1,2],performance:S,raycaster:x,camera:R,onPointerMissed:H}=u,D=r.getState(),k=D.gl;D.gl||D.set({gl:k=P9t(d,t)});let W=D.raycaster;W||D.set({raycaster:W=new Gs});const{params:N,...L}=x||{};if(dc.equ(L,W,gT)||pT(W,{...L}),dc.equ(N,W.params,gT)||pT(W,{params:{...W.params,...N}}),!D.camera||D.camera===c&&!dc.equ(c,R,gT)){c=R;const O=R instanceof BL,J=O?R:v?new YL(0,0,0,0,.1,1e3):new Iu(75,0,.1,1e3);O||(J.position.z=5,R&&pT(J,R),!D.camera&&!(R!=null&&R.rotation)&&J.lookAt(0,0,0)),D.set({camera:J}),W.camera=J}if(!D.scene){let O;p instanceof OV?O=p:(O=new OV,p&&pT(O,p)),D.set({scene:qT(O)})}if(!D.xr){var E;const O=(ie,ee)=>{const q=r.getState();q.frameloop!=="never"&&mwe(ie,!0,q,ee)},J=()=>{const ie=r.getState();ie.gl.xr.enabled=ie.gl.xr.isPresenting,ie.gl.xr.setAnimationLoop(ie.gl.xr.isPresenting?O:null),ie.gl.xr.isPresenting||Zh(ie)},Z={connect(){const ie=r.getState().gl;ie.xr.addEventListener("sessionstart",J),ie.xr.addEventListener("sessionend",J)},disconnect(){const ie=r.getState().gl;ie.xr.removeEventListener("sessionstart",J),ie.xr.removeEventListener("sessionend",J)}};typeof((E=k.xr)==null?void 0:E.addEventListener)=="function"&&Z.connect(),D.set({xr:Z})}if(k.shadowMap){const O=k.shadowMap.enabled,J=k.shadowMap.type;if(k.shadowMap.enabled=!!w,dc.boo(w))k.shadowMap.type=qD;else if(dc.str(w)){var U;const Z={basic:ALe,percentage:IK,soft:qD,variance:t2};k.shadowMap.type=(U=Z[w])!=null?U:qD}else dc.obj(w)&&Object.assign(k.shadowMap,w);(O!==k.shadowMap.enabled||J!==k.shadowMap.type)&&(k.shadowMap.needsUpdate=!0)}const F=MNe();F&&("enabled"in F?F.enabled=!P:"legacyMode"in F&&(F.legacyMode=P)),pT(k,{outputEncoding:b?3e3:3001,toneMapping:C?g9:Gpe}),D.legacy!==P&&D.set(()=>({legacy:P})),D.linear!==b&&D.set(()=>({linear:b})),D.flat!==C&&D.set(()=>({flat:C})),d&&!dc.fun(d)&&!WNe(d)&&!dc.equ(d,k,gT)&&pT(k,d),g&&!D.events.handlers&&D.set({events:g(r)});const Y=C9t(t,f);return dc.equ(Y,D.size,gT)||D.setSize(Y.width,Y.height,Y.updateStyle,Y.top,Y.left),y&&D.viewport.dpr!==kNe(y)&&D.setDpr(y),D.frameloop!==T&&D.setFrameloop(T),D.onPointerMissed||D.set({onPointerMissed:H}),S&&!dc.equ(S,D.performance,gT)&&D.set(O=>({performance:{...O.performance,...S}})),l=A,s=!0,this},render(u){return s||this.configure(),GV.updateContainer(m.createElement(H9t,{store:r,children:u,onCreated:l,rootElement:t}),a,null,()=>{}),r},unmount(){jNe(t)}}}function H9t({store:t,children:e,onCreated:n,rootElement:o}){return XL(()=>{const i=t.getState();i.set(r=>({internal:{...r.internal,active:!0}})),n&&n(i),t.getState().events.connected||i.events.connect==null||i.events.connect(o)},[]),m.createElement(NNe.Provider,{value:t},e)}function jNe(t,e){const n=XC.get(t),o=n==null?void 0:n.fiber;if(o){const i=n==null?void 0:n.store.getState();i&&(i.internal.active=!1),GV.updateContainer(null,o,null,()=>{i&&setTimeout(()=>{try{var r,a,l,s;i.events.disconnect==null||i.events.disconnect(),(r=i.gl)==null||(a=r.renderLists)==null||a.dispose==null||a.dispose(),(l=i.gl)==null||l.forceContextLoss==null||l.forceContextLoss(),(s=i.gl)!=null&&s.xr&&i.xr.disconnect(),p9t(i),XC.delete(t)}catch{}},500)})}}GV.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:m.version});function XV(){return XV=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0?o=setTimeout(s,e-u):(o=null,n||(l=t.apply(r,i),r=i=null))}var c=function(){r=this,i=arguments,a=Date.now();var u=n&&!o;return o||(o=setTimeout(s,e)),u&&(l=t.apply(r,i),r=i=null),l};return c.clear=function(){o&&(clearTimeout(o),o=null)},c.flush=function(){o&&(l=t.apply(r,i),r=i=null,clearTimeout(o),o=null)},c}ice.debounce=ice;var M9t=ice;const ywe=kr(M9t);function I9t(t){let{debounce:e,scroll:n,polyfill:o,offsetSize:i}=t===void 0?{debounce:0,scroll:!1,offsetSize:!1}:t;const r=o||(typeof window>"u"?class{}:window.ResizeObserver);if(!r)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[a,l]=m.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),s=m.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a}),c=e?typeof e=="number"?e:e.scroll:null,u=e?typeof e=="number"?e:e.resize:null,d=m.useRef(!1);m.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,p,g]=m.useMemo(()=>{const C=()=>{if(!s.current.element)return;const{left:P,top:v,width:T,height:y,bottom:S,right:x,x:R,y:H}=s.current.element.getBoundingClientRect(),D={left:P,top:v,width:T,height:y,bottom:S,right:x,x:R,y:H};s.current.element instanceof HTMLElement&&i&&(D.height=s.current.element.offsetHeight,D.width=s.current.element.offsetWidth),Object.freeze(D),d.current&&!k9t(s.current.lastBounds,D)&&l(s.current.lastBounds=D)};return[C,u?ywe(C,u):C,c?ywe(C,c):C]},[l,i,c,u]);function A(){s.current.scrollContainers&&(s.current.scrollContainers.forEach(C=>C.removeEventListener("scroll",g,!0)),s.current.scrollContainers=null),s.current.resizeObserver&&(s.current.resizeObserver.disconnect(),s.current.resizeObserver=null)}function w(){s.current.element&&(s.current.resizeObserver=new r(g),s.current.resizeObserver.observe(s.current.element),n&&s.current.scrollContainers&&s.current.scrollContainers.forEach(C=>C.addEventListener("scroll",g,{capture:!0,passive:!0})))}const b=C=>{!C||C===s.current.element||(A(),s.current.element=C,s.current.scrollContainers=YNe(C),w())};return D9t(g,!!n),z9t(p),m.useEffect(()=>{A(),w()},[n,g,p]),m.useEffect(()=>A,[]),[b,a,f]}function z9t(t){m.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function D9t(t,e){m.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function YNe(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:o,overflowY:i}=window.getComputedStyle(t);return[n,o,i].some(r=>r==="auto"||r==="scroll")&&e.push(t),[...e,...YNe(t.parentElement)]}const E9t=["x","y","top","bottom","left","right","width","height"],k9t=(t,e)=>E9t.every(n=>t[n]===e[n]);var F9t=Object.defineProperty,L9t=Object.defineProperties,W9t=Object.getOwnPropertyDescriptors,Awe=Object.getOwnPropertySymbols,N9t=Object.prototype.hasOwnProperty,U9t=Object.prototype.propertyIsEnumerable,wwe=(t,e,n)=>e in t?F9t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vwe=(t,e)=>{for(var n in e||(e={}))N9t.call(e,n)&&wwe(t,n,e[n]);if(Awe)for(var n of Awe(e))U9t.call(e,n)&&wwe(t,n,e[n]);return t},B9t=(t,e)=>L9t(t,W9t(e));function ONe(t,e,n){if(!t)return;if(n(t)===!0)return t;let o=t.child;for(;o;){const i=ONe(o,e,n);if(i)return i;o=o.sibling}}function _Ne(t){try{return Object.defineProperties(t,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return t}}const E1e=_Ne(m.createContext(null));class VNe extends m.Component{render(){return m.createElement(E1e.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:xwe,ReactCurrentDispatcher:bwe}=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function j9t(){const t=m.useContext(E1e);if(t===null)throw new Error("its-fine: useFiber must be called within a !");const e=m.useId();return m.useMemo(()=>{for(const o of[xwe==null?void 0:xwe.current,t,t==null?void 0:t.alternate]){if(!o)continue;const i=ONe(o,!1,r=>{let a=r.memoizedState;for(;a;){if(a.memoizedState===e)return!0;a=a.next}});if(i)return i}},[t,e])}function Y9t(){var t,e;const n=j9t(),[o]=m.useState(()=>new Map);o.clear();let i=n;for(;i;){const r=(t=i.type)==null?void 0:t._context;r&&r!==E1e&&!o.has(r)&&o.set(r,(e=bwe==null?void 0:bwe.current)==null?void 0:e.readContext(_Ne(r))),i=i.return}return o}function O9t(){const t=Y9t();return m.useMemo(()=>Array.from(t.keys()).reduce((e,n)=>o=>m.createElement(e,null,m.createElement(n.Provider,B9t(vwe({},o),{value:t.get(n)}))),e=>m.createElement(VNe,vwe({},e))),[t])}const joe={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function _9t(t){const{handlePointer:e}=w9t(t);return{priority:1,enabled:!0,compute(n,o,i){o.pointer.set(n.offsetX/o.size.width*2-1,-(n.offsetY/o.size.height)*2+1),o.raycaster.setFromCamera(o.pointer,o.camera)},connected:void 0,handlers:Object.keys(joe).reduce((n,o)=>({...n,[o]:e(o)}),{}),update:()=>{var n;const{events:o,internal:i}=t.getState();(n=i.lastEvent)!=null&&n.current&&o.handlers&&o.handlers.onPointerMove(i.lastEvent.current)},connect:n=>{var o;const{set:i,events:r}=t.getState();r.disconnect==null||r.disconnect(),i(a=>({events:{...a.events,connected:n}})),Object.entries((o=r.handlers)!=null?o:[]).forEach(([a,l])=>{const[s,c]=joe[a];n.addEventListener(s,l,{passive:c})})},disconnect:()=>{const{set:n,events:o}=t.getState();if(o.connected){var i;Object.entries((i=o.handlers)!=null?i:[]).forEach(([r,a])=>{if(o&&o.connected instanceof HTMLElement){const[l]=joe[r];o.connected.removeEventListener(l,a)}}),n(r=>({events:{...r.events,connected:void 0}}))}}}}const V9t=m.forwardRef(function({children:e,fallback:n,resize:o,style:i,gl:r,events:a=_9t,eventSource:l,eventPrefix:s,shadows:c,linear:u,flat:d,legacy:f,orthographic:p,frameloop:g,dpr:A,performance:w,raycaster:b,camera:C,scene:P,onPointerMissed:v,onCreated:T,...y},S){m.useMemo(()=>yb(Z5t),[]);const x=O9t(),[R,H]=I9t({scroll:!0,debounce:{scroll:50,resize:0},...o}),D=m.useRef(null),k=m.useRef(null);m.useImperativeHandle(S,()=>D.current);const W=zNe(v),[N,L]=m.useState(!1),[E,U]=m.useState(!1);if(N)throw N;if(E)throw E;const F=m.useRef(null);XL(()=>{const _=D.current;H.width>0&&H.height>0&&_&&(F.current||(F.current=R9t(_)),F.current.configure({gl:r,events:a,shadows:c,linear:u,flat:d,legacy:f,orthographic:p,frameloop:g,dpr:A,performance:w,raycaster:b,camera:C,scene:P,size:H,onPointerMissed:(...Y)=>W.current==null?void 0:W.current(...Y),onCreated:Y=>{Y.events.connect==null||Y.events.connect(l?u9t(l)?l.current:l:k.current),s&&Y.setEvents({compute:(O,J)=>{const Z=O[s+"X"],ie=O[s+"Y"];J.pointer.set(Z/J.size.width*2-1,-(ie/J.size.height)*2+1),J.raycaster.setFromCamera(J.pointer,J.camera)}}),T==null||T(Y)}}),F.current.render(m.createElement(x,null,m.createElement(DNe,{set:U},m.createElement(m.Suspense,{fallback:m.createElement(d9t,{set:L})},e)))))}),m.useEffect(()=>{const _=D.current;if(_)return()=>jNe(_)},[]);const B=l?"none":"auto";return m.createElement("div",XV({ref:k,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:B,...i}},y),m.createElement("div",{ref:R,style:{width:"100%",height:"100%"}},m.createElement("canvas",{ref:D,style:{display:"block"}},n)))}),G9t=m.forwardRef(function(e,n){return m.createElement(VNe,null,m.createElement(V9t,XV({},e,{ref:n})))});function X9t(t,e,n){return e=JV(e),n3t(t,GNe()?Reflect.construct(e,n||[],JV(t).constructor):e.apply(t,n))}function GNe(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(GNe=function(){return!!t})()}function J9t(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function K9t(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function q9t(t){var e=K9t(t,"string");return typeof e=="symbol"?e:String(e)}function $9t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Q9t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:"",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:10,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"rgba(255, 255, 255, 1)";return $9t(this,e),n=X9t(this,e,[new mT.SpriteMaterial]),n._text="".concat(o),n._textHeight=i,n._color=r,n._backgroundColor=!1,n._padding=0,n._borderWidth=0,n._borderRadius=0,n._borderColor="white",n._strokeWidth=0,n._strokeColor="white",n._fontFace="system-ui",n._fontSize=90,n._fontWeight="normal",n._canvas=document.createElement("canvas"),n._genCanvas(),n}return Z9t(e,[{key:"text",get:function(){return this._text},set:function(o){this._text=o,this._genCanvas()}},{key:"textHeight",get:function(){return this._textHeight},set:function(o){this._textHeight=o,this._genCanvas()}},{key:"color",get:function(){return this._color},set:function(o){this._color=o,this._genCanvas()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(o){this._backgroundColor=o,this._genCanvas()}},{key:"padding",get:function(){return this._padding},set:function(o){this._padding=o,this._genCanvas()}},{key:"borderWidth",get:function(){return this._borderWidth},set:function(o){this._borderWidth=o,this._genCanvas()}},{key:"borderRadius",get:function(){return this._borderRadius},set:function(o){this._borderRadius=o,this._genCanvas()}},{key:"borderColor",get:function(){return this._borderColor},set:function(o){this._borderColor=o,this._genCanvas()}},{key:"fontFace",get:function(){return this._fontFace},set:function(o){this._fontFace=o,this._genCanvas()}},{key:"fontSize",get:function(){return this._fontSize},set:function(o){this._fontSize=o,this._genCanvas()}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(o){this._fontWeight=o,this._genCanvas()}},{key:"strokeWidth",get:function(){return this._strokeWidth},set:function(o){this._strokeWidth=o,this._genCanvas()}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(o){this._strokeColor=o,this._genCanvas()}},{key:"_genCanvas",value:function(){var o=this,i=this._canvas,r=i.getContext("2d"),a=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],l=a.map(function(S){return S*o.fontSize*.1}),s=Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius],c=s.map(function(S){return S*o.fontSize*.1}),u=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],d=u.map(function(S){return S*o.fontSize*.1}),f=this.text.split(` +`),p="".concat(this.fontWeight," ").concat(this.fontSize,"px ").concat(this.fontFace);r.font=p;var g=Math.max.apply(Math,Oj(f.map(function(S){return r.measureText(S).width}))),A=this.fontSize*f.length;if(i.width=g+l[0]*2+d[0]*2,i.height=A+l[1]*2+d[1]*2,this.borderWidth){if(r.strokeStyle=this.borderColor,l[0]){var w=l[0]/2;r.lineWidth=l[0],r.beginPath(),r.moveTo(w,c[0]),r.lineTo(w,i.height-c[3]),r.moveTo(i.width-w,c[1]),r.lineTo(i.width-w,i.height-c[2]),r.stroke()}if(l[1]){var b=l[1]/2;r.lineWidth=l[1],r.beginPath(),r.moveTo(Math.max(l[0],c[0]),b),r.lineTo(i.width-Math.max(l[0],c[1]),b),r.moveTo(Math.max(l[0],c[3]),i.height-b),r.lineTo(i.width-Math.max(l[0],c[2]),i.height-b),r.stroke()}if(this.borderRadius){var C=Math.max.apply(Math,Oj(l)),P=C/2;r.lineWidth=C,r.beginPath(),[!!c[0]&&[c[0],P,P,c[0]],!!c[1]&&[i.width-c[1],i.width-P,P,c[1]],!!c[2]&&[i.width-c[2],i.width-P,i.height-P,i.height-c[2]],!!c[3]&&[c[3],P,i.height-P,i.height-c[3]]].filter(function(S){return S}).forEach(function(S){var x=Swe(S,4),R=x[0],H=x[1],D=x[2],k=x[3];r.moveTo(R,D),r.quadraticCurveTo(H,D,H,k)}),r.stroke()}}this.backgroundColor&&(r.fillStyle=this.backgroundColor,this.borderRadius?(r.beginPath(),r.moveTo(l[0],c[0]),[[l[0],c[0],i.width-c[1],l[1],l[1],l[1]],[i.width-l[0],i.width-l[0],i.width-l[0],l[1],c[1],i.height-c[2]],[i.width-l[0],i.width-c[2],c[3],i.height-l[1],i.height-l[1],i.height-l[1]],[l[0],l[0],l[0],i.height-l[1],i.height-c[3],c[0]]].forEach(function(S){var x=Swe(S,6),R=x[0],H=x[1],D=x[2],k=x[3],W=x[4],N=x[5];r.quadraticCurveTo(R,k,H,W),r.lineTo(D,N)}),r.closePath(),r.fill()):r.fillRect(l[0],l[1],i.width-l[0]*2,i.height-l[1]*2)),r.translate.apply(r,Oj(l)),r.translate.apply(r,Oj(d)),r.font=p,r.fillStyle=this.color,r.textBaseline="bottom";var v=this.strokeWidth>0;v&&(r.lineWidth=this.strokeWidth*this.fontSize/10,r.strokeStyle=this.strokeColor),f.forEach(function(S,x){var R=(g-r.measureText(S).width)/2,H=(x+1)*o.fontSize;v&&r.strokeText(S,R,H),r.fillText(S,R,H)}),this.material.map&&this.material.map.dispose();var T=this.material.map=new mT.Texture(i);T.minFilter=mT.LinearFilter,T.colorSpace=mT.SRGBColorSpace,T.needsUpdate=!0;var y=this.textHeight*f.length+a[1]*2+u[1]*2;this.scale.set(y*i.width/i.height,y,0)}},{key:"clone",value:function(){return new this.constructor(this.text,this.textHeight,this.color).copy(this)}},{key:"copy",value:function(o){return mT.Sprite.prototype.copy.call(this,o),this.color=o.color,this.backgroundColor=o.backgroundColor,this.padding=o.padding,this.borderWidth=o.borderWidth,this.borderColor=o.borderColor,this.fontFace=o.fontFace,this.fontSize=o.fontSize,this.fontWeight=o.fontWeight,this.strokeWidth=o.strokeWidth,this.strokeColor=o.strokeColor,this}}]),e}(mT.Sprite);const U8={type:"change"},Yoe={type:"start"},B8={type:"end"};class c3t extends V9{constructor(e,n){super(),n===void 0&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),n===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=e,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new re,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.moveSpeed=1,this.turnSpeed=1,this.keys={MOVE_LEFT:"KeyA",MOVE_RIGHT:"KeyD",MOVE_FORWARD:"KeyW",MOVE_BACKWARD:"KeyS",MOVE_UP:"KeyZ",MOVE_DOWN:"KeyX",ROTATE_LEFT:"ArrowLeft",ROTATE_UP:"ArrowUp",ROTATE_RIGHT:"ArrowRight",ROTATE_DOWN:"ArrowDown"},this.mouseButtons={LEFT:ov.ROTATE,MIDDLE:ov.DOLLY,RIGHT:ov.PAN},this.touches={ONE:iv.ROTATE,TWO:iv.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return l.phi},this.getAzimuthalAngle=function(){return l.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(We){We.addEventListener("keydown",Pe),this._domElementKeyEvents=We,S=!1,x=0},this.removeKeyEvents=function(){o._domElementKeyEvents!==null&&o._domElementKeyEvents.removeEventListener("keydown",Pe)},this.saveState=function(){o.target0.copy(o.target),o.position0.copy(o.object.position),o.zoom0=o.object.zoom},this.reset=function(){o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),o.dispatchEvent(U8),o.update(),r=i.NONE},this.update=function(){const We=new re,Ee=new Ts().setFromUnitVectors(e.up,new re(0,1,0)),Fe=Ee.clone().invert(),Ge=new re,rt=new Ts,_e=2*Math.PI;return function(){const dt=o.object.position;We.copy(dt).sub(o.target),We.applyQuaternion(Ee),l.setFromVector3(We),o.autoRotate&&r===i.NONE&&D(R()),o.enableDamping?(l.theta+=s.theta*o.dampingFactor,l.phi+=s.phi*o.dampingFactor):(l.theta+=s.theta,l.phi+=s.phi);let Qe=o.minAzimuthAngle,ct=o.maxAzimuthAngle;return isFinite(Qe)&&isFinite(ct)&&(Qe<-Math.PI?Qe+=_e:Qe>Math.PI&&(Qe-=_e),ct<-Math.PI?ct+=_e:ct>Math.PI&&(ct-=_e),Qe<=ct?l.theta=Math.max(Qe,Math.min(ct,l.theta)):l.theta=l.theta>(Qe+ct)/2?Math.max(Qe,l.theta):Math.min(ct,l.theta)),l.phi=Math.max(o.minPolarAngle,Math.min(o.maxPolarAngle,l.phi)),l.makeSafe(),l.radius*=c,l.radius=Math.max(o.minDistance,Math.min(o.maxDistance,l.radius)),o.enableDamping===!0?o.target.addScaledVector(u,o.dampingFactor):o.target.add(u),We.setFromSpherical(l),We.applyQuaternion(Fe),dt.copy(o.target).add(We),o.object.lookAt(o.target),o.enableDamping===!0?(s.theta*=1-o.dampingFactor,s.phi*=1-o.dampingFactor,u.multiplyScalar(1-o.dampingFactor)):(s.set(0,0,0),u.set(0,0,0)),c=1,d||Ge.distanceToSquared(o.object.position)>a||8*(1-rt.dot(o.object.quaternion))>a?(o.dispatchEvent(U8),Ge.copy(o.object.position),rt.copy(o.object.quaternion),d=!1,!0):!1}}(),this.dispose=function(){o.domElement.removeEventListener("contextmenu",De),o.domElement.removeEventListener("pointerdown",Ie),o.domElement.removeEventListener("pointercancel",oe),o.domElement.removeEventListener("wheel",me),o.domElement.removeEventListener("pointermove",ze),o.domElement.removeEventListener("pointerup",ye),o._domElementKeyEvents!==null&&o._domElementKeyEvents.removeEventListener("keydown",Pe)};const o=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let r=i.NONE;const a=1e-6,l=new ece,s=new ece;let c=1;const u=new re;let d=!1;const f=new Gt,p=new Gt,g=new Gt,A=new Gt,w=new Gt,b=new Gt,C=new Gt,P=new Gt,v=new Gt,T=[],y={};let S=!1,x=0;function R(){return 2*Math.PI/60/60*o.autoRotateSpeed}function H(){return Math.pow(.95,o.zoomSpeed)}function D(We){s.theta-=We}function k(We){s.phi-=We}const W=function(){const We=new re;return function(Fe,Ge){We.setFromMatrixColumn(Ge,0),We.multiplyScalar(-Fe),u.add(We)}}(),N=function(){const We=new re;return function(Fe,Ge){o.screenSpacePanning===!0?We.setFromMatrixColumn(Ge,1):(We.setFromMatrixColumn(Ge,0),We.crossVectors(o.object.up,We)),We.multiplyScalar(Fe),u.add(We)}}(),L=function(){const We=new re;return function(Fe,Ge){const rt=o.domElement;if(o.object.isPerspectiveCamera){const _e=o.object.position;We.copy(_e).sub(o.target);let xt=We.length();xt*=Math.tan(o.object.fov/2*Math.PI/180),W(2*Fe*xt/rt.clientHeight,o.object.matrix),N(2*Ge*xt/rt.clientHeight,o.object.matrix)}else o.object.isOrthographicCamera?(W(Fe*(o.object.right-o.object.left)/o.object.zoom/rt.clientWidth,o.object.matrix),N(Ge*(o.object.top-o.object.bottom)/o.object.zoom/rt.clientHeight,o.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),o.enablePan=!1)}}(),E=function(){const We=new re;return function(Fe){const Ge=o.object;We.setFromMatrixColumn(Ge.matrix,1),We.multiplyScalar(Fe*.1),Ge.position.add(We),Ge.position.z=Math.max(0,Ge.position.z),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),U=function(){const We=new re;return function(Fe){const Ge=o.object;We.setFromMatrixColumn(Ge.matrix,0),We.crossVectors(Ge.up,We),We.multiplyScalar(Fe*.1),Ge.position.add(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),F=function(){const We=new re;return function(Fe){const Ge=o.object;We.setFromMatrixColumn(Ge.matrix,0),We.multiplyScalar(Fe*.1),Ge.position.add(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),B=function(){const We=new Qt(0,0,0,"ZXY");return function(Fe){const Ge=o.object;We.setFromQuaternion(Ge.quaternion),Math.abs(Math.abs(We.z-x)-Math.PI)<.01&&(S=!S),S?We.x-=.01*Fe:We.x+=.01*Fe,We.x=Math.max(.1,We.x),x=We.z,Ge.quaternion.setFromEuler(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}(),_=function(){const We=new Qt(0,0,0,"ZXY");return function(Fe){const Ge=o.object;We.setFromQuaternion(Ge.quaternion),We.z-=.01*Fe,Ge.quaternion.setFromEuler(We),o.dispatchEvent(U8),o.dispatchEvent(B8)}}();function Y(We){o.object.isPerspectiveCamera?c/=We:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom*We)),o.object.updateProjectionMatrix(),d=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function O(We){o.object.isPerspectiveCamera?c*=We:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom/We)),o.object.updateProjectionMatrix(),d=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function J(We){f.set(We.clientX,We.clientY)}function Z(We){C.set(We.clientX,We.clientY)}function ie(We){A.set(We.clientX,We.clientY)}function ee(We){p.set(We.clientX,We.clientY),g.subVectors(p,f).multiplyScalar(o.rotateSpeed);const Ee=o.domElement;D(2*Math.PI*g.x/Ee.clientHeight),k(2*Math.PI*g.y/Ee.clientHeight),f.copy(p),o.update()}function q(We){P.set(We.clientX,We.clientY),v.subVectors(P,C),v.y>0?Y(H()):v.y<0&&O(H()),C.copy(P),o.update()}function ae(We){w.set(We.clientX,We.clientY),b.subVectors(w,A).multiplyScalar(o.panSpeed),L(b.x,b.y),A.copy(w),o.update()}function ne(We){We.deltaY<0?O(H()):We.deltaY>0&&Y(H()),o.update()}function se(We){switch(We.code){case o.keys.MOVE_FORWARD:U(o.moveSpeed);break;case o.keys.MOVE_BACKWARD:U(-o.moveSpeed);break;case o.keys.MOVE_UP:E(o.moveSpeed);break;case o.keys.MOVE_DOWN:E(-o.moveSpeed);break;case o.keys.MOVE_RIGHT:F(o.moveSpeed);break;case o.keys.MOVE_LEFT:F(-o.moveSpeed);break;case o.keys.ROTATE_UP:B(o.turnSpeed);break;case o.keys.ROTATE_DOWN:B(-o.turnSpeed);break;case o.keys.ROTATE_LEFT:_(-o.turnSpeed);break;case o.keys.ROTATE_RIGHT:_(o.turnSpeed);break}}function le(){if(T.length===1)f.set(T[0].pageX,T[0].pageY);else{const We=.5*(T[0].pageX+T[1].pageX),Ee=.5*(T[0].pageY+T[1].pageY);f.set(We,Ee)}}function te(){if(T.length===1)A.set(T[0].pageX,T[0].pageY);else{const We=.5*(T[0].pageX+T[1].pageX),Ee=.5*(T[0].pageY+T[1].pageY);A.set(We,Ee)}}function he(){const We=T[0].pageX-T[1].pageX,Ee=T[0].pageY-T[1].pageY,Fe=Math.sqrt(We*We+Ee*Ee);C.set(0,Fe)}function pe(){o.enableZoom&&he(),o.enablePan&&te()}function fe(){o.enableZoom&&he(),o.enableRotate&&le()}function $(We){if(T.length===1)p.set(We.pageX,We.pageY);else{const Fe=$e(We),Ge=.5*(We.pageX+Fe.x),rt=.5*(We.pageY+Fe.y);p.set(Ge,rt)}g.subVectors(p,f).multiplyScalar(o.rotateSpeed);const Ee=o.domElement;D(2*Math.PI*g.x/Ee.clientHeight),k(2*Math.PI*g.y/Ee.clientHeight),f.copy(p)}function de(We){if(T.length===1)w.set(We.pageX,We.pageY);else{const Ee=$e(We),Fe=.5*(We.pageX+Ee.x),Ge=.5*(We.pageY+Ee.y);w.set(Fe,Ge)}b.subVectors(w,A).multiplyScalar(o.panSpeed),L(b.x,b.y),A.copy(w)}function Se(We){const Ee=$e(We),Fe=We.pageX-Ee.x,Ge=We.pageY-Ee.y,rt=Math.sqrt(Fe*Fe+Ge*Ge);P.set(0,rt),v.set(0,Math.pow(P.y/C.y,o.zoomSpeed)),Y(v.y),C.copy(P)}function Ce(We){o.enableZoom&&Se(We),o.enablePan&&de(We)}function ve(We){o.enableZoom&&Se(We),o.enableRotate&&$(We)}function Ie(We){o.enabled!==!1&&(T.length===0&&(o.domElement.setPointerCapture(We.pointerId),o.domElement.addEventListener("pointermove",ze),o.domElement.addEventListener("pointerup",ye)),Ne(We),We.pointerType==="touch"?Me(We):ge(We))}function ze(We){o.enabled!==!1&&(We.pointerType==="touch"?Te(We):Ae(We))}function ye(We){Ye(We),T.length===0&&(o.domElement.releasePointerCapture(We.pointerId),o.domElement.removeEventListener("pointermove",ze),o.domElement.removeEventListener("pointerup",ye)),o.dispatchEvent(B8),r=i.NONE}function oe(We){Ye(We)}function ge(We){let Ee;switch(We.button){case 0:Ee=o.mouseButtons.LEFT;break;case 1:Ee=o.mouseButtons.MIDDLE;break;case 2:Ee=o.mouseButtons.RIGHT;break;default:Ee=-1}switch(Ee){case ov.DOLLY:if(o.enableZoom===!1)return;Z(We),r=i.DOLLY;break;case ov.ROTATE:if(o.object.isOrthographicCamera){if(o.enablePan===!1)return;ie(We),r=i.PAN}else if(We.ctrlKey||We.metaKey){if(o.enablePan===!1)return;ie(We),r=i.PAN}else{if(o.enableRotate===!1)return;J(We),r=i.ROTATE}break;case ov.PAN:if(We.ctrlKey||We.metaKey){if(o.enableRotate===!1)return;J(We),r=i.ROTATE}else{if(o.enablePan===!1)return;ie(We),r=i.PAN}break;default:r=i.NONE}r!==i.NONE&&o.dispatchEvent(Yoe)}function Ae(We){if(o.enabled!==!1)switch(r){case i.ROTATE:if(o.enableRotate===!1)return;ee(We);break;case i.DOLLY:if(o.enableZoom===!1)return;q(We);break;case i.PAN:if(o.enablePan===!1)return;ae(We);break}}function me(We){o.enabled===!1||o.enableZoom===!1||r!==i.NONE||(We.preventDefault(),o.dispatchEvent(Yoe),ne(We),o.dispatchEvent(B8))}function Pe(We){o.enabled===!1||o.enablePan===!1||se(We)}function Me(We){switch(Le(We),T.length){case 1:switch(o.touches.ONE){case iv.ROTATE:if(o.enableRotate===!1)return;le(),r=i.TOUCH_ROTATE;break;case iv.PAN:if(o.enablePan===!1)return;te(),r=i.TOUCH_PAN;break;default:r=i.NONE}break;case 2:switch(o.touches.TWO){case iv.DOLLY_PAN:if(o.enableZoom===!1&&o.enablePan===!1)return;pe(),r=i.TOUCH_DOLLY_PAN;break;case iv.DOLLY_ROTATE:if(o.enableZoom===!1&&o.enableRotate===!1)return;fe(),r=i.TOUCH_DOLLY_ROTATE;break;default:r=i.NONE}break;default:r=i.NONE}r!==i.NONE&&o.dispatchEvent(Yoe)}function Te(We){switch(Le(We),r){case i.TOUCH_ROTATE:if(o.enableRotate===!1)return;$(We),o.update();break;case i.TOUCH_PAN:if(o.enablePan===!1)return;de(We),o.update();break;case i.TOUCH_DOLLY_PAN:if(o.enableZoom===!1&&o.enablePan===!1)return;Ce(We),o.update();break;case i.TOUCH_DOLLY_ROTATE:if(o.enableZoom===!1&&o.enableRotate===!1)return;ve(We),o.update();break;default:r=i.NONE}}function De(We){o.enabled!==!1&&We.preventDefault()}function Ne(We){T.push(We)}function Ye(We){delete y[We.pointerId];for(let Ee=0;Ee=4){this.makeEmpty();for(let n=0,o=e.length;nthis.tolerance)return!1;return!0}intersectRay(e,n){const o=this.faces;let i=-1/0,r=1/0;for(let a=0,l=o.length;a0&&u>=0)return null;const d=u!==0?-c/u:0;if(!(d<=0)&&(u>0?r=Math.min(d,r):i=Math.max(d,i),i>r))return null}return i!==-1/0?e.at(i,n):e.at(r,n),n}intersectsRay(e){return this.intersectRay(e,d3t)!==null}makeEmpty(){return this.faces=[],this.vertices=[],this}addVertexToFace(e,n){return e.face=n,n.outside===null?this.assigned.append(e):this.assigned.insertBefore(n.outside,e),n.outside=e,this}removeVertexFromFace(e,n){return e===n.outside&&(e.next!==null&&e.next.face===n?n.outside=e.next:n.outside=null),this.assigned.remove(e),this}removeAllVerticesFromFace(e){if(e.outside!==null){const n=e.outside;let o=e.outside;for(;o.next!==null&&o.next.face===e;)o=o.next;return this.assigned.removeSubList(n,o),n.prev=o.next=null,e.outside=null,n}}deleteFaceVertices(e,n){const o=this.removeAllVerticesFromFace(e);if(o!==void 0)if(n===void 0)this.unassigned.appendChain(o);else{let i=o;do{const r=i.next;n.distanceToPoint(i.point)>this.tolerance?this.addVertexToFace(i,n):this.unassigned.append(i),i=r}while(i!==null)}return this}resolveUnassignedPoints(e){if(this.unassigned.isEmpty()===!1){let n=this.unassigned.first();do{const o=n.next;let i=this.tolerance,r=null;for(let a=0;ai&&(i=s,r=l),i>1e3*this.tolerance)break}}r!==null&&this.addVertexToFace(n,r),n=o}while(n!==null)}return this}computeExtremes(){const e=new re,n=new re,o=[],i=[];for(let r=0;r<3;r++)o[r]=i[r]=this.vertices[0];e.copy(this.vertices[0].point),n.copy(this.vertices[0].point);for(let r=0,a=this.vertices.length;rn.getComponent(c)&&(n.setComponent(c,s.getComponent(c)),i[c]=l)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(e.x),Math.abs(n.x))+Math.max(Math.abs(e.y),Math.abs(n.y))+Math.max(Math.abs(e.z),Math.abs(n.z))),{min:o,max:i}}computeInitialHull(){const e=this.vertices,n=this.computeExtremes(),o=n.min,i=n.max;let r=0,a=0;for(let f=0;f<3;f++){const p=i[f].point.getComponent(f)-o[f].point.getComponent(f);p>r&&(r=p,a=f)}const l=o[a],s=i[a];let c,u;r=0,Twe.set(l.point,s.point);for(let f=0,p=this.vertices.length;fr&&(r=A,c=g)}}r=-1,Ooe.setFromCoplanarPoints(l.point,s.point,c.point);for(let f=0,p=this.vertices.length;fr&&(r=A,u=g)}}const d=[];if(Ooe.distanceToPoint(u.point)<0){d.push($y.create(l,s,c),$y.create(u,s,l),$y.create(u,c,s),$y.create(u,l,c));for(let f=0;f<3;f++){const p=(f+1)%3;d[f+1].getEdge(2).setTwin(d[0].getEdge(p)),d[f+1].getEdge(1).setTwin(d[p+1].getEdge(0))}}else{d.push($y.create(l,c,s),$y.create(u,l,s),$y.create(u,s,c),$y.create(u,c,l));for(let f=0;f<3;f++){const p=(f+1)%3;d[f+1].getEdge(2).setTwin(d[0].getEdge((3-f)%3)),d[f+1].getEdge(0).setTwin(d[p+1].getEdge(1))}}for(let f=0;f<4;f++)this.faces.push(d[f]);for(let f=0,p=e.length;fr&&(r=b,A=this.faces[w])}A!==null&&this.addVertexToFace(g,A)}}return this}reindexFaces(){const e=[];for(let n=0;nn&&(n=r,e=i),i=i.next}while(i!==null&&i.face===o);return e}}computeHorizon(e,n,o,i){this.deleteFaceVertices(o),o.mark=u3t;let r;n===null?r=n=o.getEdge(0):r=n.next;do{const a=r.twin,l=a.face;l.mark===A_&&(l.distanceToPoint(e)>this.tolerance?this.computeHorizon(e,a,l,i):i.push(r)),r=r.next}while(r!==n);return this}addAdjoiningFace(e,n){const o=$y.create(e,n.tail(),n.head());return this.faces.push(o),o.getEdge(-1).setTwin(n.twin),o.getEdge(0)}addNewFaces(e,n){this.newFaces=[];let o=null,i=null;for(let r=0;r0;)n=n.next,e--;for(;e<0;)n=n.prev,e++;return n}compute(){const e=this.edge.tail(),n=this.edge.head(),o=this.edge.next.head();return _j.set(e.point,n.point,o.point),_j.getNormal(this.normal),_j.getMidpoint(this.midpoint),this.area=_j.getArea(),this.constant=this.normal.dot(this.midpoint),this}distanceToPoint(e){return this.normal.dot(e)-this.constant}}class _oe{constructor(e,n){this.vertex=e,this.prev=null,this.next=null,this.twin=null,this.face=n}head(){return this.vertex}tail(){return this.prev?this.prev.vertex:null}length(){const e=this.head(),n=this.tail();return n!==null?n.point.distanceTo(e.point):-1}lengthSquared(){const e=this.head(),n=this.tail();return n!==null?n.point.distanceToSquared(e.point):-1}setTwin(e){return this.twin=e,e.twin=this,this}}class h3t{constructor(e){this.point=e,this.prev=null,this.next=null,this.face=null}}class Cwe{constructor(){this.head=null,this.tail=null}first(){return this.head}last(){return this.tail}clear(){return this.head=this.tail=null,this}insertBefore(e,n){return n.prev=e.prev,n.next=e,n.prev===null?this.head=n:n.prev.next=n,e.prev=n,this}insertAfter(e,n){return n.prev=e,n.next=e.next,n.next===null?this.tail=n:n.next.prev=n,e.next=n,this}append(e){return this.head===null?this.head=e:this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e,this}appendChain(e){for(this.head===null?this.head=e:this.tail.next=e,e.prev=this.tail;e.next!==null;)e=e.next;return this.tail=e,this}remove(e){return e.prev===null?this.head=e.next:e.prev.next=e.next,e.next===null?this.tail=e.prev:e.next.prev=e.prev,this}removeSubList(e,n){return e.prev===null?this.head=n.next:e.prev.next=n.next,n.next===null?this.tail=e.prev:n.next.prev=e.prev,this}isEmpty(){return this.head===null}}class lce extends Ur{constructor(e,n,o){super();const i=[],r=[],a=[],l=new Qt(0,0,n),c=new f3t().setFromPoints(e).faces;for(let u=0;u(t.FILES="Files",t.LOG_DATA="Log Data",t))(KV||{}),rc=(t=>(t.UNKNOWN="UNKNOWN SCHOOL",t.SCHOOL1="SCHOOL 1",t.SCHOOL2="SCHOOL 2",t.SCHOOL3="SCHOOL 3",t.SCHOOL4="SCHOOL 4",t.SCHOOL5="SCHOOL 5",t))(rc||{}),Ua=(t=>(t.UNKNOWN="UNKNOWN CLASS",t.CLASS1="CLASS 1",t.CLASS2="CLASS 2",t.CLASS3="CLASS 3",t.CLASS4="CLASS 4",t.CLASS5="CLASS 5",t.CLASS6="CLASS 6",t.CLASS7="CLASS 7",t.CLASS8="CLASS 8",t.CLASS9="CLASS 9",t))(Ua||{}),n9=(t=>(t[t.ALL=0]="ALL",t[t.INDIVIDUALS=1]="INDIVIDUALS",t[t.GROUPS=2]="GROUPS",t))(n9||{}),da=(t=>(t.UNKNOWN="Unknown",t.UNDER_CONSTRUCTION="Under Construction",t.RESIDENTIAL_BUILDING="Residential Building",t.COMMERCIAL_BUILDING="Commercial Building",t.SCHOOL_BUILDING="School Building",t.TOURIST_ATTRACTION="Tourist Attraction",t.PHOTOVOLTAIC="Photovoltaic",t.PARABOLIC_DISH="Parabolic Dish",t.PARABOLIC_TROUGH="Parabolic Trough",t.FRESNEL_REFLECTOR="Fresnel Reflector",t.SOLAR_POWER_TOWER="Solar Power Tower",t.WIND_TURBINE="Wind Turbine",t.COLOCATION_PROJECTS="Colocation Projects",t))(da||{}),Uc=(t=>(t[t.COMPLETE=0]="COMPLETE",t[t.ROOF_MISSING=1]="ROOF_MISSING",t[t.WALL_DISJOINED=2]="WALL_DISJOINED",t[t.WALL_EMPTY=3]="WALL_EMPTY",t))(Uc||{}),Tr=(t=>(t.SOLAR_PANEL_TILT_ANGLE="Solar Panel Tilt Angle",t.SOLAR_PANEL_ARRAY="Solar Panel Array",t))(Tr||{}),xo=(t=>(t[t.DAILY_TOTAL_OUTPUT=1]="DAILY_TOTAL_OUTPUT",t[t.YEARLY_TOTAL_OUTPUT=2]="YEARLY_TOTAL_OUTPUT",t[t.DAILY_AVERAGE_OUTPUT=3]="DAILY_AVERAGE_OUTPUT",t[t.YEARLY_AVERAGE_OUTPUT=4]="YEARLY_AVERAGE_OUTPUT",t[t.DAILY_PROFIT=5]="DAILY_PROFIT",t[t.YEARLY_PROFIT=6]="YEARLY_PROFIT",t))(xo||{}),Bs=(t=>(t[t.GENETIC_ALGORITHM=1]="GENETIC_ALGORITHM",t[t.PARTICLE_SWARM_OPTIMIZATION=2]="PARTICLE_SWARM_OPTIMIZATION",t))(Bs||{}),zm=(t=>(t[t.ROULETTE_WHEEL=1]="ROULETTE_WHEEL",t[t.TOURNAMENT=2]="TOURNAMENT",t))(zm||{}),as=(t=>(t[t.GLOBAL_SEARCH_UNIFORM_SELECTION=1]="GLOBAL_SEARCH_UNIFORM_SELECTION",t[t.LOCAL_SEARCH_RANDOM_OPTIMIZATION=2]="LOCAL_SEARCH_RANDOM_OPTIMIZATION",t[t.GLOBAL_SEARCH_FITNESS_SHARING=3]="GLOBAL_SEARCH_FITNESS_SHARING",t))(as||{}),Oh=(t=>(t[t.Solid=1]="Solid",t[t.Dashed=2]="Dashed",t[t.Dotted=3]="Dotted",t))(Oh||{}),Vy=(t=>(t[t.One=1]="One",t[t.Two=2]="Two",t[t.Three=3]="Three",t[t.Four=4]="Four",t[t.Five=5]="Five",t))(Vy||{}),Pl=(t=>(t[t.Line=1]="Line",t[t.Area=2]="Area",t))(Pl||{}),xr=(t=>(t[t.HourlyTemperatures=1]="HourlyTemperatures",t[t.MonthlyTemperatures=2]="MonthlyTemperatures",t[t.SunshineHours=3]="SunshineHours",t[t.DaylightData=4]="DaylightData",t[t.ClearnessData=5]="ClearnessData",t[t.YearlyRadiationSensorData=6]="YearlyRadiationSensorData",t[t.DailyRadiationSensorData=7]="DailyRadiationSensorData",t[t.YearlyPvYield=8]="YearlyPvYield",t[t.DailyPvYield=9]="DailyPvYield",t[t.YearlyParabolicTroughYield=10]="YearlyParabolicTroughYield",t[t.DailyParabolicTroughYield=11]="DailyParabolicTroughYield",t[t.YearlyParabolicDishYield=12]="YearlyParabolicDishYield",t[t.DailyParabolicDishYield=13]="DailyParabolicDishYield",t[t.YearlyFresnelReflectorYield=14]="YearlyFresnelReflectorYield",t[t.DailyFresnelReflectorYield=15]="DailyFresnelReflectorYield",t[t.YearlyHeliostatYield=16]="YearlyHeliostatYield",t[t.DailyHeliostatYield=17]="DailyHeliostatYield",t[t.YearlyUpdraftTowerYield=18]="YearlyUpdraftTowerYield",t[t.DailyUpdraftTowerYield=19]="DailyUpdraftTowerYield",t[t.YearlyBuildingEnergy=20]="YearlyBuildingEnergy",t[t.DailyBuildingEnergy=21]="DailyBuildingEnergy",t))(xr||{}),Ns=(t=>(t.Default="Default",t.Desert="Desert",t.Dune="Dune",t.Forest="Forest",t.Grassland="Grassland",t.Hill="Hill",t.Lake="Lake",t.Mountain="Mountain",t.Rural="Rural",t))(Ns||{}),d2=(t=>(t[t.Sinusoidal=1]="Sinusoidal",t[t.PartonLogan=2]="PartonLogan",t))(d2||{}),Z5=(t=>(t.English="English",t.ChineseSimplified="简体中文",t.ChineseTraditional="繁体中文",t.Turkish="Türkçe",t.Spanish="Español",t.Ukrainian="Українська",t))(Z5||{}),z=(t=>(t.Sky="Sky",t.Ground="Ground",t.Foundation="Foundation",t.Wall="Wall",t.Window="Window",t.Door="Door",t.Roof="Roof",t.PyramidRoof="Pyramid Roof",t.GableRoof="Gable Roof",t.HipRoof="Hip Roof",t.GambrelRoof="Gambrel Roof",t.MansardRoof="Mansard Roof",t.Sensor="Sensor",t.SolarPanel="Solar Panel",t.WaterHeater="Water Heater",t.ParabolicDish="Parabolic Dish",t.ParabolicTrough="Parabolic Trough",t.FresnelReflector="Fresnel Reflector",t.Heliostat="Heliostat",t.WindTurbine="Wind Turbine",t.VerticalAxisWindTurbine="Vertical Axis Wind Turbine",t.Cuboid="Cuboid",t.Human="Human",t.Tree="Tree",t.Flower="Flower",t.Polygon="Polygon",t.PolygonVertex="Polygon Vertex",t.Light="Light",t.None="None",t))(z||{}),tf=(t=>(t[t.CentralPole=1]="CentralPole",t[t.CentralPoleWithTripod=2]="CentralPoleWithTripod",t[t.Quadrupod=3]="Quadrupod",t))(tf||{}),zn=(t=>(t[t.None=0]="None",t[t.FocusPipe=1]="FocusPipe",t[t.FocusTower=2]="FocusTower",t[t.UpdraftTower=3]="UpdraftTower",t))(zn||{}),lc=(t=>(t[t.None=0]="None",t[t.Bicolor=1]="Bicolor",t[t.Striped=2]="Striped",t))(lc||{}),zo=(t=>(t.Select="Select",t.Move="Move",t.Resize="Resize",t.Rotate="Rotate",t.ContextMenu="ContextMenu",t))(zo||{}),yo=(t=>(t.Default="Move Handle",t.Lower="Move Handle Lower",t.Upper="Move Handle Upper",t.Left="Move Handle Left",t.Right="Move Handle Right",t.Top="Move Handle Top",t.Mid="Move Handle Mid",t))(yo||{}),wl=(t=>(t.Left="Left",t.Right="Right",t.Up="Up",t.Down="Down",t))(wl||{}),gt=(t=>(t.LowerLeft="Resize Handle Lower Left",t.UpperLeft="Resize Handle Upper Left",t.LowerRight="Resize Handle Lower Right",t.UpperRight="Resize Handle Upper Right",t.LowerLeftTop="Resize Handle Lower Left Top",t.UpperLeftTop="Resize Handle Upper Left Top",t.LowerRightTop="Resize Handle Lower Right Top",t.UpperRightTop="Resize Handle Upper Right Top",t.Lower="Resize Handle Lower",t.Upper="Resize Handle Upper",t.Left="Resize Handle Left",t.Right="Resize Handle Right",t.Top="Resize Handle Top",t.Default="Resize Handle",t.Arch="Resize Handle Arch",t.WallPartialResizeLeft="Wall Partial Resize Handle Left",t.WallPartialResizeRight="Wall Partial Resize Handle Right",t.WallPartialResizeLeftTop="Wall Partial Resize Handle Left Top",t.WallPartialResizeRightTop="Wall Partial Resize Handle Right Top",t))(gt||{}),wi=(t=>(t.Lower="Rotate Handle Lower",t.Upper="Rotate Handle Upper",t.Tilt="Rotate Handle Tilt",t))(wi||{}),ix=(t=>(t.Delete="Delete Vertex",t.InsertBeforeIndex="Insert Vertex Before Index",t.InsertAfterIndex="Insert Vertex After Index",t))(ix||{}),Kf=(t=>(t.Horizontal="Horizontal",t.Vertical="Vertical",t.Ground="Ground",t.Sky="Sky",t))(Kf||{}),ue=(t=>(t[t.OnlyThisObject=1]="OnlyThisObject",t[t.AllObjectsOfThisTypeOnSurface=2]="AllObjectsOfThisTypeOnSurface",t[t.AllObjectsOfThisTypeAboveFoundation=3]="AllObjectsOfThisTypeAboveFoundation",t[t.AllObjectsOfThisType=4]="AllObjectsOfThisType",t[t.AllConnectedObjects=5]="AllConnectedObjects",t[t.OnlyThisSide=6]="OnlyThisSide",t[t.AllSelectedObjectsOfThisType=7]="AllSelectedObjectsOfThisType",t))(ue||{}),ui=(t=>(t.portrait="Portrait",t.landscape="Landscape",t))(ui||{}),Rl=(t=>(t.eastWest="East-West",t.northSouth="North-South",t.leftRight="Left-Right",t.upDown="Up-Down",t))(Rl||{}),Ma=(t=>(t.NO_TRACKER="None",t.HORIZONTAL_SINGLE_AXIS_TRACKER="HSAT",t.ALTAZIMUTH_DUAL_AXIS_TRACKER="AADAT",t.VERTICAL_SINGLE_AXIS_TRACKER="VSAT",t.TILTED_SINGLE_AXIS_TRACKER="TSAT",t))(Ma||{}),zv=(t=>(t.NONE="None",t.HIGH="High",t.PARTIAL="Partial",t))(zv||{}),Hm=(t=>(t.EXACT="Exact",t.APPROXIMATE="Approximate",t))(Hm||{}),fi=(t=>(t.Apple="Apple",t.Birch="Birch",t.Coconut="Coconut",t.Dogwood="Dogwood",t.Elm="Elm",t.FanPalm="Fan Palm",t.Linden="Linden",t.Magnolia="Magnolia",t.Maple="Maple",t.Oak="Oak",t.Pine="Pine",t.Spruce="Spruce",t))(fi||{}),$n=(t=>(t.Bellflower="Bellflower",t.Boxwood="Boxwood",t.CactusCombo1="Cactus Combo 1",t.CactusCombo2="Cactus Combo 2",t.CactusCombo3="Cactus Combo 3",t.CactusCombo4="Cactus Combo 4",t.Hibiscus="Hibiscus",t.Hosta="Hosta",t.Hydrangea="Hydrangea",t.Peony="Peony",t.RedRose="Red Rose",t.Spirea="Spirea",t.Sunflower="Sunflower",t.TallBush="Tall Bush",t.Tulip="Tulip",t.WhiteFlower="White Flower",t.YellowFlower="Yellow Flower",t))($n||{}),Ca=(t=>(t.Male="Male",t.Female="Female",t.Other="Other",t))(Ca||{}),Yt=(t=>(t.Jaah="Jaah",t.Jack="Jack",t.Jacob="Jacob",t.Jacqueline="Jacqueline",t.Jade="Jade",t.Jamelia="Jamelia",t.James="James",t.Jane="Jane",t.Jaya="Jaya",t.Jaye="Jaye",t.Jeanette="Jeanette",t.Jedi="Jedi",t.Jeff="Jeff",t.Jena="Jena",t.Jennifer="Jennifer",t.Jess="Jess",t.Jett="Jett",t.Jill="Jill",t.Jiya="Jiya",t.Jocelyn="Jocelyn",t.Joan="Joan",t.Joel="Joel",t.Joey="Joey",t.John="John",t.Jonathon="Jonathon",t.Joseph="Joseph",t.Jose="Jose",t.Joshua="Joshua",t.Judd="Judd",t.Judy="Judy",t.Julia="Julia",t.Julio="Julio",t.Jumapili="Jumapili",t.June="June",t.Juro="Juro",t.Justin="Justin",t))(Yt||{}),qi=(t=>(t.Texture01="Polygon Texture #1",t.Texture02="Polygon Texture #2",t.Texture03="Polygon Texture #3",t.Texture04="Polygon Texture #4",t.Texture05="Polygon Texture #5",t.Texture06="Polygon Texture #6",t.Texture07="Polygon Texture #7",t.Texture08="Polygon Texture #8",t.Texture09="Polygon Texture #9",t.Texture10="Polygon Texture #10",t.NoTexture="No Polygon Texture",t))(qi||{}),Or=(t=>(t.Texture01="Foundation Texture #1",t.Texture02="Foundation Texture #2",t.Texture03="Foundation Texture #3",t.Texture04="Foundation Texture #4",t.Texture05="Foundation Texture #5",t.Texture06="Foundation Texture #6",t.Texture07="Foundation Texture #7",t.Texture08="Foundation Texture #8",t.Texture09="Foundation Texture #9",t.Texture10="Foundation Texture #10",t.NoTexture="No Foundation Texture",t))(Or||{}),Co=(t=>(t.Facade01="Facade #1",t.Facade02="Facade #2",t.Facade03="Facade #3",t.Facade04="Facade #4",t.Facade05="Facade #5",t.Facade06="Facade #6",t.Facade07="Facade #7",t.Facade08="Facade #8",t.Facade09="Facade #9",t.Facade10="Facade #10",t.NoTexture="No Facade Texture",t))(Co||{}),No=(t=>(t.Default="Wall Texture Default",t.Texture01="Wall Texture #1",t.Texture02="Wall Texture #2",t.Texture03="Wall Texture #3",t.Texture04="Wall Texture #4",t.Texture05="Wall Texture #5",t.Texture06="Wall Texture #6",t.Texture07="Wall Texture #7",t.Texture08="Wall Texture #8",t.Texture09="Wall Texture #9",t.Texture10="Wall Texture #10",t.NoTexture="No Wall Texture",t))(No||{}),ri=(t=>(t.Default="Door Texture Default",t.Texture01="Door Texture #1",t.Texture02="Door Texture #2",t.Texture03="Door Texture #3",t.Texture04="Door Texture #4",t.Texture05="Door Texture #5",t.Texture06="Door Texture #6",t.Texture07="Door Texture #7",t.Texture08="Door Texture #8",t.Texture09="Door Texture #9",t.Texture10="Door Texture #10",t.Texture11="Door Texture #11",t.Texture12="Door Texture #12",t.Texture13="Door Texture #13",t.Texture14="Door Texture #14",t.Texture15="Door Texture #15",t.Texture16="Door Texture #16",t.Texture17="Door Texture #17",t.NoTexture="No Door Texture",t))(ri||{}),Ui=(t=>(t.Default="Roof Texture Default",t.Texture01="Roof Texture #1",t.Texture02="Roof Texture #2",t.Texture03="Roof Texture #3",t.Texture04="Roof Texture #4",t.Texture05="Roof Texture #5",t.Texture06="Roof Texture #6",t.Texture07="Roof Texture #7",t.NoTexture="No Roof Texture",t))(Ui||{}),j1=(t=>(t.Left="Left",t.Right="Right",t))(j1||{}),fc=(t=>(t.Valid="Valid",t.OverLap="OverLap",t.OutsideBoundary="OutsideBoundary",t.Invalid="Invalid",t))(fc||{}),ki=(t=>(t.Mid="Mid",t.Left="Left",t.Right="Right",t.TopMid="TopMid",t.TopLeft="TopLeft",t.TopRight="TopRight",t.FrontLeft="FrontLeft",t.FrontRight="FrontRight",t.BackLeft="BackLeft",t.BackRight="BackRight",t.Top="Top",t.Ridge="Ridge",t.Null="Null",t))(ki||{}),Ql=(t=>(t.BUILDING="Building",t.PV="PV",t.CSP="CSP",t.SUT="SUT",t.WIND="Wind",t))(Ql||{}),w_={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_EMAIL_HOST:"smtp.gmail.com",VITE_EMAIL_USERNAME:"service@intofuture.org",VITE_EMAIL_PASSWORD:"CustServ@Ifi1027",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const sce=new Map,Vj=t=>{const e=sce.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,o])=>[n,o.getState()])):{}},A3t=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};const o=sce.get(n.name);if(o)return{type:"tracked",store:t,...o};const i={connection:e.connect(n),stores:{}};return sce.set(n.name,i),{type:"tracked",store:t,...i}},w3t=(t,e={})=>(n,o,i)=>{const{enabled:r,anonymousActionType:a,store:l,...s}=e;let c;try{c=(r??(w_?"production":void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!c)return(w_?"production":void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,o,i);const{connection:u,...d}=A3t(l,c,s);let f=!0;i.setState=(A,w,b)=>{const C=n(A,w);if(!f)return C;const P=b===void 0?{type:a||"anonymous"}:typeof b=="string"?{type:b}:b;return l===void 0?(u==null||u.send(P,o()),C):(u==null||u.send({...P,type:`${l}/${P.type}`},{...Vj(s.name),[l]:i.getState()}),C)};const p=(...A)=>{const w=f;f=!1,n(...A),f=w},g=t(i.setState,o,i);if(d.type==="untracked"?u==null||u.init(g):(d.stores[d.store]=i,u==null||u.init(Object.fromEntries(Object.entries(d.stores).map(([A,w])=>[A,A===d.store?g:w.getState()])))),i.dispatchFromDevtools&&typeof i.dispatch=="function"){let A=!1;const w=i.dispatch;i.dispatch=(...b)=>{(w_?"production":void 0)!=="production"&&b[0].type==="__setState"&&!A&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),A=!0),w(...b)}}return u.subscribe(A=>{var w;switch(A.type){case"ACTION":if(typeof A.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return Voe(A.payload,b=>{if(b.type==="__setState"){if(l===void 0){p(b.state);return}Object.keys(b.state).length!==1&&console.error(` [zustand devtools middleware] Unsupported __setState action format. When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(), and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } } - `);const C=b.state[l];if(C==null)return;JSON.stringify(i.getState())!==JSON.stringify(C)&&p(C);return}i.dispatchFromDevtools&&typeof i.dispatch=="function"&&i.dispatch(b)});case"DISPATCH":switch(A.payload.type){case"RESET":return p(g),l===void 0?u==null?void 0:u.init(i.getState()):u==null?void 0:u.init(Vj(s.name));case"COMMIT":if(l===void 0){u==null||u.init(i.getState());return}return u==null?void 0:u.init(Vj(s.name));case"ROLLBACK":return Voe(A.state,b=>{if(l===void 0){p(b),u==null||u.init(i.getState());return}p(b[l]),u==null||u.init(Vj(s.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Voe(A.state,b=>{if(l===void 0){p(b);return}JSON.stringify(i.getState())!==JSON.stringify(b[l])&&p(b[l])});case"IMPORT_STATE":{const{nextLiftedState:b}=A.payload,C=(w=b.computedStates.slice(-1)[0])==null?void 0:w.state;if(!C)return;p(l===void 0?C:C[l]),u==null||u.send(null,b);return}case"PAUSE_RECORDING":return f=!f}return}}),g},b3t=x3t,Voe=(t,e)=>{let n;try{n=JSON.parse(t)}catch(o){console.error("[zustand devtools middleware] Could not parse the received json",o)}n!==void 0&&e(n)};function qNe(t,e){let n;try{n=t()}catch{return}return{getItem:i=>{var r;const a=s=>s===null?null:JSON.parse(s,void 0),l=(r=n.getItem(i))!=null?r:null;return l instanceof Promise?l.then(a):a(l)},setItem:(i,r)=>n.setItem(i,JSON.stringify(r,void 0)),removeItem:i=>n.removeItem(i)}}const Dk=t=>e=>{try{const n=t(e);return n instanceof Promise?n:{then(o){return Dk(o)(n)},catch(o){return this}}}catch(n){return{then(o){return this},catch(o){return Dk(o)(n)}}}},S3t=(t,e)=>(n,o,i)=>{let r={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:w=>w,version:0,merge:(w,b)=>({...b,...w}),...e},a=!1;const l=new Set,s=new Set;let c;try{c=r.getStorage()}catch{}if(!c)return t((...w)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),n(...w)},o,i);const u=Dk(r.serialize),d=()=>{const w=r.partialize({...o()});let b;const C=u({state:w,version:r.version}).then(P=>c.setItem(r.name,P)).catch(P=>{b=P});if(b)throw b;return C},f=i.setState;i.setState=(w,b)=>{f(w,b),d()};const p=t((...w)=>{n(...w),d()},o,i);let g;const A=()=>{var w;if(!c)return;a=!1,l.forEach(C=>C(o()));const b=((w=r.onRehydrateStorage)==null?void 0:w.call(r,o()))||void 0;return Dk(c.getItem.bind(c))(r.name).then(C=>{if(C)return r.deserialize(C)}).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==r.version){if(r.migrate)return r.migrate(C.state,C.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return C.state}).then(C=>{var P;return g=r.merge(C,(P=o())!=null?P:p),n(g,!0),d()}).then(()=>{b==null||b(g,void 0),a=!0,s.forEach(C=>C(g))}).catch(C=>{b==null||b(void 0,C)})};return i.persist={setOptions:w=>{r={...r,...w},w.getStorage&&(c=w.getStorage())},clearStorage:()=>{c==null||c.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>A(),hasHydrated:()=>a,onHydrate:w=>(l.add(w),()=>{l.delete(w)}),onFinishHydration:w=>(s.add(w),()=>{s.delete(w)})},A(),g||p},T3t=(t,e)=>(n,o,i)=>{let r={storage:qNe(()=>localStorage),partialize:A=>A,version:0,merge:(A,w)=>({...w,...A}),...e},a=!1;const l=new Set,s=new Set;let c=r.storage;if(!c)return t((...A)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),n(...A)},o,i);const u=()=>{const A=r.partialize({...o()});return c.setItem(r.name,{state:A,version:r.version})},d=i.setState;i.setState=(A,w)=>{d(A,w),u()};const f=t((...A)=>{n(...A),u()},o,i);let p;const g=()=>{var A,w;if(!c)return;a=!1,l.forEach(C=>{var P;return C((P=o())!=null?P:f)});const b=((w=r.onRehydrateStorage)==null?void 0:w.call(r,(A=o())!=null?A:f))||void 0;return Dk(c.getItem.bind(c))(r.name).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==r.version){if(r.migrate)return r.migrate(C.state,C.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return C.state}).then(C=>{var P;return p=r.merge(C,(P=o())!=null?P:f),n(p,!0),u()}).then(()=>{b==null||b(p,void 0),p=o(),a=!0,s.forEach(C=>C(p))}).catch(C=>{b==null||b(void 0,C)})};return i.persist={setOptions:A=>{r={...r,...A},A.storage&&(c=A.storage)},clearStorage:()=>{c==null||c.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>g(),hasHydrated:()=>a,onHydrate:A=>(l.add(A),()=>{l.delete(A)}),onFinishHydration:A=>(s.add(A),()=>{s.delete(A)})},r.skipHydration||g(),p||f},P3t=(t,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((w_?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),S3t(t,e)):T3t(t,e),C3t=P3t;var qV={exports:{}};/*! + `);const C=b.state[l];if(C==null)return;JSON.stringify(i.getState())!==JSON.stringify(C)&&p(C);return}i.dispatchFromDevtools&&typeof i.dispatch=="function"&&i.dispatch(b)});case"DISPATCH":switch(A.payload.type){case"RESET":return p(g),l===void 0?u==null?void 0:u.init(i.getState()):u==null?void 0:u.init(Vj(s.name));case"COMMIT":if(l===void 0){u==null||u.init(i.getState());return}return u==null?void 0:u.init(Vj(s.name));case"ROLLBACK":return Voe(A.state,b=>{if(l===void 0){p(b),u==null||u.init(i.getState());return}p(b[l]),u==null||u.init(Vj(s.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Voe(A.state,b=>{if(l===void 0){p(b);return}JSON.stringify(i.getState())!==JSON.stringify(b[l])&&p(b[l])});case"IMPORT_STATE":{const{nextLiftedState:b}=A.payload,C=(w=b.computedStates.slice(-1)[0])==null?void 0:w.state;if(!C)return;p(l===void 0?C:C[l]),u==null||u.send(null,b);return}case"PAUSE_RECORDING":return f=!f}return}}),g},v3t=w3t,Voe=(t,e)=>{let n;try{n=JSON.parse(t)}catch(o){console.error("[zustand devtools middleware] Could not parse the received json",o)}n!==void 0&&e(n)};function JNe(t,e){let n;try{n=t()}catch{return}return{getItem:i=>{var r;const a=s=>s===null?null:JSON.parse(s,void 0),l=(r=n.getItem(i))!=null?r:null;return l instanceof Promise?l.then(a):a(l)},setItem:(i,r)=>n.setItem(i,JSON.stringify(r,void 0)),removeItem:i=>n.removeItem(i)}}const Dk=t=>e=>{try{const n=t(e);return n instanceof Promise?n:{then(o){return Dk(o)(n)},catch(o){return this}}}catch(n){return{then(o){return this},catch(o){return Dk(o)(n)}}}},x3t=(t,e)=>(n,o,i)=>{let r={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:w=>w,version:0,merge:(w,b)=>({...b,...w}),...e},a=!1;const l=new Set,s=new Set;let c;try{c=r.getStorage()}catch{}if(!c)return t((...w)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),n(...w)},o,i);const u=Dk(r.serialize),d=()=>{const w=r.partialize({...o()});let b;const C=u({state:w,version:r.version}).then(P=>c.setItem(r.name,P)).catch(P=>{b=P});if(b)throw b;return C},f=i.setState;i.setState=(w,b)=>{f(w,b),d()};const p=t((...w)=>{n(...w),d()},o,i);let g;const A=()=>{var w;if(!c)return;a=!1,l.forEach(C=>C(o()));const b=((w=r.onRehydrateStorage)==null?void 0:w.call(r,o()))||void 0;return Dk(c.getItem.bind(c))(r.name).then(C=>{if(C)return r.deserialize(C)}).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==r.version){if(r.migrate)return r.migrate(C.state,C.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return C.state}).then(C=>{var P;return g=r.merge(C,(P=o())!=null?P:p),n(g,!0),d()}).then(()=>{b==null||b(g,void 0),a=!0,s.forEach(C=>C(g))}).catch(C=>{b==null||b(void 0,C)})};return i.persist={setOptions:w=>{r={...r,...w},w.getStorage&&(c=w.getStorage())},clearStorage:()=>{c==null||c.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>A(),hasHydrated:()=>a,onHydrate:w=>(l.add(w),()=>{l.delete(w)}),onFinishHydration:w=>(s.add(w),()=>{s.delete(w)})},A(),g||p},b3t=(t,e)=>(n,o,i)=>{let r={storage:JNe(()=>localStorage),partialize:A=>A,version:0,merge:(A,w)=>({...w,...A}),...e},a=!1;const l=new Set,s=new Set;let c=r.storage;if(!c)return t((...A)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),n(...A)},o,i);const u=()=>{const A=r.partialize({...o()});return c.setItem(r.name,{state:A,version:r.version})},d=i.setState;i.setState=(A,w)=>{d(A,w),u()};const f=t((...A)=>{n(...A),u()},o,i);let p;const g=()=>{var A,w;if(!c)return;a=!1,l.forEach(C=>{var P;return C((P=o())!=null?P:f)});const b=((w=r.onRehydrateStorage)==null?void 0:w.call(r,(A=o())!=null?A:f))||void 0;return Dk(c.getItem.bind(c))(r.name).then(C=>{if(C)if(typeof C.version=="number"&&C.version!==r.version){if(r.migrate)return r.migrate(C.state,C.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return C.state}).then(C=>{var P;return p=r.merge(C,(P=o())!=null?P:f),n(p,!0),u()}).then(()=>{b==null||b(p,void 0),p=o(),a=!0,s.forEach(C=>C(p))}).catch(C=>{b==null||b(void 0,C)})};return i.persist={setOptions:A=>{r={...r,...A},A.storage&&(c=A.storage)},clearStorage:()=>{c==null||c.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>g(),hasHydrated:()=>a,onHydrate:A=>(l.add(A),()=>{l.delete(A)}),onFinishHydration:A=>(s.add(A),()=>{s.delete(A)})},r.skipHydration||g(),p||f},S3t=(t,e)=>"getStorage"in e||"serialize"in e||"deserialize"in e?((w_?"production":void 0)!=="production"&&console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."),x3t(t,e)):b3t(t,e),T3t=S3t;var qV={exports:{}};/*! * Platform.js v1.3.6 * Copyright 2014-2020 Benjamin Tan * Copyright 2011-2013 John-David Dalton * Available under MIT license - */qV.exports;(function(t,e){(function(){var n={function:!0,object:!0},o=n[typeof window]&&window||this,i=e,r=t&&!t.nodeType&&t,a=i&&r&&typeof mc=="object"&&mc;a&&(a.global===a||a.window===a||a.self===a)&&(o=a);var l=Math.pow(2,53)-1,s=/\bOpera/,c=Object.prototype,u=c.hasOwnProperty,d=c.toString;function f(x){return x=String(x),x.charAt(0).toUpperCase()+x.slice(1)}function p(x,R,H){var D={"10.0":"10","6.4":"10 Technical Preview","6.3":"8.1","6.2":"8","6.1":"Server 2008 R2 / 7","6.0":"Server 2008 / Vista","5.2":"Server 2003 / XP 64-bit","5.1":"XP","5.01":"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return R&&H&&/^Win/i.test(x)&&!/^Windows Phone /i.test(x)&&(D=D[/[\d.]+$/.exec(x)])&&(x="Windows "+D),x=String(x),R&&H&&(x=x.replace(RegExp(R,"i"),H)),x=A(x.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0]),x}function g(x,R){var H=-1,D=x?x.length:0;if(typeof D=="number"&&D>-1&&D<=l)for(;++H3&&"WebKit"||/\bOpera\b/.test(pe)&&(/\bOPR\b/.test(x)?"Blink":"Presto")||/\b(?:Midori|Nook|Safari)\b/i.test(x)&&!/^(?:Trident|EdgeHTML)$/.test(he)&&"WebKit"||!he&&/\bMSIE\b/i.test(x)&&(de=="Mac OS"?"Tasman":"Trident")||he=="WebKit"&&/\bPlayStation\b(?! Vita\b)/i.test(pe)&&"NetFront")&&(he=[ee]),pe=="IE"&&(ee=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(x)||0)[1])?(pe+=" Mobile",de="Windows Phone "+(/\+$/.test(ee)?ee:ee+".x"),ae.unshift("desktop mode")):/\bWPDesktop\b/i.test(x)?(pe="IE Mobile",de="Windows Phone 8.x",ae.unshift("desktop mode"),le||(le=(/\brv:([\d.]+)/.exec(x)||0)[1])):pe!="IE"&&he=="Trident"&&(ee=/\brv:([\d.]+)/.exec(x))&&(pe&&ae.push("identifying as "+pe+(le?" "+le:"")),pe="IE",le=ee[1]),se){if(C(R,"global"))if(B&&(ee=B.lang.System,q=ee.getProperty("os.arch"),de=de||ee.getProperty("os.name")+" "+ee.getProperty("os.version")),_){try{le=R.require("ringo/engine").version.join("."),pe="RingoJS"}catch{(ee=R.system)&&ee.global.system==R.system&&(pe="Narwhal",de||(de=ee[0].os||null))}pe||(pe="Rhino")}else typeof R.process=="object"&&!R.process.browser&&(ee=R.process)&&(typeof ee.versions=="object"&&(typeof ee.versions.electron=="string"?(ae.push("Node "+ee.versions.node),pe="Electron",le=ee.versions.electron):typeof ee.versions.nw=="string"&&(ae.push("Chromium "+le,"Node "+ee.versions.node),pe="NW.js",le=ee.versions.nw)),pe||(pe="Node.js",q=ee.arch,de=ee.platform,le=/[\d.]+/.exec(ee.version),le=le?le[0]:null));else b(ee=R.runtime)==L?(pe="Adobe AIR",de=ee.flash.system.Capabilities.os):b(ee=R.phantom)==F?(pe="PhantomJS",le=(ee=ee.version||null)&&ee.major+"."+ee.minor+"."+ee.patch):typeof J.documentMode=="number"&&(ee=/\bTrident\/(\d+)/i.exec(x))?(le=[le,J.documentMode],(ee=+ee[1]+4)!=le[1]&&(ae.push("IE "+le[1]+" mode"),he&&(he[1]=""),le[1]=ee),le=pe=="IE"?String(le[1].toFixed(1)):le[0]):typeof J.documentMode=="number"&&/^(?:Chrome|Firefox)\b/.test(pe)&&(ae.push("masking as "+pe+" "+le),pe="IE",le="11.0",he=["Trident"],de="Windows");de=de&&A(de)}if(le&&(ee=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(le)||/(?:alpha|beta)(?: ?\d)?/i.exec(x+";"+(se&&D.appMinorVersion))||/\bMinefield\b/i.test(x)&&"a")&&(ne=/b/i.test(ee)?"beta":"alpha",le=le.replace(RegExp(ee+"\\+?$"),"")+(ne=="beta"?O:Y)+(/\d+\+?/.exec(ee)||"")),pe=="Fennec"||pe=="Firefox"&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(de))pe="Firefox Mobile";else if(pe=="Maxthon"&&le)le=le.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(fe))fe=="Xbox 360"&&(de=null),fe=="Xbox 360"&&/\bIEMobile\b/.test(x)&&ae.unshift("mobile mode");else if((/^(?:Chrome|IE|Opera)$/.test(pe)||pe&&!fe&&!/Browser|Mobi/.test(pe))&&(de=="Windows CE"||/Mobi/i.test(x)))pe+=" Mobile";else if(pe=="IE"&&se)try{R.external===null&&ae.unshift("platform preview")}catch{ae.unshift("embedded")}else(/\bBlackBerry\b/.test(fe)||/\bBB10\b/.test(x))&&(ee=(RegExp(fe.replace(/ +/g," *")+"/([.\\d]+)","i").exec(x)||0)[1]||le)?(ee=[ee,/BB10/.test(x)],de=(ee[1]?(fe=null,$="BlackBerry"):"Device Software")+" "+ee[0],le=null):this!=w&&fe!="Wii"&&(se&&Z||/Opera/.test(pe)&&/\b(?:MSIE|Firefox)\b/i.test(x)||pe=="Firefox"&&/\bOS X (?:\d+\.){2,}/.test(de)||pe=="IE"&&(de&&!/^Win/.test(de)&&le>5.5||/\bWindows XP\b/.test(de)&&le>8||le==8&&!/\bTrident\b/.test(x)))&&!s.test(ee=y.call(w,x.replace(s,"")+";"))&&ee.name&&(ee="ing as "+ee.name+((ee=ee.version)?" "+ee:""),s.test(pe)?(/\bIE\b/.test(ee)&&de=="Mac OS"&&(de=null),ee="identify"+ee):(ee="mask"+ee,ie?pe=A(ie.replace(/([a-z])([A-Z])/g,"$1 $2")):pe="Opera",/\bIE\b/.test(ee)&&(de=null),se||(le=null)),he=["Presto"],ae.push(ee));(ee=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(x)||0)[1])&&(ee=[parseFloat(ee.replace(/\.(\d)$/,".0$1")),ee],pe=="Safari"&&ee[1].slice(-1)=="+"?(pe="WebKit Nightly",ne="alpha",le=ee[1].slice(0,-1)):(le==ee[1]||le==(ee[2]=(/\bSafari\/([\d.]+\+?)/i.exec(x)||0)[1]))&&(le=null),ee[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(x)||0)[1],ee[0]==537.36&&ee[2]==537.36&&parseFloat(ee[1])>=28&&he=="WebKit"&&(he=["Blink"]),!se||!W&&!ee[1]?(he&&(he[1]="like Safari"),ee=(ee=ee[0],ee<400?1:ee<500?2:ee<526?3:ee<533?4:ee<534?"4+":ee<535?5:ee<537?6:ee<538?7:ee<601?8:ee<602?9:ee<604?10:ee<606?11:ee<608?12:"12")):(he&&(he[1]="like Chrome"),ee=ee[1]||(ee=ee[0],ee<530?1:ee<532?2:ee<532.05?3:ee<533?4:ee<534.03?5:ee<534.07?6:ee<534.1?7:ee<534.13?8:ee<534.16?9:ee<534.24?10:ee<534.3?11:ee<535.01?12:ee<535.02?"13+":ee<535.07?15:ee<535.11?16:ee<535.19?17:ee<536.05?18:ee<536.1?19:ee<537.01?20:ee<537.11?"21+":ee<537.13?23:ee<537.18?24:ee<537.24?25:ee<537.36?26:he!="Blink"?"27":"28")),he&&(he[1]+=" "+(ee+=typeof ee=="number"?".x":/[.+]/.test(ee)?"":"+")),pe=="Safari"&&(!le||parseInt(le)>45)?le=ee:pe=="Chrome"&&/\bHeadlessChrome/i.test(x)&&ae.unshift("headless")),pe=="Opera"&&(ee=/\bzbov|zvav$/.exec(de))?(pe+=" ",ae.unshift("desktop mode"),ee=="zvav"?(pe+="Mini",le=null):pe+="Mobile",de=de.replace(RegExp(" *"+ee+"$"),"")):pe=="Safari"&&/\bChrome\b/.exec(he&&he[1])?(ae.unshift("desktop mode"),pe="Chrome Mobile",le=null,/\bOS X\b/.test(de)?($="Apple",de="iOS 4.3+"):de=null):/\bSRWare Iron\b/.test(pe)&&!le&&(le=ye("Chrome")),le&&le.indexOf(ee=/[\d.]+$/.exec(de))==0&&x.indexOf("/"+ee+"-")>-1&&(de=T(de.replace(ee,""))),de&&de.indexOf(pe)!=-1&&!RegExp(pe+" OS").test(de)&&(de=de.replace(RegExp(" *"+P(pe)+" *"),"")),he&&!/\b(?:Avant|Nook)\b/.test(pe)&&(/Browser|Lunascape|Maxthon/.test(pe)||pe!="Safari"&&/^iOS/.test(de)&&/\bSafari\b/.test(he[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(pe)&&he[1])&&(ee=he[he.length-1])&&ae.push(ee),ae.length&&(ae=["("+ae.join("; ")+")"]),$&&fe&&fe.indexOf($)<0&&ae.push("on "+$),fe&&ae.push((/^on /.test(ae[ae.length-1])?"":"on ")+fe),de&&(ee=/ ([\d.+]+)$/.exec(de),te=ee&&de.charAt(de.length-ee[0].length-1)=="/",de={architecture:32,family:ee&&!te?de.replace(ee[0],""):de,version:ee?ee[1]:null,toString:function(){var Ae=this.version;return this.family+(Ae&&!te?" "+Ae:"")+(this.architecture==64?" 64-bit":"")}}),(ee=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(q))&&!/\bi686\b/i.test(q)?(de&&(de.architecture=64,de.family=de.family.replace(RegExp(" *"+ee),"")),pe&&(/\bWOW64\b/i.test(x)||se&&/\w(?:86|32)$/.test(D.cpuClass||D.platform)&&!/\bWin64; x64\b/i.test(x))&&ae.unshift("32-bit")):de&&/^OS X/.test(de.family)&&pe=="Chrome"&&parseFloat(le)>=39&&(de.architecture=64),x||(x=null);var ge={};return ge.description=x,ge.layout=he&&he[0],ge.manufacturer=$,ge.name=pe,ge.prerelease=ne,ge.product=fe,ge.ua=x,ge.version=pe&&le,ge.os=de||{architecture:null,family:null,version:null,toString:function(){return"null"}},ge.parse=y,ge.toString=oe,ge.version&&ae.unshift(le),ge.name&&ae.unshift(pe),de&&pe&&!(de==String(de).split(" ")[0]&&(de==pe.split(" ")[0]||fe))&&ae.push(fe?"("+de+")":"on "+de),ae.length&&(ge.description=ae.join(" ")),ge}var S=y();i&&r?w(S,function(x,R){i[R]=x}):o.platform=S}).call(mc)})(qV,qV.exports);var R3t=qV.exports;const $Ne=kr(R3t),nE="1.6.1",H3t="1.5.0",qp="https://institute-for-future-intelligence.github.io/aladdin/",$V="Natick, MA",Z1=["#627682","#8884d8","#f97356","#1bc32c","#c6502d","#82ca9d","#3eaec0","#445111"],xc=15,Ek=50,QV=.5,m0=.8,M3t=new Xo(0,0,1),I3t=new Xo(0,1,0),z3t=new Xo(1,1,0),D3t=new Xo(1,0,0),gz=[M3t,I3t,z3t,D3t],Gm=20,g0="gray",Xm=.5,K9=4,Q4=2,i6=2,Z4=2,c6=2,B4=2,j4=1,QNe=1,Jm=100,ZV=200,Kw="#3BB9FF",qw="#36454F",X5="#FFFFFF",J5="#404040",ZNe=10,sw=4,Ps=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Rwe=["January","February","March","April","May","June","July","August","September","October","November","December"],cq=105,uq=320,E3t=5e3,eUe=45,kk=1e4,k3t=4096,F3t=.1,Af=.1,I9=.16,jx="orange",Fk="orchid",L3t="pink",pr="white",nr="red",l0="yellow",V5=5,l9=.1,g6=V5*l9,tUe=1e4,Hwe=250,W3t=.01,N3t=.005,U3t="#000",B3t="#01345B",cce="#fe6f5e",Zo="Ground",Vt=Math.PI/2,na=Math.PI*2,Dt=1e-4,o0=[0,0,1],j3t=[0,-1,0],Np=new re(1,0,0),Up=new re(-1,0,0),Yc=new re(0,1,0),Bp=new re(0,-1,0),Po=new re(0,0,1);new re(0,0,-1);const wr=new Gt(0,0);new re(0,0,0);const eG=new Qt(0,0,Vt),JC=/^[A-Za-z0-9\s-_()!?%&,]*$/,Goe=Y3t()?"⌘":"Ctrl";function Y3t(){var e;const t=(e=$Ne.os)==null?void 0:e.family;return t?t.includes("Mac")||t.includes("OS X"):!1}var Hl=(t=>(t.Full="Full",t.Partial="Partial",t.Empty="Empty",t))(Hl||{}),hc=(t=>(t.Default="Default",t.Stud="Stud",t.Pillar="Pillar",t))(hc||{});let ai=class{constructor(e,n,o,i){this.x=e,this.y=n,this.width=o,this.height=i}centerX(){return this.x+this.width/2}centerY(){return this.y+this.height/2}minX(){return this.x}maxX(){return this.x+this.width}minY(){return this.y}maxY(){return this.y+this.height}contains(e,n){return e>this.x&&ethis.y&&n(t.Pyramid="Pyramid",t.Gable="Gable",t.Hip="Hip",t.Gambrel="Gambrel",t.Mansard="Mansard",t))(Vo||{}),yc=(t=>(t.Default="Default",t.Rafter="Rafter",t.Glass="Glass",t))(yc||{});function z9(){return z9=Object.assign?Object.assign.bind():function(t){for(var e=1;en&&s.add(D)}s.normalize(),g.setXYZ(b+T,s.x,s.y,s.z)}}return u.setAttribute("normal",g),u}const Mwe=new pf,Gj=new re;class W1e extends lq{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],n=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(o),this.setAttribute("position",new hi(e,3)),this.setAttribute("uv",new hi(n,2))}applyMatrix4(e){const n=this.attributes.instanceStart,o=this.attributes.instanceEnd;return n!==void 0&&(n.applyMatrix4(e),o.applyMatrix4(e),n.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new VV(n,6,1);return this.setAttribute("instanceStart",new dg(o,3,0)),this.setAttribute("instanceEnd",new dg(o,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new VV(n,6,1);return this.setAttribute("instanceColorStart",new dg(o,3,0)),this.setAttribute("instanceColorEnd",new dg(o,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new w1e(e.geometry)),this}fromLineSegments(e){const n=e.geometry;return this.setPositions(n.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pf);const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),Mwe.setFromBufferAttribute(n),this.boundingBox.union(Mwe))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new n1),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){const o=this.boundingSphere.center;this.boundingBox.getCenter(o);let i=0;for(let r=0,a=e.count;r-1&&D<=l)for(;++H3&&"WebKit"||/\bOpera\b/.test(pe)&&(/\bOPR\b/.test(x)?"Blink":"Presto")||/\b(?:Midori|Nook|Safari)\b/i.test(x)&&!/^(?:Trident|EdgeHTML)$/.test(he)&&"WebKit"||!he&&/\bMSIE\b/i.test(x)&&(de=="Mac OS"?"Tasman":"Trident")||he=="WebKit"&&/\bPlayStation\b(?! Vita\b)/i.test(pe)&&"NetFront")&&(he=[ee]),pe=="IE"&&(ee=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(x)||0)[1])?(pe+=" Mobile",de="Windows Phone "+(/\+$/.test(ee)?ee:ee+".x"),ae.unshift("desktop mode")):/\bWPDesktop\b/i.test(x)?(pe="IE Mobile",de="Windows Phone 8.x",ae.unshift("desktop mode"),le||(le=(/\brv:([\d.]+)/.exec(x)||0)[1])):pe!="IE"&&he=="Trident"&&(ee=/\brv:([\d.]+)/.exec(x))&&(pe&&ae.push("identifying as "+pe+(le?" "+le:"")),pe="IE",le=ee[1]),se){if(C(R,"global"))if(B&&(ee=B.lang.System,q=ee.getProperty("os.arch"),de=de||ee.getProperty("os.name")+" "+ee.getProperty("os.version")),_){try{le=R.require("ringo/engine").version.join("."),pe="RingoJS"}catch{(ee=R.system)&&ee.global.system==R.system&&(pe="Narwhal",de||(de=ee[0].os||null))}pe||(pe="Rhino")}else typeof R.process=="object"&&!R.process.browser&&(ee=R.process)&&(typeof ee.versions=="object"&&(typeof ee.versions.electron=="string"?(ae.push("Node "+ee.versions.node),pe="Electron",le=ee.versions.electron):typeof ee.versions.nw=="string"&&(ae.push("Chromium "+le,"Node "+ee.versions.node),pe="NW.js",le=ee.versions.nw)),pe||(pe="Node.js",q=ee.arch,de=ee.platform,le=/[\d.]+/.exec(ee.version),le=le?le[0]:null));else b(ee=R.runtime)==L?(pe="Adobe AIR",de=ee.flash.system.Capabilities.os):b(ee=R.phantom)==F?(pe="PhantomJS",le=(ee=ee.version||null)&&ee.major+"."+ee.minor+"."+ee.patch):typeof J.documentMode=="number"&&(ee=/\bTrident\/(\d+)/i.exec(x))?(le=[le,J.documentMode],(ee=+ee[1]+4)!=le[1]&&(ae.push("IE "+le[1]+" mode"),he&&(he[1]=""),le[1]=ee),le=pe=="IE"?String(le[1].toFixed(1)):le[0]):typeof J.documentMode=="number"&&/^(?:Chrome|Firefox)\b/.test(pe)&&(ae.push("masking as "+pe+" "+le),pe="IE",le="11.0",he=["Trident"],de="Windows");de=de&&A(de)}if(le&&(ee=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(le)||/(?:alpha|beta)(?: ?\d)?/i.exec(x+";"+(se&&D.appMinorVersion))||/\bMinefield\b/i.test(x)&&"a")&&(ne=/b/i.test(ee)?"beta":"alpha",le=le.replace(RegExp(ee+"\\+?$"),"")+(ne=="beta"?O:Y)+(/\d+\+?/.exec(ee)||"")),pe=="Fennec"||pe=="Firefox"&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(de))pe="Firefox Mobile";else if(pe=="Maxthon"&&le)le=le.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(fe))fe=="Xbox 360"&&(de=null),fe=="Xbox 360"&&/\bIEMobile\b/.test(x)&&ae.unshift("mobile mode");else if((/^(?:Chrome|IE|Opera)$/.test(pe)||pe&&!fe&&!/Browser|Mobi/.test(pe))&&(de=="Windows CE"||/Mobi/i.test(x)))pe+=" Mobile";else if(pe=="IE"&&se)try{R.external===null&&ae.unshift("platform preview")}catch{ae.unshift("embedded")}else(/\bBlackBerry\b/.test(fe)||/\bBB10\b/.test(x))&&(ee=(RegExp(fe.replace(/ +/g," *")+"/([.\\d]+)","i").exec(x)||0)[1]||le)?(ee=[ee,/BB10/.test(x)],de=(ee[1]?(fe=null,$="BlackBerry"):"Device Software")+" "+ee[0],le=null):this!=w&&fe!="Wii"&&(se&&Z||/Opera/.test(pe)&&/\b(?:MSIE|Firefox)\b/i.test(x)||pe=="Firefox"&&/\bOS X (?:\d+\.){2,}/.test(de)||pe=="IE"&&(de&&!/^Win/.test(de)&&le>5.5||/\bWindows XP\b/.test(de)&&le>8||le==8&&!/\bTrident\b/.test(x)))&&!s.test(ee=y.call(w,x.replace(s,"")+";"))&&ee.name&&(ee="ing as "+ee.name+((ee=ee.version)?" "+ee:""),s.test(pe)?(/\bIE\b/.test(ee)&&de=="Mac OS"&&(de=null),ee="identify"+ee):(ee="mask"+ee,ie?pe=A(ie.replace(/([a-z])([A-Z])/g,"$1 $2")):pe="Opera",/\bIE\b/.test(ee)&&(de=null),se||(le=null)),he=["Presto"],ae.push(ee));(ee=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(x)||0)[1])&&(ee=[parseFloat(ee.replace(/\.(\d)$/,".0$1")),ee],pe=="Safari"&&ee[1].slice(-1)=="+"?(pe="WebKit Nightly",ne="alpha",le=ee[1].slice(0,-1)):(le==ee[1]||le==(ee[2]=(/\bSafari\/([\d.]+\+?)/i.exec(x)||0)[1]))&&(le=null),ee[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(x)||0)[1],ee[0]==537.36&&ee[2]==537.36&&parseFloat(ee[1])>=28&&he=="WebKit"&&(he=["Blink"]),!se||!W&&!ee[1]?(he&&(he[1]="like Safari"),ee=(ee=ee[0],ee<400?1:ee<500?2:ee<526?3:ee<533?4:ee<534?"4+":ee<535?5:ee<537?6:ee<538?7:ee<601?8:ee<602?9:ee<604?10:ee<606?11:ee<608?12:"12")):(he&&(he[1]="like Chrome"),ee=ee[1]||(ee=ee[0],ee<530?1:ee<532?2:ee<532.05?3:ee<533?4:ee<534.03?5:ee<534.07?6:ee<534.1?7:ee<534.13?8:ee<534.16?9:ee<534.24?10:ee<534.3?11:ee<535.01?12:ee<535.02?"13+":ee<535.07?15:ee<535.11?16:ee<535.19?17:ee<536.05?18:ee<536.1?19:ee<537.01?20:ee<537.11?"21+":ee<537.13?23:ee<537.18?24:ee<537.24?25:ee<537.36?26:he!="Blink"?"27":"28")),he&&(he[1]+=" "+(ee+=typeof ee=="number"?".x":/[.+]/.test(ee)?"":"+")),pe=="Safari"&&(!le||parseInt(le)>45)?le=ee:pe=="Chrome"&&/\bHeadlessChrome/i.test(x)&&ae.unshift("headless")),pe=="Opera"&&(ee=/\bzbov|zvav$/.exec(de))?(pe+=" ",ae.unshift("desktop mode"),ee=="zvav"?(pe+="Mini",le=null):pe+="Mobile",de=de.replace(RegExp(" *"+ee+"$"),"")):pe=="Safari"&&/\bChrome\b/.exec(he&&he[1])?(ae.unshift("desktop mode"),pe="Chrome Mobile",le=null,/\bOS X\b/.test(de)?($="Apple",de="iOS 4.3+"):de=null):/\bSRWare Iron\b/.test(pe)&&!le&&(le=ye("Chrome")),le&&le.indexOf(ee=/[\d.]+$/.exec(de))==0&&x.indexOf("/"+ee+"-")>-1&&(de=T(de.replace(ee,""))),de&&de.indexOf(pe)!=-1&&!RegExp(pe+" OS").test(de)&&(de=de.replace(RegExp(" *"+P(pe)+" *"),"")),he&&!/\b(?:Avant|Nook)\b/.test(pe)&&(/Browser|Lunascape|Maxthon/.test(pe)||pe!="Safari"&&/^iOS/.test(de)&&/\bSafari\b/.test(he[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(pe)&&he[1])&&(ee=he[he.length-1])&&ae.push(ee),ae.length&&(ae=["("+ae.join("; ")+")"]),$&&fe&&fe.indexOf($)<0&&ae.push("on "+$),fe&&ae.push((/^on /.test(ae[ae.length-1])?"":"on ")+fe),de&&(ee=/ ([\d.+]+)$/.exec(de),te=ee&&de.charAt(de.length-ee[0].length-1)=="/",de={architecture:32,family:ee&&!te?de.replace(ee[0],""):de,version:ee?ee[1]:null,toString:function(){var Ae=this.version;return this.family+(Ae&&!te?" "+Ae:"")+(this.architecture==64?" 64-bit":"")}}),(ee=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(q))&&!/\bi686\b/i.test(q)?(de&&(de.architecture=64,de.family=de.family.replace(RegExp(" *"+ee),"")),pe&&(/\bWOW64\b/i.test(x)||se&&/\w(?:86|32)$/.test(D.cpuClass||D.platform)&&!/\bWin64; x64\b/i.test(x))&&ae.unshift("32-bit")):de&&/^OS X/.test(de.family)&&pe=="Chrome"&&parseFloat(le)>=39&&(de.architecture=64),x||(x=null);var ge={};return ge.description=x,ge.layout=he&&he[0],ge.manufacturer=$,ge.name=pe,ge.prerelease=ne,ge.product=fe,ge.ua=x,ge.version=pe&&le,ge.os=de||{architecture:null,family:null,version:null,toString:function(){return"null"}},ge.parse=y,ge.toString=oe,ge.version&&ae.unshift(le),ge.name&&ae.unshift(pe),de&&pe&&!(de==String(de).split(" ")[0]&&(de==pe.split(" ")[0]||fe))&&ae.push(fe?"("+de+")":"on "+de),ae.length&&(ge.description=ae.join(" ")),ge}var S=y();i&&r?w(S,function(x,R){i[R]=x}):o.platform=S}).call(mc)})(qV,qV.exports);var P3t=qV.exports;const KNe=kr(P3t),nE="1.6.0",C3t="1.5.0",qp="https://institute-for-future-intelligence.github.io/aladdin/",$V="Natick, MA",Z1=["#627682","#8884d8","#f97356","#1bc32c","#c6502d","#82ca9d","#3eaec0","#445111"],xc=15,Ek=50,QV=.5,m0=.8,R3t=new Xo(0,0,1),H3t=new Xo(0,1,0),M3t=new Xo(1,1,0),I3t=new Xo(1,0,0),gz=[R3t,H3t,M3t,I3t],Gm=20,g0="gray",Xm=.5,K9=4,Q4=2,i6=2,Z4=2,c6=2,B4=2,j4=1,qNe=1,Jm=100,ZV=200,Kw="#3BB9FF",qw="#36454F",X5="#FFFFFF",J5="#404040",$Ne=10,sw=4,Ps=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Rwe=["January","February","March","April","May","June","July","August","September","October","November","December"],cq=105,uq=320,z3t=5e3,QNe=45,kk=1e4,D3t=4096,E3t=.1,Af=.1,I9=.16,jx="orange",Fk="orchid",k3t="pink",pr="white",nr="red",l0="yellow",V5=5,l9=.1,g6=V5*l9,ZNe=1e4,Hwe=250,F3t=.01,L3t=.005,W3t="#000",N3t="#01345B",cce="#fe6f5e",Zo="Ground",Vt=Math.PI/2,na=Math.PI*2,Dt=1e-4,o0=[0,0,1],U3t=[0,-1,0],Np=new re(1,0,0),Up=new re(-1,0,0),Yc=new re(0,1,0),Bp=new re(0,-1,0),Po=new re(0,0,1);new re(0,0,-1);const wr=new Gt(0,0);new re(0,0,0);const eG=new Qt(0,0,Vt),JC=/^[A-Za-z0-9\s-_()!?%&,]*$/,Goe=B3t()?"⌘":"Ctrl";function B3t(){var e;const t=(e=KNe.os)==null?void 0:e.family;return t?t.includes("Mac")||t.includes("OS X"):!1}var Hl=(t=>(t.Full="Full",t.Partial="Partial",t.Empty="Empty",t))(Hl||{}),hc=(t=>(t.Default="Default",t.Stud="Stud",t.Pillar="Pillar",t))(hc||{});let ai=class{constructor(e,n,o,i){this.x=e,this.y=n,this.width=o,this.height=i}centerX(){return this.x+this.width/2}centerY(){return this.y+this.height/2}minX(){return this.x}maxX(){return this.x+this.width}minY(){return this.y}maxY(){return this.y+this.height}contains(e,n){return e>this.x&&ethis.y&&n(t.Pyramid="Pyramid",t.Gable="Gable",t.Hip="Hip",t.Gambrel="Gambrel",t.Mansard="Mansard",t))(Vo||{}),yc=(t=>(t.Default="Default",t.Rafter="Rafter",t.Glass="Glass",t))(yc||{});function z9(){return z9=Object.assign?Object.assign.bind():function(t){for(var e=1;en&&s.add(D)}s.normalize(),g.setXYZ(b+T,s.x,s.y,s.z)}}return u.setAttribute("normal",g),u}const Mwe=new pf,Gj=new re;class W1e extends lq{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],n=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(o),this.setAttribute("position",new hi(e,3)),this.setAttribute("uv",new hi(n,2))}applyMatrix4(e){const n=this.attributes.instanceStart,o=this.attributes.instanceEnd;return n!==void 0&&(n.applyMatrix4(e),o.applyMatrix4(e),n.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new VV(n,6,1);return this.setAttribute("instanceStart",new dg(o,3,0)),this.setAttribute("instanceEnd",new dg(o,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let n;e instanceof Float32Array?n=e:Array.isArray(e)&&(n=new Float32Array(e));const o=new VV(n,6,1);return this.setAttribute("instanceColorStart",new dg(o,3,0)),this.setAttribute("instanceColorEnd",new dg(o,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new w1e(e.geometry)),this}fromLineSegments(e){const n=e.geometry;return this.setPositions(n.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pf);const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;e!==void 0&&n!==void 0&&(this.boundingBox.setFromBufferAttribute(e),Mwe.setFromBufferAttribute(n),this.boundingBox.union(Mwe))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new n1),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,n=this.attributes.instanceEnd;if(e!==void 0&&n!==void 0){const o=this.boundingSphere.center;this.boundingBox.getCenter(o);let i=0;for(let r=0,a=e.count;r #include #include @@ -4094,15 +4094,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho #include } - `,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(n){this.uniforms.diffuse.value=n}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(n){n===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(n){this.uniforms.linewidth.value=n}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(n){!!n!="USE_DASH"in this.defines&&(this.needsUpdate=!0),n===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(n){this.uniforms.dashScale.value=n}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(n){this.uniforms.dashSize.value=n}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(n){this.uniforms.dashOffset.value=n}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(n){this.uniforms.gapSize.value=n}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(n){this.uniforms.opacity.value=n}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(n){this.uniforms.resolution.value.copy(n)}},alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(n){!!n!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),n===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}const Iwe=new re,zwe=new re,Vd=new ll,Gd=new ll,W5=new ll,Xoe=new re,Joe=new Xr,Gf=new z1e,Dwe=new re,Xj=new pf,Jj=new n1,N5=new ll;let o9,uce,oUe,rx;function Ewe(t,e,n){return N5.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),N5.multiplyScalar(1/N5.w),N5.x=rx/n.width,N5.y=rx/n.height,N5.applyMatrix4(t.projectionMatrixInverse),N5.multiplyScalar(1/N5.w),Math.abs(Math.max(N5.x,N5.y))}function _3t(t,e){for(let n=0,o=uce.count;nu&&Gd.z>u)continue;if(Vd.z>u){const C=Vd.z-Gd.z,P=(Vd.z-u)/C;Vd.lerp(Gd,P)}else if(Gd.z>u){const C=Gd.z-Vd.z,P=(Gd.z-u)/C;Gd.lerp(Vd,P)}Vd.applyMatrix4(o),Gd.applyMatrix4(o),Vd.multiplyScalar(1/Vd.w),Gd.multiplyScalar(1/Gd.w),Vd.x*=r.x/2,Vd.y*=r.y/2,Gd.x*=r.x/2,Gd.y*=r.y/2,Gf.start.copy(Vd),Gf.start.z=0,Gf.end.copy(Gd),Gf.end.z=0;const g=Gf.closestPointToPointParameter(Xoe,!0);Gf.at(g,Dwe);const A=vWe.lerp(Vd.z,Gd.z,g),w=A>=-1&&A<=1,b=Xoe.distanceTo(Dwe){if(!e||!l.current)return;const c=l.current.rotation.clone();s.getWorldQuaternion(l.current.quaternion),n&&(l.current.rotation.x=c.x),o&&(l.current.rotation.y=c.y),i&&(l.current.rotation.z=c.z)}),m.createElement("group",z9({ref:L1e([l,a])},r))}),Fn=m.forwardRef(function({points:e,color:n="black",vertexColors:o,linewidth:i,lineWidth:r,segments:a,dashed:l,...s},c){const u=Xi(g=>g.size),d=m.useMemo(()=>a?new iUe:new G3t,[a]),[f]=m.useState(()=>new N1e),p=m.useMemo(()=>{const g=a?new W1e:new nUe,A=e.map(w=>{const b=Array.isArray(w);return w instanceof re?[w.x,w.y,w.z]:w instanceof Gt?[w.x,w.y,0]:b&&w.length===3?[w[0],w[1],w[2]]:b&&w.length===2?[w[0],w[1],0]:w});if(g.setPositions(A.flat()),o){const w=o.map(b=>b instanceof Xo?b.toArray():b);g.setColors(w.flat())}return g},[e,a,o]);return m.useLayoutEffect(()=>{d.computeLineDistances()},[e,d]),m.useLayoutEffect(()=>{l?f.defines.USE_DASH="":delete f.defines.USE_DASH,f.needsUpdate=!0},[l,f]),m.useEffect(()=>()=>p.dispose(),[p]),m.createElement("primitive",z9({object:d,ref:c},s),m.createElement("primitive",{object:p,attach:"geometry"}),m.createElement("primitive",z9({object:f,attach:"material",color:n,vertexColors:!!o,resolution:[u.width,u.height],linewidth:i??r,dashed:l},s)))});function X3t(){var t=Object.create(null);function e(i,r){var a=i.id,l=i.name,s=i.dependencies;s===void 0&&(s=[]);var c=i.init;c===void 0&&(c=function(){});var u=i.getTransferables;if(u===void 0&&(u=null),!t[a])try{s=s.map(function(f){return f&&f.isWorkerModule&&(e(f,function(p){if(p instanceof Error)throw p}),f=t[f.id].value),f}),c=o("<"+l+">.init",c),u&&(u=o("<"+l+">.getTransferables",u));var d=null;typeof c=="function"?d=c.apply(void 0,s):console.error("worker module init function failed to rehydrate"),t[a]={id:a,value:d,getTransferables:u},r(d)}catch(f){f&&f.noLog||console.error(f),r(f)}}function n(i,r){var a,l=i.id,s=i.args;(!t[l]||typeof t[l].value!="function")&&r(new Error("Worker module "+l+": not found or its 'init' did not return a function"));try{var c=(a=t[l]).value.apply(a,s);c&&typeof c.then=="function"?c.then(u,function(d){return r(d instanceof Error?d:new Error(""+d))}):u(c)}catch(d){r(d)}function u(d){try{var f=t[l].getTransferables&&t[l].getTransferables(d);(!f||!Array.isArray(f)||!f.length)&&(f=void 0),r(d,f)}catch(p){console.error(p),r(p)}}}function o(i,r){var a=void 0;self.troikaDefine=function(s){return a=s};var l=URL.createObjectURL(new Blob(["/** "+i.replace(/\*/g,"")+` **/ + `,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(n){this.uniforms.diffuse.value=n}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(n){n===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(n){this.uniforms.linewidth.value=n}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(n){!!n!="USE_DASH"in this.defines&&(this.needsUpdate=!0),n===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(n){this.uniforms.dashScale.value=n}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(n){this.uniforms.dashSize.value=n}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(n){this.uniforms.dashOffset.value=n}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(n){this.uniforms.gapSize.value=n}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(n){this.uniforms.opacity.value=n}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(n){this.uniforms.resolution.value.copy(n)}},alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(n){!!n!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),n===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}const Iwe=new re,zwe=new re,Vd=new ll,Gd=new ll,W5=new ll,Xoe=new re,Joe=new Xr,Gf=new z1e,Dwe=new re,Xj=new pf,Jj=new n1,N5=new ll;let o9,uce,tUe,rx;function Ewe(t,e,n){return N5.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),N5.multiplyScalar(1/N5.w),N5.x=rx/n.width,N5.y=rx/n.height,N5.applyMatrix4(t.projectionMatrixInverse),N5.multiplyScalar(1/N5.w),Math.abs(Math.max(N5.x,N5.y))}function Y3t(t,e){for(let n=0,o=uce.count;nu&&Gd.z>u)continue;if(Vd.z>u){const C=Vd.z-Gd.z,P=(Vd.z-u)/C;Vd.lerp(Gd,P)}else if(Gd.z>u){const C=Gd.z-Vd.z,P=(Gd.z-u)/C;Gd.lerp(Vd,P)}Vd.applyMatrix4(o),Gd.applyMatrix4(o),Vd.multiplyScalar(1/Vd.w),Gd.multiplyScalar(1/Gd.w),Vd.x*=r.x/2,Vd.y*=r.y/2,Gd.x*=r.x/2,Gd.y*=r.y/2,Gf.start.copy(Vd),Gf.start.z=0,Gf.end.copy(Gd),Gf.end.z=0;const g=Gf.closestPointToPointParameter(Xoe,!0);Gf.at(g,Dwe);const A=AWe.lerp(Vd.z,Gd.z,g),w=A>=-1&&A<=1,b=Xoe.distanceTo(Dwe){if(!e||!l.current)return;const c=l.current.rotation.clone();s.getWorldQuaternion(l.current.quaternion),n&&(l.current.rotation.x=c.x),o&&(l.current.rotation.y=c.y),i&&(l.current.rotation.z=c.z)}),m.createElement("group",z9({ref:L1e([l,a])},r))}),Fn=m.forwardRef(function({points:e,color:n="black",vertexColors:o,linewidth:i,lineWidth:r,segments:a,dashed:l,...s},c){const u=Xi(g=>g.size),d=m.useMemo(()=>a?new nUe:new _3t,[a]),[f]=m.useState(()=>new N1e),p=m.useMemo(()=>{const g=a?new W1e:new eUe,A=e.map(w=>{const b=Array.isArray(w);return w instanceof re?[w.x,w.y,w.z]:w instanceof Gt?[w.x,w.y,0]:b&&w.length===3?[w[0],w[1],w[2]]:b&&w.length===2?[w[0],w[1],0]:w});if(g.setPositions(A.flat()),o){const w=o.map(b=>b instanceof Xo?b.toArray():b);g.setColors(w.flat())}return g},[e,a,o]);return m.useLayoutEffect(()=>{d.computeLineDistances()},[e,d]),m.useLayoutEffect(()=>{l?f.defines.USE_DASH="":delete f.defines.USE_DASH,f.needsUpdate=!0},[l,f]),m.useEffect(()=>()=>p.dispose(),[p]),m.createElement("primitive",z9({object:d,ref:c},s),m.createElement("primitive",{object:p,attach:"geometry"}),m.createElement("primitive",z9({object:f,attach:"material",color:n,vertexColors:!!o,resolution:[u.width,u.height],linewidth:i??r,dashed:l},s)))});function V3t(){var t=Object.create(null);function e(i,r){var a=i.id,l=i.name,s=i.dependencies;s===void 0&&(s=[]);var c=i.init;c===void 0&&(c=function(){});var u=i.getTransferables;if(u===void 0&&(u=null),!t[a])try{s=s.map(function(f){return f&&f.isWorkerModule&&(e(f,function(p){if(p instanceof Error)throw p}),f=t[f.id].value),f}),c=o("<"+l+">.init",c),u&&(u=o("<"+l+">.getTransferables",u));var d=null;typeof c=="function"?d=c.apply(void 0,s):console.error("worker module init function failed to rehydrate"),t[a]={id:a,value:d,getTransferables:u},r(d)}catch(f){f&&f.noLog||console.error(f),r(f)}}function n(i,r){var a,l=i.id,s=i.args;(!t[l]||typeof t[l].value!="function")&&r(new Error("Worker module "+l+": not found or its 'init' did not return a function"));try{var c=(a=t[l]).value.apply(a,s);c&&typeof c.then=="function"?c.then(u,function(d){return r(d instanceof Error?d:new Error(""+d))}):u(c)}catch(d){r(d)}function u(d){try{var f=t[l].getTransferables&&t[l].getTransferables(d);(!f||!Array.isArray(f)||!f.length)&&(f=void 0),r(d,f)}catch(p){console.error(p),r(p)}}}function o(i,r){var a=void 0;self.troikaDefine=function(s){return a=s};var l=URL.createObjectURL(new Blob(["/** "+i.replace(/\*/g,"")+` **/ troikaDefine( `+r+` -)`],{type:"application/javascript"}));try{importScripts(l)}catch(s){console.error(s)}return URL.revokeObjectURL(l),delete self.troikaDefine,a}self.addEventListener("message",function(i){var r=i.data,a=r.messageId,l=r.action,s=r.data;try{l==="registerModule"&&e(s,function(c){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:{isCallable:typeof c=="function"}})}),l==="callModule"&&n(s,function(c,u){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:c},u||void 0)})}catch(c){postMessage({messageId:a,success:!1,error:c.stack})}})}function J3t(t){var e=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];return e._getInitResult().then(function(i){if(typeof i=="function")return i.apply(void 0,n);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var n=t.dependencies,o=t.init;n=Array.isArray(n)?n.map(function(r){return r&&r._getInitResult?r._getInitResult():r}):[];var i=Promise.all(n).then(function(r){return o.apply(null,r)});return e._getInitResult=function(){return i},i},e}var rUe=function(){var t=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),t=!0}catch(n){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+n.message+"]")}return rUe=function(){return t},t},K3t=0,q3t=0,Koe=!1,oE=Object.create(null),iE=Object.create(null),dce=Object.create(null);function JL(t){if((!t||typeof t.init!="function")&&!Koe)throw new Error("requires `options.init` function");var e=t.dependencies,n=t.init,o=t.getTransferables,i=t.workerId;if(!rUe())return J3t(t);i==null&&(i="#default");var r="workerModule"+ ++K3t,a=t.name||r,l=null;e=e&&e.map(function(c){return typeof c=="function"&&!c.workerModuleData&&(Koe=!0,c=JL({workerId:i,name:"<"+a+"> function dependency: "+c.name,init:`function(){return ( +)`],{type:"application/javascript"}));try{importScripts(l)}catch(s){console.error(s)}return URL.revokeObjectURL(l),delete self.troikaDefine,a}self.addEventListener("message",function(i){var r=i.data,a=r.messageId,l=r.action,s=r.data;try{l==="registerModule"&&e(s,function(c){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:{isCallable:typeof c=="function"}})}),l==="callModule"&&n(s,function(c,u){c instanceof Error?postMessage({messageId:a,success:!1,error:c.message}):postMessage({messageId:a,success:!0,result:c},u||void 0)})}catch(c){postMessage({messageId:a,success:!1,error:c.stack})}})}function G3t(t){var e=function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];return e._getInitResult().then(function(i){if(typeof i=="function")return i.apply(void 0,n);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var n=t.dependencies,o=t.init;n=Array.isArray(n)?n.map(function(r){return r&&r._getInitResult?r._getInitResult():r}):[];var i=Promise.all(n).then(function(r){return o.apply(null,r)});return e._getInitResult=function(){return i},i},e}var oUe=function(){var t=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),t=!0}catch(n){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+n.message+"]")}return oUe=function(){return t},t},X3t=0,J3t=0,Koe=!1,oE=Object.create(null),iE=Object.create(null),dce=Object.create(null);function JL(t){if((!t||typeof t.init!="function")&&!Koe)throw new Error("requires `options.init` function");var e=t.dependencies,n=t.init,o=t.getTransferables,i=t.workerId;if(!oUe())return G3t(t);i==null&&(i="#default");var r="workerModule"+ ++X3t,a=t.name||r,l=null;e=e&&e.map(function(c){return typeof c=="function"&&!c.workerModuleData&&(Koe=!0,c=JL({workerId:i,name:"<"+a+"> function dependency: "+c.name,init:`function(){return ( `+v_(c)+` -)}`}),Koe=!1),c&&c.workerModuleData&&(c=c.workerModuleData),c});function s(){for(var c=[],u=arguments.length;u--;)c[u]=arguments[u];if(!l){l=kwe(i,"registerModule",s.workerModuleData);var d=function(){l=null,iE[i].delete(d)};(iE[i]||(iE[i]=new Set)).add(d)}return l.then(function(f){var p=f.isCallable;if(p)return kwe(i,"callModule",{id:r,args:c});throw new Error("Worker module function was called but `init` did not return a callable function")})}return s.workerModuleData={isWorkerModule:!0,id:r,name:a,dependencies:e,init:v_(n),getTransferables:o&&v_(o)},s}function $3t(t){iE[t]&&iE[t].forEach(function(e){e()}),oE[t]&&(oE[t].terminate(),delete oE[t])}function v_(t){var e=t.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function Q3t(t){var e=oE[t];if(!e){var n=v_(X3t);e=oE[t]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+t.replace(/\*/g,"")+` **/ +)}`}),Koe=!1),c&&c.workerModuleData&&(c=c.workerModuleData),c});function s(){for(var c=[],u=arguments.length;u--;)c[u]=arguments[u];if(!l){l=kwe(i,"registerModule",s.workerModuleData);var d=function(){l=null,iE[i].delete(d)};(iE[i]||(iE[i]=new Set)).add(d)}return l.then(function(f){var p=f.isCallable;if(p)return kwe(i,"callModule",{id:r,args:c});throw new Error("Worker module function was called but `init` did not return a callable function")})}return s.workerModuleData={isWorkerModule:!0,id:r,name:a,dependencies:e,init:v_(n),getTransferables:o&&v_(o)},s}function K3t(t){iE[t]&&iE[t].forEach(function(e){e()}),oE[t]&&(oE[t].terminate(),delete oE[t])}function v_(t){var e=t.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function q3t(t){var e=oE[t];if(!e){var n=v_(V3t);e=oE[t]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+t.replace(/\*/g,"")+` **/ -;(`+n+")()"],{type:"application/javascript"}))),e.onmessage=function(o){var i=o.data,r=i.messageId,a=dce[r];if(!a)throw new Error("WorkerModule response with empty or unknown messageId");delete dce[r],a(i)}}return e}function kwe(t,e,n){return new Promise(function(o,i){var r=++q3t;dce[r]=function(a){a.success?o(a.result):i(new Error("Error in worker "+e+" call: "+a.error))},Q3t(t).postMessage({messageId:r,action:e,data:n})})}function aUe(){var t=function(e){function n(B,_,Y,O,J,Z,ie,ee){var q=1-ie;ee.x=q*q*B+2*q*ie*Y+ie*ie*J,ee.y=q*q*_+2*q*ie*O+ie*ie*Z}function o(B,_,Y,O,J,Z,ie,ee,q,ae){var ne=1-q;ae.x=ne*ne*ne*B+3*ne*ne*q*Y+3*ne*q*q*J+q*q*q*ie,ae.y=ne*ne*ne*_+3*ne*ne*q*O+3*ne*q*q*Z+q*q*q*ee}function i(B,_){for(var Y=/([MLQCZ])([^MLQCZ]*)/g,O,J,Z,ie,ee;O=Y.exec(B);){var q=O[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(ae){return parseFloat(ae)});switch(O[1]){case"M":ie=J=q[0],ee=Z=q[1];break;case"L":(q[0]!==ie||q[1]!==ee)&&_("L",ie,ee,ie=q[0],ee=q[1]);break;case"Q":{_("Q",ie,ee,ie=q[2],ee=q[3],q[0],q[1]);break}case"C":{_("C",ie,ee,ie=q[4],ee=q[5],q[0],q[1],q[2],q[3]);break}case"Z":(ie!==J||ee!==Z)&&_("L",ie,ee,J,Z);break}}}function r(B,_,Y){Y===void 0&&(Y=16);var O={x:0,y:0};i(B,function(J,Z,ie,ee,q,ae,ne,se,le){switch(J){case"L":_(Z,ie,ee,q);break;case"Q":{for(var te=Z,he=ie,pe=1;pe0;)Oe[Le]=arguments[Le+2];var $e=Ae[Ue]||(Ae[Ue]=Y.getUniformLocation(me,Ue));Y["uniform"+De].apply(Y,[$e].concat(Oe))},setAttribute:function(De,Ue,Oe,Le,$e){var We=ge[De];We||(We=ge[De]={buf:Y.createBuffer(),loc:Y.getAttribLocation(me,De),data:null}),Y.bindBuffer(Y.ARRAY_BUFFER,We.buf),Y.vertexAttribPointer(We.loc,Ue,Y.FLOAT,!1,0,0),Y.enableVertexAttribArray(We.loc),J?Y.vertexAttribDivisor(We.loc,Le):fe("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(We.loc,Le),$e!==We.data&&(Y.bufferData(Y.ARRAY_BUFFER,$e,Oe),We.data=$e)}})}}}ie[Ie].transaction(oe)},Se=function(Ie,ze){q++;try{Y.activeTexture(Y.TEXTURE0+q);var ye=ee[Ie];ye||(ye=ee[Ie]=Y.createTexture(),Y.bindTexture(Y.TEXTURE_2D,ye),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,Y.NEAREST),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST)),Y.bindTexture(Y.TEXTURE_2D,ye),ze(ye,q)}finally{q--}},Ce=function(Ie,ze,ye){var oe=Y.createFramebuffer();ae.push(oe),Y.bindFramebuffer(Y.FRAMEBUFFER,oe),Y.activeTexture(Y.TEXTURE0+ze),Y.bindTexture(Y.TEXTURE_2D,Ie),Y.framebufferTexture2D(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,Y.TEXTURE_2D,Ie,0);try{ye(oe)}finally{Y.deleteFramebuffer(oe),Y.bindFramebuffer(Y.FRAMEBUFFER,ae[--ae.length-1]||null)}},ve=function(){Z={},ie={},ee={},q=-1,ae.length=0};var ne=fe,se=$,le=de,te=Se,he=Ce,pe=ve,J=typeof WebGL2RenderingContext<"u"&&Y instanceof WebGL2RenderingContext,Z={},ie={},ee={},q=-1,ae=[];Y.canvas.addEventListener("webglcontextlost",function(Ie){ve(),Ie.preventDefault()},!1),s.set(Y,O={gl:Y,isWebGL2:J,getExtension:fe,withProgram:de,withTexture:Se,withTextureFramebuffer:Ce,handleContextLoss:ve})}_(O)}function d(B,_,Y,O,J,Z,ie,ee){ie===void 0&&(ie=15),ee===void 0&&(ee=null),u(B,function(q){var ae=q.gl,ne=q.withProgram,se=q.withTexture;se("copy",function(le,te){ae.texImage2D(ae.TEXTURE_2D,0,ae.RGBA,J,Z,0,ae.RGBA,ae.UNSIGNED_BYTE,_),ne("copy",a,l,function(he){var pe=he.setUniform,fe=he.setAttribute;fe("aUV",2,ae.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),pe("1i","image",te),ae.bindFramebuffer(ae.FRAMEBUFFER,ee||null),ae.disable(ae.BLEND),ae.colorMask(ie&8,ie&4,ie&2,ie&1),ae.viewport(Y,O,J,Z),ae.scissor(Y,O,J,Z),ae.drawArrays(ae.TRIANGLES,0,3)})})})}function f(B,_,Y){var O=B.width,J=B.height;u(B,function(Z){var ie=Z.gl,ee=new Uint8Array(O*J*4);ie.readPixels(0,0,O,J,ie.RGBA,ie.UNSIGNED_BYTE,ee),B.width=_,B.height=Y,d(ie,ee,0,0,O,J)})}var p=Object.freeze({__proto__:null,withWebGLContext:u,renderImageData:d,resizeWebGLCanvasWithoutClearing:f});function g(B,_,Y,O,J,Z){Z===void 0&&(Z=1);var ie=new Uint8Array(B*_),ee=O[2]-O[0],q=O[3]-O[1],ae=[];r(Y,function(fe,$,de,Se){ae.push({x1:fe,y1:$,x2:de,y2:Se,minX:Math.min(fe,de),minY:Math.min($,Se),maxX:Math.max(fe,de),maxY:Math.max($,Se)})}),ae.sort(function(fe,$){return fe.maxX-$.maxX});for(var ne=0;neve.minX&&$-Seve.minY){var Ie=b(fe,$,ve.x1,ve.y1,ve.x2,ve.y2);Ie$!=Ce.y2>$&&fe<(Ce.x2-Ce.x1)*($-Ce.y1)/(Ce.y2-Ce.y1)+Ce.x1;ve&&(de+=Ce.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function A(Se,Ce){var ve=36,Ie=0,ze=new Map,ye=Ce&&new Map,oe;return Se.split(",").forEach(function ge(Ae){if(Ae.indexOf("+")!==-1)for(var me=+Ae;me--;)ge(oe);else{oe=Ae;var Pe=Ae.split(">"),Me=Pe[0],Te=Pe[1];Me=String.fromCodePoint(Ie+=parseInt(Me,ve)),Te=String.fromCodePoint(Ie+=parseInt(Te,ve)),ze.set(Me,Te),Ce&&ye.set(Te,Me)}}),{map:ze,reverseMap:ye}}var w,b,C;function P(){if(!w){var Se=A(g.pairs,!0),Ce=Se.map,ve=Se.reverseMap;w=Ce,b=ve,C=A(g.canonical,!1).map}}function v(Se){return P(),w.get(Se)||null}function T(Se){return P(),b.get(Se)||null}function y(Se){return P(),C.get(Se)||null}var S=o.L,x=o.R,R=o.EN,H=o.ES,D=o.ET,k=o.AN,W=o.CS,N=o.B,L=o.S,E=o.ON,U=o.BN,F=o.NSM,B=o.AL,_=o.LRO,Y=o.RLO,O=o.LRE,J=o.RLE,Z=o.PDF,ie=o.LRI,ee=o.RLI,q=o.FSI,ae=o.PDI;function ne(Se,Ce){for(var ve=125,Ie=new Uint32Array(Se.length),ze=0;ze0)We--;else if(Fe>0){for(Ee=0;!Le[Le.length-1]._isolate;)Le.pop();var Qe=Le[Le.length-1]._isolInitIndex;Qe!=null&&(Ae.set(Qe,Ge),Ae.set(Ge,Qe)),Le.pop(),Fe--}$e=Le[Le.length-1],ge[Ge]=$e._level,$e._override&&oe(Ge,$e._override)}else rt&Z?(We===0&&(Ee>0?Ee--:!$e._isolate&&Le.length>1&&(Le.pop(),$e=Le[Le.length-1])),ge[Ge]=$e._level):rt&N&&(ge[Ge]=Pe.level);else ge[Ge]=$e._level,$e._override&&rt!==U&&oe(Ge,$e._override)}for(var ut=[],ft=null,at=Pe.start;at<=Pe.end;at++){var ot=Ie[at];if(!(ot&s)){var et=ge[at],_e=ot&r,nt=ot===ae;ft&&et===ft._level?(ft._end=at,ft._endsWithIsolInit=_e):ut.push(ft={_start:at,_end:at,_level:et,_startsWithPDI:nt,_endsWithIsolInit:_e})}}for(var yt=[],Tt=0;Tt=0;lt--)if(!(Ie[lt]&s)){Ne=ge[lt];break}var Ye=Ft[Ft.length-1],st=ge[Ye],je=Pe.level;if(!(Ie[Ye]&r)){for(var mt=Ye+1;mt<=Pe.end;mt++)if(!(Ie[mt]&s)){je=ge[mt];break}}yt.push({_seqIndices:Ft,_sosType:Math.max(Ne,Pt)%2?x:S,_eosType:Math.max(je,st)%2?x:S})}}for(var Ht=0;Ht=0;bn--)if(!(Ie[It[bn]]&s)){rn=Ie[It[bn]];break}oe(fn,rn&(r|ae)?E:rn)}}if(ye.get(R))for(var Tn=0;Tn=-1;Ai--){var vo=Ai===-1?Et:Ie[It[Ai]];if(vo&a){vo===B&&oe(Un,k);break}}}if(ye.get(B))for(var Oo=0;Oo=0&&(uo=Ie[It[Hi]],!!(uo&s));Hi--);for(var vi=po+1;vi=0&&Ie[It[no]]&(D|s);no--)oe(It[no],R);for(Cn++;Cn=0&&Ie[It[Lo]]&s;Lo--)oe(It[Lo],E);for(var bo=Eo+1;bo=0;Mo--){var $i=ar[Mo].char;if($i===ba||$i===T(y($o))||v(y($i))===$o){Qo.push([ar[Mo].seqIndex,ur]),ar.length=Mo;break}}}Qo.sort(function(gn,mn){return gn[0]-mn[0]})}for(var Za=0;Za=0;Pr--){var pa=It[Pr];if(Ie[pa]&_i){var Wl=Ie[pa]&Uo?x:S;Wl!==ln?Br=Wl:Br=ln;break}}}if(Br){if(Ie[It[di]]=Ie[It[Fr]]=Br,Br!==ln){for(var Yl=di+1;Yl=0;jt--)if(Ie[It[jt]]&s)mu=jt;else{qt=Ie[It[jt]]&Uo?x:S;break}for(var pn=zt,Pn=Cc+1;Pn=0&&f(Se[Bt])&c;Bt--)ge[Bt]=Pe.level}}return{levels:ge,paragraphs:me};function Jt(gn,mn){for(var vn=gn;vn=ge&&f(Se[Pe])&c;Pe--)me[Pe]=oe.level;for(var Me=oe.level,Te=1/0,De=0;DeMe&&(Me=Ue),Ue=Te;Oe--)for(var Le=0;Le=Oe){for(var $e=Le;Le+1=Oe;)Le++;Le>$e&&ye.push([$e+ge,Le+ge])}}}),ye}function $(Se,Ce,ve,Ie){var ze=de(Se,Ce,ve,Ie),ye=[].concat(Se);return ze.forEach(function(oe,ge){ye[ge]=(Ce.levels[oe]&1?he(Se[oe]):null)||Se[oe]}),ye.join("")}function de(Se,Ce,ve,Ie){for(var ze=fe(Se,Ce,ve,Ie),ye=[],oe=0;oe/gm;function n(o,i){let r=ua[i];return r?fce(r):o}return t.replace(e,n)}const Kd=[];for(let t=0;t<256;t++)Kd[t]=(t<16?"0":"")+t.toString(16);function e6t(){const t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,n=Math.random()*4294967295|0,o=Math.random()*4294967295|0;return(Kd[t&255]+Kd[t>>8&255]+Kd[t>>16&255]+Kd[t>>24&255]+"-"+Kd[e&255]+Kd[e>>8&255]+"-"+Kd[e>>16&15|64]+Kd[e>>24&255]+"-"+Kd[n&63|128]+Kd[n>>8&255]+"-"+Kd[n>>16&255]+Kd[n>>24&255]+Kd[o&255]+Kd[o>>8&255]+Kd[o>>16&255]+Kd[o>>24&255]).toUpperCase()}const j8=Object.assign||function(){let t=arguments[0];for(let e=1,n=arguments.length;e/gm,` +;(`+n+")()"],{type:"application/javascript"}))),e.onmessage=function(o){var i=o.data,r=i.messageId,a=dce[r];if(!a)throw new Error("WorkerModule response with empty or unknown messageId");delete dce[r],a(i)}}return e}function kwe(t,e,n){return new Promise(function(o,i){var r=++J3t;dce[r]=function(a){a.success?o(a.result):i(new Error("Error in worker "+e+" call: "+a.error))},q3t(t).postMessage({messageId:r,action:e,data:n})})}function iUe(){var t=function(e){function n(B,_,Y,O,J,Z,ie,ee){var q=1-ie;ee.x=q*q*B+2*q*ie*Y+ie*ie*J,ee.y=q*q*_+2*q*ie*O+ie*ie*Z}function o(B,_,Y,O,J,Z,ie,ee,q,ae){var ne=1-q;ae.x=ne*ne*ne*B+3*ne*ne*q*Y+3*ne*q*q*J+q*q*q*ie,ae.y=ne*ne*ne*_+3*ne*ne*q*O+3*ne*q*q*Z+q*q*q*ee}function i(B,_){for(var Y=/([MLQCZ])([^MLQCZ]*)/g,O,J,Z,ie,ee;O=Y.exec(B);){var q=O[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(ae){return parseFloat(ae)});switch(O[1]){case"M":ie=J=q[0],ee=Z=q[1];break;case"L":(q[0]!==ie||q[1]!==ee)&&_("L",ie,ee,ie=q[0],ee=q[1]);break;case"Q":{_("Q",ie,ee,ie=q[2],ee=q[3],q[0],q[1]);break}case"C":{_("C",ie,ee,ie=q[4],ee=q[5],q[0],q[1],q[2],q[3]);break}case"Z":(ie!==J||ee!==Z)&&_("L",ie,ee,J,Z);break}}}function r(B,_,Y){Y===void 0&&(Y=16);var O={x:0,y:0};i(B,function(J,Z,ie,ee,q,ae,ne,se,le){switch(J){case"L":_(Z,ie,ee,q);break;case"Q":{for(var te=Z,he=ie,pe=1;pe0;)Ye[Le]=arguments[Le+2];var $e=Ae[Ne]||(Ae[Ne]=Y.getUniformLocation(me,Ne));Y["uniform"+De].apply(Y,[$e].concat(Ye))},setAttribute:function(De,Ne,Ye,Le,$e){var We=ge[De];We||(We=ge[De]={buf:Y.createBuffer(),loc:Y.getAttribLocation(me,De),data:null}),Y.bindBuffer(Y.ARRAY_BUFFER,We.buf),Y.vertexAttribPointer(We.loc,Ne,Y.FLOAT,!1,0,0),Y.enableVertexAttribArray(We.loc),J?Y.vertexAttribDivisor(We.loc,Le):fe("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(We.loc,Le),$e!==We.data&&(Y.bufferData(Y.ARRAY_BUFFER,$e,Ye),We.data=$e)}})}}}ie[Ie].transaction(oe)},Se=function(Ie,ze){q++;try{Y.activeTexture(Y.TEXTURE0+q);var ye=ee[Ie];ye||(ye=ee[Ie]=Y.createTexture(),Y.bindTexture(Y.TEXTURE_2D,ye),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MIN_FILTER,Y.NEAREST),Y.texParameteri(Y.TEXTURE_2D,Y.TEXTURE_MAG_FILTER,Y.NEAREST)),Y.bindTexture(Y.TEXTURE_2D,ye),ze(ye,q)}finally{q--}},Ce=function(Ie,ze,ye){var oe=Y.createFramebuffer();ae.push(oe),Y.bindFramebuffer(Y.FRAMEBUFFER,oe),Y.activeTexture(Y.TEXTURE0+ze),Y.bindTexture(Y.TEXTURE_2D,Ie),Y.framebufferTexture2D(Y.FRAMEBUFFER,Y.COLOR_ATTACHMENT0,Y.TEXTURE_2D,Ie,0);try{ye(oe)}finally{Y.deleteFramebuffer(oe),Y.bindFramebuffer(Y.FRAMEBUFFER,ae[--ae.length-1]||null)}},ve=function(){Z={},ie={},ee={},q=-1,ae.length=0};var ne=fe,se=$,le=de,te=Se,he=Ce,pe=ve,J=typeof WebGL2RenderingContext<"u"&&Y instanceof WebGL2RenderingContext,Z={},ie={},ee={},q=-1,ae=[];Y.canvas.addEventListener("webglcontextlost",function(Ie){ve(),Ie.preventDefault()},!1),s.set(Y,O={gl:Y,isWebGL2:J,getExtension:fe,withProgram:de,withTexture:Se,withTextureFramebuffer:Ce,handleContextLoss:ve})}_(O)}function d(B,_,Y,O,J,Z,ie,ee){ie===void 0&&(ie=15),ee===void 0&&(ee=null),u(B,function(q){var ae=q.gl,ne=q.withProgram,se=q.withTexture;se("copy",function(le,te){ae.texImage2D(ae.TEXTURE_2D,0,ae.RGBA,J,Z,0,ae.RGBA,ae.UNSIGNED_BYTE,_),ne("copy",a,l,function(he){var pe=he.setUniform,fe=he.setAttribute;fe("aUV",2,ae.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),pe("1i","image",te),ae.bindFramebuffer(ae.FRAMEBUFFER,ee||null),ae.disable(ae.BLEND),ae.colorMask(ie&8,ie&4,ie&2,ie&1),ae.viewport(Y,O,J,Z),ae.scissor(Y,O,J,Z),ae.drawArrays(ae.TRIANGLES,0,3)})})})}function f(B,_,Y){var O=B.width,J=B.height;u(B,function(Z){var ie=Z.gl,ee=new Uint8Array(O*J*4);ie.readPixels(0,0,O,J,ie.RGBA,ie.UNSIGNED_BYTE,ee),B.width=_,B.height=Y,d(ie,ee,0,0,O,J)})}var p=Object.freeze({__proto__:null,withWebGLContext:u,renderImageData:d,resizeWebGLCanvasWithoutClearing:f});function g(B,_,Y,O,J,Z){Z===void 0&&(Z=1);var ie=new Uint8Array(B*_),ee=O[2]-O[0],q=O[3]-O[1],ae=[];r(Y,function(fe,$,de,Se){ae.push({x1:fe,y1:$,x2:de,y2:Se,minX:Math.min(fe,de),minY:Math.min($,Se),maxX:Math.max(fe,de),maxY:Math.max($,Se)})}),ae.sort(function(fe,$){return fe.maxX-$.maxX});for(var ne=0;neve.minX&&$-Seve.minY){var Ie=b(fe,$,ve.x1,ve.y1,ve.x2,ve.y2);Ie$!=Ce.y2>$&&fe<(Ce.x2-Ce.x1)*($-Ce.y1)/(Ce.y2-Ce.y1)+Ce.x1;ve&&(de+=Ce.y1p.y!=seg.w>p.y)&&(p.x<(seg.z-seg.x)*(p.y-seg.y)/(seg.w-seg.y)+seg.x);bool crossingUp=crossing&&vLineSegment.y1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function A(Se,Ce){var ve=36,Ie=0,ze=new Map,ye=Ce&&new Map,oe;return Se.split(",").forEach(function ge(Ae){if(Ae.indexOf("+")!==-1)for(var me=+Ae;me--;)ge(oe);else{oe=Ae;var Pe=Ae.split(">"),Me=Pe[0],Te=Pe[1];Me=String.fromCodePoint(Ie+=parseInt(Me,ve)),Te=String.fromCodePoint(Ie+=parseInt(Te,ve)),ze.set(Me,Te),Ce&&ye.set(Te,Me)}}),{map:ze,reverseMap:ye}}var w,b,C;function P(){if(!w){var Se=A(g.pairs,!0),Ce=Se.map,ve=Se.reverseMap;w=Ce,b=ve,C=A(g.canonical,!1).map}}function v(Se){return P(),w.get(Se)||null}function T(Se){return P(),b.get(Se)||null}function y(Se){return P(),C.get(Se)||null}var S=o.L,x=o.R,R=o.EN,H=o.ES,D=o.ET,k=o.AN,W=o.CS,N=o.B,L=o.S,E=o.ON,U=o.BN,F=o.NSM,B=o.AL,_=o.LRO,Y=o.RLO,O=o.LRE,J=o.RLE,Z=o.PDF,ie=o.LRI,ee=o.RLI,q=o.FSI,ae=o.PDI;function ne(Se,Ce){for(var ve=125,Ie=new Uint32Array(Se.length),ze=0;ze0)We--;else if(Fe>0){for(Ee=0;!Le[Le.length-1]._isolate;)Le.pop();var Qe=Le[Le.length-1]._isolInitIndex;Qe!=null&&(Ae.set(Qe,Ge),Ae.set(Ge,Qe)),Le.pop(),Fe--}$e=Le[Le.length-1],ge[Ge]=$e._level,$e._override&&oe(Ge,$e._override)}else rt&Z?(We===0&&(Ee>0?Ee--:!$e._isolate&&Le.length>1&&(Le.pop(),$e=Le[Le.length-1])),ge[Ge]=$e._level):rt&N&&(ge[Ge]=Pe.level);else ge[Ge]=$e._level,$e._override&&rt!==U&&oe(Ge,$e._override)}for(var ct=[],ft=null,at=Pe.start;at<=Pe.end;at++){var ot=Ie[at];if(!(ot&s)){var et=ge[at],Oe=ot&r,nt=ot===ae;ft&&et===ft._level?(ft._end=at,ft._endsWithIsolInit=Oe):ct.push(ft={_start:at,_end:at,_level:et,_startsWithPDI:nt,_endsWithIsolInit:Oe})}}for(var mt=[],Tt=0;Tt=0;lt--)if(!(Ie[lt]&s)){Ue=ge[lt];break}var Ve=kt[kt.length-1],ut=ge[Ve],je=Pe.level;if(!(Ie[Ve]&r)){for(var yt=Ve+1;yt<=Pe.end;yt++)if(!(Ie[yt]&s)){je=ge[yt];break}}mt.push({_seqIndices:kt,_sosType:Math.max(Ue,Pt)%2?x:S,_eosType:Math.max(je,ut)%2?x:S})}}for(var Ht=0;Ht=0;bn--)if(!(Ie[It[bn]]&s)){rn=Ie[It[bn]];break}oe(fn,rn&(r|ae)?E:rn)}}if(ye.get(R))for(var Tn=0;Tn=-1;Ai--){var vo=Ai===-1?zt:Ie[It[Ai]];if(vo&a){vo===B&&oe(Un,k);break}}}if(ye.get(B))for(var Oo=0;Oo=0&&(uo=Ie[It[Hi]],!!(uo&s));Hi--);for(var vi=po+1;vi=0&&Ie[It[to]]&(D|s);to--)oe(It[to],R);for(Cn++;Cn=0&&Ie[It[Lo]]&s;Lo--)oe(It[Lo],E);for(var bo=Eo+1;bo=0;Mo--){var $i=ar[Mo].char;if($i===ba||$i===T(y($o))||v(y($i))===$o){Qo.push([ar[Mo].seqIndex,ur]),ar.length=Mo;break}}}Qo.sort(function(gn,mn){return gn[0]-mn[0]})}for(var Za=0;Za=0;Pr--){var pa=It[Pr];if(Ie[pa]&_i){var Wl=Ie[pa]&Uo?x:S;Wl!==ln?Br=Wl:Br=ln;break}}}if(Br){if(Ie[It[di]]=Ie[It[Fr]]=Br,Br!==ln){for(var Yl=di+1;Yl=0;jt--)if(Ie[It[jt]]&s)mu=jt;else{qt=Ie[It[jt]]&Uo?x:S;break}for(var pn=Ft,Pn=Cc+1;Pn=0&&f(Se[Bt])&c;Bt--)ge[Bt]=Pe.level}}return{levels:ge,paragraphs:me};function Jt(gn,mn){for(var vn=gn;vn=ge&&f(Se[Pe])&c;Pe--)me[Pe]=oe.level;for(var Me=oe.level,Te=1/0,De=0;DeMe&&(Me=Ne),Ne=Te;Ye--)for(var Le=0;Le=Ye){for(var $e=Le;Le+1=Ye;)Le++;Le>$e&&ye.push([$e+ge,Le+ge])}}}),ye}function $(Se,Ce,ve,Ie){var ze=de(Se,Ce,ve,Ie),ye=[].concat(Se);return ze.forEach(function(oe,ge){ye[ge]=(Ce.levels[oe]&1?he(Se[oe]):null)||Se[oe]}),ye.join("")}function de(Se,Ce,ve,Ie){for(var ze=fe(Se,Ce,ve,Ie),ye=[],oe=0;oe/gm;function n(o,i){let r=ua[i];return r?fce(r):o}return t.replace(e,n)}const Kd=[];for(let t=0;t<256;t++)Kd[t]=(t<16?"0":"")+t.toString(16);function Q3t(){const t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,n=Math.random()*4294967295|0,o=Math.random()*4294967295|0;return(Kd[t&255]+Kd[t>>8&255]+Kd[t>>16&255]+Kd[t>>24&255]+"-"+Kd[e&255]+Kd[e>>8&255]+"-"+Kd[e>>16&15|64]+Kd[e>>24&255]+"-"+Kd[n&63|128]+Kd[n>>8&255]+"-"+Kd[n>>16&255]+Kd[n>>24&255]+Kd[o&255]+Kd[o>>8&255]+Kd[o>>16&255]+Kd[o>>24&255]).toUpperCase()}const j8=Object.assign||function(){let t=arguments[0];for(let e=1,n=arguments.length;e/gm,` //!BEGIN_POST_CHUNK $1 $& //!END_POST_CHUNK @@ -4125,27 +4125,27 @@ troika_normal_${i} = vec3(normal); troika_uv_${i} = vec2(uv); troikaVertexTransform${i}(troika_position_${i}, troika_normal_${i}, troika_uv_${i}); ${a} -`,e=e.replace(/\b(position|normal|uv)\b/g,(A,w,b,C)=>/\battribute\s+vec[23]\s+$/.test(C.substr(0,b))?w:`troika_${w}_${i}`),t.map&&t.map.channel>0||(e=e.replace(/\bMAP_UV\b/g,`troika_uv_${i}`))),e=Wwe(e,i,r,a,l),n=Wwe(n,i,c,u,d),{vertexShader:e,fragmentShader:n}}function Wwe(t,e,n,o,i){return(o||i||n)&&(t=t.replace(lUe,` +`,e=e.replace(/\b(position|normal|uv)\b/g,(A,w,b,C)=>/\battribute\s+vec[23]\s+$/.test(C.substr(0,b))?w:`troika_${w}_${i}`),t.map&&t.map.channel>0||(e=e.replace(/\bMAP_UV\b/g,`troika_uv_${i}`))),e=Wwe(e,i,r,a,l),n=Wwe(n,i,c,u,d),{vertexShader:e,fragmentShader:n}}function Wwe(t,e,n,o,i){return(o||i||n)&&(t=t.replace(rUe,` ${n} void troikaOrigMain${e}() {`),t+=` void main() { ${o} troikaOrigMain${e}(); ${i} -}`),t}function i6t(t,e){return t==="uniforms"?void 0:typeof e=="function"?e.toString():e}let r6t=0;const Nwe=new Map;function a6t(t){const e=JSON.stringify(t,i6t);let n=Nwe.get(e);return n==null&&Nwe.set(e,n=++r6t),n}function l6t(t,e,n){const{defaultFontURL:o}=n,i=Object.create(null),r=1/0,a=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,l="[^\\S\\u00A0]",s=new RegExp(`${l}|[\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]`);function c(C,P){function v(){const T=y=>{console.error(`Failure loading font ${C}${C===o?"":"; trying fallback"}`,y),C!==o&&(C=o,v())};try{const y=new XMLHttpRequest;y.open("get",C,!0),y.responseType="arraybuffer",y.onload=function(){if(y.status>=400)T(new Error(y.statusText));else if(y.status>0)try{const S=t(y.response);P(S)}catch(S){T(S)}},y.onerror=T,y.send()}catch(y){T(y)}}v()}function u(C,P){C||(C=o);let v=i[C];v?v.pending?v.pending.push(P):P(v):(i[C]={pending:[P]},c(C,T=>{let y=i[C].pending;i[C]=T,y.forEach(S=>S(T))}))}function d({text:C="",font:P=o,sdfGlyphSize:v=64,fontSize:T=1,letterSpacing:y=0,lineHeight:S="normal",maxWidth:x=r,direction:R,textAlign:H="left",textIndent:D=0,whiteSpace:k="normal",overflowWrap:W="normal",anchorX:N=0,anchorY:L=0,includeCaretPositions:E=!1,chunkedBoundsSize:U=8192,colorRanges:F=null},B,_=!1){const Y=A(),O={fontLoad:0,typesetting:0};C.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),C=C.replace(/\r\n/g,` +}`),t}function n6t(t,e){return t==="uniforms"?void 0:typeof e=="function"?e.toString():e}let o6t=0;const Nwe=new Map;function i6t(t){const e=JSON.stringify(t,n6t);let n=Nwe.get(e);return n==null&&Nwe.set(e,n=++o6t),n}function r6t(t,e,n){const{defaultFontURL:o}=n,i=Object.create(null),r=1/0,a=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,l="[^\\S\\u00A0]",s=new RegExp(`${l}|[\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]`);function c(C,P){function v(){const T=y=>{console.error(`Failure loading font ${C}${C===o?"":"; trying fallback"}`,y),C!==o&&(C=o,v())};try{const y=new XMLHttpRequest;y.open("get",C,!0),y.responseType="arraybuffer",y.onload=function(){if(y.status>=400)T(new Error(y.statusText));else if(y.status>0)try{const S=t(y.response);P(S)}catch(S){T(S)}},y.onerror=T,y.send()}catch(y){T(y)}}v()}function u(C,P){C||(C=o);let v=i[C];v?v.pending?v.pending.push(P):P(v):(i[C]={pending:[P]},c(C,T=>{let y=i[C].pending;i[C]=T,y.forEach(S=>S(T))}))}function d({text:C="",font:P=o,sdfGlyphSize:v=64,fontSize:T=1,letterSpacing:y=0,lineHeight:S="normal",maxWidth:x=r,direction:R,textAlign:H="left",textIndent:D=0,whiteSpace:k="normal",overflowWrap:W="normal",anchorX:N=0,anchorY:L=0,includeCaretPositions:E=!1,chunkedBoundsSize:U=8192,colorRanges:F=null},B,_=!1){const Y=A(),O={fontLoad:0,typesetting:0};C.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),C=C.replace(/\r\n/g,` `).replace(/\r/g,` -`)),T=+T,y=+y,x=+x,S=S||"normal",D=+D,u(P,J=>{const Z=isFinite(x);let ie=null,ee=null,q=null,ae=null,ne=null,se=null,le=null,te=0,he=0,pe=k!=="nowrap";const{ascender:fe,descender:$,unitsPerEm:de,lineGap:Se,capHeight:Ce,xHeight:ve}=J;O.fontLoad=A()-Y;const Ie=A(),ze=T/de;S==="normal"&&(S=(fe-$+Se)/de),S=S*T;const ye=(S-(fe-$)*ze)/2,oe=-(fe*ze+ye),ge=Math.min(S,(fe-$)*ze),Ae=(fe+$)/2*ze-ge/2;let me=D,Pe=new w;const Me=[Pe];J.forEachGlyph(C,T,y,(Ue,Oe,Le)=>{const $e=C.charAt(Le),We=Ue.advanceWidth*ze,Ee=Pe.count;let Fe;if("isEmpty"in Ue||(Ue.isWhitespace=!!$e&&new RegExp(l).test($e),Ue.canBreakAfter=!!$e&&s.test($e),Ue.isEmpty=Ue.xMin===Ue.xMax||Ue.yMin===Ue.yMax||a.test($e)),!Ue.isWhitespace&&!Ue.isEmpty&&he++,pe&&Z&&!Ue.isWhitespace&&Oe+We+me>x&&Ee){if(Pe.glyphAt(Ee-1).glyphObj.canBreakAfter)Fe=new w,me=-Oe;else for(let rt=Ee;rt--;)if(rt===0&&W==="break-word"){Fe=new w,me=-Oe;break}else if(Pe.glyphAt(rt).glyphObj.canBreakAfter){Fe=Pe.splitAt(rt+1);const Ve=Fe.glyphAt(0).x;me-=Ve;for(let xt=Fe.count;xt--;)Fe.glyphAt(xt).x-=Ve;break}Fe&&(Pe.isSoftWrapped=!0,Pe=Fe,Me.push(Pe),te=x)}let Ge=Pe.glyphAt(Pe.count);Ge.glyphObj=Ue,Ge.x=Oe+me,Ge.width=We,Ge.charIndex=Le,$e===` -`&&(Pe=new w,Me.push(Pe),me=-(Oe+We+y*T)+D)}),Me.forEach(Ue=>{for(let Oe=Ue.count;Oe--;){let{glyphObj:Le,x:$e,width:We}=Ue.glyphAt(Oe);if(!Le.isWhitespace){Ue.width=$e+We,Ue.width>te&&(te=Ue.width);return}}});let Te=0,De=0;if(N&&(typeof N=="number"?Te=-N:typeof N=="string"&&(Te=-te*(N==="left"?0:N==="center"?.5:N==="right"?1:p(N)))),L){if(typeof L=="number")De=-L;else if(typeof L=="string"){let Ue=Me.length*S;De=L==="top"?0:L==="top-baseline"?-oe:L==="top-cap"?-oe-Ce*ze:L==="top-ex"?-oe-ve*ze:L==="middle"?Ue/2:L==="bottom"?Ue:L==="bottom-baseline"?Ue-ye+$*ze:p(L)*Ue}}if(!_){const Ue=e.getEmbeddingLevels(C,R);ie=new Uint16Array(he),ee=new Float32Array(he*2),q={},se=[r,r,-r,-r],le=[];let Oe=oe;E&&(ne=new Float32Array(C.length*3)),F&&(ae=new Uint8Array(he*3));let Le=0,$e=-1,We=-1,Ee,Fe;if(Me.forEach((Ge,rt)=>{let{count:Ve,width:xt}=Ge;if(Ve>0){let dt=0;for(let et=Ve;et--&&Ge.glyphAt(et).glyphObj.isWhitespace;)dt++;let Qe=0,ut=0;if(H==="center")Qe=(te-xt)/2;else if(H==="right")Qe=te-xt;else if(H==="justify"&&Ge.isSoftWrapped){let et=0;for(let _e=Ve-dt;_e--;)Ge.glyphAt(_e).glyphObj.isWhitespace&&et++;ut=(te-xt)/et}if(ut||Qe){let et=0;for(let _e=0;_e=_e){let Wt=Rt,Ct=Rt;for(;Ctnt)break;Ctat=et;for(let et=0;et1&&g(ne,$e,Ct),$e=Tt}if(F){const{charIndex:Tt}=_e;for(;Tt>We;)We++,F.hasOwnProperty(We)&&(Fe=F[We])}if(!at.isWhitespace&&!at.isEmpty){const Tt=Le++;q[nt]||(q[nt]={path:at.path,pathBounds:[at.xMin,at.yMin,at.xMax,at.yMax]});const Rt=_e.x+Te,Wt=Oe+De;ee[Tt*2]=Rt,ee[Tt*2+1]=Wt;const Ct=Rt+at.xMin*ze,At=Wt+at.yMin*ze,Ft=Rt+at.xMax*ze,Ke=Wt+at.yMax*ze;Ctse[2]&&(se[2]=Ft),Ke>se[3]&&(se[3]=Ke),Tt%U===0&&(Ee={start:Tt,end:Tt,rect:[r,r,-r,-r]},le.push(Ee)),Ee.end++;const Je=Ee.rect;if(CtJe[2]&&(Je[2]=Ft),Ke>Je[3]&&(Je[3]=Ke),ie[Tt]=nt,F){const ct=Tt*3;ae[ct]=Fe>>16&255,ae[ct+1]=Fe>>8&255,ae[ct+2]=Fe&255}}}}Oe-=S}),ne){const Ge=C.length-$e;Ge>1&&g(ne,$e,Ge)}}O.typesetting=A()-Ie,B({glyphIds:ie,glyphPositions:ee,glyphData:q,caretPositions:ne,caretHeight:ge,glyphColors:ae,chunkedBounds:le,fontSize:T,unitsPerEm:de,ascender:fe*ze,descender:$*ze,capHeight:Ce*ze,xHeight:ve*ze,lineHeight:S,topBaseline:oe,blockBounds:[Te,De-Me.length*S,Te+te,De],visibleBounds:se,timings:O})})}function f(C,P){d(C,v=>{const[T,y,S,x]=v.blockBounds;P({width:S-T,height:x-y})},{metricsOnly:!0})}function p(C){let P=C.match(/^([\d.]+)%$/),v=P?parseFloat(P[1]):NaN;return isNaN(v)?0:v/100}function g(C,P,v){const T=C[P*3],y=C[P*3+1],S=C[P*3+2],x=(y-T)/v;for(let R=0;R(Object.defineProperty(C,P,{get(){return this.data[this.index*b.length+v]},set(y){this.data[this.index*b.length+v]=y}}),C),{data:null,index:0}),{typeset:d,measure:f,loadFont:u}}const ax=()=>(self.performance||Date).now(),dq=aUe();let Uwe;function s6t(t,e,n,o,i,r,a,l,s,c,u=!0){return u?u6t(t,e,n,o,i,r,a,l,s,c).then(null,d=>(Uwe||(console.warn("WebGL SDF generation failed, falling back to JS",d),Uwe=!0),jwe(t,e,n,o,i,r,a,l,s,c))):jwe(t,e,n,o,i,r,a,l,s,c)}const x_=[],c6t=5;let pce=0;function sUe(){const t=ax();for(;x_.length&&ax()-tnew Promise((e,n)=>{x_.push(()=>{const o=ax();try{dq.webgl.generateIntoCanvas(...t),e({timing:ax()-o})}catch(i){n(i)}}),pce||(pce=setTimeout(sUe,0))}),d6t=4,f6t=2e3,Bwe={};let h6t=0;function jwe(t,e,n,o,i,r,a,l,s,c){const u="TroikaTextSDFGenerator_JS_"+h6t++%d6t;let d=Bwe[u];return d||(d=Bwe[u]={workerModule:JL({name:u,workerId:u,dependencies:[aUe,ax],init(f,p){const g=f().javascript.generate;return function(...A){const w=p();return{textureData:g(...A),timing:p()-w}}},getTransferables(f){return[f.textureData.buffer]}}),requests:0,idleTimer:null}),d.requests++,clearTimeout(d.idleTimer),d.workerModule(t,e,n,o,i,r).then(({textureData:f,timing:p})=>{const g=ax(),A=new Uint8Array(f.length*4);for(let w=0;w{$3t(u)},f6t)),{timing:p}})}function p6t(t){t._warm||(dq.webgl.isSupported(t),t._warm=!0)}const g6t=dq.webglUtils.resizeWebGLCanvasWithoutClearing;/*! +`)),T=+T,y=+y,x=+x,S=S||"normal",D=+D,u(P,J=>{const Z=isFinite(x);let ie=null,ee=null,q=null,ae=null,ne=null,se=null,le=null,te=0,he=0,pe=k!=="nowrap";const{ascender:fe,descender:$,unitsPerEm:de,lineGap:Se,capHeight:Ce,xHeight:ve}=J;O.fontLoad=A()-Y;const Ie=A(),ze=T/de;S==="normal"&&(S=(fe-$+Se)/de),S=S*T;const ye=(S-(fe-$)*ze)/2,oe=-(fe*ze+ye),ge=Math.min(S,(fe-$)*ze),Ae=(fe+$)/2*ze-ge/2;let me=D,Pe=new w;const Me=[Pe];J.forEachGlyph(C,T,y,(Ne,Ye,Le)=>{const $e=C.charAt(Le),We=Ne.advanceWidth*ze,Ee=Pe.count;let Fe;if("isEmpty"in Ne||(Ne.isWhitespace=!!$e&&new RegExp(l).test($e),Ne.canBreakAfter=!!$e&&s.test($e),Ne.isEmpty=Ne.xMin===Ne.xMax||Ne.yMin===Ne.yMax||a.test($e)),!Ne.isWhitespace&&!Ne.isEmpty&&he++,pe&&Z&&!Ne.isWhitespace&&Ye+We+me>x&&Ee){if(Pe.glyphAt(Ee-1).glyphObj.canBreakAfter)Fe=new w,me=-Ye;else for(let rt=Ee;rt--;)if(rt===0&&W==="break-word"){Fe=new w,me=-Ye;break}else if(Pe.glyphAt(rt).glyphObj.canBreakAfter){Fe=Pe.splitAt(rt+1);const _e=Fe.glyphAt(0).x;me-=_e;for(let xt=Fe.count;xt--;)Fe.glyphAt(xt).x-=_e;break}Fe&&(Pe.isSoftWrapped=!0,Pe=Fe,Me.push(Pe),te=x)}let Ge=Pe.glyphAt(Pe.count);Ge.glyphObj=Ne,Ge.x=Ye+me,Ge.width=We,Ge.charIndex=Le,$e===` +`&&(Pe=new w,Me.push(Pe),me=-(Ye+We+y*T)+D)}),Me.forEach(Ne=>{for(let Ye=Ne.count;Ye--;){let{glyphObj:Le,x:$e,width:We}=Ne.glyphAt(Ye);if(!Le.isWhitespace){Ne.width=$e+We,Ne.width>te&&(te=Ne.width);return}}});let Te=0,De=0;if(N&&(typeof N=="number"?Te=-N:typeof N=="string"&&(Te=-te*(N==="left"?0:N==="center"?.5:N==="right"?1:p(N)))),L){if(typeof L=="number")De=-L;else if(typeof L=="string"){let Ne=Me.length*S;De=L==="top"?0:L==="top-baseline"?-oe:L==="top-cap"?-oe-Ce*ze:L==="top-ex"?-oe-ve*ze:L==="middle"?Ne/2:L==="bottom"?Ne:L==="bottom-baseline"?Ne-ye+$*ze:p(L)*Ne}}if(!_){const Ne=e.getEmbeddingLevels(C,R);ie=new Uint16Array(he),ee=new Float32Array(he*2),q={},se=[r,r,-r,-r],le=[];let Ye=oe;E&&(ne=new Float32Array(C.length*3)),F&&(ae=new Uint8Array(he*3));let Le=0,$e=-1,We=-1,Ee,Fe;if(Me.forEach((Ge,rt)=>{let{count:_e,width:xt}=Ge;if(_e>0){let dt=0;for(let et=_e;et--&&Ge.glyphAt(et).glyphObj.isWhitespace;)dt++;let Qe=0,ct=0;if(H==="center")Qe=(te-xt)/2;else if(H==="right")Qe=te-xt;else if(H==="justify"&&Ge.isSoftWrapped){let et=0;for(let Oe=_e-dt;Oe--;)Ge.glyphAt(Oe).glyphObj.isWhitespace&&et++;ct=(te-xt)/et}if(ct||Qe){let et=0;for(let Oe=0;Oe<_e;Oe++){let nt=Ge.glyphAt(Oe);const mt=nt.glyphObj;nt.x+=Qe+et,ct!==0&&mt.isWhitespace&&Oe<_e-dt&&(et+=ct,nt.width+=ct)}}const ft=e.getReorderSegments(C,Ne,Ge.glyphAt(0).charIndex,Ge.glyphAt(Ge.count-1).charIndex);for(let et=0;et=Oe){let Wt=Rt,Ct=Rt;for(;Ct<_e;Ct++){let wt=Ge.glyphAt(Ct);if(wt.charIndex>nt)break;Ct<_e-dt&&(mt=Math.min(mt,wt.x),Tt=Math.max(Tt,wt.x+wt.width))}for(let wt=Wt;wtat=et;for(let et=0;et<_e;et++){let Oe=Ge.glyphAt(et);at=Oe.glyphObj;const nt=at.index,mt=Ne.levels[Oe.charIndex]&1;if(mt){const Tt=e.getMirroredCharacter(C[Oe.charIndex]);Tt&&J.forEachGlyph(Tt,0,0,ot)}if(E){const{charIndex:Tt}=Oe,Rt=Oe.x+Te,Wt=Oe.x+Oe.width+Te;ne[Tt*3]=mt?Wt:Rt,ne[Tt*3+1]=mt?Rt:Wt,ne[Tt*3+2]=Ye+Ae+De;const Ct=Tt-$e;Ct>1&&g(ne,$e,Ct),$e=Tt}if(F){const{charIndex:Tt}=Oe;for(;Tt>We;)We++,F.hasOwnProperty(We)&&(Fe=F[We])}if(!at.isWhitespace&&!at.isEmpty){const Tt=Le++;q[nt]||(q[nt]={path:at.path,pathBounds:[at.xMin,at.yMin,at.xMax,at.yMax]});const Rt=Oe.x+Te,Wt=Ye+De;ee[Tt*2]=Rt,ee[Tt*2+1]=Wt;const Ct=Rt+at.xMin*ze,wt=Wt+at.yMin*ze,kt=Rt+at.xMax*ze,qe=Wt+at.yMax*ze;Ctse[2]&&(se[2]=kt),qe>se[3]&&(se[3]=qe),Tt%U===0&&(Ee={start:Tt,end:Tt,rect:[r,r,-r,-r]},le.push(Ee)),Ee.end++;const Je=Ee.rect;if(CtJe[2]&&(Je[2]=kt),qe>Je[3]&&(Je[3]=qe),ie[Tt]=nt,F){const st=Tt*3;ae[st]=Fe>>16&255,ae[st+1]=Fe>>8&255,ae[st+2]=Fe&255}}}}Ye-=S}),ne){const Ge=C.length-$e;Ge>1&&g(ne,$e,Ge)}}O.typesetting=A()-Ie,B({glyphIds:ie,glyphPositions:ee,glyphData:q,caretPositions:ne,caretHeight:ge,glyphColors:ae,chunkedBounds:le,fontSize:T,unitsPerEm:de,ascender:fe*ze,descender:$*ze,capHeight:Ce*ze,xHeight:ve*ze,lineHeight:S,topBaseline:oe,blockBounds:[Te,De-Me.length*S,Te+te,De],visibleBounds:se,timings:O})})}function f(C,P){d(C,v=>{const[T,y,S,x]=v.blockBounds;P({width:S-T,height:x-y})},{metricsOnly:!0})}function p(C){let P=C.match(/^([\d.]+)%$/),v=P?parseFloat(P[1]):NaN;return isNaN(v)?0:v/100}function g(C,P,v){const T=C[P*3],y=C[P*3+1],S=C[P*3+2],x=(y-T)/v;for(let R=0;R(Object.defineProperty(C,P,{get(){return this.data[this.index*b.length+v]},set(y){this.data[this.index*b.length+v]=y}}),C),{data:null,index:0}),{typeset:d,measure:f,loadFont:u}}const ax=()=>(self.performance||Date).now(),dq=iUe();let Uwe;function a6t(t,e,n,o,i,r,a,l,s,c,u=!0){return u?s6t(t,e,n,o,i,r,a,l,s,c).then(null,d=>(Uwe||(console.warn("WebGL SDF generation failed, falling back to JS",d),Uwe=!0),jwe(t,e,n,o,i,r,a,l,s,c))):jwe(t,e,n,o,i,r,a,l,s,c)}const x_=[],l6t=5;let pce=0;function aUe(){const t=ax();for(;x_.length&&ax()-tnew Promise((e,n)=>{x_.push(()=>{const o=ax();try{dq.webgl.generateIntoCanvas(...t),e({timing:ax()-o})}catch(i){n(i)}}),pce||(pce=setTimeout(aUe,0))}),c6t=4,u6t=2e3,Bwe={};let d6t=0;function jwe(t,e,n,o,i,r,a,l,s,c){const u="TroikaTextSDFGenerator_JS_"+d6t++%c6t;let d=Bwe[u];return d||(d=Bwe[u]={workerModule:JL({name:u,workerId:u,dependencies:[iUe,ax],init(f,p){const g=f().javascript.generate;return function(...A){const w=p();return{textureData:g(...A),timing:p()-w}}},getTransferables(f){return[f.textureData.buffer]}}),requests:0,idleTimer:null}),d.requests++,clearTimeout(d.idleTimer),d.workerModule(t,e,n,o,i,r).then(({textureData:f,timing:p})=>{const g=ax(),A=new Uint8Array(f.length*4);for(let w=0;w{K3t(u)},u6t)),{timing:p}})}function f6t(t){t._warm||(dq.webgl.isSupported(t),t._warm=!0)}const h6t=dq.webglUtils.resizeWebGLCanvasWithoutClearing;/*! Custom build of Typr.ts (https://github.com/fredli74/Typr.ts) for use in Troika text rendering. Original MIT license applies: https://github.com/fredli74/Typr.ts/blob/master/LICENSE -*/function m6t(){return typeof window>"u"&&(self.window=self),function(t){var e={parse:function(i){var r=e._bin,a=new Uint8Array(i);if(r.readASCII(a,0,4)=="ttcf"){var l=4;r.readUshort(a,l),l+=2,r.readUshort(a,l),l+=2;var s=r.readUint(a,l);l+=4;for(var c=[],u=0;u>>a&1&&r++;return r},e._lctf.readClassDef=function(i,r){var a=e._bin,l=[],s=a.readUshort(i,r);if(r+=2,s==1){var c=a.readUshort(i,r);r+=2;var u=a.readUshort(i,r);r+=2;for(var d=0;d0&&(s.featureParams=l+c);var u=a.readUshort(i,r);r+=2,s.tab=[];for(var d=0;d255?-1:e.CFF.glyphByUnicode(i,e.CFF.tableSE[r])},e.CFF.readEncoding=function(i,r,a){e._bin;var l=[".notdef"],s=i[r];if(r++,s!=0)throw"error: unknown encoding format: "+s;var c=i[r];r++;for(var u=0;u>4,C=15&w;if(b!=15&&A.push(b),C!=15&&A.push(C),C==15)break}for(var P="",v=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],T=0;T=c.xMax||c.yMin>=c.yMax)return null;if(c.noc>0){c.endPts=[];for(var u=0;u=1&&u.fmt<=2){f=s.readUshort(i,a),a+=2;var g=s.readUshort(i,a);a+=2,p=e._lctf.numOfOnes(f);var A=e._lctf.numOfOnes(g);if(u.fmt==1){u.pairsets=[];var w=s.readUshort(i,a);a+=2;for(var b=0;b=1&&u.fmt<=2){if(u.fmt==1)u.delta=s.readShort(i,a),a+=2;else if(u.fmt==2){var f=s.readUshort(i,a);a+=2,u.newg=s.readUshorts(i,a,f),a+=2*u.newg.length}}else if(r==4){u.vals=[],f=s.readUshort(i,a),a+=2;for(var p=0;p>>8;if((g&=15)!=0)throw"unknown kern table format: "+g;r=e.kern.readFormat0(i,r,d)}return d},e.kern.parseV1=function(i,r,a,l){var s=e._bin;s.readFixed(i,r),r+=4;var c=s.readUint(i,r);r+=4;for(var u={glyph1:[],rval:[]},d=0;d>>8;if((p&=15)!=0)throw"unknown kern table format: "+p;r=e.kern.readFormat0(i,r,u)}return u},e.kern.readFormat0=function(i,r,a){var l=e._bin,s=-1,c=l.readUshort(i,r);r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2;for(var u=0;u=s.map.length?0:s.map[r];if(s.format==4){for(var c=-1,u=0;ur?0:65535&(s.idRangeOffset[c]!=0?s.glyphIdArray[r-s.startCount[c]+(s.idRangeOffset[c]>>1)-(s.idRangeOffset.length-c)]:r+s.idDelta[c])}if(s.format==12){if(r>s.groups[s.groups.length-1][1])return 0;for(u=0;u-1?e.U._simpleGlyph(l,a):e.U._compoGlyph(l,r,a))},e.U._simpleGlyph=function(i,r){for(var a=0;as)){for(var w=!0,b=0,C=0;Cs)){for(w=!0,C=0;C>1,c.length=0,d=!0;else if(k=="o3"||k=="o23")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0;else if(k=="o4")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),p&&e.U.P.closePath(s),w+=c.pop(),e.U.P.moveTo(s,A,w),p=!0;else if(k=="o5")for(;c.length>0;)A+=c.shift(),w+=c.shift(),e.U.P.lineTo(s,A,w);else if(k=="o6"||k=="o7")for(var W=c.length,N=k=="o6",L=0;LMath.abs(x-w)?A=S+c.shift():w=x+c.shift(),e.U.P.curveTo(s,b,C,P,v,R,H),e.U.P.curveTo(s,T,y,S,x,A,w));else if(k=="o14"){if(c.length>0&&!d&&(f=c.shift()+a.nominalWidthX,d=!0),c.length==4){var F=c.shift(),B=c.shift(),_=c.shift(),Y=c.shift(),O=e.CFF.glyphBySE(a,_),J=e.CFF.glyphBySE(a,Y);e.U._drawCFF(a.CharStrings[O],r,a,l,s),r.x=F,r.y=B,e.U._drawCFF(a.CharStrings[J],r,a,l,s)}p&&(e.U.P.closePath(s),p=!1)}else if(k=="o19"||k=="o20")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0,g+=u+7>>3;else if(k=="o21")c.length>2&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),w+=c.pop(),A+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,A,w),p=!0;else if(k=="o22")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),A+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,A,w),p=!0;else if(k=="o25"){for(;c.length>6;)A+=c.shift(),w+=c.shift(),e.U.P.lineTo(s,A,w);b=A+c.shift(),C=w+c.shift(),P=b+c.shift(),v=C+c.shift(),A=P+c.shift(),w=v+c.shift(),e.U.P.curveTo(s,b,C,P,v,A,w)}else if(k=="o26")for(c.length%2&&(A+=c.shift());c.length>0;)b=A,C=w+c.shift(),A=P=b+c.shift(),w=(v=C+c.shift())+c.shift(),e.U.P.curveTo(s,b,C,P,v,A,w);else if(k=="o27")for(c.length%2&&(w+=c.shift());c.length>0;)C=w,P=(b=A+c.shift())+c.shift(),v=C+c.shift(),A=P+c.shift(),w=v,e.U.P.curveTo(s,b,C,P,v,A,w);else if(k=="o10"||k=="o29"){var Z=k=="o10"?l:a;if(c.length==0)console.debug("error: empty stack");else{var ie=c.pop(),ee=Z.Subrs[ie+Z.Bias];r.x=A,r.y=w,r.nStems=u,r.haveWidth=d,r.width=f,r.open=p,e.U._drawCFF(ee,r,a,l,s),A=r.x,w=r.y,u=r.nStems,d=r.haveWidth,f=r.width,p=r.open}}else if(k=="o30"||k=="o31"){var q=c.length,ae=(U=0,k=="o31");for(U+=q-(W=-3&q);U"u"&&(self.window=self),function(t){var e={parse:function(i){var r=e._bin,a=new Uint8Array(i);if(r.readASCII(a,0,4)=="ttcf"){var l=4;r.readUshort(a,l),l+=2,r.readUshort(a,l),l+=2;var s=r.readUint(a,l);l+=4;for(var c=[],u=0;u>>a&1&&r++;return r},e._lctf.readClassDef=function(i,r){var a=e._bin,l=[],s=a.readUshort(i,r);if(r+=2,s==1){var c=a.readUshort(i,r);r+=2;var u=a.readUshort(i,r);r+=2;for(var d=0;d0&&(s.featureParams=l+c);var u=a.readUshort(i,r);r+=2,s.tab=[];for(var d=0;d255?-1:e.CFF.glyphByUnicode(i,e.CFF.tableSE[r])},e.CFF.readEncoding=function(i,r,a){e._bin;var l=[".notdef"],s=i[r];if(r++,s!=0)throw"error: unknown encoding format: "+s;var c=i[r];r++;for(var u=0;u>4,C=15&w;if(b!=15&&A.push(b),C!=15&&A.push(C),C==15)break}for(var P="",v=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],T=0;T=c.xMax||c.yMin>=c.yMax)return null;if(c.noc>0){c.endPts=[];for(var u=0;u=1&&u.fmt<=2){f=s.readUshort(i,a),a+=2;var g=s.readUshort(i,a);a+=2,p=e._lctf.numOfOnes(f);var A=e._lctf.numOfOnes(g);if(u.fmt==1){u.pairsets=[];var w=s.readUshort(i,a);a+=2;for(var b=0;b=1&&u.fmt<=2){if(u.fmt==1)u.delta=s.readShort(i,a),a+=2;else if(u.fmt==2){var f=s.readUshort(i,a);a+=2,u.newg=s.readUshorts(i,a,f),a+=2*u.newg.length}}else if(r==4){u.vals=[],f=s.readUshort(i,a),a+=2;for(var p=0;p>>8;if((g&=15)!=0)throw"unknown kern table format: "+g;r=e.kern.readFormat0(i,r,d)}return d},e.kern.parseV1=function(i,r,a,l){var s=e._bin;s.readFixed(i,r),r+=4;var c=s.readUint(i,r);r+=4;for(var u={glyph1:[],rval:[]},d=0;d>>8;if((p&=15)!=0)throw"unknown kern table format: "+p;r=e.kern.readFormat0(i,r,u)}return u},e.kern.readFormat0=function(i,r,a){var l=e._bin,s=-1,c=l.readUshort(i,r);r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2,l.readUshort(i,r),r+=2;for(var u=0;u=s.map.length?0:s.map[r];if(s.format==4){for(var c=-1,u=0;ur?0:65535&(s.idRangeOffset[c]!=0?s.glyphIdArray[r-s.startCount[c]+(s.idRangeOffset[c]>>1)-(s.idRangeOffset.length-c)]:r+s.idDelta[c])}if(s.format==12){if(r>s.groups[s.groups.length-1][1])return 0;for(u=0;u-1?e.U._simpleGlyph(l,a):e.U._compoGlyph(l,r,a))},e.U._simpleGlyph=function(i,r){for(var a=0;as)){for(var w=!0,b=0,C=0;Cs)){for(w=!0,C=0;C>1,c.length=0,d=!0;else if(k=="o3"||k=="o23")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0;else if(k=="o4")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),p&&e.U.P.closePath(s),w+=c.pop(),e.U.P.moveTo(s,A,w),p=!0;else if(k=="o5")for(;c.length>0;)A+=c.shift(),w+=c.shift(),e.U.P.lineTo(s,A,w);else if(k=="o6"||k=="o7")for(var W=c.length,N=k=="o6",L=0;LMath.abs(x-w)?A=S+c.shift():w=x+c.shift(),e.U.P.curveTo(s,b,C,P,v,R,H),e.U.P.curveTo(s,T,y,S,x,A,w));else if(k=="o14"){if(c.length>0&&!d&&(f=c.shift()+a.nominalWidthX,d=!0),c.length==4){var F=c.shift(),B=c.shift(),_=c.shift(),Y=c.shift(),O=e.CFF.glyphBySE(a,_),J=e.CFF.glyphBySE(a,Y);e.U._drawCFF(a.CharStrings[O],r,a,l,s),r.x=F,r.y=B,e.U._drawCFF(a.CharStrings[J],r,a,l,s)}p&&(e.U.P.closePath(s),p=!1)}else if(k=="o19"||k=="o20")c.length%2!=0&&!d&&(f=c.shift()+l.nominalWidthX),u+=c.length>>1,c.length=0,d=!0,g+=u+7>>3;else if(k=="o21")c.length>2&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),w+=c.pop(),A+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,A,w),p=!0;else if(k=="o22")c.length>1&&!d&&(f=c.shift()+l.nominalWidthX,d=!0),A+=c.pop(),p&&e.U.P.closePath(s),e.U.P.moveTo(s,A,w),p=!0;else if(k=="o25"){for(;c.length>6;)A+=c.shift(),w+=c.shift(),e.U.P.lineTo(s,A,w);b=A+c.shift(),C=w+c.shift(),P=b+c.shift(),v=C+c.shift(),A=P+c.shift(),w=v+c.shift(),e.U.P.curveTo(s,b,C,P,v,A,w)}else if(k=="o26")for(c.length%2&&(A+=c.shift());c.length>0;)b=A,C=w+c.shift(),A=P=b+c.shift(),w=(v=C+c.shift())+c.shift(),e.U.P.curveTo(s,b,C,P,v,A,w);else if(k=="o27")for(c.length%2&&(w+=c.shift());c.length>0;)C=w,P=(b=A+c.shift())+c.shift(),v=C+c.shift(),A=P+c.shift(),w=v,e.U.P.curveTo(s,b,C,P,v,A,w);else if(k=="o10"||k=="o29"){var Z=k=="o10"?l:a;if(c.length==0)console.debug("error: empty stack");else{var ie=c.pop(),ee=Z.Subrs[ie+Z.Bias];r.x=A,r.y=w,r.nStems=u,r.haveWidth=d,r.width=f,r.open=p,e.U._drawCFF(ee,r,a,l,s),A=r.x,w=r.y,u=r.nStems,d=r.haveWidth,f=r.width,p=r.open}}else if(k=="o30"||k=="o31"){var q=c.length,ae=(U=0,k=="o31");for(U+=q-(W=-3&q);U>>1|(21845&p)<<1;g=(61680&(g=(52428&g)>>>2|(13107&g)<<2))>>>4|(3855&g)<<4,f[p]=((65280&g)>>>8|(255&g)<<8)>>>1}var A=function(k,W,N){for(var L=k.length,E=0,U=new n(W);E>>_]=Y}return F},w=new e(288);for(p=0;p<144;++p)w[p]=8;for(p=144;p<256;++p)w[p]=9;for(p=256;p<280;++p)w[p]=7;for(p=280;p<288;++p)w[p]=8;var b=new e(32);for(p=0;p<32;++p)b[p]=5;var C=A(w,9),P=A(b,5),v=function(k){for(var W=k[0],N=1;NW&&(W=k[N]);return W},T=function(k,W,N){var L=W/8|0;return(k[L]|k[L+1]<<8)>>(7&W)&N},y=function(k,W){var N=W/8|0;return(k[N]|k[N+1]<<8|k[N+2]<<16)>>(7&W)},S=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],x=function(k,W,N){var L=new Error(W||S[k]);if(L.code=k,Error.captureStackTrace&&Error.captureStackTrace(L,x),!N)throw L;return L},R=function(k,W,N){var L=k.length;if(!L||N&&!N.l&&L<5)return W||new e(0);var E=!W||N,U=!N||N.i;N||(N={}),W||(W=new e(3*L));var F,B=function($e){var We=W.length;if($e>We){var Ee=new e(Math.max(2*We,$e));Ee.set(W),W=Ee}},_=N.f||0,Y=N.p||0,O=N.b||0,J=N.l,Z=N.d,ie=N.m,ee=N.n,q=8*L;do{if(!J){N.f=_=T(k,Y,1);var ae=T(k,Y+1,3);if(Y+=3,!ae){var ne=k[(ve=((F=Y)/8|0)+(7&F&&1)+4)-4]|k[ve-3]<<8,se=ve+ne;if(se>L){U&&x(0);break}E&&B(O+ne),W.set(k.subarray(ve,se),O),N.b=O+=ne,N.p=Y=8*se;continue}if(ae==1)J=C,Z=P,ie=9,ee=5;else if(ae==2){var le=T(k,Y,31)+257,te=T(k,Y+10,15)+4,he=le+T(k,Y+5,31)+1;Y+=14;for(var pe=new e(he),fe=new e(19),$=0;$>>4)<16)pe[$++]=ve;else{var ze=0,ye=0;for(ve==16?(ye=3+T(k,Y,3),Y+=2,ze=pe[$-1]):ve==17?(ye=3+T(k,Y,7),Y+=3):ve==18&&(ye=11+T(k,Y,127),Y+=7);ye--;)pe[$++]=ze}}var oe=pe.subarray(0,le),ge=pe.subarray(le);ie=v(oe),ee=v(ge),J=A(oe,ie),Z=A(ge,ee)}else x(1);if(Y>q){U&&x(0);break}}E&&B(O+131072);for(var Ae=(1<>>4;if((Y+=15&ze)>q){U&&x(0);break}if(ze||x(2),Me<256)W[O++]=Me;else{if(Me==256){Pe=Y,J=null;break}var Te=Me-254;if(Me>264){var De=i[$=Me-257];Te=T(k,Y,(1<>>4;if(Ue||x(3),Y+=15&Ue,ge=d[Oe],Oe>3&&(De=r[Oe],ge+=y(k,Y)&(1<q){U&&x(0);break}E&&B(O+131072);for(var Le=O+Te;O$e.length)&&(Ee=$e.length);var Fe=new($e instanceof n?n:$e instanceof o?o:e)(Ee-We);return Fe.set($e.subarray(We,Ee)),Fe}(W,0,O)},H=new e(0),D=typeof TextDecoder<"u"&&new TextDecoder;try{D.decode(H,{stream:!0})}catch{}return t.convert_streams=function(k){var W=new DataView(k),N=0;function L(){var le=W.getUint16(N);return N+=2,le}function E(){var le=W.getUint32(N);return N+=4,le}function U(le){ne.setUint16(se,le),se+=2}function F(le){ne.setUint32(se,le),se+=4}for(var B={signature:E(),flavor:E(),length:E(),numTables:L(),reserved:L(),totalSfntSize:E(),majorVersion:L(),minorVersion:L(),metaOffset:E(),metaLength:E(),metaOrigLength:E(),privOffset:E(),privLength:E()},_=0;Math.pow(2,_)<=B.numTables;)_++;_--;for(var Y=16*Math.pow(2,_),O=16*B.numTables-Y,J=12,Z=[],ie=0;ie{let[H,D]=R.split("+");H=parseInt(H,36),D=D?parseInt(D,36):0,u.set(x+=H,y[S]);for(let k=D;k--;)u.set(++x,y[S])})}}return u.get(T)||c}const f=1,p=2,g=3,A=4,w=[null,"isol","init","fina","medi"];function b(T){const y=new Uint8Array(T.length);let S=c,x=f,R=-1;for(let H=0;H65535&&H++)}return y}function C(T,y){const S=[];for(let R=0;R65535&&R++,S.push(t.U.codeToGlyph(T,H))}const x=T.GSUB;if(x){const{lookupList:R,featureList:H}=x;let D;const k=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,W=[];H.forEach(N=>{if(k.test(N.tag))for(let L=0;L{if(Y!==-1){let J=y[Y];if(!J){const{cmds:Z,crds:ie}=t.U.glyphToPath(T,Y);let ee="",q=0;for(let te=0,he=Z.length;te1?",":"")+ie[q++]}let ae,ne,se,le;if(ie.length){ae=ne=1/0,se=le=-1/0;for(let te=0,he=ie.length;tese&&(se=pe),fe>le&&(le=fe)}}else ae=se=ne=le=0;J=y[Y]={index:Y,advanceWidth:T.hmtx.aWidth[Y],xMin:ae,yMin:ne,xMax:se,yMax:le,path:ee,pathCommandCount:Z.length}}_!==-1&&(E+=t.U.getPairAdjustment(T,_,Y)*U),L.call(null,J,E,B),J.advanceWidth&&(E+=J.advanceWidth*U),N&&(E+=N*W),_=Y}B+=k.codePointAt(B)>65535?2:1}),E}};return D}return function(y){const S=new Uint8Array(y,0,4),x=t._bin.readASCII(S,0,4);if(x==="wOFF")y=e(y);else if(x==="wOF2")throw new Error("woff2 fonts not supported");return v(t.parse(y)[0])}}const w6t=JL({name:"Typr Font Parser",dependencies:[m6t,y6t,A6t],init(t,e,n){const o=t(),i=e();return n(o,i)}}),OP={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},v6t=new Xo;function yT(){return(self.performance||Date).now()}const Ywe=Object.create(null);function cUe(t,e){t=S6t({},t);const n=yT();if(t.font=T6t(t.font||OP.defaultFontURL),t.text=""+t.text,t.sdfGlyphSize=t.sdfGlyphSize||OP.sdfGlyphSize,t.colorRanges!=null){let d={};for(let f in t.colorRanges)if(t.colorRanges.hasOwnProperty(f)){let p=t.colorRanges[f];typeof p!="number"&&(p=v6t.set(p).getHex()),d[f]=p}t.colorRanges=d}Object.freeze(t);const{textureWidth:o,sdfExponent:i}=OP,{sdfGlyphSize:r}=t,a=o/r*4;let l=Ywe[r];if(!l){const d=document.createElement("canvas");d.width=o,d.height=r*256/a,l=Ywe[r]={glyphCount:0,sdfGlyphSize:r,sdfCanvas:d,sdfTexture:new _c(d,void 0,void 0,void 0,js,js),contextLost:!1,glyphsByFont:new Map},l.sdfTexture.generateMipmaps=!1,x6t(l)}const{sdfTexture:s,sdfCanvas:c}=l;let u=l.glyphsByFont.get(t.font);u||l.glyphsByFont.set(t.font,u=new Map),C6t(t).then(d=>{const{glyphIds:f,glyphPositions:p,fontSize:g,unitsPerEm:A,timings:w}=d,b=[],C=new Float32Array(f.length*4),P=g/A;let v=0,T=0;const y=yT();f.forEach((D,k)=>{let W=u.get(D);if(!W){const{path:U,pathBounds:F}=d.glyphData[D],B=Math.max(F[2]-F[0],F[3]-F[1])/r*(OP.sdfMargin*r+.5),_=l.glyphCount++,Y=[F[0]-B,F[1]-B,F[2]+B,F[3]+B];u.set(D,W={path:U,atlasIndex:_,sdfViewBox:Y}),b.push(W)}const{sdfViewBox:N}=W,L=p[T++],E=p[T++];C[v++]=L+N[0]*P,C[v++]=E+N[1]*P,C[v++]=L+N[2]*P,C[v++]=E+N[3]*P,f[k]=W.atlasIndex}),w.quads=(w.quads||0)+(yT()-y);const S=yT();w.sdf={};const x=c.height,R=Math.ceil(l.glyphCount/a),H=Math.pow(2,Math.ceil(Math.log2(R*r)));H>x&&(console.info(`Increasing SDF texture size ${x}->${H}`),g6t(c,o,H),s.dispose()),Promise.all(b.map(D=>uUe(D,l,t.gpuAccelerateSDF).then(({timing:k})=>{w.sdf[D.atlasIndex]=k}))).then(()=>{b.length&&!l.contextLost&&(dUe(l),s.needsUpdate=!0),w.sdfTotal=yT()-S,w.total=yT()-n,e(Object.freeze({parameters:t,sdfTexture:s,sdfGlyphSize:r,sdfExponent:i,glyphBounds:C,glyphAtlasIndices:f,glyphColors:d.glyphColors,caretPositions:d.caretPositions,caretHeight:d.caretHeight,chunkedBounds:d.chunkedBounds,ascender:d.ascender,descender:d.descender,lineHeight:d.lineHeight,capHeight:d.capHeight,xHeight:d.xHeight,topBaseline:d.topBaseline,blockBounds:d.blockBounds,visibleBounds:d.visibleBounds,timings:d.timings}))})}),Promise.resolve().then(()=>{l.contextLost||p6t(c)})}function uUe({path:t,atlasIndex:e,sdfViewBox:n},{sdfGlyphSize:o,sdfCanvas:i,contextLost:r},a){if(r)return Promise.resolve({timing:-1});const{textureWidth:l,sdfExponent:s}=OP,c=Math.max(n[2]-n[0],n[3]-n[1]),u=Math.floor(e/4),d=u%(l/o)*o,f=Math.floor(u/(l/o))*o,p=e%4;return s6t(o,o,t,n,c,s,i,d,f,p,a)}function x6t(t){const e=t.sdfCanvas;e.addEventListener("webglcontextlost",n=>{console.log("Context Lost",n),n.preventDefault(),t.contextLost=!0}),e.addEventListener("webglcontextrestored",n=>{console.log("Context Restored",n),t.contextLost=!1;const o=[];t.glyphsByFont.forEach(i=>{i.forEach(r=>{o.push(uUe(r,t,!0))})}),Promise.all(o).then(()=>{dUe(t),t.sdfTexture.needsUpdate=!0})})}function b6t({font:t,characters:e,sdfGlyphSize:n},o){let i=Array.isArray(e)?e.join(` -`):""+e;cUe({font:t,sdfGlyphSize:n,text:i},o)}function S6t(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}let Kj;function T6t(t){return Kj||(Kj=typeof document>"u"?{}:document.createElement("a")),Kj.href=t,Kj.href}function dUe(t){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:n}=t,{width:o,height:i}=e,r=t.sdfCanvas.getContext("webgl");let a=n.image.data;(!a||a.length!==o*i*4)&&(a=new Uint8Array(o*i*4),n.image={width:o,height:i,data:a},n.flipY=!1,n.isDataTexture=!0),r.readPixels(0,0,o,i,r.RGBA,r.UNSIGNED_BYTE,a)}}const P6t=JL({name:"Typesetter",dependencies:[OP,w6t,l6t,Z3t],init(t,e,n,o){const{defaultFontURL:i}=t;return n(e,o(),{defaultFontURL:i})}}),C6t=JL({name:"Typesetter",dependencies:[P6t],init(t){return function(e){return new Promise(n=>{t.typeset(e,n)})}},getTransferables(t){const e=[t.glyphPositions.buffer,t.glyphIds.buffer];return t.caretPositions&&e.push(t.caretPositions.buffer),t.glyphColors&&e.push(t.glyphColors.buffer),e}}),Owe={};function R6t(t){let e=Owe[t];if(!e){const n=new S7(1,1,t,t),o=n.clone(),i=n.attributes,r=o.attributes,a=new Ur,l=i.uv.count;for(let s=0;s{a.setAttribute(s,new hi([...i[s].array,...r[s].array],i[s].itemSize))}),a.setIndex([...n.index.array,...o.index.array.map(s=>s+l)]),a.translate(.5,.5,0),e=Owe[t]=a}return e}const H6t="aTroikaGlyphBounds",_we="aTroikaGlyphIndex",M6t="aTroikaGlyphColor";class I6t extends lq{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new n1,this.boundingBox=new pf}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const n=this.getIndex().count;this.setDrawRange(e===p0?n/2:0,e===ji?n:n/2)}set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"||e<1)&&(e=1);let n=R6t(e);["position","normal","uv"].forEach(o=>{this.attributes[o]=n.attributes[o].clone()}),this.setIndex(n.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,n,o,i,r){qoe(this,H6t,e,4),qoe(this,_we,n,1),qoe(this,M6t,r,3),this._blockBounds=o,this._chunkedBounds=i,this.instanceCount=n.length,this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:n,boundingBox:o}=this;if(n){const{PI:i,floor:r,min:a,max:l,sin:s,cos:c}=Math,u=i/2,d=i*2,f=Math.abs(n),p=e[0]/f,g=e[2]/f,A=r((p+u)/d)!==r((g+u)/d)?-f:a(s(p)*f,s(g)*f),w=r((p-u)/d)!==r((g-u)/d)?f:l(s(p)*f,s(g)*f),b=r((p+i)/d)!==r((g+i)/d)?f*2:l(f-c(p)*f,f-c(g)*f);o.min.set(A,e[1],n<0?-b:0),o.max.set(w,e[3],n<0?0:b)}else o.min.set(e[0],e[1],0),o.max.set(e[2],e[3],0);o.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let n=this.getAttribute(_we).count,o=this._chunkedBounds;if(o)for(let i=o.length;i--;){n=o[i].end;let r=o[i].rect;if(r[1]e.y&&r[0]e.x)break}this.instanceCount=n}}function qoe(t,e,n,o){const i=t.getAttribute(e);n?i&&i.array.length===n.length?(i.array.set(n),i.needsUpdate=!0):(t.setAttribute(e,new Nx(n,o)),delete t._maxInstanceCount,t.dispose()):i&&t.deleteAttribute(e)}const z6t=` +*/function g6t(){return function(t){var e=Uint8Array,n=Uint16Array,o=Uint32Array,i=new e([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),r=new e([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),a=new e([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=function(k,W){for(var N=new n(31),L=0;L<31;++L)N[L]=W+=1<>>1|(21845&p)<<1;g=(61680&(g=(52428&g)>>>2|(13107&g)<<2))>>>4|(3855&g)<<4,f[p]=((65280&g)>>>8|(255&g)<<8)>>>1}var A=function(k,W,N){for(var L=k.length,E=0,U=new n(W);E>>_]=Y}return F},w=new e(288);for(p=0;p<144;++p)w[p]=8;for(p=144;p<256;++p)w[p]=9;for(p=256;p<280;++p)w[p]=7;for(p=280;p<288;++p)w[p]=8;var b=new e(32);for(p=0;p<32;++p)b[p]=5;var C=A(w,9),P=A(b,5),v=function(k){for(var W=k[0],N=1;NW&&(W=k[N]);return W},T=function(k,W,N){var L=W/8|0;return(k[L]|k[L+1]<<8)>>(7&W)&N},y=function(k,W){var N=W/8|0;return(k[N]|k[N+1]<<8|k[N+2]<<16)>>(7&W)},S=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],x=function(k,W,N){var L=new Error(W||S[k]);if(L.code=k,Error.captureStackTrace&&Error.captureStackTrace(L,x),!N)throw L;return L},R=function(k,W,N){var L=k.length;if(!L||N&&!N.l&&L<5)return W||new e(0);var E=!W||N,U=!N||N.i;N||(N={}),W||(W=new e(3*L));var F,B=function($e){var We=W.length;if($e>We){var Ee=new e(Math.max(2*We,$e));Ee.set(W),W=Ee}},_=N.f||0,Y=N.p||0,O=N.b||0,J=N.l,Z=N.d,ie=N.m,ee=N.n,q=8*L;do{if(!J){N.f=_=T(k,Y,1);var ae=T(k,Y+1,3);if(Y+=3,!ae){var ne=k[(ve=((F=Y)/8|0)+(7&F&&1)+4)-4]|k[ve-3]<<8,se=ve+ne;if(se>L){U&&x(0);break}E&&B(O+ne),W.set(k.subarray(ve,se),O),N.b=O+=ne,N.p=Y=8*se;continue}if(ae==1)J=C,Z=P,ie=9,ee=5;else if(ae==2){var le=T(k,Y,31)+257,te=T(k,Y+10,15)+4,he=le+T(k,Y+5,31)+1;Y+=14;for(var pe=new e(he),fe=new e(19),$=0;$>>4)<16)pe[$++]=ve;else{var ze=0,ye=0;for(ve==16?(ye=3+T(k,Y,3),Y+=2,ze=pe[$-1]):ve==17?(ye=3+T(k,Y,7),Y+=3):ve==18&&(ye=11+T(k,Y,127),Y+=7);ye--;)pe[$++]=ze}}var oe=pe.subarray(0,le),ge=pe.subarray(le);ie=v(oe),ee=v(ge),J=A(oe,ie),Z=A(ge,ee)}else x(1);if(Y>q){U&&x(0);break}}E&&B(O+131072);for(var Ae=(1<>>4;if((Y+=15&ze)>q){U&&x(0);break}if(ze||x(2),Me<256)W[O++]=Me;else{if(Me==256){Pe=Y,J=null;break}var Te=Me-254;if(Me>264){var De=i[$=Me-257];Te=T(k,Y,(1<>>4;if(Ne||x(3),Y+=15&Ne,ge=d[Ye],Ye>3&&(De=r[Ye],ge+=y(k,Y)&(1<q){U&&x(0);break}E&&B(O+131072);for(var Le=O+Te;O$e.length)&&(Ee=$e.length);var Fe=new($e instanceof n?n:$e instanceof o?o:e)(Ee-We);return Fe.set($e.subarray(We,Ee)),Fe}(W,0,O)},H=new e(0),D=typeof TextDecoder<"u"&&new TextDecoder;try{D.decode(H,{stream:!0})}catch{}return t.convert_streams=function(k){var W=new DataView(k),N=0;function L(){var le=W.getUint16(N);return N+=2,le}function E(){var le=W.getUint32(N);return N+=4,le}function U(le){ne.setUint16(se,le),se+=2}function F(le){ne.setUint32(se,le),se+=4}for(var B={signature:E(),flavor:E(),length:E(),numTables:L(),reserved:L(),totalSfntSize:E(),majorVersion:L(),minorVersion:L(),metaOffset:E(),metaLength:E(),metaOrigLength:E(),privOffset:E(),privLength:E()},_=0;Math.pow(2,_)<=B.numTables;)_++;_--;for(var Y=16*Math.pow(2,_),O=16*B.numTables-Y,J=12,Z=[],ie=0;ie{let[H,D]=R.split("+");H=parseInt(H,36),D=D?parseInt(D,36):0,u.set(x+=H,y[S]);for(let k=D;k--;)u.set(++x,y[S])})}}return u.get(T)||c}const f=1,p=2,g=3,A=4,w=[null,"isol","init","fina","medi"];function b(T){const y=new Uint8Array(T.length);let S=c,x=f,R=-1;for(let H=0;H65535&&H++)}return y}function C(T,y){const S=[];for(let R=0;R65535&&R++,S.push(t.U.codeToGlyph(T,H))}const x=T.GSUB;if(x){const{lookupList:R,featureList:H}=x;let D;const k=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,W=[];H.forEach(N=>{if(k.test(N.tag))for(let L=0;L{if(Y!==-1){let J=y[Y];if(!J){const{cmds:Z,crds:ie}=t.U.glyphToPath(T,Y);let ee="",q=0;for(let te=0,he=Z.length;te1?",":"")+ie[q++]}let ae,ne,se,le;if(ie.length){ae=ne=1/0,se=le=-1/0;for(let te=0,he=ie.length;tese&&(se=pe),fe>le&&(le=fe)}}else ae=se=ne=le=0;J=y[Y]={index:Y,advanceWidth:T.hmtx.aWidth[Y],xMin:ae,yMin:ne,xMax:se,yMax:le,path:ee,pathCommandCount:Z.length}}_!==-1&&(E+=t.U.getPairAdjustment(T,_,Y)*U),L.call(null,J,E,B),J.advanceWidth&&(E+=J.advanceWidth*U),N&&(E+=N*W),_=Y}B+=k.codePointAt(B)>65535?2:1}),E}};return D}return function(y){const S=new Uint8Array(y,0,4),x=t._bin.readASCII(S,0,4);if(x==="wOFF")y=e(y);else if(x==="wOF2")throw new Error("woff2 fonts not supported");return v(t.parse(y)[0])}}const y6t=JL({name:"Typr Font Parser",dependencies:[p6t,g6t,m6t],init(t,e,n){const o=t(),i=e();return n(o,i)}}),OP={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},A6t=new Xo;function yT(){return(self.performance||Date).now()}const Ywe=Object.create(null);function lUe(t,e){t=x6t({},t);const n=yT();if(t.font=b6t(t.font||OP.defaultFontURL),t.text=""+t.text,t.sdfGlyphSize=t.sdfGlyphSize||OP.sdfGlyphSize,t.colorRanges!=null){let d={};for(let f in t.colorRanges)if(t.colorRanges.hasOwnProperty(f)){let p=t.colorRanges[f];typeof p!="number"&&(p=A6t.set(p).getHex()),d[f]=p}t.colorRanges=d}Object.freeze(t);const{textureWidth:o,sdfExponent:i}=OP,{sdfGlyphSize:r}=t,a=o/r*4;let l=Ywe[r];if(!l){const d=document.createElement("canvas");d.width=o,d.height=r*256/a,l=Ywe[r]={glyphCount:0,sdfGlyphSize:r,sdfCanvas:d,sdfTexture:new _c(d,void 0,void 0,void 0,js,js),contextLost:!1,glyphsByFont:new Map},l.sdfTexture.generateMipmaps=!1,w6t(l)}const{sdfTexture:s,sdfCanvas:c}=l;let u=l.glyphsByFont.get(t.font);u||l.glyphsByFont.set(t.font,u=new Map),T6t(t).then(d=>{const{glyphIds:f,glyphPositions:p,fontSize:g,unitsPerEm:A,timings:w}=d,b=[],C=new Float32Array(f.length*4),P=g/A;let v=0,T=0;const y=yT();f.forEach((D,k)=>{let W=u.get(D);if(!W){const{path:U,pathBounds:F}=d.glyphData[D],B=Math.max(F[2]-F[0],F[3]-F[1])/r*(OP.sdfMargin*r+.5),_=l.glyphCount++,Y=[F[0]-B,F[1]-B,F[2]+B,F[3]+B];u.set(D,W={path:U,atlasIndex:_,sdfViewBox:Y}),b.push(W)}const{sdfViewBox:N}=W,L=p[T++],E=p[T++];C[v++]=L+N[0]*P,C[v++]=E+N[1]*P,C[v++]=L+N[2]*P,C[v++]=E+N[3]*P,f[k]=W.atlasIndex}),w.quads=(w.quads||0)+(yT()-y);const S=yT();w.sdf={};const x=c.height,R=Math.ceil(l.glyphCount/a),H=Math.pow(2,Math.ceil(Math.log2(R*r)));H>x&&(console.info(`Increasing SDF texture size ${x}->${H}`),h6t(c,o,H),s.dispose()),Promise.all(b.map(D=>sUe(D,l,t.gpuAccelerateSDF).then(({timing:k})=>{w.sdf[D.atlasIndex]=k}))).then(()=>{b.length&&!l.contextLost&&(cUe(l),s.needsUpdate=!0),w.sdfTotal=yT()-S,w.total=yT()-n,e(Object.freeze({parameters:t,sdfTexture:s,sdfGlyphSize:r,sdfExponent:i,glyphBounds:C,glyphAtlasIndices:f,glyphColors:d.glyphColors,caretPositions:d.caretPositions,caretHeight:d.caretHeight,chunkedBounds:d.chunkedBounds,ascender:d.ascender,descender:d.descender,lineHeight:d.lineHeight,capHeight:d.capHeight,xHeight:d.xHeight,topBaseline:d.topBaseline,blockBounds:d.blockBounds,visibleBounds:d.visibleBounds,timings:d.timings}))})}),Promise.resolve().then(()=>{l.contextLost||f6t(c)})}function sUe({path:t,atlasIndex:e,sdfViewBox:n},{sdfGlyphSize:o,sdfCanvas:i,contextLost:r},a){if(r)return Promise.resolve({timing:-1});const{textureWidth:l,sdfExponent:s}=OP,c=Math.max(n[2]-n[0],n[3]-n[1]),u=Math.floor(e/4),d=u%(l/o)*o,f=Math.floor(u/(l/o))*o,p=e%4;return a6t(o,o,t,n,c,s,i,d,f,p,a)}function w6t(t){const e=t.sdfCanvas;e.addEventListener("webglcontextlost",n=>{console.log("Context Lost",n),n.preventDefault(),t.contextLost=!0}),e.addEventListener("webglcontextrestored",n=>{console.log("Context Restored",n),t.contextLost=!1;const o=[];t.glyphsByFont.forEach(i=>{i.forEach(r=>{o.push(sUe(r,t,!0))})}),Promise.all(o).then(()=>{cUe(t),t.sdfTexture.needsUpdate=!0})})}function v6t({font:t,characters:e,sdfGlyphSize:n},o){let i=Array.isArray(e)?e.join(` +`):""+e;lUe({font:t,sdfGlyphSize:n,text:i},o)}function x6t(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}let Kj;function b6t(t){return Kj||(Kj=typeof document>"u"?{}:document.createElement("a")),Kj.href=t,Kj.href}function cUe(t){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:n}=t,{width:o,height:i}=e,r=t.sdfCanvas.getContext("webgl");let a=n.image.data;(!a||a.length!==o*i*4)&&(a=new Uint8Array(o*i*4),n.image={width:o,height:i,data:a},n.flipY=!1,n.isDataTexture=!0),r.readPixels(0,0,o,i,r.RGBA,r.UNSIGNED_BYTE,a)}}const S6t=JL({name:"Typesetter",dependencies:[OP,y6t,r6t,$3t],init(t,e,n,o){const{defaultFontURL:i}=t;return n(e,o(),{defaultFontURL:i})}}),T6t=JL({name:"Typesetter",dependencies:[S6t],init(t){return function(e){return new Promise(n=>{t.typeset(e,n)})}},getTransferables(t){const e=[t.glyphPositions.buffer,t.glyphIds.buffer];return t.caretPositions&&e.push(t.caretPositions.buffer),t.glyphColors&&e.push(t.glyphColors.buffer),e}}),Owe={};function P6t(t){let e=Owe[t];if(!e){const n=new S7(1,1,t,t),o=n.clone(),i=n.attributes,r=o.attributes,a=new Ur,l=i.uv.count;for(let s=0;s{a.setAttribute(s,new hi([...i[s].array,...r[s].array],i[s].itemSize))}),a.setIndex([...n.index.array,...o.index.array.map(s=>s+l)]),a.translate(.5,.5,0),e=Owe[t]=a}return e}const C6t="aTroikaGlyphBounds",_we="aTroikaGlyphIndex",R6t="aTroikaGlyphColor";class H6t extends lq{constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{start:0,count:1/0,materialIndex:0},{start:0,count:1/0,materialIndex:1}],this.boundingSphere=new n1,this.boundingBox=new pf}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const n=this.getIndex().count;this.setDrawRange(e===p0?n/2:0,e===ji?n:n/2)}set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"||e<1)&&(e=1);let n=P6t(e);["position","normal","uv"].forEach(o=>{this.attributes[o]=n.attributes[o].clone()}),this.setIndex(n.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,n,o,i,r){qoe(this,C6t,e,4),qoe(this,_we,n,1),qoe(this,R6t,r,3),this._blockBounds=o,this._chunkedBounds=i,this.instanceCount=n.length,this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:n,boundingBox:o}=this;if(n){const{PI:i,floor:r,min:a,max:l,sin:s,cos:c}=Math,u=i/2,d=i*2,f=Math.abs(n),p=e[0]/f,g=e[2]/f,A=r((p+u)/d)!==r((g+u)/d)?-f:a(s(p)*f,s(g)*f),w=r((p-u)/d)!==r((g-u)/d)?f:l(s(p)*f,s(g)*f),b=r((p+i)/d)!==r((g+i)/d)?f*2:l(f-c(p)*f,f-c(g)*f);o.min.set(A,e[1],n<0?-b:0),o.max.set(w,e[3],n<0?0:b)}else o.min.set(e[0],e[1],0),o.max.set(e[2],e[3],0);o.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let n=this.getAttribute(_we).count,o=this._chunkedBounds;if(o)for(let i=o.length;i--;){n=o[i].end;let r=o[i].rect;if(r[1]e.y&&r[0]e.x)break}this.instanceCount=n}}function qoe(t,e,n,o){const i=t.getAttribute(e);n?i&&i.array.length===n.length?(i.array.set(n),i.needsUpdate=!0):(t.setAttribute(e,new Nx(n,o)),delete t._maxInstanceCount,t.dispose()):i&&t.deleteAttribute(e)}const M6t=` uniform vec2 uTroikaSDFTextureSize; uniform float uTroikaSDFGlyphSize; uniform vec4 uTroikaTotalBounds; @@ -4164,7 +4164,7 @@ varying vec4 vTroikaTextureUVBounds; varying float vTroikaTextureChannel; varying vec3 vTroikaGlyphColor; varying vec2 vTroikaGlyphDimensions; -`,D6t=` +`,I6t=` vec4 bounds = aTroikaGlyphBounds; bounds.xz += uTroikaPositionOffset.x; bounds.yw -= uTroikaPositionOffset.y; @@ -4206,7 +4206,7 @@ vec2 txStartUV = txUvPerSquare * vec2( ); vTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare); vTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0); -`,E6t=` +`,z6t=` uniform sampler2D uTroikaSDFTexture; uniform vec2 uTroikaSDFTextureSize; uniform float uTroikaSDFGlyphSize; @@ -4280,7 +4280,7 @@ float troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) { return alpha; } -`,k6t=` +`,D6t=` float aaDist = troikaGetAADist(); float fragDistance = troikaGetFragDistValue(); float edgeAlpha = uTroikaSDFDebug ? @@ -4303,14 +4303,14 @@ gl_FragColor.a *= edgeAlpha; if (edgeAlpha == 0.0) { discard; } -`;function F6t(t){const e=hce(t,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new Gt},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new ll(0,0,0,0)},uTroikaClipRect:{value:new ll(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new Gt},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new Xo},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new fa},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:z6t,vertexTransform:D6t,fragmentDefs:E6t,fragmentColorTransform:k6t,customRewriter({vertexShader:n,fragmentShader:o}){let i=/\buniform\s+vec3\s+diffuse\b/;return i.test(o)&&(o=o.replace(i,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),i.test(n)||(n=n.replace(lUe,`uniform vec3 diffuse; +`;function E6t(t){const e=hce(t,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new Gt},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new ll(0,0,0,0)},uTroikaClipRect:{value:new ll(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new Gt},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new Xo},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new fa},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:M6t,vertexTransform:I6t,fragmentDefs:z6t,fragmentColorTransform:D6t,customRewriter({vertexShader:n,fragmentShader:o}){let i=/\buniform\s+vec3\s+diffuse\b/;return i.test(o)&&(o=o.replace(i,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),i.test(n)||(n=n.replace(rUe,`uniform vec3 diffuse; $& vTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse; -`))),{vertexShader:n,fragmentShader:o}}});return e.transparent=!0,Object.defineProperties(e,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),e}const U1e=new G9({color:16777215,side:ji,transparent:!0}),Vwe=8421504,Gwe=new Xr,qj=new re,$oe=new re,mz=[],L6t=new re,Qoe="+x+y";function Xwe(t){return Array.isArray(t)?t[0]:t}let fUe=()=>{const t=new es(new S7(1,1),U1e);return fUe=()=>t,t},hUe=()=>{const t=new es(new S7(1,1,32,1),U1e);return hUe=()=>t,t};const W6t={type:"syncstart"},N6t={type:"synccomplete"},pUe=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],U6t=pUe.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let gUe=class extends es{constructor(){const e=new I6t;super(e,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=Vwe,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=Qoe,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(W6t),cUe({text:this.text,font:this.font,fontSize:this.fontSize||.1,letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF},n=>{this._isSyncing=!1,this._textRenderInfo=n,this.geometry.updateGlyphs(n.glyphBounds,n.glyphAtlasIndices,n.blockBounds,n.chunkedBounds,n.glyphColors);const o=this._queuedSyncs;o&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{o.forEach(i=>i&&i())})),this.dispatchEvent(N6t),e&&e()})))}onBeforeRender(e,n,o,i,r,a){this.sync(),r.isTroikaTextMaterial&&this._prepareForRender(r),r._hadOwnSide=r.hasOwnProperty("side"),this.geometry.setSide(r._actualSide=r.side),r.side=ia}onAfterRender(e,n,o,i,r,a){r._hadOwnSide?r.side=r._actualSide:delete r.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let e=this._derivedMaterial;const n=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=U1e.clone());if((!e||e.baseMaterial!==n)&&(e=this._derivedMaterial=F6t(n),n.addEventListener("dispose",function o(){n.removeEventListener("dispose",o),e.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let o=e._outlineMtl;return o||(o=e._outlineMtl=Object.create(e,{id:{value:e.id+.1}}),o.isTextOutlineMaterial=!0,o.depthWrite=!1,o.map=null,e.addEventListener("dispose",function i(){e.removeEventListener("dispose",i),o.dispose()})),[o,e]}else return e}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return Xwe(this.material).getDepthMaterial()}get customDistanceMaterial(){return Xwe(this.material).getDistanceMaterial()}_prepareForRender(e){const n=e.isTextOutlineMaterial,o=e.uniforms,i=this.textRenderInfo;if(i){const{sdfTexture:l,blockBounds:s}=i;o.uTroikaSDFTexture.value=l,o.uTroikaSDFTextureSize.value.set(l.image.width,l.image.height),o.uTroikaSDFGlyphSize.value=i.sdfGlyphSize,o.uTroikaSDFExponent.value=i.sdfExponent,o.uTroikaTotalBounds.value.fromArray(s),o.uTroikaUseGlyphColors.value=!n&&!!i.glyphColors;let c=0,u=0,d=0,f,p,g,A=0,w=0;if(n){let{outlineWidth:C,outlineOffsetX:P,outlineOffsetY:v,outlineBlur:T,outlineOpacity:y}=this;c=this._parsePercent(C)||0,u=Math.max(0,this._parsePercent(T)||0),f=y,A=this._parsePercent(P)||0,w=this._parsePercent(v)||0}else d=Math.max(0,this._parsePercent(this.strokeWidth)||0),d&&(g=this.strokeColor,o.uTroikaStrokeColor.value.set(g??Vwe),p=this.strokeOpacity,p==null&&(p=1)),f=this.fillOpacity;o.uTroikaDistanceOffset.value=c,o.uTroikaPositionOffset.value.set(A,w),o.uTroikaBlurRadius.value=u,o.uTroikaStrokeWidth.value=d,o.uTroikaStrokeOpacity.value=p,o.uTroikaFillOpacity.value=f??1,o.uTroikaCurveRadius.value=this.curveRadius||0;let b=this.clipRect;if(b&&Array.isArray(b)&&b.length===4)o.uTroikaClipRect.value.fromArray(b);else{const C=(this.fontSize||.1)*100;o.uTroikaClipRect.value.set(s[0]-C,s[1]-C,s[2]+C,s[3]+C)}this.geometry.applyClipRect(o.uTroikaClipRect.value)}o.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const r=n?this.outlineColor||0:this.color;if(r==null)delete e.color;else{const l=e.hasOwnProperty("color")?e.color:e.color=new Xo;(r!==l._input||typeof r=="object")&&l.set(l._input=r)}let a=this.orientation||Qoe;if(a!==e._orientation){let l=o.uTroikaOrient.value;a=a.replace(/[^-+xyz]/g,"");let s=a!==Qoe&&a.match(/^([-+])([xyz])([-+])([xyz])$/);if(s){let[,c,u,d,f]=s;qj.set(0,0,0)[u]=c==="-"?1:-1,$oe.set(0,0,0)[f]=d==="-"?-1:1,Gwe.lookAt(L6t,qj.cross($oe),$oe),l.setFromMatrix4(Gwe)}else l.identity();e._orientation=a}}_parsePercent(e){if(typeof e=="string"){let n=e.match(/^(-?[\d.]+)%$/),o=n?parseFloat(n[1]):NaN;e=(isNaN(o)?0:o/100)*this.fontSize}return e}localPositionToTextCoords(e,n=new Gt){n.copy(e);const o=this.curveRadius;return o&&(n.x=Math.atan2(e.x,Math.abs(o)-Math.abs(e.z))*Math.abs(o)),n}worldPositionToTextCoords(e,n=new Gt){return qj.copy(e),this.localPositionToTextCoords(this.worldToLocal(qj),n)}raycast(e,n){const{textRenderInfo:o,curveRadius:i}=this;if(o){const r=o.blockBounds,a=i?hUe():fUe(),l=a.geometry,{position:s,uv:c}=l.attributes;for(let u=0;u{this[o]=e[o]}),this}clone(){return new this.constructor().copy(this)}};pUe.forEach(t=>{const e="_private_"+t;Object.defineProperty(gUe.prototype,t,{get(){return this[e]},set(n){n!==this[e]&&(this[e]=n,this._needsSync=!0)}})});const B6t=m.forwardRef(({sdfGlyphSize:t=64,anchorX:e="center",anchorY:n="middle",font:o,fontSize:i=1,children:r,characters:a,onSync:l,...s},c)=>{const u=Xi(({invalidate:g})=>g),[d]=m.useState(()=>new gUe),[f,p]=m.useMemo(()=>{const g=[];let A="";return m.Children.forEach(r,w=>{typeof w=="string"||typeof w=="number"?A+=w:g.push(w)}),[g,A]},[r]);return INe(()=>new Promise(g=>b6t({font:o,characters:a},g)),["troika-text",o,a]),m.useLayoutEffect(()=>void d.sync(()=>{u(),l&&l(d)})),m.useEffect(()=>()=>d.dispose(),[d]),m.createElement("primitive",z9({object:d,ref:c,font:o,text:p,anchorX:e,anchorY:n,fontSize:i,sdfGlyphSize:t},s),f)}),Jwe=t=>t===Object(t)&&!Array.isArray(t)&&typeof t!="function";function Ab(t,e){const n=Xi(i=>i.gl),o=aA(nf,Jwe(t)?Object.values(t):t);if(m.useLayoutEffect(()=>{e==null||e(o)},[e]),m.useEffect(()=>{"initTexture"in n&&(Array.isArray(o)?o:[o]).forEach(n.initTexture)},[n,o]),Jwe(t)){const i=Object.keys(t),r={};return i.forEach(a=>Object.assign(r,{[a]:o[i.indexOf(a)]})),r}else return o}Ab.preload=t=>aA.preload(nf,t);Ab.clear=t=>aA.clear(nf,t);function mUe(t,e,n){const o=Xi(f=>f.size),i=Xi(f=>f.viewport),r=typeof t=="number"?t:o.width*i.dpr,a=o.height*i.dpr,l=(typeof t=="number"?n:t)||{},{samples:s=0,depth:c,...u}=l,d=m.useMemo(()=>{const f=new Vm(r,a,{minFilter:js,magFilter:js,type:Lx,...u});return c&&(f.depthTexture=new c1e(r,a,p2)),f.samples=s,f},[]);return m.useLayoutEffect(()=>{d.setSize(r,a),s&&(d.samples=s)},[s,d,r,a]),m.useEffect(()=>()=>d.dispose(),[]),d}const j6t=t=>typeof t=="function",Y6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,children:o,makeDefault:i,...r},a)=>{const l=Xi(({set:w})=>w),s=Xi(({camera:w})=>w),c=Xi(({size:w})=>w),u=m.useRef(null),d=m.useRef(null),f=mUe(e);m.useLayoutEffect(()=>{r.manual||u.current.updateProjectionMatrix()},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()}),m.useLayoutEffect(()=>{if(i){const w=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:w}))}},[u,i,l]);let p=0,g=null;const A=j6t(o);return rA(w=>{A&&(n===1/0||ptypeof t=="function",_6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,makeDefault:o,children:i,...r},a)=>{const l=Xi(({set:w})=>w),s=Xi(({camera:w})=>w),c=Xi(({size:w})=>w),u=m.useRef(null),d=m.useRef(null),f=mUe(e);m.useLayoutEffect(()=>{r.manual||(u.current.aspect=c.width/c.height)},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()});let p=0,g=null;const A=O6t(i);return rA(w=>{A&&(n===1/0||p{if(o){const w=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:w}))}},[u,o,l]),m.createElement(m.Fragment,null,m.createElement("perspectiveCamera",z9({ref:L1e([u,a])},r),!A&&i),m.createElement("group",{ref:d},A&&i(f.texture)))});function lA(t,e){const n=t+"Geometry";return m.forwardRef(({args:o,children:i,...r},a)=>{const l=m.useRef(null);return m.useImperativeHandle(a,()=>l.current),m.useLayoutEffect(()=>void(e==null?void 0:e(l.current))),m.createElement("mesh",z9({ref:l},r),m.createElement(n,{attach:"geometry",args:o}),i)})}const Ei=lA("box"),KC=lA("circle"),cu=lA("cone"),wa=lA("cylinder"),ts=lA("sphere"),sa=lA("plane"),B1e=lA("torus"),Y6=lA("ring"),$w=lA("extrude"),j5=1e-5;function V6t(t,e,n){const o=new Ml,i=n-j5;return o.absarc(j5,j5,j5,-Math.PI/2,-Math.PI,!0),o.absarc(j5,e-i*2,j5,Math.PI,Math.PI/2,!0),o.absarc(t-i*2,e-i*2,j5,Math.PI/2,0,!0),o.absarc(t-i*2,j5,j5,0,-Math.PI/2,!0),o}const G6t=m.forwardRef(function({args:[e=1,n=1,o=1]=[],radius:i=.05,steps:r=1,smoothness:a=4,bevelSegments:l=4,creaseAngle:s=.4,children:c,...u},d){const f=m.useMemo(()=>V6t(e,n,i),[e,n,i]),p=m.useMemo(()=>({depth:o-i*2,bevelEnabled:!0,bevelSegments:l*2,steps:r,bevelSize:i-j5,bevelThickness:i,curveSegments:a}),[o,i,a]),g=m.useRef(null);return m.useLayoutEffect(()=>{g.current&&(g.current.center(),O3t(g.current,s))},[f,p]),m.createElement("mesh",z9({ref:d},u),m.createElement("extrudeGeometry",{ref:g,args:[f,p]}),c)});var yUe={exports:{}},X6t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",J6t=X6t,K6t=J6t;function AUe(){}function wUe(){}wUe.resetWarningCache=AUe;var q6t=function(){function t(o,i,r,a,l,s){if(s!==K6t){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:wUe,resetWarningCache:AUe};return n.PropTypes=n,n};yUe.exports=q6t();var fq=yUe.exports;const fo=kr(fq),Ln=xK()((t,e)=>({setEnableOrbitController:n=>{M.getState().viewState.navigationView||t(o=>{var i;return(i=o.orbitControlsRef)!=null&&i.current&&(o.orbitControlsRef.current.enabled=n),o})},selectNone:()=>{t({humanRef:null,treeRef:null,foundationRef:null})},contentRef:null,compassRef:null,orbitControlsRef:null,humanRef:null,treeRef:null,flowerRef:null,foundationRef:null,cuboidRef:null,listenToAutoDeletionByCutRef:null,listenToAutoDeletionByDeleteRef:null,setListenToAutoDeletionByCut:n=>{const o=e().listenToAutoDeletionByCutRef;o&&(o.current=n)},setListenToAutoDeletionByDelete:n=>{const o=e().listenToAutoDeletionByDeleteRef;o&&(o.current=n)},canvas:null}));var Sr=(t=>(t.Default="Default",t.Arched="Arched",t.Circular="Circular",t.Polygonal="Polygonal",t))(Sr||{});const vUe="/aladdin/assets/jaah-XpG2K-Xo.png",xUe="/aladdin/assets/jack-DVed1dhl.png",bUe="/aladdin/assets/jacob-D-6uVZRV.png",SUe="/aladdin/assets/jacqueline-DZtJs4FX.png",TUe="/aladdin/assets/jade-Cxa-afE4.png",PUe="/aladdin/assets/jamelia-Bmq4EsGl.png",CUe="/aladdin/assets/james-QtBSrtsa.png",RUe="/aladdin/assets/jane-ZqCTWK8F.png",HUe="/aladdin/assets/jaya-DD0RNxX8.png",MUe="/aladdin/assets/jaye-DPA2kSta.png",IUe="/aladdin/assets/jeanette-D3EEzZKV.png",zUe="/aladdin/assets/jedi-CUm23-QH.png",DUe="/aladdin/assets/jeff-931UF5LC.png",EUe="/aladdin/assets/jena-qnIKFCdf.png",kUe="/aladdin/assets/jennifer-Cvadr5-Q.png",FUe="/aladdin/assets/jess-DyGUx_b1.png",LUe="/aladdin/assets/jett-B01M7z86.png",WUe="/aladdin/assets/jill-CxIC2A4v.png",NUe="/aladdin/assets/jiya-CF0SpO2m.png",UUe="/aladdin/assets/joan-DWpjHIrM.png",BUe="/aladdin/assets/jocelyn-DGLHmbKA.png",jUe="/aladdin/assets/joel-DhW3d8dZ.png",YUe="/aladdin/assets/joey-Dmd3kcA2.png",OUe="/aladdin/assets/john-QF2zQU-p.png",_Ue="/aladdin/assets/jonathon-TM1sY2jf.png",VUe="/aladdin/assets/jose-CtYKGQoQ.png",GUe="/aladdin/assets/joseph-C7wga7kl.png",XUe="/aladdin/assets/joshua-CqTzsm-K.png",JUe="/aladdin/assets/judd-C8GabaWl.png",KUe="/aladdin/assets/judy-Cv4UEjOl.png",qUe="/aladdin/assets/julia-Ckjw2r2H.png",$Ue="/aladdin/assets/julio-CPCcOGMU.png",QUe="/aladdin/assets/jumapili-TjSAWyhv.png",ZUe="/aladdin/assets/june-Bkxc2WDe.png",eBe="/aladdin/assets/juro-BAi3R6Hw.png",tBe="/aladdin/assets/justin-DLG1o6Q7.png";class Ip{static fetchGender(e){switch(e){case Yt.Jaah:return Ca.Male;case Yt.Jacqueline:return Ca.Female;case Yt.Jade:return Ca.Female;case Yt.Jamelia:return Ca.Female;case Yt.James:return Ca.Male;case Yt.Jane:return Ca.Female;case Yt.Jaya:return Ca.Female;case Yt.Jaye:return Ca.Male;case Yt.Jeanette:return Ca.Female;case Yt.Jedi:return Ca.Male;case Yt.Jeff:return Ca.Male;case Yt.Jena:return Ca.Female;case Yt.Jennifer:return Ca.Female;case Yt.Jess:return Ca.Female;case Yt.Jett:return Ca.Male;case Yt.Jill:return Ca.Female;case Yt.Jiya:return Ca.Female;case Yt.Joan:return Ca.Female;case Yt.Jocelyn:return Ca.Female;case Yt.Joel:return Ca.Male;case Yt.Joey:return Ca.Female;case Yt.John:return Ca.Male;case Yt.Jonathon:return Ca.Male;case Yt.Jose:return Ca.Male;case Yt.Joseph:return Ca.Male;case Yt.Joshua:return Ca.Male;case Yt.Judd:return Ca.Male;case Yt.Judy:return Ca.Female;case Yt.Julia:return Ca.Female;case Yt.Julio:return Ca.Male;case Yt.Jumapili:return Ca.Female;case Yt.June:return Ca.Female;case Yt.Juro:return Ca.Male;case Yt.Justin:return Ca.Male;default:return Ca.Male}}static fetchLabel(e,n){switch(e){case Yt.Jaah:return j.t("people.Jaah",n);case Yt.Jacob:return j.t("people.Jacob",n);case Yt.Jacqueline:return j.t("people.Jacqueline",n);case Yt.Jade:return j.t("people.Jade",n);case Yt.Jamelia:return j.t("people.Jamelia",n);case Yt.James:return j.t("people.James",n);case Yt.Jane:return j.t("people.Jane",n);case Yt.Jaya:return j.t("people.Jaya",n);case Yt.Jaye:return j.t("people.Jaye",n);case Yt.Jeanette:return j.t("people.Jeanette",n);case Yt.Jedi:return j.t("people.Jedi",n);case Yt.Jeff:return j.t("people.Jeff",n);case Yt.Jena:return j.t("people.Jena",n);case Yt.Jennifer:return j.t("people.Jennifer",n);case Yt.Jess:return j.t("people.Jess",n);case Yt.Jett:return j.t("people.Jett",n);case Yt.Jill:return j.t("people.Jill",n);case Yt.Jiya:return j.t("people.Jiya",n);case Yt.Joan:return j.t("people.Joan",n);case Yt.Jocelyn:return j.t("people.Jocelyn",n);case Yt.Joel:return j.t("people.Joel",n);case Yt.Joey:return j.t("people.Joey",n);case Yt.John:return j.t("people.John",n);case Yt.Jonathon:return j.t("people.Jonathon",n);case Yt.Jose:return j.t("people.Jose",n);case Yt.Joseph:return j.t("people.Joseph",n);case Yt.Joshua:return j.t("people.Joshua",n);case Yt.Judd:return j.t("people.Judd",n);case Yt.Judy:return j.t("people.Judy",n);case Yt.Julia:return j.t("people.Julia",n);case Yt.Julio:return j.t("people.Julio",n);case Yt.Jumapili:return j.t("people.Jumapili",n);case Yt.June:return j.t("people.June",n);case Yt.Juro:return j.t("people.Juro",n);case Yt.Justin:return j.t("people.Justin",n);default:return j.t("people.Jack",n)}}static fetchHatOffsetY(e){switch(e){case Yt.Jonathon:return-.22}return 0}static fetchHatOffsetX(e){switch(e){case Yt.Jaah:return-.05;case Yt.Jack:return-.05;case Yt.Jacob:return .09;case Yt.Jade:return-.04;case Yt.Jaya:return .04;case Yt.Jaye:return 0;case Yt.Jamelia:return .05;case Yt.Jane:return .02;case Yt.Jeanette:return .08;case Yt.Jedi:return-.02;case Yt.Jeff:return-.05;case Yt.Jena:return .05;case Yt.Jennifer:return .02;case Yt.Jess:return .01;case Yt.Jett:return-.04;case Yt.Jill:return-.03;case Yt.Jiya:return-.03;case Yt.Joan:return-.45;case Yt.Jocelyn:return-.01;case Yt.Joel:return-.48;case Yt.Joey:return .01;case Yt.John:return .01;case Yt.Jonathon:return .02;case Yt.Jose:return .05;case Yt.Joseph:return .05;case Yt.Joshua:return-.01;case Yt.Judy:return .02;case Yt.Julia:return-.02;case Yt.Jumapili:return-.04;case Yt.June:return-.1;case Yt.Juro:return-.08;case Yt.Justin:return-.06;default:return 0}}static fetchHeight(e){switch(e){case Yt.Jaah:return 1.78;case Yt.Jack:return 1.8;case Yt.Jacob:return 1.82;case Yt.Jacqueline:return 1.78;case Yt.Jade:return 1.6;case Yt.James:return 1.75;case Yt.Jane:return 1.67;case Yt.Jaya:return 1.55;case Yt.Jaye:return 1.65;case Yt.Jamelia:return 1.8;case Yt.Jeanette:return 1.62;case Yt.Jedi:return 1.75;case Yt.Jeff:return 1.65;case Yt.Jena:return 1.6;case Yt.Jennifer:return 1.7;case Yt.Jess:return 1.5;case Yt.Jett:return 1.85;case Yt.Jill:return 1.71;case Yt.Jiya:return 1.74;case Yt.Joan:return 1.68;case Yt.Jocelyn:return 1.72;case Yt.Joel:return 1.75;case Yt.Joey:return 1.72;case Yt.John:return 1.85;case Yt.Jonathon:return 1.9;case Yt.Jose:return 1.6;case Yt.Joseph:return 1.88;case Yt.Joshua:return 1.79;case Yt.Judd:return 1.68;case Yt.Judy:return 1.75;case Yt.Julia:return 1.71;case Yt.Julio:return 1.76;case Yt.Jumapili:return 1.65;case Yt.June:return 1.85;case Yt.Juro:return 1.72;case Yt.Justin:return 1.755;default:return 1.8}}static fetchWidth(e){switch(e){case Yt.Jaah:return .74;case Yt.Jack:return .42;case Yt.Jacqueline:return .43;case Yt.Jacob:return .8;case Yt.Jade:return .48;case Yt.James:return .472;case Yt.Jane:return .4;case Yt.Jaya:return .6;case Yt.Jaye:return .55;case Yt.Jamelia:return .65;case Yt.Jeanette:return .4;case Yt.Jedi:return .56;case Yt.Jena:return .695;case Yt.Jennifer:return .45;case Yt.Jess:return .43;case Yt.Jill:return .42;case Yt.Joan:return 1.7;case Yt.Jocelyn:return .4;case Yt.Joel:return 1.8;case Yt.Joey:return .462;case Yt.John:return .6;case Yt.Jonathon:return .6;case Yt.Jose:return 2;case Yt.Joseph:return .6;case Yt.Joshua:return .5;case Yt.Judd:return .544;case Yt.Judy:return .41;case Yt.Julia:return .43;case Yt.Julio:return .5;case Yt.Jumapili:return .75;case Yt.June:return .65;case Yt.Juro:return .494;case Yt.Justin:return .6;default:return .6}}static fetchTextureImage(e){let n;switch(e){case Yt.Jaah:n=vUe;break;case Yt.Jacob:n=bUe;break;case Yt.Jacqueline:n=SUe;break;case Yt.Jade:n=TUe;break;case Yt.Jamelia:n=PUe;break;case Yt.James:n=CUe;break;case Yt.Jane:n=RUe;break;case Yt.Jaya:n=HUe;break;case Yt.Jaye:n=MUe;break;case Yt.Jeanette:n=IUe;break;case Yt.Jedi:n=zUe;break;case Yt.Jeff:n=DUe;break;case Yt.Jena:n=EUe;break;case Yt.Jennifer:n=kUe;break;case Yt.Jess:n=FUe;break;case Yt.Jett:n=LUe;break;case Yt.Jill:n=WUe;break;case Yt.Jiya:n=NUe;break;case Yt.Joan:n=UUe;break;case Yt.Jocelyn:n=BUe;break;case Yt.Joel:n=jUe;break;case Yt.Joey:n=YUe;break;case Yt.John:n=OUe;break;case Yt.Jonathon:n=_Ue;break;case Yt.Jose:n=VUe;break;case Yt.Joseph:n=GUe;break;case Yt.Joshua:n=XUe;break;case Yt.Judd:n=JUe;break;case Yt.Judy:n=KUe;break;case Yt.Julia:n=qUe;break;case Yt.Julio:n=$Ue;break;case Yt.Jumapili:n=QUe;break;case Yt.June:n=ZUe;break;case Yt.Juro:n=eBe;break;case Yt.Justin:n=tBe;break;default:n=xUe}return n}}const $6t="/aladdin/assets/no_leaf_flower-CjefG9cq.png",Q6t="/aladdin/assets/no_leaf_shrub-DDlKdxg_.png",nBe="/aladdin/assets/bellflower-C5sA-Fge.png",gce="/aladdin/assets/boxwood-cAqkPwU6.png",mce="/aladdin/assets/cactus_combo_1-DgrI_pBB.png",yce="/aladdin/assets/cactus_combo_2-CnD7zsEV.png",Ace="/aladdin/assets/cactus_combo_3-CTLr6iHA.png",wce="/aladdin/assets/cactus_combo_4-Bv3aYeWB.png",oBe="/aladdin/assets/hibiscus-DqTQjw28.png",iBe="/aladdin/assets/hydrangea-D6uimbNa.png",rBe="/aladdin/assets/hosta-Ds5QIDtm.png",aBe="/aladdin/assets/peony-pnxufFxy.png",lBe="/aladdin/assets/red_rose-BhP67K90.png",sBe="/aladdin/assets/spirea-aOcGALMo.png",cBe="/aladdin/assets/sunflower-l75w306z.png",vce="/aladdin/assets/tall_bush-g5bJ_GuV.png",uBe="/aladdin/assets/tulip-BqSv3XYD.png",dBe="/aladdin/assets/white_flower-BUfV78a-.png",fBe="/aladdin/assets/yellow_flower-BQ5dOM0H.png";class cw{static fetchSpread(e){switch(e){case Qn.Bellflower:return .45;case Qn.Boxwood:return 1.6;case Qn.CactusCombo1:return 1;case Qn.CactusCombo2:return 1;case Qn.CactusCombo3:return 1;case Qn.CactusCombo4:return 1;case Qn.Hosta:return 1;case Qn.Hibiscus:return 2;case Qn.Hydrangea:return 2;case Qn.Peony:return 1.5;case Qn.RedRose:return .5;case Qn.Spirea:return 1.8;case Qn.Sunflower:return 1;case Qn.TallBush:return 1;case Qn.Tulip:return .4;case Qn.YellowFlower:return 2;default:return .8}}static fetchHeight(e){switch(e){case Qn.Bellflower:return .4;case Qn.Boxwood:return 1.44;case Qn.CactusCombo1:return 1.18;case Qn.CactusCombo2:return 1.35;case Qn.CactusCombo3:return 1.24;case Qn.CactusCombo4:return 1.35;case Qn.Hosta:return .7;case Qn.Hibiscus:return 1.7;case Qn.Hydrangea:return 1.5;case Qn.Peony:return 1;case Qn.RedRose:return .8;case Qn.Spirea:return 1.6;case Qn.Sunflower:return 2;case Qn.TallBush:return 2;case Qn.Tulip:return .7;case Qn.YellowFlower:return 1.4;default:return .5}}static fetchLabel(e,n){switch(e){case Qn.Bellflower:return j.t("flower.Bellflower",n);case Qn.Boxwood:return j.t("flower.Boxwood",n);case Qn.CactusCombo1:return j.t("flower.CactusCombo1",n);case Qn.CactusCombo2:return j.t("flower.CactusCombo2",n);case Qn.CactusCombo3:return j.t("flower.CactusCombo3",n);case Qn.CactusCombo4:return j.t("flower.CactusCombo4",n);case Qn.Hibiscus:return j.t("flower.Hibiscus",n);case Qn.Hydrangea:return j.t("flower.Hydrangea",n);case Qn.Hosta:return j.t("flower.Hosta",n);case Qn.Peony:return j.t("flower.Peony",n);case Qn.RedRose:return j.t("flower.RedRose",n);case Qn.Spirea:return j.t("flower.Spirea",n);case Qn.Sunflower:return j.t("flower.Sunflower",n);case Qn.TallBush:return j.t("flower.TallBush",n);case Qn.Tulip:return j.t("flower.Tulip",n);case Qn.YellowFlower:return j.t("flower.YellowFlower",n);default:return j.t("flower.WhiteFlower",n)}}static fetchTextureImage(e,n){if(n)return e===Qn.Hibiscus||e===Qn.Hydrangea||e===Qn.YellowFlower||e===Qn.Spirea?Q6t:e===Qn.Boxwood?gce:e===Qn.TallBush?vce:e===Qn.CactusCombo1?mce:e===Qn.CactusCombo2?yce:e===Qn.CactusCombo3?Ace:e===Qn.CactusCombo4?wce:$6t;let o;switch(e){case Qn.Bellflower:o=nBe;break;case Qn.Boxwood:o=gce;break;case Qn.CactusCombo1:o=mce;break;case Qn.CactusCombo2:o=yce;break;case Qn.CactusCombo3:o=Ace;break;case Qn.CactusCombo4:o=wce;break;case Qn.Hibiscus:o=oBe;break;case Qn.Hydrangea:o=iBe;break;case Qn.Hosta:o=rBe;break;case Qn.Peony:o=aBe;break;case Qn.RedRose:o=lBe;break;case Qn.Spirea:o=sBe;break;case Qn.Sunflower:o=cBe;break;case Qn.TallBush:o=vce;break;case Qn.Tulip:o=uBe;break;case Qn.YellowFlower:o=fBe;break;default:o=dBe}return o}}class rl{static makeHuman(e,n,o,i,r){return{type:z.Human,name:e??Yt.Jack,cx:o,cy:i,cz:r,lx:Ip.fetchWidth(e??Yt.Jack),lz:Ip.fetchHeight(e??Yt.Jack),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeTree(e,n,o,i,r,a,l){return{type:z.Tree,name:e??fi.Dogwood,cx:r,cy:a,cz:l,lx:n??3,lz:o??4,normal:[0,1,0],rotation:[0,0,0],parentId:i,id:ta.generate()}}static makeSolarPanel(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w){let b;switch(e.type){case z.Foundation:b=e.id,w=z.Foundation;break;case z.Cuboid:b=e.id,w=z.Cuboid;break;case z.Wall:case z.Roof:b=e.parentId;break}return{type:z.SolarPanel,pvModelName:n.name,trackerType:Ma.NO_TRACKER,relativeAzimuth:u??0,tiltAngle:c??0,orientation:a??ui.landscape,drawSunBeam:!1,poleHeight:l??1,poleRadius:.05,poleSpacing:s??3,cx:o,cy:i,cz:r,lx:g??(a===ui.landscape?n.length:n.width),ly:A??(a===ui.landscape?n.width:n.length),lz:n.thickness,showLabel:!1,normal:d?d.toArray():[0,0,1],rotation:f||[0,0,0],color:"#fff",frameColor:p??"white",parentType:w,parentId:e.id,foundationId:b,id:ta.generate()}}static makeFlower(e,n,o,i,r){return{type:z.Flower,name:e??Qn.YellowFlower,cx:o,cy:i,cz:r,lx:cw.fetchSpread(e??Qn.YellowFlower),lz:cw.fetchHeight(e??Qn.YellowFlower),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeCuboid(e,n,o,i,r){return{type:z.Cuboid,cx:e,cy:n,cz:o?o/2:2,lx:.1,ly:.1,lz:o??4,color:"#808080",faceColors:i??["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:r??[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:M.getState().actionState.cuboidStackable,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,id:ta.generate()}}static makeFoundation(e,n,o,i,r){return{type:z.Foundation,cx:e,cy:n,cz:o?o/2:.05,lx:0,ly:0,lz:o??.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,color:i??"#808080",textureType:r??Or.NoTexture,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:ta.generate()}}static makeParabolicTrough(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A){let w;switch(e.type){case z.Foundation:w=e.id;break}return{type:z.ParabolicTrough,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:s??3,latusRectum:a??2,relativeAzimuth:0,tiltAngle:0,absorberTubeRadius:.05,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.05,cx:c,cy:u,cz:d,lx:g??2,ly:A??9,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:w,id:ta.generate()}}static makeParabolicDish(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A){let w;switch(e.type){case z.Foundation:w=e.id;break}return{type:z.ParabolicDish,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:3,latusRectum:a??8,relativeAzimuth:0,tiltAngle:0,structureType:s??tf.CentralPole,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.2,cx:c,cy:u,cz:d,lx:g??4,ly:A??4,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:w,id:ta.generate()}}static makeFresnelReflector(e,n,o,i,r,a,l,s,c,u,d,f){let p;switch(e.type){case z.Foundation:p=e.id;break}return{type:z.FresnelReflector,receiverId:n??"None",reflectance:o??.9,moduleLength:r??3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.05,cx:a,cy:l,cz:s,lx:d??2,ly:f??9,lz:.1,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:p,id:ta.generate()}}static makeWindTurbine(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w,b,C,P){let v;switch(e.type){case z.Foundation:v=e.id;break}return{type:z.WindTurbine,birdSafe:n,bladeColor:o,stripeColor:i,numberOfBlades:r,initialRotorAngle:a,relativeYawAngle:l,pitchAngle:s,bladeRadius:c,bladeTipWidth:.2,bladeRootRadius:u,maximumChordRadius:f,maximumChordLength:d,towerRadius:p,towerHeight:g,hubRadius:A,hubLength:w,cx:b,cy:C,cz:P,lx:p*4,ly:p*4,lz:g+c,normal:[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:v,id:ta.generate()}}static makeHeliostat(e,n,o,i,r,a,l,s,c,u,d){let f;switch(e.type){case z.Foundation:f=e.id;break}return{type:z.Heliostat,towerId:n??"None",reflectance:o??.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.1,cx:r,cy:a,cz:l,lx:u??2,ly:d??4,lz:.1,showLabel:!1,normal:s?s.toArray():[0,0,1],rotation:c||[0,0,0],parentId:e.id,foundationId:f,id:ta.generate()}}static makePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=.2,u=.2,d=.2;let f=n,p=o;return e.type===z.Cuboid&&r?xe.isUnitVectorX(r)?f=i:xe.isUnitVectorY(r)&&(p=i):e.type===z.Wall&&(p=i),{type:z.Polygon,cx:f,cy:p,cz:0,lx:2*c,ly:2*u,lz:2*d,color:"#ffffff",normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],vertices:[{x:Math.max(-.5,f-c),y:Math.max(-.5,p-u)},{x:Math.max(-.5,f-c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.max(-.5,p-u)}],parentId:e.id,parentType:l,foundationId:s,selected:!1,filled:!0,selectedIndex:-1,id:ta.generate()}}static makeWall(e,n,o,i,r){const a=M.getState().actionState;return{type:z.Wall,cx:n,cy:o,cz:i,lx:0,ly:a.wallThickness??.3,lz:a.wallHeight??5,parapet:a.wallParapet,eavesLength:a.wallEavesLength??.3,rValue:a.wallRValue??3,fill:Hl.Full,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:a.wallHeight-.5,rightTopPartialHeight:a.wallHeight-.5,relativeAngle:0,leftPoint:[],rightPoint:[],leftJoints:[],rightJoints:[],textureType:a.wallTexture??No.Default,color:a.wallColor??"#ffffff",volumetricHeatCapacity:a.wallVolumetricHeatCapacity??.5,wallStructure:a.wallStructure??hc.Default,studSpacing:a.wallStructureSpacing??2,studWidth:a.wallStructureWidth??.1,studColor:a.wallStructureColor??"#ffffff",opacity:a.wallOpacity!==void 0?a.wallOpacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:e.id,id:ta.generate()}}static makeSensor(e,n,o,i,r,a){let l;switch(e.type){case z.Foundation:case z.Cuboid:l=e.id;break;case z.Wall:case z.Roof:l=e.parentId;break}return{type:z.Sensor,cx:n,cy:o,cz:i,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],parentId:e.id,foundationId:l,parentType:e.type,id:ta.generate()}}static makeLight(e,n,o,i,r,a,l,s,c,u){let d;switch(e.type){case z.Foundation:case z.Cuboid:d=e.id;break;case z.Wall:case z.Roof:d=e.parentId;break}return{type:z.Light,decay:n??2,distance:o??5,intensity:i??3,color:r??"#ffff99",cx:a,cy:l,cz:s,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:d,parentType:e.type,id:ta.generate()}}static makeWindow(e,n,o,i,r,a,l=0,s=0){let c,u=0;switch(e.type){case z.Cuboid:c=e.id;break;case z.Wall:c=e.parentId,u=e.ly;break;case z.Roof:c=e.parentId,u=e.thickness;break}const d=M.getState().actionState;return{type:z.Window,cx:n,cy:o,cz:i,lx:l,ly:u,lz:s,leftShutter:d.windowShutterLeft,rightShutter:d.windowShutterRight,shutterColor:d.windowShutterColor,shutterWidth:d.windowShutterWidth,horizontalMullion:d.windowHorizontalMullion,verticalMullion:d.windowVerticalMullion,mullionWidth:d.windowMullionWidth,horizontalMullionSpacing:d.windowHorizontalMullionSpacing,verticalMullionSpacing:d.windowVerticalMullionSpacing,mullionColor:d.windowMullionColor,frame:d.windowFrame,frameWidth:d.windowFrameWidth,sillWidth:In.isTypeRoof(r)?0:d.windowSillWidth,windowType:d.windowType,empty:d.windowEmpty,interior:d.windowInterior,archHeight:d.windowArchHeight,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:d.windowColor??"#ffffff",tint:d.windowTint??"#73D8FF",opacity:d.windowOpacity!==void 0?d.windowOpacity:.5,uValue:d.windowUValue??.5,normal:[0,-1,0],rotation:a?[...a]:[0,0,0],parentId:e.id,parentType:r,foundationId:c,id:ta.generate()}}static makeDoor(e){let n;switch(e.type){case z.Cuboid:n=e.id;break;case z.Wall:n=e.parentId;break}const o=M.getState().actionState;return{type:z.Door,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,doorType:o.doorType,filled:o.doorFilled,interior:o.doorInterior,archHeight:o.doorArchHeight,textureType:o.doorTexture??ri.Default,color:o.doorColor??"#ffffff",uValue:o.doorUValue??.5,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:e.id,foundationId:n,id:ta.generate()}}static makePyramidRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Pyramid,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeGableRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Gable,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1]}}static makeHipRoof(e,n,o){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Hip,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),leftRidgeLength:(o??2)/2,rightRidgeLength:(o??2)/2}}static makeGambrelRoof(e,n){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Gambrel,roofStructure:yc.Default,wallsId:[...e],topRidgePoint:[0,1],frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeMansardRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Mansard,roofStructure:yc.Default,wallsId:[...e],ridgeWidth:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}}const Z6t=t=>t.solarPanelArrayLayoutParams.pvModelName,eAt=t=>t.solarPanelArrayLayoutParams.rowAxis,tAt=t=>t.solarPanelArrayLayoutParams.rowsPerRack,nAt=t=>t.solarPanelArrayLayoutParams.interRowSpacing,oAt=t=>t.solarPanelArrayLayoutParams.margin,iAt=t=>t.solarPanelArrayLayoutParams.poleHeight,rAt=t=>t.solarPanelArrayLayoutParams.poleSpacing,aAt=t=>t.solarPanelArrayLayoutParams.tiltAngle,lAt=t=>t.solarPanelArrayLayoutParams.orientation,hq=t=>t.viewState.navigationView,ss=t=>t.viewState.shadowEnabled,pq=t=>t.viewState.shadowCameraFar,gq=t=>t.viewState.solarPanelShininess,hBe=t=>t.viewState.windowShininess,X2=t=>t.viewState.heatFluxScaleFactor,q9=t=>t.viewState.heatFluxColor,$9=t=>t.viewState.heatFluxWidth,wf=t=>t.viewState.solarRadiationHeatMapMaxValue,j1e=t=>t.viewState.solarRadiationHeatMapReflectionOnly,Y1e=t=>t.viewState.axes,pBe=t=>t.viewState.ambientLightIntensity,gBe=t=>t.viewState.directLightIntensity,mBe=t=>t.viewState.theme,yBe=t=>t.viewState.showAzimuthAngle,ABe=t=>t.viewState.showElevationAngle,wBe=t=>t.viewState.showZenithAngle,vBe=t=>t.viewState.autoRotate,xBe=t=>t.viewState.hideAddress,sA=t=>t.viewState.groundImage,sAt=t=>t.viewState.groundImageType,bBe=t=>t.viewState.groundColor,SBe=t=>t.viewState.waterSurface,hu=t=>t.viewState.orthographic,cAt=t=>t.viewState.enableRotate,uAt=t=>t.viewState.cameraPosition,dAt=t=>t.viewState.cameraZoom,TBe=t=>t.viewState.heliodon,PBe=t=>t.viewState.showSunAngles,O1e=t=>t.viewState.mapZoom,fAt=t=>t.viewState.mapTilt,CBe=t=>t.viewState.mapType,_1e=t=>t.viewState.showSiteInfoPanel,mq=t=>t.viewState.showDesignInfoPanel,RBe=t=>t.viewState.showInstructionPanel,HBe=t=>t.viewState.showHeliodonPanel,hAt=t=>t.viewState.heliodonPanelX,pAt=t=>t.viewState.heliodonPanelY,gAt=t=>t.viewState.showMapPanel,mAt=t=>t.viewState.mapPanelX,yAt=t=>t.viewState.mapPanelY,AAt=t=>t.viewState.showWeatherPanel,wAt=t=>t.viewState.weatherPanelRect,vAt=t=>t.viewState.showDiurnalTemperaturePanel,xAt=t=>t.viewState.diurnalTemperaturePanelRect,MBe=t=>t.viewState.showStickyNotePanel,bAt=t=>t.viewState.stickyNotePanelRect,SAt=t=>t.viewState.showDailyBuildingEnergyPanel,TAt=t=>t.viewState.dailyBuildingEnergyPanelRect,PAt=t=>t.viewState.showYearlyBuildingEnergyPanel,CAt=t=>t.viewState.yearlyBuildingEnergyPanelRect,IBe=t=>t.viewState.showDailyLightSensorPanel,RAt=t=>t.viewState.dailyLightSensorPanelRect,HAt=t=>t.viewState.showYearlyLightSensorPanel,MAt=t=>t.viewState.yearlyLightSensorPanelRect,IAt=t=>t.viewState.yearlyLightSensorPanelShowDaylight,zAt=t=>t.viewState.yearlyLightSensorPanelShowClearness,zBe=t=>t.viewState.showDailyPvYieldPanel,DAt=t=>t.viewState.dailyPvYieldPanelRect,EAt=t=>t.viewState.showYearlyPvYieldPanel,kAt=t=>t.viewState.yearlyPvYieldPanelRect,FAt=t=>t.viewState.showSolarPanelVisibilityResultsPanel,LAt=t=>t.viewState.visibilityResultsPanelRect,DBe=t=>t.viewState.showDailyParabolicTroughYieldPanel,WAt=t=>t.viewState.dailyParabolicTroughYieldPanelRect,NAt=t=>t.viewState.showYearlyParabolicTroughYieldPanel,UAt=t=>t.viewState.yearlyParabolicTroughYieldPanelRect,EBe=t=>t.viewState.showDailyParabolicDishYieldPanel,BAt=t=>t.viewState.dailyParabolicDishYieldPanelRect,jAt=t=>t.viewState.showYearlyParabolicDishYieldPanel,YAt=t=>t.viewState.yearlyParabolicDishYieldPanelRect,kBe=t=>t.viewState.showDailyFresnelReflectorYieldPanel,OAt=t=>t.viewState.dailyFresnelReflectorYieldPanelRect,_At=t=>t.viewState.showYearlyFresnelReflectorYieldPanel,VAt=t=>t.viewState.yearlyFresnelReflectorYieldPanelRect,FBe=t=>t.viewState.showDailyHeliostatYieldPanel,GAt=t=>t.viewState.dailyHeliostatYieldPanelRect,XAt=t=>t.viewState.showYearlyHeliostatYieldPanel,JAt=t=>t.viewState.yearlyHeliostatYieldPanelRect,LBe=t=>t.viewState.showDailyUpdraftTowerYieldPanel,KAt=t=>t.viewState.dailyUpdraftTowerYieldPanelRect,qAt=t=>t.viewState.showYearlyUpdraftTowerYieldPanel,$At=t=>t.viewState.yearlyUpdraftTowerYieldPanelRect,QAt=t=>t.viewState.showEvolutionPanel,ZAt=t=>t.viewState.evolutionPanelRect,Xs=t=>t.world.latitude,wb=t=>t.world.longitude,Ya=t=>t.world.date,V1e=t=>t.world.leafDayOfYear1,G1e=t=>t.world.leafDayOfYear2,e4t=t=>t.world.ground,yq=t=>t.world.address,t4t=t=>t.world.countryCode,n4t=t=>t.world.airAttenuationCoefficient,o4t=t=>t.world.airConvectiveCoefficient,WBe=t=>t.world.timesPerHour,mH=t=>t.world.daysPerYear,i4t=t=>t.world.discretization,NBe=t=>t.world.diurnalTemperatureModel,KL=t=>t.world.highestTemperatureTimeInMinutes,r4t=t=>t.world.solarRadiationHeatmapGridCellSize,a4t=t=>t.world.pvGridCellSize,l4t=t=>t.world.solarPanelVisibilityGridCellSize,s4t=t=>t.world.cspTimesPerHour,qL=t=>t.world.cspDaysPerYear,c4t=t=>t.world.cspGridCellSize,u4t=t=>t.world.sutTimesPerHour,UBe=t=>t.world.sutDaysPerYear,d4t=t=>t.world.sutGridCellSize,X1e=t=>t.world.noAnimationForHeatmapSimulation,f4t=t=>t.world.noAnimationForThermalSimulation,J1e=t=>t.world.noAnimationForSensorDataCollection,K1e=t=>t.world.noAnimationForSolarPanelSimulation,BBe=t=>t.world.noAnimationForSolarUpdraftTowerSimulation,dn=t=>t.set,o1=t=>t.user,h4t=t=>t.userCount,p4t=t=>t.showEconomicsPanel,g4t=t=>t.showNavigationPanel,m4t=t=>t.showShadowSettings,y4t=t=>t.minimumNavigationMoveSpeed,A4t=t=>t.minimumNavigationTurnSpeed,w4t=t=>t.navigationMoveSpeed,v4t=t=>t.navigationTurnSpeed,i1=t=>t.getHeatmap,q1e=t=>t.setHeatmap,jBe=t=>t.clearHeatmaps,$1e=t=>t.flagOfDailySimulation,vb=t=>t.hourlyHeatExchangeArrayMap,x4t=t=>t.setHourlyHeatExchangeArray,b4t=t=>t.hourlySolarHeatGainArrayMap,S4t=t=>t.setHourlySolarHeatGainArray,T4t=t=>t.hourlySolarPanelOutputArrayMap,P4t=t=>t.setHourlySolarPanelOutputArray,Q1e=t=>t.getRoofSegmentVertices,$L=t=>t.getRoofSegmentVerticesWithoutOverhang,YBe=t=>t.changed,C4t=t=>t.setChanged,R4t=t=>t.setSkipChange,ao=t=>t.applyCount,io=t=>t.setApplyCount,ca=t=>t.revertApply,Jn=t=>t.elements,H4t=t=>t.notes,C7=t=>t.pvModules,M4t=t=>t.loadPvModules,J2=t=>t.getPvModule,pu=t=>t.floatingWindowOpacity,bc=t=>t.selectedFloatingWindow,Sc=t=>t.language,I4t=t=>t.locale,ha=t=>t.loggable,z4t=t=>t.actionInfo,D4t=t=>t.currentUndoable,Aq=t=>t.openModelsMap,E4t=t=>t.modelsMapLatitude,k4t=t=>t.modelsMapLongitude,F4t=t=>t.modelsMapZoom,L4t=t=>t.modelsMapTilt,Z1e=t=>t.modelsMapType,OBe=t=>t.modelsMapWeatherStations,W4t=t=>t.showCloudFileTitleDialog,_Be=t=>t.showCloudFileTitleDialogFlag,yH=t=>t.cloudFile,N4t=t=>t.latestModelSite,VBe=t=>t.modelSites,GBe=t=>t.peopleModels,U4t=t=>t.saveAccountSettingsFlag,B4t=t=>t.saveCloudFileFlag,j4t=t=>t.createProjectFlag,Y4t=t=>t.saveProjectAsFlag,O4t=t=>t.curateDesignToProjectFlag,_4t=t=>t.showProjectsFlag,V4t=t=>t.updateProjectsFlag,G4t=t=>t.modelsMapFlag,X4t=t=>t.leaderboardFlag,J4t=t=>t.showLeaderboard,K4t=t=>t.publishOnModelsMapFlag,q4t=t=>t.listCloudFilesFlag,$4t=t=>t.localContentToImportAfterCloudFileUpdate,Q4t=t=>t.localFileName,Z4t=t=>t.createNewFileFlag,ewt=t=>t.openLocalFileFlag,XBe=t=>t.saveLocalFileDialogVisible,AH=t=>t.fileChanged,twt=t=>t.undoManager,En=t=>t.addUndoable,ege=t=>t.importContent,JBe=t=>t.exportContent,nwt=t=>t.clearContent,KBe=t=>t.createEmptyFile,owt=t=>t.aabb,qBe=t=>t.animateSun,iwt=t=>t.animate24Hours,QL=t=>t.runDailyThermalSimulation,rwt=t=>t.pauseDailyThermalSimulation,wq=t=>t.runYearlyThermalSimulation,awt=t=>t.pauseYearlyThermalSimulation,lwt=t=>t.clearDailySimulationResultsFlag,swt=t=>t.clearYearlySimulationResultsFlag,ZL=t=>t.runDynamicSimulation,tge=t=>t.runStaticSimulation,cwt=t=>t.pauseSimulation,K2=t=>t.runEvolution,vq=t=>t.pauseEvolution,xq=t=>t.objectiveEvaluationIndex,wH=t=>t.evolutionMethod,uwt=t=>t.updateSceneRadiusFlag,$Be=t=>t.updateSceneRadius,mh=t=>t.sceneRadius,dwt=t=>t.cameraDirection,nge=t=>t.getCameraDirection,Vn=t=>t.getElementById,cA=t=>t.getFoundation,rr=t=>t.getParent,vH=t=>t.getChildren,Q9=t=>t.getChildrenOfType,Z9=t=>t.selectedElement,fwt=t=>t.selectedElementIdSet,xb=t=>t.getSelectedElement,oge=t=>t.overlapWithSibling,QBe=t=>t.selectedSideIndex,e3=t=>t.setElementPosition,ige=t=>t.setElementSize,hwt=t=>t.setElementNormal,pwt=t=>t.updateElementLockById,gwt=t=>t.updateElementReferenceById,mwt=t=>t.updateElementLabelById,ywt=t=>t.updateElementShowLabelById,ZBe=t=>t.updateElementCxById,eje=t=>t.updateElementCyById,Awt=t=>t.updateElementCzById,wwt=t=>t.updateElementCzForAll,t3=t=>t.updateElementLxById,bq=t=>t.updateElementLxAboveFoundation,eW=t=>t.updateElementLxForAll,R7=t=>t.updateElementLyById,Sq=t=>t.updateElementLyAboveFoundation,tW=t=>t.updateElementLyForAll,rge=t=>t.updateElementLzById,vwt=t=>t.updateElementLzForAll,tje=t=>t.updateElementColorById,xwt=t=>t.updateElementColorOnSurface,bwt=t=>t.updateElementColorAboveFoundation,nje=t=>t.updateElementColorForAll,Swt=t=>t.updateElementLineColorById,Twt=t=>t.updateElementLineColorOnSurface,Pwt=t=>t.updateElementLineColorAboveFoundation,Cwt=t=>t.updateElementLineColorForAll,Rwt=t=>t.updateElementLineWidthById,Hwt=t=>t.updateElementLineWidthOnSurface,Mwt=t=>t.updateElementLineWidthAboveFoundation,Iwt=t=>t.updateElementLineWidthForAll,age=t=>t.updateElementRotationById,zwt=t=>t.updateElementRotationForAll,Js=t=>t.foundationActionScope,Dwt=t=>t.setFoundationActionScope,xH=t=>t.polygonActionScope,bH=t=>t.setPolygonActionScope,oje=t=>t.updatePolygonVertexPositionById,H7=t=>t.updatePolygonVerticesById,SH=t=>t.cuboidActionScope,TH=t=>t.setCuboidActionScope,r1=t=>t.solarPanelActionScope,a1=t=>t.setSolarPanelActionScope,nW=t=>t.updateSolarCollectorDailyYieldById,oW=t=>t.updateSolarCollectorYearlyYieldById,lge=t=>t.updateSolarPanelTiltAngleById,ije=t=>t.updateSolarCollectorDrawSunBeamById,rje=t=>t.updateSolarCollectorDrawSunBeamAboveFoundation,aje=t=>t.updateSolarCollectorDrawSunBeamForAll,sge=t=>t.updateSolarCollectorRelativeAzimuthById,Ewt=t=>t.updateSolarCollectorRelativeAzimuthOnSurface,kwt=t=>t.updateSolarCollectorRelativeAzimuthAboveFoundation,Fwt=t=>t.updateSolarCollectorRelativeAzimuthForAll,Lwt=t=>t.updateSolarCollectorXById,Wwt=t=>t.updateSolarCollectorXAboveFoundation,Nwt=t=>t.updateSolarCollectorXForAll,Uwt=t=>t.updateSolarCollectorYById,Bwt=t=>t.updateSolarCollectorYAboveFoundation,jwt=t=>t.updateSolarCollectorYForAll,iW=t=>t.updateSolarCollectorPoleHeightById,Ywt=t=>t.updateSolarCollectorPoleHeightOnSurface,rW=t=>t.updateSolarCollectorPoleHeightAboveFoundation,aW=t=>t.updateSolarCollectorPoleHeightForAll,lje=t=>t.updateSolarCollectorPoleRadiusById,sje=t=>t.updateSolarCollectorPoleRadiusAboveFoundation,cje=t=>t.updateSolarCollectorPoleRadiusForAll,Tq=t=>t.updateCspReflectanceById,Pq=t=>t.updateCspReflectanceAboveFoundation,Cq=t=>t.updateCspReflectanceForAll,uje=t=>t.updateParabolicCollectorAbsorptanceById,dje=t=>t.updateParabolicCollectorAbsorptanceAboveFoundation,fje=t=>t.updateParabolicCollectorAbsorptanceForAll,hje=t=>t.updateParabolicCollectorOpticalEfficiencyById,pje=t=>t.updateParabolicCollectorOpticalEfficiencyAboveFoundation,gje=t=>t.updateParabolicCollectorOpticalEfficiencyForAll,mje=t=>t.updateParabolicCollectorThermalEfficiencyById,yje=t=>t.updateParabolicCollectorThermalEfficiencyAboveFoundation,Aje=t=>t.updateParabolicCollectorThermalEfficiencyForAll,uA=t=>t.parabolicTroughActionScope,dA=t=>t.setParabolicTroughActionScope,bb=t=>t.fresnelReflectorActionScope,Sb=t=>t.setFresnelReflectorActionScope,Tb=t=>t.heliostatActionScope,Pb=t=>t.setHeliostatActionScope,wje=t=>t.updateSolarReceiverById,vje=t=>t.updateSolarReceiverAboveFoundation,xje=t=>t.updateSolarReceiverForAll,fA=t=>t.parabolicDishActionScope,hA=t=>t.setParabolicDishActionScope,bje=t=>t.updateParabolaLatusRectumById,Sje=t=>t.updateParabolaLatusRectumAboveFoundation,Tje=t=>t.updateParabolaLatusRectumForAll,Pje=t=>t.updateModuleLengthById,Cje=t=>t.updateModuleLengthAboveFoundation,Rje=t=>t.updateModuleLengthForAll,n3=t=>t.windTurbineActionScope,o3=t=>t.setWindTurbineActionScope,Hje=t=>t.copyElementById,hp=t=>t.removeElementById,Owt=t=>t.clearDeletedElements,_wt=t=>t.countElementsByReferenceId,cge=t=>t.removeElementsByReferenceId,Mje=t=>t.pasteElementsToPoint,Vwt=t=>t.pasteElementsByKey,Ije=t=>t.elementsToPaste,Vc=t=>t.selectMe,lW=t=>t.selectNone,uge=t=>t.addElement,Rq=t=>t.objectTypeToAdd,Gwt=t=>t.actionModeLock,Fg=t=>t.countElementsByType,zje=t=>t.countSolarStructuresByType,Xwt=t=>t.countObservers,Jwt=t=>t.countSolarPanelsOnRack,Kwt=t=>t.selectedElementAngle,qwt=t=>t.waiting,vf=t=>t.simulationInProgress,dge=t=>t.simulationPaused,Dje=t=>t.evolutionInProgress,Eje=t=>t.evolutionPaused,$wt=t=>t.contextMenuObjectType,Qwt=t=>t.enableFineGrid,Zwt=t=>t.setEnableFineGrid,e7t=t=>t.showCloudFilePanel,kje=t=>t.projectState.title,Fje=t=>t.projectState.owner,t7t=t=>t.projectState.description,n7t=t=>t.projectState.designs,o7t=t=>t.projectState.type,Lje=t=>t.projectState.selectedProperty,i7t=t=>t.projectState.dataColoring,r7t=t=>t.projectState.thumbnailWidth,a7t=t=>t.projectState.xAxisNameScatterPlot,l7t=t=>t.projectState.yAxisNameScatterPlot,s7t=t=>t.projectState.dotSizeScatterPlot,c7t=t=>t.projectState.sortDescending,u7t=t=>t.projectState.filters,d7t=t=>t.projectState.ranges,f7t=t=>t.projectState.hiddenParameters,Hq=t=>t.projectView,h7t=t=>t.showProjectListPanel,p7t=t=>t.showModelsGallery,g7t=t=>t.showAccountSettingsPanel,m7t=t=>t.showLikesPanel,y7t=t=>t.showPublishedModelsPanel,A7t=t=>t.weatherModel,Wje=t=>t.setWeatherModel,fge=t=>t.weatherData,w7t=t=>t.loadWeatherData,v7t=t=>t.loadHorizontalSolarRadiationData,x7t=t=>t.getHorizontalSolarRadiation,b7t=t=>t.loadVerticalSolarRadiationData,S7t=t=>t.getVerticalSolarRadiation,Nje=t=>t.getClosestCity,M7=t=>t.sunlightDirection,T7t=t=>t.setSunlightDirection,cs=t=>t.showSolarRadiationHeatmap,i3=t=>t.showHeatFluxes,P7t=t=>t.runSolarPanelVisibilityAnalysis,C7t=t=>t.solarPanelVisibilityResults,Uje=t=>t.runDailySimulationForSolarPanels,R7t=t=>t.runDailySimulationForSolarPanelsLastStep,Bje=t=>t.runYearlySimulationForSolarPanels,H7t=t=>t.runYearlySimulationForSolarPanelsLastStep,M7t=t=>t.pauseDailySimulationForSolarPanels,I7t=t=>t.pauseYearlySimulationForSolarPanels,z7t=t=>t.dailyPvYield,jje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyPvIndividualOutputs},D7t=t=>t.setDailyPvYield,E7t=t=>t.yearlyPvYield,Yje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyPvIndividualOutputs},k7t=t=>t.setYearlyPvYield,Oje=t=>t.solarPanelLabels,F7t=t=>t.setSolarPanelLabels,_je=t=>t.setTotalBuildingHeater,Vje=t=>t.setTotalBuildingAc,Gje=t=>t.setTotalBuildingSolarPanel,L7t=t=>t.runDailySimulationForParabolicTroughs,W7t=t=>t.runYearlySimulationForParabolicTroughs,N7t=t=>t.pauseDailySimulationForParabolicTroughs,U7t=t=>t.pauseYearlySimulationForParabolicTroughs,B7t=t=>t.dailyParabolicTroughYield,Xje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicTroughIndividualOutputs},j7t=t=>t.setDailyParabolicTroughYield,Y7t=t=>t.yearlyParabolicTroughYield,Jje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicTroughIndividualOutputs},O7t=t=>t.setYearlyParabolicTroughYield,Kje=t=>t.parabolicTroughLabels,_7t=t=>t.setParabolicTroughLabels,V7t=t=>t.runDailySimulationForFresnelReflectors,G7t=t=>t.runYearlySimulationForFresnelReflectors,X7t=t=>t.pauseDailySimulationForFresnelReflectors,J7t=t=>t.pauseYearlySimulationForFresnelReflectors,K7t=t=>t.dailyFresnelReflectorYield,qje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyFresnelReflectorIndividualOutputs},q7t=t=>t.setDailyFresnelReflectorYield,$7t=t=>t.yearlyFresnelReflectorYield,$je=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyFresnelReflectorIndividualOutputs},Q7t=t=>t.setYearlyFresnelReflectorYield,Qje=t=>t.fresnelReflectorLabels,Z7t=t=>t.setFresnelReflectorLabels,e8t=t=>t.runDailySimulationForHeliostats,t8t=t=>t.runYearlySimulationForHeliostats,n8t=t=>t.pauseDailySimulationForHeliostats,o8t=t=>t.pauseYearlySimulationForHeliostats,i8t=t=>t.dailyHeliostatYield,Zje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyHeliostatIndividualOutputs},r8t=t=>t.setDailyHeliostatYield,a8t=t=>t.yearlyHeliostatYield,eYe=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyHeliostatIndividualOutputs},l8t=t=>t.setYearlyHeliostatYield,tYe=t=>t.heliostatLabels,s8t=t=>t.setHeliostatLabels,nYe=t=>t.runDailySimulationForUpdraftTower,oYe=t=>t.runYearlySimulationForUpdraftTower,c8t=t=>t.pauseDailySimulationForUpdraftTower,u8t=t=>t.pauseYearlySimulationForUpdraftTower,d8t=t=>t.dailyUpdraftTowerResults,f8t=t=>t.dailyUpdraftTowerYield,h8t=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyUpdraftTowerIndividualOutputs},p8t=t=>t.setDailyUpdraftTowerResults,g8t=t=>t.setDailyUpdraftTowerYield,m8t=t=>t.yearlyUpdraftTowerYield,y8t=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyUpdraftTowerIndividualOutputs},A8t=t=>t.setYearlyUpdraftTowerYield,iYe=t=>t.updraftTowerLabels,w8t=t=>t.setUpdraftTowerLabels,v8t=t=>t.runDailySimulationForParabolicDishes,x8t=t=>t.runYearlySimulationForParabolicDishes,b8t=t=>t.pauseDailySimulationForParabolicDishes,S8t=t=>t.pauseYearlySimulationForParabolicDishes,T8t=t=>t.dailyParabolicDishYield,rYe=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicDishIndividualOutputs},P8t=t=>t.setDailyParabolicDishYield,C8t=t=>t.yearlyParabolicDishYield,aYe=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicDishIndividualOutputs},R8t=t=>t.setYearlyParabolicDishYield,lYe=t=>t.parabolicDishLabels,H8t=t=>t.setParabolicDishLabels,sYe=t=>t.runDailyLightSensor,M8t=t=>t.pauseDailyLightSensor,cYe=t=>t.runYearlyLightSensor,I8t=t=>t.pauseYearlyLightSensor,z8t=t=>t.dailyLightSensorData,D8t=t=>t.setDailyLightSensorData,E8t=t=>t.yearlyLightSensorData,k8t=t=>t.setYearlyLightSensorData,uYe=t=>t.sensorLabels,F8t=t=>t.setSensorLabels,ty=t=>t.hoveredHandle,Cb=t=>t.moveHandleType,yh=t=>t.resizeHandleType,hge=t=>t.getResizeHandlePosition,sW=t=>t.rotateHandleType,L8t=t=>t.resizeAnchor,pge=t=>t.isAddingElement,Mq=t=>t.addedFoundationId,W8t=t=>t.deletedFoundationId,Iq=t=>t.addedCuboidId,N8t=t=>t.deletedCuboidId,dYe=t=>t.addedWallId,U8t=t=>t.deletedWallId,B8t=t=>t.deletedRoofId,gge=t=>t.deletedRoofIdSet,fYe=t=>t.autoDeletedRoofIdSet,j8t=t=>t.autoDeletedRoofs,hYe=t=>t.autoDeletedChild,pYe=t=>t.groupActionMode,Y8t=t=>t.groupActionUpdateFlag,O8t=t=>t.addedWindowId,_8t=t=>t.addedDoorId,V8t=t=>t.updateWallMapOnFoundationFlag,r3=t=>t.wallActionScope,ny=t=>t.roofActionScope,cW=t=>t.windowActionScope,I7=t=>t.doorActionScope,gYe=t=>t.setRoofActionScope,mge=t=>t.updateWallLeftJointsById,yge=t=>t.updateWallRightJointsById,G8t=t=>t.updateWallLeftPointById,zq=t=>t.economicsParams,X8t=t=>t.fittestIndividualResults,Dq=t=>t.setFittestIndividualResults,uW=t=>t.variableLabels,Eq=t=>t.setVariableLabels,pA=t=>t.evolutionaryAlgorithmState,kq=t=>t.solarPanelArrayLayoutConstraints,J8t=t=>t.geneticAlgorithmWizardSelectedTab,K8t=t=>t.particleSwarmOptimizationWizardSelectedTab,q8t=t=>t.countHeatmapCells,Ah=t=>t.setPrimitiveStore,Age=be.memo(({hx:t,hy:e,hz:n,position:o,rotation:i})=>{const r=M(Qwt),a=M(sA),l=a?"#888888":"#444444",s=Math.max(t,e),[c,u]=m.useState(Math.floor(s/50)+1),[d,f]=m.useState(.5);m.useEffect(()=>{r?(u((Math.floor(s/25)+1)*l9),f(a?.05:.1)):(u((Math.floor(s/25)+1)*g6),f((a?.05:.1)*V5))},[r,s,a]);const p=m.useMemo(()=>{const A=[0];for(let w=c;w<=t;w+=c)A.push(w),A.push(-w);return A},[c,t]),g=m.useMemo(()=>{const A=[0];for(let w=c;w<=e;w+=c)A.push(w),A.push(-w);return A},[c,e]);return h.jsxs("group",{position:o??[0,0,n+.01],rotation:i,children:[p.map(A=>h.jsx(Fn,{points:[[A,-e,0],[A,e,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},A)),g.map(A=>h.jsx(Fn,{points:[[-t,A,0],[t,A,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},A))]})}),Zoe=.2,$8t=({x:t,z:e,handleType:n,scale:o=[1,1,1]})=>{const i=M(dn),r=M(yh),a=m.useRef(null),[l,s]=m.useState("white"),[c,u,d]=o;return m.useEffect(()=>{s(r===n?"red":"white")},[r]),h.jsx(Ei,{ref:a,name:n,args:[Zoe*c,Zoe*u,Zoe*d],position:[t,0,e],onPointerEnter:()=>{s("red"),i(f=>{f.hoveredHandle=n})},onPointerLeave:()=>{r===null&&s("white"),i(f=>{f.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:l})})},mv=be.memo($8t),Q8t=({handleType:t})=>{const e=M(Cb),n=m.useRef(null),[o,i]=m.useState("white");return m.useEffect(()=>{e===yo.Mid?i("red"):i("white")},[e]),h.jsx(ts,{ref:n,name:t,args:[.1,6,6],onPointerEnter:()=>{i("red")},onPointerLeave:()=>{e===null&&i("white")},children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},Z8t=be.memo(Q8t);class eie{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y,this.array[this.top++]=e.z}}class evt{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y}}let AT=class b_{constructor(e){this.plane=null,this.front=null,this.back=null,this.polygons=[],e&&this.build(e)}clone(){const e=new b_;return e.plane=this.plane&&this.plane.clone(),e.front=this.front&&this.front.clone(),e.back=this.back&&this.back.clone(),e.polygons=this.polygons.map(n=>n.clone()),e}invert(){for(let n=0;nDv.EPSILON?1:0;u|=g,d.push(g)}switch(u){case 0:(this.normal.dot(e.plane.normal)>0?n:o).push(e);break;case 1:i.push(e);break;case 2:r.push(e);break;case 3:{const f=[],p=[];for(let g=0;g=3&&i.push(new tG(f,e.shared)),p.length>=3&&r.push(new tG(p,e.shared));break}}}static fromPoints(e,n,o){const i=new g2().copy(n).sub(e).cross(new g2().copy(o).sub(e)).normalize();return new Dv(i.clone(),i.dot(e))}}Dv.EPSILON=1e-5;let tG=class mYe{constructor(e,n){this.vertices=e,this.shared=n,this.plane=Dv.fromPoints(e[0].pos,e[1].pos,e[2].pos)}clone(){return new mYe(this.vertices.map(e=>e.clone()),this.shared)}flip(){this.vertices.reverse().map(e=>e.flip()),this.plane.flip()}};class nG{constructor(e,n,o,i){this.pos=new g2().copy(e),this.normal=new g2().copy(n),this.uv=new g2().copy(o),this.uv.z=0,i&&(this.color=new g2().copy(i))}clone(){return new nG(this.pos,this.normal,this.uv,this.color)}flip(){this.normal.negate()}interpolate(e,n){return new nG(this.pos.clone().lerp(e.pos,n),this.normal.clone().lerp(e.normal,n),this.uv.clone().lerp(e.uv,n),this.color&&e.color&&this.color.clone().lerp(e.color,n))}}class ac{constructor(){this.polygons=[]}static fromPolygons(e){const n=new ac;return n.polygons=e,n}static fromGeometry(e,n){let o=[];const i=e.attributes.position,r=e.attributes.normal,a=e.attributes.uv,l=e.attributes.color,s=e.groups;let c;if(e.index)c=e.index.array;else{c=new Array(i.array.length/i.itemSize|0);for(let d=0;d0)for(const A of s)d>=A.start&&d!Number.isNaN(d.plane.normal.x)))}static toGeometry(e,n){let o=0;const i=e.polygons;for(const p of i)o+=p.vertices.length-2;const r=new Ur,a=new eie(o*3*3),l=new eie(o*3*3),s=new evt(o*2*3);let c;const u=[],d=[];for(const p of i){const g=p.vertices,A=g.length;p.shared!==void 0&&(u[p.shared]||(u[p.shared]=[])),A&&g[0].color!==void 0&&(c||(c=new eie(o*3*3)));for(let w=3;w<=A;w++)(p.shared===void 0?d:u[p.shared]).push(a.top/3,a.top/3+1,a.top/3+2),a.write(g[0].pos),a.write(g[w-2].pos),a.write(g[w-1].pos),l.write(g[0].normal),l.write(g[w-2].normal),l.write(g[w-1].normal),s&&(s.write(g[0].uv),s.write(g[w-2].uv),s.write(g[w-1].uv)),c&&(c.write(g[0].color),c.write(g[w-2].color),c.write(g[w-1].color))}r.setAttribute("position",new qa(a.array,3)),r.setAttribute("normal",new qa(l.array,3)),s&&r.setAttribute("uv",new qa(s.array,2)),c&&r.setAttribute("color",new qa(c.array,3));for(let p=0;pn.clone()).filter(n=>Number.isFinite(n.plane.w)),e}toPolygons(){return this.polygons}union(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),ac.fromPolygons(n.allPolygons())}subtract(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}intersect(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),o.clipTo(n),o.invert(),n.clipTo(o),o.clipTo(n),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}inverse(){const e=this.clone();for(const n of e.polygons)n.flip();return e}toMesh(e,n){return ac.toMesh(this,e,n)}toGeometry(e){return ac.toGeometry(this,e)}}const ht=xK()((t,e)=>{const n=o=>t(LP(o));return{set:o=>{try{n(o)}catch(i){console.log(i)}},setPrimitiveStore(o,i){n(r=>{r[o]!==void 0?r[o]=i:console.error(`key ${o} is not defined in PrimitiveStoreState`)})},changed:!1,setChanged(o){n(i=>{i.changed=o})},skipChange:!0,setSkipChange(o){n(i=>{i.skipChange=o})},localFileName:"aladdin.ala",createNewFileFlag:!1,setCreateNewFileFlag(o){n(i=>{i.createNewFileFlag=o})},openLocalFileFlag:!1,setOpenLocalFileFlag(o){n(i=>{i.openLocalFileFlag=o})},waiting:!1,contextMenuFlag:!1,updateContextMenu(){n(o=>{o.contextMenuFlag=!o.contextMenuFlag})},showEconomicsPanel:!1,showNavigationPanel:!1,showShadowSettings:!1,saveAccountSettingsFlag:!1,saveCloudFileFlag:!1,setSaveCloudFileFlag(o){n(i=>{i.saveCloudFileFlag=o})},listCloudFilesFlag:!1,saveLocalFileDialogVisible:!1,modelsMapFlag:!1,leaderboardFlag:!1,showLeaderboard:!1,publishOnModelsMapFlag:!1,modelsMapWeatherStations:!1,createProjectFlag:!1,saveProjectAsFlag:!1,curateDesignToProjectFlag:!1,showProjectsFlag:!1,updateProjectsFlag:!1,showProjectListPanel:!1,projectImagesUpdateFlag:!1,projectType:Tr.SOLAR_PANEL_ARRAY,projectTitle:null,projectDescription:null,userCount:0,showCloudFilePanel:!1,openModelsMap:!1,showModelsGallery:!1,showAccountSettingsPanel:!1,showLikesPanel:!1,showPublishedModelsPanel:!1,animateSun:!1,simulationInProgress:!1,simulationPaused:!1,evolutionInProgress:!1,evolutionPaused:!1,runEvolution:!1,pauseEvolution:!1,objectiveEvaluationIndex:0,runDailyThermalSimulation:!1,pauseDailyThermalSimulation:!1,runYearlyThermalSimulation:!1,pauseYearlyThermalSimulation:!1,clearDailySimulationResultsFlag:!1,clearYearlySimulationResultsFlag:!1,runDynamicSimulation:!1,runStaticSimulation:!1,pauseSimulation:!1,runDailySimulationForParabolicDishes:!1,runYearlySimulationForParabolicDishes:!1,pauseDailySimulationForParabolicDishes:!1,pauseYearlySimulationForParabolicDishes:!1,runDailySimulationForParabolicTroughs:!1,runYearlySimulationForParabolicTroughs:!1,pauseDailySimulationForParabolicTroughs:!1,pauseYearlySimulationForParabolicTroughs:!1,runDailySimulationForFresnelReflectors:!1,runYearlySimulationForFresnelReflectors:!1,pauseDailySimulationForFresnelReflectors:!1,pauseYearlySimulationForFresnelReflectors:!1,runDailySimulationForHeliostats:!1,runYearlySimulationForHeliostats:!1,pauseDailySimulationForHeliostats:!1,pauseYearlySimulationForHeliostats:!1,runSolarPanelVisibilityAnalysis:!1,runDailySimulationForSolarPanels:!1,pauseDailySimulationForSolarPanels:!1,runYearlySimulationForSolarPanels:!1,pauseYearlySimulationForSolarPanels:!1,runDailySimulationForSolarPanelsLastStep:!1,runYearlySimulationForSolarPanelsLastStep:!1,runDailyLightSensor:!1,pauseDailyLightSensor:!1,runYearlyLightSensor:!1,pauseYearlyLightSensor:!1,runDailySimulationForUpdraftTower:!1,runYearlySimulationForUpdraftTower:!1,pauseDailySimulationForUpdraftTower:!1,pauseYearlySimulationForUpdraftTower:!1,flagOfDailySimulation:!1,showSolarRadiationHeatmap:!1,showHeatFluxes:!1,duringCameraInteraction:!1,navigationMoveSpeed:3,navigationTurnSpeed:3,elementBeingCanceledId:null,showWallIntersectionPlaneId:null,oldParentId:null,oldFoundationId:null,selectedElementId:null,foundationMovedFlag:!1,updateFoundationMovedFlag(){n(o=>{o.foundationMovedFlag=!o.foundationMovedFlag})},isCameraUnderGround:!1}}),Sn=xK()((t,e)=>({roofSegmentVerticesMap:new Map,setRoofSegmentVertices(n,o){t(i=>(i.roofSegmentVerticesMap.set(n,[...o]),i))},getRoofSegmentVertices(n){return e().roofSegmentVerticesMap.get(n)},deleteRoofSegmentVertices(n){t(o=>(o.roofSegmentVerticesMap.delete(n),o))},roofSegmentVerticesWithoutOverhangMap:new Map,setRoofSegmentVerticesWithoutOverhang(n,o){t(i=>(i.roofSegmentVerticesWithoutOverhangMap.set(n,o),i))},getRoofSegmentVerticesWithoutOverhang(n){return e().roofSegmentVerticesWithoutOverhangMap.get(n)},deleteRoofSegmentVerticesWithoutOverhang(n){t(o=>(o.roofSegmentVerticesWithoutOverhangMap.delete(n),o))},dailyLightSensorData:[],setDailyLightSensorData(n){t({dailyLightSensorData:[...n]})},yearlyLightSensorData:[],setYearlyLightSensorData(n){t({yearlyLightSensorData:[...n]})},sensorLabels:[],setSensorLabels(n){t({sensorLabels:[...n]})},dailyPvYield:[],setDailyPvYield(n){t({dailyPvYield:[...n]}),ht.getState().set(o=>{o.runEvolution&&o.objectiveEvaluationIndex++})},sumDailyPvYield(){let n=0;for(const o of this.dailyPvYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},getDailyPvProfit(){const n=this.sumDailyPvYield(),o=xe.countAllSolarPanels();return n*M.getState().economicsParams.electricitySellingPrice-o*M.getState().economicsParams.operationalCostPerUnit},yearlyPvYield:[],setYearlyPvYield(n){t({yearlyPvYield:[...n]}),ht.getState().set(o=>(o.runEvolution&&o.objectiveEvaluationIndex++,o))},sumYearlyPvYield(){var i;let n=0;for(const r of this.yearlyPvYield)for(const a in r)Object.hasOwn(r,a)&&a!=="Month"&&(n+=r[a]);const o=12/(((i=M.getState().world)==null?void 0:i.daysPerYear)??6);return n*o},getYearlyPvProfit(){const n=xe.countAllSolarPanels();return this.sumYearlyPvYield()*M.getState().economicsParams.electricitySellingPrice-n*M.getState().economicsParams.operationalCostPerUnit*365},solarPanelLabels:[],setSolarPanelLabels(n){t({solarPanelLabels:[...n]})},solarPanelVisibilityResults:new Map,setSolarPanelVisibilityResult(n,o){t(i=>(i.solarPanelVisibilityResults.set(n,o),i))},clearSolarPanelVisibilityResults(){t({solarPanelVisibilityResults:new Map})},dailyParabolicDishYield:[],setDailyParabolicDishYield(n){t({dailyParabolicDishYield:[...n]})},sumDailyParabolicDishYield(){let n=0;for(const o of this.dailyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicDishYield:[],setYearlyParabolicDishYield(n){t({yearlyParabolicDishYield:[...n]})},sumYearlyParabolicDishYield(){let n=0;for(const o of this.yearlyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicDishLabels:[],setParabolicDishLabels(n){t({parabolicDishLabels:[...n]})},dailyParabolicTroughYield:[],setDailyParabolicTroughYield(n){t({dailyParabolicTroughYield:[...n]})},sumDailyParabolicTroughYield(){let n=0;for(const o of this.dailyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicTroughYield:[],setYearlyParabolicTroughYield(n){t({yearlyParabolicTroughYield:[...n]})},sumYearlyParabolicTroughYield(){let n=0;for(const o of this.yearlyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicTroughLabels:[],setParabolicTroughLabels(n){t({parabolicTroughLabels:[...n]})},dailyFresnelReflectorYield:[],setDailyFresnelReflectorYield(n){t({dailyFresnelReflectorYield:[...n]})},sumDailyFresnelReflectorYield(){let n=0;for(const o of this.dailyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyFresnelReflectorYield:[],setYearlyFresnelReflectorYield(n){t({yearlyFresnelReflectorYield:[...n]})},sumYearlyFresnelReflectorYield(){let n=0;for(const o of this.yearlyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},fresnelReflectorLabels:[],setFresnelReflectorLabels(n){t({fresnelReflectorLabels:[...n]})},dailyHeliostatYield:[],setDailyHeliostatYield(n){t({dailyHeliostatYield:[...n]})},sumDailyHeliostatYield(){let n=0;for(const o of this.dailyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyHeliostatYield:[],setYearlyHeliostatYield(n){t({yearlyHeliostatYield:[...n]})},sumYearlyHeliostatYield(){let n=0;for(const o of this.yearlyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},heliostatLabels:[],setHeliostatLabels(n){t({heliostatLabels:[...n]})},dailyUpdraftTowerResults:[],dailyUpdraftTowerYield:[],setDailyUpdraftTowerResults(n){t({dailyUpdraftTowerResults:[...n]})},setDailyUpdraftTowerYield(n){t({dailyUpdraftTowerYield:[...n]})},sumDailyUpdraftTowerYield(){let n=0;for(const o of this.dailyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyUpdraftTowerYield:[],setYearlyUpdraftTowerYield(n){t({yearlyUpdraftTowerYield:[...n]})},sumYearlyUpdraftTowerYield(){let n=0;for(const o of this.yearlyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},updraftTowerLabels:[],setUpdraftTowerLabels(n){t({updraftTowerLabels:[...n]})},heatmaps:new Map,setHeatmap(n,o){t(i=>(i.heatmaps.set(n,o),i))},getHeatmap(n){return e().heatmaps.get(n)},hourlyHeatExchangeArrayMap:new Map,setHourlyHeatExchangeArray(n,o){t(i=>(i.hourlyHeatExchangeArrayMap.set(n,o),i))},hourlySolarHeatGainArrayMap:new Map,setHourlySolarHeatGainArray(n,o){t(i=>(i.hourlySolarHeatGainArrayMap.set(n,o),i))},hourlySolarPanelOutputArrayMap:new Map,setHourlySolarPanelOutputArray(n,o){t(i=>(i.hourlySolarPanelOutputArrayMap.set(n,o),i))},totalBuildingHeater:0,setTotalBuildingHeater:n=>{t({totalBuildingHeater:n})},totalBuildingAc:0,setTotalBuildingAc:n=>{t({totalBuildingAc:n})},totalBuildingSolarPanel:0,setTotalBuildingSolarPanel:n=>{t({totalBuildingSolarPanel:n})},clearHeatmaps(){t(n=>(n.heatmaps.clear(),n))},clearDataStore(){t({heatmaps:new Map,hourlyHeatExchangeArrayMap:new Map,hourlySolarHeatGainArrayMap:new Map,hourlySolarPanelOutputArrayMap:new Map,solarPanelVisibilityResults:new Map,dailyLightSensorData:[],yearlyLightSensorData:[],sensorLabels:[],dailyPvYield:[],yearlyPvYield:[],solarPanelLabels:[],dailyParabolicDishYield:[],yearlyParabolicDishYield:[],parabolicDishLabels:[],dailyParabolicTroughYield:[],yearlyParabolicTroughYield:[],parabolicTroughLabels:[],dailyFresnelReflectorYield:[],yearlyFresnelReflectorYield:[],fresnelReflectorLabels:[],dailyHeliostatYield:[],yearlyHeliostatYield:[],heliostatLabels:[],dailyUpdraftTowerYield:[],dailyUpdraftTowerResults:[],yearlyUpdraftTowerYield:[],updraftTowerLabels:[]})},clearRoofVerticesMap(){t(n=>(n.roofSegmentVerticesMap.clear(),n.roofSegmentVerticesWithoutOverhangMap.clear(),n))}})),tvt="/aladdin/assets/roof_edge-DBy_1Q5D.png",eg="/aladdin/assets/tiny_white_square-B_qAXRfa.png",nvt="/aladdin/assets/roof_01-BwuyLpwq.png",ovt="/aladdin/assets/roof_02-DAbYjnV7.png",ivt="/aladdin/assets/roof_03-haZGIixv.png",rvt="/aladdin/assets/roof_04-DDuwUcDr.png",avt="/aladdin/assets/roof_05-CtBb5xIW.png",lvt="/aladdin/assets/roof_06-DuyyebV8.png",svt="/aladdin/assets/roof_07-DXWGQN8a.png",cvt=new sf({color:"white",side:ia}),uvt=be.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=Math.min(a,r,o/2),{width:s,horizontalMullionSpacing:c,verticalMullionSpacing:u,color:d}=e,f=3,p=1,g=s/2,A=m.useMemo(()=>Math.atan2(o/2,l),[o,l]),w=m.useMemo(()=>{if(l===0||o===0)return 0;const x=l/2+o**2/(8*l),R=x-l,H=Math.PI-A,D=R**2,k=x**2,W=D+k-2*D*Math.sin(H)**2-2*R*Math.sqrt((k-D*Math.sin(H)**2)*Math.cos(H)**2);return Math.sqrt(W)},[o,l,A]),b=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:d}),[d]),C=x=>new Ml().moveTo(0,x).quadraticCurveTo(x,x,x,0).quadraticCurveTo(x,-x,0,-x).quadraticCurveTo(-x,-x,-x,0).quadraticCurveTo(-x,x,0,x),P=(x,R)=>{const H=x*R/(o/2),D=H/2+(R*2)**2/(8*H),k=Math.acos(Math.min(1,R/D)),W=Math.PI-k,N=new P2(0,H-D,D,D,k,W,!1,0).getPoints(24).map(L=>new re(L.x,L.y));return new GK(N)},v=m.useMemo(()=>{const x=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(x.push(0),D=H);for(let k=0;k{const x=[];if(s===0)return x;const R=r/2-l,H=r-l,D=Math.ceil(H/c);let k=R;for(let W=0;W{const x=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(D=H);for(let W=0;Wlh.jsx("group",{position:[0,0,r/2-l],rotation:[0,R,0],children:h.jsx(wa,{position:[0,0,x/2],args:[g,g,x,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:b})});return h.jsxs("group",{name:"Window Mullion Group",position:[0,-.001,0],children:[e.horizontalMullion&&T.map((x,R)=>h.jsx(wa,{position:[0,0,x],args:[g,g,o,f,p],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:b},R)),e.verticalMullion&&(v==null?void 0:v.map((x,R)=>h.jsx(wa,{position:[x,0,-l/2],args:[g,g,r-l,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:b},R))),l>0&&(y==null?void 0:y.map((x,R)=>{if(x===null)return null;const{shape:H,path:D}=x;return h.jsx($w,{position:[0,g/2,r/2-l],rotation:[Vt,0,0],args:[H,{extrudePath:D,steps:12,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:b},R)})),w>0&&h.jsxs(h.Fragment,{children:[S(l,0),S(w,A),S(w,-A)]})]})}),dvt=be.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=o/2,s=Math.min(a,r,l),{color:c,width:u,sillWidth:d}=e,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),p=u/2,g=p/2,A=o+u*3,w=u,b=m.useMemo(()=>{const[C,P]=[l+u,l],v=s+u,T=v/2+(C*2)**2/(8*v),y=Math.acos(Math.min(1,C/T)),S=Math.PI-y,x=v-T,R=s,H=R/2+(P*2)**2/(8*R),D=Math.acos(Math.min(1,P/H)),k=Math.PI-D,W=R-H,N=new P2(0,x,T,T,y,S,!1,0).getPoints(36),L=new P2(0,W,H,H,k,D,!0,0).getPoints(36);return new Ml([...N,...L])},[a,r,o,u]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-g/2,0],children:[s>.1?h.jsx($w,{position:[0,g/2,r/2-s],rotation:[Vt,0,0],args:[b,{depth:g,steps:1,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:f}):h.jsx(Ei,{position:[0,0,r/2],args:[o+2*u,g,u],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[-o/2-p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[o/2+p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[0,0,-r/2-(d===0?0:w/2)],args:d===0?[o+2*u,g,u]:[A,d??u,w],castShadow:n,receiveShadow:n,children:f})]})}),bce=be.memo(({cy:t,dimension:e,wireframeData:n,drawBottom:o})=>{const[i,r,a,l]=e,{lineWidth:s,lineColor:c,selected:u,locked:d,opacity:f}=n,p=s/20,g=s/5,A=i/2,w=a/2,b=Math.min(l,a,A),C=6,P=1,v=(R,H)=>{const D=R/2+(H*2)**2/(8*R),k=Math.acos(Math.min(1,H/D)),W=Math.PI-k,N=new P2(0,R-D,D,D,k,W,!1,0).getPoints(24).map(L=>new re(L.x,L.y));return new GK(N)},T=R=>new Ml().moveTo(0,R).quadraticCurveTo(R,R,R,0).quadraticCurveTo(R,-R,0,-R).quadraticCurveTo(-R,-R,-R,0).quadraticCurveTo(-R,R,0,R),y=m.useMemo(()=>new sf({color:c}),[c]),S=m.useMemo(()=>new sf({color:l0}),[]),x=(R,H)=>h.jsxs(h.Fragment,{children:[b>.1?h.jsx($w,{position:[0,0,a/2-b],rotation:[Vt,0,0],args:[T(R),{extrudePath:v(b,A),steps:24,bevelEnabled:!1}],material:H}):h.jsx(wa,{args:[R,R,i,C,P],rotation:[0,0,Vt],position:[0,0,w-R/2],material:H}),o&&h.jsx(wa,{args:[R,R,i,C,P],rotation:[0,0,Vt],position:[0,0,-w],material:H}),h.jsx(wa,{args:[R,R,a-b,C,P],rotation:[Vt,Vt,0],position:[A,0,-b/2],material:H}),h.jsx(wa,{args:[R,R,a-b,C,P],rotation:[Vt,Vt,0],position:[-A,0,-b/2],material:H})]});return h.jsxs("group",{name:"Window Wireframe Group",children:[f>0&&h.jsx("group",{position:[0,t,0],children:x(p,y)}),d&&u&&x(g,S)]})}),fvt=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:A})=>{const w=M.getState().world,b=M(X2),C=M(q9),P=M($9),v=M(ss),T=Sn(vb),y=m.useRef(0),S=m.useRef(),[x,R,H,D]=e,[k,W,N]=n,L=(J,Z)=>{if(D>0){const ie=.5*x,ee=.5*H,q=Math.min(D,H,ie),ae=.5*(q+ie*ie/q);if(Math.abs(J)-ee)return!0;const ne=Z-(H-ae-ee);return J*J+ne*ne{if(!d||g||A&&A.notBuilding)return;const J=T.get(t);if(!J)return;const Z=J.reduce((te,he)=>te+he,0);if(f===0)return;const ie=K9*(w.solarRadiationHeatmapGridCellSize??.5),ee=Math.max(2,Math.round(x/ie)),q=Math.max(2,Math.round(H/ie)),ae=x/ee,ne=H/q,se=Z/f*(b??Gm);y.current=se<0?1:0,S.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(se)*Vt);const le=[];if(se<0)for(let te=0;tec*x,[x,c]),F=m.useMemo(()=>H-Math.min(D,H,x/2),[x,H,D]),B=m.useMemo(()=>(U+i.width+x)/2*1.025,[x,U,i.width]),_=m.useMemo(()=>-Math.min(D,H,x/2)/2,[H,F]),Y=m.useMemo(()=>oG(x,H,D),[x,H,D]),O=(J,Z,ie)=>h.jsx(sa,{name:"Window Seal Plane",args:J,position:Z,rotation:ie,material:cvt,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Arched Window Plane Group",position:[0,W,0],children:[h.jsxs("mesh",{name:"Window Glass mesh",rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[Y]}),u]}),(o.horizontalMullion||o.verticalMullion)&&D!==void 0&&h.jsx(uvt,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(dvt,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(bce,{cy:W,dimension:e,wireframeData:r,drawBottom:!0}),h.jsx(Aye,{cx:B,cz:_,lx:U,lz:F,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),O([R,H],[-x/2,R/2,0],[Vt,Vt,0]),O([R,H],[x/2,R/2,0],[Vt,-Vt,0]),O([x,R],[0,R/2,-H/2]),E&&E.map((J,Z)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:J,name:"Heat Flux "+Z,lineWidth:P??Xm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:J[y.current].clone().add(new re(0,y.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:S.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},Z))]})},oG=(t,e,n,o=0,i=0)=>{const r=new Ml,a=t/2,l=e/2,s=Math.min(n,e,a);if(r.moveTo(o-a,i-l),r.lineTo(o+a,i-l),r.lineTo(o+a,i+l-s),s>.01){const c=s/2+t**2/(8*s),[u,d]=[o,i+l-c],f=Math.acos(Math.min(1,a/c)),p=Math.PI-f;r.absarc(u,d,c,f,p,!1)}else r.lineTo(o-a,i+l);return r.closePath(),r},hvt=be.memo(fvt),pvt=1,gvt=3,mvt=new sf({color:"white",side:ji}),yvt=new Qt(0,0,-Vt),Avt=be.memo(({dimension:t,polygonTop:e,frameData:n,shadowEnabled:o})=>{const[i,r,a]=t,[l,s]=e,{color:c,width:u,sillWidth:d}=n,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),[p,g]=[i/2,a/2],w=u/2/2,b=i+u*3,C=u,P=m.useMemo(()=>{const y=new re(p,-g),S=new re(p,g),x=new re(-p,g),R=new re(-p,-g),H=new re(l*i,s+g);return[y,S,H,x,R]},[p,g,l,s]),v=m.useMemo(()=>{const y=[];for(let R=1;R{const y=new Ml;for(let S=0;S=0;S--){const x=P[S];y.lineTo(x.x,x.y)}return y.closePath(),y},[P,v]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-w/2,0],children:[h.jsx($w,{position:[0,w/2,0],rotation:[Vt,0,0],args:[T,{steps:1,depth:w,bevelEnabled:!1}],children:f}),h.jsx(Ei,{position:[0,0,-a/2-(d===0?0:C/2)],args:d===0?[i+2*u,w,u]:[b,d??u,C],castShadow:o,receiveShadow:o,children:f})]})}),wvt=({id:t,dimension:e,polygonTop:n,position:o,glassMaterial:i,empty:r,interior:a,wireframeData:l,frameData:s,leftShutter:c,rightShutter:u,shutterColor:d,shutterWidth:f,area:p,showHeatFluxes:g,foundation:A})=>{const w=M.getState().world,b=M(X2),C=M(q9),P=M($9),v=Sn(vb),T=m.useRef(0),y=m.useRef(),[S,x,R]=o,[H,D,k]=e,[W,N,L]=e.map(Ce=>Ce/2),[E,U]=n,{lineWidth:F,lineColor:B,selected:_,locked:Y,opacity:O}=l,J=E*H,Z=Math.hypot(U,W-J),ie=Math.asin(U/Z),ee=Math.hypot(U,W+J),q=-Math.asin(U/ee),ae=M(ss),ne=(Ce,ve)=>{const Ie=.5*H,ze=.5*(k+n[1]),ye=n[1],oe=[{x:-Ie,y:-ze},{x:Ie,y:-ze},{x:Ie,y:ze-ye},{x:H*n[0],y:ze},{x:-Ie,y:ze-ye}];return xe.isPointInside(Ce,ve,oe)},se=m.useMemo(()=>{if(!g||a||A&&A.notBuilding)return;const Ce=v.get(t);if(!Ce)return;const ve=Ce.reduce((Te,De)=>Te+De,0);if(p===0)return;const Ie=K9*(w.solarRadiationHeatmapGridCellSize??.5),ze=k+n[1],ye=Math.max(2,Math.round(H/Ie)),oe=Math.max(2,Math.round(ze/Ie)),ge=H/ye,Ae=ze/oe,me=ve/p*(b??Gm);T.current=me<0?1:0,y.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(me)*Vt);const Pe=[],Me=n[1]/2;if(me<0)for(let Te=0;Tef*H,[H,f]),te=m.useMemo(()=>(le+s.width+H)/2*1.025,[H,le,s.width]),he=m.useMemo(()=>{const[Ce,ve]=[H/2,k/2],Ie=E*H;return iG(Ce,ve,Ie,U)},[H,k,E,U]),pe=m.useMemo(()=>_&&Y?new sf({color:l0}):new sf({color:B}),[B,_,Y]),fe=m.useMemo(()=>Y&&_?F/5:F/20,[F,_,Y]),$=m.useMemo(()=>Y&&_?-D/2:-x,[x,D,_,Y]),de=(Ce,ve=0)=>h.jsx(wa,{args:[fe,fe,Ce,gvt,pvt],position:[ve,$,0],rotation:[0,0,Vt],material:pe}),Se=(Ce,ve=0)=>h.jsx(sa,{args:[Ce,D],position:[ve,0,0],material:mvt,receiveShadow:ae,castShadow:ae});return h.jsxs(h.Fragment,{children:[!r&&h.jsxs("mesh",{name:"Triangle Glass Plane",position:[0,x,0],rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[he]}),i]}),s.showFrame&&h.jsx(Avt,{dimension:e,polygonTop:n,frameData:s,shadowEnabled:ae}),h.jsx(Aye,{cx:te,lx:le,lz:k,color:d,showLeft:c,showRight:u,spacing:s.showFrame?s.width/2:0}),h.jsxs("group",{position:[0,N,-L+.001],children:[Se(H),de(H)]}),h.jsxs("group",{position:[-W+.001,N,0],rotation:[0,Vt,0],children:[Se(k),de(k)]}),h.jsxs("group",{position:[W-.001,N,0],rotation:[0,-Vt,0],children:[Se(k),de(k)]}),h.jsxs("group",{position:[-W+.001,N,L-.01],rotation:[0,q,0],children:[Se(ee,ee/2),de(ee,ee/2)]}),h.jsxs("group",{position:[W-.001,N,L-.01],rotation:[0,ie,0],children:[Se(Z,-Z/2),de(Z,-Z/2)]}),se&&se.map((Ce,ve)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:Ce,name:"Heat Flux "+ve,lineWidth:P??Xm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:Ce[T.current].clone().add(new re(0,T.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:y.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},ve))]})},iG=(t,e,n,o,i=0,r=0)=>{const a=new Ml;return a.moveTo(i-t,r-e),a.lineTo(i+t,r-e),a.lineTo(i+t,r+e),a.lineTo(i+n,r+e+o),a.lineTo(i-t,r+e),a.closePath(),a},vvt=be.memo(wvt),xvt=({id:t,index:e,foundationModel:n,roofType:o,segment:i,centroid:r,thickness:a,color:l,sideColor:s,texture:c,heatmap:u,windows:d})=>{const f=M(Q9),p=ht(i3),g=M(X2),A=M(q9),w=M($9),b=Sn($L),{transparent:C,opacity:P}=eQ(),v=m.useRef(0),T=m.useRef(),y=m.useRef(),S=M.getState().world,x=Sn.getState().hourlyHeatExchangeArrayMap,{points:R}=i,H=m.useMemo(()=>{if(!p)return;const k=b(t);if(!k)return;const W=[],N=new re(0,0,a+.1);switch(o){case Vo.Hip:case Vo.Pyramid:for(const L of k){const E=[];E.push(L[0].clone().sub(r).add(N)),E.push(L[1].clone().sub(r).add(N)),W.push(E)}break;case Vo.Mansard:for(const[L,E]of k.entries()){if(L===k.length-1)continue;const U=[];U.push(E[0].clone().sub(r).add(N)),U.push(E[1].clone().sub(r).add(N)),W.push(U)}break;case Vo.Gambrel:for(const[L,E]of k.entries()){if(L===0||L===3){const F=[];F.push(E[0].clone().sub(r).add(N)),F.push(E[1].clone().sub(r).add(N)),W.push(F)}let U=[];U.push(E[0].clone().sub(r).add(N)),U.push(E[3].clone().sub(r).add(N)),W.push(U),U=[],U.push(E[1].clone().sub(r).add(N)),U.push(E[2].clone().sub(r).add(N)),W.push(U)}break}return W},[p]),D=m.useMemo(()=>{if(!p||n&&n.notBuilding)return;const k=x.get(t+"-"+e);if(!k)return;const W=k.reduce((ge,Ae)=>ge+Ae,0),N=b(t);if(!N||!N[e])return;const[L,E,U,F,B]=R,_=B.z-L.z,Y=N[e].map(ge=>ge.clone().sub(r).add(new re(0,0,_)));if(!Y)return;const O=[];for(const ge of Y)O.push({x:ge.x,y:ge.y});const J=K9*(S.solarRadiationHeatmapGridCellSize??.5),Z=Y[0].clone(),ie=Y[1].clone(),ee=Y[2].clone(),q=new re().subVectors(ie,Z),ae=new re().subVectors(ee,Z),ne=new re().subVectors(ee,ie),se=q.length(),le=new re().crossVectors(ae,ne).length()/se,te=Math.max(2,Math.floor(se/J)),he=Math.max(2,Math.floor(le/J));q.normalize(),ae.normalize(),ne.normalize();const pe=new re().crossVectors(ae,ne).normalize(),fe=q.multiplyScalar(.5*se/te),$=new re().crossVectors(pe,q).normalize().multiplyScalar(.5*le/he),de=Z.clone().add(fe).add($);fe.multiplyScalar(2),$.multiplyScalar(2),T.current=pe.clone().multiplyScalar(.1);const Se=[],Ce=new re;let ve=Y.length===4?xe.getTriangleArea(Y[0],Y[1],Y[2])+xe.getTriangleArea(Y[2],Y[3],Y[0]):xe.getTriangleArea(Y[0],Y[1],Y[2]);if(ve===0)return;let Ie=f(z.Window,t);const ze=b(t);if(ze&&ze[e]&&(Ie=Ie.filter(ge=>{const Ae=ge,me=Ae.cy+(Ae.windowType===Sr.Polygonal&&Ae.polygonTop?Ae.polygonTop[1]/2:0);return In.onSegment(ze[e],ge.cx,me)})),Ie&&Ie.length>0)for(const ge of Ie)ve-=xe.getWindowArea(ge);const ye=W/ve*(g??Gm);v.current=ye<0?1:0,y.current=xe.getEuler(Po,pe,"YXZ",-Math.sign(ye)*Vt);let oe;for(let ge=0;ge0){const Pe=Ce.x+r.x,Me=Ce.y+r.y;for(const Te of Ie){const De=In.getRelativeWindowVerticesOnRoof(Te),Ue=xe.getPoints(De);if(xe.isPointInside(Pe,Me,Ue)){oe=!1;break}}}if(oe&&xe.isPointInside(Ce.x,Ce.y,O)){const Pe=[];ye<0?(Pe.push(Ce.clone()),Pe.push(Ce.clone().add(pe.clone().multiplyScalar(-ye)))):(Pe.push(Ce.clone()),Pe.push(Ce.clone().add(pe.clone().multiplyScalar(ye)))),Se.push(Pe)}}}return Se},[p,g]);return h.jsxs(h.Fragment,{children:[h.jsx(yYe,{id:t,index:e,segment:i,color:l,sideColor:s,texture:c,heatmap:u,transparent:C,opacity:P,windows:d,centroid:r}),H&&H.map((k,W)=>h.jsx(Fn,{points:k,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+W},W)),D&&D.map((k,W)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:k,name:"Heat Flux "+W,lineWidth:w??Xm,color:A??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:T.current?k[v.current].clone().add(T.current):k[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head "+W,rotation:y.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:A??g0})})]},W))]})},yYe=be.memo(({id:t,index:e,segment:n,color:o,sideColor:i,texture:r,heatmap:a,transparent:l,opacity:s,windows:c,centroid:u})=>{const d=ht(cs),f=m.useRef(null),{points:p}=n,g=d?a:r,A=p.length===6,w=p.length===8,b=m.useMemo(()=>c.map(R=>{const H=new re(R.lx,R.lz,R.ly*2),D=new re(R.cx,R.cy,R.cz).sub(u),k=new Qt().fromArray([R.rotation[0],R.rotation[1],R.rotation[2],"ZXY"]);if(R.windowType===Sr.Polygonal){const[W,N]=R.polygonTop??jp,[L,E,U]=[H.x/2,H.y/2,W*H.x],F=iG(L,E,U,N),B=new es(new H9([F],{steps:1,depth:H.z,bevelEnabled:!1})),_=new re(0,0,-H.z).applyEuler(k);return B.position.copy(D.clone().add(_)),B.rotation.copy(k),B.updateMatrix(),B}else if(R.windowType===Sr.Arched){const W=oG(H.x,H.y,R.archHeight),N=new es(new H9([W],{steps:1,depth:H.z,bevelEnabled:!1})),L=new re(0,0,-H.z).applyEuler(k);return N.position.copy(D.clone().add(L)),N.rotation.copy(k),N.updateMatrix(),N}else{const W=new es(new X9(H.x,H.y,H.z));return W.position.copy(D),W.rotation.copy(k),W.updateMatrix(),W}}),[c,u]),C=v()??6,P=m.useMemo(()=>Array(C).fill(0),[C]);if(m.useEffect(()=>{v()},[]),!A&&!w)return null;function v(){if(!f.current||!A&&!w)return;const R=f.current.geometry;R.index=null,R.clearGroups();const H=[],D=[];let k=0,W=0;if(A){const B=p.slice(p.length/2);N(B),d?E():L(B),U(3);const _=p.slice(0,p.length/2).reverse();N(_),D.push(0,0,1,0,0,1),U(3),F([[0,1,4,3],[1,2,5,4],[2,0,3,5]])}else if(w){const B=p.slice(p.length/2),[_,Y]=T(B);N(_),N(Y);const[O,J,Z,ie]=B,ee=_[2].equals(ie);if(d)E(ee);else{const se=new re().subVectors(J,O),le=new re().subVectors(Z,O),te=new re().subVectors(ie,O),pe=new Gt(J.x-O.x,J.y-O.y).length(),fe=pe,$=0,de=se.dot(le)/pe,Se=se.clone().cross(le).length()/pe,Ce=se.dot(te)/pe,ve=se.clone().cross(te).length()/pe;ee?(D.push(0,0,fe,$,Ce,ve),D.push(fe,$,de,Se,Ce,ve)):(D.push(0,0,fe,$,de,Se),D.push(0,0,de,Se,Ce,ve))}U(6);const q=p.slice(0,p.length/2),[ae,ne]=T(q);N(ae.reverse()),N(ne.reverse()),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),U(6),F([[0,1,5,4],[1,2,6,5],[2,3,7,6],[3,0,4,7]])}else throw new Error("segment is neither quad nor tri");if(R.setAttribute("position",new hi(H,3)),R.setAttribute("uv",new hi(D,2)),R.computeVertexNormals(),R.computeBoundingSphere(),c.length>0){const B=[];for(let Y=0;Yq.concat(p[ae].x,p[ae].y,p[ae].z),[]),ee=[Z,O,J].reduce((q,ae)=>q.concat(p[ae].x,p[ae].y,p[ae].z),[]);H.push(...ie),H.push(...ee),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),U(6)}}}function T(R){const[H,D,k,W]=R,N=xe.distanceFromPointToLine2D(W,H,D),L=xe.distanceFromPointToLine2D(k,H,D),E=[],U=[];return Math.abs(N-L)<.01?H.z>D.z?(E.push(H,D,k),U.push(H,k,W)):(E.push(H,D,W),U.push(D,k,W)):N<=L?(E.push(H,D,W),U.push(D,k,W)):(E.push(H,D,k),U.push(H,k,W)),[E,U]}const y=({i:R})=>h.jsx("meshBasicMaterial",{attach:`material-${R}`,map:g,transparent:l,opacity:s}),S=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:o,map:g,transparent:l,opacity:s}),x=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:i,transparent:l,opacity:s});return h.jsx("mesh",{ref:f,name:`Buffer Roof Segment ${e}`,uuid:t+"-"+e,userData:{simulation:!0},receiveShadow:!d,castShadow:!0,frustumCulled:!1,children:P.map((R,H)=>H!==0?h.jsx(x,{i:H},"side"+H):d?h.jsx(y,{i:H},"heatmap"+H):h.jsx(S,{i:H},"texture"+H))})}),Fq=be.memo(xvt),bvt=({cz:t,points:e})=>{const n=new Ml;n.moveTo(e[0].x,e[0].y);for(const{x:o,y:i}of e)n.lineTo(o,i);return n.closePath(),h.jsx($w,{scale:.99,position:[0,0,t],args:[n,{steps:1,depth:.1,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{side:ji,color:"white"})})},dW=be.memo(bvt);function a3(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const o of t)if(!e.has(o))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o=0;oM(e=>e.selectedElementIdSet.has(t)&&!e.groupActionMode),Kt=()=>{const t=M(Sc);return m.useMemo(()=>({lng:t}),[t])},l1=t=>M.getState().getWeather(t??"Boston MA, USA"),Kwe=new re,qwe=new Qt,$j=new re,Svt=new re(0,0,1),Tvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e);for(let l=0;l{const[c,u,d]=l.points,f=Math.abs(c.z)<.015,p=[c.clone().sub(r),c];return f||p.push(d),h.jsx(Fn,{points:p,lineWidth:n,color:o},s)})]})]})}),Pvt=({roofModel:t,foundationModel:e})=>{let{cx:n,cy:o,lz:i,id:r,wallsId:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineWidth:f=.2,lineColor:p="black",roofType:g,foundationId:A,rise:w=i,ceiling:b=!1}=t;const C=jH(l),P=Hs(r);[p,f]=In.getWireframetStyle(p,f,P,d);const v=M(dn),T=M(hp),{camera:y,gl:S}=Xi(),x=m.useMemo(()=>new Gs,[]),R=m.useMemo(()=>new Gt,[]),[H,D]=m.useState(!1),k=m.useRef(null),W=m.useRef(!1),N=m.useRef(w),L=new Set(a),E=Me=>{R.x=Me.offsetX/S.domElement.clientWidth*2-1,R.y=-(Me.offsetY/S.domElement.clientHeight)*2+1,x.setFromCamera(R,y)},U=Me=>{const Te=[],De=Me.length;for(const Ue of Me)Ue.leftPoint[0]!==void 0&&Ue.leftPoint[1]!==void 0&&Te.push({x:Ue.leftPoint[0],y:Ue.leftPoint[1]});return Y.current||(Me[De-1].rightPoint[0]||Me[De-1].rightPoint[0]===0)&&(Me[De-1].rightPoint[1]||Me[De-1].rightPoint[1]===0)&&Te.push({x:Me[De-1].rightPoint[0],y:Me[De-1].rightPoint[1]}),Te},F=(Me,Te)=>{if(Me.length!==Te.size)return!0;for(const De of Me)if(!Te.has(De.id))return!0;return!1},B=()=>{let Me=1/0;for(let Te=0;Te<_.length;Te++){const De=_[Te],Ue=new re(De.leftPoint[0],De.leftPoint[1]),Oe=new re(De.rightPoint[0],De.rightPoint[1]),Le=In.getDistance(Ue,Oe,ie),$e=Math.min((De.eavesLength??0)/Le*(ie.z-De.lz),De.lz),We=In.getDistance(Ue,Oe,ie),Ee=Math.min((De.eavesLength??0)/We*(ie.z-De.lz),De.lz);Me=Math.min(Math.min($e,Ee),Me)}return Number.isNaN(Me)?0:Me},{currentWallArray:_,isLoopRef:Y}=tqe(A,r,a),{highestWallHeight:O,topZ:J}=nqe(_,w);qW(t,O);const Z=m.useMemo(()=>{if(_.length<2)return{x:0,y:0};const Me=U(_);if(Me.length<3)return{x:0,y:0};const Te=xe.calculatePolygonCentroid(Me);return Number.isNaN(Te.x)||Number.isNaN(Te.y)?{x:0,y:0}:Te},[_,J]),ie=m.useMemo(()=>new re(Z.x,Z.y,J),[Z,J]),ee=m.useMemo(()=>{const Me=_.map(Te=>In.getWallNormal(Te).multiplyScalar(Te.eavesLength??0));if(!Y.current&&Me.length!==0){const Te=new re().subVectors(new re(_[_.length-1].rightPoint[0],_[_.length-1].rightPoint[1]),new re(_[0].leftPoint[0],_[0].leftPoint[1])).applyEuler(eG).normalize().multiplyScalar(.3);Me.push(Te)}return Me},[_]),q=m.useMemo(()=>{const Me=_.map((Te,De)=>({leftPoint:new re(Te.leftPoint[0],Te.leftPoint[1]).add(ee[De]),rightPoint:new re(Te.rightPoint[0],Te.rightPoint[1]).add(ee[De])}));return!Y.current&&Me.length!==0&&Me.push({leftPoint:new re(_[_.length-1].rightPoint[0],_[_.length-1].rightPoint[1]).add(ee[ee.length-1]),rightPoint:new re(_[0].leftPoint[0],_[0].leftPoint[1]).add(ee[ee.length-1])}),Me},[_,ee]),ae=m.useMemo(()=>Svt.clone().multiplyScalar(u),[u]),ne=m.useMemo(()=>{const Me=[];if(_.length<2)return Me;const Te=B();for(let De=0;De<_.length;De++){const Ue=_[De];if(Ue.leftPoint.length>0&&Ue.rightPoint.length>0&&(Ue.leftPoint[0]!==Ue.rightPoint[0]||Ue.leftPoint[1]!==Ue.rightPoint[1])){const Oe=[];let{lh:Le,rh:$e}=In.getWallHeight(_,De);Y.current||(De===0&&(Le=_[0].lz),De===_.length-1&&($e=_[_.length-1].lz));const We=In.getIntersectionPoint(q[(De+q.length-1)%q.length].leftPoint,q[(De+q.length-1)%q.length].rightPoint,q[De].leftPoint,q[De].rightPoint).setZ(Le-Te).sub(ie),Ee=In.getIntersectionPoint(q[De].leftPoint,q[De].rightPoint,q[(De+1)%q.length].leftPoint,q[(De+1)%q.length].rightPoint).setZ($e-Te).sub(ie),Fe=new re(Ue.cx,Ue.cy).sub(ie.clone().setZ(0)).length();Oe.push(We,Ee,$j),Oe.push(We.clone().add(ae),Ee.clone().add(ae),$j.clone().add(ae)),Me.push({points:Oe,angle:-Ue.relativeAngle,length:Fe})}}if(!Y.current){const De=q.length-1,Ue=In.getIntersectionPoint(q[De-1].leftPoint,q[De-1].rightPoint,q[De].leftPoint,q[De].rightPoint).setZ(_[_.length-1].lz-Te).sub(ie),Oe=In.getIntersectionPoint(q[De].leftPoint,q[De].rightPoint,q[0].leftPoint,q[0].rightPoint).setZ(_[0].lz-Te).sub(ie);let Le=Math.atan2(Oe.y-Ue.y,Oe.x-Ue.x);Le=Le>=0?Le:(na+Le)%na;const $e=new re().addVectors(Ue,Oe).setZ(0).divideScalar(2).length(),We=[];We.push(Ue,Oe,$j),We.push(Ue.clone().add(ae),Oe.clone().add(ae),$j.clone().add(ae)),Me.push({points:We,angle:-Le,length:$e})}return Me},[_,Z,u]),se=m.useMemo(()=>{const Me=[];if(_.length===0)return Me;Me.push(new re().fromArray(_[0].leftPoint));for(const Te of _)Me.push(new re().fromArray(Te.rightPoint));return Me},[_]);let le=0;if(e){n=e.cx,o=e.cy,le=e.rotation[2];const Me=-Math.atan2(y.position.x-n,y.position.y-o)-le;Kwe.set(Z.x,Z.y,J),qwe.set(-Vt,0,Me,"ZXY")}const te=tQ();m.useEffect(()=>{if(te)return;if(M.getState().addedRoofIdSet.has(r)&&_.length>=2&&F(_,L)){const Te=_.map(Ue=>Ue.id),De=new Set(Te);v(Ue=>{for(const Oe of Ue.elements)if(Oe.type===z.Roof)Oe.id===r&&(Oe.wallsId=Te);else if(Oe.type===z.Wall&&L.has(Oe.id)&&!De.has(Oe.id)){const Le=Oe;Le.roofId=null,Le.leftRoofHeight=void 0,Le.rightRoofHeight=void 0}}),M.getState().deleteAddedRoofId(r)}},[L]),m.useEffect(()=>{if(_.length>1){if(M.getState().addedRoofIdSet.has(r)){for(let Te=0;Te<_.length;Te++)v(De=>{for(const Ue of De.elements)if(Ue.id===_[Te].id&&Ue.type===z.Wall){const Oe=Ue;Oe.roofId=r,Oe.leftRoofHeight=void 0,Oe.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(r)}}else T(r,!1,!1,!0)},[_]),uye(e,r,ne,ie,J,u);const he=()=>{if(_.length<2)return!1;const Me=_[0].lz;for(const Te of _)if(Math.abs(Te.lz-Me)>.01)return!1;for(const Te of ne){const[De,Ue]=Te.points;if(Math.abs(De.z)>.01||Math.abs(Ue.z)>.01)return!1}return!0},[pe,fe]=m.useState(he);m.useEffect(()=>{fe(he())},[_,J]);const $=ht(cs),de=M(wf),Se=Sn(i1),[Ce,ve]=m.useState([]),[Ie,ze]=m.useState(null),ye=M(Vc),oe=JW(r,ie,ne,pe,Vo.Pyramid);m.useEffect(()=>{if($)if(pe){const Me=Se(r);if(Me){const Te=xe.fetchHeatmapTexture(Me,de??5);if(Te){const De=oe();if(De&&De.length>0&&e){const Ue=new Qt(0,0,e.rotation[2],"ZYX");let Oe=Number.MAX_VALUE,Le=Number.MAX_VALUE,$e=-Number.MAX_VALUE,We=-Number.MAX_VALUE;for(const xt of De)for(const dt of xt){const Qe=dt.clone().applyEuler(Ue);Qe.x>$e&&($e=Qe.x),Qe.xWe&&(We=Qe.y),Qe.y0){const Te=[];if(oe()){for(let Ue=0;Ue{const Me=[];for(let Te=0;Te<_.length;Te++){const De=_[Te];if(De.leftPoint.length>0&&De.rightPoint.length>0&&(De.leftPoint[0]!==De.rightPoint[0]||De.leftPoint[1]!==De.rightPoint[1])){let{lh:Ue,rh:Oe}=In.getWallHeight(_,Te);Y.current||(Te===0&&(Ue=_[0].lz),Te===_.length-1&&(Oe=_[_.length-1].lz));const Le=new re(De.leftPoint[0],De.leftPoint[1],Ue),$e=new re(De.rightPoint[0],De.rightPoint[1],Oe);Me.push([Le,$e,ie.clone()])}}if(!Y.current){const Te=_[0],De=_[_.length-1],Ue=new re(De.rightPoint[0],De.rightPoint[1],De.lz),Oe=new re(Te.leftPoint[0],Te.leftPoint[1],Te.lz);Me.push([Ue,Oe,ie.clone()])}if(pe){const Te=[];for(const De of Me)Te.push(De[0].clone());Sn.getState().setRoofSegmentVerticesWithoutOverhang(r,[Te])}else Sn.getState().setRoofSegmentVerticesWithoutOverhang(r,Me)});const Ae=M(Me=>Me.elements.filter(Te=>Te.parentId===r&&Te.type===z.Window),a3),me=$W(r,e,ie,ne),Pe=l===Ui.Default||l===Ui.NoTexture?s:"white";return h.jsxs("group",{name:`Pyramid Roof Group ${r}`,children:[h.jsx("group",{name:`Pyramid Roof Segments Group ${r}`,userData:me,position:[Z.x,Z.y,J],onPointerDown:Me=>{VW(Me,e.id,r,ne,ie)},onPointerMove:Me=>{XW(Me,r)},onPointerUp:Me=>{GW(Me,t)},onContextMenu:Me=>{dR(Me,r)},children:pe?h.jsx(nQ,{id:r,foundationModel:e,roofType:g,roofSegments:ne,center:ie,thickness:u,lineWidth:f,lineColor:p,sideColor:c,color:Pe,textureType:l,heatmap:Ie}):h.jsxs(h.Fragment,{children:[ne.map((Me,Te)=>{const{points:De}=Me;if(De.length>0){const[Ue,Oe]=De;if(Ue.distanceTo(Oe)>.1)return h.jsx("group",{name:`Roof segment ${Te}`,children:h.jsx(Fq,{id:r,index:Te,foundationModel:e,roofType:g,segment:Me,centroid:ie,thickness:u,color:Pe,sideColor:c,texture:C,heatmap:Ce&&Te0&&h.jsx(dW,{points:se,cz:_[0].lz}),P&&!d&&h.jsx(Qf,{position:[Z.x,Z.y,J+u+.15],onPointerDown:Me=>{ye(t.id,Me,zo.Select),D(!0),Ln.getState().setEnableOrbitController(!1),W.current=!0,N.current=w,v(Te=>{Te.resizeHandleType=gt.Top,Te.selectedElementHeight=J+t.thickness})},onPointerUp:()=>{D(!1),Ln.getState().setEnableOrbitController(!0)},onPointerOver:()=>{v(Me=>{Me.hoveredHandle=ki.Top,Me.selectedElementHeight=J+t.thickness,Me.selectedElementX=Z.x,Me.selectedElementY=Z.y})}}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:k,args:[1e3,100],visible:!1,rotation:qwe,position:Kwe,onPointerMove:Me=>{if(k.current&&W.current&&e){E(Me);const Te=x.intersectObjects([k.current]);if(Te[0]){const De=Te[0].point;if(De.z<.001)return;const Ue=Math.max(0,De.z-e.lz-.3-O);M.getState().updateRoofRiseById(r,Ue,J+t.thickness)}}},onPointerUp:Me=>{_W(r,N.current,w),D(!1),Ln.getState().setEnableOrbitController(!0),W.current=!1}})]})},Cvt=be.memo(Pvt,BH),Rvt=(t,e,n)=>{const{left:o,right:i,center:r,centerLeft:a,centerRight:l}=n,[s,c]=[t/2,e/2],u=[{x:-s,y:o-c},{x:-s,y:-c},{x:s,y:-c},{x:s,y:i-c}];if(l){const[d,f]=l;u.push({x:d*t,y:f-c})}if(r){const[d,f]=r;u.push({x:d*t,y:f-c})}if(a){const[d,f]=a;u.push({x:d*t,y:f-c})}return u},K5=(t,e)=>{for(const n of M.getState().elements)if(n.type===z.Wall&&n.foundationId===e&&t.has(n.id)){const o=t.get(n.id);if(o){const i=n,r=Rvt(i.lx,i.lz,o);for(const a of M.getState().elements)if(a.parentId===i.id){let{cx:l,cz:s,lx:c,ly:u,lz:d}=a;if(l*=i.lx,s*=i.lz,a.type!==z.SolarPanel?(c*=i.lx,d*=i.lz):d=u,a.type===z.Window&&a.windowType===Sr.Polygonal){const[f,p]=a.polygonTop??jp,g=l+f*c,A=s+d/2+p;if(!xe.isPointInside(g,A,r))return!1}if(!xe.isElementInsideWall(new re(l,0,s),c,d,r,a.type===z.Door))return!1}}}return!0},Hvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e),a=t[0].points,l=t[1].points,s=t[2].points,c=t[3].points;i.push(l[3],l[0],a[0],a[1],a[2],l[2],s[0],c[0],c[1],s[1],l[3]);const u=Math.abs(a[0].z)<.15,d=h.jsx(Fn,{points:i,lineWidth:n,color:o}),f=h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[l[0],l[1]],lineWidth:n,color:o}),h.jsx(Fn,{points:[l[2],l[3]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s[2],s[3]],lineWidth:n,color:o})]});return h.jsxs(h.Fragment,{children:[d,!u&&f,h.jsxs("group",{position:[0,0,e],children:[d,!u&&f]}),h.jsx(Fn,{points:[a[0],a[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[a[1],a[1].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[0],c[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[1],c[1].clone().add(r)],lineWidth:n,color:o})]})}),tie=new re,nie=new Qt,$we=new Gt,Mvt=new re(0,0,1),Ivt=({roofModel:t,foundationModel:e})=>{let{id:n,cx:o,cy:i,lz:r,wallsId:a,parentId:l,topRidgeLeftPoint:s,frontRidgeLeftPoint:c,backRidgeLeftPoint:u,topRidgePoint:d,frontRidgePoint:f,backRidgePoint:p,textureType:g,color:A="white",sideColor:w="white",thickness:b=.2,locked:C,lineColor:P="black",lineWidth:v=.2,roofType:T,rise:y=r,ceiling:S=!1}=t;d===void 0&&(d=s?[...s]:[0,1]),f===void 0&&(f=c?[...c]:[.35,.5]),p===void 0&&(p=u?[...u]:[.35,.5]);const x=Hs(n);[P,v]=In.getWireframetStyle(P,v,x,C);const R=M(dn),H=M(hp),D=jH(g),[k,W]=m.useState(ki.Null),[N,L]=m.useState(!1),E=m.useRef(null),{gl:U,camera:F}=Xi(),B=m.useMemo(()=>new Gs,[]),_=m.useMemo(()=>new Gt,[]),Y=m.useRef([0,0]),O=m.useRef(y),J=m.useRef(!1),Z=y<.01,ie=(et,_e,nt)=>{R(yt=>{for(const Tt of yt.elements)if(Tt.id===et&&Tt.type===z.Roof&&Tt.roofType===Vo.Gambrel){const Rt=Tt;switch(_e){case ki.FrontLeft:case ki.FrontRight:Rt.frontRidgePoint=[...nt];break;case ki.TopLeft:case ki.TopRight:Rt.topRidgePoint=[...nt];break;case ki.BackLeft:case ki.BackRight:Rt.backRidgePoint=[...nt];break}break}})},ee=(et,_e,nt,yt)=>{const Tt={name:"Resize Gambrel Roof Ridge",timestamp:Date.now(),resizedElementId:et,resizedElementType:z.Roof,oldVal:[...nt],newVal:[...yt],type:_e,undo:()=>{ie(Tt.resizedElementId,Tt.type,Tt.oldVal)},redo:()=>{ie(Tt.resizedElementId,Tt.type,Tt.newVal)}};M.getState().addUndoable(Tt)},q=et=>{_.x=et.offsetX/U.domElement.clientWidth*2-1,_.y=-(et.offsetY/U.domElement.clientHeight)*2+1,B.setFromCamera(_,F)},ae=(et,_e)=>{L(!0),Ln.getState().setEnableOrbitController(!1),tie.set(et.x,et.y,et.z).add(ye),e&&_e&&nie.set(Vt,0,_e.relativeAngle,"ZXY")},ne=(et,_e,nt)=>{const yt=new Gt(et.cx,et.cy),Tt=In.getComposedWallCenter(_e),Rt=In.getComposedWallLength(_e),Wt=new Gt(Tt.x,Tt.y).rotateAround($we,et.rotation[2]).add(yt),Ct=et.rotation[2]+_e.relativeAngle,Ft=new Gt(nt.x,nt.y).sub(Wt).rotateAround($we,-Ct).x/Rt;return Math.min(Math.abs(Ft),.5)*(Ft>=0?1:-1)},se=(et,_e,nt,yt)=>{if(!et)return new re;const Tt=In.getComposedWallLength(et),Rt=new Qt(0,0,et.relativeAngle),Wt=new re(_e*Tt,0,0);let Ct=ze;yt&&(Ct=nt*(ze-yt.lz)+yt.lz);const At=In.getComposedWallCenter(et);return new re(At.x,At.y,Ct).add(Wt.applyEuler(Rt))},le=(et,_e)=>{const nt=et[_e];let yt,Tt;return _e===0||_e===2?(yt=nt.lz,Tt=nt.lz):_e===1?(yt=et[0].lz,Tt=et[2].lz):(yt=et[2].lz,Tt=et[0].lz),{lh:yt,rh:Tt}},te=et=>et.id===n&&et.type===z.Roof&&et.roofType===Vo.Gambrel,he=(et,_e)=>{const nt=_e.x-et.x,Tt=(_e.y-et.y)/nt,Rt=et.y-Tt*et.x;return{start:et.x,end:_e.x,k:Tt,b:Rt}},pe=(et,_e,nt,yt,Tt,Rt,Wt,Ct)=>{const At=et[_e],{lh:Ft,rh:Ke}=le(et,_e),Je=new re().subVectors(At.leftPoint,At.rightPoint).length(),ct=Je/2,Pt=st=>st*Je+ct,Ne=(st,je)=>st*(nt-je)+je,lt=[new Gt(Pt(-Rt[0]),Ne(Rt[1],yt)),new Gt(Pt(Wt[0]),nt),new Gt(Pt(Ct[0]),Ne(Ct[1],Tt)),new Gt(Je,Ke)];return lt.map((st,je)=>{const mt=je===0?new Gt(0,Ft):lt[je-1];return he(mt,st)})},fe=(et,_e)=>{for(const nt of et){const{start:yt,end:Tt,k:Rt,b:Wt}=nt;if(_e>=yt&&_e<=Tt)return Rt*_e+Wt}return null},$=et=>{const _e=new Set;for(const nt of et)nt.wallsId.forEach(yt=>_e.add(yt));R(nt=>{for(const yt of nt.elements)if(yt.type===z.Wall&&yt.foundationId===l&&_e.has(yt.id)){const Tt=yt;Tt.leftRoofHeight=ze,Tt.rightRoofHeight=ze,Tt.centerLeftRoofHeight=void 0,Tt.centerRightRoofHeight=void 0,Tt.centerRoofHeight=void 0}})},de=(et,_e,nt,yt,Tt,Rt,Wt)=>{if(nt!==1&&nt!==3)return;const Ct=nt===3,{lh:At,rh:Ft}=le(_e,nt),Ke=Ct?Wt:Tt,Je=Ct?Tt:Wt,ct=Ct?Rt:[-Rt[0],Rt[1]],Pt=pe(_e,nt,yt,At,Ft,Ke,ct,Je),Ne=Pt.slice(1).map(st=>st.start),lt=_e[nt],Ye=lt.wallsId.reduce((st,je)=>{const mt=M.getState().elements.find(Ht=>Ht.id===je);return mt?[...st,mt.lx+st[st.length-1]]:st},[0]);for(let st=0;st=mt&&fn<=Ht){const rn=(fn-zt)/Et,bn=fe(Pt,fn);bn!==null&&(Xt===0?ln.centerLeft=[rn,bn]:Xt===1?ln.center=[rn,bn]:Xt===2&&(ln.centerRight=[rn,bn]))}}et.set(je,ln)}}return et},Se=(et,_e,nt,yt,Tt)=>{const Rt=new Map;return de(Rt,et,1,_e,nt,yt,Tt),de(Rt,et,3,_e,nt,yt,Tt),Rt},Ce=(et,_e,nt,yt,Tt)=>{const Rt=new Set(et[0].wallsId),Wt=new Set(et[2].wallsId),Ct=Se(et,_e,nt,yt,Tt);R(At=>{for(const Ft of At.elements)if(Ft.type===z.Wall&&Ft.foundationId===l){if(Rt.has(Ft.id)){const Ke=Ft,{lh:Je,rh:ct}=le(et,0);Ke.roofId=n,Ke.leftRoofHeight=Je,Ke.rightRoofHeight=ct}else if(Wt.has(Ft.id)){const Ke=Ft,{lh:Je,rh:ct}=le(et,2);Ke.roofId=n,Ke.leftRoofHeight=Je,Ke.rightRoofHeight=ct}else if(Ct.has(Ft.id)){const Ke=Ct.get(Ft.id);if(Ke){const Je=Ft,{left:ct,right:Pt,center:Ne,centerLeft:lt,centerRight:Ye}=Ke;if(Je.roofId=n,Je.leftRoofHeight=ct,Je.rightRoofHeight=Pt,lt){const[st,je]=lt;Je.centerLeftRoofHeight?(Je.centerLeftRoofHeight[0]=st,Je.centerLeftRoofHeight[1]=je):Je.centerLeftRoofHeight=[st,je]}else Je.centerLeftRoofHeight=void 0;if(Ne){const[st,je]=Ne;Je.centerRoofHeight?(Je.centerRoofHeight[0]=st,Je.centerRoofHeight[1]=je):Je.centerRoofHeight=[st,je]}else Je.centerRoofHeight=void 0;if(Ye){const[st,je]=Ye;Je.centerRightRoofHeight?(Je.centerRightRoofHeight[0]=st,Je.centerRightRoofHeight[1]=je):Je.centerRightRoofHeight=[st,je]}else Je.centerRightRoofHeight=void 0}}}})},ve=lye(a[0],l),{highestWallHeight:Ie,topZ:ze}=sye(ve,y,!0);qW(t,Ie);const ye=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve.map(nt=>({x:nt.leftPoint.x,y:nt.leftPoint.y})),_e=xe.calculatePolygonCentroid(et);return new re(_e.x,_e.y,ze)},[ve,ze]),oe=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[3],[_e,nt]=d;return se(et,_e,nt).sub(ye)},[ve,ye,d]),ge=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[1],[_e,nt]=d;return se(et,-_e,nt).sub(ye)},[ve,ye,d]),Ae=m.useMemo(()=>new re().addVectors(oe,ge).divideScalar(2),[oe,ge]),me=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[3],[_e,nt]=f;return se(et,_e,nt,ve[0]).sub(ye)},[ve,ye,f]),Pe=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[1],[_e,nt]=f;return se(et,-_e,nt,ve[0]).sub(ye)},[ve,ye,f]),Me=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[1],[_e,nt]=p;return se(et,_e,nt,ve[2]).sub(ye)},[ve,ye,p]),Te=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[3],[_e,nt]=p;return se(et,-_e,nt,ve[2]).sub(ye)},[ve,ye,p]),De=m.useMemo(()=>!ve||ve.length!==4?[]:ve.map(et=>In.getComposedWallNormal(et).multiplyScalar(et.eavesLength)),[ve]),Ue=m.useMemo(()=>Mvt.clone().multiplyScalar(b),[b]),Oe=m.useMemo(()=>{const et=[];if(!ve||ve.length!==4)return et;const[_e,nt,yt,Tt]=ve,[Rt,Wt,Ct,At]=De,Ft=_e.leftPoint,Ke=_e.rightPoint,Je=yt.leftPoint,ct=yt.rightPoint,Pt=Ft.clone().add(Rt),Ne=Ke.clone().add(Rt),lt=ct.clone().add(At),Ye=Ft.clone().add(At),st=Ke.clone().add(Wt),je=Je.clone().add(Wt),mt=Je.clone().add(Ct),Ht=ct.clone().add(Ct),wt=[],{lh:It,rh:Et}=le(ve,0),zt=In.getDistance(Ft,Ke,me.clone().add(ye)),ln=Math.min((_e.eavesLength??0)/zt*(me.clone().add(ye).z-It),It),Xt=In.getDistance(Ft,Ke,Pe.clone().add(ye)),fn=Math.min((_e.eavesLength??0)/Xt*(Pe.clone().add(ye).z-Et),Et),rn=In.getIntersectionPoint(lt,Ye,Pt,Ne).setZ(It-ln).sub(ye),bn=In.getIntersectionPoint(Pt,Ne,st,je).setZ(Et-fn).sub(ye),Tn=In.getIntersectionPoint(me,Pe,lt.clone().sub(ye),Ye.clone().sub(ye)).setZ(me.z),Un=In.getIntersectionPoint(Pe,me,st.clone().sub(ye),je.clone().sub(ye)).setZ(Pe.z);wt.push(rn,bn,Un,Tn),wt.push(rn.clone().add(Ue),bn.clone().add(Ue),Un.clone().add(Ue),Tn.clone().add(Ue));const Ai=In.getComposedWallCenter(_e),vo=-_e.relativeAngle,Oo=new re(Ai.x,Ai.y).sub(Ae.clone().setZ(0)).length();et.push({points:wt,angle:vo,length:Oo});const si=[],po=In.getIntersectionPoint(oe,ge,lt.clone().sub(ye),Ye.clone().sub(ye)).setZ(oe.z),to=In.getIntersectionPoint(oe,ge,st.clone().sub(ye),je.clone().sub(ye)).setZ(ge.z);si.push(Tn,Un,to,po),si.push(Tn.clone().add(Ue),Un.clone().add(Ue),to.clone().add(Ue),po.clone().add(Ue)),et.push({points:si,angle:vo,length:Oo});const uo=-yt.relativeAngle,{lh:qo,rh:Hi}=le(ve,2),vi=In.getDistance(Je,ct,Me.clone().add(ye)),Cn=Math.min((yt.eavesLength??0)/vi*(Me.clone().add(ye).z-qo),qo),yn=In.getDistance(Je,ct,Te.clone().add(ye)),no=Math.min((yt.eavesLength??0)/yn*(Te.clone().add(ye).z-Hi),Hi),Eo=In.getIntersectionPoint(st,je,mt,Ht).setZ(qo-Cn).sub(ye),ni=In.getIntersectionPoint(mt,Ht,lt,Ye).setZ(Hi-no).sub(ye),Lo=In.getIntersectionPoint(Me,Te,st.clone().sub(ye),je.clone().sub(ye)).setZ(Te.z),bo=In.getIntersectionPoint(Te,Me,lt.clone().sub(ye),Ye.clone().sub(ye)).setZ(Te.z),Ro=In.getComposedWallCenter(yt),oi=new re(Ro.x,Ro.y).sub(Ae.clone().setZ(0)).length(),go=[];go.push(Lo,bo,po,to),go.push(Lo.clone().add(Ue),bo.clone().add(Ue),po.clone().add(Ue),to.clone().add(Ue)),et.push({points:go,angle:uo,length:oi});const So=[];return So.push(Eo,ni,bo,Lo),So.push(Eo.clone().add(Ue),ni.clone().add(Ue),bo.clone().add(Ue),Lo.clone().add(Ue)),et.push({points:So,angle:uo,length:oi}),et},[ve,ze,b,d,f,p]),Le=m.useMemo(()=>!ve||ve.length!==4?null:ve.map(et=>et.leftPoint),[ve]);m.useEffect(()=>{(!ve||ve.length!==4)&&H(n,!1,!1,!0)},[ve]);const $e=tQ();m.useEffect(()=>{if((ve==null?void 0:ve.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!$e)&&(Z?$(ve):Ce(ve,ze,f,d,p),Z$(e,n,Oe,ye,ze,b,Z),M.getState().deleteAddedRoofId(n))},[Oe]),cye(e,n,Oe,ye,ze,b,Z);const We=()=>{const et=[];if(!ve||ve.length!==4)return et;const _e=ve.map((At,Ft,Ke)=>new re(At.leftPoint.x,At.leftPoint.y,le(Ke,Ft).lh)),nt=me.clone().add(ye),yt=Pe.clone().add(ye),Tt=Me.clone().add(ye),Rt=Te.clone().add(ye),Wt=oe.clone().add(ye),Ct=ge.clone().add(ye);et.push([_e[0],_e[1],yt,nt]),et.push([nt,yt,Ct,Wt]),et.push([Wt,Ct,Tt,Rt]),et.push([_e[2],_e[3],Rt,Tt]),Z?Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,[_e]):Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,et)},Ee=JW(n,ye,Oe,Z,Vo.Gambrel);KW(We);const Fe=M(et=>et.elements.filter(_e=>_e.parentId===n&&_e.type===z.Window),a3),Ge=M(Vc),rt=ht(cs),Ve=M(wf),xt=Sn(i1),[dt,Qe]=m.useState(null),[ut,ft]=m.useState([]);m.useEffect(()=>{if(rt)if(Z){const et=xt(n);if(et){const _e=xe.fetchHeatmapTexture(et,Ve??5);if(_e){const nt=Ee();if(nt&&nt.length>0&&e){const yt=new Qt(0,0,e.rotation[2],"ZYX");let Tt=Number.MAX_VALUE,Rt=Number.MAX_VALUE,Wt=-Number.MAX_VALUE,Ct=-Number.MAX_VALUE;for(const Pt of nt)for(const Ne of Pt){const lt=Ne.clone().applyEuler(yt);lt.x>Wt&&(Wt=lt.x),lt.xCt&&(Ct=lt.y),lt.y0){const _e=[];for(let nt=0;nt{VW(et,e.id,n,Oe,ye)},onPointerMove:et=>{XW(et,n)},onPointerUp:et=>{GW(et,t)},onContextMenu:et=>{dR(et,n)},children:Z?h.jsx(nQ,{id:n,foundationModel:e,roofType:T,roofSegments:Oe,center:new re(ye.x,ye.y,ze),thickness:b,lineWidth:v,lineColor:P,sideColor:w,color:ot,textureType:g,heatmap:dt}):h.jsxs(h.Fragment,{children:[Oe.map((et,_e,nt)=>h.jsx(Fq,{id:n,index:_e,foundationModel:e,roofType:T,segment:et,centroid:ye,thickness:b,color:ot,sideColor:w,texture:D,heatmap:ut&&_e0&&ve[0].lz===ve[2].lz&&Le&&h.jsx(dW,{cz:ve[0].lz,points:Le}),x&&!C&&h.jsxs("group",{position:[ye.x,ye.y,ye.z+b],children:[h.jsx(Qf,{position:[Ae.x,Ae.y,Ae.z],onPointerDown:et=>{if(Ge(t.id,et,zo.Select),J.current=!0,O.current=y,L(!0),tie.set(Ae.x,Ae.y,ze).add(ye),e){const _e=-Math.atan2(F.position.x-o,F.position.y-i)-e.rotation[2];nie.set(-Vt,0,_e,"ZXY")}W(ki.TopMid),Ln.getState().setEnableOrbitController(!1),R(_e=>{_e.resizeHandleType=gt.Top,_e.selectedElementHeight=ze+t.thickness})},onPointerOver:()=>{R(et=>{et.hoveredHandle=ki.TopMid,et.selectedElementHeight=ze+t.thickness,et.selectedElementX=Ae.x,et.selectedElementY=Ae.y})}}),!Z&&h.jsxs(h.Fragment,{children:[h.jsx(Qf,{position:[oe.x,oe.y,oe.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],ae(oe,ve[3]),W(ki.TopLeft)}}),h.jsx(Qf,{position:[ge.x,ge.y,ge.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],ae(ge,ve[1]),W(ki.TopRight)}}),h.jsx(Qf,{position:[me.x,me.y,me.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],ae(me,ve[3]),W(ki.FrontLeft)}}),h.jsx(Qf,{position:[Pe.x,Pe.y,Pe.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],ae(Pe,ve[1]),W(ki.FrontRight)}}),h.jsx(Qf,{position:[Me.x,Me.y,Me.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],ae(Me,ve[1]),W(ki.BackLeft)}}),h.jsx(Qf,{position:[Te.x,Te.y,Te.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],ae(Te,ve[3]),W(ki.BackRight)}})]})]}),N&&h.jsx(sa,{name:"Roof Intersection Plane",ref:E,args:[1e3,100],visible:!1,position:tie,rotation:nie,onPointerMove:et=>{if(E.current&&J.current&&ve&&ve.length===4){q(et);const _e=B.intersectObjects([E.current]);if(_e[0]&&e){const nt=_e[0].point;if(nt.z<.001)return;switch(k){case ki.TopMid:{const yt=Math.max(0,nt.z-e.lz-.3-Ie),Tt=Ie+yt,Rt=Se(ve,Tt,f,d,p);K5(Rt,l)&&M.getState().updateRoofRiseById(n,yt,Tt+t.thickness);break}case ki.FrontLeft:{if(e&&ve&&ve.length===4){const yt=xe.clamp(ne(e,ve[3],nt),d[0]+.05,.45),Tt=ze-ve[0].lz,Rt=xe.clamp((nt.z-e.lz-ve[0].lz)/Tt,0,1),Wt=[yt,Rt],Ct=Se(ve,ze,Wt,d,p);K5(Ct,l)&&R(At=>{const Ft=At.elements.find(Ke=>te(Ke));Ft&&(Ft.frontRidgePoint[0]=Wt[0],Ft.frontRidgePoint[1]=Wt[1])})}break}case ki.FrontRight:{if(e&&ve&&ve.length===4){const yt=xe.clamp(ne(e,ve[1],nt),-.45,-d[0]-.05),Tt=ze-ve[0].lz,Rt=xe.clamp((nt.z-e.lz-ve[0].lz)/Tt,0,1),Wt=[-yt,Rt],Ct=Se(ve,ze,Wt,d,p);K5(Ct,l)&&R(At=>{const Ft=At.elements.find(Ke=>te(Ke));Ft&&(Ft.frontRidgePoint=[...Wt])})}break}case ki.TopLeft:{if(e&&ve&&ve.length===4){const Tt=[xe.clamp(ne(e,ve[3],nt),-p[0]+.05,f[0]-.05),d[1]],Rt=Se(ve,ze,f,Tt,p);K5(Rt,l)&&R(Wt=>{const Ct=Wt.elements.find(At=>te(At));Ct&&(Ct.topRidgePoint=[...Tt])})}break}case ki.TopRight:{if(e&&ve&&ve.length===4){const Tt=[-xe.clamp(ne(e,ve[1],nt),-f[0]+.05,p[0]-.05),d[1]],Rt=Se(ve,ze,f,Tt,p);K5(Rt,l)&&R(Wt=>{const Ct=Wt.elements.find(At=>te(At));Ct&&(Ct.topRidgePoint=[...Tt])})}break}case ki.BackLeft:{if(e&&ve&&ve.length===4){const yt=xe.clamp(ne(e,ve[1],nt),-d[0]+.05,.45),Tt=ze-ve[2].lz,Rt=xe.clamp((nt.z-e.lz-ve[2].lz)/Tt,0,1),Wt=[yt,Rt],Ct=Se(ve,ze,f,d,Wt);K5(Ct,l)&&R(At=>{const Ft=At.elements.find(Ke=>te(Ke));Ft&&(Ft.backRidgePoint=[...Wt])})}break}case ki.BackRight:{if(e&&ve&&ve.length===4){const yt=xe.clamp(ne(e,ve[3],nt),-.45,d[0]-.05),Tt=ze-ve[2].lz,Rt=xe.clamp((nt.z-e.lz-ve[2].lz)/Tt,0,1),Wt=[-yt,Rt],Ct=Se(ve,ze,f,d,Wt);K5(Ct,l)&&R(At=>{const Ft=At.elements.find(Ke=>te(Ke));Ft&&(Ft.backRidgePoint=[...Wt])})}break}}}}},onPointerUp:()=>{switch(k){case ki.TopMid:{_W(n,O.current,y);break}case ki.TopLeft:case ki.TopRight:{ee(n,k,Y.current,d);break}case ki.FrontLeft:case ki.FrontRight:{ee(n,k,Y.current,f);break}case ki.BackLeft:case ki.BackRight:{ee(n,k,Y.current,p);break}}J.current=!1,L(!1),W(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},zvt=be.memo(Ivt,BH),Qj=new re,Zj=new Qt,Qwe=new Gt,Dvt=new re(0,0,1),yz=be.memo(({start:t,end:e,width:n,height:o,offset:i,color:r})=>{const a=m.useMemo(()=>new Gt(t.x,t.y),[t]),l=m.useMemo(()=>new Gt(e.x,e.y),[e]),s=m.useMemo(()=>new Gt().subVectors(l,a).angle(),[a,l]),c=m.useMemo(()=>{const u=new Ml,d=a.distanceTo(l),f=t.z-e.z;return u.moveTo(0,0),u.lineTo(d,-f),u.lineTo(d,-f+o),u.lineTo(0,o),u.closePath(),u},[t,e,a,l,o]);return h.jsx("group",{position:i,children:h.jsx($w,{args:[c,{steps:1,depth:n,bevelEnabled:!1}],position:t,rotation:[Vt,0,s,"ZXY"],castShadow:!0,receiveShadow:!0,children:h.jsx("meshStandardMaterial",{color:r})})})}),Evt=({ridgeLeftPoint:t,ridgeRightPoint:e,wallArray:n,height:o,isShed:i,width:r,spacing:a,color:l})=>{const[s,c,u,d]=n,f=m.useMemo(()=>new re().subVectors(e,t).normalize(),[]),p=m.useMemo(()=>t.clone().add(f.clone().multiplyScalar(-(d.eavesLength??0)/2)),[t,d.eavesLength]),g=m.useMemo(()=>e.clone().add(f.clone().multiplyScalar((c.eavesLength??0)/2)),[t,c.eavesLength]),A=s.leftPoint.clone().setZ(s.lz),w=u.rightPoint.clone().setZ(u.lz),b=m.useMemo(()=>{if(n.length<4)return[];const T=new re().subVectors(new re(s.rightPoint.x,s.rightPoint.y,s.lz),A).normalize(),y=new re().subVectors(new re(u.leftPoint.x,u.leftPoint.y,u.lz),w).normalize(),S=t.distanceTo(e),x=new re().subVectors(s.leftPoint,s.rightPoint).length(),R=new re().subVectors(u.leftPoint,u.rightPoint).length(),H=r,D=Math.floor((Math.min(S,x,R)-r)/a)+2;return new Array(D).fill(0).map((k,W)=>{let N;W===D-1?N=S:N=W*a+H;const L=t.clone().add(f.clone().multiplyScalar(N)),E=A.clone().add(T.clone().multiplyScalar(N)),U=w.clone().add(y.clone().multiplyScalar(N)),F=new re().subVectors(E,L).normalize().multiplyScalar(s.eavesLength??0),B=new re().subVectors(U,L).normalize().multiplyScalar(u.eavesLength??0);return E.add(F),U.add(B),{ridge:L,front:E,back:U}})},[a,t]),C=t.distanceTo(A)>t.distanceTo(w),P=new re(-r,0,0),v=new re(0,r/2,0);return h.jsxs(h.Fragment,{children:[b.map((T,y)=>h.jsx(be.Fragment,{children:i?C?h.jsx(yz,{start:T.ridge,end:T.front,width:r,height:o,color:l}):h.jsx(yz,{start:T.ridge,end:T.back,width:r,height:o,color:l}):h.jsxs(h.Fragment,{children:[h.jsx(yz,{start:T.ridge,end:T.front,width:r,height:o,color:l}),h.jsx(yz,{start:T.ridge,end:T.back,width:r,height:o,color:l,offset:P})]})},y)),h.jsx(yz,{start:p,end:g,width:r,height:o,color:l,offset:v})]})},kvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e),a=t.length===1;for(const f of t){const[p,g,A,w]=f.points;i.push(w,p,g,A),a&&i.push(w)}const l=Math.abs(t[0].points[0].z)<.015,s=t[0].points[3],c=t[0].points[2],u=h.jsx(Fn,{points:i,lineWidth:n,color:o}),d=h.jsx(Fn,{points:[s,c],lineWidth:n,color:o});return h.jsxs(h.Fragment,{children:[u,!l&&!a&&d,h.jsxs("group",{position:[0,0,e],children:[u,!l&&!a&&d]}),t.map((f,p)=>{const[g,A,w,b]=f.points;return h.jsxs("group",{children:[h.jsx(Fn,{points:[g,g.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[A,A.clone().add(r)],lineWidth:n,color:o}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[w,w.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[b,b.clone().add(r)],lineWidth:n,color:o})]})]},p)})]})}),Fvt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,wallsId:i,lz:r,rise:a=r,thickness:l=.2,ridgeLeftPoint:s,ridgeRightPoint:c,textureType:u,color:d="white",sideColor:f="white",locked:p,lineColor:g="black",lineWidth:A=.2,roofStructure:w,rafterSpacing:b=2,rafterWidth:C=.1,rafterColor:P="white",glassTint:v="#73D8FF",opacity:T=.5,ceiling:y=!1}=t;const S=M(dn),x=M(hp),R=Hs(n);[g,A]=In.getWireframetStyle(g,A,R,p);const{gl:H,camera:D}=Xi(),k=m.useMemo(()=>new Gs,[]),W=m.useMemo(()=>new Gt,[]),[N,L]=m.useState(!1),[E,U]=m.useState(ki.Null),F=Math.abs(s[0])>.45,B=m.useRef(null),_=m.useRef(s[0]),Y=m.useRef(c[0]),O=m.useRef(a),J=m.useRef(!1),Z=(Ee,Fe,Ge)=>{S(rt=>{for(const Ve of rt.elements)if(Ve.id===Ee&&Ve.type===z.Roof&&Ve.roofType===Vo.Gable){Ve.ridgeLeftPoint[0]=Fe,Ve.ridgeRightPoint[0]=Ge;break}})},ie=(Ee,Fe,Ge,rt,Ve)=>{const xt={name:"Resize Gable Roof Ridge",timestamp:Date.now(),resizedElementId:Ee,resizedElementType:z.Roof,oldLeft:Fe,oldRight:Ge,newLeft:rt,newRight:Ve,undo:()=>{Z(xt.resizedElementId,Fe,Ge)},redo:()=>{Z(xt.resizedElementId,rt,Ve)}};M.getState().addUndoable(xt)},ee=Ee=>{W.x=Ee.offsetX/H.domElement.clientWidth*2-1,W.y=-(Ee.offsetY/H.domElement.clientHeight)*2+1,k.setFromCamera(W,D)},q=(Ee,Fe,Ge)=>{const rt=new Gt(Ee.cx,Ee.cy),Ve=new re().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2),xt=new re().subVectors(Fe.leftPoint,Fe.rightPoint).length(),dt=new Gt(Ve.x,Ve.y).rotateAround(Qwe,Ee.rotation[2]).add(rt),Qe=Ee.rotation[2]+Fe.relativeAngle,ft=new Gt(Ge.x,Ge.y).sub(dt).rotateAround(Qwe,-Qe).x/xt;return Math.min(Math.abs(ft),.5)*(ft>=0?1:-1)},ae=(Ee,Fe,Ge)=>{if(!Ee)return new re;const rt=new re().subVectors(Ee.leftPoint,Ee.rightPoint).length(),Ve=new re().addVectors(Ee.leftPoint,Ee.rightPoint).divideScalar(2),xt=new Qt(0,0,Ee.relativeAngle),dt=new re(Fe*rt,0,0),Qe=Ge*a+de;return new re(Ve.x,Ve.y,Qe).add(dt.applyEuler(xt))},ne=(Ee,Fe)=>{const Ge=Ee[Fe];let rt,Ve;return Fe===0||Fe===2?(rt=Ge.lz,Ve=Ge.lz):Fe===1?(rt=Ee[0].lz,Ve=Ee[2].lz):(rt=Ee[2].lz,Ve=Ee[0].lz),{lh:rt,rh:Ve}},se=(Ee,Fe)=>{const Ge=Ee.slice().reverse();return le(Ge,0,Fe-1),le(Ge,Fe,Ge.length-1),Ge},le=(Ee,Fe,Ge)=>{for(;FeEe*Ge+Fe,he=(Ee,Fe,Ge,rt,Ve)=>{const xt=Fe[Ge],dt=new re().subVectors(xt.leftPoint,xt.rightPoint).length(),Qe=(Ve[0]+.5)*dt,{lh:ut,rh:ft}=ne(Fe,Ge),at=Ve[1]*(rt-ut)/Qe,ot=ut,et=-(Ve[1]*(rt-ft))/(dt-Qe),_e=ft-et*dt,nt=xt.wallsId.reduce((yt,Tt)=>{const Rt=M.getState().elements.find(Wt=>Wt.id===Tt);return Rt?[...yt,Rt.lx+yt[yt.length-1]]:yt},[0]);for(let yt=0;ytQe&&(At.center=[(Qe-Rt)/Ct-.5,rt]),Ee.set(Tt,At)}return Ee},pe=(Ee,Fe,Ge,rt)=>{const Ve=new Map;return he(Ve,Ee,1,Fe,rt),he(Ve,Ee,3,Fe,Ge),Ve},fe=(Ee,Fe,Ge,rt)=>{const[Ve,xt,dt,Qe]=Ee,ut=new Set(Ve.wallsId),ft=new Set(dt.wallsId),at=pe(Ee,Fe,Ge,rt);S(ot=>{for(const et of ot.elements)if(et.type===z.Wall&&et.foundationId===o){if(ut.has(et.id)){const _e=et;if(_e.roofId=n,Ge[0]===.5)_e.leftRoofHeight=Fe,_e.rightRoofHeight=Fe,_e.centerRoofHeight=void 0;else{const{lh:nt,rh:yt}=ne(Ee,0);_e.leftRoofHeight=nt,_e.rightRoofHeight=yt}}else if(ft.has(et.id)){const _e=et;if(_e.roofId=n,Ge[0]===-.5)_e.leftRoofHeight=Fe,_e.rightRoofHeight=Fe,_e.centerRoofHeight=void 0;else{const{lh:nt,rh:yt}=ne(Ee,2);_e.leftRoofHeight=nt,_e.rightRoofHeight=yt}}else if(at.has(et.id)){const _e=at.get(et.id);if(_e){const nt=et,{left:yt,right:Tt,center:Rt}=_e;if(nt.roofId=n,nt.leftRoofHeight=yt,nt.rightRoofHeight=Tt,Rt){const[Wt,Ct]=Rt;nt.centerRoofHeight?(nt.centerRoofHeight[0]=Wt,nt.centerRoofHeight[1]=Ct):nt.centerRoofHeight=[Wt,Ct]}else nt.centerRoofHeight=void 0}}}})},$=lye(i[0],o),{highestWallHeight:de,topZ:Se}=sye($,a,!0);qW(t,de);const Ce=m.useMemo(()=>{if($===null||$.length!==4)return new re;const Ee=$.map(Ge=>({x:Ge.leftPoint.x,y:Ge.leftPoint.y})),Fe=xe.calculatePolygonCentroid(Ee);return new re(Fe.x,Fe.y,Se)},[$,Se]),ve=m.useMemo(()=>{if($===null)return new re;const Ee=$[3],[Fe,Ge]=s;return ae(Ee,Fe,Ge)},[$,Se,s]),Ie=m.useMemo(()=>{if($===null)return new re;const Ee=$[1],[Fe,Ge]=c;return ae(Ee,Fe,Ge)},[$,Se,c]),ze=m.useMemo(()=>new re((ve.x+Ie.x)/2,(ve.y+Ie.y)/2,Se),[ve,Ie]),ye=m.useMemo(()=>!$||$.length!==4?null:$.map(Ee=>In.getComposedWallNormal(Ee).multiplyScalar(Ee.eavesLength)),[$]),oe=m.useMemo(()=>Dvt.clone().multiplyScalar(l),[l]),ge=m.useMemo(()=>{const Ee=[];if(!$||$.length!==4||!ye)return Ee;if(F){const Fe=[],Ge=s[0]<0?0:2,rt=se($,Ge),Ve=se(ye,Ge),[xt,dt,Qe,ut]=rt,[ft,at,ot,et]=Ve,_e=xt.leftPoint,nt=xt.rightPoint,yt=Qe.leftPoint,Tt=Qe.rightPoint,Rt=_e.clone().add(ft),Wt=nt.clone().add(ft),Ct=Tt.clone().add(et),At=_e.clone().add(et),Ft=nt.clone().add(at),Ke=yt.clone().add(at),Je=yt.clone().add(ot),ct=Tt.clone().add(ot),{lh:Pt,rh:Ne}=ne(rt,0),{lh:lt,rh:Ye}=ne(rt,2),st=In.getDistance(_e,nt,Tt),je=Math.min((xt.eavesLength??0)/st*(Se-Pt),Pt),mt=In.getDistance(_e,nt,yt),Ht=Math.min((xt.eavesLength??0)/mt*(Se-Ne),Ne),wt=In.getDistance(yt,Tt,nt),It=Math.min((Qe.eavesLength??0)/wt*(Se-Ne),lt),Et=In.getDistance(yt,Tt,_e),zt=Math.min((Qe.eavesLength??0)/Et*(Se-Pt),Ye),ln=In.getIntersectionPoint(Ct,At,Rt,Wt).setZ(Pt-je).sub(Ce),Xt=In.getIntersectionPoint(Rt,Wt,Ft,Ke).setZ(Ne-Ht).sub(Ce),fn=In.getIntersectionPoint(Ft,Ke,Je,ct).setZ(Se+It).sub(Ce),rn=In.getIntersectionPoint(Je,ct,Ct,At).setZ(Se+zt).sub(Ce);Fe.push(ln,Xt,fn,rn),Fe.push(ln.clone().add(oe),Xt.clone().add(oe),fn.clone().add(oe),rn.clone().add(oe));const Tn=new re().addVectors(xt.leftPoint,xt.rightPoint).divideScalar(2).clone().sub(ze.clone().setZ(0)).length();Ee.push({points:Fe,angle:-xt.relativeAngle,length:Tn})}else{const[Fe,Ge,rt,Ve]=$,[xt,dt,Qe,ut]=ye,ft=Fe.leftPoint.clone().add(xt),at=Fe.rightPoint.clone().add(xt),ot=rt.rightPoint.clone().add(ut),et=Fe.leftPoint.clone().add(ut),_e=Fe.rightPoint.clone().add(dt),nt=rt.leftPoint.clone().add(dt),yt=rt.leftPoint.clone().add(Qe),Tt=rt.rightPoint.clone().add(Qe),Rt=In.getIntersectionPoint(ve,Ie,ot.clone(),et.clone()).setZ(ve.z).sub(Ce),Wt=In.getIntersectionPoint(ve,Ie,_e.clone(),nt.clone()).setZ(Ie.z).sub(Ce),Ct=[],{lh:At,rh:Ft}=ne($,0),Ke=In.getDistance(Fe.leftPoint,Fe.rightPoint,ve),Je=Math.min((Fe.eavesLength??0)/Ke*(ve.z-At),At),ct=In.getDistance(Fe.leftPoint,Fe.rightPoint,Ie),Pt=Math.min((Fe.eavesLength??0)/ct*(Ie.z-Ft),Ft),Ne=In.getIntersectionPoint(ot,et,ft,at).setZ(At-Je).sub(Ce),lt=In.getIntersectionPoint(ft,at,_e,nt).setZ(Ft-Pt).sub(Ce);Ct.push(Ne,lt,Wt,Rt),Ct.push(Ne.clone().add(oe),lt.clone().add(oe),Wt.clone().add(oe),Rt.clone().add(oe));const st=new re().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2).clone().sub(Ce.clone().setZ(0)).length();Ee.push({points:Ct,angle:-Fe.relativeAngle,length:st});const je=[],{lh:mt,rh:Ht}=ne($,2),wt=In.getDistance(rt.leftPoint,rt.rightPoint,Ie),It=Math.min((rt.eavesLength??0)/wt*(Ie.z-mt),mt),Et=In.getDistance(rt.leftPoint,rt.rightPoint,ve),zt=Math.min((rt.eavesLength??0)/Et*(ve.z-Ht),Ht),ln=In.getIntersectionPoint(_e,nt,yt,Tt).setZ(mt-It).sub(Ce),Xt=In.getIntersectionPoint(yt,Tt,ot,et).setZ(Ht-zt).sub(Ce);je.push(ln,Xt,Rt,Wt),je.push(ln.clone().add(oe),Xt.clone().add(oe),Rt.clone().add(oe),Wt.clone().add(oe));const rn=new re().addVectors(rt.leftPoint,rt.rightPoint).divideScalar(2).clone().sub(Ce.clone().setZ(0)).length();Ee.push({points:je,angle:-rt.relativeAngle,length:rn})}return Ee},[$,ve,Ie,Se,l]),Ae=m.useMemo(()=>!$||$.length!==4?null:$.map(Ee=>Ee.leftPoint),[$]);m.useEffect(()=>{(!$||$.length!==4)&&x(n,!1,!1,!0)},[$]);const me=tQ();m.useEffect(()=>{if(($==null?void 0:$.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!me)&&(fe($,Se,s,c),Z$(e,n,ge,Ce,Se,l),M.getState().deleteAddedRoofId(n))},[ge]),cye(e,n,ge,Ce,Se,l);const Pe=()=>{if(!$||$.length!==4)return;const Ee=[];if(F){const Fe=s[0]<0?0:2,rt=se($,Fe).map((Ve,xt,dt)=>new re(Ve.leftPoint.x,Ve.leftPoint.y,ne(dt,xt).lh));Ee.push(rt)}else{const Fe=$.map((Ge,rt,Ve)=>new re(Ge.leftPoint.x,Ge.leftPoint.y,ne(Ve,rt).lh));Ee.push([Fe[0],Fe[1],Ie.clone(),ve.clone()]),Ee.push([Fe[2],Fe[3],ve.clone(),Ie.clone()])}Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,Ee)};JW(n,Ce,ge,!1,Vo.Gable),KW(Pe);const Me=M(Ee=>Ee.elements.filter(Fe=>Fe.parentId===n&&Fe.type===z.Window),a3),Te=M(Vc),De=ht(cs),Ue=M(wf),Oe=Sn(i1),[Le,$e]=m.useState([]);m.useEffect(()=>{if(De){const Ee=ge.length;if(Ee>0){const Fe=[];for(let Ge=0;Ge{VW(Ee,e.id,n,ge,Ce)},onPointerMove:Ee=>{XW(Ee,n)},onPointerUp:Ee=>{GW(Ee,t)},onContextMenu:Ee=>{dR(Ee,n)},children:[ge.map((Ee,Fe,Ge)=>{const{points:rt,angle:Ve,length:xt}=Ee,dt=Math.abs(rt[0].z)<.1;return $?h.jsx(Lvt,{index:Fe,id:n,points:rt,centroid:Ce,angle:dt?Ge[0].angle:Ve,length:dt?1:xt,textureType:u,heatmaps:Le,color:d,sideColor:f,roofStructure:w,glassTint:v,opacity:T,relativeAngle:Fe===0?$[0].relativeAngle:$[2].relativeAngle,foundation:e,windows:Me},Fe):null}),T>0&&h.jsx(kvt,{roofSegments:ge,thickness:l,lineColor:g,lineWidth:w===yc.Rafter?.1:A})]}),y&&a>0&&$[0].lz===$[2].lz&&Ae&&h.jsx(dW,{cz:$[0].lz,points:Ae}),w===yc.Rafter&&$&&$.length===4&&h.jsx("group",{onContextMenu:Ee=>{dR(Ee,n)},onPointerDown:Ee=>{eqe(Ee,n,o)},children:h.jsx(Evt,{ridgeLeftPoint:ve,ridgeRightPoint:Ie,wallArray:$,overhang:0,isShed:F,height:l,spacing:b,color:P,width:C})}),R&&!p&&h.jsxs("group",{position:[0,0,l],children:[h.jsx(Qf,{position:[ze.x,ze.y,ze.z+.15],onPointerDown:Ee=>{if(Te(t.id,Ee,zo.Select),J.current=!0,O.current=a,L(!0),Qj.set(ze.x,ze.y,Se),e){const Fe=-Math.atan2(D.position.x-e.cx,D.position.y-e.cy)-e.rotation[2];Zj.set(-Vt,0,Fe,"ZXY")}U(ki.Mid),Ln.getState().setEnableOrbitController(!1),S(Fe=>{Fe.resizeHandleType=gt.Top,Fe.selectedElementHeight=Se+t.thickness})},onPointerOver:()=>{S(Ee=>{Ee.hoveredHandle=ki.Mid,Ee.selectedElementHeight=Se+t.thickness,Ee.selectedElementX=ze.x,Ee.selectedElementY=ze.y})}}),h.jsx(Qf,{position:[ve.x,ve.y,ve.z+.15],onPointerDown:()=>{if(J.current=!0,_.current=s[0],Y.current=c[0],L(!0),Qj.set(ve.x,ve.y,Se),e&&$&&$[3]){const Ee=new re().subVectors(ve,D.position).normalize(),Fe=Math.atan2(Ee.z,Math.hypot(Ee.x,Ee.y)),Ge=$[3].relativeAngle;Zj.set(-Vt+Fe,0,Ge,"ZXY")}U(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[Ie.x,Ie.y,Ie.z+.15],onPointerDown:()=>{if(J.current=!0,_.current=s[0],Y.current=c[0],L(!0),Qj.set(Ie.x,Ie.y,Se),e&&$&&$[1]){const Ee=new re().subVectors(Ie,D.position).normalize(),Fe=Math.atan2(Ee.z,Math.hypot(Ee.x,Ee.y)),Ge=$[1].relativeAngle;Zj.set(-Vt+Fe,0,Ge,"ZXY")}U(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),N&&h.jsx(sa,{name:"Roof Intersection Plane",ref:B,args:[1e3,100],visible:!1,position:Qj,rotation:Zj,onPointerMove:Ee=>{if(B.current&&J.current&&e&&$&&$.length===4){ee(Ee);const Fe=k.intersectObjects([B.current]);if(Fe[0]){const Ge=Fe[0].point;if(Ge.z<.001)return;switch(E){case ki.Left:{const rt=$[3];if(rt){let Ve=q(e,rt,Ge);Math.abs(Ve)>=.45&&Math.abs(Ve)<.5&&(Ve=.45*Math.sign(Ve));const xt=[Ve,s[1]],dt=[-Ve,c[1]],Qe=pe($,Se,xt,dt);K5(Qe,o)&&Z(n,Ve,-Ve)}break}case ki.Right:{const rt=$[1];if(rt){let Ve=q(e,rt,Ge);Math.abs(Ve)>=.45&&Math.abs(Ve)<.5&&(Ve=.45*Math.sign(Ve));const xt=[-Ve,s[1]],dt=[Ve,c[1]],Qe=pe($,Se,xt,dt);K5(Qe,o)&&Z(n,-Ve,Ve)}break}case ki.Mid:{let rt;F?rt=Math.max(0,Ge.z-e.lz-.3-de):rt=Math.max(-de+.01,Ge.z-e.lz-.3-de);const Ve=de+rt,xt=pe($,Ve,s,c);K5(xt,o)&&M.getState().updateRoofRiseById(n,rt,Se+t.thickness);break}}}}},onPointerUp:()=>{switch(E){case ki.Mid:{_W(n,O.current,a);break}case ki.Left:case ki.Right:ie(n,_.current,Y.current,s[0],c[0])}J.current=!1,L(!1),U(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},Lvt=({index:t,id:e,points:n,centroid:o,angle:i,length:r,textureType:a,heatmaps:l,color:s="white",sideColor:c,relativeAngle:u,foundation:d,roofStructure:f,glassTint:p,opacity:g=.5,windows:A})=>{const w=M.getState().world;M(Vn);const b=M(Q9),C=ht(cs),P=ht(i3),v=M(X2),T=M(q9),y=M($9),S=Sn($L),x=Sn.getState().hourlyHeatExchangeArrayMap,R=jH(f===yc.Rafter?Ui.NoTexture:a),{transparent:H,opacity:D}=eQ(f===yc.Rafter,g),{invalidate:k}=Xi(),W=m.useRef(null),N=m.useRef(null),L=m.useRef(null),E=m.useRef(null),U=m.useRef(0),F=m.useRef(),B=m.useRef(),[_,Y]=m.useState(0),[O,J]=m.useState(0),[Z,ie]=m.useState(!0),ee=(te,he)=>te.clone().setZ(0).distanceTo(he.clone().setZ(0))>2,q=te=>Math.abs(te){if(!P)return;const te=S(e);if(!te)return;const he=[],[pe,fe,$,de,Se]=n,Ce=Se.z-pe.z,ve=new re(0,0,Ce+.1);for(const Ie of te.values()){let ze=[];ze.push(Ie[0].clone().sub(o).add(ve)),ze.push(Ie[1].clone().sub(o).add(ve)),he.push(ze),ze=[],ze.push(Ie[0].clone().sub(o).add(ve)),ze.push(Ie[3].clone().sub(o).add(ve)),he.push(ze),ze=[],ze.push(Ie[1].clone().sub(o).add(ve)),ze.push(Ie[2].clone().sub(o).add(ve)),he.push(ze)}return he},[P]),ne=m.useMemo(()=>{if(!P||d&&d.notBuilding)return;const te=x.get(e+"-"+t);if(!te)return;const he=te.reduce((Qe,ut)=>Qe+ut,0),pe=S(e);if(!pe||!pe[t])return;const[fe,$,de,Se,Ce]=n,ve=Ce.z-fe.z,Ie=pe[t].map(Qe=>Qe.clone().sub(o).add(new re(0,0,ve)));if(!Ie)return;let ze=xe.getTriangleArea(Ie[0],Ie[1],Ie[2])+xe.getTriangleArea(Ie[2],Ie[3],Ie[0]);if(ze===0)return;let ye=b(z.Window,e);const oe=S(e);if(oe&&oe[t]&&(ye=ye.filter(Qe=>{const ut=Qe,ft=ut.cy+(ut.windowType===Sr.Polygonal&&ut.polygonTop?ut.polygonTop[1]/2:0);return In.onSegment(oe[t],Qe.cx,ft)})),ye&&ye.length>0)for(const Qe of ye)ze-=xe.getWindowArea(Qe);const ge=K9*(w.solarRadiationHeatmapGridCellSize??.5),Ae=Ie[0].clone(),me=Ie[1].clone(),Pe=Ie[2].clone(),Me=new re().subVectors(me,Ae),Te=new re().subVectors(Pe,Ae),De=new re().subVectors(Pe,me),Ue=Me.length(),Oe=new re().crossVectors(Te,De).length()/Ue,Le=Math.max(2,Math.round(Ue/ge)),$e=Math.max(2,Math.round(Oe/ge));Me.normalize(),Te.normalize(),De.normalize();const We=new re().crossVectors(Te,De).normalize(),Ee=Me.multiplyScalar(.5*Ue/Le),Fe=new re().crossVectors(We,Me).normalize().multiplyScalar(.5*Oe/$e),Ge=Ae.clone().add(Ee).add(Fe);Ee.multiplyScalar(2),Fe.multiplyScalar(2);const rt=he/ze*(v??Gm);U.current=rt<0?1:0,F.current=We.clone().multiplyScalar(.1),B.current=xe.getEuler(Po,We,"YXZ",-Math.sign(rt)*Vt);const Ve=[],xt=new re;let dt;for(let Qe=0;Qe0){const at=xt.x+o.x,ot=xt.y+o.y;for(const et of ye){const _e=In.getRelativeWindowVerticesOnRoof(et),nt=xe.getPoints(_e);if(xe.isPointInside(at,ot,nt)){dt=!1;break}}}if(dt){const at=[];rt<0?(at.push(xt.clone()),at.push(xt.clone().add(We.clone().multiplyScalar(-rt)))):(at.push(xt.clone()),at.push(xt.clone().add(We.clone().multiplyScalar(rt)))),Ve.push(at)}}}return Ve},[P,v,o,n]);m.useEffect(()=>{const[te,he,pe,fe,$]=n,de=$.z-te.z;if(W.current){const Se=W.current.geometry;if(Se){const Ce=new Float32Array(18),ve=de+.01;Ce[0]=n[0].x,Ce[1]=n[0].y,Ce[2]=n[0].z+ve,Ce[3]=n[1].x,Ce[4]=n[1].y,Ce[5]=n[1].z+ve,Ce[6]=n[2].x,Ce[7]=n[2].y,Ce[8]=n[2].z+ve,Ce[9]=n[2].x,Ce[10]=n[2].y,Ce[11]=n[2].z+ve,Ce[12]=n[3].x,Ce[13]=n[3].y,Ce[14]=n[3].z+ve,Ce[15]=n[0].x,Ce[16]=n[0].y,Ce[17]=n[0].z+ve,Se.setAttribute("position",new hi(Ce,3)),Se.computeVertexNormals();const Ie=[];Ie.push(0,0),Ie.push(1,0),Ie.push(1,1),Ie.push(1,1),Ie.push(0,1),Ie.push(0,0),Se.setAttribute("uv",new hi(Ie,2))}}if(N.current){N.current.geometry=new lce(n,i,r);const Se=ee(te,fe)&&ee(he,pe);if(ie(Se),f===yc.Glass&&Se){const Ce=xe.calculatePolygonCentroid(n.map(xe.mapVector3ToPoint2)),ve=new re(Ce.x,Ce.y,0),Ie=.25,ze=new re().addVectors(te,ve.clone().sub(te).setZ(0).normalize().multiplyScalar(Ie)),ye=new re().addVectors(he,ve.clone().sub(he).setZ(0).normalize().multiplyScalar(Ie)),oe=new re().addVectors(pe,ve.clone().sub(pe).normalize().multiplyScalar(Ie)),ge=new re().addVectors(fe,ve.clone().sub(fe).normalize().multiplyScalar(Ie)),Ae=[];Ae.push(ze),Ae.push(ye),Ae.push(oe.setZ(ye.z)),Ae.push(ge.setZ(ze.z)),Ae.push(ze.clone().setZ(1)),Ae.push(ye.clone().setZ(1)),Ae.push(oe.clone().setZ(1)),Ae.push(ge.clone().setZ(1));const me=new es(new lce(Ae)),Pe=ac.subtract(N.current,me);if(N.current.geometry=Pe.geometry,q(u)){const Te=ze.distanceTo(ye),De=te.distanceTo(fe);Y(Te),J(De);const Ue=new re().subVectors(te,fe).angleTo(new re(0,-1,0));L.current&&(L.current.scale.set(Te,De,1),L.current.rotation.set(Ue,0,0)),E.current&&E.current.rotation.set(Ue-Vt,0,0)}else{const Te=te.distanceTo(fe),De=ze.distanceTo(ye);Y(Te),J(De);const Ue=new re().subVectors(te,fe).angleTo(new re(1,0,0));L.current&&(L.current.scale.set(Te,De,1),L.current.rotation.set(0,Ue,0)),E.current&&E.current.rotation.set(Vt,Ue,0,"YXZ")}const Me=(te.z+fe.z)/2+de*.75;L.current&&L.current.position.set(Ce.x,Ce.y,Me),E.current&&E.current.position.set(Ce.x,Ce.y,Me)}}k()},[n,i,r,u,Z,C,f]);const se={points:n,angle:i,length:r},le=a===Ui.Default||a===Ui.NoTexture?s:"white";return h.jsxs(h.Fragment,{children:[(D>0&&f===yc.Rafter||f!==yc.Rafter)&&h.jsx(h.Fragment,{children:h.jsx(yYe,{id:e,index:t,segment:se,color:le,sideColor:c??"white",texture:R,heatmap:l[t],transparent:H,opacity:D,windows:A,centroid:o})}),ae&&ae.map((te,he)=>h.jsx(Fn,{points:te,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+he},he)),ne&&ne.map((te,he)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:te,name:"Heat Flux "+he,lineWidth:y??Xm,color:T??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:F.current?te[U.current].clone().add(F.current):te[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:B.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:T??g0})})]},he))]})},Wvt=be.memo(Fvt,BH),Nvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e);for(let u=0;u{const[f,p,g,A]=u.points,w=[f.clone().sub(r),f];return h.jsx(Fn,{points:w,lineWidth:n,color:o},d)})]})]})}),y4=new re,A4=new Qt,Uvt=new re(0,0,1),Bvt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,cx:i,cy:r,lz:a,wallsId:l,leftRidgeLength:s,rightRidgeLength:c,textureType:u,color:d="white",sideColor:f="white",thickness:p=.2,locked:g,lineColor:A="black",lineWidth:w=.2,roofType:b,rise:C=a,ceiling:P=!1}=t;const v=M(Vn),T=M(dn),y=M(hp),S=lye(l[0],o),x=jH(u),R=Hs(n),[H,D]=m.useState(!1),[k,W]=m.useState(ki.Null),[N,L]=m.useState(s),[E,U]=m.useState(c),{highestWallHeight:F,topZ:B}=sye(S,C);qW(t,F);const _=m.useRef(null),{gl:Y,camera:O}=Xi(),J=m.useMemo(()=>new Gs,[]),Z=m.useMemo(()=>new Gt,[]),ie=m.useRef(!1),ee=m.useRef(C),q=C<.01;[A,w]=In.getWireframetStyle(A,w,R,g),m.useEffect(()=>{L(s)},[s]),m.useEffect(()=>{U(c)},[c]);const ae=(We,Ee,Fe,Ge=!1)=>{T(rt=>{for(const Ve of rt.elements)if(Ve.id===We&&Ve.type===z.Roof&&Ve.roofType===Vo.Hip){Ve.leftRidgeLength=Ee,Ve.rightRidgeLength=Fe,Ge&&(rt.updateElementOnRoofFlag=!0);break}})},ne=(We,Ee,Fe,Ge,rt)=>{const Ve={name:"Resize Hip Roof Ridge",timestamp:Date.now(),resizedElementId:We,resizedElementType:z.Roof,oldLeftRidgeLength:Ee,oldRightRidgeLength:Fe,newLeftRidgeLength:Ge,newRightRidgeLength:rt,undo:()=>{ae(Ve.resizedElementId,Ve.oldLeftRidgeLength,Ve.oldRightRidgeLength,!0)},redo:()=>{ae(Ve.resizedElementId,Ve.newLeftRidgeLength,Ve.newRightRidgeLength,!0)}};M.getState().addUndoable(Ve)},se=We=>{const Ee=[];for(const Fe of We)Ee.push({x:Fe.leftPoint.x,y:Fe.leftPoint.y});return Ee},le=We=>{Z.x=We.offsetX/Y.domElement.clientWidth*2-1,Z.y=-(We.offsetY/Y.domElement.clientHeight)*2+1,J.setFromCamera(Z,O)},te=(We,Ee,Fe,Ge,rt)=>{We.push(Ee,Fe,Ge),rt&&We.push(rt),We.push(Ee.clone().add(Ce),Fe.clone().add(Ce),Ge.clone().add(Ce)),rt&&We.push(rt.clone().add(Ce))},he=()=>{if(S===null||S.length!==4)return 0;const We=S.map(Ge=>Ge.leftPoint),Ee=[fe,$,$,fe];let Fe=1/0;for(let Ge=0;Ge<4;Ge++){const rt=S[Ge],Ve=In.getDistance(We[Ge],We[(Ge+1)%4],Ee[Ge]),xt=Math.min((rt.eavesLength??0)/Ve*(Ee[Ge].z-rt.lz),rt.lz),dt=In.getDistance(We[Ge],We[(Ge+1)%4],Ee[(Ge+1)%4]),Qe=Math.min((rt.eavesLength??0)/dt*(Ee[(Ge+1)%4].z-rt.lz),rt.lz);Fe=Math.min(Math.min(xt,Qe),Fe)}return Number.isNaN(Fe)?0:Fe},pe=m.useMemo(()=>{if(S===null||S.length!==4)return new Gt;const We=se(S),Ee=xe.calculatePolygonCentroid(We);return new Gt(Ee.x,Ee.y)},[S]),fe=m.useMemo(()=>{const We=new re,Ee=new re(pe.x,pe.y,B),Fe=v(l[0]);return Fe&&We.setX(-N).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(Ee),We},[pe,B,N]),$=m.useMemo(()=>{const We=new re,Ee=new re(pe.x,pe.y,B),Fe=v(l[0]);return Fe&&We.setX(E).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(Ee),We},[pe,B,E]),de=m.useMemo(()=>new re(pe.x,pe.y,B),[pe,B]),Se=m.useMemo(()=>S===null||S.length!==4?[]:S.map(We=>In.getComposedWallNormal(We).multiplyScalar(We.eavesLength)),[S]),Ce=m.useMemo(()=>Uvt.clone().multiplyScalar(p),[p]),ve=m.useMemo(()=>S===null||S.length!==4?null:S.map((We,Ee)=>({leftPoint:We.leftPoint.clone().add(Se[Ee]),rightPoint:We.rightPoint.clone().add(Se[Ee])})),[S,Se]),Ie=m.useMemo(()=>{const We=[];if(S===null||S.length!==4||ve===null)return We;const Ee=he();for(let Fe=0;Fe<4;Fe++){const Ge=[],rt=S[Fe],{lh:Ve,rh:xt}=In.getComposedWallHeight(S,Fe),dt=In.getIntersectionPoint(ve[(Fe+3)%4].leftPoint,ve[(Fe+3)%4].rightPoint,ve[Fe].leftPoint,ve[Fe].rightPoint).setZ(Ve-Ee).sub(de),Qe=In.getIntersectionPoint(ve[Fe].leftPoint,ve[Fe].rightPoint,ve[(Fe+1)%4].leftPoint,ve[(Fe+1)%4].rightPoint).setZ(xt-Ee).sub(de),ut=new re().addVectors(rt.leftPoint,rt.rightPoint).divideScalar(2),ft=fe.clone().sub(de),at=$.clone().sub(de);let ot=0;switch(Fe){case 0:ot=ut.clone().sub(de.clone().setZ(0)).length(),te(Ge,dt,Qe,at,ft);break;case 1:ot=ut.clone().sub($.clone().setZ(0)).length(),te(Ge,dt,Qe,at);break;case 2:ot=ut.clone().sub(de.clone().setZ(0)).length(),te(Ge,dt,Qe,ft,at);break;case 3:ot=ut.clone().sub(fe.clone().setZ(0)).length(),te(Ge,dt,Qe,ft);break}We.push({points:Ge,angle:-rt.relativeAngle,length:ot})}return We},[S,fe,$,B,p]),ze=m.useMemo(()=>!S||S.length!==4?null:S.map(We=>We.leftPoint),[S]);m.useEffect(()=>{if(S===null||S.length!==4)y(n,!1,!1,!0);else if(M.getState().addedRoofIdSet.has(n)){for(let Ee=0;Ee{for(const rt of Ge.elements)if(rt.type===z.Wall&&Fe.has(rt.id)){const Ve=rt;Ve.roofId=n,Ve.leftRoofHeight=void 0,Ve.rightRoofHeight=void 0}})}M.getState().deleteAddedRoofId(n)}},[S]),uye(e,n,Ie,de,B,p);const ye=()=>{if(!S)return;const We=[];for(let Ee=0;Ee<4;Ee++){const Fe=S[Ee],{lh:Ge,rh:rt}=In.getComposedWallHeight(S,Ee),Ve=Fe.leftPoint.clone().setZ(Ge),xt=Fe.rightPoint.clone().setZ(rt),dt=fe.clone(),Qe=$.clone();switch(Ee){case 0:We.push([Ve,xt,Qe,dt]);break;case 1:We.push([Ve,xt,Qe]);break;case 2:We.push([Ve,xt,dt,Qe]);break;case 3:We.push([Ve,xt,dt]);break}}if(q){const Ee=[];for(const Fe of We)Ee.push(Fe[0].clone());Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Ee])}else Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,We)},oe=JW(n,new re(pe.x,pe.y,B),Ie,q,Vo.Hip);KW(ye);const ge=M(We=>We.elements.filter(Ee=>Ee.parentId===n&&Ee.type===z.Window),a3),Ae=M(Vc),me=ht(cs),Pe=M(wf),Me=Sn(i1),[Te,De]=m.useState(null),[Ue,Oe]=m.useState([]);m.useEffect(()=>{if(me)if(C>0){const We=Ie.length;if(We>0){const Ee=[];for(let Fe=0;Fe0&&e){const Ge=new Qt(0,0,e.rotation[2],"ZYX");let rt=Number.MAX_VALUE,Ve=Number.MAX_VALUE,xt=-Number.MAX_VALUE,dt=-Number.MAX_VALUE;for(const et of Fe)for(const _e of et){const nt=_e.clone().applyEuler(Ge);nt.x>xt&&(xt=nt.x),nt.xdt&&(dt=nt.y),nt.y{VW(We,e.id,n,Ie,de)},onPointerMove:We=>{XW(We,n)},onPointerUp:We=>{GW(We,t)},onContextMenu:We=>{dR(We,n)},children:q?h.jsx(nQ,{id:n,foundationModel:e,roofType:b,roofSegments:Ie,center:new re(pe.x,pe.y,B),thickness:p,lineWidth:w,lineColor:A,sideColor:f,color:$e,textureType:u,heatmap:Te}):h.jsxs(h.Fragment,{children:[Ie.map((We,Ee,Fe)=>h.jsx(Fq,{id:n,index:Ee,foundationModel:e,roofType:b,segment:We,centroid:de,thickness:p,color:$e,sideColor:f,texture:x,heatmap:Ue&&Ee0&&ze&&h.jsx(dW,{cz:S[0].lz,points:ze}),R&&!g&&h.jsxs("group",{position:[0,0,p+.15],children:[h.jsx(Qf,{position:[fe.x,fe.y,fe.z],onPointerDown:()=>{if(ie.current=!0,D(!0),y4.set(fe.x,fe.y,B),e&&S[0]){const We=M.getState().cameraDirection,Ee=Math.atan2(We.z,We.y),Fe=S[0].relativeAngle;A4.set(-Vt-Ee,0,Fe,"ZXY")}W(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[de.x,de.y,de.z],onPointerDown:We=>{if(Ae(t.id,We,zo.Select),ie.current=!0,ee.current=C,D(!0),y4.set(de.x,de.y,B),e){const Ee=-Math.atan2(O.position.x-i,O.position.y-r)-e.rotation[2];A4.set(-Vt,0,Ee,"ZXY")}W(ki.Mid),Ln.getState().setEnableOrbitController(!1),T(Ee=>{Ee.resizeHandleType=gt.Top,Ee.selectedElementHeight=B+t.thickness})},onPointerOver:()=>{T(We=>{We.hoveredHandle=ki.Mid,We.selectedElementHeight=B+t.thickness,We.selectedElementX=pe.x,We.selectedElementY=pe.y})}}),h.jsx(Qf,{position:[$.x,$.y,$.z],onPointerDown:()=>{if(ie.current=!0,D(!0),y4.set($.x,$.y,B),e&&S[0]){const We=M.getState().cameraDirection,Ee=Math.atan2(We.z,We.y),Fe=S[0].relativeAngle;A4.set(-Vt-Ee,0,Fe,"ZXY")}W(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:_,args:[1e3,100],visible:!1,position:y4,rotation:A4,onPointerMove:We=>{if(_.current&&ie.current){le(We);const Ee=J.intersectObjects([_.current]);if(Ee[0]&&e){const Fe=Ee[0].point;if(Fe.z<.001)return;const Ge=S[0],rt=new re().subVectors(Ge.rightPoint,Ge.leftPoint).length();switch(k){case ki.Left:{const Ve=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),xt=Fe.clone().sub(new re(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new re().subVectors(xt,Ve).x;L(xe.clamp(-dt,-E+.1,rt/2-.01));break}case ki.Right:{const Ve=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),xt=Fe.clone().sub(new re(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new re().subVectors(xt,Ve).x;U(xe.clamp(dt,-N+.1,rt/2-.01));break}case ki.Mid:{const Ve=Math.max(0,Fe.z-e.lz-.3-F);M.getState().updateRoofRiseById(n,Ve,B+t.thickness);break}}}}},onPointerUp:()=>{switch(k){case ki.Mid:{_W(n,ee.current,C);break}case ki.Left:case ki.Right:ae(n,N,E),ne(n,s,c,N,E)}ie.current=!1,D(!1),W(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},jvt=be.memo(Bvt,BH),oie=new re,iie=new Qt,Yvt=new re(0,0,1),Ovt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{const i=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[1]),[t[0].points[0]]),[t]),r=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[6].clone()),[t[0].points[7].clone()]),[t]),a=m.useMemo(()=>h.jsx(Fn,{points:i,lineWidth:n,color:o}),[i,n,o]);if(t.length<2)return null;const l=Math.abs(t[0].points[0].z-t[0].points[3].z)<.1;return h.jsxs(h.Fragment,{children:[!l&&h.jsx(Fn,{points:r,lineWidth:n,color:o}),a,h.jsx("group",{position:[0,0,e],children:a}),t.map((s,c)=>h.jsxs(be.Fragment,{children:[!l&&h.jsx(Fn,{points:[s.points[7],s.points[4]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s.points[4],s.points[0]],lineWidth:n,color:o})]},c))]})}),_vt=({roofModel:t,foundationModel:e})=>{let{id:n,wallsId:o,cx:i,cy:r,lz:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineColor:f="black",lineWidth:p=.2,roofType:g,foundationId:A,ridgeWidth:w=1,rise:b=a,ceiling:C=!1,frontRidge:P,backRidge:v}=t;const T=jH(l),y=Hs(n);[f,p]=In.getWireframetStyle(f,p,y,d);const S=M(dn),x=M(hp),R=M(ss),H=M(Ke=>Ke.ray),D=M(Ke=>Ke.mouse),[k,W]=m.useState(w),[N,L]=m.useState(null),[E,U]=m.useState(!1),[F,B]=m.useState(ki.Null),[_,Y]=m.useState(null),O=m.useRef(k),J=m.useRef(b),Z=m.useRef(null),ie=m.useRef(!1),{gl:ee,camera:q}=Xi(),ae=b<.01,ne=Ke=>{const Je=[],ct=Ke.length;for(const Pt of Ke)Pt.leftPoint[0]!==void 0&&Pt.leftPoint[1]!==void 0&&Je.push({x:Pt.leftPoint[0],y:Pt.leftPoint[1]});return $.current||(Ke[ct-1].rightPoint[0]||Ke[ct-1].rightPoint[0]===0)&&(Ke[ct-1].rightPoint[1]||Ke[ct-1].rightPoint[1]===0)&&Je.push({x:Ke[ct-1].rightPoint[0],y:Ke[ct-1].rightPoint[1]}),Je},se=Ke=>{if(Ke{D.x=Ke.offsetX/ee.domElement.clientWidth*2-1,D.y=-(Ke.offsetY/ee.domElement.clientHeight)*2+1,H.setFromCamera(D,q)},te=(Ke,Je)=>{S(ct=>{for(const Pt of ct.elements)if(Pt.id===Ke&&Pt.type===z.Roof&&Pt.roofType===Vo.Mansard){Pt.ridgeWidth=Je;break}})},he=()=>{let Ke=1/0;for(let Je=0;Je{const Ne={name:"Resize Mansard Roof Ridge",timestamp:Date.now(),resizedElementId:Ke,resizedElementType:z.Roof,oldVal:ct,newVal:Pt,type:Je,undo:()=>{te(Ne.resizedElementId,Ne.oldVal)},redo:()=>{te(Ne.resizedElementId,Ne.newVal)}};M.getState().addUndoable(Ne)},{currentWallArray:fe,isLoopRef:$}=tqe(A,n,o),{highestWallHeight:de,topZ:Se}=nqe(fe,b);qW(t,de);const Ce=m.useMemo(()=>{if(fe.length<2)return new re;const Ke=ne(fe),Je=xe.calculatePolygonCentroid(Ke);return Number.isNaN(Je.x)||Number.isNaN(Je.y)?new re:new re(Je.x,Je.y,Se)},[fe,Se]),ve=m.useMemo(()=>{const Ke=fe.map(Je=>In.getWallNormal(Je).multiplyScalar(Je.eavesLength??0));if(!$.current&&Ke.length!==0){const Je=new re().subVectors(new re(fe[fe.length-1].rightPoint[0],fe[fe.length-1].rightPoint[1]),new re(fe[0].leftPoint[0],fe[0].leftPoint[1])).applyEuler(eG).normalize().multiplyScalar(.3);Ke.push(Je)}return Ke},[fe]),Ie=m.useMemo(()=>{const Ke=fe.map((Je,ct)=>({leftPoint:new re(Je.leftPoint[0],Je.leftPoint[1]).add(ve[ct]),rightPoint:new re(Je.rightPoint[0],Je.rightPoint[1]).add(ve[ct])}));return!$.current&&Ke.length!==0&&Ke.push({leftPoint:new re(fe[fe.length-1].rightPoint[0],fe[fe.length-1].rightPoint[1]).add(ve[ve.length-1]),rightPoint:new re(fe[0].leftPoint[0],fe[0].leftPoint[1]).add(ve[ve.length-1])}),Ke},[fe,ve]),ze=m.useMemo(()=>{const Ke=fe.map((Je,ct)=>{const Pt=new re(Je.leftPoint[0],Je.leftPoint[1]),Ne=new re(Je.rightPoint[0],Je.rightPoint[1]),lt=new re().subVectors(Ce,Pt).setZ(0).normalize().multiplyScalar(k),Ye=new re().subVectors(Ce,Ne).setZ(0).normalize().multiplyScalar(k);return Pt.add(lt).setZ(Se),Ne.add(Ye).setZ(Se),{leftPoint:Pt,rightPoint:Ne}});return!$.current&&Ke.length!==0&&Ke.push({leftPoint:Ke[Ke.length-1].rightPoint,rightPoint:Ke[0].leftPoint}),Ke},[fe,Ce,k]),ye=m.useMemo(()=>Yvt.clone().multiplyScalar(u),[u]),oe=m.useMemo(()=>{const Ke=[];if(fe.length<2)return Ke;const Je=he();for(let ct=0;ct0&&Pt.rightPoint.length>0&&(Pt.leftPoint[0]!==Pt.rightPoint[0]||Pt.leftPoint[1]!==Pt.rightPoint[1])){const Ne=[];let{lh:lt,rh:Ye}=In.getWallHeight(fe,ct);$.current||(ct===0&&(lt=fe[0].lz),ct===fe.length-1&&(Ye=fe[fe.length-1].lz));const st=In.getIntersectionPoint(Ie[(ct+Ie.length-1)%Ie.length].leftPoint,Ie[(ct+Ie.length-1)%Ie.length].rightPoint,Ie[ct].leftPoint,Ie[ct].rightPoint).setZ(lt-Je).sub(Ce),je=In.getIntersectionPoint(Ie[ct].leftPoint,Ie[ct].rightPoint,Ie[(ct+1)%Ie.length].leftPoint,Ie[(ct+1)%Ie.length].rightPoint).setZ(Ye-Je).sub(Ce),mt=ze[ct].leftPoint.clone().sub(Ce),Ht=ze[ct].rightPoint.clone().sub(Ce),wt=new re(Pt.cx,Pt.cy).sub(Ce.clone().setZ(0)).length();Ne.push(st,je,Ht,mt),Ne.push(st.clone().add(ye),je.clone().add(ye),Ht.clone().add(ye),mt.clone().add(ye)),Ke.push({points:Ne,angle:-Pt.relativeAngle,length:wt})}}if(!$.current){const ct=Ie.length-1,Pt=In.getIntersectionPoint(Ie[ct-1].leftPoint,Ie[ct-1].rightPoint,Ie[ct].leftPoint,Ie[ct].rightPoint).setZ(fe[fe.length-1].lz-Je).sub(Ce),Ne=In.getIntersectionPoint(Ie[ct].leftPoint,Ie[ct].rightPoint,Ie[0].leftPoint,Ie[0].rightPoint).setZ(fe[0].lz-Je).sub(Ce),lt=ze[ct].leftPoint.clone().sub(Ce),Ye=ze[ct].rightPoint.clone().sub(Ce);let st=Math.atan2(Ne.y-Pt.y,Ne.x-Pt.x);st=st>=0?st:(na+st)%na;const je=new re().addVectors(Pt,Ne).setZ(0).divideScalar(2).length(),mt=[];mt.push(Pt,Ne,Ye,lt),mt.push(Pt.clone().add(ye),Ne.clone().add(ye),Ye.clone().add(ye),lt.clone().add(ye)),Ke.push({points:mt,angle:-st,length:je})}return Ke},[fe,Se,k,u]),ge=m.useMemo(()=>{const Ke=new Ml;if(ze.length>0){const Je=ze[0].leftPoint.clone().sub(Ce);Ke.moveTo(Je.x,Je.y);for(const ct of ze){const Pt=ct.rightPoint.clone().sub(Ce);Ke.lineTo(Pt.x,Pt.y)}Ke.closePath()}return Ke},[fe,ze]),Ae=m.useMemo(()=>{const Ke=[];if(fe.length===0)return Ke;Ke.push(new re().fromArray(fe[0].leftPoint));for(const Je of fe)Ke.push(new re().fromArray(Je.rightPoint));return Ke},[fe]);m.useEffect(()=>{w!==k&&W(w)},[w]),m.useEffect(()=>{if(fe.length>1){if(M.getState().addedRoofIdSet.has(n)){for(let Ke=0;Ke{for(const ct of Je.elements)if(ct.id===fe[Ke].id&&ct.type===z.Wall){const Pt=ct;Pt.roofId=n,Pt.leftRoofHeight=void 0,Pt.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(n)}}else x(n,!1,!1,!0)},[fe]),uye(e,n,oe,Ce,Se,u),m.useEffect(()=>{(P!==void 0||v!==void 0)&&S(Ke=>{for(const Je of Ke.elements)if(Je.type===z.Wall){const ct=Je;ct.roofId===n&&(ct.centerLeftRoofHeight=void 0,ct.centerRightRoofHeight=void 0)}else Je.type===z.Roof&&Je.roofType===Vo.Mansard&&Je.id===n&&(Je.frontRidge=void 0,Je.backRidge=void 0)})},[]);const me=()=>{const Ke=[];for(let ct=0;ct0&&Pt.rightPoint.length>0&&(Pt.leftPoint[0]!==Pt.rightPoint[0]||Pt.leftPoint[1]!==Pt.rightPoint[1])){let{lh:Ne,rh:lt}=In.getWallHeight(fe,ct);$.current||(ct===0&&(Ne=fe[0].lz),ct===fe.length-1&&(lt=fe[fe.length-1].lz));const Ye=new re(Pt.leftPoint[0],Pt.leftPoint[1],Ne),st=new re(Pt.rightPoint[0],Pt.rightPoint[1],lt),je=ze[ct].leftPoint.clone(),mt=ze[ct].rightPoint.clone();Ke.push([Ye,st,mt,je])}}if(!$.current){const ct=fe.length-1,Pt=fe[0],Ne=fe[ct],lt=new re(Ne.rightPoint[0],Ne.rightPoint[1],Ne.lz),Ye=new re(Pt.leftPoint[0],Pt.leftPoint[1],Pt.lz),st=ze[ct].leftPoint.clone(),je=ze[ct].rightPoint.clone();Ke.push([lt,Ye,je,st])}const Je=ze.map(ct=>ct.leftPoint.clone());if(Ke.push(Je),ae){const ct=[];for(const Pt of Ke.slice(0,-1))ct.push(Pt[0].clone());Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,[ct])}else Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,Ke)},Pe=JW(n,Ce,oe,ae,Vo.Mansard,ze.map(Ke=>Ke.leftPoint.clone().add(ye)));KW(me);const Me=M.getState().world,Te=M(Vc),De=ht(cs),Ue=M(wf),Oe=Sn(i1),[Le,$e]=m.useState([]),[We,Ee]=m.useState(null),[Fe,Ge]=m.useState(!1),rt=ht(i3),Ve=M(X2),xt=M(q9),dt=M($9),Qe=Sn($L),ut=Sn.getState().hourlyHeatExchangeArrayMap,ft=m.useRef(null),at=m.useRef(0),ot=m.useRef(),et=m.useRef(),{transparent:_e,opacity:nt}=eQ();m.useEffect(()=>{if(De)if(ae){const Ke=Oe(n);if(Ke){const Je=xe.fetchHeatmapTexture(Ke,Ue??5);if(Je){const ct=Pe();if(ct&&ct.length>0&&e){const Pt=new Qt(0,0,e.rotation[2],"ZYX");let Ne=Number.MAX_VALUE,lt=Number.MAX_VALUE,Ye=-Number.MAX_VALUE,st=-Number.MAX_VALUE;for(const Et of ct)for(const zt of Et){const ln=zt.clone().applyEuler(Pt);ln.x>Ye&&(Ye=ln.x),ln.xst&&(st=ln.y),ln.y{if(ft.current){const Ke=ge.extractPoints(1).shape,Je=.01,ct=ft.current.geometry,Pt=Ke.length-1;if(Pt===4){const Ne=new Float32Array(18);Ne[0]=Ke[3].x,Ne[1]=Ke[3].y,Ne[2]=Je,Ne[3]=Ke[0].x,Ne[4]=Ke[0].y,Ne[5]=Je,Ne[6]=Ke[2].x,Ne[7]=Ke[2].y,Ne[8]=Je,Ne[9]=Ke[2].x,Ne[10]=Ke[2].y,Ne[11]=Je,Ne[12]=Ke[0].x,Ne[13]=Ke[0].y,Ne[14]=Je,Ne[15]=Ke[1].x,Ne[16]=Ke[1].y,Ne[17]=Je,ct.setAttribute("position",new hi(Ne,3)),ct.computeVertexNormals();const lt=De?1:6,Ye=[];Ye.push(0,0),Ye.push(lt,0),Ye.push(0,lt),Ye.push(0,lt),Ye.push(lt,0),Ye.push(lt,lt),ct.setAttribute("uv",new hi(Ye,2))}else{const Ne=ft.current.geometry,lt=new Float32Array(Pt*9),Ye=De?1:6,st=[];let je=Number.MAX_VALUE,mt=Number.MAX_VALUE,Ht=-Number.MAX_VALUE,wt=-Number.MAX_VALUE;for(const zt of Ke)zt.x>Ht?Ht=zt.x:zt.xwt?wt=zt.y:zt.y{if(!rt||e&&e.notBuilding)return;const Ke=ut.get(n+"-"+oe.length);if(!Ke)return;const Je=Ke.reduce((Oo,si)=>Oo+si,0),ct=Qe(n);if(!ct||!ct[oe.length])return;const Pt=ct[oe.length].map(Oo=>Oo.clone().sub(Ce).add(new re(0,0,Ce.z+u)));if(!Pt)return;const Ne=K9*(Me.solarRadiationHeatmapGridCellSize??.5),lt=Pt[0].clone(),Ye=Pt[1].clone(),st=Pt[2].clone(),je=new re().subVectors(Ye,lt),mt=new re().subVectors(st,lt),Ht=new re().subVectors(st,Ye),wt=je.length(),It=new re().crossVectors(mt,Ht).length()/wt,Et=Math.max(2,Math.floor(wt/Ne)),zt=Math.max(2,Math.floor(It/Ne));je.normalize(),mt.normalize(),Ht.normalize();const ln=new re().crossVectors(mt,Ht).normalize(),Xt=je.multiplyScalar(.5*wt/Et),fn=new re().crossVectors(ln,je).normalize().multiplyScalar(.5*It/zt),rn=lt.clone().add(Xt).add(fn).add(new re(0,0,u));Xt.multiplyScalar(2),fn.multiplyScalar(2),ot.current=ln.clone().multiplyScalar(.1);const bn=[],Tn=new re,Un=new Array;for(const Oo of Pt)Un.push({x:Oo.x,y:Oo.y});const Ai=xe.getPolygonArea(Un);if(Ai===0)return;const vo=Je/Ai*(Ve??Gm);at.current=vo<0?1:0,et.current=new Qt(-Math.sign(vo)*Vt,0,0);for(let Oo=0;OoKe.elements.filter(Je=>Je.parentId===n&&Je.type===z.Window),a3),Ct=m.useMemo(()=>Wt.map(Ke=>{const Je=new re(Ke.lx,Ke.lz,Ke.ly*2),ct=new re(Ke.cx,Ke.cy,Ke.cz).sub(Ce),Pt=new Qt().fromArray([Ke.rotation[0],Ke.rotation[1],Ke.rotation[2],"ZXY"]),Ne=new es(new X9(Je.x,Je.y,Je.z));return Ne.position.copy(ct),Ne.rotation.copy(Pt),Ne.updateMatrix(),Ne}),[Wt,Ce]),At=l===Ui.NoTexture&&s&&s===c,Ft=R&&!_e;return h.jsxs("group",{name:`Mansard Roof Group ${n}`,children:[h.jsx("group",{name:`Mansard Roof Segments Group ${n}`,position:[Ce.x,Ce.y,Ce.z],userData:Tt,onPointerDown:Ke=>{VW(Ke,e.id,n,oe,Ce)},onPointerMove:Ke=>{XW(Ke,n)},onPointerUp:Ke=>{GW(Ke,t)},onContextMenu:Ke=>{dR(Ke,n)},children:ae?h.jsx(nQ,{id:n,foundationModel:e,roofType:g,roofSegments:oe,center:new re(Ce.x,Ce.y,Se),thickness:u,lineWidth:p,lineColor:f,sideColor:c,color:Rt,textureType:l,heatmap:We}):h.jsxs(h.Fragment,{children:[oe.map((Ke,Je,ct)=>h.jsx(Fq,{id:n,index:Je,foundationModel:e,roofType:g,segment:Ke,centroid:Ce,thickness:u,color:Rt,sideColor:c,texture:T,heatmap:Le&&Je0&&h.jsx(Ovt,{roofSegments:oe,thickness:u,lineColor:f,lineWidth:p})]})}),C&&b>0&&h.jsx(dW,{points:Ae,cz:fe[0].lz}),y&&!d&&h.jsxs("group",{position:[Ce.x,Ce.y,Ce.z+u],children:[h.jsx(Qf,{position:[0,0,.3],onPointerDown:Ke=>{if(Te(t.id,Ke,zo.Select),ie.current=!0,J.current=b,U(!0),oie.set(Ce.x,Ce.y,Se),e){const Je=-Math.atan2(q.position.x-i,q.position.y-r)-e.rotation[2];iie.set(-Vt,0,Je,"ZXY")}B(ki.Top),Ln.getState().setEnableOrbitController(!1),S(Je=>{Je.resizeHandleType=gt.Top,Je.selectedElementHeight=Se+t.thickness})},onPointerOver:()=>{S(Ke=>{Ke.hoveredHandle=ki.Top,Ke.selectedElementHeight=Se+t.thickness,Ke.selectedElementX=Ce.x,Ke.selectedElementY=Ce.y})}}),ze.map((Ke,Je)=>{const ct=Ke.leftPoint.clone().sub(Ce);return h.jsx(Qf,{position:[ct.x,ct.y,0],onPointerDown:()=>{ie.current=!0,U(!0),oie.set(ct.x,ct.y,Se+.15),iie.set(0,0,0),B(ki.Ridge),Y(Je),L(fe.reduce((Pt,Ne)=>Math.min(Pt,new re(Ne.leftPoint[0],Ne.leftPoint[1],Se).distanceTo(Ce)-1),1/0)),Ln.getState().setEnableOrbitController(!1),O.current=k}},Je)})]}),E&&h.jsx(sa,{name:"Roof Intersection Plane",ref:Z,args:[1e3,100],visible:!1,position:oie,rotation:iie,onPointerMove:Ke=>{if(Z.current&&ie.current){le(Ke);const Je=H.intersectObjects([Z.current]);if(Je[0]&&e){const ct=Je[0].point;if(ct.z<.001)return;switch(F){case ki.Top:{const Pt=Math.max(0,ct.z-e.lz-.6-de);M.getState().updateRoofRiseById(n,Pt,Se+t.thickness);break}case ki.Ridge:{if(e&&_!==null){const Pt=ct.clone().applyEuler(new Qt(0,0,e.rotation[2])).sub(new re(e.cx,e.cy)).setZ(0),Ne=se(_),lt=Pt.distanceTo(Ne),Ye=new re().subVectors(Ce.clone().setZ(0),Ne);Pt.clone().sub(Ne).angleTo(Ye){switch(F){case ki.Top:{_W(n,J.current,b);break}case ki.Ridge:{pe(n,F,O.current,k);break}}S(Ke=>{for(const Je of Ke.elements)if(Je.id===n&&Je.type===z.Roof&&Je.roofType===Vo.Mansard){Je.ridgeWidth=k;break}}),ie.current=!1,U(!1),B(ki.Null),Y(null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})}),yt&&yt.map((Ke,Je)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:Ke,name:"Heat Flux "+Je,lineWidth:dt??Xm,color:xt??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:ot.current?Ke[at.current].clone().add(ot.current):Ke[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:et.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:xt??g0})})]},Je))]})},Vvt=be.memo(_vt,BH);var AYe={exports:{}};/*! +`))),{vertexShader:n,fragmentShader:o}}});return e.transparent=!0,Object.defineProperties(e,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),e}const U1e=new G9({color:16777215,side:ji,transparent:!0}),Vwe=8421504,Gwe=new Xr,qj=new re,$oe=new re,mz=[],k6t=new re,Qoe="+x+y";function Xwe(t){return Array.isArray(t)?t[0]:t}let uUe=()=>{const t=new es(new S7(1,1),U1e);return uUe=()=>t,t},dUe=()=>{const t=new es(new S7(1,1,32,1),U1e);return dUe=()=>t,t};const F6t={type:"syncstart"},L6t={type:"synccomplete"},fUe=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],W6t=fUe.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let hUe=class extends es{constructor(){const e=new H6t;super(e,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,this.letterSpacing=0,this.lineHeight="normal",this.maxWidth=1/0,this.overflowWrap="normal",this.textAlign="left",this.textIndent=0,this.whiteSpace="normal",this.material=null,this.color=null,this.colorRanges=null,this.outlineWidth=0,this.outlineColor=0,this.outlineOpacity=1,this.outlineBlur=0,this.outlineOffsetX=0,this.outlineOffsetY=0,this.strokeWidth=0,this.strokeColor=Vwe,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=Qoe,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(F6t),lUe({text:this.text,font:this.font,fontSize:this.fontSize||.1,letterSpacing:this.letterSpacing||0,lineHeight:this.lineHeight||"normal",maxWidth:this.maxWidth,direction:this.direction||"auto",textAlign:this.textAlign,textIndent:this.textIndent,whiteSpace:this.whiteSpace,overflowWrap:this.overflowWrap,anchorX:this.anchorX,anchorY:this.anchorY,colorRanges:this.colorRanges,includeCaretPositions:!0,sdfGlyphSize:this.sdfGlyphSize,gpuAccelerateSDF:this.gpuAccelerateSDF},n=>{this._isSyncing=!1,this._textRenderInfo=n,this.geometry.updateGlyphs(n.glyphBounds,n.glyphAtlasIndices,n.blockBounds,n.chunkedBounds,n.glyphColors);const o=this._queuedSyncs;o&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{o.forEach(i=>i&&i())})),this.dispatchEvent(L6t),e&&e()})))}onBeforeRender(e,n,o,i,r,a){this.sync(),r.isTroikaTextMaterial&&this._prepareForRender(r),r._hadOwnSide=r.hasOwnProperty("side"),this.geometry.setSide(r._actualSide=r.side),r.side=ia}onAfterRender(e,n,o,i,r,a){r._hadOwnSide?r.side=r._actualSide:delete r.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let e=this._derivedMaterial;const n=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=U1e.clone());if((!e||e.baseMaterial!==n)&&(e=this._derivedMaterial=E6t(n),n.addEventListener("dispose",function o(){n.removeEventListener("dispose",o),e.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let o=e._outlineMtl;return o||(o=e._outlineMtl=Object.create(e,{id:{value:e.id+.1}}),o.isTextOutlineMaterial=!0,o.depthWrite=!1,o.map=null,e.addEventListener("dispose",function i(){e.removeEventListener("dispose",i),o.dispose()})),[o,e]}else return e}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return Xwe(this.material).getDepthMaterial()}get customDistanceMaterial(){return Xwe(this.material).getDistanceMaterial()}_prepareForRender(e){const n=e.isTextOutlineMaterial,o=e.uniforms,i=this.textRenderInfo;if(i){const{sdfTexture:l,blockBounds:s}=i;o.uTroikaSDFTexture.value=l,o.uTroikaSDFTextureSize.value.set(l.image.width,l.image.height),o.uTroikaSDFGlyphSize.value=i.sdfGlyphSize,o.uTroikaSDFExponent.value=i.sdfExponent,o.uTroikaTotalBounds.value.fromArray(s),o.uTroikaUseGlyphColors.value=!n&&!!i.glyphColors;let c=0,u=0,d=0,f,p,g,A=0,w=0;if(n){let{outlineWidth:C,outlineOffsetX:P,outlineOffsetY:v,outlineBlur:T,outlineOpacity:y}=this;c=this._parsePercent(C)||0,u=Math.max(0,this._parsePercent(T)||0),f=y,A=this._parsePercent(P)||0,w=this._parsePercent(v)||0}else d=Math.max(0,this._parsePercent(this.strokeWidth)||0),d&&(g=this.strokeColor,o.uTroikaStrokeColor.value.set(g??Vwe),p=this.strokeOpacity,p==null&&(p=1)),f=this.fillOpacity;o.uTroikaDistanceOffset.value=c,o.uTroikaPositionOffset.value.set(A,w),o.uTroikaBlurRadius.value=u,o.uTroikaStrokeWidth.value=d,o.uTroikaStrokeOpacity.value=p,o.uTroikaFillOpacity.value=f??1,o.uTroikaCurveRadius.value=this.curveRadius||0;let b=this.clipRect;if(b&&Array.isArray(b)&&b.length===4)o.uTroikaClipRect.value.fromArray(b);else{const C=(this.fontSize||.1)*100;o.uTroikaClipRect.value.set(s[0]-C,s[1]-C,s[2]+C,s[3]+C)}this.geometry.applyClipRect(o.uTroikaClipRect.value)}o.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const r=n?this.outlineColor||0:this.color;if(r==null)delete e.color;else{const l=e.hasOwnProperty("color")?e.color:e.color=new Xo;(r!==l._input||typeof r=="object")&&l.set(l._input=r)}let a=this.orientation||Qoe;if(a!==e._orientation){let l=o.uTroikaOrient.value;a=a.replace(/[^-+xyz]/g,"");let s=a!==Qoe&&a.match(/^([-+])([xyz])([-+])([xyz])$/);if(s){let[,c,u,d,f]=s;qj.set(0,0,0)[u]=c==="-"?1:-1,$oe.set(0,0,0)[f]=d==="-"?-1:1,Gwe.lookAt(k6t,qj.cross($oe),$oe),l.setFromMatrix4(Gwe)}else l.identity();e._orientation=a}}_parsePercent(e){if(typeof e=="string"){let n=e.match(/^(-?[\d.]+)%$/),o=n?parseFloat(n[1]):NaN;e=(isNaN(o)?0:o/100)*this.fontSize}return e}localPositionToTextCoords(e,n=new Gt){n.copy(e);const o=this.curveRadius;return o&&(n.x=Math.atan2(e.x,Math.abs(o)-Math.abs(e.z))*Math.abs(o)),n}worldPositionToTextCoords(e,n=new Gt){return qj.copy(e),this.localPositionToTextCoords(this.worldToLocal(qj),n)}raycast(e,n){const{textRenderInfo:o,curveRadius:i}=this;if(o){const r=o.blockBounds,a=i?dUe():uUe(),l=a.geometry,{position:s,uv:c}=l.attributes;for(let u=0;u{this[o]=e[o]}),this}clone(){return new this.constructor().copy(this)}};fUe.forEach(t=>{const e="_private_"+t;Object.defineProperty(hUe.prototype,t,{get(){return this[e]},set(n){n!==this[e]&&(this[e]=n,this._needsSync=!0)}})});const N6t=m.forwardRef(({sdfGlyphSize:t=64,anchorX:e="center",anchorY:n="middle",font:o,fontSize:i=1,children:r,characters:a,onSync:l,...s},c)=>{const u=Xi(({invalidate:g})=>g),[d]=m.useState(()=>new hUe),[f,p]=m.useMemo(()=>{const g=[];let A="";return m.Children.forEach(r,w=>{typeof w=="string"||typeof w=="number"?A+=w:g.push(w)}),[g,A]},[r]);return HNe(()=>new Promise(g=>v6t({font:o,characters:a},g)),["troika-text",o,a]),m.useLayoutEffect(()=>void d.sync(()=>{u(),l&&l(d)})),m.useEffect(()=>()=>d.dispose(),[d]),m.createElement("primitive",z9({object:d,ref:c,font:o,text:p,anchorX:e,anchorY:n,fontSize:i,sdfGlyphSize:t},s),f)}),Jwe=t=>t===Object(t)&&!Array.isArray(t)&&typeof t!="function";function Ab(t,e){const n=Xi(i=>i.gl),o=aA(nf,Jwe(t)?Object.values(t):t);if(m.useLayoutEffect(()=>{e==null||e(o)},[e]),m.useEffect(()=>{"initTexture"in n&&(Array.isArray(o)?o:[o]).forEach(n.initTexture)},[n,o]),Jwe(t)){const i=Object.keys(t),r={};return i.forEach(a=>Object.assign(r,{[a]:o[i.indexOf(a)]})),r}else return o}Ab.preload=t=>aA.preload(nf,t);Ab.clear=t=>aA.clear(nf,t);function pUe(t,e,n){const o=Xi(f=>f.size),i=Xi(f=>f.viewport),r=typeof t=="number"?t:o.width*i.dpr,a=o.height*i.dpr,l=(typeof t=="number"?n:t)||{},{samples:s=0,depth:c,...u}=l,d=m.useMemo(()=>{const f=new Vm(r,a,{minFilter:js,magFilter:js,type:Lx,...u});return c&&(f.depthTexture=new c1e(r,a,p2)),f.samples=s,f},[]);return m.useLayoutEffect(()=>{d.setSize(r,a),s&&(d.samples=s)},[s,d,r,a]),m.useEffect(()=>()=>d.dispose(),[]),d}const U6t=t=>typeof t=="function",B6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,children:o,makeDefault:i,...r},a)=>{const l=Xi(({set:w})=>w),s=Xi(({camera:w})=>w),c=Xi(({size:w})=>w),u=m.useRef(null),d=m.useRef(null),f=pUe(e);m.useLayoutEffect(()=>{r.manual||u.current.updateProjectionMatrix()},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()}),m.useLayoutEffect(()=>{if(i){const w=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:w}))}},[u,i,l]);let p=0,g=null;const A=U6t(o);return rA(w=>{A&&(n===1/0||ptypeof t=="function",Y6t=m.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,makeDefault:o,children:i,...r},a)=>{const l=Xi(({set:w})=>w),s=Xi(({camera:w})=>w),c=Xi(({size:w})=>w),u=m.useRef(null),d=m.useRef(null),f=pUe(e);m.useLayoutEffect(()=>{r.manual||(u.current.aspect=c.width/c.height)},[c,r]),m.useLayoutEffect(()=>{u.current.updateProjectionMatrix()});let p=0,g=null;const A=j6t(i);return rA(w=>{A&&(n===1/0||p{if(o){const w=s;return l(()=>({camera:u.current})),()=>l(()=>({camera:w}))}},[u,o,l]),m.createElement(m.Fragment,null,m.createElement("perspectiveCamera",z9({ref:L1e([u,a])},r),!A&&i),m.createElement("group",{ref:d},A&&i(f.texture)))});function lA(t,e){const n=t+"Geometry";return m.forwardRef(({args:o,children:i,...r},a)=>{const l=m.useRef(null);return m.useImperativeHandle(a,()=>l.current),m.useLayoutEffect(()=>void(e==null?void 0:e(l.current))),m.createElement("mesh",z9({ref:l},r),m.createElement(n,{attach:"geometry",args:o}),i)})}const Ei=lA("box"),KC=lA("circle"),cu=lA("cone"),wa=lA("cylinder"),ts=lA("sphere"),sa=lA("plane"),B1e=lA("torus"),Y6=lA("ring"),$w=lA("extrude"),j5=1e-5;function O6t(t,e,n){const o=new Ml,i=n-j5;return o.absarc(j5,j5,j5,-Math.PI/2,-Math.PI,!0),o.absarc(j5,e-i*2,j5,Math.PI,Math.PI/2,!0),o.absarc(t-i*2,e-i*2,j5,Math.PI/2,0,!0),o.absarc(t-i*2,j5,j5,0,-Math.PI/2,!0),o}const _6t=m.forwardRef(function({args:[e=1,n=1,o=1]=[],radius:i=.05,steps:r=1,smoothness:a=4,bevelSegments:l=4,creaseAngle:s=.4,children:c,...u},d){const f=m.useMemo(()=>O6t(e,n,i),[e,n,i]),p=m.useMemo(()=>({depth:o-i*2,bevelEnabled:!0,bevelSegments:l*2,steps:r,bevelSize:i-j5,bevelThickness:i,curveSegments:a}),[o,i,a]),g=m.useRef(null);return m.useLayoutEffect(()=>{g.current&&(g.current.center(),j3t(g.current,s))},[f,p]),m.createElement("mesh",z9({ref:d},u),m.createElement("extrudeGeometry",{ref:g,args:[f,p]}),c)});var gUe={exports:{}},V6t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",G6t=V6t,X6t=G6t;function mUe(){}function yUe(){}yUe.resetWarningCache=mUe;var J6t=function(){function t(o,i,r,a,l,s){if(s!==X6t){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:yUe,resetWarningCache:mUe};return n.PropTypes=n,n};gUe.exports=J6t();var fq=gUe.exports;const fo=kr(fq),Ln=xK()((t,e)=>({setEnableOrbitController:n=>{M.getState().viewState.navigationView||t(o=>{var i;return(i=o.orbitControlsRef)!=null&&i.current&&(o.orbitControlsRef.current.enabled=n),o})},selectNone:()=>{t({humanRef:null,treeRef:null,foundationRef:null})},contentRef:null,compassRef:null,orbitControlsRef:null,humanRef:null,treeRef:null,flowerRef:null,foundationRef:null,cuboidRef:null,listenToAutoDeletionByCutRef:null,listenToAutoDeletionByDeleteRef:null,setListenToAutoDeletionByCut:n=>{const o=e().listenToAutoDeletionByCutRef;o&&(o.current=n)},setListenToAutoDeletionByDelete:n=>{const o=e().listenToAutoDeletionByDeleteRef;o&&(o.current=n)},canvas:null}));var Sr=(t=>(t.Default="Default",t.Arched="Arched",t.Circular="Circular",t.Polygonal="Polygonal",t))(Sr||{});const AUe="/aladdin/assets/jaah-XpG2K-Xo.png",wUe="/aladdin/assets/jack-DVed1dhl.png",vUe="/aladdin/assets/jacob-D-6uVZRV.png",xUe="/aladdin/assets/jacqueline-DZtJs4FX.png",bUe="/aladdin/assets/jade-Cxa-afE4.png",SUe="/aladdin/assets/jamelia-Bmq4EsGl.png",TUe="/aladdin/assets/james-QtBSrtsa.png",PUe="/aladdin/assets/jane-ZqCTWK8F.png",CUe="/aladdin/assets/jaya-DD0RNxX8.png",RUe="/aladdin/assets/jaye-DPA2kSta.png",HUe="/aladdin/assets/jeanette-D3EEzZKV.png",MUe="/aladdin/assets/jedi-CUm23-QH.png",IUe="/aladdin/assets/jeff-931UF5LC.png",zUe="/aladdin/assets/jena-qnIKFCdf.png",DUe="/aladdin/assets/jennifer-Cvadr5-Q.png",EUe="/aladdin/assets/jess-DyGUx_b1.png",kUe="/aladdin/assets/jett-B01M7z86.png",FUe="/aladdin/assets/jill-CxIC2A4v.png",LUe="/aladdin/assets/jiya-CF0SpO2m.png",WUe="/aladdin/assets/joan-DWpjHIrM.png",NUe="/aladdin/assets/jocelyn-DGLHmbKA.png",UUe="/aladdin/assets/joel-DhW3d8dZ.png",BUe="/aladdin/assets/joey-Dmd3kcA2.png",jUe="/aladdin/assets/john-QF2zQU-p.png",YUe="/aladdin/assets/jonathon-TM1sY2jf.png",OUe="/aladdin/assets/jose-CtYKGQoQ.png",_Ue="/aladdin/assets/joseph-C7wga7kl.png",VUe="/aladdin/assets/joshua-CqTzsm-K.png",GUe="/aladdin/assets/judd-C8GabaWl.png",XUe="/aladdin/assets/judy-Cv4UEjOl.png",JUe="/aladdin/assets/julia-Ckjw2r2H.png",KUe="/aladdin/assets/julio-CPCcOGMU.png",qUe="/aladdin/assets/jumapili-TjSAWyhv.png",$Ue="/aladdin/assets/june-Bkxc2WDe.png",QUe="/aladdin/assets/juro-BAi3R6Hw.png",ZUe="/aladdin/assets/justin-DLG1o6Q7.png";class Ip{static fetchGender(e){switch(e){case Yt.Jaah:return Ca.Male;case Yt.Jacqueline:return Ca.Female;case Yt.Jade:return Ca.Female;case Yt.Jamelia:return Ca.Female;case Yt.James:return Ca.Male;case Yt.Jane:return Ca.Female;case Yt.Jaya:return Ca.Female;case Yt.Jaye:return Ca.Male;case Yt.Jeanette:return Ca.Female;case Yt.Jedi:return Ca.Male;case Yt.Jeff:return Ca.Male;case Yt.Jena:return Ca.Female;case Yt.Jennifer:return Ca.Female;case Yt.Jess:return Ca.Female;case Yt.Jett:return Ca.Male;case Yt.Jill:return Ca.Female;case Yt.Jiya:return Ca.Female;case Yt.Joan:return Ca.Female;case Yt.Jocelyn:return Ca.Female;case Yt.Joel:return Ca.Male;case Yt.Joey:return Ca.Female;case Yt.John:return Ca.Male;case Yt.Jonathon:return Ca.Male;case Yt.Jose:return Ca.Male;case Yt.Joseph:return Ca.Male;case Yt.Joshua:return Ca.Male;case Yt.Judd:return Ca.Male;case Yt.Judy:return Ca.Female;case Yt.Julia:return Ca.Female;case Yt.Julio:return Ca.Male;case Yt.Jumapili:return Ca.Female;case Yt.June:return Ca.Female;case Yt.Juro:return Ca.Male;case Yt.Justin:return Ca.Male;default:return Ca.Male}}static fetchLabel(e,n){switch(e){case Yt.Jaah:return j.t("people.Jaah",n);case Yt.Jacob:return j.t("people.Jacob",n);case Yt.Jacqueline:return j.t("people.Jacqueline",n);case Yt.Jade:return j.t("people.Jade",n);case Yt.Jamelia:return j.t("people.Jamelia",n);case Yt.James:return j.t("people.James",n);case Yt.Jane:return j.t("people.Jane",n);case Yt.Jaya:return j.t("people.Jaya",n);case Yt.Jaye:return j.t("people.Jaye",n);case Yt.Jeanette:return j.t("people.Jeanette",n);case Yt.Jedi:return j.t("people.Jedi",n);case Yt.Jeff:return j.t("people.Jeff",n);case Yt.Jena:return j.t("people.Jena",n);case Yt.Jennifer:return j.t("people.Jennifer",n);case Yt.Jess:return j.t("people.Jess",n);case Yt.Jett:return j.t("people.Jett",n);case Yt.Jill:return j.t("people.Jill",n);case Yt.Jiya:return j.t("people.Jiya",n);case Yt.Joan:return j.t("people.Joan",n);case Yt.Jocelyn:return j.t("people.Jocelyn",n);case Yt.Joel:return j.t("people.Joel",n);case Yt.Joey:return j.t("people.Joey",n);case Yt.John:return j.t("people.John",n);case Yt.Jonathon:return j.t("people.Jonathon",n);case Yt.Jose:return j.t("people.Jose",n);case Yt.Joseph:return j.t("people.Joseph",n);case Yt.Joshua:return j.t("people.Joshua",n);case Yt.Judd:return j.t("people.Judd",n);case Yt.Judy:return j.t("people.Judy",n);case Yt.Julia:return j.t("people.Julia",n);case Yt.Julio:return j.t("people.Julio",n);case Yt.Jumapili:return j.t("people.Jumapili",n);case Yt.June:return j.t("people.June",n);case Yt.Juro:return j.t("people.Juro",n);case Yt.Justin:return j.t("people.Justin",n);default:return j.t("people.Jack",n)}}static fetchHatOffsetY(e){switch(e){case Yt.Jonathon:return-.22}return 0}static fetchHatOffsetX(e){switch(e){case Yt.Jaah:return-.05;case Yt.Jack:return-.05;case Yt.Jacob:return .09;case Yt.Jade:return-.04;case Yt.Jaya:return .04;case Yt.Jaye:return 0;case Yt.Jamelia:return .05;case Yt.Jane:return .02;case Yt.Jeanette:return .08;case Yt.Jedi:return-.02;case Yt.Jeff:return-.05;case Yt.Jena:return .05;case Yt.Jennifer:return .02;case Yt.Jess:return .01;case Yt.Jett:return-.04;case Yt.Jill:return-.03;case Yt.Jiya:return-.03;case Yt.Joan:return-.45;case Yt.Jocelyn:return-.01;case Yt.Joel:return-.48;case Yt.Joey:return .01;case Yt.John:return .01;case Yt.Jonathon:return .02;case Yt.Jose:return .05;case Yt.Joseph:return .05;case Yt.Joshua:return-.01;case Yt.Judy:return .02;case Yt.Julia:return-.02;case Yt.Jumapili:return-.04;case Yt.June:return-.1;case Yt.Juro:return-.08;case Yt.Justin:return-.06;default:return 0}}static fetchHeight(e){switch(e){case Yt.Jaah:return 1.78;case Yt.Jack:return 1.8;case Yt.Jacob:return 1.82;case Yt.Jacqueline:return 1.78;case Yt.Jade:return 1.6;case Yt.James:return 1.75;case Yt.Jane:return 1.67;case Yt.Jaya:return 1.55;case Yt.Jaye:return 1.65;case Yt.Jamelia:return 1.8;case Yt.Jeanette:return 1.62;case Yt.Jedi:return 1.75;case Yt.Jeff:return 1.65;case Yt.Jena:return 1.6;case Yt.Jennifer:return 1.7;case Yt.Jess:return 1.5;case Yt.Jett:return 1.85;case Yt.Jill:return 1.71;case Yt.Jiya:return 1.74;case Yt.Joan:return 1.68;case Yt.Jocelyn:return 1.72;case Yt.Joel:return 1.75;case Yt.Joey:return 1.72;case Yt.John:return 1.85;case Yt.Jonathon:return 1.9;case Yt.Jose:return 1.6;case Yt.Joseph:return 1.88;case Yt.Joshua:return 1.79;case Yt.Judd:return 1.68;case Yt.Judy:return 1.75;case Yt.Julia:return 1.71;case Yt.Julio:return 1.76;case Yt.Jumapili:return 1.65;case Yt.June:return 1.85;case Yt.Juro:return 1.72;case Yt.Justin:return 1.755;default:return 1.8}}static fetchWidth(e){switch(e){case Yt.Jaah:return .74;case Yt.Jack:return .42;case Yt.Jacqueline:return .43;case Yt.Jacob:return .8;case Yt.Jade:return .48;case Yt.James:return .472;case Yt.Jane:return .4;case Yt.Jaya:return .6;case Yt.Jaye:return .55;case Yt.Jamelia:return .65;case Yt.Jeanette:return .4;case Yt.Jedi:return .56;case Yt.Jena:return .695;case Yt.Jennifer:return .45;case Yt.Jess:return .43;case Yt.Jill:return .42;case Yt.Joan:return 1.7;case Yt.Jocelyn:return .4;case Yt.Joel:return 1.8;case Yt.Joey:return .462;case Yt.John:return .6;case Yt.Jonathon:return .6;case Yt.Jose:return 2;case Yt.Joseph:return .6;case Yt.Joshua:return .5;case Yt.Judd:return .544;case Yt.Judy:return .41;case Yt.Julia:return .43;case Yt.Julio:return .5;case Yt.Jumapili:return .75;case Yt.June:return .65;case Yt.Juro:return .494;case Yt.Justin:return .6;default:return .6}}static fetchTextureImage(e){let n;switch(e){case Yt.Jaah:n=AUe;break;case Yt.Jacob:n=vUe;break;case Yt.Jacqueline:n=xUe;break;case Yt.Jade:n=bUe;break;case Yt.Jamelia:n=SUe;break;case Yt.James:n=TUe;break;case Yt.Jane:n=PUe;break;case Yt.Jaya:n=CUe;break;case Yt.Jaye:n=RUe;break;case Yt.Jeanette:n=HUe;break;case Yt.Jedi:n=MUe;break;case Yt.Jeff:n=IUe;break;case Yt.Jena:n=zUe;break;case Yt.Jennifer:n=DUe;break;case Yt.Jess:n=EUe;break;case Yt.Jett:n=kUe;break;case Yt.Jill:n=FUe;break;case Yt.Jiya:n=LUe;break;case Yt.Joan:n=WUe;break;case Yt.Jocelyn:n=NUe;break;case Yt.Joel:n=UUe;break;case Yt.Joey:n=BUe;break;case Yt.John:n=jUe;break;case Yt.Jonathon:n=YUe;break;case Yt.Jose:n=OUe;break;case Yt.Joseph:n=_Ue;break;case Yt.Joshua:n=VUe;break;case Yt.Judd:n=GUe;break;case Yt.Judy:n=XUe;break;case Yt.Julia:n=JUe;break;case Yt.Julio:n=KUe;break;case Yt.Jumapili:n=qUe;break;case Yt.June:n=$Ue;break;case Yt.Juro:n=QUe;break;case Yt.Justin:n=ZUe;break;default:n=wUe}return n}}const K6t="/aladdin/assets/no_leaf_flower-CjefG9cq.png",q6t="/aladdin/assets/no_leaf_shrub-DDlKdxg_.png",eBe="/aladdin/assets/bellflower-C5sA-Fge.png",gce="/aladdin/assets/boxwood-cAqkPwU6.png",mce="/aladdin/assets/cactus_combo_1-DgrI_pBB.png",yce="/aladdin/assets/cactus_combo_2-CnD7zsEV.png",Ace="/aladdin/assets/cactus_combo_3-CTLr6iHA.png",wce="/aladdin/assets/cactus_combo_4-Bv3aYeWB.png",tBe="/aladdin/assets/hibiscus-DqTQjw28.png",nBe="/aladdin/assets/hydrangea-D6uimbNa.png",oBe="/aladdin/assets/hosta-Ds5QIDtm.png",iBe="/aladdin/assets/peony-pnxufFxy.png",rBe="/aladdin/assets/red_rose-BhP67K90.png",aBe="/aladdin/assets/spirea-aOcGALMo.png",lBe="/aladdin/assets/sunflower-l75w306z.png",vce="/aladdin/assets/tall_bush-g5bJ_GuV.png",sBe="/aladdin/assets/tulip-BqSv3XYD.png",cBe="/aladdin/assets/white_flower-BUfV78a-.png",uBe="/aladdin/assets/yellow_flower-BQ5dOM0H.png";class cw{static fetchSpread(e){switch(e){case $n.Bellflower:return .45;case $n.Boxwood:return 1.6;case $n.CactusCombo1:return 1;case $n.CactusCombo2:return 1;case $n.CactusCombo3:return 1;case $n.CactusCombo4:return 1;case $n.Hosta:return 1;case $n.Hibiscus:return 2;case $n.Hydrangea:return 2;case $n.Peony:return 1.5;case $n.RedRose:return .5;case $n.Spirea:return 1.8;case $n.Sunflower:return 1;case $n.TallBush:return 1;case $n.Tulip:return .4;case $n.YellowFlower:return 2;default:return .8}}static fetchHeight(e){switch(e){case $n.Bellflower:return .4;case $n.Boxwood:return 1.44;case $n.CactusCombo1:return 1.18;case $n.CactusCombo2:return 1.35;case $n.CactusCombo3:return 1.24;case $n.CactusCombo4:return 1.35;case $n.Hosta:return .7;case $n.Hibiscus:return 1.7;case $n.Hydrangea:return 1.5;case $n.Peony:return 1;case $n.RedRose:return .8;case $n.Spirea:return 1.6;case $n.Sunflower:return 2;case $n.TallBush:return 2;case $n.Tulip:return .7;case $n.YellowFlower:return 1.4;default:return .5}}static fetchLabel(e,n){switch(e){case $n.Bellflower:return j.t("flower.Bellflower",n);case $n.Boxwood:return j.t("flower.Boxwood",n);case $n.CactusCombo1:return j.t("flower.CactusCombo1",n);case $n.CactusCombo2:return j.t("flower.CactusCombo2",n);case $n.CactusCombo3:return j.t("flower.CactusCombo3",n);case $n.CactusCombo4:return j.t("flower.CactusCombo4",n);case $n.Hibiscus:return j.t("flower.Hibiscus",n);case $n.Hydrangea:return j.t("flower.Hydrangea",n);case $n.Hosta:return j.t("flower.Hosta",n);case $n.Peony:return j.t("flower.Peony",n);case $n.RedRose:return j.t("flower.RedRose",n);case $n.Spirea:return j.t("flower.Spirea",n);case $n.Sunflower:return j.t("flower.Sunflower",n);case $n.TallBush:return j.t("flower.TallBush",n);case $n.Tulip:return j.t("flower.Tulip",n);case $n.YellowFlower:return j.t("flower.YellowFlower",n);default:return j.t("flower.WhiteFlower",n)}}static fetchTextureImage(e,n){if(n)return e===$n.Hibiscus||e===$n.Hydrangea||e===$n.YellowFlower||e===$n.Spirea?q6t:e===$n.Boxwood?gce:e===$n.TallBush?vce:e===$n.CactusCombo1?mce:e===$n.CactusCombo2?yce:e===$n.CactusCombo3?Ace:e===$n.CactusCombo4?wce:K6t;let o;switch(e){case $n.Bellflower:o=eBe;break;case $n.Boxwood:o=gce;break;case $n.CactusCombo1:o=mce;break;case $n.CactusCombo2:o=yce;break;case $n.CactusCombo3:o=Ace;break;case $n.CactusCombo4:o=wce;break;case $n.Hibiscus:o=tBe;break;case $n.Hydrangea:o=nBe;break;case $n.Hosta:o=oBe;break;case $n.Peony:o=iBe;break;case $n.RedRose:o=rBe;break;case $n.Spirea:o=aBe;break;case $n.Sunflower:o=lBe;break;case $n.TallBush:o=vce;break;case $n.Tulip:o=sBe;break;case $n.YellowFlower:o=uBe;break;default:o=cBe}return o}}class rl{static makeHuman(e,n,o,i,r){return{type:z.Human,name:e??Yt.Jack,cx:o,cy:i,cz:r,lx:Ip.fetchWidth(e??Yt.Jack),lz:Ip.fetchHeight(e??Yt.Jack),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeTree(e,n,o,i,r,a,l){return{type:z.Tree,name:e??fi.Dogwood,cx:r,cy:a,cz:l,lx:n??3,lz:o??4,normal:[0,1,0],rotation:[0,0,0],parentId:i,id:ta.generate()}}static makeSolarPanel(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w){let b;switch(e.type){case z.Foundation:b=e.id,w=z.Foundation;break;case z.Cuboid:b=e.id,w=z.Cuboid;break;case z.Wall:case z.Roof:b=e.parentId;break}return{type:z.SolarPanel,pvModelName:n.name,trackerType:Ma.NO_TRACKER,relativeAzimuth:u??0,tiltAngle:c??0,orientation:a??ui.landscape,drawSunBeam:!1,poleHeight:l??1,poleRadius:.05,poleSpacing:s??3,cx:o,cy:i,cz:r,lx:g??(a===ui.landscape?n.length:n.width),ly:A??(a===ui.landscape?n.width:n.length),lz:n.thickness,showLabel:!1,normal:d?d.toArray():[0,0,1],rotation:f||[0,0,0],color:"#fff",frameColor:p??"white",parentType:w,parentId:e.id,foundationId:b,id:ta.generate()}}static makeFlower(e,n,o,i,r){return{type:z.Flower,name:e??$n.YellowFlower,cx:o,cy:i,cz:r,lx:cw.fetchSpread(e??$n.YellowFlower),lz:cw.fetchHeight(e??$n.YellowFlower),normal:[0,1,0],rotation:[0,0,0],parentId:n,id:ta.generate()}}static makeCuboid(e,n,o,i,r){return{type:z.Cuboid,cx:e,cy:n,cz:o?o/2:2,lx:.1,ly:.1,lz:o??4,color:"#808080",faceColors:i??["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:r??[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:M.getState().actionState.cuboidStackable,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,id:ta.generate()}}static makeFoundation(e,n,o,i,r){return{type:z.Foundation,cx:e,cy:n,cz:o?o/2:.05,lx:0,ly:0,lz:o??.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,selected:!1,color:i??"#808080",textureType:r??Or.NoTexture,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:ta.generate()}}static makeParabolicTrough(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A){let w;switch(e.type){case z.Foundation:w=e.id;break}return{type:z.ParabolicTrough,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:s??3,latusRectum:a??2,relativeAzimuth:0,tiltAngle:0,absorberTubeRadius:.05,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.05,cx:c,cy:u,cz:d,lx:g??2,ly:A??9,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:w,id:ta.generate()}}static makeParabolicDish(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A){let w;switch(e.type){case z.Foundation:w=e.id;break}return{type:z.ParabolicDish,reflectance:n??.9,absorptance:o??.95,opticalEfficiency:i??.7,thermalEfficiency:r??.3,moduleLength:3,latusRectum:a??8,relativeAzimuth:0,tiltAngle:0,structureType:s??tf.CentralPole,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!1,poleHeight:l??.2,poleRadius:.2,cx:c,cy:u,cz:d,lx:g??4,ly:A??4,lz:.1,showLabel:!1,normal:f?f.toArray():[0,0,1],rotation:p||[0,0,0],parentId:e.id,foundationId:w,id:ta.generate()}}static makeFresnelReflector(e,n,o,i,r,a,l,s,c,u,d,f){let p;switch(e.type){case z.Foundation:p=e.id;break}return{type:z.FresnelReflector,receiverId:n??"None",reflectance:o??.9,moduleLength:r??3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.05,cx:a,cy:l,cz:s,lx:d??2,ly:f??9,lz:.1,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:p,id:ta.generate()}}static makeWindTurbine(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w,b,C,P){let v;switch(e.type){case z.Foundation:v=e.id;break}return{type:z.WindTurbine,birdSafe:n,bladeColor:o,stripeColor:i,numberOfBlades:r,initialRotorAngle:a,relativeYawAngle:l,pitchAngle:s,bladeRadius:c,bladeTipWidth:.2,bladeRootRadius:u,maximumChordRadius:f,maximumChordLength:d,towerRadius:p,towerHeight:g,hubRadius:A,hubLength:w,cx:b,cy:C,cz:P,lx:p*4,ly:p*4,lz:g+c,normal:[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:v,id:ta.generate()}}static makeHeliostat(e,n,o,i,r,a,l,s,c,u,d){let f;switch(e.type){case z.Foundation:f=e.id;break}return{type:z.Heliostat,towerId:n??"None",reflectance:o??.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:i??.2,poleRadius:.1,cx:r,cy:a,cz:l,lx:u??2,ly:d??4,lz:.1,showLabel:!1,normal:s?s.toArray():[0,0,1],rotation:c||[0,0,0],parentId:e.id,foundationId:f,id:ta.generate()}}static makePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=.2,u=.2,d=.2;let f=n,p=o;return e.type===z.Cuboid&&r?xe.isUnitVectorX(r)?f=i:xe.isUnitVectorY(r)&&(p=i):e.type===z.Wall&&(p=i),{type:z.Polygon,cx:f,cy:p,cz:0,lx:2*c,ly:2*u,lz:2*d,color:"#ffffff",normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],vertices:[{x:Math.max(-.5,f-c),y:Math.max(-.5,p-u)},{x:Math.max(-.5,f-c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.min(.5,p+u)},{x:Math.min(.5,f+c),y:Math.max(-.5,p-u)}],parentId:e.id,parentType:l,foundationId:s,selected:!1,filled:!0,selectedIndex:-1,id:ta.generate()}}static makeWall(e,n,o,i,r){const a=M.getState().actionState;return{type:z.Wall,cx:n,cy:o,cz:i,lx:0,ly:a.wallThickness??.3,lz:a.wallHeight??5,parapet:a.wallParapet,eavesLength:a.wallEavesLength??.3,rValue:a.wallRValue??3,fill:Hl.Full,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:a.wallHeight-.5,rightTopPartialHeight:a.wallHeight-.5,relativeAngle:0,leftPoint:[],rightPoint:[],leftJoints:[],rightJoints:[],textureType:a.wallTexture??No.Default,color:a.wallColor??"#ffffff",volumetricHeatCapacity:a.wallVolumetricHeatCapacity??.5,wallStructure:a.wallStructure??hc.Default,studSpacing:a.wallStructureSpacing??2,studWidth:a.wallStructureWidth??.1,studColor:a.wallStructureColor??"#ffffff",opacity:a.wallOpacity!==void 0?a.wallOpacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:[0,0,0],parentId:e.id,foundationId:e.id,id:ta.generate()}}static makeSensor(e,n,o,i,r,a){let l;switch(e.type){case z.Foundation:case z.Cuboid:l=e.id;break;case z.Wall:case z.Roof:l=e.parentId;break}return{type:z.Sensor,cx:n,cy:o,cz:i,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:r?r.toArray():[0,0,1],rotation:a||[0,0,0],parentId:e.id,foundationId:l,parentType:e.type,id:ta.generate()}}static makeLight(e,n,o,i,r,a,l,s,c,u){let d;switch(e.type){case z.Foundation:case z.Cuboid:d=e.id;break;case z.Wall:case z.Roof:d=e.parentId;break}return{type:z.Light,decay:n??2,distance:o??5,intensity:i??3,color:r??"#ffff99",cx:a,cy:l,cz:s,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:c?c.toArray():[0,0,1],rotation:u||[0,0,0],parentId:e.id,foundationId:d,parentType:e.type,id:ta.generate()}}static makeWindow(e,n,o,i,r,a,l=0,s=0){let c,u=0;switch(e.type){case z.Cuboid:c=e.id;break;case z.Wall:c=e.parentId,u=e.ly;break;case z.Roof:c=e.parentId,u=e.thickness;break}const d=M.getState().actionState;return{type:z.Window,cx:n,cy:o,cz:i,lx:l,ly:u,lz:s,leftShutter:d.windowShutterLeft,rightShutter:d.windowShutterRight,shutterColor:d.windowShutterColor,shutterWidth:d.windowShutterWidth,horizontalMullion:d.windowHorizontalMullion,verticalMullion:d.windowVerticalMullion,mullionWidth:d.windowMullionWidth,horizontalMullionSpacing:d.windowHorizontalMullionSpacing,verticalMullionSpacing:d.windowVerticalMullionSpacing,mullionColor:d.windowMullionColor,frame:d.windowFrame,frameWidth:d.windowFrameWidth,sillWidth:In.isTypeRoof(r)?0:d.windowSillWidth,windowType:d.windowType,empty:d.windowEmpty,interior:d.windowInterior,archHeight:d.windowArchHeight,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:d.windowColor??"#ffffff",tint:d.windowTint??"#73D8FF",opacity:d.windowOpacity!==void 0?d.windowOpacity:.5,uValue:d.windowUValue??.5,normal:[0,-1,0],rotation:a?[...a]:[0,0,0],parentId:e.id,parentType:r,foundationId:c,id:ta.generate()}}static makeDoor(e){let n;switch(e.type){case z.Cuboid:n=e.id;break;case z.Wall:n=e.parentId;break}const o=M.getState().actionState;return{type:z.Door,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,doorType:o.doorType,filled:o.doorFilled,interior:o.doorInterior,archHeight:o.doorArchHeight,textureType:o.doorTexture??ri.Default,color:o.doorColor??"#ffffff",uValue:o.doorUValue??.5,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:e.id,foundationId:n,id:ta.generate()}}static makePyramidRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Pyramid,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeGableRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Gable,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1]}}static makeHipRoof(e,n,o){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Hip,roofStructure:yc.Default,wallsId:[...e],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate(),leftRidgeLength:(o??2)/2,rightRidgeLength:(o??2)/2}}static makeGambrelRoof(e,n){const i=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:i.roofCeiling??!1,rise:i.roofRise<0?2:i.roofRise,thickness:i.roofThickness??.2,rValue:i.roofRValue??3,color:i.roofColor??"#454769",sideColor:i.roofSideColor??"#ffffff",textureType:i.roofTexture??Ui.Default,roofType:Vo.Gambrel,roofStructure:yc.Default,wallsId:[...e],topRidgePoint:[0,1],frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}static makeMansardRoof(e,n){const o=M.getState().actionState;return{type:z.Roof,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:o.roofCeiling??!1,rise:o.roofRise<0?2:o.roofRise,thickness:o.roofThickness??.2,rValue:o.roofRValue??3,color:o.roofColor??"#454769",sideColor:o.roofSideColor??"#ffffff",textureType:o.roofTexture??Ui.Default,roofType:Vo.Mansard,roofStructure:yc.Default,wallsId:[...e],ridgeWidth:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:n.id,foundationId:n.id,id:ta.generate()}}}const $6t=t=>t.solarPanelArrayLayoutParams.pvModelName,Q6t=t=>t.solarPanelArrayLayoutParams.rowAxis,Z6t=t=>t.solarPanelArrayLayoutParams.rowsPerRack,eAt=t=>t.solarPanelArrayLayoutParams.interRowSpacing,tAt=t=>t.solarPanelArrayLayoutParams.margin,nAt=t=>t.solarPanelArrayLayoutParams.poleHeight,oAt=t=>t.solarPanelArrayLayoutParams.poleSpacing,iAt=t=>t.solarPanelArrayLayoutParams.tiltAngle,rAt=t=>t.solarPanelArrayLayoutParams.orientation,hq=t=>t.viewState.navigationView,ss=t=>t.viewState.shadowEnabled,pq=t=>t.viewState.shadowCameraFar,gq=t=>t.viewState.solarPanelShininess,dBe=t=>t.viewState.windowShininess,X2=t=>t.viewState.heatFluxScaleFactor,q9=t=>t.viewState.heatFluxColor,$9=t=>t.viewState.heatFluxWidth,wf=t=>t.viewState.solarRadiationHeatMapMaxValue,j1e=t=>t.viewState.solarRadiationHeatMapReflectionOnly,Y1e=t=>t.viewState.axes,fBe=t=>t.viewState.ambientLightIntensity,hBe=t=>t.viewState.directLightIntensity,pBe=t=>t.viewState.theme,gBe=t=>t.viewState.showAzimuthAngle,mBe=t=>t.viewState.showElevationAngle,yBe=t=>t.viewState.showZenithAngle,ABe=t=>t.viewState.autoRotate,wBe=t=>t.viewState.hideAddress,sA=t=>t.viewState.groundImage,aAt=t=>t.viewState.groundImageType,vBe=t=>t.viewState.groundColor,xBe=t=>t.viewState.waterSurface,hu=t=>t.viewState.orthographic,lAt=t=>t.viewState.enableRotate,sAt=t=>t.viewState.cameraPosition,cAt=t=>t.viewState.cameraZoom,bBe=t=>t.viewState.heliodon,SBe=t=>t.viewState.showSunAngles,O1e=t=>t.viewState.mapZoom,uAt=t=>t.viewState.mapTilt,TBe=t=>t.viewState.mapType,_1e=t=>t.viewState.showSiteInfoPanel,mq=t=>t.viewState.showDesignInfoPanel,PBe=t=>t.viewState.showInstructionPanel,CBe=t=>t.viewState.showHeliodonPanel,dAt=t=>t.viewState.heliodonPanelX,fAt=t=>t.viewState.heliodonPanelY,hAt=t=>t.viewState.showMapPanel,pAt=t=>t.viewState.mapPanelX,gAt=t=>t.viewState.mapPanelY,mAt=t=>t.viewState.showWeatherPanel,yAt=t=>t.viewState.weatherPanelRect,AAt=t=>t.viewState.showDiurnalTemperaturePanel,wAt=t=>t.viewState.diurnalTemperaturePanelRect,RBe=t=>t.viewState.showStickyNotePanel,vAt=t=>t.viewState.stickyNotePanelRect,xAt=t=>t.viewState.showDailyBuildingEnergyPanel,bAt=t=>t.viewState.dailyBuildingEnergyPanelRect,SAt=t=>t.viewState.showYearlyBuildingEnergyPanel,TAt=t=>t.viewState.yearlyBuildingEnergyPanelRect,HBe=t=>t.viewState.showDailyLightSensorPanel,PAt=t=>t.viewState.dailyLightSensorPanelRect,CAt=t=>t.viewState.showYearlyLightSensorPanel,RAt=t=>t.viewState.yearlyLightSensorPanelRect,HAt=t=>t.viewState.yearlyLightSensorPanelShowDaylight,MAt=t=>t.viewState.yearlyLightSensorPanelShowClearness,MBe=t=>t.viewState.showDailyPvYieldPanel,IAt=t=>t.viewState.dailyPvYieldPanelRect,zAt=t=>t.viewState.showYearlyPvYieldPanel,DAt=t=>t.viewState.yearlyPvYieldPanelRect,EAt=t=>t.viewState.showSolarPanelVisibilityResultsPanel,kAt=t=>t.viewState.visibilityResultsPanelRect,IBe=t=>t.viewState.showDailyParabolicTroughYieldPanel,FAt=t=>t.viewState.dailyParabolicTroughYieldPanelRect,LAt=t=>t.viewState.showYearlyParabolicTroughYieldPanel,WAt=t=>t.viewState.yearlyParabolicTroughYieldPanelRect,zBe=t=>t.viewState.showDailyParabolicDishYieldPanel,NAt=t=>t.viewState.dailyParabolicDishYieldPanelRect,UAt=t=>t.viewState.showYearlyParabolicDishYieldPanel,BAt=t=>t.viewState.yearlyParabolicDishYieldPanelRect,DBe=t=>t.viewState.showDailyFresnelReflectorYieldPanel,jAt=t=>t.viewState.dailyFresnelReflectorYieldPanelRect,YAt=t=>t.viewState.showYearlyFresnelReflectorYieldPanel,OAt=t=>t.viewState.yearlyFresnelReflectorYieldPanelRect,EBe=t=>t.viewState.showDailyHeliostatYieldPanel,_At=t=>t.viewState.dailyHeliostatYieldPanelRect,VAt=t=>t.viewState.showYearlyHeliostatYieldPanel,GAt=t=>t.viewState.yearlyHeliostatYieldPanelRect,kBe=t=>t.viewState.showDailyUpdraftTowerYieldPanel,XAt=t=>t.viewState.dailyUpdraftTowerYieldPanelRect,JAt=t=>t.viewState.showYearlyUpdraftTowerYieldPanel,KAt=t=>t.viewState.yearlyUpdraftTowerYieldPanelRect,qAt=t=>t.viewState.showEvolutionPanel,$At=t=>t.viewState.evolutionPanelRect,Xs=t=>t.world.latitude,wb=t=>t.world.longitude,Ya=t=>t.world.date,V1e=t=>t.world.leafDayOfYear1,G1e=t=>t.world.leafDayOfYear2,QAt=t=>t.world.ground,yq=t=>t.world.address,ZAt=t=>t.world.countryCode,e4t=t=>t.world.airAttenuationCoefficient,t4t=t=>t.world.airConvectiveCoefficient,FBe=t=>t.world.timesPerHour,mH=t=>t.world.daysPerYear,n4t=t=>t.world.discretization,LBe=t=>t.world.diurnalTemperatureModel,KL=t=>t.world.highestTemperatureTimeInMinutes,o4t=t=>t.world.solarRadiationHeatmapGridCellSize,i4t=t=>t.world.pvGridCellSize,r4t=t=>t.world.solarPanelVisibilityGridCellSize,a4t=t=>t.world.cspTimesPerHour,qL=t=>t.world.cspDaysPerYear,l4t=t=>t.world.cspGridCellSize,s4t=t=>t.world.sutTimesPerHour,WBe=t=>t.world.sutDaysPerYear,c4t=t=>t.world.sutGridCellSize,X1e=t=>t.world.noAnimationForHeatmapSimulation,u4t=t=>t.world.noAnimationForThermalSimulation,J1e=t=>t.world.noAnimationForSensorDataCollection,K1e=t=>t.world.noAnimationForSolarPanelSimulation,NBe=t=>t.world.noAnimationForSolarUpdraftTowerSimulation,dn=t=>t.set,o1=t=>t.user,d4t=t=>t.userCount,f4t=t=>t.showEconomicsPanel,h4t=t=>t.showNavigationPanel,p4t=t=>t.showShadowSettings,g4t=t=>t.minimumNavigationMoveSpeed,m4t=t=>t.minimumNavigationTurnSpeed,y4t=t=>t.navigationMoveSpeed,A4t=t=>t.navigationTurnSpeed,i1=t=>t.getHeatmap,q1e=t=>t.setHeatmap,UBe=t=>t.clearHeatmaps,$1e=t=>t.flagOfDailySimulation,vb=t=>t.hourlyHeatExchangeArrayMap,w4t=t=>t.setHourlyHeatExchangeArray,v4t=t=>t.hourlySolarHeatGainArrayMap,x4t=t=>t.setHourlySolarHeatGainArray,b4t=t=>t.hourlySolarPanelOutputArrayMap,S4t=t=>t.setHourlySolarPanelOutputArray,Q1e=t=>t.getRoofSegmentVertices,$L=t=>t.getRoofSegmentVerticesWithoutOverhang,BBe=t=>t.changed,T4t=t=>t.setChanged,P4t=t=>t.setSkipChange,ao=t=>t.applyCount,oo=t=>t.setApplyCount,ca=t=>t.revertApply,Jn=t=>t.elements,C4t=t=>t.notes,C7=t=>t.pvModules,R4t=t=>t.loadPvModules,J2=t=>t.getPvModule,pu=t=>t.floatingWindowOpacity,bc=t=>t.selectedFloatingWindow,Sc=t=>t.language,H4t=t=>t.locale,ha=t=>t.loggable,M4t=t=>t.actionInfo,I4t=t=>t.currentUndoable,Aq=t=>t.openModelsMap,z4t=t=>t.modelsMapLatitude,D4t=t=>t.modelsMapLongitude,E4t=t=>t.modelsMapZoom,k4t=t=>t.modelsMapTilt,Z1e=t=>t.modelsMapType,jBe=t=>t.modelsMapWeatherStations,F4t=t=>t.showCloudFileTitleDialog,YBe=t=>t.showCloudFileTitleDialogFlag,yH=t=>t.cloudFile,L4t=t=>t.latestModelSite,OBe=t=>t.modelSites,_Be=t=>t.peopleModels,W4t=t=>t.saveAccountSettingsFlag,N4t=t=>t.saveCloudFileFlag,U4t=t=>t.createProjectFlag,B4t=t=>t.saveProjectAsFlag,j4t=t=>t.curateDesignToProjectFlag,Y4t=t=>t.showProjectsFlag,O4t=t=>t.updateProjectsFlag,_4t=t=>t.modelsMapFlag,V4t=t=>t.leaderboardFlag,G4t=t=>t.showLeaderboard,X4t=t=>t.publishOnModelsMapFlag,J4t=t=>t.listCloudFilesFlag,K4t=t=>t.localContentToImportAfterCloudFileUpdate,q4t=t=>t.localFileName,$4t=t=>t.createNewFileFlag,Q4t=t=>t.openLocalFileFlag,VBe=t=>t.saveLocalFileDialogVisible,AH=t=>t.fileChanged,Z4t=t=>t.undoManager,En=t=>t.addUndoable,ege=t=>t.importContent,GBe=t=>t.exportContent,ewt=t=>t.clearContent,XBe=t=>t.createEmptyFile,twt=t=>t.aabb,JBe=t=>t.animateSun,nwt=t=>t.animate24Hours,QL=t=>t.runDailyThermalSimulation,owt=t=>t.pauseDailyThermalSimulation,wq=t=>t.runYearlyThermalSimulation,iwt=t=>t.pauseYearlyThermalSimulation,rwt=t=>t.clearDailySimulationResultsFlag,awt=t=>t.clearYearlySimulationResultsFlag,ZL=t=>t.runDynamicSimulation,tge=t=>t.runStaticSimulation,lwt=t=>t.pauseSimulation,K2=t=>t.runEvolution,vq=t=>t.pauseEvolution,xq=t=>t.objectiveEvaluationIndex,wH=t=>t.evolutionMethod,swt=t=>t.updateSceneRadiusFlag,KBe=t=>t.updateSceneRadius,mh=t=>t.sceneRadius,cwt=t=>t.cameraDirection,nge=t=>t.getCameraDirection,Vn=t=>t.getElementById,cA=t=>t.getFoundation,rr=t=>t.getParent,vH=t=>t.getChildren,Q9=t=>t.getChildrenOfType,Z9=t=>t.selectedElement,uwt=t=>t.selectedElementIdSet,xb=t=>t.getSelectedElement,oge=t=>t.overlapWithSibling,qBe=t=>t.selectedSideIndex,e3=t=>t.setElementPosition,ige=t=>t.setElementSize,dwt=t=>t.setElementNormal,fwt=t=>t.updateElementLockById,hwt=t=>t.updateElementReferenceById,pwt=t=>t.updateElementLabelById,gwt=t=>t.updateElementShowLabelById,$Be=t=>t.updateElementCxById,QBe=t=>t.updateElementCyById,mwt=t=>t.updateElementCzById,ywt=t=>t.updateElementCzForAll,t3=t=>t.updateElementLxById,bq=t=>t.updateElementLxAboveFoundation,eW=t=>t.updateElementLxForAll,R7=t=>t.updateElementLyById,Sq=t=>t.updateElementLyAboveFoundation,tW=t=>t.updateElementLyForAll,rge=t=>t.updateElementLzById,Awt=t=>t.updateElementLzForAll,ZBe=t=>t.updateElementColorById,wwt=t=>t.updateElementColorOnSurface,vwt=t=>t.updateElementColorAboveFoundation,eje=t=>t.updateElementColorForAll,xwt=t=>t.updateElementLineColorById,bwt=t=>t.updateElementLineColorOnSurface,Swt=t=>t.updateElementLineColorAboveFoundation,Twt=t=>t.updateElementLineColorForAll,Pwt=t=>t.updateElementLineWidthById,Cwt=t=>t.updateElementLineWidthOnSurface,Rwt=t=>t.updateElementLineWidthAboveFoundation,Hwt=t=>t.updateElementLineWidthForAll,age=t=>t.updateElementRotationById,Mwt=t=>t.updateElementRotationForAll,Js=t=>t.foundationActionScope,Iwt=t=>t.setFoundationActionScope,xH=t=>t.polygonActionScope,bH=t=>t.setPolygonActionScope,tje=t=>t.updatePolygonVertexPositionById,H7=t=>t.updatePolygonVerticesById,SH=t=>t.cuboidActionScope,TH=t=>t.setCuboidActionScope,r1=t=>t.solarPanelActionScope,a1=t=>t.setSolarPanelActionScope,nW=t=>t.updateSolarCollectorDailyYieldById,oW=t=>t.updateSolarCollectorYearlyYieldById,lge=t=>t.updateSolarPanelTiltAngleById,nje=t=>t.updateSolarCollectorDrawSunBeamById,oje=t=>t.updateSolarCollectorDrawSunBeamAboveFoundation,ije=t=>t.updateSolarCollectorDrawSunBeamForAll,sge=t=>t.updateSolarCollectorRelativeAzimuthById,zwt=t=>t.updateSolarCollectorRelativeAzimuthOnSurface,Dwt=t=>t.updateSolarCollectorRelativeAzimuthAboveFoundation,Ewt=t=>t.updateSolarCollectorRelativeAzimuthForAll,kwt=t=>t.updateSolarCollectorXById,Fwt=t=>t.updateSolarCollectorXAboveFoundation,Lwt=t=>t.updateSolarCollectorXForAll,Wwt=t=>t.updateSolarCollectorYById,Nwt=t=>t.updateSolarCollectorYAboveFoundation,Uwt=t=>t.updateSolarCollectorYForAll,iW=t=>t.updateSolarCollectorPoleHeightById,Bwt=t=>t.updateSolarCollectorPoleHeightOnSurface,rW=t=>t.updateSolarCollectorPoleHeightAboveFoundation,aW=t=>t.updateSolarCollectorPoleHeightForAll,rje=t=>t.updateSolarCollectorPoleRadiusById,aje=t=>t.updateSolarCollectorPoleRadiusAboveFoundation,lje=t=>t.updateSolarCollectorPoleRadiusForAll,Tq=t=>t.updateCspReflectanceById,Pq=t=>t.updateCspReflectanceAboveFoundation,Cq=t=>t.updateCspReflectanceForAll,sje=t=>t.updateParabolicCollectorAbsorptanceById,cje=t=>t.updateParabolicCollectorAbsorptanceAboveFoundation,uje=t=>t.updateParabolicCollectorAbsorptanceForAll,dje=t=>t.updateParabolicCollectorOpticalEfficiencyById,fje=t=>t.updateParabolicCollectorOpticalEfficiencyAboveFoundation,hje=t=>t.updateParabolicCollectorOpticalEfficiencyForAll,pje=t=>t.updateParabolicCollectorThermalEfficiencyById,gje=t=>t.updateParabolicCollectorThermalEfficiencyAboveFoundation,mje=t=>t.updateParabolicCollectorThermalEfficiencyForAll,uA=t=>t.parabolicTroughActionScope,dA=t=>t.setParabolicTroughActionScope,bb=t=>t.fresnelReflectorActionScope,Sb=t=>t.setFresnelReflectorActionScope,Tb=t=>t.heliostatActionScope,Pb=t=>t.setHeliostatActionScope,yje=t=>t.updateSolarReceiverById,Aje=t=>t.updateSolarReceiverAboveFoundation,wje=t=>t.updateSolarReceiverForAll,fA=t=>t.parabolicDishActionScope,hA=t=>t.setParabolicDishActionScope,vje=t=>t.updateParabolaLatusRectumById,xje=t=>t.updateParabolaLatusRectumAboveFoundation,bje=t=>t.updateParabolaLatusRectumForAll,Sje=t=>t.updateModuleLengthById,Tje=t=>t.updateModuleLengthAboveFoundation,Pje=t=>t.updateModuleLengthForAll,n3=t=>t.windTurbineActionScope,o3=t=>t.setWindTurbineActionScope,Cje=t=>t.copyElementById,hp=t=>t.removeElementById,jwt=t=>t.clearDeletedElements,Ywt=t=>t.countElementsByReferenceId,cge=t=>t.removeElementsByReferenceId,Rje=t=>t.pasteElementsToPoint,Owt=t=>t.pasteElementsByKey,Hje=t=>t.elementsToPaste,Vc=t=>t.selectMe,lW=t=>t.selectNone,uge=t=>t.addElement,Rq=t=>t.objectTypeToAdd,_wt=t=>t.actionModeLock,Fg=t=>t.countElementsByType,Mje=t=>t.countSolarStructuresByType,Vwt=t=>t.countObservers,Gwt=t=>t.countSolarPanelsOnRack,Xwt=t=>t.selectedElementAngle,Jwt=t=>t.waiting,vf=t=>t.simulationInProgress,dge=t=>t.simulationPaused,Ije=t=>t.evolutionInProgress,zje=t=>t.evolutionPaused,Kwt=t=>t.contextMenuObjectType,qwt=t=>t.enableFineGrid,$wt=t=>t.setEnableFineGrid,Qwt=t=>t.showCloudFilePanel,Dje=t=>t.projectState.title,Eje=t=>t.projectState.owner,Zwt=t=>t.projectState.description,e7t=t=>t.projectState.designs,t7t=t=>t.projectState.type,kje=t=>t.projectState.selectedProperty,n7t=t=>t.projectState.dataColoring,o7t=t=>t.projectState.thumbnailWidth,i7t=t=>t.projectState.xAxisNameScatterPlot,r7t=t=>t.projectState.yAxisNameScatterPlot,a7t=t=>t.projectState.dotSizeScatterPlot,l7t=t=>t.projectState.sortDescending,s7t=t=>t.projectState.filters,c7t=t=>t.projectState.ranges,u7t=t=>t.projectState.hiddenParameters,Hq=t=>t.projectView,d7t=t=>t.showProjectListPanel,f7t=t=>t.showModelsGallery,h7t=t=>t.showAccountSettingsPanel,p7t=t=>t.showLikesPanel,g7t=t=>t.showPublishedModelsPanel,m7t=t=>t.weatherModel,Fje=t=>t.setWeatherModel,fge=t=>t.weatherData,y7t=t=>t.loadWeatherData,A7t=t=>t.loadHorizontalSolarRadiationData,w7t=t=>t.getHorizontalSolarRadiation,v7t=t=>t.loadVerticalSolarRadiationData,x7t=t=>t.getVerticalSolarRadiation,Lje=t=>t.getClosestCity,M7=t=>t.sunlightDirection,b7t=t=>t.setSunlightDirection,cs=t=>t.showSolarRadiationHeatmap,i3=t=>t.showHeatFluxes,S7t=t=>t.runSolarPanelVisibilityAnalysis,T7t=t=>t.solarPanelVisibilityResults,Wje=t=>t.runDailySimulationForSolarPanels,P7t=t=>t.runDailySimulationForSolarPanelsLastStep,Nje=t=>t.runYearlySimulationForSolarPanels,C7t=t=>t.runYearlySimulationForSolarPanelsLastStep,R7t=t=>t.pauseDailySimulationForSolarPanels,H7t=t=>t.pauseYearlySimulationForSolarPanels,M7t=t=>t.dailyPvYield,Uje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyPvIndividualOutputs},I7t=t=>t.setDailyPvYield,z7t=t=>t.yearlyPvYield,Bje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyPvIndividualOutputs},D7t=t=>t.setYearlyPvYield,jje=t=>t.solarPanelLabels,E7t=t=>t.setSolarPanelLabels,Yje=t=>t.setTotalBuildingHeater,Oje=t=>t.setTotalBuildingAc,_je=t=>t.setTotalBuildingSolarPanel,k7t=t=>t.runDailySimulationForParabolicTroughs,F7t=t=>t.runYearlySimulationForParabolicTroughs,L7t=t=>t.pauseDailySimulationForParabolicTroughs,W7t=t=>t.pauseYearlySimulationForParabolicTroughs,N7t=t=>t.dailyParabolicTroughYield,Vje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicTroughIndividualOutputs},U7t=t=>t.setDailyParabolicTroughYield,B7t=t=>t.yearlyParabolicTroughYield,Gje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicTroughIndividualOutputs},j7t=t=>t.setYearlyParabolicTroughYield,Xje=t=>t.parabolicTroughLabels,Y7t=t=>t.setParabolicTroughLabels,O7t=t=>t.runDailySimulationForFresnelReflectors,_7t=t=>t.runYearlySimulationForFresnelReflectors,V7t=t=>t.pauseDailySimulationForFresnelReflectors,G7t=t=>t.pauseYearlySimulationForFresnelReflectors,X7t=t=>t.dailyFresnelReflectorYield,Jje=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyFresnelReflectorIndividualOutputs},J7t=t=>t.setDailyFresnelReflectorYield,K7t=t=>t.yearlyFresnelReflectorYield,Kje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyFresnelReflectorIndividualOutputs},q7t=t=>t.setYearlyFresnelReflectorYield,qje=t=>t.fresnelReflectorLabels,$7t=t=>t.setFresnelReflectorLabels,Q7t=t=>t.runDailySimulationForHeliostats,Z7t=t=>t.runYearlySimulationForHeliostats,e8t=t=>t.pauseDailySimulationForHeliostats,t8t=t=>t.pauseYearlySimulationForHeliostats,n8t=t=>t.dailyHeliostatYield,$je=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyHeliostatIndividualOutputs},o8t=t=>t.setDailyHeliostatYield,i8t=t=>t.yearlyHeliostatYield,Qje=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyHeliostatIndividualOutputs},r8t=t=>t.setYearlyHeliostatYield,Zje=t=>t.heliostatLabels,a8t=t=>t.setHeliostatLabels,eYe=t=>t.runDailySimulationForUpdraftTower,tYe=t=>t.runYearlySimulationForUpdraftTower,l8t=t=>t.pauseDailySimulationForUpdraftTower,s8t=t=>t.pauseYearlySimulationForUpdraftTower,c8t=t=>t.dailyUpdraftTowerResults,u8t=t=>t.dailyUpdraftTowerYield,d8t=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyUpdraftTowerIndividualOutputs},f8t=t=>t.setDailyUpdraftTowerResults,h8t=t=>t.setDailyUpdraftTowerYield,p8t=t=>t.yearlyUpdraftTowerYield,g8t=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyUpdraftTowerIndividualOutputs},m8t=t=>t.setYearlyUpdraftTowerYield,nYe=t=>t.updraftTowerLabels,y8t=t=>t.setUpdraftTowerLabels,A8t=t=>t.runDailySimulationForParabolicDishes,w8t=t=>t.runYearlySimulationForParabolicDishes,v8t=t=>t.pauseDailySimulationForParabolicDishes,x8t=t=>t.pauseYearlySimulationForParabolicDishes,b8t=t=>t.dailyParabolicDishYield,oYe=t=>{var e;return(e=t.graphState)==null?void 0:e.dailyParabolicDishIndividualOutputs},S8t=t=>t.setDailyParabolicDishYield,T8t=t=>t.yearlyParabolicDishYield,iYe=t=>{var e;return(e=t.graphState)==null?void 0:e.yearlyParabolicDishIndividualOutputs},P8t=t=>t.setYearlyParabolicDishYield,rYe=t=>t.parabolicDishLabels,C8t=t=>t.setParabolicDishLabels,aYe=t=>t.runDailyLightSensor,R8t=t=>t.pauseDailyLightSensor,lYe=t=>t.runYearlyLightSensor,H8t=t=>t.pauseYearlyLightSensor,M8t=t=>t.dailyLightSensorData,I8t=t=>t.setDailyLightSensorData,z8t=t=>t.yearlyLightSensorData,D8t=t=>t.setYearlyLightSensorData,sYe=t=>t.sensorLabels,E8t=t=>t.setSensorLabels,ty=t=>t.hoveredHandle,Cb=t=>t.moveHandleType,yh=t=>t.resizeHandleType,hge=t=>t.getResizeHandlePosition,sW=t=>t.rotateHandleType,k8t=t=>t.resizeAnchor,pge=t=>t.isAddingElement,Mq=t=>t.addedFoundationId,F8t=t=>t.deletedFoundationId,Iq=t=>t.addedCuboidId,L8t=t=>t.deletedCuboidId,cYe=t=>t.addedWallId,W8t=t=>t.deletedWallId,N8t=t=>t.deletedRoofId,gge=t=>t.deletedRoofIdSet,uYe=t=>t.autoDeletedRoofIdSet,U8t=t=>t.autoDeletedRoofs,dYe=t=>t.autoDeletedChild,fYe=t=>t.groupActionMode,B8t=t=>t.groupActionUpdateFlag,j8t=t=>t.addedWindowId,Y8t=t=>t.addedDoorId,O8t=t=>t.updateWallMapOnFoundationFlag,r3=t=>t.wallActionScope,ny=t=>t.roofActionScope,cW=t=>t.windowActionScope,I7=t=>t.doorActionScope,hYe=t=>t.setRoofActionScope,mge=t=>t.updateWallLeftJointsById,yge=t=>t.updateWallRightJointsById,_8t=t=>t.updateWallLeftPointById,zq=t=>t.economicsParams,V8t=t=>t.fittestIndividualResults,Dq=t=>t.setFittestIndividualResults,uW=t=>t.variableLabels,Eq=t=>t.setVariableLabels,pA=t=>t.evolutionaryAlgorithmState,kq=t=>t.solarPanelArrayLayoutConstraints,G8t=t=>t.geneticAlgorithmWizardSelectedTab,X8t=t=>t.particleSwarmOptimizationWizardSelectedTab,J8t=t=>t.countHeatmapCells,Ah=t=>t.setPrimitiveStore,Age=be.memo(({hx:t,hy:e,hz:n,position:o,rotation:i})=>{const r=M(qwt),a=M(sA),l=a?"#888888":"#444444",s=Math.max(t,e),[c,u]=m.useState(Math.floor(s/50)+1),[d,f]=m.useState(.5);m.useEffect(()=>{r?(u((Math.floor(s/25)+1)*l9),f(a?.05:.1)):(u((Math.floor(s/25)+1)*g6),f((a?.05:.1)*V5))},[r,s,a]);const p=m.useMemo(()=>{const A=[0];for(let w=c;w<=t;w+=c)A.push(w),A.push(-w);return A},[c,t]),g=m.useMemo(()=>{const A=[0];for(let w=c;w<=e;w+=c)A.push(w),A.push(-w);return A},[c,e]);return h.jsxs("group",{position:o??[0,0,n+.01],rotation:i,children:[p.map(A=>h.jsx(Fn,{points:[[A,-e,0],[A,e,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},A)),g.map(A=>h.jsx(Fn,{points:[[-t,A,0],[t,A,0]],color:l,lineWidth:d,userData:{unintersectable:!0}},A))]})}),Zoe=.2,K8t=({x:t,z:e,handleType:n,scale:o=[1,1,1]})=>{const i=M(dn),r=M(yh),a=m.useRef(null),[l,s]=m.useState("white"),[c,u,d]=o;return m.useEffect(()=>{s(r===n?"red":"white")},[r]),h.jsx(Ei,{ref:a,name:n,args:[Zoe*c,Zoe*u,Zoe*d],position:[t,0,e],onPointerEnter:()=>{s("red"),i(f=>{f.hoveredHandle=n})},onPointerLeave:()=>{r===null&&s("white"),i(f=>{f.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:l})})},mv=be.memo(K8t),q8t=({handleType:t})=>{const e=M(Cb),n=m.useRef(null),[o,i]=m.useState("white");return m.useEffect(()=>{e===yo.Mid?i("red"):i("white")},[e]),h.jsx(ts,{ref:n,name:t,args:[.1,6,6],onPointerEnter:()=>{i("red")},onPointerLeave:()=>{e===null&&i("white")},children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},$8t=be.memo(q8t);class eie{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y,this.array[this.top++]=e.z}}class Q8t{constructor(e){this.top=0,this.array=new Float32Array(e)}write(e){this.array[this.top++]=e.x,this.array[this.top++]=e.y}}let AT=class b_{constructor(e){this.plane=null,this.front=null,this.back=null,this.polygons=[],e&&this.build(e)}clone(){const e=new b_;return e.plane=this.plane&&this.plane.clone(),e.front=this.front&&this.front.clone(),e.back=this.back&&this.back.clone(),e.polygons=this.polygons.map(n=>n.clone()),e}invert(){for(let n=0;nDv.EPSILON?1:0;u|=g,d.push(g)}switch(u){case 0:(this.normal.dot(e.plane.normal)>0?n:o).push(e);break;case 1:i.push(e);break;case 2:r.push(e);break;case 3:{const f=[],p=[];for(let g=0;g=3&&i.push(new tG(f,e.shared)),p.length>=3&&r.push(new tG(p,e.shared));break}}}static fromPoints(e,n,o){const i=new g2().copy(n).sub(e).cross(new g2().copy(o).sub(e)).normalize();return new Dv(i.clone(),i.dot(e))}}Dv.EPSILON=1e-5;let tG=class pYe{constructor(e,n){this.vertices=e,this.shared=n,this.plane=Dv.fromPoints(e[0].pos,e[1].pos,e[2].pos)}clone(){return new pYe(this.vertices.map(e=>e.clone()),this.shared)}flip(){this.vertices.reverse().map(e=>e.flip()),this.plane.flip()}};class nG{constructor(e,n,o,i){this.pos=new g2().copy(e),this.normal=new g2().copy(n),this.uv=new g2().copy(o),this.uv.z=0,i&&(this.color=new g2().copy(i))}clone(){return new nG(this.pos,this.normal,this.uv,this.color)}flip(){this.normal.negate()}interpolate(e,n){return new nG(this.pos.clone().lerp(e.pos,n),this.normal.clone().lerp(e.normal,n),this.uv.clone().lerp(e.uv,n),this.color&&e.color&&this.color.clone().lerp(e.color,n))}}class ac{constructor(){this.polygons=[]}static fromPolygons(e){const n=new ac;return n.polygons=e,n}static fromGeometry(e,n){let o=[];const i=e.attributes.position,r=e.attributes.normal,a=e.attributes.uv,l=e.attributes.color,s=e.groups;let c;if(e.index)c=e.index.array;else{c=new Array(i.array.length/i.itemSize|0);for(let d=0;d0)for(const A of s)d>=A.start&&d!Number.isNaN(d.plane.normal.x)))}static toGeometry(e,n){let o=0;const i=e.polygons;for(const p of i)o+=p.vertices.length-2;const r=new Ur,a=new eie(o*3*3),l=new eie(o*3*3),s=new Q8t(o*2*3);let c;const u=[],d=[];for(const p of i){const g=p.vertices,A=g.length;p.shared!==void 0&&(u[p.shared]||(u[p.shared]=[])),A&&g[0].color!==void 0&&(c||(c=new eie(o*3*3)));for(let w=3;w<=A;w++)(p.shared===void 0?d:u[p.shared]).push(a.top/3,a.top/3+1,a.top/3+2),a.write(g[0].pos),a.write(g[w-2].pos),a.write(g[w-1].pos),l.write(g[0].normal),l.write(g[w-2].normal),l.write(g[w-1].normal),s&&(s.write(g[0].uv),s.write(g[w-2].uv),s.write(g[w-1].uv)),c&&(c.write(g[0].color),c.write(g[w-2].color),c.write(g[w-1].color))}r.setAttribute("position",new qa(a.array,3)),r.setAttribute("normal",new qa(l.array,3)),s&&r.setAttribute("uv",new qa(s.array,2)),c&&r.setAttribute("color",new qa(c.array,3));for(let p=0;pn.clone()).filter(n=>Number.isFinite(n.plane.w)),e}toPolygons(){return this.polygons}union(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),ac.fromPolygons(n.allPolygons())}subtract(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),n.clipTo(o),o.clipTo(n),o.invert(),o.clipTo(n),o.invert(),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}intersect(e){const n=new AT(this.clone().polygons),o=new AT(e.clone().polygons);return n.invert(),o.clipTo(n),o.invert(),n.clipTo(o),o.clipTo(n),n.build(o.allPolygons()),n.invert(),ac.fromPolygons(n.allPolygons())}inverse(){const e=this.clone();for(const n of e.polygons)n.flip();return e}toMesh(e,n){return ac.toMesh(this,e,n)}toGeometry(e){return ac.toGeometry(this,e)}}const ht=xK()((t,e)=>{const n=o=>t(LP(o));return{set:o=>{try{n(o)}catch(i){console.log(i)}},setPrimitiveStore(o,i){n(r=>{r[o]!==void 0?r[o]=i:console.error(`key ${o} is not defined in PrimitiveStoreState`)})},changed:!1,setChanged(o){n(i=>{i.changed=o})},skipChange:!0,setSkipChange(o){n(i=>{i.skipChange=o})},localFileName:"aladdin.ala",createNewFileFlag:!1,setCreateNewFileFlag(o){n(i=>{i.createNewFileFlag=o})},openLocalFileFlag:!1,setOpenLocalFileFlag(o){n(i=>{i.openLocalFileFlag=o})},waiting:!1,contextMenuFlag:!1,updateContextMenu(){n(o=>{o.contextMenuFlag=!o.contextMenuFlag})},showEconomicsPanel:!1,showNavigationPanel:!1,showShadowSettings:!1,saveAccountSettingsFlag:!1,saveCloudFileFlag:!1,setSaveCloudFileFlag(o){n(i=>{i.saveCloudFileFlag=o})},listCloudFilesFlag:!1,saveLocalFileDialogVisible:!1,modelsMapFlag:!1,leaderboardFlag:!1,showLeaderboard:!1,publishOnModelsMapFlag:!1,modelsMapWeatherStations:!1,createProjectFlag:!1,saveProjectAsFlag:!1,curateDesignToProjectFlag:!1,showProjectsFlag:!1,updateProjectsFlag:!1,showProjectListPanel:!1,projectImagesUpdateFlag:!1,projectType:Tr.SOLAR_PANEL_ARRAY,projectTitle:null,projectDescription:null,userCount:0,showCloudFilePanel:!1,openModelsMap:!1,showModelsGallery:!1,showAccountSettingsPanel:!1,showLikesPanel:!1,showPublishedModelsPanel:!1,animateSun:!1,simulationInProgress:!1,simulationPaused:!1,evolutionInProgress:!1,evolutionPaused:!1,runEvolution:!1,pauseEvolution:!1,objectiveEvaluationIndex:0,runDailyThermalSimulation:!1,pauseDailyThermalSimulation:!1,runYearlyThermalSimulation:!1,pauseYearlyThermalSimulation:!1,clearDailySimulationResultsFlag:!1,clearYearlySimulationResultsFlag:!1,runDynamicSimulation:!1,runStaticSimulation:!1,pauseSimulation:!1,runDailySimulationForParabolicDishes:!1,runYearlySimulationForParabolicDishes:!1,pauseDailySimulationForParabolicDishes:!1,pauseYearlySimulationForParabolicDishes:!1,runDailySimulationForParabolicTroughs:!1,runYearlySimulationForParabolicTroughs:!1,pauseDailySimulationForParabolicTroughs:!1,pauseYearlySimulationForParabolicTroughs:!1,runDailySimulationForFresnelReflectors:!1,runYearlySimulationForFresnelReflectors:!1,pauseDailySimulationForFresnelReflectors:!1,pauseYearlySimulationForFresnelReflectors:!1,runDailySimulationForHeliostats:!1,runYearlySimulationForHeliostats:!1,pauseDailySimulationForHeliostats:!1,pauseYearlySimulationForHeliostats:!1,runSolarPanelVisibilityAnalysis:!1,runDailySimulationForSolarPanels:!1,pauseDailySimulationForSolarPanels:!1,runYearlySimulationForSolarPanels:!1,pauseYearlySimulationForSolarPanels:!1,runDailySimulationForSolarPanelsLastStep:!1,runYearlySimulationForSolarPanelsLastStep:!1,runDailyLightSensor:!1,pauseDailyLightSensor:!1,runYearlyLightSensor:!1,pauseYearlyLightSensor:!1,runDailySimulationForUpdraftTower:!1,runYearlySimulationForUpdraftTower:!1,pauseDailySimulationForUpdraftTower:!1,pauseYearlySimulationForUpdraftTower:!1,flagOfDailySimulation:!1,showSolarRadiationHeatmap:!1,showHeatFluxes:!1,duringCameraInteraction:!1,navigationMoveSpeed:3,navigationTurnSpeed:3,elementBeingCanceledId:null,showWallIntersectionPlaneId:null,oldParentId:null,oldFoundationId:null,selectedElementId:null,foundationMovedFlag:!1,updateFoundationMovedFlag(){n(o=>{o.foundationMovedFlag=!o.foundationMovedFlag})},isCameraUnderGround:!1}}),Sn=xK()((t,e)=>({roofSegmentVerticesMap:new Map,setRoofSegmentVertices(n,o){t(i=>(i.roofSegmentVerticesMap.set(n,[...o]),i))},getRoofSegmentVertices(n){return e().roofSegmentVerticesMap.get(n)},deleteRoofSegmentVertices(n){t(o=>(o.roofSegmentVerticesMap.delete(n),o))},roofSegmentVerticesWithoutOverhangMap:new Map,setRoofSegmentVerticesWithoutOverhang(n,o){t(i=>(i.roofSegmentVerticesWithoutOverhangMap.set(n,o),i))},getRoofSegmentVerticesWithoutOverhang(n){return e().roofSegmentVerticesWithoutOverhangMap.get(n)},deleteRoofSegmentVerticesWithoutOverhang(n){t(o=>(o.roofSegmentVerticesWithoutOverhangMap.delete(n),o))},dailyLightSensorData:[],setDailyLightSensorData(n){t({dailyLightSensorData:[...n]})},yearlyLightSensorData:[],setYearlyLightSensorData(n){t({yearlyLightSensorData:[...n]})},sensorLabels:[],setSensorLabels(n){t({sensorLabels:[...n]})},dailyPvYield:[],setDailyPvYield(n){t({dailyPvYield:[...n]}),ht.getState().set(o=>{o.runEvolution&&o.objectiveEvaluationIndex++})},sumDailyPvYield(){let n=0;for(const o of this.dailyPvYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},getDailyPvProfit(){const n=this.sumDailyPvYield(),o=xe.countAllSolarPanels();return n*M.getState().economicsParams.electricitySellingPrice-o*M.getState().economicsParams.operationalCostPerUnit},yearlyPvYield:[],setYearlyPvYield(n){t({yearlyPvYield:[...n]}),ht.getState().set(o=>(o.runEvolution&&o.objectiveEvaluationIndex++,o))},sumYearlyPvYield(){var i;let n=0;for(const r of this.yearlyPvYield)for(const a in r)Object.hasOwn(r,a)&&a!=="Month"&&(n+=r[a]);const o=12/(((i=M.getState().world)==null?void 0:i.daysPerYear)??6);return n*o},getYearlyPvProfit(){const n=xe.countAllSolarPanels();return this.sumYearlyPvYield()*M.getState().economicsParams.electricitySellingPrice-n*M.getState().economicsParams.operationalCostPerUnit*365},solarPanelLabels:[],setSolarPanelLabels(n){t({solarPanelLabels:[...n]})},solarPanelVisibilityResults:new Map,setSolarPanelVisibilityResult(n,o){t(i=>(i.solarPanelVisibilityResults.set(n,o),i))},clearSolarPanelVisibilityResults(){t({solarPanelVisibilityResults:new Map})},dailyParabolicDishYield:[],setDailyParabolicDishYield(n){t({dailyParabolicDishYield:[...n]})},sumDailyParabolicDishYield(){let n=0;for(const o of this.dailyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicDishYield:[],setYearlyParabolicDishYield(n){t({yearlyParabolicDishYield:[...n]})},sumYearlyParabolicDishYield(){let n=0;for(const o of this.yearlyParabolicDishYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicDishLabels:[],setParabolicDishLabels(n){t({parabolicDishLabels:[...n]})},dailyParabolicTroughYield:[],setDailyParabolicTroughYield(n){t({dailyParabolicTroughYield:[...n]})},sumDailyParabolicTroughYield(){let n=0;for(const o of this.dailyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyParabolicTroughYield:[],setYearlyParabolicTroughYield(n){t({yearlyParabolicTroughYield:[...n]})},sumYearlyParabolicTroughYield(){let n=0;for(const o of this.yearlyParabolicTroughYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},parabolicTroughLabels:[],setParabolicTroughLabels(n){t({parabolicTroughLabels:[...n]})},dailyFresnelReflectorYield:[],setDailyFresnelReflectorYield(n){t({dailyFresnelReflectorYield:[...n]})},sumDailyFresnelReflectorYield(){let n=0;for(const o of this.dailyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyFresnelReflectorYield:[],setYearlyFresnelReflectorYield(n){t({yearlyFresnelReflectorYield:[...n]})},sumYearlyFresnelReflectorYield(){let n=0;for(const o of this.yearlyFresnelReflectorYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},fresnelReflectorLabels:[],setFresnelReflectorLabels(n){t({fresnelReflectorLabels:[...n]})},dailyHeliostatYield:[],setDailyHeliostatYield(n){t({dailyHeliostatYield:[...n]})},sumDailyHeliostatYield(){let n=0;for(const o of this.dailyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyHeliostatYield:[],setYearlyHeliostatYield(n){t({yearlyHeliostatYield:[...n]})},sumYearlyHeliostatYield(){let n=0;for(const o of this.yearlyHeliostatYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},heliostatLabels:[],setHeliostatLabels(n){t({heliostatLabels:[...n]})},dailyUpdraftTowerResults:[],dailyUpdraftTowerYield:[],setDailyUpdraftTowerResults(n){t({dailyUpdraftTowerResults:[...n]})},setDailyUpdraftTowerYield(n){t({dailyUpdraftTowerYield:[...n]})},sumDailyUpdraftTowerYield(){let n=0;for(const o of this.dailyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Hour"&&(n+=o[i]);return n},yearlyUpdraftTowerYield:[],setYearlyUpdraftTowerYield(n){t({yearlyUpdraftTowerYield:[...n]})},sumYearlyUpdraftTowerYield(){let n=0;for(const o of this.yearlyUpdraftTowerYield)for(const i in o)Object.hasOwn(o,i)&&i!=="Month"&&(n+=o[i]);return n},updraftTowerLabels:[],setUpdraftTowerLabels(n){t({updraftTowerLabels:[...n]})},heatmaps:new Map,setHeatmap(n,o){t(i=>(i.heatmaps.set(n,o),i))},getHeatmap(n){return e().heatmaps.get(n)},hourlyHeatExchangeArrayMap:new Map,setHourlyHeatExchangeArray(n,o){t(i=>(i.hourlyHeatExchangeArrayMap.set(n,o),i))},hourlySolarHeatGainArrayMap:new Map,setHourlySolarHeatGainArray(n,o){t(i=>(i.hourlySolarHeatGainArrayMap.set(n,o),i))},hourlySolarPanelOutputArrayMap:new Map,setHourlySolarPanelOutputArray(n,o){t(i=>(i.hourlySolarPanelOutputArrayMap.set(n,o),i))},totalBuildingHeater:0,setTotalBuildingHeater:n=>{t({totalBuildingHeater:n})},totalBuildingAc:0,setTotalBuildingAc:n=>{t({totalBuildingAc:n})},totalBuildingSolarPanel:0,setTotalBuildingSolarPanel:n=>{t({totalBuildingSolarPanel:n})},clearHeatmaps(){t(n=>(n.heatmaps.clear(),n))},clearDataStore(){t({heatmaps:new Map,hourlyHeatExchangeArrayMap:new Map,hourlySolarHeatGainArrayMap:new Map,hourlySolarPanelOutputArrayMap:new Map,solarPanelVisibilityResults:new Map,dailyLightSensorData:[],yearlyLightSensorData:[],sensorLabels:[],dailyPvYield:[],yearlyPvYield:[],solarPanelLabels:[],dailyParabolicDishYield:[],yearlyParabolicDishYield:[],parabolicDishLabels:[],dailyParabolicTroughYield:[],yearlyParabolicTroughYield:[],parabolicTroughLabels:[],dailyFresnelReflectorYield:[],yearlyFresnelReflectorYield:[],fresnelReflectorLabels:[],dailyHeliostatYield:[],yearlyHeliostatYield:[],heliostatLabels:[],dailyUpdraftTowerYield:[],dailyUpdraftTowerResults:[],yearlyUpdraftTowerYield:[],updraftTowerLabels:[]})},clearRoofVerticesMap(){t(n=>(n.roofSegmentVerticesMap.clear(),n.roofSegmentVerticesWithoutOverhangMap.clear(),n))}})),Z8t="/aladdin/assets/roof_edge-DBy_1Q5D.png",eg="/aladdin/assets/tiny_white_square-B_qAXRfa.png",evt="/aladdin/assets/roof_01-BwuyLpwq.png",tvt="/aladdin/assets/roof_02-DAbYjnV7.png",nvt="/aladdin/assets/roof_03-haZGIixv.png",ovt="/aladdin/assets/roof_04-DDuwUcDr.png",ivt="/aladdin/assets/roof_05-CtBb5xIW.png",rvt="/aladdin/assets/roof_06-DuyyebV8.png",avt="/aladdin/assets/roof_07-DXWGQN8a.png",lvt=new sf({color:"white",side:ia}),svt=be.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=Math.min(a,r,o/2),{width:s,horizontalMullionSpacing:c,verticalMullionSpacing:u,color:d}=e,f=3,p=1,g=s/2,A=m.useMemo(()=>Math.atan2(o/2,l),[o,l]),w=m.useMemo(()=>{if(l===0||o===0)return 0;const x=l/2+o**2/(8*l),R=x-l,H=Math.PI-A,D=R**2,k=x**2,W=D+k-2*D*Math.sin(H)**2-2*R*Math.sqrt((k-D*Math.sin(H)**2)*Math.cos(H)**2);return Math.sqrt(W)},[o,l,A]),b=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:d}),[d]),C=x=>new Ml().moveTo(0,x).quadraticCurveTo(x,x,x,0).quadraticCurveTo(x,-x,0,-x).quadraticCurveTo(-x,-x,-x,0).quadraticCurveTo(-x,x,0,x),P=(x,R)=>{const H=x*R/(o/2),D=H/2+(R*2)**2/(8*H),k=Math.acos(Math.min(1,R/D)),W=Math.PI-k,N=new P2(0,H-D,D,D,k,W,!1,0).getPoints(24).map(L=>new re(L.x,L.y));return new GK(N)},v=m.useMemo(()=>{const x=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(x.push(0),D=H);for(let k=0;k{const x=[];if(s===0)return x;const R=r/2-l,H=r-l,D=Math.ceil(H/c);let k=R;for(let W=0;W{const x=[],R=Math.round(o/u)-1;if(R<=0||s===0)return null;const H=o/(R+1);let D=H/2;R%2!==0&&(D=H);for(let W=0;Wlh.jsx("group",{position:[0,0,r/2-l],rotation:[0,R,0],children:h.jsx(wa,{position:[0,0,x/2],args:[g,g,x,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:b})});return h.jsxs("group",{name:"Window Mullion Group",position:[0,-.001,0],children:[e.horizontalMullion&&T.map((x,R)=>h.jsx(wa,{position:[0,0,x],args:[g,g,o,f,p],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:b},R)),e.verticalMullion&&(v==null?void 0:v.map((x,R)=>h.jsx(wa,{position:[x,0,-l/2],args:[g,g,r-l,f,p],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:b},R))),l>0&&(y==null?void 0:y.map((x,R)=>{if(x===null)return null;const{shape:H,path:D}=x;return h.jsx($w,{position:[0,g/2,r/2-l],rotation:[Vt,0,0],args:[H,{extrudePath:D,steps:12,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:b},R)})),w>0&&h.jsxs(h.Fragment,{children:[S(l,0),S(w,A),S(w,-A)]})]})}),cvt=be.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r,a]=t,l=o/2,s=Math.min(a,r,l),{color:c,width:u,sillWidth:d}=e,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),p=u/2,g=p/2,A=o+u*3,w=u,b=m.useMemo(()=>{const[C,P]=[l+u,l],v=s+u,T=v/2+(C*2)**2/(8*v),y=Math.acos(Math.min(1,C/T)),S=Math.PI-y,x=v-T,R=s,H=R/2+(P*2)**2/(8*R),D=Math.acos(Math.min(1,P/H)),k=Math.PI-D,W=R-H,N=new P2(0,x,T,T,y,S,!1,0).getPoints(36),L=new P2(0,W,H,H,k,D,!0,0).getPoints(36);return new Ml([...N,...L])},[a,r,o,u]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-g/2,0],children:[s>.1?h.jsx($w,{position:[0,g/2,r/2-s],rotation:[Vt,0,0],args:[b,{depth:g,steps:1,bevelEnabled:!1}],castShadow:n,receiveShadow:n,children:f}):h.jsx(Ei,{position:[0,0,r/2],args:[o+2*u,g,u],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[-o/2-p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[o/2+p,0,-s/2],args:[u,g,r-s],castShadow:n,receiveShadow:n,children:f}),h.jsx(Ei,{position:[0,0,-r/2-(d===0?0:w/2)],args:d===0?[o+2*u,g,u]:[A,d??u,w],castShadow:n,receiveShadow:n,children:f})]})}),bce=be.memo(({cy:t,dimension:e,wireframeData:n,drawBottom:o})=>{const[i,r,a,l]=e,{lineWidth:s,lineColor:c,selected:u,locked:d,opacity:f}=n,p=s/20,g=s/5,A=i/2,w=a/2,b=Math.min(l,a,A),C=6,P=1,v=(R,H)=>{const D=R/2+(H*2)**2/(8*R),k=Math.acos(Math.min(1,H/D)),W=Math.PI-k,N=new P2(0,R-D,D,D,k,W,!1,0).getPoints(24).map(L=>new re(L.x,L.y));return new GK(N)},T=R=>new Ml().moveTo(0,R).quadraticCurveTo(R,R,R,0).quadraticCurveTo(R,-R,0,-R).quadraticCurveTo(-R,-R,-R,0).quadraticCurveTo(-R,R,0,R),y=m.useMemo(()=>new sf({color:c}),[c]),S=m.useMemo(()=>new sf({color:l0}),[]),x=(R,H)=>h.jsxs(h.Fragment,{children:[b>.1?h.jsx($w,{position:[0,0,a/2-b],rotation:[Vt,0,0],args:[T(R),{extrudePath:v(b,A),steps:24,bevelEnabled:!1}],material:H}):h.jsx(wa,{args:[R,R,i,C,P],rotation:[0,0,Vt],position:[0,0,w-R/2],material:H}),o&&h.jsx(wa,{args:[R,R,i,C,P],rotation:[0,0,Vt],position:[0,0,-w],material:H}),h.jsx(wa,{args:[R,R,a-b,C,P],rotation:[Vt,Vt,0],position:[A,0,-b/2],material:H}),h.jsx(wa,{args:[R,R,a-b,C,P],rotation:[Vt,Vt,0],position:[-A,0,-b/2],material:H})]});return h.jsxs("group",{name:"Window Wireframe Group",children:[f>0&&h.jsx("group",{position:[0,t,0],children:x(p,y)}),d&&u&&x(g,S)]})}),uvt=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:A})=>{const w=M.getState().world,b=M(X2),C=M(q9),P=M($9),v=M(ss),T=Sn(vb),y=m.useRef(0),S=m.useRef(),[x,R,H,D]=e,[k,W,N]=n,L=(J,Z)=>{if(D>0){const ie=.5*x,ee=.5*H,q=Math.min(D,H,ie),ae=.5*(q+ie*ie/q);if(Math.abs(J)-ee)return!0;const ne=Z-(H-ae-ee);return J*J+ne*ne{if(!d||g||A&&A.notBuilding)return;const J=T.get(t);if(!J)return;const Z=J.reduce((te,he)=>te+he,0);if(f===0)return;const ie=K9*(w.solarRadiationHeatmapGridCellSize??.5),ee=Math.max(2,Math.round(x/ie)),q=Math.max(2,Math.round(H/ie)),ae=x/ee,ne=H/q,se=Z/f*(b??Gm);y.current=se<0?1:0,S.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(se)*Vt);const le=[];if(se<0)for(let te=0;tec*x,[x,c]),F=m.useMemo(()=>H-Math.min(D,H,x/2),[x,H,D]),B=m.useMemo(()=>(U+i.width+x)/2*1.025,[x,U,i.width]),_=m.useMemo(()=>-Math.min(D,H,x/2)/2,[H,F]),Y=m.useMemo(()=>oG(x,H,D),[x,H,D]),O=(J,Z,ie)=>h.jsx(sa,{name:"Window Seal Plane",args:J,position:Z,rotation:ie,material:lvt,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Arched Window Plane Group",position:[0,W,0],children:[h.jsxs("mesh",{name:"Window Glass mesh",rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[Y]}),u]}),(o.horizontalMullion||o.verticalMullion)&&D!==void 0&&h.jsx(svt,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(cvt,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(bce,{cy:W,dimension:e,wireframeData:r,drawBottom:!0}),h.jsx(Aye,{cx:B,cz:_,lx:U,lz:F,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),O([R,H],[-x/2,R/2,0],[Vt,Vt,0]),O([R,H],[x/2,R/2,0],[Vt,-Vt,0]),O([x,R],[0,R/2,-H/2]),E&&E.map((J,Z)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:J,name:"Heat Flux "+Z,lineWidth:P??Xm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:J[y.current].clone().add(new re(0,y.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:S.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},Z))]})},oG=(t,e,n,o=0,i=0)=>{const r=new Ml,a=t/2,l=e/2,s=Math.min(n,e,a);if(r.moveTo(o-a,i-l),r.lineTo(o+a,i-l),r.lineTo(o+a,i+l-s),s>.01){const c=s/2+t**2/(8*s),[u,d]=[o,i+l-c],f=Math.acos(Math.min(1,a/c)),p=Math.PI-f;r.absarc(u,d,c,f,p,!1)}else r.lineTo(o-a,i+l);return r.closePath(),r},dvt=be.memo(uvt),fvt=1,hvt=3,pvt=new sf({color:"white",side:ji}),gvt=new Qt(0,0,-Vt),mvt=be.memo(({dimension:t,polygonTop:e,frameData:n,shadowEnabled:o})=>{const[i,r,a]=t,[l,s]=e,{color:c,width:u,sillWidth:d}=n,f=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),[p,g]=[i/2,a/2],w=u/2/2,b=i+u*3,C=u,P=m.useMemo(()=>{const y=new re(p,-g),S=new re(p,g),x=new re(-p,g),R=new re(-p,-g),H=new re(l*i,s+g);return[y,S,H,x,R]},[p,g,l,s]),v=m.useMemo(()=>{const y=[];for(let R=1;R{const y=new Ml;for(let S=0;S=0;S--){const x=P[S];y.lineTo(x.x,x.y)}return y.closePath(),y},[P,v]);return h.jsxs("group",{name:"Window Frame Group",position:[0,-w/2,0],children:[h.jsx($w,{position:[0,w/2,0],rotation:[Vt,0,0],args:[T,{steps:1,depth:w,bevelEnabled:!1}],children:f}),h.jsx(Ei,{position:[0,0,-a/2-(d===0?0:C/2)],args:d===0?[i+2*u,w,u]:[b,d??u,C],castShadow:o,receiveShadow:o,children:f})]})}),yvt=({id:t,dimension:e,polygonTop:n,position:o,glassMaterial:i,empty:r,interior:a,wireframeData:l,frameData:s,leftShutter:c,rightShutter:u,shutterColor:d,shutterWidth:f,area:p,showHeatFluxes:g,foundation:A})=>{const w=M.getState().world,b=M(X2),C=M(q9),P=M($9),v=Sn(vb),T=m.useRef(0),y=m.useRef(),[S,x,R]=o,[H,D,k]=e,[W,N,L]=e.map(Ce=>Ce/2),[E,U]=n,{lineWidth:F,lineColor:B,selected:_,locked:Y,opacity:O}=l,J=E*H,Z=Math.hypot(U,W-J),ie=Math.asin(U/Z),ee=Math.hypot(U,W+J),q=-Math.asin(U/ee),ae=M(ss),ne=(Ce,ve)=>{const Ie=.5*H,ze=.5*(k+n[1]),ye=n[1],oe=[{x:-Ie,y:-ze},{x:Ie,y:-ze},{x:Ie,y:ze-ye},{x:H*n[0],y:ze},{x:-Ie,y:ze-ye}];return xe.isPointInside(Ce,ve,oe)},se=m.useMemo(()=>{if(!g||a||A&&A.notBuilding)return;const Ce=v.get(t);if(!Ce)return;const ve=Ce.reduce((Te,De)=>Te+De,0);if(p===0)return;const Ie=K9*(w.solarRadiationHeatmapGridCellSize??.5),ze=k+n[1],ye=Math.max(2,Math.round(H/Ie)),oe=Math.max(2,Math.round(ze/Ie)),ge=H/ye,Ae=ze/oe,me=ve/p*(b??Gm);T.current=me<0?1:0,y.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(me)*Vt);const Pe=[],Me=n[1]/2;if(me<0)for(let Te=0;Tef*H,[H,f]),te=m.useMemo(()=>(le+s.width+H)/2*1.025,[H,le,s.width]),he=m.useMemo(()=>{const[Ce,ve]=[H/2,k/2],Ie=E*H;return iG(Ce,ve,Ie,U)},[H,k,E,U]),pe=m.useMemo(()=>_&&Y?new sf({color:l0}):new sf({color:B}),[B,_,Y]),fe=m.useMemo(()=>Y&&_?F/5:F/20,[F,_,Y]),$=m.useMemo(()=>Y&&_?-D/2:-x,[x,D,_,Y]),de=(Ce,ve=0)=>h.jsx(wa,{args:[fe,fe,Ce,hvt,fvt],position:[ve,$,0],rotation:[0,0,Vt],material:pe}),Se=(Ce,ve=0)=>h.jsx(sa,{args:[Ce,D],position:[ve,0,0],material:pvt,receiveShadow:ae,castShadow:ae});return h.jsxs(h.Fragment,{children:[!r&&h.jsxs("mesh",{name:"Triangle Glass Plane",position:[0,x,0],rotation:[Vt,0,0],children:[h.jsx("shapeGeometry",{args:[he]}),i]}),s.showFrame&&h.jsx(mvt,{dimension:e,polygonTop:n,frameData:s,shadowEnabled:ae}),h.jsx(Aye,{cx:te,lx:le,lz:k,color:d,showLeft:c,showRight:u,spacing:s.showFrame?s.width/2:0}),h.jsxs("group",{position:[0,N,-L+.001],children:[Se(H),de(H)]}),h.jsxs("group",{position:[-W+.001,N,0],rotation:[0,Vt,0],children:[Se(k),de(k)]}),h.jsxs("group",{position:[W-.001,N,0],rotation:[0,-Vt,0],children:[Se(k),de(k)]}),h.jsxs("group",{position:[-W+.001,N,L-.01],rotation:[0,q,0],children:[Se(ee,ee/2),de(ee,ee/2)]}),h.jsxs("group",{position:[W-.001,N,L-.01],rotation:[0,ie,0],children:[Se(Z,-Z/2),de(Z,-Z/2)]}),se&&se.map((Ce,ve)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:Ce,name:"Heat Flux "+ve,lineWidth:P??Xm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:Ce[T.current].clone().add(new re(0,T.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:y.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},ve))]})},iG=(t,e,n,o,i=0,r=0)=>{const a=new Ml;return a.moveTo(i-t,r-e),a.lineTo(i+t,r-e),a.lineTo(i+t,r+e),a.lineTo(i+n,r+e+o),a.lineTo(i-t,r+e),a.closePath(),a},Avt=be.memo(yvt),wvt=({id:t,index:e,foundationModel:n,roofType:o,segment:i,centroid:r,thickness:a,color:l,sideColor:s,texture:c,heatmap:u,windows:d})=>{const f=M(Q9),p=ht(i3),g=M(X2),A=M(q9),w=M($9),b=Sn($L),{transparent:C,opacity:P}=eQ(),v=m.useRef(0),T=m.useRef(),y=m.useRef(),S=M.getState().world,x=Sn.getState().hourlyHeatExchangeArrayMap,{points:R}=i,H=m.useMemo(()=>{if(!p)return;const k=b(t);if(!k)return;const W=[],N=new re(0,0,a+.1);switch(o){case Vo.Hip:case Vo.Pyramid:for(const L of k){const E=[];E.push(L[0].clone().sub(r).add(N)),E.push(L[1].clone().sub(r).add(N)),W.push(E)}break;case Vo.Mansard:for(const[L,E]of k.entries()){if(L===k.length-1)continue;const U=[];U.push(E[0].clone().sub(r).add(N)),U.push(E[1].clone().sub(r).add(N)),W.push(U)}break;case Vo.Gambrel:for(const[L,E]of k.entries()){if(L===0||L===3){const F=[];F.push(E[0].clone().sub(r).add(N)),F.push(E[1].clone().sub(r).add(N)),W.push(F)}let U=[];U.push(E[0].clone().sub(r).add(N)),U.push(E[3].clone().sub(r).add(N)),W.push(U),U=[],U.push(E[1].clone().sub(r).add(N)),U.push(E[2].clone().sub(r).add(N)),W.push(U)}break}return W},[p]),D=m.useMemo(()=>{if(!p||n&&n.notBuilding)return;const k=x.get(t+"-"+e);if(!k)return;const W=k.reduce((ge,Ae)=>ge+Ae,0),N=b(t);if(!N||!N[e])return;const[L,E,U,F,B]=R,_=B.z-L.z,Y=N[e].map(ge=>ge.clone().sub(r).add(new re(0,0,_)));if(!Y)return;const O=[];for(const ge of Y)O.push({x:ge.x,y:ge.y});const J=K9*(S.solarRadiationHeatmapGridCellSize??.5),Z=Y[0].clone(),ie=Y[1].clone(),ee=Y[2].clone(),q=new re().subVectors(ie,Z),ae=new re().subVectors(ee,Z),ne=new re().subVectors(ee,ie),se=q.length(),le=new re().crossVectors(ae,ne).length()/se,te=Math.max(2,Math.floor(se/J)),he=Math.max(2,Math.floor(le/J));q.normalize(),ae.normalize(),ne.normalize();const pe=new re().crossVectors(ae,ne).normalize(),fe=q.multiplyScalar(.5*se/te),$=new re().crossVectors(pe,q).normalize().multiplyScalar(.5*le/he),de=Z.clone().add(fe).add($);fe.multiplyScalar(2),$.multiplyScalar(2),T.current=pe.clone().multiplyScalar(.1);const Se=[],Ce=new re;let ve=Y.length===4?xe.getTriangleArea(Y[0],Y[1],Y[2])+xe.getTriangleArea(Y[2],Y[3],Y[0]):xe.getTriangleArea(Y[0],Y[1],Y[2]);if(ve===0)return;let Ie=f(z.Window,t);const ze=b(t);if(ze&&ze[e]&&(Ie=Ie.filter(ge=>{const Ae=ge,me=Ae.cy+(Ae.windowType===Sr.Polygonal&&Ae.polygonTop?Ae.polygonTop[1]/2:0);return In.onSegment(ze[e],ge.cx,me)})),Ie&&Ie.length>0)for(const ge of Ie)ve-=xe.getWindowArea(ge);const ye=W/ve*(g??Gm);v.current=ye<0?1:0,y.current=xe.getEuler(Po,pe,"YXZ",-Math.sign(ye)*Vt);let oe;for(let ge=0;ge0){const Pe=Ce.x+r.x,Me=Ce.y+r.y;for(const Te of Ie){const De=In.getRelativeWindowVerticesOnRoof(Te),Ne=xe.getPoints(De);if(xe.isPointInside(Pe,Me,Ne)){oe=!1;break}}}if(oe&&xe.isPointInside(Ce.x,Ce.y,O)){const Pe=[];ye<0?(Pe.push(Ce.clone()),Pe.push(Ce.clone().add(pe.clone().multiplyScalar(-ye)))):(Pe.push(Ce.clone()),Pe.push(Ce.clone().add(pe.clone().multiplyScalar(ye)))),Se.push(Pe)}}}return Se},[p,g]);return h.jsxs(h.Fragment,{children:[h.jsx(gYe,{id:t,index:e,segment:i,color:l,sideColor:s,texture:c,heatmap:u,transparent:C,opacity:P,windows:d,centroid:r}),H&&H.map((k,W)=>h.jsx(Fn,{points:k,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+W},W)),D&&D.map((k,W)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:k,name:"Heat Flux "+W,lineWidth:w??Xm,color:A??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:T.current?k[v.current].clone().add(T.current):k[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head "+W,rotation:y.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:A??g0})})]},W))]})},gYe=be.memo(({id:t,index:e,segment:n,color:o,sideColor:i,texture:r,heatmap:a,transparent:l,opacity:s,windows:c,centroid:u})=>{const d=ht(cs),f=m.useRef(null),{points:p}=n,g=d?a:r,A=p.length===6,w=p.length===8,b=m.useMemo(()=>c.map(R=>{const H=new re(R.lx,R.lz,R.ly*2),D=new re(R.cx,R.cy,R.cz).sub(u),k=new Qt().fromArray([R.rotation[0],R.rotation[1],R.rotation[2],"ZXY"]);if(R.windowType===Sr.Polygonal){const[W,N]=R.polygonTop??jp,[L,E,U]=[H.x/2,H.y/2,W*H.x],F=iG(L,E,U,N),B=new es(new H9([F],{steps:1,depth:H.z,bevelEnabled:!1})),_=new re(0,0,-H.z).applyEuler(k);return B.position.copy(D.clone().add(_)),B.rotation.copy(k),B.updateMatrix(),B}else if(R.windowType===Sr.Arched){const W=oG(H.x,H.y,R.archHeight),N=new es(new H9([W],{steps:1,depth:H.z,bevelEnabled:!1})),L=new re(0,0,-H.z).applyEuler(k);return N.position.copy(D.clone().add(L)),N.rotation.copy(k),N.updateMatrix(),N}else{const W=new es(new X9(H.x,H.y,H.z));return W.position.copy(D),W.rotation.copy(k),W.updateMatrix(),W}}),[c,u]),C=v()??6,P=m.useMemo(()=>Array(C).fill(0),[C]);if(m.useEffect(()=>{v()},[]),!A&&!w)return null;function v(){if(!f.current||!A&&!w)return;const R=f.current.geometry;R.index=null,R.clearGroups();const H=[],D=[];let k=0,W=0;if(A){const B=p.slice(p.length/2);N(B),d?E():L(B),U(3);const _=p.slice(0,p.length/2).reverse();N(_),D.push(0,0,1,0,0,1),U(3),F([[0,1,4,3],[1,2,5,4],[2,0,3,5]])}else if(w){const B=p.slice(p.length/2),[_,Y]=T(B);N(_),N(Y);const[O,J,Z,ie]=B,ee=_[2].equals(ie);if(d)E(ee);else{const se=new re().subVectors(J,O),le=new re().subVectors(Z,O),te=new re().subVectors(ie,O),pe=new Gt(J.x-O.x,J.y-O.y).length(),fe=pe,$=0,de=se.dot(le)/pe,Se=se.clone().cross(le).length()/pe,Ce=se.dot(te)/pe,ve=se.clone().cross(te).length()/pe;ee?(D.push(0,0,fe,$,Ce,ve),D.push(fe,$,de,Se,Ce,ve)):(D.push(0,0,fe,$,de,Se),D.push(0,0,de,Se,Ce,ve))}U(6);const q=p.slice(0,p.length/2),[ae,ne]=T(q);N(ae.reverse()),N(ne.reverse()),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),U(6),F([[0,1,5,4],[1,2,6,5],[2,3,7,6],[3,0,4,7]])}else throw new Error("segment is neither quad nor tri");if(R.setAttribute("position",new hi(H,3)),R.setAttribute("uv",new hi(D,2)),R.computeVertexNormals(),R.computeBoundingSphere(),c.length>0){const B=[];for(let Y=0;Yq.concat(p[ae].x,p[ae].y,p[ae].z),[]),ee=[Z,O,J].reduce((q,ae)=>q.concat(p[ae].x,p[ae].y,p[ae].z),[]);H.push(...ie),H.push(...ee),D.push(0,0,1,0,0,1),D.push(0,1,1,0,1,1),U(6)}}}function T(R){const[H,D,k,W]=R,N=xe.distanceFromPointToLine2D(W,H,D),L=xe.distanceFromPointToLine2D(k,H,D),E=[],U=[];return Math.abs(N-L)<.01?H.z>D.z?(E.push(H,D,k),U.push(H,k,W)):(E.push(H,D,W),U.push(D,k,W)):N<=L?(E.push(H,D,W),U.push(D,k,W)):(E.push(H,D,k),U.push(H,k,W)),[E,U]}const y=({i:R})=>h.jsx("meshBasicMaterial",{attach:`material-${R}`,map:g,transparent:l,opacity:s}),S=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:o,map:g,transparent:l,opacity:s}),x=({i:R})=>h.jsx("meshStandardMaterial",{attach:`material-${R}`,color:i,transparent:l,opacity:s});return h.jsx("mesh",{ref:f,name:`Buffer Roof Segment ${e}`,uuid:t+"-"+e,userData:{simulation:!0},receiveShadow:!d,castShadow:!0,frustumCulled:!1,children:P.map((R,H)=>H!==0?h.jsx(x,{i:H},"side"+H):d?h.jsx(y,{i:H},"heatmap"+H):h.jsx(S,{i:H},"texture"+H))})}),Fq=be.memo(wvt),vvt=({cz:t,points:e})=>{const n=new Ml;n.moveTo(e[0].x,e[0].y);for(const{x:o,y:i}of e)n.lineTo(o,i);return n.closePath(),h.jsx($w,{scale:.99,position:[0,0,t],args:[n,{steps:1,depth:.1,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{side:ji,color:"white"})})},dW=be.memo(vvt);function a3(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const o of t)if(!e.has(o))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o=0;oM(e=>e.selectedElementIdSet.has(t)&&!e.groupActionMode),Kt=()=>{const t=M(Sc);return m.useMemo(()=>({lng:t}),[t])},l1=t=>M.getState().getWeather(t??"Boston MA, USA"),Kwe=new re,qwe=new Qt,$j=new re,xvt=new re(0,0,1),bvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e);for(let l=0;l{const[c,u,d]=l.points,f=Math.abs(c.z)<.015,p=[c.clone().sub(r),c];return f||p.push(d),h.jsx(Fn,{points:p,lineWidth:n,color:o},s)})]})]})}),Svt=({roofModel:t,foundationModel:e})=>{let{cx:n,cy:o,lz:i,id:r,wallsId:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineWidth:f=.2,lineColor:p="black",roofType:g,foundationId:A,rise:w=i,ceiling:b=!1}=t;const C=jH(l),P=Hs(r);[p,f]=In.getWireframetStyle(p,f,P,d);const v=M(dn),T=M(hp),{camera:y,gl:S}=Xi(),x=m.useMemo(()=>new Gs,[]),R=m.useMemo(()=>new Gt,[]),[H,D]=m.useState(!1),k=m.useRef(null),W=m.useRef(!1),N=m.useRef(w),L=new Set(a),E=Me=>{R.x=Me.offsetX/S.domElement.clientWidth*2-1,R.y=-(Me.offsetY/S.domElement.clientHeight)*2+1,x.setFromCamera(R,y)},U=Me=>{const Te=[],De=Me.length;for(const Ne of Me)Ne.leftPoint[0]!==void 0&&Ne.leftPoint[1]!==void 0&&Te.push({x:Ne.leftPoint[0],y:Ne.leftPoint[1]});return Y.current||(Me[De-1].rightPoint[0]||Me[De-1].rightPoint[0]===0)&&(Me[De-1].rightPoint[1]||Me[De-1].rightPoint[1]===0)&&Te.push({x:Me[De-1].rightPoint[0],y:Me[De-1].rightPoint[1]}),Te},F=(Me,Te)=>{if(Me.length!==Te.size)return!0;for(const De of Me)if(!Te.has(De.id))return!0;return!1},B=()=>{let Me=1/0;for(let Te=0;Te<_.length;Te++){const De=_[Te],Ne=new re(De.leftPoint[0],De.leftPoint[1]),Ye=new re(De.rightPoint[0],De.rightPoint[1]),Le=In.getDistance(Ne,Ye,ie),$e=Math.min((De.eavesLength??0)/Le*(ie.z-De.lz),De.lz),We=In.getDistance(Ne,Ye,ie),Ee=Math.min((De.eavesLength??0)/We*(ie.z-De.lz),De.lz);Me=Math.min(Math.min($e,Ee),Me)}return Number.isNaN(Me)?0:Me},{currentWallArray:_,isLoopRef:Y}=ZKe(A,r,a),{highestWallHeight:O,topZ:J}=eqe(_,w);qW(t,O);const Z=m.useMemo(()=>{if(_.length<2)return{x:0,y:0};const Me=U(_);if(Me.length<3)return{x:0,y:0};const Te=xe.calculatePolygonCentroid(Me);return Number.isNaN(Te.x)||Number.isNaN(Te.y)?{x:0,y:0}:Te},[_,J]),ie=m.useMemo(()=>new re(Z.x,Z.y,J),[Z,J]),ee=m.useMemo(()=>{const Me=_.map(Te=>In.getWallNormal(Te).multiplyScalar(Te.eavesLength??0));if(!Y.current&&Me.length!==0){const Te=new re().subVectors(new re(_[_.length-1].rightPoint[0],_[_.length-1].rightPoint[1]),new re(_[0].leftPoint[0],_[0].leftPoint[1])).applyEuler(eG).normalize().multiplyScalar(.3);Me.push(Te)}return Me},[_]),q=m.useMemo(()=>{const Me=_.map((Te,De)=>({leftPoint:new re(Te.leftPoint[0],Te.leftPoint[1]).add(ee[De]),rightPoint:new re(Te.rightPoint[0],Te.rightPoint[1]).add(ee[De])}));return!Y.current&&Me.length!==0&&Me.push({leftPoint:new re(_[_.length-1].rightPoint[0],_[_.length-1].rightPoint[1]).add(ee[ee.length-1]),rightPoint:new re(_[0].leftPoint[0],_[0].leftPoint[1]).add(ee[ee.length-1])}),Me},[_,ee]),ae=m.useMemo(()=>xvt.clone().multiplyScalar(u),[u]),ne=m.useMemo(()=>{const Me=[];if(_.length<2)return Me;const Te=B();for(let De=0;De<_.length;De++){const Ne=_[De];if(Ne.leftPoint.length>0&&Ne.rightPoint.length>0&&(Ne.leftPoint[0]!==Ne.rightPoint[0]||Ne.leftPoint[1]!==Ne.rightPoint[1])){const Ye=[];let{lh:Le,rh:$e}=In.getWallHeight(_,De);Y.current||(De===0&&(Le=_[0].lz),De===_.length-1&&($e=_[_.length-1].lz));const We=In.getIntersectionPoint(q[(De+q.length-1)%q.length].leftPoint,q[(De+q.length-1)%q.length].rightPoint,q[De].leftPoint,q[De].rightPoint).setZ(Le-Te).sub(ie),Ee=In.getIntersectionPoint(q[De].leftPoint,q[De].rightPoint,q[(De+1)%q.length].leftPoint,q[(De+1)%q.length].rightPoint).setZ($e-Te).sub(ie),Fe=new re(Ne.cx,Ne.cy).sub(ie.clone().setZ(0)).length();Ye.push(We,Ee,$j),Ye.push(We.clone().add(ae),Ee.clone().add(ae),$j.clone().add(ae)),Me.push({points:Ye,angle:-Ne.relativeAngle,length:Fe})}}if(!Y.current){const De=q.length-1,Ne=In.getIntersectionPoint(q[De-1].leftPoint,q[De-1].rightPoint,q[De].leftPoint,q[De].rightPoint).setZ(_[_.length-1].lz-Te).sub(ie),Ye=In.getIntersectionPoint(q[De].leftPoint,q[De].rightPoint,q[0].leftPoint,q[0].rightPoint).setZ(_[0].lz-Te).sub(ie);let Le=Math.atan2(Ye.y-Ne.y,Ye.x-Ne.x);Le=Le>=0?Le:(na+Le)%na;const $e=new re().addVectors(Ne,Ye).setZ(0).divideScalar(2).length(),We=[];We.push(Ne,Ye,$j),We.push(Ne.clone().add(ae),Ye.clone().add(ae),$j.clone().add(ae)),Me.push({points:We,angle:-Le,length:$e})}return Me},[_,Z,u]),se=m.useMemo(()=>{const Me=[];if(_.length===0)return Me;Me.push(new re().fromArray(_[0].leftPoint));for(const Te of _)Me.push(new re().fromArray(Te.rightPoint));return Me},[_]);let le=0;if(e){n=e.cx,o=e.cy,le=e.rotation[2];const Me=-Math.atan2(y.position.x-n,y.position.y-o)-le;Kwe.set(Z.x,Z.y,J),qwe.set(-Vt,0,Me,"ZXY")}const te=tQ();m.useEffect(()=>{if(te)return;if(M.getState().addedRoofIdSet.has(r)&&_.length>=2&&F(_,L)){const Te=_.map(Ne=>Ne.id),De=new Set(Te);v(Ne=>{for(const Ye of Ne.elements)if(Ye.type===z.Roof)Ye.id===r&&(Ye.wallsId=Te);else if(Ye.type===z.Wall&&L.has(Ye.id)&&!De.has(Ye.id)){const Le=Ye;Le.roofId=null,Le.leftRoofHeight=void 0,Le.rightRoofHeight=void 0}}),M.getState().deleteAddedRoofId(r)}},[L]),m.useEffect(()=>{if(_.length>1){if(M.getState().addedRoofIdSet.has(r)){for(let Te=0;Te<_.length;Te++)v(De=>{for(const Ne of De.elements)if(Ne.id===_[Te].id&&Ne.type===z.Wall){const Ye=Ne;Ye.roofId=r,Ye.leftRoofHeight=void 0,Ye.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(r)}}else T(r,!1,!1,!0)},[_]),uye(e,r,ne,ie,J,u);const he=()=>{if(_.length<2)return!1;const Me=_[0].lz;for(const Te of _)if(Math.abs(Te.lz-Me)>.01)return!1;for(const Te of ne){const[De,Ne]=Te.points;if(Math.abs(De.z)>.01||Math.abs(Ne.z)>.01)return!1}return!0},[pe,fe]=m.useState(he);m.useEffect(()=>{fe(he())},[_,J]);const $=ht(cs),de=M(wf),Se=Sn(i1),[Ce,ve]=m.useState([]),[Ie,ze]=m.useState(null),ye=M(Vc),oe=JW(r,ie,ne,pe,Vo.Pyramid);m.useEffect(()=>{if($)if(pe){const Me=Se(r);if(Me){const Te=xe.fetchHeatmapTexture(Me,de??5);if(Te){const De=oe();if(De&&De.length>0&&e){const Ne=new Qt(0,0,e.rotation[2],"ZYX");let Ye=Number.MAX_VALUE,Le=Number.MAX_VALUE,$e=-Number.MAX_VALUE,We=-Number.MAX_VALUE;for(const xt of De)for(const dt of xt){const Qe=dt.clone().applyEuler(Ne);Qe.x>$e&&($e=Qe.x),Qe.xWe&&(We=Qe.y),Qe.y0){const Te=[];if(oe()){for(let Ne=0;Ne{const Me=[];for(let Te=0;Te<_.length;Te++){const De=_[Te];if(De.leftPoint.length>0&&De.rightPoint.length>0&&(De.leftPoint[0]!==De.rightPoint[0]||De.leftPoint[1]!==De.rightPoint[1])){let{lh:Ne,rh:Ye}=In.getWallHeight(_,Te);Y.current||(Te===0&&(Ne=_[0].lz),Te===_.length-1&&(Ye=_[_.length-1].lz));const Le=new re(De.leftPoint[0],De.leftPoint[1],Ne),$e=new re(De.rightPoint[0],De.rightPoint[1],Ye);Me.push([Le,$e,ie.clone()])}}if(!Y.current){const Te=_[0],De=_[_.length-1],Ne=new re(De.rightPoint[0],De.rightPoint[1],De.lz),Ye=new re(Te.leftPoint[0],Te.leftPoint[1],Te.lz);Me.push([Ne,Ye,ie.clone()])}if(pe){const Te=[];for(const De of Me)Te.push(De[0].clone());Sn.getState().setRoofSegmentVerticesWithoutOverhang(r,[Te])}else Sn.getState().setRoofSegmentVerticesWithoutOverhang(r,Me)});const Ae=M(Me=>Me.elements.filter(Te=>Te.parentId===r&&Te.type===z.Window),a3),me=$W(r,e,ie,ne),Pe=l===Ui.Default||l===Ui.NoTexture?s:"white";return h.jsxs("group",{name:`Pyramid Roof Group ${r}`,children:[h.jsx("group",{name:`Pyramid Roof Segments Group ${r}`,userData:me,position:[Z.x,Z.y,J],onPointerDown:Me=>{VW(Me,e.id,r,ne,ie)},onPointerMove:Me=>{XW(Me,r)},onPointerUp:Me=>{GW(Me,t)},onContextMenu:Me=>{dR(Me,r)},children:pe?h.jsx(nQ,{id:r,foundationModel:e,roofType:g,roofSegments:ne,center:ie,thickness:u,lineWidth:f,lineColor:p,sideColor:c,color:Pe,textureType:l,heatmap:Ie}):h.jsxs(h.Fragment,{children:[ne.map((Me,Te)=>{const{points:De}=Me;if(De.length>0){const[Ne,Ye]=De;if(Ne.distanceTo(Ye)>.1)return h.jsx("group",{name:`Roof segment ${Te}`,children:h.jsx(Fq,{id:r,index:Te,foundationModel:e,roofType:g,segment:Me,centroid:ie,thickness:u,color:Pe,sideColor:c,texture:C,heatmap:Ce&&Te0&&h.jsx(dW,{points:se,cz:_[0].lz}),P&&!d&&h.jsx(Qf,{position:[Z.x,Z.y,J+u+.15],onPointerDown:Me=>{ye(t.id,Me,zo.Select),D(!0),Ln.getState().setEnableOrbitController(!1),W.current=!0,N.current=w,v(Te=>{Te.resizeHandleType=gt.Top,Te.selectedElementHeight=J+t.thickness})},onPointerUp:()=>{D(!1),Ln.getState().setEnableOrbitController(!0)},onPointerOver:()=>{v(Me=>{Me.hoveredHandle=ki.Top,Me.selectedElementHeight=J+t.thickness,Me.selectedElementX=Z.x,Me.selectedElementY=Z.y})}}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:k,args:[1e3,100],visible:!1,rotation:qwe,position:Kwe,onPointerMove:Me=>{if(k.current&&W.current&&e){E(Me);const Te=x.intersectObjects([k.current]);if(Te[0]){const De=Te[0].point;if(De.z<.001)return;const Ne=Math.max(0,De.z-e.lz-.3-O);M.getState().updateRoofRiseById(r,Ne,J+t.thickness)}}},onPointerUp:Me=>{_W(r,N.current,w),D(!1),Ln.getState().setEnableOrbitController(!0),W.current=!1}})]})},Tvt=be.memo(Svt,BH),Pvt=(t,e,n)=>{const{left:o,right:i,center:r,centerLeft:a,centerRight:l}=n,[s,c]=[t/2,e/2],u=[{x:-s,y:o-c},{x:-s,y:-c},{x:s,y:-c},{x:s,y:i-c}];if(l){const[d,f]=l;u.push({x:d*t,y:f-c})}if(r){const[d,f]=r;u.push({x:d*t,y:f-c})}if(a){const[d,f]=a;u.push({x:d*t,y:f-c})}return u},K5=(t,e)=>{for(const n of M.getState().elements)if(n.type===z.Wall&&n.foundationId===e&&t.has(n.id)){const o=t.get(n.id);if(o){const i=n,r=Pvt(i.lx,i.lz,o);for(const a of M.getState().elements)if(a.parentId===i.id){let{cx:l,cz:s,lx:c,ly:u,lz:d}=a;if(l*=i.lx,s*=i.lz,a.type!==z.SolarPanel?(c*=i.lx,d*=i.lz):d=u,a.type===z.Window&&a.windowType===Sr.Polygonal){const[f,p]=a.polygonTop??jp,g=l+f*c,A=s+d/2+p;if(!xe.isPointInside(g,A,r))return!1}if(!xe.isElementInsideWall(new re(l,0,s),c,d,r,a.type===z.Door))return!1}}}return!0},Cvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e),a=t[0].points,l=t[1].points,s=t[2].points,c=t[3].points;i.push(l[3],l[0],a[0],a[1],a[2],l[2],s[0],c[0],c[1],s[1],l[3]);const u=Math.abs(a[0].z)<.15,d=h.jsx(Fn,{points:i,lineWidth:n,color:o}),f=h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[l[0],l[1]],lineWidth:n,color:o}),h.jsx(Fn,{points:[l[2],l[3]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s[2],s[3]],lineWidth:n,color:o})]});return h.jsxs(h.Fragment,{children:[d,!u&&f,h.jsxs("group",{position:[0,0,e],children:[d,!u&&f]}),h.jsx(Fn,{points:[a[0],a[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[a[1],a[1].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[0],c[0].clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[c[1],c[1].clone().add(r)],lineWidth:n,color:o})]})}),tie=new re,nie=new Qt,$we=new Gt,Rvt=new re(0,0,1),Hvt=({roofModel:t,foundationModel:e})=>{let{id:n,cx:o,cy:i,lz:r,wallsId:a,parentId:l,topRidgeLeftPoint:s,frontRidgeLeftPoint:c,backRidgeLeftPoint:u,topRidgePoint:d,frontRidgePoint:f,backRidgePoint:p,textureType:g,color:A="white",sideColor:w="white",thickness:b=.2,locked:C,lineColor:P="black",lineWidth:v=.2,roofType:T,rise:y=r,ceiling:S=!1}=t;d===void 0&&(d=s?[...s]:[0,1]),f===void 0&&(f=c?[...c]:[.35,.5]),p===void 0&&(p=u?[...u]:[.35,.5]);const x=Hs(n);[P,v]=In.getWireframetStyle(P,v,x,C);const R=M(dn),H=M(hp),D=jH(g),[k,W]=m.useState(ki.Null),[N,L]=m.useState(!1),E=m.useRef(null),{gl:U,camera:F}=Xi(),B=m.useMemo(()=>new Gs,[]),_=m.useMemo(()=>new Gt,[]),Y=m.useRef([0,0]),O=m.useRef(y),J=m.useRef(!1),Z=y<.01,ie=(et,Oe,nt)=>{R(mt=>{for(const Tt of mt.elements)if(Tt.id===et&&Tt.type===z.Roof&&Tt.roofType===Vo.Gambrel){const Rt=Tt;switch(Oe){case ki.FrontLeft:case ki.FrontRight:Rt.frontRidgePoint=[...nt];break;case ki.TopLeft:case ki.TopRight:Rt.topRidgePoint=[...nt];break;case ki.BackLeft:case ki.BackRight:Rt.backRidgePoint=[...nt];break}break}})},ee=(et,Oe,nt,mt)=>{const Tt={name:"Resize Gambrel Roof Ridge",timestamp:Date.now(),resizedElementId:et,resizedElementType:z.Roof,oldVal:[...nt],newVal:[...mt],type:Oe,undo:()=>{ie(Tt.resizedElementId,Tt.type,Tt.oldVal)},redo:()=>{ie(Tt.resizedElementId,Tt.type,Tt.newVal)}};M.getState().addUndoable(Tt)},q=et=>{_.x=et.offsetX/U.domElement.clientWidth*2-1,_.y=-(et.offsetY/U.domElement.clientHeight)*2+1,B.setFromCamera(_,F)},ae=(et,Oe)=>{L(!0),Ln.getState().setEnableOrbitController(!1),tie.set(et.x,et.y,et.z).add(ye),e&&Oe&&nie.set(Vt,0,Oe.relativeAngle,"ZXY")},ne=(et,Oe,nt)=>{const mt=new Gt(et.cx,et.cy),Tt=In.getComposedWallCenter(Oe),Rt=In.getComposedWallLength(Oe),Wt=new Gt(Tt.x,Tt.y).rotateAround($we,et.rotation[2]).add(mt),Ct=et.rotation[2]+Oe.relativeAngle,kt=new Gt(nt.x,nt.y).sub(Wt).rotateAround($we,-Ct).x/Rt;return Math.min(Math.abs(kt),.5)*(kt>=0?1:-1)},se=(et,Oe,nt,mt)=>{if(!et)return new re;const Tt=In.getComposedWallLength(et),Rt=new Qt(0,0,et.relativeAngle),Wt=new re(Oe*Tt,0,0);let Ct=ze;mt&&(Ct=nt*(ze-mt.lz)+mt.lz);const wt=In.getComposedWallCenter(et);return new re(wt.x,wt.y,Ct).add(Wt.applyEuler(Rt))},le=(et,Oe)=>{const nt=et[Oe];let mt,Tt;return Oe===0||Oe===2?(mt=nt.lz,Tt=nt.lz):Oe===1?(mt=et[0].lz,Tt=et[2].lz):(mt=et[2].lz,Tt=et[0].lz),{lh:mt,rh:Tt}},te=et=>et.id===n&&et.type===z.Roof&&et.roofType===Vo.Gambrel,he=(et,Oe)=>{const nt=Oe.x-et.x,Tt=(Oe.y-et.y)/nt,Rt=et.y-Tt*et.x;return{start:et.x,end:Oe.x,k:Tt,b:Rt}},pe=(et,Oe,nt,mt,Tt,Rt,Wt,Ct)=>{const wt=et[Oe],{lh:kt,rh:qe}=le(et,Oe),Je=new re().subVectors(wt.leftPoint,wt.rightPoint).length(),st=Je/2,Pt=ut=>ut*Je+st,Ue=(ut,je)=>ut*(nt-je)+je,lt=[new Gt(Pt(-Rt[0]),Ue(Rt[1],mt)),new Gt(Pt(Wt[0]),nt),new Gt(Pt(Ct[0]),Ue(Ct[1],Tt)),new Gt(Je,qe)];return lt.map((ut,je)=>{const yt=je===0?new Gt(0,kt):lt[je-1];return he(yt,ut)})},fe=(et,Oe)=>{for(const nt of et){const{start:mt,end:Tt,k:Rt,b:Wt}=nt;if(Oe>=mt&&Oe<=Tt)return Rt*Oe+Wt}return null},$=et=>{const Oe=new Set;for(const nt of et)nt.wallsId.forEach(mt=>Oe.add(mt));R(nt=>{for(const mt of nt.elements)if(mt.type===z.Wall&&mt.foundationId===l&&Oe.has(mt.id)){const Tt=mt;Tt.leftRoofHeight=ze,Tt.rightRoofHeight=ze,Tt.centerLeftRoofHeight=void 0,Tt.centerRightRoofHeight=void 0,Tt.centerRoofHeight=void 0}})},de=(et,Oe,nt,mt,Tt,Rt,Wt)=>{if(nt!==1&&nt!==3)return;const Ct=nt===3,{lh:wt,rh:kt}=le(Oe,nt),qe=Ct?Wt:Tt,Je=Ct?Tt:Wt,st=Ct?Rt:[-Rt[0],Rt[1]],Pt=pe(Oe,nt,mt,wt,kt,qe,st,Je),Ue=Pt.slice(1).map(ut=>ut.start),lt=Oe[nt],Ve=lt.wallsId.reduce((ut,je)=>{const yt=M.getState().elements.find(Ht=>Ht.id===je);return yt?[...ut,yt.lx+ut[ut.length-1]]:ut},[0]);for(let ut=0;ut=yt&&fn<=Ht){const rn=(fn-Ft)/zt,bn=fe(Pt,fn);bn!==null&&(Xt===0?ln.centerLeft=[rn,bn]:Xt===1?ln.center=[rn,bn]:Xt===2&&(ln.centerRight=[rn,bn]))}}et.set(je,ln)}}return et},Se=(et,Oe,nt,mt,Tt)=>{const Rt=new Map;return de(Rt,et,1,Oe,nt,mt,Tt),de(Rt,et,3,Oe,nt,mt,Tt),Rt},Ce=(et,Oe,nt,mt,Tt)=>{const Rt=new Set(et[0].wallsId),Wt=new Set(et[2].wallsId),Ct=Se(et,Oe,nt,mt,Tt);R(wt=>{for(const kt of wt.elements)if(kt.type===z.Wall&&kt.foundationId===l){if(Rt.has(kt.id)){const qe=kt,{lh:Je,rh:st}=le(et,0);qe.roofId=n,qe.leftRoofHeight=Je,qe.rightRoofHeight=st}else if(Wt.has(kt.id)){const qe=kt,{lh:Je,rh:st}=le(et,2);qe.roofId=n,qe.leftRoofHeight=Je,qe.rightRoofHeight=st}else if(Ct.has(kt.id)){const qe=Ct.get(kt.id);if(qe){const Je=kt,{left:st,right:Pt,center:Ue,centerLeft:lt,centerRight:Ve}=qe;if(Je.roofId=n,Je.leftRoofHeight=st,Je.rightRoofHeight=Pt,lt){const[ut,je]=lt;Je.centerLeftRoofHeight?(Je.centerLeftRoofHeight[0]=ut,Je.centerLeftRoofHeight[1]=je):Je.centerLeftRoofHeight=[ut,je]}else Je.centerLeftRoofHeight=void 0;if(Ue){const[ut,je]=Ue;Je.centerRoofHeight?(Je.centerRoofHeight[0]=ut,Je.centerRoofHeight[1]=je):Je.centerRoofHeight=[ut,je]}else Je.centerRoofHeight=void 0;if(Ve){const[ut,je]=Ve;Je.centerRightRoofHeight?(Je.centerRightRoofHeight[0]=ut,Je.centerRightRoofHeight[1]=je):Je.centerRightRoofHeight=[ut,je]}else Je.centerRightRoofHeight=void 0}}}})},ve=lye(a[0],l),{highestWallHeight:Ie,topZ:ze}=sye(ve,y,!0);qW(t,Ie);const ye=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve.map(nt=>({x:nt.leftPoint.x,y:nt.leftPoint.y})),Oe=xe.calculatePolygonCentroid(et);return new re(Oe.x,Oe.y,ze)},[ve,ze]),oe=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[3],[Oe,nt]=d;return se(et,Oe,nt).sub(ye)},[ve,ye,d]),ge=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[1],[Oe,nt]=d;return se(et,-Oe,nt).sub(ye)},[ve,ye,d]),Ae=m.useMemo(()=>new re().addVectors(oe,ge).divideScalar(2),[oe,ge]),me=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[3],[Oe,nt]=f;return se(et,Oe,nt,ve[0]).sub(ye)},[ve,ye,f]),Pe=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[1],[Oe,nt]=f;return se(et,-Oe,nt,ve[0]).sub(ye)},[ve,ye,f]),Me=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[1],[Oe,nt]=p;return se(et,Oe,nt,ve[2]).sub(ye)},[ve,ye,p]),Te=m.useMemo(()=>{if(!ve||ve.length!==4)return new re;const et=ve[3],[Oe,nt]=p;return se(et,-Oe,nt,ve[2]).sub(ye)},[ve,ye,p]),De=m.useMemo(()=>!ve||ve.length!==4?[]:ve.map(et=>In.getComposedWallNormal(et).multiplyScalar(et.eavesLength)),[ve]),Ne=m.useMemo(()=>Rvt.clone().multiplyScalar(b),[b]),Ye=m.useMemo(()=>{const et=[];if(!ve||ve.length!==4)return et;const[Oe,nt,mt,Tt]=ve,[Rt,Wt,Ct,wt]=De,kt=Oe.leftPoint,qe=Oe.rightPoint,Je=mt.leftPoint,st=mt.rightPoint,Pt=kt.clone().add(Rt),Ue=qe.clone().add(Rt),lt=st.clone().add(wt),Ve=kt.clone().add(wt),ut=qe.clone().add(Wt),je=Je.clone().add(Wt),yt=Je.clone().add(Ct),Ht=st.clone().add(Ct),At=[],{lh:It,rh:zt}=le(ve,0),Ft=In.getDistance(kt,qe,me.clone().add(ye)),ln=Math.min((Oe.eavesLength??0)/Ft*(me.clone().add(ye).z-It),It),Xt=In.getDistance(kt,qe,Pe.clone().add(ye)),fn=Math.min((Oe.eavesLength??0)/Xt*(Pe.clone().add(ye).z-zt),zt),rn=In.getIntersectionPoint(lt,Ve,Pt,Ue).setZ(It-ln).sub(ye),bn=In.getIntersectionPoint(Pt,Ue,ut,je).setZ(zt-fn).sub(ye),Tn=In.getIntersectionPoint(me,Pe,lt.clone().sub(ye),Ve.clone().sub(ye)).setZ(me.z),Un=In.getIntersectionPoint(Pe,me,ut.clone().sub(ye),je.clone().sub(ye)).setZ(Pe.z);At.push(rn,bn,Un,Tn),At.push(rn.clone().add(Ne),bn.clone().add(Ne),Un.clone().add(Ne),Tn.clone().add(Ne));const Ai=In.getComposedWallCenter(Oe),vo=-Oe.relativeAngle,Oo=new re(Ai.x,Ai.y).sub(Ae.clone().setZ(0)).length();et.push({points:At,angle:vo,length:Oo});const si=[],po=In.getIntersectionPoint(oe,ge,lt.clone().sub(ye),Ve.clone().sub(ye)).setZ(oe.z),eo=In.getIntersectionPoint(oe,ge,ut.clone().sub(ye),je.clone().sub(ye)).setZ(ge.z);si.push(Tn,Un,eo,po),si.push(Tn.clone().add(Ne),Un.clone().add(Ne),eo.clone().add(Ne),po.clone().add(Ne)),et.push({points:si,angle:vo,length:Oo});const uo=-mt.relativeAngle,{lh:qo,rh:Hi}=le(ve,2),vi=In.getDistance(Je,st,Me.clone().add(ye)),Cn=Math.min((mt.eavesLength??0)/vi*(Me.clone().add(ye).z-qo),qo),yn=In.getDistance(Je,st,Te.clone().add(ye)),to=Math.min((mt.eavesLength??0)/yn*(Te.clone().add(ye).z-Hi),Hi),Eo=In.getIntersectionPoint(ut,je,yt,Ht).setZ(qo-Cn).sub(ye),ni=In.getIntersectionPoint(yt,Ht,lt,Ve).setZ(Hi-to).sub(ye),Lo=In.getIntersectionPoint(Me,Te,ut.clone().sub(ye),je.clone().sub(ye)).setZ(Te.z),bo=In.getIntersectionPoint(Te,Me,lt.clone().sub(ye),Ve.clone().sub(ye)).setZ(Te.z),Ro=In.getComposedWallCenter(mt),oi=new re(Ro.x,Ro.y).sub(Ae.clone().setZ(0)).length(),go=[];go.push(Lo,bo,po,eo),go.push(Lo.clone().add(Ne),bo.clone().add(Ne),po.clone().add(Ne),eo.clone().add(Ne)),et.push({points:go,angle:uo,length:oi});const So=[];return So.push(Eo,ni,bo,Lo),So.push(Eo.clone().add(Ne),ni.clone().add(Ne),bo.clone().add(Ne),Lo.clone().add(Ne)),et.push({points:So,angle:uo,length:oi}),et},[ve,ze,b,d,f,p]),Le=m.useMemo(()=>!ve||ve.length!==4?null:ve.map(et=>et.leftPoint),[ve]);m.useEffect(()=>{(!ve||ve.length!==4)&&H(n,!1,!1,!0)},[ve]);const $e=tQ();m.useEffect(()=>{if((ve==null?void 0:ve.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!$e)&&(Z?$(ve):Ce(ve,ze,f,d,p),Z$(e,n,Ye,ye,ze,b,Z),M.getState().deleteAddedRoofId(n))},[Ye]),cye(e,n,Ye,ye,ze,b,Z);const We=()=>{const et=[];if(!ve||ve.length!==4)return et;const Oe=ve.map((wt,kt,qe)=>new re(wt.leftPoint.x,wt.leftPoint.y,le(qe,kt).lh)),nt=me.clone().add(ye),mt=Pe.clone().add(ye),Tt=Me.clone().add(ye),Rt=Te.clone().add(ye),Wt=oe.clone().add(ye),Ct=ge.clone().add(ye);et.push([Oe[0],Oe[1],mt,nt]),et.push([nt,mt,Ct,Wt]),et.push([Wt,Ct,Tt,Rt]),et.push([Oe[2],Oe[3],Rt,Tt]),Z?Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Oe]):Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,et)},Ee=JW(n,ye,Ye,Z,Vo.Gambrel);KW(We);const Fe=M(et=>et.elements.filter(Oe=>Oe.parentId===n&&Oe.type===z.Window),a3),Ge=M(Vc),rt=ht(cs),_e=M(wf),xt=Sn(i1),[dt,Qe]=m.useState(null),[ct,ft]=m.useState([]);m.useEffect(()=>{if(rt)if(Z){const et=xt(n);if(et){const Oe=xe.fetchHeatmapTexture(et,_e??5);if(Oe){const nt=Ee();if(nt&&nt.length>0&&e){const mt=new Qt(0,0,e.rotation[2],"ZYX");let Tt=Number.MAX_VALUE,Rt=Number.MAX_VALUE,Wt=-Number.MAX_VALUE,Ct=-Number.MAX_VALUE;for(const Pt of nt)for(const Ue of Pt){const lt=Ue.clone().applyEuler(mt);lt.x>Wt&&(Wt=lt.x),lt.xCt&&(Ct=lt.y),lt.y0){const Oe=[];for(let nt=0;nt{VW(et,e.id,n,Ye,ye)},onPointerMove:et=>{XW(et,n)},onPointerUp:et=>{GW(et,t)},onContextMenu:et=>{dR(et,n)},children:Z?h.jsx(nQ,{id:n,foundationModel:e,roofType:T,roofSegments:Ye,center:new re(ye.x,ye.y,ze),thickness:b,lineWidth:v,lineColor:P,sideColor:w,color:ot,textureType:g,heatmap:dt}):h.jsxs(h.Fragment,{children:[Ye.map((et,Oe,nt)=>h.jsx(Fq,{id:n,index:Oe,foundationModel:e,roofType:T,segment:et,centroid:ye,thickness:b,color:ot,sideColor:w,texture:D,heatmap:ct&&Oe0&&ve[0].lz===ve[2].lz&&Le&&h.jsx(dW,{cz:ve[0].lz,points:Le}),x&&!C&&h.jsxs("group",{position:[ye.x,ye.y,ye.z+b],children:[h.jsx(Qf,{position:[Ae.x,Ae.y,Ae.z],onPointerDown:et=>{if(Ge(t.id,et,zo.Select),J.current=!0,O.current=y,L(!0),tie.set(Ae.x,Ae.y,ze).add(ye),e){const Oe=-Math.atan2(F.position.x-o,F.position.y-i)-e.rotation[2];nie.set(-Vt,0,Oe,"ZXY")}W(ki.TopMid),Ln.getState().setEnableOrbitController(!1),R(Oe=>{Oe.resizeHandleType=gt.Top,Oe.selectedElementHeight=ze+t.thickness})},onPointerOver:()=>{R(et=>{et.hoveredHandle=ki.TopMid,et.selectedElementHeight=ze+t.thickness,et.selectedElementX=Ae.x,et.selectedElementY=Ae.y})}}),!Z&&h.jsxs(h.Fragment,{children:[h.jsx(Qf,{position:[oe.x,oe.y,oe.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],ae(oe,ve[3]),W(ki.TopLeft)}}),h.jsx(Qf,{position:[ge.x,ge.y,ge.z],onPointerDown:()=>{J.current=!0,Y.current=[...d],ae(ge,ve[1]),W(ki.TopRight)}}),h.jsx(Qf,{position:[me.x,me.y,me.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],ae(me,ve[3]),W(ki.FrontLeft)}}),h.jsx(Qf,{position:[Pe.x,Pe.y,Pe.z],onPointerDown:()=>{J.current=!0,Y.current=[...f],ae(Pe,ve[1]),W(ki.FrontRight)}}),h.jsx(Qf,{position:[Me.x,Me.y,Me.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],ae(Me,ve[1]),W(ki.BackLeft)}}),h.jsx(Qf,{position:[Te.x,Te.y,Te.z],onPointerDown:()=>{J.current=!0,Y.current=[...p],ae(Te,ve[3]),W(ki.BackRight)}})]})]}),N&&h.jsx(sa,{name:"Roof Intersection Plane",ref:E,args:[1e3,100],visible:!1,position:tie,rotation:nie,onPointerMove:et=>{if(E.current&&J.current&&ve&&ve.length===4){q(et);const Oe=B.intersectObjects([E.current]);if(Oe[0]&&e){const nt=Oe[0].point;if(nt.z<.001)return;switch(k){case ki.TopMid:{const mt=Math.max(0,nt.z-e.lz-.3-Ie),Tt=Ie+mt,Rt=Se(ve,Tt,f,d,p);K5(Rt,l)&&M.getState().updateRoofRiseById(n,mt,Tt+t.thickness);break}case ki.FrontLeft:{if(e&&ve&&ve.length===4){const mt=xe.clamp(ne(e,ve[3],nt),d[0]+.05,.45),Tt=ze-ve[0].lz,Rt=xe.clamp((nt.z-e.lz-ve[0].lz)/Tt,0,1),Wt=[mt,Rt],Ct=Se(ve,ze,Wt,d,p);K5(Ct,l)&&R(wt=>{const kt=wt.elements.find(qe=>te(qe));kt&&(kt.frontRidgePoint[0]=Wt[0],kt.frontRidgePoint[1]=Wt[1])})}break}case ki.FrontRight:{if(e&&ve&&ve.length===4){const mt=xe.clamp(ne(e,ve[1],nt),-.45,-d[0]-.05),Tt=ze-ve[0].lz,Rt=xe.clamp((nt.z-e.lz-ve[0].lz)/Tt,0,1),Wt=[-mt,Rt],Ct=Se(ve,ze,Wt,d,p);K5(Ct,l)&&R(wt=>{const kt=wt.elements.find(qe=>te(qe));kt&&(kt.frontRidgePoint=[...Wt])})}break}case ki.TopLeft:{if(e&&ve&&ve.length===4){const Tt=[xe.clamp(ne(e,ve[3],nt),-p[0]+.05,f[0]-.05),d[1]],Rt=Se(ve,ze,f,Tt,p);K5(Rt,l)&&R(Wt=>{const Ct=Wt.elements.find(wt=>te(wt));Ct&&(Ct.topRidgePoint=[...Tt])})}break}case ki.TopRight:{if(e&&ve&&ve.length===4){const Tt=[-xe.clamp(ne(e,ve[1],nt),-f[0]+.05,p[0]-.05),d[1]],Rt=Se(ve,ze,f,Tt,p);K5(Rt,l)&&R(Wt=>{const Ct=Wt.elements.find(wt=>te(wt));Ct&&(Ct.topRidgePoint=[...Tt])})}break}case ki.BackLeft:{if(e&&ve&&ve.length===4){const mt=xe.clamp(ne(e,ve[1],nt),-d[0]+.05,.45),Tt=ze-ve[2].lz,Rt=xe.clamp((nt.z-e.lz-ve[2].lz)/Tt,0,1),Wt=[mt,Rt],Ct=Se(ve,ze,f,d,Wt);K5(Ct,l)&&R(wt=>{const kt=wt.elements.find(qe=>te(qe));kt&&(kt.backRidgePoint=[...Wt])})}break}case ki.BackRight:{if(e&&ve&&ve.length===4){const mt=xe.clamp(ne(e,ve[3],nt),-.45,d[0]-.05),Tt=ze-ve[2].lz,Rt=xe.clamp((nt.z-e.lz-ve[2].lz)/Tt,0,1),Wt=[-mt,Rt],Ct=Se(ve,ze,f,d,Wt);K5(Ct,l)&&R(wt=>{const kt=wt.elements.find(qe=>te(qe));kt&&(kt.backRidgePoint=[...Wt])})}break}}}}},onPointerUp:()=>{switch(k){case ki.TopMid:{_W(n,O.current,y);break}case ki.TopLeft:case ki.TopRight:{ee(n,k,Y.current,d);break}case ki.FrontLeft:case ki.FrontRight:{ee(n,k,Y.current,f);break}case ki.BackLeft:case ki.BackRight:{ee(n,k,Y.current,p);break}}J.current=!1,L(!1),W(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},Mvt=be.memo(Hvt,BH),Qj=new re,Zj=new Qt,Qwe=new Gt,Ivt=new re(0,0,1),yz=be.memo(({start:t,end:e,width:n,height:o,offset:i,color:r})=>{const a=m.useMemo(()=>new Gt(t.x,t.y),[t]),l=m.useMemo(()=>new Gt(e.x,e.y),[e]),s=m.useMemo(()=>new Gt().subVectors(l,a).angle(),[a,l]),c=m.useMemo(()=>{const u=new Ml,d=a.distanceTo(l),f=t.z-e.z;return u.moveTo(0,0),u.lineTo(d,-f),u.lineTo(d,-f+o),u.lineTo(0,o),u.closePath(),u},[t,e,a,l,o]);return h.jsx("group",{position:i,children:h.jsx($w,{args:[c,{steps:1,depth:n,bevelEnabled:!1}],position:t,rotation:[Vt,0,s,"ZXY"],castShadow:!0,receiveShadow:!0,children:h.jsx("meshStandardMaterial",{color:r})})})}),zvt=({ridgeLeftPoint:t,ridgeRightPoint:e,wallArray:n,height:o,isShed:i,width:r,spacing:a,color:l})=>{const[s,c,u,d]=n,f=m.useMemo(()=>new re().subVectors(e,t).normalize(),[]),p=m.useMemo(()=>t.clone().add(f.clone().multiplyScalar(-(d.eavesLength??0)/2)),[t,d.eavesLength]),g=m.useMemo(()=>e.clone().add(f.clone().multiplyScalar((c.eavesLength??0)/2)),[t,c.eavesLength]),A=s.leftPoint.clone().setZ(s.lz),w=u.rightPoint.clone().setZ(u.lz),b=m.useMemo(()=>{if(n.length<4)return[];const T=new re().subVectors(new re(s.rightPoint.x,s.rightPoint.y,s.lz),A).normalize(),y=new re().subVectors(new re(u.leftPoint.x,u.leftPoint.y,u.lz),w).normalize(),S=t.distanceTo(e),x=new re().subVectors(s.leftPoint,s.rightPoint).length(),R=new re().subVectors(u.leftPoint,u.rightPoint).length(),H=r,D=Math.floor((Math.min(S,x,R)-r)/a)+2;return new Array(D).fill(0).map((k,W)=>{let N;W===D-1?N=S:N=W*a+H;const L=t.clone().add(f.clone().multiplyScalar(N)),E=A.clone().add(T.clone().multiplyScalar(N)),U=w.clone().add(y.clone().multiplyScalar(N)),F=new re().subVectors(E,L).normalize().multiplyScalar(s.eavesLength??0),B=new re().subVectors(U,L).normalize().multiplyScalar(u.eavesLength??0);return E.add(F),U.add(B),{ridge:L,front:E,back:U}})},[a,t]),C=t.distanceTo(A)>t.distanceTo(w),P=new re(-r,0,0),v=new re(0,r/2,0);return h.jsxs(h.Fragment,{children:[b.map((T,y)=>h.jsx(be.Fragment,{children:i?C?h.jsx(yz,{start:T.ridge,end:T.front,width:r,height:o,color:l}):h.jsx(yz,{start:T.ridge,end:T.back,width:r,height:o,color:l}):h.jsxs(h.Fragment,{children:[h.jsx(yz,{start:T.ridge,end:T.front,width:r,height:o,color:l}),h.jsx(yz,{start:T.ridge,end:T.back,width:r,height:o,color:l,offset:P})]})},y)),h.jsx(yz,{start:p,end:g,width:r,height:o,color:l,offset:v})]})},Dvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e),a=t.length===1;for(const f of t){const[p,g,A,w]=f.points;i.push(w,p,g,A),a&&i.push(w)}const l=Math.abs(t[0].points[0].z)<.015,s=t[0].points[3],c=t[0].points[2],u=h.jsx(Fn,{points:i,lineWidth:n,color:o}),d=h.jsx(Fn,{points:[s,c],lineWidth:n,color:o});return h.jsxs(h.Fragment,{children:[u,!l&&!a&&d,h.jsxs("group",{position:[0,0,e],children:[u,!l&&!a&&d]}),t.map((f,p)=>{const[g,A,w,b]=f.points;return h.jsxs("group",{children:[h.jsx(Fn,{points:[g,g.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[A,A.clone().add(r)],lineWidth:n,color:o}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[w,w.clone().add(r)],lineWidth:n,color:o}),h.jsx(Fn,{points:[b,b.clone().add(r)],lineWidth:n,color:o})]})]},p)})]})}),Evt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,wallsId:i,lz:r,rise:a=r,thickness:l=.2,ridgeLeftPoint:s,ridgeRightPoint:c,textureType:u,color:d="white",sideColor:f="white",locked:p,lineColor:g="black",lineWidth:A=.2,roofStructure:w,rafterSpacing:b=2,rafterWidth:C=.1,rafterColor:P="white",glassTint:v="#73D8FF",opacity:T=.5,ceiling:y=!1}=t;const S=M(dn),x=M(hp),R=Hs(n);[g,A]=In.getWireframetStyle(g,A,R,p);const{gl:H,camera:D}=Xi(),k=m.useMemo(()=>new Gs,[]),W=m.useMemo(()=>new Gt,[]),[N,L]=m.useState(!1),[E,U]=m.useState(ki.Null),F=Math.abs(s[0])>.45,B=m.useRef(null),_=m.useRef(s[0]),Y=m.useRef(c[0]),O=m.useRef(a),J=m.useRef(!1),Z=(Ee,Fe,Ge)=>{S(rt=>{for(const _e of rt.elements)if(_e.id===Ee&&_e.type===z.Roof&&_e.roofType===Vo.Gable){_e.ridgeLeftPoint[0]=Fe,_e.ridgeRightPoint[0]=Ge;break}})},ie=(Ee,Fe,Ge,rt,_e)=>{const xt={name:"Resize Gable Roof Ridge",timestamp:Date.now(),resizedElementId:Ee,resizedElementType:z.Roof,oldLeft:Fe,oldRight:Ge,newLeft:rt,newRight:_e,undo:()=>{Z(xt.resizedElementId,Fe,Ge)},redo:()=>{Z(xt.resizedElementId,rt,_e)}};M.getState().addUndoable(xt)},ee=Ee=>{W.x=Ee.offsetX/H.domElement.clientWidth*2-1,W.y=-(Ee.offsetY/H.domElement.clientHeight)*2+1,k.setFromCamera(W,D)},q=(Ee,Fe,Ge)=>{const rt=new Gt(Ee.cx,Ee.cy),_e=new re().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2),xt=new re().subVectors(Fe.leftPoint,Fe.rightPoint).length(),dt=new Gt(_e.x,_e.y).rotateAround(Qwe,Ee.rotation[2]).add(rt),Qe=Ee.rotation[2]+Fe.relativeAngle,ft=new Gt(Ge.x,Ge.y).sub(dt).rotateAround(Qwe,-Qe).x/xt;return Math.min(Math.abs(ft),.5)*(ft>=0?1:-1)},ae=(Ee,Fe,Ge)=>{if(!Ee)return new re;const rt=new re().subVectors(Ee.leftPoint,Ee.rightPoint).length(),_e=new re().addVectors(Ee.leftPoint,Ee.rightPoint).divideScalar(2),xt=new Qt(0,0,Ee.relativeAngle),dt=new re(Fe*rt,0,0),Qe=Ge*a+de;return new re(_e.x,_e.y,Qe).add(dt.applyEuler(xt))},ne=(Ee,Fe)=>{const Ge=Ee[Fe];let rt,_e;return Fe===0||Fe===2?(rt=Ge.lz,_e=Ge.lz):Fe===1?(rt=Ee[0].lz,_e=Ee[2].lz):(rt=Ee[2].lz,_e=Ee[0].lz),{lh:rt,rh:_e}},se=(Ee,Fe)=>{const Ge=Ee.slice().reverse();return le(Ge,0,Fe-1),le(Ge,Fe,Ge.length-1),Ge},le=(Ee,Fe,Ge)=>{for(;FeEe*Ge+Fe,he=(Ee,Fe,Ge,rt,_e)=>{const xt=Fe[Ge],dt=new re().subVectors(xt.leftPoint,xt.rightPoint).length(),Qe=(_e[0]+.5)*dt,{lh:ct,rh:ft}=ne(Fe,Ge),at=_e[1]*(rt-ct)/Qe,ot=ct,et=-(_e[1]*(rt-ft))/(dt-Qe),Oe=ft-et*dt,nt=xt.wallsId.reduce((mt,Tt)=>{const Rt=M.getState().elements.find(Wt=>Wt.id===Tt);return Rt?[...mt,Rt.lx+mt[mt.length-1]]:mt},[0]);for(let mt=0;mtQe&&(wt.center=[(Qe-Rt)/Ct-.5,rt]),Ee.set(Tt,wt)}return Ee},pe=(Ee,Fe,Ge,rt)=>{const _e=new Map;return he(_e,Ee,1,Fe,rt),he(_e,Ee,3,Fe,Ge),_e},fe=(Ee,Fe,Ge,rt)=>{const[_e,xt,dt,Qe]=Ee,ct=new Set(_e.wallsId),ft=new Set(dt.wallsId),at=pe(Ee,Fe,Ge,rt);S(ot=>{for(const et of ot.elements)if(et.type===z.Wall&&et.foundationId===o){if(ct.has(et.id)){const Oe=et;if(Oe.roofId=n,Ge[0]===.5)Oe.leftRoofHeight=Fe,Oe.rightRoofHeight=Fe,Oe.centerRoofHeight=void 0;else{const{lh:nt,rh:mt}=ne(Ee,0);Oe.leftRoofHeight=nt,Oe.rightRoofHeight=mt}}else if(ft.has(et.id)){const Oe=et;if(Oe.roofId=n,Ge[0]===-.5)Oe.leftRoofHeight=Fe,Oe.rightRoofHeight=Fe,Oe.centerRoofHeight=void 0;else{const{lh:nt,rh:mt}=ne(Ee,2);Oe.leftRoofHeight=nt,Oe.rightRoofHeight=mt}}else if(at.has(et.id)){const Oe=at.get(et.id);if(Oe){const nt=et,{left:mt,right:Tt,center:Rt}=Oe;if(nt.roofId=n,nt.leftRoofHeight=mt,nt.rightRoofHeight=Tt,Rt){const[Wt,Ct]=Rt;nt.centerRoofHeight?(nt.centerRoofHeight[0]=Wt,nt.centerRoofHeight[1]=Ct):nt.centerRoofHeight=[Wt,Ct]}else nt.centerRoofHeight=void 0}}}})},$=lye(i[0],o),{highestWallHeight:de,topZ:Se}=sye($,a,!0);qW(t,de);const Ce=m.useMemo(()=>{if($===null||$.length!==4)return new re;const Ee=$.map(Ge=>({x:Ge.leftPoint.x,y:Ge.leftPoint.y})),Fe=xe.calculatePolygonCentroid(Ee);return new re(Fe.x,Fe.y,Se)},[$,Se]),ve=m.useMemo(()=>{if($===null)return new re;const Ee=$[3],[Fe,Ge]=s;return ae(Ee,Fe,Ge)},[$,Se,s]),Ie=m.useMemo(()=>{if($===null)return new re;const Ee=$[1],[Fe,Ge]=c;return ae(Ee,Fe,Ge)},[$,Se,c]),ze=m.useMemo(()=>new re((ve.x+Ie.x)/2,(ve.y+Ie.y)/2,Se),[ve,Ie]),ye=m.useMemo(()=>!$||$.length!==4?null:$.map(Ee=>In.getComposedWallNormal(Ee).multiplyScalar(Ee.eavesLength)),[$]),oe=m.useMemo(()=>Ivt.clone().multiplyScalar(l),[l]),ge=m.useMemo(()=>{const Ee=[];if(!$||$.length!==4||!ye)return Ee;if(F){const Fe=[],Ge=s[0]<0?0:2,rt=se($,Ge),_e=se(ye,Ge),[xt,dt,Qe,ct]=rt,[ft,at,ot,et]=_e,Oe=xt.leftPoint,nt=xt.rightPoint,mt=Qe.leftPoint,Tt=Qe.rightPoint,Rt=Oe.clone().add(ft),Wt=nt.clone().add(ft),Ct=Tt.clone().add(et),wt=Oe.clone().add(et),kt=nt.clone().add(at),qe=mt.clone().add(at),Je=mt.clone().add(ot),st=Tt.clone().add(ot),{lh:Pt,rh:Ue}=ne(rt,0),{lh:lt,rh:Ve}=ne(rt,2),ut=In.getDistance(Oe,nt,Tt),je=Math.min((xt.eavesLength??0)/ut*(Se-Pt),Pt),yt=In.getDistance(Oe,nt,mt),Ht=Math.min((xt.eavesLength??0)/yt*(Se-Ue),Ue),At=In.getDistance(mt,Tt,nt),It=Math.min((Qe.eavesLength??0)/At*(Se-Ue),lt),zt=In.getDistance(mt,Tt,Oe),Ft=Math.min((Qe.eavesLength??0)/zt*(Se-Pt),Ve),ln=In.getIntersectionPoint(Ct,wt,Rt,Wt).setZ(Pt-je).sub(Ce),Xt=In.getIntersectionPoint(Rt,Wt,kt,qe).setZ(Ue-Ht).sub(Ce),fn=In.getIntersectionPoint(kt,qe,Je,st).setZ(Se+It).sub(Ce),rn=In.getIntersectionPoint(Je,st,Ct,wt).setZ(Se+Ft).sub(Ce);Fe.push(ln,Xt,fn,rn),Fe.push(ln.clone().add(oe),Xt.clone().add(oe),fn.clone().add(oe),rn.clone().add(oe));const Tn=new re().addVectors(xt.leftPoint,xt.rightPoint).divideScalar(2).clone().sub(ze.clone().setZ(0)).length();Ee.push({points:Fe,angle:-xt.relativeAngle,length:Tn})}else{const[Fe,Ge,rt,_e]=$,[xt,dt,Qe,ct]=ye,ft=Fe.leftPoint.clone().add(xt),at=Fe.rightPoint.clone().add(xt),ot=rt.rightPoint.clone().add(ct),et=Fe.leftPoint.clone().add(ct),Oe=Fe.rightPoint.clone().add(dt),nt=rt.leftPoint.clone().add(dt),mt=rt.leftPoint.clone().add(Qe),Tt=rt.rightPoint.clone().add(Qe),Rt=In.getIntersectionPoint(ve,Ie,ot.clone(),et.clone()).setZ(ve.z).sub(Ce),Wt=In.getIntersectionPoint(ve,Ie,Oe.clone(),nt.clone()).setZ(Ie.z).sub(Ce),Ct=[],{lh:wt,rh:kt}=ne($,0),qe=In.getDistance(Fe.leftPoint,Fe.rightPoint,ve),Je=Math.min((Fe.eavesLength??0)/qe*(ve.z-wt),wt),st=In.getDistance(Fe.leftPoint,Fe.rightPoint,Ie),Pt=Math.min((Fe.eavesLength??0)/st*(Ie.z-kt),kt),Ue=In.getIntersectionPoint(ot,et,ft,at).setZ(wt-Je).sub(Ce),lt=In.getIntersectionPoint(ft,at,Oe,nt).setZ(kt-Pt).sub(Ce);Ct.push(Ue,lt,Wt,Rt),Ct.push(Ue.clone().add(oe),lt.clone().add(oe),Wt.clone().add(oe),Rt.clone().add(oe));const ut=new re().addVectors(Fe.leftPoint,Fe.rightPoint).divideScalar(2).clone().sub(Ce.clone().setZ(0)).length();Ee.push({points:Ct,angle:-Fe.relativeAngle,length:ut});const je=[],{lh:yt,rh:Ht}=ne($,2),At=In.getDistance(rt.leftPoint,rt.rightPoint,Ie),It=Math.min((rt.eavesLength??0)/At*(Ie.z-yt),yt),zt=In.getDistance(rt.leftPoint,rt.rightPoint,ve),Ft=Math.min((rt.eavesLength??0)/zt*(ve.z-Ht),Ht),ln=In.getIntersectionPoint(Oe,nt,mt,Tt).setZ(yt-It).sub(Ce),Xt=In.getIntersectionPoint(mt,Tt,ot,et).setZ(Ht-Ft).sub(Ce);je.push(ln,Xt,Rt,Wt),je.push(ln.clone().add(oe),Xt.clone().add(oe),Rt.clone().add(oe),Wt.clone().add(oe));const rn=new re().addVectors(rt.leftPoint,rt.rightPoint).divideScalar(2).clone().sub(Ce.clone().setZ(0)).length();Ee.push({points:je,angle:-rt.relativeAngle,length:rn})}return Ee},[$,ve,Ie,Se,l]),Ae=m.useMemo(()=>!$||$.length!==4?null:$.map(Ee=>Ee.leftPoint),[$]);m.useEffect(()=>{(!$||$.length!==4)&&x(n,!1,!1,!0)},[$]);const me=tQ();m.useEffect(()=>{if(($==null?void 0:$.length)!==4)return;(M.getState().addedRoofIdSet.has(n)||!me)&&(fe($,Se,s,c),Z$(e,n,ge,Ce,Se,l),M.getState().deleteAddedRoofId(n))},[ge]),cye(e,n,ge,Ce,Se,l);const Pe=()=>{if(!$||$.length!==4)return;const Ee=[];if(F){const Fe=s[0]<0?0:2,rt=se($,Fe).map((_e,xt,dt)=>new re(_e.leftPoint.x,_e.leftPoint.y,ne(dt,xt).lh));Ee.push(rt)}else{const Fe=$.map((Ge,rt,_e)=>new re(Ge.leftPoint.x,Ge.leftPoint.y,ne(_e,rt).lh));Ee.push([Fe[0],Fe[1],Ie.clone(),ve.clone()]),Ee.push([Fe[2],Fe[3],ve.clone(),Ie.clone()])}Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,Ee)};JW(n,Ce,ge,!1,Vo.Gable),KW(Pe);const Me=M(Ee=>Ee.elements.filter(Fe=>Fe.parentId===n&&Fe.type===z.Window),a3),Te=M(Vc),De=ht(cs),Ne=M(wf),Ye=Sn(i1),[Le,$e]=m.useState([]);m.useEffect(()=>{if(De){const Ee=ge.length;if(Ee>0){const Fe=[];for(let Ge=0;Ge{VW(Ee,e.id,n,ge,Ce)},onPointerMove:Ee=>{XW(Ee,n)},onPointerUp:Ee=>{GW(Ee,t)},onContextMenu:Ee=>{dR(Ee,n)},children:[ge.map((Ee,Fe,Ge)=>{const{points:rt,angle:_e,length:xt}=Ee,dt=Math.abs(rt[0].z)<.1;return $?h.jsx(kvt,{index:Fe,id:n,points:rt,centroid:Ce,angle:dt?Ge[0].angle:_e,length:dt?1:xt,textureType:u,heatmaps:Le,color:d,sideColor:f,roofStructure:w,glassTint:v,opacity:T,relativeAngle:Fe===0?$[0].relativeAngle:$[2].relativeAngle,foundation:e,windows:Me},Fe):null}),T>0&&h.jsx(Dvt,{roofSegments:ge,thickness:l,lineColor:g,lineWidth:w===yc.Rafter?.1:A})]}),y&&a>0&&$[0].lz===$[2].lz&&Ae&&h.jsx(dW,{cz:$[0].lz,points:Ae}),w===yc.Rafter&&$&&$.length===4&&h.jsx("group",{onContextMenu:Ee=>{dR(Ee,n)},onPointerDown:Ee=>{QKe(Ee,n,o)},children:h.jsx(zvt,{ridgeLeftPoint:ve,ridgeRightPoint:Ie,wallArray:$,overhang:0,isShed:F,height:l,spacing:b,color:P,width:C})}),R&&!p&&h.jsxs("group",{position:[0,0,l],children:[h.jsx(Qf,{position:[ze.x,ze.y,ze.z+.15],onPointerDown:Ee=>{if(Te(t.id,Ee,zo.Select),J.current=!0,O.current=a,L(!0),Qj.set(ze.x,ze.y,Se),e){const Fe=-Math.atan2(D.position.x-e.cx,D.position.y-e.cy)-e.rotation[2];Zj.set(-Vt,0,Fe,"ZXY")}U(ki.Mid),Ln.getState().setEnableOrbitController(!1),S(Fe=>{Fe.resizeHandleType=gt.Top,Fe.selectedElementHeight=Se+t.thickness})},onPointerOver:()=>{S(Ee=>{Ee.hoveredHandle=ki.Mid,Ee.selectedElementHeight=Se+t.thickness,Ee.selectedElementX=ze.x,Ee.selectedElementY=ze.y})}}),h.jsx(Qf,{position:[ve.x,ve.y,ve.z+.15],onPointerDown:()=>{if(J.current=!0,_.current=s[0],Y.current=c[0],L(!0),Qj.set(ve.x,ve.y,Se),e&&$&&$[3]){const Ee=new re().subVectors(ve,D.position).normalize(),Fe=Math.atan2(Ee.z,Math.hypot(Ee.x,Ee.y)),Ge=$[3].relativeAngle;Zj.set(-Vt+Fe,0,Ge,"ZXY")}U(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[Ie.x,Ie.y,Ie.z+.15],onPointerDown:()=>{if(J.current=!0,_.current=s[0],Y.current=c[0],L(!0),Qj.set(Ie.x,Ie.y,Se),e&&$&&$[1]){const Ee=new re().subVectors(Ie,D.position).normalize(),Fe=Math.atan2(Ee.z,Math.hypot(Ee.x,Ee.y)),Ge=$[1].relativeAngle;Zj.set(-Vt+Fe,0,Ge,"ZXY")}U(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),N&&h.jsx(sa,{name:"Roof Intersection Plane",ref:B,args:[1e3,100],visible:!1,position:Qj,rotation:Zj,onPointerMove:Ee=>{if(B.current&&J.current&&e&&$&&$.length===4){ee(Ee);const Fe=k.intersectObjects([B.current]);if(Fe[0]){const Ge=Fe[0].point;if(Ge.z<.001)return;switch(E){case ki.Left:{const rt=$[3];if(rt){let _e=q(e,rt,Ge);Math.abs(_e)>=.45&&Math.abs(_e)<.5&&(_e=.45*Math.sign(_e));const xt=[_e,s[1]],dt=[-_e,c[1]],Qe=pe($,Se,xt,dt);K5(Qe,o)&&Z(n,_e,-_e)}break}case ki.Right:{const rt=$[1];if(rt){let _e=q(e,rt,Ge);Math.abs(_e)>=.45&&Math.abs(_e)<.5&&(_e=.45*Math.sign(_e));const xt=[-_e,s[1]],dt=[_e,c[1]],Qe=pe($,Se,xt,dt);K5(Qe,o)&&Z(n,-_e,_e)}break}case ki.Mid:{let rt;F?rt=Math.max(0,Ge.z-e.lz-.3-de):rt=Math.max(-de+.01,Ge.z-e.lz-.3-de);const _e=de+rt,xt=pe($,_e,s,c);K5(xt,o)&&M.getState().updateRoofRiseById(n,rt,Se+t.thickness);break}}}}},onPointerUp:()=>{switch(E){case ki.Mid:{_W(n,O.current,a);break}case ki.Left:case ki.Right:ie(n,_.current,Y.current,s[0],c[0])}J.current=!1,L(!1),U(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},kvt=({index:t,id:e,points:n,centroid:o,angle:i,length:r,textureType:a,heatmaps:l,color:s="white",sideColor:c,relativeAngle:u,foundation:d,roofStructure:f,glassTint:p,opacity:g=.5,windows:A})=>{const w=M.getState().world;M(Vn);const b=M(Q9),C=ht(cs),P=ht(i3),v=M(X2),T=M(q9),y=M($9),S=Sn($L),x=Sn.getState().hourlyHeatExchangeArrayMap,R=jH(f===yc.Rafter?Ui.NoTexture:a),{transparent:H,opacity:D}=eQ(f===yc.Rafter,g),{invalidate:k}=Xi(),W=m.useRef(null),N=m.useRef(null),L=m.useRef(null),E=m.useRef(null),U=m.useRef(0),F=m.useRef(),B=m.useRef(),[_,Y]=m.useState(0),[O,J]=m.useState(0),[Z,ie]=m.useState(!0),ee=(te,he)=>te.clone().setZ(0).distanceTo(he.clone().setZ(0))>2,q=te=>Math.abs(te){if(!P)return;const te=S(e);if(!te)return;const he=[],[pe,fe,$,de,Se]=n,Ce=Se.z-pe.z,ve=new re(0,0,Ce+.1);for(const Ie of te.values()){let ze=[];ze.push(Ie[0].clone().sub(o).add(ve)),ze.push(Ie[1].clone().sub(o).add(ve)),he.push(ze),ze=[],ze.push(Ie[0].clone().sub(o).add(ve)),ze.push(Ie[3].clone().sub(o).add(ve)),he.push(ze),ze=[],ze.push(Ie[1].clone().sub(o).add(ve)),ze.push(Ie[2].clone().sub(o).add(ve)),he.push(ze)}return he},[P]),ne=m.useMemo(()=>{if(!P||d&&d.notBuilding)return;const te=x.get(e+"-"+t);if(!te)return;const he=te.reduce((Qe,ct)=>Qe+ct,0),pe=S(e);if(!pe||!pe[t])return;const[fe,$,de,Se,Ce]=n,ve=Ce.z-fe.z,Ie=pe[t].map(Qe=>Qe.clone().sub(o).add(new re(0,0,ve)));if(!Ie)return;let ze=xe.getTriangleArea(Ie[0],Ie[1],Ie[2])+xe.getTriangleArea(Ie[2],Ie[3],Ie[0]);if(ze===0)return;let ye=b(z.Window,e);const oe=S(e);if(oe&&oe[t]&&(ye=ye.filter(Qe=>{const ct=Qe,ft=ct.cy+(ct.windowType===Sr.Polygonal&&ct.polygonTop?ct.polygonTop[1]/2:0);return In.onSegment(oe[t],Qe.cx,ft)})),ye&&ye.length>0)for(const Qe of ye)ze-=xe.getWindowArea(Qe);const ge=K9*(w.solarRadiationHeatmapGridCellSize??.5),Ae=Ie[0].clone(),me=Ie[1].clone(),Pe=Ie[2].clone(),Me=new re().subVectors(me,Ae),Te=new re().subVectors(Pe,Ae),De=new re().subVectors(Pe,me),Ne=Me.length(),Ye=new re().crossVectors(Te,De).length()/Ne,Le=Math.max(2,Math.round(Ne/ge)),$e=Math.max(2,Math.round(Ye/ge));Me.normalize(),Te.normalize(),De.normalize();const We=new re().crossVectors(Te,De).normalize(),Ee=Me.multiplyScalar(.5*Ne/Le),Fe=new re().crossVectors(We,Me).normalize().multiplyScalar(.5*Ye/$e),Ge=Ae.clone().add(Ee).add(Fe);Ee.multiplyScalar(2),Fe.multiplyScalar(2);const rt=he/ze*(v??Gm);U.current=rt<0?1:0,F.current=We.clone().multiplyScalar(.1),B.current=xe.getEuler(Po,We,"YXZ",-Math.sign(rt)*Vt);const _e=[],xt=new re;let dt;for(let Qe=0;Qe0){const at=xt.x+o.x,ot=xt.y+o.y;for(const et of ye){const Oe=In.getRelativeWindowVerticesOnRoof(et),nt=xe.getPoints(Oe);if(xe.isPointInside(at,ot,nt)){dt=!1;break}}}if(dt){const at=[];rt<0?(at.push(xt.clone()),at.push(xt.clone().add(We.clone().multiplyScalar(-rt)))):(at.push(xt.clone()),at.push(xt.clone().add(We.clone().multiplyScalar(rt)))),_e.push(at)}}}return _e},[P,v,o,n]);m.useEffect(()=>{const[te,he,pe,fe,$]=n,de=$.z-te.z;if(W.current){const Se=W.current.geometry;if(Se){const Ce=new Float32Array(18),ve=de+.01;Ce[0]=n[0].x,Ce[1]=n[0].y,Ce[2]=n[0].z+ve,Ce[3]=n[1].x,Ce[4]=n[1].y,Ce[5]=n[1].z+ve,Ce[6]=n[2].x,Ce[7]=n[2].y,Ce[8]=n[2].z+ve,Ce[9]=n[2].x,Ce[10]=n[2].y,Ce[11]=n[2].z+ve,Ce[12]=n[3].x,Ce[13]=n[3].y,Ce[14]=n[3].z+ve,Ce[15]=n[0].x,Ce[16]=n[0].y,Ce[17]=n[0].z+ve,Se.setAttribute("position",new hi(Ce,3)),Se.computeVertexNormals();const Ie=[];Ie.push(0,0),Ie.push(1,0),Ie.push(1,1),Ie.push(1,1),Ie.push(0,1),Ie.push(0,0),Se.setAttribute("uv",new hi(Ie,2))}}if(N.current){N.current.geometry=new lce(n,i,r);const Se=ee(te,fe)&&ee(he,pe);if(ie(Se),f===yc.Glass&&Se){const Ce=xe.calculatePolygonCentroid(n.map(xe.mapVector3ToPoint2)),ve=new re(Ce.x,Ce.y,0),Ie=.25,ze=new re().addVectors(te,ve.clone().sub(te).setZ(0).normalize().multiplyScalar(Ie)),ye=new re().addVectors(he,ve.clone().sub(he).setZ(0).normalize().multiplyScalar(Ie)),oe=new re().addVectors(pe,ve.clone().sub(pe).normalize().multiplyScalar(Ie)),ge=new re().addVectors(fe,ve.clone().sub(fe).normalize().multiplyScalar(Ie)),Ae=[];Ae.push(ze),Ae.push(ye),Ae.push(oe.setZ(ye.z)),Ae.push(ge.setZ(ze.z)),Ae.push(ze.clone().setZ(1)),Ae.push(ye.clone().setZ(1)),Ae.push(oe.clone().setZ(1)),Ae.push(ge.clone().setZ(1));const me=new es(new lce(Ae)),Pe=ac.subtract(N.current,me);if(N.current.geometry=Pe.geometry,q(u)){const Te=ze.distanceTo(ye),De=te.distanceTo(fe);Y(Te),J(De);const Ne=new re().subVectors(te,fe).angleTo(new re(0,-1,0));L.current&&(L.current.scale.set(Te,De,1),L.current.rotation.set(Ne,0,0)),E.current&&E.current.rotation.set(Ne-Vt,0,0)}else{const Te=te.distanceTo(fe),De=ze.distanceTo(ye);Y(Te),J(De);const Ne=new re().subVectors(te,fe).angleTo(new re(1,0,0));L.current&&(L.current.scale.set(Te,De,1),L.current.rotation.set(0,Ne,0)),E.current&&E.current.rotation.set(Vt,Ne,0,"YXZ")}const Me=(te.z+fe.z)/2+de*.75;L.current&&L.current.position.set(Ce.x,Ce.y,Me),E.current&&E.current.position.set(Ce.x,Ce.y,Me)}}k()},[n,i,r,u,Z,C,f]);const se={points:n,angle:i,length:r},le=a===Ui.Default||a===Ui.NoTexture?s:"white";return h.jsxs(h.Fragment,{children:[(D>0&&f===yc.Rafter||f!==yc.Rafter)&&h.jsx(h.Fragment,{children:h.jsx(gYe,{id:e,index:t,segment:se,color:le,sideColor:c??"white",texture:R,heatmap:l[t],transparent:H,opacity:D,windows:A,centroid:o})}),ae&&ae.map((te,he)=>h.jsx(Fn,{points:te,color:"gray",lineWidth:.5,dashed:!0,dashSize:.2,gapSize:.1,receiveShadow:!1,castShadow:!1,name:"Overhang Boundary "+he},he)),ne&&ne.map((te,he)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:te,name:"Heat Flux "+he,lineWidth:y??Xm,color:T??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:F.current?te[U.current].clone().add(F.current):te[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:B.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:T??g0})})]},he))]})},Fvt=be.memo(Evt,BH),Lvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{if(t.length===0)return null;const i=[],r=new re(0,0,e);for(let u=0;u{const[f,p,g,A]=u.points,w=[f.clone().sub(r),f];return h.jsx(Fn,{points:w,lineWidth:n,color:o},d)})]})]})}),y4=new re,A4=new Qt,Wvt=new re(0,0,1),Nvt=({roofModel:t,foundationModel:e})=>{let{id:n,parentId:o,cx:i,cy:r,lz:a,wallsId:l,leftRidgeLength:s,rightRidgeLength:c,textureType:u,color:d="white",sideColor:f="white",thickness:p=.2,locked:g,lineColor:A="black",lineWidth:w=.2,roofType:b,rise:C=a,ceiling:P=!1}=t;const v=M(Vn),T=M(dn),y=M(hp),S=lye(l[0],o),x=jH(u),R=Hs(n),[H,D]=m.useState(!1),[k,W]=m.useState(ki.Null),[N,L]=m.useState(s),[E,U]=m.useState(c),{highestWallHeight:F,topZ:B}=sye(S,C);qW(t,F);const _=m.useRef(null),{gl:Y,camera:O}=Xi(),J=m.useMemo(()=>new Gs,[]),Z=m.useMemo(()=>new Gt,[]),ie=m.useRef(!1),ee=m.useRef(C),q=C<.01;[A,w]=In.getWireframetStyle(A,w,R,g),m.useEffect(()=>{L(s)},[s]),m.useEffect(()=>{U(c)},[c]);const ae=(We,Ee,Fe,Ge=!1)=>{T(rt=>{for(const _e of rt.elements)if(_e.id===We&&_e.type===z.Roof&&_e.roofType===Vo.Hip){_e.leftRidgeLength=Ee,_e.rightRidgeLength=Fe,Ge&&(rt.updateElementOnRoofFlag=!0);break}})},ne=(We,Ee,Fe,Ge,rt)=>{const _e={name:"Resize Hip Roof Ridge",timestamp:Date.now(),resizedElementId:We,resizedElementType:z.Roof,oldLeftRidgeLength:Ee,oldRightRidgeLength:Fe,newLeftRidgeLength:Ge,newRightRidgeLength:rt,undo:()=>{ae(_e.resizedElementId,_e.oldLeftRidgeLength,_e.oldRightRidgeLength,!0)},redo:()=>{ae(_e.resizedElementId,_e.newLeftRidgeLength,_e.newRightRidgeLength,!0)}};M.getState().addUndoable(_e)},se=We=>{const Ee=[];for(const Fe of We)Ee.push({x:Fe.leftPoint.x,y:Fe.leftPoint.y});return Ee},le=We=>{Z.x=We.offsetX/Y.domElement.clientWidth*2-1,Z.y=-(We.offsetY/Y.domElement.clientHeight)*2+1,J.setFromCamera(Z,O)},te=(We,Ee,Fe,Ge,rt)=>{We.push(Ee,Fe,Ge),rt&&We.push(rt),We.push(Ee.clone().add(Ce),Fe.clone().add(Ce),Ge.clone().add(Ce)),rt&&We.push(rt.clone().add(Ce))},he=()=>{if(S===null||S.length!==4)return 0;const We=S.map(Ge=>Ge.leftPoint),Ee=[fe,$,$,fe];let Fe=1/0;for(let Ge=0;Ge<4;Ge++){const rt=S[Ge],_e=In.getDistance(We[Ge],We[(Ge+1)%4],Ee[Ge]),xt=Math.min((rt.eavesLength??0)/_e*(Ee[Ge].z-rt.lz),rt.lz),dt=In.getDistance(We[Ge],We[(Ge+1)%4],Ee[(Ge+1)%4]),Qe=Math.min((rt.eavesLength??0)/dt*(Ee[(Ge+1)%4].z-rt.lz),rt.lz);Fe=Math.min(Math.min(xt,Qe),Fe)}return Number.isNaN(Fe)?0:Fe},pe=m.useMemo(()=>{if(S===null||S.length!==4)return new Gt;const We=se(S),Ee=xe.calculatePolygonCentroid(We);return new Gt(Ee.x,Ee.y)},[S]),fe=m.useMemo(()=>{const We=new re,Ee=new re(pe.x,pe.y,B),Fe=v(l[0]);return Fe&&We.setX(-N).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(Ee),We},[pe,B,N]),$=m.useMemo(()=>{const We=new re,Ee=new re(pe.x,pe.y,B),Fe=v(l[0]);return Fe&&We.setX(E).applyEuler(new Qt(0,0,Fe.relativeAngle)).add(Ee),We},[pe,B,E]),de=m.useMemo(()=>new re(pe.x,pe.y,B),[pe,B]),Se=m.useMemo(()=>S===null||S.length!==4?[]:S.map(We=>In.getComposedWallNormal(We).multiplyScalar(We.eavesLength)),[S]),Ce=m.useMemo(()=>Wvt.clone().multiplyScalar(p),[p]),ve=m.useMemo(()=>S===null||S.length!==4?null:S.map((We,Ee)=>({leftPoint:We.leftPoint.clone().add(Se[Ee]),rightPoint:We.rightPoint.clone().add(Se[Ee])})),[S,Se]),Ie=m.useMemo(()=>{const We=[];if(S===null||S.length!==4||ve===null)return We;const Ee=he();for(let Fe=0;Fe<4;Fe++){const Ge=[],rt=S[Fe],{lh:_e,rh:xt}=In.getComposedWallHeight(S,Fe),dt=In.getIntersectionPoint(ve[(Fe+3)%4].leftPoint,ve[(Fe+3)%4].rightPoint,ve[Fe].leftPoint,ve[Fe].rightPoint).setZ(_e-Ee).sub(de),Qe=In.getIntersectionPoint(ve[Fe].leftPoint,ve[Fe].rightPoint,ve[(Fe+1)%4].leftPoint,ve[(Fe+1)%4].rightPoint).setZ(xt-Ee).sub(de),ct=new re().addVectors(rt.leftPoint,rt.rightPoint).divideScalar(2),ft=fe.clone().sub(de),at=$.clone().sub(de);let ot=0;switch(Fe){case 0:ot=ct.clone().sub(de.clone().setZ(0)).length(),te(Ge,dt,Qe,at,ft);break;case 1:ot=ct.clone().sub($.clone().setZ(0)).length(),te(Ge,dt,Qe,at);break;case 2:ot=ct.clone().sub(de.clone().setZ(0)).length(),te(Ge,dt,Qe,ft,at);break;case 3:ot=ct.clone().sub(fe.clone().setZ(0)).length(),te(Ge,dt,Qe,ft);break}We.push({points:Ge,angle:-rt.relativeAngle,length:ot})}return We},[S,fe,$,B,p]),ze=m.useMemo(()=>!S||S.length!==4?null:S.map(We=>We.leftPoint),[S]);m.useEffect(()=>{if(S===null||S.length!==4)y(n,!1,!1,!0);else if(M.getState().addedRoofIdSet.has(n)){for(let Ee=0;Ee{for(const rt of Ge.elements)if(rt.type===z.Wall&&Fe.has(rt.id)){const _e=rt;_e.roofId=n,_e.leftRoofHeight=void 0,_e.rightRoofHeight=void 0}})}M.getState().deleteAddedRoofId(n)}},[S]),uye(e,n,Ie,de,B,p);const ye=()=>{if(!S)return;const We=[];for(let Ee=0;Ee<4;Ee++){const Fe=S[Ee],{lh:Ge,rh:rt}=In.getComposedWallHeight(S,Ee),_e=Fe.leftPoint.clone().setZ(Ge),xt=Fe.rightPoint.clone().setZ(rt),dt=fe.clone(),Qe=$.clone();switch(Ee){case 0:We.push([_e,xt,Qe,dt]);break;case 1:We.push([_e,xt,Qe]);break;case 2:We.push([_e,xt,dt,Qe]);break;case 3:We.push([_e,xt,dt]);break}}if(q){const Ee=[];for(const Fe of We)Ee.push(Fe[0].clone());Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,[Ee])}else Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,We)},oe=JW(n,new re(pe.x,pe.y,B),Ie,q,Vo.Hip);KW(ye);const ge=M(We=>We.elements.filter(Ee=>Ee.parentId===n&&Ee.type===z.Window),a3),Ae=M(Vc),me=ht(cs),Pe=M(wf),Me=Sn(i1),[Te,De]=m.useState(null),[Ne,Ye]=m.useState([]);m.useEffect(()=>{if(me)if(C>0){const We=Ie.length;if(We>0){const Ee=[];for(let Fe=0;Fe0&&e){const Ge=new Qt(0,0,e.rotation[2],"ZYX");let rt=Number.MAX_VALUE,_e=Number.MAX_VALUE,xt=-Number.MAX_VALUE,dt=-Number.MAX_VALUE;for(const et of Fe)for(const Oe of et){const nt=Oe.clone().applyEuler(Ge);nt.x>xt&&(xt=nt.x),nt.xdt&&(dt=nt.y),nt.y<_e&&(_e=nt.y)}const Qe=xt-rt,ct=dt-_e,ft=(rt+xt)/2,at=(_e+dt)/2,ot=new re(pe.x,pe.y).applyEuler(Ge);Ee.wrapT=Ee.wrapS=Ss,Ee.repeat.set(1/Qe,1/ct),Ee.center.set((ot.x-ft)/Qe,(ot.y-at)/ct),Ee.offset.set(.5,.5),Ee.rotation=-e.rotation[2]}De(Ee)}}}},[me,Pe]);const Le=$W(n,e,de,Ie),$e=u===Ui.Default||u===Ui.NoTexture?d:"white";return S===null||S.length!==4?null:h.jsxs("group",{name:`Hip Roof Group ${n}`,children:[h.jsx("group",{name:`Hip Roof Segments Group ${n}`,position:[pe.x,pe.y,B],userData:Le,onPointerDown:We=>{VW(We,e.id,n,Ie,de)},onPointerMove:We=>{XW(We,n)},onPointerUp:We=>{GW(We,t)},onContextMenu:We=>{dR(We,n)},children:q?h.jsx(nQ,{id:n,foundationModel:e,roofType:b,roofSegments:Ie,center:new re(pe.x,pe.y,B),thickness:p,lineWidth:w,lineColor:A,sideColor:f,color:$e,textureType:u,heatmap:Te}):h.jsxs(h.Fragment,{children:[Ie.map((We,Ee,Fe)=>h.jsx(Fq,{id:n,index:Ee,foundationModel:e,roofType:b,segment:We,centroid:de,thickness:p,color:$e,sideColor:f,texture:x,heatmap:Ne&&Ee0&&ze&&h.jsx(dW,{cz:S[0].lz,points:ze}),R&&!g&&h.jsxs("group",{position:[0,0,p+.15],children:[h.jsx(Qf,{position:[fe.x,fe.y,fe.z],onPointerDown:()=>{if(ie.current=!0,D(!0),y4.set(fe.x,fe.y,B),e&&S[0]){const We=M.getState().cameraDirection,Ee=Math.atan2(We.z,We.y),Fe=S[0].relativeAngle;A4.set(-Vt-Ee,0,Fe,"ZXY")}W(ki.Left),Ln.getState().setEnableOrbitController(!1)}}),h.jsx(Qf,{position:[de.x,de.y,de.z],onPointerDown:We=>{if(Ae(t.id,We,zo.Select),ie.current=!0,ee.current=C,D(!0),y4.set(de.x,de.y,B),e){const Ee=-Math.atan2(O.position.x-i,O.position.y-r)-e.rotation[2];A4.set(-Vt,0,Ee,"ZXY")}W(ki.Mid),Ln.getState().setEnableOrbitController(!1),T(Ee=>{Ee.resizeHandleType=gt.Top,Ee.selectedElementHeight=B+t.thickness})},onPointerOver:()=>{T(We=>{We.hoveredHandle=ki.Mid,We.selectedElementHeight=B+t.thickness,We.selectedElementX=pe.x,We.selectedElementY=pe.y})}}),h.jsx(Qf,{position:[$.x,$.y,$.z],onPointerDown:()=>{if(ie.current=!0,D(!0),y4.set($.x,$.y,B),e&&S[0]){const We=M.getState().cameraDirection,Ee=Math.atan2(We.z,We.y),Fe=S[0].relativeAngle;A4.set(-Vt-Ee,0,Fe,"ZXY")}W(ki.Right),Ln.getState().setEnableOrbitController(!1)}})]}),H&&h.jsx(sa,{name:"Roof Intersection Plane",ref:_,args:[1e3,100],visible:!1,position:y4,rotation:A4,onPointerMove:We=>{if(_.current&&ie.current){le(We);const Ee=J.intersectObjects([_.current]);if(Ee[0]&&e){const Fe=Ee[0].point;if(Fe.z<.001)return;const Ge=S[0],rt=new re().subVectors(Ge.rightPoint,Ge.leftPoint).length();switch(k){case ki.Left:{const _e=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),xt=Fe.clone().sub(new re(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new re().subVectors(xt,_e).x;L(xe.clamp(-dt,-E+.1,rt/2-.01));break}case ki.Right:{const _e=de.clone().sub(y4).applyEuler(new Qt(0,0,-A4.z)),xt=Fe.clone().sub(new re(e.cx,e.cy,e.cz)).applyEuler(new Qt(0,0,-e.rotation[2])).sub(y4).applyEuler(new Qt(0,0,-A4.z)),dt=new re().subVectors(xt,_e).x;U(xe.clamp(dt,-N+.1,rt/2-.01));break}case ki.Mid:{const _e=Math.max(0,Fe.z-e.lz-.3-F);M.getState().updateRoofRiseById(n,_e,B+t.thickness);break}}}}},onPointerUp:()=>{switch(k){case ki.Mid:{_W(n,ee.current,C);break}case ki.Left:case ki.Right:ae(n,N,E),ne(n,s,c,N,E)}ie.current=!1,D(!1),W(ki.Null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})})]})},Uvt=be.memo(Nvt,BH),oie=new re,iie=new Qt,Bvt=new re(0,0,1),jvt=be.memo(({roofSegments:t,thickness:e,lineWidth:n,lineColor:o})=>{const i=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[1]),[t[0].points[0]]),[t]),r=m.useMemo(()=>t.reduce((s,c)=>s.concat(c.points[6].clone()),[t[0].points[7].clone()]),[t]),a=m.useMemo(()=>h.jsx(Fn,{points:i,lineWidth:n,color:o}),[i,n,o]);if(t.length<2)return null;const l=Math.abs(t[0].points[0].z-t[0].points[3].z)<.1;return h.jsxs(h.Fragment,{children:[!l&&h.jsx(Fn,{points:r,lineWidth:n,color:o}),a,h.jsx("group",{position:[0,0,e],children:a}),t.map((s,c)=>h.jsxs(be.Fragment,{children:[!l&&h.jsx(Fn,{points:[s.points[7],s.points[4]],lineWidth:n,color:o}),h.jsx(Fn,{points:[s.points[4],s.points[0]],lineWidth:n,color:o})]},c))]})}),Yvt=({roofModel:t,foundationModel:e})=>{let{id:n,wallsId:o,cx:i,cy:r,lz:a,textureType:l,color:s="white",sideColor:c="white",thickness:u=.2,locked:d,lineColor:f="black",lineWidth:p=.2,roofType:g,foundationId:A,ridgeWidth:w=1,rise:b=a,ceiling:C=!1,frontRidge:P,backRidge:v}=t;const T=jH(l),y=Hs(n);[f,p]=In.getWireframetStyle(f,p,y,d);const S=M(dn),x=M(hp),R=M(ss),H=M(qe=>qe.ray),D=M(qe=>qe.mouse),[k,W]=m.useState(w),[N,L]=m.useState(null),[E,U]=m.useState(!1),[F,B]=m.useState(ki.Null),[_,Y]=m.useState(null),O=m.useRef(k),J=m.useRef(b),Z=m.useRef(null),ie=m.useRef(!1),{gl:ee,camera:q}=Xi(),ae=b<.01,ne=qe=>{const Je=[],st=qe.length;for(const Pt of qe)Pt.leftPoint[0]!==void 0&&Pt.leftPoint[1]!==void 0&&Je.push({x:Pt.leftPoint[0],y:Pt.leftPoint[1]});return $.current||(qe[st-1].rightPoint[0]||qe[st-1].rightPoint[0]===0)&&(qe[st-1].rightPoint[1]||qe[st-1].rightPoint[1]===0)&&Je.push({x:qe[st-1].rightPoint[0],y:qe[st-1].rightPoint[1]}),Je},se=qe=>{if(qe{D.x=qe.offsetX/ee.domElement.clientWidth*2-1,D.y=-(qe.offsetY/ee.domElement.clientHeight)*2+1,H.setFromCamera(D,q)},te=(qe,Je)=>{S(st=>{for(const Pt of st.elements)if(Pt.id===qe&&Pt.type===z.Roof&&Pt.roofType===Vo.Mansard){Pt.ridgeWidth=Je;break}})},he=()=>{let qe=1/0;for(let Je=0;Je{const Ue={name:"Resize Mansard Roof Ridge",timestamp:Date.now(),resizedElementId:qe,resizedElementType:z.Roof,oldVal:st,newVal:Pt,type:Je,undo:()=>{te(Ue.resizedElementId,Ue.oldVal)},redo:()=>{te(Ue.resizedElementId,Ue.newVal)}};M.getState().addUndoable(Ue)},{currentWallArray:fe,isLoopRef:$}=ZKe(A,n,o),{highestWallHeight:de,topZ:Se}=eqe(fe,b);qW(t,de);const Ce=m.useMemo(()=>{if(fe.length<2)return new re;const qe=ne(fe),Je=xe.calculatePolygonCentroid(qe);return Number.isNaN(Je.x)||Number.isNaN(Je.y)?new re:new re(Je.x,Je.y,Se)},[fe,Se]),ve=m.useMemo(()=>{const qe=fe.map(Je=>In.getWallNormal(Je).multiplyScalar(Je.eavesLength??0));if(!$.current&&qe.length!==0){const Je=new re().subVectors(new re(fe[fe.length-1].rightPoint[0],fe[fe.length-1].rightPoint[1]),new re(fe[0].leftPoint[0],fe[0].leftPoint[1])).applyEuler(eG).normalize().multiplyScalar(.3);qe.push(Je)}return qe},[fe]),Ie=m.useMemo(()=>{const qe=fe.map((Je,st)=>({leftPoint:new re(Je.leftPoint[0],Je.leftPoint[1]).add(ve[st]),rightPoint:new re(Je.rightPoint[0],Je.rightPoint[1]).add(ve[st])}));return!$.current&&qe.length!==0&&qe.push({leftPoint:new re(fe[fe.length-1].rightPoint[0],fe[fe.length-1].rightPoint[1]).add(ve[ve.length-1]),rightPoint:new re(fe[0].leftPoint[0],fe[0].leftPoint[1]).add(ve[ve.length-1])}),qe},[fe,ve]),ze=m.useMemo(()=>{const qe=fe.map((Je,st)=>{const Pt=new re(Je.leftPoint[0],Je.leftPoint[1]),Ue=new re(Je.rightPoint[0],Je.rightPoint[1]),lt=new re().subVectors(Ce,Pt).setZ(0).normalize().multiplyScalar(k),Ve=new re().subVectors(Ce,Ue).setZ(0).normalize().multiplyScalar(k);return Pt.add(lt).setZ(Se),Ue.add(Ve).setZ(Se),{leftPoint:Pt,rightPoint:Ue}});return!$.current&&qe.length!==0&&qe.push({leftPoint:qe[qe.length-1].rightPoint,rightPoint:qe[0].leftPoint}),qe},[fe,Ce,k]),ye=m.useMemo(()=>Bvt.clone().multiplyScalar(u),[u]),oe=m.useMemo(()=>{const qe=[];if(fe.length<2)return qe;const Je=he();for(let st=0;st0&&Pt.rightPoint.length>0&&(Pt.leftPoint[0]!==Pt.rightPoint[0]||Pt.leftPoint[1]!==Pt.rightPoint[1])){const Ue=[];let{lh:lt,rh:Ve}=In.getWallHeight(fe,st);$.current||(st===0&&(lt=fe[0].lz),st===fe.length-1&&(Ve=fe[fe.length-1].lz));const ut=In.getIntersectionPoint(Ie[(st+Ie.length-1)%Ie.length].leftPoint,Ie[(st+Ie.length-1)%Ie.length].rightPoint,Ie[st].leftPoint,Ie[st].rightPoint).setZ(lt-Je).sub(Ce),je=In.getIntersectionPoint(Ie[st].leftPoint,Ie[st].rightPoint,Ie[(st+1)%Ie.length].leftPoint,Ie[(st+1)%Ie.length].rightPoint).setZ(Ve-Je).sub(Ce),yt=ze[st].leftPoint.clone().sub(Ce),Ht=ze[st].rightPoint.clone().sub(Ce),At=new re(Pt.cx,Pt.cy).sub(Ce.clone().setZ(0)).length();Ue.push(ut,je,Ht,yt),Ue.push(ut.clone().add(ye),je.clone().add(ye),Ht.clone().add(ye),yt.clone().add(ye)),qe.push({points:Ue,angle:-Pt.relativeAngle,length:At})}}if(!$.current){const st=Ie.length-1,Pt=In.getIntersectionPoint(Ie[st-1].leftPoint,Ie[st-1].rightPoint,Ie[st].leftPoint,Ie[st].rightPoint).setZ(fe[fe.length-1].lz-Je).sub(Ce),Ue=In.getIntersectionPoint(Ie[st].leftPoint,Ie[st].rightPoint,Ie[0].leftPoint,Ie[0].rightPoint).setZ(fe[0].lz-Je).sub(Ce),lt=ze[st].leftPoint.clone().sub(Ce),Ve=ze[st].rightPoint.clone().sub(Ce);let ut=Math.atan2(Ue.y-Pt.y,Ue.x-Pt.x);ut=ut>=0?ut:(na+ut)%na;const je=new re().addVectors(Pt,Ue).setZ(0).divideScalar(2).length(),yt=[];yt.push(Pt,Ue,Ve,lt),yt.push(Pt.clone().add(ye),Ue.clone().add(ye),Ve.clone().add(ye),lt.clone().add(ye)),qe.push({points:yt,angle:-ut,length:je})}return qe},[fe,Se,k,u]),ge=m.useMemo(()=>{const qe=new Ml;if(ze.length>0){const Je=ze[0].leftPoint.clone().sub(Ce);qe.moveTo(Je.x,Je.y);for(const st of ze){const Pt=st.rightPoint.clone().sub(Ce);qe.lineTo(Pt.x,Pt.y)}qe.closePath()}return qe},[fe,ze]),Ae=m.useMemo(()=>{const qe=[];if(fe.length===0)return qe;qe.push(new re().fromArray(fe[0].leftPoint));for(const Je of fe)qe.push(new re().fromArray(Je.rightPoint));return qe},[fe]);m.useEffect(()=>{w!==k&&W(w)},[w]),m.useEffect(()=>{if(fe.length>1){if(M.getState().addedRoofIdSet.has(n)){for(let qe=0;qe{for(const st of Je.elements)if(st.id===fe[qe].id&&st.type===z.Wall){const Pt=st;Pt.roofId=n,Pt.leftRoofHeight=void 0,Pt.rightRoofHeight=void 0;break}});M.getState().deleteAddedRoofId(n)}}else x(n,!1,!1,!0)},[fe]),uye(e,n,oe,Ce,Se,u),m.useEffect(()=>{(P!==void 0||v!==void 0)&&S(qe=>{for(const Je of qe.elements)if(Je.type===z.Wall){const st=Je;st.roofId===n&&(st.centerLeftRoofHeight=void 0,st.centerRightRoofHeight=void 0)}else Je.type===z.Roof&&Je.roofType===Vo.Mansard&&Je.id===n&&(Je.frontRidge=void 0,Je.backRidge=void 0)})},[]);const me=()=>{const qe=[];for(let st=0;st0&&Pt.rightPoint.length>0&&(Pt.leftPoint[0]!==Pt.rightPoint[0]||Pt.leftPoint[1]!==Pt.rightPoint[1])){let{lh:Ue,rh:lt}=In.getWallHeight(fe,st);$.current||(st===0&&(Ue=fe[0].lz),st===fe.length-1&&(lt=fe[fe.length-1].lz));const Ve=new re(Pt.leftPoint[0],Pt.leftPoint[1],Ue),ut=new re(Pt.rightPoint[0],Pt.rightPoint[1],lt),je=ze[st].leftPoint.clone(),yt=ze[st].rightPoint.clone();qe.push([Ve,ut,yt,je])}}if(!$.current){const st=fe.length-1,Pt=fe[0],Ue=fe[st],lt=new re(Ue.rightPoint[0],Ue.rightPoint[1],Ue.lz),Ve=new re(Pt.leftPoint[0],Pt.leftPoint[1],Pt.lz),ut=ze[st].leftPoint.clone(),je=ze[st].rightPoint.clone();qe.push([lt,Ve,je,ut])}const Je=ze.map(st=>st.leftPoint.clone());if(qe.push(Je),ae){const st=[];for(const Pt of qe.slice(0,-1))st.push(Pt[0].clone());Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,[st])}else Sn.getState().setRoofSegmentVerticesWithoutOverhang(n,qe)},Pe=JW(n,Ce,oe,ae,Vo.Mansard,ze.map(qe=>qe.leftPoint.clone().add(ye)));KW(me);const Me=M.getState().world,Te=M(Vc),De=ht(cs),Ne=M(wf),Ye=Sn(i1),[Le,$e]=m.useState([]),[We,Ee]=m.useState(null),[Fe,Ge]=m.useState(!1),rt=ht(i3),_e=M(X2),xt=M(q9),dt=M($9),Qe=Sn($L),ct=Sn.getState().hourlyHeatExchangeArrayMap,ft=m.useRef(null),at=m.useRef(0),ot=m.useRef(),et=m.useRef(),{transparent:Oe,opacity:nt}=eQ();m.useEffect(()=>{if(De)if(ae){const qe=Ye(n);if(qe){const Je=xe.fetchHeatmapTexture(qe,Ne??5);if(Je){const st=Pe();if(st&&st.length>0&&e){const Pt=new Qt(0,0,e.rotation[2],"ZYX");let Ue=Number.MAX_VALUE,lt=Number.MAX_VALUE,Ve=-Number.MAX_VALUE,ut=-Number.MAX_VALUE;for(const zt of st)for(const Ft of zt){const ln=Ft.clone().applyEuler(Pt);ln.x>Ve&&(Ve=ln.x),ln.xut&&(ut=ln.y),ln.y{if(ft.current){const qe=ge.extractPoints(1).shape,Je=.01,st=ft.current.geometry,Pt=qe.length-1;if(Pt===4){const Ue=new Float32Array(18);Ue[0]=qe[3].x,Ue[1]=qe[3].y,Ue[2]=Je,Ue[3]=qe[0].x,Ue[4]=qe[0].y,Ue[5]=Je,Ue[6]=qe[2].x,Ue[7]=qe[2].y,Ue[8]=Je,Ue[9]=qe[2].x,Ue[10]=qe[2].y,Ue[11]=Je,Ue[12]=qe[0].x,Ue[13]=qe[0].y,Ue[14]=Je,Ue[15]=qe[1].x,Ue[16]=qe[1].y,Ue[17]=Je,st.setAttribute("position",new hi(Ue,3)),st.computeVertexNormals();const lt=De?1:6,Ve=[];Ve.push(0,0),Ve.push(lt,0),Ve.push(0,lt),Ve.push(0,lt),Ve.push(lt,0),Ve.push(lt,lt),st.setAttribute("uv",new hi(Ve,2))}else{const Ue=ft.current.geometry,lt=new Float32Array(Pt*9),Ve=De?1:6,ut=[];let je=Number.MAX_VALUE,yt=Number.MAX_VALUE,Ht=-Number.MAX_VALUE,At=-Number.MAX_VALUE;for(const Ft of qe)Ft.x>Ht?Ht=Ft.x:Ft.xAt?At=Ft.y:Ft.y{if(!rt||e&&e.notBuilding)return;const qe=ct.get(n+"-"+oe.length);if(!qe)return;const Je=qe.reduce((Oo,si)=>Oo+si,0),st=Qe(n);if(!st||!st[oe.length])return;const Pt=st[oe.length].map(Oo=>Oo.clone().sub(Ce).add(new re(0,0,Ce.z+u)));if(!Pt)return;const Ue=K9*(Me.solarRadiationHeatmapGridCellSize??.5),lt=Pt[0].clone(),Ve=Pt[1].clone(),ut=Pt[2].clone(),je=new re().subVectors(Ve,lt),yt=new re().subVectors(ut,lt),Ht=new re().subVectors(ut,Ve),At=je.length(),It=new re().crossVectors(yt,Ht).length()/At,zt=Math.max(2,Math.floor(At/Ue)),Ft=Math.max(2,Math.floor(It/Ue));je.normalize(),yt.normalize(),Ht.normalize();const ln=new re().crossVectors(yt,Ht).normalize(),Xt=je.multiplyScalar(.5*At/zt),fn=new re().crossVectors(ln,je).normalize().multiplyScalar(.5*It/Ft),rn=lt.clone().add(Xt).add(fn).add(new re(0,0,u));Xt.multiplyScalar(2),fn.multiplyScalar(2),ot.current=ln.clone().multiplyScalar(.1);const bn=[],Tn=new re,Un=new Array;for(const Oo of Pt)Un.push({x:Oo.x,y:Oo.y});const Ai=xe.getPolygonArea(Un);if(Ai===0)return;const vo=Je/Ai*(_e??Gm);at.current=vo<0?1:0,et.current=new Qt(-Math.sign(vo)*Vt,0,0);for(let Oo=0;Ooqe.elements.filter(Je=>Je.parentId===n&&Je.type===z.Window),a3),Ct=m.useMemo(()=>Wt.map(qe=>{const Je=new re(qe.lx,qe.lz,qe.ly*2),st=new re(qe.cx,qe.cy,qe.cz).sub(Ce),Pt=new Qt().fromArray([qe.rotation[0],qe.rotation[1],qe.rotation[2],"ZXY"]),Ue=new es(new X9(Je.x,Je.y,Je.z));return Ue.position.copy(st),Ue.rotation.copy(Pt),Ue.updateMatrix(),Ue}),[Wt,Ce]),wt=l===Ui.NoTexture&&s&&s===c,kt=R&&!Oe;return h.jsxs("group",{name:`Mansard Roof Group ${n}`,children:[h.jsx("group",{name:`Mansard Roof Segments Group ${n}`,position:[Ce.x,Ce.y,Ce.z],userData:Tt,onPointerDown:qe=>{VW(qe,e.id,n,oe,Ce)},onPointerMove:qe=>{XW(qe,n)},onPointerUp:qe=>{GW(qe,t)},onContextMenu:qe=>{dR(qe,n)},children:ae?h.jsx(nQ,{id:n,foundationModel:e,roofType:g,roofSegments:oe,center:new re(Ce.x,Ce.y,Se),thickness:u,lineWidth:p,lineColor:f,sideColor:c,color:Rt,textureType:l,heatmap:We}):h.jsxs(h.Fragment,{children:[oe.map((qe,Je,st)=>h.jsx(Fq,{id:n,index:Je,foundationModel:e,roofType:g,segment:qe,centroid:Ce,thickness:u,color:Rt,sideColor:c,texture:T,heatmap:Le&&Je0&&h.jsx(jvt,{roofSegments:oe,thickness:u,lineColor:f,lineWidth:p})]})}),C&&b>0&&h.jsx(dW,{points:Ae,cz:fe[0].lz}),y&&!d&&h.jsxs("group",{position:[Ce.x,Ce.y,Ce.z+u],children:[h.jsx(Qf,{position:[0,0,.3],onPointerDown:qe=>{if(Te(t.id,qe,zo.Select),ie.current=!0,J.current=b,U(!0),oie.set(Ce.x,Ce.y,Se),e){const Je=-Math.atan2(q.position.x-i,q.position.y-r)-e.rotation[2];iie.set(-Vt,0,Je,"ZXY")}B(ki.Top),Ln.getState().setEnableOrbitController(!1),S(Je=>{Je.resizeHandleType=gt.Top,Je.selectedElementHeight=Se+t.thickness})},onPointerOver:()=>{S(qe=>{qe.hoveredHandle=ki.Top,qe.selectedElementHeight=Se+t.thickness,qe.selectedElementX=Ce.x,qe.selectedElementY=Ce.y})}}),ze.map((qe,Je)=>{const st=qe.leftPoint.clone().sub(Ce);return h.jsx(Qf,{position:[st.x,st.y,0],onPointerDown:()=>{ie.current=!0,U(!0),oie.set(st.x,st.y,Se+.15),iie.set(0,0,0),B(ki.Ridge),Y(Je),L(fe.reduce((Pt,Ue)=>Math.min(Pt,new re(Ue.leftPoint[0],Ue.leftPoint[1],Se).distanceTo(Ce)-1),1/0)),Ln.getState().setEnableOrbitController(!1),O.current=k}},Je)})]}),E&&h.jsx(sa,{name:"Roof Intersection Plane",ref:Z,args:[1e3,100],visible:!1,position:oie,rotation:iie,onPointerMove:qe=>{if(Z.current&&ie.current){le(qe);const Je=H.intersectObjects([Z.current]);if(Je[0]&&e){const st=Je[0].point;if(st.z<.001)return;switch(F){case ki.Top:{const Pt=Math.max(0,st.z-e.lz-.6-de);M.getState().updateRoofRiseById(n,Pt,Se+t.thickness);break}case ki.Ridge:{if(e&&_!==null){const Pt=st.clone().applyEuler(new Qt(0,0,e.rotation[2])).sub(new re(e.cx,e.cy)).setZ(0),Ue=se(_),lt=Pt.distanceTo(Ue),Ve=new re().subVectors(Ce.clone().setZ(0),Ue);Pt.clone().sub(Ue).angleTo(Ve){switch(F){case ki.Top:{_W(n,J.current,b);break}case ki.Ridge:{pe(n,F,O.current,k);break}}S(qe=>{for(const Je of qe.elements)if(Je.id===n&&Je.type===z.Roof&&Je.roofType===Vo.Mansard){Je.ridgeWidth=k;break}}),ie.current=!1,U(!1),B(ki.Null),Y(null),Ln.getState().setEnableOrbitController(!0)},children:h.jsx("meshBasicMaterial",{side:ji,transparent:!0,opacity:.5})}),mt&&mt.map((qe,Je)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:qe,name:"Heat Flux "+Je,lineWidth:dt??Xm,color:xt??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:ot.current?qe[at.current].clone().add(ot.current):qe[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:et.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:xt??g0})})]},Je))]})},Ovt=be.memo(Yvt,BH);var mYe={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var r="",a=0;a1&&arguments[1]!==void 0?arguments[1]:{},n=[];return be.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(Qw(o)):xYe.isFragment(o)&&o.props?n=n.concat(Qw(o.props.children,e)):n.push(o))}),n}var Sce={},Kvt=function(e){};function qvt(t,e){}function $vt(t,e){}function Qvt(){Sce={}}function bYe(t,e,n){!e&&!Sce[n]&&(t(!1,n),Sce[n]=!0)}function U0(t,e){bYe(qvt,t,e)}function SYe(t,e){bYe($vt,t,e)}U0.preMessage=Kvt;U0.resetWarned=Qvt;U0.noteOnce=SYe;function gr(t){"@babel/helpers - typeof";return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gr(t)}function Zvt(t,e){if(gr(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(gr(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function TYe(t){var e=Zvt(t,"string");return gr(e)==="symbol"?e:String(e)}function _t(t,e,n){return e=TYe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Zwe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $t(t){for(var e=1;e0},t.prototype.connect_=function(){!Pce||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),axt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!Pce||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(e){var n=e.propertyName,o=n===void 0?"":n,i=rxt.some(function(r){return!!~o.indexOf(r)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),CYe=function(t,e){for(var n=0,o=Object.keys(e);n"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)||(n.set(e,new gxt(e)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)&&(n.delete(e),n.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(n){n.isActive()&&e.activeObservations_.push(n)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,n=this.activeObservations_.map(function(o){return new mxt(o.target,o.broadcastRect())});this.callback_.call(e,n,e),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),HYe=typeof WeakMap<"u"?new WeakMap:new PYe,MYe=function(){function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=lxt.getInstance(),o=new yxt(e,n,this);HYe.set(this,o)}return t}();["observe","unobserve","disconnect"].forEach(function(t){MYe.prototype[t]=function(){var e;return(e=HYe.get(this))[t].apply(e,arguments)}});var Axt=function(){return typeof aG.ResizeObserver<"u"?aG.ResizeObserver:MYe}(),uw=new Map;function wxt(t){t.forEach(function(e){var n,o=e.target;(n=uw.get(o))===null||n===void 0||n.forEach(function(i){return i(o)})})}var IYe=new Axt(wxt);function vxt(t,e){uw.has(t)||(uw.set(t,new Set),IYe.observe(t)),uw.get(t).add(e)}function xxt(t,e){uw.has(t)&&(uw.get(t).delete(e),uw.get(t).size||(IYe.unobserve(t),uw.delete(t)))}function pp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function t7e(t,e){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function xl(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Sxt(t,e){if(e&&(gr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xl(t)}function pW(t){var e=bxt();return function(){var o=sG(t),i;if(e){var r=sG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return Sxt(this,i)}}var Txt=function(t){hW(n,t);var e=pW(n);function n(){return pp(this,n),e.apply(this,arguments)}return gp(n,[{key:"render",value:function(){return this.props.children}}]),n}(m.Component);function Pxt(t,e){var n=t.children,o=t.disabled,i=m.useRef(null),r=m.useRef(null),a=m.useContext(Tce),l=typeof n=="function",s=l?n(i):n,c=m.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),u=!l&&m.isValidElement(s)&&Zw(s),d=u?s.ref:null,f=z7(d,i),p=function(){var b;return rE(i.current)||(i.current&&gr(i.current)==="object"?rE((b=i.current)===null||b===void 0?void 0:b.nativeElement):null)||rE(r.current)};m.useImperativeHandle(e,function(){return p()});var g=m.useRef(t);g.current=t;var A=m.useCallback(function(w){var b=g.current,C=b.onResize,P=b.data,v=w.getBoundingClientRect(),T=v.width,y=v.height,S=w.offsetWidth,x=w.offsetHeight,R=Math.floor(T),H=Math.floor(y);if(c.current.width!==R||c.current.height!==H||c.current.offsetWidth!==S||c.current.offsetHeight!==x){var D={width:R,height:H,offsetWidth:S,offsetHeight:x};c.current=D;var k=S===Math.round(T)?T:S,W=x===Math.round(y)?y:x,N=$t($t({},D),{},{offsetWidth:k,offsetHeight:W});a==null||a(N,w,P),C&&Promise.resolve().then(function(){C(N,w)})}},[]);return m.useEffect(function(){var w=p();return w&&!o&&vxt(w,A),function(){return xxt(w,A)}},[i.current,o]),m.createElement(Txt,{ref:r},u?m.cloneElement(s,{ref:f}):s)}var Cxt=m.forwardRef(Pxt),Rxt="rc-observer-key";function Hxt(t,e){var n=t.children,o=typeof n=="function"?[n]:Qw(n);return o.map(function(i,r){var a=(i==null?void 0:i.key)||"".concat(Rxt,"-").concat(r);return m.createElement(Cxt,so({},t,{key:a,ref:r===0?e:void 0}),i)})}var bd=m.forwardRef(Hxt);bd.Collection=ext;function Cg(t){"@babel/helpers - typeof";return Cg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cg(t)}function Mxt(t,e){if(Cg(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Cg(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ixt(t){var e=Mxt(t,"string");return Cg(e)==="symbol"?e:String(e)}function zxt(t,e,n){return e=Ixt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function n7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $C(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:1;o7e+=1;var o=o7e;function i(r){if(r===0)EYe(o),e();else{var a=zYe(function(){i(r-1)});xge.set(o,a)}}return i(n),o};Rg.cancel=function(t){var e=xge.get(t);return EYe(t),DYe(e)};function kYe(t){if(Array.isArray(t))return t}function Lxt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function Hce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=4;++o,i-=4)n=t.charCodeAt(o)&255|(t.charCodeAt(++o)&255)<<8|(t.charCodeAt(++o)&255)<<16|(t.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(o+2)&255)<<16;case 2:e^=(t.charCodeAt(o+1)&255)<<8;case 1:e^=t.charCodeAt(o)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function sp(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Mce(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var i7e="data-rc-order",r7e="data-rc-priority",Uxt="rc-util-key",Ice=new Map;function WYe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):Uxt}function Xq(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function Bxt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function NYe(t){return Array.from((Ice.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function UYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!sp())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=Bxt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(i7e,a),l&&r&&s.setAttribute(r7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Xq(e),u=c.firstChild;if(o){if(l){var d=NYe(c).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(i7e)))return!1;var p=Number(f.getAttribute(r7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function BYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Xq(e);return NYe(n).find(function(o){return o.getAttribute(WYe(e))===t})}function cG(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=BYe(t,e);if(n){var o=Xq(e);o.removeChild(n)}}function jxt(t,e){var n=Ice.get(t);if(!n||!Mce(document,n)){var o=UYe("",e),i=o.parentNode;Ice.set(t,i),t.removeChild(o)}}function lx(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Xq(n);jxt(o,n);var i=BYe(e,n);if(i){var r,a;if((r=n.csp)!==null&&r!==void 0&&r.nonce&&i.nonce!==((a=n.csp)===null||a===void 0?void 0:a.nonce)){var l;i.nonce=(l=n.csp)===null||l===void 0?void 0:l.nonce}return i.innerHTML!==t&&(i.innerHTML=t),i}var s=UYe(t,n);return s.setAttribute(WYe(n),e),s}function Yxt(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function ir(t,e){if(t==null)return{};var n=Yxt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function e7(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(U0(!s,"Warning: There may be circular references"),s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,a={map:this.cache};return n.forEach(function(l){if(!a)a=void 0;else{var s;a=(s=a)===null||s===void 0||(s=s.map)===null||s===void 0?void 0:s.get(l)}}),(o=a)!==null&&o!==void 0&&o.value&&r&&(a.value[1]=this.cacheCallTimes++),(i=a)===null||i===void 0?void 0:i.value}},{key:"get",value:function(n){var o;return(o=this.internalGet(n,!0))===null||o===void 0?void 0:o[0]}},{key:"has",value:function(n){return!!this.internalGet(n)}},{key:"set",value:function(n,o){var i=this;if(!this.has(n)){if(this.size()+1>t.MAX_CACHE_SIZE+t.MAX_CACHE_OFFSET){var r=this.keys.reduce(function(c,u){var d=on(c,2),f=d[1];return i.internalGet(u)[1]0,void 0),a7e+=1}return gp(t,[{key:"getDerivativeToken",value:function(n){return this.derivatives.reduce(function(o,i){return i(n,o)},void 0)}}]),t}(),rie=new Sge;function Dce(t){var e=Array.isArray(t)?t:[t];return rie.has(e)||rie.set(e,new jYe(e)),rie.get(e)}var Xxt=new WeakMap,aie={};function Jxt(t,e){for(var n=Xxt,o=0;o1&&arguments[1]!==void 0?arguments[1]:!1,n=l7e.get(t)||"";return n||(Object.keys(t).forEach(function(o){var i=t[o];n+=o,i instanceof jYe?n+=i.id:i&&gr(i)==="object"?n+=aE(i,e):n+=i}),e&&(n=Wk(n)),l7e.set(t,n)),n}function s7e(t,e){return Wk("".concat(e,"_").concat(aE(t,!0)))}var Ece=sp();function Ut(t){return typeof t=="number"?"".concat(t,"px"):t}function uG(t,e,n){var o,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(r)return t;var a=$t($t({},i),{},(o={},_t(o,QC,e),_t(o,C2,n),o)),l=Object.keys(a).map(function(s){var c=a[s];return c?"".concat(s,'="').concat(c,'"'):null}).filter(function(s){return s}).join(" ");return"")}var YYe=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(n?"".concat(n,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},Kxt=function(e,n,o){return Object.keys(e).length?".".concat(n).concat(o!=null&&o.scope?".".concat(o.scope):"","{").concat(Object.entries(e).map(function(i){var r=on(i,2),a=r[0],l=r[1];return"".concat(a,":").concat(l,";")}).join(""),"}"):""},OYe=function(e,n,o){var i={},r={};return Object.entries(e).forEach(function(a){var l,s,c=on(a,2),u=c[0],d=c[1];if(o!=null&&(l=o.preserve)!==null&&l!==void 0&&l[u])r[u]=d;else if((typeof d=="string"||typeof d=="number")&&!(o!=null&&(s=o.ignore)!==null&&s!==void 0&&s[u])){var f,p=YYe(u,o==null?void 0:o.prefix);i[p]=typeof d=="number"&&!(o!=null&&(f=o.unitless)!==null&&f!==void 0&&f[u])?"".concat(d,"px"):String(d),r[u]="var(".concat(p,")")}}),[r,Kxt(i,n,{scope:o==null?void 0:o.scope})]},c7e=sp()?m.useLayoutEffect:m.useEffect,Ba=function(e,n){var o=m.useRef(!0);c7e(function(){return e(o.current)},n),c7e(function(){return o.current=!1,function(){o.current=!0}},[])},sx=function(e,n){Ba(function(o){if(!o)return e()},n)},qxt=$t({},iK),u7e=qxt.useInsertionEffect,$xt=function(e,n,o){m.useMemo(e,o),Ba(function(){return n(!0)},o)},Qxt=u7e?function(t,e,n){return u7e(function(){return t(),e()},n)}:$xt,Zxt=$t({},iK),ebt=Zxt.useInsertionEffect,tbt=function(e){var n=[],o=!1;function i(r){o||n.push(r)}return m.useEffect(function(){return o=!1,function(){o=!0,n.length&&n.forEach(function(r){return r()})}},e),i},nbt=function(){return function(e){e()}},obt=typeof ebt<"u"?tbt:nbt;function Tge(t,e,n,o,i){var r=m.useContext(Jq),a=r.cache,l=[t].concat(Wo(e)),s=zce(l),c=obt([s]),u=function(g){a.opUpdate(s,function(A){var w=A||[void 0,void 0],b=on(w,2),C=b[0],P=C===void 0?0:C,v=b[1],T=v,y=T||n(),S=[P,y];return g?g(S):S})};m.useMemo(function(){u()},[s]);var d=a.opGet(s),f=d[1];return Qxt(function(){i==null||i(f)},function(p){return u(function(g){var A=on(g,2),w=A[0],b=A[1];return p&&w===0&&(i==null||i(f)),[w+1,b]}),function(){a.opUpdate(s,function(g){var A=g||[],w=on(A,2),b=w[0],C=b===void 0?0:b,P=w[1],v=C-1;return v===0?(c(function(){(p||!a.opGet(s))&&(o==null||o(P,!1))}),null):[C-1,P]})}},[s]),f}var ibt={},rbt="css",yv=new Map;function abt(t){yv.set(t,(yv.get(t)||0)+1)}function lbt(t,e){if(typeof document<"u"){var n=document.querySelectorAll("style[".concat(QC,'="').concat(t,'"]'));n.forEach(function(o){if(o[dw]===e){var i;(i=o.parentNode)===null||i===void 0||i.removeChild(o)}})}}var sbt=0;function cbt(t,e){yv.set(t,(yv.get(t)||0)-1);var n=Array.from(yv.keys()),o=n.filter(function(i){var r=yv.get(i)||0;return r<=0});n.length-o.length>sbt&&o.forEach(function(i){lbt(i,e),yv.delete(i)})}var ubt=function(e,n,o,i){var r=o.getDerivativeToken(e),a=$t($t({},r),n);return i&&(a=i(a)),a},_Ye="token";function dbt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=m.useContext(Jq),i=o.cache.instanceId,r=o.container,a=n.salt,l=a===void 0?"":a,s=n.override,c=s===void 0?ibt:s,u=n.formatToken,d=n.getComputedToken,f=n.cssVar,p=Jxt(function(){return Object.assign.apply(Object,[{}].concat(Wo(e)))},e),g=aE(p),A=aE(c),w=f?aE(f):"",b=Tge(_Ye,[l,t.id,g,A,w],function(){var C,P=d?d(p,c,t):ubt(p,c,t,u),v=$t({},P),T="";if(f){var y=OYe(P,f.key,{prefix:f.prefix,ignore:f.ignore,unitless:f.unitless,preserve:f.preserve}),S=on(y,2);P=S[0],T=S[1]}var x=s7e(P,l);P._tokenKey=x,v._tokenKey=s7e(v,l);var R=(C=f==null?void 0:f.key)!==null&&C!==void 0?C:x;P._themeKey=R,abt(R);var H="".concat(rbt,"-").concat(Wk(x));return P._hashId=H,[P,H,v,T,(f==null?void 0:f.key)||""]},function(C){cbt(C[0]._themeKey,i)},function(C){var P=on(C,4),v=P[0],T=P[3];if(f&&T){var y=lx(T,Wk("css-variables-".concat(v._themeKey)),{mark:C2,prepend:"queue",attachTo:r,priority:-999});y[dw]=i,y.setAttribute(QC,v._themeKey)}});return b}var fbt=function(e,n,o){var i=on(e,5),r=i[2],a=i[3],l=i[4],s=o||{},c=s.plain;if(!a)return null;var u=r._tokenKey,d=-999,f={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},p=uG(a,l,u,f,c);return[d,u,p]},hbt={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},VYe="comm",GYe="rule",XYe="decl",pbt="@import",gbt="@keyframes",mbt="@layer",ybt=Math.abs,Pge=String.fromCharCode;function JYe(t){return t.trim()}function S_(t,e,n){return t.replace(e,n)}function Abt(t,e){return t.indexOf(e)}function Nk(t,e){return t.charCodeAt(e)|0}function Uk(t,e,n){return t.slice(e,n)}function u6(t){return t.length}function wbt(t){return t.length}function eY(t,e){return e.push(t),t}var Kq=1,ZC=1,KYe=0,Km=0,ou=0,PH="";function Cge(t,e,n,o,i,r,a,l){return{value:t,root:e,parent:n,type:o,props:i,children:r,line:Kq,column:ZC,length:a,return:"",siblings:l}}function vbt(){return ou}function xbt(){return ou=Km>0?Nk(PH,--Km):0,ZC--,ou===10&&(ZC=1,Kq--),ou}function R2(){return ou=Km2||kce(ou)>3?"":" "}function Pbt(t,e){for(;--e&&R2()&&!(ou<48||ou>102||ou>57&&ou<65||ou>70&&ou<97););return qq(t,T_()+(e<6&&cx()==32&&R2()==32))}function Fce(t){for(;R2();)switch(ou){case t:return Km;case 34:case 39:t!==34&&t!==39&&Fce(ou);break;case 40:t===41&&Fce(t);break;case 92:R2();break}return Km}function Cbt(t,e){for(;R2()&&t+ou!==57;)if(t+ou===84&&cx()===47)break;return"/*"+qq(e,Km-1)+"*"+Pge(t===47?t:R2())}function Rbt(t){for(;!kce(cx());)R2();return qq(t,Km)}function Hbt(t){return Sbt(P_("",null,null,null,[""],t=bbt(t),0,[0],t))}function P_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,A=1,w=1,b=1,C=0,P="",v=i,T=r,y=o,S=P;w;)switch(g=C,C=R2()){case 40:if(g!=108&&Nk(S,d-1)==58){Abt(S+=S_(lie(C),"&","&\f"),"&\f")!=-1&&(b=-1);break}case 34:case 39:case 91:S+=lie(C);break;case 9:case 10:case 13:case 32:S+=Tbt(g);break;case 92:S+=Pbt(T_()-1,7);continue;case 47:switch(cx()){case 42:case 47:eY(Mbt(Cbt(R2(),T_()),e,n,s),s);break;default:S+="/"}break;case 123*A:l[c++]=u6(S)*b;case 125*A:case 59:case 0:switch(C){case 0:case 125:w=0;case 59+u:b==-1&&(S=S_(S,/\f/g,"")),p>0&&u6(S)-d&&eY(p>32?f7e(S+";",o,n,d-1,s):f7e(S_(S," ","")+";",o,n,d-2,s),s);break;case 59:S+=";";default:if(eY(y=d7e(S,e,n,c,u,i,l,P,v=[],T=[],d,r),r),C===123)if(u===0)P_(S,e,y,y,v,r,d,l,T);else switch(f===99&&Nk(S,3)===110?100:f){case 100:case 108:case 109:case 115:P_(t,y,y,o&&eY(d7e(t,y,y,0,0,i,l,P,i,v=[],d,T),T),i,T,d,l,o?v:T);break;default:P_(S,y,y,y,[""],T,0,l,T)}}c=u=p=0,A=b=1,P=S="",d=a;break;case 58:d=1+u6(S),p=g;default:if(A<1){if(C==123)--A;else if(C==125&&A++==0&&xbt()==125)continue}switch(S+=Pge(C),C*A){case 38:b=u>0?1:(S+="\f",-1);break;case 44:l[c++]=(u6(S)-1)*b,b=1;break;case 64:cx()===45&&(S+=lie(R2())),f=cx(),u=d=u6(P=S+=Rbt(T_())),C++;break;case 45:g===45&&u6(S)==2&&(A=0)}}return r}function d7e(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=wbt(p),A=0,w=0,b=0;A0?p[C]+" "+P:S_(P,/&\f/g,p[C])))&&(s[b++]=v);return Cge(t,e,n,i===0?GYe:l,s,c,u,d)}function Mbt(t,e,n,o){return Cge(t,e,n,VYe,Pge(vbt()),Uk(t,2,-2),0,o)}function f7e(t,e,n,o,i){return Cge(t,e,n,XYe,Uk(t,0,o),Uk(t,o+1,-1),o,i)}function Lce(t,e){for(var n="",o=0;o1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},i=o.root,r=o.injectHash,a=o.parentSelectors,l=n.hashId,s=n.layer;n.path;var c=n.hashPriority,u=n.transformers,d=u===void 0?[]:u;n.linters;var f="",p={};function g(b){var C=b.getName(l);if(!p[C]){var P=t(b.style,n,{root:!1,parentSelectors:a}),v=on(P,1),T=v[0];p[C]="@keyframes ".concat(b.getName(l)).concat(T)}}function A(b){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return b.forEach(function(P){Array.isArray(P)?A(P,C):P&&C.push(P)}),C}var w=A(Array.isArray(e)?e:[e]);return w.forEach(function(b){var C=typeof b=="string"&&!i?{}:b;if(typeof C=="string")f+="".concat(C,` -`);else if(C._keyframe)g(C);else{var P=d.reduce(function(v,T){var y;return(T==null||(y=T.visit)===null||y===void 0?void 0:y.call(T,v))||v},C);Object.keys(P).forEach(function(v){var T=P[v];if(gr(T)==="object"&&T&&(v!=="animationName"||!T._keyframe)&&!Fbt(T)){var y=!1,S=v.trim(),x=!1;(i||r)&&l?S.startsWith("@")?y=!0:S=Lbt(v,l,c):i&&!l&&(S==="&"||S==="")&&(S="",x=!0);var R=t(T,n,{root:x,injectHash:y,parentSelectors:[].concat(Wo(a),[S])}),H=on(R,2),D=H[0],k=H[1];p=$t($t({},p),k),f+="".concat(S).concat(D)}else{let L=function(E,U){var F=E.replace(/[A-Z]/g,function(_){return"-".concat(_.toLowerCase())}),B=U;!hbt[E]&&typeof B=="number"&&B!==0&&(B="".concat(B,"px")),E==="animationName"&&U!==null&&U!==void 0&&U._keyframe&&(g(U),B=U.getName(l)),f+="".concat(F,":").concat(B,";")};var W,N=(W=T==null?void 0:T.value)!==null&&W!==void 0?W:T;gr(T)==="object"&&T!==null&&T!==void 0&&T[QYe]&&Array.isArray(N)?N.forEach(function(E){L(v,E)}):L(v,N)}})}}),i?s&&(f="@layer ".concat(s.name," {").concat(f,"}"),s.dependencies&&(p["@layer ".concat(s.name)]=s.dependencies.map(function(b){return"@layer ".concat(b,", ").concat(s.name,";")}).join(` -`))):f="{".concat(f,"}"),[f,p]};function ZYe(t,e){return Wk("".concat(t.join("%")).concat(e))}function Nbt(){return null}var eOe="style";function Wce(t,e){var n=t.token,o=t.path,i=t.hashId,r=t.layer,a=t.nonce,l=t.clientOnly,s=t.order,c=s===void 0?0:s,u=m.useContext(Jq),d=u.autoClear;u.mock;var f=u.defaultCache,p=u.hashPriority,g=u.container,A=u.ssrInline,w=u.transformers,b=u.linters,C=u.cache,P=u.layer,v=n._tokenKey,T=[v];P&&T.push("layer"),T.push.apply(T,Wo(o));var y=Ece,S=Tge(eOe,T,function(){var k=T.join("|");if(Dbt(k)){var W=Ebt(k),N=on(W,2),L=N[0],E=N[1];if(L)return[L,v,E,{},l,c]}var U=e(),F=Wbt(U,{hashId:i,hashPriority:p,layer:P?r:void 0,path:o.join("-"),transformers:w,linters:b}),B=on(F,2),_=B[0],Y=B[1],O=C_(_),J=ZYe(T,O);return[O,v,J,Y,l,c]},function(k,W){var N=on(k,3),L=N[2];(W||d)&&Ece&&cG(L,{mark:C2})},function(k){var W=on(k,4),N=W[0];W[1];var L=W[2],E=W[3];if(y&&N!==qYe){var U={mark:C2,prepend:P?!1:"queue",attachTo:g,priority:c},F=typeof a=="function"?a():a;F&&(U.csp={nonce:F});var B=[],_=[];Object.keys(E).forEach(function(O){O.startsWith("@layer")?B.push(O):_.push(O)}),B.forEach(function(O){lx(C_(E[O]),"_layer-".concat(O),$t($t({},U),{},{prepend:!0}))});var Y=lx(N,L,U);Y[dw]=C.instanceId,Y.setAttribute(QC,v),_.forEach(function(O){lx(C_(E[O]),"_effect-".concat(O),U)})}}),x=on(S,3),R=x[0],H=x[1],D=x[2];return function(k){var W;if(!A||y||!f)W=m.createElement(Nbt,null);else{var N;W=m.createElement("style",so({},(N={},_t(N,QC,H),_t(N,C2,D),N),{dangerouslySetInnerHTML:{__html:R}}))}return m.createElement(m.Fragment,null,W,k)}}var Ubt=function(e,n,o){var i=on(e,6),r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=o||{},f=d.plain;if(c)return null;var p=r,g={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)};return p=uG(r,a,l,g,f),s&&Object.keys(s).forEach(function(A){if(!n[A]){n[A]=!0;var w=C_(s[A]),b=uG(w,a,"_effect-".concat(A),g,f);A.startsWith("@layer")?p=b+p:p+=b}}),[u,l,p]},tOe="cssVar",Bbt=function(e,n){var o=e.key,i=e.prefix,r=e.unitless,a=e.ignore,l=e.token,s=e.scope,c=s===void 0?"":s,u=m.useContext(Jq),d=u.cache.instanceId,f=u.container,p=l._tokenKey,g=[].concat(Wo(e.path),[o,c,p]),A=Tge(tOe,g,function(){var w=n(),b=OYe(w,o,{prefix:i,unitless:r,ignore:a,scope:c}),C=on(b,2),P=C[0],v=C[1],T=ZYe(g,v);return[P,v,T,o]},function(w){var b=on(w,3),C=b[2];Ece&&cG(C,{mark:C2})},function(w){var b=on(w,3),C=b[1],P=b[2];if(C){var v=lx(C,P,{mark:C2,prepend:"queue",attachTo:f,priority:-999});v[dw]=d,v.setAttribute(QC,o)}});return A},jbt=function(e,n,o){var i=on(e,4),r=i[1],a=i[2],l=i[3],s=o||{},c=s.plain;if(!r)return null;var u=-999,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)},f=uG(r,l,a,d,c);return[u,a,f]},Az;Az={},_t(Az,eOe,Ubt),_t(Az,_Ye,fbt),_t(Az,tOe,jbt);var ul=function(){function t(e,n){pp(this,t),_t(this,"name",void 0),_t(this,"style",void 0),_t(this,"_keyframe",!0),this.name=e,this.style=n}return gp(t,[{key:"getName",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n?"".concat(n,"-").concat(this.name):this.name}}]),t}();function wT(t){return t.notSplit=!0,t}wT(["borderTop","borderBottom"]),wT(["borderTop"]),wT(["borderBottom"]),wT(["borderLeft","borderRight"]),wT(["borderLeft"]),wT(["borderRight"]);var Rge=m.createContext({});function Hge(t,e,n){var o=m.useRef({});return(!("value"in o.current)||n(o.current.condition,e))&&(o.current.value=t(),o.current.condition=e),o.current.value}function Nce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!Uce(t,e.slice(0,-1))?t:aOe(t,e,n,o)}function Vbt(t){return Cg(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function p7e(t){return Array.isArray(t)?[]:{}}var Gbt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function Xbt(){for(var t=arguments.length,e=new Array(t),n=0;n{const t=()=>{};return t.deprecated=Jbt,t},qbt=m.createContext(void 0);var lOe={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},$bt={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const sOe={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},dG={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},$bt),timePickerLocale:Object.assign({},sOe)},D1="${label} is not a valid ${type}",t7={locale:"en",Pagination:lOe,DatePicker:dG,TimePicker:sOe,Calendar:dG,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:D1,method:D1,array:D1,object:D1,number:D1,date:D1,boolean:D1,integer:D1,float:D1,regexp:D1,email:D1,url:D1,hex:D1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};let R_=Object.assign({},t7.Modal),H_=[];const g7e=()=>H_.reduce((t,e)=>Object.assign(Object.assign({},t),e),t7.Modal);function Qbt(t){if(t){const e=Object.assign({},t);return H_.push(e),R_=g7e(),()=>{H_=H_.filter(n=>n!==e),R_=g7e()}}R_=Object.assign({},t7.Modal)}function cOe(){return R_}const Ige=m.createContext(void 0),D7=(t,e)=>{const n=m.useContext(Ige),o=m.useMemo(()=>{var r;const a=e||t7[t],l=(r=n==null?void 0:n[t])!==null&&r!==void 0?r:{};return Object.assign(Object.assign({},typeof a=="function"?a():a),l||{})},[t,e,n]),i=m.useMemo(()=>{const r=n==null?void 0:n.locale;return n!=null&&n.exist&&!r?t7.locale:r},[n]);return[o,i]},Zbt="internalMark",eSt=t=>{const{locale:e={},children:n,_ANT_MARK__:o}=t;m.useEffect(()=>Qbt(e&&e.Modal),[e]);const i=m.useMemo(()=>Object.assign(Object.assign({},e),{exist:!0}),[e]);return m.createElement(Ige.Provider,{value:i},n)};function cf(t,e){tSt(t)&&(t="100%");var n=nSt(t);return t=e===360?t:Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(String(t*e),10)/100),Math.abs(t-e)<1e-6?1:(e===360?t=(t<0?t%e+e:t%e)/parseFloat(String(e)):t=t%e/parseFloat(String(e)),t)}function tY(t){return Math.min(1,Math.max(0,t))}function tSt(t){return typeof t=="string"&&t.indexOf(".")!==-1&&parseFloat(t)===1}function nSt(t){return typeof t=="string"&&t.indexOf("%")!==-1}function uOe(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function nY(t){return t<=1?"".concat(Number(t)*100,"%"):t}function Ev(t){return t.length===1?"0"+t:String(t)}function oSt(t,e,n){return{r:cf(t,255)*255,g:cf(e,255)*255,b:cf(n,255)*255}}function m7e(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=0,l=(o+i)/2;if(o===i)a=0,r=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(n-=1),n<1/6?t+(e-t)*(6*n):n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function iSt(t,e,n){var o,i,r;if(t=cf(t,360),e=cf(e,100),n=cf(n,100),e===0)i=n,r=n,o=n;else{var a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;o=cie(l,a,t+1/3),i=cie(l,a,t),r=cie(l,a,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function fG(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=o,l=o-i,s=o===0?0:l/o;if(o===i)r=0;else{switch(o){case t:r=(e-n)/l+(e>16,g:(t&65280)>>8,b:t&255}}var Bce={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function f2(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=dSt(t)),typeof t=="object"&&(K3(t.r)&&K3(t.g)&&K3(t.b)?(e=oSt(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):K3(t.h)&&K3(t.s)&&K3(t.v)?(o=nY(t.s),i=nY(t.v),e=rSt(t.h,o,i),a=!0,l="hsv"):K3(t.h)&&K3(t.s)&&K3(t.l)&&(o=nY(t.s),r=nY(t.l),e=iSt(t.h,o,r),a=!0,l="hsl"),Object.prototype.hasOwnProperty.call(t,"a")&&(n=t.a)),n=uOe(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}var cSt="[-\\+]?\\d+%?",uSt="[-\\+]?\\d*\\.\\d+%?",fw="(?:".concat(uSt,")|(?:").concat(cSt,")"),uie="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),die="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),Gy={CSS_UNIT:new RegExp(fw),rgb:new RegExp("rgb"+uie),rgba:new RegExp("rgba"+die),hsl:new RegExp("hsl"+uie),hsla:new RegExp("hsla"+die),hsv:new RegExp("hsv"+uie),hsva:new RegExp("hsva"+die),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function dSt(t){if(t=t.trim().toLowerCase(),t.length===0)return!1;var e=!1;if(Bce[t])t=Bce[t],e=!0;else if(t==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Gy.rgb.exec(t);return n?{r:n[1],g:n[2],b:n[3]}:(n=Gy.rgba.exec(t),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Gy.hsl.exec(t),n?{h:n[1],s:n[2],l:n[3]}:(n=Gy.hsla.exec(t),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Gy.hsv.exec(t),n?{h:n[1],s:n[2],v:n[3]}:(n=Gy.hsva.exec(t),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Gy.hex8.exec(t),n?{r:Y1(n[1]),g:Y1(n[2]),b:Y1(n[3]),a:y7e(n[4]),format:e?"name":"hex8"}:(n=Gy.hex6.exec(t),n?{r:Y1(n[1]),g:Y1(n[2]),b:Y1(n[3]),format:e?"name":"hex"}:(n=Gy.hex4.exec(t),n?{r:Y1(n[1]+n[1]),g:Y1(n[2]+n[2]),b:Y1(n[3]+n[3]),a:y7e(n[4]+n[4]),format:e?"name":"hex8"}:(n=Gy.hex3.exec(t),n?{r:Y1(n[1]+n[1]),g:Y1(n[2]+n[2]),b:Y1(n[3]+n[3]),format:e?"name":"hex"}:!1)))))))))}function K3(t){return!!Gy.CSS_UNIT.exec(String(t))}var Il=function(){function t(e,n){e===void 0&&(e=""),n===void 0&&(n={});var o;if(e instanceof t)return e;typeof e=="number"&&(e=sSt(e)),this.originalInput=e;var i=f2(e);this.originalInput=e,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:i.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},t.prototype.getLuminance=function(){var e=this.toRgb(),n,o,i,r=e.r/255,a=e.g/255,l=e.b/255;return r<=.03928?n=r/12.92:n=Math.pow((r+.055)/1.055,2.4),a<=.03928?o=a/12.92:o=Math.pow((a+.055)/1.055,2.4),l<=.03928?i=l/12.92:i=Math.pow((l+.055)/1.055,2.4),.2126*n+.7152*o+.0722*i},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(e){return this.a=uOe(e),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},t.prototype.toHsv=function(){var e=fG(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},t.prototype.toHsvString=function(){var e=fG(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var e=m7e(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},t.prototype.toHslString=function(){var e=m7e(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(e){return e===void 0&&(e=!1),hG(this.r,this.g,this.b,e)},t.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},t.prototype.toHex8=function(e){return e===void 0&&(e=!1),aSt(this.r,this.g,this.b,this.a,e)},t.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},t.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var e=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(n,", ").concat(o,")"):"rgba(".concat(e,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var e=function(n){return"".concat(Math.round(cf(n,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var e=function(n){return Math.round(cf(n,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+hG(this.r,this.g,this.b,!1),n=0,o=Object.entries(Bce);n=0,r=!n&&i&&(e.startsWith("hex")||e==="name");return r?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l+=e/100,n.l=tY(n.l),new t(n)},t.prototype.brighten=function(e){e===void 0&&(e=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(e/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(e/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(e/100)))),new t(n)},t.prototype.darken=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l-=e/100,n.l=tY(n.l),new t(n)},t.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},t.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},t.prototype.desaturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s-=e/100,n.s=tY(n.s),new t(n)},t.prototype.saturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s+=e/100,n.s=tY(n.s),new t(n)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(e){var n=this.toHsl(),o=(n.h+e)%360;return n.h=o<0?360+o:o,new t(n)},t.prototype.mix=function(e,n){n===void 0&&(n=50);var o=this.toRgb(),i=new t(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return new t(a)},t.prototype.analogous=function(e,n){e===void 0&&(e=6),n===void 0&&(n=30);var o=this.toHsl(),i=360/n,r=[this];for(o.h=(o.h-(i*e>>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(new t(o));return r},t.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new t(e)},t.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var n=this.toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(new t({h:o,s:i,v:r})),r=(r+l)%1;return a},t.prototype.splitcomplement=function(){var e=this.toHsl(),n=e.h;return[this,new t({h:(n+72)%360,s:e.s,l:e.l}),new t({h:(n+216)%360,s:e.s,l:e.l})]},t.prototype.onBackground=function(e){var n=this.toRgb(),o=new t(e).toRgb(),i=n.a+o.a*(1-n.a);return new t({r:(n.r*n.a+o.r*o.a*(1-n.a))/i,g:(n.g*n.a+o.g*o.a*(1-n.a))/i,b:(n.b*n.a+o.b*o.a*(1-n.a))/i,a:i})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(e){for(var n=this.toHsl(),o=n.h,i=[this],r=360/e,a=1;a=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-oY*e:Math.round(t.h)+oY*e:o=n?Math.round(t.h)+oY*e:Math.round(t.h)-oY*e,o<0?o+=360:o>=360&&(o-=360),o}function x7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-A7e*e:e===fOe?o=t.s+A7e:o=t.s+fSt*e,o>1&&(o=1),n&&e===dOe&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function b7e(t,e,n){var o;return n?o=t.v+hSt*e:o=t.v-pSt*e,o>1&&(o=1),Number(o.toFixed(2))}function eR(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=f2(t),i=dOe;i>0;i-=1){var r=w7e(o),a=iY(f2({h:v7e(r,i,!0),s:x7e(r,i,!0),v:b7e(r,i,!0)}));n.push(a)}n.push(iY(o));for(var l=1;l<=fOe;l+=1){var s=w7e(o),c=iY(f2({h:v7e(s,l),s:x7e(s,l),v:b7e(s,l)}));n.push(c)}return e.theme==="dark"?gSt.map(function(u){var d=u.index,f=u.opacity,p=iY(mSt(f2(e.backgroundColor||"#141414"),f2(n[d]),f*100));return p}):n}var fie={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},M_={},hie={};Object.keys(fie).forEach(function(t){M_[t]=eR(fie[t]),M_[t].primary=M_[t][5],hie[t]=eR(fie[t],{theme:"dark",backgroundColor:"#141414"}),hie[t].primary=hie[t][5]});var ySt=M_.gold;const hOe={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},Bk=Object.assign(Object.assign({},hOe),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + */var wge=Symbol.for("react.element"),vge=Symbol.for("react.portal"),Lq=Symbol.for("react.fragment"),Wq=Symbol.for("react.strict_mode"),Nq=Symbol.for("react.profiler"),Uq=Symbol.for("react.provider"),Bq=Symbol.for("react.context"),Vvt=Symbol.for("react.server_context"),jq=Symbol.for("react.forward_ref"),Yq=Symbol.for("react.suspense"),Oq=Symbol.for("react.suspense_list"),_q=Symbol.for("react.memo"),Vq=Symbol.for("react.lazy"),Gvt=Symbol.for("react.offscreen"),AYe;AYe=Symbol.for("react.module.reference");function oy(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case wge:switch(t=t.type,t){case Lq:case Nq:case Wq:case Yq:case Oq:return t;default:switch(t=t&&t.$$typeof,t){case Vvt:case Bq:case jq:case Vq:case _q:case Uq:return t;default:return e}}case vge:return e}}}us.ContextConsumer=Bq;us.ContextProvider=Uq;us.Element=wge;us.ForwardRef=jq;us.Fragment=Lq;us.Lazy=Vq;us.Memo=_q;us.Portal=vge;us.Profiler=Nq;us.StrictMode=Wq;us.Suspense=Yq;us.SuspenseList=Oq;us.isAsyncMode=function(){return!1};us.isConcurrentMode=function(){return!1};us.isContextConsumer=function(t){return oy(t)===Bq};us.isContextProvider=function(t){return oy(t)===Uq};us.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===wge};us.isForwardRef=function(t){return oy(t)===jq};us.isFragment=function(t){return oy(t)===Lq};us.isLazy=function(t){return oy(t)===Vq};us.isMemo=function(t){return oy(t)===_q};us.isPortal=function(t){return oy(t)===vge};us.isProfiler=function(t){return oy(t)===Nq};us.isStrictMode=function(t){return oy(t)===Wq};us.isSuspense=function(t){return oy(t)===Yq};us.isSuspenseList=function(t){return oy(t)===Oq};us.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Lq||t===Nq||t===Wq||t===Yq||t===Oq||t===Gvt||typeof t=="object"&&t!==null&&(t.$$typeof===Vq||t.$$typeof===_q||t.$$typeof===Uq||t.$$typeof===Bq||t.$$typeof===jq||t.$$typeof===AYe||t.getModuleId!==void 0)};us.typeOf=oy;yYe.exports=us;var wYe=yYe.exports;function Qw(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return be.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(Qw(o)):wYe.isFragment(o)&&o.props?n=n.concat(Qw(o.props.children,e)):n.push(o))}),n}var Sce={},Xvt=function(e){};function Jvt(t,e){}function Kvt(t,e){}function qvt(){Sce={}}function vYe(t,e,n){!e&&!Sce[n]&&(t(!1,n),Sce[n]=!0)}function U0(t,e){vYe(Jvt,t,e)}function xYe(t,e){vYe(Kvt,t,e)}U0.preMessage=Xvt;U0.resetWarned=qvt;U0.noteOnce=xYe;function gr(t){"@babel/helpers - typeof";return gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gr(t)}function $vt(t,e){if(gr(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(gr(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function bYe(t){var e=$vt(t,"string");return gr(e)==="symbol"?e:String(e)}function _t(t,e,n){return e=bYe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Zwe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $t(t){for(var e=1;e0},t.prototype.connect_=function(){!Pce||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),ixt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!Pce||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(e){var n=e.propertyName,o=n===void 0?"":n,i=oxt.some(function(r){return!!~o.indexOf(r)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),TYe=function(t,e){for(var n=0,o=Object.keys(e);n"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)||(n.set(e,new hxt(e)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof qC(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var n=this.observations_;n.has(e)&&(n.delete(e),n.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(n){n.isActive()&&e.activeObservations_.push(n)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,n=this.activeObservations_.map(function(o){return new pxt(o.target,o.broadcastRect())});this.callback_.call(e,n,e),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),CYe=typeof WeakMap<"u"?new WeakMap:new SYe,RYe=function(){function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=rxt.getInstance(),o=new gxt(e,n,this);CYe.set(this,o)}return t}();["observe","unobserve","disconnect"].forEach(function(t){RYe.prototype[t]=function(){var e;return(e=CYe.get(this))[t].apply(e,arguments)}});var mxt=function(){return typeof aG.ResizeObserver<"u"?aG.ResizeObserver:RYe}(),uw=new Map;function yxt(t){t.forEach(function(e){var n,o=e.target;(n=uw.get(o))===null||n===void 0||n.forEach(function(i){return i(o)})})}var HYe=new mxt(yxt);function Axt(t,e){uw.has(t)||(uw.set(t,new Set),HYe.observe(t)),uw.get(t).add(e)}function wxt(t,e){uw.has(t)&&(uw.get(t).delete(e),uw.get(t).size||(HYe.unobserve(t),uw.delete(t)))}function pp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function t7e(t,e){for(var n=0;n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function xl(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function xxt(t,e){if(e&&(gr(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xl(t)}function pW(t){var e=vxt();return function(){var o=sG(t),i;if(e){var r=sG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return xxt(this,i)}}var bxt=function(t){hW(n,t);var e=pW(n);function n(){return pp(this,n),e.apply(this,arguments)}return gp(n,[{key:"render",value:function(){return this.props.children}}]),n}(m.Component);function Sxt(t,e){var n=t.children,o=t.disabled,i=m.useRef(null),r=m.useRef(null),a=m.useContext(Tce),l=typeof n=="function",s=l?n(i):n,c=m.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),u=!l&&m.isValidElement(s)&&Zw(s),d=u?s.ref:null,f=z7(d,i),p=function(){var b;return rE(i.current)||(i.current&&gr(i.current)==="object"?rE((b=i.current)===null||b===void 0?void 0:b.nativeElement):null)||rE(r.current)};m.useImperativeHandle(e,function(){return p()});var g=m.useRef(t);g.current=t;var A=m.useCallback(function(w){var b=g.current,C=b.onResize,P=b.data,v=w.getBoundingClientRect(),T=v.width,y=v.height,S=w.offsetWidth,x=w.offsetHeight,R=Math.floor(T),H=Math.floor(y);if(c.current.width!==R||c.current.height!==H||c.current.offsetWidth!==S||c.current.offsetHeight!==x){var D={width:R,height:H,offsetWidth:S,offsetHeight:x};c.current=D;var k=S===Math.round(T)?T:S,W=x===Math.round(y)?y:x,N=$t($t({},D),{},{offsetWidth:k,offsetHeight:W});a==null||a(N,w,P),C&&Promise.resolve().then(function(){C(N,w)})}},[]);return m.useEffect(function(){var w=p();return w&&!o&&Axt(w,A),function(){return wxt(w,A)}},[i.current,o]),m.createElement(bxt,{ref:r},u?m.cloneElement(s,{ref:f}):s)}var Txt=m.forwardRef(Sxt),Pxt="rc-observer-key";function Cxt(t,e){var n=t.children,o=typeof n=="function"?[n]:Qw(n);return o.map(function(i,r){var a=(i==null?void 0:i.key)||"".concat(Pxt,"-").concat(r);return m.createElement(Txt,so({},t,{key:a,ref:r===0?e:void 0}),i)})}var bd=m.forwardRef(Cxt);bd.Collection=Qvt;function Cg(t){"@babel/helpers - typeof";return Cg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cg(t)}function Rxt(t,e){if(Cg(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Cg(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Hxt(t){var e=Rxt(t,"string");return Cg(e)==="symbol"?e:String(e)}function Mxt(t,e,n){return e=Hxt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function n7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $C(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:1;o7e+=1;var o=o7e;function i(r){if(r===0)zYe(o),e();else{var a=MYe(function(){i(r-1)});xge.set(o,a)}}return i(n),o};Rg.cancel=function(t){var e=xge.get(t);return zYe(t),IYe(e)};function DYe(t){if(Array.isArray(t))return t}function kxt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function Hce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=4;++o,i-=4)n=t.charCodeAt(o)&255|(t.charCodeAt(++o)&255)<<8|(t.charCodeAt(++o)&255)<<16|(t.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,e=(n&65535)*1540483477+((n>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(t.charCodeAt(o+2)&255)<<16;case 2:e^=(t.charCodeAt(o+1)&255)<<8;case 1:e^=t.charCodeAt(o)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function sp(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Mce(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var i7e="data-rc-order",r7e="data-rc-priority",Wxt="rc-util-key",Ice=new Map;function FYe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):Wxt}function Xq(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function Nxt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function LYe(t){return Array.from((Ice.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function WYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!sp())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=Nxt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(i7e,a),l&&r&&s.setAttribute(r7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Xq(e),u=c.firstChild;if(o){if(l){var d=LYe(c).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(i7e)))return!1;var p=Number(f.getAttribute(r7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function NYe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Xq(e);return LYe(n).find(function(o){return o.getAttribute(FYe(e))===t})}function cG(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=NYe(t,e);if(n){var o=Xq(e);o.removeChild(n)}}function Uxt(t,e){var n=Ice.get(t);if(!n||!Mce(document,n)){var o=WYe("",e),i=o.parentNode;Ice.set(t,i),t.removeChild(o)}}function lx(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Xq(n);Uxt(o,n);var i=NYe(e,n);if(i){var r,a;if((r=n.csp)!==null&&r!==void 0&&r.nonce&&i.nonce!==((a=n.csp)===null||a===void 0?void 0:a.nonce)){var l;i.nonce=(l=n.csp)===null||l===void 0?void 0:l.nonce}return i.innerHTML!==t&&(i.innerHTML=t),i}var s=WYe(t,n);return s.setAttribute(FYe(n),e),s}function Bxt(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function ir(t,e){if(t==null)return{};var n=Bxt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function e7(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(U0(!s,"Warning: There may be circular references"),s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,a={map:this.cache};return n.forEach(function(l){if(!a)a=void 0;else{var s;a=(s=a)===null||s===void 0||(s=s.map)===null||s===void 0?void 0:s.get(l)}}),(o=a)!==null&&o!==void 0&&o.value&&r&&(a.value[1]=this.cacheCallTimes++),(i=a)===null||i===void 0?void 0:i.value}},{key:"get",value:function(n){var o;return(o=this.internalGet(n,!0))===null||o===void 0?void 0:o[0]}},{key:"has",value:function(n){return!!this.internalGet(n)}},{key:"set",value:function(n,o){var i=this;if(!this.has(n)){if(this.size()+1>t.MAX_CACHE_SIZE+t.MAX_CACHE_OFFSET){var r=this.keys.reduce(function(c,u){var d=on(c,2),f=d[1];return i.internalGet(u)[1]0,void 0),a7e+=1}return gp(t,[{key:"getDerivativeToken",value:function(n){return this.derivatives.reduce(function(o,i){return i(n,o)},void 0)}}]),t}(),rie=new Sge;function Dce(t){var e=Array.isArray(t)?t:[t];return rie.has(e)||rie.set(e,new UYe(e)),rie.get(e)}var Vxt=new WeakMap,aie={};function Gxt(t,e){for(var n=Vxt,o=0;o1&&arguments[1]!==void 0?arguments[1]:!1,n=l7e.get(t)||"";return n||(Object.keys(t).forEach(function(o){var i=t[o];n+=o,i instanceof UYe?n+=i.id:i&&gr(i)==="object"?n+=aE(i,e):n+=i}),e&&(n=Wk(n)),l7e.set(t,n)),n}function s7e(t,e){return Wk("".concat(e,"_").concat(aE(t,!0)))}var Ece=sp();function Ut(t){return typeof t=="number"?"".concat(t,"px"):t}function uG(t,e,n){var o,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(r)return t;var a=$t($t({},i),{},(o={},_t(o,QC,e),_t(o,C2,n),o)),l=Object.keys(a).map(function(s){var c=a[s];return c?"".concat(s,'="').concat(c,'"'):null}).filter(function(s){return s}).join(" ");return"")}var BYe=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(n?"".concat(n,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},Xxt=function(e,n,o){return Object.keys(e).length?".".concat(n).concat(o!=null&&o.scope?".".concat(o.scope):"","{").concat(Object.entries(e).map(function(i){var r=on(i,2),a=r[0],l=r[1];return"".concat(a,":").concat(l,";")}).join(""),"}"):""},jYe=function(e,n,o){var i={},r={};return Object.entries(e).forEach(function(a){var l,s,c=on(a,2),u=c[0],d=c[1];if(o!=null&&(l=o.preserve)!==null&&l!==void 0&&l[u])r[u]=d;else if((typeof d=="string"||typeof d=="number")&&!(o!=null&&(s=o.ignore)!==null&&s!==void 0&&s[u])){var f,p=BYe(u,o==null?void 0:o.prefix);i[p]=typeof d=="number"&&!(o!=null&&(f=o.unitless)!==null&&f!==void 0&&f[u])?"".concat(d,"px"):String(d),r[u]="var(".concat(p,")")}}),[r,Xxt(i,n,{scope:o==null?void 0:o.scope})]},c7e=sp()?m.useLayoutEffect:m.useEffect,Ba=function(e,n){var o=m.useRef(!0);c7e(function(){return e(o.current)},n),c7e(function(){return o.current=!1,function(){o.current=!0}},[])},sx=function(e,n){Ba(function(o){if(!o)return e()},n)},Jxt=$t({},iK),u7e=Jxt.useInsertionEffect,Kxt=function(e,n,o){m.useMemo(e,o),Ba(function(){return n(!0)},o)},qxt=u7e?function(t,e,n){return u7e(function(){return t(),e()},n)}:Kxt,$xt=$t({},iK),Qxt=$xt.useInsertionEffect,Zxt=function(e){var n=[],o=!1;function i(r){o||n.push(r)}return m.useEffect(function(){return o=!1,function(){o=!0,n.length&&n.forEach(function(r){return r()})}},e),i},ebt=function(){return function(e){e()}},tbt=typeof Qxt<"u"?Zxt:ebt;function Tge(t,e,n,o,i){var r=m.useContext(Jq),a=r.cache,l=[t].concat(Wo(e)),s=zce(l),c=tbt([s]),u=function(g){a.opUpdate(s,function(A){var w=A||[void 0,void 0],b=on(w,2),C=b[0],P=C===void 0?0:C,v=b[1],T=v,y=T||n(),S=[P,y];return g?g(S):S})};m.useMemo(function(){u()},[s]);var d=a.opGet(s),f=d[1];return qxt(function(){i==null||i(f)},function(p){return u(function(g){var A=on(g,2),w=A[0],b=A[1];return p&&w===0&&(i==null||i(f)),[w+1,b]}),function(){a.opUpdate(s,function(g){var A=g||[],w=on(A,2),b=w[0],C=b===void 0?0:b,P=w[1],v=C-1;return v===0?(c(function(){(p||!a.opGet(s))&&(o==null||o(P,!1))}),null):[C-1,P]})}},[s]),f}var nbt={},obt="css",yv=new Map;function ibt(t){yv.set(t,(yv.get(t)||0)+1)}function rbt(t,e){if(typeof document<"u"){var n=document.querySelectorAll("style[".concat(QC,'="').concat(t,'"]'));n.forEach(function(o){if(o[dw]===e){var i;(i=o.parentNode)===null||i===void 0||i.removeChild(o)}})}}var abt=0;function lbt(t,e){yv.set(t,(yv.get(t)||0)-1);var n=Array.from(yv.keys()),o=n.filter(function(i){var r=yv.get(i)||0;return r<=0});n.length-o.length>abt&&o.forEach(function(i){rbt(i,e),yv.delete(i)})}var sbt=function(e,n,o,i){var r=o.getDerivativeToken(e),a=$t($t({},r),n);return i&&(a=i(a)),a},YYe="token";function cbt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=m.useContext(Jq),i=o.cache.instanceId,r=o.container,a=n.salt,l=a===void 0?"":a,s=n.override,c=s===void 0?nbt:s,u=n.formatToken,d=n.getComputedToken,f=n.cssVar,p=Gxt(function(){return Object.assign.apply(Object,[{}].concat(Wo(e)))},e),g=aE(p),A=aE(c),w=f?aE(f):"",b=Tge(YYe,[l,t.id,g,A,w],function(){var C,P=d?d(p,c,t):sbt(p,c,t,u),v=$t({},P),T="";if(f){var y=jYe(P,f.key,{prefix:f.prefix,ignore:f.ignore,unitless:f.unitless,preserve:f.preserve}),S=on(y,2);P=S[0],T=S[1]}var x=s7e(P,l);P._tokenKey=x,v._tokenKey=s7e(v,l);var R=(C=f==null?void 0:f.key)!==null&&C!==void 0?C:x;P._themeKey=R,ibt(R);var H="".concat(obt,"-").concat(Wk(x));return P._hashId=H,[P,H,v,T,(f==null?void 0:f.key)||""]},function(C){lbt(C[0]._themeKey,i)},function(C){var P=on(C,4),v=P[0],T=P[3];if(f&&T){var y=lx(T,Wk("css-variables-".concat(v._themeKey)),{mark:C2,prepend:"queue",attachTo:r,priority:-999});y[dw]=i,y.setAttribute(QC,v._themeKey)}});return b}var ubt=function(e,n,o){var i=on(e,5),r=i[2],a=i[3],l=i[4],s=o||{},c=s.plain;if(!a)return null;var u=r._tokenKey,d=-999,f={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},p=uG(a,l,u,f,c);return[d,u,p]},dbt={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},OYe="comm",_Ye="rule",VYe="decl",fbt="@import",hbt="@keyframes",pbt="@layer",gbt=Math.abs,Pge=String.fromCharCode;function GYe(t){return t.trim()}function S_(t,e,n){return t.replace(e,n)}function mbt(t,e){return t.indexOf(e)}function Nk(t,e){return t.charCodeAt(e)|0}function Uk(t,e,n){return t.slice(e,n)}function u6(t){return t.length}function ybt(t){return t.length}function eY(t,e){return e.push(t),t}var Kq=1,ZC=1,XYe=0,Km=0,ou=0,PH="";function Cge(t,e,n,o,i,r,a,l){return{value:t,root:e,parent:n,type:o,props:i,children:r,line:Kq,column:ZC,length:a,return:"",siblings:l}}function Abt(){return ou}function wbt(){return ou=Km>0?Nk(PH,--Km):0,ZC--,ou===10&&(ZC=1,Kq--),ou}function R2(){return ou=Km2||kce(ou)>3?"":" "}function Sbt(t,e){for(;--e&&R2()&&!(ou<48||ou>102||ou>57&&ou<65||ou>70&&ou<97););return qq(t,T_()+(e<6&&cx()==32&&R2()==32))}function Fce(t){for(;R2();)switch(ou){case t:return Km;case 34:case 39:t!==34&&t!==39&&Fce(ou);break;case 40:t===41&&Fce(t);break;case 92:R2();break}return Km}function Tbt(t,e){for(;R2()&&t+ou!==57;)if(t+ou===84&&cx()===47)break;return"/*"+qq(e,Km-1)+"*"+Pge(t===47?t:R2())}function Pbt(t){for(;!kce(cx());)R2();return qq(t,Km)}function Cbt(t){return xbt(P_("",null,null,null,[""],t=vbt(t),0,[0],t))}function P_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,A=1,w=1,b=1,C=0,P="",v=i,T=r,y=o,S=P;w;)switch(g=C,C=R2()){case 40:if(g!=108&&Nk(S,d-1)==58){mbt(S+=S_(lie(C),"&","&\f"),"&\f")!=-1&&(b=-1);break}case 34:case 39:case 91:S+=lie(C);break;case 9:case 10:case 13:case 32:S+=bbt(g);break;case 92:S+=Sbt(T_()-1,7);continue;case 47:switch(cx()){case 42:case 47:eY(Rbt(Tbt(R2(),T_()),e,n,s),s);break;default:S+="/"}break;case 123*A:l[c++]=u6(S)*b;case 125*A:case 59:case 0:switch(C){case 0:case 125:w=0;case 59+u:b==-1&&(S=S_(S,/\f/g,"")),p>0&&u6(S)-d&&eY(p>32?f7e(S+";",o,n,d-1,s):f7e(S_(S," ","")+";",o,n,d-2,s),s);break;case 59:S+=";";default:if(eY(y=d7e(S,e,n,c,u,i,l,P,v=[],T=[],d,r),r),C===123)if(u===0)P_(S,e,y,y,v,r,d,l,T);else switch(f===99&&Nk(S,3)===110?100:f){case 100:case 108:case 109:case 115:P_(t,y,y,o&&eY(d7e(t,y,y,0,0,i,l,P,i,v=[],d,T),T),i,T,d,l,o?v:T);break;default:P_(S,y,y,y,[""],T,0,l,T)}}c=u=p=0,A=b=1,P=S="",d=a;break;case 58:d=1+u6(S),p=g;default:if(A<1){if(C==123)--A;else if(C==125&&A++==0&&wbt()==125)continue}switch(S+=Pge(C),C*A){case 38:b=u>0?1:(S+="\f",-1);break;case 44:l[c++]=(u6(S)-1)*b,b=1;break;case 64:cx()===45&&(S+=lie(R2())),f=cx(),u=d=u6(P=S+=Pbt(T_())),C++;break;case 45:g===45&&u6(S)==2&&(A=0)}}return r}function d7e(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=ybt(p),A=0,w=0,b=0;A0?p[C]+" "+P:S_(P,/&\f/g,p[C])))&&(s[b++]=v);return Cge(t,e,n,i===0?_Ye:l,s,c,u,d)}function Rbt(t,e,n,o){return Cge(t,e,n,OYe,Pge(Abt()),Uk(t,2,-2),0,o)}function f7e(t,e,n,o,i){return Cge(t,e,n,VYe,Uk(t,0,o),Uk(t,o+1,-1),o,i)}function Lce(t,e){for(var n="",o=0;o1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},i=o.root,r=o.injectHash,a=o.parentSelectors,l=n.hashId,s=n.layer;n.path;var c=n.hashPriority,u=n.transformers,d=u===void 0?[]:u;n.linters;var f="",p={};function g(b){var C=b.getName(l);if(!p[C]){var P=t(b.style,n,{root:!1,parentSelectors:a}),v=on(P,1),T=v[0];p[C]="@keyframes ".concat(b.getName(l)).concat(T)}}function A(b){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return b.forEach(function(P){Array.isArray(P)?A(P,C):P&&C.push(P)}),C}var w=A(Array.isArray(e)?e:[e]);return w.forEach(function(b){var C=typeof b=="string"&&!i?{}:b;if(typeof C=="string")f+="".concat(C,` +`);else if(C._keyframe)g(C);else{var P=d.reduce(function(v,T){var y;return(T==null||(y=T.visit)===null||y===void 0?void 0:y.call(T,v))||v},C);Object.keys(P).forEach(function(v){var T=P[v];if(gr(T)==="object"&&T&&(v!=="animationName"||!T._keyframe)&&!Ebt(T)){var y=!1,S=v.trim(),x=!1;(i||r)&&l?S.startsWith("@")?y=!0:S=kbt(v,l,c):i&&!l&&(S==="&"||S==="")&&(S="",x=!0);var R=t(T,n,{root:x,injectHash:y,parentSelectors:[].concat(Wo(a),[S])}),H=on(R,2),D=H[0],k=H[1];p=$t($t({},p),k),f+="".concat(S).concat(D)}else{let L=function(E,U){var F=E.replace(/[A-Z]/g,function(_){return"-".concat(_.toLowerCase())}),B=U;!dbt[E]&&typeof B=="number"&&B!==0&&(B="".concat(B,"px")),E==="animationName"&&U!==null&&U!==void 0&&U._keyframe&&(g(U),B=U.getName(l)),f+="".concat(F,":").concat(B,";")};var W,N=(W=T==null?void 0:T.value)!==null&&W!==void 0?W:T;gr(T)==="object"&&T!==null&&T!==void 0&&T[qYe]&&Array.isArray(N)?N.forEach(function(E){L(v,E)}):L(v,N)}})}}),i?s&&(f="@layer ".concat(s.name," {").concat(f,"}"),s.dependencies&&(p["@layer ".concat(s.name)]=s.dependencies.map(function(b){return"@layer ".concat(b,", ").concat(s.name,";")}).join(` +`))):f="{".concat(f,"}"),[f,p]};function $Ye(t,e){return Wk("".concat(t.join("%")).concat(e))}function Lbt(){return null}var QYe="style";function Wce(t,e){var n=t.token,o=t.path,i=t.hashId,r=t.layer,a=t.nonce,l=t.clientOnly,s=t.order,c=s===void 0?0:s,u=m.useContext(Jq),d=u.autoClear;u.mock;var f=u.defaultCache,p=u.hashPriority,g=u.container,A=u.ssrInline,w=u.transformers,b=u.linters,C=u.cache,P=u.layer,v=n._tokenKey,T=[v];P&&T.push("layer"),T.push.apply(T,Wo(o));var y=Ece,S=Tge(QYe,T,function(){var k=T.join("|");if(Ibt(k)){var W=zbt(k),N=on(W,2),L=N[0],E=N[1];if(L)return[L,v,E,{},l,c]}var U=e(),F=Fbt(U,{hashId:i,hashPriority:p,layer:P?r:void 0,path:o.join("-"),transformers:w,linters:b}),B=on(F,2),_=B[0],Y=B[1],O=C_(_),J=$Ye(T,O);return[O,v,J,Y,l,c]},function(k,W){var N=on(k,3),L=N[2];(W||d)&&Ece&&cG(L,{mark:C2})},function(k){var W=on(k,4),N=W[0];W[1];var L=W[2],E=W[3];if(y&&N!==JYe){var U={mark:C2,prepend:P?!1:"queue",attachTo:g,priority:c},F=typeof a=="function"?a():a;F&&(U.csp={nonce:F});var B=[],_=[];Object.keys(E).forEach(function(O){O.startsWith("@layer")?B.push(O):_.push(O)}),B.forEach(function(O){lx(C_(E[O]),"_layer-".concat(O),$t($t({},U),{},{prepend:!0}))});var Y=lx(N,L,U);Y[dw]=C.instanceId,Y.setAttribute(QC,v),_.forEach(function(O){lx(C_(E[O]),"_effect-".concat(O),U)})}}),x=on(S,3),R=x[0],H=x[1],D=x[2];return function(k){var W;if(!A||y||!f)W=m.createElement(Lbt,null);else{var N;W=m.createElement("style",so({},(N={},_t(N,QC,H),_t(N,C2,D),N),{dangerouslySetInnerHTML:{__html:R}}))}return m.createElement(m.Fragment,null,W,k)}}var Wbt=function(e,n,o){var i=on(e,6),r=i[0],a=i[1],l=i[2],s=i[3],c=i[4],u=i[5],d=o||{},f=d.plain;if(c)return null;var p=r,g={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)};return p=uG(r,a,l,g,f),s&&Object.keys(s).forEach(function(A){if(!n[A]){n[A]=!0;var w=C_(s[A]),b=uG(w,a,"_effect-".concat(A),g,f);A.startsWith("@layer")?p=b+p:p+=b}}),[u,l,p]},ZYe="cssVar",Nbt=function(e,n){var o=e.key,i=e.prefix,r=e.unitless,a=e.ignore,l=e.token,s=e.scope,c=s===void 0?"":s,u=m.useContext(Jq),d=u.cache.instanceId,f=u.container,p=l._tokenKey,g=[].concat(Wo(e.path),[o,c,p]),A=Tge(ZYe,g,function(){var w=n(),b=jYe(w,o,{prefix:i,unitless:r,ignore:a,scope:c}),C=on(b,2),P=C[0],v=C[1],T=$Ye(g,v);return[P,v,T,o]},function(w){var b=on(w,3),C=b[2];Ece&&cG(C,{mark:C2})},function(w){var b=on(w,3),C=b[1],P=b[2];if(C){var v=lx(C,P,{mark:C2,prepend:"queue",attachTo:f,priority:-999});v[dw]=d,v.setAttribute(QC,o)}});return A},Ubt=function(e,n,o){var i=on(e,4),r=i[1],a=i[2],l=i[3],s=o||{},c=s.plain;if(!r)return null;var u=-999,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)},f=uG(r,l,a,d,c);return[u,a,f]},Az;Az={},_t(Az,QYe,Wbt),_t(Az,YYe,ubt),_t(Az,ZYe,Ubt);var ul=function(){function t(e,n){pp(this,t),_t(this,"name",void 0),_t(this,"style",void 0),_t(this,"_keyframe",!0),this.name=e,this.style=n}return gp(t,[{key:"getName",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n?"".concat(n,"-").concat(this.name):this.name}}]),t}();function wT(t){return t.notSplit=!0,t}wT(["borderTop","borderBottom"]),wT(["borderTop"]),wT(["borderBottom"]),wT(["borderLeft","borderRight"]),wT(["borderLeft"]),wT(["borderRight"]);var Rge=m.createContext({});function Hge(t,e,n){var o=m.useRef({});return(!("value"in o.current)||n(o.current.condition,e))&&(o.current.value=t(),o.current.condition=e),o.current.value}function Nce(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!Uce(t,e.slice(0,-1))?t:iOe(t,e,n,o)}function Obt(t){return Cg(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function p7e(t){return Array.isArray(t)?[]:{}}var _bt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function Vbt(){for(var t=arguments.length,e=new Array(t),n=0;n{const t=()=>{};return t.deprecated=Gbt,t},Jbt=m.createContext(void 0);var rOe={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},Kbt={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const aOe={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},dG={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},Kbt),timePickerLocale:Object.assign({},aOe)},D1="${label} is not a valid ${type}",t7={locale:"en",Pagination:rOe,DatePicker:dG,TimePicker:aOe,Calendar:dG,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:D1,method:D1,array:D1,object:D1,number:D1,date:D1,boolean:D1,integer:D1,float:D1,regexp:D1,email:D1,url:D1,hex:D1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}};let R_=Object.assign({},t7.Modal),H_=[];const g7e=()=>H_.reduce((t,e)=>Object.assign(Object.assign({},t),e),t7.Modal);function qbt(t){if(t){const e=Object.assign({},t);return H_.push(e),R_=g7e(),()=>{H_=H_.filter(n=>n!==e),R_=g7e()}}R_=Object.assign({},t7.Modal)}function lOe(){return R_}const Ige=m.createContext(void 0),D7=(t,e)=>{const n=m.useContext(Ige),o=m.useMemo(()=>{var r;const a=e||t7[t],l=(r=n==null?void 0:n[t])!==null&&r!==void 0?r:{};return Object.assign(Object.assign({},typeof a=="function"?a():a),l||{})},[t,e,n]),i=m.useMemo(()=>{const r=n==null?void 0:n.locale;return n!=null&&n.exist&&!r?t7.locale:r},[n]);return[o,i]},$bt="internalMark",Qbt=t=>{const{locale:e={},children:n,_ANT_MARK__:o}=t;m.useEffect(()=>qbt(e&&e.Modal),[e]);const i=m.useMemo(()=>Object.assign(Object.assign({},e),{exist:!0}),[e]);return m.createElement(Ige.Provider,{value:i},n)};function cf(t,e){Zbt(t)&&(t="100%");var n=eSt(t);return t=e===360?t:Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(String(t*e),10)/100),Math.abs(t-e)<1e-6?1:(e===360?t=(t<0?t%e+e:t%e)/parseFloat(String(e)):t=t%e/parseFloat(String(e)),t)}function tY(t){return Math.min(1,Math.max(0,t))}function Zbt(t){return typeof t=="string"&&t.indexOf(".")!==-1&&parseFloat(t)===1}function eSt(t){return typeof t=="string"&&t.indexOf("%")!==-1}function sOe(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function nY(t){return t<=1?"".concat(Number(t)*100,"%"):t}function Ev(t){return t.length===1?"0"+t:String(t)}function tSt(t,e,n){return{r:cf(t,255)*255,g:cf(e,255)*255,b:cf(n,255)*255}}function m7e(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=0,l=(o+i)/2;if(o===i)a=0,r=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(n-=1),n<1/6?t+(e-t)*(6*n):n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function nSt(t,e,n){var o,i,r;if(t=cf(t,360),e=cf(e,100),n=cf(n,100),e===0)i=n,r=n,o=n;else{var a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;o=cie(l,a,t+1/3),i=cie(l,a,t),r=cie(l,a,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function fG(t,e,n){t=cf(t,255),e=cf(e,255),n=cf(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r=0,a=o,l=o-i,s=o===0?0:l/o;if(o===i)r=0;else{switch(o){case t:r=(e-n)/l+(e>16,g:(t&65280)>>8,b:t&255}}var Bce={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function f2(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=cSt(t)),typeof t=="object"&&(K3(t.r)&&K3(t.g)&&K3(t.b)?(e=tSt(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):K3(t.h)&&K3(t.s)&&K3(t.v)?(o=nY(t.s),i=nY(t.v),e=oSt(t.h,o,i),a=!0,l="hsv"):K3(t.h)&&K3(t.s)&&K3(t.l)&&(o=nY(t.s),r=nY(t.l),e=nSt(t.h,o,r),a=!0,l="hsl"),Object.prototype.hasOwnProperty.call(t,"a")&&(n=t.a)),n=sOe(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}var lSt="[-\\+]?\\d+%?",sSt="[-\\+]?\\d*\\.\\d+%?",fw="(?:".concat(sSt,")|(?:").concat(lSt,")"),uie="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),die="[\\s|\\(]+(".concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")[,|\\s]+(").concat(fw,")\\s*\\)?"),Gy={CSS_UNIT:new RegExp(fw),rgb:new RegExp("rgb"+uie),rgba:new RegExp("rgba"+die),hsl:new RegExp("hsl"+uie),hsla:new RegExp("hsla"+die),hsv:new RegExp("hsv"+uie),hsva:new RegExp("hsva"+die),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function cSt(t){if(t=t.trim().toLowerCase(),t.length===0)return!1;var e=!1;if(Bce[t])t=Bce[t],e=!0;else if(t==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Gy.rgb.exec(t);return n?{r:n[1],g:n[2],b:n[3]}:(n=Gy.rgba.exec(t),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Gy.hsl.exec(t),n?{h:n[1],s:n[2],l:n[3]}:(n=Gy.hsla.exec(t),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Gy.hsv.exec(t),n?{h:n[1],s:n[2],v:n[3]}:(n=Gy.hsva.exec(t),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Gy.hex8.exec(t),n?{r:Y1(n[1]),g:Y1(n[2]),b:Y1(n[3]),a:y7e(n[4]),format:e?"name":"hex8"}:(n=Gy.hex6.exec(t),n?{r:Y1(n[1]),g:Y1(n[2]),b:Y1(n[3]),format:e?"name":"hex"}:(n=Gy.hex4.exec(t),n?{r:Y1(n[1]+n[1]),g:Y1(n[2]+n[2]),b:Y1(n[3]+n[3]),a:y7e(n[4]+n[4]),format:e?"name":"hex8"}:(n=Gy.hex3.exec(t),n?{r:Y1(n[1]+n[1]),g:Y1(n[2]+n[2]),b:Y1(n[3]+n[3]),format:e?"name":"hex"}:!1)))))))))}function K3(t){return!!Gy.CSS_UNIT.exec(String(t))}var Il=function(){function t(e,n){e===void 0&&(e=""),n===void 0&&(n={});var o;if(e instanceof t)return e;typeof e=="number"&&(e=aSt(e)),this.originalInput=e;var i=f2(e);this.originalInput=e,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:i.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},t.prototype.getLuminance=function(){var e=this.toRgb(),n,o,i,r=e.r/255,a=e.g/255,l=e.b/255;return r<=.03928?n=r/12.92:n=Math.pow((r+.055)/1.055,2.4),a<=.03928?o=a/12.92:o=Math.pow((a+.055)/1.055,2.4),l<=.03928?i=l/12.92:i=Math.pow((l+.055)/1.055,2.4),.2126*n+.7152*o+.0722*i},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(e){return this.a=sOe(e),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},t.prototype.toHsv=function(){var e=fG(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},t.prototype.toHsvString=function(){var e=fG(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var e=m7e(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},t.prototype.toHslString=function(){var e=m7e(this.r,this.g,this.b),n=Math.round(e.h*360),o=Math.round(e.s*100),i=Math.round(e.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(i,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(i,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(e){return e===void 0&&(e=!1),hG(this.r,this.g,this.b,e)},t.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},t.prototype.toHex8=function(e){return e===void 0&&(e=!1),iSt(this.r,this.g,this.b,this.a,e)},t.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},t.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var e=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(n,", ").concat(o,")"):"rgba(".concat(e,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var e=function(n){return"".concat(Math.round(cf(n,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var e=function(n){return Math.round(cf(n,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+hG(this.r,this.g,this.b,!1),n=0,o=Object.entries(Bce);n=0,r=!n&&i&&(e.startsWith("hex")||e==="name");return r?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l+=e/100,n.l=tY(n.l),new t(n)},t.prototype.brighten=function(e){e===void 0&&(e=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(e/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(e/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(e/100)))),new t(n)},t.prototype.darken=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.l-=e/100,n.l=tY(n.l),new t(n)},t.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},t.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},t.prototype.desaturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s-=e/100,n.s=tY(n.s),new t(n)},t.prototype.saturate=function(e){e===void 0&&(e=10);var n=this.toHsl();return n.s+=e/100,n.s=tY(n.s),new t(n)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(e){var n=this.toHsl(),o=(n.h+e)%360;return n.h=o<0?360+o:o,new t(n)},t.prototype.mix=function(e,n){n===void 0&&(n=50);var o=this.toRgb(),i=new t(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return new t(a)},t.prototype.analogous=function(e,n){e===void 0&&(e=6),n===void 0&&(n=30);var o=this.toHsl(),i=360/n,r=[this];for(o.h=(o.h-(i*e>>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(new t(o));return r},t.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new t(e)},t.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var n=this.toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(new t({h:o,s:i,v:r})),r=(r+l)%1;return a},t.prototype.splitcomplement=function(){var e=this.toHsl(),n=e.h;return[this,new t({h:(n+72)%360,s:e.s,l:e.l}),new t({h:(n+216)%360,s:e.s,l:e.l})]},t.prototype.onBackground=function(e){var n=this.toRgb(),o=new t(e).toRgb(),i=n.a+o.a*(1-n.a);return new t({r:(n.r*n.a+o.r*o.a*(1-n.a))/i,g:(n.g*n.a+o.g*o.a*(1-n.a))/i,b:(n.b*n.a+o.b*o.a*(1-n.a))/i,a:i})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(e){for(var n=this.toHsl(),o=n.h,i=[this],r=360/e,a=1;a=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-oY*e:Math.round(t.h)+oY*e:o=n?Math.round(t.h)+oY*e:Math.round(t.h)-oY*e,o<0?o+=360:o>=360&&(o-=360),o}function x7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-A7e*e:e===uOe?o=t.s+A7e:o=t.s+uSt*e,o>1&&(o=1),n&&e===cOe&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function b7e(t,e,n){var o;return n?o=t.v+dSt*e:o=t.v-fSt*e,o>1&&(o=1),Number(o.toFixed(2))}function eR(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=f2(t),i=cOe;i>0;i-=1){var r=w7e(o),a=iY(f2({h:v7e(r,i,!0),s:x7e(r,i,!0),v:b7e(r,i,!0)}));n.push(a)}n.push(iY(o));for(var l=1;l<=uOe;l+=1){var s=w7e(o),c=iY(f2({h:v7e(s,l),s:x7e(s,l),v:b7e(s,l)}));n.push(c)}return e.theme==="dark"?hSt.map(function(u){var d=u.index,f=u.opacity,p=iY(pSt(f2(e.backgroundColor||"#141414"),f2(n[d]),f*100));return p}):n}var fie={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},M_={},hie={};Object.keys(fie).forEach(function(t){M_[t]=eR(fie[t]),M_[t].primary=M_[t][5],hie[t]=eR(fie[t],{theme:"dark",backgroundColor:"#141414"}),hie[t].primary=hie[t][5]});var gSt=M_.gold;const dOe={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},Bk=Object.assign(Object.assign({},dOe),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', -'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});function ASt(t,e){let{generateColorPalettes:n,generateNeutralColorPalettes:o}=e;const{colorSuccess:i,colorWarning:r,colorError:a,colorInfo:l,colorPrimary:s,colorBgBase:c,colorTextBase:u}=t,d=n(s),f=n(i),p=n(r),g=n(a),A=n(l),w=o(c,u),b=t.colorLink||t.colorInfo,C=n(b);return Object.assign(Object.assign({},w),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:f[1],colorSuccessBgHover:f[2],colorSuccessBorder:f[3],colorSuccessBorderHover:f[4],colorSuccessHover:f[4],colorSuccess:f[6],colorSuccessActive:f[7],colorSuccessTextHover:f[8],colorSuccessText:f[9],colorSuccessTextActive:f[10],colorErrorBg:g[1],colorErrorBgHover:g[2],colorErrorBorder:g[3],colorErrorBorderHover:g[4],colorErrorHover:g[5],colorError:g[6],colorErrorActive:g[7],colorErrorTextHover:g[8],colorErrorText:g[9],colorErrorTextActive:g[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:A[1],colorInfoBgHover:A[2],colorInfoBorder:A[3],colorInfoBorderHover:A[4],colorInfoHover:A[4],colorInfo:A[6],colorInfoActive:A[7],colorInfoTextHover:A[8],colorInfoText:A[9],colorInfoTextActive:A[10],colorLinkHover:C[4],colorLink:C[6],colorLinkActive:C[7],colorBgMask:new Il("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const wSt=t=>{let e=t,n=t,o=t,i=t;return t<6&&t>=5?e=t+1:t<16&&t>=6?e=t+2:t>=16&&(e=16),t<7&&t>=5?n=4:t<8&&t>=7?n=5:t<14&&t>=8?n=6:t<16&&t>=14?n=7:t>=16&&(n=8),t<6&&t>=2?o=1:t>=6&&(o=2),t>4&&t<8?i=4:t>=8&&(i=6),{borderRadius:t,borderRadiusXS:o,borderRadiusSM:n,borderRadiusLG:e,borderRadiusOuter:i}};function vSt(t){const{motionUnit:e,motionBase:n,borderRadius:o,lineWidth:i}=t;return Object.assign({motionDurationFast:`${(n+e).toFixed(1)}s`,motionDurationMid:`${(n+e*2).toFixed(1)}s`,motionDurationSlow:`${(n+e*3).toFixed(1)}s`,lineWidthBold:i+1},wSt(o))}const xSt=t=>{const{controlHeight:e}=t;return{controlHeightSM:e*.75,controlHeightXS:e*.5,controlHeightLG:e*1.25}};function I_(t){return(t+8)/t}function bSt(t){const e=new Array(10).fill(null).map((n,o)=>{const i=o-1,r=t*Math.pow(2.71828,i/5),a=o>1?Math.floor(r):Math.ceil(r);return Math.floor(a/2)*2});return e[1]=t,e.map(n=>({size:n,lineHeight:I_(n)}))}const SSt=t=>{const e=bSt(t),n=e.map(u=>u.size),o=e.map(u=>u.lineHeight),i=n[1],r=n[0],a=n[2],l=o[1],s=o[0],c=o[2];return{fontSizeSM:r,fontSize:i,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:l,lineHeightLG:c,lineHeightSM:s,fontHeight:Math.round(l*i),fontHeightLG:Math.round(c*a),fontHeightSM:Math.round(s*r),lineHeightHeading1:o[6],lineHeightHeading2:o[5],lineHeightHeading3:o[4],lineHeightHeading4:o[3],lineHeightHeading5:o[2]}};function TSt(t){const{sizeUnit:e,sizeStep:n}=t;return{sizeXXL:e*(n+8),sizeXL:e*(n+4),sizeLG:e*(n+2),sizeMD:e*(n+1),sizeMS:e*n,size:e*n,sizeSM:e*(n-1),sizeXS:e*(n-2),sizeXXS:e*(n-3)}}const q3=(t,e)=>new Il(t).setAlpha(e).toRgbString(),wz=(t,e)=>new Il(t).darken(e).toHexString(),PSt=t=>{const e=eR(t);return{1:e[0],2:e[1],3:e[2],4:e[3],5:e[4],6:e[5],7:e[6],8:e[4],9:e[5],10:e[6]}},CSt=(t,e)=>{const n=t||"#fff",o=e||"#000";return{colorBgBase:n,colorTextBase:o,colorText:q3(o,.88),colorTextSecondary:q3(o,.65),colorTextTertiary:q3(o,.45),colorTextQuaternary:q3(o,.25),colorFill:q3(o,.15),colorFillSecondary:q3(o,.06),colorFillTertiary:q3(o,.04),colorFillQuaternary:q3(o,.02),colorBgLayout:wz(n,4),colorBgContainer:wz(n,0),colorBgElevated:wz(n,0),colorBgSpotlight:q3(o,.85),colorBgBlur:"transparent",colorBorder:wz(n,15),colorBorderSecondary:wz(n,6)}};function RSt(t){const e=Object.keys(hOe).map(n=>{const o=eR(t[n]);return new Array(10).fill(1).reduce((i,r,a)=>(i[`${n}-${a+1}`]=o[a],i[`${n}${a+1}`]=o[a],i),{})}).reduce((n,o)=>(n=Object.assign(Object.assign({},n),o),n),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},t),e),ASt(t,{generateColorPalettes:PSt,generateNeutralColorPalettes:CSt})),SSt(t.fontSize)),TSt(t)),xSt(t)),vSt(t))}const pOe=Dce(RSt),jce={token:Bk,override:{override:Bk},hashed:!0},gOe=be.createContext(jce),zge="anticon",HSt=(t,e)=>e||(t?`ant-${t}`:"ant"),Mi=m.createContext({getPrefixCls:HSt,iconPrefixCls:zge});function gW(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function MSt(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var S7e="data-rc-order",T7e="data-rc-priority",ISt="rc-util-key",Yce=new Map;function mOe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):ISt}function Dge(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function zSt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function Ege(t){return Array.from((Yce.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function yOe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!gW())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=zSt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(S7e,a),l&&r&&s.setAttribute(T7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Dge(e),u=c.firstChild;if(o){if(l){var d=(e.styles||Ege(c)).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(S7e)))return!1;var p=Number(f.getAttribute(T7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function DSt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Dge(e);return(e.styles||Ege(n)).find(function(o){return o.getAttribute(mOe(e))===t})}function ESt(t,e){var n=Yce.get(t);if(!n||!MSt(document,n)){var o=yOe("",e),i=o.parentNode;Yce.set(t,i),t.removeChild(o)}}function kSt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Dge(n),i=Ege(o),r=$C($C({},n),{},{styles:i});ESt(o,r);var a=DSt(e,r);if(a){var l,s;if((l=r.csp)!==null&&l!==void 0&&l.nonce&&a.nonce!==((s=r.csp)===null||s===void 0?void 0:s.nonce)){var c;a.nonce=(c=r.csp)===null||c===void 0?void 0:c.nonce}return a.innerHTML!==t&&(a.innerHTML=t),a}var u=yOe(t,r);return u.setAttribute(mOe(r),e),u}const FSt=`-ant-${Date.now()}-${Math.random()}`;function LSt(t,e){const n={},o=(a,l)=>{let s=a.clone();return s=(l==null?void 0:l(s))||s,s.toRgbString()},i=(a,l)=>{const s=new Il(a),c=eR(s.toRgbString());n[`${l}-color`]=o(s),n[`${l}-color-disabled`]=c[1],n[`${l}-color-hover`]=c[4],n[`${l}-color-active`]=c[6],n[`${l}-color-outline`]=s.clone().setAlpha(.2).toRgbString(),n[`${l}-color-deprecated-bg`]=c[0],n[`${l}-color-deprecated-border`]=c[2]};if(e.primaryColor){i(e.primaryColor,"primary");const a=new Il(e.primaryColor),l=eR(a.toRgbString());l.forEach((c,u)=>{n[`primary-${u+1}`]=c}),n["primary-color-deprecated-l-35"]=o(a,c=>c.lighten(35)),n["primary-color-deprecated-l-20"]=o(a,c=>c.lighten(20)),n["primary-color-deprecated-t-20"]=o(a,c=>c.tint(20)),n["primary-color-deprecated-t-50"]=o(a,c=>c.tint(50)),n["primary-color-deprecated-f-12"]=o(a,c=>c.setAlpha(c.getAlpha()*.12));const s=new Il(l[0]);n["primary-color-active-deprecated-f-30"]=o(s,c=>c.setAlpha(c.getAlpha()*.3)),n["primary-color-active-deprecated-d-02"]=o(s,c=>c.darken(2))}return e.successColor&&i(e.successColor,"success"),e.warningColor&&i(e.warningColor,"warning"),e.errorColor&&i(e.errorColor,"error"),e.infoColor&&i(e.infoColor,"info"),` +'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});function mSt(t,e){let{generateColorPalettes:n,generateNeutralColorPalettes:o}=e;const{colorSuccess:i,colorWarning:r,colorError:a,colorInfo:l,colorPrimary:s,colorBgBase:c,colorTextBase:u}=t,d=n(s),f=n(i),p=n(r),g=n(a),A=n(l),w=o(c,u),b=t.colorLink||t.colorInfo,C=n(b);return Object.assign(Object.assign({},w),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:f[1],colorSuccessBgHover:f[2],colorSuccessBorder:f[3],colorSuccessBorderHover:f[4],colorSuccessHover:f[4],colorSuccess:f[6],colorSuccessActive:f[7],colorSuccessTextHover:f[8],colorSuccessText:f[9],colorSuccessTextActive:f[10],colorErrorBg:g[1],colorErrorBgHover:g[2],colorErrorBorder:g[3],colorErrorBorderHover:g[4],colorErrorHover:g[5],colorError:g[6],colorErrorActive:g[7],colorErrorTextHover:g[8],colorErrorText:g[9],colorErrorTextActive:g[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:A[1],colorInfoBgHover:A[2],colorInfoBorder:A[3],colorInfoBorderHover:A[4],colorInfoHover:A[4],colorInfo:A[6],colorInfoActive:A[7],colorInfoTextHover:A[8],colorInfoText:A[9],colorInfoTextActive:A[10],colorLinkHover:C[4],colorLink:C[6],colorLinkActive:C[7],colorBgMask:new Il("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const ySt=t=>{let e=t,n=t,o=t,i=t;return t<6&&t>=5?e=t+1:t<16&&t>=6?e=t+2:t>=16&&(e=16),t<7&&t>=5?n=4:t<8&&t>=7?n=5:t<14&&t>=8?n=6:t<16&&t>=14?n=7:t>=16&&(n=8),t<6&&t>=2?o=1:t>=6&&(o=2),t>4&&t<8?i=4:t>=8&&(i=6),{borderRadius:t,borderRadiusXS:o,borderRadiusSM:n,borderRadiusLG:e,borderRadiusOuter:i}};function ASt(t){const{motionUnit:e,motionBase:n,borderRadius:o,lineWidth:i}=t;return Object.assign({motionDurationFast:`${(n+e).toFixed(1)}s`,motionDurationMid:`${(n+e*2).toFixed(1)}s`,motionDurationSlow:`${(n+e*3).toFixed(1)}s`,lineWidthBold:i+1},ySt(o))}const wSt=t=>{const{controlHeight:e}=t;return{controlHeightSM:e*.75,controlHeightXS:e*.5,controlHeightLG:e*1.25}};function I_(t){return(t+8)/t}function vSt(t){const e=new Array(10).fill(null).map((n,o)=>{const i=o-1,r=t*Math.pow(2.71828,i/5),a=o>1?Math.floor(r):Math.ceil(r);return Math.floor(a/2)*2});return e[1]=t,e.map(n=>({size:n,lineHeight:I_(n)}))}const xSt=t=>{const e=vSt(t),n=e.map(u=>u.size),o=e.map(u=>u.lineHeight),i=n[1],r=n[0],a=n[2],l=o[1],s=o[0],c=o[2];return{fontSizeSM:r,fontSize:i,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:l,lineHeightLG:c,lineHeightSM:s,fontHeight:Math.round(l*i),fontHeightLG:Math.round(c*a),fontHeightSM:Math.round(s*r),lineHeightHeading1:o[6],lineHeightHeading2:o[5],lineHeightHeading3:o[4],lineHeightHeading4:o[3],lineHeightHeading5:o[2]}};function bSt(t){const{sizeUnit:e,sizeStep:n}=t;return{sizeXXL:e*(n+8),sizeXL:e*(n+4),sizeLG:e*(n+2),sizeMD:e*(n+1),sizeMS:e*n,size:e*n,sizeSM:e*(n-1),sizeXS:e*(n-2),sizeXXS:e*(n-3)}}const q3=(t,e)=>new Il(t).setAlpha(e).toRgbString(),wz=(t,e)=>new Il(t).darken(e).toHexString(),SSt=t=>{const e=eR(t);return{1:e[0],2:e[1],3:e[2],4:e[3],5:e[4],6:e[5],7:e[6],8:e[4],9:e[5],10:e[6]}},TSt=(t,e)=>{const n=t||"#fff",o=e||"#000";return{colorBgBase:n,colorTextBase:o,colorText:q3(o,.88),colorTextSecondary:q3(o,.65),colorTextTertiary:q3(o,.45),colorTextQuaternary:q3(o,.25),colorFill:q3(o,.15),colorFillSecondary:q3(o,.06),colorFillTertiary:q3(o,.04),colorFillQuaternary:q3(o,.02),colorBgLayout:wz(n,4),colorBgContainer:wz(n,0),colorBgElevated:wz(n,0),colorBgSpotlight:q3(o,.85),colorBgBlur:"transparent",colorBorder:wz(n,15),colorBorderSecondary:wz(n,6)}};function PSt(t){const e=Object.keys(dOe).map(n=>{const o=eR(t[n]);return new Array(10).fill(1).reduce((i,r,a)=>(i[`${n}-${a+1}`]=o[a],i[`${n}${a+1}`]=o[a],i),{})}).reduce((n,o)=>(n=Object.assign(Object.assign({},n),o),n),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},t),e),mSt(t,{generateColorPalettes:SSt,generateNeutralColorPalettes:TSt})),xSt(t.fontSize)),bSt(t)),wSt(t)),ASt(t))}const fOe=Dce(PSt),jce={token:Bk,override:{override:Bk},hashed:!0},hOe=be.createContext(jce),zge="anticon",CSt=(t,e)=>e||(t?`ant-${t}`:"ant"),Mi=m.createContext({getPrefixCls:CSt,iconPrefixCls:zge});function gW(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function RSt(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var n=e;n;){if(n===t)return!0;n=n.parentNode}return!1}var S7e="data-rc-order",T7e="data-rc-priority",HSt="rc-util-key",Yce=new Map;function pOe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith("data-")?e:"data-".concat(e):HSt}function Dge(t){if(t.attachTo)return t.attachTo;var e=document.querySelector("head");return e||document.body}function MSt(t){return t==="queue"?"prependQueue":t?"prepend":"append"}function Ege(t){return Array.from((Yce.get(t)||t).children).filter(function(e){return e.tagName==="STYLE"})}function gOe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!gW())return null;var n=e.csp,o=e.prepend,i=e.priority,r=i===void 0?0:i,a=MSt(o),l=a==="prependQueue",s=document.createElement("style");s.setAttribute(S7e,a),l&&r&&s.setAttribute(T7e,"".concat(r)),n!=null&&n.nonce&&(s.nonce=n==null?void 0:n.nonce),s.innerHTML=t;var c=Dge(e),u=c.firstChild;if(o){if(l){var d=(e.styles||Ege(c)).filter(function(f){if(!["prepend","prependQueue"].includes(f.getAttribute(S7e)))return!1;var p=Number(f.getAttribute(T7e)||0);return r>=p});if(d.length)return c.insertBefore(s,d[d.length-1].nextSibling),s}c.insertBefore(s,u)}else c.appendChild(s);return s}function ISt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Dge(e);return(e.styles||Ege(n)).find(function(o){return o.getAttribute(pOe(e))===t})}function zSt(t,e){var n=Yce.get(t);if(!n||!RSt(document,n)){var o=gOe("",e),i=o.parentNode;Yce.set(t,i),t.removeChild(o)}}function DSt(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=Dge(n),i=Ege(o),r=$C($C({},n),{},{styles:i});zSt(o,r);var a=ISt(e,r);if(a){var l,s;if((l=r.csp)!==null&&l!==void 0&&l.nonce&&a.nonce!==((s=r.csp)===null||s===void 0?void 0:s.nonce)){var c;a.nonce=(c=r.csp)===null||c===void 0?void 0:c.nonce}return a.innerHTML!==t&&(a.innerHTML=t),a}var u=gOe(t,r);return u.setAttribute(pOe(r),e),u}const ESt=`-ant-${Date.now()}-${Math.random()}`;function kSt(t,e){const n={},o=(a,l)=>{let s=a.clone();return s=(l==null?void 0:l(s))||s,s.toRgbString()},i=(a,l)=>{const s=new Il(a),c=eR(s.toRgbString());n[`${l}-color`]=o(s),n[`${l}-color-disabled`]=c[1],n[`${l}-color-hover`]=c[4],n[`${l}-color-active`]=c[6],n[`${l}-color-outline`]=s.clone().setAlpha(.2).toRgbString(),n[`${l}-color-deprecated-bg`]=c[0],n[`${l}-color-deprecated-border`]=c[2]};if(e.primaryColor){i(e.primaryColor,"primary");const a=new Il(e.primaryColor),l=eR(a.toRgbString());l.forEach((c,u)=>{n[`primary-${u+1}`]=c}),n["primary-color-deprecated-l-35"]=o(a,c=>c.lighten(35)),n["primary-color-deprecated-l-20"]=o(a,c=>c.lighten(20)),n["primary-color-deprecated-t-20"]=o(a,c=>c.tint(20)),n["primary-color-deprecated-t-50"]=o(a,c=>c.tint(50)),n["primary-color-deprecated-f-12"]=o(a,c=>c.setAlpha(c.getAlpha()*.12));const s=new Il(l[0]);n["primary-color-active-deprecated-f-30"]=o(s,c=>c.setAlpha(c.getAlpha()*.3)),n["primary-color-active-deprecated-d-02"]=o(s,c=>c.darken(2))}return e.successColor&&i(e.successColor,"success"),e.warningColor&&i(e.warningColor,"warning"),e.errorColor&&i(e.errorColor,"error"),e.infoColor&&i(e.infoColor,"info"),` :root { ${Object.keys(n).map(a=>`--${t}-${a}: ${n[a]};`).join(` `)} } - `.trim()}function WSt(t,e){const n=LSt(t,e);gW()&&kSt(n,`${FSt}-dynamic-theme`)}const $p=m.createContext(!1),AOe=t=>{let{children:e,disabled:n}=t;const o=m.useContext($p);return m.createElement($p.Provider,{value:n??o},e)},tR=m.createContext(void 0),NSt=t=>{let{children:e,size:n}=t;const o=m.useContext(tR);return m.createElement(tR.Provider,{value:n||o},e)};function USt(){const t=m.useContext($p),e=m.useContext(tR);return{componentDisabled:t,componentSize:e}}function Oce(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u=0&&t<=255}function rY(t,e){const{r:n,g:o,b:i,a:r}=new Il(t).toRgb();if(r<1)return t;const{r:a,g:l,b:s}=new Il(e).toRgb();for(let c=.01;c<=1;c+=.01){const u=Math.round((n-a*(1-c))/c),d=Math.round((o-l*(1-c))/c),f=Math.round((i-s*(1-c))/c);if(pie(u)&&pie(d)&&pie(f))return new Il({r:u,g:d,b:f,a:Math.round(c*100)/100}).toRgbString()}return new Il({r:n,g:o,b:i,a:1}).toRgbString()}var jSt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{delete o[f]});const i=Object.assign(Object.assign({},n),o),r=480,a=576,l=768,s=992,c=1200,u=1600;if(i.motion===!1){const f="0s";i.motionDurationFast=f,i.motionDurationMid=f,i.motionDurationSlow=f}return Object.assign(Object.assign(Object.assign({},i),{colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:rY(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:rY(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:rY(i.colorWarningBg,i.colorBgContainer),fontSizeIcon:i.fontSizeSM,lineWidthFocus:i.lineWidth*4,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:rY(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` + `.trim()}function FSt(t,e){const n=kSt(t,e);gW()&&DSt(n,`${ESt}-dynamic-theme`)}const $p=m.createContext(!1),mOe=t=>{let{children:e,disabled:n}=t;const o=m.useContext($p);return m.createElement($p.Provider,{value:n??o},e)},tR=m.createContext(void 0),LSt=t=>{let{children:e,size:n}=t;const o=m.useContext(tR);return m.createElement(tR.Provider,{value:n||o},e)};function WSt(){const t=m.useContext($p),e=m.useContext(tR);return{componentDisabled:t,componentSize:e}}function Oce(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function i(r,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=o.has(r);if(s)return!1;if(r===a)return!0;if(n&&l>1)return!1;o.add(r);var c=l+1;if(Array.isArray(r)){if(!Array.isArray(a)||r.length!==a.length)return!1;for(var u=0;u=0&&t<=255}function rY(t,e){const{r:n,g:o,b:i,a:r}=new Il(t).toRgb();if(r<1)return t;const{r:a,g:l,b:s}=new Il(e).toRgb();for(let c=.01;c<=1;c+=.01){const u=Math.round((n-a*(1-c))/c),d=Math.round((o-l*(1-c))/c),f=Math.round((i-s*(1-c))/c);if(pie(u)&&pie(d)&&pie(f))return new Il({r:u,g:d,b:f,a:Math.round(c*100)/100}).toRgbString()}return new Il({r:n,g:o,b:i,a:1}).toRgbString()}var USt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{delete o[f]});const i=Object.assign(Object.assign({},n),o),r=480,a=576,l=768,s=992,c=1200,u=1600;if(i.motion===!1){const f="0s";i.motionDurationFast=f,i.motionDurationMid=f,i.motionDurationSlow=f}return Object.assign(Object.assign(Object.assign({},i),{colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:rY(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:rY(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:rY(i.colorWarningBg,i.colorBgContainer),fontSizeIcon:i.fontSizeSM,lineWidthFocus:i.lineWidth*4,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:rY(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05) @@ -4364,7 +4364,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho 0 -6px 16px 0 rgba(0, 0, 0, 0.08), 0 -3px 6px -4px rgba(0, 0, 0, 0.12), 0 -9px 28px 8px rgba(0, 0, 0, 0.05) - `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),o)}var P7e=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const o=n.getDerivativeToken(t),{override:i}=e,r=P7e(e,["override"]);let a=Object.assign(Object.assign({},o),{override:i});return a=wOe(a),r&&Object.entries(r).forEach(l=>{let[s,c]=l;const{theme:u}=c,d=P7e(c,["theme"]);let f=d;u&&(f=bOe(Object.assign(Object.assign({},a),d),{override:d},u)),a[s]=f}),a};function Yu(){const{token:t,hashed:e,theme:n,override:o,cssVar:i}=be.useContext(gOe),r=`${BSt}-${e||""}`,a=n||pOe,[l,s,c]=dbt(a,[Bk,t],{salt:r,override:o,getComputedToken:bOe,formatToken:wOe,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:vOe,ignore:xOe,preserve:YSt}});return[a,c,e?s:"",l,i]}function kge(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nR(t){"@babel/helpers - typeof";return nR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nR(t)}function OSt(t,e){if(nR(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(nR(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function _St(t){var e=OSt(t,"string");return nR(e)=="symbol"?e:e+""}function VSt(t,e){for(var n=0;n{const e=t==="css"?KSt:qSt;return n=>new e(n)};function O6(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a{const o=n.getDerivativeToken(t),{override:i}=e,r=P7e(e,["override"]);let a=Object.assign(Object.assign({},o),{override:i});return a=yOe(a),r&&Object.entries(r).forEach(l=>{let[s,c]=l;const{theme:u}=c,d=P7e(c,["theme"]);let f=d;u&&(f=vOe(Object.assign(Object.assign({},a),d),{override:d},u)),a[s]=f}),a};function Yu(){const{token:t,hashed:e,theme:n,override:o,cssVar:i}=be.useContext(hOe),r=`${NSt}-${e||""}`,a=n||fOe,[l,s,c]=cbt(a,[Bk,t],{salt:r,override:o,getComputedToken:vOe,formatToken:yOe,cssVar:i&&{prefix:i.prefix,key:i.key,unitless:AOe,ignore:wOe,preserve:BSt}});return[a,c,e?s:"",l,i]}function kge(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nR(t){"@babel/helpers - typeof";return nR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nR(t)}function jSt(t,e){if(nR(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(nR(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function YSt(t){var e=jSt(t,"string");return nR(e)=="symbol"?e:e+""}function OSt(t,e){for(var n=0;n{const e=t==="css"?XSt:JSt;return n=>new e(n)};function O6(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a({color:t.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:focus, &:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive}}),Yx={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},$a=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:t.colorText,fontSize:t.fontSize,lineHeight:t.lineHeight,listStyle:"none",fontFamily:e?"inherit":t.fontFamily}},CH=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),Yk=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),iTt=t=>({a:{color:t.colorLink,textDecoration:t.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive},"&:active,\n &:hover":{textDecoration:t.linkHoverDecoration,outline:0},"&:focus":{textDecoration:t.linkFocusDecoration,outline:0},"&[disabled]":{color:t.colorTextDisabled,cursor:"not-allowed"}}}),rTt=(t,e,n,o)=>{const i=`[class^="${e}"], [class*=" ${e}"]`,r=n?`.${n}`:i,a={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let l={};return o!==!1&&(l={fontFamily:t.fontFamily,fontSize:t.fontSize}),{[r]:Object.assign(Object.assign(Object.assign({},l),a),{[i]:a})}},n7=t=>({outline:`${Ut(t.lineWidthFocus)} solid ${t.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),V6=t=>({"&:focus-visible":Object.assign({},n7(t))});function aTt(t){return t==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`},min:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`}}}const zOe=typeof CSSINJS_STATISTIC<"u";let Xce=!0;function Zr(){for(var t=arguments.length,e=new Array(t),n=0;n{Object.keys(i).forEach(a=>{Object.defineProperty(o,a,{configurable:!0,enumerable:!0,get:()=>i[a]})})}),Xce=!0,o}const H7e={};function lTt(){}const sTt=t=>{let e,n=t,o=lTt;return zOe&&typeof Proxy<"u"&&(e=new Set,n=new Proxy(t,{get(i,r){return Xce&&e.add(r),i[r]}}),o=(i,r)=>{var a;H7e[i]={global:Array.from(e),component:Object.assign(Object.assign({},(a=H7e[i])===null||a===void 0?void 0:a.component),r)}}),{token:n,keys:e,flush:o}},DOe=(t,e)=>{const[n,o]=Yu();return Wce({theme:n,token:o,hashId:"",path:["ant-design-icons",t],nonce:()=>e==null?void 0:e.nonce,layer:{name:"antd"}},()=>[{[`.${t}`]:Object.assign(Object.assign({},CH()),{[`.${t} .${t}-icon`]:{display:"block"}})}])},EOe=(t,e,n)=>{var o;return typeof n=="function"?n(Zr(e,(o=e[t])!==null&&o!==void 0?o:{})):n??{}},kOe=(t,e,n,o)=>{const i=Object.assign({},e[t]);if(o!=null&&o.deprecatedTokens){const{deprecatedTokens:a}=o;a.forEach(l=>{let[s,c]=l;var u;(i!=null&&i[s]||i!=null&&i[c])&&((u=i[c])!==null&&u!==void 0||(i[c]=i==null?void 0:i[s]))})}const r=Object.assign(Object.assign({},n),i);return Object.keys(r).forEach(a=>{r[a]===e[a]&&delete r[a]}),r},cTt=(t,e)=>`${[e,t.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-")}`;function Uge(t,e,n){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=Array.isArray(t)?t:[t,t],[r]=i,a=i.join("-");return function(l){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;const[c,u,d,f,p]=Yu(),{getPrefixCls:g,iconPrefixCls:A,csp:w}=m.useContext(Mi),b=g(),C=p?"css":"js",P=$St(C),{max:v,min:T}=aTt(C),y={theme:c,token:f,hashId:d,nonce:()=>w==null?void 0:w.nonce,clientOnly:o.clientOnly,layer:{name:"antd"},order:o.order||-999};return Wce(Object.assign(Object.assign({},y),{clientOnly:!1,path:["Shared",b]}),()=>[{"&":iTt(f)}]),DOe(A,w),[Wce(Object.assign(Object.assign({},y),{path:[a,l,A]}),()=>{if(o.injectStyle===!1)return[];const{token:x,flush:R}=sTt(f),H=EOe(r,u,n),D=`.${l}`,k=kOe(r,u,H,{deprecatedTokens:o.deprecatedTokens});p&&Object.keys(H).forEach(L=>{H[L]=`var(${YYe(L,cTt(r,p.prefix))})`});const W=Zr(x,{componentCls:D,prefixCls:l,iconCls:`.${A}`,antCls:`.${b}`,calc:P,max:v,min:T},p?H:k),N=e(W,{hashId:d,prefixCls:l,rootPrefixCls:b,iconPrefixCls:A});return R(r,k),[o.resetStyle===!1?null:rTt(W,l,s,o.resetFont),N]}),d]}}const mW=(t,e,n,o)=>{const i=Uge(t,e,n,Object.assign({resetStyle:!1,order:-998},o));return a=>{let{prefixCls:l,rootCls:s=l}=a;return i(l,s),null}},uTt=(t,e,n)=>{function o(c){return`${t}${c.slice(0,1).toUpperCase()}${c.slice(1)}`}const{unitless:i={},injectStyle:r=!0}=n??{},a={[o("zIndexPopup")]:!0};Object.keys(i).forEach(c=>{a[o(c)]=i[c]});const l=c=>{let{rootCls:u,cssVar:d}=c;const[,f]=Yu();return Bbt({path:[t],prefix:d.prefix,key:d==null?void 0:d.key,unitless:Object.assign(Object.assign({},vOe),a),ignore:xOe,token:f,scope:u},()=>{const p=EOe(t,f,e),g=kOe(t,f,p,{deprecatedTokens:n==null?void 0:n.deprecatedTokens});return Object.keys(p).forEach(A=>{g[o(A)]=g[A],delete g[A]}),g}),null};return c=>{const[,,,,u]=Yu();return[d=>r&&u?be.createElement(be.Fragment,null,be.createElement(l,{rootCls:c,cssVar:u,component:t}),d):d,u==null?void 0:u.key]}},Fl=(t,e,n,o)=>{const i=Uge(t,e,n,o),r=uTt(Array.isArray(t)?t[0]:t,n,o);return function(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;const[,s]=i(a,l),[c,u]=r(l);return[c,s,u]}};function FOe(t,e){return jk.reduce((n,o)=>{const i=t[`${o}1`],r=t[`${o}3`],a=t[`${o}6`],l=t[`${o}7`];return Object.assign(Object.assign({},n),e(o,{lightColor:i,lightBorderColor:r,darkColor:a,textColor:l}))},{})}const dTt=Object.assign({},iK),{useId:M7e}=dTt,fTt=()=>"",hTt=typeof M7e>"u"?fTt:M7e;function pTt(t,e,n){var o;Hb();const i=t||{},r=i.inherit===!1||!e?Object.assign(Object.assign({},jce),{hashed:(o=e==null?void 0:e.hashed)!==null&&o!==void 0?o:jce.hashed,cssVar:e==null?void 0:e.cssVar}):e,a=hTt();return Hge(()=>{var l,s;if(!t)return e;const c=Object.assign({},r.components);Object.keys(t.components||{}).forEach(f=>{c[f]=Object.assign(Object.assign({},c[f]),t.components[f])});const u=`css-var-${a.replace(/:/g,"")}`,d=((l=i.cssVar)!==null&&l!==void 0?l:r.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof r.cssVar=="object"?r.cssVar:{}),typeof i.cssVar=="object"?i.cssVar:{}),{key:typeof i.cssVar=="object"&&((s=i.cssVar)===null||s===void 0?void 0:s.key)||u});return Object.assign(Object.assign(Object.assign({},r),i),{token:Object.assign(Object.assign({},r.token),i.token),components:c,cssVar:d})},[i,r],(l,s)=>l.some((c,u)=>{const d=s[u];return!Oce(c,d,!0)}))}var LOe={exports:{}};/*! + */var Lge=Symbol.for("react.element"),Wge=Symbol.for("react.portal"),$q=Symbol.for("react.fragment"),Qq=Symbol.for("react.strict_mode"),Zq=Symbol.for("react.profiler"),e$=Symbol.for("react.provider"),t$=Symbol.for("react.context"),$St=Symbol.for("react.server_context"),n$=Symbol.for("react.forward_ref"),o$=Symbol.for("react.suspense"),i$=Symbol.for("react.suspense_list"),r$=Symbol.for("react.memo"),a$=Symbol.for("react.lazy"),QSt=Symbol.for("react.offscreen"),ROe;ROe=Symbol.for("react.module.reference");function iy(t){if(typeof t=="object"&&t!==null){var e=t.$$typeof;switch(e){case Lge:switch(t=t.type,t){case $q:case Zq:case Qq:case o$:case i$:return t;default:switch(t=t&&t.$$typeof,t){case $St:case t$:case n$:case a$:case r$:case e$:return t;default:return e}}case Wge:return e}}}ds.ContextConsumer=t$;ds.ContextProvider=e$;ds.Element=Lge;ds.ForwardRef=n$;ds.Fragment=$q;ds.Lazy=a$;ds.Memo=r$;ds.Portal=Wge;ds.Profiler=Zq;ds.StrictMode=Qq;ds.Suspense=o$;ds.SuspenseList=i$;ds.isAsyncMode=function(){return!1};ds.isConcurrentMode=function(){return!1};ds.isContextConsumer=function(t){return iy(t)===t$};ds.isContextProvider=function(t){return iy(t)===e$};ds.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===Lge};ds.isForwardRef=function(t){return iy(t)===n$};ds.isFragment=function(t){return iy(t)===$q};ds.isLazy=function(t){return iy(t)===a$};ds.isMemo=function(t){return iy(t)===r$};ds.isPortal=function(t){return iy(t)===Wge};ds.isProfiler=function(t){return iy(t)===Zq};ds.isStrictMode=function(t){return iy(t)===Qq};ds.isSuspense=function(t){return iy(t)===o$};ds.isSuspenseList=function(t){return iy(t)===i$};ds.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===$q||t===Zq||t===Qq||t===o$||t===i$||t===QSt||typeof t=="object"&&t!==null&&(t.$$typeof===a$||t.$$typeof===r$||t.$$typeof===e$||t.$$typeof===t$||t.$$typeof===n$||t.$$typeof===ROe||t.getModuleId!==void 0)};ds.typeOf=iy;COe.exports=ds;var gC=COe.exports,ZSt=function(e,n){typeof e=="function"?e(n):Cg(e)==="object"&&e&&"current"in e&&(e.current=n)},q2=function(){for(var e=arguments.length,n=new Array(e),o=0;o({color:t.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:focus, &:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive}}),Yx={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},$a=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:t.colorText,fontSize:t.fontSize,lineHeight:t.lineHeight,listStyle:"none",fontFamily:e?"inherit":t.fontFamily}},CH=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),Yk=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),nTt=t=>({a:{color:t.colorLink,textDecoration:t.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:t.colorLinkHover},"&:active":{color:t.colorLinkActive},"&:active,\n &:hover":{textDecoration:t.linkHoverDecoration,outline:0},"&:focus":{textDecoration:t.linkFocusDecoration,outline:0},"&[disabled]":{color:t.colorTextDisabled,cursor:"not-allowed"}}}),oTt=(t,e,n,o)=>{const i=`[class^="${e}"], [class*=" ${e}"]`,r=n?`.${n}`:i,a={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let l={};return o!==!1&&(l={fontFamily:t.fontFamily,fontSize:t.fontSize}),{[r]:Object.assign(Object.assign(Object.assign({},l),a),{[i]:a})}},n7=t=>({outline:`${Ut(t.lineWidthFocus)} solid ${t.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),V6=t=>({"&:focus-visible":Object.assign({},n7(t))});function iTt(t){return t==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`},min:function(){for(var e=arguments.length,n=new Array(e),o=0;oUt(i)).join(",")})`}}}const MOe=typeof CSSINJS_STATISTIC<"u";let Xce=!0;function Zr(){for(var t=arguments.length,e=new Array(t),n=0;n{Object.keys(i).forEach(a=>{Object.defineProperty(o,a,{configurable:!0,enumerable:!0,get:()=>i[a]})})}),Xce=!0,o}const H7e={};function rTt(){}const aTt=t=>{let e,n=t,o=rTt;return MOe&&typeof Proxy<"u"&&(e=new Set,n=new Proxy(t,{get(i,r){return Xce&&e.add(r),i[r]}}),o=(i,r)=>{var a;H7e[i]={global:Array.from(e),component:Object.assign(Object.assign({},(a=H7e[i])===null||a===void 0?void 0:a.component),r)}}),{token:n,keys:e,flush:o}},IOe=(t,e)=>{const[n,o]=Yu();return Wce({theme:n,token:o,hashId:"",path:["ant-design-icons",t],nonce:()=>e==null?void 0:e.nonce,layer:{name:"antd"}},()=>[{[`.${t}`]:Object.assign(Object.assign({},CH()),{[`.${t} .${t}-icon`]:{display:"block"}})}])},zOe=(t,e,n)=>{var o;return typeof n=="function"?n(Zr(e,(o=e[t])!==null&&o!==void 0?o:{})):n??{}},DOe=(t,e,n,o)=>{const i=Object.assign({},e[t]);if(o!=null&&o.deprecatedTokens){const{deprecatedTokens:a}=o;a.forEach(l=>{let[s,c]=l;var u;(i!=null&&i[s]||i!=null&&i[c])&&((u=i[c])!==null&&u!==void 0||(i[c]=i==null?void 0:i[s]))})}const r=Object.assign(Object.assign({},n),i);return Object.keys(r).forEach(a=>{r[a]===e[a]&&delete r[a]}),r},lTt=(t,e)=>`${[e,t.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-")}`;function Uge(t,e,n){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=Array.isArray(t)?t:[t,t],[r]=i,a=i.join("-");return function(l){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;const[c,u,d,f,p]=Yu(),{getPrefixCls:g,iconPrefixCls:A,csp:w}=m.useContext(Mi),b=g(),C=p?"css":"js",P=KSt(C),{max:v,min:T}=iTt(C),y={theme:c,token:f,hashId:d,nonce:()=>w==null?void 0:w.nonce,clientOnly:o.clientOnly,layer:{name:"antd"},order:o.order||-999};return Wce(Object.assign(Object.assign({},y),{clientOnly:!1,path:["Shared",b]}),()=>[{"&":nTt(f)}]),IOe(A,w),[Wce(Object.assign(Object.assign({},y),{path:[a,l,A]}),()=>{if(o.injectStyle===!1)return[];const{token:x,flush:R}=aTt(f),H=zOe(r,u,n),D=`.${l}`,k=DOe(r,u,H,{deprecatedTokens:o.deprecatedTokens});p&&Object.keys(H).forEach(L=>{H[L]=`var(${BYe(L,lTt(r,p.prefix))})`});const W=Zr(x,{componentCls:D,prefixCls:l,iconCls:`.${A}`,antCls:`.${b}`,calc:P,max:v,min:T},p?H:k),N=e(W,{hashId:d,prefixCls:l,rootPrefixCls:b,iconPrefixCls:A});return R(r,k),[o.resetStyle===!1?null:oTt(W,l,s,o.resetFont),N]}),d]}}const mW=(t,e,n,o)=>{const i=Uge(t,e,n,Object.assign({resetStyle:!1,order:-998},o));return a=>{let{prefixCls:l,rootCls:s=l}=a;return i(l,s),null}},sTt=(t,e,n)=>{function o(c){return`${t}${c.slice(0,1).toUpperCase()}${c.slice(1)}`}const{unitless:i={},injectStyle:r=!0}=n??{},a={[o("zIndexPopup")]:!0};Object.keys(i).forEach(c=>{a[o(c)]=i[c]});const l=c=>{let{rootCls:u,cssVar:d}=c;const[,f]=Yu();return Nbt({path:[t],prefix:d.prefix,key:d==null?void 0:d.key,unitless:Object.assign(Object.assign({},AOe),a),ignore:wOe,token:f,scope:u},()=>{const p=zOe(t,f,e),g=DOe(t,f,p,{deprecatedTokens:n==null?void 0:n.deprecatedTokens});return Object.keys(p).forEach(A=>{g[o(A)]=g[A],delete g[A]}),g}),null};return c=>{const[,,,,u]=Yu();return[d=>r&&u?be.createElement(be.Fragment,null,be.createElement(l,{rootCls:c,cssVar:u,component:t}),d):d,u==null?void 0:u.key]}},Fl=(t,e,n,o)=>{const i=Uge(t,e,n,o),r=sTt(Array.isArray(t)?t[0]:t,n,o);return function(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a;const[,s]=i(a,l),[c,u]=r(l);return[c,s,u]}};function EOe(t,e){return jk.reduce((n,o)=>{const i=t[`${o}1`],r=t[`${o}3`],a=t[`${o}6`],l=t[`${o}7`];return Object.assign(Object.assign({},n),e(o,{lightColor:i,lightBorderColor:r,darkColor:a,textColor:l}))},{})}const cTt=Object.assign({},iK),{useId:M7e}=cTt,uTt=()=>"",dTt=typeof M7e>"u"?uTt:M7e;function fTt(t,e,n){var o;Hb();const i=t||{},r=i.inherit===!1||!e?Object.assign(Object.assign({},jce),{hashed:(o=e==null?void 0:e.hashed)!==null&&o!==void 0?o:jce.hashed,cssVar:e==null?void 0:e.cssVar}):e,a=dTt();return Hge(()=>{var l,s;if(!t)return e;const c=Object.assign({},r.components);Object.keys(t.components||{}).forEach(f=>{c[f]=Object.assign(Object.assign({},c[f]),t.components[f])});const u=`css-var-${a.replace(/:/g,"")}`,d=((l=i.cssVar)!==null&&l!==void 0?l:r.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof r.cssVar=="object"?r.cssVar:{}),typeof i.cssVar=="object"?i.cssVar:{}),{key:typeof i.cssVar=="object"&&((s=i.cssVar)===null||s===void 0?void 0:s.key)||u});return Object.assign(Object.assign(Object.assign({},r),i),{token:Object.assign(Object.assign({},r.token),i.token),components:c,cssVar:d})},[i,r],(l,s)=>l.some((c,u)=>{const d=s[u];return!Oce(c,d,!0)}))}var kOe={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var o=[],i=0;i1&&arguments[1]!==void 0?arguments[1]:1;F7e+=1;var o=F7e;function i(r){if(r===0)XOe(o),e();else{var a=VOe(function(){i(r-1)});jge.set(o,a)}}return i(n),o};za.cancel=function(t){var e=jge.get(t);return XOe(t),GOe(e)};const STt=function(){var t=m.useRef(null);function e(){za.cancel(t.current)}function n(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;e();var r=za(function(){i<=1?o({isCanceled:function(){return r!==t.current}}):n(o,i-1)});t.current=r}return m.useEffect(function(){return function(){e()}},[]),[n,e]};var TTt=[i2,_P,VP,Bge],PTt=[i2,NOe],JOe=!1,CTt=!0;function KOe(t){return t===VP||t===Bge}const RTt=function(t,e,n){var o=mC(I7e),i=on(o,2),r=i[0],a=i[1],l=STt(),s=on(l,2),c=s[0],u=s[1];function d(){a(i2,!0)}var f=e?PTt:TTt;return _Oe(function(){if(r!==I7e&&r!==Bge){var p=f.indexOf(r),g=f[p+1],A=n(r);A===JOe?a(g,!0):g&&c(function(w){function b(){w.isCanceled()||a(g,!0)}A===!0?b():Promise.resolve(A).then(b)})}},[t,r]),m.useEffect(function(){return function(){u()}},[]),[d,r]};function HTt(t,e,n,o){var i=o.motionEnter,r=i===void 0?!0:i,a=o.motionAppear,l=a===void 0?!0:a,s=o.motionLeave,c=s===void 0?!0:s,u=o.motionDeadline,d=o.motionLeaveImmediately,f=o.onAppearPrepare,p=o.onEnterPrepare,g=o.onLeavePrepare,A=o.onAppearStart,w=o.onEnterStart,b=o.onLeaveStart,C=o.onAppearActive,P=o.onEnterActive,v=o.onLeaveActive,T=o.onAppearEnd,y=o.onEnterEnd,S=o.onLeaveEnd,x=o.onVisibleChanged,R=mC(),H=on(R,2),D=H[0],k=H[1],W=mC(lv),N=on(W,2),L=N[0],E=N[1],U=mC(null),F=on(U,2),B=F[0],_=F[1],Y=m.useRef(!1),O=m.useRef(null);function J(){return n()}var Z=m.useRef(!1);function ie(){E(lv,!0),_(null,!0)}function ee(Ce){var ve=J();if(!(Ce&&!Ce.deadline&&Ce.target!==ve)){var Ie=Z.current,ze;L===aY&&Ie?ze=T==null?void 0:T(ve,Ce):L===lY&&Ie?ze=y==null?void 0:y(ve,Ce):L===sY&&Ie&&(ze=S==null?void 0:S(ve,Ce)),L!==lv&&Ie&&ze!==!1&&ie()}}var q=bTt(ee),ae=on(q,1),ne=ae[0],se=function(ve){var Ie,ze,ye;switch(ve){case aY:return Ie={},_t(Ie,i2,f),_t(Ie,_P,A),_t(Ie,VP,C),Ie;case lY:return ze={},_t(ze,i2,p),_t(ze,_P,w),_t(ze,VP,P),ze;case sY:return ye={},_t(ye,i2,g),_t(ye,_P,b),_t(ye,VP,v),ye;default:return{}}},le=m.useMemo(function(){return se(L)},[L]),te=RTt(L,!t,function(Ce){if(Ce===i2){var ve=le[i2];return ve?ve(J()):JOe}if(fe in le){var Ie;_(((Ie=le[fe])===null||Ie===void 0?void 0:Ie.call(le,J(),null))||null)}return fe===VP&&(ne(J()),u>0&&(clearTimeout(O.current),O.current=setTimeout(function(){ee({deadline:!0})},u))),fe===NOe&&ie(),CTt}),he=on(te,2),pe=he[0],fe=he[1],$=KOe(fe);Z.current=$,_Oe(function(){k(e);var Ce=Y.current;Y.current=!0;var ve;!Ce&&e&&l&&(ve=aY),Ce&&e&&r&&(ve=lY),(Ce&&!e&&c||!Ce&&d&&!e&&c)&&(ve=sY);var Ie=se(ve);ve&&(t||Ie[i2])?(E(ve),pe()):E(lv)},[e]),m.useEffect(function(){(L===aY&&!l||L===lY&&!r||L===sY&&!c)&&E(lv)},[l,r,c]),m.useEffect(function(){return function(){Y.current=!1,clearTimeout(O.current)}},[]);var de=m.useRef(!1);m.useEffect(function(){D&&(de.current=!0),D!==void 0&&L===lv&&((de.current||D)&&(x==null||x(D)),de.current=!0)},[D,L]);var Se=B;return le[i2]&&fe===_P&&(Se=$t({transition:"none"},Se)),[L,fe,Se,D??e]}function MTt(t){var e=t;gr(t)==="object"&&(e=t.transitionSupport);function n(i,r){return!!(i.motionName&&e&&r!==!1)}var o=m.forwardRef(function(i,r){var a=i.visible,l=a===void 0?!0:a,s=i.removeOnLeave,c=s===void 0?!0:s,u=i.forceRender,d=i.children,f=i.motionName,p=i.leavedClassName,g=i.eventProps,A=m.useContext(WOe),w=A.motion,b=n(i,w),C=m.useRef(),P=m.useRef();function v(){try{return C.current instanceof HTMLElement?C.current:rE(P.current)}catch{return null}}var T=HTt(b,l,v,i),y=on(T,4),S=y[0],x=y[1],R=y[2],H=y[3],D=m.useRef(H);H&&(D.current=!0);var k=m.useCallback(function(_){C.current=_,Lk(r,_)},[r]),W,N=$t($t({},g),{},{visible:l});if(!d)W=null;else if(S===lv)H?W=d($t({},N),k):!c&&D.current&&p?W=d($t($t({},N),{},{className:p}),k):u||!c&&!p?W=d($t($t({},N),{},{style:{display:"none"}}),k):W=null;else{var L,E;x===i2?E="prepare":KOe(x)?E="active":x===_P&&(E="start");var U=k7e(f,"".concat(S,"-").concat(E));W=d($t($t({},N),{},{className:_n(k7e(f,S),(L={},_t(L,U,U&&E),_t(L,f,typeof f=="string"),L)),style:R}),k)}if(m.isValidElement(W)&&Zw(W)){var F=W,B=F.ref;B||(W=m.cloneElement(W,{ref:k}))}return m.createElement(ATt,{ref:P},W)});return o.displayName="CSSMotion",o}const Hg=MTt(OOe);var Jce="add",Kce="keep",qce="remove",yie="removed";function ITt(t){var e;return t&&gr(t)==="object"&&"key"in t?e=t:e={key:t},$t($t({},e),{},{key:String(e.key)})}function $ce(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return t.map(ITt)}function zTt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],o=0,i=e.length,r=$ce(t),a=$ce(e);r.forEach(function(c){for(var u=!1,d=o;d1});return s.forEach(function(c){n=n.filter(function(u){var d=u.key,f=u.status;return d!==c||f!==qce}),n.forEach(function(u){u.key===c&&(u.status=Kce)})}),n}var DTt=["component","children","onVisibleChanged","onAllRemoved"],ETt=["status"],kTt=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function FTt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Hg,n=function(o){hW(r,o);var i=pW(r);function r(){var a;pp(this,r);for(var l=arguments.length,s=new Array(l),c=0;cnull;var UTt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie.endsWith("Color"))}const _Tt=t=>{const{prefixCls:e,iconPrefixCls:n,theme:o,holderRender:i}=t;e!==void 0&&(gG=e),n!==void 0&&(qOe=n),"holderRender"in t&&(QOe=i),o&&(OTt(o)?WSt(z_(),o):$Oe=o)},ZOe=()=>({getPrefixCls:(t,e)=>e||(t?`${z_()}-${t}`:z_()),getIconPrefixCls:YTt,getRootPrefixCls:()=>gG||z_(),getTheme:()=>$Oe,holderRender:QOe}),VTt=t=>{const{children:e,csp:n,autoInsertSpaceInButton:o,alert:i,anchor:r,form:a,locale:l,componentSize:s,direction:c,space:u,virtual:d,dropdownMatchSelectWidth:f,popupMatchSelectWidth:p,popupOverflow:g,legacyLocale:A,parentContext:w,iconPrefixCls:b,theme:C,componentDisabled:P,segmented:v,statistic:T,spin:y,calendar:S,carousel:x,cascader:R,collapse:H,typography:D,checkbox:k,descriptions:W,divider:N,drawer:L,skeleton:E,steps:U,image:F,layout:B,list:_,mentions:Y,modal:O,progress:J,result:Z,slider:ie,breadcrumb:ee,menu:q,pagination:ae,input:ne,textArea:se,empty:le,badge:te,radio:he,rate:pe,switch:fe,transfer:$,avatar:de,message:Se,tag:Ce,table:ve,card:Ie,tabs:ze,timeline:ye,timePicker:oe,upload:ge,notification:Ae,tree:me,colorPicker:Pe,datePicker:Me,rangePicker:Te,flex:De,wave:Ue,dropdown:Oe,warning:Le,tour:$e,floatButtonGroup:We}=t,Ee=m.useCallback((ot,et)=>{const{prefixCls:_e}=t;if(et)return et;const nt=_e||w.getPrefixCls("");return ot?`${nt}-${ot}`:nt},[w.getPrefixCls,t.prefixCls]),Fe=b||w.iconPrefixCls||zge,Ge=n||w.csp;DOe(Fe,Ge);const rt=pTt(C,w.theme,{prefixCls:Ee("")}),Ve={csp:Ge,autoInsertSpaceInButton:o,alert:i,anchor:r,locale:l||A,direction:c,space:u,virtual:d,popupMatchSelectWidth:p??f,popupOverflow:g,getPrefixCls:Ee,iconPrefixCls:Fe,theme:rt,segmented:v,statistic:T,spin:y,calendar:S,carousel:x,cascader:R,collapse:H,typography:D,checkbox:k,descriptions:W,divider:N,drawer:L,skeleton:E,steps:U,image:F,input:ne,textArea:se,layout:B,list:_,mentions:Y,modal:O,progress:J,result:Z,slider:ie,breadcrumb:ee,menu:q,pagination:ae,empty:le,badge:te,radio:he,rate:pe,switch:fe,transfer:$,avatar:de,message:Se,tag:Ce,table:ve,card:Ie,tabs:ze,timeline:ye,timePicker:oe,upload:ge,notification:Ae,tree:me,colorPicker:Pe,datePicker:Me,rangePicker:Te,flex:De,wave:Ue,dropdown:Oe,warning:Le,tour:$e,floatButtonGroup:We},xt=Object.assign({},w);Object.keys(Ve).forEach(ot=>{Ve[ot]!==void 0&&(xt[ot]=Ve[ot])}),BTt.forEach(ot=>{const et=t[ot];et&&(xt[ot]=et)}),typeof o<"u"&&(xt.button=Object.assign({autoInsertSpace:o},xt.button));const dt=Hge(()=>xt,xt,(ot,et)=>{const _e=Object.keys(ot),nt=Object.keys(et);return _e.length!==nt.length||_e.some(yt=>ot[yt]!==et[yt])}),Qe=m.useMemo(()=>({prefixCls:Fe,csp:Ge}),[Fe,Ge]);let ut=m.createElement(m.Fragment,null,m.createElement(NTt,{dropdownMatchSelectWidth:f}),e);const ft=m.useMemo(()=>{var ot,et,_e,nt;return Xbt(((ot=t7.Form)===null||ot===void 0?void 0:ot.defaultValidateMessages)||{},((_e=(et=dt.locale)===null||et===void 0?void 0:et.Form)===null||_e===void 0?void 0:_e.defaultValidateMessages)||{},((nt=dt.form)===null||nt===void 0?void 0:nt.validateMessages)||{},(a==null?void 0:a.validateMessages)||{})},[dt,a==null?void 0:a.validateMessages]);Object.keys(ft).length>0&&(ut=m.createElement(qbt.Provider,{value:ft},ut)),l&&(ut=m.createElement(eSt,{locale:l,_ANT_MARK__:Zbt},ut)),(Fe||Ge)&&(ut=m.createElement(Rge.Provider,{value:Qe},ut)),s&&(ut=m.createElement(NSt,{size:s},ut)),ut=m.createElement(WTt,null,ut);const at=m.useMemo(()=>{const ot=rt||{},{algorithm:et,token:_e,components:nt,cssVar:yt}=ot,Tt=UTt(ot,["algorithm","token","components","cssVar"]),Rt=et&&(!Array.isArray(et)||et.length>0)?Dce(et):pOe,Wt={};Object.entries(nt||{}).forEach(At=>{let[Ft,Ke]=At;const Je=Object.assign({},Ke);"algorithm"in Je&&(Je.algorithm===!0?Je.theme=Rt:(Array.isArray(Je.algorithm)||typeof Je.algorithm=="function")&&(Je.theme=Dce(Je.algorithm)),delete Je.algorithm),Wt[Ft]=Je});const Ct=Object.assign(Object.assign({},Bk),_e);return Object.assign(Object.assign({},Tt),{theme:Rt,token:Ct,components:Wt,override:Object.assign({override:Ct},Wt),cssVar:yt})},[rt]);return C&&(ut=m.createElement(gOe.Provider,{value:at},ut)),dt.warning&&(ut=m.createElement(Kbt.Provider,{value:dt.warning},ut)),P!==void 0&&(ut=m.createElement(AOe,{disabled:P},ut)),m.createElement(Mi.Provider,{value:dt},ut)},ry=t=>{const e=m.useContext(Mi),n=m.useContext(Ige);return m.createElement(VTt,Object.assign({parentContext:e,legacyLocale:n},t))};ry.ConfigContext=Mi;ry.SizeContext=tR;ry.config=_Tt;ry.useConfig=USt;Object.defineProperty(ry,"SizeContext",{get:()=>tR});function Fi(){return Fi=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function t_e(t,e){if(t==null)return{};var n=ZTt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var uY=2,W7e=.16,ePt=.05,tPt=.05,nPt=.15,n_e=5,o_e=4,oPt=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function N7e(t){var e=t.r,n=t.g,o=t.b,i=fG(e,n,o);return{h:i.h*360,s:i.s,v:i.v}}function dY(t){var e=t.r,n=t.g,o=t.b;return"#".concat(hG(e,n,o,!1))}function iPt(t,e,n){var o=n/100,i={r:(e.r-t.r)*o+t.r,g:(e.g-t.g)*o+t.g,b:(e.b-t.b)*o+t.b};return i}function U7e(t,e,n){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-uY*e:Math.round(t.h)+uY*e:o=n?Math.round(t.h)+uY*e:Math.round(t.h)-uY*e,o<0?o+=360:o>=360&&(o-=360),o}function B7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-W7e*e:e===o_e?o=t.s+W7e:o=t.s+ePt*e,o>1&&(o=1),n&&e===n_e&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function j7e(t,e,n){var o;return n?o=t.v+tPt*e:o=t.v-nPt*e,o>1&&(o=1),Number(o.toFixed(2))}function Zce(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=f2(t),i=n_e;i>0;i-=1){var r=N7e(o),a=dY(f2({h:U7e(r,i,!0),s:B7e(r,i,!0),v:j7e(r,i,!0)}));n.push(a)}n.push(dY(o));for(var l=1;l<=o_e;l+=1){var s=N7e(o),c=dY(f2({h:U7e(s,l),s:B7e(s,l),v:j7e(s,l)}));n.push(c)}return e.theme==="dark"?oPt.map(function(u){var d=u.index,f=u.opacity,p=dY(iPt(f2(e.backgroundColor||"#141414"),f2(n[d]),f*100));return p}):n}var Aie={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},D_={},wie={};Object.keys(Aie).forEach(function(t){D_[t]=Zce(Aie[t]),D_[t].primary=D_[t][5],wie[t]=Zce(Aie[t],{theme:"dark",backgroundColor:"#141414"}),wie[t].primary=wie[t][5]});var rPt=D_.blue;function Y7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function hw(t){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,n){var o=t[n];switch(n){case"class":e.className=o,delete e.class;break;default:delete e[n],e[lPt(n)]=o}return e},{})}function e0e(t,e,n){return n?be.createElement(t.tag,hw(hw({key:e},_7e(t.attrs)),n),(t.children||[]).map(function(o,i){return e0e(o,"".concat(e,"-").concat(t.tag,"-").concat(i))})):be.createElement(t.tag,hw({key:e},_7e(t.attrs)),(t.children||[]).map(function(o,i){return e0e(o,"".concat(e,"-").concat(t.tag,"-").concat(i))}))}function r_e(t){return Zce(t)[0]}function a_e(t){return t?Array.isArray(t)?t:[t]:[]}var cPt=` +*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var o=[],i=0;i1&&arguments[1]!==void 0?arguments[1]:1;F7e+=1;var o=F7e;function i(r){if(r===0)VOe(o),e();else{var a=OOe(function(){i(r-1)});jge.set(o,a)}}return i(n),o};za.cancel=function(t){var e=jge.get(t);return VOe(t),_Oe(e)};const xTt=function(){var t=m.useRef(null);function e(){za.cancel(t.current)}function n(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;e();var r=za(function(){i<=1?o({isCanceled:function(){return r!==t.current}}):n(o,i-1)});t.current=r}return m.useEffect(function(){return function(){e()}},[]),[n,e]};var bTt=[i2,_P,VP,Bge],STt=[i2,LOe],GOe=!1,TTt=!0;function XOe(t){return t===VP||t===Bge}const PTt=function(t,e,n){var o=mC(I7e),i=on(o,2),r=i[0],a=i[1],l=xTt(),s=on(l,2),c=s[0],u=s[1];function d(){a(i2,!0)}var f=e?STt:bTt;return YOe(function(){if(r!==I7e&&r!==Bge){var p=f.indexOf(r),g=f[p+1],A=n(r);A===GOe?a(g,!0):g&&c(function(w){function b(){w.isCanceled()||a(g,!0)}A===!0?b():Promise.resolve(A).then(b)})}},[t,r]),m.useEffect(function(){return function(){u()}},[]),[d,r]};function CTt(t,e,n,o){var i=o.motionEnter,r=i===void 0?!0:i,a=o.motionAppear,l=a===void 0?!0:a,s=o.motionLeave,c=s===void 0?!0:s,u=o.motionDeadline,d=o.motionLeaveImmediately,f=o.onAppearPrepare,p=o.onEnterPrepare,g=o.onLeavePrepare,A=o.onAppearStart,w=o.onEnterStart,b=o.onLeaveStart,C=o.onAppearActive,P=o.onEnterActive,v=o.onLeaveActive,T=o.onAppearEnd,y=o.onEnterEnd,S=o.onLeaveEnd,x=o.onVisibleChanged,R=mC(),H=on(R,2),D=H[0],k=H[1],W=mC(lv),N=on(W,2),L=N[0],E=N[1],U=mC(null),F=on(U,2),B=F[0],_=F[1],Y=m.useRef(!1),O=m.useRef(null);function J(){return n()}var Z=m.useRef(!1);function ie(){E(lv,!0),_(null,!0)}function ee(Ce){var ve=J();if(!(Ce&&!Ce.deadline&&Ce.target!==ve)){var Ie=Z.current,ze;L===aY&&Ie?ze=T==null?void 0:T(ve,Ce):L===lY&&Ie?ze=y==null?void 0:y(ve,Ce):L===sY&&Ie&&(ze=S==null?void 0:S(ve,Ce)),L!==lv&&Ie&&ze!==!1&&ie()}}var q=vTt(ee),ae=on(q,1),ne=ae[0],se=function(ve){var Ie,ze,ye;switch(ve){case aY:return Ie={},_t(Ie,i2,f),_t(Ie,_P,A),_t(Ie,VP,C),Ie;case lY:return ze={},_t(ze,i2,p),_t(ze,_P,w),_t(ze,VP,P),ze;case sY:return ye={},_t(ye,i2,g),_t(ye,_P,b),_t(ye,VP,v),ye;default:return{}}},le=m.useMemo(function(){return se(L)},[L]),te=PTt(L,!t,function(Ce){if(Ce===i2){var ve=le[i2];return ve?ve(J()):GOe}if(fe in le){var Ie;_(((Ie=le[fe])===null||Ie===void 0?void 0:Ie.call(le,J(),null))||null)}return fe===VP&&(ne(J()),u>0&&(clearTimeout(O.current),O.current=setTimeout(function(){ee({deadline:!0})},u))),fe===LOe&&ie(),TTt}),he=on(te,2),pe=he[0],fe=he[1],$=XOe(fe);Z.current=$,YOe(function(){k(e);var Ce=Y.current;Y.current=!0;var ve;!Ce&&e&&l&&(ve=aY),Ce&&e&&r&&(ve=lY),(Ce&&!e&&c||!Ce&&d&&!e&&c)&&(ve=sY);var Ie=se(ve);ve&&(t||Ie[i2])?(E(ve),pe()):E(lv)},[e]),m.useEffect(function(){(L===aY&&!l||L===lY&&!r||L===sY&&!c)&&E(lv)},[l,r,c]),m.useEffect(function(){return function(){Y.current=!1,clearTimeout(O.current)}},[]);var de=m.useRef(!1);m.useEffect(function(){D&&(de.current=!0),D!==void 0&&L===lv&&((de.current||D)&&(x==null||x(D)),de.current=!0)},[D,L]);var Se=B;return le[i2]&&fe===_P&&(Se=$t({transition:"none"},Se)),[L,fe,Se,D??e]}function RTt(t){var e=t;gr(t)==="object"&&(e=t.transitionSupport);function n(i,r){return!!(i.motionName&&e&&r!==!1)}var o=m.forwardRef(function(i,r){var a=i.visible,l=a===void 0?!0:a,s=i.removeOnLeave,c=s===void 0?!0:s,u=i.forceRender,d=i.children,f=i.motionName,p=i.leavedClassName,g=i.eventProps,A=m.useContext(FOe),w=A.motion,b=n(i,w),C=m.useRef(),P=m.useRef();function v(){try{return C.current instanceof HTMLElement?C.current:rE(P.current)}catch{return null}}var T=CTt(b,l,v,i),y=on(T,4),S=y[0],x=y[1],R=y[2],H=y[3],D=m.useRef(H);H&&(D.current=!0);var k=m.useCallback(function(_){C.current=_,Lk(r,_)},[r]),W,N=$t($t({},g),{},{visible:l});if(!d)W=null;else if(S===lv)H?W=d($t({},N),k):!c&&D.current&&p?W=d($t($t({},N),{},{className:p}),k):u||!c&&!p?W=d($t($t({},N),{},{style:{display:"none"}}),k):W=null;else{var L,E;x===i2?E="prepare":XOe(x)?E="active":x===_P&&(E="start");var U=k7e(f,"".concat(S,"-").concat(E));W=d($t($t({},N),{},{className:_n(k7e(f,S),(L={},_t(L,U,U&&E),_t(L,f,typeof f=="string"),L)),style:R}),k)}if(m.isValidElement(W)&&Zw(W)){var F=W,B=F.ref;B||(W=m.cloneElement(W,{ref:k}))}return m.createElement(mTt,{ref:P},W)});return o.displayName="CSSMotion",o}const Hg=RTt(jOe);var Jce="add",Kce="keep",qce="remove",yie="removed";function HTt(t){var e;return t&&gr(t)==="object"&&"key"in t?e=t:e={key:t},$t($t({},e),{},{key:String(e.key)})}function $ce(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return t.map(HTt)}function MTt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],o=0,i=e.length,r=$ce(t),a=$ce(e);r.forEach(function(c){for(var u=!1,d=o;d1});return s.forEach(function(c){n=n.filter(function(u){var d=u.key,f=u.status;return d!==c||f!==qce}),n.forEach(function(u){u.key===c&&(u.status=Kce)})}),n}var ITt=["component","children","onVisibleChanged","onAllRemoved"],zTt=["status"],DTt=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function ETt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Hg,n=function(o){hW(r,o);var i=pW(r);function r(){var a;pp(this,r);for(var l=arguments.length,s=new Array(l),c=0;cnull;var WTt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie.endsWith("Color"))}const YTt=t=>{const{prefixCls:e,iconPrefixCls:n,theme:o,holderRender:i}=t;e!==void 0&&(gG=e),n!==void 0&&(JOe=n),"holderRender"in t&&(qOe=i),o&&(jTt(o)?FSt(z_(),o):KOe=o)},$Oe=()=>({getPrefixCls:(t,e)=>e||(t?`${z_()}-${t}`:z_()),getIconPrefixCls:BTt,getRootPrefixCls:()=>gG||z_(),getTheme:()=>KOe,holderRender:qOe}),OTt=t=>{const{children:e,csp:n,autoInsertSpaceInButton:o,alert:i,anchor:r,form:a,locale:l,componentSize:s,direction:c,space:u,virtual:d,dropdownMatchSelectWidth:f,popupMatchSelectWidth:p,popupOverflow:g,legacyLocale:A,parentContext:w,iconPrefixCls:b,theme:C,componentDisabled:P,segmented:v,statistic:T,spin:y,calendar:S,carousel:x,cascader:R,collapse:H,typography:D,checkbox:k,descriptions:W,divider:N,drawer:L,skeleton:E,steps:U,image:F,layout:B,list:_,mentions:Y,modal:O,progress:J,result:Z,slider:ie,breadcrumb:ee,menu:q,pagination:ae,input:ne,textArea:se,empty:le,badge:te,radio:he,rate:pe,switch:fe,transfer:$,avatar:de,message:Se,tag:Ce,table:ve,card:Ie,tabs:ze,timeline:ye,timePicker:oe,upload:ge,notification:Ae,tree:me,colorPicker:Pe,datePicker:Me,rangePicker:Te,flex:De,wave:Ne,dropdown:Ye,warning:Le,tour:$e,floatButtonGroup:We}=t,Ee=m.useCallback((ot,et)=>{const{prefixCls:Oe}=t;if(et)return et;const nt=Oe||w.getPrefixCls("");return ot?`${nt}-${ot}`:nt},[w.getPrefixCls,t.prefixCls]),Fe=b||w.iconPrefixCls||zge,Ge=n||w.csp;IOe(Fe,Ge);const rt=fTt(C,w.theme,{prefixCls:Ee("")}),_e={csp:Ge,autoInsertSpaceInButton:o,alert:i,anchor:r,locale:l||A,direction:c,space:u,virtual:d,popupMatchSelectWidth:p??f,popupOverflow:g,getPrefixCls:Ee,iconPrefixCls:Fe,theme:rt,segmented:v,statistic:T,spin:y,calendar:S,carousel:x,cascader:R,collapse:H,typography:D,checkbox:k,descriptions:W,divider:N,drawer:L,skeleton:E,steps:U,image:F,input:ne,textArea:se,layout:B,list:_,mentions:Y,modal:O,progress:J,result:Z,slider:ie,breadcrumb:ee,menu:q,pagination:ae,empty:le,badge:te,radio:he,rate:pe,switch:fe,transfer:$,avatar:de,message:Se,tag:Ce,table:ve,card:Ie,tabs:ze,timeline:ye,timePicker:oe,upload:ge,notification:Ae,tree:me,colorPicker:Pe,datePicker:Me,rangePicker:Te,flex:De,wave:Ne,dropdown:Ye,warning:Le,tour:$e,floatButtonGroup:We},xt=Object.assign({},w);Object.keys(_e).forEach(ot=>{_e[ot]!==void 0&&(xt[ot]=_e[ot])}),NTt.forEach(ot=>{const et=t[ot];et&&(xt[ot]=et)}),typeof o<"u"&&(xt.button=Object.assign({autoInsertSpace:o},xt.button));const dt=Hge(()=>xt,xt,(ot,et)=>{const Oe=Object.keys(ot),nt=Object.keys(et);return Oe.length!==nt.length||Oe.some(mt=>ot[mt]!==et[mt])}),Qe=m.useMemo(()=>({prefixCls:Fe,csp:Ge}),[Fe,Ge]);let ct=m.createElement(m.Fragment,null,m.createElement(LTt,{dropdownMatchSelectWidth:f}),e);const ft=m.useMemo(()=>{var ot,et,Oe,nt;return Vbt(((ot=t7.Form)===null||ot===void 0?void 0:ot.defaultValidateMessages)||{},((Oe=(et=dt.locale)===null||et===void 0?void 0:et.Form)===null||Oe===void 0?void 0:Oe.defaultValidateMessages)||{},((nt=dt.form)===null||nt===void 0?void 0:nt.validateMessages)||{},(a==null?void 0:a.validateMessages)||{})},[dt,a==null?void 0:a.validateMessages]);Object.keys(ft).length>0&&(ct=m.createElement(Jbt.Provider,{value:ft},ct)),l&&(ct=m.createElement(Qbt,{locale:l,_ANT_MARK__:$bt},ct)),(Fe||Ge)&&(ct=m.createElement(Rge.Provider,{value:Qe},ct)),s&&(ct=m.createElement(LSt,{size:s},ct)),ct=m.createElement(FTt,null,ct);const at=m.useMemo(()=>{const ot=rt||{},{algorithm:et,token:Oe,components:nt,cssVar:mt}=ot,Tt=WTt(ot,["algorithm","token","components","cssVar"]),Rt=et&&(!Array.isArray(et)||et.length>0)?Dce(et):fOe,Wt={};Object.entries(nt||{}).forEach(wt=>{let[kt,qe]=wt;const Je=Object.assign({},qe);"algorithm"in Je&&(Je.algorithm===!0?Je.theme=Rt:(Array.isArray(Je.algorithm)||typeof Je.algorithm=="function")&&(Je.theme=Dce(Je.algorithm)),delete Je.algorithm),Wt[kt]=Je});const Ct=Object.assign(Object.assign({},Bk),Oe);return Object.assign(Object.assign({},Tt),{theme:Rt,token:Ct,components:Wt,override:Object.assign({override:Ct},Wt),cssVar:mt})},[rt]);return C&&(ct=m.createElement(hOe.Provider,{value:at},ct)),dt.warning&&(ct=m.createElement(Xbt.Provider,{value:dt.warning},ct)),P!==void 0&&(ct=m.createElement(mOe,{disabled:P},ct)),m.createElement(Mi.Provider,{value:dt},ct)},ry=t=>{const e=m.useContext(Mi),n=m.useContext(Ige);return m.createElement(OTt,Object.assign({parentContext:e,legacyLocale:n},t))};ry.ConfigContext=Mi;ry.SizeContext=tR;ry.config=YTt;ry.useConfig=WSt;Object.defineProperty(ry,"SizeContext",{get:()=>tR});function Fi(){return Fi=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function ZOe(t,e){if(t==null)return{};var n=$Tt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var uY=2,W7e=.16,QTt=.05,ZTt=.05,ePt=.15,e_e=5,t_e=4,tPt=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function N7e(t){var e=t.r,n=t.g,o=t.b,i=fG(e,n,o);return{h:i.h*360,s:i.s,v:i.v}}function dY(t){var e=t.r,n=t.g,o=t.b;return"#".concat(hG(e,n,o,!1))}function nPt(t,e,n){var o=n/100,i={r:(e.r-t.r)*o+t.r,g:(e.g-t.g)*o+t.g,b:(e.b-t.b)*o+t.b};return i}function U7e(t,e,n){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=n?Math.round(t.h)-uY*e:Math.round(t.h)+uY*e:o=n?Math.round(t.h)+uY*e:Math.round(t.h)-uY*e,o<0?o+=360:o>=360&&(o-=360),o}function B7e(t,e,n){if(t.h===0&&t.s===0)return t.s;var o;return n?o=t.s-W7e*e:e===t_e?o=t.s+W7e:o=t.s+QTt*e,o>1&&(o=1),n&&e===e_e&&o>.1&&(o=.1),o<.06&&(o=.06),Number(o.toFixed(2))}function j7e(t,e,n){var o;return n?o=t.v+ZTt*e:o=t.v-ePt*e,o>1&&(o=1),Number(o.toFixed(2))}function Zce(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=f2(t),i=e_e;i>0;i-=1){var r=N7e(o),a=dY(f2({h:U7e(r,i,!0),s:B7e(r,i,!0),v:j7e(r,i,!0)}));n.push(a)}n.push(dY(o));for(var l=1;l<=t_e;l+=1){var s=N7e(o),c=dY(f2({h:U7e(s,l),s:B7e(s,l),v:j7e(s,l)}));n.push(c)}return e.theme==="dark"?tPt.map(function(u){var d=u.index,f=u.opacity,p=dY(nPt(f2(e.backgroundColor||"#141414"),f2(n[d]),f*100));return p}):n}var Aie={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},D_={},wie={};Object.keys(Aie).forEach(function(t){D_[t]=Zce(Aie[t]),D_[t].primary=D_[t][5],wie[t]=Zce(Aie[t],{theme:"dark",backgroundColor:"#141414"}),wie[t].primary=wie[t][5]});var oPt=D_.blue;function Y7e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function hw(t){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,n){var o=t[n];switch(n){case"class":e.className=o,delete e.class;break;default:delete e[n],e[rPt(n)]=o}return e},{})}function e0e(t,e,n){return n?be.createElement(t.tag,hw(hw({key:e},_7e(t.attrs)),n),(t.children||[]).map(function(o,i){return e0e(o,"".concat(e,"-").concat(t.tag,"-").concat(i))})):be.createElement(t.tag,hw({key:e},_7e(t.attrs)),(t.children||[]).map(function(o,i){return e0e(o,"".concat(e,"-").concat(t.tag,"-").concat(i))}))}function o_e(t){return Zce(t)[0]}function i_e(t){return t?Array.isArray(t)?t:[t]:[]}var lPt=` .anticon { display: inline-flex; align-items: center; @@ -4432,7 +4432,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: rotate(360deg); } } -`,uPt=function(e){var n=m.useContext(Rge),o=n.csp,i=n.prefixCls,r=cPt;i&&(r=r.replace(/anticon/g,i)),m.useEffect(function(){var a=e.current,l=mG(a);lx(r,"@ant-design-icons",{prepend:!0,csp:o,attachTo:l})},[])},dPt=["icon","className","onClick","style","primaryColor","secondaryColor"],lE={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function fPt(t){var e=t.primaryColor,n=t.secondaryColor;lE.primaryColor=e,lE.secondaryColor=n||r_e(e),lE.calculated=!!n}function hPt(){return hw({},lE)}var RH=function(e){var n=e.icon,o=e.className,i=e.onClick,r=e.style,a=e.primaryColor,l=e.secondaryColor,s=t_e(e,dPt),c=m.useRef(),u=lE;if(a&&(u={primaryColor:a,secondaryColor:l||r_e(a)}),uPt(c),sPt(O7e(n),"icon should be icon definiton, but got ".concat(n)),!O7e(n))return null;var d=n;return d&&typeof d.icon=="function"&&(d=hw(hw({},d),{},{icon:d.icon(u.primaryColor,u.secondaryColor)})),e0e(d.icon,"svg-".concat(d.name),hw(hw({className:o,onClick:i,style:r,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},s),{},{ref:c}))};RH.displayName="IconReact";RH.getTwoToneColors=hPt;RH.setTwoToneColors=fPt;function l_e(t){var e=a_e(t),n=e_e(e,2),o=n[0],i=n[1];return RH.setTwoToneColors({primaryColor:o,secondaryColor:i})}function pPt(){var t=RH.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var gPt=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];l_e(rPt.primary);var Li=m.forwardRef(function(t,e){var n=t.className,o=t.icon,i=t.spin,r=t.rotate,a=t.tabIndex,l=t.onClick,s=t.twoToneColor,c=t_e(t,gPt),u=m.useContext(Rge),d=u.prefixCls,f=d===void 0?"anticon":d,p=u.rootClassName,g=_n(p,f,Qce(Qce({},"".concat(f,"-").concat(o.name),!!o.name),"".concat(f,"-spin"),!!i||o.name==="loading"),n),A=a;A===void 0&&l&&(A=-1);var w=r?{msTransform:"rotate(".concat(r,"deg)"),transform:"rotate(".concat(r,"deg)")}:void 0,b=a_e(s),C=e_e(b,2),P=C[0],v=C[1];return m.createElement("span",Fi({role:"img","aria-label":o.name},c,{ref:e,tabIndex:A,onClick:l,className:g}),m.createElement(RH,{icon:o,primaryColor:P,secondaryColor:v,style:w}))});Li.displayName="AntdIcon";Li.getTwoToneColor=pPt;Li.setTwoToneColor=l_e;var mPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:GTt}))},Yge=m.forwardRef(mPt),yPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},APt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yPt}))},l$=m.forwardRef(APt),wPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},vPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wPt}))},E7=m.forwardRef(vPt),xPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},bPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:xPt}))},s_e=m.forwardRef(bPt),SPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},TPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:SPt}))},c_e=m.forwardRef(TPt),PPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency +`,sPt=function(e){var n=m.useContext(Rge),o=n.csp,i=n.prefixCls,r=lPt;i&&(r=r.replace(/anticon/g,i)),m.useEffect(function(){var a=e.current,l=mG(a);lx(r,"@ant-design-icons",{prepend:!0,csp:o,attachTo:l})},[])},cPt=["icon","className","onClick","style","primaryColor","secondaryColor"],lE={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function uPt(t){var e=t.primaryColor,n=t.secondaryColor;lE.primaryColor=e,lE.secondaryColor=n||o_e(e),lE.calculated=!!n}function dPt(){return hw({},lE)}var RH=function(e){var n=e.icon,o=e.className,i=e.onClick,r=e.style,a=e.primaryColor,l=e.secondaryColor,s=ZOe(e,cPt),c=m.useRef(),u=lE;if(a&&(u={primaryColor:a,secondaryColor:l||o_e(a)}),sPt(c),aPt(O7e(n),"icon should be icon definiton, but got ".concat(n)),!O7e(n))return null;var d=n;return d&&typeof d.icon=="function"&&(d=hw(hw({},d),{},{icon:d.icon(u.primaryColor,u.secondaryColor)})),e0e(d.icon,"svg-".concat(d.name),hw(hw({className:o,onClick:i,style:r,"data-icon":d.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},s),{},{ref:c}))};RH.displayName="IconReact";RH.getTwoToneColors=dPt;RH.setTwoToneColors=uPt;function r_e(t){var e=i_e(t),n=QOe(e,2),o=n[0],i=n[1];return RH.setTwoToneColors({primaryColor:o,secondaryColor:i})}function fPt(){var t=RH.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var hPt=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];r_e(oPt.primary);var Li=m.forwardRef(function(t,e){var n=t.className,o=t.icon,i=t.spin,r=t.rotate,a=t.tabIndex,l=t.onClick,s=t.twoToneColor,c=ZOe(t,hPt),u=m.useContext(Rge),d=u.prefixCls,f=d===void 0?"anticon":d,p=u.rootClassName,g=_n(p,f,Qce(Qce({},"".concat(f,"-").concat(o.name),!!o.name),"".concat(f,"-spin"),!!i||o.name==="loading"),n),A=a;A===void 0&&l&&(A=-1);var w=r?{msTransform:"rotate(".concat(r,"deg)"),transform:"rotate(".concat(r,"deg)")}:void 0,b=i_e(s),C=QOe(b,2),P=C[0],v=C[1];return m.createElement("span",Fi({role:"img","aria-label":o.name},c,{ref:e,tabIndex:A,onClick:l,className:g}),m.createElement(RH,{icon:o,primaryColor:P,secondaryColor:v,style:w}))});Li.displayName="AntdIcon";Li.getTwoToneColor=fPt;Li.setTwoToneColor=r_e;var pPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:_Tt}))},Yge=m.forwardRef(pPt),gPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},mPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gPt}))},l$=m.forwardRef(mPt),yPt={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},APt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yPt}))},E7=m.forwardRef(APt),wPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},vPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wPt}))},a_e=m.forwardRef(vPt),xPt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},bPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:xPt}))},l_e=m.forwardRef(bPt),SPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge charSet checked classID className colSpan cols content contentEditable contextMenu controls coords crossOrigin data dateTime default defer dir disabled download draggable @@ -4443,13 +4443,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho optimum pattern placeholder poster preload radioGroup readOnly rel required reversed role rowSpan rows sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style - summary tabIndex target title type useMap value width wmode wrap`,CPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + summary tabIndex target title type useMap value width wmode wrap`,TPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata - onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,RPt="".concat(PPt," ").concat(CPt).split(/[\s\n]+/),HPt="aria-",MPt="data-";function V7e(t,e){return t.indexOf(e)===0}function Oge(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$C({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||V7e(i,HPt))||n.data&&V7e(i,MPt)||n.attr&&RPt.includes(i))&&(o[i]=t[i])}),o}function u_e(t){return t&&be.isValidElement(t)&&t.type===be.Fragment}const d_e=(t,e,n)=>be.isValidElement(t)?be.cloneElement(t,typeof n=="function"?n(t.props||{}):n):e;function Ou(t,e){return d_e(t,t,e)}function t0e(t){return t!=null&&t===t.window}function IPt(t,e){var n,o;if(typeof window>"u")return 0;const i="scrollTop";let r=0;return t0e(t)?r=t.pageYOffset:t instanceof Document?r=t.documentElement[i]:(t instanceof HTMLElement||t)&&(r=t[i]),t&&!t0e(t)&&typeof r!="number"&&(r=(o=((n=t.ownerDocument)!==null&&n!==void 0?n:t).documentElement)===null||o===void 0?void 0:o[i]),r}function zPt(t,e,n,o){const i=n-e;return t/=o/2,t<1?i/2*t*t*t+e:i/2*((t-=2)*t*t+2)+e}function DPt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:n=()=>window,callback:o,duration:i=450}=e,r=n(),a=IPt(r),l=Date.now(),s=()=>{const u=Date.now()-l,d=zPt(u>i?i:u,a,t,i);t0e(r)?r.scrollTo(window.pageXOffset,d):r instanceof Document||r.constructor.name==="HTMLDocument"?r.documentElement.scrollTop=d:r.scrollTop=d,u{const[,,,,e]=Yu();return e?`${t}-css-var`:""};var Bn={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Bn.F1&&n<=Bn.F12)return!1;switch(n){case Bn.ALT:case Bn.CAPS_LOCK:case Bn.CONTEXT_MENU:case Bn.CTRL:case Bn.DOWN:case Bn.END:case Bn.ESC:case Bn.HOME:case Bn.INSERT:case Bn.LEFT:case Bn.MAC_FF_META:case Bn.META:case Bn.NUMLOCK:case Bn.NUM_CENTER:case Bn.PAGE_DOWN:case Bn.PAGE_UP:case Bn.PAUSE:case Bn.PRINT_SCREEN:case Bn.RIGHT:case Bn.SHIFT:case Bn.UP:case Bn.WIN_KEY:case Bn.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Bn.ZERO&&e<=Bn.NINE||e>=Bn.NUM_ZERO&&e<=Bn.NUM_MULTIPLY||e>=Bn.A&&e<=Bn.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Bn.SPACE:case Bn.QUESTION_MARK:case Bn.NUM_PLUS:case Bn.NUM_MINUS:case Bn.NUM_PERIOD:case Bn.NUM_DIVISION:case Bn.SEMICOLON:case Bn.DASH:case Bn.EQUALS:case Bn.COMMA:case Bn.PERIOD:case Bn.SLASH:case Bn.APOSTROPHE:case Bn.SINGLE_QUOTE:case Bn.OPEN_SQUARE_BRACKET:case Bn.BACKSLASH:case Bn.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},EPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,PPt="".concat(SPt," ").concat(TPt).split(/[\s\n]+/),CPt="aria-",RPt="data-";function V7e(t,e){return t.indexOf(e)===0}function Oge(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$C({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||V7e(i,CPt))||n.data&&V7e(i,RPt)||n.attr&&PPt.includes(i))&&(o[i]=t[i])}),o}function s_e(t){return t&&be.isValidElement(t)&&t.type===be.Fragment}const c_e=(t,e,n)=>be.isValidElement(t)?be.cloneElement(t,typeof n=="function"?n(t.props||{}):n):e;function Ou(t,e){return c_e(t,t,e)}function t0e(t){return t!=null&&t===t.window}function HPt(t,e){var n,o;if(typeof window>"u")return 0;const i="scrollTop";let r=0;return t0e(t)?r=t.pageYOffset:t instanceof Document?r=t.documentElement[i]:(t instanceof HTMLElement||t)&&(r=t[i]),t&&!t0e(t)&&typeof r!="number"&&(r=(o=((n=t.ownerDocument)!==null&&n!==void 0?n:t).documentElement)===null||o===void 0?void 0:o[i]),r}function MPt(t,e,n,o){const i=n-e;return t/=o/2,t<1?i/2*t*t*t+e:i/2*((t-=2)*t*t+2)+e}function IPt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:n=()=>window,callback:o,duration:i=450}=e,r=n(),a=HPt(r),l=Date.now(),s=()=>{const u=Date.now()-l,d=MPt(u>i?i:u,a,t,i);t0e(r)?r.scrollTo(window.pageXOffset,d):r instanceof Document||r.constructor.name==="HTMLDocument"?r.documentElement.scrollTop=d:r.scrollTop=d,u{const[,,,,e]=Yu();return e?`${t}-css-var`:""};var Bn={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Bn.F1&&n<=Bn.F12)return!1;switch(n){case Bn.ALT:case Bn.CAPS_LOCK:case Bn.CONTEXT_MENU:case Bn.CTRL:case Bn.DOWN:case Bn.END:case Bn.ESC:case Bn.HOME:case Bn.INSERT:case Bn.LEFT:case Bn.MAC_FF_META:case Bn.META:case Bn.NUMLOCK:case Bn.NUM_CENTER:case Bn.PAGE_DOWN:case Bn.PAGE_UP:case Bn.PAUSE:case Bn.PRINT_SCREEN:case Bn.RIGHT:case Bn.SHIFT:case Bn.UP:case Bn.WIN_KEY:case Bn.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Bn.ZERO&&e<=Bn.NINE||e>=Bn.NUM_ZERO&&e<=Bn.NUM_MULTIPLY||e>=Bn.A&&e<=Bn.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Bn.SPACE:case Bn.QUESTION_MARK:case Bn.NUM_PLUS:case Bn.NUM_MINUS:case Bn.NUM_PERIOD:case Bn.NUM_DIVISION:case Bn.SEMICOLON:case Bn.DASH:case Bn.EQUALS:case Bn.COMMA:case Bn.PERIOD:case Bn.SLASH:case Bn.APOSTROPHE:case Bn.SINGLE_QUOTE:case Bn.OPEN_SQUARE_BRACKET:case Bn.BACKSLASH:case Bn.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},zPt=`accept acceptCharset accessKey action allowFullScreen allowTransparency alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge charSet checked classID className colSpan cols content contentEditable contextMenu controls coords crossOrigin data dateTime default defer dir disabled download draggable @@ -4460,52 +4460,52 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho optimum pattern placeholder poster preload radioGroup readOnly rel required reversed role rowSpan rows sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style - summary tabIndex target title type useMap value width wmode wrap`,kPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + summary tabIndex target title type useMap value width wmode wrap`,DPt=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata - onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,FPt="".concat(EPt," ").concat(kPt).split(/[\s\n]+/),LPt="aria-",WPt="data-";function G7e(t,e){return t.indexOf(e)===0}function gf(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$t({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||G7e(i,LPt))||n.data&&G7e(i,WPt)||n.attr&&FPt.includes(i))&&(o[i]=t[i])}),o}var f_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.className,r=t.duration,a=r===void 0?4.5:r,l=t.eventKey,s=t.content,c=t.closable,u=t.closeIcon,d=u===void 0?"x":u,f=t.props,p=t.onClick,g=t.onNoticeClose,A=t.times,w=t.hovering,b=m.useState(!1),C=on(b,2),P=C[0],v=C[1],T=w||P,y=function(){g(l)},S=function(k){(k.key==="Enter"||k.code==="Enter"||k.keyCode===Bn.ENTER)&&y()};m.useEffect(function(){if(!T&&a>0){var D=setTimeout(function(){y()},a*1e3);return function(){clearTimeout(D)}}},[a,T,A]);var x=m.useMemo(function(){return gr(c)==="object"&&c!==null?c:c?{closeIcon:d}:{}},[c,d]),R=gf(x,!0),H="".concat(n,"-notice");return m.createElement("div",so({},f,{ref:e,className:_n(H,i,_t({},"".concat(H,"-closable"),c)),style:o,onMouseEnter:function(k){var W;v(!0),f==null||(W=f.onMouseEnter)===null||W===void 0||W.call(f,k)},onMouseLeave:function(k){var W;v(!1),f==null||(W=f.onMouseLeave)===null||W===void 0||W.call(f,k)},onClick:p}),m.createElement("div",{className:"".concat(H,"-content")},s),c&&m.createElement("a",so({tabIndex:0,className:"".concat(H,"-close"),onKeyDown:S,"aria-label":"Close"},R,{onClick:function(k){k.preventDefault(),k.stopPropagation(),y()}}),x.closeIcon))}),h_e=be.createContext({}),NPt=function(e){var n=e.children,o=e.classNames;return be.createElement(h_e.Provider,{value:{classNames:o}},n)},X7e=8,J7e=3,K7e=16,UPt=function(e){var n={offset:X7e,threshold:J7e,gap:K7e};if(e&&gr(e)==="object"){var o,i,r;n.offset=(o=e.offset)!==null&&o!==void 0?o:X7e,n.threshold=(i=e.threshold)!==null&&i!==void 0?i:J7e,n.gap=(r=e.gap)!==null&&r!==void 0?r:K7e}return[!!e,n]},BPt=["className","style","classNames","styles"],jPt=function(e){var n=e.configList,o=e.placement,i=e.prefixCls,r=e.className,a=e.style,l=e.motion,s=e.onAllNoticeRemoved,c=e.onNoticeClose,u=e.stack,d=m.useContext(h_e),f=d.classNames,p=m.useRef({}),g=m.useState(null),A=on(g,2),w=A[0],b=A[1],C=m.useState([]),P=on(C,2),v=P[0],T=P[1],y=n.map(function(E){return{config:E,key:String(E.key)}}),S=UPt(u),x=on(S,2),R=x[0],H=x[1],D=H.offset,k=H.threshold,W=H.gap,N=R&&(v.length>0||y.length<=k),L=typeof l=="function"?l(o):l;return m.useEffect(function(){R&&v.length>1&&T(function(E){return E.filter(function(U){return y.some(function(F){var B=F.key;return U===B})})})},[v,y,R]),m.useEffect(function(){var E;if(R&&p.current[(E=y[y.length-1])===null||E===void 0?void 0:E.key]){var U;b(p.current[(U=y[y.length-1])===null||U===void 0?void 0:U.key])}},[y,R]),be.createElement(LTt,so({key:o,className:_n(i,"".concat(i,"-").concat(o),f==null?void 0:f.list,r,_t(_t({},"".concat(i,"-stack"),!!R),"".concat(i,"-stack-expanded"),N)),style:a,keys:y,motionAppear:!0},L,{onAllRemoved:function(){s(o)}}),function(E,U){var F=E.config,B=E.className,_=E.style,Y=E.index,O=F,J=O.key,Z=O.times,ie=String(J),ee=F,q=ee.className,ae=ee.style,ne=ee.classNames,se=ee.styles,le=ir(ee,BPt),te=y.findIndex(function(oe){return oe.key===ie}),he={};if(R){var pe=y.length-1-(te>-1?te:Y-1),fe=o==="top"||o==="bottom"?"-50%":"0";if(pe>0){var $,de,Se;he.height=N?($=p.current[ie])===null||$===void 0?void 0:$.offsetHeight:w==null?void 0:w.offsetHeight;for(var Ce=0,ve=0;ve-1?p.current[ie]=ge:delete p.current[ie]},prefixCls:i,classNames:ne,styles:se,className:_n(q,f==null?void 0:f.notice),style:ae,times:Z,key:J,eventKey:J,onNoticeClose:c,hovering:R&&v.length>0})))})},YPt=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-notification":n,i=t.container,r=t.motion,a=t.maxCount,l=t.className,s=t.style,c=t.onAllRemoved,u=t.stack,d=t.renderNotifications,f=m.useState([]),p=on(f,2),g=p[0],A=p[1],w=function(R){var H,D=g.find(function(k){return k.key===R});D==null||(H=D.onClose)===null||H===void 0||H.call(D),A(function(k){return k.filter(function(W){return W.key!==R})})};m.useImperativeHandle(e,function(){return{open:function(R){A(function(H){var D=Wo(H),k=D.findIndex(function(L){return L.key===R.key}),W=$t({},R);if(k>=0){var N;W.times=(((N=H[k])===null||N===void 0?void 0:N.times)||0)+1,D[k]=W}else W.times=0,D.push(W);return a>0&&D.length>a&&(D=D.slice(-a)),D})},close:function(R){w(R)},destroy:function(){A([])}}});var b=m.useState({}),C=on(b,2),P=C[0],v=C[1];m.useEffect(function(){var x={};g.forEach(function(R){var H=R.placement,D=H===void 0?"topRight":H;D&&(x[D]=x[D]||[],x[D].push(R))}),Object.keys(P).forEach(function(R){x[R]=x[R]||[]}),v(x)},[g]);var T=function(R){v(function(H){var D=$t({},H),k=D[R]||[];return k.length||delete D[R],D})},y=m.useRef(!1);if(m.useEffect(function(){Object.keys(P).length>0?y.current=!0:y.current&&(c==null||c(),y.current=!1)},[P]),!i)return null;var S=Object.keys(P);return Td.createPortal(m.createElement(m.Fragment,null,S.map(function(x){var R=P[x],H=m.createElement(jPt,{key:x,configList:R,placement:x,prefixCls:o,className:l==null?void 0:l(x),style:s==null?void 0:s(x),motion:r,onNoticeClose:w,onAllNoticeRemoved:T,stack:u});return d?d(H,{prefixCls:o,key:x}):H})),i)}),OPt=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],_Pt=function(){return document.body},q7e=0;function VPt(){for(var t={},e=arguments.length,n=new Array(e),o=0;o0&&arguments[0]!==void 0?arguments[0]:{},e=t.getContainer,n=e===void 0?_Pt:e,o=t.motion,i=t.prefixCls,r=t.maxCount,a=t.className,l=t.style,s=t.onAllRemoved,c=t.stack,u=t.renderNotifications,d=ir(t,OPt),f=m.useState(),p=on(f,2),g=p[0],A=p[1],w=m.useRef(),b=m.createElement(YPt,{container:g,ref:w,prefixCls:i,motion:o,maxCount:r,className:a,style:l,onAllRemoved:s,stack:c,renderNotifications:u}),C=m.useState([]),P=on(C,2),v=P[0],T=P[1],y=m.useMemo(function(){return{open:function(x){var R=VPt(d,x);(R.key===null||R.key===void 0)&&(R.key="rc-notification-".concat(q7e),q7e+=1),T(function(H){return[].concat(Wo(H),[{type:"open",config:R}])})},close:function(x){T(function(R){return[].concat(Wo(R),[{type:"close",key:x}])})},destroy:function(){T(function(x){return[].concat(Wo(x),[{type:"destroy"}])})}}},[]);return m.useEffect(function(){A(n())}),m.useEffect(function(){w.current&&v.length&&(v.forEach(function(S){switch(S.type){case"open":w.current.open(S.config);break;case"close":w.current.close(S.key);break;case"destroy":w.current.destroy();break}}),T(function(S){return S.filter(function(x){return!v.includes(x)})}))},[v]),[y,b]}var XPt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},JPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:XPt}))},HH=m.forwardRef(JPt);const yW=be.createContext(void 0),sv=100,KPt=10,_ge=sv*KPt,p_e={Modal:sv,Drawer:sv,Popover:sv,Popconfirm:sv,Tooltip:sv,Tour:sv},qPt={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function $Pt(t){return t in p_e}function k7(t,e){const[,n]=Yu(),o=be.useContext(yW),i=$Pt(t);if(e!==void 0)return[e,e];let r=o??0;return i?(r+=(o?0:n.zIndexPopupBase)+p_e[t],r=Math.min(r,n.zIndexPopupBase+_ge)):r+=qPt[t],[o===void 0?e:r,r]}const QPt=t=>{const{componentCls:e,iconCls:n,boxShadow:o,colorText:i,colorSuccess:r,colorError:a,colorWarning:l,colorInfo:s,fontSizeLG:c,motionEaseInOutCirc:u,motionDurationSlow:d,marginXS:f,paddingXS:p,borderRadiusLG:g,zIndexPopup:A,contentPadding:w,contentBg:b}=t,C=`${e}-notice`,P=new ul("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:p,transform:"translateY(0)",opacity:1}}),v=new ul("MessageMoveOut",{"0%":{maxHeight:t.height,padding:p,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),T={padding:p,textAlign:"center",[`${e}-custom-content > ${n}`]:{verticalAlign:"text-bottom",marginInlineEnd:f,fontSize:c},[`${C}-content`]:{display:"inline-block",padding:w,background:b,borderRadius:g,boxShadow:o,pointerEvents:"all"},[`${e}-success > ${n}`]:{color:r},[`${e}-error > ${n}`]:{color:a},[`${e}-warning > ${n}`]:{color:l},[`${e}-info > ${n}, + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,EPt="".concat(zPt," ").concat(DPt).split(/[\s\n]+/),kPt="aria-",FPt="data-";function G7e(t,e){return t.indexOf(e)===0}function gf(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=$t({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||G7e(i,kPt))||n.data&&G7e(i,FPt)||n.attr&&EPt.includes(i))&&(o[i]=t[i])}),o}var u_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.className,r=t.duration,a=r===void 0?4.5:r,l=t.eventKey,s=t.content,c=t.closable,u=t.closeIcon,d=u===void 0?"x":u,f=t.props,p=t.onClick,g=t.onNoticeClose,A=t.times,w=t.hovering,b=m.useState(!1),C=on(b,2),P=C[0],v=C[1],T=w||P,y=function(){g(l)},S=function(k){(k.key==="Enter"||k.code==="Enter"||k.keyCode===Bn.ENTER)&&y()};m.useEffect(function(){if(!T&&a>0){var D=setTimeout(function(){y()},a*1e3);return function(){clearTimeout(D)}}},[a,T,A]);var x=m.useMemo(function(){return gr(c)==="object"&&c!==null?c:c?{closeIcon:d}:{}},[c,d]),R=gf(x,!0),H="".concat(n,"-notice");return m.createElement("div",so({},f,{ref:e,className:_n(H,i,_t({},"".concat(H,"-closable"),c)),style:o,onMouseEnter:function(k){var W;v(!0),f==null||(W=f.onMouseEnter)===null||W===void 0||W.call(f,k)},onMouseLeave:function(k){var W;v(!1),f==null||(W=f.onMouseLeave)===null||W===void 0||W.call(f,k)},onClick:p}),m.createElement("div",{className:"".concat(H,"-content")},s),c&&m.createElement("a",so({tabIndex:0,className:"".concat(H,"-close"),onKeyDown:S,"aria-label":"Close"},R,{onClick:function(k){k.preventDefault(),k.stopPropagation(),y()}}),x.closeIcon))}),d_e=be.createContext({}),LPt=function(e){var n=e.children,o=e.classNames;return be.createElement(d_e.Provider,{value:{classNames:o}},n)},X7e=8,J7e=3,K7e=16,WPt=function(e){var n={offset:X7e,threshold:J7e,gap:K7e};if(e&&gr(e)==="object"){var o,i,r;n.offset=(o=e.offset)!==null&&o!==void 0?o:X7e,n.threshold=(i=e.threshold)!==null&&i!==void 0?i:J7e,n.gap=(r=e.gap)!==null&&r!==void 0?r:K7e}return[!!e,n]},NPt=["className","style","classNames","styles"],UPt=function(e){var n=e.configList,o=e.placement,i=e.prefixCls,r=e.className,a=e.style,l=e.motion,s=e.onAllNoticeRemoved,c=e.onNoticeClose,u=e.stack,d=m.useContext(d_e),f=d.classNames,p=m.useRef({}),g=m.useState(null),A=on(g,2),w=A[0],b=A[1],C=m.useState([]),P=on(C,2),v=P[0],T=P[1],y=n.map(function(E){return{config:E,key:String(E.key)}}),S=WPt(u),x=on(S,2),R=x[0],H=x[1],D=H.offset,k=H.threshold,W=H.gap,N=R&&(v.length>0||y.length<=k),L=typeof l=="function"?l(o):l;return m.useEffect(function(){R&&v.length>1&&T(function(E){return E.filter(function(U){return y.some(function(F){var B=F.key;return U===B})})})},[v,y,R]),m.useEffect(function(){var E;if(R&&p.current[(E=y[y.length-1])===null||E===void 0?void 0:E.key]){var U;b(p.current[(U=y[y.length-1])===null||U===void 0?void 0:U.key])}},[y,R]),be.createElement(kTt,so({key:o,className:_n(i,"".concat(i,"-").concat(o),f==null?void 0:f.list,r,_t(_t({},"".concat(i,"-stack"),!!R),"".concat(i,"-stack-expanded"),N)),style:a,keys:y,motionAppear:!0},L,{onAllRemoved:function(){s(o)}}),function(E,U){var F=E.config,B=E.className,_=E.style,Y=E.index,O=F,J=O.key,Z=O.times,ie=String(J),ee=F,q=ee.className,ae=ee.style,ne=ee.classNames,se=ee.styles,le=ir(ee,NPt),te=y.findIndex(function(oe){return oe.key===ie}),he={};if(R){var pe=y.length-1-(te>-1?te:Y-1),fe=o==="top"||o==="bottom"?"-50%":"0";if(pe>0){var $,de,Se;he.height=N?($=p.current[ie])===null||$===void 0?void 0:$.offsetHeight:w==null?void 0:w.offsetHeight;for(var Ce=0,ve=0;ve-1?p.current[ie]=ge:delete p.current[ie]},prefixCls:i,classNames:ne,styles:se,className:_n(q,f==null?void 0:f.notice),style:ae,times:Z,key:J,eventKey:J,onNoticeClose:c,hovering:R&&v.length>0})))})},BPt=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-notification":n,i=t.container,r=t.motion,a=t.maxCount,l=t.className,s=t.style,c=t.onAllRemoved,u=t.stack,d=t.renderNotifications,f=m.useState([]),p=on(f,2),g=p[0],A=p[1],w=function(R){var H,D=g.find(function(k){return k.key===R});D==null||(H=D.onClose)===null||H===void 0||H.call(D),A(function(k){return k.filter(function(W){return W.key!==R})})};m.useImperativeHandle(e,function(){return{open:function(R){A(function(H){var D=Wo(H),k=D.findIndex(function(L){return L.key===R.key}),W=$t({},R);if(k>=0){var N;W.times=(((N=H[k])===null||N===void 0?void 0:N.times)||0)+1,D[k]=W}else W.times=0,D.push(W);return a>0&&D.length>a&&(D=D.slice(-a)),D})},close:function(R){w(R)},destroy:function(){A([])}}});var b=m.useState({}),C=on(b,2),P=C[0],v=C[1];m.useEffect(function(){var x={};g.forEach(function(R){var H=R.placement,D=H===void 0?"topRight":H;D&&(x[D]=x[D]||[],x[D].push(R))}),Object.keys(P).forEach(function(R){x[R]=x[R]||[]}),v(x)},[g]);var T=function(R){v(function(H){var D=$t({},H),k=D[R]||[];return k.length||delete D[R],D})},y=m.useRef(!1);if(m.useEffect(function(){Object.keys(P).length>0?y.current=!0:y.current&&(c==null||c(),y.current=!1)},[P]),!i)return null;var S=Object.keys(P);return Td.createPortal(m.createElement(m.Fragment,null,S.map(function(x){var R=P[x],H=m.createElement(UPt,{key:x,configList:R,placement:x,prefixCls:o,className:l==null?void 0:l(x),style:s==null?void 0:s(x),motion:r,onNoticeClose:w,onAllNoticeRemoved:T,stack:u});return d?d(H,{prefixCls:o,key:x}):H})),i)}),jPt=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],YPt=function(){return document.body},q7e=0;function OPt(){for(var t={},e=arguments.length,n=new Array(e),o=0;o0&&arguments[0]!==void 0?arguments[0]:{},e=t.getContainer,n=e===void 0?YPt:e,o=t.motion,i=t.prefixCls,r=t.maxCount,a=t.className,l=t.style,s=t.onAllRemoved,c=t.stack,u=t.renderNotifications,d=ir(t,jPt),f=m.useState(),p=on(f,2),g=p[0],A=p[1],w=m.useRef(),b=m.createElement(BPt,{container:g,ref:w,prefixCls:i,motion:o,maxCount:r,className:a,style:l,onAllRemoved:s,stack:c,renderNotifications:u}),C=m.useState([]),P=on(C,2),v=P[0],T=P[1],y=m.useMemo(function(){return{open:function(x){var R=OPt(d,x);(R.key===null||R.key===void 0)&&(R.key="rc-notification-".concat(q7e),q7e+=1),T(function(H){return[].concat(Wo(H),[{type:"open",config:R}])})},close:function(x){T(function(R){return[].concat(Wo(R),[{type:"close",key:x}])})},destroy:function(){T(function(x){return[].concat(Wo(x),[{type:"destroy"}])})}}},[]);return m.useEffect(function(){A(n())}),m.useEffect(function(){w.current&&v.length&&(v.forEach(function(S){switch(S.type){case"open":w.current.open(S.config);break;case"close":w.current.close(S.key);break;case"destroy":w.current.destroy();break}}),T(function(S){return S.filter(function(x){return!v.includes(x)})}))},[v]),[y,b]}var VPt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},GPt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:VPt}))},HH=m.forwardRef(GPt);const yW=be.createContext(void 0),sv=100,XPt=10,_ge=sv*XPt,f_e={Modal:sv,Drawer:sv,Popover:sv,Popconfirm:sv,Tooltip:sv,Tour:sv},JPt={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function KPt(t){return t in f_e}function k7(t,e){const[,n]=Yu(),o=be.useContext(yW),i=KPt(t);if(e!==void 0)return[e,e];let r=o??0;return i?(r+=(o?0:n.zIndexPopupBase)+f_e[t],r=Math.min(r,n.zIndexPopupBase+_ge)):r+=JPt[t],[o===void 0?e:r,r]}const qPt=t=>{const{componentCls:e,iconCls:n,boxShadow:o,colorText:i,colorSuccess:r,colorError:a,colorWarning:l,colorInfo:s,fontSizeLG:c,motionEaseInOutCirc:u,motionDurationSlow:d,marginXS:f,paddingXS:p,borderRadiusLG:g,zIndexPopup:A,contentPadding:w,contentBg:b}=t,C=`${e}-notice`,P=new ul("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:p,transform:"translateY(0)",opacity:1}}),v=new ul("MessageMoveOut",{"0%":{maxHeight:t.height,padding:p,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),T={padding:p,textAlign:"center",[`${e}-custom-content > ${n}`]:{verticalAlign:"text-bottom",marginInlineEnd:f,fontSize:c},[`${C}-content`]:{display:"inline-block",padding:w,background:b,borderRadius:g,boxShadow:o,pointerEvents:"all"},[`${e}-success > ${n}`]:{color:r},[`${e}-error > ${n}`]:{color:a},[`${e}-warning > ${n}`]:{color:l},[`${e}-info > ${n}, ${e}-loading > ${n}`]:{color:s}};return[{[e]:Object.assign(Object.assign({},$a(t)),{color:i,position:"fixed",top:f,width:"100%",pointerEvents:"none",zIndex:A,[`${e}-move-up`]:{animationFillMode:"forwards"},[` ${e}-move-up-appear, ${e}-move-up-enter `]:{animationName:P,animationDuration:d,animationPlayState:"paused",animationTimingFunction:u},[` ${e}-move-up-appear${e}-move-up-appear-active, ${e}-move-up-enter${e}-move-up-enter-active - `]:{animationPlayState:"running"},[`${e}-move-up-leave`]:{animationName:v,animationDuration:d,animationPlayState:"paused",animationTimingFunction:u},[`${e}-move-up-leave${e}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[e]:{[`${C}-wrapper`]:Object.assign({},T)}},{[`${e}-notice-pure-panel`]:Object.assign(Object.assign({},T),{padding:0,textAlign:"start"})}]},ZPt=t=>({zIndexPopup:t.zIndexPopupBase+_ge+10,contentBg:t.colorBgElevated,contentPadding:`${(t.controlHeightLG-t.fontSize*t.lineHeight)/2}px ${t.paddingSM}px`}),g_e=Fl("Message",t=>{const e=Zr(t,{height:150});return[QPt(e)]},ZPt);var eCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{prefixCls:e,type:n,icon:o,children:i}=t;return m.createElement("div",{className:Gn(`${e}-custom-content`,`${e}-${n}`)},o||tCt[n],m.createElement("span",null,i))},nCt=t=>{const{prefixCls:e,className:n,type:o,icon:i,content:r}=t,a=eCt(t,["prefixCls","className","type","icon","content"]),{getPrefixCls:l}=m.useContext(Mi),s=e||l("message"),c=j0(s),[u,d,f]=g_e(s,c);return u(m.createElement(f_e,Object.assign({},a,{prefixCls:s,className:Gn(n,d,`${s}-notice-pure-panel`,f,c),eventKey:"pure",duration:null,content:m.createElement(m_e,{prefixCls:s,type:o,icon:i},r)})))};function oCt(t,e){return{motionName:e??`${t}-move-up`}}function Vge(t){let e;const n=new Promise(i=>{e=t(()=>{i(!0)})}),o=()=>{e==null||e()};return o.then=(i,r)=>n.then(i,r),o.promise=n,o}var iCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{children:e,prefixCls:n}=t;const o=j0(n),[i,r,a]=g_e(n,o);return i(m.createElement(NPt,{classNames:{list:Gn(r,a,o)}},e))},sCt=(t,e)=>{let{prefixCls:n,key:o}=e;return m.createElement(lCt,{prefixCls:n,key:o},t)},cCt=m.forwardRef((t,e)=>{const{top:n,prefixCls:o,getContainer:i,maxCount:r,duration:a=aCt,rtl:l,transitionName:s,onAllRemoved:c}=t,{getPrefixCls:u,getPopupContainer:d,message:f,direction:p}=m.useContext(Mi),g=o||u("message"),A=()=>({left:"50%",transform:"translateX(-50%)",top:n??rCt}),w=()=>Gn({[`${g}-rtl`]:l??p==="rtl"}),b=()=>oCt(g,s),C=m.createElement("span",{className:`${g}-close-x`},m.createElement(E7,{className:`${g}-close-icon`})),[P,v]=GPt({prefixCls:g,style:A,className:w,motion:b,closable:!1,closeIcon:C,duration:a,getContainer:()=>(i==null?void 0:i())||(d==null?void 0:d())||document.body,maxCount:r,onAllRemoved:c,renderNotifications:sCt});return m.useImperativeHandle(e,()=>Object.assign(Object.assign({},P),{prefixCls:g,message:f})),v});let $7e=0;function y_e(t){const e=m.useRef(null);return Hb(),[m.useMemo(()=>{const o=s=>{var c;(c=e.current)===null||c===void 0||c.close(s)},i=s=>{if(!e.current){const y=()=>{};return y.then=()=>{},y}const{open:c,prefixCls:u,message:d}=e.current,f=`${u}-notice`,{content:p,icon:g,type:A,key:w,className:b,style:C,onClose:P}=s,v=iCt(s,["content","icon","type","key","className","style","onClose"]);let T=w;return T==null&&($7e+=1,T=`antd-message-${$7e}`),Vge(y=>(c(Object.assign(Object.assign({},v),{key:T,content:m.createElement(m_e,{prefixCls:u,type:A,icon:g},p),placement:"top",className:Gn(A&&`${f}-${A}`,b,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),C),onClose:()=>{P==null||P(),y()}})),()=>{o(T)}))},a={open:i,destroy:s=>{var c;s!==void 0?o(s):(c=e.current)===null||c===void 0||c.destroy()}};return["info","success","warning","error","loading"].forEach(s=>{const c=(u,d,f)=>{let p;u&&typeof u=="object"&&"content"in u?p=u:p={content:u};let g,A;typeof d=="function"?A=d:(g=d,A=f);const w=Object.assign(Object.assign({onClose:A,duration:g},p),{type:s});return i(w)};a[s]=c}),a},[]),m.createElement(cCt,Object.assign({key:"message-holder"},t,{ref:e}))]}function uCt(t){return y_e(t)}function dCt(){const[t,e]=m.useState([]),n=m.useCallback(o=>(e(i=>[].concat(Xa(i),[o])),()=>{e(i=>i.filter(r=>r!==o))}),[]);return[t,n]}function Ok(){Ok=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(E,U,F){E[U]=F.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(E,U,F){return Object.defineProperty(E,U,{value:F,enumerable:!0,configurable:!0,writable:!0}),E[U]}try{c({},"")}catch{c=function(F,B,_){return F[B]=_}}function u(E,U,F,B){var _=U&&U.prototype instanceof b?U:b,Y=Object.create(_.prototype),O=new N(B||[]);return i(Y,"_invoke",{value:H(E,F,O)}),Y}function d(E,U,F){try{return{type:"normal",arg:E.call(U,F)}}catch(B){return{type:"throw",arg:B}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",A="completed",w={};function b(){}function C(){}function P(){}var v={};c(v,a,function(){return this});var T=Object.getPrototypeOf,y=T&&T(T(L([])));y&&y!==n&&o.call(y,a)&&(v=y);var S=P.prototype=b.prototype=Object.create(v);function x(E){["next","throw","return"].forEach(function(U){c(E,U,function(F){return this._invoke(U,F)})})}function R(E,U){function F(_,Y,O,J){var Z=d(E[_],E,Y);if(Z.type!=="throw"){var ie=Z.arg,ee=ie.value;return ee&&Cg(ee)=="object"&&o.call(ee,"__await")?U.resolve(ee.__await).then(function(q){F("next",q,O,J)},function(q){F("throw",q,O,J)}):U.resolve(ee).then(function(q){ie.value=q,O(ie)},function(q){return F("throw",q,O,J)})}J(Z.arg)}var B;i(this,"_invoke",{value:function(Y,O){function J(){return new U(function(Z,ie){F(Y,O,Z,ie)})}return B=B?B.then(J,J):J()}})}function H(E,U,F){var B=f;return function(_,Y){if(B===g)throw new Error("Generator is already running");if(B===A){if(_==="throw")throw Y;return{value:t,done:!0}}for(F.method=_,F.arg=Y;;){var O=F.delegate;if(O){var J=D(O,F);if(J){if(J===w)continue;return J}}if(F.method==="next")F.sent=F._sent=F.arg;else if(F.method==="throw"){if(B===f)throw B=A,F.arg;F.dispatchException(F.arg)}else F.method==="return"&&F.abrupt("return",F.arg);B=g;var Z=d(E,U,F);if(Z.type==="normal"){if(B=F.done?A:p,Z.arg===w)continue;return{value:Z.arg,done:F.done}}Z.type==="throw"&&(B=A,F.method="throw",F.arg=Z.arg)}}}function D(E,U){var F=U.method,B=E.iterator[F];if(B===t)return U.delegate=null,F==="throw"&&E.iterator.return&&(U.method="return",U.arg=t,D(E,U),U.method==="throw")||F!=="return"&&(U.method="throw",U.arg=new TypeError("The iterator does not provide a '"+F+"' method")),w;var _=d(B,E.iterator,U.arg);if(_.type==="throw")return U.method="throw",U.arg=_.arg,U.delegate=null,w;var Y=_.arg;return Y?Y.done?(U[E.resultName]=Y.value,U.next=E.nextLoc,U.method!=="return"&&(U.method="next",U.arg=t),U.delegate=null,w):Y:(U.method="throw",U.arg=new TypeError("iterator result is not an object"),U.delegate=null,w)}function k(E){var U={tryLoc:E[0]};1 in E&&(U.catchLoc=E[1]),2 in E&&(U.finallyLoc=E[2],U.afterLoc=E[3]),this.tryEntries.push(U)}function W(E){var U=E.completion||{};U.type="normal",delete U.arg,E.completion=U}function N(E){this.tryEntries=[{tryLoc:"root"}],E.forEach(k,this),this.reset(!0)}function L(E){if(E||E===""){var U=E[a];if(U)return U.call(E);if(typeof E.next=="function")return E;if(!isNaN(E.length)){var F=-1,B=function _(){for(;++F=0;--_){var Y=this.tryEntries[_],O=Y.completion;if(Y.tryLoc==="root")return B("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Z=o.call(Y,"finallyLoc");if(J&&Z){if(this.prev=0;--B){var _=this.tryEntries[B];if(_.tryLoc<=this.prev&&o.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var Y=_;break}}Y&&(U==="break"||U==="continue")&&Y.tryLoc<=F&&F<=Y.finallyLoc&&(Y=null);var O=Y?Y.completion:{};return O.type=U,O.arg=F,Y?(this.method="next",this.next=Y.finallyLoc,w):this.complete(O)},complete:function(U,F){if(U.type==="throw")throw U.arg;return U.type==="break"||U.type==="continue"?this.next=U.arg:U.type==="return"?(this.rval=this.arg=U.arg,this.method="return",this.next="end"):U.type==="normal"&&F&&(this.next=F),w},finish:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.finallyLoc===U)return this.complete(B.completion,B.afterLoc),W(B),w}},catch:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.tryLoc===U){var _=B.completion;if(_.type==="throw"){var Y=_.arg;W(B)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(U,F,B){return this.delegate={iterator:L(U),resultName:F,nextLoc:B},this.method==="next"&&(this.arg=t),w}},e}function Q7e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function A_e(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){Q7e(r,o,i,a,l,"next",s)}function l(s){Q7e(r,o,i,a,l,"throw",s)}a(void 0)})}}var AW=$C({},Lut),fCt=AW.version,hCt=AW.render,pCt=AW.unmountComponentAtNode,s$;try{var gCt=Number((fCt||"").split(".")[0]);gCt>=18&&(s$=AW.createRoot)}catch{}function Z7e(t){var e=AW.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e&&Cg(e)==="object"&&(e.usingClientEntryPoint=t)}var yG="__rc_react_root__";function mCt(t,e){Z7e(!0);var n=e[yG]||s$(e);Z7e(!1),n.render(t),e[yG]=n}function yCt(t,e){hCt(t,e)}function Gge(t,e){if(s$){mCt(t,e);return}yCt(t,e)}function ACt(t){return n0e.apply(this,arguments)}function n0e(){return n0e=A_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",Promise.resolve().then(function(){var i;(i=e[yG])===null||i===void 0||i.unmount(),delete e[yG]}));case 1:case"end":return o.stop()}},t)})),n0e.apply(this,arguments)}function wCt(t){pCt(t)}function w_e(t){return o0e.apply(this,arguments)}function o0e(){return o0e=A_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(s$===void 0){o.next=2;break}return o.abrupt("return",ACt(e));case 2:wCt(e);case 3:case"end":return o.stop()}},t)})),o0e.apply(this,arguments)}const vie=()=>({height:0,opacity:0}),e8e=t=>{const{scrollHeight:e}=t;return{height:e,opacity:1}},vCt=t=>({height:t?t.offsetHeight:0}),xie=(t,e)=>(e==null?void 0:e.deadline)===!0||e.propertyName==="height",Xge=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:vie,onEnterStart:vie,onAppearActive:e8e,onEnterActive:e8e,onLeaveStart:vCt,onLeaveActive:vie,onAppearEnd:xie,onEnterEnd:xie,onLeaveEnd:xie,motionDeadline:500}},D9=(t,e,n)=>n!==void 0?n:`${t}-${e}`,xCt=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1},bCt=t=>{const{componentCls:e,colorPrimary:n}=t;return{[e]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${n})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${t.motionEaseOutCirc}`,`opacity 2s ${t.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${t.motionDurationSlow} ${t.motionEaseInOut}`,`opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`].join(",")}}}}},SCt=Uge("Wave",t=>[bCt(t)]),c$="ant-wave-target";function TCt(t){const e=(t||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return e&&e[1]&&e[2]&&e[3]?!(e[1]===e[2]&&e[2]===e[3]):!0}function bie(t){return t&&t!=="#fff"&&t!=="#ffffff"&&t!=="rgb(255, 255, 255)"&&t!=="rgba(255, 255, 255, 1)"&&TCt(t)&&!/rgba\((?:\d*, ){3}0\)/.test(t)&&t!=="transparent"}function PCt(t){const{borderTopColor:e,borderColor:n,backgroundColor:o}=getComputedStyle(t);return bie(e)?e:bie(n)?n:bie(o)?o:null}function Sie(t){return Number.isNaN(t)?0:t}const CCt=t=>{const{className:e,target:n,component:o}=t,i=m.useRef(null),[r,a]=m.useState(null),[l,s]=m.useState([]),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=m.useState(0),[A,w]=m.useState(0),[b,C]=m.useState(!1),P={left:c,top:d,width:p,height:A,borderRadius:l.map(y=>`${y}px`).join(" ")};r&&(P["--wave-color"]=r);function v(){const y=getComputedStyle(n);a(PCt(n));const S=y.position==="static",{borderLeftWidth:x,borderTopWidth:R}=y;u(S?n.offsetLeft:Sie(-parseFloat(x))),f(S?n.offsetTop:Sie(-parseFloat(R))),g(n.offsetWidth),w(n.offsetHeight);const{borderTopLeftRadius:H,borderTopRightRadius:D,borderBottomLeftRadius:k,borderBottomRightRadius:W}=y;s([H,D,W,k].map(N=>Sie(parseFloat(N))))}if(m.useEffect(()=>{if(n){const y=Rg(()=>{v(),C(!0)});let S;return typeof ResizeObserver<"u"&&(S=new ResizeObserver(v),S.observe(n)),()=>{Rg.cancel(y),S==null||S.disconnect()}}},[]),!b)return null;const T=(o==="Checkbox"||o==="Radio")&&(n==null?void 0:n.classList.contains(c$));return m.createElement(Hg,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(y,S)=>{var x;if(S.deadline||S.propertyName==="opacity"){const R=(x=i.current)===null||x===void 0?void 0:x.parentElement;w_e(R).then(()=>{R==null||R.remove()})}return!1}},y=>{let{className:S}=y;return m.createElement("div",{ref:i,className:Gn(e,{"wave-quick":T},S),style:P})})},RCt=(t,e)=>{var n;const{component:o}=e;if(o==="Checkbox"&&!(!((n=t.querySelector("input"))===null||n===void 0)&&n.checked))return;const i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",t==null||t.insertBefore(i,t==null?void 0:t.firstChild),Gge(m.createElement(CCt,Object.assign({},e,{target:t})),i)},HCt=(t,e,n)=>{const{wave:o}=m.useContext(Mi),[,i,r]=Yu(),a=O6(c=>{const u=t.current;if(o!=null&&o.disabled||!u)return;const d=u.querySelector(`.${c$}`)||u,{showEffect:f}=o||{};(f||RCt)(d,{className:e,token:i,component:n,event:c,hashId:r})}),l=m.useRef();return c=>{Rg.cancel(l.current),l.current=Rg(()=>{a(c)})}},wW=t=>{const{children:e,disabled:n,component:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=m.useRef(null),a=i("wave"),[,l]=SCt(a),s=HCt(r,Gn(a,l),o);if(be.useEffect(()=>{const u=r.current;if(!u||u.nodeType!==1||n)return;const d=f=>{!xCt(f.target)||!u.getAttribute||u.getAttribute("disabled")||u.disabled||u.className.includes("disabled")||u.className.includes("-leave")||s(f)};return u.addEventListener("click",d,!0),()=>{u.removeEventListener("click",d,!0)}},[n]),!be.isValidElement(e))return e??null;const c=IOe(e)?q2(e.ref,r):r;return Ou(e,{ref:c})},Rd=t=>{const e=be.useContext(tR);return be.useMemo(()=>t?typeof t=="string"?t??e:t instanceof Function?t(e):e:e,[t,e])};function E9(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return be.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(E9(o)):gC.isFragment(o)&&o.props?n=n.concat(E9(o.props.children,e)):n.push(o))}),n}const MCt=t=>{const{componentCls:e}=t;return{[e]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},ICt=t=>{const{componentCls:e,antCls:n}=t;return{[e]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${e}-item:empty`]:{display:"none"},[`${e}-item > ${n}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},zCt=t=>{const{componentCls:e}=t;return{[e]:{"&-gap-row-small":{rowGap:t.spaceGapSmallSize},"&-gap-row-middle":{rowGap:t.spaceGapMiddleSize},"&-gap-row-large":{rowGap:t.spaceGapLargeSize},"&-gap-col-small":{columnGap:t.spaceGapSmallSize},"&-gap-col-middle":{columnGap:t.spaceGapMiddleSize},"&-gap-col-large":{columnGap:t.spaceGapLargeSize}}}},v_e=Fl("Space",t=>{const e=Zr(t,{spaceGapSmallSize:t.paddingXS,spaceGapMiddleSize:t.padding,spaceGapLargeSize:t.paddingLG});return[ICt(e),zCt(e),MCt(e)]},()=>({}),{resetStyle:!1});var x_e=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=m.useContext(u$),o=m.useMemo(()=>{if(!n)return"";const{compactDirection:i,isFirstItem:r,isLastItem:a}=n,l=i==="vertical"?"-vertical-":"-";return Gn(`${t}-compact${l}item`,{[`${t}-compact${l}first-item`]:r,[`${t}-compact${l}last-item`]:a,[`${t}-compact${l}item-rtl`]:e==="rtl"})},[t,e,n]);return{compactSize:n==null?void 0:n.compactSize,compactDirection:n==null?void 0:n.compactDirection,compactItemClassnames:o}},k9=t=>{let{children:e}=t;return m.createElement(u$.Provider,{value:null},e)},DCt=t=>{var{children:e}=t,n=x_e(t,["children"]);return m.createElement(u$.Provider,{value:n},e)},ECt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{size:o,direction:i,block:r,prefixCls:a,className:l,rootClassName:s,children:c}=t,u=x_e(t,["size","direction","block","prefixCls","className","rootClassName","children"]),d=Rd(P=>o??P),f=e("space-compact",a),[p,g]=v_e(f),A=Gn(f,g,{[`${f}-rtl`]:n==="rtl",[`${f}-block`]:r,[`${f}-vertical`]:i==="vertical"},l,s),w=m.useContext(u$),b=E9(c),C=m.useMemo(()=>b.map((P,v)=>{const T=P&&P.key||`${f}-item-${v}`;return m.createElement(DCt,{key:T,compactSize:d,compactDirection:i,isFirstItem:v===0&&(!w||(w==null?void 0:w.isFirstItem)),isLastItem:v===b.length-1&&(!w||(w==null?void 0:w.isLastItem))},P)}),[o,b,w]);return b.length===0?null:p(m.createElement("div",Object.assign({className:A},u),C))},kCt=ECt;var FCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,size:i,className:r}=t,a=FCt(t,["prefixCls","size","className"]),l=e("btn-group",o),[,,s]=Yu();let c="";switch(i){case"large":c="lg";break;case"small":c="sm";break}const u=Gn(l,{[`${l}-${c}`]:c,[`${l}-rtl`]:n==="rtl"},r,s);return m.createElement(b_e.Provider,{value:i},m.createElement("div",Object.assign({},a,{className:u})))},t8e=/^[\u4e00-\u9fa5]{2}$/,i0e=t8e.test.bind(t8e);function S_e(t){return t==="danger"?{danger:!0}:{type:t}}function n8e(t){return typeof t=="string"}function Tie(t){return t==="text"||t==="link"}function WCt(t,e){if(t==null)return;const n=e?" ":"";return typeof t!="string"&&typeof t!="number"&&n8e(t.type)&&i0e(t.props.children)?Ou(t,{children:t.props.children.split("").join(n)}):n8e(t)?i0e(t)?be.createElement("span",null,t.split("").join(n)):be.createElement("span",null,t):u_e(t)?be.createElement("span",null,t):t}function NCt(t,e){let n=!1;const o=[];return be.Children.forEach(t,i=>{const r=typeof i,a=r==="string"||r==="number";if(n&&a){const l=o.length-1,s=o[l];o[l]=`${s}${i}`}else o.push(i);n=a}),be.Children.map(o,i=>WCt(i,e))}const T_e=m.forwardRef((t,e)=>{const{className:n,style:o,children:i,prefixCls:r}=t,a=Gn(`${r}-icon`,n);return be.createElement("span",{ref:e,className:a,style:o},i)}),o8e=m.forwardRef((t,e)=>{const{prefixCls:n,className:o,style:i,iconClassName:r,iconPosition:a="start"}=t,l=Gn(o,{[`${n}-loading-icon-end`]:a==="end",[`${n}-loading-icon`]:a==="start"});return be.createElement(T_e,{prefixCls:n,className:l,style:i,ref:e},be.createElement(HH,{className:r}))}),Pie=()=>({width:0,opacity:0,transform:"scale(0)"}),Cie=t=>({width:t.scrollWidth,opacity:1,transform:"scale(1)"}),UCt=t=>{const{prefixCls:e,loading:n,existIcon:o,className:i,style:r,iconPosition:a}=t,l=!!n;return o?be.createElement(o8e,{prefixCls:e,className:i,style:r,iconPosition:a}):be.createElement(Hg,{visible:l,motionName:`${e}-loading-icon-motion`,motionLeave:l,removeOnLeave:!0,onAppearStart:Pie,onAppearActive:Cie,onEnterStart:Pie,onEnterActive:Cie,onLeaveStart:Cie,onLeaveActive:Pie},(s,c)=>{let{className:u,style:d}=s;return be.createElement(o8e,{prefixCls:e,className:i,style:Object.assign(Object.assign({},r),d),ref:c,iconClassName:u,iconPosition:a})})},i8e=(t,e)=>({[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineEndColor:e}}},"&:not(:first-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineStartColor:e}}}}}),BCt=t=>{const{componentCls:e,fontSize:n,lineWidth:o,groupBorderColor:i,colorErrorHover:r}=t;return{[`${e}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:t.calc(o).mul(-1).equal(),[`&, & > ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[e]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${e}-icon-only`]:{fontSize:n}},i8e(`${e}-primary`,i),i8e(`${e}-danger`,r)]}},P_e=t=>{const{paddingInline:e,onlyIconSize:n,paddingBlock:o}=t;return Zr(t,{buttonPaddingHorizontal:e,buttonPaddingVertical:o,buttonIconOnlyFontSize:n})},C_e=t=>{var e,n,o,i,r,a;const l=(e=t.contentFontSize)!==null&&e!==void 0?e:t.fontSize,s=(n=t.contentFontSizeSM)!==null&&n!==void 0?n:t.fontSize,c=(o=t.contentFontSizeLG)!==null&&o!==void 0?o:t.fontSizeLG,u=(i=t.contentLineHeight)!==null&&i!==void 0?i:I_(l),d=(r=t.contentLineHeightSM)!==null&&r!==void 0?r:I_(s),f=(a=t.contentLineHeightLG)!==null&&a!==void 0?a:I_(c);return{fontWeight:400,defaultShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlTmpOutline}`,primaryShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlOutline}`,dangerShadow:`0 ${t.controlOutlineWidth}px 0 ${t.colorErrorOutline}`,primaryColor:t.colorTextLightSolid,dangerColor:t.colorTextLightSolid,borderColorDisabled:t.colorBorder,defaultGhostColor:t.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:t.colorBgContainer,paddingInline:t.paddingContentHorizontal-t.lineWidth,paddingInlineLG:t.paddingContentHorizontal-t.lineWidth,paddingInlineSM:8-t.lineWidth,onlyIconSize:t.fontSizeLG,onlyIconSizeSM:t.fontSizeLG-2,onlyIconSizeLG:t.fontSizeLG+2,groupBorderColor:t.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:t.colorBgTextHover,defaultColor:t.colorText,defaultBg:t.colorBgContainer,defaultBorderColor:t.colorBorder,defaultBorderColorDisabled:t.colorBorder,defaultHoverBg:t.colorBgContainer,defaultHoverColor:t.colorPrimaryHover,defaultHoverBorderColor:t.colorPrimaryHover,defaultActiveBg:t.colorBgContainer,defaultActiveColor:t.colorPrimaryActive,defaultActiveBorderColor:t.colorPrimaryActive,contentFontSize:l,contentFontSizeSM:s,contentFontSizeLG:c,contentLineHeight:u,contentLineHeightSM:d,contentLineHeightLG:f,paddingBlock:Math.max((t.controlHeight-l*u)/2-t.lineWidth,0),paddingBlockSM:Math.max((t.controlHeightSM-s*d)/2-t.lineWidth,0),paddingBlockLG:Math.max((t.controlHeightLG-c*f)/2-t.lineWidth,0)}},jCt=t=>{const{componentCls:e,iconCls:n,fontWeight:o}=t;return{[e]:{outline:"none",position:"relative",display:"inline-block",fontWeight:o,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,cursor:"pointer",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:t.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${e}-icon`]:{lineHeight:0,"&-end":{marginInlineStart:t.marginXS}},[`> ${n} + span, > span + ${n}`]:{marginInlineStart:t.marginXS},[`&:not(${e}-icon-only) > ${e}-icon`]:{[`&${e}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:t.marginXS},[`&${e}-loading-icon-end`]:{marginInlineStart:t.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},V6(t)),[`&${e}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${e}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${e}-compact-item`]:{flex:"none"}}}},G6=(t,e,n)=>({[`&:not(:disabled):not(${t}-disabled)`]:{"&:hover":e,"&:active":n}}),YCt=t=>({minWidth:t.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),OCt=t=>({borderRadius:t.controlHeight,paddingInlineStart:t.calc(t.controlHeight).div(2).equal(),paddingInlineEnd:t.calc(t.controlHeight).div(2).equal()}),_Ct=t=>({cursor:"not-allowed",borderColor:t.borderColorDisabled,color:t.colorTextDisabled,background:t.colorBgContainerDisabled,boxShadow:"none"}),_k=(t,e,n,o,i,r,a,l)=>({[`&${t}-background-ghost`]:Object.assign(Object.assign({color:n||void 0,background:e,borderColor:o||void 0,boxShadow:"none"},G6(t,Object.assign({background:e},a),Object.assign({background:e},l))),{"&:disabled":{cursor:"not-allowed",color:i||void 0,borderColor:r||void 0}})}),Jge=t=>({[`&:disabled, &${t.componentCls}-disabled`]:Object.assign({},_Ct(t))}),R_e=t=>Object.assign({},Jge(t)),AG=t=>({[`&:disabled, &${t.componentCls}-disabled`]:{cursor:"not-allowed",color:t.colorTextDisabled}}),H_e=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},R_e(t)),{background:t.defaultBg,borderColor:t.defaultBorderColor,color:t.defaultColor,boxShadow:t.defaultShadow}),G6(t.componentCls,{color:t.defaultHoverColor,borderColor:t.defaultHoverBorderColor,background:t.defaultHoverBg},{color:t.defaultActiveColor,borderColor:t.defaultActiveBorderColor,background:t.defaultActiveBg})),_k(t.componentCls,t.ghostBg,t.defaultGhostColor,t.defaultGhostBorderColor,t.colorTextDisabled,t.colorBorder)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:t.colorError,borderColor:t.colorError},G6(t.componentCls,{color:t.colorErrorHover,borderColor:t.colorErrorBorderHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder)),Jge(t))}),VCt=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},R_e(t)),{color:t.primaryColor,background:t.colorPrimary,boxShadow:t.primaryShadow}),G6(t.componentCls,{color:t.colorTextLightSolid,background:t.colorPrimaryHover},{color:t.colorTextLightSolid,background:t.colorPrimaryActive})),_k(t.componentCls,t.ghostBg,t.colorPrimary,t.colorPrimary,t.colorTextDisabled,t.colorBorder,{color:t.colorPrimaryHover,borderColor:t.colorPrimaryHover},{color:t.colorPrimaryActive,borderColor:t.colorPrimaryActive})),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({background:t.colorError,boxShadow:t.dangerShadow,color:t.dangerColor},G6(t.componentCls,{background:t.colorErrorHover},{background:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder,{color:t.colorErrorHover,borderColor:t.colorErrorHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),Jge(t))}),GCt=t=>Object.assign(Object.assign({},H_e(t)),{borderStyle:"dashed"}),XCt=t=>Object.assign(Object.assign(Object.assign({color:t.colorLink},G6(t.componentCls,{color:t.colorLinkHover,background:t.linkHoverBg},{color:t.colorLinkActive})),AG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},G6(t.componentCls,{color:t.colorErrorHover},{color:t.colorErrorActive})),AG(t))}),JCt=t=>Object.assign(Object.assign(Object.assign({},G6(t.componentCls,{color:t.colorText,background:t.textHoverBg},{color:t.colorText,background:t.colorBgTextActive})),AG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},AG(t)),G6(t.componentCls,{color:t.colorErrorHover,background:t.colorErrorBg},{color:t.colorErrorHover,background:t.colorErrorBg}))}),KCt=t=>{const{componentCls:e}=t;return{[`${e}-default`]:H_e(t),[`${e}-primary`]:VCt(t),[`${e}-dashed`]:GCt(t),[`${e}-link`]:XCt(t),[`${e}-text`]:JCt(t),[`${e}-ghost`]:_k(t.componentCls,t.ghostBg,t.colorBgContainer,t.colorBgContainer,t.colorTextDisabled,t.colorBorder)}},Kge=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:n,controlHeight:o,fontSize:i,lineHeight:r,borderRadius:a,buttonPaddingHorizontal:l,iconCls:s,buttonPaddingVertical:c}=t,u=`${n}-icon-only`;return[{[`${e}`]:{fontSize:i,lineHeight:r,height:o,padding:`${Ut(c)} ${Ut(l)}`,borderRadius:a,[`&${u}`]:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:o,paddingInlineStart:0,paddingInlineEnd:0,[`&${n}-round`]:{width:"auto"},[s]:{fontSize:t.buttonIconOnlyFontSize}},[`&${n}-loading`]:{opacity:t.opacityLoading,cursor:"default"},[`${n}-loading-icon`]:{transition:`width ${t.motionDurationSlow} ${t.motionEaseInOut}, opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`}}},{[`${n}${n}-circle${e}`]:YCt(t)},{[`${n}${n}-round${e}`]:OCt(t)}]},qCt=t=>{const e=Zr(t,{fontSize:t.contentFontSize,lineHeight:t.contentLineHeight});return Kge(e,t.componentCls)},$Ct=t=>{const e=Zr(t,{controlHeight:t.controlHeightSM,fontSize:t.contentFontSizeSM,lineHeight:t.contentLineHeightSM,padding:t.paddingXS,buttonPaddingHorizontal:t.paddingInlineSM,buttonPaddingVertical:t.paddingBlockSM,borderRadius:t.borderRadiusSM,buttonIconOnlyFontSize:t.onlyIconSizeSM});return Kge(e,`${t.componentCls}-sm`)},QCt=t=>{const e=Zr(t,{controlHeight:t.controlHeightLG,fontSize:t.contentFontSizeLG,lineHeight:t.contentLineHeightLG,buttonPaddingHorizontal:t.paddingInlineLG,buttonPaddingVertical:t.paddingBlockLG,borderRadius:t.borderRadiusLG,buttonIconOnlyFontSize:t.onlyIconSizeLG});return Kge(e,`${t.componentCls}-lg`)},ZCt=t=>{const{componentCls:e}=t;return{[e]:{[`&${e}-block`]:{width:"100%"}}}},eRt=Fl("Button",t=>{const e=P_e(t);return[jCt(e),qCt(e),$Ct(e),QCt(e),ZCt(e),KCt(e),BCt(e)]},C_e,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function tRt(t,e,n){const{focusElCls:o,focus:i,borderElCls:r}=n,a=r?"> *":"",l=["hover",i?"focus":null,"active"].filter(Boolean).map(s=>`&:${s} ${a}`).join(",");return{[`&-item:not(${e}-last-item)`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[l]:{zIndex:2}},o?{[`&${o}`]:{zIndex:2}}:{}),{[`&[disabled] ${a}`]:{zIndex:0}})}}function nRt(t,e,n){const{borderElCls:o}=n,i=o?`> ${o}`:"";return{[`&-item:not(${e}-first-item):not(${e}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${e}-last-item)${e}-first-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${e}-first-item)${e}-last-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function vW(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:n}=t,o=`${n}-compact`;return{[o]:Object.assign(Object.assign({},tRt(t,o,e)),nRt(n,o,e))}}function oRt(t,e){return{[`&-item:not(${e}-last-item)`]:{marginBottom:t.calc(t.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function iRt(t,e){return{[`&-item:not(${e}-first-item):not(${e}-last-item)`]:{borderRadius:0},[`&-item${e}-first-item:not(${e}-last-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${e}-last-item:not(${e}-first-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function rRt(t){const e=`${t.componentCls}-compact-vertical`;return{[e]:Object.assign(Object.assign({},oRt(t,e)),iRt(t.componentCls,e))}}const aRt=t=>{const{componentCls:e,calc:n}=t;return{[e]:{[`&-compact-item${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:t.lineWidth,height:`calc(100% + ${Ut(t.lineWidth)} * 2)`,backgroundColor:t.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-vertical-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${Ut(t.lineWidth)} * 2)`,height:t.lineWidth,backgroundColor:t.colorPrimaryHover,content:'""'}}}}}}},lRt=mW(["Button","compact"],t=>{const e=P_e(t);return[vW(e),rRt(e),aRt(e)]},C_e);var sRt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{loading:r=!1,prefixCls:a,type:l,danger:s,shape:c="default",size:u,styles:d,disabled:f,className:p,rootClassName:g,children:A,icon:w,iconPosition:b="start",ghost:C=!1,block:P=!1,htmlType:v="button",classNames:T,style:y={},autoInsertSpace:S}=t,x=sRt(t,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),R=l||"default",{getPrefixCls:H,direction:D,button:k}=m.useContext(Mi),W=(n=S??(k==null?void 0:k.autoInsertSpace))!==null&&n!==void 0?n:!0,N=H("btn",a),[L,E,U]=eRt(N),F=m.useContext($p),B=f??F,_=m.useContext(b_e),Y=m.useMemo(()=>cRt(r),[r]),[O,J]=m.useState(Y.loading),[Z,ie]=m.useState(!1),q=q2(e,m.createRef()),ae=m.Children.count(A)===1&&!w&&!Tie(R);m.useEffect(()=>{let Ae=null;Y.delay>0?Ae=setTimeout(()=>{Ae=null,J(!0)},Y.delay):J(Y.loading);function me(){Ae&&(clearTimeout(Ae),Ae=null)}return me},[Y]),m.useEffect(()=>{if(!q||!q.current||!W)return;const Ae=q.current.textContent;ae&&i0e(Ae)?Z||ie(!0):Z&&ie(!1)},[q]);const ne=Ae=>{const{onClick:me}=t;if(O||B){Ae.preventDefault();return}me==null||me(Ae)},{compactSize:se,compactItemClassnames:le}=F7(N,D),te={large:"lg",small:"sm",middle:void 0},he=Rd(Ae=>{var me,Pe;return(Pe=(me=u??se)!==null&&me!==void 0?me:_)!==null&&Pe!==void 0?Pe:Ae}),pe=he&&te[he]||"",fe=O?"loading":w,$=lp(x,["navigate"]),de=Gn(N,E,U,{[`${N}-${c}`]:c!=="default"&&c,[`${N}-${R}`]:R,[`${N}-${pe}`]:pe,[`${N}-icon-only`]:!A&&A!==0&&!!fe,[`${N}-background-ghost`]:C&&!Tie(R),[`${N}-loading`]:O,[`${N}-two-chinese-chars`]:Z&&W&&!O,[`${N}-block`]:P,[`${N}-dangerous`]:!!s,[`${N}-rtl`]:D==="rtl"},le,p,g,k==null?void 0:k.className),Se=Object.assign(Object.assign({},k==null?void 0:k.style),y),Ce=b==="end"&&A&&A!==0&&fe,ve=Gn(T==null?void 0:T.icon,(o=k==null?void 0:k.classNames)===null||o===void 0?void 0:o.icon,{[`${N}-icon-end`]:Ce}),Ie=Object.assign(Object.assign({},(d==null?void 0:d.icon)||{}),((i=k==null?void 0:k.styles)===null||i===void 0?void 0:i.icon)||{}),ze=w&&!O?be.createElement(T_e,{prefixCls:N,className:ve,style:Ie},w):be.createElement(UCt,{existIcon:!!w,prefixCls:N,loading:!!O,iconPosition:b}),ye=A||A===0?NCt(A,ae&&W):null,oe=(Ae,me)=>{const Pe=D==="rtl",Me=b==="start"&&!Pe||b==="end"&&Pe;return be.createElement(be.Fragment,null,Me?Ae:me,Me?me:Ae)};if($.href!==void 0)return L(be.createElement("a",Object.assign({},$,{className:Gn(de,{[`${N}-disabled`]:B}),href:B?void 0:$.href,style:Se,onClick:ne,ref:q,tabIndex:B?-1:0}),oe(ze,ye)));let ge=be.createElement("button",Object.assign({},x,{type:v,className:de,style:Se,onClick:ne,disabled:B,ref:q}),oe(ze,ye),!!le&&be.createElement(lRt,{key:"compact",prefixCls:N}));return Tie(R)||(ge=be.createElement(wW,{component:"Button",disabled:!!O},ge)),L(ge)}),oo=uRt;oo.Group=LCt;oo.__ANT_BUTTON=!0;function r8e(t){return!!(t&&t.then)}const M_e=t=>{const{type:e,children:n,prefixCls:o,buttonProps:i,close:r,autoFocus:a,emitEvent:l,isSilent:s,quitOnNullishReturnValue:c,actionFn:u}=t,d=m.useRef(!1),f=m.useRef(null),[p,g]=Gce(!1),A=function(){r==null||r.apply(void 0,arguments)};m.useEffect(()=>{let C=null;return a&&(C=setTimeout(()=>{var P;(P=f.current)===null||P===void 0||P.focus()})),()=>{C&&clearTimeout(C)}},[]);const w=C=>{r8e(C)&&(g(!0),C.then(function(){g(!1,!0),A.apply(void 0,arguments),d.current=!1},P=>{if(g(!1,!0),d.current=!1,!(s!=null&&s()))return Promise.reject(P)}))},b=C=>{if(d.current)return;if(d.current=!0,!u){A();return}let P;if(l){if(P=u(C),c&&!r8e(P)){d.current=!1,A(C);return}}else if(u.length)P=u(r),d.current=!1;else if(P=u(),!P){A();return}w(P)};return m.createElement(oo,Object.assign({},S_e(e),{onClick:b,loading:p,prefixCls:o},i,{ref:f}),n)},xW=be.createContext({}),{Provider:I_e}=xW,a8e=()=>{const{autoFocusButton:t,cancelButtonProps:e,cancelTextLocale:n,isSilent:o,mergedOkCancel:i,rootPrefixCls:r,close:a,onCancel:l,onConfirm:s}=m.useContext(xW);return i?be.createElement(M_e,{isSilent:o,actionFn:l,close:function(){a==null||a.apply(void 0,arguments),s==null||s(!1)},autoFocus:t==="cancel",buttonProps:e,prefixCls:`${r}-btn`},n):null},l8e=()=>{const{autoFocusButton:t,close:e,isSilent:n,okButtonProps:o,rootPrefixCls:i,okTextLocale:r,okType:a,onConfirm:l,onOk:s}=m.useContext(xW);return be.createElement(M_e,{isSilent:n,type:a||"primary",actionFn:s,close:function(){e==null||e.apply(void 0,arguments),l==null||l(!0)},autoFocus:t==="ok",buttonProps:o,prefixCls:`${i}-btn`},r)};var z_e=m.createContext(null),s8e=[];function dRt(t,e){var n=m.useState(function(){if(!sp())return null;var g=document.createElement("div");return g}),o=on(n,1),i=o[0],r=m.useRef(!1),a=m.useContext(z_e),l=m.useState(s8e),s=on(l,2),c=s[0],u=s[1],d=a||(r.current?void 0:function(g){u(function(A){var w=[g].concat(Wo(A));return w})});function f(){i.parentElement||document.body.appendChild(i),r.current=!0}function p(){var g;(g=i.parentElement)===null||g===void 0||g.removeChild(i),r.current=!1}return Ba(function(){return t?a?a(f):f():p(),p},[t]),Ba(function(){c.length&&(c.forEach(function(g){return g()}),u(s8e))},[c]),[i,d]}var Rie;function r0e(t){if(typeof document>"u")return 0;if(Rie===void 0){var e=document.createElement("div");e.style.width="100%",e.style.height="200px";var n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",n.appendChild(e),document.body.appendChild(n);var i=e.offsetWidth;n.style.overflow="scroll";var r=e.offsetWidth;i===r&&(r=n.clientWidth),document.body.removeChild(n),Rie=i-r}return Rie}function c8e(t){var e=t.match(/^(.*)px$/),n=Number(e==null?void 0:e[1]);return Number.isNaN(n)?r0e():n}function a0e(t){if(typeof document>"u"||!t||!(t instanceof Element))return{width:0,height:0};var e=getComputedStyle(t,"::-webkit-scrollbar"),n=e.width,o=e.height;return{width:c8e(n),height:c8e(o)}}function fRt(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var hRt="rc-util-locker-".concat(Date.now()),u8e=0;function pRt(t){var e=!!t,n=m.useState(function(){return u8e+=1,"".concat(hRt,"_").concat(u8e)}),o=on(n,1),i=o[0];Ba(function(){if(e){var r=a0e(document.body).width,a=fRt();lx(` + `]:{animationPlayState:"running"},[`${e}-move-up-leave`]:{animationName:v,animationDuration:d,animationPlayState:"paused",animationTimingFunction:u},[`${e}-move-up-leave${e}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[e]:{[`${C}-wrapper`]:Object.assign({},T)}},{[`${e}-notice-pure-panel`]:Object.assign(Object.assign({},T),{padding:0,textAlign:"start"})}]},$Pt=t=>({zIndexPopup:t.zIndexPopupBase+_ge+10,contentBg:t.colorBgElevated,contentPadding:`${(t.controlHeightLG-t.fontSize*t.lineHeight)/2}px ${t.paddingSM}px`}),h_e=Fl("Message",t=>{const e=Zr(t,{height:150});return[qPt(e)]},$Pt);var QPt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{prefixCls:e,type:n,icon:o,children:i}=t;return m.createElement("div",{className:Gn(`${e}-custom-content`,`${e}-${n}`)},o||ZPt[n],m.createElement("span",null,i))},eCt=t=>{const{prefixCls:e,className:n,type:o,icon:i,content:r}=t,a=QPt(t,["prefixCls","className","type","icon","content"]),{getPrefixCls:l}=m.useContext(Mi),s=e||l("message"),c=j0(s),[u,d,f]=h_e(s,c);return u(m.createElement(u_e,Object.assign({},a,{prefixCls:s,className:Gn(n,d,`${s}-notice-pure-panel`,f,c),eventKey:"pure",duration:null,content:m.createElement(p_e,{prefixCls:s,type:o,icon:i},r)})))};function tCt(t,e){return{motionName:e??`${t}-move-up`}}function Vge(t){let e;const n=new Promise(i=>{e=t(()=>{i(!0)})}),o=()=>{e==null||e()};return o.then=(i,r)=>n.then(i,r),o.promise=n,o}var nCt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{children:e,prefixCls:n}=t;const o=j0(n),[i,r,a]=h_e(n,o);return i(m.createElement(LPt,{classNames:{list:Gn(r,a,o)}},e))},aCt=(t,e)=>{let{prefixCls:n,key:o}=e;return m.createElement(rCt,{prefixCls:n,key:o},t)},lCt=m.forwardRef((t,e)=>{const{top:n,prefixCls:o,getContainer:i,maxCount:r,duration:a=iCt,rtl:l,transitionName:s,onAllRemoved:c}=t,{getPrefixCls:u,getPopupContainer:d,message:f,direction:p}=m.useContext(Mi),g=o||u("message"),A=()=>({left:"50%",transform:"translateX(-50%)",top:n??oCt}),w=()=>Gn({[`${g}-rtl`]:l??p==="rtl"}),b=()=>tCt(g,s),C=m.createElement("span",{className:`${g}-close-x`},m.createElement(E7,{className:`${g}-close-icon`})),[P,v]=_Pt({prefixCls:g,style:A,className:w,motion:b,closable:!1,closeIcon:C,duration:a,getContainer:()=>(i==null?void 0:i())||(d==null?void 0:d())||document.body,maxCount:r,onAllRemoved:c,renderNotifications:aCt});return m.useImperativeHandle(e,()=>Object.assign(Object.assign({},P),{prefixCls:g,message:f})),v});let $7e=0;function g_e(t){const e=m.useRef(null);return Hb(),[m.useMemo(()=>{const o=s=>{var c;(c=e.current)===null||c===void 0||c.close(s)},i=s=>{if(!e.current){const y=()=>{};return y.then=()=>{},y}const{open:c,prefixCls:u,message:d}=e.current,f=`${u}-notice`,{content:p,icon:g,type:A,key:w,className:b,style:C,onClose:P}=s,v=nCt(s,["content","icon","type","key","className","style","onClose"]);let T=w;return T==null&&($7e+=1,T=`antd-message-${$7e}`),Vge(y=>(c(Object.assign(Object.assign({},v),{key:T,content:m.createElement(p_e,{prefixCls:u,type:A,icon:g},p),placement:"top",className:Gn(A&&`${f}-${A}`,b,d==null?void 0:d.className),style:Object.assign(Object.assign({},d==null?void 0:d.style),C),onClose:()=>{P==null||P(),y()}})),()=>{o(T)}))},a={open:i,destroy:s=>{var c;s!==void 0?o(s):(c=e.current)===null||c===void 0||c.destroy()}};return["info","success","warning","error","loading"].forEach(s=>{const c=(u,d,f)=>{let p;u&&typeof u=="object"&&"content"in u?p=u:p={content:u};let g,A;typeof d=="function"?A=d:(g=d,A=f);const w=Object.assign(Object.assign({onClose:A,duration:g},p),{type:s});return i(w)};a[s]=c}),a},[]),m.createElement(lCt,Object.assign({key:"message-holder"},t,{ref:e}))]}function sCt(t){return g_e(t)}function cCt(){const[t,e]=m.useState([]),n=m.useCallback(o=>(e(i=>[].concat(Xa(i),[o])),()=>{e(i=>i.filter(r=>r!==o))}),[]);return[t,n]}function Ok(){Ok=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(E,U,F){E[U]=F.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(E,U,F){return Object.defineProperty(E,U,{value:F,enumerable:!0,configurable:!0,writable:!0}),E[U]}try{c({},"")}catch{c=function(F,B,_){return F[B]=_}}function u(E,U,F,B){var _=U&&U.prototype instanceof b?U:b,Y=Object.create(_.prototype),O=new N(B||[]);return i(Y,"_invoke",{value:H(E,F,O)}),Y}function d(E,U,F){try{return{type:"normal",arg:E.call(U,F)}}catch(B){return{type:"throw",arg:B}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",A="completed",w={};function b(){}function C(){}function P(){}var v={};c(v,a,function(){return this});var T=Object.getPrototypeOf,y=T&&T(T(L([])));y&&y!==n&&o.call(y,a)&&(v=y);var S=P.prototype=b.prototype=Object.create(v);function x(E){["next","throw","return"].forEach(function(U){c(E,U,function(F){return this._invoke(U,F)})})}function R(E,U){function F(_,Y,O,J){var Z=d(E[_],E,Y);if(Z.type!=="throw"){var ie=Z.arg,ee=ie.value;return ee&&Cg(ee)=="object"&&o.call(ee,"__await")?U.resolve(ee.__await).then(function(q){F("next",q,O,J)},function(q){F("throw",q,O,J)}):U.resolve(ee).then(function(q){ie.value=q,O(ie)},function(q){return F("throw",q,O,J)})}J(Z.arg)}var B;i(this,"_invoke",{value:function(Y,O){function J(){return new U(function(Z,ie){F(Y,O,Z,ie)})}return B=B?B.then(J,J):J()}})}function H(E,U,F){var B=f;return function(_,Y){if(B===g)throw new Error("Generator is already running");if(B===A){if(_==="throw")throw Y;return{value:t,done:!0}}for(F.method=_,F.arg=Y;;){var O=F.delegate;if(O){var J=D(O,F);if(J){if(J===w)continue;return J}}if(F.method==="next")F.sent=F._sent=F.arg;else if(F.method==="throw"){if(B===f)throw B=A,F.arg;F.dispatchException(F.arg)}else F.method==="return"&&F.abrupt("return",F.arg);B=g;var Z=d(E,U,F);if(Z.type==="normal"){if(B=F.done?A:p,Z.arg===w)continue;return{value:Z.arg,done:F.done}}Z.type==="throw"&&(B=A,F.method="throw",F.arg=Z.arg)}}}function D(E,U){var F=U.method,B=E.iterator[F];if(B===t)return U.delegate=null,F==="throw"&&E.iterator.return&&(U.method="return",U.arg=t,D(E,U),U.method==="throw")||F!=="return"&&(U.method="throw",U.arg=new TypeError("The iterator does not provide a '"+F+"' method")),w;var _=d(B,E.iterator,U.arg);if(_.type==="throw")return U.method="throw",U.arg=_.arg,U.delegate=null,w;var Y=_.arg;return Y?Y.done?(U[E.resultName]=Y.value,U.next=E.nextLoc,U.method!=="return"&&(U.method="next",U.arg=t),U.delegate=null,w):Y:(U.method="throw",U.arg=new TypeError("iterator result is not an object"),U.delegate=null,w)}function k(E){var U={tryLoc:E[0]};1 in E&&(U.catchLoc=E[1]),2 in E&&(U.finallyLoc=E[2],U.afterLoc=E[3]),this.tryEntries.push(U)}function W(E){var U=E.completion||{};U.type="normal",delete U.arg,E.completion=U}function N(E){this.tryEntries=[{tryLoc:"root"}],E.forEach(k,this),this.reset(!0)}function L(E){if(E||E===""){var U=E[a];if(U)return U.call(E);if(typeof E.next=="function")return E;if(!isNaN(E.length)){var F=-1,B=function _(){for(;++F=0;--_){var Y=this.tryEntries[_],O=Y.completion;if(Y.tryLoc==="root")return B("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Z=o.call(Y,"finallyLoc");if(J&&Z){if(this.prev=0;--B){var _=this.tryEntries[B];if(_.tryLoc<=this.prev&&o.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var Y=_;break}}Y&&(U==="break"||U==="continue")&&Y.tryLoc<=F&&F<=Y.finallyLoc&&(Y=null);var O=Y?Y.completion:{};return O.type=U,O.arg=F,Y?(this.method="next",this.next=Y.finallyLoc,w):this.complete(O)},complete:function(U,F){if(U.type==="throw")throw U.arg;return U.type==="break"||U.type==="continue"?this.next=U.arg:U.type==="return"?(this.rval=this.arg=U.arg,this.method="return",this.next="end"):U.type==="normal"&&F&&(this.next=F),w},finish:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.finallyLoc===U)return this.complete(B.completion,B.afterLoc),W(B),w}},catch:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.tryLoc===U){var _=B.completion;if(_.type==="throw"){var Y=_.arg;W(B)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(U,F,B){return this.delegate={iterator:L(U),resultName:F,nextLoc:B},this.method==="next"&&(this.arg=t),w}},e}function Q7e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function m_e(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){Q7e(r,o,i,a,l,"next",s)}function l(s){Q7e(r,o,i,a,l,"throw",s)}a(void 0)})}}var AW=$C({},kut),uCt=AW.version,dCt=AW.render,fCt=AW.unmountComponentAtNode,s$;try{var hCt=Number((uCt||"").split(".")[0]);hCt>=18&&(s$=AW.createRoot)}catch{}function Z7e(t){var e=AW.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e&&Cg(e)==="object"&&(e.usingClientEntryPoint=t)}var yG="__rc_react_root__";function pCt(t,e){Z7e(!0);var n=e[yG]||s$(e);Z7e(!1),n.render(t),e[yG]=n}function gCt(t,e){dCt(t,e)}function Gge(t,e){if(s$){pCt(t,e);return}gCt(t,e)}function mCt(t){return n0e.apply(this,arguments)}function n0e(){return n0e=m_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",Promise.resolve().then(function(){var i;(i=e[yG])===null||i===void 0||i.unmount(),delete e[yG]}));case 1:case"end":return o.stop()}},t)})),n0e.apply(this,arguments)}function yCt(t){fCt(t)}function y_e(t){return o0e.apply(this,arguments)}function o0e(){return o0e=m_e(Ok().mark(function t(e){return Ok().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(s$===void 0){o.next=2;break}return o.abrupt("return",mCt(e));case 2:yCt(e);case 3:case"end":return o.stop()}},t)})),o0e.apply(this,arguments)}const vie=()=>({height:0,opacity:0}),e8e=t=>{const{scrollHeight:e}=t;return{height:e,opacity:1}},ACt=t=>({height:t?t.offsetHeight:0}),xie=(t,e)=>(e==null?void 0:e.deadline)===!0||e.propertyName==="height",Xge=function(){return{motionName:`${arguments.length>0&&arguments[0]!==void 0?arguments[0]:"ant"}-motion-collapse`,onAppearStart:vie,onEnterStart:vie,onAppearActive:e8e,onEnterActive:e8e,onLeaveStart:ACt,onLeaveActive:vie,onAppearEnd:xie,onEnterEnd:xie,onLeaveEnd:xie,motionDeadline:500}},D9=(t,e,n)=>n!==void 0?n:`${t}-${e}`,wCt=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1},vCt=t=>{const{componentCls:e,colorPrimary:n}=t;return{[e]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${n})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${t.motionEaseOutCirc}`,`opacity 2s ${t.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${t.motionDurationSlow} ${t.motionEaseInOut}`,`opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`].join(",")}}}}},xCt=Uge("Wave",t=>[vCt(t)]),c$="ant-wave-target";function bCt(t){const e=(t||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return e&&e[1]&&e[2]&&e[3]?!(e[1]===e[2]&&e[2]===e[3]):!0}function bie(t){return t&&t!=="#fff"&&t!=="#ffffff"&&t!=="rgb(255, 255, 255)"&&t!=="rgba(255, 255, 255, 1)"&&bCt(t)&&!/rgba\((?:\d*, ){3}0\)/.test(t)&&t!=="transparent"}function SCt(t){const{borderTopColor:e,borderColor:n,backgroundColor:o}=getComputedStyle(t);return bie(e)?e:bie(n)?n:bie(o)?o:null}function Sie(t){return Number.isNaN(t)?0:t}const TCt=t=>{const{className:e,target:n,component:o}=t,i=m.useRef(null),[r,a]=m.useState(null),[l,s]=m.useState([]),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=m.useState(0),[A,w]=m.useState(0),[b,C]=m.useState(!1),P={left:c,top:d,width:p,height:A,borderRadius:l.map(y=>`${y}px`).join(" ")};r&&(P["--wave-color"]=r);function v(){const y=getComputedStyle(n);a(SCt(n));const S=y.position==="static",{borderLeftWidth:x,borderTopWidth:R}=y;u(S?n.offsetLeft:Sie(-parseFloat(x))),f(S?n.offsetTop:Sie(-parseFloat(R))),g(n.offsetWidth),w(n.offsetHeight);const{borderTopLeftRadius:H,borderTopRightRadius:D,borderBottomLeftRadius:k,borderBottomRightRadius:W}=y;s([H,D,W,k].map(N=>Sie(parseFloat(N))))}if(m.useEffect(()=>{if(n){const y=Rg(()=>{v(),C(!0)});let S;return typeof ResizeObserver<"u"&&(S=new ResizeObserver(v),S.observe(n)),()=>{Rg.cancel(y),S==null||S.disconnect()}}},[]),!b)return null;const T=(o==="Checkbox"||o==="Radio")&&(n==null?void 0:n.classList.contains(c$));return m.createElement(Hg,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(y,S)=>{var x;if(S.deadline||S.propertyName==="opacity"){const R=(x=i.current)===null||x===void 0?void 0:x.parentElement;y_e(R).then(()=>{R==null||R.remove()})}return!1}},y=>{let{className:S}=y;return m.createElement("div",{ref:i,className:Gn(e,{"wave-quick":T},S),style:P})})},PCt=(t,e)=>{var n;const{component:o}=e;if(o==="Checkbox"&&!(!((n=t.querySelector("input"))===null||n===void 0)&&n.checked))return;const i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",t==null||t.insertBefore(i,t==null?void 0:t.firstChild),Gge(m.createElement(TCt,Object.assign({},e,{target:t})),i)},CCt=(t,e,n)=>{const{wave:o}=m.useContext(Mi),[,i,r]=Yu(),a=O6(c=>{const u=t.current;if(o!=null&&o.disabled||!u)return;const d=u.querySelector(`.${c$}`)||u,{showEffect:f}=o||{};(f||PCt)(d,{className:e,token:i,component:n,event:c,hashId:r})}),l=m.useRef();return c=>{Rg.cancel(l.current),l.current=Rg(()=>{a(c)})}},wW=t=>{const{children:e,disabled:n,component:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=m.useRef(null),a=i("wave"),[,l]=xCt(a),s=CCt(r,Gn(a,l),o);if(be.useEffect(()=>{const u=r.current;if(!u||u.nodeType!==1||n)return;const d=f=>{!wCt(f.target)||!u.getAttribute||u.getAttribute("disabled")||u.disabled||u.className.includes("disabled")||u.className.includes("-leave")||s(f)};return u.addEventListener("click",d,!0),()=>{u.removeEventListener("click",d,!0)}},[n]),!be.isValidElement(e))return e??null;const c=HOe(e)?q2(e.ref,r):r;return Ou(e,{ref:c})},Rd=t=>{const e=be.useContext(tR);return be.useMemo(()=>t?typeof t=="string"?t??e:t instanceof Function?t(e):e:e,[t,e])};function E9(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return be.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(E9(o)):gC.isFragment(o)&&o.props?n=n.concat(E9(o.props.children,e)):n.push(o))}),n}const RCt=t=>{const{componentCls:e}=t;return{[e]:{"&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},HCt=t=>{const{componentCls:e,antCls:n}=t;return{[e]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${e}-item:empty`]:{display:"none"},[`${e}-item > ${n}-badge-not-a-wrapper:only-child`]:{display:"block"}}}},MCt=t=>{const{componentCls:e}=t;return{[e]:{"&-gap-row-small":{rowGap:t.spaceGapSmallSize},"&-gap-row-middle":{rowGap:t.spaceGapMiddleSize},"&-gap-row-large":{rowGap:t.spaceGapLargeSize},"&-gap-col-small":{columnGap:t.spaceGapSmallSize},"&-gap-col-middle":{columnGap:t.spaceGapMiddleSize},"&-gap-col-large":{columnGap:t.spaceGapLargeSize}}}},A_e=Fl("Space",t=>{const e=Zr(t,{spaceGapSmallSize:t.paddingXS,spaceGapMiddleSize:t.padding,spaceGapLargeSize:t.paddingLG});return[HCt(e),MCt(e),RCt(e)]},()=>({}),{resetStyle:!1});var w_e=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=m.useContext(u$),o=m.useMemo(()=>{if(!n)return"";const{compactDirection:i,isFirstItem:r,isLastItem:a}=n,l=i==="vertical"?"-vertical-":"-";return Gn(`${t}-compact${l}item`,{[`${t}-compact${l}first-item`]:r,[`${t}-compact${l}last-item`]:a,[`${t}-compact${l}item-rtl`]:e==="rtl"})},[t,e,n]);return{compactSize:n==null?void 0:n.compactSize,compactDirection:n==null?void 0:n.compactDirection,compactItemClassnames:o}},k9=t=>{let{children:e}=t;return m.createElement(u$.Provider,{value:null},e)},ICt=t=>{var{children:e}=t,n=w_e(t,["children"]);return m.createElement(u$.Provider,{value:n},e)},zCt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{size:o,direction:i,block:r,prefixCls:a,className:l,rootClassName:s,children:c}=t,u=w_e(t,["size","direction","block","prefixCls","className","rootClassName","children"]),d=Rd(P=>o??P),f=e("space-compact",a),[p,g]=A_e(f),A=Gn(f,g,{[`${f}-rtl`]:n==="rtl",[`${f}-block`]:r,[`${f}-vertical`]:i==="vertical"},l,s),w=m.useContext(u$),b=E9(c),C=m.useMemo(()=>b.map((P,v)=>{const T=P&&P.key||`${f}-item-${v}`;return m.createElement(ICt,{key:T,compactSize:d,compactDirection:i,isFirstItem:v===0&&(!w||(w==null?void 0:w.isFirstItem)),isLastItem:v===b.length-1&&(!w||(w==null?void 0:w.isLastItem))},P)}),[o,b,w]);return b.length===0?null:p(m.createElement("div",Object.assign({className:A},u),C))},DCt=zCt;var ECt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,size:i,className:r}=t,a=ECt(t,["prefixCls","size","className"]),l=e("btn-group",o),[,,s]=Yu();let c="";switch(i){case"large":c="lg";break;case"small":c="sm";break}const u=Gn(l,{[`${l}-${c}`]:c,[`${l}-rtl`]:n==="rtl"},r,s);return m.createElement(v_e.Provider,{value:i},m.createElement("div",Object.assign({},a,{className:u})))},t8e=/^[\u4e00-\u9fa5]{2}$/,i0e=t8e.test.bind(t8e);function x_e(t){return t==="danger"?{danger:!0}:{type:t}}function n8e(t){return typeof t=="string"}function Tie(t){return t==="text"||t==="link"}function FCt(t,e){if(t==null)return;const n=e?" ":"";return typeof t!="string"&&typeof t!="number"&&n8e(t.type)&&i0e(t.props.children)?Ou(t,{children:t.props.children.split("").join(n)}):n8e(t)?i0e(t)?be.createElement("span",null,t.split("").join(n)):be.createElement("span",null,t):s_e(t)?be.createElement("span",null,t):t}function LCt(t,e){let n=!1;const o=[];return be.Children.forEach(t,i=>{const r=typeof i,a=r==="string"||r==="number";if(n&&a){const l=o.length-1,s=o[l];o[l]=`${s}${i}`}else o.push(i);n=a}),be.Children.map(o,i=>FCt(i,e))}const b_e=m.forwardRef((t,e)=>{const{className:n,style:o,children:i,prefixCls:r}=t,a=Gn(`${r}-icon`,n);return be.createElement("span",{ref:e,className:a,style:o},i)}),o8e=m.forwardRef((t,e)=>{const{prefixCls:n,className:o,style:i,iconClassName:r,iconPosition:a="start"}=t,l=Gn(o,{[`${n}-loading-icon-end`]:a==="end",[`${n}-loading-icon`]:a==="start"});return be.createElement(b_e,{prefixCls:n,className:l,style:i,ref:e},be.createElement(HH,{className:r}))}),Pie=()=>({width:0,opacity:0,transform:"scale(0)"}),Cie=t=>({width:t.scrollWidth,opacity:1,transform:"scale(1)"}),WCt=t=>{const{prefixCls:e,loading:n,existIcon:o,className:i,style:r,iconPosition:a}=t,l=!!n;return o?be.createElement(o8e,{prefixCls:e,className:i,style:r,iconPosition:a}):be.createElement(Hg,{visible:l,motionName:`${e}-loading-icon-motion`,motionLeave:l,removeOnLeave:!0,onAppearStart:Pie,onAppearActive:Cie,onEnterStart:Pie,onEnterActive:Cie,onLeaveStart:Cie,onLeaveActive:Pie},(s,c)=>{let{className:u,style:d}=s;return be.createElement(o8e,{prefixCls:e,className:i,style:Object.assign(Object.assign({},r),d),ref:c,iconClassName:u,iconPosition:a})})},i8e=(t,e)=>({[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineEndColor:e}}},"&:not(:first-child)":{[`&, & > ${t}`]:{"&:not(:disabled)":{borderInlineStartColor:e}}}}}),NCt=t=>{const{componentCls:e,fontSize:n,lineWidth:o,groupBorderColor:i,colorErrorHover:r}=t;return{[`${e}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:t.calc(o).mul(-1).equal(),[`&, & > ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[e]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${e}-icon-only`]:{fontSize:n}},i8e(`${e}-primary`,i),i8e(`${e}-danger`,r)]}},S_e=t=>{const{paddingInline:e,onlyIconSize:n,paddingBlock:o}=t;return Zr(t,{buttonPaddingHorizontal:e,buttonPaddingVertical:o,buttonIconOnlyFontSize:n})},T_e=t=>{var e,n,o,i,r,a;const l=(e=t.contentFontSize)!==null&&e!==void 0?e:t.fontSize,s=(n=t.contentFontSizeSM)!==null&&n!==void 0?n:t.fontSize,c=(o=t.contentFontSizeLG)!==null&&o!==void 0?o:t.fontSizeLG,u=(i=t.contentLineHeight)!==null&&i!==void 0?i:I_(l),d=(r=t.contentLineHeightSM)!==null&&r!==void 0?r:I_(s),f=(a=t.contentLineHeightLG)!==null&&a!==void 0?a:I_(c);return{fontWeight:400,defaultShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlTmpOutline}`,primaryShadow:`0 ${t.controlOutlineWidth}px 0 ${t.controlOutline}`,dangerShadow:`0 ${t.controlOutlineWidth}px 0 ${t.colorErrorOutline}`,primaryColor:t.colorTextLightSolid,dangerColor:t.colorTextLightSolid,borderColorDisabled:t.colorBorder,defaultGhostColor:t.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:t.colorBgContainer,paddingInline:t.paddingContentHorizontal-t.lineWidth,paddingInlineLG:t.paddingContentHorizontal-t.lineWidth,paddingInlineSM:8-t.lineWidth,onlyIconSize:t.fontSizeLG,onlyIconSizeSM:t.fontSizeLG-2,onlyIconSizeLG:t.fontSizeLG+2,groupBorderColor:t.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:t.colorBgTextHover,defaultColor:t.colorText,defaultBg:t.colorBgContainer,defaultBorderColor:t.colorBorder,defaultBorderColorDisabled:t.colorBorder,defaultHoverBg:t.colorBgContainer,defaultHoverColor:t.colorPrimaryHover,defaultHoverBorderColor:t.colorPrimaryHover,defaultActiveBg:t.colorBgContainer,defaultActiveColor:t.colorPrimaryActive,defaultActiveBorderColor:t.colorPrimaryActive,contentFontSize:l,contentFontSizeSM:s,contentFontSizeLG:c,contentLineHeight:u,contentLineHeightSM:d,contentLineHeightLG:f,paddingBlock:Math.max((t.controlHeight-l*u)/2-t.lineWidth,0),paddingBlockSM:Math.max((t.controlHeightSM-s*d)/2-t.lineWidth,0),paddingBlockLG:Math.max((t.controlHeightLG-c*f)/2-t.lineWidth,0)}},UCt=t=>{const{componentCls:e,iconCls:n,fontWeight:o}=t;return{[e]:{outline:"none",position:"relative",display:"inline-block",fontWeight:o,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,cursor:"pointer",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:t.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${e}-icon`]:{lineHeight:0,"&-end":{marginInlineStart:t.marginXS}},[`> ${n} + span, > span + ${n}`]:{marginInlineStart:t.marginXS},[`&:not(${e}-icon-only) > ${e}-icon`]:{[`&${e}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:t.marginXS},[`&${e}-loading-icon-end`]:{marginInlineStart:t.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},V6(t)),[`&${e}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${e}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${e}-compact-item`]:{flex:"none"}}}},G6=(t,e,n)=>({[`&:not(:disabled):not(${t}-disabled)`]:{"&:hover":e,"&:active":n}}),BCt=t=>({minWidth:t.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),jCt=t=>({borderRadius:t.controlHeight,paddingInlineStart:t.calc(t.controlHeight).div(2).equal(),paddingInlineEnd:t.calc(t.controlHeight).div(2).equal()}),YCt=t=>({cursor:"not-allowed",borderColor:t.borderColorDisabled,color:t.colorTextDisabled,background:t.colorBgContainerDisabled,boxShadow:"none"}),_k=(t,e,n,o,i,r,a,l)=>({[`&${t}-background-ghost`]:Object.assign(Object.assign({color:n||void 0,background:e,borderColor:o||void 0,boxShadow:"none"},G6(t,Object.assign({background:e},a),Object.assign({background:e},l))),{"&:disabled":{cursor:"not-allowed",color:i||void 0,borderColor:r||void 0}})}),Jge=t=>({[`&:disabled, &${t.componentCls}-disabled`]:Object.assign({},YCt(t))}),P_e=t=>Object.assign({},Jge(t)),AG=t=>({[`&:disabled, &${t.componentCls}-disabled`]:{cursor:"not-allowed",color:t.colorTextDisabled}}),C_e=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},P_e(t)),{background:t.defaultBg,borderColor:t.defaultBorderColor,color:t.defaultColor,boxShadow:t.defaultShadow}),G6(t.componentCls,{color:t.defaultHoverColor,borderColor:t.defaultHoverBorderColor,background:t.defaultHoverBg},{color:t.defaultActiveColor,borderColor:t.defaultActiveBorderColor,background:t.defaultActiveBg})),_k(t.componentCls,t.ghostBg,t.defaultGhostColor,t.defaultGhostBorderColor,t.colorTextDisabled,t.colorBorder)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:t.colorError,borderColor:t.colorError},G6(t.componentCls,{color:t.colorErrorHover,borderColor:t.colorErrorBorderHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder)),Jge(t))}),OCt=t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},P_e(t)),{color:t.primaryColor,background:t.colorPrimary,boxShadow:t.primaryShadow}),G6(t.componentCls,{color:t.colorTextLightSolid,background:t.colorPrimaryHover},{color:t.colorTextLightSolid,background:t.colorPrimaryActive})),_k(t.componentCls,t.ghostBg,t.colorPrimary,t.colorPrimary,t.colorTextDisabled,t.colorBorder,{color:t.colorPrimaryHover,borderColor:t.colorPrimaryHover},{color:t.colorPrimaryActive,borderColor:t.colorPrimaryActive})),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({background:t.colorError,boxShadow:t.dangerShadow,color:t.dangerColor},G6(t.componentCls,{background:t.colorErrorHover},{background:t.colorErrorActive})),_k(t.componentCls,t.ghostBg,t.colorError,t.colorError,t.colorTextDisabled,t.colorBorder,{color:t.colorErrorHover,borderColor:t.colorErrorHover},{color:t.colorErrorActive,borderColor:t.colorErrorActive})),Jge(t))}),_Ct=t=>Object.assign(Object.assign({},C_e(t)),{borderStyle:"dashed"}),VCt=t=>Object.assign(Object.assign(Object.assign({color:t.colorLink},G6(t.componentCls,{color:t.colorLinkHover,background:t.linkHoverBg},{color:t.colorLinkActive})),AG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},G6(t.componentCls,{color:t.colorErrorHover},{color:t.colorErrorActive})),AG(t))}),GCt=t=>Object.assign(Object.assign(Object.assign({},G6(t.componentCls,{color:t.colorText,background:t.textHoverBg},{color:t.colorText,background:t.colorBgTextActive})),AG(t)),{[`&${t.componentCls}-dangerous`]:Object.assign(Object.assign({color:t.colorError},AG(t)),G6(t.componentCls,{color:t.colorErrorHover,background:t.colorErrorBg},{color:t.colorErrorHover,background:t.colorErrorBg}))}),XCt=t=>{const{componentCls:e}=t;return{[`${e}-default`]:C_e(t),[`${e}-primary`]:OCt(t),[`${e}-dashed`]:_Ct(t),[`${e}-link`]:VCt(t),[`${e}-text`]:GCt(t),[`${e}-ghost`]:_k(t.componentCls,t.ghostBg,t.colorBgContainer,t.colorBgContainer,t.colorTextDisabled,t.colorBorder)}},Kge=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:n,controlHeight:o,fontSize:i,lineHeight:r,borderRadius:a,buttonPaddingHorizontal:l,iconCls:s,buttonPaddingVertical:c}=t,u=`${n}-icon-only`;return[{[`${e}`]:{fontSize:i,lineHeight:r,height:o,padding:`${Ut(c)} ${Ut(l)}`,borderRadius:a,[`&${u}`]:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:o,paddingInlineStart:0,paddingInlineEnd:0,[`&${n}-round`]:{width:"auto"},[s]:{fontSize:t.buttonIconOnlyFontSize}},[`&${n}-loading`]:{opacity:t.opacityLoading,cursor:"default"},[`${n}-loading-icon`]:{transition:`width ${t.motionDurationSlow} ${t.motionEaseInOut}, opacity ${t.motionDurationSlow} ${t.motionEaseInOut}`}}},{[`${n}${n}-circle${e}`]:BCt(t)},{[`${n}${n}-round${e}`]:jCt(t)}]},JCt=t=>{const e=Zr(t,{fontSize:t.contentFontSize,lineHeight:t.contentLineHeight});return Kge(e,t.componentCls)},KCt=t=>{const e=Zr(t,{controlHeight:t.controlHeightSM,fontSize:t.contentFontSizeSM,lineHeight:t.contentLineHeightSM,padding:t.paddingXS,buttonPaddingHorizontal:t.paddingInlineSM,buttonPaddingVertical:t.paddingBlockSM,borderRadius:t.borderRadiusSM,buttonIconOnlyFontSize:t.onlyIconSizeSM});return Kge(e,`${t.componentCls}-sm`)},qCt=t=>{const e=Zr(t,{controlHeight:t.controlHeightLG,fontSize:t.contentFontSizeLG,lineHeight:t.contentLineHeightLG,buttonPaddingHorizontal:t.paddingInlineLG,buttonPaddingVertical:t.paddingBlockLG,borderRadius:t.borderRadiusLG,buttonIconOnlyFontSize:t.onlyIconSizeLG});return Kge(e,`${t.componentCls}-lg`)},$Ct=t=>{const{componentCls:e}=t;return{[e]:{[`&${e}-block`]:{width:"100%"}}}},QCt=Fl("Button",t=>{const e=S_e(t);return[UCt(e),JCt(e),KCt(e),qCt(e),$Ct(e),XCt(e),NCt(e)]},T_e,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function ZCt(t,e,n){const{focusElCls:o,focus:i,borderElCls:r}=n,a=r?"> *":"",l=["hover",i?"focus":null,"active"].filter(Boolean).map(s=>`&:${s} ${a}`).join(",");return{[`&-item:not(${e}-last-item)`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[l]:{zIndex:2}},o?{[`&${o}`]:{zIndex:2}}:{}),{[`&[disabled] ${a}`]:{zIndex:0}})}}function eRt(t,e,n){const{borderElCls:o}=n,i=o?`> ${o}`:"";return{[`&-item:not(${e}-first-item):not(${e}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${e}-last-item)${e}-first-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${e}-first-item)${e}-last-item`]:{[`& ${i}, &${t}-sm ${i}, &${t}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function vW(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:n}=t,o=`${n}-compact`;return{[o]:Object.assign(Object.assign({},ZCt(t,o,e)),eRt(n,o,e))}}function tRt(t,e){return{[`&-item:not(${e}-last-item)`]:{marginBottom:t.calc(t.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function nRt(t,e){return{[`&-item:not(${e}-first-item):not(${e}-last-item)`]:{borderRadius:0},[`&-item${e}-first-item:not(${e}-last-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${e}-last-item:not(${e}-first-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function oRt(t){const e=`${t.componentCls}-compact-vertical`;return{[e]:Object.assign(Object.assign({},tRt(t,e)),nRt(t.componentCls,e))}}const iRt=t=>{const{componentCls:e,calc:n}=t;return{[e]:{[`&-compact-item${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:t.lineWidth,height:`calc(100% + ${Ut(t.lineWidth)} * 2)`,backgroundColor:t.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${e}-primary`]:{[`&:not([disabled]) + ${e}-compact-vertical-item${e}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:n(t.lineWidth).mul(-1).equal(),insetInlineStart:n(t.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${Ut(t.lineWidth)} * 2)`,height:t.lineWidth,backgroundColor:t.colorPrimaryHover,content:'""'}}}}}}},rRt=mW(["Button","compact"],t=>{const e=S_e(t);return[vW(e),oRt(e),iRt(e)]},T_e);var aRt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{loading:r=!1,prefixCls:a,type:l,danger:s,shape:c="default",size:u,styles:d,disabled:f,className:p,rootClassName:g,children:A,icon:w,iconPosition:b="start",ghost:C=!1,block:P=!1,htmlType:v="button",classNames:T,style:y={},autoInsertSpace:S}=t,x=aRt(t,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),R=l||"default",{getPrefixCls:H,direction:D,button:k}=m.useContext(Mi),W=(n=S??(k==null?void 0:k.autoInsertSpace))!==null&&n!==void 0?n:!0,N=H("btn",a),[L,E,U]=QCt(N),F=m.useContext($p),B=f??F,_=m.useContext(v_e),Y=m.useMemo(()=>lRt(r),[r]),[O,J]=m.useState(Y.loading),[Z,ie]=m.useState(!1),q=q2(e,m.createRef()),ae=m.Children.count(A)===1&&!w&&!Tie(R);m.useEffect(()=>{let Ae=null;Y.delay>0?Ae=setTimeout(()=>{Ae=null,J(!0)},Y.delay):J(Y.loading);function me(){Ae&&(clearTimeout(Ae),Ae=null)}return me},[Y]),m.useEffect(()=>{if(!q||!q.current||!W)return;const Ae=q.current.textContent;ae&&i0e(Ae)?Z||ie(!0):Z&&ie(!1)},[q]);const ne=Ae=>{const{onClick:me}=t;if(O||B){Ae.preventDefault();return}me==null||me(Ae)},{compactSize:se,compactItemClassnames:le}=F7(N,D),te={large:"lg",small:"sm",middle:void 0},he=Rd(Ae=>{var me,Pe;return(Pe=(me=u??se)!==null&&me!==void 0?me:_)!==null&&Pe!==void 0?Pe:Ae}),pe=he&&te[he]||"",fe=O?"loading":w,$=lp(x,["navigate"]),de=Gn(N,E,U,{[`${N}-${c}`]:c!=="default"&&c,[`${N}-${R}`]:R,[`${N}-${pe}`]:pe,[`${N}-icon-only`]:!A&&A!==0&&!!fe,[`${N}-background-ghost`]:C&&!Tie(R),[`${N}-loading`]:O,[`${N}-two-chinese-chars`]:Z&&W&&!O,[`${N}-block`]:P,[`${N}-dangerous`]:!!s,[`${N}-rtl`]:D==="rtl"},le,p,g,k==null?void 0:k.className),Se=Object.assign(Object.assign({},k==null?void 0:k.style),y),Ce=b==="end"&&A&&A!==0&&fe,ve=Gn(T==null?void 0:T.icon,(o=k==null?void 0:k.classNames)===null||o===void 0?void 0:o.icon,{[`${N}-icon-end`]:Ce}),Ie=Object.assign(Object.assign({},(d==null?void 0:d.icon)||{}),((i=k==null?void 0:k.styles)===null||i===void 0?void 0:i.icon)||{}),ze=w&&!O?be.createElement(b_e,{prefixCls:N,className:ve,style:Ie},w):be.createElement(WCt,{existIcon:!!w,prefixCls:N,loading:!!O,iconPosition:b}),ye=A||A===0?LCt(A,ae&&W):null,oe=(Ae,me)=>{const Pe=D==="rtl",Me=b==="start"&&!Pe||b==="end"&&Pe;return be.createElement(be.Fragment,null,Me?Ae:me,Me?me:Ae)};if($.href!==void 0)return L(be.createElement("a",Object.assign({},$,{className:Gn(de,{[`${N}-disabled`]:B}),href:B?void 0:$.href,style:Se,onClick:ne,ref:q,tabIndex:B?-1:0}),oe(ze,ye)));let ge=be.createElement("button",Object.assign({},x,{type:v,className:de,style:Se,onClick:ne,disabled:B,ref:q}),oe(ze,ye),!!le&&be.createElement(rRt,{key:"compact",prefixCls:N}));return Tie(R)||(ge=be.createElement(wW,{component:"Button",disabled:!!O},ge)),L(ge)}),no=sRt;no.Group=kCt;no.__ANT_BUTTON=!0;function r8e(t){return!!(t&&t.then)}const R_e=t=>{const{type:e,children:n,prefixCls:o,buttonProps:i,close:r,autoFocus:a,emitEvent:l,isSilent:s,quitOnNullishReturnValue:c,actionFn:u}=t,d=m.useRef(!1),f=m.useRef(null),[p,g]=Gce(!1),A=function(){r==null||r.apply(void 0,arguments)};m.useEffect(()=>{let C=null;return a&&(C=setTimeout(()=>{var P;(P=f.current)===null||P===void 0||P.focus()})),()=>{C&&clearTimeout(C)}},[]);const w=C=>{r8e(C)&&(g(!0),C.then(function(){g(!1,!0),A.apply(void 0,arguments),d.current=!1},P=>{if(g(!1,!0),d.current=!1,!(s!=null&&s()))return Promise.reject(P)}))},b=C=>{if(d.current)return;if(d.current=!0,!u){A();return}let P;if(l){if(P=u(C),c&&!r8e(P)){d.current=!1,A(C);return}}else if(u.length)P=u(r),d.current=!1;else if(P=u(),!P){A();return}w(P)};return m.createElement(no,Object.assign({},x_e(e),{onClick:b,loading:p,prefixCls:o},i,{ref:f}),n)},xW=be.createContext({}),{Provider:H_e}=xW,a8e=()=>{const{autoFocusButton:t,cancelButtonProps:e,cancelTextLocale:n,isSilent:o,mergedOkCancel:i,rootPrefixCls:r,close:a,onCancel:l,onConfirm:s}=m.useContext(xW);return i?be.createElement(R_e,{isSilent:o,actionFn:l,close:function(){a==null||a.apply(void 0,arguments),s==null||s(!1)},autoFocus:t==="cancel",buttonProps:e,prefixCls:`${r}-btn`},n):null},l8e=()=>{const{autoFocusButton:t,close:e,isSilent:n,okButtonProps:o,rootPrefixCls:i,okTextLocale:r,okType:a,onConfirm:l,onOk:s}=m.useContext(xW);return be.createElement(R_e,{isSilent:n,type:a||"primary",actionFn:s,close:function(){e==null||e.apply(void 0,arguments),l==null||l(!0)},autoFocus:t==="ok",buttonProps:o,prefixCls:`${i}-btn`},r)};var M_e=m.createContext(null),s8e=[];function cRt(t,e){var n=m.useState(function(){if(!sp())return null;var g=document.createElement("div");return g}),o=on(n,1),i=o[0],r=m.useRef(!1),a=m.useContext(M_e),l=m.useState(s8e),s=on(l,2),c=s[0],u=s[1],d=a||(r.current?void 0:function(g){u(function(A){var w=[g].concat(Wo(A));return w})});function f(){i.parentElement||document.body.appendChild(i),r.current=!0}function p(){var g;(g=i.parentElement)===null||g===void 0||g.removeChild(i),r.current=!1}return Ba(function(){return t?a?a(f):f():p(),p},[t]),Ba(function(){c.length&&(c.forEach(function(g){return g()}),u(s8e))},[c]),[i,d]}var Rie;function r0e(t){if(typeof document>"u")return 0;if(Rie===void 0){var e=document.createElement("div");e.style.width="100%",e.style.height="200px";var n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",n.appendChild(e),document.body.appendChild(n);var i=e.offsetWidth;n.style.overflow="scroll";var r=e.offsetWidth;i===r&&(r=n.clientWidth),document.body.removeChild(n),Rie=i-r}return Rie}function c8e(t){var e=t.match(/^(.*)px$/),n=Number(e==null?void 0:e[1]);return Number.isNaN(n)?r0e():n}function a0e(t){if(typeof document>"u"||!t||!(t instanceof Element))return{width:0,height:0};var e=getComputedStyle(t,"::-webkit-scrollbar"),n=e.width,o=e.height;return{width:c8e(n),height:c8e(o)}}function uRt(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var dRt="rc-util-locker-".concat(Date.now()),u8e=0;function fRt(t){var e=!!t,n=m.useState(function(){return u8e+=1,"".concat(dRt,"_").concat(u8e)}),o=on(n,1),i=o[0];Ba(function(){if(e){var r=a0e(document.body).width,a=uRt();lx(` html body { overflow-y: hidden; `.concat(a?"width: calc(100% - ".concat(r,"px);"):"",` -}`),i)}else cG(i);return function(){cG(i)}},[e,i])}var gRt=!1;function mRt(t){return gRt}var d8e=function(e){return e===!1?!1:!sp()||!e?null:typeof e=="string"?document.querySelector(e):typeof e=="function"?e():e},d$=m.forwardRef(function(t,e){var n=t.open,o=t.autoLock,i=t.getContainer;t.debug;var r=t.autoDestroy,a=r===void 0?!0:r,l=t.children,s=m.useState(n),c=on(s,2),u=c[0],d=c[1],f=u||n;m.useEffect(function(){(a||n)&&d(n)},[n,a]);var p=m.useState(function(){return d8e(i)}),g=on(p,2),A=g[0],w=g[1];m.useEffect(function(){var D=d8e(i);w(D??null)});var b=dRt(f&&!A),C=on(b,2),P=C[0],v=C[1],T=A??P;pRt(o&&n&&sp()&&(T===P||T===document.body));var y=null;if(l&&Zw(l)&&e){var S=l;y=S.ref}var x=z7(y,e);if(!f||!sp()||A===void 0)return null;var R=T===!1||mRt(),H=l;return e&&(H=m.cloneElement(l,{ref:x})),m.createElement(z_e.Provider,{value:v},R?H:Td.createPortal(H,T))}),D_e=m.createContext({});function yRt(){var t=$t({},iK);return t.useId}var f8e=0,h8e=yRt();const E_e=h8e?function(e){var n=h8e();return e||n}:function(e){var n=m.useState("ssr-id"),o=on(n,2),i=o[0],r=o[1];return m.useEffect(function(){var a=f8e;f8e+=1,r("rc_unique_".concat(a))},[]),e||i};function p8e(t,e,n){var o=e;return!o&&n&&(o="".concat(t,"-").concat(n)),o}function g8e(t,e){var n=t["page".concat(e?"Y":"X","Offset")],o="scroll".concat(e?"Top":"Left");if(typeof n!="number"){var i=t.document;n=i.documentElement[o],typeof n!="number"&&(n=i.body[o])}return n}function ARt(t){var e=t.getBoundingClientRect(),n={left:e.left,top:e.top},o=t.ownerDocument,i=o.defaultView||o.parentWindow;return n.left+=g8e(i),n.top+=g8e(i,!0),n}const wRt=m.memo(function(t){var e=t.children;return e},function(t,e){var n=e.shouldUpdate;return!n});var m8e={width:0,height:0,overflow:"hidden",outline:"none"},vRt={outline:"none"},k_e=be.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.title,a=t.ariaId,l=t.footer,s=t.closable,c=t.closeIcon,u=t.onClose,d=t.children,f=t.bodyStyle,p=t.bodyProps,g=t.modalRender,A=t.onMouseDown,w=t.onMouseUp,b=t.holderRef,C=t.visible,P=t.forceRender,v=t.width,T=t.height,y=t.classNames,S=t.styles,x=be.useContext(D_e),R=x.panel,H=z7(b,R),D=m.useRef(),k=m.useRef(),W=m.useRef();be.useImperativeHandle(e,function(){return{focus:function(){var O;(O=W.current)===null||O===void 0||O.focus()},changeActive:function(O){var J=document,Z=J.activeElement;O&&Z===k.current?D.current.focus():!O&&Z===D.current&&k.current.focus()}}});var N={};v!==void 0&&(N.width=v),T!==void 0&&(N.height=T);var L;l&&(L=be.createElement("div",{className:_n("".concat(n,"-footer"),y==null?void 0:y.footer),style:$t({},S==null?void 0:S.footer)},l));var E;r&&(E=be.createElement("div",{className:_n("".concat(n,"-header"),y==null?void 0:y.header),style:$t({},S==null?void 0:S.header)},be.createElement("div",{className:"".concat(n,"-title"),id:a},r)));var U=m.useMemo(function(){return gr(s)==="object"&&s!==null?s:s?{closeIcon:c??be.createElement("span",{className:"".concat(n,"-close-x")})}:{}},[s,c]),F=gf(U,!0),B;s&&(B=be.createElement("button",so({type:"button",onClick:u,"aria-label":"Close"},F,{className:"".concat(n,"-close")}),U.closeIcon));var _=be.createElement("div",{className:_n("".concat(n,"-content"),y==null?void 0:y.content),style:S==null?void 0:S.content},B,E,be.createElement("div",so({className:_n("".concat(n,"-body"),y==null?void 0:y.body),style:$t($t({},f),S==null?void 0:S.body)},p),d),L);return be.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":r?a:null,"aria-modal":"true",ref:H,style:$t($t({},i),N),className:_n(n,o),onMouseDown:A,onMouseUp:w},be.createElement("div",{tabIndex:0,ref:D,style:m8e,"aria-hidden":"true"}),be.createElement("div",{ref:W,tabIndex:-1,style:vRt},be.createElement(wRt,{shouldUpdate:C||P},g?g(_):_)),be.createElement("div",{tabIndex:0,ref:k,style:m8e,"aria-hidden":"true"}))}),F_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.title,i=t.style,r=t.className,a=t.visible,l=t.forceRender,s=t.destroyOnClose,c=t.motionName,u=t.ariaId,d=t.onVisibleChanged,f=t.mousePosition,p=m.useRef(),g=m.useState(),A=on(g,2),w=A[0],b=A[1],C={};w&&(C.transformOrigin=w);function P(){var v=ARt(p.current);b(f?"".concat(f.x-v.left,"px ").concat(f.y-v.top,"px"):"")}return m.createElement(Hg,{visible:a,onVisibleChanged:d,onAppearPrepare:P,onEnterPrepare:P,forceRender:l,motionName:c,removeOnLeave:s,ref:p},function(v,T){var y=v.className,S=v.style;return m.createElement(k_e,so({},t,{ref:e,title:o,ariaId:u,prefixCls:n,holderRef:T,style:$t($t($t({},S),i),C),className:_n(r,y)}))})});F_e.displayName="Content";function xRt(t){var e=t.prefixCls,n=t.style,o=t.visible,i=t.maskProps,r=t.motionName,a=t.className;return m.createElement(Hg,{key:"mask",visible:o,motionName:r,leavedClassName:"".concat(e,"-mask-hidden")},function(l,s){var c=l.className,u=l.style;return m.createElement("div",so({ref:s,style:$t($t({},u),n),className:_n("".concat(e,"-mask"),c,a)},i))})}function bRt(t){var e=t.prefixCls,n=e===void 0?"rc-dialog":e,o=t.zIndex,i=t.visible,r=i===void 0?!1:i,a=t.keyboard,l=a===void 0?!0:a,s=t.focusTriggerAfterClose,c=s===void 0?!0:s,u=t.wrapStyle,d=t.wrapClassName,f=t.wrapProps,p=t.onClose,g=t.afterOpenChange,A=t.afterClose,w=t.transitionName,b=t.animation,C=t.closable,P=C===void 0?!0:C,v=t.mask,T=v===void 0?!0:v,y=t.maskTransitionName,S=t.maskAnimation,x=t.maskClosable,R=x===void 0?!0:x,H=t.maskStyle,D=t.maskProps,k=t.rootClassName,W=t.classNames,N=t.styles,L=m.useRef(),E=m.useRef(),U=m.useRef(),F=m.useState(r),B=on(F,2),_=B[0],Y=B[1],O=E_e();function J(){Mce(E.current,document.activeElement)||(L.current=document.activeElement)}function Z(){if(!Mce(E.current,document.activeElement)){var he;(he=U.current)===null||he===void 0||he.focus()}}function ie(he){if(he)Z();else{if(Y(!1),T&&L.current&&c){try{L.current.focus({preventScroll:!0})}catch{}L.current=null}_&&(A==null||A())}g==null||g(he)}function ee(he){p==null||p(he)}var q=m.useRef(!1),ae=m.useRef(),ne=function(){clearTimeout(ae.current),q.current=!0},se=function(){ae.current=setTimeout(function(){q.current=!1})},le=null;R&&(le=function(pe){q.current?q.current=!1:E.current===pe.target&&ee(pe)});function te(he){if(l&&he.keyCode===Bn.ESC){he.stopPropagation(),ee(he);return}r&&he.keyCode===Bn.TAB&&U.current.changeActive(!he.shiftKey)}return m.useEffect(function(){r&&(Y(!0),J())},[r]),m.useEffect(function(){return function(){clearTimeout(ae.current)}},[]),m.createElement("div",so({className:_n("".concat(n,"-root"),k)},gf(t,{data:!0})),m.createElement(xRt,{prefixCls:n,visible:T&&r,motionName:p8e(n,y,S),style:$t($t({zIndex:o},H),N==null?void 0:N.mask),maskProps:D,className:W==null?void 0:W.mask}),m.createElement("div",so({tabIndex:-1,onKeyDown:te,className:_n("".concat(n,"-wrap"),d,W==null?void 0:W.wrapper),ref:E,onClick:le,style:$t($t($t({zIndex:o},u),N==null?void 0:N.wrapper),{},{display:_?null:"none"})},f),m.createElement(F_e,so({},t,{onMouseDown:ne,onMouseUp:se,ref:U,closable:P,ariaId:O,prefixCls:n,visible:r&&_,onClose:ee,onVisibleChanged:ie,motionName:p8e(n,w,b)}))))}var L_e=function(e){var n=e.visible,o=e.getContainer,i=e.forceRender,r=e.destroyOnClose,a=r===void 0?!1:r,l=e.afterClose,s=e.panelRef,c=m.useState(n),u=on(c,2),d=u[0],f=u[1],p=m.useMemo(function(){return{panel:s}},[s]);return m.useEffect(function(){n&&f(!0)},[n]),!i&&a&&!d?null:m.createElement(D_e.Provider,{value:p},m.createElement(d$,{open:n||i||d,autoDestroy:!1,getContainer:o,autoLock:n||d},m.createElement(bRt,so({},e,{destroyOnClose:a,afterClose:function(){l==null||l(),f(!1)}}))))};L_e.displayName="Dialog";function oR(t){if(t)return{closable:t.closable,closeIcon:t.closeIcon}}function y8e(t){const{closable:e,closeIcon:n}=t||{};return be.useMemo(()=>{if(!e&&(e===!1||n===!1||n===null))return!1;if(e===void 0&&n===void 0)return null;let o={closeIcon:typeof n!="boolean"&&n!==null?n:void 0};return e&&typeof e=="object"&&(o=Object.assign(Object.assign({},o),e)),o},[e,n])}function A8e(){const t={};for(var e=arguments.length,n=new Array(e),o=0;o{i&&Object.keys(i).forEach(r=>{i[r]!==void 0&&(t[r]=i[r])})}),t}const SRt={};function qge(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:SRt;const o=y8e(t),i=y8e(e),r=be.useMemo(()=>Object.assign({closeIcon:be.createElement(E7,null)},n),[n]),a=be.useMemo(()=>o===!1?!1:o?A8e(r,i,o):i===!1?!1:i?A8e(r,i):r.closable?r:!1,[o,i,r]);return be.useMemo(()=>{if(a===!1)return[!1,null];const{closeIconRender:l}=r,{closeIcon:s}=a;let c=s;if(c!=null){l&&(c=l(s));const u=Oge(a,!0);Object.keys(u).length&&(c=be.isValidElement(c)?be.cloneElement(c,u):be.createElement("span",Object.assign({},u),c))}return[!0,c]},[a,r])}var W_e=function(e){if(gW()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},TRt=function(e,n){if(!W_e(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function w8e(t,e){return!Array.isArray(t)&&e!==void 0?TRt(t,e):W_e(t)}const PRt=()=>gW()&&window.document.documentElement;function N2(){N2=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(E,U,F){E[U]=F.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(E,U,F){return Object.defineProperty(E,U,{value:F,enumerable:!0,configurable:!0,writable:!0}),E[U]}try{c({},"")}catch{c=function(F,B,_){return F[B]=_}}function u(E,U,F,B){var _=U&&U.prototype instanceof b?U:b,Y=Object.create(_.prototype),O=new N(B||[]);return i(Y,"_invoke",{value:H(E,F,O)}),Y}function d(E,U,F){try{return{type:"normal",arg:E.call(U,F)}}catch(B){return{type:"throw",arg:B}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",A="completed",w={};function b(){}function C(){}function P(){}var v={};c(v,a,function(){return this});var T=Object.getPrototypeOf,y=T&&T(T(L([])));y&&y!==n&&o.call(y,a)&&(v=y);var S=P.prototype=b.prototype=Object.create(v);function x(E){["next","throw","return"].forEach(function(U){c(E,U,function(F){return this._invoke(U,F)})})}function R(E,U){function F(_,Y,O,J){var Z=d(E[_],E,Y);if(Z.type!=="throw"){var ie=Z.arg,ee=ie.value;return ee&&gr(ee)=="object"&&o.call(ee,"__await")?U.resolve(ee.__await).then(function(q){F("next",q,O,J)},function(q){F("throw",q,O,J)}):U.resolve(ee).then(function(q){ie.value=q,O(ie)},function(q){return F("throw",q,O,J)})}J(Z.arg)}var B;i(this,"_invoke",{value:function(Y,O){function J(){return new U(function(Z,ie){F(Y,O,Z,ie)})}return B=B?B.then(J,J):J()}})}function H(E,U,F){var B=f;return function(_,Y){if(B===g)throw new Error("Generator is already running");if(B===A){if(_==="throw")throw Y;return{value:t,done:!0}}for(F.method=_,F.arg=Y;;){var O=F.delegate;if(O){var J=D(O,F);if(J){if(J===w)continue;return J}}if(F.method==="next")F.sent=F._sent=F.arg;else if(F.method==="throw"){if(B===f)throw B=A,F.arg;F.dispatchException(F.arg)}else F.method==="return"&&F.abrupt("return",F.arg);B=g;var Z=d(E,U,F);if(Z.type==="normal"){if(B=F.done?A:p,Z.arg===w)continue;return{value:Z.arg,done:F.done}}Z.type==="throw"&&(B=A,F.method="throw",F.arg=Z.arg)}}}function D(E,U){var F=U.method,B=E.iterator[F];if(B===t)return U.delegate=null,F==="throw"&&E.iterator.return&&(U.method="return",U.arg=t,D(E,U),U.method==="throw")||F!=="return"&&(U.method="throw",U.arg=new TypeError("The iterator does not provide a '"+F+"' method")),w;var _=d(B,E.iterator,U.arg);if(_.type==="throw")return U.method="throw",U.arg=_.arg,U.delegate=null,w;var Y=_.arg;return Y?Y.done?(U[E.resultName]=Y.value,U.next=E.nextLoc,U.method!=="return"&&(U.method="next",U.arg=t),U.delegate=null,w):Y:(U.method="throw",U.arg=new TypeError("iterator result is not an object"),U.delegate=null,w)}function k(E){var U={tryLoc:E[0]};1 in E&&(U.catchLoc=E[1]),2 in E&&(U.finallyLoc=E[2],U.afterLoc=E[3]),this.tryEntries.push(U)}function W(E){var U=E.completion||{};U.type="normal",delete U.arg,E.completion=U}function N(E){this.tryEntries=[{tryLoc:"root"}],E.forEach(k,this),this.reset(!0)}function L(E){if(E||E===""){var U=E[a];if(U)return U.call(E);if(typeof E.next=="function")return E;if(!isNaN(E.length)){var F=-1,B=function _(){for(;++F=0;--_){var Y=this.tryEntries[_],O=Y.completion;if(Y.tryLoc==="root")return B("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Z=o.call(Y,"finallyLoc");if(J&&Z){if(this.prev=0;--B){var _=this.tryEntries[B];if(_.tryLoc<=this.prev&&o.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var Y=_;break}}Y&&(U==="break"||U==="continue")&&Y.tryLoc<=F&&F<=Y.finallyLoc&&(Y=null);var O=Y?Y.completion:{};return O.type=U,O.arg=F,Y?(this.method="next",this.next=Y.finallyLoc,w):this.complete(O)},complete:function(U,F){if(U.type==="throw")throw U.arg;return U.type==="break"||U.type==="continue"?this.next=U.arg:U.type==="return"?(this.rval=this.arg=U.arg,this.method="return",this.next="end"):U.type==="normal"&&F&&(this.next=F),w},finish:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.finallyLoc===U)return this.complete(B.completion,B.afterLoc),W(B),w}},catch:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.tryLoc===U){var _=B.completion;if(_.type==="throw"){var Y=_.arg;W(B)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(U,F,B){return this.delegate={iterator:L(U),resultName:F,nextLoc:B},this.method==="next"&&(this.arg=t),w}},e}function v8e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function bW(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){v8e(r,o,i,a,l,"next",s)}function l(s){v8e(r,o,i,a,l,"throw",s)}a(void 0)})}}var kv="RC_FORM_INTERNAL_HOOKS",ms=function(){U0(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},iR=m.createContext({getFieldValue:ms,getFieldsValue:ms,getFieldError:ms,getFieldWarning:ms,getFieldsError:ms,isFieldsTouched:ms,isFieldTouched:ms,isFieldValidating:ms,isFieldsValidating:ms,resetFields:ms,setFields:ms,setFieldValue:ms,setFieldsValue:ms,validateFields:ms,submit:ms,getInternalHooks:function(){return ms(),{dispatch:ms,initEntityValue:ms,registerField:ms,useSubscribe:ms,setInitialValues:ms,destroyForm:ms,setCallbacks:ms,registerWatch:ms,getFields:ms,setValidateMessages:ms,setPreserve:ms,getInitialValue:ms}}}),wG=m.createContext(null);function l0e(t){return t==null?[]:Array.isArray(t)?t:[t]}function CRt(t){return t&&!!t._init}function ep(t){"@babel/helpers - typeof";return ep=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ep(t)}function RRt(t,e){if(ep(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(ep(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function N_e(t){var e=RRt(t,"string");return ep(e)=="symbol"?e:e+""}function X6(t,e,n){return e=N_e(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function x8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Y4(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?e-1:0),o=1;o=r)return l;switch(l){case"%s":return String(n[i++]);case"%d":return Number(n[i++]);case"%j":try{return JSON.stringify(n[i++])}catch{return"[Circular]"}break;default:return l}});return a}return t}function BRt(t){return t==="string"||t==="url"||t==="hex"||t==="email"||t==="date"||t==="pattern"}function uu(t,e){return!!(t==null||e==="array"&&Array.isArray(t)&&!t.length||BRt(e)&&typeof t=="string"&&!t)}function jRt(t,e,n){var o=[],i=0,r=t.length;function a(l){o.push.apply(o,GP(l||[])),i++,i===r&&n(o)}t.forEach(function(l){e(l,a)})}function b8e(t,e,n){var o=0,i=t.length;function r(a){if(a&&a.length){n(a);return}var l=o;o=o+1,le.max?i.push(fg(r.messages[d].max,e.fullField,e.max)):l&&s&&(ue.max)&&i.push(fg(r.messages[d].range,e.fullField,e.min,e.max))},j_e=function(e,n,o,i,r,a){e.required&&(!o.hasOwnProperty(e.field)||uu(n,a||e.type))&&i.push(fg(r.messages.required,e.fullField))},fY;const KRt=function(){if(fY)return fY;var t="[a-fA-F\\d:]",e=function(y){return y&&y.includeBoundaries?"(?:(?<=\\s|^)(?=".concat(t,")|(?<=").concat(t,")(?=\\s|$))"):""},n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",o="[a-fA-F\\d]{1,4}",i=["(?:".concat(o,":){7}(?:").concat(o,"|:)"),"(?:".concat(o,":){6}(?:").concat(n,"|:").concat(o,"|:)"),"(?:".concat(o,":){5}(?::").concat(n,"|(?::").concat(o,"){1,2}|:)"),"(?:".concat(o,":){4}(?:(?::").concat(o,"){0,1}:").concat(n,"|(?::").concat(o,"){1,3}|:)"),"(?:".concat(o,":){3}(?:(?::").concat(o,"){0,2}:").concat(n,"|(?::").concat(o,"){1,4}|:)"),"(?:".concat(o,":){2}(?:(?::").concat(o,"){0,3}:").concat(n,"|(?::").concat(o,"){1,5}|:)"),"(?:".concat(o,":){1}(?:(?::").concat(o,"){0,4}:").concat(n,"|(?::").concat(o,"){1,6}|:)"),"(?::(?:(?::".concat(o,"){0,5}:").concat(n,"|(?::").concat(o,"){1,7}|:))")],r="(?:%[0-9a-zA-Z]{1,})?",a="(?:".concat(i.join("|"),")").concat(r),l=new RegExp("(?:^".concat(n,"$)|(?:^").concat(a,"$)")),s=new RegExp("^".concat(n,"$")),c=new RegExp("^".concat(a,"$")),u=function(y){return y&&y.exact?l:new RegExp("(?:".concat(e(y)).concat(n).concat(e(y),")|(?:").concat(e(y)).concat(a).concat(e(y),")"),"g")};u.v4=function(T){return T&&T.exact?s:new RegExp("".concat(e(T)).concat(n).concat(e(T)),"g")},u.v6=function(T){return T&&T.exact?c:new RegExp("".concat(e(T)).concat(a).concat(e(T)),"g")};var d="(?:(?:[a-z]+:)?//)",f="(?:\\S+(?::\\S*)?@)?",p=u.v4().source,g=u.v6().source,A="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",w="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",b="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",C="(?::\\d{2,5})?",P='(?:[/?#][^\\s"]*)?',v="(?:".concat(d,"|www\\.)").concat(f,"(?:localhost|").concat(p,"|").concat(g,"|").concat(A).concat(w).concat(b,")").concat(C).concat(P);return fY=new RegExp("(?:^".concat(v,"$)"),"i"),fY};var C8e={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hD={integer:function(e){return hD.number(e)&&parseInt(e,10)===e},float:function(e){return hD.number(e)&&!hD.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return ep(e)==="object"&&!hD.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(C8e.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(KRt())},hex:function(e){return typeof e=="string"&&!!e.match(C8e.hex)}},qRt=function(e,n,o,i,r){if(e.required&&n===void 0){j_e(e,n,o,i,r);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],l=e.type;a.indexOf(l)>-1?hD[l](n)||i.push(fg(r.messages.types[l],e.fullField,e.type)):l&&ep(n)!==e.type&&i.push(fg(r.messages.types[l],e.fullField,e.type))},$Rt=function(e,n,o,i,r){(/^\s+$/.test(n)||n==="")&&i.push(fg(r.messages.whitespace,e.fullField))};const Ka={required:j_e,whitespace:$Rt,type:qRt,range:JRt,enum:GRt,pattern:XRt};var QRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r)}o(a)},ZRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n==null&&!e.required)return o();Ka.required(e,n,i,a,r,"array"),n!=null&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},eHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},tHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"date")&&!e.required)return o();if(Ka.required(e,n,i,a,r),!uu(n,"date")){var s;n instanceof Date?s=n:s=new Date(n),Ka.type(e,s,i,a,r),s&&Ka.range(e,s.getTime(),i,a,r)}}o(a)},nHt="enum",oHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka[nHt](e,n,i,a,r)}o(a)},iHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},rHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},aHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},lHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n===""&&(n=void 0),uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},sHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},cHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n,"string")||Ka.pattern(e,n,i,a,r)}o(a)},uHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n)||Ka.type(e,n,i,a,r)}o(a)},dHt=function(e,n,o,i,r){var a=[],l=Array.isArray(n)?"array":ep(n);Ka.required(e,n,i,a,r,l),o(a)},fHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r,"string"),uu(n,"string")||(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r),Ka.pattern(e,n,i,a,r),e.whitespace===!0&&Ka.whitespace(e,n,i,a,r))}o(a)},Hie=function(e,n,o,i,r){var a=e.type,l=[],s=e.required||!e.required&&i.hasOwnProperty(e.field);if(s){if(uu(n,a)&&!e.required)return o();Ka.required(e,n,i,l,r,a),uu(n,a)||Ka.type(e,n,i,l,r)}o(l)};const sE={string:fHt,method:aHt,number:lHt,boolean:eHt,regexp:uHt,integer:rHt,float:iHt,array:ZRt,object:sHt,enum:oHt,pattern:cHt,date:tHt,url:Hie,hex:Hie,email:Hie,required:dHt,any:QRt};var SW=function(){function t(e){U_e(this,t),X6(this,"rules",null),X6(this,"_messages",u0e),this.define(e)}return B_e(t,[{key:"define",value:function(n){var o=this;if(!n)throw new Error("Cannot configure a schema with no rules");if(ep(n)!=="object"||Array.isArray(n))throw new Error("Rules must be an object");this.rules={},Object.keys(n).forEach(function(i){var r=n[i];o.rules[i]=Array.isArray(r)?r:[r]})}},{key:"messages",value:function(n){return n&&(this._messages=P8e(c0e(),n)),this._messages}},{key:"validate",value:function(n){var o=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},a=n,l=i,s=r;if(typeof l=="function"&&(s=l,l={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(g){var A=[],w={};function b(P){if(Array.isArray(P)){var v;A=(v=A).concat.apply(v,GP(P))}else A.push(P)}for(var C=0;C0&&arguments[0]!==void 0?arguments[0]:[],x=Array.isArray(S)?S:[S];!l.suppressWarning&&x.length&&t.warning("async-validator:",x),x.length&&w.message!==void 0&&(x=[].concat(w.message));var R=x.map(T8e(w,a));if(l.first&&R.length)return p[w.field]=1,A(R);if(!b)A(R);else{if(w.required&&!g.value)return w.message!==void 0?R=[].concat(w.message).map(T8e(w,a)):l.error&&(R=[l.error(w,fg(l.messages.required,w.field))]),A(R);var H={};w.defaultField&&Object.keys(g.value).map(function(W){H[W]=w.defaultField}),H=Y4(Y4({},H),g.rule.fields);var D={};Object.keys(H).forEach(function(W){var N=H[W],L=Array.isArray(N)?N:[N];D[W]=L.map(C.bind(null,W))});var k=new t(D);k.messages(l.messages),g.rule.options&&(g.rule.options.messages=l.messages,g.rule.options.error=l.error),k.validate(g.value,g.rule.options||l,function(W){var N=[];R&&R.length&&N.push.apply(N,GP(R)),W&&W.length&&N.push.apply(N,GP(W)),A(N.length?N:null)})}}var v;if(w.asyncValidator)v=w.asyncValidator(w,g.value,P,g.source,l);else if(w.validator){try{v=w.validator(w,g.value,P,g.source,l)}catch(S){var T,y;(T=(y=console).error)===null||T===void 0||T.call(y,S),l.suppressValidatorError||setTimeout(function(){throw S},0),P(S.message)}v===!0?P():v===!1?P(typeof w.message=="function"?w.message(w.fullField||w.field):w.message||"".concat(w.fullField||w.field," fails")):v instanceof Array?P(v):v instanceof Error&&P(v.message)}v&&v.then&&v.then(function(){return P()},function(S){return P(S)})},function(g){c(g)},a)}},{key:"getType",value:function(n){if(n.type===void 0&&n.pattern instanceof RegExp&&(n.type="pattern"),typeof n.validator!="function"&&n.type&&!sE.hasOwnProperty(n.type))throw new Error(fg("Unknown rule type %s",n.type));return n.type||"string"}},{key:"getValidationMethod",value:function(n){if(typeof n.validator=="function")return n.validator;var o=Object.keys(n),i=o.indexOf("message");return i!==-1&&o.splice(i,1),o.length===1&&o[0]==="required"?sE.required:sE[this.getType(n)]||void 0}}]),t}();X6(SW,"register",function(e,n){if(typeof n!="function")throw new Error("Cannot register a validator by type, validator is not a function");sE[e]=n});X6(SW,"warning",URt);X6(SW,"messages",u0e);X6(SW,"validators",sE);var E1="'${name}' is not a valid ${type}",Y_e={default:"Validation error on field '${name}'",required:"'${name}' is required",enum:"'${name}' must be one of [${enum}]",whitespace:"'${name}' cannot be empty",date:{format:"'${name}' is invalid for format date",parse:"'${name}' could not be parsed as date",invalid:"'${name}' is invalid date"},types:{string:E1,method:E1,array:E1,object:E1,number:E1,date:E1,boolean:E1,integer:E1,float:E1,regexp:E1,email:E1,url:E1,hex:E1},string:{len:"'${name}' must be exactly ${len} characters",min:"'${name}' must be at least ${min} characters",max:"'${name}' cannot be longer than ${max} characters",range:"'${name}' must be between ${min} and ${max} characters"},number:{len:"'${name}' must equal ${len}",min:"'${name}' cannot be less than ${min}",max:"'${name}' cannot be greater than ${max}",range:"'${name}' must be between ${min} and ${max}"},array:{len:"'${name}' must be exactly ${len} in length",min:"'${name}' cannot be less than ${min} in length",max:"'${name}' cannot be greater than ${max} in length",range:"'${name}' must be between ${min} and ${max} in length"},pattern:{mismatch:"'${name}' does not match pattern ${pattern}"}};function O_e(t){return kYe(t)||LYe(t)||bge(t)||FYe()}function hg(t,e){for(var n=t,o=0;o3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!hg(t,e.slice(0,-1))?t:__e(t,e,n,o)}function hHt(t){return gr(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function R8e(t){return Array.isArray(t)?[]:{}}var pHt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function pD(){for(var t=arguments.length,e=new Array(t),n=0;n2&&arguments[2]!==void 0?arguments[2]:!1;return t&&t.some(function(o){return V_e(e,o,n)})}function V_e(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!t||!e||!n&&t.length!==e.length?!1:e.every(function(o,i){return t[i]===o})}function wHt(t,e){if(t===e)return!0;if(!t&&e||t&&!e||!t||!e||gr(t)!=="object"||gr(e)!=="object")return!1;var n=Object.keys(t),o=Object.keys(e),i=new Set([].concat(n,o));return Wo(i).every(function(r){var a=t[r],l=e[r];return typeof a=="function"&&typeof l=="function"?!0:a===l})}function vHt(t){var e=arguments.length<=1?void 0:arguments[1];return e&&e.target&&gr(e.target)==="object"&&t in e.target?e.target[t]:e}function z8e(t,e,n){var o=t.length;if(e<0||e>=o||n<0||n>=o)return t;var i=t[e],r=e-n;return r>0?[].concat(Wo(t.slice(0,n)),[i],Wo(t.slice(n,e)),Wo(t.slice(e+1,o))):r<0?[].concat(Wo(t.slice(0,e)),Wo(t.slice(e+1,n+1)),[i],Wo(t.slice(n+1,o))):t}var xHt=["name"],sm=[];function D8e(t,e,n,o,i,r){return typeof t=="function"?t(e,n,"source"in r?{source:r.source}:{}):o!==i}var Qge=function(t){hW(n,t);var e=pW(n);function n(o){var i;if(pp(this,n),i=e.call(this,o),_t(xl(i),"state",{resetCount:0}),_t(xl(i),"cancelRegisterFunc",null),_t(xl(i),"mounted",!1),_t(xl(i),"touched",!1),_t(xl(i),"dirty",!1),_t(xl(i),"validatePromise",void 0),_t(xl(i),"prevValidating",void 0),_t(xl(i),"errors",sm),_t(xl(i),"warnings",sm),_t(xl(i),"cancelRegister",function(){var s=i.props,c=s.preserve,u=s.isListField,d=s.name;i.cancelRegisterFunc&&i.cancelRegisterFunc(u,c,D0(d)),i.cancelRegisterFunc=null}),_t(xl(i),"getNamePath",function(){var s=i.props,c=s.name,u=s.fieldContext,d=u.prefixName,f=d===void 0?[]:d;return c!==void 0?[].concat(Wo(f),Wo(c)):[]}),_t(xl(i),"getRules",function(){var s=i.props,c=s.rules,u=c===void 0?[]:c,d=s.fieldContext;return u.map(function(f){return typeof f=="function"?f(d):f})}),_t(xl(i),"refresh",function(){i.mounted&&i.setState(function(s){var c=s.resetCount;return{resetCount:c+1}})}),_t(xl(i),"metaCache",null),_t(xl(i),"triggerMetaEvent",function(s){var c=i.props.onMetaChange;if(c){var u=$t($t({},i.getMeta()),{},{destroy:s});e7(i.metaCache,u)||c(u),i.metaCache=u}else i.metaCache=null}),_t(xl(i),"onStoreChange",function(s,c,u){var d=i.props,f=d.shouldUpdate,p=d.dependencies,g=p===void 0?[]:p,A=d.onReset,w=u.store,b=i.getNamePath(),C=i.getValue(s),P=i.getValue(w),v=c&&yC(c,b);switch(u.type==="valueUpdate"&&u.source==="external"&&!e7(C,P)&&(i.touched=!0,i.dirty=!0,i.validatePromise=null,i.errors=sm,i.warnings=sm,i.triggerMetaEvent()),u.type){case"reset":if(!c||v){i.touched=!1,i.dirty=!1,i.validatePromise=void 0,i.errors=sm,i.warnings=sm,i.triggerMetaEvent(),A==null||A(),i.refresh();return}break;case"remove":{if(f){i.reRender();return}break}case"setField":{var T=u.data;if(v){"touched"in T&&(i.touched=T.touched),"validating"in T&&!("originRCField"in T)&&(i.validatePromise=T.validating?Promise.resolve([]):null),"errors"in T&&(i.errors=T.errors||sm),"warnings"in T&&(i.warnings=T.warnings||sm),i.dirty=!0,i.triggerMetaEvent(),i.reRender();return}else if("value"in T&&yC(c,b,!0)){i.reRender();return}if(f&&!b.length&&D8e(f,s,w,C,P,u)){i.reRender();return}break}case"dependenciesUpdate":{var y=g.map(D0);if(y.some(function(S){return yC(u.relatedFields,S)})){i.reRender();return}break}default:if(v||(!g.length||b.length||f)&&D8e(f,s,w,C,P,u)){i.reRender();return}break}f===!0&&i.reRender()}),_t(xl(i),"validateRules",function(s){var c=i.getNamePath(),u=i.getValue(),d=s||{},f=d.triggerName,p=d.validateOnly,g=p===void 0?!1:p,A=Promise.resolve().then(bW(N2().mark(function w(){var b,C,P,v,T,y,S;return N2().wrap(function(R){for(;;)switch(R.prev=R.next){case 0:if(i.mounted){R.next=2;break}return R.abrupt("return",[]);case 2:if(b=i.props,C=b.validateFirst,P=C===void 0?!1:C,v=b.messageVariables,T=b.validateDebounce,y=i.getRules(),f&&(y=y.filter(function(H){return H}).filter(function(H){var D=H.validateTrigger;if(!D)return!0;var k=l0e(D);return k.includes(f)})),!(T&&f)){R.next=10;break}return R.next=8,new Promise(function(H){setTimeout(H,T)});case 8:if(i.validatePromise===A){R.next=10;break}return R.abrupt("return",[]);case 10:return S=mHt(c,u,y,s,P,v),S.catch(function(H){return H}).then(function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:sm;if(i.validatePromise===A){var D;i.validatePromise=null;var k=[],W=[];(D=H.forEach)===null||D===void 0||D.call(H,function(N){var L=N.rule.warningOnly,E=N.errors,U=E===void 0?sm:E;L?W.push.apply(W,Wo(U)):k.push.apply(k,Wo(U))}),i.errors=k,i.warnings=W,i.triggerMetaEvent(),i.reRender()}}),R.abrupt("return",S);case 13:case"end":return R.stop()}},w)})));return g||(i.validatePromise=A,i.dirty=!0,i.errors=sm,i.warnings=sm,i.triggerMetaEvent(),i.reRender()),A}),_t(xl(i),"isFieldValidating",function(){return!!i.validatePromise}),_t(xl(i),"isFieldTouched",function(){return i.touched}),_t(xl(i),"isFieldDirty",function(){if(i.dirty||i.props.initialValue!==void 0)return!0;var s=i.props.fieldContext,c=s.getInternalHooks(kv),u=c.getInitialValue;return u(i.getNamePath())!==void 0}),_t(xl(i),"getErrors",function(){return i.errors}),_t(xl(i),"getWarnings",function(){return i.warnings}),_t(xl(i),"isListField",function(){return i.props.isListField}),_t(xl(i),"isList",function(){return i.props.isList}),_t(xl(i),"isPreserve",function(){return i.props.preserve}),_t(xl(i),"getMeta",function(){i.prevValidating=i.isFieldValidating();var s={touched:i.isFieldTouched(),validating:i.prevValidating,errors:i.errors,warnings:i.warnings,name:i.getNamePath(),validated:i.validatePromise===null};return s}),_t(xl(i),"getOnlyChild",function(s){if(typeof s=="function"){var c=i.getMeta();return $t($t({},i.getOnlyChild(s(i.getControlled(),c,i.props.fieldContext))),{},{isFunction:!0})}var u=Qw(s);return u.length!==1||!m.isValidElement(u[0])?{child:u,isFunction:!1}:{child:u[0],isFunction:!1}}),_t(xl(i),"getValue",function(s){var c=i.props.fieldContext.getFieldsValue,u=i.getNamePath();return hg(s||c(!0),u)}),_t(xl(i),"getControlled",function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=i.props,u=c.name,d=c.trigger,f=c.validateTrigger,p=c.getValueFromEvent,g=c.normalize,A=c.valuePropName,w=c.getValueProps,b=c.fieldContext,C=f!==void 0?f:b.validateTrigger,P=i.getNamePath(),v=b.getInternalHooks,T=b.getFieldsValue,y=v(kv),S=y.dispatch,x=i.getValue(),R=w||function(N){return _t({},A,N)},H=s[d],D=u!==void 0?R(x):{},k=$t($t({},s),D);k[d]=function(){i.touched=!0,i.dirty=!0,i.triggerMetaEvent();for(var N,L=arguments.length,E=new Array(L),U=0;U=0&&H<=D.length?(u.keys=[].concat(Wo(u.keys.slice(0,H)),[u.id],Wo(u.keys.slice(H))),P([].concat(Wo(D.slice(0,H)),[R],Wo(D.slice(H))))):(u.keys=[].concat(Wo(u.keys),[u.id]),P([].concat(Wo(D),[R]))),u.id+=1},remove:function(R){var H=T(),D=new Set(Array.isArray(R)?R:[R]);D.size<=0||(u.keys=u.keys.filter(function(k,W){return!D.has(W)}),P(H.filter(function(k,W){return!D.has(W)})))},move:function(R,H){if(R!==H){var D=T();R<0||R>=D.length||H<0||H>=D.length||(u.keys=z8e(u.keys,R,H),P(z8e(D,R,H)))}}},S=C||[];return Array.isArray(S)||(S=[]),o(S.map(function(x,R){var H=u.keys[R];return H===void 0&&(u.keys[R]=u.id,H=u.keys[R],u.id+=1),{name:R,key:H,isListField:!0}}),y,w)})))}function SHt(t){var e=!1,n=t.length,o=[];return t.length?new Promise(function(i,r){t.forEach(function(a,l){a.catch(function(s){return e=!0,s}).then(function(s){n-=1,o[l]=s,!(n>0)&&(e&&r(o),i(o))})})}):Promise.resolve([])}var X_e="__@field_split__";function Mie(t){return t.map(function(e){return"".concat(gr(e),":").concat(e)}).join(X_e)}var xT=function(){function t(){pp(this,t),_t(this,"kvs",new Map)}return gp(t,[{key:"set",value:function(n,o){this.kvs.set(Mie(n),o)}},{key:"get",value:function(n){return this.kvs.get(Mie(n))}},{key:"update",value:function(n,o){var i=this.get(n),r=o(i);r?this.set(n,r):this.delete(n)}},{key:"delete",value:function(n){this.kvs.delete(Mie(n))}},{key:"map",value:function(n){return Wo(this.kvs.entries()).map(function(o){var i=on(o,2),r=i[0],a=i[1],l=r.split(X_e);return n({key:l.map(function(s){var c=s.match(/^([^:]*):(.*)$/),u=on(c,3),d=u[1],f=u[2];return d==="number"?Number(f):f}),value:a})})}},{key:"toJSON",value:function(){var n={};return this.map(function(o){var i=o.key,r=o.value;return n[i.join(".")]=r,null}),n}}]),t}(),THt=["name"],PHt=gp(function t(e){var n=this;pp(this,t),_t(this,"formHooked",!1),_t(this,"forceRootUpdate",void 0),_t(this,"subscribable",!0),_t(this,"store",{}),_t(this,"fieldEntities",[]),_t(this,"initialValues",{}),_t(this,"callbacks",{}),_t(this,"validateMessages",null),_t(this,"preserve",null),_t(this,"lastValidatePromise",null),_t(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),_t(this,"getInternalHooks",function(o){return o===kv?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):(U0(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),_t(this,"useSubscribe",function(o){n.subscribable=o}),_t(this,"prevWithoutPreserves",null),_t(this,"setInitialValues",function(o,i){if(n.initialValues=o||{},i){var r,a=pD(o,n.store);(r=n.prevWithoutPreserves)===null||r===void 0||r.map(function(l){var s=l.key;a=r2(a,s,hg(o,s))}),n.prevWithoutPreserves=null,n.updateStore(a)}}),_t(this,"destroyForm",function(){var o=new xT;n.getFieldEntities(!0).forEach(function(i){n.isMergedPreserve(i.isPreserve())||o.set(i.getNamePath(),!0)}),n.prevWithoutPreserves=o}),_t(this,"getInitialValue",function(o){var i=hg(n.initialValues,o);return o.length?pD(i):i}),_t(this,"setCallbacks",function(o){n.callbacks=o}),_t(this,"setValidateMessages",function(o){n.validateMessages=o}),_t(this,"setPreserve",function(o){n.preserve=o}),_t(this,"watchList",[]),_t(this,"registerWatch",function(o){return n.watchList.push(o),function(){n.watchList=n.watchList.filter(function(i){return i!==o})}}),_t(this,"notifyWatch",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(n.watchList.length){var i=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(a){a(i,r,o)})}}),_t(this,"timeoutId",null),_t(this,"warningUnhooked",function(){}),_t(this,"updateStore",function(o){n.store=o}),_t(this,"getFieldEntities",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return o?n.fieldEntities.filter(function(i){return i.getNamePath().length}):n.fieldEntities}),_t(this,"getFieldsMap",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=new xT;return n.getFieldEntities(o).forEach(function(r){var a=r.getNamePath();i.set(a,r)}),i}),_t(this,"getFieldEntitiesForNamePathList",function(o){if(!o)return n.getFieldEntities(!0);var i=n.getFieldsMap(!0);return o.map(function(r){var a=D0(r);return i.get(a)||{INVALIDATE_NAME_PATH:D0(r)}})}),_t(this,"getFieldsValue",function(o,i){n.warningUnhooked();var r,a,l;if(o===!0||Array.isArray(o)?(r=o,a=i):o&&gr(o)==="object"&&(l=o.strict,a=o.filter),r===!0&&!a)return n.store;var s=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return s.forEach(function(u){var d,f,p="INVALIDATE_NAME_PATH"in u?u.INVALIDATE_NAME_PATH:u.getNamePath();if(l){var g,A;if((g=(A=u).isList)!==null&&g!==void 0&&g.call(A))return}else if(!r&&(d=(f=u).isListField)!==null&&d!==void 0&&d.call(f))return;if(!a)c.push(p);else{var w="getMeta"in u?u.getMeta():null;a(w)&&c.push(p)}}),I8e(n.store,c.map(D0))}),_t(this,"getFieldValue",function(o){n.warningUnhooked();var i=D0(o);return hg(n.store,i)}),_t(this,"getFieldsError",function(o){n.warningUnhooked();var i=n.getFieldEntitiesForNamePathList(o);return i.map(function(r,a){return r&&!("INVALIDATE_NAME_PATH"in r)?{name:r.getNamePath(),errors:r.getErrors(),warnings:r.getWarnings()}:{name:D0(o[a]),errors:[],warnings:[]}})}),_t(this,"getFieldError",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.errors}),_t(this,"getFieldWarning",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.warnings}),_t(this,"isFieldsTouched",function(){n.warningUnhooked();for(var o=arguments.length,i=new Array(o),r=0;r0&&arguments[0]!==void 0?arguments[0]:{},i=new xT,r=n.getFieldEntities(!0);r.forEach(function(s){var c=s.props.initialValue,u=s.getNamePath();if(c!==void 0){var d=i.get(u)||new Set;d.add({entity:s,value:c}),i.set(u,d)}});var a=function(c){c.forEach(function(u){var d=u.props.initialValue;if(d!==void 0){var f=u.getNamePath(),p=n.getInitialValue(f);if(p!==void 0)U0(!1,"Form already set 'initialValues' with path '".concat(f.join("."),"'. Field can not overwrite it."));else{var g=i.get(f);if(g&&g.size>1)U0(!1,"Multiple Field with path '".concat(f.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(g){var A=n.getFieldValue(f),w=u.isListField();!w&&(!o.skipExist||A===void 0)&&n.updateStore(r2(n.store,f,Wo(g)[0].value))}}}})},l;o.entities?l=o.entities:o.namePathList?(l=[],o.namePathList.forEach(function(s){var c=i.get(s);if(c){var u;(u=l).push.apply(u,Wo(Wo(c).map(function(d){return d.entity})))}})):l=r,a(l)}),_t(this,"resetFields",function(o){n.warningUnhooked();var i=n.store;if(!o){n.updateStore(pD(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(i,null,{type:"reset"}),n.notifyWatch();return}var r=o.map(D0);r.forEach(function(a){var l=n.getInitialValue(a);n.updateStore(r2(n.store,a,l))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(i,r,{type:"reset"}),n.notifyWatch(r)}),_t(this,"setFields",function(o){n.warningUnhooked();var i=n.store,r=[];o.forEach(function(a){var l=a.name,s=ir(a,THt),c=D0(l);r.push(c),"value"in s&&n.updateStore(r2(n.store,c,s.value)),n.notifyObservers(i,[c],{type:"setField",data:a})}),n.notifyWatch(r)}),_t(this,"getFields",function(){var o=n.getFieldEntities(!0),i=o.map(function(r){var a=r.getNamePath(),l=r.getMeta(),s=$t($t({},l),{},{name:a,value:n.getFieldValue(a)});return Object.defineProperty(s,"originRCField",{value:!0}),s});return i}),_t(this,"initEntityValue",function(o){var i=o.props.initialValue;if(i!==void 0){var r=o.getNamePath(),a=hg(n.store,r);a===void 0&&n.updateStore(r2(n.store,r,i))}}),_t(this,"isMergedPreserve",function(o){var i=o!==void 0?o:n.preserve;return i??!0}),_t(this,"registerField",function(o){n.fieldEntities.push(o);var i=o.getNamePath();if(n.notifyWatch([i]),o.props.initialValue!==void 0){var r=n.store;n.resetWithFieldInitialValue({entities:[o],skipExist:!0}),n.notifyObservers(r,[o.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(d){return d!==o}),!n.isMergedPreserve(l)&&(!a||s.length>1)){var c=a?void 0:n.getInitialValue(i);if(i.length&&n.getFieldValue(i)!==c&&n.fieldEntities.every(function(d){return!V_e(d.getNamePath(),i)})){var u=n.store;n.updateStore(r2(u,i,c,!0)),n.notifyObservers(u,[i],{type:"remove"}),n.triggerDependenciesUpdate(u,i)}}n.notifyWatch([i])}}),_t(this,"dispatch",function(o){switch(o.type){case"updateValue":{var i=o.namePath,r=o.value;n.updateValue(i,r);break}case"validateField":{var a=o.namePath,l=o.triggerName;n.validateFields([a],{triggerName:l});break}}}),_t(this,"notifyObservers",function(o,i,r){if(n.subscribable){var a=$t($t({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(l){var s=l.onStoreChange;s(o,i,a)})}else n.forceRootUpdate()}),_t(this,"triggerDependenciesUpdate",function(o,i){var r=n.getDependencyChildrenFields(i);return r.length&&n.validateFields(r),n.notifyObservers(o,r,{type:"dependenciesUpdate",relatedFields:[i].concat(Wo(r))}),r}),_t(this,"updateValue",function(o,i){var r=D0(o),a=n.store;n.updateStore(r2(n.store,r,i)),n.notifyObservers(a,[r],{type:"valueUpdate",source:"internal"}),n.notifyWatch([r]);var l=n.triggerDependenciesUpdate(a,r),s=n.callbacks.onValuesChange;if(s){var c=I8e(n.store,[r]);s(c,n.getFieldsValue())}n.triggerOnFieldsChange([r].concat(Wo(l)))}),_t(this,"setFieldsValue",function(o){n.warningUnhooked();var i=n.store;if(o){var r=pD(n.store,o);n.updateStore(r)}n.notifyObservers(i,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),_t(this,"setFieldValue",function(o,i){n.setFields([{name:o,value:i}])}),_t(this,"getDependencyChildrenFields",function(o){var i=new Set,r=[],a=new xT;n.getFieldEntities().forEach(function(s){var c=s.props.dependencies;(c||[]).forEach(function(u){var d=D0(u);a.update(d,function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return f.add(s),f})})});var l=function s(c){var u=a.get(c)||new Set;u.forEach(function(d){if(!i.has(d)){i.add(d);var f=d.getNamePath();d.isFieldDirty()&&f.length&&(r.push(f),s(f))}})};return l(o),r}),_t(this,"triggerOnFieldsChange",function(o,i){var r=n.callbacks.onFieldsChange;if(r){var a=n.getFields();if(i){var l=new xT;i.forEach(function(c){var u=c.name,d=c.errors;l.set(u,d)}),a.forEach(function(c){c.errors=l.get(c.name)||c.errors})}var s=a.filter(function(c){var u=c.name;return yC(o,u)});s.length&&r(s,a)}}),_t(this,"validateFields",function(o,i){n.warningUnhooked();var r,a;Array.isArray(o)||typeof o=="string"||typeof i=="string"?(r=o,a=i):a=o;var l=!!r,s=l?r.map(D0):[],c=[],u=String(Date.now()),d=new Set,f=a||{},p=f.recursive,g=f.dirty;n.getFieldEntities(!0).forEach(function(C){if(l||s.push(C.getNamePath()),!(!C.props.rules||!C.props.rules.length)&&!(g&&!C.isFieldDirty())){var P=C.getNamePath();if(d.add(P.join(u)),!l||yC(s,P,p)){var v=C.validateRules($t({validateMessages:$t($t({},Y_e),n.validateMessages)},a));c.push(v.then(function(){return{name:P,errors:[],warnings:[]}}).catch(function(T){var y,S=[],x=[];return(y=T.forEach)===null||y===void 0||y.call(T,function(R){var H=R.rule.warningOnly,D=R.errors;H?x.push.apply(x,Wo(D)):S.push.apply(S,Wo(D))}),S.length?Promise.reject({name:P,errors:S,warnings:x}):{name:P,errors:S,warnings:x}}))}}});var A=SHt(c);n.lastValidatePromise=A,A.catch(function(C){return C}).then(function(C){var P=C.map(function(v){var T=v.name;return T});n.notifyObservers(n.store,P,{type:"validateFinish"}),n.triggerOnFieldsChange(P,C)});var w=A.then(function(){return n.lastValidatePromise===A?Promise.resolve(n.getFieldsValue(s)):Promise.reject([])}).catch(function(C){var P=C.filter(function(v){return v&&v.errors.length});return Promise.reject({values:n.getFieldsValue(s),errorFields:P,outOfDate:n.lastValidatePromise!==A})});w.catch(function(C){return C});var b=s.filter(function(C){return d.has(C.join(u))});return n.triggerOnFieldsChange(b),w}),_t(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(o){var i=n.callbacks.onFinish;if(i)try{i(o)}catch(r){console.error(r)}}).catch(function(o){var i=n.callbacks.onFinishFailed;i&&i(o)})}),this.forceRootUpdate=e});function J_e(t){var e=m.useRef(),n=m.useState({}),o=on(n,2),i=o[1];if(!e.current)if(t)e.current=t;else{var r=function(){i({})},a=new PHt(r);e.current=a.getForm()}return[e.current]}var A0e=m.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),CHt=function(e){var n=e.validateMessages,o=e.onFormChange,i=e.onFormFinish,r=e.children,a=m.useContext(A0e),l=m.useRef({});return m.createElement(A0e.Provider,{value:$t($t({},a),{},{validateMessages:$t($t({},a.validateMessages),n),triggerFormChange:function(c,u){o&&o(c,{changedFields:u,forms:l.current}),a.triggerFormChange(c,u)},triggerFormFinish:function(c,u){i&&i(c,{values:u,forms:l.current}),a.triggerFormFinish(c,u)},registerForm:function(c,u){c&&(l.current=$t($t({},l.current),{},_t({},c,u))),a.registerForm(c,u)},unregisterForm:function(c){var u=$t({},l.current);delete u[c],l.current=u,a.unregisterForm(c)}})},r)},RHt=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],HHt=function(e,n){var o=e.name,i=e.initialValues,r=e.fields,a=e.form,l=e.preserve,s=e.children,c=e.component,u=c===void 0?"form":c,d=e.validateMessages,f=e.validateTrigger,p=f===void 0?"onChange":f,g=e.onValuesChange,A=e.onFieldsChange,w=e.onFinish,b=e.onFinishFailed,C=ir(e,RHt),P=m.useContext(A0e),v=J_e(a),T=on(v,1),y=T[0],S=y.getInternalHooks(kv),x=S.useSubscribe,R=S.setInitialValues,H=S.setCallbacks,D=S.setValidateMessages,k=S.setPreserve,W=S.destroyForm;m.useImperativeHandle(n,function(){return y}),m.useEffect(function(){return P.registerForm(o,y),function(){P.unregisterForm(o)}},[P,y,o]),D($t($t({},P.validateMessages),d)),H({onValuesChange:g,onFieldsChange:function(O){if(P.triggerFormChange(o,O),A){for(var J=arguments.length,Z=new Array(J>1?J-1:0),ie=1;ie{let{children:e,status:n,override:o}=t;const i=m.useContext(Qp),r=m.useMemo(()=>{const a=Object.assign({},i);return o&&delete a.isFormItemInput,n&&(delete a.status,delete a.hasFeedback,delete a.feedbackIcon),a},[n,o,i]);return m.createElement(Qp.Provider,{value:r},e)},zHt=m.createContext(void 0);function k8e(){}const DHt=m.createContext({add:k8e,remove:k8e});function K_e(t){const e=m.useContext(DHt),n=m.useRef();return O6(i=>{if(i){const r=t?i.querySelector(t):i;e.add(r),n.current=r}else e.remove(n.current)})}const F8e=()=>{const{cancelButtonProps:t,cancelTextLocale:e,onCancel:n}=m.useContext(xW);return be.createElement(oo,Object.assign({onClick:n},t),e)},L8e=()=>{const{confirmLoading:t,okButtonProps:e,okType:n,okTextLocale:o,onOk:i}=m.useContext(xW);return be.createElement(oo,Object.assign({},S_e(n),{loading:t,onClick:i},e),o)};function q_e(t,e){return be.createElement("span",{className:`${t}-close-x`},e||be.createElement(E7,{className:`${t}-close-icon`}))}const $_e=t=>{const{okText:e,okType:n="primary",cancelText:o,confirmLoading:i,onOk:r,onCancel:a,okButtonProps:l,cancelButtonProps:s,footer:c}=t,[u]=D7("Modal",cOe()),d=e||(u==null?void 0:u.okText),f=o||(u==null?void 0:u.cancelText),p={confirmLoading:i,okButtonProps:l,cancelButtonProps:s,okTextLocale:d,cancelTextLocale:f,okType:n,onOk:r,onCancel:a},g=be.useMemo(()=>p,Xa(Object.values(p)));let A;return typeof c=="function"||typeof c>"u"?(A=be.createElement(be.Fragment,null,be.createElement(F8e,null),be.createElement(L8e,null)),typeof c=="function"&&(A=c(A,{OkBtn:L8e,CancelBtn:F8e})),A=be.createElement(I_e,{value:g},A)):A=c,be.createElement(AOe,{disabled:!1},A)},Zge=t=>({[t.componentCls]:{[`${t.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${t.motionDurationMid} ${t.motionEaseInOut}, +}`),i)}else cG(i);return function(){cG(i)}},[e,i])}var hRt=!1;function pRt(t){return hRt}var d8e=function(e){return e===!1?!1:!sp()||!e?null:typeof e=="string"?document.querySelector(e):typeof e=="function"?e():e},d$=m.forwardRef(function(t,e){var n=t.open,o=t.autoLock,i=t.getContainer;t.debug;var r=t.autoDestroy,a=r===void 0?!0:r,l=t.children,s=m.useState(n),c=on(s,2),u=c[0],d=c[1],f=u||n;m.useEffect(function(){(a||n)&&d(n)},[n,a]);var p=m.useState(function(){return d8e(i)}),g=on(p,2),A=g[0],w=g[1];m.useEffect(function(){var D=d8e(i);w(D??null)});var b=cRt(f&&!A),C=on(b,2),P=C[0],v=C[1],T=A??P;fRt(o&&n&&sp()&&(T===P||T===document.body));var y=null;if(l&&Zw(l)&&e){var S=l;y=S.ref}var x=z7(y,e);if(!f||!sp()||A===void 0)return null;var R=T===!1||pRt(),H=l;return e&&(H=m.cloneElement(l,{ref:x})),m.createElement(M_e.Provider,{value:v},R?H:Td.createPortal(H,T))}),I_e=m.createContext({});function gRt(){var t=$t({},iK);return t.useId}var f8e=0,h8e=gRt();const z_e=h8e?function(e){var n=h8e();return e||n}:function(e){var n=m.useState("ssr-id"),o=on(n,2),i=o[0],r=o[1];return m.useEffect(function(){var a=f8e;f8e+=1,r("rc_unique_".concat(a))},[]),e||i};function p8e(t,e,n){var o=e;return!o&&n&&(o="".concat(t,"-").concat(n)),o}function g8e(t,e){var n=t["page".concat(e?"Y":"X","Offset")],o="scroll".concat(e?"Top":"Left");if(typeof n!="number"){var i=t.document;n=i.documentElement[o],typeof n!="number"&&(n=i.body[o])}return n}function mRt(t){var e=t.getBoundingClientRect(),n={left:e.left,top:e.top},o=t.ownerDocument,i=o.defaultView||o.parentWindow;return n.left+=g8e(i),n.top+=g8e(i,!0),n}const yRt=m.memo(function(t){var e=t.children;return e},function(t,e){var n=e.shouldUpdate;return!n});var m8e={width:0,height:0,overflow:"hidden",outline:"none"},ARt={outline:"none"},D_e=be.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.title,a=t.ariaId,l=t.footer,s=t.closable,c=t.closeIcon,u=t.onClose,d=t.children,f=t.bodyStyle,p=t.bodyProps,g=t.modalRender,A=t.onMouseDown,w=t.onMouseUp,b=t.holderRef,C=t.visible,P=t.forceRender,v=t.width,T=t.height,y=t.classNames,S=t.styles,x=be.useContext(I_e),R=x.panel,H=z7(b,R),D=m.useRef(),k=m.useRef(),W=m.useRef();be.useImperativeHandle(e,function(){return{focus:function(){var O;(O=W.current)===null||O===void 0||O.focus()},changeActive:function(O){var J=document,Z=J.activeElement;O&&Z===k.current?D.current.focus():!O&&Z===D.current&&k.current.focus()}}});var N={};v!==void 0&&(N.width=v),T!==void 0&&(N.height=T);var L;l&&(L=be.createElement("div",{className:_n("".concat(n,"-footer"),y==null?void 0:y.footer),style:$t({},S==null?void 0:S.footer)},l));var E;r&&(E=be.createElement("div",{className:_n("".concat(n,"-header"),y==null?void 0:y.header),style:$t({},S==null?void 0:S.header)},be.createElement("div",{className:"".concat(n,"-title"),id:a},r)));var U=m.useMemo(function(){return gr(s)==="object"&&s!==null?s:s?{closeIcon:c??be.createElement("span",{className:"".concat(n,"-close-x")})}:{}},[s,c]),F=gf(U,!0),B;s&&(B=be.createElement("button",so({type:"button",onClick:u,"aria-label":"Close"},F,{className:"".concat(n,"-close")}),U.closeIcon));var _=be.createElement("div",{className:_n("".concat(n,"-content"),y==null?void 0:y.content),style:S==null?void 0:S.content},B,E,be.createElement("div",so({className:_n("".concat(n,"-body"),y==null?void 0:y.body),style:$t($t({},f),S==null?void 0:S.body)},p),d),L);return be.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":r?a:null,"aria-modal":"true",ref:H,style:$t($t({},i),N),className:_n(n,o),onMouseDown:A,onMouseUp:w},be.createElement("div",{tabIndex:0,ref:D,style:m8e,"aria-hidden":"true"}),be.createElement("div",{ref:W,tabIndex:-1,style:ARt},be.createElement(yRt,{shouldUpdate:C||P},g?g(_):_)),be.createElement("div",{tabIndex:0,ref:k,style:m8e,"aria-hidden":"true"}))}),E_e=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.title,i=t.style,r=t.className,a=t.visible,l=t.forceRender,s=t.destroyOnClose,c=t.motionName,u=t.ariaId,d=t.onVisibleChanged,f=t.mousePosition,p=m.useRef(),g=m.useState(),A=on(g,2),w=A[0],b=A[1],C={};w&&(C.transformOrigin=w);function P(){var v=mRt(p.current);b(f?"".concat(f.x-v.left,"px ").concat(f.y-v.top,"px"):"")}return m.createElement(Hg,{visible:a,onVisibleChanged:d,onAppearPrepare:P,onEnterPrepare:P,forceRender:l,motionName:c,removeOnLeave:s,ref:p},function(v,T){var y=v.className,S=v.style;return m.createElement(D_e,so({},t,{ref:e,title:o,ariaId:u,prefixCls:n,holderRef:T,style:$t($t($t({},S),i),C),className:_n(r,y)}))})});E_e.displayName="Content";function wRt(t){var e=t.prefixCls,n=t.style,o=t.visible,i=t.maskProps,r=t.motionName,a=t.className;return m.createElement(Hg,{key:"mask",visible:o,motionName:r,leavedClassName:"".concat(e,"-mask-hidden")},function(l,s){var c=l.className,u=l.style;return m.createElement("div",so({ref:s,style:$t($t({},u),n),className:_n("".concat(e,"-mask"),c,a)},i))})}function vRt(t){var e=t.prefixCls,n=e===void 0?"rc-dialog":e,o=t.zIndex,i=t.visible,r=i===void 0?!1:i,a=t.keyboard,l=a===void 0?!0:a,s=t.focusTriggerAfterClose,c=s===void 0?!0:s,u=t.wrapStyle,d=t.wrapClassName,f=t.wrapProps,p=t.onClose,g=t.afterOpenChange,A=t.afterClose,w=t.transitionName,b=t.animation,C=t.closable,P=C===void 0?!0:C,v=t.mask,T=v===void 0?!0:v,y=t.maskTransitionName,S=t.maskAnimation,x=t.maskClosable,R=x===void 0?!0:x,H=t.maskStyle,D=t.maskProps,k=t.rootClassName,W=t.classNames,N=t.styles,L=m.useRef(),E=m.useRef(),U=m.useRef(),F=m.useState(r),B=on(F,2),_=B[0],Y=B[1],O=z_e();function J(){Mce(E.current,document.activeElement)||(L.current=document.activeElement)}function Z(){if(!Mce(E.current,document.activeElement)){var he;(he=U.current)===null||he===void 0||he.focus()}}function ie(he){if(he)Z();else{if(Y(!1),T&&L.current&&c){try{L.current.focus({preventScroll:!0})}catch{}L.current=null}_&&(A==null||A())}g==null||g(he)}function ee(he){p==null||p(he)}var q=m.useRef(!1),ae=m.useRef(),ne=function(){clearTimeout(ae.current),q.current=!0},se=function(){ae.current=setTimeout(function(){q.current=!1})},le=null;R&&(le=function(pe){q.current?q.current=!1:E.current===pe.target&&ee(pe)});function te(he){if(l&&he.keyCode===Bn.ESC){he.stopPropagation(),ee(he);return}r&&he.keyCode===Bn.TAB&&U.current.changeActive(!he.shiftKey)}return m.useEffect(function(){r&&(Y(!0),J())},[r]),m.useEffect(function(){return function(){clearTimeout(ae.current)}},[]),m.createElement("div",so({className:_n("".concat(n,"-root"),k)},gf(t,{data:!0})),m.createElement(wRt,{prefixCls:n,visible:T&&r,motionName:p8e(n,y,S),style:$t($t({zIndex:o},H),N==null?void 0:N.mask),maskProps:D,className:W==null?void 0:W.mask}),m.createElement("div",so({tabIndex:-1,onKeyDown:te,className:_n("".concat(n,"-wrap"),d,W==null?void 0:W.wrapper),ref:E,onClick:le,style:$t($t($t({zIndex:o},u),N==null?void 0:N.wrapper),{},{display:_?null:"none"})},f),m.createElement(E_e,so({},t,{onMouseDown:ne,onMouseUp:se,ref:U,closable:P,ariaId:O,prefixCls:n,visible:r&&_,onClose:ee,onVisibleChanged:ie,motionName:p8e(n,w,b)}))))}var k_e=function(e){var n=e.visible,o=e.getContainer,i=e.forceRender,r=e.destroyOnClose,a=r===void 0?!1:r,l=e.afterClose,s=e.panelRef,c=m.useState(n),u=on(c,2),d=u[0],f=u[1],p=m.useMemo(function(){return{panel:s}},[s]);return m.useEffect(function(){n&&f(!0)},[n]),!i&&a&&!d?null:m.createElement(I_e.Provider,{value:p},m.createElement(d$,{open:n||i||d,autoDestroy:!1,getContainer:o,autoLock:n||d},m.createElement(vRt,so({},e,{destroyOnClose:a,afterClose:function(){l==null||l(),f(!1)}}))))};k_e.displayName="Dialog";function oR(t){if(t)return{closable:t.closable,closeIcon:t.closeIcon}}function y8e(t){const{closable:e,closeIcon:n}=t||{};return be.useMemo(()=>{if(!e&&(e===!1||n===!1||n===null))return!1;if(e===void 0&&n===void 0)return null;let o={closeIcon:typeof n!="boolean"&&n!==null?n:void 0};return e&&typeof e=="object"&&(o=Object.assign(Object.assign({},o),e)),o},[e,n])}function A8e(){const t={};for(var e=arguments.length,n=new Array(e),o=0;o{i&&Object.keys(i).forEach(r=>{i[r]!==void 0&&(t[r]=i[r])})}),t}const xRt={};function qge(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xRt;const o=y8e(t),i=y8e(e),r=be.useMemo(()=>Object.assign({closeIcon:be.createElement(E7,null)},n),[n]),a=be.useMemo(()=>o===!1?!1:o?A8e(r,i,o):i===!1?!1:i?A8e(r,i):r.closable?r:!1,[o,i,r]);return be.useMemo(()=>{if(a===!1)return[!1,null];const{closeIconRender:l}=r,{closeIcon:s}=a;let c=s;if(c!=null){l&&(c=l(s));const u=Oge(a,!0);Object.keys(u).length&&(c=be.isValidElement(c)?be.cloneElement(c,u):be.createElement("span",Object.assign({},u),c))}return[!0,c]},[a,r])}var F_e=function(e){if(gW()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},bRt=function(e,n){if(!F_e(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function w8e(t,e){return!Array.isArray(t)&&e!==void 0?bRt(t,e):F_e(t)}const SRt=()=>gW()&&window.document.documentElement;function N2(){N2=function(){return e};var t,e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(E,U,F){E[U]=F.value},r=typeof Symbol=="function"?Symbol:{},a=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(E,U,F){return Object.defineProperty(E,U,{value:F,enumerable:!0,configurable:!0,writable:!0}),E[U]}try{c({},"")}catch{c=function(F,B,_){return F[B]=_}}function u(E,U,F,B){var _=U&&U.prototype instanceof b?U:b,Y=Object.create(_.prototype),O=new N(B||[]);return i(Y,"_invoke",{value:H(E,F,O)}),Y}function d(E,U,F){try{return{type:"normal",arg:E.call(U,F)}}catch(B){return{type:"throw",arg:B}}}e.wrap=u;var f="suspendedStart",p="suspendedYield",g="executing",A="completed",w={};function b(){}function C(){}function P(){}var v={};c(v,a,function(){return this});var T=Object.getPrototypeOf,y=T&&T(T(L([])));y&&y!==n&&o.call(y,a)&&(v=y);var S=P.prototype=b.prototype=Object.create(v);function x(E){["next","throw","return"].forEach(function(U){c(E,U,function(F){return this._invoke(U,F)})})}function R(E,U){function F(_,Y,O,J){var Z=d(E[_],E,Y);if(Z.type!=="throw"){var ie=Z.arg,ee=ie.value;return ee&&gr(ee)=="object"&&o.call(ee,"__await")?U.resolve(ee.__await).then(function(q){F("next",q,O,J)},function(q){F("throw",q,O,J)}):U.resolve(ee).then(function(q){ie.value=q,O(ie)},function(q){return F("throw",q,O,J)})}J(Z.arg)}var B;i(this,"_invoke",{value:function(Y,O){function J(){return new U(function(Z,ie){F(Y,O,Z,ie)})}return B=B?B.then(J,J):J()}})}function H(E,U,F){var B=f;return function(_,Y){if(B===g)throw new Error("Generator is already running");if(B===A){if(_==="throw")throw Y;return{value:t,done:!0}}for(F.method=_,F.arg=Y;;){var O=F.delegate;if(O){var J=D(O,F);if(J){if(J===w)continue;return J}}if(F.method==="next")F.sent=F._sent=F.arg;else if(F.method==="throw"){if(B===f)throw B=A,F.arg;F.dispatchException(F.arg)}else F.method==="return"&&F.abrupt("return",F.arg);B=g;var Z=d(E,U,F);if(Z.type==="normal"){if(B=F.done?A:p,Z.arg===w)continue;return{value:Z.arg,done:F.done}}Z.type==="throw"&&(B=A,F.method="throw",F.arg=Z.arg)}}}function D(E,U){var F=U.method,B=E.iterator[F];if(B===t)return U.delegate=null,F==="throw"&&E.iterator.return&&(U.method="return",U.arg=t,D(E,U),U.method==="throw")||F!=="return"&&(U.method="throw",U.arg=new TypeError("The iterator does not provide a '"+F+"' method")),w;var _=d(B,E.iterator,U.arg);if(_.type==="throw")return U.method="throw",U.arg=_.arg,U.delegate=null,w;var Y=_.arg;return Y?Y.done?(U[E.resultName]=Y.value,U.next=E.nextLoc,U.method!=="return"&&(U.method="next",U.arg=t),U.delegate=null,w):Y:(U.method="throw",U.arg=new TypeError("iterator result is not an object"),U.delegate=null,w)}function k(E){var U={tryLoc:E[0]};1 in E&&(U.catchLoc=E[1]),2 in E&&(U.finallyLoc=E[2],U.afterLoc=E[3]),this.tryEntries.push(U)}function W(E){var U=E.completion||{};U.type="normal",delete U.arg,E.completion=U}function N(E){this.tryEntries=[{tryLoc:"root"}],E.forEach(k,this),this.reset(!0)}function L(E){if(E||E===""){var U=E[a];if(U)return U.call(E);if(typeof E.next=="function")return E;if(!isNaN(E.length)){var F=-1,B=function _(){for(;++F=0;--_){var Y=this.tryEntries[_],O=Y.completion;if(Y.tryLoc==="root")return B("end");if(Y.tryLoc<=this.prev){var J=o.call(Y,"catchLoc"),Z=o.call(Y,"finallyLoc");if(J&&Z){if(this.prev=0;--B){var _=this.tryEntries[B];if(_.tryLoc<=this.prev&&o.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var Y=_;break}}Y&&(U==="break"||U==="continue")&&Y.tryLoc<=F&&F<=Y.finallyLoc&&(Y=null);var O=Y?Y.completion:{};return O.type=U,O.arg=F,Y?(this.method="next",this.next=Y.finallyLoc,w):this.complete(O)},complete:function(U,F){if(U.type==="throw")throw U.arg;return U.type==="break"||U.type==="continue"?this.next=U.arg:U.type==="return"?(this.rval=this.arg=U.arg,this.method="return",this.next="end"):U.type==="normal"&&F&&(this.next=F),w},finish:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.finallyLoc===U)return this.complete(B.completion,B.afterLoc),W(B),w}},catch:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var B=this.tryEntries[F];if(B.tryLoc===U){var _=B.completion;if(_.type==="throw"){var Y=_.arg;W(B)}return Y}}throw new Error("illegal catch attempt")},delegateYield:function(U,F,B){return this.delegate={iterator:L(U),resultName:F,nextLoc:B},this.method==="next"&&(this.arg=t),w}},e}function v8e(t,e,n,o,i,r,a){try{var l=t[r](a),s=l.value}catch(c){n(c);return}l.done?e(s):Promise.resolve(s).then(o,i)}function bW(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function a(s){v8e(r,o,i,a,l,"next",s)}function l(s){v8e(r,o,i,a,l,"throw",s)}a(void 0)})}}var kv="RC_FORM_INTERNAL_HOOKS",ms=function(){U0(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},iR=m.createContext({getFieldValue:ms,getFieldsValue:ms,getFieldError:ms,getFieldWarning:ms,getFieldsError:ms,isFieldsTouched:ms,isFieldTouched:ms,isFieldValidating:ms,isFieldsValidating:ms,resetFields:ms,setFields:ms,setFieldValue:ms,setFieldsValue:ms,validateFields:ms,submit:ms,getInternalHooks:function(){return ms(),{dispatch:ms,initEntityValue:ms,registerField:ms,useSubscribe:ms,setInitialValues:ms,destroyForm:ms,setCallbacks:ms,registerWatch:ms,getFields:ms,setValidateMessages:ms,setPreserve:ms,getInitialValue:ms}}}),wG=m.createContext(null);function l0e(t){return t==null?[]:Array.isArray(t)?t:[t]}function TRt(t){return t&&!!t._init}function ep(t){"@babel/helpers - typeof";return ep=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ep(t)}function PRt(t,e){if(ep(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(ep(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function L_e(t){var e=PRt(t,"string");return ep(e)=="symbol"?e:e+""}function X6(t,e,n){return e=L_e(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function x8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Y4(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?e-1:0),o=1;o=r)return l;switch(l){case"%s":return String(n[i++]);case"%d":return Number(n[i++]);case"%j":try{return JSON.stringify(n[i++])}catch{return"[Circular]"}break;default:return l}});return a}return t}function NRt(t){return t==="string"||t==="url"||t==="hex"||t==="email"||t==="date"||t==="pattern"}function uu(t,e){return!!(t==null||e==="array"&&Array.isArray(t)&&!t.length||NRt(e)&&typeof t=="string"&&!t)}function URt(t,e,n){var o=[],i=0,r=t.length;function a(l){o.push.apply(o,GP(l||[])),i++,i===r&&n(o)}t.forEach(function(l){e(l,a)})}function b8e(t,e,n){var o=0,i=t.length;function r(a){if(a&&a.length){n(a);return}var l=o;o=o+1,le.max?i.push(fg(r.messages[d].max,e.fullField,e.max)):l&&s&&(ue.max)&&i.push(fg(r.messages[d].range,e.fullField,e.min,e.max))},U_e=function(e,n,o,i,r,a){e.required&&(!o.hasOwnProperty(e.field)||uu(n,a||e.type))&&i.push(fg(r.messages.required,e.fullField))},fY;const XRt=function(){if(fY)return fY;var t="[a-fA-F\\d:]",e=function(y){return y&&y.includeBoundaries?"(?:(?<=\\s|^)(?=".concat(t,")|(?<=").concat(t,")(?=\\s|$))"):""},n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",o="[a-fA-F\\d]{1,4}",i=["(?:".concat(o,":){7}(?:").concat(o,"|:)"),"(?:".concat(o,":){6}(?:").concat(n,"|:").concat(o,"|:)"),"(?:".concat(o,":){5}(?::").concat(n,"|(?::").concat(o,"){1,2}|:)"),"(?:".concat(o,":){4}(?:(?::").concat(o,"){0,1}:").concat(n,"|(?::").concat(o,"){1,3}|:)"),"(?:".concat(o,":){3}(?:(?::").concat(o,"){0,2}:").concat(n,"|(?::").concat(o,"){1,4}|:)"),"(?:".concat(o,":){2}(?:(?::").concat(o,"){0,3}:").concat(n,"|(?::").concat(o,"){1,5}|:)"),"(?:".concat(o,":){1}(?:(?::").concat(o,"){0,4}:").concat(n,"|(?::").concat(o,"){1,6}|:)"),"(?::(?:(?::".concat(o,"){0,5}:").concat(n,"|(?::").concat(o,"){1,7}|:))")],r="(?:%[0-9a-zA-Z]{1,})?",a="(?:".concat(i.join("|"),")").concat(r),l=new RegExp("(?:^".concat(n,"$)|(?:^").concat(a,"$)")),s=new RegExp("^".concat(n,"$")),c=new RegExp("^".concat(a,"$")),u=function(y){return y&&y.exact?l:new RegExp("(?:".concat(e(y)).concat(n).concat(e(y),")|(?:").concat(e(y)).concat(a).concat(e(y),")"),"g")};u.v4=function(T){return T&&T.exact?s:new RegExp("".concat(e(T)).concat(n).concat(e(T)),"g")},u.v6=function(T){return T&&T.exact?c:new RegExp("".concat(e(T)).concat(a).concat(e(T)),"g")};var d="(?:(?:[a-z]+:)?//)",f="(?:\\S+(?::\\S*)?@)?",p=u.v4().source,g=u.v6().source,A="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",w="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",b="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",C="(?::\\d{2,5})?",P='(?:[/?#][^\\s"]*)?',v="(?:".concat(d,"|www\\.)").concat(f,"(?:localhost|").concat(p,"|").concat(g,"|").concat(A).concat(w).concat(b,")").concat(C).concat(P);return fY=new RegExp("(?:^".concat(v,"$)"),"i"),fY};var C8e={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hD={integer:function(e){return hD.number(e)&&parseInt(e,10)===e},float:function(e){return hD.number(e)&&!hD.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return ep(e)==="object"&&!hD.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(C8e.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(XRt())},hex:function(e){return typeof e=="string"&&!!e.match(C8e.hex)}},JRt=function(e,n,o,i,r){if(e.required&&n===void 0){U_e(e,n,o,i,r);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],l=e.type;a.indexOf(l)>-1?hD[l](n)||i.push(fg(r.messages.types[l],e.fullField,e.type)):l&&ep(n)!==e.type&&i.push(fg(r.messages.types[l],e.fullField,e.type))},KRt=function(e,n,o,i,r){(/^\s+$/.test(n)||n==="")&&i.push(fg(r.messages.whitespace,e.fullField))};const Ka={required:U_e,whitespace:KRt,type:JRt,range:GRt,enum:_Rt,pattern:VRt};var qRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r)}o(a)},$Rt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n==null&&!e.required)return o();Ka.required(e,n,i,a,r,"array"),n!=null&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},QRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},ZRt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"date")&&!e.required)return o();if(Ka.required(e,n,i,a,r),!uu(n,"date")){var s;n instanceof Date?s=n:s=new Date(n),Ka.type(e,s,i,a,r),s&&Ka.range(e,s.getTime(),i,a,r)}}o(a)},eHt="enum",tHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka[eHt](e,n,i,a,r)}o(a)},nHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},oHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},iHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},rHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(n===""&&(n=void 0),uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r))}o(a)},aHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),n!==void 0&&Ka.type(e,n,i,a,r)}o(a)},lHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n,"string")||Ka.pattern(e,n,i,a,r)}o(a)},sHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n)&&!e.required)return o();Ka.required(e,n,i,a,r),uu(n)||Ka.type(e,n,i,a,r)}o(a)},cHt=function(e,n,o,i,r){var a=[],l=Array.isArray(n)?"array":ep(n);Ka.required(e,n,i,a,r,l),o(a)},uHt=function(e,n,o,i,r){var a=[],l=e.required||!e.required&&i.hasOwnProperty(e.field);if(l){if(uu(n,"string")&&!e.required)return o();Ka.required(e,n,i,a,r,"string"),uu(n,"string")||(Ka.type(e,n,i,a,r),Ka.range(e,n,i,a,r),Ka.pattern(e,n,i,a,r),e.whitespace===!0&&Ka.whitespace(e,n,i,a,r))}o(a)},Hie=function(e,n,o,i,r){var a=e.type,l=[],s=e.required||!e.required&&i.hasOwnProperty(e.field);if(s){if(uu(n,a)&&!e.required)return o();Ka.required(e,n,i,l,r,a),uu(n,a)||Ka.type(e,n,i,l,r)}o(l)};const sE={string:uHt,method:iHt,number:rHt,boolean:QRt,regexp:sHt,integer:oHt,float:nHt,array:$Rt,object:aHt,enum:tHt,pattern:lHt,date:ZRt,url:Hie,hex:Hie,email:Hie,required:cHt,any:qRt};var SW=function(){function t(e){W_e(this,t),X6(this,"rules",null),X6(this,"_messages",u0e),this.define(e)}return N_e(t,[{key:"define",value:function(n){var o=this;if(!n)throw new Error("Cannot configure a schema with no rules");if(ep(n)!=="object"||Array.isArray(n))throw new Error("Rules must be an object");this.rules={},Object.keys(n).forEach(function(i){var r=n[i];o.rules[i]=Array.isArray(r)?r:[r]})}},{key:"messages",value:function(n){return n&&(this._messages=P8e(c0e(),n)),this._messages}},{key:"validate",value:function(n){var o=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},a=n,l=i,s=r;if(typeof l=="function"&&(s=l,l={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(g){var A=[],w={};function b(P){if(Array.isArray(P)){var v;A=(v=A).concat.apply(v,GP(P))}else A.push(P)}for(var C=0;C0&&arguments[0]!==void 0?arguments[0]:[],x=Array.isArray(S)?S:[S];!l.suppressWarning&&x.length&&t.warning("async-validator:",x),x.length&&w.message!==void 0&&(x=[].concat(w.message));var R=x.map(T8e(w,a));if(l.first&&R.length)return p[w.field]=1,A(R);if(!b)A(R);else{if(w.required&&!g.value)return w.message!==void 0?R=[].concat(w.message).map(T8e(w,a)):l.error&&(R=[l.error(w,fg(l.messages.required,w.field))]),A(R);var H={};w.defaultField&&Object.keys(g.value).map(function(W){H[W]=w.defaultField}),H=Y4(Y4({},H),g.rule.fields);var D={};Object.keys(H).forEach(function(W){var N=H[W],L=Array.isArray(N)?N:[N];D[W]=L.map(C.bind(null,W))});var k=new t(D);k.messages(l.messages),g.rule.options&&(g.rule.options.messages=l.messages,g.rule.options.error=l.error),k.validate(g.value,g.rule.options||l,function(W){var N=[];R&&R.length&&N.push.apply(N,GP(R)),W&&W.length&&N.push.apply(N,GP(W)),A(N.length?N:null)})}}var v;if(w.asyncValidator)v=w.asyncValidator(w,g.value,P,g.source,l);else if(w.validator){try{v=w.validator(w,g.value,P,g.source,l)}catch(S){var T,y;(T=(y=console).error)===null||T===void 0||T.call(y,S),l.suppressValidatorError||setTimeout(function(){throw S},0),P(S.message)}v===!0?P():v===!1?P(typeof w.message=="function"?w.message(w.fullField||w.field):w.message||"".concat(w.fullField||w.field," fails")):v instanceof Array?P(v):v instanceof Error&&P(v.message)}v&&v.then&&v.then(function(){return P()},function(S){return P(S)})},function(g){c(g)},a)}},{key:"getType",value:function(n){if(n.type===void 0&&n.pattern instanceof RegExp&&(n.type="pattern"),typeof n.validator!="function"&&n.type&&!sE.hasOwnProperty(n.type))throw new Error(fg("Unknown rule type %s",n.type));return n.type||"string"}},{key:"getValidationMethod",value:function(n){if(typeof n.validator=="function")return n.validator;var o=Object.keys(n),i=o.indexOf("message");return i!==-1&&o.splice(i,1),o.length===1&&o[0]==="required"?sE.required:sE[this.getType(n)]||void 0}}]),t}();X6(SW,"register",function(e,n){if(typeof n!="function")throw new Error("Cannot register a validator by type, validator is not a function");sE[e]=n});X6(SW,"warning",WRt);X6(SW,"messages",u0e);X6(SW,"validators",sE);var E1="'${name}' is not a valid ${type}",B_e={default:"Validation error on field '${name}'",required:"'${name}' is required",enum:"'${name}' must be one of [${enum}]",whitespace:"'${name}' cannot be empty",date:{format:"'${name}' is invalid for format date",parse:"'${name}' could not be parsed as date",invalid:"'${name}' is invalid date"},types:{string:E1,method:E1,array:E1,object:E1,number:E1,date:E1,boolean:E1,integer:E1,float:E1,regexp:E1,email:E1,url:E1,hex:E1},string:{len:"'${name}' must be exactly ${len} characters",min:"'${name}' must be at least ${min} characters",max:"'${name}' cannot be longer than ${max} characters",range:"'${name}' must be between ${min} and ${max} characters"},number:{len:"'${name}' must equal ${len}",min:"'${name}' cannot be less than ${min}",max:"'${name}' cannot be greater than ${max}",range:"'${name}' must be between ${min} and ${max}"},array:{len:"'${name}' must be exactly ${len} in length",min:"'${name}' cannot be less than ${min} in length",max:"'${name}' cannot be greater than ${max} in length",range:"'${name}' must be between ${min} and ${max} in length"},pattern:{mismatch:"'${name}' does not match pattern ${pattern}"}};function j_e(t){return DYe(t)||kYe(t)||bge(t)||EYe()}function hg(t,e){for(var n=t,o=0;o3&&arguments[3]!==void 0?arguments[3]:!1;return e.length&&o&&n===void 0&&!hg(t,e.slice(0,-1))?t:Y_e(t,e,n,o)}function dHt(t){return gr(t)==="object"&&t!==null&&Object.getPrototypeOf(t)===Object.prototype}function R8e(t){return Array.isArray(t)?[]:{}}var fHt=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function pD(){for(var t=arguments.length,e=new Array(t),n=0;n2&&arguments[2]!==void 0?arguments[2]:!1;return t&&t.some(function(o){return O_e(e,o,n)})}function O_e(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!t||!e||!n&&t.length!==e.length?!1:e.every(function(o,i){return t[i]===o})}function yHt(t,e){if(t===e)return!0;if(!t&&e||t&&!e||!t||!e||gr(t)!=="object"||gr(e)!=="object")return!1;var n=Object.keys(t),o=Object.keys(e),i=new Set([].concat(n,o));return Wo(i).every(function(r){var a=t[r],l=e[r];return typeof a=="function"&&typeof l=="function"?!0:a===l})}function AHt(t){var e=arguments.length<=1?void 0:arguments[1];return e&&e.target&&gr(e.target)==="object"&&t in e.target?e.target[t]:e}function z8e(t,e,n){var o=t.length;if(e<0||e>=o||n<0||n>=o)return t;var i=t[e],r=e-n;return r>0?[].concat(Wo(t.slice(0,n)),[i],Wo(t.slice(n,e)),Wo(t.slice(e+1,o))):r<0?[].concat(Wo(t.slice(0,e)),Wo(t.slice(e+1,n+1)),[i],Wo(t.slice(n+1,o))):t}var wHt=["name"],sm=[];function D8e(t,e,n,o,i,r){return typeof t=="function"?t(e,n,"source"in r?{source:r.source}:{}):o!==i}var Qge=function(t){hW(n,t);var e=pW(n);function n(o){var i;if(pp(this,n),i=e.call(this,o),_t(xl(i),"state",{resetCount:0}),_t(xl(i),"cancelRegisterFunc",null),_t(xl(i),"mounted",!1),_t(xl(i),"touched",!1),_t(xl(i),"dirty",!1),_t(xl(i),"validatePromise",void 0),_t(xl(i),"prevValidating",void 0),_t(xl(i),"errors",sm),_t(xl(i),"warnings",sm),_t(xl(i),"cancelRegister",function(){var s=i.props,c=s.preserve,u=s.isListField,d=s.name;i.cancelRegisterFunc&&i.cancelRegisterFunc(u,c,D0(d)),i.cancelRegisterFunc=null}),_t(xl(i),"getNamePath",function(){var s=i.props,c=s.name,u=s.fieldContext,d=u.prefixName,f=d===void 0?[]:d;return c!==void 0?[].concat(Wo(f),Wo(c)):[]}),_t(xl(i),"getRules",function(){var s=i.props,c=s.rules,u=c===void 0?[]:c,d=s.fieldContext;return u.map(function(f){return typeof f=="function"?f(d):f})}),_t(xl(i),"refresh",function(){i.mounted&&i.setState(function(s){var c=s.resetCount;return{resetCount:c+1}})}),_t(xl(i),"metaCache",null),_t(xl(i),"triggerMetaEvent",function(s){var c=i.props.onMetaChange;if(c){var u=$t($t({},i.getMeta()),{},{destroy:s});e7(i.metaCache,u)||c(u),i.metaCache=u}else i.metaCache=null}),_t(xl(i),"onStoreChange",function(s,c,u){var d=i.props,f=d.shouldUpdate,p=d.dependencies,g=p===void 0?[]:p,A=d.onReset,w=u.store,b=i.getNamePath(),C=i.getValue(s),P=i.getValue(w),v=c&&yC(c,b);switch(u.type==="valueUpdate"&&u.source==="external"&&!e7(C,P)&&(i.touched=!0,i.dirty=!0,i.validatePromise=null,i.errors=sm,i.warnings=sm,i.triggerMetaEvent()),u.type){case"reset":if(!c||v){i.touched=!1,i.dirty=!1,i.validatePromise=void 0,i.errors=sm,i.warnings=sm,i.triggerMetaEvent(),A==null||A(),i.refresh();return}break;case"remove":{if(f){i.reRender();return}break}case"setField":{var T=u.data;if(v){"touched"in T&&(i.touched=T.touched),"validating"in T&&!("originRCField"in T)&&(i.validatePromise=T.validating?Promise.resolve([]):null),"errors"in T&&(i.errors=T.errors||sm),"warnings"in T&&(i.warnings=T.warnings||sm),i.dirty=!0,i.triggerMetaEvent(),i.reRender();return}else if("value"in T&&yC(c,b,!0)){i.reRender();return}if(f&&!b.length&&D8e(f,s,w,C,P,u)){i.reRender();return}break}case"dependenciesUpdate":{var y=g.map(D0);if(y.some(function(S){return yC(u.relatedFields,S)})){i.reRender();return}break}default:if(v||(!g.length||b.length||f)&&D8e(f,s,w,C,P,u)){i.reRender();return}break}f===!0&&i.reRender()}),_t(xl(i),"validateRules",function(s){var c=i.getNamePath(),u=i.getValue(),d=s||{},f=d.triggerName,p=d.validateOnly,g=p===void 0?!1:p,A=Promise.resolve().then(bW(N2().mark(function w(){var b,C,P,v,T,y,S;return N2().wrap(function(R){for(;;)switch(R.prev=R.next){case 0:if(i.mounted){R.next=2;break}return R.abrupt("return",[]);case 2:if(b=i.props,C=b.validateFirst,P=C===void 0?!1:C,v=b.messageVariables,T=b.validateDebounce,y=i.getRules(),f&&(y=y.filter(function(H){return H}).filter(function(H){var D=H.validateTrigger;if(!D)return!0;var k=l0e(D);return k.includes(f)})),!(T&&f)){R.next=10;break}return R.next=8,new Promise(function(H){setTimeout(H,T)});case 8:if(i.validatePromise===A){R.next=10;break}return R.abrupt("return",[]);case 10:return S=pHt(c,u,y,s,P,v),S.catch(function(H){return H}).then(function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:sm;if(i.validatePromise===A){var D;i.validatePromise=null;var k=[],W=[];(D=H.forEach)===null||D===void 0||D.call(H,function(N){var L=N.rule.warningOnly,E=N.errors,U=E===void 0?sm:E;L?W.push.apply(W,Wo(U)):k.push.apply(k,Wo(U))}),i.errors=k,i.warnings=W,i.triggerMetaEvent(),i.reRender()}}),R.abrupt("return",S);case 13:case"end":return R.stop()}},w)})));return g||(i.validatePromise=A,i.dirty=!0,i.errors=sm,i.warnings=sm,i.triggerMetaEvent(),i.reRender()),A}),_t(xl(i),"isFieldValidating",function(){return!!i.validatePromise}),_t(xl(i),"isFieldTouched",function(){return i.touched}),_t(xl(i),"isFieldDirty",function(){if(i.dirty||i.props.initialValue!==void 0)return!0;var s=i.props.fieldContext,c=s.getInternalHooks(kv),u=c.getInitialValue;return u(i.getNamePath())!==void 0}),_t(xl(i),"getErrors",function(){return i.errors}),_t(xl(i),"getWarnings",function(){return i.warnings}),_t(xl(i),"isListField",function(){return i.props.isListField}),_t(xl(i),"isList",function(){return i.props.isList}),_t(xl(i),"isPreserve",function(){return i.props.preserve}),_t(xl(i),"getMeta",function(){i.prevValidating=i.isFieldValidating();var s={touched:i.isFieldTouched(),validating:i.prevValidating,errors:i.errors,warnings:i.warnings,name:i.getNamePath(),validated:i.validatePromise===null};return s}),_t(xl(i),"getOnlyChild",function(s){if(typeof s=="function"){var c=i.getMeta();return $t($t({},i.getOnlyChild(s(i.getControlled(),c,i.props.fieldContext))),{},{isFunction:!0})}var u=Qw(s);return u.length!==1||!m.isValidElement(u[0])?{child:u,isFunction:!1}:{child:u[0],isFunction:!1}}),_t(xl(i),"getValue",function(s){var c=i.props.fieldContext.getFieldsValue,u=i.getNamePath();return hg(s||c(!0),u)}),_t(xl(i),"getControlled",function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=i.props,u=c.name,d=c.trigger,f=c.validateTrigger,p=c.getValueFromEvent,g=c.normalize,A=c.valuePropName,w=c.getValueProps,b=c.fieldContext,C=f!==void 0?f:b.validateTrigger,P=i.getNamePath(),v=b.getInternalHooks,T=b.getFieldsValue,y=v(kv),S=y.dispatch,x=i.getValue(),R=w||function(N){return _t({},A,N)},H=s[d],D=u!==void 0?R(x):{},k=$t($t({},s),D);k[d]=function(){i.touched=!0,i.dirty=!0,i.triggerMetaEvent();for(var N,L=arguments.length,E=new Array(L),U=0;U=0&&H<=D.length?(u.keys=[].concat(Wo(u.keys.slice(0,H)),[u.id],Wo(u.keys.slice(H))),P([].concat(Wo(D.slice(0,H)),[R],Wo(D.slice(H))))):(u.keys=[].concat(Wo(u.keys),[u.id]),P([].concat(Wo(D),[R]))),u.id+=1},remove:function(R){var H=T(),D=new Set(Array.isArray(R)?R:[R]);D.size<=0||(u.keys=u.keys.filter(function(k,W){return!D.has(W)}),P(H.filter(function(k,W){return!D.has(W)})))},move:function(R,H){if(R!==H){var D=T();R<0||R>=D.length||H<0||H>=D.length||(u.keys=z8e(u.keys,R,H),P(z8e(D,R,H)))}}},S=C||[];return Array.isArray(S)||(S=[]),o(S.map(function(x,R){var H=u.keys[R];return H===void 0&&(u.keys[R]=u.id,H=u.keys[R],u.id+=1),{name:R,key:H,isListField:!0}}),y,w)})))}function xHt(t){var e=!1,n=t.length,o=[];return t.length?new Promise(function(i,r){t.forEach(function(a,l){a.catch(function(s){return e=!0,s}).then(function(s){n-=1,o[l]=s,!(n>0)&&(e&&r(o),i(o))})})}):Promise.resolve([])}var V_e="__@field_split__";function Mie(t){return t.map(function(e){return"".concat(gr(e),":").concat(e)}).join(V_e)}var xT=function(){function t(){pp(this,t),_t(this,"kvs",new Map)}return gp(t,[{key:"set",value:function(n,o){this.kvs.set(Mie(n),o)}},{key:"get",value:function(n){return this.kvs.get(Mie(n))}},{key:"update",value:function(n,o){var i=this.get(n),r=o(i);r?this.set(n,r):this.delete(n)}},{key:"delete",value:function(n){this.kvs.delete(Mie(n))}},{key:"map",value:function(n){return Wo(this.kvs.entries()).map(function(o){var i=on(o,2),r=i[0],a=i[1],l=r.split(V_e);return n({key:l.map(function(s){var c=s.match(/^([^:]*):(.*)$/),u=on(c,3),d=u[1],f=u[2];return d==="number"?Number(f):f}),value:a})})}},{key:"toJSON",value:function(){var n={};return this.map(function(o){var i=o.key,r=o.value;return n[i.join(".")]=r,null}),n}}]),t}(),bHt=["name"],SHt=gp(function t(e){var n=this;pp(this,t),_t(this,"formHooked",!1),_t(this,"forceRootUpdate",void 0),_t(this,"subscribable",!0),_t(this,"store",{}),_t(this,"fieldEntities",[]),_t(this,"initialValues",{}),_t(this,"callbacks",{}),_t(this,"validateMessages",null),_t(this,"preserve",null),_t(this,"lastValidatePromise",null),_t(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),_t(this,"getInternalHooks",function(o){return o===kv?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):(U0(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),_t(this,"useSubscribe",function(o){n.subscribable=o}),_t(this,"prevWithoutPreserves",null),_t(this,"setInitialValues",function(o,i){if(n.initialValues=o||{},i){var r,a=pD(o,n.store);(r=n.prevWithoutPreserves)===null||r===void 0||r.map(function(l){var s=l.key;a=r2(a,s,hg(o,s))}),n.prevWithoutPreserves=null,n.updateStore(a)}}),_t(this,"destroyForm",function(){var o=new xT;n.getFieldEntities(!0).forEach(function(i){n.isMergedPreserve(i.isPreserve())||o.set(i.getNamePath(),!0)}),n.prevWithoutPreserves=o}),_t(this,"getInitialValue",function(o){var i=hg(n.initialValues,o);return o.length?pD(i):i}),_t(this,"setCallbacks",function(o){n.callbacks=o}),_t(this,"setValidateMessages",function(o){n.validateMessages=o}),_t(this,"setPreserve",function(o){n.preserve=o}),_t(this,"watchList",[]),_t(this,"registerWatch",function(o){return n.watchList.push(o),function(){n.watchList=n.watchList.filter(function(i){return i!==o})}}),_t(this,"notifyWatch",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(n.watchList.length){var i=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(a){a(i,r,o)})}}),_t(this,"timeoutId",null),_t(this,"warningUnhooked",function(){}),_t(this,"updateStore",function(o){n.store=o}),_t(this,"getFieldEntities",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return o?n.fieldEntities.filter(function(i){return i.getNamePath().length}):n.fieldEntities}),_t(this,"getFieldsMap",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=new xT;return n.getFieldEntities(o).forEach(function(r){var a=r.getNamePath();i.set(a,r)}),i}),_t(this,"getFieldEntitiesForNamePathList",function(o){if(!o)return n.getFieldEntities(!0);var i=n.getFieldsMap(!0);return o.map(function(r){var a=D0(r);return i.get(a)||{INVALIDATE_NAME_PATH:D0(r)}})}),_t(this,"getFieldsValue",function(o,i){n.warningUnhooked();var r,a,l;if(o===!0||Array.isArray(o)?(r=o,a=i):o&&gr(o)==="object"&&(l=o.strict,a=o.filter),r===!0&&!a)return n.store;var s=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return s.forEach(function(u){var d,f,p="INVALIDATE_NAME_PATH"in u?u.INVALIDATE_NAME_PATH:u.getNamePath();if(l){var g,A;if((g=(A=u).isList)!==null&&g!==void 0&&g.call(A))return}else if(!r&&(d=(f=u).isListField)!==null&&d!==void 0&&d.call(f))return;if(!a)c.push(p);else{var w="getMeta"in u?u.getMeta():null;a(w)&&c.push(p)}}),I8e(n.store,c.map(D0))}),_t(this,"getFieldValue",function(o){n.warningUnhooked();var i=D0(o);return hg(n.store,i)}),_t(this,"getFieldsError",function(o){n.warningUnhooked();var i=n.getFieldEntitiesForNamePathList(o);return i.map(function(r,a){return r&&!("INVALIDATE_NAME_PATH"in r)?{name:r.getNamePath(),errors:r.getErrors(),warnings:r.getWarnings()}:{name:D0(o[a]),errors:[],warnings:[]}})}),_t(this,"getFieldError",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.errors}),_t(this,"getFieldWarning",function(o){n.warningUnhooked();var i=D0(o),r=n.getFieldsError([i])[0];return r.warnings}),_t(this,"isFieldsTouched",function(){n.warningUnhooked();for(var o=arguments.length,i=new Array(o),r=0;r0&&arguments[0]!==void 0?arguments[0]:{},i=new xT,r=n.getFieldEntities(!0);r.forEach(function(s){var c=s.props.initialValue,u=s.getNamePath();if(c!==void 0){var d=i.get(u)||new Set;d.add({entity:s,value:c}),i.set(u,d)}});var a=function(c){c.forEach(function(u){var d=u.props.initialValue;if(d!==void 0){var f=u.getNamePath(),p=n.getInitialValue(f);if(p!==void 0)U0(!1,"Form already set 'initialValues' with path '".concat(f.join("."),"'. Field can not overwrite it."));else{var g=i.get(f);if(g&&g.size>1)U0(!1,"Multiple Field with path '".concat(f.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(g){var A=n.getFieldValue(f),w=u.isListField();!w&&(!o.skipExist||A===void 0)&&n.updateStore(r2(n.store,f,Wo(g)[0].value))}}}})},l;o.entities?l=o.entities:o.namePathList?(l=[],o.namePathList.forEach(function(s){var c=i.get(s);if(c){var u;(u=l).push.apply(u,Wo(Wo(c).map(function(d){return d.entity})))}})):l=r,a(l)}),_t(this,"resetFields",function(o){n.warningUnhooked();var i=n.store;if(!o){n.updateStore(pD(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(i,null,{type:"reset"}),n.notifyWatch();return}var r=o.map(D0);r.forEach(function(a){var l=n.getInitialValue(a);n.updateStore(r2(n.store,a,l))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(i,r,{type:"reset"}),n.notifyWatch(r)}),_t(this,"setFields",function(o){n.warningUnhooked();var i=n.store,r=[];o.forEach(function(a){var l=a.name,s=ir(a,bHt),c=D0(l);r.push(c),"value"in s&&n.updateStore(r2(n.store,c,s.value)),n.notifyObservers(i,[c],{type:"setField",data:a})}),n.notifyWatch(r)}),_t(this,"getFields",function(){var o=n.getFieldEntities(!0),i=o.map(function(r){var a=r.getNamePath(),l=r.getMeta(),s=$t($t({},l),{},{name:a,value:n.getFieldValue(a)});return Object.defineProperty(s,"originRCField",{value:!0}),s});return i}),_t(this,"initEntityValue",function(o){var i=o.props.initialValue;if(i!==void 0){var r=o.getNamePath(),a=hg(n.store,r);a===void 0&&n.updateStore(r2(n.store,r,i))}}),_t(this,"isMergedPreserve",function(o){var i=o!==void 0?o:n.preserve;return i??!0}),_t(this,"registerField",function(o){n.fieldEntities.push(o);var i=o.getNamePath();if(n.notifyWatch([i]),o.props.initialValue!==void 0){var r=n.store;n.resetWithFieldInitialValue({entities:[o],skipExist:!0}),n.notifyObservers(r,[o.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(d){return d!==o}),!n.isMergedPreserve(l)&&(!a||s.length>1)){var c=a?void 0:n.getInitialValue(i);if(i.length&&n.getFieldValue(i)!==c&&n.fieldEntities.every(function(d){return!O_e(d.getNamePath(),i)})){var u=n.store;n.updateStore(r2(u,i,c,!0)),n.notifyObservers(u,[i],{type:"remove"}),n.triggerDependenciesUpdate(u,i)}}n.notifyWatch([i])}}),_t(this,"dispatch",function(o){switch(o.type){case"updateValue":{var i=o.namePath,r=o.value;n.updateValue(i,r);break}case"validateField":{var a=o.namePath,l=o.triggerName;n.validateFields([a],{triggerName:l});break}}}),_t(this,"notifyObservers",function(o,i,r){if(n.subscribable){var a=$t($t({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(l){var s=l.onStoreChange;s(o,i,a)})}else n.forceRootUpdate()}),_t(this,"triggerDependenciesUpdate",function(o,i){var r=n.getDependencyChildrenFields(i);return r.length&&n.validateFields(r),n.notifyObservers(o,r,{type:"dependenciesUpdate",relatedFields:[i].concat(Wo(r))}),r}),_t(this,"updateValue",function(o,i){var r=D0(o),a=n.store;n.updateStore(r2(n.store,r,i)),n.notifyObservers(a,[r],{type:"valueUpdate",source:"internal"}),n.notifyWatch([r]);var l=n.triggerDependenciesUpdate(a,r),s=n.callbacks.onValuesChange;if(s){var c=I8e(n.store,[r]);s(c,n.getFieldsValue())}n.triggerOnFieldsChange([r].concat(Wo(l)))}),_t(this,"setFieldsValue",function(o){n.warningUnhooked();var i=n.store;if(o){var r=pD(n.store,o);n.updateStore(r)}n.notifyObservers(i,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),_t(this,"setFieldValue",function(o,i){n.setFields([{name:o,value:i}])}),_t(this,"getDependencyChildrenFields",function(o){var i=new Set,r=[],a=new xT;n.getFieldEntities().forEach(function(s){var c=s.props.dependencies;(c||[]).forEach(function(u){var d=D0(u);a.update(d,function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return f.add(s),f})})});var l=function s(c){var u=a.get(c)||new Set;u.forEach(function(d){if(!i.has(d)){i.add(d);var f=d.getNamePath();d.isFieldDirty()&&f.length&&(r.push(f),s(f))}})};return l(o),r}),_t(this,"triggerOnFieldsChange",function(o,i){var r=n.callbacks.onFieldsChange;if(r){var a=n.getFields();if(i){var l=new xT;i.forEach(function(c){var u=c.name,d=c.errors;l.set(u,d)}),a.forEach(function(c){c.errors=l.get(c.name)||c.errors})}var s=a.filter(function(c){var u=c.name;return yC(o,u)});s.length&&r(s,a)}}),_t(this,"validateFields",function(o,i){n.warningUnhooked();var r,a;Array.isArray(o)||typeof o=="string"||typeof i=="string"?(r=o,a=i):a=o;var l=!!r,s=l?r.map(D0):[],c=[],u=String(Date.now()),d=new Set,f=a||{},p=f.recursive,g=f.dirty;n.getFieldEntities(!0).forEach(function(C){if(l||s.push(C.getNamePath()),!(!C.props.rules||!C.props.rules.length)&&!(g&&!C.isFieldDirty())){var P=C.getNamePath();if(d.add(P.join(u)),!l||yC(s,P,p)){var v=C.validateRules($t({validateMessages:$t($t({},B_e),n.validateMessages)},a));c.push(v.then(function(){return{name:P,errors:[],warnings:[]}}).catch(function(T){var y,S=[],x=[];return(y=T.forEach)===null||y===void 0||y.call(T,function(R){var H=R.rule.warningOnly,D=R.errors;H?x.push.apply(x,Wo(D)):S.push.apply(S,Wo(D))}),S.length?Promise.reject({name:P,errors:S,warnings:x}):{name:P,errors:S,warnings:x}}))}}});var A=xHt(c);n.lastValidatePromise=A,A.catch(function(C){return C}).then(function(C){var P=C.map(function(v){var T=v.name;return T});n.notifyObservers(n.store,P,{type:"validateFinish"}),n.triggerOnFieldsChange(P,C)});var w=A.then(function(){return n.lastValidatePromise===A?Promise.resolve(n.getFieldsValue(s)):Promise.reject([])}).catch(function(C){var P=C.filter(function(v){return v&&v.errors.length});return Promise.reject({values:n.getFieldsValue(s),errorFields:P,outOfDate:n.lastValidatePromise!==A})});w.catch(function(C){return C});var b=s.filter(function(C){return d.has(C.join(u))});return n.triggerOnFieldsChange(b),w}),_t(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(o){var i=n.callbacks.onFinish;if(i)try{i(o)}catch(r){console.error(r)}}).catch(function(o){var i=n.callbacks.onFinishFailed;i&&i(o)})}),this.forceRootUpdate=e});function G_e(t){var e=m.useRef(),n=m.useState({}),o=on(n,2),i=o[1];if(!e.current)if(t)e.current=t;else{var r=function(){i({})},a=new SHt(r);e.current=a.getForm()}return[e.current]}var A0e=m.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),THt=function(e){var n=e.validateMessages,o=e.onFormChange,i=e.onFormFinish,r=e.children,a=m.useContext(A0e),l=m.useRef({});return m.createElement(A0e.Provider,{value:$t($t({},a),{},{validateMessages:$t($t({},a.validateMessages),n),triggerFormChange:function(c,u){o&&o(c,{changedFields:u,forms:l.current}),a.triggerFormChange(c,u)},triggerFormFinish:function(c,u){i&&i(c,{values:u,forms:l.current}),a.triggerFormFinish(c,u)},registerForm:function(c,u){c&&(l.current=$t($t({},l.current),{},_t({},c,u))),a.registerForm(c,u)},unregisterForm:function(c){var u=$t({},l.current);delete u[c],l.current=u,a.unregisterForm(c)}})},r)},PHt=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],CHt=function(e,n){var o=e.name,i=e.initialValues,r=e.fields,a=e.form,l=e.preserve,s=e.children,c=e.component,u=c===void 0?"form":c,d=e.validateMessages,f=e.validateTrigger,p=f===void 0?"onChange":f,g=e.onValuesChange,A=e.onFieldsChange,w=e.onFinish,b=e.onFinishFailed,C=ir(e,PHt),P=m.useContext(A0e),v=G_e(a),T=on(v,1),y=T[0],S=y.getInternalHooks(kv),x=S.useSubscribe,R=S.setInitialValues,H=S.setCallbacks,D=S.setValidateMessages,k=S.setPreserve,W=S.destroyForm;m.useImperativeHandle(n,function(){return y}),m.useEffect(function(){return P.registerForm(o,y),function(){P.unregisterForm(o)}},[P,y,o]),D($t($t({},P.validateMessages),d)),H({onValuesChange:g,onFieldsChange:function(O){if(P.triggerFormChange(o,O),A){for(var J=arguments.length,Z=new Array(J>1?J-1:0),ie=1;ie{let{children:e,status:n,override:o}=t;const i=m.useContext(Qp),r=m.useMemo(()=>{const a=Object.assign({},i);return o&&delete a.isFormItemInput,n&&(delete a.status,delete a.hasFeedback,delete a.feedbackIcon),a},[n,o,i]);return m.createElement(Qp.Provider,{value:r},e)},MHt=m.createContext(void 0);function k8e(){}const IHt=m.createContext({add:k8e,remove:k8e});function X_e(t){const e=m.useContext(IHt),n=m.useRef();return O6(i=>{if(i){const r=t?i.querySelector(t):i;e.add(r),n.current=r}else e.remove(n.current)})}const F8e=()=>{const{cancelButtonProps:t,cancelTextLocale:e,onCancel:n}=m.useContext(xW);return be.createElement(no,Object.assign({onClick:n},t),e)},L8e=()=>{const{confirmLoading:t,okButtonProps:e,okType:n,okTextLocale:o,onOk:i}=m.useContext(xW);return be.createElement(no,Object.assign({},x_e(n),{loading:t,onClick:i},e),o)};function J_e(t,e){return be.createElement("span",{className:`${t}-close-x`},e||be.createElement(E7,{className:`${t}-close-icon`}))}const K_e=t=>{const{okText:e,okType:n="primary",cancelText:o,confirmLoading:i,onOk:r,onCancel:a,okButtonProps:l,cancelButtonProps:s,footer:c}=t,[u]=D7("Modal",lOe()),d=e||(u==null?void 0:u.okText),f=o||(u==null?void 0:u.cancelText),p={confirmLoading:i,okButtonProps:l,cancelButtonProps:s,okTextLocale:d,cancelTextLocale:f,okType:n,onOk:r,onCancel:a},g=be.useMemo(()=>p,Xa(Object.values(p)));let A;return typeof c=="function"||typeof c>"u"?(A=be.createElement(be.Fragment,null,be.createElement(F8e,null),be.createElement(L8e,null)),typeof c=="function"&&(A=c(A,{OkBtn:L8e,CancelBtn:F8e})),A=be.createElement(H_e,{value:g},A)):A=c,be.createElement(mOe,{disabled:!1},A)},Zge=t=>({[t.componentCls]:{[`${t.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${t.motionDurationMid} ${t.motionEaseInOut}, opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}},[`${t.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${t.motionDurationMid} ${t.motionEaseInOut}, - opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}}}),EHt=t=>({animationDuration:t,animationFillMode:"both"}),kHt=t=>({animationDuration:t,animationFillMode:"both"}),f$=function(t,e,n,o){const r=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` + opacity ${t.motionDurationMid} ${t.motionEaseInOut} !important`}}}),zHt=t=>({animationDuration:t,animationFillMode:"both"}),DHt=t=>({animationDuration:t,animationFillMode:"both"}),f$=function(t,e,n,o){const r=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` ${r}${t}-enter, ${r}${t}-appear - `]:Object.assign(Object.assign({},EHt(o)),{animationPlayState:"paused"}),[`${r}${t}-leave`]:Object.assign(Object.assign({},kHt(o)),{animationPlayState:"paused"}),[` + `]:Object.assign(Object.assign({},zHt(o)),{animationPlayState:"paused"}),[`${r}${t}-leave`]:Object.assign(Object.assign({},DHt(o)),{animationPlayState:"paused"}),[` ${r}${t}-enter${t}-enter-active, ${r}${t}-appear${t}-appear-active - `]:{animationName:e,animationPlayState:"running"},[`${r}${t}-leave${t}-leave-active`]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}},FHt=new ul("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),LHt=new ul("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),WHt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:n}=t,o=`${n}-fade`,i=e?"&":"";return[f$(o,FHt,LHt,t.motionDurationMid,e),{[` + `]:{animationName:e,animationPlayState:"running"},[`${r}${t}-leave${t}-leave-active`]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}},EHt=new ul("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),kHt=new ul("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),FHt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:n}=t,o=`${n}-fade`,i=e?"&":"";return[f$(o,EHt,kHt,t.motionDurationMid,e),{[` ${i}${o}-enter, ${i}${o}-appear - `]:{opacity:0,animationTimingFunction:"linear"},[`${i}${o}-leave`]:{animationTimingFunction:"linear"}}]},NHt=new ul("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),UHt=new ul("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),BHt=new ul("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),jHt=new ul("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),YHt=new ul("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),OHt=new ul("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),_Ht=new ul("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),VHt=new ul("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),GHt={"move-up":{inKeyframes:_Ht,outKeyframes:VHt},"move-down":{inKeyframes:NHt,outKeyframes:UHt},"move-left":{inKeyframes:BHt,outKeyframes:jHt},"move-right":{inKeyframes:YHt,outKeyframes:OHt}},aR=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=GHt[e];return[f$(o,i,r,t.motionDurationMid),{[` + `]:{opacity:0,animationTimingFunction:"linear"},[`${i}${o}-leave`]:{animationTimingFunction:"linear"}}]},LHt=new ul("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),WHt=new ul("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),NHt=new ul("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),UHt=new ul("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),BHt=new ul("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),jHt=new ul("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),YHt=new ul("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),OHt=new ul("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),_Ht={"move-up":{inKeyframes:YHt,outKeyframes:OHt},"move-down":{inKeyframes:LHt,outKeyframes:WHt},"move-left":{inKeyframes:NHt,outKeyframes:UHt},"move-right":{inKeyframes:BHt,outKeyframes:jHt}},aR=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=_Ht[e];return[f$(o,i,r,t.motionDurationMid),{[` ${o}-enter, ${o}-appear - `]:{opacity:0,animationTimingFunction:t.motionEaseOutCirc},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]},h$=new ul("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),p$=new ul("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),g$=new ul("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),m$=new ul("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),XHt=new ul("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),JHt=new ul("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),KHt=new ul("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),qHt=new ul("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),$Ht={"slide-up":{inKeyframes:h$,outKeyframes:p$},"slide-down":{inKeyframes:g$,outKeyframes:m$},"slide-left":{inKeyframes:XHt,outKeyframes:JHt},"slide-right":{inKeyframes:KHt,outKeyframes:qHt}},F9=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=$Ht[e];return[f$(o,i,r,t.motionDurationMid),{[` + `]:{opacity:0,animationTimingFunction:t.motionEaseOutCirc},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]},h$=new ul("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),p$=new ul("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),g$=new ul("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),m$=new ul("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),VHt=new ul("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),GHt=new ul("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),XHt=new ul("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),JHt=new ul("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),KHt={"slide-up":{inKeyframes:h$,outKeyframes:p$},"slide-down":{inKeyframes:g$,outKeyframes:m$},"slide-left":{inKeyframes:VHt,outKeyframes:GHt},"slide-right":{inKeyframes:XHt,outKeyframes:JHt}},F9=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=KHt[e];return[f$(o,i,r,t.motionDurationMid),{[` ${o}-enter, ${o}-appear - `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]},QHt=new ul("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),ZHt=new ul("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),W8e=new ul("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),N8e=new ul("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),eMt=new ul("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),tMt=new ul("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),nMt=new ul("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),oMt=new ul("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),iMt=new ul("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),rMt=new ul("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),aMt=new ul("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),lMt=new ul("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),sMt={zoom:{inKeyframes:QHt,outKeyframes:ZHt},"zoom-big":{inKeyframes:W8e,outKeyframes:N8e},"zoom-big-fast":{inKeyframes:W8e,outKeyframes:N8e},"zoom-left":{inKeyframes:nMt,outKeyframes:oMt},"zoom-right":{inKeyframes:iMt,outKeyframes:rMt},"zoom-up":{inKeyframes:eMt,outKeyframes:tMt},"zoom-down":{inKeyframes:aMt,outKeyframes:lMt}},PW=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=sMt[e];return[f$(o,i,r,e==="zoom-big-fast"?t.motionDurationFast:t.motionDurationMid),{[` + `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]},qHt=new ul("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),$Ht=new ul("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),W8e=new ul("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),N8e=new ul("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),QHt=new ul("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),ZHt=new ul("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),eMt=new ul("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),tMt=new ul("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),nMt=new ul("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),oMt=new ul("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),iMt=new ul("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),rMt=new ul("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),aMt={zoom:{inKeyframes:qHt,outKeyframes:$Ht},"zoom-big":{inKeyframes:W8e,outKeyframes:N8e},"zoom-big-fast":{inKeyframes:W8e,outKeyframes:N8e},"zoom-left":{inKeyframes:eMt,outKeyframes:tMt},"zoom-right":{inKeyframes:nMt,outKeyframes:oMt},"zoom-up":{inKeyframes:QHt,outKeyframes:ZHt},"zoom-down":{inKeyframes:iMt,outKeyframes:rMt}},PW=(t,e)=>{const{antCls:n}=t,o=`${n}-${e}`,{inKeyframes:i,outKeyframes:r}=aMt[e];return[f$(o,i,r,e==="zoom-big-fast"?t.motionDurationFast:t.motionDurationMid),{[` ${o}-enter, ${o}-appear - `]:{transform:"scale(0)",opacity:0,animationTimingFunction:t.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]};function U8e(t){return{position:t,inset:0}}const cMt=t=>{const{componentCls:e,antCls:n}=t;return[{[`${e}-root`]:{[`${e}${n}-zoom-enter, ${e}${n}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:t.motionDurationSlow,userSelect:"none"},[`${e}${n}-zoom-leave ${e}-content`]:{pointerEvents:"none"},[`${e}-mask`]:Object.assign(Object.assign({},U8e("fixed")),{zIndex:t.zIndexPopupBase,height:"100%",backgroundColor:t.colorBgMask,pointerEvents:"none",[`${e}-hidden`]:{display:"none"}}),[`${e}-wrap`]:Object.assign(Object.assign({},U8e("fixed")),{zIndex:t.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${e}-root`]:WHt(t)}]},uMt=t=>{const{componentCls:e}=t;return[{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl"},[`${e}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[e]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${t.screenSMMax}px)`]:{[e]:{maxWidth:"calc(100vw - 16px)",margin:`${Ut(t.marginXS)} auto`},[`${e}-centered`]:{[e]:{flex:1}}}}},{[e]:Object.assign(Object.assign({},$a(t)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Ut(t.calc(t.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:t.paddingLG,[`${e}-title`]:{margin:0,color:t.titleColor,fontWeight:t.fontWeightStrong,fontSize:t.titleFontSize,lineHeight:t.titleLineHeight,wordWrap:"break-word"},[`${e}-content`]:{position:"relative",backgroundColor:t.contentBg,backgroundClip:"padding-box",border:0,borderRadius:t.borderRadiusLG,boxShadow:t.boxShadow,pointerEvents:"auto",padding:t.contentPadding},[`${e}-close`]:Object.assign({position:"absolute",top:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),insetInlineEnd:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),zIndex:t.calc(t.zIndexPopupBase).add(10).equal(),padding:0,color:t.modalCloseIconColor,fontWeight:t.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:t.borderRadiusSM,width:t.modalCloseBtnSize,height:t.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${t.motionDurationMid}, background-color ${t.motionDurationMid}`,"&-x":{display:"flex",fontSize:t.fontSizeLG,fontStyle:"normal",lineHeight:`${Ut(t.modalCloseBtnSize)}`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:t.modalCloseIconHoverColor,backgroundColor:t.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:t.colorBgTextActive}},V6(t)),[`${e}-header`]:{color:t.colorText,background:t.headerBg,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,marginBottom:t.headerMarginBottom,padding:t.headerPadding,borderBottom:t.headerBorderBottom},[`${e}-body`]:{fontSize:t.fontSize,lineHeight:t.lineHeight,wordWrap:"break-word",padding:t.bodyPadding},[`${e}-footer`]:{textAlign:"end",background:t.footerBg,marginTop:t.footerMarginTop,padding:t.footerPadding,borderTop:t.footerBorderTop,borderRadius:t.footerBorderRadius,[`> ${t.antCls}-btn + ${t.antCls}-btn`]:{marginInlineStart:t.marginXS}},[`${e}-open`]:{overflow:"hidden"}})},{[`${e}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${e}-content, + `]:{transform:"scale(0)",opacity:0,animationTimingFunction:t.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${o}-leave`]:{animationTimingFunction:t.motionEaseInOutCirc}}]};function U8e(t){return{position:t,inset:0}}const lMt=t=>{const{componentCls:e,antCls:n}=t;return[{[`${e}-root`]:{[`${e}${n}-zoom-enter, ${e}${n}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:t.motionDurationSlow,userSelect:"none"},[`${e}${n}-zoom-leave ${e}-content`]:{pointerEvents:"none"},[`${e}-mask`]:Object.assign(Object.assign({},U8e("fixed")),{zIndex:t.zIndexPopupBase,height:"100%",backgroundColor:t.colorBgMask,pointerEvents:"none",[`${e}-hidden`]:{display:"none"}}),[`${e}-wrap`]:Object.assign(Object.assign({},U8e("fixed")),{zIndex:t.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${e}-root`]:FHt(t)}]},sMt=t=>{const{componentCls:e}=t;return[{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl"},[`${e}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[e]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${t.screenSMMax}px)`]:{[e]:{maxWidth:"calc(100vw - 16px)",margin:`${Ut(t.marginXS)} auto`},[`${e}-centered`]:{[e]:{flex:1}}}}},{[e]:Object.assign(Object.assign({},$a(t)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Ut(t.calc(t.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:t.paddingLG,[`${e}-title`]:{margin:0,color:t.titleColor,fontWeight:t.fontWeightStrong,fontSize:t.titleFontSize,lineHeight:t.titleLineHeight,wordWrap:"break-word"},[`${e}-content`]:{position:"relative",backgroundColor:t.contentBg,backgroundClip:"padding-box",border:0,borderRadius:t.borderRadiusLG,boxShadow:t.boxShadow,pointerEvents:"auto",padding:t.contentPadding},[`${e}-close`]:Object.assign({position:"absolute",top:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),insetInlineEnd:t.calc(t.modalHeaderHeight).sub(t.modalCloseBtnSize).div(2).equal(),zIndex:t.calc(t.zIndexPopupBase).add(10).equal(),padding:0,color:t.modalCloseIconColor,fontWeight:t.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:t.borderRadiusSM,width:t.modalCloseBtnSize,height:t.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${t.motionDurationMid}, background-color ${t.motionDurationMid}`,"&-x":{display:"flex",fontSize:t.fontSizeLG,fontStyle:"normal",lineHeight:`${Ut(t.modalCloseBtnSize)}`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:t.modalCloseIconHoverColor,backgroundColor:t.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:t.colorBgTextActive}},V6(t)),[`${e}-header`]:{color:t.colorText,background:t.headerBg,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,marginBottom:t.headerMarginBottom,padding:t.headerPadding,borderBottom:t.headerBorderBottom},[`${e}-body`]:{fontSize:t.fontSize,lineHeight:t.lineHeight,wordWrap:"break-word",padding:t.bodyPadding},[`${e}-footer`]:{textAlign:"end",background:t.footerBg,marginTop:t.footerMarginTop,padding:t.footerPadding,borderTop:t.footerBorderTop,borderRadius:t.footerBorderRadius,[`> ${t.antCls}-btn + ${t.antCls}-btn`]:{marginInlineStart:t.marginXS}},[`${e}-open`]:{overflow:"hidden"}})},{[`${e}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${e}-content, ${e}-body, - ${e}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${e}-confirm-body`]:{marginBottom:"auto"}}}]},dMt=t=>{const{componentCls:e}=t;return{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl",[`${e}-confirm-body`]:{direction:"rtl"}}}}},Q_e=t=>{const e=t.padding,n=t.fontSizeHeading5,o=t.lineHeightHeading5;return Zr(t,{modalHeaderHeight:t.calc(t.calc(o).mul(n).equal()).add(t.calc(e).mul(2).equal()).equal(),modalFooterBorderColorSplit:t.colorSplit,modalFooterBorderStyle:t.lineType,modalFooterBorderWidth:t.lineWidth,modalCloseIconColor:t.colorIcon,modalCloseIconHoverColor:t.colorIconHover,modalCloseBtnSize:t.controlHeight,modalConfirmIconSize:t.fontHeight,modalTitleHeight:t.calc(t.titleFontSize).mul(t.titleLineHeight).equal()})},Z_e=t=>({footerBg:"transparent",headerBg:t.colorBgElevated,titleLineHeight:t.lineHeightHeading5,titleFontSize:t.fontSizeHeading5,contentBg:t.colorBgElevated,titleColor:t.colorTextHeading,contentPadding:t.wireframe?0:`${Ut(t.paddingMD)} ${Ut(t.paddingContentHorizontalLG)}`,headerPadding:t.wireframe?`${Ut(t.padding)} ${Ut(t.paddingLG)}`:0,headerBorderBottom:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",headerMarginBottom:t.wireframe?0:t.marginXS,bodyPadding:t.wireframe?t.paddingLG:0,footerPadding:t.wireframe?`${Ut(t.paddingXS)} ${Ut(t.padding)}`:0,footerBorderTop:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",footerBorderRadius:t.wireframe?`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`:0,footerMarginTop:t.wireframe?0:t.marginSM,confirmBodyPadding:t.wireframe?`${Ut(t.padding*2)} ${Ut(t.padding*2)} ${Ut(t.paddingLG)}`:0,confirmIconMarginInlineEnd:t.wireframe?t.margin:t.marginSM,confirmBtnsMarginTop:t.wireframe?t.marginLG:t.marginSM}),eVe=Fl("Modal",t=>{const e=Q_e(t);return[uMt(e),dMt(e),cMt(e),PW(e,"zoom")]},Z_e,{unitless:{titleLineHeight:!0}});var fMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{w0e={x:t.pageX,y:t.pageY},setTimeout(()=>{w0e=null},100)};PRt()&&document.documentElement.addEventListener("click",hMt,!0);const tVe=t=>{var e;const{getPopupContainer:n,getPrefixCls:o,direction:i,modal:r}=m.useContext(Mi),a=_=>{const{onCancel:Y}=t;Y==null||Y(_)},l=_=>{const{onOk:Y}=t;Y==null||Y(_)},{prefixCls:s,className:c,rootClassName:u,open:d,wrapClassName:f,centered:p,getContainer:g,focusTriggerAfterClose:A=!0,style:w,visible:b,width:C=520,footer:P,classNames:v,styles:T}=t,y=fMt(t,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),S=o("modal",s),x=o(),R=j0(S),[H,D,k]=eVe(S,R),W=Gn(f,{[`${S}-centered`]:!!p,[`${S}-wrap-rtl`]:i==="rtl"}),N=P!==null&&m.createElement($_e,Object.assign({},t,{onOk:l,onCancel:a})),[L,E]=qge(oR(t),oR(r),{closable:!0,closeIcon:m.createElement(E7,{className:`${S}-close-icon`}),closeIconRender:_=>q_e(S,_)}),U=K_e(`.${S}-content`),[F,B]=k7("Modal",y.zIndex);return H(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:B},m.createElement(L_e,Object.assign({width:C},y,{zIndex:F,getContainer:g===void 0?n:g,prefixCls:S,rootClassName:Gn(D,u,k,R),footer:N,visible:d??b,mousePosition:(e=y.mousePosition)!==null&&e!==void 0?e:w0e,onClose:a,closable:L,closeIcon:E,focusTriggerAfterClose:A,transitionName:D9(x,"zoom",t.transitionName),maskTransitionName:D9(x,"fade",t.maskTransitionName),className:Gn(D,c,r==null?void 0:r.className),style:Object.assign(Object.assign({},r==null?void 0:r.style),w),classNames:Object.assign(Object.assign(Object.assign({},r==null?void 0:r.classNames),v),{wrapper:Gn(W,v==null?void 0:v.wrapper)}),styles:Object.assign(Object.assign({},r==null?void 0:r.styles),T),panelRef:U}))))))},pMt=t=>{const{componentCls:e,titleFontSize:n,titleLineHeight:o,modalConfirmIconSize:i,fontSize:r,lineHeight:a,modalTitleHeight:l,fontHeight:s,confirmBodyPadding:c}=t,u=`${e}-confirm`;return{[u]:{"&-rtl":{direction:"rtl"},[`${t.antCls}-modal-header`]:{display:"none"},[`${u}-body-wrapper`]:Object.assign({},Yk()),[`&${e} ${e}-body`]:{padding:c},[`${u}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${t.iconCls}`]:{flex:"none",fontSize:i,marginInlineEnd:t.confirmIconMarginInlineEnd,marginTop:t.calc(t.calc(s).sub(i).equal()).div(2).equal()},[`&-has-title > ${t.iconCls}`]:{marginTop:t.calc(t.calc(l).sub(i).equal()).div(2).equal()}},[`${u}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:t.marginXS},[`${t.iconCls} + ${u}-paragraph`]:{maxWidth:`calc(100% - ${Ut(t.calc(t.modalConfirmIconSize).add(t.marginSM).equal())})`},[`${u}-title`]:{color:t.colorTextHeading,fontWeight:t.fontWeightStrong,fontSize:n,lineHeight:o},[`${u}-content`]:{color:t.colorText,fontSize:r,lineHeight:a},[`${u}-btns`]:{textAlign:"end",marginTop:t.confirmBtnsMarginTop,[`${t.antCls}-btn + ${t.antCls}-btn`]:{marginBottom:0,marginInlineStart:t.marginXS}}},[`${u}-error ${u}-body > ${t.iconCls}`]:{color:t.colorError},[`${u}-warning ${u}-body > ${t.iconCls}, - ${u}-confirm ${u}-body > ${t.iconCls}`]:{color:t.colorWarning},[`${u}-info ${u}-body > ${t.iconCls}`]:{color:t.colorInfo},[`${u}-success ${u}-body > ${t.iconCls}`]:{color:t.colorSuccess}}},gMt=mW(["Modal","confirm"],t=>{const e=Q_e(t);return[pMt(e)]},Z_e,{order:-1e3});var mMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);iC,Xa(Object.values(C))),v=m.createElement(m.Fragment,null,m.createElement(a8e,null),m.createElement(l8e,null)),T=t.title!==void 0&&t.title!==null,y=`${r}-body`;return m.createElement("div",{className:`${r}-body-wrapper`},m.createElement("div",{className:Gn(y,{[`${y}-has-title`]:T})},d,m.createElement("div",{className:`${r}-paragraph`},T&&m.createElement("span",{className:`${r}-title`},t.title),m.createElement("div",{className:`${r}-content`},t.content))),s===void 0||typeof s=="function"?m.createElement(I_e,{value:P},m.createElement("div",{className:`${r}-btns`},typeof s=="function"?s(v,{OkBtn:l8e,CancelBtn:a8e}):v)):s,m.createElement(gMt,{prefixCls:e}))}const yMt=t=>{const{close:e,zIndex:n,afterClose:o,open:i,keyboard:r,centered:a,getContainer:l,maskStyle:s,direction:c,prefixCls:u,wrapClassName:d,rootPrefixCls:f,bodyStyle:p,closable:g=!1,closeIcon:A,modalRender:w,focusTriggerAfterClose:b,onConfirm:C,styles:P}=t,v=`${u}-confirm`,T=t.width||416,y=t.style||{},S=t.mask===void 0?!0:t.mask,x=t.maskClosable===void 0?!1:t.maskClosable,R=Gn(v,`${v}-${t.type}`,{[`${v}-rtl`]:c==="rtl"},t.className),[,H]=Yu(),D=m.useMemo(()=>n!==void 0?n:H.zIndexPopupBase+_ge,[n,H]);return m.createElement(tVe,{prefixCls:u,className:R,wrapClassName:Gn({[`${v}-centered`]:!!t.centered},d),onCancel:()=>{e==null||e({triggerCancel:!0}),C==null||C(!1)},open:i,title:"",footer:null,transitionName:D9(f||"","zoom",t.transitionName),maskTransitionName:D9(f||"","fade",t.maskTransitionName),mask:S,maskClosable:x,style:y,styles:Object.assign({body:p,mask:s},P),width:T,zIndex:D,afterClose:o,keyboard:r,centered:a,getContainer:l,closable:g,closeIcon:A,modalRender:w,focusTriggerAfterClose:b},m.createElement(nVe,Object.assign({},t,{confirmPrefixCls:v})))},oVe=t=>{const{rootPrefixCls:e,iconPrefixCls:n,direction:o,theme:i}=t;return m.createElement(ry,{prefixCls:e,iconPrefixCls:n,direction:o,theme:i},m.createElement(yMt,Object.assign({},t)))},Fv=[];let iVe="";function rVe(){return iVe}const AMt=t=>{var e,n;const{prefixCls:o,getContainer:i,direction:r}=t,a=cOe(),l=m.useContext(Mi),s=rVe()||l.getPrefixCls(),c=o||`${s}-modal`;let u=i;return u===!1&&(u=void 0),be.createElement(oVe,Object.assign({},t,{rootPrefixCls:s,prefixCls:c,iconPrefixCls:l.iconPrefixCls,theme:l.theme,direction:r??l.direction,locale:(n=(e=l.locale)===null||e===void 0?void 0:e.Modal)!==null&&n!==void 0?n:a,getContainer:u}))};function CW(t){const e=ZOe(),n=document.createDocumentFragment();let o=Object.assign(Object.assign({},t),{close:l,open:!0}),i;function r(){for(var c=arguments.length,u=new Array(c),d=0;dp&&p.triggerCancel);t.onCancel&&f&&t.onCancel.apply(t,[()=>{}].concat(Xa(u.slice(1))));for(let p=0;p{const u=e.getPrefixCls(void 0,rVe()),d=e.getIconPrefixCls(),f=e.getTheme(),p=be.createElement(AMt,Object.assign({},c));Gge(be.createElement(ry,{prefixCls:u,iconPrefixCls:d,theme:f},e.holderRender?e.holderRender(p):p),n)})}function l(){for(var c=arguments.length,u=new Array(c),d=0;d{typeof t.afterClose=="function"&&t.afterClose(),r.apply(this,u)}}),o.visible&&delete o.visible,a(o)}function s(c){typeof c=="function"?o=c(o):o=Object.assign(Object.assign({},o),c),a(o)}return a(o),Fv.push(l),{destroy:l,update:s}}function aVe(t){return Object.assign(Object.assign({},t),{type:"warning"})}function lVe(t){return Object.assign(Object.assign({},t),{type:"info"})}function sVe(t){return Object.assign(Object.assign({},t),{type:"success"})}function cVe(t){return Object.assign(Object.assign({},t),{type:"error"})}function uVe(t){return Object.assign(Object.assign({},t),{type:"confirm"})}function wMt(t){let{rootPrefixCls:e}=t;iVe=e}var vMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,{afterClose:o,config:i}=t,r=vMt(t,["afterClose","config"]);const[a,l]=m.useState(!0),[s,c]=m.useState(i),{direction:u,getPrefixCls:d}=m.useContext(Mi),f=d("modal"),p=d(),g=()=>{var C;o(),(C=s.afterClose)===null||C===void 0||C.call(s)},A=function(){l(!1);for(var C=arguments.length,P=new Array(C),v=0;vy&&y.triggerCancel);s.onCancel&&T&&s.onCancel.apply(s,[()=>{}].concat(Xa(P.slice(1))))};m.useImperativeHandle(e,()=>({destroy:A,update:C=>{c(P=>Object.assign(Object.assign({},P),C))}}));const w=(n=s.okCancel)!==null&&n!==void 0?n:s.type==="confirm",[b]=D7("Modal",t7.Modal);return m.createElement(oVe,Object.assign({prefixCls:f,rootPrefixCls:p},s,{close:A,open:a,afterClose:g,okText:s.okText||(w?b==null?void 0:b.okText:b==null?void 0:b.justOkText),direction:s.direction||u,cancelText:s.cancelText||(b==null?void 0:b.cancelText)},r))},bMt=m.forwardRef(xMt);let B8e=0;const SMt=m.memo(m.forwardRef((t,e)=>{const[n,o]=dCt();return m.useImperativeHandle(e,()=>({patchElement:o}),[]),m.createElement(m.Fragment,null,n)}));function TMt(){const t=m.useRef(null),[e,n]=m.useState([]);m.useEffect(()=>{e.length&&(Xa(e).forEach(a=>{a()}),n([]))},[e]);const o=m.useCallback(r=>function(l){var s;B8e+=1;const c=m.createRef();let u;const d=new Promise(w=>{u=w});let f=!1,p;const g=m.createElement(bMt,{key:`modal-${B8e}`,config:r(l),ref:c,afterClose:()=>{p==null||p()},isSilent:()=>f,onConfirm:w=>{u(w)}});return p=(s=t.current)===null||s===void 0?void 0:s.patchElement(g),p&&Fv.push(p),{destroy:()=>{function w(){var b;(b=c.current)===null||b===void 0||b.destroy()}c.current?w():n(b=>[].concat(Xa(b),[w]))},update:w=>{function b(){var C;(C=c.current)===null||C===void 0||C.update(w)}c.current?b():n(C=>[].concat(Xa(C),[b]))},then:w=>(f=!0,d.then(w))}},[]);return[m.useMemo(()=>({info:o(lVe),success:o(sVe),error:o(cVe),warning:o(aVe),confirm:o(uVe)}),[]),m.createElement(SMt,{key:"modal-holder",ref:t})]}const PMt=be.createContext({});function dVe(t){return e=>m.createElement(ry,{theme:{token:{motion:!1,zIndexPopupBase:0}}},m.createElement(t,Object.assign({},e)))}const RW=(t,e,n,o)=>dVe(r=>{const{prefixCls:a,style:l}=r,s=m.useRef(null),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=_6(!1,{value:r.open}),{getPrefixCls:A}=m.useContext(Mi),w=A(e||"select",a);m.useEffect(()=>{if(g(!0),typeof ResizeObserver<"u"){const P=new ResizeObserver(T=>{const y=T[0].target;u(y.offsetHeight+8),f(y.offsetWidth)}),v=setInterval(()=>{var T;const y=n?`.${n(w)}`:`.${w}-dropdown`,S=(T=s.current)===null||T===void 0?void 0:T.querySelector(y);S&&(clearInterval(v),P.observe(S))},10);return()=>{clearInterval(v),P.disconnect()}}},[]);let b=Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},l),{margin:0}),open:p,visible:p,getPopupContainer:()=>s.current});o&&(b=o(b));const C={paddingBottom:c,position:"relative",minWidth:d};return m.createElement("div",{ref:s,style:C},m.createElement(t,Object.assign({},b)))});function Ia(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a"u"||typeof window>"u")return!1;var t=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(t==null?void 0:t.substr(0,4))};var A$=function(e){var n=e.className,o=e.customizeIcon,i=e.customizeIconProps,r=e.children,a=e.onMouseDown,l=e.onClick,s=typeof o=="function"?o(i):o;return m.createElement("span",{className:n,onMouseDown:function(u){u.preventDefault(),a==null||a(u)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},s!==void 0?s:m.createElement("span",{className:_n(n.split(/\s+/).map(function(c){return"".concat(c,"-icon")}))},r))},CMt=function(e,n,o,i,r){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,l=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,c=be.useMemo(function(){if(gr(i)==="object")return i.clearIcon;if(r)return r},[i,r]),u=be.useMemo(function(){return!!(!a&&i&&(o.length||l)&&!(s==="combobox"&&l===""))},[i,a,o.length,l,s]);return{allowClear:u,clearIcon:be.createElement(A$,{className:"".concat(e,"-clear"),onMouseDown:n,customizeIcon:c},"×")}},fVe=m.createContext(null);function RMt(){return m.useContext(fVe)}function HMt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,e=m.useState(!1),n=on(e,2),o=n[0],i=n[1],r=m.useRef(null),a=function(){window.clearTimeout(r.current)};m.useEffect(function(){return a},[]);var l=function(c,u){a(),r.current=window.setTimeout(function(){i(c),u&&u()},t)};return[o,l,a]}function hVe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,e=m.useRef(null),n=m.useRef(null);m.useEffect(function(){return function(){window.clearTimeout(n.current)}},[]);function o(i){(i||e.current===null)&&(e.current=i),window.clearTimeout(n.current),n.current=window.setTimeout(function(){e.current=null},t)}return[function(){return e.current},o]}function MMt(t,e,n,o){var i=m.useRef(null);i.current={open:e,triggerOpen:n,customizedTrigger:o},m.useEffect(function(){function r(a){var l;if(!((l=i.current)!==null&&l!==void 0&&l.customizedTrigger)){var s=a.target;s.shadowRoot&&a.composed&&(s=a.composedPath()[0]||s),i.current.open&&t().filter(function(c){return c}).every(function(c){return!c.contains(s)&&c!==s})&&i.current.triggerOpen(!1)}}return window.addEventListener("mousedown",r),function(){return window.removeEventListener("mousedown",r)}},[])}function IMt(t){return![Bn.ESC,Bn.SHIFT,Bn.BACKSPACE,Bn.TAB,Bn.WIN_KEY,Bn.ALT,Bn.META,Bn.WIN_KEY_RIGHT,Bn.CTRL,Bn.SEMICOLON,Bn.EQUALS,Bn.CAPS_LOCK,Bn.CONTEXT_MENU,Bn.F1,Bn.F2,Bn.F3,Bn.F4,Bn.F5,Bn.F6,Bn.F7,Bn.F8,Bn.F9,Bn.F10,Bn.F11,Bn.F12].includes(t)}var zMt=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],bT=void 0;function DMt(t,e){var n=t.prefixCls,o=t.invalidate,i=t.item,r=t.renderItem,a=t.responsive,l=t.responsiveDisabled,s=t.registerSize,c=t.itemKey,u=t.className,d=t.style,f=t.children,p=t.display,g=t.order,A=t.component,w=A===void 0?"div":A,b=ir(t,zMt),C=a&&!p;function P(x){s(c,x)}m.useEffect(function(){return function(){P(null)}},[]);var v=r&&i!==bT?r(i):f,T;o||(T={opacity:C?0:1,height:C?0:bT,overflowY:C?"hidden":bT,order:a?g:bT,pointerEvents:C?"none":bT,position:C?"absolute":bT});var y={};C&&(y["aria-hidden"]=!0);var S=m.createElement(w,so({className:_n(!o&&n,u),style:$t($t({},T),d)},y,b,{ref:e}),v);return a&&(S=m.createElement(bd,{onResize:function(R){var H=R.offsetWidth;P(H)},disabled:l},S)),S}var cE=m.forwardRef(DMt);cE.displayName="Item";function EMt(t){if(typeof MessageChannel>"u")za(t);else{var e=new MessageChannel;e.port1.onmessage=function(){return t()},e.port2.postMessage(void 0)}}function kMt(){var t=m.useRef(null),e=function(o){t.current||(t.current=[],EMt(function(){Td.unstable_batchedUpdates(function(){t.current.forEach(function(i){i()}),t.current=null})})),t.current.push(o)};return e}function vz(t,e){var n=m.useState(e),o=on(n,2),i=o[0],r=o[1],a=Ia(function(l){t(function(){r(l)})});return[i,a]}var vG=be.createContext(null),FMt=["component"],LMt=["className"],WMt=["className"],NMt=function(e,n){var o=m.useContext(vG);if(!o){var i=e.component,r=i===void 0?"div":i,a=ir(e,FMt);return m.createElement(r,so({},a,{ref:n}))}var l=o.className,s=ir(o,LMt),c=e.className,u=ir(e,WMt);return m.createElement(vG.Provider,{value:null},m.createElement(cE,so({ref:n,className:_n(l,c)},s,u)))},pVe=m.forwardRef(NMt);pVe.displayName="RawItem";var UMt=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],gVe="responsive",mVe="invalidate";function BMt(t){return"+ ".concat(t.length," ...")}function jMt(t,e){var n=t.prefixCls,o=n===void 0?"rc-overflow":n,i=t.data,r=i===void 0?[]:i,a=t.renderItem,l=t.renderRawItem,s=t.itemKey,c=t.itemWidth,u=c===void 0?10:c,d=t.ssr,f=t.style,p=t.className,g=t.maxCount,A=t.renderRest,w=t.renderRawRest,b=t.suffix,C=t.component,P=C===void 0?"div":C,v=t.itemComponent,T=t.onVisibleChange,y=ir(t,UMt),S=d==="full",x=kMt(),R=vz(x,null),H=on(R,2),D=H[0],k=H[1],W=D||0,N=vz(x,new Map),L=on(N,2),E=L[0],U=L[1],F=vz(x,0),B=on(F,2),_=B[0],Y=B[1],O=vz(x,0),J=on(O,2),Z=J[0],ie=J[1],ee=vz(x,0),q=on(ee,2),ae=q[0],ne=q[1],se=m.useState(null),le=on(se,2),te=le[0],he=le[1],pe=m.useState(null),fe=on(pe,2),$=fe[0],de=fe[1],Se=m.useMemo(function(){return $===null&&S?Number.MAX_SAFE_INTEGER:$||0},[$,D]),Ce=m.useState(!1),ve=on(Ce,2),Ie=ve[0],ze=ve[1],ye="".concat(o,"-item"),oe=Math.max(_,Z),ge=g===gVe,Ae=r.length&&ge,me=g===mVe,Pe=Ae||typeof g=="number"&&r.length>g,Me=m.useMemo(function(){var at=r;return Ae?D===null&&S?at=r:at=r.slice(0,Math.min(r.length,W/u)):typeof g=="number"&&(at=r.slice(0,g)),at},[r,u,D,g,Ae]),Te=m.useMemo(function(){return Ae?r.slice(Se+1):r.slice(Me.length)},[r,Me,Ae,Se]),De=m.useCallback(function(at,ot){var et;return typeof s=="function"?s(at):(et=s&&(at==null?void 0:at[s]))!==null&&et!==void 0?et:ot},[s]),Ue=m.useCallback(a||function(at){return at},[a]);function Oe(at,ot,et){$===at&&(ot===void 0||ot===te)||(de(at),et||(ze(atW){Oe(_e-1,at-nt-ae+Z);break}}b&&Fe(0)+ae>W&&he(null)}},[W,E,Z,ae,De,Me]);var Ge=Ie&&!!Te.length,rt={};te!==null&&Ae&&(rt={position:"absolute",left:te,top:0});var Ve={prefixCls:ye,responsive:Ae,component:v,invalidate:me},xt=l?function(at,ot){var et=De(at,ot);return m.createElement(vG.Provider,{key:et,value:$t($t({},Ve),{},{order:ot,item:at,itemKey:et,registerSize:$e,display:ot<=Se})},l(at,ot))}:function(at,ot){var et=De(at,ot);return m.createElement(cE,so({},Ve,{order:ot,key:et,item:at,renderItem:Ue,itemKey:et,registerSize:$e,display:ot<=Se}))},dt,Qe={order:Ge?Se:Number.MAX_SAFE_INTEGER,className:"".concat(ye,"-rest"),registerSize:We,display:Ge};if(w)w&&(dt=m.createElement(vG.Provider,{value:$t($t({},Ve),Qe)},w(Te)));else{var ut=A||BMt;dt=m.createElement(cE,so({},Ve,Qe),typeof ut=="function"?ut(Te):ut)}var ft=m.createElement(P,so({className:_n(!me&&o,p),style:f,ref:e},y),Me.map(xt),Pe?dt:null,b&&m.createElement(cE,so({},Ve,{responsive:ge,responsiveDisabled:!Ae,order:Se,className:"".concat(ye,"-suffix"),registerSize:Ee,display:!0,style:rt}),b));return ge&&(ft=m.createElement(bd,{onResize:Le,disabled:!Ae},ft)),ft}var H2=m.forwardRef(jMt);H2.displayName="Overflow";H2.Item=pVe;H2.RESPONSIVE=gVe;H2.INVALIDATE=mVe;var YMt=function(e,n){var o,i=e.prefixCls,r=e.id,a=e.inputElement,l=e.disabled,s=e.tabIndex,c=e.autoFocus,u=e.autoComplete,d=e.editable,f=e.activeDescendantId,p=e.value,g=e.maxLength,A=e.onKeyDown,w=e.onMouseDown,b=e.onChange,C=e.onPaste,P=e.onCompositionStart,v=e.onCompositionEnd,T=e.open,y=e.attrs,S=a||m.createElement("input",null),x=S,R=x.ref,H=x.props,D=H.onKeyDown,k=H.onChange,W=H.onMouseDown,N=H.onCompositionStart,L=H.onCompositionEnd,E=H.style;return"maxLength"in S.props,S=m.cloneElement(S,$t($t($t({type:"search"},H),{},{id:r,ref:Rb(n,R),disabled:l,tabIndex:s,autoComplete:u||"off",autoFocus:c,className:_n("".concat(i,"-selection-search-input"),(o=S)===null||o===void 0||(o=o.props)===null||o===void 0?void 0:o.className),role:"combobox","aria-expanded":T||!1,"aria-haspopup":"listbox","aria-owns":"".concat(r,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(r,"_list"),"aria-activedescendant":T?f:void 0},y),{},{value:d?p:"",maxLength:g,readOnly:!d,unselectable:d?null:"on",style:$t($t({},E),{},{opacity:d?null:0}),onKeyDown:function(F){A(F),D&&D(F)},onMouseDown:function(F){w(F),W&&W(F)},onChange:function(F){b(F),k&&k(F)},onCompositionStart:function(F){P(F),N&&N(F)},onCompositionEnd:function(F){v(F),L&&L(F)},onPaste:C})),S},yVe=m.forwardRef(YMt);function AVe(t){return Array.isArray(t)?t:t!==void 0?[t]:[]}var OMt=typeof window<"u"&&window.document&&window.document.documentElement,_Mt=OMt;function VMt(t){return t!=null}function GMt(t){return!t&&t!==0}function j8e(t){return["string","number"].includes(gr(t))}function wVe(t){var e=void 0;return t&&(j8e(t.title)?e=t.title.toString():j8e(t.label)&&(e=t.label.toString())),e}function XMt(t,e){_Mt?m.useLayoutEffect(t,e):m.useEffect(t,e)}function JMt(t){var e;return(e=t.key)!==null&&e!==void 0?e:t.value}var Y8e=function(e){e.preventDefault(),e.stopPropagation()},KMt=function(e){var n=e.id,o=e.prefixCls,i=e.values,r=e.open,a=e.searchValue,l=e.autoClearSearchValue,s=e.inputRef,c=e.placeholder,u=e.disabled,d=e.mode,f=e.showSearch,p=e.autoFocus,g=e.autoComplete,A=e.activeDescendantId,w=e.tabIndex,b=e.removeIcon,C=e.maxTagCount,P=e.maxTagTextLength,v=e.maxTagPlaceholder,T=v===void 0?function(he){return"+ ".concat(he.length," ...")}:v,y=e.tagRender,S=e.onToggleOpen,x=e.onRemove,R=e.onInputChange,H=e.onInputPaste,D=e.onInputKeyDown,k=e.onInputMouseDown,W=e.onInputCompositionStart,N=e.onInputCompositionEnd,L=m.useRef(null),E=m.useState(0),U=on(E,2),F=U[0],B=U[1],_=m.useState(!1),Y=on(_,2),O=Y[0],J=Y[1],Z="".concat(o,"-selection"),ie=r||d==="multiple"&&l===!1||d==="tags"?a:"",ee=d==="tags"||d==="multiple"&&l===!1||f&&(r||O);XMt(function(){B(L.current.scrollWidth)},[ie]);var q=function(pe,fe,$,de,Se){return m.createElement("span",{title:wVe(pe),className:_n("".concat(Z,"-item"),_t({},"".concat(Z,"-item-disabled"),$))},m.createElement("span",{className:"".concat(Z,"-item-content")},fe),de&&m.createElement(A$,{className:"".concat(Z,"-item-remove"),onMouseDown:Y8e,onClick:Se,customizeIcon:b},"×"))},ae=function(pe,fe,$,de,Se,Ce){var ve=function(ze){Y8e(ze),S(!r)};return m.createElement("span",{onMouseDown:ve},y({label:fe,value:pe,disabled:$,closable:de,onClose:Se,isMaxTag:!!Ce}))},ne=function(pe){var fe=pe.disabled,$=pe.label,de=pe.value,Se=!u&&!fe,Ce=$;if(typeof P=="number"&&(typeof $=="string"||typeof $=="number")){var ve=String(Ce);ve.length>P&&(Ce="".concat(ve.slice(0,P),"..."))}var Ie=function(ye){ye&&ye.stopPropagation(),x(pe)};return typeof y=="function"?ae(de,Ce,fe,Se,Ie):q(pe,Ce,fe,Se,Ie)},se=function(pe){var fe=typeof T=="function"?T(pe):T;return typeof y=="function"?ae(void 0,fe,!1,!1,void 0,!0):q({title:fe},fe,!1)},le=m.createElement("div",{className:"".concat(Z,"-search"),style:{width:F},onFocus:function(){J(!0)},onBlur:function(){J(!1)}},m.createElement(yVe,{ref:s,open:r,prefixCls:o,id:n,inputElement:null,disabled:u,autoFocus:p,autoComplete:g,editable:ee,activeDescendantId:A,value:ie,onKeyDown:D,onMouseDown:k,onChange:R,onPaste:H,onCompositionStart:W,onCompositionEnd:N,tabIndex:w,attrs:gf(e,!0)}),m.createElement("span",{ref:L,className:"".concat(Z,"-search-mirror"),"aria-hidden":!0},ie," ")),te=m.createElement(H2,{prefixCls:"".concat(Z,"-overflow"),data:i,renderItem:ne,renderRest:se,suffix:le,itemKey:JMt,maxCount:C});return m.createElement(m.Fragment,null,te,!i.length&&!ie&&m.createElement("span",{className:"".concat(Z,"-placeholder")},c))},qMt=function(e){var n=e.inputElement,o=e.prefixCls,i=e.id,r=e.inputRef,a=e.disabled,l=e.autoFocus,s=e.autoComplete,c=e.activeDescendantId,u=e.mode,d=e.open,f=e.values,p=e.placeholder,g=e.tabIndex,A=e.showSearch,w=e.searchValue,b=e.activeValue,C=e.maxLength,P=e.onInputKeyDown,v=e.onInputMouseDown,T=e.onInputChange,y=e.onInputPaste,S=e.onInputCompositionStart,x=e.onInputCompositionEnd,R=e.title,H=m.useState(!1),D=on(H,2),k=D[0],W=D[1],N=u==="combobox",L=N||A,E=f[0],U=w||"";N&&b&&!k&&(U=b),m.useEffect(function(){N&&W(!1)},[N,b]);var F=u!=="combobox"&&!d&&!A?!1:!!U,B=R===void 0?wVe(E):R,_=m.useMemo(function(){return E?null:m.createElement("span",{className:"".concat(o,"-selection-placeholder"),style:F?{visibility:"hidden"}:void 0},p)},[E,F,p,o]);return m.createElement(m.Fragment,null,m.createElement("span",{className:"".concat(o,"-selection-search")},m.createElement(yVe,{ref:r,prefixCls:o,id:i,open:d,inputElement:n,disabled:a,autoFocus:l,autoComplete:s,editable:L,activeDescendantId:c,value:U,onKeyDown:P,onMouseDown:v,onChange:function(O){W(!0),T(O)},onPaste:y,onCompositionStart:S,onCompositionEnd:x,tabIndex:g,attrs:gf(e,!0),maxLength:N?C:void 0})),!N&&E?m.createElement("span",{className:"".concat(o,"-selection-item"),title:B,style:F?{visibility:"hidden"}:void 0},E.label):null,_)},$Mt=function(e,n){var o=m.useRef(null),i=m.useRef(!1),r=e.prefixCls,a=e.open,l=e.mode,s=e.showSearch,c=e.tokenWithEnter,u=e.disabled,d=e.autoClearSearchValue,f=e.onSearch,p=e.onSearchSubmit,g=e.onToggleOpen,A=e.onInputKeyDown,w=e.domRef;m.useImperativeHandle(n,function(){return{focus:function(F){o.current.focus(F)},blur:function(){o.current.blur()}}});var b=hVe(0),C=on(b,2),P=C[0],v=C[1],T=function(F){var B=F.which;(B===Bn.UP||B===Bn.DOWN)&&F.preventDefault(),A&&A(F),B===Bn.ENTER&&l==="tags"&&!i.current&&!a&&(p==null||p(F.target.value)),IMt(B)&&g(!0)},y=function(){v(!0)},S=m.useRef(null),x=function(F){f(F,!0,i.current)!==!1&&g(!0)},R=function(){i.current=!0},H=function(F){i.current=!1,l!=="combobox"&&x(F.target.value)},D=function(F){var B=F.target.value;if(c&&S.current&&/[\r\n]/.test(S.current)){var _=S.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");B=B.replace(_,S.current)}S.current=null,x(B)},k=function(F){var B=F.clipboardData,_=B==null?void 0:B.getData("text");S.current=_||""},W=function(F){var B=F.target;if(B!==o.current){var _=document.body.style.msTouchAction!==void 0;_?setTimeout(function(){o.current.focus()}):o.current.focus()}},N=function(F){var B=P();F.target!==o.current&&!B&&!(l==="combobox"&&u)&&F.preventDefault(),(l!=="combobox"&&(!s||!B)||!a)&&(a&&d!==!1&&f("",!0,!1),g())},L={inputRef:o,onInputKeyDown:T,onInputMouseDown:y,onInputChange:D,onInputPaste:k,onInputCompositionStart:R,onInputCompositionEnd:H},E=l==="multiple"||l==="tags"?m.createElement(KMt,so({},e,L)):m.createElement(qMt,so({},e,L));return m.createElement("div",{ref:w,className:"".concat(r,"-selector"),onClick:W,onMouseDown:N},E)},QMt=m.forwardRef($Mt);function Xk(t){"@babel/helpers - typeof";return Xk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xk(t)}function ZMt(t,e){if(Xk(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Xk(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function eIt(t){var e=ZMt(t,"string");return Xk(e)==="symbol"?e:String(e)}function tIt(t,e,n){return e=eIt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function O8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $h(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function aIt(t,e){if(t==null)return{};var n=rIt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function xG(){return xG=Object.assign?Object.assign.bind():function(t){for(var e=1;e0,J=m.useState(!P||!O),Z=Qd(J,2),ie=Z[0],ee=Z[1];if(Ba(function(){!ie&&O&&a&&ee(!0)},[ie,O,a]),!ie)return null;var q="auto",ae={left:"-1000vw",top:"-1000vh",right:q,bottom:q};if(H||!s){var ne,se=A.points,le=A.dynamicInset||((ne=A._experimental)===null||ne===void 0?void 0:ne.dynamicInset),te=le&&se[0][1]==="r",he=le&&se[0][0]==="b";te?(ae.right=W,ae.left=q):(ae.left=D,ae.right=q),he?(ae.bottom=N,ae.top=q):(ae.top=k,ae.bottom=q)}var pe={};return U&&(U.includes("height")&&B?pe.height=B:U.includes("minHeight")&&B&&(pe.minHeight=B),U.includes("width")&&F?pe.width=F:U.includes("minWidth")&&F&&(pe.minWidth=F)),s||(pe.pointerEvents="none"),m.createElement(T,{open:C||Y,getContainer:P&&function(){return P(a)},autoDestroy:v},m.createElement(sIt,{prefixCls:i,open:s,zIndex:y,mask:f,motion:b}),m.createElement(bd,{onResize:L,disabled:!s},function(fe){return m.createElement(Hg,xG({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:C,leavedClassName:"".concat(i,"-hidden")},w,{onAppearPrepare:E,onEnterPrepare:E,visible:s,onVisibleChanged:function(de){var Se;w==null||(Se=w.onVisibleChanged)===null||Se===void 0||Se.call(w,de),l(de)}}),function($,de){var Se=$.className,Ce=$.style,ve=_n(i,Se,o);return m.createElement("div",{ref:Rb(fe,e,de),className:ve,style:$h($h($h($h({"--arrow-x":"".concat(g.x||0,"px"),"--arrow-y":"".concat(g.y||0,"px")},ae),pe),Ce),{},{boxSizing:"border-box",zIndex:y},r),onMouseEnter:S,onMouseLeave:x,onPointerEnter:R,onClick:d},p&&m.createElement(lIt,{prefixCls:i,arrow:p,arrowPos:g,align:A}),m.createElement(cIt,{cache:!s&&!u},_))})}))}),dIt=m.forwardRef(function(t,e){var n=t.children,o=t.getTriggerDOMNode,i=Zw(n),r=m.useCallback(function(l){Lk(e,o?o(l):l)},[o]),a=z7(r,n.ref);return i?m.cloneElement(n,{ref:a}):n}),_8e=m.createContext(null);function V8e(t){return t?Array.isArray(t)?t:[t]:[]}function fIt(t,e,n,o){return m.useMemo(function(){var i=V8e(n??e),r=V8e(o??e),a=new Set(i),l=new Set(r);return t&&(a.has("hover")&&(a.delete("hover"),a.add("click")),l.has("hover")&&(l.delete("hover"),l.add("click"))),[a,l]},[t,e,n,o])}const w$=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1};function hIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return n?t[0]===e[0]:t[0]===e[0]&&t[1]===e[1]}function pIt(t,e,n,o){for(var i=n.points,r=Object.keys(t),a=0;a1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(t)?e:t}function xz(t){return Jk(parseFloat(t),0)}function X8e(t,e){var n=$h({},t);return(e||[]).forEach(function(o){if(!(o instanceof HTMLBodyElement||o instanceof HTMLHtmlElement)){var i=HW(o).getComputedStyle(o),r=i.overflow,a=i.overflowClipMargin,l=i.borderTopWidth,s=i.borderBottomWidth,c=i.borderLeftWidth,u=i.borderRightWidth,d=o.getBoundingClientRect(),f=o.offsetHeight,p=o.clientHeight,g=o.offsetWidth,A=o.clientWidth,w=xz(l),b=xz(s),C=xz(c),P=xz(u),v=Jk(Math.round(d.width/g*1e3)/1e3),T=Jk(Math.round(d.height/f*1e3)/1e3),y=(g-A-C-P)*v,S=(f-p-w-b)*T,x=w*T,R=b*T,H=C*v,D=P*v,k=0,W=0;if(r==="clip"){var N=xz(a);k=N*v,W=N*T}var L=d.x+H-k,E=d.y+x-W,U=L+d.width+2*k-H-D-y,F=E+d.height+2*W-x-R-S;n.left=Math.max(n.left,L),n.top=Math.max(n.top,E),n.right=Math.min(n.right,U),n.bottom=Math.min(n.bottom,F)}}),n}function J8e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n="".concat(e),o=n.match(/^(.*)\%$/);return o?t*(parseFloat(o[1])/100):parseFloat(n)}function K8e(t,e){var n=e||[],o=Qd(n,2),i=o[0],r=o[1];return[J8e(t.width,i),J8e(t.height,r)]}function q8e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[t[0],t[1]]}function ST(t,e){var n=e[0],o=e[1],i,r;return n==="t"?r=t.y:n==="b"?r=t.y+t.height:r=t.y+t.height/2,o==="l"?i=t.x:o==="r"?i=t.x+t.width:i=t.x+t.width/2,{x:i,y:r}}function w4(t,e){var n={t:"b",b:"t",l:"r",r:"l"};return t.map(function(o,i){return i===e?n[o]||"c":o}).join("")}function gIt(t,e,n,o,i,r,a){var l=m.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:i[o]||{}}),s=Qd(l,2),c=s[0],u=s[1],d=m.useRef(0),f=m.useMemo(function(){return e?x0e(e):[]},[e]),p=m.useRef({}),g=function(){p.current={}};t||g();var A=Ia(function(){if(e&&n&&t){let go=function(Uo,_i){var Qo=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ve,ar=_.x+Uo,ur=_.y+_i,$o=ar+ne,ba=ur+ae,Mo=Math.max(ar,Qo.left),$i=Math.max(ur,Qo.top),Za=Math.min($o,Qo.right),ti=Math.min(ba,Qo.bottom);return Math.max(0,(Za-Mo)*(ti-$i))},So=function(){Ft=_.y+ut,Ke=Ft+ae,Je=_.x+Qe,ct=Je+ne};var Ro=go,oi=So,C,P,v=e,T=v.ownerDocument,y=HW(v),S=y.getComputedStyle(v),x=S.width,R=S.height,H=S.position,D=v.style.left,k=v.style.top,W=v.style.right,N=v.style.bottom,L=v.style.overflow,E=$h($h({},i[o]),r),U=T.createElement("div");(C=v.parentElement)===null||C===void 0||C.appendChild(U),U.style.left="".concat(v.offsetLeft,"px"),U.style.top="".concat(v.offsetTop,"px"),U.style.position=H,U.style.height="".concat(v.offsetHeight,"px"),U.style.width="".concat(v.offsetWidth,"px"),v.style.left="0",v.style.top="0",v.style.right="auto",v.style.bottom="auto",v.style.overflow="hidden";var F;if(Array.isArray(n))F={x:n[0],y:n[1],width:0,height:0};else{var B=n.getBoundingClientRect();F={x:B.x,y:B.y,width:B.width,height:B.height}}var _=v.getBoundingClientRect(),Y=T.documentElement,O=Y.clientWidth,J=Y.clientHeight,Z=Y.scrollWidth,ie=Y.scrollHeight,ee=Y.scrollTop,q=Y.scrollLeft,ae=_.height,ne=_.width,se=F.height,le=F.width,te={left:0,top:0,right:O,bottom:J},he={left:-q,top:-ee,right:Z-q,bottom:ie-ee},pe=E.htmlRegion,fe="visible",$="visibleFirst";pe!=="scroll"&&pe!==$&&(pe=fe);var de=pe===$,Se=X8e(he,f),Ce=X8e(te,f),ve=pe===fe?Ce:Se,Ie=de?Ce:ve;v.style.left="auto",v.style.top="auto",v.style.right="0",v.style.bottom="0";var ze=v.getBoundingClientRect();v.style.left=D,v.style.top=k,v.style.right=W,v.style.bottom=N,v.style.overflow=L,(P=v.parentElement)===null||P===void 0||P.removeChild(U);var ye=Jk(Math.round(ne/parseFloat(x)*1e3)/1e3),oe=Jk(Math.round(ae/parseFloat(R)*1e3)/1e3);if(ye===0||oe===0||rG(n)&&!w$(n))return;var ge=E.offset,Ae=E.targetOffset,me=K8e(_,ge),Pe=Qd(me,2),Me=Pe[0],Te=Pe[1],De=K8e(F,Ae),Ue=Qd(De,2),Oe=Ue[0],Le=Ue[1];F.x-=Oe,F.y-=Le;var $e=E.points||[],We=Qd($e,2),Ee=We[0],Fe=We[1],Ge=q8e(Fe),rt=q8e(Ee),Ve=ST(F,Ge),xt=ST(_,rt),dt=$h({},E),Qe=Ve.x-xt.x+Me,ut=Ve.y-xt.y+Te,ft=go(Qe,ut),at=go(Qe,ut,Ce),ot=ST(F,["t","l"]),et=ST(_,["t","l"]),_e=ST(F,["b","r"]),nt=ST(_,["b","r"]),yt=E.overflow||{},Tt=yt.adjustX,Rt=yt.adjustY,Wt=yt.shiftX,Ct=yt.shiftY,At=function(_i){return typeof _i=="boolean"?_i:_i>=0},Ft,Ke,Je,ct;So();var Pt=At(Rt),Ne=rt[0]===Ge[0];if(Pt&&rt[0]==="t"&&(Ke>Ie.bottom||p.current.bt)){var lt=ut;Ne?lt-=ae-se:lt=ot.y-nt.y-Te;var Ye=go(Qe,lt),st=go(Qe,lt,Ce);Ye>ft||Ye===ft&&(!de||st>=at)?(p.current.bt=!0,ut=lt,Te=-Te,dt.points=[w4(rt,0),w4(Ge,0)]):p.current.bt=!1}if(Pt&&rt[0]==="b"&&(Ftft||mt===ft&&(!de||Ht>=at)?(p.current.tb=!0,ut=je,Te=-Te,dt.points=[w4(rt,0),w4(Ge,0)]):p.current.tb=!1}var wt=At(Tt),It=rt[1]===Ge[1];if(wt&&rt[1]==="l"&&(ct>Ie.right||p.current.rl)){var Et=Qe;It?Et-=ne-le:Et=ot.x-nt.x-Me;var zt=go(Et,ut),ln=go(Et,ut,Ce);zt>ft||zt===ft&&(!de||ln>=at)?(p.current.rl=!0,Qe=Et,Me=-Me,dt.points=[w4(rt,1),w4(Ge,1)]):p.current.rl=!1}if(wt&&rt[1]==="r"&&(Jeft||fn===ft&&(!de||rn>=at)?(p.current.lr=!0,Qe=Xt,Me=-Me,dt.points=[w4(rt,1),w4(Ge,1)]):p.current.lr=!1}So();var bn=Wt===!0?0:Wt;typeof bn=="number"&&(JeCe.right&&(Qe-=ct-Ce.right-Me,F.x>Ce.right-bn&&(Qe+=F.x-Ce.right+bn)));var Tn=Ct===!0?0:Ct;typeof Tn=="number"&&(FtCe.bottom&&(ut-=Ke-Ce.bottom-Te,F.y>Ce.bottom-Tn&&(ut+=F.y-Ce.bottom+Tn)));var Un=_.x+Qe,Ai=Un+ne,vo=_.y+ut,Oo=vo+ae,si=F.x,po=si+le,to=F.y,uo=to+se,qo=Math.max(Un,si),Hi=Math.min(Ai,po),vi=(qo+Hi)/2,Cn=vi-Un,yn=Math.max(vo,to),no=Math.min(Oo,uo),Eo=(yn+no)/2,ni=Eo-vo;a==null||a(e,dt);var Lo=ze.right-_.x-(Qe+_.width),bo=ze.bottom-_.y-(ut+_.height);u({ready:!0,offsetX:Qe/ye,offsetY:ut/oe,offsetR:Lo/ye,offsetB:bo/oe,arrowX:Cn/ye,arrowY:ni/oe,scaleX:ye,scaleY:oe,align:dt})}}),w=function(){d.current+=1;var P=d.current;Promise.resolve().then(function(){d.current===P&&A()})},b=function(){u(function(P){return $h($h({},P),{},{ready:!1})})};return Ba(b,[o]),Ba(function(){t||b()},[t]),[c.ready,c.offsetX,c.offsetY,c.offsetR,c.offsetB,c.arrowX,c.arrowY,c.scaleX,c.scaleY,c.align,w]}function mIt(t){if(Array.isArray(t))return v0e(t)}function yIt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function AIt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $8e(t){return mIt(t)||yIt(t)||vVe(t)||AIt()}function wIt(t,e,n,o,i){Ba(function(){if(t&&e&&n){let f=function(){o(),i()};var d=f,r=e,a=n,l=x0e(r),s=x0e(a),c=HW(a),u=new Set([c].concat($8e(l),$8e(s)));return u.forEach(function(p){p.addEventListener("scroll",f,{passive:!0})}),c.addEventListener("resize",f,{passive:!0}),o(),function(){u.forEach(function(p){p.removeEventListener("scroll",f),c.removeEventListener("resize",f)})}}},[t,e,n])}function vIt(t,e,n,o,i,r,a,l){var s=m.useRef(t);s.current=t,m.useEffect(function(){if(e&&o&&(!i||r)){var c=function(p){var g=p.target;s.current&&!a(g)&&l(!1)},u=HW(o);u.addEventListener("mousedown",c,!0),u.addEventListener("contextmenu",c,!0);var d=mG(n);return d&&(d.addEventListener("mousedown",c,!0),d.addEventListener("contextmenu",c,!0)),function(){u.removeEventListener("mousedown",c,!0),u.removeEventListener("contextmenu",c,!0),d&&(d.removeEventListener("mousedown",c,!0),d.removeEventListener("contextmenu",c,!0))}}},[e,n,o,i,r])}var xIt=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function bIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d$,e=m.forwardRef(function(n,o){var i=n.prefixCls,r=i===void 0?"rc-trigger-popup":i,a=n.children,l=n.action,s=l===void 0?"hover":l,c=n.showAction,u=n.hideAction,d=n.popupVisible,f=n.defaultPopupVisible,p=n.onPopupVisibleChange,g=n.afterPopupVisibleChange,A=n.mouseEnterDelay,w=n.mouseLeaveDelay,b=w===void 0?.1:w,C=n.focusDelay,P=n.blurDelay,v=n.mask,T=n.maskClosable,y=T===void 0?!0:T,S=n.getPopupContainer,x=n.forceRender,R=n.autoDestroy,H=n.destroyPopupOnHide,D=n.popup,k=n.popupClassName,W=n.popupStyle,N=n.popupPlacement,L=n.builtinPlacements,E=L===void 0?{}:L,U=n.popupAlign,F=n.zIndex,B=n.stretch,_=n.getPopupClassNameFromAlign,Y=n.fresh,O=n.alignPoint,J=n.onPopupClick,Z=n.onPopupAlign,ie=n.arrow,ee=n.popupMotion,q=n.maskMotion,ae=n.popupTransitionName,ne=n.popupAnimation,se=n.maskTransitionName,le=n.maskAnimation,te=n.className,he=n.getTriggerDOMNode,pe=aIt(n,xIt),fe=R||H||!1,$=m.useState(!1),de=Qd($,2),Se=de[0],Ce=de[1];Ba(function(){Ce(y$())},[]);var ve=m.useRef({}),Ie=m.useContext(_8e),ze=m.useMemo(function(){return{registerSubPopup:function(di,Fr){ve.current[di]=Fr,Ie==null||Ie.registerSubPopup(di,Fr)}}},[Ie]),ye=E_e(),oe=m.useState(null),ge=Qd(oe,2),Ae=ge[0],me=ge[1],Pe=m.useRef(null),Me=Ia(function(ti){Pe.current=ti,rG(ti)&&Ae!==ti&&me(ti),Ie==null||Ie.registerSubPopup(ye,ti)}),Te=m.useState(null),De=Qd(Te,2),Ue=De[0],Oe=De[1],Le=m.useRef(null),$e=Ia(function(ti){rG(ti)&&Ue!==ti&&(Oe(ti),Le.current=ti)}),We=m.Children.only(a),Ee=(We==null?void 0:We.props)||{},Fe={},Ge=Ia(function(ti){var di,Fr,Oa=Ue;return(Oa==null?void 0:Oa.contains(ti))||((di=mG(Oa))===null||di===void 0?void 0:di.host)===ti||ti===Oa||(Ae==null?void 0:Ae.contains(ti))||((Fr=mG(Ae))===null||Fr===void 0?void 0:Fr.host)===ti||ti===Ae||Object.values(ve.current).some(function(Br){return(Br==null?void 0:Br.contains(ti))||ti===Br})}),rt=G8e(r,ee,ne,ae),Ve=G8e(r,q,le,se),xt=m.useState(f||!1),dt=Qd(xt,2),Qe=dt[0],ut=dt[1],ft=d??Qe,at=Ia(function(ti){d===void 0&&ut(ti)});Ba(function(){ut(d||!1)},[d]);var ot=m.useRef(ft);ot.current=ft;var et=m.useRef([]);et.current=[];var _e=Ia(function(ti){var di;at(ti),((di=et.current[et.current.length-1])!==null&&di!==void 0?di:ft)!==ti&&(et.current.push(ti),p==null||p(ti))}),nt=m.useRef(),yt=function(){clearTimeout(nt.current)},Tt=function(di){var Fr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;yt(),Fr===0?_e(di):nt.current=setTimeout(function(){_e(di)},Fr*1e3)};m.useEffect(function(){return yt},[]);var Rt=m.useState(!1),Wt=Qd(Rt,2),Ct=Wt[0],At=Wt[1];Ba(function(ti){(!ti||ft)&&At(!0)},[ft]);var Ft=m.useState(null),Ke=Qd(Ft,2),Je=Ke[0],ct=Ke[1],Pt=m.useState([0,0]),Ne=Qd(Pt,2),lt=Ne[0],Ye=Ne[1],st=function(di){Ye([di.clientX,di.clientY])},je=gIt(ft,Ae,O?lt:Ue,N,E,U,Z),mt=Qd(je,11),Ht=mt[0],wt=mt[1],It=mt[2],Et=mt[3],zt=mt[4],ln=mt[5],Xt=mt[6],fn=mt[7],rn=mt[8],bn=mt[9],Tn=mt[10],Un=fIt(Se,s,c,u),Ai=Qd(Un,2),vo=Ai[0],Oo=Ai[1],si=vo.has("click"),po=Oo.has("click")||Oo.has("contextMenu"),to=Ia(function(){Ct||Tn()}),uo=function(){ot.current&&O&&po&&Tt(!1)};wIt(ft,Ue,Ae,to,uo),Ba(function(){to()},[lt,N]),Ba(function(){ft&&!(E!=null&&E[N])&&to()},[JSON.stringify(U)]);var qo=m.useMemo(function(){var ti=pIt(E,r,bn,O);return _n(ti,_==null?void 0:_(bn))},[bn,_,E,r,O]);m.useImperativeHandle(o,function(){return{nativeElement:Le.current,popupElement:Pe.current,forceAlign:to}});var Hi=m.useState(0),vi=Qd(Hi,2),Cn=vi[0],yn=vi[1],no=m.useState(0),Eo=Qd(no,2),ni=Eo[0],Lo=Eo[1],bo=function(){if(B&&Ue){var di=Ue.getBoundingClientRect();yn(di.width),Lo(di.height)}},Ro=function(){bo(),to()},oi=function(di){At(!1),Tn(),g==null||g(di)},go=function(){return new Promise(function(di){bo(),ct(function(){return di})})};Ba(function(){Je&&(Tn(),Je(),ct(null))},[Je]);function So(ti,di,Fr,Oa){Fe[ti]=function(Br){var Pc;Oa==null||Oa(Br),Tt(di,Fr);for(var Is=arguments.length,qs=new Array(Is>1?Is-1:0),Pr=1;Pr1?Fr-1:0),Br=1;Br1?Fr-1:0),Br=1;Br1&&arguments[1]!==void 0?arguments[1]:{},n=e.fieldNames,o=e.childrenAsData,i=[],r=xVe(n,!1),a=r.label,l=r.value,s=r.options,c=r.groupLabel;function u(d,f){Array.isArray(d)&&d.forEach(function(p){if(f||!(s in p)){var g=p[l];i.push({key:Q8e(p,i.length),groupOption:f,data:p,label:p[a],value:g})}else{var A=p[c];A===void 0&&o&&(A=p.label),i.push({key:Q8e(p,i.length),group:!0,data:p,label:A}),u(p[s],!0)}})}return u(t,!1),i}function S0e(t){var e=$t({},t);return"props"in e||Object.defineProperty(e,"props",{get:function(){return U0(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),e}}),e}var HIt=function(e,n,o){if(!n||!n.length)return null;var i=!1,r=function l(s,c){var u=O_e(c),d=u[0],f=u.slice(1);if(!d)return[s];var p=s.split(d);return i=i||p.length>1,p.reduce(function(g,A){return[].concat(Wo(g),Wo(l(A,f)))},[]).filter(Boolean)},a=r(e,n);return i?typeof o<"u"?a.slice(0,o):a:null},eme=m.createContext(null),MIt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],IIt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],T0e=function(e){return e==="tags"||e==="multiple"},zIt=m.forwardRef(function(t,e){var n,o=t.id,i=t.prefixCls,r=t.className,a=t.showSearch,l=t.tagRender,s=t.direction,c=t.omitDomProps,u=t.displayValues,d=t.onDisplayValuesChange,f=t.emptyOptions,p=t.notFoundContent,g=p===void 0?"Not Found":p,A=t.onClear,w=t.mode,b=t.disabled,C=t.loading,P=t.getInputElement,v=t.getRawInputElement,T=t.open,y=t.defaultOpen,S=t.onDropdownVisibleChange,x=t.activeValue,R=t.onActiveValueChange,H=t.activeDescendantId,D=t.searchValue,k=t.autoClearSearchValue,W=t.onSearch,N=t.onSearchSplit,L=t.tokenSeparators,E=t.allowClear,U=t.suffixIcon,F=t.clearIcon,B=t.OptionList,_=t.animation,Y=t.transitionName,O=t.dropdownStyle,J=t.dropdownClassName,Z=t.dropdownMatchSelectWidth,ie=t.dropdownRender,ee=t.dropdownAlign,q=t.placement,ae=t.builtinPlacements,ne=t.getPopupContainer,se=t.showAction,le=se===void 0?[]:se,te=t.onFocus,he=t.onBlur,pe=t.onKeyUp,fe=t.onKeyDown,$=t.onMouseDown,de=ir(t,MIt),Se=T0e(w),Ce=(a!==void 0?a:Se)||w==="combobox",ve=$t({},de);IIt.forEach(function(to){delete ve[to]}),c==null||c.forEach(function(to){delete ve[to]});var Ie=m.useState(!1),ze=on(Ie,2),ye=ze[0],oe=ze[1];m.useEffect(function(){oe(y$())},[]);var ge=m.useRef(null),Ae=m.useRef(null),me=m.useRef(null),Pe=m.useRef(null),Me=m.useRef(null),Te=m.useRef(!1),De=HMt(),Ue=on(De,3),Oe=Ue[0],Le=Ue[1],$e=Ue[2];m.useImperativeHandle(e,function(){var to,uo;return{focus:(to=Pe.current)===null||to===void 0?void 0:to.focus,blur:(uo=Pe.current)===null||uo===void 0?void 0:uo.blur,scrollTo:function(Hi){var vi;return(vi=Me.current)===null||vi===void 0?void 0:vi.scrollTo(Hi)}}});var We=m.useMemo(function(){var to;if(w!=="combobox")return D;var uo=(to=u[0])===null||to===void 0?void 0:to.value;return typeof uo=="string"||typeof uo=="number"?String(uo):""},[D,w,u]),Ee=w==="combobox"&&typeof P=="function"&&P()||null,Fe=typeof v=="function"&&v(),Ge=z7(Ae,Fe==null||(n=Fe.props)===null||n===void 0?void 0:n.ref),rt=m.useState(!1),Ve=on(rt,2),xt=Ve[0],dt=Ve[1];Ba(function(){dt(!0)},[]);var Qe=Rs(!1,{defaultValue:y,value:T}),ut=on(Qe,2),ft=ut[0],at=ut[1],ot=xt?ft:!1,et=!g&&f;(b||et&&ot&&w==="combobox")&&(ot=!1);var _e=et?!1:ot,nt=m.useCallback(function(to){var uo=to!==void 0?to:!ot;b||(at(uo),ot!==uo&&(S==null||S(uo)))},[b,ot,at,S]),yt=m.useMemo(function(){return(L||[]).some(function(to){return[` + ${e}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${e}-confirm-body`]:{marginBottom:"auto"}}}]},cMt=t=>{const{componentCls:e}=t;return{[`${e}-root`]:{[`${e}-wrap-rtl`]:{direction:"rtl",[`${e}-confirm-body`]:{direction:"rtl"}}}}},q_e=t=>{const e=t.padding,n=t.fontSizeHeading5,o=t.lineHeightHeading5;return Zr(t,{modalHeaderHeight:t.calc(t.calc(o).mul(n).equal()).add(t.calc(e).mul(2).equal()).equal(),modalFooterBorderColorSplit:t.colorSplit,modalFooterBorderStyle:t.lineType,modalFooterBorderWidth:t.lineWidth,modalCloseIconColor:t.colorIcon,modalCloseIconHoverColor:t.colorIconHover,modalCloseBtnSize:t.controlHeight,modalConfirmIconSize:t.fontHeight,modalTitleHeight:t.calc(t.titleFontSize).mul(t.titleLineHeight).equal()})},$_e=t=>({footerBg:"transparent",headerBg:t.colorBgElevated,titleLineHeight:t.lineHeightHeading5,titleFontSize:t.fontSizeHeading5,contentBg:t.colorBgElevated,titleColor:t.colorTextHeading,contentPadding:t.wireframe?0:`${Ut(t.paddingMD)} ${Ut(t.paddingContentHorizontalLG)}`,headerPadding:t.wireframe?`${Ut(t.padding)} ${Ut(t.paddingLG)}`:0,headerBorderBottom:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",headerMarginBottom:t.wireframe?0:t.marginXS,bodyPadding:t.wireframe?t.paddingLG:0,footerPadding:t.wireframe?`${Ut(t.paddingXS)} ${Ut(t.padding)}`:0,footerBorderTop:t.wireframe?`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`:"none",footerBorderRadius:t.wireframe?`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`:0,footerMarginTop:t.wireframe?0:t.marginSM,confirmBodyPadding:t.wireframe?`${Ut(t.padding*2)} ${Ut(t.padding*2)} ${Ut(t.paddingLG)}`:0,confirmIconMarginInlineEnd:t.wireframe?t.margin:t.marginSM,confirmBtnsMarginTop:t.wireframe?t.marginLG:t.marginSM}),Q_e=Fl("Modal",t=>{const e=q_e(t);return[sMt(e),cMt(e),lMt(e),PW(e,"zoom")]},$_e,{unitless:{titleLineHeight:!0}});var uMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{w0e={x:t.pageX,y:t.pageY},setTimeout(()=>{w0e=null},100)};SRt()&&document.documentElement.addEventListener("click",dMt,!0);const Z_e=t=>{var e;const{getPopupContainer:n,getPrefixCls:o,direction:i,modal:r}=m.useContext(Mi),a=_=>{const{onCancel:Y}=t;Y==null||Y(_)},l=_=>{const{onOk:Y}=t;Y==null||Y(_)},{prefixCls:s,className:c,rootClassName:u,open:d,wrapClassName:f,centered:p,getContainer:g,focusTriggerAfterClose:A=!0,style:w,visible:b,width:C=520,footer:P,classNames:v,styles:T}=t,y=uMt(t,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),S=o("modal",s),x=o(),R=j0(S),[H,D,k]=Q_e(S,R),W=Gn(f,{[`${S}-centered`]:!!p,[`${S}-wrap-rtl`]:i==="rtl"}),N=P!==null&&m.createElement(K_e,Object.assign({},t,{onOk:l,onCancel:a})),[L,E]=qge(oR(t),oR(r),{closable:!0,closeIcon:m.createElement(E7,{className:`${S}-close-icon`}),closeIconRender:_=>J_e(S,_)}),U=X_e(`.${S}-content`),[F,B]=k7("Modal",y.zIndex);return H(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:B},m.createElement(k_e,Object.assign({width:C},y,{zIndex:F,getContainer:g===void 0?n:g,prefixCls:S,rootClassName:Gn(D,u,k,R),footer:N,visible:d??b,mousePosition:(e=y.mousePosition)!==null&&e!==void 0?e:w0e,onClose:a,closable:L,closeIcon:E,focusTriggerAfterClose:A,transitionName:D9(x,"zoom",t.transitionName),maskTransitionName:D9(x,"fade",t.maskTransitionName),className:Gn(D,c,r==null?void 0:r.className),style:Object.assign(Object.assign({},r==null?void 0:r.style),w),classNames:Object.assign(Object.assign(Object.assign({},r==null?void 0:r.classNames),v),{wrapper:Gn(W,v==null?void 0:v.wrapper)}),styles:Object.assign(Object.assign({},r==null?void 0:r.styles),T),panelRef:U}))))))},fMt=t=>{const{componentCls:e,titleFontSize:n,titleLineHeight:o,modalConfirmIconSize:i,fontSize:r,lineHeight:a,modalTitleHeight:l,fontHeight:s,confirmBodyPadding:c}=t,u=`${e}-confirm`;return{[u]:{"&-rtl":{direction:"rtl"},[`${t.antCls}-modal-header`]:{display:"none"},[`${u}-body-wrapper`]:Object.assign({},Yk()),[`&${e} ${e}-body`]:{padding:c},[`${u}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${t.iconCls}`]:{flex:"none",fontSize:i,marginInlineEnd:t.confirmIconMarginInlineEnd,marginTop:t.calc(t.calc(s).sub(i).equal()).div(2).equal()},[`&-has-title > ${t.iconCls}`]:{marginTop:t.calc(t.calc(l).sub(i).equal()).div(2).equal()}},[`${u}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:t.marginXS},[`${t.iconCls} + ${u}-paragraph`]:{maxWidth:`calc(100% - ${Ut(t.calc(t.modalConfirmIconSize).add(t.marginSM).equal())})`},[`${u}-title`]:{color:t.colorTextHeading,fontWeight:t.fontWeightStrong,fontSize:n,lineHeight:o},[`${u}-content`]:{color:t.colorText,fontSize:r,lineHeight:a},[`${u}-btns`]:{textAlign:"end",marginTop:t.confirmBtnsMarginTop,[`${t.antCls}-btn + ${t.antCls}-btn`]:{marginBottom:0,marginInlineStart:t.marginXS}}},[`${u}-error ${u}-body > ${t.iconCls}`]:{color:t.colorError},[`${u}-warning ${u}-body > ${t.iconCls}, + ${u}-confirm ${u}-body > ${t.iconCls}`]:{color:t.colorWarning},[`${u}-info ${u}-body > ${t.iconCls}`]:{color:t.colorInfo},[`${u}-success ${u}-body > ${t.iconCls}`]:{color:t.colorSuccess}}},hMt=mW(["Modal","confirm"],t=>{const e=q_e(t);return[fMt(e)]},$_e,{order:-1e3});var pMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);iC,Xa(Object.values(C))),v=m.createElement(m.Fragment,null,m.createElement(a8e,null),m.createElement(l8e,null)),T=t.title!==void 0&&t.title!==null,y=`${r}-body`;return m.createElement("div",{className:`${r}-body-wrapper`},m.createElement("div",{className:Gn(y,{[`${y}-has-title`]:T})},d,m.createElement("div",{className:`${r}-paragraph`},T&&m.createElement("span",{className:`${r}-title`},t.title),m.createElement("div",{className:`${r}-content`},t.content))),s===void 0||typeof s=="function"?m.createElement(H_e,{value:P},m.createElement("div",{className:`${r}-btns`},typeof s=="function"?s(v,{OkBtn:l8e,CancelBtn:a8e}):v)):s,m.createElement(hMt,{prefixCls:e}))}const gMt=t=>{const{close:e,zIndex:n,afterClose:o,open:i,keyboard:r,centered:a,getContainer:l,maskStyle:s,direction:c,prefixCls:u,wrapClassName:d,rootPrefixCls:f,bodyStyle:p,closable:g=!1,closeIcon:A,modalRender:w,focusTriggerAfterClose:b,onConfirm:C,styles:P}=t,v=`${u}-confirm`,T=t.width||416,y=t.style||{},S=t.mask===void 0?!0:t.mask,x=t.maskClosable===void 0?!1:t.maskClosable,R=Gn(v,`${v}-${t.type}`,{[`${v}-rtl`]:c==="rtl"},t.className),[,H]=Yu(),D=m.useMemo(()=>n!==void 0?n:H.zIndexPopupBase+_ge,[n,H]);return m.createElement(Z_e,{prefixCls:u,className:R,wrapClassName:Gn({[`${v}-centered`]:!!t.centered},d),onCancel:()=>{e==null||e({triggerCancel:!0}),C==null||C(!1)},open:i,title:"",footer:null,transitionName:D9(f||"","zoom",t.transitionName),maskTransitionName:D9(f||"","fade",t.maskTransitionName),mask:S,maskClosable:x,style:y,styles:Object.assign({body:p,mask:s},P),width:T,zIndex:D,afterClose:o,keyboard:r,centered:a,getContainer:l,closable:g,closeIcon:A,modalRender:w,focusTriggerAfterClose:b},m.createElement(eVe,Object.assign({},t,{confirmPrefixCls:v})))},tVe=t=>{const{rootPrefixCls:e,iconPrefixCls:n,direction:o,theme:i}=t;return m.createElement(ry,{prefixCls:e,iconPrefixCls:n,direction:o,theme:i},m.createElement(gMt,Object.assign({},t)))},Fv=[];let nVe="";function oVe(){return nVe}const mMt=t=>{var e,n;const{prefixCls:o,getContainer:i,direction:r}=t,a=lOe(),l=m.useContext(Mi),s=oVe()||l.getPrefixCls(),c=o||`${s}-modal`;let u=i;return u===!1&&(u=void 0),be.createElement(tVe,Object.assign({},t,{rootPrefixCls:s,prefixCls:c,iconPrefixCls:l.iconPrefixCls,theme:l.theme,direction:r??l.direction,locale:(n=(e=l.locale)===null||e===void 0?void 0:e.Modal)!==null&&n!==void 0?n:a,getContainer:u}))};function CW(t){const e=$Oe(),n=document.createDocumentFragment();let o=Object.assign(Object.assign({},t),{close:l,open:!0}),i;function r(){for(var c=arguments.length,u=new Array(c),d=0;dp&&p.triggerCancel);t.onCancel&&f&&t.onCancel.apply(t,[()=>{}].concat(Xa(u.slice(1))));for(let p=0;p{const u=e.getPrefixCls(void 0,oVe()),d=e.getIconPrefixCls(),f=e.getTheme(),p=be.createElement(mMt,Object.assign({},c));Gge(be.createElement(ry,{prefixCls:u,iconPrefixCls:d,theme:f},e.holderRender?e.holderRender(p):p),n)})}function l(){for(var c=arguments.length,u=new Array(c),d=0;d{typeof t.afterClose=="function"&&t.afterClose(),r.apply(this,u)}}),o.visible&&delete o.visible,a(o)}function s(c){typeof c=="function"?o=c(o):o=Object.assign(Object.assign({},o),c),a(o)}return a(o),Fv.push(l),{destroy:l,update:s}}function iVe(t){return Object.assign(Object.assign({},t),{type:"warning"})}function rVe(t){return Object.assign(Object.assign({},t),{type:"info"})}function aVe(t){return Object.assign(Object.assign({},t),{type:"success"})}function lVe(t){return Object.assign(Object.assign({},t),{type:"error"})}function sVe(t){return Object.assign(Object.assign({},t),{type:"confirm"})}function yMt(t){let{rootPrefixCls:e}=t;nVe=e}var AMt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,{afterClose:o,config:i}=t,r=AMt(t,["afterClose","config"]);const[a,l]=m.useState(!0),[s,c]=m.useState(i),{direction:u,getPrefixCls:d}=m.useContext(Mi),f=d("modal"),p=d(),g=()=>{var C;o(),(C=s.afterClose)===null||C===void 0||C.call(s)},A=function(){l(!1);for(var C=arguments.length,P=new Array(C),v=0;vy&&y.triggerCancel);s.onCancel&&T&&s.onCancel.apply(s,[()=>{}].concat(Xa(P.slice(1))))};m.useImperativeHandle(e,()=>({destroy:A,update:C=>{c(P=>Object.assign(Object.assign({},P),C))}}));const w=(n=s.okCancel)!==null&&n!==void 0?n:s.type==="confirm",[b]=D7("Modal",t7.Modal);return m.createElement(tVe,Object.assign({prefixCls:f,rootPrefixCls:p},s,{close:A,open:a,afterClose:g,okText:s.okText||(w?b==null?void 0:b.okText:b==null?void 0:b.justOkText),direction:s.direction||u,cancelText:s.cancelText||(b==null?void 0:b.cancelText)},r))},vMt=m.forwardRef(wMt);let B8e=0;const xMt=m.memo(m.forwardRef((t,e)=>{const[n,o]=cCt();return m.useImperativeHandle(e,()=>({patchElement:o}),[]),m.createElement(m.Fragment,null,n)}));function bMt(){const t=m.useRef(null),[e,n]=m.useState([]);m.useEffect(()=>{e.length&&(Xa(e).forEach(a=>{a()}),n([]))},[e]);const o=m.useCallback(r=>function(l){var s;B8e+=1;const c=m.createRef();let u;const d=new Promise(w=>{u=w});let f=!1,p;const g=m.createElement(vMt,{key:`modal-${B8e}`,config:r(l),ref:c,afterClose:()=>{p==null||p()},isSilent:()=>f,onConfirm:w=>{u(w)}});return p=(s=t.current)===null||s===void 0?void 0:s.patchElement(g),p&&Fv.push(p),{destroy:()=>{function w(){var b;(b=c.current)===null||b===void 0||b.destroy()}c.current?w():n(b=>[].concat(Xa(b),[w]))},update:w=>{function b(){var C;(C=c.current)===null||C===void 0||C.update(w)}c.current?b():n(C=>[].concat(Xa(C),[b]))},then:w=>(f=!0,d.then(w))}},[]);return[m.useMemo(()=>({info:o(rVe),success:o(aVe),error:o(lVe),warning:o(iVe),confirm:o(sVe)}),[]),m.createElement(xMt,{key:"modal-holder",ref:t})]}const SMt=be.createContext({});function cVe(t){return e=>m.createElement(ry,{theme:{token:{motion:!1,zIndexPopupBase:0}}},m.createElement(t,Object.assign({},e)))}const RW=(t,e,n,o)=>cVe(r=>{const{prefixCls:a,style:l}=r,s=m.useRef(null),[c,u]=m.useState(0),[d,f]=m.useState(0),[p,g]=_6(!1,{value:r.open}),{getPrefixCls:A}=m.useContext(Mi),w=A(e||"select",a);m.useEffect(()=>{if(g(!0),typeof ResizeObserver<"u"){const P=new ResizeObserver(T=>{const y=T[0].target;u(y.offsetHeight+8),f(y.offsetWidth)}),v=setInterval(()=>{var T;const y=n?`.${n(w)}`:`.${w}-dropdown`,S=(T=s.current)===null||T===void 0?void 0:T.querySelector(y);S&&(clearInterval(v),P.observe(S))},10);return()=>{clearInterval(v),P.disconnect()}}},[]);let b=Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},l),{margin:0}),open:p,visible:p,getPopupContainer:()=>s.current});o&&(b=o(b));const C={paddingBottom:c,position:"relative",minWidth:d};return m.createElement("div",{ref:s,style:C},m.createElement(t,Object.assign({},b)))});function Ia(t){var e=m.useRef();e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a"u"||typeof window>"u")return!1;var t=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(t==null?void 0:t.substr(0,4))};var A$=function(e){var n=e.className,o=e.customizeIcon,i=e.customizeIconProps,r=e.children,a=e.onMouseDown,l=e.onClick,s=typeof o=="function"?o(i):o;return m.createElement("span",{className:n,onMouseDown:function(u){u.preventDefault(),a==null||a(u)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},s!==void 0?s:m.createElement("span",{className:_n(n.split(/\s+/).map(function(c){return"".concat(c,"-icon")}))},r))},TMt=function(e,n,o,i,r){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,l=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,c=be.useMemo(function(){if(gr(i)==="object")return i.clearIcon;if(r)return r},[i,r]),u=be.useMemo(function(){return!!(!a&&i&&(o.length||l)&&!(s==="combobox"&&l===""))},[i,a,o.length,l,s]);return{allowClear:u,clearIcon:be.createElement(A$,{className:"".concat(e,"-clear"),onMouseDown:n,customizeIcon:c},"×")}},uVe=m.createContext(null);function PMt(){return m.useContext(uVe)}function CMt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,e=m.useState(!1),n=on(e,2),o=n[0],i=n[1],r=m.useRef(null),a=function(){window.clearTimeout(r.current)};m.useEffect(function(){return a},[]);var l=function(c,u){a(),r.current=window.setTimeout(function(){i(c),u&&u()},t)};return[o,l,a]}function dVe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,e=m.useRef(null),n=m.useRef(null);m.useEffect(function(){return function(){window.clearTimeout(n.current)}},[]);function o(i){(i||e.current===null)&&(e.current=i),window.clearTimeout(n.current),n.current=window.setTimeout(function(){e.current=null},t)}return[function(){return e.current},o]}function RMt(t,e,n,o){var i=m.useRef(null);i.current={open:e,triggerOpen:n,customizedTrigger:o},m.useEffect(function(){function r(a){var l;if(!((l=i.current)!==null&&l!==void 0&&l.customizedTrigger)){var s=a.target;s.shadowRoot&&a.composed&&(s=a.composedPath()[0]||s),i.current.open&&t().filter(function(c){return c}).every(function(c){return!c.contains(s)&&c!==s})&&i.current.triggerOpen(!1)}}return window.addEventListener("mousedown",r),function(){return window.removeEventListener("mousedown",r)}},[])}function HMt(t){return![Bn.ESC,Bn.SHIFT,Bn.BACKSPACE,Bn.TAB,Bn.WIN_KEY,Bn.ALT,Bn.META,Bn.WIN_KEY_RIGHT,Bn.CTRL,Bn.SEMICOLON,Bn.EQUALS,Bn.CAPS_LOCK,Bn.CONTEXT_MENU,Bn.F1,Bn.F2,Bn.F3,Bn.F4,Bn.F5,Bn.F6,Bn.F7,Bn.F8,Bn.F9,Bn.F10,Bn.F11,Bn.F12].includes(t)}var MMt=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],bT=void 0;function IMt(t,e){var n=t.prefixCls,o=t.invalidate,i=t.item,r=t.renderItem,a=t.responsive,l=t.responsiveDisabled,s=t.registerSize,c=t.itemKey,u=t.className,d=t.style,f=t.children,p=t.display,g=t.order,A=t.component,w=A===void 0?"div":A,b=ir(t,MMt),C=a&&!p;function P(x){s(c,x)}m.useEffect(function(){return function(){P(null)}},[]);var v=r&&i!==bT?r(i):f,T;o||(T={opacity:C?0:1,height:C?0:bT,overflowY:C?"hidden":bT,order:a?g:bT,pointerEvents:C?"none":bT,position:C?"absolute":bT});var y={};C&&(y["aria-hidden"]=!0);var S=m.createElement(w,so({className:_n(!o&&n,u),style:$t($t({},T),d)},y,b,{ref:e}),v);return a&&(S=m.createElement(bd,{onResize:function(R){var H=R.offsetWidth;P(H)},disabled:l},S)),S}var cE=m.forwardRef(IMt);cE.displayName="Item";function zMt(t){if(typeof MessageChannel>"u")za(t);else{var e=new MessageChannel;e.port1.onmessage=function(){return t()},e.port2.postMessage(void 0)}}function DMt(){var t=m.useRef(null),e=function(o){t.current||(t.current=[],zMt(function(){Td.unstable_batchedUpdates(function(){t.current.forEach(function(i){i()}),t.current=null})})),t.current.push(o)};return e}function vz(t,e){var n=m.useState(e),o=on(n,2),i=o[0],r=o[1],a=Ia(function(l){t(function(){r(l)})});return[i,a]}var vG=be.createContext(null),EMt=["component"],kMt=["className"],FMt=["className"],LMt=function(e,n){var o=m.useContext(vG);if(!o){var i=e.component,r=i===void 0?"div":i,a=ir(e,EMt);return m.createElement(r,so({},a,{ref:n}))}var l=o.className,s=ir(o,kMt),c=e.className,u=ir(e,FMt);return m.createElement(vG.Provider,{value:null},m.createElement(cE,so({ref:n,className:_n(l,c)},s,u)))},fVe=m.forwardRef(LMt);fVe.displayName="RawItem";var WMt=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],hVe="responsive",pVe="invalidate";function NMt(t){return"+ ".concat(t.length," ...")}function UMt(t,e){var n=t.prefixCls,o=n===void 0?"rc-overflow":n,i=t.data,r=i===void 0?[]:i,a=t.renderItem,l=t.renderRawItem,s=t.itemKey,c=t.itemWidth,u=c===void 0?10:c,d=t.ssr,f=t.style,p=t.className,g=t.maxCount,A=t.renderRest,w=t.renderRawRest,b=t.suffix,C=t.component,P=C===void 0?"div":C,v=t.itemComponent,T=t.onVisibleChange,y=ir(t,WMt),S=d==="full",x=DMt(),R=vz(x,null),H=on(R,2),D=H[0],k=H[1],W=D||0,N=vz(x,new Map),L=on(N,2),E=L[0],U=L[1],F=vz(x,0),B=on(F,2),_=B[0],Y=B[1],O=vz(x,0),J=on(O,2),Z=J[0],ie=J[1],ee=vz(x,0),q=on(ee,2),ae=q[0],ne=q[1],se=m.useState(null),le=on(se,2),te=le[0],he=le[1],pe=m.useState(null),fe=on(pe,2),$=fe[0],de=fe[1],Se=m.useMemo(function(){return $===null&&S?Number.MAX_SAFE_INTEGER:$||0},[$,D]),Ce=m.useState(!1),ve=on(Ce,2),Ie=ve[0],ze=ve[1],ye="".concat(o,"-item"),oe=Math.max(_,Z),ge=g===hVe,Ae=r.length&&ge,me=g===pVe,Pe=Ae||typeof g=="number"&&r.length>g,Me=m.useMemo(function(){var at=r;return Ae?D===null&&S?at=r:at=r.slice(0,Math.min(r.length,W/u)):typeof g=="number"&&(at=r.slice(0,g)),at},[r,u,D,g,Ae]),Te=m.useMemo(function(){return Ae?r.slice(Se+1):r.slice(Me.length)},[r,Me,Ae,Se]),De=m.useCallback(function(at,ot){var et;return typeof s=="function"?s(at):(et=s&&(at==null?void 0:at[s]))!==null&&et!==void 0?et:ot},[s]),Ne=m.useCallback(a||function(at){return at},[a]);function Ye(at,ot,et){$===at&&(ot===void 0||ot===te)||(de(at),et||(ze(atW){Ye(Oe-1,at-nt-ae+Z);break}}b&&Fe(0)+ae>W&&he(null)}},[W,E,Z,ae,De,Me]);var Ge=Ie&&!!Te.length,rt={};te!==null&&Ae&&(rt={position:"absolute",left:te,top:0});var _e={prefixCls:ye,responsive:Ae,component:v,invalidate:me},xt=l?function(at,ot){var et=De(at,ot);return m.createElement(vG.Provider,{key:et,value:$t($t({},_e),{},{order:ot,item:at,itemKey:et,registerSize:$e,display:ot<=Se})},l(at,ot))}:function(at,ot){var et=De(at,ot);return m.createElement(cE,so({},_e,{order:ot,key:et,item:at,renderItem:Ne,itemKey:et,registerSize:$e,display:ot<=Se}))},dt,Qe={order:Ge?Se:Number.MAX_SAFE_INTEGER,className:"".concat(ye,"-rest"),registerSize:We,display:Ge};if(w)w&&(dt=m.createElement(vG.Provider,{value:$t($t({},_e),Qe)},w(Te)));else{var ct=A||NMt;dt=m.createElement(cE,so({},_e,Qe),typeof ct=="function"?ct(Te):ct)}var ft=m.createElement(P,so({className:_n(!me&&o,p),style:f,ref:e},y),Me.map(xt),Pe?dt:null,b&&m.createElement(cE,so({},_e,{responsive:ge,responsiveDisabled:!Ae,order:Se,className:"".concat(ye,"-suffix"),registerSize:Ee,display:!0,style:rt}),b));return ge&&(ft=m.createElement(bd,{onResize:Le,disabled:!Ae},ft)),ft}var H2=m.forwardRef(UMt);H2.displayName="Overflow";H2.Item=fVe;H2.RESPONSIVE=hVe;H2.INVALIDATE=pVe;var BMt=function(e,n){var o,i=e.prefixCls,r=e.id,a=e.inputElement,l=e.disabled,s=e.tabIndex,c=e.autoFocus,u=e.autoComplete,d=e.editable,f=e.activeDescendantId,p=e.value,g=e.maxLength,A=e.onKeyDown,w=e.onMouseDown,b=e.onChange,C=e.onPaste,P=e.onCompositionStart,v=e.onCompositionEnd,T=e.open,y=e.attrs,S=a||m.createElement("input",null),x=S,R=x.ref,H=x.props,D=H.onKeyDown,k=H.onChange,W=H.onMouseDown,N=H.onCompositionStart,L=H.onCompositionEnd,E=H.style;return"maxLength"in S.props,S=m.cloneElement(S,$t($t($t({type:"search"},H),{},{id:r,ref:Rb(n,R),disabled:l,tabIndex:s,autoComplete:u||"off",autoFocus:c,className:_n("".concat(i,"-selection-search-input"),(o=S)===null||o===void 0||(o=o.props)===null||o===void 0?void 0:o.className),role:"combobox","aria-expanded":T||!1,"aria-haspopup":"listbox","aria-owns":"".concat(r,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(r,"_list"),"aria-activedescendant":T?f:void 0},y),{},{value:d?p:"",maxLength:g,readOnly:!d,unselectable:d?null:"on",style:$t($t({},E),{},{opacity:d?null:0}),onKeyDown:function(F){A(F),D&&D(F)},onMouseDown:function(F){w(F),W&&W(F)},onChange:function(F){b(F),k&&k(F)},onCompositionStart:function(F){P(F),N&&N(F)},onCompositionEnd:function(F){v(F),L&&L(F)},onPaste:C})),S},gVe=m.forwardRef(BMt);function mVe(t){return Array.isArray(t)?t:t!==void 0?[t]:[]}var jMt=typeof window<"u"&&window.document&&window.document.documentElement,YMt=jMt;function OMt(t){return t!=null}function _Mt(t){return!t&&t!==0}function j8e(t){return["string","number"].includes(gr(t))}function yVe(t){var e=void 0;return t&&(j8e(t.title)?e=t.title.toString():j8e(t.label)&&(e=t.label.toString())),e}function VMt(t,e){YMt?m.useLayoutEffect(t,e):m.useEffect(t,e)}function GMt(t){var e;return(e=t.key)!==null&&e!==void 0?e:t.value}var Y8e=function(e){e.preventDefault(),e.stopPropagation()},XMt=function(e){var n=e.id,o=e.prefixCls,i=e.values,r=e.open,a=e.searchValue,l=e.autoClearSearchValue,s=e.inputRef,c=e.placeholder,u=e.disabled,d=e.mode,f=e.showSearch,p=e.autoFocus,g=e.autoComplete,A=e.activeDescendantId,w=e.tabIndex,b=e.removeIcon,C=e.maxTagCount,P=e.maxTagTextLength,v=e.maxTagPlaceholder,T=v===void 0?function(he){return"+ ".concat(he.length," ...")}:v,y=e.tagRender,S=e.onToggleOpen,x=e.onRemove,R=e.onInputChange,H=e.onInputPaste,D=e.onInputKeyDown,k=e.onInputMouseDown,W=e.onInputCompositionStart,N=e.onInputCompositionEnd,L=m.useRef(null),E=m.useState(0),U=on(E,2),F=U[0],B=U[1],_=m.useState(!1),Y=on(_,2),O=Y[0],J=Y[1],Z="".concat(o,"-selection"),ie=r||d==="multiple"&&l===!1||d==="tags"?a:"",ee=d==="tags"||d==="multiple"&&l===!1||f&&(r||O);VMt(function(){B(L.current.scrollWidth)},[ie]);var q=function(pe,fe,$,de,Se){return m.createElement("span",{title:yVe(pe),className:_n("".concat(Z,"-item"),_t({},"".concat(Z,"-item-disabled"),$))},m.createElement("span",{className:"".concat(Z,"-item-content")},fe),de&&m.createElement(A$,{className:"".concat(Z,"-item-remove"),onMouseDown:Y8e,onClick:Se,customizeIcon:b},"×"))},ae=function(pe,fe,$,de,Se,Ce){var ve=function(ze){Y8e(ze),S(!r)};return m.createElement("span",{onMouseDown:ve},y({label:fe,value:pe,disabled:$,closable:de,onClose:Se,isMaxTag:!!Ce}))},ne=function(pe){var fe=pe.disabled,$=pe.label,de=pe.value,Se=!u&&!fe,Ce=$;if(typeof P=="number"&&(typeof $=="string"||typeof $=="number")){var ve=String(Ce);ve.length>P&&(Ce="".concat(ve.slice(0,P),"..."))}var Ie=function(ye){ye&&ye.stopPropagation(),x(pe)};return typeof y=="function"?ae(de,Ce,fe,Se,Ie):q(pe,Ce,fe,Se,Ie)},se=function(pe){var fe=typeof T=="function"?T(pe):T;return typeof y=="function"?ae(void 0,fe,!1,!1,void 0,!0):q({title:fe},fe,!1)},le=m.createElement("div",{className:"".concat(Z,"-search"),style:{width:F},onFocus:function(){J(!0)},onBlur:function(){J(!1)}},m.createElement(gVe,{ref:s,open:r,prefixCls:o,id:n,inputElement:null,disabled:u,autoFocus:p,autoComplete:g,editable:ee,activeDescendantId:A,value:ie,onKeyDown:D,onMouseDown:k,onChange:R,onPaste:H,onCompositionStart:W,onCompositionEnd:N,tabIndex:w,attrs:gf(e,!0)}),m.createElement("span",{ref:L,className:"".concat(Z,"-search-mirror"),"aria-hidden":!0},ie," ")),te=m.createElement(H2,{prefixCls:"".concat(Z,"-overflow"),data:i,renderItem:ne,renderRest:se,suffix:le,itemKey:GMt,maxCount:C});return m.createElement(m.Fragment,null,te,!i.length&&!ie&&m.createElement("span",{className:"".concat(Z,"-placeholder")},c))},JMt=function(e){var n=e.inputElement,o=e.prefixCls,i=e.id,r=e.inputRef,a=e.disabled,l=e.autoFocus,s=e.autoComplete,c=e.activeDescendantId,u=e.mode,d=e.open,f=e.values,p=e.placeholder,g=e.tabIndex,A=e.showSearch,w=e.searchValue,b=e.activeValue,C=e.maxLength,P=e.onInputKeyDown,v=e.onInputMouseDown,T=e.onInputChange,y=e.onInputPaste,S=e.onInputCompositionStart,x=e.onInputCompositionEnd,R=e.title,H=m.useState(!1),D=on(H,2),k=D[0],W=D[1],N=u==="combobox",L=N||A,E=f[0],U=w||"";N&&b&&!k&&(U=b),m.useEffect(function(){N&&W(!1)},[N,b]);var F=u!=="combobox"&&!d&&!A?!1:!!U,B=R===void 0?yVe(E):R,_=m.useMemo(function(){return E?null:m.createElement("span",{className:"".concat(o,"-selection-placeholder"),style:F?{visibility:"hidden"}:void 0},p)},[E,F,p,o]);return m.createElement(m.Fragment,null,m.createElement("span",{className:"".concat(o,"-selection-search")},m.createElement(gVe,{ref:r,prefixCls:o,id:i,open:d,inputElement:n,disabled:a,autoFocus:l,autoComplete:s,editable:L,activeDescendantId:c,value:U,onKeyDown:P,onMouseDown:v,onChange:function(O){W(!0),T(O)},onPaste:y,onCompositionStart:S,onCompositionEnd:x,tabIndex:g,attrs:gf(e,!0),maxLength:N?C:void 0})),!N&&E?m.createElement("span",{className:"".concat(o,"-selection-item"),title:B,style:F?{visibility:"hidden"}:void 0},E.label):null,_)},KMt=function(e,n){var o=m.useRef(null),i=m.useRef(!1),r=e.prefixCls,a=e.open,l=e.mode,s=e.showSearch,c=e.tokenWithEnter,u=e.disabled,d=e.autoClearSearchValue,f=e.onSearch,p=e.onSearchSubmit,g=e.onToggleOpen,A=e.onInputKeyDown,w=e.domRef;m.useImperativeHandle(n,function(){return{focus:function(F){o.current.focus(F)},blur:function(){o.current.blur()}}});var b=dVe(0),C=on(b,2),P=C[0],v=C[1],T=function(F){var B=F.which;(B===Bn.UP||B===Bn.DOWN)&&F.preventDefault(),A&&A(F),B===Bn.ENTER&&l==="tags"&&!i.current&&!a&&(p==null||p(F.target.value)),HMt(B)&&g(!0)},y=function(){v(!0)},S=m.useRef(null),x=function(F){f(F,!0,i.current)!==!1&&g(!0)},R=function(){i.current=!0},H=function(F){i.current=!1,l!=="combobox"&&x(F.target.value)},D=function(F){var B=F.target.value;if(c&&S.current&&/[\r\n]/.test(S.current)){var _=S.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");B=B.replace(_,S.current)}S.current=null,x(B)},k=function(F){var B=F.clipboardData,_=B==null?void 0:B.getData("text");S.current=_||""},W=function(F){var B=F.target;if(B!==o.current){var _=document.body.style.msTouchAction!==void 0;_?setTimeout(function(){o.current.focus()}):o.current.focus()}},N=function(F){var B=P();F.target!==o.current&&!B&&!(l==="combobox"&&u)&&F.preventDefault(),(l!=="combobox"&&(!s||!B)||!a)&&(a&&d!==!1&&f("",!0,!1),g())},L={inputRef:o,onInputKeyDown:T,onInputMouseDown:y,onInputChange:D,onInputPaste:k,onInputCompositionStart:R,onInputCompositionEnd:H},E=l==="multiple"||l==="tags"?m.createElement(XMt,so({},e,L)):m.createElement(JMt,so({},e,L));return m.createElement("div",{ref:w,className:"".concat(r,"-selector"),onClick:W,onMouseDown:N},E)},qMt=m.forwardRef(KMt);function Xk(t){"@babel/helpers - typeof";return Xk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xk(t)}function $Mt(t,e){if(Xk(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(Xk(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function QMt(t){var e=$Mt(t,"string");return Xk(e)==="symbol"?e:String(e)}function ZMt(t,e,n){return e=QMt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function O8e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function $h(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function iIt(t,e){if(t==null)return{};var n=oIt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function xG(){return xG=Object.assign?Object.assign.bind():function(t){for(var e=1;e0,J=m.useState(!P||!O),Z=Qd(J,2),ie=Z[0],ee=Z[1];if(Ba(function(){!ie&&O&&a&&ee(!0)},[ie,O,a]),!ie)return null;var q="auto",ae={left:"-1000vw",top:"-1000vh",right:q,bottom:q};if(H||!s){var ne,se=A.points,le=A.dynamicInset||((ne=A._experimental)===null||ne===void 0?void 0:ne.dynamicInset),te=le&&se[0][1]==="r",he=le&&se[0][0]==="b";te?(ae.right=W,ae.left=q):(ae.left=D,ae.right=q),he?(ae.bottom=N,ae.top=q):(ae.top=k,ae.bottom=q)}var pe={};return U&&(U.includes("height")&&B?pe.height=B:U.includes("minHeight")&&B&&(pe.minHeight=B),U.includes("width")&&F?pe.width=F:U.includes("minWidth")&&F&&(pe.minWidth=F)),s||(pe.pointerEvents="none"),m.createElement(T,{open:C||Y,getContainer:P&&function(){return P(a)},autoDestroy:v},m.createElement(aIt,{prefixCls:i,open:s,zIndex:y,mask:f,motion:b}),m.createElement(bd,{onResize:L,disabled:!s},function(fe){return m.createElement(Hg,xG({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:C,leavedClassName:"".concat(i,"-hidden")},w,{onAppearPrepare:E,onEnterPrepare:E,visible:s,onVisibleChanged:function(de){var Se;w==null||(Se=w.onVisibleChanged)===null||Se===void 0||Se.call(w,de),l(de)}}),function($,de){var Se=$.className,Ce=$.style,ve=_n(i,Se,o);return m.createElement("div",{ref:Rb(fe,e,de),className:ve,style:$h($h($h($h({"--arrow-x":"".concat(g.x||0,"px"),"--arrow-y":"".concat(g.y||0,"px")},ae),pe),Ce),{},{boxSizing:"border-box",zIndex:y},r),onMouseEnter:S,onMouseLeave:x,onPointerEnter:R,onClick:d},p&&m.createElement(rIt,{prefixCls:i,arrow:p,arrowPos:g,align:A}),m.createElement(lIt,{cache:!s&&!u},_))})}))}),cIt=m.forwardRef(function(t,e){var n=t.children,o=t.getTriggerDOMNode,i=Zw(n),r=m.useCallback(function(l){Lk(e,o?o(l):l)},[o]),a=z7(r,n.ref);return i?m.cloneElement(n,{ref:a}):n}),_8e=m.createContext(null);function V8e(t){return t?Array.isArray(t)?t:[t]:[]}function uIt(t,e,n,o){return m.useMemo(function(){var i=V8e(n??e),r=V8e(o??e),a=new Set(i),l=new Set(r);return t&&(a.has("hover")&&(a.delete("hover"),a.add("click")),l.has("hover")&&(l.delete("hover"),l.add("click"))),[a,l]},[t,e,n,o])}const w$=function(t){if(!t)return!1;if(t instanceof Element){if(t.offsetParent)return!0;if(t.getBBox){var e=t.getBBox(),n=e.width,o=e.height;if(n||o)return!0}if(t.getBoundingClientRect){var i=t.getBoundingClientRect(),r=i.width,a=i.height;if(r||a)return!0}}return!1};function dIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return n?t[0]===e[0]:t[0]===e[0]&&t[1]===e[1]}function fIt(t,e,n,o){for(var i=n.points,r=Object.keys(t),a=0;a1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(t)?e:t}function xz(t){return Jk(parseFloat(t),0)}function X8e(t,e){var n=$h({},t);return(e||[]).forEach(function(o){if(!(o instanceof HTMLBodyElement||o instanceof HTMLHtmlElement)){var i=HW(o).getComputedStyle(o),r=i.overflow,a=i.overflowClipMargin,l=i.borderTopWidth,s=i.borderBottomWidth,c=i.borderLeftWidth,u=i.borderRightWidth,d=o.getBoundingClientRect(),f=o.offsetHeight,p=o.clientHeight,g=o.offsetWidth,A=o.clientWidth,w=xz(l),b=xz(s),C=xz(c),P=xz(u),v=Jk(Math.round(d.width/g*1e3)/1e3),T=Jk(Math.round(d.height/f*1e3)/1e3),y=(g-A-C-P)*v,S=(f-p-w-b)*T,x=w*T,R=b*T,H=C*v,D=P*v,k=0,W=0;if(r==="clip"){var N=xz(a);k=N*v,W=N*T}var L=d.x+H-k,E=d.y+x-W,U=L+d.width+2*k-H-D-y,F=E+d.height+2*W-x-R-S;n.left=Math.max(n.left,L),n.top=Math.max(n.top,E),n.right=Math.min(n.right,U),n.bottom=Math.min(n.bottom,F)}}),n}function J8e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n="".concat(e),o=n.match(/^(.*)\%$/);return o?t*(parseFloat(o[1])/100):parseFloat(n)}function K8e(t,e){var n=e||[],o=Qd(n,2),i=o[0],r=o[1];return[J8e(t.width,i),J8e(t.height,r)]}function q8e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[t[0],t[1]]}function ST(t,e){var n=e[0],o=e[1],i,r;return n==="t"?r=t.y:n==="b"?r=t.y+t.height:r=t.y+t.height/2,o==="l"?i=t.x:o==="r"?i=t.x+t.width:i=t.x+t.width/2,{x:i,y:r}}function w4(t,e){var n={t:"b",b:"t",l:"r",r:"l"};return t.map(function(o,i){return i===e?n[o]||"c":o}).join("")}function hIt(t,e,n,o,i,r,a){var l=m.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:i[o]||{}}),s=Qd(l,2),c=s[0],u=s[1],d=m.useRef(0),f=m.useMemo(function(){return e?x0e(e):[]},[e]),p=m.useRef({}),g=function(){p.current={}};t||g();var A=Ia(function(){if(e&&n&&t){let go=function(Uo,_i){var Qo=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ve,ar=_.x+Uo,ur=_.y+_i,$o=ar+ne,ba=ur+ae,Mo=Math.max(ar,Qo.left),$i=Math.max(ur,Qo.top),Za=Math.min($o,Qo.right),ti=Math.min(ba,Qo.bottom);return Math.max(0,(Za-Mo)*(ti-$i))},So=function(){kt=_.y+ct,qe=kt+ae,Je=_.x+Qe,st=Je+ne};var Ro=go,oi=So,C,P,v=e,T=v.ownerDocument,y=HW(v),S=y.getComputedStyle(v),x=S.width,R=S.height,H=S.position,D=v.style.left,k=v.style.top,W=v.style.right,N=v.style.bottom,L=v.style.overflow,E=$h($h({},i[o]),r),U=T.createElement("div");(C=v.parentElement)===null||C===void 0||C.appendChild(U),U.style.left="".concat(v.offsetLeft,"px"),U.style.top="".concat(v.offsetTop,"px"),U.style.position=H,U.style.height="".concat(v.offsetHeight,"px"),U.style.width="".concat(v.offsetWidth,"px"),v.style.left="0",v.style.top="0",v.style.right="auto",v.style.bottom="auto",v.style.overflow="hidden";var F;if(Array.isArray(n))F={x:n[0],y:n[1],width:0,height:0};else{var B=n.getBoundingClientRect();F={x:B.x,y:B.y,width:B.width,height:B.height}}var _=v.getBoundingClientRect(),Y=T.documentElement,O=Y.clientWidth,J=Y.clientHeight,Z=Y.scrollWidth,ie=Y.scrollHeight,ee=Y.scrollTop,q=Y.scrollLeft,ae=_.height,ne=_.width,se=F.height,le=F.width,te={left:0,top:0,right:O,bottom:J},he={left:-q,top:-ee,right:Z-q,bottom:ie-ee},pe=E.htmlRegion,fe="visible",$="visibleFirst";pe!=="scroll"&&pe!==$&&(pe=fe);var de=pe===$,Se=X8e(he,f),Ce=X8e(te,f),ve=pe===fe?Ce:Se,Ie=de?Ce:ve;v.style.left="auto",v.style.top="auto",v.style.right="0",v.style.bottom="0";var ze=v.getBoundingClientRect();v.style.left=D,v.style.top=k,v.style.right=W,v.style.bottom=N,v.style.overflow=L,(P=v.parentElement)===null||P===void 0||P.removeChild(U);var ye=Jk(Math.round(ne/parseFloat(x)*1e3)/1e3),oe=Jk(Math.round(ae/parseFloat(R)*1e3)/1e3);if(ye===0||oe===0||rG(n)&&!w$(n))return;var ge=E.offset,Ae=E.targetOffset,me=K8e(_,ge),Pe=Qd(me,2),Me=Pe[0],Te=Pe[1],De=K8e(F,Ae),Ne=Qd(De,2),Ye=Ne[0],Le=Ne[1];F.x-=Ye,F.y-=Le;var $e=E.points||[],We=Qd($e,2),Ee=We[0],Fe=We[1],Ge=q8e(Fe),rt=q8e(Ee),_e=ST(F,Ge),xt=ST(_,rt),dt=$h({},E),Qe=_e.x-xt.x+Me,ct=_e.y-xt.y+Te,ft=go(Qe,ct),at=go(Qe,ct,Ce),ot=ST(F,["t","l"]),et=ST(_,["t","l"]),Oe=ST(F,["b","r"]),nt=ST(_,["b","r"]),mt=E.overflow||{},Tt=mt.adjustX,Rt=mt.adjustY,Wt=mt.shiftX,Ct=mt.shiftY,wt=function(_i){return typeof _i=="boolean"?_i:_i>=0},kt,qe,Je,st;So();var Pt=wt(Rt),Ue=rt[0]===Ge[0];if(Pt&&rt[0]==="t"&&(qe>Ie.bottom||p.current.bt)){var lt=ct;Ue?lt-=ae-se:lt=ot.y-nt.y-Te;var Ve=go(Qe,lt),ut=go(Qe,lt,Ce);Ve>ft||Ve===ft&&(!de||ut>=at)?(p.current.bt=!0,ct=lt,Te=-Te,dt.points=[w4(rt,0),w4(Ge,0)]):p.current.bt=!1}if(Pt&&rt[0]==="b"&&(ktft||yt===ft&&(!de||Ht>=at)?(p.current.tb=!0,ct=je,Te=-Te,dt.points=[w4(rt,0),w4(Ge,0)]):p.current.tb=!1}var At=wt(Tt),It=rt[1]===Ge[1];if(At&&rt[1]==="l"&&(st>Ie.right||p.current.rl)){var zt=Qe;It?zt-=ne-le:zt=ot.x-nt.x-Me;var Ft=go(zt,ct),ln=go(zt,ct,Ce);Ft>ft||Ft===ft&&(!de||ln>=at)?(p.current.rl=!0,Qe=zt,Me=-Me,dt.points=[w4(rt,1),w4(Ge,1)]):p.current.rl=!1}if(At&&rt[1]==="r"&&(Jeft||fn===ft&&(!de||rn>=at)?(p.current.lr=!0,Qe=Xt,Me=-Me,dt.points=[w4(rt,1),w4(Ge,1)]):p.current.lr=!1}So();var bn=Wt===!0?0:Wt;typeof bn=="number"&&(JeCe.right&&(Qe-=st-Ce.right-Me,F.x>Ce.right-bn&&(Qe+=F.x-Ce.right+bn)));var Tn=Ct===!0?0:Ct;typeof Tn=="number"&&(ktCe.bottom&&(ct-=qe-Ce.bottom-Te,F.y>Ce.bottom-Tn&&(ct+=F.y-Ce.bottom+Tn)));var Un=_.x+Qe,Ai=Un+ne,vo=_.y+ct,Oo=vo+ae,si=F.x,po=si+le,eo=F.y,uo=eo+se,qo=Math.max(Un,si),Hi=Math.min(Ai,po),vi=(qo+Hi)/2,Cn=vi-Un,yn=Math.max(vo,eo),to=Math.min(Oo,uo),Eo=(yn+to)/2,ni=Eo-vo;a==null||a(e,dt);var Lo=ze.right-_.x-(Qe+_.width),bo=ze.bottom-_.y-(ct+_.height);u({ready:!0,offsetX:Qe/ye,offsetY:ct/oe,offsetR:Lo/ye,offsetB:bo/oe,arrowX:Cn/ye,arrowY:ni/oe,scaleX:ye,scaleY:oe,align:dt})}}),w=function(){d.current+=1;var P=d.current;Promise.resolve().then(function(){d.current===P&&A()})},b=function(){u(function(P){return $h($h({},P),{},{ready:!1})})};return Ba(b,[o]),Ba(function(){t||b()},[t]),[c.ready,c.offsetX,c.offsetY,c.offsetR,c.offsetB,c.arrowX,c.arrowY,c.scaleX,c.scaleY,c.align,w]}function pIt(t){if(Array.isArray(t))return v0e(t)}function gIt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function mIt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $8e(t){return pIt(t)||gIt(t)||AVe(t)||mIt()}function yIt(t,e,n,o,i){Ba(function(){if(t&&e&&n){let f=function(){o(),i()};var d=f,r=e,a=n,l=x0e(r),s=x0e(a),c=HW(a),u=new Set([c].concat($8e(l),$8e(s)));return u.forEach(function(p){p.addEventListener("scroll",f,{passive:!0})}),c.addEventListener("resize",f,{passive:!0}),o(),function(){u.forEach(function(p){p.removeEventListener("scroll",f),c.removeEventListener("resize",f)})}}},[t,e,n])}function AIt(t,e,n,o,i,r,a,l){var s=m.useRef(t);s.current=t,m.useEffect(function(){if(e&&o&&(!i||r)){var c=function(p){var g=p.target;s.current&&!a(g)&&l(!1)},u=HW(o);u.addEventListener("mousedown",c,!0),u.addEventListener("contextmenu",c,!0);var d=mG(n);return d&&(d.addEventListener("mousedown",c,!0),d.addEventListener("contextmenu",c,!0)),function(){u.removeEventListener("mousedown",c,!0),u.removeEventListener("contextmenu",c,!0),d&&(d.removeEventListener("mousedown",c,!0),d.removeEventListener("contextmenu",c,!0))}}},[e,n,o,i,r])}var wIt=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function vIt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d$,e=m.forwardRef(function(n,o){var i=n.prefixCls,r=i===void 0?"rc-trigger-popup":i,a=n.children,l=n.action,s=l===void 0?"hover":l,c=n.showAction,u=n.hideAction,d=n.popupVisible,f=n.defaultPopupVisible,p=n.onPopupVisibleChange,g=n.afterPopupVisibleChange,A=n.mouseEnterDelay,w=n.mouseLeaveDelay,b=w===void 0?.1:w,C=n.focusDelay,P=n.blurDelay,v=n.mask,T=n.maskClosable,y=T===void 0?!0:T,S=n.getPopupContainer,x=n.forceRender,R=n.autoDestroy,H=n.destroyPopupOnHide,D=n.popup,k=n.popupClassName,W=n.popupStyle,N=n.popupPlacement,L=n.builtinPlacements,E=L===void 0?{}:L,U=n.popupAlign,F=n.zIndex,B=n.stretch,_=n.getPopupClassNameFromAlign,Y=n.fresh,O=n.alignPoint,J=n.onPopupClick,Z=n.onPopupAlign,ie=n.arrow,ee=n.popupMotion,q=n.maskMotion,ae=n.popupTransitionName,ne=n.popupAnimation,se=n.maskTransitionName,le=n.maskAnimation,te=n.className,he=n.getTriggerDOMNode,pe=iIt(n,wIt),fe=R||H||!1,$=m.useState(!1),de=Qd($,2),Se=de[0],Ce=de[1];Ba(function(){Ce(y$())},[]);var ve=m.useRef({}),Ie=m.useContext(_8e),ze=m.useMemo(function(){return{registerSubPopup:function(di,Fr){ve.current[di]=Fr,Ie==null||Ie.registerSubPopup(di,Fr)}}},[Ie]),ye=z_e(),oe=m.useState(null),ge=Qd(oe,2),Ae=ge[0],me=ge[1],Pe=m.useRef(null),Me=Ia(function(ti){Pe.current=ti,rG(ti)&&Ae!==ti&&me(ti),Ie==null||Ie.registerSubPopup(ye,ti)}),Te=m.useState(null),De=Qd(Te,2),Ne=De[0],Ye=De[1],Le=m.useRef(null),$e=Ia(function(ti){rG(ti)&&Ne!==ti&&(Ye(ti),Le.current=ti)}),We=m.Children.only(a),Ee=(We==null?void 0:We.props)||{},Fe={},Ge=Ia(function(ti){var di,Fr,Oa=Ne;return(Oa==null?void 0:Oa.contains(ti))||((di=mG(Oa))===null||di===void 0?void 0:di.host)===ti||ti===Oa||(Ae==null?void 0:Ae.contains(ti))||((Fr=mG(Ae))===null||Fr===void 0?void 0:Fr.host)===ti||ti===Ae||Object.values(ve.current).some(function(Br){return(Br==null?void 0:Br.contains(ti))||ti===Br})}),rt=G8e(r,ee,ne,ae),_e=G8e(r,q,le,se),xt=m.useState(f||!1),dt=Qd(xt,2),Qe=dt[0],ct=dt[1],ft=d??Qe,at=Ia(function(ti){d===void 0&&ct(ti)});Ba(function(){ct(d||!1)},[d]);var ot=m.useRef(ft);ot.current=ft;var et=m.useRef([]);et.current=[];var Oe=Ia(function(ti){var di;at(ti),((di=et.current[et.current.length-1])!==null&&di!==void 0?di:ft)!==ti&&(et.current.push(ti),p==null||p(ti))}),nt=m.useRef(),mt=function(){clearTimeout(nt.current)},Tt=function(di){var Fr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;mt(),Fr===0?Oe(di):nt.current=setTimeout(function(){Oe(di)},Fr*1e3)};m.useEffect(function(){return mt},[]);var Rt=m.useState(!1),Wt=Qd(Rt,2),Ct=Wt[0],wt=Wt[1];Ba(function(ti){(!ti||ft)&&wt(!0)},[ft]);var kt=m.useState(null),qe=Qd(kt,2),Je=qe[0],st=qe[1],Pt=m.useState([0,0]),Ue=Qd(Pt,2),lt=Ue[0],Ve=Ue[1],ut=function(di){Ve([di.clientX,di.clientY])},je=hIt(ft,Ae,O?lt:Ne,N,E,U,Z),yt=Qd(je,11),Ht=yt[0],At=yt[1],It=yt[2],zt=yt[3],Ft=yt[4],ln=yt[5],Xt=yt[6],fn=yt[7],rn=yt[8],bn=yt[9],Tn=yt[10],Un=uIt(Se,s,c,u),Ai=Qd(Un,2),vo=Ai[0],Oo=Ai[1],si=vo.has("click"),po=Oo.has("click")||Oo.has("contextMenu"),eo=Ia(function(){Ct||Tn()}),uo=function(){ot.current&&O&&po&&Tt(!1)};yIt(ft,Ne,Ae,eo,uo),Ba(function(){eo()},[lt,N]),Ba(function(){ft&&!(E!=null&&E[N])&&eo()},[JSON.stringify(U)]);var qo=m.useMemo(function(){var ti=fIt(E,r,bn,O);return _n(ti,_==null?void 0:_(bn))},[bn,_,E,r,O]);m.useImperativeHandle(o,function(){return{nativeElement:Le.current,popupElement:Pe.current,forceAlign:eo}});var Hi=m.useState(0),vi=Qd(Hi,2),Cn=vi[0],yn=vi[1],to=m.useState(0),Eo=Qd(to,2),ni=Eo[0],Lo=Eo[1],bo=function(){if(B&&Ne){var di=Ne.getBoundingClientRect();yn(di.width),Lo(di.height)}},Ro=function(){bo(),eo()},oi=function(di){wt(!1),Tn(),g==null||g(di)},go=function(){return new Promise(function(di){bo(),st(function(){return di})})};Ba(function(){Je&&(Tn(),Je(),st(null))},[Je]);function So(ti,di,Fr,Oa){Fe[ti]=function(Br){var Pc;Oa==null||Oa(Br),Tt(di,Fr);for(var Is=arguments.length,qs=new Array(Is>1?Is-1:0),Pr=1;Pr1?Fr-1:0),Br=1;Br1?Fr-1:0),Br=1;Br1&&arguments[1]!==void 0?arguments[1]:{},n=e.fieldNames,o=e.childrenAsData,i=[],r=wVe(n,!1),a=r.label,l=r.value,s=r.options,c=r.groupLabel;function u(d,f){Array.isArray(d)&&d.forEach(function(p){if(f||!(s in p)){var g=p[l];i.push({key:Q8e(p,i.length),groupOption:f,data:p,label:p[a],value:g})}else{var A=p[c];A===void 0&&o&&(A=p.label),i.push({key:Q8e(p,i.length),group:!0,data:p,label:A}),u(p[s],!0)}})}return u(t,!1),i}function S0e(t){var e=$t({},t);return"props"in e||Object.defineProperty(e,"props",{get:function(){return U0(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),e}}),e}var CIt=function(e,n,o){if(!n||!n.length)return null;var i=!1,r=function l(s,c){var u=j_e(c),d=u[0],f=u.slice(1);if(!d)return[s];var p=s.split(d);return i=i||p.length>1,p.reduce(function(g,A){return[].concat(Wo(g),Wo(l(A,f)))},[]).filter(Boolean)},a=r(e,n);return i?typeof o<"u"?a.slice(0,o):a:null},eme=m.createContext(null),RIt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],HIt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],T0e=function(e){return e==="tags"||e==="multiple"},MIt=m.forwardRef(function(t,e){var n,o=t.id,i=t.prefixCls,r=t.className,a=t.showSearch,l=t.tagRender,s=t.direction,c=t.omitDomProps,u=t.displayValues,d=t.onDisplayValuesChange,f=t.emptyOptions,p=t.notFoundContent,g=p===void 0?"Not Found":p,A=t.onClear,w=t.mode,b=t.disabled,C=t.loading,P=t.getInputElement,v=t.getRawInputElement,T=t.open,y=t.defaultOpen,S=t.onDropdownVisibleChange,x=t.activeValue,R=t.onActiveValueChange,H=t.activeDescendantId,D=t.searchValue,k=t.autoClearSearchValue,W=t.onSearch,N=t.onSearchSplit,L=t.tokenSeparators,E=t.allowClear,U=t.suffixIcon,F=t.clearIcon,B=t.OptionList,_=t.animation,Y=t.transitionName,O=t.dropdownStyle,J=t.dropdownClassName,Z=t.dropdownMatchSelectWidth,ie=t.dropdownRender,ee=t.dropdownAlign,q=t.placement,ae=t.builtinPlacements,ne=t.getPopupContainer,se=t.showAction,le=se===void 0?[]:se,te=t.onFocus,he=t.onBlur,pe=t.onKeyUp,fe=t.onKeyDown,$=t.onMouseDown,de=ir(t,RIt),Se=T0e(w),Ce=(a!==void 0?a:Se)||w==="combobox",ve=$t({},de);HIt.forEach(function(eo){delete ve[eo]}),c==null||c.forEach(function(eo){delete ve[eo]});var Ie=m.useState(!1),ze=on(Ie,2),ye=ze[0],oe=ze[1];m.useEffect(function(){oe(y$())},[]);var ge=m.useRef(null),Ae=m.useRef(null),me=m.useRef(null),Pe=m.useRef(null),Me=m.useRef(null),Te=m.useRef(!1),De=CMt(),Ne=on(De,3),Ye=Ne[0],Le=Ne[1],$e=Ne[2];m.useImperativeHandle(e,function(){var eo,uo;return{focus:(eo=Pe.current)===null||eo===void 0?void 0:eo.focus,blur:(uo=Pe.current)===null||uo===void 0?void 0:uo.blur,scrollTo:function(Hi){var vi;return(vi=Me.current)===null||vi===void 0?void 0:vi.scrollTo(Hi)}}});var We=m.useMemo(function(){var eo;if(w!=="combobox")return D;var uo=(eo=u[0])===null||eo===void 0?void 0:eo.value;return typeof uo=="string"||typeof uo=="number"?String(uo):""},[D,w,u]),Ee=w==="combobox"&&typeof P=="function"&&P()||null,Fe=typeof v=="function"&&v(),Ge=z7(Ae,Fe==null||(n=Fe.props)===null||n===void 0?void 0:n.ref),rt=m.useState(!1),_e=on(rt,2),xt=_e[0],dt=_e[1];Ba(function(){dt(!0)},[]);var Qe=Rs(!1,{defaultValue:y,value:T}),ct=on(Qe,2),ft=ct[0],at=ct[1],ot=xt?ft:!1,et=!g&&f;(b||et&&ot&&w==="combobox")&&(ot=!1);var Oe=et?!1:ot,nt=m.useCallback(function(eo){var uo=eo!==void 0?eo:!ot;b||(at(uo),ot!==uo&&(S==null||S(uo)))},[b,ot,at,S]),mt=m.useMemo(function(){return(L||[]).some(function(eo){return[` `,`\r -`].includes(to)})},[L]),Tt=m.useContext(eme)||{},Rt=Tt.maxCount,Wt=Tt.rawValues,Ct=function(uo,qo,Hi){if(!(Se&&b0e(Rt)&&(Wt==null?void 0:Wt.size)>=Rt)){var vi=!0,Cn=uo;R==null||R(null);var yn=HIt(uo,L,b0e(Rt)?Rt-Wt.size:void 0),no=Hi?null:yn;return w!=="combobox"&&no&&(Cn="",N==null||N(no),nt(!1),vi=!1),W&&We!==Cn&&W(Cn,{source:qo?"typing":"effect"}),vi}},At=function(uo){!uo||!uo.trim()||W(uo,{source:"submit"})};m.useEffect(function(){!ot&&!Se&&w!=="combobox"&&Ct("",!1,!1)},[ot]),m.useEffect(function(){ft&&b&&at(!1),b&&!Te.current&&Le(!1)},[b]);var Ft=hVe(),Ke=on(Ft,2),Je=Ke[0],ct=Ke[1],Pt=function(uo){var qo=Je(),Hi=uo.which;if(Hi===Bn.ENTER&&(w!=="combobox"&&uo.preventDefault(),ot||nt(!0)),ct(!!We),Hi===Bn.BACKSPACE&&!qo&&Se&&!We&&u.length){for(var vi=Wo(u),Cn=null,yn=vi.length-1;yn>=0;yn-=1){var no=vi[yn];if(!no.disabled){vi.splice(yn,1),Cn=no;break}}Cn&&d(vi,{type:"remove",values:[Cn]})}for(var Eo=arguments.length,ni=new Array(Eo>1?Eo-1:0),Lo=1;Lo1?qo-1:0),vi=1;vi1?yn-1:0),Eo=1;Eo0,J=m.useMemo(function(){if(r===0||_===0)return 0;var te=r/_;return te*Y},[r,_,Y]),Z=function(he){he.stopPropagation(),he.preventDefault()},ie=m.useRef({top:J,dragging:b,pageY:T,startTop:R});ie.current={top:J,dragging:b,pageY:T,startTop:R};var ee=function(he){C(!0),y(Z8e(he,u)),H(ie.current.top),l(),he.stopPropagation(),he.preventDefault()};m.useEffect(function(){var te=function($){$.preventDefault()},he=k.current,pe=W.current;return he.addEventListener("touchstart",te),pe.addEventListener("touchstart",ee),function(){he.removeEventListener("touchstart",te),pe.removeEventListener("touchstart",ee)}},[]);var q=m.useRef();q.current=_;var ae=m.useRef();ae.current=Y,m.useEffect(function(){if(b){var te,he=function($){var de=ie.current,Se=de.dragging,Ce=de.pageY,ve=de.startTop;if(za.cancel(te),Se){var Ie=Z8e($,u)-Ce,ze=ve;!D&&u?ze-=Ie:ze+=Ie;var ye=q.current,oe=ae.current,ge=oe?ze/oe:0,Ae=Math.ceil(ge*ye);Ae=Math.max(Ae,0),Ae=Math.min(Ae,ye),te=za(function(){c(Ae,u)})}},pe=function(){C(!1),s()};return window.addEventListener("mousemove",he),window.addEventListener("touchmove",he),window.addEventListener("mouseup",pe),window.addEventListener("touchend",pe),function(){window.removeEventListener("mousemove",he),window.removeEventListener("touchmove",he),window.removeEventListener("mouseup",pe),window.removeEventListener("touchend",pe),za.cancel(te)}}},[b]),m.useEffect(function(){B()},[r]),m.useImperativeHandle(e,function(){return{delayHidden:B}});var ne="".concat(o,"-scrollbar"),se={position:"absolute",visibility:E&&O?null:"hidden"},le={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return u?(se.height=8,se.left=0,se.right=0,se.bottom=0,le.height="100%",le.width=d,D?le.left=J:le.right=J):(se.width=8,se.top=0,se.bottom=0,D?se.right=0:se.left=0,le.width="100%",le.height=d,le.top=J),m.createElement("div",{ref:k,className:_n(ne,(n={},_t(n,"".concat(ne,"-horizontal"),u),_t(n,"".concat(ne,"-vertical"),!u),_t(n,"".concat(ne,"-visible"),E),n)),style:$t($t({},se),p),onMouseDown:Z,onMouseMove:B},m.createElement("div",{ref:W,className:_n("".concat(ne,"-thumb"),_t({},"".concat(ne,"-thumb-moving"),b)),style:$t($t({},le),g),onMouseDown:ee}))});function DIt(t){var e=t.children,n=t.setRef,o=m.useCallback(function(i){n(i)},[]);return m.cloneElement(e,{ref:o})}function EIt(t,e,n,o,i,r,a){var l=a.getKey;return t.slice(e,n+1).map(function(s,c){var u=e+c,d=r(s,u,{style:{width:o}}),f=l(s);return m.createElement(DIt,{key:f,setRef:function(g){return i(s,g)}},d)})}var kIt=function(){function t(){pp(this,t),this.maps=void 0,this.id=0,this.maps=Object.create(null)}return gp(t,[{key:"set",value:function(n,o){this.maps[n]=o,this.id+=1}},{key:"get",value:function(n){return this.maps[n]}}]),t}();function FIt(t,e,n){var o=m.useState(0),i=on(o,2),r=i[0],a=i[1],l=m.useRef(new Map),s=m.useRef(new kIt),c=m.useRef();function u(){za.cancel(c.current)}function d(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;u();var g=function(){l.current.forEach(function(w,b){if(w&&w.offsetParent){var C=rE(w),P=C.offsetHeight;s.current.get(b)!==P&&s.current.set(b,C.offsetHeight)}}),a(function(w){return w+1})};p?g():c.current=za(g)}function f(p,g){var A=t(p);l.current.get(A),g?(l.current.set(A,g),d()):l.current.delete(A)}return m.useEffect(function(){return u},[]),[f,d,s.current,r]}var LIt=10;function WIt(t,e,n,o,i,r,a,l){var s=m.useRef(),c=m.useState(null),u=on(c,2),d=u[0],f=u[1];return Ba(function(){if(d&&d.times=0;N-=1){var L=i(e[N]),E=n.get(L);if(E===void 0){C=!0;break}if(W-=E,W<=0)break}switch(T){case"top":v=S-w;break;case"bottom":v=x-b+w;break;default:{var U=t.current.scrollTop,F=U+b;SF&&(P="bottom")}}v!==null&&a(v),v!==d.lastTop&&(C=!0)}C&&f($t($t({},d),{},{times:d.times+1,targetAlign:P,lastTop:v}))}},[d,t.current]),function(p){if(p==null){l();return}if(za.cancel(s.current),typeof p=="number")a(p);else if(p&&gr(p)==="object"){var g,A=p.align;"index"in p?g=p.index:g=e.findIndex(function(C){return i(C)===p.key});var w=p.offset,b=w===void 0?0:w;f({times:0,index:g,offset:b,originAlign:A})}}}function NIt(t,e,n){var o=t.length,i=e.length,r,a;if(o===0&&i===0)return null;o"u"?"undefined":gr(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const SVe=function(t,e){var n=m.useRef(!1),o=m.useRef(null);function i(){clearTimeout(o.current),n.current=!0,o.current=setTimeout(function(){n.current=!1},50)}var r=m.useRef({top:t,bottom:e});return r.current.top=t,r.current.bottom=e,function(a){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=a<0&&r.current.top||a>0&&r.current.bottom;return l&&s?(clearTimeout(o.current),n.current=!1):(!s||n.current)&&i(),!n.current&&s}};function BIt(t,e,n,o,i){var r=m.useRef(0),a=m.useRef(null),l=m.useRef(null),s=m.useRef(!1),c=SVe(e,n);function u(w,b){za.cancel(a.current),r.current+=b,l.current=b,!c(b)&&(tve||w.preventDefault(),a.current=za(function(){var C=s.current?10:1;i(r.current*C),r.current=0}))}function d(w,b){i(b,!0),tve||w.preventDefault()}var f=m.useRef(null),p=m.useRef(null);function g(w){if(t){za.cancel(p.current),p.current=za(function(){f.current=null},2);var b=w.deltaX,C=w.deltaY,P=w.shiftKey,v=b,T=C;(f.current==="sx"||!f.current&&P&&C&&!b)&&(v=C,T=0,f.current="sx");var y=Math.abs(v),S=Math.abs(T);f.current===null&&(f.current=o&&y>S?"x":"y"),f.current==="y"?u(w,T):d(w,v)}}function A(w){t&&(s.current=w.detail===l.current)}return[g,A]}var jIt=14/15;function YIt(t,e,n){var o=m.useRef(!1),i=m.useRef(0),r=m.useRef(null),a=m.useRef(null),l,s=function(f){if(o.current){var p=Math.ceil(f.touches[0].pageY),g=i.current-p;i.current=p,n(g)&&f.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){g*=jIt,(!n(g,!0)||Math.abs(g)<=.1)&&clearInterval(a.current)},16)}},c=function(){o.current=!1,l()},u=function(f){l(),f.touches.length===1&&!o.current&&(o.current=!0,i.current=Math.ceil(f.touches[0].pageY),r.current=f.target,r.current.addEventListener("touchmove",s),r.current.addEventListener("touchend",c))};l=function(){r.current&&(r.current.removeEventListener("touchmove",s),r.current.removeEventListener("touchend",c))},Ba(function(){return t&&e.current.addEventListener("touchstart",u),function(){var d;(d=e.current)===null||d===void 0||d.removeEventListener("touchstart",u),l(),clearInterval(a.current)}},[t])}var OIt=20;function nve(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=t/e*100;return isNaN(n)&&(n=0),n=Math.max(n,OIt),n=Math.min(n,t/2),Math.floor(n)}function _It(t,e,n,o){var i=m.useMemo(function(){return[new Map,[]]},[t,n.id,o]),r=on(i,2),a=r[0],l=r[1],s=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u,f=a.get(u),p=a.get(d);if(f===void 0||p===void 0)for(var g=t.length,A=l.length;Ar||!!A),D=g==="rtl",k=_n(o,_t({},"".concat(o,"-rtl"),D),i),W=u||GIt,N=m.useRef(),L=m.useRef(),E=m.useState(0),U=on(E,2),F=U[0],B=U[1],_=m.useState(0),Y=on(_,2),O=Y[0],J=Y[1],Z=m.useState(!1),ie=on(Z,2),ee=ie[0],q=ie[1],ae=function(){q(!0)},ne=function(){q(!1)},se=m.useCallback(function(Pt){return typeof f=="function"?f(Pt):Pt==null?void 0:Pt[f]},[f]),le={getKey:se};function te(Pt){B(function(Ne){var lt;typeof Pt=="function"?lt=Pt(Ne):lt=Pt;var Ye=rt(lt);return N.current.scrollTop=Ye,Ye})}var he=m.useRef({start:0,end:W.length}),pe=m.useRef(),fe=UIt(W,se),$=on(fe,1),de=$[0];pe.current=de;var Se=FIt(se),Ce=on(Se,4),ve=Ce[0],Ie=Ce[1],ze=Ce[2],ye=Ce[3],oe=m.useMemo(function(){if(!R)return{scrollHeight:void 0,start:0,end:W.length-1,offset:void 0};if(!H){var Pt;return{scrollHeight:((Pt=L.current)===null||Pt===void 0?void 0:Pt.offsetHeight)||0,start:0,end:W.length-1,offset:void 0}}for(var Ne=0,lt,Ye,st,je=W.length,mt=0;mt=F&<===void 0&&(lt=mt,Ye=Ne),Et>F+r&&st===void 0&&(st=mt),Ne=Et}return lt===void 0&&(lt=0,Ye=0,st=Math.ceil(r/a)),st===void 0&&(st=W.length-1),st=Math.min(st+1,W.length-1),{scrollHeight:Ne,start:lt,end:st,offset:Ye}},[H,R,F,W,ye,r]),ge=oe.scrollHeight,Ae=oe.start,me=oe.end,Pe=oe.offset;he.current.start=Ae,he.current.end=me;var Me=m.useState({width:0,height:r}),Te=on(Me,2),De=Te[0],Ue=Te[1],Oe=function(Ne){Ue({width:Ne.width||Ne.offsetWidth,height:Ne.height||Ne.offsetHeight})},Le=m.useRef(),$e=m.useRef(),We=m.useMemo(function(){return nve(De.width,A)},[De.width,A]),Ee=m.useMemo(function(){return nve(De.height,ge)},[De.height,ge]),Fe=ge-r,Ge=m.useRef(Fe);Ge.current=Fe;function rt(Pt){var Ne=Pt;return Number.isNaN(Ge.current)||(Ne=Math.min(Ne,Ge.current)),Ne=Math.max(Ne,0),Ne}var Ve=F<=0,xt=F>=Fe,dt=SVe(Ve,xt),Qe=function(){return{x:D?-O:O,y:F}},ut=m.useRef(Qe()),ft=Ia(function(){if(P){var Pt=Qe();(ut.current.x!==Pt.x||ut.current.y!==Pt.y)&&(P(Pt),ut.current=Pt)}});function at(Pt,Ne){var lt=Pt;Ne?(Td.flushSync(function(){J(lt)}),ft()):te(lt)}function ot(Pt){var Ne=Pt.currentTarget.scrollTop;Ne!==F&&te(Ne),C==null||C(Pt),ft()}var et=function(Ne){var lt=Ne,Ye=A-De.width;return lt=Math.max(lt,0),lt=Math.min(lt,Ye),lt},_e=Ia(function(Pt,Ne){Ne?(Td.flushSync(function(){J(function(lt){var Ye=lt+(D?-Pt:Pt);return et(Ye)})}),ft()):te(function(lt){var Ye=lt+Pt;return Ye})}),nt=BIt(R,Ve,xt,!!A,_e),yt=on(nt,2),Tt=yt[0],Rt=yt[1];YIt(R,N,function(Pt,Ne){return dt(Pt,Ne)?!1:(Tt({preventDefault:function(){},deltaY:Pt}),!0)}),Ba(function(){function Pt(lt){R&<.preventDefault()}var Ne=N.current;return Ne.addEventListener("wheel",Tt),Ne.addEventListener("DOMMouseScroll",Rt),Ne.addEventListener("MozMousePixelScroll",Pt),function(){Ne.removeEventListener("wheel",Tt),Ne.removeEventListener("DOMMouseScroll",Rt),Ne.removeEventListener("MozMousePixelScroll",Pt)}},[R]),Ba(function(){A&&J(function(Pt){return et(Pt)})},[De.width,A]);var Wt=function(){var Ne,lt;(Ne=Le.current)===null||Ne===void 0||Ne.delayHidden(),(lt=$e.current)===null||lt===void 0||lt.delayHidden()},Ct=WIt(N,W,ze,a,se,function(){return Ie(!0)},te,Wt);m.useImperativeHandle(e,function(){return{getScrollInfo:Qe,scrollTo:function(Ne){function lt(Ye){return Ye&&gr(Ye)==="object"&&("left"in Ye||"top"in Ye)}lt(Ne)?(Ne.left!==void 0&&J(et(Ne.left)),Ct(Ne.top)):Ct(Ne)}}}),Ba(function(){if(v){var Pt=W.slice(Ae,me+1);v(Pt,W)}},[Ae,me,W]);var At=_It(W,se,ze,a),Ft=y==null?void 0:y({start:Ae,end:me,virtual:H,offsetX:O,offsetY:Pe,rtl:D,getSize:At}),Ke=EIt(W,Ae,me,A,ve,d,le),Je=null;r&&(Je=$t(_t({},s?"height":"maxHeight",r),XIt),R&&(Je.overflowY="hidden",A&&(Je.overflowX="hidden"),ee&&(Je.pointerEvents="none")));var ct={};return D&&(ct.dir="rtl"),m.createElement("div",so({style:$t($t({},c),{},{position:"relative"}),className:k},ct,x),m.createElement(bd,{onResize:Oe},m.createElement(b,{className:"".concat(o,"-holder"),style:Je,ref:N,onScroll:ot,onMouseEnter:Wt},m.createElement(bVe,{prefixCls:o,height:ge,offsetX:O,offsetY:Pe,scrollWidth:A,onInnerResize:Ie,ref:L,innerProps:T,rtl:D,extra:Ft},Ke))),H&&ge>r&&m.createElement(eve,{ref:Le,prefixCls:o,scrollOffset:F,scrollRange:ge,rtl:D,onScroll:at,onStartMove:ae,onStopMove:ne,spinSize:Ee,containerSize:De.height,style:S==null?void 0:S.verticalScrollBar,thumbStyle:S==null?void 0:S.verticalScrollBarThumb}),H&&A&&m.createElement(eve,{ref:$e,prefixCls:o,scrollOffset:O,scrollRange:A,rtl:D,onScroll:at,onStartMove:ae,onStopMove:ne,spinSize:We,containerSize:De.width,horizontal:!0,style:S==null?void 0:S.horizontalScrollBar,thumbStyle:S==null?void 0:S.horizontalScrollBarThumb}))}var v$=m.forwardRef(JIt);v$.displayName="List";function KIt(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var qIt=["disabled","title","children","style","className"];function ove(t){return typeof t=="string"||typeof t=="number"}var $It=function(e,n){var o=RMt(),i=o.prefixCls,r=o.id,a=o.open,l=o.multiple,s=o.mode,c=o.searchValue,u=o.toggleOpen,d=o.notFoundContent,f=o.onPopupScroll,p=m.useContext(eme),g=p.maxCount,A=p.flattenOptions,w=p.onActiveValue,b=p.defaultActiveFirstOption,C=p.onSelect,P=p.menuItemSelectedIcon,v=p.rawValues,T=p.fieldNames,y=p.virtual,S=p.direction,x=p.listHeight,R=p.listItemHeight,H=p.optionRender,D="".concat(i,"-item"),k=fW(function(){return A},[a,A],function(se,le){return le[0]&&se[1]!==le[1]}),W=m.useRef(null),N=m.useMemo(function(){return l&&b0e(g)&&(v==null?void 0:v.size)>=g},[l,g,v==null?void 0:v.size]),L=function(le){le.preventDefault()},E=function(le){var te;(te=W.current)===null||te===void 0||te.scrollTo(typeof le=="number"?{index:le}:le)},U=function(le){for(var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,he=k.length,pe=0;pe1&&arguments[1]!==void 0?arguments[1]:!1;Y(le);var he={source:te?"keyboard":"mouse"},pe=k[le];if(!pe){w(null,-1,he);return}w(pe.value,le,he)};m.useEffect(function(){O(b!==!1?U(0):-1)},[k.length,c]);var J=m.useCallback(function(se){return v.has(se)&&s!=="combobox"},[s,Wo(v).toString(),v.size]);m.useEffect(function(){var se=setTimeout(function(){if(!l&&a&&v.size===1){var te=Array.from(v)[0],he=k.findIndex(function(pe){var fe=pe.data;return fe.value===te});he!==-1&&(O(he),E(he))}});if(a){var le;(le=W.current)===null||le===void 0||le.scrollTo(void 0)}return function(){return clearTimeout(se)}},[a,c]);var Z=function(le){le!==void 0&&C(le,{selected:!v.has(le)}),l||u(!1)};if(m.useImperativeHandle(n,function(){return{onKeyDown:function(le){var te=le.which,he=le.ctrlKey;switch(te){case Bn.N:case Bn.P:case Bn.UP:case Bn.DOWN:{var pe=0;if(te===Bn.UP?pe=-1:te===Bn.DOWN?pe=1:KIt()&&he&&(te===Bn.N?pe=1:te===Bn.P&&(pe=-1)),pe!==0){var fe=U(_+pe,pe);E(fe),O(fe,!0)}break}case Bn.ENTER:{var $,de=k[_];de&&!(de!=null&&($=de.data)!==null&&$!==void 0&&$.disabled)&&!N?Z(de.value):Z(void 0),a&&le.preventDefault();break}case Bn.ESC:u(!1),a&&le.stopPropagation()}},onKeyUp:function(){},scrollTo:function(le){E(le)}}}),k.length===0)return m.createElement("div",{role:"listbox",id:"".concat(r,"_list"),className:"".concat(D,"-empty"),onMouseDown:L},d);var ie=Object.keys(T).map(function(se){return T[se]}),ee=function(le){return le.label};function q(se,le){var te=se.group;return{role:te?"presentation":"option",id:"".concat(r,"_list_").concat(le)}}var ae=function(le){var te=k[le];if(!te)return null;var he=te.data||{},pe=he.value,fe=te.group,$=gf(he,!0),de=ee(te);return te?m.createElement("div",so({"aria-label":typeof de=="string"&&!fe?de:null},$,{key:le},q(te,le),{"aria-selected":J(pe)}),pe):null},ne={role:"listbox",id:"".concat(r,"_list")};return m.createElement(m.Fragment,null,y&&m.createElement("div",so({},ne,{style:{height:0,width:0,overflow:"hidden"}}),ae(_-1),ae(_),ae(_+1)),m.createElement(v$,{itemKey:"key",ref:W,data:k,height:x,itemHeight:R,fullHeight:!1,onMouseDown:L,onScroll:f,virtual:y,direction:S,innerProps:y?null:ne},function(se,le){var te=se.group,he=se.groupOption,pe=se.data,fe=se.label,$=se.value,de=pe.key;if(te){var Se,Ce=(Se=pe.title)!==null&&Se!==void 0?Se:ove(fe)?fe.toString():void 0;return m.createElement("div",{className:_n(D,"".concat(D,"-group"),pe.className),title:Ce},fe!==void 0?fe:de)}var ve=pe.disabled,Ie=pe.title;pe.children;var ze=pe.style,ye=pe.className,oe=ir(pe,qIt),ge=MH(oe,ie),Ae=J($),me=ve||!Ae&&N,Pe="".concat(D,"-option"),Me=_n(D,Pe,ye,_t(_t(_t(_t({},"".concat(Pe,"-grouped"),he),"".concat(Pe,"-active"),_===le&&!me),"".concat(Pe,"-disabled"),me),"".concat(Pe,"-selected"),Ae)),Te=ee(se),De=!P||typeof P=="function"||Ae,Ue=typeof Te=="number"?Te:Te||$,Oe=ove(Ue)?Ue.toString():void 0;return Ie!==void 0&&(Oe=Ie),m.createElement("div",so({},gf(ge),y?{}:q(se,le),{"aria-selected":Ae,className:Me,title:Oe,onMouseMove:function(){_===le||me||O(le)},onClick:function(){me||Z($)},style:ze}),m.createElement("div",{className:"".concat(Pe,"-content")},typeof H=="function"?H(se,{index:le}):Ue),m.isValidElement(P)||Ae,De&&m.createElement(A$,{className:"".concat(D,"-option-state"),customizeIcon:P,customizeIconProps:{value:$,disabled:me,isSelected:Ae}},Ae?"✓":null))}))},QIt=m.forwardRef($It);const ZIt=function(t,e){var n=m.useRef({values:new Map,options:new Map}),o=m.useMemo(function(){var r=n.current,a=r.values,l=r.options,s=t.map(function(d){if(d.label===void 0){var f;return $t($t({},d),{},{label:(f=a.get(d.value))===null||f===void 0?void 0:f.label})}return d}),c=new Map,u=new Map;return s.forEach(function(d){c.set(d.value,d),u.set(d.value,e.get(d.value)||l.get(d.value))}),n.current.values=c,n.current.options=u,s},[t,e]),i=m.useCallback(function(r){return e.get(r)||n.current.options.get(r)},[e]);return[o,i]};function zie(t,e){return AVe(t).join("").toUpperCase().includes(e)}const ezt=function(t,e,n,o,i){return m.useMemo(function(){if(!n||o===!1)return t;var r=e.options,a=e.label,l=e.value,s=[],c=typeof o=="function",u=n.toUpperCase(),d=c?o:function(p,g){return i?zie(g[i],u):g[r]?zie(g[a!=="children"?a:"label"],u):zie(g[l],u)},f=c?function(p){return S0e(p)}:function(p){return p};return t.forEach(function(p){if(p[r]){var g=d(n,f(p));if(g)s.push(p);else{var A=p[r].filter(function(w){return d(n,f(w))});A.length&&s.push($t($t({},p),{},_t({},r,A)))}return}d(n,f(p))&&s.push(p)}),s},[t,o,i,n,e])};var ive=0,tzt=sp();function nzt(){var t;return tzt?(t=ive,ive+=1):t="TEST_OR_SSR",t}function ozt(t){var e=m.useState(),n=on(e,2),o=n[0],i=n[1];return m.useEffect(function(){i("rc_select_".concat(nzt()))},[]),t||o}var izt=["children","value"],rzt=["children"];function azt(t){var e=t,n=e.key,o=e.props,i=o.children,r=o.value,a=ir(o,izt);return $t({key:n,value:r!==void 0?r:n,children:i},a)}function TVe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Qw(t).map(function(n,o){if(!m.isValidElement(n)||!n.type)return null;var i=n,r=i.type.isSelectOptGroup,a=i.key,l=i.props,s=l.children,c=ir(l,rzt);return e||!r?azt(n):$t($t({key:"__RC_SELECT_GRP__".concat(a===null?o:a,"__"),label:a},c),{},{options:TVe(s)})}).filter(function(n){return n})}var lzt=function(e,n,o,i,r){return m.useMemo(function(){var a=e,l=!e;l&&(a=TVe(n));var s=new Map,c=new Map,u=function(p,g,A){A&&typeof A=="string"&&p.set(g[A],g)},d=function f(p){for(var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,A=0;A2&&arguments[2]!==void 0?arguments[2]:{},Rt=Tt.source,Wt=Rt===void 0?"keyboard":Rt;xt(yt),a&&o==="combobox"&&nt!==null&&Wt==="keyboard"&&Fe(String(nt))},[a,o]),ut=function(yt,Tt,Rt){var Wt=function(){var Ye,st=ge(yt);return[B?{label:st==null?void 0:st[q.label],value:yt,key:(Ye=st==null?void 0:st.key)!==null&&Ye!==void 0?Ye:yt}:yt,S0e(st)]};if(Tt&&p){var Ct=Wt(),At=on(Ct,2),Ft=At[0],Ke=At[1];p(Ft,Ke)}else if(!Tt&&g&&Rt!=="clear"){var Je=Wt(),ct=on(Je,2),Pt=ct[0],Ne=ct[1];g(Pt,Ne)}},ft=rve(function(nt,yt){var Tt,Rt=Z?yt.selected:!0;Rt?Tt=Z?[].concat(Wo(oe),[nt]):[nt]:Tt=oe.filter(function(Wt){return Wt.value!==nt}),Le(Tt),ut(nt,Rt),o==="combobox"?Fe(""):(!T0e||f)&&(le(""),Fe(""))}),at=function(yt,Tt){Le(yt);var Rt=Tt.type,Wt=Tt.values;(Rt==="remove"||Rt==="clear")&&Wt.forEach(function(Ct){ut(Ct.value,!1,Rt)})},ot=function(yt,Tt){if(le(yt),Fe(null),Tt.source==="submit"){var Rt=(yt||"").trim();if(Rt){var Wt=Array.from(new Set([].concat(Wo(me),[Rt])));Le(Wt),ut(Rt,!0),le("")}return}Tt.source!=="blur"&&(o==="combobox"&&Le(yt),u==null||u(yt))},et=function(yt){var Tt=yt;o!=="tags"&&(Tt=yt.map(function(Wt){var Ct=pe.get(Wt);return Ct==null?void 0:Ct.value}).filter(function(Wt){return Wt!==void 0}));var Rt=Array.from(new Set([].concat(Wo(me),Wo(Tt))));Le(Rt),Rt.forEach(function(Wt){ut(Wt,!0)})},_e=m.useMemo(function(){var nt=H!==!1&&w!==!1;return $t($t({},te),{},{flattenOptions:Oe,onActiveValue:Qe,defaultActiveFirstOption:dt,onSelect:ft,menuItemSelectedIcon:R,rawValues:me,fieldNames:q,virtual:nt,direction:D,listHeight:W,listItemHeight:L,childrenAsData:ie,maxCount:Y,optionRender:y})},[Y,te,Oe,Qe,dt,ft,R,me,q,H,w,D,W,L,ie,y]);return m.createElement(eme.Provider,{value:_e},m.createElement(zIt,so({},O,{id:J,prefixCls:r,ref:e,omitDomProps:czt,mode:o,displayValues:Ae,onDisplayValuesChange:at,direction:D,searchValue:se,onSearch:ot,autoClearSearchValue:f,onSearchSplit:et,dropdownMatchSelectWidth:w,OptionList:QIt,emptyOptions:!Oe.length,activeValue:Ee,activeDescendantId:"".concat(J,"_list_").concat(Ve)})))}),ome=dzt;ome.Option=nme;ome.OptGroup=tme;function o7(t,e,n){return Gn({[`${t}-status-success`]:e==="success",[`${t}-status-warning`]:e==="warning",[`${t}-status-error`]:e==="error",[`${t}-status-validating`]:e==="validating",[`${t}-has-feedback`]:n})}const Mb=(t,e)=>e||t,fzt=()=>{const[,t]=Yu(),n=new Il(t.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return m.createElement("svg",{style:n,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{fill:"none",fillRule:"evenodd"},m.createElement("g",{transform:"translate(24 31.67)"},m.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),m.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),m.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),m.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),m.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),m.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),m.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},m.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),m.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},hzt=()=>{const[,t]=Yu(),{colorFill:e,colorFillTertiary:n,colorFillQuaternary:o,colorBgContainer:i}=t,{borderColor:r,shadowColor:a,contentColor:l}=m.useMemo(()=>({borderColor:new Il(e).onBackground(i).toHexShortString(),shadowColor:new Il(n).onBackground(i).toHexShortString(),contentColor:new Il(o).onBackground(i).toHexShortString()}),[e,n,o,i]);return m.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},m.createElement("ellipse",{fill:a,cx:"32",cy:"33",rx:"32",ry:"7"}),m.createElement("g",{fillRule:"nonzero",stroke:r},m.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),m.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:l}))))},pzt=t=>{const{componentCls:e,margin:n,marginXS:o,marginXL:i,fontSize:r,lineHeight:a}=t;return{[e]:{marginInline:o,fontSize:r,lineHeight:a,textAlign:"center",[`${e}-image`]:{height:t.emptyImgHeight,marginBottom:o,opacity:t.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${e}-description`]:{color:t.colorText},[`${e}-footer`]:{marginTop:n},"&-normal":{marginBlock:i,color:t.colorTextDescription,[`${e}-description`]:{color:t.colorTextDescription},[`${e}-image`]:{height:t.emptyImgHeightMD}},"&-small":{marginBlock:o,color:t.colorTextDescription,[`${e}-image`]:{height:t.emptyImgHeightSM}}}}},gzt=Fl("Empty",t=>{const{componentCls:e,controlHeightLG:n,calc:o}=t,i=Zr(t,{emptyImgCls:`${e}-img`,emptyImgHeight:o(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:o(n).mul(.875).equal()});return[pzt(i)]});var mzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{className:e,rootClassName:n,prefixCls:o,image:i=PVe,description:r,children:a,imageStyle:l,style:s}=t,c=mzt(t,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:u,direction:d,empty:f}=m.useContext(Mi),p=u("empty",o),[g,A,w]=gzt(p),[b]=D7("Empty"),C=typeof r<"u"?r:b==null?void 0:b.description,P=typeof C=="string"?C:"empty";let v=null;return typeof i=="string"?v=m.createElement("img",{alt:P,src:i}):v=i,g(m.createElement("div",Object.assign({className:Gn(A,w,p,f==null?void 0:f.className,{[`${p}-normal`]:i===CVe,[`${p}-rtl`]:d==="rtl"},e,n),style:Object.assign(Object.assign({},f==null?void 0:f.style),s)},c),m.createElement("div",{className:`${p}-image`,style:l},v),C&&m.createElement("div",{className:`${p}-description`},C),a&&m.createElement("div",{className:`${p}-footer`},a)))};lg.PRESENTED_IMAGE_DEFAULT=PVe;lg.PRESENTED_IMAGE_SIMPLE=CVe;const ime=t=>{const{componentName:e}=t,{getPrefixCls:n}=m.useContext(Mi),o=n("empty");switch(e){case"Table":case"List":return be.createElement(lg,{image:lg.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return be.createElement(lg,{image:lg.PRESENTED_IMAGE_SIMPLE,className:`${o}-small`});default:return be.createElement(lg,null)}},yzt=["outlined","borderless","filled"],IH=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;const n=m.useContext(zHt);let o;typeof t<"u"?o=t:e===!1?o="borderless":o=n??"outlined";const i=yzt.includes(o);return[o,i]},Azt=t=>{const n={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:t==="scroll"?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},n),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},n),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},n),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},n),{points:["br","tr"],offset:[0,-4]})}};function wzt(t,e){return t||Azt(e)}const ave=t=>{const{optionHeight:e,optionFontSize:n,optionLineHeight:o,optionPadding:i}=t;return{position:"relative",display:"block",minHeight:e,padding:i,color:t.colorText,fontWeight:"normal",fontSize:n,lineHeight:o,boxSizing:"border-box"}},vzt=t=>{const{antCls:e,componentCls:n}=t,o=`${n}-item`,i=`&${e}-slide-up-enter${e}-slide-up-enter-active`,r=`&${e}-slide-up-appear${e}-slide-up-appear-active`,a=`&${e}-slide-up-leave${e}-slide-up-leave-active`,l=`${n}-dropdown-placement-`;return[{[`${n}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,zIndex:t.zIndexPopup,boxSizing:"border-box",padding:t.paddingXXS,overflow:"hidden",fontSize:t.fontSize,fontVariant:"initial",backgroundColor:t.colorBgElevated,borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,[` +`].includes(eo)})},[L]),Tt=m.useContext(eme)||{},Rt=Tt.maxCount,Wt=Tt.rawValues,Ct=function(uo,qo,Hi){if(!(Se&&b0e(Rt)&&(Wt==null?void 0:Wt.size)>=Rt)){var vi=!0,Cn=uo;R==null||R(null);var yn=CIt(uo,L,b0e(Rt)?Rt-Wt.size:void 0),to=Hi?null:yn;return w!=="combobox"&&to&&(Cn="",N==null||N(to),nt(!1),vi=!1),W&&We!==Cn&&W(Cn,{source:qo?"typing":"effect"}),vi}},wt=function(uo){!uo||!uo.trim()||W(uo,{source:"submit"})};m.useEffect(function(){!ot&&!Se&&w!=="combobox"&&Ct("",!1,!1)},[ot]),m.useEffect(function(){ft&&b&&at(!1),b&&!Te.current&&Le(!1)},[b]);var kt=dVe(),qe=on(kt,2),Je=qe[0],st=qe[1],Pt=function(uo){var qo=Je(),Hi=uo.which;if(Hi===Bn.ENTER&&(w!=="combobox"&&uo.preventDefault(),ot||nt(!0)),st(!!We),Hi===Bn.BACKSPACE&&!qo&&Se&&!We&&u.length){for(var vi=Wo(u),Cn=null,yn=vi.length-1;yn>=0;yn-=1){var to=vi[yn];if(!to.disabled){vi.splice(yn,1),Cn=to;break}}Cn&&d(vi,{type:"remove",values:[Cn]})}for(var Eo=arguments.length,ni=new Array(Eo>1?Eo-1:0),Lo=1;Lo1?qo-1:0),vi=1;vi1?yn-1:0),Eo=1;Eo0,J=m.useMemo(function(){if(r===0||_===0)return 0;var te=r/_;return te*Y},[r,_,Y]),Z=function(he){he.stopPropagation(),he.preventDefault()},ie=m.useRef({top:J,dragging:b,pageY:T,startTop:R});ie.current={top:J,dragging:b,pageY:T,startTop:R};var ee=function(he){C(!0),y(Z8e(he,u)),H(ie.current.top),l(),he.stopPropagation(),he.preventDefault()};m.useEffect(function(){var te=function($){$.preventDefault()},he=k.current,pe=W.current;return he.addEventListener("touchstart",te),pe.addEventListener("touchstart",ee),function(){he.removeEventListener("touchstart",te),pe.removeEventListener("touchstart",ee)}},[]);var q=m.useRef();q.current=_;var ae=m.useRef();ae.current=Y,m.useEffect(function(){if(b){var te,he=function($){var de=ie.current,Se=de.dragging,Ce=de.pageY,ve=de.startTop;if(za.cancel(te),Se){var Ie=Z8e($,u)-Ce,ze=ve;!D&&u?ze-=Ie:ze+=Ie;var ye=q.current,oe=ae.current,ge=oe?ze/oe:0,Ae=Math.ceil(ge*ye);Ae=Math.max(Ae,0),Ae=Math.min(Ae,ye),te=za(function(){c(Ae,u)})}},pe=function(){C(!1),s()};return window.addEventListener("mousemove",he),window.addEventListener("touchmove",he),window.addEventListener("mouseup",pe),window.addEventListener("touchend",pe),function(){window.removeEventListener("mousemove",he),window.removeEventListener("touchmove",he),window.removeEventListener("mouseup",pe),window.removeEventListener("touchend",pe),za.cancel(te)}}},[b]),m.useEffect(function(){B()},[r]),m.useImperativeHandle(e,function(){return{delayHidden:B}});var ne="".concat(o,"-scrollbar"),se={position:"absolute",visibility:E&&O?null:"hidden"},le={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return u?(se.height=8,se.left=0,se.right=0,se.bottom=0,le.height="100%",le.width=d,D?le.left=J:le.right=J):(se.width=8,se.top=0,se.bottom=0,D?se.right=0:se.left=0,le.width="100%",le.height=d,le.top=J),m.createElement("div",{ref:k,className:_n(ne,(n={},_t(n,"".concat(ne,"-horizontal"),u),_t(n,"".concat(ne,"-vertical"),!u),_t(n,"".concat(ne,"-visible"),E),n)),style:$t($t({},se),p),onMouseDown:Z,onMouseMove:B},m.createElement("div",{ref:W,className:_n("".concat(ne,"-thumb"),_t({},"".concat(ne,"-thumb-moving"),b)),style:$t($t({},le),g),onMouseDown:ee}))});function IIt(t){var e=t.children,n=t.setRef,o=m.useCallback(function(i){n(i)},[]);return m.cloneElement(e,{ref:o})}function zIt(t,e,n,o,i,r,a){var l=a.getKey;return t.slice(e,n+1).map(function(s,c){var u=e+c,d=r(s,u,{style:{width:o}}),f=l(s);return m.createElement(IIt,{key:f,setRef:function(g){return i(s,g)}},d)})}var DIt=function(){function t(){pp(this,t),this.maps=void 0,this.id=0,this.maps=Object.create(null)}return gp(t,[{key:"set",value:function(n,o){this.maps[n]=o,this.id+=1}},{key:"get",value:function(n){return this.maps[n]}}]),t}();function EIt(t,e,n){var o=m.useState(0),i=on(o,2),r=i[0],a=i[1],l=m.useRef(new Map),s=m.useRef(new DIt),c=m.useRef();function u(){za.cancel(c.current)}function d(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;u();var g=function(){l.current.forEach(function(w,b){if(w&&w.offsetParent){var C=rE(w),P=C.offsetHeight;s.current.get(b)!==P&&s.current.set(b,C.offsetHeight)}}),a(function(w){return w+1})};p?g():c.current=za(g)}function f(p,g){var A=t(p);l.current.get(A),g?(l.current.set(A,g),d()):l.current.delete(A)}return m.useEffect(function(){return u},[]),[f,d,s.current,r]}var kIt=10;function FIt(t,e,n,o,i,r,a,l){var s=m.useRef(),c=m.useState(null),u=on(c,2),d=u[0],f=u[1];return Ba(function(){if(d&&d.times=0;N-=1){var L=i(e[N]),E=n.get(L);if(E===void 0){C=!0;break}if(W-=E,W<=0)break}switch(T){case"top":v=S-w;break;case"bottom":v=x-b+w;break;default:{var U=t.current.scrollTop,F=U+b;SF&&(P="bottom")}}v!==null&&a(v),v!==d.lastTop&&(C=!0)}C&&f($t($t({},d),{},{times:d.times+1,targetAlign:P,lastTop:v}))}},[d,t.current]),function(p){if(p==null){l();return}if(za.cancel(s.current),typeof p=="number")a(p);else if(p&&gr(p)==="object"){var g,A=p.align;"index"in p?g=p.index:g=e.findIndex(function(C){return i(C)===p.key});var w=p.offset,b=w===void 0?0:w;f({times:0,index:g,offset:b,originAlign:A})}}}function LIt(t,e,n){var o=t.length,i=e.length,r,a;if(o===0&&i===0)return null;o"u"?"undefined":gr(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const xVe=function(t,e){var n=m.useRef(!1),o=m.useRef(null);function i(){clearTimeout(o.current),n.current=!0,o.current=setTimeout(function(){n.current=!1},50)}var r=m.useRef({top:t,bottom:e});return r.current.top=t,r.current.bottom=e,function(a){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=a<0&&r.current.top||a>0&&r.current.bottom;return l&&s?(clearTimeout(o.current),n.current=!1):(!s||n.current)&&i(),!n.current&&s}};function NIt(t,e,n,o,i){var r=m.useRef(0),a=m.useRef(null),l=m.useRef(null),s=m.useRef(!1),c=xVe(e,n);function u(w,b){za.cancel(a.current),r.current+=b,l.current=b,!c(b)&&(tve||w.preventDefault(),a.current=za(function(){var C=s.current?10:1;i(r.current*C),r.current=0}))}function d(w,b){i(b,!0),tve||w.preventDefault()}var f=m.useRef(null),p=m.useRef(null);function g(w){if(t){za.cancel(p.current),p.current=za(function(){f.current=null},2);var b=w.deltaX,C=w.deltaY,P=w.shiftKey,v=b,T=C;(f.current==="sx"||!f.current&&P&&C&&!b)&&(v=C,T=0,f.current="sx");var y=Math.abs(v),S=Math.abs(T);f.current===null&&(f.current=o&&y>S?"x":"y"),f.current==="y"?u(w,T):d(w,v)}}function A(w){t&&(s.current=w.detail===l.current)}return[g,A]}var UIt=14/15;function BIt(t,e,n){var o=m.useRef(!1),i=m.useRef(0),r=m.useRef(null),a=m.useRef(null),l,s=function(f){if(o.current){var p=Math.ceil(f.touches[0].pageY),g=i.current-p;i.current=p,n(g)&&f.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){g*=UIt,(!n(g,!0)||Math.abs(g)<=.1)&&clearInterval(a.current)},16)}},c=function(){o.current=!1,l()},u=function(f){l(),f.touches.length===1&&!o.current&&(o.current=!0,i.current=Math.ceil(f.touches[0].pageY),r.current=f.target,r.current.addEventListener("touchmove",s),r.current.addEventListener("touchend",c))};l=function(){r.current&&(r.current.removeEventListener("touchmove",s),r.current.removeEventListener("touchend",c))},Ba(function(){return t&&e.current.addEventListener("touchstart",u),function(){var d;(d=e.current)===null||d===void 0||d.removeEventListener("touchstart",u),l(),clearInterval(a.current)}},[t])}var jIt=20;function nve(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=t/e*100;return isNaN(n)&&(n=0),n=Math.max(n,jIt),n=Math.min(n,t/2),Math.floor(n)}function YIt(t,e,n,o){var i=m.useMemo(function(){return[new Map,[]]},[t,n.id,o]),r=on(i,2),a=r[0],l=r[1],s=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u,f=a.get(u),p=a.get(d);if(f===void 0||p===void 0)for(var g=t.length,A=l.length;Ar||!!A),D=g==="rtl",k=_n(o,_t({},"".concat(o,"-rtl"),D),i),W=u||_It,N=m.useRef(),L=m.useRef(),E=m.useState(0),U=on(E,2),F=U[0],B=U[1],_=m.useState(0),Y=on(_,2),O=Y[0],J=Y[1],Z=m.useState(!1),ie=on(Z,2),ee=ie[0],q=ie[1],ae=function(){q(!0)},ne=function(){q(!1)},se=m.useCallback(function(Pt){return typeof f=="function"?f(Pt):Pt==null?void 0:Pt[f]},[f]),le={getKey:se};function te(Pt){B(function(Ue){var lt;typeof Pt=="function"?lt=Pt(Ue):lt=Pt;var Ve=rt(lt);return N.current.scrollTop=Ve,Ve})}var he=m.useRef({start:0,end:W.length}),pe=m.useRef(),fe=WIt(W,se),$=on(fe,1),de=$[0];pe.current=de;var Se=EIt(se),Ce=on(Se,4),ve=Ce[0],Ie=Ce[1],ze=Ce[2],ye=Ce[3],oe=m.useMemo(function(){if(!R)return{scrollHeight:void 0,start:0,end:W.length-1,offset:void 0};if(!H){var Pt;return{scrollHeight:((Pt=L.current)===null||Pt===void 0?void 0:Pt.offsetHeight)||0,start:0,end:W.length-1,offset:void 0}}for(var Ue=0,lt,Ve,ut,je=W.length,yt=0;yt=F&<===void 0&&(lt=yt,Ve=Ue),zt>F+r&&ut===void 0&&(ut=yt),Ue=zt}return lt===void 0&&(lt=0,Ve=0,ut=Math.ceil(r/a)),ut===void 0&&(ut=W.length-1),ut=Math.min(ut+1,W.length-1),{scrollHeight:Ue,start:lt,end:ut,offset:Ve}},[H,R,F,W,ye,r]),ge=oe.scrollHeight,Ae=oe.start,me=oe.end,Pe=oe.offset;he.current.start=Ae,he.current.end=me;var Me=m.useState({width:0,height:r}),Te=on(Me,2),De=Te[0],Ne=Te[1],Ye=function(Ue){Ne({width:Ue.width||Ue.offsetWidth,height:Ue.height||Ue.offsetHeight})},Le=m.useRef(),$e=m.useRef(),We=m.useMemo(function(){return nve(De.width,A)},[De.width,A]),Ee=m.useMemo(function(){return nve(De.height,ge)},[De.height,ge]),Fe=ge-r,Ge=m.useRef(Fe);Ge.current=Fe;function rt(Pt){var Ue=Pt;return Number.isNaN(Ge.current)||(Ue=Math.min(Ue,Ge.current)),Ue=Math.max(Ue,0),Ue}var _e=F<=0,xt=F>=Fe,dt=xVe(_e,xt),Qe=function(){return{x:D?-O:O,y:F}},ct=m.useRef(Qe()),ft=Ia(function(){if(P){var Pt=Qe();(ct.current.x!==Pt.x||ct.current.y!==Pt.y)&&(P(Pt),ct.current=Pt)}});function at(Pt,Ue){var lt=Pt;Ue?(Td.flushSync(function(){J(lt)}),ft()):te(lt)}function ot(Pt){var Ue=Pt.currentTarget.scrollTop;Ue!==F&&te(Ue),C==null||C(Pt),ft()}var et=function(Ue){var lt=Ue,Ve=A-De.width;return lt=Math.max(lt,0),lt=Math.min(lt,Ve),lt},Oe=Ia(function(Pt,Ue){Ue?(Td.flushSync(function(){J(function(lt){var Ve=lt+(D?-Pt:Pt);return et(Ve)})}),ft()):te(function(lt){var Ve=lt+Pt;return Ve})}),nt=NIt(R,_e,xt,!!A,Oe),mt=on(nt,2),Tt=mt[0],Rt=mt[1];BIt(R,N,function(Pt,Ue){return dt(Pt,Ue)?!1:(Tt({preventDefault:function(){},deltaY:Pt}),!0)}),Ba(function(){function Pt(lt){R&<.preventDefault()}var Ue=N.current;return Ue.addEventListener("wheel",Tt),Ue.addEventListener("DOMMouseScroll",Rt),Ue.addEventListener("MozMousePixelScroll",Pt),function(){Ue.removeEventListener("wheel",Tt),Ue.removeEventListener("DOMMouseScroll",Rt),Ue.removeEventListener("MozMousePixelScroll",Pt)}},[R]),Ba(function(){A&&J(function(Pt){return et(Pt)})},[De.width,A]);var Wt=function(){var Ue,lt;(Ue=Le.current)===null||Ue===void 0||Ue.delayHidden(),(lt=$e.current)===null||lt===void 0||lt.delayHidden()},Ct=FIt(N,W,ze,a,se,function(){return Ie(!0)},te,Wt);m.useImperativeHandle(e,function(){return{getScrollInfo:Qe,scrollTo:function(Ue){function lt(Ve){return Ve&&gr(Ve)==="object"&&("left"in Ve||"top"in Ve)}lt(Ue)?(Ue.left!==void 0&&J(et(Ue.left)),Ct(Ue.top)):Ct(Ue)}}}),Ba(function(){if(v){var Pt=W.slice(Ae,me+1);v(Pt,W)}},[Ae,me,W]);var wt=YIt(W,se,ze,a),kt=y==null?void 0:y({start:Ae,end:me,virtual:H,offsetX:O,offsetY:Pe,rtl:D,getSize:wt}),qe=zIt(W,Ae,me,A,ve,d,le),Je=null;r&&(Je=$t(_t({},s?"height":"maxHeight",r),VIt),R&&(Je.overflowY="hidden",A&&(Je.overflowX="hidden"),ee&&(Je.pointerEvents="none")));var st={};return D&&(st.dir="rtl"),m.createElement("div",so({style:$t($t({},c),{},{position:"relative"}),className:k},st,x),m.createElement(bd,{onResize:Ye},m.createElement(b,{className:"".concat(o,"-holder"),style:Je,ref:N,onScroll:ot,onMouseEnter:Wt},m.createElement(vVe,{prefixCls:o,height:ge,offsetX:O,offsetY:Pe,scrollWidth:A,onInnerResize:Ie,ref:L,innerProps:T,rtl:D,extra:kt},qe))),H&&ge>r&&m.createElement(eve,{ref:Le,prefixCls:o,scrollOffset:F,scrollRange:ge,rtl:D,onScroll:at,onStartMove:ae,onStopMove:ne,spinSize:Ee,containerSize:De.height,style:S==null?void 0:S.verticalScrollBar,thumbStyle:S==null?void 0:S.verticalScrollBarThumb}),H&&A&&m.createElement(eve,{ref:$e,prefixCls:o,scrollOffset:O,scrollRange:A,rtl:D,onScroll:at,onStartMove:ae,onStopMove:ne,spinSize:We,containerSize:De.width,horizontal:!0,style:S==null?void 0:S.horizontalScrollBar,thumbStyle:S==null?void 0:S.horizontalScrollBarThumb}))}var v$=m.forwardRef(GIt);v$.displayName="List";function XIt(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var JIt=["disabled","title","children","style","className"];function ove(t){return typeof t=="string"||typeof t=="number"}var KIt=function(e,n){var o=PMt(),i=o.prefixCls,r=o.id,a=o.open,l=o.multiple,s=o.mode,c=o.searchValue,u=o.toggleOpen,d=o.notFoundContent,f=o.onPopupScroll,p=m.useContext(eme),g=p.maxCount,A=p.flattenOptions,w=p.onActiveValue,b=p.defaultActiveFirstOption,C=p.onSelect,P=p.menuItemSelectedIcon,v=p.rawValues,T=p.fieldNames,y=p.virtual,S=p.direction,x=p.listHeight,R=p.listItemHeight,H=p.optionRender,D="".concat(i,"-item"),k=fW(function(){return A},[a,A],function(se,le){return le[0]&&se[1]!==le[1]}),W=m.useRef(null),N=m.useMemo(function(){return l&&b0e(g)&&(v==null?void 0:v.size)>=g},[l,g,v==null?void 0:v.size]),L=function(le){le.preventDefault()},E=function(le){var te;(te=W.current)===null||te===void 0||te.scrollTo(typeof le=="number"?{index:le}:le)},U=function(le){for(var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,he=k.length,pe=0;pe1&&arguments[1]!==void 0?arguments[1]:!1;Y(le);var he={source:te?"keyboard":"mouse"},pe=k[le];if(!pe){w(null,-1,he);return}w(pe.value,le,he)};m.useEffect(function(){O(b!==!1?U(0):-1)},[k.length,c]);var J=m.useCallback(function(se){return v.has(se)&&s!=="combobox"},[s,Wo(v).toString(),v.size]);m.useEffect(function(){var se=setTimeout(function(){if(!l&&a&&v.size===1){var te=Array.from(v)[0],he=k.findIndex(function(pe){var fe=pe.data;return fe.value===te});he!==-1&&(O(he),E(he))}});if(a){var le;(le=W.current)===null||le===void 0||le.scrollTo(void 0)}return function(){return clearTimeout(se)}},[a,c]);var Z=function(le){le!==void 0&&C(le,{selected:!v.has(le)}),l||u(!1)};if(m.useImperativeHandle(n,function(){return{onKeyDown:function(le){var te=le.which,he=le.ctrlKey;switch(te){case Bn.N:case Bn.P:case Bn.UP:case Bn.DOWN:{var pe=0;if(te===Bn.UP?pe=-1:te===Bn.DOWN?pe=1:XIt()&&he&&(te===Bn.N?pe=1:te===Bn.P&&(pe=-1)),pe!==0){var fe=U(_+pe,pe);E(fe),O(fe,!0)}break}case Bn.ENTER:{var $,de=k[_];de&&!(de!=null&&($=de.data)!==null&&$!==void 0&&$.disabled)&&!N?Z(de.value):Z(void 0),a&&le.preventDefault();break}case Bn.ESC:u(!1),a&&le.stopPropagation()}},onKeyUp:function(){},scrollTo:function(le){E(le)}}}),k.length===0)return m.createElement("div",{role:"listbox",id:"".concat(r,"_list"),className:"".concat(D,"-empty"),onMouseDown:L},d);var ie=Object.keys(T).map(function(se){return T[se]}),ee=function(le){return le.label};function q(se,le){var te=se.group;return{role:te?"presentation":"option",id:"".concat(r,"_list_").concat(le)}}var ae=function(le){var te=k[le];if(!te)return null;var he=te.data||{},pe=he.value,fe=te.group,$=gf(he,!0),de=ee(te);return te?m.createElement("div",so({"aria-label":typeof de=="string"&&!fe?de:null},$,{key:le},q(te,le),{"aria-selected":J(pe)}),pe):null},ne={role:"listbox",id:"".concat(r,"_list")};return m.createElement(m.Fragment,null,y&&m.createElement("div",so({},ne,{style:{height:0,width:0,overflow:"hidden"}}),ae(_-1),ae(_),ae(_+1)),m.createElement(v$,{itemKey:"key",ref:W,data:k,height:x,itemHeight:R,fullHeight:!1,onMouseDown:L,onScroll:f,virtual:y,direction:S,innerProps:y?null:ne},function(se,le){var te=se.group,he=se.groupOption,pe=se.data,fe=se.label,$=se.value,de=pe.key;if(te){var Se,Ce=(Se=pe.title)!==null&&Se!==void 0?Se:ove(fe)?fe.toString():void 0;return m.createElement("div",{className:_n(D,"".concat(D,"-group"),pe.className),title:Ce},fe!==void 0?fe:de)}var ve=pe.disabled,Ie=pe.title;pe.children;var ze=pe.style,ye=pe.className,oe=ir(pe,JIt),ge=MH(oe,ie),Ae=J($),me=ve||!Ae&&N,Pe="".concat(D,"-option"),Me=_n(D,Pe,ye,_t(_t(_t(_t({},"".concat(Pe,"-grouped"),he),"".concat(Pe,"-active"),_===le&&!me),"".concat(Pe,"-disabled"),me),"".concat(Pe,"-selected"),Ae)),Te=ee(se),De=!P||typeof P=="function"||Ae,Ne=typeof Te=="number"?Te:Te||$,Ye=ove(Ne)?Ne.toString():void 0;return Ie!==void 0&&(Ye=Ie),m.createElement("div",so({},gf(ge),y?{}:q(se,le),{"aria-selected":Ae,className:Me,title:Ye,onMouseMove:function(){_===le||me||O(le)},onClick:function(){me||Z($)},style:ze}),m.createElement("div",{className:"".concat(Pe,"-content")},typeof H=="function"?H(se,{index:le}):Ne),m.isValidElement(P)||Ae,De&&m.createElement(A$,{className:"".concat(D,"-option-state"),customizeIcon:P,customizeIconProps:{value:$,disabled:me,isSelected:Ae}},Ae?"✓":null))}))},qIt=m.forwardRef(KIt);const $It=function(t,e){var n=m.useRef({values:new Map,options:new Map}),o=m.useMemo(function(){var r=n.current,a=r.values,l=r.options,s=t.map(function(d){if(d.label===void 0){var f;return $t($t({},d),{},{label:(f=a.get(d.value))===null||f===void 0?void 0:f.label})}return d}),c=new Map,u=new Map;return s.forEach(function(d){c.set(d.value,d),u.set(d.value,e.get(d.value)||l.get(d.value))}),n.current.values=c,n.current.options=u,s},[t,e]),i=m.useCallback(function(r){return e.get(r)||n.current.options.get(r)},[e]);return[o,i]};function zie(t,e){return mVe(t).join("").toUpperCase().includes(e)}const QIt=function(t,e,n,o,i){return m.useMemo(function(){if(!n||o===!1)return t;var r=e.options,a=e.label,l=e.value,s=[],c=typeof o=="function",u=n.toUpperCase(),d=c?o:function(p,g){return i?zie(g[i],u):g[r]?zie(g[a!=="children"?a:"label"],u):zie(g[l],u)},f=c?function(p){return S0e(p)}:function(p){return p};return t.forEach(function(p){if(p[r]){var g=d(n,f(p));if(g)s.push(p);else{var A=p[r].filter(function(w){return d(n,f(w))});A.length&&s.push($t($t({},p),{},_t({},r,A)))}return}d(n,f(p))&&s.push(p)}),s},[t,o,i,n,e])};var ive=0,ZIt=sp();function ezt(){var t;return ZIt?(t=ive,ive+=1):t="TEST_OR_SSR",t}function tzt(t){var e=m.useState(),n=on(e,2),o=n[0],i=n[1];return m.useEffect(function(){i("rc_select_".concat(ezt()))},[]),t||o}var nzt=["children","value"],ozt=["children"];function izt(t){var e=t,n=e.key,o=e.props,i=o.children,r=o.value,a=ir(o,nzt);return $t({key:n,value:r!==void 0?r:n,children:i},a)}function bVe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Qw(t).map(function(n,o){if(!m.isValidElement(n)||!n.type)return null;var i=n,r=i.type.isSelectOptGroup,a=i.key,l=i.props,s=l.children,c=ir(l,ozt);return e||!r?izt(n):$t($t({key:"__RC_SELECT_GRP__".concat(a===null?o:a,"__"),label:a},c),{},{options:bVe(s)})}).filter(function(n){return n})}var rzt=function(e,n,o,i,r){return m.useMemo(function(){var a=e,l=!e;l&&(a=bVe(n));var s=new Map,c=new Map,u=function(p,g,A){A&&typeof A=="string"&&p.set(g[A],g)},d=function f(p){for(var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,A=0;A2&&arguments[2]!==void 0?arguments[2]:{},Rt=Tt.source,Wt=Rt===void 0?"keyboard":Rt;xt(mt),a&&o==="combobox"&&nt!==null&&Wt==="keyboard"&&Fe(String(nt))},[a,o]),ct=function(mt,Tt,Rt){var Wt=function(){var Ve,ut=ge(mt);return[B?{label:ut==null?void 0:ut[q.label],value:mt,key:(Ve=ut==null?void 0:ut.key)!==null&&Ve!==void 0?Ve:mt}:mt,S0e(ut)]};if(Tt&&p){var Ct=Wt(),wt=on(Ct,2),kt=wt[0],qe=wt[1];p(kt,qe)}else if(!Tt&&g&&Rt!=="clear"){var Je=Wt(),st=on(Je,2),Pt=st[0],Ue=st[1];g(Pt,Ue)}},ft=rve(function(nt,mt){var Tt,Rt=Z?mt.selected:!0;Rt?Tt=Z?[].concat(Wo(oe),[nt]):[nt]:Tt=oe.filter(function(Wt){return Wt.value!==nt}),Le(Tt),ct(nt,Rt),o==="combobox"?Fe(""):(!T0e||f)&&(le(""),Fe(""))}),at=function(mt,Tt){Le(mt);var Rt=Tt.type,Wt=Tt.values;(Rt==="remove"||Rt==="clear")&&Wt.forEach(function(Ct){ct(Ct.value,!1,Rt)})},ot=function(mt,Tt){if(le(mt),Fe(null),Tt.source==="submit"){var Rt=(mt||"").trim();if(Rt){var Wt=Array.from(new Set([].concat(Wo(me),[Rt])));Le(Wt),ct(Rt,!0),le("")}return}Tt.source!=="blur"&&(o==="combobox"&&Le(mt),u==null||u(mt))},et=function(mt){var Tt=mt;o!=="tags"&&(Tt=mt.map(function(Wt){var Ct=pe.get(Wt);return Ct==null?void 0:Ct.value}).filter(function(Wt){return Wt!==void 0}));var Rt=Array.from(new Set([].concat(Wo(me),Wo(Tt))));Le(Rt),Rt.forEach(function(Wt){ct(Wt,!0)})},Oe=m.useMemo(function(){var nt=H!==!1&&w!==!1;return $t($t({},te),{},{flattenOptions:Ye,onActiveValue:Qe,defaultActiveFirstOption:dt,onSelect:ft,menuItemSelectedIcon:R,rawValues:me,fieldNames:q,virtual:nt,direction:D,listHeight:W,listItemHeight:L,childrenAsData:ie,maxCount:Y,optionRender:y})},[Y,te,Ye,Qe,dt,ft,R,me,q,H,w,D,W,L,ie,y]);return m.createElement(eme.Provider,{value:Oe},m.createElement(MIt,so({},O,{id:J,prefixCls:r,ref:e,omitDomProps:lzt,mode:o,displayValues:Ae,onDisplayValuesChange:at,direction:D,searchValue:se,onSearch:ot,autoClearSearchValue:f,onSearchSplit:et,dropdownMatchSelectWidth:w,OptionList:qIt,emptyOptions:!Ye.length,activeValue:Ee,activeDescendantId:"".concat(J,"_list_").concat(_e)})))}),ome=czt;ome.Option=nme;ome.OptGroup=tme;function o7(t,e,n){return Gn({[`${t}-status-success`]:e==="success",[`${t}-status-warning`]:e==="warning",[`${t}-status-error`]:e==="error",[`${t}-status-validating`]:e==="validating",[`${t}-has-feedback`]:n})}const Mb=(t,e)=>e||t,uzt=()=>{const[,t]=Yu(),n=new Il(t.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return m.createElement("svg",{style:n,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{fill:"none",fillRule:"evenodd"},m.createElement("g",{transform:"translate(24 31.67)"},m.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),m.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),m.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),m.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),m.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),m.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),m.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},m.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),m.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},dzt=()=>{const[,t]=Yu(),{colorFill:e,colorFillTertiary:n,colorFillQuaternary:o,colorBgContainer:i}=t,{borderColor:r,shadowColor:a,contentColor:l}=m.useMemo(()=>({borderColor:new Il(e).onBackground(i).toHexShortString(),shadowColor:new Il(n).onBackground(i).toHexShortString(),contentColor:new Il(o).onBackground(i).toHexShortString()}),[e,n,o,i]);return m.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},m.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},m.createElement("ellipse",{fill:a,cx:"32",cy:"33",rx:"32",ry:"7"}),m.createElement("g",{fillRule:"nonzero",stroke:r},m.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),m.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:l}))))},fzt=t=>{const{componentCls:e,margin:n,marginXS:o,marginXL:i,fontSize:r,lineHeight:a}=t;return{[e]:{marginInline:o,fontSize:r,lineHeight:a,textAlign:"center",[`${e}-image`]:{height:t.emptyImgHeight,marginBottom:o,opacity:t.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${e}-description`]:{color:t.colorText},[`${e}-footer`]:{marginTop:n},"&-normal":{marginBlock:i,color:t.colorTextDescription,[`${e}-description`]:{color:t.colorTextDescription},[`${e}-image`]:{height:t.emptyImgHeightMD}},"&-small":{marginBlock:o,color:t.colorTextDescription,[`${e}-image`]:{height:t.emptyImgHeightSM}}}}},hzt=Fl("Empty",t=>{const{componentCls:e,controlHeightLG:n,calc:o}=t,i=Zr(t,{emptyImgCls:`${e}-img`,emptyImgHeight:o(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:o(n).mul(.875).equal()});return[fzt(i)]});var pzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{className:e,rootClassName:n,prefixCls:o,image:i=SVe,description:r,children:a,imageStyle:l,style:s}=t,c=pzt(t,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:u,direction:d,empty:f}=m.useContext(Mi),p=u("empty",o),[g,A,w]=hzt(p),[b]=D7("Empty"),C=typeof r<"u"?r:b==null?void 0:b.description,P=typeof C=="string"?C:"empty";let v=null;return typeof i=="string"?v=m.createElement("img",{alt:P,src:i}):v=i,g(m.createElement("div",Object.assign({className:Gn(A,w,p,f==null?void 0:f.className,{[`${p}-normal`]:i===TVe,[`${p}-rtl`]:d==="rtl"},e,n),style:Object.assign(Object.assign({},f==null?void 0:f.style),s)},c),m.createElement("div",{className:`${p}-image`,style:l},v),C&&m.createElement("div",{className:`${p}-description`},C),a&&m.createElement("div",{className:`${p}-footer`},a)))};lg.PRESENTED_IMAGE_DEFAULT=SVe;lg.PRESENTED_IMAGE_SIMPLE=TVe;const ime=t=>{const{componentName:e}=t,{getPrefixCls:n}=m.useContext(Mi),o=n("empty");switch(e){case"Table":case"List":return be.createElement(lg,{image:lg.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return be.createElement(lg,{image:lg.PRESENTED_IMAGE_SIMPLE,className:`${o}-small`});default:return be.createElement(lg,null)}},gzt=["outlined","borderless","filled"],IH=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;const n=m.useContext(MHt);let o;typeof t<"u"?o=t:e===!1?o="borderless":o=n??"outlined";const i=gzt.includes(o);return[o,i]},mzt=t=>{const n={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:t==="scroll"?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},n),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},n),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},n),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},n),{points:["br","tr"],offset:[0,-4]})}};function yzt(t,e){return t||mzt(e)}const ave=t=>{const{optionHeight:e,optionFontSize:n,optionLineHeight:o,optionPadding:i}=t;return{position:"relative",display:"block",minHeight:e,padding:i,color:t.colorText,fontWeight:"normal",fontSize:n,lineHeight:o,boxSizing:"border-box"}},Azt=t=>{const{antCls:e,componentCls:n}=t,o=`${n}-item`,i=`&${e}-slide-up-enter${e}-slide-up-enter-active`,r=`&${e}-slide-up-appear${e}-slide-up-appear-active`,a=`&${e}-slide-up-leave${e}-slide-up-leave-active`,l=`${n}-dropdown-placement-`;return[{[`${n}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,zIndex:t.zIndexPopup,boxSizing:"border-box",padding:t.paddingXXS,overflow:"hidden",fontSize:t.fontSize,fontVariant:"initial",backgroundColor:t.colorBgElevated,borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,[` ${i}${l}bottomLeft, ${r}${l}bottomLeft `]:{animationName:h$},[` @@ -4516,31 +4516,31 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{animationName:g$},[`${a}${l}bottomLeft`]:{animationName:p$},[` ${a}${l}topLeft, ${a}${l}topRight - `]:{animationName:m$},"&-hidden":{display:"none"},[`${o}`]:Object.assign(Object.assign({},ave(t)),{cursor:"pointer",transition:`background ${t.motionDurationSlow} ease`,borderRadius:t.borderRadiusSM,"&-group":{color:t.colorTextDescription,fontSize:t.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},Yx),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${o}-option-disabled)`]:{backgroundColor:t.optionActiveBg},[`&-selected:not(${o}-option-disabled)`]:{color:t.optionSelectedColor,fontWeight:t.optionSelectedFontWeight,backgroundColor:t.optionSelectedBg,[`${o}-option-state`]:{color:t.colorPrimary},[`&:has(+ ${o}-option-selected:not(${o}-option-disabled))`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${o}-option-selected:not(${o}-option-disabled)`]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{[`&${o}-option-selected`]:{backgroundColor:t.colorBgContainerDisabled},color:t.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:t.calc(t.controlPaddingHorizontal).mul(2).equal()}},"&-empty":Object.assign(Object.assign({},ave(t)),{color:t.colorTextDisabled})}),"&-rtl":{direction:"rtl"}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},RVe=t=>{const{multipleSelectItemHeight:e,paddingXXS:n,lineWidth:o,INTERNAL_FIXED_ITEM_MARGIN:i}=t,r=t.max(t.calc(n).sub(o).equal(),0),a=t.max(t.calc(r).sub(i).equal(),0);return{basePadding:r,containerPadding:a,itemHeight:Ut(e),itemLineHeight:Ut(t.calc(e).sub(t.calc(t.lineWidth).mul(2)).equal())}},xzt=t=>{const{multipleSelectItemHeight:e,selectHeight:n,lineWidth:o}=t;return t.calc(n).sub(e).div(2).sub(o).equal()},HVe=t=>{const{componentCls:e,iconCls:n,borderRadiusSM:o,motionDurationSlow:i,paddingXS:r,multipleItemColorDisabled:a,multipleItemBorderColorDisabled:l,colorIcon:s,colorIconHover:c,INTERNAL_FIXED_ITEM_MARGIN:u}=t;return{[`${e}-selection-overflow`]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"},[`${e}-selection-item`]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",marginBlock:u,borderRadius:o,cursor:"default",transition:`font-size ${i}, line-height ${i}, height ${i}`,marginInlineEnd:t.calc(u).mul(2).equal(),paddingInlineStart:r,paddingInlineEnd:t.calc(r).div(2).equal(),[`${e}-disabled&`]:{color:a,borderColor:l,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:t.calc(r).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},CH()),{display:"inline-flex",alignItems:"center",color:s,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${n}`]:{verticalAlign:"-0.2em"},"&:hover":{color:c}})}}}},bzt=(t,e)=>{const{componentCls:n,INTERNAL_FIXED_ITEM_MARGIN:o}=t,i=`${n}-selection-overflow`,r=t.multipleSelectItemHeight,a=xzt(t),l=e?`${n}-${e}`:"",s=RVe(t);return{[`${n}-multiple${l}`]:Object.assign(Object.assign({},HVe(t)),{[`${n}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:s.basePadding,paddingBlock:s.containerPadding,borderRadius:t.borderRadius,[`${n}-disabled&`]:{background:t.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ut(o)} 0`,lineHeight:Ut(r),visibility:"hidden",content:'"\\a0"'}},[`${n}-selection-item`]:{height:s.itemHeight,lineHeight:Ut(s.itemLineHeight)},[`${i}-item + ${i}-item`]:{[`${n}-selection-search`]:{marginInlineStart:0}},[`${i}-item-suffix`]:{height:"100%"},[`${n}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:t.calc(t.inputPaddingHorizontalBase).sub(a).equal(),"\n &-input,\n &-mirror\n ":{height:r,fontFamily:t.fontFamily,lineHeight:Ut(r),transition:`all ${t.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${n}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:t.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`}})}};function Die(t,e){const{componentCls:n}=t,o=e?`${n}-${e}`:"",i={[`${n}-multiple${o}`]:{fontSize:t.fontSize,[`${n}-selector`]:{[`${n}-show-search&`]:{cursor:"text"}},[` + `]:{animationName:m$},"&-hidden":{display:"none"},[`${o}`]:Object.assign(Object.assign({},ave(t)),{cursor:"pointer",transition:`background ${t.motionDurationSlow} ease`,borderRadius:t.borderRadiusSM,"&-group":{color:t.colorTextDescription,fontSize:t.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},Yx),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${o}-option-disabled)`]:{backgroundColor:t.optionActiveBg},[`&-selected:not(${o}-option-disabled)`]:{color:t.optionSelectedColor,fontWeight:t.optionSelectedFontWeight,backgroundColor:t.optionSelectedBg,[`${o}-option-state`]:{color:t.colorPrimary},[`&:has(+ ${o}-option-selected:not(${o}-option-disabled))`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${o}-option-selected:not(${o}-option-disabled)`]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{[`&${o}-option-selected`]:{backgroundColor:t.colorBgContainerDisabled},color:t.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:t.calc(t.controlPaddingHorizontal).mul(2).equal()}},"&-empty":Object.assign(Object.assign({},ave(t)),{color:t.colorTextDisabled})}),"&-rtl":{direction:"rtl"}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},PVe=t=>{const{multipleSelectItemHeight:e,paddingXXS:n,lineWidth:o,INTERNAL_FIXED_ITEM_MARGIN:i}=t,r=t.max(t.calc(n).sub(o).equal(),0),a=t.max(t.calc(r).sub(i).equal(),0);return{basePadding:r,containerPadding:a,itemHeight:Ut(e),itemLineHeight:Ut(t.calc(e).sub(t.calc(t.lineWidth).mul(2)).equal())}},wzt=t=>{const{multipleSelectItemHeight:e,selectHeight:n,lineWidth:o}=t;return t.calc(n).sub(e).div(2).sub(o).equal()},CVe=t=>{const{componentCls:e,iconCls:n,borderRadiusSM:o,motionDurationSlow:i,paddingXS:r,multipleItemColorDisabled:a,multipleItemBorderColorDisabled:l,colorIcon:s,colorIconHover:c,INTERNAL_FIXED_ITEM_MARGIN:u}=t;return{[`${e}-selection-overflow`]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"},[`${e}-selection-item`]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",marginBlock:u,borderRadius:o,cursor:"default",transition:`font-size ${i}, line-height ${i}, height ${i}`,marginInlineEnd:t.calc(u).mul(2).equal(),paddingInlineStart:r,paddingInlineEnd:t.calc(r).div(2).equal(),[`${e}-disabled&`]:{color:a,borderColor:l,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:t.calc(r).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},CH()),{display:"inline-flex",alignItems:"center",color:s,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${n}`]:{verticalAlign:"-0.2em"},"&:hover":{color:c}})}}}},vzt=(t,e)=>{const{componentCls:n,INTERNAL_FIXED_ITEM_MARGIN:o}=t,i=`${n}-selection-overflow`,r=t.multipleSelectItemHeight,a=wzt(t),l=e?`${n}-${e}`:"",s=PVe(t);return{[`${n}-multiple${l}`]:Object.assign(Object.assign({},CVe(t)),{[`${n}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:s.basePadding,paddingBlock:s.containerPadding,borderRadius:t.borderRadius,[`${n}-disabled&`]:{background:t.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ut(o)} 0`,lineHeight:Ut(r),visibility:"hidden",content:'"\\a0"'}},[`${n}-selection-item`]:{height:s.itemHeight,lineHeight:Ut(s.itemLineHeight)},[`${i}-item + ${i}-item`]:{[`${n}-selection-search`]:{marginInlineStart:0}},[`${i}-item-suffix`]:{height:"100%"},[`${n}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:t.calc(t.inputPaddingHorizontalBase).sub(a).equal(),"\n &-input,\n &-mirror\n ":{height:r,fontFamily:t.fontFamily,lineHeight:Ut(r),transition:`all ${t.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${n}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:t.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`}})}};function Die(t,e){const{componentCls:n}=t,o=e?`${n}-${e}`:"",i={[`${n}-multiple${o}`]:{fontSize:t.fontSize,[`${n}-selector`]:{[`${n}-show-search&`]:{cursor:"text"}},[` &${n}-show-arrow ${n}-selector, &${n}-allow-clear ${n}-selector - `]:{paddingInlineEnd:t.calc(t.fontSizeIcon).add(t.controlPaddingHorizontal).equal()}}};return[bzt(t,e),i]}const Szt=t=>{const{componentCls:e}=t,n=Zr(t,{selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS}),o=Zr(t,{fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius});return[Die(t),Die(n,"sm"),{[`${e}-multiple${e}-sm`]:{[`${e}-selection-placeholder`]:{insetInline:t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal()},[`${e}-selection-search`]:{marginInlineStart:2}}},Die(o,"lg")]};function Eie(t,e){const{componentCls:n,inputPaddingHorizontalBase:o,borderRadius:i}=t,r=t.calc(t.controlHeight).sub(t.calc(t.lineWidth).mul(2)).equal(),a=e?`${n}-${e}`:"";return{[`${n}-single${a}`]:{fontSize:t.fontSize,height:t.controlHeight,[`${n}-selector`]:Object.assign(Object.assign({},$a(t,!0)),{display:"flex",borderRadius:i,[`${n}-selection-search`]:{position:"absolute",top:0,insetInlineStart:o,insetInlineEnd:o,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},[` + `]:{paddingInlineEnd:t.calc(t.fontSizeIcon).add(t.controlPaddingHorizontal).equal()}}};return[vzt(t,e),i]}const xzt=t=>{const{componentCls:e}=t,n=Zr(t,{selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS}),o=Zr(t,{fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius});return[Die(t),Die(n,"sm"),{[`${e}-multiple${e}-sm`]:{[`${e}-selection-placeholder`]:{insetInline:t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal()},[`${e}-selection-search`]:{marginInlineStart:2}}},Die(o,"lg")]};function Eie(t,e){const{componentCls:n,inputPaddingHorizontalBase:o,borderRadius:i}=t,r=t.calc(t.controlHeight).sub(t.calc(t.lineWidth).mul(2)).equal(),a=e?`${n}-${e}`:"";return{[`${n}-single${a}`]:{fontSize:t.fontSize,height:t.controlHeight,[`${n}-selector`]:Object.assign(Object.assign({},$a(t,!0)),{display:"flex",borderRadius:i,[`${n}-selection-search`]:{position:"absolute",top:0,insetInlineStart:o,insetInlineEnd:o,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},[` ${n}-selection-item, ${n}-selection-placeholder `]:{padding:0,lineHeight:Ut(r),transition:`all ${t.motionDurationSlow}, visibility 0s`,alignSelf:"center"},[`${n}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${n}-selection-item:empty:after`,`${n}-selection-placeholder:empty:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[` &${n}-show-arrow ${n}-selection-item, &${n}-show-arrow ${n}-selection-placeholder - `]:{paddingInlineEnd:t.showArrowPaddingInlineEnd},[`&${n}-open ${n}-selection-item`]:{color:t.colorTextPlaceholder},[`&:not(${n}-customize-input)`]:{[`${n}-selector`]:{width:"100%",height:"100%",padding:`0 ${Ut(o)}`,[`${n}-selection-search-input`]:{height:r},"&:after":{lineHeight:Ut(r)}}},[`&${n}-customize-input`]:{[`${n}-selector`]:{"&:after":{display:"none"},[`${n}-selection-search`]:{position:"static",width:"100%"},[`${n}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ut(o)}`,"&:after":{display:"none"}}}}}}}function Tzt(t){const{componentCls:e}=t,n=t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal();return[Eie(t),Eie(Zr(t,{controlHeight:t.controlHeightSM,borderRadius:t.borderRadiusSM}),"sm"),{[`${e}-single${e}-sm`]:{[`&:not(${e}-customize-input)`]:{[`${e}-selection-search`]:{insetInlineStart:n,insetInlineEnd:n},[`${e}-selector`]:{padding:`0 ${Ut(n)}`},[`&${e}-show-arrow ${e}-selection-search`]:{insetInlineEnd:t.calc(n).add(t.calc(t.fontSize).mul(1.5)).equal()},[` + `]:{paddingInlineEnd:t.showArrowPaddingInlineEnd},[`&${n}-open ${n}-selection-item`]:{color:t.colorTextPlaceholder},[`&:not(${n}-customize-input)`]:{[`${n}-selector`]:{width:"100%",height:"100%",padding:`0 ${Ut(o)}`,[`${n}-selection-search-input`]:{height:r},"&:after":{lineHeight:Ut(r)}}},[`&${n}-customize-input`]:{[`${n}-selector`]:{"&:after":{display:"none"},[`${n}-selection-search`]:{position:"static",width:"100%"},[`${n}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ut(o)}`,"&:after":{display:"none"}}}}}}}function bzt(t){const{componentCls:e}=t,n=t.calc(t.controlPaddingHorizontalSM).sub(t.lineWidth).equal();return[Eie(t),Eie(Zr(t,{controlHeight:t.controlHeightSM,borderRadius:t.borderRadiusSM}),"sm"),{[`${e}-single${e}-sm`]:{[`&:not(${e}-customize-input)`]:{[`${e}-selection-search`]:{insetInlineStart:n,insetInlineEnd:n},[`${e}-selector`]:{padding:`0 ${Ut(n)}`},[`&${e}-show-arrow ${e}-selection-search`]:{insetInlineEnd:t.calc(n).add(t.calc(t.fontSize).mul(1.5)).equal()},[` &${e}-show-arrow ${e}-selection-item, &${e}-show-arrow ${e}-selection-placeholder - `]:{paddingInlineEnd:t.calc(t.fontSize).mul(1.5).equal()}}}},Eie(Zr(t,{controlHeight:t.singleItemHeightLG,fontSize:t.fontSizeLG,borderRadius:t.borderRadiusLG}),"lg")]}const Pzt=t=>{const{fontSize:e,lineHeight:n,lineWidth:o,controlHeight:i,controlHeightSM:r,controlHeightLG:a,paddingXXS:l,controlPaddingHorizontal:s,zIndexPopupBase:c,colorText:u,fontWeightStrong:d,controlItemBgActive:f,controlItemBgHover:p,colorBgContainer:g,colorFillSecondary:A,colorBgContainerDisabled:w,colorTextDisabled:b}=t,C=l*2,P=o*2,v=Math.min(i-C,i-P),T=Math.min(r-C,r-P),y=Math.min(a-C,a-P);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(l/2),zIndexPopup:c+50,optionSelectedColor:u,optionSelectedFontWeight:d,optionSelectedBg:f,optionActiveBg:p,optionPadding:`${(i-e*n)/2}px ${s}px`,optionFontSize:e,optionLineHeight:n,optionHeight:i,selectorBg:g,clearBg:g,singleItemHeightLG:a,multipleItemBg:A,multipleItemBorderColor:"transparent",multipleItemHeight:v,multipleItemHeightSM:T,multipleItemHeightLG:y,multipleSelectorBgDisabled:w,multipleItemColorDisabled:b,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(t.fontSize*1.25)}},MVe=(t,e)=>{const{componentCls:n,antCls:o,controlOutlineWidth:i}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${e.borderColor}`,background:t.selectorBg},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{borderColor:e.hoverBorderHover},[`${n}-focused& ${n}-selector`]:{borderColor:e.activeBorderColor,boxShadow:`0 0 0 ${Ut(i)} ${e.activeShadowColor}`,outline:0}}}},lve=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},MVe(t,e))}),Czt=t=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},MVe(t,{borderColor:t.colorBorder,hoverBorderHover:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadowColor:t.controlOutline})),lve(t,{status:"error",borderColor:t.colorError,hoverBorderHover:t.colorErrorHover,activeBorderColor:t.colorError,activeShadowColor:t.colorErrorOutline})),lve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderHover:t.colorWarningHover,activeBorderColor:t.colorWarning,activeShadowColor:t.colorWarningOutline})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}})}),IVe=(t,e)=>{const{componentCls:n,antCls:o}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{background:e.bg,border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,color:e.color},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{background:e.hoverBg},[`${n}-focused& ${n}-selector`]:{background:t.selectorBg,borderColor:e.activeBorderColor,outline:0}}}},sve=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},IVe(t,e))}),Rzt=t=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},IVe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary,color:t.colorText})),sve(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,color:t.colorError})),sve(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,color:t.colorWarning})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{borderColor:t.colorBorder,background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}})}),Hzt=t=>({"&-borderless":{[`${t.componentCls}-selector`]:{background:"transparent",borderColor:"transparent"},[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}),Mzt=t=>({[t.componentCls]:Object.assign(Object.assign(Object.assign({},Czt(t)),Rzt(t)),Hzt(t))}),Izt=t=>{const{componentCls:e}=t;return{position:"relative",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,input:{cursor:"pointer"},[`${e}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},[`${e}-disabled&`]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},zzt=t=>{const{componentCls:e}=t;return{[`${e}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},Dzt=t=>{const{antCls:e,componentCls:n,inputPaddingHorizontalBase:o,iconCls:i}=t;return{[n]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${n}-customize-input) ${n}-selector`]:Object.assign(Object.assign({},Izt(t)),zzt(t)),[`${n}-selection-item`]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},Yx),{[`> ${e}-typography`]:{display:"inline"}}),[`${n}-selection-placeholder`]:Object.assign(Object.assign({},Yx),{flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}),[`${n}-arrow`]:Object.assign(Object.assign({},CH()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:`opacity ${t.motionDurationSlow} ease`,[i]:{verticalAlign:"top",transition:`transform ${t.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${n}-suffix)`]:{pointerEvents:"auto"}},[`${n}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${n}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,zIndex:1,display:"inline-block",width:t.fontSizeIcon,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:`color ${t.motionDurationMid} ease, opacity ${t.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:t.colorTextTertiary}},"&:hover":{[`${n}-clear`]:{opacity:1},[`${n}-arrow:not(:last-child)`]:{opacity:0}}}),[`${n}-has-feedback`]:{[`${n}-clear`]:{insetInlineEnd:t.calc(o).add(t.fontSize).add(t.paddingXS).equal()}}}},Ezt=t=>{const{componentCls:e}=t;return[{[e]:{[`&${e}-in-form-item`]:{width:"100%"}}},Dzt(t),Tzt(t),Szt(t),vzt(t),{[`${e}-rtl`]:{direction:"rtl"}},vW(t,{borderElCls:`${e}-selector`,focusElCls:`${e}-focused`})]},kzt=Fl("Select",(t,e)=>{let{rootPrefixCls:n}=e;const o=Zr(t,{rootPrefixCls:n,inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[Ezt(o),Mzt(o)]},Pzt,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}});var Fzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},Lzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Fzt}))},zVe=m.forwardRef(Lzt),Wzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},Nzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wzt}))},rme=m.forwardRef(Nzt),Uzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},Bzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Uzt}))},ame=m.forwardRef(Bzt);function DVe(t){let{suffixIcon:e,clearIcon:n,menuItemSelectedIcon:o,removeIcon:i,loading:r,multiple:a,hasFeedback:l,prefixCls:s,showSuffixIcon:c,feedbackIcon:u,showArrow:d,componentName:f}=t;const p=n??m.createElement(l$,null),g=C=>e===null&&!l&&!d?null:m.createElement(m.Fragment,null,c!==!1&&C,l&&u);let A=null;if(e!==void 0)A=g(e);else if(r)A=g(m.createElement(HH,{spin:!0}));else{const C=`${s}-suffix`;A=P=>{let{open:v,showSearch:T}=P;return g(v&&T?m.createElement(ame,{className:C}):m.createElement(rme,{className:C}))}}let w=null;o!==void 0?w=o:a?w=m.createElement(zVe,null):w=null;let b=null;return i!==void 0?b=i:b=m.createElement(E7,null),{clearIcon:p,suffixIcon:A,itemIcon:w,removeIcon:b}}function jzt(t,e){return e!==void 0?e:t!==null}var Yzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i,className:r,rootClassName:a,getPopupContainer:l,popupClassName:s,dropdownClassName:c,listHeight:u=256,placement:d,listItemHeight:f,size:p,disabled:g,notFoundContent:A,status:w,builtinPlacements:b,dropdownMatchSelectWidth:C,popupMatchSelectWidth:P,direction:v,style:T,allowClear:y,variant:S,dropdownStyle:x,transitionName:R,tagRender:H,maxCount:D}=t,k=Yzt(t,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:W,getPrefixCls:N,renderEmpty:L,direction:E,virtual:U,popupMatchSelectWidth:F,popupOverflow:B,select:_}=m.useContext(Mi),[,Y]=Yu(),O=f??(Y==null?void 0:Y.controlHeight),J=N("select",o),Z=N(),ie=v??E,{compactSize:ee,compactItemClassnames:q}=F7(J,ie),[ae,ne]=IH(S,i),se=j0(J),[le,te,he]=kzt(J,se),pe=m.useMemo(()=>{const{mode:Ee}=t;if(Ee!=="combobox")return Ee===EVe?"combobox":Ee},[t.mode]),fe=pe==="multiple"||pe==="tags",$=jzt(t.suffixIcon,t.showArrow),de=(n=P??C)!==null&&n!==void 0?n:F,{status:Se,hasFeedback:Ce,isFormItemInput:ve,feedbackIcon:Ie}=m.useContext(Qp),ze=Mb(Se,w);let ye;A!==void 0?ye=A:pe==="combobox"?ye=null:ye=(L==null?void 0:L("Select"))||m.createElement(ime,{componentName:"Select"});const{suffixIcon:oe,itemIcon:ge,removeIcon:Ae,clearIcon:me}=DVe(Object.assign(Object.assign({},k),{multiple:fe,hasFeedback:Ce,feedbackIcon:Ie,showSuffixIcon:$,prefixCls:J,componentName:"Select"})),Pe=y===!0?{clearIcon:me}:y,Me=lp(k,["suffixIcon","itemIcon"]),Te=Gn(s||c,{[`${J}-dropdown-${ie}`]:ie==="rtl"},a,he,se,te),De=Rd(Ee=>{var Fe;return(Fe=p??ee)!==null&&Fe!==void 0?Fe:Ee}),Ue=m.useContext($p),Oe=g??Ue,Le=Gn({[`${J}-lg`]:De==="large",[`${J}-sm`]:De==="small",[`${J}-rtl`]:ie==="rtl",[`${J}-${ae}`]:ne,[`${J}-in-form-item`]:ve},o7(J,ze,Ce),q,_==null?void 0:_.className,r,a,he,se,te),$e=m.useMemo(()=>d!==void 0?d:ie==="rtl"?"bottomRight":"bottomLeft",[d,ie]),[We]=k7("SelectLike",x==null?void 0:x.zIndex);return le(m.createElement(ome,Object.assign({ref:e,virtual:U,showSearch:_==null?void 0:_.showSearch},Me,{style:Object.assign(Object.assign({},_==null?void 0:_.style),T),dropdownMatchSelectWidth:de,transitionName:D9(Z,"slide-up",R),builtinPlacements:wzt(b,B),listHeight:u,listItemHeight:O,mode:pe,prefixCls:J,placement:$e,direction:ie,suffixIcon:oe,menuItemSelectedIcon:ge,removeIcon:Ae,allowClear:Pe,notFoundContent:ye,className:Le,getPopupContainer:l||W,dropdownClassName:Te,disabled:Oe,dropdownStyle:Object.assign(Object.assign({},x),{zIndex:We}),maxCount:fe?D:void 0,tagRender:fe?H:void 0})))},Yo=m.forwardRef(Ozt),_zt=RW(Yo);Yo.SECRET_COMBOBOX_MODE_DO_NOT_USE=EVe;Yo.Option=nme;Yo.OptGroup=tme;Yo._InternalPanelDoNotUseOrYouWillBeFired=_zt;const i7=["xxl","xl","lg","md","sm","xs"],Vzt=t=>({xs:`(max-width: ${t.screenXSMax}px)`,sm:`(min-width: ${t.screenSM}px)`,md:`(min-width: ${t.screenMD}px)`,lg:`(min-width: ${t.screenLG}px)`,xl:`(min-width: ${t.screenXL}px)`,xxl:`(min-width: ${t.screenXXL}px)`}),Gzt=t=>{const e=t,n=[].concat(i7).reverse();return n.forEach((o,i)=>{const r=o.toUpperCase(),a=`screen${r}Min`,l=`screen${r}`;if(!(e[a]<=e[l]))throw new Error(`${a}<=${l} fails : !(${e[a]}<=${e[l]})`);if(i{const n=new Map;let o=-1,i={};return{matchHandlers:{},dispatch(r){return i=r,n.forEach(a=>a(i)),n.size>=1},subscribe(r){return n.size||this.register(),o+=1,n.set(o,r),r(i),o},unsubscribe(r){n.delete(r),n.size||this.unregister()},unregister(){Object.keys(e).forEach(r=>{const a=e[r],l=this.matchHandlers[a];l==null||l.mql.removeListener(l==null?void 0:l.listener)}),n.clear()},register(){Object.keys(e).forEach(r=>{const a=e[r],l=c=>{let{matches:u}=c;this.dispatch(Object.assign(Object.assign({},i),{[r]:u}))},s=window.matchMedia(a);s.addListener(l),this.matchHandlers[a]={mql:s,listener:l},l(s)})},responsiveMap:e}},[t])}function FVe(){const[,t]=m.useReducer(e=>e+1,0);return t}function x$(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const e=m.useRef({}),n=FVe(),o=kVe();return dx(()=>{const i=o.subscribe(r=>{e.current=r,t&&n()});return()=>o.unsubscribe(i)},[]),e.current}const P0e=m.createContext({}),Xzt=t=>{const{antCls:e,componentCls:n,iconCls:o,avatarBg:i,avatarColor:r,containerSize:a,containerSizeLG:l,containerSizeSM:s,textFontSize:c,textFontSizeLG:u,textFontSizeSM:d,borderRadius:f,borderRadiusLG:p,borderRadiusSM:g,lineWidth:A,lineType:w}=t,b=(C,P,v)=>({width:C,height:C,borderRadius:"50%",[`&${n}-square`]:{borderRadius:v},[`&${n}-icon`]:{fontSize:P,[`> ${o}`]:{margin:0}}});return{[n]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-flex",justifyContent:"center",alignItems:"center",overflow:"hidden",color:r,whiteSpace:"nowrap",textAlign:"center",verticalAlign:"middle",background:i,border:`${Ut(A)} ${w} transparent`,"&-image":{background:"transparent"},[`${e}-image-img`]:{display:"block"}}),b(a,c,f)),{"&-lg":Object.assign({},b(l,u,p)),"&-sm":Object.assign({},b(s,d,g)),"> img":{display:"block",width:"100%",height:"100%",objectFit:"cover"}})}},Jzt=t=>{const{componentCls:e,groupBorderColor:n,groupOverlapping:o,groupSpace:i}=t;return{[`${e}-group`]:{display:"inline-flex",[`${e}`]:{borderColor:n},"> *:not(:first-child)":{marginInlineStart:o}},[`${e}-group-popover`]:{[`${e} + ${e}`]:{marginInlineStart:i}}}},Kzt=t=>{const{controlHeight:e,controlHeightLG:n,controlHeightSM:o,fontSize:i,fontSizeLG:r,fontSizeXL:a,fontSizeHeading3:l,marginXS:s,marginXXS:c,colorBorderBg:u}=t;return{containerSize:e,containerSizeLG:n,containerSizeSM:o,textFontSize:Math.round((r+a)/2),textFontSizeLG:l,textFontSizeSM:i,groupSpace:c,groupOverlapping:-s,groupBorderColor:u}},LVe=Fl("Avatar",t=>{const{colorTextLightSolid:e,colorTextPlaceholder:n}=t,o=Zr(t,{avatarBg:n,avatarColor:e});return[Xzt(o),Jzt(o)]},Kzt);var qzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const[n,o]=m.useState(1),[i,r]=m.useState(!1),[a,l]=m.useState(!0),s=m.useRef(null),c=m.useRef(null),u=q2(e,s),{getPrefixCls:d,avatar:f}=m.useContext(Mi),p=m.useContext(P0e),g=()=>{if(!c.current||!s.current)return;const ae=c.current.offsetWidth,ne=s.current.offsetWidth;if(ae!==0&&ne!==0){const{gap:se=4}=t;se*2{r(!0)},[]),m.useEffect(()=>{l(!0),o(1)},[t.src]),m.useEffect(g,[t.gap]);const A=()=>{const{onError:ae}=t;(ae==null?void 0:ae())!==!1&&l(!1)},{prefixCls:w,shape:b,size:C,src:P,srcSet:v,icon:T,className:y,rootClassName:S,alt:x,draggable:R,children:H,crossOrigin:D}=t,k=qzt(t,["prefixCls","shape","size","src","srcSet","icon","className","rootClassName","alt","draggable","children","crossOrigin"]),W=Rd(ae=>{var ne,se;return(se=(ne=C??(p==null?void 0:p.size))!==null&&ne!==void 0?ne:ae)!==null&&se!==void 0?se:"default"}),N=Object.keys(typeof W=="object"?W||{}:{}).some(ae=>["xs","sm","md","lg","xl","xxl"].includes(ae)),L=x$(N),E=m.useMemo(()=>{if(typeof W!="object")return{};const ae=i7.find(se=>L[se]),ne=W[ae];return ne?{width:ne,height:ne,fontSize:ne&&(T||H)?ne/2:18}:{}},[L,W]),U=d("avatar",w),F=j0(U),[B,_,Y]=LVe(U,F),O=Gn({[`${U}-lg`]:W==="large",[`${U}-sm`]:W==="small"}),J=m.isValidElement(P),Z=b||(p==null?void 0:p.shape)||"circle",ie=Gn(U,O,f==null?void 0:f.className,`${U}-${Z}`,{[`${U}-image`]:J||P&&a,[`${U}-icon`]:!!T},Y,F,y,S,_),ee=typeof W=="number"?{width:W,height:W,fontSize:T?W/2:18}:{};let q;if(typeof P=="string"&&a)q=m.createElement("img",{src:P,draggable:R,srcSet:v,onError:A,alt:x,crossOrigin:D});else if(J)q=P;else if(T)q=T;else if(i||n!==1){const ae=`scale(${n})`,ne={msTransform:ae,WebkitTransform:ae,transform:ae};q=m.createElement(bd,{onResize:g},m.createElement("span",{className:`${U}-string`,ref:c,style:Object.assign({},ne)},H))}else q=m.createElement("span",{className:`${U}-string`,style:{opacity:0},ref:c},H);return delete k.onError,delete k.gap,B(m.createElement("span",Object.assign({},k,{style:Object.assign(Object.assign(Object.assign(Object.assign({},ee),E),f==null?void 0:f.style),k.style),className:ie,ref:u}),q))},WVe=m.forwardRef($zt);var hr={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=hr.F1&&n<=hr.F12)return!1;switch(n){case hr.ALT:case hr.CAPS_LOCK:case hr.CONTEXT_MENU:case hr.CTRL:case hr.DOWN:case hr.END:case hr.ESC:case hr.HOME:case hr.INSERT:case hr.LEFT:case hr.MAC_FF_META:case hr.META:case hr.NUMLOCK:case hr.NUM_CENTER:case hr.PAGE_DOWN:case hr.PAGE_UP:case hr.PAUSE:case hr.PRINT_SCREEN:case hr.RIGHT:case hr.SHIFT:case hr.UP:case hr.WIN_KEY:case hr.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=hr.ZERO&&e<=hr.NINE||e>=hr.NUM_ZERO&&e<=hr.NUM_MULTIPLY||e>=hr.A&&e<=hr.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case hr.SPACE:case hr.QUESTION_MARK:case hr.NUM_PLUS:case hr.NUM_MINUS:case hr.NUM_PERIOD:case hr.NUM_DIVISION:case hr.SEMICOLON:case hr.DASH:case hr.EQUALS:case hr.COMMA:case hr.PERIOD:case hr.SLASH:case hr.APOSTROPHE:case hr.SINGLE_QUOTE:case hr.OPEN_SQUARE_BRACKET:case hr.BACKSLASH:case hr.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};const bG=t=>t?typeof t=="function"?t():t:null;function lme(t){var e=t.children,n=t.prefixCls,o=t.id,i=t.overlayInnerStyle,r=t.className,a=t.style;return m.createElement("div",{className:_n("".concat(n,"-content"),r),style:a},m.createElement("div",{className:"".concat(n,"-inner"),id:o,role:"tooltip",style:i},typeof e=="function"?e():e))}function C0e(){return C0e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}function oDt(t,e){if(t==null)return{};var n=nDt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var TT={shiftX:64,adjustY:1},PT={adjustX:1,shiftY:!0},cm=[0,0],iDt={left:{points:["cr","cl"],overflow:PT,offset:[-4,0],targetOffset:cm},right:{points:["cl","cr"],overflow:PT,offset:[4,0],targetOffset:cm},top:{points:["bc","tc"],overflow:TT,offset:[0,-4],targetOffset:cm},bottom:{points:["tc","bc"],overflow:TT,offset:[0,4],targetOffset:cm},topLeft:{points:["bl","tl"],overflow:TT,offset:[0,-4],targetOffset:cm},leftTop:{points:["tr","tl"],overflow:PT,offset:[-4,0],targetOffset:cm},topRight:{points:["br","tr"],overflow:TT,offset:[0,-4],targetOffset:cm},rightTop:{points:["tl","tr"],overflow:PT,offset:[4,0],targetOffset:cm},bottomRight:{points:["tr","br"],overflow:TT,offset:[0,4],targetOffset:cm},rightBottom:{points:["bl","br"],overflow:PT,offset:[4,0],targetOffset:cm},bottomLeft:{points:["tl","bl"],overflow:TT,offset:[0,4],targetOffset:cm},leftBottom:{points:["br","bl"],overflow:PT,offset:[-4,0],targetOffset:cm}},rDt=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],aDt=function(e,n){var o=e.overlayClassName,i=e.trigger,r=i===void 0?["hover"]:i,a=e.mouseEnterDelay,l=a===void 0?0:a,s=e.mouseLeaveDelay,c=s===void 0?.1:s,u=e.overlayStyle,d=e.prefixCls,f=d===void 0?"rc-tooltip":d,p=e.children,g=e.onVisibleChange,A=e.afterVisibleChange,w=e.transitionName,b=e.animation,C=e.motion,P=e.placement,v=P===void 0?"right":P,T=e.align,y=T===void 0?{}:T,S=e.destroyTooltipOnHide,x=S===void 0?!1:S,R=e.defaultVisible,H=e.getTooltipContainer,D=e.overlayInnerStyle;e.arrowContent;var k=e.overlay,W=e.id,N=e.showArrow,L=N===void 0?!0:N,E=oDt(e,rDt),U=m.useRef(null);m.useImperativeHandle(n,function(){return U.current});var F=tDt({},E);"visible"in e&&(F.popupVisible=e.visible);var B=function(){return m.createElement(lme,{key:"content",prefixCls:f,id:W,overlayInnerStyle:D},k)};return m.createElement(MW,C0e({popupClassName:o,prefixCls:f,popup:B,action:r,builtinPlacements:iDt,popupPlacement:v,ref:U,popupAlign:y,getPopupContainer:H,onPopupVisibleChange:g,afterPopupVisibleChange:A,popupTransitionName:w,popupAnimation:b,popupMotion:C,defaultPopupVisible:R,autoDestroy:x,mouseLeaveDelay:c,popupStyle:u,mouseEnterDelay:l,arrow:L},F),p)};const lDt=m.forwardRef(aDt);function b$(t){const{sizePopupArrow:e,borderRadiusXS:n,borderRadiusOuter:o}=t,i=e/2,r=0,a=i,l=o*1/Math.sqrt(2),s=i-o*(1-1/Math.sqrt(2)),c=i-n*(1/Math.sqrt(2)),u=o*(Math.sqrt(2)-1)+n*(1/Math.sqrt(2)),d=2*i-c,f=u,p=2*i-l,g=s,A=2*i-r,w=a,b=i*Math.sqrt(2)+o*(Math.sqrt(2)-2),C=o*(Math.sqrt(2)-1),P=`polygon(${C}px 100%, 50% ${C}px, ${2*i-C}px 100%, ${C}px 100%)`,v=`path('M ${r} ${a} A ${o} ${o} 0 0 0 ${l} ${s} L ${c} ${u} A ${n} ${n} 0 0 1 ${d} ${f} L ${p} ${g} A ${o} ${o} 0 0 0 ${A} ${w} Z')`;return{arrowShadowWidth:b,arrowPath:v,arrowPolygon:P}}const NVe=(t,e,n)=>{const{sizePopupArrow:o,arrowPolygon:i,arrowPath:r,arrowShadowWidth:a,borderRadiusXS:l,calc:s}=t;return{pointerEvents:"none",width:o,height:o,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:o,height:s(o).div(2).equal(),background:e,clipPath:{_multi_value_:!0,value:[i,r]},content:'""'},"&::after":{content:'""',position:"absolute",width:a,height:a,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${Ut(l)} 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:n,zIndex:0,background:"transparent"}}},UVe=8;function S$(t){const{contentRadius:e,limitVerticalRadius:n}=t,o=e>12?e+2:12;return{arrowOffsetHorizontal:o,arrowOffsetVertical:n?UVe:o}}function hY(t,e){return t?e:{}}function sme(t,e,n){const{componentCls:o,boxShadowPopoverArrow:i,arrowOffsetVertical:r,arrowOffsetHorizontal:a}=t,{arrowDistance:l=0,arrowPlacement:s={left:!0,right:!0,top:!0,bottom:!0}}=n||{};return{[o]:Object.assign(Object.assign(Object.assign(Object.assign({[`${o}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},NVe(t,e,i)),{"&:before":{background:e}})]},hY(!!s.top,{[[`&-placement-top > ${o}-arrow`,`&-placement-topLeft > ${o}-arrow`,`&-placement-topRight > ${o}-arrow`].join(",")]:{bottom:l,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-topRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.bottom,{[[`&-placement-bottom > ${o}-arrow`,`&-placement-bottomLeft > ${o}-arrow`,`&-placement-bottomRight > ${o}-arrow`].join(",")]:{top:l,transform:"translateY(-100%)"},[`&-placement-bottom > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-bottomRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.left,{[[`&-placement-left > ${o}-arrow`,`&-placement-leftTop > ${o}-arrow`,`&-placement-leftBottom > ${o}-arrow`].join(",")]:{right:{_skip_check_:!0,value:l},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop > ${o}-arrow`]:{top:r},[`&-placement-leftBottom > ${o}-arrow`]:{bottom:r}})),hY(!!s.right,{[[`&-placement-right > ${o}-arrow`,`&-placement-rightTop > ${o}-arrow`,`&-placement-rightBottom > ${o}-arrow`].join(",")]:{left:{_skip_check_:!0,value:l},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop > ${o}-arrow`]:{top:r},[`&-placement-rightBottom > ${o}-arrow`]:{bottom:r}}))}}function sDt(t,e,n,o){if(o===!1)return{adjustX:!1,adjustY:!1};const i=o&&typeof o=="object"?o:{},r={};switch(t){case"top":case"bottom":r.shiftX=e.arrowOffsetHorizontal*2+n,r.shiftY=!0,r.adjustY=!0;break;case"left":case"right":r.shiftY=e.arrowOffsetVertical*2+n,r.shiftX=!0,r.adjustX=!0;break}const a=Object.assign(Object.assign({},r),i);return a.shiftX||(a.adjustX=!0),a.shiftY||(a.adjustY=!0),a}const uve={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},cDt={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},uDt=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function BVe(t){const{arrowWidth:e,autoAdjustOverflow:n,arrowPointAtCenter:o,offset:i,borderRadius:r,visibleFirst:a}=t,l=e/2,s={};return Object.keys(uve).forEach(c=>{const u=o&&cDt[c]||uve[c],d=Object.assign(Object.assign({},u),{offset:[0,0],dynamicInset:!0});switch(s[c]=d,uDt.has(c)&&(d.autoArrow=!1),c){case"top":case"topLeft":case"topRight":d.offset[1]=-l-i;break;case"bottom":case"bottomLeft":case"bottomRight":d.offset[1]=l+i;break;case"left":case"leftTop":case"leftBottom":d.offset[0]=-l-i;break;case"right":case"rightTop":case"rightBottom":d.offset[0]=l+i;break}const f=S$({contentRadius:r,limitVerticalRadius:!0});if(o)switch(c){case"topLeft":case"bottomLeft":d.offset[0]=-f.arrowOffsetHorizontal-l;break;case"topRight":case"bottomRight":d.offset[0]=f.arrowOffsetHorizontal+l;break;case"leftTop":case"rightTop":d.offset[1]=-f.arrowOffsetHorizontal-l;break;case"leftBottom":case"rightBottom":d.offset[1]=f.arrowOffsetHorizontal+l;break}d.overflow=sDt(c,f,e,n),a&&(d.htmlRegion="visibleFirst")}),s}const dDt=t=>{const{componentCls:e,tooltipMaxWidth:n,tooltipColor:o,tooltipBg:i,tooltipBorderRadius:r,zIndexPopup:a,controlHeight:l,boxShadowSecondary:s,paddingSM:c,paddingXS:u}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"absolute",zIndex:a,display:"block",width:"max-content",maxWidth:n,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":i,[`${e}-inner`]:{minWidth:l,minHeight:l,padding:`${Ut(t.calc(c).div(2).equal())} ${Ut(u)}`,color:o,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:i,borderRadius:r,boxShadow:s,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${e}-inner`]:{borderRadius:t.min(r,UVe)}},[`${e}-content`]:{position:"relative"}}),FOe(t,(d,f)=>{let{darkColor:p}=f;return{[`&${e}-${d}`]:{[`${e}-inner`]:{backgroundColor:p},[`${e}-arrow`]:{"--antd-arrow-background-color":p}}}})),{"&-rtl":{direction:"rtl"}})},sme(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow}}]},fDt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+70},S$({contentRadius:t.borderRadius,limitVerticalRadius:!0})),b$(Zr(t,{borderRadiusOuter:Math.min(t.borderRadiusOuter,4)}))),jVe=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Fl("Tooltip",o=>{const{borderRadius:i,colorTextLightSolid:r,colorBgSpotlight:a}=o,l=Zr(o,{tooltipMaxWidth:250,tooltipColor:r,tooltipBorderRadius:i,tooltipBg:a});return[dDt(l),PW(o,"zoom-big-fast")]},fDt,{resetStyle:!1,injectStyle:e})(t)},hDt=jk.map(t=>`${t}-inverse`),pDt=["success","processing","error","default","warning"];function YVe(t){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat(Xa(hDt),Xa(jk)).includes(t):jk.includes(t)}function gDt(t){return pDt.includes(t)}function OVe(t,e){const n=YVe(e),o=Gn({[`${t}-${e}`]:e&&n}),i={},r={};return e&&!n&&(i.background=e,r["--antd-arrow-background-color"]=e),{className:o,overlayStyle:i,arrowStyle:r}}const mDt=t=>{const{prefixCls:e,className:n,placement:o="top",title:i,color:r,overlayInnerStyle:a}=t,{getPrefixCls:l}=m.useContext(Mi),s=l("tooltip",e),[c,u,d]=jVe(s),f=OVe(s,r),p=f.arrowStyle,g=Object.assign(Object.assign({},a),f.overlayStyle),A=Gn(u,d,s,`${s}-pure`,`${s}-placement-${o}`,n,f.className);return c(m.createElement("div",{className:A,style:p},m.createElement("div",{className:`${s}-arrow`}),m.createElement(lme,Object.assign({},t,{className:u,prefixCls:s,overlayInnerStyle:g}),i)))};var yDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,openClassName:r,getTooltipContainer:a,overlayClassName:l,color:s,overlayInnerStyle:c,children:u,afterOpenChange:d,afterVisibleChange:f,destroyTooltipOnHide:p,arrow:g=!0,title:A,overlay:w,builtinPlacements:b,arrowPointAtCenter:C=!1,autoAdjustOverflow:P=!0}=t,v=!!g,[,T]=Yu(),{getPopupContainer:y,getPrefixCls:S,direction:x}=m.useContext(Mi),R=Hb(),H=m.useRef(null),D=()=>{var ye;(ye=H.current)===null||ye===void 0||ye.forceAlign()};m.useImperativeHandle(e,()=>({forceAlign:D,forcePopupAlign:()=>{R.deprecated(!1,"forcePopupAlign","forceAlign"),D()}}));const[k,W]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),N=!A&&!w&&A!==0,L=ye=>{var oe,ge;W(N?!1:ye),N||((oe=t.onOpenChange)===null||oe===void 0||oe.call(t,ye),(ge=t.onVisibleChange)===null||ge===void 0||ge.call(t,ye))},E=m.useMemo(()=>{var ye,oe;let ge=C;return typeof g=="object"&&(ge=(oe=(ye=g.pointAtCenter)!==null&&ye!==void 0?ye:g.arrowPointAtCenter)!==null&&oe!==void 0?oe:C),b||BVe({arrowPointAtCenter:ge,autoAdjustOverflow:P,arrowWidth:v?T.sizePopupArrow:0,borderRadius:T.borderRadius,offset:T.marginXXS,visibleFirst:!0})},[C,g,b,T]),U=m.useMemo(()=>A===0?A:w||A||"",[w,A]),F=m.createElement(k9,null,typeof U=="function"?U():U),{getPopupContainer:B,placement:_="top",mouseEnterDelay:Y=.1,mouseLeaveDelay:O=.1,overlayStyle:J,rootClassName:Z}=t,ie=yDt(t,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),ee=S("tooltip",i),q=S(),ae=t["data-popover-inject"];let ne=k;!("open"in t)&&!("visible"in t)&&N&&(ne=!1);const se=m.isValidElement(u)&&!u_e(u)?u:m.createElement("span",null,u),le=se.props,te=!le.className||typeof le.className=="string"?Gn(le.className,r||`${ee}-open`):le.className,[he,pe,fe]=jVe(ee,!ae),$=OVe(ee,s),de=$.arrowStyle,Se=Object.assign(Object.assign({},c),$.overlayStyle),Ce=Gn(l,{[`${ee}-rtl`]:x==="rtl"},$.className,Z,pe,fe),[ve,Ie]=k7("Tooltip",ie.zIndex),ze=m.createElement(lDt,Object.assign({},ie,{zIndex:ve,showArrow:v,placement:_,mouseEnterDelay:Y,mouseLeaveDelay:O,prefixCls:ee,overlayClassName:Ce,overlayStyle:Object.assign(Object.assign({},de),J),getTooltipContainer:B||a||y,ref:H,builtinPlacements:E,overlay:F,visible:ne,onVisibleChange:L,afterVisibleChange:d??f,overlayInnerStyle:Se,arrowContent:m.createElement("span",{className:`${ee}-arrow-content`}),motion:{motionName:D9(q,"zoom-big-fast",t.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!p}),ne?Ou(se,{className:te}):se);return he(m.createElement(yW.Provider,{value:Ie},ze))}),J6=ADt;J6._InternalPanelDoNotUseOrYouWillBeFired=mDt;const wDt=t=>{const{componentCls:e,popoverColor:n,titleMinWidth:o,fontWeightStrong:i,innerPadding:r,boxShadowSecondary:a,colorTextHeading:l,borderRadiusLG:s,zIndexPopup:c,titleMarginBottom:u,colorBgElevated:d,popoverBg:f,titleBorderBottom:p,innerContentPadding:g,titlePadding:A}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:c,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${e}-content`]:{position:"relative"},[`${e}-inner`]:{backgroundColor:f,backgroundClip:"padding-box",borderRadius:s,boxShadow:a,padding:r},[`${e}-title`]:{minWidth:o,marginBottom:u,color:l,fontWeight:i,borderBottom:p,padding:A},[`${e}-inner-content`]:{color:n,padding:g}})},sme(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow,display:"inline-block",[`${e}-content`]:{display:"inline-block"}}}]},vDt=t=>{const{componentCls:e}=t;return{[e]:jk.map(n=>{const o=t[`${n}6`];return{[`&${e}-${n}`]:{"--antd-arrow-background-color":o,[`${e}-inner`]:{backgroundColor:o},[`${e}-arrow`]:{background:"transparent"}}}})}},xDt=t=>{const{lineWidth:e,controlHeight:n,fontHeight:o,padding:i,wireframe:r,zIndexPopupBase:a,borderRadiusLG:l,marginXS:s,lineType:c,colorSplit:u,paddingSM:d}=t,f=n-o,p=f/2,g=f/2-e,A=i;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:a+30},b$(t)),S$({contentRadius:l,limitVerticalRadius:!0})),{innerPadding:r?0:12,titleMarginBottom:r?0:s,titlePadding:r?`${p}px ${A}px ${g}px`:0,titleBorderBottom:r?`${e}px ${c} ${u}`:"none",innerContentPadding:r?`${d}px ${A}px`:0})},_Ve=Fl("Popover",t=>{const{colorBgElevated:e,colorText:n}=t,o=Zr(t,{popoverBg:e,popoverColor:n});return[wDt(o),vDt(o),PW(o,"zoom-big")]},xDt,{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]});var bDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i!e&&!n?null:m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${t}-title`},bG(e)),m.createElement("div",{className:`${t}-inner-content`},bG(n))),TDt=t=>{const{hashId:e,prefixCls:n,className:o,style:i,placement:r="top",title:a,content:l,children:s}=t;return m.createElement("div",{className:Gn(e,n,`${n}-pure`,`${n}-placement-${r}`,o),style:i},m.createElement("div",{className:`${n}-arrow`}),m.createElement(lme,Object.assign({},t,{className:e,prefixCls:n}),s||SDt(n,a,l)))},PDt=t=>{const{prefixCls:e,className:n}=t,o=bDt(t,["prefixCls","className"]),{getPrefixCls:i}=m.useContext(Mi),r=i("popover",e),[a,l,s]=_Ve(r);return a(m.createElement(TDt,Object.assign({},o,{prefixCls:r,hashId:l,className:Gn(n,s)})))};var CDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{title:e,content:n,prefixCls:o}=t;return m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${o}-title`},bG(e)),m.createElement("div",{className:`${o}-inner-content`},bG(n)))},HDt=m.forwardRef((t,e)=>{var n,o;const{prefixCls:i,title:r,content:a,overlayClassName:l,placement:s="top",trigger:c="hover",children:u,mouseEnterDelay:d=.1,mouseLeaveDelay:f=.1,onOpenChange:p,overlayStyle:g={}}=t,A=CDt(t,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle"]),{getPrefixCls:w}=m.useContext(Mi),b=w("popover",i),[C,P,v]=_Ve(b),T=w(),y=Gn(l,P,v),[S,x]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),R=(k,W)=>{x(k,!0),p==null||p(k,W)},H=k=>{k.keyCode===hr.ESC&&R(!1,k)},D=k=>{R(k)};return C(m.createElement(J6,Object.assign({placement:s,trigger:c,mouseEnterDelay:d,mouseLeaveDelay:f,overlayStyle:g},A,{prefixCls:b,overlayClassName:y,ref:e,open:S,onOpenChange:D,overlay:r||a?m.createElement(RDt,{prefixCls:b,title:r,content:a}):null,transitionName:D9(T,"zoom-big",A.transitionName),"data-popover-inject":!0}),Ou(u,{onKeyDown:k=>{var W,N;m.isValidElement(u)&&((N=u==null?void 0:(W=u.props).onKeyDown)===null||N===void 0||N.call(W,k)),H(k)}})))}),gl=HDt;gl._InternalPanelDoNotUseOrYouWillBeFired=PDt;const dve=t=>{const{size:e,shape:n}=m.useContext(P0e),o=m.useMemo(()=>({size:t.size||e,shape:t.shape||n}),[t.size,t.shape,e,n]);return m.createElement(P0e.Provider,{value:o},t.children)},MDt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i,rootClassName:r,style:a,maxCount:l,maxStyle:s,size:c,shape:u,maxPopoverPlacement:d="top",maxPopoverTrigger:f="hover",children:p}=t,g=e("avatar",o),A=`${g}-group`,w=j0(g),[b,C,P]=LVe(g,w),v=Gn(A,{[`${A}-rtl`]:n==="rtl"},P,w,i,r,C),T=E9(p).map((S,x)=>Ou(S,{key:`avatar-key-${x}`})),y=T.length;if(l&&l1&&arguments[1]!==void 0?arguments[1]:!1;if(w$(t)){var n=t.nodeName.toLowerCase(),o=["input","select","textarea","button"].includes(n)||t.isContentEditable||n==="a"&&!!t.getAttribute("href"),i=t.getAttribute("tabindex"),r=Number(i),a=null;return i&&!Number.isNaN(r)?a=r:o&&a===null&&(a=0),o&&t.disabled&&(a=null),a!==null&&(a>=0||e&&a<0)}return!1}function VDt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=Wo(t.querySelectorAll("*")).filter(function(o){return fve(o,e)});return fve(t,e)&&n.unshift(t),n}var R0e=Bn.LEFT,H0e=Bn.RIGHT,M0e=Bn.UP,E_=Bn.DOWN,k_=Bn.ENTER,ZVe=Bn.ESC,bz=Bn.HOME,Sz=Bn.END,hve=[M0e,E_,R0e,H0e];function GDt(t,e,n,o){var i,r="prev",a="next",l="children",s="parent";if(t==="inline"&&o===k_)return{inlineTrigger:!0};var c=_t(_t({},M0e,r),E_,a),u=_t(_t(_t(_t({},R0e,n?a:r),H0e,n?r:a),E_,l),k_,l),d=_t(_t(_t(_t(_t(_t({},M0e,r),E_,a),k_,l),ZVe,s),R0e,n?l:s),H0e,n?s:l),f={inline:c,horizontal:u,vertical:d,inlineSub:c,horizontalSub:d,verticalSub:d},p=(i=f["".concat(t).concat(e?"":"Sub")])===null||i===void 0?void 0:i[o];switch(p){case r:return{offset:-1,sibling:!0};case a:return{offset:1,sibling:!0};case s:return{offset:-1,sibling:!1};case l:return{offset:1,sibling:!1};default:return null}}function XDt(t){for(var e=t;e;){if(e.getAttribute("data-menu-list"))return e;e=e.parentElement}return null}function JDt(t,e){for(var n=t||document.activeElement;n;){if(e.has(n))return n;n=n.parentElement}return null}function ume(t,e){var n=VDt(t,!0);return n.filter(function(o){return e.has(o)})}function pve(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!t)return null;var i=ume(t,e),r=i.length,a=i.findIndex(function(l){return n===l});return o<0?a===-1?a=r-1:a-=1:o>0&&(a+=1),a=(a+r)%r,i[a]}var I0e=function(e,n){var o=new Set,i=new Map,r=new Map;return e.forEach(function(a){var l=document.querySelector("[data-menu-id='".concat(JVe(n,a),"']"));l&&(o.add(l),r.set(l,a),i.set(a,l))}),{elements:o,key2element:i,element2key:r}};function KDt(t,e,n,o,i,r,a,l,s,c){var u=m.useRef(),d=m.useRef();d.current=e;var f=function(){za.cancel(u.current)};return m.useEffect(function(){return function(){f()}},[]),function(p){var g=p.which;if([].concat(hve,[k_,ZVe,bz,Sz]).includes(g)){var A=r(),w=I0e(A,o),b=w,C=b.elements,P=b.key2element,v=b.element2key,T=P.get(e),y=JDt(T,C),S=v.get(y),x=GDt(t,a(S,!0).length===1,n,g);if(!x&&g!==bz&&g!==Sz)return;(hve.includes(g)||[bz,Sz].includes(g))&&p.preventDefault();var R=function(U){if(U){var F=U,B=U.querySelector("a");B!=null&&B.getAttribute("href")&&(F=B);var _=v.get(U);l(_),f(),u.current=za(function(){d.current===_&&F.focus()})}};if([bz,Sz].includes(g)||x.sibling||!y){var H;!y||t==="inline"?H=i.current:H=XDt(y);var D,k=ume(H,C);g===bz?D=k[0]:g===Sz?D=k[k.length-1]:D=pve(H,C,y,x.offset),R(D)}else if(x.inlineTrigger)s(S);else if(x.offset>0)s(S,!0),f(),u.current=za(function(){w=I0e(A,o);var E=y.getAttribute("aria-controls"),U=document.getElementById(E),F=pve(U,w.elements);R(F)},5);else if(x.offset<0){var W=a(S,!0),N=W[W.length-2],L=P.get(N);s(N,!1),R(L)}}c==null||c(p)}}function qDt(t){Promise.resolve().then(t)}var dme="__RC_UTIL_PATH_SPLIT__",gve=function(e){return e.join(dme)},$Dt=function(e){return e.split(dme)},z0e="rc-menu-more";function QDt(){var t=m.useState({}),e=on(t,2),n=e[1],o=m.useRef(new Map),i=m.useRef(new Map),r=m.useState([]),a=on(r,2),l=a[0],s=a[1],c=m.useRef(0),u=m.useRef(!1),d=function(){u.current||n({})},f=m.useCallback(function(P,v){var T=gve(v);i.current.set(T,P),o.current.set(P,T),c.current+=1;var y=c.current;qDt(function(){y===c.current&&d()})},[]),p=m.useCallback(function(P,v){var T=gve(v);i.current.delete(T),o.current.delete(P)},[]),g=m.useCallback(function(P){s(P)},[]),A=m.useCallback(function(P,v){var T=o.current.get(P)||"",y=$Dt(T);return v&&l.includes(y[0])&&y.unshift(z0e),y},[l]),w=m.useCallback(function(P,v){return P.some(function(T){var y=A(T,!0);return y.includes(v)})},[A]),b=function(){var v=Wo(o.current.keys());return l.length&&v.push(z0e),v},C=m.useCallback(function(P){var v="".concat(o.current.get(P)).concat(dme),T=new Set;return Wo(i.current.keys()).forEach(function(y){y.startsWith(v)&&T.add(i.current.get(y))}),T},[]);return m.useEffect(function(){return function(){u.current=!0}},[]),{registerPath:f,unregisterPath:p,refreshOverflowKeys:g,isSubPathKey:w,getKeyPath:A,getKeys:b,getSubPathKeys:C}}function gD(t){var e=m.useRef(t);e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a1&&(C.motionAppear=!1);var P=C.onVisibleChanged;return C.onVisibleChanged=function(v){return!f.current&&!v&&w(!0),P==null?void 0:P(v)},A?null:m.createElement(qk,{mode:r,locked:!f.current},m.createElement(Hg,so({visible:b},C,{forceRender:s,removeOnLeave:!1,leavedClassName:"".concat(l,"-hidden")}),function(v){var T=v.className,y=v.style;return m.createElement(fme,{id:e,className:T,style:y},i)}))}var gEt=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],mEt=["active"],yEt=function(e){var n=e.style,o=e.className,i=e.title,r=e.eventKey;e.warnKey;var a=e.disabled,l=e.internalPopupClose,s=e.children,c=e.itemIcon,u=e.expandIcon,d=e.popupClassName,f=e.popupOffset,p=e.popupStyle,g=e.onClick,A=e.onMouseEnter,w=e.onMouseLeave,b=e.onTitleClick,C=e.onTitleMouseEnter,P=e.onTitleMouseLeave,v=ir(e,gEt),T=KVe(r),y=m.useContext(U2),S=y.prefixCls,x=y.mode,R=y.openKeys,H=y.disabled,D=y.overflowDisabled,k=y.activeKey,W=y.selectedKeys,N=y.itemIcon,L=y.expandIcon,E=y.onItemClick,U=y.onOpenChange,F=y.onActive,B=m.useContext(cme),_=B._internalRenderSubMenuItem,Y=m.useContext(QVe),O=Y.isSubPathKey,J=zH(),Z="".concat(S,"-submenu"),ie=H||a,ee=m.useRef(),q=m.useRef(),ae=c??N,ne=u??L,se=R.includes(r),le=!D&&se,te=O(W,r),he=eGe(r,ie,C,P),pe=he.active,fe=ir(he,mEt),$=m.useState(!1),de=on($,2),Se=de[0],Ce=de[1],ve=function($e){ie||Ce($e)},Ie=function($e){ve(!0),A==null||A({key:r,domEvent:$e})},ze=function($e){ve(!1),w==null||w({key:r,domEvent:$e})},ye=m.useMemo(function(){return pe||(x!=="inline"?Se||O([k],r):!1)},[x,pe,k,Se,r,O]),oe=tGe(J.length),ge=function($e){ie||(b==null||b({key:r,domEvent:$e}),x==="inline"&&U(r,!se))},Ae=gD(function(Le){g==null||g(TG(Le)),E(Le)}),me=function($e){x!=="inline"&&U(r,$e)},Pe=function(){F(r)},Me=T&&"".concat(T,"-popup"),Te=m.createElement("div",so({role:"menuitem",style:oe,className:"".concat(Z,"-title"),tabIndex:ie?null:-1,ref:ee,title:typeof i=="string"?i:null,"data-menu-id":D&&T?null:T,"aria-expanded":le,"aria-haspopup":!0,"aria-controls":Me,"aria-disabled":ie,onClick:ge,onFocus:Pe},fe),i,m.createElement(nGe,{icon:x!=="horizontal"?ne:void 0,props:$t($t({},e),{},{isOpen:le,isSubMenu:!0})},m.createElement("i",{className:"".concat(Z,"-arrow")}))),De=m.useRef(x);if(x!=="inline"&&J.length>1?De.current="vertical":De.current=x,!D){var Ue=De.current;Te=m.createElement(hEt,{mode:Ue,prefixCls:Z,visible:!l&&le&&x!=="inline",popupClassName:d,popupOffset:f,popupStyle:p,popup:m.createElement(qk,{mode:Ue==="horizontal"?"vertical":Ue},m.createElement(fme,{id:Me,ref:q},s)),disabled:ie,onVisibleChange:me},Te)}var Oe=m.createElement(H2.Item,so({role:"none"},v,{component:"li",style:n,className:_n(Z,"".concat(Z,"-").concat(x),o,_t(_t(_t(_t({},"".concat(Z,"-open"),le),"".concat(Z,"-active"),ye),"".concat(Z,"-selected"),te),"".concat(Z,"-disabled"),ie)),onMouseEnter:Ie,onMouseLeave:ze}),Te,!D&&m.createElement(pEt,{id:Me,open:le,keyPath:J},s));return _&&(Oe=_(Oe,e,{selected:te,active:ye,open:le,disabled:ie})),m.createElement(qk,{onItemClick:Ae,mode:x==="horizontal"?"vertical":x,itemIcon:ae,expandIcon:ne},Oe)};function P$(t){var e=t.eventKey,n=t.children,o=zH(e),i=hme(n,o),r=T$();m.useEffect(function(){if(r)return r.registerPath(e,o),function(){r.unregisterPath(e,o)}},[o]);var a;return r?a=i:a=m.createElement(yEt,t,i),m.createElement($Ve.Provider,{value:o},a)}var AEt=["className","title","eventKey","children"],wEt=["children"],vEt=function(e){var n=e.className,o=e.title;e.eventKey;var i=e.children,r=ir(e,AEt),a=m.useContext(U2),l=a.prefixCls,s="".concat(l,"-item-group");return m.createElement("li",so({role:"presentation"},r,{onClick:function(u){return u.stopPropagation()},className:_n(s,n)}),m.createElement("div",{role:"presentation",className:"".concat(s,"-title"),title:typeof o=="string"?o:void 0},o),m.createElement("ul",{role:"group",className:"".concat(s,"-list")},i))};function C$(t){var e=t.children,n=ir(t,wEt),o=zH(n.eventKey),i=hme(e,o),r=T$();return r?i:m.createElement(vEt,MH(n,["warnKey"]),i)}function pme(t){var e=t.className,n=t.style,o=m.useContext(U2),i=o.prefixCls,r=T$();return r?null:m.createElement("li",{role:"separator",className:_n("".concat(i,"-item-divider"),e),style:n})}var xEt=["label","children","key","type"];function D0e(t){return(t||[]).map(function(e,n){if(e&&gr(e)==="object"){var o=e,i=o.label,r=o.children,a=o.key,l=o.type,s=ir(o,xEt),c=a??"tmp-".concat(n);return r||l==="group"?l==="group"?m.createElement(C$,so({key:c},s,{title:i}),D0e(r)):m.createElement(P$,so({key:c},s,{title:i}),D0e(r)):l==="divider"?m.createElement(pme,so({key:c},s)):m.createElement(IW,so({key:c},s),i)}return null}).filter(function(e){return e})}function bEt(t,e,n){var o=t;return e&&(o=D0e(e)),hme(o,n)}var SEt=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],HT=[],TEt=m.forwardRef(function(t,e){var n,o=t,i=o.prefixCls,r=i===void 0?"rc-menu":i,a=o.rootClassName,l=o.style,s=o.className,c=o.tabIndex,u=c===void 0?0:c,d=o.items,f=o.children,p=o.direction,g=o.id,A=o.mode,w=A===void 0?"vertical":A,b=o.inlineCollapsed,C=o.disabled,P=o.disabledOverflow,v=o.subMenuOpenDelay,T=v===void 0?.1:v,y=o.subMenuCloseDelay,S=y===void 0?.1:y,x=o.forceSubMenuRender,R=o.defaultOpenKeys,H=o.openKeys,D=o.activeKey,k=o.defaultActiveFirst,W=o.selectable,N=W===void 0?!0:W,L=o.multiple,E=L===void 0?!1:L,U=o.defaultSelectedKeys,F=o.selectedKeys,B=o.onSelect,_=o.onDeselect,Y=o.inlineIndent,O=Y===void 0?24:Y,J=o.motion,Z=o.defaultMotions,ie=o.triggerSubMenuAction,ee=ie===void 0?"hover":ie,q=o.builtinPlacements,ae=o.itemIcon,ne=o.expandIcon,se=o.overflowedIndicator,le=se===void 0?"...":se,te=o.overflowedIndicatorPopupClassName,he=o.getPopupContainer,pe=o.onClick,fe=o.onOpenChange,$=o.onKeyDown;o.openAnimation,o.openTransitionName;var de=o._internalRenderMenuItem,Se=o._internalRenderSubMenuItem,Ce=ir(o,SEt),ve=m.useMemo(function(){return bEt(f,d,HT)},[f,d]),Ie=m.useState(!1),ze=on(Ie,2),ye=ze[0],oe=ze[1],ge=m.useRef(),Ae=eEt(g),me=p==="rtl",Pe=Rs(R,{value:H,postState:function(po){return po||HT}}),Me=on(Pe,2),Te=Me[0],De=Me[1],Ue=function(po){var to=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function uo(){De(po),fe==null||fe(po)}to?Td.flushSync(uo):uo()},Oe=m.useState(Te),Le=on(Oe,2),$e=Le[0],We=Le[1],Ee=m.useRef(!1),Fe=m.useMemo(function(){return(w==="inline"||w==="vertical")&&b?["vertical",b]:[w,!1]},[w,b]),Ge=on(Fe,2),rt=Ge[0],Ve=Ge[1],xt=rt==="inline",dt=m.useState(rt),Qe=on(dt,2),ut=Qe[0],ft=Qe[1],at=m.useState(Ve),ot=on(at,2),et=ot[0],_e=ot[1];m.useEffect(function(){ft(rt),_e(Ve),Ee.current&&(xt?De($e):Ue(HT))},[rt,Ve]);var nt=m.useState(0),yt=on(nt,2),Tt=yt[0],Rt=yt[1],Wt=Tt>=ve.length-1||ut!=="horizontal"||P;m.useEffect(function(){xt&&We(Te)},[Te]),m.useEffect(function(){return Ee.current=!0,function(){Ee.current=!1}},[]);var Ct=QDt(),At=Ct.registerPath,Ft=Ct.unregisterPath,Ke=Ct.refreshOverflowKeys,Je=Ct.isSubPathKey,ct=Ct.getKeyPath,Pt=Ct.getKeys,Ne=Ct.getSubPathKeys,lt=m.useMemo(function(){return{registerPath:At,unregisterPath:Ft}},[At,Ft]),Ye=m.useMemo(function(){return{isSubPathKey:Je}},[Je]);m.useEffect(function(){Ke(Wt?HT:ve.slice(Tt+1).map(function(si){return si.key}))},[Tt,Wt]);var st=Rs(D||k&&((n=ve[0])===null||n===void 0?void 0:n.key),{value:D}),je=on(st,2),mt=je[0],Ht=je[1],wt=gD(function(si){Ht(si)}),It=gD(function(){Ht(void 0)});m.useImperativeHandle(e,function(){return{list:ge.current,focus:function(po){var to,uo=Pt(),qo=I0e(uo,Ae),Hi=qo.elements,vi=qo.key2element,Cn=qo.element2key,yn=ume(ge.current,Hi),no=mt??(yn[0]?Cn.get(yn[0]):(to=ve.find(function(Lo){return!Lo.props.disabled}))===null||to===void 0?void 0:to.key),Eo=vi.get(no);if(no&&Eo){var ni;Eo==null||(ni=Eo.focus)===null||ni===void 0||ni.call(Eo,po)}}}});var Et=Rs(U||[],{value:F,postState:function(po){return Array.isArray(po)?po:po==null?HT:[po]}}),zt=on(Et,2),ln=zt[0],Xt=zt[1],fn=function(po){if(N){var to=po.key,uo=ln.includes(to),qo;E?uo?qo=ln.filter(function(vi){return vi!==to}):qo=[].concat(Wo(ln),[to]):qo=[to],Xt(qo);var Hi=$t($t({},po),{},{selectedKeys:qo});uo?_==null||_(Hi):B==null||B(Hi)}!E&&Te.length&&ut!=="inline"&&Ue(HT)},rn=gD(function(si){pe==null||pe(TG(si)),fn(si)}),bn=gD(function(si,po){var to=Te.filter(function(qo){return qo!==si});if(po)to.push(si);else if(ut!=="inline"){var uo=Ne(si);to=to.filter(function(qo){return!uo.has(qo)})}e7(Te,to,!0)||Ue(to,!0)}),Tn=function(po,to){var uo=to??!Te.includes(po);bn(po,uo)},Un=KDt(ut,mt,me,Ae,ge,Pt,ct,Ht,Tn,$);m.useEffect(function(){oe(!0)},[]);var Ai=m.useMemo(function(){return{_internalRenderMenuItem:de,_internalRenderSubMenuItem:Se}},[de,Se]),vo=ut!=="horizontal"||P?ve:ve.map(function(si,po){return m.createElement(qk,{key:si.key,overflowDisabled:po>Tt},si)}),Oo=m.createElement(H2,so({id:g,ref:ge,prefixCls:"".concat(r,"-overflow"),component:"ul",itemComponent:IW,className:_n(r,"".concat(r,"-root"),"".concat(r,"-").concat(ut),s,_t(_t({},"".concat(r,"-inline-collapsed"),et),"".concat(r,"-rtl"),me),a),dir:p,style:l,role:"menu",tabIndex:u,data:vo,renderRawItem:function(po){return po},renderRawRest:function(po){var to=po.length,uo=to?ve.slice(-to):null;return m.createElement(P$,{eventKey:z0e,title:le,disabled:Wt,internalPopupClose:to===0,popupClassName:te},uo)},maxCount:ut!=="horizontal"||P?H2.INVALIDATE:H2.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(po){Rt(po)},onKeyDown:Un},Ce));return m.createElement(cme.Provider,{value:Ai},m.createElement(XVe.Provider,{value:Ae},m.createElement(qk,{prefixCls:r,rootClassName:a,mode:ut,openKeys:Te,rtl:me,disabled:C,motion:ye?J:null,defaultMotions:ye?Z:null,activeKey:mt,onActive:wt,onInactive:It,selectedKeys:ln,inlineIndent:O,subMenuOpenDelay:T,subMenuCloseDelay:S,forceSubMenuRender:x,builtinPlacements:q,triggerSubMenuAction:ee,getPopupContainer:he,itemIcon:ae,expandIcon:ne,onItemClick:rn,onOpenChange:bn},m.createElement(QVe.Provider,{value:Ye},Oo),m.createElement("div",{style:{display:"none"},"aria-hidden":!0},m.createElement(qVe.Provider,{value:lt},ve)))))}),DH=TEt;DH.Item=IW;DH.SubMenu=P$;DH.ItemGroup=C$;DH.Divider=pme;var PEt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},CEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:PEt}))},gme=m.forwardRef(CEt),REt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},HEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:REt}))},yve=m.forwardRef(HEt);const iGe=m.createContext({});var MEt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},IEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:MEt}))},mme=m.forwardRef(IEt),zEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,className:n,dashed:o}=t,i=zEt(t,["prefixCls","className","dashed"]),{getPrefixCls:r}=m.useContext(Mi),a=r("menu",e),l=Gn({[`${a}-item-divider-dashed`]:!!o},n);return m.createElement(pme,Object.assign({className:l},i))},PG=m.createContext({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),aGe=t=>{var e;const{className:n,children:o,icon:i,title:r,danger:a}=t,{prefixCls:l,firstLevel:s,direction:c,disableMenuItemTitleTooltip:u,inlineCollapsed:d}=m.useContext(PG),f=C=>{const P=m.createElement("span",{className:`${l}-title-content`},o);return(!i||m.isValidElement(o)&&o.type==="span")&&o&&C&&s&&typeof o=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},o.charAt(0)):P},{siderCollapsed:p}=m.useContext(iGe);let g=r;typeof r>"u"?g=s?o:"":r===!1&&(g="");const A={title:g};!p&&!d&&(A.title=null,A.open=!1);const w=E9(o).length;let b=m.createElement(IW,Object.assign({},lp(t,["title","icon","danger"]),{className:Gn({[`${l}-item-danger`]:a,[`${l}-item-only-child`]:(i?w+1:w)===1},n),title:typeof r=="string"?r:void 0}),Ou(i,{className:Gn(m.isValidElement(i)?(e=i.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),f(d));return u||(b=m.createElement(J6,Object.assign({},A,{placement:c==="rtl"?"left":"right",overlayClassName:`${l}-inline-collapsed-tooltip`}),b)),b},lGe=t=>{var e;const{popupClassName:n,icon:o,title:i,theme:r}=t,a=m.useContext(PG),{prefixCls:l,inlineCollapsed:s,theme:c}=a,u=zH();let d;if(!o)d=s&&!u.length&&i&&typeof i=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},i.charAt(0)):m.createElement("span",{className:`${l}-title-content`},i);else{const g=m.isValidElement(i)&&i.type==="span";d=m.createElement(m.Fragment,null,Ou(o,{className:Gn(m.isValidElement(o)?(e=o.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),g?i:m.createElement("span",{className:`${l}-title-content`},i))}const f=m.useMemo(()=>Object.assign(Object.assign({},a),{firstLevel:!1}),[a]),[p]=k7("Menu");return m.createElement(PG.Provider,{value:f},m.createElement(P$,Object.assign({},lp(t,["icon"]),{title:d,popupClassName:Gn(l,n,`${l}-${r||c}`),popupStyle:{zIndex:p}})))};var DEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(e&&typeof e=="object"){const o=e,{label:i,children:r,key:a,type:l}=o,s=DEt(o,["label","children","key","type"]),c=a??`tmp-${n}`;return r||l==="group"?l==="group"?m.createElement(C$,Object.assign({key:c},s,{title:i}),E0e(r)):m.createElement(lGe,Object.assign({key:c},s,{title:i}),E0e(r)):l==="divider"?m.createElement(rGe,Object.assign({key:c},s)):m.createElement(aGe,Object.assign({key:c},s),i)}return null}).filter(e=>e)}function EEt(t){return m.useMemo(()=>t&&E0e(t),[t])}var kEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{children:n}=t,o=kEt(t,["children"]),i=m.useContext(CG),r=m.useMemo(()=>Object.assign(Object.assign({},i),o),[i,o.prefixCls,o.mode,o.selectable,o.rootClassName]),a=oTt(n),l=nTt(e,a?n.ref:null);return m.createElement(CG.Provider,{value:r},m.createElement(k9,null,a?m.cloneElement(n,{ref:l}):n))}),FEt=t=>{const{componentCls:e,motionDurationSlow:n,horizontalLineHeight:o,colorSplit:i,lineWidth:r,lineType:a,itemPaddingInline:l}=t;return{[`${e}-horizontal`]:{lineHeight:o,border:0,borderBottom:`${Ut(r)} ${a} ${i}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${e}-item, ${e}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:l},[`> ${e}-item:hover, + `]:{paddingInlineEnd:t.calc(t.fontSize).mul(1.5).equal()}}}},Eie(Zr(t,{controlHeight:t.singleItemHeightLG,fontSize:t.fontSizeLG,borderRadius:t.borderRadiusLG}),"lg")]}const Szt=t=>{const{fontSize:e,lineHeight:n,lineWidth:o,controlHeight:i,controlHeightSM:r,controlHeightLG:a,paddingXXS:l,controlPaddingHorizontal:s,zIndexPopupBase:c,colorText:u,fontWeightStrong:d,controlItemBgActive:f,controlItemBgHover:p,colorBgContainer:g,colorFillSecondary:A,colorBgContainerDisabled:w,colorTextDisabled:b}=t,C=l*2,P=o*2,v=Math.min(i-C,i-P),T=Math.min(r-C,r-P),y=Math.min(a-C,a-P);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(l/2),zIndexPopup:c+50,optionSelectedColor:u,optionSelectedFontWeight:d,optionSelectedBg:f,optionActiveBg:p,optionPadding:`${(i-e*n)/2}px ${s}px`,optionFontSize:e,optionLineHeight:n,optionHeight:i,selectorBg:g,clearBg:g,singleItemHeightLG:a,multipleItemBg:A,multipleItemBorderColor:"transparent",multipleItemHeight:v,multipleItemHeightSM:T,multipleItemHeightLG:y,multipleSelectorBgDisabled:w,multipleItemColorDisabled:b,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(t.fontSize*1.25)}},RVe=(t,e)=>{const{componentCls:n,antCls:o,controlOutlineWidth:i}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${e.borderColor}`,background:t.selectorBg},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{borderColor:e.hoverBorderHover},[`${n}-focused& ${n}-selector`]:{borderColor:e.activeBorderColor,boxShadow:`0 0 0 ${Ut(i)} ${e.activeShadowColor}`,outline:0}}}},lve=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},RVe(t,e))}),Tzt=t=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},RVe(t,{borderColor:t.colorBorder,hoverBorderHover:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadowColor:t.controlOutline})),lve(t,{status:"error",borderColor:t.colorError,hoverBorderHover:t.colorErrorHover,activeBorderColor:t.colorError,activeShadowColor:t.colorErrorOutline})),lve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderHover:t.colorWarningHover,activeBorderColor:t.colorWarning,activeShadowColor:t.colorWarningOutline})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}})}),HVe=(t,e)=>{const{componentCls:n,antCls:o}=t;return{[`&:not(${n}-customize-input) ${n}-selector`]:{background:e.bg,border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,color:e.color},[`&:not(${n}-disabled):not(${n}-customize-input):not(${o}-pagination-size-changer)`]:{[`&:hover ${n}-selector`]:{background:e.hoverBg},[`${n}-focused& ${n}-selector`]:{background:t.selectorBg,borderColor:e.activeBorderColor,outline:0}}}},sve=(t,e)=>({[`&${t.componentCls}-status-${e.status}`]:Object.assign({},HVe(t,e))}),Pzt=t=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},HVe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary,color:t.colorText})),sve(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,color:t.colorError})),sve(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,color:t.colorWarning})),{[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{borderColor:t.colorBorder,background:t.colorBgContainerDisabled,color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}})}),Czt=t=>({"&-borderless":{[`${t.componentCls}-selector`]:{background:"transparent",borderColor:"transparent"},[`&${t.componentCls}-disabled`]:{[`&:not(${t.componentCls}-customize-input) ${t.componentCls}-selector`]:{color:t.colorTextDisabled}},[`&${t.componentCls}-multiple ${t.componentCls}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}),Rzt=t=>({[t.componentCls]:Object.assign(Object.assign(Object.assign({},Tzt(t)),Pzt(t)),Czt(t))}),Hzt=t=>{const{componentCls:e}=t;return{position:"relative",transition:`all ${t.motionDurationMid} ${t.motionEaseInOut}`,input:{cursor:"pointer"},[`${e}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},[`${e}-disabled&`]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},Mzt=t=>{const{componentCls:e}=t;return{[`${e}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},Izt=t=>{const{antCls:e,componentCls:n,inputPaddingHorizontalBase:o,iconCls:i}=t;return{[n]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${n}-customize-input) ${n}-selector`]:Object.assign(Object.assign({},Hzt(t)),Mzt(t)),[`${n}-selection-item`]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},Yx),{[`> ${e}-typography`]:{display:"inline"}}),[`${n}-selection-placeholder`]:Object.assign(Object.assign({},Yx),{flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}),[`${n}-arrow`]:Object.assign(Object.assign({},CH()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:`opacity ${t.motionDurationSlow} ease`,[i]:{verticalAlign:"top",transition:`transform ${t.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${n}-suffix)`]:{pointerEvents:"auto"}},[`${n}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${n}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:o,zIndex:1,display:"inline-block",width:t.fontSizeIcon,height:t.fontSizeIcon,marginTop:t.calc(t.fontSizeIcon).mul(-1).div(2).equal(),color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:`color ${t.motionDurationMid} ease, opacity ${t.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:t.colorTextTertiary}},"&:hover":{[`${n}-clear`]:{opacity:1},[`${n}-arrow:not(:last-child)`]:{opacity:0}}}),[`${n}-has-feedback`]:{[`${n}-clear`]:{insetInlineEnd:t.calc(o).add(t.fontSize).add(t.paddingXS).equal()}}}},zzt=t=>{const{componentCls:e}=t;return[{[e]:{[`&${e}-in-form-item`]:{width:"100%"}}},Izt(t),bzt(t),xzt(t),Azt(t),{[`${e}-rtl`]:{direction:"rtl"}},vW(t,{borderElCls:`${e}-selector`,focusElCls:`${e}-focused`})]},Dzt=Fl("Select",(t,e)=>{let{rootPrefixCls:n}=e;const o=Zr(t,{rootPrefixCls:n,inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[zzt(o),Rzt(o)]},Szt,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}});var Ezt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},kzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ezt}))},MVe=m.forwardRef(kzt),Fzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},Lzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Fzt}))},rme=m.forwardRef(Lzt),Wzt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},Nzt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Wzt}))},ame=m.forwardRef(Nzt);function IVe(t){let{suffixIcon:e,clearIcon:n,menuItemSelectedIcon:o,removeIcon:i,loading:r,multiple:a,hasFeedback:l,prefixCls:s,showSuffixIcon:c,feedbackIcon:u,showArrow:d,componentName:f}=t;const p=n??m.createElement(l$,null),g=C=>e===null&&!l&&!d?null:m.createElement(m.Fragment,null,c!==!1&&C,l&&u);let A=null;if(e!==void 0)A=g(e);else if(r)A=g(m.createElement(HH,{spin:!0}));else{const C=`${s}-suffix`;A=P=>{let{open:v,showSearch:T}=P;return g(v&&T?m.createElement(ame,{className:C}):m.createElement(rme,{className:C}))}}let w=null;o!==void 0?w=o:a?w=m.createElement(MVe,null):w=null;let b=null;return i!==void 0?b=i:b=m.createElement(E7,null),{clearIcon:p,suffixIcon:A,itemIcon:w,removeIcon:b}}function Uzt(t,e){return e!==void 0?e:t!==null}var Bzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i,className:r,rootClassName:a,getPopupContainer:l,popupClassName:s,dropdownClassName:c,listHeight:u=256,placement:d,listItemHeight:f,size:p,disabled:g,notFoundContent:A,status:w,builtinPlacements:b,dropdownMatchSelectWidth:C,popupMatchSelectWidth:P,direction:v,style:T,allowClear:y,variant:S,dropdownStyle:x,transitionName:R,tagRender:H,maxCount:D}=t,k=Bzt(t,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:W,getPrefixCls:N,renderEmpty:L,direction:E,virtual:U,popupMatchSelectWidth:F,popupOverflow:B,select:_}=m.useContext(Mi),[,Y]=Yu(),O=f??(Y==null?void 0:Y.controlHeight),J=N("select",o),Z=N(),ie=v??E,{compactSize:ee,compactItemClassnames:q}=F7(J,ie),[ae,ne]=IH(S,i),se=j0(J),[le,te,he]=Dzt(J,se),pe=m.useMemo(()=>{const{mode:Ee}=t;if(Ee!=="combobox")return Ee===zVe?"combobox":Ee},[t.mode]),fe=pe==="multiple"||pe==="tags",$=Uzt(t.suffixIcon,t.showArrow),de=(n=P??C)!==null&&n!==void 0?n:F,{status:Se,hasFeedback:Ce,isFormItemInput:ve,feedbackIcon:Ie}=m.useContext(Qp),ze=Mb(Se,w);let ye;A!==void 0?ye=A:pe==="combobox"?ye=null:ye=(L==null?void 0:L("Select"))||m.createElement(ime,{componentName:"Select"});const{suffixIcon:oe,itemIcon:ge,removeIcon:Ae,clearIcon:me}=IVe(Object.assign(Object.assign({},k),{multiple:fe,hasFeedback:Ce,feedbackIcon:Ie,showSuffixIcon:$,prefixCls:J,componentName:"Select"})),Pe=y===!0?{clearIcon:me}:y,Me=lp(k,["suffixIcon","itemIcon"]),Te=Gn(s||c,{[`${J}-dropdown-${ie}`]:ie==="rtl"},a,he,se,te),De=Rd(Ee=>{var Fe;return(Fe=p??ee)!==null&&Fe!==void 0?Fe:Ee}),Ne=m.useContext($p),Ye=g??Ne,Le=Gn({[`${J}-lg`]:De==="large",[`${J}-sm`]:De==="small",[`${J}-rtl`]:ie==="rtl",[`${J}-${ae}`]:ne,[`${J}-in-form-item`]:ve},o7(J,ze,Ce),q,_==null?void 0:_.className,r,a,he,se,te),$e=m.useMemo(()=>d!==void 0?d:ie==="rtl"?"bottomRight":"bottomLeft",[d,ie]),[We]=k7("SelectLike",x==null?void 0:x.zIndex);return le(m.createElement(ome,Object.assign({ref:e,virtual:U,showSearch:_==null?void 0:_.showSearch},Me,{style:Object.assign(Object.assign({},_==null?void 0:_.style),T),dropdownMatchSelectWidth:de,transitionName:D9(Z,"slide-up",R),builtinPlacements:yzt(b,B),listHeight:u,listItemHeight:O,mode:pe,prefixCls:J,placement:$e,direction:ie,suffixIcon:oe,menuItemSelectedIcon:ge,removeIcon:Ae,allowClear:Pe,notFoundContent:ye,className:Le,getPopupContainer:l||W,dropdownClassName:Te,disabled:Ye,dropdownStyle:Object.assign(Object.assign({},x),{zIndex:We}),maxCount:fe?D:void 0,tagRender:fe?H:void 0})))},Yo=m.forwardRef(jzt),Yzt=RW(Yo);Yo.SECRET_COMBOBOX_MODE_DO_NOT_USE=zVe;Yo.Option=nme;Yo.OptGroup=tme;Yo._InternalPanelDoNotUseOrYouWillBeFired=Yzt;const i7=["xxl","xl","lg","md","sm","xs"],Ozt=t=>({xs:`(max-width: ${t.screenXSMax}px)`,sm:`(min-width: ${t.screenSM}px)`,md:`(min-width: ${t.screenMD}px)`,lg:`(min-width: ${t.screenLG}px)`,xl:`(min-width: ${t.screenXL}px)`,xxl:`(min-width: ${t.screenXXL}px)`}),_zt=t=>{const e=t,n=[].concat(i7).reverse();return n.forEach((o,i)=>{const r=o.toUpperCase(),a=`screen${r}Min`,l=`screen${r}`;if(!(e[a]<=e[l]))throw new Error(`${a}<=${l} fails : !(${e[a]}<=${e[l]})`);if(i{const n=new Map;let o=-1,i={};return{matchHandlers:{},dispatch(r){return i=r,n.forEach(a=>a(i)),n.size>=1},subscribe(r){return n.size||this.register(),o+=1,n.set(o,r),r(i),o},unsubscribe(r){n.delete(r),n.size||this.unregister()},unregister(){Object.keys(e).forEach(r=>{const a=e[r],l=this.matchHandlers[a];l==null||l.mql.removeListener(l==null?void 0:l.listener)}),n.clear()},register(){Object.keys(e).forEach(r=>{const a=e[r],l=c=>{let{matches:u}=c;this.dispatch(Object.assign(Object.assign({},i),{[r]:u}))},s=window.matchMedia(a);s.addListener(l),this.matchHandlers[a]={mql:s,listener:l},l(s)})},responsiveMap:e}},[t])}function EVe(){const[,t]=m.useReducer(e=>e+1,0);return t}function x$(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const e=m.useRef({}),n=EVe(),o=DVe();return dx(()=>{const i=o.subscribe(r=>{e.current=r,t&&n()});return()=>o.unsubscribe(i)},[]),e.current}const P0e=m.createContext({}),Vzt=t=>{const{antCls:e,componentCls:n,iconCls:o,avatarBg:i,avatarColor:r,containerSize:a,containerSizeLG:l,containerSizeSM:s,textFontSize:c,textFontSizeLG:u,textFontSizeSM:d,borderRadius:f,borderRadiusLG:p,borderRadiusSM:g,lineWidth:A,lineType:w}=t,b=(C,P,v)=>({width:C,height:C,borderRadius:"50%",[`&${n}-square`]:{borderRadius:v},[`&${n}-icon`]:{fontSize:P,[`> ${o}`]:{margin:0}}});return{[n]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-flex",justifyContent:"center",alignItems:"center",overflow:"hidden",color:r,whiteSpace:"nowrap",textAlign:"center",verticalAlign:"middle",background:i,border:`${Ut(A)} ${w} transparent`,"&-image":{background:"transparent"},[`${e}-image-img`]:{display:"block"}}),b(a,c,f)),{"&-lg":Object.assign({},b(l,u,p)),"&-sm":Object.assign({},b(s,d,g)),"> img":{display:"block",width:"100%",height:"100%",objectFit:"cover"}})}},Gzt=t=>{const{componentCls:e,groupBorderColor:n,groupOverlapping:o,groupSpace:i}=t;return{[`${e}-group`]:{display:"inline-flex",[`${e}`]:{borderColor:n},"> *:not(:first-child)":{marginInlineStart:o}},[`${e}-group-popover`]:{[`${e} + ${e}`]:{marginInlineStart:i}}}},Xzt=t=>{const{controlHeight:e,controlHeightLG:n,controlHeightSM:o,fontSize:i,fontSizeLG:r,fontSizeXL:a,fontSizeHeading3:l,marginXS:s,marginXXS:c,colorBorderBg:u}=t;return{containerSize:e,containerSizeLG:n,containerSizeSM:o,textFontSize:Math.round((r+a)/2),textFontSizeLG:l,textFontSizeSM:i,groupSpace:c,groupOverlapping:-s,groupBorderColor:u}},kVe=Fl("Avatar",t=>{const{colorTextLightSolid:e,colorTextPlaceholder:n}=t,o=Zr(t,{avatarBg:n,avatarColor:e});return[Vzt(o),Gzt(o)]},Xzt);var Jzt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const[n,o]=m.useState(1),[i,r]=m.useState(!1),[a,l]=m.useState(!0),s=m.useRef(null),c=m.useRef(null),u=q2(e,s),{getPrefixCls:d,avatar:f}=m.useContext(Mi),p=m.useContext(P0e),g=()=>{if(!c.current||!s.current)return;const ae=c.current.offsetWidth,ne=s.current.offsetWidth;if(ae!==0&&ne!==0){const{gap:se=4}=t;se*2{r(!0)},[]),m.useEffect(()=>{l(!0),o(1)},[t.src]),m.useEffect(g,[t.gap]);const A=()=>{const{onError:ae}=t;(ae==null?void 0:ae())!==!1&&l(!1)},{prefixCls:w,shape:b,size:C,src:P,srcSet:v,icon:T,className:y,rootClassName:S,alt:x,draggable:R,children:H,crossOrigin:D}=t,k=Jzt(t,["prefixCls","shape","size","src","srcSet","icon","className","rootClassName","alt","draggable","children","crossOrigin"]),W=Rd(ae=>{var ne,se;return(se=(ne=C??(p==null?void 0:p.size))!==null&&ne!==void 0?ne:ae)!==null&&se!==void 0?se:"default"}),N=Object.keys(typeof W=="object"?W||{}:{}).some(ae=>["xs","sm","md","lg","xl","xxl"].includes(ae)),L=x$(N),E=m.useMemo(()=>{if(typeof W!="object")return{};const ae=i7.find(se=>L[se]),ne=W[ae];return ne?{width:ne,height:ne,fontSize:ne&&(T||H)?ne/2:18}:{}},[L,W]),U=d("avatar",w),F=j0(U),[B,_,Y]=kVe(U,F),O=Gn({[`${U}-lg`]:W==="large",[`${U}-sm`]:W==="small"}),J=m.isValidElement(P),Z=b||(p==null?void 0:p.shape)||"circle",ie=Gn(U,O,f==null?void 0:f.className,`${U}-${Z}`,{[`${U}-image`]:J||P&&a,[`${U}-icon`]:!!T},Y,F,y,S,_),ee=typeof W=="number"?{width:W,height:W,fontSize:T?W/2:18}:{};let q;if(typeof P=="string"&&a)q=m.createElement("img",{src:P,draggable:R,srcSet:v,onError:A,alt:x,crossOrigin:D});else if(J)q=P;else if(T)q=T;else if(i||n!==1){const ae=`scale(${n})`,ne={msTransform:ae,WebkitTransform:ae,transform:ae};q=m.createElement(bd,{onResize:g},m.createElement("span",{className:`${U}-string`,ref:c,style:Object.assign({},ne)},H))}else q=m.createElement("span",{className:`${U}-string`,style:{opacity:0},ref:c},H);return delete k.onError,delete k.gap,B(m.createElement("span",Object.assign({},k,{style:Object.assign(Object.assign(Object.assign(Object.assign({},ee),E),f==null?void 0:f.style),k.style),className:ie,ref:u}),q))},FVe=m.forwardRef(Kzt);var hr={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=hr.F1&&n<=hr.F12)return!1;switch(n){case hr.ALT:case hr.CAPS_LOCK:case hr.CONTEXT_MENU:case hr.CTRL:case hr.DOWN:case hr.END:case hr.ESC:case hr.HOME:case hr.INSERT:case hr.LEFT:case hr.MAC_FF_META:case hr.META:case hr.NUMLOCK:case hr.NUM_CENTER:case hr.PAGE_DOWN:case hr.PAGE_UP:case hr.PAUSE:case hr.PRINT_SCREEN:case hr.RIGHT:case hr.SHIFT:case hr.UP:case hr.WIN_KEY:case hr.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=hr.ZERO&&e<=hr.NINE||e>=hr.NUM_ZERO&&e<=hr.NUM_MULTIPLY||e>=hr.A&&e<=hr.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case hr.SPACE:case hr.QUESTION_MARK:case hr.NUM_PLUS:case hr.NUM_MINUS:case hr.NUM_PERIOD:case hr.NUM_DIVISION:case hr.SEMICOLON:case hr.DASH:case hr.EQUALS:case hr.COMMA:case hr.PERIOD:case hr.SLASH:case hr.APOSTROPHE:case hr.SINGLE_QUOTE:case hr.OPEN_SQUARE_BRACKET:case hr.BACKSLASH:case hr.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};const bG=t=>t?typeof t=="function"?t():t:null;function lme(t){var e=t.children,n=t.prefixCls,o=t.id,i=t.overlayInnerStyle,r=t.className,a=t.style;return m.createElement("div",{className:_n("".concat(n,"-content"),r),style:a},m.createElement("div",{className:"".concat(n,"-inner"),id:o,role:"tooltip",style:i},typeof e=="function"?e():e))}function C0e(){return C0e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}function tDt(t,e){if(t==null)return{};var n=eDt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var TT={shiftX:64,adjustY:1},PT={adjustX:1,shiftY:!0},cm=[0,0],nDt={left:{points:["cr","cl"],overflow:PT,offset:[-4,0],targetOffset:cm},right:{points:["cl","cr"],overflow:PT,offset:[4,0],targetOffset:cm},top:{points:["bc","tc"],overflow:TT,offset:[0,-4],targetOffset:cm},bottom:{points:["tc","bc"],overflow:TT,offset:[0,4],targetOffset:cm},topLeft:{points:["bl","tl"],overflow:TT,offset:[0,-4],targetOffset:cm},leftTop:{points:["tr","tl"],overflow:PT,offset:[-4,0],targetOffset:cm},topRight:{points:["br","tr"],overflow:TT,offset:[0,-4],targetOffset:cm},rightTop:{points:["tl","tr"],overflow:PT,offset:[4,0],targetOffset:cm},bottomRight:{points:["tr","br"],overflow:TT,offset:[0,4],targetOffset:cm},rightBottom:{points:["bl","br"],overflow:PT,offset:[4,0],targetOffset:cm},bottomLeft:{points:["tl","bl"],overflow:TT,offset:[0,4],targetOffset:cm},leftBottom:{points:["br","bl"],overflow:PT,offset:[-4,0],targetOffset:cm}},oDt=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],iDt=function(e,n){var o=e.overlayClassName,i=e.trigger,r=i===void 0?["hover"]:i,a=e.mouseEnterDelay,l=a===void 0?0:a,s=e.mouseLeaveDelay,c=s===void 0?.1:s,u=e.overlayStyle,d=e.prefixCls,f=d===void 0?"rc-tooltip":d,p=e.children,g=e.onVisibleChange,A=e.afterVisibleChange,w=e.transitionName,b=e.animation,C=e.motion,P=e.placement,v=P===void 0?"right":P,T=e.align,y=T===void 0?{}:T,S=e.destroyTooltipOnHide,x=S===void 0?!1:S,R=e.defaultVisible,H=e.getTooltipContainer,D=e.overlayInnerStyle;e.arrowContent;var k=e.overlay,W=e.id,N=e.showArrow,L=N===void 0?!0:N,E=tDt(e,oDt),U=m.useRef(null);m.useImperativeHandle(n,function(){return U.current});var F=Zzt({},E);"visible"in e&&(F.popupVisible=e.visible);var B=function(){return m.createElement(lme,{key:"content",prefixCls:f,id:W,overlayInnerStyle:D},k)};return m.createElement(MW,C0e({popupClassName:o,prefixCls:f,popup:B,action:r,builtinPlacements:nDt,popupPlacement:v,ref:U,popupAlign:y,getPopupContainer:H,onPopupVisibleChange:g,afterPopupVisibleChange:A,popupTransitionName:w,popupAnimation:b,popupMotion:C,defaultPopupVisible:R,autoDestroy:x,mouseLeaveDelay:c,popupStyle:u,mouseEnterDelay:l,arrow:L},F),p)};const rDt=m.forwardRef(iDt);function b$(t){const{sizePopupArrow:e,borderRadiusXS:n,borderRadiusOuter:o}=t,i=e/2,r=0,a=i,l=o*1/Math.sqrt(2),s=i-o*(1-1/Math.sqrt(2)),c=i-n*(1/Math.sqrt(2)),u=o*(Math.sqrt(2)-1)+n*(1/Math.sqrt(2)),d=2*i-c,f=u,p=2*i-l,g=s,A=2*i-r,w=a,b=i*Math.sqrt(2)+o*(Math.sqrt(2)-2),C=o*(Math.sqrt(2)-1),P=`polygon(${C}px 100%, 50% ${C}px, ${2*i-C}px 100%, ${C}px 100%)`,v=`path('M ${r} ${a} A ${o} ${o} 0 0 0 ${l} ${s} L ${c} ${u} A ${n} ${n} 0 0 1 ${d} ${f} L ${p} ${g} A ${o} ${o} 0 0 0 ${A} ${w} Z')`;return{arrowShadowWidth:b,arrowPath:v,arrowPolygon:P}}const LVe=(t,e,n)=>{const{sizePopupArrow:o,arrowPolygon:i,arrowPath:r,arrowShadowWidth:a,borderRadiusXS:l,calc:s}=t;return{pointerEvents:"none",width:o,height:o,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:o,height:s(o).div(2).equal(),background:e,clipPath:{_multi_value_:!0,value:[i,r]},content:'""'},"&::after":{content:'""',position:"absolute",width:a,height:a,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${Ut(l)} 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:n,zIndex:0,background:"transparent"}}},WVe=8;function S$(t){const{contentRadius:e,limitVerticalRadius:n}=t,o=e>12?e+2:12;return{arrowOffsetHorizontal:o,arrowOffsetVertical:n?WVe:o}}function hY(t,e){return t?e:{}}function sme(t,e,n){const{componentCls:o,boxShadowPopoverArrow:i,arrowOffsetVertical:r,arrowOffsetHorizontal:a}=t,{arrowDistance:l=0,arrowPlacement:s={left:!0,right:!0,top:!0,bottom:!0}}=n||{};return{[o]:Object.assign(Object.assign(Object.assign(Object.assign({[`${o}-arrow`]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},LVe(t,e,i)),{"&:before":{background:e}})]},hY(!!s.top,{[[`&-placement-top > ${o}-arrow`,`&-placement-topLeft > ${o}-arrow`,`&-placement-topRight > ${o}-arrow`].join(",")]:{bottom:l,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-topRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.bottom,{[[`&-placement-bottom > ${o}-arrow`,`&-placement-bottomLeft > ${o}-arrow`,`&-placement-bottomRight > ${o}-arrow`].join(",")]:{top:l,transform:"translateY(-100%)"},[`&-placement-bottom > ${o}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft > ${o}-arrow`]:{left:{_skip_check_:!0,value:a}},[`&-placement-bottomRight > ${o}-arrow`]:{right:{_skip_check_:!0,value:a}}})),hY(!!s.left,{[[`&-placement-left > ${o}-arrow`,`&-placement-leftTop > ${o}-arrow`,`&-placement-leftBottom > ${o}-arrow`].join(",")]:{right:{_skip_check_:!0,value:l},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop > ${o}-arrow`]:{top:r},[`&-placement-leftBottom > ${o}-arrow`]:{bottom:r}})),hY(!!s.right,{[[`&-placement-right > ${o}-arrow`,`&-placement-rightTop > ${o}-arrow`,`&-placement-rightBottom > ${o}-arrow`].join(",")]:{left:{_skip_check_:!0,value:l},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right > ${o}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop > ${o}-arrow`]:{top:r},[`&-placement-rightBottom > ${o}-arrow`]:{bottom:r}}))}}function aDt(t,e,n,o){if(o===!1)return{adjustX:!1,adjustY:!1};const i=o&&typeof o=="object"?o:{},r={};switch(t){case"top":case"bottom":r.shiftX=e.arrowOffsetHorizontal*2+n,r.shiftY=!0,r.adjustY=!0;break;case"left":case"right":r.shiftY=e.arrowOffsetVertical*2+n,r.shiftX=!0,r.adjustX=!0;break}const a=Object.assign(Object.assign({},r),i);return a.shiftX||(a.adjustX=!0),a.shiftY||(a.adjustY=!0),a}const uve={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},lDt={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},sDt=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function NVe(t){const{arrowWidth:e,autoAdjustOverflow:n,arrowPointAtCenter:o,offset:i,borderRadius:r,visibleFirst:a}=t,l=e/2,s={};return Object.keys(uve).forEach(c=>{const u=o&&lDt[c]||uve[c],d=Object.assign(Object.assign({},u),{offset:[0,0],dynamicInset:!0});switch(s[c]=d,sDt.has(c)&&(d.autoArrow=!1),c){case"top":case"topLeft":case"topRight":d.offset[1]=-l-i;break;case"bottom":case"bottomLeft":case"bottomRight":d.offset[1]=l+i;break;case"left":case"leftTop":case"leftBottom":d.offset[0]=-l-i;break;case"right":case"rightTop":case"rightBottom":d.offset[0]=l+i;break}const f=S$({contentRadius:r,limitVerticalRadius:!0});if(o)switch(c){case"topLeft":case"bottomLeft":d.offset[0]=-f.arrowOffsetHorizontal-l;break;case"topRight":case"bottomRight":d.offset[0]=f.arrowOffsetHorizontal+l;break;case"leftTop":case"rightTop":d.offset[1]=-f.arrowOffsetHorizontal-l;break;case"leftBottom":case"rightBottom":d.offset[1]=f.arrowOffsetHorizontal+l;break}d.overflow=aDt(c,f,e,n),a&&(d.htmlRegion="visibleFirst")}),s}const cDt=t=>{const{componentCls:e,tooltipMaxWidth:n,tooltipColor:o,tooltipBg:i,tooltipBorderRadius:r,zIndexPopup:a,controlHeight:l,boxShadowSecondary:s,paddingSM:c,paddingXS:u}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"absolute",zIndex:a,display:"block",width:"max-content",maxWidth:n,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":i,[`${e}-inner`]:{minWidth:l,minHeight:l,padding:`${Ut(t.calc(c).div(2).equal())} ${Ut(u)}`,color:o,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:i,borderRadius:r,boxShadow:s,boxSizing:"border-box"},[["&-placement-left","&-placement-leftTop","&-placement-leftBottom","&-placement-right","&-placement-rightTop","&-placement-rightBottom"].join(",")]:{[`${e}-inner`]:{borderRadius:t.min(r,WVe)}},[`${e}-content`]:{position:"relative"}}),EOe(t,(d,f)=>{let{darkColor:p}=f;return{[`&${e}-${d}`]:{[`${e}-inner`]:{backgroundColor:p},[`${e}-arrow`]:{"--antd-arrow-background-color":p}}}})),{"&-rtl":{direction:"rtl"}})},sme(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow}}]},uDt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+70},S$({contentRadius:t.borderRadius,limitVerticalRadius:!0})),b$(Zr(t,{borderRadiusOuter:Math.min(t.borderRadiusOuter,4)}))),UVe=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Fl("Tooltip",o=>{const{borderRadius:i,colorTextLightSolid:r,colorBgSpotlight:a}=o,l=Zr(o,{tooltipMaxWidth:250,tooltipColor:r,tooltipBorderRadius:i,tooltipBg:a});return[cDt(l),PW(o,"zoom-big-fast")]},uDt,{resetStyle:!1,injectStyle:e})(t)},dDt=jk.map(t=>`${t}-inverse`),fDt=["success","processing","error","default","warning"];function BVe(t){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)?[].concat(Xa(dDt),Xa(jk)).includes(t):jk.includes(t)}function hDt(t){return fDt.includes(t)}function jVe(t,e){const n=BVe(e),o=Gn({[`${t}-${e}`]:e&&n}),i={},r={};return e&&!n&&(i.background=e,r["--antd-arrow-background-color"]=e),{className:o,overlayStyle:i,arrowStyle:r}}const pDt=t=>{const{prefixCls:e,className:n,placement:o="top",title:i,color:r,overlayInnerStyle:a}=t,{getPrefixCls:l}=m.useContext(Mi),s=l("tooltip",e),[c,u,d]=UVe(s),f=jVe(s,r),p=f.arrowStyle,g=Object.assign(Object.assign({},a),f.overlayStyle),A=Gn(u,d,s,`${s}-pure`,`${s}-placement-${o}`,n,f.className);return c(m.createElement("div",{className:A,style:p},m.createElement("div",{className:`${s}-arrow`}),m.createElement(lme,Object.assign({},t,{className:u,prefixCls:s,overlayInnerStyle:g}),i)))};var gDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,openClassName:r,getTooltipContainer:a,overlayClassName:l,color:s,overlayInnerStyle:c,children:u,afterOpenChange:d,afterVisibleChange:f,destroyTooltipOnHide:p,arrow:g=!0,title:A,overlay:w,builtinPlacements:b,arrowPointAtCenter:C=!1,autoAdjustOverflow:P=!0}=t,v=!!g,[,T]=Yu(),{getPopupContainer:y,getPrefixCls:S,direction:x}=m.useContext(Mi),R=Hb(),H=m.useRef(null),D=()=>{var ye;(ye=H.current)===null||ye===void 0||ye.forceAlign()};m.useImperativeHandle(e,()=>({forceAlign:D,forcePopupAlign:()=>{R.deprecated(!1,"forcePopupAlign","forceAlign"),D()}}));const[k,W]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),N=!A&&!w&&A!==0,L=ye=>{var oe,ge;W(N?!1:ye),N||((oe=t.onOpenChange)===null||oe===void 0||oe.call(t,ye),(ge=t.onVisibleChange)===null||ge===void 0||ge.call(t,ye))},E=m.useMemo(()=>{var ye,oe;let ge=C;return typeof g=="object"&&(ge=(oe=(ye=g.pointAtCenter)!==null&&ye!==void 0?ye:g.arrowPointAtCenter)!==null&&oe!==void 0?oe:C),b||NVe({arrowPointAtCenter:ge,autoAdjustOverflow:P,arrowWidth:v?T.sizePopupArrow:0,borderRadius:T.borderRadius,offset:T.marginXXS,visibleFirst:!0})},[C,g,b,T]),U=m.useMemo(()=>A===0?A:w||A||"",[w,A]),F=m.createElement(k9,null,typeof U=="function"?U():U),{getPopupContainer:B,placement:_="top",mouseEnterDelay:Y=.1,mouseLeaveDelay:O=.1,overlayStyle:J,rootClassName:Z}=t,ie=gDt(t,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),ee=S("tooltip",i),q=S(),ae=t["data-popover-inject"];let ne=k;!("open"in t)&&!("visible"in t)&&N&&(ne=!1);const se=m.isValidElement(u)&&!s_e(u)?u:m.createElement("span",null,u),le=se.props,te=!le.className||typeof le.className=="string"?Gn(le.className,r||`${ee}-open`):le.className,[he,pe,fe]=UVe(ee,!ae),$=jVe(ee,s),de=$.arrowStyle,Se=Object.assign(Object.assign({},c),$.overlayStyle),Ce=Gn(l,{[`${ee}-rtl`]:x==="rtl"},$.className,Z,pe,fe),[ve,Ie]=k7("Tooltip",ie.zIndex),ze=m.createElement(rDt,Object.assign({},ie,{zIndex:ve,showArrow:v,placement:_,mouseEnterDelay:Y,mouseLeaveDelay:O,prefixCls:ee,overlayClassName:Ce,overlayStyle:Object.assign(Object.assign({},de),J),getTooltipContainer:B||a||y,ref:H,builtinPlacements:E,overlay:F,visible:ne,onVisibleChange:L,afterVisibleChange:d??f,overlayInnerStyle:Se,arrowContent:m.createElement("span",{className:`${ee}-arrow-content`}),motion:{motionName:D9(q,"zoom-big-fast",t.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!p}),ne?Ou(se,{className:te}):se);return he(m.createElement(yW.Provider,{value:Ie},ze))}),J6=mDt;J6._InternalPanelDoNotUseOrYouWillBeFired=pDt;const yDt=t=>{const{componentCls:e,popoverColor:n,titleMinWidth:o,fontWeightStrong:i,innerPadding:r,boxShadowSecondary:a,colorTextHeading:l,borderRadiusLG:s,zIndexPopup:c,titleMarginBottom:u,colorBgElevated:d,popoverBg:f,titleBorderBottom:p,innerContentPadding:g,titlePadding:A}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:c,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":d,width:"max-content",maxWidth:"100vw","&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${e}-content`]:{position:"relative"},[`${e}-inner`]:{backgroundColor:f,backgroundClip:"padding-box",borderRadius:s,boxShadow:a,padding:r},[`${e}-title`]:{minWidth:o,marginBottom:u,color:l,fontWeight:i,borderBottom:p,padding:A},[`${e}-inner-content`]:{color:n,padding:g}})},sme(t,"var(--antd-arrow-background-color)"),{[`${e}-pure`]:{position:"relative",maxWidth:"none",margin:t.sizePopupArrow,display:"inline-block",[`${e}-content`]:{display:"inline-block"}}}]},ADt=t=>{const{componentCls:e}=t;return{[e]:jk.map(n=>{const o=t[`${n}6`];return{[`&${e}-${n}`]:{"--antd-arrow-background-color":o,[`${e}-inner`]:{backgroundColor:o},[`${e}-arrow`]:{background:"transparent"}}}})}},wDt=t=>{const{lineWidth:e,controlHeight:n,fontHeight:o,padding:i,wireframe:r,zIndexPopupBase:a,borderRadiusLG:l,marginXS:s,lineType:c,colorSplit:u,paddingSM:d}=t,f=n-o,p=f/2,g=f/2-e,A=i;return Object.assign(Object.assign(Object.assign({titleMinWidth:177,zIndexPopup:a+30},b$(t)),S$({contentRadius:l,limitVerticalRadius:!0})),{innerPadding:r?0:12,titleMarginBottom:r?0:s,titlePadding:r?`${p}px ${A}px ${g}px`:0,titleBorderBottom:r?`${e}px ${c} ${u}`:"none",innerContentPadding:r?`${d}px ${A}px`:0})},YVe=Fl("Popover",t=>{const{colorBgElevated:e,colorText:n}=t,o=Zr(t,{popoverBg:e,popoverColor:n});return[yDt(o),ADt(o),PW(o,"zoom-big")]},wDt,{resetStyle:!1,deprecatedTokens:[["width","titleMinWidth"],["minWidth","titleMinWidth"]]});var vDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i!e&&!n?null:m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${t}-title`},bG(e)),m.createElement("div",{className:`${t}-inner-content`},bG(n))),bDt=t=>{const{hashId:e,prefixCls:n,className:o,style:i,placement:r="top",title:a,content:l,children:s}=t;return m.createElement("div",{className:Gn(e,n,`${n}-pure`,`${n}-placement-${r}`,o),style:i},m.createElement("div",{className:`${n}-arrow`}),m.createElement(lme,Object.assign({},t,{className:e,prefixCls:n}),s||xDt(n,a,l)))},SDt=t=>{const{prefixCls:e,className:n}=t,o=vDt(t,["prefixCls","className"]),{getPrefixCls:i}=m.useContext(Mi),r=i("popover",e),[a,l,s]=YVe(r);return a(m.createElement(bDt,Object.assign({},o,{prefixCls:r,hashId:l,className:Gn(n,s)})))};var TDt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{let{title:e,content:n,prefixCls:o}=t;return m.createElement(m.Fragment,null,e&&m.createElement("div",{className:`${o}-title`},bG(e)),m.createElement("div",{className:`${o}-inner-content`},bG(n)))},CDt=m.forwardRef((t,e)=>{var n,o;const{prefixCls:i,title:r,content:a,overlayClassName:l,placement:s="top",trigger:c="hover",children:u,mouseEnterDelay:d=.1,mouseLeaveDelay:f=.1,onOpenChange:p,overlayStyle:g={}}=t,A=TDt(t,["prefixCls","title","content","overlayClassName","placement","trigger","children","mouseEnterDelay","mouseLeaveDelay","onOpenChange","overlayStyle"]),{getPrefixCls:w}=m.useContext(Mi),b=w("popover",i),[C,P,v]=YVe(b),T=w(),y=Gn(l,P,v),[S,x]=_6(!1,{value:(n=t.open)!==null&&n!==void 0?n:t.visible,defaultValue:(o=t.defaultOpen)!==null&&o!==void 0?o:t.defaultVisible}),R=(k,W)=>{x(k,!0),p==null||p(k,W)},H=k=>{k.keyCode===hr.ESC&&R(!1,k)},D=k=>{R(k)};return C(m.createElement(J6,Object.assign({placement:s,trigger:c,mouseEnterDelay:d,mouseLeaveDelay:f,overlayStyle:g},A,{prefixCls:b,overlayClassName:y,ref:e,open:S,onOpenChange:D,overlay:r||a?m.createElement(PDt,{prefixCls:b,title:r,content:a}):null,transitionName:D9(T,"zoom-big",A.transitionName),"data-popover-inject":!0}),Ou(u,{onKeyDown:k=>{var W,N;m.isValidElement(u)&&((N=u==null?void 0:(W=u.props).onKeyDown)===null||N===void 0||N.call(W,k)),H(k)}})))}),gl=CDt;gl._InternalPanelDoNotUseOrYouWillBeFired=SDt;const dve=t=>{const{size:e,shape:n}=m.useContext(P0e),o=m.useMemo(()=>({size:t.size||e,shape:t.shape||n}),[t.size,t.shape,e,n]);return m.createElement(P0e.Provider,{value:o},t.children)},RDt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i,rootClassName:r,style:a,maxCount:l,maxStyle:s,size:c,shape:u,maxPopoverPlacement:d="top",maxPopoverTrigger:f="hover",children:p}=t,g=e("avatar",o),A=`${g}-group`,w=j0(g),[b,C,P]=kVe(g,w),v=Gn(A,{[`${A}-rtl`]:n==="rtl"},P,w,i,r,C),T=E9(p).map((S,x)=>Ou(S,{key:`avatar-key-${x}`})),y=T.length;if(l&&l1&&arguments[1]!==void 0?arguments[1]:!1;if(w$(t)){var n=t.nodeName.toLowerCase(),o=["input","select","textarea","button"].includes(n)||t.isContentEditable||n==="a"&&!!t.getAttribute("href"),i=t.getAttribute("tabindex"),r=Number(i),a=null;return i&&!Number.isNaN(r)?a=r:o&&a===null&&(a=0),o&&t.disabled&&(a=null),a!==null&&(a>=0||e&&a<0)}return!1}function ODt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=Wo(t.querySelectorAll("*")).filter(function(o){return fve(o,e)});return fve(t,e)&&n.unshift(t),n}var R0e=Bn.LEFT,H0e=Bn.RIGHT,M0e=Bn.UP,E_=Bn.DOWN,k_=Bn.ENTER,$Ve=Bn.ESC,bz=Bn.HOME,Sz=Bn.END,hve=[M0e,E_,R0e,H0e];function _Dt(t,e,n,o){var i,r="prev",a="next",l="children",s="parent";if(t==="inline"&&o===k_)return{inlineTrigger:!0};var c=_t(_t({},M0e,r),E_,a),u=_t(_t(_t(_t({},R0e,n?a:r),H0e,n?r:a),E_,l),k_,l),d=_t(_t(_t(_t(_t(_t({},M0e,r),E_,a),k_,l),$Ve,s),R0e,n?l:s),H0e,n?s:l),f={inline:c,horizontal:u,vertical:d,inlineSub:c,horizontalSub:d,verticalSub:d},p=(i=f["".concat(t).concat(e?"":"Sub")])===null||i===void 0?void 0:i[o];switch(p){case r:return{offset:-1,sibling:!0};case a:return{offset:1,sibling:!0};case s:return{offset:-1,sibling:!1};case l:return{offset:1,sibling:!1};default:return null}}function VDt(t){for(var e=t;e;){if(e.getAttribute("data-menu-list"))return e;e=e.parentElement}return null}function GDt(t,e){for(var n=t||document.activeElement;n;){if(e.has(n))return n;n=n.parentElement}return null}function ume(t,e){var n=ODt(t,!0);return n.filter(function(o){return e.has(o)})}function pve(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!t)return null;var i=ume(t,e),r=i.length,a=i.findIndex(function(l){return n===l});return o<0?a===-1?a=r-1:a-=1:o>0&&(a+=1),a=(a+r)%r,i[a]}var I0e=function(e,n){var o=new Set,i=new Map,r=new Map;return e.forEach(function(a){var l=document.querySelector("[data-menu-id='".concat(GVe(n,a),"']"));l&&(o.add(l),r.set(l,a),i.set(a,l))}),{elements:o,key2element:i,element2key:r}};function XDt(t,e,n,o,i,r,a,l,s,c){var u=m.useRef(),d=m.useRef();d.current=e;var f=function(){za.cancel(u.current)};return m.useEffect(function(){return function(){f()}},[]),function(p){var g=p.which;if([].concat(hve,[k_,$Ve,bz,Sz]).includes(g)){var A=r(),w=I0e(A,o),b=w,C=b.elements,P=b.key2element,v=b.element2key,T=P.get(e),y=GDt(T,C),S=v.get(y),x=_Dt(t,a(S,!0).length===1,n,g);if(!x&&g!==bz&&g!==Sz)return;(hve.includes(g)||[bz,Sz].includes(g))&&p.preventDefault();var R=function(U){if(U){var F=U,B=U.querySelector("a");B!=null&&B.getAttribute("href")&&(F=B);var _=v.get(U);l(_),f(),u.current=za(function(){d.current===_&&F.focus()})}};if([bz,Sz].includes(g)||x.sibling||!y){var H;!y||t==="inline"?H=i.current:H=VDt(y);var D,k=ume(H,C);g===bz?D=k[0]:g===Sz?D=k[k.length-1]:D=pve(H,C,y,x.offset),R(D)}else if(x.inlineTrigger)s(S);else if(x.offset>0)s(S,!0),f(),u.current=za(function(){w=I0e(A,o);var E=y.getAttribute("aria-controls"),U=document.getElementById(E),F=pve(U,w.elements);R(F)},5);else if(x.offset<0){var W=a(S,!0),N=W[W.length-2],L=P.get(N);s(N,!1),R(L)}}c==null||c(p)}}function JDt(t){Promise.resolve().then(t)}var dme="__RC_UTIL_PATH_SPLIT__",gve=function(e){return e.join(dme)},KDt=function(e){return e.split(dme)},z0e="rc-menu-more";function qDt(){var t=m.useState({}),e=on(t,2),n=e[1],o=m.useRef(new Map),i=m.useRef(new Map),r=m.useState([]),a=on(r,2),l=a[0],s=a[1],c=m.useRef(0),u=m.useRef(!1),d=function(){u.current||n({})},f=m.useCallback(function(P,v){var T=gve(v);i.current.set(T,P),o.current.set(P,T),c.current+=1;var y=c.current;JDt(function(){y===c.current&&d()})},[]),p=m.useCallback(function(P,v){var T=gve(v);i.current.delete(T),o.current.delete(P)},[]),g=m.useCallback(function(P){s(P)},[]),A=m.useCallback(function(P,v){var T=o.current.get(P)||"",y=KDt(T);return v&&l.includes(y[0])&&y.unshift(z0e),y},[l]),w=m.useCallback(function(P,v){return P.some(function(T){var y=A(T,!0);return y.includes(v)})},[A]),b=function(){var v=Wo(o.current.keys());return l.length&&v.push(z0e),v},C=m.useCallback(function(P){var v="".concat(o.current.get(P)).concat(dme),T=new Set;return Wo(i.current.keys()).forEach(function(y){y.startsWith(v)&&T.add(i.current.get(y))}),T},[]);return m.useEffect(function(){return function(){u.current=!0}},[]),{registerPath:f,unregisterPath:p,refreshOverflowKeys:g,isSubPathKey:w,getKeyPath:A,getKeys:b,getSubPathKeys:C}}function gD(t){var e=m.useRef(t);e.current=t;var n=m.useCallback(function(){for(var o,i=arguments.length,r=new Array(i),a=0;a1&&(C.motionAppear=!1);var P=C.onVisibleChanged;return C.onVisibleChanged=function(v){return!f.current&&!v&&w(!0),P==null?void 0:P(v)},A?null:m.createElement(qk,{mode:r,locked:!f.current},m.createElement(Hg,so({visible:b},C,{forceRender:s,removeOnLeave:!1,leavedClassName:"".concat(l,"-hidden")}),function(v){var T=v.className,y=v.style;return m.createElement(fme,{id:e,className:T,style:y},i)}))}var hEt=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],pEt=["active"],gEt=function(e){var n=e.style,o=e.className,i=e.title,r=e.eventKey;e.warnKey;var a=e.disabled,l=e.internalPopupClose,s=e.children,c=e.itemIcon,u=e.expandIcon,d=e.popupClassName,f=e.popupOffset,p=e.popupStyle,g=e.onClick,A=e.onMouseEnter,w=e.onMouseLeave,b=e.onTitleClick,C=e.onTitleMouseEnter,P=e.onTitleMouseLeave,v=ir(e,hEt),T=XVe(r),y=m.useContext(U2),S=y.prefixCls,x=y.mode,R=y.openKeys,H=y.disabled,D=y.overflowDisabled,k=y.activeKey,W=y.selectedKeys,N=y.itemIcon,L=y.expandIcon,E=y.onItemClick,U=y.onOpenChange,F=y.onActive,B=m.useContext(cme),_=B._internalRenderSubMenuItem,Y=m.useContext(qVe),O=Y.isSubPathKey,J=zH(),Z="".concat(S,"-submenu"),ie=H||a,ee=m.useRef(),q=m.useRef(),ae=c??N,ne=u??L,se=R.includes(r),le=!D&&se,te=O(W,r),he=QVe(r,ie,C,P),pe=he.active,fe=ir(he,pEt),$=m.useState(!1),de=on($,2),Se=de[0],Ce=de[1],ve=function($e){ie||Ce($e)},Ie=function($e){ve(!0),A==null||A({key:r,domEvent:$e})},ze=function($e){ve(!1),w==null||w({key:r,domEvent:$e})},ye=m.useMemo(function(){return pe||(x!=="inline"?Se||O([k],r):!1)},[x,pe,k,Se,r,O]),oe=ZVe(J.length),ge=function($e){ie||(b==null||b({key:r,domEvent:$e}),x==="inline"&&U(r,!se))},Ae=gD(function(Le){g==null||g(TG(Le)),E(Le)}),me=function($e){x!=="inline"&&U(r,$e)},Pe=function(){F(r)},Me=T&&"".concat(T,"-popup"),Te=m.createElement("div",so({role:"menuitem",style:oe,className:"".concat(Z,"-title"),tabIndex:ie?null:-1,ref:ee,title:typeof i=="string"?i:null,"data-menu-id":D&&T?null:T,"aria-expanded":le,"aria-haspopup":!0,"aria-controls":Me,"aria-disabled":ie,onClick:ge,onFocus:Pe},fe),i,m.createElement(eGe,{icon:x!=="horizontal"?ne:void 0,props:$t($t({},e),{},{isOpen:le,isSubMenu:!0})},m.createElement("i",{className:"".concat(Z,"-arrow")}))),De=m.useRef(x);if(x!=="inline"&&J.length>1?De.current="vertical":De.current=x,!D){var Ne=De.current;Te=m.createElement(dEt,{mode:Ne,prefixCls:Z,visible:!l&&le&&x!=="inline",popupClassName:d,popupOffset:f,popupStyle:p,popup:m.createElement(qk,{mode:Ne==="horizontal"?"vertical":Ne},m.createElement(fme,{id:Me,ref:q},s)),disabled:ie,onVisibleChange:me},Te)}var Ye=m.createElement(H2.Item,so({role:"none"},v,{component:"li",style:n,className:_n(Z,"".concat(Z,"-").concat(x),o,_t(_t(_t(_t({},"".concat(Z,"-open"),le),"".concat(Z,"-active"),ye),"".concat(Z,"-selected"),te),"".concat(Z,"-disabled"),ie)),onMouseEnter:Ie,onMouseLeave:ze}),Te,!D&&m.createElement(fEt,{id:Me,open:le,keyPath:J},s));return _&&(Ye=_(Ye,e,{selected:te,active:ye,open:le,disabled:ie})),m.createElement(qk,{onItemClick:Ae,mode:x==="horizontal"?"vertical":x,itemIcon:ae,expandIcon:ne},Ye)};function P$(t){var e=t.eventKey,n=t.children,o=zH(e),i=hme(n,o),r=T$();m.useEffect(function(){if(r)return r.registerPath(e,o),function(){r.unregisterPath(e,o)}},[o]);var a;return r?a=i:a=m.createElement(gEt,t,i),m.createElement(KVe.Provider,{value:o},a)}var mEt=["className","title","eventKey","children"],yEt=["children"],AEt=function(e){var n=e.className,o=e.title;e.eventKey;var i=e.children,r=ir(e,mEt),a=m.useContext(U2),l=a.prefixCls,s="".concat(l,"-item-group");return m.createElement("li",so({role:"presentation"},r,{onClick:function(u){return u.stopPropagation()},className:_n(s,n)}),m.createElement("div",{role:"presentation",className:"".concat(s,"-title"),title:typeof o=="string"?o:void 0},o),m.createElement("ul",{role:"group",className:"".concat(s,"-list")},i))};function C$(t){var e=t.children,n=ir(t,yEt),o=zH(n.eventKey),i=hme(e,o),r=T$();return r?i:m.createElement(AEt,MH(n,["warnKey"]),i)}function pme(t){var e=t.className,n=t.style,o=m.useContext(U2),i=o.prefixCls,r=T$();return r?null:m.createElement("li",{role:"separator",className:_n("".concat(i,"-item-divider"),e),style:n})}var wEt=["label","children","key","type"];function D0e(t){return(t||[]).map(function(e,n){if(e&&gr(e)==="object"){var o=e,i=o.label,r=o.children,a=o.key,l=o.type,s=ir(o,wEt),c=a??"tmp-".concat(n);return r||l==="group"?l==="group"?m.createElement(C$,so({key:c},s,{title:i}),D0e(r)):m.createElement(P$,so({key:c},s,{title:i}),D0e(r)):l==="divider"?m.createElement(pme,so({key:c},s)):m.createElement(IW,so({key:c},s),i)}return null}).filter(function(e){return e})}function vEt(t,e,n){var o=t;return e&&(o=D0e(e)),hme(o,n)}var xEt=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],HT=[],bEt=m.forwardRef(function(t,e){var n,o=t,i=o.prefixCls,r=i===void 0?"rc-menu":i,a=o.rootClassName,l=o.style,s=o.className,c=o.tabIndex,u=c===void 0?0:c,d=o.items,f=o.children,p=o.direction,g=o.id,A=o.mode,w=A===void 0?"vertical":A,b=o.inlineCollapsed,C=o.disabled,P=o.disabledOverflow,v=o.subMenuOpenDelay,T=v===void 0?.1:v,y=o.subMenuCloseDelay,S=y===void 0?.1:y,x=o.forceSubMenuRender,R=o.defaultOpenKeys,H=o.openKeys,D=o.activeKey,k=o.defaultActiveFirst,W=o.selectable,N=W===void 0?!0:W,L=o.multiple,E=L===void 0?!1:L,U=o.defaultSelectedKeys,F=o.selectedKeys,B=o.onSelect,_=o.onDeselect,Y=o.inlineIndent,O=Y===void 0?24:Y,J=o.motion,Z=o.defaultMotions,ie=o.triggerSubMenuAction,ee=ie===void 0?"hover":ie,q=o.builtinPlacements,ae=o.itemIcon,ne=o.expandIcon,se=o.overflowedIndicator,le=se===void 0?"...":se,te=o.overflowedIndicatorPopupClassName,he=o.getPopupContainer,pe=o.onClick,fe=o.onOpenChange,$=o.onKeyDown;o.openAnimation,o.openTransitionName;var de=o._internalRenderMenuItem,Se=o._internalRenderSubMenuItem,Ce=ir(o,xEt),ve=m.useMemo(function(){return vEt(f,d,HT)},[f,d]),Ie=m.useState(!1),ze=on(Ie,2),ye=ze[0],oe=ze[1],ge=m.useRef(),Ae=QDt(g),me=p==="rtl",Pe=Rs(R,{value:H,postState:function(po){return po||HT}}),Me=on(Pe,2),Te=Me[0],De=Me[1],Ne=function(po){var eo=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function uo(){De(po),fe==null||fe(po)}eo?Td.flushSync(uo):uo()},Ye=m.useState(Te),Le=on(Ye,2),$e=Le[0],We=Le[1],Ee=m.useRef(!1),Fe=m.useMemo(function(){return(w==="inline"||w==="vertical")&&b?["vertical",b]:[w,!1]},[w,b]),Ge=on(Fe,2),rt=Ge[0],_e=Ge[1],xt=rt==="inline",dt=m.useState(rt),Qe=on(dt,2),ct=Qe[0],ft=Qe[1],at=m.useState(_e),ot=on(at,2),et=ot[0],Oe=ot[1];m.useEffect(function(){ft(rt),Oe(_e),Ee.current&&(xt?De($e):Ne(HT))},[rt,_e]);var nt=m.useState(0),mt=on(nt,2),Tt=mt[0],Rt=mt[1],Wt=Tt>=ve.length-1||ct!=="horizontal"||P;m.useEffect(function(){xt&&We(Te)},[Te]),m.useEffect(function(){return Ee.current=!0,function(){Ee.current=!1}},[]);var Ct=qDt(),wt=Ct.registerPath,kt=Ct.unregisterPath,qe=Ct.refreshOverflowKeys,Je=Ct.isSubPathKey,st=Ct.getKeyPath,Pt=Ct.getKeys,Ue=Ct.getSubPathKeys,lt=m.useMemo(function(){return{registerPath:wt,unregisterPath:kt}},[wt,kt]),Ve=m.useMemo(function(){return{isSubPathKey:Je}},[Je]);m.useEffect(function(){qe(Wt?HT:ve.slice(Tt+1).map(function(si){return si.key}))},[Tt,Wt]);var ut=Rs(D||k&&((n=ve[0])===null||n===void 0?void 0:n.key),{value:D}),je=on(ut,2),yt=je[0],Ht=je[1],At=gD(function(si){Ht(si)}),It=gD(function(){Ht(void 0)});m.useImperativeHandle(e,function(){return{list:ge.current,focus:function(po){var eo,uo=Pt(),qo=I0e(uo,Ae),Hi=qo.elements,vi=qo.key2element,Cn=qo.element2key,yn=ume(ge.current,Hi),to=yt??(yn[0]?Cn.get(yn[0]):(eo=ve.find(function(Lo){return!Lo.props.disabled}))===null||eo===void 0?void 0:eo.key),Eo=vi.get(to);if(to&&Eo){var ni;Eo==null||(ni=Eo.focus)===null||ni===void 0||ni.call(Eo,po)}}}});var zt=Rs(U||[],{value:F,postState:function(po){return Array.isArray(po)?po:po==null?HT:[po]}}),Ft=on(zt,2),ln=Ft[0],Xt=Ft[1],fn=function(po){if(N){var eo=po.key,uo=ln.includes(eo),qo;E?uo?qo=ln.filter(function(vi){return vi!==eo}):qo=[].concat(Wo(ln),[eo]):qo=[eo],Xt(qo);var Hi=$t($t({},po),{},{selectedKeys:qo});uo?_==null||_(Hi):B==null||B(Hi)}!E&&Te.length&&ct!=="inline"&&Ne(HT)},rn=gD(function(si){pe==null||pe(TG(si)),fn(si)}),bn=gD(function(si,po){var eo=Te.filter(function(qo){return qo!==si});if(po)eo.push(si);else if(ct!=="inline"){var uo=Ue(si);eo=eo.filter(function(qo){return!uo.has(qo)})}e7(Te,eo,!0)||Ne(eo,!0)}),Tn=function(po,eo){var uo=eo??!Te.includes(po);bn(po,uo)},Un=XDt(ct,yt,me,Ae,ge,Pt,st,Ht,Tn,$);m.useEffect(function(){oe(!0)},[]);var Ai=m.useMemo(function(){return{_internalRenderMenuItem:de,_internalRenderSubMenuItem:Se}},[de,Se]),vo=ct!=="horizontal"||P?ve:ve.map(function(si,po){return m.createElement(qk,{key:si.key,overflowDisabled:po>Tt},si)}),Oo=m.createElement(H2,so({id:g,ref:ge,prefixCls:"".concat(r,"-overflow"),component:"ul",itemComponent:IW,className:_n(r,"".concat(r,"-root"),"".concat(r,"-").concat(ct),s,_t(_t({},"".concat(r,"-inline-collapsed"),et),"".concat(r,"-rtl"),me),a),dir:p,style:l,role:"menu",tabIndex:u,data:vo,renderRawItem:function(po){return po},renderRawRest:function(po){var eo=po.length,uo=eo?ve.slice(-eo):null;return m.createElement(P$,{eventKey:z0e,title:le,disabled:Wt,internalPopupClose:eo===0,popupClassName:te},uo)},maxCount:ct!=="horizontal"||P?H2.INVALIDATE:H2.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(po){Rt(po)},onKeyDown:Un},Ce));return m.createElement(cme.Provider,{value:Ai},m.createElement(VVe.Provider,{value:Ae},m.createElement(qk,{prefixCls:r,rootClassName:a,mode:ct,openKeys:Te,rtl:me,disabled:C,motion:ye?J:null,defaultMotions:ye?Z:null,activeKey:yt,onActive:At,onInactive:It,selectedKeys:ln,inlineIndent:O,subMenuOpenDelay:T,subMenuCloseDelay:S,forceSubMenuRender:x,builtinPlacements:q,triggerSubMenuAction:ee,getPopupContainer:he,itemIcon:ae,expandIcon:ne,onItemClick:rn,onOpenChange:bn},m.createElement(qVe.Provider,{value:Ve},Oo),m.createElement("div",{style:{display:"none"},"aria-hidden":!0},m.createElement(JVe.Provider,{value:lt},ve)))))}),DH=bEt;DH.Item=IW;DH.SubMenu=P$;DH.ItemGroup=C$;DH.Divider=pme;var SEt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},TEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:SEt}))},gme=m.forwardRef(TEt),PEt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},CEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:PEt}))},yve=m.forwardRef(CEt);const nGe=m.createContext({});var REt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},HEt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:REt}))},mme=m.forwardRef(HEt),MEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,className:n,dashed:o}=t,i=MEt(t,["prefixCls","className","dashed"]),{getPrefixCls:r}=m.useContext(Mi),a=r("menu",e),l=Gn({[`${a}-item-divider-dashed`]:!!o},n);return m.createElement(pme,Object.assign({className:l},i))},PG=m.createContext({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),iGe=t=>{var e;const{className:n,children:o,icon:i,title:r,danger:a}=t,{prefixCls:l,firstLevel:s,direction:c,disableMenuItemTitleTooltip:u,inlineCollapsed:d}=m.useContext(PG),f=C=>{const P=m.createElement("span",{className:`${l}-title-content`},o);return(!i||m.isValidElement(o)&&o.type==="span")&&o&&C&&s&&typeof o=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},o.charAt(0)):P},{siderCollapsed:p}=m.useContext(nGe);let g=r;typeof r>"u"?g=s?o:"":r===!1&&(g="");const A={title:g};!p&&!d&&(A.title=null,A.open=!1);const w=E9(o).length;let b=m.createElement(IW,Object.assign({},lp(t,["title","icon","danger"]),{className:Gn({[`${l}-item-danger`]:a,[`${l}-item-only-child`]:(i?w+1:w)===1},n),title:typeof r=="string"?r:void 0}),Ou(i,{className:Gn(m.isValidElement(i)?(e=i.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),f(d));return u||(b=m.createElement(J6,Object.assign({},A,{placement:c==="rtl"?"left":"right",overlayClassName:`${l}-inline-collapsed-tooltip`}),b)),b},rGe=t=>{var e;const{popupClassName:n,icon:o,title:i,theme:r}=t,a=m.useContext(PG),{prefixCls:l,inlineCollapsed:s,theme:c}=a,u=zH();let d;if(!o)d=s&&!u.length&&i&&typeof i=="string"?m.createElement("div",{className:`${l}-inline-collapsed-noicon`},i.charAt(0)):m.createElement("span",{className:`${l}-title-content`},i);else{const g=m.isValidElement(i)&&i.type==="span";d=m.createElement(m.Fragment,null,Ou(o,{className:Gn(m.isValidElement(o)?(e=o.props)===null||e===void 0?void 0:e.className:"",`${l}-item-icon`)}),g?i:m.createElement("span",{className:`${l}-title-content`},i))}const f=m.useMemo(()=>Object.assign(Object.assign({},a),{firstLevel:!1}),[a]),[p]=k7("Menu");return m.createElement(PG.Provider,{value:f},m.createElement(P$,Object.assign({},lp(t,["icon"]),{title:d,popupClassName:Gn(l,n,`${l}-${r||c}`),popupStyle:{zIndex:p}})))};var IEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(e&&typeof e=="object"){const o=e,{label:i,children:r,key:a,type:l}=o,s=IEt(o,["label","children","key","type"]),c=a??`tmp-${n}`;return r||l==="group"?l==="group"?m.createElement(C$,Object.assign({key:c},s,{title:i}),E0e(r)):m.createElement(rGe,Object.assign({key:c},s,{title:i}),E0e(r)):l==="divider"?m.createElement(oGe,Object.assign({key:c},s)):m.createElement(iGe,Object.assign({key:c},s),i)}return null}).filter(e=>e)}function zEt(t){return m.useMemo(()=>t&&E0e(t),[t])}var DEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{children:n}=t,o=DEt(t,["children"]),i=m.useContext(CG),r=m.useMemo(()=>Object.assign(Object.assign({},i),o),[i,o.prefixCls,o.mode,o.selectable,o.rootClassName]),a=tTt(n),l=eTt(e,a?n.ref:null);return m.createElement(CG.Provider,{value:r},m.createElement(k9,null,a?m.cloneElement(n,{ref:l}):n))}),EEt=t=>{const{componentCls:e,motionDurationSlow:n,horizontalLineHeight:o,colorSplit:i,lineWidth:r,lineType:a,itemPaddingInline:l}=t;return{[`${e}-horizontal`]:{lineHeight:o,border:0,borderBottom:`${Ut(r)} ${a} ${i}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${e}-item, ${e}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:l},[`> ${e}-item:hover, > ${e}-item-active, - > ${e}-submenu ${e}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${e}-item, ${e}-submenu-title`]:{transition:[`border-color ${n}`,`background ${n}`].join(",")},[`${e}-submenu-arrow`]:{display:"none"}}}},LEt=t=>{let{componentCls:e,menuArrowOffset:n,calc:o}=t;return{[`${e}-rtl`]:{direction:"rtl"},[`${e}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${e}-rtl${e}-vertical, + > ${e}-submenu ${e}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${e}-item, ${e}-submenu-title`]:{transition:[`border-color ${n}`,`background ${n}`].join(",")},[`${e}-submenu-arrow`]:{display:"none"}}}},kEt=t=>{let{componentCls:e,menuArrowOffset:n,calc:o}=t;return{[`${e}-rtl`]:{direction:"rtl"},[`${e}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${e}-rtl${e}-vertical, ${e}-submenu-rtl ${e}-vertical`]:{[`${e}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(${Ut(o(n).mul(-1).equal())})`},"&::after":{transform:`rotate(45deg) translateY(${Ut(n)})`}}}}},Ave=t=>Object.assign({},n7(t)),wve=(t,e)=>{const{componentCls:n,itemColor:o,itemSelectedColor:i,groupTitleColor:r,itemBg:a,subMenuItemBg:l,itemSelectedBg:s,activeBarHeight:c,activeBarWidth:u,activeBarBorderWidth:d,motionDurationSlow:f,motionEaseInOut:p,motionEaseOut:g,itemPaddingInline:A,motionDurationMid:w,itemHoverColor:b,lineType:C,colorSplit:P,itemDisabledColor:v,dangerItemColor:T,dangerItemHoverColor:y,dangerItemSelectedColor:S,dangerItemActiveBg:x,dangerItemSelectedBg:R,popupBg:H,itemHoverBg:D,itemActiveBg:k,menuSubMenuBg:W,horizontalItemSelectedColor:N,horizontalItemSelectedBg:L,horizontalItemBorderRadius:E,horizontalItemHoverBg:U}=t;return{[`${n}-${e}, ${n}-${e} > ${n}`]:{color:o,background:a,[`&${n}-root:focus-visible`]:Object.assign({},Ave(t)),[`${n}-item-group-title`]:{color:r},[`${n}-submenu-selected`]:{[`> ${n}-submenu-title`]:{color:i}},[`${n}-item, ${n}-submenu-title`]:{color:o,[`&:not(${n}-item-disabled):focus-visible`]:Object.assign({},Ave(t))},[`${n}-item-disabled, ${n}-submenu-disabled`]:{color:`${v} !important`},[`${n}-item:not(${n}-item-selected):not(${n}-submenu-selected)`]:{[`&:hover, > ${n}-submenu-title:hover`]:{color:b}},[`&:not(${n}-horizontal)`]:{[`${n}-item:not(${n}-item-selected)`]:{"&:hover":{backgroundColor:D},"&:active":{backgroundColor:k}},[`${n}-submenu-title`]:{"&:hover":{backgroundColor:D},"&:active":{backgroundColor:k}}},[`${n}-item-danger`]:{color:T,[`&${n}-item:hover`]:{[`&:not(${n}-item-selected):not(${n}-submenu-selected)`]:{color:y}},[`&${n}-item:active`]:{background:x}},[`${n}-item a`]:{"&, &:hover":{color:"inherit"}},[`${n}-item-selected`]:{color:i,[`&${n}-item-danger`]:{color:S},"a, a:hover":{color:"inherit"}},[`& ${n}-item-selected`]:{backgroundColor:s,[`&${n}-item-danger`]:{backgroundColor:R}},[`&${n}-submenu > ${n}`]:{backgroundColor:W},[`&${n}-popup > ${n}`]:{backgroundColor:H},[`&${n}-submenu-popup > ${n}`]:{backgroundColor:H},[`&${n}-horizontal`]:Object.assign(Object.assign({},e==="dark"?{borderBottom:0}:{}),{[`> ${n}-item, > ${n}-submenu`]:{top:d,marginTop:t.calc(d).mul(-1).equal(),marginBottom:0,borderRadius:E,"&::after":{position:"absolute",insetInline:A,bottom:0,borderBottom:`${Ut(c)} solid transparent`,transition:`border-color ${f} ${p}`,content:'""'},"&:hover, &-active, &-open":{background:U,"&::after":{borderBottomWidth:c,borderBottomColor:N}},"&-selected":{color:N,backgroundColor:L,"&:hover":{backgroundColor:L},"&::after":{borderBottomWidth:c,borderBottomColor:N}}}}),[`&${n}-root`]:{[`&${n}-inline, &${n}-vertical`]:{borderInlineEnd:`${Ut(d)} ${C} ${P}`}},[`&${n}-inline`]:{[`${n}-sub${n}-inline`]:{background:l},[`${n}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Ut(u)} solid ${i}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${w} ${g}`,`opacity ${w} ${g}`].join(","),content:'""'},[`&${n}-item-danger`]:{"&::after":{borderInlineEndColor:S}}},[`${n}-selected, ${n}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${w} ${p}`,`opacity ${w} ${p}`].join(",")}}}}}},vve=t=>{const{componentCls:e,itemHeight:n,itemMarginInline:o,padding:i,menuArrowSize:r,marginXS:a,itemMarginBlock:l,itemWidth:s}=t,c=t.calc(r).add(i).add(a).equal();return{[`${e}-item`]:{position:"relative",overflow:"hidden"},[`${e}-item, ${e}-submenu-title`]:{height:n,lineHeight:Ut(n),paddingInline:i,overflow:"hidden",textOverflow:"ellipsis",marginInline:o,marginBlock:l,width:s},[`> ${e}-item, > ${e}-submenu > ${e}-submenu-title`]:{height:n,lineHeight:Ut(n)},[`${e}-item-group-list ${e}-submenu-title, - ${e}-submenu-title`]:{paddingInlineEnd:c}}},WEt=t=>{const{componentCls:e,iconCls:n,itemHeight:o,colorTextLightSolid:i,dropdownWidth:r,controlHeightLG:a,motionDurationMid:l,motionEaseOut:s,paddingXL:c,itemMarginInline:u,fontSizeLG:d,motionDurationSlow:f,paddingXS:p,boxShadowSecondary:g,collapsedWidth:A,collapsedIconSize:w}=t,b={height:o,lineHeight:Ut(o),listStylePosition:"inside",listStyleType:"disc"};return[{[e]:{"&-inline, &-vertical":Object.assign({[`&${e}-root`]:{boxShadow:"none"}},vve(t))},[`${e}-submenu-popup`]:{[`${e}-vertical`]:Object.assign(Object.assign({},vve(t)),{boxShadow:g})}},{[`${e}-submenu-popup ${e}-vertical${e}-sub`]:{minWidth:r,maxHeight:`calc(100vh - ${Ut(t.calc(a).mul(2.5).equal())})`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${e}-inline`]:{width:"100%",[`&${e}-root`]:{[`${e}-item, ${e}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${f}`,`background ${f}`,`padding ${l} ${s}`,`padding-inline calc(50% - ${Ut(t.calc(d).div(2).equal())} - ${Ut(u)})`].join(","),[`> ${e}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${e}-sub${e}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${e}-submenu > ${e}-submenu-title`]:b,[`& ${e}-item-group-title`]:{paddingInlineStart:c}},[`${e}-item`]:b}},{[`${e}-inline-collapsed`]:{width:A,[`&${e}-root`]:{[`${e}-item, ${e}-submenu ${e}-submenu-title`]:{[`> ${e}-inline-collapsed-noicon`]:{fontSize:d,textAlign:"center"}}},[`> ${e}-item, + ${e}-submenu-title`]:{paddingInlineEnd:c}}},FEt=t=>{const{componentCls:e,iconCls:n,itemHeight:o,colorTextLightSolid:i,dropdownWidth:r,controlHeightLG:a,motionDurationMid:l,motionEaseOut:s,paddingXL:c,itemMarginInline:u,fontSizeLG:d,motionDurationSlow:f,paddingXS:p,boxShadowSecondary:g,collapsedWidth:A,collapsedIconSize:w}=t,b={height:o,lineHeight:Ut(o),listStylePosition:"inside",listStyleType:"disc"};return[{[e]:{"&-inline, &-vertical":Object.assign({[`&${e}-root`]:{boxShadow:"none"}},vve(t))},[`${e}-submenu-popup`]:{[`${e}-vertical`]:Object.assign(Object.assign({},vve(t)),{boxShadow:g})}},{[`${e}-submenu-popup ${e}-vertical${e}-sub`]:{minWidth:r,maxHeight:`calc(100vh - ${Ut(t.calc(a).mul(2.5).equal())})`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${e}-inline`]:{width:"100%",[`&${e}-root`]:{[`${e}-item, ${e}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${f}`,`background ${f}`,`padding ${l} ${s}`,`padding-inline calc(50% - ${Ut(t.calc(d).div(2).equal())} - ${Ut(u)})`].join(","),[`> ${e}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${e}-sub${e}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${e}-submenu > ${e}-submenu-title`]:b,[`& ${e}-item-group-title`]:{paddingInlineStart:c}},[`${e}-item`]:b}},{[`${e}-inline-collapsed`]:{width:A,[`&${e}-root`]:{[`${e}-item, ${e}-submenu ${e}-submenu-title`]:{[`> ${e}-inline-collapsed-noicon`]:{fontSize:d,textAlign:"center"}}},[`> ${e}-item, > ${e}-item-group > ${e}-item-group-list > ${e}-item, > ${e}-item-group > ${e}-item-group-list > ${e}-submenu > ${e}-submenu-title, > ${e}-submenu > ${e}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${Ut(t.calc(d).div(2).equal())} - ${Ut(u)})`,textOverflow:"clip",[` ${e}-submenu-arrow, ${e}-submenu-expand-icon - `]:{opacity:0},[`${e}-item-icon, ${n}`]:{margin:0,fontSize:w,lineHeight:Ut(o),"+ span":{display:"inline-block",opacity:0}}},[`${e}-item-icon, ${n}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${e}-item-icon, ${n}`]:{display:"none"},"a, a:hover":{color:i}},[`${e}-item-group-title`]:Object.assign(Object.assign({},Yx),{paddingInline:p})}}]},xve=t=>{const{componentCls:e,motionDurationSlow:n,motionDurationMid:o,motionEaseInOut:i,motionEaseOut:r,iconCls:a,iconSize:l,iconMarginInlineEnd:s}=t;return{[`${e}-item, ${e}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${n}`,`background ${n}`,`padding ${n} ${i}`].join(","),[`${e}-item-icon, ${a}`]:{minWidth:l,fontSize:l,transition:[`font-size ${o} ${r}`,`margin ${n} ${i}`,`color ${n}`].join(","),"+ span":{marginInlineStart:s,opacity:1,transition:[`opacity ${n} ${i}`,`margin ${n}`,`color ${n}`].join(",")}},[`${e}-item-icon`]:Object.assign({},CH()),[`&${e}-item-only-child`]:{[`> ${a}, > ${e}-item-icon`]:{marginInlineEnd:0}}},[`${e}-item-disabled, ${e}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${e}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},bve=t=>{const{componentCls:e,motionDurationSlow:n,motionEaseInOut:o,borderRadius:i,menuArrowSize:r,menuArrowOffset:a}=t;return{[`${e}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:t.margin,width:r,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${n} ${o}, opacity ${n}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:t.calc(r).mul(.6).equal(),height:t.calc(r).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:i,transition:[`background ${n} ${o}`,`transform ${n} ${o}`,`top ${n} ${o}`,`color ${n} ${o}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(${Ut(t.calc(a).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Ut(a)})`}}}}},NEt=t=>{const{antCls:e,componentCls:n,fontSize:o,motionDurationSlow:i,motionDurationMid:r,motionEaseInOut:a,paddingXS:l,padding:s,colorSplit:c,lineWidth:u,zIndexPopup:d,borderRadiusLG:f,subMenuItemBorderRadius:p,menuArrowSize:g,menuArrowOffset:A,lineType:w,groupTitleLineHeight:b,groupTitleFontSize:C}=t;return[{"":{[`${n}`]:Object.assign(Object.assign({},Yk()),{"&-hidden":{display:"none"}})},[`${n}-submenu-hidden`]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),Yk()),{marginBottom:0,paddingInlineStart:0,fontSize:o,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${i} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${n}-item`]:{flex:"none"}},[`${n}-item, ${n}-submenu, ${n}-submenu-title`]:{borderRadius:t.itemBorderRadius},[`${n}-item-group-title`]:{padding:`${Ut(l)} ${Ut(s)}`,fontSize:C,lineHeight:b,transition:`all ${i}`},[`&-horizontal ${n}-submenu`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`].join(",")},[`${n}-submenu, ${n}-submenu-inline`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`,`padding ${r} ${a}`].join(",")},[`${n}-submenu ${n}-sub`]:{cursor:"initial",transition:[`background ${i} ${a}`,`padding ${i} ${a}`].join(",")},[`${n}-title-content`]:{transition:`color ${i}`,[`> ${e}-typography-ellipsis-single-line`]:{display:"inline",verticalAlign:"unset"}},[`${n}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${n}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:c,borderStyle:w,borderWidth:0,borderTopWidth:u,marginBlock:u,padding:0,"&-dashed":{borderStyle:"dashed"}}}),xve(t)),{[`${n}-item-group`]:{[`${n}-item-group-list`]:{margin:0,padding:0,[`${n}-item, ${n}-submenu-title`]:{paddingInline:`${Ut(t.calc(o).mul(2).equal())} ${Ut(s)}`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:d,borderRadius:f,boxShadow:"none",transformOrigin:"0 0",[`&${n}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},[`> ${n}`]:Object.assign(Object.assign(Object.assign({borderRadius:f},xve(t)),bve(t)),{[`${n}-item, ${n}-submenu > ${n}-submenu-title`]:{borderRadius:p},[`${n}-submenu-title::after`]:{transition:`transform ${i} ${a}`}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:t.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:t.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:t.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:t.paddingXS}}}),bve(t)),{[`&-inline-collapsed ${n}-submenu-arrow, - &-inline ${n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ut(A)})`},"&::after":{transform:`rotate(45deg) translateX(${Ut(t.calc(A).mul(-1).equal())})`}},[`${n}-submenu-open${n}-submenu-inline > ${n}-submenu-title > ${n}-submenu-arrow`]:{transform:`translateY(${Ut(t.calc(g).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Ut(t.calc(A).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Ut(A)})`}}})},{[`${e}-layout-header`]:{[n]:{lineHeight:"inherit"}}}]},UEt=t=>{var e,n,o;const{colorPrimary:i,colorError:r,colorTextDisabled:a,colorErrorBg:l,colorText:s,colorTextDescription:c,colorBgContainer:u,colorFillAlter:d,colorFillContent:f,lineWidth:p,lineWidthBold:g,controlItemBgActive:A,colorBgTextHover:w,controlHeightLG:b,lineHeight:C,colorBgElevated:P,marginXXS:v,padding:T,fontSize:y,controlHeightSM:S,fontSizeLG:x,colorTextLightSolid:R,colorErrorHover:H}=t,D=(e=t.activeBarWidth)!==null&&e!==void 0?e:0,k=(n=t.activeBarBorderWidth)!==null&&n!==void 0?n:p,W=(o=t.itemMarginInline)!==null&&o!==void 0?o:t.marginXXS,N=new Il(R).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:t.zIndexPopupBase+50,radiusItem:t.borderRadiusLG,itemBorderRadius:t.borderRadiusLG,radiusSubMenuItem:t.borderRadiusSM,subMenuItemBorderRadius:t.borderRadiusSM,colorItemText:s,itemColor:s,colorItemTextHover:s,itemHoverColor:s,colorItemTextHoverHorizontal:i,horizontalItemHoverColor:i,colorGroupTitle:c,groupTitleColor:c,colorItemTextSelected:i,itemSelectedColor:i,colorItemTextSelectedHorizontal:i,horizontalItemSelectedColor:i,colorItemBg:u,itemBg:u,colorItemBgHover:w,itemHoverBg:w,colorItemBgActive:f,itemActiveBg:A,colorSubItemBg:d,subMenuItemBg:d,colorItemBgSelected:A,itemSelectedBg:A,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:D,colorActiveBarHeight:g,activeBarHeight:g,colorActiveBarBorderSize:p,activeBarBorderWidth:k,colorItemTextDisabled:a,itemDisabledColor:a,colorDangerItemText:r,dangerItemColor:r,colorDangerItemTextHover:r,dangerItemHoverColor:r,colorDangerItemTextSelected:r,dangerItemSelectedColor:r,colorDangerItemBgActive:l,dangerItemActiveBg:l,colorDangerItemBgSelected:l,dangerItemSelectedBg:l,itemMarginInline:W,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:b,groupTitleLineHeight:C,collapsedWidth:b*2,popupBg:P,itemMarginBlock:v,itemPaddingInline:T,horizontalLineHeight:`${b*1.15}px`,iconSize:y,iconMarginInlineEnd:S-y,collapsedIconSize:x,groupTitleFontSize:y,darkItemDisabledColor:new Il(R).setAlpha(.25).toRgbString(),darkItemColor:N,darkDangerItemColor:r,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:R,darkItemSelectedBg:i,darkDangerItemSelectedBg:r,darkItemHoverBg:"transparent",darkGroupTitleColor:N,darkItemHoverColor:R,darkDangerItemHoverColor:H,darkDangerItemSelectedColor:R,darkDangerItemActiveBg:r,itemWidth:D?`calc(100% + ${k}px)`:`calc(100% - ${W*2}px)`}},BEt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Fl("Menu",i=>{const{colorBgElevated:r,controlHeightLG:a,fontSize:l,darkItemColor:s,darkDangerItemColor:c,darkItemBg:u,darkSubMenuItemBg:d,darkItemSelectedColor:f,darkItemSelectedBg:p,darkDangerItemSelectedBg:g,darkItemHoverBg:A,darkGroupTitleColor:w,darkItemHoverColor:b,darkItemDisabledColor:C,darkDangerItemHoverColor:P,darkDangerItemSelectedColor:v,darkDangerItemActiveBg:T,popupBg:y,darkPopupBg:S}=i,x=i.calc(l).div(7).mul(5).equal(),R=Zr(i,{menuArrowSize:x,menuHorizontalHeight:i.calc(a).mul(1.15).equal(),menuArrowOffset:i.calc(x).mul(.25).equal(),menuSubMenuBg:r,calc:i.calc,popupBg:y}),H=Zr(R,{itemColor:s,itemHoverColor:b,groupTitleColor:w,itemSelectedColor:f,itemBg:u,popupBg:S,subMenuItemBg:d,itemActiveBg:"transparent",itemSelectedBg:p,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:A,itemDisabledColor:C,dangerItemColor:c,dangerItemHoverColor:P,dangerItemSelectedColor:v,dangerItemActiveBg:T,dangerItemSelectedBg:g,menuSubMenuBg:d,horizontalItemSelectedColor:f,horizontalItemSelectedBg:p});return[NEt(R),FEt(R),WEt(R),wve(R,"light"),wve(H,"dark"),LEt(R),Zge(R),F9(R,"slide-up"),F9(R,"slide-down"),PW(R,"zoom-big")]},UEt,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(t,e)};var jEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const o=m.useContext(CG),i=o||{},{getPrefixCls:r,getPopupContainer:a,direction:l,menu:s}=m.useContext(Mi),c=r(),{prefixCls:u,className:d,style:f,theme:p="light",expandIcon:g,_internalDisableMenuItemTitleTooltip:A,inlineCollapsed:w,siderCollapsed:b,items:C,children:P,rootClassName:v,mode:T,selectable:y,onClick:S,overflowedIndicatorPopupClassName:x}=t,R=jEt(t,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),H=lp(R,["collapsedWidth"]),D=EEt(C)||P;(n=i.validator)===null||n===void 0||n.call(i,{mode:T});const k=O6(function(){var ie;S==null||S.apply(void 0,arguments),(ie=i.onClick)===null||ie===void 0||ie.call(i)}),W=i.mode||T,N=y??i.selectable,L=m.useMemo(()=>b!==void 0?b:w,[w,b]),E={horizontal:{motionName:`${c}-slide-up`},inline:Xge(c),other:{motionName:`${c}-zoom-big`}},U=r("menu",u||i.prefixCls),F=j0(U),[B,_,Y]=BEt(U,F,!o),O=Gn(`${U}-${p}`,s==null?void 0:s.className,d),J=m.useMemo(()=>{var ie,ee;if(typeof g=="function"||kie(g))return g||null;if(typeof i.expandIcon=="function"||kie(i.expandIcon))return i.expandIcon||null;if(typeof(s==null?void 0:s.expandIcon)=="function"||kie(s==null?void 0:s.expandIcon))return(s==null?void 0:s.expandIcon)||null;const q=(ie=g??(i==null?void 0:i.expandIcon))!==null&&ie!==void 0?ie:s==null?void 0:s.expandIcon;return Ou(q,{className:Gn(`${U}-submenu-expand-icon`,m.isValidElement(q)?(ee=q.props)===null||ee===void 0?void 0:ee.className:void 0)})},[g,i==null?void 0:i.expandIcon,s==null?void 0:s.expandIcon,U]),Z=m.useMemo(()=>({prefixCls:U,inlineCollapsed:L||!1,direction:l,firstLevel:!0,theme:p,mode:W,disableMenuItemTitleTooltip:A}),[U,L,l,A,p]);return B(m.createElement(CG.Provider,{value:null},m.createElement(PG.Provider,{value:Z},m.createElement(DH,Object.assign({getPopupContainer:a,overflowedIndicator:m.createElement(mme,null),overflowedIndicatorPopupClassName:Gn(U,`${U}-${p}`,x),mode:W,selectable:N,onClick:k},H,{inlineCollapsed:L,style:Object.assign(Object.assign({},s==null?void 0:s.style),f),className:O,prefixCls:U,direction:l,defaultMotions:E,expandIcon:J,ref:e,rootClassName:Gn(v,_,i.rootClassName,Y,F)}),D))))}),EH=m.forwardRef((t,e)=>{const n=m.useRef(null),o=m.useContext(iGe);return m.useImperativeHandle(e,()=>({menu:n.current,focus:i=>{var r;(r=n.current)===null||r===void 0||r.focus(i)}})),m.createElement(YEt,Object.assign({ref:n},t,o))});EH.Item=aGe;EH.SubMenu=lGe;EH.Divider=rGe;EH.ItemGroup=C$;const OEt=t=>{const{componentCls:e,menuCls:n,colorError:o,colorTextLightSolid:i}=t,r=`${n}-item`;return{[`${e}, ${e}-menu-submenu`]:{[`${n} ${r}`]:{[`&${r}-danger:not(${r}-disabled)`]:{color:o,"&:hover":{color:i,backgroundColor:o}}}}}},_Et=t=>{const{componentCls:e,menuCls:n,zIndexPopup:o,dropdownArrowDistance:i,sizePopupArrow:r,antCls:a,iconCls:l,motionDurationMid:s,paddingBlock:c,fontSize:u,dropdownEdgeChildPadding:d,colorTextDisabled:f,fontSizeIcon:p,controlPaddingHorizontal:g,colorBgElevated:A}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:o,display:"block","&::before":{position:"absolute",insetBlock:t.calc(r).div(2).sub(i).equal(),zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${a}-btn`]:{[`& > ${l}-down, & > ${a}-btn-icon > ${l}-down`]:{fontSize:p}},[`${e}-wrap`]:{position:"relative",[`${a}-btn > ${l}-down`]:{fontSize:p},[`${l}-down::before`]:{transition:`transform ${s}`}},[`${e}-wrap-open`]:{[`${l}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${a}-slide-down-enter${a}-slide-down-enter-active${e}-placement-bottomLeft, + `]:{opacity:0},[`${e}-item-icon, ${n}`]:{margin:0,fontSize:w,lineHeight:Ut(o),"+ span":{display:"inline-block",opacity:0}}},[`${e}-item-icon, ${n}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${e}-item-icon, ${n}`]:{display:"none"},"a, a:hover":{color:i}},[`${e}-item-group-title`]:Object.assign(Object.assign({},Yx),{paddingInline:p})}}]},xve=t=>{const{componentCls:e,motionDurationSlow:n,motionDurationMid:o,motionEaseInOut:i,motionEaseOut:r,iconCls:a,iconSize:l,iconMarginInlineEnd:s}=t;return{[`${e}-item, ${e}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${n}`,`background ${n}`,`padding ${n} ${i}`].join(","),[`${e}-item-icon, ${a}`]:{minWidth:l,fontSize:l,transition:[`font-size ${o} ${r}`,`margin ${n} ${i}`,`color ${n}`].join(","),"+ span":{marginInlineStart:s,opacity:1,transition:[`opacity ${n} ${i}`,`margin ${n}`,`color ${n}`].join(",")}},[`${e}-item-icon`]:Object.assign({},CH()),[`&${e}-item-only-child`]:{[`> ${a}, > ${e}-item-icon`]:{marginInlineEnd:0}}},[`${e}-item-disabled, ${e}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${e}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},bve=t=>{const{componentCls:e,motionDurationSlow:n,motionEaseInOut:o,borderRadius:i,menuArrowSize:r,menuArrowOffset:a}=t;return{[`${e}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:t.margin,width:r,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${n} ${o}, opacity ${n}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:t.calc(r).mul(.6).equal(),height:t.calc(r).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:i,transition:[`background ${n} ${o}`,`transform ${n} ${o}`,`top ${n} ${o}`,`color ${n} ${o}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(${Ut(t.calc(a).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Ut(a)})`}}}}},LEt=t=>{const{antCls:e,componentCls:n,fontSize:o,motionDurationSlow:i,motionDurationMid:r,motionEaseInOut:a,paddingXS:l,padding:s,colorSplit:c,lineWidth:u,zIndexPopup:d,borderRadiusLG:f,subMenuItemBorderRadius:p,menuArrowSize:g,menuArrowOffset:A,lineType:w,groupTitleLineHeight:b,groupTitleFontSize:C}=t;return[{"":{[`${n}`]:Object.assign(Object.assign({},Yk()),{"&-hidden":{display:"none"}})},[`${n}-submenu-hidden`]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),Yk()),{marginBottom:0,paddingInlineStart:0,fontSize:o,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${i} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${n}-item`]:{flex:"none"}},[`${n}-item, ${n}-submenu, ${n}-submenu-title`]:{borderRadius:t.itemBorderRadius},[`${n}-item-group-title`]:{padding:`${Ut(l)} ${Ut(s)}`,fontSize:C,lineHeight:b,transition:`all ${i}`},[`&-horizontal ${n}-submenu`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`].join(",")},[`${n}-submenu, ${n}-submenu-inline`]:{transition:[`border-color ${i} ${a}`,`background ${i} ${a}`,`padding ${r} ${a}`].join(",")},[`${n}-submenu ${n}-sub`]:{cursor:"initial",transition:[`background ${i} ${a}`,`padding ${i} ${a}`].join(",")},[`${n}-title-content`]:{transition:`color ${i}`,[`> ${e}-typography-ellipsis-single-line`]:{display:"inline",verticalAlign:"unset"}},[`${n}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${n}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:c,borderStyle:w,borderWidth:0,borderTopWidth:u,marginBlock:u,padding:0,"&-dashed":{borderStyle:"dashed"}}}),xve(t)),{[`${n}-item-group`]:{[`${n}-item-group-list`]:{margin:0,padding:0,[`${n}-item, ${n}-submenu-title`]:{paddingInline:`${Ut(t.calc(o).mul(2).equal())} ${Ut(s)}`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:d,borderRadius:f,boxShadow:"none",transformOrigin:"0 0",[`&${n}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:0,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'},[`> ${n}`]:Object.assign(Object.assign(Object.assign({borderRadius:f},xve(t)),bve(t)),{[`${n}-item, ${n}-submenu > ${n}-submenu-title`]:{borderRadius:p},[`${n}-submenu-title::after`]:{transition:`transform ${i} ${a}`}})},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:t.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:t.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:t.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:t.paddingXS}}}),bve(t)),{[`&-inline-collapsed ${n}-submenu-arrow, + &-inline ${n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Ut(A)})`},"&::after":{transform:`rotate(45deg) translateX(${Ut(t.calc(A).mul(-1).equal())})`}},[`${n}-submenu-open${n}-submenu-inline > ${n}-submenu-title > ${n}-submenu-arrow`]:{transform:`translateY(${Ut(t.calc(g).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Ut(t.calc(A).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Ut(A)})`}}})},{[`${e}-layout-header`]:{[n]:{lineHeight:"inherit"}}}]},WEt=t=>{var e,n,o;const{colorPrimary:i,colorError:r,colorTextDisabled:a,colorErrorBg:l,colorText:s,colorTextDescription:c,colorBgContainer:u,colorFillAlter:d,colorFillContent:f,lineWidth:p,lineWidthBold:g,controlItemBgActive:A,colorBgTextHover:w,controlHeightLG:b,lineHeight:C,colorBgElevated:P,marginXXS:v,padding:T,fontSize:y,controlHeightSM:S,fontSizeLG:x,colorTextLightSolid:R,colorErrorHover:H}=t,D=(e=t.activeBarWidth)!==null&&e!==void 0?e:0,k=(n=t.activeBarBorderWidth)!==null&&n!==void 0?n:p,W=(o=t.itemMarginInline)!==null&&o!==void 0?o:t.marginXXS,N=new Il(R).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:t.zIndexPopupBase+50,radiusItem:t.borderRadiusLG,itemBorderRadius:t.borderRadiusLG,radiusSubMenuItem:t.borderRadiusSM,subMenuItemBorderRadius:t.borderRadiusSM,colorItemText:s,itemColor:s,colorItemTextHover:s,itemHoverColor:s,colorItemTextHoverHorizontal:i,horizontalItemHoverColor:i,colorGroupTitle:c,groupTitleColor:c,colorItemTextSelected:i,itemSelectedColor:i,colorItemTextSelectedHorizontal:i,horizontalItemSelectedColor:i,colorItemBg:u,itemBg:u,colorItemBgHover:w,itemHoverBg:w,colorItemBgActive:f,itemActiveBg:A,colorSubItemBg:d,subMenuItemBg:d,colorItemBgSelected:A,itemSelectedBg:A,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:D,colorActiveBarHeight:g,activeBarHeight:g,colorActiveBarBorderSize:p,activeBarBorderWidth:k,colorItemTextDisabled:a,itemDisabledColor:a,colorDangerItemText:r,dangerItemColor:r,colorDangerItemTextHover:r,dangerItemHoverColor:r,colorDangerItemTextSelected:r,dangerItemSelectedColor:r,colorDangerItemBgActive:l,dangerItemActiveBg:l,colorDangerItemBgSelected:l,dangerItemSelectedBg:l,itemMarginInline:W,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:b,groupTitleLineHeight:C,collapsedWidth:b*2,popupBg:P,itemMarginBlock:v,itemPaddingInline:T,horizontalLineHeight:`${b*1.15}px`,iconSize:y,iconMarginInlineEnd:S-y,collapsedIconSize:x,groupTitleFontSize:y,darkItemDisabledColor:new Il(R).setAlpha(.25).toRgbString(),darkItemColor:N,darkDangerItemColor:r,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:R,darkItemSelectedBg:i,darkDangerItemSelectedBg:r,darkItemHoverBg:"transparent",darkGroupTitleColor:N,darkItemHoverColor:R,darkDangerItemHoverColor:H,darkDangerItemSelectedColor:R,darkDangerItemActiveBg:r,itemWidth:D?`calc(100% + ${k}px)`:`calc(100% - ${W*2}px)`}},NEt=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Fl("Menu",i=>{const{colorBgElevated:r,controlHeightLG:a,fontSize:l,darkItemColor:s,darkDangerItemColor:c,darkItemBg:u,darkSubMenuItemBg:d,darkItemSelectedColor:f,darkItemSelectedBg:p,darkDangerItemSelectedBg:g,darkItemHoverBg:A,darkGroupTitleColor:w,darkItemHoverColor:b,darkItemDisabledColor:C,darkDangerItemHoverColor:P,darkDangerItemSelectedColor:v,darkDangerItemActiveBg:T,popupBg:y,darkPopupBg:S}=i,x=i.calc(l).div(7).mul(5).equal(),R=Zr(i,{menuArrowSize:x,menuHorizontalHeight:i.calc(a).mul(1.15).equal(),menuArrowOffset:i.calc(x).mul(.25).equal(),menuSubMenuBg:r,calc:i.calc,popupBg:y}),H=Zr(R,{itemColor:s,itemHoverColor:b,groupTitleColor:w,itemSelectedColor:f,itemBg:u,popupBg:S,subMenuItemBg:d,itemActiveBg:"transparent",itemSelectedBg:p,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:A,itemDisabledColor:C,dangerItemColor:c,dangerItemHoverColor:P,dangerItemSelectedColor:v,dangerItemActiveBg:T,dangerItemSelectedBg:g,menuSubMenuBg:d,horizontalItemSelectedColor:f,horizontalItemSelectedBg:p});return[LEt(R),EEt(R),FEt(R),wve(R,"light"),wve(H,"dark"),kEt(R),Zge(R),F9(R,"slide-up"),F9(R,"slide-down"),PW(R,"zoom-big")]},WEt,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(t,e)};var UEt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const o=m.useContext(CG),i=o||{},{getPrefixCls:r,getPopupContainer:a,direction:l,menu:s}=m.useContext(Mi),c=r(),{prefixCls:u,className:d,style:f,theme:p="light",expandIcon:g,_internalDisableMenuItemTitleTooltip:A,inlineCollapsed:w,siderCollapsed:b,items:C,children:P,rootClassName:v,mode:T,selectable:y,onClick:S,overflowedIndicatorPopupClassName:x}=t,R=UEt(t,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),H=lp(R,["collapsedWidth"]),D=zEt(C)||P;(n=i.validator)===null||n===void 0||n.call(i,{mode:T});const k=O6(function(){var ie;S==null||S.apply(void 0,arguments),(ie=i.onClick)===null||ie===void 0||ie.call(i)}),W=i.mode||T,N=y??i.selectable,L=m.useMemo(()=>b!==void 0?b:w,[w,b]),E={horizontal:{motionName:`${c}-slide-up`},inline:Xge(c),other:{motionName:`${c}-zoom-big`}},U=r("menu",u||i.prefixCls),F=j0(U),[B,_,Y]=NEt(U,F,!o),O=Gn(`${U}-${p}`,s==null?void 0:s.className,d),J=m.useMemo(()=>{var ie,ee;if(typeof g=="function"||kie(g))return g||null;if(typeof i.expandIcon=="function"||kie(i.expandIcon))return i.expandIcon||null;if(typeof(s==null?void 0:s.expandIcon)=="function"||kie(s==null?void 0:s.expandIcon))return(s==null?void 0:s.expandIcon)||null;const q=(ie=g??(i==null?void 0:i.expandIcon))!==null&&ie!==void 0?ie:s==null?void 0:s.expandIcon;return Ou(q,{className:Gn(`${U}-submenu-expand-icon`,m.isValidElement(q)?(ee=q.props)===null||ee===void 0?void 0:ee.className:void 0)})},[g,i==null?void 0:i.expandIcon,s==null?void 0:s.expandIcon,U]),Z=m.useMemo(()=>({prefixCls:U,inlineCollapsed:L||!1,direction:l,firstLevel:!0,theme:p,mode:W,disableMenuItemTitleTooltip:A}),[U,L,l,A,p]);return B(m.createElement(CG.Provider,{value:null},m.createElement(PG.Provider,{value:Z},m.createElement(DH,Object.assign({getPopupContainer:a,overflowedIndicator:m.createElement(mme,null),overflowedIndicatorPopupClassName:Gn(U,`${U}-${p}`,x),mode:W,selectable:N,onClick:k},H,{inlineCollapsed:L,style:Object.assign(Object.assign({},s==null?void 0:s.style),f),className:O,prefixCls:U,direction:l,defaultMotions:E,expandIcon:J,ref:e,rootClassName:Gn(v,_,i.rootClassName,Y,F)}),D))))}),EH=m.forwardRef((t,e)=>{const n=m.useRef(null),o=m.useContext(nGe);return m.useImperativeHandle(e,()=>({menu:n.current,focus:i=>{var r;(r=n.current)===null||r===void 0||r.focus(i)}})),m.createElement(BEt,Object.assign({ref:n},t,o))});EH.Item=iGe;EH.SubMenu=rGe;EH.Divider=oGe;EH.ItemGroup=C$;const jEt=t=>{const{componentCls:e,menuCls:n,colorError:o,colorTextLightSolid:i}=t,r=`${n}-item`;return{[`${e}, ${e}-menu-submenu`]:{[`${n} ${r}`]:{[`&${r}-danger:not(${r}-disabled)`]:{color:o,"&:hover":{color:i,backgroundColor:o}}}}}},YEt=t=>{const{componentCls:e,menuCls:n,zIndexPopup:o,dropdownArrowDistance:i,sizePopupArrow:r,antCls:a,iconCls:l,motionDurationMid:s,paddingBlock:c,fontSize:u,dropdownEdgeChildPadding:d,colorTextDisabled:f,fontSizeIcon:p,controlPaddingHorizontal:g,colorBgElevated:A}=t;return[{[e]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:o,display:"block","&::before":{position:"absolute",insetBlock:t.calc(r).div(2).sub(i).equal(),zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${a}-btn`]:{[`& > ${l}-down, & > ${a}-btn-icon > ${l}-down`]:{fontSize:p}},[`${e}-wrap`]:{position:"relative",[`${a}-btn > ${l}-down`]:{fontSize:p},[`${l}-down::before`]:{transition:`transform ${s}`}},[`${e}-wrap-open`]:{[`${l}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${a}-slide-down-enter${a}-slide-down-enter-active${e}-placement-bottomLeft, &${a}-slide-down-appear${a}-slide-down-appear-active${e}-placement-bottomLeft, &${a}-slide-down-enter${a}-slide-down-enter-active${e}-placement-bottom, &${a}-slide-down-appear${a}-slide-down-appear-active${e}-placement-bottom, @@ -4554,8 +4554,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho &${a}-slide-down-leave${a}-slide-down-leave-active${e}-placement-bottom, &${a}-slide-down-leave${a}-slide-down-leave-active${e}-placement-bottomRight`]:{animationName:p$},[`&${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-topLeft, &${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-top, - &${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-topRight`]:{animationName:m$}})},sme(t,A,{arrowPlacement:{top:!0,bottom:!0}}),{[`${e} ${n}`]:{position:"relative",margin:0},[`${n}-submenu-popup`]:{position:"absolute",zIndex:o,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${e}, ${e}-menu-submenu`]:{[n]:Object.assign(Object.assign({padding:d,listStyleType:"none",backgroundColor:A,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary},V6(t)),{"&:empty":{padding:0,boxShadow:"none"},[`${n}-item-group-title`]:{padding:`${Ut(c)} ${Ut(g)}`,color:t.colorTextDescription,transition:`all ${s}`},[`${n}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${n}-item-icon`]:{minWidth:u,marginInlineEnd:t.marginXS,fontSize:t.fontSizeSM},[`${n}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${s}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${n}-item, ${n}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${Ut(c)} ${Ut(g)}`,color:t.colorText,fontWeight:"normal",fontSize:u,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${s}`,borderRadius:t.borderRadiusSM,"&:hover, &-active":{backgroundColor:t.controlItemBgHover}},V6(t)),{"&-selected":{color:t.colorPrimary,backgroundColor:t.controlItemBgActive,"&:hover, &-active":{backgroundColor:t.controlItemBgActiveHover}},"&-disabled":{color:f,cursor:"not-allowed","&:hover":{color:f,backgroundColor:A,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ut(t.marginXXS)} 0`,overflow:"hidden",lineHeight:0,backgroundColor:t.colorSplit},[`${e}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,[`${e}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:t.colorTextDescription,fontSize:p,fontStyle:"normal"}}}),[`${n}-item-group-list`]:{margin:`0 ${Ut(t.marginXS)}`,padding:0,listStyle:"none"},[`${n}-submenu-title`]:{paddingInlineEnd:t.calc(g).add(t.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:"relative"},[`${n}-submenu${n}-submenu-disabled ${e}-menu-submenu-title`]:{[`&, ${e}-menu-submenu-arrow-icon`]:{color:f,backgroundColor:A,cursor:"not-allowed"}},[`${n}-submenu-selected ${e}-menu-submenu-title`]:{color:t.colorPrimary}})}},[F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down"),PW(t,"zoom-big")]]},VEt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+50,paddingBlock:(t.controlHeight-t.fontSize*t.lineHeight)/2},S$({contentRadius:t.borderRadiusLG,limitVerticalRadius:!0})),b$(t)),GEt=Fl("Dropdown",t=>{const{marginXXS:e,sizePopupArrow:n,paddingXXS:o,componentCls:i}=t,r=Zr(t,{menuCls:`${i}-menu`,dropdownArrowDistance:t.calc(n).div(2).add(e).equal(),dropdownEdgeChildPadding:o});return[_Et(r),OEt(r)]},VEt),R$=t=>{const{menu:e,arrow:n,prefixCls:o,children:i,trigger:r,disabled:a,dropdownRender:l,getPopupContainer:s,overlayClassName:c,rootClassName:u,overlayStyle:d,open:f,onOpenChange:p,visible:g,onVisibleChange:A,mouseEnterDelay:w=.15,mouseLeaveDelay:b=.1,autoAdjustOverflow:C=!0,placement:P="",overlay:v,transitionName:T}=t,{getPopupContainer:y,getPrefixCls:S,direction:x,dropdown:R}=m.useContext(Mi);Hb();const H=m.useMemo(()=>{const te=S();return T!==void 0?T:P.includes("top")?`${te}-slide-down`:`${te}-slide-up`},[S,P,T]),D=m.useMemo(()=>P?P.includes("Center")?P.slice(0,P.indexOf("Center")):P:x==="rtl"?"bottomRight":"bottomLeft",[P,x]),k=S("dropdown",o),W=j0(k),[N,L,E]=GEt(k,W),[,U]=Yu(),F=m.Children.only(i),B=Ou(F,{className:Gn(`${k}-trigger`,{[`${k}-rtl`]:x==="rtl"},F.props.className),disabled:a}),_=a?[]:r;let Y;_&&_.includes("contextMenu")&&(Y=!0);const[O,J]=_6(!1,{value:f??g}),Z=O6(te=>{p==null||p(te,{source:"trigger"}),A==null||A(te),J(te)}),ie=Gn(c,u,L,E,W,R==null?void 0:R.className,{[`${k}-rtl`]:x==="rtl"}),ee=BVe({arrowPointAtCenter:typeof n=="object"&&n.pointAtCenter,autoAdjustOverflow:C,offset:U.marginXXS,arrowWidth:n?U.sizePopupArrow:0,borderRadius:U.borderRadius}),q=m.useCallback(()=>{e!=null&&e.selectable&&(e!=null&&e.multiple)||(p==null||p(!1,{source:"menu"}),J(!1))},[e==null?void 0:e.selectable,e==null?void 0:e.multiple]),ae=()=>{let te;return e!=null&&e.items?te=m.createElement(EH,Object.assign({},e)):typeof v=="function"?te=v():te=v,l&&(te=l(te)),te=m.Children.only(typeof te=="string"?m.createElement("span",null,te):te),m.createElement(sGe,{prefixCls:`${k}-menu`,rootClassName:Gn(E,W),expandIcon:m.createElement("span",{className:`${k}-menu-submenu-arrow`},m.createElement(SG,{className:`${k}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:q,validator:he=>{}},te)},[ne,se]=k7("Dropdown",d==null?void 0:d.zIndex);let le=m.createElement(GVe,Object.assign({alignPoint:Y},lp(t,["rootClassName"]),{mouseEnterDelay:w,mouseLeaveDelay:b,visible:O,builtinPlacements:ee,arrow:!!n,overlayClassName:ie,prefixCls:k,getPopupContainer:s||y,transitionName:H,trigger:_,overlay:ae,placement:D,onVisibleChange:Z,overlayStyle:Object.assign(Object.assign(Object.assign({},R==null?void 0:R.style),d),{zIndex:ne})}),B);return ne&&(le=m.createElement(yW.Provider,{value:se},le)),N(le)};function XEt(t){return Object.assign(Object.assign({},t),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const JEt=RW(R$,"dropdown",t=>t,XEt),KEt=t=>m.createElement(JEt,Object.assign({},t),m.createElement("span",null));R$._InternalPanelDoNotUseOrYouWillBeFired=KEt;var cGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekday=function(i){var r=this.$locale().weekStart||0,a=this.$W,l=(a25){var u=a(this).startOf(o).add(1,o).date(c),d=a(this).endOf(n);if(u.isBefore(d))return 1}var f=a(this).startOf(o).date(c).startOf(n).subtract(1,"millisecond"),p=this.diff(f,n,!0);return p<0?a(this).startOf("week").week():Math.ceil(p)},l.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}})})(dGe);var ekt=dGe.exports;const tkt=kr(ekt);var fGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekYear=function(){var i=this.month(),r=this.week(),a=this.year();return r===1&&i===11?a+1:i===0&&r>=52?a-1:a}}})})(fGe);var nkt=fGe.exports;const okt=kr(nkt);var hGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){var i=o.prototype,r=i.format;i.format=function(a){var l=this,s=this.$locale();if(!this.isValid())return r.bind(this)(a);var c=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((l.$M+1)/3);case"Do":return s.ordinal(l.$D);case"gggg":return l.weekYear();case"GGGG":return l.isoWeekYear();case"wo":return s.ordinal(l.week(),"W");case"w":case"ww":return c.s(l.week(),d==="w"?1:2,"0");case"W":case"WW":return c.s(l.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return c.s(String(l.$H===0?24:l.$H),d==="k"?1:2,"0");case"X":return Math.floor(l.$d.getTime()/1e3);case"x":return l.$d.getTime();case"z":return"["+l.offsetName()+"]";case"zzz":return"["+l.offsetName("long")+"]";default:return d}});return r.bind(this)(u)}}})})(hGe);var ikt=hGe.exports;const rkt=kr(ikt);var pGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,r=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},s=function(A){return(A=+A)+(A>68?1900:2e3)},c=function(A){return function(w){this[A]=+w}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(A){(this.zone||(this.zone={})).offset=function(w){if(!w||w==="Z")return 0;var b=w.match(/([+-]|\d\d)/g),C=60*b[1]+(+b[2]||0);return C===0?0:b[0]==="+"?-C:C}(A)}],d=function(A){var w=l[A];return w&&(w.indexOf?w:w.s.concat(w.f))},f=function(A,w){var b,C=l.meridiem;if(C){for(var P=1;P<=24;P+=1)if(A.indexOf(C(P,0,w))>-1){b=P>12;break}}else b=A===(w?"pm":"PM");return b},p={A:[a,function(A){this.afternoon=f(A,!1)}],a:[a,function(A){this.afternoon=f(A,!0)}],S:[/\d/,function(A){this.milliseconds=100*+A}],SS:[i,function(A){this.milliseconds=10*+A}],SSS:[/\d{3}/,function(A){this.milliseconds=+A}],s:[r,c("seconds")],ss:[r,c("seconds")],m:[r,c("minutes")],mm:[r,c("minutes")],H:[r,c("hours")],h:[r,c("hours")],HH:[r,c("hours")],hh:[r,c("hours")],D:[r,c("day")],DD:[i,c("day")],Do:[a,function(A){var w=l.ordinal,b=A.match(/\d+/);if(this.day=b[0],w)for(var C=1;C<=31;C+=1)w(C).replace(/\[|\]/g,"")===A&&(this.day=C)}],M:[r,c("month")],MM:[i,c("month")],MMM:[a,function(A){var w=d("months"),b=(d("monthsShort")||w.map(function(C){return C.slice(0,3)})).indexOf(A)+1;if(b<1)throw new Error;this.month=b%12||b}],MMMM:[a,function(A){var w=d("months").indexOf(A)+1;if(w<1)throw new Error;this.month=w%12||w}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(A){this.year=s(A)}],YYYY:[/\d{4}/,c("year")],Z:u,ZZ:u};function g(A){var w,b;w=A,b=l&&l.formats;for(var C=(A=w.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(R,H,D){var k=D&&D.toUpperCase();return H||b[D]||n[D]||b[k].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(W,N,L){return N||L.slice(1)})})).match(o),P=C.length,v=0;v-1)return new Date((U==="X"?1e3:1)*E);var B=g(U)(E),_=B.year,Y=B.month,O=B.day,J=B.hours,Z=B.minutes,ie=B.seconds,ee=B.milliseconds,q=B.zone,ae=new Date,ne=O||(_||Y?1:ae.getDate()),se=_||ae.getFullYear(),le=0;_&&!Y||(le=Y>0?Y-1:ae.getMonth());var te=J||0,he=Z||0,pe=ie||0,fe=ee||0;return q?new Date(Date.UTC(se,le,ne,te,he,pe,fe+60*q.offset*1e3)):F?new Date(Date.UTC(se,le,ne,te,he,pe,fe)):new Date(se,le,ne,te,he,pe,fe)}catch{return new Date("")}}(T,x,y),this.init(),k&&k!==!0&&(this.$L=this.locale(k).$L),D&&T!=this.format(x)&&(this.$d=new Date("")),l={}}else if(x instanceof Array)for(var W=x.length,N=1;N<=W;N+=1){S[1]=x[N-1];var L=b.apply(this,S);if(L.isValid()){this.$d=L.$d,this.$L=L.$L,this.init();break}N===W&&(this.$d=new Date(""))}else P.call(this,v)}}})})(pGe);var akt=pGe.exports;const lkt=kr(akt);gc.extend(lkt);gc.extend(rkt);gc.extend($Et);gc.extend(ZEt);gc.extend(tkt);gc.extend(okt);gc.extend(function(t,e){var n=e.prototype,o=n.format;n.format=function(r){var a=(r||"").replace("Wo","wo");return o.bind(this)(a)}});var skt={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},Y8=function(e){var n=skt[e];return n||e.split("_")[0]},Sve=function(){SYe(!1,"Not match any format. Please help to fire a issue about this.")},ckt={getNow:function(){return gc()},getFixedDate:function(e){return gc(e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(e){return e.endOf("month")},getWeekDay:function(e){var n=e.locale("en");return n.weekday()+n.localeData().firstDayOfWeek()},getYear:function(e){return e.year()},getMonth:function(e){return e.month()},getDate:function(e){return e.date()},getHour:function(e){return e.hour()},getMinute:function(e){return e.minute()},getSecond:function(e){return e.second()},getMillisecond:function(e){return e.millisecond()},addYear:function(e,n){return e.add(n,"year")},addMonth:function(e,n){return e.add(n,"month")},addDate:function(e,n){return e.add(n,"day")},setYear:function(e,n){return e.year(n)},setMonth:function(e,n){return e.month(n)},setDate:function(e,n){return e.date(n)},setHour:function(e,n){return e.hour(n)},setMinute:function(e,n){return e.minute(n)},setSecond:function(e,n){return e.second(n)},setMillisecond:function(e,n){return e.millisecond(n)},isAfter:function(e,n){return e.isAfter(n)},isValidate:function(e){return e.isValid()},locale:{getWeekFirstDay:function(e){return gc().locale(Y8(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,n){return n.locale(Y8(e)).weekday(0)},getWeek:function(e,n){return n.locale(Y8(e)).week()},getShortWeekDays:function(e){return gc().locale(Y8(e)).localeData().weekdaysMin()},getShortMonths:function(e){return gc().locale(Y8(e)).localeData().monthsShort()},format:function(e,n,o){return n.locale(Y8(e)).format(o)},parse:function(e,n,o){for(var i=Y8(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:"0",o=String(t);o.length2&&arguments[2]!==void 0?arguments[2]:[],o=m.useState([!1,!1]),i=on(o,2),r=i[0],a=i[1],l=function(u,d){a(function(f){return uE(f,d,u)})},s=m.useMemo(function(){return r.map(function(c,u){if(c)return!0;var d=t[u];return d?!!(!n[u]&&!d||d&&e(d,{activeIndex:u})):!1})},[t,r,e,n]);return[s,l]}function vGe(t,e,n,o,i){var r="",a=[];return t&&a.push(i?"hh":"HH"),e&&a.push("mm"),n&&a.push("ss"),r=a.join(":"),o&&(r+=".SSS"),i&&(r+=" A"),r}function dkt(t,e,n,o,i,r){var a=t.fieldDateTimeFormat,l=t.fieldDateFormat,s=t.fieldTimeFormat,c=t.fieldMonthFormat,u=t.fieldYearFormat,d=t.fieldWeekFormat,f=t.fieldQuarterFormat,p=t.yearFormat,g=t.cellYearFormat,A=t.cellQuarterFormat,w=t.dayFormat,b=t.cellDateFormat,C=vGe(e,n,o,i,r);return $t($t({},t),{},{fieldDateTimeFormat:a||"YYYY-MM-DD ".concat(C),fieldDateFormat:l||"YYYY-MM-DD",fieldTimeFormat:s||C,fieldMonthFormat:c||"YYYY-MM",fieldYearFormat:u||"YYYY",fieldWeekFormat:d||"gggg-wo",fieldQuarterFormat:f||"YYYY-[Q]Q",yearFormat:p||"YYYY",cellYearFormat:g||"YYYY",cellQuarterFormat:A||"[Q]Q",cellDateFormat:b||w||"D"})}function xGe(t,e){var n=e.showHour,o=e.showMinute,i=e.showSecond,r=e.showMillisecond,a=e.use12Hours;return be.useMemo(function(){return dkt(t,n,o,i,r,a)},[t,n,o,i,r,a])}function Tz(t,e,n){return n??e.some(function(o){return t.includes(o)})}var fkt=["showNow","showHour","showMinute","showSecond","showMillisecond","use12Hours","hourStep","minuteStep","secondStep","millisecondStep","hideDisabledOptions","defaultValue","disabledHours","disabledMinutes","disabledSeconds","disabledMilliseconds","disabledTime","changeOnScroll","defaultOpenValue"];function hkt(t){var e=H$(t,fkt),n=t.format,o=t.picker,i=null;return n&&(i=n,Array.isArray(i)&&(i=i[0]),i=gr(i)==="object"?i.format:i),o==="time"&&(e.format=i),[e,i]}function pkt(t){return t&&typeof t=="string"}function bGe(t,e,n,o){return[t,e,n,o].some(function(i){return i!==void 0})}function SGe(t,e,n,o,i){var r=e,a=n,l=o;if(!t&&!r&&!a&&!l&&!i)r=!0,a=!0,l=!0;else if(t){var s,c,u,d=[r,a,l].some(function(g){return g===!1}),f=[r,a,l].some(function(g){return g===!0}),p=d?!0:!f;r=(s=r)!==null&&s!==void 0?s:p,a=(c=a)!==null&&c!==void 0?c:p,l=(u=l)!==null&&u!==void 0?u:p}return[r,a,l,i]}function TGe(t){var e=t.showTime,n=hkt(t),o=on(n,2),i=o[0],r=o[1],a=e&&gr(e)==="object"?e:{},l=$t($t({defaultOpenValue:a.defaultOpenValue||a.defaultValue},i),a),s=l.showMillisecond,c=l.showHour,u=l.showMinute,d=l.showSecond,f=bGe(c,u,d,s),p=SGe(f,c,u,d,s),g=on(p,3);return c=g[0],u=g[1],d=g[2],[l,$t($t({},l),{},{showHour:c,showMinute:u,showSecond:d,showMillisecond:s}),l.format,r]}function PGe(t,e,n,o,i){var r=t==="time";if(t==="datetime"||r){for(var a=o,l=mGe(t,i,null),s=l,c=[e,n],u=0;u1&&(a=e.addDate(a,-7)),a}function ku(t,e){var n=e.generateConfig,o=e.locale,i=e.format;return t?typeof i=="function"?i(t):n.locale.format(o.locale,t,i):""}function RG(t,e,n){var o=e,i=["getHour","getMinute","getSecond","getMillisecond"],r=["setHour","setMinute","setSecond","setMillisecond"];return r.forEach(function(a,l){n?o=t[a](o,t[i[l]](n)):o=t[a](o,0)}),o}function Akt(t,e,n,o,i){var r=Ia(function(a,l){return!!(n&&n(a,l)||o&&t.isAfter(o,a)&&!lh(t,e,o,a,l.type)||i&&t.isAfter(a,i)&&!lh(t,e,i,a,l.type))});return r}function wkt(t,e,n){return m.useMemo(function(){var o=mGe(t,e,n),i=Ib(o),r=i[0],a=gr(r)==="object"&&r.type==="mask"?r.format:null;return[i.map(function(l){return typeof l=="string"||typeof l=="function"?l:l.format}),a]},[t,e,n])}function vkt(t,e,n){return typeof t[0]=="function"||n?!0:e}function xkt(t,e,n,o){var i=Ia(function(r,a){var l=$t({type:e},a);if(delete l.activeIndex,!t.isValidate(r)||n&&n(r,l))return!0;if((e==="date"||e==="time")&&o){var s,c=a&&a.activeIndex===1?"end":"start",u=((s=o.disabledTime)===null||s===void 0?void 0:s.call(o,r,c,{from:l.from}))||{},d=u.disabledHours,f=u.disabledMinutes,p=u.disabledSeconds,g=u.disabledMilliseconds,A=o.disabledHours,w=o.disabledMinutes,b=o.disabledSeconds,C=d||A,P=f||w,v=p||b,T=t.getHour(r),y=t.getMinute(r),S=t.getSecond(r),x=t.getMillisecond(r);if(C&&C().includes(T)||P&&P(T).includes(y)||v&&v(T,y).includes(S)||g&&g(T,y,S).includes(x))return!0}return!1});return i}function gY(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=m.useMemo(function(){var o=t&&Ib(t);return e&&o&&(o[1]=o[1]||o[0]),o},[t,e]);return n}function HGe(t,e){var n=t.generateConfig,o=t.locale,i=t.picker,r=i===void 0?"date":i,a=t.prefixCls,l=a===void 0?"rc-picker":a,s=t.styles,c=s===void 0?{}:s,u=t.classNames,d=u===void 0?{}:u,f=t.order,p=f===void 0?!0:f,g=t.components,A=g===void 0?{}:g,w=t.inputRender,b=t.allowClear,C=t.clearIcon,P=t.needConfirm,v=t.multiple,T=t.format,y=t.inputReadOnly,S=t.disabledDate,x=t.minDate,R=t.maxDate,H=t.showTime,D=t.value,k=t.defaultValue,W=t.pickerValue,N=t.defaultPickerValue,L=gY(D),E=gY(k),U=gY(W),F=gY(N),B=r==="date"&&H?"datetime":r,_=B==="time"||B==="datetime",Y=_||v,O=P??_,J=TGe(t),Z=on(J,4),ie=Z[0],ee=Z[1],q=Z[2],ae=Z[3],ne=xGe(o,ee),se=m.useMemo(function(){return PGe(B,q,ae,ie,ne)},[B,q,ae,ie,ne]),le=m.useMemo(function(){return $t($t({},t),{},{prefixCls:l,locale:ne,picker:r,styles:c,classNames:d,order:p,components:$t({input:w},A),clearIcon:gkt(l,b,C),showTime:se,value:L,defaultValue:E,pickerValue:U,defaultPickerValue:F},e==null?void 0:e())},[t]),te=wkt(B,ne,T),he=on(te,2),pe=he[0],fe=he[1],$=vkt(pe,y,v),de=Akt(n,o,S,x,R),Se=xkt(n,r,de,se),Ce=m.useMemo(function(){return $t($t({},le),{},{needConfirm:O,inputReadOnly:$,disabledDate:de})},[le,O,$,de]);return[Ce,B,Y,pe,fe,Se]}function bkt(t,e,n){var o=Rs(e,{value:t}),i=on(o,2),r=i[0],a=i[1],l=be.useRef(t),s=be.useRef(),c=function(){za.cancel(s.current)},u=Ia(function(){a(l.current),n&&r!==l.current&&n(l.current)}),d=Ia(function(f,p){c(),l.current=f,f||p?u():s.current=za(u)});return be.useEffect(function(){return c},[]),[r,d]}function MGe(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,i=n.every(function(u){return u})?!1:t,r=bkt(i,e||!1,o),a=on(r,2),l=a[0],s=a[1];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!d.inherit||l)&&s(u,d.force)}return[l,c]}function IGe(t){var e=m.useRef();return m.useImperativeHandle(t,function(){var n;return{nativeElement:(n=e.current)===null||n===void 0?void 0:n.nativeElement,focus:function(i){var r;(r=e.current)===null||r===void 0||r.focus(i)},blur:function(){var i;(i=e.current)===null||i===void 0||i.blur()}}}),e}function zGe(t,e){return m.useMemo(function(){return t||(e?(U0(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(e).map(function(n){var o=on(n,2),i=o[0],r=o[1];return{label:i,value:r}})):[])},[t,e])}function xme(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,o=m.useRef(e);o.current=e,sx(function(){if(t)o.current(t);else{var i=za(function(){o.current(t)},n);return function(){za.cancel(i)}}},[t])}function DGe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=m.useState(0),o=on(n,2),i=o[0],r=o[1],a=m.useState(!1),l=on(a,2),s=l[0],c=l[1],u=m.useRef([]),d=m.useRef(null),f=function(w){c(w)},p=function(w){return w&&(d.current=w),d.current},g=function(w){var b=u.current,C=new Set(b.filter(function(v){return w[v]||e[v]})),P=b[b.length-1]===0?1:0;return C.size>=2||t[P]?null:P};return xme(s,function(){s||(u.current=[])}),m.useEffect(function(){s&&u.current.push(i)},[s,i]),[s,f,p,i,r,g,u.current]}function Skt(t,e,n,o,i,r){var a=n[n.length-1],l=function(c,u){var d=on(t,2),f=d[0],p=d[1],g=$t($t({},u),{},{from:yGe(t,n)});return a===1&&e[0]&&f&&!lh(o,i,f,c,g.type)&&o.isAfter(f,c)||a===0&&e[1]&&p&&!lh(o,i,p,c,g.type)&&o.isAfter(c,p)?!0:r==null?void 0:r(c,g)};return l}function yD(t,e,n,o){switch(e){case"date":case"week":return t.addMonth(n,o);case"month":case"quarter":return t.addYear(n,o);case"year":return t.addYear(n,o*10);case"decade":return t.addYear(n,o*100);default:return n}}var Lie=[];function EGe(t,e,n,o,i,r,a,l){var s=arguments.length>8&&arguments[8]!==void 0?arguments[8]:Lie,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:Lie,u=arguments.length>10&&arguments[10]!==void 0?arguments[10]:Lie,d=arguments.length>11?arguments[11]:void 0,f=arguments.length>12?arguments[12]:void 0,p=arguments.length>13?arguments[13]:void 0,g=a==="time",A=r||0,w=function(U){var F=t.getNow();return g&&(F=RG(t,F)),s[U]||n[U]||F},b=on(c,2),C=b[0],P=b[1],v=Rs(function(){return w(0)},{value:C}),T=on(v,2),y=T[0],S=T[1],x=Rs(function(){return w(1)},{value:P}),R=on(x,2),H=R[0],D=R[1],k=m.useMemo(function(){var E=[y,H][A];return g?E:RG(t,E,u[A])},[g,y,H,A,t,u]),W=function(U){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"panel",B=[S,D][A];B(U);var _=[y,H];_[A]=U,d&&(!lh(t,e,y,_[0],a)||!lh(t,e,H,_[1],a))&&d(_,{source:F,range:A===1?"end":"start",mode:o})},N=function(U,F){if(l){var B={date:"month",week:"month",month:"year",quarter:"year"},_=B[a];if(_&&!lh(t,e,U,F,_))return yD(t,a,F,-1);if(a==="year"){var Y=Math.floor(t.getYear(U)/10),O=Math.floor(t.getYear(F)/10);if(Y!==O)return yD(t,a,F,-1)}}return F},L=m.useRef(null);return Ba(function(){if(i&&!s[A]){var E=g?null:t.getNow();if(L.current!==null&&L.current!==A?E=[y,H][A^1]:n[A]?E=A===0?n[0]:N(n[0],n[1]):n[A^1]&&(E=n[A^1]),E){f&&t.isAfter(f,E)&&(E=f);var U=l?yD(t,a,E,1):E;p&&t.isAfter(U,p)&&(E=l?yD(t,a,p,-1):p),W(E,"reset")}}},[i,A,n[A]]),m.useEffect(function(){i?L.current=A:L.current=null},[i,A]),Ba(function(){i&&s&&s[A]&&W(s[A],"reset")},[i,A]),[k,W]}function kGe(t,e){var n=m.useRef(t),o=m.useState({}),i=on(o,2),r=i[1],a=function(c){return c&&e!==void 0?e:n.current},l=function(c){n.current=c,r({})};return[a,l,a(!0)]}var Tkt=[];function FGe(t,e,n){var o=function(a){return a.map(function(l){return ku(l,{generateConfig:t,locale:e,format:n[0]})})},i=function(a,l){for(var s=Math.max(a.length,l.length),c=-1,u=0;u2&&arguments[2]!==void 0?arguments[2]:1,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:2,a=[],l=n>=1?n|0:1,s=t;s<=e;s+=l){var c=i.includes(s);(!c||!o)&&a.push({label:yme(s,r),value:s,disabled:c})}return a}function bme(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=e||{},i=o.use12Hours,r=o.hourStep,a=r===void 0?1:r,l=o.minuteStep,s=l===void 0?1:l,c=o.secondStep,u=c===void 0?1:c,d=o.millisecondStep,f=d===void 0?100:d,p=o.hideDisabledOptions,g=o.disabledTime,A=o.disabledHours,w=o.disabledMinutes,b=o.disabledSeconds,C=m.useMemo(function(){return n||t.getNow()},[n,t]),P=m.useCallback(function(F){var B=(g==null?void 0:g(F))||{};return[B.disabledHours||A||mY,B.disabledMinutes||w||mY,B.disabledSeconds||b||mY,B.disabledMilliseconds||mY]},[g,A,w,b]),v=m.useMemo(function(){return P(C)},[C,P]),T=on(v,4),y=T[0],S=T[1],x=T[2],R=T[3],H=m.useCallback(function(F,B,_,Y){var O=yY(0,23,a,p,F()),J=i?O.map(function(q){return $t($t({},q),{},{label:yme(q.value%12||12,2)})}):O,Z=function(ae){return yY(0,59,s,p,B(ae))},ie=function(ae,ne){return yY(0,59,u,p,_(ae,ne))},ee=function(ae,ne,se){return yY(0,999,f,p,Y(ae,ne,se),3)};return[J,Z,ie,ee]},[p,a,i,f,s,u]),D=m.useMemo(function(){return H(y,S,x,R)},[H,y,S,x,R]),k=on(D,4),W=k[0],N=k[1],L=k[2],E=k[3],U=function(B,_){var Y=function(){return W},O=N,J=L,Z=E;if(_){var ie=P(_),ee=on(ie,4),q=ee[0],ae=ee[1],ne=ee[2],se=ee[3],le=H(q,ae,ne,se),te=on(le,4),he=te[0],pe=te[1],fe=te[2],$=te[3];Y=function(){return he},O=pe,J=fe,Z=$}var de=Ckt(B,Y,O,J,Z,t);return de};return[U,W,N,L,E]}function Rkt(t){var e=t.mode,n=t.internalMode,o=t.renderExtraFooter,i=t.showNow,r=t.showTime,a=t.onSubmit,l=t.onNow,s=t.invalid,c=t.needConfirm,u=t.generateConfig,d=t.disabledDate,f=m.useContext($2),p=f.prefixCls,g=f.locale,A=f.button,w=A===void 0?"button":A,b=u.getNow(),C=bme(u,r,b),P=on(C,1),v=P[0],T=o==null?void 0:o(e),y=d(b,{type:e}),S=function(){if(!y){var N=v(b);l(N)}},x="".concat(p,"-now"),R="".concat(x,"-btn"),H=i&&m.createElement("li",{className:x},m.createElement("a",{className:_n(R,y&&"".concat(R,"-disabled")),"aria-disabled":y,onClick:S},n==="date"?g.today:g.now)),D=c&&m.createElement("li",{className:"".concat(p,"-ok")},m.createElement(w,{disabled:s,onClick:a},g.ok)),k=(H||D)&&m.createElement("ul",{className:"".concat(p,"-ranges")},H,D);return!T&&!k?null:m.createElement("div",{className:"".concat(p,"-footer")},T&&m.createElement("div",{className:"".concat(p,"-footer-extra")},T),k)}function BGe(t,e,n){function o(i,r){var a=i.findIndex(function(s){return lh(t,e,s,r,n)});if(a===-1)return[].concat(Wo(i),[r]);var l=Wo(i);return l.splice(a,1),l}return o}var zb=m.createContext(null);function I$(){return m.useContext(zb)}function kH(t,e){var n=t.prefixCls,o=t.generateConfig,i=t.locale,r=t.disabledDate,a=t.minDate,l=t.maxDate,s=t.cellRender,c=t.hoverValue,u=t.hoverRangeValue,d=t.onHover,f=t.values,p=t.pickerValue,g=t.onSelect,A=t.prevIcon,w=t.nextIcon,b=t.superPrevIcon,C=t.superNextIcon,P=o.getNow(),v={now:P,values:f,pickerValue:p,prefixCls:n,disabledDate:r,minDate:a,maxDate:l,cellRender:s,hoverValue:c,hoverRangeValue:u,onHover:d,locale:i,generateConfig:o,onSelect:g,panelType:e,prevIcon:A,nextIcon:w,superPrevIcon:b,superNextIcon:C};return[v,P]}var Fw=m.createContext({});function zW(t){for(var e=t.rowNum,n=t.colNum,o=t.baseDate,i=t.getCellDate,r=t.prefixColumn,a=t.rowClassName,l=t.titleFormat,s=t.getCellText,c=t.getCellClassName,u=t.headerCells,d=t.cellSelection,f=d===void 0?!0:d,p=t.disabledDate,g=I$(),A=g.prefixCls,w=g.panelType,b=g.now,C=g.disabledDate,P=g.cellRender,v=g.onHover,T=g.hoverValue,y=g.hoverRangeValue,S=g.generateConfig,x=g.values,R=g.locale,H=g.onSelect,D=p||C,k="".concat(A,"-cell"),W=m.useContext(Fw),N=W.onCellDblClick,L=function(J){return x.some(function(Z){return Z&&lh(S,R,J,Z,w)})},E=[],U=0;U1&&arguments[1]!==void 0?arguments[1]:!1;ze($e),w==null||w($e),We&&ye($e)},ge=function($e,We){ne($e),We&&oe(We),ye(We,$e)},Ae=function($e){if(Se($e),oe($e),ae!==v){var We=["decade","year"],Ee=[].concat(We,["month"]),Fe={quarter:[].concat(We,["quarter"]),week:[].concat(Wo(Ee),["week"]),date:[].concat(Wo(Ee),["date"])},Ge=Fe[v]||Ee,rt=Ge.indexOf(ae),Ve=Ge[rt+1];Ve&&ge(Ve,$e)}},me=m.useMemo(function(){var Le,$e;if(Array.isArray(S)){var We=on(S,2);Le=We[0],$e=We[1]}else Le=S;return!Le&&!$e?null:(Le=Le||$e,$e=$e||Le,i.isAfter(Le,$e)?[$e,Le]:[Le,$e])},[S,i]),Pe=Ame(x,R,H),Me=k[se]||Nkt[se]||z$,Te=m.useContext(Fw),De=m.useMemo(function(){return $t($t({},Te),{},{hideHeader:W})},[Te,W]),Ue="".concat(N,"-panel"),Oe=H$(t,["showWeek","prevIcon","nextIcon","superPrevIcon","superNextIcon","disabledDate","minDate","maxDate","onHover"]);return m.createElement(Fw.Provider,{value:De},m.createElement("div",{ref:L,tabIndex:s,className:_n(Ue,_t({},"".concat(Ue,"-rtl"),r==="rtl"))},m.createElement(Me,so({},Oe,{showTime:Z,prefixCls:N,locale:O,generateConfig:i,onModeChange:ge,pickerValue:Ie,onPickerValueChange:function($e){oe($e,!0)},value:$[0],onSelect:Ae,values:$,cellRender:Pe,hoverRangeValue:me,hoverValue:y}))))}var Wie=m.memo(m.forwardRef(Ukt));function Bkt(t){var e=t.picker,n=t.multiplePanel,o=t.pickerValue,i=t.onPickerValueChange,r=t.needConfirm,a=t.onSubmit,l=t.range,s=t.hoverValue,c=m.useContext($2),u=c.prefixCls,d=c.generateConfig,f=m.useCallback(function(C,P){return yD(d,e,C,P)},[d,e]),p=m.useMemo(function(){return f(o,1)},[o,f]),g=function(P){i(f(P,-1))},A={onCellDblClick:function(){r&&a()}},w=e==="time",b=$t($t({},t),{},{hoverValue:null,hoverRangeValue:null,hideHeader:w});return l?b.hoverRangeValue=s:b.hoverValue=s,n?m.createElement("div",{className:"".concat(u,"-panels")},m.createElement(Fw.Provider,{value:$t($t({},A),{},{hideNext:!0})},m.createElement(Wie,b)),m.createElement(Fw.Provider,{value:$t($t({},A),{},{hidePrev:!0})},m.createElement(Wie,so({},b,{pickerValue:p,onPickerValueChange:g})))):m.createElement(Fw.Provider,{value:$t({},A)},m.createElement(Wie,b))}function Pve(t){return typeof t=="function"?t():t}function jkt(t){var e=t.prefixCls,n=t.presets,o=t.onClick,i=t.onHover;return n.length?m.createElement("div",{className:"".concat(e,"-presets")},m.createElement("ul",null,n.map(function(r,a){var l=r.label,s=r.value;return m.createElement("li",{key:a,onClick:function(){o(Pve(s))},onMouseEnter:function(){i(Pve(s))},onMouseLeave:function(){i(null)}},l)}))):null}function YGe(t){var e=t.panelRender,n=t.internalMode,o=t.picker,i=t.showNow,r=t.range,a=t.multiple,l=t.activeOffset,s=l===void 0?0:l,c=t.presets,u=t.onPresetHover,d=t.onPresetSubmit,f=t.onFocus,p=t.onBlur,g=t.direction,A=t.value,w=t.onSelect,b=t.isInvalid,C=t.defaultOpenValue,P=t.onOk,v=t.onSubmit,T=m.useContext($2),y=T.prefixCls,S="".concat(y,"-panel"),x=g==="rtl",R=m.useRef(null),H=m.useRef(null),D=m.useState(0),k=on(D,2),W=k[0],N=k[1],L=m.useState(0),E=on(L,2),U=E[0],F=E[1],B=function(he){he.offsetWidth&&N(he.offsetWidth)};m.useEffect(function(){if(r){var te,he=((te=R.current)===null||te===void 0?void 0:te.offsetWidth)||0,pe=W-he;s<=pe?F(0):F(s+he-W)}},[W,s,r]);function _(te){return te.filter(function(he){return he})}var Y=m.useMemo(function(){return _(Ib(A))},[A]),O=o==="time"&&!Y.length,J=m.useMemo(function(){return O?_([C]):Y},[O,Y,C]),Z=O?C:Y,ie=m.useMemo(function(){return J.length?J.some(function(te){return b(te)}):!0},[J,b]),ee=function(){O&&w(C),P(),v()},q=m.createElement("div",{className:"".concat(y,"-panel-layout")},m.createElement(jkt,{prefixCls:y,presets:c,onClick:d,onHover:u}),m.createElement("div",null,m.createElement(Bkt,so({},t,{value:Z})),m.createElement(Rkt,so({},t,{showNow:a?!1:i,invalid:ie,onSubmit:ee}))));e&&(q=e(q));var ae="".concat(S,"-container"),ne="marginLeft",se="marginRight",le=m.createElement("div",{tabIndex:-1,className:_n(ae,"".concat(y,"-").concat(n,"-panel-container")),style:_t(_t({},x?se:ne,U),x?ne:se,"auto"),onFocus:f,onBlur:p},q);return r&&(le=m.createElement("div",{ref:H,className:_n("".concat(y,"-range-wrapper"),"".concat(y,"-").concat(o,"-range-wrapper"))},m.createElement("div",{ref:R,className:"".concat(y,"-range-arrow"),style:_t({},x?"right":"left",s)}),m.createElement(bd,{onResize:B},le))),le}function OGe(t,e){var n=t.format,o=t.maskFormat,i=t.generateConfig,r=t.locale,a=t.preserveInvalidOnBlur,l=t.inputReadOnly,s=t.required,c=t["aria-required"],u=t.onSubmit,d=t.onFocus,f=t.onBlur,p=t.onInputChange,g=t.onInvalid,A=t.open,w=t.onOpenChange,b=t.onKeyDown,C=t.onChange,P=t.activeHelp,v=t.name,T=t.autoComplete,y=t.id,S=t.value,x=t.invalid,R=t.placeholder,H=t.disabled,D=t.activeIndex,k=t.allHelp,W=t.picker,N=function(O,J){var Z=i.locale.parse(r.locale,O,[J]);return Z&&i.isValidate(Z)?Z:null},L=n[0],E=m.useCallback(function(Y){return ku(Y,{locale:r,format:L,generateConfig:i})},[r,i,L]),U=m.useMemo(function(){return S.map(E)},[S,E]),F=m.useMemo(function(){var Y=W==="time"?8:10,O=typeof L=="function"?L(i.getNow()).length:L.length;return Math.max(Y,O)+2},[L,W,i]),B=function(O){for(var J=0;J=l&&n<=s)return r;var c=Math.min(Math.abs(n-l),Math.abs(n-s));c0?at:ot));var yt=nt+Qe,Tt=ot-at+1;return String(at+(Tt+yt-at)%Tt)};switch($e){case"Backspace":case"Delete":We="",Ee=Ge;break;case"ArrowLeft":We="",rt(-1);break;case"ArrowRight":We="",rt(1);break;case"ArrowUp":We="",Ee=Ve(1);break;case"ArrowDown":We="",Ee=Ve(-1);break;default:isNaN(Number($e))||(We=Y+$e,Ee=We);break}if(We!==null&&(O(We),We.length>=Fe&&(rt(1),O(""))),Ee!==null){var xt=le.slice(0,de)+yme(Ee,Fe)+le.slice(Se);ve(xt.slice(0,a.length))}se({})},De=m.useRef();Ba(function(){if(!(!W||!a||ye.current)){if(!pe.match(le)){ve(a);return}return he.current.setSelectionRange(de,Se),De.current=za(function(){he.current.setSelectionRange(de,Se)}),function(){za.cancel(De.current)}}},[pe,a,W,le,ie,de,Se,ne,ve]);var Ue=a?{onFocus:Ae,onBlur:Pe,onKeyDown:Te,onMouseDown:oe,onMouseUp:ge,onPaste:ze}:{};return m.createElement("div",{ref:te,className:_n(H,_t(_t({},"".concat(H,"-active"),n&&i),"".concat(H,"-placeholder"),c))},m.createElement(R,so({ref:he,"aria-invalid":A,autoComplete:"off"},b,{onKeyDown:Me,onBlur:me},Ue,{value:le,onChange:Ie})),m.createElement(D$,{type:"suffix",icon:r}),w)}),Jkt=["id","clearIcon","suffixIcon","separator","activeIndex","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","value","onChange","onSubmit","onInputChange","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onActiveOffset","onMouseDown","required","aria-required","autoFocus"],Kkt=["index"];function qkt(t,e){var n=t.id,o=t.clearIcon,i=t.suffixIcon,r=t.separator,a=r===void 0?"~":r,l=t.activeIndex;t.activeHelp,t.allHelp;var s=t.focused;t.onFocus,t.onBlur,t.onKeyDown,t.locale,t.generateConfig;var c=t.placeholder,u=t.className,d=t.style,f=t.onClick,p=t.onClear,g=t.value;t.onChange,t.onSubmit,t.onInputChange,t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var A=t.disabled,w=t.invalid;t.inputReadOnly;var b=t.direction;t.onOpenChange;var C=t.onActiveOffset,P=t.onMouseDown;t.required,t["aria-required"];var v=t.autoFocus,T=ir(t,Jkt),y=b==="rtl",S=m.useContext($2),x=S.prefixCls,R=m.useMemo(function(){if(typeof n=="string")return[n];var ae=n||{};return[ae.start,ae.end]},[n]),H=m.useRef(),D=m.useRef(),k=m.useRef(),W=function(ne){var se;return(se=[D,k][ne])===null||se===void 0?void 0:se.current};m.useImperativeHandle(e,function(){return{nativeElement:H.current,focus:function(ne){if(gr(ne)==="object"){var se,le=ne||{},te=le.index,he=te===void 0?0:te,pe=ir(le,Kkt);(se=W(he))===null||se===void 0||se.focus(pe)}else{var fe;(fe=W(ne??0))===null||fe===void 0||fe.focus()}},blur:function(){var ne,se;(ne=W(0))===null||ne===void 0||ne.blur(),(se=W(1))===null||se===void 0||se.blur()}}});var N=_Ge(T),L=m.useMemo(function(){return Array.isArray(c)?c:[c,c]},[c]),E=OGe($t($t({},t),{},{id:R,placeholder:L})),U=on(E,1),F=U[0],B=y?"right":"left",_=m.useState(_t({position:"absolute",width:0},B,0)),Y=on(_,2),O=Y[0],J=Y[1],Z=Ia(function(){var ae=W(l);if(ae){var ne=ae.nativeElement,se=ne.offsetWidth,le=ne.offsetLeft,te=ne.offsetParent,he=le;if(y){var pe=te,fe=getComputedStyle(pe);he=pe.offsetWidth-parseFloat(fe.borderRightWidth)-parseFloat(fe.borderLeftWidth)-le-se}J(function($){return $t($t({},$),{},_t({width:se},B,he))}),C(l===0?0:he)}});m.useEffect(function(){Z()},[l]);var ie=o&&(g[0]&&!A[0]||g[1]&&!A[1]),ee=v&&!A[0],q=v&&!ee&&!A[1];return m.createElement(bd,{onResize:Z},m.createElement("div",so({},N,{className:_n(x,"".concat(x,"-range"),_t(_t(_t(_t({},"".concat(x,"-focused"),s),"".concat(x,"-disabled"),A.every(function(ae){return ae})),"".concat(x,"-invalid"),w.some(function(ae){return ae})),"".concat(x,"-rtl"),y),u),style:d,ref:H,onClick:f,onMouseDown:function(ne){var se=ne.target;se!==D.current.inputElement&&se!==k.current.inputElement&&ne.preventDefault(),P==null||P(ne)}}),m.createElement(L0e,so({ref:D},F(0),{autoFocus:ee,"date-range":"start"})),m.createElement("div",{className:"".concat(x,"-range-separator")},a),m.createElement(L0e,so({ref:k},F(1),{autoFocus:q,"date-range":"end"})),m.createElement("div",{className:"".concat(x,"-active-bar"),style:O}),m.createElement(D$,{type:"suffix",icon:i}),ie&&m.createElement(F0e,{icon:o,onClear:p})))}var $kt=m.forwardRef(qkt);function Rve(t,e){var n=t??e;return Array.isArray(n)?n:[n,n]}function wY(t){return t===1?"end":"start"}function Qkt(t,e){var n=HGe(t,function(){var bo=t.disabled,Ro=t.allowEmpty,oi=Rve(bo,!1),go=Rve(Ro,!1);return{disabled:oi,allowEmpty:go}}),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i.prefixCls,d=i.styles,f=i.classNames,p=i.defaultValue,g=i.value,A=i.needConfirm,w=i.onKeyDown,b=i.disabled,C=i.allowEmpty,P=i.disabledDate,v=i.minDate,T=i.maxDate,y=i.defaultOpen,S=i.open,x=i.onOpenChange,R=i.locale,H=i.generateConfig,D=i.picker,k=i.showNow,W=i.showToday,N=i.showTime,L=i.mode,E=i.onPanelChange,U=i.onCalendarChange,F=i.onOk,B=i.defaultPickerValue,_=i.pickerValue,Y=i.onPickerValueChange,O=i.inputReadOnly,J=i.suffixIcon,Z=i.onFocus,ie=i.onBlur,ee=i.presets,q=i.ranges,ae=i.components,ne=i.cellRender,se=i.dateRender,le=i.monthCellRender,te=i.onClick,he=IGe(e),pe=MGe(S,y,b,x),fe=on(pe,2),$=fe[0],de=fe[1],Se=function(Ro,oi){(b.some(function(go){return!go})||!Ro)&&de(Ro,oi)},Ce=WGe(H,R,l,!0,!1,p,g,U,F),ve=on(Ce,5),Ie=ve[0],ze=ve[1],ye=ve[2],oe=ve[3],ge=ve[4],Ae=ye(),me=DGe(b,C),Pe=on(me,7),Me=Pe[0],Te=Pe[1],De=Pe[2],Ue=Pe[3],Oe=Pe[4],Le=Pe[5],$e=Pe[6],We=function(Ro,oi){Te(!0),Z==null||Z(Ro,{range:wY(oi??Ue)})},Ee=function(Ro,oi){Te(!1),ie==null||ie(Ro,{range:wY(oi??Ue)})},Fe=m.useMemo(function(){if(!N)return null;var bo=N.disabledTime,Ro=bo?function(oi){var go=wY(Ue),So=yGe(Ae,$e,Ue);return bo(oi,go,{from:So})}:void 0;return $t($t({},N),{},{disabledTime:Ro})},[N,Ue,Ae,$e]),Ge=Rs([D,D],{value:L}),rt=on(Ge,2),Ve=rt[0],xt=rt[1],dt=Ve[Ue]||D,Qe=dt==="date"&&Fe?"datetime":dt,ut=Qe===D&&Qe!=="time",ft=UGe(D,dt,k,W,!0),at=NGe(i,Ie,ze,ye,oe,b,l,Me,$,c),ot=on(at,2),et=ot[0],_e=ot[1],nt=Skt(Ae,b,$e,H,R,P),yt=wGe(Ae,c,C),Tt=on(yt,2),Rt=Tt[0],Wt=Tt[1],Ct=EGe(H,R,Ae,Ve,$,Ue,r,ut,B,_,Fe==null?void 0:Fe.defaultOpenValue,Y,v,T),At=on(Ct,2),Ft=At[0],Ke=At[1],Je=Ia(function(bo,Ro,oi){var go=uE(Ve,Ue,Ro);if((go[0]!==Ve[0]||go[1]!==Ve[1])&&xt(go),E&&oi!==!1){var So=Wo(Ae);bo&&(So[Ue]=bo),E(So,go)}}),ct=function(Ro,oi){return uE(Ae,oi,Ro)},Pt=function(Ro,oi){var go=Ae;Ro&&(go=ct(Ro,Ue));var So=Le(go);oe(go),et(Ue,So===null),So===null?Se(!1,{force:!0}):oi||he.current.focus({index:So})},Ne=function(Ro){if(!he.current.nativeElement.contains(document.activeElement)){var oi=b.findIndex(function(go){return!go});oi>=0&&he.current.focus({index:oi})}Se(!0),te==null||te(Ro)},lt=function(){_e(null),Se(!1,{force:!0})},Ye=m.useState(null),st=on(Ye,2),je=st[0],mt=st[1],Ht=m.useState(null),wt=on(Ht,2),It=wt[0],Et=wt[1],zt=m.useMemo(function(){return It||Ae},[Ae,It]);m.useEffect(function(){$||Et(null)},[$]);var ln=m.useState(0),Xt=on(ln,2),fn=Xt[0],rn=Xt[1],bn=zGe(ee,q),Tn=function(Ro){Et(Ro),mt("preset")},Un=function(Ro){var oi=_e(Ro);oi&&Se(!1,{force:!0})},Ai=function(Ro){Pt(Ro)},vo=function(Ro){Et(Ro?ct(Ro,Ue):null),mt("cell")},Oo=function(Ro){Se(!0),We(Ro)},si=function(Ro){De("panel");var oi=uE(Ae,Ue,Ro);oe(oi),!A&&!a&&r===Qe&&Pt(Ro)},po=function(){Se(!1)},to=Ame(ne,se,le,wY(Ue)),uo=Ae[Ue]||null,qo=Ia(function(bo){return c(bo,{activeIndex:Ue})}),Hi=m.useMemo(function(){var bo=gf(i,!1),Ro=MH(i,[].concat(Wo(Object.keys(bo)),["onChange","onCalendarChange","style","className","onPanelChange","disabledTime"]));return Ro},[i]),vi=m.createElement(YGe,so({},Hi,{showNow:ft,showTime:Fe,range:!0,multiplePanel:ut,activeOffset:fn,disabledDate:nt,onFocus:Oo,onBlur:Ee,picker:D,mode:dt,internalMode:Qe,onPanelChange:Je,format:s,value:uo,isInvalid:qo,onChange:null,onSelect:si,pickerValue:Ft,defaultOpenValue:Ib(N==null?void 0:N.defaultOpenValue)[Ue],onPickerValueChange:Ke,hoverValue:zt,onHover:vo,needConfirm:A,onSubmit:Pt,onOk:ge,presets:bn,onPresetHover:Tn,onPresetSubmit:Un,onNow:Ai,cellRender:to})),Cn=function(Ro,oi){var go=ct(Ro,oi);oe(go)},yn=function(){De("input")},no=function(Ro,oi){De("input"),Se(!0,{inherit:!0}),Oe(oi),We(Ro,oi)},Eo=function(Ro,oi){Se(!1),Ee(Ro,oi)},ni=function(Ro,oi){Ro.key==="Tab"&&Pt(null,!0),w==null||w(Ro,oi)},Lo=m.useMemo(function(){return{prefixCls:u,locale:R,generateConfig:H,button:ae.button,input:ae.input}},[u,R,H,ae.button,ae.input]);return Ba(function(){$&&Ue!==void 0&&Je(null,D,!1)},[$,Ue,D]),Ba(function(){var bo=De();!$&&bo==="input"&&(Se(!1),Pt(null,!0)),!$&&a&&!A&&bo==="panel"&&(Se(!0),Pt())},[$]),m.createElement($2.Provider,{value:Lo},m.createElement(gGe,so({},AGe(i),{popupElement:vi,popupStyle:d.popup,popupClassName:f.popup,visible:$,onClose:po,range:!0}),m.createElement($kt,so({},i,{ref:he,suffixIcon:J,activeIndex:Me||$?Ue:null,activeHelp:!!It,allHelp:!!It&&je==="preset",focused:Me,onFocus:no,onBlur:Eo,onKeyDown:ni,onSubmit:Pt,value:zt,maskFormat:s,onChange:Cn,onInputChange:yn,format:l,inputReadOnly:O,disabled:b,open:$,onOpenChange:Se,onClick:Ne,onClear:lt,invalid:Rt,onInvalid:Wt,onActiveOffset:rn}))))}var Zkt=m.forwardRef(Qkt);function eFt(t){var e=t.prefixCls,n=t.value,o=t.onRemove,i=t.removeIcon,r=i===void 0?"×":i,a=t.formatDate,l=t.disabled,s=t.maxTagCount,c=t.placeholder,u="".concat(e,"-selector"),d="".concat(e,"-selection"),f="".concat(d,"-overflow");function p(w,b){return m.createElement("span",{className:_n("".concat(d,"-item")),title:typeof w=="string"?w:null},m.createElement("span",{className:"".concat(d,"-item-content")},w),!l&&b&&m.createElement("span",{onMouseDown:function(P){P.preventDefault()},onClick:b,className:"".concat(d,"-item-remove")},r))}function g(w){var b=a(w),C=function(v){v&&v.stopPropagation(),o(w)};return p(b,C)}function A(w){var b="+ ".concat(w.length," ...");return p(b)}return m.createElement("div",{className:u},m.createElement(H2,{prefixCls:f,data:n,renderItem:g,renderRest:A,itemKey:function(b){return a(b)},maxCount:s}),!n.length&&m.createElement("span",{className:"".concat(e,"-selection-placeholder")},c))}var tFt=["id","open","clearIcon","suffixIcon","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","internalPicker","value","onChange","onSubmit","onInputChange","multiple","maxTagCount","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onMouseDown","required","aria-required","autoFocus","removeIcon"];function nFt(t,e){t.id;var n=t.open,o=t.clearIcon,i=t.suffixIcon;t.activeHelp,t.allHelp;var r=t.focused;t.onFocus,t.onBlur,t.onKeyDown;var a=t.locale,l=t.generateConfig,s=t.placeholder,c=t.className,u=t.style,d=t.onClick,f=t.onClear,p=t.internalPicker,g=t.value,A=t.onChange,w=t.onSubmit;t.onInputChange;var b=t.multiple,C=t.maxTagCount;t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var P=t.disabled,v=t.invalid;t.inputReadOnly;var T=t.direction;t.onOpenChange;var y=t.onMouseDown;t.required,t["aria-required"];var S=t.autoFocus,x=t.removeIcon,R=ir(t,tFt),H=T==="rtl",D=m.useContext($2),k=D.prefixCls,W=m.useRef(),N=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:W.current,focus:function(ie){var ee;(ee=N.current)===null||ee===void 0||ee.focus(ie)},blur:function(){var ie;(ie=N.current)===null||ie===void 0||ie.blur()}}});var L=_Ge(R),E=function(ie){A([ie])},U=function(ie){var ee=g.filter(function(q){return q&&!lh(l,a,q,ie,p)});A(ee),n||w()},F=OGe($t($t({},t),{},{onChange:E}),function(Z){var ie=Z.valueTexts;return{value:ie[0]||"",active:r}}),B=on(F,2),_=B[0],Y=B[1],O=!!(o&&g.length&&!P),J=b?m.createElement(m.Fragment,null,m.createElement(eFt,{prefixCls:k,value:g,onRemove:U,formatDate:Y,maxTagCount:C,disabled:P,removeIcon:x,placeholder:s}),m.createElement("input",{className:"".concat(k,"-multiple-input"),value:g.map(Y).join(","),ref:N,readOnly:!0,autoFocus:S}),m.createElement(D$,{type:"suffix",icon:i}),O&&m.createElement(F0e,{icon:o,onClear:f})):m.createElement(L0e,so({ref:N},_(),{autoFocus:S,suffixIcon:i,clearIcon:O&&m.createElement(F0e,{icon:o,onClear:f}),showActiveCls:!1}));return m.createElement("div",so({},L,{className:_n(k,_t(_t(_t(_t(_t({},"".concat(k,"-multiple"),b),"".concat(k,"-focused"),r),"".concat(k,"-disabled"),P),"".concat(k,"-invalid"),v),"".concat(k,"-rtl"),H),c),style:u,ref:W,onClick:d,onMouseDown:function(ie){var ee,q=ie.target;q!==((ee=N.current)===null||ee===void 0?void 0:ee.inputElement)&&ie.preventDefault(),y==null||y(ie)}}),J)}var oFt=m.forwardRef(nFt);function iFt(t,e){var n=HGe(t),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i,d=u.prefixCls,f=u.styles,p=u.classNames,g=u.order,A=u.defaultValue,w=u.value,b=u.needConfirm,C=u.onChange,P=u.onKeyDown,v=u.disabled,T=u.disabledDate,y=u.minDate,S=u.maxDate,x=u.defaultOpen,R=u.open,H=u.onOpenChange,D=u.locale,k=u.generateConfig,W=u.picker,N=u.showNow,L=u.showToday,E=u.showTime,U=u.mode,F=u.onPanelChange,B=u.onCalendarChange,_=u.onOk,Y=u.multiple,O=u.defaultPickerValue,J=u.pickerValue,Z=u.onPickerValueChange,ie=u.inputReadOnly,ee=u.suffixIcon,q=u.removeIcon,ae=u.onFocus,ne=u.onBlur,se=u.presets,le=u.components,te=u.cellRender,he=u.dateRender,pe=u.monthCellRender,fe=u.onClick,$=IGe(e);function de(yn){return yn===null?null:Y?yn:yn[0]}var Se=BGe(k,D,r),Ce=MGe(R,x,[v],H),ve=on(Ce,2),Ie=ve[0],ze=ve[1],ye=function(no,Eo,ni){if(B){var Lo=$t({},ni);delete Lo.range,B(de(no),de(Eo),Lo)}},oe=function(no){_==null||_(de(no))},ge=WGe(k,D,l,!1,g,A,w,ye,oe),Ae=on(ge,5),me=Ae[0],Pe=Ae[1],Me=Ae[2],Te=Ae[3],De=Ae[4],Ue=Me(),Oe=DGe([v]),Le=on(Oe,4),$e=Le[0],We=Le[1],Ee=Le[2],Fe=Le[3],Ge=function(no){We(!0),ae==null||ae(no,{})},rt=function(no){We(!1),ne==null||ne(no,{})},Ve=Rs(W,{value:U}),xt=on(Ve,2),dt=xt[0],Qe=xt[1],ut=dt==="date"&&E?"datetime":dt,ft=UGe(W,dt,N,L),at=C&&function(yn,no){C(de(yn),de(no))},ot=NGe($t($t({},i),{},{onChange:at}),me,Pe,Me,Te,[],l,$e,Ie,c),et=on(ot,2),_e=et[1],nt=wGe(Ue,c),yt=on(nt,2),Tt=yt[0],Rt=yt[1],Wt=m.useMemo(function(){return Tt.some(function(yn){return yn})},[Tt]),Ct=function(no,Eo){if(Z){var ni=$t($t({},Eo),{},{mode:Eo.mode[0]});delete ni.range,Z(no[0],ni)}},At=EGe(k,D,Ue,[dt],Ie,Fe,r,!1,O,J,Ib(E==null?void 0:E.defaultOpenValue),Ct,y,S),Ft=on(At,2),Ke=Ft[0],Je=Ft[1],ct=Ia(function(yn,no,Eo){if(Qe(no),F&&Eo!==!1){var ni=yn||Ue[Ue.length-1];F(ni,no)}}),Pt=function(){_e(Me()),ze(!1,{force:!0})},Ne=function(no){!v&&!$.current.nativeElement.contains(document.activeElement)&&$.current.focus(),ze(!0),fe==null||fe(no)},lt=function(){_e(null),ze(!1,{force:!0})},Ye=m.useState(null),st=on(Ye,2),je=st[0],mt=st[1],Ht=m.useState(null),wt=on(Ht,2),It=wt[0],Et=wt[1],zt=m.useMemo(function(){var yn=[It].concat(Wo(Ue)).filter(function(no){return no});return Y?yn:yn.slice(0,1)},[Ue,It,Y]),ln=m.useMemo(function(){return!Y&&It?[It]:Ue.filter(function(yn){return yn})},[Ue,It,Y]);m.useEffect(function(){Ie||Et(null)},[Ie]);var Xt=zGe(se),fn=function(no){Et(no),mt("preset")},rn=function(no){var Eo=Y?Se(Me(),no):[no],ni=_e(Eo);ni&&!Y&&ze(!1,{force:!0})},bn=function(no){rn(no)},Tn=function(no){Et(no),mt("cell")},Un=function(no){ze(!0),Ge(no)},Ai=function(no){Ee("panel");var Eo=Y?Se(Me(),no):[no];Te(Eo),!b&&!a&&r===ut&&Pt()},vo=function(){ze(!1)},Oo=Ame(te,he,pe),si=m.useMemo(function(){var yn=gf(i,!1),no=MH(i,[].concat(Wo(Object.keys(yn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return $t($t({},no),{},{multiple:i.multiple})},[i]),po=m.createElement(YGe,so({},si,{showNow:ft,showTime:E,disabledDate:T,onFocus:Un,onBlur:rt,picker:W,mode:dt,internalMode:ut,onPanelChange:ct,format:s,value:Ue,isInvalid:c,onChange:null,onSelect:Ai,pickerValue:Ke,defaultOpenValue:E==null?void 0:E.defaultOpenValue,onPickerValueChange:Je,hoverValue:zt,onHover:Tn,needConfirm:b,onSubmit:Pt,onOk:De,presets:Xt,onPresetHover:fn,onPresetSubmit:rn,onNow:bn,cellRender:Oo})),to=function(no){Te(no)},uo=function(){Ee("input")},qo=function(no){Ee("input"),ze(!0,{inherit:!0}),Ge(no)},Hi=function(no){ze(!1),rt(no)},vi=function(no,Eo){no.key==="Tab"&&Pt(),P==null||P(no,Eo)},Cn=m.useMemo(function(){return{prefixCls:d,locale:D,generateConfig:k,button:le.button,input:le.input}},[d,D,k,le.button,le.input]);return Ba(function(){Ie&&Fe!==void 0&&ct(null,W,!1)},[Ie,Fe,W]),Ba(function(){var yn=Ee();!Ie&&yn==="input"&&(ze(!1),Pt()),!Ie&&a&&!b&&yn==="panel"&&(ze(!0),Pt())},[Ie]),m.createElement($2.Provider,{value:Cn},m.createElement(gGe,so({},AGe(i),{popupElement:po,popupStyle:f.popup,popupClassName:p.popup,visible:Ie,onClose:vo}),m.createElement(oFt,so({},i,{ref:$,suffixIcon:ee,removeIcon:q,activeHelp:!!It,allHelp:!!It&&je==="preset",focused:$e,onFocus:qo,onBlur:Hi,onKeyDown:vi,onSubmit:Pt,value:ln,maskFormat:s,onChange:to,onInputChange:uo,internalPicker:r,format:l,inputReadOnly:ie,disabled:v,open:Ie,onOpenChange:ze,onClick:Ne,onClear:lt,invalid:Wt,onInvalid:function(no){Rt(no,0)}}))))}var rFt=m.forwardRef(iFt);const VGe=m.createContext(null),aFt=VGe.Provider,GGe=m.createContext(null),lFt=GGe.Provider;var sFt=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],XGe=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-checkbox":n,i=t.className,r=t.style,a=t.checked,l=t.disabled,s=t.defaultChecked,c=s===void 0?!1:s,u=t.type,d=u===void 0?"checkbox":u,f=t.title,p=t.onChange,g=ir(t,sFt),A=m.useRef(null),w=Rs(c,{value:a}),b=on(w,2),C=b[0],P=b[1];m.useImperativeHandle(e,function(){return{focus:function(S){var x;(x=A.current)===null||x===void 0||x.focus(S)},blur:function(){var S;(S=A.current)===null||S===void 0||S.blur()},input:A.current}});var v=_n(o,i,_t(_t({},"".concat(o,"-checked"),C),"".concat(o,"-disabled"),l)),T=function(S){l||("checked"in t||P(S.target.checked),p==null||p({target:$t($t({},t),{},{type:d,checked:S.target.checked}),stopPropagation:function(){S.stopPropagation()},preventDefault:function(){S.preventDefault()},nativeEvent:S.nativeEvent}))};return m.createElement("span",{className:v,title:f,style:r},m.createElement("input",so({},g,{className:"".concat(o,"-input"),ref:A,onChange:T,disabled:l,checked:!!C,type:d})),m.createElement("span",{className:"".concat(o,"-inner")}))});const cFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-group`;return{[o]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",fontSize:0,[`&${o}-rtl`]:{direction:"rtl"},[`${n}-badge ${n}-badge-count`]:{zIndex:1},[`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]:{borderInlineStart:"none"}})}},uFt=t=>{const{componentCls:e,wrapperMarginInlineEnd:n,colorPrimary:o,radioSize:i,motionDurationSlow:r,motionDurationMid:a,motionEaseInOutCirc:l,colorBgContainer:s,colorBorder:c,lineWidth:u,colorBgContainerDisabled:d,colorTextDisabled:f,paddingXS:p,dotColorDisabled:g,lineType:A,radioColor:w,radioBgColor:b,calc:C}=t,P=`${e}-inner`,T=C(i).sub(C(4).mul(2)),y=C(1).mul(i).equal();return{[`${e}-wrapper`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:n,cursor:"pointer",[`&${e}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:t.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${e}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Ut(u)} ${A} ${o}`,borderRadius:"50%",visibility:"hidden",opacity:0,content:'""'},[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${e}-wrapper:hover &, - &:hover ${P}`]:{borderColor:o},[`${e}-input:focus-visible + ${P}`]:Object.assign({},n7(t)),[`${e}:hover::after, ${e}-wrapper:hover &::after`]:{visibility:"visible"},[`${e}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:y,height:y,marginBlockStart:C(1).mul(i).div(-2).equal(),marginInlineStart:C(1).mul(i).div(-2).equal(),backgroundColor:w,borderBlockStart:0,borderInlineStart:0,borderRadius:y,transform:"scale(0)",opacity:0,transition:`all ${r} ${l}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:y,height:y,backgroundColor:s,borderColor:c,borderStyle:"solid",borderWidth:u,borderRadius:"50%",transition:`all ${a}`},[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${e}-checked`]:{[P]:{borderColor:o,backgroundColor:b,"&::after":{transform:`scale(${t.calc(t.dotSize).div(i).equal()})`,opacity:1,transition:`all ${r} ${l}`}}},[`${e}-disabled`]:{cursor:"not-allowed",[P]:{backgroundColor:d,borderColor:c,cursor:"not-allowed","&::after":{backgroundColor:g}},[`${e}-input`]:{cursor:"not-allowed"},[`${e}-disabled + span`]:{color:f,cursor:"not-allowed"},[`&${e}-checked`]:{[P]:{"&::after":{transform:`scale(${C(T).div(i).equal({unit:!1})})`}}}},[`span${e} + *`]:{paddingInlineStart:p,paddingInlineEnd:p}})}},dFt=t=>{const{buttonColor:e,controlHeight:n,componentCls:o,lineWidth:i,lineType:r,colorBorder:a,motionDurationSlow:l,motionDurationMid:s,buttonPaddingInline:c,fontSize:u,buttonBg:d,fontSizeLG:f,controlHeightLG:p,controlHeightSM:g,paddingXS:A,borderRadius:w,borderRadiusSM:b,borderRadiusLG:C,buttonCheckedBg:P,buttonSolidCheckedColor:v,colorTextDisabled:T,colorBgContainerDisabled:y,buttonCheckedBgDisabled:S,buttonCheckedColorDisabled:x,colorPrimary:R,colorPrimaryHover:H,colorPrimaryActive:D,buttonSolidCheckedBg:k,buttonSolidCheckedHoverBg:W,buttonSolidCheckedActiveBg:N,calc:L}=t;return{[`${o}-button-wrapper`]:{position:"relative",display:"inline-block",height:n,margin:0,paddingInline:c,paddingBlock:0,color:e,fontSize:u,lineHeight:Ut(L(n).sub(L(i).mul(2)).equal()),background:d,border:`${Ut(i)} ${r} ${a}`,borderBlockStartWidth:L(i).add(.02).equal(),borderInlineStartWidth:0,borderInlineEndWidth:i,cursor:"pointer",transition:[`color ${s}`,`background ${s}`,`box-shadow ${s}`].join(","),a:{color:e},[`> ${o}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:L(i).mul(-1).equal(),insetInlineStart:L(i).mul(-1).equal(),display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:i,paddingInline:0,backgroundColor:a,transition:`background-color ${l}`,content:'""'}},"&:first-child":{borderInlineStart:`${Ut(i)} ${r} ${a}`,borderStartStartRadius:w,borderEndStartRadius:w},"&:last-child":{borderStartEndRadius:w,borderEndEndRadius:w},"&:first-child:last-child":{borderRadius:w},[`${o}-group-large &`]:{height:p,fontSize:f,lineHeight:Ut(L(p).sub(L(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:C,borderEndStartRadius:C},"&:last-child":{borderStartEndRadius:C,borderEndEndRadius:C}},[`${o}-group-small &`]:{height:g,paddingInline:L(A).sub(i).equal(),paddingBlock:0,lineHeight:Ut(L(g).sub(L(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:b,borderEndStartRadius:b},"&:last-child":{borderStartEndRadius:b,borderEndEndRadius:b}},"&:hover":{position:"relative",color:R},"&:has(:focus-visible)":Object.assign({},n7(t)),[`${o}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${o}-button-wrapper-disabled)`]:{zIndex:1,color:R,background:P,borderColor:R,"&::before":{backgroundColor:R},"&:first-child":{borderColor:R},"&:hover":{color:H,borderColor:H,"&::before":{backgroundColor:H}},"&:active":{color:D,borderColor:D,"&::before":{backgroundColor:D}}},[`${o}-group-solid &-checked:not(${o}-button-wrapper-disabled)`]:{color:v,background:k,borderColor:k,"&:hover":{color:v,background:W,borderColor:W},"&:active":{color:v,background:N,borderColor:N}},"&-disabled":{color:T,backgroundColor:y,borderColor:a,cursor:"not-allowed","&:first-child, &:hover":{color:T,backgroundColor:y,borderColor:a}},[`&-disabled${o}-button-wrapper-checked`]:{color:x,backgroundColor:S,borderColor:a,boxShadow:"none"}}}},fFt=t=>{const{wireframe:e,padding:n,marginXS:o,lineWidth:i,fontSizeLG:r,colorText:a,colorBgContainer:l,colorTextDisabled:s,controlItemBgActiveDisabled:c,colorTextLightSolid:u,colorPrimary:d,colorPrimaryHover:f,colorPrimaryActive:p,colorWhite:g}=t,A=4,w=r,b=e?w-A*2:w-(A+i)*2;return{radioSize:w,dotSize:b,dotColorDisabled:s,buttonSolidCheckedColor:u,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:f,buttonSolidCheckedActiveBg:p,buttonBg:l,buttonCheckedBg:l,buttonColor:a,buttonCheckedBgDisabled:c,buttonCheckedColorDisabled:s,buttonPaddingInline:n-i,wrapperMarginInlineEnd:o,radioColor:e?d:g,radioBgColor:e?l:d}},JGe=Fl("Radio",t=>{const{controlOutline:e,controlOutlineWidth:n}=t,o=`0 0 0 ${Ut(n)} ${e}`,r=Zr(t,{radioFocusShadow:o,radioButtonFocusShadow:o});return[cFt(r),uFt(r),dFt(r)]},fFt,{unitless:{radioSize:!0,dotSize:!0}});var hFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const i=m.useContext(VGe),r=m.useContext(GGe),{getPrefixCls:a,direction:l,radio:s}=m.useContext(Mi),c=m.useRef(null),u=q2(e,c),{isFormItemInput:d}=m.useContext(Qp),f=N=>{var L,E;(L=t.onChange)===null||L===void 0||L.call(t,N),(E=i==null?void 0:i.onChange)===null||E===void 0||E.call(i,N)},{prefixCls:p,className:g,rootClassName:A,children:w,style:b,title:C}=t,P=hFt(t,["prefixCls","className","rootClassName","children","style","title"]),v=a("radio",p),T=((i==null?void 0:i.optionType)||r)==="button",y=T?`${v}-button`:v,S=j0(v),[x,R,H]=JGe(v,S),D=Object.assign({},P),k=m.useContext($p);i&&(D.name=i.name,D.onChange=f,D.checked=t.value===i.value,D.disabled=(n=D.disabled)!==null&&n!==void 0?n:i.disabled),D.disabled=(o=D.disabled)!==null&&o!==void 0?o:k;const W=Gn(`${y}-wrapper`,{[`${y}-wrapper-checked`]:D.checked,[`${y}-wrapper-disabled`]:D.disabled,[`${y}-wrapper-rtl`]:l==="rtl",[`${y}-wrapper-in-form-item`]:d},s==null?void 0:s.className,g,A,R,H,S);return x(m.createElement(wW,{component:"Radio",disabled:D.disabled},m.createElement("label",{className:W,style:Object.assign(Object.assign({},s==null?void 0:s.style),b),onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,title:C},m.createElement(XGe,Object.assign({},D,{className:Gn(D.className,!T&&c$),type:"radio",prefixCls:y,ref:u})),w!==void 0?m.createElement("span",null,w):null)))},HG=m.forwardRef(pFt),gFt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o}=m.useContext(Mi),[i,r]=_6(t.defaultValue,{value:t.value}),a=N=>{const L=i,E=N.target.value;"value"in t||r(E);const{onChange:U}=t;U&&E!==L&&U(N)},{prefixCls:l,className:s,rootClassName:c,options:u,buttonStyle:d="outline",disabled:f,children:p,size:g,style:A,id:w,onMouseEnter:b,onMouseLeave:C,onFocus:P,onBlur:v}=t,T=n("radio",l),y=`${T}-group`,S=j0(T),[x,R,H]=JGe(T,S);let D=p;u&&u.length>0&&(D=u.map(N=>typeof N=="string"||typeof N=="number"?m.createElement(HG,{key:N.toString(),prefixCls:T,disabled:f,value:N,checked:i===N},N):m.createElement(HG,{key:`radio-group-value-options-${N.value}`,prefixCls:T,disabled:N.disabled||f,value:N.value,checked:i===N.value,title:N.title,style:N.style,id:N.id,required:N.required},N.label)));const k=Rd(g),W=Gn(y,`${y}-${d}`,{[`${y}-${k}`]:k,[`${y}-rtl`]:o==="rtl"},s,c,R,H,S);return x(m.createElement("div",Object.assign({},Oge(t,{aria:!0,data:!0}),{className:W,style:A,onMouseEnter:b,onMouseLeave:C,onFocus:P,onBlur:v,id:w,ref:e}),m.createElement(aFt,{value:{onChange:a,value:i,disabled:t.disabled,name:t.name,optionType:t.optionType}},D)))}),mFt=m.memo(gFt);var yFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o}=t,i=yFt(t,["prefixCls"]),r=n("radio",o);return m.createElement(lFt,{value:"button"},m.createElement(HG,Object.assign({prefixCls:r},i,{type:"radio",ref:e})))},wFt=m.forwardRef(AFt),Be=HG;Be.Button=wFt;Be.Group=mFt;Be.__ANT_RADIO=!0;function DW(t){return Zr(t,{inputAffixPadding:t.paddingXXS})}const EW=t=>{const{controlHeight:e,fontSize:n,lineHeight:o,lineWidth:i,controlHeightSM:r,controlHeightLG:a,fontSizeLG:l,lineHeightLG:s,paddingSM:c,controlPaddingHorizontalSM:u,controlPaddingHorizontal:d,colorFillAlter:f,colorPrimaryHover:p,colorPrimary:g,controlOutlineWidth:A,controlOutline:w,colorErrorOutline:b,colorWarningOutline:C,colorBgContainer:P}=t;return{paddingBlock:Math.max(Math.round((e-n*o)/2*10)/10-i,0),paddingBlockSM:Math.max(Math.round((r-n*o)/2*10)/10-i,0),paddingBlockLG:Math.ceil((a-l*s)/2*10)/10-i,paddingInline:c-i,paddingInlineSM:u-i,paddingInlineLG:d-i,addonBg:f,activeBorderColor:g,hoverBorderColor:p,activeShadow:`0 0 0 ${A}px ${w}`,errorActiveShadow:`0 0 0 ${A}px ${b}`,warningActiveShadow:`0 0 0 ${A}px ${C}`,hoverBg:P,activeBg:P,inputFontSize:n,inputFontSizeLG:l,inputFontSizeSM:n}},vFt=t=>({borderColor:t.hoverBorderColor,backgroundColor:t.hoverBg}),E$=t=>({color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"input[disabled], textarea[disabled]":{cursor:"not-allowed"},"&:hover:not([disabled])":Object.assign({},vFt(Zr(t,{hoverBorderColor:t.colorBorder,hoverBg:t.colorBgContainerDisabled})))}),Sme=(t,e)=>({background:t.colorBgContainer,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:e.borderColor,"&:hover":{borderColor:e.hoverBorderColor,backgroundColor:t.hoverBg},"&:focus, &:focus-within":{borderColor:e.activeBorderColor,boxShadow:e.activeShadow,outline:0,backgroundColor:t.activeBg}}),Hve=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},Sme(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}}),[`&${t.componentCls}-status-${e.status}${t.componentCls}-disabled`]:{borderColor:e.borderColor}}),Tme=(t,e)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Sme(t,{borderColor:t.colorBorder,hoverBorderColor:t.hoverBorderColor,activeBorderColor:t.activeBorderColor,activeShadow:t.activeShadow})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},E$(t))}),Hve(t,{status:"error",borderColor:t.colorError,hoverBorderColor:t.colorErrorBorderHover,activeBorderColor:t.colorError,activeShadow:t.errorActiveShadow,affixColor:t.colorError})),Hve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderColor:t.colorWarningBorderHover,activeBorderColor:t.colorWarning,activeShadow:t.warningActiveShadow,affixColor:t.colorWarning})),e)}),Mve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{borderColor:e.addonBorderColor,color:e.addonColor}}}),KGe=t=>({"&-outlined":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.addonBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},Mve(t,{status:"error",addonBorderColor:t.colorError,addonColor:t.colorErrorText})),Mve(t,{status:"warning",addonBorderColor:t.colorWarning,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group-addon`]:Object.assign({},E$(t))}})}),Pme=(t,e)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},[`&${t.componentCls}-disabled, &[disabled]`]:{color:t.colorTextDisabled}},e)}),qGe=(t,e)=>({background:e.bg,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:e==null?void 0:e.inputColor},"&:hover":{background:e.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:e.activeBorderColor,backgroundColor:t.activeBg}}),Ive=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},qGe(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}})}),Cme=(t,e)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qGe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},E$(t))}),Ive(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,inputColor:t.colorErrorText,affixColor:t.colorError})),Ive(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,inputColor:t.colorWarningText,affixColor:t.colorWarning})),e)}),zve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{background:e.addonBg,color:e.addonColor}}}),$Ge=t=>({"&-filled":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary},[`${t.componentCls}-filled:not(:focus):not(:focus-within)`]:{"&:not(:first-child)":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},"&:not(:last-child)":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}}}},zve(t,{status:"error",addonBg:t.colorErrorBg,addonColor:t.colorErrorText})),zve(t,{status:"warning",addonBg:t.colorWarningBg,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary,color:t.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`}}}})}),Rme=t=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:t,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),QGe=t=>{const{paddingBlockLG:e,lineHeightLG:n,borderRadiusLG:o,paddingInlineLG:i}=t;return{padding:`${Ut(e)} ${Ut(i)}`,fontSize:t.inputFontSizeLG,lineHeight:n,borderRadius:o}},Hme=t=>({padding:`${Ut(t.paddingBlockSM)} ${Ut(t.paddingInlineSM)}`,fontSize:t.inputFontSizeSM,borderRadius:t.borderRadiusSM}),kW=t=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Ut(t.paddingBlock)} ${Ut(t.paddingInline)}`,color:t.colorText,fontSize:t.inputFontSize,lineHeight:t.lineHeight,borderRadius:t.borderRadius,transition:`all ${t.motionDurationMid}`},Rme(t.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:t.controlHeight,lineHeight:t.lineHeight,verticalAlign:"bottom",transition:`all ${t.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},QGe(t)),"&-sm":Object.assign({},Hme(t)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),ZGe=t=>{const{componentCls:e,antCls:n}=t;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:t.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${e}, &-lg > ${e}-group-addon`]:Object.assign({},QGe(t)),[`&-sm ${e}, &-sm > ${e}-group-addon`]:Object.assign({},Hme(t)),[`&-lg ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightLG},[`&-sm ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightSM},[`> ${e}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${e}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Ut(t.paddingInline)}`,color:t.colorText,fontWeight:"normal",fontSize:t.inputFontSize,textAlign:"center",borderRadius:t.borderRadius,transition:`all ${t.motionDurationSlow}`,lineHeight:1,[`${n}-select`]:{margin:`${Ut(t.calc(t.paddingBlock).add(1).mul(-1).equal())} ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,[`&${n}-select-single:not(${n}-select-customize-input):not(${n}-pagination-size-changer)`]:{[`${n}-select-selector`]:{backgroundColor:"inherit",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${n}-select-selector`]:{color:t.colorPrimary}}},[`${n}-cascader-picker`]:{margin:`-9px ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,backgroundColor:"transparent",[`${n}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}}},[`${e}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${e}-search-with-button &`]:{zIndex:0}}},[`> ${e}:first-child, ${e}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}-affix-wrapper`]:{[`&:not(:first-child) ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}:last-child, ${e}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${e}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${e}-search &`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius}},[`&:not(:first-child), ${e}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${e}-group-compact`]:Object.assign(Object.assign({display:"block"},Yk()),{[`${e}-group-addon, ${e}-group-wrap, > ${e}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:t.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` + &${a}-slide-up-leave${a}-slide-up-leave-active${e}-placement-topRight`]:{animationName:m$}})},sme(t,A,{arrowPlacement:{top:!0,bottom:!0}}),{[`${e} ${n}`]:{position:"relative",margin:0},[`${n}-submenu-popup`]:{position:"absolute",zIndex:o,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${e}, ${e}-menu-submenu`]:{[n]:Object.assign(Object.assign({padding:d,listStyleType:"none",backgroundColor:A,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary},V6(t)),{"&:empty":{padding:0,boxShadow:"none"},[`${n}-item-group-title`]:{padding:`${Ut(c)} ${Ut(g)}`,color:t.colorTextDescription,transition:`all ${s}`},[`${n}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${n}-item-icon`]:{minWidth:u,marginInlineEnd:t.marginXS,fontSize:t.fontSizeSM},[`${n}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${s}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${n}-item, ${n}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${Ut(c)} ${Ut(g)}`,color:t.colorText,fontWeight:"normal",fontSize:u,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${s}`,borderRadius:t.borderRadiusSM,"&:hover, &-active":{backgroundColor:t.controlItemBgHover}},V6(t)),{"&-selected":{color:t.colorPrimary,backgroundColor:t.controlItemBgActive,"&:hover, &-active":{backgroundColor:t.controlItemBgActiveHover}},"&-disabled":{color:f,cursor:"not-allowed","&:hover":{color:f,backgroundColor:A,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ut(t.marginXXS)} 0`,overflow:"hidden",lineHeight:0,backgroundColor:t.colorSplit},[`${e}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,[`${e}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:t.colorTextDescription,fontSize:p,fontStyle:"normal"}}}),[`${n}-item-group-list`]:{margin:`0 ${Ut(t.marginXS)}`,padding:0,listStyle:"none"},[`${n}-submenu-title`]:{paddingInlineEnd:t.calc(g).add(t.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:"relative"},[`${n}-submenu${n}-submenu-disabled ${e}-menu-submenu-title`]:{[`&, ${e}-menu-submenu-arrow-icon`]:{color:f,backgroundColor:A,cursor:"not-allowed"}},[`${n}-submenu-selected ${e}-menu-submenu-title`]:{color:t.colorPrimary}})}},[F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down"),PW(t,"zoom-big")]]},OEt=t=>Object.assign(Object.assign({zIndexPopup:t.zIndexPopupBase+50,paddingBlock:(t.controlHeight-t.fontSize*t.lineHeight)/2},S$({contentRadius:t.borderRadiusLG,limitVerticalRadius:!0})),b$(t)),_Et=Fl("Dropdown",t=>{const{marginXXS:e,sizePopupArrow:n,paddingXXS:o,componentCls:i}=t,r=Zr(t,{menuCls:`${i}-menu`,dropdownArrowDistance:t.calc(n).div(2).add(e).equal(),dropdownEdgeChildPadding:o});return[YEt(r),jEt(r)]},OEt),R$=t=>{const{menu:e,arrow:n,prefixCls:o,children:i,trigger:r,disabled:a,dropdownRender:l,getPopupContainer:s,overlayClassName:c,rootClassName:u,overlayStyle:d,open:f,onOpenChange:p,visible:g,onVisibleChange:A,mouseEnterDelay:w=.15,mouseLeaveDelay:b=.1,autoAdjustOverflow:C=!0,placement:P="",overlay:v,transitionName:T}=t,{getPopupContainer:y,getPrefixCls:S,direction:x,dropdown:R}=m.useContext(Mi);Hb();const H=m.useMemo(()=>{const te=S();return T!==void 0?T:P.includes("top")?`${te}-slide-down`:`${te}-slide-up`},[S,P,T]),D=m.useMemo(()=>P?P.includes("Center")?P.slice(0,P.indexOf("Center")):P:x==="rtl"?"bottomRight":"bottomLeft",[P,x]),k=S("dropdown",o),W=j0(k),[N,L,E]=_Et(k,W),[,U]=Yu(),F=m.Children.only(i),B=Ou(F,{className:Gn(`${k}-trigger`,{[`${k}-rtl`]:x==="rtl"},F.props.className),disabled:a}),_=a?[]:r;let Y;_&&_.includes("contextMenu")&&(Y=!0);const[O,J]=_6(!1,{value:f??g}),Z=O6(te=>{p==null||p(te,{source:"trigger"}),A==null||A(te),J(te)}),ie=Gn(c,u,L,E,W,R==null?void 0:R.className,{[`${k}-rtl`]:x==="rtl"}),ee=NVe({arrowPointAtCenter:typeof n=="object"&&n.pointAtCenter,autoAdjustOverflow:C,offset:U.marginXXS,arrowWidth:n?U.sizePopupArrow:0,borderRadius:U.borderRadius}),q=m.useCallback(()=>{e!=null&&e.selectable&&(e!=null&&e.multiple)||(p==null||p(!1,{source:"menu"}),J(!1))},[e==null?void 0:e.selectable,e==null?void 0:e.multiple]),ae=()=>{let te;return e!=null&&e.items?te=m.createElement(EH,Object.assign({},e)):typeof v=="function"?te=v():te=v,l&&(te=l(te)),te=m.Children.only(typeof te=="string"?m.createElement("span",null,te):te),m.createElement(aGe,{prefixCls:`${k}-menu`,rootClassName:Gn(E,W),expandIcon:m.createElement("span",{className:`${k}-menu-submenu-arrow`},m.createElement(SG,{className:`${k}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:q,validator:he=>{}},te)},[ne,se]=k7("Dropdown",d==null?void 0:d.zIndex);let le=m.createElement(_Ve,Object.assign({alignPoint:Y},lp(t,["rootClassName"]),{mouseEnterDelay:w,mouseLeaveDelay:b,visible:O,builtinPlacements:ee,arrow:!!n,overlayClassName:ie,prefixCls:k,getPopupContainer:s||y,transitionName:H,trigger:_,overlay:ae,placement:D,onVisibleChange:Z,overlayStyle:Object.assign(Object.assign(Object.assign({},R==null?void 0:R.style),d),{zIndex:ne})}),B);return ne&&(le=m.createElement(yW.Provider,{value:se},le)),N(le)};function VEt(t){return Object.assign(Object.assign({},t),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const GEt=RW(R$,"dropdown",t=>t,VEt),XEt=t=>m.createElement(GEt,Object.assign({},t),m.createElement("span",null));R$._InternalPanelDoNotUseOrYouWillBeFired=XEt;var lGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekday=function(i){var r=this.$locale().weekStart||0,a=this.$W,l=(a25){var u=a(this).startOf(o).add(1,o).date(c),d=a(this).endOf(n);if(u.isBefore(d))return 1}var f=a(this).startOf(o).date(c).startOf(n).subtract(1,"millisecond"),p=this.diff(f,n,!0);return p<0?a(this).startOf("week").week():Math.ceil(p)},l.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}})})(cGe);var QEt=cGe.exports;const ZEt=kr(QEt);var uGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){o.prototype.weekYear=function(){var i=this.month(),r=this.week(),a=this.year();return r===1&&i===11?a+1:i===0&&r>=52?a-1:a}}})})(uGe);var ekt=uGe.exports;const tkt=kr(ekt);var dGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){return function(n,o){var i=o.prototype,r=i.format;i.format=function(a){var l=this,s=this.$locale();if(!this.isValid())return r.bind(this)(a);var c=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((l.$M+1)/3);case"Do":return s.ordinal(l.$D);case"gggg":return l.weekYear();case"GGGG":return l.isoWeekYear();case"wo":return s.ordinal(l.week(),"W");case"w":case"ww":return c.s(l.week(),d==="w"?1:2,"0");case"W":case"WW":return c.s(l.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return c.s(String(l.$H===0?24:l.$H),d==="k"?1:2,"0");case"X":return Math.floor(l.$d.getTime()/1e3);case"x":return l.$d.getTime();case"z":return"["+l.offsetName()+"]";case"zzz":return"["+l.offsetName("long")+"]";default:return d}});return r.bind(this)(u)}}})})(dGe);var nkt=dGe.exports;const okt=kr(nkt);var fGe={exports:{}};(function(t,e){(function(n,o){t.exports=o()})(mc,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,r=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},s=function(A){return(A=+A)+(A>68?1900:2e3)},c=function(A){return function(w){this[A]=+w}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(A){(this.zone||(this.zone={})).offset=function(w){if(!w||w==="Z")return 0;var b=w.match(/([+-]|\d\d)/g),C=60*b[1]+(+b[2]||0);return C===0?0:b[0]==="+"?-C:C}(A)}],d=function(A){var w=l[A];return w&&(w.indexOf?w:w.s.concat(w.f))},f=function(A,w){var b,C=l.meridiem;if(C){for(var P=1;P<=24;P+=1)if(A.indexOf(C(P,0,w))>-1){b=P>12;break}}else b=A===(w?"pm":"PM");return b},p={A:[a,function(A){this.afternoon=f(A,!1)}],a:[a,function(A){this.afternoon=f(A,!0)}],S:[/\d/,function(A){this.milliseconds=100*+A}],SS:[i,function(A){this.milliseconds=10*+A}],SSS:[/\d{3}/,function(A){this.milliseconds=+A}],s:[r,c("seconds")],ss:[r,c("seconds")],m:[r,c("minutes")],mm:[r,c("minutes")],H:[r,c("hours")],h:[r,c("hours")],HH:[r,c("hours")],hh:[r,c("hours")],D:[r,c("day")],DD:[i,c("day")],Do:[a,function(A){var w=l.ordinal,b=A.match(/\d+/);if(this.day=b[0],w)for(var C=1;C<=31;C+=1)w(C).replace(/\[|\]/g,"")===A&&(this.day=C)}],M:[r,c("month")],MM:[i,c("month")],MMM:[a,function(A){var w=d("months"),b=(d("monthsShort")||w.map(function(C){return C.slice(0,3)})).indexOf(A)+1;if(b<1)throw new Error;this.month=b%12||b}],MMMM:[a,function(A){var w=d("months").indexOf(A)+1;if(w<1)throw new Error;this.month=w%12||w}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(A){this.year=s(A)}],YYYY:[/\d{4}/,c("year")],Z:u,ZZ:u};function g(A){var w,b;w=A,b=l&&l.formats;for(var C=(A=w.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(R,H,D){var k=D&&D.toUpperCase();return H||b[D]||n[D]||b[k].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(W,N,L){return N||L.slice(1)})})).match(o),P=C.length,v=0;v-1)return new Date((U==="X"?1e3:1)*E);var B=g(U)(E),_=B.year,Y=B.month,O=B.day,J=B.hours,Z=B.minutes,ie=B.seconds,ee=B.milliseconds,q=B.zone,ae=new Date,ne=O||(_||Y?1:ae.getDate()),se=_||ae.getFullYear(),le=0;_&&!Y||(le=Y>0?Y-1:ae.getMonth());var te=J||0,he=Z||0,pe=ie||0,fe=ee||0;return q?new Date(Date.UTC(se,le,ne,te,he,pe,fe+60*q.offset*1e3)):F?new Date(Date.UTC(se,le,ne,te,he,pe,fe)):new Date(se,le,ne,te,he,pe,fe)}catch{return new Date("")}}(T,x,y),this.init(),k&&k!==!0&&(this.$L=this.locale(k).$L),D&&T!=this.format(x)&&(this.$d=new Date("")),l={}}else if(x instanceof Array)for(var W=x.length,N=1;N<=W;N+=1){S[1]=x[N-1];var L=b.apply(this,S);if(L.isValid()){this.$d=L.$d,this.$L=L.$L,this.init();break}N===W&&(this.$d=new Date(""))}else P.call(this,v)}}})})(fGe);var ikt=fGe.exports;const rkt=kr(ikt);gc.extend(rkt);gc.extend(okt);gc.extend(KEt);gc.extend($Et);gc.extend(ZEt);gc.extend(tkt);gc.extend(function(t,e){var n=e.prototype,o=n.format;n.format=function(r){var a=(r||"").replace("Wo","wo");return o.bind(this)(a)}});var akt={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},Y8=function(e){var n=akt[e];return n||e.split("_")[0]},Sve=function(){xYe(!1,"Not match any format. Please help to fire a issue about this.")},lkt={getNow:function(){return gc()},getFixedDate:function(e){return gc(e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(e){return e.endOf("month")},getWeekDay:function(e){var n=e.locale("en");return n.weekday()+n.localeData().firstDayOfWeek()},getYear:function(e){return e.year()},getMonth:function(e){return e.month()},getDate:function(e){return e.date()},getHour:function(e){return e.hour()},getMinute:function(e){return e.minute()},getSecond:function(e){return e.second()},getMillisecond:function(e){return e.millisecond()},addYear:function(e,n){return e.add(n,"year")},addMonth:function(e,n){return e.add(n,"month")},addDate:function(e,n){return e.add(n,"day")},setYear:function(e,n){return e.year(n)},setMonth:function(e,n){return e.month(n)},setDate:function(e,n){return e.date(n)},setHour:function(e,n){return e.hour(n)},setMinute:function(e,n){return e.minute(n)},setSecond:function(e,n){return e.second(n)},setMillisecond:function(e,n){return e.millisecond(n)},isAfter:function(e,n){return e.isAfter(n)},isValidate:function(e){return e.isValid()},locale:{getWeekFirstDay:function(e){return gc().locale(Y8(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,n){return n.locale(Y8(e)).weekday(0)},getWeek:function(e,n){return n.locale(Y8(e)).week()},getShortWeekDays:function(e){return gc().locale(Y8(e)).localeData().weekdaysMin()},getShortMonths:function(e){return gc().locale(Y8(e)).localeData().monthsShort()},format:function(e,n,o){return n.locale(Y8(e)).format(o)},parse:function(e,n,o){for(var i=Y8(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:"0",o=String(t);o.length2&&arguments[2]!==void 0?arguments[2]:[],o=m.useState([!1,!1]),i=on(o,2),r=i[0],a=i[1],l=function(u,d){a(function(f){return uE(f,d,u)})},s=m.useMemo(function(){return r.map(function(c,u){if(c)return!0;var d=t[u];return d?!!(!n[u]&&!d||d&&e(d,{activeIndex:u})):!1})},[t,r,e,n]);return[s,l]}function AGe(t,e,n,o,i){var r="",a=[];return t&&a.push(i?"hh":"HH"),e&&a.push("mm"),n&&a.push("ss"),r=a.join(":"),o&&(r+=".SSS"),i&&(r+=" A"),r}function ckt(t,e,n,o,i,r){var a=t.fieldDateTimeFormat,l=t.fieldDateFormat,s=t.fieldTimeFormat,c=t.fieldMonthFormat,u=t.fieldYearFormat,d=t.fieldWeekFormat,f=t.fieldQuarterFormat,p=t.yearFormat,g=t.cellYearFormat,A=t.cellQuarterFormat,w=t.dayFormat,b=t.cellDateFormat,C=AGe(e,n,o,i,r);return $t($t({},t),{},{fieldDateTimeFormat:a||"YYYY-MM-DD ".concat(C),fieldDateFormat:l||"YYYY-MM-DD",fieldTimeFormat:s||C,fieldMonthFormat:c||"YYYY-MM",fieldYearFormat:u||"YYYY",fieldWeekFormat:d||"gggg-wo",fieldQuarterFormat:f||"YYYY-[Q]Q",yearFormat:p||"YYYY",cellYearFormat:g||"YYYY",cellQuarterFormat:A||"[Q]Q",cellDateFormat:b||w||"D"})}function wGe(t,e){var n=e.showHour,o=e.showMinute,i=e.showSecond,r=e.showMillisecond,a=e.use12Hours;return be.useMemo(function(){return ckt(t,n,o,i,r,a)},[t,n,o,i,r,a])}function Tz(t,e,n){return n??e.some(function(o){return t.includes(o)})}var ukt=["showNow","showHour","showMinute","showSecond","showMillisecond","use12Hours","hourStep","minuteStep","secondStep","millisecondStep","hideDisabledOptions","defaultValue","disabledHours","disabledMinutes","disabledSeconds","disabledMilliseconds","disabledTime","changeOnScroll","defaultOpenValue"];function dkt(t){var e=H$(t,ukt),n=t.format,o=t.picker,i=null;return n&&(i=n,Array.isArray(i)&&(i=i[0]),i=gr(i)==="object"?i.format:i),o==="time"&&(e.format=i),[e,i]}function fkt(t){return t&&typeof t=="string"}function vGe(t,e,n,o){return[t,e,n,o].some(function(i){return i!==void 0})}function xGe(t,e,n,o,i){var r=e,a=n,l=o;if(!t&&!r&&!a&&!l&&!i)r=!0,a=!0,l=!0;else if(t){var s,c,u,d=[r,a,l].some(function(g){return g===!1}),f=[r,a,l].some(function(g){return g===!0}),p=d?!0:!f;r=(s=r)!==null&&s!==void 0?s:p,a=(c=a)!==null&&c!==void 0?c:p,l=(u=l)!==null&&u!==void 0?u:p}return[r,a,l,i]}function bGe(t){var e=t.showTime,n=dkt(t),o=on(n,2),i=o[0],r=o[1],a=e&&gr(e)==="object"?e:{},l=$t($t({defaultOpenValue:a.defaultOpenValue||a.defaultValue},i),a),s=l.showMillisecond,c=l.showHour,u=l.showMinute,d=l.showSecond,f=vGe(c,u,d,s),p=xGe(f,c,u,d,s),g=on(p,3);return c=g[0],u=g[1],d=g[2],[l,$t($t({},l),{},{showHour:c,showMinute:u,showSecond:d,showMillisecond:s}),l.format,r]}function SGe(t,e,n,o,i){var r=t==="time";if(t==="datetime"||r){for(var a=o,l=pGe(t,i,null),s=l,c=[e,n],u=0;u1&&(a=e.addDate(a,-7)),a}function ku(t,e){var n=e.generateConfig,o=e.locale,i=e.format;return t?typeof i=="function"?i(t):n.locale.format(o.locale,t,i):""}function RG(t,e,n){var o=e,i=["getHour","getMinute","getSecond","getMillisecond"],r=["setHour","setMinute","setSecond","setMillisecond"];return r.forEach(function(a,l){n?o=t[a](o,t[i[l]](n)):o=t[a](o,0)}),o}function mkt(t,e,n,o,i){var r=Ia(function(a,l){return!!(n&&n(a,l)||o&&t.isAfter(o,a)&&!lh(t,e,o,a,l.type)||i&&t.isAfter(a,i)&&!lh(t,e,i,a,l.type))});return r}function ykt(t,e,n){return m.useMemo(function(){var o=pGe(t,e,n),i=Ib(o),r=i[0],a=gr(r)==="object"&&r.type==="mask"?r.format:null;return[i.map(function(l){return typeof l=="string"||typeof l=="function"?l:l.format}),a]},[t,e,n])}function Akt(t,e,n){return typeof t[0]=="function"||n?!0:e}function wkt(t,e,n,o){var i=Ia(function(r,a){var l=$t({type:e},a);if(delete l.activeIndex,!t.isValidate(r)||n&&n(r,l))return!0;if((e==="date"||e==="time")&&o){var s,c=a&&a.activeIndex===1?"end":"start",u=((s=o.disabledTime)===null||s===void 0?void 0:s.call(o,r,c,{from:l.from}))||{},d=u.disabledHours,f=u.disabledMinutes,p=u.disabledSeconds,g=u.disabledMilliseconds,A=o.disabledHours,w=o.disabledMinutes,b=o.disabledSeconds,C=d||A,P=f||w,v=p||b,T=t.getHour(r),y=t.getMinute(r),S=t.getSecond(r),x=t.getMillisecond(r);if(C&&C().includes(T)||P&&P(T).includes(y)||v&&v(T,y).includes(S)||g&&g(T,y,S).includes(x))return!0}return!1});return i}function gY(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=m.useMemo(function(){var o=t&&Ib(t);return e&&o&&(o[1]=o[1]||o[0]),o},[t,e]);return n}function CGe(t,e){var n=t.generateConfig,o=t.locale,i=t.picker,r=i===void 0?"date":i,a=t.prefixCls,l=a===void 0?"rc-picker":a,s=t.styles,c=s===void 0?{}:s,u=t.classNames,d=u===void 0?{}:u,f=t.order,p=f===void 0?!0:f,g=t.components,A=g===void 0?{}:g,w=t.inputRender,b=t.allowClear,C=t.clearIcon,P=t.needConfirm,v=t.multiple,T=t.format,y=t.inputReadOnly,S=t.disabledDate,x=t.minDate,R=t.maxDate,H=t.showTime,D=t.value,k=t.defaultValue,W=t.pickerValue,N=t.defaultPickerValue,L=gY(D),E=gY(k),U=gY(W),F=gY(N),B=r==="date"&&H?"datetime":r,_=B==="time"||B==="datetime",Y=_||v,O=P??_,J=bGe(t),Z=on(J,4),ie=Z[0],ee=Z[1],q=Z[2],ae=Z[3],ne=wGe(o,ee),se=m.useMemo(function(){return SGe(B,q,ae,ie,ne)},[B,q,ae,ie,ne]),le=m.useMemo(function(){return $t($t({},t),{},{prefixCls:l,locale:ne,picker:r,styles:c,classNames:d,order:p,components:$t({input:w},A),clearIcon:hkt(l,b,C),showTime:se,value:L,defaultValue:E,pickerValue:U,defaultPickerValue:F},e==null?void 0:e())},[t]),te=ykt(B,ne,T),he=on(te,2),pe=he[0],fe=he[1],$=Akt(pe,y,v),de=mkt(n,o,S,x,R),Se=wkt(n,r,de,se),Ce=m.useMemo(function(){return $t($t({},le),{},{needConfirm:O,inputReadOnly:$,disabledDate:de})},[le,O,$,de]);return[Ce,B,Y,pe,fe,Se]}function vkt(t,e,n){var o=Rs(e,{value:t}),i=on(o,2),r=i[0],a=i[1],l=be.useRef(t),s=be.useRef(),c=function(){za.cancel(s.current)},u=Ia(function(){a(l.current),n&&r!==l.current&&n(l.current)}),d=Ia(function(f,p){c(),l.current=f,f||p?u():s.current=za(u)});return be.useEffect(function(){return c},[]),[r,d]}function RGe(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,i=n.every(function(u){return u})?!1:t,r=vkt(i,e||!1,o),a=on(r,2),l=a[0],s=a[1];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!d.inherit||l)&&s(u,d.force)}return[l,c]}function HGe(t){var e=m.useRef();return m.useImperativeHandle(t,function(){var n;return{nativeElement:(n=e.current)===null||n===void 0?void 0:n.nativeElement,focus:function(i){var r;(r=e.current)===null||r===void 0||r.focus(i)},blur:function(){var i;(i=e.current)===null||i===void 0||i.blur()}}}),e}function MGe(t,e){return m.useMemo(function(){return t||(e?(U0(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(e).map(function(n){var o=on(n,2),i=o[0],r=o[1];return{label:i,value:r}})):[])},[t,e])}function xme(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,o=m.useRef(e);o.current=e,sx(function(){if(t)o.current(t);else{var i=za(function(){o.current(t)},n);return function(){za.cancel(i)}}},[t])}function IGe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=m.useState(0),o=on(n,2),i=o[0],r=o[1],a=m.useState(!1),l=on(a,2),s=l[0],c=l[1],u=m.useRef([]),d=m.useRef(null),f=function(w){c(w)},p=function(w){return w&&(d.current=w),d.current},g=function(w){var b=u.current,C=new Set(b.filter(function(v){return w[v]||e[v]})),P=b[b.length-1]===0?1:0;return C.size>=2||t[P]?null:P};return xme(s,function(){s||(u.current=[])}),m.useEffect(function(){s&&u.current.push(i)},[s,i]),[s,f,p,i,r,g,u.current]}function xkt(t,e,n,o,i,r){var a=n[n.length-1],l=function(c,u){var d=on(t,2),f=d[0],p=d[1],g=$t($t({},u),{},{from:gGe(t,n)});return a===1&&e[0]&&f&&!lh(o,i,f,c,g.type)&&o.isAfter(f,c)||a===0&&e[1]&&p&&!lh(o,i,p,c,g.type)&&o.isAfter(c,p)?!0:r==null?void 0:r(c,g)};return l}function yD(t,e,n,o){switch(e){case"date":case"week":return t.addMonth(n,o);case"month":case"quarter":return t.addYear(n,o);case"year":return t.addYear(n,o*10);case"decade":return t.addYear(n,o*100);default:return n}}var Lie=[];function zGe(t,e,n,o,i,r,a,l){var s=arguments.length>8&&arguments[8]!==void 0?arguments[8]:Lie,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:Lie,u=arguments.length>10&&arguments[10]!==void 0?arguments[10]:Lie,d=arguments.length>11?arguments[11]:void 0,f=arguments.length>12?arguments[12]:void 0,p=arguments.length>13?arguments[13]:void 0,g=a==="time",A=r||0,w=function(U){var F=t.getNow();return g&&(F=RG(t,F)),s[U]||n[U]||F},b=on(c,2),C=b[0],P=b[1],v=Rs(function(){return w(0)},{value:C}),T=on(v,2),y=T[0],S=T[1],x=Rs(function(){return w(1)},{value:P}),R=on(x,2),H=R[0],D=R[1],k=m.useMemo(function(){var E=[y,H][A];return g?E:RG(t,E,u[A])},[g,y,H,A,t,u]),W=function(U){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"panel",B=[S,D][A];B(U);var _=[y,H];_[A]=U,d&&(!lh(t,e,y,_[0],a)||!lh(t,e,H,_[1],a))&&d(_,{source:F,range:A===1?"end":"start",mode:o})},N=function(U,F){if(l){var B={date:"month",week:"month",month:"year",quarter:"year"},_=B[a];if(_&&!lh(t,e,U,F,_))return yD(t,a,F,-1);if(a==="year"){var Y=Math.floor(t.getYear(U)/10),O=Math.floor(t.getYear(F)/10);if(Y!==O)return yD(t,a,F,-1)}}return F},L=m.useRef(null);return Ba(function(){if(i&&!s[A]){var E=g?null:t.getNow();if(L.current!==null&&L.current!==A?E=[y,H][A^1]:n[A]?E=A===0?n[0]:N(n[0],n[1]):n[A^1]&&(E=n[A^1]),E){f&&t.isAfter(f,E)&&(E=f);var U=l?yD(t,a,E,1):E;p&&t.isAfter(U,p)&&(E=l?yD(t,a,p,-1):p),W(E,"reset")}}},[i,A,n[A]]),m.useEffect(function(){i?L.current=A:L.current=null},[i,A]),Ba(function(){i&&s&&s[A]&&W(s[A],"reset")},[i,A]),[k,W]}function DGe(t,e){var n=m.useRef(t),o=m.useState({}),i=on(o,2),r=i[1],a=function(c){return c&&e!==void 0?e:n.current},l=function(c){n.current=c,r({})};return[a,l,a(!0)]}var bkt=[];function EGe(t,e,n){var o=function(a){return a.map(function(l){return ku(l,{generateConfig:t,locale:e,format:n[0]})})},i=function(a,l){for(var s=Math.max(a.length,l.length),c=-1,u=0;u2&&arguments[2]!==void 0?arguments[2]:1,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:2,a=[],l=n>=1?n|0:1,s=t;s<=e;s+=l){var c=i.includes(s);(!c||!o)&&a.push({label:yme(s,r),value:s,disabled:c})}return a}function bme(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=e||{},i=o.use12Hours,r=o.hourStep,a=r===void 0?1:r,l=o.minuteStep,s=l===void 0?1:l,c=o.secondStep,u=c===void 0?1:c,d=o.millisecondStep,f=d===void 0?100:d,p=o.hideDisabledOptions,g=o.disabledTime,A=o.disabledHours,w=o.disabledMinutes,b=o.disabledSeconds,C=m.useMemo(function(){return n||t.getNow()},[n,t]),P=m.useCallback(function(F){var B=(g==null?void 0:g(F))||{};return[B.disabledHours||A||mY,B.disabledMinutes||w||mY,B.disabledSeconds||b||mY,B.disabledMilliseconds||mY]},[g,A,w,b]),v=m.useMemo(function(){return P(C)},[C,P]),T=on(v,4),y=T[0],S=T[1],x=T[2],R=T[3],H=m.useCallback(function(F,B,_,Y){var O=yY(0,23,a,p,F()),J=i?O.map(function(q){return $t($t({},q),{},{label:yme(q.value%12||12,2)})}):O,Z=function(ae){return yY(0,59,s,p,B(ae))},ie=function(ae,ne){return yY(0,59,u,p,_(ae,ne))},ee=function(ae,ne,se){return yY(0,999,f,p,Y(ae,ne,se),3)};return[J,Z,ie,ee]},[p,a,i,f,s,u]),D=m.useMemo(function(){return H(y,S,x,R)},[H,y,S,x,R]),k=on(D,4),W=k[0],N=k[1],L=k[2],E=k[3],U=function(B,_){var Y=function(){return W},O=N,J=L,Z=E;if(_){var ie=P(_),ee=on(ie,4),q=ee[0],ae=ee[1],ne=ee[2],se=ee[3],le=H(q,ae,ne,se),te=on(le,4),he=te[0],pe=te[1],fe=te[2],$=te[3];Y=function(){return he},O=pe,J=fe,Z=$}var de=Tkt(B,Y,O,J,Z,t);return de};return[U,W,N,L,E]}function Pkt(t){var e=t.mode,n=t.internalMode,o=t.renderExtraFooter,i=t.showNow,r=t.showTime,a=t.onSubmit,l=t.onNow,s=t.invalid,c=t.needConfirm,u=t.generateConfig,d=t.disabledDate,f=m.useContext($2),p=f.prefixCls,g=f.locale,A=f.button,w=A===void 0?"button":A,b=u.getNow(),C=bme(u,r,b),P=on(C,1),v=P[0],T=o==null?void 0:o(e),y=d(b,{type:e}),S=function(){if(!y){var N=v(b);l(N)}},x="".concat(p,"-now"),R="".concat(x,"-btn"),H=i&&m.createElement("li",{className:x},m.createElement("a",{className:_n(R,y&&"".concat(R,"-disabled")),"aria-disabled":y,onClick:S},n==="date"?g.today:g.now)),D=c&&m.createElement("li",{className:"".concat(p,"-ok")},m.createElement(w,{disabled:s,onClick:a},g.ok)),k=(H||D)&&m.createElement("ul",{className:"".concat(p,"-ranges")},H,D);return!T&&!k?null:m.createElement("div",{className:"".concat(p,"-footer")},T&&m.createElement("div",{className:"".concat(p,"-footer-extra")},T),k)}function NGe(t,e,n){function o(i,r){var a=i.findIndex(function(s){return lh(t,e,s,r,n)});if(a===-1)return[].concat(Wo(i),[r]);var l=Wo(i);return l.splice(a,1),l}return o}var zb=m.createContext(null);function I$(){return m.useContext(zb)}function kH(t,e){var n=t.prefixCls,o=t.generateConfig,i=t.locale,r=t.disabledDate,a=t.minDate,l=t.maxDate,s=t.cellRender,c=t.hoverValue,u=t.hoverRangeValue,d=t.onHover,f=t.values,p=t.pickerValue,g=t.onSelect,A=t.prevIcon,w=t.nextIcon,b=t.superPrevIcon,C=t.superNextIcon,P=o.getNow(),v={now:P,values:f,pickerValue:p,prefixCls:n,disabledDate:r,minDate:a,maxDate:l,cellRender:s,hoverValue:c,hoverRangeValue:u,onHover:d,locale:i,generateConfig:o,onSelect:g,panelType:e,prevIcon:A,nextIcon:w,superPrevIcon:b,superNextIcon:C};return[v,P]}var Fw=m.createContext({});function zW(t){for(var e=t.rowNum,n=t.colNum,o=t.baseDate,i=t.getCellDate,r=t.prefixColumn,a=t.rowClassName,l=t.titleFormat,s=t.getCellText,c=t.getCellClassName,u=t.headerCells,d=t.cellSelection,f=d===void 0?!0:d,p=t.disabledDate,g=I$(),A=g.prefixCls,w=g.panelType,b=g.now,C=g.disabledDate,P=g.cellRender,v=g.onHover,T=g.hoverValue,y=g.hoverRangeValue,S=g.generateConfig,x=g.values,R=g.locale,H=g.onSelect,D=p||C,k="".concat(A,"-cell"),W=m.useContext(Fw),N=W.onCellDblClick,L=function(J){return x.some(function(Z){return Z&&lh(S,R,J,Z,w)})},E=[],U=0;U1&&arguments[1]!==void 0?arguments[1]:!1;ze($e),w==null||w($e),We&&ye($e)},ge=function($e,We){ne($e),We&&oe(We),ye(We,$e)},Ae=function($e){if(Se($e),oe($e),ae!==v){var We=["decade","year"],Ee=[].concat(We,["month"]),Fe={quarter:[].concat(We,["quarter"]),week:[].concat(Wo(Ee),["week"]),date:[].concat(Wo(Ee),["date"])},Ge=Fe[v]||Ee,rt=Ge.indexOf(ae),_e=Ge[rt+1];_e&&ge(_e,$e)}},me=m.useMemo(function(){var Le,$e;if(Array.isArray(S)){var We=on(S,2);Le=We[0],$e=We[1]}else Le=S;return!Le&&!$e?null:(Le=Le||$e,$e=$e||Le,i.isAfter(Le,$e)?[$e,Le]:[Le,$e])},[S,i]),Pe=Ame(x,R,H),Me=k[se]||Lkt[se]||z$,Te=m.useContext(Fw),De=m.useMemo(function(){return $t($t({},Te),{},{hideHeader:W})},[Te,W]),Ne="".concat(N,"-panel"),Ye=H$(t,["showWeek","prevIcon","nextIcon","superPrevIcon","superNextIcon","disabledDate","minDate","maxDate","onHover"]);return m.createElement(Fw.Provider,{value:De},m.createElement("div",{ref:L,tabIndex:s,className:_n(Ne,_t({},"".concat(Ne,"-rtl"),r==="rtl"))},m.createElement(Me,so({},Ye,{showTime:Z,prefixCls:N,locale:O,generateConfig:i,onModeChange:ge,pickerValue:Ie,onPickerValueChange:function($e){oe($e,!0)},value:$[0],onSelect:Ae,values:$,cellRender:Pe,hoverRangeValue:me,hoverValue:y}))))}var Wie=m.memo(m.forwardRef(Wkt));function Nkt(t){var e=t.picker,n=t.multiplePanel,o=t.pickerValue,i=t.onPickerValueChange,r=t.needConfirm,a=t.onSubmit,l=t.range,s=t.hoverValue,c=m.useContext($2),u=c.prefixCls,d=c.generateConfig,f=m.useCallback(function(C,P){return yD(d,e,C,P)},[d,e]),p=m.useMemo(function(){return f(o,1)},[o,f]),g=function(P){i(f(P,-1))},A={onCellDblClick:function(){r&&a()}},w=e==="time",b=$t($t({},t),{},{hoverValue:null,hoverRangeValue:null,hideHeader:w});return l?b.hoverRangeValue=s:b.hoverValue=s,n?m.createElement("div",{className:"".concat(u,"-panels")},m.createElement(Fw.Provider,{value:$t($t({},A),{},{hideNext:!0})},m.createElement(Wie,b)),m.createElement(Fw.Provider,{value:$t($t({},A),{},{hidePrev:!0})},m.createElement(Wie,so({},b,{pickerValue:p,onPickerValueChange:g})))):m.createElement(Fw.Provider,{value:$t({},A)},m.createElement(Wie,b))}function Pve(t){return typeof t=="function"?t():t}function Ukt(t){var e=t.prefixCls,n=t.presets,o=t.onClick,i=t.onHover;return n.length?m.createElement("div",{className:"".concat(e,"-presets")},m.createElement("ul",null,n.map(function(r,a){var l=r.label,s=r.value;return m.createElement("li",{key:a,onClick:function(){o(Pve(s))},onMouseEnter:function(){i(Pve(s))},onMouseLeave:function(){i(null)}},l)}))):null}function BGe(t){var e=t.panelRender,n=t.internalMode,o=t.picker,i=t.showNow,r=t.range,a=t.multiple,l=t.activeOffset,s=l===void 0?0:l,c=t.presets,u=t.onPresetHover,d=t.onPresetSubmit,f=t.onFocus,p=t.onBlur,g=t.direction,A=t.value,w=t.onSelect,b=t.isInvalid,C=t.defaultOpenValue,P=t.onOk,v=t.onSubmit,T=m.useContext($2),y=T.prefixCls,S="".concat(y,"-panel"),x=g==="rtl",R=m.useRef(null),H=m.useRef(null),D=m.useState(0),k=on(D,2),W=k[0],N=k[1],L=m.useState(0),E=on(L,2),U=E[0],F=E[1],B=function(he){he.offsetWidth&&N(he.offsetWidth)};m.useEffect(function(){if(r){var te,he=((te=R.current)===null||te===void 0?void 0:te.offsetWidth)||0,pe=W-he;s<=pe?F(0):F(s+he-W)}},[W,s,r]);function _(te){return te.filter(function(he){return he})}var Y=m.useMemo(function(){return _(Ib(A))},[A]),O=o==="time"&&!Y.length,J=m.useMemo(function(){return O?_([C]):Y},[O,Y,C]),Z=O?C:Y,ie=m.useMemo(function(){return J.length?J.some(function(te){return b(te)}):!0},[J,b]),ee=function(){O&&w(C),P(),v()},q=m.createElement("div",{className:"".concat(y,"-panel-layout")},m.createElement(Ukt,{prefixCls:y,presets:c,onClick:d,onHover:u}),m.createElement("div",null,m.createElement(Nkt,so({},t,{value:Z})),m.createElement(Pkt,so({},t,{showNow:a?!1:i,invalid:ie,onSubmit:ee}))));e&&(q=e(q));var ae="".concat(S,"-container"),ne="marginLeft",se="marginRight",le=m.createElement("div",{tabIndex:-1,className:_n(ae,"".concat(y,"-").concat(n,"-panel-container")),style:_t(_t({},x?se:ne,U),x?ne:se,"auto"),onFocus:f,onBlur:p},q);return r&&(le=m.createElement("div",{ref:H,className:_n("".concat(y,"-range-wrapper"),"".concat(y,"-").concat(o,"-range-wrapper"))},m.createElement("div",{ref:R,className:"".concat(y,"-range-arrow"),style:_t({},x?"right":"left",s)}),m.createElement(bd,{onResize:B},le))),le}function jGe(t,e){var n=t.format,o=t.maskFormat,i=t.generateConfig,r=t.locale,a=t.preserveInvalidOnBlur,l=t.inputReadOnly,s=t.required,c=t["aria-required"],u=t.onSubmit,d=t.onFocus,f=t.onBlur,p=t.onInputChange,g=t.onInvalid,A=t.open,w=t.onOpenChange,b=t.onKeyDown,C=t.onChange,P=t.activeHelp,v=t.name,T=t.autoComplete,y=t.id,S=t.value,x=t.invalid,R=t.placeholder,H=t.disabled,D=t.activeIndex,k=t.allHelp,W=t.picker,N=function(O,J){var Z=i.locale.parse(r.locale,O,[J]);return Z&&i.isValidate(Z)?Z:null},L=n[0],E=m.useCallback(function(Y){return ku(Y,{locale:r,format:L,generateConfig:i})},[r,i,L]),U=m.useMemo(function(){return S.map(E)},[S,E]),F=m.useMemo(function(){var Y=W==="time"?8:10,O=typeof L=="function"?L(i.getNow()).length:L.length;return Math.max(Y,O)+2},[L,W,i]),B=function(O){for(var J=0;J=l&&n<=s)return r;var c=Math.min(Math.abs(n-l),Math.abs(n-s));c0?at:ot));var mt=nt+Qe,Tt=ot-at+1;return String(at+(Tt+mt-at)%Tt)};switch($e){case"Backspace":case"Delete":We="",Ee=Ge;break;case"ArrowLeft":We="",rt(-1);break;case"ArrowRight":We="",rt(1);break;case"ArrowUp":We="",Ee=_e(1);break;case"ArrowDown":We="",Ee=_e(-1);break;default:isNaN(Number($e))||(We=Y+$e,Ee=We);break}if(We!==null&&(O(We),We.length>=Fe&&(rt(1),O(""))),Ee!==null){var xt=le.slice(0,de)+yme(Ee,Fe)+le.slice(Se);ve(xt.slice(0,a.length))}se({})},De=m.useRef();Ba(function(){if(!(!W||!a||ye.current)){if(!pe.match(le)){ve(a);return}return he.current.setSelectionRange(de,Se),De.current=za(function(){he.current.setSelectionRange(de,Se)}),function(){za.cancel(De.current)}}},[pe,a,W,le,ie,de,Se,ne,ve]);var Ne=a?{onFocus:Ae,onBlur:Pe,onKeyDown:Te,onMouseDown:oe,onMouseUp:ge,onPaste:ze}:{};return m.createElement("div",{ref:te,className:_n(H,_t(_t({},"".concat(H,"-active"),n&&i),"".concat(H,"-placeholder"),c))},m.createElement(R,so({ref:he,"aria-invalid":A,autoComplete:"off"},b,{onKeyDown:Me,onBlur:me},Ne,{value:le,onChange:Ie})),m.createElement(D$,{type:"suffix",icon:r}),w)}),Gkt=["id","clearIcon","suffixIcon","separator","activeIndex","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","value","onChange","onSubmit","onInputChange","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onActiveOffset","onMouseDown","required","aria-required","autoFocus"],Xkt=["index"];function Jkt(t,e){var n=t.id,o=t.clearIcon,i=t.suffixIcon,r=t.separator,a=r===void 0?"~":r,l=t.activeIndex;t.activeHelp,t.allHelp;var s=t.focused;t.onFocus,t.onBlur,t.onKeyDown,t.locale,t.generateConfig;var c=t.placeholder,u=t.className,d=t.style,f=t.onClick,p=t.onClear,g=t.value;t.onChange,t.onSubmit,t.onInputChange,t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var A=t.disabled,w=t.invalid;t.inputReadOnly;var b=t.direction;t.onOpenChange;var C=t.onActiveOffset,P=t.onMouseDown;t.required,t["aria-required"];var v=t.autoFocus,T=ir(t,Gkt),y=b==="rtl",S=m.useContext($2),x=S.prefixCls,R=m.useMemo(function(){if(typeof n=="string")return[n];var ae=n||{};return[ae.start,ae.end]},[n]),H=m.useRef(),D=m.useRef(),k=m.useRef(),W=function(ne){var se;return(se=[D,k][ne])===null||se===void 0?void 0:se.current};m.useImperativeHandle(e,function(){return{nativeElement:H.current,focus:function(ne){if(gr(ne)==="object"){var se,le=ne||{},te=le.index,he=te===void 0?0:te,pe=ir(le,Xkt);(se=W(he))===null||se===void 0||se.focus(pe)}else{var fe;(fe=W(ne??0))===null||fe===void 0||fe.focus()}},blur:function(){var ne,se;(ne=W(0))===null||ne===void 0||ne.blur(),(se=W(1))===null||se===void 0||se.blur()}}});var N=YGe(T),L=m.useMemo(function(){return Array.isArray(c)?c:[c,c]},[c]),E=jGe($t($t({},t),{},{id:R,placeholder:L})),U=on(E,1),F=U[0],B=y?"right":"left",_=m.useState(_t({position:"absolute",width:0},B,0)),Y=on(_,2),O=Y[0],J=Y[1],Z=Ia(function(){var ae=W(l);if(ae){var ne=ae.nativeElement,se=ne.offsetWidth,le=ne.offsetLeft,te=ne.offsetParent,he=le;if(y){var pe=te,fe=getComputedStyle(pe);he=pe.offsetWidth-parseFloat(fe.borderRightWidth)-parseFloat(fe.borderLeftWidth)-le-se}J(function($){return $t($t({},$),{},_t({width:se},B,he))}),C(l===0?0:he)}});m.useEffect(function(){Z()},[l]);var ie=o&&(g[0]&&!A[0]||g[1]&&!A[1]),ee=v&&!A[0],q=v&&!ee&&!A[1];return m.createElement(bd,{onResize:Z},m.createElement("div",so({},N,{className:_n(x,"".concat(x,"-range"),_t(_t(_t(_t({},"".concat(x,"-focused"),s),"".concat(x,"-disabled"),A.every(function(ae){return ae})),"".concat(x,"-invalid"),w.some(function(ae){return ae})),"".concat(x,"-rtl"),y),u),style:d,ref:H,onClick:f,onMouseDown:function(ne){var se=ne.target;se!==D.current.inputElement&&se!==k.current.inputElement&&ne.preventDefault(),P==null||P(ne)}}),m.createElement(L0e,so({ref:D},F(0),{autoFocus:ee,"date-range":"start"})),m.createElement("div",{className:"".concat(x,"-range-separator")},a),m.createElement(L0e,so({ref:k},F(1),{autoFocus:q,"date-range":"end"})),m.createElement("div",{className:"".concat(x,"-active-bar"),style:O}),m.createElement(D$,{type:"suffix",icon:i}),ie&&m.createElement(F0e,{icon:o,onClear:p})))}var Kkt=m.forwardRef(Jkt);function Rve(t,e){var n=t??e;return Array.isArray(n)?n:[n,n]}function wY(t){return t===1?"end":"start"}function qkt(t,e){var n=CGe(t,function(){var bo=t.disabled,Ro=t.allowEmpty,oi=Rve(bo,!1),go=Rve(Ro,!1);return{disabled:oi,allowEmpty:go}}),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i.prefixCls,d=i.styles,f=i.classNames,p=i.defaultValue,g=i.value,A=i.needConfirm,w=i.onKeyDown,b=i.disabled,C=i.allowEmpty,P=i.disabledDate,v=i.minDate,T=i.maxDate,y=i.defaultOpen,S=i.open,x=i.onOpenChange,R=i.locale,H=i.generateConfig,D=i.picker,k=i.showNow,W=i.showToday,N=i.showTime,L=i.mode,E=i.onPanelChange,U=i.onCalendarChange,F=i.onOk,B=i.defaultPickerValue,_=i.pickerValue,Y=i.onPickerValueChange,O=i.inputReadOnly,J=i.suffixIcon,Z=i.onFocus,ie=i.onBlur,ee=i.presets,q=i.ranges,ae=i.components,ne=i.cellRender,se=i.dateRender,le=i.monthCellRender,te=i.onClick,he=HGe(e),pe=RGe(S,y,b,x),fe=on(pe,2),$=fe[0],de=fe[1],Se=function(Ro,oi){(b.some(function(go){return!go})||!Ro)&&de(Ro,oi)},Ce=FGe(H,R,l,!0,!1,p,g,U,F),ve=on(Ce,5),Ie=ve[0],ze=ve[1],ye=ve[2],oe=ve[3],ge=ve[4],Ae=ye(),me=IGe(b,C),Pe=on(me,7),Me=Pe[0],Te=Pe[1],De=Pe[2],Ne=Pe[3],Ye=Pe[4],Le=Pe[5],$e=Pe[6],We=function(Ro,oi){Te(!0),Z==null||Z(Ro,{range:wY(oi??Ne)})},Ee=function(Ro,oi){Te(!1),ie==null||ie(Ro,{range:wY(oi??Ne)})},Fe=m.useMemo(function(){if(!N)return null;var bo=N.disabledTime,Ro=bo?function(oi){var go=wY(Ne),So=gGe(Ae,$e,Ne);return bo(oi,go,{from:So})}:void 0;return $t($t({},N),{},{disabledTime:Ro})},[N,Ne,Ae,$e]),Ge=Rs([D,D],{value:L}),rt=on(Ge,2),_e=rt[0],xt=rt[1],dt=_e[Ne]||D,Qe=dt==="date"&&Fe?"datetime":dt,ct=Qe===D&&Qe!=="time",ft=WGe(D,dt,k,W,!0),at=LGe(i,Ie,ze,ye,oe,b,l,Me,$,c),ot=on(at,2),et=ot[0],Oe=ot[1],nt=xkt(Ae,b,$e,H,R,P),mt=yGe(Ae,c,C),Tt=on(mt,2),Rt=Tt[0],Wt=Tt[1],Ct=zGe(H,R,Ae,_e,$,Ne,r,ct,B,_,Fe==null?void 0:Fe.defaultOpenValue,Y,v,T),wt=on(Ct,2),kt=wt[0],qe=wt[1],Je=Ia(function(bo,Ro,oi){var go=uE(_e,Ne,Ro);if((go[0]!==_e[0]||go[1]!==_e[1])&&xt(go),E&&oi!==!1){var So=Wo(Ae);bo&&(So[Ne]=bo),E(So,go)}}),st=function(Ro,oi){return uE(Ae,oi,Ro)},Pt=function(Ro,oi){var go=Ae;Ro&&(go=st(Ro,Ne));var So=Le(go);oe(go),et(Ne,So===null),So===null?Se(!1,{force:!0}):oi||he.current.focus({index:So})},Ue=function(Ro){if(!he.current.nativeElement.contains(document.activeElement)){var oi=b.findIndex(function(go){return!go});oi>=0&&he.current.focus({index:oi})}Se(!0),te==null||te(Ro)},lt=function(){Oe(null),Se(!1,{force:!0})},Ve=m.useState(null),ut=on(Ve,2),je=ut[0],yt=ut[1],Ht=m.useState(null),At=on(Ht,2),It=At[0],zt=At[1],Ft=m.useMemo(function(){return It||Ae},[Ae,It]);m.useEffect(function(){$||zt(null)},[$]);var ln=m.useState(0),Xt=on(ln,2),fn=Xt[0],rn=Xt[1],bn=MGe(ee,q),Tn=function(Ro){zt(Ro),yt("preset")},Un=function(Ro){var oi=Oe(Ro);oi&&Se(!1,{force:!0})},Ai=function(Ro){Pt(Ro)},vo=function(Ro){zt(Ro?st(Ro,Ne):null),yt("cell")},Oo=function(Ro){Se(!0),We(Ro)},si=function(Ro){De("panel");var oi=uE(Ae,Ne,Ro);oe(oi),!A&&!a&&r===Qe&&Pt(Ro)},po=function(){Se(!1)},eo=Ame(ne,se,le,wY(Ne)),uo=Ae[Ne]||null,qo=Ia(function(bo){return c(bo,{activeIndex:Ne})}),Hi=m.useMemo(function(){var bo=gf(i,!1),Ro=MH(i,[].concat(Wo(Object.keys(bo)),["onChange","onCalendarChange","style","className","onPanelChange","disabledTime"]));return Ro},[i]),vi=m.createElement(BGe,so({},Hi,{showNow:ft,showTime:Fe,range:!0,multiplePanel:ct,activeOffset:fn,disabledDate:nt,onFocus:Oo,onBlur:Ee,picker:D,mode:dt,internalMode:Qe,onPanelChange:Je,format:s,value:uo,isInvalid:qo,onChange:null,onSelect:si,pickerValue:kt,defaultOpenValue:Ib(N==null?void 0:N.defaultOpenValue)[Ne],onPickerValueChange:qe,hoverValue:Ft,onHover:vo,needConfirm:A,onSubmit:Pt,onOk:ge,presets:bn,onPresetHover:Tn,onPresetSubmit:Un,onNow:Ai,cellRender:eo})),Cn=function(Ro,oi){var go=st(Ro,oi);oe(go)},yn=function(){De("input")},to=function(Ro,oi){De("input"),Se(!0,{inherit:!0}),Ye(oi),We(Ro,oi)},Eo=function(Ro,oi){Se(!1),Ee(Ro,oi)},ni=function(Ro,oi){Ro.key==="Tab"&&Pt(null,!0),w==null||w(Ro,oi)},Lo=m.useMemo(function(){return{prefixCls:u,locale:R,generateConfig:H,button:ae.button,input:ae.input}},[u,R,H,ae.button,ae.input]);return Ba(function(){$&&Ne!==void 0&&Je(null,D,!1)},[$,Ne,D]),Ba(function(){var bo=De();!$&&bo==="input"&&(Se(!1),Pt(null,!0)),!$&&a&&!A&&bo==="panel"&&(Se(!0),Pt())},[$]),m.createElement($2.Provider,{value:Lo},m.createElement(hGe,so({},mGe(i),{popupElement:vi,popupStyle:d.popup,popupClassName:f.popup,visible:$,onClose:po,range:!0}),m.createElement(Kkt,so({},i,{ref:he,suffixIcon:J,activeIndex:Me||$?Ne:null,activeHelp:!!It,allHelp:!!It&&je==="preset",focused:Me,onFocus:to,onBlur:Eo,onKeyDown:ni,onSubmit:Pt,value:Ft,maskFormat:s,onChange:Cn,onInputChange:yn,format:l,inputReadOnly:O,disabled:b,open:$,onOpenChange:Se,onClick:Ue,onClear:lt,invalid:Rt,onInvalid:Wt,onActiveOffset:rn}))))}var $kt=m.forwardRef(qkt);function Qkt(t){var e=t.prefixCls,n=t.value,o=t.onRemove,i=t.removeIcon,r=i===void 0?"×":i,a=t.formatDate,l=t.disabled,s=t.maxTagCount,c=t.placeholder,u="".concat(e,"-selector"),d="".concat(e,"-selection"),f="".concat(d,"-overflow");function p(w,b){return m.createElement("span",{className:_n("".concat(d,"-item")),title:typeof w=="string"?w:null},m.createElement("span",{className:"".concat(d,"-item-content")},w),!l&&b&&m.createElement("span",{onMouseDown:function(P){P.preventDefault()},onClick:b,className:"".concat(d,"-item-remove")},r))}function g(w){var b=a(w),C=function(v){v&&v.stopPropagation(),o(w)};return p(b,C)}function A(w){var b="+ ".concat(w.length," ...");return p(b)}return m.createElement("div",{className:u},m.createElement(H2,{prefixCls:f,data:n,renderItem:g,renderRest:A,itemKey:function(b){return a(b)},maxCount:s}),!n.length&&m.createElement("span",{className:"".concat(e,"-selection-placeholder")},c))}var Zkt=["id","open","clearIcon","suffixIcon","activeHelp","allHelp","focused","onFocus","onBlur","onKeyDown","locale","generateConfig","placeholder","className","style","onClick","onClear","internalPicker","value","onChange","onSubmit","onInputChange","multiple","maxTagCount","format","maskFormat","preserveInvalidOnBlur","onInvalid","disabled","invalid","inputReadOnly","direction","onOpenChange","onMouseDown","required","aria-required","autoFocus","removeIcon"];function eFt(t,e){t.id;var n=t.open,o=t.clearIcon,i=t.suffixIcon;t.activeHelp,t.allHelp;var r=t.focused;t.onFocus,t.onBlur,t.onKeyDown;var a=t.locale,l=t.generateConfig,s=t.placeholder,c=t.className,u=t.style,d=t.onClick,f=t.onClear,p=t.internalPicker,g=t.value,A=t.onChange,w=t.onSubmit;t.onInputChange;var b=t.multiple,C=t.maxTagCount;t.format,t.maskFormat,t.preserveInvalidOnBlur,t.onInvalid;var P=t.disabled,v=t.invalid;t.inputReadOnly;var T=t.direction;t.onOpenChange;var y=t.onMouseDown;t.required,t["aria-required"];var S=t.autoFocus,x=t.removeIcon,R=ir(t,Zkt),H=T==="rtl",D=m.useContext($2),k=D.prefixCls,W=m.useRef(),N=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:W.current,focus:function(ie){var ee;(ee=N.current)===null||ee===void 0||ee.focus(ie)},blur:function(){var ie;(ie=N.current)===null||ie===void 0||ie.blur()}}});var L=YGe(R),E=function(ie){A([ie])},U=function(ie){var ee=g.filter(function(q){return q&&!lh(l,a,q,ie,p)});A(ee),n||w()},F=jGe($t($t({},t),{},{onChange:E}),function(Z){var ie=Z.valueTexts;return{value:ie[0]||"",active:r}}),B=on(F,2),_=B[0],Y=B[1],O=!!(o&&g.length&&!P),J=b?m.createElement(m.Fragment,null,m.createElement(Qkt,{prefixCls:k,value:g,onRemove:U,formatDate:Y,maxTagCount:C,disabled:P,removeIcon:x,placeholder:s}),m.createElement("input",{className:"".concat(k,"-multiple-input"),value:g.map(Y).join(","),ref:N,readOnly:!0,autoFocus:S}),m.createElement(D$,{type:"suffix",icon:i}),O&&m.createElement(F0e,{icon:o,onClear:f})):m.createElement(L0e,so({ref:N},_(),{autoFocus:S,suffixIcon:i,clearIcon:O&&m.createElement(F0e,{icon:o,onClear:f}),showActiveCls:!1}));return m.createElement("div",so({},L,{className:_n(k,_t(_t(_t(_t(_t({},"".concat(k,"-multiple"),b),"".concat(k,"-focused"),r),"".concat(k,"-disabled"),P),"".concat(k,"-invalid"),v),"".concat(k,"-rtl"),H),c),style:u,ref:W,onClick:d,onMouseDown:function(ie){var ee,q=ie.target;q!==((ee=N.current)===null||ee===void 0?void 0:ee.inputElement)&&ie.preventDefault(),y==null||y(ie)}}),J)}var tFt=m.forwardRef(eFt);function nFt(t,e){var n=CGe(t),o=on(n,6),i=o[0],r=o[1],a=o[2],l=o[3],s=o[4],c=o[5],u=i,d=u.prefixCls,f=u.styles,p=u.classNames,g=u.order,A=u.defaultValue,w=u.value,b=u.needConfirm,C=u.onChange,P=u.onKeyDown,v=u.disabled,T=u.disabledDate,y=u.minDate,S=u.maxDate,x=u.defaultOpen,R=u.open,H=u.onOpenChange,D=u.locale,k=u.generateConfig,W=u.picker,N=u.showNow,L=u.showToday,E=u.showTime,U=u.mode,F=u.onPanelChange,B=u.onCalendarChange,_=u.onOk,Y=u.multiple,O=u.defaultPickerValue,J=u.pickerValue,Z=u.onPickerValueChange,ie=u.inputReadOnly,ee=u.suffixIcon,q=u.removeIcon,ae=u.onFocus,ne=u.onBlur,se=u.presets,le=u.components,te=u.cellRender,he=u.dateRender,pe=u.monthCellRender,fe=u.onClick,$=HGe(e);function de(yn){return yn===null?null:Y?yn:yn[0]}var Se=NGe(k,D,r),Ce=RGe(R,x,[v],H),ve=on(Ce,2),Ie=ve[0],ze=ve[1],ye=function(to,Eo,ni){if(B){var Lo=$t({},ni);delete Lo.range,B(de(to),de(Eo),Lo)}},oe=function(to){_==null||_(de(to))},ge=FGe(k,D,l,!1,g,A,w,ye,oe),Ae=on(ge,5),me=Ae[0],Pe=Ae[1],Me=Ae[2],Te=Ae[3],De=Ae[4],Ne=Me(),Ye=IGe([v]),Le=on(Ye,4),$e=Le[0],We=Le[1],Ee=Le[2],Fe=Le[3],Ge=function(to){We(!0),ae==null||ae(to,{})},rt=function(to){We(!1),ne==null||ne(to,{})},_e=Rs(W,{value:U}),xt=on(_e,2),dt=xt[0],Qe=xt[1],ct=dt==="date"&&E?"datetime":dt,ft=WGe(W,dt,N,L),at=C&&function(yn,to){C(de(yn),de(to))},ot=LGe($t($t({},i),{},{onChange:at}),me,Pe,Me,Te,[],l,$e,Ie,c),et=on(ot,2),Oe=et[1],nt=yGe(Ne,c),mt=on(nt,2),Tt=mt[0],Rt=mt[1],Wt=m.useMemo(function(){return Tt.some(function(yn){return yn})},[Tt]),Ct=function(to,Eo){if(Z){var ni=$t($t({},Eo),{},{mode:Eo.mode[0]});delete ni.range,Z(to[0],ni)}},wt=zGe(k,D,Ne,[dt],Ie,Fe,r,!1,O,J,Ib(E==null?void 0:E.defaultOpenValue),Ct,y,S),kt=on(wt,2),qe=kt[0],Je=kt[1],st=Ia(function(yn,to,Eo){if(Qe(to),F&&Eo!==!1){var ni=yn||Ne[Ne.length-1];F(ni,to)}}),Pt=function(){Oe(Me()),ze(!1,{force:!0})},Ue=function(to){!v&&!$.current.nativeElement.contains(document.activeElement)&&$.current.focus(),ze(!0),fe==null||fe(to)},lt=function(){Oe(null),ze(!1,{force:!0})},Ve=m.useState(null),ut=on(Ve,2),je=ut[0],yt=ut[1],Ht=m.useState(null),At=on(Ht,2),It=At[0],zt=At[1],Ft=m.useMemo(function(){var yn=[It].concat(Wo(Ne)).filter(function(to){return to});return Y?yn:yn.slice(0,1)},[Ne,It,Y]),ln=m.useMemo(function(){return!Y&&It?[It]:Ne.filter(function(yn){return yn})},[Ne,It,Y]);m.useEffect(function(){Ie||zt(null)},[Ie]);var Xt=MGe(se),fn=function(to){zt(to),yt("preset")},rn=function(to){var Eo=Y?Se(Me(),to):[to],ni=Oe(Eo);ni&&!Y&&ze(!1,{force:!0})},bn=function(to){rn(to)},Tn=function(to){zt(to),yt("cell")},Un=function(to){ze(!0),Ge(to)},Ai=function(to){Ee("panel");var Eo=Y?Se(Me(),to):[to];Te(Eo),!b&&!a&&r===ct&&Pt()},vo=function(){ze(!1)},Oo=Ame(te,he,pe),si=m.useMemo(function(){var yn=gf(i,!1),to=MH(i,[].concat(Wo(Object.keys(yn)),["onChange","onCalendarChange","style","className","onPanelChange"]));return $t($t({},to),{},{multiple:i.multiple})},[i]),po=m.createElement(BGe,so({},si,{showNow:ft,showTime:E,disabledDate:T,onFocus:Un,onBlur:rt,picker:W,mode:dt,internalMode:ct,onPanelChange:st,format:s,value:Ne,isInvalid:c,onChange:null,onSelect:Ai,pickerValue:qe,defaultOpenValue:E==null?void 0:E.defaultOpenValue,onPickerValueChange:Je,hoverValue:Ft,onHover:Tn,needConfirm:b,onSubmit:Pt,onOk:De,presets:Xt,onPresetHover:fn,onPresetSubmit:rn,onNow:bn,cellRender:Oo})),eo=function(to){Te(to)},uo=function(){Ee("input")},qo=function(to){Ee("input"),ze(!0,{inherit:!0}),Ge(to)},Hi=function(to){ze(!1),rt(to)},vi=function(to,Eo){to.key==="Tab"&&Pt(),P==null||P(to,Eo)},Cn=m.useMemo(function(){return{prefixCls:d,locale:D,generateConfig:k,button:le.button,input:le.input}},[d,D,k,le.button,le.input]);return Ba(function(){Ie&&Fe!==void 0&&st(null,W,!1)},[Ie,Fe,W]),Ba(function(){var yn=Ee();!Ie&&yn==="input"&&(ze(!1),Pt()),!Ie&&a&&!b&&yn==="panel"&&(ze(!0),Pt())},[Ie]),m.createElement($2.Provider,{value:Cn},m.createElement(hGe,so({},mGe(i),{popupElement:po,popupStyle:f.popup,popupClassName:p.popup,visible:Ie,onClose:vo}),m.createElement(tFt,so({},i,{ref:$,suffixIcon:ee,removeIcon:q,activeHelp:!!It,allHelp:!!It&&je==="preset",focused:$e,onFocus:qo,onBlur:Hi,onKeyDown:vi,onSubmit:Pt,value:ln,maskFormat:s,onChange:eo,onInputChange:uo,internalPicker:r,format:l,inputReadOnly:ie,disabled:v,open:Ie,onOpenChange:ze,onClick:Ue,onClear:lt,invalid:Wt,onInvalid:function(to){Rt(to,0)}}))))}var oFt=m.forwardRef(nFt);const OGe=m.createContext(null),iFt=OGe.Provider,_Ge=m.createContext(null),rFt=_Ge.Provider;var aFt=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],VGe=m.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-checkbox":n,i=t.className,r=t.style,a=t.checked,l=t.disabled,s=t.defaultChecked,c=s===void 0?!1:s,u=t.type,d=u===void 0?"checkbox":u,f=t.title,p=t.onChange,g=ir(t,aFt),A=m.useRef(null),w=Rs(c,{value:a}),b=on(w,2),C=b[0],P=b[1];m.useImperativeHandle(e,function(){return{focus:function(S){var x;(x=A.current)===null||x===void 0||x.focus(S)},blur:function(){var S;(S=A.current)===null||S===void 0||S.blur()},input:A.current}});var v=_n(o,i,_t(_t({},"".concat(o,"-checked"),C),"".concat(o,"-disabled"),l)),T=function(S){l||("checked"in t||P(S.target.checked),p==null||p({target:$t($t({},t),{},{type:d,checked:S.target.checked}),stopPropagation:function(){S.stopPropagation()},preventDefault:function(){S.preventDefault()},nativeEvent:S.nativeEvent}))};return m.createElement("span",{className:v,title:f,style:r},m.createElement("input",so({},g,{className:"".concat(o,"-input"),ref:A,onChange:T,disabled:l,checked:!!C,type:d})),m.createElement("span",{className:"".concat(o,"-inner")}))});const lFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-group`;return{[o]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",fontSize:0,[`&${o}-rtl`]:{direction:"rtl"},[`${n}-badge ${n}-badge-count`]:{zIndex:1},[`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]:{borderInlineStart:"none"}})}},sFt=t=>{const{componentCls:e,wrapperMarginInlineEnd:n,colorPrimary:o,radioSize:i,motionDurationSlow:r,motionDurationMid:a,motionEaseInOutCirc:l,colorBgContainer:s,colorBorder:c,lineWidth:u,colorBgContainerDisabled:d,colorTextDisabled:f,paddingXS:p,dotColorDisabled:g,lineType:A,radioColor:w,radioBgColor:b,calc:C}=t,P=`${e}-inner`,T=C(i).sub(C(4).mul(2)),y=C(1).mul(i).equal();return{[`${e}-wrapper`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:n,cursor:"pointer",[`&${e}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:t.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${e}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Ut(u)} ${A} ${o}`,borderRadius:"50%",visibility:"hidden",opacity:0,content:'""'},[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${e}-wrapper:hover &, + &:hover ${P}`]:{borderColor:o},[`${e}-input:focus-visible + ${P}`]:Object.assign({},n7(t)),[`${e}:hover::after, ${e}-wrapper:hover &::after`]:{visibility:"visible"},[`${e}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:y,height:y,marginBlockStart:C(1).mul(i).div(-2).equal(),marginInlineStart:C(1).mul(i).div(-2).equal(),backgroundColor:w,borderBlockStart:0,borderInlineStart:0,borderRadius:y,transform:"scale(0)",opacity:0,transition:`all ${r} ${l}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:y,height:y,backgroundColor:s,borderColor:c,borderStyle:"solid",borderWidth:u,borderRadius:"50%",transition:`all ${a}`},[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${e}-checked`]:{[P]:{borderColor:o,backgroundColor:b,"&::after":{transform:`scale(${t.calc(t.dotSize).div(i).equal()})`,opacity:1,transition:`all ${r} ${l}`}}},[`${e}-disabled`]:{cursor:"not-allowed",[P]:{backgroundColor:d,borderColor:c,cursor:"not-allowed","&::after":{backgroundColor:g}},[`${e}-input`]:{cursor:"not-allowed"},[`${e}-disabled + span`]:{color:f,cursor:"not-allowed"},[`&${e}-checked`]:{[P]:{"&::after":{transform:`scale(${C(T).div(i).equal({unit:!1})})`}}}},[`span${e} + *`]:{paddingInlineStart:p,paddingInlineEnd:p}})}},cFt=t=>{const{buttonColor:e,controlHeight:n,componentCls:o,lineWidth:i,lineType:r,colorBorder:a,motionDurationSlow:l,motionDurationMid:s,buttonPaddingInline:c,fontSize:u,buttonBg:d,fontSizeLG:f,controlHeightLG:p,controlHeightSM:g,paddingXS:A,borderRadius:w,borderRadiusSM:b,borderRadiusLG:C,buttonCheckedBg:P,buttonSolidCheckedColor:v,colorTextDisabled:T,colorBgContainerDisabled:y,buttonCheckedBgDisabled:S,buttonCheckedColorDisabled:x,colorPrimary:R,colorPrimaryHover:H,colorPrimaryActive:D,buttonSolidCheckedBg:k,buttonSolidCheckedHoverBg:W,buttonSolidCheckedActiveBg:N,calc:L}=t;return{[`${o}-button-wrapper`]:{position:"relative",display:"inline-block",height:n,margin:0,paddingInline:c,paddingBlock:0,color:e,fontSize:u,lineHeight:Ut(L(n).sub(L(i).mul(2)).equal()),background:d,border:`${Ut(i)} ${r} ${a}`,borderBlockStartWidth:L(i).add(.02).equal(),borderInlineStartWidth:0,borderInlineEndWidth:i,cursor:"pointer",transition:[`color ${s}`,`background ${s}`,`box-shadow ${s}`].join(","),a:{color:e},[`> ${o}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:L(i).mul(-1).equal(),insetInlineStart:L(i).mul(-1).equal(),display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:i,paddingInline:0,backgroundColor:a,transition:`background-color ${l}`,content:'""'}},"&:first-child":{borderInlineStart:`${Ut(i)} ${r} ${a}`,borderStartStartRadius:w,borderEndStartRadius:w},"&:last-child":{borderStartEndRadius:w,borderEndEndRadius:w},"&:first-child:last-child":{borderRadius:w},[`${o}-group-large &`]:{height:p,fontSize:f,lineHeight:Ut(L(p).sub(L(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:C,borderEndStartRadius:C},"&:last-child":{borderStartEndRadius:C,borderEndEndRadius:C}},[`${o}-group-small &`]:{height:g,paddingInline:L(A).sub(i).equal(),paddingBlock:0,lineHeight:Ut(L(g).sub(L(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:b,borderEndStartRadius:b},"&:last-child":{borderStartEndRadius:b,borderEndEndRadius:b}},"&:hover":{position:"relative",color:R},"&:has(:focus-visible)":Object.assign({},n7(t)),[`${o}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${o}-button-wrapper-disabled)`]:{zIndex:1,color:R,background:P,borderColor:R,"&::before":{backgroundColor:R},"&:first-child":{borderColor:R},"&:hover":{color:H,borderColor:H,"&::before":{backgroundColor:H}},"&:active":{color:D,borderColor:D,"&::before":{backgroundColor:D}}},[`${o}-group-solid &-checked:not(${o}-button-wrapper-disabled)`]:{color:v,background:k,borderColor:k,"&:hover":{color:v,background:W,borderColor:W},"&:active":{color:v,background:N,borderColor:N}},"&-disabled":{color:T,backgroundColor:y,borderColor:a,cursor:"not-allowed","&:first-child, &:hover":{color:T,backgroundColor:y,borderColor:a}},[`&-disabled${o}-button-wrapper-checked`]:{color:x,backgroundColor:S,borderColor:a,boxShadow:"none"}}}},uFt=t=>{const{wireframe:e,padding:n,marginXS:o,lineWidth:i,fontSizeLG:r,colorText:a,colorBgContainer:l,colorTextDisabled:s,controlItemBgActiveDisabled:c,colorTextLightSolid:u,colorPrimary:d,colorPrimaryHover:f,colorPrimaryActive:p,colorWhite:g}=t,A=4,w=r,b=e?w-A*2:w-(A+i)*2;return{radioSize:w,dotSize:b,dotColorDisabled:s,buttonSolidCheckedColor:u,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:f,buttonSolidCheckedActiveBg:p,buttonBg:l,buttonCheckedBg:l,buttonColor:a,buttonCheckedBgDisabled:c,buttonCheckedColorDisabled:s,buttonPaddingInline:n-i,wrapperMarginInlineEnd:o,radioColor:e?d:g,radioBgColor:e?l:d}},GGe=Fl("Radio",t=>{const{controlOutline:e,controlOutlineWidth:n}=t,o=`0 0 0 ${Ut(n)} ${e}`,r=Zr(t,{radioFocusShadow:o,radioButtonFocusShadow:o});return[lFt(r),sFt(r),cFt(r)]},uFt,{unitless:{radioSize:!0,dotSize:!0}});var dFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const i=m.useContext(OGe),r=m.useContext(_Ge),{getPrefixCls:a,direction:l,radio:s}=m.useContext(Mi),c=m.useRef(null),u=q2(e,c),{isFormItemInput:d}=m.useContext(Qp),f=N=>{var L,E;(L=t.onChange)===null||L===void 0||L.call(t,N),(E=i==null?void 0:i.onChange)===null||E===void 0||E.call(i,N)},{prefixCls:p,className:g,rootClassName:A,children:w,style:b,title:C}=t,P=dFt(t,["prefixCls","className","rootClassName","children","style","title"]),v=a("radio",p),T=((i==null?void 0:i.optionType)||r)==="button",y=T?`${v}-button`:v,S=j0(v),[x,R,H]=GGe(v,S),D=Object.assign({},P),k=m.useContext($p);i&&(D.name=i.name,D.onChange=f,D.checked=t.value===i.value,D.disabled=(n=D.disabled)!==null&&n!==void 0?n:i.disabled),D.disabled=(o=D.disabled)!==null&&o!==void 0?o:k;const W=Gn(`${y}-wrapper`,{[`${y}-wrapper-checked`]:D.checked,[`${y}-wrapper-disabled`]:D.disabled,[`${y}-wrapper-rtl`]:l==="rtl",[`${y}-wrapper-in-form-item`]:d},s==null?void 0:s.className,g,A,R,H,S);return x(m.createElement(wW,{component:"Radio",disabled:D.disabled},m.createElement("label",{className:W,style:Object.assign(Object.assign({},s==null?void 0:s.style),b),onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,title:C},m.createElement(VGe,Object.assign({},D,{className:Gn(D.className,!T&&c$),type:"radio",prefixCls:y,ref:u})),w!==void 0?m.createElement("span",null,w):null)))},HG=m.forwardRef(fFt),hFt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o}=m.useContext(Mi),[i,r]=_6(t.defaultValue,{value:t.value}),a=N=>{const L=i,E=N.target.value;"value"in t||r(E);const{onChange:U}=t;U&&E!==L&&U(N)},{prefixCls:l,className:s,rootClassName:c,options:u,buttonStyle:d="outline",disabled:f,children:p,size:g,style:A,id:w,onMouseEnter:b,onMouseLeave:C,onFocus:P,onBlur:v}=t,T=n("radio",l),y=`${T}-group`,S=j0(T),[x,R,H]=GGe(T,S);let D=p;u&&u.length>0&&(D=u.map(N=>typeof N=="string"||typeof N=="number"?m.createElement(HG,{key:N.toString(),prefixCls:T,disabled:f,value:N,checked:i===N},N):m.createElement(HG,{key:`radio-group-value-options-${N.value}`,prefixCls:T,disabled:N.disabled||f,value:N.value,checked:i===N.value,title:N.title,style:N.style,id:N.id,required:N.required},N.label)));const k=Rd(g),W=Gn(y,`${y}-${d}`,{[`${y}-${k}`]:k,[`${y}-rtl`]:o==="rtl"},s,c,R,H,S);return x(m.createElement("div",Object.assign({},Oge(t,{aria:!0,data:!0}),{className:W,style:A,onMouseEnter:b,onMouseLeave:C,onFocus:P,onBlur:v,id:w,ref:e}),m.createElement(iFt,{value:{onChange:a,value:i,disabled:t.disabled,name:t.name,optionType:t.optionType}},D)))}),pFt=m.memo(hFt);var gFt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o}=t,i=gFt(t,["prefixCls"]),r=n("radio",o);return m.createElement(rFt,{value:"button"},m.createElement(HG,Object.assign({prefixCls:r},i,{type:"radio",ref:e})))},yFt=m.forwardRef(mFt),Be=HG;Be.Button=yFt;Be.Group=pFt;Be.__ANT_RADIO=!0;function DW(t){return Zr(t,{inputAffixPadding:t.paddingXXS})}const EW=t=>{const{controlHeight:e,fontSize:n,lineHeight:o,lineWidth:i,controlHeightSM:r,controlHeightLG:a,fontSizeLG:l,lineHeightLG:s,paddingSM:c,controlPaddingHorizontalSM:u,controlPaddingHorizontal:d,colorFillAlter:f,colorPrimaryHover:p,colorPrimary:g,controlOutlineWidth:A,controlOutline:w,colorErrorOutline:b,colorWarningOutline:C,colorBgContainer:P}=t;return{paddingBlock:Math.max(Math.round((e-n*o)/2*10)/10-i,0),paddingBlockSM:Math.max(Math.round((r-n*o)/2*10)/10-i,0),paddingBlockLG:Math.ceil((a-l*s)/2*10)/10-i,paddingInline:c-i,paddingInlineSM:u-i,paddingInlineLG:d-i,addonBg:f,activeBorderColor:g,hoverBorderColor:p,activeShadow:`0 0 0 ${A}px ${w}`,errorActiveShadow:`0 0 0 ${A}px ${b}`,warningActiveShadow:`0 0 0 ${A}px ${C}`,hoverBg:P,activeBg:P,inputFontSize:n,inputFontSizeLG:l,inputFontSizeSM:n}},AFt=t=>({borderColor:t.hoverBorderColor,backgroundColor:t.hoverBg}),E$=t=>({color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"input[disabled], textarea[disabled]":{cursor:"not-allowed"},"&:hover:not([disabled])":Object.assign({},AFt(Zr(t,{hoverBorderColor:t.colorBorder,hoverBg:t.colorBgContainerDisabled})))}),Sme=(t,e)=>({background:t.colorBgContainer,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:e.borderColor,"&:hover":{borderColor:e.hoverBorderColor,backgroundColor:t.hoverBg},"&:focus, &:focus-within":{borderColor:e.activeBorderColor,boxShadow:e.activeShadow,outline:0,backgroundColor:t.activeBg}}),Hve=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},Sme(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}}),[`&${t.componentCls}-status-${e.status}${t.componentCls}-disabled`]:{borderColor:e.borderColor}}),Tme=(t,e)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Sme(t,{borderColor:t.colorBorder,hoverBorderColor:t.hoverBorderColor,activeBorderColor:t.activeBorderColor,activeShadow:t.activeShadow})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},E$(t))}),Hve(t,{status:"error",borderColor:t.colorError,hoverBorderColor:t.colorErrorBorderHover,activeBorderColor:t.colorError,activeShadow:t.errorActiveShadow,affixColor:t.colorError})),Hve(t,{status:"warning",borderColor:t.colorWarning,hoverBorderColor:t.colorWarningBorderHover,activeBorderColor:t.colorWarning,activeShadow:t.warningActiveShadow,affixColor:t.colorWarning})),e)}),Mve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{borderColor:e.addonBorderColor,color:e.addonColor}}}),XGe=t=>({"&-outlined":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.addonBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},Mve(t,{status:"error",addonBorderColor:t.colorError,addonColor:t.colorErrorText})),Mve(t,{status:"warning",addonBorderColor:t.colorWarning,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group-addon`]:Object.assign({},E$(t))}})}),Pme=(t,e)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},[`&${t.componentCls}-disabled, &[disabled]`]:{color:t.colorTextDisabled}},e)}),JGe=(t,e)=>({background:e.bg,borderWidth:t.lineWidth,borderStyle:t.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:e==null?void 0:e.inputColor},"&:hover":{background:e.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:e.activeBorderColor,backgroundColor:t.activeBg}}),Ive=(t,e)=>({[`&${t.componentCls}-status-${e.status}:not(${t.componentCls}-disabled)`]:Object.assign(Object.assign({},JGe(t,e)),{[`${t.componentCls}-prefix, ${t.componentCls}-suffix`]:{color:e.affixColor}})}),Cme=(t,e)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},JGe(t,{bg:t.colorFillTertiary,hoverBg:t.colorFillSecondary,activeBorderColor:t.colorPrimary})),{[`&${t.componentCls}-disabled, &[disabled]`]:Object.assign({},E$(t))}),Ive(t,{status:"error",bg:t.colorErrorBg,hoverBg:t.colorErrorBgHover,activeBorderColor:t.colorError,inputColor:t.colorErrorText,affixColor:t.colorError})),Ive(t,{status:"warning",bg:t.colorWarningBg,hoverBg:t.colorWarningBgHover,activeBorderColor:t.colorWarning,inputColor:t.colorWarningText,affixColor:t.colorWarning})),e)}),zve=(t,e)=>({[`&${t.componentCls}-group-wrapper-status-${e.status}`]:{[`${t.componentCls}-group-addon`]:{background:e.addonBg,color:e.addonColor}}}),KGe=t=>({"&-filled":Object.assign(Object.assign(Object.assign({[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary},[`${t.componentCls}-filled:not(:focus):not(:focus-within)`]:{"&:not(:first-child)":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},"&:not(:last-child)":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}}}},zve(t,{status:"error",addonBg:t.colorErrorBg,addonColor:t.colorErrorText})),zve(t,{status:"warning",addonBg:t.colorWarningBg,addonColor:t.colorWarningText})),{[`&${t.componentCls}-group-wrapper-disabled`]:{[`${t.componentCls}-group`]:{"&-addon":{background:t.colorFillTertiary,color:t.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`}}}})}),Rme=t=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:t,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),qGe=t=>{const{paddingBlockLG:e,lineHeightLG:n,borderRadiusLG:o,paddingInlineLG:i}=t;return{padding:`${Ut(e)} ${Ut(i)}`,fontSize:t.inputFontSizeLG,lineHeight:n,borderRadius:o}},Hme=t=>({padding:`${Ut(t.paddingBlockSM)} ${Ut(t.paddingInlineSM)}`,fontSize:t.inputFontSizeSM,borderRadius:t.borderRadiusSM}),kW=t=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Ut(t.paddingBlock)} ${Ut(t.paddingInline)}`,color:t.colorText,fontSize:t.inputFontSize,lineHeight:t.lineHeight,borderRadius:t.borderRadius,transition:`all ${t.motionDurationMid}`},Rme(t.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:t.controlHeight,lineHeight:t.lineHeight,verticalAlign:"bottom",transition:`all ${t.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},qGe(t)),"&-sm":Object.assign({},Hme(t)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),$Ge=t=>{const{componentCls:e,antCls:n}=t;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:t.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${e}, &-lg > ${e}-group-addon`]:Object.assign({},qGe(t)),[`&-sm ${e}, &-sm > ${e}-group-addon`]:Object.assign({},Hme(t)),[`&-lg ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightLG},[`&-sm ${n}-select-single ${n}-select-selector`]:{height:t.controlHeightSM},[`> ${e}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${e}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Ut(t.paddingInline)}`,color:t.colorText,fontWeight:"normal",fontSize:t.inputFontSize,textAlign:"center",borderRadius:t.borderRadius,transition:`all ${t.motionDurationSlow}`,lineHeight:1,[`${n}-select`]:{margin:`${Ut(t.calc(t.paddingBlock).add(1).mul(-1).equal())} ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,[`&${n}-select-single:not(${n}-select-customize-input):not(${n}-pagination-size-changer)`]:{[`${n}-select-selector`]:{backgroundColor:"inherit",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${n}-select-selector`]:{color:t.colorPrimary}}},[`${n}-cascader-picker`]:{margin:`-9px ${Ut(t.calc(t.paddingInline).mul(-1).equal())}`,backgroundColor:"transparent",[`${n}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}}},[`${e}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${e}-search-with-button &`]:{zIndex:0}}},[`> ${e}:first-child, ${e}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}-affix-wrapper`]:{[`&:not(:first-child) ${e}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${e}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${e}:last-child, ${e}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${n}-select ${n}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${e}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${e}-search &`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius}},[`&:not(:first-child), ${e}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${e}-group-compact`]:Object.assign(Object.assign({display:"block"},Yk()),{[`${e}-group-addon, ${e}-group-wrap, > ${e}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:t.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` & > ${e}-affix-wrapper, & > ${e}-number-affix-wrapper, & > ${n}-picker-range @@ -4568,20 +4568,20 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho & > ${n}-cascader-picker:first-child ${e}`]:{borderStartStartRadius:t.borderRadius,borderEndStartRadius:t.borderRadius},[`& > *:last-child, & > ${n}-select:last-child > ${n}-select-selector, & > ${n}-cascader-picker:last-child ${e}, - & > ${n}-cascader-picker-focused:last-child ${e}`]:{borderInlineEndWidth:t.lineWidth,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius},[`& > ${n}-select-auto-complete ${e}`]:{verticalAlign:"top"},[`${e}-group-wrapper + ${e}-group-wrapper`]:{marginInlineStart:t.calc(t.lineWidth).mul(-1).equal(),[`${e}-affix-wrapper`]:{borderRadius:0}},[`${e}-group-wrapper:not(:last-child)`]:{[`&${e}-search > ${e}-group`]:{[`& > ${e}-group-addon > ${e}-search-button`]:{borderRadius:0},[`& > ${e}`]:{borderStartStartRadius:t.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:t.borderRadius}}}})}},xFt=t=>{const{componentCls:e,controlHeightSM:n,lineWidth:o,calc:i}=t,a=i(n).sub(i(o).mul(2)).sub(16).div(2).equal();return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),Tme(t)),Cme(t)),Pme(t)),{'&[type="color"]':{height:t.controlHeight,[`&${e}-lg`]:{height:t.controlHeightLG},[`&${e}-sm`]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},bFt=t=>{const{componentCls:e}=t;return{[`${e}-clear-icon`]:{margin:0,color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextTertiary},"&:active":{color:t.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${Ut(t.inputAffixPadding)}`}}}},SFt=t=>{const{componentCls:e,inputAffixPadding:n,colorTextDescription:o,motionDurationSlow:i,colorIcon:r,colorIconHover:a,iconCls:l}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign({},kW(t)),{display:"inline-flex",[`&:not(${e}-disabled):hover`]:{zIndex:1,[`${e}-search-with-button &`]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},[`> input${e}`]:{padding:0},[`> input${e}, > textarea${e}`]:{fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:t.paddingXS}},"&-show-count-suffix":{color:o},"&-show-count-has-suffix":{marginInlineEnd:t.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n}}}),bFt(t)),{[`${l}${e}-password-icon`]:{color:r,cursor:"pointer",transition:`all ${i}`,"&:hover":{color:a}}})}},TFt=t=>{const{componentCls:e,borderRadiusLG:n,borderRadiusSM:o}=t;return{[`${e}-group`]:Object.assign(Object.assign(Object.assign({},$a(t)),ZGe(t)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${e}-group-addon`]:{borderRadius:n,fontSize:t.inputFontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:o}}},KGe(t)),$Ge(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}-affix-wrapper`]:{borderStartEndRadius:0,borderEndEndRadius:0}}})})}},PFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-search`;return{[o]:{[`${e}`]:{"&:hover, &:focus":{borderColor:t.colorPrimaryHover,[`+ ${e}-group-addon ${o}-button:not(${n}-btn-primary)`]:{borderInlineStartColor:t.colorPrimaryHover}}},[`${e}-affix-wrapper`]:{borderRadius:0},[`${e}-lg`]:{lineHeight:t.calc(t.lineHeightLG).sub(2e-4).equal({unit:!1})},[`> ${e}-group`]:{[`> ${e}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${o}-button`]:{marginInlineEnd:-1,paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${o}-button:not(${n}-btn-primary)`]:{color:t.colorTextDescription,"&:hover":{color:t.colorPrimaryHover},"&:active":{color:t.colorPrimaryActive},[`&${n}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${o}-button`]:{height:t.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${o}-button`]:{height:t.controlHeightLG},[`&-small ${o}-button`]:{height:t.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${e}-compact-item`]:{[`&:not(${e}-compact-last-item)`]:{[`${e}-group-addon`]:{[`${e}-search-button`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal(),borderRadius:0}}},[`&:not(${e}-compact-first-item)`]:{[`${e},${e}-affix-wrapper`]:{borderRadius:0}},[`> ${e}-group-addon ${e}-search-button, + & > ${n}-cascader-picker-focused:last-child ${e}`]:{borderInlineEndWidth:t.lineWidth,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius},[`& > ${n}-select-auto-complete ${e}`]:{verticalAlign:"top"},[`${e}-group-wrapper + ${e}-group-wrapper`]:{marginInlineStart:t.calc(t.lineWidth).mul(-1).equal(),[`${e}-affix-wrapper`]:{borderRadius:0}},[`${e}-group-wrapper:not(:last-child)`]:{[`&${e}-search > ${e}-group`]:{[`& > ${e}-group-addon > ${e}-search-button`]:{borderRadius:0},[`& > ${e}`]:{borderStartStartRadius:t.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:t.borderRadius}}}})}},wFt=t=>{const{componentCls:e,controlHeightSM:n,lineWidth:o,calc:i}=t,a=i(n).sub(i(o).mul(2)).sub(16).div(2).equal();return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),Tme(t)),Cme(t)),Pme(t)),{'&[type="color"]':{height:t.controlHeight,[`&${e}-lg`]:{height:t.controlHeightLG},[`&${e}-sm`]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},vFt=t=>{const{componentCls:e}=t;return{[`${e}-clear-icon`]:{margin:0,color:t.colorTextQuaternary,fontSize:t.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextTertiary},"&:active":{color:t.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${Ut(t.inputAffixPadding)}`}}}},xFt=t=>{const{componentCls:e,inputAffixPadding:n,colorTextDescription:o,motionDurationSlow:i,colorIcon:r,colorIconHover:a,iconCls:l}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign({},kW(t)),{display:"inline-flex",[`&:not(${e}-disabled):hover`]:{zIndex:1,[`${e}-search-with-button &`]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},[`> input${e}`]:{padding:0},[`> input${e}, > textarea${e}`]:{fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:t.paddingXS}},"&-show-count-suffix":{color:o},"&-show-count-has-suffix":{marginInlineEnd:t.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n}}}),vFt(t)),{[`${l}${e}-password-icon`]:{color:r,cursor:"pointer",transition:`all ${i}`,"&:hover":{color:a}}})}},bFt=t=>{const{componentCls:e,borderRadiusLG:n,borderRadiusSM:o}=t;return{[`${e}-group`]:Object.assign(Object.assign(Object.assign({},$a(t)),$Ge(t)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${e}-group-addon`]:{borderRadius:n,fontSize:t.inputFontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:o}}},XGe(t)),KGe(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}-affix-wrapper`]:{borderStartEndRadius:0,borderEndEndRadius:0}}})})}},SFt=t=>{const{componentCls:e,antCls:n}=t,o=`${e}-search`;return{[o]:{[`${e}`]:{"&:hover, &:focus":{borderColor:t.colorPrimaryHover,[`+ ${e}-group-addon ${o}-button:not(${n}-btn-primary)`]:{borderInlineStartColor:t.colorPrimaryHover}}},[`${e}-affix-wrapper`]:{borderRadius:0},[`${e}-lg`]:{lineHeight:t.calc(t.lineHeightLG).sub(2e-4).equal({unit:!1})},[`> ${e}-group`]:{[`> ${e}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${o}-button`]:{marginInlineEnd:-1,paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:t.borderRadius,borderEndEndRadius:t.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${o}-button:not(${n}-btn-primary)`]:{color:t.colorTextDescription,"&:hover":{color:t.colorPrimaryHover},"&:active":{color:t.colorPrimaryActive},[`&${n}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${o}-button`]:{height:t.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${o}-button`]:{height:t.controlHeightLG},[`&-small ${o}-button`]:{height:t.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${e}-compact-item`]:{[`&:not(${e}-compact-last-item)`]:{[`${e}-group-addon`]:{[`${e}-search-button`]:{marginInlineEnd:t.calc(t.lineWidth).mul(-1).equal(),borderRadius:0}}},[`&:not(${e}-compact-first-item)`]:{[`${e},${e}-affix-wrapper`]:{borderRadius:0}},[`> ${e}-group-addon ${e}-search-button, > ${e}, - ${e}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${e}-affix-wrapper-focused`]:{zIndex:2}}}}},CFt=t=>{const{componentCls:e,paddingLG:n}=t,o=`${e}-textarea`;return{[o]:{position:"relative","&-show-count":{[`> ${e}`]:{height:"100%"},[`${e}-data-count`]:{position:"absolute",bottom:t.calc(t.fontSize).mul(t.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:t.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${o}-has-feedback`]:{[`${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${e}-affix-wrapper`]:{padding:0,[`> textarea${e}`]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},[`${e}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${e}-clear-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,insetBlockStart:t.paddingXS},[`${o}-suffix`]:{position:"absolute",top:0,insetInlineEnd:t.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},RFt=t=>{const{componentCls:e}=t;return{[`${e}-out-of-range`]:{[`&, & input, & textarea, ${e}-show-count-suffix, ${e}-data-count`]:{color:t.colorError}}}},Mme=Fl("Input",t=>{const e=Zr(t,DW(t));return[xFt(e),CFt(e),SFt(e),TFt(e),PFt(e),RFt(e),vW(e)]},EW,{resetFont:!1}),Uie=(t,e)=>{const{componentCls:n,controlHeight:o}=t,i=e?`${n}-${e}`:"",r=RVe(t);return[{[`${n}-multiple${i}`]:{paddingBlock:r.containerPadding,paddingInlineStart:r.basePadding,minHeight:o,[`${n}-selection-item`]:{height:r.itemHeight,lineHeight:Ut(r.itemLineHeight)}}}]},HFt=t=>{const{componentCls:e,calc:n,lineWidth:o}=t,i=Zr(t,{fontHeight:t.fontSize,selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS,controlHeight:t.controlHeightSM}),r=Zr(t,{fontHeight:n(t.multipleItemHeightLG).sub(n(o).mul(2).equal()).equal(),fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius,controlHeight:t.controlHeightLG});return[Uie(i,"small"),Uie(t),Uie(r,"large"),{[`${e}${e}-multiple`]:Object.assign(Object.assign({width:"100%",cursor:"text",[`${e}-selector`]:{flex:"auto",padding:0,position:"relative","&:after":{margin:0},[`${e}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:0,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}}},HVe(t)),{[`${e}-multiple-input`]:{width:0,height:0,border:0,visibility:"hidden",position:"absolute",zIndex:-1}})}]},MFt=t=>{const{pickerCellCls:e,pickerCellInnerCls:n,cellHeight:o,borderRadiusSM:i,motionDurationMid:r,cellHoverBg:a,lineWidth:l,lineType:s,colorPrimary:c,cellActiveWithRangeBg:u,colorTextLightSolid:d,colorTextDisabled:f,cellBgDisabled:p,colorFillSecondary:g}=t;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:o,transform:"translateY(-50%)",content:'""'},[n]:{position:"relative",zIndex:2,display:"inline-block",minWidth:o,height:o,lineHeight:Ut(o),borderRadius:i,transition:`background ${r}`},[`&:hover:not(${e}-in-view), + ${e}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${e}-affix-wrapper-focused`]:{zIndex:2}}}}},TFt=t=>{const{componentCls:e,paddingLG:n}=t,o=`${e}-textarea`;return{[o]:{position:"relative","&-show-count":{[`> ${e}`]:{height:"100%"},[`${e}-data-count`]:{position:"absolute",bottom:t.calc(t.fontSize).mul(t.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:t.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${o}-has-feedback`]:{[`${e}`]:{paddingInlineEnd:n}},[`&-affix-wrapper${e}-affix-wrapper`]:{padding:0,[`> textarea${e}`]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},[`${e}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${e}-clear-icon`]:{position:"absolute",insetInlineEnd:t.paddingXS,insetBlockStart:t.paddingXS},[`${o}-suffix`]:{position:"absolute",top:0,insetInlineEnd:t.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},PFt=t=>{const{componentCls:e}=t;return{[`${e}-out-of-range`]:{[`&, & input, & textarea, ${e}-show-count-suffix, ${e}-data-count`]:{color:t.colorError}}}},Mme=Fl("Input",t=>{const e=Zr(t,DW(t));return[wFt(e),TFt(e),xFt(e),bFt(e),SFt(e),PFt(e),vW(e)]},EW,{resetFont:!1}),Uie=(t,e)=>{const{componentCls:n,controlHeight:o}=t,i=e?`${n}-${e}`:"",r=PVe(t);return[{[`${n}-multiple${i}`]:{paddingBlock:r.containerPadding,paddingInlineStart:r.basePadding,minHeight:o,[`${n}-selection-item`]:{height:r.itemHeight,lineHeight:Ut(r.itemLineHeight)}}}]},CFt=t=>{const{componentCls:e,calc:n,lineWidth:o}=t,i=Zr(t,{fontHeight:t.fontSize,selectHeight:t.controlHeightSM,multipleSelectItemHeight:t.multipleItemHeightSM,borderRadius:t.borderRadiusSM,borderRadiusSM:t.borderRadiusXS,controlHeight:t.controlHeightSM}),r=Zr(t,{fontHeight:n(t.multipleItemHeightLG).sub(n(o).mul(2).equal()).equal(),fontSize:t.fontSizeLG,selectHeight:t.controlHeightLG,multipleSelectItemHeight:t.multipleItemHeightLG,borderRadius:t.borderRadiusLG,borderRadiusSM:t.borderRadius,controlHeight:t.controlHeightLG});return[Uie(i,"small"),Uie(t),Uie(r,"large"),{[`${e}${e}-multiple`]:Object.assign(Object.assign({width:"100%",cursor:"text",[`${e}-selector`]:{flex:"auto",padding:0,position:"relative","&:after":{margin:0},[`${e}-selection-placeholder`]:{position:"absolute",top:"50%",insetInlineStart:t.inputPaddingHorizontalBase,insetInlineEnd:0,transform:"translateY(-50%)",transition:`all ${t.motionDurationSlow}`,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",flex:1,color:t.colorTextPlaceholder,pointerEvents:"none"}}},CVe(t)),{[`${e}-multiple-input`]:{width:0,height:0,border:0,visibility:"hidden",position:"absolute",zIndex:-1}})}]},RFt=t=>{const{pickerCellCls:e,pickerCellInnerCls:n,cellHeight:o,borderRadiusSM:i,motionDurationMid:r,cellHoverBg:a,lineWidth:l,lineType:s,colorPrimary:c,cellActiveWithRangeBg:u,colorTextLightSolid:d,colorTextDisabled:f,cellBgDisabled:p,colorFillSecondary:g}=t;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:o,transform:"translateY(-50%)",content:'""'},[n]:{position:"relative",zIndex:2,display:"inline-block",minWidth:o,height:o,lineHeight:Ut(o),borderRadius:i,transition:`background ${r}`},[`&:hover:not(${e}-in-view), &:hover:not(${e}-selected):not(${e}-range-start):not(${e}-range-end)`]:{[n]:{background:a}},[`&-in-view${e}-today ${n}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${Ut(l)} ${s} ${c}`,borderRadius:i,content:'""'}},[`&-in-view${e}-in-range, &-in-view${e}-range-start, &-in-view${e}-range-end`]:{position:"relative",[`&:not(${e}-disabled):before`]:{background:u}},[`&-in-view${e}-selected, &-in-view${e}-range-start, - &-in-view${e}-range-end`]:{[`&:not(${e}-disabled) ${n}`]:{color:d,background:c},[`&${e}-disabled ${n}`]:{background:g}},[`&-in-view${e}-range-start:not(${e}-disabled):before`]:{insetInlineStart:"50%"},[`&-in-view${e}-range-end:not(${e}-disabled):before`]:{insetInlineEnd:"50%"},[`&-in-view${e}-range-start:not(${e}-range-end) ${n}`]:{borderStartStartRadius:i,borderEndStartRadius:i,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${e}-range-end:not(${e}-range-start) ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i},"&-disabled":{color:f,pointerEvents:"none",[n]:{background:"transparent"},"&::before":{background:p}},[`&-disabled${e}-today ${n}::before`]:{borderColor:f}}},IFt=t=>{const{componentCls:e,pickerCellCls:n,pickerCellInnerCls:o,pickerYearMonthCellWidth:i,pickerControlIconSize:r,cellWidth:a,paddingSM:l,paddingXS:s,paddingXXS:c,colorBgContainer:u,lineWidth:d,lineType:f,borderRadiusLG:p,colorPrimary:g,colorTextHeading:A,colorSplit:w,pickerControlIconBorderWidth:b,colorIcon:C,textHeight:P,motionDurationMid:v,colorIconHover:T,fontWeightStrong:y,cellHeight:S,pickerCellPaddingVertical:x,colorTextDisabled:R,colorText:H,fontSize:D,motionDurationSlow:k,withoutTimeCellHeight:W,pickerQuarterPanelContentHeight:N,borderRadiusSM:L,colorTextLightSolid:E,cellHoverBg:U,timeColumnHeight:F,timeColumnWidth:B,timeCellHeight:_,controlItemBgActive:Y,marginXXS:O,pickerDatePanelPaddingHorizontal:J,pickerControlIconMargin:Z}=t,ie=t.calc(a).mul(7).add(t.calc(J).mul(2)).equal();return{[e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:u,borderRadius:p,outline:"none","&-focused":{borderColor:g},"&-rtl":{direction:"rtl",[`${e}-prev-icon, + &-in-view${e}-range-end`]:{[`&:not(${e}-disabled) ${n}`]:{color:d,background:c},[`&${e}-disabled ${n}`]:{background:g}},[`&-in-view${e}-range-start:not(${e}-disabled):before`]:{insetInlineStart:"50%"},[`&-in-view${e}-range-end:not(${e}-disabled):before`]:{insetInlineEnd:"50%"},[`&-in-view${e}-range-start:not(${e}-range-end) ${n}`]:{borderStartStartRadius:i,borderEndStartRadius:i,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${e}-range-end:not(${e}-range-start) ${n}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i},"&-disabled":{color:f,pointerEvents:"none",[n]:{background:"transparent"},"&::before":{background:p}},[`&-disabled${e}-today ${n}::before`]:{borderColor:f}}},HFt=t=>{const{componentCls:e,pickerCellCls:n,pickerCellInnerCls:o,pickerYearMonthCellWidth:i,pickerControlIconSize:r,cellWidth:a,paddingSM:l,paddingXS:s,paddingXXS:c,colorBgContainer:u,lineWidth:d,lineType:f,borderRadiusLG:p,colorPrimary:g,colorTextHeading:A,colorSplit:w,pickerControlIconBorderWidth:b,colorIcon:C,textHeight:P,motionDurationMid:v,colorIconHover:T,fontWeightStrong:y,cellHeight:S,pickerCellPaddingVertical:x,colorTextDisabled:R,colorText:H,fontSize:D,motionDurationSlow:k,withoutTimeCellHeight:W,pickerQuarterPanelContentHeight:N,borderRadiusSM:L,colorTextLightSolid:E,cellHoverBg:U,timeColumnHeight:F,timeColumnWidth:B,timeCellHeight:_,controlItemBgActive:Y,marginXXS:O,pickerDatePanelPaddingHorizontal:J,pickerControlIconMargin:Z}=t,ie=t.calc(a).mul(7).add(t.calc(J).mul(2)).equal();return{[e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:u,borderRadius:p,outline:"none","&-focused":{borderColor:g},"&-rtl":{direction:"rtl",[`${e}-prev-icon, ${e}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${e}-next-icon, - ${e}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:ie},"&-header":{display:"flex",padding:`0 ${Ut(s)}`,color:A,borderBottom:`${Ut(d)} ${f} ${w}`,"> *":{flex:"none"},button:{padding:0,color:C,lineHeight:Ut(P),background:"transparent",border:0,cursor:"pointer",transition:`color ${v}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:D,"&:hover":{color:T},"&:disabled":{opacity:.25,pointerEvents:"none"}},"&-view":{flex:"auto",fontWeight:y,lineHeight:Ut(P),button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:s},"&:hover":{color:g}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:r,height:r,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(b)} 0`,borderInlineWidth:`${Ut(b)} 0`,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Z,insetInlineStart:Z,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(b)} 0`,borderInlineWidth:`${Ut(b)} 0`,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:S,fontWeight:"normal"},th:{height:t.calc(S).add(t.calc(x).mul(2)).equal(),color:H,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ut(x)} 0`,color:R,cursor:"pointer","&-in-view":{color:H}},MFt(t)),"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-content`]:{height:t.calc(W).mul(4).equal()},[o]:{padding:`0 ${Ut(s)}`}},"&-quarter-panel":{[`${e}-content`]:{height:N}},"&-decade-panel":{[o]:{padding:`0 ${Ut(t.calc(s).div(2).equal())}`},[`${e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-body`]:{padding:`0 ${Ut(s)}`},[o]:{width:i}},"&-date-panel":{[`${e}-body`]:{padding:`${Ut(s)} ${Ut(J)}`},[`${e}-content th`]:{boxSizing:"border-box",padding:0}},"&-week-panel":{[`${e}-cell`]:{[`&:hover ${o}, + ${e}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:ie},"&-header":{display:"flex",padding:`0 ${Ut(s)}`,color:A,borderBottom:`${Ut(d)} ${f} ${w}`,"> *":{flex:"none"},button:{padding:0,color:C,lineHeight:Ut(P),background:"transparent",border:0,cursor:"pointer",transition:`color ${v}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:D,"&:hover":{color:T},"&:disabled":{opacity:.25,pointerEvents:"none"}},"&-view":{flex:"auto",fontWeight:y,lineHeight:Ut(P),button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:s},"&:hover":{color:g}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:r,height:r,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(b)} 0`,borderInlineWidth:`${Ut(b)} 0`,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Z,insetInlineStart:Z,display:"inline-block",width:r,height:r,border:"0 solid currentcolor",borderBlockWidth:`${Ut(b)} 0`,borderInlineWidth:`${Ut(b)} 0`,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:S,fontWeight:"normal"},th:{height:t.calc(S).add(t.calc(x).mul(2)).equal(),color:H,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ut(x)} 0`,color:R,cursor:"pointer","&-in-view":{color:H}},RFt(t)),"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-content`]:{height:t.calc(W).mul(4).equal()},[o]:{padding:`0 ${Ut(s)}`}},"&-quarter-panel":{[`${e}-content`]:{height:N}},"&-decade-panel":{[o]:{padding:`0 ${Ut(t.calc(s).div(2).equal())}`},[`${e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${e}-body`]:{padding:`0 ${Ut(s)}`},[o]:{width:i}},"&-date-panel":{[`${e}-body`]:{padding:`${Ut(s)} ${Ut(J)}`},[`${e}-content th`]:{boxSizing:"border-box",padding:0}},"&-week-panel":{[`${e}-cell`]:{[`&:hover ${o}, &-selected ${o}, ${o}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${v}`},"&:first-child:before":{borderStartStartRadius:L,borderEndStartRadius:L},"&:last-child:before":{borderStartEndRadius:L,borderEndEndRadius:L}},"&:hover td":{"&:before":{background:U}},"&-range-start td,\n &-range-end td,\n &-selected td,\n &-hover td":{[`&${n}`]:{"&:before":{background:g},[`&${e}-cell-week`]:{color:new Il(E).setAlpha(.5).toHexString()},[o]:{color:E}}},"&-range-hover td:before":{background:Y}}},"&-week-panel, &-date-panel-show-week":{[`${e}-body`]:{padding:`${Ut(s)} ${Ut(l)}`},[`${e}-content th`]:{width:"auto"}},"&-datetime-panel":{display:"flex",[`${e}-time-panel`]:{borderInlineStart:`${Ut(d)} ${f} ${w}`},[`${e}-date-panel, ${e}-time-panel`]:{transition:`opacity ${k}`},"&-active":{[`${e}-date-panel, - ${e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${e}-content`]:{display:"flex",flex:"auto",height:F},"&-column":{flex:"1 0 auto",width:B,margin:`${Ut(c)} 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${v}`,overflowX:"hidden","&::-webkit-scrollbar":{width:8,backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:t.colorTextTertiary,borderRadius:t.borderRadiusSM},"&":{scrollbarWidth:"thin",scrollbarColor:`${t.colorTextTertiary} transparent`},"&::after":{display:"block",height:t.calc("100%").sub(_).equal(),content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ut(d)} ${f} ${w}`},"&-active":{background:new Il(Y).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${e}-time-panel-cell`]:{marginInline:O,[`${e}-time-panel-cell-inner`]:{display:"block",width:t.calc(B).sub(t.calc(O).mul(2)).equal(),height:_,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:t.calc(B).sub(_).div(2).equal(),color:H,lineHeight:Ut(_),borderRadius:L,cursor:"pointer",transition:`background ${v}`,"&:hover":{background:U}},"&-selected":{[`${e}-time-panel-cell-inner`]:{background:Y}},"&-disabled":{[`${e}-time-panel-cell-inner`]:{color:R,background:"transparent",cursor:"not-allowed"}}}}}}}}},zFt=t=>{const{componentCls:e,textHeight:n,lineWidth:o,paddingSM:i,antCls:r,colorPrimary:a,cellActiveWithRangeBg:l,colorPrimaryBorder:s,lineType:c,colorSplit:u}=t;return{[`${e}-dropdown`]:{[`${e}-footer`]:{borderTop:`${Ut(o)} ${c} ${u}`,"&-extra":{padding:`0 ${Ut(i)}`,lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),textAlign:"start","&:not(:last-child)":{borderBottom:`${Ut(o)} ${c} ${u}`}}},[`${e}-panels + ${e}-footer ${e}-ranges`]:{justifyContent:"space-between"},[`${e}-ranges`]:{marginBlock:0,paddingInline:Ut(i),overflow:"hidden",textAlign:"start",listStyle:"none",display:"flex",justifyContent:"center",alignItems:"center","> li":{lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),display:"inline-block"},[`${e}-now-btn-disabled`]:{pointerEvents:"none",color:t.colorTextDisabled},[`${e}-preset > ${r}-tag-blue`]:{color:a,background:l,borderColor:s,cursor:"pointer"},[`${e}-ok`]:{paddingBlock:t.calc(o).mul(2).equal(),marginInlineStart:"auto"}}}}},DFt=t=>{const{componentCls:e,controlHeightLG:n,paddingXXS:o,padding:i}=t;return{pickerCellCls:`${e}-cell`,pickerCellInnerCls:`${e}-cell-inner`,pickerYearMonthCellWidth:t.calc(n).mul(1.5).equal(),pickerQuarterPanelContentHeight:t.calc(n).mul(1.4).equal(),pickerCellPaddingVertical:t.calc(o).add(t.calc(o).div(2)).equal(),pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconMargin:4,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:t.calc(i).add(t.calc(o).div(2)).equal()}},EFt=t=>{const{colorBgContainerDisabled:e,controlHeight:n,controlHeightSM:o,controlHeightLG:i,paddingXXS:r,lineWidth:a}=t,l=r*2,s=a*2,c=Math.min(n-l,n-s),u=Math.min(o-l,o-s),d=Math.min(i-l,i-s);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(r/2),cellHoverBg:t.controlItemBgHover,cellActiveWithRangeBg:t.controlItemBgActive,cellHoverWithRangeBg:new Il(t.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Il(t.colorPrimary).lighten(20).toHexString(),cellBgDisabled:e,timeColumnWidth:i*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:o*1.5,cellHeight:o,textHeight:i,withoutTimeCellHeight:i*1.65,multipleItemBg:t.colorFillSecondary,multipleItemBorderColor:"transparent",multipleItemHeight:c,multipleItemHeightSM:u,multipleItemHeightLG:d,multipleSelectorBgDisabled:e,multipleItemColorDisabled:t.colorTextDisabled,multipleItemBorderColorDisabled:"transparent"}},kFt=t=>Object.assign(Object.assign(Object.assign(Object.assign({},EW(t)),EFt(t)),b$(t)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:t.zIndexPopupBase+50}),FFt=t=>{const{componentCls:e}=t;return{[e]:[Object.assign(Object.assign(Object.assign({},Tme(t)),Cme(t)),Pme(t)),{"&-outlined":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}},"&-filled":{[`&${e}-multiple ${e}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}},"&-borderless":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}]}},Bie=(t,e,n,o)=>{const i=t.calc(n).add(2).equal(),r=t.max(t.calc(e).sub(i).div(2).equal(),0),a=t.max(t.calc(e).sub(i).sub(r).equal(),0);return{padding:`${Ut(r)} ${Ut(o)} ${Ut(a)}`}},LFt=t=>{const{componentCls:e,colorError:n,colorWarning:o}=t;return{[`${e}:not(${e}-disabled):not([disabled])`]:{[`&${e}-status-error`]:{[`${e}-active-bar`]:{background:n}},[`&${e}-status-warning`]:{[`${e}-active-bar`]:{background:o}}}}},WFt=t=>{const{componentCls:e,antCls:n,controlHeight:o,paddingInline:i,lineWidth:r,lineType:a,colorBorder:l,borderRadius:s,motionDurationMid:c,colorTextDisabled:u,colorTextPlaceholder:d,controlHeightLG:f,fontSizeLG:p,controlHeightSM:g,paddingInlineSM:A,paddingXS:w,marginXS:b,colorTextDescription:C,lineWidthBold:P,colorPrimary:v,motionDurationSlow:T,zIndexPopup:y,paddingXXS:S,sizePopupArrow:x,colorBgElevated:R,borderRadiusLG:H,boxShadowSecondary:D,borderRadiusSM:k,colorSplit:W,cellHoverBg:N,presetsWidth:L,presetsMaxWidth:E,boxShadowPopoverArrow:U,fontHeight:F,fontHeightLG:B,lineHeightLG:_}=t;return[{[e]:Object.assign(Object.assign(Object.assign({},$a(t)),Bie(t,o,F,i)),{position:"relative",display:"inline-flex",alignItems:"center",lineHeight:1,borderRadius:s,transition:`border ${c}, box-shadow ${c}, background ${c}`,[`${e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",color:"inherit",fontSize:t.fontSize,lineHeight:t.lineHeight,transition:`all ${c}`},Rme(d)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,fontFamily:"inherit","&:focus":{boxShadow:"none",outline:0},"&[disabled]":{background:"transparent",color:u,cursor:"not-allowed"}}),"&-placeholder":{"> input":{color:d}}},"&-large":Object.assign(Object.assign({},Bie(t,f,B,i)),{[`${e}-input > input`]:{fontSize:p,lineHeight:_}}),"&-small":Object.assign({},Bie(t,g,F,A)),[`${e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:t.calc(w).div(2).equal(),color:u,lineHeight:1,pointerEvents:"none",transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:b}}},[`${e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:u,lineHeight:1,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top"},"&:hover":{color:C}},"&:hover":{[`${e}-clear`]:{opacity:1},[`${e}-suffix:not(:last-child)`]:{opacity:0}},[`${e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:p,color:u,fontSize:p,verticalAlign:"top",cursor:"default",[`${e}-focused &`]:{color:C},[`${e}-range-separator &`]:{[`${e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${e}-active-bar`]:{bottom:t.calc(r).mul(-1).equal(),height:P,background:v,opacity:0,transition:`all ${T} ease-out`,pointerEvents:"none"},[`&${e}-focused`]:{[`${e}-active-bar`]:{opacity:1}},[`${e}-range-separator`]:{alignItems:"center",padding:`0 ${Ut(w)}`,lineHeight:1}},"&-range, &-multiple":{[`${e}-clear`]:{insetInlineEnd:i},[`&${e}-small`]:{[`${e}-clear`]:{insetInlineEnd:A}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},$a(t)),IFt(t)),{pointerEvents:"none",position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:y,[`&${e}-dropdown-hidden`]:{display:"none"},[`&${e}-dropdown-placement-bottomLeft`]:{[`${e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${e}-dropdown-placement-topLeft`]:{[`${e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-topLeft, + ${e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${e}-content`]:{display:"flex",flex:"auto",height:F},"&-column":{flex:"1 0 auto",width:B,margin:`${Ut(c)} 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${v}`,overflowX:"hidden","&::-webkit-scrollbar":{width:8,backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:t.colorTextTertiary,borderRadius:t.borderRadiusSM},"&":{scrollbarWidth:"thin",scrollbarColor:`${t.colorTextTertiary} transparent`},"&::after":{display:"block",height:t.calc("100%").sub(_).equal(),content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ut(d)} ${f} ${w}`},"&-active":{background:new Il(Y).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${e}-time-panel-cell`]:{marginInline:O,[`${e}-time-panel-cell-inner`]:{display:"block",width:t.calc(B).sub(t.calc(O).mul(2)).equal(),height:_,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:t.calc(B).sub(_).div(2).equal(),color:H,lineHeight:Ut(_),borderRadius:L,cursor:"pointer",transition:`background ${v}`,"&:hover":{background:U}},"&-selected":{[`${e}-time-panel-cell-inner`]:{background:Y}},"&-disabled":{[`${e}-time-panel-cell-inner`]:{color:R,background:"transparent",cursor:"not-allowed"}}}}}}}}},MFt=t=>{const{componentCls:e,textHeight:n,lineWidth:o,paddingSM:i,antCls:r,colorPrimary:a,cellActiveWithRangeBg:l,colorPrimaryBorder:s,lineType:c,colorSplit:u}=t;return{[`${e}-dropdown`]:{[`${e}-footer`]:{borderTop:`${Ut(o)} ${c} ${u}`,"&-extra":{padding:`0 ${Ut(i)}`,lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),textAlign:"start","&:not(:last-child)":{borderBottom:`${Ut(o)} ${c} ${u}`}}},[`${e}-panels + ${e}-footer ${e}-ranges`]:{justifyContent:"space-between"},[`${e}-ranges`]:{marginBlock:0,paddingInline:Ut(i),overflow:"hidden",textAlign:"start",listStyle:"none",display:"flex",justifyContent:"center",alignItems:"center","> li":{lineHeight:Ut(t.calc(n).sub(t.calc(o).mul(2)).equal()),display:"inline-block"},[`${e}-now-btn-disabled`]:{pointerEvents:"none",color:t.colorTextDisabled},[`${e}-preset > ${r}-tag-blue`]:{color:a,background:l,borderColor:s,cursor:"pointer"},[`${e}-ok`]:{paddingBlock:t.calc(o).mul(2).equal(),marginInlineStart:"auto"}}}}},IFt=t=>{const{componentCls:e,controlHeightLG:n,paddingXXS:o,padding:i}=t;return{pickerCellCls:`${e}-cell`,pickerCellInnerCls:`${e}-cell-inner`,pickerYearMonthCellWidth:t.calc(n).mul(1.5).equal(),pickerQuarterPanelContentHeight:t.calc(n).mul(1.4).equal(),pickerCellPaddingVertical:t.calc(o).add(t.calc(o).div(2)).equal(),pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconMargin:4,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:t.calc(i).add(t.calc(o).div(2)).equal()}},zFt=t=>{const{colorBgContainerDisabled:e,controlHeight:n,controlHeightSM:o,controlHeightLG:i,paddingXXS:r,lineWidth:a}=t,l=r*2,s=a*2,c=Math.min(n-l,n-s),u=Math.min(o-l,o-s),d=Math.min(i-l,i-s);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(r/2),cellHoverBg:t.controlItemBgHover,cellActiveWithRangeBg:t.controlItemBgActive,cellHoverWithRangeBg:new Il(t.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Il(t.colorPrimary).lighten(20).toHexString(),cellBgDisabled:e,timeColumnWidth:i*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:o*1.5,cellHeight:o,textHeight:i,withoutTimeCellHeight:i*1.65,multipleItemBg:t.colorFillSecondary,multipleItemBorderColor:"transparent",multipleItemHeight:c,multipleItemHeightSM:u,multipleItemHeightLG:d,multipleSelectorBgDisabled:e,multipleItemColorDisabled:t.colorTextDisabled,multipleItemBorderColorDisabled:"transparent"}},DFt=t=>Object.assign(Object.assign(Object.assign(Object.assign({},EW(t)),zFt(t)),b$(t)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:t.zIndexPopupBase+50}),EFt=t=>{const{componentCls:e}=t;return{[e]:[Object.assign(Object.assign(Object.assign({},Tme(t)),Cme(t)),Pme(t)),{"&-outlined":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}},"&-filled":{[`&${e}-multiple ${e}-selection-item`]:{background:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`}},"&-borderless":{[`&${e}-multiple ${e}-selection-item`]:{background:t.multipleItemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.multipleItemBorderColor}`}}}]}},Bie=(t,e,n,o)=>{const i=t.calc(n).add(2).equal(),r=t.max(t.calc(e).sub(i).div(2).equal(),0),a=t.max(t.calc(e).sub(i).sub(r).equal(),0);return{padding:`${Ut(r)} ${Ut(o)} ${Ut(a)}`}},kFt=t=>{const{componentCls:e,colorError:n,colorWarning:o}=t;return{[`${e}:not(${e}-disabled):not([disabled])`]:{[`&${e}-status-error`]:{[`${e}-active-bar`]:{background:n}},[`&${e}-status-warning`]:{[`${e}-active-bar`]:{background:o}}}}},FFt=t=>{const{componentCls:e,antCls:n,controlHeight:o,paddingInline:i,lineWidth:r,lineType:a,colorBorder:l,borderRadius:s,motionDurationMid:c,colorTextDisabled:u,colorTextPlaceholder:d,controlHeightLG:f,fontSizeLG:p,controlHeightSM:g,paddingInlineSM:A,paddingXS:w,marginXS:b,colorTextDescription:C,lineWidthBold:P,colorPrimary:v,motionDurationSlow:T,zIndexPopup:y,paddingXXS:S,sizePopupArrow:x,colorBgElevated:R,borderRadiusLG:H,boxShadowSecondary:D,borderRadiusSM:k,colorSplit:W,cellHoverBg:N,presetsWidth:L,presetsMaxWidth:E,boxShadowPopoverArrow:U,fontHeight:F,fontHeightLG:B,lineHeightLG:_}=t;return[{[e]:Object.assign(Object.assign(Object.assign({},$a(t)),Bie(t,o,F,i)),{position:"relative",display:"inline-flex",alignItems:"center",lineHeight:1,borderRadius:s,transition:`border ${c}, box-shadow ${c}, background ${c}`,[`${e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",color:"inherit",fontSize:t.fontSize,lineHeight:t.lineHeight,transition:`all ${c}`},Rme(d)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,fontFamily:"inherit","&:focus":{boxShadow:"none",outline:0},"&[disabled]":{background:"transparent",color:u,cursor:"not-allowed"}}),"&-placeholder":{"> input":{color:d}}},"&-large":Object.assign(Object.assign({},Bie(t,f,B,i)),{[`${e}-input > input`]:{fontSize:p,lineHeight:_}}),"&-small":Object.assign({},Bie(t,g,F,A)),[`${e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:t.calc(w).div(2).equal(),color:u,lineHeight:1,pointerEvents:"none",transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:b}}},[`${e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:u,lineHeight:1,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${c}, color ${c}`,"> *":{verticalAlign:"top"},"&:hover":{color:C}},"&:hover":{[`${e}-clear`]:{opacity:1},[`${e}-suffix:not(:last-child)`]:{opacity:0}},[`${e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:p,color:u,fontSize:p,verticalAlign:"top",cursor:"default",[`${e}-focused &`]:{color:C},[`${e}-range-separator &`]:{[`${e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${e}-active-bar`]:{bottom:t.calc(r).mul(-1).equal(),height:P,background:v,opacity:0,transition:`all ${T} ease-out`,pointerEvents:"none"},[`&${e}-focused`]:{[`${e}-active-bar`]:{opacity:1}},[`${e}-range-separator`]:{alignItems:"center",padding:`0 ${Ut(w)}`,lineHeight:1}},"&-range, &-multiple":{[`${e}-clear`]:{insetInlineEnd:i},[`&${e}-small`]:{[`${e}-clear`]:{insetInlineEnd:A}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},$a(t)),HFt(t)),{pointerEvents:"none",position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:y,[`&${e}-dropdown-hidden`]:{display:"none"},[`&${e}-dropdown-placement-bottomLeft`]:{[`${e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${e}-dropdown-placement-topLeft`]:{[`${e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-topLeft, &${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-topRight, &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-topLeft, &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-topRight`]:{animationName:g$},[`&${n}-slide-up-enter${n}-slide-up-enter-active${e}-dropdown-placement-bottomLeft, @@ -4589,23 +4589,23 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-bottomLeft, &${n}-slide-up-appear${n}-slide-up-appear-active${e}-dropdown-placement-bottomRight`]:{animationName:h$},[`&${n}-slide-up-leave ${e}-panel-container`]:{pointerEvents:"none"},[`&${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-topLeft, &${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-topRight`]:{animationName:m$},[`&${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-bottomLeft, - &${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-bottomRight`]:{animationName:p$},[`${e}-panel > ${e}-time-panel`]:{paddingTop:S},[`${e}-range-wrapper`]:{display:"flex",position:"relative"},[`${e}-range-arrow`]:Object.assign(Object.assign({position:"absolute",zIndex:1,display:"none",paddingInline:t.calc(i).mul(1.5).equal(),boxSizing:"content-box",transition:`left ${T} ease-out`},NVe(t,R,U)),{"&:before":{insetInlineStart:t.calc(i).mul(1.5).equal()}}),[`${e}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:R,borderRadius:H,boxShadow:D,transition:`margin ${T}`,display:"inline-block",pointerEvents:"auto",[`${e}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${e}-presets`]:{display:"flex",flexDirection:"column",minWidth:L,maxWidth:E,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:w,borderInlineEnd:`${Ut(r)} ${a} ${W}`,li:Object.assign(Object.assign({},Yx),{borderRadius:k,paddingInline:w,paddingBlock:t.calc(g).sub(F).div(2).equal(),cursor:"pointer",transition:`all ${T}`,"+ li":{marginTop:b},"&:hover":{background:N}})}},[`${e}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr","&:last-child":{[`${e}-panel`]:{borderWidth:0}}},[`${e}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${e}-content, - table`]:{textAlign:"center"},"&-focused":{borderColor:l}}}}),"&-dropdown-range":{padding:`${Ut(t.calc(x).mul(2).div(3).equal())} 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${e}-separator`]:{transform:"rotate(180deg)"},[`${e}-footer`]:{"&-extra":{direction:"rtl"}}}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},eXe=Fl("DatePicker",t=>{const e=Zr(DW(t),DFt(t),{inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[zFt(e),WFt(e),FFt(e),LFt(e),HFt(e),vW(t,{focusElCls:`${t.componentCls}-focused`})]},kFt);var NFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},UFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:NFt}))},BFt=m.forwardRef(UFt),jFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},YFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:jFt}))},OFt=m.forwardRef(YFt);function A9(){return A9=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function MG(t,e){if(t==null)return{};var n=KFt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}const k$=m.createContext(null);function qFt(t){if(Array.isArray(t))return W0e(t)}function $Ft(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function QFt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Eve(t){return qFt(t)||$Ft(t)||tXe(t)||QFt()}var ZFt=function(e){var n=e.activeTabOffset,o=e.horizontal,i=e.rtl,r=e.indicator,a=r===void 0?{}:r,l=a.size,s=a.align,c=s===void 0?"center":s,u=m.useState(),d=Lc(u,2),f=d[0],p=d[1],g=m.useRef(),A=be.useCallback(function(b){return typeof l=="function"?l(b):typeof l=="number"?l:b},[l]);function w(){za.cancel(g.current)}return m.useEffect(function(){var b={};if(n)if(o){b.width=A(n.width);var C=i?"right":"left";c==="start"&&(b[C]=n[C]),c==="center"&&(b[C]=n[C]+n.width/2,b.transform=i?"translateX(50%)":"translateX(-50%)"),c==="end"&&(b[C]=n[C]+n.width,b.transform="translateX(-100%)")}else b.height=A(n.height),c==="start"&&(b.top=n.top),c==="center"&&(b.top=n.top+n.height/2,b.transform="translateY(-50%)"),c==="end"&&(b.top=n.top+n.height,b.transform="translateY(-100%)");return w(),g.current=za(function(){p(b)}),w},[n,o,i,c,A]),{style:f}},kve={width:0,height:0,left:0,top:0};function eLt(t,e,n){return m.useMemo(function(){for(var o,i=new Map,r=e.get((o=t[0])===null||o===void 0?void 0:o.key)||kve,a=r.left+r.width,l=0;lN?(k=H,y.current="x"):(k=D,y.current="y"),e(-k,-k)&&R.preventDefault()}var x=m.useRef(null);x.current={onTouchStart:P,onTouchMove:v,onTouchEnd:T,onWheel:S},m.useEffect(function(){function R(W){x.current.onTouchStart(W)}function H(W){x.current.onTouchMove(W)}function D(W){x.current.onTouchEnd(W)}function k(W){x.current.onWheel(W)}return document.addEventListener("touchmove",H,{passive:!1}),document.addEventListener("touchend",D,{passive:!1}),t.current.addEventListener("touchstart",R,{passive:!1}),t.current.addEventListener("wheel",k),function(){document.removeEventListener("touchmove",H),document.removeEventListener("touchend",D)}},[])}function nXe(t){var e=m.useState(0),n=Lc(e,2),o=n[0],i=n[1],r=m.useRef(0),a=m.useRef();return a.current=t,sx(function(){var l;(l=a.current)===null||l===void 0||l.call(a)},[o]),function(){r.current===o&&(r.current+=1,i(r.current))}}function oLt(t){var e=m.useRef([]),n=m.useState({}),o=Lc(n,2),i=o[1],r=m.useRef(typeof t=="function"?t():t),a=nXe(function(){var s=r.current;e.current.forEach(function(c){s=c(s)}),e.current=[],r.current=s,i({})});function l(s){e.current.push(s),a()}return[r.current,l]}var Nve={width:0,height:0,left:0,top:0,right:0};function iLt(t,e,n,o,i,r,a){var l=a.tabs,s=a.tabPosition,c=a.rtl,u,d,f;return["top","bottom"].includes(s)?(u="width",d=c?"right":"left",f=Math.abs(n)):(u="height",d="top",f=-n),m.useMemo(function(){if(!l.length)return[0,0];for(var p=l.length,g=p,A=0;Af+e){g=A-1;break}}for(var b=0,C=p-1;C>=0;C-=1){var P=t.get(l[C].key)||Nve;if(P[d]=g?[0,0]:[b,g]},[t,e,o,i,r,f,s,l.map(function(p){return p.key}).join("_"),c])}function Uve(t){var e;return t instanceof Map?(e={},t.forEach(function(n,o){e[o]=n})):e=t,JSON.stringify(e)}var rLt="TABS_DQ";function oXe(t){return String(t).replace(/"/g,rLt)}function iXe(t,e,n,o){return!(!n||o||t===!1||t===void 0&&(e===!1||e===null))}var rXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.editable,i=t.locale,r=t.style;return!o||o.showAdd===!1?null:m.createElement("button",{ref:e,type:"button",className:"".concat(n,"-nav-add"),style:r,"aria-label":(i==null?void 0:i.addAriaLabel)||"Add tab",onClick:function(l){o.onEdit("add",{event:l})}},o.addIcon||"+")}),Bve=m.forwardRef(function(t,e){var n=t.position,o=t.prefixCls,i=t.extra;if(!i)return null;var r,a={};return r7(i)==="object"&&!m.isValidElement(i)?a=i:a.right=i,n==="right"&&(r=a.right),n==="left"&&(r=a.left),r?m.createElement("div",{className:"".concat(o,"-extra-content"),ref:e},r):null}),aLt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.id,i=t.tabs,r=t.locale,a=t.mobile,l=t.more,s=l===void 0?{}:l,c=t.style,u=t.className,d=t.editable,f=t.tabBarGutter,p=t.rtl,g=t.removeAriaLabel,A=t.onTabClick,w=t.getPopupContainer,b=t.popupClassName,C=m.useState(!1),P=Lc(C,2),v=P[0],T=P[1],y=m.useState(null),S=Lc(y,2),x=S[0],R=S[1],H=s.icon,D=H===void 0?"More":H,k="".concat(o,"-more-popup"),W="".concat(n,"-dropdown"),N=x!==null?"".concat(k,"-").concat(x):null,L=r==null?void 0:r.dropdownAriaLabel;function E(J,Z){J.preventDefault(),J.stopPropagation(),d.onEdit("remove",{key:Z,event:J})}var U=m.createElement(DH,{onClick:function(Z){var ie=Z.key,ee=Z.domEvent;A(ie,ee),T(!1)},prefixCls:"".concat(W,"-menu"),id:k,tabIndex:-1,role:"listbox","aria-activedescendant":N,selectedKeys:[x],"aria-label":L!==void 0?L:"expanded dropdown"},i.map(function(J){var Z=J.closable,ie=J.disabled,ee=J.closeIcon,q=J.key,ae=J.label,ne=iXe(Z,ee,d,ie);return m.createElement(IW,{key:q,id:"".concat(k,"-").concat(q),role:"option","aria-controls":o&&"".concat(o,"-panel-").concat(q),disabled:ie},m.createElement("span",null,ae),ne&&m.createElement("button",{type:"button","aria-label":g||"remove",tabIndex:0,className:"".concat(W,"-menu-item-remove"),onClick:function(le){le.stopPropagation(),E(le,q)}},ee||d.removeIcon||"×"))}));function F(J){for(var Z=i.filter(function(ne){return!ne.disabled}),ie=Z.findIndex(function(ne){return ne.key===x})||0,ee=Z.length,q=0;qJe?"left":"right"})}),W=Lc(k,2),N=W[0],L=W[1],E=Fve(0,function(Ke,Je){!D&&A&&A({direction:Ke>Je?"top":"bottom"})}),U=Lc(E,2),F=U[0],B=U[1],_=m.useState([0,0]),Y=Lc(_,2),O=Y[0],J=Y[1],Z=m.useState([0,0]),ie=Lc(Z,2),ee=ie[0],q=ie[1],ae=m.useState([0,0]),ne=Lc(ae,2),se=ne[0],le=ne[1],te=m.useState([0,0]),he=Lc(te,2),pe=he[0],fe=he[1],$=oLt(new Map),de=Lc($,2),Se=de[0],Ce=de[1],ve=eLt(P,Se,ee[0]),Ie=vY(O,D),ze=vY(ee,D),ye=vY(se,D),oe=vY(pe,D),ge=IeMe?Me:Ke}var De=m.useRef(null),Ue=m.useState(),Oe=Lc(Ue,2),Le=Oe[0],$e=Oe[1];function We(){$e(Date.now())}function Ee(){De.current&&clearTimeout(De.current)}nLt(S,function(Ke,Je){function ct(Pt,Ne){Pt(function(lt){var Ye=Te(lt+Ne);return Ye})}return ge?(D?ct(L,Ke):ct(B,Je),Ee(),We(),!0):!1}),m.useEffect(function(){return Ee(),Le&&(De.current=setTimeout(function(){$e(0)},100)),Ee},[Le]);var Fe=iLt(ve,Ae,D?N:F,ze,ye,oe,Dm(Dm({},t),{},{tabs:P})),Ge=Lc(Fe,2),rt=Ge[0],Ve=Ge[1],xt=Ia(function(){var Ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a,Je=ve.get(Ke)||{width:0,height:0,left:0,right:0,top:0};if(D){var ct=N;l?Je.rightN+Ae&&(ct=Je.right+Je.width-Ae):Je.left<-N?ct=-Je.left:Je.left+Je.width>-N+Ae&&(ct=-(Je.left+Je.width-Ae)),B(0),L(Te(ct))}else{var Pt=F;Je.top<-F?Pt=-Je.top:Je.top+Je.height>-F+Ae&&(Pt=-(Je.top+Je.height-Ae)),L(0),B(Te(Pt))}}),dt={};d==="top"||d==="bottom"?dt[l?"marginRight":"marginLeft"]=f:dt.marginTop=f;var Qe=P.map(function(Ke,Je){var ct=Ke.key;return m.createElement(sLt,{id:i,prefixCls:C,key:ct,tab:Ke,style:Je===0?void 0:dt,closable:Ke.closable,editable:c,active:ct===a,renderWrapper:p,removeAriaLabel:u==null?void 0:u.removeAriaLabel,onClick:function(Ne){g(ct,Ne)},onFocus:function(){xt(ct),We(),S.current&&(l||(S.current.scrollLeft=0),S.current.scrollTop=0)}})}),ut=function(){return Ce(function(){var Je,ct=new Map,Pt=(Je=x.current)===null||Je===void 0?void 0:Je.getBoundingClientRect();return P.forEach(function(Ne){var lt,Ye=Ne.key,st=(lt=x.current)===null||lt===void 0?void 0:lt.querySelector('[data-node-key="'.concat(oXe(Ye),'"]'));if(st){var je=cLt(st,Pt),mt=Lc(je,4),Ht=mt[0],wt=mt[1],It=mt[2],Et=mt[3];ct.set(Ye,{width:Ht,height:wt,left:It,top:Et})}}),ct})};m.useEffect(function(){ut()},[P.map(function(Ke){return Ke.key}).join("_")]);var ft=nXe(function(){var Ke=MT(v),Je=MT(T),ct=MT(y);J([Ke[0]-Je[0]-ct[0],Ke[1]-Je[1]-ct[1]]);var Pt=MT(H);le(Pt);var Ne=MT(R);fe(Ne);var lt=MT(x);q([lt[0]-Pt[0],lt[1]-Pt[1]]),ut()}),at=P.slice(0,rt),ot=P.slice(Ve+1),et=[].concat(Eve(at),Eve(ot)),_e=ve.get(a),nt=ZFt({activeTabOffset:_e,horizontal:D,indicator:w,rtl:l}),yt=nt.style;m.useEffect(function(){xt()},[a,Pe,Me,Uve(_e),Uve(ve),D]),m.useEffect(function(){ft()},[l]);var Tt=!!et.length,Rt="".concat(C,"-nav-wrap"),Wt,Ct,At,Ft;return D?l?(Ct=N>0,Wt=N!==Me):(Wt=N<0,Ct=N!==Pe):(At=F<0,Ft=F!==Pe),m.createElement(bd,{onResize:ft},m.createElement("div",{ref:z7(e,v),role:"tablist",className:_n("".concat(C,"-nav"),n),style:o,onKeyDown:function(){We()}},m.createElement(Bve,{ref:T,position:"left",extra:s,prefixCls:C}),m.createElement(bd,{onResize:ft},m.createElement("div",{className:_n(Rt,Qh(Qh(Qh(Qh({},"".concat(Rt,"-ping-left"),Wt),"".concat(Rt,"-ping-right"),Ct),"".concat(Rt,"-ping-top"),At),"".concat(Rt,"-ping-bottom"),Ft)),ref:S},m.createElement(bd,{onResize:ft},m.createElement("div",{ref:x,className:"".concat(C,"-nav-list"),style:{transform:"translate(".concat(N,"px, ").concat(F,"px)"),transition:Le?"none":void 0}},Qe,m.createElement(rXe,{ref:H,prefixCls:C,locale:u,editable:c,style:Dm(Dm({},Qe.length===0?void 0:dt),{},{visibility:Tt?"hidden":null})}),m.createElement("div",{className:_n("".concat(C,"-ink-bar"),Qh({},"".concat(C,"-ink-bar-animated"),r.inkBar)),style:yt}))))),m.createElement(lLt,A9({},t,{removeAriaLabel:u==null?void 0:u.removeAriaLabel,ref:R,prefixCls:C,tabs:et,className:!Tt&&me,tabMoving:!!Le})),m.createElement(Bve,{ref:y,position:"right",extra:s,prefixCls:C})))}),aXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.id,a=t.active,l=t.tabKey,s=t.children;return m.createElement("div",{id:r&&"".concat(r,"-panel-").concat(l),role:"tabpanel",tabIndex:a?0:-1,"aria-labelledby":r&&"".concat(r,"-tab-").concat(l),"aria-hidden":!a,style:i,className:_n(n,a&&"".concat(n,"-active"),o),ref:e},s)}),uLt=["renderTabBar"],dLt=["label","key"],fLt=function(e){var n=e.renderTabBar,o=MG(e,uLt),i=m.useContext(k$),r=i.tabs;if(n){var a=Dm(Dm({},o),{},{panes:r.map(function(l){var s=l.label,c=l.key,u=MG(l,dLt);return m.createElement(aXe,A9({tab:s,key:c,tabKey:c},u))})});return n(a,jve)}return m.createElement(jve,o)},hLt=["key","forceRender","style","className","destroyInactiveTabPane"],pLt=function(e){var n=e.id,o=e.activeKey,i=e.animated,r=e.tabPosition,a=e.destroyInactiveTabPane,l=m.useContext(k$),s=l.prefixCls,c=l.tabs,u=i.tabPane,d="".concat(s,"-tabpane");return m.createElement("div",{className:_n("".concat(s,"-content-holder"))},m.createElement("div",{className:_n("".concat(s,"-content"),"".concat(s,"-content-").concat(r),Qh({},"".concat(s,"-content-animated"),u))},c.map(function(f){var p=f.key,g=f.forceRender,A=f.style,w=f.className,b=f.destroyInactiveTabPane,C=MG(f,hLt),P=p===o;return m.createElement(Hg,A9({key:p,visible:P,forceRender:g,removeOnLeave:!!(a||b),leavedClassName:"".concat(d,"-hidden")},i.tabPaneMotion),function(v,T){var y=v.style,S=v.className;return m.createElement(aXe,A9({},C,{prefixCls:d,id:n,tabKey:p,animated:u,active:P,style:Dm(Dm({},A),y),className:_n(w,S),ref:T}))})})))};function gLt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},e;return t===!1?e={inkBar:!1,tabPane:!1}:t===!0?e={inkBar:!0,tabPane:!1}:e=Dm({inkBar:!0},r7(t)==="object"?t:{}),e.tabPaneMotion&&e.tabPane===void 0&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}var mLt=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","more","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicator"],Yve=0,yLt=m.forwardRef(function(t,e){var n=t.id,o=t.prefixCls,i=o===void 0?"rc-tabs":o,r=t.className,a=t.items,l=t.direction,s=t.activeKey,c=t.defaultActiveKey,u=t.editable,d=t.animated,f=t.tabPosition,p=f===void 0?"top":f,g=t.tabBarGutter,A=t.tabBarStyle,w=t.tabBarExtraContent,b=t.locale,C=t.more,P=t.destroyInactiveTabPane,v=t.renderTabBar,T=t.onChange,y=t.onTabClick,S=t.onTabScroll,x=t.getPopupContainer,R=t.popupClassName,H=t.indicator,D=MG(t,mLt),k=m.useMemo(function(){return(a||[]).filter(function(pe){return pe&&r7(pe)==="object"&&"key"in pe})},[a]),W=l==="rtl",N=gLt(d),L=m.useState(!1),E=Lc(L,2),U=E[0],F=E[1];m.useEffect(function(){F(y$())},[]);var B=Rs(function(){var pe;return(pe=k[0])===null||pe===void 0?void 0:pe.key},{value:s,defaultValue:c}),_=Lc(B,2),Y=_[0],O=_[1],J=m.useState(function(){return k.findIndex(function(pe){return pe.key===Y})}),Z=Lc(J,2),ie=Z[0],ee=Z[1];m.useEffect(function(){var pe=k.findIndex(function($){return $.key===Y});if(pe===-1){var fe;pe=Math.max(0,Math.min(ie,k.length-1)),O((fe=k[pe])===null||fe===void 0?void 0:fe.key)}ee(pe)},[k.map(function(pe){return pe.key}).join("_"),Y,ie]);var q=Rs(null,{value:n}),ae=Lc(q,2),ne=ae[0],se=ae[1];m.useEffect(function(){n||(se("rc-tabs-".concat(Yve)),Yve+=1)},[]);function le(pe,fe){y==null||y(pe,fe);var $=pe!==Y;O(pe),$&&(T==null||T(pe))}var te={id:ne,activeKey:Y,animated:N,tabPosition:p,rtl:W,mobile:U},he=Dm(Dm({},te),{},{editable:u,locale:b,more:C,tabBarGutter:g,onTabClick:le,onTabScroll:S,extra:w,style:A,panes:null,getPopupContainer:x,popupClassName:R,indicator:H});return m.createElement(k$.Provider,{value:{tabs:k,prefixCls:i}},m.createElement("div",A9({ref:e,id:n,className:_n(i,"".concat(i,"-").concat(p),Qh(Qh(Qh({},"".concat(i,"-mobile"),U),"".concat(i,"-editable"),u),"".concat(i,"-rtl"),W),r)},D),m.createElement(fLt,A9({},he,{renderTabBar:v})),m.createElement(pLt,A9({destroyInactiveTabPane:P},te,{animated:N}))))});const ALt={motionAppear:!1,motionEnter:!0,motionLeave:!0};function wLt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},n;return e===!1?n={inkBar:!1,tabPane:!1}:e===!0?n={inkBar:!0,tabPane:!0}:n=Object.assign({inkBar:!0},typeof e=="object"?e:{}),n.tabPane&&(n.tabPaneMotion=Object.assign(Object.assign({},ALt),{motionName:D9(t,"switch")})),n}var vLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie)}function bLt(t,e){if(t)return t;const n=E9(e).map(o=>{if(m.isValidElement(o)){const{key:i,props:r}=o,a=r||{},{tab:l}=a,s=vLt(a,["tab"]);return Object.assign(Object.assign({key:String(i)},s),{label:l})}return null});return xLt(n)}const SLt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return[{[e]:{[`${e}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${n}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${n}`}}}}},[F9(t,"slide-up"),F9(t,"slide-down")]]},TLt=t=>{const{componentCls:e,tabsCardPadding:n,cardBg:o,cardGutter:i,colorBorderSecondary:r,itemSelectedColor:a}=t;return{[`${e}-card`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{margin:0,padding:n,background:o,border:`${Ut(t.lineWidth)} ${t.lineType} ${r}`,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`},[`${e}-tab-active`]:{color:a,background:t.colorBgContainer},[`${e}-ink-bar`]:{visibility:"hidden"}},[`&${e}-top, &${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginLeft:{_skip_check_:!0,value:Ut(i)}}}},[`&${e}-top`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`},[`${e}-tab-active`]:{borderBottomColor:t.colorBgContainer}}},[`&${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`},[`${e}-tab-active`]:{borderTopColor:t.colorBgContainer}}},[`&${e}-left, &${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginTop:Ut(i)}}},[`&${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadiusLG)} 0 0 ${Ut(t.borderRadiusLG)}`}},[`${e}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:t.colorBgContainer}}}},[`&${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0`}},[`${e}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:t.colorBgContainer}}}}}}},PLt=t=>{const{componentCls:e,itemHoverColor:n,dropdownEdgeChildVerticalPadding:o}=t;return{[`${e}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:t.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${e}-dropdown-menu`]:{maxHeight:t.tabsDropdownHeight,margin:0,padding:`${Ut(o)} 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:t.colorBgContainer,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,"&-item":Object.assign(Object.assign({},Yx),{display:"flex",alignItems:"center",minWidth:t.tabsDropdownWidth,margin:0,padding:`${Ut(t.paddingXXS)} ${Ut(t.paddingSM)}`,color:t.colorText,fontWeight:"normal",fontSize:t.fontSize,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:t.marginSM},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:n}},"&:hover":{background:t.controlItemBgHover},"&-disabled":{"&, &:hover":{color:t.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},CLt=t=>{const{componentCls:e,margin:n,colorBorderSecondary:o,horizontalMargin:i,verticalItemPadding:r,verticalItemMargin:a,calc:l}=t;return{[`${e}-top, ${e}-bottom`]:{flexDirection:"column",[`> ${e}-nav, > div > ${e}-nav`]:{margin:i,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${o}`,content:"''"},[`${e}-ink-bar`]:{height:t.lineWidthBold,"&-animated":{transition:`width ${t.motionDurationSlow}, left ${t.motionDurationSlow}, + &${n}-slide-up-leave${n}-slide-up-leave-active${e}-dropdown-placement-bottomRight`]:{animationName:p$},[`${e}-panel > ${e}-time-panel`]:{paddingTop:S},[`${e}-range-wrapper`]:{display:"flex",position:"relative"},[`${e}-range-arrow`]:Object.assign(Object.assign({position:"absolute",zIndex:1,display:"none",paddingInline:t.calc(i).mul(1.5).equal(),boxSizing:"content-box",transition:`left ${T} ease-out`},LVe(t,R,U)),{"&:before":{insetInlineStart:t.calc(i).mul(1.5).equal()}}),[`${e}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:R,borderRadius:H,boxShadow:D,transition:`margin ${T}`,display:"inline-block",pointerEvents:"auto",[`${e}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${e}-presets`]:{display:"flex",flexDirection:"column",minWidth:L,maxWidth:E,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:w,borderInlineEnd:`${Ut(r)} ${a} ${W}`,li:Object.assign(Object.assign({},Yx),{borderRadius:k,paddingInline:w,paddingBlock:t.calc(g).sub(F).div(2).equal(),cursor:"pointer",transition:`all ${T}`,"+ li":{marginTop:b},"&:hover":{background:N}})}},[`${e}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr","&:last-child":{[`${e}-panel`]:{borderWidth:0}}},[`${e}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${e}-content, + table`]:{textAlign:"center"},"&-focused":{borderColor:l}}}}),"&-dropdown-range":{padding:`${Ut(t.calc(x).mul(2).div(3).equal())} 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${e}-separator`]:{transform:"rotate(180deg)"},[`${e}-footer`]:{"&-extra":{direction:"rtl"}}}})},F9(t,"slide-up"),F9(t,"slide-down"),aR(t,"move-up"),aR(t,"move-down")]},QGe=Fl("DatePicker",t=>{const e=Zr(DW(t),IFt(t),{inputPaddingHorizontalBase:t.calc(t.paddingSM).sub(1).equal(),multipleSelectItemHeight:t.multipleItemHeight,selectHeight:t.controlHeight});return[MFt(e),FFt(e),EFt(e),kFt(e),CFt(e),vW(t,{focusElCls:`${t.componentCls}-focused`})]},DFt);var LFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},WFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:LFt}))},NFt=m.forwardRef(WFt),UFt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},BFt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:UFt}))},jFt=m.forwardRef(BFt);function A9(){return A9=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function MG(t,e){if(t==null)return{};var n=XFt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}const k$=m.createContext(null);function JFt(t){if(Array.isArray(t))return W0e(t)}function KFt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function qFt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Eve(t){return JFt(t)||KFt(t)||ZGe(t)||qFt()}var $Ft=function(e){var n=e.activeTabOffset,o=e.horizontal,i=e.rtl,r=e.indicator,a=r===void 0?{}:r,l=a.size,s=a.align,c=s===void 0?"center":s,u=m.useState(),d=Lc(u,2),f=d[0],p=d[1],g=m.useRef(),A=be.useCallback(function(b){return typeof l=="function"?l(b):typeof l=="number"?l:b},[l]);function w(){za.cancel(g.current)}return m.useEffect(function(){var b={};if(n)if(o){b.width=A(n.width);var C=i?"right":"left";c==="start"&&(b[C]=n[C]),c==="center"&&(b[C]=n[C]+n.width/2,b.transform=i?"translateX(50%)":"translateX(-50%)"),c==="end"&&(b[C]=n[C]+n.width,b.transform="translateX(-100%)")}else b.height=A(n.height),c==="start"&&(b.top=n.top),c==="center"&&(b.top=n.top+n.height/2,b.transform="translateY(-50%)"),c==="end"&&(b.top=n.top+n.height,b.transform="translateY(-100%)");return w(),g.current=za(function(){p(b)}),w},[n,o,i,c,A]),{style:f}},kve={width:0,height:0,left:0,top:0};function QFt(t,e,n){return m.useMemo(function(){for(var o,i=new Map,r=e.get((o=t[0])===null||o===void 0?void 0:o.key)||kve,a=r.left+r.width,l=0;lN?(k=H,y.current="x"):(k=D,y.current="y"),e(-k,-k)&&R.preventDefault()}var x=m.useRef(null);x.current={onTouchStart:P,onTouchMove:v,onTouchEnd:T,onWheel:S},m.useEffect(function(){function R(W){x.current.onTouchStart(W)}function H(W){x.current.onTouchMove(W)}function D(W){x.current.onTouchEnd(W)}function k(W){x.current.onWheel(W)}return document.addEventListener("touchmove",H,{passive:!1}),document.addEventListener("touchend",D,{passive:!1}),t.current.addEventListener("touchstart",R,{passive:!1}),t.current.addEventListener("wheel",k),function(){document.removeEventListener("touchmove",H),document.removeEventListener("touchend",D)}},[])}function eXe(t){var e=m.useState(0),n=Lc(e,2),o=n[0],i=n[1],r=m.useRef(0),a=m.useRef();return a.current=t,sx(function(){var l;(l=a.current)===null||l===void 0||l.call(a)},[o]),function(){r.current===o&&(r.current+=1,i(r.current))}}function tLt(t){var e=m.useRef([]),n=m.useState({}),o=Lc(n,2),i=o[1],r=m.useRef(typeof t=="function"?t():t),a=eXe(function(){var s=r.current;e.current.forEach(function(c){s=c(s)}),e.current=[],r.current=s,i({})});function l(s){e.current.push(s),a()}return[r.current,l]}var Nve={width:0,height:0,left:0,top:0,right:0};function nLt(t,e,n,o,i,r,a){var l=a.tabs,s=a.tabPosition,c=a.rtl,u,d,f;return["top","bottom"].includes(s)?(u="width",d=c?"right":"left",f=Math.abs(n)):(u="height",d="top",f=-n),m.useMemo(function(){if(!l.length)return[0,0];for(var p=l.length,g=p,A=0;Af+e){g=A-1;break}}for(var b=0,C=p-1;C>=0;C-=1){var P=t.get(l[C].key)||Nve;if(P[d]=g?[0,0]:[b,g]},[t,e,o,i,r,f,s,l.map(function(p){return p.key}).join("_"),c])}function Uve(t){var e;return t instanceof Map?(e={},t.forEach(function(n,o){e[o]=n})):e=t,JSON.stringify(e)}var oLt="TABS_DQ";function tXe(t){return String(t).replace(/"/g,oLt)}function nXe(t,e,n,o){return!(!n||o||t===!1||t===void 0&&(e===!1||e===null))}var oXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.editable,i=t.locale,r=t.style;return!o||o.showAdd===!1?null:m.createElement("button",{ref:e,type:"button",className:"".concat(n,"-nav-add"),style:r,"aria-label":(i==null?void 0:i.addAriaLabel)||"Add tab",onClick:function(l){o.onEdit("add",{event:l})}},o.addIcon||"+")}),Bve=m.forwardRef(function(t,e){var n=t.position,o=t.prefixCls,i=t.extra;if(!i)return null;var r,a={};return r7(i)==="object"&&!m.isValidElement(i)?a=i:a.right=i,n==="right"&&(r=a.right),n==="left"&&(r=a.left),r?m.createElement("div",{className:"".concat(o,"-extra-content"),ref:e},r):null}),iLt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.id,i=t.tabs,r=t.locale,a=t.mobile,l=t.more,s=l===void 0?{}:l,c=t.style,u=t.className,d=t.editable,f=t.tabBarGutter,p=t.rtl,g=t.removeAriaLabel,A=t.onTabClick,w=t.getPopupContainer,b=t.popupClassName,C=m.useState(!1),P=Lc(C,2),v=P[0],T=P[1],y=m.useState(null),S=Lc(y,2),x=S[0],R=S[1],H=s.icon,D=H===void 0?"More":H,k="".concat(o,"-more-popup"),W="".concat(n,"-dropdown"),N=x!==null?"".concat(k,"-").concat(x):null,L=r==null?void 0:r.dropdownAriaLabel;function E(J,Z){J.preventDefault(),J.stopPropagation(),d.onEdit("remove",{key:Z,event:J})}var U=m.createElement(DH,{onClick:function(Z){var ie=Z.key,ee=Z.domEvent;A(ie,ee),T(!1)},prefixCls:"".concat(W,"-menu"),id:k,tabIndex:-1,role:"listbox","aria-activedescendant":N,selectedKeys:[x],"aria-label":L!==void 0?L:"expanded dropdown"},i.map(function(J){var Z=J.closable,ie=J.disabled,ee=J.closeIcon,q=J.key,ae=J.label,ne=nXe(Z,ee,d,ie);return m.createElement(IW,{key:q,id:"".concat(k,"-").concat(q),role:"option","aria-controls":o&&"".concat(o,"-panel-").concat(q),disabled:ie},m.createElement("span",null,ae),ne&&m.createElement("button",{type:"button","aria-label":g||"remove",tabIndex:0,className:"".concat(W,"-menu-item-remove"),onClick:function(le){le.stopPropagation(),E(le,q)}},ee||d.removeIcon||"×"))}));function F(J){for(var Z=i.filter(function(ne){return!ne.disabled}),ie=Z.findIndex(function(ne){return ne.key===x})||0,ee=Z.length,q=0;qJe?"left":"right"})}),W=Lc(k,2),N=W[0],L=W[1],E=Fve(0,function(qe,Je){!D&&A&&A({direction:qe>Je?"top":"bottom"})}),U=Lc(E,2),F=U[0],B=U[1],_=m.useState([0,0]),Y=Lc(_,2),O=Y[0],J=Y[1],Z=m.useState([0,0]),ie=Lc(Z,2),ee=ie[0],q=ie[1],ae=m.useState([0,0]),ne=Lc(ae,2),se=ne[0],le=ne[1],te=m.useState([0,0]),he=Lc(te,2),pe=he[0],fe=he[1],$=tLt(new Map),de=Lc($,2),Se=de[0],Ce=de[1],ve=QFt(P,Se,ee[0]),Ie=vY(O,D),ze=vY(ee,D),ye=vY(se,D),oe=vY(pe,D),ge=IeMe?Me:qe}var De=m.useRef(null),Ne=m.useState(),Ye=Lc(Ne,2),Le=Ye[0],$e=Ye[1];function We(){$e(Date.now())}function Ee(){De.current&&clearTimeout(De.current)}eLt(S,function(qe,Je){function st(Pt,Ue){Pt(function(lt){var Ve=Te(lt+Ue);return Ve})}return ge?(D?st(L,qe):st(B,Je),Ee(),We(),!0):!1}),m.useEffect(function(){return Ee(),Le&&(De.current=setTimeout(function(){$e(0)},100)),Ee},[Le]);var Fe=nLt(ve,Ae,D?N:F,ze,ye,oe,Dm(Dm({},t),{},{tabs:P})),Ge=Lc(Fe,2),rt=Ge[0],_e=Ge[1],xt=Ia(function(){var qe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a,Je=ve.get(qe)||{width:0,height:0,left:0,right:0,top:0};if(D){var st=N;l?Je.rightN+Ae&&(st=Je.right+Je.width-Ae):Je.left<-N?st=-Je.left:Je.left+Je.width>-N+Ae&&(st=-(Je.left+Je.width-Ae)),B(0),L(Te(st))}else{var Pt=F;Je.top<-F?Pt=-Je.top:Je.top+Je.height>-F+Ae&&(Pt=-(Je.top+Je.height-Ae)),L(0),B(Te(Pt))}}),dt={};d==="top"||d==="bottom"?dt[l?"marginRight":"marginLeft"]=f:dt.marginTop=f;var Qe=P.map(function(qe,Je){var st=qe.key;return m.createElement(aLt,{id:i,prefixCls:C,key:st,tab:qe,style:Je===0?void 0:dt,closable:qe.closable,editable:c,active:st===a,renderWrapper:p,removeAriaLabel:u==null?void 0:u.removeAriaLabel,onClick:function(Ue){g(st,Ue)},onFocus:function(){xt(st),We(),S.current&&(l||(S.current.scrollLeft=0),S.current.scrollTop=0)}})}),ct=function(){return Ce(function(){var Je,st=new Map,Pt=(Je=x.current)===null||Je===void 0?void 0:Je.getBoundingClientRect();return P.forEach(function(Ue){var lt,Ve=Ue.key,ut=(lt=x.current)===null||lt===void 0?void 0:lt.querySelector('[data-node-key="'.concat(tXe(Ve),'"]'));if(ut){var je=lLt(ut,Pt),yt=Lc(je,4),Ht=yt[0],At=yt[1],It=yt[2],zt=yt[3];st.set(Ve,{width:Ht,height:At,left:It,top:zt})}}),st})};m.useEffect(function(){ct()},[P.map(function(qe){return qe.key}).join("_")]);var ft=eXe(function(){var qe=MT(v),Je=MT(T),st=MT(y);J([qe[0]-Je[0]-st[0],qe[1]-Je[1]-st[1]]);var Pt=MT(H);le(Pt);var Ue=MT(R);fe(Ue);var lt=MT(x);q([lt[0]-Pt[0],lt[1]-Pt[1]]),ct()}),at=P.slice(0,rt),ot=P.slice(_e+1),et=[].concat(Eve(at),Eve(ot)),Oe=ve.get(a),nt=$Ft({activeTabOffset:Oe,horizontal:D,indicator:w,rtl:l}),mt=nt.style;m.useEffect(function(){xt()},[a,Pe,Me,Uve(Oe),Uve(ve),D]),m.useEffect(function(){ft()},[l]);var Tt=!!et.length,Rt="".concat(C,"-nav-wrap"),Wt,Ct,wt,kt;return D?l?(Ct=N>0,Wt=N!==Me):(Wt=N<0,Ct=N!==Pe):(wt=F<0,kt=F!==Pe),m.createElement(bd,{onResize:ft},m.createElement("div",{ref:z7(e,v),role:"tablist",className:_n("".concat(C,"-nav"),n),style:o,onKeyDown:function(){We()}},m.createElement(Bve,{ref:T,position:"left",extra:s,prefixCls:C}),m.createElement(bd,{onResize:ft},m.createElement("div",{className:_n(Rt,Qh(Qh(Qh(Qh({},"".concat(Rt,"-ping-left"),Wt),"".concat(Rt,"-ping-right"),Ct),"".concat(Rt,"-ping-top"),wt),"".concat(Rt,"-ping-bottom"),kt)),ref:S},m.createElement(bd,{onResize:ft},m.createElement("div",{ref:x,className:"".concat(C,"-nav-list"),style:{transform:"translate(".concat(N,"px, ").concat(F,"px)"),transition:Le?"none":void 0}},Qe,m.createElement(oXe,{ref:H,prefixCls:C,locale:u,editable:c,style:Dm(Dm({},Qe.length===0?void 0:dt),{},{visibility:Tt?"hidden":null})}),m.createElement("div",{className:_n("".concat(C,"-ink-bar"),Qh({},"".concat(C,"-ink-bar-animated"),r.inkBar)),style:mt}))))),m.createElement(rLt,A9({},t,{removeAriaLabel:u==null?void 0:u.removeAriaLabel,ref:R,prefixCls:C,tabs:et,className:!Tt&&me,tabMoving:!!Le})),m.createElement(Bve,{ref:y,position:"right",extra:s,prefixCls:C})))}),iXe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.className,i=t.style,r=t.id,a=t.active,l=t.tabKey,s=t.children;return m.createElement("div",{id:r&&"".concat(r,"-panel-").concat(l),role:"tabpanel",tabIndex:a?0:-1,"aria-labelledby":r&&"".concat(r,"-tab-").concat(l),"aria-hidden":!a,style:i,className:_n(n,a&&"".concat(n,"-active"),o),ref:e},s)}),sLt=["renderTabBar"],cLt=["label","key"],uLt=function(e){var n=e.renderTabBar,o=MG(e,sLt),i=m.useContext(k$),r=i.tabs;if(n){var a=Dm(Dm({},o),{},{panes:r.map(function(l){var s=l.label,c=l.key,u=MG(l,cLt);return m.createElement(iXe,A9({tab:s,key:c,tabKey:c},u))})});return n(a,jve)}return m.createElement(jve,o)},dLt=["key","forceRender","style","className","destroyInactiveTabPane"],fLt=function(e){var n=e.id,o=e.activeKey,i=e.animated,r=e.tabPosition,a=e.destroyInactiveTabPane,l=m.useContext(k$),s=l.prefixCls,c=l.tabs,u=i.tabPane,d="".concat(s,"-tabpane");return m.createElement("div",{className:_n("".concat(s,"-content-holder"))},m.createElement("div",{className:_n("".concat(s,"-content"),"".concat(s,"-content-").concat(r),Qh({},"".concat(s,"-content-animated"),u))},c.map(function(f){var p=f.key,g=f.forceRender,A=f.style,w=f.className,b=f.destroyInactiveTabPane,C=MG(f,dLt),P=p===o;return m.createElement(Hg,A9({key:p,visible:P,forceRender:g,removeOnLeave:!!(a||b),leavedClassName:"".concat(d,"-hidden")},i.tabPaneMotion),function(v,T){var y=v.style,S=v.className;return m.createElement(iXe,A9({},C,{prefixCls:d,id:n,tabKey:p,animated:u,active:P,style:Dm(Dm({},A),y),className:_n(w,S),ref:T}))})})))};function hLt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},e;return t===!1?e={inkBar:!1,tabPane:!1}:t===!0?e={inkBar:!0,tabPane:!1}:e=Dm({inkBar:!0},r7(t)==="object"?t:{}),e.tabPaneMotion&&e.tabPane===void 0&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}var pLt=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","more","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicator"],Yve=0,gLt=m.forwardRef(function(t,e){var n=t.id,o=t.prefixCls,i=o===void 0?"rc-tabs":o,r=t.className,a=t.items,l=t.direction,s=t.activeKey,c=t.defaultActiveKey,u=t.editable,d=t.animated,f=t.tabPosition,p=f===void 0?"top":f,g=t.tabBarGutter,A=t.tabBarStyle,w=t.tabBarExtraContent,b=t.locale,C=t.more,P=t.destroyInactiveTabPane,v=t.renderTabBar,T=t.onChange,y=t.onTabClick,S=t.onTabScroll,x=t.getPopupContainer,R=t.popupClassName,H=t.indicator,D=MG(t,pLt),k=m.useMemo(function(){return(a||[]).filter(function(pe){return pe&&r7(pe)==="object"&&"key"in pe})},[a]),W=l==="rtl",N=hLt(d),L=m.useState(!1),E=Lc(L,2),U=E[0],F=E[1];m.useEffect(function(){F(y$())},[]);var B=Rs(function(){var pe;return(pe=k[0])===null||pe===void 0?void 0:pe.key},{value:s,defaultValue:c}),_=Lc(B,2),Y=_[0],O=_[1],J=m.useState(function(){return k.findIndex(function(pe){return pe.key===Y})}),Z=Lc(J,2),ie=Z[0],ee=Z[1];m.useEffect(function(){var pe=k.findIndex(function($){return $.key===Y});if(pe===-1){var fe;pe=Math.max(0,Math.min(ie,k.length-1)),O((fe=k[pe])===null||fe===void 0?void 0:fe.key)}ee(pe)},[k.map(function(pe){return pe.key}).join("_"),Y,ie]);var q=Rs(null,{value:n}),ae=Lc(q,2),ne=ae[0],se=ae[1];m.useEffect(function(){n||(se("rc-tabs-".concat(Yve)),Yve+=1)},[]);function le(pe,fe){y==null||y(pe,fe);var $=pe!==Y;O(pe),$&&(T==null||T(pe))}var te={id:ne,activeKey:Y,animated:N,tabPosition:p,rtl:W,mobile:U},he=Dm(Dm({},te),{},{editable:u,locale:b,more:C,tabBarGutter:g,onTabClick:le,onTabScroll:S,extra:w,style:A,panes:null,getPopupContainer:x,popupClassName:R,indicator:H});return m.createElement(k$.Provider,{value:{tabs:k,prefixCls:i}},m.createElement("div",A9({ref:e,id:n,className:_n(i,"".concat(i,"-").concat(p),Qh(Qh(Qh({},"".concat(i,"-mobile"),U),"".concat(i,"-editable"),u),"".concat(i,"-rtl"),W),r)},D),m.createElement(uLt,A9({},he,{renderTabBar:v})),m.createElement(fLt,A9({destroyInactiveTabPane:P},te,{animated:N}))))});const mLt={motionAppear:!1,motionEnter:!0,motionLeave:!0};function yLt(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},n;return e===!1?n={inkBar:!1,tabPane:!1}:e===!0?n={inkBar:!0,tabPane:!0}:n=Object.assign({inkBar:!0},typeof e=="object"?e:{}),n.tabPane&&(n.tabPaneMotion=Object.assign(Object.assign({},mLt),{motionName:D9(t,"switch")})),n}var ALt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);ie)}function vLt(t,e){if(t)return t;const n=E9(e).map(o=>{if(m.isValidElement(o)){const{key:i,props:r}=o,a=r||{},{tab:l}=a,s=ALt(a,["tab"]);return Object.assign(Object.assign({key:String(i)},s),{label:l})}return null});return wLt(n)}const xLt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return[{[e]:{[`${e}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${n}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${n}`}}}}},[F9(t,"slide-up"),F9(t,"slide-down")]]},bLt=t=>{const{componentCls:e,tabsCardPadding:n,cardBg:o,cardGutter:i,colorBorderSecondary:r,itemSelectedColor:a}=t;return{[`${e}-card`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{margin:0,padding:n,background:o,border:`${Ut(t.lineWidth)} ${t.lineType} ${r}`,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`},[`${e}-tab-active`]:{color:a,background:t.colorBgContainer},[`${e}-ink-bar`]:{visibility:"hidden"}},[`&${e}-top, &${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginLeft:{_skip_check_:!0,value:Ut(i)}}}},[`&${e}-top`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`},[`${e}-tab-active`]:{borderBottomColor:t.colorBgContainer}}},[`&${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)}`},[`${e}-tab-active`]:{borderTopColor:t.colorBgContainer}}},[`&${e}-left, &${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginTop:Ut(i)}}},[`&${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadiusLG)} 0 0 ${Ut(t.borderRadiusLG)}`}},[`${e}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:t.colorBgContainer}}}},[`&${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0`}},[`${e}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:t.colorBgContainer}}}}}}},SLt=t=>{const{componentCls:e,itemHoverColor:n,dropdownEdgeChildVerticalPadding:o}=t;return{[`${e}-dropdown`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:t.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${e}-dropdown-menu`]:{maxHeight:t.tabsDropdownHeight,margin:0,padding:`${Ut(o)} 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:t.colorBgContainer,backgroundClip:"padding-box",borderRadius:t.borderRadiusLG,outline:"none",boxShadow:t.boxShadowSecondary,"&-item":Object.assign(Object.assign({},Yx),{display:"flex",alignItems:"center",minWidth:t.tabsDropdownWidth,margin:0,padding:`${Ut(t.paddingXXS)} ${Ut(t.paddingSM)}`,color:t.colorText,fontWeight:"normal",fontSize:t.fontSize,lineHeight:t.lineHeight,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:t.marginSM},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:n}},"&:hover":{background:t.controlItemBgHover},"&-disabled":{"&, &:hover":{color:t.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},TLt=t=>{const{componentCls:e,margin:n,colorBorderSecondary:o,horizontalMargin:i,verticalItemPadding:r,verticalItemMargin:a,calc:l}=t;return{[`${e}-top, ${e}-bottom`]:{flexDirection:"column",[`> ${e}-nav, > div > ${e}-nav`]:{margin:i,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Ut(t.lineWidth)} ${t.lineType} ${o}`,content:"''"},[`${e}-ink-bar`]:{height:t.lineWidthBold,"&-animated":{transition:`width ${t.motionDurationSlow}, left ${t.motionDurationSlow}, right ${t.motionDurationSlow}`}},[`${e}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:t.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:t.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:t.boxShadowTabsOverflowRight},[`&${e}-nav-wrap-ping-left::before`]:{opacity:1},[`&${e}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${e}-top`]:{[`> ${e}-nav, - > div > ${e}-nav`]:{"&::before":{bottom:0},[`${e}-ink-bar`]:{bottom:0}}},[`${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,marginTop:n,marginBottom:0,"&::before":{top:0},[`${e}-ink-bar`]:{top:0}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0}},[`${e}-left, ${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{flexDirection:"column",minWidth:l(t.controlHeight).mul(1.25).equal(),[`${e}-tab`]:{padding:r,textAlign:"center"},[`${e}-tab + ${e}-tab`]:{margin:a},[`${e}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:t.controlHeight},"&::before":{top:0,boxShadow:t.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:t.boxShadowTabsOverflowBottom},[`&${e}-nav-wrap-ping-top::before`]:{opacity:1},[`&${e}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${e}-ink-bar`]:{width:t.lineWidthBold,"&-animated":{transition:`height ${t.motionDurationSlow}, top ${t.motionDurationSlow}`}},[`${e}-nav-list, ${e}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{marginLeft:{_skip_check_:!0,value:Ut(l(t.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:t.paddingLG}}}},[`${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,[`${e}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:l(t.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingRight:{_skip_check_:!0,value:t.paddingLG}}}}}},RLt=t=>{const{componentCls:e,cardPaddingSM:n,cardPaddingLG:o,horizontalItemPaddingSM:i,horizontalItemPaddingLG:r}=t;return{[e]:{"&-small":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:i,fontSize:t.titleFontSizeSM}}},"&-large":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:r,fontSize:t.titleFontSizeLG}}}},[`${e}-card`]:{[`&${e}-small`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:n}},[`&${e}-bottom`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)}`}},[`&${e}-top`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0 0`}},[`&${e}-right`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0`}}},[`&${e}-left`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadius)} 0 0 ${Ut(t.borderRadius)}`}}}},[`&${e}-large`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:o}}}}}},HLt=t=>{const{componentCls:e,itemActiveColor:n,itemHoverColor:o,iconCls:i,tabsHorizontalItemMargin:r,horizontalItemPadding:a,itemSelectedColor:l,itemColor:s}=t,c=`${e}-tab`;return{[c]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:a,fontSize:t.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:s,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:n}},V6(t)),"&-btn":{outline:"none",transition:`all ${t.motionDurationSlow}`,[`${c}-icon:not(:last-child)`]:{marginInlineEnd:t.marginSM}},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:t.calc(t.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:t.marginXS},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextHeading}},"&:hover":{color:o},[`&${c}-active ${c}-btn`]:{color:l,textShadow:t.tabsActiveTextShadow},[`&${c}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed"},[`&${c}-disabled ${c}-btn, &${c}-disabled ${e}-remove`]:{"&:focus, &:active":{color:t.colorTextDisabled}},[`& ${c}-remove ${i}`]:{margin:0},[`${i}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:t.marginSM}}},[`${c} + ${c}`]:{margin:{_skip_check_:!0,value:r}}}},MLt=t=>{const{componentCls:e,tabsHorizontalItemMarginRTL:n,iconCls:o,cardGutter:i,calc:r}=t;return{[`${e}-rtl`]:{direction:"rtl",[`${e}-nav`]:{[`${e}-tab`]:{margin:{_skip_check_:!0,value:n},[`${e}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[o]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:Ut(t.marginSM)}},[`${e}-tab-remove`]:{marginRight:{_skip_check_:!0,value:Ut(t.marginXS)},marginLeft:{_skip_check_:!0,value:Ut(r(t.marginXXS).mul(-1).equal())},[o]:{margin:0}}}},[`&${e}-left`]:{[`> ${e}-nav`]:{order:1},[`> ${e}-content-holder`]:{order:0}},[`&${e}-right`]:{[`> ${e}-nav`]:{order:0},[`> ${e}-content-holder`]:{order:1}},[`&${e}-card${e}-top, &${e}-card${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginRight:{_skip_check_:!0,value:i},marginLeft:{_skip_check_:!0,value:0}}}}},[`${e}-dropdown-rtl`]:{direction:"rtl"},[`${e}-menu-item`]:{[`${e}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},ILt=t=>{const{componentCls:e,tabsCardPadding:n,cardHeight:o,cardGutter:i,itemHoverColor:r,itemActiveColor:a,colorBorderSecondary:l}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{display:"flex",[`> ${e}-nav, > div > ${e}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${e}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${t.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${e}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${t.motionDurationSlow}`},[`${e}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${e}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${e}-nav-more`]:{position:"relative",padding:n,background:"transparent",border:0,color:t.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:t.calc(t.controlHeightLG).div(8).equal(),transform:"translateY(100%)",content:"''"}},[`${e}-nav-add`]:Object.assign({minWidth:o,minHeight:o,marginLeft:{_skip_check_:!0,value:i},padding:`0 ${Ut(t.paddingXS)}`,background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} ${l}`,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,outline:"none",cursor:"pointer",color:t.colorText,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`,"&:hover":{color:r},"&:active, &:focus:not(:focus-visible)":{color:a}},V6(t))},[`${e}-extra-content`]:{flex:"none"},[`${e}-ink-bar`]:{position:"absolute",background:t.inkBarColor,pointerEvents:"none"}}),HLt(t)),{[`${e}-content`]:{position:"relative",width:"100%"},[`${e}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${e}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${e}-centered`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-nav-wrap`]:{[`&:not([class*='${e}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}},zLt=t=>{const e=t.controlHeightLG;return{zIndexPopup:t.zIndexPopupBase+50,cardBg:t.colorFillAlter,cardHeight:e,cardPadding:`${(e-Math.round(t.fontSize*t.lineHeight))/2-t.lineWidth}px ${t.padding}px`,cardPaddingSM:`${t.paddingXXS*1.5}px ${t.padding}px`,cardPaddingLG:`${t.paddingXS}px ${t.padding}px ${t.paddingXXS*1.5}px`,titleFontSize:t.fontSize,titleFontSizeLG:t.fontSizeLG,titleFontSizeSM:t.fontSize,inkBarColor:t.colorPrimary,horizontalMargin:`0 0 ${t.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${t.paddingSM}px 0`,horizontalItemPaddingSM:`${t.paddingXS}px 0`,horizontalItemPaddingLG:`${t.padding}px 0`,verticalItemPadding:`${t.paddingXS}px ${t.paddingLG}px`,verticalItemMargin:`${t.margin}px 0 0 0`,itemColor:t.colorText,itemSelectedColor:t.colorPrimary,itemHoverColor:t.colorPrimaryHover,itemActiveColor:t.colorPrimaryActive,cardGutter:t.marginXXS/2}},DLt=Fl("Tabs",t=>{const e=Zr(t,{tabsCardPadding:t.cardPadding,dropdownEdgeChildVerticalPadding:t.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Ut(t.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Ut(t.horizontalItemGutter)}`});return[RLt(e),MLt(e),CLt(e),PLt(e),TLt(e),ILt(e),SLt(e)]},zLt),ELt=()=>null;var kLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var e,n,o,i,r,a,l,s,c,u,d;const{type:f,className:p,rootClassName:g,size:A,onEdit:w,hideAdd:b,centered:C,addIcon:P,removeIcon:v,moreIcon:T,more:y,popupClassName:S,children:x,items:R,animated:H,style:D,indicatorSize:k,indicator:W}=t,N=kLt(t,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","removeIcon","moreIcon","more","popupClassName","children","items","animated","style","indicatorSize","indicator"]),{prefixCls:L}=N,{direction:E,tabs:U,getPrefixCls:F,getPopupContainer:B}=m.useContext(Mi),_=F("tabs",L),Y=j0(_),[O,J,Z]=DLt(_,Y);let ie;f==="editable-card"&&(ie={onEdit:(te,he)=>{let{key:pe,event:fe}=he;w==null||w(te==="add"?fe:pe,te)},removeIcon:(e=v??(U==null?void 0:U.removeIcon))!==null&&e!==void 0?e:m.createElement(E7,null),addIcon:(P??(U==null?void 0:U.addIcon))||m.createElement(OFt,null),showAdd:b!==!0});const ee=F(),q=Rd(A),ae=bLt(R,x),ne=wLt(_,H),se=Object.assign(Object.assign({},U==null?void 0:U.style),D),le={align:(n=W==null?void 0:W.align)!==null&&n!==void 0?n:(o=U==null?void 0:U.indicator)===null||o===void 0?void 0:o.align,size:(l=(r=(i=W==null?void 0:W.size)!==null&&i!==void 0?i:k)!==null&&r!==void 0?r:(a=U==null?void 0:U.indicator)===null||a===void 0?void 0:a.size)!==null&&l!==void 0?l:U==null?void 0:U.indicatorSize};return O(m.createElement(yLt,Object.assign({direction:E,getPopupContainer:B},N,{items:ae,className:Gn({[`${_}-${q}`]:q,[`${_}-card`]:["card","editable-card"].includes(f),[`${_}-editable-card`]:f==="editable-card",[`${_}-centered`]:C},U==null?void 0:U.className,p,g,J,Z,Y),popupClassName:Gn(S,J,Z,Y),style:se,editable:ie,more:Object.assign({icon:(d=(u=(c=(s=U==null?void 0:U.more)===null||s===void 0?void 0:s.icon)!==null&&c!==void 0?c:U==null?void 0:U.moreIcon)!==null&&u!==void 0?u:T)!==null&&d!==void 0?d:m.createElement(mme,null),transitionName:`${ee}-slide-up`},y),prefixCls:_,animated:ne,indicator:le})))};FW.TabPane=ELt;function FLt(t,e,n){var o=n||{},i=o.noTrailing,r=i===void 0?!1:i,a=o.noLeading,l=a===void 0?!1:a,s=o.debounceMode,c=s===void 0?void 0:s,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function g(w){var b=w||{},C=b.upcomingOnly,P=C===void 0?!1:C;p(),d=!P}function A(){for(var w=arguments.length,b=new Array(w),C=0;Ct?l?(f=Date.now(),r||(u=setTimeout(c?y:T,t))):T():r!==!0&&(u=setTimeout(c?y:T,c===void 0?t-v:t))}return A.cancel=g,A}function LLt(t,e,n){var o={},i=o.atBegin,r=i===void 0?!1:i;return FLt(t,e,{debounceMode:r!==!1})}const WLt=t=>{const{checkboxCls:e}=t,n=`${e}-wrapper`;return[{[`${e}-group`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",flexWrap:"wrap",columnGap:t.marginXS,[`> ${t.antCls}-row`]:{flex:1}}),[n]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${n}`]:{marginInlineStart:0},[`&${n}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:t.borderRadiusSM,alignSelf:"center",[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${e}-inner`]:Object.assign({},n7(t))},[`${e}-inner`]:{boxSizing:"border-box",display:"block",width:t.checkboxSize,height:t.checkboxSize,direction:"ltr",backgroundColor:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,borderCollapse:"separate",transition:`all ${t.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"25%",display:"table",width:t.calc(t.checkboxSize).div(14).mul(5).equal(),height:t.calc(t.checkboxSize).div(14).mul(8).equal(),border:`${Ut(t.lineWidthBold)} solid ${t.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${t.motionDurationFast} ${t.motionEaseInBack}, opacity ${t.motionDurationFast}`}},"& + span":{paddingInlineStart:t.paddingXS,paddingInlineEnd:t.paddingXS}})},{[` + > div > ${e}-nav`]:{"&::before":{bottom:0},[`${e}-ink-bar`]:{bottom:0}}},[`${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,marginTop:n,marginBottom:0,"&::before":{top:0},[`${e}-ink-bar`]:{top:0}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0}},[`${e}-left, ${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{flexDirection:"column",minWidth:l(t.controlHeight).mul(1.25).equal(),[`${e}-tab`]:{padding:r,textAlign:"center"},[`${e}-tab + ${e}-tab`]:{margin:a},[`${e}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:t.controlHeight},"&::before":{top:0,boxShadow:t.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:t.boxShadowTabsOverflowBottom},[`&${e}-nav-wrap-ping-top::before`]:{opacity:1},[`&${e}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${e}-ink-bar`]:{width:t.lineWidthBold,"&-animated":{transition:`height ${t.motionDurationSlow}, top ${t.motionDurationSlow}`}},[`${e}-nav-list, ${e}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${e}-left`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{marginLeft:{_skip_check_:!0,value:Ut(l(t.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:t.paddingLG}}}},[`${e}-right`]:{[`> ${e}-nav, > div > ${e}-nav`]:{order:1,[`${e}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${e}-content-holder, > div > ${e}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:l(t.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`},[`> ${e}-content > ${e}-tabpane`]:{paddingRight:{_skip_check_:!0,value:t.paddingLG}}}}}},PLt=t=>{const{componentCls:e,cardPaddingSM:n,cardPaddingLG:o,horizontalItemPaddingSM:i,horizontalItemPaddingLG:r}=t;return{[e]:{"&-small":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:i,fontSize:t.titleFontSizeSM}}},"&-large":{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:r,fontSize:t.titleFontSizeLG}}}},[`${e}-card`]:{[`&${e}-small`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:n}},[`&${e}-bottom`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`0 0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)}`}},[`&${e}-top`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:`${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0 0`}},[`&${e}-right`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Ut(t.borderRadius)} ${Ut(t.borderRadius)} 0`}}},[`&${e}-left`]:{[`> ${e}-nav ${e}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Ut(t.borderRadius)} 0 0 ${Ut(t.borderRadius)}`}}}},[`&${e}-large`]:{[`> ${e}-nav`]:{[`${e}-tab`]:{padding:o}}}}}},CLt=t=>{const{componentCls:e,itemActiveColor:n,itemHoverColor:o,iconCls:i,tabsHorizontalItemMargin:r,horizontalItemPadding:a,itemSelectedColor:l,itemColor:s}=t,c=`${e}-tab`;return{[c]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:a,fontSize:t.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:s,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:n}},V6(t)),"&-btn":{outline:"none",transition:`all ${t.motionDurationSlow}`,[`${c}-icon:not(:last-child)`]:{marginInlineEnd:t.marginSM}},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:t.calc(t.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:t.marginXS},color:t.colorTextDescription,fontSize:t.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{color:t.colorTextHeading}},"&:hover":{color:o},[`&${c}-active ${c}-btn`]:{color:l,textShadow:t.tabsActiveTextShadow},[`&${c}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed"},[`&${c}-disabled ${c}-btn, &${c}-disabled ${e}-remove`]:{"&:focus, &:active":{color:t.colorTextDisabled}},[`& ${c}-remove ${i}`]:{margin:0},[`${i}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:t.marginSM}}},[`${c} + ${c}`]:{margin:{_skip_check_:!0,value:r}}}},RLt=t=>{const{componentCls:e,tabsHorizontalItemMarginRTL:n,iconCls:o,cardGutter:i,calc:r}=t;return{[`${e}-rtl`]:{direction:"rtl",[`${e}-nav`]:{[`${e}-tab`]:{margin:{_skip_check_:!0,value:n},[`${e}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[o]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:Ut(t.marginSM)}},[`${e}-tab-remove`]:{marginRight:{_skip_check_:!0,value:Ut(t.marginXS)},marginLeft:{_skip_check_:!0,value:Ut(r(t.marginXXS).mul(-1).equal())},[o]:{margin:0}}}},[`&${e}-left`]:{[`> ${e}-nav`]:{order:1},[`> ${e}-content-holder`]:{order:0}},[`&${e}-right`]:{[`> ${e}-nav`]:{order:0},[`> ${e}-content-holder`]:{order:1}},[`&${e}-card${e}-top, &${e}-card${e}-bottom`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-tab + ${e}-tab`]:{marginRight:{_skip_check_:!0,value:i},marginLeft:{_skip_check_:!0,value:0}}}}},[`${e}-dropdown-rtl`]:{direction:"rtl"},[`${e}-menu-item`]:{[`${e}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},HLt=t=>{const{componentCls:e,tabsCardPadding:n,cardHeight:o,cardGutter:i,itemHoverColor:r,itemActiveColor:a,colorBorderSecondary:l}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{display:"flex",[`> ${e}-nav, > div > ${e}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${e}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${t.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${e}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${t.motionDurationSlow}`},[`${e}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${e}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${e}-nav-more`]:{position:"relative",padding:n,background:"transparent",border:0,color:t.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:t.calc(t.controlHeightLG).div(8).equal(),transform:"translateY(100%)",content:"''"}},[`${e}-nav-add`]:Object.assign({minWidth:o,minHeight:o,marginLeft:{_skip_check_:!0,value:i},padding:`0 ${Ut(t.paddingXS)}`,background:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} ${l}`,borderRadius:`${Ut(t.borderRadiusLG)} ${Ut(t.borderRadiusLG)} 0 0`,outline:"none",cursor:"pointer",color:t.colorText,transition:`all ${t.motionDurationSlow} ${t.motionEaseInOut}`,"&:hover":{color:r},"&:active, &:focus:not(:focus-visible)":{color:a}},V6(t))},[`${e}-extra-content`]:{flex:"none"},[`${e}-ink-bar`]:{position:"absolute",background:t.inkBarColor,pointerEvents:"none"}}),CLt(t)),{[`${e}-content`]:{position:"relative",width:"100%"},[`${e}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${e}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${e}-centered`]:{[`> ${e}-nav, > div > ${e}-nav`]:{[`${e}-nav-wrap`]:{[`&:not([class*='${e}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}},MLt=t=>{const e=t.controlHeightLG;return{zIndexPopup:t.zIndexPopupBase+50,cardBg:t.colorFillAlter,cardHeight:e,cardPadding:`${(e-Math.round(t.fontSize*t.lineHeight))/2-t.lineWidth}px ${t.padding}px`,cardPaddingSM:`${t.paddingXXS*1.5}px ${t.padding}px`,cardPaddingLG:`${t.paddingXS}px ${t.padding}px ${t.paddingXXS*1.5}px`,titleFontSize:t.fontSize,titleFontSizeLG:t.fontSizeLG,titleFontSizeSM:t.fontSize,inkBarColor:t.colorPrimary,horizontalMargin:`0 0 ${t.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${t.paddingSM}px 0`,horizontalItemPaddingSM:`${t.paddingXS}px 0`,horizontalItemPaddingLG:`${t.padding}px 0`,verticalItemPadding:`${t.paddingXS}px ${t.paddingLG}px`,verticalItemMargin:`${t.margin}px 0 0 0`,itemColor:t.colorText,itemSelectedColor:t.colorPrimary,itemHoverColor:t.colorPrimaryHover,itemActiveColor:t.colorPrimaryActive,cardGutter:t.marginXXS/2}},ILt=Fl("Tabs",t=>{const e=Zr(t,{tabsCardPadding:t.cardPadding,dropdownEdgeChildVerticalPadding:t.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Ut(t.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Ut(t.horizontalItemGutter)}`});return[PLt(e),RLt(e),TLt(e),SLt(e),bLt(e),HLt(e),xLt(e)]},MLt),zLt=()=>null;var DLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var e,n,o,i,r,a,l,s,c,u,d;const{type:f,className:p,rootClassName:g,size:A,onEdit:w,hideAdd:b,centered:C,addIcon:P,removeIcon:v,moreIcon:T,more:y,popupClassName:S,children:x,items:R,animated:H,style:D,indicatorSize:k,indicator:W}=t,N=DLt(t,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","removeIcon","moreIcon","more","popupClassName","children","items","animated","style","indicatorSize","indicator"]),{prefixCls:L}=N,{direction:E,tabs:U,getPrefixCls:F,getPopupContainer:B}=m.useContext(Mi),_=F("tabs",L),Y=j0(_),[O,J,Z]=ILt(_,Y);let ie;f==="editable-card"&&(ie={onEdit:(te,he)=>{let{key:pe,event:fe}=he;w==null||w(te==="add"?fe:pe,te)},removeIcon:(e=v??(U==null?void 0:U.removeIcon))!==null&&e!==void 0?e:m.createElement(E7,null),addIcon:(P??(U==null?void 0:U.addIcon))||m.createElement(jFt,null),showAdd:b!==!0});const ee=F(),q=Rd(A),ae=vLt(R,x),ne=yLt(_,H),se=Object.assign(Object.assign({},U==null?void 0:U.style),D),le={align:(n=W==null?void 0:W.align)!==null&&n!==void 0?n:(o=U==null?void 0:U.indicator)===null||o===void 0?void 0:o.align,size:(l=(r=(i=W==null?void 0:W.size)!==null&&i!==void 0?i:k)!==null&&r!==void 0?r:(a=U==null?void 0:U.indicator)===null||a===void 0?void 0:a.size)!==null&&l!==void 0?l:U==null?void 0:U.indicatorSize};return O(m.createElement(gLt,Object.assign({direction:E,getPopupContainer:B},N,{items:ae,className:Gn({[`${_}-${q}`]:q,[`${_}-card`]:["card","editable-card"].includes(f),[`${_}-editable-card`]:f==="editable-card",[`${_}-centered`]:C},U==null?void 0:U.className,p,g,J,Z,Y),popupClassName:Gn(S,J,Z,Y),style:se,editable:ie,more:Object.assign({icon:(d=(u=(c=(s=U==null?void 0:U.more)===null||s===void 0?void 0:s.icon)!==null&&c!==void 0?c:U==null?void 0:U.moreIcon)!==null&&u!==void 0?u:T)!==null&&d!==void 0?d:m.createElement(mme,null),transitionName:`${ee}-slide-up`},y),prefixCls:_,animated:ne,indicator:le})))};FW.TabPane=zLt;function ELt(t,e,n){var o=n||{},i=o.noTrailing,r=i===void 0?!1:i,a=o.noLeading,l=a===void 0?!1:a,s=o.debounceMode,c=s===void 0?void 0:s,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function g(w){var b=w||{},C=b.upcomingOnly,P=C===void 0?!1:C;p(),d=!P}function A(){for(var w=arguments.length,b=new Array(w),C=0;Ct?l?(f=Date.now(),r||(u=setTimeout(c?y:T,t))):T():r!==!0&&(u=setTimeout(c?y:T,c===void 0?t-v:t))}return A.cancel=g,A}function kLt(t,e,n){var o={},i=o.atBegin,r=i===void 0?!1:i;return ELt(t,e,{debounceMode:r!==!1})}const FLt=t=>{const{checkboxCls:e}=t,n=`${e}-wrapper`;return[{[`${e}-group`]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",flexWrap:"wrap",columnGap:t.marginXS,[`> ${t.antCls}-row`]:{flex:1}}),[n]:Object.assign(Object.assign({},$a(t)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${n}`]:{marginInlineStart:0},[`&${n}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:t.borderRadiusSM,alignSelf:"center",[`${e}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${e}-inner`]:Object.assign({},n7(t))},[`${e}-inner`]:{boxSizing:"border-box",display:"block",width:t.checkboxSize,height:t.checkboxSize,direction:"ltr",backgroundColor:t.colorBgContainer,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,borderCollapse:"separate",transition:`all ${t.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"25%",display:"table",width:t.calc(t.checkboxSize).div(14).mul(5).equal(),height:t.calc(t.checkboxSize).div(14).mul(8).equal(),border:`${Ut(t.lineWidthBold)} solid ${t.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${t.motionDurationFast} ${t.motionEaseInBack}, opacity ${t.motionDurationFast}`}},"& + span":{paddingInlineStart:t.paddingXS,paddingInlineEnd:t.paddingXS}})},{[` ${n}:not(${n}-disabled), ${e}:not(${e}-disabled) `]:{[`&:hover ${e}-inner`]:{borderColor:t.colorPrimary}},[`${n}:not(${n}-disabled)`]:{[`&:hover ${e}-checked:not(${e}-disabled) ${e}-inner`]:{backgroundColor:t.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${e}-checked:not(${e}-disabled):after`]:{borderColor:t.colorPrimaryHover}}},{[`${e}-checked`]:{[`${e}-inner`]:{backgroundColor:t.colorPrimary,borderColor:t.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${t.motionDurationMid} ${t.motionEaseOutBack} ${t.motionDurationFast}`}}},[` ${n}-checked:not(${n}-disabled), ${e}-checked:not(${e}-disabled) - `]:{[`&:hover ${e}-inner`]:{backgroundColor:t.colorPrimaryHover,borderColor:"transparent"}}},{[e]:{"&-indeterminate":{[`${e}-inner`]:{backgroundColor:t.colorBgContainer,borderColor:t.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:t.calc(t.fontSizeLG).div(2).equal(),height:t.calc(t.fontSizeLG).div(2).equal(),backgroundColor:t.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${n}-disabled`]:{cursor:"not-allowed"},[`${e}-disabled`]:{[`&, ${e}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${e}-inner`]:{background:t.colorBgContainerDisabled,borderColor:t.colorBorder,"&:after":{borderColor:t.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:t.colorTextDisabled},[`&${e}-indeterminate ${e}-inner::after`]:{background:t.colorTextDisabled}}}]};function lXe(t,e){const n=Zr(e,{checkboxCls:`.${t}`,checkboxSize:e.controlInteractiveSize});return[WLt(n)]}const sXe=Fl("Checkbox",(t,e)=>{let{prefixCls:n}=e;return[lXe(n,t)]}),cXe=be.createContext(null);var NLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,className:i,rootClassName:r,children:a,indeterminate:l=!1,style:s,onMouseEnter:c,onMouseLeave:u,skipGroup:d=!1,disabled:f}=t,p=NLt(t,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:g,direction:A,checkbox:w}=m.useContext(Mi),b=m.useContext(cXe),{isFormItemInput:C}=m.useContext(Qp),P=m.useContext($p),v=(n=(b==null?void 0:b.disabled)||f)!==null&&n!==void 0?n:P,T=m.useRef(p.value);m.useEffect(()=>{b==null||b.registerValue(p.value)},[]),m.useEffect(()=>{if(!d)return p.value!==T.current&&(b==null||b.cancelValue(T.current),b==null||b.registerValue(p.value),T.current=p.value),()=>b==null?void 0:b.cancelValue(p.value)},[p.value]);const y=g("checkbox",o),S=j0(y),[x,R,H]=sXe(y,S),D=Object.assign({},p);b&&!d&&(D.onChange=function(){p.onChange&&p.onChange.apply(p,arguments),b.toggleOption&&b.toggleOption({label:a,value:p.value})},D.name=b.name,D.checked=b.value.includes(p.value));const k=Gn(`${y}-wrapper`,{[`${y}-rtl`]:A==="rtl",[`${y}-wrapper-checked`]:D.checked,[`${y}-wrapper-disabled`]:v,[`${y}-wrapper-in-form-item`]:C},w==null?void 0:w.className,i,r,H,S,R),W=Gn({[`${y}-indeterminate`]:l},c$,R),N=l?"mixed":void 0;return x(m.createElement(wW,{component:"Checkbox",disabled:v},m.createElement("label",{className:k,style:Object.assign(Object.assign({},w==null?void 0:w.style),s),onMouseEnter:c,onMouseLeave:u},m.createElement(XGe,Object.assign({"aria-checked":N},D,{prefixCls:y,className:W,disabled:v,ref:e})),a!==void 0&&m.createElement("span",null,a))))},uXe=m.forwardRef(ULt);var BLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{defaultValue:n,children:o,options:i=[],prefixCls:r,className:a,rootClassName:l,style:s,onChange:c}=t,u=BLt(t,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState(u.value||n||[]),[A,w]=m.useState([]);m.useEffect(()=>{"value"in u&&g(u.value||[])},[u.value]);const b=m.useMemo(()=>i.map(L=>typeof L=="string"||typeof L=="number"?{label:L,value:L}:L),[i]),C=L=>{w(E=>E.filter(U=>U!==L))},P=L=>{w(E=>[].concat(Xa(E),[L]))},v=L=>{const E=p.indexOf(L.value),U=Xa(p);E===-1?U.push(L.value):U.splice(E,1),"value"in u||g(U),c==null||c(U.filter(F=>A.includes(F)).sort((F,B)=>{const _=b.findIndex(O=>O.value===F),Y=b.findIndex(O=>O.value===B);return _-Y}))},T=d("checkbox",r),y=`${T}-group`,S=j0(T),[x,R,H]=sXe(T,S),D=lp(u,["value","disabled"]),k=i.length?b.map(L=>m.createElement(uXe,{prefixCls:T,key:L.value.toString(),disabled:"disabled"in L?L.disabled:u.disabled,value:L.value,checked:p.includes(L.value),onChange:L.onChange,className:`${y}-item`,style:L.style,title:L.title,id:L.id,required:L.required},L.label)):o,W={toggleOption:v,value:p,disabled:u.disabled,name:u.name,registerValue:P,cancelValue:C},N=Gn(y,{[`${y}-rtl`]:f==="rtl"},a,l,H,S,R);return x(m.createElement("div",Object.assign({className:N,style:s},D,{ref:e}),m.createElement(cXe.Provider,{value:W},k)))}),Wr=uXe;Wr.Group=jLt;Wr.__ANT_CHECKBOX=!0;const dXe=m.createContext({}),YLt=t=>{const{componentCls:e}=t;return{[e]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},OLt=t=>{const{componentCls:e}=t;return{[e]:{position:"relative",maxWidth:"100%",minHeight:1}}},_Lt=(t,e)=>{const{prefixCls:n,componentCls:o,gridColumns:i}=t,r={};for(let a=i;a>=0;a--)a===0?(r[`${o}${e}-${a}`]={display:"none"},r[`${o}-push-${a}`]={insetInlineStart:"auto"},r[`${o}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-push-${a}`]={insetInlineStart:"auto"},r[`${o}${e}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-offset-${a}`]={marginInlineStart:0},r[`${o}${e}-order-${a}`]={order:0}):(r[`${o}${e}-${a}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${a/i*100}%`,maxWidth:`${a/i*100}%`}],r[`${o}${e}-push-${a}`]={insetInlineStart:`${a/i*100}%`},r[`${o}${e}-pull-${a}`]={insetInlineEnd:`${a/i*100}%`},r[`${o}${e}-offset-${a}`]={marginInlineStart:`${a/i*100}%`},r[`${o}${e}-order-${a}`]={order:a});return r[`${o}${e}-flex`]={flex:`var(--${n}${e}-flex)`},r},N0e=(t,e)=>_Lt(t,e),VLt=(t,e,n)=>({[`@media (min-width: ${Ut(e)})`]:Object.assign({},N0e(t,n))}),GLt=()=>({}),XLt=()=>({}),JLt=Fl("Grid",YLt,GLt),KLt=Fl("Grid",t=>{const e=Zr(t,{gridColumns:24}),n={"-sm":e.screenSMMin,"-md":e.screenMDMin,"-lg":e.screenLGMin,"-xl":e.screenXLMin,"-xxl":e.screenXXLMin};return[OLt(e),N0e(e,""),N0e(e,"-xs"),Object.keys(n).map(o=>VLt(e,n[o],o)).reduce((o,i)=>Object.assign(Object.assign({},o),i),{})]},XLt);var qLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),{gutter:i,wrap:r}=m.useContext(dXe),{prefixCls:a,span:l,order:s,offset:c,push:u,pull:d,className:f,children:p,flex:g,style:A}=t,w=qLt(t,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),b=n("col",a),[C,P,v]=KLt(b),T={};let y={};$Lt.forEach(R=>{let H={};const D=t[R];typeof D=="number"?H.span=D:typeof D=="object"&&(H=D||{}),delete w[R],y=Object.assign(Object.assign({},y),{[`${b}-${R}-${H.span}`]:H.span!==void 0,[`${b}-${R}-order-${H.order}`]:H.order||H.order===0,[`${b}-${R}-offset-${H.offset}`]:H.offset||H.offset===0,[`${b}-${R}-push-${H.push}`]:H.push||H.push===0,[`${b}-${R}-pull-${H.pull}`]:H.pull||H.pull===0,[`${b}-rtl`]:o==="rtl"}),H.flex&&(y[`${b}-${R}-flex`]=!0,T[`--${b}-${R}-flex`]=Ove(H.flex))});const S=Gn(b,{[`${b}-${l}`]:l!==void 0,[`${b}-order-${s}`]:s,[`${b}-offset-${c}`]:c,[`${b}-push-${u}`]:u,[`${b}-pull-${d}`]:d},f,y,P,v),x={};if(i&&i[0]>0){const R=i[0]/2;x.paddingLeft=R,x.paddingRight=R}return g&&(x.flex=Ove(g),r===!1&&!x.minWidth&&(x.minWidth=0)),C(m.createElement("div",Object.assign({},w,{style:Object.assign(Object.assign(Object.assign({},x),A),T),className:S,ref:e}),p))});var QLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(typeof t=="string"&&o(t),typeof t=="object")for(let r=0;r{i()},[JSON.stringify(t),e]),n}const nn=m.forwardRef((t,e)=>{const{prefixCls:n,justify:o,align:i,className:r,style:a,children:l,gutter:s=0,wrap:c}=t,u=QLt(t,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[A,w]=m.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),b=_ve(i,A),C=_ve(o,A),P=m.useRef(s),v=kVe();m.useEffect(()=>{const U=v.subscribe(F=>{w(F);const B=P.current||0;(!Array.isArray(B)&&typeof B=="object"||Array.isArray(B)&&(typeof B[0]=="object"||typeof B[1]=="object"))&&g(F)});return()=>v.unsubscribe(U)},[]);const T=()=>{const U=[void 0,void 0];return(Array.isArray(s)?s:[s,void 0]).forEach((B,_)=>{if(typeof B=="object")for(let Y=0;Y0?H[0]/-2:void 0;W&&(k.marginLeft=W,k.marginRight=W);const[N,L]=H;k.rowGap=L;const E=m.useMemo(()=>({gutter:[N,L],wrap:c}),[N,L,c]);return S(m.createElement(dXe.Provider,{value:E},m.createElement("div",Object.assign({},u,{className:D,style:Object.assign(Object.assign({},k),a),ref:e}),l)))});var fXe=be.forwardRef(function(t,e){var n=t.prefixCls,o=t.forceRender,i=t.className,r=t.style,a=t.children,l=t.isActive,s=t.role,c=be.useState(l||o),u=on(c,2),d=u[0],f=u[1];return be.useEffect(function(){(o||l)&&f(!0)},[o,l]),d?be.createElement("div",{ref:e,className:_n("".concat(n,"-content"),_t(_t({},"".concat(n,"-content-active"),l),"".concat(n,"-content-inactive"),!l),i),style:r,role:s},be.createElement("div",{className:"".concat(n,"-content-box")},a)):null});fXe.displayName="PanelContent";var ZLt=["showArrow","headerClass","isActive","onItemClick","forceRender","className","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],hXe=be.forwardRef(function(t,e){var n=t.showArrow,o=n===void 0?!0:n,i=t.headerClass,r=t.isActive,a=t.onItemClick,l=t.forceRender,s=t.className,c=t.prefixCls,u=t.collapsible,d=t.accordion,f=t.panelKey,p=t.extra,g=t.header,A=t.expandIcon,w=t.openMotion,b=t.destroyInactivePanel,C=t.children,P=ir(t,ZLt),v=u==="disabled",T=u==="header",y=u==="icon",S=p!=null&&typeof p!="boolean",x=function(){a==null||a(f)},R=function(L){(L.key==="Enter"||L.keyCode===Bn.ENTER||L.which===Bn.ENTER)&&x()},H=typeof A=="function"?A(t):be.createElement("i",{className:"arrow"});H&&(H=be.createElement("div",{className:"".concat(c,"-expand-icon"),onClick:["header","icon"].includes(u)?x:void 0},H));var D=_n(_t(_t(_t({},"".concat(c,"-item"),!0),"".concat(c,"-item-active"),r),"".concat(c,"-item-disabled"),v),s),k=_n(i,_t(_t(_t({},"".concat(c,"-header"),!0),"".concat(c,"-header-collapsible-only"),T),"".concat(c,"-icon-collapsible-only"),y)),W={className:k,"aria-expanded":r,"aria-disabled":v,onKeyDown:R};return!T&&!y&&(W.onClick=x,W.role=d?"tab":"button",W.tabIndex=v?-1:0),be.createElement("div",so({},P,{ref:e,className:D}),be.createElement("div",W,o&&H,be.createElement("span",{className:"".concat(c,"-header-text"),onClick:u==="header"?x:void 0},g),S&&be.createElement("div",{className:"".concat(c,"-extra")},p)),be.createElement(Hg,so({visible:r,leavedClassName:"".concat(c,"-content-hidden")},w,{forceRender:l,removeOnLeave:b}),function(N,L){var E=N.className,U=N.style;return be.createElement(fXe,{ref:L,prefixCls:c,className:E,style:U,isActive:r,forceRender:l,role:d?"tabpanel":void 0},C)}))}),eWt=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],tWt=function(e,n){var o=n.prefixCls,i=n.accordion,r=n.collapsible,a=n.destroyInactivePanel,l=n.onItemClick,s=n.activeKey,c=n.openMotion,u=n.expandIcon;return e.map(function(d,f){var p=d.children,g=d.label,A=d.key,w=d.collapsible,b=d.onItemClick,C=d.destroyInactivePanel,P=ir(d,eWt),v=String(A??f),T=w??r,y=C??a,S=function(H){T!=="disabled"&&(l(H),b==null||b(H))},x=!1;return i?x=s[0]===v:x=s.indexOf(v)>-1,be.createElement(hXe,so({},P,{prefixCls:o,key:v,panelKey:v,isActive:x,accordion:i,openMotion:c,expandIcon:u,header:g,collapsible:T,onItemClick:S,destroyInactivePanel:y}),p)})},nWt=function(e,n,o){if(!e)return null;var i=o.prefixCls,r=o.accordion,a=o.collapsible,l=o.destroyInactivePanel,s=o.onItemClick,c=o.activeKey,u=o.openMotion,d=o.expandIcon,f=e.key||String(n),p=e.props,g=p.header,A=p.headerClass,w=p.destroyInactivePanel,b=p.collapsible,C=p.onItemClick,P=!1;r?P=c[0]===f:P=c.indexOf(f)>-1;var v=b??a,T=function(x){v!=="disabled"&&(s(x),C==null||C(x))},y={key:f,panelKey:f,header:g,headerClass:A,isActive:P,prefixCls:i,destroyInactivePanel:w??l,openMotion:u,accordion:r,children:e.props.children,onItemClick:T,expandIcon:d,collapsible:v};return typeof e.type=="string"?e:(Object.keys(y).forEach(function(S){typeof y[S]>"u"&&delete y[S]}),be.cloneElement(e,y))};function oWt(t,e,n){return Array.isArray(t)?tWt(t,n):Qw(e).map(function(o,i){return nWt(o,i,n)})}function iWt(t){var e=t;if(!Array.isArray(e)){var n=gr(e);e=n==="number"||n==="string"?[e]:[]}return e.map(function(o){return String(o)})}var rWt=be.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-collapse":n,i=t.destroyInactivePanel,r=i===void 0?!1:i,a=t.style,l=t.accordion,s=t.className,c=t.children,u=t.collapsible,d=t.openMotion,f=t.expandIcon,p=t.activeKey,g=t.defaultActiveKey,A=t.onChange,w=t.items,b=_n(o,s),C=Rs([],{value:p,onChange:function(R){return A==null?void 0:A(R)},defaultValue:g,postState:iWt}),P=on(C,2),v=P[0],T=P[1],y=function(R){return T(function(){if(l)return v[0]===R?[]:[R];var H=v.indexOf(R),D=H>-1;return D?v.filter(function(k){return k!==R}):[].concat(Wo(v),[R])})};U0(!c,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var S=oWt(w,c,{prefixCls:o,accordion:l,openMotion:d,expandIcon:f,collapsible:u,destroyInactivePanel:r,onItemClick:y,activeKey:v});return be.createElement("div",so({ref:e,className:b,style:a,role:l?"tablist":void 0},gf(t,{aria:!0,data:!0})),S)});const Ime=Object.assign(rWt,{Panel:hXe});Ime.Panel;const aWt=m.forwardRef((t,e)=>{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o,className:i,showArrow:r=!0}=t,a=n("collapse",o),l=Gn({[`${a}-no-arrow`]:!r},i);return m.createElement(Ime.Panel,Object.assign({ref:e},t,{prefixCls:a,className:l}))}),lWt=t=>{const{componentCls:e,contentBg:n,padding:o,headerBg:i,headerPadding:r,collapseHeaderPaddingSM:a,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:s,lineWidth:c,lineType:u,colorBorder:d,colorText:f,colorTextHeading:p,colorTextDisabled:g,fontSizeLG:A,lineHeight:w,lineHeightLG:b,marginSM:C,paddingSM:P,paddingLG:v,paddingXS:T,motionDurationSlow:y,fontSizeIcon:S,contentPadding:x,fontHeight:R,fontHeightLG:H}=t,D=`${Ut(c)} ${u} ${d}`;return{[e]:Object.assign(Object.assign({},$a(t)),{backgroundColor:i,border:D,borderRadius:s,"&-rtl":{direction:"rtl"},[`& > ${e}-item`]:{borderBottom:D,"&:last-child":{[` + `]:{[`&:hover ${e}-inner`]:{backgroundColor:t.colorPrimaryHover,borderColor:"transparent"}}},{[e]:{"&-indeterminate":{[`${e}-inner`]:{backgroundColor:t.colorBgContainer,borderColor:t.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:t.calc(t.fontSizeLG).div(2).equal(),height:t.calc(t.fontSizeLG).div(2).equal(),backgroundColor:t.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${n}-disabled`]:{cursor:"not-allowed"},[`${e}-disabled`]:{[`&, ${e}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${e}-inner`]:{background:t.colorBgContainerDisabled,borderColor:t.colorBorder,"&:after":{borderColor:t.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:t.colorTextDisabled},[`&${e}-indeterminate ${e}-inner::after`]:{background:t.colorTextDisabled}}}]};function rXe(t,e){const n=Zr(e,{checkboxCls:`.${t}`,checkboxSize:e.controlInteractiveSize});return[FLt(n)]}const aXe=Fl("Checkbox",(t,e)=>{let{prefixCls:n}=e;return[rXe(n,t)]}),lXe=be.createContext(null);var LLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,className:i,rootClassName:r,children:a,indeterminate:l=!1,style:s,onMouseEnter:c,onMouseLeave:u,skipGroup:d=!1,disabled:f}=t,p=LLt(t,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:g,direction:A,checkbox:w}=m.useContext(Mi),b=m.useContext(lXe),{isFormItemInput:C}=m.useContext(Qp),P=m.useContext($p),v=(n=(b==null?void 0:b.disabled)||f)!==null&&n!==void 0?n:P,T=m.useRef(p.value);m.useEffect(()=>{b==null||b.registerValue(p.value)},[]),m.useEffect(()=>{if(!d)return p.value!==T.current&&(b==null||b.cancelValue(T.current),b==null||b.registerValue(p.value),T.current=p.value),()=>b==null?void 0:b.cancelValue(p.value)},[p.value]);const y=g("checkbox",o),S=j0(y),[x,R,H]=aXe(y,S),D=Object.assign({},p);b&&!d&&(D.onChange=function(){p.onChange&&p.onChange.apply(p,arguments),b.toggleOption&&b.toggleOption({label:a,value:p.value})},D.name=b.name,D.checked=b.value.includes(p.value));const k=Gn(`${y}-wrapper`,{[`${y}-rtl`]:A==="rtl",[`${y}-wrapper-checked`]:D.checked,[`${y}-wrapper-disabled`]:v,[`${y}-wrapper-in-form-item`]:C},w==null?void 0:w.className,i,r,H,S,R),W=Gn({[`${y}-indeterminate`]:l},c$,R),N=l?"mixed":void 0;return x(m.createElement(wW,{component:"Checkbox",disabled:v},m.createElement("label",{className:k,style:Object.assign(Object.assign({},w==null?void 0:w.style),s),onMouseEnter:c,onMouseLeave:u},m.createElement(VGe,Object.assign({"aria-checked":N},D,{prefixCls:y,className:W,disabled:v,ref:e})),a!==void 0&&m.createElement("span",null,a))))},sXe=m.forwardRef(WLt);var NLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{defaultValue:n,children:o,options:i=[],prefixCls:r,className:a,rootClassName:l,style:s,onChange:c}=t,u=NLt(t,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState(u.value||n||[]),[A,w]=m.useState([]);m.useEffect(()=>{"value"in u&&g(u.value||[])},[u.value]);const b=m.useMemo(()=>i.map(L=>typeof L=="string"||typeof L=="number"?{label:L,value:L}:L),[i]),C=L=>{w(E=>E.filter(U=>U!==L))},P=L=>{w(E=>[].concat(Xa(E),[L]))},v=L=>{const E=p.indexOf(L.value),U=Xa(p);E===-1?U.push(L.value):U.splice(E,1),"value"in u||g(U),c==null||c(U.filter(F=>A.includes(F)).sort((F,B)=>{const _=b.findIndex(O=>O.value===F),Y=b.findIndex(O=>O.value===B);return _-Y}))},T=d("checkbox",r),y=`${T}-group`,S=j0(T),[x,R,H]=aXe(T,S),D=lp(u,["value","disabled"]),k=i.length?b.map(L=>m.createElement(sXe,{prefixCls:T,key:L.value.toString(),disabled:"disabled"in L?L.disabled:u.disabled,value:L.value,checked:p.includes(L.value),onChange:L.onChange,className:`${y}-item`,style:L.style,title:L.title,id:L.id,required:L.required},L.label)):o,W={toggleOption:v,value:p,disabled:u.disabled,name:u.name,registerValue:P,cancelValue:C},N=Gn(y,{[`${y}-rtl`]:f==="rtl"},a,l,H,S,R);return x(m.createElement("div",Object.assign({className:N,style:s},D,{ref:e}),m.createElement(lXe.Provider,{value:W},k)))}),Wr=sXe;Wr.Group=ULt;Wr.__ANT_CHECKBOX=!0;const cXe=m.createContext({}),BLt=t=>{const{componentCls:e}=t;return{[e]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},jLt=t=>{const{componentCls:e}=t;return{[e]:{position:"relative",maxWidth:"100%",minHeight:1}}},YLt=(t,e)=>{const{prefixCls:n,componentCls:o,gridColumns:i}=t,r={};for(let a=i;a>=0;a--)a===0?(r[`${o}${e}-${a}`]={display:"none"},r[`${o}-push-${a}`]={insetInlineStart:"auto"},r[`${o}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-push-${a}`]={insetInlineStart:"auto"},r[`${o}${e}-pull-${a}`]={insetInlineEnd:"auto"},r[`${o}${e}-offset-${a}`]={marginInlineStart:0},r[`${o}${e}-order-${a}`]={order:0}):(r[`${o}${e}-${a}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${a/i*100}%`,maxWidth:`${a/i*100}%`}],r[`${o}${e}-push-${a}`]={insetInlineStart:`${a/i*100}%`},r[`${o}${e}-pull-${a}`]={insetInlineEnd:`${a/i*100}%`},r[`${o}${e}-offset-${a}`]={marginInlineStart:`${a/i*100}%`},r[`${o}${e}-order-${a}`]={order:a});return r[`${o}${e}-flex`]={flex:`var(--${n}${e}-flex)`},r},N0e=(t,e)=>YLt(t,e),OLt=(t,e,n)=>({[`@media (min-width: ${Ut(e)})`]:Object.assign({},N0e(t,n))}),_Lt=()=>({}),VLt=()=>({}),GLt=Fl("Grid",BLt,_Lt),XLt=Fl("Grid",t=>{const e=Zr(t,{gridColumns:24}),n={"-sm":e.screenSMMin,"-md":e.screenMDMin,"-lg":e.screenLGMin,"-xl":e.screenXLMin,"-xxl":e.screenXXLMin};return[jLt(e),N0e(e,""),N0e(e,"-xs"),Object.keys(n).map(o=>OLt(e,n[o],o)).reduce((o,i)=>Object.assign(Object.assign({},o),i),{})]},VLt);var JLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),{gutter:i,wrap:r}=m.useContext(cXe),{prefixCls:a,span:l,order:s,offset:c,push:u,pull:d,className:f,children:p,flex:g,style:A}=t,w=JLt(t,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),b=n("col",a),[C,P,v]=XLt(b),T={};let y={};KLt.forEach(R=>{let H={};const D=t[R];typeof D=="number"?H.span=D:typeof D=="object"&&(H=D||{}),delete w[R],y=Object.assign(Object.assign({},y),{[`${b}-${R}-${H.span}`]:H.span!==void 0,[`${b}-${R}-order-${H.order}`]:H.order||H.order===0,[`${b}-${R}-offset-${H.offset}`]:H.offset||H.offset===0,[`${b}-${R}-push-${H.push}`]:H.push||H.push===0,[`${b}-${R}-pull-${H.pull}`]:H.pull||H.pull===0,[`${b}-rtl`]:o==="rtl"}),H.flex&&(y[`${b}-${R}-flex`]=!0,T[`--${b}-${R}-flex`]=Ove(H.flex))});const S=Gn(b,{[`${b}-${l}`]:l!==void 0,[`${b}-order-${s}`]:s,[`${b}-offset-${c}`]:c,[`${b}-push-${u}`]:u,[`${b}-pull-${d}`]:d},f,y,P,v),x={};if(i&&i[0]>0){const R=i[0]/2;x.paddingLeft=R,x.paddingRight=R}return g&&(x.flex=Ove(g),r===!1&&!x.minWidth&&(x.minWidth=0)),C(m.createElement("div",Object.assign({},w,{style:Object.assign(Object.assign(Object.assign({},x),A),T),className:S,ref:e}),p))});var qLt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{if(typeof t=="string"&&o(t),typeof t=="object")for(let r=0;r{i()},[JSON.stringify(t),e]),n}const nn=m.forwardRef((t,e)=>{const{prefixCls:n,justify:o,align:i,className:r,style:a,children:l,gutter:s=0,wrap:c}=t,u=qLt(t,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:f}=m.useContext(Mi),[p,g]=m.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[A,w]=m.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),b=_ve(i,A),C=_ve(o,A),P=m.useRef(s),v=DVe();m.useEffect(()=>{const U=v.subscribe(F=>{w(F);const B=P.current||0;(!Array.isArray(B)&&typeof B=="object"||Array.isArray(B)&&(typeof B[0]=="object"||typeof B[1]=="object"))&&g(F)});return()=>v.unsubscribe(U)},[]);const T=()=>{const U=[void 0,void 0];return(Array.isArray(s)?s:[s,void 0]).forEach((B,_)=>{if(typeof B=="object")for(let Y=0;Y0?H[0]/-2:void 0;W&&(k.marginLeft=W,k.marginRight=W);const[N,L]=H;k.rowGap=L;const E=m.useMemo(()=>({gutter:[N,L],wrap:c}),[N,L,c]);return S(m.createElement(cXe.Provider,{value:E},m.createElement("div",Object.assign({},u,{className:D,style:Object.assign(Object.assign({},k),a),ref:e}),l)))});var uXe=be.forwardRef(function(t,e){var n=t.prefixCls,o=t.forceRender,i=t.className,r=t.style,a=t.children,l=t.isActive,s=t.role,c=be.useState(l||o),u=on(c,2),d=u[0],f=u[1];return be.useEffect(function(){(o||l)&&f(!0)},[o,l]),d?be.createElement("div",{ref:e,className:_n("".concat(n,"-content"),_t(_t({},"".concat(n,"-content-active"),l),"".concat(n,"-content-inactive"),!l),i),style:r,role:s},be.createElement("div",{className:"".concat(n,"-content-box")},a)):null});uXe.displayName="PanelContent";var $Lt=["showArrow","headerClass","isActive","onItemClick","forceRender","className","prefixCls","collapsible","accordion","panelKey","extra","header","expandIcon","openMotion","destroyInactivePanel","children"],dXe=be.forwardRef(function(t,e){var n=t.showArrow,o=n===void 0?!0:n,i=t.headerClass,r=t.isActive,a=t.onItemClick,l=t.forceRender,s=t.className,c=t.prefixCls,u=t.collapsible,d=t.accordion,f=t.panelKey,p=t.extra,g=t.header,A=t.expandIcon,w=t.openMotion,b=t.destroyInactivePanel,C=t.children,P=ir(t,$Lt),v=u==="disabled",T=u==="header",y=u==="icon",S=p!=null&&typeof p!="boolean",x=function(){a==null||a(f)},R=function(L){(L.key==="Enter"||L.keyCode===Bn.ENTER||L.which===Bn.ENTER)&&x()},H=typeof A=="function"?A(t):be.createElement("i",{className:"arrow"});H&&(H=be.createElement("div",{className:"".concat(c,"-expand-icon"),onClick:["header","icon"].includes(u)?x:void 0},H));var D=_n(_t(_t(_t({},"".concat(c,"-item"),!0),"".concat(c,"-item-active"),r),"".concat(c,"-item-disabled"),v),s),k=_n(i,_t(_t(_t({},"".concat(c,"-header"),!0),"".concat(c,"-header-collapsible-only"),T),"".concat(c,"-icon-collapsible-only"),y)),W={className:k,"aria-expanded":r,"aria-disabled":v,onKeyDown:R};return!T&&!y&&(W.onClick=x,W.role=d?"tab":"button",W.tabIndex=v?-1:0),be.createElement("div",so({},P,{ref:e,className:D}),be.createElement("div",W,o&&H,be.createElement("span",{className:"".concat(c,"-header-text"),onClick:u==="header"?x:void 0},g),S&&be.createElement("div",{className:"".concat(c,"-extra")},p)),be.createElement(Hg,so({visible:r,leavedClassName:"".concat(c,"-content-hidden")},w,{forceRender:l,removeOnLeave:b}),function(N,L){var E=N.className,U=N.style;return be.createElement(uXe,{ref:L,prefixCls:c,className:E,style:U,isActive:r,forceRender:l,role:d?"tabpanel":void 0},C)}))}),QLt=["children","label","key","collapsible","onItemClick","destroyInactivePanel"],ZLt=function(e,n){var o=n.prefixCls,i=n.accordion,r=n.collapsible,a=n.destroyInactivePanel,l=n.onItemClick,s=n.activeKey,c=n.openMotion,u=n.expandIcon;return e.map(function(d,f){var p=d.children,g=d.label,A=d.key,w=d.collapsible,b=d.onItemClick,C=d.destroyInactivePanel,P=ir(d,QLt),v=String(A??f),T=w??r,y=C??a,S=function(H){T!=="disabled"&&(l(H),b==null||b(H))},x=!1;return i?x=s[0]===v:x=s.indexOf(v)>-1,be.createElement(dXe,so({},P,{prefixCls:o,key:v,panelKey:v,isActive:x,accordion:i,openMotion:c,expandIcon:u,header:g,collapsible:T,onItemClick:S,destroyInactivePanel:y}),p)})},eWt=function(e,n,o){if(!e)return null;var i=o.prefixCls,r=o.accordion,a=o.collapsible,l=o.destroyInactivePanel,s=o.onItemClick,c=o.activeKey,u=o.openMotion,d=o.expandIcon,f=e.key||String(n),p=e.props,g=p.header,A=p.headerClass,w=p.destroyInactivePanel,b=p.collapsible,C=p.onItemClick,P=!1;r?P=c[0]===f:P=c.indexOf(f)>-1;var v=b??a,T=function(x){v!=="disabled"&&(s(x),C==null||C(x))},y={key:f,panelKey:f,header:g,headerClass:A,isActive:P,prefixCls:i,destroyInactivePanel:w??l,openMotion:u,accordion:r,children:e.props.children,onItemClick:T,expandIcon:d,collapsible:v};return typeof e.type=="string"?e:(Object.keys(y).forEach(function(S){typeof y[S]>"u"&&delete y[S]}),be.cloneElement(e,y))};function tWt(t,e,n){return Array.isArray(t)?ZLt(t,n):Qw(e).map(function(o,i){return eWt(o,i,n)})}function nWt(t){var e=t;if(!Array.isArray(e)){var n=gr(e);e=n==="number"||n==="string"?[e]:[]}return e.map(function(o){return String(o)})}var oWt=be.forwardRef(function(t,e){var n=t.prefixCls,o=n===void 0?"rc-collapse":n,i=t.destroyInactivePanel,r=i===void 0?!1:i,a=t.style,l=t.accordion,s=t.className,c=t.children,u=t.collapsible,d=t.openMotion,f=t.expandIcon,p=t.activeKey,g=t.defaultActiveKey,A=t.onChange,w=t.items,b=_n(o,s),C=Rs([],{value:p,onChange:function(R){return A==null?void 0:A(R)},defaultValue:g,postState:nWt}),P=on(C,2),v=P[0],T=P[1],y=function(R){return T(function(){if(l)return v[0]===R?[]:[R];var H=v.indexOf(R),D=H>-1;return D?v.filter(function(k){return k!==R}):[].concat(Wo(v),[R])})};U0(!c,"[rc-collapse] `children` will be removed in next major version. Please use `items` instead.");var S=tWt(w,c,{prefixCls:o,accordion:l,openMotion:d,expandIcon:f,collapsible:u,destroyInactivePanel:r,onItemClick:y,activeKey:v});return be.createElement("div",so({ref:e,className:b,style:a,role:l?"tablist":void 0},gf(t,{aria:!0,data:!0})),S)});const Ime=Object.assign(oWt,{Panel:dXe});Ime.Panel;const iWt=m.forwardRef((t,e)=>{const{getPrefixCls:n}=m.useContext(Mi),{prefixCls:o,className:i,showArrow:r=!0}=t,a=n("collapse",o),l=Gn({[`${a}-no-arrow`]:!r},i);return m.createElement(Ime.Panel,Object.assign({ref:e},t,{prefixCls:a,className:l}))}),rWt=t=>{const{componentCls:e,contentBg:n,padding:o,headerBg:i,headerPadding:r,collapseHeaderPaddingSM:a,collapseHeaderPaddingLG:l,collapsePanelBorderRadius:s,lineWidth:c,lineType:u,colorBorder:d,colorText:f,colorTextHeading:p,colorTextDisabled:g,fontSizeLG:A,lineHeight:w,lineHeightLG:b,marginSM:C,paddingSM:P,paddingLG:v,paddingXS:T,motionDurationSlow:y,fontSizeIcon:S,contentPadding:x,fontHeight:R,fontHeightLG:H}=t,D=`${Ut(c)} ${u} ${d}`;return{[e]:Object.assign(Object.assign({},$a(t)),{backgroundColor:i,border:D,borderRadius:s,"&-rtl":{direction:"rtl"},[`& > ${e}-item`]:{borderBottom:D,"&:last-child":{[` &, - & > ${e}-header`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`> ${e}-header`]:{position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:r,color:p,lineHeight:w,cursor:"pointer",transition:`all ${y}, visibility 0s`,[`> ${e}-header-text`]:{flex:"auto"},"&:focus":{outline:"none"},[`${e}-expand-icon`]:{height:R,display:"flex",alignItems:"center",paddingInlineEnd:C},[`${e}-arrow`]:Object.assign(Object.assign({},CH()),{fontSize:S,transition:`transform ${y}`,svg:{transition:`transform ${y}`}}),[`${e}-header-text`]:{marginInlineEnd:"auto"}},[`${e}-icon-collapsible-only`]:{cursor:"unset",[`${e}-expand-icon`]:{cursor:"pointer"}}},[`${e}-content`]:{color:f,backgroundColor:n,borderTop:D,[`& > ${e}-content-box`]:{padding:x},"&-hidden":{display:"none"}},"&-small":{[`> ${e}-item`]:{[`> ${e}-header`]:{padding:a,paddingInlineStart:T,[`> ${e}-expand-icon`]:{marginInlineStart:t.calc(P).sub(T).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:P}}},"&-large":{[`> ${e}-item`]:{fontSize:A,lineHeight:b,[`> ${e}-header`]:{padding:l,paddingInlineStart:o,[`> ${e}-expand-icon`]:{height:H,marginInlineStart:t.calc(v).sub(o).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:v}}},[`${e}-item:last-child`]:{borderBottom:0,[`> ${e}-content`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`& ${e}-item-disabled > ${e}-header`]:{"\n &,\n & > .arrow\n ":{color:g,cursor:"not-allowed"}},[`&${e}-icon-position-end`]:{[`& > ${e}-item`]:{[`> ${e}-header`]:{[`${e}-expand-icon`]:{order:1,paddingInlineEnd:0,paddingInlineStart:C}}}}})}},sWt=t=>{const{componentCls:e}=t,n=`> ${e}-item > ${e}-header ${e}-arrow`;return{[`${e}-rtl`]:{[n]:{transform:"rotate(180deg)"}}}},cWt=t=>{const{componentCls:e,headerBg:n,paddingXXS:o,colorBorder:i}=t;return{[`${e}-borderless`]:{backgroundColor:n,border:0,[`> ${e}-item`]:{borderBottom:`1px solid ${i}`},[` + & > ${e}-header`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`> ${e}-header`]:{position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:r,color:p,lineHeight:w,cursor:"pointer",transition:`all ${y}, visibility 0s`,[`> ${e}-header-text`]:{flex:"auto"},"&:focus":{outline:"none"},[`${e}-expand-icon`]:{height:R,display:"flex",alignItems:"center",paddingInlineEnd:C},[`${e}-arrow`]:Object.assign(Object.assign({},CH()),{fontSize:S,transition:`transform ${y}`,svg:{transition:`transform ${y}`}}),[`${e}-header-text`]:{marginInlineEnd:"auto"}},[`${e}-icon-collapsible-only`]:{cursor:"unset",[`${e}-expand-icon`]:{cursor:"pointer"}}},[`${e}-content`]:{color:f,backgroundColor:n,borderTop:D,[`& > ${e}-content-box`]:{padding:x},"&-hidden":{display:"none"}},"&-small":{[`> ${e}-item`]:{[`> ${e}-header`]:{padding:a,paddingInlineStart:T,[`> ${e}-expand-icon`]:{marginInlineStart:t.calc(P).sub(T).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:P}}},"&-large":{[`> ${e}-item`]:{fontSize:A,lineHeight:b,[`> ${e}-header`]:{padding:l,paddingInlineStart:o,[`> ${e}-expand-icon`]:{height:H,marginInlineStart:t.calc(v).sub(o).equal()}},[`> ${e}-content > ${e}-content-box`]:{padding:v}}},[`${e}-item:last-child`]:{borderBottom:0,[`> ${e}-content`]:{borderRadius:`0 0 ${Ut(s)} ${Ut(s)}`}},[`& ${e}-item-disabled > ${e}-header`]:{"\n &,\n & > .arrow\n ":{color:g,cursor:"not-allowed"}},[`&${e}-icon-position-end`]:{[`& > ${e}-item`]:{[`> ${e}-header`]:{[`${e}-expand-icon`]:{order:1,paddingInlineEnd:0,paddingInlineStart:C}}}}})}},aWt=t=>{const{componentCls:e}=t,n=`> ${e}-item > ${e}-header ${e}-arrow`;return{[`${e}-rtl`]:{[n]:{transform:"rotate(180deg)"}}}},lWt=t=>{const{componentCls:e,headerBg:n,paddingXXS:o,colorBorder:i}=t;return{[`${e}-borderless`]:{backgroundColor:n,border:0,[`> ${e}-item`]:{borderBottom:`1px solid ${i}`},[` > ${e}-item:last-child, > ${e}-item:last-child ${e}-header - `]:{borderRadius:0},[`> ${e}-item:last-child`]:{borderBottom:0},[`> ${e}-item > ${e}-content`]:{backgroundColor:"transparent",borderTop:0},[`> ${e}-item > ${e}-content > ${e}-content-box`]:{paddingTop:o}}}},uWt=t=>{const{componentCls:e,paddingSM:n}=t;return{[`${e}-ghost`]:{backgroundColor:"transparent",border:0,[`> ${e}-item`]:{borderBottom:0,[`> ${e}-content`]:{backgroundColor:"transparent",border:0,[`> ${e}-content-box`]:{paddingBlock:n}}}}}},dWt=t=>({headerPadding:`${t.paddingSM}px ${t.padding}px`,headerBg:t.colorFillAlter,contentPadding:`${t.padding}px 16px`,contentBg:t.colorBgContainer}),fWt=Fl("Collapse",t=>{const e=Zr(t,{collapseHeaderPaddingSM:`${Ut(t.paddingXS)} ${Ut(t.paddingSM)}`,collapseHeaderPaddingLG:`${Ut(t.padding)} ${Ut(t.paddingLG)}`,collapsePanelBorderRadius:t.borderRadiusLG});return[lWt(e),cWt(e),uWt(e),sWt(e),Zge(e)]},dWt),hWt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o,collapse:i}=m.useContext(Mi),{prefixCls:r,className:a,rootClassName:l,style:s,bordered:c=!0,ghost:u,size:d,expandIconPosition:f="start",children:p,expandIcon:g}=t,A=Rd(D=>{var k;return(k=d??D)!==null&&k!==void 0?k:"middle"}),w=n("collapse",r),b=n(),[C,P,v]=fWt(w),T=m.useMemo(()=>f==="left"?"start":f==="right"?"end":f,[f]),y=g??(i==null?void 0:i.expandIcon),S=m.useCallback(function(){let D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const k=typeof y=="function"?y(D):m.createElement(SG,{rotate:D.isActive?90:void 0});return Ou(k,()=>{var W;return{className:Gn((W=k==null?void 0:k.props)===null||W===void 0?void 0:W.className,`${w}-arrow`)}})},[y,w]),x=Gn(`${w}-icon-position-${T}`,{[`${w}-borderless`]:!c,[`${w}-rtl`]:o==="rtl",[`${w}-ghost`]:!!u,[`${w}-${A}`]:A!=="middle"},i==null?void 0:i.className,a,l,P,v),R=Object.assign(Object.assign({},Xge(b)),{motionAppear:!1,leavedClassName:`${w}-content-hidden`}),H=m.useMemo(()=>p?E9(p).map((D,k)=>{var W,N;if(!((W=D.props)===null||W===void 0)&&W.disabled){const L=(N=D.key)!==null&&N!==void 0?N:String(k),{disabled:E,collapsible:U}=D.props,F=Object.assign(Object.assign({},lp(D.props,["disabled"])),{key:L,collapsible:U??(E?"disabled":void 0)});return Ou(D,F)}return D}):null,[p]);return C(m.createElement(Ime,Object.assign({ref:e,openMotion:R},lp(t,["rootClassName"]),{expandIcon:S,prefixCls:w,className:x,style:Object.assign(Object.assign({},i==null?void 0:i.style),s)}),H))}),zme=Object.assign(hWt,{Panel:aWt}),pWt=t=>{const{componentCls:e,sizePaddingEdgeHorizontal:n,colorSplit:o,lineWidth:i,textPaddingInline:r,orientationMargin:a,verticalMarginInline:l}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{borderBlockStart:`${Ut(i)} solid ${o}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:l,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${Ut(i)} solid ${o}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${Ut(t.dividerHorizontalGutterMargin)} 0`},[`&-horizontal${e}-with-text`]:{display:"flex",alignItems:"center",margin:`${Ut(t.dividerHorizontalWithTextGutterMargin)} 0`,color:t.colorTextHeading,fontWeight:500,fontSize:t.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${o}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${Ut(i)} solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${e}-with-text-left`]:{"&::before":{width:`calc(${a} * 100%)`},"&::after":{width:`calc(100% - ${a} * 100%)`}},[`&-horizontal${e}-with-text-right`]:{"&::before":{width:`calc(100% - ${a} * 100%)`},"&::after":{width:`calc(${a} * 100%)`}},[`${e}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:r},"&-dashed":{background:"none",borderColor:o,borderStyle:"dashed",borderWidth:`${Ut(i)} 0 0`},[`&-horizontal${e}-with-text${e}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${e}-dashed`]:{borderInlineStartWidth:i,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${e}-with-text`]:{color:t.colorText,fontWeight:"normal",fontSize:t.fontSize},[`&-horizontal${e}-with-text-left${e}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${e}-inner-text`]:{paddingInlineStart:n}},[`&-horizontal${e}-with-text-right${e}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${e}-inner-text`]:{paddingInlineEnd:n}}})}},gWt=t=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:t.marginXS}),mWt=Fl("Divider",t=>{const e=Zr(t,{dividerHorizontalWithTextGutterMargin:t.margin,dividerHorizontalGutterMargin:t.marginLG,sizePaddingEdgeHorizontal:0});return[pWt(e)]},gWt,{unitless:{orientationMargin:!0}});var yWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n,divider:o}=m.useContext(Mi),{prefixCls:i,type:r="horizontal",orientation:a="center",orientationMargin:l,className:s,rootClassName:c,children:u,dashed:d,plain:f,style:p}=t,g=yWt(t,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),A=e("divider",i),[w,b,C]=mWt(A),P=a.length>0?`-${a}`:a,v=!!u,T=a==="left"&&l!=null,y=a==="right"&&l!=null,S=Gn(A,o==null?void 0:o.className,b,C,`${A}-${r}`,{[`${A}-with-text`]:v,[`${A}-with-text${P}`]:v,[`${A}-dashed`]:!!d,[`${A}-plain`]:!!f,[`${A}-rtl`]:n==="rtl",[`${A}-no-default-orientation-margin-left`]:T,[`${A}-no-default-orientation-margin-right`]:y},s,c),x=m.useMemo(()=>typeof l=="number"?l:/^\d+$/.test(l)?Number(l):l,[l]),R=Object.assign(Object.assign({},T&&{marginLeft:x}),y&&{marginRight:x});return w(m.createElement("div",Object.assign({className:S,style:Object.assign(Object.assign({},o==null?void 0:o.style),p)},g,{role:"separator"}),u&&r!=="vertical"&&m.createElement("span",{className:`${A}-inner-text`,style:R},u)))};var AWt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},wWt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:AWt}))},vWt=m.forwardRef(wWt);function U0e(){return typeof BigInt=="function"}function pXe(t){return!t&&t!==0&&!Number.isNaN(t)||!String(t).trim()}function fx(t){var e=t.trim(),n=e.startsWith("-");n&&(e=e.slice(1)),e=e.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),e.startsWith(".")&&(e="0".concat(e));var o=e||"0",i=o.split("."),r=i[0]||"0",a=i[1]||"0";r==="0"&&a==="0"&&(n=!1);var l=n?"-":"";return{negative:n,negativeStr:l,trimStr:o,integerStr:r,decimalStr:a,fullStr:"".concat(l).concat(o)}}function Dme(t){var e=String(t);return!Number.isNaN(Number(e))&&e.includes("e")}function Lv(t){var e=String(t);if(Dme(t)){var n=Number(e.slice(e.indexOf("e-")+2)),o=e.match(/\.(\d+)/);return o!=null&&o[1]&&(n+=o[1].length),n}return e.includes(".")&&Eme(e)?e.length-e.indexOf(".")-1:0}function F$(t){var e=String(t);if(Dme(t)){if(t>Number.MAX_SAFE_INTEGER)return String(U0e()?BigInt(t).toString():Number.MAX_SAFE_INTEGER);if(t0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":fx("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),t}(),bWt=function(){function t(e){if(pp(this,t),_t(this,"origin",""),_t(this,"number",void 0),_t(this,"empty",void 0),pXe(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}return gp(t,[{key:"negate",value:function(){return new t(-this.toNumber())}},{key:"add",value:function(n){if(this.isInvalidate())return new t(n);var o=Number(n);if(Number.isNaN(o))return this;var i=this.number+o;if(i>Number.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(iNumber.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(i0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":F$(this.number):this.origin}}]),t}();function Qy(t){return U0e()?new xWt(t):new bWt(t)}function L_(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(t==="")return"";var i=fx(t),r=i.negativeStr,a=i.integerStr,l=i.decimalStr,s="".concat(e).concat(l),c="".concat(r).concat(a);if(n>=0){var u=Number(l[n]);if(u>=5&&!o){var d=Qy(t).add("".concat(r,"0.").concat("0".repeat(n)).concat(10-u));return L_(d.toString(),e,n,o)}return n===0?c:"".concat(c).concat(e).concat(l.padEnd(n,"0").slice(0,n))}return s===".0"?c:"".concat(c).concat(s)}function SWt(t){return!!(t.addonBefore||t.addonAfter)}function TWt(t){return!!(t.prefix||t.suffix||t.allowClear)}function Gve(t,e,n){var o=e.cloneNode(!0),i=Object.create(t,{target:{value:o},currentTarget:{value:o}});return o.value=n,typeof e.selectionStart=="number"&&typeof e.selectionEnd=="number"&&(o.selectionStart=e.selectionStart,o.selectionEnd=e.selectionEnd),i}function IG(t,e,n,o){if(n){var i=e;if(e.type==="click"){i=Gve(e,t,""),n(i);return}if(t.type!=="file"&&o!==void 0){i=Gve(e,t,o),n(i);return}n(i)}}function gXe(t,e){if(t){t.focus(e);var n=e||{},o=n.cursor;if(o){var i=t.value.length;switch(o){case"start":t.setSelectionRange(0,0);break;case"end":t.setSelectionRange(i,i);break;default:t.setSelectionRange(0,i)}}}}var kme=function(e){var n,o,i=e.inputElement,r=e.children,a=e.prefixCls,l=e.prefix,s=e.suffix,c=e.addonBefore,u=e.addonAfter,d=e.className,f=e.style,p=e.disabled,g=e.readOnly,A=e.focused,w=e.triggerFocus,b=e.allowClear,C=e.value,P=e.handleReset,v=e.hidden,T=e.classes,y=e.classNames,S=e.dataAttrs,x=e.styles,R=e.components,H=r??i,D=(R==null?void 0:R.affixWrapper)||"span",k=(R==null?void 0:R.groupWrapper)||"span",W=(R==null?void 0:R.wrapper)||"span",N=(R==null?void 0:R.groupAddon)||"span",L=m.useRef(null),E=function(pe){var fe;(fe=L.current)!==null&&fe!==void 0&&fe.contains(pe.target)&&(w==null||w())},U=TWt(e),F=m.cloneElement(H,{value:C,className:_n(H.props.className,!U&&(y==null?void 0:y.variant))||null});if(U){var B,_=null;if(b){var Y,O=!p&&!g&&C,J="".concat(a,"-clear-icon"),Z=gr(b)==="object"&&b!==null&&b!==void 0&&b.clearIcon?b.clearIcon:"✖";_=be.createElement("span",{onClick:P,onMouseDown:function(pe){return pe.preventDefault()},className:_n(J,(Y={},_t(Y,"".concat(J,"-hidden"),!O),_t(Y,"".concat(J,"-has-suffix"),!!s),Y)),role:"button",tabIndex:-1},Z)}var ie="".concat(a,"-affix-wrapper"),ee=_n(ie,(B={},_t(B,"".concat(a,"-disabled"),p),_t(B,"".concat(ie,"-disabled"),p),_t(B,"".concat(ie,"-focused"),A),_t(B,"".concat(ie,"-readonly"),g),_t(B,"".concat(ie,"-input-with-clear-btn"),s&&b&&C),B),T==null?void 0:T.affixWrapper,y==null?void 0:y.affixWrapper,y==null?void 0:y.variant),q=(s||b)&&be.createElement("span",{className:_n("".concat(a,"-suffix"),y==null?void 0:y.suffix),style:x==null?void 0:x.suffix},_,s);F=be.createElement(D,so({className:ee,style:x==null?void 0:x.affixWrapper,onClick:E},S==null?void 0:S.affixWrapper,{ref:L}),l&&be.createElement("span",{className:_n("".concat(a,"-prefix"),y==null?void 0:y.prefix),style:x==null?void 0:x.prefix},l),F,q)}if(SWt(e)){var ae="".concat(a,"-group"),ne="".concat(ae,"-addon"),se="".concat(ae,"-wrapper"),le=_n("".concat(a,"-wrapper"),ae,T==null?void 0:T.wrapper,y==null?void 0:y.wrapper),te=_n(se,_t({},"".concat(se,"-disabled"),p),T==null?void 0:T.group,y==null?void 0:y.groupWrapper);F=be.createElement(k,{className:te},be.createElement(W,{className:le},c&&be.createElement(N,{className:ne},c),F,u&&be.createElement(N,{className:ne},u)))}return be.cloneElement(F,{className:_n((n=F.props)===null||n===void 0?void 0:n.className,d)||null,style:$t($t({},(o=F.props)===null||o===void 0?void 0:o.style),f),hidden:v})},PWt=["show"];function mXe(t,e){return m.useMemo(function(){var n={};e&&(n.show=gr(e)==="object"&&e.formatter?e.formatter:!!e),n=$t($t({},n),t);var o=n,i=o.show,r=ir(o,PWt);return $t($t({},r),{},{show:!!i,showFormatter:typeof i=="function"?i:void 0,strategy:r.strategy||function(a){return a.length}})},[t,e])}var CWt=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],RWt=m.forwardRef(function(t,e){var n=t.autoComplete,o=t.onChange,i=t.onFocus,r=t.onBlur,a=t.onPressEnter,l=t.onKeyDown,s=t.prefixCls,c=s===void 0?"rc-input":s,u=t.disabled,d=t.htmlSize,f=t.className,p=t.maxLength,g=t.suffix,A=t.showCount,w=t.count,b=t.type,C=b===void 0?"text":b,P=t.classes,v=t.classNames,T=t.styles,y=t.onCompositionStart,S=t.onCompositionEnd,x=ir(t,CWt),R=m.useState(!1),H=on(R,2),D=H[0],k=H[1],W=m.useRef(!1),N=m.useRef(null),L=function(ve){N.current&&gXe(N.current,ve)},E=Rs(t.defaultValue,{value:t.value}),U=on(E,2),F=U[0],B=U[1],_=F==null?"":String(F),Y=m.useState(null),O=on(Y,2),J=O[0],Z=O[1],ie=mXe(w,A),ee=ie.max||p,q=ie.strategy(_),ae=!!ee&&q>ee;m.useImperativeHandle(e,function(){return{focus:L,blur:function(){var ve;(ve=N.current)===null||ve===void 0||ve.blur()},setSelectionRange:function(ve,Ie,ze){var ye;(ye=N.current)===null||ye===void 0||ye.setSelectionRange(ve,Ie,ze)},select:function(){var ve;(ve=N.current)===null||ve===void 0||ve.select()},input:N.current}}),m.useEffect(function(){k(function(Ce){return Ce&&u?!1:Ce})},[u]);var ne=function(ve,Ie,ze){var ye=Ie;if(!W.current&&ie.exceedFormatter&&ie.max&&ie.strategy(Ie)>ie.max){if(ye=ie.exceedFormatter(Ie,{max:ie.max}),Ie!==ye){var oe,ge;Z([((oe=N.current)===null||oe===void 0?void 0:oe.selectionStart)||0,((ge=N.current)===null||ge===void 0?void 0:ge.selectionEnd)||0])}}else if(ze.source==="compositionEnd")return;B(ye),N.current&&IG(N.current,ve,o,ye)};m.useEffect(function(){if(J){var Ce;(Ce=N.current)===null||Ce===void 0||Ce.setSelectionRange.apply(Ce,Wo(J))}},[J]);var se=function(ve){ne(ve,ve.target.value,{source:"change"})},le=function(ve){W.current=!1,ne(ve,ve.currentTarget.value,{source:"compositionEnd"}),S==null||S(ve)},te=function(ve){a&&ve.key==="Enter"&&a(ve),l==null||l(ve)},he=function(ve){k(!0),i==null||i(ve)},pe=function(ve){k(!1),r==null||r(ve)},fe=function(ve){B(""),L(),N.current&&IG(N.current,ve,o)},$=ae&&"".concat(c,"-out-of-range"),de=function(){var ve=MH(t,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]);return be.createElement("input",so({autoComplete:n},ve,{onChange:se,onFocus:he,onBlur:pe,onKeyDown:te,className:_n(c,_t({},"".concat(c,"-disabled"),u),v==null?void 0:v.input),style:T==null?void 0:T.input,ref:N,size:d,type:C,onCompositionStart:function(ze){W.current=!0,y==null||y(ze)},onCompositionEnd:le}))},Se=function(){var ve=Number(ee)>0;if(g||ie.show){var Ie=ie.showFormatter?ie.showFormatter({value:_,count:q,maxLength:ee}):"".concat(q).concat(ve?" / ".concat(ee):"");return be.createElement(be.Fragment,null,ie.show&&be.createElement("span",{className:_n("".concat(c,"-show-count-suffix"),_t({},"".concat(c,"-show-count-has-suffix"),!!g),v==null?void 0:v.count),style:$t({},T==null?void 0:T.count)},Ie),g)}return null};return be.createElement(kme,so({},x,{prefixCls:c,className:_n(f,$),handleReset:fe,value:_,focused:D,triggerFocus:L,suffix:Se(),disabled:u,classes:P,classNames:v,styles:T}),de())});function HWt(t,e){var n=m.useRef(null);function o(){try{var r=t.selectionStart,a=t.selectionEnd,l=t.value,s=l.substring(0,r),c=l.substring(a);n.current={start:r,end:a,value:l,beforeTxt:s,afterTxt:c}}catch{}}function i(){if(t&&n.current&&e)try{var r=t.value,a=n.current,l=a.beforeTxt,s=a.afterTxt,c=a.start,u=r.length;if(r.endsWith(s))u=r.length-n.current.afterTxt.length;else if(r.startsWith(l))u=l.length;else{var d=l[c-1],f=r.indexOf(d,c-1);f!==-1&&(u=f+1)}t.setSelectionRange(u,u)}catch(p){U0(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(p.message))}}return[o,i]}var MWt=function(){var e=m.useState(!1),n=on(e,2),o=n[0],i=n[1];return Ba(function(){i(y$())},[]),o},IWt=200,zWt=600;function DWt(t){var e=t.prefixCls,n=t.upNode,o=t.downNode,i=t.upDisabled,r=t.downDisabled,a=t.onStep,l=m.useRef(),s=m.useRef([]),c=m.useRef();c.current=a;var u=function(){clearTimeout(l.current)},d=function(P,v){P.preventDefault(),u(),c.current(v);function T(){c.current(v),l.current=setTimeout(T,IWt)}l.current=setTimeout(T,zWt)};m.useEffect(function(){return function(){u(),s.current.forEach(function(C){return za.cancel(C)})}},[]);var f=MWt();if(f)return null;var p="".concat(e,"-handler"),g=_n(p,"".concat(p,"-up"),_t({},"".concat(p,"-up-disabled"),i)),A=_n(p,"".concat(p,"-down"),_t({},"".concat(p,"-down-disabled"),r)),w=function(){return s.current.push(za(u))},b={unselectable:"on",role:"button",onMouseUp:w,onMouseLeave:w};return m.createElement("div",{className:"".concat(p,"-wrap")},m.createElement("span",so({},b,{onMouseDown:function(P){d(P,!0)},"aria-label":"Increase Value","aria-disabled":i,className:g}),n||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-up-inner")})),m.createElement("span",so({},b,{onMouseDown:function(P){d(P,!1)},"aria-label":"Decrease Value","aria-disabled":r,className:A}),o||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-down-inner")})))}function Xve(t){var e=typeof t=="number"?F$(t):fx(t).fullStr,n=e.includes(".");return n?fx(e.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:t+"0"}const EWt=function(){var t=m.useRef(0),e=function(){za.cancel(t.current)};return m.useEffect(function(){return e},[]),function(n){e(),t.current=za(function(){n()})}};var kWt=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","changeOnWheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],FWt=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],Jve=function(e,n){return e||n.isEmpty()?n.toString():n.toNumber()},Kve=function(e){var n=Qy(e);return n.isInvalidate()?null:n},LWt=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-input-number":o,r=t.className,a=t.style,l=t.min,s=t.max,c=t.step,u=c===void 0?1:c,d=t.defaultValue,f=t.value,p=t.disabled,g=t.readOnly,A=t.upHandler,w=t.downHandler,b=t.keyboard,C=t.changeOnWheel,P=C===void 0?!1:C,v=t.controls,T=v===void 0?!0:v;t.classNames;var y=t.stringMode,S=t.parser,x=t.formatter,R=t.precision,H=t.decimalSeparator,D=t.onChange,k=t.onInput,W=t.onPressEnter,N=t.onStep,L=t.changeOnBlur,E=L===void 0?!0:L,U=ir(t,kWt),F="".concat(i,"-input"),B=m.useRef(null),_=m.useState(!1),Y=on(_,2),O=Y[0],J=Y[1],Z=m.useRef(!1),ie=m.useRef(!1),ee=m.useRef(!1),q=m.useState(function(){return Qy(f??d)}),ae=on(q,2),ne=ae[0],se=ae[1];function le(dt){f===void 0&&se(dt)}var te=m.useCallback(function(dt,Qe){if(!Qe)return R>=0?R:Math.max(Lv(dt),Lv(u))},[R,u]),he=m.useCallback(function(dt){var Qe=String(dt);if(S)return S(Qe);var ut=Qe;return H&&(ut=ut.replace(H,".")),ut.replace(/[^\w.-]+/g,"")},[S,H]),pe=m.useRef(""),fe=m.useCallback(function(dt,Qe){if(x)return x(dt,{userTyping:Qe,input:String(pe.current)});var ut=typeof dt=="number"?F$(dt):dt;if(!Qe){var ft=te(ut,Qe);if(Eme(ut)&&(H||ft>=0)){var at=H||".";ut=L_(ut,at,ft)}}return ut},[x,te,H]),$=m.useState(function(){var dt=d??f;return ne.isInvalidate()&&["string","number"].includes(gr(dt))?Number.isNaN(dt)?"":dt:fe(ne.toString(),!1)}),de=on($,2),Se=de[0],Ce=de[1];pe.current=Se;function ve(dt,Qe){Ce(fe(dt.isInvalidate()?dt.toString(!1):dt.toString(!Qe),Qe))}var Ie=m.useMemo(function(){return Kve(s)},[s,R]),ze=m.useMemo(function(){return Kve(l)},[l,R]),ye=m.useMemo(function(){return!Ie||!ne||ne.isInvalidate()?!1:Ie.lessEquals(ne)},[Ie,ne]),oe=m.useMemo(function(){return!ze||!ne||ne.isInvalidate()?!1:ne.lessEquals(ze)},[ze,ne]),ge=HWt(B.current,O),Ae=on(ge,2),me=Ae[0],Pe=Ae[1],Me=function(Qe){return Ie&&!Qe.lessEquals(Ie)?Ie:ze&&!ze.lessEquals(Qe)?ze:null},Te=function(Qe){return!Me(Qe)},De=function(Qe,ut){var ft=Qe,at=Te(ft)||ft.isEmpty();if(!ft.isEmpty()&&!ut&&(ft=Me(ft)||ft,at=!0),!g&&!p&&at){var ot=ft.toString(),et=te(ot,ut);return et>=0&&(ft=Qy(L_(ot,".",et)),Te(ft)||(ft=Qy(L_(ot,".",et,!0)))),ft.equals(ne)||(le(ft),D==null||D(ft.isEmpty()?null:Jve(y,ft)),f===void 0&&ve(ft,ut)),ft}return ne},Ue=EWt(),Oe=function dt(Qe){if(me(),pe.current=Qe,Ce(Qe),!ie.current){var ut=he(Qe),ft=Qy(ut);ft.isNaN()||De(ft,!0)}k==null||k(Qe),Ue(function(){var at=Qe;S||(at=Qe.replace(/。/g,".")),at!==Qe&&dt(at)})},Le=function(){ie.current=!0},$e=function(){ie.current=!1,Oe(B.current.value)},We=function(Qe){Oe(Qe.target.value)},Ee=function(Qe){var ut;if(!(Qe&&ye||!Qe&&oe)){Z.current=!1;var ft=Qy(ee.current?Xve(u):u);Qe||(ft=ft.negate());var at=(ne||Qy(0)).add(ft.toString()),ot=De(at,!1);N==null||N(Jve(y,ot),{offset:ee.current?Xve(u):u,type:Qe?"up":"down"}),(ut=B.current)===null||ut===void 0||ut.focus()}},Fe=function(Qe){var ut=Qy(he(Se)),ft=ut;ut.isNaN()?ft=De(ne,Qe):ft=De(ut,Qe),f!==void 0?ve(ne,!1):ft.isNaN()||ve(ft,!1)},Ge=function(){Z.current=!0},rt=function(Qe){var ut=Qe.key,ft=Qe.shiftKey;Z.current=!0,ee.current=ft,ut==="Enter"&&(ie.current||(Z.current=!1),Fe(!1),W==null||W(Qe)),b!==!1&&!ie.current&&["Up","ArrowUp","Down","ArrowDown"].includes(ut)&&(Ee(ut==="Up"||ut==="ArrowUp"),Qe.preventDefault())},Ve=function(){Z.current=!1,ee.current=!1};m.useEffect(function(){if(P&&O){var dt=function(ft){Ee(ft.deltaY<0),ft.preventDefault()},Qe=B.current;if(Qe)return Qe.addEventListener("wheel",dt,{passive:!1}),function(){return Qe.removeEventListener("wheel",dt)}}});var xt=function(){E&&Fe(!1),J(!1),Z.current=!1};return sx(function(){ne.isInvalidate()||ve(ne,!1)},[R,x]),sx(function(){var dt=Qy(f);se(dt);var Qe=Qy(he(Se));(!dt.equals(Qe)||!Z.current||x)&&ve(dt,Z.current)},[f]),sx(function(){x&&Pe()},[Se]),m.createElement("div",{className:_n(i,r,(n={},_t(n,"".concat(i,"-focused"),O),_t(n,"".concat(i,"-disabled"),p),_t(n,"".concat(i,"-readonly"),g),_t(n,"".concat(i,"-not-a-number"),ne.isNaN()),_t(n,"".concat(i,"-out-of-range"),!ne.isInvalidate()&&!Te(ne)),n)),style:a,onFocus:function(){J(!0)},onBlur:xt,onKeyDown:rt,onKeyUp:Ve,onCompositionStart:Le,onCompositionEnd:$e,onBeforeInput:Ge},T&&m.createElement(DWt,{prefixCls:i,upNode:A,downNode:w,upDisabled:ye,downDisabled:oe,onStep:Ee}),m.createElement("div",{className:"".concat(F,"-wrap")},m.createElement("input",so({autoComplete:"off",role:"spinbutton","aria-valuemin":l,"aria-valuemax":s,"aria-valuenow":ne.isInvalidate()?null:ne.toString(),step:u},U,{ref:Rb(B,e),className:F,value:Se,onChange:We,disabled:p,readOnly:g}))))}),yXe=m.forwardRef(function(t,e){var n=t.disabled,o=t.style,i=t.prefixCls,r=t.value,a=t.prefix,l=t.suffix,s=t.addonBefore,c=t.addonAfter,u=t.className,d=t.classNames,f=ir(t,FWt),p=m.useRef(null),g=function(w){p.current&&gXe(p.current,w)};return m.createElement(kme,{className:u,triggerFocus:g,prefixCls:i,value:r,disabled:n,style:o,prefix:a,suffix:l,addonAfter:c,addonBefore:s,classNames:d,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},m.createElement(LWt,so({prefixCls:i,disabled:n,ref:Rb(p,e),className:d==null?void 0:d.input},f)))});yXe.displayName="InputNumber";const WWt=t=>{var e;const n=(e=t.handleVisible)!==null&&e!==void 0?e:"auto";return Object.assign(Object.assign({},EW(t)),{controlWidth:90,handleWidth:t.controlHeightSM-t.lineWidth*2,handleFontSize:t.fontSize/2,handleVisible:n,handleActiveBg:t.colorFillAlter,handleBg:t.colorBgContainer,filledHandleBg:new Il(t.colorFillSecondary).onBackground(t.colorBgContainer).toHexString(),handleHoverColor:t.colorPrimary,handleBorderColor:t.colorBorder,handleOpacity:n===!0?1:0})},qve=(t,e)=>{let{componentCls:n,borderRadiusSM:o,borderRadiusLG:i}=t;const r=e==="lg"?i:o;return{[`&-${e}`]:{[`${n}-handler-wrap`]:{borderStartEndRadius:r,borderEndEndRadius:r},[`${n}-handler-up`]:{borderStartEndRadius:r},[`${n}-handler-down`]:{borderEndEndRadius:r}}}},NWt=t=>{const{componentCls:e,lineWidth:n,lineType:o,borderRadius:i,fontSizeLG:r,controlHeightLG:a,controlHeightSM:l,colorError:s,paddingInlineSM:c,paddingBlockSM:u,paddingBlockLG:d,paddingInlineLG:f,colorTextDescription:p,motionDurationMid:g,handleHoverColor:A,paddingInline:w,paddingBlock:b,handleBg:C,handleActiveBg:P,colorTextDisabled:v,borderRadiusSM:T,borderRadiusLG:y,controlWidth:S,handleOpacity:x,handleBorderColor:R,filledHandleBg:H,lineHeightLG:D,calc:k}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),{display:"inline-block",width:S,margin:0,padding:0,borderRadius:i}),Tme(t,{[`${e}-handler-wrap`]:{background:C,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}}})),Cme(t,{[`${e}-handler-wrap`]:{background:H,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}},"&:focus-within":{[`${e}-handler-wrap`]:{background:C}}})),Pme(t)),{"&-rtl":{direction:"rtl",[`${e}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:r,lineHeight:D,borderRadius:y,[`input${e}-input`]:{height:k(a).sub(k(n).mul(2)).equal(),padding:`${Ut(d)} ${Ut(f)}`}},"&-sm":{padding:0,borderRadius:T,[`input${e}-input`]:{height:k(l).sub(k(n).mul(2)).equal(),padding:`${Ut(u)} ${Ut(c)}`}},"&-out-of-range":{[`${e}-input-wrap`]:{input:{color:s}}},"&-group":Object.assign(Object.assign(Object.assign({},$a(t)),ZGe(t)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",[`${e}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${e}-group-addon`]:{borderRadius:y,fontSize:t.fontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:T}}},KGe(t)),$Ge(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),[`&-disabled ${e}-input`]:{cursor:"not-allowed"},[e]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{width:"100%",padding:`${Ut(b)} ${Ut(w)}`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:i,outline:0,transition:`all ${g} linear`,appearance:"textfield",fontSize:"inherit"}),Rme(t.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[e]:Object.assign(Object.assign(Object.assign({[`&:hover ${e}-handler-wrap, &-focused ${e}-handler-wrap`]:{opacity:1},[`${e}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:t.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i,borderEndStartRadius:0,opacity:x,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${g} linear ${g}`,[`${e}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` + `]:{borderRadius:0},[`> ${e}-item:last-child`]:{borderBottom:0},[`> ${e}-item > ${e}-content`]:{backgroundColor:"transparent",borderTop:0},[`> ${e}-item > ${e}-content > ${e}-content-box`]:{paddingTop:o}}}},sWt=t=>{const{componentCls:e,paddingSM:n}=t;return{[`${e}-ghost`]:{backgroundColor:"transparent",border:0,[`> ${e}-item`]:{borderBottom:0,[`> ${e}-content`]:{backgroundColor:"transparent",border:0,[`> ${e}-content-box`]:{paddingBlock:n}}}}}},cWt=t=>({headerPadding:`${t.paddingSM}px ${t.padding}px`,headerBg:t.colorFillAlter,contentPadding:`${t.padding}px 16px`,contentBg:t.colorBgContainer}),uWt=Fl("Collapse",t=>{const e=Zr(t,{collapseHeaderPaddingSM:`${Ut(t.paddingXS)} ${Ut(t.paddingSM)}`,collapseHeaderPaddingLG:`${Ut(t.padding)} ${Ut(t.paddingLG)}`,collapsePanelBorderRadius:t.borderRadiusLG});return[rWt(e),lWt(e),sWt(e),aWt(e),Zge(e)]},cWt),dWt=m.forwardRef((t,e)=>{const{getPrefixCls:n,direction:o,collapse:i}=m.useContext(Mi),{prefixCls:r,className:a,rootClassName:l,style:s,bordered:c=!0,ghost:u,size:d,expandIconPosition:f="start",children:p,expandIcon:g}=t,A=Rd(D=>{var k;return(k=d??D)!==null&&k!==void 0?k:"middle"}),w=n("collapse",r),b=n(),[C,P,v]=uWt(w),T=m.useMemo(()=>f==="left"?"start":f==="right"?"end":f,[f]),y=g??(i==null?void 0:i.expandIcon),S=m.useCallback(function(){let D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const k=typeof y=="function"?y(D):m.createElement(SG,{rotate:D.isActive?90:void 0});return Ou(k,()=>{var W;return{className:Gn((W=k==null?void 0:k.props)===null||W===void 0?void 0:W.className,`${w}-arrow`)}})},[y,w]),x=Gn(`${w}-icon-position-${T}`,{[`${w}-borderless`]:!c,[`${w}-rtl`]:o==="rtl",[`${w}-ghost`]:!!u,[`${w}-${A}`]:A!=="middle"},i==null?void 0:i.className,a,l,P,v),R=Object.assign(Object.assign({},Xge(b)),{motionAppear:!1,leavedClassName:`${w}-content-hidden`}),H=m.useMemo(()=>p?E9(p).map((D,k)=>{var W,N;if(!((W=D.props)===null||W===void 0)&&W.disabled){const L=(N=D.key)!==null&&N!==void 0?N:String(k),{disabled:E,collapsible:U}=D.props,F=Object.assign(Object.assign({},lp(D.props,["disabled"])),{key:L,collapsible:U??(E?"disabled":void 0)});return Ou(D,F)}return D}):null,[p]);return C(m.createElement(Ime,Object.assign({ref:e,openMotion:R},lp(t,["rootClassName"]),{expandIcon:S,prefixCls:w,className:x,style:Object.assign(Object.assign({},i==null?void 0:i.style),s)}),H))}),zme=Object.assign(dWt,{Panel:iWt}),fWt=t=>{const{componentCls:e,sizePaddingEdgeHorizontal:n,colorSplit:o,lineWidth:i,textPaddingInline:r,orientationMargin:a,verticalMarginInline:l}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{borderBlockStart:`${Ut(i)} solid ${o}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:l,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${Ut(i)} solid ${o}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${Ut(t.dividerHorizontalGutterMargin)} 0`},[`&-horizontal${e}-with-text`]:{display:"flex",alignItems:"center",margin:`${Ut(t.dividerHorizontalWithTextGutterMargin)} 0`,color:t.colorTextHeading,fontWeight:500,fontSize:t.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${o}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${Ut(i)} solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${e}-with-text-left`]:{"&::before":{width:`calc(${a} * 100%)`},"&::after":{width:`calc(100% - ${a} * 100%)`}},[`&-horizontal${e}-with-text-right`]:{"&::before":{width:`calc(100% - ${a} * 100%)`},"&::after":{width:`calc(${a} * 100%)`}},[`${e}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:r},"&-dashed":{background:"none",borderColor:o,borderStyle:"dashed",borderWidth:`${Ut(i)} 0 0`},[`&-horizontal${e}-with-text${e}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${e}-dashed`]:{borderInlineStartWidth:i,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${e}-with-text`]:{color:t.colorText,fontWeight:"normal",fontSize:t.fontSize},[`&-horizontal${e}-with-text-left${e}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${e}-inner-text`]:{paddingInlineStart:n}},[`&-horizontal${e}-with-text-right${e}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${e}-inner-text`]:{paddingInlineEnd:n}}})}},hWt=t=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:t.marginXS}),pWt=Fl("Divider",t=>{const e=Zr(t,{dividerHorizontalWithTextGutterMargin:t.margin,dividerHorizontalGutterMargin:t.marginLG,sizePaddingEdgeHorizontal:0});return[fWt(e)]},hWt,{unitless:{orientationMargin:!0}});var gWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:e,direction:n,divider:o}=m.useContext(Mi),{prefixCls:i,type:r="horizontal",orientation:a="center",orientationMargin:l,className:s,rootClassName:c,children:u,dashed:d,plain:f,style:p}=t,g=gWt(t,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),A=e("divider",i),[w,b,C]=pWt(A),P=a.length>0?`-${a}`:a,v=!!u,T=a==="left"&&l!=null,y=a==="right"&&l!=null,S=Gn(A,o==null?void 0:o.className,b,C,`${A}-${r}`,{[`${A}-with-text`]:v,[`${A}-with-text${P}`]:v,[`${A}-dashed`]:!!d,[`${A}-plain`]:!!f,[`${A}-rtl`]:n==="rtl",[`${A}-no-default-orientation-margin-left`]:T,[`${A}-no-default-orientation-margin-right`]:y},s,c),x=m.useMemo(()=>typeof l=="number"?l:/^\d+$/.test(l)?Number(l):l,[l]),R=Object.assign(Object.assign({},T&&{marginLeft:x}),y&&{marginRight:x});return w(m.createElement("div",Object.assign({className:S,style:Object.assign(Object.assign({},o==null?void 0:o.style),p)},g,{role:"separator"}),u&&r!=="vertical"&&m.createElement("span",{className:`${A}-inner-text`,style:R},u)))};var mWt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},yWt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:mWt}))},AWt=m.forwardRef(yWt);function U0e(){return typeof BigInt=="function"}function fXe(t){return!t&&t!==0&&!Number.isNaN(t)||!String(t).trim()}function fx(t){var e=t.trim(),n=e.startsWith("-");n&&(e=e.slice(1)),e=e.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),e.startsWith(".")&&(e="0".concat(e));var o=e||"0",i=o.split("."),r=i[0]||"0",a=i[1]||"0";r==="0"&&a==="0"&&(n=!1);var l=n?"-":"";return{negative:n,negativeStr:l,trimStr:o,integerStr:r,decimalStr:a,fullStr:"".concat(l).concat(o)}}function Dme(t){var e=String(t);return!Number.isNaN(Number(e))&&e.includes("e")}function Lv(t){var e=String(t);if(Dme(t)){var n=Number(e.slice(e.indexOf("e-")+2)),o=e.match(/\.(\d+)/);return o!=null&&o[1]&&(n+=o[1].length),n}return e.includes(".")&&Eme(e)?e.length-e.indexOf(".")-1:0}function F$(t){var e=String(t);if(Dme(t)){if(t>Number.MAX_SAFE_INTEGER)return String(U0e()?BigInt(t).toString():Number.MAX_SAFE_INTEGER);if(t0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":fx("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),t}(),vWt=function(){function t(e){if(pp(this,t),_t(this,"origin",""),_t(this,"number",void 0),_t(this,"empty",void 0),fXe(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}return gp(t,[{key:"negate",value:function(){return new t(-this.toNumber())}},{key:"add",value:function(n){if(this.isInvalidate())return new t(n);var o=Number(n);if(Number.isNaN(o))return this;var i=this.number+o;if(i>Number.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(iNumber.MAX_SAFE_INTEGER)return new t(Number.MAX_SAFE_INTEGER);if(i0&&arguments[0]!==void 0?arguments[0]:!0;return n?this.isInvalidate()?"":F$(this.number):this.origin}}]),t}();function Qy(t){return U0e()?new wWt(t):new vWt(t)}function L_(t,e,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(t==="")return"";var i=fx(t),r=i.negativeStr,a=i.integerStr,l=i.decimalStr,s="".concat(e).concat(l),c="".concat(r).concat(a);if(n>=0){var u=Number(l[n]);if(u>=5&&!o){var d=Qy(t).add("".concat(r,"0.").concat("0".repeat(n)).concat(10-u));return L_(d.toString(),e,n,o)}return n===0?c:"".concat(c).concat(e).concat(l.padEnd(n,"0").slice(0,n))}return s===".0"?c:"".concat(c).concat(s)}function xWt(t){return!!(t.addonBefore||t.addonAfter)}function bWt(t){return!!(t.prefix||t.suffix||t.allowClear)}function Gve(t,e,n){var o=e.cloneNode(!0),i=Object.create(t,{target:{value:o},currentTarget:{value:o}});return o.value=n,typeof e.selectionStart=="number"&&typeof e.selectionEnd=="number"&&(o.selectionStart=e.selectionStart,o.selectionEnd=e.selectionEnd),i}function IG(t,e,n,o){if(n){var i=e;if(e.type==="click"){i=Gve(e,t,""),n(i);return}if(t.type!=="file"&&o!==void 0){i=Gve(e,t,o),n(i);return}n(i)}}function hXe(t,e){if(t){t.focus(e);var n=e||{},o=n.cursor;if(o){var i=t.value.length;switch(o){case"start":t.setSelectionRange(0,0);break;case"end":t.setSelectionRange(i,i);break;default:t.setSelectionRange(0,i)}}}}var kme=function(e){var n,o,i=e.inputElement,r=e.children,a=e.prefixCls,l=e.prefix,s=e.suffix,c=e.addonBefore,u=e.addonAfter,d=e.className,f=e.style,p=e.disabled,g=e.readOnly,A=e.focused,w=e.triggerFocus,b=e.allowClear,C=e.value,P=e.handleReset,v=e.hidden,T=e.classes,y=e.classNames,S=e.dataAttrs,x=e.styles,R=e.components,H=r??i,D=(R==null?void 0:R.affixWrapper)||"span",k=(R==null?void 0:R.groupWrapper)||"span",W=(R==null?void 0:R.wrapper)||"span",N=(R==null?void 0:R.groupAddon)||"span",L=m.useRef(null),E=function(pe){var fe;(fe=L.current)!==null&&fe!==void 0&&fe.contains(pe.target)&&(w==null||w())},U=bWt(e),F=m.cloneElement(H,{value:C,className:_n(H.props.className,!U&&(y==null?void 0:y.variant))||null});if(U){var B,_=null;if(b){var Y,O=!p&&!g&&C,J="".concat(a,"-clear-icon"),Z=gr(b)==="object"&&b!==null&&b!==void 0&&b.clearIcon?b.clearIcon:"✖";_=be.createElement("span",{onClick:P,onMouseDown:function(pe){return pe.preventDefault()},className:_n(J,(Y={},_t(Y,"".concat(J,"-hidden"),!O),_t(Y,"".concat(J,"-has-suffix"),!!s),Y)),role:"button",tabIndex:-1},Z)}var ie="".concat(a,"-affix-wrapper"),ee=_n(ie,(B={},_t(B,"".concat(a,"-disabled"),p),_t(B,"".concat(ie,"-disabled"),p),_t(B,"".concat(ie,"-focused"),A),_t(B,"".concat(ie,"-readonly"),g),_t(B,"".concat(ie,"-input-with-clear-btn"),s&&b&&C),B),T==null?void 0:T.affixWrapper,y==null?void 0:y.affixWrapper,y==null?void 0:y.variant),q=(s||b)&&be.createElement("span",{className:_n("".concat(a,"-suffix"),y==null?void 0:y.suffix),style:x==null?void 0:x.suffix},_,s);F=be.createElement(D,so({className:ee,style:x==null?void 0:x.affixWrapper,onClick:E},S==null?void 0:S.affixWrapper,{ref:L}),l&&be.createElement("span",{className:_n("".concat(a,"-prefix"),y==null?void 0:y.prefix),style:x==null?void 0:x.prefix},l),F,q)}if(xWt(e)){var ae="".concat(a,"-group"),ne="".concat(ae,"-addon"),se="".concat(ae,"-wrapper"),le=_n("".concat(a,"-wrapper"),ae,T==null?void 0:T.wrapper,y==null?void 0:y.wrapper),te=_n(se,_t({},"".concat(se,"-disabled"),p),T==null?void 0:T.group,y==null?void 0:y.groupWrapper);F=be.createElement(k,{className:te},be.createElement(W,{className:le},c&&be.createElement(N,{className:ne},c),F,u&&be.createElement(N,{className:ne},u)))}return be.cloneElement(F,{className:_n((n=F.props)===null||n===void 0?void 0:n.className,d)||null,style:$t($t({},(o=F.props)===null||o===void 0?void 0:o.style),f),hidden:v})},SWt=["show"];function pXe(t,e){return m.useMemo(function(){var n={};e&&(n.show=gr(e)==="object"&&e.formatter?e.formatter:!!e),n=$t($t({},n),t);var o=n,i=o.show,r=ir(o,SWt);return $t($t({},r),{},{show:!!i,showFormatter:typeof i=="function"?i:void 0,strategy:r.strategy||function(a){return a.length}})},[t,e])}var TWt=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],PWt=m.forwardRef(function(t,e){var n=t.autoComplete,o=t.onChange,i=t.onFocus,r=t.onBlur,a=t.onPressEnter,l=t.onKeyDown,s=t.prefixCls,c=s===void 0?"rc-input":s,u=t.disabled,d=t.htmlSize,f=t.className,p=t.maxLength,g=t.suffix,A=t.showCount,w=t.count,b=t.type,C=b===void 0?"text":b,P=t.classes,v=t.classNames,T=t.styles,y=t.onCompositionStart,S=t.onCompositionEnd,x=ir(t,TWt),R=m.useState(!1),H=on(R,2),D=H[0],k=H[1],W=m.useRef(!1),N=m.useRef(null),L=function(ve){N.current&&hXe(N.current,ve)},E=Rs(t.defaultValue,{value:t.value}),U=on(E,2),F=U[0],B=U[1],_=F==null?"":String(F),Y=m.useState(null),O=on(Y,2),J=O[0],Z=O[1],ie=pXe(w,A),ee=ie.max||p,q=ie.strategy(_),ae=!!ee&&q>ee;m.useImperativeHandle(e,function(){return{focus:L,blur:function(){var ve;(ve=N.current)===null||ve===void 0||ve.blur()},setSelectionRange:function(ve,Ie,ze){var ye;(ye=N.current)===null||ye===void 0||ye.setSelectionRange(ve,Ie,ze)},select:function(){var ve;(ve=N.current)===null||ve===void 0||ve.select()},input:N.current}}),m.useEffect(function(){k(function(Ce){return Ce&&u?!1:Ce})},[u]);var ne=function(ve,Ie,ze){var ye=Ie;if(!W.current&&ie.exceedFormatter&&ie.max&&ie.strategy(Ie)>ie.max){if(ye=ie.exceedFormatter(Ie,{max:ie.max}),Ie!==ye){var oe,ge;Z([((oe=N.current)===null||oe===void 0?void 0:oe.selectionStart)||0,((ge=N.current)===null||ge===void 0?void 0:ge.selectionEnd)||0])}}else if(ze.source==="compositionEnd")return;B(ye),N.current&&IG(N.current,ve,o,ye)};m.useEffect(function(){if(J){var Ce;(Ce=N.current)===null||Ce===void 0||Ce.setSelectionRange.apply(Ce,Wo(J))}},[J]);var se=function(ve){ne(ve,ve.target.value,{source:"change"})},le=function(ve){W.current=!1,ne(ve,ve.currentTarget.value,{source:"compositionEnd"}),S==null||S(ve)},te=function(ve){a&&ve.key==="Enter"&&a(ve),l==null||l(ve)},he=function(ve){k(!0),i==null||i(ve)},pe=function(ve){k(!1),r==null||r(ve)},fe=function(ve){B(""),L(),N.current&&IG(N.current,ve,o)},$=ae&&"".concat(c,"-out-of-range"),de=function(){var ve=MH(t,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]);return be.createElement("input",so({autoComplete:n},ve,{onChange:se,onFocus:he,onBlur:pe,onKeyDown:te,className:_n(c,_t({},"".concat(c,"-disabled"),u),v==null?void 0:v.input),style:T==null?void 0:T.input,ref:N,size:d,type:C,onCompositionStart:function(ze){W.current=!0,y==null||y(ze)},onCompositionEnd:le}))},Se=function(){var ve=Number(ee)>0;if(g||ie.show){var Ie=ie.showFormatter?ie.showFormatter({value:_,count:q,maxLength:ee}):"".concat(q).concat(ve?" / ".concat(ee):"");return be.createElement(be.Fragment,null,ie.show&&be.createElement("span",{className:_n("".concat(c,"-show-count-suffix"),_t({},"".concat(c,"-show-count-has-suffix"),!!g),v==null?void 0:v.count),style:$t({},T==null?void 0:T.count)},Ie),g)}return null};return be.createElement(kme,so({},x,{prefixCls:c,className:_n(f,$),handleReset:fe,value:_,focused:D,triggerFocus:L,suffix:Se(),disabled:u,classes:P,classNames:v,styles:T}),de())});function CWt(t,e){var n=m.useRef(null);function o(){try{var r=t.selectionStart,a=t.selectionEnd,l=t.value,s=l.substring(0,r),c=l.substring(a);n.current={start:r,end:a,value:l,beforeTxt:s,afterTxt:c}}catch{}}function i(){if(t&&n.current&&e)try{var r=t.value,a=n.current,l=a.beforeTxt,s=a.afterTxt,c=a.start,u=r.length;if(r.endsWith(s))u=r.length-n.current.afterTxt.length;else if(r.startsWith(l))u=l.length;else{var d=l[c-1],f=r.indexOf(d,c-1);f!==-1&&(u=f+1)}t.setSelectionRange(u,u)}catch(p){U0(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(p.message))}}return[o,i]}var RWt=function(){var e=m.useState(!1),n=on(e,2),o=n[0],i=n[1];return Ba(function(){i(y$())},[]),o},HWt=200,MWt=600;function IWt(t){var e=t.prefixCls,n=t.upNode,o=t.downNode,i=t.upDisabled,r=t.downDisabled,a=t.onStep,l=m.useRef(),s=m.useRef([]),c=m.useRef();c.current=a;var u=function(){clearTimeout(l.current)},d=function(P,v){P.preventDefault(),u(),c.current(v);function T(){c.current(v),l.current=setTimeout(T,HWt)}l.current=setTimeout(T,MWt)};m.useEffect(function(){return function(){u(),s.current.forEach(function(C){return za.cancel(C)})}},[]);var f=RWt();if(f)return null;var p="".concat(e,"-handler"),g=_n(p,"".concat(p,"-up"),_t({},"".concat(p,"-up-disabled"),i)),A=_n(p,"".concat(p,"-down"),_t({},"".concat(p,"-down-disabled"),r)),w=function(){return s.current.push(za(u))},b={unselectable:"on",role:"button",onMouseUp:w,onMouseLeave:w};return m.createElement("div",{className:"".concat(p,"-wrap")},m.createElement("span",so({},b,{onMouseDown:function(P){d(P,!0)},"aria-label":"Increase Value","aria-disabled":i,className:g}),n||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-up-inner")})),m.createElement("span",so({},b,{onMouseDown:function(P){d(P,!1)},"aria-label":"Decrease Value","aria-disabled":r,className:A}),o||m.createElement("span",{unselectable:"on",className:"".concat(e,"-handler-down-inner")})))}function Xve(t){var e=typeof t=="number"?F$(t):fx(t).fullStr,n=e.includes(".");return n?fx(e.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:t+"0"}const zWt=function(){var t=m.useRef(0),e=function(){za.cancel(t.current)};return m.useEffect(function(){return e},[]),function(n){e(),t.current=za(function(){n()})}};var DWt=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","changeOnWheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],EWt=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],Jve=function(e,n){return e||n.isEmpty()?n.toString():n.toNumber()},Kve=function(e){var n=Qy(e);return n.isInvalidate()?null:n},kWt=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-input-number":o,r=t.className,a=t.style,l=t.min,s=t.max,c=t.step,u=c===void 0?1:c,d=t.defaultValue,f=t.value,p=t.disabled,g=t.readOnly,A=t.upHandler,w=t.downHandler,b=t.keyboard,C=t.changeOnWheel,P=C===void 0?!1:C,v=t.controls,T=v===void 0?!0:v;t.classNames;var y=t.stringMode,S=t.parser,x=t.formatter,R=t.precision,H=t.decimalSeparator,D=t.onChange,k=t.onInput,W=t.onPressEnter,N=t.onStep,L=t.changeOnBlur,E=L===void 0?!0:L,U=ir(t,DWt),F="".concat(i,"-input"),B=m.useRef(null),_=m.useState(!1),Y=on(_,2),O=Y[0],J=Y[1],Z=m.useRef(!1),ie=m.useRef(!1),ee=m.useRef(!1),q=m.useState(function(){return Qy(f??d)}),ae=on(q,2),ne=ae[0],se=ae[1];function le(dt){f===void 0&&se(dt)}var te=m.useCallback(function(dt,Qe){if(!Qe)return R>=0?R:Math.max(Lv(dt),Lv(u))},[R,u]),he=m.useCallback(function(dt){var Qe=String(dt);if(S)return S(Qe);var ct=Qe;return H&&(ct=ct.replace(H,".")),ct.replace(/[^\w.-]+/g,"")},[S,H]),pe=m.useRef(""),fe=m.useCallback(function(dt,Qe){if(x)return x(dt,{userTyping:Qe,input:String(pe.current)});var ct=typeof dt=="number"?F$(dt):dt;if(!Qe){var ft=te(ct,Qe);if(Eme(ct)&&(H||ft>=0)){var at=H||".";ct=L_(ct,at,ft)}}return ct},[x,te,H]),$=m.useState(function(){var dt=d??f;return ne.isInvalidate()&&["string","number"].includes(gr(dt))?Number.isNaN(dt)?"":dt:fe(ne.toString(),!1)}),de=on($,2),Se=de[0],Ce=de[1];pe.current=Se;function ve(dt,Qe){Ce(fe(dt.isInvalidate()?dt.toString(!1):dt.toString(!Qe),Qe))}var Ie=m.useMemo(function(){return Kve(s)},[s,R]),ze=m.useMemo(function(){return Kve(l)},[l,R]),ye=m.useMemo(function(){return!Ie||!ne||ne.isInvalidate()?!1:Ie.lessEquals(ne)},[Ie,ne]),oe=m.useMemo(function(){return!ze||!ne||ne.isInvalidate()?!1:ne.lessEquals(ze)},[ze,ne]),ge=CWt(B.current,O),Ae=on(ge,2),me=Ae[0],Pe=Ae[1],Me=function(Qe){return Ie&&!Qe.lessEquals(Ie)?Ie:ze&&!ze.lessEquals(Qe)?ze:null},Te=function(Qe){return!Me(Qe)},De=function(Qe,ct){var ft=Qe,at=Te(ft)||ft.isEmpty();if(!ft.isEmpty()&&!ct&&(ft=Me(ft)||ft,at=!0),!g&&!p&&at){var ot=ft.toString(),et=te(ot,ct);return et>=0&&(ft=Qy(L_(ot,".",et)),Te(ft)||(ft=Qy(L_(ot,".",et,!0)))),ft.equals(ne)||(le(ft),D==null||D(ft.isEmpty()?null:Jve(y,ft)),f===void 0&&ve(ft,ct)),ft}return ne},Ne=zWt(),Ye=function dt(Qe){if(me(),pe.current=Qe,Ce(Qe),!ie.current){var ct=he(Qe),ft=Qy(ct);ft.isNaN()||De(ft,!0)}k==null||k(Qe),Ne(function(){var at=Qe;S||(at=Qe.replace(/。/g,".")),at!==Qe&&dt(at)})},Le=function(){ie.current=!0},$e=function(){ie.current=!1,Ye(B.current.value)},We=function(Qe){Ye(Qe.target.value)},Ee=function(Qe){var ct;if(!(Qe&&ye||!Qe&&oe)){Z.current=!1;var ft=Qy(ee.current?Xve(u):u);Qe||(ft=ft.negate());var at=(ne||Qy(0)).add(ft.toString()),ot=De(at,!1);N==null||N(Jve(y,ot),{offset:ee.current?Xve(u):u,type:Qe?"up":"down"}),(ct=B.current)===null||ct===void 0||ct.focus()}},Fe=function(Qe){var ct=Qy(he(Se)),ft=ct;ct.isNaN()?ft=De(ne,Qe):ft=De(ct,Qe),f!==void 0?ve(ne,!1):ft.isNaN()||ve(ft,!1)},Ge=function(){Z.current=!0},rt=function(Qe){var ct=Qe.key,ft=Qe.shiftKey;Z.current=!0,ee.current=ft,ct==="Enter"&&(ie.current||(Z.current=!1),Fe(!1),W==null||W(Qe)),b!==!1&&!ie.current&&["Up","ArrowUp","Down","ArrowDown"].includes(ct)&&(Ee(ct==="Up"||ct==="ArrowUp"),Qe.preventDefault())},_e=function(){Z.current=!1,ee.current=!1};m.useEffect(function(){if(P&&O){var dt=function(ft){Ee(ft.deltaY<0),ft.preventDefault()},Qe=B.current;if(Qe)return Qe.addEventListener("wheel",dt,{passive:!1}),function(){return Qe.removeEventListener("wheel",dt)}}});var xt=function(){E&&Fe(!1),J(!1),Z.current=!1};return sx(function(){ne.isInvalidate()||ve(ne,!1)},[R,x]),sx(function(){var dt=Qy(f);se(dt);var Qe=Qy(he(Se));(!dt.equals(Qe)||!Z.current||x)&&ve(dt,Z.current)},[f]),sx(function(){x&&Pe()},[Se]),m.createElement("div",{className:_n(i,r,(n={},_t(n,"".concat(i,"-focused"),O),_t(n,"".concat(i,"-disabled"),p),_t(n,"".concat(i,"-readonly"),g),_t(n,"".concat(i,"-not-a-number"),ne.isNaN()),_t(n,"".concat(i,"-out-of-range"),!ne.isInvalidate()&&!Te(ne)),n)),style:a,onFocus:function(){J(!0)},onBlur:xt,onKeyDown:rt,onKeyUp:_e,onCompositionStart:Le,onCompositionEnd:$e,onBeforeInput:Ge},T&&m.createElement(IWt,{prefixCls:i,upNode:A,downNode:w,upDisabled:ye,downDisabled:oe,onStep:Ee}),m.createElement("div",{className:"".concat(F,"-wrap")},m.createElement("input",so({autoComplete:"off",role:"spinbutton","aria-valuemin":l,"aria-valuemax":s,"aria-valuenow":ne.isInvalidate()?null:ne.toString(),step:u},U,{ref:Rb(B,e),className:F,value:Se,onChange:We,disabled:p,readOnly:g}))))}),gXe=m.forwardRef(function(t,e){var n=t.disabled,o=t.style,i=t.prefixCls,r=t.value,a=t.prefix,l=t.suffix,s=t.addonBefore,c=t.addonAfter,u=t.className,d=t.classNames,f=ir(t,EWt),p=m.useRef(null),g=function(w){p.current&&hXe(p.current,w)};return m.createElement(kme,{className:u,triggerFocus:g,prefixCls:i,value:r,disabled:n,style:o,prefix:a,suffix:l,addonAfter:c,addonBefore:s,classNames:d,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},m.createElement(kWt,so({prefixCls:i,disabled:n,ref:Rb(p,e),className:d==null?void 0:d.input},f)))});gXe.displayName="InputNumber";const FWt=t=>{var e;const n=(e=t.handleVisible)!==null&&e!==void 0?e:"auto";return Object.assign(Object.assign({},EW(t)),{controlWidth:90,handleWidth:t.controlHeightSM-t.lineWidth*2,handleFontSize:t.fontSize/2,handleVisible:n,handleActiveBg:t.colorFillAlter,handleBg:t.colorBgContainer,filledHandleBg:new Il(t.colorFillSecondary).onBackground(t.colorBgContainer).toHexString(),handleHoverColor:t.colorPrimary,handleBorderColor:t.colorBorder,handleOpacity:n===!0?1:0})},qve=(t,e)=>{let{componentCls:n,borderRadiusSM:o,borderRadiusLG:i}=t;const r=e==="lg"?i:o;return{[`&-${e}`]:{[`${n}-handler-wrap`]:{borderStartEndRadius:r,borderEndEndRadius:r},[`${n}-handler-up`]:{borderStartEndRadius:r},[`${n}-handler-down`]:{borderEndEndRadius:r}}}},LWt=t=>{const{componentCls:e,lineWidth:n,lineType:o,borderRadius:i,fontSizeLG:r,controlHeightLG:a,controlHeightSM:l,colorError:s,paddingInlineSM:c,paddingBlockSM:u,paddingBlockLG:d,paddingInlineLG:f,colorTextDescription:p,motionDurationMid:g,handleHoverColor:A,paddingInline:w,paddingBlock:b,handleBg:C,handleActiveBg:P,colorTextDisabled:v,borderRadiusSM:T,borderRadiusLG:y,controlWidth:S,handleOpacity:x,handleBorderColor:R,filledHandleBg:H,lineHeightLG:D,calc:k}=t;return[{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),kW(t)),{display:"inline-block",width:S,margin:0,padding:0,borderRadius:i}),Tme(t,{[`${e}-handler-wrap`]:{background:C,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}}})),Cme(t,{[`${e}-handler-wrap`]:{background:H,[`${e}-handler-down`]:{borderBlockStart:`${Ut(n)} ${o} ${R}`}},"&:focus-within":{[`${e}-handler-wrap`]:{background:C}}})),Pme(t)),{"&-rtl":{direction:"rtl",[`${e}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:r,lineHeight:D,borderRadius:y,[`input${e}-input`]:{height:k(a).sub(k(n).mul(2)).equal(),padding:`${Ut(d)} ${Ut(f)}`}},"&-sm":{padding:0,borderRadius:T,[`input${e}-input`]:{height:k(l).sub(k(n).mul(2)).equal(),padding:`${Ut(u)} ${Ut(c)}`}},"&-out-of-range":{[`${e}-input-wrap`]:{input:{color:s}}},"&-group":Object.assign(Object.assign(Object.assign({},$a(t)),$Ge(t)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",[`${e}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${e}-group-addon`]:{borderRadius:y,fontSize:t.fontSizeLG}},"&-sm":{[`${e}-group-addon`]:{borderRadius:T}}},XGe(t)),KGe(t)),{[`&:not(${e}-compact-first-item):not(${e}-compact-last-item)${e}-compact-item`]:{[`${e}, ${e}-group-addon`]:{borderRadius:0}},[`&:not(${e}-compact-last-item)${e}-compact-first-item`]:{[`${e}, ${e}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${e}-compact-first-item)${e}-compact-last-item`]:{[`${e}, ${e}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),[`&-disabled ${e}-input`]:{cursor:"not-allowed"},[e]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{width:"100%",padding:`${Ut(b)} ${Ut(w)}`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:i,outline:0,transition:`all ${g} linear`,appearance:"textfield",fontSize:"inherit"}),Rme(t.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[e]:Object.assign(Object.assign(Object.assign({[`&:hover ${e}-handler-wrap, &-focused ${e}-handler-wrap`]:{opacity:1},[`${e}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:t.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:i,borderEndEndRadius:i,borderEndStartRadius:0,opacity:x,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${g} linear ${g}`,[`${e}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` ${e}-handler-up-inner, ${e}-handler-down-inner `]:{marginInlineEnd:0,fontSize:t.handleFontSize}}},[`${e}-handler`]:{height:"50%",overflow:"hidden",color:p,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${Ut(n)} ${o} ${R}`,transition:`all ${g} linear`,"&:active":{background:P},"&:hover":{height:"60%",[` @@ -4617,7 +4617,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{cursor:"not-allowed"},[` ${e}-handler-up-disabled:hover &-handler-up-inner, ${e}-handler-down-disabled:hover &-handler-down-inner - `]:{color:v}})}]},UWt=t=>{const{componentCls:e,paddingBlock:n,paddingInline:o,inputAffixPadding:i,controlWidth:r,borderRadiusLG:a,borderRadiusSM:l,paddingInlineLG:s,paddingInlineSM:c,paddingBlockLG:u,paddingBlockSM:d}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign({[`input${e}-input`]:{padding:`${Ut(n)} 0`}},kW(t)),{position:"relative",display:"inline-flex",width:r,padding:0,paddingInlineStart:o,"&-lg":{borderRadius:a,paddingInlineStart:s,[`input${e}-input`]:{padding:`${Ut(u)} 0`}},"&-sm":{borderRadius:l,paddingInlineStart:c,[`input${e}-input`]:{padding:`${Ut(d)} 0`}},[`&:not(${e}-disabled):hover`]:{zIndex:1},"&-focused, &:focus":{zIndex:1},[`&-disabled > ${e}-disabled`]:{background:"transparent"},[`> div${e}`]:{width:"100%",border:"none",outline:"none",[`&${e}-focused`]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}-handler-wrap`]:{zIndex:2},[e]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:i},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:o,marginInlineStart:i}}})}},BWt=Fl("InputNumber",t=>{const e=Zr(t,DW(t));return[NWt(e),UWt(e),vW(e)]},WWt,{unitless:{handleOpacity:!0}});var jWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),i=m.useRef(null);m.useImperativeHandle(e,()=>i.current);const{className:r,rootClassName:a,size:l,disabled:s,prefixCls:c,addonBefore:u,addonAfter:d,prefix:f,bordered:p,readOnly:g,status:A,controls:w,variant:b}=t,C=jWt(t,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),P=n("input-number",c),v=j0(P),[T,y,S]=BWt(P,v),{compactSize:x,compactItemClassnames:R}=F7(P,o);let H=m.createElement(vWt,{className:`${P}-handler-up-inner`}),D=m.createElement(rme,{className:`${P}-handler-down-inner`});const k=typeof w=="boolean"?w:void 0;typeof w=="object"&&(H=typeof w.upIcon>"u"?H:m.createElement("span",{className:`${P}-handler-up-inner`},w.upIcon),D=typeof w.downIcon>"u"?D:m.createElement("span",{className:`${P}-handler-down-inner`},w.downIcon));const{hasFeedback:W,status:N,isFormItemInput:L,feedbackIcon:E}=m.useContext(Qp),U=Mb(N,A),F=Rd(q=>{var ae;return(ae=l??x)!==null&&ae!==void 0?ae:q}),B=m.useContext($p),_=s??B,[Y,O]=IH(b,p),J=W&&m.createElement(m.Fragment,null,E),Z=Gn({[`${P}-lg`]:F==="large",[`${P}-sm`]:F==="small",[`${P}-rtl`]:o==="rtl",[`${P}-in-form-item`]:L},y),ie=`${P}-group`,ee=m.createElement(yXe,Object.assign({ref:i,disabled:_,className:Gn(S,v,r,a,R),upHandler:H,downHandler:D,prefixCls:P,readOnly:g,controls:k,prefix:f,suffix:J,addonAfter:d&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},d)),addonBefore:u&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},u)),classNames:{input:Z,variant:Gn({[`${P}-${Y}`]:O},o7(P,U,W)),affixWrapper:Gn({[`${P}-affix-wrapper-sm`]:F==="small",[`${P}-affix-wrapper-lg`]:F==="large",[`${P}-affix-wrapper-rtl`]:o==="rtl"},y),wrapper:Gn({[`${ie}-rtl`]:o==="rtl"},y),groupWrapper:Gn({[`${P}-group-wrapper-sm`]:F==="small",[`${P}-group-wrapper-lg`]:F==="large",[`${P}-group-wrapper-rtl`]:o==="rtl",[`${P}-group-wrapper-${Y}`]:O},o7(`${P}-group-wrapper`,U,W),y)}},C));return T(ee)}),Hn=AXe,YWt=t=>m.createElement(ry,{theme:{components:{InputNumber:{handleVisible:!0}}}},m.createElement(AXe,Object.assign({},t)));Hn._InternalPanelDoNotUseOrYouWillBeFired=YWt;const OWt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i}=t,r=e("input-group",o),a=e("input"),[l,s]=Mme(a),c=Gn(r,{[`${r}-lg`]:t.size==="large",[`${r}-sm`]:t.size==="small",[`${r}-compact`]:t.compact,[`${r}-rtl`]:n==="rtl"},s,i),u=m.useContext(Qp),d=m.useMemo(()=>Object.assign(Object.assign({},u),{isFormItemInput:!1}),[u]);return l(m.createElement("span",{className:c,style:t.style,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onFocus:t.onFocus,onBlur:t.onBlur},m.createElement(Qp.Provider,{value:d},t.children)))},wXe=t=>{let e;return typeof t=="object"&&(t!=null&&t.clearIcon)?e=t:t&&(e={clearIcon:be.createElement(l$,null)}),e};function vXe(t,e){const n=m.useRef([]),o=()=>{n.current.push(setTimeout(()=>{var i,r,a,l;!((i=t.current)===null||i===void 0)&&i.input&&((r=t.current)===null||r===void 0?void 0:r.input.getAttribute("type"))==="password"&&(!((a=t.current)===null||a===void 0)&&a.input.hasAttribute("value"))&&((l=t.current)===null||l===void 0||l.input.removeAttribute("value"))}))};return m.useEffect(()=>(e&&o(),()=>n.current.forEach(i=>{i&&clearTimeout(i)})),[]),o}function _Wt(t){return!!(t.prefix||t.suffix||t.allowClear||t.showCount)}var VWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i=!0,status:r,size:a,disabled:l,onBlur:s,onFocus:c,suffix:u,allowClear:d,addonAfter:f,addonBefore:p,className:g,style:A,styles:w,rootClassName:b,onChange:C,classNames:P,variant:v}=t,T=VWt(t,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:y,direction:S,input:x}=be.useContext(Mi),R=y("input",o),H=m.useRef(null),D=j0(R),[k,W,N]=Mme(R,D),{compactSize:L,compactItemClassnames:E}=F7(R,S),U=Rd(he=>{var pe;return(pe=a??L)!==null&&pe!==void 0?pe:he}),F=be.useContext($p),B=l??F,{status:_,hasFeedback:Y,feedbackIcon:O}=m.useContext(Qp),J=Mb(_,r),Z=_Wt(t)||!!Y;m.useRef(Z);const ie=vXe(H,!0),ee=he=>{ie(),s==null||s(he)},q=he=>{ie(),c==null||c(he)},ae=he=>{ie(),C==null||C(he)},ne=(Y||u)&&be.createElement(be.Fragment,null,u,Y&&O),se=wXe(d??(x==null?void 0:x.allowClear)),[le,te]=IH(v,i);return k(be.createElement(RWt,Object.assign({ref:q2(e,H),prefixCls:R,autoComplete:x==null?void 0:x.autoComplete},T,{disabled:B,onBlur:ee,onFocus:q,style:Object.assign(Object.assign({},x==null?void 0:x.style),A),styles:Object.assign(Object.assign({},x==null?void 0:x.styles),w),suffix:ne,allowClear:se,className:Gn(g,b,N,D,E,x==null?void 0:x.className),onChange:ae,addonAfter:f&&be.createElement(k9,null,be.createElement(rR,{override:!0,status:!0},f)),addonBefore:p&&be.createElement(k9,null,be.createElement(rR,{override:!0,status:!0},p)),classNames:Object.assign(Object.assign(Object.assign({},P),x==null?void 0:x.classNames),{input:Gn({[`${R}-sm`]:U==="small",[`${R}-lg`]:U==="large",[`${R}-rtl`]:S==="rtl"},P==null?void 0:P.input,(n=x==null?void 0:x.classNames)===null||n===void 0?void 0:n.input,W),variant:Gn({[`${R}-${le}`]:te},o7(R,J)),affixWrapper:Gn({[`${R}-affix-wrapper-sm`]:U==="small",[`${R}-affix-wrapper-lg`]:U==="large",[`${R}-affix-wrapper-rtl`]:S==="rtl"},W),wrapper:Gn({[`${R}-group-rtl`]:S==="rtl"},W),groupWrapper:Gn({[`${R}-group-wrapper-sm`]:U==="small",[`${R}-group-wrapper-lg`]:U==="large",[`${R}-group-wrapper-rtl`]:S==="rtl",[`${R}-group-wrapper-${le}`]:te},o7(`${R}-group-wrapper`,J,Y),W)})})))}),XWt=t=>{const{componentCls:e,paddingXS:n}=t;return{[`${e}`]:{display:"inline-flex",alignItems:"center",flexWrap:"nowrap",columnGap:n,"&-rtl":{direction:"rtl"},[`${e}-input`]:{textAlign:"center",paddingInline:t.paddingXXS},[`&${e}-sm ${e}-input`]:{paddingInline:t.calc(t.paddingXXS).div(2).equal()},[`&${e}-lg ${e}-input`]:{paddingInline:t.paddingXS}}}},JWt=Fl(["Input","OTP"],t=>{const e=Zr(t,DW(t));return[XWt(e)]},EW);var KWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{value:n,onChange:o,onActiveChange:i,index:r,mask:a}=t,l=KWt(t,["value","onChange","onActiveChange","index","mask"]),s=n&&typeof a=="string"?a:n,c=g=>{o(r,g.target.value)},u=m.useRef(null);m.useImperativeHandle(e,()=>u.current);const d=()=>{Rg(()=>{var g;const A=(g=u.current)===null||g===void 0?void 0:g.input;document.activeElement===A&&A&&A.select()})},f=g=>{let{key:A}=g;A==="ArrowLeft"?i(r-1):A==="ArrowRight"&&i(r+1),d()},p=g=>{g.key==="Backspace"&&!n&&i(r-1),d()};return m.createElement(L$,Object.assign({},l,{ref:u,value:s,onInput:c,onFocus:d,onKeyDown:f,onKeyUp:p,onMouseDown:d,onMouseUp:d,type:a===!0?"password":"text"}))});var $Wt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,length:o=6,size:i,defaultValue:r,value:a,onChange:l,formatter:s,variant:c,disabled:u,status:d,autoFocus:f,mask:p}=t,g=$Wt(t,["prefixCls","length","size","defaultValue","value","onChange","formatter","variant","disabled","status","autoFocus","mask"]),{getPrefixCls:A,direction:w}=m.useContext(Mi),b=A("otp",n),C=Oge(g,{aria:!0,data:!0,attr:!0}),P=j0(b),[v,T,y]=JWt(b,P),S=Rd(Y=>i??Y),x=m.useContext(Qp),R=Mb(x.status,d),H=m.useMemo(()=>Object.assign(Object.assign({},x),{status:R,hasFeedback:!1,feedbackIcon:null}),[x,R]),D=m.useRef(null),k=m.useRef({});m.useImperativeHandle(e,()=>({focus:()=>{var Y;(Y=k.current[0])===null||Y===void 0||Y.focus()},blur:()=>{var Y;for(let O=0;Os?s(Y):Y,[N,L]=m.useState(xY(W(r||"")));m.useEffect(()=>{a!==void 0&&L(xY(a))},[a]);const E=O6(Y=>{L(Y),l&&Y.length===o&&Y.every(O=>O)&&Y.some((O,J)=>N[J]!==O)&&l(Y.join(""))}),U=O6((Y,O)=>{let J=Xa(N);for(let ie=0;ie=0&&!J[ie];ie-=1)J.pop();const Z=W(J.map(ie=>ie||" ").join(""));return J=xY(Z).map((ie,ee)=>ie===" "&&!J[ee]?J[ee]:ie),J}),F=(Y,O)=>{var J;const Z=U(Y,O),ie=Math.min(Y+O.length,o-1);ie!==Y&&((J=k.current[ie])===null||J===void 0||J.focus()),E(Z)},B=Y=>{var O;(O=k.current[Y])===null||O===void 0||O.focus()},_={variant:c,disabled:u,status:R,mask:p};return v(m.createElement("div",Object.assign({},C,{ref:D,className:Gn(b,{[`${b}-sm`]:S==="small",[`${b}-lg`]:S==="large",[`${b}-rtl`]:w==="rtl"},y,T)}),m.createElement(Qp.Provider,{value:H},Array.from({length:o}).map((Y,O)=>{const J=`otp-${O}`,Z=N[O]||"";return m.createElement(qWt,Object.assign({ref:ie=>{k.current[O]=ie},key:J,index:O,size:S,htmlSize:1,className:`${b}-input`,onChange:F,value:Z,onActiveChange:B,autoFocus:O===0&&f},_))}))))});var ZWt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},eNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ZWt}))},tNt=m.forwardRef(eNt),nNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},oNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:nNt}))},iNt=m.forwardRef(oNt),rNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);it?m.createElement(iNt,null):m.createElement(tNt,null),lNt={click:"onClick",hover:"onMouseOver"},sNt=m.forwardRef((t,e)=>{const{disabled:n,action:o="click",visibilityToggle:i=!0,iconRender:r=aNt}=t,a=typeof i=="object"&&i.visible!==void 0,[l,s]=m.useState(()=>a?i.visible:!1),c=m.useRef(null);m.useEffect(()=>{a&&s(i.visible)},[a,i]);const u=vXe(c),d=()=>{n||(l&&u(),s(x=>{var R;const H=!x;return typeof i=="object"&&((R=i.onVisibleChange)===null||R===void 0||R.call(i,H)),H}))},f=x=>{const R=lNt[o]||"",H=r(l),D={[R]:d,className:`${x}-icon`,key:"passwordIcon",onMouseDown:k=>{k.preventDefault()},onMouseUp:k=>{k.preventDefault()}};return m.cloneElement(m.isValidElement(H)?H:m.createElement("span",null,H),D)},{className:p,prefixCls:g,inputPrefixCls:A,size:w}=t,b=rNt(t,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:C}=m.useContext(Mi),P=C("input",A),v=C("input-password",g),T=i&&f(v),y=Gn(v,p,{[`${v}-${w}`]:!!w}),S=Object.assign(Object.assign({},lp(b,["suffix","iconRender","visibilityToggle"])),{type:l?"text":"password",className:y,prefixCls:P,suffix:T});return w&&(S.size=w),m.createElement(L$,Object.assign({ref:q2(e,c)},S))});var cNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,inputPrefixCls:o,className:i,size:r,suffix:a,enterButton:l=!1,addonAfter:s,loading:c,disabled:u,onSearch:d,onChange:f,onCompositionStart:p,onCompositionEnd:g}=t,A=cNt(t,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:w,direction:b}=m.useContext(Mi),C=m.useRef(!1),P=w("input-search",n),v=w("input",o),{compactSize:T}=F7(P,b),y=Rd(_=>{var Y;return(Y=r??T)!==null&&Y!==void 0?Y:_}),S=m.useRef(null),x=_=>{_&&_.target&&_.type==="click"&&d&&d(_.target.value,_,{source:"clear"}),f&&f(_)},R=_=>{var Y;document.activeElement===((Y=S.current)===null||Y===void 0?void 0:Y.input)&&_.preventDefault()},H=_=>{var Y,O;d&&d((O=(Y=S.current)===null||Y===void 0?void 0:Y.input)===null||O===void 0?void 0:O.value,_,{source:"input"})},D=_=>{C.current||c||H(_)},k=typeof l=="boolean"?m.createElement(ame,null):null,W=`${P}-button`;let N;const L=l||{},E=L.type&&L.type.__ANT_BUTTON===!0;E||L.type==="button"?N=Ou(L,Object.assign({onMouseDown:R,onClick:_=>{var Y,O;(O=(Y=L==null?void 0:L.props)===null||Y===void 0?void 0:Y.onClick)===null||O===void 0||O.call(Y,_),H(_)},key:"enterButton"},E?{className:W,size:y}:{})):N=m.createElement(oo,{className:W,type:l?"primary":void 0,size:y,disabled:u,key:"enterButton",onMouseDown:R,onClick:H,loading:c,icon:k},l),s&&(N=[N,Ou(s,{key:"addonAfter"})]);const U=Gn(P,{[`${P}-rtl`]:b==="rtl",[`${P}-${y}`]:!!y,[`${P}-with-button`]:!!l},i),F=_=>{C.current=!0,p==null||p(_)},B=_=>{C.current=!1,g==null||g(_)};return m.createElement(L$,Object.assign({ref:q2(S,e),onPressEnter:D},A,{size:y,onCompositionStart:F,onCompositionEnd:B,prefixCls:v,addonAfter:N,suffix:a,onChange:x,className:U,disabled:u}))});var dNt=` + `]:{color:v}})}]},WWt=t=>{const{componentCls:e,paddingBlock:n,paddingInline:o,inputAffixPadding:i,controlWidth:r,borderRadiusLG:a,borderRadiusSM:l,paddingInlineLG:s,paddingInlineSM:c,paddingBlockLG:u,paddingBlockSM:d}=t;return{[`${e}-affix-wrapper`]:Object.assign(Object.assign({[`input${e}-input`]:{padding:`${Ut(n)} 0`}},kW(t)),{position:"relative",display:"inline-flex",width:r,padding:0,paddingInlineStart:o,"&-lg":{borderRadius:a,paddingInlineStart:s,[`input${e}-input`]:{padding:`${Ut(u)} 0`}},"&-sm":{borderRadius:l,paddingInlineStart:c,[`input${e}-input`]:{padding:`${Ut(d)} 0`}},[`&:not(${e}-disabled):hover`]:{zIndex:1},"&-focused, &:focus":{zIndex:1},[`&-disabled > ${e}-disabled`]:{background:"transparent"},[`> div${e}`]:{width:"100%",border:"none",outline:"none",[`&${e}-focused`]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${e}-handler-wrap`]:{zIndex:2},[e]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:i},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:o,marginInlineStart:i}}})}},NWt=Fl("InputNumber",t=>{const e=Zr(t,DW(t));return[LWt(e),WWt(e),vW(e)]},FWt,{unitless:{handleOpacity:!0}});var UWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPrefixCls:n,direction:o}=m.useContext(Mi),i=m.useRef(null);m.useImperativeHandle(e,()=>i.current);const{className:r,rootClassName:a,size:l,disabled:s,prefixCls:c,addonBefore:u,addonAfter:d,prefix:f,bordered:p,readOnly:g,status:A,controls:w,variant:b}=t,C=UWt(t,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),P=n("input-number",c),v=j0(P),[T,y,S]=NWt(P,v),{compactSize:x,compactItemClassnames:R}=F7(P,o);let H=m.createElement(AWt,{className:`${P}-handler-up-inner`}),D=m.createElement(rme,{className:`${P}-handler-down-inner`});const k=typeof w=="boolean"?w:void 0;typeof w=="object"&&(H=typeof w.upIcon>"u"?H:m.createElement("span",{className:`${P}-handler-up-inner`},w.upIcon),D=typeof w.downIcon>"u"?D:m.createElement("span",{className:`${P}-handler-down-inner`},w.downIcon));const{hasFeedback:W,status:N,isFormItemInput:L,feedbackIcon:E}=m.useContext(Qp),U=Mb(N,A),F=Rd(q=>{var ae;return(ae=l??x)!==null&&ae!==void 0?ae:q}),B=m.useContext($p),_=s??B,[Y,O]=IH(b,p),J=W&&m.createElement(m.Fragment,null,E),Z=Gn({[`${P}-lg`]:F==="large",[`${P}-sm`]:F==="small",[`${P}-rtl`]:o==="rtl",[`${P}-in-form-item`]:L},y),ie=`${P}-group`,ee=m.createElement(gXe,Object.assign({ref:i,disabled:_,className:Gn(S,v,r,a,R),upHandler:H,downHandler:D,prefixCls:P,readOnly:g,controls:k,prefix:f,suffix:J,addonAfter:d&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},d)),addonBefore:u&&m.createElement(k9,null,m.createElement(rR,{override:!0,status:!0},u)),classNames:{input:Z,variant:Gn({[`${P}-${Y}`]:O},o7(P,U,W)),affixWrapper:Gn({[`${P}-affix-wrapper-sm`]:F==="small",[`${P}-affix-wrapper-lg`]:F==="large",[`${P}-affix-wrapper-rtl`]:o==="rtl"},y),wrapper:Gn({[`${ie}-rtl`]:o==="rtl"},y),groupWrapper:Gn({[`${P}-group-wrapper-sm`]:F==="small",[`${P}-group-wrapper-lg`]:F==="large",[`${P}-group-wrapper-rtl`]:o==="rtl",[`${P}-group-wrapper-${Y}`]:O},o7(`${P}-group-wrapper`,U,W),y)}},C));return T(ee)}),Hn=mXe,BWt=t=>m.createElement(ry,{theme:{components:{InputNumber:{handleVisible:!0}}}},m.createElement(mXe,Object.assign({},t)));Hn._InternalPanelDoNotUseOrYouWillBeFired=BWt;const jWt=t=>{const{getPrefixCls:e,direction:n}=m.useContext(Mi),{prefixCls:o,className:i}=t,r=e("input-group",o),a=e("input"),[l,s]=Mme(a),c=Gn(r,{[`${r}-lg`]:t.size==="large",[`${r}-sm`]:t.size==="small",[`${r}-compact`]:t.compact,[`${r}-rtl`]:n==="rtl"},s,i),u=m.useContext(Qp),d=m.useMemo(()=>Object.assign(Object.assign({},u),{isFormItemInput:!1}),[u]);return l(m.createElement("span",{className:c,style:t.style,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onFocus:t.onFocus,onBlur:t.onBlur},m.createElement(Qp.Provider,{value:d},t.children)))},yXe=t=>{let e;return typeof t=="object"&&(t!=null&&t.clearIcon)?e=t:t&&(e={clearIcon:be.createElement(l$,null)}),e};function AXe(t,e){const n=m.useRef([]),o=()=>{n.current.push(setTimeout(()=>{var i,r,a,l;!((i=t.current)===null||i===void 0)&&i.input&&((r=t.current)===null||r===void 0?void 0:r.input.getAttribute("type"))==="password"&&(!((a=t.current)===null||a===void 0)&&a.input.hasAttribute("value"))&&((l=t.current)===null||l===void 0||l.input.removeAttribute("value"))}))};return m.useEffect(()=>(e&&o(),()=>n.current.forEach(i=>{i&&clearTimeout(i)})),[]),o}function YWt(t){return!!(t.prefix||t.suffix||t.allowClear||t.showCount)}var OWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n;const{prefixCls:o,bordered:i=!0,status:r,size:a,disabled:l,onBlur:s,onFocus:c,suffix:u,allowClear:d,addonAfter:f,addonBefore:p,className:g,style:A,styles:w,rootClassName:b,onChange:C,classNames:P,variant:v}=t,T=OWt(t,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:y,direction:S,input:x}=be.useContext(Mi),R=y("input",o),H=m.useRef(null),D=j0(R),[k,W,N]=Mme(R,D),{compactSize:L,compactItemClassnames:E}=F7(R,S),U=Rd(he=>{var pe;return(pe=a??L)!==null&&pe!==void 0?pe:he}),F=be.useContext($p),B=l??F,{status:_,hasFeedback:Y,feedbackIcon:O}=m.useContext(Qp),J=Mb(_,r),Z=YWt(t)||!!Y;m.useRef(Z);const ie=AXe(H,!0),ee=he=>{ie(),s==null||s(he)},q=he=>{ie(),c==null||c(he)},ae=he=>{ie(),C==null||C(he)},ne=(Y||u)&&be.createElement(be.Fragment,null,u,Y&&O),se=yXe(d??(x==null?void 0:x.allowClear)),[le,te]=IH(v,i);return k(be.createElement(PWt,Object.assign({ref:q2(e,H),prefixCls:R,autoComplete:x==null?void 0:x.autoComplete},T,{disabled:B,onBlur:ee,onFocus:q,style:Object.assign(Object.assign({},x==null?void 0:x.style),A),styles:Object.assign(Object.assign({},x==null?void 0:x.styles),w),suffix:ne,allowClear:se,className:Gn(g,b,N,D,E,x==null?void 0:x.className),onChange:ae,addonAfter:f&&be.createElement(k9,null,be.createElement(rR,{override:!0,status:!0},f)),addonBefore:p&&be.createElement(k9,null,be.createElement(rR,{override:!0,status:!0},p)),classNames:Object.assign(Object.assign(Object.assign({},P),x==null?void 0:x.classNames),{input:Gn({[`${R}-sm`]:U==="small",[`${R}-lg`]:U==="large",[`${R}-rtl`]:S==="rtl"},P==null?void 0:P.input,(n=x==null?void 0:x.classNames)===null||n===void 0?void 0:n.input,W),variant:Gn({[`${R}-${le}`]:te},o7(R,J)),affixWrapper:Gn({[`${R}-affix-wrapper-sm`]:U==="small",[`${R}-affix-wrapper-lg`]:U==="large",[`${R}-affix-wrapper-rtl`]:S==="rtl"},W),wrapper:Gn({[`${R}-group-rtl`]:S==="rtl"},W),groupWrapper:Gn({[`${R}-group-wrapper-sm`]:U==="small",[`${R}-group-wrapper-lg`]:U==="large",[`${R}-group-wrapper-rtl`]:S==="rtl",[`${R}-group-wrapper-${le}`]:te},o7(`${R}-group-wrapper`,J,Y),W)})})))}),VWt=t=>{const{componentCls:e,paddingXS:n}=t;return{[`${e}`]:{display:"inline-flex",alignItems:"center",flexWrap:"nowrap",columnGap:n,"&-rtl":{direction:"rtl"},[`${e}-input`]:{textAlign:"center",paddingInline:t.paddingXXS},[`&${e}-sm ${e}-input`]:{paddingInline:t.calc(t.paddingXXS).div(2).equal()},[`&${e}-lg ${e}-input`]:{paddingInline:t.paddingXS}}}},GWt=Fl(["Input","OTP"],t=>{const e=Zr(t,DW(t));return[VWt(e)]},EW);var XWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{value:n,onChange:o,onActiveChange:i,index:r,mask:a}=t,l=XWt(t,["value","onChange","onActiveChange","index","mask"]),s=n&&typeof a=="string"?a:n,c=g=>{o(r,g.target.value)},u=m.useRef(null);m.useImperativeHandle(e,()=>u.current);const d=()=>{Rg(()=>{var g;const A=(g=u.current)===null||g===void 0?void 0:g.input;document.activeElement===A&&A&&A.select()})},f=g=>{let{key:A}=g;A==="ArrowLeft"?i(r-1):A==="ArrowRight"&&i(r+1),d()},p=g=>{g.key==="Backspace"&&!n&&i(r-1),d()};return m.createElement(L$,Object.assign({},l,{ref:u,value:s,onInput:c,onFocus:d,onKeyDown:f,onKeyUp:p,onMouseDown:d,onMouseUp:d,type:a===!0?"password":"text"}))});var KWt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,length:o=6,size:i,defaultValue:r,value:a,onChange:l,formatter:s,variant:c,disabled:u,status:d,autoFocus:f,mask:p}=t,g=KWt(t,["prefixCls","length","size","defaultValue","value","onChange","formatter","variant","disabled","status","autoFocus","mask"]),{getPrefixCls:A,direction:w}=m.useContext(Mi),b=A("otp",n),C=Oge(g,{aria:!0,data:!0,attr:!0}),P=j0(b),[v,T,y]=GWt(b,P),S=Rd(Y=>i??Y),x=m.useContext(Qp),R=Mb(x.status,d),H=m.useMemo(()=>Object.assign(Object.assign({},x),{status:R,hasFeedback:!1,feedbackIcon:null}),[x,R]),D=m.useRef(null),k=m.useRef({});m.useImperativeHandle(e,()=>({focus:()=>{var Y;(Y=k.current[0])===null||Y===void 0||Y.focus()},blur:()=>{var Y;for(let O=0;Os?s(Y):Y,[N,L]=m.useState(xY(W(r||"")));m.useEffect(()=>{a!==void 0&&L(xY(a))},[a]);const E=O6(Y=>{L(Y),l&&Y.length===o&&Y.every(O=>O)&&Y.some((O,J)=>N[J]!==O)&&l(Y.join(""))}),U=O6((Y,O)=>{let J=Xa(N);for(let ie=0;ie=0&&!J[ie];ie-=1)J.pop();const Z=W(J.map(ie=>ie||" ").join(""));return J=xY(Z).map((ie,ee)=>ie===" "&&!J[ee]?J[ee]:ie),J}),F=(Y,O)=>{var J;const Z=U(Y,O),ie=Math.min(Y+O.length,o-1);ie!==Y&&((J=k.current[ie])===null||J===void 0||J.focus()),E(Z)},B=Y=>{var O;(O=k.current[Y])===null||O===void 0||O.focus()},_={variant:c,disabled:u,status:R,mask:p};return v(m.createElement("div",Object.assign({},C,{ref:D,className:Gn(b,{[`${b}-sm`]:S==="small",[`${b}-lg`]:S==="large",[`${b}-rtl`]:w==="rtl"},y,T)}),m.createElement(Qp.Provider,{value:H},Array.from({length:o}).map((Y,O)=>{const J=`otp-${O}`,Z=N[O]||"";return m.createElement(JWt,Object.assign({ref:ie=>{k.current[O]=ie},key:J,index:O,size:S,htmlSize:1,className:`${b}-input`,onChange:F,value:Z,onActiveChange:B,autoFocus:O===0&&f},_))}))))});var $Wt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},QWt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:$Wt}))},ZWt=m.forwardRef(QWt),eNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},tNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:eNt}))},nNt=m.forwardRef(tNt),oNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);it?m.createElement(nNt,null):m.createElement(ZWt,null),rNt={click:"onClick",hover:"onMouseOver"},aNt=m.forwardRef((t,e)=>{const{disabled:n,action:o="click",visibilityToggle:i=!0,iconRender:r=iNt}=t,a=typeof i=="object"&&i.visible!==void 0,[l,s]=m.useState(()=>a?i.visible:!1),c=m.useRef(null);m.useEffect(()=>{a&&s(i.visible)},[a,i]);const u=AXe(c),d=()=>{n||(l&&u(),s(x=>{var R;const H=!x;return typeof i=="object"&&((R=i.onVisibleChange)===null||R===void 0||R.call(i,H)),H}))},f=x=>{const R=rNt[o]||"",H=r(l),D={[R]:d,className:`${x}-icon`,key:"passwordIcon",onMouseDown:k=>{k.preventDefault()},onMouseUp:k=>{k.preventDefault()}};return m.cloneElement(m.isValidElement(H)?H:m.createElement("span",null,H),D)},{className:p,prefixCls:g,inputPrefixCls:A,size:w}=t,b=oNt(t,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:C}=m.useContext(Mi),P=C("input",A),v=C("input-password",g),T=i&&f(v),y=Gn(v,p,{[`${v}-${w}`]:!!w}),S=Object.assign(Object.assign({},lp(b,["suffix","iconRender","visibilityToggle"])),{type:l?"text":"password",className:y,prefixCls:P,suffix:T});return w&&(S.size=w),m.createElement(L$,Object.assign({ref:q2(e,c)},S))});var lNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,inputPrefixCls:o,className:i,size:r,suffix:a,enterButton:l=!1,addonAfter:s,loading:c,disabled:u,onSearch:d,onChange:f,onCompositionStart:p,onCompositionEnd:g}=t,A=lNt(t,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:w,direction:b}=m.useContext(Mi),C=m.useRef(!1),P=w("input-search",n),v=w("input",o),{compactSize:T}=F7(P,b),y=Rd(_=>{var Y;return(Y=r??T)!==null&&Y!==void 0?Y:_}),S=m.useRef(null),x=_=>{_&&_.target&&_.type==="click"&&d&&d(_.target.value,_,{source:"clear"}),f&&f(_)},R=_=>{var Y;document.activeElement===((Y=S.current)===null||Y===void 0?void 0:Y.input)&&_.preventDefault()},H=_=>{var Y,O;d&&d((O=(Y=S.current)===null||Y===void 0?void 0:Y.input)===null||O===void 0?void 0:O.value,_,{source:"input"})},D=_=>{C.current||c||H(_)},k=typeof l=="boolean"?m.createElement(ame,null):null,W=`${P}-button`;let N;const L=l||{},E=L.type&&L.type.__ANT_BUTTON===!0;E||L.type==="button"?N=Ou(L,Object.assign({onMouseDown:R,onClick:_=>{var Y,O;(O=(Y=L==null?void 0:L.props)===null||Y===void 0?void 0:Y.onClick)===null||O===void 0||O.call(Y,_),H(_)},key:"enterButton"},E?{className:W,size:y}:{})):N=m.createElement(no,{className:W,type:l?"primary":void 0,size:y,disabled:u,key:"enterButton",onMouseDown:R,onClick:H,loading:c,icon:k},l),s&&(N=[N,Ou(s,{key:"addonAfter"})]);const U=Gn(P,{[`${P}-rtl`]:b==="rtl",[`${P}-${y}`]:!!y,[`${P}-with-button`]:!!l},i),F=_=>{C.current=!0,p==null||p(_)},B=_=>{C.current=!1,g==null||g(_)};return m.createElement(L$,Object.assign({ref:q2(S,e),onPressEnter:D},A,{size:y,onCompositionStart:F,onCompositionEnd:B,prefixCls:v,addonAfter:N,suffix:a,onChange:x,className:U,disabled:u}))});var cNt=` min-height:0 !important; max-height:none !important; height:0 !important; @@ -4628,14 +4628,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho top:0 !important; right:0 !important; pointer-events: none !important; -`,fNt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],jie={},um;function hNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=t.getAttribute("id")||t.getAttribute("data-reactid")||t.getAttribute("name");if(e&&jie[n])return jie[n];var o=window.getComputedStyle(t),i=o.getPropertyValue("box-sizing")||o.getPropertyValue("-moz-box-sizing")||o.getPropertyValue("-webkit-box-sizing"),r=parseFloat(o.getPropertyValue("padding-bottom"))+parseFloat(o.getPropertyValue("padding-top")),a=parseFloat(o.getPropertyValue("border-bottom-width"))+parseFloat(o.getPropertyValue("border-top-width")),l=fNt.map(function(c){return"".concat(c,":").concat(o.getPropertyValue(c))}).join(";"),s={sizingStyle:l,paddingSize:r,borderSize:a,boxSizing:i};return e&&n&&(jie[n]=s),s}function pNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;um||(um=document.createElement("textarea"),um.setAttribute("tab-index","-1"),um.setAttribute("aria-hidden","true"),document.body.appendChild(um)),t.getAttribute("wrap")?um.setAttribute("wrap",t.getAttribute("wrap")):um.removeAttribute("wrap");var i=hNt(t,e),r=i.paddingSize,a=i.borderSize,l=i.boxSizing,s=i.sizingStyle;um.setAttribute("style","".concat(s,";").concat(dNt)),um.value=t.value||t.placeholder||"";var c=void 0,u=void 0,d,f=um.scrollHeight;if(l==="border-box"?f+=a:l==="content-box"&&(f-=r),n!==null||o!==null){um.value=" ";var p=um.scrollHeight-r;n!==null&&(c=p*n,l==="border-box"&&(c=c+r+a),f=Math.max(c,f)),o!==null&&(u=p*o,l==="border-box"&&(u=u+r+a),d=f>u?"":"hidden",f=Math.min(u,f))}var g={height:f,overflowY:d,resize:"none"};return c&&(g.minHeight=c),u&&(g.maxHeight=u),g}var gNt=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],Yie=0,Oie=1,_ie=2,mNt=m.forwardRef(function(t,e){var n=t,o=n.prefixCls;n.onPressEnter;var i=n.defaultValue,r=n.value,a=n.autoSize,l=n.onResize,s=n.className,c=n.style,u=n.disabled,d=n.onChange;n.onInternalAutoSize;var f=ir(n,gNt),p=Rs(i,{value:r,postState:function(Z){return Z??""}}),g=on(p,2),A=g[0],w=g[1],b=function(Z){w(Z.target.value),d==null||d(Z)},C=m.useRef();m.useImperativeHandle(e,function(){return{textArea:C.current}});var P=m.useMemo(function(){return a&&gr(a)==="object"?[a.minRows,a.maxRows]:[]},[a]),v=on(P,2),T=v[0],y=v[1],S=!!a,x=function(){try{if(document.activeElement===C.current){var Z=C.current,ie=Z.selectionStart,ee=Z.selectionEnd,q=Z.scrollTop;C.current.setSelectionRange(ie,ee),C.current.scrollTop=q}}catch{}},R=m.useState(_ie),H=on(R,2),D=H[0],k=H[1],W=m.useState(),N=on(W,2),L=N[0],E=N[1],U=function(){k(Yie)};Ba(function(){S&&U()},[r,T,y,S]),Ba(function(){if(D===Yie)k(Oie);else if(D===Oie){var J=pNt(C.current,!1,T,y);k(_ie),E(J)}else x()},[D]);var F=m.useRef(),B=function(){za.cancel(F.current)},_=function(Z){D===_ie&&(l==null||l(Z),a&&(B(),F.current=za(function(){U()})))};m.useEffect(function(){return B},[]);var Y=S?L:null,O=$t($t({},c),Y);return(D===Yie||D===Oie)&&(O.overflowY="hidden",O.overflowX="hidden"),m.createElement(bd,{onResize:_,disabled:!(a||l)},m.createElement("textarea",so({},f,{ref:C,style:O,className:_n(o,s,_t({},"".concat(o,"-disabled"),u)),disabled:u,value:A,onChange:b})))}),yNt=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],ANt=be.forwardRef(function(t,e){var n,o,i=t.defaultValue,r=t.value,a=t.onFocus,l=t.onBlur,s=t.onChange,c=t.allowClear,u=t.maxLength,d=t.onCompositionStart,f=t.onCompositionEnd,p=t.suffix,g=t.prefixCls,A=g===void 0?"rc-textarea":g,w=t.showCount,b=t.count,C=t.className,P=t.style,v=t.disabled,T=t.hidden,y=t.classNames,S=t.styles,x=t.onResize,R=ir(t,yNt),H=Rs(i,{value:r,defaultValue:i}),D=on(H,2),k=D[0],W=D[1],N=k==null?"":String(k),L=be.useState(!1),E=on(L,2),U=E[0],F=E[1],B=be.useRef(!1),_=be.useState(null),Y=on(_,2),O=Y[0],J=Y[1],Z=m.useRef(null),ie=function(){var Me;return(Me=Z.current)===null||Me===void 0?void 0:Me.textArea},ee=function(){ie().focus()};m.useImperativeHandle(e,function(){return{resizableTextArea:Z.current,focus:ee,blur:function(){ie().blur()}}}),m.useEffect(function(){F(function(Pe){return!v&&Pe})},[v]);var q=be.useState(null),ae=on(q,2),ne=ae[0],se=ae[1];be.useEffect(function(){if(ne){var Pe;(Pe=ie()).setSelectionRange.apply(Pe,Wo(ne))}},[ne]);var le=mXe(b,w),te=(n=le.max)!==null&&n!==void 0?n:u,he=Number(te)>0,pe=le.strategy(N),fe=!!te&&pe>te,$=function(Me,Te){var De=Te;!B.current&&le.exceedFormatter&&le.max&&le.strategy(Te)>le.max&&(De=le.exceedFormatter(Te,{max:le.max}),Te!==De&&se([ie().selectionStart||0,ie().selectionEnd||0])),W(De),IG(Me.currentTarget,Me,s,De)},de=function(Me){B.current=!0,d==null||d(Me)},Se=function(Me){B.current=!1,$(Me,Me.currentTarget.value),f==null||f(Me)},Ce=function(Me){$(Me,Me.target.value)},ve=function(Me){var Te=R.onPressEnter,De=R.onKeyDown;Me.key==="Enter"&&Te&&Te(Me),De==null||De(Me)},Ie=function(Me){F(!0),a==null||a(Me)},ze=function(Me){F(!1),l==null||l(Me)},ye=function(Me){W(""),ee(),IG(ie(),Me,s)},oe=p,ge;le.show&&(le.showFormatter?ge=le.showFormatter({value:N,count:pe,maxLength:te}):ge="".concat(pe).concat(he?" / ".concat(te):""),oe=be.createElement(be.Fragment,null,oe,be.createElement("span",{className:_n("".concat(A,"-data-count"),y==null?void 0:y.count),style:S==null?void 0:S.count},ge)));var Ae=function(Me){var Te;x==null||x(Me),(Te=ie())!==null&&Te!==void 0&&Te.style.height&&J(!0)},me=!R.autoSize&&!w&&!c;return be.createElement(kme,{value:N,allowClear:c,handleReset:ye,suffix:oe,prefixCls:A,classNames:$t($t({},y),{},{affixWrapper:_n(y==null?void 0:y.affixWrapper,(o={},_t(o,"".concat(A,"-show-count"),w),_t(o,"".concat(A,"-textarea-allow-clear"),c),o))}),disabled:v,focused:U,className:_n(C,fe&&"".concat(A,"-out-of-range")),style:$t($t({},P),O&&!me?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof ge=="string"?ge:void 0}},hidden:T},be.createElement(mNt,so({},R,{maxLength:u,onKeyDown:ve,onChange:Ce,onFocus:Ie,onBlur:ze,onCompositionStart:de,onCompositionEnd:Se,className:_n(y==null?void 0:y.textarea),style:$t($t({},S==null?void 0:S.textarea),{},{resize:P==null?void 0:P.resize}),disabled:v,prefixCls:A,onResize:Ae,ref:Z})))}),wNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,bordered:r=!0,size:a,disabled:l,status:s,allowClear:c,classNames:u,rootClassName:d,className:f,style:p,styles:g,variant:A}=t,w=wNt(t,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","style","styles","variant"]),{getPrefixCls:b,direction:C,textArea:P}=m.useContext(Mi),v=Rd(a),T=m.useContext($p),y=l??T,{status:S,hasFeedback:x,feedbackIcon:R}=m.useContext(Qp),H=Mb(S,s),D=m.useRef(null);m.useImperativeHandle(e,()=>{var _;return{resizableTextArea:(_=D.current)===null||_===void 0?void 0:_.resizableTextArea,focus:Y=>{var O,J;GWt((J=(O=D.current)===null||O===void 0?void 0:O.resizableTextArea)===null||J===void 0?void 0:J.textArea,Y)},blur:()=>{var Y;return(Y=D.current)===null||Y===void 0?void 0:Y.blur()}}});const k=b("input",i),W=j0(k),[N,L,E]=Mme(k,W),[U,F]=IH(A,r),B=wXe(c??(P==null?void 0:P.allowClear));return N(m.createElement(ANt,Object.assign({autoComplete:P==null?void 0:P.autoComplete},w,{style:Object.assign(Object.assign({},P==null?void 0:P.style),p),styles:Object.assign(Object.assign({},P==null?void 0:P.styles),g),disabled:y,allowClear:B,className:Gn(E,W,f,d,P==null?void 0:P.className),classNames:Object.assign(Object.assign(Object.assign({},u),P==null?void 0:P.classNames),{textarea:Gn({[`${k}-sm`]:v==="small",[`${k}-lg`]:v==="large"},L,u==null?void 0:u.textarea,(n=P==null?void 0:P.classNames)===null||n===void 0?void 0:n.textarea),variant:Gn({[`${k}-${U}`]:F},o7(k,H)),affixWrapper:Gn(`${k}-textarea-affix-wrapper`,{[`${k}-affix-wrapper-rtl`]:C==="rtl",[`${k}-affix-wrapper-sm`]:v==="small",[`${k}-affix-wrapper-lg`]:v==="large",[`${k}-textarea-show-count`]:t.showCount||((o=t.count)===null||o===void 0?void 0:o.show)},L)}),prefixCls:k,suffix:x&&m.createElement("span",{className:`${k}-textarea-suffix`},R),ref:D})))}),ns=L$;ns.Group=OWt;ns.Search=uNt;ns.TextArea=xXe;ns.Password=sNt;ns.OTP=QWt;var vNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},xNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:vNt}))},bXe=m.forwardRef(xNt),bNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},SNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:bNt}))},SXe=m.forwardRef(SNt),TNt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"},PNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:TNt}))},CNt=m.forwardRef(PNt);function RNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.yearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.quarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.monthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.weekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.placeholder:t.lang.placeholder}function HNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.rangeYearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.rangeQuarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.rangeMonthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.rangeWeekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.rangePlaceholder:t.lang.rangePlaceholder}function Fme(t,e){const n={adjustX:1,adjustY:1};switch(e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:n};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:n};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:n};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:n};default:return{points:t==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:n}}}function TXe(t,e){const{allowClear:n=!0}=t,{clearIcon:o,removeIcon:i}=DVe(Object.assign(Object.assign({},t),{prefixCls:e,componentName:"DatePicker"}));return[m.useMemo(()=>n===!1?!1:Object.assign({clearIcon:o},n===!0?{}:n),[n,o]),i]}function MNt(t){return m.createElement(oo,Object.assign({size:"small",type:"primary"},t))}function PXe(t){return m.useMemo(()=>Object.assign({button:MNt},t),[t])}var INt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var i;const{prefixCls:r,getPopupContainer:a,components:l,className:s,style:c,placement:u,size:d,disabled:f,bordered:p=!0,placeholder:g,popupClassName:A,dropdownClassName:w,status:b,rootClassName:C,variant:P}=n,v=INt(n,["prefixCls","getPopupContainer","components","className","style","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","rootClassName","variant"]),T=m.useRef(null),{getPrefixCls:y,direction:S,getPopupContainer:x,rangePicker:R}=m.useContext(Mi),H=y("picker",r),{compactSize:D,compactItemClassnames:k}=F7(H,S),{picker:W}=n,N=y(),[L,E]=IH(P,p),U=j0(H),[F,B,_]=eXe(H,U),[Y]=TXe(n,H),O=PXe(l),J=Rd(pe=>{var fe;return(fe=d??D)!==null&&fe!==void 0?fe:pe}),Z=m.useContext($p),ie=f??Z,ee=m.useContext(Qp),{hasFeedback:q,status:ae,feedbackIcon:ne}=ee,se=m.createElement(m.Fragment,null,W==="time"?m.createElement(SXe,null):m.createElement(bXe,null),q&&ne);m.useImperativeHandle(o,()=>T.current);const[le]=D7("Calendar",dG),te=Object.assign(Object.assign({},le),n.locale),[he]=k7("DatePicker",(i=n.popupStyle)===null||i===void 0?void 0:i.zIndex);return F(m.createElement(k9,null,m.createElement(Zkt,Object.assign({separator:m.createElement("span",{"aria-label":"to",className:`${H}-separator`},m.createElement(CNt,null)),disabled:ie,ref:T,popupAlign:Fme(S,u),placeholder:HNt(te,W,g),suffixIcon:se,prevIcon:m.createElement("span",{className:`${H}-prev-icon`}),nextIcon:m.createElement("span",{className:`${H}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${H}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${H}-super-next-icon`}),transitionName:`${N}-slide-up`},v,{className:Gn({[`${H}-${J}`]:J,[`${H}-${L}`]:E},o7(H,Mb(ae,b),q),B,k,s,R==null?void 0:R.className,_,U,C),style:Object.assign(Object.assign({},R==null?void 0:R.style),c),locale:te.lang,prefixCls:H,getPopupContainer:a||x,generateConfig:t,components:O,direction:S,classNames:{popup:Gn(B,A||w,_,U,C)},styles:{popup:Object.assign(Object.assign({},n.popupStyle),{zIndex:he})},allowClear:Y}))))})}var DNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var g;const{prefixCls:A,getPopupContainer:w,components:b,style:C,className:P,rootClassName:v,size:T,bordered:y,placement:S,placeholder:x,popupClassName:R,dropdownClassName:H,disabled:D,status:k,variant:W,onCalendarChange:N}=f,L=DNt(f,["prefixCls","getPopupContainer","components","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","variant","onCalendarChange"]),{getPrefixCls:E,direction:U,getPopupContainer:F,[u]:B}=m.useContext(Mi),_=E("picker",A),{compactSize:Y,compactItemClassnames:O}=F7(_,U),J=m.useRef(null),[Z,ie]=IH(W,y),ee=j0(_),[q,ae,ne]=eXe(_,ee);m.useImperativeHandle(p,()=>J.current);const se={showToday:!0},le=s||f.picker,te=E(),{onSelect:he,multiple:pe}=L,fe=he&&s==="time"&&!pe,$=(De,Ue,Oe)=>{N==null||N(De,Ue,Oe),fe&&he(De)},[de,Se]=TXe(f,_),Ce=PXe(b),ve=Rd(De=>{var Ue;return(Ue=T??Y)!==null&&Ue!==void 0?Ue:De}),Ie=m.useContext($p),ze=D??Ie,ye=m.useContext(Qp),{hasFeedback:oe,status:ge,feedbackIcon:Ae}=ye,me=m.createElement(m.Fragment,null,le==="time"?m.createElement(SXe,null):m.createElement(bXe,null),oe&&Ae),[Pe]=D7("DatePicker",dG),Me=Object.assign(Object.assign({},Pe),f.locale),[Te]=k7("DatePicker",(g=f.popupStyle)===null||g===void 0?void 0:g.zIndex);return q(m.createElement(k9,null,m.createElement(rFt,Object.assign({ref:J,placeholder:RNt(Me,le,x),suffixIcon:me,dropdownAlign:Fme(U,S),prevIcon:m.createElement("span",{className:`${_}-prev-icon`}),nextIcon:m.createElement("span",{className:`${_}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${_}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${_}-super-next-icon`}),transitionName:`${te}-slide-up`,picker:s,onCalendarChange:$},se,L,{locale:Me.lang,className:Gn({[`${_}-${ve}`]:ve,[`${_}-${Z}`]:ie},o7(_,Mb(ge,k),oe),ae,O,B==null?void 0:B.className,P,ne,ee,v),style:Object.assign(Object.assign({},B==null?void 0:B.style),C),prefixCls:_,getPopupContainer:w||F,generateConfig:t,components:Ce,direction:U,disabled:ze,classNames:{popup:Gn(ae,ne,ee,v,R||H)},styles:{popup:Object.assign(Object.assign({},f.popupStyle),{zIndex:Te})},allowClear:de,removeIcon:Se}))))})}const n=e(),o=e("week","WeekPicker"),i=e("month","MonthPicker"),r=e("year","YearPicker"),a=e("quarter","QuarterPicker"),l=e("time","TimePicker");return{DatePicker:n,WeekPicker:o,MonthPicker:i,YearPicker:r,TimePicker:l,QuarterPicker:a}}function CXe(t){const{DatePicker:e,WeekPicker:n,MonthPicker:o,YearPicker:i,TimePicker:r,QuarterPicker:a}=ENt(t),l=zNt(t),s=e;return s.WeekPicker=n,s.MonthPicker=o,s.YearPicker=i,s.RangePicker=l,s.TimePicker=r,s.QuarterPicker=a,s}const Db=CXe(ckt);function RXe(t){const e=Fme(t.direction,t.placement);return e.overflow.adjustY=!1,e.overflow.adjustX=!1,Object.assign(Object.assign({},t),{dropdownAlign:e})}const kNt=RW(Db,"picker",null,RXe);Db._InternalPanelDoNotUseOrYouWillBeFired=kNt;const FNt=RW(Db.RangePicker,"picker",null,RXe);Db._InternalRangePanelDoNotUseOrYouWillBeFired=FNt;Db.generatePicker=CXe;function $k(t){"@babel/helpers - typeof";return $k=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$k(t)}function LNt(t,e){if($k(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if($k(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function WNt(t){var e=LNt(t,"string");return $k(e)=="symbol"?e:e+""}function B0e(t,e,n){return e=WNt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $ve(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Zy(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)continue;n[o]=t[o]}return n}function ONt(t,e){if(t==null)return{};var n=YNt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var _Nt=["prefixCls","className","containerRef"],VNt=function(e){var n=e.prefixCls,o=e.className,i=e.containerRef,r=ONt(e,_Nt),a=m.useContext(HXe),l=a.panel,s=z7(l,i);return m.createElement("div",Wv({className:_n("".concat(n,"-content"),o),role:"dialog",ref:s},gf(e,{aria:!0}),{"aria-modal":"true"},r))};function exe(t){return typeof t=="string"&&String(Number(t))===t?(U0(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(t)):t}var txe={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function GNt(t,e){var n,o,i,r=t.prefixCls,a=t.open,l=t.placement,s=t.inline,c=t.push,u=t.forceRender,d=t.autoFocus,f=t.keyboard,p=t.classNames,g=t.rootClassName,A=t.rootStyle,w=t.zIndex,b=t.className,C=t.id,P=t.style,v=t.motion,T=t.width,y=t.height,S=t.children,x=t.mask,R=t.maskClosable,H=t.maskMotion,D=t.maskClassName,k=t.maskStyle,W=t.afterOpenChange,N=t.onClose,L=t.onMouseEnter,E=t.onMouseOver,U=t.onMouseLeave,F=t.onClick,B=t.onKeyDown,_=t.onKeyUp,Y=t.styles,O=m.useRef(),J=m.useRef(),Z=m.useRef();m.useImperativeHandle(e,function(){return O.current});var ie=function(Ie){var ze=Ie.keyCode,ye=Ie.shiftKey;switch(ze){case Bn.TAB:{if(ze===Bn.TAB){if(!ye&&document.activeElement===Z.current){var oe;(oe=J.current)===null||oe===void 0||oe.focus({preventScroll:!0})}else if(ye&&document.activeElement===J.current){var ge;(ge=Z.current)===null||ge===void 0||ge.focus({preventScroll:!0})}}break}case Bn.ESC:{N&&f&&(Ie.stopPropagation(),N(Ie));break}}};m.useEffect(function(){if(a&&d){var ve;(ve=O.current)===null||ve===void 0||ve.focus({preventScroll:!0})}},[a]);var ee=m.useState(!1),q=j0e(ee,2),ae=q[0],ne=q[1],se=m.useContext(Zve),le;typeof c=="boolean"?le=c?{}:{distance:0}:le=c||{};var te=(n=(o=(i=le)===null||i===void 0?void 0:i.distance)!==null&&o!==void 0?o:se==null?void 0:se.pushDistance)!==null&&n!==void 0?n:180,he=m.useMemo(function(){return{pushDistance:te,push:function(){ne(!0)},pull:function(){ne(!1)}}},[te]);m.useEffect(function(){if(a){var ve;se==null||(ve=se.push)===null||ve===void 0||ve.call(se)}else{var Ie;se==null||(Ie=se.pull)===null||Ie===void 0||Ie.call(se)}},[a]),m.useEffect(function(){return function(){var ve;se==null||(ve=se.pull)===null||ve===void 0||ve.call(se)}},[]);var pe=x&&m.createElement(Hg,Wv({key:"mask"},H,{visible:a}),function(ve,Ie){var ze=ve.className,ye=ve.style;return m.createElement("div",{className:_n("".concat(r,"-mask"),ze,p==null?void 0:p.mask,D),style:Zy(Zy(Zy({},ye),k),Y==null?void 0:Y.mask),onClick:R&&a?N:void 0,ref:Ie})}),fe=typeof v=="function"?v(l):v,$={};if(ae&&te)switch(l){case"top":$.transform="translateY(".concat(te,"px)");break;case"bottom":$.transform="translateY(".concat(-te,"px)");break;case"left":$.transform="translateX(".concat(te,"px)");break;default:$.transform="translateX(".concat(-te,"px)");break}l==="left"||l==="right"?$.width=exe(T):$.height=exe(y);var de={onMouseEnter:L,onMouseOver:E,onMouseLeave:U,onClick:F,onKeyDown:B,onKeyUp:_},Se=m.createElement(Hg,Wv({key:"panel"},fe,{visible:a,forceRender:u,onVisibleChanged:function(Ie){W==null||W(Ie)},removeOnLeave:!1,leavedClassName:"".concat(r,"-content-wrapper-hidden")}),function(ve,Ie){var ze=ve.className,ye=ve.style;return m.createElement("div",Wv({className:_n("".concat(r,"-content-wrapper"),p==null?void 0:p.wrapper,ze),style:Zy(Zy(Zy({},$),ye),Y==null?void 0:Y.wrapper)},gf(t,{data:!0})),m.createElement(VNt,Wv({id:C,containerRef:Ie,prefixCls:r,className:_n(b,p==null?void 0:p.content),style:Zy(Zy({},P),Y==null?void 0:Y.content)},gf(t,{aria:!0}),de),S))}),Ce=Zy({},A);return w&&(Ce.zIndex=w),m.createElement(Zve.Provider,{value:he},m.createElement("div",{className:_n(r,"".concat(r,"-").concat(l),g,B0e(B0e({},"".concat(r,"-open"),a),"".concat(r,"-inline"),s)),style:Ce,tabIndex:-1,ref:O,onKeyDown:ie},pe,m.createElement("div",{tabIndex:0,ref:J,style:txe,"aria-hidden":"true","data-sentinel":"start"}),Se,m.createElement("div",{tabIndex:0,ref:Z,style:txe,"aria-hidden":"true","data-sentinel":"end"})))}var XNt=m.forwardRef(GNt),JNt=function(e){var n=e.open,o=n===void 0?!1:n,i=e.prefixCls,r=i===void 0?"rc-drawer":i,a=e.placement,l=a===void 0?"right":a,s=e.autoFocus,c=s===void 0?!0:s,u=e.keyboard,d=u===void 0?!0:u,f=e.width,p=f===void 0?378:f,g=e.mask,A=g===void 0?!0:g,w=e.maskClosable,b=w===void 0?!0:w,C=e.getContainer,P=e.forceRender,v=e.afterOpenChange,T=e.destroyOnClose,y=e.onMouseEnter,S=e.onMouseOver,x=e.onMouseLeave,R=e.onClick,H=e.onKeyDown,D=e.onKeyUp,k=e.panelRef,W=m.useState(!1),N=j0e(W,2),L=N[0],E=N[1],U=m.useState(!1),F=j0e(U,2),B=F[0],_=F[1];Ba(function(){_(!0)},[]);var Y=B?o:!1,O=m.useRef(),J=m.useRef();Ba(function(){Y&&(J.current=document.activeElement)},[Y]);var Z=function(ne){var se;if(E(ne),v==null||v(ne),!ne&&J.current&&!((se=O.current)!==null&&se!==void 0&&se.contains(J.current))){var le;(le=J.current)===null||le===void 0||le.focus({preventScroll:!0})}},ie=m.useMemo(function(){return{panel:k}},[k]);if(!P&&!L&&!Y&&T)return null;var ee={onMouseEnter:y,onMouseOver:S,onMouseLeave:x,onClick:R,onKeyDown:H,onKeyUp:D},q=Zy(Zy({},e),{},{open:Y,prefixCls:r,placement:l,autoFocus:c,keyboard:d,width:p,mask:A,maskClosable:b,inline:C===!1,afterOpenChange:Z,ref:O},ee);return m.createElement(HXe.Provider,{value:ie},m.createElement(d$,{open:Y||P||L,autoDestroy:!1,getContainer:C,autoLock:A&&(Y||L)},m.createElement(XNt,q)))};const KNt=new ul("antSpinMove",{to:{opacity:1}}),qNt=new ul("antRotate",{to:{transform:"rotate(405deg)"}}),$Nt=t=>{const{componentCls:e,calc:n}=t;return{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",display:"none",color:t.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${t.motionDurationSlow} ${t.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},[`${e}-text`]:{fontSize:t.fontSize,paddingTop:n(n(t.dotSize).sub(t.fontSize)).div(2).add(2).equal()},"&-fullscreen":{position:"fixed",width:"100vw",height:"100vh",backgroundColor:t.colorBgMask,zIndex:t.zIndexPopupBase,inset:0,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",opacity:0,visibility:"hidden",transition:`all ${t.motionDurationMid}`,"&-show":{opacity:1,visibility:"visible"},[`${e}-dot ${e}-dot-item`]:{backgroundColor:t.colorWhite},[`${e}-text`]:{color:t.colorTextLightSolid}},"&-nested-loading":{position:"relative",[`> div > ${e}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:t.contentHeight,[`${e}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:n(t.dotSize).mul(-1).div(2).equal()},[`${e}-text`]:{position:"absolute",top:"50%",width:"100%",textShadow:`0 1px 2px ${t.colorBgContainer}`},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSize).div(2).mul(-1).sub(10).equal()},"&-sm":{[`${e}-dot`]:{margin:n(t.dotSizeSM).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeSM).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeSM).div(2).mul(-1).sub(10).equal()}},"&-lg":{[`${e}-dot`]:{margin:n(t.dotSizeLG).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeLG).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeLG).div(2).mul(-1).sub(10).equal()}}},[`${e}-container`]:{position:"relative",transition:`opacity ${t.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:t.colorBgContainer,opacity:0,transition:`all ${t.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${e}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none","&::after":{opacity:.4,pointerEvents:"auto"}}},"&-tip":{color:t.spinDotDefault},[`${e}-dot`]:{position:"relative",display:"inline-block",fontSize:t.dotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),height:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),backgroundColor:t.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:KNt,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:"0s"},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:qNt,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${e}-dot`]:{fontSize:t.dotSizeSM,i:{width:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal(),height:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal()}},[`&-lg ${e}-dot`]:{fontSize:t.dotSizeLG,i:{width:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal(),height:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal()}},[`&${e}-show-text ${e}-text`]:{display:"block"}})}},QNt=t=>{const{controlHeightLG:e,controlHeight:n}=t;return{contentHeight:400,dotSize:e/2,dotSizeSM:e*.35,dotSizeLG:n}},ZNt=Fl("Spin",t=>{const e=Zr(t,{spinDotDefault:t.colorTextDescription});return[$Nt(e)]},QNt);var eUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,spinning:n=!0,delay:o=0,className:i,rootClassName:r,size:a="default",tip:l,wrapperClassName:s,style:c,children:u,fullscreen:d=!1}=t,f=eUt(t,["prefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","fullscreen"]),{getPrefixCls:p}=m.useContext(Mi),g=p("spin",e),[A,w,b]=ZNt(g),[C,P]=m.useState(()=>n&&!nUt(n,o));m.useEffect(()=>{if(n){const k=LLt(o,()=>{P(!0)});return k(),()=>{var W;(W=k==null?void 0:k.cancel)===null||W===void 0||W.call(k)}}P(!1)},[o,n]);const v=m.useMemo(()=>typeof u<"u"&&!d,[u,d]),{direction:T,spin:y}=m.useContext(Mi),S=Gn(g,y==null?void 0:y.className,{[`${g}-sm`]:a==="small",[`${g}-lg`]:a==="large",[`${g}-spinning`]:C,[`${g}-show-text`]:!!l,[`${g}-fullscreen`]:d,[`${g}-fullscreen-show`]:d&&C,[`${g}-rtl`]:T==="rtl"},i,r,w,b),x=Gn(`${g}-container`,{[`${g}-blur`]:C}),R=lp(f,["indicator"]),H=Object.assign(Object.assign({},y==null?void 0:y.style),c),D=m.createElement("div",Object.assign({},R,{style:H,className:S,"aria-live":"polite","aria-busy":C}),tUt(g,t),l&&(v||d)?m.createElement("div",{className:`${g}-text`},l):null);return A(v?m.createElement("div",Object.assign({},R,{className:Gn(`${g}-nested-loading`,s,w,b)}),C&&m.createElement("div",{key:"loading"},D),m.createElement("div",{className:x,key:"container"},u)):D)};LW.setDefaultIndicator=t=>{W_=t};const MXe=t=>{var e,n;const{prefixCls:o,title:i,footer:r,extra:a,loading:l,onClose:s,headerStyle:c,bodyStyle:u,footerStyle:d,children:f,classNames:p,styles:g}=t,{drawer:A}=m.useContext(Mi),w=m.useCallback(y=>m.createElement("button",{type:"button",onClick:s,"aria-label":"Close",className:`${o}-close`},y),[s]),[b,C]=qge(oR(t),oR(A),{closable:!0,closeIconRender:w});let P;typeof l=="boolean"?P={spinning:l}:typeof l=="object"&&(P=Object.assign({spinning:!0},l));const v=m.useMemo(()=>{var y,S;return!i&&!b?null:m.createElement("div",{style:Object.assign(Object.assign(Object.assign({},(y=A==null?void 0:A.styles)===null||y===void 0?void 0:y.header),c),g==null?void 0:g.header),className:Gn(`${o}-header`,{[`${o}-header-close-only`]:b&&!i&&!a},(S=A==null?void 0:A.classNames)===null||S===void 0?void 0:S.header,p==null?void 0:p.header)},m.createElement("div",{className:`${o}-header-title`},C,i&&m.createElement("div",{className:`${o}-title`},i)),a&&m.createElement("div",{className:`${o}-extra`},a))},[b,C,a,c,o,i]),T=m.useMemo(()=>{var y,S;if(!r)return null;const x=`${o}-footer`;return m.createElement("div",{className:Gn(x,(y=A==null?void 0:A.classNames)===null||y===void 0?void 0:y.footer,p==null?void 0:p.footer),style:Object.assign(Object.assign(Object.assign({},(S=A==null?void 0:A.styles)===null||S===void 0?void 0:S.footer),d),g==null?void 0:g.footer)},r)},[r,d,o]);return P!=null&&P.spinning?m.createElement(LW,Object.assign({spinning:!1,style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},P)):m.createElement(m.Fragment,null,v,m.createElement("div",{className:Gn(`${o}-body`,p==null?void 0:p.body,(e=A==null?void 0:A.classNames)===null||e===void 0?void 0:e.body),style:Object.assign(Object.assign(Object.assign({},(n=A==null?void 0:A.styles)===null||n===void 0?void 0:n.body),u),g==null?void 0:g.body)},f),T)},oUt=t=>{const e="100%";return{left:`translateX(-${e})`,right:`translateX(${e})`,top:`translateY(-${e})`,bottom:`translateY(${e})`}[t]},IXe=(t,e)=>({"&-enter, &-appear":Object.assign(Object.assign({},t),{"&-active":e}),"&-leave":Object.assign(Object.assign({},e),{"&-active":t})}),zXe=(t,e)=>Object.assign({"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${e}`}}},IXe({opacity:t},{opacity:1})),iUt=(t,e)=>[zXe(.7,e),IXe({transform:oUt(t)},{transform:"none"})],rUt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return{[e]:{[`${e}-mask-motion`]:zXe(0,n),[`${e}-panel-motion`]:["left","right","top","bottom"].reduce((o,i)=>Object.assign(Object.assign({},o),{[`&-${i}`]:iUt(i,n)}),{})}}},aUt=t=>{const{borderRadiusSM:e,componentCls:n,zIndexPopup:o,colorBgMask:i,colorBgElevated:r,motionDurationSlow:a,motionDurationMid:l,paddingXS:s,padding:c,paddingLG:u,fontSizeLG:d,lineHeightLG:f,lineWidth:p,lineType:g,colorSplit:A,marginXS:w,colorIcon:b,colorIconHover:C,colorBgTextHover:P,colorBgTextActive:v,colorText:T,fontWeightStrong:y,footerPaddingBlock:S,footerPaddingInline:x,calc:R}=t,H=`${n}-content-wrapper`;return{[n]:{position:"fixed",inset:0,zIndex:o,pointerEvents:"none","&-pure":{position:"relative",background:r,display:"flex",flexDirection:"column",[`&${n}-left`]:{boxShadow:t.boxShadowDrawerLeft},[`&${n}-right`]:{boxShadow:t.boxShadowDrawerRight},[`&${n}-top`]:{boxShadow:t.boxShadowDrawerUp},[`&${n}-bottom`]:{boxShadow:t.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${n}-mask`]:{position:"absolute",inset:0,zIndex:o,background:i,pointerEvents:"auto"},[H]:{position:"absolute",zIndex:o,maxWidth:"100vw",transition:`all ${a}`,"&-hidden":{display:"none"}},[`&-left > ${H}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:t.boxShadowDrawerLeft},[`&-right > ${H}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:t.boxShadowDrawerRight},[`&-top > ${H}`]:{top:0,insetInline:0,boxShadow:t.boxShadowDrawerUp},[`&-bottom > ${H}`]:{bottom:0,insetInline:0,boxShadow:t.boxShadowDrawerDown},[`${n}-content`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%",overflow:"auto",background:r,pointerEvents:"auto"},[`${n}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${Ut(c)} ${Ut(u)}`,fontSize:d,lineHeight:f,borderBottom:`${Ut(p)} ${g} ${A}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${n}-extra`]:{flex:"none"},[`${n}-close`]:Object.assign({display:"inline-flex",width:R(d).add(s).equal(),height:R(d).add(s).equal(),borderRadius:e,justifyContent:"center",alignItems:"center",marginInlineEnd:w,color:b,fontWeight:y,fontSize:d,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,cursor:"pointer",transition:`all ${l}`,textRendering:"auto","&:hover":{color:C,backgroundColor:P,textDecoration:"none"},"&:active":{backgroundColor:v}},V6(t)),[`${n}-title`]:{flex:1,margin:0,color:T,fontWeight:t.fontWeightStrong,fontSize:d,lineHeight:f},[`${n}-body`]:{flex:1,minWidth:0,minHeight:0,padding:u,overflow:"auto"},[`${n}-footer`]:{flexShrink:0,padding:`${Ut(S)} ${Ut(x)}`,borderTop:`${Ut(p)} ${g} ${A}`},"&-rtl":{direction:"rtl"}}}},lUt=t=>({zIndexPopup:t.zIndexPopupBase,footerPaddingBlock:t.paddingXS,footerPaddingInline:t.padding}),DXe=Fl("Drawer",t=>{const e=Zr(t,{});return[aUt(e),rUt(e)]},lUt);var EXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{rootClassName:e,width:n,height:o,size:i="default",mask:r=!0,push:a=sUt,open:l,afterOpenChange:s,onClose:c,prefixCls:u,getContainer:d,style:f,className:p,visible:g,afterVisibleChange:A,maskStyle:w,drawerStyle:b,contentWrapperStyle:C}=t,P=EXe(t,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange","maskStyle","drawerStyle","contentWrapperStyle"]),{getPopupContainer:v,getPrefixCls:T,direction:y,drawer:S}=m.useContext(Mi),x=T("drawer",u),[R,H,D]=DXe(x),k=d===void 0&&v?()=>v(document.body):d,W=Gn({"no-mask":!r,[`${x}-rtl`]:y==="rtl"},e,H,D),N=m.useMemo(()=>n??(i==="large"?736:378),[n,i]),L=m.useMemo(()=>o??(i==="large"?736:378),[o,i]),E={motionName:D9(x,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},U=ie=>({motionName:D9(x,`panel-motion-${ie}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),F=K_e(),[B,_]=k7("Drawer",P.zIndex),{classNames:Y={},styles:O={}}=P,{classNames:J={},styles:Z={}}=S||{};return R(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:_},m.createElement(JNt,Object.assign({prefixCls:x,onClose:c,maskMotion:E,motion:U},P,{classNames:{mask:Gn(Y.mask,J.mask),content:Gn(Y.content,J.content),wrapper:Gn(Y.wrapper,J.wrapper)},styles:{mask:Object.assign(Object.assign(Object.assign({},O.mask),w),Z.mask),content:Object.assign(Object.assign(Object.assign({},O.content),b),Z.content),wrapper:Object.assign(Object.assign(Object.assign({},O.wrapper),C),Z.wrapper)},open:l??g,mask:r,push:a,width:N,height:L,style:Object.assign(Object.assign({},S==null?void 0:S.style),f),className:Gn(S==null?void 0:S.className,p),rootClassName:W,getContainer:k,afterOpenChange:s??A,panelRef:F,zIndex:B}),m.createElement(MXe,Object.assign({prefixCls:x},P,{onClose:c})))))))},cUt=t=>{const{prefixCls:e,style:n,className:o,placement:i="right"}=t,r=EXe(t,["prefixCls","style","className","placement"]),{getPrefixCls:a}=m.useContext(Mi),l=a("drawer",e),[s,c,u]=DXe(l),d=Gn(l,`${l}-pure`,`${l}-${i}`,c,u,o);return s(m.createElement("div",{className:d,style:n},m.createElement(MXe,Object.assign({prefixCls:l},r))))};Y0e._InternalPanelDoNotUseOrYouWillBeFired=cUt;function nxe(t){return["small","middle","large"].includes(t)}function oxe(t){return t?typeof t=="number"&&!Number.isNaN(t):!1}const kXe=be.createContext({latestIndex:0}),uUt=kXe.Provider,dUt=t=>{let{className:e,index:n,children:o,split:i,style:r}=t;const{latestIndex:a}=m.useContext(kXe);return o==null?null:m.createElement(m.Fragment,null,m.createElement("div",{className:e,style:r},o),n{var n,o;const{getPrefixCls:i,space:r,direction:a}=m.useContext(Mi),{size:l=(r==null?void 0:r.size)||"small",align:s,className:c,rootClassName:u,children:d,direction:f="horizontal",prefixCls:p,split:g,style:A,wrap:w=!1,classNames:b,styles:C}=t,P=fUt(t,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[v,T]=Array.isArray(l)?l:[l,l],y=nxe(T),S=nxe(v),x=oxe(T),R=oxe(v),H=E9(d,{keepEmpty:!0}),D=s===void 0&&f==="horizontal"?"center":s,k=i("space",p),[W,N,L]=v_e(k),E=Gn(k,r==null?void 0:r.className,N,`${k}-${f}`,{[`${k}-rtl`]:a==="rtl",[`${k}-align-${D}`]:D,[`${k}-gap-row-${T}`]:y,[`${k}-gap-col-${v}`]:S},c,u,L),U=Gn(`${k}-item`,(n=b==null?void 0:b.item)!==null&&n!==void 0?n:(o=r==null?void 0:r.classNames)===null||o===void 0?void 0:o.item);let F=0;const B=H.map((O,J)=>{var Z,ie;O!=null&&(F=J);const ee=O&&O.key||`${U}-${J}`;return m.createElement(dUt,{className:U,key:ee,index:J,split:g,style:(Z=C==null?void 0:C.item)!==null&&Z!==void 0?Z:(ie=r==null?void 0:r.styles)===null||ie===void 0?void 0:ie.item},O)}),_=m.useMemo(()=>({latestIndex:F}),[F]);if(H.length===0)return null;const Y={};return w&&(Y.flexWrap="wrap"),!S&&R&&(Y.columnGap=v),!y&&x&&(Y.rowGap=T),W(m.createElement("div",Object.assign({ref:e,className:E,style:Object.assign(Object.assign(Object.assign({},Y),r==null?void 0:r.style),A)},P),m.createElement(uUt,{value:_},B)))}),en=hUt;en.Compact=kCt;var pUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPopupContainer:e,getPrefixCls:n,direction:o}=m.useContext(Mi),{prefixCls:i,type:r="default",danger:a,disabled:l,loading:s,onClick:c,htmlType:u,children:d,className:f,menu:p,arrow:g,autoFocus:A,overlay:w,trigger:b,align:C,open:P,onOpenChange:v,placement:T,getPopupContainer:y,href:S,icon:x=m.createElement(mme,null),title:R,buttonsRender:H=ae=>ae,mouseEnterDelay:D,mouseLeaveDelay:k,overlayClassName:W,overlayStyle:N,destroyPopupOnHide:L,dropdownRender:E}=t,U=pUt(t,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),F=n("dropdown",i),B=`${F}-button`,_={menu:p,arrow:g,autoFocus:A,align:C,disabled:l,trigger:l?[]:b,onOpenChange:v,getPopupContainer:y||e,mouseEnterDelay:D,mouseLeaveDelay:k,overlayClassName:W,overlayStyle:N,destroyPopupOnHide:L,dropdownRender:E},{compactSize:Y,compactItemClassnames:O}=F7(F,o),J=Gn(B,O,f);"overlay"in t&&(_.overlay=w),"open"in t&&(_.open=P),"placement"in t?_.placement=T:_.placement=o==="rtl"?"bottomLeft":"bottomRight";const Z=m.createElement(oo,{type:r,danger:a,disabled:l,loading:s,onClick:c,htmlType:u,href:S,title:R},d),ie=m.createElement(oo,{type:r,danger:a,icon:x}),[ee,q]=H([Z,ie]);return m.createElement(en.Compact,Object.assign({className:J,size:Y,block:!0},U),ee,m.createElement(R$,Object.assign({},_),q))};FXe.__ANT_BUTTON=!0;const W7=R$;W7.Button=FXe;var gUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},mUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gUt}))},WW=m.forwardRef(mUt);function ixe(t){var e=t.getBoundingClientRect(),n=document.documentElement;return{left:e.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||document.body.clientLeft||0),top:e.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||document.body.clientTop||0)}}function bY(t,e,n,o){var i=IV.unstable_batchedUpdates?function(a){IV.unstable_batchedUpdates(n,a)}:n;return t!=null&&t.addEventListener&&t.addEventListener(e,i,o),{remove:function(){t!=null&&t.removeEventListener&&t.removeEventListener(e,i,o)}}}const LXe=function(){const t=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let e=1;e{const i=n[o];i!==void 0&&(t[o]=i)})}return t};var yUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},AUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yUt}))},rxe=m.forwardRef(AUt),wUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},vUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:wUt}))},axe=m.forwardRef(vUt),xUt={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"},bUt=["10","20","50","100"],SUt=function(e){var n=e.pageSizeOptions,o=n===void 0?bUt:n,i=e.locale,r=e.changeSize,a=e.pageSize,l=e.goButton,s=e.quickGo,c=e.rootPrefixCls,u=e.selectComponentClass,d=e.selectPrefixCls,f=e.disabled,p=e.buildOptionText,g=be.useState(""),A=on(g,2),w=A[0],b=A[1],C=function(){return!w||Number.isNaN(w)?void 0:Number(w)},P=typeof p=="function"?p:function(N){return"".concat(N," ").concat(i.items_per_page)},v=function(L){r==null||r(Number(L))},T=function(L){b(L.target.value)},y=function(L){l||w===""||(b(""),!(L.relatedTarget&&(L.relatedTarget.className.indexOf("".concat(c,"-item-link"))>=0||L.relatedTarget.className.indexOf("".concat(c,"-item"))>=0))&&(s==null||s(C())))},S=function(L){w!==""&&(L.keyCode===Bn.ENTER||L.type==="click")&&(b(""),s==null||s(C()))},x=function(){return o.some(function(L){return L.toString()===a.toString()})?o:o.concat([a.toString()]).sort(function(L,E){var U=Number.isNaN(Number(L))?0:Number(L),F=Number.isNaN(Number(E))?0:Number(E);return U-F})},R="".concat(c,"-options");if(!r&&!s)return null;var H=null,D=null,k=null;if(r&&u){var W=x().map(function(N,L){return be.createElement(u.Option,{key:L,value:N.toString()},P(N))});H=be.createElement(u,{disabled:f,prefixCls:d,showSearch:!1,className:"".concat(R,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(a||o[0]).toString(),onChange:v,getPopupContainer:function(L){return L.parentNode},"aria-label":i.page_size,defaultOpen:!1},W)}return s&&(l&&(k=typeof l=="boolean"?be.createElement("button",{type:"button",onClick:S,onKeyUp:S,disabled:f,className:"".concat(R,"-quick-jumper-button")},i.jump_to_confirm):be.createElement("span",{onClick:S,onKeyUp:S},l)),D=be.createElement("div",{className:"".concat(R,"-quick-jumper")},i.jump_to,be.createElement("input",{disabled:f,type:"text",value:w,onChange:T,onKeyUp:S,onBlur:y,"aria-label":i.page}),i.page,k)),be.createElement("li",{className:R},H,D)},Cz=function(e){var n,o=e.rootPrefixCls,i=e.page,r=e.active,a=e.className,l=e.showTitle,s=e.onClick,c=e.onKeyPress,u=e.itemRender,d="".concat(o,"-item"),f=_n(d,"".concat(d,"-").concat(i),(n={},_t(n,"".concat(d,"-active"),r),_t(n,"".concat(d,"-disabled"),!i),n),a),p=function(){s(i)},g=function(b){c(b,s,i)},A=u(i,"page",be.createElement("a",{rel:"nofollow"},i));return A?be.createElement("li",{title:l?String(i):null,className:f,onClick:p,onKeyDown:g,tabIndex:0},A):null},TUt=function(e,n,o){return o};function lxe(){}function sxe(t){var e=Number(t);return typeof e=="number"&&!Number.isNaN(e)&&isFinite(e)&&Math.floor(e)===e}function O8(t,e,n){var o=typeof t>"u"?e:t;return Math.floor((n-1)/o)+1}var PUt=function(e){var n,o=e.prefixCls,i=o===void 0?"rc-pagination":o,r=e.selectPrefixCls,a=r===void 0?"rc-select":r,l=e.className,s=e.selectComponentClass,c=e.current,u=e.defaultCurrent,d=u===void 0?1:u,f=e.total,p=f===void 0?0:f,g=e.pageSize,A=e.defaultPageSize,w=A===void 0?10:A,b=e.onChange,C=b===void 0?lxe:b,P=e.hideOnSinglePage,v=e.showPrevNextJumpers,T=v===void 0?!0:v,y=e.showQuickJumper,S=e.showLessItems,x=e.showTitle,R=x===void 0?!0:x,H=e.onShowSizeChange,D=H===void 0?lxe:H,k=e.locale,W=k===void 0?xUt:k,N=e.style,L=e.totalBoundaryShowSizeChanger,E=L===void 0?50:L,U=e.disabled,F=e.simple,B=e.showTotal,_=e.showSizeChanger,Y=e.pageSizeOptions,O=e.itemRender,J=O===void 0?TUt:O,Z=e.jumpPrevIcon,ie=e.jumpNextIcon,ee=e.prevIcon,q=e.nextIcon,ae=be.useRef(null),ne=Rs(10,{value:g,defaultValue:w}),se=on(ne,2),le=se[0],te=se[1],he=Rs(1,{value:c,defaultValue:d,postState:function(fn){return Math.max(1,Math.min(fn,O8(void 0,le,p)))}}),pe=on(he,2),fe=pe[0],$=pe[1],de=be.useState(fe),Se=on(de,2),Ce=Se[0],ve=Se[1];m.useEffect(function(){ve(fe)},[fe]);var Ie=Math.max(1,fe-(S?3:5)),ze=Math.min(O8(void 0,le,p),fe+(S?3:5));function ye(Xt,fn){var rn=Xt||be.createElement("button",{type:"button","aria-label":fn,className:"".concat(i,"-item-link")});return typeof Xt=="function"&&(rn=be.createElement(Xt,$t({},e))),rn}function oe(Xt){var fn=Xt.target.value,rn=O8(void 0,le,p),bn;return fn===""?bn=fn:Number.isNaN(Number(fn))?bn=Ce:fn>=rn?bn=rn:bn=Number(fn),bn}function ge(Xt){return sxe(Xt)&&Xt!==fe&&sxe(p)&&p>0}var Ae=p>le?y:!1;function me(Xt){(Xt.keyCode===Bn.UP||Xt.keyCode===Bn.DOWN)&&Xt.preventDefault()}function Pe(Xt){var fn=oe(Xt);switch(fn!==Ce&&ve(fn),Xt.keyCode){case Bn.ENTER:De(fn);break;case Bn.UP:De(fn-1);break;case Bn.DOWN:De(fn+1);break}}function Me(Xt){De(oe(Xt))}function Te(Xt){var fn=O8(Xt,le,p),rn=fe>fn&&fn!==0?fn:fe;te(Xt),ve(rn),D==null||D(fe,Xt),$(rn),C==null||C(rn,Xt)}function De(Xt){if(ge(Xt)&&!U){var fn=O8(void 0,le,p),rn=Xt;return Xt>fn?rn=fn:Xt<1&&(rn=1),rn!==Ce&&ve(rn),$(rn),C==null||C(rn,le),rn}return fe}var Ue=fe>1,Oe=feE;function $e(){Ue&&De(fe-1)}function We(){Oe&&De(fe+1)}function Ee(){De(Ie)}function Fe(){De(ze)}function Ge(Xt,fn){if(Xt.key==="Enter"||Xt.charCode===Bn.ENTER||Xt.keyCode===Bn.ENTER){for(var rn=arguments.length,bn=new Array(rn>2?rn-2:0),Tn=2;Tnp?p:fe*le])),_e=null,nt=O8(void 0,le,p);if(P&&p<=le)return null;var yt=[],Tt={rootPrefixCls:i,onClick:De,onKeyPress:Ge,showTitle:R,itemRender:J,page:-1},Rt=fe-1>0?fe-1:0,Wt=fe+1=Ke*2&&fe!==3&&(yt[0]=be.cloneElement(yt[0],{className:_n("".concat(i,"-item-after-jump-prev"),yt[0].props.className)}),yt.unshift(at)),nt-fe>=Ke*2&&fe!==nt-2){var mt=yt[yt.length-1];yt[yt.length-1]=be.cloneElement(mt,{className:_n("".concat(i,"-item-before-jump-next"),mt.props.className)}),yt.push(_e)}Ye!==1&&yt.unshift(be.createElement(Cz,so({},Tt,{key:1,page:1}))),st!==nt&&yt.push(be.createElement(Cz,so({},Tt,{key:nt,page:nt})))}var Ht=Qe(Rt);if(Ht){var wt=!Ue||!nt;Ht=be.createElement("li",{title:R?W.prev_page:null,onClick:$e,tabIndex:wt?null:0,onKeyDown:rt,className:_n("".concat(i,"-prev"),_t({},"".concat(i,"-disabled"),wt)),"aria-disabled":wt},Ht)}var It=ut(Wt);if(It){var Et,zt;F?(Et=!Oe,zt=Ue?0:null):(Et=!Oe||!nt,zt=Et?null:0),It=be.createElement("li",{title:R?W.next_page:null,onClick:We,tabIndex:zt,onKeyDown:Ve,className:_n("".concat(i,"-next"),_t({},"".concat(i,"-disabled"),Et)),"aria-disabled":Et},It)}var ln=_n(i,l,(n={},_t(n,"".concat(i,"-simple"),F),_t(n,"".concat(i,"-disabled"),U),n));return be.createElement("ul",so({className:ln,style:N,ref:ae},ot),et,Ht,F?Ft:yt,It,be.createElement(SUt,{locale:W,rootPrefixCls:i,disabled:U,selectComponentClass:s,selectPrefixCls:a,changeSize:Le?Te:null,pageSize:le,pageSizeOptions:Y,quickGo:Ae?De:null,goButton:At}))};const WXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"small"})),NXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"middle"}));WXe.Option=Yo.Option;NXe.Option=Yo.Option;const CUt=t=>{const{componentCls:e}=t;return{[`${e}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}}},[`&${e}-disabled`]:{cursor:"not-allowed",[`${e}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:t.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:t.colorBorder,backgroundColor:t.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:t.itemActiveBgDisabled},a:{color:t.itemActiveColorDisabled}}},[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${e}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${e}-simple-pager`]:{color:t.colorTextDisabled},[`${e}-jump-prev, ${e}-jump-next`]:{[`${e}-item-link-icon`]:{opacity:0},[`${e}-item-ellipsis`]:{opacity:1}}},[`&${e}-simple`]:{[`${e}-prev, ${e}-next`]:{[`&${e}-disabled ${e}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},RUt=t=>{const{componentCls:e}=t;return{[`&${e}-mini ${e}-total-text, &${e}-mini ${e}-simple-pager`]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-item`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.calc(t.itemSizeSM).sub(2).equal())},[`&${e}-mini:not(${e}-disabled) ${e}-item:not(${e}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},[`&${e}-mini ${e}-prev, &${e}-mini ${e}-next`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini:not(${e}-disabled)`]:{[`${e}-prev, ${e}-next`]:{[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover ${e}-item-link`]:{backgroundColor:"transparent"}}},[` +`,uNt=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],jie={},um;function dNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=t.getAttribute("id")||t.getAttribute("data-reactid")||t.getAttribute("name");if(e&&jie[n])return jie[n];var o=window.getComputedStyle(t),i=o.getPropertyValue("box-sizing")||o.getPropertyValue("-moz-box-sizing")||o.getPropertyValue("-webkit-box-sizing"),r=parseFloat(o.getPropertyValue("padding-bottom"))+parseFloat(o.getPropertyValue("padding-top")),a=parseFloat(o.getPropertyValue("border-bottom-width"))+parseFloat(o.getPropertyValue("border-top-width")),l=uNt.map(function(c){return"".concat(c,":").concat(o.getPropertyValue(c))}).join(";"),s={sizingStyle:l,paddingSize:r,borderSize:a,boxSizing:i};return e&&n&&(jie[n]=s),s}function fNt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;um||(um=document.createElement("textarea"),um.setAttribute("tab-index","-1"),um.setAttribute("aria-hidden","true"),document.body.appendChild(um)),t.getAttribute("wrap")?um.setAttribute("wrap",t.getAttribute("wrap")):um.removeAttribute("wrap");var i=dNt(t,e),r=i.paddingSize,a=i.borderSize,l=i.boxSizing,s=i.sizingStyle;um.setAttribute("style","".concat(s,";").concat(cNt)),um.value=t.value||t.placeholder||"";var c=void 0,u=void 0,d,f=um.scrollHeight;if(l==="border-box"?f+=a:l==="content-box"&&(f-=r),n!==null||o!==null){um.value=" ";var p=um.scrollHeight-r;n!==null&&(c=p*n,l==="border-box"&&(c=c+r+a),f=Math.max(c,f)),o!==null&&(u=p*o,l==="border-box"&&(u=u+r+a),d=f>u?"":"hidden",f=Math.min(u,f))}var g={height:f,overflowY:d,resize:"none"};return c&&(g.minHeight=c),u&&(g.maxHeight=u),g}var hNt=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],Yie=0,Oie=1,_ie=2,pNt=m.forwardRef(function(t,e){var n=t,o=n.prefixCls;n.onPressEnter;var i=n.defaultValue,r=n.value,a=n.autoSize,l=n.onResize,s=n.className,c=n.style,u=n.disabled,d=n.onChange;n.onInternalAutoSize;var f=ir(n,hNt),p=Rs(i,{value:r,postState:function(Z){return Z??""}}),g=on(p,2),A=g[0],w=g[1],b=function(Z){w(Z.target.value),d==null||d(Z)},C=m.useRef();m.useImperativeHandle(e,function(){return{textArea:C.current}});var P=m.useMemo(function(){return a&&gr(a)==="object"?[a.minRows,a.maxRows]:[]},[a]),v=on(P,2),T=v[0],y=v[1],S=!!a,x=function(){try{if(document.activeElement===C.current){var Z=C.current,ie=Z.selectionStart,ee=Z.selectionEnd,q=Z.scrollTop;C.current.setSelectionRange(ie,ee),C.current.scrollTop=q}}catch{}},R=m.useState(_ie),H=on(R,2),D=H[0],k=H[1],W=m.useState(),N=on(W,2),L=N[0],E=N[1],U=function(){k(Yie)};Ba(function(){S&&U()},[r,T,y,S]),Ba(function(){if(D===Yie)k(Oie);else if(D===Oie){var J=fNt(C.current,!1,T,y);k(_ie),E(J)}else x()},[D]);var F=m.useRef(),B=function(){za.cancel(F.current)},_=function(Z){D===_ie&&(l==null||l(Z),a&&(B(),F.current=za(function(){U()})))};m.useEffect(function(){return B},[]);var Y=S?L:null,O=$t($t({},c),Y);return(D===Yie||D===Oie)&&(O.overflowY="hidden",O.overflowX="hidden"),m.createElement(bd,{onResize:_,disabled:!(a||l)},m.createElement("textarea",so({},f,{ref:C,style:O,className:_n(o,s,_t({},"".concat(o,"-disabled"),u)),disabled:u,value:A,onChange:b})))}),gNt=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],mNt=be.forwardRef(function(t,e){var n,o,i=t.defaultValue,r=t.value,a=t.onFocus,l=t.onBlur,s=t.onChange,c=t.allowClear,u=t.maxLength,d=t.onCompositionStart,f=t.onCompositionEnd,p=t.suffix,g=t.prefixCls,A=g===void 0?"rc-textarea":g,w=t.showCount,b=t.count,C=t.className,P=t.style,v=t.disabled,T=t.hidden,y=t.classNames,S=t.styles,x=t.onResize,R=ir(t,gNt),H=Rs(i,{value:r,defaultValue:i}),D=on(H,2),k=D[0],W=D[1],N=k==null?"":String(k),L=be.useState(!1),E=on(L,2),U=E[0],F=E[1],B=be.useRef(!1),_=be.useState(null),Y=on(_,2),O=Y[0],J=Y[1],Z=m.useRef(null),ie=function(){var Me;return(Me=Z.current)===null||Me===void 0?void 0:Me.textArea},ee=function(){ie().focus()};m.useImperativeHandle(e,function(){return{resizableTextArea:Z.current,focus:ee,blur:function(){ie().blur()}}}),m.useEffect(function(){F(function(Pe){return!v&&Pe})},[v]);var q=be.useState(null),ae=on(q,2),ne=ae[0],se=ae[1];be.useEffect(function(){if(ne){var Pe;(Pe=ie()).setSelectionRange.apply(Pe,Wo(ne))}},[ne]);var le=pXe(b,w),te=(n=le.max)!==null&&n!==void 0?n:u,he=Number(te)>0,pe=le.strategy(N),fe=!!te&&pe>te,$=function(Me,Te){var De=Te;!B.current&&le.exceedFormatter&&le.max&&le.strategy(Te)>le.max&&(De=le.exceedFormatter(Te,{max:le.max}),Te!==De&&se([ie().selectionStart||0,ie().selectionEnd||0])),W(De),IG(Me.currentTarget,Me,s,De)},de=function(Me){B.current=!0,d==null||d(Me)},Se=function(Me){B.current=!1,$(Me,Me.currentTarget.value),f==null||f(Me)},Ce=function(Me){$(Me,Me.target.value)},ve=function(Me){var Te=R.onPressEnter,De=R.onKeyDown;Me.key==="Enter"&&Te&&Te(Me),De==null||De(Me)},Ie=function(Me){F(!0),a==null||a(Me)},ze=function(Me){F(!1),l==null||l(Me)},ye=function(Me){W(""),ee(),IG(ie(),Me,s)},oe=p,ge;le.show&&(le.showFormatter?ge=le.showFormatter({value:N,count:pe,maxLength:te}):ge="".concat(pe).concat(he?" / ".concat(te):""),oe=be.createElement(be.Fragment,null,oe,be.createElement("span",{className:_n("".concat(A,"-data-count"),y==null?void 0:y.count),style:S==null?void 0:S.count},ge)));var Ae=function(Me){var Te;x==null||x(Me),(Te=ie())!==null&&Te!==void 0&&Te.style.height&&J(!0)},me=!R.autoSize&&!w&&!c;return be.createElement(kme,{value:N,allowClear:c,handleReset:ye,suffix:oe,prefixCls:A,classNames:$t($t({},y),{},{affixWrapper:_n(y==null?void 0:y.affixWrapper,(o={},_t(o,"".concat(A,"-show-count"),w),_t(o,"".concat(A,"-textarea-allow-clear"),c),o))}),disabled:v,focused:U,className:_n(C,fe&&"".concat(A,"-out-of-range")),style:$t($t({},P),O&&!me?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof ge=="string"?ge:void 0}},hidden:T},be.createElement(pNt,so({},R,{maxLength:u,onKeyDown:ve,onChange:Ce,onFocus:Ie,onBlur:ze,onCompositionStart:de,onCompositionEnd:Se,className:_n(y==null?void 0:y.textarea),style:$t($t({},S==null?void 0:S.textarea),{},{resize:P==null?void 0:P.resize}),disabled:v,prefixCls:A,onResize:Ae,ref:Z})))}),yNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o;const{prefixCls:i,bordered:r=!0,size:a,disabled:l,status:s,allowClear:c,classNames:u,rootClassName:d,className:f,style:p,styles:g,variant:A}=t,w=yNt(t,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","style","styles","variant"]),{getPrefixCls:b,direction:C,textArea:P}=m.useContext(Mi),v=Rd(a),T=m.useContext($p),y=l??T,{status:S,hasFeedback:x,feedbackIcon:R}=m.useContext(Qp),H=Mb(S,s),D=m.useRef(null);m.useImperativeHandle(e,()=>{var _;return{resizableTextArea:(_=D.current)===null||_===void 0?void 0:_.resizableTextArea,focus:Y=>{var O,J;_Wt((J=(O=D.current)===null||O===void 0?void 0:O.resizableTextArea)===null||J===void 0?void 0:J.textArea,Y)},blur:()=>{var Y;return(Y=D.current)===null||Y===void 0?void 0:Y.blur()}}});const k=b("input",i),W=j0(k),[N,L,E]=Mme(k,W),[U,F]=IH(A,r),B=yXe(c??(P==null?void 0:P.allowClear));return N(m.createElement(mNt,Object.assign({autoComplete:P==null?void 0:P.autoComplete},w,{style:Object.assign(Object.assign({},P==null?void 0:P.style),p),styles:Object.assign(Object.assign({},P==null?void 0:P.styles),g),disabled:y,allowClear:B,className:Gn(E,W,f,d,P==null?void 0:P.className),classNames:Object.assign(Object.assign(Object.assign({},u),P==null?void 0:P.classNames),{textarea:Gn({[`${k}-sm`]:v==="small",[`${k}-lg`]:v==="large"},L,u==null?void 0:u.textarea,(n=P==null?void 0:P.classNames)===null||n===void 0?void 0:n.textarea),variant:Gn({[`${k}-${U}`]:F},o7(k,H)),affixWrapper:Gn(`${k}-textarea-affix-wrapper`,{[`${k}-affix-wrapper-rtl`]:C==="rtl",[`${k}-affix-wrapper-sm`]:v==="small",[`${k}-affix-wrapper-lg`]:v==="large",[`${k}-textarea-show-count`]:t.showCount||((o=t.count)===null||o===void 0?void 0:o.show)},L)}),prefixCls:k,suffix:x&&m.createElement("span",{className:`${k}-textarea-suffix`},R),ref:D})))}),ns=L$;ns.Group=jWt;ns.Search=sNt;ns.TextArea=wXe;ns.Password=aNt;ns.OTP=qWt;var ANt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},wNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ANt}))},vXe=m.forwardRef(wNt),vNt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},xNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:vNt}))},xXe=m.forwardRef(xNt),bNt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"},SNt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:bNt}))},TNt=m.forwardRef(SNt);function PNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.yearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.quarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.monthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.weekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.placeholder:t.lang.placeholder}function CNt(t,e,n){return n!==void 0?n:e==="year"&&t.lang.yearPlaceholder?t.lang.rangeYearPlaceholder:e==="quarter"&&t.lang.quarterPlaceholder?t.lang.rangeQuarterPlaceholder:e==="month"&&t.lang.monthPlaceholder?t.lang.rangeMonthPlaceholder:e==="week"&&t.lang.weekPlaceholder?t.lang.rangeWeekPlaceholder:e==="time"&&t.timePickerLocale.placeholder?t.timePickerLocale.rangePlaceholder:t.lang.rangePlaceholder}function Fme(t,e){const n={adjustX:1,adjustY:1};switch(e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:n};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:n};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:n};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:n};default:return{points:t==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:n}}}function bXe(t,e){const{allowClear:n=!0}=t,{clearIcon:o,removeIcon:i}=IVe(Object.assign(Object.assign({},t),{prefixCls:e,componentName:"DatePicker"}));return[m.useMemo(()=>n===!1?!1:Object.assign({clearIcon:o},n===!0?{}:n),[n,o]),i]}function RNt(t){return m.createElement(no,Object.assign({size:"small",type:"primary"},t))}function SXe(t){return m.useMemo(()=>Object.assign({button:RNt},t),[t])}var HNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var i;const{prefixCls:r,getPopupContainer:a,components:l,className:s,style:c,placement:u,size:d,disabled:f,bordered:p=!0,placeholder:g,popupClassName:A,dropdownClassName:w,status:b,rootClassName:C,variant:P}=n,v=HNt(n,["prefixCls","getPopupContainer","components","className","style","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","rootClassName","variant"]),T=m.useRef(null),{getPrefixCls:y,direction:S,getPopupContainer:x,rangePicker:R}=m.useContext(Mi),H=y("picker",r),{compactSize:D,compactItemClassnames:k}=F7(H,S),{picker:W}=n,N=y(),[L,E]=IH(P,p),U=j0(H),[F,B,_]=QGe(H,U),[Y]=bXe(n,H),O=SXe(l),J=Rd(pe=>{var fe;return(fe=d??D)!==null&&fe!==void 0?fe:pe}),Z=m.useContext($p),ie=f??Z,ee=m.useContext(Qp),{hasFeedback:q,status:ae,feedbackIcon:ne}=ee,se=m.createElement(m.Fragment,null,W==="time"?m.createElement(xXe,null):m.createElement(vXe,null),q&&ne);m.useImperativeHandle(o,()=>T.current);const[le]=D7("Calendar",dG),te=Object.assign(Object.assign({},le),n.locale),[he]=k7("DatePicker",(i=n.popupStyle)===null||i===void 0?void 0:i.zIndex);return F(m.createElement(k9,null,m.createElement($kt,Object.assign({separator:m.createElement("span",{"aria-label":"to",className:`${H}-separator`},m.createElement(TNt,null)),disabled:ie,ref:T,popupAlign:Fme(S,u),placeholder:CNt(te,W,g),suffixIcon:se,prevIcon:m.createElement("span",{className:`${H}-prev-icon`}),nextIcon:m.createElement("span",{className:`${H}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${H}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${H}-super-next-icon`}),transitionName:`${N}-slide-up`},v,{className:Gn({[`${H}-${J}`]:J,[`${H}-${L}`]:E},o7(H,Mb(ae,b),q),B,k,s,R==null?void 0:R.className,_,U,C),style:Object.assign(Object.assign({},R==null?void 0:R.style),c),locale:te.lang,prefixCls:H,getPopupContainer:a||x,generateConfig:t,components:O,direction:S,classNames:{popup:Gn(B,A||w,_,U,C)},styles:{popup:Object.assign(Object.assign({},n.popupStyle),{zIndex:he})},allowClear:Y}))))})}var INt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var g;const{prefixCls:A,getPopupContainer:w,components:b,style:C,className:P,rootClassName:v,size:T,bordered:y,placement:S,placeholder:x,popupClassName:R,dropdownClassName:H,disabled:D,status:k,variant:W,onCalendarChange:N}=f,L=INt(f,["prefixCls","getPopupContainer","components","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","variant","onCalendarChange"]),{getPrefixCls:E,direction:U,getPopupContainer:F,[u]:B}=m.useContext(Mi),_=E("picker",A),{compactSize:Y,compactItemClassnames:O}=F7(_,U),J=m.useRef(null),[Z,ie]=IH(W,y),ee=j0(_),[q,ae,ne]=QGe(_,ee);m.useImperativeHandle(p,()=>J.current);const se={showToday:!0},le=s||f.picker,te=E(),{onSelect:he,multiple:pe}=L,fe=he&&s==="time"&&!pe,$=(De,Ne,Ye)=>{N==null||N(De,Ne,Ye),fe&&he(De)},[de,Se]=bXe(f,_),Ce=SXe(b),ve=Rd(De=>{var Ne;return(Ne=T??Y)!==null&&Ne!==void 0?Ne:De}),Ie=m.useContext($p),ze=D??Ie,ye=m.useContext(Qp),{hasFeedback:oe,status:ge,feedbackIcon:Ae}=ye,me=m.createElement(m.Fragment,null,le==="time"?m.createElement(xXe,null):m.createElement(vXe,null),oe&&Ae),[Pe]=D7("DatePicker",dG),Me=Object.assign(Object.assign({},Pe),f.locale),[Te]=k7("DatePicker",(g=f.popupStyle)===null||g===void 0?void 0:g.zIndex);return q(m.createElement(k9,null,m.createElement(oFt,Object.assign({ref:J,placeholder:PNt(Me,le,x),suffixIcon:me,dropdownAlign:Fme(U,S),prevIcon:m.createElement("span",{className:`${_}-prev-icon`}),nextIcon:m.createElement("span",{className:`${_}-next-icon`}),superPrevIcon:m.createElement("span",{className:`${_}-super-prev-icon`}),superNextIcon:m.createElement("span",{className:`${_}-super-next-icon`}),transitionName:`${te}-slide-up`,picker:s,onCalendarChange:$},se,L,{locale:Me.lang,className:Gn({[`${_}-${ve}`]:ve,[`${_}-${Z}`]:ie},o7(_,Mb(ge,k),oe),ae,O,B==null?void 0:B.className,P,ne,ee,v),style:Object.assign(Object.assign({},B==null?void 0:B.style),C),prefixCls:_,getPopupContainer:w||F,generateConfig:t,components:Ce,direction:U,disabled:ze,classNames:{popup:Gn(ae,ne,ee,v,R||H)},styles:{popup:Object.assign(Object.assign({},f.popupStyle),{zIndex:Te})},allowClear:de,removeIcon:Se}))))})}const n=e(),o=e("week","WeekPicker"),i=e("month","MonthPicker"),r=e("year","YearPicker"),a=e("quarter","QuarterPicker"),l=e("time","TimePicker");return{DatePicker:n,WeekPicker:o,MonthPicker:i,YearPicker:r,TimePicker:l,QuarterPicker:a}}function TXe(t){const{DatePicker:e,WeekPicker:n,MonthPicker:o,YearPicker:i,TimePicker:r,QuarterPicker:a}=zNt(t),l=MNt(t),s=e;return s.WeekPicker=n,s.MonthPicker=o,s.YearPicker=i,s.RangePicker=l,s.TimePicker=r,s.QuarterPicker=a,s}const Db=TXe(lkt);function PXe(t){const e=Fme(t.direction,t.placement);return e.overflow.adjustY=!1,e.overflow.adjustX=!1,Object.assign(Object.assign({},t),{dropdownAlign:e})}const DNt=RW(Db,"picker",null,PXe);Db._InternalPanelDoNotUseOrYouWillBeFired=DNt;const ENt=RW(Db.RangePicker,"picker",null,PXe);Db._InternalRangePanelDoNotUseOrYouWillBeFired=ENt;Db.generatePicker=TXe;function $k(t){"@babel/helpers - typeof";return $k=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$k(t)}function kNt(t,e){if($k(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if($k(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function FNt(t){var e=kNt(t,"string");return $k(e)=="symbol"?e:e+""}function B0e(t,e,n){return e=FNt(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $ve(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Zy(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)continue;n[o]=t[o]}return n}function jNt(t,e){if(t==null)return{};var n=BNt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var YNt=["prefixCls","className","containerRef"],ONt=function(e){var n=e.prefixCls,o=e.className,i=e.containerRef,r=jNt(e,YNt),a=m.useContext(CXe),l=a.panel,s=z7(l,i);return m.createElement("div",Wv({className:_n("".concat(n,"-content"),o),role:"dialog",ref:s},gf(e,{aria:!0}),{"aria-modal":"true"},r))};function exe(t){return typeof t=="string"&&String(Number(t))===t?(U0(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(t)):t}var txe={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function _Nt(t,e){var n,o,i,r=t.prefixCls,a=t.open,l=t.placement,s=t.inline,c=t.push,u=t.forceRender,d=t.autoFocus,f=t.keyboard,p=t.classNames,g=t.rootClassName,A=t.rootStyle,w=t.zIndex,b=t.className,C=t.id,P=t.style,v=t.motion,T=t.width,y=t.height,S=t.children,x=t.mask,R=t.maskClosable,H=t.maskMotion,D=t.maskClassName,k=t.maskStyle,W=t.afterOpenChange,N=t.onClose,L=t.onMouseEnter,E=t.onMouseOver,U=t.onMouseLeave,F=t.onClick,B=t.onKeyDown,_=t.onKeyUp,Y=t.styles,O=m.useRef(),J=m.useRef(),Z=m.useRef();m.useImperativeHandle(e,function(){return O.current});var ie=function(Ie){var ze=Ie.keyCode,ye=Ie.shiftKey;switch(ze){case Bn.TAB:{if(ze===Bn.TAB){if(!ye&&document.activeElement===Z.current){var oe;(oe=J.current)===null||oe===void 0||oe.focus({preventScroll:!0})}else if(ye&&document.activeElement===J.current){var ge;(ge=Z.current)===null||ge===void 0||ge.focus({preventScroll:!0})}}break}case Bn.ESC:{N&&f&&(Ie.stopPropagation(),N(Ie));break}}};m.useEffect(function(){if(a&&d){var ve;(ve=O.current)===null||ve===void 0||ve.focus({preventScroll:!0})}},[a]);var ee=m.useState(!1),q=j0e(ee,2),ae=q[0],ne=q[1],se=m.useContext(Zve),le;typeof c=="boolean"?le=c?{}:{distance:0}:le=c||{};var te=(n=(o=(i=le)===null||i===void 0?void 0:i.distance)!==null&&o!==void 0?o:se==null?void 0:se.pushDistance)!==null&&n!==void 0?n:180,he=m.useMemo(function(){return{pushDistance:te,push:function(){ne(!0)},pull:function(){ne(!1)}}},[te]);m.useEffect(function(){if(a){var ve;se==null||(ve=se.push)===null||ve===void 0||ve.call(se)}else{var Ie;se==null||(Ie=se.pull)===null||Ie===void 0||Ie.call(se)}},[a]),m.useEffect(function(){return function(){var ve;se==null||(ve=se.pull)===null||ve===void 0||ve.call(se)}},[]);var pe=x&&m.createElement(Hg,Wv({key:"mask"},H,{visible:a}),function(ve,Ie){var ze=ve.className,ye=ve.style;return m.createElement("div",{className:_n("".concat(r,"-mask"),ze,p==null?void 0:p.mask,D),style:Zy(Zy(Zy({},ye),k),Y==null?void 0:Y.mask),onClick:R&&a?N:void 0,ref:Ie})}),fe=typeof v=="function"?v(l):v,$={};if(ae&&te)switch(l){case"top":$.transform="translateY(".concat(te,"px)");break;case"bottom":$.transform="translateY(".concat(-te,"px)");break;case"left":$.transform="translateX(".concat(te,"px)");break;default:$.transform="translateX(".concat(-te,"px)");break}l==="left"||l==="right"?$.width=exe(T):$.height=exe(y);var de={onMouseEnter:L,onMouseOver:E,onMouseLeave:U,onClick:F,onKeyDown:B,onKeyUp:_},Se=m.createElement(Hg,Wv({key:"panel"},fe,{visible:a,forceRender:u,onVisibleChanged:function(Ie){W==null||W(Ie)},removeOnLeave:!1,leavedClassName:"".concat(r,"-content-wrapper-hidden")}),function(ve,Ie){var ze=ve.className,ye=ve.style;return m.createElement("div",Wv({className:_n("".concat(r,"-content-wrapper"),p==null?void 0:p.wrapper,ze),style:Zy(Zy(Zy({},$),ye),Y==null?void 0:Y.wrapper)},gf(t,{data:!0})),m.createElement(ONt,Wv({id:C,containerRef:Ie,prefixCls:r,className:_n(b,p==null?void 0:p.content),style:Zy(Zy({},P),Y==null?void 0:Y.content)},gf(t,{aria:!0}),de),S))}),Ce=Zy({},A);return w&&(Ce.zIndex=w),m.createElement(Zve.Provider,{value:he},m.createElement("div",{className:_n(r,"".concat(r,"-").concat(l),g,B0e(B0e({},"".concat(r,"-open"),a),"".concat(r,"-inline"),s)),style:Ce,tabIndex:-1,ref:O,onKeyDown:ie},pe,m.createElement("div",{tabIndex:0,ref:J,style:txe,"aria-hidden":"true","data-sentinel":"start"}),Se,m.createElement("div",{tabIndex:0,ref:Z,style:txe,"aria-hidden":"true","data-sentinel":"end"})))}var VNt=m.forwardRef(_Nt),GNt=function(e){var n=e.open,o=n===void 0?!1:n,i=e.prefixCls,r=i===void 0?"rc-drawer":i,a=e.placement,l=a===void 0?"right":a,s=e.autoFocus,c=s===void 0?!0:s,u=e.keyboard,d=u===void 0?!0:u,f=e.width,p=f===void 0?378:f,g=e.mask,A=g===void 0?!0:g,w=e.maskClosable,b=w===void 0?!0:w,C=e.getContainer,P=e.forceRender,v=e.afterOpenChange,T=e.destroyOnClose,y=e.onMouseEnter,S=e.onMouseOver,x=e.onMouseLeave,R=e.onClick,H=e.onKeyDown,D=e.onKeyUp,k=e.panelRef,W=m.useState(!1),N=j0e(W,2),L=N[0],E=N[1],U=m.useState(!1),F=j0e(U,2),B=F[0],_=F[1];Ba(function(){_(!0)},[]);var Y=B?o:!1,O=m.useRef(),J=m.useRef();Ba(function(){Y&&(J.current=document.activeElement)},[Y]);var Z=function(ne){var se;if(E(ne),v==null||v(ne),!ne&&J.current&&!((se=O.current)!==null&&se!==void 0&&se.contains(J.current))){var le;(le=J.current)===null||le===void 0||le.focus({preventScroll:!0})}},ie=m.useMemo(function(){return{panel:k}},[k]);if(!P&&!L&&!Y&&T)return null;var ee={onMouseEnter:y,onMouseOver:S,onMouseLeave:x,onClick:R,onKeyDown:H,onKeyUp:D},q=Zy(Zy({},e),{},{open:Y,prefixCls:r,placement:l,autoFocus:c,keyboard:d,width:p,mask:A,maskClosable:b,inline:C===!1,afterOpenChange:Z,ref:O},ee);return m.createElement(CXe.Provider,{value:ie},m.createElement(d$,{open:Y||P||L,autoDestroy:!1,getContainer:C,autoLock:A&&(Y||L)},m.createElement(VNt,q)))};const XNt=new ul("antSpinMove",{to:{opacity:1}}),JNt=new ul("antRotate",{to:{transform:"rotate(405deg)"}}),KNt=t=>{const{componentCls:e,calc:n}=t;return{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"absolute",display:"none",color:t.colorPrimary,fontSize:0,textAlign:"center",verticalAlign:"middle",opacity:0,transition:`transform ${t.motionDurationSlow} ${t.motionEaseInOutCirc}`,"&-spinning":{position:"static",display:"inline-block",opacity:1},[`${e}-text`]:{fontSize:t.fontSize,paddingTop:n(n(t.dotSize).sub(t.fontSize)).div(2).add(2).equal()},"&-fullscreen":{position:"fixed",width:"100vw",height:"100vh",backgroundColor:t.colorBgMask,zIndex:t.zIndexPopupBase,inset:0,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center",opacity:0,visibility:"hidden",transition:`all ${t.motionDurationMid}`,"&-show":{opacity:1,visibility:"visible"},[`${e}-dot ${e}-dot-item`]:{backgroundColor:t.colorWhite},[`${e}-text`]:{color:t.colorTextLightSolid}},"&-nested-loading":{position:"relative",[`> div > ${e}`]:{position:"absolute",top:0,insetInlineStart:0,zIndex:4,display:"block",width:"100%",height:"100%",maxHeight:t.contentHeight,[`${e}-dot`]:{position:"absolute",top:"50%",insetInlineStart:"50%",margin:n(t.dotSize).mul(-1).div(2).equal()},[`${e}-text`]:{position:"absolute",top:"50%",width:"100%",textShadow:`0 1px 2px ${t.colorBgContainer}`},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSize).div(2).mul(-1).sub(10).equal()},"&-sm":{[`${e}-dot`]:{margin:n(t.dotSizeSM).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeSM).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeSM).div(2).mul(-1).sub(10).equal()}},"&-lg":{[`${e}-dot`]:{margin:n(t.dotSizeLG).mul(-1).div(2).equal()},[`${e}-text`]:{paddingTop:n(n(t.dotSizeLG).sub(t.fontSize)).div(2).add(2).equal()},[`&${e}-show-text ${e}-dot`]:{marginTop:n(t.dotSizeLG).div(2).mul(-1).sub(10).equal()}}},[`${e}-container`]:{position:"relative",transition:`opacity ${t.motionDurationSlow}`,"&::after":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:"100%",height:"100%",background:t.colorBgContainer,opacity:0,transition:`all ${t.motionDurationSlow}`,content:'""',pointerEvents:"none"}},[`${e}-blur`]:{clear:"both",opacity:.5,userSelect:"none",pointerEvents:"none","&::after":{opacity:.4,pointerEvents:"auto"}}},"&-tip":{color:t.spinDotDefault},[`${e}-dot`]:{position:"relative",display:"inline-block",fontSize:t.dotSize,width:"1em",height:"1em","&-item":{position:"absolute",display:"block",width:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),height:n(t.dotSize).sub(n(t.marginXXS).div(2)).div(2).equal(),backgroundColor:t.colorPrimary,borderRadius:"100%",transform:"scale(0.75)",transformOrigin:"50% 50%",opacity:.3,animationName:XNt,animationDuration:"1s",animationIterationCount:"infinite",animationTimingFunction:"linear",animationDirection:"alternate","&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:"0s"},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:"0.4s"},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:"0.8s"},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:"1.2s"}},"&-spin":{transform:"rotate(45deg)",animationName:JNt,animationDuration:"1.2s",animationIterationCount:"infinite",animationTimingFunction:"linear"}},[`&-sm ${e}-dot`]:{fontSize:t.dotSizeSM,i:{width:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal(),height:n(n(t.dotSizeSM).sub(n(t.marginXXS).div(2))).div(2).equal()}},[`&-lg ${e}-dot`]:{fontSize:t.dotSizeLG,i:{width:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal(),height:n(n(t.dotSizeLG).sub(t.marginXXS)).div(2).equal()}},[`&${e}-show-text ${e}-text`]:{display:"block"}})}},qNt=t=>{const{controlHeightLG:e,controlHeight:n}=t;return{contentHeight:400,dotSize:e/2,dotSizeSM:e*.35,dotSizeLG:n}},$Nt=Fl("Spin",t=>{const e=Zr(t,{spinDotDefault:t.colorTextDescription});return[KNt(e)]},qNt);var QNt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,spinning:n=!0,delay:o=0,className:i,rootClassName:r,size:a="default",tip:l,wrapperClassName:s,style:c,children:u,fullscreen:d=!1}=t,f=QNt(t,["prefixCls","spinning","delay","className","rootClassName","size","tip","wrapperClassName","style","children","fullscreen"]),{getPrefixCls:p}=m.useContext(Mi),g=p("spin",e),[A,w,b]=$Nt(g),[C,P]=m.useState(()=>n&&!eUt(n,o));m.useEffect(()=>{if(n){const k=kLt(o,()=>{P(!0)});return k(),()=>{var W;(W=k==null?void 0:k.cancel)===null||W===void 0||W.call(k)}}P(!1)},[o,n]);const v=m.useMemo(()=>typeof u<"u"&&!d,[u,d]),{direction:T,spin:y}=m.useContext(Mi),S=Gn(g,y==null?void 0:y.className,{[`${g}-sm`]:a==="small",[`${g}-lg`]:a==="large",[`${g}-spinning`]:C,[`${g}-show-text`]:!!l,[`${g}-fullscreen`]:d,[`${g}-fullscreen-show`]:d&&C,[`${g}-rtl`]:T==="rtl"},i,r,w,b),x=Gn(`${g}-container`,{[`${g}-blur`]:C}),R=lp(f,["indicator"]),H=Object.assign(Object.assign({},y==null?void 0:y.style),c),D=m.createElement("div",Object.assign({},R,{style:H,className:S,"aria-live":"polite","aria-busy":C}),ZNt(g,t),l&&(v||d)?m.createElement("div",{className:`${g}-text`},l):null);return A(v?m.createElement("div",Object.assign({},R,{className:Gn(`${g}-nested-loading`,s,w,b)}),C&&m.createElement("div",{key:"loading"},D),m.createElement("div",{className:x,key:"container"},u)):D)};LW.setDefaultIndicator=t=>{W_=t};const RXe=t=>{var e,n;const{prefixCls:o,title:i,footer:r,extra:a,loading:l,onClose:s,headerStyle:c,bodyStyle:u,footerStyle:d,children:f,classNames:p,styles:g}=t,{drawer:A}=m.useContext(Mi),w=m.useCallback(y=>m.createElement("button",{type:"button",onClick:s,"aria-label":"Close",className:`${o}-close`},y),[s]),[b,C]=qge(oR(t),oR(A),{closable:!0,closeIconRender:w});let P;typeof l=="boolean"?P={spinning:l}:typeof l=="object"&&(P=Object.assign({spinning:!0},l));const v=m.useMemo(()=>{var y,S;return!i&&!b?null:m.createElement("div",{style:Object.assign(Object.assign(Object.assign({},(y=A==null?void 0:A.styles)===null||y===void 0?void 0:y.header),c),g==null?void 0:g.header),className:Gn(`${o}-header`,{[`${o}-header-close-only`]:b&&!i&&!a},(S=A==null?void 0:A.classNames)===null||S===void 0?void 0:S.header,p==null?void 0:p.header)},m.createElement("div",{className:`${o}-header-title`},C,i&&m.createElement("div",{className:`${o}-title`},i)),a&&m.createElement("div",{className:`${o}-extra`},a))},[b,C,a,c,o,i]),T=m.useMemo(()=>{var y,S;if(!r)return null;const x=`${o}-footer`;return m.createElement("div",{className:Gn(x,(y=A==null?void 0:A.classNames)===null||y===void 0?void 0:y.footer,p==null?void 0:p.footer),style:Object.assign(Object.assign(Object.assign({},(S=A==null?void 0:A.styles)===null||S===void 0?void 0:S.footer),d),g==null?void 0:g.footer)},r)},[r,d,o]);return P!=null&&P.spinning?m.createElement(LW,Object.assign({spinning:!1,style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},P)):m.createElement(m.Fragment,null,v,m.createElement("div",{className:Gn(`${o}-body`,p==null?void 0:p.body,(e=A==null?void 0:A.classNames)===null||e===void 0?void 0:e.body),style:Object.assign(Object.assign(Object.assign({},(n=A==null?void 0:A.styles)===null||n===void 0?void 0:n.body),u),g==null?void 0:g.body)},f),T)},tUt=t=>{const e="100%";return{left:`translateX(-${e})`,right:`translateX(${e})`,top:`translateY(-${e})`,bottom:`translateY(${e})`}[t]},HXe=(t,e)=>({"&-enter, &-appear":Object.assign(Object.assign({},t),{"&-active":e}),"&-leave":Object.assign(Object.assign({},e),{"&-active":t})}),MXe=(t,e)=>Object.assign({"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${e}`}}},HXe({opacity:t},{opacity:1})),nUt=(t,e)=>[MXe(.7,e),HXe({transform:tUt(t)},{transform:"none"})],oUt=t=>{const{componentCls:e,motionDurationSlow:n}=t;return{[e]:{[`${e}-mask-motion`]:MXe(0,n),[`${e}-panel-motion`]:["left","right","top","bottom"].reduce((o,i)=>Object.assign(Object.assign({},o),{[`&-${i}`]:nUt(i,n)}),{})}}},iUt=t=>{const{borderRadiusSM:e,componentCls:n,zIndexPopup:o,colorBgMask:i,colorBgElevated:r,motionDurationSlow:a,motionDurationMid:l,paddingXS:s,padding:c,paddingLG:u,fontSizeLG:d,lineHeightLG:f,lineWidth:p,lineType:g,colorSplit:A,marginXS:w,colorIcon:b,colorIconHover:C,colorBgTextHover:P,colorBgTextActive:v,colorText:T,fontWeightStrong:y,footerPaddingBlock:S,footerPaddingInline:x,calc:R}=t,H=`${n}-content-wrapper`;return{[n]:{position:"fixed",inset:0,zIndex:o,pointerEvents:"none","&-pure":{position:"relative",background:r,display:"flex",flexDirection:"column",[`&${n}-left`]:{boxShadow:t.boxShadowDrawerLeft},[`&${n}-right`]:{boxShadow:t.boxShadowDrawerRight},[`&${n}-top`]:{boxShadow:t.boxShadowDrawerUp},[`&${n}-bottom`]:{boxShadow:t.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${n}-mask`]:{position:"absolute",inset:0,zIndex:o,background:i,pointerEvents:"auto"},[H]:{position:"absolute",zIndex:o,maxWidth:"100vw",transition:`all ${a}`,"&-hidden":{display:"none"}},[`&-left > ${H}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:t.boxShadowDrawerLeft},[`&-right > ${H}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:t.boxShadowDrawerRight},[`&-top > ${H}`]:{top:0,insetInline:0,boxShadow:t.boxShadowDrawerUp},[`&-bottom > ${H}`]:{bottom:0,insetInline:0,boxShadow:t.boxShadowDrawerDown},[`${n}-content`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%",overflow:"auto",background:r,pointerEvents:"auto"},[`${n}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${Ut(c)} ${Ut(u)}`,fontSize:d,lineHeight:f,borderBottom:`${Ut(p)} ${g} ${A}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${n}-extra`]:{flex:"none"},[`${n}-close`]:Object.assign({display:"inline-flex",width:R(d).add(s).equal(),height:R(d).add(s).equal(),borderRadius:e,justifyContent:"center",alignItems:"center",marginInlineEnd:w,color:b,fontWeight:y,fontSize:d,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,cursor:"pointer",transition:`all ${l}`,textRendering:"auto","&:hover":{color:C,backgroundColor:P,textDecoration:"none"},"&:active":{backgroundColor:v}},V6(t)),[`${n}-title`]:{flex:1,margin:0,color:T,fontWeight:t.fontWeightStrong,fontSize:d,lineHeight:f},[`${n}-body`]:{flex:1,minWidth:0,minHeight:0,padding:u,overflow:"auto"},[`${n}-footer`]:{flexShrink:0,padding:`${Ut(S)} ${Ut(x)}`,borderTop:`${Ut(p)} ${g} ${A}`},"&-rtl":{direction:"rtl"}}}},rUt=t=>({zIndexPopup:t.zIndexPopupBase,footerPaddingBlock:t.paddingXS,footerPaddingInline:t.padding}),IXe=Fl("Drawer",t=>{const e=Zr(t,{});return[iUt(e),oUt(e)]},rUt);var zXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{rootClassName:e,width:n,height:o,size:i="default",mask:r=!0,push:a=aUt,open:l,afterOpenChange:s,onClose:c,prefixCls:u,getContainer:d,style:f,className:p,visible:g,afterVisibleChange:A,maskStyle:w,drawerStyle:b,contentWrapperStyle:C}=t,P=zXe(t,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange","maskStyle","drawerStyle","contentWrapperStyle"]),{getPopupContainer:v,getPrefixCls:T,direction:y,drawer:S}=m.useContext(Mi),x=T("drawer",u),[R,H,D]=IXe(x),k=d===void 0&&v?()=>v(document.body):d,W=Gn({"no-mask":!r,[`${x}-rtl`]:y==="rtl"},e,H,D),N=m.useMemo(()=>n??(i==="large"?736:378),[n,i]),L=m.useMemo(()=>o??(i==="large"?736:378),[o,i]),E={motionName:D9(x,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},U=ie=>({motionName:D9(x,`panel-motion-${ie}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),F=X_e(),[B,_]=k7("Drawer",P.zIndex),{classNames:Y={},styles:O={}}=P,{classNames:J={},styles:Z={}}=S||{};return R(m.createElement(k9,null,m.createElement(rR,{status:!0,override:!0},m.createElement(yW.Provider,{value:_},m.createElement(GNt,Object.assign({prefixCls:x,onClose:c,maskMotion:E,motion:U},P,{classNames:{mask:Gn(Y.mask,J.mask),content:Gn(Y.content,J.content),wrapper:Gn(Y.wrapper,J.wrapper)},styles:{mask:Object.assign(Object.assign(Object.assign({},O.mask),w),Z.mask),content:Object.assign(Object.assign(Object.assign({},O.content),b),Z.content),wrapper:Object.assign(Object.assign(Object.assign({},O.wrapper),C),Z.wrapper)},open:l??g,mask:r,push:a,width:N,height:L,style:Object.assign(Object.assign({},S==null?void 0:S.style),f),className:Gn(S==null?void 0:S.className,p),rootClassName:W,getContainer:k,afterOpenChange:s??A,panelRef:F,zIndex:B}),m.createElement(RXe,Object.assign({prefixCls:x},P,{onClose:c})))))))},lUt=t=>{const{prefixCls:e,style:n,className:o,placement:i="right"}=t,r=zXe(t,["prefixCls","style","className","placement"]),{getPrefixCls:a}=m.useContext(Mi),l=a("drawer",e),[s,c,u]=IXe(l),d=Gn(l,`${l}-pure`,`${l}-${i}`,c,u,o);return s(m.createElement("div",{className:d,style:n},m.createElement(RXe,Object.assign({prefixCls:l},r))))};Y0e._InternalPanelDoNotUseOrYouWillBeFired=lUt;function nxe(t){return["small","middle","large"].includes(t)}function oxe(t){return t?typeof t=="number"&&!Number.isNaN(t):!1}const DXe=be.createContext({latestIndex:0}),sUt=DXe.Provider,cUt=t=>{let{className:e,index:n,children:o,split:i,style:r}=t;const{latestIndex:a}=m.useContext(DXe);return o==null?null:m.createElement(m.Fragment,null,m.createElement("div",{className:e,style:r},o),n{var n,o;const{getPrefixCls:i,space:r,direction:a}=m.useContext(Mi),{size:l=(r==null?void 0:r.size)||"small",align:s,className:c,rootClassName:u,children:d,direction:f="horizontal",prefixCls:p,split:g,style:A,wrap:w=!1,classNames:b,styles:C}=t,P=uUt(t,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[v,T]=Array.isArray(l)?l:[l,l],y=nxe(T),S=nxe(v),x=oxe(T),R=oxe(v),H=E9(d,{keepEmpty:!0}),D=s===void 0&&f==="horizontal"?"center":s,k=i("space",p),[W,N,L]=A_e(k),E=Gn(k,r==null?void 0:r.className,N,`${k}-${f}`,{[`${k}-rtl`]:a==="rtl",[`${k}-align-${D}`]:D,[`${k}-gap-row-${T}`]:y,[`${k}-gap-col-${v}`]:S},c,u,L),U=Gn(`${k}-item`,(n=b==null?void 0:b.item)!==null&&n!==void 0?n:(o=r==null?void 0:r.classNames)===null||o===void 0?void 0:o.item);let F=0;const B=H.map((O,J)=>{var Z,ie;O!=null&&(F=J);const ee=O&&O.key||`${U}-${J}`;return m.createElement(cUt,{className:U,key:ee,index:J,split:g,style:(Z=C==null?void 0:C.item)!==null&&Z!==void 0?Z:(ie=r==null?void 0:r.styles)===null||ie===void 0?void 0:ie.item},O)}),_=m.useMemo(()=>({latestIndex:F}),[F]);if(H.length===0)return null;const Y={};return w&&(Y.flexWrap="wrap"),!S&&R&&(Y.columnGap=v),!y&&x&&(Y.rowGap=T),W(m.createElement("div",Object.assign({ref:e,className:E,style:Object.assign(Object.assign(Object.assign({},Y),r==null?void 0:r.style),A)},P),m.createElement(sUt,{value:_},B)))}),en=dUt;en.Compact=DCt;var fUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{getPopupContainer:e,getPrefixCls:n,direction:o}=m.useContext(Mi),{prefixCls:i,type:r="default",danger:a,disabled:l,loading:s,onClick:c,htmlType:u,children:d,className:f,menu:p,arrow:g,autoFocus:A,overlay:w,trigger:b,align:C,open:P,onOpenChange:v,placement:T,getPopupContainer:y,href:S,icon:x=m.createElement(mme,null),title:R,buttonsRender:H=ae=>ae,mouseEnterDelay:D,mouseLeaveDelay:k,overlayClassName:W,overlayStyle:N,destroyPopupOnHide:L,dropdownRender:E}=t,U=fUt(t,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),F=n("dropdown",i),B=`${F}-button`,_={menu:p,arrow:g,autoFocus:A,align:C,disabled:l,trigger:l?[]:b,onOpenChange:v,getPopupContainer:y||e,mouseEnterDelay:D,mouseLeaveDelay:k,overlayClassName:W,overlayStyle:N,destroyPopupOnHide:L,dropdownRender:E},{compactSize:Y,compactItemClassnames:O}=F7(F,o),J=Gn(B,O,f);"overlay"in t&&(_.overlay=w),"open"in t&&(_.open=P),"placement"in t?_.placement=T:_.placement=o==="rtl"?"bottomLeft":"bottomRight";const Z=m.createElement(no,{type:r,danger:a,disabled:l,loading:s,onClick:c,htmlType:u,href:S,title:R},d),ie=m.createElement(no,{type:r,danger:a,icon:x}),[ee,q]=H([Z,ie]);return m.createElement(en.Compact,Object.assign({className:J,size:Y,block:!0},U),ee,m.createElement(R$,Object.assign({},_),q))};EXe.__ANT_BUTTON=!0;const W7=R$;W7.Button=EXe;var hUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},pUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:hUt}))},WW=m.forwardRef(pUt);function ixe(t){var e=t.getBoundingClientRect(),n=document.documentElement;return{left:e.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||document.body.clientLeft||0),top:e.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||document.body.clientTop||0)}}function bY(t,e,n,o){var i=IV.unstable_batchedUpdates?function(a){IV.unstable_batchedUpdates(n,a)}:n;return t!=null&&t.addEventListener&&t.addEventListener(e,i,o),{remove:function(){t!=null&&t.removeEventListener&&t.removeEventListener(e,i,o)}}}const kXe=function(){const t=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let e=1;e{const i=n[o];i!==void 0&&(t[o]=i)})}return t};var gUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},mUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gUt}))},rxe=m.forwardRef(mUt),yUt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},AUt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yUt}))},axe=m.forwardRef(AUt),wUt={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"},vUt=["10","20","50","100"],xUt=function(e){var n=e.pageSizeOptions,o=n===void 0?vUt:n,i=e.locale,r=e.changeSize,a=e.pageSize,l=e.goButton,s=e.quickGo,c=e.rootPrefixCls,u=e.selectComponentClass,d=e.selectPrefixCls,f=e.disabled,p=e.buildOptionText,g=be.useState(""),A=on(g,2),w=A[0],b=A[1],C=function(){return!w||Number.isNaN(w)?void 0:Number(w)},P=typeof p=="function"?p:function(N){return"".concat(N," ").concat(i.items_per_page)},v=function(L){r==null||r(Number(L))},T=function(L){b(L.target.value)},y=function(L){l||w===""||(b(""),!(L.relatedTarget&&(L.relatedTarget.className.indexOf("".concat(c,"-item-link"))>=0||L.relatedTarget.className.indexOf("".concat(c,"-item"))>=0))&&(s==null||s(C())))},S=function(L){w!==""&&(L.keyCode===Bn.ENTER||L.type==="click")&&(b(""),s==null||s(C()))},x=function(){return o.some(function(L){return L.toString()===a.toString()})?o:o.concat([a.toString()]).sort(function(L,E){var U=Number.isNaN(Number(L))?0:Number(L),F=Number.isNaN(Number(E))?0:Number(E);return U-F})},R="".concat(c,"-options");if(!r&&!s)return null;var H=null,D=null,k=null;if(r&&u){var W=x().map(function(N,L){return be.createElement(u.Option,{key:L,value:N.toString()},P(N))});H=be.createElement(u,{disabled:f,prefixCls:d,showSearch:!1,className:"".concat(R,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(a||o[0]).toString(),onChange:v,getPopupContainer:function(L){return L.parentNode},"aria-label":i.page_size,defaultOpen:!1},W)}return s&&(l&&(k=typeof l=="boolean"?be.createElement("button",{type:"button",onClick:S,onKeyUp:S,disabled:f,className:"".concat(R,"-quick-jumper-button")},i.jump_to_confirm):be.createElement("span",{onClick:S,onKeyUp:S},l)),D=be.createElement("div",{className:"".concat(R,"-quick-jumper")},i.jump_to,be.createElement("input",{disabled:f,type:"text",value:w,onChange:T,onKeyUp:S,onBlur:y,"aria-label":i.page}),i.page,k)),be.createElement("li",{className:R},H,D)},Cz=function(e){var n,o=e.rootPrefixCls,i=e.page,r=e.active,a=e.className,l=e.showTitle,s=e.onClick,c=e.onKeyPress,u=e.itemRender,d="".concat(o,"-item"),f=_n(d,"".concat(d,"-").concat(i),(n={},_t(n,"".concat(d,"-active"),r),_t(n,"".concat(d,"-disabled"),!i),n),a),p=function(){s(i)},g=function(b){c(b,s,i)},A=u(i,"page",be.createElement("a",{rel:"nofollow"},i));return A?be.createElement("li",{title:l?String(i):null,className:f,onClick:p,onKeyDown:g,tabIndex:0},A):null},bUt=function(e,n,o){return o};function lxe(){}function sxe(t){var e=Number(t);return typeof e=="number"&&!Number.isNaN(e)&&isFinite(e)&&Math.floor(e)===e}function O8(t,e,n){var o=typeof t>"u"?e:t;return Math.floor((n-1)/o)+1}var SUt=function(e){var n,o=e.prefixCls,i=o===void 0?"rc-pagination":o,r=e.selectPrefixCls,a=r===void 0?"rc-select":r,l=e.className,s=e.selectComponentClass,c=e.current,u=e.defaultCurrent,d=u===void 0?1:u,f=e.total,p=f===void 0?0:f,g=e.pageSize,A=e.defaultPageSize,w=A===void 0?10:A,b=e.onChange,C=b===void 0?lxe:b,P=e.hideOnSinglePage,v=e.showPrevNextJumpers,T=v===void 0?!0:v,y=e.showQuickJumper,S=e.showLessItems,x=e.showTitle,R=x===void 0?!0:x,H=e.onShowSizeChange,D=H===void 0?lxe:H,k=e.locale,W=k===void 0?wUt:k,N=e.style,L=e.totalBoundaryShowSizeChanger,E=L===void 0?50:L,U=e.disabled,F=e.simple,B=e.showTotal,_=e.showSizeChanger,Y=e.pageSizeOptions,O=e.itemRender,J=O===void 0?bUt:O,Z=e.jumpPrevIcon,ie=e.jumpNextIcon,ee=e.prevIcon,q=e.nextIcon,ae=be.useRef(null),ne=Rs(10,{value:g,defaultValue:w}),se=on(ne,2),le=se[0],te=se[1],he=Rs(1,{value:c,defaultValue:d,postState:function(fn){return Math.max(1,Math.min(fn,O8(void 0,le,p)))}}),pe=on(he,2),fe=pe[0],$=pe[1],de=be.useState(fe),Se=on(de,2),Ce=Se[0],ve=Se[1];m.useEffect(function(){ve(fe)},[fe]);var Ie=Math.max(1,fe-(S?3:5)),ze=Math.min(O8(void 0,le,p),fe+(S?3:5));function ye(Xt,fn){var rn=Xt||be.createElement("button",{type:"button","aria-label":fn,className:"".concat(i,"-item-link")});return typeof Xt=="function"&&(rn=be.createElement(Xt,$t({},e))),rn}function oe(Xt){var fn=Xt.target.value,rn=O8(void 0,le,p),bn;return fn===""?bn=fn:Number.isNaN(Number(fn))?bn=Ce:fn>=rn?bn=rn:bn=Number(fn),bn}function ge(Xt){return sxe(Xt)&&Xt!==fe&&sxe(p)&&p>0}var Ae=p>le?y:!1;function me(Xt){(Xt.keyCode===Bn.UP||Xt.keyCode===Bn.DOWN)&&Xt.preventDefault()}function Pe(Xt){var fn=oe(Xt);switch(fn!==Ce&&ve(fn),Xt.keyCode){case Bn.ENTER:De(fn);break;case Bn.UP:De(fn-1);break;case Bn.DOWN:De(fn+1);break}}function Me(Xt){De(oe(Xt))}function Te(Xt){var fn=O8(Xt,le,p),rn=fe>fn&&fn!==0?fn:fe;te(Xt),ve(rn),D==null||D(fe,Xt),$(rn),C==null||C(rn,Xt)}function De(Xt){if(ge(Xt)&&!U){var fn=O8(void 0,le,p),rn=Xt;return Xt>fn?rn=fn:Xt<1&&(rn=1),rn!==Ce&&ve(rn),$(rn),C==null||C(rn,le),rn}return fe}var Ne=fe>1,Ye=feE;function $e(){Ne&&De(fe-1)}function We(){Ye&&De(fe+1)}function Ee(){De(Ie)}function Fe(){De(ze)}function Ge(Xt,fn){if(Xt.key==="Enter"||Xt.charCode===Bn.ENTER||Xt.keyCode===Bn.ENTER){for(var rn=arguments.length,bn=new Array(rn>2?rn-2:0),Tn=2;Tnp?p:fe*le])),Oe=null,nt=O8(void 0,le,p);if(P&&p<=le)return null;var mt=[],Tt={rootPrefixCls:i,onClick:De,onKeyPress:Ge,showTitle:R,itemRender:J,page:-1},Rt=fe-1>0?fe-1:0,Wt=fe+1=qe*2&&fe!==3&&(mt[0]=be.cloneElement(mt[0],{className:_n("".concat(i,"-item-after-jump-prev"),mt[0].props.className)}),mt.unshift(at)),nt-fe>=qe*2&&fe!==nt-2){var yt=mt[mt.length-1];mt[mt.length-1]=be.cloneElement(yt,{className:_n("".concat(i,"-item-before-jump-next"),yt.props.className)}),mt.push(Oe)}Ve!==1&&mt.unshift(be.createElement(Cz,so({},Tt,{key:1,page:1}))),ut!==nt&&mt.push(be.createElement(Cz,so({},Tt,{key:nt,page:nt})))}var Ht=Qe(Rt);if(Ht){var At=!Ne||!nt;Ht=be.createElement("li",{title:R?W.prev_page:null,onClick:$e,tabIndex:At?null:0,onKeyDown:rt,className:_n("".concat(i,"-prev"),_t({},"".concat(i,"-disabled"),At)),"aria-disabled":At},Ht)}var It=ct(Wt);if(It){var zt,Ft;F?(zt=!Ye,Ft=Ne?0:null):(zt=!Ye||!nt,Ft=zt?null:0),It=be.createElement("li",{title:R?W.next_page:null,onClick:We,tabIndex:Ft,onKeyDown:_e,className:_n("".concat(i,"-next"),_t({},"".concat(i,"-disabled"),zt)),"aria-disabled":zt},It)}var ln=_n(i,l,(n={},_t(n,"".concat(i,"-simple"),F),_t(n,"".concat(i,"-disabled"),U),n));return be.createElement("ul",so({className:ln,style:N,ref:ae},ot),et,Ht,F?kt:mt,It,be.createElement(xUt,{locale:W,rootPrefixCls:i,disabled:U,selectComponentClass:s,selectPrefixCls:a,changeSize:Le?Te:null,pageSize:le,pageSizeOptions:Y,quickGo:Ae?De:null,goButton:wt}))};const FXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"small"})),LXe=t=>m.createElement(Yo,Object.assign({},t,{showSearch:!0,size:"middle"}));FXe.Option=Yo.Option;LXe.Option=Yo.Option;const TUt=t=>{const{componentCls:e}=t;return{[`${e}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed"}}},[`&${e}-disabled`]:{cursor:"not-allowed",[`${e}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:t.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:t.colorBorder,backgroundColor:t.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:t.itemActiveBgDisabled},a:{color:t.itemActiveColorDisabled}}},[`${e}-item-link`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${e}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${e}-simple-pager`]:{color:t.colorTextDisabled},[`${e}-jump-prev, ${e}-jump-next`]:{[`${e}-item-link-icon`]:{opacity:0},[`${e}-item-ellipsis`]:{opacity:1}}},[`&${e}-simple`]:{[`${e}-prev, ${e}-next`]:{[`&${e}-disabled ${e}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},PUt=t=>{const{componentCls:e}=t;return{[`&${e}-mini ${e}-total-text, &${e}-mini ${e}-simple-pager`]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-item`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.calc(t.itemSizeSM).sub(2).equal())},[`&${e}-mini:not(${e}-disabled) ${e}-item:not(${e}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},[`&${e}-mini ${e}-prev, &${e}-mini ${e}-next`]:{minWidth:t.itemSizeSM,height:t.itemSizeSM,margin:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini:not(${e}-disabled)`]:{[`${e}-prev, ${e}-next`]:{[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover ${e}-item-link`]:{backgroundColor:"transparent"}}},[` &${e}-mini ${e}-prev ${e}-item-link, &${e}-mini ${e}-next ${e}-item-link - `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}},[`&${e}-mini ${e}-jump-prev, &${e}-mini ${e}-jump-next`]:{height:t.itemSizeSM,marginInlineEnd:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-options`]:{marginInlineStart:t.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:t.miniOptionsSizeChangerTop},"&-quick-jumper":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),input:Object.assign(Object.assign({},Hme(t)),{width:t.paginationMiniQuickJumperInputWidth,height:t.controlHeightSM})}}}},HUt=t=>{const{componentCls:e}=t;return{[` + `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}},[`&${e}-mini ${e}-jump-prev, &${e}-mini ${e}-jump-next`]:{height:t.itemSizeSM,marginInlineEnd:0,lineHeight:Ut(t.itemSizeSM)},[`&${e}-mini ${e}-options`]:{marginInlineStart:t.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:t.miniOptionsSizeChangerTop},"&-quick-jumper":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),input:Object.assign(Object.assign({},Hme(t)),{width:t.paginationMiniQuickJumperInputWidth,height:t.controlHeightSM})}}}},CUt=t=>{const{componentCls:e}=t;return{[` &${e}-simple ${e}-prev, &${e}-simple ${e}-next - `]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),verticalAlign:"top",[`${e}-item-link`]:{height:t.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive},"&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}}},[`&${e}-simple ${e}-simple-pager`]:{display:"inline-block",height:t.itemSizeSM,marginInlineEnd:t.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:t.marginXS,padding:`0 ${Ut(t.paginationItemPaddingInline)}`,textAlign:"center",backgroundColor:t.itemInputBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadius,outline:"none",transition:`border-color ${t.motionDurationMid}`,color:"inherit","&:hover":{borderColor:t.colorPrimary},"&:focus":{borderColor:t.colorPrimaryHover,boxShadow:`${Ut(t.inputOutlineOffset)} 0 ${Ut(t.controlOutlineWidth)} ${t.controlOutline}`},"&[disabled]":{color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,cursor:"not-allowed"}}}}},MUt=t=>{const{componentCls:e}=t;return{[`${e}-jump-prev, ${e}-jump-next`]:{outline:0,[`${e}-item-container`]:{position:"relative",[`${e}-item-link-icon`]:{color:t.colorPrimary,fontSize:t.fontSizeSM,opacity:0,transition:`all ${t.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${e}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:t.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:t.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:t.paginationEllipsisTextIndent,opacity:1,transition:`all ${t.motionDurationMid}`}},"&:hover":{[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}}},[` + `]:{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM),verticalAlign:"top",[`${e}-item-link`]:{height:t.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive},"&::after":{height:t.itemSizeSM,lineHeight:Ut(t.itemSizeSM)}}},[`&${e}-simple ${e}-simple-pager`]:{display:"inline-block",height:t.itemSizeSM,marginInlineEnd:t.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:t.marginXS,padding:`0 ${Ut(t.paginationItemPaddingInline)}`,textAlign:"center",backgroundColor:t.itemInputBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadius,outline:"none",transition:`border-color ${t.motionDurationMid}`,color:"inherit","&:hover":{borderColor:t.colorPrimary},"&:focus":{borderColor:t.colorPrimaryHover,boxShadow:`${Ut(t.inputOutlineOffset)} 0 ${Ut(t.controlOutlineWidth)} ${t.controlOutline}`},"&[disabled]":{color:t.colorTextDisabled,backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,cursor:"not-allowed"}}}}},RUt=t=>{const{componentCls:e}=t;return{[`${e}-jump-prev, ${e}-jump-next`]:{outline:0,[`${e}-item-container`]:{position:"relative",[`${e}-item-link-icon`]:{color:t.colorPrimary,fontSize:t.fontSizeSM,opacity:0,transition:`all ${t.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${e}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:t.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:t.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:t.paginationEllipsisTextIndent,opacity:1,transition:`all ${t.motionDurationMid}`}},"&:hover":{[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}}},[` ${e}-prev, ${e}-jump-prev, ${e}-jump-next @@ -4644,7 +4644,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${e}-next, ${e}-jump-prev, ${e}-jump-next - `]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,color:t.colorText,fontFamily:t.fontFamily,lineHeight:`${Ut(t.itemSize)}`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:t.borderRadius,cursor:"pointer",transition:`all ${t.motionDurationMid}`},[`${e}-prev, ${e}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:t.colorText,cursor:"pointer",userSelect:"none"},[`${e}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:t.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:"none",transition:`all ${t.motionDurationMid}`},[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover`]:{[`${e}-item-link`]:{backgroundColor:"transparent"}}},[`${e}-slash`]:{marginInlineEnd:t.paginationSlashMarginInlineEnd,marginInlineStart:t.paginationSlashMarginInlineStart},[`${e}-options`]:{display:"inline-block",marginInlineStart:t.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:t.controlHeight,marginInlineStart:t.marginXS,lineHeight:Ut(t.controlHeight),verticalAlign:"top",input:Object.assign(Object.assign(Object.assign({},kW(t)),Sme(t,{borderColor:t.colorBorder,hoverBorderColor:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadow:t.activeShadow})),{"&[disabled]":Object.assign({},E$(t)),width:t.calc(t.controlHeightLG).mul(1.25).equal(),height:t.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:t.marginXS,marginInlineEnd:t.marginXS})}}}},IUt=t=>{const{componentCls:e}=t;return{[`${e}-item`]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,marginInlineEnd:t.marginXS,fontFamily:t.fontFamily,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${Ut(t.paginationItemPaddingInline)}`,color:t.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${e}-item-active)`]:{"&:hover":{transition:`all ${t.motionDurationMid}`,backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},"&-active":{fontWeight:t.fontWeightStrong,backgroundColor:t.itemActiveBg,borderColor:t.colorPrimary,a:{color:t.colorPrimary},"&:hover":{borderColor:t.colorPrimaryHover},"&:hover a":{color:t.colorPrimaryHover}}}}},zUt=t=>{const{componentCls:e}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${e}-total-text`]:{display:"inline-block",height:t.itemSize,marginInlineEnd:t.marginXS,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),verticalAlign:"middle"}}),IUt(t)),MUt(t)),HUt(t)),RUt(t)),CUt(t)),{[`@media only screen and (max-width: ${t.screenLG}px)`]:{[`${e}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${t.screenSM}px)`]:{[`${e}-options`]:{display:"none"}}}),[`&${t.componentCls}-rtl`]:{direction:"rtl"}}},DUt=t=>{const{componentCls:e}=t;return{[`${e}:not(${e}-disabled)`]:{[`${e}-item`]:Object.assign({},V6(t)),[`${e}-jump-prev, ${e}-jump-next`]:{"&:focus-visible":Object.assign({[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}},n7(t))},[`${e}-prev, ${e}-next`]:{[`&:focus-visible ${e}-item-link`]:Object.assign({},n7(t))}}}},UXe=t=>Object.assign({itemBg:t.colorBgContainer,itemSize:t.controlHeight,itemSizeSM:t.controlHeightSM,itemActiveBg:t.colorBgContainer,itemLinkBg:t.colorBgContainer,itemActiveColorDisabled:t.colorTextDisabled,itemActiveBgDisabled:t.controlItemBgActiveDisabled,itemInputBg:t.colorBgContainer,miniOptionsSizeChangerTop:0},EW(t)),BXe=t=>Zr(t,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:t.calc(t.marginXXS).div(2).equal(),paginationMiniQuickJumperInputWidth:t.calc(t.controlHeightLG).mul(1.1).equal(),paginationItemPaddingInline:t.calc(t.marginXXS).mul(1.5).equal(),paginationEllipsisLetterSpacing:t.calc(t.marginXXS).div(2).equal(),paginationSlashMarginInlineStart:t.marginXXS,paginationSlashMarginInlineEnd:t.marginSM,paginationEllipsisTextIndent:"0.13em"},DW(t)),EUt=Fl("Pagination",t=>{const e=BXe(t);return[zUt(e),DUt(e)]},UXe),kUt=t=>{const{componentCls:e}=t;return{[`${e}${e}-bordered${e}-disabled:not(${e}-mini)`]:{"&, &:hover":{[`${e}-item-link`]:{borderColor:t.colorBorder}},"&:focus-visible":{[`${e}-item-link`]:{borderColor:t.colorBorder}},[`${e}-item, ${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,[`&:hover:not(${e}-item-active)`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,a:{color:t.colorTextDisabled}},[`&${e}-item-active`]:{backgroundColor:t.itemActiveBgDisabled}},[`${e}-prev, ${e}-next`]:{"&:hover button":{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,color:t.colorTextDisabled},[`${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder}}},[`${e}${e}-bordered:not(${e}-mini)`]:{[`${e}-prev, ${e}-next`]:{"&:hover button":{borderColor:t.colorPrimaryHover,backgroundColor:t.itemBg},[`${e}-item-link`]:{backgroundColor:t.itemLinkBg,borderColor:t.colorBorder},[`&:hover ${e}-item-link`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,color:t.colorPrimary},[`&${e}-disabled`]:{[`${e}-item-link`]:{borderColor:t.colorBorder,color:t.colorTextDisabled}}},[`${e}-item`]:{backgroundColor:t.itemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,[`&:hover:not(${e}-item-active)`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,a:{color:t.colorPrimary}},"&-active":{borderColor:t.colorPrimary}}}}},FUt=mW(["Pagination","bordered"],t=>{const e=BXe(t);return[kUt(e)]},UXe);var LUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,selectPrefixCls:n,className:o,rootClassName:i,style:r,size:a,locale:l,selectComponentClass:s,responsive:c,showSizeChanger:u}=t,d=LUt(t,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:f}=x$(c),[,p]=Yu(),{getPrefixCls:g,direction:A,pagination:w={}}=m.useContext(Mi),b=g("pagination",e),[C,P,v]=EUt(b),T=u??w.showSizeChanger,y=m.useMemo(()=>{const N=m.createElement("span",{className:`${b}-item-ellipsis`},"•••"),L=m.createElement("button",{className:`${b}-item-link`,type:"button",tabIndex:-1},A==="rtl"?m.createElement(SG,null):m.createElement(yve,null)),E=m.createElement("button",{className:`${b}-item-link`,type:"button",tabIndex:-1},A==="rtl"?m.createElement(yve,null):m.createElement(SG,null)),U=m.createElement("a",{className:`${b}-item-link`},m.createElement("div",{className:`${b}-item-container`},A==="rtl"?m.createElement(axe,{className:`${b}-item-link-icon`}):m.createElement(rxe,{className:`${b}-item-link-icon`}),N)),F=m.createElement("a",{className:`${b}-item-link`},m.createElement("div",{className:`${b}-item-container`},A==="rtl"?m.createElement(rxe,{className:`${b}-item-link-icon`}):m.createElement(axe,{className:`${b}-item-link-icon`}),N));return{prevIcon:L,nextIcon:E,jumpPrevIcon:U,jumpNextIcon:F}},[A,b]),[S]=D7("Pagination",lOe),x=Object.assign(Object.assign({},S),l),R=Rd(a),H=R==="small"||!!(f&&!R&&c),D=g("select",n),k=Gn({[`${b}-mini`]:H,[`${b}-rtl`]:A==="rtl",[`${b}-bordered`]:p.wireframe},w==null?void 0:w.className,o,i,P,v),W=Object.assign(Object.assign({},w==null?void 0:w.style),r);return C(m.createElement(m.Fragment,null,p.wireframe&&m.createElement(FUt,{prefixCls:b}),m.createElement(PUt,Object.assign({},y,d,{style:W,prefixCls:b,selectPrefixCls:D,className:k,selectComponentClass:s||(H?WXe:NXe),locale:x,showSizeChanger:T}))))},Lme=be.createContext({});Lme.Consumer;var YXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{prefixCls:e,className:n,avatar:o,title:i,description:r}=t,a=YXe(t,["prefixCls","className","avatar","title","description"]);const{getPrefixCls:l}=m.useContext(Mi),s=l("list",e),c=Gn(`${s}-item-meta`,n),u=be.createElement("div",{className:`${s}-item-meta-content`},i&&be.createElement("h4",{className:`${s}-item-meta-title`},i),r&&be.createElement("div",{className:`${s}-item-meta-description`},r));return be.createElement("div",Object.assign({},a,{className:c}),o&&be.createElement("div",{className:`${s}-item-meta-avatar`},o),(i||r)&&u)},NUt=be.forwardRef((t,e)=>{const{prefixCls:n,children:o,actions:i,extra:r,className:a,colStyle:l}=t,s=YXe(t,["prefixCls","children","actions","extra","className","colStyle"]),{grid:c,itemLayout:u}=m.useContext(Lme),{getPrefixCls:d}=m.useContext(Mi),f=()=>{let C;return m.Children.forEach(o,P=>{typeof P=="string"&&(C=!0)}),C&&m.Children.count(o)>1},p=()=>u==="vertical"?!!r:!f(),g=d("list",n),A=i&&i.length>0&&be.createElement("ul",{className:`${g}-item-action`,key:"actions"},i.map((C,P)=>be.createElement("li",{key:`${g}-item-action-${P}`},C,P!==i.length-1&&be.createElement("em",{className:`${g}-item-action-split`})))),w=c?"div":"li",b=be.createElement(w,Object.assign({},s,c?{}:{ref:e},{className:Gn(`${g}-item`,{[`${g}-item-no-flex`]:!p()},a)}),u==="vertical"&&r?[be.createElement("div",{className:`${g}-item-main`,key:"content"},o,A),be.createElement("div",{className:`${g}-item-extra`,key:"extra"},r)]:[o,A,Ou(r,{key:"extra"})]);return c?be.createElement(it,{ref:e,flex:1,style:l},b):b}),OXe=NUt;OXe.Meta=WUt;const UUt=t=>{const{listBorderedCls:e,componentCls:n,paddingLG:o,margin:i,itemPaddingSM:r,itemPaddingLG:a,marginLG:l,borderRadiusLG:s}=t;return{[`${e}`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:s,[`${n}-header,${n}-footer,${n}-item`]:{paddingInline:o},[`${n}-pagination`]:{margin:`${Ut(i)} ${Ut(l)}`}},[`${e}${n}-sm`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:r}},[`${e}${n}-lg`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:a}}}},BUt=t=>{const{componentCls:e,screenSM:n,screenMD:o,marginLG:i,marginSM:r,margin:a}=t;return{[`@media screen and (max-width:${o}px)`]:{[`${e}`]:{[`${e}-item`]:{[`${e}-item-action`]:{marginInlineStart:i}}},[`${e}-vertical`]:{[`${e}-item`]:{[`${e}-item-extra`]:{marginInlineStart:i}}}},[`@media screen and (max-width: ${n}px)`]:{[`${e}`]:{[`${e}-item`]:{flexWrap:"wrap",[`${e}-action`]:{marginInlineStart:r}}},[`${e}-vertical`]:{[`${e}-item`]:{flexWrap:"wrap-reverse",[`${e}-item-main`]:{minWidth:t.contentWidth},[`${e}-item-extra`]:{margin:`auto auto ${Ut(a)}`}}}}}},jUt=t=>{const{componentCls:e,antCls:n,controlHeight:o,minHeight:i,paddingSM:r,marginLG:a,padding:l,itemPadding:s,colorPrimary:c,itemPaddingSM:u,itemPaddingLG:d,paddingXS:f,margin:p,colorText:g,colorTextDescription:A,motionDurationSlow:w,lineWidth:b,headerBg:C,footerBg:P,emptyTextPadding:v,metaMarginBottom:T,avatarMarginRight:y,titleMarginBottom:S,descriptionFontSize:x}=t,R={};return["start","center","end"].forEach(H=>{R[`&-align-${H}`]={textAlign:H}}),{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"relative","*":{outline:"none"},[`${e}-header`]:{background:C},[`${e}-footer`]:{background:P},[`${e}-header, ${e}-footer`]:{paddingBlock:r},[`${e}-pagination`]:Object.assign(Object.assign({marginBlockStart:a},R),{[`${n}-pagination-options`]:{textAlign:"start"}}),[`${e}-spin`]:{minHeight:i,textAlign:"center"},[`${e}-items`]:{margin:0,padding:0,listStyle:"none"},[`${e}-item`]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:s,color:g,[`${e}-item-meta`]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",[`${e}-item-meta-avatar`]:{marginInlineEnd:y},[`${e}-item-meta-content`]:{flex:"1 0",width:0,color:g},[`${e}-item-meta-title`]:{margin:`0 0 ${Ut(t.marginXXS)} 0`,color:g,fontSize:t.fontSize,lineHeight:t.lineHeight,"> a":{color:g,transition:`all ${w}`,"&:hover":{color:c}}},[`${e}-item-meta-description`]:{color:A,fontSize:x,lineHeight:t.lineHeight}},[`${e}-item-action`]:{flex:"0 0 auto",marginInlineStart:t.marginXXL,padding:0,fontSize:0,listStyle:"none","& > li":{position:"relative",display:"inline-block",padding:`0 ${Ut(f)}`,color:A,fontSize:t.fontSize,lineHeight:t.lineHeight,textAlign:"center","&:first-child":{paddingInlineStart:0}},[`${e}-item-action-split`]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:b,height:t.calc(t.fontHeight).sub(t.calc(t.marginXXS).mul(2)).equal(),transform:"translateY(-50%)",backgroundColor:t.colorSplit}}},[`${e}-empty`]:{padding:`${Ut(l)} 0`,color:A,fontSize:t.fontSizeSM,textAlign:"center"},[`${e}-empty-text`]:{padding:v,color:t.colorTextDisabled,fontSize:t.fontSize,textAlign:"center"},[`${e}-item-no-flex`]:{display:"block"}}),[`${e}-grid ${n}-col > ${e}-item`]:{display:"block",maxWidth:"100%",marginBlockEnd:p,paddingBlock:0,borderBlockEnd:"none"},[`${e}-vertical ${e}-item`]:{alignItems:"initial",[`${e}-item-main`]:{display:"block",flex:1},[`${e}-item-extra`]:{marginInlineStart:a},[`${e}-item-meta`]:{marginBlockEnd:T,[`${e}-item-meta-title`]:{marginBlockStart:0,marginBlockEnd:S,color:g,fontSize:t.fontSizeLG,lineHeight:t.lineHeightLG}},[`${e}-item-action`]:{marginBlockStart:l,marginInlineStart:"auto","> li":{padding:`0 ${Ut(l)}`,"&:first-child":{paddingInlineStart:0}}}},[`${e}-split ${e}-item`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`,"&:last-child":{borderBlockEnd:"none"}},[`${e}-split ${e}-header`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-split${e}-empty ${e}-footer`]:{borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-loading ${e}-spin-nested-loading`]:{minHeight:o},[`${e}-split${e}-something-after-last-item ${n}-spin-container > ${e}-items > ${e}-item:last-child`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-lg ${e}-item`]:{padding:d},[`${e}-sm ${e}-item`]:{padding:u},[`${e}:not(${e}-vertical)`]:{[`${e}-item-no-flex`]:{[`${e}-item-action`]:{float:"right"}}}}},YUt=t=>({contentWidth:220,itemPadding:`${Ut(t.paddingContentVertical)} 0`,itemPaddingSM:`${Ut(t.paddingContentVerticalSM)} ${Ut(t.paddingContentHorizontal)}`,itemPaddingLG:`${Ut(t.paddingContentVerticalLG)} ${Ut(t.paddingContentHorizontalLG)}`,headerBg:"transparent",footerBg:"transparent",emptyTextPadding:t.padding,metaMarginBottom:t.padding,avatarMarginRight:t.padding,titleMarginBottom:t.paddingSM,descriptionFontSize:t.fontSize}),OUt=Fl("List",t=>{const e=Zr(t,{listBorderedCls:`${t.componentCls}-bordered`,minHeight:t.controlHeightLG});return[jUt(e),UUt(e),BUt(e)]},YUt);var _Ut=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i(ze,ye)=>{var oe;x(ze),H(ye),n&&n[Ie]&&((oe=n==null?void 0:n[Ie])===null||oe===void 0||oe.call(n,ze,ye))},U=E("onChange"),F=E("onShowSizeChange"),B=(Ie,ze)=>{if(!P)return null;let ye;return typeof C=="function"?ye=C(Ie):C?ye=Ie[C]:ye=Ie.key,ye||(ye=`list-item-${ze}`),m.createElement(m.Fragment,{key:ye},P(Ie,ze))},_=()=>!!(d||n||w),Y=D("list",o),[O,J,Z]=OUt(Y);let ie=b;typeof ie=="boolean"&&(ie={spinning:ie});const ee=ie&&ie.spinning,q=Rd(g);let ae="";switch(q){case"large":ae="lg";break;case"small":ae="sm";break}const ne=Gn(Y,{[`${Y}-vertical`]:u==="vertical",[`${Y}-${ae}`]:ae,[`${Y}-split`]:r,[`${Y}-bordered`]:i,[`${Y}-loading`]:ee,[`${Y}-grid`]:!!f,[`${Y}-something-after-last-item`]:_(),[`${Y}-rtl`]:W==="rtl"},N==null?void 0:N.className,a,l,J,Z),se=LXe(L,{total:p.length,current:S,pageSize:R},n||{}),le=Math.ceil(se.total/se.pageSize);se.current>le&&(se.current=le);const te=n?m.createElement("div",{className:Gn(`${Y}-pagination`,`${Y}-pagination-align-${(e=se==null?void 0:se.align)!==null&&e!==void 0?e:"end"}`)},m.createElement(jXe,Object.assign({},se,{onChange:U,onShowSizeChange:F}))):null;let he=Xa(p);n&&p.length>(se.current-1)*se.pageSize&&(he=Xa(p).splice((se.current-1)*se.pageSize,se.pageSize));const pe=Object.keys(f||{}).some(Ie=>["xs","sm","md","lg","xl","xxl"].includes(Ie)),fe=x$(pe),$=m.useMemo(()=>{for(let Ie=0;Ie{if(!f)return;const Ie=$&&f[$]?f[$]:f.column;if(Ie)return{width:`${100/Ie}%`,maxWidth:`${100/Ie}%`}},[JSON.stringify(f),$]);let Se=ee&&m.createElement("div",{style:{minHeight:53}});if(he.length>0){const Ie=he.map((ze,ye)=>B(ze,ye));Se=f?m.createElement(nn,{gutter:f.gutter},m.Children.map(Ie,ze=>m.createElement("div",{key:ze==null?void 0:ze.key,style:de},ze))):m.createElement("ul",{className:`${Y}-items`},Ie)}else!c&&!ee&&(Se=m.createElement("div",{className:`${Y}-empty-text`},v&&v.emptyText||(k==null?void 0:k("List"))||m.createElement(ime,{componentName:"List"})));const Ce=se.position||"bottom",ve=m.useMemo(()=>({grid:f,itemLayout:u}),[JSON.stringify(f),u]);return O(m.createElement(Lme.Provider,{value:ve},m.createElement("div",Object.assign({style:Object.assign(Object.assign({},N==null?void 0:N.style),s),className:ne},T),(Ce==="top"||Ce==="both")&&te,A&&m.createElement("div",{className:`${Y}-header`},A),m.createElement(LW,Object.assign({},ie),Se,c),w&&m.createElement("div",{className:`${Y}-footer`},w),d||(Ce==="bottom"||Ce==="both")&&te)))}O0e.Item=OXe;let vm=null,Nv=t=>t(),Qk=[],Zk={};function cxe(){const{getContainer:t,duration:e,rtl:n,maxCount:o,top:i}=Zk,r=(t==null?void 0:t())||document.body;return{getContainer:()=>r,duration:e,rtl:n,maxCount:o,top:i}}const VUt=be.forwardRef((t,e)=>{const{messageConfig:n,sync:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=Zk.prefixCls||i("message"),a=m.useContext(PMt),[l,s]=y_e(Object.assign(Object.assign(Object.assign({},n),{prefixCls:r}),a.message));return be.useImperativeHandle(e,()=>{const c=Object.assign({},l);return Object.keys(c).forEach(u=>{c[u]=function(){return o(),l[u].apply(l,arguments)}}),{instance:c,sync:o}}),s}),GUt=be.forwardRef((t,e)=>{const[n,o]=be.useState(cxe),i=()=>{o(cxe)};be.useEffect(i,[]);const r=ZOe(),a=r.getRootPrefixCls(),l=r.getIconPrefixCls(),s=r.getTheme(),c=be.createElement(VUt,{ref:e,sync:i,messageConfig:n});return be.createElement(ry,{prefixCls:a,iconPrefixCls:l,theme:s},r.holderRender?r.holderRender(c):c)});function W$(){if(!vm){const t=document.createDocumentFragment(),e={fragment:t};vm=e,Nv(()=>{Gge(be.createElement(GUt,{ref:n=>{const{instance:o,sync:i}=n||{};Promise.resolve().then(()=>{!e.instance&&o&&(e.instance=o,e.sync=i,W$())})}}),t)});return}vm.instance&&(Qk.forEach(t=>{const{type:e,skipped:n}=t;if(!n)switch(e){case"open":{Nv(()=>{const o=vm.instance.open(Object.assign(Object.assign({},Zk),t.config));o==null||o.then(t.resolve),t.setCloseFn(o)});break}case"destroy":Nv(()=>{vm==null||vm.instance.destroy(t.key)});break;default:Nv(()=>{var o;const i=(o=vm.instance)[e].apply(o,Xa(t.args));i==null||i.then(t.resolve),t.setCloseFn(i)})}}),Qk=[])}function XUt(t){Zk=Object.assign(Object.assign({},Zk),t),Nv(()=>{var e;(e=vm==null?void 0:vm.sync)===null||e===void 0||e.call(vm)})}function JUt(t){const e=Vge(n=>{let o;const i={type:"open",config:t,resolve:n,setCloseFn:r=>{o=r}};return Qk.push(i),()=>{o?Nv(()=>{o()}):i.skipped=!0}});return W$(),e}function KUt(t,e){const n=Vge(o=>{let i;const r={type:t,args:e,resolve:o,setCloseFn:a=>{i=a}};return Qk.push(r),()=>{i?Nv(()=>{i()}):r.skipped=!0}});return W$(),n}const qUt=t=>{Qk.push({type:"destroy",key:t}),W$()},$Ut=["success","info","warning","error","loading"],QUt={open:JUt,destroy:qUt,config:XUt,useMessage:uCt,_InternalPanelDoNotUseOrYouWillBeFired:nCt},K6=QUt;$Ut.forEach(t=>{K6[t]=function(){for(var e=arguments.length,n=new Array(e),o=0;o{const{prefixCls:e,className:n,closeIcon:o,closable:i,type:r,title:a,children:l,footer:s}=t,c=ZUt(t,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:u}=m.useContext(Mi),d=u(),f=e||u("modal"),p=j0(d),[g,A,w]=eVe(f,p),b=`${f}-confirm`;let C={};return r?C={closable:i??!1,title:"",footer:"",children:m.createElement(nVe,Object.assign({},t,{prefixCls:f,confirmPrefixCls:b,rootPrefixCls:d,content:l}))}:C={closable:i??!0,title:a,footer:s!==null&&m.createElement($_e,Object.assign({},t)),children:l},g(m.createElement(k_e,Object.assign({prefixCls:f,className:Gn(A,`${f}-pure-panel`,r&&b,r&&`${b}-${r}`,n,w,p)},c,{closeIcon:q_e(f,o),closable:i},C)))},tBt=dVe(eBt);function _Xe(t){return CW(aVe(t))}const _r=tVe;_r.useModal=TMt;_r.info=function(e){return CW(lVe(e))};_r.success=function(e){return CW(sVe(e))};_r.error=function(e){return CW(cVe(e))};_r.warning=_Xe;_r.warn=_Xe;_r.confirm=function(e){return CW(uVe(e))};_r.destroyAll=function(){for(;Fv.length;){const e=Fv.pop();e&&e()}};_r.config=wMt;_r._InternalPanelDoNotUseOrYouWillBeFired=tBt;var nBt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},oBt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:nBt}))},xf=m.forwardRef(oBt);function _0e(t,e,n){return(t-e)/(n-e)}function Wme(t,e,n,o){var i=_0e(e,n,o),r={};switch(t){case"rtl":r.right="".concat(i*100,"%"),r.transform="translateX(50%)";break;case"btt":r.bottom="".concat(i*100,"%"),r.transform="translateY(50%)";break;case"ttb":r.top="".concat(i*100,"%"),r.transform="translateY(-50%)";break;default:r.left="".concat(i*100,"%"),r.transform="translateX(-50%)";break}return r}function XP(t,e){return Array.isArray(t)?t[e]:t}var Eb=m.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0,styles:{},classNames:{}}),iBt=["prefixCls","value","valueIndex","onStartMove","style","render","dragging","onOffsetChange","onChangeComplete","onFocus","onMouseEnter"],uxe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.value,i=t.valueIndex,r=t.onStartMove,a=t.style,l=t.render,s=t.dragging,c=t.onOffsetChange,u=t.onChangeComplete,d=t.onFocus,f=t.onMouseEnter,p=ir(t,iBt),g=m.useContext(Eb),A=g.min,w=g.max,b=g.direction,C=g.disabled,P=g.keyboard,v=g.range,T=g.tabIndex,y=g.ariaLabelForHandle,S=g.ariaLabelledByForHandle,x=g.ariaValueTextFormatterForHandle,R=g.styles,H=g.classNames,D="".concat(n,"-handle"),k=function(O){C||r(O,i)},W=function(O){d==null||d(O,i)},N=function(O){f(O,i)},L=function(O){if(!C&&P){var J=null;switch(O.which||O.keyCode){case Bn.LEFT:J=b==="ltr"||b==="btt"?-1:1;break;case Bn.RIGHT:J=b==="ltr"||b==="btt"?1:-1;break;case Bn.UP:J=b!=="ttb"?1:-1;break;case Bn.DOWN:J=b!=="ttb"?-1:1;break;case Bn.HOME:J="min";break;case Bn.END:J="max";break;case Bn.PAGE_UP:J=2;break;case Bn.PAGE_DOWN:J=-2;break}J!==null&&(O.preventDefault(),c(J,i))}},E=function(O){switch(O.which||O.keyCode){case Bn.LEFT:case Bn.RIGHT:case Bn.UP:case Bn.DOWN:case Bn.HOME:case Bn.END:case Bn.PAGE_UP:case Bn.PAGE_DOWN:u==null||u();break}},U=Wme(b,o,A,w),F={};if(i!==null){var B;F={tabIndex:C?null:XP(T,i),role:"slider","aria-valuemin":A,"aria-valuemax":w,"aria-valuenow":o,"aria-disabled":C,"aria-label":XP(y,i),"aria-labelledby":XP(S,i),"aria-valuetext":(B=XP(x,i))===null||B===void 0?void 0:B(o),"aria-orientation":b==="ltr"||b==="rtl"?"horizontal":"vertical",onMouseDown:k,onTouchStart:k,onFocus:W,onMouseEnter:N,onKeyDown:L,onKeyUp:E}}var _=m.createElement("div",so({ref:e,className:_n(D,_t(_t({},"".concat(D,"-").concat(i+1),i!==null&&v),"".concat(D,"-dragging"),s),H.handle),style:$t($t($t({},U),a),R.handle)},F,p));return l&&(_=l(_,{index:i,prefixCls:n,value:o,dragging:s})),_}),rBt=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","activeHandleRender","draggingIndex","onFocus"],aBt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.onStartMove,r=t.onOffsetChange,a=t.values,l=t.handleRender,s=t.activeHandleRender,c=t.draggingIndex,u=t.onFocus,d=ir(t,rBt),f=m.useRef({});m.useImperativeHandle(e,function(){return{focus:function(T){var y;(y=f.current[T])===null||y===void 0||y.focus()}}});var p=m.useState(-1),g=on(p,2),A=g[0],w=g[1],b=function(T,y){w(y),u==null||u(T)},C=function(T,y){w(y)},P=$t({prefixCls:n,onStartMove:i,onOffsetChange:r,render:l,onFocus:b,onMouseEnter:C},d);return m.createElement(m.Fragment,null,a.map(function(v,T){return m.createElement(uxe,so({ref:function(S){S?f.current[T]=S:delete f.current[T]},dragging:c===T,style:XP(o,T),key:T,value:v,valueIndex:T},P))}),s&&m.createElement(uxe,so({key:"a11y"},P,{value:a[A],valueIndex:null,dragging:c!==-1,render:s,style:{pointerEvents:"none"},tabIndex:null,"aria-hidden":!0})))}),lBt=function(e){var n=e.prefixCls,o=e.style,i=e.children,r=e.value,a=e.onClick,l=m.useContext(Eb),s=l.min,c=l.max,u=l.direction,d=l.includedStart,f=l.includedEnd,p=l.included,g="".concat(n,"-text"),A=Wme(u,r,s,c);return m.createElement("span",{className:_n(g,_t({},"".concat(g,"-active"),p&&d<=r&&r<=f)),style:$t($t({},A),o),onMouseDown:function(b){b.stopPropagation()},onClick:function(){a(r)}},i)},sBt=function(e){var n=e.prefixCls,o=e.marks,i=e.onClick,r="".concat(n,"-mark");return o.length?m.createElement("div",{className:r},o.map(function(a){var l=a.value,s=a.style,c=a.label;return m.createElement(lBt,{key:l,prefixCls:r,style:s,value:l,onClick:i},c)})):null},cBt=function(e){var n=e.prefixCls,o=e.value,i=e.style,r=e.activeStyle,a=m.useContext(Eb),l=a.min,s=a.max,c=a.direction,u=a.included,d=a.includedStart,f=a.includedEnd,p="".concat(n,"-dot"),g=u&&d<=o&&o<=f,A=$t($t({},Wme(c,o,l,s)),typeof i=="function"?i(o):i);return g&&(A=$t($t({},A),typeof r=="function"?r(o):r)),m.createElement("span",{className:_n(p,_t({},"".concat(p,"-active"),g)),style:A})},uBt=function(e){var n=e.prefixCls,o=e.marks,i=e.dots,r=e.style,a=e.activeStyle,l=m.useContext(Eb),s=l.min,c=l.max,u=l.step,d=m.useMemo(function(){var f=new Set;if(o.forEach(function(g){f.add(g.value)}),i&&u!==null)for(var p=s;p<=c;)f.add(p),p+=u;return Array.from(f)},[s,c,u,i,o]);return m.createElement("div",{className:"".concat(n,"-step")},d.map(function(f){return m.createElement(cBt,{prefixCls:n,key:f,value:f,style:r,activeStyle:a})}))},dxe=function(e){var n=e.prefixCls,o=e.style,i=e.start,r=e.end,a=e.index,l=e.onStartMove,s=e.replaceCls,c=m.useContext(Eb),u=c.direction,d=c.min,f=c.max,p=c.disabled,g=c.range,A=c.classNames,w="".concat(n,"-track"),b=_0e(i,d,f),C=_0e(r,d,f),P=function(S){!p&&l&&l(S,-1)},v={};switch(u){case"rtl":v.right="".concat(b*100,"%"),v.width="".concat(C*100-b*100,"%");break;case"btt":v.bottom="".concat(b*100,"%"),v.height="".concat(C*100-b*100,"%");break;case"ttb":v.top="".concat(b*100,"%"),v.height="".concat(C*100-b*100,"%");break;default:v.left="".concat(b*100,"%"),v.width="".concat(C*100-b*100,"%")}var T=s||_n(w,_t(_t({},"".concat(w,"-").concat(a+1),a!==null&&g),"".concat(n,"-track-draggable"),l),A.track);return m.createElement("div",{className:T,style:$t($t({},v),o),onMouseDown:P,onTouchStart:P})},dBt=function(e){var n=e.prefixCls,o=e.style,i=e.values,r=e.startPoint,a=e.onStartMove,l=m.useContext(Eb),s=l.included,c=l.range,u=l.min,d=l.styles,f=l.classNames,p=m.useMemo(function(){if(!c){if(i.length===0)return[];var A=r??u,w=i[0];return[{start:Math.min(A,w),end:Math.max(A,w)}]}for(var b=[],C=0;C3&&arguments[3]!==void 0?arguments[3]:"unit";if(typeof A=="number"){var C,P=g[w],v=P+A,T=[];o.forEach(function(H){T.push(H.value)}),T.push(t,e),T.push(l(P));var y=A>0?1:-1;b==="unit"?T.push(l(P+y*n)):T.push(l(v)),T=T.filter(function(H){return H!==null}).filter(function(H){return A<0?H<=P:H>=P}),b==="unit"&&(T=T.filter(function(H){return H!==P}));var S=b==="unit"?P:v;C=T[0];var x=Math.abs(C-S);if(T.forEach(function(H){var D=Math.abs(H-S);D1){var R=Wo(g);return R[w]=C,p(R,A-y,w,b)}return C}else{if(A==="min")return t;if(A==="max")return e}},u=function(g,A,w){var b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"unit",C=g[w],P=c(g,A,w,b);return{value:P,changed:P!==C}},d=function(g){return r===null&&g===0||typeof r=="number"&&g3&&arguments[3]!==void 0?arguments[3]:"unit",C=g.map(s),P=C[w],v=c(C,A,w,b);if(C[w]=v,i===!1){var T=r||0;w>0&&C[w-1]!==P&&(C[w]=Math.max(C[w],C[w-1]+T)),w0;R-=1)for(var H=!0;d(C[R]-C[R-1])&&H;){var D=u(C,-1,R-1);C[R-1]=D.value,H=D.changed}for(var k=C.length-1;k>0;k-=1)for(var W=!0;d(C[k]-C[k-1])&&W;){var N=u(C,-1,k-1);C[k-1]=N.value,W=N.changed}for(var L=0;L=0?E:!1},[E,ze]),oe=m.useMemo(function(){return Object.keys(ae||{}).map(function(Je){var ct=ae[Je],Pt={value:Number(Je)};return ct&&gr(ct)==="object"&&!m.isValidElement(ct)&&("label"in ct||"style"in ct)?(Pt.style=ct.style,Pt.label=ct.label):Pt.label=ct,Pt}).filter(function(Je){var ct=Je.label;return ct||typeof ct=="number"}).sort(function(Je,ct){return Je.value-ct.value})},[ae]),ge=hBt(ve,Ie,ze,oe,N,ye),Ae=on(ge,2),me=Ae[0],Pe=Ae[1],Me=Rs(y,{value:T}),Te=on(Me,2),De=Te[0],Ue=Te[1],Oe=m.useMemo(function(){var Je=De==null?[]:Array.isArray(De)?De:[De],ct=on(Je,1),Pt=ct[0],Ne=Pt===void 0?ve:Pt,lt=De===null?[]:[Ne];if(S){if(lt=Wo(Je),x||De===void 0){var Ye=x>=0?x+1:2;for(lt=lt.slice(0,Ye);lt.length=0&&de.current.focus(Je)}et(null)},[ot]);var nt=m.useMemo(function(){return U&&ze===null?!1:U},[U,ze]),yt=function(ct,Pt){dt(ct,Pt),H==null||H($e(Le.current))},Tt=rt!==-1;m.useEffect(function(){if(!Tt){var Je=Oe.lastIndexOf(Ve);de.current.focus(Je)}},[Tt]);var Rt=m.useMemo(function(){return Wo(xt).sort(function(Je,ct){return Je-ct})},[xt]),Wt=m.useMemo(function(){return S?[Rt[0],Rt[Rt.length-1]]:[ve,Rt[0]]},[Rt,S,ve]),Ct=on(Wt,2),At=Ct[0],Ft=Ct[1];m.useImperativeHandle(e,function(){return{focus:function(){de.current.focus(0)},blur:function(){var ct,Pt=document,Ne=Pt.activeElement;(ct=Se.current)!==null&&ct!==void 0&&ct.contains(Ne)&&(Ne==null||Ne.blur())}}}),m.useEffect(function(){f&&de.current.focus(0)},[]);var Ke=m.useMemo(function(){return{min:ve,max:Ie,direction:Ce,disabled:c,keyboard:d,step:ze,included:Y,includedStart:At,includedEnd:Ft,range:S,tabIndex:he,ariaLabelForHandle:pe,ariaLabelledByForHandle:fe,ariaValueTextFormatterForHandle:$,styles:l||{},classNames:a||{}}},[ve,Ie,Ce,c,d,ze,Y,At,Ft,S,he,pe,fe,$,l,a]);return m.createElement(Eb.Provider,{value:Ke},m.createElement("div",{ref:Se,className:_n(o,i,_t(_t(_t(_t({},"".concat(o,"-disabled"),c),"".concat(o,"-vertical"),B),"".concat(o,"-horizontal"),!B),"".concat(o,"-with-marks"),oe.length)),style:r,onMouseDown:ut},m.createElement("div",{className:_n("".concat(o,"-rail"),a==null?void 0:a.rail),style:$t($t({},ie),l==null?void 0:l.rail)}),m.createElement(dBt,{prefixCls:o,style:J,values:Rt,startPoint:O,onStartMove:nt?yt:void 0}),m.createElement(uBt,{prefixCls:o,marks:oe,dots:ne,style:ee,activeStyle:q}),m.createElement(aBt,{ref:de,prefixCls:o,style:Z,values:xt,draggingIndex:rt,onStartMove:yt,onOffsetChange:_e,onFocus:p,onBlur:g,handleRender:se,activeHandleRender:le,onChangeComplete:Ee}),m.createElement(sBt,{prefixCls:o,marks:oe,onClick:Qe})))});const hxe=m.forwardRef((t,e)=>{const{open:n}=t,o=m.useRef(null),i=m.useRef(null);function r(){Rg.cancel(i.current),i.current=null}function a(){i.current=Rg(()=>{var l;(l=o.current)===null||l===void 0||l.forceAlign(),i.current=null})}return m.useEffect(()=>(n?a():r(),r),[n,t.title]),m.createElement(J6,Object.assign({ref:q2(o,e)},t))}),gBt=t=>{const{componentCls:e,antCls:n,controlSize:o,dotSize:i,marginFull:r,marginPart:a,colorFillContentHover:l,handleColorDisabled:s,calc:c}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",height:o,margin:`${Ut(a)} ${Ut(r)}`,padding:0,cursor:"pointer",touchAction:"none","&-vertical":{margin:`${Ut(r)} ${Ut(a)}`},[`${e}-rail`]:{position:"absolute",backgroundColor:t.railBg,borderRadius:t.borderRadiusXS,transition:`background-color ${t.motionDurationMid}`},[`${e}-track,${e}-tracks`]:{position:"absolute",transition:`background-color ${t.motionDurationMid}`},[`${e}-track`]:{backgroundColor:t.trackBg,borderRadius:t.borderRadiusXS},[`${e}-track-draggable`]:{boxSizing:"content-box",backgroundClip:"content-box",border:"solid rgba(0,0,0,0)"},"&:hover":{[`${e}-rail`]:{backgroundColor:t.railHoverBg},[`${e}-track`]:{backgroundColor:t.trackHoverBg},[`${e}-dot`]:{borderColor:l},[`${e}-handle::after`]:{boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.colorPrimaryBorderHover}`},[`${e}-dot-active`]:{borderColor:t.dotActiveBorderColor}},[`${e}-handle`]:{position:"absolute",width:t.handleSize,height:t.handleSize,outline:"none","&::before":{content:'""',position:"absolute",insetInlineStart:c(t.handleLineWidth).mul(-1).equal(),insetBlockStart:c(t.handleLineWidth).mul(-1).equal(),width:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),height:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:t.handleSize,height:t.handleSize,backgroundColor:t.colorBgElevated,boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.handleColor}`,borderRadius:"50%",cursor:"pointer",transition:` + `]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,color:t.colorText,fontFamily:t.fontFamily,lineHeight:`${Ut(t.itemSize)}`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:t.borderRadius,cursor:"pointer",transition:`all ${t.motionDurationMid}`},[`${e}-prev, ${e}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:t.colorText,cursor:"pointer",userSelect:"none"},[`${e}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:t.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:"none",transition:`all ${t.motionDurationMid}`},[`&:hover ${e}-item-link`]:{backgroundColor:t.colorBgTextHover},[`&:active ${e}-item-link`]:{backgroundColor:t.colorBgTextActive},[`&${e}-disabled:hover`]:{[`${e}-item-link`]:{backgroundColor:"transparent"}}},[`${e}-slash`]:{marginInlineEnd:t.paginationSlashMarginInlineEnd,marginInlineStart:t.paginationSlashMarginInlineStart},[`${e}-options`]:{display:"inline-block",marginInlineStart:t.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:t.controlHeight,marginInlineStart:t.marginXS,lineHeight:Ut(t.controlHeight),verticalAlign:"top",input:Object.assign(Object.assign(Object.assign({},kW(t)),Sme(t,{borderColor:t.colorBorder,hoverBorderColor:t.colorPrimaryHover,activeBorderColor:t.colorPrimary,activeShadow:t.activeShadow})),{"&[disabled]":Object.assign({},E$(t)),width:t.calc(t.controlHeightLG).mul(1.25).equal(),height:t.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:t.marginXS,marginInlineEnd:t.marginXS})}}}},HUt=t=>{const{componentCls:e}=t;return{[`${e}-item`]:{display:"inline-block",minWidth:t.itemSize,height:t.itemSize,marginInlineEnd:t.marginXS,fontFamily:t.fontFamily,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${Ut(t.lineWidth)} ${t.lineType} transparent`,borderRadius:t.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${Ut(t.paginationItemPaddingInline)}`,color:t.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${e}-item-active)`]:{"&:hover":{transition:`all ${t.motionDurationMid}`,backgroundColor:t.colorBgTextHover},"&:active":{backgroundColor:t.colorBgTextActive}},"&-active":{fontWeight:t.fontWeightStrong,backgroundColor:t.itemActiveBg,borderColor:t.colorPrimary,a:{color:t.colorPrimary},"&:hover":{borderColor:t.colorPrimaryHover},"&:hover a":{color:t.colorPrimaryHover}}}}},MUt=t=>{const{componentCls:e}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${e}-total-text`]:{display:"inline-block",height:t.itemSize,marginInlineEnd:t.marginXS,lineHeight:Ut(t.calc(t.itemSize).sub(2).equal()),verticalAlign:"middle"}}),HUt(t)),RUt(t)),CUt(t)),PUt(t)),TUt(t)),{[`@media only screen and (max-width: ${t.screenLG}px)`]:{[`${e}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${t.screenSM}px)`]:{[`${e}-options`]:{display:"none"}}}),[`&${t.componentCls}-rtl`]:{direction:"rtl"}}},IUt=t=>{const{componentCls:e}=t;return{[`${e}:not(${e}-disabled)`]:{[`${e}-item`]:Object.assign({},V6(t)),[`${e}-jump-prev, ${e}-jump-next`]:{"&:focus-visible":Object.assign({[`${e}-item-link-icon`]:{opacity:1},[`${e}-item-ellipsis`]:{opacity:0}},n7(t))},[`${e}-prev, ${e}-next`]:{[`&:focus-visible ${e}-item-link`]:Object.assign({},n7(t))}}}},WXe=t=>Object.assign({itemBg:t.colorBgContainer,itemSize:t.controlHeight,itemSizeSM:t.controlHeightSM,itemActiveBg:t.colorBgContainer,itemLinkBg:t.colorBgContainer,itemActiveColorDisabled:t.colorTextDisabled,itemActiveBgDisabled:t.controlItemBgActiveDisabled,itemInputBg:t.colorBgContainer,miniOptionsSizeChangerTop:0},EW(t)),NXe=t=>Zr(t,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:t.calc(t.marginXXS).div(2).equal(),paginationMiniQuickJumperInputWidth:t.calc(t.controlHeightLG).mul(1.1).equal(),paginationItemPaddingInline:t.calc(t.marginXXS).mul(1.5).equal(),paginationEllipsisLetterSpacing:t.calc(t.marginXXS).div(2).equal(),paginationSlashMarginInlineStart:t.marginXXS,paginationSlashMarginInlineEnd:t.marginSM,paginationEllipsisTextIndent:"0.13em"},DW(t)),zUt=Fl("Pagination",t=>{const e=NXe(t);return[MUt(e),IUt(e)]},WXe),DUt=t=>{const{componentCls:e}=t;return{[`${e}${e}-bordered${e}-disabled:not(${e}-mini)`]:{"&, &:hover":{[`${e}-item-link`]:{borderColor:t.colorBorder}},"&:focus-visible":{[`${e}-item-link`]:{borderColor:t.colorBorder}},[`${e}-item, ${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,[`&:hover:not(${e}-item-active)`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,a:{color:t.colorTextDisabled}},[`&${e}-item-active`]:{backgroundColor:t.itemActiveBgDisabled}},[`${e}-prev, ${e}-next`]:{"&:hover button":{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder,color:t.colorTextDisabled},[`${e}-item-link`]:{backgroundColor:t.colorBgContainerDisabled,borderColor:t.colorBorder}}},[`${e}${e}-bordered:not(${e}-mini)`]:{[`${e}-prev, ${e}-next`]:{"&:hover button":{borderColor:t.colorPrimaryHover,backgroundColor:t.itemBg},[`${e}-item-link`]:{backgroundColor:t.itemLinkBg,borderColor:t.colorBorder},[`&:hover ${e}-item-link`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,color:t.colorPrimary},[`&${e}-disabled`]:{[`${e}-item-link`]:{borderColor:t.colorBorder,color:t.colorTextDisabled}}},[`${e}-item`]:{backgroundColor:t.itemBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,[`&:hover:not(${e}-item-active)`]:{borderColor:t.colorPrimary,backgroundColor:t.itemBg,a:{color:t.colorPrimary}},"&-active":{borderColor:t.colorPrimary}}}}},EUt=mW(["Pagination","bordered"],t=>{const e=NXe(t);return[DUt(e)]},WXe);var kUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:e,selectPrefixCls:n,className:o,rootClassName:i,style:r,size:a,locale:l,selectComponentClass:s,responsive:c,showSizeChanger:u}=t,d=kUt(t,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:f}=x$(c),[,p]=Yu(),{getPrefixCls:g,direction:A,pagination:w={}}=m.useContext(Mi),b=g("pagination",e),[C,P,v]=zUt(b),T=u??w.showSizeChanger,y=m.useMemo(()=>{const N=m.createElement("span",{className:`${b}-item-ellipsis`},"•••"),L=m.createElement("button",{className:`${b}-item-link`,type:"button",tabIndex:-1},A==="rtl"?m.createElement(SG,null):m.createElement(yve,null)),E=m.createElement("button",{className:`${b}-item-link`,type:"button",tabIndex:-1},A==="rtl"?m.createElement(yve,null):m.createElement(SG,null)),U=m.createElement("a",{className:`${b}-item-link`},m.createElement("div",{className:`${b}-item-container`},A==="rtl"?m.createElement(axe,{className:`${b}-item-link-icon`}):m.createElement(rxe,{className:`${b}-item-link-icon`}),N)),F=m.createElement("a",{className:`${b}-item-link`},m.createElement("div",{className:`${b}-item-container`},A==="rtl"?m.createElement(rxe,{className:`${b}-item-link-icon`}):m.createElement(axe,{className:`${b}-item-link-icon`}),N));return{prevIcon:L,nextIcon:E,jumpPrevIcon:U,jumpNextIcon:F}},[A,b]),[S]=D7("Pagination",rOe),x=Object.assign(Object.assign({},S),l),R=Rd(a),H=R==="small"||!!(f&&!R&&c),D=g("select",n),k=Gn({[`${b}-mini`]:H,[`${b}-rtl`]:A==="rtl",[`${b}-bordered`]:p.wireframe},w==null?void 0:w.className,o,i,P,v),W=Object.assign(Object.assign({},w==null?void 0:w.style),r);return C(m.createElement(m.Fragment,null,p.wireframe&&m.createElement(EUt,{prefixCls:b}),m.createElement(SUt,Object.assign({},y,d,{style:W,prefixCls:b,selectPrefixCls:D,className:k,selectComponentClass:s||(H?FXe:LXe),locale:x,showSizeChanger:T}))))},Lme=be.createContext({});Lme.Consumer;var BXe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{prefixCls:e,className:n,avatar:o,title:i,description:r}=t,a=BXe(t,["prefixCls","className","avatar","title","description"]);const{getPrefixCls:l}=m.useContext(Mi),s=l("list",e),c=Gn(`${s}-item-meta`,n),u=be.createElement("div",{className:`${s}-item-meta-content`},i&&be.createElement("h4",{className:`${s}-item-meta-title`},i),r&&be.createElement("div",{className:`${s}-item-meta-description`},r));return be.createElement("div",Object.assign({},a,{className:c}),o&&be.createElement("div",{className:`${s}-item-meta-avatar`},o),(i||r)&&u)},LUt=be.forwardRef((t,e)=>{const{prefixCls:n,children:o,actions:i,extra:r,className:a,colStyle:l}=t,s=BXe(t,["prefixCls","children","actions","extra","className","colStyle"]),{grid:c,itemLayout:u}=m.useContext(Lme),{getPrefixCls:d}=m.useContext(Mi),f=()=>{let C;return m.Children.forEach(o,P=>{typeof P=="string"&&(C=!0)}),C&&m.Children.count(o)>1},p=()=>u==="vertical"?!!r:!f(),g=d("list",n),A=i&&i.length>0&&be.createElement("ul",{className:`${g}-item-action`,key:"actions"},i.map((C,P)=>be.createElement("li",{key:`${g}-item-action-${P}`},C,P!==i.length-1&&be.createElement("em",{className:`${g}-item-action-split`})))),w=c?"div":"li",b=be.createElement(w,Object.assign({},s,c?{}:{ref:e},{className:Gn(`${g}-item`,{[`${g}-item-no-flex`]:!p()},a)}),u==="vertical"&&r?[be.createElement("div",{className:`${g}-item-main`,key:"content"},o,A),be.createElement("div",{className:`${g}-item-extra`,key:"extra"},r)]:[o,A,Ou(r,{key:"extra"})]);return c?be.createElement(it,{ref:e,flex:1,style:l},b):b}),jXe=LUt;jXe.Meta=FUt;const WUt=t=>{const{listBorderedCls:e,componentCls:n,paddingLG:o,margin:i,itemPaddingSM:r,itemPaddingLG:a,marginLG:l,borderRadiusLG:s}=t;return{[`${e}`]:{border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:s,[`${n}-header,${n}-footer,${n}-item`]:{paddingInline:o},[`${n}-pagination`]:{margin:`${Ut(i)} ${Ut(l)}`}},[`${e}${n}-sm`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:r}},[`${e}${n}-lg`]:{[`${n}-item,${n}-header,${n}-footer`]:{padding:a}}}},NUt=t=>{const{componentCls:e,screenSM:n,screenMD:o,marginLG:i,marginSM:r,margin:a}=t;return{[`@media screen and (max-width:${o}px)`]:{[`${e}`]:{[`${e}-item`]:{[`${e}-item-action`]:{marginInlineStart:i}}},[`${e}-vertical`]:{[`${e}-item`]:{[`${e}-item-extra`]:{marginInlineStart:i}}}},[`@media screen and (max-width: ${n}px)`]:{[`${e}`]:{[`${e}-item`]:{flexWrap:"wrap",[`${e}-action`]:{marginInlineStart:r}}},[`${e}-vertical`]:{[`${e}-item`]:{flexWrap:"wrap-reverse",[`${e}-item-main`]:{minWidth:t.contentWidth},[`${e}-item-extra`]:{margin:`auto auto ${Ut(a)}`}}}}}},UUt=t=>{const{componentCls:e,antCls:n,controlHeight:o,minHeight:i,paddingSM:r,marginLG:a,padding:l,itemPadding:s,colorPrimary:c,itemPaddingSM:u,itemPaddingLG:d,paddingXS:f,margin:p,colorText:g,colorTextDescription:A,motionDurationSlow:w,lineWidth:b,headerBg:C,footerBg:P,emptyTextPadding:v,metaMarginBottom:T,avatarMarginRight:y,titleMarginBottom:S,descriptionFontSize:x}=t,R={};return["start","center","end"].forEach(H=>{R[`&-align-${H}`]={textAlign:H}}),{[`${e}`]:Object.assign(Object.assign({},$a(t)),{position:"relative","*":{outline:"none"},[`${e}-header`]:{background:C},[`${e}-footer`]:{background:P},[`${e}-header, ${e}-footer`]:{paddingBlock:r},[`${e}-pagination`]:Object.assign(Object.assign({marginBlockStart:a},R),{[`${n}-pagination-options`]:{textAlign:"start"}}),[`${e}-spin`]:{minHeight:i,textAlign:"center"},[`${e}-items`]:{margin:0,padding:0,listStyle:"none"},[`${e}-item`]:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:s,color:g,[`${e}-item-meta`]:{display:"flex",flex:1,alignItems:"flex-start",maxWidth:"100%",[`${e}-item-meta-avatar`]:{marginInlineEnd:y},[`${e}-item-meta-content`]:{flex:"1 0",width:0,color:g},[`${e}-item-meta-title`]:{margin:`0 0 ${Ut(t.marginXXS)} 0`,color:g,fontSize:t.fontSize,lineHeight:t.lineHeight,"> a":{color:g,transition:`all ${w}`,"&:hover":{color:c}}},[`${e}-item-meta-description`]:{color:A,fontSize:x,lineHeight:t.lineHeight}},[`${e}-item-action`]:{flex:"0 0 auto",marginInlineStart:t.marginXXL,padding:0,fontSize:0,listStyle:"none","& > li":{position:"relative",display:"inline-block",padding:`0 ${Ut(f)}`,color:A,fontSize:t.fontSize,lineHeight:t.lineHeight,textAlign:"center","&:first-child":{paddingInlineStart:0}},[`${e}-item-action-split`]:{position:"absolute",insetBlockStart:"50%",insetInlineEnd:0,width:b,height:t.calc(t.fontHeight).sub(t.calc(t.marginXXS).mul(2)).equal(),transform:"translateY(-50%)",backgroundColor:t.colorSplit}}},[`${e}-empty`]:{padding:`${Ut(l)} 0`,color:A,fontSize:t.fontSizeSM,textAlign:"center"},[`${e}-empty-text`]:{padding:v,color:t.colorTextDisabled,fontSize:t.fontSize,textAlign:"center"},[`${e}-item-no-flex`]:{display:"block"}}),[`${e}-grid ${n}-col > ${e}-item`]:{display:"block",maxWidth:"100%",marginBlockEnd:p,paddingBlock:0,borderBlockEnd:"none"},[`${e}-vertical ${e}-item`]:{alignItems:"initial",[`${e}-item-main`]:{display:"block",flex:1},[`${e}-item-extra`]:{marginInlineStart:a},[`${e}-item-meta`]:{marginBlockEnd:T,[`${e}-item-meta-title`]:{marginBlockStart:0,marginBlockEnd:S,color:g,fontSize:t.fontSizeLG,lineHeight:t.lineHeightLG}},[`${e}-item-action`]:{marginBlockStart:l,marginInlineStart:"auto","> li":{padding:`0 ${Ut(l)}`,"&:first-child":{paddingInlineStart:0}}}},[`${e}-split ${e}-item`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`,"&:last-child":{borderBlockEnd:"none"}},[`${e}-split ${e}-header`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-split${e}-empty ${e}-footer`]:{borderTop:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-loading ${e}-spin-nested-loading`]:{minHeight:o},[`${e}-split${e}-something-after-last-item ${n}-spin-container > ${e}-items > ${e}-item:last-child`]:{borderBlockEnd:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorSplit}`},[`${e}-lg ${e}-item`]:{padding:d},[`${e}-sm ${e}-item`]:{padding:u},[`${e}:not(${e}-vertical)`]:{[`${e}-item-no-flex`]:{[`${e}-item-action`]:{float:"right"}}}}},BUt=t=>({contentWidth:220,itemPadding:`${Ut(t.paddingContentVertical)} 0`,itemPaddingSM:`${Ut(t.paddingContentVerticalSM)} ${Ut(t.paddingContentHorizontal)}`,itemPaddingLG:`${Ut(t.paddingContentVerticalLG)} ${Ut(t.paddingContentHorizontalLG)}`,headerBg:"transparent",footerBg:"transparent",emptyTextPadding:t.padding,metaMarginBottom:t.padding,avatarMarginRight:t.padding,titleMarginBottom:t.paddingSM,descriptionFontSize:t.fontSize}),jUt=Fl("List",t=>{const e=Zr(t,{listBorderedCls:`${t.componentCls}-bordered`,minHeight:t.controlHeightLG});return[UUt(e),WUt(e),NUt(e)]},BUt);var YUt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i(ze,ye)=>{var oe;x(ze),H(ye),n&&n[Ie]&&((oe=n==null?void 0:n[Ie])===null||oe===void 0||oe.call(n,ze,ye))},U=E("onChange"),F=E("onShowSizeChange"),B=(Ie,ze)=>{if(!P)return null;let ye;return typeof C=="function"?ye=C(Ie):C?ye=Ie[C]:ye=Ie.key,ye||(ye=`list-item-${ze}`),m.createElement(m.Fragment,{key:ye},P(Ie,ze))},_=()=>!!(d||n||w),Y=D("list",o),[O,J,Z]=jUt(Y);let ie=b;typeof ie=="boolean"&&(ie={spinning:ie});const ee=ie&&ie.spinning,q=Rd(g);let ae="";switch(q){case"large":ae="lg";break;case"small":ae="sm";break}const ne=Gn(Y,{[`${Y}-vertical`]:u==="vertical",[`${Y}-${ae}`]:ae,[`${Y}-split`]:r,[`${Y}-bordered`]:i,[`${Y}-loading`]:ee,[`${Y}-grid`]:!!f,[`${Y}-something-after-last-item`]:_(),[`${Y}-rtl`]:W==="rtl"},N==null?void 0:N.className,a,l,J,Z),se=kXe(L,{total:p.length,current:S,pageSize:R},n||{}),le=Math.ceil(se.total/se.pageSize);se.current>le&&(se.current=le);const te=n?m.createElement("div",{className:Gn(`${Y}-pagination`,`${Y}-pagination-align-${(e=se==null?void 0:se.align)!==null&&e!==void 0?e:"end"}`)},m.createElement(UXe,Object.assign({},se,{onChange:U,onShowSizeChange:F}))):null;let he=Xa(p);n&&p.length>(se.current-1)*se.pageSize&&(he=Xa(p).splice((se.current-1)*se.pageSize,se.pageSize));const pe=Object.keys(f||{}).some(Ie=>["xs","sm","md","lg","xl","xxl"].includes(Ie)),fe=x$(pe),$=m.useMemo(()=>{for(let Ie=0;Ie{if(!f)return;const Ie=$&&f[$]?f[$]:f.column;if(Ie)return{width:`${100/Ie}%`,maxWidth:`${100/Ie}%`}},[JSON.stringify(f),$]);let Se=ee&&m.createElement("div",{style:{minHeight:53}});if(he.length>0){const Ie=he.map((ze,ye)=>B(ze,ye));Se=f?m.createElement(nn,{gutter:f.gutter},m.Children.map(Ie,ze=>m.createElement("div",{key:ze==null?void 0:ze.key,style:de},ze))):m.createElement("ul",{className:`${Y}-items`},Ie)}else!c&&!ee&&(Se=m.createElement("div",{className:`${Y}-empty-text`},v&&v.emptyText||(k==null?void 0:k("List"))||m.createElement(ime,{componentName:"List"})));const Ce=se.position||"bottom",ve=m.useMemo(()=>({grid:f,itemLayout:u}),[JSON.stringify(f),u]);return O(m.createElement(Lme.Provider,{value:ve},m.createElement("div",Object.assign({style:Object.assign(Object.assign({},N==null?void 0:N.style),s),className:ne},T),(Ce==="top"||Ce==="both")&&te,A&&m.createElement("div",{className:`${Y}-header`},A),m.createElement(LW,Object.assign({},ie),Se,c),w&&m.createElement("div",{className:`${Y}-footer`},w),d||(Ce==="bottom"||Ce==="both")&&te)))}O0e.Item=jXe;let vm=null,Nv=t=>t(),Qk=[],Zk={};function cxe(){const{getContainer:t,duration:e,rtl:n,maxCount:o,top:i}=Zk,r=(t==null?void 0:t())||document.body;return{getContainer:()=>r,duration:e,rtl:n,maxCount:o,top:i}}const OUt=be.forwardRef((t,e)=>{const{messageConfig:n,sync:o}=t,{getPrefixCls:i}=m.useContext(Mi),r=Zk.prefixCls||i("message"),a=m.useContext(SMt),[l,s]=g_e(Object.assign(Object.assign(Object.assign({},n),{prefixCls:r}),a.message));return be.useImperativeHandle(e,()=>{const c=Object.assign({},l);return Object.keys(c).forEach(u=>{c[u]=function(){return o(),l[u].apply(l,arguments)}}),{instance:c,sync:o}}),s}),_Ut=be.forwardRef((t,e)=>{const[n,o]=be.useState(cxe),i=()=>{o(cxe)};be.useEffect(i,[]);const r=$Oe(),a=r.getRootPrefixCls(),l=r.getIconPrefixCls(),s=r.getTheme(),c=be.createElement(OUt,{ref:e,sync:i,messageConfig:n});return be.createElement(ry,{prefixCls:a,iconPrefixCls:l,theme:s},r.holderRender?r.holderRender(c):c)});function W$(){if(!vm){const t=document.createDocumentFragment(),e={fragment:t};vm=e,Nv(()=>{Gge(be.createElement(_Ut,{ref:n=>{const{instance:o,sync:i}=n||{};Promise.resolve().then(()=>{!e.instance&&o&&(e.instance=o,e.sync=i,W$())})}}),t)});return}vm.instance&&(Qk.forEach(t=>{const{type:e,skipped:n}=t;if(!n)switch(e){case"open":{Nv(()=>{const o=vm.instance.open(Object.assign(Object.assign({},Zk),t.config));o==null||o.then(t.resolve),t.setCloseFn(o)});break}case"destroy":Nv(()=>{vm==null||vm.instance.destroy(t.key)});break;default:Nv(()=>{var o;const i=(o=vm.instance)[e].apply(o,Xa(t.args));i==null||i.then(t.resolve),t.setCloseFn(i)})}}),Qk=[])}function VUt(t){Zk=Object.assign(Object.assign({},Zk),t),Nv(()=>{var e;(e=vm==null?void 0:vm.sync)===null||e===void 0||e.call(vm)})}function GUt(t){const e=Vge(n=>{let o;const i={type:"open",config:t,resolve:n,setCloseFn:r=>{o=r}};return Qk.push(i),()=>{o?Nv(()=>{o()}):i.skipped=!0}});return W$(),e}function XUt(t,e){const n=Vge(o=>{let i;const r={type:t,args:e,resolve:o,setCloseFn:a=>{i=a}};return Qk.push(r),()=>{i?Nv(()=>{i()}):r.skipped=!0}});return W$(),n}const JUt=t=>{Qk.push({type:"destroy",key:t}),W$()},KUt=["success","info","warning","error","loading"],qUt={open:GUt,destroy:JUt,config:VUt,useMessage:sCt,_InternalPanelDoNotUseOrYouWillBeFired:eCt},K6=qUt;KUt.forEach(t=>{K6[t]=function(){for(var e=arguments.length,n=new Array(e),o=0;o{const{prefixCls:e,className:n,closeIcon:o,closable:i,type:r,title:a,children:l,footer:s}=t,c=$Ut(t,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:u}=m.useContext(Mi),d=u(),f=e||u("modal"),p=j0(d),[g,A,w]=Q_e(f,p),b=`${f}-confirm`;let C={};return r?C={closable:i??!1,title:"",footer:"",children:m.createElement(eVe,Object.assign({},t,{prefixCls:f,confirmPrefixCls:b,rootPrefixCls:d,content:l}))}:C={closable:i??!0,title:a,footer:s!==null&&m.createElement(K_e,Object.assign({},t)),children:l},g(m.createElement(D_e,Object.assign({prefixCls:f,className:Gn(A,`${f}-pure-panel`,r&&b,r&&`${b}-${r}`,n,w,p)},c,{closeIcon:J_e(f,o),closable:i},C)))},ZUt=cVe(QUt);function YXe(t){return CW(iVe(t))}const _r=Z_e;_r.useModal=bMt;_r.info=function(e){return CW(rVe(e))};_r.success=function(e){return CW(aVe(e))};_r.error=function(e){return CW(lVe(e))};_r.warning=YXe;_r.warn=YXe;_r.confirm=function(e){return CW(sVe(e))};_r.destroyAll=function(){for(;Fv.length;){const e=Fv.pop();e&&e()}};_r.config=yMt;_r._InternalPanelDoNotUseOrYouWillBeFired=ZUt;var eBt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"},tBt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:eBt}))},xf=m.forwardRef(tBt);function _0e(t,e,n){return(t-e)/(n-e)}function Wme(t,e,n,o){var i=_0e(e,n,o),r={};switch(t){case"rtl":r.right="".concat(i*100,"%"),r.transform="translateX(50%)";break;case"btt":r.bottom="".concat(i*100,"%"),r.transform="translateY(50%)";break;case"ttb":r.top="".concat(i*100,"%"),r.transform="translateY(-50%)";break;default:r.left="".concat(i*100,"%"),r.transform="translateX(-50%)";break}return r}function XP(t,e){return Array.isArray(t)?t[e]:t}var Eb=m.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0,styles:{},classNames:{}}),nBt=["prefixCls","value","valueIndex","onStartMove","style","render","dragging","onOffsetChange","onChangeComplete","onFocus","onMouseEnter"],uxe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.value,i=t.valueIndex,r=t.onStartMove,a=t.style,l=t.render,s=t.dragging,c=t.onOffsetChange,u=t.onChangeComplete,d=t.onFocus,f=t.onMouseEnter,p=ir(t,nBt),g=m.useContext(Eb),A=g.min,w=g.max,b=g.direction,C=g.disabled,P=g.keyboard,v=g.range,T=g.tabIndex,y=g.ariaLabelForHandle,S=g.ariaLabelledByForHandle,x=g.ariaValueTextFormatterForHandle,R=g.styles,H=g.classNames,D="".concat(n,"-handle"),k=function(O){C||r(O,i)},W=function(O){d==null||d(O,i)},N=function(O){f(O,i)},L=function(O){if(!C&&P){var J=null;switch(O.which||O.keyCode){case Bn.LEFT:J=b==="ltr"||b==="btt"?-1:1;break;case Bn.RIGHT:J=b==="ltr"||b==="btt"?1:-1;break;case Bn.UP:J=b!=="ttb"?1:-1;break;case Bn.DOWN:J=b!=="ttb"?-1:1;break;case Bn.HOME:J="min";break;case Bn.END:J="max";break;case Bn.PAGE_UP:J=2;break;case Bn.PAGE_DOWN:J=-2;break}J!==null&&(O.preventDefault(),c(J,i))}},E=function(O){switch(O.which||O.keyCode){case Bn.LEFT:case Bn.RIGHT:case Bn.UP:case Bn.DOWN:case Bn.HOME:case Bn.END:case Bn.PAGE_UP:case Bn.PAGE_DOWN:u==null||u();break}},U=Wme(b,o,A,w),F={};if(i!==null){var B;F={tabIndex:C?null:XP(T,i),role:"slider","aria-valuemin":A,"aria-valuemax":w,"aria-valuenow":o,"aria-disabled":C,"aria-label":XP(y,i),"aria-labelledby":XP(S,i),"aria-valuetext":(B=XP(x,i))===null||B===void 0?void 0:B(o),"aria-orientation":b==="ltr"||b==="rtl"?"horizontal":"vertical",onMouseDown:k,onTouchStart:k,onFocus:W,onMouseEnter:N,onKeyDown:L,onKeyUp:E}}var _=m.createElement("div",so({ref:e,className:_n(D,_t(_t({},"".concat(D,"-").concat(i+1),i!==null&&v),"".concat(D,"-dragging"),s),H.handle),style:$t($t($t({},U),a),R.handle)},F,p));return l&&(_=l(_,{index:i,prefixCls:n,value:o,dragging:s})),_}),oBt=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","activeHandleRender","draggingIndex","onFocus"],iBt=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.style,i=t.onStartMove,r=t.onOffsetChange,a=t.values,l=t.handleRender,s=t.activeHandleRender,c=t.draggingIndex,u=t.onFocus,d=ir(t,oBt),f=m.useRef({});m.useImperativeHandle(e,function(){return{focus:function(T){var y;(y=f.current[T])===null||y===void 0||y.focus()}}});var p=m.useState(-1),g=on(p,2),A=g[0],w=g[1],b=function(T,y){w(y),u==null||u(T)},C=function(T,y){w(y)},P=$t({prefixCls:n,onStartMove:i,onOffsetChange:r,render:l,onFocus:b,onMouseEnter:C},d);return m.createElement(m.Fragment,null,a.map(function(v,T){return m.createElement(uxe,so({ref:function(S){S?f.current[T]=S:delete f.current[T]},dragging:c===T,style:XP(o,T),key:T,value:v,valueIndex:T},P))}),s&&m.createElement(uxe,so({key:"a11y"},P,{value:a[A],valueIndex:null,dragging:c!==-1,render:s,style:{pointerEvents:"none"},tabIndex:null,"aria-hidden":!0})))}),rBt=function(e){var n=e.prefixCls,o=e.style,i=e.children,r=e.value,a=e.onClick,l=m.useContext(Eb),s=l.min,c=l.max,u=l.direction,d=l.includedStart,f=l.includedEnd,p=l.included,g="".concat(n,"-text"),A=Wme(u,r,s,c);return m.createElement("span",{className:_n(g,_t({},"".concat(g,"-active"),p&&d<=r&&r<=f)),style:$t($t({},A),o),onMouseDown:function(b){b.stopPropagation()},onClick:function(){a(r)}},i)},aBt=function(e){var n=e.prefixCls,o=e.marks,i=e.onClick,r="".concat(n,"-mark");return o.length?m.createElement("div",{className:r},o.map(function(a){var l=a.value,s=a.style,c=a.label;return m.createElement(rBt,{key:l,prefixCls:r,style:s,value:l,onClick:i},c)})):null},lBt=function(e){var n=e.prefixCls,o=e.value,i=e.style,r=e.activeStyle,a=m.useContext(Eb),l=a.min,s=a.max,c=a.direction,u=a.included,d=a.includedStart,f=a.includedEnd,p="".concat(n,"-dot"),g=u&&d<=o&&o<=f,A=$t($t({},Wme(c,o,l,s)),typeof i=="function"?i(o):i);return g&&(A=$t($t({},A),typeof r=="function"?r(o):r)),m.createElement("span",{className:_n(p,_t({},"".concat(p,"-active"),g)),style:A})},sBt=function(e){var n=e.prefixCls,o=e.marks,i=e.dots,r=e.style,a=e.activeStyle,l=m.useContext(Eb),s=l.min,c=l.max,u=l.step,d=m.useMemo(function(){var f=new Set;if(o.forEach(function(g){f.add(g.value)}),i&&u!==null)for(var p=s;p<=c;)f.add(p),p+=u;return Array.from(f)},[s,c,u,i,o]);return m.createElement("div",{className:"".concat(n,"-step")},d.map(function(f){return m.createElement(lBt,{prefixCls:n,key:f,value:f,style:r,activeStyle:a})}))},dxe=function(e){var n=e.prefixCls,o=e.style,i=e.start,r=e.end,a=e.index,l=e.onStartMove,s=e.replaceCls,c=m.useContext(Eb),u=c.direction,d=c.min,f=c.max,p=c.disabled,g=c.range,A=c.classNames,w="".concat(n,"-track"),b=_0e(i,d,f),C=_0e(r,d,f),P=function(S){!p&&l&&l(S,-1)},v={};switch(u){case"rtl":v.right="".concat(b*100,"%"),v.width="".concat(C*100-b*100,"%");break;case"btt":v.bottom="".concat(b*100,"%"),v.height="".concat(C*100-b*100,"%");break;case"ttb":v.top="".concat(b*100,"%"),v.height="".concat(C*100-b*100,"%");break;default:v.left="".concat(b*100,"%"),v.width="".concat(C*100-b*100,"%")}var T=s||_n(w,_t(_t({},"".concat(w,"-").concat(a+1),a!==null&&g),"".concat(n,"-track-draggable"),l),A.track);return m.createElement("div",{className:T,style:$t($t({},v),o),onMouseDown:P,onTouchStart:P})},cBt=function(e){var n=e.prefixCls,o=e.style,i=e.values,r=e.startPoint,a=e.onStartMove,l=m.useContext(Eb),s=l.included,c=l.range,u=l.min,d=l.styles,f=l.classNames,p=m.useMemo(function(){if(!c){if(i.length===0)return[];var A=r??u,w=i[0];return[{start:Math.min(A,w),end:Math.max(A,w)}]}for(var b=[],C=0;C3&&arguments[3]!==void 0?arguments[3]:"unit";if(typeof A=="number"){var C,P=g[w],v=P+A,T=[];o.forEach(function(H){T.push(H.value)}),T.push(t,e),T.push(l(P));var y=A>0?1:-1;b==="unit"?T.push(l(P+y*n)):T.push(l(v)),T=T.filter(function(H){return H!==null}).filter(function(H){return A<0?H<=P:H>=P}),b==="unit"&&(T=T.filter(function(H){return H!==P}));var S=b==="unit"?P:v;C=T[0];var x=Math.abs(C-S);if(T.forEach(function(H){var D=Math.abs(H-S);D1){var R=Wo(g);return R[w]=C,p(R,A-y,w,b)}return C}else{if(A==="min")return t;if(A==="max")return e}},u=function(g,A,w){var b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"unit",C=g[w],P=c(g,A,w,b);return{value:P,changed:P!==C}},d=function(g){return r===null&&g===0||typeof r=="number"&&g3&&arguments[3]!==void 0?arguments[3]:"unit",C=g.map(s),P=C[w],v=c(C,A,w,b);if(C[w]=v,i===!1){var T=r||0;w>0&&C[w-1]!==P&&(C[w]=Math.max(C[w],C[w-1]+T)),w0;R-=1)for(var H=!0;d(C[R]-C[R-1])&&H;){var D=u(C,-1,R-1);C[R-1]=D.value,H=D.changed}for(var k=C.length-1;k>0;k-=1)for(var W=!0;d(C[k]-C[k-1])&&W;){var N=u(C,-1,k-1);C[k-1]=N.value,W=N.changed}for(var L=0;L=0?E:!1},[E,ze]),oe=m.useMemo(function(){return Object.keys(ae||{}).map(function(Je){var st=ae[Je],Pt={value:Number(Je)};return st&&gr(st)==="object"&&!m.isValidElement(st)&&("label"in st||"style"in st)?(Pt.style=st.style,Pt.label=st.label):Pt.label=st,Pt}).filter(function(Je){var st=Je.label;return st||typeof st=="number"}).sort(function(Je,st){return Je.value-st.value})},[ae]),ge=dBt(ve,Ie,ze,oe,N,ye),Ae=on(ge,2),me=Ae[0],Pe=Ae[1],Me=Rs(y,{value:T}),Te=on(Me,2),De=Te[0],Ne=Te[1],Ye=m.useMemo(function(){var Je=De==null?[]:Array.isArray(De)?De:[De],st=on(Je,1),Pt=st[0],Ue=Pt===void 0?ve:Pt,lt=De===null?[]:[Ue];if(S){if(lt=Wo(Je),x||De===void 0){var Ve=x>=0?x+1:2;for(lt=lt.slice(0,Ve);lt.length=0&&de.current.focus(Je)}et(null)},[ot]);var nt=m.useMemo(function(){return U&&ze===null?!1:U},[U,ze]),mt=function(st,Pt){dt(st,Pt),H==null||H($e(Le.current))},Tt=rt!==-1;m.useEffect(function(){if(!Tt){var Je=Ye.lastIndexOf(_e);de.current.focus(Je)}},[Tt]);var Rt=m.useMemo(function(){return Wo(xt).sort(function(Je,st){return Je-st})},[xt]),Wt=m.useMemo(function(){return S?[Rt[0],Rt[Rt.length-1]]:[ve,Rt[0]]},[Rt,S,ve]),Ct=on(Wt,2),wt=Ct[0],kt=Ct[1];m.useImperativeHandle(e,function(){return{focus:function(){de.current.focus(0)},blur:function(){var st,Pt=document,Ue=Pt.activeElement;(st=Se.current)!==null&&st!==void 0&&st.contains(Ue)&&(Ue==null||Ue.blur())}}}),m.useEffect(function(){f&&de.current.focus(0)},[]);var qe=m.useMemo(function(){return{min:ve,max:Ie,direction:Ce,disabled:c,keyboard:d,step:ze,included:Y,includedStart:wt,includedEnd:kt,range:S,tabIndex:he,ariaLabelForHandle:pe,ariaLabelledByForHandle:fe,ariaValueTextFormatterForHandle:$,styles:l||{},classNames:a||{}}},[ve,Ie,Ce,c,d,ze,Y,wt,kt,S,he,pe,fe,$,l,a]);return m.createElement(Eb.Provider,{value:qe},m.createElement("div",{ref:Se,className:_n(o,i,_t(_t(_t(_t({},"".concat(o,"-disabled"),c),"".concat(o,"-vertical"),B),"".concat(o,"-horizontal"),!B),"".concat(o,"-with-marks"),oe.length)),style:r,onMouseDown:ct},m.createElement("div",{className:_n("".concat(o,"-rail"),a==null?void 0:a.rail),style:$t($t({},ie),l==null?void 0:l.rail)}),m.createElement(cBt,{prefixCls:o,style:J,values:Rt,startPoint:O,onStartMove:nt?mt:void 0}),m.createElement(sBt,{prefixCls:o,marks:oe,dots:ne,style:ee,activeStyle:q}),m.createElement(iBt,{ref:de,prefixCls:o,style:Z,values:xt,draggingIndex:rt,onStartMove:mt,onOffsetChange:Oe,onFocus:p,onBlur:g,handleRender:se,activeHandleRender:le,onChangeComplete:Ee}),m.createElement(aBt,{prefixCls:o,marks:oe,onClick:Qe})))});const hxe=m.forwardRef((t,e)=>{const{open:n}=t,o=m.useRef(null),i=m.useRef(null);function r(){Rg.cancel(i.current),i.current=null}function a(){i.current=Rg(()=>{var l;(l=o.current)===null||l===void 0||l.forceAlign(),i.current=null})}return m.useEffect(()=>(n?a():r(),r),[n,t.title]),m.createElement(J6,Object.assign({ref:q2(o,e)},t))}),hBt=t=>{const{componentCls:e,antCls:n,controlSize:o,dotSize:i,marginFull:r,marginPart:a,colorFillContentHover:l,handleColorDisabled:s,calc:c}=t;return{[e]:Object.assign(Object.assign({},$a(t)),{position:"relative",height:o,margin:`${Ut(a)} ${Ut(r)}`,padding:0,cursor:"pointer",touchAction:"none","&-vertical":{margin:`${Ut(r)} ${Ut(a)}`},[`${e}-rail`]:{position:"absolute",backgroundColor:t.railBg,borderRadius:t.borderRadiusXS,transition:`background-color ${t.motionDurationMid}`},[`${e}-track,${e}-tracks`]:{position:"absolute",transition:`background-color ${t.motionDurationMid}`},[`${e}-track`]:{backgroundColor:t.trackBg,borderRadius:t.borderRadiusXS},[`${e}-track-draggable`]:{boxSizing:"content-box",backgroundClip:"content-box",border:"solid rgba(0,0,0,0)"},"&:hover":{[`${e}-rail`]:{backgroundColor:t.railHoverBg},[`${e}-track`]:{backgroundColor:t.trackHoverBg},[`${e}-dot`]:{borderColor:l},[`${e}-handle::after`]:{boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.colorPrimaryBorderHover}`},[`${e}-dot-active`]:{borderColor:t.dotActiveBorderColor}},[`${e}-handle`]:{position:"absolute",width:t.handleSize,height:t.handleSize,outline:"none","&::before":{content:'""',position:"absolute",insetInlineStart:c(t.handleLineWidth).mul(-1).equal(),insetBlockStart:c(t.handleLineWidth).mul(-1).equal(),width:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),height:c(t.handleSize).add(c(t.handleLineWidth).mul(2)).equal(),backgroundColor:"transparent"},"&::after":{content:'""',position:"absolute",insetBlockStart:0,insetInlineStart:0,width:t.handleSize,height:t.handleSize,backgroundColor:t.colorBgElevated,boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${t.handleColor}`,borderRadius:"50%",cursor:"pointer",transition:` inset-inline-start ${t.motionDurationMid}, inset-block-start ${t.motionDurationMid}, width ${t.motionDurationMid}, @@ -4655,12 +4655,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{backgroundColor:t.colorBgElevated,borderColor:t.trackBgDisabled,boxShadow:"none",cursor:"not-allowed"},[`${e}-handle::after`]:{backgroundColor:t.colorBgElevated,cursor:"not-allowed",width:t.handleSize,height:t.handleSize,boxShadow:`0 0 0 ${Ut(t.handleLineWidth)} ${s}`,insetInlineStart:0,insetBlockStart:0},[` ${e}-mark-text, ${e}-dot - `]:{cursor:"not-allowed !important"}},[`&-tooltip ${n}-tooltip-inner`]:{minWidth:"unset"}})}},VXe=(t,e)=>{const{componentCls:n,railSize:o,handleSize:i,dotSize:r,marginFull:a,calc:l}=t,s=e?"paddingBlock":"paddingInline",c=e?"width":"height",u=e?"height":"width",d=e?"insetBlockStart":"insetInlineStart",f=e?"top":"insetInlineStart",p=l(o).mul(3).sub(i).div(2).equal(),g=l(i).sub(o).div(2).equal(),A=e?{borderWidth:`${Ut(g)} 0`,transform:`translateY(${Ut(l(g).mul(-1).equal())})`}:{borderWidth:`0 ${Ut(g)}`,transform:`translateX(${Ut(t.calc(g).mul(-1).equal())})`};return{[s]:o,[u]:l(o).mul(3).equal(),[`${n}-rail`]:{[c]:"100%",[u]:o},[`${n}-track,${n}-tracks`]:{[u]:o},[`${n}-track-draggable`]:Object.assign({},A),[`${n}-handle`]:{[d]:p},[`${n}-mark`]:{insetInlineStart:0,top:0,[f]:l(o).mul(3).add(e?0:a).equal(),[c]:"100%"},[`${n}-step`]:{insetInlineStart:0,top:0,[f]:o,[c]:"100%",[u]:o},[`${n}-dot`]:{position:"absolute",[d]:l(o).sub(r).div(2).equal()}}},mBt=t=>{const{componentCls:e,marginPartWithMark:n}=t;return{[`${e}-horizontal`]:Object.assign(Object.assign({},VXe(t,!0)),{[`&${e}-with-marks`]:{marginBottom:n}})}},yBt=t=>{const{componentCls:e}=t;return{[`${e}-vertical`]:Object.assign(Object.assign({},VXe(t,!1)),{height:"100%"})}},ABt=t=>{const n=t.controlHeightLG/4,o=t.controlHeightSM/2,i=t.lineWidth+1,r=t.lineWidth+1*3;return{controlSize:n,railSize:4,handleSize:n,handleSizeHover:o,dotSize:8,handleLineWidth:i,handleLineWidthHover:r,railBg:t.colorFillTertiary,railHoverBg:t.colorFillSecondary,trackBg:t.colorPrimaryBorder,trackHoverBg:t.colorPrimaryBorderHover,handleColor:t.colorPrimaryBorder,handleActiveColor:t.colorPrimary,handleColorDisabled:new Il(t.colorTextDisabled).onBackground(t.colorBgContainer).toHexShortString(),dotBorderColor:t.colorBorderSecondary,dotActiveBorderColor:t.colorPrimaryBorder,trackBgDisabled:t.colorBgContainerDisabled}},wBt=Fl("Slider",t=>{const e=Zr(t,{marginPart:t.calc(t.controlHeight).sub(t.controlSize).div(2).equal(),marginFull:t.calc(t.controlSize).div(2).equal(),marginPartWithMark:t.calc(t.controlHeightLG).sub(t.controlSize).equal()});return[gBt(e),mBt(e),yBt(e)]},ABt);function Vie(){const[t,e]=m.useState(!1),n=m.useRef(),o=()=>{Rg.cancel(n.current)},i=r=>{o(),r?e(r):n.current=Rg(()=>{e(r)})};return m.useEffect(()=>o,[]),[t,i]}var vBt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);itypeof n=="number"?n.toString():""}const Mu=be.forwardRef((t,e)=>{const{prefixCls:n,range:o,className:i,rootClassName:r,style:a,disabled:l,tooltipPrefixCls:s,tipFormatter:c,tooltipVisible:u,getTooltipPopupContainer:d,tooltipPlacement:f,tooltip:p={},onChangeComplete:g}=t,A=vBt(t,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement","tooltip","onChangeComplete"]),{vertical:w}=t,{direction:b,slider:C,getPrefixCls:P,getPopupContainer:v}=be.useContext(Mi),T=be.useContext($p),y=l??T,[S,x]=Vie(),[R,H]=Vie(),D=Object.assign({},p),{open:k,placement:W,getPopupContainer:N,prefixCls:L,formatter:E}=D,U=k??u,F=(S||R)&&U!==!1,B=xBt(E,c),[_,Y]=Vie(),O=fe=>{g==null||g(fe),Y(!1)},J=(fe,$)=>fe||($?b==="rtl"?"left":"right":"top"),Z=P("slider",n),[ie,ee,q]=wBt(Z),ae=Gn(i,C==null?void 0:C.className,r,{[`${Z}-rtl`]:b==="rtl",[`${Z}-lock`]:_},ee,q);b==="rtl"&&!A.vertical&&(A.reverse=!A.reverse);const[ne,se]=be.useMemo(()=>o?typeof o=="object"?[!0,o.draggableTrack]:[!0,!1]:[!1],[o]);be.useEffect(()=>{const fe=()=>{Rg(()=>{H(!1)},1)};return document.addEventListener("mouseup",fe),()=>{document.removeEventListener("mouseup",fe)}},[]);const le=ne&&!U,te=(fe,$)=>{const{index:de}=$,Se=fe.props,Ce=Object.assign(Object.assign({},Se),{onMouseEnter:ze=>{var ye;x(!0),(ye=Se.onMouseEnter)===null||ye===void 0||ye.call(Se,ze)},onMouseLeave:ze=>{var ye;x(!1),(ye=Se.onMouseLeave)===null||ye===void 0||ye.call(Se,ze)},onMouseDown:ze=>{var ye;H(!0),Y(!0),(ye=Se.onMouseDown)===null||ye===void 0||ye.call(Se,ze)},onFocus:ze=>{var ye,oe;H(!0),(ye=A.onFocus)===null||ye===void 0||ye.call(A,ze),(oe=Se.onFocus)===null||oe===void 0||oe.call(Se,ze)},onBlur:ze=>{var ye,oe;H(!1),(ye=A.onBlur)===null||ye===void 0||ye.call(A,ze),(oe=Se.onBlur)===null||oe===void 0||oe.call(Se,ze)}}),ve=be.cloneElement(fe,Ce),Ie=(!!U||F)&&B!==null;return le?ve:be.createElement(hxe,Object.assign({},D,{prefixCls:P("tooltip",L??s),title:B?B($.value):"",open:Ie,placement:J(W??f,w),key:de,overlayClassName:`${Z}-tooltip`,getPopupContainer:N||d||v}),ve)},he=le?(fe,$)=>{const de=be.cloneElement(fe,{style:Object.assign(Object.assign({},fe.props.style),{visibility:"hidden"})});return be.createElement(hxe,Object.assign({},D,{prefixCls:P("tooltip",L??s),title:B?B($.value):"",open:B!==null&&F,placement:J(W??f,w),key:"tooltip",overlayClassName:`${Z}-tooltip`,getPopupContainer:N||d||v}),de)}:void 0,pe=Object.assign(Object.assign({},C==null?void 0:C.style),a);return ie(be.createElement(pBt,Object.assign({},A,{step:A.step,range:ne,draggableTrack:se,className:ae,style:pe,disabled:y,ref:e,prefixCls:Z,handleRender:te,activeHandleRender:he,onChangeComplete:O})))});var bBt=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],GXe=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-switch":o,r=t.className,a=t.checked,l=t.defaultChecked,s=t.disabled,c=t.loadingIcon,u=t.checkedChildren,d=t.unCheckedChildren,f=t.onClick,p=t.onChange,g=t.onKeyDown,A=ir(t,bBt),w=Rs(!1,{value:a,defaultValue:l}),b=on(w,2),C=b[0],P=b[1];function v(x,R){var H=C;return s||(H=x,P(H),p==null||p(H,R)),H}function T(x){x.which===Bn.LEFT?v(!1,x):x.which===Bn.RIGHT&&v(!0,x),g==null||g(x)}function y(x){var R=v(!C,x);f==null||f(R,x)}var S=_n(i,r,(n={},_t(n,"".concat(i,"-checked"),C),_t(n,"".concat(i,"-disabled"),s),n));return m.createElement("button",so({},A,{type:"button",role:"switch","aria-checked":C,disabled:s,className:S,ref:e,onKeyDown:T,onClick:y}),c,m.createElement("span",{className:"".concat(i,"-inner")},m.createElement("span",{className:"".concat(i,"-inner-checked")},u),m.createElement("span",{className:"".concat(i,"-inner-unchecked")},d)))});GXe.displayName="Switch";const SBt=t=>{const{componentCls:e,trackHeightSM:n,trackPadding:o,trackMinWidthSM:i,innerMinMarginSM:r,innerMaxMarginSM:a,handleSizeSM:l,calc:s}=t,c=`${e}-inner`,u=Ut(s(l).add(s(o).mul(2)).equal()),d=Ut(s(a).mul(2).equal());return{[e]:{[`&${e}-small`]:{minWidth:i,height:n,lineHeight:Ut(n),[`${e}-inner`]:{paddingInlineStart:a,paddingInlineEnd:r,[`${c}-checked, ${c}-unchecked`]:{minHeight:n},[`${c}-checked`]:{marginInlineStart:`calc(-100% + ${u} - ${d})`,marginInlineEnd:`calc(100% - ${u} + ${d})`},[`${c}-unchecked`]:{marginTop:s(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`${e}-handle`]:{width:l,height:l},[`${e}-loading-icon`]:{top:s(s(l).sub(t.switchLoadingIconSize)).div(2).equal(),fontSize:t.switchLoadingIconSize},[`&${e}-checked`]:{[`${e}-inner`]:{paddingInlineStart:r,paddingInlineEnd:a,[`${c}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${c}-unchecked`]:{marginInlineStart:`calc(100% - ${u} + ${d})`,marginInlineEnd:`calc(-100% + ${u} - ${d})`}},[`${e}-handle`]:{insetInlineStart:`calc(100% - ${Ut(s(l).add(o).equal())})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${c}`]:{[`${c}-unchecked`]:{marginInlineStart:s(t.marginXXS).div(2).equal(),marginInlineEnd:s(t.marginXXS).mul(-1).div(2).equal()}},[`&${e}-checked ${c}`]:{[`${c}-checked`]:{marginInlineStart:s(t.marginXXS).mul(-1).div(2).equal(),marginInlineEnd:s(t.marginXXS).div(2).equal()}}}}}}},TBt=t=>{const{componentCls:e,handleSize:n,calc:o}=t;return{[e]:{[`${e}-loading-icon${t.iconCls}`]:{position:"relative",top:o(o(n).sub(t.fontSize)).div(2).equal(),color:t.switchLoadingIconColor,verticalAlign:"top"},[`&${e}-checked ${e}-loading-icon`]:{color:t.switchColor}}}},PBt=t=>{const{componentCls:e,trackPadding:n,handleBg:o,handleShadow:i,handleSize:r,calc:a}=t,l=`${e}-handle`;return{[e]:{[l]:{position:"absolute",top:n,insetInlineStart:n,width:r,height:r,transition:`all ${t.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:o,borderRadius:a(r).div(2).equal(),boxShadow:i,transition:`all ${t.switchDuration} ease-in-out`,content:'""'}},[`&${e}-checked ${l}`]:{insetInlineStart:`calc(100% - ${Ut(a(r).add(n).equal())})`},[`&:not(${e}-disabled):active`]:{[`${l}::before`]:{insetInlineEnd:t.switchHandleActiveInset,insetInlineStart:0},[`&${e}-checked ${l}::before`]:{insetInlineEnd:0,insetInlineStart:t.switchHandleActiveInset}}}}},CBt=t=>{const{componentCls:e,trackHeight:n,trackPadding:o,innerMinMargin:i,innerMaxMargin:r,handleSize:a,calc:l}=t,s=`${e}-inner`,c=Ut(l(a).add(l(o).mul(2)).equal()),u=Ut(l(r).mul(2).equal());return{[e]:{[s]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:r,paddingInlineEnd:i,transition:`padding-inline-start ${t.switchDuration} ease-in-out, padding-inline-end ${t.switchDuration} ease-in-out`,[`${s}-checked, ${s}-unchecked`]:{display:"block",color:t.colorTextLightSolid,fontSize:t.fontSizeSM,transition:`margin-inline-start ${t.switchDuration} ease-in-out, margin-inline-end ${t.switchDuration} ease-in-out`,pointerEvents:"none",minHeight:n},[`${s}-checked`]:{marginInlineStart:`calc(-100% + ${c} - ${u})`,marginInlineEnd:`calc(100% - ${c} + ${u})`},[`${s}-unchecked`]:{marginTop:l(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`&${e}-checked ${s}`]:{paddingInlineStart:i,paddingInlineEnd:r,[`${s}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${s}-unchecked`]:{marginInlineStart:`calc(100% - ${c} + ${u})`,marginInlineEnd:`calc(-100% + ${c} - ${u})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${s}`]:{[`${s}-unchecked`]:{marginInlineStart:l(o).mul(2).equal(),marginInlineEnd:l(o).mul(-1).mul(2).equal()}},[`&${e}-checked ${s}`]:{[`${s}-checked`]:{marginInlineStart:l(o).mul(-1).mul(2).equal(),marginInlineEnd:l(o).mul(2).equal()}}}}}},RBt=t=>{const{componentCls:e,trackHeight:n,trackMinWidth:o}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:o,height:n,lineHeight:`${Ut(n)}`,verticalAlign:"middle",background:t.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${t.motionDurationMid}`,userSelect:"none",[`&:hover:not(${e}-disabled)`]:{background:t.colorTextTertiary}}),V6(t)),{[`&${e}-checked`]:{background:t.switchColor,[`&:hover:not(${e}-disabled)`]:{background:t.colorPrimaryHover}},[`&${e}-loading, &${e}-disabled`]:{cursor:"not-allowed",opacity:t.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${e}-rtl`]:{direction:"rtl"}})}},HBt=t=>{const{fontSize:e,lineHeight:n,controlHeight:o,colorWhite:i}=t,r=e*n,a=o/2,l=2,s=r-l*2,c=a-l*2;return{trackHeight:r,trackHeightSM:a,trackMinWidth:s*2+l*4,trackMinWidthSM:c*2+l*2,trackPadding:l,handleBg:i,handleSize:s,handleSizeSM:c,handleShadow:`0 2px 4px 0 ${new Il("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:s/2,innerMaxMargin:s+l+l*2,innerMinMarginSM:c/2,innerMaxMarginSM:c+l+l*2}},MBt=Fl("Switch",t=>{const e=Zr(t,{switchDuration:t.motionDurationMid,switchColor:t.colorPrimary,switchDisabledOpacity:t.opacityLoading,switchLoadingIconSize:t.calc(t.fontSizeIcon).mul(.75).equal(),switchLoadingIconColor:`rgba(0, 0, 0, ${t.opacityLoading})`,switchHandleActiveInset:"-30%"});return[RBt(e),CBt(e),PBt(e),TBt(e),SBt(e)]},HBt);var IBt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,size:o,disabled:i,loading:r,className:a,rootClassName:l,style:s,checked:c,value:u,defaultChecked:d,defaultValue:f,onChange:p}=t,g=IBt(t,["prefixCls","size","disabled","loading","className","rootClassName","style","checked","value","defaultChecked","defaultValue","onChange"]),[A,w]=_6(!1,{value:c??u,defaultValue:d??f}),{getPrefixCls:b,direction:C,switch:P}=m.useContext(Mi),v=m.useContext($p),T=(i??v)||r,y=b("switch",n),S=m.createElement("div",{className:`${y}-handle`},r&&m.createElement(HH,{className:`${y}-loading-icon`})),[x,R,H]=MBt(y),D=Rd(o),k=Gn(P==null?void 0:P.className,{[`${y}-small`]:D==="small",[`${y}-loading`]:r,[`${y}-rtl`]:C==="rtl"},a,l,R,H),W=Object.assign(Object.assign({},P==null?void 0:P.style),s),N=function(){w(arguments.length<=0?void 0:arguments[0]),p==null||p.apply(void 0,arguments)};return x(m.createElement(wW,{component:"Switch"},m.createElement(GXe,Object.assign({},g,{checked:A,onChange:N,prefixCls:y,className:k,style:W,disabled:T,ref:e,loadingIcon:S}))))}),wc=zBt;wc.__ANT_SWITCH=!0;var O4={},NW="rc-table-internal-hook";function Nme(t){var e=m.createContext(void 0),n=function(i){var r=i.value,a=i.children,l=m.useRef(r);l.current=r;var s=m.useState(function(){return{getValue:function(){return l.current},listeners:new Set}}),c=on(s,1),u=c[0];return Ba(function(){Td.unstable_batchedUpdates(function(){u.listeners.forEach(function(d){d(r)})})},[r]),m.createElement(e.Provider,{value:u},a)};return{Context:e,Provider:n,defaultValue:t}}function hh(t,e){var n=Ia(typeof e=="function"?e:function(d){if(e===void 0)return d;if(!Array.isArray(e))return d[e];var f={};return e.forEach(function(p){f[p]=d[p]}),f}),o=m.useContext(t==null?void 0:t.Context),i=o||{},r=i.listeners,a=i.getValue,l=m.useRef();l.current=n(o?a():t==null?void 0:t.defaultValue);var s=m.useState({}),c=on(s,2),u=c[1];return Ba(function(){if(!o)return;function d(f){var p=n(f);e7(l.current,p,!0)||u({})}return r.add(d),function(){r.delete(d)}},[o]),l.current}function DBt(){var t=m.createContext(null);function e(){return m.useContext(t)}function n(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{},f=m.useRef(0),p=m.useRef(c),g=e();return g!==null?m.createElement(i,so({},c,d)):((!r||r(p.current,c))&&(f.current+=1),p.current=c,m.createElement(t.Provider,{value:f.current},m.createElement(i,so({},c,d))))};return a?m.forwardRef(l):l}function o(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{};return e(),m.createElement(i,so({},c,d))};return a?m.memo(m.forwardRef(l),r):m.memo(l,r)}return{makeImmutable:n,responseImmutable:o,useImmutableMark:e}}var Ume=DBt(),XXe=Ume.makeImmutable,LH=Ume.responseImmutable,EBt=Ume.useImmutableMark,s1=Nme(),JXe=m.createContext({renderWithProps:!1}),kBt="RC_TABLE_KEY";function FBt(t){return t==null?[]:Array.isArray(t)?t:[t]}function N$(t){var e=[],n={};return t.forEach(function(o){for(var i=o||{},r=i.key,a=i.dataIndex,l=r||FBt(a).join("-")||kBt;n[l];)l="".concat(l,"_next");n[l]=!0,e.push(l)}),e}function V0e(t){return t!=null}function LBt(t){return t&&gr(t)==="object"&&!Array.isArray(t)&&!m.isValidElement(t)}function WBt(t,e,n,o,i,r){var a=m.useContext(JXe),l=EBt(),s=fW(function(){if(V0e(o))return[o];var c=e==null||e===""?[]:Array.isArray(e)?e:[e],u=hg(t,c),d=u,f=void 0;if(i){var p=i(u,t,n);LBt(p)?(d=p.children,f=p.props,a.renderWithProps=!0):d=p}return[d,f]},[l,t,o,e,i,n],function(c,u){if(r){var d=on(c,2),f=d[1],p=on(u,2),g=p[1];return r(g,f)}return a.renderWithProps?!0:!e7(c,u,!0)});return s}function NBt(t,e,n,o){var i=t+e-1;return t<=o&&i>=n}function UBt(t,e){return hh(s1,function(n){var o=NBt(t,e||1,n.hoverStartRow,n.hoverEndRow);return[o,n.onHover]})}var BBt=function(e){var n=e.ellipsis,o=e.rowType,i=e.children,r,a=n===!0?{showTitle:!0}:n;return a&&(a.showTitle||o==="header")&&(typeof i=="string"||typeof i=="number"?r=i.toString():m.isValidElement(i)&&typeof i.props.children=="string"&&(r=i.props.children)),r};function jBt(t){var e,n,o,i,r,a,l,s,c=t.component,u=t.children,d=t.ellipsis,f=t.scope,p=t.prefixCls,g=t.className,A=t.align,w=t.record,b=t.render,C=t.dataIndex,P=t.renderIndex,v=t.shouldCellUpdate,T=t.index,y=t.rowType,S=t.colSpan,x=t.rowSpan,R=t.fixLeft,H=t.fixRight,D=t.firstFixLeft,k=t.lastFixLeft,W=t.firstFixRight,N=t.lastFixRight,L=t.appendNode,E=t.additionalProps,U=E===void 0?{}:E,F=t.isSticky,B="".concat(p,"-cell"),_=hh(s1,["supportSticky","allColumnsFixedLeft","rowHoverable"]),Y=_.supportSticky,O=_.allColumnsFixedLeft,J=_.rowHoverable,Z=WBt(w,C,P,u,b,v),ie=on(Z,2),ee=ie[0],q=ie[1],ae={},ne=typeof R=="number"&&Y,se=typeof H=="number"&&Y;ne&&(ae.position="sticky",ae.left=R),se&&(ae.position="sticky",ae.right=H);var le=(e=(n=(o=q==null?void 0:q.colSpan)!==null&&o!==void 0?o:U.colSpan)!==null&&n!==void 0?n:S)!==null&&e!==void 0?e:1,te=(i=(r=(a=q==null?void 0:q.rowSpan)!==null&&a!==void 0?a:U.rowSpan)!==null&&r!==void 0?r:x)!==null&&i!==void 0?i:1,he=UBt(T,te),pe=on(he,2),fe=pe[0],$=pe[1],de=Ia(function(oe){var ge;w&&$(T,T+te-1),U==null||(ge=U.onMouseEnter)===null||ge===void 0||ge.call(U,oe)}),Se=Ia(function(oe){var ge;w&&$(-1,-1),U==null||(ge=U.onMouseLeave)===null||ge===void 0||ge.call(U,oe)});if(le===0||te===0)return null;var Ce=(l=U.title)!==null&&l!==void 0?l:BBt({rowType:y,ellipsis:d,children:ee}),ve=_n(B,g,(s={},_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(s,"".concat(B,"-fix-left"),ne&&Y),"".concat(B,"-fix-left-first"),D&&Y),"".concat(B,"-fix-left-last"),k&&Y),"".concat(B,"-fix-left-all"),k&&O&&Y),"".concat(B,"-fix-right"),se&&Y),"".concat(B,"-fix-right-first"),W&&Y),"".concat(B,"-fix-right-last"),N&&Y),"".concat(B,"-ellipsis"),d),"".concat(B,"-with-append"),L),"".concat(B,"-fix-sticky"),(ne||se)&&F&&Y),_t(s,"".concat(B,"-row-hover"),!q&&fe)),U.className,q==null?void 0:q.className),Ie={};A&&(Ie.textAlign=A);var ze=$t($t($t($t({},ae),U.style),Ie),q==null?void 0:q.style),ye=ee;return gr(ye)==="object"&&!Array.isArray(ye)&&!m.isValidElement(ye)&&(ye=null),d&&(k||W)&&(ye=m.createElement("span",{className:"".concat(B,"-content")},ye)),m.createElement(c,so({},q,U,{className:ve,style:ze,title:Ce,scope:f,onMouseEnter:J?de:void 0,onMouseLeave:J?Se:void 0,colSpan:le!==1?le:null,rowSpan:te!==1?te:null}),L,ye)}const kb=m.memo(jBt);function Bme(t,e,n,o,i){var r=n[t]||{},a=n[e]||{},l,s;r.fixed==="left"?l=o.left[i==="rtl"?e:t]:a.fixed==="right"&&(s=o.right[i==="rtl"?t:e]);var c=!1,u=!1,d=!1,f=!1,p=n[e+1],g=n[t-1],A=p&&!p.fixed||g&&!g.fixed||n.every(function(v){return v.fixed==="left"});if(i==="rtl"){if(l!==void 0){var w=g&&g.fixed==="left";f=!w&&A}else if(s!==void 0){var b=p&&p.fixed==="right";d=!b&&A}}else if(l!==void 0){var C=p&&p.fixed==="left";c=!C&&A}else if(s!==void 0){var P=g&&g.fixed==="right";u=!P&&A}return{fixLeft:l,fixRight:s,lastFixLeft:c,firstFixRight:u,lastFixRight:d,firstFixLeft:f,isSticky:o.isSticky}}var KXe=m.createContext({});function YBt(t){var e=t.className,n=t.index,o=t.children,i=t.colSpan,r=i===void 0?1:i,a=t.rowSpan,l=t.align,s=hh(s1,["prefixCls","direction"]),c=s.prefixCls,u=s.direction,d=m.useContext(KXe),f=d.scrollColumnIndex,p=d.stickyOffsets,g=d.flattenColumns,A=n+r-1,w=A+1===f?r+1:r,b=Bme(n,n+w-1,g,p,u);return m.createElement(kb,so({className:e,index:n,component:"td",prefixCls:c,record:null,dataIndex:null,align:l,colSpan:w,rowSpan:a,render:function(){return o}},b))}var OBt=["children"];function _Bt(t){var e=t.children,n=ir(t,OBt);return m.createElement("tr",n,e)}function U$(t){var e=t.children;return e}U$.Row=_Bt;U$.Cell=YBt;function VBt(t){var e=t.children,n=t.stickyOffsets,o=t.flattenColumns,i=hh(s1,"prefixCls"),r=o.length-1,a=o[r],l=m.useMemo(function(){return{stickyOffsets:n,flattenColumns:o,scrollColumnIndex:a!=null&&a.scrollbar?r:null}},[a,o,r,n]);return m.createElement(KXe.Provider,{value:l},m.createElement("tfoot",{className:"".concat(i,"-summary")},e))}const SY=LH(VBt);var qXe=U$;function GBt(t){return null}function XBt(t){return null}var $Xe=function(e){if(sp()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},JBt=function(e,n){if(!$Xe(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function KBt(t,e){return!Array.isArray(t)&&e!==void 0?JBt(t,e):$Xe(t)}function QXe(t,e,n,o,i,r,a){t.push({record:e,indent:n,index:a});var l=r(e),s=i==null?void 0:i.has(l);if(e&&Array.isArray(e[o])&&s)for(var c=0;c1?D-1:0),W=1;W=1?T:""),style:$t($t({},n),b==null?void 0:b.style)}),g.map(function(R,H){var D=R.render,k=R.dataIndex,W=R.className,N=nJe(f,R,H,s,i),L=N.key,E=N.fixedInfo,U=N.appendCellNode,F=N.additionalCellProps;return m.createElement(kb,so({className:W,ellipsis:R.ellipsis,align:R.align,scope:R.rowScope,component:R.rowScope?d:u,prefixCls:p,key:L,record:o,index:i,renderIndex:r,dataIndex:k,render:D,shouldCellUpdate:R.shouldCellUpdate},E,{appendNode:U,additionalProps:F}))})),S;if(P&&(v.current||C)){var x=w(o,i,s+1,C);S=m.createElement(tJe,{expanded:C,className:_n("".concat(p,"-expanded-row"),"".concat(p,"-expanded-row-level-").concat(s+1),T),prefixCls:p,component:c,cellComponent:u,colSpan:g.length,isEmpty:!1},x)}return m.createElement(m.Fragment,null,y,S)}const $Bt=LH(qBt);function QBt(t){var e=t.columnKey,n=t.onColumnResize,o=m.useRef();return m.useEffect(function(){o.current&&n(e,o.current.offsetWidth)},[]),m.createElement(bd,{data:e},m.createElement("td",{ref:o,style:{padding:0,border:0,height:0}},m.createElement("div",{style:{height:0,overflow:"hidden"}}," ")))}function ZBt(t){var e=t.prefixCls,n=t.columnsKey,o=t.onColumnResize;return m.createElement("tr",{"aria-hidden":"true",className:"".concat(e,"-measure-row"),style:{height:0,fontSize:0}},m.createElement(bd.Collection,{onBatchResize:function(r){r.forEach(function(a){var l=a.data,s=a.size;o(l,s.offsetWidth)})}},n.map(function(i){return m.createElement(QBt,{key:i,columnKey:i,onColumnResize:o})})))}function ejt(t){var e=t.data,n=t.measureColumnWidth,o=hh(s1,["prefixCls","getComponent","onColumnResize","flattenColumns","getRowKey","expandedKeys","childrenColumnName","emptyNode"]),i=o.prefixCls,r=o.getComponent,a=o.onColumnResize,l=o.flattenColumns,s=o.getRowKey,c=o.expandedKeys,u=o.childrenColumnName,d=o.emptyNode,f=ZXe(e,u,c,s),p=m.useRef({renderWithProps:!1}),g=r(["body","wrapper"],"tbody"),A=r(["body","row"],"tr"),w=r(["body","cell"],"td"),b=r(["body","cell"],"th"),C;e.length?C=f.map(function(v,T){var y=v.record,S=v.indent,x=v.index,R=s(y,T);return m.createElement($Bt,{key:R,rowKey:R,record:y,index:T,renderIndex:x,rowComponent:A,cellComponent:w,scopeCellComponent:b,getRowKey:s,indent:S})}):C=m.createElement(tJe,{expanded:!0,className:"".concat(i,"-placeholder"),prefixCls:i,component:A,cellComponent:w,colSpan:l.length,isEmpty:!0},d);var P=N$(l);return m.createElement(JXe.Provider,{value:p.current},m.createElement(g,{className:"".concat(i,"-tbody")},n&&m.createElement(ZBt,{prefixCls:i,columnsKey:P,onColumnResize:a}),C))}const tjt=LH(ejt);var njt=["expandable"],dE="RC_TABLE_INTERNAL_COL_DEFINE";function ojt(t){var e=t.expandable,n=ir(t,njt),o;return"expandable"in t?o=$t($t({},n),e):o=n,o.showExpandColumn===!1&&(o.expandIconColumnIndex=-1),o}var ijt=["columnType"];function oJe(t){for(var e=t.colWidths,n=t.columns,o=t.columCount,i=[],r=o||n.length,a=!1,l=r-1;l>=0;l-=1){var s=e[l],c=n&&n[l],u=c&&c[dE];if(s||u||a){var d=u||{};d.columnType;var f=ir(d,ijt);i.unshift(m.createElement("col",so({key:l,style:{width:s}},f))),a=!0}}return m.createElement("colgroup",null,i)}var rjt=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function ajt(t,e){return m.useMemo(function(){for(var n=[],o=0;o1?"colgroup":"col":null,ellipsis:w.ellipsis,align:w.align,component:a,prefixCls:u,key:p[A]},b,{additionalProps:C,rowType:"header"}))}))};function cjt(t){var e=[];function n(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;e[s]=e[s]||[];var c=l,u=a.filter(Boolean).map(function(d){var f={key:d.key,className:d.className||"",children:d.title,column:d,colStart:c},p=1,g=d.children;return g&&g.length>0&&(p=n(g,c,s+1).reduce(function(A,w){return A+w},0),f.hasSubColumns=!0),"colSpan"in d&&(p=d.colSpan),"rowSpan"in d&&(f.rowSpan=d.rowSpan),f.colSpan=p,f.colEnd=f.colStart+p-1,e[s].push(f),c+=p,p});return u}n(t,0);for(var o=e.length,i=function(l){e[l].forEach(function(s){!("rowSpan"in s)&&!s.hasSubColumns&&(s.rowSpan=o-l)})},r=0;r1&&arguments[1]!==void 0?arguments[1]:"";return typeof e=="number"?e:e.endsWith("%")?t*parseFloat(e)/100:null}function djt(t,e,n){return m.useMemo(function(){if(e&&e>0){var o=0,i=0;t.forEach(function(f){var p=mxe(e,f.width);p?o+=p:i+=1});var r=Math.max(e,n),a=Math.max(r-o,i),l=i,s=a/i,c=0,u=t.map(function(f){var p=$t({},f),g=mxe(e,p.width);if(g)p.width=g;else{var A=Math.floor(s);p.width=l===1?a:A,a-=A,l-=1}return c+=p.width,p});if(c0?$t($t({},e),{},{children:iJe(n)}):e})}function G0e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return t.filter(function(n){return n&&gr(n)==="object"}).reduce(function(n,o,i){var r=o.fixed,a=r===!0?"left":r,l="".concat(e,"-").concat(i),s=o.children;return s&&s.length>0?[].concat(Wo(n),Wo(G0e(s,l).map(function(c){return $t({fixed:a},c)}))):[].concat(Wo(n),[$t($t({key:l},o),{},{fixed:a})])},[])}function pjt(t){return t.map(function(e){var n=e.fixed,o=ir(e,hjt),i=n;return n==="left"?i="right":n==="right"&&(i="left"),$t({fixed:i},o)})}function gjt(t,e){var n=t.prefixCls,o=t.columns,i=t.children,r=t.expandable,a=t.expandedKeys,l=t.columnTitle,s=t.getRowKey,c=t.onTriggerExpand,u=t.expandIcon,d=t.rowExpandable,f=t.expandIconColumnIndex,p=t.direction,g=t.expandRowByClick,A=t.columnWidth,w=t.fixed,b=t.scrollWidth,C=t.clientWidth,P=m.useMemo(function(){var k=o||jme(i)||[];return iJe(k.slice())},[o,i]),v=m.useMemo(function(){if(r){var k=P.slice();if(!k.includes(O4)){var W=f||0;W>=0&&k.splice(W,0,O4)}var N=k.indexOf(O4);k=k.filter(function(F,B){return F!==O4||B===N});var L=P[N],E;(w==="left"||w)&&!f?E="left":(w==="right"||w)&&f===P.length?E="right":E=L?L.fixed:null;var U=_t(_t(_t(_t(_t(_t({},dE,{className:"".concat(n,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),"title",l),"fixed",E),"className","".concat(n,"-row-expand-icon-cell")),"width",A),"render",function(B,_,Y){var O=s(_,Y),J=a.has(O),Z=d?d(_):!0,ie=u({prefixCls:n,expanded:J,expandable:Z,record:_,onExpand:c});return g?m.createElement("span",{onClick:function(q){return q.stopPropagation()}},ie):ie});return k.map(function(F){return F===O4?U:F})}return P.filter(function(F){return F!==O4})},[r,P,s,a,u,p]),T=m.useMemo(function(){var k=v;return e&&(k=e(k)),k.length||(k=[{render:function(){return null}}]),k},[e,v,p]),y=m.useMemo(function(){return p==="rtl"?pjt(G0e(T)):G0e(T)},[T,p,b]),S=m.useMemo(function(){for(var k=-1,W=y.length-1;W>=0;W-=1){var N=y[W].fixed;if(N==="left"||N===!0){k=W;break}}if(k>=0)for(var L=0;L<=k;L+=1){var E=y[L].fixed;if(E!=="left"&&E!==!0)return!0}var U=y.findIndex(function(_){var Y=_.fixed;return Y==="right"});if(U>=0)for(var F=U;F=d&&(F=d-f),a({scrollLeft:F/d*(u+2)}),C.current.x=N.pageX},D=function(){S.current=za(function(){if(r.current){var N=ixe(r.current).top,L=N+r.current.offsetHeight,E=s===window?document.documentElement.scrollTop+window.innerHeight:ixe(s).top+s.clientHeight;L-r0e()<=E||N>=E-l?b(function(U){return $t($t({},U),{},{isHiddenScrollBar:!0})}):b(function(U){return $t($t({},U),{},{isHiddenScrollBar:!1})})}})},k=function(N){b(function(L){return $t($t({},L),{},{scrollLeft:N/u*d||0})})};return m.useImperativeHandle(n,function(){return{setScrollLeft:k,checkScrollBarVisible:D}}),m.useEffect(function(){var W=bY(document.body,"mouseup",x,!1),N=bY(document.body,"mousemove",H,!1);return D(),function(){W.remove(),N.remove()}},[f,T]),m.useEffect(function(){var W=bY(s,"scroll",D,!1),N=bY(window,"resize",D,!1);return function(){W.remove(),N.remove()}},[s]),m.useEffect(function(){w.isHiddenScrollBar||b(function(W){var N=r.current;return N?$t($t({},W),{},{scrollLeft:N.scrollLeft/N.scrollWidth*N.clientWidth}):W})},[w.isHiddenScrollBar]),u<=d||!f||w.isHiddenScrollBar?null:m.createElement("div",{style:{height:r0e(),width:d,bottom:l},className:"".concat(c,"-sticky-scroll")},m.createElement("div",{onMouseDown:R,ref:p,className:_n("".concat(c,"-sticky-scroll-bar"),_t({},"".concat(c,"-sticky-scroll-bar-active"),T)),style:{width:"".concat(f,"px"),transform:"translate3d(".concat(w.scrollLeft,"px, 0, 0)")}}))};const Pjt=m.forwardRef(Tjt);var aJe="rc-table",Cjt=[],Rjt={};function Hjt(){return"No Data"}function Mjt(t,e){var n=$t({rowKey:"key",prefixCls:aJe,emptyText:Hjt},t),o=n.prefixCls,i=n.className,r=n.rowClassName,a=n.style,l=n.data,s=n.rowKey,c=n.scroll,u=n.tableLayout,d=n.direction,f=n.title,p=n.footer,g=n.summary,A=n.caption,w=n.id,b=n.showHeader,C=n.components,P=n.emptyText,v=n.onRow,T=n.onHeaderRow,y=n.onScroll,S=n.internalHooks,x=n.transformColumns,R=n.internalRefs,H=n.tailor,D=n.getContainerWidth,k=n.sticky,W=n.rowHoverable,N=W===void 0?!0:W,L=l||Cjt,E=!!L.length,U=S===NW,F=m.useCallback(function(go,So){return hg(C,go)||So},[C]),B=m.useMemo(function(){return typeof s=="function"?s:function(go){var So=go&&go[s];return So}},[s]),_=F(["body"]),Y=xjt(),O=on(Y,3),J=O[0],Z=O[1],ie=O[2],ee=Ajt(n,L,B),q=on(ee,6),ae=q[0],ne=q[1],se=q[2],le=q[3],te=q[4],he=q[5],pe=c==null?void 0:c.x,fe=m.useState(0),$=on(fe,2),de=$[0],Se=$[1],Ce=gjt($t($t($t({},n),ae),{},{expandable:!!ae.expandedRowRender,columnTitle:ae.columnTitle,expandedKeys:se,getRowKey:B,onTriggerExpand:he,expandIcon:le,expandIconColumnIndex:ae.expandIconColumnIndex,direction:d,scrollWidth:U&&H&&typeof pe=="number"?pe:null,clientWidth:de}),U?x:null),ve=on(Ce,4),Ie=ve[0],ze=ve[1],ye=ve[2],oe=ve[3],ge=ye??pe,Ae=m.useMemo(function(){return{columns:Ie,flattenColumns:ze}},[Ie,ze]),me=m.useRef(),Pe=m.useRef(),Me=m.useRef(),Te=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:me.current,scrollTo:function(So){var Uo;if(Me.current instanceof HTMLElement){var _i=So.index,Qo=So.top,ar=So.key;if(Qo){var ur;(ur=Me.current)===null||ur===void 0||ur.scrollTo({top:Qo})}else{var $o,ba=ar??B(L[_i]);($o=Me.current.querySelector('[data-row-key="'.concat(ba,'"]')))===null||$o===void 0||$o.scrollIntoView()}}else(Uo=Me.current)!==null&&Uo!==void 0&&Uo.scrollTo&&Me.current.scrollTo(So)}}});var De=m.useRef(),Ue=m.useState(!1),Oe=on(Ue,2),Le=Oe[0],$e=Oe[1],We=m.useState(!1),Ee=on(We,2),Fe=Ee[0],Ge=Ee[1],rt=rJe(new Map),Ve=on(rt,2),xt=Ve[0],dt=Ve[1],Qe=N$(ze),ut=Qe.map(function(go){return xt.get(go)}),ft=m.useMemo(function(){return ut},[ut.join("_")]),at=Sjt(ft,ze,d),ot=c&&V0e(c.y),et=c&&V0e(ge)||!!ae.fixed,_e=et&&ze.some(function(go){var So=go.fixed;return So}),nt=m.useRef(),yt=bjt(k,o),Tt=yt.isSticky,Rt=yt.offsetHeader,Wt=yt.offsetSummary,Ct=yt.offsetScroll,At=yt.stickyClassName,Ft=yt.container,Ke=m.useMemo(function(){return g==null?void 0:g(L)},[g,L]),Je=(ot||Tt)&&m.isValidElement(Ke)&&Ke.type===U$&&Ke.props.fixed,ct,Pt,Ne;ot&&(Pt={overflowY:"scroll",maxHeight:c.y}),et&&(ct={overflowX:"auto"},ot||(Pt={overflowY:"hidden"}),Ne={width:ge===!0?"auto":ge,minWidth:"100%"});var lt=m.useCallback(function(go,So){w$(me.current)&&dt(function(Uo){if(Uo.get(go)!==So){var _i=new Map(Uo);return _i.set(go,So),_i}return Uo})},[]),Ye=vjt(),st=on(Ye,2),je=st[0],mt=st[1];function Ht(go,So){So&&(typeof So=="function"?So(go):So.scrollLeft!==go&&(So.scrollLeft=go,So.scrollLeft!==go&&setTimeout(function(){So.scrollLeft=go},0)))}var wt=Ia(function(go){var So=go.currentTarget,Uo=go.scrollLeft,_i=d==="rtl",Qo=typeof Uo=="number"?Uo:So.scrollLeft,ar=So||Rjt;if(!mt()||mt()===ar){var ur;je(ar),Ht(Qo,Pe.current),Ht(Qo,Me.current),Ht(Qo,De.current),Ht(Qo,(ur=nt.current)===null||ur===void 0?void 0:ur.setScrollLeft)}var $o=So||Pe.current;if($o){var ba=$o.scrollWidth,Mo=$o.clientWidth;if(ba===Mo){$e(!1),Ge(!1);return}_i?($e(-Qo0)):($e(Qo>0),Ge(Qo1?w-N:0,E=$t($t($t({},x),c),{},{flex:"0 0 ".concat(N,"px"),width:"".concat(N,"px"),marginRight:L,pointerEvents:"auto"}),U=m.useMemo(function(){return d?k<=1:H===0||k===0||k>1},[k,H,d]);U?E.visibility="hidden":d&&(E.height=f==null?void 0:f(k));var F=U?function(){return null}:p,B={};return(k===0||H===0)&&(B.rowSpan=1,B.colSpan=1),m.createElement(kb,so({className:_n(A,u),ellipsis:n.ellipsis,align:n.align,scope:n.rowScope,component:a,prefixCls:e.prefixCls,key:v,record:s,index:r,renderIndex:l,dataIndex:g,render:F,shouldCellUpdate:n.shouldCellUpdate},T,{appendNode:y,additionalProps:$t($t({},S),{},{style:E},B)}))}var Ejt=["data","index","className","rowKey","style","extra","getHeight"],kjt=m.forwardRef(function(t,e){var n=t.data,o=t.index,i=t.className,r=t.rowKey,a=t.style,l=t.extra,s=t.getHeight,c=ir(t,Ejt),u=n.record,d=n.indent,f=n.index,p=hh(s1,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),g=p.scrollX,A=p.flattenColumns,w=p.prefixCls,b=p.fixColumn,C=p.componentWidth,P=hh(Yme,["getComponent"]),v=P.getComponent,T=eJe(u,r,o,d),y=v(["body","row"],"div"),S=v(["body","cell"],"div"),x=T.rowSupportExpand,R=T.expanded,H=T.rowProps,D=T.expandedRowRender,k=T.expandedRowClassName,W;if(x&&R){var N=D(u,o,d+1,R),L=k==null?void 0:k(u,o,d),E={};b&&(E={style:_t({},"--virtual-width","".concat(C,"px"))});var U="".concat(w,"-expanded-row-cell");W=m.createElement(y,{className:_n("".concat(w,"-expanded-row"),"".concat(w,"-expanded-row-level-").concat(d+1),L)},m.createElement(kb,{component:S,prefixCls:w,className:_n(U,_t({},"".concat(U,"-fixed"),b)),additionalProps:E},N))}var F=$t($t({},a),{},{width:g});l&&(F.position="absolute",F.pointerEvents="none");var B=m.createElement(y,so({},H,c,{"data-row-key":r,ref:x?null:e,className:_n(i,"".concat(w,"-row"),H==null?void 0:H.className,_t({},"".concat(w,"-row-extra"),l)),style:$t($t({},F),H==null?void 0:H.style)}),A.map(function(_,Y){return m.createElement(Djt,{key:Y,component:S,rowInfo:T,column:_,colIndex:Y,indent:d,index:o,renderIndex:f,record:u,inverse:l,getHeight:s})}));return x?m.createElement("div",{ref:e},B,W):B}),wxe=LH(kjt),Fjt=m.forwardRef(function(t,e){var n=t.data,o=t.onScroll,i=hh(s1,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),r=i.flattenColumns,a=i.onColumnResize,l=i.getRowKey,s=i.expandedKeys,c=i.prefixCls,u=i.childrenColumnName,d=i.emptyNode,f=i.scrollX,p=hh(Yme),g=p.sticky,A=p.scrollY,w=p.listItemHeight,b=p.getComponent,C=p.onScroll,P=m.useRef(),v=ZXe(n,u,s,l),T=m.useMemo(function(){var E=0;return r.map(function(U){var F=U.width,B=U.key;return E+=F,[B,F,E]})},[r]),y=m.useMemo(function(){return T.map(function(E){return E[2]})},[T]);m.useEffect(function(){T.forEach(function(E){var U=on(E,2),F=U[0],B=U[1];a(F,B)})},[T]),m.useImperativeHandle(e,function(){var E={scrollTo:function(F){var B;(B=P.current)===null||B===void 0||B.scrollTo(F)}};return Object.defineProperty(E,"scrollLeft",{get:function(){var F;return((F=P.current)===null||F===void 0?void 0:F.getScrollInfo().x)||0},set:function(F){var B;(B=P.current)===null||B===void 0||B.scrollTo({left:F})}}),E});var S=function(U,F){var B,_=(B=v[F])===null||B===void 0?void 0:B.record,Y=U.onCell;if(Y){var O,J=Y(_,F);return(O=J==null?void 0:J.rowSpan)!==null&&O!==void 0?O:1}return 1},x=function(U){var F=U.start,B=U.end,_=U.getSize,Y=U.offsetY;if(B<0)return null;for(var O=r.filter(function(pe){return S(pe,F)===0}),J=F,Z=function(fe){if(O=O.filter(function($){return S($,fe)===0}),!O.length)return J=fe,1},ie=F;ie>=0&&!Z(ie);ie-=1);for(var ee=r.filter(function(pe){return S(pe,B)!==1}),q=B,ae=function(fe){if(ee=ee.filter(function($){return S($,fe)!==1}),!ee.length)return q=Math.max(fe-1,B),1},ne=B;ne1})&&se.push(fe)},te=J;te<=q;te+=1)le(te);var he=se.map(function(pe){var fe=v[pe],$=l(fe.record,pe),de=function(ve){var Ie=pe+ve-1,ze=l(v[Ie].record,Ie),ye=_($,ze);return ye.bottom-ye.top},Se=_($);return m.createElement(wxe,{key:pe,data:fe,rowKey:$,index:pe,style:{top:-Y+Se.top},extra:!0,getHeight:de})});return he},R=m.useMemo(function(){return{columnsOffset:y}},[y]),H="".concat(c,"-tbody"),D=b(["body","wrapper"]),k=b(["body","row"],"div"),W=b(["body","cell"],"div"),N;if(v.length){var L={};g&&(L.position="sticky",L.bottom=0,gr(g)==="object"&&g.offsetScroll&&(L.bottom=g.offsetScroll)),N=m.createElement(v$,{fullHeight:!1,ref:P,prefixCls:"".concat(H,"-virtual"),styles:{horizontalScrollBar:L},className:H,height:A,itemHeight:w||24,data:v,itemKey:function(U){return l(U.record)},component:D,scrollWidth:f,onVirtualScroll:function(U){var F=U.x;o({scrollLeft:F})},onScroll:C,extraRender:x},function(E,U,F){var B=l(E.record,U);return m.createElement(wxe,so({data:E,rowKey:B,index:U},F))})}else N=m.createElement(k,{className:_n("".concat(c,"-placeholder"))},m.createElement(kb,{component:W,prefixCls:c},d));return m.createElement(sJe.Provider,{value:R},N)}),Ljt=LH(Fjt),Wjt=function(e,n){var o=n.ref,i=n.onScroll;return m.createElement(Ljt,{ref:o,data:e,onScroll:i})};function Njt(t,e){var n=t.columns,o=t.scroll,i=t.sticky,r=t.prefixCls,a=r===void 0?aJe:r,l=t.className,s=t.listItemHeight,c=t.components,u=t.onScroll,d=o||{},f=d.x,p=d.y;typeof f!="number"&&(f=1),typeof p!="number"&&(p=500);var g=Ia(function(b,C){return hg(c,b)||C}),A=Ia(u),w=m.useMemo(function(){return{sticky:i,scrollY:p,listItemHeight:s,getComponent:g,onScroll:A}},[i,p,s,g,A]);return m.createElement(Yme.Provider,{value:w},m.createElement(WH,so({},t,{className:_n(l,"".concat(a,"-virtual")),scroll:$t($t({},o),{},{x:f}),components:$t($t({},c),{},{body:Wjt}),columns:n,internalHooks:NW,tailor:!0,ref:e})))}var Ujt=m.forwardRef(Njt);function cJe(t){return XXe(Ujt,t)}cJe();function Bjt(t){return null}function jjt(t){return null}function X0e(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function B$(t,e){if(t==null)return{};var n=Vjt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var J0e={},Gjt=function(e){};function Xjt(t,e){}function Jjt(t,e){}function Kjt(){J0e={}}function dJe(t,e,n){!e&&!J0e[n]&&(t(!1,n),J0e[n]=!0)}function m2(t,e){dJe(Xjt,t,e)}function qjt(t,e){dJe(Jjt,t,e)}m2.preMessage=Gjt;m2.resetWarned=Kjt;m2.noteOnce=qjt;function $jt(t,e){if(q6(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(q6(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function fJe(t){var e=$jt(t,"string");return q6(e)==="symbol"?e:String(e)}function jo(t,e,n){return e=fJe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function vxe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Ru(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zjt(t,e){if(e&&(q6(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yi(t)}function mJe(t){var e=Qjt();return function(){var o=zG(t),i;if(e){var r=zG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return Zjt(this,i)}}var yJe={exports:{}};/*! + `]:{cursor:"not-allowed !important"}},[`&-tooltip ${n}-tooltip-inner`]:{minWidth:"unset"}})}},OXe=(t,e)=>{const{componentCls:n,railSize:o,handleSize:i,dotSize:r,marginFull:a,calc:l}=t,s=e?"paddingBlock":"paddingInline",c=e?"width":"height",u=e?"height":"width",d=e?"insetBlockStart":"insetInlineStart",f=e?"top":"insetInlineStart",p=l(o).mul(3).sub(i).div(2).equal(),g=l(i).sub(o).div(2).equal(),A=e?{borderWidth:`${Ut(g)} 0`,transform:`translateY(${Ut(l(g).mul(-1).equal())})`}:{borderWidth:`0 ${Ut(g)}`,transform:`translateX(${Ut(t.calc(g).mul(-1).equal())})`};return{[s]:o,[u]:l(o).mul(3).equal(),[`${n}-rail`]:{[c]:"100%",[u]:o},[`${n}-track,${n}-tracks`]:{[u]:o},[`${n}-track-draggable`]:Object.assign({},A),[`${n}-handle`]:{[d]:p},[`${n}-mark`]:{insetInlineStart:0,top:0,[f]:l(o).mul(3).add(e?0:a).equal(),[c]:"100%"},[`${n}-step`]:{insetInlineStart:0,top:0,[f]:o,[c]:"100%",[u]:o},[`${n}-dot`]:{position:"absolute",[d]:l(o).sub(r).div(2).equal()}}},pBt=t=>{const{componentCls:e,marginPartWithMark:n}=t;return{[`${e}-horizontal`]:Object.assign(Object.assign({},OXe(t,!0)),{[`&${e}-with-marks`]:{marginBottom:n}})}},gBt=t=>{const{componentCls:e}=t;return{[`${e}-vertical`]:Object.assign(Object.assign({},OXe(t,!1)),{height:"100%"})}},mBt=t=>{const n=t.controlHeightLG/4,o=t.controlHeightSM/2,i=t.lineWidth+1,r=t.lineWidth+1*3;return{controlSize:n,railSize:4,handleSize:n,handleSizeHover:o,dotSize:8,handleLineWidth:i,handleLineWidthHover:r,railBg:t.colorFillTertiary,railHoverBg:t.colorFillSecondary,trackBg:t.colorPrimaryBorder,trackHoverBg:t.colorPrimaryBorderHover,handleColor:t.colorPrimaryBorder,handleActiveColor:t.colorPrimary,handleColorDisabled:new Il(t.colorTextDisabled).onBackground(t.colorBgContainer).toHexShortString(),dotBorderColor:t.colorBorderSecondary,dotActiveBorderColor:t.colorPrimaryBorder,trackBgDisabled:t.colorBgContainerDisabled}},yBt=Fl("Slider",t=>{const e=Zr(t,{marginPart:t.calc(t.controlHeight).sub(t.controlSize).div(2).equal(),marginFull:t.calc(t.controlSize).div(2).equal(),marginPartWithMark:t.calc(t.controlHeightLG).sub(t.controlSize).equal()});return[hBt(e),pBt(e),gBt(e)]},mBt);function Vie(){const[t,e]=m.useState(!1),n=m.useRef(),o=()=>{Rg.cancel(n.current)},i=r=>{o(),r?e(r):n.current=Rg(()=>{e(r)})};return m.useEffect(()=>o,[]),[t,i]}var ABt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);itypeof n=="number"?n.toString():""}const Mu=be.forwardRef((t,e)=>{const{prefixCls:n,range:o,className:i,rootClassName:r,style:a,disabled:l,tooltipPrefixCls:s,tipFormatter:c,tooltipVisible:u,getTooltipPopupContainer:d,tooltipPlacement:f,tooltip:p={},onChangeComplete:g}=t,A=ABt(t,["prefixCls","range","className","rootClassName","style","disabled","tooltipPrefixCls","tipFormatter","tooltipVisible","getTooltipPopupContainer","tooltipPlacement","tooltip","onChangeComplete"]),{vertical:w}=t,{direction:b,slider:C,getPrefixCls:P,getPopupContainer:v}=be.useContext(Mi),T=be.useContext($p),y=l??T,[S,x]=Vie(),[R,H]=Vie(),D=Object.assign({},p),{open:k,placement:W,getPopupContainer:N,prefixCls:L,formatter:E}=D,U=k??u,F=(S||R)&&U!==!1,B=wBt(E,c),[_,Y]=Vie(),O=fe=>{g==null||g(fe),Y(!1)},J=(fe,$)=>fe||($?b==="rtl"?"left":"right":"top"),Z=P("slider",n),[ie,ee,q]=yBt(Z),ae=Gn(i,C==null?void 0:C.className,r,{[`${Z}-rtl`]:b==="rtl",[`${Z}-lock`]:_},ee,q);b==="rtl"&&!A.vertical&&(A.reverse=!A.reverse);const[ne,se]=be.useMemo(()=>o?typeof o=="object"?[!0,o.draggableTrack]:[!0,!1]:[!1],[o]);be.useEffect(()=>{const fe=()=>{Rg(()=>{H(!1)},1)};return document.addEventListener("mouseup",fe),()=>{document.removeEventListener("mouseup",fe)}},[]);const le=ne&&!U,te=(fe,$)=>{const{index:de}=$,Se=fe.props,Ce=Object.assign(Object.assign({},Se),{onMouseEnter:ze=>{var ye;x(!0),(ye=Se.onMouseEnter)===null||ye===void 0||ye.call(Se,ze)},onMouseLeave:ze=>{var ye;x(!1),(ye=Se.onMouseLeave)===null||ye===void 0||ye.call(Se,ze)},onMouseDown:ze=>{var ye;H(!0),Y(!0),(ye=Se.onMouseDown)===null||ye===void 0||ye.call(Se,ze)},onFocus:ze=>{var ye,oe;H(!0),(ye=A.onFocus)===null||ye===void 0||ye.call(A,ze),(oe=Se.onFocus)===null||oe===void 0||oe.call(Se,ze)},onBlur:ze=>{var ye,oe;H(!1),(ye=A.onBlur)===null||ye===void 0||ye.call(A,ze),(oe=Se.onBlur)===null||oe===void 0||oe.call(Se,ze)}}),ve=be.cloneElement(fe,Ce),Ie=(!!U||F)&&B!==null;return le?ve:be.createElement(hxe,Object.assign({},D,{prefixCls:P("tooltip",L??s),title:B?B($.value):"",open:Ie,placement:J(W??f,w),key:de,overlayClassName:`${Z}-tooltip`,getPopupContainer:N||d||v}),ve)},he=le?(fe,$)=>{const de=be.cloneElement(fe,{style:Object.assign(Object.assign({},fe.props.style),{visibility:"hidden"})});return be.createElement(hxe,Object.assign({},D,{prefixCls:P("tooltip",L??s),title:B?B($.value):"",open:B!==null&&F,placement:J(W??f,w),key:"tooltip",overlayClassName:`${Z}-tooltip`,getPopupContainer:N||d||v}),de)}:void 0,pe=Object.assign(Object.assign({},C==null?void 0:C.style),a);return ie(be.createElement(fBt,Object.assign({},A,{step:A.step,range:ne,draggableTrack:se,className:ae,style:pe,disabled:y,ref:e,prefixCls:Z,handleRender:te,activeHandleRender:he,onChangeComplete:O})))});var vBt=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],_Xe=m.forwardRef(function(t,e){var n,o=t.prefixCls,i=o===void 0?"rc-switch":o,r=t.className,a=t.checked,l=t.defaultChecked,s=t.disabled,c=t.loadingIcon,u=t.checkedChildren,d=t.unCheckedChildren,f=t.onClick,p=t.onChange,g=t.onKeyDown,A=ir(t,vBt),w=Rs(!1,{value:a,defaultValue:l}),b=on(w,2),C=b[0],P=b[1];function v(x,R){var H=C;return s||(H=x,P(H),p==null||p(H,R)),H}function T(x){x.which===Bn.LEFT?v(!1,x):x.which===Bn.RIGHT&&v(!0,x),g==null||g(x)}function y(x){var R=v(!C,x);f==null||f(R,x)}var S=_n(i,r,(n={},_t(n,"".concat(i,"-checked"),C),_t(n,"".concat(i,"-disabled"),s),n));return m.createElement("button",so({},A,{type:"button",role:"switch","aria-checked":C,disabled:s,className:S,ref:e,onKeyDown:T,onClick:y}),c,m.createElement("span",{className:"".concat(i,"-inner")},m.createElement("span",{className:"".concat(i,"-inner-checked")},u),m.createElement("span",{className:"".concat(i,"-inner-unchecked")},d)))});_Xe.displayName="Switch";const xBt=t=>{const{componentCls:e,trackHeightSM:n,trackPadding:o,trackMinWidthSM:i,innerMinMarginSM:r,innerMaxMarginSM:a,handleSizeSM:l,calc:s}=t,c=`${e}-inner`,u=Ut(s(l).add(s(o).mul(2)).equal()),d=Ut(s(a).mul(2).equal());return{[e]:{[`&${e}-small`]:{minWidth:i,height:n,lineHeight:Ut(n),[`${e}-inner`]:{paddingInlineStart:a,paddingInlineEnd:r,[`${c}-checked, ${c}-unchecked`]:{minHeight:n},[`${c}-checked`]:{marginInlineStart:`calc(-100% + ${u} - ${d})`,marginInlineEnd:`calc(100% - ${u} + ${d})`},[`${c}-unchecked`]:{marginTop:s(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`${e}-handle`]:{width:l,height:l},[`${e}-loading-icon`]:{top:s(s(l).sub(t.switchLoadingIconSize)).div(2).equal(),fontSize:t.switchLoadingIconSize},[`&${e}-checked`]:{[`${e}-inner`]:{paddingInlineStart:r,paddingInlineEnd:a,[`${c}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${c}-unchecked`]:{marginInlineStart:`calc(100% - ${u} + ${d})`,marginInlineEnd:`calc(-100% + ${u} - ${d})`}},[`${e}-handle`]:{insetInlineStart:`calc(100% - ${Ut(s(l).add(o).equal())})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${c}`]:{[`${c}-unchecked`]:{marginInlineStart:s(t.marginXXS).div(2).equal(),marginInlineEnd:s(t.marginXXS).mul(-1).div(2).equal()}},[`&${e}-checked ${c}`]:{[`${c}-checked`]:{marginInlineStart:s(t.marginXXS).mul(-1).div(2).equal(),marginInlineEnd:s(t.marginXXS).div(2).equal()}}}}}}},bBt=t=>{const{componentCls:e,handleSize:n,calc:o}=t;return{[e]:{[`${e}-loading-icon${t.iconCls}`]:{position:"relative",top:o(o(n).sub(t.fontSize)).div(2).equal(),color:t.switchLoadingIconColor,verticalAlign:"top"},[`&${e}-checked ${e}-loading-icon`]:{color:t.switchColor}}}},SBt=t=>{const{componentCls:e,trackPadding:n,handleBg:o,handleShadow:i,handleSize:r,calc:a}=t,l=`${e}-handle`;return{[e]:{[l]:{position:"absolute",top:n,insetInlineStart:n,width:r,height:r,transition:`all ${t.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:o,borderRadius:a(r).div(2).equal(),boxShadow:i,transition:`all ${t.switchDuration} ease-in-out`,content:'""'}},[`&${e}-checked ${l}`]:{insetInlineStart:`calc(100% - ${Ut(a(r).add(n).equal())})`},[`&:not(${e}-disabled):active`]:{[`${l}::before`]:{insetInlineEnd:t.switchHandleActiveInset,insetInlineStart:0},[`&${e}-checked ${l}::before`]:{insetInlineEnd:0,insetInlineStart:t.switchHandleActiveInset}}}}},TBt=t=>{const{componentCls:e,trackHeight:n,trackPadding:o,innerMinMargin:i,innerMaxMargin:r,handleSize:a,calc:l}=t,s=`${e}-inner`,c=Ut(l(a).add(l(o).mul(2)).equal()),u=Ut(l(r).mul(2).equal());return{[e]:{[s]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:r,paddingInlineEnd:i,transition:`padding-inline-start ${t.switchDuration} ease-in-out, padding-inline-end ${t.switchDuration} ease-in-out`,[`${s}-checked, ${s}-unchecked`]:{display:"block",color:t.colorTextLightSolid,fontSize:t.fontSizeSM,transition:`margin-inline-start ${t.switchDuration} ease-in-out, margin-inline-end ${t.switchDuration} ease-in-out`,pointerEvents:"none",minHeight:n},[`${s}-checked`]:{marginInlineStart:`calc(-100% + ${c} - ${u})`,marginInlineEnd:`calc(100% - ${c} + ${u})`},[`${s}-unchecked`]:{marginTop:l(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`&${e}-checked ${s}`]:{paddingInlineStart:i,paddingInlineEnd:r,[`${s}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${s}-unchecked`]:{marginInlineStart:`calc(100% - ${c} + ${u})`,marginInlineEnd:`calc(-100% + ${c} - ${u})`}},[`&:not(${e}-disabled):active`]:{[`&:not(${e}-checked) ${s}`]:{[`${s}-unchecked`]:{marginInlineStart:l(o).mul(2).equal(),marginInlineEnd:l(o).mul(-1).mul(2).equal()}},[`&${e}-checked ${s}`]:{[`${s}-checked`]:{marginInlineStart:l(o).mul(-1).mul(2).equal(),marginInlineEnd:l(o).mul(2).equal()}}}}}},PBt=t=>{const{componentCls:e,trackHeight:n,trackMinWidth:o}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign({},$a(t)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:o,height:n,lineHeight:`${Ut(n)}`,verticalAlign:"middle",background:t.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${t.motionDurationMid}`,userSelect:"none",[`&:hover:not(${e}-disabled)`]:{background:t.colorTextTertiary}}),V6(t)),{[`&${e}-checked`]:{background:t.switchColor,[`&:hover:not(${e}-disabled)`]:{background:t.colorPrimaryHover}},[`&${e}-loading, &${e}-disabled`]:{cursor:"not-allowed",opacity:t.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${e}-rtl`]:{direction:"rtl"}})}},CBt=t=>{const{fontSize:e,lineHeight:n,controlHeight:o,colorWhite:i}=t,r=e*n,a=o/2,l=2,s=r-l*2,c=a-l*2;return{trackHeight:r,trackHeightSM:a,trackMinWidth:s*2+l*4,trackMinWidthSM:c*2+l*2,trackPadding:l,handleBg:i,handleSize:s,handleSizeSM:c,handleShadow:`0 2px 4px 0 ${new Il("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:s/2,innerMaxMargin:s+l+l*2,innerMinMarginSM:c/2,innerMaxMarginSM:c+l+l*2}},RBt=Fl("Switch",t=>{const e=Zr(t,{switchDuration:t.motionDurationMid,switchColor:t.colorPrimary,switchDisabledOpacity:t.opacityLoading,switchLoadingIconSize:t.calc(t.fontSizeIcon).mul(.75).equal(),switchLoadingIconColor:`rgba(0, 0, 0, ${t.opacityLoading})`,switchHandleActiveInset:"-30%"});return[PBt(e),TBt(e),SBt(e),bBt(e),xBt(e)]},CBt);var HBt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,size:o,disabled:i,loading:r,className:a,rootClassName:l,style:s,checked:c,value:u,defaultChecked:d,defaultValue:f,onChange:p}=t,g=HBt(t,["prefixCls","size","disabled","loading","className","rootClassName","style","checked","value","defaultChecked","defaultValue","onChange"]),[A,w]=_6(!1,{value:c??u,defaultValue:d??f}),{getPrefixCls:b,direction:C,switch:P}=m.useContext(Mi),v=m.useContext($p),T=(i??v)||r,y=b("switch",n),S=m.createElement("div",{className:`${y}-handle`},r&&m.createElement(HH,{className:`${y}-loading-icon`})),[x,R,H]=RBt(y),D=Rd(o),k=Gn(P==null?void 0:P.className,{[`${y}-small`]:D==="small",[`${y}-loading`]:r,[`${y}-rtl`]:C==="rtl"},a,l,R,H),W=Object.assign(Object.assign({},P==null?void 0:P.style),s),N=function(){w(arguments.length<=0?void 0:arguments[0]),p==null||p.apply(void 0,arguments)};return x(m.createElement(wW,{component:"Switch"},m.createElement(_Xe,Object.assign({},g,{checked:A,onChange:N,prefixCls:y,className:k,style:W,disabled:T,ref:e,loadingIcon:S}))))}),wc=MBt;wc.__ANT_SWITCH=!0;var O4={},NW="rc-table-internal-hook";function Nme(t){var e=m.createContext(void 0),n=function(i){var r=i.value,a=i.children,l=m.useRef(r);l.current=r;var s=m.useState(function(){return{getValue:function(){return l.current},listeners:new Set}}),c=on(s,1),u=c[0];return Ba(function(){Td.unstable_batchedUpdates(function(){u.listeners.forEach(function(d){d(r)})})},[r]),m.createElement(e.Provider,{value:u},a)};return{Context:e,Provider:n,defaultValue:t}}function hh(t,e){var n=Ia(typeof e=="function"?e:function(d){if(e===void 0)return d;if(!Array.isArray(e))return d[e];var f={};return e.forEach(function(p){f[p]=d[p]}),f}),o=m.useContext(t==null?void 0:t.Context),i=o||{},r=i.listeners,a=i.getValue,l=m.useRef();l.current=n(o?a():t==null?void 0:t.defaultValue);var s=m.useState({}),c=on(s,2),u=c[1];return Ba(function(){if(!o)return;function d(f){var p=n(f);e7(l.current,p,!0)||u({})}return r.add(d),function(){r.delete(d)}},[o]),l.current}function IBt(){var t=m.createContext(null);function e(){return m.useContext(t)}function n(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{},f=m.useRef(0),p=m.useRef(c),g=e();return g!==null?m.createElement(i,so({},c,d)):((!r||r(p.current,c))&&(f.current+=1),p.current=c,m.createElement(t.Provider,{value:f.current},m.createElement(i,so({},c,d))))};return a?m.forwardRef(l):l}function o(i,r){var a=Zw(i),l=function(c,u){var d=a?{ref:u}:{};return e(),m.createElement(i,so({},c,d))};return a?m.memo(m.forwardRef(l),r):m.memo(l,r)}return{makeImmutable:n,responseImmutable:o,useImmutableMark:e}}var Ume=IBt(),VXe=Ume.makeImmutable,LH=Ume.responseImmutable,zBt=Ume.useImmutableMark,s1=Nme(),GXe=m.createContext({renderWithProps:!1}),DBt="RC_TABLE_KEY";function EBt(t){return t==null?[]:Array.isArray(t)?t:[t]}function N$(t){var e=[],n={};return t.forEach(function(o){for(var i=o||{},r=i.key,a=i.dataIndex,l=r||EBt(a).join("-")||DBt;n[l];)l="".concat(l,"_next");n[l]=!0,e.push(l)}),e}function V0e(t){return t!=null}function kBt(t){return t&&gr(t)==="object"&&!Array.isArray(t)&&!m.isValidElement(t)}function FBt(t,e,n,o,i,r){var a=m.useContext(GXe),l=zBt(),s=fW(function(){if(V0e(o))return[o];var c=e==null||e===""?[]:Array.isArray(e)?e:[e],u=hg(t,c),d=u,f=void 0;if(i){var p=i(u,t,n);kBt(p)?(d=p.children,f=p.props,a.renderWithProps=!0):d=p}return[d,f]},[l,t,o,e,i,n],function(c,u){if(r){var d=on(c,2),f=d[1],p=on(u,2),g=p[1];return r(g,f)}return a.renderWithProps?!0:!e7(c,u,!0)});return s}function LBt(t,e,n,o){var i=t+e-1;return t<=o&&i>=n}function WBt(t,e){return hh(s1,function(n){var o=LBt(t,e||1,n.hoverStartRow,n.hoverEndRow);return[o,n.onHover]})}var NBt=function(e){var n=e.ellipsis,o=e.rowType,i=e.children,r,a=n===!0?{showTitle:!0}:n;return a&&(a.showTitle||o==="header")&&(typeof i=="string"||typeof i=="number"?r=i.toString():m.isValidElement(i)&&typeof i.props.children=="string"&&(r=i.props.children)),r};function UBt(t){var e,n,o,i,r,a,l,s,c=t.component,u=t.children,d=t.ellipsis,f=t.scope,p=t.prefixCls,g=t.className,A=t.align,w=t.record,b=t.render,C=t.dataIndex,P=t.renderIndex,v=t.shouldCellUpdate,T=t.index,y=t.rowType,S=t.colSpan,x=t.rowSpan,R=t.fixLeft,H=t.fixRight,D=t.firstFixLeft,k=t.lastFixLeft,W=t.firstFixRight,N=t.lastFixRight,L=t.appendNode,E=t.additionalProps,U=E===void 0?{}:E,F=t.isSticky,B="".concat(p,"-cell"),_=hh(s1,["supportSticky","allColumnsFixedLeft","rowHoverable"]),Y=_.supportSticky,O=_.allColumnsFixedLeft,J=_.rowHoverable,Z=FBt(w,C,P,u,b,v),ie=on(Z,2),ee=ie[0],q=ie[1],ae={},ne=typeof R=="number"&&Y,se=typeof H=="number"&&Y;ne&&(ae.position="sticky",ae.left=R),se&&(ae.position="sticky",ae.right=H);var le=(e=(n=(o=q==null?void 0:q.colSpan)!==null&&o!==void 0?o:U.colSpan)!==null&&n!==void 0?n:S)!==null&&e!==void 0?e:1,te=(i=(r=(a=q==null?void 0:q.rowSpan)!==null&&a!==void 0?a:U.rowSpan)!==null&&r!==void 0?r:x)!==null&&i!==void 0?i:1,he=WBt(T,te),pe=on(he,2),fe=pe[0],$=pe[1],de=Ia(function(oe){var ge;w&&$(T,T+te-1),U==null||(ge=U.onMouseEnter)===null||ge===void 0||ge.call(U,oe)}),Se=Ia(function(oe){var ge;w&&$(-1,-1),U==null||(ge=U.onMouseLeave)===null||ge===void 0||ge.call(U,oe)});if(le===0||te===0)return null;var Ce=(l=U.title)!==null&&l!==void 0?l:NBt({rowType:y,ellipsis:d,children:ee}),ve=_n(B,g,(s={},_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(s,"".concat(B,"-fix-left"),ne&&Y),"".concat(B,"-fix-left-first"),D&&Y),"".concat(B,"-fix-left-last"),k&&Y),"".concat(B,"-fix-left-all"),k&&O&&Y),"".concat(B,"-fix-right"),se&&Y),"".concat(B,"-fix-right-first"),W&&Y),"".concat(B,"-fix-right-last"),N&&Y),"".concat(B,"-ellipsis"),d),"".concat(B,"-with-append"),L),"".concat(B,"-fix-sticky"),(ne||se)&&F&&Y),_t(s,"".concat(B,"-row-hover"),!q&&fe)),U.className,q==null?void 0:q.className),Ie={};A&&(Ie.textAlign=A);var ze=$t($t($t($t({},ae),U.style),Ie),q==null?void 0:q.style),ye=ee;return gr(ye)==="object"&&!Array.isArray(ye)&&!m.isValidElement(ye)&&(ye=null),d&&(k||W)&&(ye=m.createElement("span",{className:"".concat(B,"-content")},ye)),m.createElement(c,so({},q,U,{className:ve,style:ze,title:Ce,scope:f,onMouseEnter:J?de:void 0,onMouseLeave:J?Se:void 0,colSpan:le!==1?le:null,rowSpan:te!==1?te:null}),L,ye)}const kb=m.memo(UBt);function Bme(t,e,n,o,i){var r=n[t]||{},a=n[e]||{},l,s;r.fixed==="left"?l=o.left[i==="rtl"?e:t]:a.fixed==="right"&&(s=o.right[i==="rtl"?t:e]);var c=!1,u=!1,d=!1,f=!1,p=n[e+1],g=n[t-1],A=p&&!p.fixed||g&&!g.fixed||n.every(function(v){return v.fixed==="left"});if(i==="rtl"){if(l!==void 0){var w=g&&g.fixed==="left";f=!w&&A}else if(s!==void 0){var b=p&&p.fixed==="right";d=!b&&A}}else if(l!==void 0){var C=p&&p.fixed==="left";c=!C&&A}else if(s!==void 0){var P=g&&g.fixed==="right";u=!P&&A}return{fixLeft:l,fixRight:s,lastFixLeft:c,firstFixRight:u,lastFixRight:d,firstFixLeft:f,isSticky:o.isSticky}}var XXe=m.createContext({});function BBt(t){var e=t.className,n=t.index,o=t.children,i=t.colSpan,r=i===void 0?1:i,a=t.rowSpan,l=t.align,s=hh(s1,["prefixCls","direction"]),c=s.prefixCls,u=s.direction,d=m.useContext(XXe),f=d.scrollColumnIndex,p=d.stickyOffsets,g=d.flattenColumns,A=n+r-1,w=A+1===f?r+1:r,b=Bme(n,n+w-1,g,p,u);return m.createElement(kb,so({className:e,index:n,component:"td",prefixCls:c,record:null,dataIndex:null,align:l,colSpan:w,rowSpan:a,render:function(){return o}},b))}var jBt=["children"];function YBt(t){var e=t.children,n=ir(t,jBt);return m.createElement("tr",n,e)}function U$(t){var e=t.children;return e}U$.Row=YBt;U$.Cell=BBt;function OBt(t){var e=t.children,n=t.stickyOffsets,o=t.flattenColumns,i=hh(s1,"prefixCls"),r=o.length-1,a=o[r],l=m.useMemo(function(){return{stickyOffsets:n,flattenColumns:o,scrollColumnIndex:a!=null&&a.scrollbar?r:null}},[a,o,r,n]);return m.createElement(XXe.Provider,{value:l},m.createElement("tfoot",{className:"".concat(i,"-summary")},e))}const SY=LH(OBt);var JXe=U$;function _Bt(t){return null}function VBt(t){return null}var KXe=function(e){if(sp()&&window.document.documentElement){var n=Array.isArray(e)?e:[e],o=window.document.documentElement;return n.some(function(i){return i in o.style})}return!1},GBt=function(e,n){if(!KXe(e))return!1;var o=document.createElement("div"),i=o.style[e];return o.style[e]=n,o.style[e]!==i};function XBt(t,e){return!Array.isArray(t)&&e!==void 0?GBt(t,e):KXe(t)}function qXe(t,e,n,o,i,r,a){t.push({record:e,indent:n,index:a});var l=r(e),s=i==null?void 0:i.has(l);if(e&&Array.isArray(e[o])&&s)for(var c=0;c1?D-1:0),W=1;W=1?T:""),style:$t($t({},n),b==null?void 0:b.style)}),g.map(function(R,H){var D=R.render,k=R.dataIndex,W=R.className,N=eJe(f,R,H,s,i),L=N.key,E=N.fixedInfo,U=N.appendCellNode,F=N.additionalCellProps;return m.createElement(kb,so({className:W,ellipsis:R.ellipsis,align:R.align,scope:R.rowScope,component:R.rowScope?d:u,prefixCls:p,key:L,record:o,index:i,renderIndex:r,dataIndex:k,render:D,shouldCellUpdate:R.shouldCellUpdate},E,{appendNode:U,additionalProps:F}))})),S;if(P&&(v.current||C)){var x=w(o,i,s+1,C);S=m.createElement(ZXe,{expanded:C,className:_n("".concat(p,"-expanded-row"),"".concat(p,"-expanded-row-level-").concat(s+1),T),prefixCls:p,component:c,cellComponent:u,colSpan:g.length,isEmpty:!1},x)}return m.createElement(m.Fragment,null,y,S)}const KBt=LH(JBt);function qBt(t){var e=t.columnKey,n=t.onColumnResize,o=m.useRef();return m.useEffect(function(){o.current&&n(e,o.current.offsetWidth)},[]),m.createElement(bd,{data:e},m.createElement("td",{ref:o,style:{padding:0,border:0,height:0}},m.createElement("div",{style:{height:0,overflow:"hidden"}}," ")))}function $Bt(t){var e=t.prefixCls,n=t.columnsKey,o=t.onColumnResize;return m.createElement("tr",{"aria-hidden":"true",className:"".concat(e,"-measure-row"),style:{height:0,fontSize:0}},m.createElement(bd.Collection,{onBatchResize:function(r){r.forEach(function(a){var l=a.data,s=a.size;o(l,s.offsetWidth)})}},n.map(function(i){return m.createElement(qBt,{key:i,columnKey:i,onColumnResize:o})})))}function QBt(t){var e=t.data,n=t.measureColumnWidth,o=hh(s1,["prefixCls","getComponent","onColumnResize","flattenColumns","getRowKey","expandedKeys","childrenColumnName","emptyNode"]),i=o.prefixCls,r=o.getComponent,a=o.onColumnResize,l=o.flattenColumns,s=o.getRowKey,c=o.expandedKeys,u=o.childrenColumnName,d=o.emptyNode,f=$Xe(e,u,c,s),p=m.useRef({renderWithProps:!1}),g=r(["body","wrapper"],"tbody"),A=r(["body","row"],"tr"),w=r(["body","cell"],"td"),b=r(["body","cell"],"th"),C;e.length?C=f.map(function(v,T){var y=v.record,S=v.indent,x=v.index,R=s(y,T);return m.createElement(KBt,{key:R,rowKey:R,record:y,index:T,renderIndex:x,rowComponent:A,cellComponent:w,scopeCellComponent:b,getRowKey:s,indent:S})}):C=m.createElement(ZXe,{expanded:!0,className:"".concat(i,"-placeholder"),prefixCls:i,component:A,cellComponent:w,colSpan:l.length,isEmpty:!0},d);var P=N$(l);return m.createElement(GXe.Provider,{value:p.current},m.createElement(g,{className:"".concat(i,"-tbody")},n&&m.createElement($Bt,{prefixCls:i,columnsKey:P,onColumnResize:a}),C))}const ZBt=LH(QBt);var ejt=["expandable"],dE="RC_TABLE_INTERNAL_COL_DEFINE";function tjt(t){var e=t.expandable,n=ir(t,ejt),o;return"expandable"in t?o=$t($t({},n),e):o=n,o.showExpandColumn===!1&&(o.expandIconColumnIndex=-1),o}var njt=["columnType"];function tJe(t){for(var e=t.colWidths,n=t.columns,o=t.columCount,i=[],r=o||n.length,a=!1,l=r-1;l>=0;l-=1){var s=e[l],c=n&&n[l],u=c&&c[dE];if(s||u||a){var d=u||{};d.columnType;var f=ir(d,njt);i.unshift(m.createElement("col",so({key:l,style:{width:s}},f))),a=!0}}return m.createElement("colgroup",null,i)}var ojt=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function ijt(t,e){return m.useMemo(function(){for(var n=[],o=0;o1?"colgroup":"col":null,ellipsis:w.ellipsis,align:w.align,component:a,prefixCls:u,key:p[A]},b,{additionalProps:C,rowType:"header"}))}))};function ljt(t){var e=[];function n(a,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;e[s]=e[s]||[];var c=l,u=a.filter(Boolean).map(function(d){var f={key:d.key,className:d.className||"",children:d.title,column:d,colStart:c},p=1,g=d.children;return g&&g.length>0&&(p=n(g,c,s+1).reduce(function(A,w){return A+w},0),f.hasSubColumns=!0),"colSpan"in d&&(p=d.colSpan),"rowSpan"in d&&(f.rowSpan=d.rowSpan),f.colSpan=p,f.colEnd=f.colStart+p-1,e[s].push(f),c+=p,p});return u}n(t,0);for(var o=e.length,i=function(l){e[l].forEach(function(s){!("rowSpan"in s)&&!s.hasSubColumns&&(s.rowSpan=o-l)})},r=0;r1&&arguments[1]!==void 0?arguments[1]:"";return typeof e=="number"?e:e.endsWith("%")?t*parseFloat(e)/100:null}function cjt(t,e,n){return m.useMemo(function(){if(e&&e>0){var o=0,i=0;t.forEach(function(f){var p=mxe(e,f.width);p?o+=p:i+=1});var r=Math.max(e,n),a=Math.max(r-o,i),l=i,s=a/i,c=0,u=t.map(function(f){var p=$t({},f),g=mxe(e,p.width);if(g)p.width=g;else{var A=Math.floor(s);p.width=l===1?a:A,a-=A,l-=1}return c+=p.width,p});if(c0?$t($t({},e),{},{children:nJe(n)}):e})}function G0e(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return t.filter(function(n){return n&&gr(n)==="object"}).reduce(function(n,o,i){var r=o.fixed,a=r===!0?"left":r,l="".concat(e,"-").concat(i),s=o.children;return s&&s.length>0?[].concat(Wo(n),Wo(G0e(s,l).map(function(c){return $t({fixed:a},c)}))):[].concat(Wo(n),[$t($t({key:l},o),{},{fixed:a})])},[])}function fjt(t){return t.map(function(e){var n=e.fixed,o=ir(e,djt),i=n;return n==="left"?i="right":n==="right"&&(i="left"),$t({fixed:i},o)})}function hjt(t,e){var n=t.prefixCls,o=t.columns,i=t.children,r=t.expandable,a=t.expandedKeys,l=t.columnTitle,s=t.getRowKey,c=t.onTriggerExpand,u=t.expandIcon,d=t.rowExpandable,f=t.expandIconColumnIndex,p=t.direction,g=t.expandRowByClick,A=t.columnWidth,w=t.fixed,b=t.scrollWidth,C=t.clientWidth,P=m.useMemo(function(){var k=o||jme(i)||[];return nJe(k.slice())},[o,i]),v=m.useMemo(function(){if(r){var k=P.slice();if(!k.includes(O4)){var W=f||0;W>=0&&k.splice(W,0,O4)}var N=k.indexOf(O4);k=k.filter(function(F,B){return F!==O4||B===N});var L=P[N],E;(w==="left"||w)&&!f?E="left":(w==="right"||w)&&f===P.length?E="right":E=L?L.fixed:null;var U=_t(_t(_t(_t(_t(_t({},dE,{className:"".concat(n,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),"title",l),"fixed",E),"className","".concat(n,"-row-expand-icon-cell")),"width",A),"render",function(B,_,Y){var O=s(_,Y),J=a.has(O),Z=d?d(_):!0,ie=u({prefixCls:n,expanded:J,expandable:Z,record:_,onExpand:c});return g?m.createElement("span",{onClick:function(q){return q.stopPropagation()}},ie):ie});return k.map(function(F){return F===O4?U:F})}return P.filter(function(F){return F!==O4})},[r,P,s,a,u,p]),T=m.useMemo(function(){var k=v;return e&&(k=e(k)),k.length||(k=[{render:function(){return null}}]),k},[e,v,p]),y=m.useMemo(function(){return p==="rtl"?fjt(G0e(T)):G0e(T)},[T,p,b]),S=m.useMemo(function(){for(var k=-1,W=y.length-1;W>=0;W-=1){var N=y[W].fixed;if(N==="left"||N===!0){k=W;break}}if(k>=0)for(var L=0;L<=k;L+=1){var E=y[L].fixed;if(E!=="left"&&E!==!0)return!0}var U=y.findIndex(function(_){var Y=_.fixed;return Y==="right"});if(U>=0)for(var F=U;F=d&&(F=d-f),a({scrollLeft:F/d*(u+2)}),C.current.x=N.pageX},D=function(){S.current=za(function(){if(r.current){var N=ixe(r.current).top,L=N+r.current.offsetHeight,E=s===window?document.documentElement.scrollTop+window.innerHeight:ixe(s).top+s.clientHeight;L-r0e()<=E||N>=E-l?b(function(U){return $t($t({},U),{},{isHiddenScrollBar:!0})}):b(function(U){return $t($t({},U),{},{isHiddenScrollBar:!1})})}})},k=function(N){b(function(L){return $t($t({},L),{},{scrollLeft:N/u*d||0})})};return m.useImperativeHandle(n,function(){return{setScrollLeft:k,checkScrollBarVisible:D}}),m.useEffect(function(){var W=bY(document.body,"mouseup",x,!1),N=bY(document.body,"mousemove",H,!1);return D(),function(){W.remove(),N.remove()}},[f,T]),m.useEffect(function(){var W=bY(s,"scroll",D,!1),N=bY(window,"resize",D,!1);return function(){W.remove(),N.remove()}},[s]),m.useEffect(function(){w.isHiddenScrollBar||b(function(W){var N=r.current;return N?$t($t({},W),{},{scrollLeft:N.scrollLeft/N.scrollWidth*N.clientWidth}):W})},[w.isHiddenScrollBar]),u<=d||!f||w.isHiddenScrollBar?null:m.createElement("div",{style:{height:r0e(),width:d,bottom:l},className:"".concat(c,"-sticky-scroll")},m.createElement("div",{onMouseDown:R,ref:p,className:_n("".concat(c,"-sticky-scroll-bar"),_t({},"".concat(c,"-sticky-scroll-bar-active"),T)),style:{width:"".concat(f,"px"),transform:"translate3d(".concat(w.scrollLeft,"px, 0, 0)")}}))};const Sjt=m.forwardRef(bjt);var iJe="rc-table",Tjt=[],Pjt={};function Cjt(){return"No Data"}function Rjt(t,e){var n=$t({rowKey:"key",prefixCls:iJe,emptyText:Cjt},t),o=n.prefixCls,i=n.className,r=n.rowClassName,a=n.style,l=n.data,s=n.rowKey,c=n.scroll,u=n.tableLayout,d=n.direction,f=n.title,p=n.footer,g=n.summary,A=n.caption,w=n.id,b=n.showHeader,C=n.components,P=n.emptyText,v=n.onRow,T=n.onHeaderRow,y=n.onScroll,S=n.internalHooks,x=n.transformColumns,R=n.internalRefs,H=n.tailor,D=n.getContainerWidth,k=n.sticky,W=n.rowHoverable,N=W===void 0?!0:W,L=l||Tjt,E=!!L.length,U=S===NW,F=m.useCallback(function(go,So){return hg(C,go)||So},[C]),B=m.useMemo(function(){return typeof s=="function"?s:function(go){var So=go&&go[s];return So}},[s]),_=F(["body"]),Y=wjt(),O=on(Y,3),J=O[0],Z=O[1],ie=O[2],ee=mjt(n,L,B),q=on(ee,6),ae=q[0],ne=q[1],se=q[2],le=q[3],te=q[4],he=q[5],pe=c==null?void 0:c.x,fe=m.useState(0),$=on(fe,2),de=$[0],Se=$[1],Ce=hjt($t($t($t({},n),ae),{},{expandable:!!ae.expandedRowRender,columnTitle:ae.columnTitle,expandedKeys:se,getRowKey:B,onTriggerExpand:he,expandIcon:le,expandIconColumnIndex:ae.expandIconColumnIndex,direction:d,scrollWidth:U&&H&&typeof pe=="number"?pe:null,clientWidth:de}),U?x:null),ve=on(Ce,4),Ie=ve[0],ze=ve[1],ye=ve[2],oe=ve[3],ge=ye??pe,Ae=m.useMemo(function(){return{columns:Ie,flattenColumns:ze}},[Ie,ze]),me=m.useRef(),Pe=m.useRef(),Me=m.useRef(),Te=m.useRef();m.useImperativeHandle(e,function(){return{nativeElement:me.current,scrollTo:function(So){var Uo;if(Me.current instanceof HTMLElement){var _i=So.index,Qo=So.top,ar=So.key;if(Qo){var ur;(ur=Me.current)===null||ur===void 0||ur.scrollTo({top:Qo})}else{var $o,ba=ar??B(L[_i]);($o=Me.current.querySelector('[data-row-key="'.concat(ba,'"]')))===null||$o===void 0||$o.scrollIntoView()}}else(Uo=Me.current)!==null&&Uo!==void 0&&Uo.scrollTo&&Me.current.scrollTo(So)}}});var De=m.useRef(),Ne=m.useState(!1),Ye=on(Ne,2),Le=Ye[0],$e=Ye[1],We=m.useState(!1),Ee=on(We,2),Fe=Ee[0],Ge=Ee[1],rt=oJe(new Map),_e=on(rt,2),xt=_e[0],dt=_e[1],Qe=N$(ze),ct=Qe.map(function(go){return xt.get(go)}),ft=m.useMemo(function(){return ct},[ct.join("_")]),at=xjt(ft,ze,d),ot=c&&V0e(c.y),et=c&&V0e(ge)||!!ae.fixed,Oe=et&&ze.some(function(go){var So=go.fixed;return So}),nt=m.useRef(),mt=vjt(k,o),Tt=mt.isSticky,Rt=mt.offsetHeader,Wt=mt.offsetSummary,Ct=mt.offsetScroll,wt=mt.stickyClassName,kt=mt.container,qe=m.useMemo(function(){return g==null?void 0:g(L)},[g,L]),Je=(ot||Tt)&&m.isValidElement(qe)&&qe.type===U$&&qe.props.fixed,st,Pt,Ue;ot&&(Pt={overflowY:"scroll",maxHeight:c.y}),et&&(st={overflowX:"auto"},ot||(Pt={overflowY:"hidden"}),Ue={width:ge===!0?"auto":ge,minWidth:"100%"});var lt=m.useCallback(function(go,So){w$(me.current)&&dt(function(Uo){if(Uo.get(go)!==So){var _i=new Map(Uo);return _i.set(go,So),_i}return Uo})},[]),Ve=Ajt(),ut=on(Ve,2),je=ut[0],yt=ut[1];function Ht(go,So){So&&(typeof So=="function"?So(go):So.scrollLeft!==go&&(So.scrollLeft=go,So.scrollLeft!==go&&setTimeout(function(){So.scrollLeft=go},0)))}var At=Ia(function(go){var So=go.currentTarget,Uo=go.scrollLeft,_i=d==="rtl",Qo=typeof Uo=="number"?Uo:So.scrollLeft,ar=So||Pjt;if(!yt()||yt()===ar){var ur;je(ar),Ht(Qo,Pe.current),Ht(Qo,Me.current),Ht(Qo,De.current),Ht(Qo,(ur=nt.current)===null||ur===void 0?void 0:ur.setScrollLeft)}var $o=So||Pe.current;if($o){var ba=$o.scrollWidth,Mo=$o.clientWidth;if(ba===Mo){$e(!1),Ge(!1);return}_i?($e(-Qo0)):($e(Qo>0),Ge(Qo1?w-N:0,E=$t($t($t({},x),c),{},{flex:"0 0 ".concat(N,"px"),width:"".concat(N,"px"),marginRight:L,pointerEvents:"auto"}),U=m.useMemo(function(){return d?k<=1:H===0||k===0||k>1},[k,H,d]);U?E.visibility="hidden":d&&(E.height=f==null?void 0:f(k));var F=U?function(){return null}:p,B={};return(k===0||H===0)&&(B.rowSpan=1,B.colSpan=1),m.createElement(kb,so({className:_n(A,u),ellipsis:n.ellipsis,align:n.align,scope:n.rowScope,component:a,prefixCls:e.prefixCls,key:v,record:s,index:r,renderIndex:l,dataIndex:g,render:F,shouldCellUpdate:n.shouldCellUpdate},T,{appendNode:y,additionalProps:$t($t({},S),{},{style:E},B)}))}var zjt=["data","index","className","rowKey","style","extra","getHeight"],Djt=m.forwardRef(function(t,e){var n=t.data,o=t.index,i=t.className,r=t.rowKey,a=t.style,l=t.extra,s=t.getHeight,c=ir(t,zjt),u=n.record,d=n.indent,f=n.index,p=hh(s1,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),g=p.scrollX,A=p.flattenColumns,w=p.prefixCls,b=p.fixColumn,C=p.componentWidth,P=hh(Yme,["getComponent"]),v=P.getComponent,T=QXe(u,r,o,d),y=v(["body","row"],"div"),S=v(["body","cell"],"div"),x=T.rowSupportExpand,R=T.expanded,H=T.rowProps,D=T.expandedRowRender,k=T.expandedRowClassName,W;if(x&&R){var N=D(u,o,d+1,R),L=k==null?void 0:k(u,o,d),E={};b&&(E={style:_t({},"--virtual-width","".concat(C,"px"))});var U="".concat(w,"-expanded-row-cell");W=m.createElement(y,{className:_n("".concat(w,"-expanded-row"),"".concat(w,"-expanded-row-level-").concat(d+1),L)},m.createElement(kb,{component:S,prefixCls:w,className:_n(U,_t({},"".concat(U,"-fixed"),b)),additionalProps:E},N))}var F=$t($t({},a),{},{width:g});l&&(F.position="absolute",F.pointerEvents="none");var B=m.createElement(y,so({},H,c,{"data-row-key":r,ref:x?null:e,className:_n(i,"".concat(w,"-row"),H==null?void 0:H.className,_t({},"".concat(w,"-row-extra"),l)),style:$t($t({},F),H==null?void 0:H.style)}),A.map(function(_,Y){return m.createElement(Ijt,{key:Y,component:S,rowInfo:T,column:_,colIndex:Y,indent:d,index:o,renderIndex:f,record:u,inverse:l,getHeight:s})}));return x?m.createElement("div",{ref:e},B,W):B}),wxe=LH(Djt),Ejt=m.forwardRef(function(t,e){var n=t.data,o=t.onScroll,i=hh(s1,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),r=i.flattenColumns,a=i.onColumnResize,l=i.getRowKey,s=i.expandedKeys,c=i.prefixCls,u=i.childrenColumnName,d=i.emptyNode,f=i.scrollX,p=hh(Yme),g=p.sticky,A=p.scrollY,w=p.listItemHeight,b=p.getComponent,C=p.onScroll,P=m.useRef(),v=$Xe(n,u,s,l),T=m.useMemo(function(){var E=0;return r.map(function(U){var F=U.width,B=U.key;return E+=F,[B,F,E]})},[r]),y=m.useMemo(function(){return T.map(function(E){return E[2]})},[T]);m.useEffect(function(){T.forEach(function(E){var U=on(E,2),F=U[0],B=U[1];a(F,B)})},[T]),m.useImperativeHandle(e,function(){var E={scrollTo:function(F){var B;(B=P.current)===null||B===void 0||B.scrollTo(F)}};return Object.defineProperty(E,"scrollLeft",{get:function(){var F;return((F=P.current)===null||F===void 0?void 0:F.getScrollInfo().x)||0},set:function(F){var B;(B=P.current)===null||B===void 0||B.scrollTo({left:F})}}),E});var S=function(U,F){var B,_=(B=v[F])===null||B===void 0?void 0:B.record,Y=U.onCell;if(Y){var O,J=Y(_,F);return(O=J==null?void 0:J.rowSpan)!==null&&O!==void 0?O:1}return 1},x=function(U){var F=U.start,B=U.end,_=U.getSize,Y=U.offsetY;if(B<0)return null;for(var O=r.filter(function(pe){return S(pe,F)===0}),J=F,Z=function(fe){if(O=O.filter(function($){return S($,fe)===0}),!O.length)return J=fe,1},ie=F;ie>=0&&!Z(ie);ie-=1);for(var ee=r.filter(function(pe){return S(pe,B)!==1}),q=B,ae=function(fe){if(ee=ee.filter(function($){return S($,fe)!==1}),!ee.length)return q=Math.max(fe-1,B),1},ne=B;ne1})&&se.push(fe)},te=J;te<=q;te+=1)le(te);var he=se.map(function(pe){var fe=v[pe],$=l(fe.record,pe),de=function(ve){var Ie=pe+ve-1,ze=l(v[Ie].record,Ie),ye=_($,ze);return ye.bottom-ye.top},Se=_($);return m.createElement(wxe,{key:pe,data:fe,rowKey:$,index:pe,style:{top:-Y+Se.top},extra:!0,getHeight:de})});return he},R=m.useMemo(function(){return{columnsOffset:y}},[y]),H="".concat(c,"-tbody"),D=b(["body","wrapper"]),k=b(["body","row"],"div"),W=b(["body","cell"],"div"),N;if(v.length){var L={};g&&(L.position="sticky",L.bottom=0,gr(g)==="object"&&g.offsetScroll&&(L.bottom=g.offsetScroll)),N=m.createElement(v$,{fullHeight:!1,ref:P,prefixCls:"".concat(H,"-virtual"),styles:{horizontalScrollBar:L},className:H,height:A,itemHeight:w||24,data:v,itemKey:function(U){return l(U.record)},component:D,scrollWidth:f,onVirtualScroll:function(U){var F=U.x;o({scrollLeft:F})},onScroll:C,extraRender:x},function(E,U,F){var B=l(E.record,U);return m.createElement(wxe,so({data:E,rowKey:B,index:U},F))})}else N=m.createElement(k,{className:_n("".concat(c,"-placeholder"))},m.createElement(kb,{component:W,prefixCls:c},d));return m.createElement(aJe.Provider,{value:R},N)}),kjt=LH(Ejt),Fjt=function(e,n){var o=n.ref,i=n.onScroll;return m.createElement(kjt,{ref:o,data:e,onScroll:i})};function Ljt(t,e){var n=t.columns,o=t.scroll,i=t.sticky,r=t.prefixCls,a=r===void 0?iJe:r,l=t.className,s=t.listItemHeight,c=t.components,u=t.onScroll,d=o||{},f=d.x,p=d.y;typeof f!="number"&&(f=1),typeof p!="number"&&(p=500);var g=Ia(function(b,C){return hg(c,b)||C}),A=Ia(u),w=m.useMemo(function(){return{sticky:i,scrollY:p,listItemHeight:s,getComponent:g,onScroll:A}},[i,p,s,g,A]);return m.createElement(Yme.Provider,{value:w},m.createElement(WH,so({},t,{className:_n(l,"".concat(a,"-virtual")),scroll:$t($t({},o),{},{x:f}),components:$t($t({},c),{},{body:Fjt}),columns:n,internalHooks:NW,tailor:!0,ref:e})))}var Wjt=m.forwardRef(Ljt);function lJe(t){return VXe(Wjt,t)}lJe();function Njt(t){return null}function Ujt(t){return null}function X0e(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&(n[i]=t[i]);return n}function B$(t,e){if(t==null)return{};var n=Ojt(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var J0e={},_jt=function(e){};function Vjt(t,e){}function Gjt(t,e){}function Xjt(){J0e={}}function cJe(t,e,n){!e&&!J0e[n]&&(t(!1,n),J0e[n]=!0)}function m2(t,e){cJe(Vjt,t,e)}function Jjt(t,e){cJe(Gjt,t,e)}m2.preMessage=_jt;m2.resetWarned=Xjt;m2.noteOnce=Jjt;function Kjt(t,e){if(q6(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(q6(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function uJe(t){var e=Kjt(t,"string");return q6(e)==="symbol"?e:String(e)}function jo(t,e,n){return e=uJe(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function vxe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Ru(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function $jt(t,e){if(e&&(q6(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yi(t)}function pJe(t){var e=qjt();return function(){var o=zG(t),i;if(e){var r=zG(this).constructor;i=Reflect.construct(o,arguments,r)}else i=o.apply(this,arguments);return $jt(this,i)}}var gJe={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var o=[],i=0;i1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=Ru({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||bxe(i,iYt))||n.data&&bxe(i,rYt)||n.attr&&oYt.includes(i))&&(o[i]=t[i])}),o}var Ome=m.createContext(null),aYt=function(e){for(var n=e.prefixCls,o=e.level,i=e.isStart,r=e.isEnd,a="".concat(n,"-indent-unit"),l=[],s=0;s1&&arguments[1]!==void 0?arguments[1]:{},n=[];return be.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(q0e(o)):gC.isFragment(o)&&o.props?n=n.concat(q0e(o.props.children,e)):n.push(o))}),n}function sYt(t,e){var n=Ru({},t);return Array.isArray(e)&&e.forEach(function(o){delete n[o]}),n}var cYt=["children"];function wJe(t,e){return"".concat(t,"-").concat(e)}function uYt(t){return t&&t.type&&t.type.isTreeNode}function UW(t,e){return t??e}function lR(t){var e=t||{},n=e.title,o=e._title,i=e.key,r=e.children,a=n||"title";return{title:a,_title:o||[a],key:i||"key",children:r||"children"}}function vJe(t){function e(n){var o=q0e(n);return o.map(function(i){if(!uYt(i))return m2(!i,"Tree/TreeNode can only accept TreeNode as children."),null;var r=i.key,a=i.props,l=a.children,s=B$(a,cYt),c=Ru({key:r},s),u=e(l);return u.length&&(c.children=u),c}).filter(function(i){return i})}return e(t)}function Gie(t,e,n){var o=lR(n),i=o._title,r=o.key,a=o.children,l=new Set(e===!0?[]:e),s=[];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return u.map(function(f,p){for(var g=wJe(d?d.pos:"0",p),A=UW(f[r],g),w,b=0;b1&&arguments[1]!==void 0?arguments[1]:{},n=e.initWrapper,o=e.processEntity,i=e.onProcessFinished,r=e.externalGetKey,a=e.childrenPropName,l=e.fieldNames,s=arguments.length>2?arguments[2]:void 0,c=r||s,u={},d={},f={posEntities:u,keyEntities:d};return n&&(f=n(f)||f),dYt(t,function(p){var g=p.node,A=p.index,w=p.pos,b=p.key,C=p.parentPos,P=p.level,v=p.nodes,T={node:g,nodes:v,index:A,key:b,pos:w,level:P},y=UW(b,w);u[w]=T,d[y]=T,T.parent=u[C],T.parent&&(T.parent.children=T.parent.children||[],T.parent.children.push(T)),o&&o(T,f)},{externalGetKey:c,childrenPropName:a,fieldNames:l}),i&&i(f),f}function fE(t,e){var n=e.expandedKeys,o=e.selectedKeys,i=e.loadedKeys,r=e.loadingKeys,a=e.checkedKeys,l=e.halfCheckedKeys,s=e.dragOverNodeKey,c=e.dropPosition,u=e.keyEntities,d=Ep(u,t),f={eventKey:t,expanded:n.indexOf(t)!==-1,selected:o.indexOf(t)!==-1,loaded:i.indexOf(t)!==-1,loading:r.indexOf(t)!==-1,checked:a.indexOf(t)!==-1,halfChecked:l.indexOf(t)!==-1,pos:String(d?d.pos:""),dragOver:s===t&&c===0,dragOverGapTop:s===t&&c===-1,dragOverGapBottom:s===t&&c===1};return f}function eu(t){var e=t.data,n=t.expanded,o=t.selected,i=t.checked,r=t.loaded,a=t.loading,l=t.halfChecked,s=t.dragOver,c=t.dragOverGapTop,u=t.dragOverGapBottom,d=t.pos,f=t.active,p=t.eventKey,g=Ru(Ru({},e),{},{expanded:n,selected:o,checked:i,loaded:r,loading:a,halfChecked:l,dragOver:s,dragOverGapTop:c,dragOverGapBottom:u,pos:d,active:f,key:p});return"props"in g||Object.defineProperty(g,"props",{get:function(){return m2(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),t}}),g}var fYt=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],Sxe="open",Txe="close",hYt="---",pYt=function(t){gJe(n,t);var e=mJe(n);function n(){var o;hJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a=0&&n.splice(o,1),n}function n6(t,e){var n=(t||[]).slice();return n.indexOf(e)===-1&&n.push(e),n}function Vme(t){return t.split("-")}function gYt(t,e){var n=[],o=Ep(e,t);function i(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];r.forEach(function(a){var l=a.key,s=a.children;n.push(l),i(s)})}return i(o.children),n}function mYt(t){if(t.parent){var e=Vme(t.pos);return Number(e[e.length-1])===t.parent.children.length-1}return!1}function yYt(t){var e=Vme(t.pos);return Number(e[e.length-1])===0}function Pxe(t,e,n,o,i,r,a,l,s,c){var u,d=t.clientX,f=t.clientY,p=t.target.getBoundingClientRect(),g=p.top,A=p.height,w=(c==="rtl"?-1:1)*(((i==null?void 0:i.x)||0)-d),b=(w-12)/o,C=s.filter(function(E){var U;return(U=l[E])===null||U===void 0||(U=U.children)===null||U===void 0?void 0:U.length}),P=Ep(l,n.props.eventKey);if(f-1.5?r({dragNode:W,dropNode:N,dropPosition:1})?H=1:L=!1:r({dragNode:W,dropNode:N,dropPosition:0})?H=0:r({dragNode:W,dropNode:N,dropPosition:1})?H=1:L=!1:r({dragNode:W,dropNode:N,dropPosition:1})?H=1:L=!1,{dropPosition:H,dropLevelOffset:D,dropTargetKey:P.key,dropTargetPos:P.pos,dragOverNodeKey:R,dropContainerKey:H===0?null:((u=P.parent)===null||u===void 0?void 0:u.key)||null,dropAllowed:L}}function Cxe(t,e){if(t){var n=e.multiple;return n?t.slice():t.length?[t[0]]:t}}function Xie(t){if(!t)return null;var e;if(Array.isArray(t))e={checkedKeys:t,halfCheckedKeys:void 0};else if(q6(t)==="object")e={checkedKeys:t.checked||void 0,halfCheckedKeys:t.halfChecked||void 0};else return m2(!1,"`checkedKeys` is not an array or an object"),null;return e}function $0e(t,e){var n=new Set;function o(i){if(!n.has(i)){var r=Ep(e,i);if(r){n.add(i);var a=r.parent,l=r.node;l.disabled||a&&o(a.key)}}}return(t||[]).forEach(function(i){o(i)}),hx(n)}function xJe(t,e){var n=new Set;return t.forEach(function(o){e.has(o)||n.add(o)}),n}function AYt(t){var e=t||{},n=e.disabled,o=e.disableCheckbox,i=e.checkable;return!!(n||o)||i===!1}function wYt(t,e,n,o){for(var i=new Set(t),r=new Set,a=0;a<=n;a+=1){var l=e.get(a)||new Set;l.forEach(function(d){var f=d.key,p=d.node,g=d.children,A=g===void 0?[]:g;i.has(f)&&!o(p)&&A.filter(function(w){return!o(w.node)}).forEach(function(w){i.add(w.key)})})}for(var s=new Set,c=n;c>=0;c-=1){var u=e.get(c)||new Set;u.forEach(function(d){var f=d.parent,p=d.node;if(!(o(p)||!d.parent||s.has(d.parent.key))){if(o(d.parent.node)){s.add(f.key);return}var g=!0,A=!1;(f.children||[]).filter(function(w){return!o(w.node)}).forEach(function(w){var b=w.key,C=i.has(b);g&&!C&&(g=!1),!A&&(C||r.has(b))&&(A=!0)}),g&&i.add(f.key),A&&r.add(f.key),s.add(f.key)}})}return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(xJe(r,i))}}function vYt(t,e,n,o,i){for(var r=new Set(t),a=new Set(e),l=0;l<=o;l+=1){var s=n.get(l)||new Set;s.forEach(function(f){var p=f.key,g=f.node,A=f.children,w=A===void 0?[]:A;!r.has(p)&&!a.has(p)&&!i(g)&&w.filter(function(b){return!i(b.node)}).forEach(function(b){r.delete(b.key)})})}a=new Set;for(var c=new Set,u=o;u>=0;u-=1){var d=n.get(u)||new Set;d.forEach(function(f){var p=f.parent,g=f.node;if(!(i(g)||!f.parent||c.has(f.parent.key))){if(i(f.parent.node)){c.add(p.key);return}var A=!0,w=!1;(p.children||[]).filter(function(b){return!i(b.node)}).forEach(function(b){var C=b.key,P=r.has(C);A&&!P&&(A=!1),!w&&(P||a.has(C))&&(w=!0)}),A||r.delete(p.key),w&&a.add(p.key),c.add(p.key)}})}return{checkedKeys:Array.from(r),halfCheckedKeys:Array.from(xJe(a,r))}}function AC(t,e,n,o){var i=[],r;o?r=o:r=AYt;var a=new Set(t.filter(function(u){var d=!!Ep(n,u);return d||i.push(u),d})),l=new Map,s=0;Object.keys(n).forEach(function(u){var d=n[u],f=d.level,p=l.get(f);p||(p=new Set,l.set(f,p)),p.add(d),s=Math.max(s,f)}),m2(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map(function(u){return"'".concat(u,"'")}).join(", ")));var c;return e===!0?c=wYt(a,l,s,r):c=vYt(a,e.halfCheckedKeys,l,s,r),c}function xYt(t){const[e,n]=m.useState(null);return[m.useCallback((r,a,l)=>{const s=e??r,c=Math.min(s||0,r),u=Math.max(s||0,r),d=a.slice(c,u+1).map(g=>t(g)),f=d.some(g=>!l.has(g)),p=[];return d.forEach(g=>{f?(l.has(g)||p.push(g),l.add(g)):(l.delete(g),p.push(g))}),n(f?u:null),p},[e]),r=>{n(r)}]}const z4={},Q0e="SELECT_ALL",Z0e="SELECT_INVERT",eue="SELECT_NONE",Rxe=[],bJe=(t,e)=>{let n=[];return(e||[]).forEach(o=>{n.push(o),o&&typeof o=="object"&&t in o&&(n=[].concat(Xa(n),Xa(bJe(t,o[t]))))}),n},bYt=(t,e)=>{const{preserveSelectedRowKeys:n,selectedRowKeys:o,defaultSelectedRowKeys:i,getCheckboxProps:r,onChange:a,onSelect:l,onSelectAll:s,onSelectInvert:c,onSelectNone:u,onSelectMultiple:d,columnWidth:f,type:p,selections:g,fixed:A,renderCell:w,hideSelectAll:b,checkStrictly:C=!0}=e||{},{prefixCls:P,data:v,pageData:T,getRecordByKey:y,getRowKey:S,expandType:x,childrenColumnName:R,locale:H,getPopupContainer:D}=t,k=Hb(),[W,N]=xYt(le=>le),[L,E]=_6(o||i||Rxe,{value:o}),U=m.useRef(new Map),F=m.useCallback(le=>{if(n){const te=new Map;le.forEach(he=>{let pe=y(he);!pe&&U.current.has(he)&&(pe=U.current.get(he)),te.set(he,pe)}),U.current=te}},[y,n]);m.useEffect(()=>{F(L)},[L]);const{keyEntities:B}=m.useMemo(()=>{if(C)return{keyEntities:null};let le=v;if(n){const te=new Set(v.map((pe,fe)=>S(pe,fe))),he=Array.from(U.current).reduce((pe,fe)=>{let[$,de]=fe;return te.has($)?pe:pe.concat(de)},[]);le=[].concat(Xa(le),Xa(he))}return _me(le,{externalGetKey:S,childrenPropName:R})},[v,S,C,R,n]),_=m.useMemo(()=>bJe(R,T),[R,T]),Y=m.useMemo(()=>{const le=new Map;return _.forEach((te,he)=>{const pe=S(te,he),fe=(r?r(te):null)||{};le.set(pe,fe)}),le},[_,S,r]),O=m.useCallback(le=>{var te;return!!(!((te=Y.get(S(le)))===null||te===void 0)&&te.disabled)},[Y,S]),[J,Z]=m.useMemo(()=>{if(C)return[L||[],[]];const{checkedKeys:le,halfCheckedKeys:te}=AC(L,!0,B,O);return[le||[],te]},[L,C,B,O]),ie=m.useMemo(()=>{const le=p==="radio"?J.slice(0,1):J;return new Set(le)},[J,p]),ee=m.useMemo(()=>p==="radio"?new Set:new Set(Z),[Z,p]);m.useEffect(()=>{e||E(Rxe)},[!!e]);const q=m.useCallback((le,te)=>{let he,pe;F(le),n?(he=le,pe=le.map(fe=>U.current.get(fe))):(he=[],pe=[],le.forEach(fe=>{const $=y(fe);$!==void 0&&(he.push(fe),pe.push($))})),E(he),a==null||a(he,pe,{type:te})},[E,y,a,n]),ae=m.useCallback((le,te,he,pe)=>{if(l){const fe=he.map($=>y($));l(y(le),te,fe,pe)}q(he,"single")},[l,y,q]),ne=m.useMemo(()=>!g||b?null:(g===!0?[Q0e,Z0e,eue]:g).map(te=>te===Q0e?{key:"all",text:H.selectionAll,onSelect(){q(v.map((he,pe)=>S(he,pe)).filter(he=>{const pe=Y.get(he);return!(pe!=null&&pe.disabled)||ie.has(he)}),"all")}}:te===Z0e?{key:"invert",text:H.selectInvert,onSelect(){const he=new Set(ie);T.forEach((fe,$)=>{const de=S(fe,$),Se=Y.get(de);Se!=null&&Se.disabled||(he.has(de)?he.delete(de):he.add(de))});const pe=Array.from(he);c&&(k.deprecated(!1,"onSelectInvert","onChange"),c(pe)),q(pe,"invert")}}:te===eue?{key:"none",text:H.selectNone,onSelect(){u==null||u(),q(Array.from(ie).filter(he=>{const pe=Y.get(he);return pe==null?void 0:pe.disabled}),"none")}}:te).map(te=>Object.assign(Object.assign({},te),{onSelect:function(){for(var he,pe,fe=arguments.length,$=new Array(fe),de=0;de{var te;if(!e)return le.filter(Te=>Te!==z4);let he=Xa(le);const pe=new Set(ie),fe=_.map(S).filter(Te=>!Y.get(Te).disabled),$=fe.every(Te=>pe.has(Te)),de=fe.some(Te=>pe.has(Te)),Se=()=>{const Te=[];$?fe.forEach(Ue=>{pe.delete(Ue),Te.push(Ue)}):fe.forEach(Ue=>{pe.has(Ue)||(pe.add(Ue),Te.push(Ue))});const De=Array.from(pe);s==null||s(!$,De.map(Ue=>y(Ue)),Te.map(Ue=>y(Ue))),q(De,"all"),N(null)};let Ce,ve;if(p!=="radio"){let Te;if(ne){const $e={getPopupContainer:D,items:ne.map((We,Ee)=>{const{key:Fe,text:Ge,onSelect:rt}=We;return{key:Fe??Ee,onClick:()=>{rt==null||rt(fe)},label:Ge}})};Te=m.createElement("div",{className:`${P}-selection-extra`},m.createElement(W7,{menu:$e,getPopupContainer:D},m.createElement("span",null,m.createElement(rme,null))))}const De=_.map(($e,We)=>{const Ee=S($e,We),Fe=Y.get(Ee)||{};return Object.assign({checked:pe.has(Ee)},Fe)}).filter($e=>{let{disabled:We}=$e;return We}),Ue=!!De.length&&De.length===_.length,Oe=Ue&&De.every($e=>{let{checked:We}=$e;return We}),Le=Ue&&De.some($e=>{let{checked:We}=$e;return We});ve=m.createElement(Wr,{checked:Ue?Oe:!!_.length&&$,indeterminate:Ue?!Oe&&Le:!$&&de,onChange:Se,disabled:_.length===0||Ue,"aria-label":Te?"Custom selection":"Select all",skipGroup:!0}),Ce=!b&&m.createElement("div",{className:`${P}-selection`},ve,Te)}let Ie;p==="radio"?Ie=(Te,De,Ue)=>{const Oe=S(De,Ue),Le=pe.has(Oe);return{node:m.createElement(Be,Object.assign({},Y.get(Oe),{checked:Le,onClick:$e=>$e.stopPropagation(),onChange:$e=>{pe.has(Oe)||ae(Oe,!0,[Oe],$e.nativeEvent)}})),checked:Le}}:Ie=(Te,De,Ue)=>{var Oe;const Le=S(De,Ue),$e=pe.has(Le),We=ee.has(Le),Ee=Y.get(Le);let Fe;return x==="nest"?Fe=We:Fe=(Oe=Ee==null?void 0:Ee.indeterminate)!==null&&Oe!==void 0?Oe:We,{node:m.createElement(Wr,Object.assign({},Ee,{indeterminate:Fe,checked:$e,skipGroup:!0,onClick:Ge=>Ge.stopPropagation(),onChange:Ge=>{let{nativeEvent:rt}=Ge;const{shiftKey:Ve}=rt,xt=fe.findIndex(Qe=>Qe===Le),dt=J.some(Qe=>fe.includes(Qe));if(Ve&&C&&dt){const Qe=W(xt,fe,pe),ut=Array.from(pe);d==null||d(!$e,ut.map(ft=>y(ft)),Qe.map(ft=>y(ft))),q(ut,"multiple")}else{const Qe=J;if(C){const ut=$e?Y5(Qe,Le):n6(Qe,Le);ae(Le,!$e,ut,rt)}else{const ut=AC([].concat(Xa(Qe),[Le]),!0,B,O),{checkedKeys:ft,halfCheckedKeys:at}=ut;let ot=ft;if($e){const et=new Set(ft);et.delete(Le),ot=AC(Array.from(et),{checked:!1,halfCheckedKeys:at},B,O).checkedKeys}ae(Le,!$e,ot,rt)}}N($e?null:xt)}})),checked:$e}};const ze=(Te,De,Ue)=>{const{node:Oe,checked:Le}=Ie(Te,De,Ue);return w?w(Le,De,Ue,Oe):Oe};if(!he.includes(z4))if(he.findIndex(Te=>{var De;return((De=Te[dE])===null||De===void 0?void 0:De.columnType)==="EXPAND_COLUMN"})===0){const[Te,...De]=he;he=[Te,z4].concat(Xa(De))}else he=[z4].concat(Xa(he));const ye=he.indexOf(z4);he=he.filter((Te,De)=>Te!==z4||De===ye);const oe=he[ye-1],ge=he[ye+1];let Ae=A;Ae===void 0&&((ge==null?void 0:ge.fixed)!==void 0?Ae=ge.fixed:(oe==null?void 0:oe.fixed)!==void 0&&(Ae=oe.fixed)),Ae&&oe&&((te=oe[dE])===null||te===void 0?void 0:te.columnType)==="EXPAND_COLUMN"&&oe.fixed===void 0&&(oe.fixed=Ae);const me=Gn(`${P}-selection-col`,{[`${P}-selection-col-with-dropdown`]:g&&p==="checkbox"}),Pe=()=>e!=null&&e.columnTitle?typeof e.columnTitle=="function"?e.columnTitle(ve):e.columnTitle:Ce,Me={fixed:Ae,width:f,className:`${P}-selection-column`,title:Pe(),render:ze,onCell:e.onCell,[dE]:{className:me}};return he.map(Te=>Te===z4?Me:Te)},[S,_,e,J,ie,ee,f,ne,x,Y,d,ae,O]),ie]};function SYt(t,e){return t._antProxy=t._antProxy||{},Object.keys(e).forEach(n=>{if(!(n in t._antProxy)){const o=t[n];t._antProxy[n]=o,t[n]=e[n]}}),t}function TYt(t,e){return m.useImperativeHandle(t,()=>{const n=e(),{nativeElement:o}=n;return typeof Proxy<"u"?new Proxy(o,{get(i,r){return n[r]?n[r]:Reflect.get(i,r)}}):SYt(o,n)})}function PYt(t){return function(n){let{prefixCls:o,onExpand:i,record:r,expanded:a,expandable:l}=n;const s=`${o}-row-expand-icon`;return m.createElement("button",{type:"button",onClick:c=>{i(r,c),c.stopPropagation()},className:Gn(s,{[`${s}-spaced`]:!l,[`${s}-expanded`]:l&&a,[`${s}-collapsed`]:l&&!a}),"aria-label":a?t.collapse:t.expand,"aria-expanded":a})}}function CYt(t){return(n,o)=>{const i=n.querySelector(`.${t}-container`);let r=o;if(i){const a=getComputedStyle(i),l=parseInt(a.borderLeftWidth,10),s=parseInt(a.borderRightWidth,10);r=o-l-s}return r}}function Vx(t,e){return"key"in t&&t.key!==void 0&&t.key!==null?t.key:t.dataIndex?Array.isArray(t.dataIndex)?t.dataIndex.join("."):t.dataIndex:e}function BW(t,e){return e?`${e}-${t}`:`${t}`}function j$(t,e){return typeof t=="function"?t(e):t}function RYt(t,e){const n=j$(t,e);return Object.prototype.toString.call(n)==="[object Object]"?"":n}var HYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"},MYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:HYt}))},IYt=m.forwardRef(MYt);function zYt(t){const e=m.useRef(t),n=FVe();return[()=>e.current,o=>{e.current=o,n()}]}var Ar={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Ar.F1&&n<=Ar.F12)return!1;switch(n){case Ar.ALT:case Ar.CAPS_LOCK:case Ar.CONTEXT_MENU:case Ar.CTRL:case Ar.DOWN:case Ar.END:case Ar.ESC:case Ar.HOME:case Ar.INSERT:case Ar.LEFT:case Ar.MAC_FF_META:case Ar.META:case Ar.NUMLOCK:case Ar.NUM_CENTER:case Ar.PAGE_DOWN:case Ar.PAGE_UP:case Ar.PAUSE:case Ar.PRINT_SCREEN:case Ar.RIGHT:case Ar.SHIFT:case Ar.UP:case Ar.WIN_KEY:case Ar.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Ar.ZERO&&e<=Ar.NINE||e>=Ar.NUM_ZERO&&e<=Ar.NUM_MULTIPLY||e>=Ar.A&&e<=Ar.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Ar.SPACE:case Ar.QUESTION_MARK:case Ar.NUM_PLUS:case Ar.NUM_MINUS:case Ar.NUM_PERIOD:case Ar.NUM_DIVISION:case Ar.SEMICOLON:case Ar.DASH:case Ar.EQUALS:case Ar.COMMA:case Ar.PERIOD:case Ar.SLASH:case Ar.APOSTROPHE:case Ar.SINGLE_QUOTE:case Ar.OPEN_SQUARE_BRACKET:case Ar.BACKSLASH:case Ar.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function DYt(t){var e=t.dropPosition,n=t.dropLevelOffset,o=t.indent,i={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(e){case-1:i.top=0,i.left=-n*o;break;case 1:i.bottom=0,i.left=-n*o;break;case 0:i.bottom=0,i.left=o;break}return m.createElement("div",{style:i})}function SJe(t){if(t==null)throw new TypeError("Cannot destructure "+t)}function EYt(t){if(Array.isArray(t))return t}function kYt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e!==0)for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function FYt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Av(t,e){return EYt(t)||kYt(t,e)||uJe(t,e)||FYt()}function LYt(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Hxe=LYt()?m.useLayoutEffect:m.useEffect,DG=function(e,n){var o=m.useRef(!0);Hxe(function(){return e(o.current)},n),Hxe(function(){return o.current=!1,function(){o.current=!0}},[])};function WYt(t,e){var n=m.useState(!1),o=Av(n,2),i=o[0],r=o[1];DG(function(){if(i)return t(),function(){e()}},[i]),DG(function(){return r(!0),function(){r(!1)}},[])}var NYt=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],TJe=function(e,n){var o=e.className,i=e.style,r=e.motion,a=e.motionNodes,l=e.motionType,s=e.onMotionStart,c=e.onMotionEnd,u=e.active,d=e.treeNodeRequiredProps,f=B$(e,NYt),p=m.useState(!0),g=Av(p,2),A=g[0],w=g[1],b=m.useContext(Ome),C=b.prefixCls,P=a&&l!=="hide";DG(function(){a&&P!==A&&w(P)},[a]);var v=function(){a&&s()},T=m.useRef(!1),y=function(){a&&!T.current&&(T.current=!0,c())};WYt(v,y);var S=function(R){P===R&&y()};return a?m.createElement(Hg,w9({ref:n,visible:A},r,{motionAppear:l==="show",onVisibleChanged:S}),function(x,R){var H=x.className,D=x.style;return m.createElement("div",{ref:R,className:q5("".concat(C,"-treenode-motion"),H),style:D},a.map(function(k){var W=Object.assign({},(SJe(k.data),k.data)),N=k.title,L=k.key,E=k.isStart,U=k.isEnd;delete W.children;var F=fE(L,d);return m.createElement(sR,w9({},W,F,{title:N,active:u,data:k.data,key:L,isStart:E,isEnd:U}))}))}):m.createElement(sR,w9({domRef:n,className:o,style:i},f,{active:u}))};TJe.displayName="MotionTreeNode";var UYt=m.forwardRef(TJe);function BYt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t.length,o=e.length;if(Math.abs(n-o)!==1)return{add:!1,key:null};function i(r,a){var l=new Map;r.forEach(function(c){l.set(c,!0)});var s=a.filter(function(c){return!l.has(c)});return s.length===1?s[0]:null}return n ").concat(e);return e}var CJe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.data;t.selectable,t.checkable;var i=t.expandedKeys,r=t.selectedKeys,a=t.checkedKeys,l=t.loadedKeys,s=t.loadingKeys,c=t.halfCheckedKeys,u=t.keyEntities,d=t.disabled,f=t.dragging,p=t.dragOverNodeKey,g=t.dropPosition,A=t.motion,w=t.height,b=t.itemHeight,C=t.virtual,P=t.focusable,v=t.activeItem,T=t.focused,y=t.tabIndex,S=t.onKeyDown,x=t.onFocus,R=t.onBlur,H=t.onActiveChange,D=t.onListChangeStart,k=t.onListChangeEnd,W=B$(t,jYt),N=m.useRef(null),L=m.useRef(null);m.useImperativeHandle(e,function(){return{scrollTo:function(Ie){N.current.scrollTo(Ie)},getIndentWidth:function(){return L.current.offsetWidth}}});var E=m.useState(i),U=Av(E,2),F=U[0],B=U[1],_=m.useState(o),Y=Av(_,2),O=Y[0],J=Y[1],Z=m.useState(o),ie=Av(Z,2),ee=ie[0],q=ie[1],ae=m.useState([]),ne=Av(ae,2),se=ne[0],le=ne[1],te=m.useState(null),he=Av(te,2),pe=he[0],fe=he[1],$=m.useRef(o);$.current=o;function de(){var ve=$.current;J(ve),q(ve),le([]),fe(null),k()}DG(function(){B(i);var ve=BYt(F,i);if(ve.key!==null)if(ve.add){var Ie=O.findIndex(function(me){var Pe=me.key;return Pe===ve.key}),ze=Dxe(Mxe(O,o,ve.key),C,w,b),ye=O.slice();ye.splice(Ie+1,0,zxe),q(ye),le(ze),fe("show")}else{var oe=o.findIndex(function(me){var Pe=me.key;return Pe===ve.key}),ge=Dxe(Mxe(o,O,ve.key),C,w,b),Ae=o.slice();Ae.splice(oe+1,0,zxe),q(Ae),le(ge),fe("hide")}else O!==o&&(J(o),q(o))},[i,o]),m.useEffect(function(){f||de()},[f]);var Se=A?ee:o,Ce={expandedKeys:i,selectedKeys:r,loadedKeys:l,loadingKeys:s,checkedKeys:a,halfCheckedKeys:c,dragOverNodeKey:p,dropPosition:g,keyEntities:u};return m.createElement(m.Fragment,null,T&&v&&m.createElement("span",{style:Ixe,"aria-live":"assertive"},OYt(v)),m.createElement("div",null,m.createElement("input",{style:Ixe,disabled:P===!1||d,tabIndex:P!==!1?y:null,onKeyDown:S,onFocus:x,onBlur:R,value:"",onChange:YYt,"aria-label":"for screen reader"})),m.createElement("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},m.createElement("div",{className:"".concat(n,"-indent")},m.createElement("div",{ref:L,className:"".concat(n,"-indent-unit")}))),m.createElement(v$,w9({},W,{data:Se,itemKey:Exe,height:w,fullHeight:!1,virtual:C,itemHeight:b,prefixCls:"".concat(n,"-list"),ref:N,onVisibleChange:function(Ie,ze){var ye=new Set(Ie),oe=ze.filter(function(ge){return!ye.has(ge)});oe.some(function(ge){return Exe(ge)===Gx})&&de()}}),function(ve){var Ie=ve.pos,ze=Object.assign({},(SJe(ve.data),ve.data)),ye=ve.title,oe=ve.key,ge=ve.isStart,Ae=ve.isEnd,me=UW(oe,Ie);delete ze.key,delete ze.children;var Pe=fE(me,Ce);return m.createElement(UYt,w9({},ze,Pe,{title:ye,active:!!v&&oe===v.key,pos:Ie,data:ve.data,isStart:ge,isEnd:Ae,motion:A,motionNodes:oe===Gx?se:null,motionType:pe,onMotionStart:D,onMotionEnd:de,treeNodeRequiredProps:Ce,onMouseMove:function(){H(null)}}))}))});CJe.displayName="NodeList";var _Yt=10,Gme=function(t){gJe(n,t);var e=mJe(n);function n(){var o;hJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a2&&arguments[2]!==void 0?arguments[2]:!1,d=o.state,f=d.dragChildrenKeys,p=d.dropPosition,g=d.dropTargetKey,A=d.dropTargetPos,w=d.dropAllowed;if(w){var b=o.props.onDrop;if(o.setState({dragOverNodeKey:null}),o.cleanDragState(),g!==null){var C=Ru(Ru({},fE(g,o.getTreeNodeRequiredProps())),{},{active:((c=o.getActiveItem())===null||c===void 0?void 0:c.key)===g,data:Ep(o.state.keyEntities,g).node}),P=f.indexOf(g)!==-1;m2(!P,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var v=Vme(A),T={event:l,node:eu(C),dragNode:o.dragNode?eu(o.dragNode.props):null,dragNodesKeys:[o.dragNode.props.eventKey].concat(f),dropToGap:p!==0,dropPosition:p+Number(v[v.length-1])};u||b==null||b(T),o.dragNode=null}}}),jo(yi(o),"cleanDragState",function(){var l=o.state.draggingNodeKey;l!==null&&o.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),o.dragStartMousePosition=null,o.currentMouseOverDroppableNodeKey=null}),jo(yi(o),"triggerExpandActionExpand",function(l,s){var c=o.state,u=c.expandedKeys,d=c.flattenNodes,f=s.expanded,p=s.key,g=s.isLeaf;if(!(g||l.shiftKey||l.metaKey||l.ctrlKey)){var A=d.filter(function(b){return b.key===p})[0],w=eu(Ru(Ru({},fE(p,o.getTreeNodeRequiredProps())),{},{data:A.data}));o.setExpandedKeys(f?Y5(u,p):n6(u,p)),o.onNodeExpand(l,w)}}),jo(yi(o),"onNodeClick",function(l,s){var c=o.props,u=c.onClick,d=c.expandAction;d==="click"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeDoubleClick",function(l,s){var c=o.props,u=c.onDoubleClick,d=c.expandAction;d==="doubleClick"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeSelect",function(l,s){var c=o.state.selectedKeys,u=o.state,d=u.keyEntities,f=u.fieldNames,p=o.props,g=p.onSelect,A=p.multiple,w=s.selected,b=s[f.key],C=!w;C?A?c=n6(c,b):c=[b]:c=Y5(c,b);var P=c.map(function(v){var T=Ep(d,v);return T?T.node:null}).filter(function(v){return v});o.setUncontrolledState({selectedKeys:c}),g==null||g(c,{event:"select",selected:C,node:s,selectedNodes:P,nativeEvent:l.nativeEvent})}),jo(yi(o),"onNodeCheck",function(l,s,c){var u=o.state,d=u.keyEntities,f=u.checkedKeys,p=u.halfCheckedKeys,g=o.props,A=g.checkStrictly,w=g.onCheck,b=s.key,C,P={event:"check",node:s,checked:c,nativeEvent:l.nativeEvent};if(A){var v=c?n6(f,b):Y5(f,b),T=Y5(p,b);C={checked:v,halfChecked:T},P.checkedNodes=v.map(function(D){return Ep(d,D)}).filter(function(D){return D}).map(function(D){return D.node}),o.setUncontrolledState({checkedKeys:v})}else{var y=AC([].concat(hx(f),[b]),!0,d),S=y.checkedKeys,x=y.halfCheckedKeys;if(!c){var R=new Set(S);R.delete(b);var H=AC(Array.from(R),{checked:!1,halfCheckedKeys:x},d);S=H.checkedKeys,x=H.halfCheckedKeys}C=S,P.checkedNodes=[],P.checkedNodesPositions=[],P.halfCheckedKeys=x,S.forEach(function(D){var k=Ep(d,D);if(k){var W=k.node,N=k.pos;P.checkedNodes.push(W),P.checkedNodesPositions.push({node:W,pos:N})}}),o.setUncontrolledState({checkedKeys:S},!1,{halfCheckedKeys:x})}w==null||w(C,P)}),jo(yi(o),"onNodeLoad",function(l){var s,c=l.key,u=o.state.keyEntities,d=Ep(u,c);if(!(d!=null&&(s=d.children)!==null&&s!==void 0&&s.length)){var f=new Promise(function(p,g){o.setState(function(A){var w=A.loadedKeys,b=w===void 0?[]:w,C=A.loadingKeys,P=C===void 0?[]:C,v=o.props,T=v.loadData,y=v.onLoad;if(!T||b.indexOf(c)!==-1||P.indexOf(c)!==-1)return null;var S=T(l);return S.then(function(){var x=o.state.loadedKeys,R=n6(x,c);y==null||y(R,{event:"load",node:l}),o.setUncontrolledState({loadedKeys:R}),o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),p()}).catch(function(x){if(o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),o.loadingRetryTimes[c]=(o.loadingRetryTimes[c]||0)+1,o.loadingRetryTimes[c]>=_Yt){var R=o.state.loadedKeys;m2(!1,"Retry for `loadData` many times but still failed. No more retry."),o.setUncontrolledState({loadedKeys:n6(R,c)}),p()}g(x)}),{loadingKeys:n6(P,c)}})});return f.catch(function(){}),f}}),jo(yi(o),"onNodeMouseEnter",function(l,s){var c=o.props.onMouseEnter;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeMouseLeave",function(l,s){var c=o.props.onMouseLeave;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeContextMenu",function(l,s){var c=o.props.onRightClick;c&&(l.preventDefault(),c({event:l,node:s}))}),jo(yi(o),"onFocus",function(){var l=o.props.onFocus;o.setState({focused:!0});for(var s=arguments.length,c=new Array(s),u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!o.destroyed){var u=!1,d=!0,f={};Object.keys(l).forEach(function(p){if(p in o.props){d=!1;return}u=!0,f[p]=l[p]}),u&&(!s||d)&&o.setState(Ru(Ru({},f),c))}}),jo(yi(o),"scrollTo",function(l){o.listRef.current.scrollTo(l)}),o}return pJe(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var i=this.props,r=i.activeKey,a=i.itemScrollOffset,l=a===void 0?0:a;r!==void 0&&r!==this.state.activeKey&&(this.setState({activeKey:r}),r!==null&&this.scrollTo({key:r,offset:l}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var i=this.state,r=i.focused,a=i.flattenNodes,l=i.keyEntities,s=i.draggingNodeKey,c=i.activeKey,u=i.dropLevelOffset,d=i.dropContainerKey,f=i.dropTargetKey,p=i.dropPosition,g=i.dragOverNodeKey,A=i.indent,w=this.props,b=w.prefixCls,C=w.className,P=w.style,v=w.showLine,T=w.focusable,y=w.tabIndex,S=y===void 0?0:y,x=w.selectable,R=w.showIcon,H=w.icon,D=w.switcherIcon,k=w.draggable,W=w.checkable,N=w.checkStrictly,L=w.disabled,E=w.motion,U=w.loadData,F=w.filterTreeNode,B=w.height,_=w.itemHeight,Y=w.virtual,O=w.titleRender,J=w.dropIndicatorRender,Z=w.onContextMenu,ie=w.onScroll,ee=w.direction,q=w.rootClassName,ae=w.rootStyle,ne=AJe(this.props,{aria:!0,data:!0}),se;return k&&(q6(k)==="object"?se=k:typeof k=="function"?se={nodeDraggable:k}:se={}),m.createElement(Ome.Provider,{value:{prefixCls:b,selectable:x,showIcon:R,icon:H,switcherIcon:D,draggable:se,draggingNodeKey:s,checkable:W,checkStrictly:N,disabled:L,keyEntities:l,dropLevelOffset:u,dropContainerKey:d,dropTargetKey:f,dropPosition:p,dragOverNodeKey:g,indent:A,direction:ee,dropIndicatorRender:J,loadData:U,filterTreeNode:F,titleRender:O,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},m.createElement("div",{role:"tree",className:q5(b,C,q,jo(jo(jo({},"".concat(b,"-show-line"),v),"".concat(b,"-focused"),r),"".concat(b,"-active-focused"),c!==null)),style:ae},m.createElement(CJe,w9({ref:this.listRef,prefixCls:b,style:P,data:a,disabled:L,selectable:x,checkable:!!W,motion:E,dragging:s!==null,height:B,itemHeight:_,virtual:Y,focusable:T,focused:r,tabIndex:S,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Z,onScroll:ie},this.getTreeNodeRequiredProps(),ne))))}}],[{key:"getDerivedStateFromProps",value:function(i,r){var a=r.prevProps,l={prevProps:i};function s(y){return!a&&y in i||a&&a[y]!==i[y]}var c,u=r.fieldNames;if(s("fieldNames")&&(u=lR(i.fieldNames),l.fieldNames=u),s("treeData")?c=i.treeData:s("children")&&(m2(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=vJe(i.children)),c){l.treeData=c;var d=_me(c,{fieldNames:u});l.keyEntities=Ru(jo({},Gx,PJe),d.keyEntities)}var f=l.keyEntities||r.keyEntities;if(s("expandedKeys")||a&&s("autoExpandParent"))l.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?$0e(i.expandedKeys,f):i.expandedKeys;else if(!a&&i.defaultExpandAll){var p=Ru({},f);delete p[Gx],l.expandedKeys=Object.keys(p).map(function(y){return p[y].key})}else!a&&i.defaultExpandedKeys&&(l.expandedKeys=i.autoExpandParent||i.defaultExpandParent?$0e(i.defaultExpandedKeys,f):i.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,c||l.expandedKeys){var g=Gie(c||r.treeData,l.expandedKeys||r.expandedKeys,u);l.flattenNodes=g}if(i.selectable&&(s("selectedKeys")?l.selectedKeys=Cxe(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(l.selectedKeys=Cxe(i.defaultSelectedKeys,i))),i.checkable){var A;if(s("checkedKeys")?A=Xie(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?A=Xie(i.defaultCheckedKeys)||{}:c&&(A=Xie(i.checkedKeys)||{checkedKeys:r.checkedKeys,halfCheckedKeys:r.halfCheckedKeys}),A){var w=A,b=w.checkedKeys,C=b===void 0?[]:b,P=w.halfCheckedKeys,v=P===void 0?[]:P;if(!i.checkStrictly){var T=AC(C,!0,f);C=T.checkedKeys,v=T.halfCheckedKeys}l.checkedKeys=C,l.halfCheckedKeys=v}}return s("loadedKeys")&&(l.loadedKeys=i.loadedKeys),l}}]),n}(m.Component);jo(Gme,"defaultProps",{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:DYt,allowDrop:function(){return!0},expandAction:!1});jo(Gme,"TreeNode",sR);var VYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"},GYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:VYt}))},RJe=m.forwardRef(GYt),XYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"},JYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:XYt}))},HJe=m.forwardRef(JYt),KYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"},qYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:KYt}))},$Yt=m.forwardRef(qYt),QYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"},ZYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:QYt}))},eOt=m.forwardRef(ZYt);const tOt=new ul("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),nOt=(t,e)=>({[`.${t}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${e.motionDurationSlow}`}}}),oOt=(t,e)=>({[`.${t}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:e.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${Ut(e.lineWidthBold)} solid ${e.colorPrimary}`,borderRadius:"50%",content:'""'}}}),iOt=(t,e)=>{const{treeCls:n,treeNodeCls:o,treeNodePadding:i,titleHeight:r,nodeSelectedBg:a,nodeHoverBg:l}=e,s=e.paddingXS;return{[n]:Object.assign(Object.assign({},$a(e)),{background:e.colorBgContainer,borderRadius:e.borderRadius,transition:`background-color ${e.motionDurationSlow}`,[`&${n}-rtl`]:{[`${n}-switcher`]:{"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${n}-active-focused)`]:Object.assign({},n7(e)),[`${n}-list-holder-inner`]:{alignItems:"flex-start"},[`&${n}-block-node`]:{[`${n}-list-holder-inner`]:{alignItems:"stretch",[`${n}-node-content-wrapper`]:{flex:"auto"},[`${o}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:i,insetInlineStart:0,border:`1px solid ${e.colorPrimary}`,opacity:0,animationName:tOt,animationDuration:e.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${o}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${Ut(i)} 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${n}-node-content-wrapper`]:{color:e.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${n}-node-content-wrapper`]:{background:e.controlItemBgHover},[`&:not(${o}-disabled).filter-node ${n}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{cursor:"grab",[`${n}-draggable-icon`]:{flexShrink:0,width:r,lineHeight:`${Ut(r)}`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${e.motionDurationSlow}`,[`${o}:hover &`]:{opacity:.45}},[`&${o}-disabled`]:{[`${n}-draggable-icon`]:{visibility:"hidden"}}}},[`${n}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:r}},[`${n}-draggable-icon`]:{visibility:"hidden"},[`${n}-switcher`]:Object.assign(Object.assign({},nOt(t,e)),{position:"relative",flex:"none",alignSelf:"stretch",width:r,margin:0,lineHeight:`${Ut(r)}`,textAlign:"center",cursor:"pointer",userSelect:"none",transition:`all ${e.motionDurationSlow}`,borderRadius:e.borderRadius,"&-noop":{cursor:"unset"},[`&:not(${n}-switcher-noop):hover`]:{backgroundColor:e.colorBgTextHover},"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:e.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),marginInlineStart:-1,borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:e.calc(e.calc(r).div(2).equal()).mul(.8).equal(),height:e.calc(r).div(2).equal(),borderBottom:`1px solid ${e.colorBorder}`,content:'""'}}}),[`${n}-checkbox`]:{top:"initial",marginInlineEnd:s,alignSelf:"flex-start",marginTop:e.marginXXS},[`${n}-node-content-wrapper, ${n}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:r,margin:0,padding:`0 ${Ut(e.calc(e.paddingXS).div(2).equal())}`,color:"inherit",lineHeight:`${Ut(r)}`,background:"transparent",borderRadius:e.borderRadius,cursor:"pointer",transition:`all ${e.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:l},[`&${n}-node-selected`]:{backgroundColor:a},[`${n}-iconEle`]:{display:"inline-block",width:r,height:r,lineHeight:`${Ut(r)}`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${n}-unselectable ${n}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${n}-node-content-wrapper`]:Object.assign({lineHeight:`${Ut(r)}`,userSelect:"none"},oOt(t,e)),[`${o}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${e.colorPrimary}`}},"&-show-line":{[`${n}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${n}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${o}-leaf-last`]:{[`${n}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${Ut(e.calc(r).div(2).equal())} !important`}}}}})}},rOt=t=>{const{treeCls:e,treeNodeCls:n,treeNodePadding:o,directoryNodeSelectedBg:i,directoryNodeSelectedColor:r}=t;return{[`${e}${e}-directory`]:{[n]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:o,insetInlineStart:0,transition:`background-color ${t.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:t.controlItemBgHover}},"> *":{zIndex:1},[`${e}-switcher`]:{transition:`color ${t.motionDurationMid}`},[`${e}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${e}-node-selected`]:{color:r,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:i},[`${e}-switcher`]:{color:r},[`${e}-node-content-wrapper`]:{color:r,background:"transparent"}}}}}},aOt=(t,e)=>{const n=`.${t}`,o=`${n}-treenode`,i=e.calc(e.paddingXS).div(2).equal(),r=Zr(e,{treeCls:n,treeNodeCls:o,treeNodePadding:i});return[iOt(t,r),rOt(r)]},lOt=t=>{const{controlHeightSM:e}=t;return{titleHeight:e,nodeHoverBg:t.controlItemBgHover,nodeSelectedBg:t.controlItemBgActive}},sOt=t=>{const{colorTextLightSolid:e,colorPrimary:n}=t;return Object.assign(Object.assign({},lOt(t)),{directoryNodeSelectedColor:e,directoryNodeSelectedBg:n})},cOt=Fl("Tree",(t,e)=>{let{prefixCls:n}=e;return[{[t.componentCls]:lXe(`${n}-checkbox`,t)},aOt(n,t),Zge(t)]},sOt),kxe=4;function uOt(t){const{dropPosition:e,dropLevelOffset:n,prefixCls:o,indent:i,direction:r="ltr"}=t,a=r==="ltr"?"left":"right",l=r==="ltr"?"right":"left",s={[a]:-n*i+kxe,[l]:0};switch(e){case-1:s.top=-3;break;case 1:s.bottom=-3;break;default:s.bottom=-3,s[a]=i+kxe;break}return be.createElement("div",{style:s,className:`${o}-drop-indicator`})}var dOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"},fOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:dOt}))},hOt=m.forwardRef(fOt),pOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},gOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:pOt}))},mOt=m.forwardRef(gOt),yOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},AOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:yOt}))},wOt=m.forwardRef(AOt);const vOt=t=>{const{prefixCls:e,switcherIcon:n,treeNodeProps:o,showLine:i}=t,{isLeaf:r,expanded:a,loading:l}=o;if(l)return m.createElement(HH,{className:`${e}-switcher-loading-icon`});let s;if(i&&typeof i=="object"&&(s=i.showLeafIcon),r){if(!i)return null;if(typeof s!="boolean"&&s){const d=typeof s=="function"?s(o):s,f=`${e}-switcher-line-custom-icon`;return m.isValidElement(d)?Ou(d,{className:Gn(d.props.className||"",f)}):d}return s?m.createElement(RJe,{className:`${e}-switcher-line-icon`}):m.createElement("span",{className:`${e}-switcher-leaf-line`})}const c=`${e}-switcher-icon`,u=typeof n=="function"?n(o):n;return m.isValidElement(u)?Ou(u,{className:Gn(u.props.className||"",c)}):u!==void 0?u:i?a?m.createElement(mOt,{className:`${e}-switcher-line-icon`}):m.createElement(wOt,{className:`${e}-switcher-line-icon`}):m.createElement(hOt,{className:c})},MJe=be.forwardRef((t,e)=>{var n;const{getPrefixCls:o,direction:i,virtual:r,tree:a}=be.useContext(Mi),{prefixCls:l,className:s,showIcon:c=!1,showLine:u,switcherIcon:d,blockNode:f=!1,children:p,checkable:g=!1,selectable:A=!0,draggable:w,motion:b,style:C}=t,P=o("tree",l),v=o(),T=b??Object.assign(Object.assign({},Xge(v)),{motionAppear:!1}),y=Object.assign(Object.assign({},t),{checkable:g,selectable:A,showIcon:c,motion:T,blockNode:f,showLine:!!u,dropIndicatorRender:uOt}),[S,x,R]=cOt(P),[,H]=Yu(),D=H.paddingXS/2+(((n=H.Tree)===null||n===void 0?void 0:n.titleHeight)||H.controlHeightSM),k=be.useMemo(()=>{if(!w)return!1;let N={};switch(typeof w){case"function":N.nodeDraggable=w;break;case"object":N=Object.assign({},w);break}return N.icon!==!1&&(N.icon=N.icon||be.createElement(eOt,null)),N},[w]),W=N=>be.createElement(vOt,{prefixCls:P,switcherIcon:d,treeNodeProps:N,showLine:u});return S(be.createElement(Gme,Object.assign({itemHeight:D,ref:e,virtual:r},y,{style:Object.assign(Object.assign({},a==null?void 0:a.style),C),prefixCls:P,className:Gn({[`${P}-icon-hide`]:!c,[`${P}-block-node`]:f,[`${P}-unselectable`]:!A,[`${P}-rtl`]:i==="rtl"},a==null?void 0:a.className,s,x,R),direction:i,checkable:g&&be.createElement("span",{className:`${P}-checkbox-inner`}),selectable:A,switcherIcon:W,draggable:k}),p))}),Fxe=0,Jie=1,Lxe=2;function Xme(t,e,n){const{key:o,children:i}=n;function r(a){const l=a[o],s=a[i];e(l,a)!==!1&&Xme(s||[],e,n)}t.forEach(r)}function xOt(t){let{treeData:e,expandedKeys:n,startKey:o,endKey:i,fieldNames:r}=t;const a=[];let l=Fxe;if(o&&o===i)return[o];if(!o||!i)return[];function s(c){return c===o||c===i}return Xme(e,c=>{if(l===Lxe)return!1;if(s(c)){if(a.push(c),l===Fxe)l=Jie;else if(l===Jie)return l=Lxe,!1}else l===Jie&&a.push(c);return n.includes(c)},lR(r)),a}function Kie(t,e,n){const o=Xa(e),i=[];return Xme(t,(r,a)=>{const l=o.indexOf(r);return l!==-1&&(i.push(a),o.splice(l,1)),!!o.length},lR(n)),i}var Wxe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{defaultExpandAll:n,defaultExpandParent:o,defaultExpandedKeys:i}=t,r=Wxe(t,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const a=m.useRef(),l=m.useRef(),s=()=>{const{keyEntities:x}=_me(Nxe(r));let R;return n?R=Object.keys(x):o?R=$0e(r.expandedKeys||i||[],x):R=r.expandedKeys||i||[],R},[c,u]=m.useState(r.selectedKeys||r.defaultSelectedKeys||[]),[d,f]=m.useState(()=>s());m.useEffect(()=>{"selectedKeys"in r&&u(r.selectedKeys)},[r.selectedKeys]),m.useEffect(()=>{"expandedKeys"in r&&f(r.expandedKeys)},[r.expandedKeys]);const p=(x,R)=>{var H;return"expandedKeys"in r||f(x),(H=r.onExpand)===null||H===void 0?void 0:H.call(r,x,R)},g=(x,R)=>{var H;const{multiple:D,fieldNames:k}=r,{node:W,nativeEvent:N}=R,{key:L=""}=W,E=Nxe(r),U=Object.assign(Object.assign({},R),{selected:!0}),F=(N==null?void 0:N.ctrlKey)||(N==null?void 0:N.metaKey),B=N==null?void 0:N.shiftKey;let _;D&&F?(_=x,a.current=L,l.current=_,U.selectedNodes=Kie(E,_,k)):D&&B?(_=Array.from(new Set([].concat(Xa(l.current||[]),Xa(xOt({treeData:E,expandedKeys:d,startKey:L,endKey:a.current,fieldNames:k}))))),U.selectedNodes=Kie(E,_,k)):(_=[L],a.current=L,l.current=_,U.selectedNodes=Kie(E,_,k)),(H=r.onSelect)===null||H===void 0||H.call(r,_,U),"selectedKeys"in r||u(_)},{getPrefixCls:A,direction:w}=m.useContext(Mi),{prefixCls:b,className:C,showIcon:P=!0,expandAction:v="click"}=r,T=Wxe(r,["prefixCls","className","showIcon","expandAction"]),y=A("tree",b),S=Gn(`${y}-directory`,{[`${y}-directory-rtl`]:w==="rtl"},C);return m.createElement(MJe,Object.assign({icon:bOt,ref:e,blockNode:!0},T,{showIcon:P,expandAction:v,prefixCls:y,className:S,expandedKeys:d,selectedKeys:c,onSelect:g,onExpand:p}))},TOt=m.forwardRef(SOt),Jme=MJe;Jme.DirectoryTree=TOt;Jme.TreeNode=sR;function Uxe(t){let{value:e,onChange:n,filterSearch:o,tablePrefixCls:i,locale:r}=t;return o?m.createElement("div",{className:`${i}-filter-dropdown-search`},m.createElement(ns,{prefix:m.createElement(ame,null),placeholder:r.filterSearchPlaceholder,onChange:n,value:e,htmlSize:1,className:`${i}-filter-dropdown-search-input`})):null}const POt=t=>{const{keyCode:e}=t;e===hr.ENTER&&t.stopPropagation()},COt=m.forwardRef((t,e)=>m.createElement("div",{className:t.className,onClick:n=>n.stopPropagation(),onKeyDown:POt,ref:e},t.children));function wC(t){let e=[];return(t||[]).forEach(n=>{let{value:o,children:i}=n;e.push(o),i&&(e=[].concat(Xa(e),Xa(wC(i))))}),e}function ROt(t){return t.some(e=>{let{children:n}=e;return n})}function IJe(t,e){return typeof e=="string"||typeof e=="number"?e==null?void 0:e.toString().toLowerCase().includes(t.trim().toLowerCase()):!1}function zJe(t){let{filters:e,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a}=t;return e.map((l,s)=>{const c=String(l.value);if(l.children)return{key:c||s,label:l.text,popupClassName:`${n}-dropdown-submenu`,children:zJe({filters:l.children,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a})};const u=i?Wr:Be,d={key:l.value!==void 0?c:s,label:m.createElement(m.Fragment,null,m.createElement(u,{checked:o.includes(c)}),m.createElement("span",null,l.text))};return r.trim()?typeof a=="function"?a(r,l)?d:null:IJe(r,l.text)?d:null:d})}function qie(t){return t||[]}function HOt(t){var e,n;const{tablePrefixCls:o,prefixCls:i,column:r,dropdownPrefixCls:a,columnKey:l,filterOnClose:s,filterMultiple:c,filterMode:u="menu",filterSearch:d=!1,filterState:f,triggerFilter:p,locale:g,children:A,getPopupContainer:w,rootClassName:b}=t,{filterDropdownOpen:C,onFilterDropdownOpenChange:P,filterResetToDefaultFilteredValue:v,defaultFilteredValue:T,filterDropdownVisible:y,onFilterDropdownVisibleChange:S}=r,[x,R]=m.useState(!1),H=!!(f&&(!((e=f.filteredKeys)===null||e===void 0)&&e.length||f.forceFiltered)),D=de=>{R(de),P==null||P(de),S==null||S(de)},k=(n=C??y)!==null&&n!==void 0?n:x,W=f==null?void 0:f.filteredKeys,[N,L]=zYt(qie(W)),E=de=>{let{selectedKeys:Se}=de;L(Se)},U=(de,Se)=>{let{node:Ce,checked:ve}=Se;E(c?{selectedKeys:de}:{selectedKeys:ve&&Ce.key?[Ce.key]:[]})};m.useEffect(()=>{x&&E({selectedKeys:qie(W)})},[W]);const[F,B]=m.useState([]),_=de=>{B(de)},[Y,O]=m.useState(""),J=de=>{const{value:Se}=de.target;O(Se)};m.useEffect(()=>{x||O("")},[x]);const Z=de=>{const Se=de&&de.length?de:null;if(Se===null&&(!f||!f.filteredKeys)||Oce(Se,f==null?void 0:f.filteredKeys,!0))return null;p({column:r,key:l,filteredKeys:Se})},ie=()=>{D(!1),Z(N())},ee=function(){let{confirm:de,closeDropdown:Se}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};de&&Z([]),Se&&D(!1),O(""),L(v?(T||[]).map(Ce=>String(Ce)):[])},q=function(){let{closeDropdown:de}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};de&&D(!1),Z(N())},ae=(de,Se)=>{Se.source==="trigger"&&(de&&W!==void 0&&L(qie(W)),D(de),!de&&!r.filterDropdown&&s&&ie())},ne=Gn({[`${a}-menu-without-submenu`]:!ROt(r.filters||[])}),se=de=>{if(de.target.checked){const Se=wC(r==null?void 0:r.filters).map(Ce=>String(Ce));L(Se)}else L([])},le=de=>{let{filters:Se}=de;return(Se||[]).map((Ce,ve)=>{const Ie=String(Ce.value),ze={title:Ce.text,key:Ce.value!==void 0?Ie:String(ve)};return Ce.children&&(ze.children=le({filters:Ce.children})),ze})},te=de=>{var Se;return Object.assign(Object.assign({},de),{text:de.title,value:de.key,children:((Se=de.children)===null||Se===void 0?void 0:Se.map(Ce=>te(Ce)))||[]})};let he;if(typeof r.filterDropdown=="function")he=r.filterDropdown({prefixCls:`${a}-custom`,setSelectedKeys:de=>E({selectedKeys:de}),selectedKeys:N(),confirm:q,clearFilters:ee,filters:r.filters,visible:k,close:()=>{D(!1)}});else if(r.filterDropdown)he=r.filterDropdown;else{const de=N()||[],Se=()=>{const ve=m.createElement(lg,{image:lg.PRESENTED_IMAGE_SIMPLE,description:g.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}});if((r.filters||[]).length===0)return ve;if(u==="tree")return m.createElement(m.Fragment,null,m.createElement(Uxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),m.createElement("div",{className:`${o}-filter-dropdown-tree`},c?m.createElement(Wr,{checked:de.length===wC(r.filters).length,indeterminate:de.length>0&&de.lengthtypeof d=="function"?d(Y,te(ye)):IJe(Y,ye.title):void 0})));const Ie=zJe({filters:r.filters||[],filterSearch:d,prefixCls:i,filteredKeys:N(),filterMultiple:c,searchValue:Y}),ze=Ie.every(ye=>ye===null);return m.createElement(m.Fragment,null,m.createElement(Uxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),ze?ve:m.createElement(EH,{selectable:!0,multiple:c,prefixCls:`${a}-menu`,className:ne,onSelect:E,onDeselect:E,selectedKeys:de,getPopupContainer:w,openKeys:F,onOpenChange:_,items:Ie}))},Ce=()=>v?Oce((T||[]).map(ve=>String(ve)),de,!0):de.length===0;he=m.createElement(m.Fragment,null,Se(),m.createElement("div",{className:`${i}-dropdown-btns`},m.createElement(oo,{type:"link",size:"small",disabled:Ce(),onClick:()=>ee()},g.filterReset),m.createElement(oo,{type:"primary",size:"small",onClick:ie},g.filterConfirm)))}r.filterDropdown&&(he=m.createElement(sGe,{selectable:void 0},he));const pe=()=>m.createElement(COt,{className:`${i}-dropdown`},he);let fe;typeof r.filterIcon=="function"?fe=r.filterIcon(H):r.filterIcon?fe=r.filterIcon:fe=m.createElement(IYt,null);const{direction:$}=m.useContext(Mi);return m.createElement("div",{className:`${i}-column`},m.createElement("span",{className:`${o}-column-title`},A),m.createElement(W7,{dropdownRender:pe,trigger:["click"],open:k,onOpenChange:ae,getPopupContainer:w,placement:$==="rtl"?"bottomLeft":"bottomRight",rootClassName:b},m.createElement("span",{role:"button",tabIndex:-1,className:Gn(`${i}-trigger`,{active:H}),onClick:de=>{de.stopPropagation()}},fe)))}function nue(t,e,n){let o=[];return(t||[]).forEach((i,r)=>{var a;const l=BW(r,n);if(i.filters||"filterDropdown"in i||"onFilter"in i)if("filteredValue"in i){let s=i.filteredValue;"filterDropdown"in i||(s=(a=s==null?void 0:s.map(String))!==null&&a!==void 0?a:s),o.push({column:i,key:Vx(i,l),filteredKeys:s,forceFiltered:i.filtered})}else o.push({column:i,key:Vx(i,l),filteredKeys:e&&i.defaultFilteredValue?i.defaultFilteredValue:void 0,forceFiltered:i.filtered});"children"in i&&(o=[].concat(Xa(o),Xa(nue(i.children,e,l))))}),o}function DJe(t,e,n,o,i,r,a,l,s){return n.map((c,u)=>{const d=BW(u,l),{filterOnClose:f=!0,filterMultiple:p=!0,filterMode:g,filterSearch:A}=c;let w=c;if(w.filters||w.filterDropdown){const b=Vx(w,d),C=o.find(P=>{let{key:v}=P;return b===v});w=Object.assign(Object.assign({},w),{title:P=>m.createElement(HOt,{tablePrefixCls:t,prefixCls:`${t}-filter`,dropdownPrefixCls:e,column:w,columnKey:b,filterState:C,filterOnClose:f,filterMultiple:p,filterMode:g,filterSearch:A,triggerFilter:r,locale:i,getPopupContainer:a,rootClassName:s},j$(c.title,P))})}return"children"in w&&(w=Object.assign(Object.assign({},w),{children:DJe(t,e,w.children,o,i,r,a,d,s)})),w})}function Bxe(t){const e={};return t.forEach(n=>{let{key:o,filteredKeys:i,column:r}=n;const a=o,{filters:l,filterDropdown:s}=r;if(s)e[a]=i||null;else if(Array.isArray(i)){const c=wC(l);e[a]=c.filter(u=>i.includes(String(u)))}else e[a]=null}),e}function oue(t,e,n){return e.reduce((o,i)=>{const{column:{onFilter:r,filters:a},filteredKeys:l}=i;return r&&l&&l.length?o.map(s=>Object.assign({},s)).filter(s=>l.some(c=>{const u=wC(a),d=u.findIndex(p=>String(p)===String(c)),f=d!==-1?u[d]:c;return s[n]&&(s[n]=oue(s[n],e,n)),r(f,s)})):o},t)}const EJe=t=>t.flatMap(e=>"children"in e?[e].concat(Xa(EJe(e.children||[]))):[e]);function MOt(t){let{prefixCls:e,dropdownPrefixCls:n,mergedColumns:o,onFilterChange:i,getPopupContainer:r,locale:a,rootClassName:l}=t;Hb();const s=m.useMemo(()=>EJe(o||[]),[o]),[c,u]=m.useState(()=>nue(s,!0)),d=m.useMemo(()=>{const A=nue(s,!1);if(A.length===0)return A;let w=!0;if(A.forEach(b=>{let{filteredKeys:C}=b;C!==void 0&&(w=!1)}),w){const b=(s||[]).map((C,P)=>Vx(C,BW(P)));return c.filter(C=>{let{key:P}=C;return b.includes(P)}).map(C=>{const P=s[b.findIndex(v=>v===C.key)];return Object.assign(Object.assign({},C),{column:Object.assign(Object.assign({},C.column),P),forceFiltered:P.filtered})})}return A},[s,c]),f=m.useMemo(()=>Bxe(d),[d]),p=A=>{const w=d.filter(b=>{let{key:C}=b;return C!==A.key});w.push(A),u(w),i(Bxe(w),w)};return[A=>DJe(e,n,A,d,a,p,r,void 0,l),d,f]}function IOt(t,e,n){const o=m.useRef({});function i(r){if(!o.current||o.current.data!==t||o.current.childrenColumnName!==e||o.current.getRowKey!==n){let s=function(c){c.forEach((u,d)=>{const f=n(u,d);l.set(f,u),u&&typeof u=="object"&&e in u&&s(u[e]||[])})};var a=s;const l=new Map;s(t),o.current={data:t,childrenColumnName:e,kvMap:l,getRowKey:n}}return o.current.kvMap.get(r)}return[i]}var zOt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const r=t[i];typeof r!="function"&&(n[i]=r)}),n}function EOt(t,e,n){const o=n&&typeof n=="object"?n:{},{total:i=0}=o,r=zOt(o,["total"]),[a,l]=m.useState(()=>({current:"defaultCurrent"in r?r.defaultCurrent:1,pageSize:"defaultPageSize"in r?r.defaultPageSize:kJe})),s=LXe(a,r,{total:i>0?i:t}),c=Math.ceil((i||t)/s.pageSize);s.current>c&&(s.current=c||1);const u=(f,p)=>{l({current:f??1,pageSize:p||s.pageSize})},d=(f,p)=>{var g;n&&((g=n.onChange)===null||g===void 0||g.call(n,f,p)),u(f,p),e(f,p||(s==null?void 0:s.pageSize))};return n===!1?[{},()=>{}]:[Object.assign(Object.assign({},s),{onChange:d}),u]}var kOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"},FOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:kOt}))},FJe=m.forwardRef(FOt),LOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"},WOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:LOt}))},NOt=m.forwardRef(WOt);const N_="ascend",$ie="descend";function EG(t){return typeof t.sorter=="object"&&typeof t.sorter.multiple=="number"?t.sorter.multiple:!1}function jxe(t){return typeof t=="function"?t:t&&typeof t=="object"&&t.compare?t.compare:!1}function UOt(t,e){return e?t[t.indexOf(e)+1]:t[0]}function iue(t,e,n){let o=[];function i(r,a){o.push({column:r,key:Vx(r,a),multiplePriority:EG(r),sortOrder:r.sortOrder})}return(t||[]).forEach((r,a)=>{const l=BW(a,n);r.children?("sortOrder"in r&&i(r,l),o=[].concat(Xa(o),Xa(iue(r.children,e,l)))):r.sorter&&("sortOrder"in r?i(r,l):e&&r.defaultSortOrder&&o.push({column:r,key:Vx(r,l),multiplePriority:EG(r),sortOrder:r.defaultSortOrder}))}),o}function LJe(t,e,n,o,i,r,a,l){return(e||[]).map((s,c)=>{const u=BW(c,l);let d=s;if(d.sorter){const f=d.sortDirections||i,p=d.showSorterTooltip===void 0?a:d.showSorterTooltip,g=Vx(d,u),A=n.find(x=>{let{key:R}=x;return R===g}),w=A?A.sortOrder:null,b=UOt(f,w);let C;if(s.sortIcon)C=s.sortIcon({sortOrder:w});else{const x=f.includes(N_)&&m.createElement(NOt,{className:Gn(`${t}-column-sorter-up`,{active:w===N_})}),R=f.includes($ie)&&m.createElement(FJe,{className:Gn(`${t}-column-sorter-down`,{active:w===$ie})});C=m.createElement("span",{className:Gn(`${t}-column-sorter`,{[`${t}-column-sorter-full`]:!!(x&&R)})},m.createElement("span",{className:`${t}-column-sorter-inner`,"aria-hidden":"true"},x,R))}const{cancelSort:P,triggerAsc:v,triggerDesc:T}=r||{};let y=P;b===$ie?y=T:b===N_&&(y=v);const S=typeof p=="object"?Object.assign({title:y},p):{title:y};d=Object.assign(Object.assign({},d),{className:Gn(d.className,{[`${t}-column-sort`]:w}),title:x=>{const R=`${t}-column-sorters`,H=m.createElement("span",{className:`${t}-column-title`},j$(s.title,x)),D=m.createElement("div",{className:R},H,C);return p?typeof p!="boolean"&&(p==null?void 0:p.target)==="sorter-icon"?m.createElement("div",{className:`${R} ${t}-column-sorters-tooltip-target-sorter`},H,m.createElement(J6,Object.assign({},S),C)):m.createElement(J6,Object.assign({},S),D):D},onHeaderCell:x=>{const R=s.onHeaderCell&&s.onHeaderCell(x)||{},H=R.onClick,D=R.onKeyDown;R.onClick=N=>{o({column:s,key:g,sortOrder:b,multiplePriority:EG(s)}),H==null||H(N)},R.onKeyDown=N=>{N.keyCode===hr.ENTER&&(o({column:s,key:g,sortOrder:b,multiplePriority:EG(s)}),D==null||D(N))};const k=RYt(s.title,{}),W=k==null?void 0:k.toString();return w?R["aria-sort"]=w==="ascend"?"ascending":"descending":R["aria-label"]=W||"",R.className=Gn(R.className,`${t}-column-has-sorters`),R.tabIndex=0,s.ellipsis&&(R.title=(k??"").toString()),R}})}return"children"in d&&(d=Object.assign(Object.assign({},d),{children:LJe(t,d.children,n,o,i,r,a,u)})),d})}const Yxe=t=>{const{column:e,sortOrder:n}=t;return{column:e,order:n,field:e.dataIndex,columnKey:e.key}},Oxe=t=>{const e=t.filter(n=>{let{sortOrder:o}=n;return o}).map(Yxe);if(e.length===0&&t.length){const n=t.length-1;return Object.assign(Object.assign({},Yxe(t[n])),{column:void 0})}return e.length<=1?e[0]||{}:e};function rue(t,e,n){const o=e.slice().sort((a,l)=>l.multiplePriority-a.multiplePriority),i=t.slice(),r=o.filter(a=>{let{column:{sorter:l},sortOrder:s}=a;return jxe(l)&&s});return r.length?i.sort((a,l)=>{for(let s=0;s{const l=a[n];return l?Object.assign(Object.assign({},a),{[n]:rue(l,e,n)}):a}):i}function BOt(t){let{prefixCls:e,mergedColumns:n,onSorterChange:o,sortDirections:i,tableLocale:r,showSorterTooltip:a}=t;const[l,s]=m.useState(iue(n,!0)),c=m.useMemo(()=>{let g=!0;const A=iue(n,!1);if(!A.length)return l;const w=[];function b(P){g?w.push(P):w.push(Object.assign(Object.assign({},P),{sortOrder:null}))}let C=null;return A.forEach(P=>{C===null?(b(P),P.sortOrder&&(P.multiplePriority===!1?g=!1:C=!0)):(C&&P.multiplePriority!==!1||(g=!1),b(P))}),w},[n,l]),u=m.useMemo(()=>{const g=c.map(A=>{let{column:w,sortOrder:b}=A;return{column:w,order:b}});return{sortColumns:g,sortColumn:g[0]&&g[0].column,sortOrder:g[0]&&g[0].order}},[c]),d=g=>{let A;g.multiplePriority===!1||!c.length||c[0].multiplePriority===!1?A=[g]:A=[].concat(Xa(c.filter(w=>{let{key:b}=w;return b!==g.key})),[g]),s(A),o(Oxe(A),A)};return[g=>LJe(e,g,c,d,i,r,a),c,u,()=>Oxe(c)]}function WJe(t,e){return t.map(n=>{const o=Object.assign({},n);return o.title=j$(n.title,e),"children"in o&&(o.children=WJe(o.children,e)),o})}function jOt(t){return[m.useCallback(n=>WJe(n,t),[t])]}const YOt=lJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),OOt=cJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),_Ot=t=>{const{componentCls:e,lineWidth:n,lineType:o,tableBorderColor:i,tableHeaderBg:r,tablePaddingVertical:a,tablePaddingHorizontal:l,calc:s}=t,c=`${Ut(n)} ${o} ${i}`,u=(d,f,p)=>({[`&${e}-${d}`]:{[`> ${e}-container`]:{[`> ${e}-content, > ${e}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${e}-expanded-row-fixed`]:{margin:`${Ut(s(f).mul(-1).equal())} + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,tYt="".concat(Zjt," ").concat(eYt).split(/[\s\n]+/),nYt="aria-",oYt="data-";function bxe(t,e){return t.indexOf(e)===0}function mJe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;e===!1?n={aria:!0,data:!0,attr:!0}:e===!0?n={aria:!0}:n=Ru({},e);var o={};return Object.keys(t).forEach(function(i){(n.aria&&(i==="role"||bxe(i,nYt))||n.data&&bxe(i,oYt)||n.attr&&tYt.includes(i))&&(o[i]=t[i])}),o}var Ome=m.createContext(null),iYt=function(e){for(var n=e.prefixCls,o=e.level,i=e.isStart,r=e.isEnd,a="".concat(n,"-indent-unit"),l=[],s=0;s1&&arguments[1]!==void 0?arguments[1]:{},n=[];return be.Children.forEach(t,function(o){o==null&&!e.keepEmpty||(Array.isArray(o)?n=n.concat(q0e(o)):gC.isFragment(o)&&o.props?n=n.concat(q0e(o.props.children,e)):n.push(o))}),n}function aYt(t,e){var n=Ru({},t);return Array.isArray(e)&&e.forEach(function(o){delete n[o]}),n}var lYt=["children"];function yJe(t,e){return"".concat(t,"-").concat(e)}function sYt(t){return t&&t.type&&t.type.isTreeNode}function UW(t,e){return t??e}function lR(t){var e=t||{},n=e.title,o=e._title,i=e.key,r=e.children,a=n||"title";return{title:a,_title:o||[a],key:i||"key",children:r||"children"}}function AJe(t){function e(n){var o=q0e(n);return o.map(function(i){if(!sYt(i))return m2(!i,"Tree/TreeNode can only accept TreeNode as children."),null;var r=i.key,a=i.props,l=a.children,s=B$(a,lYt),c=Ru({key:r},s),u=e(l);return u.length&&(c.children=u),c}).filter(function(i){return i})}return e(t)}function Gie(t,e,n){var o=lR(n),i=o._title,r=o.key,a=o.children,l=new Set(e===!0?[]:e),s=[];function c(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return u.map(function(f,p){for(var g=yJe(d?d.pos:"0",p),A=UW(f[r],g),w,b=0;b1&&arguments[1]!==void 0?arguments[1]:{},n=e.initWrapper,o=e.processEntity,i=e.onProcessFinished,r=e.externalGetKey,a=e.childrenPropName,l=e.fieldNames,s=arguments.length>2?arguments[2]:void 0,c=r||s,u={},d={},f={posEntities:u,keyEntities:d};return n&&(f=n(f)||f),cYt(t,function(p){var g=p.node,A=p.index,w=p.pos,b=p.key,C=p.parentPos,P=p.level,v=p.nodes,T={node:g,nodes:v,index:A,key:b,pos:w,level:P},y=UW(b,w);u[w]=T,d[y]=T,T.parent=u[C],T.parent&&(T.parent.children=T.parent.children||[],T.parent.children.push(T)),o&&o(T,f)},{externalGetKey:c,childrenPropName:a,fieldNames:l}),i&&i(f),f}function fE(t,e){var n=e.expandedKeys,o=e.selectedKeys,i=e.loadedKeys,r=e.loadingKeys,a=e.checkedKeys,l=e.halfCheckedKeys,s=e.dragOverNodeKey,c=e.dropPosition,u=e.keyEntities,d=Ep(u,t),f={eventKey:t,expanded:n.indexOf(t)!==-1,selected:o.indexOf(t)!==-1,loaded:i.indexOf(t)!==-1,loading:r.indexOf(t)!==-1,checked:a.indexOf(t)!==-1,halfChecked:l.indexOf(t)!==-1,pos:String(d?d.pos:""),dragOver:s===t&&c===0,dragOverGapTop:s===t&&c===-1,dragOverGapBottom:s===t&&c===1};return f}function eu(t){var e=t.data,n=t.expanded,o=t.selected,i=t.checked,r=t.loaded,a=t.loading,l=t.halfChecked,s=t.dragOver,c=t.dragOverGapTop,u=t.dragOverGapBottom,d=t.pos,f=t.active,p=t.eventKey,g=Ru(Ru({},e),{},{expanded:n,selected:o,checked:i,loaded:r,loading:a,halfChecked:l,dragOver:s,dragOverGapTop:c,dragOverGapBottom:u,pos:d,active:f,key:p});return"props"in g||Object.defineProperty(g,"props",{get:function(){return m2(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),t}}),g}var uYt=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],Sxe="open",Txe="close",dYt="---",fYt=function(t){hJe(n,t);var e=pJe(n);function n(){var o;dJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a=0&&n.splice(o,1),n}function n6(t,e){var n=(t||[]).slice();return n.indexOf(e)===-1&&n.push(e),n}function Vme(t){return t.split("-")}function hYt(t,e){var n=[],o=Ep(e,t);function i(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];r.forEach(function(a){var l=a.key,s=a.children;n.push(l),i(s)})}return i(o.children),n}function pYt(t){if(t.parent){var e=Vme(t.pos);return Number(e[e.length-1])===t.parent.children.length-1}return!1}function gYt(t){var e=Vme(t.pos);return Number(e[e.length-1])===0}function Pxe(t,e,n,o,i,r,a,l,s,c){var u,d=t.clientX,f=t.clientY,p=t.target.getBoundingClientRect(),g=p.top,A=p.height,w=(c==="rtl"?-1:1)*(((i==null?void 0:i.x)||0)-d),b=(w-12)/o,C=s.filter(function(E){var U;return(U=l[E])===null||U===void 0||(U=U.children)===null||U===void 0?void 0:U.length}),P=Ep(l,n.props.eventKey);if(f-1.5?r({dragNode:W,dropNode:N,dropPosition:1})?H=1:L=!1:r({dragNode:W,dropNode:N,dropPosition:0})?H=0:r({dragNode:W,dropNode:N,dropPosition:1})?H=1:L=!1:r({dragNode:W,dropNode:N,dropPosition:1})?H=1:L=!1,{dropPosition:H,dropLevelOffset:D,dropTargetKey:P.key,dropTargetPos:P.pos,dragOverNodeKey:R,dropContainerKey:H===0?null:((u=P.parent)===null||u===void 0?void 0:u.key)||null,dropAllowed:L}}function Cxe(t,e){if(t){var n=e.multiple;return n?t.slice():t.length?[t[0]]:t}}function Xie(t){if(!t)return null;var e;if(Array.isArray(t))e={checkedKeys:t,halfCheckedKeys:void 0};else if(q6(t)==="object")e={checkedKeys:t.checked||void 0,halfCheckedKeys:t.halfChecked||void 0};else return m2(!1,"`checkedKeys` is not an array or an object"),null;return e}function $0e(t,e){var n=new Set;function o(i){if(!n.has(i)){var r=Ep(e,i);if(r){n.add(i);var a=r.parent,l=r.node;l.disabled||a&&o(a.key)}}}return(t||[]).forEach(function(i){o(i)}),hx(n)}function wJe(t,e){var n=new Set;return t.forEach(function(o){e.has(o)||n.add(o)}),n}function mYt(t){var e=t||{},n=e.disabled,o=e.disableCheckbox,i=e.checkable;return!!(n||o)||i===!1}function yYt(t,e,n,o){for(var i=new Set(t),r=new Set,a=0;a<=n;a+=1){var l=e.get(a)||new Set;l.forEach(function(d){var f=d.key,p=d.node,g=d.children,A=g===void 0?[]:g;i.has(f)&&!o(p)&&A.filter(function(w){return!o(w.node)}).forEach(function(w){i.add(w.key)})})}for(var s=new Set,c=n;c>=0;c-=1){var u=e.get(c)||new Set;u.forEach(function(d){var f=d.parent,p=d.node;if(!(o(p)||!d.parent||s.has(d.parent.key))){if(o(d.parent.node)){s.add(f.key);return}var g=!0,A=!1;(f.children||[]).filter(function(w){return!o(w.node)}).forEach(function(w){var b=w.key,C=i.has(b);g&&!C&&(g=!1),!A&&(C||r.has(b))&&(A=!0)}),g&&i.add(f.key),A&&r.add(f.key),s.add(f.key)}})}return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(wJe(r,i))}}function AYt(t,e,n,o,i){for(var r=new Set(t),a=new Set(e),l=0;l<=o;l+=1){var s=n.get(l)||new Set;s.forEach(function(f){var p=f.key,g=f.node,A=f.children,w=A===void 0?[]:A;!r.has(p)&&!a.has(p)&&!i(g)&&w.filter(function(b){return!i(b.node)}).forEach(function(b){r.delete(b.key)})})}a=new Set;for(var c=new Set,u=o;u>=0;u-=1){var d=n.get(u)||new Set;d.forEach(function(f){var p=f.parent,g=f.node;if(!(i(g)||!f.parent||c.has(f.parent.key))){if(i(f.parent.node)){c.add(p.key);return}var A=!0,w=!1;(p.children||[]).filter(function(b){return!i(b.node)}).forEach(function(b){var C=b.key,P=r.has(C);A&&!P&&(A=!1),!w&&(P||a.has(C))&&(w=!0)}),A||r.delete(p.key),w&&a.add(p.key),c.add(p.key)}})}return{checkedKeys:Array.from(r),halfCheckedKeys:Array.from(wJe(a,r))}}function AC(t,e,n,o){var i=[],r;o?r=o:r=mYt;var a=new Set(t.filter(function(u){var d=!!Ep(n,u);return d||i.push(u),d})),l=new Map,s=0;Object.keys(n).forEach(function(u){var d=n[u],f=d.level,p=l.get(f);p||(p=new Set,l.set(f,p)),p.add(d),s=Math.max(s,f)}),m2(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map(function(u){return"'".concat(u,"'")}).join(", ")));var c;return e===!0?c=yYt(a,l,s,r):c=AYt(a,e.halfCheckedKeys,l,s,r),c}function wYt(t){const[e,n]=m.useState(null);return[m.useCallback((r,a,l)=>{const s=e??r,c=Math.min(s||0,r),u=Math.max(s||0,r),d=a.slice(c,u+1).map(g=>t(g)),f=d.some(g=>!l.has(g)),p=[];return d.forEach(g=>{f?(l.has(g)||p.push(g),l.add(g)):(l.delete(g),p.push(g))}),n(f?u:null),p},[e]),r=>{n(r)}]}const z4={},Q0e="SELECT_ALL",Z0e="SELECT_INVERT",eue="SELECT_NONE",Rxe=[],vJe=(t,e)=>{let n=[];return(e||[]).forEach(o=>{n.push(o),o&&typeof o=="object"&&t in o&&(n=[].concat(Xa(n),Xa(vJe(t,o[t]))))}),n},vYt=(t,e)=>{const{preserveSelectedRowKeys:n,selectedRowKeys:o,defaultSelectedRowKeys:i,getCheckboxProps:r,onChange:a,onSelect:l,onSelectAll:s,onSelectInvert:c,onSelectNone:u,onSelectMultiple:d,columnWidth:f,type:p,selections:g,fixed:A,renderCell:w,hideSelectAll:b,checkStrictly:C=!0}=e||{},{prefixCls:P,data:v,pageData:T,getRecordByKey:y,getRowKey:S,expandType:x,childrenColumnName:R,locale:H,getPopupContainer:D}=t,k=Hb(),[W,N]=wYt(le=>le),[L,E]=_6(o||i||Rxe,{value:o}),U=m.useRef(new Map),F=m.useCallback(le=>{if(n){const te=new Map;le.forEach(he=>{let pe=y(he);!pe&&U.current.has(he)&&(pe=U.current.get(he)),te.set(he,pe)}),U.current=te}},[y,n]);m.useEffect(()=>{F(L)},[L]);const{keyEntities:B}=m.useMemo(()=>{if(C)return{keyEntities:null};let le=v;if(n){const te=new Set(v.map((pe,fe)=>S(pe,fe))),he=Array.from(U.current).reduce((pe,fe)=>{let[$,de]=fe;return te.has($)?pe:pe.concat(de)},[]);le=[].concat(Xa(le),Xa(he))}return _me(le,{externalGetKey:S,childrenPropName:R})},[v,S,C,R,n]),_=m.useMemo(()=>vJe(R,T),[R,T]),Y=m.useMemo(()=>{const le=new Map;return _.forEach((te,he)=>{const pe=S(te,he),fe=(r?r(te):null)||{};le.set(pe,fe)}),le},[_,S,r]),O=m.useCallback(le=>{var te;return!!(!((te=Y.get(S(le)))===null||te===void 0)&&te.disabled)},[Y,S]),[J,Z]=m.useMemo(()=>{if(C)return[L||[],[]];const{checkedKeys:le,halfCheckedKeys:te}=AC(L,!0,B,O);return[le||[],te]},[L,C,B,O]),ie=m.useMemo(()=>{const le=p==="radio"?J.slice(0,1):J;return new Set(le)},[J,p]),ee=m.useMemo(()=>p==="radio"?new Set:new Set(Z),[Z,p]);m.useEffect(()=>{e||E(Rxe)},[!!e]);const q=m.useCallback((le,te)=>{let he,pe;F(le),n?(he=le,pe=le.map(fe=>U.current.get(fe))):(he=[],pe=[],le.forEach(fe=>{const $=y(fe);$!==void 0&&(he.push(fe),pe.push($))})),E(he),a==null||a(he,pe,{type:te})},[E,y,a,n]),ae=m.useCallback((le,te,he,pe)=>{if(l){const fe=he.map($=>y($));l(y(le),te,fe,pe)}q(he,"single")},[l,y,q]),ne=m.useMemo(()=>!g||b?null:(g===!0?[Q0e,Z0e,eue]:g).map(te=>te===Q0e?{key:"all",text:H.selectionAll,onSelect(){q(v.map((he,pe)=>S(he,pe)).filter(he=>{const pe=Y.get(he);return!(pe!=null&&pe.disabled)||ie.has(he)}),"all")}}:te===Z0e?{key:"invert",text:H.selectInvert,onSelect(){const he=new Set(ie);T.forEach((fe,$)=>{const de=S(fe,$),Se=Y.get(de);Se!=null&&Se.disabled||(he.has(de)?he.delete(de):he.add(de))});const pe=Array.from(he);c&&(k.deprecated(!1,"onSelectInvert","onChange"),c(pe)),q(pe,"invert")}}:te===eue?{key:"none",text:H.selectNone,onSelect(){u==null||u(),q(Array.from(ie).filter(he=>{const pe=Y.get(he);return pe==null?void 0:pe.disabled}),"none")}}:te).map(te=>Object.assign(Object.assign({},te),{onSelect:function(){for(var he,pe,fe=arguments.length,$=new Array(fe),de=0;de{var te;if(!e)return le.filter(Te=>Te!==z4);let he=Xa(le);const pe=new Set(ie),fe=_.map(S).filter(Te=>!Y.get(Te).disabled),$=fe.every(Te=>pe.has(Te)),de=fe.some(Te=>pe.has(Te)),Se=()=>{const Te=[];$?fe.forEach(Ne=>{pe.delete(Ne),Te.push(Ne)}):fe.forEach(Ne=>{pe.has(Ne)||(pe.add(Ne),Te.push(Ne))});const De=Array.from(pe);s==null||s(!$,De.map(Ne=>y(Ne)),Te.map(Ne=>y(Ne))),q(De,"all"),N(null)};let Ce,ve;if(p!=="radio"){let Te;if(ne){const $e={getPopupContainer:D,items:ne.map((We,Ee)=>{const{key:Fe,text:Ge,onSelect:rt}=We;return{key:Fe??Ee,onClick:()=>{rt==null||rt(fe)},label:Ge}})};Te=m.createElement("div",{className:`${P}-selection-extra`},m.createElement(W7,{menu:$e,getPopupContainer:D},m.createElement("span",null,m.createElement(rme,null))))}const De=_.map(($e,We)=>{const Ee=S($e,We),Fe=Y.get(Ee)||{};return Object.assign({checked:pe.has(Ee)},Fe)}).filter($e=>{let{disabled:We}=$e;return We}),Ne=!!De.length&&De.length===_.length,Ye=Ne&&De.every($e=>{let{checked:We}=$e;return We}),Le=Ne&&De.some($e=>{let{checked:We}=$e;return We});ve=m.createElement(Wr,{checked:Ne?Ye:!!_.length&&$,indeterminate:Ne?!Ye&&Le:!$&&de,onChange:Se,disabled:_.length===0||Ne,"aria-label":Te?"Custom selection":"Select all",skipGroup:!0}),Ce=!b&&m.createElement("div",{className:`${P}-selection`},ve,Te)}let Ie;p==="radio"?Ie=(Te,De,Ne)=>{const Ye=S(De,Ne),Le=pe.has(Ye);return{node:m.createElement(Be,Object.assign({},Y.get(Ye),{checked:Le,onClick:$e=>$e.stopPropagation(),onChange:$e=>{pe.has(Ye)||ae(Ye,!0,[Ye],$e.nativeEvent)}})),checked:Le}}:Ie=(Te,De,Ne)=>{var Ye;const Le=S(De,Ne),$e=pe.has(Le),We=ee.has(Le),Ee=Y.get(Le);let Fe;return x==="nest"?Fe=We:Fe=(Ye=Ee==null?void 0:Ee.indeterminate)!==null&&Ye!==void 0?Ye:We,{node:m.createElement(Wr,Object.assign({},Ee,{indeterminate:Fe,checked:$e,skipGroup:!0,onClick:Ge=>Ge.stopPropagation(),onChange:Ge=>{let{nativeEvent:rt}=Ge;const{shiftKey:_e}=rt,xt=fe.findIndex(Qe=>Qe===Le),dt=J.some(Qe=>fe.includes(Qe));if(_e&&C&&dt){const Qe=W(xt,fe,pe),ct=Array.from(pe);d==null||d(!$e,ct.map(ft=>y(ft)),Qe.map(ft=>y(ft))),q(ct,"multiple")}else{const Qe=J;if(C){const ct=$e?Y5(Qe,Le):n6(Qe,Le);ae(Le,!$e,ct,rt)}else{const ct=AC([].concat(Xa(Qe),[Le]),!0,B,O),{checkedKeys:ft,halfCheckedKeys:at}=ct;let ot=ft;if($e){const et=new Set(ft);et.delete(Le),ot=AC(Array.from(et),{checked:!1,halfCheckedKeys:at},B,O).checkedKeys}ae(Le,!$e,ot,rt)}}N($e?null:xt)}})),checked:$e}};const ze=(Te,De,Ne)=>{const{node:Ye,checked:Le}=Ie(Te,De,Ne);return w?w(Le,De,Ne,Ye):Ye};if(!he.includes(z4))if(he.findIndex(Te=>{var De;return((De=Te[dE])===null||De===void 0?void 0:De.columnType)==="EXPAND_COLUMN"})===0){const[Te,...De]=he;he=[Te,z4].concat(Xa(De))}else he=[z4].concat(Xa(he));const ye=he.indexOf(z4);he=he.filter((Te,De)=>Te!==z4||De===ye);const oe=he[ye-1],ge=he[ye+1];let Ae=A;Ae===void 0&&((ge==null?void 0:ge.fixed)!==void 0?Ae=ge.fixed:(oe==null?void 0:oe.fixed)!==void 0&&(Ae=oe.fixed)),Ae&&oe&&((te=oe[dE])===null||te===void 0?void 0:te.columnType)==="EXPAND_COLUMN"&&oe.fixed===void 0&&(oe.fixed=Ae);const me=Gn(`${P}-selection-col`,{[`${P}-selection-col-with-dropdown`]:g&&p==="checkbox"}),Pe=()=>e!=null&&e.columnTitle?typeof e.columnTitle=="function"?e.columnTitle(ve):e.columnTitle:Ce,Me={fixed:Ae,width:f,className:`${P}-selection-column`,title:Pe(),render:ze,onCell:e.onCell,[dE]:{className:me}};return he.map(Te=>Te===z4?Me:Te)},[S,_,e,J,ie,ee,f,ne,x,Y,d,ae,O]),ie]};function xYt(t,e){return t._antProxy=t._antProxy||{},Object.keys(e).forEach(n=>{if(!(n in t._antProxy)){const o=t[n];t._antProxy[n]=o,t[n]=e[n]}}),t}function bYt(t,e){return m.useImperativeHandle(t,()=>{const n=e(),{nativeElement:o}=n;return typeof Proxy<"u"?new Proxy(o,{get(i,r){return n[r]?n[r]:Reflect.get(i,r)}}):xYt(o,n)})}function SYt(t){return function(n){let{prefixCls:o,onExpand:i,record:r,expanded:a,expandable:l}=n;const s=`${o}-row-expand-icon`;return m.createElement("button",{type:"button",onClick:c=>{i(r,c),c.stopPropagation()},className:Gn(s,{[`${s}-spaced`]:!l,[`${s}-expanded`]:l&&a,[`${s}-collapsed`]:l&&!a}),"aria-label":a?t.collapse:t.expand,"aria-expanded":a})}}function TYt(t){return(n,o)=>{const i=n.querySelector(`.${t}-container`);let r=o;if(i){const a=getComputedStyle(i),l=parseInt(a.borderLeftWidth,10),s=parseInt(a.borderRightWidth,10);r=o-l-s}return r}}function Vx(t,e){return"key"in t&&t.key!==void 0&&t.key!==null?t.key:t.dataIndex?Array.isArray(t.dataIndex)?t.dataIndex.join("."):t.dataIndex:e}function BW(t,e){return e?`${e}-${t}`:`${t}`}function j$(t,e){return typeof t=="function"?t(e):t}function PYt(t,e){const n=j$(t,e);return Object.prototype.toString.call(n)==="[object Object]"?"":n}var CYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"},RYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:CYt}))},HYt=m.forwardRef(RYt);function MYt(t){const e=m.useRef(t),n=EVe();return[()=>e.current,o=>{e.current=o,n()}]}var Ar={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=Ar.F1&&n<=Ar.F12)return!1;switch(n){case Ar.ALT:case Ar.CAPS_LOCK:case Ar.CONTEXT_MENU:case Ar.CTRL:case Ar.DOWN:case Ar.END:case Ar.ESC:case Ar.HOME:case Ar.INSERT:case Ar.LEFT:case Ar.MAC_FF_META:case Ar.META:case Ar.NUMLOCK:case Ar.NUM_CENTER:case Ar.PAGE_DOWN:case Ar.PAGE_UP:case Ar.PAUSE:case Ar.PRINT_SCREEN:case Ar.RIGHT:case Ar.SHIFT:case Ar.UP:case Ar.WIN_KEY:case Ar.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=Ar.ZERO&&e<=Ar.NINE||e>=Ar.NUM_ZERO&&e<=Ar.NUM_MULTIPLY||e>=Ar.A&&e<=Ar.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&e===0)return!0;switch(e){case Ar.SPACE:case Ar.QUESTION_MARK:case Ar.NUM_PLUS:case Ar.NUM_MINUS:case Ar.NUM_PERIOD:case Ar.NUM_DIVISION:case Ar.SEMICOLON:case Ar.DASH:case Ar.EQUALS:case Ar.COMMA:case Ar.PERIOD:case Ar.SLASH:case Ar.APOSTROPHE:case Ar.SINGLE_QUOTE:case Ar.OPEN_SQUARE_BRACKET:case Ar.BACKSLASH:case Ar.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function IYt(t){var e=t.dropPosition,n=t.dropLevelOffset,o=t.indent,i={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(e){case-1:i.top=0,i.left=-n*o;break;case 1:i.bottom=0,i.left=-n*o;break;case 0:i.bottom=0,i.left=o;break}return m.createElement("div",{style:i})}function xJe(t){if(t==null)throw new TypeError("Cannot destructure "+t)}function zYt(t){if(Array.isArray(t))return t}function DYt(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,i,r,a,l=[],s=!0,c=!1;try{if(r=(n=n.call(t)).next,e!==0)for(;!(s=(o=r.call(n)).done)&&(l.push(o.value),l.length!==e);s=!0);}catch(u){c=!0,i=u}finally{try{if(!s&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function EYt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Av(t,e){return zYt(t)||DYt(t,e)||sJe(t,e)||EYt()}function kYt(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var Hxe=kYt()?m.useLayoutEffect:m.useEffect,DG=function(e,n){var o=m.useRef(!0);Hxe(function(){return e(o.current)},n),Hxe(function(){return o.current=!1,function(){o.current=!0}},[])};function FYt(t,e){var n=m.useState(!1),o=Av(n,2),i=o[0],r=o[1];DG(function(){if(i)return t(),function(){e()}},[i]),DG(function(){return r(!0),function(){r(!1)}},[])}var LYt=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],bJe=function(e,n){var o=e.className,i=e.style,r=e.motion,a=e.motionNodes,l=e.motionType,s=e.onMotionStart,c=e.onMotionEnd,u=e.active,d=e.treeNodeRequiredProps,f=B$(e,LYt),p=m.useState(!0),g=Av(p,2),A=g[0],w=g[1],b=m.useContext(Ome),C=b.prefixCls,P=a&&l!=="hide";DG(function(){a&&P!==A&&w(P)},[a]);var v=function(){a&&s()},T=m.useRef(!1),y=function(){a&&!T.current&&(T.current=!0,c())};FYt(v,y);var S=function(R){P===R&&y()};return a?m.createElement(Hg,w9({ref:n,visible:A},r,{motionAppear:l==="show",onVisibleChanged:S}),function(x,R){var H=x.className,D=x.style;return m.createElement("div",{ref:R,className:q5("".concat(C,"-treenode-motion"),H),style:D},a.map(function(k){var W=Object.assign({},(xJe(k.data),k.data)),N=k.title,L=k.key,E=k.isStart,U=k.isEnd;delete W.children;var F=fE(L,d);return m.createElement(sR,w9({},W,F,{title:N,active:u,data:k.data,key:L,isStart:E,isEnd:U}))}))}):m.createElement(sR,w9({domRef:n,className:o,style:i},f,{active:u}))};bJe.displayName="MotionTreeNode";var WYt=m.forwardRef(bJe);function NYt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t.length,o=e.length;if(Math.abs(n-o)!==1)return{add:!1,key:null};function i(r,a){var l=new Map;r.forEach(function(c){l.set(c,!0)});var s=a.filter(function(c){return!l.has(c)});return s.length===1?s[0]:null}return n ").concat(e);return e}var TJe=m.forwardRef(function(t,e){var n=t.prefixCls,o=t.data;t.selectable,t.checkable;var i=t.expandedKeys,r=t.selectedKeys,a=t.checkedKeys,l=t.loadedKeys,s=t.loadingKeys,c=t.halfCheckedKeys,u=t.keyEntities,d=t.disabled,f=t.dragging,p=t.dragOverNodeKey,g=t.dropPosition,A=t.motion,w=t.height,b=t.itemHeight,C=t.virtual,P=t.focusable,v=t.activeItem,T=t.focused,y=t.tabIndex,S=t.onKeyDown,x=t.onFocus,R=t.onBlur,H=t.onActiveChange,D=t.onListChangeStart,k=t.onListChangeEnd,W=B$(t,UYt),N=m.useRef(null),L=m.useRef(null);m.useImperativeHandle(e,function(){return{scrollTo:function(Ie){N.current.scrollTo(Ie)},getIndentWidth:function(){return L.current.offsetWidth}}});var E=m.useState(i),U=Av(E,2),F=U[0],B=U[1],_=m.useState(o),Y=Av(_,2),O=Y[0],J=Y[1],Z=m.useState(o),ie=Av(Z,2),ee=ie[0],q=ie[1],ae=m.useState([]),ne=Av(ae,2),se=ne[0],le=ne[1],te=m.useState(null),he=Av(te,2),pe=he[0],fe=he[1],$=m.useRef(o);$.current=o;function de(){var ve=$.current;J(ve),q(ve),le([]),fe(null),k()}DG(function(){B(i);var ve=NYt(F,i);if(ve.key!==null)if(ve.add){var Ie=O.findIndex(function(me){var Pe=me.key;return Pe===ve.key}),ze=Dxe(Mxe(O,o,ve.key),C,w,b),ye=O.slice();ye.splice(Ie+1,0,zxe),q(ye),le(ze),fe("show")}else{var oe=o.findIndex(function(me){var Pe=me.key;return Pe===ve.key}),ge=Dxe(Mxe(o,O,ve.key),C,w,b),Ae=o.slice();Ae.splice(oe+1,0,zxe),q(Ae),le(ge),fe("hide")}else O!==o&&(J(o),q(o))},[i,o]),m.useEffect(function(){f||de()},[f]);var Se=A?ee:o,Ce={expandedKeys:i,selectedKeys:r,loadedKeys:l,loadingKeys:s,checkedKeys:a,halfCheckedKeys:c,dragOverNodeKey:p,dropPosition:g,keyEntities:u};return m.createElement(m.Fragment,null,T&&v&&m.createElement("span",{style:Ixe,"aria-live":"assertive"},jYt(v)),m.createElement("div",null,m.createElement("input",{style:Ixe,disabled:P===!1||d,tabIndex:P!==!1?y:null,onKeyDown:S,onFocus:x,onBlur:R,value:"",onChange:BYt,"aria-label":"for screen reader"})),m.createElement("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},m.createElement("div",{className:"".concat(n,"-indent")},m.createElement("div",{ref:L,className:"".concat(n,"-indent-unit")}))),m.createElement(v$,w9({},W,{data:Se,itemKey:Exe,height:w,fullHeight:!1,virtual:C,itemHeight:b,prefixCls:"".concat(n,"-list"),ref:N,onVisibleChange:function(Ie,ze){var ye=new Set(Ie),oe=ze.filter(function(ge){return!ye.has(ge)});oe.some(function(ge){return Exe(ge)===Gx})&&de()}}),function(ve){var Ie=ve.pos,ze=Object.assign({},(xJe(ve.data),ve.data)),ye=ve.title,oe=ve.key,ge=ve.isStart,Ae=ve.isEnd,me=UW(oe,Ie);delete ze.key,delete ze.children;var Pe=fE(me,Ce);return m.createElement(WYt,w9({},ze,Pe,{title:ye,active:!!v&&oe===v.key,pos:Ie,data:ve.data,isStart:ge,isEnd:Ae,motion:A,motionNodes:oe===Gx?se:null,motionType:pe,onMotionStart:D,onMotionEnd:de,treeNodeRequiredProps:Ce,onMouseMove:function(){H(null)}}))}))});TJe.displayName="NodeList";var YYt=10,Gme=function(t){hJe(n,t);var e=pJe(n);function n(){var o;dJe(this,n);for(var i=arguments.length,r=new Array(i),a=0;a2&&arguments[2]!==void 0?arguments[2]:!1,d=o.state,f=d.dragChildrenKeys,p=d.dropPosition,g=d.dropTargetKey,A=d.dropTargetPos,w=d.dropAllowed;if(w){var b=o.props.onDrop;if(o.setState({dragOverNodeKey:null}),o.cleanDragState(),g!==null){var C=Ru(Ru({},fE(g,o.getTreeNodeRequiredProps())),{},{active:((c=o.getActiveItem())===null||c===void 0?void 0:c.key)===g,data:Ep(o.state.keyEntities,g).node}),P=f.indexOf(g)!==-1;m2(!P,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var v=Vme(A),T={event:l,node:eu(C),dragNode:o.dragNode?eu(o.dragNode.props):null,dragNodesKeys:[o.dragNode.props.eventKey].concat(f),dropToGap:p!==0,dropPosition:p+Number(v[v.length-1])};u||b==null||b(T),o.dragNode=null}}}),jo(yi(o),"cleanDragState",function(){var l=o.state.draggingNodeKey;l!==null&&o.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),o.dragStartMousePosition=null,o.currentMouseOverDroppableNodeKey=null}),jo(yi(o),"triggerExpandActionExpand",function(l,s){var c=o.state,u=c.expandedKeys,d=c.flattenNodes,f=s.expanded,p=s.key,g=s.isLeaf;if(!(g||l.shiftKey||l.metaKey||l.ctrlKey)){var A=d.filter(function(b){return b.key===p})[0],w=eu(Ru(Ru({},fE(p,o.getTreeNodeRequiredProps())),{},{data:A.data}));o.setExpandedKeys(f?Y5(u,p):n6(u,p)),o.onNodeExpand(l,w)}}),jo(yi(o),"onNodeClick",function(l,s){var c=o.props,u=c.onClick,d=c.expandAction;d==="click"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeDoubleClick",function(l,s){var c=o.props,u=c.onDoubleClick,d=c.expandAction;d==="doubleClick"&&o.triggerExpandActionExpand(l,s),u==null||u(l,s)}),jo(yi(o),"onNodeSelect",function(l,s){var c=o.state.selectedKeys,u=o.state,d=u.keyEntities,f=u.fieldNames,p=o.props,g=p.onSelect,A=p.multiple,w=s.selected,b=s[f.key],C=!w;C?A?c=n6(c,b):c=[b]:c=Y5(c,b);var P=c.map(function(v){var T=Ep(d,v);return T?T.node:null}).filter(function(v){return v});o.setUncontrolledState({selectedKeys:c}),g==null||g(c,{event:"select",selected:C,node:s,selectedNodes:P,nativeEvent:l.nativeEvent})}),jo(yi(o),"onNodeCheck",function(l,s,c){var u=o.state,d=u.keyEntities,f=u.checkedKeys,p=u.halfCheckedKeys,g=o.props,A=g.checkStrictly,w=g.onCheck,b=s.key,C,P={event:"check",node:s,checked:c,nativeEvent:l.nativeEvent};if(A){var v=c?n6(f,b):Y5(f,b),T=Y5(p,b);C={checked:v,halfChecked:T},P.checkedNodes=v.map(function(D){return Ep(d,D)}).filter(function(D){return D}).map(function(D){return D.node}),o.setUncontrolledState({checkedKeys:v})}else{var y=AC([].concat(hx(f),[b]),!0,d),S=y.checkedKeys,x=y.halfCheckedKeys;if(!c){var R=new Set(S);R.delete(b);var H=AC(Array.from(R),{checked:!1,halfCheckedKeys:x},d);S=H.checkedKeys,x=H.halfCheckedKeys}C=S,P.checkedNodes=[],P.checkedNodesPositions=[],P.halfCheckedKeys=x,S.forEach(function(D){var k=Ep(d,D);if(k){var W=k.node,N=k.pos;P.checkedNodes.push(W),P.checkedNodesPositions.push({node:W,pos:N})}}),o.setUncontrolledState({checkedKeys:S},!1,{halfCheckedKeys:x})}w==null||w(C,P)}),jo(yi(o),"onNodeLoad",function(l){var s,c=l.key,u=o.state.keyEntities,d=Ep(u,c);if(!(d!=null&&(s=d.children)!==null&&s!==void 0&&s.length)){var f=new Promise(function(p,g){o.setState(function(A){var w=A.loadedKeys,b=w===void 0?[]:w,C=A.loadingKeys,P=C===void 0?[]:C,v=o.props,T=v.loadData,y=v.onLoad;if(!T||b.indexOf(c)!==-1||P.indexOf(c)!==-1)return null;var S=T(l);return S.then(function(){var x=o.state.loadedKeys,R=n6(x,c);y==null||y(R,{event:"load",node:l}),o.setUncontrolledState({loadedKeys:R}),o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),p()}).catch(function(x){if(o.setState(function(H){return{loadingKeys:Y5(H.loadingKeys,c)}}),o.loadingRetryTimes[c]=(o.loadingRetryTimes[c]||0)+1,o.loadingRetryTimes[c]>=YYt){var R=o.state.loadedKeys;m2(!1,"Retry for `loadData` many times but still failed. No more retry."),o.setUncontrolledState({loadedKeys:n6(R,c)}),p()}g(x)}),{loadingKeys:n6(P,c)}})});return f.catch(function(){}),f}}),jo(yi(o),"onNodeMouseEnter",function(l,s){var c=o.props.onMouseEnter;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeMouseLeave",function(l,s){var c=o.props.onMouseLeave;c==null||c({event:l,node:s})}),jo(yi(o),"onNodeContextMenu",function(l,s){var c=o.props.onRightClick;c&&(l.preventDefault(),c({event:l,node:s}))}),jo(yi(o),"onFocus",function(){var l=o.props.onFocus;o.setState({focused:!0});for(var s=arguments.length,c=new Array(s),u=0;u1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!o.destroyed){var u=!1,d=!0,f={};Object.keys(l).forEach(function(p){if(p in o.props){d=!1;return}u=!0,f[p]=l[p]}),u&&(!s||d)&&o.setState(Ru(Ru({},f),c))}}),jo(yi(o),"scrollTo",function(l){o.listRef.current.scrollTo(l)}),o}return fJe(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var i=this.props,r=i.activeKey,a=i.itemScrollOffset,l=a===void 0?0:a;r!==void 0&&r!==this.state.activeKey&&(this.setState({activeKey:r}),r!==null&&this.scrollTo({key:r,offset:l}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var i=this.state,r=i.focused,a=i.flattenNodes,l=i.keyEntities,s=i.draggingNodeKey,c=i.activeKey,u=i.dropLevelOffset,d=i.dropContainerKey,f=i.dropTargetKey,p=i.dropPosition,g=i.dragOverNodeKey,A=i.indent,w=this.props,b=w.prefixCls,C=w.className,P=w.style,v=w.showLine,T=w.focusable,y=w.tabIndex,S=y===void 0?0:y,x=w.selectable,R=w.showIcon,H=w.icon,D=w.switcherIcon,k=w.draggable,W=w.checkable,N=w.checkStrictly,L=w.disabled,E=w.motion,U=w.loadData,F=w.filterTreeNode,B=w.height,_=w.itemHeight,Y=w.virtual,O=w.titleRender,J=w.dropIndicatorRender,Z=w.onContextMenu,ie=w.onScroll,ee=w.direction,q=w.rootClassName,ae=w.rootStyle,ne=mJe(this.props,{aria:!0,data:!0}),se;return k&&(q6(k)==="object"?se=k:typeof k=="function"?se={nodeDraggable:k}:se={}),m.createElement(Ome.Provider,{value:{prefixCls:b,selectable:x,showIcon:R,icon:H,switcherIcon:D,draggable:se,draggingNodeKey:s,checkable:W,checkStrictly:N,disabled:L,keyEntities:l,dropLevelOffset:u,dropContainerKey:d,dropTargetKey:f,dropPosition:p,dragOverNodeKey:g,indent:A,direction:ee,dropIndicatorRender:J,loadData:U,filterTreeNode:F,titleRender:O,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},m.createElement("div",{role:"tree",className:q5(b,C,q,jo(jo(jo({},"".concat(b,"-show-line"),v),"".concat(b,"-focused"),r),"".concat(b,"-active-focused"),c!==null)),style:ae},m.createElement(TJe,w9({ref:this.listRef,prefixCls:b,style:P,data:a,disabled:L,selectable:x,checkable:!!W,motion:E,dragging:s!==null,height:B,itemHeight:_,virtual:Y,focusable:T,focused:r,tabIndex:S,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Z,onScroll:ie},this.getTreeNodeRequiredProps(),ne))))}}],[{key:"getDerivedStateFromProps",value:function(i,r){var a=r.prevProps,l={prevProps:i};function s(y){return!a&&y in i||a&&a[y]!==i[y]}var c,u=r.fieldNames;if(s("fieldNames")&&(u=lR(i.fieldNames),l.fieldNames=u),s("treeData")?c=i.treeData:s("children")&&(m2(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=AJe(i.children)),c){l.treeData=c;var d=_me(c,{fieldNames:u});l.keyEntities=Ru(jo({},Gx,SJe),d.keyEntities)}var f=l.keyEntities||r.keyEntities;if(s("expandedKeys")||a&&s("autoExpandParent"))l.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?$0e(i.expandedKeys,f):i.expandedKeys;else if(!a&&i.defaultExpandAll){var p=Ru({},f);delete p[Gx],l.expandedKeys=Object.keys(p).map(function(y){return p[y].key})}else!a&&i.defaultExpandedKeys&&(l.expandedKeys=i.autoExpandParent||i.defaultExpandParent?$0e(i.defaultExpandedKeys,f):i.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,c||l.expandedKeys){var g=Gie(c||r.treeData,l.expandedKeys||r.expandedKeys,u);l.flattenNodes=g}if(i.selectable&&(s("selectedKeys")?l.selectedKeys=Cxe(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(l.selectedKeys=Cxe(i.defaultSelectedKeys,i))),i.checkable){var A;if(s("checkedKeys")?A=Xie(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?A=Xie(i.defaultCheckedKeys)||{}:c&&(A=Xie(i.checkedKeys)||{checkedKeys:r.checkedKeys,halfCheckedKeys:r.halfCheckedKeys}),A){var w=A,b=w.checkedKeys,C=b===void 0?[]:b,P=w.halfCheckedKeys,v=P===void 0?[]:P;if(!i.checkStrictly){var T=AC(C,!0,f);C=T.checkedKeys,v=T.halfCheckedKeys}l.checkedKeys=C,l.halfCheckedKeys=v}}return s("loadedKeys")&&(l.loadedKeys=i.loadedKeys),l}}]),n}(m.Component);jo(Gme,"defaultProps",{prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:IYt,allowDrop:function(){return!0},expandAction:!1});jo(Gme,"TreeNode",sR);var OYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"},_Yt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:OYt}))},PJe=m.forwardRef(_Yt),VYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"},GYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:VYt}))},CJe=m.forwardRef(GYt),XYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"},JYt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:XYt}))},KYt=m.forwardRef(JYt),qYt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"},$Yt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:qYt}))},QYt=m.forwardRef($Yt);const ZYt=new ul("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),eOt=(t,e)=>({[`.${t}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${e.motionDurationSlow}`}}}),tOt=(t,e)=>({[`.${t}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:e.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${Ut(e.lineWidthBold)} solid ${e.colorPrimary}`,borderRadius:"50%",content:'""'}}}),nOt=(t,e)=>{const{treeCls:n,treeNodeCls:o,treeNodePadding:i,titleHeight:r,nodeSelectedBg:a,nodeHoverBg:l}=e,s=e.paddingXS;return{[n]:Object.assign(Object.assign({},$a(e)),{background:e.colorBgContainer,borderRadius:e.borderRadius,transition:`background-color ${e.motionDurationSlow}`,[`&${n}-rtl`]:{[`${n}-switcher`]:{"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${n}-active-focused)`]:Object.assign({},n7(e)),[`${n}-list-holder-inner`]:{alignItems:"flex-start"},[`&${n}-block-node`]:{[`${n}-list-holder-inner`]:{alignItems:"stretch",[`${n}-node-content-wrapper`]:{flex:"auto"},[`${o}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:i,insetInlineStart:0,border:`1px solid ${e.colorPrimary}`,opacity:0,animationName:ZYt,animationDuration:e.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${o}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${Ut(i)} 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${n}-node-content-wrapper`]:{color:e.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${n}-node-content-wrapper`]:{background:e.controlItemBgHover},[`&:not(${o}-disabled).filter-node ${n}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{cursor:"grab",[`${n}-draggable-icon`]:{flexShrink:0,width:r,lineHeight:`${Ut(r)}`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${e.motionDurationSlow}`,[`${o}:hover &`]:{opacity:.45}},[`&${o}-disabled`]:{[`${n}-draggable-icon`]:{visibility:"hidden"}}}},[`${n}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:r}},[`${n}-draggable-icon`]:{visibility:"hidden"},[`${n}-switcher`]:Object.assign(Object.assign({},eOt(t,e)),{position:"relative",flex:"none",alignSelf:"stretch",width:r,margin:0,lineHeight:`${Ut(r)}`,textAlign:"center",cursor:"pointer",userSelect:"none",transition:`all ${e.motionDurationSlow}`,borderRadius:e.borderRadius,"&-noop":{cursor:"unset"},[`&:not(${n}-switcher-noop):hover`]:{backgroundColor:e.colorBgTextHover},"&_close":{[`${n}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:e.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),marginInlineStart:-1,borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:e.calc(e.calc(r).div(2).equal()).mul(.8).equal(),height:e.calc(r).div(2).equal(),borderBottom:`1px solid ${e.colorBorder}`,content:'""'}}}),[`${n}-checkbox`]:{top:"initial",marginInlineEnd:s,alignSelf:"flex-start",marginTop:e.marginXXS},[`${n}-node-content-wrapper, ${n}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:r,margin:0,padding:`0 ${Ut(e.calc(e.paddingXS).div(2).equal())}`,color:"inherit",lineHeight:`${Ut(r)}`,background:"transparent",borderRadius:e.borderRadius,cursor:"pointer",transition:`all ${e.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:l},[`&${n}-node-selected`]:{backgroundColor:a},[`${n}-iconEle`]:{display:"inline-block",width:r,height:r,lineHeight:`${Ut(r)}`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${n}-unselectable ${n}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${n}-node-content-wrapper`]:Object.assign({lineHeight:`${Ut(r)}`,userSelect:"none"},tOt(t,e)),[`${o}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${e.colorPrimary}`}},"&-show-line":{[`${n}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:e.calc(r).div(2).equal(),bottom:e.calc(i).mul(-1).equal(),borderInlineEnd:`1px solid ${e.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${n}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${o}-leaf-last`]:{[`${n}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${Ut(e.calc(r).div(2).equal())} !important`}}}}})}},oOt=t=>{const{treeCls:e,treeNodeCls:n,treeNodePadding:o,directoryNodeSelectedBg:i,directoryNodeSelectedColor:r}=t;return{[`${e}${e}-directory`]:{[n]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:o,insetInlineStart:0,transition:`background-color ${t.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:t.controlItemBgHover}},"> *":{zIndex:1},[`${e}-switcher`]:{transition:`color ${t.motionDurationMid}`},[`${e}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${e}-node-selected`]:{color:r,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:i},[`${e}-switcher`]:{color:r},[`${e}-node-content-wrapper`]:{color:r,background:"transparent"}}}}}},iOt=(t,e)=>{const n=`.${t}`,o=`${n}-treenode`,i=e.calc(e.paddingXS).div(2).equal(),r=Zr(e,{treeCls:n,treeNodeCls:o,treeNodePadding:i});return[nOt(t,r),oOt(r)]},rOt=t=>{const{controlHeightSM:e}=t;return{titleHeight:e,nodeHoverBg:t.controlItemBgHover,nodeSelectedBg:t.controlItemBgActive}},aOt=t=>{const{colorTextLightSolid:e,colorPrimary:n}=t;return Object.assign(Object.assign({},rOt(t)),{directoryNodeSelectedColor:e,directoryNodeSelectedBg:n})},lOt=Fl("Tree",(t,e)=>{let{prefixCls:n}=e;return[{[t.componentCls]:rXe(`${n}-checkbox`,t)},iOt(n,t),Zge(t)]},aOt),kxe=4;function sOt(t){const{dropPosition:e,dropLevelOffset:n,prefixCls:o,indent:i,direction:r="ltr"}=t,a=r==="ltr"?"left":"right",l=r==="ltr"?"right":"left",s={[a]:-n*i+kxe,[l]:0};switch(e){case-1:s.top=-3;break;case 1:s.bottom=-3;break;default:s.bottom=-3,s[a]=i+kxe;break}return be.createElement("div",{style:s,className:`${o}-drop-indicator`})}var cOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"},uOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:cOt}))},dOt=m.forwardRef(uOt),fOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},hOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:fOt}))},pOt=m.forwardRef(hOt),gOt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},mOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gOt}))},yOt=m.forwardRef(mOt);const AOt=t=>{const{prefixCls:e,switcherIcon:n,treeNodeProps:o,showLine:i}=t,{isLeaf:r,expanded:a,loading:l}=o;if(l)return m.createElement(HH,{className:`${e}-switcher-loading-icon`});let s;if(i&&typeof i=="object"&&(s=i.showLeafIcon),r){if(!i)return null;if(typeof s!="boolean"&&s){const d=typeof s=="function"?s(o):s,f=`${e}-switcher-line-custom-icon`;return m.isValidElement(d)?Ou(d,{className:Gn(d.props.className||"",f)}):d}return s?m.createElement(PJe,{className:`${e}-switcher-line-icon`}):m.createElement("span",{className:`${e}-switcher-leaf-line`})}const c=`${e}-switcher-icon`,u=typeof n=="function"?n(o):n;return m.isValidElement(u)?Ou(u,{className:Gn(u.props.className||"",c)}):u!==void 0?u:i?a?m.createElement(pOt,{className:`${e}-switcher-line-icon`}):m.createElement(yOt,{className:`${e}-switcher-line-icon`}):m.createElement(dOt,{className:c})},RJe=be.forwardRef((t,e)=>{var n;const{getPrefixCls:o,direction:i,virtual:r,tree:a}=be.useContext(Mi),{prefixCls:l,className:s,showIcon:c=!1,showLine:u,switcherIcon:d,blockNode:f=!1,children:p,checkable:g=!1,selectable:A=!0,draggable:w,motion:b,style:C}=t,P=o("tree",l),v=o(),T=b??Object.assign(Object.assign({},Xge(v)),{motionAppear:!1}),y=Object.assign(Object.assign({},t),{checkable:g,selectable:A,showIcon:c,motion:T,blockNode:f,showLine:!!u,dropIndicatorRender:sOt}),[S,x,R]=lOt(P),[,H]=Yu(),D=H.paddingXS/2+(((n=H.Tree)===null||n===void 0?void 0:n.titleHeight)||H.controlHeightSM),k=be.useMemo(()=>{if(!w)return!1;let N={};switch(typeof w){case"function":N.nodeDraggable=w;break;case"object":N=Object.assign({},w);break}return N.icon!==!1&&(N.icon=N.icon||be.createElement(QYt,null)),N},[w]),W=N=>be.createElement(AOt,{prefixCls:P,switcherIcon:d,treeNodeProps:N,showLine:u});return S(be.createElement(Gme,Object.assign({itemHeight:D,ref:e,virtual:r},y,{style:Object.assign(Object.assign({},a==null?void 0:a.style),C),prefixCls:P,className:Gn({[`${P}-icon-hide`]:!c,[`${P}-block-node`]:f,[`${P}-unselectable`]:!A,[`${P}-rtl`]:i==="rtl"},a==null?void 0:a.className,s,x,R),direction:i,checkable:g&&be.createElement("span",{className:`${P}-checkbox-inner`}),selectable:A,switcherIcon:W,draggable:k}),p))}),Fxe=0,Jie=1,Lxe=2;function Xme(t,e,n){const{key:o,children:i}=n;function r(a){const l=a[o],s=a[i];e(l,a)!==!1&&Xme(s||[],e,n)}t.forEach(r)}function wOt(t){let{treeData:e,expandedKeys:n,startKey:o,endKey:i,fieldNames:r}=t;const a=[];let l=Fxe;if(o&&o===i)return[o];if(!o||!i)return[];function s(c){return c===o||c===i}return Xme(e,c=>{if(l===Lxe)return!1;if(s(c)){if(a.push(c),l===Fxe)l=Jie;else if(l===Jie)return l=Lxe,!1}else l===Jie&&a.push(c);return n.includes(c)},lR(r)),a}function Kie(t,e,n){const o=Xa(e),i=[];return Xme(t,(r,a)=>{const l=o.indexOf(r);return l!==-1&&(i.push(a),o.splice(l,1)),!!o.length},lR(n)),i}var Wxe=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{defaultExpandAll:n,defaultExpandParent:o,defaultExpandedKeys:i}=t,r=Wxe(t,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const a=m.useRef(),l=m.useRef(),s=()=>{const{keyEntities:x}=_me(Nxe(r));let R;return n?R=Object.keys(x):o?R=$0e(r.expandedKeys||i||[],x):R=r.expandedKeys||i||[],R},[c,u]=m.useState(r.selectedKeys||r.defaultSelectedKeys||[]),[d,f]=m.useState(()=>s());m.useEffect(()=>{"selectedKeys"in r&&u(r.selectedKeys)},[r.selectedKeys]),m.useEffect(()=>{"expandedKeys"in r&&f(r.expandedKeys)},[r.expandedKeys]);const p=(x,R)=>{var H;return"expandedKeys"in r||f(x),(H=r.onExpand)===null||H===void 0?void 0:H.call(r,x,R)},g=(x,R)=>{var H;const{multiple:D,fieldNames:k}=r,{node:W,nativeEvent:N}=R,{key:L=""}=W,E=Nxe(r),U=Object.assign(Object.assign({},R),{selected:!0}),F=(N==null?void 0:N.ctrlKey)||(N==null?void 0:N.metaKey),B=N==null?void 0:N.shiftKey;let _;D&&F?(_=x,a.current=L,l.current=_,U.selectedNodes=Kie(E,_,k)):D&&B?(_=Array.from(new Set([].concat(Xa(l.current||[]),Xa(wOt({treeData:E,expandedKeys:d,startKey:L,endKey:a.current,fieldNames:k}))))),U.selectedNodes=Kie(E,_,k)):(_=[L],a.current=L,l.current=_,U.selectedNodes=Kie(E,_,k)),(H=r.onSelect)===null||H===void 0||H.call(r,_,U),"selectedKeys"in r||u(_)},{getPrefixCls:A,direction:w}=m.useContext(Mi),{prefixCls:b,className:C,showIcon:P=!0,expandAction:v="click"}=r,T=Wxe(r,["prefixCls","className","showIcon","expandAction"]),y=A("tree",b),S=Gn(`${y}-directory`,{[`${y}-directory-rtl`]:w==="rtl"},C);return m.createElement(RJe,Object.assign({icon:vOt,ref:e,blockNode:!0},T,{showIcon:P,expandAction:v,prefixCls:y,className:S,expandedKeys:d,selectedKeys:c,onSelect:g,onExpand:p}))},bOt=m.forwardRef(xOt),Jme=RJe;Jme.DirectoryTree=bOt;Jme.TreeNode=sR;function Uxe(t){let{value:e,onChange:n,filterSearch:o,tablePrefixCls:i,locale:r}=t;return o?m.createElement("div",{className:`${i}-filter-dropdown-search`},m.createElement(ns,{prefix:m.createElement(ame,null),placeholder:r.filterSearchPlaceholder,onChange:n,value:e,htmlSize:1,className:`${i}-filter-dropdown-search-input`})):null}const SOt=t=>{const{keyCode:e}=t;e===hr.ENTER&&t.stopPropagation()},TOt=m.forwardRef((t,e)=>m.createElement("div",{className:t.className,onClick:n=>n.stopPropagation(),onKeyDown:SOt,ref:e},t.children));function wC(t){let e=[];return(t||[]).forEach(n=>{let{value:o,children:i}=n;e.push(o),i&&(e=[].concat(Xa(e),Xa(wC(i))))}),e}function POt(t){return t.some(e=>{let{children:n}=e;return n})}function HJe(t,e){return typeof e=="string"||typeof e=="number"?e==null?void 0:e.toString().toLowerCase().includes(t.trim().toLowerCase()):!1}function MJe(t){let{filters:e,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a}=t;return e.map((l,s)=>{const c=String(l.value);if(l.children)return{key:c||s,label:l.text,popupClassName:`${n}-dropdown-submenu`,children:MJe({filters:l.children,prefixCls:n,filteredKeys:o,filterMultiple:i,searchValue:r,filterSearch:a})};const u=i?Wr:Be,d={key:l.value!==void 0?c:s,label:m.createElement(m.Fragment,null,m.createElement(u,{checked:o.includes(c)}),m.createElement("span",null,l.text))};return r.trim()?typeof a=="function"?a(r,l)?d:null:HJe(r,l.text)?d:null:d})}function qie(t){return t||[]}function COt(t){var e,n;const{tablePrefixCls:o,prefixCls:i,column:r,dropdownPrefixCls:a,columnKey:l,filterOnClose:s,filterMultiple:c,filterMode:u="menu",filterSearch:d=!1,filterState:f,triggerFilter:p,locale:g,children:A,getPopupContainer:w,rootClassName:b}=t,{filterDropdownOpen:C,onFilterDropdownOpenChange:P,filterResetToDefaultFilteredValue:v,defaultFilteredValue:T,filterDropdownVisible:y,onFilterDropdownVisibleChange:S}=r,[x,R]=m.useState(!1),H=!!(f&&(!((e=f.filteredKeys)===null||e===void 0)&&e.length||f.forceFiltered)),D=de=>{R(de),P==null||P(de),S==null||S(de)},k=(n=C??y)!==null&&n!==void 0?n:x,W=f==null?void 0:f.filteredKeys,[N,L]=MYt(qie(W)),E=de=>{let{selectedKeys:Se}=de;L(Se)},U=(de,Se)=>{let{node:Ce,checked:ve}=Se;E(c?{selectedKeys:de}:{selectedKeys:ve&&Ce.key?[Ce.key]:[]})};m.useEffect(()=>{x&&E({selectedKeys:qie(W)})},[W]);const[F,B]=m.useState([]),_=de=>{B(de)},[Y,O]=m.useState(""),J=de=>{const{value:Se}=de.target;O(Se)};m.useEffect(()=>{x||O("")},[x]);const Z=de=>{const Se=de&&de.length?de:null;if(Se===null&&(!f||!f.filteredKeys)||Oce(Se,f==null?void 0:f.filteredKeys,!0))return null;p({column:r,key:l,filteredKeys:Se})},ie=()=>{D(!1),Z(N())},ee=function(){let{confirm:de,closeDropdown:Se}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};de&&Z([]),Se&&D(!1),O(""),L(v?(T||[]).map(Ce=>String(Ce)):[])},q=function(){let{closeDropdown:de}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};de&&D(!1),Z(N())},ae=(de,Se)=>{Se.source==="trigger"&&(de&&W!==void 0&&L(qie(W)),D(de),!de&&!r.filterDropdown&&s&&ie())},ne=Gn({[`${a}-menu-without-submenu`]:!POt(r.filters||[])}),se=de=>{if(de.target.checked){const Se=wC(r==null?void 0:r.filters).map(Ce=>String(Ce));L(Se)}else L([])},le=de=>{let{filters:Se}=de;return(Se||[]).map((Ce,ve)=>{const Ie=String(Ce.value),ze={title:Ce.text,key:Ce.value!==void 0?Ie:String(ve)};return Ce.children&&(ze.children=le({filters:Ce.children})),ze})},te=de=>{var Se;return Object.assign(Object.assign({},de),{text:de.title,value:de.key,children:((Se=de.children)===null||Se===void 0?void 0:Se.map(Ce=>te(Ce)))||[]})};let he;if(typeof r.filterDropdown=="function")he=r.filterDropdown({prefixCls:`${a}-custom`,setSelectedKeys:de=>E({selectedKeys:de}),selectedKeys:N(),confirm:q,clearFilters:ee,filters:r.filters,visible:k,close:()=>{D(!1)}});else if(r.filterDropdown)he=r.filterDropdown;else{const de=N()||[],Se=()=>{const ve=m.createElement(lg,{image:lg.PRESENTED_IMAGE_SIMPLE,description:g.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}});if((r.filters||[]).length===0)return ve;if(u==="tree")return m.createElement(m.Fragment,null,m.createElement(Uxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),m.createElement("div",{className:`${o}-filter-dropdown-tree`},c?m.createElement(Wr,{checked:de.length===wC(r.filters).length,indeterminate:de.length>0&&de.lengthtypeof d=="function"?d(Y,te(ye)):HJe(Y,ye.title):void 0})));const Ie=MJe({filters:r.filters||[],filterSearch:d,prefixCls:i,filteredKeys:N(),filterMultiple:c,searchValue:Y}),ze=Ie.every(ye=>ye===null);return m.createElement(m.Fragment,null,m.createElement(Uxe,{filterSearch:d,value:Y,onChange:J,tablePrefixCls:o,locale:g}),ze?ve:m.createElement(EH,{selectable:!0,multiple:c,prefixCls:`${a}-menu`,className:ne,onSelect:E,onDeselect:E,selectedKeys:de,getPopupContainer:w,openKeys:F,onOpenChange:_,items:Ie}))},Ce=()=>v?Oce((T||[]).map(ve=>String(ve)),de,!0):de.length===0;he=m.createElement(m.Fragment,null,Se(),m.createElement("div",{className:`${i}-dropdown-btns`},m.createElement(no,{type:"link",size:"small",disabled:Ce(),onClick:()=>ee()},g.filterReset),m.createElement(no,{type:"primary",size:"small",onClick:ie},g.filterConfirm)))}r.filterDropdown&&(he=m.createElement(aGe,{selectable:void 0},he));const pe=()=>m.createElement(TOt,{className:`${i}-dropdown`},he);let fe;typeof r.filterIcon=="function"?fe=r.filterIcon(H):r.filterIcon?fe=r.filterIcon:fe=m.createElement(HYt,null);const{direction:$}=m.useContext(Mi);return m.createElement("div",{className:`${i}-column`},m.createElement("span",{className:`${o}-column-title`},A),m.createElement(W7,{dropdownRender:pe,trigger:["click"],open:k,onOpenChange:ae,getPopupContainer:w,placement:$==="rtl"?"bottomLeft":"bottomRight",rootClassName:b},m.createElement("span",{role:"button",tabIndex:-1,className:Gn(`${i}-trigger`,{active:H}),onClick:de=>{de.stopPropagation()}},fe)))}function nue(t,e,n){let o=[];return(t||[]).forEach((i,r)=>{var a;const l=BW(r,n);if(i.filters||"filterDropdown"in i||"onFilter"in i)if("filteredValue"in i){let s=i.filteredValue;"filterDropdown"in i||(s=(a=s==null?void 0:s.map(String))!==null&&a!==void 0?a:s),o.push({column:i,key:Vx(i,l),filteredKeys:s,forceFiltered:i.filtered})}else o.push({column:i,key:Vx(i,l),filteredKeys:e&&i.defaultFilteredValue?i.defaultFilteredValue:void 0,forceFiltered:i.filtered});"children"in i&&(o=[].concat(Xa(o),Xa(nue(i.children,e,l))))}),o}function IJe(t,e,n,o,i,r,a,l,s){return n.map((c,u)=>{const d=BW(u,l),{filterOnClose:f=!0,filterMultiple:p=!0,filterMode:g,filterSearch:A}=c;let w=c;if(w.filters||w.filterDropdown){const b=Vx(w,d),C=o.find(P=>{let{key:v}=P;return b===v});w=Object.assign(Object.assign({},w),{title:P=>m.createElement(COt,{tablePrefixCls:t,prefixCls:`${t}-filter`,dropdownPrefixCls:e,column:w,columnKey:b,filterState:C,filterOnClose:f,filterMultiple:p,filterMode:g,filterSearch:A,triggerFilter:r,locale:i,getPopupContainer:a,rootClassName:s},j$(c.title,P))})}return"children"in w&&(w=Object.assign(Object.assign({},w),{children:IJe(t,e,w.children,o,i,r,a,d,s)})),w})}function Bxe(t){const e={};return t.forEach(n=>{let{key:o,filteredKeys:i,column:r}=n;const a=o,{filters:l,filterDropdown:s}=r;if(s)e[a]=i||null;else if(Array.isArray(i)){const c=wC(l);e[a]=c.filter(u=>i.includes(String(u)))}else e[a]=null}),e}function oue(t,e,n){return e.reduce((o,i)=>{const{column:{onFilter:r,filters:a},filteredKeys:l}=i;return r&&l&&l.length?o.map(s=>Object.assign({},s)).filter(s=>l.some(c=>{const u=wC(a),d=u.findIndex(p=>String(p)===String(c)),f=d!==-1?u[d]:c;return s[n]&&(s[n]=oue(s[n],e,n)),r(f,s)})):o},t)}const zJe=t=>t.flatMap(e=>"children"in e?[e].concat(Xa(zJe(e.children||[]))):[e]);function ROt(t){let{prefixCls:e,dropdownPrefixCls:n,mergedColumns:o,onFilterChange:i,getPopupContainer:r,locale:a,rootClassName:l}=t;Hb();const s=m.useMemo(()=>zJe(o||[]),[o]),[c,u]=m.useState(()=>nue(s,!0)),d=m.useMemo(()=>{const A=nue(s,!1);if(A.length===0)return A;let w=!0;if(A.forEach(b=>{let{filteredKeys:C}=b;C!==void 0&&(w=!1)}),w){const b=(s||[]).map((C,P)=>Vx(C,BW(P)));return c.filter(C=>{let{key:P}=C;return b.includes(P)}).map(C=>{const P=s[b.findIndex(v=>v===C.key)];return Object.assign(Object.assign({},C),{column:Object.assign(Object.assign({},C.column),P),forceFiltered:P.filtered})})}return A},[s,c]),f=m.useMemo(()=>Bxe(d),[d]),p=A=>{const w=d.filter(b=>{let{key:C}=b;return C!==A.key});w.push(A),u(w),i(Bxe(w),w)};return[A=>IJe(e,n,A,d,a,p,r,void 0,l),d,f]}function HOt(t,e,n){const o=m.useRef({});function i(r){if(!o.current||o.current.data!==t||o.current.childrenColumnName!==e||o.current.getRowKey!==n){let s=function(c){c.forEach((u,d)=>{const f=n(u,d);l.set(f,u),u&&typeof u=="object"&&e in u&&s(u[e]||[])})};var a=s;const l=new Map;s(t),o.current={data:t,childrenColumnName:e,kvMap:l,getRowKey:n}}return o.current.kvMap.get(r)}return[i]}var MOt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const r=t[i];typeof r!="function"&&(n[i]=r)}),n}function zOt(t,e,n){const o=n&&typeof n=="object"?n:{},{total:i=0}=o,r=MOt(o,["total"]),[a,l]=m.useState(()=>({current:"defaultCurrent"in r?r.defaultCurrent:1,pageSize:"defaultPageSize"in r?r.defaultPageSize:DJe})),s=kXe(a,r,{total:i>0?i:t}),c=Math.ceil((i||t)/s.pageSize);s.current>c&&(s.current=c||1);const u=(f,p)=>{l({current:f??1,pageSize:p||s.pageSize})},d=(f,p)=>{var g;n&&((g=n.onChange)===null||g===void 0||g.call(n,f,p)),u(f,p),e(f,p||(s==null?void 0:s.pageSize))};return n===!1?[{},()=>{}]:[Object.assign(Object.assign({},s),{onChange:d}),u]}var DOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"},EOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:DOt}))},EJe=m.forwardRef(EOt),kOt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"},FOt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:kOt}))},LOt=m.forwardRef(FOt);const N_="ascend",$ie="descend";function EG(t){return typeof t.sorter=="object"&&typeof t.sorter.multiple=="number"?t.sorter.multiple:!1}function jxe(t){return typeof t=="function"?t:t&&typeof t=="object"&&t.compare?t.compare:!1}function WOt(t,e){return e?t[t.indexOf(e)+1]:t[0]}function iue(t,e,n){let o=[];function i(r,a){o.push({column:r,key:Vx(r,a),multiplePriority:EG(r),sortOrder:r.sortOrder})}return(t||[]).forEach((r,a)=>{const l=BW(a,n);r.children?("sortOrder"in r&&i(r,l),o=[].concat(Xa(o),Xa(iue(r.children,e,l)))):r.sorter&&("sortOrder"in r?i(r,l):e&&r.defaultSortOrder&&o.push({column:r,key:Vx(r,l),multiplePriority:EG(r),sortOrder:r.defaultSortOrder}))}),o}function kJe(t,e,n,o,i,r,a,l){return(e||[]).map((s,c)=>{const u=BW(c,l);let d=s;if(d.sorter){const f=d.sortDirections||i,p=d.showSorterTooltip===void 0?a:d.showSorterTooltip,g=Vx(d,u),A=n.find(x=>{let{key:R}=x;return R===g}),w=A?A.sortOrder:null,b=WOt(f,w);let C;if(s.sortIcon)C=s.sortIcon({sortOrder:w});else{const x=f.includes(N_)&&m.createElement(LOt,{className:Gn(`${t}-column-sorter-up`,{active:w===N_})}),R=f.includes($ie)&&m.createElement(EJe,{className:Gn(`${t}-column-sorter-down`,{active:w===$ie})});C=m.createElement("span",{className:Gn(`${t}-column-sorter`,{[`${t}-column-sorter-full`]:!!(x&&R)})},m.createElement("span",{className:`${t}-column-sorter-inner`,"aria-hidden":"true"},x,R))}const{cancelSort:P,triggerAsc:v,triggerDesc:T}=r||{};let y=P;b===$ie?y=T:b===N_&&(y=v);const S=typeof p=="object"?Object.assign({title:y},p):{title:y};d=Object.assign(Object.assign({},d),{className:Gn(d.className,{[`${t}-column-sort`]:w}),title:x=>{const R=`${t}-column-sorters`,H=m.createElement("span",{className:`${t}-column-title`},j$(s.title,x)),D=m.createElement("div",{className:R},H,C);return p?typeof p!="boolean"&&(p==null?void 0:p.target)==="sorter-icon"?m.createElement("div",{className:`${R} ${t}-column-sorters-tooltip-target-sorter`},H,m.createElement(J6,Object.assign({},S),C)):m.createElement(J6,Object.assign({},S),D):D},onHeaderCell:x=>{const R=s.onHeaderCell&&s.onHeaderCell(x)||{},H=R.onClick,D=R.onKeyDown;R.onClick=N=>{o({column:s,key:g,sortOrder:b,multiplePriority:EG(s)}),H==null||H(N)},R.onKeyDown=N=>{N.keyCode===hr.ENTER&&(o({column:s,key:g,sortOrder:b,multiplePriority:EG(s)}),D==null||D(N))};const k=PYt(s.title,{}),W=k==null?void 0:k.toString();return w?R["aria-sort"]=w==="ascend"?"ascending":"descending":R["aria-label"]=W||"",R.className=Gn(R.className,`${t}-column-has-sorters`),R.tabIndex=0,s.ellipsis&&(R.title=(k??"").toString()),R}})}return"children"in d&&(d=Object.assign(Object.assign({},d),{children:kJe(t,d.children,n,o,i,r,a,u)})),d})}const Yxe=t=>{const{column:e,sortOrder:n}=t;return{column:e,order:n,field:e.dataIndex,columnKey:e.key}},Oxe=t=>{const e=t.filter(n=>{let{sortOrder:o}=n;return o}).map(Yxe);if(e.length===0&&t.length){const n=t.length-1;return Object.assign(Object.assign({},Yxe(t[n])),{column:void 0})}return e.length<=1?e[0]||{}:e};function rue(t,e,n){const o=e.slice().sort((a,l)=>l.multiplePriority-a.multiplePriority),i=t.slice(),r=o.filter(a=>{let{column:{sorter:l},sortOrder:s}=a;return jxe(l)&&s});return r.length?i.sort((a,l)=>{for(let s=0;s{const l=a[n];return l?Object.assign(Object.assign({},a),{[n]:rue(l,e,n)}):a}):i}function NOt(t){let{prefixCls:e,mergedColumns:n,onSorterChange:o,sortDirections:i,tableLocale:r,showSorterTooltip:a}=t;const[l,s]=m.useState(iue(n,!0)),c=m.useMemo(()=>{let g=!0;const A=iue(n,!1);if(!A.length)return l;const w=[];function b(P){g?w.push(P):w.push(Object.assign(Object.assign({},P),{sortOrder:null}))}let C=null;return A.forEach(P=>{C===null?(b(P),P.sortOrder&&(P.multiplePriority===!1?g=!1:C=!0)):(C&&P.multiplePriority!==!1||(g=!1),b(P))}),w},[n,l]),u=m.useMemo(()=>{const g=c.map(A=>{let{column:w,sortOrder:b}=A;return{column:w,order:b}});return{sortColumns:g,sortColumn:g[0]&&g[0].column,sortOrder:g[0]&&g[0].order}},[c]),d=g=>{let A;g.multiplePriority===!1||!c.length||c[0].multiplePriority===!1?A=[g]:A=[].concat(Xa(c.filter(w=>{let{key:b}=w;return b!==g.key})),[g]),s(A),o(Oxe(A),A)};return[g=>kJe(e,g,c,d,i,r,a),c,u,()=>Oxe(c)]}function FJe(t,e){return t.map(n=>{const o=Object.assign({},n);return o.title=j$(n.title,e),"children"in o&&(o.children=FJe(o.children,e)),o})}function UOt(t){return[m.useCallback(n=>FJe(n,t),[t])]}const BOt=rJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),jOt=lJe((t,e)=>{const{_renderTimes:n}=t,{_renderTimes:o}=e;return n!==o}),YOt=t=>{const{componentCls:e,lineWidth:n,lineType:o,tableBorderColor:i,tableHeaderBg:r,tablePaddingVertical:a,tablePaddingHorizontal:l,calc:s}=t,c=`${Ut(n)} ${o} ${i}`,u=(d,f,p)=>({[`&${e}-${d}`]:{[`> ${e}-container`]:{[`> ${e}-content, > ${e}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${e}-expanded-row-fixed`]:{margin:`${Ut(s(f).mul(-1).equal())} ${Ut(s(s(p).add(n)).mul(-1).equal())}`}}}}}});return{[`${e}-wrapper`]:{[`${e}${e}-bordered`]:Object.assign(Object.assign(Object.assign({[`> ${e}-title`]:{border:c,borderBottom:0},[`> ${e}-container`]:{borderInlineStart:c,borderTop:c,[` > ${e}-content, > ${e}-header, @@ -4687,10 +4687,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{"> table":{"\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n ":{borderInlineEnd:c},"> thead":{"> tr:not(:last-child) > th":{borderBottom:c},"> tr > th::before":{backgroundColor:"transparent !important"}},"\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n ":{[`> ${e}-cell-fix-right-first::after`]:{borderInlineEnd:c}},"\n > tbody > tr > th,\n > tbody > tr > td\n ":{[`> ${e}-expanded-row-fixed`]:{margin:`${Ut(s(a).mul(-1).equal())} ${Ut(s(s(l).add(n)).mul(-1).equal())}`,"&::after":{position:"absolute",top:0,insetInlineEnd:n,bottom:0,borderInlineEnd:c,content:'""'}}}}}},[`&${e}-scroll-horizontal`]:{[`> ${e}-container > ${e}-body`]:{"> table > tbody":{[` > tr${e}-expanded-row, > tr${e}-placeholder - `]:{"> th, > td":{borderInlineEnd:0}}}}}},u("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle)),u("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall)),{[`> ${e}-footer`]:{border:c,borderTop:0}}),[`${e}-cell`]:{[`${e}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Ut(n)} 0 ${Ut(n)} ${r}`}},[`${e}-bordered ${e}-cell-scrollbar`]:{borderInlineEnd:c}}}},VOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-cell-ellipsis`]:Object.assign(Object.assign({},Yx),{wordBreak:"keep-all",[` + `]:{"> th, > td":{borderInlineEnd:0}}}}}},u("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle)),u("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall)),{[`> ${e}-footer`]:{border:c,borderTop:0}}),[`${e}-cell`]:{[`${e}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Ut(n)} 0 ${Ut(n)} ${r}`}},[`${e}-bordered ${e}-cell-scrollbar`]:{borderInlineEnd:c}}}},OOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-cell-ellipsis`]:Object.assign(Object.assign({},Yx),{wordBreak:"keep-all",[` &${e}-cell-fix-left-last, &${e}-cell-fix-right-first - `]:{overflow:"visible",[`${e}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${e}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},GOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-tbody > tr${e}-placeholder`]:{textAlign:"center",color:t.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:t.colorBgContainer}}}}},XOt=t=>{const{componentCls:e,antCls:n,motionDurationSlow:o,lineWidth:i,paddingXS:r,lineType:a,tableBorderColor:l,tableExpandIconBg:s,tableExpandColumnWidth:c,borderRadius:u,tablePaddingVertical:d,tablePaddingHorizontal:f,tableExpandedRowBg:p,paddingXXS:g,expandIconMarginTop:A,expandIconSize:w,expandIconHalfInner:b,expandIconScale:C,calc:P}=t,v=`${Ut(i)} ${a} ${l}`,T=P(g).sub(i).equal();return{[`${e}-wrapper`]:{[`${e}-expand-icon-col`]:{width:c},[`${e}-row-expand-icon-cell`]:{textAlign:"center",[`${e}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${e}-row-indent`]:{height:1,float:"left"},[`${e}-row-expand-icon`]:Object.assign(Object.assign({},Nge(t)),{position:"relative",float:"left",boxSizing:"border-box",width:w,height:w,padding:0,color:"inherit",lineHeight:Ut(w),background:s,border:v,borderRadius:u,transform:`scale(${C})`,transition:`all ${o}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${o} ease-out`,content:'""'},"&::before":{top:b,insetInlineEnd:T,insetInlineStart:T,height:i},"&::after":{top:T,bottom:T,insetInlineStart:b,width:i,transform:"rotate(90deg)"},"&-collapsed::before":{transform:"rotate(-180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"},"&-spaced":{"&::before, &::after":{display:"none",content:"none"},background:"transparent",border:0,visibility:"hidden"}}),[`${e}-row-indent + ${e}-row-expand-icon`]:{marginTop:A,marginInlineEnd:r},[`tr${e}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:p}},[`${n}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${e}-expanded-row-fixed`]:{position:"relative",margin:`${Ut(P(d).mul(-1).equal())} ${Ut(P(f).mul(-1).equal())}`,padding:`${Ut(d)} ${Ut(f)}`}}}},JOt=t=>{const{componentCls:e,antCls:n,iconCls:o,tableFilterDropdownWidth:i,tableFilterDropdownSearchWidth:r,paddingXXS:a,paddingXS:l,colorText:s,lineWidth:c,lineType:u,tableBorderColor:d,headerIconColor:f,fontSizeSM:p,tablePaddingHorizontal:g,borderRadius:A,motionDurationSlow:w,colorTextDescription:b,colorPrimary:C,tableHeaderFilterActiveBg:P,colorTextDisabled:v,tableFilterDropdownBg:T,tableFilterDropdownHeight:y,controlItemBgHover:S,controlItemBgActive:x,boxShadowSecondary:R,filterDropdownMenuBg:H,calc:D}=t,k=`${n}-dropdown`,W=`${e}-filter-dropdown`,N=`${n}-tree`,L=`${Ut(c)} ${u} ${d}`;return[{[`${e}-wrapper`]:{[`${e}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${e}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:D(a).mul(-1).equal(),marginInline:`${Ut(a)} ${Ut(D(g).div(2).mul(-1).equal())}`,padding:`0 ${Ut(a)}`,color:f,fontSize:p,borderRadius:A,cursor:"pointer",transition:`all ${w}`,"&:hover":{color:b,background:P},"&.active":{color:C}}}},{[`${n}-dropdown`]:{[W]:Object.assign(Object.assign({},$a(t)),{minWidth:i,backgroundColor:T,borderRadius:A,boxShadow:R,overflow:"hidden",[`${k}-menu`]:{maxHeight:y,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:H,"&:empty::after":{display:"block",padding:`${Ut(l)} 0`,color:v,fontSize:p,textAlign:"center",content:'"Not Found"'}},[`${W}-tree`]:{paddingBlock:`${Ut(l)} 0`,paddingInline:l,[N]:{padding:0},[`${N}-treenode ${N}-node-content-wrapper:hover`]:{backgroundColor:S},[`${N}-treenode-checkbox-checked ${N}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:x}}},[`${W}-search`]:{padding:l,borderBottom:L,"&-input":{input:{minWidth:r},[o]:{color:v}}},[`${W}-checkall`]:{width:"100%",marginBottom:a,marginInlineStart:a},[`${W}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${Ut(D(l).sub(c).equal())} ${Ut(l)}`,overflow:"hidden",borderTop:L}})}},{[`${n}-dropdown ${W}, ${W}-submenu`]:{[`${n}-checkbox-wrapper + span`]:{paddingInlineStart:l,color:s},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},KOt=t=>{const{componentCls:e,lineWidth:n,colorSplit:o,motionDurationSlow:i,zIndexTableFixed:r,tableBg:a,zIndexTableSticky:l,calc:s}=t,c=o;return{[`${e}-wrapper`]:{[` + `]:{overflow:"visible",[`${e}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${e}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},_Ot=t=>{const{componentCls:e}=t;return{[`${e}-wrapper`]:{[`${e}-tbody > tr${e}-placeholder`]:{textAlign:"center",color:t.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:t.colorBgContainer}}}}},VOt=t=>{const{componentCls:e,antCls:n,motionDurationSlow:o,lineWidth:i,paddingXS:r,lineType:a,tableBorderColor:l,tableExpandIconBg:s,tableExpandColumnWidth:c,borderRadius:u,tablePaddingVertical:d,tablePaddingHorizontal:f,tableExpandedRowBg:p,paddingXXS:g,expandIconMarginTop:A,expandIconSize:w,expandIconHalfInner:b,expandIconScale:C,calc:P}=t,v=`${Ut(i)} ${a} ${l}`,T=P(g).sub(i).equal();return{[`${e}-wrapper`]:{[`${e}-expand-icon-col`]:{width:c},[`${e}-row-expand-icon-cell`]:{textAlign:"center",[`${e}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${e}-row-indent`]:{height:1,float:"left"},[`${e}-row-expand-icon`]:Object.assign(Object.assign({},Nge(t)),{position:"relative",float:"left",boxSizing:"border-box",width:w,height:w,padding:0,color:"inherit",lineHeight:Ut(w),background:s,border:v,borderRadius:u,transform:`scale(${C})`,transition:`all ${o}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${o} ease-out`,content:'""'},"&::before":{top:b,insetInlineEnd:T,insetInlineStart:T,height:i},"&::after":{top:T,bottom:T,insetInlineStart:b,width:i,transform:"rotate(90deg)"},"&-collapsed::before":{transform:"rotate(-180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"},"&-spaced":{"&::before, &::after":{display:"none",content:"none"},background:"transparent",border:0,visibility:"hidden"}}),[`${e}-row-indent + ${e}-row-expand-icon`]:{marginTop:A,marginInlineEnd:r},[`tr${e}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:p}},[`${n}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${e}-expanded-row-fixed`]:{position:"relative",margin:`${Ut(P(d).mul(-1).equal())} ${Ut(P(f).mul(-1).equal())}`,padding:`${Ut(d)} ${Ut(f)}`}}}},GOt=t=>{const{componentCls:e,antCls:n,iconCls:o,tableFilterDropdownWidth:i,tableFilterDropdownSearchWidth:r,paddingXXS:a,paddingXS:l,colorText:s,lineWidth:c,lineType:u,tableBorderColor:d,headerIconColor:f,fontSizeSM:p,tablePaddingHorizontal:g,borderRadius:A,motionDurationSlow:w,colorTextDescription:b,colorPrimary:C,tableHeaderFilterActiveBg:P,colorTextDisabled:v,tableFilterDropdownBg:T,tableFilterDropdownHeight:y,controlItemBgHover:S,controlItemBgActive:x,boxShadowSecondary:R,filterDropdownMenuBg:H,calc:D}=t,k=`${n}-dropdown`,W=`${e}-filter-dropdown`,N=`${n}-tree`,L=`${Ut(c)} ${u} ${d}`;return[{[`${e}-wrapper`]:{[`${e}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${e}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:D(a).mul(-1).equal(),marginInline:`${Ut(a)} ${Ut(D(g).div(2).mul(-1).equal())}`,padding:`0 ${Ut(a)}`,color:f,fontSize:p,borderRadius:A,cursor:"pointer",transition:`all ${w}`,"&:hover":{color:b,background:P},"&.active":{color:C}}}},{[`${n}-dropdown`]:{[W]:Object.assign(Object.assign({},$a(t)),{minWidth:i,backgroundColor:T,borderRadius:A,boxShadow:R,overflow:"hidden",[`${k}-menu`]:{maxHeight:y,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:H,"&:empty::after":{display:"block",padding:`${Ut(l)} 0`,color:v,fontSize:p,textAlign:"center",content:'"Not Found"'}},[`${W}-tree`]:{paddingBlock:`${Ut(l)} 0`,paddingInline:l,[N]:{padding:0},[`${N}-treenode ${N}-node-content-wrapper:hover`]:{backgroundColor:S},[`${N}-treenode-checkbox-checked ${N}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:x}}},[`${W}-search`]:{padding:l,borderBottom:L,"&-input":{input:{minWidth:r},[o]:{color:v}}},[`${W}-checkall`]:{width:"100%",marginBottom:a,marginInlineStart:a},[`${W}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${Ut(D(l).sub(c).equal())} ${Ut(l)}`,overflow:"hidden",borderTop:L}})}},{[`${n}-dropdown ${W}, ${W}-submenu`]:{[`${n}-checkbox-wrapper + span`]:{paddingInlineStart:l,color:s},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},XOt=t=>{const{componentCls:e,lineWidth:n,colorSplit:o,motionDurationSlow:i,zIndexTableFixed:r,tableBg:a,zIndexTableSticky:l,calc:s}=t,c=o;return{[`${e}-wrapper`]:{[` ${e}-cell-fix-left, ${e}-cell-fix-right `]:{position:"sticky !important",zIndex:r,background:a},[` @@ -4710,11 +4710,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${e}-cell-fix-left-last::after, ${e}-cell-fix-right-first::after, ${e}-cell-fix-right-last::after - `]:{boxShadow:"none"}}}}},qOt=t=>{const{componentCls:e,antCls:n,margin:o}=t;return{[`${e}-wrapper`]:{[`${e}-pagination${n}-pagination`]:{margin:`${Ut(o)} 0`},[`${e}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:t.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},$Ot=t=>{const{componentCls:e,tableRadius:n}=t;return{[`${e}-wrapper`]:{[e]:{[`${e}-title, ${e}-header`]:{borderRadius:`${Ut(n)} ${Ut(n)} 0 0`},[`${e}-title + ${e}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${e}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:n,borderStartEndRadius:n,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:n},"> *:last-child":{borderStartEndRadius:n}}},"&-footer":{borderRadius:`0 0 ${Ut(n)} ${Ut(n)}`}}}}},QOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${e}-pagination-left`]:{justifyContent:"flex-end"},[`${e}-pagination-right`]:{justifyContent:"flex-start"},[`${e}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${e}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${e}-row-indent`]:{float:"right"}}}}},ZOt=t=>{const{componentCls:e,antCls:n,iconCls:o,fontSizeIcon:i,padding:r,paddingXS:a,headerIconColor:l,headerIconHoverColor:s,tableSelectionColumnWidth:c,tableSelectedRowBg:u,tableSelectedRowHoverBg:d,tableRowHoverBg:f,tablePaddingHorizontal:p,calc:g}=t;return{[`${e}-wrapper`]:{[`${e}-selection-col`]:{width:c,[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).equal()}},[`${e}-bordered ${e}-selection-col`]:{width:g(c).add(g(a).mul(2)).equal(),[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).add(g(a).mul(2)).equal()}},[` + `]:{boxShadow:"none"}}}}},JOt=t=>{const{componentCls:e,antCls:n,margin:o}=t;return{[`${e}-wrapper`]:{[`${e}-pagination${n}-pagination`]:{margin:`${Ut(o)} 0`},[`${e}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:t.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},KOt=t=>{const{componentCls:e,tableRadius:n}=t;return{[`${e}-wrapper`]:{[e]:{[`${e}-title, ${e}-header`]:{borderRadius:`${Ut(n)} ${Ut(n)} 0 0`},[`${e}-title + ${e}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${e}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:n,borderStartEndRadius:n,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:n},"> *:last-child":{borderStartEndRadius:n}}},"&-footer":{borderRadius:`0 0 ${Ut(n)} ${Ut(n)}`}}}}},qOt=t=>{const{componentCls:e}=t;return{[`${e}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${e}-pagination-left`]:{justifyContent:"flex-end"},[`${e}-pagination-right`]:{justifyContent:"flex-start"},[`${e}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${e}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${e}-row-indent`]:{float:"right"}}}}},$Ot=t=>{const{componentCls:e,antCls:n,iconCls:o,fontSizeIcon:i,padding:r,paddingXS:a,headerIconColor:l,headerIconHoverColor:s,tableSelectionColumnWidth:c,tableSelectedRowBg:u,tableSelectedRowHoverBg:d,tableRowHoverBg:f,tablePaddingHorizontal:p,calc:g}=t;return{[`${e}-wrapper`]:{[`${e}-selection-col`]:{width:c,[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).equal()}},[`${e}-bordered ${e}-selection-col`]:{width:g(c).add(g(a).mul(2)).equal(),[`&${e}-selection-col-with-dropdown`]:{width:g(c).add(i).add(g(r).div(4)).add(g(a).mul(2)).equal()}},[` table tr th${e}-selection-column, table tr td${e}-selection-column, ${e}-selection-column - `]:{paddingInlineEnd:t.paddingXS,paddingInlineStart:t.paddingXS,textAlign:"center",[`${n}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${e}-selection-column${e}-cell-fix-left`]:{zIndex:t.zIndexTableFixed+1},[`table tr th${e}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${e}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${e}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:Ut(g(p).div(4).equal()),[o]:{color:l,fontSize:i,verticalAlign:"baseline","&:hover":{color:s}}},[`${e}-tbody`]:{[`${e}-row`]:{[`&${e}-row-selected`]:{[`> ${e}-cell`]:{background:u,"&-row-hover":{background:d}}},[`> ${e}-cell-row-hover`]:{background:f}}}}}},e_t=t=>{const{componentCls:e,tableExpandColumnWidth:n,calc:o}=t,i=(r,a,l,s)=>({[`${e}${e}-${r}`]:{fontSize:s,[` + `]:{paddingInlineEnd:t.paddingXS,paddingInlineStart:t.paddingXS,textAlign:"center",[`${n}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${e}-selection-column${e}-cell-fix-left`]:{zIndex:t.zIndexTableFixed+1},[`table tr th${e}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${e}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${e}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${t.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:Ut(g(p).div(4).equal()),[o]:{color:l,fontSize:i,verticalAlign:"baseline","&:hover":{color:s}}},[`${e}-tbody`]:{[`${e}-row`]:{[`&${e}-row-selected`]:{[`> ${e}-cell`]:{background:u,"&-row-hover":{background:d}}},[`> ${e}-cell-row-hover`]:{background:f}}}}}},QOt=t=>{const{componentCls:e,tableExpandColumnWidth:n,calc:o}=t,i=(r,a,l,s)=>({[`${e}${e}-${r}`]:{fontSize:s,[` ${e}-title, ${e}-footer, ${e}-cell, @@ -4723,10 +4723,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${e}-tbody > tr > td, tfoot > tr > th, tfoot > tr > td - `]:{padding:`${Ut(a)} ${Ut(l)}`},[`${e}-filter-trigger`]:{marginInlineEnd:Ut(o(l).div(2).mul(-1).equal())},[`${e}-expanded-row-fixed`]:{margin:`${Ut(o(a).mul(-1).equal())} ${Ut(o(l).mul(-1).equal())}`},[`${e}-tbody`]:{[`${e}-wrapper:only-child ${e}`]:{marginBlock:Ut(o(a).mul(-1).equal()),marginInline:`${Ut(o(n).sub(l).equal())} ${Ut(o(l).mul(-1).equal())}`}},[`${e}-selection-extra`]:{paddingInlineStart:Ut(o(l).div(4).equal())}}});return{[`${e}-wrapper`]:Object.assign(Object.assign({},i("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle,t.tableFontSizeMiddle)),i("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall,t.tableFontSizeSmall))}},t_t=t=>{const{componentCls:e,marginXXS:n,fontSizeIcon:o,headerIconColor:i,headerIconHoverColor:r}=t;return{[`${e}-wrapper`]:{[`${e}-thead th${e}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{background:t.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:t.colorPrimary},[` + `]:{padding:`${Ut(a)} ${Ut(l)}`},[`${e}-filter-trigger`]:{marginInlineEnd:Ut(o(l).div(2).mul(-1).equal())},[`${e}-expanded-row-fixed`]:{margin:`${Ut(o(a).mul(-1).equal())} ${Ut(o(l).mul(-1).equal())}`},[`${e}-tbody`]:{[`${e}-wrapper:only-child ${e}`]:{marginBlock:Ut(o(a).mul(-1).equal()),marginInline:`${Ut(o(n).sub(l).equal())} ${Ut(o(l).mul(-1).equal())}`}},[`${e}-selection-extra`]:{paddingInlineStart:Ut(o(l).div(4).equal())}}});return{[`${e}-wrapper`]:Object.assign(Object.assign({},i("middle",t.tablePaddingVerticalMiddle,t.tablePaddingHorizontalMiddle,t.tableFontSizeMiddle)),i("small",t.tablePaddingVerticalSmall,t.tablePaddingHorizontalSmall,t.tableFontSizeSmall))}},ZOt=t=>{const{componentCls:e,marginXXS:n,fontSizeIcon:o,headerIconColor:i,headerIconHoverColor:r}=t;return{[`${e}-wrapper`]:{[`${e}-thead th${e}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${t.motionDurationSlow}`,"&:hover":{background:t.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:t.colorPrimary},[` &${e}-cell-fix-left:hover, &${e}-cell-fix-right:hover - `]:{background:t.tableFixedHeaderSortActiveBg}},[`${e}-thead th${e}-column-sort`]:{background:t.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${e}-column-sort`]:{background:t.tableBodySortBg},[`${e}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${e}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${e}-column-sorters-tooltip-target-sorter`]:{"&::after":{content:"none"}},[`${e}-column-sorter`]:{marginInlineStart:n,color:i,fontSize:0,transition:`color ${t.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:o,"&.active":{color:t.colorPrimary}},[`${e}-column-sorter-up + ${e}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${e}-column-sorters:hover ${e}-column-sorter`]:{color:r}}}},n_t=t=>{const{componentCls:e,opacityLoading:n,tableScrollThumbBg:o,tableScrollThumbBgHover:i,tableScrollThumbSize:r,tableScrollBg:a,zIndexTableSticky:l,stickyScrollBarBorderRadius:s,lineWidth:c,lineType:u,tableBorderColor:d}=t,f=`${Ut(c)} ${u} ${d}`;return{[`${e}-wrapper`]:{[`${e}-sticky`]:{"&-holder":{position:"sticky",zIndex:l,background:t.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Ut(r)} !important`,zIndex:l,display:"flex",alignItems:"center",background:a,borderTop:f,opacity:n,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:r,backgroundColor:o,borderRadius:s,transition:`all ${t.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:i}}}}}}},_xe=t=>{const{componentCls:e,lineWidth:n,tableBorderColor:o,calc:i}=t,r=`${Ut(n)} ${t.lineType} ${o}`;return{[`${e}-wrapper`]:{[`${e}-summary`]:{position:"relative",zIndex:t.zIndexTableFixed,background:t.tableBg,"> tr":{"> th, > td":{borderBottom:r}}},[`div${e}-summary`]:{boxShadow:`0 ${Ut(i(n).mul(-1).equal())} 0 ${o}`}}}},o_t=t=>{const{componentCls:e,motionDurationMid:n,lineWidth:o,lineType:i,tableBorderColor:r,calc:a}=t,l=`${Ut(o)} ${i} ${r}`,s=`${e}-expanded-row-cell`;return{[`${e}-wrapper`]:{[`${e}-tbody-virtual`]:{[`${e}-row:not(tr)`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${e}-cell`]:{borderBottom:l,transition:`background ${n}`},[`${e}-expanded-row`]:{[`${s}${s}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Ut(o)})`,borderInlineEnd:"none"}}},[`${e}-bordered`]:{[`${e}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:l,position:"absolute"},[`${e}-cell`]:{borderInlineEnd:l,[`&${e}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:a(o).mul(-1).equal(),borderInlineStart:l}}},[`&${e}-virtual`]:{[`${e}-placeholder ${e}-cell`]:{borderInlineEnd:l,borderBottom:l}}}}}},i_t=t=>{const{componentCls:e,fontWeightStrong:n,tablePaddingVertical:o,tablePaddingHorizontal:i,tableExpandColumnWidth:r,lineWidth:a,lineType:l,tableBorderColor:s,tableFontSize:c,tableBg:u,tableRadius:d,tableHeaderTextColor:f,motionDurationMid:p,tableHeaderBg:g,tableHeaderCellSplitColor:A,tableFooterTextColor:w,tableFooterBg:b,calc:C}=t,P=`${Ut(a)} ${l} ${s}`;return{[`${e}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},Yk()),{[e]:Object.assign(Object.assign({},$a(t)),{fontSize:c,background:u,borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,scrollbarColor:`${t.tableScrollThumbBg} ${t.tableScrollBg}`}),table:{width:"100%",textAlign:"start",borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,borderCollapse:"separate",borderSpacing:0},[` + `]:{background:t.tableFixedHeaderSortActiveBg}},[`${e}-thead th${e}-column-sort`]:{background:t.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${e}-column-sort`]:{background:t.tableBodySortBg},[`${e}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${e}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${e}-column-sorters-tooltip-target-sorter`]:{"&::after":{content:"none"}},[`${e}-column-sorter`]:{marginInlineStart:n,color:i,fontSize:0,transition:`color ${t.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:o,"&.active":{color:t.colorPrimary}},[`${e}-column-sorter-up + ${e}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${e}-column-sorters:hover ${e}-column-sorter`]:{color:r}}}},e_t=t=>{const{componentCls:e,opacityLoading:n,tableScrollThumbBg:o,tableScrollThumbBgHover:i,tableScrollThumbSize:r,tableScrollBg:a,zIndexTableSticky:l,stickyScrollBarBorderRadius:s,lineWidth:c,lineType:u,tableBorderColor:d}=t,f=`${Ut(c)} ${u} ${d}`;return{[`${e}-wrapper`]:{[`${e}-sticky`]:{"&-holder":{position:"sticky",zIndex:l,background:t.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Ut(r)} !important`,zIndex:l,display:"flex",alignItems:"center",background:a,borderTop:f,opacity:n,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:r,backgroundColor:o,borderRadius:s,transition:`all ${t.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:i}}}}}}},_xe=t=>{const{componentCls:e,lineWidth:n,tableBorderColor:o,calc:i}=t,r=`${Ut(n)} ${t.lineType} ${o}`;return{[`${e}-wrapper`]:{[`${e}-summary`]:{position:"relative",zIndex:t.zIndexTableFixed,background:t.tableBg,"> tr":{"> th, > td":{borderBottom:r}}},[`div${e}-summary`]:{boxShadow:`0 ${Ut(i(n).mul(-1).equal())} 0 ${o}`}}}},t_t=t=>{const{componentCls:e,motionDurationMid:n,lineWidth:o,lineType:i,tableBorderColor:r,calc:a}=t,l=`${Ut(o)} ${i} ${r}`,s=`${e}-expanded-row-cell`;return{[`${e}-wrapper`]:{[`${e}-tbody-virtual`]:{[`${e}-row:not(tr)`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${e}-cell`]:{borderBottom:l,transition:`background ${n}`},[`${e}-expanded-row`]:{[`${s}${s}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Ut(o)})`,borderInlineEnd:"none"}}},[`${e}-bordered`]:{[`${e}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:l,position:"absolute"},[`${e}-cell`]:{borderInlineEnd:l,[`&${e}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:a(o).mul(-1).equal(),borderInlineStart:l}}},[`&${e}-virtual`]:{[`${e}-placeholder ${e}-cell`]:{borderInlineEnd:l,borderBottom:l}}}}}},n_t=t=>{const{componentCls:e,fontWeightStrong:n,tablePaddingVertical:o,tablePaddingHorizontal:i,tableExpandColumnWidth:r,lineWidth:a,lineType:l,tableBorderColor:s,tableFontSize:c,tableBg:u,tableRadius:d,tableHeaderTextColor:f,motionDurationMid:p,tableHeaderBg:g,tableHeaderCellSplitColor:A,tableFooterTextColor:w,tableFooterBg:b,calc:C}=t,P=`${Ut(a)} ${l} ${s}`;return{[`${e}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},Yk()),{[e]:Object.assign(Object.assign({},$a(t)),{fontSize:c,background:u,borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,scrollbarColor:`${t.tableScrollThumbBg} ${t.tableScrollBg}`}),table:{width:"100%",textAlign:"start",borderRadius:`${Ut(d)} ${Ut(d)} 0 0`,borderCollapse:"separate",borderSpacing:0},[` ${e}-cell, ${e}-thead > tr > th, ${e}-tbody > tr > th, @@ -4737,23 +4737,23 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho > ${e}-wrapper:only-child, > ${e}-expanded-row-fixed > ${e}-wrapper:only-child `]:{[e]:{marginBlock:Ut(C(o).mul(-1).equal()),marginInline:`${Ut(C(r).sub(i).equal())} - ${Ut(C(i).mul(-1).equal())}`,[`${e}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:f,fontWeight:n,textAlign:"start",background:g,borderBottom:P,transition:`background ${p} ease`}}},[`${e}-footer`]:{padding:`${Ut(o)} ${Ut(i)}`,color:w,background:b}})}},r_t=t=>{const{colorFillAlter:e,colorBgContainer:n,colorTextHeading:o,colorFillSecondary:i,colorFillContent:r,controlItemBgActive:a,controlItemBgActiveHover:l,padding:s,paddingSM:c,paddingXS:u,colorBorderSecondary:d,borderRadiusLG:f,controlHeight:p,colorTextPlaceholder:g,fontSize:A,fontSizeSM:w,lineHeight:b,lineWidth:C,colorIcon:P,colorIconHover:v,opacityLoading:T,controlInteractiveSize:y}=t,S=new Il(i).onBackground(n).toHexShortString(),x=new Il(r).onBackground(n).toHexShortString(),R=new Il(e).onBackground(n).toHexShortString(),H=new Il(P),D=new Il(v),k=y/2-C,W=k*2+C*3;return{headerBg:R,headerColor:o,headerSortActiveBg:S,headerSortHoverBg:x,bodySortBg:R,rowHoverBg:R,rowSelectedBg:a,rowSelectedHoverBg:l,rowExpandedBg:e,cellPaddingBlock:s,cellPaddingInline:s,cellPaddingBlockMD:c,cellPaddingInlineMD:u,cellPaddingBlockSM:u,cellPaddingInlineSM:u,borderColor:d,headerBorderRadius:f,footerBg:R,footerColor:o,cellFontSize:A,cellFontSizeMD:A,cellFontSizeSM:A,headerSplitColor:d,fixedHeaderSortActiveBg:S,headerFilterHoverBg:r,filterDropdownMenuBg:n,filterDropdownBg:n,expandIconBg:n,selectionColumnWidth:p,stickyScrollBarBg:g,stickyScrollBarBorderRadius:100,expandIconMarginTop:(A*b-C*3)/2-Math.ceil((w*1.4-C*3)/2),headerIconColor:H.clone().setAlpha(H.getAlpha()*T).toRgbString(),headerIconHoverColor:D.clone().setAlpha(D.getAlpha()*T).toRgbString(),expandIconHalfInner:k,expandIconSize:W,expandIconScale:y/W}},a_t=Fl("Table",t=>{const{colorTextHeading:e,colorSplit:n,colorBgContainer:o,controlInteractiveSize:i,headerBg:r,headerColor:a,headerSortActiveBg:l,headerSortHoverBg:s,bodySortBg:c,rowHoverBg:u,rowSelectedBg:d,rowSelectedHoverBg:f,rowExpandedBg:p,cellPaddingBlock:g,cellPaddingInline:A,cellPaddingBlockMD:w,cellPaddingInlineMD:b,cellPaddingBlockSM:C,cellPaddingInlineSM:P,borderColor:v,footerBg:T,footerColor:y,headerBorderRadius:S,cellFontSize:x,cellFontSizeMD:R,cellFontSizeSM:H,headerSplitColor:D,fixedHeaderSortActiveBg:k,headerFilterHoverBg:W,filterDropdownBg:N,expandIconBg:L,selectionColumnWidth:E,stickyScrollBarBg:U,calc:F}=t,B=2,_=Zr(t,{tableFontSize:x,tableBg:o,tableRadius:S,tablePaddingVertical:g,tablePaddingHorizontal:A,tablePaddingVerticalMiddle:w,tablePaddingHorizontalMiddle:b,tablePaddingVerticalSmall:C,tablePaddingHorizontalSmall:P,tableBorderColor:v,tableHeaderTextColor:a,tableHeaderBg:r,tableFooterTextColor:y,tableFooterBg:T,tableHeaderCellSplitColor:D,tableHeaderSortBg:l,tableHeaderSortHoverBg:s,tableBodySortBg:c,tableFixedHeaderSortActiveBg:k,tableHeaderFilterActiveBg:W,tableFilterDropdownBg:N,tableRowHoverBg:u,tableSelectedRowBg:d,tableSelectedRowHoverBg:f,zIndexTableFixed:B,zIndexTableSticky:B+1,tableFontSizeMiddle:R,tableFontSizeSmall:H,tableSelectionColumnWidth:E,tableExpandIconBg:L,tableExpandColumnWidth:F(i).add(F(t.padding).mul(2)).equal(),tableExpandedRowBg:p,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:U,tableScrollThumbBgHover:e,tableScrollBg:n});return[i_t(_),qOt(_),_xe(_),t_t(_),JOt(_),_Ot(_),$Ot(_),XOt(_),_xe(_),GOt(_),ZOt(_),KOt(_),n_t(_),VOt(_),e_t(_),QOt(_),o_t(_)]},r_t,{unitless:{expandIconScale:!0}}),l_t=[],s_t=(t,e)=>{var n,o;const{prefixCls:i,className:r,rootClassName:a,style:l,size:s,bordered:c,dropdownPrefixCls:u,dataSource:d,pagination:f,rowSelection:p,rowKey:g="key",rowClassName:A,columns:w,children:b,childrenColumnName:C,onChange:P,getPopupContainer:v,loading:T,expandIcon:y,expandable:S,expandedRowRender:x,expandIconColumnIndex:R,indentSize:H,scroll:D,sortDirections:k,locale:W,showSorterTooltip:N={target:"full-header"},virtual:L}=t;Hb();const E=m.useMemo(()=>w||jme(b),[w,b]),U=m.useMemo(()=>E.some(Ft=>Ft.responsive),[E]),F=x$(U),B=m.useMemo(()=>{const Ft=new Set(Object.keys(F).filter(Ke=>F[Ke]));return E.filter(Ke=>!Ke.responsive||Ke.responsive.some(Je=>Ft.has(Je)))},[E,F]),_=lp(t,["className","style","columns"]),{locale:Y=t7,direction:O,table:J,renderEmpty:Z,getPrefixCls:ie,getPopupContainer:ee}=m.useContext(Mi),q=Rd(s),ae=Object.assign(Object.assign({},Y.Table),W),ne=d||l_t,se=ie("table",i),le=ie("dropdown",u),[,te]=Yu(),he=j0(se),[pe,fe,$]=a_t(se,he),de=Object.assign(Object.assign({childrenColumnName:C,expandIconColumnIndex:R},S),{expandIcon:(n=S==null?void 0:S.expandIcon)!==null&&n!==void 0?n:(o=J==null?void 0:J.expandable)===null||o===void 0?void 0:o.expandIcon}),{childrenColumnName:Se="children"}=de,Ce=m.useMemo(()=>ne.some(Ft=>Ft==null?void 0:Ft[Se])?"nest":x||S&&S.expandedRowRender?"row":null,[ne]),ve={body:m.useRef()},Ie=CYt(se),ze=m.useRef(null),ye=m.useRef(null);TYt(e,()=>Object.assign(Object.assign({},ye.current),{nativeElement:ze.current}));const oe=m.useMemo(()=>typeof g=="function"?g:Ft=>Ft==null?void 0:Ft[g],[g]),[ge]=IOt(ne,Se,oe),Ae={},me=function(Ft,Ke){let Je=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var ct,Pt,Ne;const lt=Object.assign(Object.assign({},Ae),Ft);Je&&((ct=Ae.resetPagination)===null||ct===void 0||ct.call(Ae),!((Pt=lt.pagination)===null||Pt===void 0)&&Pt.current&&(lt.pagination.current=1),f&&f.onChange&&f.onChange(1,(Ne=lt.pagination)===null||Ne===void 0?void 0:Ne.pageSize)),D&&D.scrollToFirstRowOnChange!==!1&&ve.body.current&&DPt(0,{getContainer:()=>ve.body.current}),P==null||P(lt.pagination,lt.filters,lt.sorter,{currentDataSource:oue(rue(ne,lt.sorterStates,Se),lt.filterStates,Se),action:Ke})},Pe=(Ft,Ke)=>{me({sorter:Ft,sorterStates:Ke},"sort",!1)},[Me,Te,De,Ue]=BOt({prefixCls:se,mergedColumns:B,onSorterChange:Pe,sortDirections:k||["ascend","descend"],tableLocale:ae,showSorterTooltip:N}),Oe=m.useMemo(()=>rue(ne,Te,Se),[ne,Te]);Ae.sorter=Ue(),Ae.sorterStates=Te;const Le=(Ft,Ke)=>{me({filters:Ft,filterStates:Ke},"filter",!0)},[$e,We,Ee]=MOt({prefixCls:se,locale:ae,dropdownPrefixCls:le,mergedColumns:B,onFilterChange:Le,getPopupContainer:v||ee,rootClassName:Gn(a,he)}),Fe=oue(Oe,We,Se);Ae.filters=Ee,Ae.filterStates=We;const Ge=m.useMemo(()=>{const Ft={};return Object.keys(Ee).forEach(Ke=>{Ee[Ke]!==null&&(Ft[Ke]=Ee[Ke])}),Object.assign(Object.assign({},De),{filters:Ft})},[De,Ee]),[rt]=jOt(Ge),Ve=(Ft,Ke)=>{me({pagination:Object.assign(Object.assign({},Ae.pagination),{current:Ft,pageSize:Ke})},"paginate")},[xt,dt]=EOt(Fe.length,Ve,f);Ae.pagination=f===!1?{}:DOt(xt,f),Ae.resetPagination=dt;const Qe=m.useMemo(()=>{if(f===!1||!xt.pageSize)return Fe;const{current:Ft=1,total:Ke,pageSize:Je=kJe}=xt;return Fe.lengthJe?Fe.slice((Ft-1)*Je,Ft*Je):Fe:Fe.slice((Ft-1)*Je,Ft*Je)},[!!f,Fe,xt&&xt.current,xt&&xt.pageSize,xt&&xt.total]),[ut,ft]=bYt({prefixCls:se,data:Fe,pageData:Qe,getRowKey:oe,getRecordByKey:ge,expandType:Ce,childrenColumnName:Se,locale:ae,getPopupContainer:v||ee},p),at=(Ft,Ke,Je)=>{let ct;return typeof A=="function"?ct=Gn(A(Ft,Ke,Je)):ct=Gn(A),Gn({[`${se}-row-selected`]:ft.has(oe(Ft,Ke))},ct)};de.__PARENT_RENDER_ICON__=de.expandIcon,de.expandIcon=de.expandIcon||y||PYt(ae),Ce==="nest"&&de.expandIconColumnIndex===void 0?de.expandIconColumnIndex=p?1:0:de.expandIconColumnIndex>0&&p&&(de.expandIconColumnIndex-=1),typeof de.indentSize!="number"&&(de.indentSize=typeof H=="number"?H:15);const ot=m.useCallback(Ft=>rt(ut($e(Me(Ft)))),[Me,$e,ut]);let et,_e;if(f!==!1&&(xt!=null&&xt.total)){let Ft;xt.size?Ft=xt.size:Ft=q==="small"||q==="middle"?"small":void 0;const Ke=Pt=>m.createElement(jXe,Object.assign({},xt,{className:Gn(`${se}-pagination ${se}-pagination-${Pt}`,xt.className),size:Ft})),Je=O==="rtl"?"left":"right",{position:ct}=xt;if(ct!==null&&Array.isArray(ct)){const Pt=ct.find(Ye=>Ye.includes("top")),Ne=ct.find(Ye=>Ye.includes("bottom")),lt=ct.every(Ye=>`${Ye}`=="none");!Pt&&!Ne&&!lt&&(_e=Ke(Je)),Pt&&(et=Ke(Pt.toLowerCase().replace("top",""))),Ne&&(_e=Ke(Ne.toLowerCase().replace("bottom","")))}else _e=Ke(Je)}let nt;typeof T=="boolean"?nt={spinning:T}:typeof T=="object"&&(nt=Object.assign({spinning:!0},T));const yt=Gn($,he,`${se}-wrapper`,J==null?void 0:J.className,{[`${se}-wrapper-rtl`]:O==="rtl"},r,a,fe),Tt=Object.assign(Object.assign({},J==null?void 0:J.style),l),Rt=W&&W.emptyText||(Z==null?void 0:Z("Table"))||m.createElement(ime,{componentName:"Table"}),Wt=L?OOt:YOt,Ct={},At=m.useMemo(()=>{const{fontSize:Ft,lineHeight:Ke,padding:Je,paddingXS:ct,paddingSM:Pt}=te,Ne=Math.floor(Ft*Ke);switch(q){case"large":return Je*2+Ne;case"small":return ct*2+Ne;default:return Pt*2+Ne}},[te,q]);return L&&(Ct.listItemHeight=At),pe(m.createElement("div",{ref:ze,className:yt,style:Tt},m.createElement(LW,Object.assign({spinning:!1},nt),et,m.createElement(Wt,Object.assign({},Ct,_,{ref:ye,columns:B,direction:O,expandable:de,prefixCls:se,className:Gn({[`${se}-middle`]:q==="middle",[`${se}-small`]:q==="small",[`${se}-bordered`]:c,[`${se}-empty`]:ne.length===0},$,he,fe),data:Qe,rowKey:oe,rowClassName:at,emptyText:Rt,internalHooks:NW,internalRefs:ve,transformColumns:ot,getContainerWidth:Ie})),_e)))},c_t=m.forwardRef(s_t),u_t=(t,e)=>{const n=m.useRef(0);return n.current+=1,m.createElement(c_t,Object.assign({},t,{ref:e,_renderTimes:n.current}))},Hd=m.forwardRef(u_t);Hd.SELECTION_COLUMN=z4;Hd.EXPAND_COLUMN=O4;Hd.SELECTION_ALL=Q0e;Hd.SELECTION_INVERT=Z0e;Hd.SELECTION_NONE=eue;Hd.Column=Bjt;Hd.ColumnGroup=jjt;Hd.Summary=qXe;const d_t=t=>{const{paddingXXS:e,lineWidth:n,tagPaddingHorizontal:o,componentCls:i,calc:r}=t,a=r(o).sub(n).equal(),l=r(e).sub(n).equal();return{[i]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",height:"auto",marginInlineEnd:t.marginXS,paddingInline:a,fontSize:t.tagFontSize,lineHeight:t.tagLineHeight,whiteSpace:"nowrap",background:t.defaultBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,opacity:1,transition:`all ${t.motionDurationMid}`,textAlign:"start",position:"relative",[`&${i}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:t.defaultColor},[`${i}-close-icon`]:{marginInlineStart:l,fontSize:t.tagIconSize,color:t.colorTextDescription,cursor:"pointer",transition:`all ${t.motionDurationMid}`,"&:hover":{color:t.colorTextHeading}},[`&${i}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${t.iconCls}-close, ${t.iconCls}-close:hover`]:{color:t.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${i}-checkable-checked):hover`]:{color:t.colorPrimary,backgroundColor:t.colorFillSecondary},"&:active, &-checked":{color:t.colorTextLightSolid},"&-checked":{backgroundColor:t.colorPrimary,"&:hover":{backgroundColor:t.colorPrimaryHover}},"&:active":{backgroundColor:t.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${t.iconCls} + span, > span + ${t.iconCls}`]:{marginInlineStart:a}}),[`${i}-borderless`]:{borderColor:"transparent",background:t.tagBorderlessBg}}},Kme=t=>{const{lineWidth:e,fontSizeIcon:n,calc:o}=t,i=t.fontSizeSM;return Zr(t,{tagFontSize:i,tagLineHeight:Ut(o(t.lineHeightSM).mul(i).equal()),tagIconSize:o(n).sub(o(e).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:t.defaultBg})},qme=t=>({defaultBg:new Il(t.colorFillQuaternary).onBackground(t.colorBgContainer).toHexString(),defaultColor:t.colorText}),NJe=Fl("Tag",t=>{const e=Kme(t);return d_t(e)},qme);var f_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,style:o,className:i,checked:r,onChange:a,onClick:l}=t,s=f_t(t,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:c,tag:u}=m.useContext(Mi),d=b=>{a==null||a(!r),l==null||l(b)},f=c("tag",n),[p,g,A]=NJe(f),w=Gn(f,`${f}-checkable`,{[`${f}-checkable-checked`]:r},u==null?void 0:u.className,i,g,A);return p(m.createElement("span",Object.assign({},s,{ref:e,style:Object.assign(Object.assign({},o),u==null?void 0:u.style),className:w,onClick:d})))}),p_t=t=>FOe(t,(e,n)=>{let{textColor:o,lightBorderColor:i,lightColor:r,darkColor:a}=n;return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:o,background:r,borderColor:i,"&-inverse":{color:t.colorTextLightSolid,background:a,borderColor:a},[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}}),g_t=mW(["Tag","preset"],t=>{const e=Kme(t);return p_t(e)},qme);function m_t(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.slice(1)}const TY=(t,e,n)=>{const o=m_t(n);return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:t[`color${n}`],background:t[`color${o}Bg`],borderColor:t[`color${o}Border`],[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}},y_t=mW(["Tag","status"],t=>{const e=Kme(t);return[TY(e,"success","Success"),TY(e,"processing","Info"),TY(e,"error","Error"),TY(e,"warning","Warning")]},qme);var A_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,className:o,rootClassName:i,style:r,children:a,icon:l,color:s,onClose:c,bordered:u=!0,visible:d}=t,f=A_t(t,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:p,direction:g,tag:A}=m.useContext(Mi),[w,b]=m.useState(!0),C=lp(f,["closeIcon","closable"]);m.useEffect(()=>{d!==void 0&&b(d)},[d]);const P=YVe(s),v=gDt(s),T=P||v,y=Object.assign(Object.assign({backgroundColor:s&&!T?s:void 0},A==null?void 0:A.style),r),S=p("tag",n),[x,R,H]=NJe(S),D=Gn(S,A==null?void 0:A.className,{[`${S}-${s}`]:T,[`${S}-has-color`]:s&&!T,[`${S}-hidden`]:!w,[`${S}-rtl`]:g==="rtl",[`${S}-borderless`]:!u},o,i,R,H),k=F=>{F.stopPropagation(),c==null||c(F),!F.defaultPrevented&&b(!1)},[,W]=qge(oR(t),oR(A),{closable:!1,closeIconRender:F=>{const B=m.createElement("span",{className:`${S}-close-icon`,onClick:k},F);return d_e(F,B,_=>({onClick:Y=>{var O;(O=_==null?void 0:_.onClick)===null||O===void 0||O.call(_,Y),k(Y)},className:Gn(_==null?void 0:_.className,`${S}-close-icon`)}))}}),N=typeof f.onClick=="function"||a&&a.type==="a",L=l||null,E=L?m.createElement(m.Fragment,null,L,a&&m.createElement("span",null,a)):a,U=m.createElement("span",Object.assign({},C,{ref:e,className:D,style:y}),E,W,P&&m.createElement(g_t,{key:"preset",prefixCls:S}),v&&m.createElement(y_t,{key:"status",prefixCls:S}));return x(N?m.createElement(wW,{component:"Tag"},U):U)}),UJe=w_t;UJe.CheckableTag=h_t;var v_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);im.createElement(b_t,Object.assign({},t,{picker:"time",mode:void 0,ref:e}))),jW=m.forwardRef((t,e)=>{var{addon:n,renderExtraFooter:o}=t,i=v_t(t,["addon","renderExtraFooter"]);const r=m.useMemo(()=>{if(o)return o;if(n)return n},[n,o]);return m.createElement(x_t,Object.assign({},i,{mode:void 0,ref:e,renderExtraFooter:r}))}),BJe=RW(jW,"picker");jW._InternalPanelDoNotUseOrYouWillBeFired=BJe;jW.RangePicker=S_t;jW._InternalPanelDoNotUseOrYouWillBeFired=BJe;var T_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},P_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:T_t}))},C_t=m.forwardRef(P_t),R_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=u=>{const{keyCode:d}=u;d===hr.ENTER&&u.preventDefault()},o=u=>{const{keyCode:d}=u,{onClick:f}=t;d===hr.ENTER&&f&&f()},{style:i,noStyle:r,disabled:a,tabIndex:l=0}=t,s=R_t(t,["style","noStyle","disabled","tabIndex"]);let c={};return r||(c=Object.assign({},H_t)),a&&(c.pointerEvents="none"),c=Object.assign(Object.assign({},c),i),m.createElement("div",Object.assign({role:"button",tabIndex:l,ref:e},s,{onKeyDown:n,onKeyUp:o,style:c}))});var M_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},name:"edit",theme:"outlined"},I_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:M_t}))},YJe=m.forwardRef(I_t),z_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z"}}]},name:"enter",theme:"outlined"},D_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:z_t}))},E_t=m.forwardRef(D_t);const k_t=(t,e,n,o)=>{const{titleMarginBottom:i,fontWeightStrong:r}=o;return{marginBottom:i,color:n,fontWeight:r,fontSize:t,lineHeight:e}},F_t=t=>{const e=[1,2,3,4,5],n={};return e.forEach(o=>{n[` + ${Ut(C(i).mul(-1).equal())}`,[`${e}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:f,fontWeight:n,textAlign:"start",background:g,borderBottom:P,transition:`background ${p} ease`}}},[`${e}-footer`]:{padding:`${Ut(o)} ${Ut(i)}`,color:w,background:b}})}},o_t=t=>{const{colorFillAlter:e,colorBgContainer:n,colorTextHeading:o,colorFillSecondary:i,colorFillContent:r,controlItemBgActive:a,controlItemBgActiveHover:l,padding:s,paddingSM:c,paddingXS:u,colorBorderSecondary:d,borderRadiusLG:f,controlHeight:p,colorTextPlaceholder:g,fontSize:A,fontSizeSM:w,lineHeight:b,lineWidth:C,colorIcon:P,colorIconHover:v,opacityLoading:T,controlInteractiveSize:y}=t,S=new Il(i).onBackground(n).toHexShortString(),x=new Il(r).onBackground(n).toHexShortString(),R=new Il(e).onBackground(n).toHexShortString(),H=new Il(P),D=new Il(v),k=y/2-C,W=k*2+C*3;return{headerBg:R,headerColor:o,headerSortActiveBg:S,headerSortHoverBg:x,bodySortBg:R,rowHoverBg:R,rowSelectedBg:a,rowSelectedHoverBg:l,rowExpandedBg:e,cellPaddingBlock:s,cellPaddingInline:s,cellPaddingBlockMD:c,cellPaddingInlineMD:u,cellPaddingBlockSM:u,cellPaddingInlineSM:u,borderColor:d,headerBorderRadius:f,footerBg:R,footerColor:o,cellFontSize:A,cellFontSizeMD:A,cellFontSizeSM:A,headerSplitColor:d,fixedHeaderSortActiveBg:S,headerFilterHoverBg:r,filterDropdownMenuBg:n,filterDropdownBg:n,expandIconBg:n,selectionColumnWidth:p,stickyScrollBarBg:g,stickyScrollBarBorderRadius:100,expandIconMarginTop:(A*b-C*3)/2-Math.ceil((w*1.4-C*3)/2),headerIconColor:H.clone().setAlpha(H.getAlpha()*T).toRgbString(),headerIconHoverColor:D.clone().setAlpha(D.getAlpha()*T).toRgbString(),expandIconHalfInner:k,expandIconSize:W,expandIconScale:y/W}},i_t=Fl("Table",t=>{const{colorTextHeading:e,colorSplit:n,colorBgContainer:o,controlInteractiveSize:i,headerBg:r,headerColor:a,headerSortActiveBg:l,headerSortHoverBg:s,bodySortBg:c,rowHoverBg:u,rowSelectedBg:d,rowSelectedHoverBg:f,rowExpandedBg:p,cellPaddingBlock:g,cellPaddingInline:A,cellPaddingBlockMD:w,cellPaddingInlineMD:b,cellPaddingBlockSM:C,cellPaddingInlineSM:P,borderColor:v,footerBg:T,footerColor:y,headerBorderRadius:S,cellFontSize:x,cellFontSizeMD:R,cellFontSizeSM:H,headerSplitColor:D,fixedHeaderSortActiveBg:k,headerFilterHoverBg:W,filterDropdownBg:N,expandIconBg:L,selectionColumnWidth:E,stickyScrollBarBg:U,calc:F}=t,B=2,_=Zr(t,{tableFontSize:x,tableBg:o,tableRadius:S,tablePaddingVertical:g,tablePaddingHorizontal:A,tablePaddingVerticalMiddle:w,tablePaddingHorizontalMiddle:b,tablePaddingVerticalSmall:C,tablePaddingHorizontalSmall:P,tableBorderColor:v,tableHeaderTextColor:a,tableHeaderBg:r,tableFooterTextColor:y,tableFooterBg:T,tableHeaderCellSplitColor:D,tableHeaderSortBg:l,tableHeaderSortHoverBg:s,tableBodySortBg:c,tableFixedHeaderSortActiveBg:k,tableHeaderFilterActiveBg:W,tableFilterDropdownBg:N,tableRowHoverBg:u,tableSelectedRowBg:d,tableSelectedRowHoverBg:f,zIndexTableFixed:B,zIndexTableSticky:B+1,tableFontSizeMiddle:R,tableFontSizeSmall:H,tableSelectionColumnWidth:E,tableExpandIconBg:L,tableExpandColumnWidth:F(i).add(F(t.padding).mul(2)).equal(),tableExpandedRowBg:p,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:U,tableScrollThumbBgHover:e,tableScrollBg:n});return[n_t(_),JOt(_),_xe(_),ZOt(_),GOt(_),YOt(_),KOt(_),VOt(_),_xe(_),_Ot(_),$Ot(_),XOt(_),e_t(_),OOt(_),QOt(_),qOt(_),t_t(_)]},o_t,{unitless:{expandIconScale:!0}}),r_t=[],a_t=(t,e)=>{var n,o;const{prefixCls:i,className:r,rootClassName:a,style:l,size:s,bordered:c,dropdownPrefixCls:u,dataSource:d,pagination:f,rowSelection:p,rowKey:g="key",rowClassName:A,columns:w,children:b,childrenColumnName:C,onChange:P,getPopupContainer:v,loading:T,expandIcon:y,expandable:S,expandedRowRender:x,expandIconColumnIndex:R,indentSize:H,scroll:D,sortDirections:k,locale:W,showSorterTooltip:N={target:"full-header"},virtual:L}=t;Hb();const E=m.useMemo(()=>w||jme(b),[w,b]),U=m.useMemo(()=>E.some(kt=>kt.responsive),[E]),F=x$(U),B=m.useMemo(()=>{const kt=new Set(Object.keys(F).filter(qe=>F[qe]));return E.filter(qe=>!qe.responsive||qe.responsive.some(Je=>kt.has(Je)))},[E,F]),_=lp(t,["className","style","columns"]),{locale:Y=t7,direction:O,table:J,renderEmpty:Z,getPrefixCls:ie,getPopupContainer:ee}=m.useContext(Mi),q=Rd(s),ae=Object.assign(Object.assign({},Y.Table),W),ne=d||r_t,se=ie("table",i),le=ie("dropdown",u),[,te]=Yu(),he=j0(se),[pe,fe,$]=i_t(se,he),de=Object.assign(Object.assign({childrenColumnName:C,expandIconColumnIndex:R},S),{expandIcon:(n=S==null?void 0:S.expandIcon)!==null&&n!==void 0?n:(o=J==null?void 0:J.expandable)===null||o===void 0?void 0:o.expandIcon}),{childrenColumnName:Se="children"}=de,Ce=m.useMemo(()=>ne.some(kt=>kt==null?void 0:kt[Se])?"nest":x||S&&S.expandedRowRender?"row":null,[ne]),ve={body:m.useRef()},Ie=TYt(se),ze=m.useRef(null),ye=m.useRef(null);bYt(e,()=>Object.assign(Object.assign({},ye.current),{nativeElement:ze.current}));const oe=m.useMemo(()=>typeof g=="function"?g:kt=>kt==null?void 0:kt[g],[g]),[ge]=HOt(ne,Se,oe),Ae={},me=function(kt,qe){let Je=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var st,Pt,Ue;const lt=Object.assign(Object.assign({},Ae),kt);Je&&((st=Ae.resetPagination)===null||st===void 0||st.call(Ae),!((Pt=lt.pagination)===null||Pt===void 0)&&Pt.current&&(lt.pagination.current=1),f&&f.onChange&&f.onChange(1,(Ue=lt.pagination)===null||Ue===void 0?void 0:Ue.pageSize)),D&&D.scrollToFirstRowOnChange!==!1&&ve.body.current&&IPt(0,{getContainer:()=>ve.body.current}),P==null||P(lt.pagination,lt.filters,lt.sorter,{currentDataSource:oue(rue(ne,lt.sorterStates,Se),lt.filterStates,Se),action:qe})},Pe=(kt,qe)=>{me({sorter:kt,sorterStates:qe},"sort",!1)},[Me,Te,De,Ne]=NOt({prefixCls:se,mergedColumns:B,onSorterChange:Pe,sortDirections:k||["ascend","descend"],tableLocale:ae,showSorterTooltip:N}),Ye=m.useMemo(()=>rue(ne,Te,Se),[ne,Te]);Ae.sorter=Ne(),Ae.sorterStates=Te;const Le=(kt,qe)=>{me({filters:kt,filterStates:qe},"filter",!0)},[$e,We,Ee]=ROt({prefixCls:se,locale:ae,dropdownPrefixCls:le,mergedColumns:B,onFilterChange:Le,getPopupContainer:v||ee,rootClassName:Gn(a,he)}),Fe=oue(Ye,We,Se);Ae.filters=Ee,Ae.filterStates=We;const Ge=m.useMemo(()=>{const kt={};return Object.keys(Ee).forEach(qe=>{Ee[qe]!==null&&(kt[qe]=Ee[qe])}),Object.assign(Object.assign({},De),{filters:kt})},[De,Ee]),[rt]=UOt(Ge),_e=(kt,qe)=>{me({pagination:Object.assign(Object.assign({},Ae.pagination),{current:kt,pageSize:qe})},"paginate")},[xt,dt]=zOt(Fe.length,_e,f);Ae.pagination=f===!1?{}:IOt(xt,f),Ae.resetPagination=dt;const Qe=m.useMemo(()=>{if(f===!1||!xt.pageSize)return Fe;const{current:kt=1,total:qe,pageSize:Je=DJe}=xt;return Fe.lengthJe?Fe.slice((kt-1)*Je,kt*Je):Fe:Fe.slice((kt-1)*Je,kt*Je)},[!!f,Fe,xt&&xt.current,xt&&xt.pageSize,xt&&xt.total]),[ct,ft]=vYt({prefixCls:se,data:Fe,pageData:Qe,getRowKey:oe,getRecordByKey:ge,expandType:Ce,childrenColumnName:Se,locale:ae,getPopupContainer:v||ee},p),at=(kt,qe,Je)=>{let st;return typeof A=="function"?st=Gn(A(kt,qe,Je)):st=Gn(A),Gn({[`${se}-row-selected`]:ft.has(oe(kt,qe))},st)};de.__PARENT_RENDER_ICON__=de.expandIcon,de.expandIcon=de.expandIcon||y||SYt(ae),Ce==="nest"&&de.expandIconColumnIndex===void 0?de.expandIconColumnIndex=p?1:0:de.expandIconColumnIndex>0&&p&&(de.expandIconColumnIndex-=1),typeof de.indentSize!="number"&&(de.indentSize=typeof H=="number"?H:15);const ot=m.useCallback(kt=>rt(ct($e(Me(kt)))),[Me,$e,ct]);let et,Oe;if(f!==!1&&(xt!=null&&xt.total)){let kt;xt.size?kt=xt.size:kt=q==="small"||q==="middle"?"small":void 0;const qe=Pt=>m.createElement(UXe,Object.assign({},xt,{className:Gn(`${se}-pagination ${se}-pagination-${Pt}`,xt.className),size:kt})),Je=O==="rtl"?"left":"right",{position:st}=xt;if(st!==null&&Array.isArray(st)){const Pt=st.find(Ve=>Ve.includes("top")),Ue=st.find(Ve=>Ve.includes("bottom")),lt=st.every(Ve=>`${Ve}`=="none");!Pt&&!Ue&&!lt&&(Oe=qe(Je)),Pt&&(et=qe(Pt.toLowerCase().replace("top",""))),Ue&&(Oe=qe(Ue.toLowerCase().replace("bottom","")))}else Oe=qe(Je)}let nt;typeof T=="boolean"?nt={spinning:T}:typeof T=="object"&&(nt=Object.assign({spinning:!0},T));const mt=Gn($,he,`${se}-wrapper`,J==null?void 0:J.className,{[`${se}-wrapper-rtl`]:O==="rtl"},r,a,fe),Tt=Object.assign(Object.assign({},J==null?void 0:J.style),l),Rt=W&&W.emptyText||(Z==null?void 0:Z("Table"))||m.createElement(ime,{componentName:"Table"}),Wt=L?jOt:BOt,Ct={},wt=m.useMemo(()=>{const{fontSize:kt,lineHeight:qe,padding:Je,paddingXS:st,paddingSM:Pt}=te,Ue=Math.floor(kt*qe);switch(q){case"large":return Je*2+Ue;case"small":return st*2+Ue;default:return Pt*2+Ue}},[te,q]);return L&&(Ct.listItemHeight=wt),pe(m.createElement("div",{ref:ze,className:mt,style:Tt},m.createElement(LW,Object.assign({spinning:!1},nt),et,m.createElement(Wt,Object.assign({},Ct,_,{ref:ye,columns:B,direction:O,expandable:de,prefixCls:se,className:Gn({[`${se}-middle`]:q==="middle",[`${se}-small`]:q==="small",[`${se}-bordered`]:c,[`${se}-empty`]:ne.length===0},$,he,fe),data:Qe,rowKey:oe,rowClassName:at,emptyText:Rt,internalHooks:NW,internalRefs:ve,transformColumns:ot,getContainerWidth:Ie})),Oe)))},l_t=m.forwardRef(a_t),s_t=(t,e)=>{const n=m.useRef(0);return n.current+=1,m.createElement(l_t,Object.assign({},t,{ref:e,_renderTimes:n.current}))},Hd=m.forwardRef(s_t);Hd.SELECTION_COLUMN=z4;Hd.EXPAND_COLUMN=O4;Hd.SELECTION_ALL=Q0e;Hd.SELECTION_INVERT=Z0e;Hd.SELECTION_NONE=eue;Hd.Column=Njt;Hd.ColumnGroup=Ujt;Hd.Summary=JXe;const c_t=t=>{const{paddingXXS:e,lineWidth:n,tagPaddingHorizontal:o,componentCls:i,calc:r}=t,a=r(o).sub(n).equal(),l=r(e).sub(n).equal();return{[i]:Object.assign(Object.assign({},$a(t)),{display:"inline-block",height:"auto",marginInlineEnd:t.marginXS,paddingInline:a,fontSize:t.tagFontSize,lineHeight:t.tagLineHeight,whiteSpace:"nowrap",background:t.defaultBg,border:`${Ut(t.lineWidth)} ${t.lineType} ${t.colorBorder}`,borderRadius:t.borderRadiusSM,opacity:1,transition:`all ${t.motionDurationMid}`,textAlign:"start",position:"relative",[`&${i}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:t.defaultColor},[`${i}-close-icon`]:{marginInlineStart:l,fontSize:t.tagIconSize,color:t.colorTextDescription,cursor:"pointer",transition:`all ${t.motionDurationMid}`,"&:hover":{color:t.colorTextHeading}},[`&${i}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${t.iconCls}-close, ${t.iconCls}-close:hover`]:{color:t.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${i}-checkable-checked):hover`]:{color:t.colorPrimary,backgroundColor:t.colorFillSecondary},"&:active, &-checked":{color:t.colorTextLightSolid},"&-checked":{backgroundColor:t.colorPrimary,"&:hover":{backgroundColor:t.colorPrimaryHover}},"&:active":{backgroundColor:t.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${t.iconCls} + span, > span + ${t.iconCls}`]:{marginInlineStart:a}}),[`${i}-borderless`]:{borderColor:"transparent",background:t.tagBorderlessBg}}},Kme=t=>{const{lineWidth:e,fontSizeIcon:n,calc:o}=t,i=t.fontSizeSM;return Zr(t,{tagFontSize:i,tagLineHeight:Ut(o(t.lineHeightSM).mul(i).equal()),tagIconSize:o(n).sub(o(e).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:t.defaultBg})},qme=t=>({defaultBg:new Il(t.colorFillQuaternary).onBackground(t.colorBgContainer).toHexString(),defaultColor:t.colorText}),LJe=Fl("Tag",t=>{const e=Kme(t);return c_t(e)},qme);var u_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,style:o,className:i,checked:r,onChange:a,onClick:l}=t,s=u_t(t,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:c,tag:u}=m.useContext(Mi),d=b=>{a==null||a(!r),l==null||l(b)},f=c("tag",n),[p,g,A]=LJe(f),w=Gn(f,`${f}-checkable`,{[`${f}-checkable-checked`]:r},u==null?void 0:u.className,i,g,A);return p(m.createElement("span",Object.assign({},s,{ref:e,style:Object.assign(Object.assign({},o),u==null?void 0:u.style),className:w,onClick:d})))}),f_t=t=>EOe(t,(e,n)=>{let{textColor:o,lightBorderColor:i,lightColor:r,darkColor:a}=n;return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:o,background:r,borderColor:i,"&-inverse":{color:t.colorTextLightSolid,background:a,borderColor:a},[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}}),h_t=mW(["Tag","preset"],t=>{const e=Kme(t);return f_t(e)},qme);function p_t(t){return typeof t!="string"?t:t.charAt(0).toUpperCase()+t.slice(1)}const TY=(t,e,n)=>{const o=p_t(n);return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:t[`color${n}`],background:t[`color${o}Bg`],borderColor:t[`color${o}Border`],[`&${t.componentCls}-borderless`]:{borderColor:"transparent"}}}},g_t=mW(["Tag","status"],t=>{const e=Kme(t);return[TY(e,"success","Success"),TY(e,"processing","Info"),TY(e,"error","Error"),TY(e,"warning","Warning")]},qme);var m_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,className:o,rootClassName:i,style:r,children:a,icon:l,color:s,onClose:c,bordered:u=!0,visible:d}=t,f=m_t(t,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:p,direction:g,tag:A}=m.useContext(Mi),[w,b]=m.useState(!0),C=lp(f,["closeIcon","closable"]);m.useEffect(()=>{d!==void 0&&b(d)},[d]);const P=BVe(s),v=hDt(s),T=P||v,y=Object.assign(Object.assign({backgroundColor:s&&!T?s:void 0},A==null?void 0:A.style),r),S=p("tag",n),[x,R,H]=LJe(S),D=Gn(S,A==null?void 0:A.className,{[`${S}-${s}`]:T,[`${S}-has-color`]:s&&!T,[`${S}-hidden`]:!w,[`${S}-rtl`]:g==="rtl",[`${S}-borderless`]:!u},o,i,R,H),k=F=>{F.stopPropagation(),c==null||c(F),!F.defaultPrevented&&b(!1)},[,W]=qge(oR(t),oR(A),{closable:!1,closeIconRender:F=>{const B=m.createElement("span",{className:`${S}-close-icon`,onClick:k},F);return c_e(F,B,_=>({onClick:Y=>{var O;(O=_==null?void 0:_.onClick)===null||O===void 0||O.call(_,Y),k(Y)},className:Gn(_==null?void 0:_.className,`${S}-close-icon`)}))}}),N=typeof f.onClick=="function"||a&&a.type==="a",L=l||null,E=L?m.createElement(m.Fragment,null,L,a&&m.createElement("span",null,a)):a,U=m.createElement("span",Object.assign({},C,{ref:e,className:D,style:y}),E,W,P&&m.createElement(h_t,{key:"preset",prefixCls:S}),v&&m.createElement(g_t,{key:"status",prefixCls:S}));return x(N?m.createElement(wW,{component:"Tag"},U):U)}),WJe=y_t;WJe.CheckableTag=d_t;var A_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);im.createElement(v_t,Object.assign({},t,{picker:"time",mode:void 0,ref:e}))),jW=m.forwardRef((t,e)=>{var{addon:n,renderExtraFooter:o}=t,i=A_t(t,["addon","renderExtraFooter"]);const r=m.useMemo(()=>{if(o)return o;if(n)return n},[n,o]);return m.createElement(w_t,Object.assign({},i,{mode:void 0,ref:e,renderExtraFooter:r}))}),NJe=RW(jW,"picker");jW._InternalPanelDoNotUseOrYouWillBeFired=NJe;jW.RangePicker=x_t;jW._InternalPanelDoNotUseOrYouWillBeFired=NJe;var b_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},S_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:b_t}))},T_t=m.forwardRef(S_t),P_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const n=u=>{const{keyCode:d}=u;d===hr.ENTER&&u.preventDefault()},o=u=>{const{keyCode:d}=u,{onClick:f}=t;d===hr.ENTER&&f&&f()},{style:i,noStyle:r,disabled:a,tabIndex:l=0}=t,s=P_t(t,["style","noStyle","disabled","tabIndex"]);let c={};return r||(c=Object.assign({},C_t)),a&&(c.pointerEvents="none"),c=Object.assign(Object.assign({},c),i),m.createElement("div",Object.assign({role:"button",tabIndex:l,ref:e},s,{onKeyDown:n,onKeyUp:o,style:c}))});var R_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},name:"edit",theme:"outlined"},H_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:R_t}))},BJe=m.forwardRef(H_t),M_t={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z"}}]},name:"enter",theme:"outlined"},I_t=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:M_t}))},z_t=m.forwardRef(I_t);const D_t=(t,e,n,o)=>{const{titleMarginBottom:i,fontWeightStrong:r}=o;return{marginBottom:i,color:n,fontWeight:r,fontSize:t,lineHeight:e}},E_t=t=>{const e=[1,2,3,4,5],n={};return e.forEach(o=>{n[` h${o}&, div&-h${o}, div&-h${o} > textarea, h${o} - `]=k_t(t[`fontSizeHeading${o}`],t[`lineHeightHeading${o}`],t.colorTextHeading,t)}),n},L_t=t=>{const{componentCls:e}=t;return{"a&, a":Object.assign(Object.assign({},Nge(t)),{textDecoration:t.linkDecoration,"&:active, &:hover":{textDecoration:t.linkHoverDecoration},[`&[disabled], &${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:active, &:hover":{color:t.colorTextDisabled},"&:active":{pointerEvents:"none"}}})}},W_t=t=>({code:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.2em 0.1em",fontSize:"85%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3},kbd:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.15em 0.1em",fontSize:"90%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.06)",border:"1px solid rgba(100, 100, 100, 0.2)",borderBottomWidth:2,borderRadius:3},mark:{padding:0,backgroundColor:ySt[2]},"u, ins":{textDecoration:"underline",textDecorationSkipInk:"auto"},"s, del":{textDecoration:"line-through"},strong:{fontWeight:600},"ul, ol":{marginInline:0,marginBlock:"0 1em",padding:0,li:{marginInline:"20px 0",marginBlock:0,paddingInline:"4px 0",paddingBlock:0}},ul:{listStyleType:"circle",ul:{listStyleType:"disc"}},ol:{listStyleType:"decimal"},"pre, blockquote":{margin:"1em 0"},pre:{padding:"0.4em 0.6em",whiteSpace:"pre-wrap",wordWrap:"break-word",background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3,fontFamily:t.fontFamilyCode,code:{display:"inline",margin:0,padding:0,fontSize:"inherit",fontFamily:"inherit",background:"transparent",border:0}},blockquote:{paddingInline:"0.6em 0",paddingBlock:0,borderInlineStart:"4px solid rgba(100, 100, 100, 0.2)",opacity:.85}}),N_t=t=>{const{componentCls:e,paddingSM:n}=t,o=n;return{"&-edit-content":{position:"relative","div&":{insetInlineStart:t.calc(t.paddingSM).mul(-1).equal(),marginTop:t.calc(o).mul(-1).equal(),marginBottom:`calc(1em - ${Ut(o)})`},[`${e}-edit-content-confirm`]:{position:"absolute",insetInlineEnd:t.calc(t.marginXS).add(2).equal(),insetBlockEnd:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize,fontStyle:"normal",pointerEvents:"none"},textarea:{margin:"0!important",MozTransition:"none",height:"1em"}}}},U_t=t=>({[`${t.componentCls}-copy-success`]:{"\n &,\n &:hover,\n &:focus":{color:t.colorSuccess}},[`${t.componentCls}-copy-icon-only`]:{marginInlineStart:0}}),B_t=()=>({"\n a&-ellipsis,\n span&-ellipsis\n ":{display:"inline-block",maxWidth:"100%"},"&-single-line":{whiteSpace:"nowrap"},"&-ellipsis-single-line":{overflow:"hidden",textOverflow:"ellipsis","a&, span&":{verticalAlign:"bottom"},"> code":{paddingBlock:0,maxWidth:"calc(100% - 1.2em)",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"bottom",boxSizing:"content-box"}},"&-ellipsis-multiple-line":{display:"-webkit-box",overflow:"hidden",WebkitLineClamp:3,WebkitBoxOrient:"vertical"}}),j_t=t=>{const{componentCls:e,titleMarginTop:n}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:t.colorText,wordBreak:"break-word",lineHeight:t.lineHeight,[`&${e}-secondary`]:{color:t.colorTextDescription},[`&${e}-success`]:{color:t.colorSuccess},[`&${e}-warning`]:{color:t.colorWarning},[`&${e}-danger`]:{color:t.colorError,"a&:active, a&:focus":{color:t.colorErrorActive},"a&:hover":{color:t.colorErrorHover}},[`&${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed",userSelect:"none"},"\n div&,\n p\n ":{marginBottom:"1em"}},F_t(t)),{[` + `]=D_t(t[`fontSizeHeading${o}`],t[`lineHeightHeading${o}`],t.colorTextHeading,t)}),n},k_t=t=>{const{componentCls:e}=t;return{"a&, a":Object.assign(Object.assign({},Nge(t)),{textDecoration:t.linkDecoration,"&:active, &:hover":{textDecoration:t.linkHoverDecoration},[`&[disabled], &${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed","&:active, &:hover":{color:t.colorTextDisabled},"&:active":{pointerEvents:"none"}}})}},F_t=t=>({code:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.2em 0.1em",fontSize:"85%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3},kbd:{margin:"0 0.2em",paddingInline:"0.4em",paddingBlock:"0.15em 0.1em",fontSize:"90%",fontFamily:t.fontFamilyCode,background:"rgba(150, 150, 150, 0.06)",border:"1px solid rgba(100, 100, 100, 0.2)",borderBottomWidth:2,borderRadius:3},mark:{padding:0,backgroundColor:gSt[2]},"u, ins":{textDecoration:"underline",textDecorationSkipInk:"auto"},"s, del":{textDecoration:"line-through"},strong:{fontWeight:600},"ul, ol":{marginInline:0,marginBlock:"0 1em",padding:0,li:{marginInline:"20px 0",marginBlock:0,paddingInline:"4px 0",paddingBlock:0}},ul:{listStyleType:"circle",ul:{listStyleType:"disc"}},ol:{listStyleType:"decimal"},"pre, blockquote":{margin:"1em 0"},pre:{padding:"0.4em 0.6em",whiteSpace:"pre-wrap",wordWrap:"break-word",background:"rgba(150, 150, 150, 0.1)",border:"1px solid rgba(100, 100, 100, 0.2)",borderRadius:3,fontFamily:t.fontFamilyCode,code:{display:"inline",margin:0,padding:0,fontSize:"inherit",fontFamily:"inherit",background:"transparent",border:0}},blockquote:{paddingInline:"0.6em 0",paddingBlock:0,borderInlineStart:"4px solid rgba(100, 100, 100, 0.2)",opacity:.85}}),L_t=t=>{const{componentCls:e,paddingSM:n}=t,o=n;return{"&-edit-content":{position:"relative","div&":{insetInlineStart:t.calc(t.paddingSM).mul(-1).equal(),marginTop:t.calc(o).mul(-1).equal(),marginBottom:`calc(1em - ${Ut(o)})`},[`${e}-edit-content-confirm`]:{position:"absolute",insetInlineEnd:t.calc(t.marginXS).add(2).equal(),insetBlockEnd:t.marginXS,color:t.colorTextDescription,fontWeight:"normal",fontSize:t.fontSize,fontStyle:"normal",pointerEvents:"none"},textarea:{margin:"0!important",MozTransition:"none",height:"1em"}}}},W_t=t=>({[`${t.componentCls}-copy-success`]:{"\n &,\n &:hover,\n &:focus":{color:t.colorSuccess}},[`${t.componentCls}-copy-icon-only`]:{marginInlineStart:0}}),N_t=()=>({"\n a&-ellipsis,\n span&-ellipsis\n ":{display:"inline-block",maxWidth:"100%"},"&-single-line":{whiteSpace:"nowrap"},"&-ellipsis-single-line":{overflow:"hidden",textOverflow:"ellipsis","a&, span&":{verticalAlign:"bottom"},"> code":{paddingBlock:0,maxWidth:"calc(100% - 1.2em)",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"bottom",boxSizing:"content-box"}},"&-ellipsis-multiple-line":{display:"-webkit-box",overflow:"hidden",WebkitLineClamp:3,WebkitBoxOrient:"vertical"}}),U_t=t=>{const{componentCls:e,titleMarginTop:n}=t;return{[e]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:t.colorText,wordBreak:"break-word",lineHeight:t.lineHeight,[`&${e}-secondary`]:{color:t.colorTextDescription},[`&${e}-success`]:{color:t.colorSuccess},[`&${e}-warning`]:{color:t.colorWarning},[`&${e}-danger`]:{color:t.colorError,"a&:active, a&:focus":{color:t.colorErrorActive},"a&:hover":{color:t.colorErrorHover}},[`&${e}-disabled`]:{color:t.colorTextDisabled,cursor:"not-allowed",userSelect:"none"},"\n div&,\n p\n ":{marginBottom:"1em"}},E_t(t)),{[` & + h1${e}, & + h2${e}, & + h3${e}, & + h4${e}, & + h5${e} - `]:{marginTop:n},"\n div,\n ul,\n li,\n p,\n h1,\n h2,\n h3,\n h4,\n h5":{"\n + h1,\n + h2,\n + h3,\n + h4,\n + h5\n ":{marginTop:n}}}),W_t(t)),L_t(t)),{[` + `]:{marginTop:n},"\n div,\n ul,\n li,\n p,\n h1,\n h2,\n h3,\n h4,\n h5":{"\n + h1,\n + h2,\n + h3,\n + h4,\n + h5\n ":{marginTop:n}}}),F_t(t)),k_t(t)),{[` ${e}-expand, ${e}-collapse, ${e}-edit, ${e}-copy - `]:Object.assign(Object.assign({},Nge(t)),{marginInlineStart:t.marginXXS})}),N_t(t)),U_t(t)),B_t()),{"&-rtl":{direction:"rtl"}})}},Y_t=()=>({titleMarginTop:"1.2em",titleMarginBottom:"0.5em"}),OJe=Fl("Typography",t=>[j_t(t)],Y_t),O_t=t=>{const{prefixCls:e,"aria-label":n,className:o,style:i,direction:r,maxLength:a,autoSize:l=!0,value:s,onSave:c,onCancel:u,onEnd:d,component:f,enterIcon:p=m.createElement(E_t,null)}=t,g=m.useRef(null),A=m.useRef(!1),w=m.useRef(),[b,C]=m.useState(s);m.useEffect(()=>{C(s)},[s]),m.useEffect(()=>{if(g.current&&g.current.resizableTextArea){const{textArea:L}=g.current.resizableTextArea;L.focus();const{length:E}=L.value;L.setSelectionRange(E,E)}},[]);const P=L=>{let{target:E}=L;C(E.value.replace(/[\n\r]/g,""))},v=()=>{A.current=!0},T=()=>{A.current=!1},y=L=>{let{keyCode:E}=L;A.current||(w.current=E)},S=()=>{c(b.trim())},x=L=>{let{keyCode:E,ctrlKey:U,altKey:F,metaKey:B,shiftKey:_}=L;w.current===E&&!A.current&&!U&&!F&&!B&&!_&&(E===hr.ENTER?(S(),d==null||d()):E===hr.ESC&&u())},R=()=>{S()},H=f?`${e}-${f}`:"",[D,k,W]=OJe(e),N=Gn(e,`${e}-edit-content`,{[`${e}-rtl`]:r==="rtl"},o,H,k,W);return D(m.createElement("div",{className:N,style:i},m.createElement(xXe,{ref:g,maxLength:a,value:b,onChange:P,onKeyDown:y,onKeyUp:x,onCompositionStart:v,onCompositionEnd:T,onBlur:R,"aria-label":n,rows:1,autoSize:l}),p!==null?Ou(p,{className:`${e}-edit-content-confirm`}):null))};var __t=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,n=[],o=0;o"u"){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var d=Vxe[e.format]||Vxe.default;window.clipboardData.setData(d,t)}else u.clipboardData.clearData(),u.clipboardData.setData(e.format,t);e.onCopy&&(u.preventDefault(),e.onCopy(u.clipboardData))}),document.body.appendChild(l),r.selectNodeContents(l),a.addRange(r);var c=document.execCommand("copy");if(!c)throw new Error("copy command was unsuccessful");s=!0}catch(u){n&&console.error("unable to copy using execCommand: ",u),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),s=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),o=X_t("message"in e?e.message:G_t),window.prompt(o,t)}}finally{a&&(typeof a.removeRange=="function"?a.removeRange(r):a.removeAllRanges()),l&&document.body.removeChild(l),i()}return s}var K_t=J_t;const q_t=kr(K_t);var $_t=function(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,e||[])).next())})};const Q_t=t=>{let{copyConfig:e,children:n}=t;const[o,i]=m.useState(!1),[r,a]=m.useState(!1),l=m.useRef(null),s=()=>{l.current&&clearTimeout(l.current)},c={};e.format&&(c.format=e.format),m.useEffect(()=>s,[]);const u=O6(d=>$_t(void 0,void 0,void 0,function*(){var f;d==null||d.preventDefault(),d==null||d.stopPropagation(),a(!0);try{const p=typeof e.text=="function"?yield e.text():e.text;q_t(p||String(n)||"",c),a(!1),i(!0),s(),l.current=setTimeout(()=>{i(!1)},3e3),(f=e.onCopy)===null||f===void 0||f.call(e,d)}catch(p){throw a(!1),p}}));return{copied:o,copyLoading:r,onClick:u}};function Qie(t,e){return m.useMemo(()=>{const n=!!t;return[n,Object.assign(Object.assign({},e),n&&typeof t=="object"?t:null)]},[t])}const Z_t=(t,e)=>{const n=m.useRef(!1);m.useEffect(()=>{n.current?t():n.current=!0},e)},eVt=t=>{const e=m.useRef();return m.useEffect(()=>{e.current=t}),e.current};var tVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,component:o="article",className:i,rootClassName:r,setContentRef:a,children:l,direction:s,style:c}=t,u=tVt(t,["prefixCls","component","className","rootClassName","setContentRef","children","direction","style"]),{getPrefixCls:d,direction:f,typography:p}=m.useContext(Mi),g=s??f;let A=e;a&&(A=q2(e,a));const w=d("typography",n),[b,C,P]=OJe(w),v=Gn(w,p==null?void 0:p.className,{[`${w}-rtl`]:g==="rtl"},i,r,C,P),T=Object.assign(Object.assign({},p==null?void 0:p.style),c);return b(m.createElement(o,Object.assign({className:v,style:T,ref:A},u),l))});var nVt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},oVt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:nVt}))},VJe=m.forwardRef(oVt);function Gxe(t){return t===!1?[!1,!1]:Array.isArray(t)?t:[t]}function PY(t,e,n){return t===!0||t===void 0?e:t||n&&e}const iVt=t=>{const{prefixCls:e,copied:n,locale:o,iconOnly:i,tooltips:r,icon:a,loading:l,tabIndex:s,onCopy:c}=t,u=Gxe(r),d=Gxe(a),{copied:f,copy:p}=o??{},g=n?PY(u[1],f):PY(u[0],p),w=typeof g=="string"?g:n?f:p;return m.createElement(J6,{key:"copy",title:g},m.createElement(jJe,{className:Gn(`${e}-copy`,{[`${e}-copy-success`]:n,[`${e}-copy-icon-only`]:i}),onClick:c,"aria-label":w,tabIndex:s},n?PY(d[1],m.createElement(zVe,null),!0):PY(d[0],l?m.createElement(HH,null):m.createElement(VJe,null),!0)))},CY=m.forwardRef((t,e)=>{let{style:n,children:o}=t;const i=m.useRef(null);return m.useImperativeHandle(e,()=>({isExceed:()=>{const r=i.current;return r.scrollHeight>r.clientHeight},getHeight:()=>i.current.clientHeight})),m.createElement("span",{"aria-hidden":!0,ref:i,style:Object.assign({position:"fixed",display:"block",left:0,top:0,pointerEvents:"none",backgroundColor:"rgba(255, 0, 0, 0.65)"},n)},o)});function GJe(t){const e=typeof t;return e==="string"||e==="number"}function rVt(t){let e=0;return t.forEach(n=>{GJe(n)?e+=String(n).length:e+=1}),e}function Xxe(t,e){let n=0;const o=[];for(let i=0;ie){const c=e-n;return o.push(String(r).slice(0,c)),o}o.push(r),n=s}return t}const Zie=0,ere=1,tre=2,Jxe=3,RY={display:"-webkit-box",overflow:"hidden",WebkitBoxOrient:"vertical"};function aVt(t){const{enableMeasure:e,width:n,text:o,children:i,rows:r,expanded:a,miscDeps:l,onEllipsis:s}=t,c=m.useMemo(()=>E9(o),[o]),u=m.useMemo(()=>rVt(c),[o]),d=m.useMemo(()=>i(c,!1),[o]),[f,p]=m.useState(null),g=m.useRef(null),A=m.useRef(null),w=m.useRef(null),b=m.useRef(null),[C,P]=m.useState(!1),[v,T]=m.useState(Zie),[y,S]=m.useState(0);dx(()=>{T(e&&n&&u?ere:Zie)},[n,o,r,e,c]),dx(()=>{var D,k,W,N;if(v===ere){const L=!!(!((D=A.current)===null||D===void 0)&&D.isExceed());T(L?tre:Jxe),p(L?[0,u]:null),P(L);const E=((k=A.current)===null||k===void 0?void 0:k.getHeight())||0,U=r===1?0:((W=w.current)===null||W===void 0?void 0:W.getHeight())||0,F=((N=b.current)===null||N===void 0?void 0:N.getHeight())||0,B=U+F,_=Math.max(E,B);S(_+1),s(L)}},[v]);const x=f?Math.ceil((f[0]+f[1])/2):0;dx(()=>{var D;const[k,W]=f||[0,0];if(k!==W){const L=(((D=g.current)===null||D===void 0?void 0:D.getHeight())||0)>y;let E=x;W-k===1&&(E=L?k:W),p(L?[k,E]:[E,W])}},[f,x]);const R=m.useMemo(()=>{if(v!==tre||!f||f[0]!==f[1]){const D=i(c,!1);return v!==Jxe&&v!==Zie?m.createElement("span",{style:Object.assign(Object.assign({},RY),{WebkitLineClamp:r})},D):D}return i(a?c:Xxe(c,f[0]),C)},[a,v,f,c].concat(Xa(l))),H={width:n,whiteSpace:"normal",margin:0,padding:0};return m.createElement(m.Fragment,null,R,v===ere&&m.createElement(m.Fragment,null,m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r}),ref:A},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r-1}),ref:w},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:1}),ref:b},i([],!0))),v===tre&&f&&f[0]!==f[1]&&m.createElement(CY,{style:Object.assign(Object.assign({},H),{top:400}),ref:g},i(Xxe(c,x),!0)))}const lVt=t=>{let{enableEllipsis:e,isEllipsis:n,children:o,tooltipProps:i}=t;return!(i!=null&&i.title)||!e?o:m.createElement(J6,Object.assign({open:n?void 0:!1},i),o)};var sVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{prefixCls:r,className:a,style:l,type:s,disabled:c,children:u,ellipsis:d,editable:f,copyable:p,component:g,title:A}=t,w=sVt(t,["prefixCls","className","style","type","disabled","children","ellipsis","editable","copyable","component","title"]),{getPrefixCls:b,direction:C}=m.useContext(Mi),[P]=D7("Text"),v=m.useRef(null),T=m.useRef(null),y=b("typography",r),S=lp(w,["mark","code","delete","underline","strong","keyboard","italic"]),[x,R]=Qie(f),[H,D]=_6(!1,{value:R.editing}),{triggerType:k=["icon"]}=R,W=Fe=>{var Ge;Fe&&((Ge=R.onStart)===null||Ge===void 0||Ge.call(R)),D(Fe)},N=eVt(H);Z_t(()=>{var Fe;!H&&N&&((Fe=T.current)===null||Fe===void 0||Fe.focus())},[H]);const L=Fe=>{Fe==null||Fe.preventDefault(),W(!0)},E=Fe=>{var Ge;(Ge=R.onChange)===null||Ge===void 0||Ge.call(R,Fe),W(!1)},U=()=>{var Fe;(Fe=R.onCancel)===null||Fe===void 0||Fe.call(R),W(!1)},[F,B]=Qie(p),{copied:_,copyLoading:Y,onClick:O}=Q_t({copyConfig:B,children:u}),[J,Z]=m.useState(!1),[ie,ee]=m.useState(!1),[q,ae]=m.useState(!1),[ne,se]=m.useState(!1),[le,te]=m.useState(!0),[he,pe]=Qie(d,{expandable:!1,symbol:Fe=>Fe?P==null?void 0:P.collapse:P==null?void 0:P.expand}),[fe,$]=_6(pe.defaultExpanded||!1,{value:pe.expanded}),de=he&&(!fe||pe.expandable==="collapsible"),{rows:Se=1}=pe,Ce=m.useMemo(()=>de&&(pe.suffix!==void 0||pe.onEllipsis||pe.expandable||x||F),[de,pe,x,F]);dx(()=>{he&&!Ce&&(Z(w8e("webkitLineClamp")),ee(w8e("textOverflow")))},[Ce,he]);const[ve,Ie]=m.useState(de),ze=m.useMemo(()=>Ce?!1:Se===1?ie:J,[Ce,ie,J]);dx(()=>{Ie(ze&&de)},[ze,de]);const ye=de&&(ve?ne:q),oe=de&&Se===1&&ve,ge=de&&Se>1&&ve,Ae=(Fe,Ge)=>{var rt;$(Ge.expanded),(rt=pe.onExpand)===null||rt===void 0||rt.call(pe,Fe,Ge)},[me,Pe]=m.useState(0),Me=Fe=>{let{offsetWidth:Ge}=Fe;Pe(Ge)},Te=Fe=>{var Ge;ae(Fe),q!==Fe&&((Ge=pe.onEllipsis)===null||Ge===void 0||Ge.call(pe,Fe))};m.useEffect(()=>{const Fe=v.current;if(he&&ve&&Fe){const Ge=ge?Fe.offsetHeight{const Fe=v.current;if(typeof IntersectionObserver>"u"||!Fe||!ve||!de)return;const Ge=new IntersectionObserver(()=>{te(!!Fe.offsetParent)});return Ge.observe(Fe),()=>{Ge.disconnect()}},[ve,de]);let De={};pe.tooltip===!0?De={title:(n=R.text)!==null&&n!==void 0?n:u}:m.isValidElement(pe.tooltip)?De={title:pe.tooltip}:typeof pe.tooltip=="object"?De=Object.assign({title:(o=R.text)!==null&&o!==void 0?o:u},pe.tooltip):De={title:pe.tooltip};const Ue=m.useMemo(()=>{const Fe=Ge=>["string","number"].includes(typeof Ge);if(!(!he||ve)){if(Fe(R.text))return R.text;if(Fe(u))return u;if(Fe(A))return A;if(Fe(De.title))return De.title}},[he,ve,A,De.title,ye]);if(H)return m.createElement(O_t,{value:(i=R.text)!==null&&i!==void 0?i:typeof u=="string"?u:"",onSave:E,onCancel:U,onEnd:R.onEnd,prefixCls:y,className:a,style:l,direction:C,component:g,maxLength:R.maxLength,autoSize:R.autoSize,enterIcon:R.enterIcon});const Oe=()=>{const{expandable:Fe,symbol:Ge}=pe;return!Fe||fe&&Fe!=="collapsible"?null:m.createElement("a",{key:"expand",className:`${y}-${fe?"collapse":"expand"}`,onClick:rt=>Ae(rt,{expanded:!fe}),"aria-label":fe?P.collapse:P==null?void 0:P.expand},typeof Ge=="function"?Ge(fe):Ge)},Le=()=>{if(!x)return;const{icon:Fe,tooltip:Ge,tabIndex:rt}=R,Ve=E9(Ge)[0]||(P==null?void 0:P.edit),xt=typeof Ve=="string"?Ve:"";return k.includes("icon")?m.createElement(J6,{key:"edit",title:Ge===!1?"":Ve},m.createElement(jJe,{ref:T,className:`${y}-edit`,onClick:L,"aria-label":xt,tabIndex:rt},Fe||m.createElement(YJe,{role:"button"}))):null},$e=()=>F?m.createElement(iVt,Object.assign({key:"copy"},B,{prefixCls:y,copied:_,locale:P,onCopy:O,loading:Y,iconOnly:u==null})):null,We=Fe=>[Fe&&Oe(),Le(),$e()],Ee=Fe=>[Fe&&!fe&&m.createElement("span",{"aria-hidden":!0,key:"ellipsis"},uVt),pe.suffix,We(Fe)];return m.createElement(bd,{onResize:Me,disabled:!de},Fe=>m.createElement(lVt,{tooltipProps:De,enableEllipsis:de,isEllipsis:ye},m.createElement(_Je,Object.assign({className:Gn({[`${y}-${s}`]:s,[`${y}-disabled`]:c,[`${y}-ellipsis`]:he,[`${y}-single-line`]:de&&Se===1&&!fe,[`${y}-ellipsis-single-line`]:oe,[`${y}-ellipsis-multiple-line`]:ge},a),prefixCls:r,style:Object.assign(Object.assign({},l),{WebkitLineClamp:ge?Se:void 0}),component:g,ref:q2(Fe,v,e),direction:C,onClick:k.includes("text")?L:void 0,"aria-label":Ue==null?void 0:Ue.toString(),title:A},S),m.createElement(aVt,{enableMeasure:de&&!ve,text:u,rows:Se,width:me,onEllipsis:Te,expanded:fe,miscDeps:[_,fe,Y,x,F]},(Ge,rt)=>cVt(t,m.createElement(m.Fragment,null,Ge.length>0&&rt&&!fe&&Ue?m.createElement("span",{key:"show-content","aria-hidden":!0},Ge):Ge,Ee(rt)))))))});var dVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n,rel:o}=t,i=dVt(t,["ellipsis","rel"]);const r=Object.assign(Object.assign({},i),{rel:o===void 0&&i.target==="_blank"?"noopener noreferrer":o});return delete r.navigate,m.createElement(Y$,Object.assign({},r,{ref:e,ellipsis:!!n,component:"a"}))}),hVt=m.forwardRef((t,e)=>m.createElement(Y$,Object.assign({ref:e},t,{component:"div"})));var pVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n}=t,o=pVt(t,["ellipsis"]);const i=m.useMemo(()=>n&&typeof n=="object"?lp(n,["expandable","rows"]):n,[n]);return m.createElement(Y$,Object.assign({ref:e},o,{ellipsis:i,component:"span"}))},mVt=m.forwardRef(gVt);var yVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{level:n=1}=t,o=yVt(t,["level"]);let i;return AVt.includes(n)?i=`h${n}`:i="h1",m.createElement(Y$,Object.assign({ref:e},o,{component:i}))}),C6=_Je;C6.Text=mVt;C6.Link=fVt;C6.Title=wVt;C6.Paragraph=hVt;/*! + `]:Object.assign(Object.assign({},Nge(t)),{marginInlineStart:t.marginXXS})}),L_t(t)),W_t(t)),N_t()),{"&-rtl":{direction:"rtl"}})}},B_t=()=>({titleMarginTop:"1.2em",titleMarginBottom:"0.5em"}),jJe=Fl("Typography",t=>[U_t(t)],B_t),j_t=t=>{const{prefixCls:e,"aria-label":n,className:o,style:i,direction:r,maxLength:a,autoSize:l=!0,value:s,onSave:c,onCancel:u,onEnd:d,component:f,enterIcon:p=m.createElement(z_t,null)}=t,g=m.useRef(null),A=m.useRef(!1),w=m.useRef(),[b,C]=m.useState(s);m.useEffect(()=>{C(s)},[s]),m.useEffect(()=>{if(g.current&&g.current.resizableTextArea){const{textArea:L}=g.current.resizableTextArea;L.focus();const{length:E}=L.value;L.setSelectionRange(E,E)}},[]);const P=L=>{let{target:E}=L;C(E.value.replace(/[\n\r]/g,""))},v=()=>{A.current=!0},T=()=>{A.current=!1},y=L=>{let{keyCode:E}=L;A.current||(w.current=E)},S=()=>{c(b.trim())},x=L=>{let{keyCode:E,ctrlKey:U,altKey:F,metaKey:B,shiftKey:_}=L;w.current===E&&!A.current&&!U&&!F&&!B&&!_&&(E===hr.ENTER?(S(),d==null||d()):E===hr.ESC&&u())},R=()=>{S()},H=f?`${e}-${f}`:"",[D,k,W]=jJe(e),N=Gn(e,`${e}-edit-content`,{[`${e}-rtl`]:r==="rtl"},o,H,k,W);return D(m.createElement("div",{className:N,style:i},m.createElement(wXe,{ref:g,maxLength:a,value:b,onChange:P,onKeyDown:y,onKeyUp:x,onCompositionStart:v,onCompositionEnd:T,onBlur:R,"aria-label":n,rows:1,autoSize:l}),p!==null?Ou(p,{className:`${e}-edit-content-confirm`}):null))};var Y_t=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,n=[],o=0;o"u"){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var d=Vxe[e.format]||Vxe.default;window.clipboardData.setData(d,t)}else u.clipboardData.clearData(),u.clipboardData.setData(e.format,t);e.onCopy&&(u.preventDefault(),e.onCopy(u.clipboardData))}),document.body.appendChild(l),r.selectNodeContents(l),a.addRange(r);var c=document.execCommand("copy");if(!c)throw new Error("copy command was unsuccessful");s=!0}catch(u){n&&console.error("unable to copy using execCommand: ",u),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),s=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),o=V_t("message"in e?e.message:__t),window.prompt(o,t)}}finally{a&&(typeof a.removeRange=="function"?a.removeRange(r):a.removeAllRanges()),l&&document.body.removeChild(l),i()}return s}var X_t=G_t;const J_t=kr(X_t);var K_t=function(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,e||[])).next())})};const q_t=t=>{let{copyConfig:e,children:n}=t;const[o,i]=m.useState(!1),[r,a]=m.useState(!1),l=m.useRef(null),s=()=>{l.current&&clearTimeout(l.current)},c={};e.format&&(c.format=e.format),m.useEffect(()=>s,[]);const u=O6(d=>K_t(void 0,void 0,void 0,function*(){var f;d==null||d.preventDefault(),d==null||d.stopPropagation(),a(!0);try{const p=typeof e.text=="function"?yield e.text():e.text;J_t(p||String(n)||"",c),a(!1),i(!0),s(),l.current=setTimeout(()=>{i(!1)},3e3),(f=e.onCopy)===null||f===void 0||f.call(e,d)}catch(p){throw a(!1),p}}));return{copied:o,copyLoading:r,onClick:u}};function Qie(t,e){return m.useMemo(()=>{const n=!!t;return[n,Object.assign(Object.assign({},e),n&&typeof t=="object"?t:null)]},[t])}const $_t=(t,e)=>{const n=m.useRef(!1);m.useEffect(()=>{n.current?t():n.current=!0},e)},Q_t=t=>{const e=m.useRef();return m.useEffect(()=>{e.current=t}),e.current};var Z_t=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{prefixCls:n,component:o="article",className:i,rootClassName:r,setContentRef:a,children:l,direction:s,style:c}=t,u=Z_t(t,["prefixCls","component","className","rootClassName","setContentRef","children","direction","style"]),{getPrefixCls:d,direction:f,typography:p}=m.useContext(Mi),g=s??f;let A=e;a&&(A=q2(e,a));const w=d("typography",n),[b,C,P]=jJe(w),v=Gn(w,p==null?void 0:p.className,{[`${w}-rtl`]:g==="rtl"},i,r,C,P),T=Object.assign(Object.assign({},p==null?void 0:p.style),c);return b(m.createElement(o,Object.assign({className:v,style:T,ref:A},u),l))});var eVt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},tVt=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:eVt}))},OJe=m.forwardRef(tVt);function Gxe(t){return t===!1?[!1,!1]:Array.isArray(t)?t:[t]}function PY(t,e,n){return t===!0||t===void 0?e:t||n&&e}const nVt=t=>{const{prefixCls:e,copied:n,locale:o,iconOnly:i,tooltips:r,icon:a,loading:l,tabIndex:s,onCopy:c}=t,u=Gxe(r),d=Gxe(a),{copied:f,copy:p}=o??{},g=n?PY(u[1],f):PY(u[0],p),w=typeof g=="string"?g:n?f:p;return m.createElement(J6,{key:"copy",title:g},m.createElement(UJe,{className:Gn(`${e}-copy`,{[`${e}-copy-success`]:n,[`${e}-copy-icon-only`]:i}),onClick:c,"aria-label":w,tabIndex:s},n?PY(d[1],m.createElement(MVe,null),!0):PY(d[0],l?m.createElement(HH,null):m.createElement(OJe,null),!0)))},CY=m.forwardRef((t,e)=>{let{style:n,children:o}=t;const i=m.useRef(null);return m.useImperativeHandle(e,()=>({isExceed:()=>{const r=i.current;return r.scrollHeight>r.clientHeight},getHeight:()=>i.current.clientHeight})),m.createElement("span",{"aria-hidden":!0,ref:i,style:Object.assign({position:"fixed",display:"block",left:0,top:0,pointerEvents:"none",backgroundColor:"rgba(255, 0, 0, 0.65)"},n)},o)});function _Je(t){const e=typeof t;return e==="string"||e==="number"}function oVt(t){let e=0;return t.forEach(n=>{_Je(n)?e+=String(n).length:e+=1}),e}function Xxe(t,e){let n=0;const o=[];for(let i=0;ie){const c=e-n;return o.push(String(r).slice(0,c)),o}o.push(r),n=s}return t}const Zie=0,ere=1,tre=2,Jxe=3,RY={display:"-webkit-box",overflow:"hidden",WebkitBoxOrient:"vertical"};function iVt(t){const{enableMeasure:e,width:n,text:o,children:i,rows:r,expanded:a,miscDeps:l,onEllipsis:s}=t,c=m.useMemo(()=>E9(o),[o]),u=m.useMemo(()=>oVt(c),[o]),d=m.useMemo(()=>i(c,!1),[o]),[f,p]=m.useState(null),g=m.useRef(null),A=m.useRef(null),w=m.useRef(null),b=m.useRef(null),[C,P]=m.useState(!1),[v,T]=m.useState(Zie),[y,S]=m.useState(0);dx(()=>{T(e&&n&&u?ere:Zie)},[n,o,r,e,c]),dx(()=>{var D,k,W,N;if(v===ere){const L=!!(!((D=A.current)===null||D===void 0)&&D.isExceed());T(L?tre:Jxe),p(L?[0,u]:null),P(L);const E=((k=A.current)===null||k===void 0?void 0:k.getHeight())||0,U=r===1?0:((W=w.current)===null||W===void 0?void 0:W.getHeight())||0,F=((N=b.current)===null||N===void 0?void 0:N.getHeight())||0,B=U+F,_=Math.max(E,B);S(_+1),s(L)}},[v]);const x=f?Math.ceil((f[0]+f[1])/2):0;dx(()=>{var D;const[k,W]=f||[0,0];if(k!==W){const L=(((D=g.current)===null||D===void 0?void 0:D.getHeight())||0)>y;let E=x;W-k===1&&(E=L?k:W),p(L?[k,E]:[E,W])}},[f,x]);const R=m.useMemo(()=>{if(v!==tre||!f||f[0]!==f[1]){const D=i(c,!1);return v!==Jxe&&v!==Zie?m.createElement("span",{style:Object.assign(Object.assign({},RY),{WebkitLineClamp:r})},D):D}return i(a?c:Xxe(c,f[0]),C)},[a,v,f,c].concat(Xa(l))),H={width:n,whiteSpace:"normal",margin:0,padding:0};return m.createElement(m.Fragment,null,R,v===ere&&m.createElement(m.Fragment,null,m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r}),ref:A},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:r-1}),ref:w},d),m.createElement(CY,{style:Object.assign(Object.assign(Object.assign({},H),RY),{WebkitLineClamp:1}),ref:b},i([],!0))),v===tre&&f&&f[0]!==f[1]&&m.createElement(CY,{style:Object.assign(Object.assign({},H),{top:400}),ref:g},i(Xxe(c,x),!0)))}const rVt=t=>{let{enableEllipsis:e,isEllipsis:n,children:o,tooltipProps:i}=t;return!(i!=null&&i.title)||!e?o:m.createElement(J6,Object.assign({open:n?void 0:!1},i),o)};var aVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var n,o,i;const{prefixCls:r,className:a,style:l,type:s,disabled:c,children:u,ellipsis:d,editable:f,copyable:p,component:g,title:A}=t,w=aVt(t,["prefixCls","className","style","type","disabled","children","ellipsis","editable","copyable","component","title"]),{getPrefixCls:b,direction:C}=m.useContext(Mi),[P]=D7("Text"),v=m.useRef(null),T=m.useRef(null),y=b("typography",r),S=lp(w,["mark","code","delete","underline","strong","keyboard","italic"]),[x,R]=Qie(f),[H,D]=_6(!1,{value:R.editing}),{triggerType:k=["icon"]}=R,W=Fe=>{var Ge;Fe&&((Ge=R.onStart)===null||Ge===void 0||Ge.call(R)),D(Fe)},N=Q_t(H);$_t(()=>{var Fe;!H&&N&&((Fe=T.current)===null||Fe===void 0||Fe.focus())},[H]);const L=Fe=>{Fe==null||Fe.preventDefault(),W(!0)},E=Fe=>{var Ge;(Ge=R.onChange)===null||Ge===void 0||Ge.call(R,Fe),W(!1)},U=()=>{var Fe;(Fe=R.onCancel)===null||Fe===void 0||Fe.call(R),W(!1)},[F,B]=Qie(p),{copied:_,copyLoading:Y,onClick:O}=q_t({copyConfig:B,children:u}),[J,Z]=m.useState(!1),[ie,ee]=m.useState(!1),[q,ae]=m.useState(!1),[ne,se]=m.useState(!1),[le,te]=m.useState(!0),[he,pe]=Qie(d,{expandable:!1,symbol:Fe=>Fe?P==null?void 0:P.collapse:P==null?void 0:P.expand}),[fe,$]=_6(pe.defaultExpanded||!1,{value:pe.expanded}),de=he&&(!fe||pe.expandable==="collapsible"),{rows:Se=1}=pe,Ce=m.useMemo(()=>de&&(pe.suffix!==void 0||pe.onEllipsis||pe.expandable||x||F),[de,pe,x,F]);dx(()=>{he&&!Ce&&(Z(w8e("webkitLineClamp")),ee(w8e("textOverflow")))},[Ce,he]);const[ve,Ie]=m.useState(de),ze=m.useMemo(()=>Ce?!1:Se===1?ie:J,[Ce,ie,J]);dx(()=>{Ie(ze&&de)},[ze,de]);const ye=de&&(ve?ne:q),oe=de&&Se===1&&ve,ge=de&&Se>1&&ve,Ae=(Fe,Ge)=>{var rt;$(Ge.expanded),(rt=pe.onExpand)===null||rt===void 0||rt.call(pe,Fe,Ge)},[me,Pe]=m.useState(0),Me=Fe=>{let{offsetWidth:Ge}=Fe;Pe(Ge)},Te=Fe=>{var Ge;ae(Fe),q!==Fe&&((Ge=pe.onEllipsis)===null||Ge===void 0||Ge.call(pe,Fe))};m.useEffect(()=>{const Fe=v.current;if(he&&ve&&Fe){const Ge=ge?Fe.offsetHeight{const Fe=v.current;if(typeof IntersectionObserver>"u"||!Fe||!ve||!de)return;const Ge=new IntersectionObserver(()=>{te(!!Fe.offsetParent)});return Ge.observe(Fe),()=>{Ge.disconnect()}},[ve,de]);let De={};pe.tooltip===!0?De={title:(n=R.text)!==null&&n!==void 0?n:u}:m.isValidElement(pe.tooltip)?De={title:pe.tooltip}:typeof pe.tooltip=="object"?De=Object.assign({title:(o=R.text)!==null&&o!==void 0?o:u},pe.tooltip):De={title:pe.tooltip};const Ne=m.useMemo(()=>{const Fe=Ge=>["string","number"].includes(typeof Ge);if(!(!he||ve)){if(Fe(R.text))return R.text;if(Fe(u))return u;if(Fe(A))return A;if(Fe(De.title))return De.title}},[he,ve,A,De.title,ye]);if(H)return m.createElement(j_t,{value:(i=R.text)!==null&&i!==void 0?i:typeof u=="string"?u:"",onSave:E,onCancel:U,onEnd:R.onEnd,prefixCls:y,className:a,style:l,direction:C,component:g,maxLength:R.maxLength,autoSize:R.autoSize,enterIcon:R.enterIcon});const Ye=()=>{const{expandable:Fe,symbol:Ge}=pe;return!Fe||fe&&Fe!=="collapsible"?null:m.createElement("a",{key:"expand",className:`${y}-${fe?"collapse":"expand"}`,onClick:rt=>Ae(rt,{expanded:!fe}),"aria-label":fe?P.collapse:P==null?void 0:P.expand},typeof Ge=="function"?Ge(fe):Ge)},Le=()=>{if(!x)return;const{icon:Fe,tooltip:Ge,tabIndex:rt}=R,_e=E9(Ge)[0]||(P==null?void 0:P.edit),xt=typeof _e=="string"?_e:"";return k.includes("icon")?m.createElement(J6,{key:"edit",title:Ge===!1?"":_e},m.createElement(UJe,{ref:T,className:`${y}-edit`,onClick:L,"aria-label":xt,tabIndex:rt},Fe||m.createElement(BJe,{role:"button"}))):null},$e=()=>F?m.createElement(nVt,Object.assign({key:"copy"},B,{prefixCls:y,copied:_,locale:P,onCopy:O,loading:Y,iconOnly:u==null})):null,We=Fe=>[Fe&&Ye(),Le(),$e()],Ee=Fe=>[Fe&&!fe&&m.createElement("span",{"aria-hidden":!0,key:"ellipsis"},sVt),pe.suffix,We(Fe)];return m.createElement(bd,{onResize:Me,disabled:!de},Fe=>m.createElement(rVt,{tooltipProps:De,enableEllipsis:de,isEllipsis:ye},m.createElement(YJe,Object.assign({className:Gn({[`${y}-${s}`]:s,[`${y}-disabled`]:c,[`${y}-ellipsis`]:he,[`${y}-single-line`]:de&&Se===1&&!fe,[`${y}-ellipsis-single-line`]:oe,[`${y}-ellipsis-multiple-line`]:ge},a),prefixCls:r,style:Object.assign(Object.assign({},l),{WebkitLineClamp:ge?Se:void 0}),component:g,ref:q2(Fe,v,e),direction:C,onClick:k.includes("text")?L:void 0,"aria-label":Ne==null?void 0:Ne.toString(),title:A},S),m.createElement(iVt,{enableMeasure:de&&!ve,text:u,rows:Se,width:me,onEllipsis:Te,expanded:fe,miscDeps:[_,fe,Y,x,F]},(Ge,rt)=>lVt(t,m.createElement(m.Fragment,null,Ge.length>0&&rt&&!fe&&Ne?m.createElement("span",{key:"show-content","aria-hidden":!0},Ge):Ge,Ee(rt)))))))});var cVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n,rel:o}=t,i=cVt(t,["ellipsis","rel"]);const r=Object.assign(Object.assign({},i),{rel:o===void 0&&i.target==="_blank"?"noopener noreferrer":o});return delete r.navigate,m.createElement(Y$,Object.assign({},r,{ref:e,ellipsis:!!n,component:"a"}))}),dVt=m.forwardRef((t,e)=>m.createElement(Y$,Object.assign({ref:e},t,{component:"div"})));var fVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{var{ellipsis:n}=t,o=fVt(t,["ellipsis"]);const i=m.useMemo(()=>n&&typeof n=="object"?lp(n,["expandable","rows"]):n,[n]);return m.createElement(Y$,Object.assign({ref:e},o,{ellipsis:i,component:"span"}))},pVt=m.forwardRef(hVt);var gVt=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);i{const{level:n=1}=t,o=gVt(t,["level"]);let i;return mVt.includes(n)?i=`h${n}`:i="h1",m.createElement(Y$,Object.assign({ref:e},o,{component:i}))}),C6=YJe;C6.Text=pVt;C6.Link=uVt;C6.Title=yVt;C6.Paragraph=dVt;/*! * html2canvas 1.4.1 * Copyright (c) 2022 Niklas von Hertzen * Released under MIT License @@ -4770,23 +4770,23 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var aue=function(t,e){return aue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},aue(t,e)};function Q2(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");aue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var lue=function(){return lue=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},Kxe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xVt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var MY=0;MY"u"?[]:new Uint8Array(256);for(var IY=0;IY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},SVt=function(t){for(var e=t.length,n=[],o=0;o>px,CVt=1<>px,HVt=XJe+RVt,MVt=HVt,IVt=32,zVt=MVt+IVt,DVt=65536>>$me,EVt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>px],n=(n<>px)],n=(n<>$me),n=this.index[n],n+=e>>px&kVt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var zY=0;zYZxe?(i.push(!0),l-=Zxe):i.push(!1),["normal","auto","loose"].indexOf(e)!==-1&&[8208,8211,12316,12448].indexOf(r)!==-1)return o.push(a),n.push(uue);if(l===jVt||l===sue){if(a===0)return o.push(a),n.push(wv);var s=n[a-1];return KVt.indexOf(s)===-1?(o.push(o[a-1]),n.push(s)):(o.push(a),n.push(wv))}if(o.push(a),l===GVt)return n.push(e==="strict"?due:eF);if(l===$Je||l===VVt)return n.push(wv);if(l===XVt)return r>=131072&&r<=196605||r>=196608&&r<=262141?n.push(eF):n.push(wv);n.push(l)}),[o,n,i]},are=function(t,e,n,o){var i=o[n];if(Array.isArray(t)?t.indexOf(i)!==-1:t===i)for(var r=n;r<=o.length;){r++;var a=o[r];if(a===e)return!0;if(a!==pw)break}if(i===pw)for(var r=n;r>0;){r--;var l=o[r];if(Array.isArray(t)?t.indexOf(l)!==-1:t===l)for(var s=n;s<=o.length;){s++;var a=o[s];if(a===e)return!0;if(a!==pw)break}if(l!==pw)break}return!1},abe=function(t,e){for(var n=t;n>=0;){var o=e[n];if(o===pw)n--;else return o}return 0},QVt=function(t,e,n,o,i){if(n[o]===0)return Va;var r=o-1;if(Array.isArray(i)&&i[r]===!0)return Va;var a=r-1,l=r+1,s=e[r],c=a>=0?e[a]:0,u=e[l];if(s===JJe&&u===KJe)return Va;if(yue.indexOf(s)!==-1)return QJe;if(yue.indexOf(u)!==-1||ZJe.indexOf(u)!==-1)return Va;if(abe(r,e)===qJe)return FY;if(mue.get(t[r])===sue||(s===EY||s===kY)&&mue.get(t[l])===sue||s===ebe||u===ebe||s===tbe||[pw,cue,wD].indexOf(s)===-1&&u===tbe||[DY,Rz,_Vt,IT,zT].indexOf(u)!==-1||abe(r,e)===Hz||are(ire,Hz,r,e)||are([DY,Rz],due,r,e)||are(nbe,nbe,r,e))return Va;if(s===pw)return FY;if(s===ire||u===ire)return Va;if(u===uue||s===uue)return FY;if([cue,wD,due].indexOf(u)!==-1||s===OVt||c===pue&&qVt.indexOf(s)!==-1||s===zT&&u===pue||u===obe||$3.indexOf(u)!==-1&&s===O1||$3.indexOf(s)!==-1&&u===O1||s===xD&&[eF,EY,kY].indexOf(u)!==-1||[eF,EY,kY].indexOf(s)!==-1&&u===vD||$3.indexOf(s)!==-1&&ibe.indexOf(u)!==-1||ibe.indexOf(s)!==-1&&$3.indexOf(u)!==-1||[xD,vD].indexOf(s)!==-1&&(u===O1||[Hz,wD].indexOf(u)!==-1&&e[l+1]===O1)||[Hz,wD].indexOf(s)!==-1&&u===O1||s===O1&&[O1,zT,IT].indexOf(u)!==-1)return Va;if([O1,zT,IT,DY,Rz].indexOf(u)!==-1)for(var d=r;d>=0;){var f=e[d];if(f===O1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if([xD,vD].indexOf(u)!==-1)for(var d=[DY,Rz].indexOf(s)!==-1?a:r;d>=0;){var f=e[d];if(f===O1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if(gue===s&&[gue,U_,fue,hue].indexOf(u)!==-1||[U_,fue].indexOf(s)!==-1&&[U_,B_].indexOf(u)!==-1||[B_,hue].indexOf(s)!==-1&&u===B_||rbe.indexOf(s)!==-1&&[obe,vD].indexOf(u)!==-1||rbe.indexOf(u)!==-1&&s===xD||$3.indexOf(s)!==-1&&$3.indexOf(u)!==-1||s===IT&&$3.indexOf(u)!==-1||$3.concat(O1).indexOf(s)!==-1&&u===Hz&&JVt.indexOf(t[l])===-1||$3.concat(O1).indexOf(u)!==-1&&s===Rz)return Va;if(s===rre&&u===rre){for(var p=n[r],g=1;p>0&&(p--,e[p]===rre);)g++;if(g%2!==0)return Va}return s===EY&&u===kY?Va:FY},ZVt=function(t,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var n=$Vt(t,e.lineBreak),o=n[0],i=n[1],r=n[2];(e.wordBreak==="break-all"||e.wordBreak==="break-word")&&(i=i.map(function(l){return[O1,wv,$Je].indexOf(l)!==-1?eF:l}));var a=e.wordBreak==="keep-all"?r.map(function(l,s){return l&&t[s]>=19968&&t[s]<=40959}):void 0;return[o,i,a]},eGt=function(){function t(e,n,o,i){this.codePoints=e,this.required=n===QJe,this.start=o,this.end=i}return t.prototype.slice=function(){return E0.apply(void 0,this.codePoints.slice(this.start,this.end))},t}(),tGt=function(t,e){var n=_$(t),o=ZVt(n,e),i=o[0],r=o[1],a=o[2],l=n.length,s=0,c=0;return{next:function(){if(c>=l)return{done:!0,value:null};for(var u=Va;c=eKe&&t<=57},FGt=function(t){return t>=55296&&t<=57343},DT=function(t){return $f(t)||t>=oKe&&t<=rKe||t>=tKe&&t<=IGt},LGt=function(t){return t>=tKe&&t<=DGt},WGt=function(t){return t>=oKe&&t<=kGt},NGt=function(t){return LGt(t)||WGt(t)},UGt=function(t){return t>=vGt},BY=function(t){return t===kG||t===iGt||t===rGt},FG=function(t){return NGt(t)||UGt(t)||t===cGt},dbe=function(t){return FG(t)||$f(t)||t===zp},BGt=function(t){return t>=TGt&&t<=PGt||t===CGt||t>=RGt&&t<=HGt||t===MGt},_4=function(t,e){return t!==hE?!1:e!==kG},jY=function(t,e,n){return t===zp?FG(e)||_4(e,n):FG(t)?!0:!!(t===hE&&_4(t,e))},sre=function(t,e,n){return t===Uv||t===zp?$f(e)?!0:e===tF&&$f(n):$f(t===tF?e:t)},jGt=function(t){var e=0,n=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(n=-1),e++);for(var o=[];$f(t[e]);)o.push(t[e++]);var i=o.length?parseInt(E0.apply(void 0,o),10):0;t[e]===tF&&e++;for(var r=[];$f(t[e]);)r.push(t[e++]);var a=r.length,l=a?parseInt(E0.apply(void 0,r),10):0;(t[e]===iKe||t[e]===nKe)&&e++;var s=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(s=-1),e++);for(var c=[];$f(t[e]);)c.push(t[e++]);var u=c.length?parseInt(E0.apply(void 0,c),10):0;return n*(i+l*Math.pow(10,-a))*Math.pow(10,s*u)},YGt={type:2},OGt={type:3},_Gt={type:4},VGt={type:13},GGt={type:8},XGt={type:21},JGt={type:9},KGt={type:10},qGt={type:11},$Gt={type:12},QGt={type:14},YY={type:23},ZGt={type:1},eXt={type:25},tXt={type:24},nXt={type:26},oXt={type:27},iXt={type:28},rXt={type:29},aXt={type:31},Aue={type:32},aKe=function(){function t(){this._value=[]}return t.prototype.write=function(e){this._value=this._value.concat(_$(e))},t.prototype.read=function(){for(var e=[],n=this.consumeToken();n!==Aue;)e.push(n),n=this.consumeToken();return e},t.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case LY:return this.consumeStringToken(LY);case aGt:var n=this.peekCodePoint(0),o=this.peekCodePoint(1),i=this.peekCodePoint(2);if(dbe(n)||_4(o,i)){var r=jY(n,o,i)?oGt:nGt,a=this.consumeName();return{type:5,value:a,flags:r}}break;case lGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),VGt;break;case WY:return this.consumeStringToken(WY);case NY:return YGt;case Iz:return OGt;case lre:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),QGt;break;case Uv:if(sre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case xGt:return _Gt;case zp:var l=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(sre(l,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(jY(l,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===zp&&c===fGt)return this.consumeCodePoint(),this.consumeCodePoint(),tXt;break;case tF:if(sre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case sbe:if(this.peekCodePoint(0)===lre)for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(u===lre&&(u=this.consumeCodePoint(),u===sbe))return this.consumeToken();if(u===U5)return this.consumeToken()}break;case bGt:return nXt;case SGt:return oXt;case dGt:if(this.peekCodePoint(0)===uGt&&this.peekCodePoint(1)===zp&&this.peekCodePoint(2)===zp)return this.consumeCodePoint(),this.consumeCodePoint(),eXt;break;case hGt:var d=this.peekCodePoint(0),f=this.peekCodePoint(1),p=this.peekCodePoint(2);if(jY(d,f,p)){var a=this.consumeName();return{type:7,value:a}}break;case pGt:return iXt;case hE:if(_4(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case gGt:return rXt;case mGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),GGt;break;case yGt:return qGt;case AGt:return $Gt;case zGt:case EGt:var g=this.peekCodePoint(0),A=this.peekCodePoint(1);return g===Uv&&(DT(A)||A===UY)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case cbe:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),JGt;if(this.peekCodePoint(0)===cbe)return this.consumeCodePoint(),XGt;break;case wGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),KGt;break;case U5:return Aue}return BY(e)?(this.consumeWhiteSpace(),aXt):$f(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):FG(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:E0(e)}},t.prototype.consumeCodePoint=function(){var e=this._value.shift();return typeof e>"u"?-1:e},t.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},t.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},t.prototype.consumeUnicodeRangeToken=function(){for(var e=[],n=this.consumeCodePoint();DT(n)&&e.length<6;)e.push(n),n=this.consumeCodePoint();for(var o=!1;n===UY&&e.length<6;)e.push(n),n=this.consumeCodePoint(),o=!0;if(o){var i=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?eKe:s})),16),r=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?rKe:s})),16);return{type:30,start:i,end:r}}var a=parseInt(E0.apply(void 0,e),16);if(this.peekCodePoint(0)===zp&&DT(this.peekCodePoint(1))){this.consumeCodePoint(),n=this.consumeCodePoint();for(var l=[];DT(n)&&l.length<6;)l.push(n),n=this.consumeCodePoint();var r=parseInt(E0.apply(void 0,l),16);return{type:30,start:a,end:r}}else return{type:30,start:a,end:a}},t.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()==="url"&&this.peekCodePoint(0)===NY?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===NY?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},t.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5)return{type:22,value:""};var n=this.peekCodePoint(0);if(n===WY||n===LY){var o=this.consumeStringToken(this.consumeCodePoint());return o.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz)?(this.consumeCodePoint(),{type:22,value:o.value}):(this.consumeBadUrlRemnants(),YY)}for(;;){var i=this.consumeCodePoint();if(i===U5||i===Iz)return{type:22,value:E0.apply(void 0,e)};if(BY(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz?(this.consumeCodePoint(),{type:22,value:E0.apply(void 0,e)}):(this.consumeBadUrlRemnants(),YY);if(i===LY||i===WY||i===NY||BGt(i))return this.consumeBadUrlRemnants(),YY;if(i===hE)if(_4(i,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),YY;else e.push(i)}},t.prototype.consumeWhiteSpace=function(){for(;BY(this.peekCodePoint(0));)this.consumeCodePoint()},t.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===Iz||e===U5)return;_4(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},t.prototype.consumeStringSlice=function(e){for(var n=5e4,o="";e>0;){var i=Math.min(n,e);o+=E0.apply(void 0,this._value.splice(0,i)),e-=i}return this._value.shift(),o},t.prototype.consumeStringToken=function(e){var n="",o=0;do{var i=this._value[o];if(i===U5||i===void 0||i===e)return n+=this.consumeStringSlice(o),{type:0,value:n};if(i===kG)return this._value.splice(0,o),ZGt;if(i===hE){var r=this._value[o+1];r!==U5&&r!==void 0&&(r===kG?(n+=this.consumeStringSlice(o),o=-1,this._value.shift()):_4(i,r)&&(n+=this.consumeStringSlice(o),n+=E0(this.consumeEscapedCodePoint()),o=-1))}o++}while(!0)},t.prototype.consumeNumber=function(){var e=[],n=YW,o=this.peekCodePoint(0);for((o===Uv||o===zp)&&e.push(this.consumeCodePoint());$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(o===tF&&$f(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=lbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((o===iKe||o===nKe)&&((i===Uv||i===zp)&&$f(r)||$f(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=lbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[jGt(e),n]},t.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),n=e[0],o=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),a=this.peekCodePoint(2);if(jY(i,r,a)){var l=this.consumeName();return{type:15,number:n,flags:o,unit:l}}return i===sGt?(this.consumeCodePoint(),{type:16,number:n,flags:o}):{type:17,number:n,flags:o}},t.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(DT(e)){for(var n=E0(e);DT(this.peekCodePoint(0))&&n.length<6;)n+=E0(this.consumeCodePoint());BY(this.peekCodePoint(0))&&this.consumeCodePoint();var o=parseInt(n,16);return o===0||FGt(o)||o>1114111?ube:o}return e===U5?ube:e},t.prototype.consumeName=function(){for(var e="";;){var n=this.consumeCodePoint();if(dbe(n))e+=E0(n);else if(_4(n,this.peekCodePoint(0)))e+=E0(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(n),e}},t}(),lKe=function(){function t(e){this._tokens=e}return t.create=function(e){var n=new aKe;return n.write(e),new t(n.read())},t.parseValue=function(e){return t.create(e).parseComponentValue()},t.parseValues=function(e){return t.create(e).parseComponentValues()},t.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var n=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return n;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},t.prototype.parseComponentValues=function(){for(var e=[];;){var n=this.consumeComponentValue();if(n.type===32)return e;e.push(n),e.push()}},t.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},t.prototype.consumeSimpleBlock=function(e){for(var n={type:e,values:[]},o=this.consumeToken();;){if(o.type===32||sXt(o,e))return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue()),o=this.consumeToken()}},t.prototype.consumeFunction=function(e){for(var n={name:e.value,values:[],type:18};;){var o=this.consumeToken();if(o.type===32||o.type===3)return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue())}},t.prototype.consumeToken=function(){var e=this._tokens.shift();return typeof e>"u"?Aue:e},t.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},t}(),OW=function(t){return t.type===15},NH=function(t){return t.type===17},As=function(t){return t.type===20},lXt=function(t){return t.type===0},wue=function(t,e){return As(t)&&t.value===e},sKe=function(t){return t.type!==31},cR=function(t){return t.type!==31&&t.type!==4},l3=function(t){var e=[],n=[];return t.forEach(function(o){if(o.type===4){if(n.length===0)throw new Error("Error parsing function args, zero tokens for arg");e.push(n),n=[];return}o.type!==31&&n.push(o)}),n.length&&e.push(n),e},sXt=function(t,e){return e===11&&t.type===12||e===28&&t.type===29?!0:e===2&&t.type===3},a7=function(t){return t.type===17||t.type===15},iu=function(t){return t.type===16||a7(t)},cKe=function(t){return t.length>1?[t[0],t[1]]:[t[0]]},of={type:17,number:0,flags:YW},Qme={type:16,number:50,flags:YW},gw={type:16,number:100,flags:YW},bD=function(t,e,n){var o=t[0],i=t[1];return[Ys(o,e),Ys(typeof i<"u"?i:o,n)]},Ys=function(t,e){if(t.type===16)return t.number/100*e;if(OW(t))switch(t.unit){case"rem":case"em":return 16*t.number;case"px":default:return t.number}return t.number},uKe="deg",dKe="grad",fKe="rad",hKe="turn",V$={name:"angle",parse:function(t,e){if(e.type===15)switch(e.unit){case uKe:return Math.PI*e.number/180;case dKe:return Math.PI/200*e.number;case fKe:return e.number;case hKe:return Math.PI*2*e.number}throw new Error("Unsupported angle type")}},pKe=function(t){return t.type===15&&(t.unit===uKe||t.unit===dKe||t.unit===fKe||t.unit===hKe)},gKe=function(t){var e=t.filter(As).map(function(n){return n.value}).join(" ");switch(e){case"to bottom right":case"to right bottom":case"left top":case"top left":return[of,of];case"to top":case"bottom":return Em(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[of,gw];case"to right":case"left":return Em(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[gw,gw];case"to bottom":case"top":return Em(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[gw,of];case"to left":case"right":return Em(270)}return 0},Em=function(t){return Math.PI*t/180},Lw={name:"color",parse:function(t,e){if(e.type===18){var n=cXt[e.name];if(typeof n>"u")throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return n(t,e.values)}if(e.type===5){if(e.value.length===3){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),1)}if(e.value.length===4){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3),a=e.value.substring(3,4);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),parseInt(a+a,16)/255)}if(e.value.length===6){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),1)}if(e.value.length===8){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6),a=e.value.substring(6,8);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),parseInt(a,16)/255)}}if(e.type===20){var l=R6[e.value.toUpperCase()];if(typeof l<"u")return l}return R6.TRANSPARENT}},Ww=function(t){return(255&t)===0},cd=function(t){var e=255&t,n=255&t>>8,o=255&t>>16,i=255&t>>24;return e<255?"rgba("+i+","+o+","+n+","+e/255+")":"rgb("+i+","+o+","+n+")"},mw=function(t,e,n,o){return(t<<24|e<<16|n<<8|Math.round(o*255)<<0)>>>0},fbe=function(t,e){if(t.type===17)return t.number;if(t.type===16){var n=e===3?1:255;return e===3?t.number/100*n:Math.round(t.number/100*n)}return 0},hbe=function(t,e){var n=e.filter(cR);if(n.length===3){var o=n.map(fbe),i=o[0],r=o[1],a=o[2];return mw(i,r,a,1)}if(n.length===4){var l=n.map(fbe),i=l[0],r=l[1],a=l[2],s=l[3];return mw(i,r,a,s)}return 0};function cre(t,e,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(e-t)*n*6+t:n<1/2?e:n<2/3?(e-t)*6*(2/3-n)+t:t}var pbe=function(t,e){var n=e.filter(cR),o=n[0],i=n[1],r=n[2],a=n[3],l=(o.type===17?Em(o.number):V$.parse(t,o))/(Math.PI*2),s=iu(i)?i.number/100:0,c=iu(r)?r.number/100:0,u=typeof a<"u"&&iu(a)?Ys(a,1):1;if(s===0)return mw(c*255,c*255,c*255,1);var d=c<=.5?c*(s+1):c+s-c*s,f=c*2-d,p=cre(f,d,l+1/3),g=cre(f,d,l),A=cre(f,d,l-1/3);return mw(p*255,g*255,A*255,u)},cXt={hsl:pbe,hsla:pbe,rgb:hbe,rgba:hbe},pE=function(t,e){return Lw.parse(t,lKe.create(e).parseComponentValue())},R6={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},uXt={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},dXt={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},G$=function(t,e){var n=Lw.parse(t,e[0]),o=e[1];return o&&iu(o)?{color:n,stop:o}:{color:n,stop:null}},gbe=function(t,e){var n=t[0],o=t[t.length-1];n.stop===null&&(n.stop=of),o.stop===null&&(o.stop=gw);for(var i=[],r=0,a=0;ar?i.push(s):i.push(r),r=s}else i.push(null)}for(var c=null,a=0;aa.optimumDistance)?{optimumCorner:l,optimumDistance:u}:a},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},pXt=function(t,e,n,o,i){var r=0,a=0;switch(t.size){case 0:t.shape===0?r=a=Math.min(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.min(Math.abs(e),Math.abs(e-o)),a=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(t.shape===0)r=a=Math.min(Xy(e,n),Xy(e,n-i),Xy(e-o,n),Xy(e-o,n-i));else if(t.shape===1){var l=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(e),Math.abs(e-o)),s=mbe(o,i,e,n,!0),c=s[0],u=s[1];r=Xy(c-e,(u-n)/l),a=l*r}break;case 1:t.shape===0?r=a=Math.max(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.max(Math.abs(e),Math.abs(e-o)),a=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(t.shape===0)r=a=Math.max(Xy(e,n),Xy(e,n-i),Xy(e-o,n),Xy(e-o,n-i));else if(t.shape===1){var l=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(e),Math.abs(e-o)),d=mbe(o,i,e,n,!1),c=d[0],u=d[1];r=Xy(c-e,(u-n)/l),a=l*r}break}return Array.isArray(t.size)&&(r=Ys(t.size[0],o),a=t.size.length===2?Ys(t.size[1],i):r),[r,a]},gXt=function(t,e){var n=Em(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&a.value==="to"){n=gKe(i);return}else if(pKe(a)){n=V$.parse(t,a);return}}var l=G$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},OY=function(t,e){var n=Em(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&["top","left","right","bottom"].indexOf(a.value)!==-1){n=gKe(i);return}else if(pKe(a)){n=(V$.parse(t,a)+Em(270))%Em(360);return}}var l=G$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},mXt=function(t,e){var n=Em(180),o=[],i=1,r=0,a=3,l=[];return l3(e).forEach(function(s,c){var u=s[0];if(c===0){if(As(u)&&u.value==="linear"){i=1;return}else if(As(u)&&u.value==="radial"){i=2;return}}if(u.type===18){if(u.name==="from"){var d=Lw.parse(t,u.values[0]);o.push({stop:of,color:d})}else if(u.name==="to"){var d=Lw.parse(t,u.values[0]);o.push({stop:gw,color:d})}else if(u.name==="color-stop"){var f=u.values.filter(cR);if(f.length===2){var d=Lw.parse(t,f[1]),p=f[0];NH(p)&&o.push({stop:{type:16,number:p.number*100,flags:p.flags},color:d})}}}}),i===1?{angle:(n+Em(180))%Em(360),stops:o,type:i}:{size:a,shape:r,stops:o,position:l,type:i}},mKe="closest-side",yKe="farthest-side",AKe="closest-corner",wKe="farthest-corner",vKe="circle",xKe="ellipse",bKe="cover",SKe="contain",yXt=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0){var c=!1;s=a.reduce(function(d,f){if(c)if(As(f))switch(f.value){case"center":return r.push(Qme),d;case"top":case"left":return r.push(of),d;case"right":case"bottom":return r.push(gw),d}else(iu(f)||a7(f))&&r.push(f);else if(As(f))switch(f.value){case vKe:return n=0,!1;case xKe:return n=1,!1;case"at":return c=!0,!1;case mKe:return o=0,!1;case bKe:case yKe:return o=1,!1;case SKe:case AKe:return o=2,!1;case wKe:return o=3,!1}else if(a7(f)||iu(f))return Array.isArray(o)||(o=[]),o.push(f),!1;return d},s)}if(s){var u=G$(t,a);i.push(u)}}),{size:o,shape:n,stops:i,position:r,type:2}},_Y=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0?s=a.reduce(function(u,d){if(As(d))switch(d.value){case"center":return r.push(Qme),!1;case"top":case"left":return r.push(of),!1;case"right":case"bottom":return r.push(gw),!1}else if(iu(d)||a7(d))return r.push(d),!1;return u},s):l===1&&(s=a.reduce(function(u,d){if(As(d))switch(d.value){case vKe:return n=0,!1;case xKe:return n=1,!1;case SKe:case mKe:return o=0,!1;case yKe:return o=1,!1;case AKe:return o=2,!1;case bKe:case wKe:return o=3,!1}else if(a7(d)||iu(d))return Array.isArray(o)||(o=[]),o.push(d),!1;return u},s)),s){var c=G$(t,a);i.push(c)}}),{size:o,shape:n,stops:i,position:r,type:2}},AXt=function(t){return t.type===1},wXt=function(t){return t.type===2},Zme={name:"image",parse:function(t,e){if(e.type===22){var n={url:e.value,type:0};return t.cache.addImage(e.value),n}if(e.type===18){var o=TKe[e.name];if(typeof o>"u")throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return o(t,e.values)}throw new Error("Unsupported image type "+e.type)}};function vXt(t){return!(t.type===20&&t.value==="none")&&(t.type!==18||!!TKe[t.name])}var TKe={"linear-gradient":gXt,"-moz-linear-gradient":OY,"-ms-linear-gradient":OY,"-o-linear-gradient":OY,"-webkit-linear-gradient":OY,"radial-gradient":yXt,"-moz-radial-gradient":_Y,"-ms-radial-gradient":_Y,"-o-radial-gradient":_Y,"-webkit-radial-gradient":_Y,"-webkit-gradient":mXt},xXt={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e.filter(function(o){return cR(o)&&vXt(o)}).map(function(o){return Zme.parse(t,o)})}},bXt={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},SXt={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(t,e){return l3(e).map(function(n){return n.filter(iu)}).map(cKe)}},TXt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(As).map(function(o){return o.value}).join(" ")}).map(PXt)}},PXt=function(t){switch(t){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},vC;(function(t){t.AUTO="auto",t.CONTAIN="contain",t.COVER="cover"})(vC||(vC={}));var CXt={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(RXt)})}},RXt=function(t){return As(t)||iu(t)},X$=function(t){return{name:"border-"+t+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},HXt=X$("top"),MXt=X$("right"),IXt=X$("bottom"),zXt=X$("left"),J$=function(t){return{name:"border-radius-"+t,initialValue:"0 0",prefix:!1,type:1,parse:function(e,n){return cKe(n.filter(iu))}}},DXt=J$("top-left"),EXt=J$("top-right"),kXt=J$("bottom-right"),FXt=J$("bottom-left"),K$=function(t){return{name:"border-"+t+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,n){switch(n){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},LXt=K$("top"),WXt=K$("right"),NXt=K$("bottom"),UXt=K$("left"),q$=function(t){return{name:"border-"+t+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,n){return OW(n)?n.number:0}}},BXt=q$("top"),jXt=q$("right"),YXt=q$("bottom"),OXt=q$("left"),_Xt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},VXt={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(t,e){switch(e){case"rtl":return 1;case"ltr":default:return 0}}},GXt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(t,e){return e.filter(As).reduce(function(n,o){return n|XXt(o.value)},0)}},XXt=function(t){switch(t){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},JXt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},KXt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(t,e){return e.type===20&&e.value==="normal"?0:e.type===17||e.type===15?e.number:0}},LG;(function(t){t.NORMAL="normal",t.STRICT="strict"})(LG||(LG={}));var qXt={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"strict":return LG.STRICT;case"normal":default:return LG.NORMAL}}},$Xt={name:"line-height",initialValue:"normal",prefix:!1,type:4},ybe=function(t,e){return As(t)&&t.value==="normal"?1.2*e:t.type===17?e*t.number:iu(t)?Ys(t,e):e},QXt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(t,e){return e.type===20&&e.value==="none"?null:Zme.parse(t,e)}},ZXt={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(t,e){switch(e){case"inside":return 0;case"outside":default:return 1}}},vue={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},$$=function(t){return{name:"margin-"+t,initialValue:"0",prefix:!1,type:4}},eJt=$$("top"),tJt=$$("right"),nJt=$$("bottom"),oJt=$$("left"),iJt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},rJt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-word":return"break-word";case"normal":default:return"normal"}}},Q$=function(t){return{name:"padding-"+t,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},aJt=Q$("top"),lJt=Q$("right"),sJt=Q$("bottom"),cJt=Q$("left"),uJt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(t,e){switch(e){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},dJt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(t,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},fJt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.length===1&&wue(e[0],"none")?[]:l3(e).map(function(n){for(var o={color:R6.TRANSPARENT,offsetX:of,offsetY:of,blur:of},i=0,r=0;r"u")throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return n(e.values)}return null}},gJt=function(t){var e=t.filter(function(n){return n.type===17}).map(function(n){return n.number});return e.length===6?e:null},mJt=function(t){var e=t.filter(function(s){return s.type===17}).map(function(s){return s.number}),n=e[0],o=e[1];e[2],e[3];var i=e[4],r=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var a=e[12],l=e[13];return e[14],e[15],e.length===16?[n,o,i,r,a,l]:null},yJt={matrix:gJt,matrix3d:mJt},Abe={type:16,number:50,flags:YW},AJt=[Abe,Abe],wJt={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(t,e){var n=e.filter(iu);return n.length!==2?AJt:[n[0],n[1]]}},vJt={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},gE;(function(t){t.NORMAL="normal",t.BREAK_ALL="break-all",t.KEEP_ALL="keep-all"})(gE||(gE={}));var xJt={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-all":return gE.BREAK_ALL;case"keep-all":return gE.KEEP_ALL;case"normal":default:return gE.NORMAL}}},bJt={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(t,e){if(e.type===20)return{auto:!0,order:0};if(NH(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},PKe={name:"time",parse:function(t,e){if(e.type===15)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},SJt={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(t,e){return NH(e)?e.number:1}},TJt={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},PJt={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(n){return n!==0})}},CJt={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(t,e){var n=[],o=[];return e.forEach(function(i){switch(i.type){case 20:case 0:n.push(i.value);break;case 17:n.push(i.number.toString());break;case 4:o.push(n.join(" ")),n.length=0;break}}),n.length&&o.push(n.join(" ")),o.map(function(i){return i.indexOf(" ")===-1?i:"'"+i+"'"})}},RJt={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},HJt={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(t,e){if(NH(e))return e.number;if(As(e))switch(e.value){case"bold":return 700;case"normal":default:return 400}return 400}},MJt={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.filter(As).map(function(n){return n.value})}},IJt={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},zu=function(t,e){return(t&e)!==0},zJt={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e}},DJt={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(t,e){if(e.length===0)return null;var n=e[0];if(n.type===20&&n.value==="none")return null;for(var o=[],i=e.filter(sKe),r=0;r1?1:0],this.overflowWrap=Di(e,rJt,n.overflowWrap),this.paddingTop=Di(e,aJt,n.paddingTop),this.paddingRight=Di(e,lJt,n.paddingRight),this.paddingBottom=Di(e,sJt,n.paddingBottom),this.paddingLeft=Di(e,cJt,n.paddingLeft),this.paintOrder=Di(e,WJt,n.paintOrder),this.position=Di(e,dJt,n.position),this.textAlign=Di(e,uJt,n.textAlign),this.textDecorationColor=Di(e,TJt,(o=n.textDecorationColor)!==null&&o!==void 0?o:n.color),this.textDecorationLine=Di(e,PJt,(i=n.textDecorationLine)!==null&&i!==void 0?i:n.textDecoration),this.textShadow=Di(e,fJt,n.textShadow),this.textTransform=Di(e,hJt,n.textTransform),this.transform=Di(e,pJt,n.transform),this.transformOrigin=Di(e,wJt,n.transformOrigin),this.visibility=Di(e,vJt,n.visibility),this.webkitTextStrokeColor=Di(e,NJt,n.webkitTextStrokeColor),this.webkitTextStrokeWidth=Di(e,UJt,n.webkitTextStrokeWidth),this.wordBreak=Di(e,xJt,n.wordBreak),this.zIndex=Di(e,bJt,n.zIndex)}return t.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},t.prototype.isTransparent=function(){return Ww(this.backgroundColor)},t.prototype.isTransformed=function(){return this.transform!==null},t.prototype.isPositioned=function(){return this.position!==0},t.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},t.prototype.isFloating=function(){return this.float!==0},t.prototype.isInlineLevel=function(){return zu(this.display,4)||zu(this.display,33554432)||zu(this.display,268435456)||zu(this.display,536870912)||zu(this.display,67108864)||zu(this.display,134217728)},t}(),jJt=function(){function t(e,n){this.content=Di(e,zJt,n.content),this.quotes=Di(e,FJt,n.quotes)}return t}(),vbe=function(){function t(e,n){this.counterIncrement=Di(e,DJt,n.counterIncrement),this.counterReset=Di(e,EJt,n.counterReset)}return t}(),Di=function(t,e,n){var o=new aKe,i=n!==null&&typeof n<"u"?n.toString():e.initialValue;o.write(i);var r=new lKe(o.read());switch(e.type){case 2:var a=r.parseComponentValue();return e.parse(t,As(a)?a.value:e.initialValue);case 0:return e.parse(t,r.parseComponentValue());case 1:return e.parse(t,r.parseComponentValues());case 4:return r.parseComponentValue();case 3:switch(e.format){case"angle":return V$.parse(t,r.parseComponentValue());case"color":return Lw.parse(t,r.parseComponentValue());case"image":return Zme.parse(t,r.parseComponentValue());case"length":var l=r.parseComponentValue();return a7(l)?l:of;case"length-percentage":var s=r.parseComponentValue();return iu(s)?s:of;case"time":return PKe.parse(t,r.parseComponentValue())}break}},YJt="data-html2canvas-debug",OJt=function(t){var e=t.getAttribute(YJt);switch(e){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},xue=function(t,e){var n=OJt(t);return n===1||e===n},s3=function(){function t(e,n){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,xue(n,3))debugger;this.styles=new BJt(e,window.getComputedStyle(n,null)),Tue(n)&&(this.styles.animationDuration.some(function(o){return o>0})&&(n.style.animationDuration="0s"),this.styles.transform!==null&&(n.style.transform="none")),this.bounds=O$(this.context,n),xue(n,4)&&(this.flags|=16)}return t}(),_Jt="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",xbe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",SD=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var VY=0;VY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},GJt=function(t){for(var e=t.length,n=[],o=0;o>gx,KJt=1<>gx,$Jt=CKe+qJt,QJt=$Jt,ZJt=32,eKt=QJt+ZJt,tKt=65536>>eye,nKt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>gx],n=(n<>gx)],n=(n<>eye),n=this.index[n],n+=e>>gx&oKt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var GY=0;GY=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},fKt=rKt(_Jt),Am="×",yre="÷",hKt=function(t){return fKt.get(t)},pKt=function(t,e,n){var o=n-2,i=e[o],r=e[n-1],a=e[n];if(r===fre&&a===hre)return Am;if(r===fre||r===hre||r===Tbe||a===fre||a===hre||a===Tbe)return yre;if(r===Cbe&&[Cbe,pre,Rbe,Hbe].indexOf(a)!==-1||(r===Rbe||r===pre)&&(a===pre||a===gre)||(r===Hbe||r===gre)&&a===gre||a===Mbe||a===Pbe||a===cKt||r===sKt)return Am;if(r===Mbe&&a===Ibe){for(;i===Pbe;)i=e[--o];if(i===Ibe)return Am}if(r===mre&&a===mre){for(var l=0;i===mre;)l++,i=e[--o];if(l%2===0)return Am}return yre},gKt=function(t){var e=uKt(t),n=e.length,o=0,i=0,r=e.map(hKt);return{next:function(){if(o>=n)return{done:!0,value:null};for(var a=Am;oa.x||u.y>a.y;return a=u,c===0?!0:d});return t.body.removeChild(e),l},wKt=function(){return typeof new Image().crossOrigin<"u"},vKt=function(){return typeof new XMLHttpRequest().responseType=="string"},xKt=function(t){var e=new Image,n=t.createElement("canvas"),o=n.getContext("2d");if(!o)return!1;e.src="data:image/svg+xml,";try{o.drawImage(e,0,0),n.toDataURL()}catch{return!1}return!0},zbe=function(t){return t[0]===0&&t[1]===255&&t[2]===0&&t[3]===255},bKt=function(t){var e=t.createElement("canvas"),n=100;e.width=n,e.height=n;var o=e.getContext("2d");if(!o)return Promise.reject(!1);o.fillStyle="rgb(0, 255, 0)",o.fillRect(0,0,n,n);var i=new Image,r=e.toDataURL();i.src=r;var a=bue(n,n,0,0,i);return o.fillStyle="red",o.fillRect(0,0,n,n),Dbe(a).then(function(l){o.drawImage(l,0,0);var s=o.getImageData(0,0,n,n).data;o.fillStyle="red",o.fillRect(0,0,n,n);var c=t.createElement("div");return c.style.backgroundImage="url("+r+")",c.style.height=n+"px",zbe(s)?Dbe(bue(n,n,0,0,c)):Promise.reject(!1)}).then(function(l){return o.drawImage(l,0,0),zbe(o.getImageData(0,0,n,n).data)}).catch(function(){return!1})},bue=function(t,e,n,o,i){var r="http://www.w3.org/2000/svg",a=document.createElementNS(r,"svg"),l=document.createElementNS(r,"foreignObject");return a.setAttributeNS(null,"width",t.toString()),a.setAttributeNS(null,"height",e.toString()),l.setAttributeNS(null,"width","100%"),l.setAttributeNS(null,"height","100%"),l.setAttributeNS(null,"x",n.toString()),l.setAttributeNS(null,"y",o.toString()),l.setAttributeNS(null,"externalResourcesRequired","true"),a.appendChild(l),l.appendChild(i),a},Dbe=function(t){return new Promise(function(e,n){var o=new Image;o.onload=function(){return e(o)},o.onerror=n,o.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(t))})},Zd={get SUPPORT_RANGE_BOUNDS(){var t=yKt(document);return Object.defineProperty(Zd,"SUPPORT_RANGE_BOUNDS",{value:t}),t},get SUPPORT_WORD_BREAKING(){var t=Zd.SUPPORT_RANGE_BOUNDS&&AKt(document);return Object.defineProperty(Zd,"SUPPORT_WORD_BREAKING",{value:t}),t},get SUPPORT_SVG_DRAWING(){var t=xKt(document);return Object.defineProperty(Zd,"SUPPORT_SVG_DRAWING",{value:t}),t},get SUPPORT_FOREIGNOBJECT_DRAWING(){var t=typeof Array.from=="function"&&typeof window.fetch=="function"?bKt(document):Promise.resolve(!1);return Object.defineProperty(Zd,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:t}),t},get SUPPORT_CORS_IMAGES(){var t=wKt();return Object.defineProperty(Zd,"SUPPORT_CORS_IMAGES",{value:t}),t},get SUPPORT_RESPONSE_TYPE(){var t=vKt();return Object.defineProperty(Zd,"SUPPORT_RESPONSE_TYPE",{value:t}),t},get SUPPORT_CORS_XHR(){var t="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Zd,"SUPPORT_CORS_XHR",{value:t}),t},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var t=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(Zd,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:t}),t}},mE=function(){function t(e,n){this.text=e,this.bounds=n}return t}(),SKt=function(t,e,n,o){var i=CKt(e,n),r=[],a=0;return i.forEach(function(l){if(n.textDecorationLine.length||l.trim().length>0)if(Zd.SUPPORT_RANGE_BOUNDS){var s=Ebe(o,a,l.length).getClientRects();if(s.length>1){var c=tye(l),u=0;c.forEach(function(f){r.push(new mE(f,$6.fromDOMRectList(t,Ebe(o,u+a,f.length).getClientRects()))),u+=f.length})}else r.push(new mE(l,$6.fromDOMRectList(t,s)))}else{var d=o.splitText(l.length);r.push(new mE(l,TKt(t,o))),o=d}else Zd.SUPPORT_RANGE_BOUNDS||(o=o.splitText(l.length));a+=l.length}),r},TKt=function(t,e){var n=e.ownerDocument;if(n){var o=n.createElement("html2canvaswrapper");o.appendChild(e.cloneNode(!0));var i=e.parentNode;if(i){i.replaceChild(o,e);var r=O$(t,o);return o.firstChild&&i.replaceChild(o.firstChild,o),r}}return $6.EMPTY},Ebe=function(t,e,n){var o=t.ownerDocument;if(!o)throw new Error("Node has no owner document");var i=o.createRange();return i.setStart(t,e),i.setEnd(t,e+n),i},tye=function(t){if(Zd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(t)).map(function(n){return n.segment})}return mKt(t)},PKt=function(t,e){if(Zd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(t)).map(function(o){return o.segment})}return HKt(t,e)},CKt=function(t,e){return e.letterSpacing!==0?tye(t):PKt(t,e)},RKt=[32,160,4961,65792,65793,4153,4241],HKt=function(t,e){for(var n=tGt(t,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap==="break-word"?"break-word":e.wordBreak}),o=[],i,r=function(){if(i.value){var a=i.value.slice(),l=_$(a),s="";l.forEach(function(c){RKt.indexOf(c)===-1?s+=E0(c):(s.length&&o.push(s),o.push(E0(c)),s="")}),s.length&&o.push(s)}};!(i=n.next()).done;)r();return o},MKt=function(){function t(e,n,o){this.text=IKt(n.data,o.textTransform),this.textBounds=SKt(e,this.text,o,n)}return t}(),IKt=function(t,e){switch(e){case 1:return t.toLowerCase();case 3:return t.replace(zKt,DKt);case 2:return t.toUpperCase();default:return t}},zKt=/(^|\s|:|-|\(|\))([a-z])/g,DKt=function(t,e,n){return t.length>0?e+n.toUpperCase():t},RKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.src=o.currentSrc||o.src,i.intrinsicWidth=o.naturalWidth,i.intrinsicHeight=o.naturalHeight,i.context.cache.addImage(i.src),i}return e}(s3),HKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.canvas=o,i.intrinsicWidth=o.width,i.intrinsicHeight=o.height,i}return e}(s3),MKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this,r=new XMLSerializer,a=O$(n,o);return o.setAttribute("width",a.width+"px"),o.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(o)),i.intrinsicWidth=o.width.baseVal.value,i.intrinsicHeight=o.height.baseVal.value,i.context.cache.addImage(i.svg),i}return e}(s3),IKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.value=o.value,i}return e}(s3),Sue=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.start=o.start,i.reversed=typeof o.reversed=="boolean"&&o.reversed===!0,i}return e}(s3),EKt=[{type:15,flags:0,unit:"px",number:3}],kKt=[{type:16,flags:0,number:50}],FKt=function(t){return t.width>t.height?new $6(t.left+(t.width-t.height)/2,t.top,t.height,t.height):t.width0)n.textNodes.push(new MKt(t,i,n.styles));else if(JP(i))if(BKe(i)&&i.assignedNodes)i.assignedNodes().forEach(function(l){return j_(t,l,n,o)});else{var a=kKe(t,i);a.styles.isVisible()&&(UKt(i,a,o)?a.flags|=4:BKt(a.styles)&&(a.flags|=2),NKt.indexOf(i.tagName)!==-1&&(a.flags|=8),n.elements.push(a),i.slot,i.shadowRoot?j_(t,i.shadowRoot,a,o):!UG(i)&&!WKe(i)&&!BG(i)&&j_(t,i,a,o))}},kKe=function(t,e){return Pue(e)?new RKe(t,e):NKe(e)?new HKe(t,e):WKe(e)?new MKe(t,e):jKt(e)?new IKe(t,e):YKt(e)?new Sue(t,e):OKt(e)?new nye(t,e):BG(e)?new zKe(t,e):UG(e)?new DKe(t,e):UKe(e)?new EKe(t,e):new s3(t,e)},FKe=function(t,e){var n=kKe(t,e);return n.flags|=4,j_(t,e,n,n),n},UKt=function(t,e,n){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||oye(t)&&n.styles.isTransparent()},BKt=function(t){return t.isPositioned()||t.isFloating()},LKe=function(t){return t.nodeType===Node.TEXT_NODE},JP=function(t){return t.nodeType===Node.ELEMENT_NODE},Tue=function(t){return JP(t)&&typeof t.style<"u"&&!Y_(t)},Y_=function(t){return typeof t.className=="object"},jKt=function(t){return t.tagName==="LI"},YKt=function(t){return t.tagName==="OL"},OKt=function(t){return t.tagName==="INPUT"},_Kt=function(t){return t.tagName==="HTML"},WKe=function(t){return t.tagName==="svg"},oye=function(t){return t.tagName==="BODY"},NKe=function(t){return t.tagName==="CANVAS"},Fbe=function(t){return t.tagName==="VIDEO"},Pue=function(t){return t.tagName==="IMG"},UKe=function(t){return t.tagName==="IFRAME"},Lbe=function(t){return t.tagName==="STYLE"},VKt=function(t){return t.tagName==="SCRIPT"},UG=function(t){return t.tagName==="TEXTAREA"},BG=function(t){return t.tagName==="SELECT"},BKe=function(t){return t.tagName==="SLOT"},Wbe=function(t){return t.tagName.indexOf("-")>0},GKt=function(){function t(){this.counters={}}return t.prototype.getCounterValue=function(e){var n=this.counters[e];return n&&n.length?n[n.length-1]:1},t.prototype.getCounterValues=function(e){var n=this.counters[e];return n||[]},t.prototype.pop=function(e){var n=this;e.forEach(function(o){return n.counters[o].pop()})},t.prototype.parse=function(e){var n=this,o=e.counterIncrement,i=e.counterReset,r=!0;o!==null&&o.forEach(function(l){var s=n.counters[l.counter];s&&l.increment!==0&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=l.increment)});var a=[];return r&&i.forEach(function(l){var s=n.counters[l.counter];a.push(l.counter),s||(s=n.counters[l.counter]=[]),s.push(l.reset)}),a},t}(),Nbe={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ube={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},XKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},JKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ET=function(t,e,n,o,i,r){return tn?nF(t,i,r.length>0):o.integers.reduce(function(a,l,s){for(;t>=l;)t-=l,a+=o.values[s];return a},"")+r},jKe=function(t,e,n,o){var i="";do n||t--,i=o(t)+i,t/=e;while(t*e>=e);return i},I0=function(t,e,n,o,i){var r=n-e+1;return(t<0?"-":"")+(jKe(Math.abs(t),r,o,function(a){return E0(Math.floor(a%r)+e)})+i)},_8=function(t,e,n){n===void 0&&(n=". ");var o=e.length;return jKe(Math.abs(t),o,!1,function(i){return e[Math.floor(i%o)]})+n},QT=1,D4=2,E4=4,TD=8,Q3=function(t,e,n,o,i,r){if(t<-9999||t>9999)return nF(t,4,i.length>0);var a=Math.abs(t),l=i;if(a===0)return e[0]+l;for(var s=0;a>0&&s<=4;s++){var c=a%10;c===0&&zu(r,QT)&&l!==""?l=e[c]+l:c>1||c===1&&s===0||c===1&&s===1&&zu(r,D4)||c===1&&s===1&&zu(r,E4)&&t>100||c===1&&s>1&&zu(r,TD)?l=e[c]+(s>0?n[s-1]:"")+l:c===1&&s>0&&(l=n[s-1]+l),a=Math.floor(a/10)}return(t<0?o:"")+l},Bbe="十百千萬",jbe="拾佰仟萬",Ybe="マイナス",Are="마이너스",nF=function(t,e,n){var o=n?". ":"",i=n?"、":"",r=n?", ":"",a=n?" ":"";switch(e){case 0:return"•"+a;case 1:return"◦"+a;case 2:return"◾"+a;case 5:var l=I0(t,48,57,!0,o);return l.length<4?"0"+l:l;case 4:return _8(t,"〇一二三四五六七八九",i);case 6:return ET(t,1,3999,Nbe,3,o).toLowerCase();case 7:return ET(t,1,3999,Nbe,3,o);case 8:return I0(t,945,969,!1,o);case 9:return I0(t,97,122,!1,o);case 10:return I0(t,65,90,!1,o);case 11:return I0(t,1632,1641,!0,o);case 12:case 49:return ET(t,1,9999,Ube,3,o);case 35:return ET(t,1,9999,Ube,3,o).toLowerCase();case 13:return I0(t,2534,2543,!0,o);case 14:case 30:return I0(t,6112,6121,!0,o);case 15:return _8(t,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return _8(t,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return Q3(t,"零一二三四五六七八九",Bbe,"負",i,D4|E4|TD);case 47:return Q3(t,"零壹貳參肆伍陸柒捌玖",jbe,"負",i,QT|D4|E4|TD);case 42:return Q3(t,"零一二三四五六七八九",Bbe,"负",i,D4|E4|TD);case 41:return Q3(t,"零壹贰叁肆伍陆柒捌玖",jbe,"负",i,QT|D4|E4|TD);case 26:return Q3(t,"〇一二三四五六七八九","十百千万",Ybe,i,0);case 25:return Q3(t,"零壱弐参四伍六七八九","拾百千万",Ybe,i,QT|D4|E4);case 31:return Q3(t,"영일이삼사오육칠팔구","십백천만",Are,r,QT|D4|E4);case 33:return Q3(t,"零一二三四五六七八九","十百千萬",Are,r,0);case 32:return Q3(t,"零壹貳參四五六七八九","拾百千",Are,r,QT|D4|E4);case 18:return I0(t,2406,2415,!0,o);case 20:return ET(t,1,19999,JKt,3,o);case 21:return I0(t,2790,2799,!0,o);case 22:return I0(t,2662,2671,!0,o);case 22:return ET(t,1,10999,XKt,3,o);case 23:return _8(t,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return _8(t,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return I0(t,3302,3311,!0,o);case 28:return _8(t,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return _8(t,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return I0(t,3792,3801,!0,o);case 37:return I0(t,6160,6169,!0,o);case 38:return I0(t,4160,4169,!0,o);case 39:return I0(t,2918,2927,!0,o);case 40:return I0(t,1776,1785,!0,o);case 43:return I0(t,3046,3055,!0,o);case 44:return I0(t,3174,3183,!0,o);case 45:return I0(t,3664,3673,!0,o);case 46:return I0(t,3872,3881,!0,o);case 3:default:return I0(t,48,57,!0,o)}},YKe="data-html2canvas-ignore",Obe=function(){function t(e,n,o){if(this.context=e,this.options=o,this.scrolledElements=[],this.referenceElement=n,this.counters=new GKt,this.quoteDepth=0,!n.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(n.ownerDocument.documentElement,!1)}return t.prototype.toIFrame=function(e,n){var o=this,i=KKt(e,n);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,l=i.contentWindow,s=l.document,c=QKt(i).then(function(){return _h(o,void 0,void 0,function(){var u,d;return Xf(this,function(f){switch(f.label){case 0:return this.scrolledElements.forEach(nqt),l&&(l.scrollTo(n.left,n.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(l.scrollY!==n.top||l.scrollX!==n.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(l.scrollX-n.left,l.scrollY-n.top,0,0))),u=this.options.onclone,d=this.clonedReferenceElement,typeof d>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:s.fonts&&s.fonts.ready?[4,s.fonts.ready]:[3,2];case 1:f.sent(),f.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,$Kt(s)]:[3,4];case 3:f.sent(),f.label=4;case 4:return typeof u=="function"?[2,Promise.resolve().then(function(){return u(s,d)}).then(function(){return i})]:[2,i]}})})});return s.open(),s.write(eqt(document.doctype)+""),tqt(this.referenceElement.ownerDocument,r,a),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),c},t.prototype.createElementClone=function(e){if(xue(e,2))debugger;if(NKe(e))return this.createCanvasClone(e);if(Fbe(e))return this.createVideoClone(e);if(Lbe(e))return this.createStyleClone(e);var n=e.cloneNode(!1);return Pue(n)&&(Pue(e)&&e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc,n.srcset=""),n.loading==="lazy"&&(n.loading="eager")),Wbe(n)?this.createCustomElementClone(n):n},t.prototype.createCustomElementClone=function(e){var n=document.createElement("html2canvascustomelement");return wre(e.style,n),n},t.prototype.createStyleClone=function(e){try{var n=e.sheet;if(n&&n.cssRules){var o=[].slice.call(n.cssRules,0).reduce(function(r,a){return a&&typeof a.cssText=="string"?r+a.cssText:r},""),i=e.cloneNode(!1);return i.textContent=o,i}}catch(r){if(this.context.logger.error("Unable to access cssRules property",r),r.name!=="SecurityError")throw r}return e.cloneNode(!1)},t.prototype.createCanvasClone=function(e){var n;if(this.options.inlineImages&&e.ownerDocument){var o=e.ownerDocument.createElement("img");try{return o.src=e.toDataURL(),o}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&r)a.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var l=(n=e.getContext("webgl2"))!==null&&n!==void 0?n:e.getContext("webgl");if(l){var s=l.getContextAttributes();(s==null?void 0:s.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch{this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},t.prototype.createVideoClone=function(e){var n=e.ownerDocument.createElement("canvas");n.width=e.offsetWidth,n.height=e.offsetHeight;var o=n.getContext("2d");try{return o&&(o.drawImage(e,0,0,n.width,n.height),this.options.allowTaint||o.getImageData(0,0,n.width,n.height)),n}catch{this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},t.prototype.appendChildNode=function(e,n,o){(!JP(n)||!VKt(n)&&!n.hasAttribute(YKe)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(n)))&&(!this.options.copyStyles||!JP(n)||!Lbe(n))&&e.appendChild(this.cloneNode(n,o))},t.prototype.cloneChildNodes=function(e,n,o){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(JP(r)&&BKe(r)&&typeof r.assignedNodes=="function"){var a=r.assignedNodes();a.length&&a.forEach(function(l){return i.appendChildNode(n,l,o)})}else this.appendChildNode(n,r,o)},t.prototype.cloneNode=function(e,n){if(LKe(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var o=e.ownerDocument.defaultView;if(o&&JP(e)&&(Tue(e)||Y_(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=o.getComputedStyle(e),a=o.getComputedStyle(e,":before"),l=o.getComputedStyle(e,":after");this.referenceElement===e&&Tue(i)&&(this.clonedReferenceElement=i),oye(i)&&rqt(i);var s=this.counters.parse(new vbe(this.context,r)),c=this.resolvePseudoContent(e,i,a,yE.BEFORE);Wbe(e)&&(n=!0),Fbe(e)||this.cloneChildNodes(e,i,n),c&&i.insertBefore(c,i.firstChild);var u=this.resolvePseudoContent(e,i,l,yE.AFTER);return u&&i.appendChild(u),this.counters.pop(s),(r&&(this.options.copyStyles||Y_(e))&&!UKe(e)||n)&&wre(r,i),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(UG(e)||BG(e))&&(UG(i)||BG(i))&&(i.value=e.value),i}return e.cloneNode(!1)},t.prototype.resolvePseudoContent=function(e,n,o,i){var r=this;if(o){var a=o.content,l=n.ownerDocument;if(!(!l||!a||a==="none"||a==="-moz-alt-content"||o.display==="none")){this.counters.parse(new vbe(this.context,o));var s=new jJt(this.context,o),c=l.createElement("html2canvaspseudoelement");wre(o,c),s.content.forEach(function(d){if(d.type===0)c.appendChild(l.createTextNode(d.value));else if(d.type===22){var f=l.createElement("img");f.src=d.value,f.style.opacity="1",c.appendChild(f)}else if(d.type===18){if(d.name==="attr"){var p=d.values.filter(As);p.length&&c.appendChild(l.createTextNode(e.getAttribute(p[0].value)||""))}else if(d.name==="counter"){var g=d.values.filter(cR),A=g[0],w=g[1];if(A&&As(A)){var b=r.counters.getCounterValue(A.value),C=w&&As(w)?vue.parse(r.context,w.value):3;c.appendChild(l.createTextNode(nF(b,C,!1)))}}else if(d.name==="counters"){var P=d.values.filter(cR),A=P[0],v=P[1],w=P[2];if(A&&As(A)){var T=r.counters.getCounterValues(A.value),y=w&&As(w)?vue.parse(r.context,w.value):3,S=v&&v.type===0?v.value:"",x=T.map(function(D){return nF(D,y,!1)}).join(S);c.appendChild(l.createTextNode(x))}}}else if(d.type===20)switch(d.value){case"open-quote":c.appendChild(l.createTextNode(wbe(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":c.appendChild(l.createTextNode(wbe(s.quotes,--r.quoteDepth,!1)));break;default:c.appendChild(l.createTextNode(d.value))}}),c.className=Cue+" "+Rue;var u=i===yE.BEFORE?" "+Cue:" "+Rue;return Y_(n)?n.className.baseValue+=u:n.className+=u,c}}},t.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},t}(),yE;(function(t){t[t.BEFORE=0]="BEFORE",t[t.AFTER=1]="AFTER"})(yE||(yE={}));var KKt=function(t,e){var n=t.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=e.width.toString(),n.height=e.height.toString(),n.scrolling="no",n.setAttribute(YKe,"true"),t.body.appendChild(n),n},qKt=function(t){return new Promise(function(e){if(t.complete){e();return}if(!t.src){e();return}t.onload=e,t.onerror=e})},$Kt=function(t){return Promise.all([].slice.call(t.images,0).map(qKt))},QKt=function(t){return new Promise(function(e,n){var o=t.contentWindow;if(!o)return n("No window assigned for iframe");var i=o.document;o.onload=t.onload=function(){o.onload=t.onload=null;var r=setInterval(function(){i.body.childNodes.length>0&&i.readyState==="complete"&&(clearInterval(r),e(t))},50)}})},ZKt=["all","d","content"],wre=function(t,e){for(var n=t.length-1;n>=0;n--){var o=t.item(n);ZKt.indexOf(o)===-1&&e.style.setProperty(o,t.getPropertyValue(o))}return e},eqt=function(t){var e="";return t&&(e+=""),e},tqt=function(t,e,n){t&&t.defaultView&&(e!==t.defaultView.pageXOffset||n!==t.defaultView.pageYOffset)&&t.defaultView.scrollTo(e,n)},nqt=function(t){var e=t[0],n=t[1],o=t[2];e.scrollLeft=n,e.scrollTop=o},oqt=":before",iqt=":after",Cue="___html2canvas___pseudoelement_before",Rue="___html2canvas___pseudoelement_after",_be=`{ +***************************************************************************** */var aue=function(t,e){return aue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},aue(t,e)};function Q2(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");aue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var lue=function(){return lue=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},Kxe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wVt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var MY=0;MY"u"?[]:new Uint8Array(256);for(var IY=0;IY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},xVt=function(t){for(var e=t.length,n=[],o=0;o>px,TVt=1<>px,CVt=VJe+PVt,RVt=CVt,HVt=32,MVt=RVt+HVt,IVt=65536>>$me,zVt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>px],n=(n<>px)],n=(n<>$me),n=this.index[n],n+=e>>px&DVt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var zY=0;zYZxe?(i.push(!0),l-=Zxe):i.push(!1),["normal","auto","loose"].indexOf(e)!==-1&&[8208,8211,12316,12448].indexOf(r)!==-1)return o.push(a),n.push(uue);if(l===UVt||l===sue){if(a===0)return o.push(a),n.push(wv);var s=n[a-1];return XVt.indexOf(s)===-1?(o.push(o[a-1]),n.push(s)):(o.push(a),n.push(wv))}if(o.push(a),l===_Vt)return n.push(e==="strict"?due:eF);if(l===KJe||l===OVt)return n.push(wv);if(l===VVt)return r>=131072&&r<=196605||r>=196608&&r<=262141?n.push(eF):n.push(wv);n.push(l)}),[o,n,i]},are=function(t,e,n,o){var i=o[n];if(Array.isArray(t)?t.indexOf(i)!==-1:t===i)for(var r=n;r<=o.length;){r++;var a=o[r];if(a===e)return!0;if(a!==pw)break}if(i===pw)for(var r=n;r>0;){r--;var l=o[r];if(Array.isArray(t)?t.indexOf(l)!==-1:t===l)for(var s=n;s<=o.length;){s++;var a=o[s];if(a===e)return!0;if(a!==pw)break}if(l!==pw)break}return!1},abe=function(t,e){for(var n=t;n>=0;){var o=e[n];if(o===pw)n--;else return o}return 0},qVt=function(t,e,n,o,i){if(n[o]===0)return Va;var r=o-1;if(Array.isArray(i)&&i[r]===!0)return Va;var a=r-1,l=r+1,s=e[r],c=a>=0?e[a]:0,u=e[l];if(s===GJe&&u===XJe)return Va;if(yue.indexOf(s)!==-1)return qJe;if(yue.indexOf(u)!==-1||$Je.indexOf(u)!==-1)return Va;if(abe(r,e)===JJe)return FY;if(mue.get(t[r])===sue||(s===EY||s===kY)&&mue.get(t[l])===sue||s===ebe||u===ebe||s===tbe||[pw,cue,wD].indexOf(s)===-1&&u===tbe||[DY,Rz,YVt,IT,zT].indexOf(u)!==-1||abe(r,e)===Hz||are(ire,Hz,r,e)||are([DY,Rz],due,r,e)||are(nbe,nbe,r,e))return Va;if(s===pw)return FY;if(s===ire||u===ire)return Va;if(u===uue||s===uue)return FY;if([cue,wD,due].indexOf(u)!==-1||s===jVt||c===pue&&JVt.indexOf(s)!==-1||s===zT&&u===pue||u===obe||$3.indexOf(u)!==-1&&s===O1||$3.indexOf(s)!==-1&&u===O1||s===xD&&[eF,EY,kY].indexOf(u)!==-1||[eF,EY,kY].indexOf(s)!==-1&&u===vD||$3.indexOf(s)!==-1&&ibe.indexOf(u)!==-1||ibe.indexOf(s)!==-1&&$3.indexOf(u)!==-1||[xD,vD].indexOf(s)!==-1&&(u===O1||[Hz,wD].indexOf(u)!==-1&&e[l+1]===O1)||[Hz,wD].indexOf(s)!==-1&&u===O1||s===O1&&[O1,zT,IT].indexOf(u)!==-1)return Va;if([O1,zT,IT,DY,Rz].indexOf(u)!==-1)for(var d=r;d>=0;){var f=e[d];if(f===O1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if([xD,vD].indexOf(u)!==-1)for(var d=[DY,Rz].indexOf(s)!==-1?a:r;d>=0;){var f=e[d];if(f===O1)return Va;if([zT,IT].indexOf(f)!==-1)d--;else break}if(gue===s&&[gue,U_,fue,hue].indexOf(u)!==-1||[U_,fue].indexOf(s)!==-1&&[U_,B_].indexOf(u)!==-1||[B_,hue].indexOf(s)!==-1&&u===B_||rbe.indexOf(s)!==-1&&[obe,vD].indexOf(u)!==-1||rbe.indexOf(u)!==-1&&s===xD||$3.indexOf(s)!==-1&&$3.indexOf(u)!==-1||s===IT&&$3.indexOf(u)!==-1||$3.concat(O1).indexOf(s)!==-1&&u===Hz&&GVt.indexOf(t[l])===-1||$3.concat(O1).indexOf(u)!==-1&&s===Rz)return Va;if(s===rre&&u===rre){for(var p=n[r],g=1;p>0&&(p--,e[p]===rre);)g++;if(g%2!==0)return Va}return s===EY&&u===kY?Va:FY},$Vt=function(t,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var n=KVt(t,e.lineBreak),o=n[0],i=n[1],r=n[2];(e.wordBreak==="break-all"||e.wordBreak==="break-word")&&(i=i.map(function(l){return[O1,wv,KJe].indexOf(l)!==-1?eF:l}));var a=e.wordBreak==="keep-all"?r.map(function(l,s){return l&&t[s]>=19968&&t[s]<=40959}):void 0;return[o,i,a]},QVt=function(){function t(e,n,o,i){this.codePoints=e,this.required=n===qJe,this.start=o,this.end=i}return t.prototype.slice=function(){return E0.apply(void 0,this.codePoints.slice(this.start,this.end))},t}(),ZVt=function(t,e){var n=_$(t),o=$Vt(n,e),i=o[0],r=o[1],a=o[2],l=n.length,s=0,c=0;return{next:function(){if(c>=l)return{done:!0,value:null};for(var u=Va;c=QJe&&t<=57},EGt=function(t){return t>=55296&&t<=57343},DT=function(t){return $f(t)||t>=tKe&&t<=oKe||t>=ZJe&&t<=HGt},kGt=function(t){return t>=ZJe&&t<=IGt},FGt=function(t){return t>=tKe&&t<=DGt},LGt=function(t){return kGt(t)||FGt(t)},WGt=function(t){return t>=AGt},BY=function(t){return t===kG||t===nGt||t===oGt},FG=function(t){return LGt(t)||WGt(t)||t===lGt},dbe=function(t){return FG(t)||$f(t)||t===zp},NGt=function(t){return t>=bGt&&t<=SGt||t===TGt||t>=PGt&&t<=CGt||t===RGt},_4=function(t,e){return t!==hE?!1:e!==kG},jY=function(t,e,n){return t===zp?FG(e)||_4(e,n):FG(t)?!0:!!(t===hE&&_4(t,e))},sre=function(t,e,n){return t===Uv||t===zp?$f(e)?!0:e===tF&&$f(n):$f(t===tF?e:t)},UGt=function(t){var e=0,n=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(n=-1),e++);for(var o=[];$f(t[e]);)o.push(t[e++]);var i=o.length?parseInt(E0.apply(void 0,o),10):0;t[e]===tF&&e++;for(var r=[];$f(t[e]);)r.push(t[e++]);var a=r.length,l=a?parseInt(E0.apply(void 0,r),10):0;(t[e]===nKe||t[e]===eKe)&&e++;var s=1;(t[e]===Uv||t[e]===zp)&&(t[e]===zp&&(s=-1),e++);for(var c=[];$f(t[e]);)c.push(t[e++]);var u=c.length?parseInt(E0.apply(void 0,c),10):0;return n*(i+l*Math.pow(10,-a))*Math.pow(10,s*u)},BGt={type:2},jGt={type:3},YGt={type:4},OGt={type:13},_Gt={type:8},VGt={type:21},GGt={type:9},XGt={type:10},JGt={type:11},KGt={type:12},qGt={type:14},YY={type:23},$Gt={type:1},QGt={type:25},ZGt={type:24},eXt={type:26},tXt={type:27},nXt={type:28},oXt={type:29},iXt={type:31},Aue={type:32},iKe=function(){function t(){this._value=[]}return t.prototype.write=function(e){this._value=this._value.concat(_$(e))},t.prototype.read=function(){for(var e=[],n=this.consumeToken();n!==Aue;)e.push(n),n=this.consumeToken();return e},t.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case LY:return this.consumeStringToken(LY);case iGt:var n=this.peekCodePoint(0),o=this.peekCodePoint(1),i=this.peekCodePoint(2);if(dbe(n)||_4(o,i)){var r=jY(n,o,i)?tGt:eGt,a=this.consumeName();return{type:5,value:a,flags:r}}break;case rGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),OGt;break;case WY:return this.consumeStringToken(WY);case NY:return BGt;case Iz:return jGt;case lre:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),qGt;break;case Uv:if(sre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case wGt:return YGt;case zp:var l=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(sre(l,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(jY(l,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===zp&&c===uGt)return this.consumeCodePoint(),this.consumeCodePoint(),ZGt;break;case tF:if(sre(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case sbe:if(this.peekCodePoint(0)===lre)for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(u===lre&&(u=this.consumeCodePoint(),u===sbe))return this.consumeToken();if(u===U5)return this.consumeToken()}break;case vGt:return eXt;case xGt:return tXt;case cGt:if(this.peekCodePoint(0)===sGt&&this.peekCodePoint(1)===zp&&this.peekCodePoint(2)===zp)return this.consumeCodePoint(),this.consumeCodePoint(),QGt;break;case dGt:var d=this.peekCodePoint(0),f=this.peekCodePoint(1),p=this.peekCodePoint(2);if(jY(d,f,p)){var a=this.consumeName();return{type:7,value:a}}break;case fGt:return nXt;case hE:if(_4(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case hGt:return oXt;case pGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),_Gt;break;case gGt:return JGt;case mGt:return KGt;case MGt:case zGt:var g=this.peekCodePoint(0),A=this.peekCodePoint(1);return g===Uv&&(DT(A)||A===UY)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case cbe:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),GGt;if(this.peekCodePoint(0)===cbe)return this.consumeCodePoint(),VGt;break;case yGt:if(this.peekCodePoint(0)===Mz)return this.consumeCodePoint(),XGt;break;case U5:return Aue}return BY(e)?(this.consumeWhiteSpace(),iXt):$f(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):FG(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:E0(e)}},t.prototype.consumeCodePoint=function(){var e=this._value.shift();return typeof e>"u"?-1:e},t.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},t.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},t.prototype.consumeUnicodeRangeToken=function(){for(var e=[],n=this.consumeCodePoint();DT(n)&&e.length<6;)e.push(n),n=this.consumeCodePoint();for(var o=!1;n===UY&&e.length<6;)e.push(n),n=this.consumeCodePoint(),o=!0;if(o){var i=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?QJe:s})),16),r=parseInt(E0.apply(void 0,e.map(function(s){return s===UY?oKe:s})),16);return{type:30,start:i,end:r}}var a=parseInt(E0.apply(void 0,e),16);if(this.peekCodePoint(0)===zp&&DT(this.peekCodePoint(1))){this.consumeCodePoint(),n=this.consumeCodePoint();for(var l=[];DT(n)&&l.length<6;)l.push(n),n=this.consumeCodePoint();var r=parseInt(E0.apply(void 0,l),16);return{type:30,start:a,end:r}}else return{type:30,start:a,end:a}},t.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()==="url"&&this.peekCodePoint(0)===NY?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===NY?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},t.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5)return{type:22,value:""};var n=this.peekCodePoint(0);if(n===WY||n===LY){var o=this.consumeStringToken(this.consumeCodePoint());return o.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz)?(this.consumeCodePoint(),{type:22,value:o.value}):(this.consumeBadUrlRemnants(),YY)}for(;;){var i=this.consumeCodePoint();if(i===U5||i===Iz)return{type:22,value:E0.apply(void 0,e)};if(BY(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===U5||this.peekCodePoint(0)===Iz?(this.consumeCodePoint(),{type:22,value:E0.apply(void 0,e)}):(this.consumeBadUrlRemnants(),YY);if(i===LY||i===WY||i===NY||NGt(i))return this.consumeBadUrlRemnants(),YY;if(i===hE)if(_4(i,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),YY;else e.push(i)}},t.prototype.consumeWhiteSpace=function(){for(;BY(this.peekCodePoint(0));)this.consumeCodePoint()},t.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===Iz||e===U5)return;_4(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},t.prototype.consumeStringSlice=function(e){for(var n=5e4,o="";e>0;){var i=Math.min(n,e);o+=E0.apply(void 0,this._value.splice(0,i)),e-=i}return this._value.shift(),o},t.prototype.consumeStringToken=function(e){var n="",o=0;do{var i=this._value[o];if(i===U5||i===void 0||i===e)return n+=this.consumeStringSlice(o),{type:0,value:n};if(i===kG)return this._value.splice(0,o),$Gt;if(i===hE){var r=this._value[o+1];r!==U5&&r!==void 0&&(r===kG?(n+=this.consumeStringSlice(o),o=-1,this._value.shift()):_4(i,r)&&(n+=this.consumeStringSlice(o),n+=E0(this.consumeEscapedCodePoint()),o=-1))}o++}while(!0)},t.prototype.consumeNumber=function(){var e=[],n=YW,o=this.peekCodePoint(0);for((o===Uv||o===zp)&&e.push(this.consumeCodePoint());$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(o===tF&&$f(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=lbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());o=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((o===nKe||o===eKe)&&((i===Uv||i===zp)&&$f(r)||$f(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),n=lbe;$f(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[UGt(e),n]},t.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),n=e[0],o=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),a=this.peekCodePoint(2);if(jY(i,r,a)){var l=this.consumeName();return{type:15,number:n,flags:o,unit:l}}return i===aGt?(this.consumeCodePoint(),{type:16,number:n,flags:o}):{type:17,number:n,flags:o}},t.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(DT(e)){for(var n=E0(e);DT(this.peekCodePoint(0))&&n.length<6;)n+=E0(this.consumeCodePoint());BY(this.peekCodePoint(0))&&this.consumeCodePoint();var o=parseInt(n,16);return o===0||EGt(o)||o>1114111?ube:o}return e===U5?ube:e},t.prototype.consumeName=function(){for(var e="";;){var n=this.consumeCodePoint();if(dbe(n))e+=E0(n);else if(_4(n,this.peekCodePoint(0)))e+=E0(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(n),e}},t}(),rKe=function(){function t(e){this._tokens=e}return t.create=function(e){var n=new iKe;return n.write(e),new t(n.read())},t.parseValue=function(e){return t.create(e).parseComponentValue()},t.parseValues=function(e){return t.create(e).parseComponentValues()},t.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var n=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return n;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},t.prototype.parseComponentValues=function(){for(var e=[];;){var n=this.consumeComponentValue();if(n.type===32)return e;e.push(n),e.push()}},t.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},t.prototype.consumeSimpleBlock=function(e){for(var n={type:e,values:[]},o=this.consumeToken();;){if(o.type===32||aXt(o,e))return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue()),o=this.consumeToken()}},t.prototype.consumeFunction=function(e){for(var n={name:e.value,values:[],type:18};;){var o=this.consumeToken();if(o.type===32||o.type===3)return n;this.reconsumeToken(o),n.values.push(this.consumeComponentValue())}},t.prototype.consumeToken=function(){var e=this._tokens.shift();return typeof e>"u"?Aue:e},t.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},t}(),OW=function(t){return t.type===15},NH=function(t){return t.type===17},As=function(t){return t.type===20},rXt=function(t){return t.type===0},wue=function(t,e){return As(t)&&t.value===e},aKe=function(t){return t.type!==31},cR=function(t){return t.type!==31&&t.type!==4},l3=function(t){var e=[],n=[];return t.forEach(function(o){if(o.type===4){if(n.length===0)throw new Error("Error parsing function args, zero tokens for arg");e.push(n),n=[];return}o.type!==31&&n.push(o)}),n.length&&e.push(n),e},aXt=function(t,e){return e===11&&t.type===12||e===28&&t.type===29?!0:e===2&&t.type===3},a7=function(t){return t.type===17||t.type===15},iu=function(t){return t.type===16||a7(t)},lKe=function(t){return t.length>1?[t[0],t[1]]:[t[0]]},of={type:17,number:0,flags:YW},Qme={type:16,number:50,flags:YW},gw={type:16,number:100,flags:YW},bD=function(t,e,n){var o=t[0],i=t[1];return[Ys(o,e),Ys(typeof i<"u"?i:o,n)]},Ys=function(t,e){if(t.type===16)return t.number/100*e;if(OW(t))switch(t.unit){case"rem":case"em":return 16*t.number;case"px":default:return t.number}return t.number},sKe="deg",cKe="grad",uKe="rad",dKe="turn",V$={name:"angle",parse:function(t,e){if(e.type===15)switch(e.unit){case sKe:return Math.PI*e.number/180;case cKe:return Math.PI/200*e.number;case uKe:return e.number;case dKe:return Math.PI*2*e.number}throw new Error("Unsupported angle type")}},fKe=function(t){return t.type===15&&(t.unit===sKe||t.unit===cKe||t.unit===uKe||t.unit===dKe)},hKe=function(t){var e=t.filter(As).map(function(n){return n.value}).join(" ");switch(e){case"to bottom right":case"to right bottom":case"left top":case"top left":return[of,of];case"to top":case"bottom":return Em(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[of,gw];case"to right":case"left":return Em(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[gw,gw];case"to bottom":case"top":return Em(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[gw,of];case"to left":case"right":return Em(270)}return 0},Em=function(t){return Math.PI*t/180},Lw={name:"color",parse:function(t,e){if(e.type===18){var n=lXt[e.name];if(typeof n>"u")throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return n(t,e.values)}if(e.type===5){if(e.value.length===3){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),1)}if(e.value.length===4){var o=e.value.substring(0,1),i=e.value.substring(1,2),r=e.value.substring(2,3),a=e.value.substring(3,4);return mw(parseInt(o+o,16),parseInt(i+i,16),parseInt(r+r,16),parseInt(a+a,16)/255)}if(e.value.length===6){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),1)}if(e.value.length===8){var o=e.value.substring(0,2),i=e.value.substring(2,4),r=e.value.substring(4,6),a=e.value.substring(6,8);return mw(parseInt(o,16),parseInt(i,16),parseInt(r,16),parseInt(a,16)/255)}}if(e.type===20){var l=R6[e.value.toUpperCase()];if(typeof l<"u")return l}return R6.TRANSPARENT}},Ww=function(t){return(255&t)===0},cd=function(t){var e=255&t,n=255&t>>8,o=255&t>>16,i=255&t>>24;return e<255?"rgba("+i+","+o+","+n+","+e/255+")":"rgb("+i+","+o+","+n+")"},mw=function(t,e,n,o){return(t<<24|e<<16|n<<8|Math.round(o*255)<<0)>>>0},fbe=function(t,e){if(t.type===17)return t.number;if(t.type===16){var n=e===3?1:255;return e===3?t.number/100*n:Math.round(t.number/100*n)}return 0},hbe=function(t,e){var n=e.filter(cR);if(n.length===3){var o=n.map(fbe),i=o[0],r=o[1],a=o[2];return mw(i,r,a,1)}if(n.length===4){var l=n.map(fbe),i=l[0],r=l[1],a=l[2],s=l[3];return mw(i,r,a,s)}return 0};function cre(t,e,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(e-t)*n*6+t:n<1/2?e:n<2/3?(e-t)*6*(2/3-n)+t:t}var pbe=function(t,e){var n=e.filter(cR),o=n[0],i=n[1],r=n[2],a=n[3],l=(o.type===17?Em(o.number):V$.parse(t,o))/(Math.PI*2),s=iu(i)?i.number/100:0,c=iu(r)?r.number/100:0,u=typeof a<"u"&&iu(a)?Ys(a,1):1;if(s===0)return mw(c*255,c*255,c*255,1);var d=c<=.5?c*(s+1):c+s-c*s,f=c*2-d,p=cre(f,d,l+1/3),g=cre(f,d,l),A=cre(f,d,l-1/3);return mw(p*255,g*255,A*255,u)},lXt={hsl:pbe,hsla:pbe,rgb:hbe,rgba:hbe},pE=function(t,e){return Lw.parse(t,rKe.create(e).parseComponentValue())},R6={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},sXt={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},cXt={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},G$=function(t,e){var n=Lw.parse(t,e[0]),o=e[1];return o&&iu(o)?{color:n,stop:o}:{color:n,stop:null}},gbe=function(t,e){var n=t[0],o=t[t.length-1];n.stop===null&&(n.stop=of),o.stop===null&&(o.stop=gw);for(var i=[],r=0,a=0;ar?i.push(s):i.push(r),r=s}else i.push(null)}for(var c=null,a=0;aa.optimumDistance)?{optimumCorner:l,optimumDistance:u}:a},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},fXt=function(t,e,n,o,i){var r=0,a=0;switch(t.size){case 0:t.shape===0?r=a=Math.min(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.min(Math.abs(e),Math.abs(e-o)),a=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(t.shape===0)r=a=Math.min(Xy(e,n),Xy(e,n-i),Xy(e-o,n),Xy(e-o,n-i));else if(t.shape===1){var l=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(e),Math.abs(e-o)),s=mbe(o,i,e,n,!0),c=s[0],u=s[1];r=Xy(c-e,(u-n)/l),a=l*r}break;case 1:t.shape===0?r=a=Math.max(Math.abs(e),Math.abs(e-o),Math.abs(n),Math.abs(n-i)):t.shape===1&&(r=Math.max(Math.abs(e),Math.abs(e-o)),a=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(t.shape===0)r=a=Math.max(Xy(e,n),Xy(e,n-i),Xy(e-o,n),Xy(e-o,n-i));else if(t.shape===1){var l=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(e),Math.abs(e-o)),d=mbe(o,i,e,n,!1),c=d[0],u=d[1];r=Xy(c-e,(u-n)/l),a=l*r}break}return Array.isArray(t.size)&&(r=Ys(t.size[0],o),a=t.size.length===2?Ys(t.size[1],i):r),[r,a]},hXt=function(t,e){var n=Em(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&a.value==="to"){n=hKe(i);return}else if(fKe(a)){n=V$.parse(t,a);return}}var l=G$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},OY=function(t,e){var n=Em(180),o=[];return l3(e).forEach(function(i,r){if(r===0){var a=i[0];if(a.type===20&&["top","left","right","bottom"].indexOf(a.value)!==-1){n=hKe(i);return}else if(fKe(a)){n=(V$.parse(t,a)+Em(270))%Em(360);return}}var l=G$(t,i);o.push(l)}),{angle:n,stops:o,type:1}},pXt=function(t,e){var n=Em(180),o=[],i=1,r=0,a=3,l=[];return l3(e).forEach(function(s,c){var u=s[0];if(c===0){if(As(u)&&u.value==="linear"){i=1;return}else if(As(u)&&u.value==="radial"){i=2;return}}if(u.type===18){if(u.name==="from"){var d=Lw.parse(t,u.values[0]);o.push({stop:of,color:d})}else if(u.name==="to"){var d=Lw.parse(t,u.values[0]);o.push({stop:gw,color:d})}else if(u.name==="color-stop"){var f=u.values.filter(cR);if(f.length===2){var d=Lw.parse(t,f[1]),p=f[0];NH(p)&&o.push({stop:{type:16,number:p.number*100,flags:p.flags},color:d})}}}}),i===1?{angle:(n+Em(180))%Em(360),stops:o,type:i}:{size:a,shape:r,stops:o,position:l,type:i}},pKe="closest-side",gKe="farthest-side",mKe="closest-corner",yKe="farthest-corner",AKe="circle",wKe="ellipse",vKe="cover",xKe="contain",gXt=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0){var c=!1;s=a.reduce(function(d,f){if(c)if(As(f))switch(f.value){case"center":return r.push(Qme),d;case"top":case"left":return r.push(of),d;case"right":case"bottom":return r.push(gw),d}else(iu(f)||a7(f))&&r.push(f);else if(As(f))switch(f.value){case AKe:return n=0,!1;case wKe:return n=1,!1;case"at":return c=!0,!1;case pKe:return o=0,!1;case vKe:case gKe:return o=1,!1;case xKe:case mKe:return o=2,!1;case yKe:return o=3,!1}else if(a7(f)||iu(f))return Array.isArray(o)||(o=[]),o.push(f),!1;return d},s)}if(s){var u=G$(t,a);i.push(u)}}),{size:o,shape:n,stops:i,position:r,type:2}},_Y=function(t,e){var n=0,o=3,i=[],r=[];return l3(e).forEach(function(a,l){var s=!0;if(l===0?s=a.reduce(function(u,d){if(As(d))switch(d.value){case"center":return r.push(Qme),!1;case"top":case"left":return r.push(of),!1;case"right":case"bottom":return r.push(gw),!1}else if(iu(d)||a7(d))return r.push(d),!1;return u},s):l===1&&(s=a.reduce(function(u,d){if(As(d))switch(d.value){case AKe:return n=0,!1;case wKe:return n=1,!1;case xKe:case pKe:return o=0,!1;case gKe:return o=1,!1;case mKe:return o=2,!1;case vKe:case yKe:return o=3,!1}else if(a7(d)||iu(d))return Array.isArray(o)||(o=[]),o.push(d),!1;return u},s)),s){var c=G$(t,a);i.push(c)}}),{size:o,shape:n,stops:i,position:r,type:2}},mXt=function(t){return t.type===1},yXt=function(t){return t.type===2},Zme={name:"image",parse:function(t,e){if(e.type===22){var n={url:e.value,type:0};return t.cache.addImage(e.value),n}if(e.type===18){var o=bKe[e.name];if(typeof o>"u")throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return o(t,e.values)}throw new Error("Unsupported image type "+e.type)}};function AXt(t){return!(t.type===20&&t.value==="none")&&(t.type!==18||!!bKe[t.name])}var bKe={"linear-gradient":hXt,"-moz-linear-gradient":OY,"-ms-linear-gradient":OY,"-o-linear-gradient":OY,"-webkit-linear-gradient":OY,"radial-gradient":gXt,"-moz-radial-gradient":_Y,"-ms-radial-gradient":_Y,"-o-radial-gradient":_Y,"-webkit-radial-gradient":_Y,"-webkit-gradient":pXt},wXt={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e.filter(function(o){return cR(o)&&AXt(o)}).map(function(o){return Zme.parse(t,o)})}},vXt={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(t,e){return e.map(function(n){if(As(n))switch(n.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},xXt={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(t,e){return l3(e).map(function(n){return n.filter(iu)}).map(lKe)}},bXt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(As).map(function(o){return o.value}).join(" ")}).map(SXt)}},SXt=function(t){switch(t){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},vC;(function(t){t.AUTO="auto",t.CONTAIN="contain",t.COVER="cover"})(vC||(vC={}));var TXt={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(t,e){return l3(e).map(function(n){return n.filter(PXt)})}},PXt=function(t){return As(t)||iu(t)},X$=function(t){return{name:"border-"+t+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},CXt=X$("top"),RXt=X$("right"),HXt=X$("bottom"),MXt=X$("left"),J$=function(t){return{name:"border-radius-"+t,initialValue:"0 0",prefix:!1,type:1,parse:function(e,n){return lKe(n.filter(iu))}}},IXt=J$("top-left"),zXt=J$("top-right"),DXt=J$("bottom-right"),EXt=J$("bottom-left"),K$=function(t){return{name:"border-"+t+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,n){switch(n){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},kXt=K$("top"),FXt=K$("right"),LXt=K$("bottom"),WXt=K$("left"),q$=function(t){return{name:"border-"+t+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,n){return OW(n)?n.number:0}}},NXt=q$("top"),UXt=q$("right"),BXt=q$("bottom"),jXt=q$("left"),YXt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},OXt={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(t,e){switch(e){case"rtl":return 1;case"ltr":default:return 0}}},_Xt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(t,e){return e.filter(As).reduce(function(n,o){return n|VXt(o.value)},0)}},VXt=function(t){switch(t){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},GXt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},XXt={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(t,e){return e.type===20&&e.value==="normal"?0:e.type===17||e.type===15?e.number:0}},LG;(function(t){t.NORMAL="normal",t.STRICT="strict"})(LG||(LG={}));var JXt={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"strict":return LG.STRICT;case"normal":default:return LG.NORMAL}}},KXt={name:"line-height",initialValue:"normal",prefix:!1,type:4},ybe=function(t,e){return As(t)&&t.value==="normal"?1.2*e:t.type===17?e*t.number:iu(t)?Ys(t,e):e},qXt={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(t,e){return e.type===20&&e.value==="none"?null:Zme.parse(t,e)}},$Xt={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(t,e){switch(e){case"inside":return 0;case"outside":default:return 1}}},vue={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},$$=function(t){return{name:"margin-"+t,initialValue:"0",prefix:!1,type:4}},QXt=$$("top"),ZXt=$$("right"),eJt=$$("bottom"),tJt=$$("left"),nJt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},oJt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-word":return"break-word";case"normal":default:return"normal"}}},Q$=function(t){return{name:"padding-"+t,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},iJt=Q$("top"),rJt=Q$("right"),aJt=Q$("bottom"),lJt=Q$("left"),sJt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(t,e){switch(e){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},cJt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(t,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},uJt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.length===1&&wue(e[0],"none")?[]:l3(e).map(function(n){for(var o={color:R6.TRANSPARENT,offsetX:of,offsetY:of,blur:of},i=0,r=0;r"u")throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return n(e.values)}return null}},hJt=function(t){var e=t.filter(function(n){return n.type===17}).map(function(n){return n.number});return e.length===6?e:null},pJt=function(t){var e=t.filter(function(s){return s.type===17}).map(function(s){return s.number}),n=e[0],o=e[1];e[2],e[3];var i=e[4],r=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var a=e[12],l=e[13];return e[14],e[15],e.length===16?[n,o,i,r,a,l]:null},gJt={matrix:hJt,matrix3d:pJt},Abe={type:16,number:50,flags:YW},mJt=[Abe,Abe],yJt={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(t,e){var n=e.filter(iu);return n.length!==2?mJt:[n[0],n[1]]}},AJt={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(t,e){switch(e){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},gE;(function(t){t.NORMAL="normal",t.BREAK_ALL="break-all",t.KEEP_ALL="keep-all"})(gE||(gE={}));var wJt={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"break-all":return gE.BREAK_ALL;case"keep-all":return gE.KEEP_ALL;case"normal":default:return gE.NORMAL}}},vJt={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(t,e){if(e.type===20)return{auto:!0,order:0};if(NH(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},SKe={name:"time",parse:function(t,e){if(e.type===15)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},xJt={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(t,e){return NH(e)?e.number:1}},bJt={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},SJt={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(t,e){return e.filter(As).map(function(n){switch(n.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(n){return n!==0})}},TJt={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(t,e){var n=[],o=[];return e.forEach(function(i){switch(i.type){case 20:case 0:n.push(i.value);break;case 17:n.push(i.number.toString());break;case 4:o.push(n.join(" ")),n.length=0;break}}),n.length&&o.push(n.join(" ")),o.map(function(i){return i.indexOf(" ")===-1?i:"'"+i+"'"})}},PJt={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},CJt={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(t,e){if(NH(e))return e.number;if(As(e))switch(e.value){case"bold":return 700;case"normal":default:return 400}return 400}},RJt={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(t,e){return e.filter(As).map(function(n){return n.value})}},HJt={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(t,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},zu=function(t,e){return(t&e)!==0},MJt={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(t,e){if(e.length===0)return[];var n=e[0];return n.type===20&&n.value==="none"?[]:e}},IJt={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(t,e){if(e.length===0)return null;var n=e[0];if(n.type===20&&n.value==="none")return null;for(var o=[],i=e.filter(aKe),r=0;r1?1:0],this.overflowWrap=Di(e,oJt,n.overflowWrap),this.paddingTop=Di(e,iJt,n.paddingTop),this.paddingRight=Di(e,rJt,n.paddingRight),this.paddingBottom=Di(e,aJt,n.paddingBottom),this.paddingLeft=Di(e,lJt,n.paddingLeft),this.paintOrder=Di(e,FJt,n.paintOrder),this.position=Di(e,cJt,n.position),this.textAlign=Di(e,sJt,n.textAlign),this.textDecorationColor=Di(e,bJt,(o=n.textDecorationColor)!==null&&o!==void 0?o:n.color),this.textDecorationLine=Di(e,SJt,(i=n.textDecorationLine)!==null&&i!==void 0?i:n.textDecoration),this.textShadow=Di(e,uJt,n.textShadow),this.textTransform=Di(e,dJt,n.textTransform),this.transform=Di(e,fJt,n.transform),this.transformOrigin=Di(e,yJt,n.transformOrigin),this.visibility=Di(e,AJt,n.visibility),this.webkitTextStrokeColor=Di(e,LJt,n.webkitTextStrokeColor),this.webkitTextStrokeWidth=Di(e,WJt,n.webkitTextStrokeWidth),this.wordBreak=Di(e,wJt,n.wordBreak),this.zIndex=Di(e,vJt,n.zIndex)}return t.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},t.prototype.isTransparent=function(){return Ww(this.backgroundColor)},t.prototype.isTransformed=function(){return this.transform!==null},t.prototype.isPositioned=function(){return this.position!==0},t.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},t.prototype.isFloating=function(){return this.float!==0},t.prototype.isInlineLevel=function(){return zu(this.display,4)||zu(this.display,33554432)||zu(this.display,268435456)||zu(this.display,536870912)||zu(this.display,67108864)||zu(this.display,134217728)},t}(),UJt=function(){function t(e,n){this.content=Di(e,MJt,n.content),this.quotes=Di(e,EJt,n.quotes)}return t}(),vbe=function(){function t(e,n){this.counterIncrement=Di(e,IJt,n.counterIncrement),this.counterReset=Di(e,zJt,n.counterReset)}return t}(),Di=function(t,e,n){var o=new iKe,i=n!==null&&typeof n<"u"?n.toString():e.initialValue;o.write(i);var r=new rKe(o.read());switch(e.type){case 2:var a=r.parseComponentValue();return e.parse(t,As(a)?a.value:e.initialValue);case 0:return e.parse(t,r.parseComponentValue());case 1:return e.parse(t,r.parseComponentValues());case 4:return r.parseComponentValue();case 3:switch(e.format){case"angle":return V$.parse(t,r.parseComponentValue());case"color":return Lw.parse(t,r.parseComponentValue());case"image":return Zme.parse(t,r.parseComponentValue());case"length":var l=r.parseComponentValue();return a7(l)?l:of;case"length-percentage":var s=r.parseComponentValue();return iu(s)?s:of;case"time":return SKe.parse(t,r.parseComponentValue())}break}},BJt="data-html2canvas-debug",jJt=function(t){var e=t.getAttribute(BJt);switch(e){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},xue=function(t,e){var n=jJt(t);return n===1||e===n},s3=function(){function t(e,n){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,xue(n,3))debugger;this.styles=new NJt(e,window.getComputedStyle(n,null)),Tue(n)&&(this.styles.animationDuration.some(function(o){return o>0})&&(n.style.animationDuration="0s"),this.styles.transform!==null&&(n.style.transform="none")),this.bounds=O$(this.context,n),xue(n,4)&&(this.flags|=16)}return t}(),YJt="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",xbe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",SD=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var VY=0;VY>4,u[i++]=(a&15)<<4|l>>2,u[i++]=(l&3)<<6|s&63;return c},_Jt=function(t){for(var e=t.length,n=[],o=0;o>gx,XJt=1<>gx,KJt=TKe+JJt,qJt=KJt,$Jt=32,QJt=qJt+$Jt,ZJt=65536>>eye,eKt=1<=0){if(e<55296||e>56319&&e<=65535)return n=this.index[e>>gx],n=(n<>gx)],n=(n<>eye),n=this.index[n],n+=e>>gx&tKt,n=this.index[n],n=(n<"u"?[]:new Uint8Array(256);for(var GY=0;GY=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(i+1===n||o.length>16384)&&(r+=String.fromCharCode.apply(String,o),o.length=0)}return r},uKt=oKt(YJt),Am="×",yre="÷",dKt=function(t){return uKt.get(t)},fKt=function(t,e,n){var o=n-2,i=e[o],r=e[n-1],a=e[n];if(r===fre&&a===hre)return Am;if(r===fre||r===hre||r===Tbe||a===fre||a===hre||a===Tbe)return yre;if(r===Cbe&&[Cbe,pre,Rbe,Hbe].indexOf(a)!==-1||(r===Rbe||r===pre)&&(a===pre||a===gre)||(r===Hbe||r===gre)&&a===gre||a===Mbe||a===Pbe||a===lKt||r===aKt)return Am;if(r===Mbe&&a===Ibe){for(;i===Pbe;)i=e[--o];if(i===Ibe)return Am}if(r===mre&&a===mre){for(var l=0;i===mre;)l++,i=e[--o];if(l%2===0)return Am}return yre},hKt=function(t){var e=sKt(t),n=e.length,o=0,i=0,r=e.map(dKt);return{next:function(){if(o>=n)return{done:!0,value:null};for(var a=Am;oa.x||u.y>a.y;return a=u,c===0?!0:d});return t.body.removeChild(e),l},yKt=function(){return typeof new Image().crossOrigin<"u"},AKt=function(){return typeof new XMLHttpRequest().responseType=="string"},wKt=function(t){var e=new Image,n=t.createElement("canvas"),o=n.getContext("2d");if(!o)return!1;e.src="data:image/svg+xml,";try{o.drawImage(e,0,0),n.toDataURL()}catch{return!1}return!0},zbe=function(t){return t[0]===0&&t[1]===255&&t[2]===0&&t[3]===255},vKt=function(t){var e=t.createElement("canvas"),n=100;e.width=n,e.height=n;var o=e.getContext("2d");if(!o)return Promise.reject(!1);o.fillStyle="rgb(0, 255, 0)",o.fillRect(0,0,n,n);var i=new Image,r=e.toDataURL();i.src=r;var a=bue(n,n,0,0,i);return o.fillStyle="red",o.fillRect(0,0,n,n),Dbe(a).then(function(l){o.drawImage(l,0,0);var s=o.getImageData(0,0,n,n).data;o.fillStyle="red",o.fillRect(0,0,n,n);var c=t.createElement("div");return c.style.backgroundImage="url("+r+")",c.style.height=n+"px",zbe(s)?Dbe(bue(n,n,0,0,c)):Promise.reject(!1)}).then(function(l){return o.drawImage(l,0,0),zbe(o.getImageData(0,0,n,n).data)}).catch(function(){return!1})},bue=function(t,e,n,o,i){var r="http://www.w3.org/2000/svg",a=document.createElementNS(r,"svg"),l=document.createElementNS(r,"foreignObject");return a.setAttributeNS(null,"width",t.toString()),a.setAttributeNS(null,"height",e.toString()),l.setAttributeNS(null,"width","100%"),l.setAttributeNS(null,"height","100%"),l.setAttributeNS(null,"x",n.toString()),l.setAttributeNS(null,"y",o.toString()),l.setAttributeNS(null,"externalResourcesRequired","true"),a.appendChild(l),l.appendChild(i),a},Dbe=function(t){return new Promise(function(e,n){var o=new Image;o.onload=function(){return e(o)},o.onerror=n,o.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(t))})},Zd={get SUPPORT_RANGE_BOUNDS(){var t=gKt(document);return Object.defineProperty(Zd,"SUPPORT_RANGE_BOUNDS",{value:t}),t},get SUPPORT_WORD_BREAKING(){var t=Zd.SUPPORT_RANGE_BOUNDS&&mKt(document);return Object.defineProperty(Zd,"SUPPORT_WORD_BREAKING",{value:t}),t},get SUPPORT_SVG_DRAWING(){var t=wKt(document);return Object.defineProperty(Zd,"SUPPORT_SVG_DRAWING",{value:t}),t},get SUPPORT_FOREIGNOBJECT_DRAWING(){var t=typeof Array.from=="function"&&typeof window.fetch=="function"?vKt(document):Promise.resolve(!1);return Object.defineProperty(Zd,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:t}),t},get SUPPORT_CORS_IMAGES(){var t=yKt();return Object.defineProperty(Zd,"SUPPORT_CORS_IMAGES",{value:t}),t},get SUPPORT_RESPONSE_TYPE(){var t=AKt();return Object.defineProperty(Zd,"SUPPORT_RESPONSE_TYPE",{value:t}),t},get SUPPORT_CORS_XHR(){var t="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Zd,"SUPPORT_CORS_XHR",{value:t}),t},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var t=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(Zd,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:t}),t}},mE=function(){function t(e,n){this.text=e,this.bounds=n}return t}(),xKt=function(t,e,n,o){var i=TKt(e,n),r=[],a=0;return i.forEach(function(l){if(n.textDecorationLine.length||l.trim().length>0)if(Zd.SUPPORT_RANGE_BOUNDS){var s=Ebe(o,a,l.length).getClientRects();if(s.length>1){var c=tye(l),u=0;c.forEach(function(f){r.push(new mE(f,$6.fromDOMRectList(t,Ebe(o,u+a,f.length).getClientRects()))),u+=f.length})}else r.push(new mE(l,$6.fromDOMRectList(t,s)))}else{var d=o.splitText(l.length);r.push(new mE(l,bKt(t,o))),o=d}else Zd.SUPPORT_RANGE_BOUNDS||(o=o.splitText(l.length));a+=l.length}),r},bKt=function(t,e){var n=e.ownerDocument;if(n){var o=n.createElement("html2canvaswrapper");o.appendChild(e.cloneNode(!0));var i=e.parentNode;if(i){i.replaceChild(o,e);var r=O$(t,o);return o.firstChild&&i.replaceChild(o.firstChild,o),r}}return $6.EMPTY},Ebe=function(t,e,n){var o=t.ownerDocument;if(!o)throw new Error("Node has no owner document");var i=o.createRange();return i.setStart(t,e),i.setEnd(t,e+n),i},tye=function(t){if(Zd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(t)).map(function(n){return n.segment})}return pKt(t)},SKt=function(t,e){if(Zd.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(t)).map(function(o){return o.segment})}return CKt(t,e)},TKt=function(t,e){return e.letterSpacing!==0?tye(t):SKt(t,e)},PKt=[32,160,4961,65792,65793,4153,4241],CKt=function(t,e){for(var n=ZVt(t,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap==="break-word"?"break-word":e.wordBreak}),o=[],i,r=function(){if(i.value){var a=i.value.slice(),l=_$(a),s="";l.forEach(function(c){PKt.indexOf(c)===-1?s+=E0(c):(s.length&&o.push(s),o.push(E0(c)),s="")}),s.length&&o.push(s)}};!(i=n.next()).done;)r();return o},RKt=function(){function t(e,n,o){this.text=HKt(n.data,o.textTransform),this.textBounds=xKt(e,this.text,o,n)}return t}(),HKt=function(t,e){switch(e){case 1:return t.toLowerCase();case 3:return t.replace(MKt,IKt);case 2:return t.toUpperCase();default:return t}},MKt=/(^|\s|:|-|\(|\))([a-z])/g,IKt=function(t,e,n){return t.length>0?e+n.toUpperCase():t},PKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.src=o.currentSrc||o.src,i.intrinsicWidth=o.naturalWidth,i.intrinsicHeight=o.naturalHeight,i.context.cache.addImage(i.src),i}return e}(s3),CKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.canvas=o,i.intrinsicWidth=o.width,i.intrinsicHeight=o.height,i}return e}(s3),RKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this,r=new XMLSerializer,a=O$(n,o);return o.setAttribute("width",a.width+"px"),o.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(o)),i.intrinsicWidth=o.width.baseVal.value,i.intrinsicHeight=o.height.baseVal.value,i.context.cache.addImage(i.svg),i}return e}(s3),HKe=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.value=o.value,i}return e}(s3),Sue=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i.start=o.start,i.reversed=typeof o.reversed=="boolean"&&o.reversed===!0,i}return e}(s3),zKt=[{type:15,flags:0,unit:"px",number:3}],DKt=[{type:16,flags:0,number:50}],EKt=function(t){return t.width>t.height?new $6(t.left+(t.width-t.height)/2,t.top,t.height,t.height):t.width0)n.textNodes.push(new RKt(t,i,n.styles));else if(JP(i))if(NKe(i)&&i.assignedNodes)i.assignedNodes().forEach(function(l){return j_(t,l,n,o)});else{var a=DKe(t,i);a.styles.isVisible()&&(WKt(i,a,o)?a.flags|=4:NKt(a.styles)&&(a.flags|=2),LKt.indexOf(i.tagName)!==-1&&(a.flags|=8),n.elements.push(a),i.slot,i.shadowRoot?j_(t,i.shadowRoot,a,o):!UG(i)&&!FKe(i)&&!BG(i)&&j_(t,i,a,o))}},DKe=function(t,e){return Pue(e)?new PKe(t,e):LKe(e)?new CKe(t,e):FKe(e)?new RKe(t,e):UKt(e)?new HKe(t,e):BKt(e)?new Sue(t,e):jKt(e)?new nye(t,e):BG(e)?new MKe(t,e):UG(e)?new IKe(t,e):WKe(e)?new zKe(t,e):new s3(t,e)},EKe=function(t,e){var n=DKe(t,e);return n.flags|=4,j_(t,e,n,n),n},WKt=function(t,e,n){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||oye(t)&&n.styles.isTransparent()},NKt=function(t){return t.isPositioned()||t.isFloating()},kKe=function(t){return t.nodeType===Node.TEXT_NODE},JP=function(t){return t.nodeType===Node.ELEMENT_NODE},Tue=function(t){return JP(t)&&typeof t.style<"u"&&!Y_(t)},Y_=function(t){return typeof t.className=="object"},UKt=function(t){return t.tagName==="LI"},BKt=function(t){return t.tagName==="OL"},jKt=function(t){return t.tagName==="INPUT"},YKt=function(t){return t.tagName==="HTML"},FKe=function(t){return t.tagName==="svg"},oye=function(t){return t.tagName==="BODY"},LKe=function(t){return t.tagName==="CANVAS"},Fbe=function(t){return t.tagName==="VIDEO"},Pue=function(t){return t.tagName==="IMG"},WKe=function(t){return t.tagName==="IFRAME"},Lbe=function(t){return t.tagName==="STYLE"},OKt=function(t){return t.tagName==="SCRIPT"},UG=function(t){return t.tagName==="TEXTAREA"},BG=function(t){return t.tagName==="SELECT"},NKe=function(t){return t.tagName==="SLOT"},Wbe=function(t){return t.tagName.indexOf("-")>0},_Kt=function(){function t(){this.counters={}}return t.prototype.getCounterValue=function(e){var n=this.counters[e];return n&&n.length?n[n.length-1]:1},t.prototype.getCounterValues=function(e){var n=this.counters[e];return n||[]},t.prototype.pop=function(e){var n=this;e.forEach(function(o){return n.counters[o].pop()})},t.prototype.parse=function(e){var n=this,o=e.counterIncrement,i=e.counterReset,r=!0;o!==null&&o.forEach(function(l){var s=n.counters[l.counter];s&&l.increment!==0&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=l.increment)});var a=[];return r&&i.forEach(function(l){var s=n.counters[l.counter];a.push(l.counter),s||(s=n.counters[l.counter]=[]),s.push(l.reset)}),a},t}(),Nbe={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ube={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},VKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},GKt={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},ET=function(t,e,n,o,i,r){return tn?nF(t,i,r.length>0):o.integers.reduce(function(a,l,s){for(;t>=l;)t-=l,a+=o.values[s];return a},"")+r},UKe=function(t,e,n,o){var i="";do n||t--,i=o(t)+i,t/=e;while(t*e>=e);return i},I0=function(t,e,n,o,i){var r=n-e+1;return(t<0?"-":"")+(UKe(Math.abs(t),r,o,function(a){return E0(Math.floor(a%r)+e)})+i)},_8=function(t,e,n){n===void 0&&(n=". ");var o=e.length;return UKe(Math.abs(t),o,!1,function(i){return e[Math.floor(i%o)]})+n},QT=1,D4=2,E4=4,TD=8,Q3=function(t,e,n,o,i,r){if(t<-9999||t>9999)return nF(t,4,i.length>0);var a=Math.abs(t),l=i;if(a===0)return e[0]+l;for(var s=0;a>0&&s<=4;s++){var c=a%10;c===0&&zu(r,QT)&&l!==""?l=e[c]+l:c>1||c===1&&s===0||c===1&&s===1&&zu(r,D4)||c===1&&s===1&&zu(r,E4)&&t>100||c===1&&s>1&&zu(r,TD)?l=e[c]+(s>0?n[s-1]:"")+l:c===1&&s>0&&(l=n[s-1]+l),a=Math.floor(a/10)}return(t<0?o:"")+l},Bbe="十百千萬",jbe="拾佰仟萬",Ybe="マイナス",Are="마이너스",nF=function(t,e,n){var o=n?". ":"",i=n?"、":"",r=n?", ":"",a=n?" ":"";switch(e){case 0:return"•"+a;case 1:return"◦"+a;case 2:return"◾"+a;case 5:var l=I0(t,48,57,!0,o);return l.length<4?"0"+l:l;case 4:return _8(t,"〇一二三四五六七八九",i);case 6:return ET(t,1,3999,Nbe,3,o).toLowerCase();case 7:return ET(t,1,3999,Nbe,3,o);case 8:return I0(t,945,969,!1,o);case 9:return I0(t,97,122,!1,o);case 10:return I0(t,65,90,!1,o);case 11:return I0(t,1632,1641,!0,o);case 12:case 49:return ET(t,1,9999,Ube,3,o);case 35:return ET(t,1,9999,Ube,3,o).toLowerCase();case 13:return I0(t,2534,2543,!0,o);case 14:case 30:return I0(t,6112,6121,!0,o);case 15:return _8(t,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return _8(t,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return Q3(t,"零一二三四五六七八九",Bbe,"負",i,D4|E4|TD);case 47:return Q3(t,"零壹貳參肆伍陸柒捌玖",jbe,"負",i,QT|D4|E4|TD);case 42:return Q3(t,"零一二三四五六七八九",Bbe,"负",i,D4|E4|TD);case 41:return Q3(t,"零壹贰叁肆伍陆柒捌玖",jbe,"负",i,QT|D4|E4|TD);case 26:return Q3(t,"〇一二三四五六七八九","十百千万",Ybe,i,0);case 25:return Q3(t,"零壱弐参四伍六七八九","拾百千万",Ybe,i,QT|D4|E4);case 31:return Q3(t,"영일이삼사오육칠팔구","십백천만",Are,r,QT|D4|E4);case 33:return Q3(t,"零一二三四五六七八九","十百千萬",Are,r,0);case 32:return Q3(t,"零壹貳參四五六七八九","拾百千",Are,r,QT|D4|E4);case 18:return I0(t,2406,2415,!0,o);case 20:return ET(t,1,19999,GKt,3,o);case 21:return I0(t,2790,2799,!0,o);case 22:return I0(t,2662,2671,!0,o);case 22:return ET(t,1,10999,VKt,3,o);case 23:return _8(t,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return _8(t,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return I0(t,3302,3311,!0,o);case 28:return _8(t,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return _8(t,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return I0(t,3792,3801,!0,o);case 37:return I0(t,6160,6169,!0,o);case 38:return I0(t,4160,4169,!0,o);case 39:return I0(t,2918,2927,!0,o);case 40:return I0(t,1776,1785,!0,o);case 43:return I0(t,3046,3055,!0,o);case 44:return I0(t,3174,3183,!0,o);case 45:return I0(t,3664,3673,!0,o);case 46:return I0(t,3872,3881,!0,o);case 3:default:return I0(t,48,57,!0,o)}},BKe="data-html2canvas-ignore",Obe=function(){function t(e,n,o){if(this.context=e,this.options=o,this.scrolledElements=[],this.referenceElement=n,this.counters=new _Kt,this.quoteDepth=0,!n.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(n.ownerDocument.documentElement,!1)}return t.prototype.toIFrame=function(e,n){var o=this,i=XKt(e,n);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,l=i.contentWindow,s=l.document,c=qKt(i).then(function(){return _h(o,void 0,void 0,function(){var u,d;return Xf(this,function(f){switch(f.label){case 0:return this.scrolledElements.forEach(eqt),l&&(l.scrollTo(n.left,n.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(l.scrollY!==n.top||l.scrollX!==n.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(l.scrollX-n.left,l.scrollY-n.top,0,0))),u=this.options.onclone,d=this.clonedReferenceElement,typeof d>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:s.fonts&&s.fonts.ready?[4,s.fonts.ready]:[3,2];case 1:f.sent(),f.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,KKt(s)]:[3,4];case 3:f.sent(),f.label=4;case 4:return typeof u=="function"?[2,Promise.resolve().then(function(){return u(s,d)}).then(function(){return i})]:[2,i]}})})});return s.open(),s.write(QKt(document.doctype)+""),ZKt(this.referenceElement.ownerDocument,r,a),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),c},t.prototype.createElementClone=function(e){if(xue(e,2))debugger;if(LKe(e))return this.createCanvasClone(e);if(Fbe(e))return this.createVideoClone(e);if(Lbe(e))return this.createStyleClone(e);var n=e.cloneNode(!1);return Pue(n)&&(Pue(e)&&e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc,n.srcset=""),n.loading==="lazy"&&(n.loading="eager")),Wbe(n)?this.createCustomElementClone(n):n},t.prototype.createCustomElementClone=function(e){var n=document.createElement("html2canvascustomelement");return wre(e.style,n),n},t.prototype.createStyleClone=function(e){try{var n=e.sheet;if(n&&n.cssRules){var o=[].slice.call(n.cssRules,0).reduce(function(r,a){return a&&typeof a.cssText=="string"?r+a.cssText:r},""),i=e.cloneNode(!1);return i.textContent=o,i}}catch(r){if(this.context.logger.error("Unable to access cssRules property",r),r.name!=="SecurityError")throw r}return e.cloneNode(!1)},t.prototype.createCanvasClone=function(e){var n;if(this.options.inlineImages&&e.ownerDocument){var o=e.ownerDocument.createElement("img");try{return o.src=e.toDataURL(),o}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&r)a.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var l=(n=e.getContext("webgl2"))!==null&&n!==void 0?n:e.getContext("webgl");if(l){var s=l.getContextAttributes();(s==null?void 0:s.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch{this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},t.prototype.createVideoClone=function(e){var n=e.ownerDocument.createElement("canvas");n.width=e.offsetWidth,n.height=e.offsetHeight;var o=n.getContext("2d");try{return o&&(o.drawImage(e,0,0,n.width,n.height),this.options.allowTaint||o.getImageData(0,0,n.width,n.height)),n}catch{this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},t.prototype.appendChildNode=function(e,n,o){(!JP(n)||!OKt(n)&&!n.hasAttribute(BKe)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(n)))&&(!this.options.copyStyles||!JP(n)||!Lbe(n))&&e.appendChild(this.cloneNode(n,o))},t.prototype.cloneChildNodes=function(e,n,o){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(JP(r)&&NKe(r)&&typeof r.assignedNodes=="function"){var a=r.assignedNodes();a.length&&a.forEach(function(l){return i.appendChildNode(n,l,o)})}else this.appendChildNode(n,r,o)},t.prototype.cloneNode=function(e,n){if(kKe(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var o=e.ownerDocument.defaultView;if(o&&JP(e)&&(Tue(e)||Y_(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=o.getComputedStyle(e),a=o.getComputedStyle(e,":before"),l=o.getComputedStyle(e,":after");this.referenceElement===e&&Tue(i)&&(this.clonedReferenceElement=i),oye(i)&&oqt(i);var s=this.counters.parse(new vbe(this.context,r)),c=this.resolvePseudoContent(e,i,a,yE.BEFORE);Wbe(e)&&(n=!0),Fbe(e)||this.cloneChildNodes(e,i,n),c&&i.insertBefore(c,i.firstChild);var u=this.resolvePseudoContent(e,i,l,yE.AFTER);return u&&i.appendChild(u),this.counters.pop(s),(r&&(this.options.copyStyles||Y_(e))&&!WKe(e)||n)&&wre(r,i),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(UG(e)||BG(e))&&(UG(i)||BG(i))&&(i.value=e.value),i}return e.cloneNode(!1)},t.prototype.resolvePseudoContent=function(e,n,o,i){var r=this;if(o){var a=o.content,l=n.ownerDocument;if(!(!l||!a||a==="none"||a==="-moz-alt-content"||o.display==="none")){this.counters.parse(new vbe(this.context,o));var s=new UJt(this.context,o),c=l.createElement("html2canvaspseudoelement");wre(o,c),s.content.forEach(function(d){if(d.type===0)c.appendChild(l.createTextNode(d.value));else if(d.type===22){var f=l.createElement("img");f.src=d.value,f.style.opacity="1",c.appendChild(f)}else if(d.type===18){if(d.name==="attr"){var p=d.values.filter(As);p.length&&c.appendChild(l.createTextNode(e.getAttribute(p[0].value)||""))}else if(d.name==="counter"){var g=d.values.filter(cR),A=g[0],w=g[1];if(A&&As(A)){var b=r.counters.getCounterValue(A.value),C=w&&As(w)?vue.parse(r.context,w.value):3;c.appendChild(l.createTextNode(nF(b,C,!1)))}}else if(d.name==="counters"){var P=d.values.filter(cR),A=P[0],v=P[1],w=P[2];if(A&&As(A)){var T=r.counters.getCounterValues(A.value),y=w&&As(w)?vue.parse(r.context,w.value):3,S=v&&v.type===0?v.value:"",x=T.map(function(D){return nF(D,y,!1)}).join(S);c.appendChild(l.createTextNode(x))}}}else if(d.type===20)switch(d.value){case"open-quote":c.appendChild(l.createTextNode(wbe(s.quotes,r.quoteDepth++,!0)));break;case"close-quote":c.appendChild(l.createTextNode(wbe(s.quotes,--r.quoteDepth,!1)));break;default:c.appendChild(l.createTextNode(d.value))}}),c.className=Cue+" "+Rue;var u=i===yE.BEFORE?" "+Cue:" "+Rue;return Y_(n)?n.className.baseValue+=u:n.className+=u,c}}},t.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},t}(),yE;(function(t){t[t.BEFORE=0]="BEFORE",t[t.AFTER=1]="AFTER"})(yE||(yE={}));var XKt=function(t,e){var n=t.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=e.width.toString(),n.height=e.height.toString(),n.scrolling="no",n.setAttribute(BKe,"true"),t.body.appendChild(n),n},JKt=function(t){return new Promise(function(e){if(t.complete){e();return}if(!t.src){e();return}t.onload=e,t.onerror=e})},KKt=function(t){return Promise.all([].slice.call(t.images,0).map(JKt))},qKt=function(t){return new Promise(function(e,n){var o=t.contentWindow;if(!o)return n("No window assigned for iframe");var i=o.document;o.onload=t.onload=function(){o.onload=t.onload=null;var r=setInterval(function(){i.body.childNodes.length>0&&i.readyState==="complete"&&(clearInterval(r),e(t))},50)}})},$Kt=["all","d","content"],wre=function(t,e){for(var n=t.length-1;n>=0;n--){var o=t.item(n);$Kt.indexOf(o)===-1&&e.style.setProperty(o,t.getPropertyValue(o))}return e},QKt=function(t){var e="";return t&&(e+=""),e},ZKt=function(t,e,n){t&&t.defaultView&&(e!==t.defaultView.pageXOffset||n!==t.defaultView.pageYOffset)&&t.defaultView.scrollTo(e,n)},eqt=function(t){var e=t[0],n=t[1],o=t[2];e.scrollLeft=n,e.scrollTop=o},tqt=":before",nqt=":after",Cue="___html2canvas___pseudoelement_before",Rue="___html2canvas___pseudoelement_after",_be=`{ content: "" !important; display: none !important; -}`,rqt=function(t){aqt(t,"."+Cue+oqt+_be+` - .`+Rue+iqt+_be)},aqt=function(t,e){var n=t.ownerDocument;if(n){var o=n.createElement("style");o.textContent=e,t.appendChild(o)}},OKe=function(){function t(){}return t.getOrigin=function(e){var n=t._link;return n?(n.href=e,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},t.isSameOrigin=function(e){return t.getOrigin(e)===t._origin},t.setContext=function(e){t._link=e.document.createElement("a"),t._origin=t.getOrigin(e.location.href)},t._origin="about:blank",t}(),lqt=function(){function t(e,n){this.context=e,this._options=n,this._cache={}}return t.prototype.addImage=function(e){var n=Promise.resolve();return this.has(e)||(xre(e)||dqt(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),n},t.prototype.match=function(e){return this._cache[e]},t.prototype.loadImage=function(e){return _h(this,void 0,void 0,function(){var n,o,i,r,a=this;return Xf(this,function(l){switch(l.label){case 0:return n=OKe.isSameOrigin(e),o=!vre(e)&&this._options.useCORS===!0&&Zd.SUPPORT_CORS_IMAGES&&!n,i=!vre(e)&&!n&&!xre(e)&&typeof this._options.proxy=="string"&&Zd.SUPPORT_CORS_XHR&&!o,!n&&this._options.allowTaint===!1&&!vre(e)&&!xre(e)&&!i&&!o?[2]:(r=e,i?[4,this.proxy(r)]:[3,2]);case 1:r=l.sent(),l.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(s,c){var u=new Image;u.onload=function(){return s(u)},u.onerror=c,(fqt(r)||o)&&(u.crossOrigin="anonymous"),u.src=r,u.complete===!0&&setTimeout(function(){return s(u)},500),a._options.imageTimeout>0&&setTimeout(function(){return c("Timed out ("+a._options.imageTimeout+"ms) loading image")},a._options.imageTimeout)})];case 3:return[2,l.sent()]}})})},t.prototype.has=function(e){return typeof this._cache[e]<"u"},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(e){var n=this,o=this._options.proxy;if(!o)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise(function(r,a){var l=Zd.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(s.status===200)if(l==="text")r(s.response);else{var d=new FileReader;d.addEventListener("load",function(){return r(d.result)},!1),d.addEventListener("error",function(f){return a(f)},!1),d.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var c=o.indexOf("?")>-1?"&":"?";if(s.open("GET",""+o+c+"url="+encodeURIComponent(e)+"&responseType="+l),l!=="text"&&s instanceof XMLHttpRequest&&(s.responseType=l),n._options.imageTimeout){var u=n._options.imageTimeout;s.timeout=u,s.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+i)}}s.send()})},t}(),sqt=/^data:image\/svg\+xml/i,cqt=/^data:image\/.*;base64,/i,uqt=/^data:image\/.*/i,dqt=function(t){return Zd.SUPPORT_SVG_DRAWING||!hqt(t)},vre=function(t){return uqt.test(t)},fqt=function(t){return cqt.test(t)},xre=function(t){return t.substr(0,4)==="blob"},hqt=function(t){return t.substr(-3).toLowerCase()==="svg"||sqt.test(t)},Ci=function(){function t(e,n){this.type=0,this.x=e,this.y=n}return t.prototype.add=function(e,n){return new t(this.x+e,this.y+n)},t}(),kT=function(t,e,n){return new Ci(t.x+(e.x-t.x)*n,t.y+(e.y-t.y)*n)},XY=function(){function t(e,n,o,i){this.type=1,this.start=e,this.startControl=n,this.endControl=o,this.end=i}return t.prototype.subdivide=function(e,n){var o=kT(this.start,this.startControl,e),i=kT(this.startControl,this.endControl,e),r=kT(this.endControl,this.end,e),a=kT(o,i,e),l=kT(i,r,e),s=kT(a,l,e);return n?new t(this.start,o,a,s):new t(s,l,r,this.end)},t.prototype.add=function(e,n){return new t(this.start.add(e,n),this.startControl.add(e,n),this.endControl.add(e,n),this.end.add(e,n))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),Sm=function(t){return t.type===1},pqt=function(){function t(e){var n=e.styles,o=e.bounds,i=bD(n.borderTopLeftRadius,o.width,o.height),r=i[0],a=i[1],l=bD(n.borderTopRightRadius,o.width,o.height),s=l[0],c=l[1],u=bD(n.borderBottomRightRadius,o.width,o.height),d=u[0],f=u[1],p=bD(n.borderBottomLeftRadius,o.width,o.height),g=p[0],A=p[1],w=[];w.push((r+s)/o.width),w.push((g+d)/o.width),w.push((a+A)/o.height),w.push((c+f)/o.height);var b=Math.max.apply(Math,w);b>1&&(r/=b,a/=b,s/=b,c/=b,d/=b,f/=b,g/=b,A/=b);var C=o.width-s,P=o.height-f,v=o.width-d,T=o.height-A,y=n.borderTopWidth,S=n.borderRightWidth,x=n.borderBottomWidth,R=n.borderLeftWidth,H=Ys(n.paddingTop,e.bounds.width),D=Ys(n.paddingRight,e.bounds.width),k=Ys(n.paddingBottom,e.bounds.width),W=Ys(n.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||a>0?kc(o.left+R/3,o.top+y/3,r-R/3,a-y/3,Kl.TOP_LEFT):new Ci(o.left+R/3,o.top+y/3),this.topRightBorderDoubleOuterBox=r>0||a>0?kc(o.left+C,o.top+y/3,s-S/3,c-y/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-S/3,o.top+y/3),this.bottomRightBorderDoubleOuterBox=d>0||f>0?kc(o.left+v,o.top+P,d-S/3,f-x/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S/3,o.top+o.height-x/3),this.bottomLeftBorderDoubleOuterBox=g>0||A>0?kc(o.left+R/3,o.top+T,g-R/3,A-x/3,Kl.BOTTOM_LEFT):new Ci(o.left+R/3,o.top+o.height-x/3),this.topLeftBorderDoubleInnerBox=r>0||a>0?kc(o.left+R*2/3,o.top+y*2/3,r-R*2/3,a-y*2/3,Kl.TOP_LEFT):new Ci(o.left+R*2/3,o.top+y*2/3),this.topRightBorderDoubleInnerBox=r>0||a>0?kc(o.left+C,o.top+y*2/3,s-S*2/3,c-y*2/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-S*2/3,o.top+y*2/3),this.bottomRightBorderDoubleInnerBox=d>0||f>0?kc(o.left+v,o.top+P,d-S*2/3,f-x*2/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S*2/3,o.top+o.height-x*2/3),this.bottomLeftBorderDoubleInnerBox=g>0||A>0?kc(o.left+R*2/3,o.top+T,g-R*2/3,A-x*2/3,Kl.BOTTOM_LEFT):new Ci(o.left+R*2/3,o.top+o.height-x*2/3),this.topLeftBorderStroke=r>0||a>0?kc(o.left+R/2,o.top+y/2,r-R/2,a-y/2,Kl.TOP_LEFT):new Ci(o.left+R/2,o.top+y/2),this.topRightBorderStroke=r>0||a>0?kc(o.left+C,o.top+y/2,s-S/2,c-y/2,Kl.TOP_RIGHT):new Ci(o.left+o.width-S/2,o.top+y/2),this.bottomRightBorderStroke=d>0||f>0?kc(o.left+v,o.top+P,d-S/2,f-x/2,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S/2,o.top+o.height-x/2),this.bottomLeftBorderStroke=g>0||A>0?kc(o.left+R/2,o.top+T,g-R/2,A-x/2,Kl.BOTTOM_LEFT):new Ci(o.left+R/2,o.top+o.height-x/2),this.topLeftBorderBox=r>0||a>0?kc(o.left,o.top,r,a,Kl.TOP_LEFT):new Ci(o.left,o.top),this.topRightBorderBox=s>0||c>0?kc(o.left+C,o.top,s,c,Kl.TOP_RIGHT):new Ci(o.left+o.width,o.top),this.bottomRightBorderBox=d>0||f>0?kc(o.left+v,o.top+P,d,f,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width,o.top+o.height),this.bottomLeftBorderBox=g>0||A>0?kc(o.left,o.top+T,g,A,Kl.BOTTOM_LEFT):new Ci(o.left,o.top+o.height),this.topLeftPaddingBox=r>0||a>0?kc(o.left+R,o.top+y,Math.max(0,r-R),Math.max(0,a-y),Kl.TOP_LEFT):new Ci(o.left+R,o.top+y),this.topRightPaddingBox=s>0||c>0?kc(o.left+Math.min(C,o.width-S),o.top+y,C>o.width+S?0:Math.max(0,s-S),Math.max(0,c-y),Kl.TOP_RIGHT):new Ci(o.left+o.width-S,o.top+y),this.bottomRightPaddingBox=d>0||f>0?kc(o.left+Math.min(v,o.width-R),o.top+Math.min(P,o.height-x),Math.max(0,d-S),Math.max(0,f-x),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S,o.top+o.height-x),this.bottomLeftPaddingBox=g>0||A>0?kc(o.left+R,o.top+Math.min(T,o.height-x),Math.max(0,g-R),Math.max(0,A-x),Kl.BOTTOM_LEFT):new Ci(o.left+R,o.top+o.height-x),this.topLeftContentBox=r>0||a>0?kc(o.left+R+W,o.top+y+H,Math.max(0,r-(R+W)),Math.max(0,a-(y+H)),Kl.TOP_LEFT):new Ci(o.left+R+W,o.top+y+H),this.topRightContentBox=s>0||c>0?kc(o.left+Math.min(C,o.width+R+W),o.top+y+H,C>o.width+R+W?0:s-R+W,c-(y+H),Kl.TOP_RIGHT):new Ci(o.left+o.width-(S+D),o.top+y+H),this.bottomRightContentBox=d>0||f>0?kc(o.left+Math.min(v,o.width-(R+W)),o.top+Math.min(P,o.height+y+H),Math.max(0,d-(S+D)),f-(x+k),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-(S+D),o.top+o.height-(x+k)),this.bottomLeftContentBox=g>0||A>0?kc(o.left+R+W,o.top+T,Math.max(0,g-(R+W)),A-(x+k),Kl.BOTTOM_LEFT):new Ci(o.left+R+W,o.top+o.height-(x+k))}return t}(),Kl;(function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Kl||(Kl={}));var kc=function(t,e,n,o,i){var r=4*((Math.sqrt(2)-1)/3),a=n*r,l=o*r,s=t+n,c=e+o;switch(i){case Kl.TOP_LEFT:return new XY(new Ci(t,c),new Ci(t,c-l),new Ci(s-a,e),new Ci(s,e));case Kl.TOP_RIGHT:return new XY(new Ci(t,e),new Ci(t+a,e),new Ci(s,c-l),new Ci(s,c));case Kl.BOTTOM_RIGHT:return new XY(new Ci(s,e),new Ci(s,e+l),new Ci(t+a,c),new Ci(t,c));case Kl.BOTTOM_LEFT:default:return new XY(new Ci(s,c),new Ci(s-a,c),new Ci(t,e+l),new Ci(t,e))}},jG=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},gqt=function(t){return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox]},YG=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},mqt=function(){function t(e,n,o){this.offsetX=e,this.offsetY=n,this.matrix=o,this.type=0,this.target=6}return t}(),JY=function(){function t(e,n){this.path=e,this.target=n,this.type=1}return t}(),yqt=function(){function t(e){this.opacity=e,this.type=2,this.target=6}return t}(),Aqt=function(t){return t.type===0},_Ke=function(t){return t.type===1},wqt=function(t){return t.type===2},Vbe=function(t,e){return t.length===e.length?t.some(function(n,o){return n===e[o]}):!1},vqt=function(t,e,n,o,i){return t.map(function(r,a){switch(a){case 0:return r.add(e,n);case 1:return r.add(e+o,n);case 2:return r.add(e+o,n+i);case 3:return r.add(e,n+i)}return r})},VKe=function(){function t(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return t}(),GKe=function(){function t(e,n){if(this.container=e,this.parent=n,this.effects=[],this.curves=new pqt(this.container),this.container.styles.opacity<1&&this.effects.push(new yqt(this.container.styles.opacity)),this.container.styles.transform!==null){var o=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new mqt(o,i,r))}if(this.container.styles.overflowX!==0){var a=jG(this.curves),l=YG(this.curves);Vbe(a,l)?this.effects.push(new JY(a,6)):(this.effects.push(new JY(a,2)),this.effects.push(new JY(l,4)))}}return t.prototype.getEffects=function(e){for(var n=[2,3].indexOf(this.container.styles.position)===-1,o=this.parent,i=this.effects.slice(0);o;){var r=o.effects.filter(function(s){return!_Ke(s)});if(n||o.container.styles.position!==0||!o.parent){if(i.unshift.apply(i,r),n=[2,3].indexOf(o.container.styles.position)===-1,o.container.styles.overflowX!==0){var a=jG(o.curves),l=YG(o.curves);Vbe(a,l)||i.unshift(new JY(l,6))}}else i.unshift.apply(i,r);o=o.parent}return i.filter(function(s){return zu(s.target,e)})},t}(),Hue=function(t,e,n,o){t.container.elements.forEach(function(i){var r=zu(i.flags,4),a=zu(i.flags,2),l=new GKe(i,t);zu(i.styles.display,2048)&&o.push(l);var s=zu(i.flags,8)?[]:o;if(r||a){var c=r||i.styles.isPositioned()?n:e,u=new VKe(l);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var d=i.styles.zIndex.order;if(d<0){var f=0;c.negativeZIndex.some(function(g,A){return d>g.element.container.styles.zIndex.order?(f=A,!1):f>0}),c.negativeZIndex.splice(f,0,u)}else if(d>0){var p=0;c.positiveZIndex.some(function(g,A){return d>=g.element.container.styles.zIndex.order?(p=A+1,!1):p>0}),c.positiveZIndex.splice(p,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else i.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Hue(l,u,r?u:n,s)}else i.styles.isInlineLevel()?e.inlineLevel.push(l):e.nonInlineLevel.push(l),Hue(l,e,n,s);zu(i.flags,8)&&XKe(i,s)})},XKe=function(t,e){for(var n=t instanceof Sue?t.start:1,o=t instanceof Sue?t.reversed:!1,i=0;i"u"?t[0]:n},Hqt=function(t,e,n,o,i){var r=e[0],a=e[1],l=n[0],s=n[1];switch(t){case 2:return[new Ci(Math.round(o.left),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(s+o.top+a)),new Ci(Math.round(o.left),Math.round(s+o.top+a))];case 3:return[new Ci(Math.round(o.left+r),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.height+o.top)),new Ci(Math.round(o.left+r),Math.round(o.height+o.top))];case 1:return[new Ci(Math.round(o.left+r),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a+s)),new Ci(Math.round(o.left+r),Math.round(o.top+a+s))];default:return[new Ci(Math.round(i.left),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.height+i.top)),new Ci(Math.round(i.left),Math.round(i.height+i.top))]}},Mqt="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Xbe="Hidden Text",Iqt=function(){function t(e){this._data={},this._document=e}return t.prototype.parseMetrics=function(e,n){var o=this._document.createElement("div"),i=this._document.createElement("img"),r=this._document.createElement("span"),a=this._document.body;o.style.visibility="hidden",o.style.fontFamily=e,o.style.fontSize=n,o.style.margin="0",o.style.padding="0",o.style.whiteSpace="nowrap",a.appendChild(o),i.src=Mqt,i.width=1,i.height=1,i.style.margin="0",i.style.padding="0",i.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=n,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(Xbe)),o.appendChild(r),o.appendChild(i);var l=i.offsetTop-r.offsetTop+2;o.removeChild(r),o.appendChild(this._document.createTextNode(Xbe)),o.style.lineHeight="normal",i.style.verticalAlign="super";var s=i.offsetTop-o.offsetTop+2;return a.removeChild(o),{baseline:l,middle:s}},t.prototype.getMetrics=function(e,n){var o=e+" "+n;return typeof this._data[o]>"u"&&(this._data[o]=this.parseMetrics(e,n)),this._data[o]},t}(),KKe=function(){function t(e,n){this.context=e,this.options=n}return t}(),zqt=1e4,Dqt=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i._activeEffects=[],i.canvas=o.canvas?o.canvas:document.createElement("canvas"),i.ctx=i.canvas.getContext("2d"),o.canvas||(i.canvas.width=Math.floor(o.width*o.scale),i.canvas.height=Math.floor(o.height*o.scale),i.canvas.style.width=o.width+"px",i.canvas.style.height=o.height+"px"),i.fontMetrics=new Iqt(document),i.ctx.scale(i.options.scale,i.options.scale),i.ctx.translate(-o.x,-o.y),i.ctx.textBaseline="bottom",i._activeEffects=[],i.context.logger.debug("Canvas renderer initialized ("+o.width+"x"+o.height+") with scale "+o.scale),i}return e.prototype.applyEffects=function(n){for(var o=this;this._activeEffects.length;)this.popEffect();n.forEach(function(i){return o.applyEffect(i)})},e.prototype.applyEffect=function(n){this.ctx.save(),wqt(n)&&(this.ctx.globalAlpha=n.opacity),Aqt(n)&&(this.ctx.translate(n.offsetX,n.offsetY),this.ctx.transform(n.matrix[0],n.matrix[1],n.matrix[2],n.matrix[3],n.matrix[4],n.matrix[5]),this.ctx.translate(-n.offsetX,-n.offsetY)),_Ke(n)&&(this.path(n.path),this.ctx.clip()),this._activeEffects.push(n)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(n){return _h(this,void 0,void 0,function(){var o;return Xf(this,function(i){switch(i.label){case 0:return o=n.element.container.styles,o.isVisible()?[4,this.renderStackContent(n)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})},e.prototype.renderNode=function(n){return _h(this,void 0,void 0,function(){return Xf(this,function(o){switch(o.label){case 0:if(zu(n.container.flags,16))debugger;return n.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(n)]:[3,3];case 1:return o.sent(),[4,this.renderNodeContent(n)];case 2:o.sent(),o.label=3;case 3:return[2]}})})},e.prototype.renderTextWithLetterSpacing=function(n,o,i){var r=this;if(o===0)this.ctx.fillText(n.text,n.bounds.left,n.bounds.top+i);else{var a=tye(n.text);a.reduce(function(l,s){return r.ctx.fillText(s,l,n.bounds.top+i),l+r.ctx.measureText(s).width},n.bounds.left)}},e.prototype.createFontStyle=function(n){var o=n.fontVariant.filter(function(a){return a==="normal"||a==="small-caps"}).join(""),i=Wqt(n.fontFamily).join(", "),r=OW(n.fontSize)?""+n.fontSize.number+n.fontSize.unit:n.fontSize.number+"px";return[[n.fontStyle,o,n.fontWeight,r,i].join(" "),i,r]},e.prototype.renderTextNode=function(n,o){return _h(this,void 0,void 0,function(){var i,r,a,l,s,c,u,d,f=this;return Xf(this,function(p){return i=this.createFontStyle(o),r=i[0],a=i[1],l=i[2],this.ctx.font=r,this.ctx.direction=o.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(a,l),c=s.baseline,u=s.middle,d=o.paintOrder,n.textBounds.forEach(function(g){d.forEach(function(A){switch(A){case 0:f.ctx.fillStyle=cd(o.color),f.renderTextWithLetterSpacing(g,o.letterSpacing,c);var w=o.textShadow;w.length&&g.text.trim().length&&(w.slice(0).reverse().forEach(function(b){f.ctx.shadowColor=cd(b.color),f.ctx.shadowOffsetX=b.offsetX.number*f.options.scale,f.ctx.shadowOffsetY=b.offsetY.number*f.options.scale,f.ctx.shadowBlur=b.blur.number,f.renderTextWithLetterSpacing(g,o.letterSpacing,c)}),f.ctx.shadowColor="",f.ctx.shadowOffsetX=0,f.ctx.shadowOffsetY=0,f.ctx.shadowBlur=0),o.textDecorationLine.length&&(f.ctx.fillStyle=cd(o.textDecorationColor||o.color),o.textDecorationLine.forEach(function(b){switch(b){case 1:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top+c),g.bounds.width,1);break;case 2:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top),g.bounds.width,1);break;case 3:f.ctx.fillRect(g.bounds.left,Math.ceil(g.bounds.top+u),g.bounds.width,1);break}}));break;case 1:o.webkitTextStrokeWidth&&g.text.trim().length&&(f.ctx.strokeStyle=cd(o.webkitTextStrokeColor),f.ctx.lineWidth=o.webkitTextStrokeWidth,f.ctx.lineJoin=window.chrome?"miter":"round",f.ctx.strokeText(g.text,g.bounds.left,g.bounds.top+c)),f.ctx.strokeStyle="",f.ctx.lineWidth=0,f.ctx.lineJoin="miter";break}})}),[2]})})},e.prototype.renderReplacedElement=function(n,o,i){if(i&&n.intrinsicWidth>0&&n.intrinsicHeight>0){var r=OG(n),a=YG(o);this.path(a),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(i,0,0,n.intrinsicWidth,n.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},e.prototype.renderNodeContent=function(n){return _h(this,void 0,void 0,function(){var o,i,r,a,l,s,C,C,c,u,d,f,v,p,g,T,A,w,b,C,P,v,T;return Xf(this,function(y){switch(y.label){case 0:this.applyEffects(n.getEffects(4)),o=n.container,i=n.curves,r=o.styles,a=0,l=o.textNodes,y.label=1;case 1:return a0&&N>0&&(x=r.ctx.createPattern(T,"repeat"),r.renderRepeat(H,x,E,U))):wXt(u)&&(R=bre(n,o,[null,null,null]),H=R[0],D=R[1],k=R[2],W=R[3],N=R[4],L=u.position.length===0?[Qme]:u.position,E=Ys(L[0],W),U=Ys(L[L.length-1],N),F=pXt(u,E,U,W,N),B=F[0],_=F[1],B>0&&_>0&&(Y=r.ctx.createRadialGradient(D+E,k+U,0,D+E,k+U,B),gbe(u.stops,B*2).forEach(function(q){return Y.addColorStop(q.stop,cd(q.color))}),r.path(H),r.ctx.fillStyle=Y,B!==_?(O=n.bounds.left+.5*n.bounds.width,J=n.bounds.top+.5*n.bounds.height,Z=_/B,ie=1/Z,r.ctx.save(),r.ctx.translate(O,J),r.ctx.transform(1,0,0,Z,0,0),r.ctx.translate(-O,-J),r.ctx.fillRect(D,ie*(k-J)+J,W,N*ie),r.ctx.restore()):r.ctx.fill())),ee.label=6;case 6:return o--,[2]}})},r=this,a=0,l=n.styles.backgroundImage.slice(0).reverse(),c.label=1;case 1:return a0?u.style!==2?[3,5]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,2)]:[3,11]):[3,13];case 4:return f.sent(),[3,11];case 5:return u.style!==3?[3,7]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,3)];case 6:return f.sent(),[3,11];case 7:return u.style!==4?[3,9]:[4,this.renderDoubleBorder(u.color,u.width,l,n.curves)];case 8:return f.sent(),[3,11];case 9:return[4,this.renderSolidBorder(u.color,l,n.curves)];case 10:f.sent(),f.label=11;case 11:l++,f.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},e.prototype.renderDashedDottedBorder=function(n,o,i,r,a){return _h(this,void 0,void 0,function(){var l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,T,y;return Xf(this,function(S){return this.ctx.save(),l=Tqt(r,i),s=Gbe(r,i),a===2&&(this.path(s),this.ctx.clip()),Sm(s[0])?(c=s[0].start.x,u=s[0].start.y):(c=s[0].x,u=s[0].y),Sm(s[1])?(d=s[1].end.x,f=s[1].end.y):(d=s[1].x,f=s[1].y),i===0||i===2?p=Math.abs(c-d):p=Math.abs(u-f),this.ctx.beginPath(),a===3?this.formatPath(l):this.formatPath(s.slice(0,2)),g=o<3?o*3:o*2,A=o<3?o*2:o,a===3&&(g=o,A=o),w=!0,p<=g*2?w=!1:p<=g*2+A?(b=p/(2*g+A),g*=b,A*=b):(C=Math.floor((p+A)/(g+A)),P=(p-C*g)/(C-1),v=(p-(C+1)*g)/C,A=v<=0||Math.abs(A-P)"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function o(c,u,d){var f=new XMLHttpRequest;f.open("GET",c),f.responseType="blob",f.onload=function(){s(f.response,u,d)},f.onerror=function(){console.error("could not download file")},f.send()}function i(c){var u=new XMLHttpRequest;u.open("HEAD",c,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function r(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(u)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof mc=="object"&&mc.global===mc?mc:void 0,l=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(c,u,d){var f=a.URL||a.webkitURL,p=document.createElement("a");u=u||c.name||"download",p.download=u,p.rel="noopener",typeof c=="string"?(p.href=c,p.origin===location.origin?r(p):i(p.href)?o(c,u,d):r(p,p.target="_blank")):(p.href=f.createObjectURL(c),setTimeout(function(){f.revokeObjectURL(p.href)},4e4),setTimeout(function(){r(p)},0))}:"msSaveOrOpenBlob"in navigator?function(c,u,d){if(u=u||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(n(c,d),u);else if(i(c))o(c,u,d);else{var f=document.createElement("a");f.href=c,f.target="_blank",setTimeout(function(){r(f)})}}:function(c,u,d,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof c=="string")return o(c,u,d);var p=c.type==="application/octet-stream",g=/constructor/i.test(a.HTMLElement)||a.safari,A=/CriOS\/[\d]+/.test(navigator.userAgent);if((A||p&&g||l)&&typeof FileReader<"u"){var w=new FileReader;w.onloadend=function(){var P=w.result;P=A?P:P.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=P:location=P,f=null},w.readAsDataURL(c)}else{var b=a.URL||a.webkitURL,C=b.createObjectURL(c);f?f.location=C:location.href=C,f=null,setTimeout(function(){b.revokeObjectURL(C)},4e4)}});a.saveAs=s.saveAs=s,t.exports=s})})(qKe);var $Ke=qKe.exports;const Jbe=()=>{window.open("https://intofuture.org","_blank")},Vqt=()=>{window.open("https://intofuture.org/aladdin.html","_blank")},Gqt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=satellite¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",Xqt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=roadmap&style=feature:poi|element:labels|visibility:off¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",y2=(t,e)=>{K6.success({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},hn=(t,e)=>{K6.info({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},uR=(t,e)=>{K6.warning({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Do=(t,e)=>{K6.error({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Jqt=(t,e)=>{const n=document.createElement("a");n.download=t,n.href=e,n.click()},Md=async(t,e,n)=>{const o=window.document.getElementById(t);if(o){const i=await Yqt(o,{...n,removeContainer:!0}),r=document.createElement("a");r.href=i.toDataURL("image/png",1),r.download=`${e}.png`,r.click()}else throw new Error(`Cannot find element with ID ${t}`)},wh=(t,e)=>{let n="";for(const i of Object.keys(t[0]))n+=i+", ";n+=` +}`,oqt=function(t){iqt(t,"."+Cue+tqt+_be+` + .`+Rue+nqt+_be)},iqt=function(t,e){var n=t.ownerDocument;if(n){var o=n.createElement("style");o.textContent=e,t.appendChild(o)}},jKe=function(){function t(){}return t.getOrigin=function(e){var n=t._link;return n?(n.href=e,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},t.isSameOrigin=function(e){return t.getOrigin(e)===t._origin},t.setContext=function(e){t._link=e.document.createElement("a"),t._origin=t.getOrigin(e.location.href)},t._origin="about:blank",t}(),rqt=function(){function t(e,n){this.context=e,this._options=n,this._cache={}}return t.prototype.addImage=function(e){var n=Promise.resolve();return this.has(e)||(xre(e)||cqt(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),n},t.prototype.match=function(e){return this._cache[e]},t.prototype.loadImage=function(e){return _h(this,void 0,void 0,function(){var n,o,i,r,a=this;return Xf(this,function(l){switch(l.label){case 0:return n=jKe.isSameOrigin(e),o=!vre(e)&&this._options.useCORS===!0&&Zd.SUPPORT_CORS_IMAGES&&!n,i=!vre(e)&&!n&&!xre(e)&&typeof this._options.proxy=="string"&&Zd.SUPPORT_CORS_XHR&&!o,!n&&this._options.allowTaint===!1&&!vre(e)&&!xre(e)&&!i&&!o?[2]:(r=e,i?[4,this.proxy(r)]:[3,2]);case 1:r=l.sent(),l.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(s,c){var u=new Image;u.onload=function(){return s(u)},u.onerror=c,(uqt(r)||o)&&(u.crossOrigin="anonymous"),u.src=r,u.complete===!0&&setTimeout(function(){return s(u)},500),a._options.imageTimeout>0&&setTimeout(function(){return c("Timed out ("+a._options.imageTimeout+"ms) loading image")},a._options.imageTimeout)})];case 3:return[2,l.sent()]}})})},t.prototype.has=function(e){return typeof this._cache[e]<"u"},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(e){var n=this,o=this._options.proxy;if(!o)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise(function(r,a){var l=Zd.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(s.status===200)if(l==="text")r(s.response);else{var d=new FileReader;d.addEventListener("load",function(){return r(d.result)},!1),d.addEventListener("error",function(f){return a(f)},!1),d.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var c=o.indexOf("?")>-1?"&":"?";if(s.open("GET",""+o+c+"url="+encodeURIComponent(e)+"&responseType="+l),l!=="text"&&s instanceof XMLHttpRequest&&(s.responseType=l),n._options.imageTimeout){var u=n._options.imageTimeout;s.timeout=u,s.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+i)}}s.send()})},t}(),aqt=/^data:image\/svg\+xml/i,lqt=/^data:image\/.*;base64,/i,sqt=/^data:image\/.*/i,cqt=function(t){return Zd.SUPPORT_SVG_DRAWING||!dqt(t)},vre=function(t){return sqt.test(t)},uqt=function(t){return lqt.test(t)},xre=function(t){return t.substr(0,4)==="blob"},dqt=function(t){return t.substr(-3).toLowerCase()==="svg"||aqt.test(t)},Ci=function(){function t(e,n){this.type=0,this.x=e,this.y=n}return t.prototype.add=function(e,n){return new t(this.x+e,this.y+n)},t}(),kT=function(t,e,n){return new Ci(t.x+(e.x-t.x)*n,t.y+(e.y-t.y)*n)},XY=function(){function t(e,n,o,i){this.type=1,this.start=e,this.startControl=n,this.endControl=o,this.end=i}return t.prototype.subdivide=function(e,n){var o=kT(this.start,this.startControl,e),i=kT(this.startControl,this.endControl,e),r=kT(this.endControl,this.end,e),a=kT(o,i,e),l=kT(i,r,e),s=kT(a,l,e);return n?new t(this.start,o,a,s):new t(s,l,r,this.end)},t.prototype.add=function(e,n){return new t(this.start.add(e,n),this.startControl.add(e,n),this.endControl.add(e,n),this.end.add(e,n))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),Sm=function(t){return t.type===1},fqt=function(){function t(e){var n=e.styles,o=e.bounds,i=bD(n.borderTopLeftRadius,o.width,o.height),r=i[0],a=i[1],l=bD(n.borderTopRightRadius,o.width,o.height),s=l[0],c=l[1],u=bD(n.borderBottomRightRadius,o.width,o.height),d=u[0],f=u[1],p=bD(n.borderBottomLeftRadius,o.width,o.height),g=p[0],A=p[1],w=[];w.push((r+s)/o.width),w.push((g+d)/o.width),w.push((a+A)/o.height),w.push((c+f)/o.height);var b=Math.max.apply(Math,w);b>1&&(r/=b,a/=b,s/=b,c/=b,d/=b,f/=b,g/=b,A/=b);var C=o.width-s,P=o.height-f,v=o.width-d,T=o.height-A,y=n.borderTopWidth,S=n.borderRightWidth,x=n.borderBottomWidth,R=n.borderLeftWidth,H=Ys(n.paddingTop,e.bounds.width),D=Ys(n.paddingRight,e.bounds.width),k=Ys(n.paddingBottom,e.bounds.width),W=Ys(n.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||a>0?kc(o.left+R/3,o.top+y/3,r-R/3,a-y/3,Kl.TOP_LEFT):new Ci(o.left+R/3,o.top+y/3),this.topRightBorderDoubleOuterBox=r>0||a>0?kc(o.left+C,o.top+y/3,s-S/3,c-y/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-S/3,o.top+y/3),this.bottomRightBorderDoubleOuterBox=d>0||f>0?kc(o.left+v,o.top+P,d-S/3,f-x/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S/3,o.top+o.height-x/3),this.bottomLeftBorderDoubleOuterBox=g>0||A>0?kc(o.left+R/3,o.top+T,g-R/3,A-x/3,Kl.BOTTOM_LEFT):new Ci(o.left+R/3,o.top+o.height-x/3),this.topLeftBorderDoubleInnerBox=r>0||a>0?kc(o.left+R*2/3,o.top+y*2/3,r-R*2/3,a-y*2/3,Kl.TOP_LEFT):new Ci(o.left+R*2/3,o.top+y*2/3),this.topRightBorderDoubleInnerBox=r>0||a>0?kc(o.left+C,o.top+y*2/3,s-S*2/3,c-y*2/3,Kl.TOP_RIGHT):new Ci(o.left+o.width-S*2/3,o.top+y*2/3),this.bottomRightBorderDoubleInnerBox=d>0||f>0?kc(o.left+v,o.top+P,d-S*2/3,f-x*2/3,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S*2/3,o.top+o.height-x*2/3),this.bottomLeftBorderDoubleInnerBox=g>0||A>0?kc(o.left+R*2/3,o.top+T,g-R*2/3,A-x*2/3,Kl.BOTTOM_LEFT):new Ci(o.left+R*2/3,o.top+o.height-x*2/3),this.topLeftBorderStroke=r>0||a>0?kc(o.left+R/2,o.top+y/2,r-R/2,a-y/2,Kl.TOP_LEFT):new Ci(o.left+R/2,o.top+y/2),this.topRightBorderStroke=r>0||a>0?kc(o.left+C,o.top+y/2,s-S/2,c-y/2,Kl.TOP_RIGHT):new Ci(o.left+o.width-S/2,o.top+y/2),this.bottomRightBorderStroke=d>0||f>0?kc(o.left+v,o.top+P,d-S/2,f-x/2,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S/2,o.top+o.height-x/2),this.bottomLeftBorderStroke=g>0||A>0?kc(o.left+R/2,o.top+T,g-R/2,A-x/2,Kl.BOTTOM_LEFT):new Ci(o.left+R/2,o.top+o.height-x/2),this.topLeftBorderBox=r>0||a>0?kc(o.left,o.top,r,a,Kl.TOP_LEFT):new Ci(o.left,o.top),this.topRightBorderBox=s>0||c>0?kc(o.left+C,o.top,s,c,Kl.TOP_RIGHT):new Ci(o.left+o.width,o.top),this.bottomRightBorderBox=d>0||f>0?kc(o.left+v,o.top+P,d,f,Kl.BOTTOM_RIGHT):new Ci(o.left+o.width,o.top+o.height),this.bottomLeftBorderBox=g>0||A>0?kc(o.left,o.top+T,g,A,Kl.BOTTOM_LEFT):new Ci(o.left,o.top+o.height),this.topLeftPaddingBox=r>0||a>0?kc(o.left+R,o.top+y,Math.max(0,r-R),Math.max(0,a-y),Kl.TOP_LEFT):new Ci(o.left+R,o.top+y),this.topRightPaddingBox=s>0||c>0?kc(o.left+Math.min(C,o.width-S),o.top+y,C>o.width+S?0:Math.max(0,s-S),Math.max(0,c-y),Kl.TOP_RIGHT):new Ci(o.left+o.width-S,o.top+y),this.bottomRightPaddingBox=d>0||f>0?kc(o.left+Math.min(v,o.width-R),o.top+Math.min(P,o.height-x),Math.max(0,d-S),Math.max(0,f-x),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-S,o.top+o.height-x),this.bottomLeftPaddingBox=g>0||A>0?kc(o.left+R,o.top+Math.min(T,o.height-x),Math.max(0,g-R),Math.max(0,A-x),Kl.BOTTOM_LEFT):new Ci(o.left+R,o.top+o.height-x),this.topLeftContentBox=r>0||a>0?kc(o.left+R+W,o.top+y+H,Math.max(0,r-(R+W)),Math.max(0,a-(y+H)),Kl.TOP_LEFT):new Ci(o.left+R+W,o.top+y+H),this.topRightContentBox=s>0||c>0?kc(o.left+Math.min(C,o.width+R+W),o.top+y+H,C>o.width+R+W?0:s-R+W,c-(y+H),Kl.TOP_RIGHT):new Ci(o.left+o.width-(S+D),o.top+y+H),this.bottomRightContentBox=d>0||f>0?kc(o.left+Math.min(v,o.width-(R+W)),o.top+Math.min(P,o.height+y+H),Math.max(0,d-(S+D)),f-(x+k),Kl.BOTTOM_RIGHT):new Ci(o.left+o.width-(S+D),o.top+o.height-(x+k)),this.bottomLeftContentBox=g>0||A>0?kc(o.left+R+W,o.top+T,Math.max(0,g-(R+W)),A-(x+k),Kl.BOTTOM_LEFT):new Ci(o.left+R+W,o.top+o.height-(x+k))}return t}(),Kl;(function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Kl||(Kl={}));var kc=function(t,e,n,o,i){var r=4*((Math.sqrt(2)-1)/3),a=n*r,l=o*r,s=t+n,c=e+o;switch(i){case Kl.TOP_LEFT:return new XY(new Ci(t,c),new Ci(t,c-l),new Ci(s-a,e),new Ci(s,e));case Kl.TOP_RIGHT:return new XY(new Ci(t,e),new Ci(t+a,e),new Ci(s,c-l),new Ci(s,c));case Kl.BOTTOM_RIGHT:return new XY(new Ci(s,e),new Ci(s,e+l),new Ci(t+a,c),new Ci(t,c));case Kl.BOTTOM_LEFT:default:return new XY(new Ci(s,c),new Ci(s-a,c),new Ci(t,e+l),new Ci(t,e))}},jG=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},hqt=function(t){return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox]},YG=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},pqt=function(){function t(e,n,o){this.offsetX=e,this.offsetY=n,this.matrix=o,this.type=0,this.target=6}return t}(),JY=function(){function t(e,n){this.path=e,this.target=n,this.type=1}return t}(),gqt=function(){function t(e){this.opacity=e,this.type=2,this.target=6}return t}(),mqt=function(t){return t.type===0},YKe=function(t){return t.type===1},yqt=function(t){return t.type===2},Vbe=function(t,e){return t.length===e.length?t.some(function(n,o){return n===e[o]}):!1},Aqt=function(t,e,n,o,i){return t.map(function(r,a){switch(a){case 0:return r.add(e,n);case 1:return r.add(e+o,n);case 2:return r.add(e+o,n+i);case 3:return r.add(e,n+i)}return r})},OKe=function(){function t(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return t}(),_Ke=function(){function t(e,n){if(this.container=e,this.parent=n,this.effects=[],this.curves=new fqt(this.container),this.container.styles.opacity<1&&this.effects.push(new gqt(this.container.styles.opacity)),this.container.styles.transform!==null){var o=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new pqt(o,i,r))}if(this.container.styles.overflowX!==0){var a=jG(this.curves),l=YG(this.curves);Vbe(a,l)?this.effects.push(new JY(a,6)):(this.effects.push(new JY(a,2)),this.effects.push(new JY(l,4)))}}return t.prototype.getEffects=function(e){for(var n=[2,3].indexOf(this.container.styles.position)===-1,o=this.parent,i=this.effects.slice(0);o;){var r=o.effects.filter(function(s){return!YKe(s)});if(n||o.container.styles.position!==0||!o.parent){if(i.unshift.apply(i,r),n=[2,3].indexOf(o.container.styles.position)===-1,o.container.styles.overflowX!==0){var a=jG(o.curves),l=YG(o.curves);Vbe(a,l)||i.unshift(new JY(l,6))}}else i.unshift.apply(i,r);o=o.parent}return i.filter(function(s){return zu(s.target,e)})},t}(),Hue=function(t,e,n,o){t.container.elements.forEach(function(i){var r=zu(i.flags,4),a=zu(i.flags,2),l=new _Ke(i,t);zu(i.styles.display,2048)&&o.push(l);var s=zu(i.flags,8)?[]:o;if(r||a){var c=r||i.styles.isPositioned()?n:e,u=new OKe(l);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var d=i.styles.zIndex.order;if(d<0){var f=0;c.negativeZIndex.some(function(g,A){return d>g.element.container.styles.zIndex.order?(f=A,!1):f>0}),c.negativeZIndex.splice(f,0,u)}else if(d>0){var p=0;c.positiveZIndex.some(function(g,A){return d>=g.element.container.styles.zIndex.order?(p=A+1,!1):p>0}),c.positiveZIndex.splice(p,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else i.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Hue(l,u,r?u:n,s)}else i.styles.isInlineLevel()?e.inlineLevel.push(l):e.nonInlineLevel.push(l),Hue(l,e,n,s);zu(i.flags,8)&&VKe(i,s)})},VKe=function(t,e){for(var n=t instanceof Sue?t.start:1,o=t instanceof Sue?t.reversed:!1,i=0;i"u"?t[0]:n},Cqt=function(t,e,n,o,i){var r=e[0],a=e[1],l=n[0],s=n[1];switch(t){case 2:return[new Ci(Math.round(o.left),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(o.top+a)),new Ci(Math.round(o.left+o.width),Math.round(s+o.top+a)),new Ci(Math.round(o.left),Math.round(s+o.top+a))];case 3:return[new Ci(Math.round(o.left+r),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.top)),new Ci(Math.round(o.left+r+l),Math.round(o.height+o.top)),new Ci(Math.round(o.left+r),Math.round(o.height+o.top))];case 1:return[new Ci(Math.round(o.left+r),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a)),new Ci(Math.round(o.left+r+l),Math.round(o.top+a+s)),new Ci(Math.round(o.left+r),Math.round(o.top+a+s))];default:return[new Ci(Math.round(i.left),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.top)),new Ci(Math.round(i.left+i.width),Math.round(i.height+i.top)),new Ci(Math.round(i.left),Math.round(i.height+i.top))]}},Rqt="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Xbe="Hidden Text",Hqt=function(){function t(e){this._data={},this._document=e}return t.prototype.parseMetrics=function(e,n){var o=this._document.createElement("div"),i=this._document.createElement("img"),r=this._document.createElement("span"),a=this._document.body;o.style.visibility="hidden",o.style.fontFamily=e,o.style.fontSize=n,o.style.margin="0",o.style.padding="0",o.style.whiteSpace="nowrap",a.appendChild(o),i.src=Rqt,i.width=1,i.height=1,i.style.margin="0",i.style.padding="0",i.style.verticalAlign="baseline",r.style.fontFamily=e,r.style.fontSize=n,r.style.margin="0",r.style.padding="0",r.appendChild(this._document.createTextNode(Xbe)),o.appendChild(r),o.appendChild(i);var l=i.offsetTop-r.offsetTop+2;o.removeChild(r),o.appendChild(this._document.createTextNode(Xbe)),o.style.lineHeight="normal",i.style.verticalAlign="super";var s=i.offsetTop-o.offsetTop+2;return a.removeChild(o),{baseline:l,middle:s}},t.prototype.getMetrics=function(e,n){var o=e+" "+n;return typeof this._data[o]>"u"&&(this._data[o]=this.parseMetrics(e,n)),this._data[o]},t}(),XKe=function(){function t(e,n){this.context=e,this.options=n}return t}(),Mqt=1e4,Iqt=function(t){Q2(e,t);function e(n,o){var i=t.call(this,n,o)||this;return i._activeEffects=[],i.canvas=o.canvas?o.canvas:document.createElement("canvas"),i.ctx=i.canvas.getContext("2d"),o.canvas||(i.canvas.width=Math.floor(o.width*o.scale),i.canvas.height=Math.floor(o.height*o.scale),i.canvas.style.width=o.width+"px",i.canvas.style.height=o.height+"px"),i.fontMetrics=new Hqt(document),i.ctx.scale(i.options.scale,i.options.scale),i.ctx.translate(-o.x,-o.y),i.ctx.textBaseline="bottom",i._activeEffects=[],i.context.logger.debug("Canvas renderer initialized ("+o.width+"x"+o.height+") with scale "+o.scale),i}return e.prototype.applyEffects=function(n){for(var o=this;this._activeEffects.length;)this.popEffect();n.forEach(function(i){return o.applyEffect(i)})},e.prototype.applyEffect=function(n){this.ctx.save(),yqt(n)&&(this.ctx.globalAlpha=n.opacity),mqt(n)&&(this.ctx.translate(n.offsetX,n.offsetY),this.ctx.transform(n.matrix[0],n.matrix[1],n.matrix[2],n.matrix[3],n.matrix[4],n.matrix[5]),this.ctx.translate(-n.offsetX,-n.offsetY)),YKe(n)&&(this.path(n.path),this.ctx.clip()),this._activeEffects.push(n)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(n){return _h(this,void 0,void 0,function(){var o;return Xf(this,function(i){switch(i.label){case 0:return o=n.element.container.styles,o.isVisible()?[4,this.renderStackContent(n)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})},e.prototype.renderNode=function(n){return _h(this,void 0,void 0,function(){return Xf(this,function(o){switch(o.label){case 0:if(zu(n.container.flags,16))debugger;return n.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(n)]:[3,3];case 1:return o.sent(),[4,this.renderNodeContent(n)];case 2:o.sent(),o.label=3;case 3:return[2]}})})},e.prototype.renderTextWithLetterSpacing=function(n,o,i){var r=this;if(o===0)this.ctx.fillText(n.text,n.bounds.left,n.bounds.top+i);else{var a=tye(n.text);a.reduce(function(l,s){return r.ctx.fillText(s,l,n.bounds.top+i),l+r.ctx.measureText(s).width},n.bounds.left)}},e.prototype.createFontStyle=function(n){var o=n.fontVariant.filter(function(a){return a==="normal"||a==="small-caps"}).join(""),i=Fqt(n.fontFamily).join(", "),r=OW(n.fontSize)?""+n.fontSize.number+n.fontSize.unit:n.fontSize.number+"px";return[[n.fontStyle,o,n.fontWeight,r,i].join(" "),i,r]},e.prototype.renderTextNode=function(n,o){return _h(this,void 0,void 0,function(){var i,r,a,l,s,c,u,d,f=this;return Xf(this,function(p){return i=this.createFontStyle(o),r=i[0],a=i[1],l=i[2],this.ctx.font=r,this.ctx.direction=o.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(a,l),c=s.baseline,u=s.middle,d=o.paintOrder,n.textBounds.forEach(function(g){d.forEach(function(A){switch(A){case 0:f.ctx.fillStyle=cd(o.color),f.renderTextWithLetterSpacing(g,o.letterSpacing,c);var w=o.textShadow;w.length&&g.text.trim().length&&(w.slice(0).reverse().forEach(function(b){f.ctx.shadowColor=cd(b.color),f.ctx.shadowOffsetX=b.offsetX.number*f.options.scale,f.ctx.shadowOffsetY=b.offsetY.number*f.options.scale,f.ctx.shadowBlur=b.blur.number,f.renderTextWithLetterSpacing(g,o.letterSpacing,c)}),f.ctx.shadowColor="",f.ctx.shadowOffsetX=0,f.ctx.shadowOffsetY=0,f.ctx.shadowBlur=0),o.textDecorationLine.length&&(f.ctx.fillStyle=cd(o.textDecorationColor||o.color),o.textDecorationLine.forEach(function(b){switch(b){case 1:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top+c),g.bounds.width,1);break;case 2:f.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top),g.bounds.width,1);break;case 3:f.ctx.fillRect(g.bounds.left,Math.ceil(g.bounds.top+u),g.bounds.width,1);break}}));break;case 1:o.webkitTextStrokeWidth&&g.text.trim().length&&(f.ctx.strokeStyle=cd(o.webkitTextStrokeColor),f.ctx.lineWidth=o.webkitTextStrokeWidth,f.ctx.lineJoin=window.chrome?"miter":"round",f.ctx.strokeText(g.text,g.bounds.left,g.bounds.top+c)),f.ctx.strokeStyle="",f.ctx.lineWidth=0,f.ctx.lineJoin="miter";break}})}),[2]})})},e.prototype.renderReplacedElement=function(n,o,i){if(i&&n.intrinsicWidth>0&&n.intrinsicHeight>0){var r=OG(n),a=YG(o);this.path(a),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(i,0,0,n.intrinsicWidth,n.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},e.prototype.renderNodeContent=function(n){return _h(this,void 0,void 0,function(){var o,i,r,a,l,s,C,C,c,u,d,f,v,p,g,T,A,w,b,C,P,v,T;return Xf(this,function(y){switch(y.label){case 0:this.applyEffects(n.getEffects(4)),o=n.container,i=n.curves,r=o.styles,a=0,l=o.textNodes,y.label=1;case 1:return a0&&N>0&&(x=r.ctx.createPattern(T,"repeat"),r.renderRepeat(H,x,E,U))):yXt(u)&&(R=bre(n,o,[null,null,null]),H=R[0],D=R[1],k=R[2],W=R[3],N=R[4],L=u.position.length===0?[Qme]:u.position,E=Ys(L[0],W),U=Ys(L[L.length-1],N),F=fXt(u,E,U,W,N),B=F[0],_=F[1],B>0&&_>0&&(Y=r.ctx.createRadialGradient(D+E,k+U,0,D+E,k+U,B),gbe(u.stops,B*2).forEach(function(q){return Y.addColorStop(q.stop,cd(q.color))}),r.path(H),r.ctx.fillStyle=Y,B!==_?(O=n.bounds.left+.5*n.bounds.width,J=n.bounds.top+.5*n.bounds.height,Z=_/B,ie=1/Z,r.ctx.save(),r.ctx.translate(O,J),r.ctx.transform(1,0,0,Z,0,0),r.ctx.translate(-O,-J),r.ctx.fillRect(D,ie*(k-J)+J,W,N*ie),r.ctx.restore()):r.ctx.fill())),ee.label=6;case 6:return o--,[2]}})},r=this,a=0,l=n.styles.backgroundImage.slice(0).reverse(),c.label=1;case 1:return a0?u.style!==2?[3,5]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,2)]:[3,11]):[3,13];case 4:return f.sent(),[3,11];case 5:return u.style!==3?[3,7]:[4,this.renderDashedDottedBorder(u.color,u.width,l,n.curves,3)];case 6:return f.sent(),[3,11];case 7:return u.style!==4?[3,9]:[4,this.renderDoubleBorder(u.color,u.width,l,n.curves)];case 8:return f.sent(),[3,11];case 9:return[4,this.renderSolidBorder(u.color,l,n.curves)];case 10:f.sent(),f.label=11;case 11:l++,f.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},e.prototype.renderDashedDottedBorder=function(n,o,i,r,a){return _h(this,void 0,void 0,function(){var l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,T,y;return Xf(this,function(S){return this.ctx.save(),l=bqt(r,i),s=Gbe(r,i),a===2&&(this.path(s),this.ctx.clip()),Sm(s[0])?(c=s[0].start.x,u=s[0].start.y):(c=s[0].x,u=s[0].y),Sm(s[1])?(d=s[1].end.x,f=s[1].end.y):(d=s[1].x,f=s[1].y),i===0||i===2?p=Math.abs(c-d):p=Math.abs(u-f),this.ctx.beginPath(),a===3?this.formatPath(l):this.formatPath(s.slice(0,2)),g=o<3?o*3:o*2,A=o<3?o*2:o,a===3&&(g=o,A=o),w=!0,p<=g*2?w=!1:p<=g*2+A?(b=p/(2*g+A),g*=b,A*=b):(C=Math.floor((p+A)/(g+A)),P=(p-C*g)/(C-1),v=(p-(C+1)*g)/C,A=v<=0||Math.abs(A-P)"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function o(c,u,d){var f=new XMLHttpRequest;f.open("GET",c),f.responseType="blob",f.onload=function(){s(f.response,u,d)},f.onerror=function(){console.error("could not download file")},f.send()}function i(c){var u=new XMLHttpRequest;u.open("HEAD",c,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function r(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(u)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof mc=="object"&&mc.global===mc?mc:void 0,l=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(c,u,d){var f=a.URL||a.webkitURL,p=document.createElement("a");u=u||c.name||"download",p.download=u,p.rel="noopener",typeof c=="string"?(p.href=c,p.origin===location.origin?r(p):i(p.href)?o(c,u,d):r(p,p.target="_blank")):(p.href=f.createObjectURL(c),setTimeout(function(){f.revokeObjectURL(p.href)},4e4),setTimeout(function(){r(p)},0))}:"msSaveOrOpenBlob"in navigator?function(c,u,d){if(u=u||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(n(c,d),u);else if(i(c))o(c,u,d);else{var f=document.createElement("a");f.href=c,f.target="_blank",setTimeout(function(){r(f)})}}:function(c,u,d,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof c=="string")return o(c,u,d);var p=c.type==="application/octet-stream",g=/constructor/i.test(a.HTMLElement)||a.safari,A=/CriOS\/[\d]+/.test(navigator.userAgent);if((A||p&&g||l)&&typeof FileReader<"u"){var w=new FileReader;w.onloadend=function(){var P=w.result;P=A?P:P.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=P:location=P,f=null},w.readAsDataURL(c)}else{var b=a.URL||a.webkitURL,C=b.createObjectURL(c);f?f.location=C:location.href=C,f=null,setTimeout(function(){b.revokeObjectURL(C)},4e4)}});a.saveAs=s.saveAs=s,t.exports=s})})(JKe);var KKe=JKe.exports;const Jbe=()=>{window.open("https://intofuture.org","_blank")},Oqt=()=>{window.open("https://intofuture.org/aladdin.html","_blank")},_qt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=satellite¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",Vqt=(t,e,n,o)=>"https://maps.googleapis.com/maps/api/staticmap?maptype=roadmap&style=feature:poi|element:labels|visibility:off¢er="+e+","+n+"&zoom="+o+"&size="+t+"x"+t+"&scale=2&key=AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",y2=(t,e)=>{K6.success({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},hn=(t,e)=>{K6.info({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},uR=(t,e)=>{K6.warning({duration:2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Do=(t,e)=>{K6.error({duration:e??2,content:t,className:"custom-class",style:{marginTop:"20vh"},onClick:()=>{K6.destroy()}})},Gqt=(t,e)=>{const n=document.createElement("a");n.download=t,n.href=e,n.click()},Md=async(t,e,n)=>{const o=window.document.getElementById(t);if(o){const i=await Bqt(o,{...n,removeContainer:!0}),r=document.createElement("a");r.href=i.toDataURL("image/png",1),r.download=`${e}.png`,r.click()}else throw new Error(`Cannot find element with ID ${t}`)},wh=(t,e)=>{let n="";for(const i of Object.keys(t[0]))n+=i+", ";n+=` `;for(const i of t){for(const r of Object.values(i))n+=r+", ";n+=` -`}const o=new Blob([n],{type:"text/csv;charset=utf-8"});$Ke.saveAs(o,e)},iye="/aladdin/assets/wall_edge-B4PmTeCj.png",Kqt="/aladdin/assets/wall_01-B-g_tqAI.png",qqt="/aladdin/assets/wall_02-9M_qG3R_.png",$qt="/aladdin/assets/wall_03-ChpvVFgd.png",Qqt="/aladdin/assets/wall_04-BkmmH41c.png",Zqt="/aladdin/assets/wall_05-DFi74_0h.png",e$t="/aladdin/assets/wall_06-CtX-9FCz.png",t$t="/aladdin/assets/wall_07-CJgSaJ5B.png",n$t="/aladdin/assets/wall_08-DwhD-VRH.png",o$t="/aladdin/assets/wall_09-D3ncCSYQ.png",i$t="/aladdin/assets/wall_10-RK6QVYt5.png",r$t=(t,e,n,o)=>{const i=c=>c.parentId===t||c.id===o,r=M(c=>{if(e){for(const u of c.elements)if(u.id===e)return u}return null}),a=M(c=>{if(n){for(const u of c.elements)if(u.id===n)return u}return null}),l=M(c=>JSON.stringify(c.elements.filter(i)));return{elementsOnWall:m.useMemo(()=>M.getState().elements.filter(c=>i(c)&&xe.isLegalOnWall(c.type)),[l]),leftWall:r,rightWall:a}},UH=(t=.3)=>{const e=M(r=>r.viewState.orthographic),n=M(r=>r.viewState.cameraPosition),o=M(r=>r.viewState.cameraZoom);let i;if(e)i=Math.max(t,15/o);else{const r=M.getState().viewState.panCenter,a=new re(...r),s=new re(...n).distanceTo(a);i=Math.max(t,s/100)}return i},QKe=(t,e)=>{const n=m.useMemo(()=>new nf,[]);return m.useMemo(()=>{let o;switch(t){case No.Default:o=iye;break;case No.NoTexture:o=eg;break;case No.Texture01:o=Kqt;break;case No.Texture02:o=qqt;break;case No.Texture03:o=$qt;break;case No.Texture04:o=Qqt;break;case No.Texture05:o=Zqt;break;case No.Texture06:o=e$t;break;case No.Texture07:o=t$t;break;case No.Texture08:o=n$t;break;case No.Texture09:o=o$t;break;case No.Texture10:o=i$t;break;default:o=eg}return e===hc.Stud&&(o=eg),n.load(o,i=>{i.wrapS=i.wrapT=Ss,i.offset.set(0,0);let r=.6,a=.6;switch(t){case No.Default:r=2,a=2;break;case No.Texture03:r=2,a=1;break;case No.Texture06:r=1,a=1;break}i.repeat.set(r,a),Zh()})},[t,e])},ZKe=t=>{const e=m.useRef(!0);ht(o=>o.foundationMovedFlag);let n=t;if(!e.current){const o=M.getState().elements.find(i=>i.id===t.id&&i.type===z.Foundation);o&&(n=o)}return e.current=!1,n},tK=class tK{static getIntersectionObjects(e){return e.intersections.filter(n=>n.eventObject.name.includes("Cuboid")||n.eventObject.name==="Foundation"||n.eventObject.name.includes("Roof")||n.eventObject.name.includes(tK.WALL_OUTSIDE_SURFACE_MESH_NAME))}static addUndoableMove(){const e=M.getState().selectedElement;if(!e)return;const n=M.getState().getElementById(e.id),o=ht.getState().oldParentId,i=ht.getState().oldFoundationId;if(!n||!o||!i)return;const r=e.type===z.SolarPanel,a=e.type===z.Polygon,l={name:"Move",timestamp:Date.now(),movedElementId:n.id,movedElementType:n.type,oldCx:e.cx,oldCy:e.cy,oldCz:e.cz,newCx:n.cx,newCy:n.cy,newCz:n.cz,oldParentType:r?e.parentType:void 0,newParentType:r?n.parentType:void 0,oldParentId:o,newParentId:n.parentId,oldFoundationId:i,newFoundationId:n.foundationId,oldNormal:new re().fromArray(e.normal),newNormal:new re().fromArray(n.normal),oldRotation:[...e.rotation],newRotation:[...n.rotation],undo(){s(this.movedElementId,[this.oldCx,this.oldCy,this.oldCz],this.oldParentId,this.newParentId,this.oldFoundationId,this.oldParentType,this.oldRotation,this.oldNormal,a?e.vertices:void 0)},redo(){s(this.movedElementId,[this.newCx,this.newCy,this.newCz],this.newParentId,this.oldParentId,this.newFoundationId,this.newParentType,this.newRotation,this.newNormal,a?n.vertices:void 0)}};M.getState().addUndoable(l);const s=(c,u,d,f,p,g,A,w,b)=>{M.getState().set(C=>{const P=C.elements.find(v=>v.id===c);if(P){if(P.type===z.Polygon){if(b){const v=P;v.vertices=[...b]}}else[P.cx,P.cy,P.cz]=[...u];if(d&&f&&p&&(P.parentId=d,P.foundationId=p,g&&P.type===z.SolarPanel&&(P.parentType=g),A&&(P.rotation=[...A]),w&&(P.normal=[w.x,w.y,w.z]),P.type===z.Window)){const v=C.elements.find(x=>x.id===d),T=C.elements.find(x=>x.id===f);if(!v||!T)return;const y=P.lx*T.lx,S=P.lz*T.lz;P.lx=y/v.lx,P.lz=S/v.lz}}})}}static undoInvalidOperation(){M.getState().set(e=>{var n;if(e.selectedElement){for(let o=0;o{const e={name:`Add ${t.type} on Roof`,timestamp:Date.now(),addedElement:t,undo:()=>{M.getState().removeElementById(t.id,!1)},redo:()=>{M.getState().set(n=>{n.elements.push(e.addedElement),n.selectedElement=e.addedElement})}};M.getState().addUndoable(e)},a$t=t=>{for(const e of t.intersections)if(e.eventObject.name.includes("Roof Segments Group"))return e.object.name.includes("Flat roof")?e.point.clone().setZ(e.point.z-.01):e.point;return t.intersections[0].point},l$t=(t,e,n,o,i)=>{if(t.intersections.length===0)return;const r=M.getState().objectTypeToAdd;if(r===z.None)return;const a=M.getState().getElementById(n),l=M.getState().getElementById(e);if(!a||!l)return;const s=a$t(t),c=new re().subVectors(s,new re(l.cx,l.cy,l.lz)).applyEuler(new Qt(0,0,-l.rotation[2])),u=c.clone().sub(i);switch(r){case z.SolarPanel:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeSolarPanel(a,M.getState().getPvModule(p.solarPanelModelName??"SPR-X21-335-BLK"),c.x/l.lx,c.y/l.ly,c.z,p.solarPanelOrientation??ui.landscape,p.solarPanelPoleHeight??1,p.solarPanelPoleSpacing??3,p.solarPanelTiltAngle??0,p.solarPanelRelativeAzimuth??0,d,f??[0,0,1],p.solarPanelFrameColor,void 0,void 0,z.Roof);M.getState().set(A=>{A.elements.push(g),A.selectedElementIdSet.clear(),A.selectedElementIdSet.add(g.id),A.actionModeLock||(A.objectTypeToAdd=z.None)}),$Y(g);break}case z.Window:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeWindow(a,c.x,c.y,c.z,z.Roof,f,.5,.5);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Sensor:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeSensor(a,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Light:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeLight(a,2,p.lightDistance,p.lightIntensity,p.lightColor,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(A=>{A.elements.push(g),A.selectedElementIdSet.clear(),A.selectedElementIdSet.add(g.id),A.actionModeLock||(A.objectTypeToAdd=z.None)}),$Y(g);break}}},eqe=(t,e,n)=>{M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(o=>{if(o.contextMenuObjectType=null,o.groupActionMode)o.multiSelectionsMode||o.selectedElementIdSet.clear(),o.selectedElementIdSet.has(n)?o.selectedElementIdSet.delete(n):o.selectedElementIdSet.add(n);else for(const i of o.elements)i.id===e?(i.selected=!0,o.selectedElement=i,o.multiSelectionsMode?o.selectedElementIdSet.has(e)?o.selectedElementIdSet.delete(e):o.selectedElementIdSet.add(e):(o.selectedElementIdSet.clear(),o.selectedElementIdSet.add(e))):i.selected=!1}))},_W=(t,e,n)=>{const o={name:"Resize Roof Rise",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Roof,oldRise:e,newRise:n,undo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.oldRise,0)},redo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.newRise,0)}};M.getState().addUndoable(o)},rye=(t,e)=>{const n={lng:M.getState().language};return In.rooftopElementBoundaryCheck(t,e)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Do(j.t("message.MoveOutsideBoundaryCancelled",n)):M.getState().resizeHandleType?Do(j.t("message.ResizingOutsideBoundaryCancelled",n)):M.getState().rotateHandleType&&Do(j.t("message.RotationOutsideBoundaryCancelled",n)),!1)},aye=(t,e,n)=>{const o={lng:M.getState().language};return In.rooftopSPCollisionCheck(t,e,n)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Do(j.t("message.MoveCancelledBecauseOfOverlap",o)):M.getState().resizeHandleType?Do(j.t("message.ResizingCancelledBecauseOfOverlap",o)):M.getState().rotateHandleType&&Do(j.t("message.RotationCancelledBecauseOfOverlap",o)),!1)},Z$=(t,e,n,o,i,r,a)=>{t!==null&&M.getState().set(l=>{if(t!==null){for(const s of l.elements)if(s.parentId===e&&s.foundationId){if(s.type===z.SolarPanel){const u=new re(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}else if(s.type===z.Window){const u=new re(s.cx,s.cy,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.rotation=[...p],s.cz=g)}else if(s.type===z.Sensor||s.type===z.Light){const u=new re(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}}}})},VW=(t,e,n,o,i)=>{t.button!==2&&(t.intersections[0].eventObject.name!==t.eventObject.name||(eqe(t,n,e),l$t(t,e,n,o,i)))},GW=(t,e)=>{const n=M.getState().selectedElement;if(!n||!In.isValidOnRoof(n))return;const o=M.getState().getElementById(n.id);if(o&&M.getState().moveHandleType&&wd.getIntersectionObjects(t)[0].eventObject.userData.roofId===e.id&&o.foundationId){const a=M.getState().getElementById(o.foundationId);if(a)switch(o.type){case z.SolarPanel:{const l=o,s=In.getRoofBoundaryVertices(e),c=In.getSolarPanelVerticesOnRoof(l,a);!rye(c,s)||!aye(l,a,c)?wd.undoInvalidOperation():wd.addUndoableMove();break}case z.Sensor:wd.addUndoableMove();break;case z.Light:wd.addUndoableMove();break}}M.getState().set(i=>{i.moveHandleType=null})},XW=(t,e)=>{const n=M.getState().getSelectedElement();if(!(!n||!In.isValidOnRoof(n)))switch(n.type){case z.Sensor:case z.Light:case z.SolarPanel:{if(n.type===z.SolarPanel&&n.parentType===void 0)return;if(M.getState().moveHandleType){const o=wd.getIntersectionObjects(t);o[0].eventObject.userData.roofId===e&&M.getState().set(r=>{for(const a of r.elements)if(a.id===n.id){const{roofId:l,foundation:s,centroid:c,roofSegments:u}=o[0].eventObject.userData;if(s&&c&&u&&l){const d=o[0].point,f=new re().subVectors(d,new re(s.cx,s.cy)).applyEuler(new Qt(0,0,-s.rotation[2])),p=f.clone().sub(c),{normal:g,rotation:A}=In.computeState(u,p);a.cx=f.x/s.lx,a.cy=f.y/s.ly,a.cz=f.z-s.lz,a.rotation=[...A],a.normal=g.toArray(),a.parentId=l,a.foundationId=s.id,a.type===z.SolarPanel&&(a.parentType=z.Roof,a.color="#fff"),r.selectedElement&&(r.selectedElement.parentId=l,r.selectedElement.foundationId=s.id),ht.getState().setPrimitiveStore("showWallIntersectionPlaneId",null)}break}})}}}},dR=(t,e)=>{t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(n=>{n.contextMenuObjectType=z.Roof,n.pastePoint.copy(t.intersections[0].point);for(const o of n.elements)if(o.id===e)if(o.selected=!0,n.selectedElement=o,n.selectedElementIdSet.has(e))for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id);else if(n.multiSelectionsMode){n.selectedElementIdSet.add(e);for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id)}else n.selectedElementIdSet.clear(),n.selectedElementIdSet.add(e);else o.selected=!1}))},Qf=({position:t,onPointerDown:e,onPointerUp:n,onPointerOver:o})=>{const i=M(dn),r=UH(),{gl:a}=Xi(),l=m.useRef(!1),s=m.useRef(!1),c=m.useRef(!1),u=m.useRef(null),[d,f]=m.useState("white"),p=A=>{A?(f(nr),a.domElement.style.cursor="pointer"):(f("white"),a.domElement.style.cursor="default")};m.useEffect(()=>{const A=()=>{s.current&&(c.current=!0),!s.current&&l.current&&p(!1),l.current=!1};return window.addEventListener("pointerup",A),()=>{window.removeEventListener("pointerup",A)}},[]);const g=A=>{if(A.intersections.length>0){for(const{eventObject:w}of A.intersections)if(w.name==="Roof Handle")return w===u.current}return!1};return h.jsx(ts,{name:"Roof Handle",ref:u,args:[r],position:t,onPointerMove:A=>{g(A)?(c.current=!1,s.current||(s.current=!0,p(!0))):f("white")},onPointerOut:A=>{c.current||(l.current||(A.intersections.length>0&&A.intersections[0].eventObject.name==="Roof Handle"?f("white"):p(!1)),s.current=!1,i(w=>{w.hoveredHandle=null}))},onPointerDown:A=>{g(A)&&(e&&e(A),l.current=!0)},onPointerUp:A=>{g(A)&&n&&n(A)},onPointerOver:A=>{g(A)&&o&&o(A)},onPointerLeave:A=>{g(A)&&i(w=>{w.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:d})})},s$t=({roofModel:t,foundationModel:e})=>{const n=M(hp),{id:o,wallsId:i,roofType:r}=t;return m.useEffect(()=>{i.length===0&&n(o,!1)},[i]),(()=>{switch(r){case Vo.Pyramid:return h.jsx(Cvt,{roofModel:t,foundationModel:e});case Vo.Gable:return h.jsx(Wvt,{roofModel:t,foundationModel:e});case Vo.Hip:return h.jsx(jvt,{roofModel:t,foundationModel:e});case Vo.Gambrel:return h.jsx(zvt,{roofModel:t,foundationModel:e});case Vo.Mansard:return h.jsx(Vvt,{roofModel:t,foundationModel:e});default:return null}})()};function BH(t,e){return t.roofModel===e.roofModel&&t.foundationModel.lx===e.foundationModel.lx&&t.foundationModel.ly===e.foundationModel.ly&&t.foundationModel.lz===e.foundationModel.lz}const c$t=be.memo(s$t,BH),jH=t=>{const e=m.useMemo(()=>{let r;switch(t){case Ui.NoTexture:r=eg;break;case Ui.Texture01:r=nvt;break;case Ui.Texture02:r=ovt;break;case Ui.Texture03:r=ivt;break;case Ui.Texture04:r=rvt;break;case Ui.Texture05:r=avt;break;case Ui.Texture06:r=lvt;break;case Ui.Texture07:r=svt;break;default:r=tvt}return new nf().load(r,a=>{switch(a.wrapS=a.wrapT=Ss,t){case Ui.NoTexture:case Ui.Default:a.repeat.set(5,3);break;case Ui.Texture01:a.repeat.set(.5,.25);break;case Ui.Texture03:a.repeat.set(.9,.9);break;case Ui.Texture04:case Ui.Texture05:case Ui.Texture06:a.repeat.set(.75,.75);break;default:a.repeat.set(.5,.5)}o(a),i()})},[t]),[n,o]=m.useState(e),{invalidate:i}=Xi();return n},eQ=(t,e)=>{const n=M(sA),o=M(hu),i=n&&o;return{transparent:t||i,opacity:Math.min(e!==void 0?e:1,i?.25:1)}},tqe=(t,e,n)=>{const o=M(l=>l.elements.filter(s=>s.foundationId===t&&s.type===z.Wall),a3),i=l=>o.find(s=>s.id===l),r=m.useRef(!1);return{currentWallArray:m.useMemo(()=>{for(const l of n){let s=i(l);if(!s)return[];const c=[],u=s;let d=0;for(;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.leftJoints[0]);)if(s.leftJoints[0]!==u.id)s=i(s.leftJoints[0]);else return c.reverse(),r.current=!0,c;for(c.reverse(),s=i(u.rightJoints[0]),d=0;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.rightJoints[0]&&s.rightJoints[0]!==u.id);)s=i(s.rightJoints[0]);if(r.current=!1,c.length>1)return c}return[]},[n,o]),isLoopRef:r}},lye=(t,e)=>{const n=M(i=>i.elements.filter(r=>r.foundationId===e&&r.type===z.Wall),a3);return m.useMemo(()=>{var f;const i=p=>n.find(g=>g.id===p),r=new Map,a=new Map,l=i(t);let s=l,c=0,u=!1;for(;s&&s.type===z.Wall&&c<100;){r.set(s.id,s);const p=s.relativeAngle.toFixed(1);if(a.has(p)?(f=a.get(p))==null||f.push(s):a.set(p,[s]),s.rightJoints.length!==0){if(s=i(s.rightJoints[0]),s&&s.id===l.id){u=!0;break}c++}else s=null}if(!u||a.size!==4)return null;const d=[];for(const[p,g]of a){let A=0;for(const v of g){const T=r.get(v.leftJoints[0]),y=r.get(v.rightJoints[0]);if(T&&T.relativeAngle.toFixed(1)!==p&&A++,y&&y.relativeAngle.toFixed(1)!==p&&A++,A>2)break}if(A!==2)return null;let w=null,b=null,C=0,P=-1;for(const v of g){const T=r.get(v.leftJoints[0]),y=r.get(v.rightJoints[0]);C=Math.max(C,v.lz),P=Math.max(P,v.eavesLength),T&&T.relativeAngle.toFixed(1)!==p&&(w=v),y&&y.relativeAngle.toFixed(1)!==p&&(b=v)}w&&b&&C>0&&P!==-1&&d.push({leftPoint:new re().fromArray(w.leftPoint),rightPoint:new re().fromArray(b.rightPoint),relativeAngle:w.relativeAngle,lz:C,eavesLength:P,wallsId:g.map(v=>v.id)})}return d.length!==4?null:d},[n])},sye=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestComposedWallHeight(t,n),[t]),i=m.useMemo(()=>o+e,[o,e]);return{highestWallHeight:o,topZ:i}},nqe=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestWallHeight(t,n),[t]),[i,r]=m.useState(e),a=o+i;return m.useEffect(()=>{e!==i&&r(e)},[e]),{highestWallHeight:o,topZ:a,riseInnerState:i,setRiseInnerState:r}},JW=(t,e,n,o,i,r)=>{const a=ht(ZL),l=ht(tge),s=ht(QL),c=()=>{const u=f=>f.clone().add(e);let d=[];if(o)if(i===Vo.Gambrel)d.push(dye(n).map(u));else{const f=[];for(const p of n)f.push(p.points[1].clone().add(e));d.push(f)}else{for(const f of n){const p=f.points;if(p.length===6)d.push(p.slice(3).map(u));else if(p.length===8)d.push(p.slice(4).map(u));else throw new Error("Invalid Roof segment data")}r&&d.push(r)}return Sn.getState().setRoofSegmentVertices(t,d),d};return(a||l||s)&&c(),m.useEffect(()=>{c()},[n]),c},KW=t=>{const e=ht(QL),n=ht(wq);(e||n)&&t()},qW=(t,e)=>{const n=M(AH);m.useEffect(()=>{t.rise===void 0&&M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Roof){const r=i;r.rise===void 0&&(r.rise=r.lz-e,r.lz=0);break}})},[n])},u$t=()=>{const[,t]=m.useState(!1);m.useEffect(()=>{t(e=>!e)},[])},tQ=()=>{const t=m.useRef(!0);return t.current?(t.current=!1,!0):!1},cye=(t,e,n,o,i,r,a)=>{const l=M(s=>s.updateElementOnRoofFlag);m.useEffect(()=>{l&&(Z$(t,e,n,o,i,r,a),M.getState().setUpdateElementOnRoofFlag(!1))},[i,r,l])},d$t=(t,e,n,o,i,r,a)=>{const l=tQ();m.useEffect(()=>{l||Z$(t,e,n,o,i,r,a)},[n])},uye=(t,e,n,o,i,r,a)=>{d$t(t,e,n,o,i,r,a),cye(t,e,n,o,i,r,a)},$W=(t,e,n,o)=>{const i=ZKe(e);return m.useMemo(()=>({roofId:t,foundation:i,centroid:n,roofSegments:o}),[t,n,o,i])},Kbe=(t,e)=>{const[n,o,i,r]=e;t.moveTo(n.points[0].x,n.points[0].y),t.lineTo(n.points[1].x,n.points[1].y),t.lineTo(r.points[0].x,r.points[0].y),t.lineTo(r.points[1].x,r.points[1].y),t.closePath()},dye=(t,e)=>{const n=[],[o,i,r,a]=t;return n.push(o.points[0].clone()),n.push(o.points[1].clone()),n.push(a.points[0].clone()),n.push(a.points[1].clone()),e?(e.push(...n),e):n},_G=({uuid:t,shape:e,thickness:n,holeMeshes:o,simulation:i,castShadow:r,receiveShadow:a,children:l})=>{const s=m.useRef(null);if(s.current&&(s.current.geometry=new H9(e,{steps:1,depth:n,bevelEnabled:!1}),s.current.updateMatrix(),o.length>0)){const c=[];for(let d=0;d{const f=M.getState().world,p=M(ss),g=ht(cs),A=ht(i3),w=M(X2),b=M(q9),C=M($9),P=Sn($L),v=Sn.getState().hourlyHeatExchangeArrayMap,T=m.useRef(0),y=m.useRef(),S=m.useRef(),{transparent:x,opacity:R}=eQ(),H=M(O=>O.elements.filter(J=>J.type===z.Window&&J.parentId===t),a3),D=m.useMemo(()=>{if(!A||e&&e.notBuilding)return;const O=v.get(t);if(!O)return;const J=O.reduce((Ae,me)=>Ae+me,0),Z=P(t);if(!Z||!Z[0])return;const ie=[],ee=Z[0].map(Ae=>Ae.clone().sub(i)),q=K9*(f.solarRadiationHeatmapGridCellSize??.5),ae=ee[0].clone(),ne=ee[1].clone(),se=ee[2].clone(),le=new re().subVectors(ne,ae),te=new re().subVectors(se,ae),he=new re().subVectors(se,ne),pe=le.length(),fe=new re().crossVectors(te,he).length()/pe,$=Math.max(2,Math.floor(pe/q)),de=Math.max(2,Math.floor(fe/q));le.normalize(),te.normalize(),he.normalize();const Se=new re().crossVectors(te,he).normalize(),Ce=le.multiplyScalar(.5*pe/$),ve=new re().crossVectors(Se,le).normalize().multiplyScalar(.5*fe/de),Ie=ae.clone().add(Ce).add(ve).add(new re(0,0,r));Ce.multiplyScalar(2),ve.multiplyScalar(2),y.current=Se.clone().multiplyScalar(.1);const ze=new re,ye=new Array;for(const Ae of ee)ye.push({x:Ae.x,y:Ae.y});const oe=xe.getPolygonArea(ye);if(oe===0)return;const ge=J/oe*(w??Gm);T.current=ge<0?1:0,S.current=new Qt(-Math.sign(ge)*Vt,0,0);for(let Ae=0;Ae<$;Ae++){const me=Ce.clone().multiplyScalar(Ae);for(let Pe=0;Pe{if(o.length===0)return[new re];const O=[];if(n===Vo.Gambrel){dye(o,O);const J=O.reduce((Z,ie)=>Math.max(Z,ie.z),0);O.forEach(Z=>Z.setZ(J))}else{O.push(o[0].points[0]);for(const J of o){const Z=J.points[1];O.push(Z)}}return O},[o,n]),W=m.useMemo(()=>new re(0,0,r),[r]),N=h.jsx(Fn,{points:k,lineWidth:l,color:a}),L=jH(u),E=m.useMemo(()=>{const O=new Ml;if(o.length===0)return O;if(n===Vo.Gambrel)Kbe(O,o);else{const J=o[0].points[0];O.moveTo(J.x,J.y);for(const Z of o){const ie=Z.points[1];O.lineTo(ie.x,ie.y)}O.closePath()}return O},[o,i,n]),U=m.useMemo(()=>{const O=new Ml;if(o.length===0)return O;if(n===Vo.Gambrel)Kbe(O,o);else{const J=o[0].points[0];O.moveTo(J.x,J.y);for(const Z of o){const ie=Z.points[1];O.lineTo(ie.x,ie.y)}O.closePath()}if(H.length>0)for(const J of H){const Z=new re(J.cx,J.cy,J.cz).sub(i);switch(J.windowType){case Sr.Polygonal:{const[ie,ee]=J.polygonTop??jp,[q,ae,ne]=[J.lx/2,J.lz/2,ie*J.lx],se=iG(q,ae,ne,ee,Z.x,Z.y);O.holes.push(se);break}case Sr.Arched:{const ie=oG(J.lx,J.lz,J.archHeight,Z.x,Z.y);O.holes.push(ie);break}default:{const ie=new Ml,[ee,q]=[J.lx/2,J.lz/2];ie.moveTo(Z.x-ee,Z.y-q),ie.lineTo(Z.x+ee,Z.y-q),ie.lineTo(Z.x+ee,Z.y+q),ie.lineTo(Z.x-ee,Z.y+q),ie.closePath(),O.holes.push(ie)}}}return O},[o,i,H,n]),F=m.useMemo(()=>H.map(O=>{const[J,Z,ie]=O.rotation,ee=new re(O.cx,O.cy,O.cz).sub(i),q=new Qt().fromArray([O.rotation[0],O.rotation[1],O.rotation[2],"ZXY"]);switch(O.windowType){case Sr.Polygonal:{const[ae,ne]=O.polygonTop??jp,[se,le,te]=[O.lx/2,O.lz/2,ae*O.lx],he=iG(se,le,te,ne),pe=new es(new H9([he],{steps:1,depth:O.ly,bevelEnabled:!1})),fe=new re(0,0,-O.ly).applyEuler(q);return pe.position.copy(ee.clone().add(fe)),pe.rotation.copy(q),pe.updateMatrix(),pe}case Sr.Arched:{const ae=oG(O.lx,O.lz,O.archHeight),ne=new es(new H9([ae],{steps:1,depth:O.ly,bevelEnabled:!1})),se=new re(0,0,-O.ly).applyEuler(q);return ne.position.copy(ee.clone().add(se)),ne.rotation.copy(q),ne.updateMatrix(),ne}default:{const ae=new es(new X9(O.lx,O.lz,O.ly*2));return ae.position.copy(ee),ae.rotation.set(J,Z,ie),ae.updateMatrix(),ae}}}),[H,r]),B=u===Ui.NoTexture&&c&&c===s,_=p&&!x,Y=g&&d;return h.jsxs(h.Fragment,{children:[B&&!Y?h.jsx(_G,{uuid:t,simulation:!0,shape:E,holeMeshes:F,thickness:r,castShadow:_,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:c,transparent:x,opacity:R})}):h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{uuid:t,userData:{simulation:!0},name:"Flat roof top shape",position:[0,0,r+.001],receiveShadow:p,children:[h.jsx("shapeGeometry",{args:[U]}),Y?h.jsx("meshBasicMaterial",{map:d,side:ia}):h.jsx("meshStandardMaterial",{map:L,color:c,transparent:x,opacity:R,side:ia})]}),h.jsx(_G,{shape:E,holeMeshes:F,thickness:r,castShadow:_,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:s??"white",transparent:x,opacity:R})})]}),N,h.jsxs("group",{position:[0,0,r],children:[N,k.map((O,J)=>{const Z=[O.clone().sub(W),O];return h.jsx(Fn,{points:Z,lineWidth:l,color:a},J)})]}),D&&D.map((O,J)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:O,name:"Heat Flux "+J,lineWidth:C??Xm,color:b??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:y.current?O[T.current].clone().add(y.current):O[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:S.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:b??g0})})]},J))]})},oqe="/aladdin/assets/foundation_01--kFbnI98.png",iqe="/aladdin/assets/foundation_02-wZzxF61c.png",rqe="/aladdin/assets/foundation_03-CrR6CCyr.png",aqe="/aladdin/assets/foundation_04-k0ozbTjk.png",lqe="/aladdin/assets/foundation_05-Bwrj98Mu.png",sqe="/aladdin/assets/foundation_06-BOa0J0il.png",cqe="/aladdin/assets/foundation_07-C9gRAfER.png",oQ="/aladdin/assets/helvetiker_regular.typeface-B9JafPRX.fnt",fye=be.memo(({element:t,height:e})=>{const n=M(sW),o=M(ty),i=M(Kwt),r=M(rr),a=M(sA),[l,s]=m.useState(),[c,u]=m.useState(10),[d,f]=m.useState(0);m.useEffect(()=>{if(n||o){const{cx:P,cy:v,lx:T,ly:y,type:S}=t;switch(S){case z.SolarPanel:{const x=r(t);if(x){const R=P*x.lx,H=v*x.ly;s(new re(R,H,e??x.lz))}break}case z.Foundation:{s(new re(P,v,a?.1:0));break}case z.Cuboid:{const{pos:x}=xe.getWorldDataById(t.id),{rot:R}=xe.getWorldDataById(t.parentId);s(new re(x.x,x.y,x.z-t.lz/2+.2)),f(R);break}default:{s(new re(P,v,a?.2:0));break}}u(Math.max(5,Math.hypot(T,y)*.75))}},[t,n,o,a,e]);const p=aA(sq,oQ),g=c*.05,A={font:p,height:0,size:g},w=new Array(25).fill(0),b=P=>P===0?-g*.3:P>0&&P<7?-g*.8:-g*1.2,C=a?"#222":"#ccc";return h.jsx(h.Fragment,{children:l&&h.jsxs("group",{position:l,rotation:[Vt,d,0],name:"Polar Auxiliary",children:[h.jsx("polarGridHelper",{args:[c,24,6,120,C,C],userData:{unintersectable:!0}}),h.jsx(Y6,{args:[c*.98,c,24,1,Vt,i],userData:{unintersectable:!0},rotation:[-Vt,0,0],children:h.jsx("meshBasicMaterial",{side:ji,color:"yellow"})}),h.jsx("group",{rotation:[0,i,0],children:h.jsx("mesh",{position:[-.5,0,-c*.9],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:h.jsx("textGeometry",{args:[`${-xe.toDegrees(i).toFixed(1)}°`,A]})})}),w.map((P,v)=>{let T=Math.ceil(v/2)*(v%2===0?1:-1);T===-12&&(T=12);const y=b(Math.abs(T));return h.jsx("group",{rotation:[0,T*Math.PI/12,0],children:h.jsxs("mesh",{position:[y,0,-c*1.05],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[`${-15*T}°`,A]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},v)})]})})}),l7=be.memo(({id:t,position:e,ratio:n,handleType:o,hoverHandle:i,noHoverHandle:r})=>{const a=M(Vc),l=M(sW),c=M(ty)===o||l===o?nr:pr,u=h.jsx("meshBasicMaterial",{color:c});return h.jsxs("group",{position:e,rotation:[Vt,0,0],scale:n,name:o,children:[h.jsxs("group",{children:[h.jsx(B1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:u}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:u}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:u})]}),h.jsx(sa,{name:o,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:d=>{a(t,d,zo.Rotate)},onPointerOver:d=>{i(d,o)},onPointerOut:r})]})}),s7=be.memo(({hx:t,hy:e,hz:n,lineColor:o="black",lineWidth:i=.2})=>h.jsx(Fn,{points:[[-t,-e,-n],[t,-e,-n],[t,-e,n],[t,-e,-n],[t,e,-n],[t,e,n],[t,e,-n],[-t,e,-n],[-t,e,n],[-t,e,-n],[-t,-e,-n],[-t,-e,n],[t,-e,n],[t,e,n],[-t,e,n],[-t,-e,n]],name:"Wireframe",userData:{unintersectable:!0},lineWidth:i,color:o}));var Ki=(t=>(t.left="Left",t.right="Right",t.loop="Loop",t.null="Null",t))(Ki||{});const hye=be.memo(({element:t,verticalLift:e})=>{const n=M(Sc),o=M(hu),i=M(yh),r=M(ty),a=t.lx/2,l=t.ly/2,s=.2,c=1,u=.5,d=t.lineColor??"white",f="darkorchid",p=Math.max(1,(a+l)/32),g=m.useMemo(()=>({lng:n}),[n]),A=m.useMemo(()=>{switch(t.type){case z.Cuboid:return Math.max(.5,Math.max(a,l)*.1)}return .5},[t.type,a,l]),w=m.useMemo(()=>{switch(t.type){case z.Cuboid:return o?t.lz/2+.1:-t.lz/2+.1;case z.Foundation:return t.lz+.1}return .1},[o,t.type,t.lz]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[-a-A,0,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-A,-l,w],[-a-A,l,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-A+s,-l+3*s,w],[-a-A,-l,w],[-a-A-s,-l+3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-A+s,l-3*s,w],[-a-A,l,w],[-a-A-s,l-3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,w],[-a-A*2,-l,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,w],[-a-A*2,l,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[a+A,0,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+A,-l,w],[a+A,l,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+A+s,-l+3*s,w],[a+A,-l,w],[a+A-s,-l+3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+A+s,l-3*s,w],[a+A,l,w],[a+A-s,l-3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,w],[a+A*2,-l,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,w],[a+A*2,l,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]),P=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,-l-A,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l-A,w],[a,-l-A,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,-l-A-s,w],[-a,-l-A,w],[-a+3*s,-l-A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,-l-A-s,w],[a,-l-A,w],[a-3*s,-l-A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,w],[-a,-l-A*2,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,w],[a,-l-A*2,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]),v=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,l+A,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l+A,w],[a,l+A,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,l+A-s,w],[-a,l+A,w],[-a+3*s,l+A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,l+A-s,w],[a,l+A,w],[a-3*s,l+A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,w],[-a,l+A*2,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,w],[a,l+A*2,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]);if(i)if(t.type===z.Wall)switch(i){case gt.LowerLeft:return P;case gt.LowerRight:return P}else switch(i){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[b,P]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[C,P]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[b,v]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}if(r)if(t.type===z.Wall)switch(r){case gt.LowerLeft:return P;case gt.LowerRight:return P}else switch(r){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[b,P]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[C,P]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[b,v]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}return h.jsx(h.Fragment,{})}),f$t=1.361,qbe=9.8067,$be=1012,QY=1.225,x4=273.15,Qbe=567e-10,h$t=[.103,.104,.109,.12,.13,.137,.138,.134,.121,.111,.106,.103];var vr=(t=>(t[t.NONE=0]="NONE",t[t.KASTEN_YOUNG=1]="KASTEN_YOUNG",t[t.SPHERE_MODEL=2]="SPHERE_MODEL",t))(vr||{});const A2=1440,Mue=Math.PI/720,Sre=Math.PI/182.5,Zbe=30,p$t=120;class eSe{constructor(e,n){this.sunrise=e,this.sunset=n}daylight(){return this.sunset-this.sunrise}}const Z3=.5,f0=.1,eP=23.45/180*Math.PI,g$t=1e3*60*60*24,xC=720,QW=t=>{const e=Math.floor((t.getTime()-new Date(t.getFullYear(),0,0).getTime())/g$t);return eP*Math.sin(na*(284+e)/365.25)},sl=(t,e)=>{const n=Math.tan(xe.toRadians(e))*Math.tan(QW(t));if(Math.abs(n)>1)return new eSe(0,n>0?xC*2:0);const o=60*Math.acos(-n)/xe.toRadians(15);return new eSe(xC-o,xC+o)},pye=t=>(t.getHours()*60+t.getMinutes()-xC)/xC*Math.PI,ZY=t=>(t/xC-1)*Math.PI,zr=(t,e)=>$5(1,pye(t),QW(t),xe.toRadians(e)).normalize(),$5=(t,e,n,o)=>{const i=Math.cos(n),r=Math.sin(n),a=Math.cos(o),l=Math.sin(o),s=Math.cos(e),c=Math.sin(e),u=Math.asin(r*l+i*s*a),d=c*i,f=a*r-s*i*l,p=Math.atan2(f,d),g=new re(t,p,u);return xe.sphericalToCartesianZ(g),g.x=-g.x,g},m$t=t=>{const e=na*t/365,n=1.00011+.034221*Math.cos(e)+.00128*Math.sin(e)+719e-6*Math.cos(2*e)+77e-6*Math.sin(2*e);return f$t*n},y$t=(t,e,n)=>{let o;switch(t){case vr.NONE:return 1;case vr.KASTEN_YOUNG:return o=e.angleTo(Po),1/(Math.cos(o)+.50572*Math.pow(96.07995-o/Math.PI*180,-1.6364));default:{o=e.angleTo(Po);const i=Math.cos(o),r=708,a=n/9e3;return Math.sqrt((r+a)*(r+a)*i*i+(2*r+1+a)*(1-a))-(r+a)*i}}},Rr=(t,e,n,o)=>m$t(e)*Math.pow(.7,Math.pow(y$t(o,t,n),.678)),tr=(t,e,n,o)=>{let i=0;const r=n.dot(Po),a=.5*(1+r);a>0&&(i+=h$t[e]*a*o);const l=.5*Math.abs(1-r);return xe.isZero(l)||(i+=t.albedo*l*o),i},A$t=be.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=ht(qBe),i=ht(vf),r=ht(dge),a=ht(cs),l=M(wf),s=Sn(i1),[c,u]=m.useState(null),d=m.useRef(null),{lx:f,ly:p,lz:g,solarUpdraftTower:A}=t,w=((A==null?void 0:A.collectorRadius)??100)*.016,b=m.useMemo(()=>zr(new Date(e),n),[e,n]),C=m.useMemo(()=>{const v=[],T=(((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))+g)/2,y=(A==null?void 0:A.chimneyHeight)??Math.max(f,p),S=(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,x=(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),R=S*1.15,H=x*.5,D=x,k=x*2,W=x*4,N=6;for(let L=0;L{const v=[],T=((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))+g,y=(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,S=25,x=2*y/S;for(let R=0;R<=S;R++){const H=[],D=-y+R*x,k=Math.sqrt(y*y-D*D);H.push(new re(-k,D,T)),H.push(new re(k,D,T)),v.push({points:H})}for(let R=0;R<=S;R++){const H=[],D=-y+R*x,k=Math.sqrt(y*y-D*D);H.push(new re(D,-k,T)),H.push(new re(D,k,T)),v.push({points:H})}return v},[f,p,g,A==null?void 0:A.collectorRadius,A==null?void 0:A.collectorHeight]);return m.useEffect(()=>{if(t&&a){const v=s(t.id+"-sut");v&&u(xe.fetchHeatmapTexture(v,l??5))}},[a,l]),rA((v,T)=>{(o||i&&!r)&&b.z>0&&d.current&&d.current.children.forEach(y=>{if(y.name==="Streamlines"){const S=y;S.material.uniforms.dashOffset.value-=T*w*10}})}),h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0,simulation:!0},name:"Chimney",castShadow:!0,receiveShadow:!1,args:[(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(A==null?void 0:A.chimneyHeight)??Math.max(f,p),16,2,!0],position:[0,0,((A==null?void 0:A.chimneyHeight)??Math.max(f,p))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Chimney Base",castShadow:!0,receiveShadow:!1,args:[(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),((A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)))*1.6,((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))*4,16,2,!0],position:[0,0,((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))*2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Greenhouse Wall",castShadow:!0,receiveShadow:!0,args:[(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,(A==null?void 0:A.collectorHeight)??Math.max(3,10*g),50,2,!0],position:[0,0,((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(KC,{uuid:t.id+"-sut",userData:{unintersectable:!0,simulation:!0},name:"Greenhouse Ceiling",castShadow:!1,receiveShadow:!1,args:[(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,g+((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))],children:a&&c?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:c}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:50,side:ia,color:"lightskyblue",transparent:!0,opacity:.75})}),h.jsx(KC,{userData:{unintersectable:!0},name:"Greenhouse Ground",castShadow:!1,receiveShadow:!0,args:[(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,.1],children:h.jsx("meshStandardMaterial",{attach:"material",color:"dimgray"})}),P&&P.map((v,T)=>h.jsx(Fn,{name:"Greenhouse Roof Grid Lines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"gray"},T)),b.z>0&&C&&h.jsx("group",{ref:d,children:C.map((v,T)=>{const y=v.points[0].x+v.points[1].x,S=v.points[0].y+v.points[1].y,x=new Qt(0,0,na*T/C.length+Vt),R=w,H=w;return h.jsxs(be.Fragment,{children:[h.jsx(Fn,{name:"Streamlines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.5,dashed:!0,dashSize:R,gapSize:H,color:"white"}),h.jsx(cu,{userData:{unintersectable:!0},args:[w,w*4,4,2],name:"Streamline Inlet Arrow Head",position:[y*.1,S*.1,v.points[0].z],rotation:x,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(cu,{userData:{unintersectable:!0},args:[w,w*4,4,2],name:"Streamline Inlet Arrow Head",position:[y*.9,S*.9,v.points[0].z],rotation:x,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})})]},T)})})]})}),gye="/aladdin/assets/glow-CV5NAijT.png",w$t=be.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=Ab(gye),i=m.useMemo(()=>zr(new Date(e),n),[e,n]),{lz:r,solarPowerTower:a}=t,l=(a==null?void 0:a.towerRadius)??1,s=(a==null?void 0:a.towerHeight)??20,c=s/10,u=l*1.5,d=Math.max(c,u)*2.4;return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Focus Tower",castShadow:!0,receiveShadow:!1,args:[l,l,s,6,2],position:[0,0,s/2+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Center Receiver",castShadow:!0,receiveShadow:!1,args:[u,u,c,10,2],position:[0,0,s+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),i.z>0&&h.jsx("mesh",{position:[0,0,s+r/2],children:h.jsx("sprite",{scale:[d,d,d],children:h.jsx("spriteMaterial",{map:o,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})})]})}),v$t=be.memo(({foundation:t})=>{const{ly:e,lz:n,solarAbsorberPipe:o}=t,i=(o==null?void 0:o.absorberHeight)??10,r=(o==null?void 0:o.apertureWidth)??.6,a=(o==null?void 0:o.relativeLength)??.9,l=(o==null?void 0:o.poleNumber)??5,s=m.useMemo(()=>{const c=[],u=a*e/(l+1);for(let d=1;d<=l;d++)c.push(new re(0,d*u-a*e/2,i/2+n/2));return c},[e,n,l,i,a]);return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 1",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,-a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 2",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Horizontal Pipe",castShadow:!1,receiveShadow:!1,args:[r/2,r/2,a*e+r/2,6,2,!1,3*Vt,Math.PI],position:[0,0,i+n/2-r/4],rotation:[0,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),s&&s.map((c,u)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Solar Receiver Pole "+u,castShadow:!1,receiveShadow:!1,args:[r/8,r/8,i,4,2],position:c,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})},u))]})});class mx{static selectMe(e,n,o,i){var r,a,l;if(o.intersections.length>0&&o.intersections.filter(c=>!c.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===o.eventObject){for(const c of e.elements)c.id===n?(c.selected=!0,e.selectedElement=c,e.selectedElementHeight=c.lz):c.selected=!1;if(!e.selectedElement)return;if(i===zo.ContextMenu)if(e.selectedElementIdSet.has(n))for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id);else if(e.multiSelectionsMode){e.selectedElementIdSet.add(n);for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id)}else e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n);else e.multiSelectionsMode?e.selectedElementIdSet.has(n)?e.selectedElementIdSet.delete(n):e.selectedElementIdSet.add(n):(e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n));if(e.moveHandleType=null,e.resizeHandleType=null,e.rotateHandleType=null,i)switch(i){case zo.Move:((r=e.selectedElement)==null?void 0:r.type)===z.Tree||((a=e.selectedElement)==null?void 0:a.type)===z.Human?e.moveHandleType=yo.Default:e.moveHandleType=o.eventObject.name;break;case zo.Resize:e.resizeHandleType=o.eventObject.name;break;case zo.Rotate:e.rotateHandleType=o.eventObject.name;break;case zo.Select:e.selectedElementAngle=((l=o.object.parent)==null?void 0:l.rotation.z)??0;break}}}static selectNone(e){e.selectedElementIdSet.clear();for(const n of e.elements)n.selected=!1;e.selectedElement=null,e.selectedElementIdSet.clear()}static clearThenAddSelectedElementIdSet(e,n){e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n)}}var VG={exports:{}};/** +`}const o=new Blob([n],{type:"text/csv;charset=utf-8"});KKe.saveAs(o,e)},iye="/aladdin/assets/wall_edge-B4PmTeCj.png",Xqt="/aladdin/assets/wall_01-B-g_tqAI.png",Jqt="/aladdin/assets/wall_02-9M_qG3R_.png",Kqt="/aladdin/assets/wall_03-ChpvVFgd.png",qqt="/aladdin/assets/wall_04-BkmmH41c.png",$qt="/aladdin/assets/wall_05-DFi74_0h.png",Qqt="/aladdin/assets/wall_06-CtX-9FCz.png",Zqt="/aladdin/assets/wall_07-CJgSaJ5B.png",e$t="/aladdin/assets/wall_08-DwhD-VRH.png",t$t="/aladdin/assets/wall_09-D3ncCSYQ.png",n$t="/aladdin/assets/wall_10-RK6QVYt5.png",o$t=(t,e,n,o)=>{const i=c=>c.parentId===t||c.id===o,r=M(c=>{if(e){for(const u of c.elements)if(u.id===e)return u}return null}),a=M(c=>{if(n){for(const u of c.elements)if(u.id===n)return u}return null}),l=M(c=>JSON.stringify(c.elements.filter(i)));return{elementsOnWall:m.useMemo(()=>M.getState().elements.filter(c=>i(c)&&xe.isLegalOnWall(c.type)),[l]),leftWall:r,rightWall:a}},UH=(t=.3)=>{const e=M(r=>r.viewState.orthographic),n=M(r=>r.viewState.cameraPosition),o=M(r=>r.viewState.cameraZoom);let i;if(e)i=Math.max(t,15/o);else{const r=M.getState().viewState.panCenter,a=new re(...r),s=new re(...n).distanceTo(a);i=Math.max(t,s/100)}return i},qKe=(t,e)=>{const n=m.useMemo(()=>new nf,[]);return m.useMemo(()=>{let o;switch(t){case No.Default:o=iye;break;case No.NoTexture:o=eg;break;case No.Texture01:o=Xqt;break;case No.Texture02:o=Jqt;break;case No.Texture03:o=Kqt;break;case No.Texture04:o=qqt;break;case No.Texture05:o=$qt;break;case No.Texture06:o=Qqt;break;case No.Texture07:o=Zqt;break;case No.Texture08:o=e$t;break;case No.Texture09:o=t$t;break;case No.Texture10:o=n$t;break;default:o=eg}return e===hc.Stud&&(o=eg),n.load(o,i=>{i.wrapS=i.wrapT=Ss,i.offset.set(0,0);let r=.6,a=.6;switch(t){case No.Default:r=2,a=2;break;case No.Texture03:r=2,a=1;break;case No.Texture06:r=1,a=1;break}i.repeat.set(r,a),Zh()})},[t,e])},$Ke=t=>{const e=m.useRef(!0);ht(o=>o.foundationMovedFlag);let n=t;if(!e.current){const o=M.getState().elements.find(i=>i.id===t.id&&i.type===z.Foundation);o&&(n=o)}return e.current=!1,n},tK=class tK{static getIntersectionObjects(e){return e.intersections.filter(n=>n.eventObject.name.includes("Cuboid")||n.eventObject.name==="Foundation"||n.eventObject.name.includes("Roof")||n.eventObject.name.includes(tK.WALL_OUTSIDE_SURFACE_MESH_NAME))}static addUndoableMove(){const e=M.getState().selectedElement;if(!e)return;const n=M.getState().getElementById(e.id),o=ht.getState().oldParentId,i=ht.getState().oldFoundationId;if(!n||!o||!i)return;const r=e.type===z.SolarPanel,a=e.type===z.Polygon,l={name:"Move",timestamp:Date.now(),movedElementId:n.id,movedElementType:n.type,oldCx:e.cx,oldCy:e.cy,oldCz:e.cz,newCx:n.cx,newCy:n.cy,newCz:n.cz,oldParentType:r?e.parentType:void 0,newParentType:r?n.parentType:void 0,oldParentId:o,newParentId:n.parentId,oldFoundationId:i,newFoundationId:n.foundationId,oldNormal:new re().fromArray(e.normal),newNormal:new re().fromArray(n.normal),oldRotation:[...e.rotation],newRotation:[...n.rotation],undo(){s(this.movedElementId,[this.oldCx,this.oldCy,this.oldCz],this.oldParentId,this.newParentId,this.oldFoundationId,this.oldParentType,this.oldRotation,this.oldNormal,a?e.vertices:void 0)},redo(){s(this.movedElementId,[this.newCx,this.newCy,this.newCz],this.newParentId,this.oldParentId,this.newFoundationId,this.newParentType,this.newRotation,this.newNormal,a?n.vertices:void 0)}};M.getState().addUndoable(l);const s=(c,u,d,f,p,g,A,w,b)=>{M.getState().set(C=>{const P=C.elements.find(v=>v.id===c);if(P){if(P.type===z.Polygon){if(b){const v=P;v.vertices=[...b]}}else[P.cx,P.cy,P.cz]=[...u];if(d&&f&&p&&(P.parentId=d,P.foundationId=p,g&&P.type===z.SolarPanel&&(P.parentType=g),A&&(P.rotation=[...A]),w&&(P.normal=[w.x,w.y,w.z]),P.type===z.Window)){const v=C.elements.find(x=>x.id===d),T=C.elements.find(x=>x.id===f);if(!v||!T)return;const y=P.lx*T.lx,S=P.lz*T.lz;P.lx=y/v.lx,P.lz=S/v.lz}}})}}static undoInvalidOperation(){M.getState().set(e=>{var n;if(e.selectedElement){for(let o=0;o{const e={name:`Add ${t.type} on Roof`,timestamp:Date.now(),addedElement:t,undo:()=>{M.getState().removeElementById(t.id,!1)},redo:()=>{M.getState().set(n=>{n.elements.push(e.addedElement),n.selectedElement=e.addedElement})}};M.getState().addUndoable(e)},i$t=t=>{for(const e of t.intersections)if(e.eventObject.name.includes("Roof Segments Group"))return e.object.name.includes("Flat roof")?e.point.clone().setZ(e.point.z-.01):e.point;return t.intersections[0].point},r$t=(t,e,n,o,i)=>{if(t.intersections.length===0)return;const r=M.getState().objectTypeToAdd;if(r===z.None)return;const a=M.getState().getElementById(n),l=M.getState().getElementById(e);if(!a||!l)return;const s=i$t(t),c=new re().subVectors(s,new re(l.cx,l.cy,l.lz)).applyEuler(new Qt(0,0,-l.rotation[2])),u=c.clone().sub(i);switch(r){case z.SolarPanel:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeSolarPanel(a,M.getState().getPvModule(p.solarPanelModelName??"SPR-X21-335-BLK"),c.x/l.lx,c.y/l.ly,c.z,p.solarPanelOrientation??ui.landscape,p.solarPanelPoleHeight??1,p.solarPanelPoleSpacing??3,p.solarPanelTiltAngle??0,p.solarPanelRelativeAzimuth??0,d,f??[0,0,1],p.solarPanelFrameColor,void 0,void 0,z.Roof);M.getState().set(A=>{A.elements.push(g),A.selectedElementIdSet.clear(),A.selectedElementIdSet.add(g.id),A.actionModeLock||(A.objectTypeToAdd=z.None)}),$Y(g);break}case z.Window:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeWindow(a,c.x,c.y,c.z,z.Roof,f,.5,.5);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Sensor:{const{normal:d,rotation:f}=In.computeState(o,u),p=rl.makeSensor(a,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(g=>{g.elements.push(p),g.selectedElementIdSet.clear(),g.selectedElementIdSet.add(p.id),g.actionModeLock||(g.objectTypeToAdd=z.None)}),$Y(p);break}case z.Light:{const{normal:d,rotation:f}=In.computeState(o,u),p=M.getState().actionState,g=rl.makeLight(a,2,p.lightDistance,p.lightIntensity,p.lightColor,c.x/l.lx,c.y/l.ly,c.z,d,f??[0,0,1]);M.getState().set(A=>{A.elements.push(g),A.selectedElementIdSet.clear(),A.selectedElementIdSet.add(g.id),A.actionModeLock||(A.objectTypeToAdd=z.None)}),$Y(g);break}}},QKe=(t,e,n)=>{M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(o=>{if(o.contextMenuObjectType=null,o.groupActionMode)o.multiSelectionsMode||o.selectedElementIdSet.clear(),o.selectedElementIdSet.has(n)?o.selectedElementIdSet.delete(n):o.selectedElementIdSet.add(n);else for(const i of o.elements)i.id===e?(i.selected=!0,o.selectedElement=i,o.multiSelectionsMode?o.selectedElementIdSet.has(e)?o.selectedElementIdSet.delete(e):o.selectedElementIdSet.add(e):(o.selectedElementIdSet.clear(),o.selectedElementIdSet.add(e))):i.selected=!1}))},_W=(t,e,n)=>{const o={name:"Resize Roof Rise",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Roof,oldRise:e,newRise:n,undo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.oldRise,0)},redo:()=>{M.getState().updateRoofRiseById(o.resizedElementId,o.newRise,0)}};M.getState().addUndoable(o)},rye=(t,e)=>{const n={lng:M.getState().language};return In.rooftopElementBoundaryCheck(t,e)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Do(j.t("message.MoveOutsideBoundaryCancelled",n)):M.getState().resizeHandleType?Do(j.t("message.ResizingOutsideBoundaryCancelled",n)):M.getState().rotateHandleType&&Do(j.t("message.RotationOutsideBoundaryCancelled",n)),!1)},aye=(t,e,n)=>{const o={lng:M.getState().language};return In.rooftopSPCollisionCheck(t,e,n)?!0:(M.getState().moveHandleType||M.getState().viewState.orthographic?Do(j.t("message.MoveCancelledBecauseOfOverlap",o)):M.getState().resizeHandleType?Do(j.t("message.ResizingCancelledBecauseOfOverlap",o)):M.getState().rotateHandleType&&Do(j.t("message.RotationCancelledBecauseOfOverlap",o)),!1)},Z$=(t,e,n,o,i,r,a)=>{t!==null&&M.getState().set(l=>{if(t!==null){for(const s of l.elements)if(s.parentId===e&&s.foundationId){if(s.type===z.SolarPanel){const u=new re(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}else if(s.type===z.Window){const u=new re(s.cx,s.cy,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.rotation=[...p],s.cz=g)}else if(s.type===z.Sensor||s.type===z.Light){const u=new re(s.cx*t.lx,s.cy*t.ly,s.cz+t.lz).clone().sub(o),{segmentVertices:d,normal:f,rotation:p}=In.computeState(n,u,a);let g;d?g=In.getRooftopElementZ(d,u,i+r):g=i+r,f&&p&&g!==void 0&&(s.normal=f.toArray(),s.rotation=[...p],s.cz=g)}}}})},VW=(t,e,n,o,i)=>{t.button!==2&&(t.intersections[0].eventObject.name!==t.eventObject.name||(QKe(t,n,e),r$t(t,e,n,o,i)))},GW=(t,e)=>{const n=M.getState().selectedElement;if(!n||!In.isValidOnRoof(n))return;const o=M.getState().getElementById(n.id);if(o&&M.getState().moveHandleType&&wd.getIntersectionObjects(t)[0].eventObject.userData.roofId===e.id&&o.foundationId){const a=M.getState().getElementById(o.foundationId);if(a)switch(o.type){case z.SolarPanel:{const l=o,s=In.getRoofBoundaryVertices(e),c=In.getSolarPanelVerticesOnRoof(l,a);!rye(c,s)||!aye(l,a,c)?wd.undoInvalidOperation():wd.addUndoableMove();break}case z.Sensor:wd.addUndoableMove();break;case z.Light:wd.addUndoableMove();break}}M.getState().set(i=>{i.moveHandleType=null})},XW=(t,e)=>{const n=M.getState().getSelectedElement();if(!(!n||!In.isValidOnRoof(n)))switch(n.type){case z.Sensor:case z.Light:case z.SolarPanel:{if(n.type===z.SolarPanel&&n.parentType===void 0)return;if(M.getState().moveHandleType){const o=wd.getIntersectionObjects(t);o[0].eventObject.userData.roofId===e&&M.getState().set(r=>{for(const a of r.elements)if(a.id===n.id){const{roofId:l,foundation:s,centroid:c,roofSegments:u}=o[0].eventObject.userData;if(s&&c&&u&&l){const d=o[0].point,f=new re().subVectors(d,new re(s.cx,s.cy)).applyEuler(new Qt(0,0,-s.rotation[2])),p=f.clone().sub(c),{normal:g,rotation:A}=In.computeState(u,p);a.cx=f.x/s.lx,a.cy=f.y/s.ly,a.cz=f.z-s.lz,a.rotation=[...A],a.normal=g.toArray(),a.parentId=l,a.foundationId=s.id,a.type===z.SolarPanel&&(a.parentType=z.Roof,a.color="#fff"),r.selectedElement&&(r.selectedElement.parentId=l,r.selectedElement.foundationId=s.id),ht.getState().setPrimitiveStore("showWallIntersectionPlaneId",null)}break}})}}}},dR=(t,e)=>{t.intersections.length>0&&t.intersections[0].eventObject.name===t.eventObject.name&&(t.stopPropagation(),M.getState().set(n=>{n.contextMenuObjectType=z.Roof,n.pastePoint.copy(t.intersections[0].point);for(const o of n.elements)if(o.id===e)if(o.selected=!0,n.selectedElement=o,n.selectedElementIdSet.has(e))for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id);else if(n.multiSelectionsMode){n.selectedElementIdSet.add(e);for(const i of n.elements)n.selectedElementIdSet.has(i.id)&&i.type!==n.selectedElement.type&&n.selectedElementIdSet.delete(i.id)}else n.selectedElementIdSet.clear(),n.selectedElementIdSet.add(e);else o.selected=!1}))},Qf=({position:t,onPointerDown:e,onPointerUp:n,onPointerOver:o})=>{const i=M(dn),r=UH(),{gl:a}=Xi(),l=m.useRef(!1),s=m.useRef(!1),c=m.useRef(!1),u=m.useRef(null),[d,f]=m.useState("white"),p=A=>{A?(f(nr),a.domElement.style.cursor="pointer"):(f("white"),a.domElement.style.cursor="default")};m.useEffect(()=>{const A=()=>{s.current&&(c.current=!0),!s.current&&l.current&&p(!1),l.current=!1};return window.addEventListener("pointerup",A),()=>{window.removeEventListener("pointerup",A)}},[]);const g=A=>{if(A.intersections.length>0){for(const{eventObject:w}of A.intersections)if(w.name==="Roof Handle")return w===u.current}return!1};return h.jsx(ts,{name:"Roof Handle",ref:u,args:[r],position:t,onPointerMove:A=>{g(A)?(c.current=!1,s.current||(s.current=!0,p(!0))):f("white")},onPointerOut:A=>{c.current||(l.current||(A.intersections.length>0&&A.intersections[0].eventObject.name==="Roof Handle"?f("white"):p(!1)),s.current=!1,i(w=>{w.hoveredHandle=null}))},onPointerDown:A=>{g(A)&&(e&&e(A),l.current=!0)},onPointerUp:A=>{g(A)&&n&&n(A)},onPointerOver:A=>{g(A)&&o&&o(A)},onPointerLeave:A=>{g(A)&&i(w=>{w.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{attach:"material",color:d})})},a$t=({roofModel:t,foundationModel:e})=>{const n=M(hp),{id:o,wallsId:i,roofType:r}=t;return m.useEffect(()=>{i.length===0&&n(o,!1)},[i]),(()=>{switch(r){case Vo.Pyramid:return h.jsx(Tvt,{roofModel:t,foundationModel:e});case Vo.Gable:return h.jsx(Fvt,{roofModel:t,foundationModel:e});case Vo.Hip:return h.jsx(Uvt,{roofModel:t,foundationModel:e});case Vo.Gambrel:return h.jsx(Mvt,{roofModel:t,foundationModel:e});case Vo.Mansard:return h.jsx(Ovt,{roofModel:t,foundationModel:e});default:return null}})()};function BH(t,e){return t.roofModel===e.roofModel&&t.foundationModel.lx===e.foundationModel.lx&&t.foundationModel.ly===e.foundationModel.ly&&t.foundationModel.lz===e.foundationModel.lz}const l$t=be.memo(a$t,BH),jH=t=>{const e=m.useMemo(()=>{let r;switch(t){case Ui.NoTexture:r=eg;break;case Ui.Texture01:r=evt;break;case Ui.Texture02:r=tvt;break;case Ui.Texture03:r=nvt;break;case Ui.Texture04:r=ovt;break;case Ui.Texture05:r=ivt;break;case Ui.Texture06:r=rvt;break;case Ui.Texture07:r=avt;break;default:r=Z8t}return new nf().load(r,a=>{switch(a.wrapS=a.wrapT=Ss,t){case Ui.NoTexture:case Ui.Default:a.repeat.set(5,3);break;case Ui.Texture01:a.repeat.set(.5,.25);break;case Ui.Texture03:a.repeat.set(.9,.9);break;case Ui.Texture04:case Ui.Texture05:case Ui.Texture06:a.repeat.set(.75,.75);break;default:a.repeat.set(.5,.5)}o(a),i()})},[t]),[n,o]=m.useState(e),{invalidate:i}=Xi();return n},eQ=(t,e)=>{const n=M(sA),o=M(hu),i=n&&o;return{transparent:t||i,opacity:Math.min(e!==void 0?e:1,i?.25:1)}},ZKe=(t,e,n)=>{const o=M(l=>l.elements.filter(s=>s.foundationId===t&&s.type===z.Wall),a3),i=l=>o.find(s=>s.id===l),r=m.useRef(!1);return{currentWallArray:m.useMemo(()=>{for(const l of n){let s=i(l);if(!s)return[];const c=[],u=s;let d=0;for(;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.leftJoints[0]);)if(s.leftJoints[0]!==u.id)s=i(s.leftJoints[0]);else return c.reverse(),r.current=!0,c;for(c.reverse(),s=i(u.rightJoints[0]),d=0;s&&(!s.roofId||s.roofId===e)&&d++<100&&(c.push(s),s.rightJoints[0]&&s.rightJoints[0]!==u.id);)s=i(s.rightJoints[0]);if(r.current=!1,c.length>1)return c}return[]},[n,o]),isLoopRef:r}},lye=(t,e)=>{const n=M(i=>i.elements.filter(r=>r.foundationId===e&&r.type===z.Wall),a3);return m.useMemo(()=>{var f;const i=p=>n.find(g=>g.id===p),r=new Map,a=new Map,l=i(t);let s=l,c=0,u=!1;for(;s&&s.type===z.Wall&&c<100;){r.set(s.id,s);const p=s.relativeAngle.toFixed(1);if(a.has(p)?(f=a.get(p))==null||f.push(s):a.set(p,[s]),s.rightJoints.length!==0){if(s=i(s.rightJoints[0]),s&&s.id===l.id){u=!0;break}c++}else s=null}if(!u||a.size!==4)return null;const d=[];for(const[p,g]of a){let A=0;for(const v of g){const T=r.get(v.leftJoints[0]),y=r.get(v.rightJoints[0]);if(T&&T.relativeAngle.toFixed(1)!==p&&A++,y&&y.relativeAngle.toFixed(1)!==p&&A++,A>2)break}if(A!==2)return null;let w=null,b=null,C=0,P=-1;for(const v of g){const T=r.get(v.leftJoints[0]),y=r.get(v.rightJoints[0]);C=Math.max(C,v.lz),P=Math.max(P,v.eavesLength),T&&T.relativeAngle.toFixed(1)!==p&&(w=v),y&&y.relativeAngle.toFixed(1)!==p&&(b=v)}w&&b&&C>0&&P!==-1&&d.push({leftPoint:new re().fromArray(w.leftPoint),rightPoint:new re().fromArray(b.rightPoint),relativeAngle:w.relativeAngle,lz:C,eavesLength:P,wallsId:g.map(v=>v.id)})}return d.length!==4?null:d},[n])},sye=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestComposedWallHeight(t,n),[t]),i=m.useMemo(()=>o+e,[o,e]);return{highestWallHeight:o,topZ:i}},eqe=(t,e,n)=>{const o=m.useMemo(()=>In.getHighestWallHeight(t,n),[t]),[i,r]=m.useState(e),a=o+i;return m.useEffect(()=>{e!==i&&r(e)},[e]),{highestWallHeight:o,topZ:a,riseInnerState:i,setRiseInnerState:r}},JW=(t,e,n,o,i,r)=>{const a=ht(ZL),l=ht(tge),s=ht(QL),c=()=>{const u=f=>f.clone().add(e);let d=[];if(o)if(i===Vo.Gambrel)d.push(dye(n).map(u));else{const f=[];for(const p of n)f.push(p.points[1].clone().add(e));d.push(f)}else{for(const f of n){const p=f.points;if(p.length===6)d.push(p.slice(3).map(u));else if(p.length===8)d.push(p.slice(4).map(u));else throw new Error("Invalid Roof segment data")}r&&d.push(r)}return Sn.getState().setRoofSegmentVertices(t,d),d};return(a||l||s)&&c(),m.useEffect(()=>{c()},[n]),c},KW=t=>{const e=ht(QL),n=ht(wq);(e||n)&&t()},qW=(t,e)=>{const n=M(AH);m.useEffect(()=>{t.rise===void 0&&M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Roof){const r=i;r.rise===void 0&&(r.rise=r.lz-e,r.lz=0);break}})},[n])},s$t=()=>{const[,t]=m.useState(!1);m.useEffect(()=>{t(e=>!e)},[])},tQ=()=>{const t=m.useRef(!0);return t.current?(t.current=!1,!0):!1},cye=(t,e,n,o,i,r,a)=>{const l=M(s=>s.updateElementOnRoofFlag);m.useEffect(()=>{l&&(Z$(t,e,n,o,i,r,a),M.getState().setUpdateElementOnRoofFlag(!1))},[i,r,l])},c$t=(t,e,n,o,i,r,a)=>{const l=tQ();m.useEffect(()=>{l||Z$(t,e,n,o,i,r,a)},[n])},uye=(t,e,n,o,i,r,a)=>{c$t(t,e,n,o,i,r,a),cye(t,e,n,o,i,r,a)},$W=(t,e,n,o)=>{const i=$Ke(e);return m.useMemo(()=>({roofId:t,foundation:i,centroid:n,roofSegments:o}),[t,n,o,i])},Kbe=(t,e)=>{const[n,o,i,r]=e;t.moveTo(n.points[0].x,n.points[0].y),t.lineTo(n.points[1].x,n.points[1].y),t.lineTo(r.points[0].x,r.points[0].y),t.lineTo(r.points[1].x,r.points[1].y),t.closePath()},dye=(t,e)=>{const n=[],[o,i,r,a]=t;return n.push(o.points[0].clone()),n.push(o.points[1].clone()),n.push(a.points[0].clone()),n.push(a.points[1].clone()),e?(e.push(...n),e):n},_G=({uuid:t,shape:e,thickness:n,holeMeshes:o,simulation:i,castShadow:r,receiveShadow:a,children:l})=>{const s=m.useRef(null);if(s.current&&(s.current.geometry=new H9(e,{steps:1,depth:n,bevelEnabled:!1}),s.current.updateMatrix(),o.length>0)){const c=[];for(let d=0;d{const f=M.getState().world,p=M(ss),g=ht(cs),A=ht(i3),w=M(X2),b=M(q9),C=M($9),P=Sn($L),v=Sn.getState().hourlyHeatExchangeArrayMap,T=m.useRef(0),y=m.useRef(),S=m.useRef(),{transparent:x,opacity:R}=eQ(),H=M(O=>O.elements.filter(J=>J.type===z.Window&&J.parentId===t),a3),D=m.useMemo(()=>{if(!A||e&&e.notBuilding)return;const O=v.get(t);if(!O)return;const J=O.reduce((Ae,me)=>Ae+me,0),Z=P(t);if(!Z||!Z[0])return;const ie=[],ee=Z[0].map(Ae=>Ae.clone().sub(i)),q=K9*(f.solarRadiationHeatmapGridCellSize??.5),ae=ee[0].clone(),ne=ee[1].clone(),se=ee[2].clone(),le=new re().subVectors(ne,ae),te=new re().subVectors(se,ae),he=new re().subVectors(se,ne),pe=le.length(),fe=new re().crossVectors(te,he).length()/pe,$=Math.max(2,Math.floor(pe/q)),de=Math.max(2,Math.floor(fe/q));le.normalize(),te.normalize(),he.normalize();const Se=new re().crossVectors(te,he).normalize(),Ce=le.multiplyScalar(.5*pe/$),ve=new re().crossVectors(Se,le).normalize().multiplyScalar(.5*fe/de),Ie=ae.clone().add(Ce).add(ve).add(new re(0,0,r));Ce.multiplyScalar(2),ve.multiplyScalar(2),y.current=Se.clone().multiplyScalar(.1);const ze=new re,ye=new Array;for(const Ae of ee)ye.push({x:Ae.x,y:Ae.y});const oe=xe.getPolygonArea(ye);if(oe===0)return;const ge=J/oe*(w??Gm);T.current=ge<0?1:0,S.current=new Qt(-Math.sign(ge)*Vt,0,0);for(let Ae=0;Ae<$;Ae++){const me=Ce.clone().multiplyScalar(Ae);for(let Pe=0;Pe{if(o.length===0)return[new re];const O=[];if(n===Vo.Gambrel){dye(o,O);const J=O.reduce((Z,ie)=>Math.max(Z,ie.z),0);O.forEach(Z=>Z.setZ(J))}else{O.push(o[0].points[0]);for(const J of o){const Z=J.points[1];O.push(Z)}}return O},[o,n]),W=m.useMemo(()=>new re(0,0,r),[r]),N=h.jsx(Fn,{points:k,lineWidth:l,color:a}),L=jH(u),E=m.useMemo(()=>{const O=new Ml;if(o.length===0)return O;if(n===Vo.Gambrel)Kbe(O,o);else{const J=o[0].points[0];O.moveTo(J.x,J.y);for(const Z of o){const ie=Z.points[1];O.lineTo(ie.x,ie.y)}O.closePath()}return O},[o,i,n]),U=m.useMemo(()=>{const O=new Ml;if(o.length===0)return O;if(n===Vo.Gambrel)Kbe(O,o);else{const J=o[0].points[0];O.moveTo(J.x,J.y);for(const Z of o){const ie=Z.points[1];O.lineTo(ie.x,ie.y)}O.closePath()}if(H.length>0)for(const J of H){const Z=new re(J.cx,J.cy,J.cz).sub(i);switch(J.windowType){case Sr.Polygonal:{const[ie,ee]=J.polygonTop??jp,[q,ae,ne]=[J.lx/2,J.lz/2,ie*J.lx],se=iG(q,ae,ne,ee,Z.x,Z.y);O.holes.push(se);break}case Sr.Arched:{const ie=oG(J.lx,J.lz,J.archHeight,Z.x,Z.y);O.holes.push(ie);break}default:{const ie=new Ml,[ee,q]=[J.lx/2,J.lz/2];ie.moveTo(Z.x-ee,Z.y-q),ie.lineTo(Z.x+ee,Z.y-q),ie.lineTo(Z.x+ee,Z.y+q),ie.lineTo(Z.x-ee,Z.y+q),ie.closePath(),O.holes.push(ie)}}}return O},[o,i,H,n]),F=m.useMemo(()=>H.map(O=>{const[J,Z,ie]=O.rotation,ee=new re(O.cx,O.cy,O.cz).sub(i),q=new Qt().fromArray([O.rotation[0],O.rotation[1],O.rotation[2],"ZXY"]);switch(O.windowType){case Sr.Polygonal:{const[ae,ne]=O.polygonTop??jp,[se,le,te]=[O.lx/2,O.lz/2,ae*O.lx],he=iG(se,le,te,ne),pe=new es(new H9([he],{steps:1,depth:O.ly,bevelEnabled:!1})),fe=new re(0,0,-O.ly).applyEuler(q);return pe.position.copy(ee.clone().add(fe)),pe.rotation.copy(q),pe.updateMatrix(),pe}case Sr.Arched:{const ae=oG(O.lx,O.lz,O.archHeight),ne=new es(new H9([ae],{steps:1,depth:O.ly,bevelEnabled:!1})),se=new re(0,0,-O.ly).applyEuler(q);return ne.position.copy(ee.clone().add(se)),ne.rotation.copy(q),ne.updateMatrix(),ne}default:{const ae=new es(new X9(O.lx,O.lz,O.ly*2));return ae.position.copy(ee),ae.rotation.set(J,Z,ie),ae.updateMatrix(),ae}}}),[H,r]),B=u===Ui.NoTexture&&c&&c===s,_=p&&!x,Y=g&&d;return h.jsxs(h.Fragment,{children:[B&&!Y?h.jsx(_G,{uuid:t,simulation:!0,shape:E,holeMeshes:F,thickness:r,castShadow:_,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:c,transparent:x,opacity:R})}):h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{uuid:t,userData:{simulation:!0},name:"Flat roof top shape",position:[0,0,r+.001],receiveShadow:p,children:[h.jsx("shapeGeometry",{args:[U]}),Y?h.jsx("meshBasicMaterial",{map:d,side:ia}):h.jsx("meshStandardMaterial",{map:L,color:c,transparent:x,opacity:R,side:ia})]}),h.jsx(_G,{shape:E,holeMeshes:F,thickness:r,castShadow:_,receiveShadow:p,children:h.jsx("meshStandardMaterial",{color:s??"white",transparent:x,opacity:R})})]}),N,h.jsxs("group",{position:[0,0,r],children:[N,k.map((O,J)=>{const Z=[O.clone().sub(W),O];return h.jsx(Fn,{points:Z,lineWidth:l,color:a},J)})]}),D&&D.map((O,J)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:O,name:"Heat Flux "+J,lineWidth:C??Xm,color:b??g0}),";",h.jsx(cu,{userData:{unintersectable:!0},position:y.current?O[T.current].clone().add(y.current):O[0],args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:S.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:b??g0})})]},J))]})},tqe="/aladdin/assets/foundation_01--kFbnI98.png",nqe="/aladdin/assets/foundation_02-wZzxF61c.png",oqe="/aladdin/assets/foundation_03-CrR6CCyr.png",iqe="/aladdin/assets/foundation_04-k0ozbTjk.png",rqe="/aladdin/assets/foundation_05-Bwrj98Mu.png",aqe="/aladdin/assets/foundation_06-BOa0J0il.png",lqe="/aladdin/assets/foundation_07-C9gRAfER.png",oQ="/aladdin/assets/helvetiker_regular.typeface-B9JafPRX.fnt",fye=be.memo(({element:t,height:e})=>{const n=M(sW),o=M(ty),i=M(Xwt),r=M(rr),a=M(sA),[l,s]=m.useState(),[c,u]=m.useState(10),[d,f]=m.useState(0);m.useEffect(()=>{if(n||o){const{cx:P,cy:v,lx:T,ly:y,type:S}=t;switch(S){case z.SolarPanel:{const x=r(t);if(x){const R=P*x.lx,H=v*x.ly;s(new re(R,H,e??x.lz))}break}case z.Foundation:{s(new re(P,v,a?.1:0));break}case z.Cuboid:{const{pos:x}=xe.getWorldDataById(t.id),{rot:R}=xe.getWorldDataById(t.parentId);s(new re(x.x,x.y,x.z-t.lz/2+.2)),f(R);break}default:{s(new re(P,v,a?.2:0));break}}u(Math.max(5,Math.hypot(T,y)*.75))}},[t,n,o,a,e]);const p=aA(sq,oQ),g=c*.05,A={font:p,height:0,size:g},w=new Array(25).fill(0),b=P=>P===0?-g*.3:P>0&&P<7?-g*.8:-g*1.2,C=a?"#222":"#ccc";return h.jsx(h.Fragment,{children:l&&h.jsxs("group",{position:l,rotation:[Vt,d,0],name:"Polar Auxiliary",children:[h.jsx("polarGridHelper",{args:[c,24,6,120,C,C],userData:{unintersectable:!0}}),h.jsx(Y6,{args:[c*.98,c,24,1,Vt,i],userData:{unintersectable:!0},rotation:[-Vt,0,0],children:h.jsx("meshBasicMaterial",{side:ji,color:"yellow"})}),h.jsx("group",{rotation:[0,i,0],children:h.jsx("mesh",{position:[-.5,0,-c*.9],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:h.jsx("textGeometry",{args:[`${-xe.toDegrees(i).toFixed(1)}°`,A]})})}),w.map((P,v)=>{let T=Math.ceil(v/2)*(v%2===0?1:-1);T===-12&&(T=12);const y=b(Math.abs(T));return h.jsx("group",{rotation:[0,T*Math.PI/12,0],children:h.jsxs("mesh",{position:[y,0,-c*1.05],rotation:[-Vt,0,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[`${-15*T}°`,A]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},v)})]})})}),l7=be.memo(({id:t,position:e,ratio:n,handleType:o,hoverHandle:i,noHoverHandle:r})=>{const a=M(Vc),l=M(sW),c=M(ty)===o||l===o?nr:pr,u=h.jsx("meshBasicMaterial",{color:c});return h.jsxs("group",{position:e,rotation:[Vt,0,0],scale:n,name:o,children:[h.jsxs("group",{children:[h.jsx(B1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:u}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:u}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:u})]}),h.jsx(sa,{name:o,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:d=>{a(t,d,zo.Rotate)},onPointerOver:d=>{i(d,o)},onPointerOut:r})]})}),s7=be.memo(({hx:t,hy:e,hz:n,lineColor:o="black",lineWidth:i=.2})=>h.jsx(Fn,{points:[[-t,-e,-n],[t,-e,-n],[t,-e,n],[t,-e,-n],[t,e,-n],[t,e,n],[t,e,-n],[-t,e,-n],[-t,e,n],[-t,e,-n],[-t,-e,-n],[-t,-e,n],[t,-e,n],[t,e,n],[-t,e,n],[-t,-e,n]],name:"Wireframe",userData:{unintersectable:!0},lineWidth:i,color:o}));var Ki=(t=>(t.left="Left",t.right="Right",t.loop="Loop",t.null="Null",t))(Ki||{});const hye=be.memo(({element:t,verticalLift:e})=>{const n=M(Sc),o=M(hu),i=M(yh),r=M(ty),a=t.lx/2,l=t.ly/2,s=.2,c=1,u=.5,d=t.lineColor??"white",f="darkorchid",p=Math.max(1,(a+l)/32),g=m.useMemo(()=>({lng:n}),[n]),A=m.useMemo(()=>{switch(t.type){case z.Cuboid:return Math.max(.5,Math.max(a,l)*.1)}return .5},[t.type,a,l]),w=m.useMemo(()=>{switch(t.type){case z.Cuboid:return o?t.lz/2+.1:-t.lz/2+.1;case z.Foundation:return t.lz+.1}return .1},[o,t.type,t.lz]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[-a-A,0,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-A,-l,w],[-a-A,l,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-A+s,-l+3*s,w],[-a-A,-l,w],[-a-A-s,-l+3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a-A+s,l-3*s,w],[-a-A,l,w],[-a-A-s,l-3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,w],[-a-A*2,-l,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,w],[-a-A*2,l,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.ly.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[a+A,0,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+A,-l,w],[a+A,l,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+A+s,-l+3*s,w],[a+A,-l,w],[a+A-s,-l+3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a+A+s,l-3*s,w],[a+A,l,w],[a+A-s,l-3*s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,w],[a+A*2,-l,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,w],[a+A*2,l,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]),P=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,-l-A,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l-A,w],[a,-l-A,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,-l-A-s,w],[-a,-l-A,w],[-a+3*s,-l-A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,-l-A-s,w],[a,-l-A,w],[a-3*s,-l-A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,-l,w],[-a,-l-A*2,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,-l,w],[a,-l-A*2,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]),v=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:f,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",g),fontSize:80,fontFace:"Times Roman",textHeight:p,position:[0,l+A,w+e]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l+A,w],[a,l+A,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a+3*s,l+A-s,w],[-a,l+A,w],[-a+3*s,l+A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a-3*s,l+A-s,w],[a,l+A,w],[a-3*s,l+A+s,w]],color:d,linewidth:c}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-a,l,w],[-a,l+A*2,w]],color:d,linewidth:u}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[a,l,w],[a,l+A*2,w]],color:d,linewidth:u})]}),[a,l,w,g,d,e]);if(i)if(t.type===z.Wall)switch(i){case gt.LowerLeft:return P;case gt.LowerRight:return P}else switch(i){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[b,P]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[C,P]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[b,v]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}if(r)if(t.type===z.Wall)switch(r){case gt.LowerLeft:return P;case gt.LowerRight:return P}else switch(r){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[b,P]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[C,P]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[b,v]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[C,v]})}return h.jsx(h.Fragment,{})}),u$t=1.361,qbe=9.8067,$be=1012,QY=1.225,x4=273.15,Qbe=567e-10,d$t=[.103,.104,.109,.12,.13,.137,.138,.134,.121,.111,.106,.103];var vr=(t=>(t[t.NONE=0]="NONE",t[t.KASTEN_YOUNG=1]="KASTEN_YOUNG",t[t.SPHERE_MODEL=2]="SPHERE_MODEL",t))(vr||{});const A2=1440,Mue=Math.PI/720,Sre=Math.PI/182.5,Zbe=30,f$t=120;class eSe{constructor(e,n){this.sunrise=e,this.sunset=n}daylight(){return this.sunset-this.sunrise}}const Z3=.5,f0=.1,eP=23.45/180*Math.PI,h$t=1e3*60*60*24,xC=720,QW=t=>{const e=Math.floor((t.getTime()-new Date(t.getFullYear(),0,0).getTime())/h$t);return eP*Math.sin(na*(284+e)/365.25)},sl=(t,e)=>{const n=Math.tan(xe.toRadians(e))*Math.tan(QW(t));if(Math.abs(n)>1)return new eSe(0,n>0?xC*2:0);const o=60*Math.acos(-n)/xe.toRadians(15);return new eSe(xC-o,xC+o)},pye=t=>(t.getHours()*60+t.getMinutes()-xC)/xC*Math.PI,ZY=t=>(t/xC-1)*Math.PI,zr=(t,e)=>$5(1,pye(t),QW(t),xe.toRadians(e)).normalize(),$5=(t,e,n,o)=>{const i=Math.cos(n),r=Math.sin(n),a=Math.cos(o),l=Math.sin(o),s=Math.cos(e),c=Math.sin(e),u=Math.asin(r*l+i*s*a),d=c*i,f=a*r-s*i*l,p=Math.atan2(f,d),g=new re(t,p,u);return xe.sphericalToCartesianZ(g),g.x=-g.x,g},p$t=t=>{const e=na*t/365,n=1.00011+.034221*Math.cos(e)+.00128*Math.sin(e)+719e-6*Math.cos(2*e)+77e-6*Math.sin(2*e);return u$t*n},g$t=(t,e,n)=>{let o;switch(t){case vr.NONE:return 1;case vr.KASTEN_YOUNG:return o=e.angleTo(Po),1/(Math.cos(o)+.50572*Math.pow(96.07995-o/Math.PI*180,-1.6364));default:{o=e.angleTo(Po);const i=Math.cos(o),r=708,a=n/9e3;return Math.sqrt((r+a)*(r+a)*i*i+(2*r+1+a)*(1-a))-(r+a)*i}}},Rr=(t,e,n,o)=>p$t(e)*Math.pow(.7,Math.pow(g$t(o,t,n),.678)),tr=(t,e,n,o)=>{let i=0;const r=n.dot(Po),a=.5*(1+r);a>0&&(i+=d$t[e]*a*o);const l=.5*Math.abs(1-r);return xe.isZero(l)||(i+=t.albedo*l*o),i},m$t=be.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=ht(JBe),i=ht(vf),r=ht(dge),a=ht(cs),l=M(wf),s=Sn(i1),[c,u]=m.useState(null),d=m.useRef(null),{lx:f,ly:p,lz:g,solarUpdraftTower:A}=t,w=((A==null?void 0:A.collectorRadius)??100)*.016,b=m.useMemo(()=>zr(new Date(e),n),[e,n]),C=m.useMemo(()=>{const v=[],T=(((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))+g)/2,y=(A==null?void 0:A.chimneyHeight)??Math.max(f,p),S=(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,x=(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),R=S*1.15,H=x*.5,D=x,k=x*2,W=x*4,N=6;for(let L=0;L{const v=[],T=((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))+g,y=(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,S=25,x=2*y/S;for(let R=0;R<=S;R++){const H=[],D=-y+R*x,k=Math.sqrt(y*y-D*D);H.push(new re(-k,D,T)),H.push(new re(k,D,T)),v.push({points:H})}for(let R=0;R<=S;R++){const H=[],D=-y+R*x,k=Math.sqrt(y*y-D*D);H.push(new re(D,-k,T)),H.push(new re(D,k,T)),v.push({points:H})}return v},[f,p,g,A==null?void 0:A.collectorRadius,A==null?void 0:A.collectorHeight]);return m.useEffect(()=>{if(t&&a){const v=s(t.id+"-sut");v&&u(xe.fetchHeatmapTexture(v,l??5))}},[a,l]),rA((v,T)=>{(o||i&&!r)&&b.z>0&&d.current&&d.current.children.forEach(y=>{if(y.name==="Streamlines"){const S=y;S.material.uniforms.dashOffset.value-=T*w*10}})}),h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0,simulation:!0},name:"Chimney",castShadow:!0,receiveShadow:!1,args:[(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),(A==null?void 0:A.chimneyHeight)??Math.max(f,p),16,2,!0],position:[0,0,((A==null?void 0:A.chimneyHeight)??Math.max(f,p))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Chimney Base",castShadow:!0,receiveShadow:!1,args:[(A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)),((A==null?void 0:A.chimneyRadius)??Math.max(1,.025*Math.min(f,p)))*1.6,((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))*4,16,2,!0],position:[0,0,((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))*2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Greenhouse Wall",castShadow:!0,receiveShadow:!0,args:[(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,(A==null?void 0:A.collectorHeight)??Math.max(3,10*g),50,2,!0],position:[0,0,((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))/2+g],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),h.jsx(KC,{uuid:t.id+"-sut",userData:{unintersectable:!0,simulation:!0},name:"Greenhouse Ceiling",castShadow:!1,receiveShadow:!1,args:[(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,g+((A==null?void 0:A.collectorHeight)??Math.max(3,10*g))],children:a&&c?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:c}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:50,side:ia,color:"lightskyblue",transparent:!0,opacity:.75})}),h.jsx(KC,{userData:{unintersectable:!0},name:"Greenhouse Ground",castShadow:!1,receiveShadow:!0,args:[(A==null?void 0:A.collectorRadius)??Math.min(f,p)/2,50,0,na],position:[0,0,.1],children:h.jsx("meshStandardMaterial",{attach:"material",color:"dimgray"})}),P&&P.map((v,T)=>h.jsx(Fn,{name:"Greenhouse Roof Grid Lines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"gray"},T)),b.z>0&&C&&h.jsx("group",{ref:d,children:C.map((v,T)=>{const y=v.points[0].x+v.points[1].x,S=v.points[0].y+v.points[1].y,x=new Qt(0,0,na*T/C.length+Vt),R=w,H=w;return h.jsxs(be.Fragment,{children:[h.jsx(Fn,{name:"Streamlines",userData:{unintersectable:!0},points:v.points,castShadow:!1,receiveShadow:!1,lineWidth:.5,dashed:!0,dashSize:R,gapSize:H,color:"white"}),h.jsx(cu,{userData:{unintersectable:!0},args:[w,w*4,4,2],name:"Streamline Inlet Arrow Head",position:[y*.1,S*.1,v.points[0].z],rotation:x,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(cu,{userData:{unintersectable:!0},args:[w,w*4,4,2],name:"Streamline Inlet Arrow Head",position:[y*.9,S*.9,v.points[0].z],rotation:x,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})})]},T)})})]})}),gye="/aladdin/assets/glow-CV5NAijT.png",y$t=be.memo(({foundation:t})=>{const e=M(Ya),n=M(Xs),o=Ab(gye),i=m.useMemo(()=>zr(new Date(e),n),[e,n]),{lz:r,solarPowerTower:a}=t,l=(a==null?void 0:a.towerRadius)??1,s=(a==null?void 0:a.towerHeight)??20,c=s/10,u=l*1.5,d=Math.max(c,u)*2.4;return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Focus Tower",castShadow:!0,receiveShadow:!1,args:[l,l,s,6,2],position:[0,0,s/2+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Center Receiver",castShadow:!0,receiveShadow:!1,args:[u,u,c,10,2],position:[0,0,s+r/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),i.z>0&&h.jsx("mesh",{position:[0,0,s+r/2],children:h.jsx("sprite",{scale:[d,d,d],children:h.jsx("spriteMaterial",{map:o,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})})]})}),A$t=be.memo(({foundation:t})=>{const{ly:e,lz:n,solarAbsorberPipe:o}=t,i=(o==null?void 0:o.absorberHeight)??10,r=(o==null?void 0:o.apertureWidth)??.6,a=(o==null?void 0:o.relativeLength)??.9,l=(o==null?void 0:o.poleNumber)??5,s=m.useMemo(()=>{const c=[],u=a*e/(l+1);for(let d=1;d<=l;d++)c.push(new re(0,d*u-a*e/2,i/2+n/2));return c},[e,n,l,i,a]);return h.jsxs("group",{children:[h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 1",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,-a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Vertical Pipe 2",castShadow:!1,receiveShadow:!1,args:[r/4,r/4,i,6,2],position:[0,a*e/2,i/2+n/2],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Receiver Horizontal Pipe",castShadow:!1,receiveShadow:!1,args:[r/2,r/2,a*e+r/2,6,2,!1,3*Vt,Math.PI],position:[0,0,i+n/2-r/4],rotation:[0,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white",side:ji})}),s&&s.map((c,u)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Solar Receiver Pole "+u,castShadow:!1,receiveShadow:!1,args:[r/8,r/8,i,4,2],position:c,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})},u))]})});class mx{static selectMe(e,n,o,i){var r,a,l;if(o.intersections.length>0&&o.intersections.filter(c=>!c.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===o.eventObject){for(const c of e.elements)c.id===n?(c.selected=!0,e.selectedElement=c,e.selectedElementHeight=c.lz):c.selected=!1;if(!e.selectedElement)return;if(i===zo.ContextMenu)if(e.selectedElementIdSet.has(n))for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id);else if(e.multiSelectionsMode){e.selectedElementIdSet.add(n);for(const c of e.elements)e.selectedElementIdSet.has(c.id)&&c.type!==e.selectedElement.type&&e.selectedElementIdSet.delete(c.id)}else e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n);else e.multiSelectionsMode?e.selectedElementIdSet.has(n)?e.selectedElementIdSet.delete(n):e.selectedElementIdSet.add(n):(e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n));if(e.moveHandleType=null,e.resizeHandleType=null,e.rotateHandleType=null,i)switch(i){case zo.Move:((r=e.selectedElement)==null?void 0:r.type)===z.Tree||((a=e.selectedElement)==null?void 0:a.type)===z.Human?e.moveHandleType=yo.Default:e.moveHandleType=o.eventObject.name;break;case zo.Resize:e.resizeHandleType=o.eventObject.name;break;case zo.Rotate:e.rotateHandleType=o.eventObject.name;break;case zo.Select:e.selectedElementAngle=((l=o.object.parent)==null?void 0:l.rotation.z)??0;break}}}static selectNone(e){e.selectedElementIdSet.clear();for(const n of e.elements)n.selected=!1;e.selectedElement=null,e.selectedElementIdSet.clear()}static clearThenAddSelectedElementIdSet(e,n){e.selectedElementIdSet.clear(),e.selectedElementIdSet.add(n)}}var VG={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */VG.exports;(function(t,e){(function(){var n,o="4.17.21",i=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",d=1,f=2,p=4,g=1,A=2,w=1,b=2,C=4,P=8,v=16,T=32,y=64,S=128,x=256,R=512,H=30,D="...",k=800,W=16,N=1,L=2,E=3,U=1/0,F=9007199254740991,B=17976931348623157e292,_=NaN,Y=4294967295,O=Y-1,J=Y>>>1,Z=[["ary",S],["bind",w],["bindKey",b],["curry",P],["curryRight",v],["flip",R],["partial",T],["partialRight",y],["rearg",x]],ie="[object Arguments]",ee="[object Array]",q="[object AsyncFunction]",ae="[object Boolean]",ne="[object Date]",se="[object DOMException]",le="[object Error]",te="[object Function]",he="[object GeneratorFunction]",pe="[object Map]",fe="[object Number]",$="[object Null]",de="[object Object]",Se="[object Promise]",Ce="[object Proxy]",ve="[object RegExp]",Ie="[object Set]",ze="[object String]",ye="[object Symbol]",oe="[object Undefined]",ge="[object WeakMap]",Ae="[object WeakSet]",me="[object ArrayBuffer]",Pe="[object DataView]",Me="[object Float32Array]",Te="[object Float64Array]",De="[object Int8Array]",Ue="[object Int16Array]",Oe="[object Int32Array]",Le="[object Uint8Array]",$e="[object Uint8ClampedArray]",We="[object Uint16Array]",Ee="[object Uint32Array]",Fe=/\b__p \+= '';/g,Ge=/\b(__p \+=) '' \+/g,rt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ve=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>"']/g,dt=RegExp(Ve.source),Qe=RegExp(xt.source),ut=/<%-([\s\S]+?)%>/g,ft=/<%([\s\S]+?)%>/g,at=/<%=([\s\S]+?)%>/g,ot=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,et=/^\w*$/,_e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nt=/[\\^$.*+?()[\]{}|]/g,yt=RegExp(nt.source),Tt=/^\s+/,Rt=/\s/,Wt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ct=/\{\n\/\* \[wrapped with (.+)\] \*/,At=/,? & /,Ft=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ke=/[()=,{}\[\]\/\s]/,Je=/\\(\\)?/g,ct=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Pt=/\w*$/,Ne=/^[-+]0x[0-9a-f]+$/i,lt=/^0b[01]+$/i,Ye=/^\[object .+?Constructor\]$/,st=/^0o[0-7]+$/i,je=/^(?:0|[1-9]\d*)$/,mt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ht=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,It="\\ud800-\\udfff",Et="\\u0300-\\u036f",zt="\\ufe20-\\ufe2f",ln="\\u20d0-\\u20ff",Xt=Et+zt+ln,fn="\\u2700-\\u27bf",rn="a-z\\xdf-\\xf6\\xf8-\\xff",bn="\\xac\\xb1\\xd7\\xf7",Tn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Un="\\u2000-\\u206f",Ai=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vo="A-Z\\xc0-\\xd6\\xd8-\\xde",Oo="\\ufe0e\\ufe0f",si=bn+Tn+Un+Ai,po="['’]",to="["+It+"]",uo="["+si+"]",qo="["+Xt+"]",Hi="\\d+",vi="["+fn+"]",Cn="["+rn+"]",yn="[^"+It+si+Hi+fn+rn+vo+"]",no="\\ud83c[\\udffb-\\udfff]",Eo="(?:"+qo+"|"+no+")",ni="[^"+It+"]",Lo="(?:\\ud83c[\\udde6-\\uddff]){2}",bo="[\\ud800-\\udbff][\\udc00-\\udfff]",Ro="["+vo+"]",oi="\\u200d",go="(?:"+Cn+"|"+yn+")",So="(?:"+Ro+"|"+yn+")",Uo="(?:"+po+"(?:d|ll|m|re|s|t|ve))?",_i="(?:"+po+"(?:D|LL|M|RE|S|T|VE))?",Qo=Eo+"?",ar="["+Oo+"]?",ur="(?:"+oi+"(?:"+[ni,Lo,bo].join("|")+")"+ar+Qo+")*",$o="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ba="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Mo=ar+Qo+ur,$i="(?:"+[vi,Lo,bo].join("|")+")"+Mo,Za="(?:"+[ni+qo+"?",qo,Lo,bo,to].join("|")+")",ti=RegExp(po,"g"),di=RegExp(qo,"g"),Fr=RegExp(no+"(?="+no+")|"+Za+Mo,"g"),Oa=RegExp([Ro+"?"+Cn+"+"+Uo+"(?="+[uo,Ro,"$"].join("|")+")",So+"+"+_i+"(?="+[uo,Ro+go,"$"].join("|")+")",Ro+"?"+go+"+"+Uo,Ro+"+"+_i,ba,$o,Hi,$i].join("|"),"g"),Br=RegExp("["+oi+It+Xt+Oo+"]"),Pc=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Is=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],qs=-1,Pr={};Pr[Me]=Pr[Te]=Pr[De]=Pr[Ue]=Pr[Oe]=Pr[Le]=Pr[$e]=Pr[We]=Pr[Ee]=!0,Pr[ie]=Pr[ee]=Pr[me]=Pr[ae]=Pr[Pe]=Pr[ne]=Pr[le]=Pr[te]=Pr[pe]=Pr[fe]=Pr[de]=Pr[ve]=Pr[Ie]=Pr[ze]=Pr[ge]=!1;var pa={};pa[ie]=pa[ee]=pa[me]=pa[Pe]=pa[ae]=pa[ne]=pa[Me]=pa[Te]=pa[De]=pa[Ue]=pa[Oe]=pa[pe]=pa[fe]=pa[de]=pa[ve]=pa[Ie]=pa[ze]=pa[ye]=pa[Le]=pa[$e]=pa[We]=pa[Ee]=!0,pa[le]=pa[te]=pa[ge]=!1;var Wl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Xu={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cc={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},mu=parseFloat,cn=parseInt,qt=typeof mc=="object"&&mc&&mc.Object===Object&&mc,jt=typeof self=="object"&&self&&self.Object===Object&&self,pn=qt||jt||Function("return this")(),Pn=e&&!e.nodeType&&e,Ze=Pn&&!0&&t&&!t.nodeType&&t,bt=Ze&&Ze.exports===Pn,Nt=bt&&qt.process,St=function(){try{var An=Ze&&Ze.require&&Ze.require("util").types;return An||Nt&&Nt.binding&&Nt.binding("util")}catch{}}(),Bt=St&&St.isArrayBuffer,Jt=St&&St.isDate,an=St&&St.isMap,gn=St&&St.isRegExp,mn=St&&St.isSet,vn=St&&St.isTypedArray;function kn(An,Zn,Nn){switch(Nn.length){case 0:return An.call(Zn);case 1:return An.call(Zn,Nn[0]);case 2:return An.call(Zn,Nn[0],Nn[1]);case 3:return An.call(Zn,Nn[0],Nn[1],Nn[2])}return An.apply(Zn,Nn)}function jn(An,Zn,Nn,bi){for(var dr=-1,jr=An==null?0:An.length;++dr-1}function Kr(An,Zn,Nn){for(var bi=-1,dr=An==null?0:An.length;++bi-1;);return Nn}function Ug(An,Zn){for(var Nn=An.length;Nn--&&Y0(Zn,An[Nn],0)>-1;);return Nn}function el(An,Zn){for(var Nn=An.length,bi=0;Nn--;)An[Nn]===Zn&&++bi;return bi}var Ed=yu(Wl),wu=yu(Yl);function a5(An){return"\\"+Cc[An]}function fy(An,Zn){return An==null?n:An[Zn]}function Rh(An){return Br.test(An)}function g3(An){return Pc.test(An)}function hy(An){for(var Zn,Nn=[];!(Zn=An.next()).done;)Nn.push(Zn.value);return Nn}function m3(An){var Zn=-1,Nn=Array(An.size);return An.forEach(function(bi,dr){Nn[++Zn]=[dr,bi]}),Nn}function l5(An,Zn){return function(Nn){return An(Zn(Nn))}}function Hh(An,Zn){for(var Nn=-1,bi=An.length,dr=0,jr=[];++Nn-1}function T3(G,Q){var He=this.__data__,tt=vp(He,G);return tt<0?(++this.size,He.push([G,Q])):He[tt][1]=Q,this}Ih.prototype.clear=fS,Ih.prototype.delete=EA,Ih.prototype.get=hS,Ih.prototype.has=pS,Ih.prototype.set=T3;function xu(G){var Q=-1,He=G==null?0:G.length;for(this.clear();++Q=Q?G:Q)),G}function nd(G,Q,He,tt,Mt,Ot){var un,wn=Q&d,Mn=Q&f,mo=Q&p;if(He&&(un=Mt?He(G,tt,Mt,Ot):He(G)),un!==n)return un;if(!gs(G))return G;var wo=$r(G);if(wo){if(un=Qee(G),!wn)return b0(G,un)}else{var ko=q0(G),Si=ko==te||ko==he;if(im(G))return KA(G,wn);if(ko==de||ko==ie||Si&&!Mt){if(un=Mn||Si?{}:sU(G),!wn)return Mn?z5(G,jA(un,G)):$A(G,BA(un,G))}else{if(!pa[ko])return Mt?G:{};un=Zee(G,ko,wn)}}Ot||(Ot=new Hc);var Zi=Ot.get(G);if(Zi)return Zi;Ot.set(G,un),WS(G)?G.forEach(function(Ir){un.add(nd(Ir,Q,He,Ir,G,Ot))}):nB(G)&&G.forEach(function(Ir,Na){un.set(Na,nd(Ir,Q,He,Na,G,Ot))});var Mr=mo?Mn?Sa:Wa:Mn?R0:C0,Ta=wo?n:Mr(G);return Wn(Ta||G,function(Ir,Na){Ta&&(Na=Ir,Ir=G[Na]),td(un,Na,nd(Ir,Q,He,Na,G,Ot))}),un}function YA(G){var Q=C0(G);return function(He){return C3(He,G,Q)}}function C3(G,Q,He){var tt=He.length;if(G==null)return!tt;for(G=br(G);tt--;){var Mt=He[tt],Ot=Q[Mt],un=G[Mt];if(un===n&&!(Mt in G)||!Ot(un))return!1}return!0}function OA(G,Q,He){if(typeof G!="function")throw new _0(a);return h8(function(){G.apply(n,He)},Q)}function Xg(G,Q,He,tt){var Mt=-1,Ot=lr,un=!0,wn=G.length,Mn=[],mo=Q.length;if(!wn)return Mn;He&&(Q=Vi(Q,Au(He))),tt?(Ot=Kr,un=!1):Q.length>=i&&(Ot=$s,un=!1,Q=new A1(Q));e:for(;++MtMt?0:Mt+He),tt=tt===n||tt>Mt?Mt:Gr(tt),tt<0&&(tt+=Mt),tt=He>tt?0:US(tt);He0&&He(wn)?Q>1?Mc(wn,Q-1,He,tt,Mt):ga(Mt,wn):tt||(Mt[Mt.length]=wn)}return Mt}var S5=QA(),Wd=QA(!0);function bu(G,Q){return G&&S5(G,Q,C0)}function T5(G,Q){return G&&Wd(G,Q,C0)}function Nd(G,Q){return Jo(Q,function(He){return rm(G[He])})}function zf(G,Q){Q=S1(Q,G);for(var He=0,tt=Q.length;G!=null&&HeQ}function Jg(G,Q){return G!=null&&La.call(G,Q)}function VA(G,Q){return G!=null&&Q in br(G)}function xy(G,Q,He){return G>=V0(Q,He)&&G=120&&wo.length>=120)?new A1(un&&wo):n}wo=G[0];var ko=-1,Si=wn[0];e:for(;++ko-1;)wn!==G&&Qu.call(wn,Mn,1),Qu.call(G,Mn,1);return G}function v0(G,Q){for(var He=G?Q.length:0,tt=He-1;He--;){var Mt=Q[He];if(He==tt||Mt!==Ot){var Ot=Mt;Ey(Mt)?Qu.call(G,Mt,1):Hy(G,Mt)}}return G}function Df(G,Q){return G+y5(x3()*(Q-G+1))}function rd(G,Q,He,tt){for(var Mt=-1,Ot=Kc(m5((Q-G)/(He||1)),0),un=Nn(Ot);Ot--;)un[tt?Ot:++Mt]=G,G+=He;return un}function $g(G,Q){var He="";if(!G||Q<1||Q>F)return He;do Q%2&&(He+=G),Q=y5(Q/2),Q&&(G+=G);while(Q);return He}function Qi(G,Q){return UM(WM(G,Q,Pu),G+"")}function c8(G){return Gg(Fy(G))}function D3(G,Q){var He=Fy(G);return wS(He,w0(Q,0,He.length))}function Cy(G,Q,He,tt){if(!gs(G))return G;Q=S1(Q,G);for(var Mt=-1,Ot=Q.length,un=Ot-1,wn=G;wn!=null&&++MtMt?0:Mt+Q),He=He>Mt?Mt:He,He<0&&(He+=Mt),Mt=Q>He?0:He-Q>>>0,Q>>>=0;for(var Ot=Nn(Mt);++tt>>1,un=G[Ot];un!==null&&!T0(un)&&(He?un<=Q:un=i){var mo=Q?null:S0(G);if(mo)return y3(mo);un=!1,Mt=$s,Mn=new A1}else Mn=Q?[]:wn;e:for(;++tt=tt?G:J0(G,Q,He)}var k3=g5||function(G){return pn.clearTimeout(G)};function KA(G,Q){if(Q)return G.slice();var He=G.length,tt=Og?Og(He):new G.constructor(He);return G.copy(tt),tt}function em(G){var Q=new G.constructor(G.byteLength);return new f5(Q).set(new f5(G)),Q}function qA(G,Q){var He=Q?em(G.buffer):G.buffer;return new G.constructor(He,G.byteOffset,G.byteLength)}function kf(G){var Q=new G.constructor(G.source,Pt.exec(G));return Q.lastIndex=G.lastIndex,Q}function Dh(G){return Mh?br(Mh.call(G)):{}}function tm(G,Q){var He=Q?em(G.buffer):G.buffer;return new G.constructor(He,G.byteOffset,G.length)}function jd(G,Q){if(G!==Q){var He=G!==n,tt=G===null,Mt=G===G,Ot=T0(G),un=Q!==n,wn=Q===null,Mn=Q===Q,mo=T0(Q);if(!wn&&!mo&&!Ot&&G>Q||Ot&&un&&Mn&&!wn&&!mo||tt&&un&&Mn||!He&&Mn||!Mt)return 1;if(!tt&&!Ot&&!mo&&G=wn)return Mn;var mo=He[tt];return Mn*(mo=="desc"?-1:1)}}return G.index-Q.index}function nm(G,Q,He,tt){for(var Mt=-1,Ot=G.length,un=He.length,wn=-1,Mn=Q.length,mo=Kc(Ot-un,0),wo=Nn(Mn+mo),ko=!tt;++wn1?He[Mt-1]:n,un=Mt>2?He[2]:n;for(Ot=G.length>3&&typeof Ot=="function"?(Mt--,Ot):n,un&&_d(He[0],He[1],un)&&(Ot=Mt<3?n:Ot,Mt=1),Q=br(Q);++tt-1?Mt[Ot?Q[un]:un]:n}}function qe(G){return ea(function(Q){var He=Q.length,tt=He,Mt=G0.prototype.thru;for(G&&Q.reverse();tt--;){var Ot=Q[tt];if(typeof Ot!="function")throw new _0(a);if(Mt&&!un&&ZA(Ot)=="wrapper")var un=new G0([],!0)}for(tt=un?tt:He;++tt1&&ol.reverse(),wo&&Mnwn))return!1;var mo=Ot.get(G),wo=Ot.get(Q);if(mo&&wo)return mo==Q&&wo==G;var ko=-1,Si=!0,Zi=He&A?new A1:n;for(Ot.set(G,Q),Ot.set(Q,G);++ko1?"& ":"")+Q[tt],Q=Q.join(He>2?", ":" "),G.replace(Wt,`{ + */VG.exports;(function(t,e){(function(){var n,o="4.17.21",i=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",l="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",d=1,f=2,p=4,g=1,A=2,w=1,b=2,C=4,P=8,v=16,T=32,y=64,S=128,x=256,R=512,H=30,D="...",k=800,W=16,N=1,L=2,E=3,U=1/0,F=9007199254740991,B=17976931348623157e292,_=NaN,Y=4294967295,O=Y-1,J=Y>>>1,Z=[["ary",S],["bind",w],["bindKey",b],["curry",P],["curryRight",v],["flip",R],["partial",T],["partialRight",y],["rearg",x]],ie="[object Arguments]",ee="[object Array]",q="[object AsyncFunction]",ae="[object Boolean]",ne="[object Date]",se="[object DOMException]",le="[object Error]",te="[object Function]",he="[object GeneratorFunction]",pe="[object Map]",fe="[object Number]",$="[object Null]",de="[object Object]",Se="[object Promise]",Ce="[object Proxy]",ve="[object RegExp]",Ie="[object Set]",ze="[object String]",ye="[object Symbol]",oe="[object Undefined]",ge="[object WeakMap]",Ae="[object WeakSet]",me="[object ArrayBuffer]",Pe="[object DataView]",Me="[object Float32Array]",Te="[object Float64Array]",De="[object Int8Array]",Ne="[object Int16Array]",Ye="[object Int32Array]",Le="[object Uint8Array]",$e="[object Uint8ClampedArray]",We="[object Uint16Array]",Ee="[object Uint32Array]",Fe=/\b__p \+= '';/g,Ge=/\b(__p \+=) '' \+/g,rt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_e=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>"']/g,dt=RegExp(_e.source),Qe=RegExp(xt.source),ct=/<%-([\s\S]+?)%>/g,ft=/<%([\s\S]+?)%>/g,at=/<%=([\s\S]+?)%>/g,ot=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,et=/^\w*$/,Oe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nt=/[\\^$.*+?()[\]{}|]/g,mt=RegExp(nt.source),Tt=/^\s+/,Rt=/\s/,Wt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ct=/\{\n\/\* \[wrapped with (.+)\] \*/,wt=/,? & /,kt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,qe=/[()=,{}\[\]\/\s]/,Je=/\\(\\)?/g,st=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Pt=/\w*$/,Ue=/^[-+]0x[0-9a-f]+$/i,lt=/^0b[01]+$/i,Ve=/^\[object .+?Constructor\]$/,ut=/^0o[0-7]+$/i,je=/^(?:0|[1-9]\d*)$/,yt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ht=/($^)/,At=/['\n\r\u2028\u2029\\]/g,It="\\ud800-\\udfff",zt="\\u0300-\\u036f",Ft="\\ufe20-\\ufe2f",ln="\\u20d0-\\u20ff",Xt=zt+Ft+ln,fn="\\u2700-\\u27bf",rn="a-z\\xdf-\\xf6\\xf8-\\xff",bn="\\xac\\xb1\\xd7\\xf7",Tn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Un="\\u2000-\\u206f",Ai=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vo="A-Z\\xc0-\\xd6\\xd8-\\xde",Oo="\\ufe0e\\ufe0f",si=bn+Tn+Un+Ai,po="['’]",eo="["+It+"]",uo="["+si+"]",qo="["+Xt+"]",Hi="\\d+",vi="["+fn+"]",Cn="["+rn+"]",yn="[^"+It+si+Hi+fn+rn+vo+"]",to="\\ud83c[\\udffb-\\udfff]",Eo="(?:"+qo+"|"+to+")",ni="[^"+It+"]",Lo="(?:\\ud83c[\\udde6-\\uddff]){2}",bo="[\\ud800-\\udbff][\\udc00-\\udfff]",Ro="["+vo+"]",oi="\\u200d",go="(?:"+Cn+"|"+yn+")",So="(?:"+Ro+"|"+yn+")",Uo="(?:"+po+"(?:d|ll|m|re|s|t|ve))?",_i="(?:"+po+"(?:D|LL|M|RE|S|T|VE))?",Qo=Eo+"?",ar="["+Oo+"]?",ur="(?:"+oi+"(?:"+[ni,Lo,bo].join("|")+")"+ar+Qo+")*",$o="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ba="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Mo=ar+Qo+ur,$i="(?:"+[vi,Lo,bo].join("|")+")"+Mo,Za="(?:"+[ni+qo+"?",qo,Lo,bo,eo].join("|")+")",ti=RegExp(po,"g"),di=RegExp(qo,"g"),Fr=RegExp(to+"(?="+to+")|"+Za+Mo,"g"),Oa=RegExp([Ro+"?"+Cn+"+"+Uo+"(?="+[uo,Ro,"$"].join("|")+")",So+"+"+_i+"(?="+[uo,Ro+go,"$"].join("|")+")",Ro+"?"+go+"+"+Uo,Ro+"+"+_i,ba,$o,Hi,$i].join("|"),"g"),Br=RegExp("["+oi+It+Xt+Oo+"]"),Pc=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Is=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],qs=-1,Pr={};Pr[Me]=Pr[Te]=Pr[De]=Pr[Ne]=Pr[Ye]=Pr[Le]=Pr[$e]=Pr[We]=Pr[Ee]=!0,Pr[ie]=Pr[ee]=Pr[me]=Pr[ae]=Pr[Pe]=Pr[ne]=Pr[le]=Pr[te]=Pr[pe]=Pr[fe]=Pr[de]=Pr[ve]=Pr[Ie]=Pr[ze]=Pr[ge]=!1;var pa={};pa[ie]=pa[ee]=pa[me]=pa[Pe]=pa[ae]=pa[ne]=pa[Me]=pa[Te]=pa[De]=pa[Ne]=pa[Ye]=pa[pe]=pa[fe]=pa[de]=pa[ve]=pa[Ie]=pa[ze]=pa[ye]=pa[Le]=pa[$e]=pa[We]=pa[Ee]=!0,pa[le]=pa[te]=pa[ge]=!1;var Wl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Xu={"&":"&","<":"<",">":">",""":'"',"'":"'"},Cc={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},mu=parseFloat,cn=parseInt,qt=typeof mc=="object"&&mc&&mc.Object===Object&&mc,jt=typeof self=="object"&&self&&self.Object===Object&&self,pn=qt||jt||Function("return this")(),Pn=e&&!e.nodeType&&e,Ze=Pn&&!0&&t&&!t.nodeType&&t,bt=Ze&&Ze.exports===Pn,Nt=bt&&qt.process,St=function(){try{var An=Ze&&Ze.require&&Ze.require("util").types;return An||Nt&&Nt.binding&&Nt.binding("util")}catch{}}(),Bt=St&&St.isArrayBuffer,Jt=St&&St.isDate,an=St&&St.isMap,gn=St&&St.isRegExp,mn=St&&St.isSet,vn=St&&St.isTypedArray;function kn(An,Qn,Nn){switch(Nn.length){case 0:return An.call(Qn);case 1:return An.call(Qn,Nn[0]);case 2:return An.call(Qn,Nn[0],Nn[1]);case 3:return An.call(Qn,Nn[0],Nn[1],Nn[2])}return An.apply(Qn,Nn)}function jn(An,Qn,Nn,bi){for(var dr=-1,jr=An==null?0:An.length;++dr-1}function Kr(An,Qn,Nn){for(var bi=-1,dr=An==null?0:An.length;++bi-1;);return Nn}function Ug(An,Qn){for(var Nn=An.length;Nn--&&Y0(Qn,An[Nn],0)>-1;);return Nn}function el(An,Qn){for(var Nn=An.length,bi=0;Nn--;)An[Nn]===Qn&&++bi;return bi}var Ed=yu(Wl),wu=yu(Yl);function a5(An){return"\\"+Cc[An]}function fy(An,Qn){return An==null?n:An[Qn]}function Rh(An){return Br.test(An)}function g3(An){return Pc.test(An)}function hy(An){for(var Qn,Nn=[];!(Qn=An.next()).done;)Nn.push(Qn.value);return Nn}function m3(An){var Qn=-1,Nn=Array(An.size);return An.forEach(function(bi,dr){Nn[++Qn]=[dr,bi]}),Nn}function l5(An,Qn){return function(Nn){return An(Qn(Nn))}}function Hh(An,Qn){for(var Nn=-1,bi=An.length,dr=0,jr=[];++Nn-1}function T3(G,Q){var He=this.__data__,tt=vp(He,G);return tt<0?(++this.size,He.push([G,Q])):He[tt][1]=Q,this}Ih.prototype.clear=fS,Ih.prototype.delete=EA,Ih.prototype.get=hS,Ih.prototype.has=pS,Ih.prototype.set=T3;function xu(G){var Q=-1,He=G==null?0:G.length;for(this.clear();++Q=Q?G:Q)),G}function nd(G,Q,He,tt,Mt,Ot){var un,wn=Q&d,Mn=Q&f,mo=Q&p;if(He&&(un=Mt?He(G,tt,Mt,Ot):He(G)),un!==n)return un;if(!gs(G))return G;var wo=$r(G);if(wo){if(un=Qee(G),!wn)return b0(G,un)}else{var ko=q0(G),Si=ko==te||ko==he;if(im(G))return KA(G,wn);if(ko==de||ko==ie||Si&&!Mt){if(un=Mn||Si?{}:sU(G),!wn)return Mn?z5(G,jA(un,G)):$A(G,BA(un,G))}else{if(!pa[ko])return Mt?G:{};un=Zee(G,ko,wn)}}Ot||(Ot=new Hc);var Zi=Ot.get(G);if(Zi)return Zi;Ot.set(G,un),WS(G)?G.forEach(function(Ir){un.add(nd(Ir,Q,He,Ir,G,Ot))}):nB(G)&&G.forEach(function(Ir,Na){un.set(Na,nd(Ir,Q,He,Na,G,Ot))});var Mr=mo?Mn?Sa:Wa:Mn?R0:C0,Ta=wo?n:Mr(G);return Wn(Ta||G,function(Ir,Na){Ta&&(Na=Ir,Ir=G[Na]),td(un,Na,nd(Ir,Q,He,Na,G,Ot))}),un}function YA(G){var Q=C0(G);return function(He){return C3(He,G,Q)}}function C3(G,Q,He){var tt=He.length;if(G==null)return!tt;for(G=br(G);tt--;){var Mt=He[tt],Ot=Q[Mt],un=G[Mt];if(un===n&&!(Mt in G)||!Ot(un))return!1}return!0}function OA(G,Q,He){if(typeof G!="function")throw new _0(a);return h8(function(){G.apply(n,He)},Q)}function Xg(G,Q,He,tt){var Mt=-1,Ot=lr,un=!0,wn=G.length,Mn=[],mo=Q.length;if(!wn)return Mn;He&&(Q=Vi(Q,Au(He))),tt?(Ot=Kr,un=!1):Q.length>=i&&(Ot=$s,un=!1,Q=new A1(Q));e:for(;++MtMt?0:Mt+He),tt=tt===n||tt>Mt?Mt:Gr(tt),tt<0&&(tt+=Mt),tt=He>tt?0:US(tt);He0&&He(wn)?Q>1?Mc(wn,Q-1,He,tt,Mt):ga(Mt,wn):tt||(Mt[Mt.length]=wn)}return Mt}var S5=QA(),Wd=QA(!0);function bu(G,Q){return G&&S5(G,Q,C0)}function T5(G,Q){return G&&Wd(G,Q,C0)}function Nd(G,Q){return Jo(Q,function(He){return rm(G[He])})}function zf(G,Q){Q=S1(Q,G);for(var He=0,tt=Q.length;G!=null&&HeQ}function Jg(G,Q){return G!=null&&La.call(G,Q)}function VA(G,Q){return G!=null&&Q in br(G)}function xy(G,Q,He){return G>=V0(Q,He)&&G=120&&wo.length>=120)?new A1(un&&wo):n}wo=G[0];var ko=-1,Si=wn[0];e:for(;++ko-1;)wn!==G&&Qu.call(wn,Mn,1),Qu.call(G,Mn,1);return G}function v0(G,Q){for(var He=G?Q.length:0,tt=He-1;He--;){var Mt=Q[He];if(He==tt||Mt!==Ot){var Ot=Mt;Ey(Mt)?Qu.call(G,Mt,1):Hy(G,Mt)}}return G}function Df(G,Q){return G+y5(x3()*(Q-G+1))}function rd(G,Q,He,tt){for(var Mt=-1,Ot=Kc(m5((Q-G)/(He||1)),0),un=Nn(Ot);Ot--;)un[tt?Ot:++Mt]=G,G+=He;return un}function $g(G,Q){var He="";if(!G||Q<1||Q>F)return He;do Q%2&&(He+=G),Q=y5(Q/2),Q&&(G+=G);while(Q);return He}function Qi(G,Q){return UM(WM(G,Q,Pu),G+"")}function c8(G){return Gg(Fy(G))}function D3(G,Q){var He=Fy(G);return wS(He,w0(Q,0,He.length))}function Cy(G,Q,He,tt){if(!gs(G))return G;Q=S1(Q,G);for(var Mt=-1,Ot=Q.length,un=Ot-1,wn=G;wn!=null&&++MtMt?0:Mt+Q),He=He>Mt?Mt:He,He<0&&(He+=Mt),Mt=Q>He?0:He-Q>>>0,Q>>>=0;for(var Ot=Nn(Mt);++tt>>1,un=G[Ot];un!==null&&!T0(un)&&(He?un<=Q:un=i){var mo=Q?null:S0(G);if(mo)return y3(mo);un=!1,Mt=$s,Mn=new A1}else Mn=Q?[]:wn;e:for(;++tt=tt?G:J0(G,Q,He)}var k3=g5||function(G){return pn.clearTimeout(G)};function KA(G,Q){if(Q)return G.slice();var He=G.length,tt=Og?Og(He):new G.constructor(He);return G.copy(tt),tt}function em(G){var Q=new G.constructor(G.byteLength);return new f5(Q).set(new f5(G)),Q}function qA(G,Q){var He=Q?em(G.buffer):G.buffer;return new G.constructor(He,G.byteOffset,G.byteLength)}function kf(G){var Q=new G.constructor(G.source,Pt.exec(G));return Q.lastIndex=G.lastIndex,Q}function Dh(G){return Mh?br(Mh.call(G)):{}}function tm(G,Q){var He=Q?em(G.buffer):G.buffer;return new G.constructor(He,G.byteOffset,G.length)}function jd(G,Q){if(G!==Q){var He=G!==n,tt=G===null,Mt=G===G,Ot=T0(G),un=Q!==n,wn=Q===null,Mn=Q===Q,mo=T0(Q);if(!wn&&!mo&&!Ot&&G>Q||Ot&&un&&Mn&&!wn&&!mo||tt&&un&&Mn||!He&&Mn||!Mt)return 1;if(!tt&&!Ot&&!mo&&G=wn)return Mn;var mo=He[tt];return Mn*(mo=="desc"?-1:1)}}return G.index-Q.index}function nm(G,Q,He,tt){for(var Mt=-1,Ot=G.length,un=He.length,wn=-1,Mn=Q.length,mo=Kc(Ot-un,0),wo=Nn(Mn+mo),ko=!tt;++wn1?He[Mt-1]:n,un=Mt>2?He[2]:n;for(Ot=G.length>3&&typeof Ot=="function"?(Mt--,Ot):n,un&&_d(He[0],He[1],un)&&(Ot=Mt<3?n:Ot,Mt=1),Q=br(Q);++tt-1?Mt[Ot?Q[un]:un]:n}}function Ke(G){return ea(function(Q){var He=Q.length,tt=He,Mt=G0.prototype.thru;for(G&&Q.reverse();tt--;){var Ot=Q[tt];if(typeof Ot!="function")throw new _0(a);if(Mt&&!un&&ZA(Ot)=="wrapper")var un=new G0([],!0)}for(tt=un?tt:He;++tt1&&ol.reverse(),wo&&Mnwn))return!1;var mo=Ot.get(G),wo=Ot.get(Q);if(mo&&wo)return mo==Q&&wo==G;var ko=-1,Si=!0,Zi=He&A?new A1:n;for(Ot.set(G,Q),Ot.set(Q,G);++ko1?"& ":"")+Q[tt],Q=Q.join(He>2?", ":" "),G.replace(Wt,`{ /* [wrapped with `+Q+`] */ -`)}function tte(G){return $r(G)||E5(G)||!!(p5&&G&&G[p5])}function Ey(G,Q){var He=typeof G;return Q=Q??F,!!Q&&(He=="number"||He!="symbol"&&je.test(G))&&G>-1&&G%1==0&&G0){if(++Q>=k)return arguments[0]}else Q=0;return G.apply(n,arguments)}}function wS(G,Q){var He=-1,tt=G.length,Mt=tt-1;for(Q=Q===n?tt:Q;++He1?G[Q-1]:n;return He=typeof He=="function"?(G.pop(),He):n,kU(G,He)});function U3(G){var Q=Lt(G);return Q.__chain__=!0,Q}function Hte(G,Q){return Q(G),G}function ky(G,Q){return Q(G)}var Mte=ea(function(G){var Q=G.length,He=Q?G[0]:0,tt=this.__wrapped__,Mt=function(Ot){return x5(Ot,G)};return Q>1||this.__actions__.length||!(tt instanceof fr)||!Ey(He)?this.thru(Mt):(tt=tt.slice(He,+He+(Q?1:0)),tt.__actions__.push({func:ky,args:[Mt],thisArg:n}),new G0(tt,this.__chain__).thru(function(Ot){return Q&&!Ot.length&&Ot.push(n),Ot}))});function $M(){return U3(this)}function Ite(){return new G0(this.value(),this.__chain__)}function QM(){this.__values__===n&&(this.__values__=TI(this.value()));var G=this.__index__>=this.__values__.length,Q=G?n:this.__values__[this.__index__++];return{done:G,value:Q}}function zte(){return this}function Dte(G){for(var Q,He=this;He instanceof S3;){var tt=jM(He);tt.__index__=0,tt.__values__=n,Q?Mt.__wrapped__=tt:Q=tt;var Mt=tt;He=He.__wrapped__}return Mt.__wrapped__=G,Q}function Ete(){var G=this.__wrapped__;if(G instanceof fr){var Q=G;return this.__actions__.length&&(Q=new fr(this)),Q=Q.reverse(),Q.__actions__.push({func:ky,args:[p8],thisArg:n}),new G0(Q,this.__chain__)}return this.thru(p8)}function CS(){return Qg(this.__wrapped__,this.__actions__)}var RS=D5(function(G,Q,He){La.call(G,He)?++G[He]:zh(G,He,1)});function LU(G,Q,He){var tt=$r(G)?Xn:_A;return He&&_d(G,Q,He)&&(Q=n),tt(G,yr(Q,3))}function kte(G,Q){var He=$r(G)?Jo:w1;return He(G,yr(Q,3))}var WU=ke(xS),ZM=ke(bS);function NU(G,Q){return Mc(MS(G,Q),1)}function eI(G,Q){return Mc(MS(G,Q),U)}function tI(G,Q,He){return He=He===n?1:Gr(He),Mc(MS(G,Q),He)}function nI(G,Q){var He=$r(G)?Wn:od;return He(G,yr(Q,3))}function oI(G,Q){var He=$r(G)?$n:b5;return He(G,yr(Q,3))}var Fte=D5(function(G,Q,He){La.call(G,He)?G[He].push(Q):zh(G,He,[Q])});function UU(G,Q,He,tt){G=ad(G)?G:Fy(G),He=He&&!tt?Gr(He):0;var Mt=G.length;return He<0&&(He=Kc(Mt+He,0)),NS(G)?He<=Mt&&G.indexOf(Q,He)>-1:!!Mt&&Y0(G,Q,He)>-1}var HS=Qi(function(G,Q,He){var tt=-1,Mt=typeof Q=="function",Ot=ad(G)?Nn(G.length):[];return od(G,function(un){Ot[++tt]=Mt?kn(Q,un,He):Vl(un,Q,He)}),Ot}),Lte=D5(function(G,Q,He){zh(G,He,Q)});function MS(G,Q){var He=$r(G)?Vi:v1;return He(G,yr(Q,3))}function Wte(G,Q,He,tt){return G==null?[]:($r(Q)||(Q=Q==null?[]:[Q]),He=tt?n:He,$r(He)||(He=He==null?[]:[He]),R5(G,Q,He))}var BU=D5(function(G,Q,He){G[He?0:1].push(Q)},function(){return[[],[]]});function jU(G,Q,He){var tt=$r(G)?vs:f1,Mt=arguments.length<3;return tt(G,yr(Q,4),He,Mt,od)}function iI(G,Q,He){var tt=$r(G)?Ju:f1,Mt=arguments.length<3;return tt(G,yr(Q,4),He,Mt,b5)}function Nte(G,Q){var He=$r(G)?Jo:w1;return He(G,i4(yr(Q,3)))}function Ute(G){var Q=$r(G)?Gg:c8;return Q(G)}function rI(G,Q,He){(He?_d(G,Q,He):Q===n)?Q=1:Q=Gr(Q);var tt=$r(G)?v5:D3;return tt(G,Q)}function Bte(G){var Q=$r(G)?s8:XA;return Q(G)}function aI(G){if(G==null)return 0;if(ad(G))return NS(G)?Xc(G):G.length;var Q=q0(G);return Q==pe||Q==Ie?G.size:Gl(G).length}function jte(G,Q,He){var tt=$r(G)?Ku:E3;return He&&_d(G,Q,He)&&(Q=n),tt(G,yr(Q,3))}var IS=Qi(function(G,Q){if(G==null)return[];var He=Q.length;return He>1&&_d(G,Q[0],Q[1])?Q=[]:He>2&&_d(Q[0],Q[1],Q[2])&&(Q=[Q[0]]),R5(G,Mc(Q,1),[])}),w8=yy||function(){return pn.Date.now()};function YU(G,Q){if(typeof Q!="function")throw new _0(a);return G=Gr(G),function(){if(--G<1)return Q.apply(this,arguments)}}function lI(G,Q,He){return Q=He?n:Q,Q=G&&Q==null?G.length:Q,Dn(G,S,n,n,n,n,Q)}function v8(G,Q){var He;if(typeof Q!="function")throw new _0(a);return G=Gr(G),function(){return--G>0&&(He=Q.apply(this,arguments)),G<=1&&(Q=n),He}}var x8=Qi(function(G,Q,He){var tt=w;if(He.length){var Mt=Hh(He,e4(x8));tt|=T}return Dn(G,tt,Q,He,Mt)}),OU=Qi(function(G,Q,He){var tt=w|b;if(He.length){var Mt=Hh(He,e4(OU));tt|=T}return Dn(Q,tt,G,He,Mt)});function _U(G,Q,He){Q=He?n:Q;var tt=Dn(G,P,n,n,n,n,n,Q);return tt.placeholder=_U.placeholder,tt}function sI(G,Q,He){Q=He?n:Q;var tt=Dn(G,v,n,n,n,n,n,Q);return tt.placeholder=sI.placeholder,tt}function zS(G,Q,He){var tt,Mt,Ot,un,wn,Mn,mo=0,wo=!1,ko=!1,Si=!0;if(typeof G!="function")throw new _0(a);Q=$c(Q)||0,gs(He)&&(wo=!!He.leading,ko="maxWait"in He,Ot=ko?Kc($c(He.maxWait)||0,Q):Ot,Si="trailing"in He?!!He.trailing:Si);function Zi(H0){var Wy=tt,Y3=Mt;return tt=Mt=n,mo=H0,un=G.apply(Y3,Wy),un}function Mr(H0){return mo=H0,wn=h8(Na,Q),wo?Zi(H0):un}function Ta(H0){var Wy=H0-Mn,Y3=H0-mo,t6e=Q-Wy;return ko?V0(t6e,Ot-Y3):t6e}function Ir(H0){var Wy=H0-Mn,Y3=H0-mo;return Mn===n||Wy>=Q||Wy<0||ko&&Y3>=Ot}function Na(){var H0=w8();if(Ir(H0))return ol(H0);wn=h8(Na,Ta(H0))}function ol(H0){return wn=n,Si&&tt?Zi(H0):(tt=Mt=n,un)}function R1(){wn!==n&&k3(wn),mo=0,tt=Mn=Mt=wn=n}function Fh(){return wn===n?un:ol(w8())}function H1(){var H0=w8(),Wy=Ir(H0);if(tt=arguments,Mt=this,Mn=H0,Wy){if(wn===n)return Mr(Mn);if(ko)return k3(wn),wn=h8(Na,Q),Zi(Mn)}return wn===n&&(wn=h8(Na,Q)),un}return H1.cancel=R1,H1.flush=Fh,H1}var VU=Qi(function(G,Q){return OA(G,1,Q)}),GU=Qi(function(G,Q,He){return OA(G,$c(Q)||0,He)});function cI(G){return Dn(G,R)}function b8(G,Q){if(typeof G!="function"||Q!=null&&typeof Q!="function")throw new _0(a);var He=function(){var tt=arguments,Mt=Q?Q.apply(this,tt):tt[0],Ot=He.cache;if(Ot.has(Mt))return Ot.get(Mt);var un=G.apply(this,tt);return He.cache=Ot.set(Mt,un)||Ot,un};return He.cache=new(b8.Cache||xu),He}b8.Cache=xu;function i4(G){if(typeof G!="function")throw new _0(a);return function(){var Q=arguments;switch(Q.length){case 0:return!G.call(this);case 1:return!G.call(this,Q[0]);case 2:return!G.call(this,Q[0],Q[1]);case 3:return!G.call(this,Q[0],Q[1],Q[2])}return!G.apply(this,Q)}}function DS(G){return v8(2,G)}var XU=d8(function(G,Q){Q=Q.length==1&&$r(Q[0])?Vi(Q[0],Au(yr())):Vi(Mc(Q,1),Au(yr()));var He=Q.length;return Qi(function(tt){for(var Mt=-1,Ot=V0(tt.length,He);++Mt=Q}),E5=Cr(function(){return arguments}())?Cr:function(G){return Dc(G)&&La.call(G,"callee")&&!h5.call(G,"callee")},$r=Nn.isArray,Gte=Bt?Au(Bt):Ic;function ad(G){return G!=null&&kS(G.length)&&!rm(G)}function zc(G){return Dc(G)&&ad(G)}function a4(G){return G===!0||G===!1||Dc(G)&&xs(G)==ae}var im=CA||Al,Xte=Jt?Au(Jt):tl;function ES(G){return Dc(G)&&G.nodeType===1&&!P8(G)}function pI(G){if(G==null)return!0;if(ad(G)&&($r(G)||typeof G=="string"||typeof G.splice=="function"||im(G)||am(G)||E5(G)))return!G.length;var Q=q0(G);if(Q==pe||Q==Ie)return!G.size;if(f8(G))return!Gl(G).length;for(var He in G)if(La.call(G,He))return!1;return!0}function Jte(G,Q){return Fs(G,Q)}function gI(G,Q,He){He=typeof He=="function"?He:n;var tt=He?He(G,Q):n;return tt===n?Fs(G,Q,n,He):!!tt}function S8(G){if(!Dc(G))return!1;var Q=xs(G);return Q==le||Q==se||typeof G.message=="string"&&typeof G.name=="string"&&!P8(G)}function eB(G){return typeof G=="number"&&Z7(G)}function rm(G){if(!gs(G))return!1;var Q=xs(G);return Q==te||Q==he||Q==q||Q==Ce}function tB(G){return typeof G=="number"&&G==Gr(G)}function kS(G){return typeof G=="number"&&G>-1&&G%1==0&&G<=F}function gs(G){var Q=typeof G;return G!=null&&(Q=="object"||Q=="function")}function Dc(G){return G!=null&&typeof G=="object"}var nB=an?Au(an):Ud;function kh(G,Q){return G===Q||Zs(G,Q,zM(Q))}function mI(G,Q,He){return He=typeof He=="function"?He:n,Zs(G,Q,zM(Q),He)}function yI(G){return FS(G)&&G!=+G}function AI(G){if(ite(G))throw new dr(r);return bp(G)}function T8(G){return G===null}function wI(G){return G==null}function FS(G){return typeof G=="number"||Dc(G)&&xs(G)==fe}function P8(G){if(!Dc(G)||xs(G)!=de)return!1;var Q=Qs(G);if(Q===null)return!0;var He=La.call(Q,"constructor")&&Q.constructor;return typeof He=="function"&&He instanceof He&&c5.call(He)==Yg}var LS=gn?Au(gn):id;function vI(G){return tB(G)&&G>=-F&&G<=F}var WS=mn?Au(mn):R3;function NS(G){return typeof G=="string"||!$r(G)&&Dc(G)&&xs(G)==ze}function T0(G){return typeof G=="symbol"||Dc(G)&&xs(G)==ye}var am=vn?Au(vn):H3;function oB(G){return G===n}function iB(G){return Dc(G)&&q0(G)==ge}function xI(G){return Dc(G)&&xs(G)==Ae}var bI=Ji(M3),SI=Ji(function(G,Q){return G<=Q});function TI(G){if(!G)return[];if(ad(G))return NS(G)?hs(G):b0(G);if(Fd&&G[Fd])return hy(G[Fd]());var Q=q0(G),He=Q==pe?m3:Q==Ie?y3:Fy;return He(G)}function ld(G){if(!G)return G===0?G:0;if(G=$c(G),G===U||G===-U){var Q=G<0?-1:1;return Q*B}return G===G?G:0}function Gr(G){var Q=ld(G),He=Q%1;return Q===Q?He?Q-He:Q:0}function US(G){return G?w0(Gr(G),0,Y):0}function $c(G){if(typeof G=="number")return G;if(T0(G))return _;if(gs(G)){var Q=typeof G.valueOf=="function"?G.valueOf():G;G=gs(Q)?Q+"":Q}if(typeof G!="string")return G===0?G:+G;G=p3(G);var He=lt.test(G);return He||st.test(G)?cn(G.slice(2),He?2:8):Ne.test(G)?_:+G}function rB(G){return Yd(G,R0(G))}function Kte(G){return G?w0(Gr(G),-F,F):G===0?G:0}function nl(G){return G==null?"":x0(G)}var C8=Sp(function(G,Q){if(f8(Q)||ad(Q)){Yd(Q,C0(Q),G);return}for(var He in Q)La.call(Q,He)&&td(G,He,Q[He])}),PI=Sp(function(G,Q){Yd(Q,R0(Q),G)}),R8=Sp(function(G,Q,He,tt){Yd(Q,R0(Q),G,tt)}),aB=Sp(function(G,Q,He,tt){Yd(Q,C0(Q),G,tt)}),lB=ea(x5);function P0(G,Q){var He=y1(G);return Q==null?He:BA(He,Q)}var qte=Qi(function(G,Q){G=br(G);var He=-1,tt=Q.length,Mt=tt>2?Q[2]:n;for(Mt&&_d(Q[0],Q[1],Mt)&&(tt=1);++He1),Ot}),Yd(G,Sa(G),He),tt&&(He=nd(He,d|f|p,xi));for(var Mt=Q.length;Mt--;)Hy(He,Q[Mt]);return He});function one(G,Q){return pB(G,i4(yr(Q)))}var DI=ea(function(G,Q){return G==null?{}:Ty(G,Q)});function pB(G,Q){if(G==null)return{};var He=Vi(Sa(G),function(tt){return[tt]});return Q=yr(Q),Py(G,He,function(tt,Mt){return Q(tt,Mt[0])})}function gB(G,Q,He){Q=S1(Q,G);var tt=-1,Mt=Q.length;for(Mt||(Mt=1,G=n);++ttQ){var tt=G;G=Q,Q=tt}if(He||G%1||Q%1){var Mt=x3();return V0(G+Mt*(Q-G+mu("1e-"+((Mt+"").length-1))),Q)}return Df(G,Q)}var s4=X(function(G,Q,He){return Q=Q.toLowerCase(),G+(He?BS(Q):Q)});function BS(G){return k5(nl(G).toLowerCase())}function jS(G){return G=nl(G),G&&G.replace(mt,Ed).replace(di,"")}function AB(G,Q,He){G=nl(G),Q=x0(Q);var tt=G.length;He=He===n?tt:w0(Gr(He),0,tt);var Mt=He;return He-=Q.length,He>=0&&G.slice(He,Mt)==Q}function YS(G){return G=nl(G),G&&Qe.test(G)?G.replace(xt,wu):G}function EI(G){return G=nl(G),G&&yt.test(G)?G.replace(nt,"\\$&"):G}var kI=X(function(G,Q,He){return G+(He?"-":"")+Q.toLowerCase()}),FI=X(function(G,Q,He){return G+(He?" ":"")+Q.toLowerCase()}),LI=L3("toLowerCase");function WI(G,Q,He){G=nl(G),Q=Gr(Q);var tt=Q?Xc(G):0;if(!Q||tt>=Q)return G;var Mt=(Q-tt)/2;return Bo(y5(Mt),He)+G+Bo(m5(Mt),He)}function lne(G,Q,He){G=nl(G),Q=Gr(Q);var tt=Q?Xc(G):0;return Q&&tt>>0,He?(G=nl(G),G&&(typeof Q=="string"||Q!=null&&!LS(Q))&&(Q=x0(Q),!Q&&Rh(G))?T1(hs(G),0,He):G.split(Q,He)):[]}var cne=X(function(G,Q,He){return G+(He?" ":"")+k5(Q)});function bB(G,Q,He){return G=nl(G),He=He==null?0:w0(Gr(He),0,G.length),Q=x0(Q),G.slice(He,He+Q.length)==Q}function une(G,Q,He){var tt=Lt.templateSettings;He&&_d(G,Q,He)&&(Q=n),G=nl(G),Q=R8({},Q,tt,Rn);var Mt=R8({},Q.imports,tt.imports,Rn),Ot=C0(Mt),un=zs(Mt,Ot),wn,Mn,mo=0,wo=Q.interpolate||Ht,ko="__p += '",Si=Jc((Q.escape||Ht).source+"|"+wo.source+"|"+(wo===at?ct:Ht).source+"|"+(Q.evaluate||Ht).source+"|$","g"),Zi="//# sourceURL="+(La.call(Q,"sourceURL")?(Q.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++qs+"]")+` -`;G.replace(Si,function(Ir,Na,ol,R1,Fh,H1){return ol||(ol=R1),ko+=G.slice(mo,H1).replace(wt,a5),Na&&(wn=!0,ko+=`' + +`)}function tte(G){return $r(G)||E5(G)||!!(p5&&G&&G[p5])}function Ey(G,Q){var He=typeof G;return Q=Q??F,!!Q&&(He=="number"||He!="symbol"&&je.test(G))&&G>-1&&G%1==0&&G0){if(++Q>=k)return arguments[0]}else Q=0;return G.apply(n,arguments)}}function wS(G,Q){var He=-1,tt=G.length,Mt=tt-1;for(Q=Q===n?tt:Q;++He1?G[Q-1]:n;return He=typeof He=="function"?(G.pop(),He):n,kU(G,He)});function U3(G){var Q=Lt(G);return Q.__chain__=!0,Q}function Hte(G,Q){return Q(G),G}function ky(G,Q){return Q(G)}var Mte=ea(function(G){var Q=G.length,He=Q?G[0]:0,tt=this.__wrapped__,Mt=function(Ot){return x5(Ot,G)};return Q>1||this.__actions__.length||!(tt instanceof fr)||!Ey(He)?this.thru(Mt):(tt=tt.slice(He,+He+(Q?1:0)),tt.__actions__.push({func:ky,args:[Mt],thisArg:n}),new G0(tt,this.__chain__).thru(function(Ot){return Q&&!Ot.length&&Ot.push(n),Ot}))});function $M(){return U3(this)}function Ite(){return new G0(this.value(),this.__chain__)}function QM(){this.__values__===n&&(this.__values__=TI(this.value()));var G=this.__index__>=this.__values__.length,Q=G?n:this.__values__[this.__index__++];return{done:G,value:Q}}function zte(){return this}function Dte(G){for(var Q,He=this;He instanceof S3;){var tt=jM(He);tt.__index__=0,tt.__values__=n,Q?Mt.__wrapped__=tt:Q=tt;var Mt=tt;He=He.__wrapped__}return Mt.__wrapped__=G,Q}function Ete(){var G=this.__wrapped__;if(G instanceof fr){var Q=G;return this.__actions__.length&&(Q=new fr(this)),Q=Q.reverse(),Q.__actions__.push({func:ky,args:[p8],thisArg:n}),new G0(Q,this.__chain__)}return this.thru(p8)}function CS(){return Qg(this.__wrapped__,this.__actions__)}var RS=D5(function(G,Q,He){La.call(G,He)?++G[He]:zh(G,He,1)});function LU(G,Q,He){var tt=$r(G)?Xn:_A;return He&&_d(G,Q,He)&&(Q=n),tt(G,yr(Q,3))}function kte(G,Q){var He=$r(G)?Jo:w1;return He(G,yr(Q,3))}var WU=ke(xS),ZM=ke(bS);function NU(G,Q){return Mc(MS(G,Q),1)}function eI(G,Q){return Mc(MS(G,Q),U)}function tI(G,Q,He){return He=He===n?1:Gr(He),Mc(MS(G,Q),He)}function nI(G,Q){var He=$r(G)?Wn:od;return He(G,yr(Q,3))}function oI(G,Q){var He=$r(G)?qn:b5;return He(G,yr(Q,3))}var Fte=D5(function(G,Q,He){La.call(G,He)?G[He].push(Q):zh(G,He,[Q])});function UU(G,Q,He,tt){G=ad(G)?G:Fy(G),He=He&&!tt?Gr(He):0;var Mt=G.length;return He<0&&(He=Kc(Mt+He,0)),NS(G)?He<=Mt&&G.indexOf(Q,He)>-1:!!Mt&&Y0(G,Q,He)>-1}var HS=Qi(function(G,Q,He){var tt=-1,Mt=typeof Q=="function",Ot=ad(G)?Nn(G.length):[];return od(G,function(un){Ot[++tt]=Mt?kn(Q,un,He):Vl(un,Q,He)}),Ot}),Lte=D5(function(G,Q,He){zh(G,He,Q)});function MS(G,Q){var He=$r(G)?Vi:v1;return He(G,yr(Q,3))}function Wte(G,Q,He,tt){return G==null?[]:($r(Q)||(Q=Q==null?[]:[Q]),He=tt?n:He,$r(He)||(He=He==null?[]:[He]),R5(G,Q,He))}var BU=D5(function(G,Q,He){G[He?0:1].push(Q)},function(){return[[],[]]});function jU(G,Q,He){var tt=$r(G)?vs:f1,Mt=arguments.length<3;return tt(G,yr(Q,4),He,Mt,od)}function iI(G,Q,He){var tt=$r(G)?Ju:f1,Mt=arguments.length<3;return tt(G,yr(Q,4),He,Mt,b5)}function Nte(G,Q){var He=$r(G)?Jo:w1;return He(G,i4(yr(Q,3)))}function Ute(G){var Q=$r(G)?Gg:c8;return Q(G)}function rI(G,Q,He){(He?_d(G,Q,He):Q===n)?Q=1:Q=Gr(Q);var tt=$r(G)?v5:D3;return tt(G,Q)}function Bte(G){var Q=$r(G)?s8:XA;return Q(G)}function aI(G){if(G==null)return 0;if(ad(G))return NS(G)?Xc(G):G.length;var Q=q0(G);return Q==pe||Q==Ie?G.size:Gl(G).length}function jte(G,Q,He){var tt=$r(G)?Ku:E3;return He&&_d(G,Q,He)&&(Q=n),tt(G,yr(Q,3))}var IS=Qi(function(G,Q){if(G==null)return[];var He=Q.length;return He>1&&_d(G,Q[0],Q[1])?Q=[]:He>2&&_d(Q[0],Q[1],Q[2])&&(Q=[Q[0]]),R5(G,Mc(Q,1),[])}),w8=yy||function(){return pn.Date.now()};function YU(G,Q){if(typeof Q!="function")throw new _0(a);return G=Gr(G),function(){if(--G<1)return Q.apply(this,arguments)}}function lI(G,Q,He){return Q=He?n:Q,Q=G&&Q==null?G.length:Q,Dn(G,S,n,n,n,n,Q)}function v8(G,Q){var He;if(typeof Q!="function")throw new _0(a);return G=Gr(G),function(){return--G>0&&(He=Q.apply(this,arguments)),G<=1&&(Q=n),He}}var x8=Qi(function(G,Q,He){var tt=w;if(He.length){var Mt=Hh(He,e4(x8));tt|=T}return Dn(G,tt,Q,He,Mt)}),OU=Qi(function(G,Q,He){var tt=w|b;if(He.length){var Mt=Hh(He,e4(OU));tt|=T}return Dn(Q,tt,G,He,Mt)});function _U(G,Q,He){Q=He?n:Q;var tt=Dn(G,P,n,n,n,n,n,Q);return tt.placeholder=_U.placeholder,tt}function sI(G,Q,He){Q=He?n:Q;var tt=Dn(G,v,n,n,n,n,n,Q);return tt.placeholder=sI.placeholder,tt}function zS(G,Q,He){var tt,Mt,Ot,un,wn,Mn,mo=0,wo=!1,ko=!1,Si=!0;if(typeof G!="function")throw new _0(a);Q=$c(Q)||0,gs(He)&&(wo=!!He.leading,ko="maxWait"in He,Ot=ko?Kc($c(He.maxWait)||0,Q):Ot,Si="trailing"in He?!!He.trailing:Si);function Zi(H0){var Wy=tt,Y3=Mt;return tt=Mt=n,mo=H0,un=G.apply(Y3,Wy),un}function Mr(H0){return mo=H0,wn=h8(Na,Q),wo?Zi(H0):un}function Ta(H0){var Wy=H0-Mn,Y3=H0-mo,t6e=Q-Wy;return ko?V0(t6e,Ot-Y3):t6e}function Ir(H0){var Wy=H0-Mn,Y3=H0-mo;return Mn===n||Wy>=Q||Wy<0||ko&&Y3>=Ot}function Na(){var H0=w8();if(Ir(H0))return ol(H0);wn=h8(Na,Ta(H0))}function ol(H0){return wn=n,Si&&tt?Zi(H0):(tt=Mt=n,un)}function R1(){wn!==n&&k3(wn),mo=0,tt=Mn=Mt=wn=n}function Fh(){return wn===n?un:ol(w8())}function H1(){var H0=w8(),Wy=Ir(H0);if(tt=arguments,Mt=this,Mn=H0,Wy){if(wn===n)return Mr(Mn);if(ko)return k3(wn),wn=h8(Na,Q),Zi(Mn)}return wn===n&&(wn=h8(Na,Q)),un}return H1.cancel=R1,H1.flush=Fh,H1}var VU=Qi(function(G,Q){return OA(G,1,Q)}),GU=Qi(function(G,Q,He){return OA(G,$c(Q)||0,He)});function cI(G){return Dn(G,R)}function b8(G,Q){if(typeof G!="function"||Q!=null&&typeof Q!="function")throw new _0(a);var He=function(){var tt=arguments,Mt=Q?Q.apply(this,tt):tt[0],Ot=He.cache;if(Ot.has(Mt))return Ot.get(Mt);var un=G.apply(this,tt);return He.cache=Ot.set(Mt,un)||Ot,un};return He.cache=new(b8.Cache||xu),He}b8.Cache=xu;function i4(G){if(typeof G!="function")throw new _0(a);return function(){var Q=arguments;switch(Q.length){case 0:return!G.call(this);case 1:return!G.call(this,Q[0]);case 2:return!G.call(this,Q[0],Q[1]);case 3:return!G.call(this,Q[0],Q[1],Q[2])}return!G.apply(this,Q)}}function DS(G){return v8(2,G)}var XU=d8(function(G,Q){Q=Q.length==1&&$r(Q[0])?Vi(Q[0],Au(yr())):Vi(Mc(Q,1),Au(yr()));var He=Q.length;return Qi(function(tt){for(var Mt=-1,Ot=V0(tt.length,He);++Mt=Q}),E5=Cr(function(){return arguments}())?Cr:function(G){return Dc(G)&&La.call(G,"callee")&&!h5.call(G,"callee")},$r=Nn.isArray,Gte=Bt?Au(Bt):Ic;function ad(G){return G!=null&&kS(G.length)&&!rm(G)}function zc(G){return Dc(G)&&ad(G)}function a4(G){return G===!0||G===!1||Dc(G)&&xs(G)==ae}var im=CA||Al,Xte=Jt?Au(Jt):tl;function ES(G){return Dc(G)&&G.nodeType===1&&!P8(G)}function pI(G){if(G==null)return!0;if(ad(G)&&($r(G)||typeof G=="string"||typeof G.splice=="function"||im(G)||am(G)||E5(G)))return!G.length;var Q=q0(G);if(Q==pe||Q==Ie)return!G.size;if(f8(G))return!Gl(G).length;for(var He in G)if(La.call(G,He))return!1;return!0}function Jte(G,Q){return Fs(G,Q)}function gI(G,Q,He){He=typeof He=="function"?He:n;var tt=He?He(G,Q):n;return tt===n?Fs(G,Q,n,He):!!tt}function S8(G){if(!Dc(G))return!1;var Q=xs(G);return Q==le||Q==se||typeof G.message=="string"&&typeof G.name=="string"&&!P8(G)}function eB(G){return typeof G=="number"&&Z7(G)}function rm(G){if(!gs(G))return!1;var Q=xs(G);return Q==te||Q==he||Q==q||Q==Ce}function tB(G){return typeof G=="number"&&G==Gr(G)}function kS(G){return typeof G=="number"&&G>-1&&G%1==0&&G<=F}function gs(G){var Q=typeof G;return G!=null&&(Q=="object"||Q=="function")}function Dc(G){return G!=null&&typeof G=="object"}var nB=an?Au(an):Ud;function kh(G,Q){return G===Q||Zs(G,Q,zM(Q))}function mI(G,Q,He){return He=typeof He=="function"?He:n,Zs(G,Q,zM(Q),He)}function yI(G){return FS(G)&&G!=+G}function AI(G){if(ite(G))throw new dr(r);return bp(G)}function T8(G){return G===null}function wI(G){return G==null}function FS(G){return typeof G=="number"||Dc(G)&&xs(G)==fe}function P8(G){if(!Dc(G)||xs(G)!=de)return!1;var Q=Qs(G);if(Q===null)return!0;var He=La.call(Q,"constructor")&&Q.constructor;return typeof He=="function"&&He instanceof He&&c5.call(He)==Yg}var LS=gn?Au(gn):id;function vI(G){return tB(G)&&G>=-F&&G<=F}var WS=mn?Au(mn):R3;function NS(G){return typeof G=="string"||!$r(G)&&Dc(G)&&xs(G)==ze}function T0(G){return typeof G=="symbol"||Dc(G)&&xs(G)==ye}var am=vn?Au(vn):H3;function oB(G){return G===n}function iB(G){return Dc(G)&&q0(G)==ge}function xI(G){return Dc(G)&&xs(G)==Ae}var bI=Ji(M3),SI=Ji(function(G,Q){return G<=Q});function TI(G){if(!G)return[];if(ad(G))return NS(G)?hs(G):b0(G);if(Fd&&G[Fd])return hy(G[Fd]());var Q=q0(G),He=Q==pe?m3:Q==Ie?y3:Fy;return He(G)}function ld(G){if(!G)return G===0?G:0;if(G=$c(G),G===U||G===-U){var Q=G<0?-1:1;return Q*B}return G===G?G:0}function Gr(G){var Q=ld(G),He=Q%1;return Q===Q?He?Q-He:Q:0}function US(G){return G?w0(Gr(G),0,Y):0}function $c(G){if(typeof G=="number")return G;if(T0(G))return _;if(gs(G)){var Q=typeof G.valueOf=="function"?G.valueOf():G;G=gs(Q)?Q+"":Q}if(typeof G!="string")return G===0?G:+G;G=p3(G);var He=lt.test(G);return He||ut.test(G)?cn(G.slice(2),He?2:8):Ue.test(G)?_:+G}function rB(G){return Yd(G,R0(G))}function Kte(G){return G?w0(Gr(G),-F,F):G===0?G:0}function nl(G){return G==null?"":x0(G)}var C8=Sp(function(G,Q){if(f8(Q)||ad(Q)){Yd(Q,C0(Q),G);return}for(var He in Q)La.call(Q,He)&&td(G,He,Q[He])}),PI=Sp(function(G,Q){Yd(Q,R0(Q),G)}),R8=Sp(function(G,Q,He,tt){Yd(Q,R0(Q),G,tt)}),aB=Sp(function(G,Q,He,tt){Yd(Q,C0(Q),G,tt)}),lB=ea(x5);function P0(G,Q){var He=y1(G);return Q==null?He:BA(He,Q)}var qte=Qi(function(G,Q){G=br(G);var He=-1,tt=Q.length,Mt=tt>2?Q[2]:n;for(Mt&&_d(Q[0],Q[1],Mt)&&(tt=1);++He1),Ot}),Yd(G,Sa(G),He),tt&&(He=nd(He,d|f|p,xi));for(var Mt=Q.length;Mt--;)Hy(He,Q[Mt]);return He});function one(G,Q){return pB(G,i4(yr(Q)))}var DI=ea(function(G,Q){return G==null?{}:Ty(G,Q)});function pB(G,Q){if(G==null)return{};var He=Vi(Sa(G),function(tt){return[tt]});return Q=yr(Q),Py(G,He,function(tt,Mt){return Q(tt,Mt[0])})}function gB(G,Q,He){Q=S1(Q,G);var tt=-1,Mt=Q.length;for(Mt||(Mt=1,G=n);++ttQ){var tt=G;G=Q,Q=tt}if(He||G%1||Q%1){var Mt=x3();return V0(G+Mt*(Q-G+mu("1e-"+((Mt+"").length-1))),Q)}return Df(G,Q)}var s4=X(function(G,Q,He){return Q=Q.toLowerCase(),G+(He?BS(Q):Q)});function BS(G){return k5(nl(G).toLowerCase())}function jS(G){return G=nl(G),G&&G.replace(yt,Ed).replace(di,"")}function AB(G,Q,He){G=nl(G),Q=x0(Q);var tt=G.length;He=He===n?tt:w0(Gr(He),0,tt);var Mt=He;return He-=Q.length,He>=0&&G.slice(He,Mt)==Q}function YS(G){return G=nl(G),G&&Qe.test(G)?G.replace(xt,wu):G}function EI(G){return G=nl(G),G&&mt.test(G)?G.replace(nt,"\\$&"):G}var kI=X(function(G,Q,He){return G+(He?"-":"")+Q.toLowerCase()}),FI=X(function(G,Q,He){return G+(He?" ":"")+Q.toLowerCase()}),LI=L3("toLowerCase");function WI(G,Q,He){G=nl(G),Q=Gr(Q);var tt=Q?Xc(G):0;if(!Q||tt>=Q)return G;var Mt=(Q-tt)/2;return Bo(y5(Mt),He)+G+Bo(m5(Mt),He)}function lne(G,Q,He){G=nl(G),Q=Gr(Q);var tt=Q?Xc(G):0;return Q&&tt>>0,He?(G=nl(G),G&&(typeof Q=="string"||Q!=null&&!LS(Q))&&(Q=x0(Q),!Q&&Rh(G))?T1(hs(G),0,He):G.split(Q,He)):[]}var cne=X(function(G,Q,He){return G+(He?" ":"")+k5(Q)});function bB(G,Q,He){return G=nl(G),He=He==null?0:w0(Gr(He),0,G.length),Q=x0(Q),G.slice(He,He+Q.length)==Q}function une(G,Q,He){var tt=Lt.templateSettings;He&&_d(G,Q,He)&&(Q=n),G=nl(G),Q=R8({},Q,tt,Rn);var Mt=R8({},Q.imports,tt.imports,Rn),Ot=C0(Mt),un=zs(Mt,Ot),wn,Mn,mo=0,wo=Q.interpolate||Ht,ko="__p += '",Si=Jc((Q.escape||Ht).source+"|"+wo.source+"|"+(wo===at?st:Ht).source+"|"+(Q.evaluate||Ht).source+"|$","g"),Zi="//# sourceURL="+(La.call(Q,"sourceURL")?(Q.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++qs+"]")+` +`;G.replace(Si,function(Ir,Na,ol,R1,Fh,H1){return ol||(ol=R1),ko+=G.slice(mo,H1).replace(At,a5),Na&&(wn=!0,ko+=`' + __e(`+Na+`) + '`),Fh&&(Mn=!0,ko+=`'; `+Fh+`; @@ -4796,28 +4796,28 @@ __p += '`),ol&&(ko+=`' + `;var Mr=La.call(Q,"variable")&&Q.variable;if(!Mr)ko=`with (obj) { `+ko+` } -`;else if(Ke.test(Mr))throw new dr(l);ko=(Mn?ko.replace(Fe,""):ko).replace(Ge,"$1").replace(rt,"$1;"),ko="function("+(Mr||"obj")+`) { +`;else if(qe.test(Mr))throw new dr(l);ko=(Mn?ko.replace(Fe,""):ko).replace(Ge,"$1").replace(rt,"$1;"),ko="function("+(Mr||"obj")+`) { `+(Mr?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(wn?", __e = _.escape":"")+(Mn?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+ko+`return __p -}`;var Ta=PB(function(){return jr(Ot,Zi+"return "+ko).apply(n,un)});if(Ta.source=ko,S8(Ta))throw Ta;return Ta}function BI(G){return nl(G).toLowerCase()}function OS(G){return nl(G).toUpperCase()}function jI(G,Q,He){if(G=nl(G),G&&(He||Q===n))return p3(G);if(!G||!(Q=x0(Q)))return G;var tt=hs(G),Mt=hs(Q),Ot=yl(tt,Mt),un=Ug(tt,Mt)+1;return T1(tt,Ot,un).join("")}function SB(G,Q,He){if(G=nl(G),G&&(He||Q===n))return G.slice(0,py(G)+1);if(!G||!(Q=x0(Q)))return G;var tt=hs(G),Mt=Ug(tt,hs(Q))+1;return T1(tt,0,Mt).join("")}function TB(G,Q,He){if(G=nl(G),G&&(He||Q===n))return G.replace(Tt,"");if(!G||!(Q=x0(Q)))return G;var tt=hs(G),Mt=yl(tt,hs(Q));return T1(tt,Mt).join("")}function Ni(G,Q){var He=H,tt=D;if(gs(Q)){var Mt="separator"in Q?Q.separator:Mt;He="length"in Q?Gr(Q.length):He,tt="omission"in Q?x0(Q.omission):tt}G=nl(G);var Ot=G.length;if(Rh(G)){var un=hs(G);Ot=un.length}if(He>=Ot)return G;var wn=He-Xc(tt);if(wn<1)return tt;var Mn=un?T1(un,0,wn).join(""):G.slice(0,wn);if(Mt===n)return Mn+tt;if(un&&(wn+=Mn.length-wn),LS(Mt)){if(G.slice(wn).search(Mt)){var mo,wo=Mn;for(Mt.global||(Mt=Jc(Mt.source,nl(Pt.exec(Mt))+"g")),Mt.lastIndex=0;mo=Mt.exec(wo);)var ko=mo.index;Mn=Mn.slice(0,ko===n?wn:ko)}}else if(G.indexOf(x0(Mt),wn)!=wn){var Si=Mn.lastIndexOf(Mt);Si>-1&&(Mn=Mn.slice(0,Si))}return Mn+tt}function YI(G){return G=nl(G),G&&dt.test(G)?G.replace(Ve,gy):G}var s0=X(function(G,Q,He){return G+(He?" ":"")+Q.toUpperCase()}),k5=L3("toUpperCase");function C1(G,Q,He){return G=nl(G),Q=He?n:Q,Q===n?g3(G)?my(G):qu(G):G.match(Q)||[]}var PB=Qi(function(G,Q){try{return kn(G,n,Q)}catch(He){return S8(He)?He:new dr(He)}}),dne=ea(function(G,Q){return Wn(Q,function(He){He=om(He),zh(G,He,x8(G[He],G))}),G});function fne(G){var Q=G==null?0:G.length,He=yr();return G=Q?Vi(G,function(tt){if(typeof tt[1]!="function")throw new _0(a);return[He(tt[0]),tt[1]]}):[],Qi(function(tt){for(var Mt=-1;++MtF)return[];var He=Y,tt=V0(G,Y);Q=yr(Q),G-=Y;for(var Mt=Ch(tt,Q);++He0||Q<0)?new fr(He):(G<0?He=He.takeRight(-G):G&&(He=He.drop(G)),Q!==n&&(Q=Gr(Q),He=Q<0?He.dropRight(-Q):He.take(Q-G)),He)},fr.prototype.takeRightWhile=function(G){return this.reverse().takeWhile(G).reverse()},fr.prototype.toArray=function(){return this.take(Y)},bu(fr.prototype,function(G,Q){var He=/^(?:filter|find|map|reject)|While$/.test(Q),tt=/^(?:head|last)$/.test(Q),Mt=Lt[tt?"take"+(Q=="last"?"Right":""):Q],Ot=tt||/^find/.test(Q);Mt&&(Lt.prototype[Q]=function(){var un=this.__wrapped__,wn=tt?[1]:arguments,Mn=un instanceof fr,mo=wn[0],wo=Mn||$r(un),ko=function(Na){var ol=Mt.apply(Lt,ga([Na],wn));return tt&&Si?ol[0]:ol};wo&&He&&typeof mo=="function"&&mo.length!=1&&(Mn=wo=!1);var Si=this.__chain__,Zi=!!this.__actions__.length,Mr=Ot&&!Si,Ta=Mn&&!Zi;if(!Ot&&wo){un=Ta?un:new fr(this);var Ir=G.apply(un,wn);return Ir.__actions__.push({func:ky,args:[ko],thisArg:n}),new G0(Ir,Si)}return Mr&&Ta?G.apply(this,wn):(Ir=this.thru(ko),Mr?tt?Ir.value()[0]:Ir.value():Ir)})}),Wn(["pop","push","shift","sort","splice","unshift"],function(G){var Q=jg[G],He=/^(?:push|sort|unshift)$/.test(G)?"tap":"thru",tt=/^(?:pop|shift)$/.test(G);Lt.prototype[G]=function(){var Mt=arguments;if(tt&&!this.__chain__){var Ot=this.value();return Q.apply($r(Ot)?Ot:[],Mt)}return this[He](function(un){return Q.apply($r(un)?un:[],Mt)})}}),bu(fr.prototype,function(G,Q){var He=Lt[Q];if(He){var tt=He.name+"";La.call(g1,tt)||(g1[tt]=[]),g1[tt].push({name:Q,func:He})}}),g1[pt(n,b).name]=[{name:"wrapper",func:n}],fr.prototype.clone=sS,fr.prototype.reverse=cS,fr.prototype.value=Ld,Lt.prototype.at=Mte,Lt.prototype.chain=$M,Lt.prototype.commit=Ite,Lt.prototype.next=QM,Lt.prototype.plant=Dte,Lt.prototype.reverse=Ete,Lt.prototype.toJSON=Lt.prototype.valueOf=Lt.prototype.value=CS,Lt.prototype.first=Lt.prototype.head,Fd&&(Lt.prototype[Fd]=zte),Lt},Ap=lS();Ze?((Ze.exports=Ap)._=Ap,Pn._=Ap):pn._=Ap}).call(mc)})(VG,VG.exports);var M2=VG.exports;const iQ=t=>{const e=ht(cs),n=M(wf),[o,i]=m.useState(null);return m.useEffect(()=>{if(e){const r=Sn.getState().getHeatmap(t);r&&i(xe.fetchHeatmapTexture(r,n??5))}},[e,n]),o},rQ=(t,e,n,o,i,r)=>{const a=i??((n==null?void 0:n.color)==="Black"&&(n==null?void 0:n.cellType)==="Monocrystalline"?"silver":"white"),l=r??"gray",s=m.useMemo(()=>{if(!n)return null;const{cellType:d,length:f,width:p,m:g,n:A,color:w}=n;return o===ui.portrait?tSe(d,p,f,A,g,w,a,l):tSe(d,f,p,g,A,w,a,l)},[n,o,a,l]),[c,u]=m.useState(s);return m.useEffect(()=>{if(s&&n){const{length:d,width:f}=n,p=Math.max(1,Math.round(t/(o===ui.landscape?d:f))),g=Math.max(1,Math.round(e/(o===ui.landscape?f:d)));s.repeat.set(p,g),s.wrapS=s.wrapT=Ss,u(s.clone())}},[s,t,e]),c},tSe=(t,e,n,o,i,r,a,l)=>{e*=Hwe,n*=Hwe;const s=document.createElement("canvas");[s.width,s.height]=[e,n];const c=s.getContext("2d");if(c){c.fillStyle=a,c.fillRect(0,0,e,n);const u=Math.max(e,n)*W3t;if(c.fillStyle=l,c.fillRect(u,u,e-2*u,n-2*u),c.fillStyle=r==="Black"?U3t:B3t,t==="Thin Film"){const d=u*.6;c.fillRect(d,d,e-d*2,n-d*2)}else{const d=Math.max(e,n)*N3t,f=u+d,p=(e-f*2-d*(o-1))/o,g=(n-f*2-d*(i-1))/i,A=p*.1,w=g*.1;if(t==="Monocrystalline")for(let b=0;b{const i=Xi().gl.domElement;return h.jsx(ts,{args:[o,6,6],name:yo.Default,onPointerOver:()=>{i.style.cursor="move"},onPointerOut:()=>{i.style.cursor="default"},onPointerDown:r=>{M.getState().selectMe(t,r,zo.Move),ht.getState().set(a=>{a.showWallIntersectionPlaneId=e,a.oldParentId=e,a.oldFoundationId=n})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})},eO=({pos:t,dms:e,handleType:n,initPointerDown:o})=>{const[i,r,a]=t,[l,s]=e,c=Xi().gl.domElement,[u,d]=m.useState(pr),f=m.useRef(null),p=()=>{o();const g=new re;switch(n){case gt.Left:case gt.Right:g.set(-i*2,0,-a);break;case gt.Upper:case gt.Lower:g.set(0,-r*2,-a);break}M.getState().set(A=>{f.current&&(A.resizeAnchor=f.current.localToWorld(g),A.resizeHandleType=n)})};return h.jsx(Ei,{ref:f,position:[i,r,a],args:[s,s,l*1.2],name:n,onPointerDown:p,onPointerOver:()=>{c.style.cursor="pointer",d(nr)},onPointerOut:()=>{c.style.cursor="default",d(pr)},children:h.jsx("meshBasicMaterial",{attach:"material",color:u})})},nSe=({position:t,ratio:e,handleType:n,initPointerDown:o})=>{const[i,r]=m.useState(pr),a=Xi().gl.domElement,l=m.useMemo(()=>h.jsx("meshBasicMaterial",{attach:"material",color:i}),[i]),s=()=>{o(),M.getState().set(c=>{c.rotateHandleType=n})};return h.jsxs("group",{position:t,rotation:[Vt,0,0],scale:e,name:n,children:[h.jsxs("group",{children:[h.jsx(B1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:l}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:l}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:l})]}),h.jsx(sa,{name:n,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:s,onPointerOver:c=>{a.style.cursor="grab",r(nr)},onPointerOut:()=>{a.style.cursor="default",r(pr)}})]})},b$t=({rotationZ:t,tiltAngle:e,handleSize:n,initPointerDown:o,handlePointerMove:i,handlePointerUp:r})=>{const{gl:a}=Xi(),[l,s]=m.useState(pr),[c,u]=m.useState(!1),d=m.useRef(null),f=m.useMemo(()=>new Array(13).fill(0),[]),p=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[n,1.1*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerOver:()=>{a.domElement.style.cursor="grab",s(nr)},onPointerOut:()=>{a.domElement.style.cursor="default",s(pr)},onPointerDown:g=>{o(),g.stopPropagation(),u(!0),p(A=>{A.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:l})}),c&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:d,name:"Solar panel tilt handle",args:[n,2*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerDown:g=>{},onPointerMove:g=>{i(g,d)},onPointerUp:()=>{u(!1),r()},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,n],[0,0,1.75*n]],rotation:new Qt(e,0,t,"ZXY"),lineWidth:1}),f.map((g,A)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*A-Vt,0,t,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*n],[0,0,2*n]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${A*15-90}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.15*n,position:[0,0,1.6*n]})]},A)),h.jsx("group",{rotation:new Qt(e,0,t,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(e/Math.PI*180)}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.2*n,position:[0,0,.75*n]})})]})]})},S$t=be.memo(({drawSunbeam:t,rotation:e,normal:n,relativeEuler:o,fRotation:i})=>{const r=new Qt().fromArray([e[0],e[1],e[2],"ZXY"]),a=m.useMemo(()=>e[0]===0?new re().fromArray(n).applyEuler(new Qt(o.x,o.y,o.z+e[2]+i,"ZXY")):new re(0,0,1).applyEuler(r).applyEuler(new Qt(0,0,i)),[e,o,i]),l=M(Ya),s=M(Xs),c=M(mh),u=Math.max(100,10*c),d=m.useMemo(()=>zr(new Date(l),s),[l,s]);return h.jsx(h.Fragment,{children:t&&d.z>0&&h.jsxs("group",{rotation:[-r.x,0,-r.z-i],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[a.clone().multiplyScalar(.75),[0,0,0],d.clone().multiplyScalar(u)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[d.clone().multiplyScalar(.5),a.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(d.angleTo(a)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:d.clone().multiplyScalar(.75).add(a.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:a.clone().multiplyScalar(.75),rotation:[Vt+r.x+o.x,0,r.z+o.z+i,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-o.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),T$t=({id:t})=>{M(Jn);const e=M(Vn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]),i=m.useMemo(()=>e(t),[t]);if(!i||!i.foundationId)return null;const r=e(i.foundationId);if(!r)return null;const a=new re(r.cx,r.cy,r.cz),l=new re(i.cx*r.lx,i.cy*r.ly,r.lz/2+i.cz+i.lz/2+i.poleHeight).applyEuler(new Qt(0,0,r.rotation[2])).add(a),s=((i==null?void 0:i.label)??j.t("shared.SolarPanelElement",o))+(i!=null&&i.locked?` ( + ${j.t("shared.ElementLocked",o)} + )`:"")+(i!=null&&i.label?"":` -`+j.t("word.Coordinates",o)+": ("+l.x.toFixed(1)+", "+l.y.toFixed(1)+", "+l.z.toFixed(1)+") "+j.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:s,color:i.labelColor??"white",fontSize:i.labelFontSize??20,textHeight:i.labelSize??.2,position:[0,0,i.labelHeight??Math.max(i.ly/2*Math.abs(Math.sin(i.tiltAngle))+.1,.2)]})},P$t=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,tiltAngle:s,relativeAzimuth:c,poleHeight:u,poleRadius:d,poleSpacing:f,drawSunBeam:p,rotation:g=[0,0,0],normal:A=[0,0,1],color:w="white",frameColor:b,backsheetColor:C,showLabel:P=!1,locked:v=!1,parentId:T,foundationId:y,foundationModel:S,orientation:x=ui.portrait})=>{const R=M(dn),H=M(Vc),D=M(Vn),k=ht(cs),W=M(ss),N=M(gq),L=M(hu)??!1,E=M(C7),U=M(mh),F=Hs(t),B=m.useRef(null),_=E[e];_&&(l=Math.max(_.thickness,.02));const Y=r/2,O=a/2,J=l/2,Z=M.getState().elements.length<100?4:2,ie=-u/2-l/2,[ee,q]=m.useState(g[0]===0),[ae,ne]=m.useState(!1),[se,le]=m.useState(!1),{gl:te,camera:he}=Xi(),pe=m.useRef(null),fe=m.useRef(),$=m.useRef(null),de=m.useRef(!1),Se=m.useRef(null),Ce=m.useRef(null),ve=m.useRef(null),Ie=m.useRef(null),ze=m.useRef(null),ye=m.useRef(null),oe=m.useMemo(()=>new Gs,[]),ge=m.useMemo(()=>new Gt,[]),Ae=m.useMemo(()=>ee?new re(n,o,i+J+u):new re(n,o,i+l/2+.02),[n,o,i,J,ee,u,U]),me=m.useMemo(()=>new Qt().fromArray([g[0],g[1],g[2],"ZXY"]),[g]),Pe=m.useMemo(()=>ee?new Qt(s,0,c,"ZXY"):new Qt,[s,c,ee]),Me=m.useMemo(()=>{const ot=[],et=Math.floor(.5*r/f),_e=Math.floor(.5*a*Math.abs(Math.cos(s))/f),nt=.5*Math.sin(s),yt=Math.cos(c)*f,Tt=Math.sin(c)*f;for(let Rt=-et;Rt<=et;Rt++)for(let Wt=-_e;Wt<=_e;Wt++){const Ct=Rt*yt-Wt*Tt,At=Rt*Tt+Wt*yt;ot.push(new re(Ct,At,ie+nt*f*Wt))}return ot},[c,s,f,r,a,u,l]);m.useEffect(()=>{q(g[0]===0)},[g]),m.useEffect(()=>{if(_){let ot,et;x===ui.portrait?(ot=Math.max(1,Math.round(r/_.width)),et=Math.max(1,Math.round(a/_.length))):(ot=Math.max(1,Math.round(r/_.length)),et=Math.max(1,Math.round(a/_.width))),fe.current=[];const _e=r/ot,nt=a/et;for(let yt=0;yt<=ot;yt++)fe.current.push({points:[new re(-Y+yt*_e,-O,l),new re(-Y+yt*_e,O,l)]});for(let yt=0;yt<=et;yt++)fe.current.push({points:[new re(-Y,-O+yt*nt,l),new re(Y,-O+yt*nt,l)]})}},[x,e,r,a,l]);const Te=()=>{R(ot=>{if(Se.current&&ve.current!==null&&ye.current&&Ce.current&&ze.current){for(const et of ot.elements)if(et.id===t){[et.cx,et.cy,et.cz]=[...Se.current],[et.lx,et.ly,et.lz]=[...Ce.current],et.relativeAzimuth=ve.current,et.normal=[...ye.current],et.rotation=[...ze.current];break}}})},De=()=>{if(de.current){const ot=D(T);if(ot&&y){const et=D(t),_e=B.current;if(et&&_e){const nt=In.getRoofBoundaryVertices(ot),yt=In.getSolarPanelVerticesOnRoof(et,_e);!rye(yt,nt)||!aye(et,_e,yt)?Te():xt(et)}}Ln.getState().setEnableOrbitController(!0),de.current=!1,ne(!1),R(et=>{et.moveHandleType=null,et.resizeHandleType=null,et.rotateHandleType=null,et.updateElementOnRoofFlag=!0}),B.current=null}},Ue=Math.max(1,(r+a)/16),Oe=Af*Ue*2,Le=I9*Ue*1.5,$e=Ue*2/3,We=()=>{const ot=M.getState().elements.find(et=>et.id===y&&et.type===z.Foundation);ot&&(Se.current=[n/ot.lx,o/ot.ly,i-ot.lz/2],Ce.current=[r,a,l],ve.current=c,Ie.current=s,ye.current=[...A],ze.current=[...g],B.current=ot),ne(!0),de.current=!0,Ln.getState().setEnableOrbitController(!1)},Ee=ot=>{ge.x=ot.offsetX/te.domElement.clientWidth*2-1,ge.y=-(ot.offsetY/te.domElement.clientHeight)*2+1,oe.setFromCamera(ge,he)},Fe=(ot,et)=>!!(ee&&et!==0&&.5*ot*Math.abs(Math.sin(et))>u),Ge=ot=>{if($.current&&de.current&&B.current&&_){Ee(ot);const et=oe.intersectObjects([$.current]);if(et.length>0){const _e=et[0].point;if(_e.z<.001)return;const nt=M.getState().rotateHandleType;if(M.getState().resizeHandleType){const yt=ee?c:0,Tt=M.getState().resizeAnchor,Rt=new re(B.current.cx,B.current.cy,B.current.lz),Wt=new re().subVectors(_e,Tt).applyEuler(new Qt(0,0,-g[2]-B.current.rotation[2]-yt));R(Ct=>{for(const At of Ct.elements)if(At.id===t&&B.current){switch(Ct.resizeHandleType){case gt.Left:case gt.Right:{const Ft=At.orientation===ui.landscape?_.length:_.width,Ke=Math.abs(Wt.x),ct=Math.max(1,Math.ceil((Ke-Ft/2)/Ft))*Ft,Pt=new re(Math.sign(Wt.x)*ct/2,0,0).applyEuler(new Qt(0,0,g[2]+B.current.rotation[2]+yt)),Ne=new re().addVectors(Tt,Pt).sub(Rt).applyEuler(new Qt(0,0,-B.current.rotation[2]));At.lx=ct,At.cx=Ne.x/B.current.lx,At.cy=Ne.y/B.current.ly;break}case gt.Upper:case gt.Lower:{const Ft=Math.abs(Wt.y),Ke=Math.abs(Wt.z),Je=Math.hypot(Ft,Ke),ct=At.orientation===ui.landscape?_.width:_.length,Ne=Math.max(1,Math.ceil((Je-ct/2)/ct))*ct,lt=new re(0,Ne*Math.sign(Wt.y)/2,0).applyEuler(new Qt(g[0],g[1],g[2]+B.current.rotation[2]+yt,"ZXY")),Ye=new re().addVectors(Tt,lt).sub(Rt).applyEuler(new Qt(0,0,-B.current.rotation[2]));Fe(Ne,s)||(At.ly=Ne,At.cx=Ye.x/B.current.lx,At.cy=Ye.y/B.current.ly,ee||(At.cz=Ye.z-J));break}}break}})}else if(nt===wi.Lower||nt===wi.Upper){const yt=B.current.rotation[2],Tt=new Gt(B.current.cx,B.current.cy),Rt=new Gt(n,o).rotateAround(wr,yt),Wt=new Gt().addVectors(Rt,Tt),Ct=Math.atan2(-_e.x+Wt.x,_e.y-Wt.y)-yt+(nt===wi.Lower?Math.PI:0),At=Math.abs(Ct)>Math.PI?-Math.sign(Ct)*na:0,Ft=Ct+At;M.getState().updateSolarCollectorRelativeAzimuthById(t,Ft)}}}},rt=(ot,et)=>{var _e,nt;if(de.current&&(Ee(ot),et.current&&M.getState().rotateHandleType===wi.Tilt)){const yt=oe.intersectObjects([et.current]);if(yt.length>0){const Tt=yt[0].point,Rt=(_e=et.current.parent)==null?void 0:_e.localToWorld(new re);if(Rt){const Wt=new re().subVectors(Tt,Rt);let Ct=Wt.angleTo(Po);if(!(.5*a*Math.abs(Math.sin(Ct))>u)){const Ft=c+g[2]+(((nt=B.current)==null?void 0:nt.rotation[2])??0),Ke=Ft%Math.PI===0?Math.sign(-Wt.y)*Math.sign(Math.cos(Ft)):Math.sign(Wt.x)*Math.sign(Math.sin(Ft));Ct*=Ke,M.getState().updateSolarPanelTiltAngleById(t,Ct)}}}}},Ve=()=>{const ot=D(t);if(ot&&Ie.current&&Math.abs(ot.tiltAngle-Ie.current)>Dt){const et={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Ie.current,newValue:ot.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(et.changedElementId,et.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(et.changedElementId,et.newValue)}};M.getState().addUndoable(et)}},xt=ot=>{if(M.getState().resizeHandleType){if(Ce.current&&Se.current&&ye.current&&ze.current){const et={name:"Resize Solar Panel On Roof",timestamp:Date.now(),id:ot.id,oldDms:[...Ce.current],oldNor:[...ye.current],oldPos:[...Se.current],oldRot:[...ze.current],newDms:[ot.lx,ot.ly,ot.lz],newPos:[ot.cx,ot.cy,ot.cz],newNor:[...ot.normal],newRot:[...ot.rotation],undo(){R(_e=>{for(const nt of _e.elements)if(nt.id===et.id){[nt.cx,nt.cy,nt.cz]=[...et.oldPos],[nt.lx,nt.ly,nt.lz]=[...et.oldDms],nt.normal=[...et.oldNor],nt.rotation=[...et.oldRot];break}})},redo(){R(_e=>{for(const nt of _e.elements)if(nt.id===et.id){[nt.cx,nt.cy,nt.cz]=[...et.newPos],[nt.lx,nt.ly,nt.lz]=[...et.newDms],nt.normal=[...et.newNor],nt.rotation=[...et.newRot];break}})}};M.getState().addUndoable(et)}}else if(M.getState().rotateHandleType&&ve.current!==void 0){const et={name:"Rotate Solar Panel On Roof",timestamp:Date.now(),oldValue:ve.current,newValue:ot.relativeAzimuth,changedElementId:ot.id,changedElementType:ot.type,undo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(et.changedElementId,et.oldValue)},redo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(et.changedElementId,et.newValue)}};M.getState().addUndoable(et)}},dt=M(ot=>{for(const et of ot.elements)if(et.id===T)return et}),Qe=rQ(r,a,_,x,b,C),ut=iQ(t),ft=()=>k&&ut?h.jsx("meshBasicMaterial",{attach:"material-4",map:ut}):Qe?L||N===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Qe,color:w}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((_==null?void 0:_.color)==="Blue"?Kw:qw),shininess:N??Jm,side:ia,map:Qe,color:w}):h.jsx("meshStandardMaterial",{attach:"material-4",color:w}),at=()=>(_==null?void 0:_.bifacialityFactor)===0||L||u===0&&s===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:w}):Qe?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((_==null?void 0:_.color)==="Blue"?Kw:qw),shininess:N??Jm,side:ia,map:Qe,color:w}):null;return dt&&dt.type===z.Roof&&dt.opacity===0?null:h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:me,position:Ae,children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:Pe,children:[h.jsxs(Ei,{receiveShadow:W,castShadow:W,uuid:t,ref:pe,args:[r,a,l],name:"Solar Panel",onPointerDown:ot=>{ot.button!==2&&M.getState().objectTypeToAdd===z.None&&H(t,ot,zo.Select)},onContextMenu:ot=>{H(t,ot,zo.ContextMenu),R(et=>{ot.intersections.length>0&&ot.intersections[0].object===pe.current&&(et.contextMenuObjectType=z.SolarPanel)})},onPointerOver:ot=>{ot.intersections.length>0&&ot.intersections[0].object===pe.current&&le(!0)},onPointerOut:ot=>{le(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:w}),h.jsx("meshStandardMaterial",{attach:"material-1",color:w}),h.jsx("meshStandardMaterial",{attach:"material-2",color:w}),h.jsx("meshStandardMaterial",{attach:"material-3",color:w}),ft(),at()]}),F&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(x$t,{id:t,handleSize:Oe,parentId:T,foundationId:y}),h.jsxs("group",{name:"Resize Handle Group",children:[h.jsx(eO,{pos:[-Y,0,J],dms:[l,Le],handleType:gt.Left,initPointerDown:We}),h.jsx(eO,{pos:[Y,0,J],dms:[l,Le],handleType:gt.Right,initPointerDown:We}),h.jsx(eO,{pos:[0,-O,J],dms:[l,Le],handleType:gt.Lower,initPointerDown:We}),h.jsx(eO,{pos:[0,O,J],dms:[l,Le],handleType:gt.Upper,initPointerDown:We})]})]}),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,position:[0,0,f0],args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),k&&ut&&fe.current&&fe.current.map((ot,et)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:ot.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},et)),F&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Y,-O,0],[-Y,O,0],[Y,O,0],[Y,-O,0],[-Y,-O,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),ee&&F&&!v&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Rotate Handle Group",rotation:[0,0,Pe.z],children:[h.jsx(nSe,{position:[0,-O-1,0],ratio:1,handleType:wi.Lower,initPointerDown:We}),h.jsx(nSe,{position:[0,O+1,0],ratio:1,handleType:wi.Upper,initPointerDown:We})]}),h.jsx(b$t,{rotationZ:c,tiltAngle:s,handleSize:$e,initPointerDown:We,handlePointerMove:rt,handlePointerUp:Ve})]}),ae&&h.jsx(sa,{ref:$,args:[1e3,1e3],visible:!1,onPointerMove:Ge,onPointerUp:De}),ee&&u>0&&Me.map((ot,et)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+et,castShadow:!1,receiveShadow:!1,args:[d,d,u+(ot.z-ie)*2+l,Z,1],position:ot,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})},et)),h.jsx(S$t,{drawSunbeam:p,rotation:g,normal:A,relativeEuler:Pe,fRotation:(S==null?void 0:S.rotation[2])??0}),(se||P)&&!F&&h.jsx(T$t,{id:t})]})},C$t=t=>{const{lx:e,lz:n,parentId:o,id:i,roofId:r}=t,a=M(B8t),l=M(gge);m.useEffect(()=>{r&&(a===r||l.has(r))&&M.getState().set(d=>{for(const f of d.elements)if(f.id===i&&f.type===z.Wall){const p=f;p.roofId=null,p.leftRoofHeight=void 0,p.rightRoofHeight=void 0,p.centerRoofHeight=void 0,p.centerLeftRoofHeight=void 0,p.centerRightRoofHeight=void 0;break}})},[r,a,l]);const s=d=>!(d.button===2||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||M.getState().isAddingElement()),c=d=>{s(d)&&(M.getState().set(f=>{f.contextMenuObjectType=null}),M.getState().selectMe(i,d,zo.Select))},u=d=>{M.getState().selectMe(i,d,zo.ContextMenu),M.getState().set(f=>{d.intersections.length>0&&d.intersections[0].object===d.eventObject&&(f.contextMenuObjectType=z.Wall)})};return h.jsx(sa,{args:[e,n],rotation:[Vt,0,0],visible:!1,onPointerDown:c,onContextMenu:u,children:h.jsx("meshBasicMaterial",{side:ji})})},R$t=be.memo(C$t),oSe=({cy:t,size:e,type:n})=>{const[o,i]=m.useState(Fk),r=()=>{i(nr)},a=()=>{i(Fk)};return h.jsx(ts,{name:n,args:[e],position:[0,t,0],onPointerEnter:r,onPointerOut:a,children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},H$t=({ply:t,phz:e})=>{const n=UH(),o=i=>{i.intersections.length>0&&i.intersections[0].eventObject.parent===i.eventObject&&(M.getState().set(r=>{r.moveHandleType=i.object.name}),Ln.getState().setEnableOrbitController(!1))};return h.jsxs("group",{name:"Move Handle Group",position:[0,0,-e],onPointerDown:o,children:[h.jsx(oSe,{cy:-n,size:n,type:yo.Lower}),h.jsx(oSe,{cy:t+n,size:n,type:yo.Upper})]})},M$t=be.memo(H$t),I$t="#ADD8E6",b4=be.memo(({x:t,z:e,handleType:n,highLight:o,handleSize:i,partial:r})=>{const a=M(dn),l=M(yh),s=M(dYe),[c,u]=m.useState(!1),d=o||c||n===l||s&&(n===gt.LowerRight||n===gt.UpperRight)?nr:r?I$t:pr;let f=i,p=i,g=i;if(n===gt.LowerRight||n===gt.LowerLeft)f=i*1.7;else if(r){f*=.75,p=i/2,g=i*2.5;const A=g/4;n===gt.WallPartialResizeLeft||n===gt.WallPartialResizeRight?e-=A:(n===gt.WallPartialResizeLeftTop||n===gt.WallPartialResizeRightTop)&&(e+=A)}else p=i/2,g=i*1.7;return h.jsx(Ei,{name:n,args:[f,p,g],position:[t,0,e],onPointerOver:()=>{u(!0),a(A=>{A.hoveredHandle=n})},onPointerLeave:()=>{u(!1),a(A=>{A.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{color:d})})}),z$t=be.memo(({id:t,parentLz:e,roofId:n,x:o,z:i,absAngle:r,leftUnfilledHeight:a,rightUnfilledHeight:l,leftTopPartialResizeHandleHeight:s,rightTopPartialResizeHandleHeight:c,fill:u,wallLeftHeight:d,wallRightHeight:f,highLight:p,leftJoints:g,rightJoints:A})=>{const w=M(dn),b=M(hu),C=UH(),[P,v]=m.useState(!1),[T,y]=m.useState(new re),[S,x]=m.useState(new Qt),R=m.useRef(null),H=m.useRef(!1),D=m.useRef([i*2,a,l]),k=m.useRef(new Map),W=m.useRef(null),N=m.useRef(null),L=m.useRef([]),E=m.useMemo(()=>{if(!n)return null;const q=M.getState().elements.find(ae=>ae.id===n&&ae.type===z.Roof);return q?q.roofType:null},[n]);b&&(i=-i);const U=q=>{const ae=M.getState().cameraDirection,ne=Math.atan2(ae.x,ae.y);y(new re(q,0,0)),x(new Qt(Vt,0,-ne-r,"ZXY")),v(!0)},F=(q,ae,ne)=>{const[se,le,te,he,pe]=ae;w(fe=>{for(const $ of fe.elements)if($.id===q&&$.type===z.Wall){const de=$;$.lz=se,de.leftUnfilledHeight=le,de.rightUnfilledHeight=te,de.leftTopPartialHeight=he,de.rightTopPartialHeight=pe}else if($.type===z.Wall&&ne.has($.id)){const de=ne.get($.id);de!==void 0&&($.lz=de,$.cz=de/2)}})},B=()=>{n&&(g.length>0||A.length>0)&&(E===Vo.Gable||E===Vo.Gambrel?M.getState().elements.forEach(q=>{q.id===g[0]&&(W.current=q.lz),q.id===A[0]&&(N.current=q.lz)}):(k.current.clear(),M.getState().elements.forEach(q=>{q.type===z.Wall&&q.roofId===n&&k.current.set(q.id,q.lz)})))},_=()=>{L.current=M.getState().elements.filter(q=>q.parentId===t)},Y=(q,ae,ne,se,le)=>{const{lx:te,lz:he,roofId:pe,leftRoofHeight:fe,rightRoofHeight:$,centerLeftRoofHeight:de,centerRightRoofHeight:Se,centerRoofHeight:Ce}=q,ve=u===Hl.Partial,Ie=ve?Math.min(d,se):d,ze=ve?Math.min(f,le):f,ye=ve&&(!xe.isZero(d-Ie)||!xe.isZero(f-ze)),[oe,ge]=[te/2,he/2],Ae=[];return Ae.push({x:-oe,y:-ge+ae},{x:oe,y:-ge+ne}),ye?Ae.push({x:oe,y:-ge+ze},{x:-oe,y:-ge+Ie}):pe?($?Ae.push({x:oe,y:-ge+$}):Ae.push({x:oe,y:ge}),Se&&Ae.push({x:Se[0]*te,y:-ge+Se[1]}),Ce&&Ae.push({x:Ce[0]*te,y:-ge+Ce[1]}),de&&Ae.push({x:de[0]*te,y:-ge+de[1]}),fe?Ae.push({x:-oe,y:-ge+fe}):Ae.push({x:-oe,y:ge})):Ae.push({x:oe,y:ge},{x:-oe,y:ge}),Ae},O=(q,ae,ne,se,le)=>{const te=Y(q,ae,ne,se,le);if(L.current.length>0)for(const he of L.current){let{cx:pe,cz:fe,lx:$,ly:de,lz:Se}=he;if(pe*=q.lx,fe*=q.lz,he.type!==z.SolarPanel?($*=q.lx,Se*=q.lz):Se=de,he.type===z.Window&&he.windowType===Sr.Polygonal){const[Ce,ve]=he.polygonTop??jp,Ie=pe+Ce*$,ze=fe+Se/2+ve;if(!xe.isPointInside(Ie,ze,te))return!1}if(!xe.isElementInsideWall(new re(pe,0,fe),$,Se,te,he.type===z.Door))return!1}return!0},J=()=>{W.current=null,N.current=null},Z=q=>{var ne;if(M.getState().addedWallId||q.object!==((ne=q.intersections[0])==null?void 0:ne.object))return;const ae=q.object;switch(ae.name){case gt.LowerLeft:{w(se=>{se.resizeAnchor.copy(ae.localToWorld(new re(o*2,0,0)))});break}case gt.LowerRight:{w(se=>{se.resizeAnchor.copy(ae.localToWorld(new re(-o*2,0,0)))});break}case gt.UpperLeft:case gt.WallPartialResizeLeft:case gt.WallPartialResizeLeftTop:{U(-o),B(),_();break}case gt.UpperRight:case gt.WallPartialResizeRight:case gt.WallPartialResizeRightTop:{U(o),B(),_();break}default:console.error("Wall resize handle unknown");return}w(se=>{se.resizeHandleType=ae.name}),Ln.getState().setEnableOrbitController(!1),H.current=!0,D.current=[i*2,a,l,s,c]},ie=q=>{if(q.intersections.length===0||!H.current)return;const ae=q.intersections[0].point;switch(M.getState().resizeHandleType){case gt.UpperLeft:case gt.UpperRight:{w(ne=>{const se=u===Hl.Partial?Math.max(a,l):0;let le=Math.max(se+C,ae.z-e);if(E===null||E===Vo.Gable||E===Vo.Gambrel){if(W.current||N.current){const te=Math.abs(le-(W.current??1/0)),he=Math.abs(le-(N.current??1/0));te{for(const se of ne.elements)if(se.id===t&&se.type===z.Wall){const le=se;let te=xe.clamp(ae.z-e,0,le.leftTopPartialHeight);if(le.leftJoints.length>0){const he=ne.elements.find(pe=>pe.id===le.leftJoints[0]&&pe.type===z.Wall);if(he&&he.fill===Hl.Partial){const pe=he.rightUnfilledHeight;Math.abs(te-pe)<.5&&(te=pe)}}O(le,te,ne.enableFineGrid?te:le.rightUnfilledHeight,le.leftTopPartialHeight,le.rightTopPartialHeight)&&(le.leftUnfilledHeight=te,ne.enableFineGrid&&(le.rightUnfilledHeight=te));break}});break}case gt.WallPartialResizeRight:{w(ne=>{for(const se of ne.elements)if(se.id===t&&se.type===z.Wall){const le=se;let te=xe.clamp(ae.z-e,0,le.rightTopPartialHeight);if(le.rightJoints.length>0){const he=ne.elements.find(pe=>pe.id===le.rightJoints[0]&&pe.type===z.Wall);if(he&&he.fill===Hl.Partial){const pe=he.leftUnfilledHeight;Math.abs(te-pe)<.5&&(te=pe)}}O(le,ne.enableFineGrid?te:le.leftUnfilledHeight,te,le.leftTopPartialHeight,le.rightTopPartialHeight)&&(le.rightUnfilledHeight=te,ne.enableFineGrid&&(le.leftUnfilledHeight=te));break}});break}case gt.WallPartialResizeLeftTop:{w(ne=>{const se=ne.elements.find(le=>le.id===t&&le.type===z.Wall);if(se){let le=xe.clamp(ae.z-e,se.leftUnfilledHeight,se.lz);if(se.leftJoints.length>0){const te=ne.elements.find(he=>he.id===se.leftJoints[0]&&he.type===z.Wall);if(te&&te.fill===Hl.Partial){const he=te.rightTopPartialHeight;Math.abs(le-he)<.5&&(le=he)}}O(se,se.leftUnfilledHeight,se.rightUnfilledHeight,le,ne.enableFineGrid?le:se.rightTopPartialHeight)&&(se.leftTopPartialHeight=le,ne.enableFineGrid&&(se.rightTopPartialHeight=le))}});break}case gt.WallPartialResizeRightTop:{w(ne=>{const se=ne.elements.find(le=>le.id===t&&le.type===z.Wall);if(se){let le=xe.clamp(ae.z-e,se.rightUnfilledHeight,se.lz);if(se.rightJoints.length>0){const te=ne.elements.find(he=>he.id===se.rightJoints[0]&&he.type===z.Wall);if(te&&te.fill===Hl.Partial){const he=te.leftTopPartialHeight;Math.abs(le-he)<.5&&(le=he)}}O(se,se.leftUnfilledHeight,se.rightUnfilledHeight,ne.enableFineGrid?le:se.leftTopPartialHeight,le)&&(se.rightTopPartialHeight=le,ne.enableFineGrid&&(se.leftTopPartialHeight=le))}});break}}},ee=()=>{Ln.getState().setEnableOrbitController(!0),v(!1),J(),H.current=!1;const q=new Map;n&&E!==Vo.Gable&&E!==Vo.Gambrel&&M.getState().elements.forEach(ne=>{ne.type===z.Wall&&ne.roofId===n&&q.set(ne.id,ne.lz)});const ae={name:"Change Wall Height",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Wall,oldHeights:[...D.current],newHeights:[i*2,a,l,s,c],oldSameBuildingWallsHeightMap:new Map(k.current),newSameBuildingWallsHeightMap:q,undo(){F(this.resizedElementId,this.oldHeights,this.oldSameBuildingWallsHeightMap)},redo(){F(this.resizedElementId,this.newHeights,this.newSameBuildingWallsHeightMap)}};M.getState().addUndoable(ae),w(ne=>{ne.actionState.wallHeight=i*2,ne.resizeHandleType=null})};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Wall Resize Handle Group",onPointerDown:Z,children:[h.jsx(b4,{x:-o,z:-i,handleType:gt.LowerLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:-i,handleType:gt.LowerRight,highLight:p,handleSize:C}),!b&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:i,handleType:gt.UpperLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:i,handleType:gt.UpperRight,highLight:p,handleSize:C}),u===Hl.Partial&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:-i+a,handleType:gt.WallPartialResizeLeft,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+l,handleType:gt.WallPartialResizeRight,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:-o,z:-i+s,handleType:gt.WallPartialResizeLeftTop,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+c,handleType:gt.WallPartialResizeRightTop,highLight:p,handleSize:C,partial:!0})]})]})]}),P&&h.jsx(sa,{ref:R,position:T,rotation:S,args:[1e4,1e4],visible:!1,onPointerMove:ie,onPointerUp:ee,children:h.jsx("meshBasicMaterial",{side:ji})})]})}),D$t=({wallModel:t,foundationModel:e})=>{const{id:n,roofId:o,cx:i,cy:r,lx:a,ly:l,lz:s,relativeAngle:c,fill:u,locked:d,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialHeight:g,rightTopPartialHeight:A,leftJoints:w,rightJoints:b}=t,C=Hs(n),[P,v]=[a/2,s/2],T=u===Hl.Partial,y=w.length>0?t.leftRoofHeight:s,S=b.length>0?t.rightRoofHeight:s,x=y??s,R=S??s,H=T?Math.min(x,g):x,D=T?Math.min(R,A):R,k=a===0,W=()=>u===Hl.Empty?h.jsx(R$t,{...t}):h.jsx(MQt,{wallModel:t,foundationModel:e});return h.jsxs("group",{name:`Wall Group ${n}`,position:[i,r,v],rotation:[0,0,c],userData:{aabb:!0},children:[W(),C&&!d&&h.jsxs(h.Fragment,{children:[a>.5&&h.jsx(M$t,{ply:l,phz:v}),h.jsx(z$t,{id:n,parentLz:e.lz,roofId:o,absAngle:c+e.rotation[2],x:P,z:v,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialResizeHandleHeight:H,rightTopPartialResizeHandleHeight:D,fill:u,wallLeftHeight:x,wallRightHeight:R,highLight:k,leftJoints:w,rightJoints:b})]})]})},E$t=(t,e)=>t.wallModel===e.wallModel,k$t=be.memo(D$t,E$t),uqe="Building Group",F$t=t=>{const{id:e,lx:n,ly:o,lz:i}=t,r=l=>l.foundationId!==e?!1:l.type===z.Wall||l.type===z.Roof||l.type===z.SolarPanel&&l.parentType===z.Roof||l.type===z.Window&&l.parentType===z.Roof,a=M(l=>l.elements.filter(r),a3);return a.length===0?null:h.jsx("group",{name:uqe,position:[0,0,i/2],children:a.map(l=>{switch(l.type){case z.Wall:return h.jsx(k$t,{wallModel:l,foundationModel:t},l.id);case z.Roof:return h.jsx(c$t,{roofModel:l,foundationModel:t},l.id);case z.SolarPanel:return h.jsx(P$t,{...l,cx:l.cx*n,cy:l.cy*o,cz:l.cz,foundationModel:t},l.id);case z.Window:return h.jsx(pqe,{...l,cz:l.cz},l.id);default:return null}})})},L$t=(t,e)=>t.lx===e.lx&&t.ly===e.ly&&t.lz===e.lz&&t.rotation===e.rotation,W$t=be.memo(F$t,L$t),N$t=t=>{let{id:e,pvModelName:n="SPR-X21-335-BLK",cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,tiltAngle:c,relativeAzimuth:u,trackerType:d=Ma.NO_TRACKER,poleHeight:f,poleRadius:p,poleSpacing:g,drawSunBeam:A,color:w="white",lineColor:b="black",lineWidth:C=.1,showLabel:P=!1,locked:v=!1,orientation:T=ui.landscape,parentPosition:y,parentRotation:S}=t;const x=[0,0,1],R=M(dn),H=M(Sc),D=M(Ya),k=M(Xs),W=M(Jn),N=ht(cs),L=M(ss),E=M(gq),U=M(Vn),F=M(Vc),B=M(lge),_=M(mh),Y=M(yh),O=M(sW),J=M(En),Z=M(hu)??!1,ie=M(C7),ee=Hs(e),{gl:{domElement:q},camera:ae}=Xi(),[ne,se]=m.useState(!1),[le,te]=m.useState(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(null),de=m.useRef(null),Se=m.useRef(null),Ce=m.useRef(null),ve=m.useRef(!1),Ie=m.useRef(0),ze=m.useRef(0),ye=m.useRef(),oe=m.useMemo(()=>new Gs,[]),ge=Math.max(100,10*_),Ae=ie[n],me=m.useMemo(()=>({lng:H}),[H]);Ae&&(s=Math.max(Ae.thickness,.02));const Pe=a/2,Me=l/2,Te=s/2,De=new re(-Pe,-Me,Te),Ue=new re(-Pe,Me,Te),Oe=new re(Pe,-Me,Te),Le=new re(Pe,Me,Te),$e=W.length<100?4:2;m.useEffect(()=>{if(Ae){let At,Ft;T===ui.portrait?(At=Math.max(1,Math.round(a/Ae.width)),Ft=Math.max(1,Math.round(l/Ae.length))):(At=Math.max(1,Math.round(a/Ae.length)),Ft=Math.max(1,Math.round(l/Ae.width))),ye.current=[];const Ke=a/At,Je=l/Ft;for(let ct=0;ct<=At;ct++)ye.current.push({points:[new re(-Pe+ct*Ke,-Me,s),new re(-Pe+ct*Ke,Me,s)]});for(let ct=0;ct<=Ft;ct++)ye.current.push({points:[new re(-Pe,-Me+ct*Je,s),new re(Pe,-Me+ct*Je,s)]})}},[T,n,a,l,s]),m.useEffect(()=>{const At=()=>{Ln.getState().setEnableOrbitController(!0),ve.current=!1,yt(!1)};return window.addEventListener("pointerup",At),()=>{window.removeEventListener("pointerup",At)}},[]);const We=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.SolarPanelElement",me))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",me)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",me)+": ("+o.toFixed(1)+", "+i.toFixed(1)+", "+r.toFixed(1)+") "+j.t("word.MeterAbbreviation",me)),[t==null?void 0:t.label,t==null?void 0:t.locked,me,o,i,r]),Ee=(At,Ft)=>{At.intersections.length>0&&At.intersections[0].object===At.eventObject&&(te(Ft),Ft===yo.Top?q.style.cursor="move":Ft===wi.Lower||Ft===wi.Upper||Ft===wi.Tilt?q.style.cursor="grab":q.style.cursor="pointer")},Fe=()=>{te(null),q.style.cursor="default"},Ge=m.useMemo(()=>zr(new Date(D),k),[D,k]),rt=S?Ge.clone().applyAxisAngle(Po,-S):Ge,Ve=m.useMemo(()=>{if(Ge.z>0)switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const At=Math.hypot(rt.x,rt.y);return new Qt(Math.atan2(At,rt.z),0,Math.atan2(rt.y,rt.x)+Vt,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(rt.x,rt.z),0,"ZXY");case Ma.VERTICAL_SINGLE_AXIS_TRACKER:return new Qt(c,0,Math.atan2(rt.y,rt.x)+Vt,"ZXY")}return new Qt(c,0,u,"ZXY")},[d,Ge,c,u]),xt=m.useMemo(()=>{const At=new re;return A?At.fromArray(x).applyEuler(new Qt(Ve.x,Ve.y,Ve.z+S,"ZXY")):At},[A,x,Ve,S]),dt=-f/2-s/2,Qe=m.useMemo(()=>{const At=[],Ft=Math.floor(.5*a/g),Ke=Math.floor(.5*l*Math.abs(Math.cos(c))/g),Je=.5*Math.sin(c),ct=Math.cos(u)*g,Pt=Math.sin(u)*g;for(let Ne=-Ft;Ne<=Ft;Ne++)for(let lt=-Ke;lt<=Ke;lt++){const Ye=Ne*ct-lt*Pt,st=Ne*Pt+lt*ct;At.push(new re(Ye,st,dt+Je*g*lt))}return At},[u,c,g,a,l,dt]),ut=Math.max(1,(a+l)/16),ft=I9*ut*1.5,at=Af*ut*2,ot=ut*2/3,et=ot,_e=new Array(13).fill(0),[nt,yt]=m.useState(!1),Tt=rQ(a,l,Ae,T,t==null?void 0:t.frameColor,t==null?void 0:t.backsheetColor),Rt=iQ(e),Wt=()=>N&&Rt?h.jsx("meshBasicMaterial",{attach:"material-4",map:Rt}):Tt?Z||E===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Tt,color:w}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((Ae==null?void 0:Ae.color)==="Blue"?Kw:qw),shininess:E??Jm,side:ia,map:Tt,color:w}):null,Ct=()=>(Ae==null?void 0:Ae.bifacialityFactor)===0||Z||f===0&&c===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:w}):Tt?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((Ae==null?void 0:Ae.color)==="Blue"?Kw:qw),shininess:E??Jm,side:ia,map:Tt,color:w}):null;return h.jsxs("group",{name:"Solar Panel Group Grandpa "+e,position:[o,i,r+Te],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+e,rotation:Ve,children:[h.jsxs(Ei,{receiveShadow:L,castShadow:L,uuid:e,ref:he,args:[a,l,s],name:"Solar Panel",onPointerDown:At=>{At.button!==2&&F(e,At,zo.Select)},onContextMenu:At=>{F(e,At,zo.ContextMenu),R(Ft=>{At.intersections.length>0&&At.intersections[0].object===he.current&&(Ft.contextMenuObjectType=z.SolarPanel)})},onPointerOver:At=>{At.intersections.length>0&&At.intersections[0].object===he.current&&(se(!0),q.style.cursor="move")},onPointerOut:At=>{se(!1),q.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:w}),h.jsx("meshStandardMaterial",{attach:"material-1",color:w}),h.jsx("meshStandardMaterial",{attach:"material-2",color:w}),h.jsx("meshStandardMaterial",{attach:"material-3",color:w}),Wt(),Ct()]}),N&&Rt&&ye.current&&ye.current.map((At,Ft)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:At.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Ft)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:e,args:[a,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),ee&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Pe,-Me,0],[-Pe,Me,0],[Pe,Me,0],[Pe,-Me,0],[-Pe,-Me,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),ee&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:pe,position:new re(0,0,0),args:[at,6,6],name:yo.Default,onPointerOver:At=>{Ee(At,yo.Top)},onPointerOut:At=>{Fe()},onPointerDown:At=>{F(e,At,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:fe,position:[(De.x+Oe.x)/2,De.y,De.z],args:[ft,ft,s*1.2],name:gt.Lower,onPointerDown:At=>{F(e,At,zo.Resize),de.current&&R(Ft=>{const Ke=fe.current.localToWorld(new re(0,l,-De.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ee(At,gt.Lower)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Lower||Y===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:$,position:[(Ue.x+Le.x)/2,Ue.y,Ue.z],args:[ft,ft,s*1.2],name:gt.Upper,onPointerDown:At=>{F(e,At,zo.Resize),de.current&&R(Ft=>{const Ke=$.current.localToWorld(new re(0,-l,-Ue.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ee(At,gt.Upper)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Upper||Y===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:de,position:[De.x,(De.y+Ue.y)/2,De.z],args:[ft,ft,s*1.2],name:gt.Left,onPointerDown:At=>{F(e,At,zo.Resize),de.current&&R(Ft=>{const Ke=de.current.localToWorld(new re(a,0,-De.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ee(At,gt.Left)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Left||Y===gt.Left?nr:pr})}),h.jsx(Ei,{ref:Se,position:[Oe.x,(Oe.y+Le.y)/2,Oe.z],args:[ft,ft,s*1.2],name:gt.Right,onPointerDown:At=>{F(e,At,zo.Resize),de.current&&R(Ft=>{const Ke=Se.current.localToWorld(new re(-a,0,-Oe.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ee(At,gt.Right)},onPointerOut:At=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Right||Y===gt.Right?nr:pr})})]})]})]}),ee&&!v&&d===Ma.NO_TRACKER&&h.jsxs("group",{position:[0,0,-f],rotation:[0,0,Ve.z],children:[h.jsx(l7,{id:e,position:[0,-Me-ot/2,f],color:le===wi.Upper||O===wi.Upper?nr:pr,ratio:ot,handleType:wi.Upper,hoverHandle:Ee,noHoverHandle:Fe}),h.jsx(l7,{id:e,position:[0,Me+ot/2,f],color:le===wi.Lower||O===wi.Lower?nr:pr,ratio:ot,handleType:wi.Lower,hoverHandle:Ee,noHoverHandle:Fe})]}),ee&&!v&&d===Ma.NO_TRACKER&&Math.abs(f)>.1&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[et,1.1*et,18,2,-Vt,Math.PI],rotation:[0,-Vt,Ve.z,"ZXY"],onPointerOver:At=>{Ee(At,wi.Tilt)},onPointerOut:At=>{Fe()},onPointerDown:At=>{if(yt(!0),le){Ln.getState().setEnableOrbitController(!1),ve.current=!0;const Ft=U(e);Ie.current=Ft.tiltAngle}R(Ft=>{Ft.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:le===wi.Tilt||nt?nr:pr})}),nt&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:Ce,name:"Solar panel tilt handle",args:[et,2*et,18,2,-Vt,Math.PI],rotation:[0,-Vt,Ve.z,"ZXY"],onPointerDown:At=>{},onPointerUp:At=>{if(Math.abs(ze.current-Ie.current)>Dt){const Ft={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Ie.current,newValue:ze.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{B(Ft.changedElementId,Ft.oldValue)},redo:()=>{B(Ft.changedElementId,Ft.newValue)}};J(Ft)}},onPointerMove:At=>{if(ve.current){const Ft=new Gt;if(Ft.x=At.offsetX/q.clientWidth*2-1,Ft.y=-(At.offsetY/q.clientHeight)*2+1,oe.setFromCamera(Ft,ae),Ce.current){const Ke=oe.intersectObjects([Ce.current]);if(Ke.length>0){const Je=Ke[0].point,ct=new re(o,i).applyEuler(new Qt(0,0,S)).add(new re().fromArray(y)).setZ(y[2]+r+Te),Pt=new re().subVectors(Je,ct);let Ne=Pt.angleTo(Po);if(!(.5*t.ly*Math.abs(Math.sin(Ne))>t.poleHeight)){const Ye=u,st=Ye%Math.PI===0?Math.sign(-Pt.y)*Math.sign(Math.cos(Ye)):Math.sign(Pt.x)*Math.sign(Math.sin(Ye));Ne*=st,B(e,Ne),ze.current=Ne}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,et],[0,0,1.75*et]],rotation:new Qt(c,0,Ve.z,"ZXY"),lineWidth:1}),_e.map((At,Ft)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*Ft-Vt,0,Ve.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*et],[0,0,2*et]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Ft*15-90}°`,fontSize:20*et,fontFace:"Times Roman",textHeight:.15*et,position:[0,0,1.6*et]})]},Ft)),h.jsx("group",{rotation:new Qt(c,0,Ve.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(c/Math.PI*180)}°`,fontSize:20*et,fontFace:"Times Roman",textHeight:.2*et,position:[0,0,.75*et]})})]})]}),f>0&&Qe.map((At,Ft)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+Ft,castShadow:!1,receiveShadow:!1,args:[p,p,f+(At.z-dt)*2+s,$e,1],position:At,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})},Ft)),A&&Ge.z>0&&h.jsxs("group",{rotation:[0,0,-S],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[xt.clone().multiplyScalar(.75),[0,0,0],Ge.clone().multiplyScalar(ge)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[Ge.clone().multiplyScalar(.5),xt.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(Ge.angleTo(xt)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:Ge.clone().multiplyScalar(.75).add(xt.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:xt.clone().multiplyScalar(.75),rotation:[Vt+Ve.x,0,Ve.z+S,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-Ve.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]}),(ne||P)&&!ee&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:We,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(Me*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})},U$t=be.memo(N$t),iSe=be.memo(({hx:t,hy:e,position:n,direction:o,color:i})=>{if(n===null)return null;const[r,a]=n,l=[];if(o==="x")l.push([-t,a,0]),l.push([t,a,0]);else if(o==="y")l.push([r,-e,0]),l.push([r,e,0]);else return o==="xy"?h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[[-t,a,0],[t,a,0]],color:i}),h.jsx(Fn,{points:[[r,-e,0],[r,e,0]],color:i})]}):null;return h.jsx(Fn,{points:l,color:i})}),dqe="Foundation Group",B$t=be.memo(t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=.1,rotation:l=[0,0,0],color:s="gray",lineColor:c="black",lineWidth:u=.2,locked:d=!1,showLabel:f=!1,textureType:p=Or.NoTexture,solarStructure:g}=t,A=Hs(e),w=M(Sc),b=M(hu),C=M(Vn),P=M(xb),v=M(dn),T=M(e3),y=M(ige),S=M(t3),x=M(R7),R=M(mge),H=M(yge),D=M(G8t),k=M(sge),W=M(oje),N=M(H7),L=M(Mje),E=M(Ije),U=M(hp),F=M(Vc),B=M(uge),_=M(J2),Y=M(U8t),O=M(V8t),J=M(ss),Z=M(sA),ie=M(Mq),ee=M(En),q=M(pge),ae=M(oge),ne=M(ty),se=ht(cs),le=M(wf),te=M(j1e),he=Sn(i1),{camera:pe,gl:{domElement:fe}}=Xi(),[$,de]=m.useState(!1),[Se,Ce]=m.useState(null),[ve,Ie]=m.useState(!1),[ze,ye]=m.useState({show:!1,direction:null,position:null}),[oe,ge]=m.useState([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]),Ae=m.useRef(null),me=m.useRef(!1),Pe=m.useRef(!1),Me=m.useRef(null),Te=m.useRef(Ki.null),De=m.useRef(new Map),Ue=m.useRef(null),Oe=m.useRef(null),Le=m.useRef(null),$e=m.useRef(null),We=m.useRef(null),Ee=m.useRef(null),Fe=m.useRef(null),Ge=m.useRef(null),rt=m.useRef(null),Ve=m.useRef(null),xt=m.useRef(null),dt=m.useRef(null),Qe=m.useRef(new re),ut=m.useRef(new re),ft=m.useRef(new re(1,1,1)),at=m.useRef(new re(1,1,1)),ot=m.useRef(0),et=m.useRef(0),_e=m.useRef([]),nt=m.useRef([]),yt=m.useRef([]),Tt=m.useRef([]),Rt=m.useRef([]),Wt=m.useRef([]),Ct=m.useMemo(()=>({lng:w}),[w]),At=m.useMemo(()=>new Gt,[]),Ft=m.useMemo(()=>new Gs,[]),Ke=i/2,Je=r/2,ct=a/2,Pt=m.useMemo(()=>new re(-Ke,-Je,ct),[Ke,Je,ct]),Ne=m.useMemo(()=>new re(-Ke,Je,ct),[Ke,Je,ct]),lt=m.useMemo(()=>new re(Ke,-Je,ct),[Ke,Je,ct]),Ye=m.useMemo(()=>new re(Ke,Je,ct),[Ke,Je,ct]),st=UH(),je=st,mt=st,Ht=st*4,wt=Je+Ht,It=m.useRef(!1),Et=m.useRef(null),zt=M(j8t),ln=M(hYe),Xt=m.useMemo(()=>new re,[]);if(Le.current){let cn=-1;switch(Le.current.type){case z.SolarPanel:{cn=Le.current.poleHeight;break}case z.ParabolicTrough:{const qt=Le.current;cn=qt.poleHeight+qt.lx/2;break}case z.ParabolicDish:{const qt=Le.current;cn=qt.poleHeight+qt.lx/2+qt.lx*qt.lx/(4*qt.latusRectum);break}case z.FresnelReflector:{const qt=Le.current;cn=qt.poleHeight+qt.lx/2;break}}cn>=0&&Xt.set(0,0,(t==null?void 0:t.lz)/2+cn)}m.useEffect(()=>{De.current.clear();for(const cn of M.getState().elements)cn.type===z.Wall&&cn.parentId===e&&De.current.set(cn.id,cn)},[e,O]),m.useEffect(()=>{Y&&Y===Ae.current&&(De.current.delete(Y),me.current=!1,Pe.current=!1,Ae.current=null,v(cn=>{cn.addedWallId===cn.deletedWallId&&(cn.addedWallId=null),cn.deletedWallId=null}),Ln.getState().setEnableOrbitController(!0),ye({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]))},[Y]),m.useEffect(()=>{if(t&&se){const cn=he(t.id);Ce(cn?xe.fetchHeatmapTexture(cn,le??5):null)}},[se,le,te]),m.useEffect(()=>{!It.current||!M.getState().getAutoDeletedElements()||fn()},[zt,ln]);const fn=M2.debounce(()=>{if(!Et.current)return;const cn=M.getState().getAutoDeletedElements();if(!cn)return;const{wall:qt,newAngle:jt,newJoints:pn}=Et.current,Pn={name:"Move Wall",timestamp:Date.now(),id:qt.id,oldPoints:[[...Rt.current[0]],[...Rt.current[1]]],newPoints:[[...qt.leftPoint],[...qt.rightPoint]],oldJoints:[[...yt.current[0]],[...yt.current[1]]],newJoints:[[...pn[0]],[...pn[1]]],oldAngle:ot.current,newAngle:jt,flippedWallSide:Te.current,autoDeletedElements:[...cn],undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Bt=C(this.newJoints[0][0]);Bt&&qo(Bt);break}case Ki.right:{const Bt=C(this.newJoints[1][0]);Bt&&Hi(Bt);break}}const[Ze,bt]=this.oldJoints,[Nt,St]=this.newJoints;v(Bt=>{for(const Jt of Bt.elements)if(Jt.id===this.id){const[an,gn]=this.oldPoints;Jt.cx=(an[0]+gn[0])/2,Jt.cy=(an[1]+gn[1])/2,Jt.lx=Math.hypot(an[0]-gn[0],an[1]-gn[1]);const mn=Jt;mn.relativeAngle=this.oldAngle,mn.leftPoint=[...an],mn.rightPoint=[...gn],mn.leftJoints=[...Ze],mn.rightJoints=[...bt];break}Bt.resizeHandleType=null,Bt.elements.push(...this.autoDeletedElements),Bt.deletedRoofId=null,Bt.autoDeletedChild=null,Bt.autoDeletedRoofs=null,Bt.autoDeletedRoofIdSet.clear()}),Ze[0]!==Nt[0]&&v(Bt=>{for(const Jt of Bt.elements)Jt.type===z.Wall&&(Jt.id===Ze[0]&&(Jt.rightJoints=[this.id]),Jt.id===Nt[0]&&(this.flippedWallSide!==Ki.left?Jt.rightJoints=[]:Jt.leftJoints=[]))}),bt[0]!==St[0]&&v(Bt=>{for(const Jt of Bt.elements)Jt.type===z.Wall&&(Jt.id===bt[0]&&(Jt.leftJoints=[this.id]),Jt.id===St[0]&&(this.flippedWallSide!==Ki.right?Jt.leftJoints=[]:Jt.rightJoints=[]))}),Te.current=Ki.null},redo(){const[Ze,bt]=this.oldJoints,[Nt,St]=this.newJoints;switch(v(Jt=>{for(const an of Jt.elements)if(an.id===this.id&&an.type===z.Wall){const[gn,mn]=this.newPoints;an.cx=(gn[0]+mn[0])/2,an.cy=(gn[1]+mn[1])/2,an.lx=Math.hypot(gn[0]-mn[0],gn[1]-mn[1]);const vn=an;vn.relativeAngle=this.newAngle,vn.leftPoint=[...gn],vn.rightPoint=[...mn],vn.leftJoints=[...Nt],vn.rightJoints=[...St];break}}),Ze[0]!==Nt[0]&&v(Jt=>{for(const an of Jt.elements)an.type===z.Wall&&(an.id===Ze[0]&&(an.rightJoints=[]),an.id===Nt[0]&&(this.flippedWallSide===Ki.right?an.leftJoints=[this.id]:an.rightJoints=[this.id]))}),bt[0]!==St[0]&&v(Jt=>{for(const an of Jt.elements)an.type===z.Wall&&(an.id===bt[0]&&(an.leftJoints=[]),an.id===St[0]&&(this.flippedWallSide===Ki.right?an.rightJoints=[this.id]:an.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Jt=C(this.newJoints[0][0]);Jt&&Hi(Jt);break}case Ki.right:{const Jt=C(this.newJoints[1][0]);Jt&&qo(Jt);break}}const Bt=new Set(this.autoDeletedElements.map(Jt=>Jt.id));v(Jt=>{Jt.resizeHandleType=null,Jt.elements=Jt.elements.filter(gn=>!Bt.has(gn.id));const an=this.autoDeletedElements.find(gn=>gn.type===z.Roof);an&&(Jt.deletedRoofId=an.id)}),Te.current=Ki.null}};ee(Pn),It.current=!1,v(Ze=>{Ze.autoDeletedRoofs=null,Ze.autoDeletedRoofIdSet.clear(),Ze.autoDeletedChild=null})},100),rn=cn=>{At.x=cn.offsetX/fe.clientWidth*2-1,At.y=-(cn.offsetY/fe.clientHeight)*2+1,Ft.setFromCamera(At,pe)},bn=cn=>{switch(cn){case Or.Texture01:return{x:1,y:1};case Or.Texture02:return{x:2,y:2};case Or.Texture03:return{x:.4,y:.4};case Or.Texture04:return{x:.25,y:.25};case Or.Texture05:return{x:5,y:5};case Or.Texture06:return{x:1,y:1};case Or.Texture07:return{x:1,y:1};default:return{x:1,y:1}}},Tn=m.useMemo(()=>{let cn;switch(p){case Or.Texture01:cn=oqe;break;case Or.Texture02:cn=iqe;break;case Or.Texture03:cn=rqe;break;case Or.Texture04:cn=aqe;break;case Or.Texture05:cn=lqe;break;case Or.Texture06:cn=sqe;break;case Or.Texture07:cn=cqe;break;default:cn=eg}return new nf().load(cn,qt=>{qt.wrapS=qt.wrapT=Ss;const jt=bn(p);qt.repeat.set(i/jt.x,r/jt.y),Ai(qt)})},[p,i,r]),[Un,Ai]=m.useState(Tn),vo=m.useCallback((cn,qt)=>{ht.getState().duringCameraInteraction||cn.intersections.length>0&&(cn.intersections[0].object===cn.eventObject||cn.intersections.length>1&&cn.intersections[1].object===cn.eventObject)&&(v(pn=>{pn.hoveredHandle=qt}),xe.isMoveHandle(qt)?fe.style.cursor="move":qt===wi.Lower||qt===wi.Upper?fe.style.cursor="grab":fe.style.cursor=M.getState().addedFoundationId?"crosshair":"pointer")},[]),Oo=m.useCallback(()=>{v(cn=>{cn.hoveredHandle=null}),fe.style.cursor=M.getState().addedFoundationId?"crosshair":"default"},[]),si=cn=>{switch(cn){case z.Human:case z.Tree:case z.Flower:case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Wall:return!0;default:return!1}},po=(cn,qt)=>{let jt=qt,pn=null,Pn=null,Ze=null,bt;if(!M.getState().enableFineGrid)for(const[Nt,St]of De.current){if(Nt===Ae.current||Le.current&&Nt===Le.current.id)continue;const Bt=new re(St.leftPoint[0],St.leftPoint[1],0),Jt=new re(St.rightPoint[0],St.rightPoint[1],0),an=(Bt==null?void 0:Bt.distanceTo(cn))??Number.MAX_VALUE,gn=(Jt==null?void 0:Jt.distanceTo(cn))??Number.MAX_VALUE,mn=an<=gn,vn=mn?an:gn,kn=mn?Bt:Jt;vn<=jt+.01&&(jt=vn,pn=kn,bt=mn?St.leftJoints[0]:St.rightJoints[0],Pn=Nt,Ze=mn?j1.Left:j1.Right)}return{id:Pn,point:pn,side:Ze,jointId:bt}},to=(cn,qt)=>(M.getState().enableFineGrid?(cn=xe.snapToFineGrid(cn),qt=null):qt?cn=qt:cn=xe.snapToNormalGrid(cn),cn),uo=cn=>{De.current.clear();for(const jt of M.getState().elements)jt.type===z.Wall&&jt.parentId===e&&De.current.set(jt.id,jt);let qt=De.current.get(cn);for(;qt&&qt.leftJoints.length>0;){const jt=De.current.get(qt.id);if(!jt||(v(pn=>{for(const Pn of pn.elements)if(Pn.id===jt.id){const Ze=Pn;Ze.relativeAngle=(jt.relativeAngle+Math.PI)%na,Ze.leftPoint=[...jt.rightPoint],Ze.rightPoint=[...jt.leftPoint],Ze.leftJoints=[jt.rightJoints[0]],Ze.rightJoints=[jt.leftJoints[0]];break}}),qt=De.current.get(qt.leftJoints[0]),qt&&qt.id===cn))break}v(jt=>{jt.updateWallMapOnFoundationFlag=!jt.updateWallMapOnFoundationFlag,M.getState().resizeHandleType&&(jt.resizeHandleType=M.getState().resizeHandleType===gt.LowerLeft?gt.LowerRight:gt.LowerLeft)}),Te.current=Te.current===Ki.null?Ki.loop:Ki.null},qo=(cn,qt)=>{De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);const jt=cn;let pn=cn;for(;pn;){const Pn=De.current.get(pn.id);if(!Pn)break;v(bt=>{for(const Nt of bt.elements)if(Pn&&Nt.id===Pn.id){const St=Nt;St.relativeAngle=(Pn.relativeAngle+Math.PI)%na,St.leftPoint=[...Pn.rightPoint],St.rightPoint=[...Pn.leftPoint],St.leftJoints=Pn.rightJoints.length>0?[Pn.rightJoints[0]]:[],St.rightJoints=Pn.leftJoints.length>0?[Pn.leftJoints[0]]:[];break}});let Ze;if(Pn.leftJoints.length>0&&(Ze=De.current.get(Pn.leftJoints[0])),Ze&&Ze.id!==jt.id)pn=Ze;else break}v(Pn=>{if(qt)for(const Ze of Pn.elements)Ze.type===z.Wall&&(Ze.id===jt.id&&(Ze.leftJoints=[qt.id]),Ze.id===qt.id&&(Ze.rightJoints=[jt.id]));Pn.updateWallMapOnFoundationFlag=!Pn.updateWallMapOnFoundationFlag,Pn.resizeHandleType=gt.LowerLeft}),Te.current=Te.current===Ki.null?Ki.right:Ki.null},Hi=(cn,qt)=>{De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);const jt=cn;let pn=cn;for(;pn;){const Pn=De.current.get(pn.id);if(!Pn)break;v(bt=>{for(const Nt of bt.elements)if(Pn&&Nt.id===Pn.id){const St=Nt;St.relativeAngle=(Pn.relativeAngle+Math.PI)%na,St.leftPoint=[...Pn.rightPoint],St.rightPoint=[...Pn.leftPoint],St.leftJoints=Pn.rightJoints.length>0?[Pn.rightJoints[0]]:[],St.rightJoints=Pn.leftJoints.length>0?[Pn.leftJoints[0]]:[];break}});let Ze;if(Pn.rightJoints.length>0&&(Ze=De.current.get(Pn.rightJoints[0])),Ze&&Ze.id!==jt.id)pn=Ze;else break}v(Pn=>{if(qt)for(const Ze of Pn.elements)Ze.type===z.Wall&&(Ze.id===jt.id&&(Ze.rightJoints=[qt.id]),Ze.id===qt.id&&(Ze.leftJoints=[jt.id]));Pn.updateWallMapOnFoundationFlag=!Pn.updateWallMapOnFoundationFlag,Pn.resizeHandleType=gt.LowerRight}),Te.current=Te.current===Ki.null?Ki.left:Ki.null},vi=cn=>{let qt;De.current.clear();for(const pn of M.getState().elements)pn.id===cn&&(qt=pn),pn.type===z.Wall&&pn.parentId===e&&De.current.set(pn.id,pn);let jt=!1;for(;qt&&qt.leftJoints.length>0;)if(qt=De.current.get(qt.leftJoints[0]),(qt==null?void 0:qt.id)===cn){jt=!0;break}if(jt){let pn=0,Pn=0;for(;qt&&qt.leftJoints.length>0;){const Ze=De.current.get(qt.leftJoints[0]),bt=(Math.PI*3-(qt.relativeAngle-Ze.relativeAngle))%na;if(pn+=bt,Pn+=1,qt=Ze,qt.id===cn)break}pn>(Pn-2)*Math.PI+.1?uo(cn):Te.current!==Ki.null&&(Te.current=Ki.loop)}return jt},Cn=cn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:cn,undo:()=>{U(qt.addedElement.id,!1)},redo:()=>{v(jt=>{jt.elements.push(qt.addedElement),jt.selectedElement=qt.addedElement})}};ee(qt)},yn=cn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:cn,flippedWallSide:Te.current,undo:()=>{const jt=qt.addedElement;if(U(jt.id,!1),(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop)&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&Hi(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&qo(pn)}},redo:()=>{const jt=qt.addedElement;if(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&qo(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&Hi(pn)}jt.rightJoints.length>0&&R(jt.rightJoints[0],[jt.id]),jt.leftJoints.length>0&&H(jt.leftJoints[0],[jt.id]),v(pn=>{pn.elements.push(jt),pn.selectedElement=jt,pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag})}};ee(qt)},no=cn=>{const qt=M.getState().getAutoDeletedElements(),jt={name:"Resize Wall",timestamp:Date.now(),resizedElementId:cn.id,resizedElementType:cn.type,oldPosition:Qe.current.clone(),newPosition:ut.current.clone(),oldDimension:ft.current.clone(),newDimension:at.current.clone(),oldAngle:ot.current,newAngle:et.current,oldJoints:[[...yt.current[0]],[...yt.current[1]]],newJoints:[[...Tt.current[0]],[...Tt.current[1]]],oldPoint:[[...Rt.current[0]],[...Rt.current[1]]],newPoint:[[...Wt.current[0]],[...Wt.current[1]]],flippedWallSide:Te.current,autoDeletedElement:qt?[...qt]:[],undo:()=>{switch(jt.flippedWallSide){case Ki.right:if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}break;case Ki.left:if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break;case Ki.loop:if(jt.newJoints[0]&&jt.newJoints[1])uo(jt.resizedElementId);else if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}else if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break}v(pn=>{for(const Pn of pn.elements)if(Pn.id===jt.resizedElementId){const Ze=Pn;switch(Ze.cx=jt.oldPosition.x,Ze.cy=jt.oldPosition.y,Ze.cz=jt.oldPosition.z,Ze.lx=jt.oldDimension.x,Ze.ly=jt.oldDimension.y,Ze.lz=jt.oldDimension.z,Ze.relativeAngle=jt.oldAngle,Ze.leftJoints=[...jt.oldJoints[0]],Ze.rightJoints=[...jt.oldJoints[1]],Ze.leftPoint=[...jt.oldPoint[0]],Ze.rightPoint=[...jt.oldPoint[1]],jt.flippedWallSide){case Ki.loop:{if(jt.oldJoints[0]!==jt.newJoints[1])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[1][0]&&(bt.rightJoints=[]),bt.id===jt.oldJoints[0][0]&&(bt.rightJoints=[jt.resizedElementId]));else if(jt.oldJoints[1]!==jt.newJoints[0])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[0][0]&&(bt.leftJoints=[]),bt.id===jt.oldJoints[1][0]&&(bt.leftJoints=[jt.resizedElementId]));break}case Ki.left:case Ki.right:{if(!jt.oldJoints[0]&&jt.newJoints[1]){for(const bt of pn.elements)if(bt.type===z.Wall&&bt.id===jt.newJoints[1][0]){bt.leftJoints=[];break}}else if(!jt.oldJoints[1]&&jt.newJoints[0]){for(const bt of pn.elements)if(bt.type===z.Wall&&bt.id===jt.newJoints[0][0]){bt.rightJoints=[];break}}else if(jt.flippedWallSide===Ki.left&&jt.oldJoints[0])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[1][0]&&(bt.leftJoints=[]),bt.id===jt.oldJoints[0][0]&&(bt.rightJoints=[Ze.id]));else if(jt.flippedWallSide===Ki.right&&jt.oldJoints[1])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[0][0]&&(bt.rightJoints=[]),bt.id===jt.oldJoints[1][0]&&(bt.leftJoints=[Ze.id]));break}case Ki.null:{if(jt.oldJoints[0]!==jt.newJoints[0])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[0][0]&&(bt.rightJoints=[]),bt.id===jt.oldJoints[0][0]&&(bt.rightJoints=[Ze.id]));if(jt.oldJoints[1]!==jt.newJoints[1])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[1][0]&&(bt.leftJoints=[]),bt.id===jt.oldJoints[1][0]&&(bt.leftJoints=[Ze.id]));pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag;break}}break}pn.elements.push(...jt.autoDeletedElement),pn.resizeHandleType=null,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=null}),Te.current=Ki.null},redo:()=>{jt.autoDeletedElement.length>0&&U(jt.autoDeletedElement[0].id,!1,!1,!0);const pn=new Set(jt.autoDeletedElement.map(Pn=>Pn.id));switch(v(Pn=>{Pn.elements=Pn.elements.filter(Ze=>!pn.has(Ze.id));for(const Ze of Pn.elements)if(Ze.id===jt.resizedElementId){const bt=Ze;switch(bt.cx=jt.newPosition.x,bt.cy=jt.newPosition.y,bt.cz=jt.newPosition.z,bt.lx=jt.newDimension.x,bt.ly=jt.newDimension.y,bt.lz=jt.newDimension.z,jt.flippedWallSide){case Ki.left:bt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Pn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[0][0]){Nt.rightJoints=[];break}break;case Ki.right:bt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Pn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[1][0]){Nt.leftJoints=[];break}break;case Ki.loop:bt.relativeAngle=(jt.newAngle+Math.PI)%na,bt.leftJoints=[...jt.newJoints[1]],bt.rightJoints=[...jt.newJoints[0]],bt.leftPoint=[...jt.newPoint[1]],bt.rightPoint=[...jt.newPoint[0]];for(const Nt of Pn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.leftJoints=[bt.id]),Nt.id===jt.newJoints[1][0]&&(Nt.rightJoints=[bt.id]));break;case Ki.null:if(bt.relativeAngle=jt.newAngle,bt.leftJoints=[...jt.newJoints[0]],bt.rightJoints=[...jt.newJoints[1]],bt.leftPoint=[...jt.newPoint[0]],bt.rightPoint=[...jt.newPoint[1]],jt.oldJoints[0][0]!==jt.newJoints[0][0])for(const Nt of Pn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.rightJoints=[bt.id]),Nt.id===jt.oldJoints[0][0]&&(Nt.rightJoints=[]));if(jt.oldJoints[1][0]!==jt.newJoints[1][0])for(const Nt of Pn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[1][0]&&(Nt.leftJoints=[bt.id]),Nt.id===jt.oldJoints[1][0]&&(Nt.leftJoints=[]));Pn.updateWallMapOnFoundationFlag=!Pn.updateWallMapOnFoundationFlag;break}break}Pn.resizeHandleType=null}),setTimeout(()=>{v(Pn=>{Pn.deletedRoofId=null,Pn.autoDeletedRoofs=null,Pn.autoDeletedRoofIdSet.clear()})}),jt.flippedWallSide){case Ki.left:{const Pn=C(jt.resizedElementId),Ze=C(jt.newJoints[1][0]);Hi(Pn,Ze);break}case Ki.right:{const Pn=C(jt.resizedElementId),Ze=C(jt.newJoints[0][0]);qo(Pn,Ze);break}case Ki.loop:De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);uo(jt.resizedElementId);break}Te.current=Ki.null}};ee(jt),v(pn=>{pn.actionState.wallHeight=cn.lz,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=[]})},Eo=(cn,qt,jt)=>{if(cn.roofId)It.current=!0,Et.current={wall:cn,newAngle:qt,newJoints:[[...jt[0]],[...jt[1]]]};else{const pn={name:"Move Wall",timestamp:Date.now(),id:cn.id,oldPoints:[[...Rt.current[0]],[...Rt.current[1]]],newPoints:[[...cn.leftPoint],[...cn.rightPoint]],oldJoints:[[...yt.current[0]],[...yt.current[1]]],newJoints:[[...jt[0]],[...jt[1]]],oldAngle:ot.current,newAngle:qt,flippedWallSide:Te.current,undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const St=C(this.newJoints[0][0]);St&&qo(St);break}case Ki.right:{const St=C(this.newJoints[1][0]);St&&Hi(St);break}}const[Pn,Ze]=this.oldJoints,[bt,Nt]=this.newJoints;v(St=>{for(const Bt of St.elements)if(Bt.id===this.id){const[Jt,an]=this.oldPoints;Bt.cx=(Jt[0]+an[0])/2,Bt.cy=(Jt[1]+an[1])/2,Bt.lx=Math.hypot(Jt[0]-an[0],Jt[1]-an[1]);const gn=Bt;gn.relativeAngle=this.oldAngle,gn.leftPoint=[...Jt],gn.rightPoint=[...an],gn.leftJoints=[...Pn],gn.rightJoints=[...Ze];break}St.resizeHandleType=null}),Pn[0]!==bt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Pn[0]&&(Bt.rightJoints=[this.id]),Bt.id===bt[0]&&(this.flippedWallSide!==Ki.left?Bt.rightJoints=[]:Bt.leftJoints=[]))}),Ze[0]!==Nt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Ze[0]&&(Bt.leftJoints=[this.id]),Bt.id===Nt[0]&&(this.flippedWallSide!==Ki.right?Bt.leftJoints=[]:Bt.rightJoints=[]))}),Te.current=Ki.null},redo(){const[Pn,Ze]=this.oldJoints,[bt,Nt]=this.newJoints;switch(v(St=>{for(const Bt of St.elements)if(Bt.id===this.id&&Bt.type===z.Wall){const[Jt,an]=this.newPoints;Bt.cx=(Jt[0]+an[0])/2,Bt.cy=(Jt[1]+an[1])/2,Bt.lx=Math.hypot(Jt[0]-an[0],Jt[1]-an[1]);const gn=Bt;gn.relativeAngle=this.newAngle,gn.leftPoint=[...Jt],gn.rightPoint=[...an],gn.leftJoints=[...bt],gn.rightJoints=[...Nt];break}}),Pn[0]!==bt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Pn[0]&&(Bt.rightJoints=[]),Bt.id===bt[0]&&(this.flippedWallSide===Ki.right?Bt.leftJoints=[this.id]:Bt.rightJoints=[this.id]))}),Ze[0]!==Nt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Ze[0]&&(Bt.leftJoints=[]),Bt.id===Nt[0]&&(this.flippedWallSide===Ki.right?Bt.rightJoints=[this.id]:Bt.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const St=C(this.newJoints[0][0]);St&&Hi(St);break}case Ki.right:{const St=C(this.newJoints[1][0]);St&&qo(St);break}}v(St=>{St.resizeHandleType=null}),Te.current=Ki.null}};ee(pn)}},ni=cn=>{if(cn.button===2){cn.altKey&&F(e,cn,zo.Select);return}v(pn=>{pn.contextMenuObjectType=null}),M.getState().objectTypeToAdd!==z.Window&&!q()&&F(e,cn,zo.Select);const qt=P();let jt=!1;if(cn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(jt=!0),(qt==null?void 0:qt.id)===e||jt)if(si(M.getState().objectTypeToAdd)){if(t){Ie(!0);const pn=cn.intersections.filter(Ze=>!Ze.eventObject.name.startsWith("Wall Intersection Plane"))[0].point,Pn=B(t,pn);Pn&&Cn(Pn),v(Ze=>{Ze.actionModeLock||(Ze.objectTypeToAdd=z.None)})}}else Ln.getState().selectNone(),Ln.setState({foundationRef:Ue});else if(qt&&qt.parentId===e&&si(qt.type))switch(Le.current=qt,qt.type===z.Wall&&!me.current&&(Me.current=[...M.getState().elements]),Ie(!0),Qe.current.set(qt.cx,qt.cy,qt.cz),ft.current.set(qt.lx,qt.ly,qt.lz),ht.getState().setPrimitiveStore("oldParentId",e),ht.getState().setPrimitiveStore("oldFoundationId",e),qt.type){case z.SolarPanel:case z.ParabolicTrough:case z.FresnelReflector:{ot.current=qt.relativeAzimuth;break}case z.Polygon:{_e.current=qt.vertices.map(pn=>({...pn}));break}case z.Wall:{const pn=qt;ot.current=pn.relativeAngle,yt.current=[[...pn.leftJoints],[...pn.rightJoints]],Rt.current=[[...pn.leftPoint],[...pn.rightPoint]],bo.current=pn.leftJoints[0],Ro.current=pn.rightJoints[0],De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);break}}if(me.current&&Ae.current&&Oe.current){const pn=Ft.intersectObjects([Oe.current]);if(pn.length===0)return;let Pn=xe.wallRelativePosition(pn[0].point,t);oe[0].position&&(Pn.setX(oe[0].position[0]),Pn.setY(oe[0].position[1]));const{id:Ze,point:bt,side:Nt,jointId:St}=po(Pn,1.5);Pn=to(Pn,bt);let Bt=gt.LowerRight;if(Ze){const Jt=C(Ze);Nt===j1.Right?v(an=>{for(const gn of an.elements)if(gn.type===z.Wall){if(gn.id===Ae.current){const mn=gn;mn.cx=Pn.x,mn.cy=Pn.y,Jt.rightJoints.length===0&&(mn.leftJoints=[Jt.id])}gn.id===Ze&&Jt.rightJoints.length===0&&(gn.rightJoints=Ae.current?[Ae.current]:[])}}):Nt===j1.Left&&!St&&(v(an=>{for(const gn of an.elements)if(gn.type===z.Wall){if(gn.id===Ae.current){const mn=gn;mn.cx=Pn.x,mn.cy=Pn.y,Jt.leftJoints.length===0&&(mn.rightJoints=[Jt.id])}gn.id===Ze&&Jt.leftJoints.length===0&&(gn.leftJoints=Ae.current?[Ae.current]:[])}}),Bt=gt.LowerLeft)}else T(Ae.current,Pn.x,Pn.y);me.current=!1,Pe.current=!0,D(Ae.current,[Pn.x,Pn.y,Pn.z]),v(Jt=>{Jt.resizeHandleType=Bt,Jt.resizeAnchor=xe.wallAbsolutePosition(Pn,t)}),Ln.getState().setEnableOrbitController(!1),Le.current=qt}},Lo=cn=>{if(Wl&&Cc(!1),cn.altKey&&cn.button===2&&E&&E.length>0){v(pn=>{pn.pastePoint.copy(cn.intersections[0].point),pn.clickObjectType=z.Foundation,pn.pasteNormal=Po});const jt=L();if(jt.length>0){const pn={name:"Paste to Point",timestamp:Date.now(),pastedElements:jt.map(Pn=>({...Pn})),undo:()=>{for(const Pn of pn.pastedElements)U(Pn.id,!1)},redo:()=>{v(Pn=>{Pn.elements.push(...pn.pastedElements),Pn.selectedElement=pn.pastedElements[0]})}};ee(pn)}}if(!Le.current||Le.current.type===z.Tree||Le.current.type===z.Flower||Le.current.type===z.Human)return;const qt=C(Le.current.id);if(qt){switch(qt.type){case z.Wall:{const jt=qt;if(me.current)v(pn=>{pn.elements.pop(),pn.addedWallId=null,pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn))}),Ae.current&&De.current.delete(Ae.current),Ae.current=null,me.current=!1,Pe.current=!1;else if(Pe.current&&Ae.current&&Oe.current)Ln.getState().setEnableOrbitController(!0),v(pn=>{pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn)),pn.addedWallId=null,jt.lx===0&&Me.current?(pn.elements=[...Me.current],Ae.current&&De.current.delete(Ae.current)):(yn(jt),De.current.set(jt.id,jt))}),Ae.current=null,Pe.current=!1;else if(M.getState().resizeHandleType)jt.lx>.45?(De.current.set(jt.id,jt),ut.current.set(jt.cx,jt.cy,jt.cz),at.current.set(jt.lx,jt.ly,jt.lz),et.current=jt.relativeAngle,Tt.current=[[...jt.leftJoints],[...jt.rightJoints]],Wt.current=[[...jt.leftPoint],[...jt.rightPoint]],no(jt)):v(pn=>{Me.current&&(pn.elements=[...Me.current],Me.current=null)});else if(M.getState().moveHandleType){let pn=jt.relativeAngle,Pn=[],Ze=[];if(bo.current)if(jt.leftJoints.length>0&&(bo.current!==jt.leftJoints[0]||bo.current===jt.leftJoints[0]&&oi.current)&&H(jt.leftJoints[0],[]),oi.current)R(bo.current,[jt.id]),Ze=[bo.current];else if(Pn=[bo.current],So.current){R(bo.current,[jt.id]);const bt=C(bo.current);bt&&Hi(bt)}else H(bo.current,[jt.id]);else jt.leftJoints.length>0&&jt.leftJoints[0]!==Ro.current&&(Pn=[],H(jt.leftJoints[0],[]));if(Ro.current)if(jt.rightJoints.length>0&&(Ro.current!==jt.rightJoints[0]||Ro.current===jt.rightJoints[0]&&oi.current)&&jt.rightJoints[0]!==bo.current&&R(jt.rightJoints[0],[]),oi.current)H(Ro.current,[jt.id]),Pn=[Ro.current];else if(Ze=[Ro.current],go.current){H(Ro.current,[jt.id]);const bt=C(Ro.current);bt&&qo(bt)}else R(Ro.current,[jt.id]);else jt.rightJoints.length>0&&jt.rightJoints[0]!==bo.current&&(Ze=[],R(jt.rightJoints[0],[]));v(bt=>{for(const Nt of bt.elements)if(Nt.id===jt.id&&Nt.type===z.Wall){const St=Nt;if(oi.current&&(pn=(St.relativeAngle+Math.PI)%na,St.relativeAngle=pn,[St.leftPoint,St.rightPoint]=[[...St.rightPoint],[...St.leftPoint]]),Pn.length===0&&Ze.length===0)St.roofId=null;else if(Pn.length>0){const Bt=bt.elements.find(Jt=>Jt.id===Pn[0]);Bt&&(St.roofId=Bt.roofId)}else if(Ze.length>0){const Bt=bt.elements.find(Jt=>Jt.id===Ze[0]);Bt&&(St.roofId=Bt.roofId)}St.leftJoints=[...Pn],St.rightJoints=[...Ze];break}bt.updateWallMapOnFoundationFlag=!bt.updateWallMapOnFoundationFlag}),vi(jt.id),Eo(jt,pn,[[...Pn],[...Ze]]),oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null}Te.current=Ki.null,v(pn=>{pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag}),ye({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]);break}case z.Polygon:{if(M.getState().moveHandleType||M.getState().resizeHandleType){nt.current=qt.vertices.map(pn=>({...pn}));const jt={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:_e.current,newValue:nt.current,changedElementId:qt.id,changedElementType:qt.type,undo:()=>{N(jt.changedElementId,jt.oldValue)},redo:()=>{N(jt.changedElementId,jt.newValue)}};ee(jt)}break}default:if(M.getState().resizeHandleType){if(ut.current.set(qt.cx,qt.cy,qt.cz),at.current.set(qt.lx,qt.ly,qt.lz),ut.current.distanceToSquared(Qe.current)>Dt||at.current.distanceToSquared(ft.current)>Dt){const jt={name:"Resize",timestamp:Date.now(),resizedElementId:Le.current.id,resizedElementType:Le.current.type,oldCx:Qe.current.x,oldCy:Qe.current.y,oldCz:Qe.current.z,newCx:ut.current.x,newCy:ut.current.y,newCz:ut.current.z,oldLx:ft.current.x,oldLy:ft.current.y,oldLz:ft.current.z,newLx:at.current.x,newLy:at.current.y,newLz:at.current.z,undo:()=>{T(jt.resizedElementId,jt.oldCx,jt.oldCy,jt.oldCz),y(jt.resizedElementId,jt.oldLx,jt.oldLy,jt.oldLz)},redo:()=>{T(jt.resizedElementId,jt.newCx,jt.newCy,jt.newCz),y(jt.resizedElementId,jt.newLx,jt.newLy,jt.newLz)}};ee(jt)}}else if(M.getState().rotateHandleType){if(xe.isSolarCollector(Le.current)){const jt=Le.current;if(Math.abs(et.current-ot.current)>Dt)if(Pc(jt,et.current)){v(Pn=>{Pn.selectedElementAngle=et.current});const pn={name:"Rotate",timestamp:Date.now(),oldValue:ot.current,newValue:et.current,changedElementId:jt.id,changedElementType:jt.type,undo:()=>{k(pn.changedElementId,pn.oldValue)},redo:()=>{k(pn.changedElementId,pn.newValue)}};ee(pn)}else k(jt.id,ot.current)}}else if(ut.current.set(qt.cx,qt.cy,qt.cz),ut.current.distanceToSquared(Qe.current)>Dt){let jt=!0;xe.isSolarCollector(qt)&&(jt=Br(qt,qt.cx,qt.cy)),jt?wd.addUndoableMove():v(pn=>{const Pn=pn.elements.find(St=>St.id===qt.id);if(!Pn||!pn.selectedElement)return;const Ze=pn.selectedElement;Pn.cx=Ze.cx,Pn.cy=Ze.cy,Pn.cz=Ze.cz,Pn.rotation=[...Ze.rotation],Pn.normal=[...Ze.normal];const bt=ht.getState().oldParentId,Nt=ht.getState().oldFoundationId;bt&&(Pn.parentId=bt),Nt&&(Pn.foundationId=Nt)})}}Ie(!1),Le.current=null,v(jt=>{jt.resizeHandleType=null,jt.moveHandleType=null})}},bo=m.useRef(null),Ro=m.useRef(null),oi=m.useRef(!1),go=m.useRef(!1),So=m.useRef(!1),Uo=(cn,qt,jt)=>{let pn=Math.atan2(qt.y-cn.y,qt.x-cn.x)-(jt===gt.LowerLeft?Math.PI:0);return pn=pn>=0?pn:(na+pn)%na,pn},_i=(cn,qt)=>{let pn=null,Pn=null,Ze=1/0,bt=1/0;for(const[Nt,St]of De.current)if(Le.current!==null&&St.id!==Le.current.id&&St.id!==qt){const Bt=Math.abs(cn.x-St.leftPoint[0]),Jt=Math.abs(cn.x-St.rightPoint[0]),an=Math.abs(cn.y-St.leftPoint[1]),gn=Math.abs(cn.y-St.rightPoint[1]);Bt<1&&Bt{const Ze=Uo(cn,qt,jt);let bt=null,Nt=null;return Ze<.05||Ze>na-.05||Math.abs(Ze-Math.PI)<.05||Math.abs(qt.y-cn.y)<1?Nt=cn.y:(Math.abs(Ze-Math.PI/2)<.05||Math.abs(Ze-3*Math.PI/2)<.05||Math.abs(qt.x-cn.x)<1)&&(bt=cn.x),[bt,Nt]},ar=(cn,qt,jt,pn)=>{const[Pn,Ze]=_i(qt),[bt,Nt]=Qo(cn,qt,jt),St=ur(qt.x,Pn,bt),Bt=ur(qt.y,Ze,Nt);return new re(St,Bt,qt.z)},ur=(cn,qt,jt)=>qt!==null&&jt!==null?Math.abs(qt-cn){let[pn,Pn]=[1/0,1/0],Ze=null,bt=null;for(const[Nt,St]of De.current)if(Le.current!==null&&St.id!==Le.current.id&&St.id!==jt){const Bt=Math.abs(cn.x-St.leftPoint[0]),Jt=Math.abs(cn.x-St.rightPoint[0]);Bt<.01&&Bt{Ze!==null&&bt!==null?(Nt[qt].direction="xy",Nt[qt].position=[Ze,bt]):Ze!==null?(Nt[qt].direction="y",Nt[qt].position=[Ze,cn.y]):bt!==null?(Nt[qt].direction="x",Nt[qt].position=[cn.x,bt]):(Nt[qt].direction=null,Nt[qt].position=null)})),[Ze!==null,bt!==null]},ba=(cn,qt)=>Math.abs(qt)<.01||Math.abs(qt-Math.PI)<.01?(ye(jt=>({...jt,direction:"x",position:[cn.x,cn.y]})),[!0,!1]):Math.abs(qt-Math.PI/2)<.01||Math.abs(qt-3*Math.PI/2)<.01?(ye(jt=>({...jt,direction:"y",position:[cn.x,cn.y]})),[!1,!0]):(ye(jt=>({...jt,direction:null,position:null})),[!1,!1]),Mo=(cn,qt)=>{ge(LP(jt=>{jt[0].show=cn})),ye(jt=>({...jt,show:qt}))},$i=(cn,qt)=>{const[jt,pn]=$o(cn),[Pn,Ze]=ba(cn,qt);jt&&pn?Mo(!0,!1):jt?Mo(!0,!Ze&&Pn):pn?Mo(!0,!Pn&&Ze):Mo(!1,Pn||Ze)},Za=cn=>{var Ze,bt;if(!t||(Xu(cn),Le.current&&xe.isSolarCollector(Le.current)))return;const qt=M.getState().objectTypeToAdd;if(!Le.current&&!Ae.current&&qt!==z.Wall||((Ze=Le.current)==null?void 0:Ze.parentId)!==e&&qt===z.None)return;const jt=M.getState().moveHandleType,pn=M.getState().resizeHandleType,Pn=M.getState().resizeAnchor;if(rn(cn),Oe.current){const Nt=Ft.intersectObjects([Oe.current]);if(Nt.length===0)return;let St=Nt[0].point;if(Le.current&&Le.current.type&&!Le.current.locked&&Nt.length>0)switch(Ie(!0),Le.current.type){case z.Sensor:case z.Light:case z.WindTurbine:{St=xe.relativeCoordinates(St.x,St.y,St.z,t),T(Le.current.id,St.x,St.y);break}case z.Polygon:{const Bt=Le.current;if(jt===yo.Default){St=xe.relativeCoordinates(St.x,St.y,St.z,t);const Jt=xe.calculatePolygonCentroid(Bt.vertices),an=St.x-Jt.x,gn=St.y-Jt.y,mn=Bt.vertices.map(vn=>({...vn}));mn.forEach(vn=>{vn.x+=an,vn.y+=gn}),N(Bt.id,mn)}else pn===gt.Default&&(St.x-=t.cx,St.y-=t.cy,St.applyEuler(new Qt().fromArray(t.rotation.map(Jt=>-Jt))),St=M.getState().enableFineGrid?xe.snapToFineGrid(St):xe.snapToNormalGrid(St),St.x/=t.lx,St.y/=t.ly,W(Bt.id,Bt.selectedIndex,St.x,St.y));break}case z.Wall:{if(((bt=M.getState().selectedElement)==null?void 0:bt.type)!==z.Wall)break;if(pn&&(pn===gt.LowerLeft||pn===gt.LowerRight)){const Bt=xe.wallRelativePosition(Pn,t);St=xe.wallRelativePosition(St,t);let Jt=null;M.getState().enableFineGrid?St=xe.snapToFineGrid(St):(Jt=po(St,1.5),Jt!=null&&Jt.point?St=Jt.point:(St=xe.snapToNormalGrid(St),St=ar(Bt,St,pn),Jt=po(St,1.5),Jt!=null&&Jt.point&&(St=Jt.point)));const an=Uo(Bt,St,pn);$i(St,an);const gn=St.distanceTo(Bt),mn=new re().addVectors(St,Bt).divideScalar(2),vn=pn===gt.LowerLeft?St:Bt,kn=pn===gt.LowerLeft?Bt:St;v(Wn=>{for(const $n of Wn.elements)if($n.id===Le.current.id&&$n.type===z.Wall){const Xn=$n;Xn.cx=mn.x,Xn.cy=mn.y,Xn.lx=gn,Xn.relativeAngle=an,Xn.leftPoint=[vn.x,vn.y,0],Xn.rightPoint=[kn.x,kn.y,0];break}});const jn=C(Le.current.id);if(jn){if(Jt&&Jt.point){if(Jt.id&&Jt.side&&!Jt.jointId){const Wn=C(Jt.id);if(Wn){if(pn===gt.LowerLeft&&Wn.leftJoints.length===0&&Jt.side===j1.Left){if(jn.leftJoints.length>0&&jn.leftJoints[0]!==Jt.id){const $n=jn.leftJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===$n&&Jo.type===z.Wall){Jo.rightJoints=[];break}})}Hi(jn,Wn)}else if(pn===gt.LowerRight&&Wn.rightJoints.length===0&&Jt.side===j1.Right){if(jn.rightJoints.length>0&&jn.rightJoints[0]!==Jt.id){const $n=jn.rightJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===$n&&Jo.type===z.Wall){Jo.leftJoints=[];break}})}qo(jn,Wn)}else pn===gt.LowerRight&&Jt.side===j1.Left&&Wn.leftJoints.length===0&&Wn.rightJoints[0]!==jn.id?v($n=>{let Xn=null;jn.rightJoints.length>0&&jn.rightJoints[0]!==(Jt==null?void 0:Jt.id)&&(Xn=jn.rightJoints[0]);for(const Jo of $n.elements)Jo.type===z.Wall&&(Jo.id===jn.id&&(Jo.rightJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.leftJoints=[jn.id]),Jo.id===Xn&&(Jo.leftJoints=[]))}):pn===gt.LowerLeft&&Jt.side===j1.Right&&Wn.rightJoints.length===0&&Wn.leftJoints[0]!==jn.id&&v($n=>{let Xn=null;jn.leftJoints.length>0&&jn.leftJoints[0]!==(Jt==null?void 0:Jt.id)&&(Xn=jn.leftJoints[0]);for(const Jo of $n.elements)Jo.type===z.Wall&&(Jo.id===jn.id&&(Jo.leftJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.rightJoints=[jn.id]),Jo.id===Xn&&(Jo.rightJoints=[]))});vi(jn.id)}}}else if(pn===gt.LowerRight&&jn.rightJoints.length>0){const Wn=jn.rightJoints[0];v($n=>{for(const Xn of $n.elements)Xn.type===z.Wall&&(Xn.id===jn.id&&(Xn.rightJoints=[]),Xn.id===Wn&&(Xn.leftJoints=[]));$n.updateWallMapOnFoundationFlag=!$n.updateWallMapOnFoundationFlag})}else if(pn===gt.LowerLeft&&jn.leftJoints.length>0){const Wn=jn.leftJoints[0];v($n=>{for(const Xn of $n.elements)Xn.type===z.Wall&&(Xn.id===jn.id&&(Xn.leftJoints=[]),Xn.id===Wn&&(Xn.rightJoints=[]));$n.updateWallMapOnFoundationFlag=!$n.updateWallMapOnFoundationFlag})}}}else if(jt){const Bt=C(Le.current.id);if(Bt){St=xe.wallRelativePosition(St,t);const Jt=new re,an=new Qt(0,0,Bt.relativeAngle);jt===yo.Lower?Jt.setY(st):jt===yo.Upper&&Jt.setY(-st-Bt.ly),St.add(Jt.applyEuler(an));const gn=new re().addVectors(St,new re(-Bt.lx/2,0,0).applyEuler(an)),mn=new re().addVectors(St,new re(Bt.lx/2,0,0).applyEuler(an));let vn=null,kn=null,jn=!1;oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null;const Wn=($n,Xn)=>{const Jo=Xn==="left"?gn:mn,lr=new re().subVectors($n,Jo);St.add(lr),gn.add(lr),mn.add(lr)};if(!M.getState().enableFineGrid){let $n=po(gn,1);$n.point?(Wn($n.point,"left"),$n.id&&(!$n.jointId||$n.jointId===Bt.id)&&(bo.current=$n.id,vn=$n.side===j1.Left)):bo.current=null;let Xn=po(mn,1);if(Xn.point?($n.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&($n.id!==Xn.id||$n.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===j1.Right)):Ro.current=null,!$n.point&&!Xn.point){const[ga,vs]=_i(gn),[Ju,Ku]=_i(mn);if(ga!==null||Ju!==null){const Th=(ga??1/0)-gn.x,Rf=(Ju??1/0)-mn.x,qu=Math.min(Th,Rf);gn.setX(gn.x+qu),mn.setX(mn.x+qu),St.setX(St.x+qu),$n=po(gn,1),$n.point?(Wn($n.point,"left"),$n.id&&(!$n.jointId||$n.jointId===Bt.id)&&(bo.current=$n.id,vn=$n.side===j1.Left)):bo.current=null}if(vs!==null||Ku!==null){const Th=(vs??1/0)-gn.y,Rf=(Ku??1/0)-mn.y,qu=Math.min(Th,Rf);gn.setY(gn.y+qu),mn.setY(mn.y+qu),St.setY(St.y+qu),Xn=po(mn,1),Xn.point?($n.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&($n.id!==Xn.id||$n.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===j1.Right)):Ro.current=null}}const[Jo,lr]=$o(gn,0),[Kr,Vi]=$o(mn,1);ge(LP(ga=>{ga[0].show=Jo||lr,ga[1].show=Kr||Vi})),vn&&kn===null||kn&&vn===null||vn&&kn?oi.current=!0:(vn&&kn===!1||kn&&vn===!1)&&(So.current=vn,go.current=kn),$n.point&&Xn.point&&($n.id!==Xn.id||$n.side!==Xn.side)&&(gn.copy($n.point),mn.copy(Xn.point),jn=!0)}v($n=>{var Xn;for(const Jo of $n.elements)if(Jo.id===((Xn=Le.current)==null?void 0:Xn.id)&&Jo.type===z.Wall){const lr=Jo;if(jn){lr.cx=(gn.x+mn.x)/2,lr.cy=(gn.y+mn.y)/2,lr.lx=gn.distanceTo(mn);let Kr=Math.atan2(mn.y-gn.y,mn.x-gn.x);Kr=Kr>=0?Kr:(na+Kr)%na,lr.relativeAngle=Kr}else lr.cx=St.x,lr.cy=St.y;lr.leftPoint=gn.toArray(),lr.rightPoint=mn.toArray();break}})}}break}}if(qt===z.Wall&&!me.current){Me.current=[...M.getState().elements];const Bt=B(t,St);Le.current=Bt,Ae.current=Bt.id,me.current=!0,Ie(!0),Ln.getState().setEnableOrbitController(!1),v(Jt=>{Jt.addedWallId=Bt.id,Jt.objectTypeToAdd=z.None})}if(Ae.current&&me.current){St=xe.wallRelativePosition(Nt[0].point,t);let Bt=null;if(M.getState().enableFineGrid)St=xe.snapToFineGrid(St);else if(Bt=po(St,1.5),Bt!=null&&Bt.point)St=Bt.point;else{St=xe.snapToNormalGrid(St);const[gn,mn]=_i(St);gn!==null&&St.setX(gn),mn!==null&&St.setY(mn),Bt=po(St,1.5),Bt!=null&&Bt.point&&(St=Bt.point)}const[Jt,an]=$o(St);ge(LP(gn=>{gn[0].show=Jt||an})),T(Ae.current,St.x,St.y)}}},ti=cn=>{cn.intersections.length>0&&cn.intersections[0].object===Oe.current&&de(!0)},di=cn=>{v(qt=>{mx.selectMe(qt,e,cn,zo.ContextMenu),qt.pastePoint.copy(cn.intersections[0].point),qt.clickObjectType=z.Foundation,qt.pasteNormal=Po,cn.altKey?qt.contextMenuObjectType=null:cn.intersections.length>0&&cn.intersections[0].object===Oe.current&&(qt.contextMenuObjectType=z.Foundation),qt.pasteNormal=Po})},Fr=()=>{Wl&&(Cc(!1),Le.current=null),de(!1),Ie(!1),Le.current&&me.current&&(U(Le.current.id,!1),me.current=!1,v(cn=>{cn.addedWallId=null,cn.objectTypeToAdd=z.Wall}),Le.current=null),ye({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}])},Oa=cn=>{Le.current&&xe.isPlantOrHuman(Le.current)&&cn.intersections[0].object===Oe.current&&Ie(!0)},Br=(cn,qt,jt)=>{const pn=JSON.parse(JSON.stringify(cn));return pn.cx=qt,pn.cy=jt,ae(pn)?(Do(j.t("message.MoveCancelledBecauseOfOverlap",Ct)),!1):xe.isSolarCollectorWithinHorizontalSurface(pn,t)?!0:(Do(j.t("message.MoveOutsideBoundaryCancelled",Ct)),!1)},Pc=(cn,qt)=>{const jt=JSON.parse(JSON.stringify(cn));return jt.relativeAzimuth=qt,ae(jt)?(Do(j.t("message.RotationCancelledBecauseOfOverlap",Ct)),!1):xe.isSolarCollectorWithinHorizontalSurface(jt,t)?!0:(Do(j.t("message.RotationOutsideBoundaryCancelled",Ct)),!1)},Is=(cn,qt,jt,pn,Pn)=>{if(cn.type===z.SolarPanel&&cn.tiltAngle!==0&&.5*Pn*Math.abs(Math.sin(cn.tiltAngle))>cn.poleHeight)return!1;const Ze=JSON.parse(JSON.stringify(cn));return Ze.cx=qt,Ze.cy=jt,Ze.lx=pn,Ze.ly=Pn,xe.isSolarCollectorWithinHorizontalSurface(Ze,t)},qs=cn=>{if($e.current&&t&&Le.current&&t){if(!xe.isSolarCollector(Le.current))return;const qt=Le.current;rn(cn);const jt=Ft.intersectObjects([$e.current]);if(jt.length>0){let pn=jt[0].point;const Pn=M.getState().moveHandleType,Ze=M.getState().rotateHandleType,bt=M.getState().resizeHandleType;if(Pn&&t)pn=xe.relativeCoordinates(pn.x,pn.y,pn.z,t),T(qt.id,pn.x,pn.y),qt.parentId!==e&&M.getState().set(Nt=>{const St=Nt.elements.find(Bt=>Bt.id===qt.id&&Bt.type===z.SolarPanel);St&&(St.parentId!==e||St.foundationId!==e)&&(St.parentId=e,St.foundationId=e,St.parentType=z.Foundation,Nt.selectedElement&&(Nt.selectedElement.parentId=e,St.color=Nt.selectedElement.color))});else if(Ze){if(Ze===wi.Upper||Ze===wi.Lower){const Nt=t.rotation[2],St=new Gt(t.cx,t.cy),Bt=new Gt(t.lx*qt.cx,t.ly*qt.cy).rotateAround(wr,Nt),Jt=new Gt().addVectors(Bt,St),an=Math.atan2(-pn.x+Jt.x,pn.y-Jt.y)-Nt+(Ze===wi.Lower?0:Math.PI),gn=Math.abs(an)>Math.PI?-Math.sign(an)*na:0,mn=an+gn;k(qt.id,mn),et.current=mn}}else if(bt){const Nt=M.getState().resizeAnchor,St=new Gt(pn.x,pn.y),Bt=new Gt(Nt.x,Nt.y),Jt=St.distanceTo(Bt),an=qt.relativeAzimuth+l[2],gn=new Gt().subVectors(St,Bt),mn=new Gt(n,o);if(qt.type===z.SolarPanel){const vn=qt,kn=_(vn.pvModelName);switch(bt){case gt.Lower:case gt.Upper:{const jn=bt===gt.Lower?1:-1,Wn=gn.angle()-an+jn*Vt;let $n=Jt*Math.cos(Wn);vn.orientation===ui.portrait?$n=Math.max(1,Math.ceil(($n-kn.length/2)/kn.length))*kn.length:$n=Math.max(1,Math.ceil(($n-kn.width/2)/kn.width))*kn.width;const Xn=Nt.x+jn*($n*Math.sin(an))/2,Jo=Nt.y-jn*($n*Math.cos(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,$n)&&(x(qt.id,$n),T(qt.id,Vi,ga))}break;case gt.Left:case gt.Right:{const jn=bt===gt.Left?-1:1,Wn=gn.angle()-an+(bt===gt.Left?Math.PI:0);let $n=Jt*Math.cos(Wn);vn.orientation===ui.portrait?$n=Math.max(1,Math.ceil(($n-kn.width/2)/kn.width))*kn.width:$n=Math.max(1,Math.ceil(($n-kn.length/2)/kn.length))*kn.length;const Xn=Nt.x+jn*($n*Math.cos(an))/2,Jo=Nt.y+jn*($n*Math.sin(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,$n,qt.ly)&&(S(qt.id,$n),T(qt.id,Vi,ga))}break}}else if(qt.type===z.ParabolicTrough){const vn=qt;switch(bt){case gt.Lower:case gt.Upper:{const kn=bt===gt.Lower?1:-1,jn=gn.angle()-an+kn*Vt;let Wn=Jt*Math.cos(jn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(an))/2,Jo=Nt.y-kn*(Wn*Math.cos(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(x(qt.id,Wn),T(qt.id,Vi,ga))}break;case gt.Left:case gt.Right:{const kn=bt===gt.Left?-1:1,jn=gn.angle()-an+(bt===gt.Left?Math.PI:0),Wn=Jt*Math.cos(jn),$n=Nt.x+kn*(Wn*Math.cos(an))/2,Xn=Nt.y+kn*(Wn*Math.sin(an))/2,Jo=new Gt($n,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(S(qt.id,Wn),T(qt.id,Kr,Vi),v(ga=>{ga.actionState.parabolicTroughWidth=Wn}))}break}}else if(qt.type===z.FresnelReflector){const vn=qt;switch(bt){case gt.Lower:case gt.Upper:{const kn=bt===gt.Lower?1:-1,jn=gn.angle()-an+kn*Vt;let Wn=Jt*Math.cos(jn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(an))/2,Jo=Nt.y-kn*(Wn*Math.cos(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(x(qt.id,Wn),T(qt.id,Vi,ga))}break;case gt.Left:case gt.Right:{const kn=bt===gt.Left?-1:1,jn=gn.angle()-an+(bt===gt.Left?Math.PI:0),Wn=Jt*Math.cos(jn),$n=Nt.x+kn*(Wn*Math.cos(an))/2,Xn=Nt.y+kn*(Wn*Math.sin(an))/2,Jo=new Gt($n,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(S(qt.id,Wn),T(qt.id,Kr,Vi),v(ga=>{ga.actionState.fresnelReflectorWidth=Wn}))}break}}else if(qt.type===z.ParabolicDish){const vn=qt;switch(bt){case gt.Left:case gt.Right:case gt.Lower:case gt.Upper:{const kn=Math.min(10,Jt);Is(qt,vn.cx,vn.cy,qt.lx,kn)&&(S(qt.id,kn),x(qt.id,kn),v(jn=>{jn.actionState.parabolicDishRimDiameter=kn}));break}}}}}}},Pr=Z?b?.25:.75:1,pa=M(cn=>cn.elements.filter(qt=>qt.type===z.SolarPanel&&qt.parentId===e),a3),[Wl,Yl]=m.useState(!1),Xu=cn=>{const qt=wd.getIntersectionObjects(cn);if(qt.length==0||qt[0].eventObject.userData.id!==e){Wl&&(Cc(!1),Le.current=null,Ie(!1));return}const jt=M.getState().selectedElement;!Wl&&jt&&!jt.locked&&jt.type===z.SolarPanel&&M.getState().moveHandleType&&(Cc(!0,jt.poleHeight),Le.current=jt,Ie(!0))},Cc=(cn,qt)=>{cn&&qt!==void 0?(Yl(!0),Xt.setZ(qt)):(Yl(!1),Xt.setZ(0))},mu=()=>Wl?!0:Le.current&&xe.isSolarCollector(Le.current)&&!Le.current.locked;return h.jsx(h.Fragment,{children:h.jsxs("group",{ref:Ue,name:`${dqe} ${e}`,position:[n,o,ct],rotation:[0,0,l[2]],children:[h.jsxs(Ei,{castShadow:J,receiveShadow:J,uuid:e,userData:{simulation:!0,stand:!0,id:e,aabb:!0},ref:Oe,name:"Foundation",args:[i,r,a],onContextMenu:di,onPointerOver:ti,onPointerDown:ni,onPointerUp:Lo,onPointerMove:M2.throttle(Za,Ek),onPointerOut:Fr,onPointerEnter:Oa,children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s,transparent:!0,opacity:Pr}),se&&Se?h.jsx("meshBasicMaterial",{attach:"material-4",color:"white",map:Se,transparent:!0,opacity:Pr}):h.jsx("meshStandardMaterial",{attach:"material-4",color:p===Or.NoTexture?s:"white",map:Un,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-5",color:s,transparent:!0,opacity:Pr})]}),mu()&&h.jsx(sa,{ref:$e,name:"Foundation Intersection Plane",position:Xt,args:[i,r],visible:!1,onPointerMove:M2.throttle(qs,Ek)}),ve&&h.jsxs(h.Fragment,{children:[M.getState().rotateHandleType&&Le.current&&xe.isSolarCollector(Le.current)&&h.jsx(fye,{element:Le.current,height:Le.current.poleHeight+ct}),(M.getState().moveHandleType||M.getState().resizeHandleType||Ae.current)&&h.jsx(Age,{hx:Ke,hy:Je,hz:ct})]}),A&&h.jsx(hye,{element:t,verticalLift:je}),(!A||Z)&&h.jsx(s7,{hx:Ke,hy:Je,hz:ct,lineColor:Z&&b?"white":c,lineWidth:Z&&b?u*3:u}),A&&d&&h.jsx(s7,{hx:Ke,hy:Je,hz:ct,lineColor:l0,lineWidth:u*5}),ze.show&&h.jsx("group",{position:[0,0,ct+.01],children:h.jsx(iSe,{hx:Ke,hy:Je,position:ze.position,direction:ze.direction,color:"black"})}),h.jsx("group",{position:[0,0,ct+.01],children:oe.map((cn,qt)=>cn.show?h.jsx(iSe,{hx:Ke,hy:Je,position:cn.position,direction:cn.direction,color:"yellow"},qt):null)}),A&&!d&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:We,position:[Pt.x,Pt.y,0],args:[mt,mt,a*1.2],name:gt.LowerLeft,onPointerDown:cn=>{F(e,cn,zo.Resize),We.current&&v(qt=>{const jt=We.current.localToWorld(new re(i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.LowerLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.LowerLeft||M.getState().resizeHandleType===gt.LowerLeft?nr:pr})}),h.jsx(Ei,{ref:Ee,position:[Ne.x,Ne.y,0],args:[mt,mt,a*1.2],name:gt.UpperLeft,onPointerDown:cn=>{F(e,cn,zo.Resize),Ee.current&&v(qt=>{const jt=Ee.current.localToWorld(new re(i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.UpperLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.UpperLeft||M.getState().resizeHandleType===gt.UpperLeft?nr:pr})}),h.jsx(Ei,{ref:Fe,position:[lt.x,lt.y,0],args:[mt,mt,a*1.2],name:gt.LowerRight,onPointerDown:cn=>{F(e,cn,zo.Resize),Fe.current&&v(qt=>{const jt=Fe.current.localToWorld(new re(-i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.LowerRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.LowerRight||M.getState().resizeHandleType===gt.LowerRight?nr:pr})}),h.jsx(Ei,{ref:Ge,position:[Ye.x,Ye.y,0],args:[mt,mt,a*1.2],name:gt.UpperRight,onPointerDown:cn=>{F(e,cn,zo.Resize),Ge.current&&v(qt=>{const jt=Ge.current.localToWorld(new re(-i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.UpperRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.UpperRight||M.getState().resizeHandleType===gt.UpperRight?nr:pr})}),!ie&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:rt,args:[je,6,6,0,Math.PI],position:[0,-Je-je,0],name:yo.Lower,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Lower,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Lower)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Lower||M.getState().moveHandleType===yo.Lower?nr:Fk})}),h.jsx(ts,{ref:Ve,args:[je,6,6,0,Math.PI],position:[0,Je+je,0],name:yo.Upper,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Upper,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Upper)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Upper||M.getState().moveHandleType===yo.Upper?nr:Fk})}),h.jsx(ts,{ref:xt,args:[je,6,6,0,Math.PI],position:[-Ke-je,0,0],name:yo.Left,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Left,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Left)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Left||M.getState().moveHandleType===yo.Left?nr:jx})}),h.jsx(ts,{ref:dt,args:[je,6,6,0,Math.PI],position:[Ke+je,0,0],name:yo.Right,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Right,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Right)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Right||M.getState().moveHandleType===yo.Right?nr:jx})}),h.jsx(l7,{id:e,position:[0,-wt,0],color:ne===wi.Lower||M.getState().rotateHandleType===wi.Lower?nr:pr,ratio:Ht,handleType:wi.Lower,hoverHandle:vo,noHoverHandle:Oo}),h.jsx(l7,{id:e,position:[0,wt,0],color:ne===wi.Upper||M.getState().rotateHandleType===wi.Upper?nr:pr,ratio:Ht,handleType:wi.Upper,hoverHandle:vo,noHoverHandle:Oo})]})]}),!ie&&h.jsxs(h.Fragment,{children:[($||f)&&!A&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(t!=null&&t.label?t.label:j.t("shared.FoundationElement",Ct))+(d?" ("+j.t("shared.ElementLocked",Ct)+")":""),color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??ct+.2]}),!d&&ne===gt.LowerLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LL",text:"LL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-Ke,-Je,ct+.2]}),!d&&ne===gt.UpperLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UL",text:"UL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-Ke,Je,ct+.2]}),!d&&ne===gt.LowerRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LR",text:"LR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[Ke,-Je,ct+.2]}),!d&&ne===gt.UpperRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UR",text:"UR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[Ke,Je,ct+.2]})]}),g===zn.FocusPipe&&h.jsx(v$t,{foundation:t}),g===zn.FocusTower&&h.jsx(w$t,{foundation:t}),g===zn.UpdraftTower&&h.jsx(A$t,{foundation:t}),h.jsx(W$t,{...t}),pa.map(cn=>h.jsx(U$t,{...cn,cx:cn.cx*i,cy:cn.cy*r,cz:cn.poleHeight+cn.lz/2+a/2,parentPosition:[n,o,a/2],parentRotation:l[2]},cn.id))]})})}),mye="Handles Intersection Plane",zz=t=>{if(t.intersections.length>0){for(const e of t.intersections)if(e.eventObject.name===mye)return e.point.z<0?null:e.point}return null},V8=(t,e)=>new re().subVectors(t,new re(e.cx,e.cy,e.lz)).applyEuler(new Qt(0,0,-e.rotation[2])),fqe=(t,e,n,o,i)=>{const[r,a]=[e/2,n/2],[l,s,c]=o,u=new Qt().fromArray([l-Vt,s,c,"ZXY"]),d=i.map(f=>({x:f.x,y:f.y}));for(let f=-1;f<=1;f+=2)for(let p=-1;p<=1;p+=2){const g=new re(r*f,0,a*p).applyEuler(u),A=new re().addVectors(t,g);if(!xe.isPointInside(A.x,A.y,d))return!1}return!0},j$t=(t,e,n,o,i,r,a)=>{const l=n/2,[s,c,u]=r,d=new Qt().fromArray([s-Vt,c,u,"ZXY"]),f=a.map(g=>({x:g.x,y:g.y})),p=new re().addVectors(t,new re(o*e,0,l+i).applyEuler(d));return!(!xe.isPointInside(p.x,p.y,f)||!fqe(t,e,n,r,a))},Y$t=(t,e,n)=>{if(t.intersections.length>0)for(const o of t.intersections){const i=o.eventObject.name;if(i.includes("Window")&&i.includes(e)&&o.object.name!==mye)return null;if(i.includes("Roof")&&i.includes(n)){const r=o.point.clone(),a=Number.parseInt(o.object.name.split(" ").pop()??"-1");return{pointer:r,segmentIdx:a}}}return null},rSe=t=>{switch(t){case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:return!0}return!1},O$t=(t,e,n)=>{const o=new re().subVectors(e,t).applyEuler(new Qt(0,0,-n)),i=Math.abs(o.x),r=Math.hypot(o.y,o.z),a=new re().addVectors(t,e).divideScalar(2);return{newLx:i,newLz:r,newCenter:a}},_$t=(t,e,n)=>n===Vo.Gambrel?dye(t).map(o=>o.add(e)):t.map(o=>o.points[0].clone().add(e)),aSe=(t,e,n)=>{M.getState().set(o=>{const i=o.elements.find(r=>r.id===t&&r.type===z.Window);i&&([i.cx,i.cy,i.cz]=e,i.rotation=[...n])})},lSe=(t,e,n,o)=>{M.getState().set(i=>{const r=i.elements.find(a=>a.id===t&&a.type===z.Window);r&&([r.cx,r.cy,r.cz]=e,[r.lx,r.ly,r.lz]=n,o!=null&&(r.archHeight=o))})},sSe=(t,e)=>{M.getState().set(n=>{const o=n.elements.find(i=>i.id===t&&i.type===z.Window);o&&(o.polygonTop=[...e])})},V$t=(t,e,n=.01)=>{if(t.type!==z.SolarPanel&&t.type!==z.Window)return null;const o=new Qt().fromArray([t.rotation[0],t.rotation[1],t.rotation[2],"ZXY"]),i=new re,r=t.lx/2+n;let a=n;t.type===z.SolarPanel?(a+=t.ly/2,i.set(t.cx*e.lx,t.cy*e.ly,0)):(a+=t.lz/2,i.set(t.cx,t.cy,0));const l=[];for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=new re(s*r,s*c*a).applyEuler(o).add(i);l.push(u)}if(t.type===z.Window&&t.windowType===Sr.Polygonal){const[s,c]=t.polygonTop??jp,u=new re(s*r,c+a).applyEuler(o).add(i);l.push(u)}return l},Tre=t=>{if(t.windowType===Sr.Polygonal)return t.polygonTop??jp},hqe=({z:t})=>{const e=m.useRef(null),[n,o]=m.useState("white");return h.jsx(Ei,{ref:e,name:gt.Arch,args:[.2,.2,.2],position:[0,0,t],onPointerEnter:()=>{o("red")},onPointerLeave:()=>{o("white")},children:h.jsx("meshBasicMaterial",{color:n})})},G$t=({id:t,parentId:e,foundationId:n,lx:o,lz:i,polygonTop:r,rotation:a,windowType:l,parentType:s})=>{const c=M(le=>le.addedWindowId),u=M(En),d=c===t,f=s===z.Roof,p=m.useRef(null),g=m.useRef(null),A=m.useRef(null),w=m.useRef(null),b=m.useRef(null),C=m.useRef(null),P=m.useRef(null),v=m.useRef(null),T=m.useRef([]),y=m.useRef(null),S=m.useRef(null),x=m.useRef(null),R=m.useRef(null),H=m.useRef(null),[D,k]=m.useState(!1),[W,N]=[o/2,i/2],[L,E]=r,U=m.useMemo(()=>o*L,[o,L]),F=M(dn),B=(le,te,he)=>{if(!n)return null;const pe=M.getState().elements.find(Ie=>Ie.id===n&&Ie.type===z.Foundation);if(!pe)return null;const fe=le.object.localToWorld(new re),[$,de,Se]=a,Ce=new Qt().fromArray([$-Vt,de,Se+pe.rotation[2],"ZXY"]),ve=new re(te,0,he).applyEuler(Ce);return new re().addVectors(fe,ve)},_=le=>{let te,he,pe;for(const ge of M.getState().elements)ge.id===t&&ge.type===z.Window?te=ge:ge.id===n&&ge.type===z.Foundation?he=ge:ge.id===e&&ge.type===z.Roof&&(pe=ge);const fe=Ln.getState().contentRef;if(!te||!he||!pe||!fe||!fe.current)return;const $=he.id,de=fe.current.children.find(ge=>ge.name===`${dqe} ${$}`);if(!de)return;const Se=de.children.find(ge=>ge.name===uqe);if(!Se)return;const Ce=Se.children.find(ge=>ge.name.includes("Roof")&&ge.name.includes(e));if(!Ce)return;const ve=Ce.children[0];if(!ve)return;for(const ge of M.getState().elements)if(ge.parentId===e&&ge.id!==t){const Ae=V$t(ge,he);Ae&&T.current.push(Ae)}const{centroid:Ie,roofSegments:ze}=ve.userData,oe=new re(te.cx,te.cy,te.cz+he.lz).clone().sub(Ie);p.current=le,g.current=he,A.current=pe,C.current=In.getSegmentIdx(ze,oe),b.current=Ie,w.current=ze,v.current=_$t(w.current,b.current,pe.roofType),y.current=[te.cx,te.cy,te.cz],x.current=[te.lx,te.ly,te.lz],S.current=[...te.rotation],R.current=te.archHeight,H.current=te.polygonTop??null},Y=()=>{if(!y.current||!S.current)return;const le=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!le)return;const te={name:"Move skylight",timestamp:Date.now(),id:le.id,oldPosition:[...y.current],newPosition:[le.cx,le.cy,le.cz],oldRotation:[...S.current],newRotation:[...le.rotation],undo(){aSe(te.id,te.oldPosition,te.oldRotation)},redo(){aSe(te.id,te.newPosition,te.newRotation)}};u(te)},O=()=>{if(!x.current||!y.current)return;const le=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!le)return;const te={name:"Resize skylight",timestamp:Date.now(),id:le.id,oldPosition:[...y.current],newPosition:[le.cx,le.cy,le.cz],oldDimension:[...x.current],newDimension:[le.lx,le.ly,le.lz],oldArchHeight:R.current,newArchHeight:le.archHeight,undo(){lSe(this.id,this.oldPosition,this.oldDimension,this.oldArchHeight)},redo(){lSe(this.id,this.newPosition,this.newDimension,this.newArchHeight)}};u(te)},J=()=>{if(!H.current)return;const le=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!le)return;const te={name:"Resize skylight top vertex",timestamp:Date.now(),id:le.id,oldPolygonTop:[...H.current],newPolygonTop:le.polygonTop??jp,undo(){sSe(this.id,this.oldPolygonTop)},redo(){sSe(this.id,this.newPolygonTop)}};u(te)},Z=le=>le.roofType===Vo.Gable?!1:Math.abs(le.rise)<.001,ie=le=>{if(A.current&&Z(A.current))return v.current;if(le!=null){const he=Sn.getState().getRoofSegmentVertices(e);if(!he)return;const pe=le===-1?he.length-1:le;return he[pe]}},ee=(le,te,he,pe,fe)=>{const[$,de]=[te/2,he/2],Se=new Qt().fromArray([pe[0],pe[1],pe[2],"ZXY"]),Ce=[];for(let ve=-1;ve<=1;ve+=2)for(let Ie=-1;Ie<=1;Ie+=2){const ze=new re(ve*$,ve*Ie*de).applyEuler(Se).add(le);Ce.push(ze)}if(fe){const[ve,Ie]=fe,ze=new re(ve*$*2,Ie+de).applyEuler(Se).add(le);Ce.push(ze)}for(const ve of T.current){for(const Ie of Ce)if(xe.isPointInside(Ie.x,Ie.y,ve))return!1;for(const Ie of ve)if(xe.isPointInside(Ie.x,Ie.y,Ce))return!1}return!0},q=(le,te,he,pe,fe,$)=>{if($){const[de,Se]=$;return j$t(te,he,pe,de,Se,fe,le)}else return fqe(te,he,pe,fe,le)},ae=le=>{if(!f||d)return;const te=le.object.name;switch(te){case yo.Mid:break;case gt.LowerLeft:{P.current=B(le,o,i);break}case gt.LowerRight:{P.current=B(le,-o,i);break}case gt.UpperLeft:{P.current=B(le,o,-i);break}case gt.UpperRight:{P.current=B(le,-o,-i);break}case gt.Arch:{P.current=B(le,0,-i);break}case gt.Upper:break;default:return}_(te),k(!0),Ln.getState().setEnableOrbitController(!1)},ne=le=>{if(p.current===null||!g.current||!A.current||!w.current||!b.current||!v.current)return;const te=g.current;if(p.current===yo.Mid){const he=A.current,pe=Y$t(le,t,e),fe=new re;if(Z(he)){const $=zz(le);if(!$)return;fe.copy($);const de=V8(fe,te);F(Se=>{if(!v.current)return;const Ce=Se.elements.find(me=>me.id===t&&me.type===z.Window);if(!Ce)return;const{lx:ve,lz:Ie,rotation:ze}=Ce,ye=v.current,oe=Tre(Ce),ge=q(ye,de,ve,Ie,ze,oe),Ae=ee(de,ve,Ie,ze,oe);ge&&Ae&&(Ce.cx=de.x,Ce.cy=de.y,Ce.cz=de.z)})}else{if(pe&&pe.segmentIdx!==C.current){const Ie=pe.pointer;fe.copy(Ie)}else{const Ie=zz(le);if(!Ie)return;fe.copy(Ie)}const $=V8(fe,te),de=$.clone().sub(b.current),{rotation:Se,segmentVertices:Ce,segmentIdx:ve}=In.computeState(w.current,de);Ce?$.setZ(In.getRooftopElementZ(Ce,de,b.current.z+he.thickness)):$.setZ(b.current.z+he.thickness),F(Ie=>{const ze=Sn.getState().getRoofSegmentVertices(e);if(!ze)return;const ye=ve===-1?ze.length-1:ve,oe=ze[ye];if(!oe)return;const ge=Ie.elements.find(De=>De.id===t&&De.type===z.Window);if(!ge)return;const{lx:Ae,lz:me}=ge,Pe=Tre(ge),Me=q(oe,$,Ae,me,Se,Pe),Te=ee($,Ae,me,Se,Pe);Me&&Te&&(ge.cx=$.x,ge.cy=$.y,ge.cz=$.z,ge.rotation=[...Se],pe&&pe.segmentIdx!==C.current&&(C.current=pe.segmentIdx))})}}else if(rSe(p.current)){const he=ie(C.current),pe=zz(le),fe=P.current;if(!pe||!fe||!he)return;const $=V8(pe,te),de=V8(fe,te),{newLx:Se,newLz:Ce,newCenter:ve}=O$t(de,$,a[2]);M.getState().set(Ie=>{const ze=Ie.elements.find(Ae=>Ae.id===t&&Ae.type===z.Window);if(!ze)return;const ye=Tre(ze),oe=q(he,ve,Se,Ce,a,ye),ge=ee(ve,Se,Ce,a,ye);oe&&ge&&(ze.cx=ve.x,ze.cy=ve.y,ze.cz=ve.z,ze.lx=Se,ze.lz=Math.max(.001,Ce))})}else if(p.current===gt.Upper){const he=ie(C.current),pe=zz(le);if(!pe||!he)return;const fe=V8(pe,te);F($=>{const de=$.elements.find(Ee=>Ee.id===t);if(!de)return;const[Se,Ce]=[de.lx/2,de.lz/2],ve=new re(de.cx,de.cy,de.cz),Ie=new Qt().fromArray([de.rotation[0],de.rotation[1],de.rotation[2],"ZXY"]),ze=new re(-Se,-Ce,0).applyEuler(Ie).add(ve),ye=new re(Se,-Ce,0).applyEuler(Ie).add(ve),oe=new re().subVectors(fe,ze),ge=new re().subVectors(ye,ze).normalize(),Ae=oe.clone().projectOnVector(ge).applyEuler(new Qt(0,0,-de.rotation[2])),me=xe.clamp((Ae.x-Se)/de.lx,-.5,.5),Pe=In.getDistance(ze,ye,fe),Me=Math.hypot(Pe,fe.z-ze.z),Te=Math.max(0,Me-de.lz),De=[me,Te],Ue=new re(de.cx,de.cy,de.cz),{lx:Oe,lz:Le}=de,$e=q(he,Ue,Oe,Le,a,De),We=ee(Ue,Oe,Le,a,De);$e&&We&&(de.polygonTop=[...De])})}else if(p.current===gt.Arch){const he=zz(le),pe=P.current,fe=ie(C.current);if(!he||!pe||!fe)return;const $=V8(he,te),de=V8(pe,te);F(Se=>{const Ce=Se.elements.find(Te=>Te.id===t&&Te.type===z.Window);if(!Ce)return;const[ve,Ie]=[Ce.lx/2,Ce.lz/2],ze=new re(Ce.cx,Ce.cy,Ce.cz),ye=new Qt().fromArray([Ce.rotation[0],Ce.rotation[1],Ce.rotation[2],"ZXY"]),oe=new re(-ve,-Ie,0).applyEuler(ye).add(ze),ge=new re(ve,-Ie,0).applyEuler(ye).add(ze),Ae=In.getDistance(oe,ge,$);let me=Math.hypot(Ae,$.z-oe.z);const Pe=Math.min(Ce.archHeight,Ce.lz,Ce.lx/2),Me=Ce.lz-Pe;if(me>Me&&me{p.current===yo.Mid?Y():rSe(p.current)?O():p.current===gt.Upper?J():p.current===gt.Arch&&O(),y.current=null,x.current=null,S.current=null,R.current=null,H.current=null,p.current=null,g.current=null,A.current=null,w.current=null,b.current=null,C.current=null,P.current=null,v.current=null,T.current=[],k(!1),Ln.getState().setEnableOrbitController(!0)};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Handle Wrapper",onPointerDown:ae,children:[!d&&h.jsxs(h.Fragment,{children:[l===Sr.Polygonal&&h.jsx(mv,{x:U,z:N+E,handleType:gt.Upper,scale:[.5,1,1.5]}),h.jsx(mv,{x:-W,z:N,handleType:gt.UpperLeft}),h.jsx(mv,{x:W,z:N,handleType:gt.UpperRight}),h.jsx(mv,{x:-W,z:-N,handleType:gt.LowerLeft}),h.jsx(mv,{x:W,z:-N,handleType:gt.LowerRight}),l===Sr.Arched&&h.jsx(hqe,{z:N})]}),h.jsx(Z8t,{handleType:yo.Mid})]}),f&&D&&h.jsx(sa,{name:mye,args:[1e3,1e3],rotation:[Vt,0,0],onPointerMove:ne,onPointerUp:se,visible:!1,children:h.jsx("meshBasicMaterial",{color:"red",side:ji,transparent:!0,opacity:.5})})]})},X$t=be.memo(G$t),J$t=new sf({color:"white",side:ji}),K$t=be.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r]=t,{width:a,horizontalMullionSpacing:l,verticalMullionSpacing:s,color:c}=e,u=3,d=1,f=a/2,p=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),g=m.useMemo(()=>{const w=[],b=Math.round(o/s)-1;if(b<=0||a===0)return w;const C=o/(b+1);let P=C/2;b%2!==0&&(w.push(0),P=C);for(let v=0;v{const w=[],b=Math.round(r/l)-1;if(b<=0||a===0)return w;const C=r/(b+1);let P=C/2;b%2!==0&&(w.push(0),P=C);for(let v=0;vh.jsx(wa,{position:[w,25e-5,0],args:[f,f,r,u,d],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:p},b)),e.horizontalMullion&&A.map((w,b)=>h.jsx(wa,{position:[0,5e-4,w],args:[f,f,o,u,d],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:p},b))]})}),q$t=be.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r]=t,{color:a,width:l,sillWidth:s}=e,c=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]),u=l/2,d=u/2,f=o+l*3,p=l;return h.jsxs("group",{name:"Window Frame Group",position:[0,-d/2,0],children:[h.jsx(Ei,{position:[0,0,r/2],args:[o+2*l,d,l],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[-o/2-u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[o/2+u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[0,0,-r/2-(s===0?0:p/2)],args:s===0?[o+2*l,d,l]:[f,s??l,p],castShadow:n,receiveShadow:n,children:c})]})}),$$t=be.memo(({cy:t,dimension:e,wireframeData:n})=>{const[o,i,r]=e,{lineWidth:a,lineColor:l,selected:s,locked:c,opacity:u}=n,d=o/2,f=r/2,p=3,g=1,A=m.useMemo(()=>new sf({color:l}),[l]),w=m.useMemo(()=>new sf({color:l0}),[]),b=(C,P)=>{const v=C/2;return h.jsxs(h.Fragment,{children:[h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,f-v],material:P}),h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,-f+v],material:P}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[d-v,0,0],material:P}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[-d+v,0,0],material:P})]})};return h.jsxs("group",{name:"Window Wireframe Group",children:[u>0&&h.jsx("group",{position:[0,t,0],children:b(a/20,A)}),c&&s&&b(a/5,w)]})}),Q$t=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:A})=>{const w=M.getState().world,b=M(X2),C=M(q9),P=M($9),v=M(ss),T=Sn(vb),y=m.useRef(0),S=m.useRef(),[x,R,H]=e,[D,k,W]=n,N=m.useMemo(()=>{if(!d||g||A&&A.notBuilding)return;const F=T.get(t);if(!F)return;const B=F.reduce((q,ae)=>q+ae,0);if(f===0)return;const _=K9*(w.solarRadiationHeatmapGridCellSize??.5),Y=Math.max(2,Math.round(x/_)),O=Math.max(2,Math.round(H/_)),J=x/Y,Z=H/O,ie=B/f*(b??Gm);y.current=ie<0?1:0,S.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(ie)*Vt);const ee=[];if(ie<0)for(let q=0;qc*x,[x,c]),E=m.useMemo(()=>(L+i.width+x)/2*1.025,[x,L,i.width]),U=(F,B,_)=>h.jsx(sa,{name:"Window Seal Plane",args:F,position:B,rotation:_,material:J$t,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Rectangle Window Plane Group",position:[0,k,0],children:[h.jsx(sa,{name:"Window Glass Plane",args:[x,H],rotation:[Vt,0,0],children:u}),(o.horizontalMullion||o.verticalMullion)&&h.jsx(K$t,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(q$t,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(Aye,{cx:E,lx:L,lz:H,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),h.jsx($$t,{cy:k,dimension:e,wireframeData:r}),U([R,H],[-x/2+.001,R/2,0],[Vt,Vt,0]),U([R,H],[x/2-1e-4,R/2,0],[Vt,-Vt,0]),U([x,R],[0,R/2,H/2-.001],[Math.PI,0,0]),U([x,R],[0,R/2,-H/2+.001]),N&&N.map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:F,name:"Heat Flux "+B,lineWidth:P??Xm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:F[y.current].clone().add(new re(0,y.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:S.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},B))]})},Z$t=be.memo(Q$t),yye=({element:t})=>{const e=M(Sc),n=M(yh),o=M(ty),i=t.lx/2,r=t.lz/2,a=.05,l=1,s=.5,c=t.lineColor??"white",u="darkorchid",d=Math.max(.25,(i+r)/32),f=.25,p=30,g=-.1,A=m.useMemo(()=>({lng:e}),[e]),w=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[-i-f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f,0,-r],[-i-f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,-r+3*a],[-i-f,0,-r],[-i-f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,r-3*a],[-i-f,0,r],[-i-f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i-f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i-f*2,0,r]],color:c,linewidth:s})]}),[i,r,A]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[i+f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f,0,-r],[i+f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,-r+3*a],[i+f,0,-r],[i+f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,r-3*a],[i+f,0,r],[i+f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i+f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i+f*2,0,r]],color:c,linewidth:s})]}),[i,r,A]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,-r-f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r-f],[i,0,-r-f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,-r-f-a],[-i,0,-r-f],[-i+3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,-r-f-a],[i,0,-r-f],[i-3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i,0,-r-f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i,0,-r-f*2]],color:c,linewidth:s})]}),[i,r,A]),P=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,r+f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r+f],[i,0,r+f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,r+f-a],[-i,0,r+f],[-i+3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,r+f-a],[i,0,r+f],[i-3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i,0,r+f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i,0,r+f*2]],color:c,linewidth:s})]}),[i,r,A]);if(n)switch(n){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[w,C]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[b,C]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[w,P]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[b,P]})}if(o)switch(o){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[w,C]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[b,C]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[w,P]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[b,P]})}return h.jsx(h.Fragment,{})};be.memo(yye);const Aye=({cx:t,cz:e=0,lx:n,lz:o,color:i,showLeft:r,showRight:a,spacing:l})=>{const s=M(ss),c=ht(cs),u=ht(i3);return c||u?null:h.jsxs("group",{name:"Shutter Group",children:[a&&h.jsx(Ei,{args:[n,.1,o],position:[t+l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})}),r&&h.jsx(Ei,{args:[n,.1,o],position:[-t-l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})})]})},Iue="Window Group",jp=[0,.5],eQt=t=>{const{id:e,parentId:n,foundationId:o,cx:i,cy:r,cz:a,lx:l,ly:s,lz:c,rotation:u,locked:d,lineWidth:f=.2,lineColor:p="black",horizontalMullion:g=!0,verticalMullion:A=!0,mullionWidth:w=.06,horizontalMullionSpacing:b=.5,verticalMullionSpacing:C=.5,tint:P="#73D8FF",opacity:v=.5,leftShutter:T=!1,rightShutter:y=!1,shutterColor:S="gray",shutterWidth:x=.5,mullionColor:R="white",frame:H=!1,color:D="white",frameWidth:k=.1,sillWidth:W=.1,windowType:N=Sr.Default,archHeight:L,parentType:E=z.Wall,polygonTop:U=jp}=t,F=`${Iue} ${e}`,B=M(dn),_=M(cA),Y=ht(Ah),O=M(hBe),J=Hs(e),Z=(ve=!1)=>{B(Ie=>{if(Ie.contextMenuObjectType=null,Ie.groupActionMode)Ie.multiSelectionsMode||Ie.selectedElementIdSet.clear(),t.foundationId&&(Ie.selectedElementIdSet.has(n)?Ie.selectedElementIdSet.delete(n):Ie.selectedElementIdSet.add(t.foundationId));else for(const ze of Ie.elements)if(ze.id===e)if(ze.selected=!0,Ie.selectedElement=ze,ve)if(Ie.selectedElementIdSet.has(e))for(const ye of Ie.elements)Ie.selectedElementIdSet.has(ye.id)&&ye.type!==Ie.selectedElement.type&&Ie.selectedElementIdSet.delete(ye.id);else if(Ie.multiSelectionsMode){Ie.selectedElementIdSet.add(e);for(const ye of Ie.elements)Ie.selectedElementIdSet.has(ye.id)&&ye.type!==Ie.selectedElement.type&&Ie.selectedElementIdSet.delete(ye.id)}else Ie.selectedElementIdSet.clear(),Ie.selectedElementIdSet.add(e);else Ie.multiSelectionsMode?Ie.selectedElementIdSet.has(e)?Ie.selectedElementIdSet.delete(e):Ie.selectedElementIdSet.add(e):(Ie.selectedElementIdSet.clear(),Ie.selectedElementIdSet.add(e));else ze.selected=!1})},ie=ve=>ve.intersections.length>0&&ve.intersections[0].eventObject.name===F&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,ee=ve=>{if(ve.eventObject.name===F&&ve.intersections.length>0)switch(ve.object.name){case yo.Mid:case gt.UpperLeft:case gt.UpperRight:case gt.LowerLeft:case gt.LowerRight:case gt.Arch:case gt.Upper:return!0}return!1},q=(ve,Ie)=>{Ln.getState().setEnableOrbitController(!1),Y("showWallIntersectionPlaneId",n),B(ze=>{ze.resizeHandleType=ve,ze.resizeAnchor.copy(new re(i,0,a).add(Ie))})},ae=ve=>{if(!(ve.button===2||M.getState().addedWallId)&&(ie(ve)&&Z(),ee(ve))){const Ie=ve.intersections[0].eventObject.name;switch(Ie){case yo.Mid:{Ln.getState().setEnableOrbitController(!1),ht.getState().set(ze=>{ze.showWallIntersectionPlaneId=n,ze.oldParentId=n,ze.oldFoundationId=o}),B(ze=>{ze.moveHandleType=Ie,ze.selectedElement=ze.elements.find(ye=>{var oe;return ye.id===((oe=ze.selectedElement)==null?void 0:oe.id)})});break}case gt.UpperLeft:{q(Ie,new re(l/2,0,-c/2));break}case gt.UpperRight:{q(Ie,new re(-l/2,0,-c/2));break}case gt.LowerLeft:{q(Ie,new re(l/2,0,c/2));break}case gt.LowerRight:{q(Ie,new re(-l/2,0,c/2));break}case gt.Arch:{q(Ie,new re(0,0,0));break}case gt.Upper:{q(Ie,new re(0,0,c/2));break}}}},ne=ve=>{M.getState().addedWallId||ie(ve)&&(Z(!0),B(Ie=>{Ie.contextMenuObjectType=z.Window}))},se=m.useMemo(()=>{if(E===z.Roof){const[ve,Ie,ze]=u;return new Qt().fromArray([ve-Vt,Ie,ze,"ZXY"])}else return new Qt},[E,u]),le=m.useMemo(()=>h.jsx("meshPhongMaterial",{specular:new Xo("white"),shininess:O??ZV,color:P,side:ji,opacity:v,transparent:!0}),[O,P,v]),te=m.useMemo(()=>L!==void 0?[l,s,c,L]:[l,s,c],[l,s,c,L]),he=m.useMemo(()=>E===z.Roof?[i,.05,a]:[i,r,a],[i,r,a,E]),pe=m.useMemo(()=>({horizontalMullion:g,verticalMullion:A,width:w,horizontalMullionSpacing:b,verticalMullionSpacing:C,color:R}),[g,A,w,b,C,R]),fe=m.useMemo(()=>({showFrame:H,width:k,color:D,sillWidth:W}),[H,k,D,W]),$=m.useMemo(()=>({lineColor:p,lineWidth:f,selected:J,locked:d,opacity:v}),[p,f,J,d,v]),de=ht(i3),Se=()=>{switch(N){case Sr.Default:return h.jsx(Z$t,{id:t.id,dimension:te,position:he,mullionData:pe,frameData:fe,wireframeData:$,leftShutter:T,rightShutter:y,shutterColor:S,shutterWidth:x,glassMaterial:le,showHeatFluxes:de,area:xe.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:_(t)});case Sr.Arched:return h.jsx(hvt,{id:t.id,dimension:te,position:he,mullionData:pe,frameData:fe,wireframeData:$,leftShutter:T,rightShutter:y,shutterColor:S,shutterWidth:x,glassMaterial:le,showHeatFluxes:de,area:xe.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:_(t)});case Sr.Polygonal:return h.jsx(vvt,{id:t.id,dimension:te,polygonTop:U,position:he,glassMaterial:le,empty:!!t.empty,interior:!!t.interior,wireframeData:$,frameData:fe,leftShutter:T,rightShutter:y,shutterColor:S,shutterWidth:x,showHeatFluxes:de,area:xe.getWindowArea(t),foundation:_(t)})}},Ce=E===z.Roof?r:0;return h.jsxs("group",{name:F,position:[i,Ce,a],rotation:se,onPointerDown:ae,onContextMenu:ne,onPointerMove:()=>{},children:[Se(),J&&h.jsx(yye,{element:t}),J&&!d&&h.jsx(X$t,{id:e,parentId:n,foundationId:o,lx:l,lz:c,polygonTop:U,rotation:u,windowType:N,parentType:E})]},e)},pqe=be.memo(eQt),tQt=be.memo(({lineColor:t="black",lineWidth:e=.2,hx:n,hz:o,fill:i,isTopPartial:r,leftUnfilledHeight:a,rightUnfilledHeight:l,showParapet:s=!1,leftHeight:c=2*o,rightHeight:u=2*o,center:d,centerLeft:f,centerRight:p})=>{const g=M(T=>T.viewState.orthographic),A=[-n,-o+.001+(i===Hl.Partial?a:0),.001],w=[n,-o+.001+(i===Hl.Partial?l:0),.001],b=[-n,c-o-.001,.001],C=[n,u-o-.001,.001],P=n*2,v=[];if(g)e=2,v.push(b,C);else if(s)v.push(b,A,w,C);else if(r)v.push(A,b,C,w,A);else{if(v.push(A,b),f){const T=[f[0]*P,f[1]-o,.001];v.push(T)}if(d){const T=[d[0]*P,d[1]-o,.001];v.push(T)}if(p){const T=[p[0]*P,p[1]-o,.001];v.push(T)}v.push(C,w)}return h.jsx(be.Fragment,{children:h.jsx(Fn,{rotation:[Vt,0,0],points:v,color:t,lineWidth:e})})});var Sd=(t=>(t.Default="Default",t.Arched="Arched",t))(Sd||{});const nQt=be.memo(({dimension:t,lineColor:e,lineWidth:n})=>{const[o,i,r]=t.map(u=>u/2),a=[-o,0,r+.05],l=[o,0,r+.05],s=[-o,0,-r],c=[o,0,-r];return h.jsx(Fn,{points:[s,a,l,c],lineWidth:n,color:e})}),oQt=be.memo(({dimension:t,color:e})=>{const[n,o,i]=t,r=M(ss),a=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:e}),[e]),l=.1,s=l/2;return h.jsxs("group",{name:"Door frame group",children:[h.jsx(Ei,{position:[0,0,i/2],args:[n,l,l],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[-n/2+s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[n/2-s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a})]})}),iQt=be.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,area:s,showHeatFluxes:c,foundation:u})=>{const d=M.getState().world,f=M(X2),p=M(q9),g=M($9),A=M(ss),w=Sn(vb),b=m.useRef(0),C=m.useRef(),[P,v,T]=e,y=m.useMemo(()=>{if(!c||u&&u.notBuilding)return;const x=w.get(t);if(!x)return;const R=x.reduce((U,F)=>U+F,0);if(s===0)return;const H=K9*(d.solarRadiationHeatmapGridCellSize??.5),D=Math.max(2,Math.round(P/H)),k=Math.max(2,Math.round(T/H)),W=P/D,N=T/k,L=R/s*(f??Gm);b.current=L<0?1:0,C.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(L)*Vt);const E=[];if(L<0)for(let U=0;U{const x=new Ml,[R,H]=[P/2,T/2],D=Math.max(R,H)*.2;return x.moveTo(-R,-H),x.lineTo(-R,H),x.lineTo(R,H),x.lineTo(R,-H),l||(x.lineTo(R-D,-H),x.lineTo(R-D,H-D),x.lineTo(-R+D,H-D),x.lineTo(-R+D,-H)),x.closePath(),x},[P,T,l]);return h.jsxs("group",{name:"Rectangle door group",position:[0,-.01,0],children:[h.jsx("mesh",{name:"Rectangular Door Mesh",rotation:[Vt,0,0],material:a,castShadow:A&&l,receiveShadow:A&&l,children:h.jsx("shapeGeometry",{args:[S]})}),l&&h.jsxs("mesh",{name:"Rectangular Door Simulation Mesh",rotation:[Vt,0,0],uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[S]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:A&&l,receiveShadow:A&&l,children:h.jsx("shapeGeometry",{args:[S]})}),h.jsx(nQt,{dimension:e,lineColor:i&&r?l0:"black",lineWidth:i&&r?2:.2}),h.jsx(oQt,{dimension:e,color:o}),y&&y.map((x,R)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:x,name:"Heat Flux "+R,lineWidth:g??Xm,color:p??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:x[b.current].clone().add(new re(0,b.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:p??g0})})]},R))]})}),rQt=be.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,showHeatFluxes:s,area:c,foundation:u})=>{const d=M.getState().world,f=M(ss),p=M(X2),g=M(q9),A=M($9),w=Sn(vb),b=m.useRef(0),C=m.useRef(),[P,v,T,y]=e,S=(D,k)=>{if(y>0){const W=.5*P,N=.5*T,L=Math.min(y,T,W),E=.5*(L+W*W/L);if(Math.abs(D)-N)return!0;const U=k-(T-E-N);return D*D+U*U{if(!s||u&&u.notBuilding)return;const D=w.get(t);if(!D)return;const k=D.reduce((_,Y)=>_+Y,0);if(c===0)return;const W=K9*(d.solarRadiationHeatmapGridCellSize??.5),N=Math.max(2,Math.round(P/W)),L=Math.max(2,Math.round(T/W)),E=P/N,U=T/L,F=k/c*(p??Gm);b.current=F<0?1:0,C.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(F)*Vt);const B=[];if(F<0)for(let _=0;_{const D=new Ml,k=P/2,W=T/2,N=Math.min(y,T,k);if(D.moveTo(k,-W),D.lineTo(k,W-N),N>.1){const L=N/2+P**2/(8*N),[E,U]=[0,W-L],F=Math.acos(Math.min(k/L,1)),B=Math.PI-F;D.absarc(E,U,L,F,B,!1)}else D.lineTo(-k,W);if(D.lineTo(-k,-W),!l){const L=P*.4,E=T*.4,U=Math.min(y*.8,T*.8,k*.8);if(D.lineTo(-L,-W),U>.1){D.lineTo(-L,W-U);const F=U/2+(P*.8)**2/(8*U),[B,_]=[0,E-F],Y=Math.acos(Math.min(L/F,1)),O=Math.PI-Y;D.absarc(B,_,F,O,Y,!0)}else D.lineTo(-L,E),D.lineTo(L,E);D.lineTo(L,-W)}return D.closePath(),D},[P,T,y,l]),H=m.useMemo(()=>({lineColor:"black",lineWidth:r&&i?.2:.1,opacity:1,selected:i,locked:r}),[i,r]);return h.jsxs("group",{name:"Arched door group",children:[h.jsx("mesh",{name:"Arched Door Mesh",rotation:[Vt,0,0],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),l&&h.jsxs("mesh",{name:"Arched Door Simulation Mesh",rotation:[Vt,0,0],material:a,uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[R]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane mesh inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),h.jsx(bce,{cy:0,dimension:e,wireframeData:H}),h.jsx(bce,{cy:v,dimension:e,wireframeData:H}),x&&x.map((D,k)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:D,name:"Heat Flux "+k,lineWidth:A??Xm,color:g??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:D[b.current].clone().add(new re(0,b.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:g??g0})})]},k))]})}),gqe="/aladdin/assets/door_edge-Dxz9LnYZ.png",mqe="/aladdin/assets/door_01-Bl1yYWKp.png",zue="/aladdin/assets/door_02-eLAy3erM.png",yqe="/aladdin/assets/door_03-CX-eEQtv.png",Aqe="/aladdin/assets/door_04-Bk3Xe_KE.png",wqe="/aladdin/assets/door_05-15BnnbHK.png",vqe="/aladdin/assets/door_06-B08sjms-.png",xqe="/aladdin/assets/door_07-BVyEwygm.png",bqe="/aladdin/assets/door_08-Cd1Vc7FQ.png",Sqe="/aladdin/assets/door_09-DQcA4jCn.png",Tqe="/aladdin/assets/door_10-DVLJsY3W.png",Pqe="/aladdin/assets/door_11-dOCMnkGG.png",Cqe="/aladdin/assets/door_12-7f2iD2B7.png",Rqe="/aladdin/assets/door_13-IsPl-xmI.png",Hqe="/aladdin/assets/door_14-CljRO-fX.png",Mqe="/aladdin/assets/door_15-CoUc1lfF.png",Iqe="/aladdin/assets/door_16-Dlbc5tIF.png",zqe="/aladdin/assets/door_17-CHob_UgA.png",aQt=(t,e,n,o)=>{const i=m.useMemo(()=>{let s;switch(t){case ri.Default:s=gqe;break;case ri.NoTexture:s=eg;break;case ri.Texture01:s=mqe;break;case ri.Texture02:s=zue;break;case ri.Texture03:s=yqe;break;case ri.Texture04:s=Aqe;break;case ri.Texture05:s=wqe;break;case ri.Texture06:s=vqe;break;case ri.Texture07:s=xqe;break;case ri.Texture08:s=bqe;break;case ri.Texture09:s=Sqe;break;case ri.Texture10:s=Tqe;break;case ri.Texture11:s=Pqe;break;case ri.Texture12:s=Cqe;break;case ri.Texture13:s=Rqe;break;case ri.Texture14:s=Hqe;break;case ri.Texture15:s=Mqe;break;case ri.Texture16:s=Iqe;break;case ri.Texture17:s=zqe;break;default:s=zue}return new nf().load(s,c=>{n!==void 0&&o!==void 0&&(c.offset.set(.5,.5),c.repeat.set(1/n,1/o)),a(c),l()})},[t,e,n,o]),[r,a]=m.useState(i),{invalidate:l}=Xi();return r},lQt=new sf({color:"white",side:ia}),sQt=be.memo(({dimension:t,doorType:e})=>{const[n,o,i]=t.map(a=>a/2);return n===0&&i===0?null:h.jsxs("group",{name:"Door handle wrapper",children:[h.jsx(mv,{x:-n,z:i,handleType:gt.UpperLeft}),h.jsx(mv,{x:n,z:i,handleType:gt.UpperRight}),e===Sd.Arched&&h.jsx(hqe,{z:i})]})}),cQt=be.memo(({dimension:t})=>{const e=M(ss),[n,o,i]=t,[r,a,l]=t.map(c=>c/2),s=(c,u,d)=>h.jsx(sa,{name:"Door seal plane",args:c,position:u,rotation:d,material:lQt,receiveShadow:e});return h.jsxs("group",{name:"Door seal planes group",children:[s([o,i],[-r,a,0],[Vt,Vt,0]),s([o,i],[r,a,0],[Vt,-Vt,0]),s([n,o],[0,a,l],[Math.PI,0,0])]})}),uQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,textureType:c,locked:u=!1,color:d="white",doorType:f=Sd.Default,archHeight:p=1,filled:g=!0,opacity:A=1,frameColor:w="white"}=t,b=`Door Group ${e}`,C=M(dn),P=ht(Ah),v=M(hBe),T=Hs(e),y=m.useRef(!1);m.useEffect(()=>{const Z=()=>{y.current=!1};return window.addEventListener("pointerup",Z),()=>window.removeEventListener("pointerup",Z)},[]);const S=(Z=!1)=>{C(ie=>{if(ie.groupActionMode)ie.multiSelectionsMode||ie.selectedElementIdSet.clear(),t.foundationId&&(ie.selectedElementIdSet.has(n)?ie.selectedElementIdSet.delete(n):ie.selectedElementIdSet.add(t.foundationId));else for(const ee of ie.elements)if(ee.id===e)if(ee.selected=!0,ie.selectedElement=ee,Z)if(ie.selectedElementIdSet.has(e))for(const q of ie.elements)ie.selectedElementIdSet.has(q.id)&&q.type!==ie.selectedElement.type&&ie.selectedElementIdSet.delete(q.id);else if(ie.multiSelectionsMode){ie.selectedElementIdSet.add(e);for(const q of ie.elements)ie.selectedElementIdSet.has(q.id)&&q.type!==ie.selectedElement.type&&ie.selectedElementIdSet.delete(q.id)}else ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(e);else ie.multiSelectionsMode?ie.selectedElementIdSet.has(e)?ie.selectedElementIdSet.delete(e):ie.selectedElementIdSet.add(e):(ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(e));else ee.selected=!1})},x=Z=>Z.intersections.length>0&&Z.intersections[0].eventObject.name===b&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,R=Z=>{if(Z.eventObject.name===b&&Z.intersections.length>0)switch(Z.object.name){case gt.UpperLeft:case gt.UpperRight:case gt.Arch:return!0}return!1},H=(Z,ie)=>{Ln.getState().setEnableOrbitController(!1),P("showWallIntersectionPlaneId",n),C(ee=>{ee.resizeHandleType=Z,ee.resizeAnchor.copy(new re(o,0,r).add(ie))})},D=Z=>{M.getState().addedWallId||x(Z)&&(S(!0),C(ie=>{ie.contextMenuObjectType=z.Door}))},k=Z=>{if(!(y.current||Z.button===2||M.getState().addedWallId)&&(y.current=!0,x(Z)&&S(),R(Z))){const ie=Z.intersections[0].eventObject.name;switch(ie){case gt.UpperLeft:{H(ie,new re(a/2,0,-s/2));break}case gt.UpperRight:{H(ie,new re(-a/2,0,-s/2));break}case gt.Arch:{H(ie,new re(0,0,0));break}}}},W=M(cA),N=ht(cs),L=ht(i3),E=M(wf),U=Sn(i1),[F,B]=m.useState(null),_=()=>{switch(f){case Sd.Default:return h.jsx(iQt,{id:e,dimension:O,color:d,frameColor:w,selected:T,locked:u,material:J,filled:g,showHeatFluxes:L,area:xe.getDoorArea(t),foundation:W(t)});case Sd.Arched:return h.jsx(rQt,{id:e,dimension:O,color:d,frameColor:w,selected:T,locked:u,material:J,filled:g,showHeatFluxes:L,area:xe.getDoorArea(t),foundation:W(t)})}};m.useEffect(()=>{if(t&&N){const Z=U(t.id);if(Z){const ie=xe.fetchHeatmapTexture(Z,E??5);ie&&(ie.wrapS=Ss,ie.wrapT=Ss,ie.offset.set(-a/2,-s/2),ie.center.set(a/2,s/2),ie.repeat.set(1/a,1/s),B(ie))}}},[N,E]);const Y=aQt(c,f,a,s),O=m.useMemo(()=>[a,l,s,p],[a,l,s,p]),J=m.useMemo(()=>N&&F&&t.filled?new G9({color:d,map:F,side:ia}):g?c===ri.Default||c===ri.NoTexture?A<1?new v1e({specular:"white",shininess:v??ZV,color:d,side:ia,opacity:A,transparent:!0}):new sf({map:Y,color:d,side:ia}):new sf({map:Y,side:ia}):new sf({opacity:d===cce?.5:0,color:d,transparent:!0,side:ji}),[N,F,d,c,Y,g,A]);return h.jsxs("group",{name:b,position:[o,0,r],onPointerDown:k,onContextMenu:D,children:[_(),T&&h.jsx(yye,{element:t}),T&&!u&&h.jsx(sQt,{dimension:O,doorType:f}),h.jsx(cQt,{dimension:O})]})},dQt=be.memo(uQt),fQt=be.memo(({drawSunbeam:t,absRotation:e,tiltAngle:n})=>{const o=new re(0,0,1),i=M(Ya),r=M(Xs),a=M(mh),l=Math.max(100,10*a),s=m.useMemo(()=>zr(new Date(i),r).applyEuler(new Qt(-Vt-n,0,-e)),[i,r,e,n]);return h.jsx(h.Fragment,{children:t&&s.z>0&&h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[o.clone().multiplyScalar(.75),[0,0,0],s.clone().multiplyScalar(l)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[s.clone().multiplyScalar(.5),o.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(s.angleTo(o)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:s.clone().multiplyScalar(.75).add(o.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:o.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),hQt=({sp:t})=>{M(Jn);const e=M(Vn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]);if(!t.foundationId||!t.parentId)return null;const i=e(t.parentId),r=e(t.foundationId);if(!i||!r)return null;const a=new re(r.cx,r.cy,r.cz),l=new re(i.cx,i.cy,i.cz),s=new re(t.cx*i.lx,0,t.cz*i.lz).applyEuler(new Qt(0,0,i.relativeAngle)).add(l).applyEuler(new Qt(0,0,r.rotation[2])).add(a),c=((t==null?void 0:t.label)??j.t("shared.SolarPanelElement",o))+(t!=null&&t.locked?` ( + ${j.t("shared.ElementLocked",o)} + )`:"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",o)+": ("+s.x.toFixed(1)+", "+s.y.toFixed(1)+", "+s.z.toFixed(1)+") "+j.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:c,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(t.ly/2*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})},pQt=({tiltAngle:t,handleSize:e,initPointerDown:n,handlePointerMove:o,handlePointerUp:i})=>{const{gl:r}=Xi(),[a,l]=m.useState(pr),[s,c]=m.useState(!1),[u,d]=m.useState(!1),f=m.useRef(null),p=m.useRef(null),g=m.useMemo(()=>new Array(7).fill(0),[]),A=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[e,1.1*e,18,2,0,Vt],rotation:[0,-Vt,0,"ZXY"],onPointerOver:()=>{r.domElement.style.cursor="grab",l(nr)},onPointerOut:()=>{r.domElement.style.cursor="default",l(pr)},onPointerDown:w=>{n(),w.stopPropagation(),c(!0),d(!0),A(b=>{b.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:a})}),s&&h.jsxs(h.Fragment,{children:[u&&h.jsx(sa,{name:"Solar panel tilt handle intersection plane",ref:p,args:[1e3,1e3],rotation:[0,-Vt,0,"ZXY"],visible:!1,onPointerMove:w=>{o(w,p)},onPointerUp:()=>{i(),d(!1),c(!1)},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(Y6,{ref:f,name:"Solar panel tilt handle",args:[e,2*e,18,2,-0,Vt],rotation:[0,-Vt,0,"ZXY"],children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,e],[0,0,1.75*e]],rotation:new Qt(t,0,0,"ZXY"),lineWidth:1}),g.map((w,b)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*b-Vt,0,0,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*e],[0,0,2*e]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${90-b*15}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.15*e,position:[0,0,1.6*e]})]},b)),h.jsx("group",{rotation:new Qt(t,0,0,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(-t/Math.PI*180)}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.2*e,position:[0,0,.75*e]})})]})]})},gQt=be.memo(({tiltAngle:t,spCy:e,spLy:n,lx:o,nx:i})=>{const r=M(ss),a=m.useMemo(()=>{const s=n*Math.cos(t)/2,c=n*.75-s,u=-e*1.5,d=c-s/2,f=Math.hypot(u,d),p=Math.atan2(d,u);return h.jsx("group",{position:[0,-c,e],rotation:[-p,0,0],children:h.jsx(Ei,{args:[.05,.05,f],position:[0,0,f/2],castShadow:r,receiveShadow:r,children:h.jsx("meshStandardMaterial",{color:"#BFBFBF"})})})},[t,e,n,r]),l=m.useMemo(()=>{const s=[];let c=i%2===0?o/2:0;for(;ch.jsx("group",{position:[s,0,0],children:a},c))})}),tO="Handle Group Move & Resize",mQt=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,color:s="white",locked:c=!1,parentId:u,foundationId:d,orientation:f=ui.portrait,showLabel:p,drawSunBeam:g,absRotation:A,tiltAngle:w,relativeAzimuth:b})=>{w=Math.min(0,w);const C=Hs(t),P=M(dn),v=ht(cs),T=M(ss),y=M(gq),S=M(Vn),x=M(Vc),R=M(yh),H=M(hu)??!1,D=M(C7),{camera:k,gl:W}=Xi(),[N,L]=m.useState(!1),[E,U]=m.useState(null),[F,B]=m.useState(1),_=m.useRef(null),Y=m.useRef(),O=m.useRef(!1),J=m.useRef(null),Z=m.useMemo(()=>new Gs,[]),ie=m.useMemo(()=>new Gt,[]),ee=D[e];ee&&(l=Math.max(ee.thickness,.02));const q=r/2,ae=a/2,ne=l/2,se=new re(-q,-ae,ne),le=new re(-q,ae,ne),te=new re(q,-ae,ne),he=new re(q,ae,ne),pe=S(t);m.useEffect(()=>{if(ee){let Oe,Le;f===ui.portrait?(Oe=Math.max(1,Math.round(r/ee.width)),Le=Math.max(1,Math.round(a/ee.length))):(Oe=Math.max(1,Math.round(r/ee.length)),Le=Math.max(1,Math.round(a/ee.width))),B(Oe),Y.current=[];const $e=r/Oe,We=a/Le;for(let Ee=0;Ee<=Oe;Ee++)Y.current.push({points:[new re(-q+Ee*$e,-ae,l),new re(-q+Ee*$e,ae,l)]});for(let Ee=0;Ee<=Le;Ee++)Y.current.push({points:[new re(-q,-ae+Ee*We,l),new re(q,-ae+Ee*We,l)]})}},[f,e,r,a,l]);const fe=m.useMemo(()=>new Qt(Vt,0,0),[]),$=m.useMemo(()=>new Qt(w,0,0,"ZXY"),[w]),de=Oe=>{if(Oe.intersections.length>0&&Oe.eventObject.name.includes(tO)){const $e=Oe.object.name;U($e),$e===yo.Top?W.domElement.style.cursor="move":$e===wi.Lower||$e===wi.Upper||$e===wi.Tilt?W.domElement.style.cursor="grab":W.domElement.style.cursor="pointer"}},Se=()=>{U(null),W.domElement.style.cursor="default"},Ce=Math.max(1,(r+a)/16),ve=I9*Ce*1.5,Ie=Af*Ce*2,ze=Ce*2/3;o=a*Math.sin(w)/2;const ye=Oe=>{ie.x=Oe.offsetX/W.domElement.clientWidth*2-1,ie.y=-(Oe.offsetY/W.domElement.clientHeight)*2+1,Z.setFromCamera(ie,k)},oe=()=>{J.current=w,O.current=!0,Ln.getState().setEnableOrbitController(!1)},ge=(Oe,Le)=>{var $e;if(O.current&&(ye(Oe),Le.current&&M.getState().rotateHandleType===wi.Tilt)){const We=Z.intersectObjects([Le.current]);if(We.length>0){const Ee=We[0].point,Fe=($e=Le.current.parent)==null?void 0:$e.localToWorld(new re);if(Fe){const Ge=new re().subVectors(Ee,Fe);let rt=Ge.angleTo(Po);const Ve=A;rt=(Ve%Math.PI===0?Math.sign(-Ge.y)*Math.sign(Math.cos(Ve)):Math.sign(Ge.x)*Math.sign(Math.sin(Ve)))*rt-Vt,rt=xe.clamp(rt,-Vt,0),M.getState().updateSolarPanelTiltAngleById(t,rt)}}}},Ae=()=>{const Oe=S(t);if(Oe&&J.current!==null&&Math.abs(Oe.tiltAngle-J.current)>Dt){const Le={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:J.current,newValue:Oe.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.newValue)}};M.getState().addUndoable(Le)}Ln.getState().setEnableOrbitController(!0),O.current=!1},me=(Oe,Le)=>{Ln.getState().setEnableOrbitController(!1),ht.getState().set($e=>{$e.showWallIntersectionPlaneId=u,$e.oldParentId=u,$e.oldFoundationId=d}),P($e=>{$e.resizeHandleType=Oe,$e.resizeAnchor.copy(new re(n,0,i).add(Le))})},Pe=Oe=>{if(Oe.intersections.length>0&&Oe.intersections[0].eventObject.name===tO){const Le=Oe.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),ht.getState().set($e=>{$e.showWallIntersectionPlaneId=u,$e.oldParentId=u,$e.oldFoundationId=d}),P($e=>{$e.moveHandleType=Le,$e.selectedElement=$e.elements.find(We=>{var Ee;return We.id===((Ee=$e.selectedElement)==null?void 0:Ee.id)})});break}case gt.Left:{me(Le,new re(r/2,0,0));break}case gt.Right:{me(Le,new re(-r/2,0,0));break}case gt.Lower:{me(Le,new re(0,0,a/2));break}case gt.Upper:{me(Le,new re(0,0,-a/2));break}}}},Me=rQ(r,a,ee,f,pe==null?void 0:pe.frameColor,pe==null?void 0:pe.backsheetColor),Te=iQ(t),De=()=>v&&Te?h.jsx("meshBasicMaterial",{attach:"material-4",map:Te}):Me?H||y===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Me,color:s}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((ee==null?void 0:ee.color)==="Blue"?Kw:qw),shininess:y??Jm,side:ia,map:Me,color:s}):h.jsx("meshStandardMaterial",{attach:"material-4",color:s}),Ue=()=>(ee==null?void 0:ee.bifacialityFactor)===0||w===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:s}):Me?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((ee==null?void 0:ee.color)==="Blue"?Kw:qw),shininess:y??Jm,side:ia,map:Me,color:s}):null;return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:fe,position:[n,o,i+ne],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:$,children:[h.jsxs(Ei,{receiveShadow:T,castShadow:T,uuid:t,ref:_,args:[r,a,l],name:"Solar Panel",onPointerDown:Oe=>{Oe.button===2||M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||x(t,Oe,zo.Select)},onContextMenu:Oe=>{x(t,Oe,zo.ContextMenu),P(Le=>{Oe.intersections.length>0&&Oe.intersections[0].object===_.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Oe=>{Oe.intersections.length>0&&Oe.intersections[0].object===_.current&&(W.domElement.style.cursor="move",L(!0))},onPointerOut:Oe=>{W.domElement.style.cursor="default",L(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s}),De(),Ue()]}),v&&Te&&Y.current&&Y.current.map((Oe,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Oe.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,args:[r,a],position:[0,0,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),C&&c&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-ae,0],[-q,ae,0],[q,ae,0],[q,-ae,0],[-q,-ae,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),C&&!c&&h.jsx(h.Fragment,{children:h.jsxs("group",{name:tO,onPointerDown:Pe,onPointerOver:de,onPointerOut:Se,children:[h.jsx(ts,{position:new re(0,0,0),args:[Ie,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[(se.x+te.x)/2,se.y,se.z],args:[ve,ve,l*1.2],name:gt.Lower,children:h.jsx("meshBasicMaterial",{color:E===gt.Lower||R===gt.Lower?nr:pr})}),h.jsx(Ei,{position:[(le.x+he.x)/2,le.y,le.z],args:[ve,ve,l*1.2],name:gt.Upper,children:h.jsx("meshBasicMaterial",{color:E===gt.Upper||R===gt.Upper?nr:pr})}),h.jsx(Ei,{position:[se.x,(se.y+le.y)/2,se.z],args:[ve,ve,l*1.2],name:gt.Left,children:h.jsx("meshBasicMaterial",{color:E===gt.Left||R===gt.Left?nr:pr})}),h.jsx(Ei,{position:[te.x,(te.y+he.y)/2,te.z],args:[ve,ve,l*1.2],name:gt.Right,children:h.jsx("meshBasicMaterial",{color:E===gt.Right||R===gt.Right?nr:pr})})]})}),h.jsx(fQt,{drawSunbeam:g,absRotation:A,tiltAngle:w}),(N||p)&&!C&&h.jsx(hQt,{sp:pe})]}),w!==0&&ee&&h.jsx(gQt,{tiltAngle:-w,spCy:o-ne,spLy:a,lx:f===ui.portrait?ee.width:ee.length,nx:F})]}),C&&!c&&h.jsx("group",{name:tO,position:[n,0,i+ne],rotation:fe,children:h.jsx(pQt,{tiltAngle:w,handleSize:ze,initPointerDown:oe,handlePointerMove:ge,handlePointerUp:Ae})})]})},yQt=be.memo(mQt),AQt="/aladdin/assets/polygon_08-BBFzZjDj.png",wQt="/aladdin/assets/polygon_09-B_8KpAt3.png",vQt="/aladdin/assets/polygon_10-CKqrpQre.png",Dqe=({id:t,lz:e=.1,filled:n=!1,rotation:o=[0,0,0],normal:i=[0,0,1],color:r="yellow",label:a,text:l,fontSize:s=1,fontColor:c="black",fontOutlineWidth:u=0,fontOutlineColor:d="white",fontStrokeWidth:f=0,fontStrokeColor:p="black",lineStyle:g=Oh.Solid,lineColor:A="black",lineWidth:w=1,locked:b=!1,showLabel:C=!1,parentId:P,foundationId:v,vertices:T,opacity:y=1,noOutline:S=!1,shininess:x=0,selectedIndex:R=-1,textureType:H=qi.NoTexture})=>{const D=M(dn),k=M(Vc),W=M(Rq),N=M(ss),L=Hs(t),{gl:{domElement:E}}=Xi(),[U,F]=m.useState(!1),[B,_]=m.useState(0),[Y,O]=m.useState(0),[J,Z]=m.useState(null),ie=m.useRef(null),ee=m.useRef(null),q=M(Te=>{for(const De of Te.elements)if(De.id===P)return De}),ae=new re,ne=new Qt;if((q==null?void 0:q.type)===z.Cuboid){const{pos:Te,rot:De}=xe.getWorldDataById(q.id);ae.copy(Te),ne.set(0,0,De)}const se=q?Math.max(1,Math.max(q.lx,q.ly)/24):1,le=I9*se,te=Af*se,he=Kt(),pe=(Te,De)=>{D(Ue=>{for(const Oe of Ue.elements)if(Oe.type===z.Polygon&&Oe.id===Te){Oe.selectedIndex=De;break}})},fe=m.useMemo(()=>{const Te=new Array;if(q){switch(q.type){case z.Foundation:{for(const Ue of T)Te.push({x:Ue.x*q.lx,y:Ue.y*q.ly});break}case z.Wall:{for(const Ue of T)Te.push({x:Ue.x*q.lx,y:Ue.y*q.lz});break}case z.Cuboid:{const Ue=new re().fromArray(i);let Oe,Le;xe.isUnitVectorX(Ue)?(Oe=q.lz,Le=q.ly):xe.isUnitVectorY(Ue)?(Oe=q.lx,Le=q.lz):(Oe=q.lx,Le=q.ly);for(const $e of T)Te.push({x:$e.x*Oe,y:$e.y*Le});break}}const De=xe.calculatePolygonCentroid(Te);_(De.x),O(De.y)}return Te},[T,q,i]),de=(()=>{if((q==null?void 0:q.type)===z.Cuboid){const Te=xe.isIdentical(i,o0);return ae.z+(q.lz+(Te?0:e))/2+.01}return(q==null?void 0:q.type)===z.Foundation?q.lz+.01:e/2+.01})(),Ce=(()=>{if((q==null?void 0:q.type)===z.Wall)return new Qt(-Vt,0,Math.PI,"ZXY");const Te=new re().fromArray(i);let De=o[2];return(q==null?void 0:q.type)===z.Cuboid&&(De=ne.z),xe.isSame(Te,Np)?new Qt(0,Vt,De,"ZXY"):xe.isSame(Te,Up)?new Qt(0,-Vt,De,"ZXY"):xe.isSame(Te,Yc)?new Qt(-Vt,0,De,"ZXY"):xe.isSame(Te,Bp)?new Qt(Vt,0,De,"ZXY"):new Qt(0,0,De,"ZXY")})(),Ie=(()=>{if(q){if(q.type===z.Cuboid){const Te=new re(ae.x,ae.y,de),De=new re().fromArray(i);let Ue=!1;const Oe=new re;return xe.isSame(De,Np)?(Ue=!0,Oe.x=q.lx/2+.01):xe.isSame(De,Up)?(Ue=!0,Oe.x=-q.lx/2-.01):xe.isSame(De,Yc)?(Ue=!0,Oe.y=q.ly/2+.01):xe.isSame(De,Bp)&&(Ue=!0,Oe.y=-q.ly/2-.01),Ue&&(Oe.applyEuler(ne),Te.x=ae.x+Oe.x,Te.y=ae.y+Oe.y,Te.z=ae.z+Oe.z),Te}else if(q.type===z.Wall)return new re(0,-.01,0)}return new re((q==null?void 0:q.cx)??0,(q==null?void 0:q.cy)??0,de)})(),ze=m.useMemo(()=>{const Te=new Array;for(const De of fe)Te.push(new re(De.x,De.y,0));return Te.push(new re(fe[0].x,fe[0].y,0)),Te},[fe]),ye=m.useMemo(()=>{const Te=new Ml;Te.moveTo(fe[0].x,fe[0].y);for(let De=1;De{Te.intersections.length>0&&Te.intersections[0].object===Te.eventObject&&(Z(De),De===yo.Default?E.style.cursor="move":E.style.cursor="pointer")},[]),ge=m.useCallback(()=>{Z(null),E.style.cursor="default"},[]),Ae=Te=>{switch(Te){case qi.Texture01:return{x:1,y:1};case qi.Texture02:return{x:2,y:2};case qi.Texture03:return{x:.4,y:.4};case qi.Texture04:return{x:.25,y:.25};case qi.Texture05:return{x:5,y:5};case qi.Texture06:return{x:1,y:1};case qi.Texture07:return{x:1,y:1};case qi.Texture08:return{x:2,y:2};case qi.Texture09:return{x:2,y:2};case qi.Texture10:return{x:4,y:4};default:return{x:1,y:1}}},me=m.useMemo(()=>{let Te;switch(H){case qi.Texture01:Te=oqe;break;case qi.Texture02:Te=iqe;break;case qi.Texture03:Te=rqe;break;case qi.Texture04:Te=aqe;break;case qi.Texture05:Te=lqe;break;case qi.Texture06:Te=sqe;break;case qi.Texture07:Te=cqe;break;case qi.Texture08:Te=AQt;break;case qi.Texture09:Te=wQt;break;case qi.Texture10:Te=vQt;break;default:Te=eg}return new nf().load(Te,De=>{const Ue=Ae(H);De.wrapT=De.wrapS=Ss,De.repeat.set(1/Ue.x,1/Ue.y);const Oe=new re().fromArray(i);xe.isSame(Oe,Np)?De.rotation=Vt:xe.isSame(Oe,Up)?De.rotation=-Vt:xe.isSame(Oe,Bp)&&(De.rotation=Math.PI),Me(De)})},[H,i]),[Pe,Me]=m.useState(me);return h.jsxs("group",{name:"Polygon Group "+t,rotation:Ce,position:Ie,children:[n&&h.jsxs("mesh",{uuid:t,ref:ie,receiveShadow:N,castShadow:!1,name:z.Polygon,onPointerDown:Te=>{Te.button!==2&&W===z.None&&k(t,Te)},onContextMenu:Te=>{k(t,Te,zo.ContextMenu),D(De=>{Te.intersections.length>0&&Te.intersections[0].object===ie.current&&(Te.intersections.length>1&&De.pastePoint.copy(Te.intersections[1].point),De.contextMenuObjectType=z.Polygon)})},onPointerOver:Te=>{Te.intersections.length>0&&Te.intersections[0].object===ie.current&&F(!0)},onPointerOut:()=>{F(!1),E.style.cursor="default"},children:[h.jsx("shapeGeometry",{attach:"geometry",args:[ye]}),x===void 0||x===0?h.jsx("meshStandardMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Pe,side:ji,transparent:y<1,opacity:y}):h.jsx("meshPhongMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Pe,side:ia,specular:new Xo("white"),shininess:x,transparent:y<1,opacity:y})]}),l&&h.jsx(B6t,{fontSize:s,scale:[1,1,1],color:c,position:[B,Y,.01],rotation:[0,0,(q==null?void 0:q.type)===z.Wall?Math.PI:0],anchorX:"center",anchorY:"middle",outlineWidth:u,outlineColor:d,strokeWidth:f,strokeColor:p,children:l}),(!S||b&&L)&&h.jsx(Fn,{points:ze,color:b&&L?l0:A,lineWidth:w,dashed:g&&g!==Oh.Solid,dashSize:g===Oh.Dashed?.3:.1,gapSize:.1,uuid:t,receiveShadow:!1,castShadow:!1,name:"Polygon Wireframe",onPointerDown:Te=>{Te.button!==2&&k(t,Te)},onContextMenu:Te=>{W===z.None&&(k(t,Te,zo.ContextMenu),D(De=>{if(Te.intersections.length>0){const Ue=Te.intersections[0].object;Ue.name==="Polygon Wireframe"&&Ue.uuid===t&&(De.contextMenuObjectType=z.Polygon)}}))}}),!n&&h.jsx(Fn,{position:[0,0,.1],points:ze,visible:!1,lineWidth:Math.min(w*10,10),receiveShadow:!1,castShadow:!1,uuid:t,name:"Polygon Enlarged Line",onPointerDown:Te=>{Te.button!==2&&k(t,Te)},onContextMenu:Te=>{W===z.None&&(k(t,Te,zo.ContextMenu),D(De=>{if(Te.intersections.length>0){const Ue=Te.intersections[0].object;Ue.name==="Polygon Enlarged Line"&&Ue.uuid===t&&(De.contextMenuObjectType=z.Polygon)}}))}}),L&&!b&&h.jsx(ts,{ref:ee,position:[B,Y,0],args:[te,6,6],name:yo.Default,onPointerDown:Te=>{Te.button!==2&&(k(t,Te,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(De=>{De.showWallIntersectionPlaneId=P,De.oldParentId=P,De.oldFoundationId=v}),D(De=>{De.moveHandleType=yo.Default}))},onPointerOver:Te=>{oe(Te,yo.Default)},onPointerOut:ge,children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),L&&!b&&fe.map((Te,De)=>h.jsxs(be.Fragment,{children:[h.jsx(Ei,{userData:{vertexIndex:De},position:[Te.x,Te.y,0],name:gt.Default,args:[le,le,e/2+(n?0:.1)],onPointerDown:Ue=>{Ue.button!==2&&(k(t,Ue,zo.Resize),pe(t,De),Ln.getState().setEnableOrbitController(!1),ht.getState().set(Oe=>{Oe.showWallIntersectionPlaneId=P,Oe.oldParentId=P,Oe.oldFoundationId=v}),D(Oe=>{Oe.resizeHandleType=gt.Default}))},onPointerOver:Ue=>{oe(Ue,gt.Default),pe(t,De)},onPointerOut:ge,onContextMenu:Ue=>{D(Oe=>{if(Ue.intersections.length>0){const Le=Ue.intersections[0].object.userData.vertexIndex;Le!==void 0&&(Oe.contextMenuObjectType=z.PolygonVertex,pe(t,Le))}})},children:h.jsx("meshBasicMaterial",{attach:"material",color:(J===gt.Default||M.getState().resizeHandleType===gt.Default)&&R===De?nr:pr})}),h.jsx("textSprite",{name:"Label "+De,text:""+De,fontSize:20*se,fontFace:"Times Roman",textHeight:.2*se,position:[Te.x,Te.y,.2*se]})]},"resize-handle-"+De)),(U||C)&&!L&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(a??j.t("shared.PolygonElement",he))+(b?" ("+j.t("shared.ElementLocked",he)+")":""),fontSize:20*se,fontFace:"Times Roman",textHeight:.2*se,position:[0,0,e+.2]})]})},wye={display:!1,color:"white",textureType:No.NoTexture,parapetHeight:1,copingsWidth:.5,copingsHeight:.1},xQt=({args:t,wallData:e,parapetZ:n,currWallPointData:o,leftWallPointData:i,rightWallPointData:r})=>{const{display:a,color:l,textureType:s,parapetHeight:c,copingsWidth:u,copingsHeight:d}=t,{id:f,cx:p,cy:g,hx:A,hy:w,angle:b}=e,C=c-d,P=QKe(s),v=m.useMemo(()=>{const L=new re(-A,w-u/2),E=new re(A,w-u/2),U=new re(A,w+u/2),F=new re(-A,w+u/2),B=[L,E,U,F];if(r||i){const _=cSe(o);if(r&&nO(o.rightPoint,r.leftPoint)){const Y=H(_,r);Y&&(E.copy(Y.outerIntersection),U.copy(Y.innerIntersection))}if(i&&nO(o.leftPoint,i.rightPoint)){const Y=H(_,i);Y&&(L.copy(Y.outerIntersection),F.copy(Y.innerIntersection))}}return B},[A,w,u,o,i,r]),T=m.useMemo(()=>{const L=new Ml,E=new re(-A,w*2),U=new re(A,w*2);if(r||i){const F=GG(o,o.ly);if(r&&nO(o.rightPoint,r.leftPoint)){const B=D(F,r);B&&U.copy(B)}if(i&&nO(o.leftPoint,i.rightPoint)){const B=D(F,i);B&&E.copy(B)}}return L.moveTo(-A,0),L.lineTo(A,0),L.lineTo(U.x,U.y),L.lineTo(E.x,E.y),L.closePath(),L},[A,w,o,i,r]),y=m.useMemo(()=>{const L=new Ml;if(u===0)return L;const[E,U,F,B]=v;return L.moveTo(E.x,E.y),L.lineTo(U.x,U.y),L.lineTo(F.x,F.y),L.lineTo(B.x,B.y),L.closePath(),L},[u,v]),S=m.useMemo(()=>v.map(L=>L.toArray()),[v]),x=m.useMemo(()=>[new re(-A,0,0),new re(A,0,0)],[A]),R=m.useMemo(()=>[new re,new re(0,0,C)],[C]);function H(L,E){const U=cSe(E),F=Pre(L.outerPoints.leftPoint,L.outerPoints.rightPoint,U.outerPoints.leftPoint,U.outerPoints.rightPoint);if(!F)return null;const B=Pre(L.innerPoints.leftPoint,L.innerPoints.rightPoint,U.innerPoints.leftPoint,U.innerPoints.rightPoint);return B?{innerIntersection:new re().subVectors(B,new re(p,g)).applyEuler(new Qt(0,0,-b)),outerIntersection:new re().subVectors(F,new re(p,g)).applyEuler(new Qt(0,0,-b))}:null}function D(L,E){const U=GG(E,E.ly),F=Pre(L.leftPoint,L.rightPoint,U.leftPoint,U.rightPoint);return F?new re().subVectors(F,new re(p,g)).applyEuler(new Qt(0,0,-b)):null}function k(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().isAddingElement())}function W(L){L.button!==2&&L.intersections.length>0&&L.intersections[0].eventObject===L.eventObject&&k()&&M.getState().selectMe(f,L,zo.Select,!0)}function N(L){M.getState().selectMe(f,L,zo.ContextMenu,!0),M.getState().set(E=>{L.intersections.length>0&&L.intersections[0].eventObject===L.eventObject&&(E.contextMenuObjectType=z.Wall)})}return a?h.jsxs("group",{name:"Wall Parapet Group",position:[0,0,n],onContextMenu:N,onPointerDown:W,children:[h.jsx($w,{name:"Body Extrude Mesh",args:[T,{steps:1,depth:C,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l,map:P})}),h.jsx(Fn,{position:[A,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[-A,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:x,color:"black",lineWidth:.2}),h.jsx($w,{name:"Copings Extrude Mesh",position:[0,0,C],args:[y,{steps:1,depth:d,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l})}),h.jsx(Fn,{position:[0,0,C+d],points:S,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:S,color:"black",lineWidth:.2})]}):null};function cSe(t){const e=(t.ly+t.copingsWidth)/2,n=(t.ly-t.copingsWidth)/2;return{innerPoints:GG(t,e),outerPoints:GG(t,n)}}function GG(t,e){const{leftPoint:n,rightPoint:o}=t,i=new re().fromArray(n),r=new re().fromArray(o),l=new re().subVectors(r,i).applyEuler(new Qt(0,0,Vt)).normalize().clone().multiplyScalar(e);return{leftPoint:i.clone().add(l),rightPoint:r.clone().add(l)}}function nO(t,e){return Math.abs(t[0]-e[0]){const{id:n,lx:o,lz:i}=t,r=M(Q9),a=M(X2),l=M(q9),s=M($9),c=Sn(vb),u=ht(i3),d=m.useRef(0),f=m.useRef(),p=m.useMemo(()=>{if(!u||e)return;const g=c.get(n);if(!g)return;const A=g.reduce((B,_)=>B+_,0),w=t.fill===Hl.Partial&&!xe.isPartialWallFull(t),b=xe.getWallVertices(t,0),C=w?xe.getPartialWallVertices(t,0):b,P=xe.getPolygonArea(b);let v=w?xe.getPolygonArea(C):P;if(v===0)return;const T=r(z.Window,n),y=r(z.Door,n);if(T&&T.length>0)for(const B of T)v-=xe.getWindowArea(B,t);if(y&&y.length>0)for(const B of y)v-=B.lx*B.lz*t.lx*t.lz;const S=M.getState().world,x=K9*(S.solarRadiationHeatmapGridCellSize??.5),R=xe.getHighestPointOfWall(t),H=Math.max(2,Math.round(o/x)),D=Math.max(2,Math.round(R/x)),k=o/H,W=R/D,N=(R-t.lz)/2,L=A/v*(a??Gm);d.current=L<0?1:0,f.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(L)*Vt);const E=[],U=w?xe.getPartialWallVertices(t,0):xe.getWallVertices(t,0);let F;for(let B=0;B0)for(const Z of T){if(Z.type!==z.Window)continue;const ie=Z.cx*t.lx,ee=Z.cz*t.lz,q=Z.lx*t.lx/2,ae=Z.lz*t.lz/2;if(Z.windowType===Sr.Arched){if(O>=ie-q&&O=ee-ae&&J=ie-q&&O=ee-ae&&J0)for(const Z of y){const ie=Z.cx*o,ee=Z.cz*R,q=Z.lx*o/2,ae=Z.lz*R/2;if(O>=ie-q&&O=ee-ae&&Jh.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:g,name:"Heat Flux "+A,lineWidth:s??Xm,color:l??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:g[d.current].clone().add(new re(0,d.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:f.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:l??g0})})]},A))}):null},TQt=be.memo(SQt),Cre="Wall Block Plane",PQt="Wall Intersection Plane",tP=.1,CQt=be.memo(({transparent:t,color:e,opacity:n})=>{const i=M(M7).z<=0;return h.jsx("meshStandardMaterial",{color:t?e:"white",transparent:t,opacity:n,side:i?p0:ji})}),RQt=({wallModel:t,foundationModel:e})=>{var mu,cn,qt,jt,pn,Pn;let{id:n,cx:o,cy:i,lx:r=1,ly:a=.5,lz:l=5,relativeAngle:s,leftJoints:c,rightJoints:u,textureType:d,color:f="white",lineColor:p="black",lineWidth:g=.2,parentId:A,locked:w=!1,roofId:b,leftRoofHeight:C,rightRoofHeight:P,centerRoofHeight:v,centerLeftRoofHeight:T,centerRightRoofHeight:y,wallStructure:S=hc.Default,structureSpacing:x=2,structureWidth:R=.1,structureColor:H="white",opacity:D=.5,fill:k=Hl.Full,leftUnfilledHeight:W=.5,rightUnfilledHeight:N=.5,leftTopPartialHeight:L=l,rightTopPartialHeight:E=l,parapet:U=wye,leftPoint:F,rightPoint:B}=t;C=c.length>0?C:l,P=u.length>0?P:l;const _=QKe(d),Y=Hs(n),O=M(dn),J=M(xb),Z=M(Vc),ie=M(En),ee=M(pge),q=Sn(i1),ae=M(H7),ne=M(ss),se=M(gge),le=M(fYe),te=M(wf),he=ht(Ah),pe=ht(cs),fe=ht(Ze=>Ze.elementBeingCanceledId),$=ht(Ze=>Ze.showWallIntersectionPlaneId),[de,Se]=m.useState(!1),[Ce,ve]=m.useState(null),{camera:Ie,gl:ze}=Xi(),{elementsOnWall:ye,leftWall:oe,rightWall:ge}=r$t(n,c[0],u[0]),Ae=ZKe(e),me=m.useRef(null),Pe=m.useRef(null),Me=m.useRef(null),Te=m.useRef(null),De=m.useRef(null),Ue=m.useRef(null),Oe=m.useRef(null),Le=m.useRef(null),$e=r/2,We=a/2,Ee=l/2,Fe=Ae?Ae.rotation[2]+s:s,Ge=xe.getInnerWallOffset(oe,r,a,s,"left"),rt=xe.getInnerWallOffset(ge,r,a,s,"right"),Ve=S===hc.Stud||S===hc.Pillar,xt=C??l,dt=P??l,Qe=k===Hl.Partial,ut=Qe?W:0,ft=Qe?N:0,at=Qe?Math.min(xt,L):xt,ot=Qe?Math.min(dt,E):dt,et=Qe&&(!xe.isZero(xt-at)||!xe.isZero(dt-ot)),_e=ne&&!Ve,nt=U.display,yt=Math.max(at,ot)-Ee,Tt=m.useMemo(()=>new Gt,[]),Rt=m.useMemo(()=>new Gs,[]),Wt=m.useMemo(()=>new sf({color:"white",side:ji,transparent:Ve,opacity:D}),[Ve,D]),Ct=m.useMemo(()=>xe.getHighestPointOfWall(t),[t.lz,t.leftRoofHeight,t.rightRoofHeight,t.centerRoofHeight,t.centerLeftRoofHeight,t.centerRightRoofHeight]),At=m.useMemo(()=>{const Ze=new Ml;return mt(Ze,r,l,0,0,0,0),ye.forEach(bt=>{if(bt.type===z.Window&&bt.id!==Oe.current&&bt.lx>0&&bt.lz>0){const Nt=bt,St=new Ml,[Bt,Jt,an,gn]=[bt.lx*r,bt.lz*l,bt.cx*r,bt.cz*l];if(Nt.windowType)switch(Nt.windowType){case Sr.Arched:Tn(St,Bt,Jt,an,gn,Nt.archHeight);break;case Sr.Polygonal:{const[mn,vn]=Nt.polygonTop??jp;Un(St,Bt,Jt,an,gn,mn*Bt,vn);break}case Sr.Default:default:bn(St,Bt,Jt,an,gn)}else bn(St,Bt,Jt,an,gn);Ze.holes.push(St)}}),Ze},[r,l,k,W,N,at,ot,ye,C,P,v,T,y]),Ft=m.useMemo(()=>{const Ze=new Ml,bt=l,Nt=l/2;if(Qe)Ze.moveTo(-$e+Ge,-Nt+W),Ze.lineTo($e-rt,-Nt+N);else{Ze.moveTo(-$e+Ge,-Nt);const St=ye.filter(Bt=>Bt.type===z.Door).sort((Bt,Jt)=>Bt.cx-Jt.cx);for(const Bt of St)if(Bt.id!==Oe.current){const[Jt,an,gn,mn]=[Bt.cx*r,Bt.cz*bt,Bt.lx*r,Bt.lz*bt];if(Bt.doorType===Sd.Default)Ze.lineTo(Jt-gn/2,-Nt),Ze.lineTo(Jt-gn/2,-Nt+mn),Ze.lineTo(Jt+gn/2,-Nt+mn),Ze.lineTo(Jt+gn/2,-Nt);else{const vn=Math.min(Bt.archHeight,mn,gn/2);if(Ze.lineTo(Jt-gn/2,-Nt),vn>.1){Ze.lineTo(Jt-gn/2,-Nt+mn/2-vn);const kn=vn/2+gn**2/(8*vn),[jn,Wn]=[Jt,an+mn/2-kn],$n=Math.acos(Math.min(gn/2/kn,1)),Xn=Math.PI-$n;Ze.absarc(jn,Wn,kn,Xn,$n,!0)}else Ze.lineTo(Jt-gn/2,-Nt+mn),Ze.lineTo(Jt+gn/2,-Nt+mn);Ze.lineTo(Jt+gn/2,-Nt)}}Ze.lineTo($e-rt,-Nt)}if(et){const St=ot-at,Bt=(r-rt)*St/r,Jt=Ge*St/r;Ze.lineTo($e-rt,-Nt+at+Bt),Ze.lineTo(-$e+Ge,-Nt+at+Jt)}else b?(P?Ze.lineTo($e-rt,P-Nt):Ze.lineTo($e-rt,Nt),y&&Ze.lineTo(y[0]*r,y[1]-Nt),v&&Ze.lineTo(v[0]*r,v[1]-Nt),T&&Ze.lineTo(T[0]*r,T[1]-Nt),C?Ze.lineTo(-$e+Ge,C-Nt):Ze.lineTo(-$e+Ge,Nt)):(Ze.lineTo($e-rt,Nt),Ze.lineTo(-$e+Ge,Nt));return Ze.closePath(),ye.forEach(St=>{if(St.type===z.Window&&St.id!==Oe.current&&St.lx>0&&St.lz>0){const Bt=St,Jt=new Ml,[an,gn,mn,vn]=[St.lx*r,St.lz*l,St.cx*r,St.cz*l];if(Bt.windowType)switch(Bt.windowType){case Sr.Arched:Tn(Jt,an,gn,mn,vn,Bt.archHeight);break;case Sr.Polygonal:{const[kn,jn]=Bt.polygonTop??jp;Un(Jt,an,gn,mn,vn,kn*an,jn);break}case Sr.Default:default:bn(Jt,an,gn,mn,vn);break}else bn(Jt,an,gn,mn,vn);Ze.holes.push(Jt)}}),Ze},[r,l,k,W,N,at,ot,Ge,rt,ye,b,C,P,v,T,y]),Ke=m.useMemo(()=>Qe?(at+ot)/2-Ee:Ee,[Ee,Qe,at,ot]),Je=m.useMemo(()=>{const Ze=ot-at;return!Qe||Math.abs(Ze)<.01?0:Math.atan2(Ze,r)},[r,Qe,at,ot]),ct=m.useMemo(()=>{const Ze=new Ml;if(!Qe||Math.abs(Je)<1e-4)return rn(Ze,r,a,Ge,rt),Ze;{const bt=r/2,Nt=a/2,St=Math.cos(Je),Bt=bt/St,Jt=(bt-Ge)/St,an=(bt-rt)/St;return Ze.moveTo(-Bt,-Nt),Ze.lineTo(Bt,-Nt),Ze.lineTo(an,Nt),Ze.lineTo(-Jt,Nt),Ze.closePath(),Ze}},[r,a,Ge,rt,Qe,Je]),Pt=m.useMemo(()=>{const Ze=[],bt=r/2,Nt=l/2;return Qe?(Ze.push({x:-bt+Ge,y:-Nt+ut}),Ze.push({x:bt-rt,y:-Nt+ft})):(Ze.push({x:-bt,y:-Nt}),Ze.push({x:bt,y:-Nt})),et?(Ze.push({x:bt-rt,y:-Nt+ot}),Ze.push({x:-bt+Ge,y:-Nt+at})):(P?Ze.push({x:bt,y:P-Nt}):Ze.push({x:bt,y:Nt}),y&&Ze.push({x:y[0]*r,y:y[1]-Nt}),v&&Ze.push({x:v[0]*r,y:v[1]-Nt}),T&&Ze.push({x:T[0]*r,y:T[1]-Nt}),C?Ze.push({x:-bt,y:C-Nt}):Ze.push({x:-bt,y:Nt})),Ze},[r,l,k,ut,ft,at,ot,C,P,v,T,y]),Ne=m.useMemo(()=>{const Ze=[];let bt=0,Nt=0;if(k===Hl.Partial&&(bt=(N-W)/r,Nt=W+$e*bt),S===hc.Stud){let St=-$e+R/2;for(;St<=$e;)Ze.push([St,bt*St+Nt]),St+=x;St=$e-R/2,Ze.push([St,bt*St+Nt])}else if(S===hc.Pillar){let St=-$e;for(;St<=$e;)Ze.push([St,bt*St+Nt]),St+=x;Ze.push([$e,bt*$e+Nt])}return Ze},[S,R,x,r,a,l,W,N]),lt=m.useMemo(()=>({id:n,parentId:A,cx:o,cy:i,hx:$e,hy:We,angle:s,selected:Y}),[n,A,o,i,$e,We,s,Y]),Ye=m.useMemo(()=>({leftPoint:F,rightPoint:B,ly:a,copingsWidth:U.copingsWidth}),[F,B,a,U.copingsWidth]),st=m.useMemo(()=>!oe||!oe.parapet||!oe.parapet.display?null:{leftPoint:oe.leftPoint,rightPoint:oe.rightPoint,ly:oe.ly,copingsWidth:oe.parapet.copingsWidth},[oe==null?void 0:oe.leftPoint,oe==null?void 0:oe.rightPoint,oe==null?void 0:oe.ly,(mu=oe==null?void 0:oe.parapet)==null?void 0:mu.copingsWidth,(cn=oe==null?void 0:oe.parapet)==null?void 0:cn.display]),je=m.useMemo(()=>!ge||!ge.parapet||!ge.parapet.display?null:{leftPoint:ge.leftPoint,rightPoint:ge.rightPoint,ly:ge.ly,copingsWidth:ge.parapet.copingsWidth},[ge==null?void 0:ge.leftPoint,ge==null?void 0:ge.rightPoint,ge==null?void 0:ge.ly,(qt=ge==null?void 0:ge.parapet)==null?void 0:qt.copingsWidth,(jt=ge==null?void 0:ge.parapet)==null?void 0:jt.display]);m.useEffect(()=>{Le.current&&Le.current.id===fe&&(Le.current=null,qo())},[fe]),m.useEffect(()=>{if(t&&pe){const Ze=q(t.id);if(Ze){const bt=xe.fetchHeatmapTexture(Ze,te??5);if(bt){bt.wrapS=Ss,bt.wrapT=Ss;const Nt=l===Ct?0:(1-l/Ct)/2;bt.offset.set(-r/2,-Ct/2-Nt),bt.center.set(r/2,Ct/2),bt.repeat.set(1/r,1/Ct),ve(bt)}}}},[pe,te]),m.useEffect(()=>{b&&(se.has(b)||le.has(b))&&M.getState().set(Ze=>{const bt=new Set;for(const Nt of Ze.elements)if(Nt.id===n&&Nt.type===z.Wall){const St=Nt;if(St.roofId=null,St.leftRoofHeight=void 0,St.rightRoofHeight=void 0,St.centerRoofHeight=void 0,St.centerLeftRoofHeight=void 0,St.centerRightRoofHeight=void 0,ye.length>0){const Bt=In.getWallPoints2D(St);ye.forEach(Jt=>{if(Jt.type===z.Polygon)return;const an=Jt.type===z.Door,gn=Jt.type===z.SolarPanel,mn=gn?Jt.lx-.01:Jt.lx*r,vn=gn?Jt.ly-.01:Jt.lz*l,kn=new re(Jt.cx*r,0,Jt.cz*l);xe.isElementInsideWall(kn,mn,vn,Bt,an)||(bt.add(Jt.id),Ze.autoDeletedChild?Ze.autoDeletedChild.push(Jt):Ze.autoDeletedChild=[Jt])})}break}bt.size>0?Ze.elements=Ze.elements.filter(Nt=>!bt.has(Nt.id)):Ze.autoDeletedChild===null&&(Ze.autoDeletedChild=[])})},[b,se,le]);function mt(Ze,bt,Nt,St=0,Bt=0,Jt=0,an=0,gn=!0){const mn=bt/2,vn=Nt/2;if(Qe?Ze.moveTo(St-mn+Jt,Bt-vn+W):Ze.moveTo(St-mn+Jt,Bt-vn),gn){const kn=ye.filter(jn=>jn.type===z.Door).sort((jn,Wn)=>jn.cx-Wn.cx);for(const jn of kn)if(jn.id!==Oe.current){const[Wn,$n,Xn,Jo]=[jn.cx*bt,jn.cz*Nt,jn.lx*bt,jn.lz*l];if(jn.doorType===Sd.Default)Ze.lineTo(St+Wn-Xn/2,Bt-vn),Ze.lineTo(St+Wn-Xn/2,Bt-vn+Jo),Ze.lineTo(St+Wn+Xn/2,Bt-vn+Jo),Ze.lineTo(St+Wn+Xn/2,Bt-vn);else{const lr=Math.min(jn.archHeight,Jo,Xn/2);if(Ze.lineTo(St+Wn-Xn/2,Bt-vn),lr>.1){Ze.lineTo(St+Wn-Xn/2,Bt-vn+Jo/2-lr);const Kr=lr/2+Xn**2/(8*lr),[Vi,ga]=[Wn,Bt+$n+Jo/2-Kr],vs=Math.acos(Math.min(Xn/2/Kr,1)),Ju=Math.PI-vs;Ze.absarc(Vi,ga,Kr,Ju,vs,!0)}else Ze.lineTo(St+Wn-Xn/2,Bt-vn+Jo),Ze.lineTo(St+Wn+Xn/2,Bt-vn+Jo);Ze.lineTo(St+Wn+Xn/2,Bt-vn)}}}Qe?Ze.lineTo(St+mn-an,Bt-vn+N):Ze.lineTo(St+mn-an,Bt-vn),et?(Ze.lineTo(St+mn-an,Bt-vn+ot),Ze.lineTo(St-mn+Jt,Bt-vn+at)):b?(P?Ze.lineTo(St+mn-an,P-vn):Ze.lineTo(St+mn-an,Bt+vn),y&&Ze.lineTo(y[0]*bt,y[1]-vn),v&&Ze.lineTo(v[0]*bt,v[1]-vn),T&&Ze.lineTo(T[0]*bt,T[1]-vn),C?Ze.lineTo(St-mn+Jt,C-vn):Ze.lineTo(St-mn+Jt,Bt+vn)):(Ze.lineTo(St+mn-an,Bt+vn),Ze.lineTo(St-mn+Jt,Bt+vn)),Ze.closePath()}function Ht(Ze,bt){const{cx:Nt,cy:St,cz:Bt}=bt;if(Ae&&Fe!==void 0){const Jt=xe.wallAbsolutePosition(new re(Nt,St,Bt),Ae).setZ(l/2+Ae.lz);return new re().subVectors(Ze,Jt).applyEuler(new Qt(0,0,-Fe))}return new re}function wt(Ze){const bt=[];for(let Nt=-1;Nt<=1;Nt+=2)for(let St=-1;St<=1;St+=2){const[Bt,Jt]=[Nt,Nt*St];switch(Ze.type){case z.Window:{const[an,gn]=[Ze.cx*r,Ze.cz*l],[mn,vn]=[Ze.lx*r/2,Ze.lz*l/2],kn=an+Bt*mn,jn=gn+Jt*vn;bt.push({x:kn,y:jn});break}case z.Door:{const[an,gn]=[Ze.cx*r,Ze.cz*l],[mn,vn]=[Ze.lx*r/2,Ze.lz*l/2],kn=an+Bt*mn,jn=gn+Jt*vn;bt.push({x:kn,y:jn});break}case z.SolarPanel:{const[an,gn]=[Ze.cx*r,Ze.cz*l],[mn,vn]=[Ze.lx/2,Ze.ly/2],kn=an+Bt*mn,jn=gn+Jt*vn;bt.push({x:kn,y:jn})}}}if(Ze.type===z.Window&&Ze.windowType===Sr.Polygonal){const Nt=Ze,[St,Bt]=Nt.polygonTop??[0,0];bt.push({x:Ze.cx*r+St*Ze.lx*r,y:Ze.cz*l+Ze.lz*l/2+Bt})}return bt}function It(Ze,bt=0){if(!Qe)return xe.getWallVertices(Ze,bt);const Nt=Ze.lx/2,St=Ze.lz/2,Bt={x:-Nt-bt,y:Ze.leftUnfilledHeight-St-bt},Jt={x:Nt+bt,y:Ze.rightUnfilledHeight-St-bt},an={x:-Nt-bt,y:Ze.leftTopPartialHeight-St+bt},gn={x:Nt+bt,y:Ze.rightTopPartialHeight-St+bt},mn=[];return mn.push(an,Bt,Jt,gn),et||(Ze.centerRightRoofHeight&&mn.push({x:Ze.centerRightRoofHeight[0]*Ze.lx,y:Ze.centerRightRoofHeight[1]-St+bt}),Ze.centerRoofHeight&&mn.push({x:Ze.centerRoofHeight[0]*Ze.lx,y:Ze.centerRoofHeight[1]-St+bt}),Ze.centerLeftRoofHeight&&mn.push({x:Ze.centerLeftRoofHeight[0]*Ze.lx,y:Ze.centerLeftRoofHeight[1]-St+bt})),mn}function Et(Ze,bt,Nt,St,Bt){if(Nt<.1||St<.1||Nt>r||!b&&St>l)return Oe.current=Ze,!1;const Jt=.1;Nt+=Jt,St+=Jt;for(const an of ye){if(an.id===Ze||an.type===z.Polygon)continue;const gn=wt(an),mn=[];for(let vn=-1;vn<=1;vn+=2)for(let kn=-1;kn<=1;kn+=2){const jn=bt.x+vn*Nt/2,Wn=bt.z+vn*kn*St/2;if(mn.push({x:jn,y:Wn}),xe.isPointInside(jn,Wn,gn))return Oe.current=Ze,!1}if(Bt){const[vn,kn]=Bt,jn=bt.x+vn*Nt,Wn=bt.z+St/2+kn;if(mn.push({x:jn,y:Wn}),xe.isPointInside(jn,Wn,gn))return Oe.current=Ze,!1}for(const vn of gn)if(xe.isPointInside(vn.x,vn.y,mn))return Oe.current=Ze,!1}return Oe.current=null,!0}function zt(Ze,bt,Nt,St,Bt){return xe.isElementInsideWall(bt,Nt,St,Pt,Bt)?!0:(Oe.current=Ze,!1)}function ln(Ze,bt,Nt,St){const[Bt,Jt]=St,an=Ze.x+bt*Bt,gn=Ze.z+Nt/2+Jt;return!!xe.isPointInside(an,gn,It(t,0))}function Xt(Ze){Tt.x=Ze.offsetX/ze.domElement.clientWidth*2-1,Tt.y=-(Ze.offsetY/ze.domElement.clientHeight)*2+1,Rt.setFromCamera(Tt,Ie)}function fn(Ze){return!(Ze.button===2||M.getState().addedWallId||Ue.current||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||Y||ee())}function rn(Ze,bt,Nt,St,Bt){const Jt=bt/2,an=Nt/2;Ze.moveTo(-Jt,-an),Ze.lineTo(Jt,-an),Ze.lineTo(Jt-Bt,an),Ze.lineTo(-Jt+St,an),Ze.closePath()}function bn(Ze,bt,Nt,St=0,Bt=0){const Jt=bt/2,an=Nt/2;Ze.moveTo(St-Jt,Bt-an),Ze.lineTo(St+Jt,Bt-an),Ze.lineTo(St+Jt,Bt+an),Ze.lineTo(St-Jt,Bt+an),Ze.closePath()}function Tn(Ze,bt,Nt,St,Bt,Jt=0){const an=bt/2,gn=Nt/2,mn=Math.min(Jt,Nt,an);if(Ze.moveTo(St-an,Bt-gn),Ze.lineTo(St+an,Bt-gn),Ze.lineTo(St+an,Bt+gn-mn),mn>0){const vn=mn/2+bt**2/(8*mn),[kn,jn]=[St,Bt+gn-vn],Wn=Math.acos(Math.min(1,an/vn)),$n=Math.PI-Wn;Ze.absarc(kn,jn,vn,Wn,$n,!1)}else Ze.lineTo(St-an,Bt+gn);Ze.closePath()}function Un(Ze,bt,Nt,St,Bt,Jt,an){const[gn,mn]=[bt/2,Nt/2];Ze.moveTo(St-gn,Bt-mn),Ze.lineTo(St+gn,Bt-mn),Ze.lineTo(St+gn,Bt+mn),Ze.lineTo(St+Jt,Bt+mn+an),Ze.lineTo(St-gn,Bt+mn),Ze.closePath()}function Ai(Ze){const bt=parseFloat((Math.round(Ze.x/g6)*g6).toFixed(1)),Nt=parseFloat((Math.round(Ze.z/g6)*g6).toFixed(1));return new re(bt,Ze.y,Nt)}function vo(Ze){const bt=parseFloat((Math.round(Ze.x/l9)*l9).toFixed(1)),Nt=parseFloat((Math.round(Ze.z/l9)*l9).toFixed(1));return new re(bt,Ze.y,Nt)}function Oo(Ze){return M.getState().enableFineGrid?Ze=vo(Ze):Ze=Ai(Ze),Ze}function si(Ze,bt,Nt,St,Bt){M.getState().set(Jt=>{for(const an of Jt.elements)if(an.id===Ze){if([an.cx,an.cy,an.cz]=bt,[an.lx,an.ly,an.lz]=Nt,St!==void 0&&(an.type===z.Window||an.type===z.Door)&&(an.archHeight=St),Bt!==void 0&&an.type===z.Window){const gn=an;gn.windowType===Sr.Polygonal&&(gn.polygonTop=[...Bt])}break}})}function po(Ze){return Ze.type===z.Window&&Ze.windowType===Sr.Polygonal&&Ze.polygonTop}function to(Ze){const bt={name:"Add",timestamp:Date.now(),addedElement:Ze,undo:()=>{M.getState().removeElementById(Ze.id,!1)},redo:()=>{M.getState().set(Nt=>{Nt.elements.push(bt.addedElement),Nt.selectedElement=bt.addedElement,Nt.deletedRoofId=null})}};ie(bt)}function uo(){const Ze=M.getState().selectedElement;if(!Ze)return;const bt=M.getState().getElementById(Ze.id);if(bt)switch(bt.type){case z.Door:case z.Window:case z.SolarPanel:const Nt={name:`Resize ${bt.type}`,timestamp:Date.now(),resizedElementId:bt.id,resizedElementType:bt.type,oldPosition:[Ze.cx,Ze.cy,Ze.cz],oldDimension:[Ze.lx,Ze.ly,Ze.lz],newPosition:[bt.cx,bt.cy,bt.cz],newDimension:[bt.lx,bt.ly,bt.lz],oldArchHeight:Ze.type===z.Window||Ze.type===z.Door?Ze.archHeight:void 0,newArchHeight:bt.type===z.Window||bt.type===z.Door?bt.archHeight:void 0,oldPolygonTop:po(Ze)?[...Ze.polygonTop]:void 0,newPolygonTop:po(bt)?[...bt.polygonTop]:void 0,undo(){si(this.resizedElementId,this.oldPosition,this.oldDimension,this.oldArchHeight,this.oldPolygonTop)},redo(){si(this.resizedElementId,this.newPosition,this.newDimension,this.newArchHeight,this.newPolygonTop)}};ie(Nt);break;case z.Polygon:const St=Ze,Bt=bt,Jt={name:"Edit Polygon",timestamp:Date.now(),oldValue:[...St.vertices],newValue:[...Bt.vertices],changedElementId:Bt.id,changedElementType:Bt.type,undo(){ae(this.changedElementId,this.oldValue)},redo(){ae(this.changedElementId,this.newValue)}};ie(Jt);break}}function qo(){M.getState().set(Ze=>{Ze.addedWindowId=null,Ze.addedDoorId=null})}function Hi(Ze){return Ze===z.Window||Ze===z.Door}function vi(Ze,bt){const Nt=wd.getIntersectionObjects(Ze);return Nt.length>0&&Nt[0].object.name===`${wd.WALL_OUTSIDE_SURFACE_MESH_NAME} ${bt}`}function Cn(Ze){return Ze.intersections.length>0&&Ze.intersections[0].object===Ze.eventObject}function yn(Ze,bt,Nt){if(M.getState().moveHandleType&&bt&&no(bt)&&bt.parentId!==Ze){const St=Nt.intersections.filter(Jt=>Jt.eventObject.name.includes(wd.WALL_OUTSIDE_SURFACE_MESH_NAME)||Jt.eventObject.name.includes(Iue)||Jt.eventObject.name===Cre);if(!(St.length>0&&(St[0].eventObject.name===Cre||St[0].eventObject.name.includes(Iue))))return!0}return!1}function no(Ze){if(!Ze)return!1;switch(Ze.type){case z.Window:case z.Door:case z.SolarPanel:case z.Light:case z.Sensor:return!0}return!1}function Eo(Ze){if(M.getState().resizeHandleType!==gt.Arch)return!1;if(Ze.type===z.Window){const bt=Ze;return bt.windowType===Sr.Arched&&bt.archHeight!==void 0}if(Ze.type===z.Door){const bt=Ze;return bt.doorType===Sd.Arched&&bt.archHeight!==void 0}}function ni(Ze,bt){const Nt=Ze.getPoints().map(St=>({x:St.x,y:St.y}));return!xe.isPointInside(bt.x,bt.y,Nt)}function Lo(Ze,bt,Nt,St,Bt,Jt=!1){const an=new re().subVectors(bt,Ze).normalize(),[gn,mn]=Jt?[bt.y,Ze.y]:[Ze.y,bt.y];let vn;if(gn(vn.type===z.Wall&&vn.parentId===A&&mn.set(vn.id,vn),mn),new Map);let St=!1,Bt=0;const Jt={lng:M.getState().language},an=t;let gn=an;for(;gn&&gn.rightJoints.length>0;){Bt++;const mn=Nt.get(gn.rightJoints[0]);if(!mn)break;if(bt&&mn.lz!==an.lz)return Do(j.t("message.WallsAreNotAtSameHeight",Jt)),!1;if(mn.id===an.id){St=!0;break}if(gn=mn,Bt>100)break}return St?!0:(Do(j.t("message.WallsAreNotConnected",Jt)),!1)}function go(){return Le.current&&Le.current.status===0&&M.getState().moveHandleType===yo.Mid}function So(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||ee())}function Uo(){return et||W!==N||L!==E?!1:b?!(C!==P||v!==void 0||T!==void 0||y!==void 0):!0}function _i(Ze,bt,Nt){var gn;Xt(Ze);const Bt=((gn=(bt?Rt.intersectObjects([bt]):Ze.intersections)[0])==null?void 0:gn.point)??Ze.point,Jt=Ht(Bt,t),an=Nt?Oo(Jt.clone().add(Nt)).sub(Nt):Oo(Jt);return{relativePointer:Jt,pointerOnGrid:an}}function Qo(Ze,bt){if(!me.current)return null;const{pointerOnGrid:Nt}=_i(Ze,me.current),St=Nt.x/t.lx,Bt=Nt.z/t.lz;return bt===z.Window?rl.makeWindow(t,St,0,Bt,z.Wall):bt===z.Door?rl.makeDoor(t):null}function ar(Ze){Ze&&(Le.current={id:Ze.id,type:Ze.type,status:0}),O(bt=>{Ze&&(bt.elements.push(Ze),bt.selectedElement=Ze,bt.selectedElementIdSet.clear(),bt.selectedElementIdSet.add(Ze.id),Ze.type===z.Window?bt.addedWindowId=Ze.id:Ze.type===z.Door&&(bt.addedDoorId=Ze.id)),bt.moveHandleType=yo.Mid,bt.objectTypeToAdd=z.None})}function ur(Ze){if(!Ze)return;const{id:bt,type:Nt}=Ze;O(St=>{St.elements=St.elements.filter(Bt=>Bt.id!==bt),St.selectedElement=null,St.moveHandleType=null,St.objectTypeToAdd=Nt,St.addedWindowId=null,St.addedDoorId=null}),Le.current=null}function $o(Ze){if(!Ze)return[0,0];switch(Ze.type){case z.Window:{const bt=ht.getState().oldParentId;if(Ze.parentId!==bt){const Nt=M.getState().elements.find(St=>St.id===bt);return Nt?[Ze.lx*Nt.lx/2,Ze.lz*Nt.lz/2]:[0,0]}else return[Ze.lx*r/2,Ze.lz*l/2]}case z.Door:return[Ze.lx*r/2,Ze.lz*l/2];case z.SolarPanel:return[Ze.lx/2,Ze.ly/2]}return[tP,tP]}function ba(){const Ze=[];if(v){const bt=v[0];if(bt===.5&&C!==void 0)return Ze.push(new re($e,v[1]-Ee),new re(-$e,C-Ee)),Ze;if(bt===-.5&&P!==void 0)return Ze.push(new re($e,P-Ee),new re(-$e,v[1]-Ee)),Ze}return P!==void 0?Ze.push(new re($e,P-Ee)):Ze.push(new re($e,Ee)),y!==void 0&&Ze.push(new re(y[0]*r,y[1]-Ee)),v!==void 0&&Ze.push(new re(v[0]*r,v[1]-Ee)),T!==void 0&&Ze.push(new re(T[0]*r,T[1]-Ee)),C!==void 0?Ze.push(new re(-$e,C-Ee)):Ze.push(new re(-$e,Ee)),Ze}function Mo(Ze,bt){const Nt=bt==null?void 0:bt.ignorePadding,St=bt!=null&&bt.elementHalfSize?[...bt.elementHalfSize]:[0,0],Bt=Nt?0:tP,Jt=Nt?0:tP+Ge,an=Nt?0:tP+rt,[gn,mn]=St,[vn,kn,jn,Wn]=[-$e+gn+Jt,$e-gn-an,-Ee+mn+Bt,Ee-mn-Bt],$n=Ze.clone();if(Uo()){const Xn=Qe?W:0,Jo=l-(Qe?at:l);return $n.setX(xe.clamp(Ze.x,vn,kn)),$n.setZ(xe.clamp(Ze.z,jn+Xn,Wn-Jo)),$n}else{const Xn=Za(gn,mn,vn,kn,Bt),Jo=new Gt(Ze.x,Ze.z);let lr=1/0,Kr=-1/0;if(bt!=null&&bt.resizeAnchor){const vs=bt.resizeAnchor.x,Ju=[];if(et)Ju.push(new re(-$e,-Ee+at),new re($e,-Ee+ot));else{const Hf=ba().reverse();Ju.push(...Hf)}for(let Hf=1;Hf=Ol.x&&vs<=Y0.x){const Ph=(Y0.y-Ol.y)/(Y0.x-Ol.x),yp=-Ph*Ol.x+Ol.y;lr=Ph*vs+yp;break}}const Ku=new re(-$e,-Ee+ut),Th=new re($e,-Ee+ft),Rf=(Th.y-Ku.y)/(Th.x-Ku.x),qu=-Rf*Ku.x+Ku.y;Kr=Rf*vs+qu}const Vi=Jo.y>lr;if(ni(Xn,Jo)){const vs=bo(Xn,Jo);$n.setX(vs.x),$n.setZ(xe.clamp(vs.y,Kr+Bt,lr-Bt))}else Vi&&$n.setZ(lr-Bt)}return $n.setZ(Math.max(jn,$n.z)),$n}function $i(Ze,bt){O(Nt=>{const St=Nt.elements.find(Bt=>Bt.id===Ze);if(St)switch(St.type){case z.Window:{St.cx=bt.x/r,St.cz=bt.z/l,St.cy=St.id===Oe.current?-.01:.3,St.tint=St.id===Oe.current?"red":Nt.selectedElement.tint;break}case z.Door:{const Bt=l/2;St.cx=bt.x/r,St.cz=(bt.z-Bt)/2/l,St.lz=(bt.z+Bt)/l;break}case z.SolarPanel:{St.cx=bt.x/r,St.cz=bt.z/l,St.color=St.id===Oe.current?"red":"#fff";break}case z.Sensor:case z.Light:{St.cx=bt.x/r,St.cz=bt.z/l;break}case z.Polygon:{const Bt=St;if(Bt.vertices.length>0){const Jt=xe.calculatePolygonCentroid(Bt.vertices),an=-bt.x/r-Jt.x,gn=-bt.z/l-Jt.y,mn=Bt.vertices.map(vn=>({x:vn.x+an,y:vn.y+gn}));St.vertices=mn}break}}})}function Za(Ze,bt,Nt,St,Bt){const Jt=[],an=new re(-$e,-Ee+ut),gn=new re($e,-Ee+ft);if(Lo(an,gn,Ze,bt,Bt,!0),Jt.push({start:new re(Nt,Ee),end:new re(Nt,an.y)}),Jt.push({start:an.clone(),end:gn.clone()}),Jt.push({start:new re(St,gn.y),end:new re(St,Ee)}),et){const vn=new re($e,-Ee+ot),kn=new re(-$e,-Ee+at);Lo(vn,kn,Ze,bt,Bt),Jt.push({start:vn.clone(),end:kn.clone()})}else{const vn=ba();for(let kn=1;kn{const Bt=St.elements.find(mn=>mn.id===(Nt==null?void 0:Nt.id));if(!Bt||Bt.type===z.SolarPanel&&Bt.parentType===void 0)return;if(Bt.type===z.Window){const mn=St.elements.find(vn=>vn.id===Bt.parentId);if(mn){const vn=Bt.lx*mn.lx,kn=Bt.lz*mn.lz;Bt.lx=vn/r,Bt.lz=kn/l}}const{pointerOnGrid:Jt}=_i(Ze,me.current),an=$o(Bt),gn=Mo(Jt,{elementHalfSize:an,ignorePadding:Bt.type===z.SolarPanel});Et(Bt.id,gn,an[0]*2,an[1]*2),Bt.cx=gn.x/r,Bt.cz=gn.z/l,Bt.parentId=n,Bt.foundationId=A,St.selectedElement&&(St.selectedElement.parentId=n,St.selectedElement.foundationId=A),Bt.type===z.Window?(Bt.cy=Bt.id===Oe.current?-.01:0,Bt.tint=Bt.id===Oe.current?"red":St.selectedElement.tint):Bt.type===z.SolarPanel&&(Bt.color=Bt.id===Oe.current?"red":"#fff",Bt.parentType=z.Wall)}),he("showWallIntersectionPlaneId",n))}else go()&&ur(Le.current)}function Fr(Ze){if(Ze.button!==2){if(go()){Ln.getState().setEnableOrbitController(!1),Se(!0);const{pointerOnGrid:bt}=_i(Ze,me.current),Nt=Mo(bt);O(St=>{var Bt,Jt;St.moveHandleType=null,((Bt=Le.current)==null?void 0:Bt.type)===z.Window?(St.resizeHandleType=gt.LowerRight,St.resizeAnchor.copy(Nt)):((Jt=Le.current)==null?void 0:Jt.type)===z.Door&&(St.resizeHandleType=gt.UpperRight,St.resizeAnchor.copy(Nt).setZ(-l/2))}),Le.current.status=1}else if(Cn(Ze))if(M.getState().objectTypeToAdd!==z.None){const Nt=Ze.point;qs(Nt,!0)}else M.getState().groupActionMode?(O(Nt=>{for(const St of Nt.elements)St.selected=St.id===A;Nt.multiSelectionsMode||Nt.selectedElementIdSet.clear(),Nt.selectedElementIdSet.has(A)?Nt.selectedElementIdSet.delete(A):Nt.selectedElementIdSet.add(A)}),Ze.stopPropagation()):So()&&M.getState().selectMe(n,Ze,zo.Select)}}function Oa(){Le.current&&Le.current.status===0&&(O(Ze=>{Ze.elements.pop(),Ze.addedDoorId=null,Ze.addedWindowId=null,Ze.moveHandleType=null,Ze.actionModeLock&&Le.current&&(Ze.objectTypeToAdd=Le.current.type)}),Le.current=null)}function Br(){go()&&ur(Le.current),Oe.current=null}function Pc(Ze){const bt=M.getState().selectedElement??J();if((bt==null?void 0:bt.parentId)===t.id){if(M.getState().moveHandleType){const Nt=bt.type!==z.Polygon?new re(-bt.lx/2*r,0,bt.lz/2*l):void 0,{relativePointer:St,pointerOnGrid:Bt}=_i(Ze,Te.current,Nt),Jt=$o(bt),an=Mo(Bt,{elementHalfSize:Jt,ignorePadding:bt.type===z.SolarPanel}),[gn,mn]=[Jt[0]*2,Jt[1]*2];if(bt.type!==z.SolarPanel&&zt(bt.id,an,gn,mn),bt.type!==z.Polygon){let vn=!0,kn;bt.type===z.Window&&bt.windowType===Sr.Polygonal&&(kn=bt.polygonTop??jp,vn=ln(an,gn,mn,kn));const jn=Et(bt.id,an,gn,mn,kn);vn&&jn?Oe.current=null:Oe.current=bt.id}$i(bt.id,an)}else if(M.getState().resizeHandleType){const{relativePointer:Nt,pointerOnGrid:St}=_i(Ze,Te.current),Bt=M.getState().resizeHandleType,Jt=M.getState().resizeAnchor;switch(bt.type){case z.Window:{const an=bt,gn=Mo(St,{resizeAnchor:Jt});if(Eo(an)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(an,gn,Jt),jn=new re(an.cx*r,0,vn);Et(an.id,jn,an.lx*r,mn),zt(an.id,jn,an.lx*r,mn),O(Wn=>{const $n=Wn.elements.find(Xn=>Xn.id===an.id);$n&&($n.lz=mn/l,$n.cz=vn/l,$n.archHeight=kn,$n.cy=$n.id===Oe.current?-.01:.3,$n.tint=$n.id===Oe.current?"red":an.tint)})}else if(Bt===gt.Upper){const mn=new re(an.cx*r,0,an.cz*l),[vn,kn]=[an.lx*r,an.lz*l],jn=xe.clamp((St.x-Jt.x)/vn,-.5,.5),Wn=Math.max(0,St.z-Jt.z),$n=[jn,Wn];(!Et(an.id,mn,vn,kn,$n)||!ln(mn,vn,kn,$n))&&(Oe.current=an.id),O(Xn=>{const Jo=Xn.elements.find(lr=>lr.id===an.id);Jo&&(Jo.polygonTop=[...$n],Jo.cy=Jo.id===Oe.current?-.01:.3,Jo.tint=Jo.id===Oe.current?"red":an.tint)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro(Ze,gn,Jt),kn=new re(vn.x,0,vn.z);let jn=!0,Wn;an.windowType===Sr.Polygonal&&(Wn=an.polygonTop??jp,jn=ln(kn,mn.x,mn.z,Wn)),(!Et(an.id,kn,mn.x,mn.z,Wn)||!jn||!zt(an.id,kn,mn.x,mn.z))&&(Oe.current=an.id),O($n=>{const Xn=$n.elements.find(Jo=>Jo.id===an.id);Xn&&(Xn.lx=mn.x/r,Xn.lz=mn.z/l,Xn.cx=vn.x/r,Xn.cz=vn.z/l,Xn.cy=Xn.id===Oe.current?-.01:.3,Xn.tint=Xn.id===Oe.current?"red":an.tint)})}break}case z.Door:{const an=bt,gn=Mo(St,{resizeAnchor:Jt});if(Eo(an)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(an,gn,Jt),jn=new re(an.cx*r,0,vn);Et(an.id,jn,an.lx*r,mn),zt(an.id,jn,an.lx*r,mn,!0),O(Wn=>{const $n=Wn.elements.find(Xn=>Xn.id===an.id);$n&&($n.lz=mn/l,$n.cz=vn/l,$n.archHeight=kn,$n.color=$n.id===Oe.current?cce:bt.color)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro(Ze,gn,Jt),kn=new re(vn.x,0,vn.z);Et(an.id,kn,mn.x,mn.z),zt(an.id,kn,mn.x,mn.z,!0),O(jn=>{const Wn=jn.elements.find($n=>$n.id===an.id);Wn&&(Wn.cx=vn.x/r,Wn.lx=mn.x/r,Wn.cz=(gn.z-l/2)/2/l,Wn.lz=(gn.z+l/2)/l,Wn.color=Wn.id===Oe.current?cce:bt.color)})}break}case z.SolarPanel:{const an=bt,[gn,mn]=Eqe(an);if(Bt===gt.Lower||Bt===gt.Upper){const kn=Math.max(1,Math.round(Math.abs(Nt.z-Jt.z)/mn))*mn,jn=new re(0,0,Nt.z-Jt.z).normalize().multiplyScalar(kn),Wn=new re().addVectors(Jt,jn.clone().divideScalar(2));if(!xe.isElementInsideWall(Wn,an.lx-.01,kn-.01,Pt))return;Et(an.id,Wn,an.lx,Math.abs(jn.z)),O($n=>{const Xn=$n.elements.find(Jo=>Jo.id===an.id);Xn&&(Xn.cz=Wn.z/l,Xn.ly=Math.abs(jn.z),Xn.color=Xn.id===Oe.current?"red":"#fff")})}else if(Bt===gt.Left||Bt===gt.Right){const kn=Math.max(1,Math.round(Math.abs(Nt.x-Jt.x)/gn))*gn,jn=new re(Nt.x-Jt.x,0,0).normalize().multiplyScalar(kn),Wn=new re().addVectors(Jt,jn.clone().divideScalar(2));if(!xe.isElementInsideWall(Wn,kn-.01,an.ly-.01,Pt))return;Et(an.id,Wn,Math.abs(jn.x),an.ly),O($n=>{const Xn=$n.elements.find(Jo=>Jo.id===an.id);Xn&&(Xn.cx=Wn.x/r,Xn.lx=Math.abs(jn.x),Xn.color=Xn.id===Oe.current?"red":"#fff")})}break}case z.Polygon:{O(an=>{const gn=an.elements.find(mn=>mn.id===bt.id);(gn==null?void 0:gn.selectedIndex)>=0&&(gn.vertices[gn.selectedIndex].x=-St.x/r,gn.vertices[gn.selectedIndex].y=-St.z/l)});break}}}}}function Is(){if(Oe.current)Le.current&&Le.current.status===1?(O(Ze=>{Ze.elements.pop(),Ze.actionModeLock&&Le.current&&(Ze.objectTypeToAdd=Le.current.type)}),Le.current=null):(M.getState().moveHandleType||M.getState().resizeHandleType)&&wd.undoInvalidOperation();else if(Le.current){if(Le.current.status===0)O(Ze=>{Ze.elements.pop(),Ze.actionModeLock&&Le.current&&(Ze.objectTypeToAdd=Le.current.type)}),Le.current=null;else if(Le.current.status===1){const Ze=M.getState().elements,bt=Ze[Ze.length-1];bt.lx*r<.1||bt.lz*l<.1?O(Nt=>{Nt.elements.pop(),Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type)}):(O(Nt=>{Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type,mx.selectNone(Nt))}),to(bt)),Le.current=null}}else M.getState().moveHandleType?wd.addUndoableMove():M.getState().resizeHandleType&&uo();Ln.getState().setEnableOrbitController(!0),Se(!1),O(Ze=>{Ze.moveHandleType=null,Ze.resizeHandleType=null,Ze.selectedElement=Ze.elements.find(bt=>{var Nt;return bt.id===((Nt=Ze.selectedElement)==null?void 0:Nt.id)})}),he("showWallIntersectionPlaneId",null),Oe.current=null,qo()}function qs(Ze,bt){if(Ae&&M.getState().objectTypeToAdd){let Nt=null;switch(M.getState().objectTypeToAdd){case z.PyramidRoof:{!b&&oi(!1,!0)&&(Nt=rl.makePyramidRoof([t.id],Ae));break}case z.GableRoof:{!b&&oi(!1,!1)&&(Nt=rl.makeGableRoof([t.id],Ae));break}case z.HipRoof:{!b&&oi(!1,!0)&&(Nt=rl.makeHipRoof([t.id],Ae,r/2));break}case z.GambrelRoof:{!b&&oi(!1,!1)&&(Nt=rl.makeGambrelRoof([t.id],Ae));break}case z.MansardRoof:{!b&&oi(!1,!0)&&(Nt=rl.makeMansardRoof([t.id],Ae));break}case z.SolarPanel:{if(Ze&&bt){const St=Ht(Ze,t),Bt=t.relativeAngle-Vt,Jt=M.getState().actionState;Nt=rl.makeSolarPanel(t,M.getState().getPvModule(Jt.solarPanelModelName??"SPR-X21-335-BLK"),St.x/r,0,St.z/l,Jt.solarPanelOrientation??ui.landscape,Jt.solarPanelPoleHeight??1,Jt.solarPanelPoleSpacing??3,0,0,new re(Math.cos(Bt),Math.sin(Bt),0),[0,0,0],Jt.solarPanelFrameColor,void 0,void 0,z.Wall)}break}case z.Sensor:{if(Ze&&bt){const St=Ht(Ze,t),Bt=t.relativeAngle-Vt;Nt=rl.makeSensor(t,(St.x-.05)/r,0,(St.z-.05)/l,new re(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}case z.Light:{if(Ze&&bt){const St=Ht(Ze,t),Bt=t.relativeAngle-Vt,Jt=M.getState().actionState;Nt=rl.makeLight(t,2,Jt.lightDistance,Jt.lightIntensity,Jt.lightColor,(St.x-.05)/r,0,(St.z-.05)/l,new re(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}}Nt&&(to(Nt),O(St=>{St.elements.push(Nt),Nt&&Nt.type===z.Roof&&St.addedRoofIdSet.add(Nt.id),St.actionModeLock||(St.objectTypeToAdd=z.None)}))}}function Pr(Ze,bt,Nt){De.current||(Z(n,Ze,zo.ContextMenu),O(St=>{Ze.intersections.length>0&&Ze.intersections[0].object===bt&&(St.contextMenuObjectType=z.Wall,Nt&&St.pastePoint.copy(Ze.intersections[0].point))}),Ze.stopPropagation())}function pa(Ze){if(Ze.button===2)return;const bt=M.getState().objectTypeToAdd;!go()&&!ee()&&Cn(Ze)&&bt===z.None?M.getState().groupActionMode?(O(Nt=>{for(const St of Nt.elements)St.id===A?St.selected=!0:St.selected=!1}),Ze.stopPropagation()):So()&&M.getState().selectMe(n,Ze,zo.Select):In.isTypeRoof(bt)&&Fr(Ze)}function Wl(Ze){Ze.button===2||Ze.intersections.length===0||Ze.intersections[0].object!==Ze.eventObject||(M.getState().groupActionMode?O(bt=>{for(const Nt of bt.elements)Nt.selected=Nt.id===A;bt.selectedElementIdSet.clear(),bt.selectedElementIdSet.add(A)}):(fn(Ze)&&(O(bt=>{bt.contextMenuObjectType=null}),Z(n,Ze,zo.Select)),qs(),Ze.stopPropagation()))}function Yl(Ze){Ze.intersections.length>0&&Ze.intersections[0].object===Ze.eventObject&&(Z(n,Ze,zo.ContextMenu),O(bt=>{bt.contextMenuObjectType=z.Wall}),Ze.stopPropagation())}function Xu(){let[Ze,bt]=v??[0,(at+ot)/2];Ze=Ze*r;const Nt=Ze+$e,St=Math.hypot(Nt,bt-at),Bt=-Math.atan2(bt-at,Nt),Jt=$e-Ze,an=Math.hypot(Jt,ot-bt),gn=-Math.atan2(ot-bt,Jt);return h.jsxs("group",{name:`wall stud group ${n}`,children:[Ne.map(([mn,vn],kn)=>{let jn;return mn{let Wn;return vn0||S===hc.Default)&&h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{name:"Wall Simulation Mesh",uuid:n,userData:{simulation:!0},rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[At]}),h.jsx("meshBasicMaterial",{side:ji})]}),h.jsxs("mesh",{name:`${wd.WALL_OUTSIDE_SURFACE_MESH_NAME} ${n}`,ref:me,rotation:[Vt,0,0],castShadow:_e,receiveShadow:ne,onContextMenu:Ze=>{Pr(Ze,me.current,!0)},onPointerMove:di,onPointerDown:Fr,onPointerUp:Oa,onPointerOut:Br,children:[h.jsx("shapeGeometry",{args:[At]}),pe&&Ce?h.jsx("meshBasicMaterial",{attach:"material",map:Ce,color:"white",opacity:D,transparent:Ve}):h.jsx("meshStandardMaterial",{attach:"material",color:d===No.Default||d===No.NoTexture?f:"white",map:_,transparent:Ve,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,.05,0],castShadow:_e,children:[h.jsx("shapeGeometry",{args:[Ft]}),h.jsx("meshStandardMaterial",{color:"white",side:p0,transparent:Ve,opacity:D})]}),h.jsxs("mesh",{name:"Inside Wall",ref:Pe,position:[0,a,0],rotation:[Vt,0,0],castShadow:_e,receiveShadow:ne,onPointerDown:pa,onContextMenu:Ze=>{Pr(Ze,Pe.current)},children:[h.jsx("shapeGeometry",{args:[Ft]}),h.jsx(CQt,{transparent:Ve,color:f,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,a-.01,0],receiveShadow:!0,children:[h.jsx("shapeGeometry",{args:[Ft]}),h.jsx("meshStandardMaterial",{color:"white",side:ia,transparent:Ve,opacity:D})]}),(!b||et)&&!nt&&h.jsx("mesh",{name:"Top Wall",ref:Me,material:Wt,position:[0,We,Ke],rotation:[0,-Je,0],castShadow:_e,receiveShadow:ne,onPointerDown:pa,onContextMenu:Ze=>{Pr(Ze,Me.current)},children:h.jsx("shapeGeometry",{args:[ct]})}),Ge===0&&h.jsx(sa,{args:[at-ut,a],material:Wt,position:[-$e+.01,We,-Ee+ut+(at-ut)/2],rotation:[0,Vt,0],castShadow:_e,receiveShadow:ne,onPointerDown:pa}),rt===0&&h.jsx(sa,{args:[ot-ft,a],material:Wt,position:[$e-.01,We,-Ee+ft+(ot-ft)/2],rotation:[0,Vt,0],castShadow:_e,receiveShadow:ne,onPointerDown:pa}),(de||$===n)&&((pn=M.getState().selectedElement)==null?void 0:pn.parentId)===n&&h.jsxs(h.Fragment,{children:[h.jsx(sa,{ref:Te,name:PQt,args:[1e4,1e4],position:[0,a/3,0],rotation:[Vt,0,0],onPointerMove:Pc,onPointerUp:Is,visible:!1,children:h.jsx("meshBasicMaterial",{color:"blue",side:ji})}),h.jsx(sa,{name:Cre,args:[r,l],rotation:[Vt,0,0],position:[0,a,0],onPointerMove:()=>{},visible:!1})]}),ye.map(Ze=>{switch(Ze.type){case z.Window:return h.jsx(pqe,{...Ze,cx:Ze.cx*r,cy:Ze.cy*a,cz:Ze.cz*l,lx:Ze.lx*r,ly:a,lz:Ze.lz*l},Ze.id);case z.Door:return k!==Hl.Full?null:h.jsx(dQt,{...Ze,cx:Ze.cx*r,cy:0,cz:Ze.cz*l,lx:Ze.lx*r,ly:a,lz:Ze.lz*l},Ze.id);case z.SolarPanel:let bt=0;return Ae&&t&&(bt=Ae.rotation[2]+t.relativeAngle),h.jsx("group",{position:[0,-Ze.lz/2,0],children:h.jsx(yQt,{...Ze,cx:Ze.cx*r,cz:Ze.cz*l,absRotation:bt})},Ze.id);default:return null}})]}),ye.map(Ze=>Ze.type===z.Polygon&&k!==Hl.Empty?h.jsx(Dqe,{...Ze},Ze.id):null),S===hc.Stud&&Xu(),S===hc.Pillar&&Cc(),nt&&h.jsx(bQt,{args:U,wallData:lt,parapetZ:yt,currWallPointData:Ye,leftWallPointData:st,rightWallPointData:je}),(S===hc.Default||w&&Y)&&h.jsx(tQt,{lineColor:Y&&w?l0:p,lineWidth:Y&&w?2:g,hx:$e,hz:Ee,fill:k,isTopPartial:et,leftUnfilledHeight:W,rightUnfilledHeight:N,showParapet:nt,leftHeight:at,rightHeight:ot,center:v,centerLeft:T,centerRight:y}),Y&&h.jsx(hye,{element:t,verticalLift:0}),(de||$===n)&&((Pn=M.getState().selectedElement)==null?void 0:Pn.parentId)===n&&h.jsx("group",{position:[0,-.001,0],rotation:[Vt,0,0],children:h.jsx(Age,{hx:$e,hy:Ee,hz:0})}),h.jsx(TQt,{wallModel:t,notBuilding:Ae.notBuilding})]})};function Eqe(t){const e=M.getState().getPvModule(t.pvModelName);return t.orientation===ui.landscape?[e.length,e.width]:[e.width,e.length]}const HQt=(t,e)=>t.wallModel===e.wallModel,MQt=be.memo(RQt,HQt);class In{static getWireframetStyle(e,n,o,i){return[o&&i?l0:e,o&&i?1:n]}static getComposedWallNormal(e){return new re().subVectors(e.leftPoint,e.rightPoint).applyEuler(eG).normalize()}static getWallNormal(e){return new re().subVectors(new re(e.leftPoint[0],e.leftPoint[1]),new re(e.rightPoint[0],e.rightPoint[1])).applyEuler(eG).normalize()}static isTypeRoof(e){return e===z.Roof||e===z.PyramidRoof||e===z.HipRoof||e===z.GableRoof||e===z.GambrelRoof||e===z.MansardRoof}static getIntersectionPoint(e,n,o,i){if(Math.abs(e.x-n.x)<.001&&Math.abs(o.x-i.x)<.001)return n.clone();const r=(n.y-e.y)/(n.x-e.x),a=(i.y-o.y)/(i.x-o.x);if(Math.abs(r-a)<.001)return n.clone();const l=[e.x,n.x,o.x,i.x],s=[e.y,n.y,o.y,i.y],c=((l[2]-l[3])*(l[1]*s[0]-l[0]*s[1])-(l[0]-l[1])*(l[3]*s[2]-l[2]*s[3]))/((l[2]-l[3])*(s[0]-s[1])-(l[0]-l[1])*(s[2]-s[3])),u=((s[2]-s[3])*(s[1]*l[0]-s[0]*l[1])-(s[0]-s[1])*(s[3]*l[2]-s[2]*l[3]))/((s[2]-s[3])*(l[0]-l[1])-(s[0]-s[1])*(l[2]-l[3]));return!Number.isFinite(c)||!Number.isFinite(u)?n.clone():new re(c,u)}static getDistance(e,n,o){const i=n.y-e.y;if(i===0)return Math.abs(e.y-o.y);const r=e.x-n.x;if(r===0)return Math.abs(e.x-o.x);const a=n.x*e.y-e.x*n.y,l=Math.abs((i*o.x+r*o.y+a)/Math.sqrt(i*i+r*r));return l===0?1/0:l}static getWallPoints2D(e,n,o,i){const{lx:r,lz:a,rightRoofHeight:l,leftRoofHeight:s}=e,c=o??e.centerLeftRoofHeight,u=n??e.centerRoofHeight,d=i??e.centerRightRoofHeight,f=[],p=r/2,g=a/2;return f.push({x:-p,y:-g}),f.push({x:p,y:-g}),l?f.push({x:p,y:l-g}):f.push({x:p,y:g}),d&&f.push({x:d[0]*r,y:d[1]-g}),u&&f.push({x:u[0]*r,y:u[1]-g}),c&&f.push({x:c[0]*r,y:c[1]-g}),s?f.push({x:-p,y:s-g}):f.push({x:-p,y:g}),f}static isPointInside(e,n,o){let i=!1;for(let r=0,a=e.length-1;ro!=u>o&&n<(c-l)*(o-s)/(u-s)+l&&(i=!i)}return i}static isRoofValid(e,n,o,i,r,a){for(const l of M.getState().elements)if(l.type===z.Wall&&l.roofId===e){const s=l;let c=[];if(s.id===n)c=In.getWallPoints2D(s,i,r,a);else if(s.id===o){let u,d,f;i&&(u=[-i[0],i[1]]),a&&(d=[-a[0],a[1]]),r&&(f=[-r[0],r[1]]),c=In.getWallPoints2D(s,u,d,f)}if(s.id===n||s.id===o){for(const u of M.getState().elements)if(u.parentId===s.id){let d=u.lx/2,f=u.lz/2,p=tP;u.type===z.SolarPanel&&(d=(d-.01)/s.lx,f=(u.ly/2-.01)/s.lz,p=0);const g=u.cx*s.lx-d*s.lx,A=u.cx*s.lx+d*s.lx,w=u.cz*s.lz+f*s.lz+p;if(!In.isPointInside(c,g,w)||!In.isPointInside(c,A,w))return!1}}}return!0}static getSegmentIdx(e,n){for(let o=0;or.z){const u=[l,a,i];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}else{const u=[l,a,r];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else if(s<=c){const u=[l,a,r];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else{const u=[l,a,i];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}}static getSegmentNormal(e){const[n,o,i]=e;return new re().crossVectors(new re().subVectors(n,o),new re().subVectors(n,i)).normalize()}static getRotationFromNormal(e){return xe.isSame(e.normalize(),Po)?[0,0,0]:[Math.PI/2-Math.atan2(e.z,Math.hypot(e.x,e.y)),0,Math.atan2(e.y,e.x)+Math.PI/2]}static getRooftopElementZ(e,n,o){const[i,r,a]=e,l=(r.y-i.y)*(a.z-i.z)-(r.z-i.z)*(a.y-i.y),s=(r.z-i.z)*(a.x-i.x)-(r.x-i.x)*(a.z-i.z),c=(r.x-i.x)*(a.y-i.y)-(r.y-i.y)*(a.x-i.x);return-(-(l*i.x+s*i.y+c*i.z)+l*n.x+s*n.y)/c+o}static computeState(e,n,o){const i=In.getSegmentIdx(e,n);if(o)return{segmentIdx:-1,segmentVertices:null,normal:new re(0,0,1),rotation:[0,0,0]};if(i!==-1){const r=In.getSegmentVertices(e,i,n),a=In.getSegmentNormal(r),l=In.getRotationFromNormal(a);return{segmentIdx:i,segmentVertices:r,normal:a,rotation:l}}else return{segmentIdx:-1,segmentVertices:null,normal:new re(0,0,1),rotation:[0,0,0]}}static getOrderedWallArrayOfRoof(e){const n=new Map;for(const a of M.getState().elements)a.type===z.Wall&&a.roofId===e&&n.set(a.id,a);if(n.size===0)return{orderedWallArray:[],isLoop:!1};const o=n.entries().next().value[1],i=[o];let r=o.rightJoints[0];for(;r&&r!==o.id;){const a=n.get(r);if(a)i.push(a),r=a.rightJoints[0];else break}if(r===o.id)return{orderedWallArray:i,isLoop:!0};for(r=o.leftJoints[0];r;){const a=n.get(r);if(a)i.unshift(a),r=a.leftJoints[0];else break}return{orderedWallArray:i,isLoop:!1}}static getRoofBoundaryVertices(e){const n=Sn.getState().roofSegmentVerticesMap.get(e.id);if(!n)throw new Error;if(e.roofType!==Vo.Gable&&e.rise<.01)return n[0].map(o=>({x:o.x,y:o.y}));switch(e.roofType){case Vo.Gable:return n.length===1?n[0].map(o=>({x:o.x,y:o.y})):n.reduce((o,i)=>(o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Gambrel:return n.reduce((o,i,r)=>((r===0||r===3)&&o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Mansard:return n.reduce((o,i,r)=>(r!==n.length-1&&o.push({x:i[0].x,y:i[0].y}),o),[]);default:return n.reduce((o,i,r)=>(o.push({x:i[0].x,y:i[0].y}),o),[])}}static getAbsoluteWindowVerticesOnRoof(e,n){const o=[],i=new re(e.cx,e.cy,e.cz),r=new re(n.cx,n.cy,n.lz);if(e.windowType===Sr.Arched){const a=Math.min(e.archHeight,e.lx/2,e.lz);for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=s*c>0?new re(e.lx/2*s,(e.lz/2-a)*c*s,0):new re(e.lx/2*s,e.lz/2*c*s,0);u.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),u.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(u)}const l=new re(0,e.lz/2,0);l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),l.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(l)}else{for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new re(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const a=new re(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),a.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(a)}}return o}static getRelativeWindowVerticesOnRoof(e){const n=[],o=new re(e.cx,e.cy,e.cz);if(e.windowType===Sr.Arched){const i=Math.min(e.archHeight,e.lx/2,e.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=a*l>0?new re(e.lx/2*a,(e.lz/2-i)*l*a,0):new re(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(s)}const r=new re(0,e.lz/2,0);r.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(r)}else{for(let i=-1;i<=1;i+=2)for(let r=-1;r<=1;r+=2){const a=new re(e.lx/2*i,e.lz/2*r*i,0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(a)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const i=new re(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);i.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(i)}}return n}static getAbsoluteSolarPanelVerticesOnRoof(e,n){const o=[],i=new re(e.cx*n.lx,e.cy*n.ly,e.cz),r=new re(n.cx,n.cy,n.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new re(e.lx/2*a,e.ly/2*l*a,0);e.rotation[0]===0?s.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}return o}static getSolarPanelVerticesOnRoof(e,n){const o=[],i=new re(e.cx*n.lx,e.cy*n.ly,e.cz+n.lz);for(let r=-1;r<=1;r+=2)for(let a=-1;a<=1;a+=2){const l=new re(e.lx/2*r,e.ly/2*a*r,0);e.rotation[0]===0?l.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),o.push(l)}return o}static getWindowVerticesOnRoof(e,n=0){const o=[],i=new re(e.cx,e.cy,e.cz),[r,a]=[e.lx/2+n,e.lz/2+n];for(let l=-1;l<=1;l+=2)for(let s=-1;s<=1;s+=2){const c=new re(l*r,l*s*a);c.applyEuler(new Qt().fromArray([e.rotation[0],e.rotation[1],e.rotation[2],"ZXY"])).add(i),o.push(c)}if(e.windowType===Sr.Polygonal){const[l,s]=e.polygonTop??jp,c=new re(l*e.lx,e.lz+s).add(i);o.push(c)}return o}static rooftopElementBoundaryCheck(e,n){for(const o of e)if(!xe.isPointInside(o.x,o.y,n))return!1;return!0}static rooftopWindowCollisionCheck(e,n,o){const i=[];for(const r of M.getState().elements)if(r.parentId===o&&r.id!==e){const a=In.getWindowVerticesOnRoof(r);i.push(a)}for(const r of i){for(const a of n)if(xe.isPointInside(a.x,a.y,r))return!1;for(const a of r)if(xe.isPointInside(a.x,a.y,n))return!1}return!0}static rooftopSPCollisionCheck(e,n,o){for(const i of M.getState().elements)if(i.type===e.type&&i.parentId===e.parentId&&i.id!==e.id){const r=In.getSolarPanelVerticesOnRoof(i,n);for(const s of o)if(xe.isPointInside(s.x,s.y,r))return!1;for(const s of r)if(xe.isPointInside(s.x,s.y,o))return!1;const a=o.map(xe.mapVector3ToPoint2),l=r.map(xe.mapVector3ToPoint2);a.push(a[0]),l.push(l[0]);for(let s=0;s{const a=M(Cb),l=M(ty),s=m.useRef(null),[c,u,d]=e;let f=jx;c===0&&u===0?f=L3t:c===0?f=Fk:u===0&&(f=jx);const p=l===t||a===t?nr:f;return h.jsx(ts,{ref:s,name:t,args:[n/2,6,6,0,Math.PI],position:[c,u,d],onPointerDown:o,onPointerOver:g=>{i(g,t)},onPointerOut:r,children:h.jsx("meshBasicMaterial",{color:p})})}),dm=be.memo(({handleType:t,position:e,size:n,onPointerOver:o,onPointerOut:i})=>{const r=M(yh),a=M(ty),l=m.useRef(null),[s,c,u]=e,d=a===t||r===t?nr:pr,f=()=>{if(l.current){const p=l.current.localToWorld(new re(-s*2,-c*2,0));M.getState().set(g=>{g.resizeAnchor.copy(p),g.resizeHandleType=t}),Ln.getState().setEnableOrbitController(!1)}};return h.jsx(Ei,{ref:l,name:t,args:[n,n,n],position:[s,c,u],onPointerDown:f,onPointerOver:p=>{o(p,t)},onPointerOut:i,children:h.jsx("meshBasicMaterial",{color:d})})}),BQt=({id:t,args:e})=>{const[n,o,i]=e,r=M(dn),a=M(Vn),l=M(hu),s=M(Iq),[c,u]=m.useState(null),{gl:d,raycaster:f}=Xi(),p=UH(),g=m.useRef(null),A=m.useRef(null),w=m.useRef(null),b=m.useRef(null),C=m.useRef(null),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(null),y=m.useMemo(()=>[0,Math.min(-1.2*o,-o-.75)-p*2,I9/2-i],[o,i,p]),S=m.useMemo(()=>[0,Math.max(1.2*o,o+.75)+p*2,I9/2-i],[o,i,p]),x=c!==null,R=!l,H=!s,D=m.useCallback((q,ae)=>{ht.getState().duringCameraInteraction||q.intersections.length>0&&(q.intersections[0].object===q.eventObject||q.intersections.length>1&&q.intersections[1].object===q.eventObject)&&(r(se=>{se.hoveredHandle=ae;const le=a(t);le&&(se.selectedElementAngle=le.rotation[2],se.selectedElementHeight=le.lz)}),xe.isMoveHandle(ae)?d.domElement.style.cursor="move":ae===wi.Upper||ae===wi.Lower?d.domElement.style.cursor="grab":d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"pointer")},[]),k=m.useCallback(()=>{r(q=>{q.hoveredHandle=null}),d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),W=q=>{const ae=a(q);if(!ae)return 0;const ne=ae.rotation[2];return ae.parentId===Zo?ne:ne+W(ae.parentId)},N=q=>{switch(q){case z.Human:case z.Flower:case z.Tree:return!0}return!1},L=q=>N(q)||q===z.Cuboid,E=q=>{r(ae=>{const ne=ae.elements.find(Ie=>Ie.id===t);if(!ne)return;const se=q.clone().setZ(0),le=M.getState().resizeAnchor.clone().setZ(0),te=new re().subVectors(se,le).applyEuler(new Qt(0,0,-(w.current??0))),he=new re().addVectors(se,le).multiplyScalar(.5),{pos:pe,rot:fe}=xe.getWorldDataById(ne.parentId),$=new re().subVectors(he,pe).applyEuler(new Qt(0,0,-fe));ne.cx=$.x,ne.cy=$.y;const de=Math.abs(te.x),Se=Math.abs(te.y);ne.lx=de,ne.ly=Se;const Ce=new re($.x,$.y,ne.cz).applyEuler(new Qt(0,0,fe)).add(pe),ve=ne.rotation[2]+fe;if(P.current.size>0)for(const Ie of ae.elements){const ze=P.current.get(Ie.id);if(ze){const ye=ze.clone().sub(Ce).applyEuler(new Qt(0,0,-ve));if(N(Ie.type)){const oe=v.current.get(Ie.id);if(oe){const[ge,Ae]=oe;ge==="Top"?(Ie.cx=ye.x,Ie.cy=ye.y):ge==="NS"?(Ie.cx=ye.x,Ie.cy=Math.sign(Ae)*(Se/2)):ge==="EW"&&(Ie.cx=Math.sign(Ae)*(de/2),Ie.cy=ye.y)}}else Ie.type===z.Cuboid?(Ie.cx=ye.x,Ie.cy=ye.y):(Ie.cx=ye.x/de,Ie.cy=ye.y/Se)}}})},U=q=>{r(ae=>{const ne=ae.elements.find(ve=>ve.id===t);if(!ne)return;const se=q.clone().setZ(0),le=M.getState().resizeAnchor.clone().setZ(0),te=new re().subVectors(se,le).applyEuler(new Qt(0,0,-(w.current??0))),he=new re().addVectors(se,le).multiplyScalar(.5),{pos:pe,rot:fe}=xe.getWorldDataById(ne.parentId),$=new re().subVectors(he,pe).applyEuler(new Qt(0,0,-fe));ne.cx=$.x;const de=Math.abs(te.x);ne.lx=de;const Se=new re($.x,$.y,ne.cz).applyEuler(new Qt(0,0,fe)).add(pe),Ce=ne.rotation[2]+fe;if(P.current.size>0)for(const ve of ae.elements){const Ie=P.current.get(ve.id);if(Ie){const ze=Ie.clone().sub(Se).applyEuler(new Qt(0,0,-Ce));if(N(ve.type)){const ye=v.current.get(ve.id);if(ye){const[oe,ge]=ye;oe==="Top"||oe==="NS"?ve.cx=ze.x:oe==="EW"&&(ve.cx=Math.sign(ge)*(de/2))}}else ve.type===z.Cuboid?ve.cx=ze.x:ve.cx=ze.x/de}}})},F=q=>{r(ae=>{const ne=ae.elements.find(ve=>ve.id===t);if(!ne)return;const se=q.clone().setZ(0),le=M.getState().resizeAnchor.clone().setZ(0),te=new re().subVectors(se,le).applyEuler(new Qt(0,0,-(w.current??0))),he=new re().addVectors(se,le).multiplyScalar(.5),{pos:pe,rot:fe}=xe.getWorldDataById(ne.parentId),$=new re().subVectors(he,pe).applyEuler(new Qt(0,0,-fe));ne.cy=$.y;const de=Math.abs(te.y);ne.ly=de;const Se=new re($.x,$.y,ne.cz).applyEuler(new Qt(0,0,fe)).add(pe),Ce=ne.rotation[2]+fe;if(P.current.size>0)for(const ve of ae.elements){const Ie=P.current.get(ve.id);if(Ie){const ze=Ie.clone().sub(Se).applyEuler(new Qt(0,0,-Ce));if(N(ve.type)){const ye=v.current.get(ve.id);if(ye){const[oe,ge]=ye;oe==="Top"?ve.cy=ze.y:oe==="NS"?ve.cy=Math.sign(ge)*(de/2):oe==="EW"&&(ve.cy=ze.y)}}else ve.type===z.Cuboid?ve.cy=ze.y:ve.cy=ze.y/de}}})},B=q=>{if(g.current!==null){const ae=Math.max(1,q.z-g.current);r(ne=>{for(const se of ne.elements)if(se.id===t&&(se.lz=ae,se.cz=ae/2,ne.selectedElementHeight=ae),se.parentId===t&&N(se.type)){const le=v.current.get(se.id);le&&le[0]==="Top"&&(se.cz=ae/2)}})}},_=q=>{if(A.current){const[ae,ne]=A.current;let se=Math.atan2(ae-q.x,q.y-ne)+(M.getState().rotateHandleType===wi.Upper?0:Math.PI);const le=Math.abs(se)>Math.PI?-Math.sign(se)*na:0;b.current&&(se-=b.current),M.getState().updateElementRotationById(t,0,0,se+le)}},Y=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name||M.getState().addedCuboidId){const ae=a(t);if(ae&&ae.parentId!==Zo){u({position:new re(0,0,-i),rotation:new Qt});const{pos:ne,rot:se}=xe.getWorldDataById(ae.parentId);C.current=ne,b.current=se,w.current=se+ae.rotation[2];const le=new re(ae.cx,ae.cy,ae.cz).applyEuler(new Qt(0,0,se)).add(ne),te=M.getState().elements.filter(he=>he.parentId===ae.id&&(L(he.type)||xe.isIdentical(he.normal,[0,0,1])));P.current.clear(),v.current.clear();for(const he of te){const pe=new re;N(he.type)?(pe.set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01?v.current.set(he.id,["Top",1]):Math.abs(Math.abs(he.cx)-n)<.01?v.current.set(he.id,["EW",Math.sign(he.cx)]):v.current.set(he.id,["NS",Math.sign(he.cy)])):he.type===z.Cuboid?pe.set(he.cx,he.cy,he.cz):pe.set(he.cx*ae.lx,he.cy*ae.ly,0),pe.applyEuler(new Qt(0,0,w.current)).add(le),P.current.set(he.id,pe)}}r(ne=>{ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(t),ne.selectedElement=ne.elements.find(se=>se.id===t)??null})}},O=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){const ae=q.intersections[0].object,ne=M.getState().cameraDirection,se=Math.atan2(ne.x,ne.y)+W(t);u({position:ae.position.clone(),rotation:new Qt(-Vt,se,0)});const le=ae.localToWorld(new re);g.current=le.z-i*2;const te=M.getState().elements.filter(he=>he.parentId===t&&N(he.type));v.current.clear();for(const he of te)new re().set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01&&v.current.set(he.id,["Top",1]);r(he=>{he.selectedElementIdSet.clear(),he.selectedElementIdSet.add(t),he.selectedElement=he.elements.find(pe=>pe.id===t)??null})}},J=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){u({position:new re(0,0,-i),rotation:new Qt(0,0,0)});const ae=q.eventObject;A.current=ae.localToWorld(new re).toArray();const ne=a(t);ne&&(b.current=W(ne.parentId))}},Z=q=>{if(q.intersections.length>0){const ae=q.intersections[0].eventObject.name;switch(ae){case yo.Lower:case yo.Upper:case yo.Left:case yo.Right:case yo.Top:{M.getState().set(ne=>{const se=ne.elements.find(le=>le.id===t)??null;if(se){if(ne.selectedElement=se,se.parentId===Zo)for(const le of ne.elements)ne.selectedElementIdSet.has(le.id)&&!xe.isElementAllowedMultipleMoveOnGround(le)&&ne.selectedElementIdSet.delete(le.id);else ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(se.id);ne.moveHandleType=ae}}),Ln.getState().setEnableOrbitController(!1);break}}}},ie=q=>{if(T.current){const ae=f.intersectObject(T.current);if(ae.length){const ne=ae[0].point,se=M.getState().resizeHandleType;se?xe.isTopResizeHandle(se)?B(ne):xe.isXResizeHandle(se)?U(ne):xe.isYResizeHandle(se)?F(ne):E(ne):M.getState().rotateHandleType&&_(ne)}}},ee=()=>{u(null),g.current=null,A.current=null,w.current=null,b.current=null,C.current=null};return h.jsxs(h.Fragment,{children:[x&&h.jsx(sa,{name:"Cuboid Intersection Plane",ref:T,args:[1e4,1e4],position:c.position,rotation:c.rotation,visible:!1,onPointerMove:ie,onPointerUp:ee}),h.jsxs("group",{name:"Bottom Resize Handle Group",position:[0,0,-i+p/2],onPointerDown:Y,children:[h.jsx(dm,{handleType:gt.UpperLeft,position:[-n,o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.UpperRight,position:[n,o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.LowerLeft,position:[-n,-o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.LowerRight,position:[n,-o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Left,position:[-n,0,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Right,position:[n,0,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Upper,position:[0,o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Lower,position:[0,-o,0],size:p,onPointerOver:D,onPointerOut:k})]}),R&&h.jsxs("group",{name:"Cuboid Top Resize Handle Group",onPointerDown:O,children:[h.jsx(dm,{handleType:gt.LowerLeftTop,position:[-n,-o,i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.UpperLeftTop,position:[-n,o,i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.LowerRightTop,position:[n,-o,i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.UpperRightTop,position:[n,o,i],size:p,onPointerOver:D,onPointerOut:k})]}),H&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Cuboid Move Handle Group",onPointerDown:Z,children:[h.jsx(Dz,{handleType:yo.Lower,position:[0,-o-p*1.2,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Upper,position:[0,o+p*1.2,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Left,position:[-n-p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Right,position:[n+p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Top,position:[0,0,i],size:p,onPointerOver:D,onPointerOut:k})]}),h.jsxs("group",{name:"Cuboid Rotate Handle Group",onPointerDown:J,children:[h.jsx(l7,{id:t,handleType:wi.Lower,position:y,ratio:p*4,hoverHandle:D,noHoverHandle:k}),h.jsx(l7,{id:t,position:S,handleType:wi.Upper,ratio:p*4,hoverHandle:D,noHoverHandle:k})]})]})]})},jQt=be.memo(BQt),YQt=t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=1,color:l="silver",lineColor:s="black",lineWidth:c=.1,locked:u=!1,showLabel:d=!1,textureTypes:f=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:p}=t,g=Hs(e),A=M(dn),w=M(Sc),b=M(hu),C=M(Vn),P=M(xb),v=M(uge),T=M(hp),y=M(t3),S=M(R7),x=M(e3),R=M(ige),H=M(hwt),D=M(Vc),k=M(sge),W=M(J2),N=M(ss),L=M(En),E=M(pge),U=M(H7),F=M(oje),B=M(oge),_=ht(cs),Y=M(wf),O=Sn(i1),J=M(sA),{camera:Z,gl:{domElement:ie},raycaster:ee,mouse:q}=Xi(),[ae,ne]=m.useState(null),[se,le]=m.useState(null),[te,he]=m.useState(null),[pe,fe]=m.useState(null),[$,de]=m.useState(null),[Se,Ce]=m.useState(!1),[ve,Ie]=m.useState(!1),ze=m.useRef(null),ye=m.useRef(null),oe=m.useRef(null),ge=m.useRef(Po),[Ae,me]=m.useState(new re(0,0,0)),Pe=m.useRef(new Qt(0,0,0)),Me=m.useRef(new re(1,1,1)),Te=m.useRef(new re),De=m.useRef(new re),Ue=m.useRef(new re),Oe=m.useRef(new re),Le=m.useRef(new re(1,1,1)),$e=m.useRef(new re(1,1,1)),We=m.useRef(0),Ee=m.useRef(0),Fe=m.useRef([]),Ge=m.useRef([]),rt=m.useRef(null),Ve=m.useRef(new re),xt=m.useRef(0),dt=m.useMemo(()=>({lng:w}),[w]),Qe=i/2,ut=r/2,ft=a/2,at=m.useMemo(()=>new re,[]),ot=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.CuboidElement",dt))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",dt)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",dt)+": ("+n.toFixed(1)+", "+o.toFixed(1)+", "+(a/2).toFixed(1)+") "+j.t("word.MeterAbbreviation",dt)),[t==null?void 0:t.label,t==null?void 0:t.locked,dt,n,o,a]);m.useEffect(()=>{const Cn=()=>{oe.current=null,Ie(!1),Ln.getState().setEnableOrbitController(!0)};return window.addEventListener("pointerup",Cn),()=>{window.removeEventListener("pointerup",Cn)}},[]),m.useEffect(()=>{M.getState().tempHumanPlant.length>0&&A(Cn=>{Cn.elements.push(...Cn.tempHumanPlant),Cn.tempHumanPlant=[]})},[]),m.useEffect(()=>{if(t&&_){const Cn=Y??5,yn=O(t.id+"-top");yn&&ne(xe.fetchHeatmapTexture(yn,Cn));const no=O(t.id+"-south");no&&le(xe.fetchHeatmapTexture(no,Cn));const Eo=O(t.id+"-north");Eo&&he(xe.fetchHeatmapTexture(Eo,Cn));const ni=O(t.id+"-west");ni&&fe(xe.fetchHeatmapTexture(ni,Cn));const Lo=O(t.id+"-east");Lo&&de(xe.fetchHeatmapTexture(Lo,Cn,!0))}},[_,Y]);const et=Cn=>{switch(Cn){case Co.Facade01:return IQt;case Co.Facade02:return zQt;case Co.Facade03:return DQt;case Co.Facade04:return EQt;case Co.Facade05:return kQt;case Co.Facade06:return FQt;case Co.Facade07:return LQt;case Co.Facade08:return WQt;case Co.Facade09:return NQt;case Co.Facade10:return UQt;default:return eg}},_e=Cn=>{switch(Cn){case Co.Facade01:return{x:14,y:6.5};case Co.Facade02:return{x:14,y:6.5};case Co.Facade03:return{x:10,y:12};case Co.Facade04:return{x:20,y:11};case Co.Facade05:return{x:15,y:10};case Co.Facade06:return{x:11,y:3.5};case Co.Facade07:return{x:11,y:10};case Co.Facade08:return{x:16,y:9};case Co.Facade09:return{x:10,y:9};case Co.Facade10:return{x:12,y:9};default:return{x:1,y:1}}},nt=m.useMemo(()=>new nf().load(f?et(f[0]):eg,Cn=>{const yn=_e(f[0]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=Vt,Cn.center.x=1,Cn.center.y=0,Cn.wrapS=Cn.wrapT=Ss,Tt(Cn)}),[f[0],r,a]),[yt,Tt]=m.useState(nt),Rt=m.useMemo(()=>new nf().load(f?et(f[1]):eg,Cn=>{const yn=_e(f[1]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=-Vt,Cn.wrapS=Cn.wrapT=Ss,Ct(Cn)}),[f[1],r,a]),[Wt,Ct]=m.useState(Rt),At=m.useMemo(()=>new nf().load(f?et(f[2]):eg,Cn=>{const yn=_e(f[2]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.rotation=Math.PI,Cn.center.x=0,Cn.center.y=1,Cn.wrapS=Cn.wrapT=Ss,Ke(Cn)}),[f[2],i,a]),[Ft,Ke]=m.useState(At),Je=m.useMemo(()=>new nf().load(f?et(f[3]):eg,Cn=>{const yn=_e(f[3]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.wrapS=Cn.wrapT=Ss,Pt(Cn)}),[f[3],i,a]),[ct,Pt]=m.useState(Je),Ne=m.useMemo(()=>new nf().load(f?et(f[4]):eg,Cn=>{const yn=_e(f[4]);Cn.repeat.set(i/yn.x,r/yn.y),Cn.wrapS=Cn.wrapT=Ss,Ye(Cn)}),[f[4],i,r]),[lt,Ye]=m.useState(Ne);m.useEffect(()=>{Zh()},[f]);const st=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:return!0}return!1},je=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.Human:case z.Tree:case z.Flower:return!0}return!1},mt=Cn=>{ge.current=Cn;const yn=.01;xe.isSame(ge.current,Po)?(me(new re(0,0,ft+yn)),Pe.current=new Qt(0,0,0),Me.current.set(Qe,ut,ft)):xe.isSame(ge.current,Np)?(me(new re(Qe+yn,0,0)),Pe.current=new Qt(0,Vt,0),Me.current.set(ft,ut,Qe)):xe.isSame(ge.current,Up)?(me(new re(-Qe-yn,0,0)),Pe.current=new Qt(0,-Vt,0),Me.current.set(ft,ut,Qe)):xe.isSame(ge.current,Bp)?(me(new re(0,-ut-yn,0)),Pe.current=new Qt(Vt,0,0),Me.current.set(Qe,ft,ut)):xe.isSame(ge.current,Yc)&&(me(new re(0,ut+yn,0)),Pe.current=new Qt(-Vt,0,0),Me.current.set(Qe,ft,ut))},Ht=Math.max(1,Math.max(i,r)/8),wt=Af*Ht,It=Cn=>{var Eo,ni;const yn=Cn.intersections[0];if(M.getState().objectTypeToAdd===z.SolarPanel){const Lo=yn.point,{pos:bo,rot:Ro}=xe.getWorldDataById(e),oi=new re().subVectors(Lo,bo).applyEuler(new Qt(0,0,-Ro)),go=rl.makeSolarPanel(t,M.getState().getPvModule(M.getState().actionState.solarPanelModelName??"SPR-X21-335-BLK"),oi.x/i,oi.y/r,oi.z/a,M.getState().actionState.solarPanelOrientation??ui.landscape,M.getState().actionState.solarPanelPoleHeight??1,M.getState().actionState.solarPanelPoleSpacing??3,M.getState().actionState.solarPanelTiltAngle??0,M.getState().actionState.solarPanelRelativeAzimuth??0,(Eo=yn.face)==null?void 0:Eo.normal,[0,0,0],M.getState().actionState.solarPanelFrameColor??"white");return A(So=>{So.elements.push(go)}),go}else return v(t,yn.point,(ni=yn.face)==null?void 0:ni.normal)},Et=Cn=>{if(Cn.button===2)return;E()||D(e,Cn,zo.Select);const yn=P();let no=!1;if(Cn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(no=!0),(yn==null?void 0:yn.id)===e||no)if(je(M.getState().objectTypeToAdd)&&t){Ie(!0);const Eo=It(Cn);if(Eo){const ni={name:"Add",timestamp:Date.now(),addedElement:Eo,undo:()=>{T(ni.addedElement.id,!1)},redo:()=>{A(Lo=>{Lo.elements.push(ni.addedElement),Lo.selectedElement=ni.addedElement})}};L(ni),A(Lo=>{Lo.objectTypeToAdd=z.None})}}else Ln.getState().selectNone(),Ln.setState({cuboidRef:ze});else if(yn&&yn.parentId===e&&st(yn.type)){Ie(!0);const{rot:Eo,pos:ni}=xe.getWorldDataById(e);Ve.current.copy(ni),xt.current=Eo,oe.current=yn;let Lo;for(const bo of Cn.intersections)if(bo.object===ye.current){Lo=bo.face;break}switch(Lo&&mt(Lo.normal),Ln.getState().setEnableOrbitController(!1),Te.current.x=yn.cx,Te.current.y=yn.cy,Te.current.z=yn.cz,Ue.current.fromArray(yn.normal),Le.current.x=yn.lx,Le.current.y=yn.ly,Le.current.z=yn.lz,yn.type){case z.SolarPanel:We.current=yn.relativeAzimuth,ht.getState().setPrimitiveStore("oldParentId",e),ht.getState().setPrimitiveStore("oldFoundationId",e);break;case z.Polygon:Fe.current=yn.vertices.map(bo=>({...bo}));break}}},zt=Cn=>{var Ro,oi;if(!ye.current)return;const yn=ee.intersectObjects([ye.current]);if(yn.length===0)return;const no=yn[0].face;if(!no)return;const Eo=wd.getIntersectionObjects(Cn);if(Eo.length===0||Eo[0].eventObject.userData.id!==e){vi(!1),oe.current=null;return}const ni=M.getState().selectedElement;if(!!(ni&&!ni.locked&&ni.type===z.SolarPanel&&M.getState().moveHandleType)&&(oe.current=ni),no.normal.z===1&&((Ro=oe.current)==null?void 0:Ro.type)!==z.Polygon){const go=!!(((oi=oe.current)==null?void 0:oi.type)===z.SolarPanel&&(M.getState().moveHandleType||M.getState().rotateHandleType||M.getState().resizeHandleType)&&!oe.current.locked);vi(go),go&&(at.set(0,0,oe.current.poleHeight+a/2),mt(new re(0,0,1)),Ie(!0));return}else if(vi(!1),oe.current&&t&&!oe.current.locked){const go=new Gt(Cn.offsetX/ie.clientWidth*2-1,1-Cn.offsetY/ie.clientHeight*2);ee.setFromCamera(go,Z);let So=yn[0].point;if(M.getState().moveHandleType){const Uo=no.normal;if(mt(Uo),So=xe.relativeCoordinates(So.x,So.y,So.z,t),oe.current.type===z.Polygon){const _i=oe.current;if(M.getState().moveHandleType===yo.Default){const Qo=xe.calculatePolygonCentroid(Fe.current),ar=new re().fromArray(_i.normal);let ur,$o;xe.isSame(ar,Np)?(ur=-(Qo.x+So.z),$o=So.y-Qo.y):xe.isSame(ar,Up)?(ur=So.z-Qo.x,$o=So.y-Qo.y):xe.isSame(ar,Yc)?(ur=So.x-Qo.x,$o=-(Qo.y+So.z)):xe.isSame(ar,Bp)?(ur=So.x-Qo.x,$o=So.z-Qo.y):(ur=So.x-Qo.x,$o=So.y-Qo.y);const ba=Fe.current.map(Mo=>({...Mo}));ba.forEach(Mo=>{Mo.x+=ur,Mo.y+=$o}),U(_i.id,ba)}}else x(oe.current.id,So.x,So.y,So.z),H(oe.current.id,Uo.x,Uo.y,Uo.z),oe.current.parentId!==e&&M.getState().set(_i=>{const Qo=_i.elements.find(ar=>{var ur;return ar.id===((ur=oe.current)==null?void 0:ur.id)&&ar.type===z.SolarPanel});Qo&&(Qo.parentId!==e||Qo.foundationId!==e)&&(Qo.parentId=e,Qo.foundationId=e,Qo.parentType=z.Cuboid,_i.selectedElement&&(_i.selectedElement.parentId=e,Qo.color=_i.selectedElement.color))})}else if(M.getState().resizeHandleType)switch(oe.current.type){case z.SolarPanel:const Uo=oe.current;if(Uo.normal[2]===1)break;const[_i,Qo]=Eqe(Uo),ar=M.getState().resizeAnchor,ur=M.getState().resizeHandleType;if(ur===gt.Lower||ur===gt.Upper){const ba=Math.max(1,Math.round(Math.abs(So.z-ar.z)/Qo))*Qo,Mo=new re(0,0,So.z-ar.z).normalize().multiplyScalar(ba),$i=new re().addVectors(ar,Mo.clone().divideScalar(2));A(Za=>{const ti=Za.elements.find(di=>di.id===Uo.id);ti&&(ti.cz=($i.z-Ve.current.z)/a,ti.ly=Math.abs(Mo.z))})}else if(ur===gt.Left||ur===gt.Right){const $o=new re().subVectors(So,ar).setZ(0),Mo=Math.max(1,Math.round($o.length()/_i))*_i,$i=$o.clone().normalize().multiplyScalar(Mo),Za=new re().addVectors(ar,$i.clone().divideScalar(2)),ti=new re().subVectors(Za,Ve.current).applyEuler(new Qt(0,0,-xt.current));A(di=>{const Fr=di.elements.find(Oa=>Oa.id===Uo.id);Fr&&(Math.abs(Math.abs(Fr.normal[1])-1)<.01?Fr.cx=ti.x/i:Fr.cy=ti.y/r,Fr.lx=$i.length())})}break;case z.Polygon:if(M.getState().resizeHandleType===gt.Default){let $o=new re(So.x-Ve.current.x,So.y-Ve.current.y,0).applyEuler(new Qt(0,0,-xt.current,"ZXY"));const ba=oe.current,Mo=new re().fromArray(ba.normal);let $i,Za;xe.isSame(Mo,Np)?($i=t.lz,Za=t.ly,$o.x=-So.z+Ve.current.z):xe.isSame(Mo,Up)?($i=t.lz,Za=t.ly,$o.x=So.z-Ve.current.z):xe.isSame(Mo,Yc)?($i=t.lx,Za=t.lz,$o.y=-So.z+Ve.current.z):xe.isSame(Mo,Bp)?($i=t.lx,Za=t.lz,$o.y=So.z-Ve.current.z):($i=t.lx,Za=t.ly),$o=M.getState().enableFineGrid?xe.snapToFineGrid($o):xe.snapToNormalGrid($o),$o.x/=$i,$o.y/=Za,F(ba.id,ba.selectedIndex,$o.x,$o.y)}break}Ie(!0)}},ln=Cn=>{if(rt.current&&oe.current&&t){if(oe.current.type!==z.SolarPanel)return;const yn=oe.current;if(yn.locked)return;ee.setFromCamera(q,Z);const no=ee.intersectObjects([rt.current]);if(no.length>0){let Eo=no[0].point.clone();if(M.getState().moveHandleType)Eo=xe.relativeCoordinates(Eo.x,Eo.y,Eo.z-yn.poleHeight,t),x(yn.id,Eo.x,Eo.y,Eo.z),H(oe.current.id,0,0,1),oe.current.parentId!==e&&M.getState().set(ni=>{const Lo=ni.elements.find(bo=>{var Ro;return bo.id===((Ro=oe.current)==null?void 0:Ro.id)&&bo.type===z.SolarPanel});Lo&&(Lo.parentId!==e||Lo.foundationId!==e)&&(Lo.parentId=e,Lo.foundationId=e,Lo.parentType=z.Cuboid,ni.selectedElement&&(ni.selectedElement.parentId=e,Lo.color=ni.selectedElement.color))});else if(M.getState().rotateHandleType&&M.getState().rotateHandleType!==wi.Tilt){const ni=xt.current,Lo=new Gt(Ve.current.x,Ve.current.y),bo=new Gt(t.lx*yn.cx,t.ly*yn.cy).rotateAround(wr,ni),Ro=new Gt().addVectors(bo,Lo),oi=-ni+Math.atan2(-Eo.x+Ro.x,Eo.y-Ro.y)+(M.getState().rotateHandleType===wi.Lower?0:Math.PI),go=Math.abs(oi)>Math.PI?-Math.sign(oi)*na:0,So=oi+go;k(yn.id,So),Ee.current=So}else if(M.getState().resizeHandleType){const ni=M.getState().resizeAnchor,Lo=W(yn.pvModelName),bo=new Gt(Eo.x,Eo.y),Ro=new Gt(ni.x,ni.y),oi=bo.distanceTo(Ro),go=yn.relativeAzimuth+xt.current,So=new Gt().subVectors(bo,Ro);switch(M.getState().resizeHandleType){case gt.Lower:case gt.Upper:{const Uo=M.getState().resizeHandleType===gt.Lower?1:-1,_i=So.angle()-go+Uo*Vt;let Qo=oi*Math.cos(_i);yn.orientation===ui.portrait?Qo=Math.max(1,Math.ceil((Qo-Lo.length/2)/Lo.length))*Lo.length:Qo=Math.max(1,Math.ceil((Qo-Lo.width/2)/Lo.width))*Lo.width;const ar=ni.x+Uo*(Qo*Math.sin(go))/2,ur=ni.y-Uo*(Qo*Math.cos(go))/2,$o=new Gt(ar,ur),ba=new Gt(Ve.current.x,Ve.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-xt.current),$i=Mo.x/i,Za=Mo.y/r;rn(yn,$i,Za,yn.lx,Qo)&&(S(yn.id,Qo),x(yn.id,$i,Za))}break;case gt.Left:case gt.Right:{let Uo=M.getState().resizeHandleType===gt.Left?-1:1;const _i=So.angle()-go+(M.getState().resizeHandleType===gt.Left?Math.PI:0);let Qo=oi*Math.cos(_i);yn.orientation===ui.portrait?Qo=Math.max(1,Math.ceil((Qo-Lo.width/2)/Lo.width))*Lo.width:Qo=Math.max(1,Math.ceil((Qo-Lo.length/2)/Lo.length))*Lo.length;const ar=ni.x+Uo*(Qo*Math.cos(go))/2,ur=ni.y+Uo*(Qo*Math.sin(go))/2,$o=new Gt(ar,ur),ba=new Gt(Ve.current.x,Ve.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-xt.current),$i=Mo.x/i,Za=Mo.y/r;rn(yn,$i,Za,Qo,yn.ly)&&(y(yn.id,Qo),x(yn.id,$i,Za))}break}}}}},Xt=(Cn,yn,no)=>{const Eo=JSON.parse(JSON.stringify(Cn));return Eo.cx=yn,Eo.cy=no,B(Eo)?(Do(j.t("message.MoveCancelledBecauseOfOverlap",dt)),!1):xe.isIdentical(Cn.normal,o0)&&!xe.isSolarCollectorWithinHorizontalSurface(Eo,t)?(Do(j.t("message.MoveOutsideBoundaryCancelled",dt)),!1):!0},fn=(Cn,yn)=>{const no=JSON.parse(JSON.stringify(Cn));return no.relativeAzimuth=yn,B(no)?(Do(j.t("message.RotationCancelledBecauseOfOverlap",dt)),!1):xe.isSolarCollectorWithinHorizontalSurface(no,t)?!0:(Do(j.t("message.RotationOutsideBoundaryCancelled",dt)),!1)},rn=(Cn,yn,no,Eo,ni)=>{if(Cn.tiltAngle!==0&&.5*ni*Math.abs(Math.sin(Cn.tiltAngle))>Cn.poleHeight)return!1;const Lo=JSON.parse(JSON.stringify(Cn));return Lo.cx=yn,Lo.cy=no,Lo.lx=Eo,Lo.ly=ni,!!xe.isSolarCollectorWithinHorizontalSurface(Lo,t)},bn=()=>{if(!oe.current)return;const Cn=C(oe.current.id);if(Cn){if(Cn.type===z.Polygon){if(M.getState().moveHandleType||M.getState().resizeHandleType){Ge.current=Cn.vertices.map(no=>({...no}));const yn={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Fe.current,newValue:Ge.current,changedElementId:Cn.id,changedElementType:Cn.type,undo:()=>{U(yn.changedElementId,yn.oldValue)},redo:()=>{U(yn.changedElementId,yn.newValue)}};L(yn)}}else if(M.getState().resizeHandleType){if(De.current.x=Cn.cx,De.current.y=Cn.cy,De.current.z=Cn.cz,$e.current.x=Cn.lx,$e.current.y=Cn.ly,$e.current.z=Cn.lz,De.current.distanceToSquared(Te.current)>Dt&&$e.current.distanceToSquared(Le.current)>Dt){const yn={name:"Resize",timestamp:Date.now(),resizedElementId:oe.current.id,resizedElementType:oe.current.type,oldCx:Te.current.x,oldCy:Te.current.y,oldCz:Te.current.z,newCx:De.current.x,newCy:De.current.y,newCz:De.current.z,oldLx:Le.current.x,oldLy:Le.current.y,oldLz:Le.current.z,newLx:$e.current.x,newLy:$e.current.y,newLz:$e.current.z,undo:()=>{x(yn.resizedElementId,yn.oldCx,yn.oldCy,yn.oldCz),R(yn.resizedElementId,yn.oldLx,yn.oldLy,yn.oldLz)},redo:()=>{x(yn.resizedElementId,yn.newCx,yn.newCy,yn.newCz),R(yn.resizedElementId,yn.newLx,yn.newLy,yn.newLz)}};L(yn)}}else if(M.getState().rotateHandleType){if(oe.current.type===z.SolarPanel){const yn=oe.current;if(Math.abs(Ee.current-We.current)>Dt)if(fn(yn,Ee.current)){A(Eo=>{Eo.selectedElementAngle=Ee.current});const no={name:"Rotate",timestamp:Date.now(),oldValue:We.current,newValue:Ee.current,changedElementId:yn.id,changedElementType:yn.type,undo:()=>{k(no.changedElementId,no.oldValue)},redo:()=>{k(no.changedElementId,no.newValue)}};L(no)}else k(yn.id,We.current)}}else if(De.current.x=Cn.cx,De.current.y=Cn.cy,De.current.z=Cn.cz,Oe.current.fromArray(Cn.normal),De.current.distanceToSquared(Te.current)>Dt){let yn=!0;Cn.type===z.SolarPanel&&(yn=Xt(Cn,Cn.cx,Cn.cy)),yn?wd.addUndoableMove():A(no=>{const Eo=no.elements.find(Ro=>Ro.id===Cn.id);if(!Eo||!no.selectedElement)return;const ni=no.selectedElement;Eo.cx=ni.cx,Eo.cy=ni.cy,Eo.cz=ni.cz,Eo.rotation=[...ni.rotation],Eo.normal=[...ni.normal];const Lo=ht.getState().oldParentId,bo=ht.getState().oldFoundationId;Lo&&(Eo.parentId=Lo),bo&&(Eo.foundationId=bo)})}oe.current=null}},Tn=Cn=>{Cn.intersections.length>0&&Cn.intersections[0].object===ye.current&&Ce(!0)},Un=Cn=>{oe.current&&xe.isPlantOrHuman(oe.current)&&Cn.intersections[0].object===ye.current&&Ie(!0)},Ai=()=>{Ce(!1),Ie(!1)},vo=Cn=>{D(e,Cn,zo.ContextMenu),A(yn=>{yn.pastePoint.copy(Cn.intersections[0].point);const no=Cn.intersections[0].face;no&&(yn.pasteNormal=no.normal.clone(),xe.isSame(no.normal,Np)?yn.selectedSideIndex=0:xe.isSame(no.normal,Up)?yn.selectedSideIndex=1:xe.isSame(no.normal,Yc)?yn.selectedSideIndex=2:xe.isSame(no.normal,Bp)?yn.selectedSideIndex=3:xe.isSame(no.normal,Po)&&(yn.selectedSideIndex=4)),yn.clickObjectType=z.Cuboid,Cn.intersections.length>0&&Cn.intersections[0].object===ye.current&&(yn.contextMenuObjectType=z.Cuboid)})},Oo=J?b?.25:.75:1,si=[0,1,2,3,4,5],po=[_&&$?$:yt,_&&pe?pe:Wt,_&&te?te:Ft,_&&se?se:ct,_&&ae?ae:lt,null],to=t&&t.faceColors?si.map(Cn=>f&&f[Cn]!==Co.NoTexture?_?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:!0,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:!0,opacity:Oo},Cn):_?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:!0,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:t.faceColors?t.faceColors[Cn]:l,map:po[Cn],transparent:!0,opacity:Oo},Cn)):h.jsx("meshStandardMaterial",{side:ia,color:l,transparent:!0,opacity:Oo}),uo=m.useMemo(()=>[Qe,ut,ft],[Qe,ut,ft]),qo=g&&!u,[Hi,vi]=m.useState(!1);return h.jsxs("group",{ref:ze,name:"Cuboid Group "+e,children:[h.jsx(Ei,{castShadow:N,receiveShadow:N,userData:{simulation:!0,stand:!0,stackable:p,id:e,aabb:!0},uuid:e,ref:ye,args:[i,r,a],name:"Cuboid "+e,onContextMenu:vo,onPointerDown:Et,onPointerMove:zt,onPointerUp:bn,onPointerOver:Tn,onPointerOut:Ai,onPointerEnter:Un,children:to}),Hi&&h.jsx(sa,{ref:rt,name:"Intersection Plane",position:at,args:[i,r],visible:!1,onPointerMove:ln}),ve&&h.jsxs(h.Fragment,{children:[(M.getState().moveHandleType||M.getState().resizeHandleType)&&h.jsx(Age,{hx:Me.current.x,hy:Me.current.y,hz:Me.current.z,position:Ae,rotation:Pe.current}),M.getState().rotateHandleType&&oe.current&&oe.current.type===z.SolarPanel&&h.jsx(fye,{element:oe.current,height:oe.current.poleHeight+ft})]}),g&&h.jsx(hye,{element:t,verticalLift:wt}),(!g||J)&&h.jsx(s7,{hx:Qe,hy:ut,hz:ft,lineColor:J&&b?"white":s,lineWidth:J&&b?c*5:c}),g&&u&&h.jsx(s7,{hx:Qe,hy:ut,hz:ft,lineColor:l0,lineWidth:c*5}),qo&&h.jsx(jQt,{id:e,args:uo}),(Se||d)&&!g&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:ot,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,ft+((t==null?void 0:t.labelHeight)??.2)]})]})},OQt=be.memo(YQt),Rre="Handle Group Move & Resize",_Qt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,normal:c,locked:u,trackerType:d,tiltAngle:f,relativeAzimuth:p,poleHeight:g,poleRadius:A,poleSpacing:w,color:b="white"}=t,C=Hs(e),P=Fqe(c),v=l/2,T=P?g:0,y=Math.max(1,(a+l)/16),S=y*2/3,x=y*2/3,R=-g/2-s/2,H=M(dn),D=M(lge),k=M(En),W=M(Ya),N=M(Xs),{gl:{domElement:L},camera:E,raycaster:U,mouse:F}=Xi(),[B,_]=m.useState(null),[Y,O]=m.useState(!1),J=m.useRef(!1),Z=m.useRef(0),ie=m.useRef(0),ee=m.useRef(null),q=m.useRef(null),ae=m.useMemo(()=>new Array(13).fill(0),[]),ne=m.useMemo(()=>new Date(W),[W]),se=m.useMemo(()=>{const Ce=[],ve=Math.floor(.5*a/w),Ie=Math.floor(.5*l*Math.abs(Math.cos(f))/w),ze=.5*Math.sin(f),ye=Math.cos(p)*w,oe=Math.sin(p)*w;for(let ge=-ve;ge<=ve;ge++)for(let Ae=-Ie;Ae<=Ie;Ae++){const me=ge*ye-Ae*oe,Pe=ge*oe+Ae*ye;Ce.push(new re(me,Pe,R+ze*w*Ae))}return Ce},[p,f,w,a,l,R]),le=m.useMemo(()=>vye(c),[c]),te=m.useMemo(()=>{if(P){if(d===Ma.NO_TRACKER)return new Qt(f,0,p,"ZXY");const Ce=zr(ne,N),ve=Lqe(n,le.z)-le.z;switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const Ie=Math.hypot(Ce.x,Ce.y);return new Qt(Math.atan2(Ie,Ce.z),0,Math.atan2(Ce.y,Ce.x)+Vt-ve,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(Ce.x,Ce.z),-ve+(a.1,fe=T>0&&P;m.useEffect(()=>{const Ce=()=>{Ln.getState().setEnableOrbitController(!0),J.current=!1,O(!1),(M.getState().rotateHandleType||M.getState().moveHandleType||M.getState().resizeHandleType)&&H(ve=>{ve.rotateHandleType=null,ve.moveHandleType=null,ve.resizeHandleType=null})};return window.addEventListener("pointerup",Ce),()=>{window.removeEventListener("pointerup",Ce)}},[]);const $=(Ce,ve)=>{Ce.intersections.length>0&&Ce.intersections[0].object===Ce.eventObject&&(_(ve),ve===yo.Top?L.style.cursor="move":ve===wi.Lower||ve===wi.Upper||ve===wi.Tilt?L.style.cursor="grab":L.style.cursor="pointer")},de=()=>{_(null),L.style.cursor="default"},Se=Ce=>B===Ce||M.getState().rotateHandleType===Ce?nr:pr;return h.jsxs("group",{name:"Solar Panel Group",position:[o,i,T+r],rotation:le,children:[h.jsx(VQt,{solarPanelModel:t,groupRotation:le,panelRotation:te}),he&&h.jsxs("group",{position:[0,0,-T],rotation:[0,0,te.z],children:[h.jsx(l7,{id:e,position:[0,-v-S/2,T],color:Se(wi.Upper),ratio:S,handleType:wi.Upper,hoverHandle:$,noHoverHandle:de}),h.jsx(l7,{id:e,position:[0,v+S/2,T],color:Se(wi.Lower),ratio:S,handleType:wi.Lower,hoverHandle:$,noHoverHandle:de})]}),pe&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[x,1.1*x,18,2,-Vt,Math.PI],rotation:[0,-Vt,te.z,"ZXY"],onPointerOver:Ce=>{$(Ce,wi.Tilt)},onPointerOut:Ce=>{de()},onPointerDown:Ce=>{if(O(!0),B){Ln.getState().setEnableOrbitController(!1),J.current=!0,Z.current=f;const{rot:ve}=xe.getWorldDataById(n);ee.current=ve}H(ve=>{ve.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:B===wi.Tilt||Y?nr:pr})}),Y&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:q,name:"Solar panel tilt handle",args:[x,2*x,18,2,-Vt,Math.PI],rotation:[0,-Vt,te.z,"ZXY"],onPointerUp:Ce=>{if(Math.abs(ie.current-Z.current)>Dt){const ve={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Z.current,newValue:ie.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{D(ve.changedElementId,ve.oldValue)},redo:()=>{D(ve.changedElementId,ve.newValue)}};k(ve)}},onPointerMove:Ce=>{if(J.current&&(U.setFromCamera(F,E),q.current)){const ve=U.intersectObjects([q.current]);if(ve.length>0){const Ie=ve[0].point,ze=q.current.parent;if(ze){const ye=ze.localToWorld(new re),oe=new re().subVectors(Ie,ye);let ge=oe.angleTo(Po);if(!(.5*l*Math.abs(Math.sin(ge))>T)){const me=p+(ee.current??0),Pe=me%Math.PI===0?Math.sign(-oe.y)*Math.sign(Math.cos(me)):Math.sign(oe.x)*Math.sign(Math.sin(me));ge*=Pe,D(e,ge),ie.current=ge}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,x],[0,0,1.75*x]],rotation:new Qt(f,0,te.z,"ZXY"),lineWidth:1}),ae.map((Ce,ve)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*ve-Vt,0,te.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*x],[0,0,2*x]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${ve*15-90}°`,fontSize:20*x,fontFace:"Times Roman",textHeight:.15*x,position:[0,0,1.6*x]})]},ve)),h.jsx("group",{rotation:new Qt(f,0,te.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(f/Math.PI*180)}°`,fontSize:20*x,fontFace:"Times Roman",textHeight:.2*x,position:[0,0,.75*x]})})]})]}),fe&&se.map((Ce,ve)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+ve,castShadow:!1,receiveShadow:!1,args:[A,A,g+(Ce.z-R)*2+s,4,1],position:Ce,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:b})},ve))]})},VQt=({solarPanelModel:t,groupRotation:e,panelRotation:n})=>{let{id:o,parentId:i,lx:r,ly:a,lz:l,cx:s,cy:c,cz:u,normal:d,tiltAngle:f,relativeAzimuth:p,trackerType:g,drawSunBeam:A,locked:w,showLabel:b,label:C,pvModelName:P,orientation:v,frameColor:T,backsheetColor:y,color:S,poleHeight:x}=t;const R=Hs(o),H=M(dn),D=M(Vc),k=M(Ya),W=M(Xs),N=M(yh),L=M(Sc),E=ht(cs),U=M(C7),F=M(gq),B=M(hu)??!1,_=m.useMemo(()=>({lng:L}),[L]),Y=Fqe(d),O=Y?f:0,J=Y?p:0,Z=Math.max(1,(r+a)/16),ie=I9*Z*1.5,ee=Af*Z*2,[q,ae,ne]=[r,a,l].map(Oe=>Oe/2),se=[ie,ie,l*1.2],le=U[P];le&&(l=Math.max(le.thickness,.02));const te=m.useMemo(()=>new Date(k),[k]),he=m.useMemo(()=>(C||j.t("shared.SolarPanelElement",_))+(w?" ("+j.t("shared.ElementLocked",_)+")":"")+(C?"":` -`+j.t("word.Coordinates",_)+": ("+s.toFixed(1)+", "+c.toFixed(1)+", "+u.toFixed(1)+") "+j.t("word.MeterAbbreviation",_)),[C,w,_,s,c,u]),pe=m.useMemo(()=>{const Oe=[];if(le){let Le,$e;v===ui.portrait?(Le=Math.max(1,Math.round(r/le.width)),$e=Math.max(1,Math.round(a/le.length))):(Le=Math.max(1,Math.round(r/le.length)),$e=Math.max(1,Math.round(a/le.width)));const We=r/Le,Ee=a/$e;for(let Fe=0;Fe<=Le;Fe++)Oe.push({points:[new re(-q+Fe*We,-ae,l),new re(-q+Fe*We,ae,l)]});for(let Fe=0;Fe<=$e;Fe++)Oe.push({points:[new re(-q,-ae+Fe*Ee,l),new re(q,-ae+Fe*Ee,l)]})}return Oe},[le,v,P,r,a,l]),[fe,$]=m.useState(ge()),[de,Se]=m.useState(!1),[Ce,ve]=m.useState(null),Ie=m.useRef(null),{gl:ze}=Xi(),ye=rQ(r,a,le,v,T,y),oe=iQ(o);rA(()=>{const Oe=ge();Oe.equals(fe)||$(Oe)});function ge(){const Oe=new Qt,Le=Lqe(i,e.z);return g===Ma.NO_TRACKER?Oe.set(-e.x-O,0,-Le-J):Oe.set(-e.x-n.x,-n.y,-Le-n.z),zr(te,W).applyEuler(Oe)}function Ae(Oe){return Ce===Oe||N===Oe?nr:pr}function me(Oe){if(Oe.intersections.length>0&&Oe.eventObject.name.includes(Rre)){const $e=Oe.object.name;ve($e),$e===yo.Top?ze.domElement.style.cursor="move":$e===wi.Lower||$e===wi.Upper||$e===wi.Tilt?ze.domElement.style.cursor="grab":ze.domElement.style.cursor="pointer"}}function Pe(){ve(null),ze.domElement.style.cursor="default"}function Me(Oe,Le){Ln.getState().setEnableOrbitController(!1),H($e=>{$e.resizeHandleType=Oe,$e.resizeAnchor.copy(Le)})}function Te(Oe){if(Oe.intersections.length>0&&Oe.intersections[0].eventObject.name===Rre){const Le=Oe.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),H($e=>{$e.moveHandleType=Le,$e.selectedElement=$e.elements.find(We=>{var Ee;return We.id===((Ee=$e.selectedElement)==null?void 0:Ee.id)})});break}case gt.Left:{const $e=Oe.object.localToWorld(new re(r,0,0));Me(Le,$e);break}case gt.Right:{const $e=Oe.object.localToWorld(new re(-r,0,0));Me(Le,$e);break}case gt.Lower:{const $e=Oe.object.localToWorld(new re(0,a,0));Me(Le,$e);break}case gt.Upper:{const $e=Oe.object.localToWorld(new re(0,-a,0));Me(Le,$e);break}}}}function De(){return E&&oe?h.jsx("meshBasicMaterial",{attach:"material-4",map:oe}):ye?B||F===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:ye,color:S}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((le==null?void 0:le.color)==="Blue"?Kw:qw),shininess:F??Jm,side:ia,map:ye,color:S}):h.jsx("meshStandardMaterial",{attach:"material-4",color:S})}function Ue(){return(le==null?void 0:le.bifacialityFactor)===0||B||x===0&&f===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:S}):ye?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((le==null?void 0:le.color)==="Blue"?Kw:qw),shininess:F??Jm,side:ia,map:ye,color:S}):null}return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Box Group",rotation:n,children:[h.jsxs(Ei,{uuid:o,ref:Ie,args:[r,a,l],position:[0,0,ne],onPointerDown:Oe=>{Oe.button!==2&&D(o,Oe,zo.Select)},onContextMenu:Oe=>{D(o,Oe,zo.ContextMenu),H(Le=>{Oe.intersections.length>0&&Oe.intersections[0].object===Ie.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Oe=>{Oe.intersections.length>0&&Oe.intersections[0].object===Ie.current&&(Se(!0),ze.domElement.style.cursor="move")},onPointerOut:Oe=>{Se(!1),ze.domElement.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-1",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-2",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-3",color:"white"}),De(),Ue()]}),R&&!w&&h.jsxs("group",{name:Rre,onPointerDown:Te,onPointerOver:me,onPointerOut:Pe,children:[h.jsx(ts,{args:[ee,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[0,-ae,ne],args:se,name:gt.Lower,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Lower)})}),h.jsx(Ei,{position:[0,ae,ne],args:se,name:gt.Upper,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Upper)})}),h.jsx(Ei,{position:[-q,0,ne],args:se,name:gt.Left,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Left)})}),h.jsx(Ei,{position:[q,0,ne],args:se,name:gt.Right,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Right)})})]}),A&&fe.z>0&&h.jsx(GQt,{sunDirection:fe}),E&&oe&&pe.map((Oe,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Oe.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:o,args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),R&&w&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-ae,0],[-q,ae,0],[q,ae,0],[q,-ae,0],[-q,-ae,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),(de||b)&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(ae*Math.abs(Math.sin(f))+.1,.2)]})]})},GQt=be.memo(({sunDirection:t})=>{const e=M(mh),n=m.useMemo(()=>Math.max(100,10*e),[e]);return h.jsxs("group",{name:"Sun Beam Group",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[Po.clone().multiplyScalar(.75),[0,0,0],t.clone().multiplyScalar(n)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[t.clone().multiplyScalar(.5),Po.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(t.angleTo(Po)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:t.clone().multiplyScalar(.75).add(Po.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:Po.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})});function vye(t){const[e,n,o]=t;return o===1?new Qt(0,0,0):e!==0?new Qt(Vt,0,e*Vt,"ZXY"):n!==0?new Qt(-n*Vt,0,0):new Qt}function Fqe(t){return Math.abs(t[2]-1)<.01}function Lqe(t,e){const{rot:n}=xe.getWorldDataById(t);return n+e}const XQt=be.memo(_Qt),Wqe=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="white",lineColor:d="black",lineWidth:f=.1,locked:p=!1,label:g,showLabel:A=!1,parentId:w,foundationId:b,light:C=!0,heatFlux:P=!1}=t,v=M(dn),T=M(ss),y=M(Vc),S=Hs(e),{gl:{domElement:x}}=Xi(),[R,H]=m.useState(!1),D=m.useRef(null),k=m.useRef(null),W=Kt(),N=M(O=>{for(const J of O.elements)if(J.id===w)return J}),L=M(O=>{for(const J of O.elements)if(J.id===b)return J});let E=n,U=o,F=i;if(w&&N)switch(N.type){case z.Foundation:{if(F=N.cz+N.lz/2,xe.isZero(s[2]))E=N.cx+n*N.lx,U=N.cy+o*N.ly;else{const O=new re(n*N.lx,o*N.ly,0);O.applyAxisAngle(Po,s[2]),E=N.cx+O.x,U=N.cy+O.y}break}case z.Wall:{if((L==null?void 0:L.type)===z.Foundation){const O=xe.absoluteCoordinates(n,o,i,N,L);E=O.x,U=O.y,F=O.z}break}case z.Roof:{if((L==null?void 0:L.type)===z.Foundation){const O=xe.absoluteCoordinates(n,o,i,N,L);E=O.x,U=O.y,F=O.z}break}}const B=l/2,_=m.useMemo(()=>{if((N==null?void 0:N.type)===z.Wall){const J=N,Z=L?L.rotation[2]+J.relativeAngle:J.relativeAngle;return new Qt(Vt,0,Z,"ZXY")}if((N==null?void 0:N.type)===z.Roof)return new Qt(s[0],s[1],L?L.rotation[2]+s[2]:s[2],"ZXY");if((N==null?void 0:N.type)===z.Cuboid)return vye(c);const O=new re().fromArray(c);return xe.isSame(O,Np)?new Qt(0,Vt,s[2],"ZXY"):xe.isSame(O,Up)?new Qt(0,-Vt,s[2],"ZXY"):xe.isSame(O,Yc)?new Qt(-Vt,0,s[2],"ZXY"):xe.isSame(O,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,L==null?void 0:L.rotation]),Y=m.useMemo(()=>(g||j.t("shared.SensorElement",W))+(p?" ("+j.t("shared.ElementLocked",W)+")":"")+` -`+j.t("word.Coordinates",W)+": ("+E.toFixed(1)+", "+U.toFixed(1)+", "+F.toFixed(1)+") "+j.t("word.MeterAbbreviation",W),[g,p,W,E,U,F]);return h.jsxs("group",{name:"Sensor Group "+e,rotation:_,position:[E,U,F+B],children:[h.jsx(Ei,{receiveShadow:T,uuid:e,ref:D,args:[r,a,l],name:"Sensor",onPointerDown:O=>{O.button!==2&&(y(e,O,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(J=>{J.showWallIntersectionPlaneId=w,J.oldParentId=w,J.oldFoundationId=b}),v(J=>{J.moveHandleType=yo.Default}))},onContextMenu:O=>{y(e,O,zo.ContextMenu),v(J=>{O.intersections.length>0&&O.intersections[0].object===D.current&&(J.contextMenuObjectType=z.Sensor)})},onPointerOver:O=>{O.intersections.length>0&&O.intersections[0].object===D.current&&(H(!0),x.style.cursor="move")},onPointerOut:()=>{H(!1),x.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:t!=null&&t.lit?nr:u})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Meter",castShadow:!1,receiveShadow:!1,args:[r*.3,a*.3,B,8,1],position:new re(0,0,B),rotation:[Vt,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:"black"})}),!S&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:d,lineWidth:f}),S&&p&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:f*10}),S&&!p&&h.jsx(ts,{ref:k,position:new re(0,0,0),args:[Af,6,6,0,Math.PI],name:yo.Default,onPointerDown:O=>{O.button===2?(y(e,O,zo.ContextMenu),v(J=>{O.intersections.length>0&&O.intersections[0].object===k.current&&(J.contextMenuObjectType=z.Sensor)})):y(e,O,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(J=>{J.showWallIntersectionPlaneId=w,J.oldParentId=w,J.oldFoundationId=b}),v(J=>{J.moveHandleType=yo.Default})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(R||A)&&!S&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Y,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Nqe=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="#ffff99",lineWidth:d=.1,locked:f=!1,label:p,showLabel:g=!1,parentId:A,foundationId:w,decay:b=2,distance:C=5,intensity:P=3,inside:v=!1}=t,T=M(dn),y=M(ss),S=M(Vc),R=M(M7).z<=0,H=Hs(e),{gl:{domElement:D}}=Xi(),[k,W]=m.useState(!1),N=m.useRef(null),L=m.useRef(null),E=Kt(),U=M(ee=>{for(const q of ee.elements)if(q.id===A)return q}),F=M(ee=>{for(const q of ee.elements)if(q.id===w)return q});let B=.1,_=n,Y=o,O=i;if(A&&U)switch(U.type){case z.Foundation:if(O=U.cz+U.lz/2,xe.isZero(s[2]))_=U.cx+n*U.lx,Y=U.cy+o*U.ly;else{const ee=new re(n*U.lx,o*U.ly,0);ee.applyAxisAngle(Po,s[2]),_=U.cx+ee.x,Y=U.cy+ee.y}break;case z.Wall:if((F==null?void 0:F.type)===z.Foundation){const ee=xe.absoluteCoordinates(n,o,i,U,F);_=ee.x,Y=ee.y,O=ee.z}B=U.ly;break;case z.Roof:if((F==null?void 0:F.type)===z.Foundation){const ee=xe.absoluteCoordinates(n,o,i,U,F);_=ee.x,Y=ee.y,O=ee.z}B=U.thickness;break}const J=l/2,Z=m.useMemo(()=>{if((U==null?void 0:U.type)===z.Wall){const q=U,ae=F?F.rotation[2]+q.relativeAngle:q.relativeAngle;return new Qt(Vt,0,ae,"ZXY")}if((U==null?void 0:U.type)===z.Roof)return new Qt(s[0],s[1],F?F.rotation[2]+s[2]:s[2],"ZXY");if((U==null?void 0:U.type)===z.Cuboid)return vye(c);const ee=new re().fromArray(c);return xe.isSame(ee,Np)?new Qt(0,Vt,s[2],"ZXY"):xe.isSame(ee,Up)?new Qt(0,-Vt,s[2],"ZXY"):xe.isSame(ee,Yc)?new Qt(-Vt,0,s[2],"ZXY"):xe.isSame(ee,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,F,U]),ie=m.useMemo(()=>(p||j.t("shared.LightElement",E))+(f?" ("+j.t("shared.ElementLocked",E)+")":"")+` -`+j.t("word.Coordinates",E)+": ("+_.toFixed(1)+", "+Y.toFixed(1)+", "+O.toFixed(1)+") "+j.t("word.MeterAbbreviation",E),[p,f,E,_,Y,O]);return h.jsxs("group",{name:"Light Group "+e,rotation:Z,position:[_,Y,O],children:[R&&h.jsx("pointLight",{color:u,name:"Point Light "+e,position:[0,0,v?-B-J:J],decay:b*.2,distance:C,intensity:P,castShadow:!0}),h.jsx(wa,{receiveShadow:y,userData:{unintersectable:!0},uuid:e,ref:N,position:[0,0,v?-B:0],rotation:[Vt,0,0],args:[r*.5,a*.5,J,16,1],name:"Light Base",onPointerDown:ee=>{ee.button!==2&&(S(e,ee,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(q=>{q.showWallIntersectionPlaneId=A,q.oldParentId=A,q.oldFoundationId=w}))},onContextMenu:ee=>{S(e,ee,zo.ContextMenu),T(q=>{ee.intersections.length>0&&ee.intersections[0].object===N.current&&(q.contextMenuObjectType=z.Light)})},onPointerOver:ee=>{ee.intersections.length>0&&ee.intersections[0].object===N.current&&(W(!0),D.style.cursor="move")},onPointerOut:()=>{W(!1),D.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:"lightgray"})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Light Bulb",castShadow:!1,receiveShadow:y,args:[r*.3,8,8,0,na,0,Math.PI],position:new re(0,0,v?-B-J:J),rotation:[Vt,0,0],children:R?h.jsx("meshBasicMaterial",{attach:"material",color:"white"}):h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),H&&f&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:d*10}),H&&!f&&h.jsx(ts,{ref:L,position:new re(0,0,v?-B-J:J),args:[Af,6,6,v?Math.PI:0,Math.PI],name:yo.Default,onPointerDown:ee=>{ee.button===2?(S(e,ee,zo.ContextMenu),T(q=>{ee.intersections.length>0&&ee.intersections[0].object===L.current&&(q.contextMenuObjectType=z.Light)})):S(e,ee,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(q=>{q.showWallIntersectionPlaneId=A,q.oldParentId=A,q.oldFoundationId=w})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(k||g)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:ie,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(v?-B:0)+l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Uqe="Cuboid Wrapper",Bqe="Cuboid Stackable Child",jqe=({elements:t,cuboidModel:e})=>{const{cx:n,cy:o,lz:i,rotation:r}=e,a=i/2,l=s=>kqe(s)&&s.parentId===e.id;return h.jsx(h.Fragment,{children:h.jsxs("group",{name:Uqe,position:[n,o,a],rotation:[0,0,r[2]],children:[h.jsx(OQt,{...e}),t.map(s=>{if(l(s))return h.jsx("group",{name:Bqe,position:[0,0,a],children:h.jsx(jqe,{elements:t,cuboidModel:s})},s.id);if(s.parentId===e.id){const{lx:c,ly:u,lz:d}=e;switch(s.type){case z.SolarPanel:return h.jsx(XQt,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Sensor:return h.jsx(Wqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Light:return h.jsx(Nqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);default:return null}}else return null})]})})},ii=class ii{static getShadowMapSize(){const e=localStorage.getItem("aladdin-shadow-map-size");return e?Number(e):k3t}static calculateProfit(e){return(e.yearlyYield*e.sellingPrice-e.panelCount*e.unitCost*365)*.001}static calculateCost(e){return e.panelCount*e.unitCost*.365}static getLatLngKey(e,n){return e.toFixed(sw)+", "+n.toFixed(sw)}static getModelKey(e){return e.title+", "+e.userid}static resizeCanvas(e,n,o){const i=document.createElement("canvas");i.width=n,i.height=o||n*e.height/e.width;const r=i.getContext("2d");return r&&r.drawImage(e,0,0,e.width,e.height,0,0,i.width,i.height),i}static getEuler(e,n,o,i,r,a){const l=new Ts;l.setFromUnitVectors(e,n);const s=new Qt;return s.setFromQuaternion(l),o&&(s.order=o),i&&(s.x+=i),r&&(s.y+=r),a&&(s.z+=a),s}static zero2DArray(e){for(let n=0;n0){for(const r of i)if(!r.leftJoints||r.leftJoints.length===0||!r.rightJoints||r.rightJoints.length===0)return Uc.WALL_DISJOINED}return Uc.COMPLETE}static calculateBuildingArea(e){const n=ii.getWallPointsOfRoof(e);return ii.getPolygonArea(n)}static toUValueInUS(e){return e/5.67826}static toUValueInSI(e){return e*5.67826}static toRValueInUS(e){return e*5.67826}static toRValueInSI(e){return e/5.67826}static fetchWaterTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");if(i){const r=i.createRadialGradient(e/2,n/2,0,e/2,n/2,Math.max(e,n)/2);r.addColorStop(0,"#45AAEA"),r.addColorStop(.04,"#2B65EC"),r.addColorStop(.2,"#0000FF"),i.fillStyle=r,i.fillRect(0,0,e,n)}return new BP(o)}static fetchWhiteTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");return i&&(i.fillStyle="white",i.fillRect(0,0,e,n)),new BP(o)}static fetchIntersectables(e){const n=[];return e.traverse(o=>{o.userData.unintersectable||n.push(o)}),n}static fetchSimulationElements(e,n){if(e.userData.simulation&&n.push(e),e.children.length>0)for(const o of e.children)ii.fetchSimulationElements(o,n)}static getSimulationElements(e,n,o){if(e.userData.simulation&&e.uuid!==o&&n.push(e),e.children.length>0)for(const i of e.children)ii.getSimulationElements(i,n,o)}static hasMovingParts(e){for(const n of e)switch(n.type){case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:return!0;case z.SolarPanel:if(n.trackerType!==Ma.NO_TRACKER)return!0}return!1}static onBuildingEnvelope(e){return e.type===z.Foundation||e.type===z.Window||e.type===z.Door||e.type===z.Wall||e.type===z.Roof}static getWindowArea(e,n){if(n){if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz*n.lx*n.lz;return o+=e.lx*n.lx*e.polygonTop[1]/2,o}return e.lx*e.lz*n.lx*n.lz}else{if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz;return o+=e.lx*e.polygonTop[1]/2,o}return e.lx*e.lz}}static getDoorArea(e,n){if(n){if(e.doorType===Sd.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz*n.lx*n.lz}else{if(e.doorType===Sd.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz}}static hasHeliostatOrFresnelReflectors(e){for(const n of e)if(n.type===z.FresnelReflector||n.type===z.Heliostat)return!0;return!1}static lineIntersection(e,n,o,i){const r=n.x-e.x,a=n.y-e.y,l=r*(i.y-o.y)-(i.x-o.x)*a;if(l===0)return;const s=((i.y-o.y)*(i.x-e.x)+(o.x-i.x)*(i.y-e.y))/l,c=((e.y-n.y)*(i.x-e.x)+r*(i.y-e.y))/l;if(!(!(0<=s&&s<=1)||!(0<=c&&c<=1)))return{x:e.x+s*r,y:e.y+s*a}}static calculateSolarRadiationColor(e,n){const o=n/(gz.length-1);let i=Math.max(0,Math.floor(e/o));i>gz.length-2&&(i=gz.length-2);const r=Math.min(1,(e-o*i)/o);return new Xo(gz[i]).lerp(gz[i+1],r)}static transpose(e){return e[0].map((n,o)=>e.map(i=>i[o]))}static clone2DArray(e){return e.map(n=>[...n])}static fetchHeatmapTexture(e,n,o){if(!e)return null;const i=document.createElement("canvas"),r=e.length,a=e[0].length;i.width=r,i.height=a;const l=i.getContext("2d");if(l){l.clearRect(0,0,r,a);const s=l.getImageData(0,0,r,a),c=s.data;for(let u=0;un!=u>n&&e<(c-l)*(n-s)/(u-s)+l&&(i=!i)}return i}static getPoints(e){const n=[];for(const o of e)n.push({x:o.x,y:o.y});return n}static polygonIntersections(e,n,o){const i=new Array;let r,a,l;for(let s=0;s0&&(n>l.x&&(n=l.x),i>l.y&&(i=l.y),o=o||Math.abs(a)>=i)return!1;const l=e.rightPoint[0],s=e.rightPoint[1];return!(Math.abs(l)>=o||Math.abs(s)>=i)}static isSensorWithin(e,n){return Math.abs(e.cx)<.5-e.lx/n.lx&&Math.abs(e.cy)<.5-e.ly/n.ly}static isSolarCollectorWithinHorizontalSurface(e,n){const o=e.cx*n.lx,i=e.cy*n.ly,r=Math.cos(e.relativeAzimuth),a=Math.sin(e.relativeAzimuth),l=n.lx*.5,s=n.ly*.5,c=e.lx*.5,u=e.ly*.5*Math.cos(e.tiltAngle);let d=o+c*r-u*a,f=i+c*a+u*r;return!(Math.abs(d)>l||Math.abs(f)>s||(d=o+c*r+u*a,f=i+c*a-u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r-u*a,f=i-c*a+u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r+u*a,f=i-c*a-u*r,Math.abs(d)>l||Math.abs(f)>s))}static isWindTurbineWithinHorizontalSurface(e,n){return Math.abs(e.cx)<=.5&&Math.abs(e.cy)<=.5}static isUnitVectorX(e){return ii.isSame(e,Np)||ii.isSame(e,Up)}static isUnitVectorY(e){return ii.isSame(e,Yc)||ii.isSame(e,Bp)}static isSame(e,n){return Math.abs(e.x-n.x)Dt)return!1;return!0}static isZero(e){return Math.abs(e)-1&&e.splice(o,1)}static fixElements(e){const n=[];for(const o of e)o.type||n.push(o);if(n.length>0)for(const o of n)ii.deleteElement(e,o)}static fixViewStateLight(e){e.ambientLightIntensity&&(e.ambientLightIntensity*=2),e.directLightIntensity&&(e.directLightIntensity*=3.5)}static isResizingVertical(e){switch(e){case gt.LowerLeftTop:case gt.UpperLeftTop:case gt.LowerRightTop:case gt.UpperRightTop:return!0;default:return!1}}static isTopResizeHandle(e){return e===gt.LowerLeftTop||e===gt.LowerRightTop||e===gt.UpperLeftTop||e===gt.UpperRightTop||e===gt.Top}static isXResizeHandle(e){return e===gt.Left||e===gt.Right}static isYResizeHandle(e){return e===gt.Upper||e===gt.Lower}static isTopResizeHandleOfWall(e){return e===gt.UpperLeft||e===gt.UpperRight}static isRiseHandleOfRoof(e){return e===ki.Top||e===ki.Mid||e===ki.TopMid}static isMoveHandle(e){return e===yo.Default||e===yo.Top||e===yo.Upper||e===yo.Lower||e===yo.Left||e===yo.Right}static snapToNormalGrid(e){const n=Math.round(e.x/g6)*g6,o=Math.round(e.y/g6)*g6;return new re(n,o,e.z)}static snapToFineGrid(e){const n=Math.round(e.x/l9)*l9,o=Math.round(e.y/l9)*l9;return new re(n,o,e.z)}static isPositionRelative(e){return e===z.SolarPanel||e===z.ParabolicTrough||e===z.ParabolicDish||e===z.FresnelReflector||e===z.Heliostat||e===z.WindTurbine||e===z.WaterHeater||e===z.Sensor||e===z.Light||e===z.Polygon||e===z.Window||e===z.Door||e===z.Roof||e===z.Wall}static isPlantOrHuman(e){return e.type===z.Tree||e.type===z.Flower||e.type===z.Human}static isFoundationOrCuboid(e){return e.type===z.Foundation||e.type===z.Cuboid}static isSolarCollector(e){return ii.isSolarCollectorType(e.type)}static isSolarCollectorType(e){return e===z.SolarPanel||e===z.WaterHeater||ii.isCspCollectorType(e)}static isCspCollector(e){return ii.isCspCollectorType(e.type)}static isCspCollectorType(e){return e===z.ParabolicDish||e===z.ParabolicTrough||e===z.FresnelReflector||e===z.Heliostat}static isParabolicCollector(e){return ii.isParabolaType(e.type)}static isParabolaType(e){return e===z.ParabolicDish||e===z.ParabolicTrough}static isParabolicTroughOrFresnelReflector(e){return e===z.FresnelReflector||e===z.ParabolicTrough}static isHeliostatOrFresnelReflector(e){return e===z.FresnelReflector||e===z.Heliostat}static isLegalOnWall(e){switch(e){case z.Window:case z.Door:case z.Sensor:case z.Light:case z.SolarPanel:case z.Polygon:return!0}return!1}static isDescendantOf(e,n){const o=e.parentId;if(!o||o===Zo)return!1;const i=M.getState().getElementById(o);return i?i.id===n?!0:ii.isDescendantOf(i,n):!1}static isElementInsideWall(e,n,o,i,r){const a=n/2,l=o/2;for(let c=-1;c<=1;c+=2)for(let u=-1;u<=1;u+=2){if(r&&u===-1)continue;const d=e.x+a*c,f=e.z+l*u;if(!ii.isPointInside(d,f,i))return!1}const s=[{x:e.x-a,y:e.z-l},{x:e.x-a,y:e.z+l},{x:e.x+a,y:e.z+l},{x:e.x+a,y:e.z-l}];for(const c of i)if(ii.isPointInside(c.x,c.y,s))return!1;return!0}static checkElementOnWallState(e,n){let i=e.lx/2+1e-5,r=e.lz/2+1e-5;n&&e.type===z.SolarPanel&&(i=i/n.lx+1e-5,r=e.ly/2/n.lz+1e-5);const a=e.cx-i,l=e.cx+i,s=e.cz-r,c=e.cz+r;if(n&&n.type===z.Wall&&!ii.isElementInsideWall(new re(e.cx*n.lx,e.cy,e.cz*n.lz),n.lx*i*2,n.lz*r*2,ii.getWallInnerSideShapePoints(n),e.type===z.Door))return fc.OutsideBoundary;for(const u of M.getState().elements)if(ii.isLegalOnWall(u.type)&&u.type!==z.Polygon&&u.parentId===e.parentId&&u.id!==e.id){let d=u.lx/2,f=u.lz/2;n&&u.type===z.SolarPanel&&(d=d/n.lx,f=u.ly/2/n.lz);const p=u.cx-d,g=u.cx+d,A=u.cz-f,w=u.cz+f;if((a>=p&&a<=g||l>=p&&l<=g||p>=a&&p<=l||g>=a&&g<=l)&&(s>=A&&s<=w||c>=A&&c<=w||A>=s&&A<=c||w>=s&&w<=c))return fc.OverLap}return fc.Valid}static checkElementOnRoofState(e,n){if(e.foundationId){const o=M.getState().getElementById(e.foundationId);if(o){const i=In.getSolarPanelVerticesOnRoof(e,o),r=In.getRoofBoundaryVertices(n);return In.rooftopElementBoundaryCheck(i,r)?In.rooftopSPCollisionCheck(e,o,i)?fc.Valid:fc.OverLap:fc.OutsideBoundary}}return fc.Invalid}static relativeCoordinates(e,n,o,i){const r=new re(e,n,o);if(i.type===z.Wall){const a=new re(i.cx,i.cy),l=M.getState().getParent(i);if(l){const s=new re(l.cx,l.cy);a.applyEuler(new Qt(0,0,l.rotation[2])).add(s).setZ(l.lz+i.lz/2),r.sub(a).applyEuler(new Qt(0,0,-i.relativeAngle-l.rotation[2]))}}else{const{pos:a,rot:l}=ii.getWorldDataById(i.id);r.set(e-a.x,n-a.y,o-a.z),r.applyEuler(new Qt(0,0,-l))}return r.x/=i.lx,r.y/=i.ly,r.z/=i.lz,r}static absoluteCoordinates(e,n,o,i,r,a){if(i.type===z.Wall&&r){const s=i,c=r?r.rotation[2]+s.relativeAngle:s.relativeAngle;if(c!==void 0){const u=ii.wallAbsolutePosition(new re(s.cx,s.cy,s.cz),r).setZ(s.lz/2+r.lz),d=new re(e*s.lx,n*s.ly,o*s.lz);if(d.applyAxisAngle(Po,c),a){const f=a*Math.cos(c-Vt),p=a*Math.sin(c-Vt);return new re(u.x+d.x+f,u.y+d.y+p,u.z+d.z)}return new re(u.x+d.x,u.y+d.y,u.z+d.z)}}if(i.type===z.Roof&&r){const s=new re(e*r.lx,n*r.ly,o+r.lz);return s.applyEuler(new Qt().fromArray(r.rotation)),s.x+=r.cx,s.y+=r.cy,s}const l=new re(e*i.lx,n*i.ly,o*i.lz);return l.applyEuler(new Qt().fromArray(i.rotation)),l.x+=i.cx,l.y+=i.cy,l.z+=i.cz,l}static absoluteHumanOrTreeCoordinates(e,n,o,i){const r=new re(e,n,o);return r.applyEuler(new Qt().fromArray(i.rotation)),r.x+=i.cx,r.y+=i.cy,r.z+=i.cz,r}static relativePoint(e,n){const o=new re(e.x-n.cx,e.y-n.cy,e.z-n.cz);return o.applyEuler(new Qt().fromArray(n.rotation.map(i=>-i))),o}static wallAbsolutePosition(e,n){const o=new re(n.cx,n.cy);return new re().addVectors(o,new re(e.x,e.y).applyAxisAngle(Po,n.rotation[2]))}static wallRelativePosition(e,n){const o=new re(n.cx,n.cy);return new re().subVectors(new re(e.x,e.y),o).applyAxisAngle(Po,-n.rotation[2])}static getObjectChildById(e,n){if(e){for(const o of e.children)if(o.name===Uqe){const i=ii.getStackCuboidObjectById(o,n);if(i)return i}else if(o.name.includes(n))return o}return null}static getStackCuboidObjectById(e,n){if(e)for(const o of e.children){if(o.name.includes(n))return o;if(o.name===Bqe){const i=ii.getStackCuboidObjectById(o.children[0],n);if(i)return i}}return null}static toRadians(e){return e*(Math.PI/180)}static toDegrees(e){return e*(180/Math.PI)}static getArrayMax(e){return e.reduce((n,o)=>Math.max(n,o))}static getArrayMin(e){return e.reduce((n,o)=>Math.min(n,o))}static getArrayMax2D(e){return ii.getArrayMax(e.map(ii.getArrayMax))}static getArrayMin2D(e){return ii.getArrayMin(e.map(ii.getArrayMin))}static sphericalToCartesianZ(e){const n=e.x*Math.cos(e.z),o=n*Math.cos(e.y),i=n*Math.sin(e.y),r=e.x*Math.sin(e.z);return e.set(o,i,r),e}static getDistance(e,n,o,i){return e=ii.toRadians(e),n=ii.toRadians(n),o=ii.toRadians(o),i=ii.toRadians(i),Math.acos(Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos(Math.abs(e-o)))}static minutesIntoDay(e){return e.getHours()*60+e.getMinutes()}static dayOfYear(e){return(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())-Date.UTC(e.getFullYear(),0,0))/864e5}static daysInYear(e){const n=e.getFullYear();return n%4===0&&n%100>0||n%400===0?366:365}static daysOfMonth(e,n){return new Date(n,e+1,0).getDate()}static fahrenheitToCelsius(e){return(e-32)*5/9}static celsiusToFahrenheit(e){return e*(9/5)+32}static getOS(){var e;return(e=$Ne.os)==null?void 0:e.family}static isMac(){const e=ii.getOS();return e?e.includes("Mac")||e.includes("OS X"):!1}static isChrome(){const e=ii.getOS();return e?e.includes("Chrome"):!1}static detectWebGLContext(){try{const e=document.createElement("canvas");return!!window.WebGLRenderingContext&&(!!e.getContext("webgl")||!!e.getContext("experimental-webgl"))}catch{return!1}}static clamp(e,n,o){return n>o?(n+o)/2:Math.min(Math.max(e,n),o)}static distanceFromPointToLine2D(e,n,o){const[i,r]=[e.x,e.y],[a,l]=[n.x,n.y],[s,c]=[o.x,o.y],u=i-a,d=r-l,f=s-a,p=c-l,g=u*f+d*p,A=f*f+p*p;let w=-1;A!==0&&(w=g/A);let b,C;w<0?(b=a,C=l):w>1?(b=s,C=c):(b=a+w*f,C=l+w*p);const P=i-b,v=r-C;return Math.sqrt(P*P+v*v)}static mapVector3ToPoint2(e){return{x:e.x,y:e.y}}static getWallVertices(e,n){const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:-i-n},a={x:o+n,y:-i-n},l={x:-o-n,y:(e.leftRoofHeight??e.lz)-i+n},s={x:o+n,y:(e.rightRoofHeight??e.lz)-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static isPartialWallFull(e){return ii.isZero((e.leftRoofHeight??e.lz)-e.leftTopPartialHeight)&&ii.isZero((e.rightRoofHeight??e.lz)-e.rightTopPartialHeight)&&ii.isZero(e.leftUnfilledHeight)&&ii.isZero(e.rightUnfilledHeight)}static getPartialWallVertices(e,n){if(ii.isPartialWallFull(e))return ii.getWallVertices(e,n);const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:e.leftUnfilledHeight-i-n},a={x:o+n,y:e.rightUnfilledHeight-i-n},l={x:-o-n,y:e.leftTopPartialHeight-i+n},s={x:o+n,y:e.rightTopPartialHeight-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static getHighestPointOfWall(e){let n=e.lz;return e.leftRoofHeight&&(n=Math.max(n,e.leftRoofHeight)),e.rightRoofHeight&&(n=Math.max(n,e.rightRoofHeight)),e.centerRightRoofHeight&&(n=Math.max(n,e.centerRightRoofHeight[1])),e.centerRoofHeight&&(n=Math.max(n,e.centerRoofHeight[1])),e.centerLeftRoofHeight&&(n=Math.max(n,e.centerLeftRoofHeight[1])),n}static getWallPointsOfRoof(e,n){let o=n??M.getState().getElementById(e.wallsId[0]);if(!o)return[];const i=o,r=[];for(;o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.leftJoints[0]);)if(o.leftJoints[0]!==i.id)o=M.getState().getElementById(o.leftJoints[0]);else return r.reverse(),r;for(r.reverse(),o=M.getState().getElementById(i==null?void 0:i.rightJoints[0]);o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.rightJoints[0]&&o.rightJoints[0]!==i.id);)o=M.getState().getElementById(o.rightJoints[0]);return r}static getWallInnerSideShapePoints(e){const{lx:n,ly:o,lz:i,relativeAngle:r,fill:a,leftUnfilledHeight:l,rightUnfilledHeight:s,leftRoofHeight:c,centerLeftRoofHeight:u,centerRoofHeight:d,centerRightRoofHeight:f,rightRoofHeight:p,leftJoints:g,rightJoints:A}=e,w=g.length>0?M.getState().getElementById(g[0]):null,b=A.length>0?M.getState().getElementById(A[0]):null,C=w&&w.type===z.Wall?ii.getInnerWallOffset(w,n,o,r,"left"):0,P=b&&b.type===z.Wall?ii.getInnerWallOffset(b,n,o,r,"right"):0,v=[],T=n/2,y=i/2;return a===Hl.Partial?(v.push({x:-T+C,y:-y+l}),v.push({x:T-P,y:-y+s})):(v.push({x:-T+C,y:-y}),v.push({x:T-P,y:-y})),p?v.push({x:T-P,y:p-y}):v.push({x:T-P,y}),f&&v.push({x:f[0]*n,y:f[1]-y}),d&&v.push({x:d[0]*n,y:d[1]-y}),u&&v.push({x:u[0]*n,y:u[1]-y}),c?v.push({x:-T+C,y:c-y}):v.push({x:-T+C,y}),v}static getInnerWallOffset(e,n,o,i,r){let a=0;if(e&&e.fill!==Hl.Empty){const l=r==="left"?-1:1,s=(Math.PI*3+l*(i-e.relativeAngle))%na;s<=Vt+.01&&s>0&&(a=Math.min(o/Math.tan(s)+e.ly,n))}return a}static isElementAllowedMultipleMoveOnGround(e){return e.type===z.Foundation||e.type===z.Cuboid&&e.parentId===Zo}static areBasesOverlapped(e,n,o){const i=o.get(e),r=o.get(n);if(!i||!r)return!1;for(const a of i)if(ii.isPointInside(a.x,a.y,r))return!0;for(const a of r)if(ii.isPointInside(a.x,a.y,i))return!0;i.push(i[0]),r.push(r[0]);for(let a=0;aNumber(c)),[a,l,s]=n.split(".").map(c=>Number(c));return oa?!1:il?!1:r{const n=M.getState().getElementById,o=[],i=e;for(;e&&(o.push(e),e.leftJoints[0]);)if(e.leftJoints[0]!==i.id){const a=n(e.leftJoints[0]);a&&a.type===z.Wall&&(e=a)}else return o;const r=n(i.rightJoints[0]);for(r&&r.type===z.Wall&&(e=r);e&&(o.push(e),e.rightJoints[0]&&e.rightJoints[0]!==i.id);){const a=n(e.rightJoints[0]);a&&(e=a)}return o},ii.getWorldDataById=e=>{const n=M.getState().getElementById(e);if(!n)return{pos:new re,rot:0,topZ:0};const o=new re(n.cx,n.cy,n.cz),i=n.rotation[2],r=n.lz;if(n.parentId===Zo)return{pos:o,rot:i,topZ:r};const{pos:a,rot:l,topZ:s}=ii.getWorldDataById(n.parentId),c=new Qt(0,0,l);return{pos:new re().addVectors(o.applyEuler(c),a.clone().setZ(s)),rot:i+l,topZ:r+s}},ii.isChild=(e,n,o=!1)=>{const i=M.getState().getElementById(n);return!i||o&&i.locked?!1:i.parentId===e?!0:ii.isChild(e,i.parentId,o)},ii.getBaseId=e=>{const n=M.getState().getElementById(e);return n?n.parentId===Zo?n.id:ii.getBaseId(n.parentId):null},ii.isElementTriggerAutoDeletion=e=>{if(e.type===z.Roof){const i=e;if(i.roofType===Vo.Gable||i.roofType===Vo.Gambrel)return!0}if(e.type!==z.Wall)return!1;const n=e;if(!n.roofId)return!1;const o=M.getState().getElementById(n.roofId);if(!o)return!1;switch(o.roofType){case Vo.Hip:case Vo.Gable:case Vo.Gambrel:return!0;case Vo.Pyramid:case Vo.Mansard:return o.wallsId.length===0?!1:o.wallsId[0]===n.id;default:return!1}};let xe=ii;var uSe;class dSe{constructor(){this[uSe]=!0,this.latitude=42.2844063,this.longitude=-71.3488548,this.address=$V,this.countryCode="US",this.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),this.name="default",this.ground={albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:new Array(12).fill(0)},this.leafDayOfYear1=cq,this.leafDayOfYear2=uq,this.airAttenuationCoefficient=.01,this.airConvectiveCoefficient=5,this.timesPerHour=1,this.daysPerYear=12,this.monthlyIrradianceLosses=new Array(12).fill(.05),this.pvGridCellSize=.5,this.discretization=Hm.APPROXIMATE,this.diurnalTemperatureModel=d2.Sinusoidal,this.highestTemperatureTimeInMinutes=900,this.solarPanelVisibilityGridCellSize=.2,this.solarRadiationHeatmapGridCellSize=.5,this.cspTimesPerHour=1,this.cspDaysPerYear=4,this.cspGridCellSize=.5,this.sutTimesPerHour=1,this.sutDaysPerYear=4,this.sutGridCellSize=1,this.noAnimationForHeatmapSimulation=!1,this.noAnimationForThermalSimulation=!1,this.noAnimationForSensorDataCollection=!1,this.noAnimationForSolarPanelSimulation=!1,this.noAnimationForSolarUpdraftTowerSimulation=!1}static resetWorldModel(e){e.latitude=42.2844063,e.longitude=-71.3488548,e.address=$V,e.countryCode="US",e.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),e.name="default",e.ground.albedo=.3,e.ground.thermalDiffusivity=.05,e.ground.snowReflectionFactors.fill(0),e.airAttenuationCoefficient=.01,e.airConvectiveCoefficient=5,e.timesPerHour=1,e.daysPerYear=12,e.monthlyIrradianceLosses=new Array(12).fill(.05),e.pvGridCellSize=.5,e.discretization=Hm.APPROXIMATE,e.diurnalTemperatureModel=d2.Sinusoidal,e.highestTemperatureTimeInMinutes=900,e.solarPanelVisibilityGridCellSize=.2,e.solarRadiationHeatmapGridCellSize=.5,e.cspTimesPerHour=1,e.cspDaysPerYear=4,e.cspGridCellSize=.5,e.sutTimesPerHour=1,e.sutDaysPerYear=4,e.sutGridCellSize=1,e.noAnimationForHeatmapSimulation=!1,e.noAnimationForThermalSimulation=!1,e.noAnimationForSensorDataCollection=!1,e.noAnimationForSolarPanelSimulation=!1,e.noAnimationForSolarUpdraftTowerSimulation=!1}getElements(){const e=[],n={type:z.Foundation,cx:0,cy:0,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,textureType:Or.NoTexture,id:ta.generate()};e.push(n);const o={type:z.Sensor,cx:-.1,cy:0,cz:.105,lx:.1,ly:.1,lz:.01,parentId:n.id,foundationId:n.id,normal:[0,0,1],rotation:[0,0,0],id:ta.generate(),showLabel:!0,light:!0,heatFlux:!1};e.push(o);const i={type:z.Human,name:Yt.Judd,cx:1,cy:-1,cz:0,lx:Ip.fetchWidth(Yt.Jiya),lz:Ip.fetchHeight(Yt.Jiya),normal:[1,0,0],rotation:[0,0,0],parentId:Zo,id:ta.generate()};return e.push(i),e}}uSe=_m;class Nl{static clone(e,n,o,i,r,a,l,s){let c=null;switch(n.type){case z.Polygon:e&&(c=Nl.clonePolygon(e,n,o,i,r,a,l));break;case z.Sensor:e&&(c=Nl.cloneSensor(e,n,o,i,r));break;case z.Light:e&&(c=Nl.cloneLight(e,n,o,i,r));break;case z.SolarPanel:e&&(c=Nl.cloneSolarPanel(e,n,o,i,r));break;case z.ParabolicTrough:e&&(c=Nl.cloneParabolicTrough(e,n,o,i,r));break;case z.ParabolicDish:e&&(c=Nl.cloneParabolicDish(e,n,o,i,r));break;case z.FresnelReflector:e&&(c=Nl.cloneFresnelReflector(e,n,o,i,r));break;case z.Heliostat:e&&(c=Nl.cloneHeliostat(e,n,o,i,r));break;case z.WindTurbine:e&&(c=Nl.cloneWindTurbine(e,n,o,i,r));break;case z.Wall:e&&(c=Nl.cloneWall(e,n,o,i,r));break;case z.Window:e&&(c=Nl.cloneWindow(e,n,o,i,r,s));break;case z.Door:e&&(c=Nl.cloneDoor(e,n,o,i,r));break;case z.Roof:e&&(c=Nl.cloneRoof(e,n,o,i,r));break;case z.Human:c=Nl.cloneHuman(n,o,i,r,e);break;case z.Tree:c=Nl.cloneTree(n,o,i,r,e);break;case z.Flower:c=Nl.cloneFlower(n,o,i,r,e);break;case z.Foundation:c=Nl.cloneFoundation(n,o,i);break;case z.Cuboid:const u=e?e.id:Zo;c=Nl.cloneCuboid(u,n,o,i);break}return c}static cloneHuman(e,n,o,i,r){return{type:z.Human,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneTree(e,n,o,i,r){return{type:z.Tree,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneFlower(e,n,o,i,r){return{type:z.Flower,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static clonePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=n.vertices.map(d=>({...d})),u={type:z.Polygon,cx:o,cy:i,cz:r,lx:n.lx,ly:n.ly,lz:n.lz,filled:n.filled,noOutline:n.noOutline,color:n.color,lineColor:n.lineColor,lineWidth:n.lineWidth,opacity:n.opacity,textureType:n.textureType,text:n.text,fontSize:n.fontSize,fontColor:n.fontColor,normal:[...n.normal],rotation:n.parentId?[...e.rotation]:[0,0,0],vertices:c,parentId:e.id,parentType:e.type,foundationId:s,id:ta.generate()};if(!a){let d=o,f=i;if(e.type===z.Cuboid&&l){xe.isSame(l,Up)?d=r??0:xe.isSame(l,Np)?d=-(r??0):xe.isSame(l,Bp)?f=r??0:xe.isSame(l,Yc)&&(f=-(r??0));const p=l.dot(new re().fromArray(n.normal));if(Math.abs(p)0&&this.commands.length>this.limit&&this.commands.splice(0,this.commands.length-this.limit),this.index=this.commands.length-1)}undo(){const e=this.commands[this.index];if(e)return this.isExecuting=!0,e.undo(),this.isExecuting=!1,this.index--,e.name}redo(){const e=this.commands[this.index+1];if(e)return this.isExecuting=!0,e.redo(),this.isExecuting=!1,this.index++,e.name}clear(){this.commands=[],this.index=-1}hasUndo(){return this.index!==-1}hasRedo(){return this.index0||this.cuboidCount>0||this.wallCount>0||this.windowCount>0||this.doorCount>0||this.humanCount>0||this.treeCount>0||this.flowerCount>0||this.polygonCount>0||this.sensorCount>0||this.insideLightCount>0||this.outsideLightCount>0||this.solarPanelCount>0||this.parabolicTroughCount>0||this.parabolicDishCount>0||this.fresnelReflectorCount>0||this.heliostatCount>0||this.solarUpdraftTowerCount>0||this.windTurbineCount>0}}var ySe;class KQt{constructor(e){this[ySe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.selectionMethod=zm.ROULETTE_WHEEL,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.populationSize=20,this.maximumGenerations=5,this.selectionRate=.5,this.crossoverRate=.5,this.mutationRate=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}ySe=_m;var ASe;class qQt{constructor(e){this[ASe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.swarmSize=20,this.maximumSteps=5,this.vmax=.01,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}ASe=_m;var wSe;class vSe{constructor(){this[wSe]=!0,this.geneticAlgorithmParams=new KQt(Tr.SOLAR_PANEL_TILT_ANGLE),this.particleSwarmOptimizationParams=new qQt(Tr.SOLAR_PANEL_TILT_ANGLE)}}wSe=_m;var xSe;class XG{constructor(){this[xSe]=!0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.poleHeight=1,this.poleSpacing=5,this.orientation=ui.landscape,this.pvModelName="CS6X-355P-FG",this.rowAxis=Rl.leftRight}}xSe=_m;var bSe;class SSe{constructor(){this[bSe]=!0,this.projectLifeSpan=25,this.electricitySellingPrice=.25,this.operationalCostPerUnit=.15}}bSe=_m;var TSe;class PSe{constructor(){this[TSe]=!0,this.humanName=Yt.Jack,this.flowerType=Qn.YellowFlower,this.treeType=fi.Dogwood,this.treeSpread=3,this.treeHeight=4,this.foundationHeight=.1,this.foundationColor="#808080",this.foundationTexture=Or.NoTexture,this.groundFloorRValue=Q4,this.cuboidHeight=4,this.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"],this.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],this.cuboidStackable=!1,this.wallHeight=5,this.wallThickness=.3,this.wallColor="#ffffff",this.wallTexture=No.Default,this.wallStructure=hc.Default,this.wallStructureSpacing=2,this.wallStructureWidth=.1,this.wallStructureColor="#ffffff",this.wallOpacity=.5,this.wallRValue=i6,this.wallVolumetricHeatCapacity=.5,this.wallEavesLength=.3,this.wallParapet=wye,this.roofColor="#454769",this.roofSideColor="#ffffff",this.roofTexture=Ui.Default,this.roofThickness=.2,this.roofStructure=yc.Default,this.roofGlassOpacity=.5,this.roofGlassTint="#73D8FF",this.roofRafterWidth=.1,this.roofRafterSpacing=1,this.roofRafterColor="#ffffff",this.roofRValue=Z4,this.roofVolumetricHeatCapacity=.5,this.roofRise=2,this.roofCeiling=!1,this.ceilingRValue=c6,this.doorColor="#ffffff",this.doorFrameColor="#ffffff",this.doorTexture=ri.Default,this.doorType=Sd.Default,this.doorArchHeight=1,this.doorFilled=!0,this.doorInterior=!1,this.doorUValue=j4,this.doorOpacity=1,this.doorVolumetricHeatCapacity=.5,this.windowWidth=1,this.windowHeight=1,this.windowColor="#ffffff",this.windowTint="#73D8FF",this.windowOpacity=.5,this.windowUValue=B4,this.windowHorizontalMullion=!0,this.windowVerticalMullion=!0,this.windowMullionWidth=.06,this.windowHorizontalMullionSpacing=.5,this.windowVerticalMullionSpacing=.5,this.windowMullionColor="#ffffff",this.windowFrame=!1,this.windowFrameWidth=.1,this.windowSillWidth=.1,this.windowType=Sr.Default,this.windowArchHeight=1,this.windowShutterLeft=!1,this.windowShutterRight=!1,this.windowShutterColor="gray",this.windowShutterWidth=.5,this.windowEmpty=!1,this.windowInterior=!1,this.windTurbineBirdSafeDesign=lc.None,this.windTurbineBladeColor=X5,this.windTurbineStripeColor=J5,this.windTurbineNumberOfBlades=3,this.windTurbinePitchAngle=Math.PI/18,this.windTurbineRelativeYawAngle=0,this.windTurbineInitialRotorAngle=0,this.windTurbineTowerHeight=20,this.windTurbineTowerRadius=.5,this.windTurbineBladeRadius=10,this.windTurbineBladeMaximumChordLength=1,this.windTurbineBladeMaximumChordRadius=3,this.windTurbineBladeRootRadius=.3,this.windTurbineHubRadius=.75,this.windTurbineHubLength=1.5,this.solarPanelModelName="SPR-X21-335-BLK",this.solarPanelOrientation=ui.landscape,this.solarPanelPoleHeight=1,this.solarPanelPoleSpacing=3,this.solarPanelTiltAngle=0,this.solarPanelRelativeAzimuth=0,this.solarPanelFrameColor="#ffffff",this.solarPanelCx=0,this.solarPanelCy=0,this.parabolicDishReflectance=.9,this.parabolicDishAbsorptance=.95,this.parabolicDishOpticalEfficiency=.7,this.parabolicDishThermalEfficiency=.3,this.parabolicDishRimDiameter=4,this.parabolicDishLatusRectum=8,this.parabolicDishPoleHeight=.2,this.parabolicDishPoleRadius=.1,this.parabolicDishReceiverStructure=tf.CentralPole,this.parabolicTroughReflectance=.9,this.parabolicTroughAbsorptance=.95,this.parabolicTroughOpticalEfficiency=.7,this.parabolicTroughThermalEfficiency=.3,this.parabolicTroughLatusRectum=2,this.parabolicTroughPoleHeight=.2,this.parabolicTroughWidth=2,this.parabolicTroughModuleLength=3,this.fresnelReflectorReceiver="None",this.fresnelReflectorReflectance=.9,this.fresnelReflectorPoleHeight=.2,this.fresnelReflectorWidth=2,this.fresnelReflectorModuleLength=3,this.heliostatTower="None",this.heliostatReflectance=.9,this.heliostatPoleHeight=.2,this.heliostatPoleRadius=.1,this.heliostatWidth=4,this.heliostatLength=2,this.lightColor="#ffff99",this.lightIntensity=3,this.lightDistance=5}}TSe=_m;var CSe;class RSe{constructor(){this[CSe]=!0,this.dailyPvIndividualOutputs=!1,this.yearlyPvIndividualOutputs=!1,this.dailyParabolicDishIndividualOutputs=!1,this.yearlyParabolicDishIndividualOutputs=!1,this.dailyParabolicTroughIndividualOutputs=!1,this.yearlyParabolicTroughIndividualOutputs=!1,this.dailyFresnelReflectorIndividualOutputs=!1,this.yearlyFresnelReflectorIndividualOutputs=!1,this.dailyHeliostatIndividualOutputs=!1,this.yearlyHeliostatIndividualOutputs=!1,this.dailyUpdraftTowerIndividualOutputs=!1,this.yearlyUpdraftTowerIndividualOutputs=!1}}CSe=_m;class dd{static getDefaultHiddenParameters(e){return e===Tr.SOLAR_PANEL_ARRAY?["latitude","orientation","poleHeight"]:[]}static getVariables(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("rowWidth"),n.includes("tiltAngle")||o.push("tiltAngle"),n.includes("interRowSpacing")||o.push("interRowSpacing"),n.includes("latitude")||o.push("latitude"),n.includes("orientation")||o.push("orientation"),n.includes("poleHeight")||o.push("poleHeight"),n.includes("unitCost")||o.push("unitCost"),n.includes("sellingPrice")||o.push("sellingPrice"),n.includes("totalYearlyCost")||o.push("totalYearlyCost"),n.includes("totalYearlyYield")||o.push("totalYearlyYield"),n.includes("meanYearlyYield")||o.push("meanYearlyYield"),n.includes("yearlyProfit")||o.push("yearlyProfit"),o}return[]}static getTitles(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(j.t("polygonMenu.SolarPanelArrayRowWidth",n)),o.includes("tiltAngle")||i.push(j.t("polygonMenu.SolarPanelArrayTiltAngle",n)),o.includes("interRowSpacing")||i.push(j.t("polygonMenu.SolarPanelArrayRowSpacing",n)),o.includes("latitude")||i.push(j.t("word.Latitude",n)),o.includes("orientation")||i.push(j.t("polygonMenu.SolarPanelArrayOrientation",n)),o.includes("poleHeight")||i.push(j.t("polygonMenu.SolarPanelArrayPoleHeight",n)),o.includes("unitCost")||i.push(j.t("economicsPanel.UnitCost",n)),o.includes("sellingPrice")||i.push(j.t("economicsPanel.SellingPrice",n)),o.includes("totalYearlyCost")||i.push(j.t("polygonMenu.SolarPanelArrayTotalYearlyCost",n)),o.includes("totalYearlyYield")||i.push(j.t("polygonMenu.SolarPanelArrayTotalYearlyYield",n)),o.includes("meanYearlyYield")||i.push(j.t("polygonMenu.SolarPanelArrayMeanYearlyYield",n)),o.includes("yearlyProfit")||i.push(j.t("polygonMenu.SolarPanelArrayYearlyProfit",n)),i}return[]}static getTypes(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("number"),n.includes("tiltAngle")||o.push("number"),n.includes("interRowSpacing")||o.push("number"),n.includes("latitude")||o.push("number"),n.includes("orientation")||o.push("boolean"),n.includes("poleHeight")||o.push("number"),n.includes("unitCost")||o.push("number"),n.includes("sellingPrice")||o.push("number"),n.includes("totalYearlyCost")||o.push("number"),n.includes("totalYearlyYield")||o.push("number"),n.includes("meanYearlyYield")||o.push("number"),n.includes("yearlyProfit")||o.push("number"),o}return[]}static getDigits(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(0),n.includes("tiltAngle")||o.push(1),n.includes("interRowSpacing")||o.push(1),n.includes("latitude")||o.push(1),n.includes("orientation")||o.push(0),n.includes("poleHeight")||o.push(1),n.includes("unitCost")||o.push(2),n.includes("sellingPrice")||o.push(2),n.includes("totalYearlyCost")||o.push(1),n.includes("totalYearlyYield")||o.push(1),n.includes("meanYearlyYield")||o.push(1),n.includes("yearlyProfit")||o.push(3),o}return[]}static getTickIntegers(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(!0),n.includes("tiltAngle")||o.push(!1),n.includes("interRowSpacing")||o.push(!1),n.includes("latitude")||o.push(!1),n.includes("orientation")||o.push(!0),n.includes("poleHeight")||o.push(!1),n.includes("unitCost")||o.push(!1),n.includes("sellingPrice")||o.push(!1),n.includes("totalYearlyCost")||o.push(!1),n.includes("totalYearlyYield")||o.push(!1),n.includes("meanYearlyYield")||o.push(!1),n.includes("yearlyProfit")||o.push(!1),o}return[]}static getUnits(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(" "+j.t("solarPanelMenu.Panels",n)),o.includes("tiltAngle")||i.push("°"),o.includes("interRowSpacing")||i.push(" "+j.t("word.MeterAbbreviation",n)),o.includes("latitude")||i.push("°"),o.includes("orientation")||i.push(""),o.includes("poleHeight")||i.push(" "+j.t("word.MeterAbbreviation",n)),o.includes("unitCost")||i.push(""),o.includes("sellingPrice")||i.push(""),o.includes("totalYearlyCost")||i.push("K"),o.includes("totalYearlyYield")||i.push(" MWh"),o.includes("meanYearlyYield")||i.push(" kWh"),o.includes("yearlyProfit")||i.push("K"),i}return[]}static getUnit(e,n){return e==="tiltAngle"||e==="latitude"?"°":e==="interRowSpacing"||e==="poleHeight"?j.t("word.MeterAbbreviation",n):e==="totalYearlyYield"?"MWh":e==="meanYearlyYield"?"kWh":e==="totalYearlyCost"||e==="yearlyProfit"?"K":""}static setScatterData(e,n,o,i){switch(e){case"rowWidth":o[n]=i.rowsPerRack;break;case"tiltAngle":o[n]=xe.toDegrees(i.tiltAngle);break;case"interRowSpacing":o[n]=i.interRowSpacing;break;case"latitude":o[n]=i.latitude;break;case"orientation":o[n]=i.orientation===ui.landscape?0:1;break;case"poleHeight":o[n]=i.poleHeight;break;case"unitCost":o[n]=i.unitCost;break;case"sellingPrice":o[n]=i.sellingPrice;break;case"totalYearlyCost":o[n]=xe.calculateCost(i);break;case"totalYearlyYield":o[n]=i.yearlyYield*.001;break;case"meanYearlyYield":o[n]=i.yearlyYield/i.panelCount;break;case"yearlyProfit":o[n]=xe.calculateProfit(i);break}}}class $Qt{static updateOldFileData(){M.getState().set(e=>{xe.compareVersion(e.version,H3t)&&(e.viewState.ambientLightIntensity&&(e.viewState.ambientLightIntensity*=3),e.viewState.directLightIntensity&&(e.viewState.directLightIntensity*=3.5));const n=new Map;for(const o of e.elements)n.set(o.id,o);for(const o of e.elements)switch(o.type){case z.Foundation:{o.parentId!==Zo&&(console.error("Error: "+o.parentId+" is not ground!"),o.parentId=Zo);break}case z.Wall:{const i=o;if(i.wallStructure===void 0&&(i.wallStructure=hc.Default),i.structureSpacing===void 0&&(i.structureSpacing=2),i.structureWidth===void 0&&(i.structureWidth=.1),i.structureColor===void 0&&(i.structureColor="white"),i.opacity===void 0&&(i.opacity=.5),i.fill===void 0&&(i.fill=Hl.Full),i.unfilledHeight===void 0&&(i.unfilledHeight=.5),i.leftUnfilledHeight===void 0||i.rightUnfilledHeight===void 0){const r=i.unfilledHeight??.5;i.leftUnfilledHeight=r,i.rightUnfilledHeight=r}if((i.leftTopPartialHeight===void 0||i.rightTopPartialHeight===void 0)&&(i.leftTopPartialHeight=i.lz,i.rightTopPartialHeight=i.lz),i.eavesLength===void 0&&i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;i.eavesLength=a.overhang!==void 0?a.overhang:.3}else i.eavesLength=.3}if(i.parapet===void 0&&(i.parapet={...wye}),i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;(a.roofType===Vo.Pyramid||a.roofType===Vo.Hip||a.roofType===Vo.Mansard)&&(i.leftRoofHeight=void 0,i.rightRoofHeight=void 0)}}break}case z.Window:{const i=o;i.horizontalMullion===void 0&&(i.horizontalMullion=i.mullion),i.verticalMullion===void 0&&(i.verticalMullion=i.mullion),i.mullionWidth===void 0&&(i.mullionWidth=.06),i.horizontalMullionSpacing===void 0&&(i.horizontalMullionSpacing=i.mullionSpacing??.5),i.verticalMullionSpacing===void 0&&(i.verticalMullionSpacing=i.mullionSpacing??.5),i.tint===void 0&&(i.tint="#73D8FF"),i.opacity===void 0&&(i.opacity=.5),i.shutter&&(i.leftShutter=i.shutter.showLeft,i.rightShutter=i.shutter.showRight,i.shutterColor=i.shutter.color,i.shutterWidth=i.shutter.width,i.shutter=void 0),i.shutterColor===void 0&&(i.shutterColor="gray"),i.shutterWidth===void 0&&(i.shutterWidth=.5),i.mullionColor===void 0&&(i.mullionColor="white"),i.frame===void 0&&(i.frame=!1),i.color===void 0&&(i.color="white"),i.frameWidth===void 0&&(i.frameWidth=.1),i.windowType===void 0&&(i.windowType=Sr.Default),i.archHeight===void 0&&(i.archHeight=1);break}case z.Door:{const i=o;i.doorType===void 0&&(i.doorType=Sd.Default),i.archHeight===void 0&&(i.archHeight=1),i.filled===void 0&&(i.filled=!0);break}case z.Roof:{const i=o;if(i.ceiling===void 0&&(i.ceiling=!1),i.roofType===Vo.Gambrel){const r=i;r.frontRidgePoint===void 0&&(r.frontRidgePoint=r.frontRidgeLeftPoint?[...r.frontRidgeLeftPoint]:[.35,.5],r.frontRidgeLeftPoint=void 0,r.frontRidgeRightPoint=void 0),r.backRidgePoint===void 0&&(r.backRidgePoint=r.backRidgeLeftPoint?[...r.backRidgeLeftPoint]:[-.35,.5],r.backRidgeLeftPoint=void 0,r.backRidgeRightPoint=void 0),r.topRidgePoint===void 0&&(r.topRidgePoint=r.topRidgeLeftPoint?[...r.topRidgeLeftPoint]:[0,1],r.topRidgeLeftPoint=void 0,r.topRidgeRightPoint=void 0)}}}})}}function hd(t){return t.type===z.Foundation||t.type===z.Cuboid}wht();const M=xK()(b3t(C3t((t,e)=>{const n=xe.isOpenFromURL(),o=new dSe,i=n?[]:o.getElements(),r=a=>t(LP(a));return{set:a=>{try{r(a)}catch(l){console.log(l)}},version:nE,world:o,elements:i,user:{},viewState:new hSe,actionState:new PSe,graphState:new RSe,solarPanelArrayLayoutParams:new gSe,solarPanelArrayLayoutConstraints:new XG,evolutionaryAlgorithmState:new vSe,economicsParams:new SSe,geneticAlgorithmWizardSelectedTab:"1",particleSwarmOptimizationWizardSelectedTab:"1",modelType:da.UNKNOWN,modelAuthor:null,modelLabel:null,modelDescription:null,projectView:!1,projectState:{owner:null,title:null,description:null,type:Tr.SOLAR_PANEL_ARRAY,designs:new Array,ranges:new Array,filters:new Array,hiddenParameters:dd.getDefaultHiddenParameters(Tr.SOLAR_PANEL_ARRAY),counter:0,dataColoring:n9.ALL,selectedProperty:null,sortDescending:!1,xAxisNameScatterPlot:null,yAxisNameScatterPlot:null,dotSizeScatterPlot:5,thumbnailWidth:200},projectImages:new Map,designProjectType:null,notes:[],language:"en",floatingWindowOpacity:m0,selectedFloatingWindow:null,cloudFile:void 0,latestModelSite:void 0,modelSites:new Map,peopleModels:new Map,modelsMapLatitude:42.2844063,modelsMapLongitude:-71.3488548,modelsMapAddress:$V,modelsMapZoom:ZNe,modelsMapType:"roadmap",modelsMapTilt:0,minimumNavigationMoveSpeed:3,minimumNavigationTurnSpeed:3,tempHumanPlant:[],ray:new Gs,mouse:new Gt,fileChanged:!1,setNavigationView(a){r(l=>{l.viewState.navigationView=a,l.viewState.enableRotate=!a,a&&(l.viewState.orthographic=!1)})},set2DView(a){r(l=>{l.viewState.orthographic=a,l.viewState.enableRotate=!a,a&&(l.viewState.navigationView=!1)})},applyCount:0,setApplyCount(a){r(l=>{l.applyCount=a})},revertApply(){if(e().applyCount){for(let a=0;a{s.version=a.version,s.world=a.world,s.viewState=a.view,s.graphState=a.graphState??new RSe,s.elements=a.elements,s.notes=a.notes??[],s.animate24Hours=!!a.animate24Hours,s.modelType=a.modelType??da.UNKNOWN,s.modelAuthor=a.modelAuthor??null,s.modelLabel=a.modelLabel??null,s.modelDescription=a.modelDescription??null,s.designProjectType=a.designProjectType??null,s.cloudFile=l,s.currentUndoable=void 0,s.actionInfo=void 0,s.sceneRadius=a.sceneRadius??100,s.updateSceneRadiusFlag=!s.updateSceneRadiusFlag,s.localContentToImportAfterCloudFileUpdate=void 0,s.fileChanged=!s.fileChanged,s.evolutionMethod=a.evolutionMethod??Bs.GENETIC_ALGORITHM,s.solarPanelArrayLayoutParams=a.solarPanelArrayLayoutParams??new gSe,s.solarPanelArrayLayoutConstraints=a.solarPanelArrayLayoutConstraints??new XG,s.evolutionaryAlgorithmState=a.evolutionaryAlgorithmState??new vSe,s.economicsParams=a.economicsParams??new SSe,s.minimumNavigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.minimumNavigationTurnSpeed=a.minimumNavigationTurnSpeed??3,s.fittestIndividualResults.length=0,s.undoManager.clear(),s.deletedRoofId=null,s.autoDeletedRoofs=null,s.autoDeletedRoofIdSet.clear(),s.autoDeletedChild=null,s.deletedRoofIdSet.clear(),s.addedRoofIdSet.clear(),s.actionState=new PSe,s.multiSelectionsMode=!1,s.selectedElementIdSet.clear(),s.groupActionMode=!1,s.selectedFloatingWindow=null}),$Qt.updateOldFileData(),ht.getState().set(s=>{s.changed=!1,s.skipChange=!0,s.animateSun=!1,s.showSolarRadiationHeatmap=!1,s.showHeatFluxes=!1,s.simulationInProgress=!1,s.simulationPaused=!1,s.clearDailySimulationResultsFlag=!s.clearDailySimulationResultsFlag,s.clearYearlySimulationResultsFlag=!s.clearYearlySimulationResultsFlag,s.navigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.navigationTurnSpeed=a.minimumNavigationTurnSpeed??3}),Sn.getState().clearDataStore(),Sn.getState().clearRoofVerticesMap()},exportContent(){const a=e(),l=new Date,s=JSON.parse(JSON.stringify(a.elements));return xe.fixElements(s),{docid:ta.generate(),time:gc(l).format("MM/DD/YYYY hh:mm A"),timestamp:l.getTime(),userid:a.user.uid,owner:a.user.signFile?a.user.displayName:null,email:a.user.signFile?a.user.email:null,version:nE,world:JSON.parse(JSON.stringify(a.world)),elements:s,sceneRadius:a.sceneRadius,view:JSON.parse(JSON.stringify(a.viewState)),animate24Hours:a.animate24Hours,graphState:JSON.parse(JSON.stringify(a.graphState)),evolutionMethod:a.evolutionMethod,solarPanelArrayLayoutParams:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutParams)),solarPanelArrayLayoutConstraints:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutConstraints)),evolutionaryAlgorithmState:JSON.parse(JSON.stringify(a.evolutionaryAlgorithmState)),economicsParams:JSON.parse(JSON.stringify(a.economicsParams)),modelType:a.modelType,modelAuthor:a.modelAuthor,modelLabel:a.modelLabel,modelDescription:a.modelDescription,designProjectType:a.designProjectType,notes:a.notes,minimumNavigationMoveSpeed:a.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:a.minimumNavigationTurnSpeed}},clearContent(){r(a=>{a.elements=[],a.sceneRadius=100}),Sn.getState().clearDataStore(),Sn.getState().clearRoofVerticesMap()},createEmptyFile(){r(a=>{dSe.resetWorldModel(a.world),hSe.resetViewState(a.viewState),a.version=nE,a.elements=[],a.sceneRadius=100,a.cloudFile=void 0,a.localContentToImportAfterCloudFileUpdate=void 0,a.notes=[],a.fileChanged=!a.fileChanged,a.currentUndoable=void 0,a.actionInfo=void 0,a.undoManager.clear(),a.modelType=da.UNKNOWN,a.modelLabel=null,a.modelDescription=null,a.designProjectType=null,a.minimumNavigationMoveSpeed=3,a.minimumNavigationTurnSpeed=3,a.multiSelectionsMode=!1,a.selectedElementIdSet.clear(),a.groupActionMode=!1,a.selectedFloatingWindow=null,a.deletedRoofId=null,a.autoDeletedRoofs=null,a.autoDeletedRoofIdSet.clear(),a.autoDeletedChild=null,a.deletedRoofIdSet.clear(),a.addedRoofIdSet.clear()}),ht.getState().set(a=>{a.changed=!1,a.skipChange=!0,a.animateSun=!1,a.showSolarRadiationHeatmap=!1,a.showHeatFluxes=!1}),Sn.getState().clearDataStore(),Sn.getState().clearRoofVerticesMap()},undoManager:new JQt,addUndoable(a){r(l=>{l.loggable&&(l.currentUndoable=a),l.undoManager.add(a)})},fittestIndividualResults:[],setFittestIndividualResults(a){r(l=>{l.fittestIndividualResults=[...a]})},variableLabels:[],setVariableLabels(a){r(l=>{l.variableLabels=[...a]})},aabb:new pf(new re(-10,-10,-10),new re(10,10,10)),animate24Hours:!1,evolutionMethod:Bs.GENETIC_ALGORITHM,clickObjectType:null,contextMenuObjectType:null,hoveredHandle:null,moveHandleType:null,resizeHandleType:null,rotateHandleType:null,resizeAnchor:new re,selectedElement:null,getSelectedElement(){if(e().selectedElementIdSet.size===0)return null;const a=e().selectedElement;return a?e().elements.find(l=>l.id===a.id)??null:null},selectedElementIdSet:new Set,multiSelectionsMode:!1,findNearestSibling(a){let l=null;const s=e().getElementById(a);if(s){let c=Number.MAX_VALUE;for(const u of e().elements)if(u.type===s.type&&u.parentId===s.parentId&&u.id!==a){const d=s.cx-u.cx,f=s.cy-u.cy,p=s.cz-u.cz,g=d*d+f*f+p*p;c>g&&(c=g,l=u.id)}}return l},overlapWithSibling(a,l){let s=!1;if(l===void 0){const c=e().getParent(a);if(c){for(const u of e().elements)if(u.type===a.type&&u.parentId===a.parentId&&u.id!==a.id){if(a.type===z.SolarPanel){if(xe.doSolarPanelsOverlap(a,u,c)){s=!0;break}}else if(Math.abs(a.cx-u.cx)*c.lx<.5*(a.lx+u.lx)&&Math.abs(a.cy-u.cy)*c.ly<.5*(a.ly+u.ly)&&Math.abs(a.cz-u.cz)*c.lz<.5*(a.lz+u.lz)){s=!0;break}}}}else{const c=l*l,u=e().getParent(a);for(const d of e().elements)if(d.type===a.type&&d.parentId===a.parentId&&d.id!==a.id){const f=(a.cx-d.cx)*(u?u.lx:1),p=(a.cy-d.cy)*(u?u.ly:1),g=(a.cz-d.cz)*(u?u.lz:1);if(f*f+p*p+g*gC.id===g);if(b){const C=new re(b.cx,b.cy,b.lz),P=new Qt(0,0,b.rotation[2]),v=new re;switch(l){case gt.UpperLeft:{v.fromArray(w.leftPoint).setZ(0);break}case gt.UpperRight:{v.fromArray(w.rightPoint).setZ(0);break}}A.copy(v.applyEuler(P).add(C))}break}case z.Roof:{const w=e().elements.find(b=>b.id===g);if(w){const b=new re(w.cx,w.cy,w.lz),C=new Qt(0,0,w.rotation[2]),P=new re(e().selectedElementX,e().selectedElementY).applyEuler(C).add(b);A.set(P.x,P.y,w.lz)}break}case z.Tree:{const w=e().elements.find(b=>b.id===g);if(w){const b=new re(w.cx,w.cy,w.cz+w.lz/2),C=new Qt(0,0,w.rotation[2]);A.copy(new re(a.cx,a.cy,w.lz).applyEuler(C).add(b))}break}}return A},getElementById(a){const l=e().elements;for(const s of l)if(s.id===a)return s;return null},getParent(a){const l=e().elements;for(const s of l)if(s.id===a.parentId)return s;return null},getFoundation(a){const l=e().elements;for(const s of l)if(s.id===a.foundationId&&s.type===z.Foundation)return s;return null},selectNone(){r(a=>{a.selectedElementIdSet.clear();for(const l of a.elements)l.selected=!1;a.selectedElement=null}),Ln.getState().selectNone()},selectMe(a,l,s,c){const u=Ln.getState().setEnableOrbitController;l.intersections.length>0&&(l.intersections.filter(f=>!f.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===l.eventObject||c)&&r(f=>{var p,g,A;for(const w of f.elements)if(w.id===a)if(w.selected=!0,f.selectedElement=w,f.selectedElementHeight=w.lz,f.groupActionMode){let b=w.foundationId??null;!b&&hd(w)&&(b=xe.getBaseId(w.id)),b&&(f.multiSelectionsMode||f.selectedElementIdSet.clear(),f.selectedElementIdSet.has(b)?f.selectedElementIdSet.delete(b):f.selectedElementIdSet.add(b))}else if(s===zo.ContextMenu)if(f.selectedElementIdSet.has(a))for(const b of f.elements)f.selectedElementIdSet.has(b.id)&&b.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(b.id);else if(f.multiSelectionsMode){f.selectedElementIdSet.add(a);for(const b of f.elements)f.selectedElementIdSet.has(b.id)&&b.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(b.id)}else f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a);else f.multiSelectionsMode?f.selectedElementIdSet.has(a)?f.selectedElementIdSet.delete(a):f.selectedElementIdSet.add(a):(f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a));else w.selected=!1;if(f.moveHandleType=null,f.resizeHandleType=null,f.rotateHandleType=null,f.contextMenuObjectType=null,s)switch(s){case zo.Move:{((p=f.selectedElement)==null?void 0:p.type)===z.Tree||((g=f.selectedElement)==null?void 0:g.type)===z.Human?f.moveHandleType=yo.Default:f.moveHandleType=l.eventObject.name,u(!1);break}case zo.Resize:{f.resizeHandleType=l.eventObject.name,u(!1);break}case zo.Rotate:{f.rotateHandleType=l.eventObject.name,u(!1);break}case zo.Select:{f.selectedElementAngle=((A=l.object.parent)==null?void 0:A.rotation.z)??0,u(!0);break}default:u(!0)}})},countHeatmapCells(){let a=0;return r(l=>{const s=l.world.solarRadiationHeatmapGridCellSize??.5,c=s*s;for(const u of l.elements)(u.type===z.Foundation||u.type===z.Cuboid)&&(a+=u.lx*u.ly/c)}),Math.round(a)},updateAllElementLocks(a){r(l=>{for(const s of l.elements)s.locked=a})},updateElementLockByFoundationId(a,l){r(s=>{for(const c of s.elements)(c.foundationId===a||c.parentId===a||c.id===a)&&(c.locked=l)})},updateElementLockByParentId(a,l,s){r(c=>{for(const u of c.elements)u.parentId===a&&l===u.type&&(u.locked=s)})},updateElementLockById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.locked=l;break}})},updateElementReferenceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.referenceId=l;break}})},updateElementLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.label=l;break}})},updateElementShowLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.showLabel=l;break}})},updateElementColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.color=l;break}})},updateElementColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&xe.isIdentical(d.normal,s)&&!d.locked&&(d.color=c)})},updateElementColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.color=s)})},updateElementColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.color=l)})},updateElementLineColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lineColor=l;break}})},updateElementLineColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&xe.isIdentical(d.normal,s)&&!d.locked&&(d.lineColor=c)})},updateElementLineColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineColor=s)})},updateElementLineColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineColor=l)})},updateElementLineWidthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.lineWidth=l;break}})},updateElementLineWidthOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&xe.isIdentical(d.normal,s)&&!d.locked&&(d.lineWidth=c)})},updateElementLineWidthAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineWidth=s)})},updateElementLineWidthForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineWidth=l)})},updateElementCxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cx=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cy=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cz=l;break}})},updateElementCzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cz=l)})},updateElementLxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lx=l;break}})},updateElementLxAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lx=s)})},updateElementLxOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lx=c)}})},updateElementLxForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lx=l)})},updateElementLyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.ly=l;break}})},updateElementLyAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.ly=s)})},updateElementLyOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.ly=c)}})},updateElementLyForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.ly=l)})},updateElementLzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lz=l;break}})},updateElementLzAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lz=s)})},updateElementLzOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lz=c)}})},updateElementLzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lz=l)})},updateElementRotationById(a,l,s,c){r(u=>{for(const d of u.elements)(d.id===a&&!d.locked||d.parentId===a&&!kqe(d)&&d.type!==z.SolarPanel)&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);u.selectedElementAngle=c})},updateElementRotationForAll(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a)d.locked||(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);else{const f=u.getParent(d);f&&!f.locked&&f.type===a&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c)}})},updateSolarCollectorDrawSunBeamById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.drawSunBeam=l;break}})},updateSolarCollectorDrawSunBeamAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.drawSunBeam=s)})},updateSolarCollectorDrawSunBeamForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.locked||c.type===a&&(c.drawSunBeam=l)})},updateSolarCollectorRelativeAzimuthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.relativeAzimuth=l,s.selectedElementAngle=l;break}})},updateSolarCollectorRelativeAzimuthAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&u.parentType!==z.Wall&&(u.relativeAzimuth=s)})},updateSolarCollectorRelativeAzimuthOnSurface(a,l,s,c){xe.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.relativeAzimuth=c)}})},updateSolarCollectorRelativeAzimuthForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&c.parentType!==z.Wall&&(c.relativeAzimuth=l)})},updateSolarCollectorXById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.cx=l;break}})},updateSolarCollectorXAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cx=s)})},updateSolarCollectorXForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cx=l)})},updateSolarCollectorYById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.cy=l;break}})},updateSolarCollectorYAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cy=s)})},updateSolarCollectorYForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cy=l)})},updateSolarCollectorPoleHeightById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.poleHeight=l;break}})},updateSolarCollectorPoleHeightAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleHeight=s)})},updateSolarCollectorPoleHeightOnSurface(a,l,s,c){xe.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleHeight=c)}})},updateSolarCollectorPoleHeightForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleHeight=l)})},updateSolarCollectorPoleRadiusById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.poleRadius=l;break}})},updateSolarCollectorPoleRadiusAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleRadius=s)})},updateSolarCollectorPoleRadiusOnSurface(a,l,s,c){xe.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleRadius=c)}})},updateSolarCollectorPoleRadiusForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleRadius=l)})},clearAllSolarCollectorYields(){r(a=>{for(const l of a.elements)if(xe.isSolarCollector(l)){const s=l;s.dailyYield=0,s.yearlyYield=0}})},updateSolarCollectorDailyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isSolarCollector(c)){c.dailyYield=l;break}})},updateSolarCollectorYearlyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isSolarCollector(c)){c.yearlyYield=l;break}})},updateCspReflectanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isCspCollector(c)){c.reflectance=l;break}})},updateCspReflectanceAboveFoundation(a,l,s){xe.isCspCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.reflectance=s)})},updateCspReflectanceForAll(a,l){xe.isCspCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.reflectance=l)})},updateParabolicCollectorAbsorptanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isParabolicCollector(c)){c.absorptance=l;break}})},updateParabolicCollectorAbsorptanceAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.absorptance=s)})},updateParabolicCollectorAbsorptanceForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.absorptance=l)})},updateParabolicCollectorOpticalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isParabolicCollector(c)){c.opticalEfficiency=l;break}})},updateParabolicCollectorOpticalEfficiencyAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.opticalEfficiency=s)})},updateParabolicCollectorOpticalEfficiencyForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.opticalEfficiency=l)})},updateParabolicCollectorThermalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isParabolicCollector(c)){c.thermalEfficiency=l;break}})},updateParabolicCollectorThermalEfficiencyAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.thermalEfficiency=s)})},updateParabolicCollectorThermalEfficiencyForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.thermalEfficiency=l)})},foundationActionScope:ue.OnlyThisObject,setFoundationActionScope(a){r(l=>{l.foundationActionScope=a})},cuboidActionScope:ue.OnlyThisSide,setCuboidActionScope(a){r(l=>{l.cuboidActionScope=a})},polygonActionScope:ue.OnlyThisObject,setPolygonActionScope(a){r(l=>{l.polygonActionScope=a})},updatePolygonVertexPositionById(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===z.Polygon&&d.id===a){const f=d;l>=0&&l{for(const c of s.elements)if(c.type===z.Polygon&&c.id===a){const u=c;u.vertices=l;break}})},solarPanelActionScope:ue.OnlyThisObject,setSolarPanelActionScope(a){r(l=>{l.solarPanelActionScope=a})},updateSolarPanelTiltAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.SolarPanel&&c.id===a&&!c.locked){const u=c;u.tiltAngle=l;break}})},setSolarPanelOrientation(a,l,s){if(a.orientation=s,a.orientation===ui.portrait){const c=Math.max(1,Math.round(a.lx/l.width)),u=Math.max(1,Math.round(a.ly/l.length));a.lx=c*l.width,a.ly=u*l.length}else{const c=Math.max(1,Math.round(a.lx/l.length)),u=Math.max(1,Math.round(a.ly/l.width));a.lx=c*l.length,a.ly=u*l.width}},parabolicTroughActionScope:ue.OnlyThisObject,setParabolicTroughActionScope(a){r(l=>{l.parabolicTroughActionScope=a})},fresnelReflectorActionScope:ue.OnlyThisObject,setFresnelReflectorActionScope(a){r(l=>{l.fresnelReflectorActionScope=a})},heliostatActionScope:ue.OnlyThisObject,setHeliostatActionScope(a){r(l=>{l.heliostatActionScope=a})},updateSolarReceiverById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.Heliostat){c.towerId=l;break}else if(c.type===z.FresnelReflector){c.receiverId=l;break}}})},updateSolarReceiverAboveFoundation(a,l,s){xe.isHeliostatOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.Heliostat?u.towerId=s:u.type===z.FresnelReflector&&(u.receiverId=s))})},updateSolarReceiverForAll(a,l){xe.isHeliostatOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.Heliostat?c.towerId=l:c.type===z.FresnelReflector&&(c.receiverId=l))})},parabolicDishActionScope:ue.OnlyThisObject,setParabolicDishActionScope(a){r(l=>{l.parabolicDishActionScope=a})},updateModuleLengthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.ParabolicTrough){c.moduleLength=l;break}else if(c.type===z.FresnelReflector){c.moduleLength=l;break}}})},updateModuleLengthAboveFoundation(a,l,s){xe.isParabolicTroughOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.FresnelReflector)&&(u.moduleLength=s)})},updateModuleLengthForAll(a,l){xe.isParabolicTroughOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.FresnelReflector)&&(c.moduleLength=l)})},updateParabolaLatusRectumById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l);break}})},updateParabolaLatusRectumAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.ParabolicDish)&&(u.latusRectum=s)})},updateParabolaLatusRectumForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l)})},windTurbineActionScope:ue.OnlyThisObject,setWindTurbineActionScope(a){r(l=>{l.windTurbineActionScope=a})},wallActionScope:ue.OnlyThisObject,setWallActionScope(a){r(l=>{l.wallActionScope=a})},roofActionScope:ue.OnlyThisObject,setRoofActionScope(a){r(l=>{l.roofActionScope=a})},windowActionScope:ue.OnlyThisObject,setWindowActionScope(a){r(l=>{l.windowActionScope=a})},doorActionScope:ue.OnlyThisObject,setDoorActionScope(a){r(l=>{l.doorActionScope=a})},updateWallRelativeAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.relativeAngle=l;break}})},updateWallLeftJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.leftJoints=l;break}})},updateWallRightJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.rightJoints=l;break}})},updateWallLeftPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.leftPoint=[...l];break}})},updateWallRightPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.rightPoint=[...l];break}})},updateRoofRiseById(a,l,s){r(c=>{for(const u of c.elements)if(u.id===a&&u.type===z.Roof){u.rise=l,c.actionState.roofRise=l,s!==void 0&&(c.selectedElementHeight=s);break}})},updateRoofStructureById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&c.type===z.Roof){const u=c;u.roofStructure=l;break}})},updateInsideLightById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Light&&c.id===a){c.inside=l;break}})},updateInsideLightsByParentId(a,l){r(s=>{for(const c of s.elements)c.parentId===a&&c.type===z.Light&&(c.inside=l)})},setElementPosition(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].cx=l,u.elements[d].cy=s,c!==void 0&&(u.elements[d].cz=c);break}})},setElementNormal(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a||f.parentId===a){const p=u.elements[d];p.normal[0]=l,p.normal[1]=s,p.normal[2]=c}})},setElementSize(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].lx=l,u.elements[d].ly=s,c&&(u.elements[d].lz=c,u.selectedElementHeight=c);break}})},actionModeLock:!1,objectTypeToAdd:z.None,addElement(a,l,s){let c=null;const u="id"in a?a.id:Zo;return r(d=>{switch(d.objectTypeToAdd){case z.Human:{const f=new re().copy(l);if(u!==Zo){const{rot:g,pos:A}=xe.getWorldDataById(u);f.sub(new re(A.x,A.y,A.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeHuman(d.actionState.humanName,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Tree:{const f=new re().copy(l);if(u!==Zo){const{rot:g,pos:A}=xe.getWorldDataById(u);f.sub(new re(A.x,A.y,A.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeTree(d.actionState.treeType,d.actionState.treeSpread,d.actionState.treeHeight,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Flower:{const f=new re().copy(l);if(u!==Zo){const{rot:g,pos:A}=xe.getWorldDataById(u);f.sub(new re(A.x,A.y,A.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeFlower(d.actionState.flowerType,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Polygon:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makePolygon(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,f.type);c=g,d.elements.push(g);break}case z.Sensor:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSensor(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.Light:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeLight(f,2,d.actionState.lightDistance,d.actionState.lightIntensity,d.actionState.lightColor,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.SolarPanel:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSolarPanel(f,d.getPvModule(d.actionState.solarPanelModelName??"SPR-X21-335-BLK"),p.x,p.y,p.z,d.actionState.solarPanelOrientation??ui.landscape,d.actionState.solarPanelPoleHeight??1,d.actionState.solarPanelPoleSpacing??3,d.actionState.solarPanelTiltAngle??0,d.actionState.solarPanelRelativeAzimuth??0,s,"rotation"in a?a.rotation:void 0,d.actionState.solarPanelFrameColor??"white");c=g,d.elements.push(g);break}case z.ParabolicTrough:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicTrough(f,d.actionState.parabolicTroughReflectance,d.actionState.parabolicTroughAbsorptance,d.actionState.parabolicTroughOpticalEfficiency,d.actionState.parabolicTroughThermalEfficiency,d.actionState.parabolicTroughLatusRectum,d.actionState.parabolicTroughPoleHeight,d.actionState.parabolicTroughModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicTroughWidth);c=g,d.elements.push(g);break}case z.ParabolicDish:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicDish(f,d.actionState.parabolicDishReflectance,d.actionState.parabolicDishAbsorptance,d.actionState.parabolicDishOpticalEfficiency,d.actionState.parabolicDishThermalEfficiency,d.actionState.parabolicDishLatusRectum,d.actionState.parabolicDishPoleHeight,d.actionState.parabolicDishReceiverStructure,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicDishRimDiameter,d.actionState.parabolicDishRimDiameter);c=g,d.elements.push(g);break}case z.FresnelReflector:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeFresnelReflector(f,d.actionState.fresnelReflectorReceiver,d.actionState.fresnelReflectorReflectance,d.actionState.fresnelReflectorPoleHeight,d.actionState.fresnelReflectorModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.fresnelReflectorWidth);c=g,d.elements.push(g);break}case z.Heliostat:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeHeliostat(f,d.actionState.heliostatTower,d.actionState.heliostatReflectance,d.actionState.heliostatPoleHeight,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.heliostatLength,d.actionState.heliostatWidth);c=g,d.elements.push(g);break}case z.WindTurbine:{const f=a,p=xe.relativeCoordinates(l.x,l.y,0,f),g=rl.makeWindTurbine(f,d.actionState.windTurbineBirdSafeDesign??lc.None,d.actionState.windTurbineBladeColor??X5,d.actionState.windTurbineStripeColor??J5,d.actionState.windTurbineNumberOfBlades??3,d.actionState.windTurbineInitialRotorAngle??0,d.actionState.windTurbineRelativeYawAngle??0,d.actionState.windTurbinePitchAngle??Math.PI/18,d.actionState.windTurbineBladeRadius??10,d.actionState.windTurbineBladeRootRadius??.3,d.actionState.windTurbineBladeMaximumChordLength??1,d.actionState.windTurbineBladeMaximumChordRadius??3,d.actionState.windTurbineTowerRadius??.5,d.actionState.windTurbineTowerHeight??20,d.actionState.windTurbineHubRadius??.75,d.actionState.windTurbineHubLength??1.5,p.x,p.y,0);c=g,d.elements.push(g);break}case z.Foundation:{const f=rl.makeFoundation(l.x,l.y,d.actionState.foundationHeight,d.actionState.foundationColor,d.actionState.foundationTexture);c=f,d.elements.push(f);break}case z.Cuboid:{const f=rl.makeCuboid(l.x,l.y,d.actionState.cuboidHeight,d.actionState.cuboidFaceColors,d.actionState.cuboidFaceTextures);c=f,d.elements.push(f);break}case z.Wall:{const f=a,p=xe.wallRelativePosition(new re(l.x,l.y),f),g=rl.makeWall(f,p.x,p.y,p.z,s);d.elements.push(g),d.selectedElement=g,c=g;break}}c&&(d.selectedElementIdSet.clear(),d.selectedElementIdSet.add(c.id))}),c},elementsToPaste:[],deletedElements:[],clearDeletedElements(){r(a=>{a.deletedElements=[]})},pastePoint:new re,pasteNormal:void 0,copyElementById(a){r(l=>{l.elementsToPaste=[];for(const s of l.elements)if(s.id===a){if(s.type===z.Polygon){const c=xe.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y,l.elementsToPaste.push(s)}else l.elementsToPaste.push(s);break}for(const s of l.elements)if(xe.isChild(a,s.id)){if(s.type===z.Polygon){const c=xe.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y}l.elementsToPaste.push(s)}})},removeSelectedElements(){const a=e().selectedElementIdSet;if(a.size===0)return[];const l=Array.from(a),s=new Set,c=new Set;for(const u of e().elements)if(a.has(u.id))s.add(u),c.add(u.id);else for(const d of l)xe.isChild(d,u.id)&&(s.add(u),c.add(u.id));return r(u=>{u.autoDeletedRoofs=[],u.deletedElements=Array.from(s),u.elements=u.elements.filter(d=>{var f,p;if(c.has(d.id)){switch(d.type){case z.Wall:{const g=d;let A="",w="";g.leftJoints.length>0&&(A=((f=u.getElementById(g.leftJoints[0]))==null?void 0:f.id)??""),g.rightJoints.length>0&&(w=((p=u.getElementById(g.rightJoints[0]))==null?void 0:p.id)??"");for(const b of u.elements)b.id===A?b.rightJoints=[]:b.id===w&&(b.leftJoints=[]);u.updateWallMapOnFoundationFlag=!u.updateWallMapOnFoundationFlag;break}case z.Roof:{u.deletedRoofIdSet.add(d.id),Sn.getState().deleteRoofSegmentVertices(d.id),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(d.id);break}}return!1}else return!0})}),Array.from(s)},removeElementById(a,l,s=!0,c){const u=e().elements.filter(d=>d.id===a||xe.isChild(a,d.id));return r(d=>{var f,p;for(const g of d.elements)if(g.id===a){if(l)if(g.type===z.Polygon){const A=xe.calculatePolygonCentroid(g.vertices);g.cx=A.x,g.cy=A.y,d.elementsToPaste=[g]}else d.elementsToPaste=[g];else c||(d.deletedElements=[g]);switch(g.selected=!1,g.type){case z.Roof:{const A=g;d.deletedRoofId=g.id,d.deletedRoofIdSet.add(g.id),Sn.getState().deleteRoofSegmentVertices(a),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(a),c&&(d.autoDeletedRoofs?d.autoDeletedRoofs.push(A):d.autoDeletedRoofs=[A],d.autoDeletedRoofIdSet.add(A.id));break}case z.Wall:{const A=g;let w="",b="";A.leftJoints.length>0&&(w=((f=d.getElementById(A.leftJoints[0]))==null?void 0:f.id)??""),A.rightJoints.length>0&&(b=((p=d.getElementById(A.rightJoints[0]))==null?void 0:p.id)??"");for(const C of d.elements)C.id===w?C.rightJoints=[]:C.id===b&&(C.leftJoints=[]);d.elements=d.elements.filter(C=>!(C.type===z.Roof&&C.wallsId.length===0)),d.updateWallMapOnFoundationFlag=!d.updateWallMapOnFoundationFlag,d.deletedWallId=g.id;break}case z.Foundation:{d.deletedFoundationId=g.id;break}case z.Cuboid:{d.deletedCuboidId=g.id;break}}break}if(c)for(const g of d.elements)xe.isChild(a,g.id)&&(d.autoDeletedChild?d.autoDeletedChild.push(g):d.autoDeletedChild=[g]);else if(l)for(const g of d.elements)xe.isChild(a,g.id)&&d.elementsToPaste.push(g);else for(const g of d.elements)xe.isChild(a,g.id)&&d.deletedElements.push(g);d.elements=d.elements.filter(g=>g.id===a||g.parentId===a||g.foundationId===a||xe.isChild(a,g.id)?(g.type===z.Roof&&(Sn.getState().deleteRoofSegmentVertices(a),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(a)),!1):!0),d.selectedElementIdSet.delete(a),s&&(d.selectedElement=null,d.selectedElementIdSet.clear())}),u},removeElementsByType(a){r(l=>{a===z.Foundation?l.elements=l.elements.filter(s=>s.locked||s.type!==z.Foundation&&!s.foundationId?!0:(s.type===z.Roof&&(Sn.getState().deleteRoofSegmentVertices(s.id),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1)):l.elements=l.elements.filter(s=>s.locked||s.type!==a?!0:(s.type===z.Roof&&(Sn.getState().deleteRoofSegmentVertices(s.id),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1))})},countElementsByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===a&&!c.locked&&s++;else for(const c of e().elements)c.type===a&&s++;return s},countSolarStructuresByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===z.Foundation&&!c.locked&&c.solarStructure===a&&s++;else for(const c of e().elements)c.type===z.Foundation&&c.solarStructure===a&&s++;return s},countObservers(){let a=0;for(const l of e().elements)l.type===z.Human&&l.observer&&a++;return a},removeElementsByReferenceId(a,l){r(s=>{if(l){s.deletedElements=[];for(const c of s.elements)c.referenceId===a&&s.deletedElements.push(c)}s.elements=s.elements.filter(c=>c.referenceId!==a)})},countElementsByReferenceId(a){let l=0;for(const s of e().elements)s.referenceId===a&&l++;return l},getChildren(a){const l=[];for(const s of e().elements)s.parentId===a&&l.push(s);return l},getChildrenOfType(a,l){const s=[];for(const c of e().elements)c.type===a&&c.parentId===l&&s.push(c);return s},removeAllChildElementsByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.parentId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},removeAllElementsOnFoundationByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.foundationId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},countAllElements(a){let l=0;if(a)for(const s of e().elements)s.locked||l++;else l=e().elements.length;return l},countAllElementsByType(a){const l=new mSe;for(const s of e().elements)if(s.locked?l.lockedCount++:l.unlockedCount++,!(a&&s.locked))switch(s.type){case z.Foundation:{s.solarStructure===zn.UpdraftTower&&l.solarUpdraftTowerCount++,l.foundationCount++;break}case z.Cuboid:{l.cuboidCount++;break}case z.Wall:{l.wallCount++;break}case z.Window:{l.windowCount++;break}case z.Door:{l.doorCount++;break}case z.Human:{l.humanCount++;break}case z.Tree:{l.treeCount++;break}case z.Flower:{l.flowerCount++;break}case z.Polygon:{l.polygonCount++;break}case z.Sensor:{l.sensorCount++;break}case z.Light:{s.inside?l.insideLightCount++:l.outsideLightCount++;break}case z.SolarPanel:{l.solarPanelCount++;const c=s,u=e().getPvModule(c.pvModelName);u&&(l.solarPanelModuleCount+=xe.countSolarPanelsOnRack(c,u));break}case z.ParabolicDish:{l.parabolicDishCount++;break}case z.ParabolicTrough:{l.parabolicTroughCount++;break}case z.FresnelReflector:{l.fresnelReflectorCount++;break}case z.Heliostat:{l.heliostatCount++;break}case z.WindTurbine:{l.windTurbineCount++;break}}return l},countAllOffspringsByTypeAtOnce(a,l){const s=new mSe;for(const c of e().elements){const u=c.parentId===a||c.foundationId===a;if(u&&(c.locked?s.lockedCount++:s.unlockedCount++),(l||!c.locked)&&u)switch(c.type){case z.Foundation:{c.solarStructure===zn.UpdraftTower&&s.solarUpdraftTowerCount++,s.foundationCount++;break}case z.Cuboid:{s.cuboidCount++;break}case z.Wall:{s.wallCount++;break}case z.Window:{s.windowCount++,c.locked&&s.lockedWindowCount++;break}case z.Door:{s.doorCount++,c.locked&&s.lockedDoorCount++;break}case z.Human:{s.humanCount++;break}case z.Tree:{s.treeCount++;break}case z.Flower:{s.flowerCount++;break}case z.Polygon:{s.polygonCount++,c.locked&&s.lockedPolygonCount++;break}case z.Sensor:{s.sensorCount++,c.locked&&s.lockedSensorCount++;break}case z.Light:{c.inside?s.insideLightCount++:s.outsideLightCount++,c.locked&&s.lockedLightCount++;break}case z.SolarPanel:{s.solarPanelCount++,c.locked&&s.lockedSolarPanelCount++;const d=c,f=e().getPvModule(d.pvModelName);f&&(s.solarPanelModuleCount+=xe.countSolarPanelsOnRack(d,f));break}case z.ParabolicDish:{s.parabolicDishCount++;break}case z.ParabolicTrough:{s.parabolicTroughCount++;break}case z.FresnelReflector:{s.fresnelReflectorCount++;break}case z.Heliostat:{s.heliostatCount++;break}case z.WindTurbine:{s.windTurbineCount++,c.locked&&s.lockedWindTurbineCount++;break}}}return s},countSolarPanelsOnRack(a){let l=0;for(const s of e().elements)if(s.id===a&&s.type===z.SolarPanel){const c=s,u=e().getPvModule(c.pvModelName);if(u){l=xe.countSolarPanelsOnRack(c,u);break}}return l},copyCutElements(){const a=[],l=new Map,s=new Map,c=new Map;for(let u=0;ug.id===d.parentId);if(p){const g=l.get(p.id);g&&(e().getElementById(d.id)?f=Nl.clone(g,d,d.cx,d.cy,d.cz,d.type===z.Polygon):f=JSON.parse(JSON.stringify(d)))}}f&&(l.set(d.id,f),s.set(d.id,f.id),c.set(f.id,d.id),a.push(f))}for(const u of a){if(u.type===z.Roof){const d=c.get(u.id);if(d)for(const f of e().elementsToPaste)f.id===d&&(u.wallsId=f.wallsId.map(p=>s.get(p)))}if(u.type===z.Wall){const d=c.get(u.id);if(d){for(const f of e().elementsToPaste)if(f.id===d&&f.type===z.Wall){const p=f,g=s.get(p.leftJoints[0]);g&&(u.leftJoints=[g]);const A=s.get(p.rightJoints[0]);if(A&&(u.rightJoints=[A]),p.roofId){const w=s.get(p.roofId);w&&(u.roofId=w)}break}}}}return a},pasteElementsToPoint(){const a=[];return r(l=>{if(l.elementsToPaste.length===1){let s=l.pastePoint;const c=l.elementsToPaste[0];let u=l.selectedElement;const d=l.getParent(c);if(u){if(u.type===z.Polygon){const p=l.getParent(u);p&&(u=p,c.parentId=u.id,xe.isPositionRelative(c.type)&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u)))}else if(u.type===z.Roof){if(u.parentId){const p=l.getElementById(u.parentId);p&&(s.sub(new re(p.cx,p.cy,p.lz)).applyEuler(new Qt(0,0,-p.rotation[2])),c.type!==z.Window&&(s.setX(s.x/p.lx),s.setY(s.y/p.ly)))}}else if(u.type===z.Cuboid){if(c.type===z.Cuboid){const{pos:p}=xe.getWorldDataById(u.id);s.sub(p)}else xe.isPositionRelative(c.type)&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u));c.parentId=u.id}else u.type===z.Wall?s=xe.relativeCoordinates(s.x,s.y,s.z,u):d&&d.type&&c.type!==z.Foundation&&(c.parentId=u.id,xe.isPositionRelative(c.type)&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u)));c.type===z.Wall&&s.set(s.x*u.lx,s.y*u.ly,0)}const f=Nl.clone(u,c,s.x,s.y,s.z,!1,l.pasteNormal,d);if(f){l.pasteNormal&&(f.normal=l.pasteNormal.toArray());const p={lng:l.language};let g=!1;switch(f.type){case z.Cuboid:{const A=C=>{const P=[];for(const v of e().elements)if(v.parentId===C.id)switch(P.push(v),v.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:P.push(...A(v))}return P},w=A(c),b=new Map;a.push(f),b.set(c.id,f);for(const C of w){const P=b.get(C.parentId);if(P){const v=Nl.clone(P,C,C.cx,C.cy,C.cz,C.type===z.Polygon);v&&(f.normal&&(v.normal=[...C.normal]),a.push(v),b.set(C.id,v))}}l.elements.push(...a),l.elementsToPaste=[f],g=!1;break}case z.Foundation:{const A=new Map,w=new Map;for(const b of l.elements)if(b.parentId===c.id){const C=Nl.clone(f,b,b.cx,b.cy,b.cz,b.type===z.Polygon);if(C&&(f.normal&&(C.normal=[...b.normal]),a.push(C),(C==null?void 0:C.type)===z.Wall||(C==null?void 0:C.type)===z.Roof)){A.set(C.id,b.id),w.set(b.id,C.id);for(const P of l.elements)if(P.parentId===b.id){const v=Nl.clone(C,P,P.cx,P.cy,P.cz);v&&(b.normal&&(v.normal=[...P.normal]),a.push(v))}}}l.elements.push(...a),g=!0;for(const b of l.elements){if(b.type===z.Roof){const C=A.get(b.id);if(C){const P=e().getElementById(C);P&&(b.wallsId=P.wallsId.map(v=>w.get(v)))}}if(b.type===z.Wall){const C=A.get(b.id);if(C){for(const P of l.elements)if(P.id===C&&P.type===z.Wall){const v=P,T=w.get(v.leftJoints[0]);T&&(b.leftJoints=[T]);const y=w.get(v.rightJoints[0]);if(y&&(b.rightJoints=[y]),v.roofId){const S=w.get(v.roofId);S&&(b.roofId=S)}break}}}}break}case z.SolarPanel:case z.Sensor:case z.Light:case z.WindTurbine:case z.ParabolicDish:case z.Heliostat:case z.FresnelReflector:case z.ParabolicTrough:{if((u==null?void 0:u.type)===z.Wall){if(u)switch(xe.checkElementOnWallState(f,u)){case fc.Valid:{const A=u.relativeAngle-Vt;f.normal=[Math.cos(A),Math.sin(A),0],g=!0;break}case fc.OverLap:Do(j.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Do(j.t("message.CannotPasteOutsideBoundary",p));break}break}if(u&&u.type===z.Roof){if(f.foundationId){const A=l.getElementById(f.foundationId);if(A){const w=In.getSolarPanelVerticesOnRoof(f,A),b=In.getRoofBoundaryVertices(u);if(!In.rooftopElementBoundaryCheck(w,b)){Do(j.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopSPCollisionCheck(f,A,w)){Do(j.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0,l.updateElementOnRoofFlag=!0}}break}l.overlapWithSibling(f)?Do(j.t("message.CannotPasteBecauseOfOverlap",p)):u&&(u.type===z.Foundation||u.type===z.Cuboid&&xe.isIdentical(f.normal,o0))&&xe.isSolarCollector(f)?(g=xe.isSolarCollectorWithinHorizontalSurface(f,u),g||Do(j.t("message.CannotPasteOutsideBoundary",p))):g=!0;break}case z.Wall:{const A=new re(f.cx,f.cy,0),w=new re(f.lx/2,0,0),b=new re(-f.lx/2,0,0),C=f,P=new Qt(0,0,C.relativeAngle);C.leftPoint=A.clone().add(b.applyEuler(P)).toArray(),C.rightPoint=A.clone().add(w.applyEuler(P)).toArray(),C.roofId=void 0,C.leftRoofHeight=void 0,C.rightRoofHeight=void 0,C.centerLeftRoofHeight=void 0,C.centerRightRoofHeight=void 0,C.centerRoofHeight=void 0;for(const v of l.elements)if(v.parentId===c.id){const T=Nl.clone(f,v,v.cx,v.cy,v.cz,v.type===z.Polygon);T&&(f.normal&&(T.normal=[...v.normal]),a.push(T))}l.elements.push(...a),l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,g=!0;break}case z.Door:case z.Window:{if((u==null?void 0:u.type)===z.Wall)switch(xe.checkElementOnWallState(f,u)){case fc.Valid:g=!0;break;case fc.OverLap:Do(j.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Do(j.t("message.CannotPasteOutsideBoundary",p));break}else if((u==null?void 0:u.type)===z.Roof){const A=In.getRotationOnRoof(u.id,s);A&&(f.rotation=[...A]);const w=In.getWindowVerticesOnRoof(f),b=In.getRoofSegmentBoundary(u.id,s);if(!b)break;if(!In.rooftopElementBoundaryCheck(w,b)){Do(j.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopWindowCollisionCheck(f.id,w,u.id)){Do(j.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0}break}default:if(g=!0,xe.isPlantOrHuman(f))if(u){const A=l.getParent(f);if(A){const w=xe.relativePoint(l.pastePoint,A);f.cx=w.x,f.cy=w.y,f.cz=w.z}}else f.parentId=Zo}g&&(l.elements.push(f),a.push(f))}}else if(l.elementsToPaste.length>1){let s=l.pastePoint;const c=l.copyCutElements();if(c.length>0){if(c[0].type===z.Cuboid){const u=l.selectedElement;if(u&&u.type===z.Cuboid){const{pos:d}=xe.getWorldDataById(u.id);s.sub(d),c[0].parentId=u.id}}else if(c[0].type===z.Wall){const u=l.selectedElement;u&&u.type===z.Foundation&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u),s.set(s.x*u.lx,s.y*u.ly,0),c[0].parentId=u.id,c[0].foundationId=u.id)}c[0].cx=s.x,c[0].cy=s.y,c[0].cz=s.z,c[0].type===z.Foundation?c[0].cz+=c[0].lz/2:c[0].type===z.Cuboid&&(c[0].cz=c[0].lz/2),l.elements.push(...c),a.push(...c)}}a.length>0&&(l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(a[0].id),l.selectedElement=a[0])}),a},pasteElementsByKey(){const a=[];return r(l=>{if(l.elementsToPaste.length>0){const s=l.elementsToPaste[0],c=l.getParent(s),u=Nl.clone(c,s,s.cx,s.cy,s.cz);if(u){let d=!1;switch(u.type){case z.Door:case z.Window:{if(c){const f=u.lx/2;if(u.cx+=f*3,c.type===z.Wall)for(;u.cx+f<.5;)if(xe.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=f;else if(c.type===z.Roof){const p=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));p&&(u.rotation=[...p]);let g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy));const w=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,w);)if(A&&In.rooftopElementBoundaryCheck(g,A)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx+=f/2;const b=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));b&&(u.rotation=[...b]),g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy))}}if(!d){u.cx=s.cx-f*3;const p=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));if(p&&(u.rotation=[...p]),c.type===z.Wall){for(;u.cx-f>-.5;)if(c.type===z.Wall)if(xe.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx-=f}else if(c.type===z.Roof){let g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy));const w=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,w);)if(A&&In.rooftopElementBoundaryCheck(g,A)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx-=f;const b=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));b&&(u.rotation=[...b]),g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy))}}}if(!d){const p={lng:l.language};Do(j.t("message.CannotPasteOutsideBoundary",p))}c.type===z.Roof&&d&&(l.updateElementOnRoofFlag=!0)}break}case z.Human:{u.cx+=1,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.Tree:case z.Flower:{u.cx+=u.lx,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.SolarPanel:case z.FresnelReflector:case z.Heliostat:case z.ParabolicDish:case z.ParabolicTrough:{if(u.parentId){const f=l.getParent(u);if(f){if(f.type===z.Wall){const A=u.lx/f.lx/2;for(u.cx+=A*3;u.cx+A<.5;)if(xe.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=A;if(!d)for(u.cx=s.cx-A*3;u.cx-A>-.5;)if(xe.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),l.elementsToPaste=[u],d=!0;break}else u.cx-=A;if(!d){const w={lng:l.language};Do(j.t("message.CannotPasteOutsideBoundary",w))}break}else if(f.type===z.Roof){if(s.foundationId){const A=l.getElementById(s.foundationId);if(A){const w=In.getRoofBoundaryVertices(f),b=u.lx/A.lx/2;for(u.cx+=b*1.25;u.cx+b<.5;){const C=In.getSolarPanelVerticesOnRoof(u,A);if(In.rooftopElementBoundaryCheck(C,w)&&In.rooftopSPCollisionCheck(u,A,C)){l.elements.push(u),d=!0;break}else u.cx+=b*1.25}if(!d)for(u.cx=s.cx-b*1.25;u.cx-b>-.5;){const C=In.getSolarPanelVerticesOnRoof(u,A);if(In.rooftopElementBoundaryCheck(C,w)&&In.rooftopSPCollisionCheck(u,A,C)){l.elements.push(u),d=!0;break}else u.cx-=b*1.25}if(d)l.updateElementOnRoofFlag=!0;else{const C={lng:l.language};Do(j.t("message.CannotPasteOutsideBoundary",C))}}}break}const p=l.findNearestSibling(s.id);if(p){const A=l.getElementById(p);if(A){const w=u.cx,b=u.cy,C=u.cz,P=A.cx-s.cx,v=A.cy-s.cy,T=A.cz-s.cz;u.cx=A.cx+P,u.cy=A.cy+v,u.cz=A.cz+T,l.overlapWithSibling(u)&&(u.cx=s.cx-P,u.cy=s.cy-v,u.cz=s.cz-T,l.overlapWithSibling(u)&&(u.cx=s.cx-2*P,u.cy=s.cy-2*v,u.cz=s.cz-2*T,l.overlapWithSibling(u)&&(u.cx=w-P,u.cy=b-v,u.cz=C-T)))}else u.cx+=(.01+u.lx)/f.lx}else u.cx+=(.01+u.lx)/f.lx;const g={lng:l.language};l.overlapWithSibling(u)?Do(j.t("message.CannotPasteBecauseOfOverlap",g)):f.type===z.Foundation||f.type===z.Cuboid&&xe.isIdentical(u.normal,o0)?xe.isSolarCollectorWithinHorizontalSurface(u,f)?(l.elements.push(u),l.elementsToPaste=[u],d=!0):Do(j.t("message.CannotPasteOutsideBoundary",g)):(l.elements.push(u),l.elementsToPaste=[u],d=!0)}}break}case z.Sensor:case z.Light:case z.WindTurbine:{if(u.parentId){const f=l.getParent(u);f&&(u.cx+=u.lx/f.lx),u.cx<.5&&(l.elements.push(u),l.elementsToPaste=[u],d=!0)}break}case z.Polygon:{const f=u;for(const p of f.vertices)p.x+=.1;f.cx+=.1,l.elements.push(f),l.elementsToPaste=[f],d=!0;break}case z.Cuboid:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=A=>{const w=[];for(const b of e().elements)if(b.parentId===A.id)switch(w.push(b),b.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:w.push(...f(b))}return w},p=f(s),g=new Map;a.push(u),g.set(s.id,u);for(const A of p){const w=g.get(A.parentId);if(w){const b=Nl.clone(w,A,A.cx,A.cy,A.cz,A.type===z.Polygon);b&&(u.normal&&(b.normal=[...A.normal]),a.push(b),g.set(A.id,b))}}l.elements.push(...a),l.elementsToPaste=[u],l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),l.elementsToPaste=[...f],a.push(...f),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!1;break}case z.Foundation:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=new Map,p=new Map;for(const g of l.elements)if(g.parentId===s.id&&g.parentId!==g.id){const A=Nl.clone(u,g,g.cx,g.cy,g.cz,g.type===z.Polygon);if(A&&(u.normal&&(A.normal=[...g.normal]),a.push(A),(A==null?void 0:A.type)===z.Wall||(A==null?void 0:A.type)===z.Roof)){f.set(A.id,g.id),p.set(g.id,A.id);for(const w of l.elements)if(w.parentId===g.id){const b=Nl.clone(A,w,w.cx,w.cy,w.cz);b&&(g.normal&&(b.normal=[...w.normal]),a.push(b))}}}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u];for(const g of l.elements){if(g.type===z.Roof){const A=f.get(g.id);if(A){const w=e().getElementById(A);w&&(g.wallsId=w.wallsId.map(b=>p.get(b)))}}if(g.type===z.Wall){const A=f.get(g.id);if(A){for(const w of l.elements)if(w.id===A&&w.type===z.Wall){const b=w,C=p.get(b.leftJoints[0]);C&&(g.leftJoints=[C]);const P=p.get(b.rightJoints[0]);if(P&&(g.rightJoints=[P]),b.roofId){const v=p.get(b.roofId);v&&(g.roofId=v)}break}}}}}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),a.push(...f),l.elementsToPaste=f,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!0;break}case z.Wall:{const f=u,p=new re(1,-1,0).applyEuler(new Qt(0,0,f.relativeAngle));if(u.cx+=p.x,u.cy+=p.y,l.elementsToPaste.length===1){const g=new re(u.cx,u.cy,0),A=new re(u.lx/2,0,0),w=new re(-u.lx/2,0,0),b=new Qt(0,0,f.relativeAngle);f.leftPoint=g.clone().add(w.applyEuler(b)).toArray(),f.rightPoint=g.clone().add(A.applyEuler(b)).toArray(),f.roofId=void 0,f.leftRoofHeight=void 0,f.rightRoofHeight=void 0,f.centerLeftRoofHeight=void 0,f.centerRightRoofHeight=void 0,f.centerRoofHeight=void 0;for(const C of l.elements)if(C.parentId===s.id){const P=Nl.clone(u,C,C.cx,C.cy,C.cz,C.type===z.Polygon);P&&(u.normal&&(P.normal=[...C.normal]),a.push(P))}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u]}else if(l.elementsToPaste.length>1){const g=l.copyCutElements();g.length>0&&(g[0].cx+=p.x,g[0].cy-=p.y,l.elements.push(...g),a.push(...g),l.elementsToPaste=g,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(g[0].id),l.selectedElement=g[0])}l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,d=!0;break}}l.elementsToPaste.length===1&&d&&(a.push(u),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u)}}}),a},pvModules:{},loadPvModules(){const a=[];JB.parse(fht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c={name:s[0].trim(),brand:s[1].trim(),cellType:s[2].trim(),efficiency:parseFloat(s[3].trim()),length:parseFloat(s[4].trim()),nominalLength:parseFloat(s[5].trim()),width:parseFloat(s[6].trim()),nominalWidth:parseFloat(s[7].trim()),thickness:parseFloat(s[8].trim()),m:parseFloat(s[9].trim()),n:parseFloat(s[10].trim()),pmax:parseFloat(s[11].trim()),vmpp:parseFloat(s[12].trim()),impp:parseFloat(s[13].trim()),voc:parseFloat(s[14].trim()),isc:parseFloat(s[15].trim()),pmaxTC:parseFloat(s[16].trim()),noct:parseFloat(s[17].trim()),weight:parseFloat(s[18].trim()),color:s[19].trim(),shadeTolerance:s[20].trim(),bifacialityFactor:parseFloat(s[21].trim())};a.push(c)}r(s=>{for(const c of a)s.pvModules[c.name]=c})}})},getPvModule(a){return e().pvModules[a]},weatherModel:void 0,setWeatherModel(a){r(l=>{l.weatherModel=l.weatherData[a]})},weatherData:{},loadWeatherData(){if(Object.keys(e().weatherData).length>0)return;const a=[];JB.parse(cht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[],u=[],d=[];for(let p=5;p<29;p++)(p-5)%2===0?c.push(parseFloat(s[p].trim())):u.push(parseFloat(s[p].trim()));for(let p=29;p<41;p++)d.push(parseFloat(s[p].trim()));const f={city:s[0].trim(),country:s[1].trim(),longitude:parseFloat(s[2].trim()),latitude:parseFloat(s[3].trim()),elevation:parseFloat(s[4].trim()),lowestTemperatures:c,highestTemperatures:u,sunshineHours:d};a.push(f)}r(s=>{for(const c of a)s.weatherData[c.city+", "+c.country]=c;s.weatherModel=s.weatherData["Boston MA, USA"]}),console.log(a.length+" weather datasets loaded")}})},getWeather(a){const l=e().weatherModel;return l||e().weatherData[a]},horizontalSolarRadiationData:{},loadHorizontalSolarRadiationData(){const a=[];JB.parse(uht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.horizontalSolarRadiationData[c.city+", "+c.country]=c})}})},getHorizontalSolarRadiation(a){return e().horizontalSolarRadiationData[a]},verticalSolarRadiationData:{},loadVerticalSolarRadiationData(){const a=[];JB.parse(dht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.verticalSolarRadiationData[c.city+", "+c.country]=c})}})},getVerticalSolarRadiation(a){return e().verticalSolarRadiationData[a]},getClosestCity(a,l){let s=Number.MAX_VALUE,c=null,u;const d=e().weatherData;for(const f in d)Object.hasOwn(d,f)&&(u=xe.getDistance(l,a,d[f].longitude,d[f].latitude),u{l.sunlightDirection=a.clone()})},cameraDirection:new re,getCameraDirection(){return e().cameraDirection},updateSceneRadiusFlag:!1,updateSceneRadius(){r(a=>{a.updateSceneRadiusFlag=!a.updateSceneRadiusFlag})},sceneRadius:100,setSceneRadius(a){r(l=>{l.sceneRadius=a})},selectedElementAngle:0,selectedElementHeight:0,selectedElementX:0,selectedElementY:0,isAddingElement(){return!!(e().addedCuboidId||e().addedFoundationId||e().addedWallId||e().addedWindowId||e().addedDoorId)},addedFoundationId:null,deletedFoundationId:null,addedCuboidId:null,deletedCuboidId:null,addedWallId:null,deletedWallId:null,updateWallMapOnFoundationFlag:!1,updateWallMapOnFoundation(){r(a=>{a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},updateElementOnRoofFlag:!1,setUpdateElementOnRoofFlag(a){r(l=>{l.updateElementOnRoofFlag=a})},updateElementOnRoofFn(){r(a=>{a.updateElementOnRoofFlag=!0})},addedWindowId:null,addedDoorId:null,addedRoofIdSet:new Set,deletedRoofId:null,deletedRoofIdSet:new Set,autoDeletedRoofs:null,autoDeletedRoofIdSet:new Set,autoDeletedChild:null,getAutoDeletedElements(){const a=e().autoDeletedRoofs,l=e().autoDeletedChild;return!a||!l?null:[...a,...l]},deleteAddedRoofId(a){r(l=>{l.addedRoofIdSet.delete(a)})},groupActionMode:!1,setGroupActionMode(a){r(l=>{l.groupActionMode=a})},groupActionUpdateFlag:!1,locale:Npe,localFileDialogRequested:!1,loggable:!1,actionInfo:void 0,currentUndoable:void 0,showCloudFileTitleDialog:!1,showCloudFileTitleDialogFlag:!1,localContentToImportAfterCloudFileUpdate:void 0,enableFineGrid:!1,setEnableFineGrid(a){r(l=>{l.enableFineGrid=a})}}},{name:"aladdin-storage",storage:qNe(()=>new URLSearchParams(window.location.search).get("viewonly")==="true"?sessionStorage:localStorage),skipHydration:xe.isOpenFromURL(),partialize:t=>({language:t.language,animate24Hours:t.animate24Hours,floatingWindowOpacity:t.floatingWindowOpacity,selectedFloatingWindow:t.selectedFloatingWindow,locale:t.locale,cloudFile:t.cloudFile,latestModelSite:t.latestModelSite,modelSites:t.modelSites,modelsMapLatitude:t.modelsMapLatitude,modelsMapLongitude:t.modelsMapLongitude,modelsMapAddress:t.modelsMapAddress,modelsMapZoom:t.modelsMapZoom,modelsMapType:t.modelsMapType,modelsMapTilt:t.modelsMapTilt,world:t.world,elements:t.elements,viewState:t.viewState,graphState:t.graphState,actionState:t.actionState,modelType:t.modelType,modelAuthor:t.modelAuthor,modelLabel:t.modelLabel,modelDescription:t.modelDescription,projectView:t.projectView,projectState:t.projectState,designProjectType:t.designProjectType,notes:t.notes,user:t.user,sceneRadius:t.sceneRadius,weatherModel:t.weatherModel,solarPanelArrayLayoutParams:t.solarPanelArrayLayoutParams,solarPanelArrayLayoutConstraints:t.solarPanelArrayLayoutConstraints,economicsParams:t.economicsParams,evolutionMethod:t.evolutionMethod,evolutionaryAlgorithmState:t.evolutionaryAlgorithmState,geneticAlgorithmWizardSelectedTab:t.geneticAlgorithmWizardSelectedTab,particleSwarmOptimizationWizardSelectedTab:t.particleSwarmOptimizationWizardSelectedTab,minimumNavigationMoveSpeed:t.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:t.minimumNavigationTurnSpeed})})));class QQt extends be.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0}}componentDidCatch(e,n){}clearCacheAndReload(){localStorage.clear(),window.location.reload()}render(){return this.state.hasError?h.jsxs("div",{style:{marginTop:10,marginLeft:20},children:[h.jsx("h1",{children:"Error"}),h.jsx("p",{children:"Something went wrong. Please click the following button to clear the cache and reload the page."}),h.jsx("p",{children:h.jsx("button",{onClick:this.clearCacheAndReload,children:"Refresh"})})]}):this.props.children}}const ZQt=t=>{const e=typeof t=="function",n=m.useRef(t);m.useEffect(()=>{n.current=t}),m.useEffect(()=>{if(e){const o=i=>{const r=n.current(i);if(typeof r=="string")return i.preventDefault(),i.returnValue=r;if(i.defaultPrevented)return i.returnValue=""};return window.addEventListener("beforeunload",o),()=>{window.removeEventListener("beforeunload",o)}}},[e])},eZt=({children:t=null,onBeforeunload:e})=>(ZQt(e),t),tZt="/aladdin/assets/daysky-xGPh_lTa.jpg",nZt="/aladdin/assets/desert-C1g8PGRA.jpg",oZt="/aladdin/assets/dune-RJd7hu4h.jpg",iZt="/aladdin/assets/forest-DjILrMk4.jpg",rZt="/aladdin/assets/grassland-CDTfZBr_.jpg",HSe="/aladdin/assets/hill-spring-BepVmTLf.jpg",MSe="/aladdin/assets/hill-summer-RoU04vrD.jpg",ISe="/aladdin/assets/hill-fall-BPbpF4zI.jpg",zSe="/aladdin/assets/hill-winter-CQjb4ZNm.jpg",aZt="/aladdin/assets/lake-Dj_bK41O.jpg",lZt="/aladdin/assets/mountain-Du_Jo4ue.jpg",sZt="/aladdin/assets/rural-BqG-D3I1.jpg",cZt=be.memo(({theme:t="Default"})=>{const e=M(dn),n=M(lW),o=M(xb),i=M(nge),r=M(hge),a=M(vH),l=M(Vn),s=M(t3),c=M(rge),u=M(yh),d=M(Xs),f=M(Ya),p=M(En),g=M(e3),A=M($Be),{scene:w,camera:b,gl:{domElement:C}}=Xi(),P=m.useRef(null),v=m.useRef(null),T=m.useRef(null),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new re),R=m.useRef(new re),H=m.useRef(new re(1,1,1)),D=m.useRef(0),k=m.useRef(0),W=m.useRef(new Map),N=m.useRef(new Map),L=m.useRef(new Map),E=m.useRef(new Map),U=m.useRef(null),F=Kt(),B=m.useMemo(()=>new Gs,[]),_=m.useMemo(()=>new Qt,[]),O=new Date(f).getMonth()+1,[J,Z]=m.useState(Kf.Sky),ie=m.useMemo(()=>new re,[]),ee=m.useMemo(()=>new Qt,[]);if(v.current&&u){J!==Kf.Vertical&&Z(Kf.Vertical);const oe=r(v.current,u),ge=i(),Ae=-Math.atan2(ge.x,ge.y);ie.set(oe.x,oe.y,0),ee.set(-Vt,0,Ae,"ZXY")}const q=m.useMemo(()=>{switch(t){case Ns.Desert:return .5;case Ns.Dune:return .25;case Ns.Forest:return .25;case Ns.Grassland:return .15;case Ns.Hill:return .3;case Ns.Lake:return .1;case Ns.Mountain:return .4;case Ns.Rural:return .25;default:return .2}},[t]),ae=m.useMemo(()=>{switch(t){case Ns.Desert:return nZt;case Ns.Dune:return oZt;case Ns.Forest:return iZt;case Ns.Grassland:return rZt;case Ns.Hill:return d>0?O>=12||O<=3?zSe:O>3&&O<=5?HSe:O>5&&O<=9?MSe:ISe:O>=12||O<=3?MSe:O>3&&O<=5?ISe:O>5&&O<=9?zSe:HSe;case Ns.Lake:return aZt;case Ns.Mountain:return lZt;case Ns.Rural:return sZt;default:return tZt}},[t,O,d]),ne=Ab(ae),se=oe=>oe===z.Foundation||oe===z.Cuboid||oe===z.Tree||oe===z.Flower||oe===z.Human,le=oe=>{if(oe.intersections.length>0)if(oe.intersections[0].object===P.current)n(),e(Ae=>{Ae.clickObjectType=z.Sky});else{const Ae=o();Ae&&se(Ae.type)&&(v.current=Ae,xe.isPlantOrHuman(v.current)&&(Z(Kf.Vertical),ee.set(-Vt,0,0,"ZXY")),Ae.type!==z.Foundation&&Ae.type!==z.Cuboid&&Ln.getState().setEnableOrbitController(!1))}},te=oe=>{if(!oe)return"";const ge=oe.name.split(" ");return ge[2]?ge[2]:te(oe.parent)},he=(oe,ge)=>{if(oe==null)return null;for(const Ae of oe.children)if(Ae.name.includes(`${ge}`))return Ae;return null},pe=(oe,ge)=>{var Me,Te;const Ae=Ln.getState().contentRef,me=he(Ae==null?void 0:Ae.current,oe.id);if(me){for(const De of me.children)if(De.name.includes(`${ge.id}`)){(Te=(Me=Ln.getState().contentRef)==null?void 0:Me.current)==null||Te.add(De);break}}ge.parentId=Zo;const Pe=new re(ge.cx,ge.cy,ge.cz).applyEuler(new Qt(0,0,oe.rotation[2])).add(x.current);ge.cx=Pe.x,ge.cy=Pe.y,ge.cz=0,L.current.set(ge.id,new re(Pe.x,Pe.y,0)),E.current.set(ge.id,Zo)},fe=(oe,ge,Ae)=>{if(!oe||!ge)return;const me=Ln.getState().contentRef;if(me!=null&&me.current){const Pe=xe.getObjectChildById(me.current,ge),Me=xe.getObjectChildById(ge===Zo?me.current:Pe,Ae);if(Me){if(oe===Zo)me.current.add(Me);else{const Te=xe.getObjectChildById(me.current,oe);Te==null||Te.add(Me)}Zh()}}},$=(oe,ge)=>{oe&&e(Ae=>{for(const me of Ae.elements)if(me.id===ge&&!xe.isFoundationOrCuboid(me)){me.parentId=oe;break}})},de=oe=>{for(const ge of oe)if(ge.object.userData.stand)return ge;return null},Se=(oe,ge)=>{if(oe&&oe.current){const Ae=de(ge.intersections);if(Ae){const me=Ae.object,Pe=oe.current.parent;if(me.name==="Ground"){if(Pe&&Pe.name!=="Content"){const Me=Ln.getState().contentRef;Me&&Me.current&&(Me.current.add(oe.current),$(Zo,te(oe.current)))}oe.current.position.copy(Ae.point),Zh()}else if(me.userData.stand){const Me=me.parent;if(Me){Pe&&Pe.uuid!==Me.uuid&&(Me.add(oe.current),$(te(Me),te(oe.current))),_.set(0,0,-Me.rotation.z);const Te=new re().subVectors(Ae.point,Me.position).applyEuler(_);oe.current.position.copy(Te),Zh()}}}}},Ce=(oe,ge,Ae)=>{e(me=>{for(const Pe of me.elements)if(Pe.id===oe){xe.isFoundationOrCuboid(Pe)||(Pe.parentId=ge),Pe.cx=Ae.x,Pe.cy=Ae.y,Pe.cz=Ae.z;break}})},ve=()=>{if(M.getState().viewState.orthographic)return!1;if(P.current){const oe=B.intersectObjects(xe.fetchIntersectables(w),!1);if(oe.length>0){for(const ge of oe)if(ge.object.userData.stand)return!1}}return B.intersectObjects([P.current]).length>0},Ie=oe=>{if(v.current&&v.current.type&&!v.current.locked){const ge=new Gt;ge.x=oe.offsetX/C.clientWidth*2-1,ge.y=-(oe.offsetY/C.clientHeight)*2+1,B.setFromCamera(ge,b);let Ae;if(T.current&&J===Kf.Vertical&&(Ae=B.intersectObjects([T.current]),Ae&&Ae.length>0)){const me=Ae[0].point;switch(v.current.type){case z.Tree:{const Pe=v.current;switch(u){case gt.Top:c(Pe.id,me.z),e(Me=>{Me.selectedElementHeight=Math.max(1,me.z)});break;case gt.Left:case gt.Right:case gt.Upper:case gt.Lower:s(Pe.id,2*Math.hypot(me.x-Pe.cx,me.y-Pe.cy));break}Se(Ln.getState().treeRef,oe);break}case z.Human:{Se(Ln.getState().humanRef,oe);break}case z.Cuboid:{if(xe.isTopResizeHandle(u)){e(Me=>{var Te;for(const De of Me.elements)if(De.id===((Te=v.current)==null?void 0:Te.id)){De.cz=Math.max(.5,me.z/2),De.lz=Math.max(1,me.z);break}Me.selectedElementHeight=Math.max(1,me.z)});const Pe=Ln.getState().cuboidRef;if(Pe!=null&&Pe.current){for(const Me of Pe.current.children)if(Me.name.includes("Human")||Me.name.includes("Tree")){const Te=y.current.get(te(Me));Te&&(Math.abs(k.current-Te.z)<.01?Me.position.setZ(Math.max(me.z/2,.5)):Me.position.setZ(Te.z-Pe.current.position.z))}}}break}}}}},ze=oe=>{if(oe.button===2)return;e(Ae=>{Ae.contextMenuObjectType=null}),le(oe);const ge=v.current;if(ge)switch(k.current=ge.lz,x.current.set(ge.cx,ge.cy,ge.cz),ge.type){case z.Human:U.current=ge.parentId;break;case z.Tree:U.current=ge.parentId,D.current=ge.lx;break;case z.Cuboid:{x.current.set(ge.cx,ge.cy,ge.cz),H.current.set(ge.lx,ge.ly,ge.lz),y.current.clear();const Ae=new re(ge.cx,ge.cy,ge.cz),me=a(ge.id);if(me.length>0){W.current.clear();const Pe=ge.rotation[2];for(const Me of me)switch(Me.type){case z.Tree:case z.Human:{const Te=new re(Me.cx,Me.cy,Me.cz).applyEuler(new Qt(0,0,Pe));Te.add(Ae),y.current.set(Me.id,Te),W.current.set(Me.id,new re(Me.cx,Me.cy,Me.cz));break}case z.SolarPanel:case z.Sensor:{if(xe.isIdentical(Me.normal,o0)){const Te=new re(Me.cx*ge.lx,Me.cy*ge.ly,Me.cz*ge.lz).applyEuler(new Qt(0,0,Pe));Te.add(Ae),y.current.set(Me.id,Te)}break}case z.Polygon:{if(xe.isIdentical(Me.normal,o0)){const Te=Me,De=[];for(const Ue of Te.vertices){const Oe=new Gt(Ue.x*ge.lx,Ue.y*ge.ly).rotateAround(wr,Pe);Oe.add(new Gt(Ae.x,Ae.y)),De.push(Oe)}S.current.set(Te.id,De)}break}}}break}}},ye=()=>{var oe,ge;if(v.current){const Ae=l(v.current.id);if(Ae&&!Ae.locked){let me=null,Pe=U.current;switch(Ae.type){case z.Cuboid:switch(u){case gt.UpperLeftTop:case gt.UpperRightTop:case gt.LowerLeftTop:case gt.LowerRightTop:{N.current.clear(),e(De=>{De.actionState.cuboidHeight=Ae.lz;for(const Ue of De.elements)if(xe.isPlantOrHuman(Ue)&&Ue.parentId===Ae.id)if(N.current.set(Ue.id,Ae.id),Math.abs(H.current.z/2-Ue.cz)<.01)Ue.cz=Ae.lz/2;else{const Oe=Ue.cz+x.current.z-Ae.cz;Math.abs(Oe)>Ae.lz/2?pe(Ae,Ue):Ue.cz=Oe}});const Me=a(Ae.id);if(Me.length>0)for(const De of Me)L.current.set(De.id,new re(De.cx,De.cy,De.cz));const Te={name:"Change Cuboid Height",timestamp:Date.now(),changedElementId:Ae.id,changedElementType:Ae.type,oldValue:k.current,newValue:Ae.lz,oldChildrenPositionsMap:new Map(W.current),newChildrenPositionsMap:new Map(L.current),oldChildrenParentIdMap:new Map(N.current),newChildrenParentIdMap:new Map(E.current),undo:()=>{var De,Ue;if(e(Oe=>{for(const Le of Oe.elements)if(Le.id===Te.changedElementId){Le.lz=Te.oldValue,Le.cz=Te.oldValue/2;break}}),Te.oldChildrenPositionsMap&&Te.oldChildrenPositionsMap.size>0)for(const[Oe,Le]of Te.oldChildrenPositionsMap.entries()){const $e=l(Oe);if(($e==null?void 0:$e.type)!==z.Polygon){g(Oe,Le.x,Le.y,Le.z);const We=(De=Te.oldChildrenParentIdMap)==null?void 0:De.get(Oe),Ee=(Ue=Te.newChildrenParentIdMap)==null?void 0:Ue.get(Oe);We&&Ee&&We!==Ee&&(fe(We,Ee,Oe),$(We,Oe))}}},redo:()=>{var De,Ue;if(e(Oe=>{for(const Le of Oe.elements)if(Le.id===Te.changedElementId){Le.lz=Te.newValue,Le.cz=Te.newValue/2;break}}),Te.newChildrenPositionsMap&&Te.newChildrenPositionsMap.size>0)for(const[Oe,Le]of Te.newChildrenPositionsMap.entries()){g(Oe,Le.x,Le.y,Le.z);const $e=(De=Te.oldChildrenParentIdMap)==null?void 0:De.get(Oe),We=(Ue=Te.newChildrenParentIdMap)==null?void 0:Ue.get(Oe);$e&&We&&$e!==We&&(fe(We,$e,Oe),$(We,Oe))}}};p(Te);break}}break;case z.Tree:switch(u){case gt.Top:{const Me={name:"Change Tree Height",timestamp:Date.now(),changedElementId:Ae.id,changedElementType:Ae.type,oldValue:k.current,newValue:Ae.lz,undo:()=>{c(Me.changedElementId,Me.oldValue)},redo:()=>{c(Me.changedElementId,Me.newValue)}};p(Me),e(Te=>{Te.actionState.treeHeight=Ae.lz});break}case gt.Left:case gt.Right:case gt.Lower:case gt.Upper:{const Me={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:Ae.id,changedElementType:Ae.type,oldValue:D.current,newValue:Ae.lx,undo:()=>{s(Me.changedElementId,Me.oldValue)},redo:()=>{s(Me.changedElementId,Me.newValue)}};p(Me),e(Te=>{Te.actionState.treeSpread=Ae.lx});break}}me=(oe=Ln.getState().treeRef)==null?void 0:oe.current;break;case z.Human:me=(ge=Ln.getState().humanRef)==null?void 0:ge.current;break}if(me){const Me=B.intersectObjects(xe.fetchIntersectables(w),!1),Te=de(Me);if(Te){const De=Te.point;if(Te.object.name==="Ground")Ce(Ae.id,Zo,De),R.current.set(De.x,De.y,De.z),Pe=Zo;else if(Te.object.userData.stand){const Ue=te(Te.object),Oe=Te.object.parent;if(Oe){const Le=new re().subVectors(De,Oe.position).applyEuler(_);Ce(Ae.id,Ue,Le),R.current.set(Le.x,Le.y,Le.z),Pe=Ue}}}}if(M.getState().moveHandleType&&xe.isPlantOrHuman(Ae)&&(R.current.distanceToSquared(x.current)>Dt||B.intersectObjects([P.current]).length>0)){let Me=!0;if(!M.getState().viewState.orthographic&&(Me=R.current.length().02}if(!Me||ve()){g(Ae.id,x.current.x,x.current.y,x.current.z),me&&xe.isPlantOrHuman(Ae)&&me.position.copy(x.current),xe.isPlantOrHuman(Ae)&&$(U.current,Ae.id);const Te=Ln.getState().contentRef;if(Te!=null&&Te.current&&U.current&&me){if(U.current===Zo)Te.current.add(me);else{const De=xe.getObjectChildById(Te.current,U.current);De==null||De.add(me)}Zh()}Do(j.t("message.CannotMoveObjectTooFar",F))}else{const Te={name:"Move",timestamp:Date.now(),movedElementId:Ae.id,movedElementType:Ae.type,oldCx:x.current.x,oldCy:x.current.y,oldCz:x.current.z,newCx:R.current.x,newCy:R.current.y,newCz:R.current.z,oldParentId:U.current,newParentId:Pe,undo:()=>{g(Te.movedElementId,Te.oldCx,Te.oldCy,Te.oldCz),$(Te.oldParentId,Te.movedElementId),fe(Te.oldParentId,Te.newParentId,Te.movedElementId)},redo:()=>{g(Te.movedElementId,Te.newCx,Te.newCy,Te.newCz),$(Te.newParentId,Te.movedElementId),fe(Te.newParentId,Te.oldParentId,Te.movedElementId)}};p(Te),A()}}}v.current=null,Z(Kf.Sky),e(me=>{me.moveHandleType=null,me.resizeHandleType=null,me.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null}),Ln.getState().setEnableOrbitController(!0)}};return h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{ref:P,name:"Sky",rotation:[Vt,0,0],scale:[1,q,1],onContextMenu:oe=>{oe.intersections.length>0&&oe.intersections[0].object===P.current&&(n(),e(Ae=>{Ae.clickObjectType=z.Sky,Ae.contextMenuObjectType=z.Sky}))},onPointerDown:ze,children:[h.jsx("sphereGeometry",{args:[E3t,16,8,0,na,0,Vt]}),h.jsx("meshToonMaterial",{map:ne,side:p0,opacity:1,color:"skyblue"})]}),v.current&&J!==Kf.Sky&&h.jsx(sa,{ref:T,visible:!1,name:"Sky Intersection Plane",rotation:ee,position:ie,args:[1e3,1e3],onPointerMove:M2.throttle(Ie,Ek),onPointerUp:ye,children:h.jsx("meshStandardMaterial",{side:ji})})]})}),uZt=be.memo(({lineWidth:t=1,endPoint:e=1e3,showTickMarks:n=!0,showTickLabels:o=!0})=>{const i=M(owt),r=M(mh),a=M(hu),[l,s]=m.useState(!1),c=50,u=m.useRef(1),d=m.useRef(u.current*10),f=m.useRef(new Array(c).fill(1)),p=.1,g=.3,A="FloralWhite",w=t/2,b=aA(sq,oQ),C=Math.min(1,Math.max(.5,r*.01)),P={font:b,height:0,size:C},v=a?i.max.z+.01:0;m.useEffect(()=>{r<50?u.current=1:r<100?u.current=2:u.current=5,d.current=10*u.current,f.current=new Array(c).fill(1),s(!l)},[r]);const T=y=>y%(5*u.current)===0?g:p;return h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},name:"x axis line",points:[[-e,0,v],[e,0,v]],color:"red",lineWidth:t}),a&&n&&f.current.map((y,S)=>{const x=(S+1)*u.current,R=T(x);return h.jsxs(be.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[x,-R,v],[x,R,v]],color:A,lineWidth:w}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-x,-R,v],[-x,R,v]],color:A,lineWidth:w})]},x)}),a&&o&&f.current.map((y,S)=>{const x=(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[x-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(x<10?" ":"")+x,P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),a&&o&&f.current.map((y,S)=>{const x=-(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[x-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(x>-10?" ":"")+x,P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),h.jsx(Fn,{name:"y axis line",userData:{unintersectable:!0},points:[[0,-e,v],[0,e,v]],color:"blue",lineWidth:t}),a&&n&&f.current.map((y,S)=>{const x=(S+1)*u.current,R=T(x);return h.jsxs(be.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,x,v],[R,x,v]],color:A,lineWidth:w*1.5}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,-x,v],[R,-x,v]],color:A,lineWidth:w*1.5})]},x)}),a&&o&&f.current.map((y,S)=>{const x=(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,x-C/2,v],children:[h.jsx("textGeometry",{args:[x+"",P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),a&&o&&f.current.map((y,S)=>{const x=-(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,x-C/2,v],children:[h.jsx("textGeometry",{args:[x+"",P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),!a&&h.jsx(Fn,{userData:{unintersectable:!0},name:"z axis line",points:[[0,0,0],[0,0,e]],color:"green",lineWidth:t})]})}),dZt=be.memo(t=>{var Z;const{id:e,cx:n,cy:o,cz:i,name:r=Yt.Jack,locked:a=!1,flip:l=!1,observer:s=!1,parentId:c}=t;let u=!1;M(ie=>{if(c===Zo)u=!0;else for(const ee of ie.elements)if(ee.id===c){u=!0;break}});const d=M(hp);m.useEffect(()=>{u||d(e,!1)},[u,e]);const f=M(dn),p=M(hu)??!1,g=M(Vc),A=M(Cb),w=M(ty),b=ht(cs),C=Hs(e),{gl:P}=Xi(),[v,T]=m.useState(!1),y=Ln(ie=>ie.contentRef),S=m.useRef(null),x=m.useRef(null),R=Kt(),H=m.useRef(!1),D=M(AH);D!==H.current&&(H.current=D,y!=null&&y.current&&S.current&&y.current.add(S.current)),m.useEffect(()=>{if(c!==Zo){const ie=F();ie&&S.current&&ie.add(S.current)}},[D,c]);const k=m.useMemo(()=>new nf().load(Ip.fetchTextureImage(r),ie=>{l&&(ie.wrapS=Ss,ie.repeat.x=-1),N(ie)}),[r,l]),[W,N]=m.useState(k),L=m.useMemo(()=>Ip.fetchWidth(r),[r]),E=m.useMemo(()=>Ip.fetchHeight(r),[r]),U=m.useMemo(()=>Ip.fetchLabel(r,R)+(a?" ("+j.t("shared.ElementLocked",R)+")":"")+` -`+j.t("word.Coordinates",R)+": ("+n.toFixed(1)+", "+o.toFixed(1)+") "+j.t("word.MeterAbbreviation",R),[r,a,n,o,R]);m.useEffect(()=>{const ie=F();ie&&S.current&&ie.add(S.current)},[y]);const F=()=>c!==Zo&&(y!=null&&y.current)?xe.getObjectChildById(y.current,c):null;rA(({camera:ie})=>{if(S.current){const{rot:ee}=xe.getWorldDataById(c);if(p)S.current.rotation.set(Vt,Math.PI-ee,0);else{const{x:q,y:ae}=ie.position,{x:ne,y:se}=S.current.localToWorld(new re);S.current.rotation.set(0,0,-Math.atan2(q-ne,ae-se)-ee)}}});const B=m.useCallback((ie,ee)=>{ht.getState().duringCameraInteraction||ie.intersections.length>0&&(ie.intersections[0].object===ie.eventObject||ie.intersections.length>1&&ie.intersections[1].object===ie.eventObject)&&(f(ae=>{ae.hoveredHandle=ee,ae.selectedElementHeight=t.lz}),xe.isMoveHandle(ee)?P.domElement.style.cursor="move":P.domElement.style.cursor="pointer")},[t.lz]),_=m.useCallback(()=>{f(ie=>{ie.hoveredHandle=null}),P.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),Y=s?Ip.fetchGender(t.name):Ca.Male,O=s?(t.flip?-1:1)*Ip.fetchHatOffsetX(t.name):0,J=s?Ip.fetchHatOffsetY(t.name):0;return u?h.jsx("group",{ref:S,name:"Human Group "+e,userData:{aabb:!0},position:[n,o,i??0],children:h.jsxs("group",{position:[0,.1,E/2],children:[h.jsx(pC,{rotation:[Vt,0,0],uuid:e,name:r,follow:!1,children:h.jsx(sa,{ref:x,renderOrder:3,receiveShadow:!b,name:`Human ${r} plane`,args:[L,E],onContextMenu:ie=>{g(e,ie,zo.ContextMenu),f(ee=>{ie.intersections.length>0&&ie.intersections[0].object===x.current&&(ee.contextMenuObjectType=z.Human)})},onPointerDown:ie=>{ie.button!==2&&ie.eventObject===ie.intersections[0].eventObject&&(g(e,ie,zo.Move),Ln.setState({humanRef:S}))},onPointerOver:ie=>{ie.intersections.length>0&&ie.intersections[0].object===x.current&&T(!0)},onPointerOut:()=>{T(!1)},children:h.jsx("meshToonMaterial",{map:W,alphaTest:.5,side:ji})})}),C&&a&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-L/2,0,-E/2],[-L/2,0,E/2],[-L/2,0,E/2],[L/2,0,E/2],[L/2,0,-E/2],[L/2,0,E/2],[L/2,0,-E/2],[-L/2,0,-E/2]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(Z=x.current)==null?void 0:Z.rotation,color:l0}),s&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{uuid:e,visible:!1,userData:{eyeball:!0},name:r+" eyeball",args:[L/5,4,4,0,na,0,na],position:[0,0,t.lz/2],children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(wa,{name:"Observer hat 1",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.1,.1,.1,16,2],position:[O,0,t.lz/2-.05+J],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:Y===Ca.Male?"gray":"hotpink"})}),h.jsx(wa,{name:"Observer hat 2",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.2,.2,.01,16,2],position:[O,0,t.lz/2-.1+J],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:Y===Ca.Male?"gray":"hotpink"})})]}),C&&!a&&h.jsx(ts,{position:[0,0,-E/2],args:[Af*4,6,6,0,Math.PI],name:yo.Default,onPointerDown:ie=>{ie.button!==2&&ie.eventObject===ie.intersections[0].eventObject&&(g(e,ie,zo.Move),Ln.setState({humanRef:S}))},onPointerEnter:ie=>{B(ie,yo.Default)},onPointerLeave:_,children:h.jsx("meshBasicMaterial",{attach:"material",color:w===yo.Default||A===yo.Default?nr:jx})}),v&&!C&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:U,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,E/2+((t==null?void 0:t.labelHeight)??.4)]})]})}):null}),DSe="/aladdin/assets/apple_spring-Ctq5fKrS.png",Due="/aladdin/assets/apple_summer-Dr8H3cny.png",ESe="/aladdin/assets/apple_fall-Cp6pAzIj.png",kSe="/aladdin/assets/apple_winter-D03fshM0.png",FSe="/aladdin/assets/birch_spring-sKFxYorO.png",Eue="/aladdin/assets/birch_summer-FaJ43Xt4.png",LSe="/aladdin/assets/birch_fall-PIQyyY4L.png",WSe="/aladdin/assets/birch_winter-C5h1hTVJ.png",Yqe="/aladdin/assets/coconut-rkhxogn3.png",NSe="/aladdin/assets/dogwood_spring-9vLsm3g2.png",kue="/aladdin/assets/dogwood_summer-DgdkRZ2O.png",USe="/aladdin/assets/dogwood_fall-Wu983FGV.png",BSe="/aladdin/assets/dogwood_winter-4w2TO6RG.png",jSe="/aladdin/assets/elm_spring-DJcRoCq2.png",Fue="/aladdin/assets/elm_summer-VNy_g1qe.png",YSe="/aladdin/assets/elm_fall-ChdMN8fe.png",OSe="/aladdin/assets/elm_winter-Qng-eWYe.png",Oqe="/aladdin/assets/fan_palm-DbCJ1Nso.png",_Se="/aladdin/assets/linden_spring-C_zkyu46.png",Lue="/aladdin/assets/linden_summer-zap94GfP.png",VSe="/aladdin/assets/linden_fall-CK-BpZ7U.png",GSe="/aladdin/assets/linden_winter-Dt7sgspu.png",XSe="/aladdin/assets/magnolia_spring-CNor1Lb8.png",Wue="/aladdin/assets/magnolia_summer-C7-8T4uo.png",JSe="/aladdin/assets/magnolia_fall-D3wi6n7Y.png",KSe="/aladdin/assets/magnolia_winter-116tEre9.png",qSe="/aladdin/assets/maple_spring-26OHjb4f.png",Nue="/aladdin/assets/maple_summer-BbcBLKSJ.png",$Se="/aladdin/assets/maple_fall-Bp5Vy2Jl.png",QSe="/aladdin/assets/maple_winter-BnFW631O.png",ZSe="/aladdin/assets/oak_spring-CsUg07TC.png",Uue="/aladdin/assets/oak_summer-CPK7amde.png",eTe="/aladdin/assets/oak_fall-rgRz_M_t.png",tTe="/aladdin/assets/oak_winter-CD4uumS6.png",_qe="/aladdin/assets/pine-CI5zZHth.png",Vqe="/aladdin/assets/spruce-CEhjo5-Q.png";class Ez{static isEvergreen(e){return e===fi.Spruce||e===fi.Pine||e===fi.FanPalm||e===fi.Coconut}static isConic(e){return e===fi.Spruce}static fetchLabel(e,n){switch(e){case fi.Apple:return j.t("tree.Apple",n);case fi.Birch:return j.t("tree.Birch",n);case fi.Coconut:return j.t("tree.Coconut",n);case fi.Dogwood:return j.t("tree.Dogwood",n);case fi.Elm:return j.t("tree.Elm",n);case fi.FanPalm:return j.t("tree.FanPalm",n);case fi.Linden:return j.t("tree.Linden",n);case fi.Magnolia:return j.t("tree.Magnolia",n);case fi.Maple:return j.t("tree.Maple",n);case fi.Oak:return j.t("tree.Oak",n);case fi.Spruce:return j.t("tree.Spruce",n);default:return j.t("tree.Pine",n)}}static fetchTheta(e){switch(e){case fi.Apple:return .65*Math.PI;case fi.Birch:return .72*Math.PI;case fi.Coconut:return .5*Math.PI;case fi.Dogwood:return .65*Math.PI;case fi.Elm:return .78*Math.PI;case fi.FanPalm:return .52*Math.PI;case fi.Linden:return .75*Math.PI;case fi.Magnolia:return .68*Math.PI;case fi.Maple:return .65*Math.PI;case fi.Oak:return .75*Math.PI;case fi.Spruce:return Math.PI;default:return Math.PI*.5}}static fetchTextureImage(e,n,o,i,r){let a;const l=i+30,s=r-30,c=o>0;switch(e){case fi.Apple:n>=r||n<=i?a=c?kSe:Due:n>i&&n<=l?a=c?DSe:ESe:n>l&&n<=s?a=c?Due:kSe:a=c?ESe:DSe;break;case fi.Birch:n>=r||n<=i?a=c?WSe:Eue:n>i&&n<=l?a=c?FSe:LSe:n>l&&n<=s?a=c?Eue:WSe:a=c?LSe:FSe;break;case fi.Coconut:a=Yqe;break;case fi.Dogwood:n>=r||n<=i?a=c?BSe:kue:n>i&&n<=l?a=c?NSe:USe:n>l&&n<=s?a=c?kue:BSe:a=c?USe:NSe;break;case fi.Elm:n>=r||n<=i?a=c?OSe:Fue:n>i&&n<=l?a=c?jSe:YSe:n>l&&n<=s?a=c?Fue:OSe:a=c?YSe:jSe;break;case fi.FanPalm:a=Oqe;break;case fi.Linden:n>=r||n<=i?a=c?GSe:Lue:n>i&&n<=l?a=c?_Se:VSe:n>l&&n<=s?a=c?Lue:GSe:a=c?VSe:_Se;break;case fi.Magnolia:n>=r||n<=i?a=c?KSe:Wue:n>i&&n<=l?a=c?XSe:JSe:n>l&&n<=s?a=c?Wue:KSe:a=c?JSe:XSe;break;case fi.Maple:n>=r||n<=i?a=c?QSe:Nue:n>i&&n<=l?a=c?qSe:$Se:n>l&&n<=s?a=c?Nue:QSe:a=c?$Se:qSe;break;case fi.Oak:n>=r||n<=i?a=c?tTe:Uue:n>i&&n<=l?a=c?ZSe:eTe:n>l&&n<=s?a=c?Uue:tTe:a=c?eTe:ZSe;break;case fi.Spruce:a=Vqe;break;default:a=_qe}return a}}const fZt=be.memo(t=>{var Ae;const{parentId:e,id:n,cx:o,cy:i,cz:r,lx:a,lz:l,name:s=fi.Pine,flip:c=!1,locked:u=!1,showModel:d=!1,showLabel:f=!1}=t;let p=!1;M(me=>{if(e===Zo)p=!0;else for(const Pe of me.elements)if(Pe.id===e){p=!0;break}});const g=M(hp);m.useEffect(()=>{p||g(n,!1)},[p]);const A=M(dn),w=M(hu)??!1,b=M(Ya),C=M(Xs),P=M(V1e)??cq,v=M(G1e)??uq,T=M(ss),y=M(Vc),S=M(Cb),x=M(yh),R=M(ty),H=Hs(n),[D,k]=m.useState(!1),{gl:W}=Xi(),N=Ln(me=>me.contentRef),L=m.useRef(null),E=m.useRef(null),U=m.useRef(null),F=m.useRef(null),B=m.useRef(null),_=m.useRef(null),Y=m.useRef(null),O=m.useRef(null),J=m.useRef(null),Z=m.useRef(null),ie=Kt(),ee=m.useMemo(()=>xe.dayOfYear(new Date(b)),[b]),q=m.useMemo(()=>!Ez.isEvergreen(t?t.name:fi.Dogwood)&&(C>0?eev:ee>=P&&ee<=v),[ee,P,v,C,t==null?void 0:t.name]),ae=m.useRef(!1),ne=M(AH);ne!==ae.current&&(ae.current=ne,N!=null&&N.current&&L.current&&N.current.add(L.current)),m.useEffect(()=>{if(e!==Zo){const me=oe();me&&L.current&&me.add(L.current)}},[ne]),m.useEffect(()=>{const me=oe();me&&L.current&&me.add(L.current)},[N]);const se=m.useMemo(()=>new nf().load(Ez.fetchTextureImage(s,ee,C,P,v),me=>{c&&(me.wrapS=Ss,me.repeat.x=-1),te(me)}),[s,ee,C,c,P,v]),[le,te]=m.useState(se),he=m.useMemo(()=>(t!=null&&t.label?t.label:Ez.fetchLabel(s,ie))+(u?" ("+j.t("shared.ElementLocked",ie)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",ie)+": ("+o.toFixed(1)+", "+i.toFixed(1)+") "+j.t("word.MeterAbbreviation",ie)),[t==null?void 0:t.label,s,o,i,u,ie]),pe=m.useMemo(()=>Ez.fetchTheta(s),[s]),fe=a/2,$=l/2,de=m.useMemo(()=>new re(0,0,$),[$]),Se=m.useMemo(()=>new re(-fe,0,0),[fe]),Ce=m.useMemo(()=>new re(fe,0,0),[fe]),ve=m.useMemo(()=>new re(0,-fe,0),[fe]),Ie=m.useMemo(()=>new re(0,fe,0),[fe]),ze=m.useCallback((me,Pe)=>{ht.getState().duringCameraInteraction||me.intersections.length>0&&(me.intersections[0].object===me.eventObject||me.intersections.length>1&&me.intersections[1].object===me.eventObject)&&(A(Te=>{Te.hoveredHandle=Pe,Te.selectedElementHeight=t.lz}),xe.isMoveHandle(Pe)?W.domElement.style.cursor="move":W.domElement.style.cursor="pointer")},[t==null?void 0:t.lz]),ye=m.useCallback(()=>{A(me=>{me.hoveredHandle=null}),W.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),oe=()=>e!==Zo&&(N!=null&&N.current)?xe.getObjectChildById(N.current,e):null;rA(({camera:me})=>{if(E.current&&L.current&&U.current&&B.current){const{rot:Pe}=xe.getWorldDataById(e),{x:Me,y:Te}=me.position,{x:De,y:Ue}=L.current.position,{x:Oe,y:Le}=M.getState().sunlightDirection;if(oe()){const We=L.current.localToWorld(new re),Ee=Math.atan2(Me-We.x,Te-We.y)+Pe;E.current.rotation.set(Vt,-Ee,0),B.current.rotation.set(-Vt,Ee,0),U.current.rotation.set(Vt,-Math.atan2(Oe,Le)-Pe,0)}else{const We=Math.atan2(Me-De,Te-Ue);E.current.rotation.set(Vt,-We,0),B.current.rotation.set(-Vt,We,0),U.current.rotation.set(Vt,-Math.atan2(Oe,Le),0)}}});const ge=Af*3;return h.jsx(h.Fragment,{children:p?h.jsx("group",{ref:L,name:"Tree Group "+n,userData:{aabb:!0},position:[o,i,r??0],children:h.jsxs("group",{position:[0,0,l/2],children:[h.jsx(pC,{ref:E,uuid:n,name:s,follow:!1,children:h.jsx(sa,{args:[a,l],children:h.jsx("meshToonMaterial",{map:le,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:U,name:s+" Shadow Billboard",follow:!1,children:h.jsx(sa,{args:[a,l],castShadow:T,children:h.jsx("meshBasicMaterial",{map:le,side:ji,alphaTest:.5,opacity:0})})}),Ez.isConic(s)?h.jsx(cu,{visible:d||w,name:s+" Model",userData:{simulation:!0},position:[0,0,s===fi.Spruce?0:l*.06],args:[a/2,l,8,8,!0],scale:[1,1,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}):h.jsx(ts,{visible:d||w,userData:{simulation:!q},name:s+" Model",args:[a/2,8,8,0,na,0,pe],scale:[1,l/a,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}),h.jsx(pC,{ref:B,name:"Interaction Billboard",visible:!1,position:[0,0,-l/2+.5],children:h.jsx(sa,{ref:F,renderOrder:3,name:s+" plane",args:[a/2,l/3],rotation:[w?Vt:0,0,0],onContextMenu:me=>{y(n,me,zo.ContextMenu),A(Pe=>{me.intersections.length>0&&me.intersections[0].object===F.current&&(Pe.contextMenuObjectType=z.Tree)})},onPointerDown:me=>{me.button!==2&&me.eventObject===me.intersections[0].eventObject&&(y(n,me,zo.Move),Ln.setState({treeRef:L}))},onPointerOver:me=>{me.intersections.length>0&&me.intersections[0].object===F.current&&k(!0)},onPointerOut:()=>{k(!1)}})}),H&&u&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-a/2,-l/2,0],[-a/2,l/2,0],[-a/2,l/2,0],[a/2,l/2,0],[a/2,-l/2,0],[a/2,l/2,0],[a/2,-l/2,0],[-a/2,-l/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(Ae=E.current)==null?void 0:Ae.rotation,color:l0}),H&&!u&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{position:new re(0,0,-l/2),args:[ge,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:me=>{me.button!==2&&me.eventObject===me.intersections[0].eventObject&&(y(n,me,zo.Move),Ln.setState({treeRef:L}))},onPointerEnter:me=>{ze(me,yo.Default)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yo.Default||S===yo.Default?nr:jx})}),!w&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:_,name:gt.Top,args:[ge,ge,ge],position:de,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Top)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Top||x===gt.Top?nr:pr})}),h.jsx(Ei,{ref:Y,name:gt.Left,args:[ge,ge,ge],position:Se,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Left)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Left||x===gt.Left?nr:pr})}),h.jsx(Ei,{ref:O,name:gt.Right,args:[ge,ge,ge],position:Ce,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Right)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Right||x===gt.Right?nr:pr})}),h.jsx(Ei,{ref:J,name:gt.Lower,args:[ge,ge,ge],position:ve,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Lower)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Lower||x===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:Z,name:gt.Upper,args:[ge,ge,ge],position:Ie,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Upper)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Upper||x===gt.Upper?nr:pr})})]})]}),(D||f)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,l/2+((t==null?void 0:t.labelHeight)??.4)]})]})}):null})});function Gqe(t){const e=t+"Geometry";return m.forwardRef(({args:n,children:o,...i},r)=>h.jsxs("mesh",{ref:r,...i,children:[h.jsx(e,{attach:"geometry",args:n}),o]}))}const nTe=Gqe("ParabolicCylinder"),oTe=Gqe("Paraboloid"),hZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,absorberTubeRadius:c=.05,latusRectum:u=2,tiltAngle:d,relativeAzimuth:f,moduleLength:p,poleHeight:g,poleRadius:A,drawSunBeam:w,rotation:b=[0,0,0],color:C="white",lineColor:P="black",lineWidth:v=.5,showLabel:T=!1,locked:y=!1,parentId:S}=t,x=M(dn),R=M(Ya),H=M(Xs),D=M(Jn),k=ht(cs),W=M(wf),N=Sn(i1),L=M(ss),E=M(Vn),U=M(Vc),F=M(mh),B=M(yh),_=M(M7),Y=Hs(e),{gl:{domElement:O}}=Xi(),[J,Z]=m.useState(!1),[ie,ee]=m.useState(null),[q,ae]=m.useState(1),[ne,se]=m.useState(null),le=m.useRef(null),te=m.useRef(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(null),de=m.useRef(null),Se=m.useRef(!1),Ce=Math.max(100,10*F),ve=16,Ie=_.z<=0,ze=Kt();let ye=n,oe=o,ge=i;const Ae=r/2,me=a/2,Pe=l/2,Me=g+Ae,Te=M(Ct=>{for(const At of Ct.elements)if(At.id===S)return At});if(S&&Te)switch(Te.type){case z.Foundation:if(ge=Me+Pe+Te.lz,xe.isZero(b[2]))ye=Te.cx+n*Te.lx,oe=Te.cy+o*Te.ly;else{const Ct=new re(n*Te.lx,o*Te.ly,0);Ct.applyAxisAngle(Po,b[2]),ye=Te.cx+Ct.x,oe=Te.cy+Ct.y}break}const De=Ae*Ae/u,Ue=.25*u,Oe=new re(-Ae,-me,Pe+De),Le=new re(-Ae,me,Pe+De),$e=new re(Ae,-me,Pe+De),We=new re(Ae,me,Pe+De);m.useEffect(()=>{if(t&&k){const Ct=N(t.id);Ct&&se(xe.fetchHeatmapTexture(Ct,W??5))}},[k,W]),m.useEffect(()=>{ae(Math.max(1,Math.round(a/p)))},[a,p]),m.useEffect(()=>{const Ct=()=>{Ln.getState().setEnableOrbitController(!0),Se.current=!1};return window.addEventListener("pointerup",Ct),()=>{window.removeEventListener("pointerup",Ct)}},[]);const Ee=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.ParabolicTroughElement",ze))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",ze)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",ze)+": ("+ye.toFixed(1)+", "+oe.toFixed(1)+", "+ge.toFixed(1)+") "+j.t("word.MeterAbbreviation",ze)),[t==null?void 0:t.label,t==null?void 0:t.locked,ye,oe,ge,ze]),Fe=m.useMemo(()=>new Qt(0,0,b[2],"ZXY"),[b]),Ge=(Ct,At)=>{Ct.intersections.length>0&&Ct.intersections[0].object===Ct.eventObject&&(ee(At),At===yo.Top?O.style.cursor="move":At===wi.Lower||At===wi.Upper||At===wi.Tilt?O.style.cursor="grab":O.style.cursor="pointer")},rt=()=>{ee(null),O.style.cursor="default"},Ve=m.useMemo(()=>zr(new Date(R),H),[R,H]),xt=m.useMemo(()=>{var Ct;return(Ct=E(S))==null?void 0:Ct.rotation[2]},[S]),dt=xt?Ve.clone().applyAxisAngle(Po,-xt):Ve,Qe=m.useMemo(()=>Ve.z>0?new Qt(0,Math.atan2(dt.x,dt.z),0,"ZXY"):new Qt(d,0,f,"ZXY"),[Ve,d,f,dt.x,dt.z]),ut=m.useMemo(()=>{if(Ve.z>0){const Ct=xt?Math.cos(xt):1,At=xt?Math.sin(xt):0;return-Ue*(Ve.x*At+Ve.y*Ct)/Math.hypot(Ve.x,Ve.z)}return 0},[Ve,xt,Ue]),ft=new re(0,ut,Ue).applyEuler(Qe),at=Ve.clone().multiplyScalar(Ce).applyEuler(new Qt(-Fe.x,0,-Fe.z)),ot=-(Me+l)/2,et=m.useMemo(()=>{const Ct=[],At=Math.cos(f)*p,Ft=Math.sin(f)*p,Ke=q/2-.5;for(let Je=0;Je{const Ct=[],At=a/q,Ft=-r/u,Ke=-2*Ft/ve;for(let Je=0;Je<=q;Je++){const ct=[];for(let Pt=0;Pt<=ve;Pt++){const Ne=Ft+Pt*Ke;ct.push(new re(u*Ne/2,-me+Je*At,u*Ne*Ne/4))}Ct.push({points:ct})}return Ct},[r,a,q,u]),nt=Math.max(1,(r+a)/16),yt=I9*nt*1.5,Tt=Af*nt*2,Rt=D.length<50&&_e.length<10,Wt=Rt?4:2;return h.jsxs("group",{name:"Parabolic Trough Group "+e,rotation:Fe,position:[ye,oe,ge+Pe],children:[h.jsxs("group",{rotation:Qe,children:[h.jsx(nTe,{receiveShadow:L,castShadow:L,uuid:e,ref:le,args:[u/2,r,a,ve,4],name:"Parabolic Trough Front Side",onPointerDown:Ct=>{Ct.button!==2&&U(e,Ct,zo.Select)},onContextMenu:Ct=>{U(e,Ct,zo.ContextMenu),x(At=>{Ct.intersections.length>0&&Ct.intersections[0].object===le.current&&(At.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:Ct=>{Ct.intersections.length>0&&Ct.intersections[0].object===le.current&&(Z(!0),O.style.cursor="move")},onPointerOut:()=>{Z(!1),O.style.cursor="default"},children:k&&ne?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:ne}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"})}),h.jsx(nTe,{receiveShadow:L,castShadow:L,uuid:e+" backside",ref:te,args:[u/2,r,a,ve,4],name:"Parabolic Trough Back Side",position:[0,0,-Pe/2],onPointerDown:Ct=>{Ct.button!==2&&U(e,Ct,zo.Select)},onContextMenu:Ct=>{U(e,Ct,zo.ContextMenu),x(At=>{Ct.intersections.length>0&&Ct.intersections[0].object===te.current&&(At.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:Ct=>{Ct.intersections.length>0&&Ct.intersections[0].object===te.current&&(Z(!0),O.style.cursor="move")},onPointerOut:()=>{Z(!1),O.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:"white"})}),_e&&_e.map((Ct,At)=>h.jsxs(be.Fragment,{children:[Rt&&h.jsx(Fn,{name:"Parabolic Trough Rim Lines",userData:{unintersectable:!0},points:Ct.points,castShadow:!1,receiveShadow:!1,lineWidth:v,color:P}),(At===0||At===_e.length-1||Rt)&&h.jsx(Fn,{name:"Parabolic Trough Focal Lines",userData:{unintersectable:!0},points:[Ct.points[ve/2].clone(),Ct.points[ve/2].clone().add(new re(0,0,Ue))],castShadow:!1,receiveShadow:!1,lineWidth:v,color:Ie?"dimgray":"white"})]},At)),Rt&&h.jsx(Fn,{name:"Parabolic Trough Outline 1",userData:{unintersectable:!0},points:[[-Ae,-me,De],[-Ae,me,De]],castShadow:!1,receiveShadow:!1,lineWidth:v,color:P}),Rt&&h.jsx(Fn,{name:"Parabolic Trough Outline 2",userData:{unintersectable:!0},points:[[Ae,-me,De],[Ae,me,De]],castShadow:!1,receiveShadow:!1,lineWidth:v,color:P}),h.jsx(wa,{name:"Parabolic Trough Absorber Tube",uuid:e,args:[c,c,a,Rt?6:2,1],position:[0,0,Ue],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(sa,{name:"Parabolic Trough Simulation Plane",uuid:e,args:[r,a],position:[0,0,De],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),Y&&y&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Ae,-me,De],[-Ae,me,De],[Ae,me,De],[Ae,-me,De],[-Ae,-me,De]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),Y&&!y&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:he,position:new re(0,0,0),args:[Tt,6,6],name:yo.Default,onPointerOver:Ct=>{Ge(Ct,yo.Top)},onPointerOut:()=>{rt()},onPointerDown:Ct=>{Ct.button!==2&&U(e,Ct,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:pe,position:[(Oe.x+$e.x)/2,Oe.y,Oe.z-De],args:[yt,yt,l*1.2],name:gt.Lower,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(At=>{const Ft=pe.current.localToWorld(new re(0,a,-Oe.z));At.resizeAnchor.copy(Ft)})},onPointerOver:Ct=>{Ge(Ct,gt.Lower)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Lower||B===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:fe,position:[(Le.x+We.x)/2,Le.y,Le.z-De],args:[yt,yt,l*1.2],name:gt.Upper,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(At=>{const Ft=fe.current.localToWorld(new re(0,-a,-Le.z));At.resizeAnchor.copy(Ft)})},onPointerOver:Ct=>{Ge(Ct,gt.Upper)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Upper||B===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:$,position:[Oe.x,(Oe.y+Le.y)/2,Oe.z],args:[yt,yt,l*1.2],name:gt.Left,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(At=>{const Ft=$.current.localToWorld(new re(r,0,-Oe.z));At.resizeAnchor.copy(Ft)})},onPointerOver:Ct=>{Ge(Ct,gt.Left)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Left||B===gt.Left?nr:pr})}),h.jsx(Ei,{ref:de,position:[$e.x,($e.y+We.y)/2,$e.z],args:[yt,yt,l*1.2],name:gt.Right,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(At=>{const Ft=de.current.localToWorld(new re(-r,0,-$e.z));At.resizeAnchor.copy(Ft)})},onPointerOver:Ct=>{Ge(Ct,gt.Right)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Right||B===gt.Right?nr:pr})})]})]})]}),Me>0&&et.map((Ct,At)=>At%5!==0&&!Rt?h.jsx(be.Fragment,{},At):h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+At,castShadow:!1,receiveShadow:!1,args:[A,A,Me+(Ct.z-ot)*2+l,Wt,1],position:Ct,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:C})},At)),w&&Ve.z>0&&h.jsx(Fn,{userData:{unintersectable:!0},points:[ft,new re(-.3*Ae,0,.09*De).applyEuler(Qe),at,new re(-.6*Ae,0,.36*De).applyEuler(Qe),ft,new re(-.9*Ae,0,.81*De).applyEuler(Qe),at,new re(0,0,0),ft,new re(.3*Ae,0,.09*De).applyEuler(Qe),at,new re(.6*Ae,0,.36*De).applyEuler(Qe),ft,new re(.9*Ae,0,.81*De).applyEuler(Qe),at],name:"Sun Beams",lineWidth:.25,color:"white"}),(J||T)&&!Y&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Ee,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(me*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),pZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,structureType:c=tf.CentralPole,receiverRadius:u=.25,receiverPoleRadius:d=.1,latusRectum:f=2,tiltAngle:p,relativeAzimuth:g,poleHeight:A,poleRadius:w=.2,drawSunBeam:b,rotation:C=[0,0,0],color:P="white",lineColor:v="black",lineWidth:T=.25,showLabel:y=!1,locked:S=!1,parentId:x}=t,R=M(dn),H=M(Ya),D=M(Xs),k=M(Jn),W=ht(cs),N=M(wf),L=Sn(i1),E=M(ss),U=M(Vn),F=M(Vc),B=M(mh),_=M(yh),Y=M(M7),O=Hs(e),{gl:{domElement:J}}=Xi(),[Z,ie]=m.useState(!1),[ee,q]=m.useState(null),[ae,ne]=m.useState(null),se=m.useRef(null),le=m.useRef(null),te=m.useRef(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(null),de=m.useRef(!1),Se=Math.max(100,10*B),Ce=32,ve=8,Ie=Y.z<=0;let ze=n,ye=o,oe=i;const ge=r/2,Ae=a/2,me=l/2,Pe=A+ge,Me=Kt(),Te=M(At=>{for(const Ft of At.elements)if(Ft.id===x)return Ft});if(x&&Te)switch(Te.type){case z.Foundation:if(oe=Pe+me+Te.lz,xe.isZero(C[2]))ze=Te.cx+n*Te.lx,ye=Te.cy+o*Te.ly;else{const At=new re(n*Te.lx,o*Te.ly,0);At.applyAxisAngle(Po,C[2]),ze=Te.cx+At.x,ye=Te.cy+At.y}break}const De=ge*ge/f,Ue=.25*f,Oe=new re(-ge,-Ae,me+De),Le=new re(-ge,Ae,me+De),$e=new re(ge,-Ae,me+De),We=new re(ge,Ae,me+De),Ee=Ab(gye),Fe=u+1;m.useEffect(()=>{if(t&&W){const At=L(t.id);At&&ne(xe.fetchHeatmapTexture(At,N??5))}},[W,N]),m.useEffect(()=>{const At=()=>{Ln.getState().setEnableOrbitController(!0),de.current=!1};return window.addEventListener("pointerup",At),()=>{window.removeEventListener("pointerup",At)}},[]);const Ge=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.ParabolicDishElement",Me))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",Me)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",Me)+": ("+ze.toFixed(1)+", "+ye.toFixed(1)+", "+oe.toFixed(1)+") "+j.t("word.MeterAbbreviation",Me)),[t==null?void 0:t.label,t==null?void 0:t.locked,Me,ze,ye,oe]),rt=m.useMemo(()=>new Qt(0,0,C[2],"ZXY"),[C]),Ve=(At,Ft)=>{At.intersections.length>0&&At.intersections[0].object===At.eventObject&&(q(Ft),Ft===yo.Top?J.style.cursor="move":Ft===wi.Lower||Ft===wi.Upper||Ft===wi.Tilt?J.style.cursor="grab":J.style.cursor="pointer")},xt=()=>{q(null),J.style.cursor="default"},dt=m.useMemo(()=>zr(new Date(H),D),[H,D]),Qe=m.useMemo(()=>{var At;return(At=U(x))==null?void 0:At.rotation[2]},[x]),ut=Qe?dt.clone().applyAxisAngle(Po,-Qe):dt,ft=m.useMemo(()=>{if(dt.z>0){const At=Math.hypot(ut.x,ut.y);return new Qt(Math.atan2(At,ut.z),0,Math.atan2(ut.y,ut.x)+Vt,"ZXY")}return new Qt(p,0,g,"ZXY")},[dt,p,g,ut.x,ut.y,ut.z]),at=-(Pe+l)/2,ot=k.length<50,et=m.useMemo(()=>{const At=[];if(ot){const Ft=[],Ke=[];let Je,ct,Pt;const Ne=.25*De;for(let lt=0;lt<=Ce;lt++)Je=na*lt/Ce,ct=Math.cos(Je),Pt=Math.sin(Je),Ft.push(new re(ge*ct,ge*Pt,De)),Ke.push(new re(ge*ct/2,ge*Pt/2,Ne));At.push({points:Ft}),At.push({points:Ke});for(let lt=0;lt<12;lt++){Je=na*lt/12,ct=Math.cos(Je),Pt=Math.sin(Je);const Ye=[];for(let st=0;st<=ve;st++){const je=st===0?0:st/ve*ge;Ye.push(new re(je*ct,je*Pt,je*je/f+.01))}At.push({points:Ye})}}return At},[ge,f,ot]),_e=m.useMemo(()=>{if(c===tf.CentralPoleWithTripod){const At=[];let Ft;for(let Ke=0;Ke<3;Ke++){Ft=na*Ke/3;const Je=[];Je.push(new re(ge*Math.cos(Ft),ge*Math.sin(Ft),De)),Je.push(new re(0,0,Ue)),At.push({points:Je})}return At}},[ge,f,c]),nt=m.useMemo(()=>{if(c===tf.Quadrupod){const At=[];let Ft;for(let Ke=0;Ke<4;Ke++){Ft=na*Ke/4;const Je=[];Je.push(new re(ge*Math.cos(Ft),ge*Math.sin(Ft),De)),Je.push(new re(0,0,Ue)),At.push({points:Je})}return At}},[ge,f,c]),yt=Math.max(1,(r+a)/16),Tt=I9*yt*1.5,Rt=Af*yt*3,Wt=dt.clone().multiplyScalar(Se),Ct=new re(0,0,Ue).applyEuler(ft);return h.jsxs("group",{name:"Parabolic Dish Group "+e,rotation:rt,position:[ze,ye,oe+me],children:[h.jsxs("group",{rotation:ft,children:[h.jsx(oTe,{receiveShadow:E,castShadow:E,uuid:e,ref:se,args:[f/2,ge,Ce,ve],name:"Parabolic Dish Front Side",onPointerDown:At=>{At.button!==2&&F(e,At,zo.Select)},onContextMenu:At=>{F(e,At,zo.ContextMenu),R(Ft=>{At.intersections.length>0&&At.intersections[0].object===se.current&&(Ft.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:At=>{At.intersections.length>0&&At.intersections[0].object===se.current&&(ie(!0),J.style.cursor="move")},onPointerOut:()=>{ie(!1),J.style.cursor="default"},children:W&&ae?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:ae}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"})}),h.jsx(oTe,{receiveShadow:E,castShadow:E,uuid:e+" backside",ref:le,args:[f/2,ge,Ce,ve],name:"Parabolic Dish Back Side",position:[0,0,-me/4],onPointerDown:At=>{At.button!==2&&F(e,At,zo.Select)},onContextMenu:At=>{F(e,At,zo.ContextMenu),R(Ft=>{At.intersections.length>0&&At.intersections[0].object===le.current&&(Ft.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:At=>{At.intersections.length>0&&At.intersections[0].object===le.current&&(ie(!0),J.style.cursor="move")},onPointerOut:()=>{ie(!1),J.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:P})}),et&&et.length>0&&et.map((At,Ft)=>h.jsx(be.Fragment,{children:h.jsx(Fn,{name:"Parabolic Dish Wireframe",userData:{unintersectable:!0},points:At.points,castShadow:!1,receiveShadow:!1,lineWidth:T,color:v})},Ft)),h.jsx(wa,{name:"Parabolic Dish Receiver",uuid:e,args:[u,u,.5,ot?12:4,1],rotation:[Vt,0,0],position:[0,0,Ue-.1],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:P})}),dt.z>0&&h.jsx("mesh",{position:[0,0,Ue-.1],children:h.jsx("sprite",{scale:[Fe,Fe,Fe],children:h.jsx("spriteMaterial",{map:Ee,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),(c===tf.CentralPole||c===tf.CentralPoleWithTripod)&&h.jsx(wa,{name:"Parabolic Dish Receiver Pole",uuid:e,args:[d,d,Ue,ot?6:2,1],rotation:[Vt,0,0],position:[0,0,Ue/2],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:P})}),c===tf.CentralPoleWithTripod&&_e&&_e.map((At,Ft)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Tripod Lines",userData:{unintersectable:!0},points:At.points,castShadow:!1,receiveShadow:!1,lineWidth:1,color:Ie?"dimgray":P}),h.jsx(ts,{position:new re(At.points[0].x,At.points[0].y,At.points[0].z),args:[d/2,4,4],name:"Parabolic Dish Tripod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:P})})]},Ft)),c===tf.Quadrupod&&nt&&nt.map((At,Ft)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Quadrupod Lines",userData:{unintersectable:!0},points:At.points,castShadow:!1,receiveShadow:!1,lineWidth:2,color:Ie?"dimgray":P}),h.jsx(ts,{position:new re(At.points[0].x,At.points[0].y,At.points[0].z),args:[d/2,4,4],name:"Parabolic Dish Quadrupod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:P})})]},Ft)),h.jsx(KC,{name:"Parabolic Dish Simulation Circle",uuid:e,args:[r/2,Ce],position:[0,0,De],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),O&&S&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ge,-Ae,De],[-ge,Ae,De],[ge,Ae,De],[ge,-Ae,De],[-ge,-Ae,De]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),O&&!S&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:te,position:new re(0,0,0),args:[Rt,6,6],name:yo.Default,onPointerOver:At=>{Ve(At,yo.Top)},onPointerOut:()=>{xt()},onPointerDown:At=>{At.button!==2&&F(e,At,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:he,position:[(Oe.x+$e.x)/2,Oe.y,Oe.z],args:[Tt,Tt,l*1.2],name:gt.Lower,onPointerDown:At=>{F(e,At,zo.Resize),fe.current&&R(Ft=>{const Ke=he.current.localToWorld(new re(0,a,-Oe.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ve(At,gt.Lower)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Lower||_===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:pe,position:[(Le.x+We.x)/2,Le.y,Le.z],args:[Tt,Tt,l*1.2],name:gt.Upper,onPointerDown:At=>{F(e,At,zo.Resize),fe.current&&R(Ft=>{const Ke=pe.current.localToWorld(new re(0,-a,-Le.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ve(At,gt.Upper)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Upper||_===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:fe,position:[Oe.x,(Oe.y+Le.y)/2,Oe.z],args:[Tt,Tt,l*1.2],name:gt.Left,onPointerDown:At=>{F(e,At,zo.Resize),fe.current&&R(Ft=>{const Ke=fe.current.localToWorld(new re(r,0,-Oe.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ve(At,gt.Left)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Left||_===gt.Left?nr:pr})}),h.jsx(Ei,{ref:$,position:[$e.x,($e.y+We.y)/2,$e.z],args:[Tt,Tt,l*1.2],name:gt.Right,onPointerDown:At=>{F(e,At,zo.Resize),fe.current&&R(Ft=>{const Ke=$.current.localToWorld(new re(-r,0,-$e.z));Ft.resizeAnchor.copy(Ke)})},onPointerOver:At=>{Ve(At,gt.Right)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Right||_===gt.Right?nr:pr})})]})]})]}),Pe>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[w,w,Pe+l,ot?4:2,1],position:[0,0,at],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:P})}),b&&dt.z>0&&h.jsx(Fn,{rotation:[-rt.x,0,-rt.z],userData:{unintersectable:!0},points:[Ct,new re(-.3*ge,0,.09*De).applyEuler(ft),Wt,new re(-.6*ge,0,.36*De).applyEuler(ft),Ct,new re(-.9*ge,0,.81*De).applyEuler(ft),Wt,Ct,new re(.3*ge,0,.09*De).applyEuler(ft),Wt,new re(.6*ge,0,.36*De).applyEuler(ft),Ct,new re(.9*ge,0,.81*De).applyEuler(ft),Wt],name:"Sun Beams",lineWidth:.25,color:"white"}),(Z||y)&&!O&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Ge,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(Ae*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),gZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,tiltAngle:c,relativeAzimuth:u,moduleLength:d,poleHeight:f,poleRadius:p=.1,drawSunBeam:g,rotation:A=[0,0,0],color:w="white",lineColor:b="black",lineWidth:C=.5,showLabel:P=!1,locked:v=!1,parentId:T,receiverId:y}=t,S=M(dn),x=M(Sc),R=M(Ya),H=M(Xs),D=M(Jn),k=ht(cs),W=M(wf),N=Sn(i1),L=M(ss),E=M(Vn),U=M(Vc),F=M(mh),B=M(yh),_=Hs(e),{gl:{domElement:Y}}=Xi(),[O,J]=m.useState(!1),[Z,ie]=m.useState(null),[ee,q]=m.useState(1),[ae,ne]=m.useState(null),se=m.useRef(null),le=m.useRef(null),te=m.useRef(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(!1),de=Math.max(100,10*F),Se=m.useMemo(()=>({lng:x}),[x]);let Ce=n,ve=o,Ie=i;const ze=r/2,ye=a/2,oe=l/2,ge=f+ze,Ae=M(at=>{for(const ot of at.elements)if(ot.id===T)return ot});if(Ae)switch(Ae.type){case z.Foundation:if(Ie=ge+oe+Ae.lz,xe.isZero(A[2]))Ce=Ae.cx+n*Ae.lx,ve=Ae.cy+o*Ae.ly;else{const at=new re(n*Ae.lx,o*Ae.ly,0);at.applyAxisAngle(Po,A[2]),Ce=Ae.cx+at.x,ve=Ae.cy+at.y}break}const me=new re(-ze,-ye,oe),Pe=new re(-ze,ye,oe),Me=new re(ze,-ye,oe),Te=new re(ze,ye,oe);m.useEffect(()=>{if(t&&k){const at=N(t.id);at&&ne(xe.fetchHeatmapTexture(at,W??5))}},[k,W]),m.useEffect(()=>{q(Math.max(1,Math.round(a/d)))},[a,d]),m.useEffect(()=>{const at=()=>{Ln.getState().setEnableOrbitController(!0),$.current=!1};return window.addEventListener("pointerup",at),()=>{window.removeEventListener("pointerup",at)}},[]);const De=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.FresnelReflectorElement",Se))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",Se)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",Se)+": ("+Ce.toFixed(1)+", "+ve.toFixed(1)+", "+Ie.toFixed(1)+") "+j.t("word.MeterAbbreviation",Se)),[t==null?void 0:t.label,t==null?void 0:t.locked,Se,Ce,ve,Ie]),Ue=m.useMemo(()=>new Qt(0,0,A[2],"ZXY"),[A]),Oe=(at,ot)=>{at.intersections.length>0&&at.intersections[0].object===at.eventObject&&(ie(ot),ot===yo.Top?Y.style.cursor="move":ot===wi.Lower||ot===wi.Upper||ot===wi.Tilt?Y.style.cursor="grab":Y.style.cursor="pointer")},Le=()=>{ie(null),Y.style.cursor="default"},$e=m.useMemo(()=>zr(new Date(R),H),[R,H]),We=Ae==null?void 0:Ae.rotation[2],Ee=y&&y!==T?E(y):null,Fe=m.useMemo(()=>{if(Ee){if(Ee.type===z.Foundation){const at=Ee;if(at.solarStructure===zn.FocusPipe&&at.solarAbsorberPipe)return new re((at.cx-Ce)*(We?Math.cos(We):1),(at.cy-ve)*(We?Math.sin(We):0),at.cz-Ie+at.lz/2+(at.solarAbsorberPipe.absorberHeight??10))}}else if(Ae&&Ae.type===z.Foundation){const at=Ae;if(at.solarStructure===zn.FocusPipe&&at.solarAbsorberPipe)return new re((at.cx-Ce)*(We?Math.cos(We):1),(at.cy-ve)*(We?Math.sin(We):0),at.cz-Ie+at.lz/2+(at.solarAbsorberPipe.absorberHeight??10))}return null},[Ee,Ae,Ce,ve,Ie,We]),Ge=m.useRef(new re),rt=m.useMemo(()=>{if(Fe&&$e.z>0){const at=We?new re(Math.sin(We),Math.cos(We),0):new re(0,1,0);Ge.current.set(Fe.x,Fe.y,Fe.z);const ot=$e.z{const at=[],ot=Math.cos(u)*d,et=Math.sin(u)*d,_e=ee/2-.5;for(let nt=0;nt{const at=[],ot=a/ee;for(let et=0;et<=ee;et++){const _e=[];_e.push(new re(-ze,-ye+et*ot,oe)),_e.push(new re(ze,-ye+et*ot,oe)),at.push({points:_e})}return at},[r,a,oe,ee]),Qe=Math.max(1,Math.min(r*5,a*5,(r+a)/16)),ut=I9*Qe*1.5,ft=Af*Qe*2;return h.jsxs("group",{name:"Fresnel Reflector Group "+e,rotation:Ue,position:[Ce,ve,Ie+oe],children:[h.jsxs("group",{rotation:rt,children:[h.jsxs(Ei,{receiveShadow:L,castShadow:L,uuid:e,ref:se,args:[r,a,l],name:"Fresnel Reflector",onPointerDown:at=>{at.button!==2&&U(e,at,zo.Select)},onContextMenu:at=>{U(e,at,zo.ContextMenu),S(ot=>{at.intersections.length>0&&at.intersections[0].object===se.current&&(ot.contextMenuObjectType=z.FresnelReflector)})},onPointerOver:at=>{at.intersections.length>0&&at.intersections[0].object===se.current&&(J(!0),Y.style.cursor="move")},onPointerOut:()=>{J(!1),Y.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:w}),h.jsx("meshStandardMaterial",{attach:"material-1",color:w}),h.jsx("meshStandardMaterial",{attach:"material-2",color:w}),h.jsx("meshStandardMaterial",{attach:"material-3",color:w}),k&&ae?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:ae}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:w})]}),dt&&dt.map((at,ot)=>h.jsx(Fn,{name:"Fresnel Reflector Module Line",userData:{unintersectable:!0},points:at.points,castShadow:!1,receiveShadow:!1,lineWidth:C,color:b},ot)),h.jsx(Fn,{name:"Fresnel Reflector Outline 1",userData:{unintersectable:!0},points:[[-ze,-ye,oe],[-ze,ye,oe]],castShadow:!1,receiveShadow:!1,lineWidth:C,color:b}),h.jsx(Fn,{name:"Fresnel Reflector Outline 2",userData:{unintersectable:!0},points:[[ze,-ye,oe],[ze,ye,oe]],castShadow:!1,receiveShadow:!1,lineWidth:C,color:b}),h.jsx(sa,{name:"Fresnel Reflector Simulation Plane",uuid:e,args:[r,a],position:[0,0,oe],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),_&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ze,-ye,oe],[-ze,ye,oe],[ze,ye,oe],[ze,-ye,oe],[-ze,-ye,oe]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),_&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:le,position:new re(0,0,0),args:[ft,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:at=>{Oe(at,yo.Top)},onPointerOut:()=>{Le()},onPointerDown:at=>{at.button!==2&&U(e,at,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:te,position:[(me.x+Me.x)/2,me.y,me.z-oe],args:[ut,ut,l*1.2],name:gt.Lower,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=te.current.localToWorld(new re(0,a,-me.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Oe(at,gt.Lower)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Lower||B===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:he,position:[(Pe.x+Te.x)/2,Pe.y,Pe.z-oe],args:[ut,ut,l*1.2],name:gt.Upper,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=he.current.localToWorld(new re(0,-a,-Pe.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Oe(at,gt.Upper)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Upper||B===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:pe,position:[me.x,(me.y+Pe.y)/2,me.z],args:[ut,ut,l*1.2],name:gt.Left,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=pe.current.localToWorld(new re(r,0,-me.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Oe(at,gt.Left)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Left||B===gt.Left?nr:pr})}),h.jsx(Ei,{ref:fe,position:[Me.x,(Me.y+Te.y)/2,Me.z],args:[ut,ut,l*1.2],name:gt.Right,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=fe.current.localToWorld(new re(-r,0,-Me.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Oe(at,gt.Right)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Right||B===gt.Right?nr:pr})})]})]})]}),ge>0&&xt.map((at,ot)=>{const et=D.length<100?4:2;return h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+ot,castShadow:!1,receiveShadow:!1,args:[p,p,ge+(at.z-Ve)*2+l,et,1],position:at,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})},ot)}),g&&$e.z>0&&h.jsx(Fn,{rotation:[-Ue.x,0,-Ue.z],userData:{unintersectable:!0},points:Fe?[Ge.current,new re(0,0,oe),$e.clone().multiplyScalar(de)]:[new re(0,0,oe),$e.clone().multiplyScalar(de)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(O||P)&&!_&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:De,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(ye*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),mZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,tiltAngle:c,relativeAzimuth:u,poleHeight:d,poleRadius:f=Math.min(r,a)/20,drawSunBeam:p,rotation:g=[0,0,0],color:A="white",lineColor:w="black",lineWidth:b=.5,showLabel:C=!1,locked:P=!1,parentId:v,towerId:T}=t,y=M(dn),S=M(Ya),x=M(Xs),R=M(Jn),H=ht(cs),D=M(wf),k=Sn(i1),W=M(ss),N=M(Vn),L=M(Vc),E=M(mh),U=Hs(e),{gl:{domElement:F}}=Xi(),[B,_]=m.useState(!1),[Y,O]=m.useState(null),J=m.useRef(null),Z=m.useRef(null),ie=m.useRef(!1),ee=Math.max(100,10*E),q=Kt();let ae=n,ne=o,se=i;const le=r/2,te=a/2,he=l/2,pe=d+Math.max(le,te),fe=M(Pe=>{for(const Me of Pe.elements)if(Me.id===v)return Me});if(fe)switch(fe.type){case z.Foundation:if(se=pe+he+fe.lz,xe.isZero(g[2]))ae=fe.cx+n*fe.lx,ne=fe.cy+o*fe.ly;else{const Pe=new re(n*fe.lx,o*fe.ly,0);Pe.applyAxisAngle(Po,g[2]),ae=fe.cx+Pe.x,ne=fe.cy+Pe.y}break}m.useEffect(()=>{if(t&&H){const Pe=k(t.id);Pe&&O(xe.fetchHeatmapTexture(Pe,D??5))}},[H,D]),m.useEffect(()=>{const Pe=()=>{Ln.getState().setEnableOrbitController(!0),ie.current=!1};return window.addEventListener("pointerup",Pe),()=>{window.removeEventListener("pointerup",Pe)}},[]);const $=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.HeliostatElement",q))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",q)+")":"")+(t!=null&&t.label?"":` -`+j.t("word.Coordinates",q)+": ("+ae.toFixed(1)+", "+ne.toFixed(1)+", "+se.toFixed(1)+") "+j.t("word.MeterAbbreviation",q)),[t==null?void 0:t.label,t==null?void 0:t.locked,q,ae,ne,se]),de=m.useMemo(()=>new Qt(0,0,g[2],"ZXY"),[g]),Se=(Pe,Me)=>{Pe.intersections.length>0&&Pe.intersections[0].object===Pe.eventObject&&(F.style.cursor=Me===yo.Default?"move":"pointer")},Ce=()=>{F.style.cursor="default"},ve=m.useMemo(()=>zr(new Date(S),x),[S,x]),Ie=fe==null?void 0:fe.rotation[2],ze=T&&T!==v?N(T):null,ye=m.useMemo(()=>{if(ze){if(ze.type===z.Foundation){const Pe=ze;if(Pe.solarStructure===zn.FocusTower&&Pe.solarPowerTower)return new re(Pe.cx-ae,Pe.cy-ne,Pe.cz-se+Pe.lz/2+(Pe.solarPowerTower.towerHeight??20))}}else if(fe&&fe.type===z.Foundation){const Pe=fe;if(Pe.solarStructure===zn.FocusTower&&Pe.solarPowerTower)return new re(Pe.cx-ae,Pe.cy-ne,Pe.cz-se+Pe.lz/2+(Pe.solarPowerTower.towerHeight??20))}return null},[fe,ae,ne,se,ze]),oe=m.useMemo(()=>{if(ye&&ve.z>0){let Me=ye.clone().normalize().add(ve).normalize();xe.isSame(Me,Po)&&(Me=new re(-.001,0,1).normalize()),Ie&&Me.applyAxisAngle(Po,-Ie);const Te=Math.hypot(Me.x,Me.y);return new Qt(Math.atan2(Te,Me.z),0,Math.atan2(Me.y,Me.x)+Vt,"ZXY")}return new Qt(c,0,u,"ZXY")},[ye,ve,c,u,Ie]),ge=-(pe+l)/2,Ae=Math.max(1,(r+a)/8),me=Af*Ae*4;return h.jsxs("group",{name:"Heliostat Group "+e,rotation:de,position:[ae,ne,se+he],children:[h.jsxs("group",{rotation:oe,children:[h.jsxs(Ei,{receiveShadow:W,castShadow:W,uuid:e,ref:J,args:[r,a,l],name:"Heliostat",onPointerDown:Pe=>{Pe.button!==2&&L(e,Pe,zo.Select)},onContextMenu:Pe=>{L(e,Pe,zo.ContextMenu),y(Me=>{Pe.intersections.length>0&&Pe.intersections[0].object===J.current&&(Me.contextMenuObjectType=z.Heliostat)})},onPointerOver:Pe=>{Pe.intersections.length>0&&Pe.intersections[0].object===J.current&&(_(!0),F.style.cursor="move")},onPointerOut:()=>{_(!1),F.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:A}),h.jsx("meshStandardMaterial",{attach:"material-1",color:A}),h.jsx("meshStandardMaterial",{attach:"material-2",color:A}),h.jsx("meshStandardMaterial",{attach:"material-3",color:A}),H&&Y?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:Y}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:A})]}),h.jsx(sa,{name:"Heliostat Simulation Plane",uuid:e,args:[r,a],position:[0,0,he],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),U&&P&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-le,-te,he],[-le,te,he],[le,te,he],[le,-te,he],[-le,-te,he]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),U&&!P&&h.jsx(ts,{ref:Z,position:new re(0,0,0),args:[me,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:Pe=>{Se(Pe,yo.Default)},onPointerOut:()=>{Ce()},onPointerDown:Pe=>{Pe.button!==2&&L(e,Pe,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})]}),pe>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[f,f,pe+l,R.length<100?4:2,1],position:new re(0,0,ge),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:A})}),p&&ve.z>0&&h.jsx(Fn,{rotation:[-de.x,0,-de.z],userData:{unintersectable:!0},points:ye?[ye,new re(0,0,he),ve.clone().multiplyScalar(ee)]:[new re(0,0,he),ve.clone().multiplyScalar(ee)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(B||C)&&!U&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:$,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(te*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),yZt=be.memo(t=>{var ne;const{parentId:e,id:n,cx:o,cy:i,cz:r,name:a=Qn.WhiteFlower,flip:l=!1,locked:s=!1}=t;let c=!1;M(se=>{if(e===Zo)c=!0;else for(const le of se.elements)if(le.id===e){c=!0;break}});const u=M(hp);m.useEffect(()=>{c||u(n,!1)},[c]);const d=M(dn),f=M(Sc),p=M(hu)??!1,g=M(Ya),A=M(Xs),w=M(V1e)??cq,b=M(G1e)??uq,C=M(Vc),P=M(Cb),v=M(ty),T=ht(cs),[y,S]=m.useState(!1),{gl:x}=Xi(),R=Hs(n),H=Ln(se=>se.contentRef),D=m.useRef(null),k=m.useRef(null),W=m.useRef(null),N=m.useRef(null),L=m.useMemo(()=>({lng:f}),[f]),E=m.useMemo(()=>{const se=xe.dayOfYear(new Date(g));return A>0?seb:se>=w&&se<=b},[g,w,b,A]),U=m.useRef(!1),F=M(AH);F!==U.current&&(U.current=F,H!=null&&H.current&&D.current&&H.current.add(D.current)),m.useEffect(()=>{if(e!==Zo){const se=ie();se&&D.current&&se.add(D.current)}},[F,e]),m.useEffect(()=>{const se=ie();se&&D.current&&se.add(D.current)},[H]);const B=m.useMemo(()=>new nf().load(cw.fetchTextureImage(a,E),se=>{l&&(se.wrapS=Ss,se.repeat.x=-1),Y(se)}),[a,E,l]),[_,Y]=m.useState(B),O=m.useMemo(()=>cw.fetchLabel(a,L)+(s?" ("+j.t("shared.ElementLocked",L)+")":"")+` -`+j.t("word.Coordinates",L)+": ("+o.toFixed(1)+", "+i.toFixed(1)+") "+j.t("word.MeterAbbreviation",L),[a,o,i,s,L]),J=m.useCallback((se,le)=>{ht.getState().duringCameraInteraction||se.intersections.length>0&&(se.intersections[0].object===se.eventObject||se.intersections.length>1&&se.intersections[1].object===se.eventObject)&&(d(he=>{he.hoveredHandle=le,he.selectedElementHeight=t.lz}),xe.isMoveHandle(le)?x.domElement.style.cursor="move":x.domElement.style.cursor="pointer")},[t.lz]),Z=m.useCallback(()=>{d(se=>{se.hoveredHandle=null}),x.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),ie=()=>e!==Zo&&(H!=null&&H.current)?xe.getObjectChildById(H.current,e):null,ee=m.useMemo(()=>cw.fetchSpread(a),[a]),q=m.useMemo(()=>cw.fetchHeight(a),[a]);rA(({camera:se})=>{if(D.current){const{rot:le}=xe.getWorldDataById(e);if(p)k.current&&N.current&&(k.current.rotation.set(Vt,0,0),N.current.rotation.set(0,0,0)),D.current.rotation.set(-Vt,0,0);else{if(k.current&&N.current){const{x:te,y:he}=se.position,{x:pe,y:fe}=D.current.position;if(ie()){const de=D.current.localToWorld(new re),Se=Math.atan2(te-de.x,he-de.y)+le;k.current.rotation.set(Vt,-Se,0),N.current.rotation.set(-Vt,Se,0)}else{const de=Math.atan2(te-pe,he-fe);k.current.rotation.set(Vt,-de,0),N.current.rotation.set(-Vt,de,0)}}D.current.rotation.set(0,0,0)}}});const ae=Af*3;return h.jsx(h.Fragment,{children:c?h.jsx("group",{ref:D,name:"Flower Group "+n,userData:{aabb:!0},position:[o,i,(r??0)+(p?.25:0)],children:h.jsxs("group",{position:[0,0,q/2],children:[h.jsx(pC,{ref:k,uuid:n,name:a,follow:!1,rotation:[Vt,0,0],children:h.jsx(sa,{args:[ee,q],receiveShadow:!T,children:h.jsx("meshToonMaterial",{map:_,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:N,name:"Interaction Billboard",visible:!1,position:[0,0,-q/2],children:h.jsx(sa,{ref:W,renderOrder:3,name:a+" plane",args:[ee/2,q*2],rotation:[p?Vt:0,0,0],onContextMenu:se=>{C(n,se,zo.ContextMenu),d(le=>{se.intersections.length>0&&se.intersections[0].object===W.current&&(le.contextMenuObjectType=z.Flower)})},onPointerDown:se=>{se.button!==2&&se.eventObject===se.intersections[0].eventObject&&(C(n,se,zo.Move),Ln.setState({flowerRef:D}))},onPointerOver:se=>{se.intersections.length>0&&se.intersections[0].object===W.current&&S(!0)},onPointerOut:()=>{S(!1)}})}),R&&s&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ee/2,-q/2,0],[-ee/2,q/2,0],[-ee/2,q/2,0],[ee/2,q/2,0],[ee/2,-q/2,0],[ee/2,q/2,0],[ee/2,-q/2,0],[-ee/2,-q/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(ne=k.current)==null?void 0:ne.rotation,color:l0}),R&&!s&&h.jsx(h.Fragment,{children:h.jsx(ts,{position:new re(0,0,-q/2),args:[ae,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:se=>{se.button!==2&&se.eventObject===se.intersections[0].eventObject&&(C(n,se,zo.Move),Ln.setState({flowerRef:D}))},onPointerEnter:se=>{J(se,yo.Default)},onPointerLeave:Z,children:h.jsx("meshBasicMaterial",{attach:"material",color:v===yo.Default||P===yo.Default?nr:jx})})}),y&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:O,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,q/2+((t==null?void 0:t.labelHeight)??.4)]})]})}):null})});var Bue=function(t,e){return Bue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},Bue(t,e)};function Ti(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Bue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var N0=function(){return N0=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function tp(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var o=n.call(t),i,r=[],a;try{for(;(e===void 0||e-- >0)&&!(i=o.next()).done;)r.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return r}function pl(t,e,n){if(n||arguments.length===2)for(var o=0,i=e.length,r;o0?yd(YH,--qm):0,hR--,ru===10&&(hR=1,lQ--),ru}function I2(){return ru=qm2||Yue(ru)>3?"":" "}function RZt(t,e){for(;--e&&I2()&&!(ru<48||ru>102||ru>57&&ru<65||ru>70&&ru<97););return cQ(t,__()+(e<6&&yx()==32&&I2()==32))}function Oue(t){for(;I2();)switch(ru){case t:return qm;case 34:case 39:t!==34&&t!==39&&Oue(ru);break;case 40:t===41&&Oue(t);break;case 92:I2();break}return qm}function HZt(t,e){for(;I2()&&t+ru!==57;)if(t+ru===84&&yx()===47)break;return"/*"+cQ(e,qm-1)+"*"+bye(t===47?t:I2())}function MZt(t){for(;!Yue(yx());)I2();return cQ(t,qm)}function IZt(t){return PZt(V_("",null,null,null,[""],t=TZt(t),0,[0],t))}function V_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,A=1,w=1,b=1,C=0,P="",v=i,T=r,y=o,S=P;w;)switch(g=C,C=I2()){case 40:if(g!=108&&yd(S,d-1)==58){O_(S+=Pa(Hre(C),"&","&\f"),"&\f",Kqe(c?l[c-1]:0))!=-1&&(b=-1);break}case 34:case 39:case 91:S+=Hre(C);break;case 9:case 10:case 13:case 32:S+=CZt(g);break;case 92:S+=RZt(__()-1,7);continue;case 47:switch(yx()){case 42:case 47:PD(zZt(HZt(I2(),__()),e,n,s),s);break;default:S+="/"}break;case 123*A:l[c++]=e9(S)*b;case 125*A:case 59:case 0:switch(C){case 0:case 125:w=0;case 59+u:b==-1&&(S=Pa(S,/\f/g,"")),p>0&&e9(S)-d&&PD(p>32?aTe(S+";",o,n,d-1,s):aTe(Pa(S," ","")+";",o,n,d-2,s),s);break;case 59:S+=";";default:if(PD(y=rTe(S,e,n,c,u,i,l,P,v=[],T=[],d,r),r),C===123)if(u===0)V_(S,e,y,y,v,r,d,l,T);else switch(f===99&&yd(S,3)===110?100:f){case 100:case 108:case 109:case 115:V_(t,y,y,o&&PD(rTe(t,y,y,0,0,i,l,P,i,v=[],d,T),T),i,T,d,l,o?v:T);break;default:V_(S,y,y,y,[""],T,0,l,T)}}c=u=p=0,A=b=1,P=S="",d=a;break;case 58:d=1+e9(S),p=g;default:if(A<1){if(C==123)--A;else if(C==125&&A++==0&&SZt()==125)continue}switch(S+=bye(C),C*A){case 38:b=u>0?1:(S+="\f",-1);break;case 44:l[c++]=(e9(S)-1)*b,b=1;break;case 64:yx()===45&&(S+=Hre(I2())),f=yx(),u=d=e9(P=S+=MZt(__())),C++;break;case 45:g===45&&e9(S)==2&&(A=0)}}return r}function rTe(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=$qe(p),A=0,w=0,b=0;A0?p[C]+" "+P:Pa(P,/&\f/g,p[C])))&&(s[b++]=v);return sQ(t,e,n,i===0?aQ:l,s,c,u,d)}function zZt(t,e,n,o){return sQ(t,e,n,Xqe,bye(bZt()),fR(t,2,-2),0,o)}function aTe(t,e,n,o,i){return sQ(t,e,n,xye,fR(t,0,o),fR(t,o+1,-1),o,i)}function Zqe(t,e,n){switch(vZt(t,e)){case 5103:return Jl+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Jl+t+t;case 4789:return AE+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Jl+t+AE+t+ic+t+t;case 5936:switch(yd(t,e+11)){case 114:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 6828:case 4268:case 2903:return Jl+t+ic+t+t;case 6165:return Jl+t+ic+"flex-"+t+t;case 5187:return Jl+t+Pa(t,/(\w+).+(:[^]+)/,Jl+"box-$1$2"+ic+"flex-$1$2")+t;case 5443:return Jl+t+ic+"flex-item-"+Pa(t,/flex-|-self/g,"")+(r6(t,/flex-|baseline/)?"":ic+"grid-row-"+Pa(t,/flex-|-self/g,""))+t;case 4675:return Jl+t+ic+"flex-line-pack"+Pa(t,/align-content|flex-|-self/g,"")+t;case 5548:return Jl+t+ic+Pa(t,"shrink","negative")+t;case 5292:return Jl+t+ic+Pa(t,"basis","preferred-size")+t;case 6060:return Jl+"box-"+Pa(t,"-grow","")+Jl+t+ic+Pa(t,"grow","positive")+t;case 4554:return Jl+Pa(t,/([^-])(transform)/g,"$1"+Jl+"$2")+t;case 6187:return Pa(Pa(Pa(t,/(zoom-|grab)/,Jl+"$1"),/(image-set)/,Jl+"$1"),t,"")+t;case 5495:case 3959:return Pa(t,/(image-set\([^]*)/,Jl+"$1$`$1");case 4968:return Pa(Pa(t,/(.+:)(flex-)?(.*)/,Jl+"box-pack:$3"+ic+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Jl+t+t;case 4200:if(!r6(t,/flex-|baseline/))return ic+"grid-column-align"+fR(t,e)+t;break;case 2592:case 3360:return ic+Pa(t,"template-","")+t;case 4384:case 3616:return n&&n.some(function(o,i){return e=i,r6(o.props,/grid-\w+-end/)})?~O_(t+(n=n[e].value),"span",0)?t:ic+Pa(t,"-start","")+t+ic+"grid-row-span:"+(~O_(n,"span",0)?r6(n,/\d+/):+r6(n,/\d+/)-+r6(t,/\d+/))+";":ic+Pa(t,"-start","")+t;case 4896:case 4128:return n&&n.some(function(o){return r6(o.props,/grid-\w+-start/)})?t:ic+Pa(Pa(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return Pa(t,/(.+)-inline(.+)/,Jl+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(e9(t)-1-e>6)switch(yd(t,e+1)){case 109:if(yd(t,e+4)!==45)break;case 102:return Pa(t,/(.+:)(.+)-([^]+)/,"$1"+Jl+"$2-$3$1"+AE+(yd(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~O_(t,"stretch",0)?Zqe(Pa(t,"stretch","fill-available"),e,n)+t:t}break;case 5152:case 5920:return Pa(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(o,i,r,a,l,s,c){return ic+i+":"+r+c+(a?ic+i+"-span:"+(l?s:+s-+r)+c:"")+t});case 4949:if(yd(t,e+6)===121)return Pa(t,":",":"+Jl)+t;break;case 6444:switch(yd(t,yd(t,14)===45?18:11)){case 120:return Pa(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Jl+(yd(t,14)===45?"inline-":"")+"box$3$1"+Jl+"$2$3$1"+ic+"$2box$3")+t;case 100:return Pa(t,":",":"+ic)+t}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Pa(t,"scroll-","scroll-snap-")+t}return t}function JG(t,e){for(var n="",o=0;o-1&&!t.return)switch(t.type){case xye:t.return=Zqe(t.value,t.length,n);return;case Jqe:return JG([k4(t,{value:Pa(t.value,"@","@"+Jl)})],o);case aQ:if(t.length)return xZt(n=t.props,function(i){switch(r6(i,o=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":LT(k4(t,{props:[Pa(i,/:(read-\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[i]})),jue(t,{props:iTe(n,o)});break;case"::placeholder":LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+Jl+"input-$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,ic+"input-$1")]})),LT(k4(t,{props:[i]})),jue(t,{props:iTe(n,o)});break}return""})}}var LZt={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},X1={},pR=typeof process<"u"&&X1!==void 0&&(X1.REACT_APP_SC_ATTR||X1.SC_ATTR)||"data-styled",e$e="active",t$e="data-styled-version",uQ="6.1.10",Sye=`/*!sc*/ -`,Tye=typeof window<"u"&&"HTMLElement"in window,WZt=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&X1!==void 0&&X1.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&X1.REACT_APP_SC_DISABLE_SPEEDY!==""?X1.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&X1.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&X1!==void 0&&X1.SC_DISABLE_SPEEDY!==void 0&&X1.SC_DISABLE_SPEEDY!==""&&X1.SC_DISABLE_SPEEDY!=="false"&&X1.SC_DISABLE_SPEEDY),dQ=Object.freeze([]),gR=Object.freeze({});function NZt(t,e,n){return n===void 0&&(n=gR),t.theme!==n.theme&&t.theme||e||n.theme}var n$e=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),UZt=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,BZt=/(^-|-$)/g;function lTe(t){return t.replace(UZt,"-").replace(BZt,"")}var jZt=/(a)(d)/gi,oO=52,sTe=function(t){return String.fromCharCode(t+(t>25?39:97))};function _ue(t){var e,n="";for(e=Math.abs(t);e>oO;e=e/oO|0)n=sTe(e%oO)+n;return(sTe(e%oO)+n).replace(jZt,"$1-$2")}var Mre,o$e=5381,KP=function(t,e){for(var n=e.length;n;)t=33*t^e.charCodeAt(--n);return t},i$e=function(t){return KP(o$e,t)};function YZt(t){return _ue(i$e(t)>>>0)}function OZt(t){return t.displayName||t.name||"Component"}function Ire(t){return typeof t=="string"&&!0}var r$e=typeof Symbol=="function"&&Symbol.for,a$e=r$e?Symbol.for("react.memo"):60115,_Zt=r$e?Symbol.for("react.forward_ref"):60112,VZt={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},GZt={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l$e={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},XZt=((Mre={})[_Zt]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Mre[a$e]=l$e,Mre);function cTe(t){return("type"in(e=t)&&e.type.$$typeof)===a$e?l$e:"$$typeof"in t?XZt[t.$$typeof]:VZt;var e}var JZt=Object.defineProperty,KZt=Object.getOwnPropertyNames,uTe=Object.getOwnPropertySymbols,qZt=Object.getOwnPropertyDescriptor,$Zt=Object.getPrototypeOf,dTe=Object.prototype;function s$e(t,e,n){if(typeof e!="string"){if(dTe){var o=$Zt(e);o&&o!==dTe&&s$e(t,o,n)}var i=KZt(e);uTe&&(i=i.concat(uTe(e)));for(var r=cTe(t),a=cTe(e),l=0;l0?" Args: ".concat(e.join(", ")):""))}var QZt=function(){function t(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return t.prototype.indexOfGroup=function(e){for(var n=0,o=0;o=this.groupSizes.length){for(var o=this.groupSizes,i=o.length,r=i;e>=r;)if((r<<=1)<0)throw ZW(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(o),this.length=r;for(var a=i;a=this.length||this.groupSizes[e]===0)return n;for(var o=this.groupSizes[e],i=this.indexOfGroup(e),r=i+o,a=i;a=0){var o=document.createTextNode(n);return this.element.insertBefore(o,this.nodes[e]||null),this.length++,!0}return!1},t.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.prototype.getRule=function(e){return e0&&(w+="".concat(b,","))}),s+="".concat(g).concat(A,'{content:"').concat(w,'"}').concat(Sye)},u=0;u0?".".concat(e):f},u=s.slice();u.push(function(f){f.type===aQ&&f.value.includes("&")&&(f.props[0]=f.props[0].replace(cen,n).replace(o,c))}),a.prefix&&u.push(FZt),u.push(DZt);var d=function(f,p,g,A){p===void 0&&(p=""),g===void 0&&(g=""),A===void 0&&(A="&"),e=A,n=p,o=new RegExp("\\".concat(n,"\\b"),"g");var w=f.replace(uen,""),b=IZt(g||p?"".concat(g," ").concat(p," { ").concat(w," }"):w);a.namespace&&(b=d$e(b,a.namespace));var C=[];return JG(b,EZt(u.concat(kZt(function(P){return C.push(P)})))),C};return d.hash=s.length?s.reduce(function(f,p){return p.name||ZW(15),KP(f,p.name)},o$e).toString():"",d}var fen=new u$e,Gue=den(),f$e=be.createContext({shouldForwardProp:void 0,styleSheet:fen,stylis:Gue});f$e.Consumer;be.createContext(void 0);function pTe(){return m.useContext(f$e)}var hen=function(){function t(e,n){var o=this;this.inject=function(i,r){r===void 0&&(r=Gue);var a=o.name+r.hash;i.hasNameForId(o.id,a)||i.insertRules(o.id,a,r(o.rules,a,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=n,Cye(this,function(){throw ZW(12,String(o.name))})}return t.prototype.getName=function(e){return e===void 0&&(e=Gue),this.name+e.hash},t}(),pen=function(t){return t>="A"&&t<="Z"};function gTe(t){for(var e="",n=0;n>>0);if(!n.hasNameForId(this.componentId,a)){var l=o(r,".".concat(a),void 0,this.componentId);n.insertRules(this.componentId,a,l)}i=Bv(i,a),this.staticRulesId=a}else{for(var s=KP(this.baseHash,o.hash),c="",u=0;u>>0);n.hasNameForId(this.componentId,p)||n.insertRules(this.componentId,p,o(c,".".concat(p),void 0,this.componentId)),i=Bv(i,p)}}return i},t}(),g$e=be.createContext(void 0);g$e.Consumer;var zre={};function Aen(t,e,n){var o=Pye(t),i=t,r=!Ire(t),a=e.attrs,l=a===void 0?dQ:a,s=e.componentId,c=s===void 0?function(v,T){var y=typeof v!="string"?"sc":lTe(v);zre[y]=(zre[y]||0)+1;var S="".concat(y,"-").concat(YZt(uQ+y+zre[y]));return T?"".concat(T,"-").concat(S):S}(e.displayName,e.parentComponentId):s,u=e.displayName,d=u===void 0?function(v){return Ire(v)?"styled.".concat(v):"Styled(".concat(OZt(v),")")}(t):u,f=e.displayName&&e.componentId?"".concat(lTe(e.displayName),"-").concat(e.componentId):e.componentId||c,p=o&&i.attrs?i.attrs.concat(l).filter(Boolean):l,g=e.shouldForwardProp;if(o&&i.shouldForwardProp){var A=i.shouldForwardProp;if(e.shouldForwardProp){var w=e.shouldForwardProp;g=function(v,T){return A(v,T)&&w(v,T)}}else g=A}var b=new yen(n,f,o?i.componentStyle:void 0);function C(v,T){return function(y,S,x){var R=y.attrs,H=y.componentStyle,D=y.defaultProps,k=y.foldedComponentIds,W=y.styledComponentId,N=y.target,L=be.useContext(g$e),E=pTe(),U=y.shouldForwardProp||E.shouldForwardProp,F=NZt(S,L,D)||gR,B=function(ie,ee,q){for(var ae,ne=N0(N0({},ee),{className:void 0,theme:q}),se=0;se=Ot)return G;var wn=He-Xc(tt);if(wn<1)return tt;var Mn=un?T1(un,0,wn).join(""):G.slice(0,wn);if(Mt===n)return Mn+tt;if(un&&(wn+=Mn.length-wn),LS(Mt)){if(G.slice(wn).search(Mt)){var mo,wo=Mn;for(Mt.global||(Mt=Jc(Mt.source,nl(Pt.exec(Mt))+"g")),Mt.lastIndex=0;mo=Mt.exec(wo);)var ko=mo.index;Mn=Mn.slice(0,ko===n?wn:ko)}}else if(G.indexOf(x0(Mt),wn)!=wn){var Si=Mn.lastIndexOf(Mt);Si>-1&&(Mn=Mn.slice(0,Si))}return Mn+tt}function YI(G){return G=nl(G),G&&dt.test(G)?G.replace(_e,gy):G}var s0=X(function(G,Q,He){return G+(He?" ":"")+Q.toUpperCase()}),k5=L3("toUpperCase");function C1(G,Q,He){return G=nl(G),Q=He?n:Q,Q===n?g3(G)?my(G):qu(G):G.match(Q)||[]}var PB=Qi(function(G,Q){try{return kn(G,n,Q)}catch(He){return S8(He)?He:new dr(He)}}),dne=ea(function(G,Q){return Wn(Q,function(He){He=om(He),zh(G,He,x8(G[He],G))}),G});function fne(G){var Q=G==null?0:G.length,He=yr();return G=Q?Vi(G,function(tt){if(typeof tt[1]!="function")throw new _0(a);return[He(tt[0]),tt[1]]}):[],Qi(function(tt){for(var Mt=-1;++MtF)return[];var He=Y,tt=V0(G,Y);Q=yr(Q),G-=Y;for(var Mt=Ch(tt,Q);++He0||Q<0)?new fr(He):(G<0?He=He.takeRight(-G):G&&(He=He.drop(G)),Q!==n&&(Q=Gr(Q),He=Q<0?He.dropRight(-Q):He.take(Q-G)),He)},fr.prototype.takeRightWhile=function(G){return this.reverse().takeWhile(G).reverse()},fr.prototype.toArray=function(){return this.take(Y)},bu(fr.prototype,function(G,Q){var He=/^(?:filter|find|map|reject)|While$/.test(Q),tt=/^(?:head|last)$/.test(Q),Mt=Lt[tt?"take"+(Q=="last"?"Right":""):Q],Ot=tt||/^find/.test(Q);Mt&&(Lt.prototype[Q]=function(){var un=this.__wrapped__,wn=tt?[1]:arguments,Mn=un instanceof fr,mo=wn[0],wo=Mn||$r(un),ko=function(Na){var ol=Mt.apply(Lt,ga([Na],wn));return tt&&Si?ol[0]:ol};wo&&He&&typeof mo=="function"&&mo.length!=1&&(Mn=wo=!1);var Si=this.__chain__,Zi=!!this.__actions__.length,Mr=Ot&&!Si,Ta=Mn&&!Zi;if(!Ot&&wo){un=Ta?un:new fr(this);var Ir=G.apply(un,wn);return Ir.__actions__.push({func:ky,args:[ko],thisArg:n}),new G0(Ir,Si)}return Mr&&Ta?G.apply(this,wn):(Ir=this.thru(ko),Mr?tt?Ir.value()[0]:Ir.value():Ir)})}),Wn(["pop","push","shift","sort","splice","unshift"],function(G){var Q=jg[G],He=/^(?:push|sort|unshift)$/.test(G)?"tap":"thru",tt=/^(?:pop|shift)$/.test(G);Lt.prototype[G]=function(){var Mt=arguments;if(tt&&!this.__chain__){var Ot=this.value();return Q.apply($r(Ot)?Ot:[],Mt)}return this[He](function(un){return Q.apply($r(un)?un:[],Mt)})}}),bu(fr.prototype,function(G,Q){var He=Lt[Q];if(He){var tt=He.name+"";La.call(g1,tt)||(g1[tt]=[]),g1[tt].push({name:Q,func:He})}}),g1[pt(n,b).name]=[{name:"wrapper",func:n}],fr.prototype.clone=sS,fr.prototype.reverse=cS,fr.prototype.value=Ld,Lt.prototype.at=Mte,Lt.prototype.chain=$M,Lt.prototype.commit=Ite,Lt.prototype.next=QM,Lt.prototype.plant=Dte,Lt.prototype.reverse=Ete,Lt.prototype.toJSON=Lt.prototype.valueOf=Lt.prototype.value=CS,Lt.prototype.first=Lt.prototype.head,Fd&&(Lt.prototype[Fd]=zte),Lt},Ap=lS();Ze?((Ze.exports=Ap)._=Ap,Pn._=Ap):pn._=Ap}).call(mc)})(VG,VG.exports);var M2=VG.exports;const iQ=t=>{const e=ht(cs),n=M(wf),[o,i]=m.useState(null);return m.useEffect(()=>{if(e){const r=Sn.getState().getHeatmap(t);r&&i(xe.fetchHeatmapTexture(r,n??5))}},[e,n]),o},rQ=(t,e,n,o,i,r)=>{const a=i??((n==null?void 0:n.color)==="Black"&&(n==null?void 0:n.cellType)==="Monocrystalline"?"silver":"white"),l=r??"gray",s=m.useMemo(()=>{if(!n)return null;const{cellType:d,length:f,width:p,m:g,n:A,color:w}=n;return o===ui.portrait?tSe(d,p,f,A,g,w,a,l):tSe(d,f,p,g,A,w,a,l)},[n,o,a,l]),[c,u]=m.useState(s);return m.useEffect(()=>{if(s&&n){const{length:d,width:f}=n,p=Math.max(1,Math.round(t/(o===ui.landscape?d:f))),g=Math.max(1,Math.round(e/(o===ui.landscape?f:d)));s.repeat.set(p,g),s.wrapS=s.wrapT=Ss,u(s.clone())}},[s,t,e]),c},tSe=(t,e,n,o,i,r,a,l)=>{e*=Hwe,n*=Hwe;const s=document.createElement("canvas");[s.width,s.height]=[e,n];const c=s.getContext("2d");if(c){c.fillStyle=a,c.fillRect(0,0,e,n);const u=Math.max(e,n)*F3t;if(c.fillStyle=l,c.fillRect(u,u,e-2*u,n-2*u),c.fillStyle=r==="Black"?W3t:N3t,t==="Thin Film"){const d=u*.6;c.fillRect(d,d,e-d*2,n-d*2)}else{const d=Math.max(e,n)*L3t,f=u+d,p=(e-f*2-d*(o-1))/o,g=(n-f*2-d*(i-1))/i,A=p*.1,w=g*.1;if(t==="Monocrystalline")for(let b=0;b{const i=Xi().gl.domElement;return h.jsx(ts,{args:[o,6,6],name:yo.Default,onPointerOver:()=>{i.style.cursor="move"},onPointerOut:()=>{i.style.cursor="default"},onPointerDown:r=>{M.getState().selectMe(t,r,zo.Move),ht.getState().set(a=>{a.showWallIntersectionPlaneId=e,a.oldParentId=e,a.oldFoundationId=n})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})},eO=({pos:t,dms:e,handleType:n,initPointerDown:o})=>{const[i,r,a]=t,[l,s]=e,c=Xi().gl.domElement,[u,d]=m.useState(pr),f=m.useRef(null),p=()=>{o();const g=new re;switch(n){case gt.Left:case gt.Right:g.set(-i*2,0,-a);break;case gt.Upper:case gt.Lower:g.set(0,-r*2,-a);break}M.getState().set(A=>{f.current&&(A.resizeAnchor=f.current.localToWorld(g),A.resizeHandleType=n)})};return h.jsx(Ei,{ref:f,position:[i,r,a],args:[s,s,l*1.2],name:n,onPointerDown:p,onPointerOver:()=>{c.style.cursor="pointer",d(nr)},onPointerOut:()=>{c.style.cursor="default",d(pr)},children:h.jsx("meshBasicMaterial",{attach:"material",color:u})})},nSe=({position:t,ratio:e,handleType:n,initPointerDown:o})=>{const[i,r]=m.useState(pr),a=Xi().gl.domElement,l=m.useMemo(()=>h.jsx("meshBasicMaterial",{attach:"material",color:i}),[i]),s=()=>{o(),M.getState().set(c=>{c.rotateHandleType=n})};return h.jsxs("group",{position:t,rotation:[Vt,0,0],scale:e,name:n,children:[h.jsxs("group",{children:[h.jsx(B1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:l}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:l}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:l})]}),h.jsx(sa,{name:n,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1,onPointerDown:s,onPointerOver:c=>{a.style.cursor="grab",r(nr)},onPointerOut:()=>{a.style.cursor="default",r(pr)}})]})},v$t=({rotationZ:t,tiltAngle:e,handleSize:n,initPointerDown:o,handlePointerMove:i,handlePointerUp:r})=>{const{gl:a}=Xi(),[l,s]=m.useState(pr),[c,u]=m.useState(!1),d=m.useRef(null),f=m.useMemo(()=>new Array(13).fill(0),[]),p=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[n,1.1*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerOver:()=>{a.domElement.style.cursor="grab",s(nr)},onPointerOut:()=>{a.domElement.style.cursor="default",s(pr)},onPointerDown:g=>{o(),g.stopPropagation(),u(!0),p(A=>{A.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:l})}),c&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:d,name:"Solar panel tilt handle",args:[n,2*n,18,2,-Vt,Math.PI],rotation:[0,-Vt,t,"ZXY"],onPointerDown:g=>{},onPointerMove:g=>{i(g,d)},onPointerUp:()=>{u(!1),r()},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,n],[0,0,1.75*n]],rotation:new Qt(e,0,t,"ZXY"),lineWidth:1}),f.map((g,A)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*A-Vt,0,t,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*n],[0,0,2*n]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${A*15-90}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.15*n,position:[0,0,1.6*n]})]},A)),h.jsx("group",{rotation:new Qt(e,0,t,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(e/Math.PI*180)}°`,fontSize:20*n,fontFace:"Times Roman",textHeight:.2*n,position:[0,0,.75*n]})})]})]})},x$t=be.memo(({drawSunbeam:t,rotation:e,normal:n,relativeEuler:o,fRotation:i})=>{const r=new Qt().fromArray([e[0],e[1],e[2],"ZXY"]),a=m.useMemo(()=>e[0]===0?new re().fromArray(n).applyEuler(new Qt(o.x,o.y,o.z+e[2]+i,"ZXY")):new re(0,0,1).applyEuler(r).applyEuler(new Qt(0,0,i)),[e,o,i]),l=M(Ya),s=M(Xs),c=M(mh),u=Math.max(100,10*c),d=m.useMemo(()=>zr(new Date(l),s),[l,s]);return h.jsx(h.Fragment,{children:t&&d.z>0&&h.jsxs("group",{rotation:[-r.x,0,-r.z-i],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[a.clone().multiplyScalar(.75),[0,0,0],d.clone().multiplyScalar(u)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[d.clone().multiplyScalar(.5),a.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(d.angleTo(a)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:d.clone().multiplyScalar(.75).add(a.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:a.clone().multiplyScalar(.75),rotation:[Vt+r.x+o.x,0,r.z+o.z+i,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-o.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),b$t=({id:t})=>{M(Jn);const e=M(Vn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]),i=m.useMemo(()=>e(t),[t]);if(!i||!i.foundationId)return null;const r=e(i.foundationId);if(!r)return null;const a=new re(r.cx,r.cy,r.cz),l=new re(i.cx*r.lx,i.cy*r.ly,r.lz/2+i.cz+i.lz/2+i.poleHeight).applyEuler(new Qt(0,0,r.rotation[2])).add(a),s=((i==null?void 0:i.label)??j.t("shared.SolarPanelElement",o))+(i!=null&&i.locked?` ( + ${j.t("shared.ElementLocked",o)} + )`:"")+(i!=null&&i.label?"":` +`+j.t("word.Coordinates",o)+": ("+l.x.toFixed(1)+", "+l.y.toFixed(1)+", "+l.z.toFixed(1)+") "+j.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:s,color:i.labelColor??"white",fontSize:i.labelFontSize??20,textHeight:i.labelSize??.2,position:[0,0,i.labelHeight??Math.max(i.ly/2*Math.abs(Math.sin(i.tiltAngle))+.1,.2)]})},S$t=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,tiltAngle:s,relativeAzimuth:c,poleHeight:u,poleRadius:d,poleSpacing:f,drawSunBeam:p,rotation:g=[0,0,0],normal:A=[0,0,1],color:w="white",frameColor:b,backsheetColor:C,showLabel:P=!1,locked:v=!1,parentId:T,foundationId:y,foundationModel:S,orientation:x=ui.portrait})=>{const R=M(dn),H=M(Vc),D=M(Vn),k=ht(cs),W=M(ss),N=M(gq),L=M(hu)??!1,E=M(C7),U=M(mh),F=Hs(t),B=m.useRef(null),_=E[e];_&&(l=Math.max(_.thickness,.02));const Y=r/2,O=a/2,J=l/2,Z=M.getState().elements.length<100?4:2,ie=-u/2-l/2,[ee,q]=m.useState(g[0]===0),[ae,ne]=m.useState(!1),[se,le]=m.useState(!1),{gl:te,camera:he}=Xi(),pe=m.useRef(null),fe=m.useRef(),$=m.useRef(null),de=m.useRef(!1),Se=m.useRef(null),Ce=m.useRef(null),ve=m.useRef(null),Ie=m.useRef(null),ze=m.useRef(null),ye=m.useRef(null),oe=m.useMemo(()=>new Gs,[]),ge=m.useMemo(()=>new Gt,[]),Ae=m.useMemo(()=>ee?new re(n,o,i+J+u):new re(n,o,i+l/2+.02),[n,o,i,J,ee,u,U]),me=m.useMemo(()=>new Qt().fromArray([g[0],g[1],g[2],"ZXY"]),[g]),Pe=m.useMemo(()=>ee?new Qt(s,0,c,"ZXY"):new Qt,[s,c,ee]),Me=m.useMemo(()=>{const ot=[],et=Math.floor(.5*r/f),Oe=Math.floor(.5*a*Math.abs(Math.cos(s))/f),nt=.5*Math.sin(s),mt=Math.cos(c)*f,Tt=Math.sin(c)*f;for(let Rt=-et;Rt<=et;Rt++)for(let Wt=-Oe;Wt<=Oe;Wt++){const Ct=Rt*mt-Wt*Tt,wt=Rt*Tt+Wt*mt;ot.push(new re(Ct,wt,ie+nt*f*Wt))}return ot},[c,s,f,r,a,u,l]);m.useEffect(()=>{q(g[0]===0)},[g]),m.useEffect(()=>{if(_){let ot,et;x===ui.portrait?(ot=Math.max(1,Math.round(r/_.width)),et=Math.max(1,Math.round(a/_.length))):(ot=Math.max(1,Math.round(r/_.length)),et=Math.max(1,Math.round(a/_.width))),fe.current=[];const Oe=r/ot,nt=a/et;for(let mt=0;mt<=ot;mt++)fe.current.push({points:[new re(-Y+mt*Oe,-O,l),new re(-Y+mt*Oe,O,l)]});for(let mt=0;mt<=et;mt++)fe.current.push({points:[new re(-Y,-O+mt*nt,l),new re(Y,-O+mt*nt,l)]})}},[x,e,r,a,l]);const Te=()=>{R(ot=>{if(Se.current&&ve.current!==null&&ye.current&&Ce.current&&ze.current){for(const et of ot.elements)if(et.id===t){[et.cx,et.cy,et.cz]=[...Se.current],[et.lx,et.ly,et.lz]=[...Ce.current],et.relativeAzimuth=ve.current,et.normal=[...ye.current],et.rotation=[...ze.current];break}}})},De=()=>{if(de.current){const ot=D(T);if(ot&&y){const et=D(t),Oe=B.current;if(et&&Oe){const nt=In.getRoofBoundaryVertices(ot),mt=In.getSolarPanelVerticesOnRoof(et,Oe);!rye(mt,nt)||!aye(et,Oe,mt)?Te():xt(et)}}Ln.getState().setEnableOrbitController(!0),de.current=!1,ne(!1),R(et=>{et.moveHandleType=null,et.resizeHandleType=null,et.rotateHandleType=null,et.updateElementOnRoofFlag=!0}),B.current=null}},Ne=Math.max(1,(r+a)/16),Ye=Af*Ne*2,Le=I9*Ne*1.5,$e=Ne*2/3,We=()=>{const ot=M.getState().elements.find(et=>et.id===y&&et.type===z.Foundation);ot&&(Se.current=[n/ot.lx,o/ot.ly,i-ot.lz/2],Ce.current=[r,a,l],ve.current=c,Ie.current=s,ye.current=[...A],ze.current=[...g],B.current=ot),ne(!0),de.current=!0,Ln.getState().setEnableOrbitController(!1)},Ee=ot=>{ge.x=ot.offsetX/te.domElement.clientWidth*2-1,ge.y=-(ot.offsetY/te.domElement.clientHeight)*2+1,oe.setFromCamera(ge,he)},Fe=(ot,et)=>!!(ee&&et!==0&&.5*ot*Math.abs(Math.sin(et))>u),Ge=ot=>{if($.current&&de.current&&B.current&&_){Ee(ot);const et=oe.intersectObjects([$.current]);if(et.length>0){const Oe=et[0].point;if(Oe.z<.001)return;const nt=M.getState().rotateHandleType;if(M.getState().resizeHandleType){const mt=ee?c:0,Tt=M.getState().resizeAnchor,Rt=new re(B.current.cx,B.current.cy,B.current.lz),Wt=new re().subVectors(Oe,Tt).applyEuler(new Qt(0,0,-g[2]-B.current.rotation[2]-mt));R(Ct=>{for(const wt of Ct.elements)if(wt.id===t&&B.current){switch(Ct.resizeHandleType){case gt.Left:case gt.Right:{const kt=wt.orientation===ui.landscape?_.length:_.width,qe=Math.abs(Wt.x),st=Math.max(1,Math.ceil((qe-kt/2)/kt))*kt,Pt=new re(Math.sign(Wt.x)*st/2,0,0).applyEuler(new Qt(0,0,g[2]+B.current.rotation[2]+mt)),Ue=new re().addVectors(Tt,Pt).sub(Rt).applyEuler(new Qt(0,0,-B.current.rotation[2]));wt.lx=st,wt.cx=Ue.x/B.current.lx,wt.cy=Ue.y/B.current.ly;break}case gt.Upper:case gt.Lower:{const kt=Math.abs(Wt.y),qe=Math.abs(Wt.z),Je=Math.hypot(kt,qe),st=wt.orientation===ui.landscape?_.width:_.length,Ue=Math.max(1,Math.ceil((Je-st/2)/st))*st,lt=new re(0,Ue*Math.sign(Wt.y)/2,0).applyEuler(new Qt(g[0],g[1],g[2]+B.current.rotation[2]+mt,"ZXY")),Ve=new re().addVectors(Tt,lt).sub(Rt).applyEuler(new Qt(0,0,-B.current.rotation[2]));Fe(Ue,s)||(wt.ly=Ue,wt.cx=Ve.x/B.current.lx,wt.cy=Ve.y/B.current.ly,ee||(wt.cz=Ve.z-J));break}}break}})}else if(nt===wi.Lower||nt===wi.Upper){const mt=B.current.rotation[2],Tt=new Gt(B.current.cx,B.current.cy),Rt=new Gt(n,o).rotateAround(wr,mt),Wt=new Gt().addVectors(Rt,Tt),Ct=Math.atan2(-Oe.x+Wt.x,Oe.y-Wt.y)-mt+(nt===wi.Lower?Math.PI:0),wt=Math.abs(Ct)>Math.PI?-Math.sign(Ct)*na:0,kt=Ct+wt;M.getState().updateSolarCollectorRelativeAzimuthById(t,kt)}}}},rt=(ot,et)=>{var Oe,nt;if(de.current&&(Ee(ot),et.current&&M.getState().rotateHandleType===wi.Tilt)){const mt=oe.intersectObjects([et.current]);if(mt.length>0){const Tt=mt[0].point,Rt=(Oe=et.current.parent)==null?void 0:Oe.localToWorld(new re);if(Rt){const Wt=new re().subVectors(Tt,Rt);let Ct=Wt.angleTo(Po);if(!(.5*a*Math.abs(Math.sin(Ct))>u)){const kt=c+g[2]+(((nt=B.current)==null?void 0:nt.rotation[2])??0),qe=kt%Math.PI===0?Math.sign(-Wt.y)*Math.sign(Math.cos(kt)):Math.sign(Wt.x)*Math.sign(Math.sin(kt));Ct*=qe,M.getState().updateSolarPanelTiltAngleById(t,Ct)}}}}},_e=()=>{const ot=D(t);if(ot&&Ie.current&&Math.abs(ot.tiltAngle-Ie.current)>Dt){const et={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Ie.current,newValue:ot.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(et.changedElementId,et.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(et.changedElementId,et.newValue)}};M.getState().addUndoable(et)}},xt=ot=>{if(M.getState().resizeHandleType){if(Ce.current&&Se.current&&ye.current&&ze.current){const et={name:"Resize Solar Panel On Roof",timestamp:Date.now(),id:ot.id,oldDms:[...Ce.current],oldNor:[...ye.current],oldPos:[...Se.current],oldRot:[...ze.current],newDms:[ot.lx,ot.ly,ot.lz],newPos:[ot.cx,ot.cy,ot.cz],newNor:[...ot.normal],newRot:[...ot.rotation],undo(){R(Oe=>{for(const nt of Oe.elements)if(nt.id===et.id){[nt.cx,nt.cy,nt.cz]=[...et.oldPos],[nt.lx,nt.ly,nt.lz]=[...et.oldDms],nt.normal=[...et.oldNor],nt.rotation=[...et.oldRot];break}})},redo(){R(Oe=>{for(const nt of Oe.elements)if(nt.id===et.id){[nt.cx,nt.cy,nt.cz]=[...et.newPos],[nt.lx,nt.ly,nt.lz]=[...et.newDms],nt.normal=[...et.newNor],nt.rotation=[...et.newRot];break}})}};M.getState().addUndoable(et)}}else if(M.getState().rotateHandleType&&ve.current!==void 0){const et={name:"Rotate Solar Panel On Roof",timestamp:Date.now(),oldValue:ve.current,newValue:ot.relativeAzimuth,changedElementId:ot.id,changedElementType:ot.type,undo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(et.changedElementId,et.oldValue)},redo:()=>{M.getState().updateSolarCollectorRelativeAzimuthById(et.changedElementId,et.newValue)}};M.getState().addUndoable(et)}},dt=M(ot=>{for(const et of ot.elements)if(et.id===T)return et}),Qe=rQ(r,a,_,x,b,C),ct=iQ(t),ft=()=>k&&ct?h.jsx("meshBasicMaterial",{attach:"material-4",map:ct}):Qe?L||N===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Qe,color:w}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((_==null?void 0:_.color)==="Blue"?Kw:qw),shininess:N??Jm,side:ia,map:Qe,color:w}):h.jsx("meshStandardMaterial",{attach:"material-4",color:w}),at=()=>(_==null?void 0:_.bifacialityFactor)===0||L||u===0&&s===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:w}):Qe?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((_==null?void 0:_.color)==="Blue"?Kw:qw),shininess:N??Jm,side:ia,map:Qe,color:w}):null;return dt&&dt.type===z.Roof&&dt.opacity===0?null:h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:me,position:Ae,children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:Pe,children:[h.jsxs(Ei,{receiveShadow:W,castShadow:W,uuid:t,ref:pe,args:[r,a,l],name:"Solar Panel",onPointerDown:ot=>{ot.button!==2&&M.getState().objectTypeToAdd===z.None&&H(t,ot,zo.Select)},onContextMenu:ot=>{H(t,ot,zo.ContextMenu),R(et=>{ot.intersections.length>0&&ot.intersections[0].object===pe.current&&(et.contextMenuObjectType=z.SolarPanel)})},onPointerOver:ot=>{ot.intersections.length>0&&ot.intersections[0].object===pe.current&&le(!0)},onPointerOut:ot=>{le(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:w}),h.jsx("meshStandardMaterial",{attach:"material-1",color:w}),h.jsx("meshStandardMaterial",{attach:"material-2",color:w}),h.jsx("meshStandardMaterial",{attach:"material-3",color:w}),ft(),at()]}),F&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(w$t,{id:t,handleSize:Ye,parentId:T,foundationId:y}),h.jsxs("group",{name:"Resize Handle Group",children:[h.jsx(eO,{pos:[-Y,0,J],dms:[l,Le],handleType:gt.Left,initPointerDown:We}),h.jsx(eO,{pos:[Y,0,J],dms:[l,Le],handleType:gt.Right,initPointerDown:We}),h.jsx(eO,{pos:[0,-O,J],dms:[l,Le],handleType:gt.Lower,initPointerDown:We}),h.jsx(eO,{pos:[0,O,J],dms:[l,Le],handleType:gt.Upper,initPointerDown:We})]})]}),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,position:[0,0,f0],args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),k&&ct&&fe.current&&fe.current.map((ot,et)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:ot.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},et)),F&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Y,-O,0],[-Y,O,0],[Y,O,0],[Y,-O,0],[-Y,-O,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),ee&&F&&!v&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Rotate Handle Group",rotation:[0,0,Pe.z],children:[h.jsx(nSe,{position:[0,-O-1,0],ratio:1,handleType:wi.Lower,initPointerDown:We}),h.jsx(nSe,{position:[0,O+1,0],ratio:1,handleType:wi.Upper,initPointerDown:We})]}),h.jsx(v$t,{rotationZ:c,tiltAngle:s,handleSize:$e,initPointerDown:We,handlePointerMove:rt,handlePointerUp:_e})]}),ae&&h.jsx(sa,{ref:$,args:[1e3,1e3],visible:!1,onPointerMove:Ge,onPointerUp:De}),ee&&u>0&&Me.map((ot,et)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+et,castShadow:!1,receiveShadow:!1,args:[d,d,u+(ot.z-ie)*2+l,Z,1],position:ot,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})},et)),h.jsx(x$t,{drawSunbeam:p,rotation:g,normal:A,relativeEuler:Pe,fRotation:(S==null?void 0:S.rotation[2])??0}),(se||P)&&!F&&h.jsx(b$t,{id:t})]})},T$t=t=>{const{lx:e,lz:n,parentId:o,id:i,roofId:r}=t,a=M(N8t),l=M(gge);m.useEffect(()=>{r&&(a===r||l.has(r))&&M.getState().set(d=>{for(const f of d.elements)if(f.id===i&&f.type===z.Wall){const p=f;p.roofId=null,p.leftRoofHeight=void 0,p.rightRoofHeight=void 0,p.centerRoofHeight=void 0,p.centerLeftRoofHeight=void 0,p.centerRightRoofHeight=void 0;break}})},[r,a,l]);const s=d=>!(d.button===2||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||M.getState().isAddingElement()),c=d=>{s(d)&&(M.getState().set(f=>{f.contextMenuObjectType=null}),M.getState().selectMe(i,d,zo.Select))},u=d=>{M.getState().selectMe(i,d,zo.ContextMenu),M.getState().set(f=>{d.intersections.length>0&&d.intersections[0].object===d.eventObject&&(f.contextMenuObjectType=z.Wall)})};return h.jsx(sa,{args:[e,n],rotation:[Vt,0,0],visible:!1,onPointerDown:c,onContextMenu:u,children:h.jsx("meshBasicMaterial",{side:ji})})},P$t=be.memo(T$t),oSe=({cy:t,size:e,type:n})=>{const[o,i]=m.useState(Fk),r=()=>{i(nr)},a=()=>{i(Fk)};return h.jsx(ts,{name:n,args:[e],position:[0,t,0],onPointerEnter:r,onPointerOut:a,children:h.jsx("meshBasicMaterial",{attach:"material",color:o})})},C$t=({ply:t,phz:e})=>{const n=UH(),o=i=>{i.intersections.length>0&&i.intersections[0].eventObject.parent===i.eventObject&&(M.getState().set(r=>{r.moveHandleType=i.object.name}),Ln.getState().setEnableOrbitController(!1))};return h.jsxs("group",{name:"Move Handle Group",position:[0,0,-e],onPointerDown:o,children:[h.jsx(oSe,{cy:-n,size:n,type:yo.Lower}),h.jsx(oSe,{cy:t+n,size:n,type:yo.Upper})]})},R$t=be.memo(C$t),H$t="#ADD8E6",b4=be.memo(({x:t,z:e,handleType:n,highLight:o,handleSize:i,partial:r})=>{const a=M(dn),l=M(yh),s=M(cYe),[c,u]=m.useState(!1),d=o||c||n===l||s&&(n===gt.LowerRight||n===gt.UpperRight)?nr:r?H$t:pr;let f=i,p=i,g=i;if(n===gt.LowerRight||n===gt.LowerLeft)f=i*1.7;else if(r){f*=.75,p=i/2,g=i*2.5;const A=g/4;n===gt.WallPartialResizeLeft||n===gt.WallPartialResizeRight?e-=A:(n===gt.WallPartialResizeLeftTop||n===gt.WallPartialResizeRightTop)&&(e+=A)}else p=i/2,g=i*1.7;return h.jsx(Ei,{name:n,args:[f,p,g],position:[t,0,e],onPointerOver:()=>{u(!0),a(A=>{A.hoveredHandle=n})},onPointerLeave:()=>{u(!1),a(A=>{A.hoveredHandle=null})},children:h.jsx("meshBasicMaterial",{color:d})})}),M$t=be.memo(({id:t,parentLz:e,roofId:n,x:o,z:i,absAngle:r,leftUnfilledHeight:a,rightUnfilledHeight:l,leftTopPartialResizeHandleHeight:s,rightTopPartialResizeHandleHeight:c,fill:u,wallLeftHeight:d,wallRightHeight:f,highLight:p,leftJoints:g,rightJoints:A})=>{const w=M(dn),b=M(hu),C=UH(),[P,v]=m.useState(!1),[T,y]=m.useState(new re),[S,x]=m.useState(new Qt),R=m.useRef(null),H=m.useRef(!1),D=m.useRef([i*2,a,l]),k=m.useRef(new Map),W=m.useRef(null),N=m.useRef(null),L=m.useRef([]),E=m.useMemo(()=>{if(!n)return null;const q=M.getState().elements.find(ae=>ae.id===n&&ae.type===z.Roof);return q?q.roofType:null},[n]);b&&(i=-i);const U=q=>{const ae=M.getState().cameraDirection,ne=Math.atan2(ae.x,ae.y);y(new re(q,0,0)),x(new Qt(Vt,0,-ne-r,"ZXY")),v(!0)},F=(q,ae,ne)=>{const[se,le,te,he,pe]=ae;w(fe=>{for(const $ of fe.elements)if($.id===q&&$.type===z.Wall){const de=$;$.lz=se,de.leftUnfilledHeight=le,de.rightUnfilledHeight=te,de.leftTopPartialHeight=he,de.rightTopPartialHeight=pe}else if($.type===z.Wall&&ne.has($.id)){const de=ne.get($.id);de!==void 0&&($.lz=de,$.cz=de/2)}})},B=()=>{n&&(g.length>0||A.length>0)&&(E===Vo.Gable||E===Vo.Gambrel?M.getState().elements.forEach(q=>{q.id===g[0]&&(W.current=q.lz),q.id===A[0]&&(N.current=q.lz)}):(k.current.clear(),M.getState().elements.forEach(q=>{q.type===z.Wall&&q.roofId===n&&k.current.set(q.id,q.lz)})))},_=()=>{L.current=M.getState().elements.filter(q=>q.parentId===t)},Y=(q,ae,ne,se,le)=>{const{lx:te,lz:he,roofId:pe,leftRoofHeight:fe,rightRoofHeight:$,centerLeftRoofHeight:de,centerRightRoofHeight:Se,centerRoofHeight:Ce}=q,ve=u===Hl.Partial,Ie=ve?Math.min(d,se):d,ze=ve?Math.min(f,le):f,ye=ve&&(!xe.isZero(d-Ie)||!xe.isZero(f-ze)),[oe,ge]=[te/2,he/2],Ae=[];return Ae.push({x:-oe,y:-ge+ae},{x:oe,y:-ge+ne}),ye?Ae.push({x:oe,y:-ge+ze},{x:-oe,y:-ge+Ie}):pe?($?Ae.push({x:oe,y:-ge+$}):Ae.push({x:oe,y:ge}),Se&&Ae.push({x:Se[0]*te,y:-ge+Se[1]}),Ce&&Ae.push({x:Ce[0]*te,y:-ge+Ce[1]}),de&&Ae.push({x:de[0]*te,y:-ge+de[1]}),fe?Ae.push({x:-oe,y:-ge+fe}):Ae.push({x:-oe,y:ge})):Ae.push({x:oe,y:ge},{x:-oe,y:ge}),Ae},O=(q,ae,ne,se,le)=>{const te=Y(q,ae,ne,se,le);if(L.current.length>0)for(const he of L.current){let{cx:pe,cz:fe,lx:$,ly:de,lz:Se}=he;if(pe*=q.lx,fe*=q.lz,he.type!==z.SolarPanel?($*=q.lx,Se*=q.lz):Se=de,he.type===z.Window&&he.windowType===Sr.Polygonal){const[Ce,ve]=he.polygonTop??jp,Ie=pe+Ce*$,ze=fe+Se/2+ve;if(!xe.isPointInside(Ie,ze,te))return!1}if(!xe.isElementInsideWall(new re(pe,0,fe),$,Se,te,he.type===z.Door))return!1}return!0},J=()=>{W.current=null,N.current=null},Z=q=>{var ne;if(M.getState().addedWallId||q.object!==((ne=q.intersections[0])==null?void 0:ne.object))return;const ae=q.object;switch(ae.name){case gt.LowerLeft:{w(se=>{se.resizeAnchor.copy(ae.localToWorld(new re(o*2,0,0)))});break}case gt.LowerRight:{w(se=>{se.resizeAnchor.copy(ae.localToWorld(new re(-o*2,0,0)))});break}case gt.UpperLeft:case gt.WallPartialResizeLeft:case gt.WallPartialResizeLeftTop:{U(-o),B(),_();break}case gt.UpperRight:case gt.WallPartialResizeRight:case gt.WallPartialResizeRightTop:{U(o),B(),_();break}default:console.error("Wall resize handle unknown");return}w(se=>{se.resizeHandleType=ae.name}),Ln.getState().setEnableOrbitController(!1),H.current=!0,D.current=[i*2,a,l,s,c]},ie=q=>{if(q.intersections.length===0||!H.current)return;const ae=q.intersections[0].point;switch(M.getState().resizeHandleType){case gt.UpperLeft:case gt.UpperRight:{w(ne=>{const se=u===Hl.Partial?Math.max(a,l):0;let le=Math.max(se+C,ae.z-e);if(E===null||E===Vo.Gable||E===Vo.Gambrel){if(W.current||N.current){const te=Math.abs(le-(W.current??1/0)),he=Math.abs(le-(N.current??1/0));te{for(const se of ne.elements)if(se.id===t&&se.type===z.Wall){const le=se;let te=xe.clamp(ae.z-e,0,le.leftTopPartialHeight);if(le.leftJoints.length>0){const he=ne.elements.find(pe=>pe.id===le.leftJoints[0]&&pe.type===z.Wall);if(he&&he.fill===Hl.Partial){const pe=he.rightUnfilledHeight;Math.abs(te-pe)<.5&&(te=pe)}}O(le,te,ne.enableFineGrid?te:le.rightUnfilledHeight,le.leftTopPartialHeight,le.rightTopPartialHeight)&&(le.leftUnfilledHeight=te,ne.enableFineGrid&&(le.rightUnfilledHeight=te));break}});break}case gt.WallPartialResizeRight:{w(ne=>{for(const se of ne.elements)if(se.id===t&&se.type===z.Wall){const le=se;let te=xe.clamp(ae.z-e,0,le.rightTopPartialHeight);if(le.rightJoints.length>0){const he=ne.elements.find(pe=>pe.id===le.rightJoints[0]&&pe.type===z.Wall);if(he&&he.fill===Hl.Partial){const pe=he.leftUnfilledHeight;Math.abs(te-pe)<.5&&(te=pe)}}O(le,ne.enableFineGrid?te:le.leftUnfilledHeight,te,le.leftTopPartialHeight,le.rightTopPartialHeight)&&(le.rightUnfilledHeight=te,ne.enableFineGrid&&(le.leftUnfilledHeight=te));break}});break}case gt.WallPartialResizeLeftTop:{w(ne=>{const se=ne.elements.find(le=>le.id===t&&le.type===z.Wall);if(se){let le=xe.clamp(ae.z-e,se.leftUnfilledHeight,se.lz);if(se.leftJoints.length>0){const te=ne.elements.find(he=>he.id===se.leftJoints[0]&&he.type===z.Wall);if(te&&te.fill===Hl.Partial){const he=te.rightTopPartialHeight;Math.abs(le-he)<.5&&(le=he)}}O(se,se.leftUnfilledHeight,se.rightUnfilledHeight,le,ne.enableFineGrid?le:se.rightTopPartialHeight)&&(se.leftTopPartialHeight=le,ne.enableFineGrid&&(se.rightTopPartialHeight=le))}});break}case gt.WallPartialResizeRightTop:{w(ne=>{const se=ne.elements.find(le=>le.id===t&&le.type===z.Wall);if(se){let le=xe.clamp(ae.z-e,se.rightUnfilledHeight,se.lz);if(se.rightJoints.length>0){const te=ne.elements.find(he=>he.id===se.rightJoints[0]&&he.type===z.Wall);if(te&&te.fill===Hl.Partial){const he=te.leftTopPartialHeight;Math.abs(le-he)<.5&&(le=he)}}O(se,se.leftUnfilledHeight,se.rightUnfilledHeight,ne.enableFineGrid?le:se.leftTopPartialHeight,le)&&(se.rightTopPartialHeight=le,ne.enableFineGrid&&(se.leftTopPartialHeight=le))}});break}}},ee=()=>{Ln.getState().setEnableOrbitController(!0),v(!1),J(),H.current=!1;const q=new Map;n&&E!==Vo.Gable&&E!==Vo.Gambrel&&M.getState().elements.forEach(ne=>{ne.type===z.Wall&&ne.roofId===n&&q.set(ne.id,ne.lz)});const ae={name:"Change Wall Height",timestamp:Date.now(),resizedElementId:t,resizedElementType:z.Wall,oldHeights:[...D.current],newHeights:[i*2,a,l,s,c],oldSameBuildingWallsHeightMap:new Map(k.current),newSameBuildingWallsHeightMap:q,undo(){F(this.resizedElementId,this.oldHeights,this.oldSameBuildingWallsHeightMap)},redo(){F(this.resizedElementId,this.newHeights,this.newSameBuildingWallsHeightMap)}};M.getState().addUndoable(ae),w(ne=>{ne.actionState.wallHeight=i*2,ne.resizeHandleType=null})};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Wall Resize Handle Group",onPointerDown:Z,children:[h.jsx(b4,{x:-o,z:-i,handleType:gt.LowerLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:-i,handleType:gt.LowerRight,highLight:p,handleSize:C}),!b&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:i,handleType:gt.UpperLeft,highLight:p,handleSize:C}),h.jsx(b4,{x:o,z:i,handleType:gt.UpperRight,highLight:p,handleSize:C}),u===Hl.Partial&&h.jsxs(h.Fragment,{children:[h.jsx(b4,{x:-o,z:-i+a,handleType:gt.WallPartialResizeLeft,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+l,handleType:gt.WallPartialResizeRight,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:-o,z:-i+s,handleType:gt.WallPartialResizeLeftTop,highLight:p,handleSize:C,partial:!0}),h.jsx(b4,{x:o,z:-i+c,handleType:gt.WallPartialResizeRightTop,highLight:p,handleSize:C,partial:!0})]})]})]}),P&&h.jsx(sa,{ref:R,position:T,rotation:S,args:[1e4,1e4],visible:!1,onPointerMove:ie,onPointerUp:ee,children:h.jsx("meshBasicMaterial",{side:ji})})]})}),I$t=({wallModel:t,foundationModel:e})=>{const{id:n,roofId:o,cx:i,cy:r,lx:a,ly:l,lz:s,relativeAngle:c,fill:u,locked:d,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialHeight:g,rightTopPartialHeight:A,leftJoints:w,rightJoints:b}=t,C=Hs(n),[P,v]=[a/2,s/2],T=u===Hl.Partial,y=w.length>0?t.leftRoofHeight:s,S=b.length>0?t.rightRoofHeight:s,x=y??s,R=S??s,H=T?Math.min(x,g):x,D=T?Math.min(R,A):R,k=a===0,W=()=>u===Hl.Empty?h.jsx(P$t,{...t}):h.jsx(RQt,{wallModel:t,foundationModel:e});return h.jsxs("group",{name:`Wall Group ${n}`,position:[i,r,v],rotation:[0,0,c],userData:{aabb:!0},children:[W(),C&&!d&&h.jsxs(h.Fragment,{children:[a>.5&&h.jsx(R$t,{ply:l,phz:v}),h.jsx(M$t,{id:n,parentLz:e.lz,roofId:o,absAngle:c+e.rotation[2],x:P,z:v,leftUnfilledHeight:f,rightUnfilledHeight:p,leftTopPartialResizeHandleHeight:H,rightTopPartialResizeHandleHeight:D,fill:u,wallLeftHeight:x,wallRightHeight:R,highLight:k,leftJoints:w,rightJoints:b})]})]})},z$t=(t,e)=>t.wallModel===e.wallModel,D$t=be.memo(I$t,z$t),sqe="Building Group",E$t=t=>{const{id:e,lx:n,ly:o,lz:i}=t,r=l=>l.foundationId!==e?!1:l.type===z.Wall||l.type===z.Roof||l.type===z.SolarPanel&&l.parentType===z.Roof||l.type===z.Window&&l.parentType===z.Roof,a=M(l=>l.elements.filter(r),a3);return a.length===0?null:h.jsx("group",{name:sqe,position:[0,0,i/2],children:a.map(l=>{switch(l.type){case z.Wall:return h.jsx(D$t,{wallModel:l,foundationModel:t},l.id);case z.Roof:return h.jsx(l$t,{roofModel:l,foundationModel:t},l.id);case z.SolarPanel:return h.jsx(S$t,{...l,cx:l.cx*n,cy:l.cy*o,cz:l.cz,foundationModel:t},l.id);case z.Window:return h.jsx(fqe,{...l,cz:l.cz},l.id);default:return null}})})},k$t=(t,e)=>t.lx===e.lx&&t.ly===e.ly&&t.lz===e.lz&&t.rotation===e.rotation,F$t=be.memo(E$t,k$t),L$t=t=>{let{id:e,pvModelName:n="SPR-X21-335-BLK",cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,tiltAngle:c,relativeAzimuth:u,trackerType:d=Ma.NO_TRACKER,poleHeight:f,poleRadius:p,poleSpacing:g,drawSunBeam:A,color:w="white",lineColor:b="black",lineWidth:C=.1,showLabel:P=!1,locked:v=!1,orientation:T=ui.landscape,parentPosition:y,parentRotation:S}=t;const x=[0,0,1],R=M(dn),H=M(Sc),D=M(Ya),k=M(Xs),W=M(Jn),N=ht(cs),L=M(ss),E=M(gq),U=M(Vn),F=M(Vc),B=M(lge),_=M(mh),Y=M(yh),O=M(sW),J=M(En),Z=M(hu)??!1,ie=M(C7),ee=Hs(e),{gl:{domElement:q},camera:ae}=Xi(),[ne,se]=m.useState(!1),[le,te]=m.useState(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(null),de=m.useRef(null),Se=m.useRef(null),Ce=m.useRef(null),ve=m.useRef(!1),Ie=m.useRef(0),ze=m.useRef(0),ye=m.useRef(),oe=m.useMemo(()=>new Gs,[]),ge=Math.max(100,10*_),Ae=ie[n],me=m.useMemo(()=>({lng:H}),[H]);Ae&&(s=Math.max(Ae.thickness,.02));const Pe=a/2,Me=l/2,Te=s/2,De=new re(-Pe,-Me,Te),Ne=new re(-Pe,Me,Te),Ye=new re(Pe,-Me,Te),Le=new re(Pe,Me,Te),$e=W.length<100?4:2;m.useEffect(()=>{if(Ae){let wt,kt;T===ui.portrait?(wt=Math.max(1,Math.round(a/Ae.width)),kt=Math.max(1,Math.round(l/Ae.length))):(wt=Math.max(1,Math.round(a/Ae.length)),kt=Math.max(1,Math.round(l/Ae.width))),ye.current=[];const qe=a/wt,Je=l/kt;for(let st=0;st<=wt;st++)ye.current.push({points:[new re(-Pe+st*qe,-Me,s),new re(-Pe+st*qe,Me,s)]});for(let st=0;st<=kt;st++)ye.current.push({points:[new re(-Pe,-Me+st*Je,s),new re(Pe,-Me+st*Je,s)]})}},[T,n,a,l,s]),m.useEffect(()=>{const wt=()=>{Ln.getState().setEnableOrbitController(!0),ve.current=!1,mt(!1)};return window.addEventListener("pointerup",wt),()=>{window.removeEventListener("pointerup",wt)}},[]);const We=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.SolarPanelElement",me))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",me)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",me)+": ("+o.toFixed(1)+", "+i.toFixed(1)+", "+r.toFixed(1)+") "+j.t("word.MeterAbbreviation",me)),[t==null?void 0:t.label,t==null?void 0:t.locked,me,o,i,r]),Ee=(wt,kt)=>{wt.intersections.length>0&&wt.intersections[0].object===wt.eventObject&&(te(kt),kt===yo.Top?q.style.cursor="move":kt===wi.Lower||kt===wi.Upper||kt===wi.Tilt?q.style.cursor="grab":q.style.cursor="pointer")},Fe=()=>{te(null),q.style.cursor="default"},Ge=m.useMemo(()=>zr(new Date(D),k),[D,k]),rt=S?Ge.clone().applyAxisAngle(Po,-S):Ge,_e=m.useMemo(()=>{if(Ge.z>0)switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const wt=Math.hypot(rt.x,rt.y);return new Qt(Math.atan2(wt,rt.z),0,Math.atan2(rt.y,rt.x)+Vt,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(rt.x,rt.z),0,"ZXY");case Ma.VERTICAL_SINGLE_AXIS_TRACKER:return new Qt(c,0,Math.atan2(rt.y,rt.x)+Vt,"ZXY")}return new Qt(c,0,u,"ZXY")},[d,Ge,c,u]),xt=m.useMemo(()=>{const wt=new re;return A?wt.fromArray(x).applyEuler(new Qt(_e.x,_e.y,_e.z+S,"ZXY")):wt},[A,x,_e,S]),dt=-f/2-s/2,Qe=m.useMemo(()=>{const wt=[],kt=Math.floor(.5*a/g),qe=Math.floor(.5*l*Math.abs(Math.cos(c))/g),Je=.5*Math.sin(c),st=Math.cos(u)*g,Pt=Math.sin(u)*g;for(let Ue=-kt;Ue<=kt;Ue++)for(let lt=-qe;lt<=qe;lt++){const Ve=Ue*st-lt*Pt,ut=Ue*Pt+lt*st;wt.push(new re(Ve,ut,dt+Je*g*lt))}return wt},[u,c,g,a,l,dt]),ct=Math.max(1,(a+l)/16),ft=I9*ct*1.5,at=Af*ct*2,ot=ct*2/3,et=ot,Oe=new Array(13).fill(0),[nt,mt]=m.useState(!1),Tt=rQ(a,l,Ae,T,t==null?void 0:t.frameColor,t==null?void 0:t.backsheetColor),Rt=iQ(e),Wt=()=>N&&Rt?h.jsx("meshBasicMaterial",{attach:"material-4",map:Rt}):Tt?Z||E===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Tt,color:w}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((Ae==null?void 0:Ae.color)==="Blue"?Kw:qw),shininess:E??Jm,side:ia,map:Tt,color:w}):null,Ct=()=>(Ae==null?void 0:Ae.bifacialityFactor)===0||Z||f===0&&c===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:w}):Tt?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((Ae==null?void 0:Ae.color)==="Blue"?Kw:qw),shininess:E??Jm,side:ia,map:Tt,color:w}):null;return h.jsxs("group",{name:"Solar Panel Group Grandpa "+e,position:[o,i,r+Te],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+e,rotation:_e,children:[h.jsxs(Ei,{receiveShadow:L,castShadow:L,uuid:e,ref:he,args:[a,l,s],name:"Solar Panel",onPointerDown:wt=>{wt.button!==2&&F(e,wt,zo.Select)},onContextMenu:wt=>{F(e,wt,zo.ContextMenu),R(kt=>{wt.intersections.length>0&&wt.intersections[0].object===he.current&&(kt.contextMenuObjectType=z.SolarPanel)})},onPointerOver:wt=>{wt.intersections.length>0&&wt.intersections[0].object===he.current&&(se(!0),q.style.cursor="move")},onPointerOut:wt=>{se(!1),q.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:w}),h.jsx("meshStandardMaterial",{attach:"material-1",color:w}),h.jsx("meshStandardMaterial",{attach:"material-2",color:w}),h.jsx("meshStandardMaterial",{attach:"material-3",color:w}),Wt(),Ct()]}),N&&Rt&&ye.current&&ye.current.map((wt,kt)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:wt.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},kt)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:e,args:[a,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),ee&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Pe,-Me,0],[-Pe,Me,0],[Pe,Me,0],[Pe,-Me,0],[-Pe,-Me,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),ee&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:pe,position:new re(0,0,0),args:[at,6,6],name:yo.Default,onPointerOver:wt=>{Ee(wt,yo.Top)},onPointerOut:wt=>{Fe()},onPointerDown:wt=>{F(e,wt,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:fe,position:[(De.x+Ye.x)/2,De.y,De.z],args:[ft,ft,s*1.2],name:gt.Lower,onPointerDown:wt=>{F(e,wt,zo.Resize),de.current&&R(kt=>{const qe=fe.current.localToWorld(new re(0,l,-De.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{Ee(wt,gt.Lower)},onPointerOut:wt=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Lower||Y===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:$,position:[(Ne.x+Le.x)/2,Ne.y,Ne.z],args:[ft,ft,s*1.2],name:gt.Upper,onPointerDown:wt=>{F(e,wt,zo.Resize),de.current&&R(kt=>{const qe=$.current.localToWorld(new re(0,-l,-Ne.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{Ee(wt,gt.Upper)},onPointerOut:wt=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Upper||Y===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:de,position:[De.x,(De.y+Ne.y)/2,De.z],args:[ft,ft,s*1.2],name:gt.Left,onPointerDown:wt=>{F(e,wt,zo.Resize),de.current&&R(kt=>{const qe=de.current.localToWorld(new re(a,0,-De.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{Ee(wt,gt.Left)},onPointerOut:wt=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Left||Y===gt.Left?nr:pr})}),h.jsx(Ei,{ref:Se,position:[Ye.x,(Ye.y+Le.y)/2,Ye.z],args:[ft,ft,s*1.2],name:gt.Right,onPointerDown:wt=>{F(e,wt,zo.Resize),de.current&&R(kt=>{const qe=Se.current.localToWorld(new re(-a,0,-Ye.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{Ee(wt,gt.Right)},onPointerOut:wt=>{Fe()},children:h.jsx("meshBasicMaterial",{attach:"material",color:le===gt.Right||Y===gt.Right?nr:pr})})]})]})]}),ee&&!v&&d===Ma.NO_TRACKER&&h.jsxs("group",{position:[0,0,-f],rotation:[0,0,_e.z],children:[h.jsx(l7,{id:e,position:[0,-Me-ot/2,f],color:le===wi.Upper||O===wi.Upper?nr:pr,ratio:ot,handleType:wi.Upper,hoverHandle:Ee,noHoverHandle:Fe}),h.jsx(l7,{id:e,position:[0,Me+ot/2,f],color:le===wi.Lower||O===wi.Lower?nr:pr,ratio:ot,handleType:wi.Lower,hoverHandle:Ee,noHoverHandle:Fe})]}),ee&&!v&&d===Ma.NO_TRACKER&&Math.abs(f)>.1&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[et,1.1*et,18,2,-Vt,Math.PI],rotation:[0,-Vt,_e.z,"ZXY"],onPointerOver:wt=>{Ee(wt,wi.Tilt)},onPointerOut:wt=>{Fe()},onPointerDown:wt=>{if(mt(!0),le){Ln.getState().setEnableOrbitController(!1),ve.current=!0;const kt=U(e);Ie.current=kt.tiltAngle}R(kt=>{kt.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:le===wi.Tilt||nt?nr:pr})}),nt&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:Ce,name:"Solar panel tilt handle",args:[et,2*et,18,2,-Vt,Math.PI],rotation:[0,-Vt,_e.z,"ZXY"],onPointerDown:wt=>{},onPointerUp:wt=>{if(Math.abs(ze.current-Ie.current)>Dt){const kt={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Ie.current,newValue:ze.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{B(kt.changedElementId,kt.oldValue)},redo:()=>{B(kt.changedElementId,kt.newValue)}};J(kt)}},onPointerMove:wt=>{if(ve.current){const kt=new Gt;if(kt.x=wt.offsetX/q.clientWidth*2-1,kt.y=-(wt.offsetY/q.clientHeight)*2+1,oe.setFromCamera(kt,ae),Ce.current){const qe=oe.intersectObjects([Ce.current]);if(qe.length>0){const Je=qe[0].point,st=new re(o,i).applyEuler(new Qt(0,0,S)).add(new re().fromArray(y)).setZ(y[2]+r+Te),Pt=new re().subVectors(Je,st);let Ue=Pt.angleTo(Po);if(!(.5*t.ly*Math.abs(Math.sin(Ue))>t.poleHeight)){const Ve=u,ut=Ve%Math.PI===0?Math.sign(-Pt.y)*Math.sign(Math.cos(Ve)):Math.sign(Pt.x)*Math.sign(Math.sin(Ve));Ue*=ut,B(e,Ue),ze.current=Ue}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,et],[0,0,1.75*et]],rotation:new Qt(c,0,_e.z,"ZXY"),lineWidth:1}),Oe.map((wt,kt)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*kt-Vt,0,_e.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*et],[0,0,2*et]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${kt*15-90}°`,fontSize:20*et,fontFace:"Times Roman",textHeight:.15*et,position:[0,0,1.6*et]})]},kt)),h.jsx("group",{rotation:new Qt(c,0,_e.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(c/Math.PI*180)}°`,fontSize:20*et,fontFace:"Times Roman",textHeight:.2*et,position:[0,0,.75*et]})})]})]}),f>0&&Qe.map((wt,kt)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+kt,castShadow:!1,receiveShadow:!1,args:[p,p,f+(wt.z-dt)*2+s,$e,1],position:wt,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})},kt)),A&&Ge.z>0&&h.jsxs("group",{rotation:[0,0,-S],children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[xt.clone().multiplyScalar(.75),[0,0,0],Ge.clone().multiplyScalar(ge)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[Ge.clone().multiplyScalar(.5),xt.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(Ge.angleTo(xt)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:Ge.clone().multiplyScalar(.75).add(xt.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:xt.clone().multiplyScalar(.75),rotation:[Vt+_e.x,0,_e.z+S,"ZXY"],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",rotation:[0,0,-_e.y],children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]}),(ne||P)&&!ee&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:We,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(Me*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})},W$t=be.memo(L$t),iSe=be.memo(({hx:t,hy:e,position:n,direction:o,color:i})=>{if(n===null)return null;const[r,a]=n,l=[];if(o==="x")l.push([-t,a,0]),l.push([t,a,0]);else if(o==="y")l.push([r,-e,0]),l.push([r,e,0]);else return o==="xy"?h.jsxs(h.Fragment,{children:[h.jsx(Fn,{points:[[-t,a,0],[t,a,0]],color:i}),h.jsx(Fn,{points:[[r,-e,0],[r,e,0]],color:i})]}):null;return h.jsx(Fn,{points:l,color:i})}),cqe="Foundation Group",N$t=be.memo(t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=.1,rotation:l=[0,0,0],color:s="gray",lineColor:c="black",lineWidth:u=.2,locked:d=!1,showLabel:f=!1,textureType:p=Or.NoTexture,solarStructure:g}=t,A=Hs(e),w=M(Sc),b=M(hu),C=M(Vn),P=M(xb),v=M(dn),T=M(e3),y=M(ige),S=M(t3),x=M(R7),R=M(mge),H=M(yge),D=M(_8t),k=M(sge),W=M(tje),N=M(H7),L=M(Rje),E=M(Hje),U=M(hp),F=M(Vc),B=M(uge),_=M(J2),Y=M(W8t),O=M(O8t),J=M(ss),Z=M(sA),ie=M(Mq),ee=M(En),q=M(pge),ae=M(oge),ne=M(ty),se=ht(cs),le=M(wf),te=M(j1e),he=Sn(i1),{camera:pe,gl:{domElement:fe}}=Xi(),[$,de]=m.useState(!1),[Se,Ce]=m.useState(null),[ve,Ie]=m.useState(!1),[ze,ye]=m.useState({show:!1,direction:null,position:null}),[oe,ge]=m.useState([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]),Ae=m.useRef(null),me=m.useRef(!1),Pe=m.useRef(!1),Me=m.useRef(null),Te=m.useRef(Ki.null),De=m.useRef(new Map),Ne=m.useRef(null),Ye=m.useRef(null),Le=m.useRef(null),$e=m.useRef(null),We=m.useRef(null),Ee=m.useRef(null),Fe=m.useRef(null),Ge=m.useRef(null),rt=m.useRef(null),_e=m.useRef(null),xt=m.useRef(null),dt=m.useRef(null),Qe=m.useRef(new re),ct=m.useRef(new re),ft=m.useRef(new re(1,1,1)),at=m.useRef(new re(1,1,1)),ot=m.useRef(0),et=m.useRef(0),Oe=m.useRef([]),nt=m.useRef([]),mt=m.useRef([]),Tt=m.useRef([]),Rt=m.useRef([]),Wt=m.useRef([]),Ct=m.useMemo(()=>({lng:w}),[w]),wt=m.useMemo(()=>new Gt,[]),kt=m.useMemo(()=>new Gs,[]),qe=i/2,Je=r/2,st=a/2,Pt=m.useMemo(()=>new re(-qe,-Je,st),[qe,Je,st]),Ue=m.useMemo(()=>new re(-qe,Je,st),[qe,Je,st]),lt=m.useMemo(()=>new re(qe,-Je,st),[qe,Je,st]),Ve=m.useMemo(()=>new re(qe,Je,st),[qe,Je,st]),ut=UH(),je=ut,yt=ut,Ht=ut*4,At=Je+Ht,It=m.useRef(!1),zt=m.useRef(null),Ft=M(U8t),ln=M(dYe),Xt=m.useMemo(()=>new re,[]);if(Le.current){let cn=-1;switch(Le.current.type){case z.SolarPanel:{cn=Le.current.poleHeight;break}case z.ParabolicTrough:{const qt=Le.current;cn=qt.poleHeight+qt.lx/2;break}case z.ParabolicDish:{const qt=Le.current;cn=qt.poleHeight+qt.lx/2+qt.lx*qt.lx/(4*qt.latusRectum);break}case z.FresnelReflector:{const qt=Le.current;cn=qt.poleHeight+qt.lx/2;break}}cn>=0&&Xt.set(0,0,(t==null?void 0:t.lz)/2+cn)}m.useEffect(()=>{De.current.clear();for(const cn of M.getState().elements)cn.type===z.Wall&&cn.parentId===e&&De.current.set(cn.id,cn)},[e,O]),m.useEffect(()=>{Y&&Y===Ae.current&&(De.current.delete(Y),me.current=!1,Pe.current=!1,Ae.current=null,v(cn=>{cn.addedWallId===cn.deletedWallId&&(cn.addedWallId=null),cn.deletedWallId=null}),Ln.getState().setEnableOrbitController(!0),ye({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]))},[Y]),m.useEffect(()=>{if(t&&se){const cn=he(t.id);Ce(cn?xe.fetchHeatmapTexture(cn,le??5):null)}},[se,le,te]),m.useEffect(()=>{!It.current||!M.getState().getAutoDeletedElements()||fn()},[Ft,ln]);const fn=M2.debounce(()=>{if(!zt.current)return;const cn=M.getState().getAutoDeletedElements();if(!cn)return;const{wall:qt,newAngle:jt,newJoints:pn}=zt.current,Pn={name:"Move Wall",timestamp:Date.now(),id:qt.id,oldPoints:[[...Rt.current[0]],[...Rt.current[1]]],newPoints:[[...qt.leftPoint],[...qt.rightPoint]],oldJoints:[[...mt.current[0]],[...mt.current[1]]],newJoints:[[...pn[0]],[...pn[1]]],oldAngle:ot.current,newAngle:jt,flippedWallSide:Te.current,autoDeletedElements:[...cn],undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Bt=C(this.newJoints[0][0]);Bt&&qo(Bt);break}case Ki.right:{const Bt=C(this.newJoints[1][0]);Bt&&Hi(Bt);break}}const[Ze,bt]=this.oldJoints,[Nt,St]=this.newJoints;v(Bt=>{for(const Jt of Bt.elements)if(Jt.id===this.id){const[an,gn]=this.oldPoints;Jt.cx=(an[0]+gn[0])/2,Jt.cy=(an[1]+gn[1])/2,Jt.lx=Math.hypot(an[0]-gn[0],an[1]-gn[1]);const mn=Jt;mn.relativeAngle=this.oldAngle,mn.leftPoint=[...an],mn.rightPoint=[...gn],mn.leftJoints=[...Ze],mn.rightJoints=[...bt];break}Bt.resizeHandleType=null,Bt.elements.push(...this.autoDeletedElements),Bt.deletedRoofId=null,Bt.autoDeletedChild=null,Bt.autoDeletedRoofs=null,Bt.autoDeletedRoofIdSet.clear()}),Ze[0]!==Nt[0]&&v(Bt=>{for(const Jt of Bt.elements)Jt.type===z.Wall&&(Jt.id===Ze[0]&&(Jt.rightJoints=[this.id]),Jt.id===Nt[0]&&(this.flippedWallSide!==Ki.left?Jt.rightJoints=[]:Jt.leftJoints=[]))}),bt[0]!==St[0]&&v(Bt=>{for(const Jt of Bt.elements)Jt.type===z.Wall&&(Jt.id===bt[0]&&(Jt.leftJoints=[this.id]),Jt.id===St[0]&&(this.flippedWallSide!==Ki.right?Jt.leftJoints=[]:Jt.rightJoints=[]))}),Te.current=Ki.null},redo(){const[Ze,bt]=this.oldJoints,[Nt,St]=this.newJoints;switch(v(Jt=>{for(const an of Jt.elements)if(an.id===this.id&&an.type===z.Wall){const[gn,mn]=this.newPoints;an.cx=(gn[0]+mn[0])/2,an.cy=(gn[1]+mn[1])/2,an.lx=Math.hypot(gn[0]-mn[0],gn[1]-mn[1]);const vn=an;vn.relativeAngle=this.newAngle,vn.leftPoint=[...gn],vn.rightPoint=[...mn],vn.leftJoints=[...Nt],vn.rightJoints=[...St];break}}),Ze[0]!==Nt[0]&&v(Jt=>{for(const an of Jt.elements)an.type===z.Wall&&(an.id===Ze[0]&&(an.rightJoints=[]),an.id===Nt[0]&&(this.flippedWallSide===Ki.right?an.leftJoints=[this.id]:an.rightJoints=[this.id]))}),bt[0]!==St[0]&&v(Jt=>{for(const an of Jt.elements)an.type===z.Wall&&(an.id===bt[0]&&(an.leftJoints=[]),an.id===St[0]&&(this.flippedWallSide===Ki.right?an.rightJoints=[this.id]:an.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const Jt=C(this.newJoints[0][0]);Jt&&Hi(Jt);break}case Ki.right:{const Jt=C(this.newJoints[1][0]);Jt&&qo(Jt);break}}const Bt=new Set(this.autoDeletedElements.map(Jt=>Jt.id));v(Jt=>{Jt.resizeHandleType=null,Jt.elements=Jt.elements.filter(gn=>!Bt.has(gn.id));const an=this.autoDeletedElements.find(gn=>gn.type===z.Roof);an&&(Jt.deletedRoofId=an.id)}),Te.current=Ki.null}};ee(Pn),It.current=!1,v(Ze=>{Ze.autoDeletedRoofs=null,Ze.autoDeletedRoofIdSet.clear(),Ze.autoDeletedChild=null})},100),rn=cn=>{wt.x=cn.offsetX/fe.clientWidth*2-1,wt.y=-(cn.offsetY/fe.clientHeight)*2+1,kt.setFromCamera(wt,pe)},bn=cn=>{switch(cn){case Or.Texture01:return{x:1,y:1};case Or.Texture02:return{x:2,y:2};case Or.Texture03:return{x:.4,y:.4};case Or.Texture04:return{x:.25,y:.25};case Or.Texture05:return{x:5,y:5};case Or.Texture06:return{x:1,y:1};case Or.Texture07:return{x:1,y:1};default:return{x:1,y:1}}},Tn=m.useMemo(()=>{let cn;switch(p){case Or.Texture01:cn=tqe;break;case Or.Texture02:cn=nqe;break;case Or.Texture03:cn=oqe;break;case Or.Texture04:cn=iqe;break;case Or.Texture05:cn=rqe;break;case Or.Texture06:cn=aqe;break;case Or.Texture07:cn=lqe;break;default:cn=eg}return new nf().load(cn,qt=>{qt.wrapS=qt.wrapT=Ss;const jt=bn(p);qt.repeat.set(i/jt.x,r/jt.y),Ai(qt)})},[p,i,r]),[Un,Ai]=m.useState(Tn),vo=m.useCallback((cn,qt)=>{ht.getState().duringCameraInteraction||cn.intersections.length>0&&(cn.intersections[0].object===cn.eventObject||cn.intersections.length>1&&cn.intersections[1].object===cn.eventObject)&&(v(pn=>{pn.hoveredHandle=qt}),xe.isMoveHandle(qt)?fe.style.cursor="move":qt===wi.Lower||qt===wi.Upper?fe.style.cursor="grab":fe.style.cursor=M.getState().addedFoundationId?"crosshair":"pointer")},[]),Oo=m.useCallback(()=>{v(cn=>{cn.hoveredHandle=null}),fe.style.cursor=M.getState().addedFoundationId?"crosshair":"default"},[]),si=cn=>{switch(cn){case z.Human:case z.Tree:case z.Flower:case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Wall:return!0;default:return!1}},po=(cn,qt)=>{let jt=qt,pn=null,Pn=null,Ze=null,bt;if(!M.getState().enableFineGrid)for(const[Nt,St]of De.current){if(Nt===Ae.current||Le.current&&Nt===Le.current.id)continue;const Bt=new re(St.leftPoint[0],St.leftPoint[1],0),Jt=new re(St.rightPoint[0],St.rightPoint[1],0),an=(Bt==null?void 0:Bt.distanceTo(cn))??Number.MAX_VALUE,gn=(Jt==null?void 0:Jt.distanceTo(cn))??Number.MAX_VALUE,mn=an<=gn,vn=mn?an:gn,kn=mn?Bt:Jt;vn<=jt+.01&&(jt=vn,pn=kn,bt=mn?St.leftJoints[0]:St.rightJoints[0],Pn=Nt,Ze=mn?j1.Left:j1.Right)}return{id:Pn,point:pn,side:Ze,jointId:bt}},eo=(cn,qt)=>(M.getState().enableFineGrid?(cn=xe.snapToFineGrid(cn),qt=null):qt?cn=qt:cn=xe.snapToNormalGrid(cn),cn),uo=cn=>{De.current.clear();for(const jt of M.getState().elements)jt.type===z.Wall&&jt.parentId===e&&De.current.set(jt.id,jt);let qt=De.current.get(cn);for(;qt&&qt.leftJoints.length>0;){const jt=De.current.get(qt.id);if(!jt||(v(pn=>{for(const Pn of pn.elements)if(Pn.id===jt.id){const Ze=Pn;Ze.relativeAngle=(jt.relativeAngle+Math.PI)%na,Ze.leftPoint=[...jt.rightPoint],Ze.rightPoint=[...jt.leftPoint],Ze.leftJoints=[jt.rightJoints[0]],Ze.rightJoints=[jt.leftJoints[0]];break}}),qt=De.current.get(qt.leftJoints[0]),qt&&qt.id===cn))break}v(jt=>{jt.updateWallMapOnFoundationFlag=!jt.updateWallMapOnFoundationFlag,M.getState().resizeHandleType&&(jt.resizeHandleType=M.getState().resizeHandleType===gt.LowerLeft?gt.LowerRight:gt.LowerLeft)}),Te.current=Te.current===Ki.null?Ki.loop:Ki.null},qo=(cn,qt)=>{De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);const jt=cn;let pn=cn;for(;pn;){const Pn=De.current.get(pn.id);if(!Pn)break;v(bt=>{for(const Nt of bt.elements)if(Pn&&Nt.id===Pn.id){const St=Nt;St.relativeAngle=(Pn.relativeAngle+Math.PI)%na,St.leftPoint=[...Pn.rightPoint],St.rightPoint=[...Pn.leftPoint],St.leftJoints=Pn.rightJoints.length>0?[Pn.rightJoints[0]]:[],St.rightJoints=Pn.leftJoints.length>0?[Pn.leftJoints[0]]:[];break}});let Ze;if(Pn.leftJoints.length>0&&(Ze=De.current.get(Pn.leftJoints[0])),Ze&&Ze.id!==jt.id)pn=Ze;else break}v(Pn=>{if(qt)for(const Ze of Pn.elements)Ze.type===z.Wall&&(Ze.id===jt.id&&(Ze.leftJoints=[qt.id]),Ze.id===qt.id&&(Ze.rightJoints=[jt.id]));Pn.updateWallMapOnFoundationFlag=!Pn.updateWallMapOnFoundationFlag,Pn.resizeHandleType=gt.LowerLeft}),Te.current=Te.current===Ki.null?Ki.right:Ki.null},Hi=(cn,qt)=>{De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);const jt=cn;let pn=cn;for(;pn;){const Pn=De.current.get(pn.id);if(!Pn)break;v(bt=>{for(const Nt of bt.elements)if(Pn&&Nt.id===Pn.id){const St=Nt;St.relativeAngle=(Pn.relativeAngle+Math.PI)%na,St.leftPoint=[...Pn.rightPoint],St.rightPoint=[...Pn.leftPoint],St.leftJoints=Pn.rightJoints.length>0?[Pn.rightJoints[0]]:[],St.rightJoints=Pn.leftJoints.length>0?[Pn.leftJoints[0]]:[];break}});let Ze;if(Pn.rightJoints.length>0&&(Ze=De.current.get(Pn.rightJoints[0])),Ze&&Ze.id!==jt.id)pn=Ze;else break}v(Pn=>{if(qt)for(const Ze of Pn.elements)Ze.type===z.Wall&&(Ze.id===jt.id&&(Ze.rightJoints=[qt.id]),Ze.id===qt.id&&(Ze.leftJoints=[jt.id]));Pn.updateWallMapOnFoundationFlag=!Pn.updateWallMapOnFoundationFlag,Pn.resizeHandleType=gt.LowerRight}),Te.current=Te.current===Ki.null?Ki.left:Ki.null},vi=cn=>{let qt;De.current.clear();for(const pn of M.getState().elements)pn.id===cn&&(qt=pn),pn.type===z.Wall&&pn.parentId===e&&De.current.set(pn.id,pn);let jt=!1;for(;qt&&qt.leftJoints.length>0;)if(qt=De.current.get(qt.leftJoints[0]),(qt==null?void 0:qt.id)===cn){jt=!0;break}if(jt){let pn=0,Pn=0;for(;qt&&qt.leftJoints.length>0;){const Ze=De.current.get(qt.leftJoints[0]),bt=(Math.PI*3-(qt.relativeAngle-Ze.relativeAngle))%na;if(pn+=bt,Pn+=1,qt=Ze,qt.id===cn)break}pn>(Pn-2)*Math.PI+.1?uo(cn):Te.current!==Ki.null&&(Te.current=Ki.loop)}return jt},Cn=cn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:cn,undo:()=>{U(qt.addedElement.id,!1)},redo:()=>{v(jt=>{jt.elements.push(qt.addedElement),jt.selectedElement=qt.addedElement})}};ee(qt)},yn=cn=>{const qt={name:"Add",timestamp:Date.now(),addedElement:cn,flippedWallSide:Te.current,undo:()=>{const jt=qt.addedElement;if(U(jt.id,!1),(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop)&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&Hi(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&qo(pn)}},redo:()=>{const jt=qt.addedElement;if(qt.flippedWallSide===Ki.right||qt.flippedWallSide===Ki.loop&&jt.rightJoints.length>0){const pn=C(jt.rightJoints[0]);pn&&qo(pn)}else if(qt.flippedWallSide===Ki.left&&jt.leftJoints.length>0){const pn=C(jt.leftJoints[0]);pn&&Hi(pn)}jt.rightJoints.length>0&&R(jt.rightJoints[0],[jt.id]),jt.leftJoints.length>0&&H(jt.leftJoints[0],[jt.id]),v(pn=>{pn.elements.push(jt),pn.selectedElement=jt,pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag})}};ee(qt)},to=cn=>{const qt=M.getState().getAutoDeletedElements(),jt={name:"Resize Wall",timestamp:Date.now(),resizedElementId:cn.id,resizedElementType:cn.type,oldPosition:Qe.current.clone(),newPosition:ct.current.clone(),oldDimension:ft.current.clone(),newDimension:at.current.clone(),oldAngle:ot.current,newAngle:et.current,oldJoints:[[...mt.current[0]],[...mt.current[1]]],newJoints:[[...Tt.current[0]],[...Tt.current[1]]],oldPoint:[[...Rt.current[0]],[...Rt.current[1]]],newPoint:[[...Wt.current[0]],[...Wt.current[1]]],flippedWallSide:Te.current,autoDeletedElement:qt?[...qt]:[],undo:()=>{switch(jt.flippedWallSide){case Ki.right:if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}break;case Ki.left:if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break;case Ki.loop:if(jt.newJoints[0]&&jt.newJoints[1])uo(jt.resizedElementId);else if(jt.newJoints[1]){const pn=C(jt.newJoints[1][0]);pn&&Hi(pn)}else if(jt.newJoints[0]){const pn=C(jt.newJoints[0][0]);pn&&qo(pn)}break}v(pn=>{for(const Pn of pn.elements)if(Pn.id===jt.resizedElementId){const Ze=Pn;switch(Ze.cx=jt.oldPosition.x,Ze.cy=jt.oldPosition.y,Ze.cz=jt.oldPosition.z,Ze.lx=jt.oldDimension.x,Ze.ly=jt.oldDimension.y,Ze.lz=jt.oldDimension.z,Ze.relativeAngle=jt.oldAngle,Ze.leftJoints=[...jt.oldJoints[0]],Ze.rightJoints=[...jt.oldJoints[1]],Ze.leftPoint=[...jt.oldPoint[0]],Ze.rightPoint=[...jt.oldPoint[1]],jt.flippedWallSide){case Ki.loop:{if(jt.oldJoints[0]!==jt.newJoints[1])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[1][0]&&(bt.rightJoints=[]),bt.id===jt.oldJoints[0][0]&&(bt.rightJoints=[jt.resizedElementId]));else if(jt.oldJoints[1]!==jt.newJoints[0])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[0][0]&&(bt.leftJoints=[]),bt.id===jt.oldJoints[1][0]&&(bt.leftJoints=[jt.resizedElementId]));break}case Ki.left:case Ki.right:{if(!jt.oldJoints[0]&&jt.newJoints[1]){for(const bt of pn.elements)if(bt.type===z.Wall&&bt.id===jt.newJoints[1][0]){bt.leftJoints=[];break}}else if(!jt.oldJoints[1]&&jt.newJoints[0]){for(const bt of pn.elements)if(bt.type===z.Wall&&bt.id===jt.newJoints[0][0]){bt.rightJoints=[];break}}else if(jt.flippedWallSide===Ki.left&&jt.oldJoints[0])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[1][0]&&(bt.leftJoints=[]),bt.id===jt.oldJoints[0][0]&&(bt.rightJoints=[Ze.id]));else if(jt.flippedWallSide===Ki.right&&jt.oldJoints[1])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[0][0]&&(bt.rightJoints=[]),bt.id===jt.oldJoints[1][0]&&(bt.leftJoints=[Ze.id]));break}case Ki.null:{if(jt.oldJoints[0]!==jt.newJoints[0])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[0][0]&&(bt.rightJoints=[]),bt.id===jt.oldJoints[0][0]&&(bt.rightJoints=[Ze.id]));if(jt.oldJoints[1]!==jt.newJoints[1])for(const bt of pn.elements)bt.type===z.Wall&&(bt.id===jt.newJoints[1][0]&&(bt.leftJoints=[]),bt.id===jt.oldJoints[1][0]&&(bt.leftJoints=[Ze.id]));pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag;break}}break}pn.elements.push(...jt.autoDeletedElement),pn.resizeHandleType=null,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=null}),Te.current=Ki.null},redo:()=>{jt.autoDeletedElement.length>0&&U(jt.autoDeletedElement[0].id,!1,!1,!0);const pn=new Set(jt.autoDeletedElement.map(Pn=>Pn.id));switch(v(Pn=>{Pn.elements=Pn.elements.filter(Ze=>!pn.has(Ze.id));for(const Ze of Pn.elements)if(Ze.id===jt.resizedElementId){const bt=Ze;switch(bt.cx=jt.newPosition.x,bt.cy=jt.newPosition.y,bt.cz=jt.newPosition.z,bt.lx=jt.newDimension.x,bt.ly=jt.newDimension.y,bt.lz=jt.newDimension.z,jt.flippedWallSide){case Ki.left:bt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Pn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[0][0]){Nt.rightJoints=[];break}break;case Ki.right:bt.relativeAngle=(jt.newAngle+Math.PI)%na;for(const Nt of Pn.elements)if(Nt.type===z.Wall&&Nt.id===jt.oldJoints[1][0]){Nt.leftJoints=[];break}break;case Ki.loop:bt.relativeAngle=(jt.newAngle+Math.PI)%na,bt.leftJoints=[...jt.newJoints[1]],bt.rightJoints=[...jt.newJoints[0]],bt.leftPoint=[...jt.newPoint[1]],bt.rightPoint=[...jt.newPoint[0]];for(const Nt of Pn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.leftJoints=[bt.id]),Nt.id===jt.newJoints[1][0]&&(Nt.rightJoints=[bt.id]));break;case Ki.null:if(bt.relativeAngle=jt.newAngle,bt.leftJoints=[...jt.newJoints[0]],bt.rightJoints=[...jt.newJoints[1]],bt.leftPoint=[...jt.newPoint[0]],bt.rightPoint=[...jt.newPoint[1]],jt.oldJoints[0][0]!==jt.newJoints[0][0])for(const Nt of Pn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[0][0]&&(Nt.rightJoints=[bt.id]),Nt.id===jt.oldJoints[0][0]&&(Nt.rightJoints=[]));if(jt.oldJoints[1][0]!==jt.newJoints[1][0])for(const Nt of Pn.elements)Nt.type===z.Wall&&(Nt.id===jt.newJoints[1][0]&&(Nt.leftJoints=[bt.id]),Nt.id===jt.oldJoints[1][0]&&(Nt.leftJoints=[]));Pn.updateWallMapOnFoundationFlag=!Pn.updateWallMapOnFoundationFlag;break}break}Pn.resizeHandleType=null}),setTimeout(()=>{v(Pn=>{Pn.deletedRoofId=null,Pn.autoDeletedRoofs=null,Pn.autoDeletedRoofIdSet.clear()})}),jt.flippedWallSide){case Ki.left:{const Pn=C(jt.resizedElementId),Ze=C(jt.newJoints[1][0]);Hi(Pn,Ze);break}case Ki.right:{const Pn=C(jt.resizedElementId),Ze=C(jt.newJoints[0][0]);qo(Pn,Ze);break}case Ki.loop:De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);uo(jt.resizedElementId);break}Te.current=Ki.null}};ee(jt),v(pn=>{pn.actionState.wallHeight=cn.lz,pn.deletedRoofId=null,pn.autoDeletedRoofs=null,pn.autoDeletedRoofIdSet.clear(),pn.autoDeletedChild=[]})},Eo=(cn,qt,jt)=>{if(cn.roofId)It.current=!0,zt.current={wall:cn,newAngle:qt,newJoints:[[...jt[0]],[...jt[1]]]};else{const pn={name:"Move Wall",timestamp:Date.now(),id:cn.id,oldPoints:[[...Rt.current[0]],[...Rt.current[1]]],newPoints:[[...cn.leftPoint],[...cn.rightPoint]],oldJoints:[[...mt.current[0]],[...mt.current[1]]],newJoints:[[...jt[0]],[...jt[1]]],oldAngle:ot.current,newAngle:qt,flippedWallSide:Te.current,undo(){switch(this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const St=C(this.newJoints[0][0]);St&&qo(St);break}case Ki.right:{const St=C(this.newJoints[1][0]);St&&Hi(St);break}}const[Pn,Ze]=this.oldJoints,[bt,Nt]=this.newJoints;v(St=>{for(const Bt of St.elements)if(Bt.id===this.id){const[Jt,an]=this.oldPoints;Bt.cx=(Jt[0]+an[0])/2,Bt.cy=(Jt[1]+an[1])/2,Bt.lx=Math.hypot(Jt[0]-an[0],Jt[1]-an[1]);const gn=Bt;gn.relativeAngle=this.oldAngle,gn.leftPoint=[...Jt],gn.rightPoint=[...an],gn.leftJoints=[...Pn],gn.rightJoints=[...Ze];break}St.resizeHandleType=null}),Pn[0]!==bt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Pn[0]&&(Bt.rightJoints=[this.id]),Bt.id===bt[0]&&(this.flippedWallSide!==Ki.left?Bt.rightJoints=[]:Bt.leftJoints=[]))}),Ze[0]!==Nt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Ze[0]&&(Bt.leftJoints=[this.id]),Bt.id===Nt[0]&&(this.flippedWallSide!==Ki.right?Bt.leftJoints=[]:Bt.rightJoints=[]))}),Te.current=Ki.null},redo(){const[Pn,Ze]=this.oldJoints,[bt,Nt]=this.newJoints;switch(v(St=>{for(const Bt of St.elements)if(Bt.id===this.id&&Bt.type===z.Wall){const[Jt,an]=this.newPoints;Bt.cx=(Jt[0]+an[0])/2,Bt.cy=(Jt[1]+an[1])/2,Bt.lx=Math.hypot(Jt[0]-an[0],Jt[1]-an[1]);const gn=Bt;gn.relativeAngle=this.newAngle,gn.leftPoint=[...Jt],gn.rightPoint=[...an],gn.leftJoints=[...bt],gn.rightJoints=[...Nt];break}}),Pn[0]!==bt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Pn[0]&&(Bt.rightJoints=[]),Bt.id===bt[0]&&(this.flippedWallSide===Ki.right?Bt.leftJoints=[this.id]:Bt.rightJoints=[this.id]))}),Ze[0]!==Nt[0]&&v(St=>{for(const Bt of St.elements)Bt.type===z.Wall&&(Bt.id===Ze[0]&&(Bt.leftJoints=[]),Bt.id===Nt[0]&&(this.flippedWallSide===Ki.right?Bt.rightJoints=[this.id]:Bt.leftJoints=[this.id]))}),this.flippedWallSide){case Ki.loop:{uo(this.id);break}case Ki.left:{const St=C(this.newJoints[0][0]);St&&Hi(St);break}case Ki.right:{const St=C(this.newJoints[1][0]);St&&qo(St);break}}v(St=>{St.resizeHandleType=null}),Te.current=Ki.null}};ee(pn)}},ni=cn=>{if(cn.button===2){cn.altKey&&F(e,cn,zo.Select);return}v(pn=>{pn.contextMenuObjectType=null}),M.getState().objectTypeToAdd!==z.Window&&!q()&&F(e,cn,zo.Select);const qt=P();let jt=!1;if(cn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(jt=!0),(qt==null?void 0:qt.id)===e||jt)if(si(M.getState().objectTypeToAdd)){if(t){Ie(!0);const pn=cn.intersections.filter(Ze=>!Ze.eventObject.name.startsWith("Wall Intersection Plane"))[0].point,Pn=B(t,pn);Pn&&Cn(Pn),v(Ze=>{Ze.actionModeLock||(Ze.objectTypeToAdd=z.None)})}}else Ln.getState().selectNone(),Ln.setState({foundationRef:Ne});else if(qt&&qt.parentId===e&&si(qt.type))switch(Le.current=qt,qt.type===z.Wall&&!me.current&&(Me.current=[...M.getState().elements]),Ie(!0),Qe.current.set(qt.cx,qt.cy,qt.cz),ft.current.set(qt.lx,qt.ly,qt.lz),ht.getState().setPrimitiveStore("oldParentId",e),ht.getState().setPrimitiveStore("oldFoundationId",e),qt.type){case z.SolarPanel:case z.ParabolicTrough:case z.FresnelReflector:{ot.current=qt.relativeAzimuth;break}case z.Polygon:{Oe.current=qt.vertices.map(pn=>({...pn}));break}case z.Wall:{const pn=qt;ot.current=pn.relativeAngle,mt.current=[[...pn.leftJoints],[...pn.rightJoints]],Rt.current=[[...pn.leftPoint],[...pn.rightPoint]],bo.current=pn.leftJoints[0],Ro.current=pn.rightJoints[0],De.current.clear();for(const Pn of M.getState().elements)Pn.type===z.Wall&&Pn.parentId===e&&De.current.set(Pn.id,Pn);break}}if(me.current&&Ae.current&&Ye.current){const pn=kt.intersectObjects([Ye.current]);if(pn.length===0)return;let Pn=xe.wallRelativePosition(pn[0].point,t);oe[0].position&&(Pn.setX(oe[0].position[0]),Pn.setY(oe[0].position[1]));const{id:Ze,point:bt,side:Nt,jointId:St}=po(Pn,1.5);Pn=eo(Pn,bt);let Bt=gt.LowerRight;if(Ze){const Jt=C(Ze);Nt===j1.Right?v(an=>{for(const gn of an.elements)if(gn.type===z.Wall){if(gn.id===Ae.current){const mn=gn;mn.cx=Pn.x,mn.cy=Pn.y,Jt.rightJoints.length===0&&(mn.leftJoints=[Jt.id])}gn.id===Ze&&Jt.rightJoints.length===0&&(gn.rightJoints=Ae.current?[Ae.current]:[])}}):Nt===j1.Left&&!St&&(v(an=>{for(const gn of an.elements)if(gn.type===z.Wall){if(gn.id===Ae.current){const mn=gn;mn.cx=Pn.x,mn.cy=Pn.y,Jt.leftJoints.length===0&&(mn.rightJoints=[Jt.id])}gn.id===Ze&&Jt.leftJoints.length===0&&(gn.leftJoints=Ae.current?[Ae.current]:[])}}),Bt=gt.LowerLeft)}else T(Ae.current,Pn.x,Pn.y);me.current=!1,Pe.current=!0,D(Ae.current,[Pn.x,Pn.y,Pn.z]),v(Jt=>{Jt.resizeHandleType=Bt,Jt.resizeAnchor=xe.wallAbsolutePosition(Pn,t)}),Ln.getState().setEnableOrbitController(!1),Le.current=qt}},Lo=cn=>{if(Wl&&Cc(!1),cn.altKey&&cn.button===2&&E&&E.length>0){v(pn=>{pn.pastePoint.copy(cn.intersections[0].point),pn.clickObjectType=z.Foundation,pn.pasteNormal=Po});const jt=L();if(jt.length>0){const pn={name:"Paste to Point",timestamp:Date.now(),pastedElements:jt.map(Pn=>({...Pn})),undo:()=>{for(const Pn of pn.pastedElements)U(Pn.id,!1)},redo:()=>{v(Pn=>{Pn.elements.push(...pn.pastedElements),Pn.selectedElement=pn.pastedElements[0]})}};ee(pn)}}if(!Le.current||Le.current.type===z.Tree||Le.current.type===z.Flower||Le.current.type===z.Human)return;const qt=C(Le.current.id);if(qt){switch(qt.type){case z.Wall:{const jt=qt;if(me.current)v(pn=>{pn.elements.pop(),pn.addedWallId=null,pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn))}),Ae.current&&De.current.delete(Ae.current),Ae.current=null,me.current=!1,Pe.current=!1;else if(Pe.current&&Ae.current&&Ye.current)Ln.getState().setEnableOrbitController(!0),v(pn=>{pn.actionModeLock&&(pn.objectTypeToAdd=z.Wall,mx.selectNone(pn)),pn.addedWallId=null,jt.lx===0&&Me.current?(pn.elements=[...Me.current],Ae.current&&De.current.delete(Ae.current)):(yn(jt),De.current.set(jt.id,jt))}),Ae.current=null,Pe.current=!1;else if(M.getState().resizeHandleType)jt.lx>.45?(De.current.set(jt.id,jt),ct.current.set(jt.cx,jt.cy,jt.cz),at.current.set(jt.lx,jt.ly,jt.lz),et.current=jt.relativeAngle,Tt.current=[[...jt.leftJoints],[...jt.rightJoints]],Wt.current=[[...jt.leftPoint],[...jt.rightPoint]],to(jt)):v(pn=>{Me.current&&(pn.elements=[...Me.current],Me.current=null)});else if(M.getState().moveHandleType){let pn=jt.relativeAngle,Pn=[],Ze=[];if(bo.current)if(jt.leftJoints.length>0&&(bo.current!==jt.leftJoints[0]||bo.current===jt.leftJoints[0]&&oi.current)&&H(jt.leftJoints[0],[]),oi.current)R(bo.current,[jt.id]),Ze=[bo.current];else if(Pn=[bo.current],So.current){R(bo.current,[jt.id]);const bt=C(bo.current);bt&&Hi(bt)}else H(bo.current,[jt.id]);else jt.leftJoints.length>0&&jt.leftJoints[0]!==Ro.current&&(Pn=[],H(jt.leftJoints[0],[]));if(Ro.current)if(jt.rightJoints.length>0&&(Ro.current!==jt.rightJoints[0]||Ro.current===jt.rightJoints[0]&&oi.current)&&jt.rightJoints[0]!==bo.current&&R(jt.rightJoints[0],[]),oi.current)H(Ro.current,[jt.id]),Pn=[Ro.current];else if(Ze=[Ro.current],go.current){H(Ro.current,[jt.id]);const bt=C(Ro.current);bt&&qo(bt)}else R(Ro.current,[jt.id]);else jt.rightJoints.length>0&&jt.rightJoints[0]!==bo.current&&(Ze=[],R(jt.rightJoints[0],[]));v(bt=>{for(const Nt of bt.elements)if(Nt.id===jt.id&&Nt.type===z.Wall){const St=Nt;if(oi.current&&(pn=(St.relativeAngle+Math.PI)%na,St.relativeAngle=pn,[St.leftPoint,St.rightPoint]=[[...St.rightPoint],[...St.leftPoint]]),Pn.length===0&&Ze.length===0)St.roofId=null;else if(Pn.length>0){const Bt=bt.elements.find(Jt=>Jt.id===Pn[0]);Bt&&(St.roofId=Bt.roofId)}else if(Ze.length>0){const Bt=bt.elements.find(Jt=>Jt.id===Ze[0]);Bt&&(St.roofId=Bt.roofId)}St.leftJoints=[...Pn],St.rightJoints=[...Ze];break}bt.updateWallMapOnFoundationFlag=!bt.updateWallMapOnFoundationFlag}),vi(jt.id),Eo(jt,pn,[[...Pn],[...Ze]]),oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null}Te.current=Ki.null,v(pn=>{pn.updateWallMapOnFoundationFlag=!pn.updateWallMapOnFoundationFlag}),ye({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}]);break}case z.Polygon:{if(M.getState().moveHandleType||M.getState().resizeHandleType){nt.current=qt.vertices.map(pn=>({...pn}));const jt={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Oe.current,newValue:nt.current,changedElementId:qt.id,changedElementType:qt.type,undo:()=>{N(jt.changedElementId,jt.oldValue)},redo:()=>{N(jt.changedElementId,jt.newValue)}};ee(jt)}break}default:if(M.getState().resizeHandleType){if(ct.current.set(qt.cx,qt.cy,qt.cz),at.current.set(qt.lx,qt.ly,qt.lz),ct.current.distanceToSquared(Qe.current)>Dt||at.current.distanceToSquared(ft.current)>Dt){const jt={name:"Resize",timestamp:Date.now(),resizedElementId:Le.current.id,resizedElementType:Le.current.type,oldCx:Qe.current.x,oldCy:Qe.current.y,oldCz:Qe.current.z,newCx:ct.current.x,newCy:ct.current.y,newCz:ct.current.z,oldLx:ft.current.x,oldLy:ft.current.y,oldLz:ft.current.z,newLx:at.current.x,newLy:at.current.y,newLz:at.current.z,undo:()=>{T(jt.resizedElementId,jt.oldCx,jt.oldCy,jt.oldCz),y(jt.resizedElementId,jt.oldLx,jt.oldLy,jt.oldLz)},redo:()=>{T(jt.resizedElementId,jt.newCx,jt.newCy,jt.newCz),y(jt.resizedElementId,jt.newLx,jt.newLy,jt.newLz)}};ee(jt)}}else if(M.getState().rotateHandleType){if(xe.isSolarCollector(Le.current)){const jt=Le.current;if(Math.abs(et.current-ot.current)>Dt)if(Pc(jt,et.current)){v(Pn=>{Pn.selectedElementAngle=et.current});const pn={name:"Rotate",timestamp:Date.now(),oldValue:ot.current,newValue:et.current,changedElementId:jt.id,changedElementType:jt.type,undo:()=>{k(pn.changedElementId,pn.oldValue)},redo:()=>{k(pn.changedElementId,pn.newValue)}};ee(pn)}else k(jt.id,ot.current)}}else if(ct.current.set(qt.cx,qt.cy,qt.cz),ct.current.distanceToSquared(Qe.current)>Dt){let jt=!0;xe.isSolarCollector(qt)&&(jt=Br(qt,qt.cx,qt.cy)),jt?wd.addUndoableMove():v(pn=>{const Pn=pn.elements.find(St=>St.id===qt.id);if(!Pn||!pn.selectedElement)return;const Ze=pn.selectedElement;Pn.cx=Ze.cx,Pn.cy=Ze.cy,Pn.cz=Ze.cz,Pn.rotation=[...Ze.rotation],Pn.normal=[...Ze.normal];const bt=ht.getState().oldParentId,Nt=ht.getState().oldFoundationId;bt&&(Pn.parentId=bt),Nt&&(Pn.foundationId=Nt)})}}Ie(!1),Le.current=null,v(jt=>{jt.resizeHandleType=null,jt.moveHandleType=null})}},bo=m.useRef(null),Ro=m.useRef(null),oi=m.useRef(!1),go=m.useRef(!1),So=m.useRef(!1),Uo=(cn,qt,jt)=>{let pn=Math.atan2(qt.y-cn.y,qt.x-cn.x)-(jt===gt.LowerLeft?Math.PI:0);return pn=pn>=0?pn:(na+pn)%na,pn},_i=(cn,qt)=>{let pn=null,Pn=null,Ze=1/0,bt=1/0;for(const[Nt,St]of De.current)if(Le.current!==null&&St.id!==Le.current.id&&St.id!==qt){const Bt=Math.abs(cn.x-St.leftPoint[0]),Jt=Math.abs(cn.x-St.rightPoint[0]),an=Math.abs(cn.y-St.leftPoint[1]),gn=Math.abs(cn.y-St.rightPoint[1]);Bt<1&&Bt{const Ze=Uo(cn,qt,jt);let bt=null,Nt=null;return Ze<.05||Ze>na-.05||Math.abs(Ze-Math.PI)<.05||Math.abs(qt.y-cn.y)<1?Nt=cn.y:(Math.abs(Ze-Math.PI/2)<.05||Math.abs(Ze-3*Math.PI/2)<.05||Math.abs(qt.x-cn.x)<1)&&(bt=cn.x),[bt,Nt]},ar=(cn,qt,jt,pn)=>{const[Pn,Ze]=_i(qt),[bt,Nt]=Qo(cn,qt,jt),St=ur(qt.x,Pn,bt),Bt=ur(qt.y,Ze,Nt);return new re(St,Bt,qt.z)},ur=(cn,qt,jt)=>qt!==null&&jt!==null?Math.abs(qt-cn){let[pn,Pn]=[1/0,1/0],Ze=null,bt=null;for(const[Nt,St]of De.current)if(Le.current!==null&&St.id!==Le.current.id&&St.id!==jt){const Bt=Math.abs(cn.x-St.leftPoint[0]),Jt=Math.abs(cn.x-St.rightPoint[0]);Bt<.01&&Bt{Ze!==null&&bt!==null?(Nt[qt].direction="xy",Nt[qt].position=[Ze,bt]):Ze!==null?(Nt[qt].direction="y",Nt[qt].position=[Ze,cn.y]):bt!==null?(Nt[qt].direction="x",Nt[qt].position=[cn.x,bt]):(Nt[qt].direction=null,Nt[qt].position=null)})),[Ze!==null,bt!==null]},ba=(cn,qt)=>Math.abs(qt)<.01||Math.abs(qt-Math.PI)<.01?(ye(jt=>({...jt,direction:"x",position:[cn.x,cn.y]})),[!0,!1]):Math.abs(qt-Math.PI/2)<.01||Math.abs(qt-3*Math.PI/2)<.01?(ye(jt=>({...jt,direction:"y",position:[cn.x,cn.y]})),[!1,!0]):(ye(jt=>({...jt,direction:null,position:null})),[!1,!1]),Mo=(cn,qt)=>{ge(LP(jt=>{jt[0].show=cn})),ye(jt=>({...jt,show:qt}))},$i=(cn,qt)=>{const[jt,pn]=$o(cn),[Pn,Ze]=ba(cn,qt);jt&&pn?Mo(!0,!1):jt?Mo(!0,!Ze&&Pn):pn?Mo(!0,!Pn&&Ze):Mo(!1,Pn||Ze)},Za=cn=>{var Ze,bt;if(!t||(Xu(cn),Le.current&&xe.isSolarCollector(Le.current)))return;const qt=M.getState().objectTypeToAdd;if(!Le.current&&!Ae.current&&qt!==z.Wall||((Ze=Le.current)==null?void 0:Ze.parentId)!==e&&qt===z.None)return;const jt=M.getState().moveHandleType,pn=M.getState().resizeHandleType,Pn=M.getState().resizeAnchor;if(rn(cn),Ye.current){const Nt=kt.intersectObjects([Ye.current]);if(Nt.length===0)return;let St=Nt[0].point;if(Le.current&&Le.current.type&&!Le.current.locked&&Nt.length>0)switch(Ie(!0),Le.current.type){case z.Sensor:case z.Light:case z.WindTurbine:{St=xe.relativeCoordinates(St.x,St.y,St.z,t),T(Le.current.id,St.x,St.y);break}case z.Polygon:{const Bt=Le.current;if(jt===yo.Default){St=xe.relativeCoordinates(St.x,St.y,St.z,t);const Jt=xe.calculatePolygonCentroid(Bt.vertices),an=St.x-Jt.x,gn=St.y-Jt.y,mn=Bt.vertices.map(vn=>({...vn}));mn.forEach(vn=>{vn.x+=an,vn.y+=gn}),N(Bt.id,mn)}else pn===gt.Default&&(St.x-=t.cx,St.y-=t.cy,St.applyEuler(new Qt().fromArray(t.rotation.map(Jt=>-Jt))),St=M.getState().enableFineGrid?xe.snapToFineGrid(St):xe.snapToNormalGrid(St),St.x/=t.lx,St.y/=t.ly,W(Bt.id,Bt.selectedIndex,St.x,St.y));break}case z.Wall:{if(((bt=M.getState().selectedElement)==null?void 0:bt.type)!==z.Wall)break;if(pn&&(pn===gt.LowerLeft||pn===gt.LowerRight)){const Bt=xe.wallRelativePosition(Pn,t);St=xe.wallRelativePosition(St,t);let Jt=null;M.getState().enableFineGrid?St=xe.snapToFineGrid(St):(Jt=po(St,1.5),Jt!=null&&Jt.point?St=Jt.point:(St=xe.snapToNormalGrid(St),St=ar(Bt,St,pn),Jt=po(St,1.5),Jt!=null&&Jt.point&&(St=Jt.point)));const an=Uo(Bt,St,pn);$i(St,an);const gn=St.distanceTo(Bt),mn=new re().addVectors(St,Bt).divideScalar(2),vn=pn===gt.LowerLeft?St:Bt,kn=pn===gt.LowerLeft?Bt:St;v(Wn=>{for(const qn of Wn.elements)if(qn.id===Le.current.id&&qn.type===z.Wall){const Xn=qn;Xn.cx=mn.x,Xn.cy=mn.y,Xn.lx=gn,Xn.relativeAngle=an,Xn.leftPoint=[vn.x,vn.y,0],Xn.rightPoint=[kn.x,kn.y,0];break}});const jn=C(Le.current.id);if(jn){if(Jt&&Jt.point){if(Jt.id&&Jt.side&&!Jt.jointId){const Wn=C(Jt.id);if(Wn){if(pn===gt.LowerLeft&&Wn.leftJoints.length===0&&Jt.side===j1.Left){if(jn.leftJoints.length>0&&jn.leftJoints[0]!==Jt.id){const qn=jn.leftJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===qn&&Jo.type===z.Wall){Jo.rightJoints=[];break}})}Hi(jn,Wn)}else if(pn===gt.LowerRight&&Wn.rightJoints.length===0&&Jt.side===j1.Right){if(jn.rightJoints.length>0&&jn.rightJoints[0]!==Jt.id){const qn=jn.rightJoints[0];v(Xn=>{for(const Jo of Xn.elements)if(Jo.id===qn&&Jo.type===z.Wall){Jo.leftJoints=[];break}})}qo(jn,Wn)}else pn===gt.LowerRight&&Jt.side===j1.Left&&Wn.leftJoints.length===0&&Wn.rightJoints[0]!==jn.id?v(qn=>{let Xn=null;jn.rightJoints.length>0&&jn.rightJoints[0]!==(Jt==null?void 0:Jt.id)&&(Xn=jn.rightJoints[0]);for(const Jo of qn.elements)Jo.type===z.Wall&&(Jo.id===jn.id&&(Jo.rightJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.leftJoints=[jn.id]),Jo.id===Xn&&(Jo.leftJoints=[]))}):pn===gt.LowerLeft&&Jt.side===j1.Right&&Wn.rightJoints.length===0&&Wn.leftJoints[0]!==jn.id&&v(qn=>{let Xn=null;jn.leftJoints.length>0&&jn.leftJoints[0]!==(Jt==null?void 0:Jt.id)&&(Xn=jn.leftJoints[0]);for(const Jo of qn.elements)Jo.type===z.Wall&&(Jo.id===jn.id&&(Jo.leftJoints=[Wn.id]),Jo.id===Wn.id&&(Jo.rightJoints=[jn.id]),Jo.id===Xn&&(Jo.rightJoints=[]))});vi(jn.id)}}}else if(pn===gt.LowerRight&&jn.rightJoints.length>0){const Wn=jn.rightJoints[0];v(qn=>{for(const Xn of qn.elements)Xn.type===z.Wall&&(Xn.id===jn.id&&(Xn.rightJoints=[]),Xn.id===Wn&&(Xn.leftJoints=[]));qn.updateWallMapOnFoundationFlag=!qn.updateWallMapOnFoundationFlag})}else if(pn===gt.LowerLeft&&jn.leftJoints.length>0){const Wn=jn.leftJoints[0];v(qn=>{for(const Xn of qn.elements)Xn.type===z.Wall&&(Xn.id===jn.id&&(Xn.leftJoints=[]),Xn.id===Wn&&(Xn.rightJoints=[]));qn.updateWallMapOnFoundationFlag=!qn.updateWallMapOnFoundationFlag})}}}else if(jt){const Bt=C(Le.current.id);if(Bt){St=xe.wallRelativePosition(St,t);const Jt=new re,an=new Qt(0,0,Bt.relativeAngle);jt===yo.Lower?Jt.setY(ut):jt===yo.Upper&&Jt.setY(-ut-Bt.ly),St.add(Jt.applyEuler(an));const gn=new re().addVectors(St,new re(-Bt.lx/2,0,0).applyEuler(an)),mn=new re().addVectors(St,new re(Bt.lx/2,0,0).applyEuler(an));let vn=null,kn=null,jn=!1;oi.current=!1,So.current=!1,go.current=!1,bo.current=null,Ro.current=null;const Wn=(qn,Xn)=>{const Jo=Xn==="left"?gn:mn,lr=new re().subVectors(qn,Jo);St.add(lr),gn.add(lr),mn.add(lr)};if(!M.getState().enableFineGrid){let qn=po(gn,1);qn.point?(Wn(qn.point,"left"),qn.id&&(!qn.jointId||qn.jointId===Bt.id)&&(bo.current=qn.id,vn=qn.side===j1.Left)):bo.current=null;let Xn=po(mn,1);if(Xn.point?(qn.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===j1.Right)):Ro.current=null,!qn.point&&!Xn.point){const[ga,vs]=_i(gn),[Ju,Ku]=_i(mn);if(ga!==null||Ju!==null){const Th=(ga??1/0)-gn.x,Rf=(Ju??1/0)-mn.x,qu=Math.min(Th,Rf);gn.setX(gn.x+qu),mn.setX(mn.x+qu),St.setX(St.x+qu),qn=po(gn,1),qn.point?(Wn(qn.point,"left"),qn.id&&(!qn.jointId||qn.jointId===Bt.id)&&(bo.current=qn.id,vn=qn.side===j1.Left)):bo.current=null}if(vs!==null||Ku!==null){const Th=(vs??1/0)-gn.y,Rf=(Ku??1/0)-mn.y,qu=Math.min(Th,Rf);gn.setY(gn.y+qu),mn.setY(mn.y+qu),St.setY(St.y+qu),Xn=po(mn,1),Xn.point?(qn.id||Wn(Xn.point,"right"),Xn.id&&(!Xn.jointId||Xn.jointId===Bt.id)&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(Ro.current=Xn.id,kn=Xn.side===j1.Right)):Ro.current=null}}const[Jo,lr]=$o(gn,0),[Kr,Vi]=$o(mn,1);ge(LP(ga=>{ga[0].show=Jo||lr,ga[1].show=Kr||Vi})),vn&&kn===null||kn&&vn===null||vn&&kn?oi.current=!0:(vn&&kn===!1||kn&&vn===!1)&&(So.current=vn,go.current=kn),qn.point&&Xn.point&&(qn.id!==Xn.id||qn.side!==Xn.side)&&(gn.copy(qn.point),mn.copy(Xn.point),jn=!0)}v(qn=>{var Xn;for(const Jo of qn.elements)if(Jo.id===((Xn=Le.current)==null?void 0:Xn.id)&&Jo.type===z.Wall){const lr=Jo;if(jn){lr.cx=(gn.x+mn.x)/2,lr.cy=(gn.y+mn.y)/2,lr.lx=gn.distanceTo(mn);let Kr=Math.atan2(mn.y-gn.y,mn.x-gn.x);Kr=Kr>=0?Kr:(na+Kr)%na,lr.relativeAngle=Kr}else lr.cx=St.x,lr.cy=St.y;lr.leftPoint=gn.toArray(),lr.rightPoint=mn.toArray();break}})}}break}}if(qt===z.Wall&&!me.current){Me.current=[...M.getState().elements];const Bt=B(t,St);Le.current=Bt,Ae.current=Bt.id,me.current=!0,Ie(!0),Ln.getState().setEnableOrbitController(!1),v(Jt=>{Jt.addedWallId=Bt.id,Jt.objectTypeToAdd=z.None})}if(Ae.current&&me.current){St=xe.wallRelativePosition(Nt[0].point,t);let Bt=null;if(M.getState().enableFineGrid)St=xe.snapToFineGrid(St);else if(Bt=po(St,1.5),Bt!=null&&Bt.point)St=Bt.point;else{St=xe.snapToNormalGrid(St);const[gn,mn]=_i(St);gn!==null&&St.setX(gn),mn!==null&&St.setY(mn),Bt=po(St,1.5),Bt!=null&&Bt.point&&(St=Bt.point)}const[Jt,an]=$o(St);ge(LP(gn=>{gn[0].show=Jt||an})),T(Ae.current,St.x,St.y)}}},ti=cn=>{cn.intersections.length>0&&cn.intersections[0].object===Ye.current&&de(!0)},di=cn=>{v(qt=>{mx.selectMe(qt,e,cn,zo.ContextMenu),qt.pastePoint.copy(cn.intersections[0].point),qt.clickObjectType=z.Foundation,qt.pasteNormal=Po,cn.altKey?qt.contextMenuObjectType=null:cn.intersections.length>0&&cn.intersections[0].object===Ye.current&&(qt.contextMenuObjectType=z.Foundation),qt.pasteNormal=Po})},Fr=()=>{Wl&&(Cc(!1),Le.current=null),de(!1),Ie(!1),Le.current&&me.current&&(U(Le.current.id,!1),me.current=!1,v(cn=>{cn.addedWallId=null,cn.objectTypeToAdd=z.Wall}),Le.current=null),ye({show:!1,direction:null,position:null}),ge([{show:!1,direction:null,position:null},{show:!1,direction:null,position:null}])},Oa=cn=>{Le.current&&xe.isPlantOrHuman(Le.current)&&cn.intersections[0].object===Ye.current&&Ie(!0)},Br=(cn,qt,jt)=>{const pn=JSON.parse(JSON.stringify(cn));return pn.cx=qt,pn.cy=jt,ae(pn)?(Do(j.t("message.MoveCancelledBecauseOfOverlap",Ct)),!1):xe.isSolarCollectorWithinHorizontalSurface(pn,t)?!0:(Do(j.t("message.MoveOutsideBoundaryCancelled",Ct)),!1)},Pc=(cn,qt)=>{const jt=JSON.parse(JSON.stringify(cn));return jt.relativeAzimuth=qt,ae(jt)?(Do(j.t("message.RotationCancelledBecauseOfOverlap",Ct)),!1):xe.isSolarCollectorWithinHorizontalSurface(jt,t)?!0:(Do(j.t("message.RotationOutsideBoundaryCancelled",Ct)),!1)},Is=(cn,qt,jt,pn,Pn)=>{if(cn.type===z.SolarPanel&&cn.tiltAngle!==0&&.5*Pn*Math.abs(Math.sin(cn.tiltAngle))>cn.poleHeight)return!1;const Ze=JSON.parse(JSON.stringify(cn));return Ze.cx=qt,Ze.cy=jt,Ze.lx=pn,Ze.ly=Pn,xe.isSolarCollectorWithinHorizontalSurface(Ze,t)},qs=cn=>{if($e.current&&t&&Le.current&&t){if(!xe.isSolarCollector(Le.current))return;const qt=Le.current;rn(cn);const jt=kt.intersectObjects([$e.current]);if(jt.length>0){let pn=jt[0].point;const Pn=M.getState().moveHandleType,Ze=M.getState().rotateHandleType,bt=M.getState().resizeHandleType;if(Pn&&t)pn=xe.relativeCoordinates(pn.x,pn.y,pn.z,t),T(qt.id,pn.x,pn.y),qt.parentId!==e&&M.getState().set(Nt=>{const St=Nt.elements.find(Bt=>Bt.id===qt.id&&Bt.type===z.SolarPanel);St&&(St.parentId!==e||St.foundationId!==e)&&(St.parentId=e,St.foundationId=e,St.parentType=z.Foundation,Nt.selectedElement&&(Nt.selectedElement.parentId=e,St.color=Nt.selectedElement.color))});else if(Ze){if(Ze===wi.Upper||Ze===wi.Lower){const Nt=t.rotation[2],St=new Gt(t.cx,t.cy),Bt=new Gt(t.lx*qt.cx,t.ly*qt.cy).rotateAround(wr,Nt),Jt=new Gt().addVectors(Bt,St),an=Math.atan2(-pn.x+Jt.x,pn.y-Jt.y)-Nt+(Ze===wi.Lower?0:Math.PI),gn=Math.abs(an)>Math.PI?-Math.sign(an)*na:0,mn=an+gn;k(qt.id,mn),et.current=mn}}else if(bt){const Nt=M.getState().resizeAnchor,St=new Gt(pn.x,pn.y),Bt=new Gt(Nt.x,Nt.y),Jt=St.distanceTo(Bt),an=qt.relativeAzimuth+l[2],gn=new Gt().subVectors(St,Bt),mn=new Gt(n,o);if(qt.type===z.SolarPanel){const vn=qt,kn=_(vn.pvModelName);switch(bt){case gt.Lower:case gt.Upper:{const jn=bt===gt.Lower?1:-1,Wn=gn.angle()-an+jn*Vt;let qn=Jt*Math.cos(Wn);vn.orientation===ui.portrait?qn=Math.max(1,Math.ceil((qn-kn.length/2)/kn.length))*kn.length:qn=Math.max(1,Math.ceil((qn-kn.width/2)/kn.width))*kn.width;const Xn=Nt.x+jn*(qn*Math.sin(an))/2,Jo=Nt.y-jn*(qn*Math.cos(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,qn)&&(x(qt.id,qn),T(qt.id,Vi,ga))}break;case gt.Left:case gt.Right:{const jn=bt===gt.Left?-1:1,Wn=gn.angle()-an+(bt===gt.Left?Math.PI:0);let qn=Jt*Math.cos(Wn);vn.orientation===ui.portrait?qn=Math.max(1,Math.ceil((qn-kn.width/2)/kn.width))*kn.width:qn=Math.max(1,Math.ceil((qn-kn.length/2)/kn.length))*kn.length;const Xn=Nt.x+jn*(qn*Math.cos(an))/2,Jo=Nt.y+jn*(qn*Math.sin(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qn,qt.ly)&&(S(qt.id,qn),T(qt.id,Vi,ga))}break}}else if(qt.type===z.ParabolicTrough){const vn=qt;switch(bt){case gt.Lower:case gt.Upper:{const kn=bt===gt.Lower?1:-1,jn=gn.angle()-an+kn*Vt;let Wn=Jt*Math.cos(jn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(an))/2,Jo=Nt.y-kn*(Wn*Math.cos(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(x(qt.id,Wn),T(qt.id,Vi,ga))}break;case gt.Left:case gt.Right:{const kn=bt===gt.Left?-1:1,jn=gn.angle()-an+(bt===gt.Left?Math.PI:0),Wn=Jt*Math.cos(jn),qn=Nt.x+kn*(Wn*Math.cos(an))/2,Xn=Nt.y+kn*(Wn*Math.sin(an))/2,Jo=new Gt(qn,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(S(qt.id,Wn),T(qt.id,Kr,Vi),v(ga=>{ga.actionState.parabolicTroughWidth=Wn}))}break}}else if(qt.type===z.FresnelReflector){const vn=qt;switch(bt){case gt.Lower:case gt.Upper:{const kn=bt===gt.Lower?1:-1,jn=gn.angle()-an+kn*Vt;let Wn=Jt*Math.cos(jn);Wn=Math.max(1,Math.ceil((Wn-vn.moduleLength/2)/vn.moduleLength))*vn.moduleLength;const Xn=Nt.x+kn*(Wn*Math.sin(an))/2,Jo=Nt.y-kn*(Wn*Math.cos(an))/2,lr=new Gt(Xn,Jo),Kr=new Gt().subVectors(lr,mn).rotateAround(wr,-l[2]),Vi=Kr.x/i,ga=Kr.y/r;Is(qt,Vi,ga,qt.lx,Wn)&&(x(qt.id,Wn),T(qt.id,Vi,ga))}break;case gt.Left:case gt.Right:{const kn=bt===gt.Left?-1:1,jn=gn.angle()-an+(bt===gt.Left?Math.PI:0),Wn=Jt*Math.cos(jn),qn=Nt.x+kn*(Wn*Math.cos(an))/2,Xn=Nt.y+kn*(Wn*Math.sin(an))/2,Jo=new Gt(qn,Xn),lr=new Gt().subVectors(Jo,mn).rotateAround(wr,-l[2]),Kr=lr.x/i,Vi=lr.y/r;Is(qt,Kr,Vi,Wn,qt.ly)&&(S(qt.id,Wn),T(qt.id,Kr,Vi),v(ga=>{ga.actionState.fresnelReflectorWidth=Wn}))}break}}else if(qt.type===z.ParabolicDish){const vn=qt;switch(bt){case gt.Left:case gt.Right:case gt.Lower:case gt.Upper:{const kn=Math.min(10,Jt);Is(qt,vn.cx,vn.cy,qt.lx,kn)&&(S(qt.id,kn),x(qt.id,kn),v(jn=>{jn.actionState.parabolicDishRimDiameter=kn}));break}}}}}}},Pr=Z?b?.25:.75:1,pa=M(cn=>cn.elements.filter(qt=>qt.type===z.SolarPanel&&qt.parentId===e),a3),[Wl,Yl]=m.useState(!1),Xu=cn=>{const qt=wd.getIntersectionObjects(cn);if(qt.length==0||qt[0].eventObject.userData.id!==e){Wl&&(Cc(!1),Le.current=null,Ie(!1));return}const jt=M.getState().selectedElement;!Wl&&jt&&!jt.locked&&jt.type===z.SolarPanel&&M.getState().moveHandleType&&(Cc(!0,jt.poleHeight),Le.current=jt,Ie(!0))},Cc=(cn,qt)=>{cn&&qt!==void 0?(Yl(!0),Xt.setZ(qt)):(Yl(!1),Xt.setZ(0))},mu=()=>Wl?!0:Le.current&&xe.isSolarCollector(Le.current)&&!Le.current.locked;return h.jsx(h.Fragment,{children:h.jsxs("group",{ref:Ne,name:`${cqe} ${e}`,position:[n,o,st],rotation:[0,0,l[2]],children:[h.jsxs(Ei,{castShadow:J,receiveShadow:J,uuid:e,userData:{simulation:!0,stand:!0,id:e,aabb:!0},ref:Ye,name:"Foundation",args:[i,r,a],onContextMenu:di,onPointerOver:ti,onPointerDown:ni,onPointerUp:Lo,onPointerMove:M2.throttle(Za,Ek),onPointerOut:Fr,onPointerEnter:Oa,children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s,transparent:!0,opacity:Pr}),se&&Se?h.jsx("meshBasicMaterial",{attach:"material-4",color:"white",map:Se,transparent:!0,opacity:Pr}):h.jsx("meshStandardMaterial",{attach:"material-4",color:p===Or.NoTexture?s:"white",map:Un,transparent:!0,opacity:Pr}),h.jsx("meshStandardMaterial",{attach:"material-5",color:s,transparent:!0,opacity:Pr})]}),mu()&&h.jsx(sa,{ref:$e,name:"Foundation Intersection Plane",position:Xt,args:[i,r],visible:!1,onPointerMove:M2.throttle(qs,Ek)}),ve&&h.jsxs(h.Fragment,{children:[M.getState().rotateHandleType&&Le.current&&xe.isSolarCollector(Le.current)&&h.jsx(fye,{element:Le.current,height:Le.current.poleHeight+st}),(M.getState().moveHandleType||M.getState().resizeHandleType||Ae.current)&&h.jsx(Age,{hx:qe,hy:Je,hz:st})]}),A&&h.jsx(hye,{element:t,verticalLift:je}),(!A||Z)&&h.jsx(s7,{hx:qe,hy:Je,hz:st,lineColor:Z&&b?"white":c,lineWidth:Z&&b?u*3:u}),A&&d&&h.jsx(s7,{hx:qe,hy:Je,hz:st,lineColor:l0,lineWidth:u*5}),ze.show&&h.jsx("group",{position:[0,0,st+.01],children:h.jsx(iSe,{hx:qe,hy:Je,position:ze.position,direction:ze.direction,color:"black"})}),h.jsx("group",{position:[0,0,st+.01],children:oe.map((cn,qt)=>cn.show?h.jsx(iSe,{hx:qe,hy:Je,position:cn.position,direction:cn.direction,color:"yellow"},qt):null)}),A&&!d&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:We,position:[Pt.x,Pt.y,0],args:[yt,yt,a*1.2],name:gt.LowerLeft,onPointerDown:cn=>{F(e,cn,zo.Resize),We.current&&v(qt=>{const jt=We.current.localToWorld(new re(i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.LowerLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.LowerLeft||M.getState().resizeHandleType===gt.LowerLeft?nr:pr})}),h.jsx(Ei,{ref:Ee,position:[Ue.x,Ue.y,0],args:[yt,yt,a*1.2],name:gt.UpperLeft,onPointerDown:cn=>{F(e,cn,zo.Resize),Ee.current&&v(qt=>{const jt=Ee.current.localToWorld(new re(i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.UpperLeft)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.UpperLeft||M.getState().resizeHandleType===gt.UpperLeft?nr:pr})}),h.jsx(Ei,{ref:Fe,position:[lt.x,lt.y,0],args:[yt,yt,a*1.2],name:gt.LowerRight,onPointerDown:cn=>{F(e,cn,zo.Resize),Fe.current&&v(qt=>{const jt=Fe.current.localToWorld(new re(-i,r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.LowerRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.LowerRight||M.getState().resizeHandleType===gt.LowerRight?nr:pr})}),h.jsx(Ei,{ref:Ge,position:[Ve.x,Ve.y,0],args:[yt,yt,a*1.2],name:gt.UpperRight,onPointerDown:cn=>{F(e,cn,zo.Resize),Ge.current&&v(qt=>{const jt=Ge.current.localToWorld(new re(-i,-r,0));qt.resizeAnchor.copy(jt)})},onPointerOver:cn=>{vo(cn,gt.UpperRight)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===gt.UpperRight||M.getState().resizeHandleType===gt.UpperRight?nr:pr})}),!ie&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:rt,args:[je,6,6,0,Math.PI],position:[0,-Je-je,0],name:yo.Lower,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Lower,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Lower)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Lower||M.getState().moveHandleType===yo.Lower?nr:Fk})}),h.jsx(ts,{ref:_e,args:[je,6,6,0,Math.PI],position:[0,Je+je,0],name:yo.Upper,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Upper,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Upper)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Upper||M.getState().moveHandleType===yo.Upper?nr:Fk})}),h.jsx(ts,{ref:xt,args:[je,6,6,0,Math.PI],position:[-qe-je,0,0],name:yo.Left,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Left,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Left)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Left||M.getState().moveHandleType===yo.Left?nr:jx})}),h.jsx(ts,{ref:dt,args:[je,6,6,0,Math.PI],position:[qe+je,0,0],name:yo.Right,onPointerDown:()=>{v(cn=>{cn.moveHandleType=yo.Right,cn.selectedElement=cn.elements.find(qt=>qt.id===e)??null;for(const qt of cn.elements)cn.selectedElementIdSet.has(qt.id)&&!xe.isElementAllowedMultipleMoveOnGround(qt)&&cn.selectedElementIdSet.delete(qt.id)}),Ln.getState().setEnableOrbitController(!1)},onPointerOver:cn=>{vo(cn,yo.Right)},onPointerOut:Oo,children:h.jsx("meshBasicMaterial",{attach:"material",color:ne===yo.Right||M.getState().moveHandleType===yo.Right?nr:jx})}),h.jsx(l7,{id:e,position:[0,-At,0],color:ne===wi.Lower||M.getState().rotateHandleType===wi.Lower?nr:pr,ratio:Ht,handleType:wi.Lower,hoverHandle:vo,noHoverHandle:Oo}),h.jsx(l7,{id:e,position:[0,At,0],color:ne===wi.Upper||M.getState().rotateHandleType===wi.Upper?nr:pr,ratio:Ht,handleType:wi.Upper,hoverHandle:vo,noHoverHandle:Oo})]})]}),!ie&&h.jsxs(h.Fragment,{children:[($||f)&&!A&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(t!=null&&t.label?t.label:j.t("shared.FoundationElement",Ct))+(d?" ("+j.t("shared.ElementLocked",Ct)+")":""),color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??st+.2]}),!d&&ne===gt.LowerLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LL",text:"LL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-qe,-Je,st+.2]}),!d&&ne===gt.UpperLeft&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UL",text:"UL",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[-qe,Je,st+.2]}),!d&&ne===gt.LowerRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-LR",text:"LR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[qe,-Je,st+.2]}),!d&&ne===gt.UpperRight&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label-UR",text:"UR",fontSize:20,fontFace:"Times Roman",textHeight:.2,position:[qe,Je,st+.2]})]}),g===zn.FocusPipe&&h.jsx(A$t,{foundation:t}),g===zn.FocusTower&&h.jsx(y$t,{foundation:t}),g===zn.UpdraftTower&&h.jsx(m$t,{foundation:t}),h.jsx(F$t,{...t}),pa.map(cn=>h.jsx(W$t,{...cn,cx:cn.cx*i,cy:cn.cy*r,cz:cn.poleHeight+cn.lz/2+a/2,parentPosition:[n,o,a/2],parentRotation:l[2]},cn.id))]})})}),mye="Handles Intersection Plane",zz=t=>{if(t.intersections.length>0){for(const e of t.intersections)if(e.eventObject.name===mye)return e.point.z<0?null:e.point}return null},V8=(t,e)=>new re().subVectors(t,new re(e.cx,e.cy,e.lz)).applyEuler(new Qt(0,0,-e.rotation[2])),uqe=(t,e,n,o,i)=>{const[r,a]=[e/2,n/2],[l,s,c]=o,u=new Qt().fromArray([l-Vt,s,c,"ZXY"]),d=i.map(f=>({x:f.x,y:f.y}));for(let f=-1;f<=1;f+=2)for(let p=-1;p<=1;p+=2){const g=new re(r*f,0,a*p).applyEuler(u),A=new re().addVectors(t,g);if(!xe.isPointInside(A.x,A.y,d))return!1}return!0},U$t=(t,e,n,o,i,r,a)=>{const l=n/2,[s,c,u]=r,d=new Qt().fromArray([s-Vt,c,u,"ZXY"]),f=a.map(g=>({x:g.x,y:g.y})),p=new re().addVectors(t,new re(o*e,0,l+i).applyEuler(d));return!(!xe.isPointInside(p.x,p.y,f)||!uqe(t,e,n,r,a))},B$t=(t,e,n)=>{if(t.intersections.length>0)for(const o of t.intersections){const i=o.eventObject.name;if(i.includes("Window")&&i.includes(e)&&o.object.name!==mye)return null;if(i.includes("Roof")&&i.includes(n)){const r=o.point.clone(),a=Number.parseInt(o.object.name.split(" ").pop()??"-1");return{pointer:r,segmentIdx:a}}}return null},rSe=t=>{switch(t){case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:return!0}return!1},j$t=(t,e,n)=>{const o=new re().subVectors(e,t).applyEuler(new Qt(0,0,-n)),i=Math.abs(o.x),r=Math.hypot(o.y,o.z),a=new re().addVectors(t,e).divideScalar(2);return{newLx:i,newLz:r,newCenter:a}},Y$t=(t,e,n)=>n===Vo.Gambrel?dye(t).map(o=>o.add(e)):t.map(o=>o.points[0].clone().add(e)),aSe=(t,e,n)=>{M.getState().set(o=>{const i=o.elements.find(r=>r.id===t&&r.type===z.Window);i&&([i.cx,i.cy,i.cz]=e,i.rotation=[...n])})},lSe=(t,e,n,o)=>{M.getState().set(i=>{const r=i.elements.find(a=>a.id===t&&a.type===z.Window);r&&([r.cx,r.cy,r.cz]=e,[r.lx,r.ly,r.lz]=n,o!=null&&(r.archHeight=o))})},sSe=(t,e)=>{M.getState().set(n=>{const o=n.elements.find(i=>i.id===t&&i.type===z.Window);o&&(o.polygonTop=[...e])})},O$t=(t,e,n=.01)=>{if(t.type!==z.SolarPanel&&t.type!==z.Window)return null;const o=new Qt().fromArray([t.rotation[0],t.rotation[1],t.rotation[2],"ZXY"]),i=new re,r=t.lx/2+n;let a=n;t.type===z.SolarPanel?(a+=t.ly/2,i.set(t.cx*e.lx,t.cy*e.ly,0)):(a+=t.lz/2,i.set(t.cx,t.cy,0));const l=[];for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=new re(s*r,s*c*a).applyEuler(o).add(i);l.push(u)}if(t.type===z.Window&&t.windowType===Sr.Polygonal){const[s,c]=t.polygonTop??jp,u=new re(s*r,c+a).applyEuler(o).add(i);l.push(u)}return l},Tre=t=>{if(t.windowType===Sr.Polygonal)return t.polygonTop??jp},dqe=({z:t})=>{const e=m.useRef(null),[n,o]=m.useState("white");return h.jsx(Ei,{ref:e,name:gt.Arch,args:[.2,.2,.2],position:[0,0,t],onPointerEnter:()=>{o("red")},onPointerLeave:()=>{o("white")},children:h.jsx("meshBasicMaterial",{color:n})})},_$t=({id:t,parentId:e,foundationId:n,lx:o,lz:i,polygonTop:r,rotation:a,windowType:l,parentType:s})=>{const c=M(le=>le.addedWindowId),u=M(En),d=c===t,f=s===z.Roof,p=m.useRef(null),g=m.useRef(null),A=m.useRef(null),w=m.useRef(null),b=m.useRef(null),C=m.useRef(null),P=m.useRef(null),v=m.useRef(null),T=m.useRef([]),y=m.useRef(null),S=m.useRef(null),x=m.useRef(null),R=m.useRef(null),H=m.useRef(null),[D,k]=m.useState(!1),[W,N]=[o/2,i/2],[L,E]=r,U=m.useMemo(()=>o*L,[o,L]),F=M(dn),B=(le,te,he)=>{if(!n)return null;const pe=M.getState().elements.find(Ie=>Ie.id===n&&Ie.type===z.Foundation);if(!pe)return null;const fe=le.object.localToWorld(new re),[$,de,Se]=a,Ce=new Qt().fromArray([$-Vt,de,Se+pe.rotation[2],"ZXY"]),ve=new re(te,0,he).applyEuler(Ce);return new re().addVectors(fe,ve)},_=le=>{let te,he,pe;for(const ge of M.getState().elements)ge.id===t&&ge.type===z.Window?te=ge:ge.id===n&&ge.type===z.Foundation?he=ge:ge.id===e&&ge.type===z.Roof&&(pe=ge);const fe=Ln.getState().contentRef;if(!te||!he||!pe||!fe||!fe.current)return;const $=he.id,de=fe.current.children.find(ge=>ge.name===`${cqe} ${$}`);if(!de)return;const Se=de.children.find(ge=>ge.name===sqe);if(!Se)return;const Ce=Se.children.find(ge=>ge.name.includes("Roof")&&ge.name.includes(e));if(!Ce)return;const ve=Ce.children[0];if(!ve)return;for(const ge of M.getState().elements)if(ge.parentId===e&&ge.id!==t){const Ae=O$t(ge,he);Ae&&T.current.push(Ae)}const{centroid:Ie,roofSegments:ze}=ve.userData,oe=new re(te.cx,te.cy,te.cz+he.lz).clone().sub(Ie);p.current=le,g.current=he,A.current=pe,C.current=In.getSegmentIdx(ze,oe),b.current=Ie,w.current=ze,v.current=Y$t(w.current,b.current,pe.roofType),y.current=[te.cx,te.cy,te.cz],x.current=[te.lx,te.ly,te.lz],S.current=[...te.rotation],R.current=te.archHeight,H.current=te.polygonTop??null},Y=()=>{if(!y.current||!S.current)return;const le=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!le)return;const te={name:"Move skylight",timestamp:Date.now(),id:le.id,oldPosition:[...y.current],newPosition:[le.cx,le.cy,le.cz],oldRotation:[...S.current],newRotation:[...le.rotation],undo(){aSe(te.id,te.oldPosition,te.oldRotation)},redo(){aSe(te.id,te.newPosition,te.newRotation)}};u(te)},O=()=>{if(!x.current||!y.current)return;const le=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!le)return;const te={name:"Resize skylight",timestamp:Date.now(),id:le.id,oldPosition:[...y.current],newPosition:[le.cx,le.cy,le.cz],oldDimension:[...x.current],newDimension:[le.lx,le.ly,le.lz],oldArchHeight:R.current,newArchHeight:le.archHeight,undo(){lSe(this.id,this.oldPosition,this.oldDimension,this.oldArchHeight)},redo(){lSe(this.id,this.newPosition,this.newDimension,this.newArchHeight)}};u(te)},J=()=>{if(!H.current)return;const le=M.getState().elements.find(he=>he.id===t&&he.type===z.Window);if(!le)return;const te={name:"Resize skylight top vertex",timestamp:Date.now(),id:le.id,oldPolygonTop:[...H.current],newPolygonTop:le.polygonTop??jp,undo(){sSe(this.id,this.oldPolygonTop)},redo(){sSe(this.id,this.newPolygonTop)}};u(te)},Z=le=>le.roofType===Vo.Gable?!1:Math.abs(le.rise)<.001,ie=le=>{if(A.current&&Z(A.current))return v.current;if(le!=null){const he=Sn.getState().getRoofSegmentVertices(e);if(!he)return;const pe=le===-1?he.length-1:le;return he[pe]}},ee=(le,te,he,pe,fe)=>{const[$,de]=[te/2,he/2],Se=new Qt().fromArray([pe[0],pe[1],pe[2],"ZXY"]),Ce=[];for(let ve=-1;ve<=1;ve+=2)for(let Ie=-1;Ie<=1;Ie+=2){const ze=new re(ve*$,ve*Ie*de).applyEuler(Se).add(le);Ce.push(ze)}if(fe){const[ve,Ie]=fe,ze=new re(ve*$*2,Ie+de).applyEuler(Se).add(le);Ce.push(ze)}for(const ve of T.current){for(const Ie of Ce)if(xe.isPointInside(Ie.x,Ie.y,ve))return!1;for(const Ie of ve)if(xe.isPointInside(Ie.x,Ie.y,Ce))return!1}return!0},q=(le,te,he,pe,fe,$)=>{if($){const[de,Se]=$;return U$t(te,he,pe,de,Se,fe,le)}else return uqe(te,he,pe,fe,le)},ae=le=>{if(!f||d)return;const te=le.object.name;switch(te){case yo.Mid:break;case gt.LowerLeft:{P.current=B(le,o,i);break}case gt.LowerRight:{P.current=B(le,-o,i);break}case gt.UpperLeft:{P.current=B(le,o,-i);break}case gt.UpperRight:{P.current=B(le,-o,-i);break}case gt.Arch:{P.current=B(le,0,-i);break}case gt.Upper:break;default:return}_(te),k(!0),Ln.getState().setEnableOrbitController(!1)},ne=le=>{if(p.current===null||!g.current||!A.current||!w.current||!b.current||!v.current)return;const te=g.current;if(p.current===yo.Mid){const he=A.current,pe=B$t(le,t,e),fe=new re;if(Z(he)){const $=zz(le);if(!$)return;fe.copy($);const de=V8(fe,te);F(Se=>{if(!v.current)return;const Ce=Se.elements.find(me=>me.id===t&&me.type===z.Window);if(!Ce)return;const{lx:ve,lz:Ie,rotation:ze}=Ce,ye=v.current,oe=Tre(Ce),ge=q(ye,de,ve,Ie,ze,oe),Ae=ee(de,ve,Ie,ze,oe);ge&&Ae&&(Ce.cx=de.x,Ce.cy=de.y,Ce.cz=de.z)})}else{if(pe&&pe.segmentIdx!==C.current){const Ie=pe.pointer;fe.copy(Ie)}else{const Ie=zz(le);if(!Ie)return;fe.copy(Ie)}const $=V8(fe,te),de=$.clone().sub(b.current),{rotation:Se,segmentVertices:Ce,segmentIdx:ve}=In.computeState(w.current,de);Ce?$.setZ(In.getRooftopElementZ(Ce,de,b.current.z+he.thickness)):$.setZ(b.current.z+he.thickness),F(Ie=>{const ze=Sn.getState().getRoofSegmentVertices(e);if(!ze)return;const ye=ve===-1?ze.length-1:ve,oe=ze[ye];if(!oe)return;const ge=Ie.elements.find(De=>De.id===t&&De.type===z.Window);if(!ge)return;const{lx:Ae,lz:me}=ge,Pe=Tre(ge),Me=q(oe,$,Ae,me,Se,Pe),Te=ee($,Ae,me,Se,Pe);Me&&Te&&(ge.cx=$.x,ge.cy=$.y,ge.cz=$.z,ge.rotation=[...Se],pe&&pe.segmentIdx!==C.current&&(C.current=pe.segmentIdx))})}}else if(rSe(p.current)){const he=ie(C.current),pe=zz(le),fe=P.current;if(!pe||!fe||!he)return;const $=V8(pe,te),de=V8(fe,te),{newLx:Se,newLz:Ce,newCenter:ve}=j$t(de,$,a[2]);M.getState().set(Ie=>{const ze=Ie.elements.find(Ae=>Ae.id===t&&Ae.type===z.Window);if(!ze)return;const ye=Tre(ze),oe=q(he,ve,Se,Ce,a,ye),ge=ee(ve,Se,Ce,a,ye);oe&&ge&&(ze.cx=ve.x,ze.cy=ve.y,ze.cz=ve.z,ze.lx=Se,ze.lz=Math.max(.001,Ce))})}else if(p.current===gt.Upper){const he=ie(C.current),pe=zz(le);if(!pe||!he)return;const fe=V8(pe,te);F($=>{const de=$.elements.find(Ee=>Ee.id===t);if(!de)return;const[Se,Ce]=[de.lx/2,de.lz/2],ve=new re(de.cx,de.cy,de.cz),Ie=new Qt().fromArray([de.rotation[0],de.rotation[1],de.rotation[2],"ZXY"]),ze=new re(-Se,-Ce,0).applyEuler(Ie).add(ve),ye=new re(Se,-Ce,0).applyEuler(Ie).add(ve),oe=new re().subVectors(fe,ze),ge=new re().subVectors(ye,ze).normalize(),Ae=oe.clone().projectOnVector(ge).applyEuler(new Qt(0,0,-de.rotation[2])),me=xe.clamp((Ae.x-Se)/de.lx,-.5,.5),Pe=In.getDistance(ze,ye,fe),Me=Math.hypot(Pe,fe.z-ze.z),Te=Math.max(0,Me-de.lz),De=[me,Te],Ne=new re(de.cx,de.cy,de.cz),{lx:Ye,lz:Le}=de,$e=q(he,Ne,Ye,Le,a,De),We=ee(Ne,Ye,Le,a,De);$e&&We&&(de.polygonTop=[...De])})}else if(p.current===gt.Arch){const he=zz(le),pe=P.current,fe=ie(C.current);if(!he||!pe||!fe)return;const $=V8(he,te),de=V8(pe,te);F(Se=>{const Ce=Se.elements.find(Te=>Te.id===t&&Te.type===z.Window);if(!Ce)return;const[ve,Ie]=[Ce.lx/2,Ce.lz/2],ze=new re(Ce.cx,Ce.cy,Ce.cz),ye=new Qt().fromArray([Ce.rotation[0],Ce.rotation[1],Ce.rotation[2],"ZXY"]),oe=new re(-ve,-Ie,0).applyEuler(ye).add(ze),ge=new re(ve,-Ie,0).applyEuler(ye).add(ze),Ae=In.getDistance(oe,ge,$);let me=Math.hypot(Ae,$.z-oe.z);const Pe=Math.min(Ce.archHeight,Ce.lz,Ce.lx/2),Me=Ce.lz-Pe;if(me>Me&&me{p.current===yo.Mid?Y():rSe(p.current)?O():p.current===gt.Upper?J():p.current===gt.Arch&&O(),y.current=null,x.current=null,S.current=null,R.current=null,H.current=null,p.current=null,g.current=null,A.current=null,w.current=null,b.current=null,C.current=null,P.current=null,v.current=null,T.current=[],k(!1),Ln.getState().setEnableOrbitController(!0)};return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Handle Wrapper",onPointerDown:ae,children:[!d&&h.jsxs(h.Fragment,{children:[l===Sr.Polygonal&&h.jsx(mv,{x:U,z:N+E,handleType:gt.Upper,scale:[.5,1,1.5]}),h.jsx(mv,{x:-W,z:N,handleType:gt.UpperLeft}),h.jsx(mv,{x:W,z:N,handleType:gt.UpperRight}),h.jsx(mv,{x:-W,z:-N,handleType:gt.LowerLeft}),h.jsx(mv,{x:W,z:-N,handleType:gt.LowerRight}),l===Sr.Arched&&h.jsx(dqe,{z:N})]}),h.jsx($8t,{handleType:yo.Mid})]}),f&&D&&h.jsx(sa,{name:mye,args:[1e3,1e3],rotation:[Vt,0,0],onPointerMove:ne,onPointerUp:se,visible:!1,children:h.jsx("meshBasicMaterial",{color:"red",side:ji,transparent:!0,opacity:.5})})]})},V$t=be.memo(_$t),G$t=new sf({color:"white",side:ji}),X$t=be.memo(({dimension:t,mullionData:e,shadowEnabled:n})=>{const[o,i,r]=t,{width:a,horizontalMullionSpacing:l,verticalMullionSpacing:s,color:c}=e,u=3,d=1,f=a/2,p=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:c}),[c]),g=m.useMemo(()=>{const w=[],b=Math.round(o/s)-1;if(b<=0||a===0)return w;const C=o/(b+1);let P=C/2;b%2!==0&&(w.push(0),P=C);for(let v=0;v{const w=[],b=Math.round(r/l)-1;if(b<=0||a===0)return w;const C=r/(b+1);let P=C/2;b%2!==0&&(w.push(0),P=C);for(let v=0;vh.jsx(wa,{position:[w,25e-5,0],args:[f,f,r,u,d],rotation:[Vt,Vt,0],receiveShadow:n,castShadow:n,children:p},b)),e.horizontalMullion&&A.map((w,b)=>h.jsx(wa,{position:[0,5e-4,w],args:[f,f,o,u,d],rotation:[0,0,Vt],receiveShadow:n,castShadow:n,children:p},b))]})}),J$t=be.memo(({dimension:t,frameData:e,shadowEnabled:n})=>{const[o,i,r]=t,{color:a,width:l,sillWidth:s}=e,c=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]),u=l/2,d=u/2,f=o+l*3,p=l;return h.jsxs("group",{name:"Window Frame Group",position:[0,-d/2,0],children:[h.jsx(Ei,{position:[0,0,r/2],args:[o+2*l,d,l],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[-o/2-u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[o/2+u,0,0],args:[l,d,r],castShadow:n,receiveShadow:n,children:c}),h.jsx(Ei,{position:[0,0,-r/2-(s===0?0:p/2)],args:s===0?[o+2*l,d,l]:[f,s??l,p],castShadow:n,receiveShadow:n,children:c})]})}),K$t=be.memo(({cy:t,dimension:e,wireframeData:n})=>{const[o,i,r]=e,{lineWidth:a,lineColor:l,selected:s,locked:c,opacity:u}=n,d=o/2,f=r/2,p=3,g=1,A=m.useMemo(()=>new sf({color:l}),[l]),w=m.useMemo(()=>new sf({color:l0}),[]),b=(C,P)=>{const v=C/2;return h.jsxs(h.Fragment,{children:[h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,f-v],material:P}),h.jsx(wa,{args:[C,C,o,p,g],rotation:[0,0,Vt],position:[0,0,-f+v],material:P}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[d-v,0,0],material:P}),h.jsx(wa,{args:[C,C,r,p,g],rotation:[Vt,Vt,0],position:[-d+v,0,0],material:P})]})};return h.jsxs("group",{name:"Window Wireframe Group",children:[u>0&&h.jsx("group",{position:[0,t,0],children:b(a/20,A)}),c&&s&&b(a/5,w)]})}),q$t=({id:t,dimension:e,position:n,mullionData:o,frameData:i,wireframeData:r,leftShutter:a,rightShutter:l,shutterColor:s,shutterWidth:c,glassMaterial:u,showHeatFluxes:d,area:f,empty:p,interior:g,foundation:A})=>{const w=M.getState().world,b=M(X2),C=M(q9),P=M($9),v=M(ss),T=Sn(vb),y=m.useRef(0),S=m.useRef(),[x,R,H]=e,[D,k,W]=n,N=m.useMemo(()=>{if(!d||g||A&&A.notBuilding)return;const F=T.get(t);if(!F)return;const B=F.reduce((q,ae)=>q+ae,0);if(f===0)return;const _=K9*(w.solarRadiationHeatmapGridCellSize??.5),Y=Math.max(2,Math.round(x/_)),O=Math.max(2,Math.round(H/_)),J=x/Y,Z=H/O,ie=B/f*(b??Gm);y.current=ie<0?1:0,S.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(ie)*Vt);const ee=[];if(ie<0)for(let q=0;qc*x,[x,c]),E=m.useMemo(()=>(L+i.width+x)/2*1.025,[x,L,i.width]),U=(F,B,_)=>h.jsx(sa,{name:"Window Seal Plane",args:F,position:B,rotation:_,material:G$t,receiveShadow:v,castShadow:v});return h.jsxs(h.Fragment,{children:[!p&&h.jsxs("group",{name:"Rectangle Window Plane Group",position:[0,k,0],children:[h.jsx(sa,{name:"Window Glass Plane",args:[x,H],rotation:[Vt,0,0],children:u}),(o.horizontalMullion||o.verticalMullion)&&h.jsx(X$t,{dimension:e,mullionData:o,shadowEnabled:v})]}),i.showFrame&&h.jsx(J$t,{dimension:e,frameData:i,shadowEnabled:v}),h.jsx(Aye,{cx:E,lx:L,lz:H,color:s,showLeft:a,showRight:l,spacing:i.showFrame?i.width/2:0}),h.jsx(K$t,{cy:k,dimension:e,wireframeData:r}),U([R,H],[-x/2+.001,R/2,0],[Vt,Vt,0]),U([R,H],[x/2-1e-4,R/2,0],[Vt,-Vt,0]),U([x,R],[0,R/2,H/2-.001],[Math.PI,0,0]),U([x,R],[0,R/2,-H/2+.001]),N&&N.map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:F,name:"Heat Flux "+B,lineWidth:P??Xm,color:C??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:F[y.current].clone().add(new re(0,y.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:S.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:C??g0})})]},B))]})},$$t=be.memo(q$t),yye=({element:t})=>{const e=M(Sc),n=M(yh),o=M(ty),i=t.lx/2,r=t.lz/2,a=.05,l=1,s=.5,c=t.lineColor??"white",u="darkorchid",d=Math.max(.25,(i+r)/32),f=.25,p=30,g=-.1,A=m.useMemo(()=>({lng:e}),[e]),w=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[-i-f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f,0,-r],[-i-f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,-r+3*a],[-i-f,0,-r],[-i-f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i-f+a,0,r-3*a],[-i-f,0,r],[-i-f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i-f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i-f*2,0,r]],color:c,linewidth:s})]}),[i,r,A]),b=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lz.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[i+f,g,0]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f,0,-r],[i+f,0,r]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,-r+3*a],[i+f,0,-r],[i+f-a,0,-r+3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i+f+a,0,r-3*a],[i+f,0,r],[i+f-a,0,r-3*a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i+f*2,0,-r]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i+f*2,0,r]],color:c,linewidth:s})]}),[i,r,A]),C=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,-r-f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r-f],[i,0,-r-f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,-r-f-a],[-i,0,-r-f],[-i+3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,-r-f-a],[i,0,-r-f],[i-3*a,0,-r-f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,-r],[-i,0,-r-f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,-r],[i,0,-r-f*2]],color:c,linewidth:s})]}),[i,r,A]),P=m.useMemo(()=>h.jsxs(h.Fragment,{children:[h.jsx("textSprite",{userData:{unintersectable:!0},backgroundColor:u,text:t.lx.toFixed(1)+j.t("word.MeterAbbreviation",A),fontSize:p,fontFace:"Times Roman",textHeight:d,position:[0,g,r+f]}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r+f],[i,0,r+f]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i+3*a,0,r+f-a],[-i,0,r+f],[-i+3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i-3*a,0,r+f-a],[i,0,r+f],[i-3*a,0,r+f+a]],color:c,linewidth:l}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-i,0,r],[-i,0,r+f*2]],color:c,linewidth:s}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[i,0,r],[i,0,r+f*2]],color:c,linewidth:s})]}),[i,r,A]);if(n)switch(n){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[w,C]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[b,C]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[w,P]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[b,P]})}if(o)switch(o){case gt.LowerLeft:return h.jsxs(h.Fragment,{children:[w,C]});case gt.LowerRight:return h.jsxs(h.Fragment,{children:[b,C]});case gt.UpperLeft:return h.jsxs(h.Fragment,{children:[w,P]});case gt.UpperRight:return h.jsxs(h.Fragment,{children:[b,P]})}return h.jsx(h.Fragment,{})};be.memo(yye);const Aye=({cx:t,cz:e=0,lx:n,lz:o,color:i,showLeft:r,showRight:a,spacing:l})=>{const s=M(ss),c=ht(cs),u=ht(i3);return c||u?null:h.jsxs("group",{name:"Shutter Group",children:[a&&h.jsx(Ei,{args:[n,.1,o],position:[t+l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})}),r&&h.jsx(Ei,{args:[n,.1,o],position:[-t-l,0,e],castShadow:s,receiveShadow:s,children:h.jsx("meshStandardMaterial",{color:i})})]})},Iue="Window Group",jp=[0,.5],Q$t=t=>{const{id:e,parentId:n,foundationId:o,cx:i,cy:r,cz:a,lx:l,ly:s,lz:c,rotation:u,locked:d,lineWidth:f=.2,lineColor:p="black",horizontalMullion:g=!0,verticalMullion:A=!0,mullionWidth:w=.06,horizontalMullionSpacing:b=.5,verticalMullionSpacing:C=.5,tint:P="#73D8FF",opacity:v=.5,leftShutter:T=!1,rightShutter:y=!1,shutterColor:S="gray",shutterWidth:x=.5,mullionColor:R="white",frame:H=!1,color:D="white",frameWidth:k=.1,sillWidth:W=.1,windowType:N=Sr.Default,archHeight:L,parentType:E=z.Wall,polygonTop:U=jp}=t,F=`${Iue} ${e}`,B=M(dn),_=M(cA),Y=ht(Ah),O=M(dBe),J=Hs(e),Z=(ve=!1)=>{B(Ie=>{if(Ie.contextMenuObjectType=null,Ie.groupActionMode)Ie.multiSelectionsMode||Ie.selectedElementIdSet.clear(),t.foundationId&&(Ie.selectedElementIdSet.has(n)?Ie.selectedElementIdSet.delete(n):Ie.selectedElementIdSet.add(t.foundationId));else for(const ze of Ie.elements)if(ze.id===e)if(ze.selected=!0,Ie.selectedElement=ze,ve)if(Ie.selectedElementIdSet.has(e))for(const ye of Ie.elements)Ie.selectedElementIdSet.has(ye.id)&&ye.type!==Ie.selectedElement.type&&Ie.selectedElementIdSet.delete(ye.id);else if(Ie.multiSelectionsMode){Ie.selectedElementIdSet.add(e);for(const ye of Ie.elements)Ie.selectedElementIdSet.has(ye.id)&&ye.type!==Ie.selectedElement.type&&Ie.selectedElementIdSet.delete(ye.id)}else Ie.selectedElementIdSet.clear(),Ie.selectedElementIdSet.add(e);else Ie.multiSelectionsMode?Ie.selectedElementIdSet.has(e)?Ie.selectedElementIdSet.delete(e):Ie.selectedElementIdSet.add(e):(Ie.selectedElementIdSet.clear(),Ie.selectedElementIdSet.add(e));else ze.selected=!1})},ie=ve=>ve.intersections.length>0&&ve.intersections[0].eventObject.name===F&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,ee=ve=>{if(ve.eventObject.name===F&&ve.intersections.length>0)switch(ve.object.name){case yo.Mid:case gt.UpperLeft:case gt.UpperRight:case gt.LowerLeft:case gt.LowerRight:case gt.Arch:case gt.Upper:return!0}return!1},q=(ve,Ie)=>{Ln.getState().setEnableOrbitController(!1),Y("showWallIntersectionPlaneId",n),B(ze=>{ze.resizeHandleType=ve,ze.resizeAnchor.copy(new re(i,0,a).add(Ie))})},ae=ve=>{if(!(ve.button===2||M.getState().addedWallId)&&(ie(ve)&&Z(),ee(ve))){const Ie=ve.intersections[0].eventObject.name;switch(Ie){case yo.Mid:{Ln.getState().setEnableOrbitController(!1),ht.getState().set(ze=>{ze.showWallIntersectionPlaneId=n,ze.oldParentId=n,ze.oldFoundationId=o}),B(ze=>{ze.moveHandleType=Ie,ze.selectedElement=ze.elements.find(ye=>{var oe;return ye.id===((oe=ze.selectedElement)==null?void 0:oe.id)})});break}case gt.UpperLeft:{q(Ie,new re(l/2,0,-c/2));break}case gt.UpperRight:{q(Ie,new re(-l/2,0,-c/2));break}case gt.LowerLeft:{q(Ie,new re(l/2,0,c/2));break}case gt.LowerRight:{q(Ie,new re(-l/2,0,c/2));break}case gt.Arch:{q(Ie,new re(0,0,0));break}case gt.Upper:{q(Ie,new re(0,0,c/2));break}}}},ne=ve=>{M.getState().addedWallId||ie(ve)&&(Z(!0),B(Ie=>{Ie.contextMenuObjectType=z.Window}))},se=m.useMemo(()=>{if(E===z.Roof){const[ve,Ie,ze]=u;return new Qt().fromArray([ve-Vt,Ie,ze,"ZXY"])}else return new Qt},[E,u]),le=m.useMemo(()=>h.jsx("meshPhongMaterial",{specular:new Xo("white"),shininess:O??ZV,color:P,side:ji,opacity:v,transparent:!0}),[O,P,v]),te=m.useMemo(()=>L!==void 0?[l,s,c,L]:[l,s,c],[l,s,c,L]),he=m.useMemo(()=>E===z.Roof?[i,.05,a]:[i,r,a],[i,r,a,E]),pe=m.useMemo(()=>({horizontalMullion:g,verticalMullion:A,width:w,horizontalMullionSpacing:b,verticalMullionSpacing:C,color:R}),[g,A,w,b,C,R]),fe=m.useMemo(()=>({showFrame:H,width:k,color:D,sillWidth:W}),[H,k,D,W]),$=m.useMemo(()=>({lineColor:p,lineWidth:f,selected:J,locked:d,opacity:v}),[p,f,J,d,v]),de=ht(i3),Se=()=>{switch(N){case Sr.Default:return h.jsx($$t,{id:t.id,dimension:te,position:he,mullionData:pe,frameData:fe,wireframeData:$,leftShutter:T,rightShutter:y,shutterColor:S,shutterWidth:x,glassMaterial:le,showHeatFluxes:de,area:xe.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:_(t)});case Sr.Arched:return h.jsx(dvt,{id:t.id,dimension:te,position:he,mullionData:pe,frameData:fe,wireframeData:$,leftShutter:T,rightShutter:y,shutterColor:S,shutterWidth:x,glassMaterial:le,showHeatFluxes:de,area:xe.getWindowArea(t),empty:!!t.empty,interior:!!t.interior,foundation:_(t)});case Sr.Polygonal:return h.jsx(Avt,{id:t.id,dimension:te,polygonTop:U,position:he,glassMaterial:le,empty:!!t.empty,interior:!!t.interior,wireframeData:$,frameData:fe,leftShutter:T,rightShutter:y,shutterColor:S,shutterWidth:x,showHeatFluxes:de,area:xe.getWindowArea(t),foundation:_(t)})}},Ce=E===z.Roof?r:0;return h.jsxs("group",{name:F,position:[i,Ce,a],rotation:se,onPointerDown:ae,onContextMenu:ne,onPointerMove:()=>{},children:[Se(),J&&h.jsx(yye,{element:t}),J&&!d&&h.jsx(V$t,{id:e,parentId:n,foundationId:o,lx:l,lz:c,polygonTop:U,rotation:u,windowType:N,parentType:E})]},e)},fqe=be.memo(Q$t),Z$t=be.memo(({lineColor:t="black",lineWidth:e=.2,hx:n,hz:o,fill:i,isTopPartial:r,leftUnfilledHeight:a,rightUnfilledHeight:l,showParapet:s=!1,leftHeight:c=2*o,rightHeight:u=2*o,center:d,centerLeft:f,centerRight:p})=>{const g=M(T=>T.viewState.orthographic),A=[-n,-o+.001+(i===Hl.Partial?a:0),.001],w=[n,-o+.001+(i===Hl.Partial?l:0),.001],b=[-n,c-o-.001,.001],C=[n,u-o-.001,.001],P=n*2,v=[];if(g)e=2,v.push(b,C);else if(s)v.push(b,A,w,C);else if(r)v.push(A,b,C,w,A);else{if(v.push(A,b),f){const T=[f[0]*P,f[1]-o,.001];v.push(T)}if(d){const T=[d[0]*P,d[1]-o,.001];v.push(T)}if(p){const T=[p[0]*P,p[1]-o,.001];v.push(T)}v.push(C,w)}return h.jsx(be.Fragment,{children:h.jsx(Fn,{rotation:[Vt,0,0],points:v,color:t,lineWidth:e})})});var Sd=(t=>(t.Default="Default",t.Arched="Arched",t))(Sd||{});const eQt=be.memo(({dimension:t,lineColor:e,lineWidth:n})=>{const[o,i,r]=t.map(u=>u/2),a=[-o,0,r+.05],l=[o,0,r+.05],s=[-o,0,-r],c=[o,0,-r];return h.jsx(Fn,{points:[s,a,l,c],lineWidth:n,color:e})}),tQt=be.memo(({dimension:t,color:e})=>{const[n,o,i]=t,r=M(ss),a=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:e}),[e]),l=.1,s=l/2;return h.jsxs("group",{name:"Door frame group",children:[h.jsx(Ei,{position:[0,0,i/2],args:[n,l,l],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[-n/2+s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a}),h.jsx(Ei,{position:[n/2-s,0,0],args:[l,l,i],castShadow:r,receiveShadow:r,children:a})]})}),nQt=be.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,area:s,showHeatFluxes:c,foundation:u})=>{const d=M.getState().world,f=M(X2),p=M(q9),g=M($9),A=M(ss),w=Sn(vb),b=m.useRef(0),C=m.useRef(),[P,v,T]=e,y=m.useMemo(()=>{if(!c||u&&u.notBuilding)return;const x=w.get(t);if(!x)return;const R=x.reduce((U,F)=>U+F,0);if(s===0)return;const H=K9*(d.solarRadiationHeatmapGridCellSize??.5),D=Math.max(2,Math.round(P/H)),k=Math.max(2,Math.round(T/H)),W=P/D,N=T/k,L=R/s*(f??Gm);b.current=L<0?1:0,C.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(L)*Vt);const E=[];if(L<0)for(let U=0;U{const x=new Ml,[R,H]=[P/2,T/2],D=Math.max(R,H)*.2;return x.moveTo(-R,-H),x.lineTo(-R,H),x.lineTo(R,H),x.lineTo(R,-H),l||(x.lineTo(R-D,-H),x.lineTo(R-D,H-D),x.lineTo(-R+D,H-D),x.lineTo(-R+D,-H)),x.closePath(),x},[P,T,l]);return h.jsxs("group",{name:"Rectangle door group",position:[0,-.01,0],children:[h.jsx("mesh",{name:"Rectangular Door Mesh",rotation:[Vt,0,0],material:a,castShadow:A&&l,receiveShadow:A&&l,children:h.jsx("shapeGeometry",{args:[S]})}),l&&h.jsxs("mesh",{name:"Rectangular Door Simulation Mesh",rotation:[Vt,0,0],uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[S]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:A&&l,receiveShadow:A&&l,children:h.jsx("shapeGeometry",{args:[S]})}),h.jsx(eQt,{dimension:e,lineColor:i&&r?l0:"black",lineWidth:i&&r?2:.2}),h.jsx(tQt,{dimension:e,color:o}),y&&y.map((x,R)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:x,name:"Heat Flux "+R,lineWidth:g??Xm,color:p??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:x[b.current].clone().add(new re(0,b.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:p??g0})})]},R))]})}),oQt=be.memo(({id:t,dimension:e,color:n,frameColor:o,selected:i,locked:r,material:a,filled:l,showHeatFluxes:s,area:c,foundation:u})=>{const d=M.getState().world,f=M(ss),p=M(X2),g=M(q9),A=M($9),w=Sn(vb),b=m.useRef(0),C=m.useRef(),[P,v,T,y]=e,S=(D,k)=>{if(y>0){const W=.5*P,N=.5*T,L=Math.min(y,T,W),E=.5*(L+W*W/L);if(Math.abs(D)-N)return!0;const U=k-(T-E-N);return D*D+U*U{if(!s||u&&u.notBuilding)return;const D=w.get(t);if(!D)return;const k=D.reduce((_,Y)=>_+Y,0);if(c===0)return;const W=K9*(d.solarRadiationHeatmapGridCellSize??.5),N=Math.max(2,Math.round(P/W)),L=Math.max(2,Math.round(T/W)),E=P/N,U=T/L,F=k/c*(p??Gm);b.current=F<0?1:0,C.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(F)*Vt);const B=[];if(F<0)for(let _=0;_{const D=new Ml,k=P/2,W=T/2,N=Math.min(y,T,k);if(D.moveTo(k,-W),D.lineTo(k,W-N),N>.1){const L=N/2+P**2/(8*N),[E,U]=[0,W-L],F=Math.acos(Math.min(k/L,1)),B=Math.PI-F;D.absarc(E,U,L,F,B,!1)}else D.lineTo(-k,W);if(D.lineTo(-k,-W),!l){const L=P*.4,E=T*.4,U=Math.min(y*.8,T*.8,k*.8);if(D.lineTo(-L,-W),U>.1){D.lineTo(-L,W-U);const F=U/2+(P*.8)**2/(8*U),[B,_]=[0,E-F],Y=Math.acos(Math.min(L/F,1)),O=Math.PI-Y;D.absarc(B,_,F,O,Y,!0)}else D.lineTo(-L,E),D.lineTo(L,E);D.lineTo(L,-W)}return D.closePath(),D},[P,T,y,l]),H=m.useMemo(()=>({lineColor:"black",lineWidth:r&&i?.2:.1,opacity:1,selected:i,locked:r}),[i,r]);return h.jsxs("group",{name:"Arched door group",children:[h.jsx("mesh",{name:"Arched Door Mesh",rotation:[Vt,0,0],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),l&&h.jsxs("mesh",{name:"Arched Door Simulation Mesh",rotation:[Vt,0,0],material:a,uuid:t,userData:{simulation:!0},castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[R]}),h.jsx("meshBasicMaterial",{side:ji})]}),l&&h.jsx("mesh",{name:"Door plane mesh inside",position:[0,.1,0],rotation:[-Vt,0,Math.PI],material:a,castShadow:f&&l,receiveShadow:f&&l,children:h.jsx("shapeGeometry",{args:[R]})}),h.jsx(bce,{cy:0,dimension:e,wireframeData:H}),h.jsx(bce,{cy:v,dimension:e,wireframeData:H}),x&&x.map((D,k)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:D,name:"Heat Flux "+k,lineWidth:A??Xm,color:g??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:D[b.current].clone().add(new re(0,b.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:C.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:g??g0})})]},k))]})}),hqe="/aladdin/assets/door_edge-Dxz9LnYZ.png",pqe="/aladdin/assets/door_01-Bl1yYWKp.png",zue="/aladdin/assets/door_02-eLAy3erM.png",gqe="/aladdin/assets/door_03-CX-eEQtv.png",mqe="/aladdin/assets/door_04-Bk3Xe_KE.png",yqe="/aladdin/assets/door_05-15BnnbHK.png",Aqe="/aladdin/assets/door_06-B08sjms-.png",wqe="/aladdin/assets/door_07-BVyEwygm.png",vqe="/aladdin/assets/door_08-Cd1Vc7FQ.png",xqe="/aladdin/assets/door_09-DQcA4jCn.png",bqe="/aladdin/assets/door_10-DVLJsY3W.png",Sqe="/aladdin/assets/door_11-dOCMnkGG.png",Tqe="/aladdin/assets/door_12-7f2iD2B7.png",Pqe="/aladdin/assets/door_13-IsPl-xmI.png",Cqe="/aladdin/assets/door_14-CljRO-fX.png",Rqe="/aladdin/assets/door_15-CoUc1lfF.png",Hqe="/aladdin/assets/door_16-Dlbc5tIF.png",Mqe="/aladdin/assets/door_17-CHob_UgA.png",iQt=(t,e,n,o)=>{const i=m.useMemo(()=>{let s;switch(t){case ri.Default:s=hqe;break;case ri.NoTexture:s=eg;break;case ri.Texture01:s=pqe;break;case ri.Texture02:s=zue;break;case ri.Texture03:s=gqe;break;case ri.Texture04:s=mqe;break;case ri.Texture05:s=yqe;break;case ri.Texture06:s=Aqe;break;case ri.Texture07:s=wqe;break;case ri.Texture08:s=vqe;break;case ri.Texture09:s=xqe;break;case ri.Texture10:s=bqe;break;case ri.Texture11:s=Sqe;break;case ri.Texture12:s=Tqe;break;case ri.Texture13:s=Pqe;break;case ri.Texture14:s=Cqe;break;case ri.Texture15:s=Rqe;break;case ri.Texture16:s=Hqe;break;case ri.Texture17:s=Mqe;break;default:s=zue}return new nf().load(s,c=>{n!==void 0&&o!==void 0&&(c.offset.set(.5,.5),c.repeat.set(1/n,1/o)),a(c),l()})},[t,e,n,o]),[r,a]=m.useState(i),{invalidate:l}=Xi();return r},rQt=new sf({color:"white",side:ia}),aQt=be.memo(({dimension:t,doorType:e})=>{const[n,o,i]=t.map(a=>a/2);return n===0&&i===0?null:h.jsxs("group",{name:"Door handle wrapper",children:[h.jsx(mv,{x:-n,z:i,handleType:gt.UpperLeft}),h.jsx(mv,{x:n,z:i,handleType:gt.UpperRight}),e===Sd.Arched&&h.jsx(dqe,{z:i})]})}),lQt=be.memo(({dimension:t})=>{const e=M(ss),[n,o,i]=t,[r,a,l]=t.map(c=>c/2),s=(c,u,d)=>h.jsx(sa,{name:"Door seal plane",args:c,position:u,rotation:d,material:rQt,receiveShadow:e});return h.jsxs("group",{name:"Door seal planes group",children:[s([o,i],[-r,a,0],[Vt,Vt,0]),s([o,i],[r,a,0],[Vt,-Vt,0]),s([n,o],[0,a,l],[Math.PI,0,0])]})}),sQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,textureType:c,locked:u=!1,color:d="white",doorType:f=Sd.Default,archHeight:p=1,filled:g=!0,opacity:A=1,frameColor:w="white"}=t,b=`Door Group ${e}`,C=M(dn),P=ht(Ah),v=M(dBe),T=Hs(e),y=m.useRef(!1);m.useEffect(()=>{const Z=()=>{y.current=!1};return window.addEventListener("pointerup",Z),()=>window.removeEventListener("pointerup",Z)},[]);const S=(Z=!1)=>{C(ie=>{if(ie.groupActionMode)ie.multiSelectionsMode||ie.selectedElementIdSet.clear(),t.foundationId&&(ie.selectedElementIdSet.has(n)?ie.selectedElementIdSet.delete(n):ie.selectedElementIdSet.add(t.foundationId));else for(const ee of ie.elements)if(ee.id===e)if(ee.selected=!0,ie.selectedElement=ee,Z)if(ie.selectedElementIdSet.has(e))for(const q of ie.elements)ie.selectedElementIdSet.has(q.id)&&q.type!==ie.selectedElement.type&&ie.selectedElementIdSet.delete(q.id);else if(ie.multiSelectionsMode){ie.selectedElementIdSet.add(e);for(const q of ie.elements)ie.selectedElementIdSet.has(q.id)&&q.type!==ie.selectedElement.type&&ie.selectedElementIdSet.delete(q.id)}else ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(e);else ie.multiSelectionsMode?ie.selectedElementIdSet.has(e)?ie.selectedElementIdSet.delete(e):ie.selectedElementIdSet.add(e):(ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(e));else ee.selected=!1})},x=Z=>Z.intersections.length>0&&Z.intersections[0].eventObject.name===b&&!M.getState().moveHandleType&&!M.getState().resizeHandleType&&!M.getState().isAddingElement()&&M.getState().objectTypeToAdd===z.None,R=Z=>{if(Z.eventObject.name===b&&Z.intersections.length>0)switch(Z.object.name){case gt.UpperLeft:case gt.UpperRight:case gt.Arch:return!0}return!1},H=(Z,ie)=>{Ln.getState().setEnableOrbitController(!1),P("showWallIntersectionPlaneId",n),C(ee=>{ee.resizeHandleType=Z,ee.resizeAnchor.copy(new re(o,0,r).add(ie))})},D=Z=>{M.getState().addedWallId||x(Z)&&(S(!0),C(ie=>{ie.contextMenuObjectType=z.Door}))},k=Z=>{if(!(y.current||Z.button===2||M.getState().addedWallId)&&(y.current=!0,x(Z)&&S(),R(Z))){const ie=Z.intersections[0].eventObject.name;switch(ie){case gt.UpperLeft:{H(ie,new re(a/2,0,-s/2));break}case gt.UpperRight:{H(ie,new re(-a/2,0,-s/2));break}case gt.Arch:{H(ie,new re(0,0,0));break}}}},W=M(cA),N=ht(cs),L=ht(i3),E=M(wf),U=Sn(i1),[F,B]=m.useState(null),_=()=>{switch(f){case Sd.Default:return h.jsx(nQt,{id:e,dimension:O,color:d,frameColor:w,selected:T,locked:u,material:J,filled:g,showHeatFluxes:L,area:xe.getDoorArea(t),foundation:W(t)});case Sd.Arched:return h.jsx(oQt,{id:e,dimension:O,color:d,frameColor:w,selected:T,locked:u,material:J,filled:g,showHeatFluxes:L,area:xe.getDoorArea(t),foundation:W(t)})}};m.useEffect(()=>{if(t&&N){const Z=U(t.id);if(Z){const ie=xe.fetchHeatmapTexture(Z,E??5);ie&&(ie.wrapS=Ss,ie.wrapT=Ss,ie.offset.set(-a/2,-s/2),ie.center.set(a/2,s/2),ie.repeat.set(1/a,1/s),B(ie))}}},[N,E]);const Y=iQt(c,f,a,s),O=m.useMemo(()=>[a,l,s,p],[a,l,s,p]),J=m.useMemo(()=>N&&F&&t.filled?new G9({color:d,map:F,side:ia}):g?c===ri.Default||c===ri.NoTexture?A<1?new v1e({specular:"white",shininess:v??ZV,color:d,side:ia,opacity:A,transparent:!0}):new sf({map:Y,color:d,side:ia}):new sf({map:Y,side:ia}):new sf({opacity:d===cce?.5:0,color:d,transparent:!0,side:ji}),[N,F,d,c,Y,g,A]);return h.jsxs("group",{name:b,position:[o,0,r],onPointerDown:k,onContextMenu:D,children:[_(),T&&h.jsx(yye,{element:t}),T&&!u&&h.jsx(aQt,{dimension:O,doorType:f}),h.jsx(lQt,{dimension:O})]})},cQt=be.memo(sQt),uQt=be.memo(({drawSunbeam:t,absRotation:e,tiltAngle:n})=>{const o=new re(0,0,1),i=M(Ya),r=M(Xs),a=M(mh),l=Math.max(100,10*a),s=m.useMemo(()=>zr(new Date(i),r).applyEuler(new Qt(-Vt-n,0,-e)),[i,r,e,n]);return h.jsx(h.Fragment,{children:t&&s.z>0&&h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[o.clone().multiplyScalar(.75),[0,0,0],s.clone().multiplyScalar(l)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[s.clone().multiplyScalar(.5),o.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(s.angleTo(o)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:s.clone().multiplyScalar(.75).add(o.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:o.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})})}),dQt=({sp:t})=>{M(Jn);const e=M(Vn),n=M(Sc),o=m.useMemo(()=>({lng:n}),[n]);if(!t.foundationId||!t.parentId)return null;const i=e(t.parentId),r=e(t.foundationId);if(!i||!r)return null;const a=new re(r.cx,r.cy,r.cz),l=new re(i.cx,i.cy,i.cz),s=new re(t.cx*i.lx,0,t.cz*i.lz).applyEuler(new Qt(0,0,i.relativeAngle)).add(l).applyEuler(new Qt(0,0,r.rotation[2])).add(a),c=((t==null?void 0:t.label)??j.t("shared.SolarPanelElement",o))+(t!=null&&t.locked?` ( + ${j.t("shared.ElementLocked",o)} + )`:"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",o)+": ("+s.x.toFixed(1)+", "+s.y.toFixed(1)+", "+s.z.toFixed(1)+") "+j.t("word.MeterAbbreviation",o));return h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:c,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(t.ly/2*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})},fQt=({tiltAngle:t,handleSize:e,initPointerDown:n,handlePointerMove:o,handlePointerUp:i})=>{const{gl:r}=Xi(),[a,l]=m.useState(pr),[s,c]=m.useState(!1),[u,d]=m.useState(!1),f=m.useRef(null),p=m.useRef(null),g=m.useMemo(()=>new Array(7).fill(0),[]),A=M(dn);return h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[e,1.1*e,18,2,0,Vt],rotation:[0,-Vt,0,"ZXY"],onPointerOver:()=>{r.domElement.style.cursor="grab",l(nr)},onPointerOut:()=>{r.domElement.style.cursor="default",l(pr)},onPointerDown:w=>{n(),w.stopPropagation(),c(!0),d(!0),A(b=>{b.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:a})}),s&&h.jsxs(h.Fragment,{children:[u&&h.jsx(sa,{name:"Solar panel tilt handle intersection plane",ref:p,args:[1e3,1e3],rotation:[0,-Vt,0,"ZXY"],visible:!1,onPointerMove:w=>{o(w,p)},onPointerUp:()=>{i(),d(!1),c(!1)},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(Y6,{ref:f,name:"Solar panel tilt handle",args:[e,2*e,18,2,-0,Vt],rotation:[0,-Vt,0,"ZXY"],children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,e],[0,0,1.75*e]],rotation:new Qt(t,0,0,"ZXY"),lineWidth:1}),g.map((w,b)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*b-Vt,0,0,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*e],[0,0,2*e]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${90-b*15}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.15*e,position:[0,0,1.6*e]})]},b)),h.jsx("group",{rotation:new Qt(t,0,0,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(-t/Math.PI*180)}°`,fontSize:20*e,fontFace:"Times Roman",textHeight:.2*e,position:[0,0,.75*e]})})]})]})},hQt=be.memo(({tiltAngle:t,spCy:e,spLy:n,lx:o,nx:i})=>{const r=M(ss),a=m.useMemo(()=>{const s=n*Math.cos(t)/2,c=n*.75-s,u=-e*1.5,d=c-s/2,f=Math.hypot(u,d),p=Math.atan2(d,u);return h.jsx("group",{position:[0,-c,e],rotation:[-p,0,0],children:h.jsx(Ei,{args:[.05,.05,f],position:[0,0,f/2],castShadow:r,receiveShadow:r,children:h.jsx("meshStandardMaterial",{color:"#BFBFBF"})})})},[t,e,n,r]),l=m.useMemo(()=>{const s=[];let c=i%2===0?o/2:0;for(;ch.jsx("group",{position:[s,0,0],children:a},c))})}),tO="Handle Group Move & Resize",pQt=({id:t,pvModelName:e="SPR-X21-335-BLK",cx:n,cy:o,cz:i,lx:r,ly:a,lz:l,color:s="white",locked:c=!1,parentId:u,foundationId:d,orientation:f=ui.portrait,showLabel:p,drawSunBeam:g,absRotation:A,tiltAngle:w,relativeAzimuth:b})=>{w=Math.min(0,w);const C=Hs(t),P=M(dn),v=ht(cs),T=M(ss),y=M(gq),S=M(Vn),x=M(Vc),R=M(yh),H=M(hu)??!1,D=M(C7),{camera:k,gl:W}=Xi(),[N,L]=m.useState(!1),[E,U]=m.useState(null),[F,B]=m.useState(1),_=m.useRef(null),Y=m.useRef(),O=m.useRef(!1),J=m.useRef(null),Z=m.useMemo(()=>new Gs,[]),ie=m.useMemo(()=>new Gt,[]),ee=D[e];ee&&(l=Math.max(ee.thickness,.02));const q=r/2,ae=a/2,ne=l/2,se=new re(-q,-ae,ne),le=new re(-q,ae,ne),te=new re(q,-ae,ne),he=new re(q,ae,ne),pe=S(t);m.useEffect(()=>{if(ee){let Ye,Le;f===ui.portrait?(Ye=Math.max(1,Math.round(r/ee.width)),Le=Math.max(1,Math.round(a/ee.length))):(Ye=Math.max(1,Math.round(r/ee.length)),Le=Math.max(1,Math.round(a/ee.width))),B(Ye),Y.current=[];const $e=r/Ye,We=a/Le;for(let Ee=0;Ee<=Ye;Ee++)Y.current.push({points:[new re(-q+Ee*$e,-ae,l),new re(-q+Ee*$e,ae,l)]});for(let Ee=0;Ee<=Le;Ee++)Y.current.push({points:[new re(-q,-ae+Ee*We,l),new re(q,-ae+Ee*We,l)]})}},[f,e,r,a,l]);const fe=m.useMemo(()=>new Qt(Vt,0,0),[]),$=m.useMemo(()=>new Qt(w,0,0,"ZXY"),[w]),de=Ye=>{if(Ye.intersections.length>0&&Ye.eventObject.name.includes(tO)){const $e=Ye.object.name;U($e),$e===yo.Top?W.domElement.style.cursor="move":$e===wi.Lower||$e===wi.Upper||$e===wi.Tilt?W.domElement.style.cursor="grab":W.domElement.style.cursor="pointer"}},Se=()=>{U(null),W.domElement.style.cursor="default"},Ce=Math.max(1,(r+a)/16),ve=I9*Ce*1.5,Ie=Af*Ce*2,ze=Ce*2/3;o=a*Math.sin(w)/2;const ye=Ye=>{ie.x=Ye.offsetX/W.domElement.clientWidth*2-1,ie.y=-(Ye.offsetY/W.domElement.clientHeight)*2+1,Z.setFromCamera(ie,k)},oe=()=>{J.current=w,O.current=!0,Ln.getState().setEnableOrbitController(!1)},ge=(Ye,Le)=>{var $e;if(O.current&&(ye(Ye),Le.current&&M.getState().rotateHandleType===wi.Tilt)){const We=Z.intersectObjects([Le.current]);if(We.length>0){const Ee=We[0].point,Fe=($e=Le.current.parent)==null?void 0:$e.localToWorld(new re);if(Fe){const Ge=new re().subVectors(Ee,Fe);let rt=Ge.angleTo(Po);const _e=A;rt=(_e%Math.PI===0?Math.sign(-Ge.y)*Math.sign(Math.cos(_e)):Math.sign(Ge.x)*Math.sign(Math.sin(_e)))*rt-Vt,rt=xe.clamp(rt,-Vt,0),M.getState().updateSolarPanelTiltAngleById(t,rt)}}}},Ae=()=>{const Ye=S(t);if(Ye&&J.current!==null&&Math.abs(Ye.tiltAngle-J.current)>Dt){const Le={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:J.current,newValue:Ye.tiltAngle,changedElementId:t,changedElementType:z.SolarPanel,undo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.oldValue)},redo:()=>{M.getState().updateSolarPanelTiltAngleById(Le.changedElementId,Le.newValue)}};M.getState().addUndoable(Le)}Ln.getState().setEnableOrbitController(!0),O.current=!1},me=(Ye,Le)=>{Ln.getState().setEnableOrbitController(!1),ht.getState().set($e=>{$e.showWallIntersectionPlaneId=u,$e.oldParentId=u,$e.oldFoundationId=d}),P($e=>{$e.resizeHandleType=Ye,$e.resizeAnchor.copy(new re(n,0,i).add(Le))})},Pe=Ye=>{if(Ye.intersections.length>0&&Ye.intersections[0].eventObject.name===tO){const Le=Ye.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),ht.getState().set($e=>{$e.showWallIntersectionPlaneId=u,$e.oldParentId=u,$e.oldFoundationId=d}),P($e=>{$e.moveHandleType=Le,$e.selectedElement=$e.elements.find(We=>{var Ee;return We.id===((Ee=$e.selectedElement)==null?void 0:Ee.id)})});break}case gt.Left:{me(Le,new re(r/2,0,0));break}case gt.Right:{me(Le,new re(-r/2,0,0));break}case gt.Lower:{me(Le,new re(0,0,a/2));break}case gt.Upper:{me(Le,new re(0,0,-a/2));break}}}},Me=rQ(r,a,ee,f,pe==null?void 0:pe.frameColor,pe==null?void 0:pe.backsheetColor),Te=iQ(t),De=()=>v&&Te?h.jsx("meshBasicMaterial",{attach:"material-4",map:Te}):Me?H||y===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:Me,color:s}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((ee==null?void 0:ee.color)==="Blue"?Kw:qw),shininess:y??Jm,side:ia,map:Me,color:s}):h.jsx("meshStandardMaterial",{attach:"material-4",color:s}),Ne=()=>(ee==null?void 0:ee.bifacialityFactor)===0||w===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:s}):Me?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((ee==null?void 0:ee.color)==="Blue"?Kw:qw),shininess:y??Jm,side:ia,map:Me,color:s}):null;return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Group Grandpa "+t,rotation:fe,position:[n,o,i+ne],children:[h.jsxs("group",{name:"Solar Panel Group Dad "+t,rotation:$,children:[h.jsxs(Ei,{receiveShadow:T,castShadow:T,uuid:t,ref:_,args:[r,a,l],name:"Solar Panel",onPointerDown:Ye=>{Ye.button===2||M.getState().isAddingElement()||M.getState().objectTypeToAdd!==z.None||x(t,Ye,zo.Select)},onContextMenu:Ye=>{x(t,Ye,zo.ContextMenu),P(Le=>{Ye.intersections.length>0&&Ye.intersections[0].object===_.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Ye=>{Ye.intersections.length>0&&Ye.intersections[0].object===_.current&&(W.domElement.style.cursor="move",L(!0))},onPointerOut:Ye=>{W.domElement.style.cursor="default",L(!1)},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:s}),h.jsx("meshStandardMaterial",{attach:"material-1",color:s}),h.jsx("meshStandardMaterial",{attach:"material-2",color:s}),h.jsx("meshStandardMaterial",{attach:"material-3",color:s}),De(),Ne()]}),v&&Te&&Y.current&&Y.current.map((Ye,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Ye.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:t,args:[r,a],position:[0,0,l],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),C&&c&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-ae,0],[-q,ae,0],[q,ae,0],[q,-ae,0],[-q,-ae,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0}),C&&!c&&h.jsx(h.Fragment,{children:h.jsxs("group",{name:tO,onPointerDown:Pe,onPointerOver:de,onPointerOut:Se,children:[h.jsx(ts,{position:new re(0,0,0),args:[Ie,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[(se.x+te.x)/2,se.y,se.z],args:[ve,ve,l*1.2],name:gt.Lower,children:h.jsx("meshBasicMaterial",{color:E===gt.Lower||R===gt.Lower?nr:pr})}),h.jsx(Ei,{position:[(le.x+he.x)/2,le.y,le.z],args:[ve,ve,l*1.2],name:gt.Upper,children:h.jsx("meshBasicMaterial",{color:E===gt.Upper||R===gt.Upper?nr:pr})}),h.jsx(Ei,{position:[se.x,(se.y+le.y)/2,se.z],args:[ve,ve,l*1.2],name:gt.Left,children:h.jsx("meshBasicMaterial",{color:E===gt.Left||R===gt.Left?nr:pr})}),h.jsx(Ei,{position:[te.x,(te.y+he.y)/2,te.z],args:[ve,ve,l*1.2],name:gt.Right,children:h.jsx("meshBasicMaterial",{color:E===gt.Right||R===gt.Right?nr:pr})})]})}),h.jsx(uQt,{drawSunbeam:g,absRotation:A,tiltAngle:w}),(N||p)&&!C&&h.jsx(dQt,{sp:pe})]}),w!==0&&ee&&h.jsx(hQt,{tiltAngle:-w,spCy:o-ne,spLy:a,lx:f===ui.portrait?ee.width:ee.length,nx:F})]}),C&&!c&&h.jsx("group",{name:tO,position:[n,0,i+ne],rotation:fe,children:h.jsx(fQt,{tiltAngle:w,handleSize:ze,initPointerDown:oe,handlePointerMove:ge,handlePointerUp:Ae})})]})},gQt=be.memo(pQt),mQt="/aladdin/assets/polygon_08-BBFzZjDj.png",yQt="/aladdin/assets/polygon_09-B_8KpAt3.png",AQt="/aladdin/assets/polygon_10-CKqrpQre.png",Iqe=({id:t,lz:e=.1,filled:n=!1,rotation:o=[0,0,0],normal:i=[0,0,1],color:r="yellow",label:a,text:l,fontSize:s=1,fontColor:c="black",fontOutlineWidth:u=0,fontOutlineColor:d="white",fontStrokeWidth:f=0,fontStrokeColor:p="black",lineStyle:g=Oh.Solid,lineColor:A="black",lineWidth:w=1,locked:b=!1,showLabel:C=!1,parentId:P,foundationId:v,vertices:T,opacity:y=1,noOutline:S=!1,shininess:x=0,selectedIndex:R=-1,textureType:H=qi.NoTexture})=>{const D=M(dn),k=M(Vc),W=M(Rq),N=M(ss),L=Hs(t),{gl:{domElement:E}}=Xi(),[U,F]=m.useState(!1),[B,_]=m.useState(0),[Y,O]=m.useState(0),[J,Z]=m.useState(null),ie=m.useRef(null),ee=m.useRef(null),q=M(Te=>{for(const De of Te.elements)if(De.id===P)return De}),ae=new re,ne=new Qt;if((q==null?void 0:q.type)===z.Cuboid){const{pos:Te,rot:De}=xe.getWorldDataById(q.id);ae.copy(Te),ne.set(0,0,De)}const se=q?Math.max(1,Math.max(q.lx,q.ly)/24):1,le=I9*se,te=Af*se,he=Kt(),pe=(Te,De)=>{D(Ne=>{for(const Ye of Ne.elements)if(Ye.type===z.Polygon&&Ye.id===Te){Ye.selectedIndex=De;break}})},fe=m.useMemo(()=>{const Te=new Array;if(q){switch(q.type){case z.Foundation:{for(const Ne of T)Te.push({x:Ne.x*q.lx,y:Ne.y*q.ly});break}case z.Wall:{for(const Ne of T)Te.push({x:Ne.x*q.lx,y:Ne.y*q.lz});break}case z.Cuboid:{const Ne=new re().fromArray(i);let Ye,Le;xe.isUnitVectorX(Ne)?(Ye=q.lz,Le=q.ly):xe.isUnitVectorY(Ne)?(Ye=q.lx,Le=q.lz):(Ye=q.lx,Le=q.ly);for(const $e of T)Te.push({x:$e.x*Ye,y:$e.y*Le});break}}const De=xe.calculatePolygonCentroid(Te);_(De.x),O(De.y)}return Te},[T,q,i]),de=(()=>{if((q==null?void 0:q.type)===z.Cuboid){const Te=xe.isIdentical(i,o0);return ae.z+(q.lz+(Te?0:e))/2+.01}return(q==null?void 0:q.type)===z.Foundation?q.lz+.01:e/2+.01})(),Ce=(()=>{if((q==null?void 0:q.type)===z.Wall)return new Qt(-Vt,0,Math.PI,"ZXY");const Te=new re().fromArray(i);let De=o[2];return(q==null?void 0:q.type)===z.Cuboid&&(De=ne.z),xe.isSame(Te,Np)?new Qt(0,Vt,De,"ZXY"):xe.isSame(Te,Up)?new Qt(0,-Vt,De,"ZXY"):xe.isSame(Te,Yc)?new Qt(-Vt,0,De,"ZXY"):xe.isSame(Te,Bp)?new Qt(Vt,0,De,"ZXY"):new Qt(0,0,De,"ZXY")})(),Ie=(()=>{if(q){if(q.type===z.Cuboid){const Te=new re(ae.x,ae.y,de),De=new re().fromArray(i);let Ne=!1;const Ye=new re;return xe.isSame(De,Np)?(Ne=!0,Ye.x=q.lx/2+.01):xe.isSame(De,Up)?(Ne=!0,Ye.x=-q.lx/2-.01):xe.isSame(De,Yc)?(Ne=!0,Ye.y=q.ly/2+.01):xe.isSame(De,Bp)&&(Ne=!0,Ye.y=-q.ly/2-.01),Ne&&(Ye.applyEuler(ne),Te.x=ae.x+Ye.x,Te.y=ae.y+Ye.y,Te.z=ae.z+Ye.z),Te}else if(q.type===z.Wall)return new re(0,-.01,0)}return new re((q==null?void 0:q.cx)??0,(q==null?void 0:q.cy)??0,de)})(),ze=m.useMemo(()=>{const Te=new Array;for(const De of fe)Te.push(new re(De.x,De.y,0));return Te.push(new re(fe[0].x,fe[0].y,0)),Te},[fe]),ye=m.useMemo(()=>{const Te=new Ml;Te.moveTo(fe[0].x,fe[0].y);for(let De=1;De{Te.intersections.length>0&&Te.intersections[0].object===Te.eventObject&&(Z(De),De===yo.Default?E.style.cursor="move":E.style.cursor="pointer")},[]),ge=m.useCallback(()=>{Z(null),E.style.cursor="default"},[]),Ae=Te=>{switch(Te){case qi.Texture01:return{x:1,y:1};case qi.Texture02:return{x:2,y:2};case qi.Texture03:return{x:.4,y:.4};case qi.Texture04:return{x:.25,y:.25};case qi.Texture05:return{x:5,y:5};case qi.Texture06:return{x:1,y:1};case qi.Texture07:return{x:1,y:1};case qi.Texture08:return{x:2,y:2};case qi.Texture09:return{x:2,y:2};case qi.Texture10:return{x:4,y:4};default:return{x:1,y:1}}},me=m.useMemo(()=>{let Te;switch(H){case qi.Texture01:Te=tqe;break;case qi.Texture02:Te=nqe;break;case qi.Texture03:Te=oqe;break;case qi.Texture04:Te=iqe;break;case qi.Texture05:Te=rqe;break;case qi.Texture06:Te=aqe;break;case qi.Texture07:Te=lqe;break;case qi.Texture08:Te=mQt;break;case qi.Texture09:Te=yQt;break;case qi.Texture10:Te=AQt;break;default:Te=eg}return new nf().load(Te,De=>{const Ne=Ae(H);De.wrapT=De.wrapS=Ss,De.repeat.set(1/Ne.x,1/Ne.y);const Ye=new re().fromArray(i);xe.isSame(Ye,Np)?De.rotation=Vt:xe.isSame(Ye,Up)?De.rotation=-Vt:xe.isSame(Ye,Bp)&&(De.rotation=Math.PI),Me(De)})},[H,i]),[Pe,Me]=m.useState(me);return h.jsxs("group",{name:"Polygon Group "+t,rotation:Ce,position:Ie,children:[n&&h.jsxs("mesh",{uuid:t,ref:ie,receiveShadow:N,castShadow:!1,name:z.Polygon,onPointerDown:Te=>{Te.button!==2&&W===z.None&&k(t,Te)},onContextMenu:Te=>{k(t,Te,zo.ContextMenu),D(De=>{Te.intersections.length>0&&Te.intersections[0].object===ie.current&&(Te.intersections.length>1&&De.pastePoint.copy(Te.intersections[1].point),De.contextMenuObjectType=z.Polygon)})},onPointerOver:Te=>{Te.intersections.length>0&&Te.intersections[0].object===ie.current&&F(!0)},onPointerOut:()=>{F(!1),E.style.cursor="default"},children:[h.jsx("shapeGeometry",{attach:"geometry",args:[ye]}),x===void 0||x===0?h.jsx("meshStandardMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Pe,side:ji,transparent:y<1,opacity:y}):h.jsx("meshPhongMaterial",{attach:"material",color:H===qi.NoTexture?r:"white",map:Pe,side:ia,specular:new Xo("white"),shininess:x,transparent:y<1,opacity:y})]}),l&&h.jsx(N6t,{fontSize:s,scale:[1,1,1],color:c,position:[B,Y,.01],rotation:[0,0,(q==null?void 0:q.type)===z.Wall?Math.PI:0],anchorX:"center",anchorY:"middle",outlineWidth:u,outlineColor:d,strokeWidth:f,strokeColor:p,children:l}),(!S||b&&L)&&h.jsx(Fn,{points:ze,color:b&&L?l0:A,lineWidth:w,dashed:g&&g!==Oh.Solid,dashSize:g===Oh.Dashed?.3:.1,gapSize:.1,uuid:t,receiveShadow:!1,castShadow:!1,name:"Polygon Wireframe",onPointerDown:Te=>{Te.button!==2&&k(t,Te)},onContextMenu:Te=>{W===z.None&&(k(t,Te,zo.ContextMenu),D(De=>{if(Te.intersections.length>0){const Ne=Te.intersections[0].object;Ne.name==="Polygon Wireframe"&&Ne.uuid===t&&(De.contextMenuObjectType=z.Polygon)}}))}}),!n&&h.jsx(Fn,{position:[0,0,.1],points:ze,visible:!1,lineWidth:Math.min(w*10,10),receiveShadow:!1,castShadow:!1,uuid:t,name:"Polygon Enlarged Line",onPointerDown:Te=>{Te.button!==2&&k(t,Te)},onContextMenu:Te=>{W===z.None&&(k(t,Te,zo.ContextMenu),D(De=>{if(Te.intersections.length>0){const Ne=Te.intersections[0].object;Ne.name==="Polygon Enlarged Line"&&Ne.uuid===t&&(De.contextMenuObjectType=z.Polygon)}}))}}),L&&!b&&h.jsx(ts,{ref:ee,position:[B,Y,0],args:[te,6,6],name:yo.Default,onPointerDown:Te=>{Te.button!==2&&(k(t,Te,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(De=>{De.showWallIntersectionPlaneId=P,De.oldParentId=P,De.oldFoundationId=v}),D(De=>{De.moveHandleType=yo.Default}))},onPointerOver:Te=>{oe(Te,yo.Default)},onPointerOut:ge,children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),L&&!b&&fe.map((Te,De)=>h.jsxs(be.Fragment,{children:[h.jsx(Ei,{userData:{vertexIndex:De},position:[Te.x,Te.y,0],name:gt.Default,args:[le,le,e/2+(n?0:.1)],onPointerDown:Ne=>{Ne.button!==2&&(k(t,Ne,zo.Resize),pe(t,De),Ln.getState().setEnableOrbitController(!1),ht.getState().set(Ye=>{Ye.showWallIntersectionPlaneId=P,Ye.oldParentId=P,Ye.oldFoundationId=v}),D(Ye=>{Ye.resizeHandleType=gt.Default}))},onPointerOver:Ne=>{oe(Ne,gt.Default),pe(t,De)},onPointerOut:ge,onContextMenu:Ne=>{D(Ye=>{if(Ne.intersections.length>0){const Le=Ne.intersections[0].object.userData.vertexIndex;Le!==void 0&&(Ye.contextMenuObjectType=z.PolygonVertex,pe(t,Le))}})},children:h.jsx("meshBasicMaterial",{attach:"material",color:(J===gt.Default||M.getState().resizeHandleType===gt.Default)&&R===De?nr:pr})}),h.jsx("textSprite",{name:"Label "+De,text:""+De,fontSize:20*se,fontFace:"Times Roman",textHeight:.2*se,position:[Te.x,Te.y,.2*se]})]},"resize-handle-"+De)),(U||C)&&!L&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:(a??j.t("shared.PolygonElement",he))+(b?" ("+j.t("shared.ElementLocked",he)+")":""),fontSize:20*se,fontFace:"Times Roman",textHeight:.2*se,position:[0,0,e+.2]})]})},wye={display:!1,color:"white",textureType:No.NoTexture,parapetHeight:1,copingsWidth:.5,copingsHeight:.1},wQt=({args:t,wallData:e,parapetZ:n,currWallPointData:o,leftWallPointData:i,rightWallPointData:r})=>{const{display:a,color:l,textureType:s,parapetHeight:c,copingsWidth:u,copingsHeight:d}=t,{id:f,cx:p,cy:g,hx:A,hy:w,angle:b}=e,C=c-d,P=qKe(s),v=m.useMemo(()=>{const L=new re(-A,w-u/2),E=new re(A,w-u/2),U=new re(A,w+u/2),F=new re(-A,w+u/2),B=[L,E,U,F];if(r||i){const _=cSe(o);if(r&&nO(o.rightPoint,r.leftPoint)){const Y=H(_,r);Y&&(E.copy(Y.outerIntersection),U.copy(Y.innerIntersection))}if(i&&nO(o.leftPoint,i.rightPoint)){const Y=H(_,i);Y&&(L.copy(Y.outerIntersection),F.copy(Y.innerIntersection))}}return B},[A,w,u,o,i,r]),T=m.useMemo(()=>{const L=new Ml,E=new re(-A,w*2),U=new re(A,w*2);if(r||i){const F=GG(o,o.ly);if(r&&nO(o.rightPoint,r.leftPoint)){const B=D(F,r);B&&U.copy(B)}if(i&&nO(o.leftPoint,i.rightPoint)){const B=D(F,i);B&&E.copy(B)}}return L.moveTo(-A,0),L.lineTo(A,0),L.lineTo(U.x,U.y),L.lineTo(E.x,E.y),L.closePath(),L},[A,w,o,i,r]),y=m.useMemo(()=>{const L=new Ml;if(u===0)return L;const[E,U,F,B]=v;return L.moveTo(E.x,E.y),L.lineTo(U.x,U.y),L.lineTo(F.x,F.y),L.lineTo(B.x,B.y),L.closePath(),L},[u,v]),S=m.useMemo(()=>v.map(L=>L.toArray()),[v]),x=m.useMemo(()=>[new re(-A,0,0),new re(A,0,0)],[A]),R=m.useMemo(()=>[new re,new re(0,0,C)],[C]);function H(L,E){const U=cSe(E),F=Pre(L.outerPoints.leftPoint,L.outerPoints.rightPoint,U.outerPoints.leftPoint,U.outerPoints.rightPoint);if(!F)return null;const B=Pre(L.innerPoints.leftPoint,L.innerPoints.rightPoint,U.innerPoints.leftPoint,U.innerPoints.rightPoint);return B?{innerIntersection:new re().subVectors(B,new re(p,g)).applyEuler(new Qt(0,0,-b)),outerIntersection:new re().subVectors(F,new re(p,g)).applyEuler(new Qt(0,0,-b))}:null}function D(L,E){const U=GG(E,E.ly),F=Pre(L.leftPoint,L.rightPoint,U.leftPoint,U.rightPoint);return F?new re().subVectors(F,new re(p,g)).applyEuler(new Qt(0,0,-b)):null}function k(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().isAddingElement())}function W(L){L.button!==2&&L.intersections.length>0&&L.intersections[0].eventObject===L.eventObject&&k()&&M.getState().selectMe(f,L,zo.Select,!0)}function N(L){M.getState().selectMe(f,L,zo.ContextMenu,!0),M.getState().set(E=>{L.intersections.length>0&&L.intersections[0].eventObject===L.eventObject&&(E.contextMenuObjectType=z.Wall)})}return a?h.jsxs("group",{name:"Wall Parapet Group",position:[0,0,n],onContextMenu:N,onPointerDown:W,children:[h.jsx($w,{name:"Body Extrude Mesh",args:[T,{steps:1,depth:C,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l,map:P})}),h.jsx(Fn,{position:[A,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[-A,0,0],points:R,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:x,color:"black",lineWidth:.2}),h.jsx($w,{name:"Copings Extrude Mesh",position:[0,0,C],args:[y,{steps:1,depth:d,bevelEnabled:!1}],children:h.jsx("meshStandardMaterial",{color:l})}),h.jsx(Fn,{position:[0,0,C+d],points:S,color:"black",lineWidth:.2}),h.jsx(Fn,{position:[0,0,C],points:S,color:"black",lineWidth:.2})]}):null};function cSe(t){const e=(t.ly+t.copingsWidth)/2,n=(t.ly-t.copingsWidth)/2;return{innerPoints:GG(t,e),outerPoints:GG(t,n)}}function GG(t,e){const{leftPoint:n,rightPoint:o}=t,i=new re().fromArray(n),r=new re().fromArray(o),l=new re().subVectors(r,i).applyEuler(new Qt(0,0,Vt)).normalize().clone().multiplyScalar(e);return{leftPoint:i.clone().add(l),rightPoint:r.clone().add(l)}}function nO(t,e){return Math.abs(t[0]-e[0]){const{id:n,lx:o,lz:i}=t,r=M(Q9),a=M(X2),l=M(q9),s=M($9),c=Sn(vb),u=ht(i3),d=m.useRef(0),f=m.useRef(),p=m.useMemo(()=>{if(!u||e)return;const g=c.get(n);if(!g)return;const A=g.reduce((B,_)=>B+_,0),w=t.fill===Hl.Partial&&!xe.isPartialWallFull(t),b=xe.getWallVertices(t,0),C=w?xe.getPartialWallVertices(t,0):b,P=xe.getPolygonArea(b);let v=w?xe.getPolygonArea(C):P;if(v===0)return;const T=r(z.Window,n),y=r(z.Door,n);if(T&&T.length>0)for(const B of T)v-=xe.getWindowArea(B,t);if(y&&y.length>0)for(const B of y)v-=B.lx*B.lz*t.lx*t.lz;const S=M.getState().world,x=K9*(S.solarRadiationHeatmapGridCellSize??.5),R=xe.getHighestPointOfWall(t),H=Math.max(2,Math.round(o/x)),D=Math.max(2,Math.round(R/x)),k=o/H,W=R/D,N=(R-t.lz)/2,L=A/v*(a??Gm);d.current=L<0?1:0,f.current=xe.getEuler(Po,Yc,"YXZ",Math.sign(L)*Vt);const E=[],U=w?xe.getPartialWallVertices(t,0):xe.getWallVertices(t,0);let F;for(let B=0;B0)for(const Z of T){if(Z.type!==z.Window)continue;const ie=Z.cx*t.lx,ee=Z.cz*t.lz,q=Z.lx*t.lx/2,ae=Z.lz*t.lz/2;if(Z.windowType===Sr.Arched){if(O>=ie-q&&O=ee-ae&&J=ie-q&&O=ee-ae&&J0)for(const Z of y){const ie=Z.cx*o,ee=Z.cz*R,q=Z.lx*o/2,ae=Z.lz*R/2;if(O>=ie-q&&O=ee-ae&&Jh.jsxs(be.Fragment,{children:[h.jsx(Fn,{points:g,name:"Heat Flux "+A,lineWidth:s??Xm,color:l??g0}),h.jsx(cu,{userData:{unintersectable:!0},position:g[d.current].clone().add(new re(0,d.current===0?-.1:.1,0)),args:[.06,.2,4,1],name:"Normal Vector Arrow Head",rotation:f.current??[0,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:l??g0})})]},A))}):null},bQt=be.memo(xQt),Cre="Wall Block Plane",SQt="Wall Intersection Plane",tP=.1,TQt=be.memo(({transparent:t,color:e,opacity:n})=>{const i=M(M7).z<=0;return h.jsx("meshStandardMaterial",{color:t?e:"white",transparent:t,opacity:n,side:i?p0:ji})}),PQt=({wallModel:t,foundationModel:e})=>{var mu,cn,qt,jt,pn,Pn;let{id:n,cx:o,cy:i,lx:r=1,ly:a=.5,lz:l=5,relativeAngle:s,leftJoints:c,rightJoints:u,textureType:d,color:f="white",lineColor:p="black",lineWidth:g=.2,parentId:A,locked:w=!1,roofId:b,leftRoofHeight:C,rightRoofHeight:P,centerRoofHeight:v,centerLeftRoofHeight:T,centerRightRoofHeight:y,wallStructure:S=hc.Default,structureSpacing:x=2,structureWidth:R=.1,structureColor:H="white",opacity:D=.5,fill:k=Hl.Full,leftUnfilledHeight:W=.5,rightUnfilledHeight:N=.5,leftTopPartialHeight:L=l,rightTopPartialHeight:E=l,parapet:U=wye,leftPoint:F,rightPoint:B}=t;C=c.length>0?C:l,P=u.length>0?P:l;const _=qKe(d),Y=Hs(n),O=M(dn),J=M(xb),Z=M(Vc),ie=M(En),ee=M(pge),q=Sn(i1),ae=M(H7),ne=M(ss),se=M(gge),le=M(uYe),te=M(wf),he=ht(Ah),pe=ht(cs),fe=ht(Ze=>Ze.elementBeingCanceledId),$=ht(Ze=>Ze.showWallIntersectionPlaneId),[de,Se]=m.useState(!1),[Ce,ve]=m.useState(null),{camera:Ie,gl:ze}=Xi(),{elementsOnWall:ye,leftWall:oe,rightWall:ge}=o$t(n,c[0],u[0]),Ae=$Ke(e),me=m.useRef(null),Pe=m.useRef(null),Me=m.useRef(null),Te=m.useRef(null),De=m.useRef(null),Ne=m.useRef(null),Ye=m.useRef(null),Le=m.useRef(null),$e=r/2,We=a/2,Ee=l/2,Fe=Ae?Ae.rotation[2]+s:s,Ge=xe.getInnerWallOffset(oe,r,a,s,"left"),rt=xe.getInnerWallOffset(ge,r,a,s,"right"),_e=S===hc.Stud||S===hc.Pillar,xt=C??l,dt=P??l,Qe=k===Hl.Partial,ct=Qe?W:0,ft=Qe?N:0,at=Qe?Math.min(xt,L):xt,ot=Qe?Math.min(dt,E):dt,et=Qe&&(!xe.isZero(xt-at)||!xe.isZero(dt-ot)),Oe=ne&&!_e,nt=U.display,mt=Math.max(at,ot)-Ee,Tt=m.useMemo(()=>new Gt,[]),Rt=m.useMemo(()=>new Gs,[]),Wt=m.useMemo(()=>new sf({color:"white",side:ji,transparent:_e,opacity:D}),[_e,D]),Ct=m.useMemo(()=>xe.getHighestPointOfWall(t),[t.lz,t.leftRoofHeight,t.rightRoofHeight,t.centerRoofHeight,t.centerLeftRoofHeight,t.centerRightRoofHeight]),wt=m.useMemo(()=>{const Ze=new Ml;return yt(Ze,r,l,0,0,0,0),ye.forEach(bt=>{if(bt.type===z.Window&&bt.id!==Ye.current&&bt.lx>0&&bt.lz>0){const Nt=bt,St=new Ml,[Bt,Jt,an,gn]=[bt.lx*r,bt.lz*l,bt.cx*r,bt.cz*l];if(Nt.windowType)switch(Nt.windowType){case Sr.Arched:Tn(St,Bt,Jt,an,gn,Nt.archHeight);break;case Sr.Polygonal:{const[mn,vn]=Nt.polygonTop??jp;Un(St,Bt,Jt,an,gn,mn*Bt,vn);break}case Sr.Default:default:bn(St,Bt,Jt,an,gn)}else bn(St,Bt,Jt,an,gn);Ze.holes.push(St)}}),Ze},[r,l,k,W,N,at,ot,ye,C,P,v,T,y]),kt=m.useMemo(()=>{const Ze=new Ml,bt=l,Nt=l/2;if(Qe)Ze.moveTo(-$e+Ge,-Nt+W),Ze.lineTo($e-rt,-Nt+N);else{Ze.moveTo(-$e+Ge,-Nt);const St=ye.filter(Bt=>Bt.type===z.Door).sort((Bt,Jt)=>Bt.cx-Jt.cx);for(const Bt of St)if(Bt.id!==Ye.current){const[Jt,an,gn,mn]=[Bt.cx*r,Bt.cz*bt,Bt.lx*r,Bt.lz*bt];if(Bt.doorType===Sd.Default)Ze.lineTo(Jt-gn/2,-Nt),Ze.lineTo(Jt-gn/2,-Nt+mn),Ze.lineTo(Jt+gn/2,-Nt+mn),Ze.lineTo(Jt+gn/2,-Nt);else{const vn=Math.min(Bt.archHeight,mn,gn/2);if(Ze.lineTo(Jt-gn/2,-Nt),vn>.1){Ze.lineTo(Jt-gn/2,-Nt+mn/2-vn);const kn=vn/2+gn**2/(8*vn),[jn,Wn]=[Jt,an+mn/2-kn],qn=Math.acos(Math.min(gn/2/kn,1)),Xn=Math.PI-qn;Ze.absarc(jn,Wn,kn,Xn,qn,!0)}else Ze.lineTo(Jt-gn/2,-Nt+mn),Ze.lineTo(Jt+gn/2,-Nt+mn);Ze.lineTo(Jt+gn/2,-Nt)}}Ze.lineTo($e-rt,-Nt)}if(et){const St=ot-at,Bt=(r-rt)*St/r,Jt=Ge*St/r;Ze.lineTo($e-rt,-Nt+at+Bt),Ze.lineTo(-$e+Ge,-Nt+at+Jt)}else b?(P?Ze.lineTo($e-rt,P-Nt):Ze.lineTo($e-rt,Nt),y&&Ze.lineTo(y[0]*r,y[1]-Nt),v&&Ze.lineTo(v[0]*r,v[1]-Nt),T&&Ze.lineTo(T[0]*r,T[1]-Nt),C?Ze.lineTo(-$e+Ge,C-Nt):Ze.lineTo(-$e+Ge,Nt)):(Ze.lineTo($e-rt,Nt),Ze.lineTo(-$e+Ge,Nt));return Ze.closePath(),ye.forEach(St=>{if(St.type===z.Window&&St.id!==Ye.current&&St.lx>0&&St.lz>0){const Bt=St,Jt=new Ml,[an,gn,mn,vn]=[St.lx*r,St.lz*l,St.cx*r,St.cz*l];if(Bt.windowType)switch(Bt.windowType){case Sr.Arched:Tn(Jt,an,gn,mn,vn,Bt.archHeight);break;case Sr.Polygonal:{const[kn,jn]=Bt.polygonTop??jp;Un(Jt,an,gn,mn,vn,kn*an,jn);break}case Sr.Default:default:bn(Jt,an,gn,mn,vn);break}else bn(Jt,an,gn,mn,vn);Ze.holes.push(Jt)}}),Ze},[r,l,k,W,N,at,ot,Ge,rt,ye,b,C,P,v,T,y]),qe=m.useMemo(()=>Qe?(at+ot)/2-Ee:Ee,[Ee,Qe,at,ot]),Je=m.useMemo(()=>{const Ze=ot-at;return!Qe||Math.abs(Ze)<.01?0:Math.atan2(Ze,r)},[r,Qe,at,ot]),st=m.useMemo(()=>{const Ze=new Ml;if(!Qe||Math.abs(Je)<1e-4)return rn(Ze,r,a,Ge,rt),Ze;{const bt=r/2,Nt=a/2,St=Math.cos(Je),Bt=bt/St,Jt=(bt-Ge)/St,an=(bt-rt)/St;return Ze.moveTo(-Bt,-Nt),Ze.lineTo(Bt,-Nt),Ze.lineTo(an,Nt),Ze.lineTo(-Jt,Nt),Ze.closePath(),Ze}},[r,a,Ge,rt,Qe,Je]),Pt=m.useMemo(()=>{const Ze=[],bt=r/2,Nt=l/2;return Qe?(Ze.push({x:-bt+Ge,y:-Nt+ct}),Ze.push({x:bt-rt,y:-Nt+ft})):(Ze.push({x:-bt,y:-Nt}),Ze.push({x:bt,y:-Nt})),et?(Ze.push({x:bt-rt,y:-Nt+ot}),Ze.push({x:-bt+Ge,y:-Nt+at})):(P?Ze.push({x:bt,y:P-Nt}):Ze.push({x:bt,y:Nt}),y&&Ze.push({x:y[0]*r,y:y[1]-Nt}),v&&Ze.push({x:v[0]*r,y:v[1]-Nt}),T&&Ze.push({x:T[0]*r,y:T[1]-Nt}),C?Ze.push({x:-bt,y:C-Nt}):Ze.push({x:-bt,y:Nt})),Ze},[r,l,k,ct,ft,at,ot,C,P,v,T,y]),Ue=m.useMemo(()=>{const Ze=[];let bt=0,Nt=0;if(k===Hl.Partial&&(bt=(N-W)/r,Nt=W+$e*bt),S===hc.Stud){let St=-$e+R/2;for(;St<=$e;)Ze.push([St,bt*St+Nt]),St+=x;St=$e-R/2,Ze.push([St,bt*St+Nt])}else if(S===hc.Pillar){let St=-$e;for(;St<=$e;)Ze.push([St,bt*St+Nt]),St+=x;Ze.push([$e,bt*$e+Nt])}return Ze},[S,R,x,r,a,l,W,N]),lt=m.useMemo(()=>({id:n,parentId:A,cx:o,cy:i,hx:$e,hy:We,angle:s,selected:Y}),[n,A,o,i,$e,We,s,Y]),Ve=m.useMemo(()=>({leftPoint:F,rightPoint:B,ly:a,copingsWidth:U.copingsWidth}),[F,B,a,U.copingsWidth]),ut=m.useMemo(()=>!oe||!oe.parapet||!oe.parapet.display?null:{leftPoint:oe.leftPoint,rightPoint:oe.rightPoint,ly:oe.ly,copingsWidth:oe.parapet.copingsWidth},[oe==null?void 0:oe.leftPoint,oe==null?void 0:oe.rightPoint,oe==null?void 0:oe.ly,(mu=oe==null?void 0:oe.parapet)==null?void 0:mu.copingsWidth,(cn=oe==null?void 0:oe.parapet)==null?void 0:cn.display]),je=m.useMemo(()=>!ge||!ge.parapet||!ge.parapet.display?null:{leftPoint:ge.leftPoint,rightPoint:ge.rightPoint,ly:ge.ly,copingsWidth:ge.parapet.copingsWidth},[ge==null?void 0:ge.leftPoint,ge==null?void 0:ge.rightPoint,ge==null?void 0:ge.ly,(qt=ge==null?void 0:ge.parapet)==null?void 0:qt.copingsWidth,(jt=ge==null?void 0:ge.parapet)==null?void 0:jt.display]);m.useEffect(()=>{Le.current&&Le.current.id===fe&&(Le.current=null,qo())},[fe]),m.useEffect(()=>{if(t&&pe){const Ze=q(t.id);if(Ze){const bt=xe.fetchHeatmapTexture(Ze,te??5);if(bt){bt.wrapS=Ss,bt.wrapT=Ss;const Nt=l===Ct?0:(1-l/Ct)/2;bt.offset.set(-r/2,-Ct/2-Nt),bt.center.set(r/2,Ct/2),bt.repeat.set(1/r,1/Ct),ve(bt)}}}},[pe,te]),m.useEffect(()=>{b&&(se.has(b)||le.has(b))&&M.getState().set(Ze=>{const bt=new Set;for(const Nt of Ze.elements)if(Nt.id===n&&Nt.type===z.Wall){const St=Nt;if(St.roofId=null,St.leftRoofHeight=void 0,St.rightRoofHeight=void 0,St.centerRoofHeight=void 0,St.centerLeftRoofHeight=void 0,St.centerRightRoofHeight=void 0,ye.length>0){const Bt=In.getWallPoints2D(St);ye.forEach(Jt=>{if(Jt.type===z.Polygon)return;const an=Jt.type===z.Door,gn=Jt.type===z.SolarPanel,mn=gn?Jt.lx-.01:Jt.lx*r,vn=gn?Jt.ly-.01:Jt.lz*l,kn=new re(Jt.cx*r,0,Jt.cz*l);xe.isElementInsideWall(kn,mn,vn,Bt,an)||(bt.add(Jt.id),Ze.autoDeletedChild?Ze.autoDeletedChild.push(Jt):Ze.autoDeletedChild=[Jt])})}break}bt.size>0?Ze.elements=Ze.elements.filter(Nt=>!bt.has(Nt.id)):Ze.autoDeletedChild===null&&(Ze.autoDeletedChild=[])})},[b,se,le]);function yt(Ze,bt,Nt,St=0,Bt=0,Jt=0,an=0,gn=!0){const mn=bt/2,vn=Nt/2;if(Qe?Ze.moveTo(St-mn+Jt,Bt-vn+W):Ze.moveTo(St-mn+Jt,Bt-vn),gn){const kn=ye.filter(jn=>jn.type===z.Door).sort((jn,Wn)=>jn.cx-Wn.cx);for(const jn of kn)if(jn.id!==Ye.current){const[Wn,qn,Xn,Jo]=[jn.cx*bt,jn.cz*Nt,jn.lx*bt,jn.lz*l];if(jn.doorType===Sd.Default)Ze.lineTo(St+Wn-Xn/2,Bt-vn),Ze.lineTo(St+Wn-Xn/2,Bt-vn+Jo),Ze.lineTo(St+Wn+Xn/2,Bt-vn+Jo),Ze.lineTo(St+Wn+Xn/2,Bt-vn);else{const lr=Math.min(jn.archHeight,Jo,Xn/2);if(Ze.lineTo(St+Wn-Xn/2,Bt-vn),lr>.1){Ze.lineTo(St+Wn-Xn/2,Bt-vn+Jo/2-lr);const Kr=lr/2+Xn**2/(8*lr),[Vi,ga]=[Wn,Bt+qn+Jo/2-Kr],vs=Math.acos(Math.min(Xn/2/Kr,1)),Ju=Math.PI-vs;Ze.absarc(Vi,ga,Kr,Ju,vs,!0)}else Ze.lineTo(St+Wn-Xn/2,Bt-vn+Jo),Ze.lineTo(St+Wn+Xn/2,Bt-vn+Jo);Ze.lineTo(St+Wn+Xn/2,Bt-vn)}}}Qe?Ze.lineTo(St+mn-an,Bt-vn+N):Ze.lineTo(St+mn-an,Bt-vn),et?(Ze.lineTo(St+mn-an,Bt-vn+ot),Ze.lineTo(St-mn+Jt,Bt-vn+at)):b?(P?Ze.lineTo(St+mn-an,P-vn):Ze.lineTo(St+mn-an,Bt+vn),y&&Ze.lineTo(y[0]*bt,y[1]-vn),v&&Ze.lineTo(v[0]*bt,v[1]-vn),T&&Ze.lineTo(T[0]*bt,T[1]-vn),C?Ze.lineTo(St-mn+Jt,C-vn):Ze.lineTo(St-mn+Jt,Bt+vn)):(Ze.lineTo(St+mn-an,Bt+vn),Ze.lineTo(St-mn+Jt,Bt+vn)),Ze.closePath()}function Ht(Ze,bt){const{cx:Nt,cy:St,cz:Bt}=bt;if(Ae&&Fe!==void 0){const Jt=xe.wallAbsolutePosition(new re(Nt,St,Bt),Ae).setZ(l/2+Ae.lz);return new re().subVectors(Ze,Jt).applyEuler(new Qt(0,0,-Fe))}return new re}function At(Ze){const bt=[];for(let Nt=-1;Nt<=1;Nt+=2)for(let St=-1;St<=1;St+=2){const[Bt,Jt]=[Nt,Nt*St];switch(Ze.type){case z.Window:{const[an,gn]=[Ze.cx*r,Ze.cz*l],[mn,vn]=[Ze.lx*r/2,Ze.lz*l/2],kn=an+Bt*mn,jn=gn+Jt*vn;bt.push({x:kn,y:jn});break}case z.Door:{const[an,gn]=[Ze.cx*r,Ze.cz*l],[mn,vn]=[Ze.lx*r/2,Ze.lz*l/2],kn=an+Bt*mn,jn=gn+Jt*vn;bt.push({x:kn,y:jn});break}case z.SolarPanel:{const[an,gn]=[Ze.cx*r,Ze.cz*l],[mn,vn]=[Ze.lx/2,Ze.ly/2],kn=an+Bt*mn,jn=gn+Jt*vn;bt.push({x:kn,y:jn})}}}if(Ze.type===z.Window&&Ze.windowType===Sr.Polygonal){const Nt=Ze,[St,Bt]=Nt.polygonTop??[0,0];bt.push({x:Ze.cx*r+St*Ze.lx*r,y:Ze.cz*l+Ze.lz*l/2+Bt})}return bt}function It(Ze,bt=0){if(!Qe)return xe.getWallVertices(Ze,bt);const Nt=Ze.lx/2,St=Ze.lz/2,Bt={x:-Nt-bt,y:Ze.leftUnfilledHeight-St-bt},Jt={x:Nt+bt,y:Ze.rightUnfilledHeight-St-bt},an={x:-Nt-bt,y:Ze.leftTopPartialHeight-St+bt},gn={x:Nt+bt,y:Ze.rightTopPartialHeight-St+bt},mn=[];return mn.push(an,Bt,Jt,gn),et||(Ze.centerRightRoofHeight&&mn.push({x:Ze.centerRightRoofHeight[0]*Ze.lx,y:Ze.centerRightRoofHeight[1]-St+bt}),Ze.centerRoofHeight&&mn.push({x:Ze.centerRoofHeight[0]*Ze.lx,y:Ze.centerRoofHeight[1]-St+bt}),Ze.centerLeftRoofHeight&&mn.push({x:Ze.centerLeftRoofHeight[0]*Ze.lx,y:Ze.centerLeftRoofHeight[1]-St+bt})),mn}function zt(Ze,bt,Nt,St,Bt){if(Nt<.1||St<.1||Nt>r||!b&&St>l)return Ye.current=Ze,!1;const Jt=.1;Nt+=Jt,St+=Jt;for(const an of ye){if(an.id===Ze||an.type===z.Polygon)continue;const gn=At(an),mn=[];for(let vn=-1;vn<=1;vn+=2)for(let kn=-1;kn<=1;kn+=2){const jn=bt.x+vn*Nt/2,Wn=bt.z+vn*kn*St/2;if(mn.push({x:jn,y:Wn}),xe.isPointInside(jn,Wn,gn))return Ye.current=Ze,!1}if(Bt){const[vn,kn]=Bt,jn=bt.x+vn*Nt,Wn=bt.z+St/2+kn;if(mn.push({x:jn,y:Wn}),xe.isPointInside(jn,Wn,gn))return Ye.current=Ze,!1}for(const vn of gn)if(xe.isPointInside(vn.x,vn.y,mn))return Ye.current=Ze,!1}return Ye.current=null,!0}function Ft(Ze,bt,Nt,St,Bt){return xe.isElementInsideWall(bt,Nt,St,Pt,Bt)?!0:(Ye.current=Ze,!1)}function ln(Ze,bt,Nt,St){const[Bt,Jt]=St,an=Ze.x+bt*Bt,gn=Ze.z+Nt/2+Jt;return!!xe.isPointInside(an,gn,It(t,0))}function Xt(Ze){Tt.x=Ze.offsetX/ze.domElement.clientWidth*2-1,Tt.y=-(Ze.offsetY/ze.domElement.clientHeight)*2+1,Rt.setFromCamera(Tt,Ie)}function fn(Ze){return!(Ze.button===2||M.getState().addedWallId||Ne.current||M.getState().moveHandleType||M.getState().resizeHandleType||M.getState().objectTypeToAdd!==z.None||Y||ee())}function rn(Ze,bt,Nt,St,Bt){const Jt=bt/2,an=Nt/2;Ze.moveTo(-Jt,-an),Ze.lineTo(Jt,-an),Ze.lineTo(Jt-Bt,an),Ze.lineTo(-Jt+St,an),Ze.closePath()}function bn(Ze,bt,Nt,St=0,Bt=0){const Jt=bt/2,an=Nt/2;Ze.moveTo(St-Jt,Bt-an),Ze.lineTo(St+Jt,Bt-an),Ze.lineTo(St+Jt,Bt+an),Ze.lineTo(St-Jt,Bt+an),Ze.closePath()}function Tn(Ze,bt,Nt,St,Bt,Jt=0){const an=bt/2,gn=Nt/2,mn=Math.min(Jt,Nt,an);if(Ze.moveTo(St-an,Bt-gn),Ze.lineTo(St+an,Bt-gn),Ze.lineTo(St+an,Bt+gn-mn),mn>0){const vn=mn/2+bt**2/(8*mn),[kn,jn]=[St,Bt+gn-vn],Wn=Math.acos(Math.min(1,an/vn)),qn=Math.PI-Wn;Ze.absarc(kn,jn,vn,Wn,qn,!1)}else Ze.lineTo(St-an,Bt+gn);Ze.closePath()}function Un(Ze,bt,Nt,St,Bt,Jt,an){const[gn,mn]=[bt/2,Nt/2];Ze.moveTo(St-gn,Bt-mn),Ze.lineTo(St+gn,Bt-mn),Ze.lineTo(St+gn,Bt+mn),Ze.lineTo(St+Jt,Bt+mn+an),Ze.lineTo(St-gn,Bt+mn),Ze.closePath()}function Ai(Ze){const bt=parseFloat((Math.round(Ze.x/g6)*g6).toFixed(1)),Nt=parseFloat((Math.round(Ze.z/g6)*g6).toFixed(1));return new re(bt,Ze.y,Nt)}function vo(Ze){const bt=parseFloat((Math.round(Ze.x/l9)*l9).toFixed(1)),Nt=parseFloat((Math.round(Ze.z/l9)*l9).toFixed(1));return new re(bt,Ze.y,Nt)}function Oo(Ze){return M.getState().enableFineGrid?Ze=vo(Ze):Ze=Ai(Ze),Ze}function si(Ze,bt,Nt,St,Bt){M.getState().set(Jt=>{for(const an of Jt.elements)if(an.id===Ze){if([an.cx,an.cy,an.cz]=bt,[an.lx,an.ly,an.lz]=Nt,St!==void 0&&(an.type===z.Window||an.type===z.Door)&&(an.archHeight=St),Bt!==void 0&&an.type===z.Window){const gn=an;gn.windowType===Sr.Polygonal&&(gn.polygonTop=[...Bt])}break}})}function po(Ze){return Ze.type===z.Window&&Ze.windowType===Sr.Polygonal&&Ze.polygonTop}function eo(Ze){const bt={name:"Add",timestamp:Date.now(),addedElement:Ze,undo:()=>{M.getState().removeElementById(Ze.id,!1)},redo:()=>{M.getState().set(Nt=>{Nt.elements.push(bt.addedElement),Nt.selectedElement=bt.addedElement,Nt.deletedRoofId=null})}};ie(bt)}function uo(){const Ze=M.getState().selectedElement;if(!Ze)return;const bt=M.getState().getElementById(Ze.id);if(bt)switch(bt.type){case z.Door:case z.Window:case z.SolarPanel:const Nt={name:`Resize ${bt.type}`,timestamp:Date.now(),resizedElementId:bt.id,resizedElementType:bt.type,oldPosition:[Ze.cx,Ze.cy,Ze.cz],oldDimension:[Ze.lx,Ze.ly,Ze.lz],newPosition:[bt.cx,bt.cy,bt.cz],newDimension:[bt.lx,bt.ly,bt.lz],oldArchHeight:Ze.type===z.Window||Ze.type===z.Door?Ze.archHeight:void 0,newArchHeight:bt.type===z.Window||bt.type===z.Door?bt.archHeight:void 0,oldPolygonTop:po(Ze)?[...Ze.polygonTop]:void 0,newPolygonTop:po(bt)?[...bt.polygonTop]:void 0,undo(){si(this.resizedElementId,this.oldPosition,this.oldDimension,this.oldArchHeight,this.oldPolygonTop)},redo(){si(this.resizedElementId,this.newPosition,this.newDimension,this.newArchHeight,this.newPolygonTop)}};ie(Nt);break;case z.Polygon:const St=Ze,Bt=bt,Jt={name:"Edit Polygon",timestamp:Date.now(),oldValue:[...St.vertices],newValue:[...Bt.vertices],changedElementId:Bt.id,changedElementType:Bt.type,undo(){ae(this.changedElementId,this.oldValue)},redo(){ae(this.changedElementId,this.newValue)}};ie(Jt);break}}function qo(){M.getState().set(Ze=>{Ze.addedWindowId=null,Ze.addedDoorId=null})}function Hi(Ze){return Ze===z.Window||Ze===z.Door}function vi(Ze,bt){const Nt=wd.getIntersectionObjects(Ze);return Nt.length>0&&Nt[0].object.name===`${wd.WALL_OUTSIDE_SURFACE_MESH_NAME} ${bt}`}function Cn(Ze){return Ze.intersections.length>0&&Ze.intersections[0].object===Ze.eventObject}function yn(Ze,bt,Nt){if(M.getState().moveHandleType&&bt&&to(bt)&&bt.parentId!==Ze){const St=Nt.intersections.filter(Jt=>Jt.eventObject.name.includes(wd.WALL_OUTSIDE_SURFACE_MESH_NAME)||Jt.eventObject.name.includes(Iue)||Jt.eventObject.name===Cre);if(!(St.length>0&&(St[0].eventObject.name===Cre||St[0].eventObject.name.includes(Iue))))return!0}return!1}function to(Ze){if(!Ze)return!1;switch(Ze.type){case z.Window:case z.Door:case z.SolarPanel:case z.Light:case z.Sensor:return!0}return!1}function Eo(Ze){if(M.getState().resizeHandleType!==gt.Arch)return!1;if(Ze.type===z.Window){const bt=Ze;return bt.windowType===Sr.Arched&&bt.archHeight!==void 0}if(Ze.type===z.Door){const bt=Ze;return bt.doorType===Sd.Arched&&bt.archHeight!==void 0}}function ni(Ze,bt){const Nt=Ze.getPoints().map(St=>({x:St.x,y:St.y}));return!xe.isPointInside(bt.x,bt.y,Nt)}function Lo(Ze,bt,Nt,St,Bt,Jt=!1){const an=new re().subVectors(bt,Ze).normalize(),[gn,mn]=Jt?[bt.y,Ze.y]:[Ze.y,bt.y];let vn;if(gn(vn.type===z.Wall&&vn.parentId===A&&mn.set(vn.id,vn),mn),new Map);let St=!1,Bt=0;const Jt={lng:M.getState().language},an=t;let gn=an;for(;gn&&gn.rightJoints.length>0;){Bt++;const mn=Nt.get(gn.rightJoints[0]);if(!mn)break;if(bt&&mn.lz!==an.lz)return Do(j.t("message.WallsAreNotAtSameHeight",Jt)),!1;if(mn.id===an.id){St=!0;break}if(gn=mn,Bt>100)break}return St?!0:(Do(j.t("message.WallsAreNotConnected",Jt)),!1)}function go(){return Le.current&&Le.current.status===0&&M.getState().moveHandleType===yo.Mid}function So(){return!(M.getState().moveHandleType||M.getState().resizeHandleType||ee())}function Uo(){return et||W!==N||L!==E?!1:b?!(C!==P||v!==void 0||T!==void 0||y!==void 0):!0}function _i(Ze,bt,Nt){var gn;Xt(Ze);const Bt=((gn=(bt?Rt.intersectObjects([bt]):Ze.intersections)[0])==null?void 0:gn.point)??Ze.point,Jt=Ht(Bt,t),an=Nt?Oo(Jt.clone().add(Nt)).sub(Nt):Oo(Jt);return{relativePointer:Jt,pointerOnGrid:an}}function Qo(Ze,bt){if(!me.current)return null;const{pointerOnGrid:Nt}=_i(Ze,me.current),St=Nt.x/t.lx,Bt=Nt.z/t.lz;return bt===z.Window?rl.makeWindow(t,St,0,Bt,z.Wall):bt===z.Door?rl.makeDoor(t):null}function ar(Ze){Ze&&(Le.current={id:Ze.id,type:Ze.type,status:0}),O(bt=>{Ze&&(bt.elements.push(Ze),bt.selectedElement=Ze,bt.selectedElementIdSet.clear(),bt.selectedElementIdSet.add(Ze.id),Ze.type===z.Window?bt.addedWindowId=Ze.id:Ze.type===z.Door&&(bt.addedDoorId=Ze.id)),bt.moveHandleType=yo.Mid,bt.objectTypeToAdd=z.None})}function ur(Ze){if(!Ze)return;const{id:bt,type:Nt}=Ze;O(St=>{St.elements=St.elements.filter(Bt=>Bt.id!==bt),St.selectedElement=null,St.moveHandleType=null,St.objectTypeToAdd=Nt,St.addedWindowId=null,St.addedDoorId=null}),Le.current=null}function $o(Ze){if(!Ze)return[0,0];switch(Ze.type){case z.Window:{const bt=ht.getState().oldParentId;if(Ze.parentId!==bt){const Nt=M.getState().elements.find(St=>St.id===bt);return Nt?[Ze.lx*Nt.lx/2,Ze.lz*Nt.lz/2]:[0,0]}else return[Ze.lx*r/2,Ze.lz*l/2]}case z.Door:return[Ze.lx*r/2,Ze.lz*l/2];case z.SolarPanel:return[Ze.lx/2,Ze.ly/2]}return[tP,tP]}function ba(){const Ze=[];if(v){const bt=v[0];if(bt===.5&&C!==void 0)return Ze.push(new re($e,v[1]-Ee),new re(-$e,C-Ee)),Ze;if(bt===-.5&&P!==void 0)return Ze.push(new re($e,P-Ee),new re(-$e,v[1]-Ee)),Ze}return P!==void 0?Ze.push(new re($e,P-Ee)):Ze.push(new re($e,Ee)),y!==void 0&&Ze.push(new re(y[0]*r,y[1]-Ee)),v!==void 0&&Ze.push(new re(v[0]*r,v[1]-Ee)),T!==void 0&&Ze.push(new re(T[0]*r,T[1]-Ee)),C!==void 0?Ze.push(new re(-$e,C-Ee)):Ze.push(new re(-$e,Ee)),Ze}function Mo(Ze,bt){const Nt=bt==null?void 0:bt.ignorePadding,St=bt!=null&&bt.elementHalfSize?[...bt.elementHalfSize]:[0,0],Bt=Nt?0:tP,Jt=Nt?0:tP+Ge,an=Nt?0:tP+rt,[gn,mn]=St,[vn,kn,jn,Wn]=[-$e+gn+Jt,$e-gn-an,-Ee+mn+Bt,Ee-mn-Bt],qn=Ze.clone();if(Uo()){const Xn=Qe?W:0,Jo=l-(Qe?at:l);return qn.setX(xe.clamp(Ze.x,vn,kn)),qn.setZ(xe.clamp(Ze.z,jn+Xn,Wn-Jo)),qn}else{const Xn=Za(gn,mn,vn,kn,Bt),Jo=new Gt(Ze.x,Ze.z);let lr=1/0,Kr=-1/0;if(bt!=null&&bt.resizeAnchor){const vs=bt.resizeAnchor.x,Ju=[];if(et)Ju.push(new re(-$e,-Ee+at),new re($e,-Ee+ot));else{const Hf=ba().reverse();Ju.push(...Hf)}for(let Hf=1;Hf=Ol.x&&vs<=Y0.x){const Ph=(Y0.y-Ol.y)/(Y0.x-Ol.x),yp=-Ph*Ol.x+Ol.y;lr=Ph*vs+yp;break}}const Ku=new re(-$e,-Ee+ct),Th=new re($e,-Ee+ft),Rf=(Th.y-Ku.y)/(Th.x-Ku.x),qu=-Rf*Ku.x+Ku.y;Kr=Rf*vs+qu}const Vi=Jo.y>lr;if(ni(Xn,Jo)){const vs=bo(Xn,Jo);qn.setX(vs.x),qn.setZ(xe.clamp(vs.y,Kr+Bt,lr-Bt))}else Vi&&qn.setZ(lr-Bt)}return qn.setZ(Math.max(jn,qn.z)),qn}function $i(Ze,bt){O(Nt=>{const St=Nt.elements.find(Bt=>Bt.id===Ze);if(St)switch(St.type){case z.Window:{St.cx=bt.x/r,St.cz=bt.z/l,St.cy=St.id===Ye.current?-.01:.3,St.tint=St.id===Ye.current?"red":Nt.selectedElement.tint;break}case z.Door:{const Bt=l/2;St.cx=bt.x/r,St.cz=(bt.z-Bt)/2/l,St.lz=(bt.z+Bt)/l;break}case z.SolarPanel:{St.cx=bt.x/r,St.cz=bt.z/l,St.color=St.id===Ye.current?"red":"#fff";break}case z.Sensor:case z.Light:{St.cx=bt.x/r,St.cz=bt.z/l;break}case z.Polygon:{const Bt=St;if(Bt.vertices.length>0){const Jt=xe.calculatePolygonCentroid(Bt.vertices),an=-bt.x/r-Jt.x,gn=-bt.z/l-Jt.y,mn=Bt.vertices.map(vn=>({x:vn.x+an,y:vn.y+gn}));St.vertices=mn}break}}})}function Za(Ze,bt,Nt,St,Bt){const Jt=[],an=new re(-$e,-Ee+ct),gn=new re($e,-Ee+ft);if(Lo(an,gn,Ze,bt,Bt,!0),Jt.push({start:new re(Nt,Ee),end:new re(Nt,an.y)}),Jt.push({start:an.clone(),end:gn.clone()}),Jt.push({start:new re(St,gn.y),end:new re(St,Ee)}),et){const vn=new re($e,-Ee+ot),kn=new re(-$e,-Ee+at);Lo(vn,kn,Ze,bt,Bt),Jt.push({start:vn.clone(),end:kn.clone()})}else{const vn=ba();for(let kn=1;kn{const Bt=St.elements.find(mn=>mn.id===(Nt==null?void 0:Nt.id));if(!Bt||Bt.type===z.SolarPanel&&Bt.parentType===void 0)return;if(Bt.type===z.Window){const mn=St.elements.find(vn=>vn.id===Bt.parentId);if(mn){const vn=Bt.lx*mn.lx,kn=Bt.lz*mn.lz;Bt.lx=vn/r,Bt.lz=kn/l}}const{pointerOnGrid:Jt}=_i(Ze,me.current),an=$o(Bt),gn=Mo(Jt,{elementHalfSize:an,ignorePadding:Bt.type===z.SolarPanel});zt(Bt.id,gn,an[0]*2,an[1]*2),Bt.cx=gn.x/r,Bt.cz=gn.z/l,Bt.parentId=n,Bt.foundationId=A,St.selectedElement&&(St.selectedElement.parentId=n,St.selectedElement.foundationId=A),Bt.type===z.Window?(Bt.cy=Bt.id===Ye.current?-.01:0,Bt.tint=Bt.id===Ye.current?"red":St.selectedElement.tint):Bt.type===z.SolarPanel&&(Bt.color=Bt.id===Ye.current?"red":"#fff",Bt.parentType=z.Wall)}),he("showWallIntersectionPlaneId",n))}else go()&&ur(Le.current)}function Fr(Ze){if(Ze.button!==2){if(go()){Ln.getState().setEnableOrbitController(!1),Se(!0);const{pointerOnGrid:bt}=_i(Ze,me.current),Nt=Mo(bt);O(St=>{var Bt,Jt;St.moveHandleType=null,((Bt=Le.current)==null?void 0:Bt.type)===z.Window?(St.resizeHandleType=gt.LowerRight,St.resizeAnchor.copy(Nt)):((Jt=Le.current)==null?void 0:Jt.type)===z.Door&&(St.resizeHandleType=gt.UpperRight,St.resizeAnchor.copy(Nt).setZ(-l/2))}),Le.current.status=1}else if(Cn(Ze))if(M.getState().objectTypeToAdd!==z.None){const Nt=Ze.point;qs(Nt,!0)}else M.getState().groupActionMode?(O(Nt=>{for(const St of Nt.elements)St.selected=St.id===A;Nt.multiSelectionsMode||Nt.selectedElementIdSet.clear(),Nt.selectedElementIdSet.has(A)?Nt.selectedElementIdSet.delete(A):Nt.selectedElementIdSet.add(A)}),Ze.stopPropagation()):So()&&M.getState().selectMe(n,Ze,zo.Select)}}function Oa(){Le.current&&Le.current.status===0&&(O(Ze=>{Ze.elements.pop(),Ze.addedDoorId=null,Ze.addedWindowId=null,Ze.moveHandleType=null,Ze.actionModeLock&&Le.current&&(Ze.objectTypeToAdd=Le.current.type)}),Le.current=null)}function Br(){go()&&ur(Le.current),Ye.current=null}function Pc(Ze){const bt=M.getState().selectedElement??J();if((bt==null?void 0:bt.parentId)===t.id){if(M.getState().moveHandleType){const Nt=bt.type!==z.Polygon?new re(-bt.lx/2*r,0,bt.lz/2*l):void 0,{relativePointer:St,pointerOnGrid:Bt}=_i(Ze,Te.current,Nt),Jt=$o(bt),an=Mo(Bt,{elementHalfSize:Jt,ignorePadding:bt.type===z.SolarPanel}),[gn,mn]=[Jt[0]*2,Jt[1]*2];if(bt.type!==z.SolarPanel&&Ft(bt.id,an,gn,mn),bt.type!==z.Polygon){let vn=!0,kn;bt.type===z.Window&&bt.windowType===Sr.Polygonal&&(kn=bt.polygonTop??jp,vn=ln(an,gn,mn,kn));const jn=zt(bt.id,an,gn,mn,kn);vn&&jn?Ye.current=null:Ye.current=bt.id}$i(bt.id,an)}else if(M.getState().resizeHandleType){const{relativePointer:Nt,pointerOnGrid:St}=_i(Ze,Te.current),Bt=M.getState().resizeHandleType,Jt=M.getState().resizeAnchor;switch(bt.type){case z.Window:{const an=bt,gn=Mo(St,{resizeAnchor:Jt});if(Eo(an)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(an,gn,Jt),jn=new re(an.cx*r,0,vn);zt(an.id,jn,an.lx*r,mn),Ft(an.id,jn,an.lx*r,mn),O(Wn=>{const qn=Wn.elements.find(Xn=>Xn.id===an.id);qn&&(qn.lz=mn/l,qn.cz=vn/l,qn.archHeight=kn,qn.cy=qn.id===Ye.current?-.01:.3,qn.tint=qn.id===Ye.current?"red":an.tint)})}else if(Bt===gt.Upper){const mn=new re(an.cx*r,0,an.cz*l),[vn,kn]=[an.lx*r,an.lz*l],jn=xe.clamp((St.x-Jt.x)/vn,-.5,.5),Wn=Math.max(0,St.z-Jt.z),qn=[jn,Wn];(!zt(an.id,mn,vn,kn,qn)||!ln(mn,vn,kn,qn))&&(Ye.current=an.id),O(Xn=>{const Jo=Xn.elements.find(lr=>lr.id===an.id);Jo&&(Jo.polygonTop=[...qn],Jo.cy=Jo.id===Ye.current?-.01:.3,Jo.tint=Jo.id===Ye.current?"red":an.tint)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro(Ze,gn,Jt),kn=new re(vn.x,0,vn.z);let jn=!0,Wn;an.windowType===Sr.Polygonal&&(Wn=an.polygonTop??jp,jn=ln(kn,mn.x,mn.z,Wn)),(!zt(an.id,kn,mn.x,mn.z,Wn)||!jn||!Ft(an.id,kn,mn.x,mn.z))&&(Ye.current=an.id),O(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===an.id);Xn&&(Xn.lx=mn.x/r,Xn.lz=mn.z/l,Xn.cx=vn.x/r,Xn.cz=vn.z/l,Xn.cy=Xn.id===Ye.current?-.01:.3,Xn.tint=Xn.id===Ye.current?"red":an.tint)})}break}case z.Door:{const an=bt,gn=Mo(St,{resizeAnchor:Jt});if(Eo(an)){const{newLz:mn,newCz:vn,newArchHeight:kn}=ti(an,gn,Jt),jn=new re(an.cx*r,0,vn);zt(an.id,jn,an.lx*r,mn),Ft(an.id,jn,an.lx*r,mn,!0),O(Wn=>{const qn=Wn.elements.find(Xn=>Xn.id===an.id);qn&&(qn.lz=mn/l,qn.cz=vn/l,qn.archHeight=kn,qn.color=qn.id===Ye.current?cce:bt.color)})}else{const{dimensionXZ:mn,positionXZ:vn}=Ro(Ze,gn,Jt),kn=new re(vn.x,0,vn.z);zt(an.id,kn,mn.x,mn.z),Ft(an.id,kn,mn.x,mn.z,!0),O(jn=>{const Wn=jn.elements.find(qn=>qn.id===an.id);Wn&&(Wn.cx=vn.x/r,Wn.lx=mn.x/r,Wn.cz=(gn.z-l/2)/2/l,Wn.lz=(gn.z+l/2)/l,Wn.color=Wn.id===Ye.current?cce:bt.color)})}break}case z.SolarPanel:{const an=bt,[gn,mn]=zqe(an);if(Bt===gt.Lower||Bt===gt.Upper){const kn=Math.max(1,Math.round(Math.abs(Nt.z-Jt.z)/mn))*mn,jn=new re(0,0,Nt.z-Jt.z).normalize().multiplyScalar(kn),Wn=new re().addVectors(Jt,jn.clone().divideScalar(2));if(!xe.isElementInsideWall(Wn,an.lx-.01,kn-.01,Pt))return;zt(an.id,Wn,an.lx,Math.abs(jn.z)),O(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===an.id);Xn&&(Xn.cz=Wn.z/l,Xn.ly=Math.abs(jn.z),Xn.color=Xn.id===Ye.current?"red":"#fff")})}else if(Bt===gt.Left||Bt===gt.Right){const kn=Math.max(1,Math.round(Math.abs(Nt.x-Jt.x)/gn))*gn,jn=new re(Nt.x-Jt.x,0,0).normalize().multiplyScalar(kn),Wn=new re().addVectors(Jt,jn.clone().divideScalar(2));if(!xe.isElementInsideWall(Wn,kn-.01,an.ly-.01,Pt))return;zt(an.id,Wn,Math.abs(jn.x),an.ly),O(qn=>{const Xn=qn.elements.find(Jo=>Jo.id===an.id);Xn&&(Xn.cx=Wn.x/r,Xn.lx=Math.abs(jn.x),Xn.color=Xn.id===Ye.current?"red":"#fff")})}break}case z.Polygon:{O(an=>{const gn=an.elements.find(mn=>mn.id===bt.id);(gn==null?void 0:gn.selectedIndex)>=0&&(gn.vertices[gn.selectedIndex].x=-St.x/r,gn.vertices[gn.selectedIndex].y=-St.z/l)});break}}}}}function Is(){if(Ye.current)Le.current&&Le.current.status===1?(O(Ze=>{Ze.elements.pop(),Ze.actionModeLock&&Le.current&&(Ze.objectTypeToAdd=Le.current.type)}),Le.current=null):(M.getState().moveHandleType||M.getState().resizeHandleType)&&wd.undoInvalidOperation();else if(Le.current){if(Le.current.status===0)O(Ze=>{Ze.elements.pop(),Ze.actionModeLock&&Le.current&&(Ze.objectTypeToAdd=Le.current.type)}),Le.current=null;else if(Le.current.status===1){const Ze=M.getState().elements,bt=Ze[Ze.length-1];bt.lx*r<.1||bt.lz*l<.1?O(Nt=>{Nt.elements.pop(),Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type)}):(O(Nt=>{Nt.actionModeLock&&Le.current&&(Nt.objectTypeToAdd=Le.current.type,mx.selectNone(Nt))}),eo(bt)),Le.current=null}}else M.getState().moveHandleType?wd.addUndoableMove():M.getState().resizeHandleType&&uo();Ln.getState().setEnableOrbitController(!0),Se(!1),O(Ze=>{Ze.moveHandleType=null,Ze.resizeHandleType=null,Ze.selectedElement=Ze.elements.find(bt=>{var Nt;return bt.id===((Nt=Ze.selectedElement)==null?void 0:Nt.id)})}),he("showWallIntersectionPlaneId",null),Ye.current=null,qo()}function qs(Ze,bt){if(Ae&&M.getState().objectTypeToAdd){let Nt=null;switch(M.getState().objectTypeToAdd){case z.PyramidRoof:{!b&&oi(!1,!0)&&(Nt=rl.makePyramidRoof([t.id],Ae));break}case z.GableRoof:{!b&&oi(!1,!1)&&(Nt=rl.makeGableRoof([t.id],Ae));break}case z.HipRoof:{!b&&oi(!1,!0)&&(Nt=rl.makeHipRoof([t.id],Ae,r/2));break}case z.GambrelRoof:{!b&&oi(!1,!1)&&(Nt=rl.makeGambrelRoof([t.id],Ae));break}case z.MansardRoof:{!b&&oi(!1,!0)&&(Nt=rl.makeMansardRoof([t.id],Ae));break}case z.SolarPanel:{if(Ze&&bt){const St=Ht(Ze,t),Bt=t.relativeAngle-Vt,Jt=M.getState().actionState;Nt=rl.makeSolarPanel(t,M.getState().getPvModule(Jt.solarPanelModelName??"SPR-X21-335-BLK"),St.x/r,0,St.z/l,Jt.solarPanelOrientation??ui.landscape,Jt.solarPanelPoleHeight??1,Jt.solarPanelPoleSpacing??3,0,0,new re(Math.cos(Bt),Math.sin(Bt),0),[0,0,0],Jt.solarPanelFrameColor,void 0,void 0,z.Wall)}break}case z.Sensor:{if(Ze&&bt){const St=Ht(Ze,t),Bt=t.relativeAngle-Vt;Nt=rl.makeSensor(t,(St.x-.05)/r,0,(St.z-.05)/l,new re(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}case z.Light:{if(Ze&&bt){const St=Ht(Ze,t),Bt=t.relativeAngle-Vt,Jt=M.getState().actionState;Nt=rl.makeLight(t,2,Jt.lightDistance,Jt.lightIntensity,Jt.lightColor,(St.x-.05)/r,0,(St.z-.05)/l,new re(Math.cos(Bt),Math.sin(Bt),0),[0,0,0])}break}}Nt&&(eo(Nt),O(St=>{St.elements.push(Nt),Nt&&Nt.type===z.Roof&&St.addedRoofIdSet.add(Nt.id),St.actionModeLock||(St.objectTypeToAdd=z.None)}))}}function Pr(Ze,bt,Nt){De.current||(Z(n,Ze,zo.ContextMenu),O(St=>{Ze.intersections.length>0&&Ze.intersections[0].object===bt&&(St.contextMenuObjectType=z.Wall,Nt&&St.pastePoint.copy(Ze.intersections[0].point))}),Ze.stopPropagation())}function pa(Ze){if(Ze.button===2)return;const bt=M.getState().objectTypeToAdd;!go()&&!ee()&&Cn(Ze)&&bt===z.None?M.getState().groupActionMode?(O(Nt=>{for(const St of Nt.elements)St.id===A?St.selected=!0:St.selected=!1}),Ze.stopPropagation()):So()&&M.getState().selectMe(n,Ze,zo.Select):In.isTypeRoof(bt)&&Fr(Ze)}function Wl(Ze){Ze.button===2||Ze.intersections.length===0||Ze.intersections[0].object!==Ze.eventObject||(M.getState().groupActionMode?O(bt=>{for(const Nt of bt.elements)Nt.selected=Nt.id===A;bt.selectedElementIdSet.clear(),bt.selectedElementIdSet.add(A)}):(fn(Ze)&&(O(bt=>{bt.contextMenuObjectType=null}),Z(n,Ze,zo.Select)),qs(),Ze.stopPropagation()))}function Yl(Ze){Ze.intersections.length>0&&Ze.intersections[0].object===Ze.eventObject&&(Z(n,Ze,zo.ContextMenu),O(bt=>{bt.contextMenuObjectType=z.Wall}),Ze.stopPropagation())}function Xu(){let[Ze,bt]=v??[0,(at+ot)/2];Ze=Ze*r;const Nt=Ze+$e,St=Math.hypot(Nt,bt-at),Bt=-Math.atan2(bt-at,Nt),Jt=$e-Ze,an=Math.hypot(Jt,ot-bt),gn=-Math.atan2(ot-bt,Jt);return h.jsxs("group",{name:`wall stud group ${n}`,children:[Ue.map(([mn,vn],kn)=>{let jn;return mn{let Wn;return vn0||S===hc.Default)&&h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{name:"Wall Simulation Mesh",uuid:n,userData:{simulation:!0},rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,visible:!1,children:[h.jsx("shapeGeometry",{args:[wt]}),h.jsx("meshBasicMaterial",{side:ji})]}),h.jsxs("mesh",{name:`${wd.WALL_OUTSIDE_SURFACE_MESH_NAME} ${n}`,ref:me,rotation:[Vt,0,0],castShadow:Oe,receiveShadow:ne,onContextMenu:Ze=>{Pr(Ze,me.current,!0)},onPointerMove:di,onPointerDown:Fr,onPointerUp:Oa,onPointerOut:Br,children:[h.jsx("shapeGeometry",{args:[wt]}),pe&&Ce?h.jsx("meshBasicMaterial",{attach:"material",map:Ce,color:"white",opacity:D,transparent:_e}):h.jsx("meshStandardMaterial",{attach:"material",color:d===No.Default||d===No.NoTexture?f:"white",map:_,transparent:_e,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,.05,0],castShadow:Oe,children:[h.jsx("shapeGeometry",{args:[kt]}),h.jsx("meshStandardMaterial",{color:"white",side:p0,transparent:_e,opacity:D})]}),h.jsxs("mesh",{name:"Inside Wall",ref:Pe,position:[0,a,0],rotation:[Vt,0,0],castShadow:Oe,receiveShadow:ne,onPointerDown:pa,onContextMenu:Ze=>{Pr(Ze,Pe.current)},children:[h.jsx("shapeGeometry",{args:[kt]}),h.jsx(TQt,{transparent:_e,color:f,opacity:D})]}),h.jsxs("mesh",{rotation:[Vt,0,0],position:[0,a-.01,0],receiveShadow:!0,children:[h.jsx("shapeGeometry",{args:[kt]}),h.jsx("meshStandardMaterial",{color:"white",side:ia,transparent:_e,opacity:D})]}),(!b||et)&&!nt&&h.jsx("mesh",{name:"Top Wall",ref:Me,material:Wt,position:[0,We,qe],rotation:[0,-Je,0],castShadow:Oe,receiveShadow:ne,onPointerDown:pa,onContextMenu:Ze=>{Pr(Ze,Me.current)},children:h.jsx("shapeGeometry",{args:[st]})}),Ge===0&&h.jsx(sa,{args:[at-ct,a],material:Wt,position:[-$e+.01,We,-Ee+ct+(at-ct)/2],rotation:[0,Vt,0],castShadow:Oe,receiveShadow:ne,onPointerDown:pa}),rt===0&&h.jsx(sa,{args:[ot-ft,a],material:Wt,position:[$e-.01,We,-Ee+ft+(ot-ft)/2],rotation:[0,Vt,0],castShadow:Oe,receiveShadow:ne,onPointerDown:pa}),(de||$===n)&&((pn=M.getState().selectedElement)==null?void 0:pn.parentId)===n&&h.jsxs(h.Fragment,{children:[h.jsx(sa,{ref:Te,name:SQt,args:[1e4,1e4],position:[0,a/3,0],rotation:[Vt,0,0],onPointerMove:Pc,onPointerUp:Is,visible:!1,children:h.jsx("meshBasicMaterial",{color:"blue",side:ji})}),h.jsx(sa,{name:Cre,args:[r,l],rotation:[Vt,0,0],position:[0,a,0],onPointerMove:()=>{},visible:!1})]}),ye.map(Ze=>{switch(Ze.type){case z.Window:return h.jsx(fqe,{...Ze,cx:Ze.cx*r,cy:Ze.cy*a,cz:Ze.cz*l,lx:Ze.lx*r,ly:a,lz:Ze.lz*l},Ze.id);case z.Door:return k!==Hl.Full?null:h.jsx(cQt,{...Ze,cx:Ze.cx*r,cy:0,cz:Ze.cz*l,lx:Ze.lx*r,ly:a,lz:Ze.lz*l},Ze.id);case z.SolarPanel:let bt=0;return Ae&&t&&(bt=Ae.rotation[2]+t.relativeAngle),h.jsx("group",{position:[0,-Ze.lz/2,0],children:h.jsx(gQt,{...Ze,cx:Ze.cx*r,cz:Ze.cz*l,absRotation:bt})},Ze.id);default:return null}})]}),ye.map(Ze=>Ze.type===z.Polygon&&k!==Hl.Empty?h.jsx(Iqe,{...Ze},Ze.id):null),S===hc.Stud&&Xu(),S===hc.Pillar&&Cc(),nt&&h.jsx(vQt,{args:U,wallData:lt,parapetZ:mt,currWallPointData:Ve,leftWallPointData:ut,rightWallPointData:je}),(S===hc.Default||w&&Y)&&h.jsx(Z$t,{lineColor:Y&&w?l0:p,lineWidth:Y&&w?2:g,hx:$e,hz:Ee,fill:k,isTopPartial:et,leftUnfilledHeight:W,rightUnfilledHeight:N,showParapet:nt,leftHeight:at,rightHeight:ot,center:v,centerLeft:T,centerRight:y}),Y&&h.jsx(hye,{element:t,verticalLift:0}),(de||$===n)&&((Pn=M.getState().selectedElement)==null?void 0:Pn.parentId)===n&&h.jsx("group",{position:[0,-.001,0],rotation:[Vt,0,0],children:h.jsx(Age,{hx:$e,hy:Ee,hz:0})}),h.jsx(bQt,{wallModel:t,notBuilding:Ae.notBuilding})]})};function zqe(t){const e=M.getState().getPvModule(t.pvModelName);return t.orientation===ui.landscape?[e.length,e.width]:[e.width,e.length]}const CQt=(t,e)=>t.wallModel===e.wallModel,RQt=be.memo(PQt,CQt);class In{static getWireframetStyle(e,n,o,i){return[o&&i?l0:e,o&&i?1:n]}static getComposedWallNormal(e){return new re().subVectors(e.leftPoint,e.rightPoint).applyEuler(eG).normalize()}static getWallNormal(e){return new re().subVectors(new re(e.leftPoint[0],e.leftPoint[1]),new re(e.rightPoint[0],e.rightPoint[1])).applyEuler(eG).normalize()}static isTypeRoof(e){return e===z.Roof||e===z.PyramidRoof||e===z.HipRoof||e===z.GableRoof||e===z.GambrelRoof||e===z.MansardRoof}static getIntersectionPoint(e,n,o,i){if(Math.abs(e.x-n.x)<.001&&Math.abs(o.x-i.x)<.001)return n.clone();const r=(n.y-e.y)/(n.x-e.x),a=(i.y-o.y)/(i.x-o.x);if(Math.abs(r-a)<.001)return n.clone();const l=[e.x,n.x,o.x,i.x],s=[e.y,n.y,o.y,i.y],c=((l[2]-l[3])*(l[1]*s[0]-l[0]*s[1])-(l[0]-l[1])*(l[3]*s[2]-l[2]*s[3]))/((l[2]-l[3])*(s[0]-s[1])-(l[0]-l[1])*(s[2]-s[3])),u=((s[2]-s[3])*(s[1]*l[0]-s[0]*l[1])-(s[0]-s[1])*(s[3]*l[2]-s[2]*l[3]))/((s[2]-s[3])*(l[0]-l[1])-(s[0]-s[1])*(l[2]-l[3]));return!Number.isFinite(c)||!Number.isFinite(u)?n.clone():new re(c,u)}static getDistance(e,n,o){const i=n.y-e.y;if(i===0)return Math.abs(e.y-o.y);const r=e.x-n.x;if(r===0)return Math.abs(e.x-o.x);const a=n.x*e.y-e.x*n.y,l=Math.abs((i*o.x+r*o.y+a)/Math.sqrt(i*i+r*r));return l===0?1/0:l}static getWallPoints2D(e,n,o,i){const{lx:r,lz:a,rightRoofHeight:l,leftRoofHeight:s}=e,c=o??e.centerLeftRoofHeight,u=n??e.centerRoofHeight,d=i??e.centerRightRoofHeight,f=[],p=r/2,g=a/2;return f.push({x:-p,y:-g}),f.push({x:p,y:-g}),l?f.push({x:p,y:l-g}):f.push({x:p,y:g}),d&&f.push({x:d[0]*r,y:d[1]-g}),u&&f.push({x:u[0]*r,y:u[1]-g}),c&&f.push({x:c[0]*r,y:c[1]-g}),s?f.push({x:-p,y:s-g}):f.push({x:-p,y:g}),f}static isPointInside(e,n,o){let i=!1;for(let r=0,a=e.length-1;ro!=u>o&&n<(c-l)*(o-s)/(u-s)+l&&(i=!i)}return i}static isRoofValid(e,n,o,i,r,a){for(const l of M.getState().elements)if(l.type===z.Wall&&l.roofId===e){const s=l;let c=[];if(s.id===n)c=In.getWallPoints2D(s,i,r,a);else if(s.id===o){let u,d,f;i&&(u=[-i[0],i[1]]),a&&(d=[-a[0],a[1]]),r&&(f=[-r[0],r[1]]),c=In.getWallPoints2D(s,u,d,f)}if(s.id===n||s.id===o){for(const u of M.getState().elements)if(u.parentId===s.id){let d=u.lx/2,f=u.lz/2,p=tP;u.type===z.SolarPanel&&(d=(d-.01)/s.lx,f=(u.ly/2-.01)/s.lz,p=0);const g=u.cx*s.lx-d*s.lx,A=u.cx*s.lx+d*s.lx,w=u.cz*s.lz+f*s.lz+p;if(!In.isPointInside(c,g,w)||!In.isPointInside(c,A,w))return!1}}}return!0}static getSegmentIdx(e,n){for(let o=0;or.z){const u=[l,a,i];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}else{const u=[l,a,r];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else if(s<=c){const u=[l,a,r];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[r,a,l]:[r,l,i]}else{const u=[l,a,i];return xe.isPointInside(o.x,o.y,u.map(xe.mapVector3ToPoint2))?[i,a,l]:[i,r,a]}}static getSegmentNormal(e){const[n,o,i]=e;return new re().crossVectors(new re().subVectors(n,o),new re().subVectors(n,i)).normalize()}static getRotationFromNormal(e){return xe.isSame(e.normalize(),Po)?[0,0,0]:[Math.PI/2-Math.atan2(e.z,Math.hypot(e.x,e.y)),0,Math.atan2(e.y,e.x)+Math.PI/2]}static getRooftopElementZ(e,n,o){const[i,r,a]=e,l=(r.y-i.y)*(a.z-i.z)-(r.z-i.z)*(a.y-i.y),s=(r.z-i.z)*(a.x-i.x)-(r.x-i.x)*(a.z-i.z),c=(r.x-i.x)*(a.y-i.y)-(r.y-i.y)*(a.x-i.x);return-(-(l*i.x+s*i.y+c*i.z)+l*n.x+s*n.y)/c+o}static computeState(e,n,o){const i=In.getSegmentIdx(e,n);if(o)return{segmentIdx:-1,segmentVertices:null,normal:new re(0,0,1),rotation:[0,0,0]};if(i!==-1){const r=In.getSegmentVertices(e,i,n),a=In.getSegmentNormal(r),l=In.getRotationFromNormal(a);return{segmentIdx:i,segmentVertices:r,normal:a,rotation:l}}else return{segmentIdx:-1,segmentVertices:null,normal:new re(0,0,1),rotation:[0,0,0]}}static getOrderedWallArrayOfRoof(e){const n=new Map;for(const a of M.getState().elements)a.type===z.Wall&&a.roofId===e&&n.set(a.id,a);if(n.size===0)return{orderedWallArray:[],isLoop:!1};const o=n.entries().next().value[1],i=[o];let r=o.rightJoints[0];for(;r&&r!==o.id;){const a=n.get(r);if(a)i.push(a),r=a.rightJoints[0];else break}if(r===o.id)return{orderedWallArray:i,isLoop:!0};for(r=o.leftJoints[0];r;){const a=n.get(r);if(a)i.unshift(a),r=a.leftJoints[0];else break}return{orderedWallArray:i,isLoop:!1}}static getRoofBoundaryVertices(e){const n=Sn.getState().roofSegmentVerticesMap.get(e.id);if(!n)throw new Error;if(e.roofType!==Vo.Gable&&e.rise<.01)return n[0].map(o=>({x:o.x,y:o.y}));switch(e.roofType){case Vo.Gable:return n.length===1?n[0].map(o=>({x:o.x,y:o.y})):n.reduce((o,i)=>(o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Gambrel:return n.reduce((o,i,r)=>((r===0||r===3)&&o.push({x:i[0].x,y:i[0].y},{x:i[1].x,y:i[1].y}),o),[]);case Vo.Mansard:return n.reduce((o,i,r)=>(r!==n.length-1&&o.push({x:i[0].x,y:i[0].y}),o),[]);default:return n.reduce((o,i,r)=>(o.push({x:i[0].x,y:i[0].y}),o),[])}}static getAbsoluteWindowVerticesOnRoof(e,n){const o=[],i=new re(e.cx,e.cy,e.cz),r=new re(n.cx,n.cy,n.lz);if(e.windowType===Sr.Arched){const a=Math.min(e.archHeight,e.lx/2,e.lz);for(let s=-1;s<=1;s+=2)for(let c=-1;c<=1;c+=2){const u=s*c>0?new re(e.lx/2*s,(e.lz/2-a)*c*s,0):new re(e.lx/2*s,e.lz/2*c*s,0);u.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),u.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(u)}const l=new re(0,e.lz/2,0);l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),l.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(l)}else{for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new re(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const a=new re(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),a.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(a)}}return o}static getRelativeWindowVerticesOnRoof(e){const n=[],o=new re(e.cx,e.cy,e.cz);if(e.windowType===Sr.Arched){const i=Math.min(e.archHeight,e.lx/2,e.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=a*l>0?new re(e.lx/2*a,(e.lz/2-i)*l*a,0):new re(e.lx/2*a,e.lz/2*l*a,0);s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(s)}const r=new re(0,e.lz/2,0);r.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(r)}else{for(let i=-1;i<=1;i+=2)for(let r=-1;r<=1;r+=2){const a=new re(e.lx/2*i,e.lz/2*r*i,0);a.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(a)}if(e.windowType===Sr.Polygonal&&e.polygonTop){const i=new re(e.lx*e.polygonTop[0],e.lz/2+e.polygonTop[1],0);i.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(o),n.push(i)}}return n}static getAbsoluteSolarPanelVerticesOnRoof(e,n){const o=[],i=new re(e.cx*n.lx,e.cy*n.ly,e.cz),r=new re(n.cx,n.cy,n.lz);for(let a=-1;a<=1;a+=2)for(let l=-1;l<=1;l+=2){const s=new re(e.lx/2*a,e.ly/2*l*a,0);e.rotation[0]===0?s.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):s.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),s.applyEuler(new Qt(0,0,n.rotation[2],"ZXY")).add(r),o.push(s)}return o}static getSolarPanelVerticesOnRoof(e,n){const o=[],i=new re(e.cx*n.lx,e.cy*n.ly,e.cz+n.lz);for(let r=-1;r<=1;r+=2)for(let a=-1;a<=1;a+=2){const l=new re(e.lx/2*r,e.ly/2*a*r,0);e.rotation[0]===0?l.applyEuler(new Qt(e.tiltAngle,0,e.relativeAzimuth,"ZXY")).add(i):l.applyEuler(new Qt(e.rotation[0],e.rotation[1],e.rotation[2],"ZXY")).add(i),o.push(l)}return o}static getWindowVerticesOnRoof(e,n=0){const o=[],i=new re(e.cx,e.cy,e.cz),[r,a]=[e.lx/2+n,e.lz/2+n];for(let l=-1;l<=1;l+=2)for(let s=-1;s<=1;s+=2){const c=new re(l*r,l*s*a);c.applyEuler(new Qt().fromArray([e.rotation[0],e.rotation[1],e.rotation[2],"ZXY"])).add(i),o.push(c)}if(e.windowType===Sr.Polygonal){const[l,s]=e.polygonTop??jp,c=new re(l*e.lx,e.lz+s).add(i);o.push(c)}return o}static rooftopElementBoundaryCheck(e,n){for(const o of e)if(!xe.isPointInside(o.x,o.y,n))return!1;return!0}static rooftopWindowCollisionCheck(e,n,o){const i=[];for(const r of M.getState().elements)if(r.parentId===o&&r.id!==e){const a=In.getWindowVerticesOnRoof(r);i.push(a)}for(const r of i){for(const a of n)if(xe.isPointInside(a.x,a.y,r))return!1;for(const a of r)if(xe.isPointInside(a.x,a.y,n))return!1}return!0}static rooftopSPCollisionCheck(e,n,o){for(const i of M.getState().elements)if(i.type===e.type&&i.parentId===e.parentId&&i.id!==e.id){const r=In.getSolarPanelVerticesOnRoof(i,n);for(const s of o)if(xe.isPointInside(s.x,s.y,r))return!1;for(const s of r)if(xe.isPointInside(s.x,s.y,o))return!1;const a=o.map(xe.mapVector3ToPoint2),l=r.map(xe.mapVector3ToPoint2);a.push(a[0]),l.push(l[0]);for(let s=0;s{const a=M(Cb),l=M(ty),s=m.useRef(null),[c,u,d]=e;let f=jx;c===0&&u===0?f=k3t:c===0?f=Fk:u===0&&(f=jx);const p=l===t||a===t?nr:f;return h.jsx(ts,{ref:s,name:t,args:[n/2,6,6,0,Math.PI],position:[c,u,d],onPointerDown:o,onPointerOver:g=>{i(g,t)},onPointerOut:r,children:h.jsx("meshBasicMaterial",{color:p})})}),dm=be.memo(({handleType:t,position:e,size:n,onPointerOver:o,onPointerOut:i})=>{const r=M(yh),a=M(ty),l=m.useRef(null),[s,c,u]=e,d=a===t||r===t?nr:pr,f=()=>{if(l.current){const p=l.current.localToWorld(new re(-s*2,-c*2,0));M.getState().set(g=>{g.resizeAnchor.copy(p),g.resizeHandleType=t}),Ln.getState().setEnableOrbitController(!1)}};return h.jsx(Ei,{ref:l,name:t,args:[n,n,n],position:[s,c,u],onPointerDown:f,onPointerOver:p=>{o(p,t)},onPointerOut:i,children:h.jsx("meshBasicMaterial",{color:d})})}),NQt=({id:t,args:e})=>{const[n,o,i]=e,r=M(dn),a=M(Vn),l=M(hu),s=M(Iq),[c,u]=m.useState(null),{gl:d,raycaster:f}=Xi(),p=UH(),g=m.useRef(null),A=m.useRef(null),w=m.useRef(null),b=m.useRef(null),C=m.useRef(null),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(null),y=m.useMemo(()=>[0,Math.min(-1.2*o,-o-.75)-p*2,I9/2-i],[o,i,p]),S=m.useMemo(()=>[0,Math.max(1.2*o,o+.75)+p*2,I9/2-i],[o,i,p]),x=c!==null,R=!l,H=!s,D=m.useCallback((q,ae)=>{ht.getState().duringCameraInteraction||q.intersections.length>0&&(q.intersections[0].object===q.eventObject||q.intersections.length>1&&q.intersections[1].object===q.eventObject)&&(r(se=>{se.hoveredHandle=ae;const le=a(t);le&&(se.selectedElementAngle=le.rotation[2],se.selectedElementHeight=le.lz)}),xe.isMoveHandle(ae)?d.domElement.style.cursor="move":ae===wi.Upper||ae===wi.Lower?d.domElement.style.cursor="grab":d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"pointer")},[]),k=m.useCallback(()=>{r(q=>{q.hoveredHandle=null}),d.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),W=q=>{const ae=a(q);if(!ae)return 0;const ne=ae.rotation[2];return ae.parentId===Zo?ne:ne+W(ae.parentId)},N=q=>{switch(q){case z.Human:case z.Flower:case z.Tree:return!0}return!1},L=q=>N(q)||q===z.Cuboid,E=q=>{r(ae=>{const ne=ae.elements.find(Ie=>Ie.id===t);if(!ne)return;const se=q.clone().setZ(0),le=M.getState().resizeAnchor.clone().setZ(0),te=new re().subVectors(se,le).applyEuler(new Qt(0,0,-(w.current??0))),he=new re().addVectors(se,le).multiplyScalar(.5),{pos:pe,rot:fe}=xe.getWorldDataById(ne.parentId),$=new re().subVectors(he,pe).applyEuler(new Qt(0,0,-fe));ne.cx=$.x,ne.cy=$.y;const de=Math.abs(te.x),Se=Math.abs(te.y);ne.lx=de,ne.ly=Se;const Ce=new re($.x,$.y,ne.cz).applyEuler(new Qt(0,0,fe)).add(pe),ve=ne.rotation[2]+fe;if(P.current.size>0)for(const Ie of ae.elements){const ze=P.current.get(Ie.id);if(ze){const ye=ze.clone().sub(Ce).applyEuler(new Qt(0,0,-ve));if(N(Ie.type)){const oe=v.current.get(Ie.id);if(oe){const[ge,Ae]=oe;ge==="Top"?(Ie.cx=ye.x,Ie.cy=ye.y):ge==="NS"?(Ie.cx=ye.x,Ie.cy=Math.sign(Ae)*(Se/2)):ge==="EW"&&(Ie.cx=Math.sign(Ae)*(de/2),Ie.cy=ye.y)}}else Ie.type===z.Cuboid?(Ie.cx=ye.x,Ie.cy=ye.y):(Ie.cx=ye.x/de,Ie.cy=ye.y/Se)}}})},U=q=>{r(ae=>{const ne=ae.elements.find(ve=>ve.id===t);if(!ne)return;const se=q.clone().setZ(0),le=M.getState().resizeAnchor.clone().setZ(0),te=new re().subVectors(se,le).applyEuler(new Qt(0,0,-(w.current??0))),he=new re().addVectors(se,le).multiplyScalar(.5),{pos:pe,rot:fe}=xe.getWorldDataById(ne.parentId),$=new re().subVectors(he,pe).applyEuler(new Qt(0,0,-fe));ne.cx=$.x;const de=Math.abs(te.x);ne.lx=de;const Se=new re($.x,$.y,ne.cz).applyEuler(new Qt(0,0,fe)).add(pe),Ce=ne.rotation[2]+fe;if(P.current.size>0)for(const ve of ae.elements){const Ie=P.current.get(ve.id);if(Ie){const ze=Ie.clone().sub(Se).applyEuler(new Qt(0,0,-Ce));if(N(ve.type)){const ye=v.current.get(ve.id);if(ye){const[oe,ge]=ye;oe==="Top"||oe==="NS"?ve.cx=ze.x:oe==="EW"&&(ve.cx=Math.sign(ge)*(de/2))}}else ve.type===z.Cuboid?ve.cx=ze.x:ve.cx=ze.x/de}}})},F=q=>{r(ae=>{const ne=ae.elements.find(ve=>ve.id===t);if(!ne)return;const se=q.clone().setZ(0),le=M.getState().resizeAnchor.clone().setZ(0),te=new re().subVectors(se,le).applyEuler(new Qt(0,0,-(w.current??0))),he=new re().addVectors(se,le).multiplyScalar(.5),{pos:pe,rot:fe}=xe.getWorldDataById(ne.parentId),$=new re().subVectors(he,pe).applyEuler(new Qt(0,0,-fe));ne.cy=$.y;const de=Math.abs(te.y);ne.ly=de;const Se=new re($.x,$.y,ne.cz).applyEuler(new Qt(0,0,fe)).add(pe),Ce=ne.rotation[2]+fe;if(P.current.size>0)for(const ve of ae.elements){const Ie=P.current.get(ve.id);if(Ie){const ze=Ie.clone().sub(Se).applyEuler(new Qt(0,0,-Ce));if(N(ve.type)){const ye=v.current.get(ve.id);if(ye){const[oe,ge]=ye;oe==="Top"?ve.cy=ze.y:oe==="NS"?ve.cy=Math.sign(ge)*(de/2):oe==="EW"&&(ve.cy=ze.y)}}else ve.type===z.Cuboid?ve.cy=ze.y:ve.cy=ze.y/de}}})},B=q=>{if(g.current!==null){const ae=Math.max(1,q.z-g.current);r(ne=>{for(const se of ne.elements)if(se.id===t&&(se.lz=ae,se.cz=ae/2,ne.selectedElementHeight=ae),se.parentId===t&&N(se.type)){const le=v.current.get(se.id);le&&le[0]==="Top"&&(se.cz=ae/2)}})}},_=q=>{if(A.current){const[ae,ne]=A.current;let se=Math.atan2(ae-q.x,q.y-ne)+(M.getState().rotateHandleType===wi.Upper?0:Math.PI);const le=Math.abs(se)>Math.PI?-Math.sign(se)*na:0;b.current&&(se-=b.current),M.getState().updateElementRotationById(t,0,0,se+le)}},Y=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name||M.getState().addedCuboidId){const ae=a(t);if(ae&&ae.parentId!==Zo){u({position:new re(0,0,-i),rotation:new Qt});const{pos:ne,rot:se}=xe.getWorldDataById(ae.parentId);C.current=ne,b.current=se,w.current=se+ae.rotation[2];const le=new re(ae.cx,ae.cy,ae.cz).applyEuler(new Qt(0,0,se)).add(ne),te=M.getState().elements.filter(he=>he.parentId===ae.id&&(L(he.type)||xe.isIdentical(he.normal,[0,0,1])));P.current.clear(),v.current.clear();for(const he of te){const pe=new re;N(he.type)?(pe.set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01?v.current.set(he.id,["Top",1]):Math.abs(Math.abs(he.cx)-n)<.01?v.current.set(he.id,["EW",Math.sign(he.cx)]):v.current.set(he.id,["NS",Math.sign(he.cy)])):he.type===z.Cuboid?pe.set(he.cx,he.cy,he.cz):pe.set(he.cx*ae.lx,he.cy*ae.ly,0),pe.applyEuler(new Qt(0,0,w.current)).add(le),P.current.set(he.id,pe)}}r(ne=>{ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(t),ne.selectedElement=ne.elements.find(se=>se.id===t)??null})}},O=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){const ae=q.intersections[0].object,ne=M.getState().cameraDirection,se=Math.atan2(ne.x,ne.y)+W(t);u({position:ae.position.clone(),rotation:new Qt(-Vt,se,0)});const le=ae.localToWorld(new re);g.current=le.z-i*2;const te=M.getState().elements.filter(he=>he.parentId===t&&N(he.type));v.current.clear();for(const he of te)new re().set(he.cx,he.cy,he.cz),Math.abs(he.cz-i)<.01&&v.current.set(he.id,["Top",1]);r(he=>{he.selectedElementIdSet.clear(),he.selectedElementIdSet.add(t),he.selectedElement=he.elements.find(pe=>pe.id===t)??null})}},J=q=>{if(q.intersections.length>0&&q.intersections[0].object.name===q.object.name){u({position:new re(0,0,-i),rotation:new Qt(0,0,0)});const ae=q.eventObject;A.current=ae.localToWorld(new re).toArray();const ne=a(t);ne&&(b.current=W(ne.parentId))}},Z=q=>{if(q.intersections.length>0){const ae=q.intersections[0].eventObject.name;switch(ae){case yo.Lower:case yo.Upper:case yo.Left:case yo.Right:case yo.Top:{M.getState().set(ne=>{const se=ne.elements.find(le=>le.id===t)??null;if(se){if(ne.selectedElement=se,se.parentId===Zo)for(const le of ne.elements)ne.selectedElementIdSet.has(le.id)&&!xe.isElementAllowedMultipleMoveOnGround(le)&&ne.selectedElementIdSet.delete(le.id);else ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(se.id);ne.moveHandleType=ae}}),Ln.getState().setEnableOrbitController(!1);break}}}},ie=q=>{if(T.current){const ae=f.intersectObject(T.current);if(ae.length){const ne=ae[0].point,se=M.getState().resizeHandleType;se?xe.isTopResizeHandle(se)?B(ne):xe.isXResizeHandle(se)?U(ne):xe.isYResizeHandle(se)?F(ne):E(ne):M.getState().rotateHandleType&&_(ne)}}},ee=()=>{u(null),g.current=null,A.current=null,w.current=null,b.current=null,C.current=null};return h.jsxs(h.Fragment,{children:[x&&h.jsx(sa,{name:"Cuboid Intersection Plane",ref:T,args:[1e4,1e4],position:c.position,rotation:c.rotation,visible:!1,onPointerMove:ie,onPointerUp:ee}),h.jsxs("group",{name:"Bottom Resize Handle Group",position:[0,0,-i+p/2],onPointerDown:Y,children:[h.jsx(dm,{handleType:gt.UpperLeft,position:[-n,o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.UpperRight,position:[n,o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.LowerLeft,position:[-n,-o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.LowerRight,position:[n,-o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Left,position:[-n,0,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Right,position:[n,0,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Upper,position:[0,o,0],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.Lower,position:[0,-o,0],size:p,onPointerOver:D,onPointerOut:k})]}),R&&h.jsxs("group",{name:"Cuboid Top Resize Handle Group",onPointerDown:O,children:[h.jsx(dm,{handleType:gt.LowerLeftTop,position:[-n,-o,i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.UpperLeftTop,position:[-n,o,i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.LowerRightTop,position:[n,-o,i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(dm,{handleType:gt.UpperRightTop,position:[n,o,i],size:p,onPointerOver:D,onPointerOut:k})]}),H&&h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Cuboid Move Handle Group",onPointerDown:Z,children:[h.jsx(Dz,{handleType:yo.Lower,position:[0,-o-p*1.2,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Upper,position:[0,o+p*1.2,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Left,position:[-n-p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Right,position:[n+p*1.2,0,-i],size:p,onPointerOver:D,onPointerOut:k}),h.jsx(Dz,{handleType:yo.Top,position:[0,0,i],size:p,onPointerOver:D,onPointerOut:k})]}),h.jsxs("group",{name:"Cuboid Rotate Handle Group",onPointerDown:J,children:[h.jsx(l7,{id:t,handleType:wi.Lower,position:y,ratio:p*4,hoverHandle:D,noHoverHandle:k}),h.jsx(l7,{id:t,position:S,handleType:wi.Upper,ratio:p*4,hoverHandle:D,noHoverHandle:k})]})]})]})},UQt=be.memo(NQt),BQt=t=>{const{id:e,cx:n,cy:o,lx:i=1,ly:r=1,lz:a=1,color:l="silver",lineColor:s="black",lineWidth:c=.1,locked:u=!1,showLabel:d=!1,textureTypes:f=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],stackable:p}=t,g=Hs(e),A=M(dn),w=M(Sc),b=M(hu),C=M(Vn),P=M(xb),v=M(uge),T=M(hp),y=M(t3),S=M(R7),x=M(e3),R=M(ige),H=M(dwt),D=M(Vc),k=M(sge),W=M(J2),N=M(ss),L=M(En),E=M(pge),U=M(H7),F=M(tje),B=M(oge),_=ht(cs),Y=M(wf),O=Sn(i1),J=M(sA),{camera:Z,gl:{domElement:ie},raycaster:ee,mouse:q}=Xi(),[ae,ne]=m.useState(null),[se,le]=m.useState(null),[te,he]=m.useState(null),[pe,fe]=m.useState(null),[$,de]=m.useState(null),[Se,Ce]=m.useState(!1),[ve,Ie]=m.useState(!1),ze=m.useRef(null),ye=m.useRef(null),oe=m.useRef(null),ge=m.useRef(Po),[Ae,me]=m.useState(new re(0,0,0)),Pe=m.useRef(new Qt(0,0,0)),Me=m.useRef(new re(1,1,1)),Te=m.useRef(new re),De=m.useRef(new re),Ne=m.useRef(new re),Ye=m.useRef(new re),Le=m.useRef(new re(1,1,1)),$e=m.useRef(new re(1,1,1)),We=m.useRef(0),Ee=m.useRef(0),Fe=m.useRef([]),Ge=m.useRef([]),rt=m.useRef(null),_e=m.useRef(new re),xt=m.useRef(0),dt=m.useMemo(()=>({lng:w}),[w]),Qe=i/2,ct=r/2,ft=a/2,at=m.useMemo(()=>new re,[]),ot=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.CuboidElement",dt))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",dt)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",dt)+": ("+n.toFixed(1)+", "+o.toFixed(1)+", "+(a/2).toFixed(1)+") "+j.t("word.MeterAbbreviation",dt)),[t==null?void 0:t.label,t==null?void 0:t.locked,dt,n,o,a]);m.useEffect(()=>{const Cn=()=>{oe.current=null,Ie(!1),Ln.getState().setEnableOrbitController(!0)};return window.addEventListener("pointerup",Cn),()=>{window.removeEventListener("pointerup",Cn)}},[]),m.useEffect(()=>{M.getState().tempHumanPlant.length>0&&A(Cn=>{Cn.elements.push(...Cn.tempHumanPlant),Cn.tempHumanPlant=[]})},[]),m.useEffect(()=>{if(t&&_){const Cn=Y??5,yn=O(t.id+"-top");yn&&ne(xe.fetchHeatmapTexture(yn,Cn));const to=O(t.id+"-south");to&&le(xe.fetchHeatmapTexture(to,Cn));const Eo=O(t.id+"-north");Eo&&he(xe.fetchHeatmapTexture(Eo,Cn));const ni=O(t.id+"-west");ni&&fe(xe.fetchHeatmapTexture(ni,Cn));const Lo=O(t.id+"-east");Lo&&de(xe.fetchHeatmapTexture(Lo,Cn,!0))}},[_,Y]);const et=Cn=>{switch(Cn){case Co.Facade01:return HQt;case Co.Facade02:return MQt;case Co.Facade03:return IQt;case Co.Facade04:return zQt;case Co.Facade05:return DQt;case Co.Facade06:return EQt;case Co.Facade07:return kQt;case Co.Facade08:return FQt;case Co.Facade09:return LQt;case Co.Facade10:return WQt;default:return eg}},Oe=Cn=>{switch(Cn){case Co.Facade01:return{x:14,y:6.5};case Co.Facade02:return{x:14,y:6.5};case Co.Facade03:return{x:10,y:12};case Co.Facade04:return{x:20,y:11};case Co.Facade05:return{x:15,y:10};case Co.Facade06:return{x:11,y:3.5};case Co.Facade07:return{x:11,y:10};case Co.Facade08:return{x:16,y:9};case Co.Facade09:return{x:10,y:9};case Co.Facade10:return{x:12,y:9};default:return{x:1,y:1}}},nt=m.useMemo(()=>new nf().load(f?et(f[0]):eg,Cn=>{const yn=Oe(f[0]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=Vt,Cn.center.x=1,Cn.center.y=0,Cn.wrapS=Cn.wrapT=Ss,Tt(Cn)}),[f[0],r,a]),[mt,Tt]=m.useState(nt),Rt=m.useMemo(()=>new nf().load(f?et(f[1]):eg,Cn=>{const yn=Oe(f[1]);Cn.repeat.set(r/yn.x,a/yn.y),Cn.rotation=-Vt,Cn.wrapS=Cn.wrapT=Ss,Ct(Cn)}),[f[1],r,a]),[Wt,Ct]=m.useState(Rt),wt=m.useMemo(()=>new nf().load(f?et(f[2]):eg,Cn=>{const yn=Oe(f[2]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.rotation=Math.PI,Cn.center.x=0,Cn.center.y=1,Cn.wrapS=Cn.wrapT=Ss,qe(Cn)}),[f[2],i,a]),[kt,qe]=m.useState(wt),Je=m.useMemo(()=>new nf().load(f?et(f[3]):eg,Cn=>{const yn=Oe(f[3]);Cn.repeat.set(i/yn.x,a/yn.y),Cn.wrapS=Cn.wrapT=Ss,Pt(Cn)}),[f[3],i,a]),[st,Pt]=m.useState(Je),Ue=m.useMemo(()=>new nf().load(f?et(f[4]):eg,Cn=>{const yn=Oe(f[4]);Cn.repeat.set(i/yn.x,r/yn.y),Cn.wrapS=Cn.wrapT=Ss,Ve(Cn)}),[f[4],i,r]),[lt,Ve]=m.useState(Ue);m.useEffect(()=>{Zh()},[f]);const ut=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:return!0}return!1},je=Cn=>{switch(Cn){case z.Polygon:case z.Sensor:case z.Light:case z.SolarPanel:case z.Human:case z.Tree:case z.Flower:return!0}return!1},yt=Cn=>{ge.current=Cn;const yn=.01;xe.isSame(ge.current,Po)?(me(new re(0,0,ft+yn)),Pe.current=new Qt(0,0,0),Me.current.set(Qe,ct,ft)):xe.isSame(ge.current,Np)?(me(new re(Qe+yn,0,0)),Pe.current=new Qt(0,Vt,0),Me.current.set(ft,ct,Qe)):xe.isSame(ge.current,Up)?(me(new re(-Qe-yn,0,0)),Pe.current=new Qt(0,-Vt,0),Me.current.set(ft,ct,Qe)):xe.isSame(ge.current,Bp)?(me(new re(0,-ct-yn,0)),Pe.current=new Qt(Vt,0,0),Me.current.set(Qe,ft,ct)):xe.isSame(ge.current,Yc)&&(me(new re(0,ct+yn,0)),Pe.current=new Qt(-Vt,0,0),Me.current.set(Qe,ft,ct))},Ht=Math.max(1,Math.max(i,r)/8),At=Af*Ht,It=Cn=>{var Eo,ni;const yn=Cn.intersections[0];if(M.getState().objectTypeToAdd===z.SolarPanel){const Lo=yn.point,{pos:bo,rot:Ro}=xe.getWorldDataById(e),oi=new re().subVectors(Lo,bo).applyEuler(new Qt(0,0,-Ro)),go=rl.makeSolarPanel(t,M.getState().getPvModule(M.getState().actionState.solarPanelModelName??"SPR-X21-335-BLK"),oi.x/i,oi.y/r,oi.z/a,M.getState().actionState.solarPanelOrientation??ui.landscape,M.getState().actionState.solarPanelPoleHeight??1,M.getState().actionState.solarPanelPoleSpacing??3,M.getState().actionState.solarPanelTiltAngle??0,M.getState().actionState.solarPanelRelativeAzimuth??0,(Eo=yn.face)==null?void 0:Eo.normal,[0,0,0],M.getState().actionState.solarPanelFrameColor??"white");return A(So=>{So.elements.push(go)}),go}else return v(t,yn.point,(ni=yn.face)==null?void 0:ni.normal)},zt=Cn=>{if(Cn.button===2)return;E()||D(e,Cn,zo.Select);const yn=P();let to=!1;if(Cn.intersections[0].object.name===z.Polygon&&M.getState().objectTypeToAdd!==z.None&&(to=!0),(yn==null?void 0:yn.id)===e||to)if(je(M.getState().objectTypeToAdd)&&t){Ie(!0);const Eo=It(Cn);if(Eo){const ni={name:"Add",timestamp:Date.now(),addedElement:Eo,undo:()=>{T(ni.addedElement.id,!1)},redo:()=>{A(Lo=>{Lo.elements.push(ni.addedElement),Lo.selectedElement=ni.addedElement})}};L(ni),A(Lo=>{Lo.objectTypeToAdd=z.None})}}else Ln.getState().selectNone(),Ln.setState({cuboidRef:ze});else if(yn&&yn.parentId===e&&ut(yn.type)){Ie(!0);const{rot:Eo,pos:ni}=xe.getWorldDataById(e);_e.current.copy(ni),xt.current=Eo,oe.current=yn;let Lo;for(const bo of Cn.intersections)if(bo.object===ye.current){Lo=bo.face;break}switch(Lo&&yt(Lo.normal),Ln.getState().setEnableOrbitController(!1),Te.current.x=yn.cx,Te.current.y=yn.cy,Te.current.z=yn.cz,Ne.current.fromArray(yn.normal),Le.current.x=yn.lx,Le.current.y=yn.ly,Le.current.z=yn.lz,yn.type){case z.SolarPanel:We.current=yn.relativeAzimuth,ht.getState().setPrimitiveStore("oldParentId",e),ht.getState().setPrimitiveStore("oldFoundationId",e);break;case z.Polygon:Fe.current=yn.vertices.map(bo=>({...bo}));break}}},Ft=Cn=>{var Ro,oi;if(!ye.current)return;const yn=ee.intersectObjects([ye.current]);if(yn.length===0)return;const to=yn[0].face;if(!to)return;const Eo=wd.getIntersectionObjects(Cn);if(Eo.length===0||Eo[0].eventObject.userData.id!==e){vi(!1),oe.current=null;return}const ni=M.getState().selectedElement;if(!!(ni&&!ni.locked&&ni.type===z.SolarPanel&&M.getState().moveHandleType)&&(oe.current=ni),to.normal.z===1&&((Ro=oe.current)==null?void 0:Ro.type)!==z.Polygon){const go=!!(((oi=oe.current)==null?void 0:oi.type)===z.SolarPanel&&(M.getState().moveHandleType||M.getState().rotateHandleType||M.getState().resizeHandleType)&&!oe.current.locked);vi(go),go&&(at.set(0,0,oe.current.poleHeight+a/2),yt(new re(0,0,1)),Ie(!0));return}else if(vi(!1),oe.current&&t&&!oe.current.locked){const go=new Gt(Cn.offsetX/ie.clientWidth*2-1,1-Cn.offsetY/ie.clientHeight*2);ee.setFromCamera(go,Z);let So=yn[0].point;if(M.getState().moveHandleType){const Uo=to.normal;if(yt(Uo),So=xe.relativeCoordinates(So.x,So.y,So.z,t),oe.current.type===z.Polygon){const _i=oe.current;if(M.getState().moveHandleType===yo.Default){const Qo=xe.calculatePolygonCentroid(Fe.current),ar=new re().fromArray(_i.normal);let ur,$o;xe.isSame(ar,Np)?(ur=-(Qo.x+So.z),$o=So.y-Qo.y):xe.isSame(ar,Up)?(ur=So.z-Qo.x,$o=So.y-Qo.y):xe.isSame(ar,Yc)?(ur=So.x-Qo.x,$o=-(Qo.y+So.z)):xe.isSame(ar,Bp)?(ur=So.x-Qo.x,$o=So.z-Qo.y):(ur=So.x-Qo.x,$o=So.y-Qo.y);const ba=Fe.current.map(Mo=>({...Mo}));ba.forEach(Mo=>{Mo.x+=ur,Mo.y+=$o}),U(_i.id,ba)}}else x(oe.current.id,So.x,So.y,So.z),H(oe.current.id,Uo.x,Uo.y,Uo.z),oe.current.parentId!==e&&M.getState().set(_i=>{const Qo=_i.elements.find(ar=>{var ur;return ar.id===((ur=oe.current)==null?void 0:ur.id)&&ar.type===z.SolarPanel});Qo&&(Qo.parentId!==e||Qo.foundationId!==e)&&(Qo.parentId=e,Qo.foundationId=e,Qo.parentType=z.Cuboid,_i.selectedElement&&(_i.selectedElement.parentId=e,Qo.color=_i.selectedElement.color))})}else if(M.getState().resizeHandleType)switch(oe.current.type){case z.SolarPanel:const Uo=oe.current;if(Uo.normal[2]===1)break;const[_i,Qo]=zqe(Uo),ar=M.getState().resizeAnchor,ur=M.getState().resizeHandleType;if(ur===gt.Lower||ur===gt.Upper){const ba=Math.max(1,Math.round(Math.abs(So.z-ar.z)/Qo))*Qo,Mo=new re(0,0,So.z-ar.z).normalize().multiplyScalar(ba),$i=new re().addVectors(ar,Mo.clone().divideScalar(2));A(Za=>{const ti=Za.elements.find(di=>di.id===Uo.id);ti&&(ti.cz=($i.z-_e.current.z)/a,ti.ly=Math.abs(Mo.z))})}else if(ur===gt.Left||ur===gt.Right){const $o=new re().subVectors(So,ar).setZ(0),Mo=Math.max(1,Math.round($o.length()/_i))*_i,$i=$o.clone().normalize().multiplyScalar(Mo),Za=new re().addVectors(ar,$i.clone().divideScalar(2)),ti=new re().subVectors(Za,_e.current).applyEuler(new Qt(0,0,-xt.current));A(di=>{const Fr=di.elements.find(Oa=>Oa.id===Uo.id);Fr&&(Math.abs(Math.abs(Fr.normal[1])-1)<.01?Fr.cx=ti.x/i:Fr.cy=ti.y/r,Fr.lx=$i.length())})}break;case z.Polygon:if(M.getState().resizeHandleType===gt.Default){let $o=new re(So.x-_e.current.x,So.y-_e.current.y,0).applyEuler(new Qt(0,0,-xt.current,"ZXY"));const ba=oe.current,Mo=new re().fromArray(ba.normal);let $i,Za;xe.isSame(Mo,Np)?($i=t.lz,Za=t.ly,$o.x=-So.z+_e.current.z):xe.isSame(Mo,Up)?($i=t.lz,Za=t.ly,$o.x=So.z-_e.current.z):xe.isSame(Mo,Yc)?($i=t.lx,Za=t.lz,$o.y=-So.z+_e.current.z):xe.isSame(Mo,Bp)?($i=t.lx,Za=t.lz,$o.y=So.z-_e.current.z):($i=t.lx,Za=t.ly),$o=M.getState().enableFineGrid?xe.snapToFineGrid($o):xe.snapToNormalGrid($o),$o.x/=$i,$o.y/=Za,F(ba.id,ba.selectedIndex,$o.x,$o.y)}break}Ie(!0)}},ln=Cn=>{if(rt.current&&oe.current&&t){if(oe.current.type!==z.SolarPanel)return;const yn=oe.current;if(yn.locked)return;ee.setFromCamera(q,Z);const to=ee.intersectObjects([rt.current]);if(to.length>0){let Eo=to[0].point.clone();if(M.getState().moveHandleType)Eo=xe.relativeCoordinates(Eo.x,Eo.y,Eo.z-yn.poleHeight,t),x(yn.id,Eo.x,Eo.y,Eo.z),H(oe.current.id,0,0,1),oe.current.parentId!==e&&M.getState().set(ni=>{const Lo=ni.elements.find(bo=>{var Ro;return bo.id===((Ro=oe.current)==null?void 0:Ro.id)&&bo.type===z.SolarPanel});Lo&&(Lo.parentId!==e||Lo.foundationId!==e)&&(Lo.parentId=e,Lo.foundationId=e,Lo.parentType=z.Cuboid,ni.selectedElement&&(ni.selectedElement.parentId=e,Lo.color=ni.selectedElement.color))});else if(M.getState().rotateHandleType&&M.getState().rotateHandleType!==wi.Tilt){const ni=xt.current,Lo=new Gt(_e.current.x,_e.current.y),bo=new Gt(t.lx*yn.cx,t.ly*yn.cy).rotateAround(wr,ni),Ro=new Gt().addVectors(bo,Lo),oi=-ni+Math.atan2(-Eo.x+Ro.x,Eo.y-Ro.y)+(M.getState().rotateHandleType===wi.Lower?0:Math.PI),go=Math.abs(oi)>Math.PI?-Math.sign(oi)*na:0,So=oi+go;k(yn.id,So),Ee.current=So}else if(M.getState().resizeHandleType){const ni=M.getState().resizeAnchor,Lo=W(yn.pvModelName),bo=new Gt(Eo.x,Eo.y),Ro=new Gt(ni.x,ni.y),oi=bo.distanceTo(Ro),go=yn.relativeAzimuth+xt.current,So=new Gt().subVectors(bo,Ro);switch(M.getState().resizeHandleType){case gt.Lower:case gt.Upper:{const Uo=M.getState().resizeHandleType===gt.Lower?1:-1,_i=So.angle()-go+Uo*Vt;let Qo=oi*Math.cos(_i);yn.orientation===ui.portrait?Qo=Math.max(1,Math.ceil((Qo-Lo.length/2)/Lo.length))*Lo.length:Qo=Math.max(1,Math.ceil((Qo-Lo.width/2)/Lo.width))*Lo.width;const ar=ni.x+Uo*(Qo*Math.sin(go))/2,ur=ni.y-Uo*(Qo*Math.cos(go))/2,$o=new Gt(ar,ur),ba=new Gt(_e.current.x,_e.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-xt.current),$i=Mo.x/i,Za=Mo.y/r;rn(yn,$i,Za,yn.lx,Qo)&&(S(yn.id,Qo),x(yn.id,$i,Za))}break;case gt.Left:case gt.Right:{let Uo=M.getState().resizeHandleType===gt.Left?-1:1;const _i=So.angle()-go+(M.getState().resizeHandleType===gt.Left?Math.PI:0);let Qo=oi*Math.cos(_i);yn.orientation===ui.portrait?Qo=Math.max(1,Math.ceil((Qo-Lo.width/2)/Lo.width))*Lo.width:Qo=Math.max(1,Math.ceil((Qo-Lo.length/2)/Lo.length))*Lo.length;const ar=ni.x+Uo*(Qo*Math.cos(go))/2,ur=ni.y+Uo*(Qo*Math.sin(go))/2,$o=new Gt(ar,ur),ba=new Gt(_e.current.x,_e.current.y),Mo=new Gt().subVectors($o,ba).rotateAround(wr,-xt.current),$i=Mo.x/i,Za=Mo.y/r;rn(yn,$i,Za,Qo,yn.ly)&&(y(yn.id,Qo),x(yn.id,$i,Za))}break}}}}},Xt=(Cn,yn,to)=>{const Eo=JSON.parse(JSON.stringify(Cn));return Eo.cx=yn,Eo.cy=to,B(Eo)?(Do(j.t("message.MoveCancelledBecauseOfOverlap",dt)),!1):xe.isIdentical(Cn.normal,o0)&&!xe.isSolarCollectorWithinHorizontalSurface(Eo,t)?(Do(j.t("message.MoveOutsideBoundaryCancelled",dt)),!1):!0},fn=(Cn,yn)=>{const to=JSON.parse(JSON.stringify(Cn));return to.relativeAzimuth=yn,B(to)?(Do(j.t("message.RotationCancelledBecauseOfOverlap",dt)),!1):xe.isSolarCollectorWithinHorizontalSurface(to,t)?!0:(Do(j.t("message.RotationOutsideBoundaryCancelled",dt)),!1)},rn=(Cn,yn,to,Eo,ni)=>{if(Cn.tiltAngle!==0&&.5*ni*Math.abs(Math.sin(Cn.tiltAngle))>Cn.poleHeight)return!1;const Lo=JSON.parse(JSON.stringify(Cn));return Lo.cx=yn,Lo.cy=to,Lo.lx=Eo,Lo.ly=ni,!!xe.isSolarCollectorWithinHorizontalSurface(Lo,t)},bn=()=>{if(!oe.current)return;const Cn=C(oe.current.id);if(Cn){if(Cn.type===z.Polygon){if(M.getState().moveHandleType||M.getState().resizeHandleType){Ge.current=Cn.vertices.map(to=>({...to}));const yn={name:M.getState().moveHandleType?"Move Polygon":"Resize Polygon",timestamp:Date.now(),oldValue:Fe.current,newValue:Ge.current,changedElementId:Cn.id,changedElementType:Cn.type,undo:()=>{U(yn.changedElementId,yn.oldValue)},redo:()=>{U(yn.changedElementId,yn.newValue)}};L(yn)}}else if(M.getState().resizeHandleType){if(De.current.x=Cn.cx,De.current.y=Cn.cy,De.current.z=Cn.cz,$e.current.x=Cn.lx,$e.current.y=Cn.ly,$e.current.z=Cn.lz,De.current.distanceToSquared(Te.current)>Dt&&$e.current.distanceToSquared(Le.current)>Dt){const yn={name:"Resize",timestamp:Date.now(),resizedElementId:oe.current.id,resizedElementType:oe.current.type,oldCx:Te.current.x,oldCy:Te.current.y,oldCz:Te.current.z,newCx:De.current.x,newCy:De.current.y,newCz:De.current.z,oldLx:Le.current.x,oldLy:Le.current.y,oldLz:Le.current.z,newLx:$e.current.x,newLy:$e.current.y,newLz:$e.current.z,undo:()=>{x(yn.resizedElementId,yn.oldCx,yn.oldCy,yn.oldCz),R(yn.resizedElementId,yn.oldLx,yn.oldLy,yn.oldLz)},redo:()=>{x(yn.resizedElementId,yn.newCx,yn.newCy,yn.newCz),R(yn.resizedElementId,yn.newLx,yn.newLy,yn.newLz)}};L(yn)}}else if(M.getState().rotateHandleType){if(oe.current.type===z.SolarPanel){const yn=oe.current;if(Math.abs(Ee.current-We.current)>Dt)if(fn(yn,Ee.current)){A(Eo=>{Eo.selectedElementAngle=Ee.current});const to={name:"Rotate",timestamp:Date.now(),oldValue:We.current,newValue:Ee.current,changedElementId:yn.id,changedElementType:yn.type,undo:()=>{k(to.changedElementId,to.oldValue)},redo:()=>{k(to.changedElementId,to.newValue)}};L(to)}else k(yn.id,We.current)}}else if(De.current.x=Cn.cx,De.current.y=Cn.cy,De.current.z=Cn.cz,Ye.current.fromArray(Cn.normal),De.current.distanceToSquared(Te.current)>Dt){let yn=!0;Cn.type===z.SolarPanel&&(yn=Xt(Cn,Cn.cx,Cn.cy)),yn?wd.addUndoableMove():A(to=>{const Eo=to.elements.find(Ro=>Ro.id===Cn.id);if(!Eo||!to.selectedElement)return;const ni=to.selectedElement;Eo.cx=ni.cx,Eo.cy=ni.cy,Eo.cz=ni.cz,Eo.rotation=[...ni.rotation],Eo.normal=[...ni.normal];const Lo=ht.getState().oldParentId,bo=ht.getState().oldFoundationId;Lo&&(Eo.parentId=Lo),bo&&(Eo.foundationId=bo)})}oe.current=null}},Tn=Cn=>{Cn.intersections.length>0&&Cn.intersections[0].object===ye.current&&Ce(!0)},Un=Cn=>{oe.current&&xe.isPlantOrHuman(oe.current)&&Cn.intersections[0].object===ye.current&&Ie(!0)},Ai=()=>{Ce(!1),Ie(!1)},vo=Cn=>{D(e,Cn,zo.ContextMenu),A(yn=>{yn.pastePoint.copy(Cn.intersections[0].point);const to=Cn.intersections[0].face;to&&(yn.pasteNormal=to.normal.clone(),xe.isSame(to.normal,Np)?yn.selectedSideIndex=0:xe.isSame(to.normal,Up)?yn.selectedSideIndex=1:xe.isSame(to.normal,Yc)?yn.selectedSideIndex=2:xe.isSame(to.normal,Bp)?yn.selectedSideIndex=3:xe.isSame(to.normal,Po)&&(yn.selectedSideIndex=4)),yn.clickObjectType=z.Cuboid,Cn.intersections.length>0&&Cn.intersections[0].object===ye.current&&(yn.contextMenuObjectType=z.Cuboid)})},Oo=J?b?.25:.75:1,si=[0,1,2,3,4,5],po=[_&&$?$:mt,_&&pe?pe:Wt,_&&te?te:kt,_&&se?se:st,_&&ae?ae:lt,null],eo=t&&t.faceColors?si.map(Cn=>f&&f[Cn]!==Co.NoTexture?_?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:!0,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:!0,opacity:Oo},Cn):_?h.jsx("meshBasicMaterial",{side:ia,attach:`material-${Cn}`,color:"white",map:po[Cn],transparent:!0,opacity:Oo},Cn):h.jsx("meshStandardMaterial",{side:ia,attach:`material-${Cn}`,color:t.faceColors?t.faceColors[Cn]:l,map:po[Cn],transparent:!0,opacity:Oo},Cn)):h.jsx("meshStandardMaterial",{side:ia,color:l,transparent:!0,opacity:Oo}),uo=m.useMemo(()=>[Qe,ct,ft],[Qe,ct,ft]),qo=g&&!u,[Hi,vi]=m.useState(!1);return h.jsxs("group",{ref:ze,name:"Cuboid Group "+e,children:[h.jsx(Ei,{castShadow:N,receiveShadow:N,userData:{simulation:!0,stand:!0,stackable:p,id:e,aabb:!0},uuid:e,ref:ye,args:[i,r,a],name:"Cuboid "+e,onContextMenu:vo,onPointerDown:zt,onPointerMove:Ft,onPointerUp:bn,onPointerOver:Tn,onPointerOut:Ai,onPointerEnter:Un,children:eo}),Hi&&h.jsx(sa,{ref:rt,name:"Intersection Plane",position:at,args:[i,r],visible:!1,onPointerMove:ln}),ve&&h.jsxs(h.Fragment,{children:[(M.getState().moveHandleType||M.getState().resizeHandleType)&&h.jsx(Age,{hx:Me.current.x,hy:Me.current.y,hz:Me.current.z,position:Ae,rotation:Pe.current}),M.getState().rotateHandleType&&oe.current&&oe.current.type===z.SolarPanel&&h.jsx(fye,{element:oe.current,height:oe.current.poleHeight+ft})]}),g&&h.jsx(hye,{element:t,verticalLift:At}),(!g||J)&&h.jsx(s7,{hx:Qe,hy:ct,hz:ft,lineColor:J&&b?"white":s,lineWidth:J&&b?c*5:c}),g&&u&&h.jsx(s7,{hx:Qe,hy:ct,hz:ft,lineColor:l0,lineWidth:c*5}),qo&&h.jsx(UQt,{id:e,args:uo}),(Se||d)&&!g&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",text:ot,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,fontFace:"Roboto",textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,ft+((t==null?void 0:t.labelHeight)??.2)]})]})},jQt=be.memo(BQt),Rre="Handle Group Move & Resize",YQt=t=>{const{id:e,parentId:n,cx:o,cy:i,cz:r,lx:a,ly:l,lz:s,normal:c,locked:u,trackerType:d,tiltAngle:f,relativeAzimuth:p,poleHeight:g,poleRadius:A,poleSpacing:w,color:b="white"}=t,C=Hs(e),P=Eqe(c),v=l/2,T=P?g:0,y=Math.max(1,(a+l)/16),S=y*2/3,x=y*2/3,R=-g/2-s/2,H=M(dn),D=M(lge),k=M(En),W=M(Ya),N=M(Xs),{gl:{domElement:L},camera:E,raycaster:U,mouse:F}=Xi(),[B,_]=m.useState(null),[Y,O]=m.useState(!1),J=m.useRef(!1),Z=m.useRef(0),ie=m.useRef(0),ee=m.useRef(null),q=m.useRef(null),ae=m.useMemo(()=>new Array(13).fill(0),[]),ne=m.useMemo(()=>new Date(W),[W]),se=m.useMemo(()=>{const Ce=[],ve=Math.floor(.5*a/w),Ie=Math.floor(.5*l*Math.abs(Math.cos(f))/w),ze=.5*Math.sin(f),ye=Math.cos(p)*w,oe=Math.sin(p)*w;for(let ge=-ve;ge<=ve;ge++)for(let Ae=-Ie;Ae<=Ie;Ae++){const me=ge*ye-Ae*oe,Pe=ge*oe+Ae*ye;Ce.push(new re(me,Pe,R+ze*w*Ae))}return Ce},[p,f,w,a,l,R]),le=m.useMemo(()=>vye(c),[c]),te=m.useMemo(()=>{if(P){if(d===Ma.NO_TRACKER)return new Qt(f,0,p,"ZXY");const Ce=zr(ne,N),ve=kqe(n,le.z)-le.z;switch(d){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:const Ie=Math.hypot(Ce.x,Ce.y);return new Qt(Math.atan2(Ie,Ce.z),0,Math.atan2(Ce.y,Ce.x)+Vt-ve,"ZXY");case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:return new Qt(0,Math.atan2(Ce.x,Ce.z),-ve+(a.1,fe=T>0&&P;m.useEffect(()=>{const Ce=()=>{Ln.getState().setEnableOrbitController(!0),J.current=!1,O(!1),(M.getState().rotateHandleType||M.getState().moveHandleType||M.getState().resizeHandleType)&&H(ve=>{ve.rotateHandleType=null,ve.moveHandleType=null,ve.resizeHandleType=null})};return window.addEventListener("pointerup",Ce),()=>{window.removeEventListener("pointerup",Ce)}},[]);const $=(Ce,ve)=>{Ce.intersections.length>0&&Ce.intersections[0].object===Ce.eventObject&&(_(ve),ve===yo.Top?L.style.cursor="move":ve===wi.Lower||ve===wi.Upper||ve===wi.Tilt?L.style.cursor="grab":L.style.cursor="pointer")},de=()=>{_(null),L.style.cursor="default"},Se=Ce=>B===Ce||M.getState().rotateHandleType===Ce?nr:pr;return h.jsxs("group",{name:"Solar Panel Group",position:[o,i,T+r],rotation:le,children:[h.jsx(OQt,{solarPanelModel:t,groupRotation:le,panelRotation:te}),he&&h.jsxs("group",{position:[0,0,-T],rotation:[0,0,te.z],children:[h.jsx(l7,{id:e,position:[0,-v-S/2,T],color:Se(wi.Upper),ratio:S,handleType:wi.Upper,hoverHandle:$,noHoverHandle:de}),h.jsx(l7,{id:e,position:[0,v+S/2,T],color:Se(wi.Lower),ratio:S,handleType:wi.Lower,hoverHandle:$,noHoverHandle:de})]}),pe&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{name:wi.Tilt,args:[x,1.1*x,18,2,-Vt,Math.PI],rotation:[0,-Vt,te.z,"ZXY"],onPointerOver:Ce=>{$(Ce,wi.Tilt)},onPointerOut:Ce=>{de()},onPointerDown:Ce=>{if(O(!0),B){Ln.getState().setEnableOrbitController(!1),J.current=!0,Z.current=f;const{rot:ve}=xe.getWorldDataById(n);ee.current=ve}H(ve=>{ve.rotateHandleType=wi.Tilt})},children:h.jsx("meshBasicMaterial",{attach:"material",side:ji,color:B===wi.Tilt||Y?nr:pr})}),Y&&h.jsxs(h.Fragment,{children:[h.jsx(Y6,{ref:q,name:"Solar panel tilt handle",args:[x,2*x,18,2,-Vt,Math.PI],rotation:[0,-Vt,te.z,"ZXY"],onPointerUp:Ce=>{if(Math.abs(ie.current-Z.current)>Dt){const ve={name:"Set Solar Panel Tilt Angle",timestamp:Date.now(),oldValue:Z.current,newValue:ie.current,changedElementId:e,changedElementType:z.SolarPanel,undo:()=>{D(ve.changedElementId,ve.oldValue)},redo:()=>{D(ve.changedElementId,ve.newValue)}};k(ve)}},onPointerMove:Ce=>{if(J.current&&(U.setFromCamera(F,E),q.current)){const ve=U.intersectObjects([q.current]);if(ve.length>0){const Ie=ve[0].point,ze=q.current.parent;if(ze){const ye=ze.localToWorld(new re),oe=new re().subVectors(Ie,ye);let ge=oe.angleTo(Po);if(!(.5*l*Math.abs(Math.sin(ge))>T)){const me=p+(ee.current??0),Pe=me%Math.PI===0?Math.sign(-oe.y)*Math.sign(Math.cos(me)):Math.sign(oe.x)*Math.sign(Math.sin(me));ge*=Pe,D(e,ge),ie.current=ge}}}}},children:h.jsx("meshBasicMaterial",{attach:"material",depthTest:!1,transparent:!0,opacity:.5,side:ji})}),h.jsx(Fn,{points:[[0,0,x],[0,0,1.75*x]],rotation:new Qt(f,0,te.z,"ZXY"),lineWidth:1}),ae.map((Ce,ve)=>h.jsxs("group",{rotation:new Qt(Math.PI/12*ve-Vt,0,te.z,"ZXY"),children:[h.jsx(Fn,{points:[[0,0,1.8*x],[0,0,2*x]],color:"white",transparent:!0,opacity:.5}),h.jsx("textSprite",{userData:{unintersectable:!0},text:`${ve*15-90}°`,fontSize:20*x,fontFace:"Times Roman",textHeight:.15*x,position:[0,0,1.6*x]})]},ve)),h.jsx("group",{rotation:new Qt(f,0,te.z,"ZXY"),children:h.jsx("textSprite",{userData:{unintersectable:!0},text:`${Math.floor(f/Math.PI*180)}°`,fontSize:20*x,fontFace:"Times Roman",textHeight:.2*x,position:[0,0,.75*x]})})]})]}),fe&&se.map((Ce,ve)=>h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+ve,castShadow:!1,receiveShadow:!1,args:[A,A,g+(Ce.z-R)*2+s,4,1],position:Ce,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:b})},ve))]})},OQt=({solarPanelModel:t,groupRotation:e,panelRotation:n})=>{let{id:o,parentId:i,lx:r,ly:a,lz:l,cx:s,cy:c,cz:u,normal:d,tiltAngle:f,relativeAzimuth:p,trackerType:g,drawSunBeam:A,locked:w,showLabel:b,label:C,pvModelName:P,orientation:v,frameColor:T,backsheetColor:y,color:S,poleHeight:x}=t;const R=Hs(o),H=M(dn),D=M(Vc),k=M(Ya),W=M(Xs),N=M(yh),L=M(Sc),E=ht(cs),U=M(C7),F=M(gq),B=M(hu)??!1,_=m.useMemo(()=>({lng:L}),[L]),Y=Eqe(d),O=Y?f:0,J=Y?p:0,Z=Math.max(1,(r+a)/16),ie=I9*Z*1.5,ee=Af*Z*2,[q,ae,ne]=[r,a,l].map(Ye=>Ye/2),se=[ie,ie,l*1.2],le=U[P];le&&(l=Math.max(le.thickness,.02));const te=m.useMemo(()=>new Date(k),[k]),he=m.useMemo(()=>(C||j.t("shared.SolarPanelElement",_))+(w?" ("+j.t("shared.ElementLocked",_)+")":"")+(C?"":` +`+j.t("word.Coordinates",_)+": ("+s.toFixed(1)+", "+c.toFixed(1)+", "+u.toFixed(1)+") "+j.t("word.MeterAbbreviation",_)),[C,w,_,s,c,u]),pe=m.useMemo(()=>{const Ye=[];if(le){let Le,$e;v===ui.portrait?(Le=Math.max(1,Math.round(r/le.width)),$e=Math.max(1,Math.round(a/le.length))):(Le=Math.max(1,Math.round(r/le.length)),$e=Math.max(1,Math.round(a/le.width)));const We=r/Le,Ee=a/$e;for(let Fe=0;Fe<=Le;Fe++)Ye.push({points:[new re(-q+Fe*We,-ae,l),new re(-q+Fe*We,ae,l)]});for(let Fe=0;Fe<=$e;Fe++)Ye.push({points:[new re(-q,-ae+Fe*Ee,l),new re(q,-ae+Fe*Ee,l)]})}return Ye},[le,v,P,r,a,l]),[fe,$]=m.useState(ge()),[de,Se]=m.useState(!1),[Ce,ve]=m.useState(null),Ie=m.useRef(null),{gl:ze}=Xi(),ye=rQ(r,a,le,v,T,y),oe=iQ(o);rA(()=>{const Ye=ge();Ye.equals(fe)||$(Ye)});function ge(){const Ye=new Qt,Le=kqe(i,e.z);return g===Ma.NO_TRACKER?Ye.set(-e.x-O,0,-Le-J):Ye.set(-e.x-n.x,-n.y,-Le-n.z),zr(te,W).applyEuler(Ye)}function Ae(Ye){return Ce===Ye||N===Ye?nr:pr}function me(Ye){if(Ye.intersections.length>0&&Ye.eventObject.name.includes(Rre)){const $e=Ye.object.name;ve($e),$e===yo.Top?ze.domElement.style.cursor="move":$e===wi.Lower||$e===wi.Upper||$e===wi.Tilt?ze.domElement.style.cursor="grab":ze.domElement.style.cursor="pointer"}}function Pe(){ve(null),ze.domElement.style.cursor="default"}function Me(Ye,Le){Ln.getState().setEnableOrbitController(!1),H($e=>{$e.resizeHandleType=Ye,$e.resizeAnchor.copy(Le)})}function Te(Ye){if(Ye.intersections.length>0&&Ye.intersections[0].eventObject.name===Rre){const Le=Ye.object.name;switch(Le){case yo.Default:{Ln.getState().setEnableOrbitController(!1),H($e=>{$e.moveHandleType=Le,$e.selectedElement=$e.elements.find(We=>{var Ee;return We.id===((Ee=$e.selectedElement)==null?void 0:Ee.id)})});break}case gt.Left:{const $e=Ye.object.localToWorld(new re(r,0,0));Me(Le,$e);break}case gt.Right:{const $e=Ye.object.localToWorld(new re(-r,0,0));Me(Le,$e);break}case gt.Lower:{const $e=Ye.object.localToWorld(new re(0,a,0));Me(Le,$e);break}case gt.Upper:{const $e=Ye.object.localToWorld(new re(0,-a,0));Me(Le,$e);break}}}}function De(){return E&&oe?h.jsx("meshBasicMaterial",{attach:"material-4",map:oe}):ye?B||F===0?h.jsx("meshStandardMaterial",{attach:"material-4",map:ye,color:S}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo((le==null?void 0:le.color)==="Blue"?Kw:qw),shininess:F??Jm,side:ia,map:ye,color:S}):h.jsx("meshStandardMaterial",{attach:"material-4",color:S})}function Ne(){return(le==null?void 0:le.bifacialityFactor)===0||B||x===0&&f===0?h.jsx("meshStandardMaterial",{attach:"material-5",color:S}):ye?h.jsx("meshPhongMaterial",{attach:"material-5",specular:new Xo((le==null?void 0:le.color)==="Blue"?Kw:qw),shininess:F??Jm,side:ia,map:ye,color:S}):null}return h.jsxs(h.Fragment,{children:[h.jsxs("group",{name:"Solar Panel Box Group",rotation:n,children:[h.jsxs(Ei,{uuid:o,ref:Ie,args:[r,a,l],position:[0,0,ne],onPointerDown:Ye=>{Ye.button!==2&&D(o,Ye,zo.Select)},onContextMenu:Ye=>{D(o,Ye,zo.ContextMenu),H(Le=>{Ye.intersections.length>0&&Ye.intersections[0].object===Ie.current&&(Le.contextMenuObjectType=z.SolarPanel)})},onPointerOver:Ye=>{Ye.intersections.length>0&&Ye.intersections[0].object===Ie.current&&(Se(!0),ze.domElement.style.cursor="move")},onPointerOut:Ye=>{Se(!1),ze.domElement.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-1",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-2",color:"white"}),h.jsx("meshStandardMaterial",{attach:"material-3",color:"white"}),De(),Ne()]}),R&&!w&&h.jsxs("group",{name:Rre,onPointerDown:Te,onPointerOver:me,onPointerOut:Pe,children:[h.jsx(ts,{args:[ee,6,6],name:yo.Default,children:h.jsx("meshBasicMaterial",{color:"orange"})}),h.jsx(Ei,{position:[0,-ae,ne],args:se,name:gt.Lower,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Lower)})}),h.jsx(Ei,{position:[0,ae,ne],args:se,name:gt.Upper,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Upper)})}),h.jsx(Ei,{position:[-q,0,ne],args:se,name:gt.Left,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Left)})}),h.jsx(Ei,{position:[q,0,ne],args:se,name:gt.Right,children:h.jsx("meshBasicMaterial",{color:Ae(gt.Right)})})]}),A&&fe.z>0&&h.jsx(_Qt,{sunDirection:fe}),E&&oe&&pe.map((Ye,Le)=>h.jsx(Fn,{name:"Solar Panel Lines",userData:{unintersectable:!0},points:Ye.points,castShadow:!1,receiveShadow:!1,lineWidth:.2,color:"black"},Le)),h.jsx(sa,{name:"Solar Panel Simulation Plane",uuid:o,args:[r,a],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),R&&w&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-q,-ae,0],[-q,ae,0],[q,ae,0],[q,-ae,0],[-q,-ae,0]],castShadow:!1,receiveShadow:!1,lineWidth:2,color:l0})]}),(de||b)&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:t.labelColor??"white",fontSize:t.labelFontSize??20,textHeight:t.labelSize??.2,position:[0,0,t.labelHeight??Math.max(ae*Math.abs(Math.sin(f))+.1,.2)]})]})},_Qt=be.memo(({sunDirection:t})=>{const e=M(mh),n=m.useMemo(()=>Math.max(100,10*e),[e]);return h.jsxs("group",{name:"Sun Beam Group",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[Po.clone().multiplyScalar(.75),[0,0,0],t.clone().multiplyScalar(n)],name:"Sun Beam",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[t.clone().multiplyScalar(.5),Po.clone().multiplyScalar(.5)],name:"Angle",lineWidth:.5,color:"white"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Angle Value",text:xe.toDegrees(t.angleTo(Po)).toFixed(1)+"°",fontSize:20,fontFace:"Times Roman",textHeight:.1,position:t.clone().multiplyScalar(.75).add(Po.clone().multiplyScalar(.75)).multiplyScalar(.5)}),h.jsx("group",{position:Po.clone().multiplyScalar(.75),rotation:[Vt,0,0],children:h.jsx(cu,{userData:{unintersectable:!0},args:[.04,.2,4,2],name:"Normal Vector Arrow Head",children:h.jsx("meshBasicMaterial",{attach:"material",color:"white"})})})]})});function vye(t){const[e,n,o]=t;return o===1?new Qt(0,0,0):e!==0?new Qt(Vt,0,e*Vt,"ZXY"):n!==0?new Qt(-n*Vt,0,0):new Qt}function Eqe(t){return Math.abs(t[2]-1)<.01}function kqe(t,e){const{rot:n}=xe.getWorldDataById(t);return n+e}const VQt=be.memo(YQt),Fqe=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="white",lineColor:d="black",lineWidth:f=.1,locked:p=!1,label:g,showLabel:A=!1,parentId:w,foundationId:b,light:C=!0,heatFlux:P=!1}=t,v=M(dn),T=M(ss),y=M(Vc),S=Hs(e),{gl:{domElement:x}}=Xi(),[R,H]=m.useState(!1),D=m.useRef(null),k=m.useRef(null),W=Kt(),N=M(O=>{for(const J of O.elements)if(J.id===w)return J}),L=M(O=>{for(const J of O.elements)if(J.id===b)return J});let E=n,U=o,F=i;if(w&&N)switch(N.type){case z.Foundation:{if(F=N.cz+N.lz/2,xe.isZero(s[2]))E=N.cx+n*N.lx,U=N.cy+o*N.ly;else{const O=new re(n*N.lx,o*N.ly,0);O.applyAxisAngle(Po,s[2]),E=N.cx+O.x,U=N.cy+O.y}break}case z.Wall:{if((L==null?void 0:L.type)===z.Foundation){const O=xe.absoluteCoordinates(n,o,i,N,L);E=O.x,U=O.y,F=O.z}break}case z.Roof:{if((L==null?void 0:L.type)===z.Foundation){const O=xe.absoluteCoordinates(n,o,i,N,L);E=O.x,U=O.y,F=O.z}break}}const B=l/2,_=m.useMemo(()=>{if((N==null?void 0:N.type)===z.Wall){const J=N,Z=L?L.rotation[2]+J.relativeAngle:J.relativeAngle;return new Qt(Vt,0,Z,"ZXY")}if((N==null?void 0:N.type)===z.Roof)return new Qt(s[0],s[1],L?L.rotation[2]+s[2]:s[2],"ZXY");if((N==null?void 0:N.type)===z.Cuboid)return vye(c);const O=new re().fromArray(c);return xe.isSame(O,Np)?new Qt(0,Vt,s[2],"ZXY"):xe.isSame(O,Up)?new Qt(0,-Vt,s[2],"ZXY"):xe.isSame(O,Yc)?new Qt(-Vt,0,s[2],"ZXY"):xe.isSame(O,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,L==null?void 0:L.rotation]),Y=m.useMemo(()=>(g||j.t("shared.SensorElement",W))+(p?" ("+j.t("shared.ElementLocked",W)+")":"")+` +`+j.t("word.Coordinates",W)+": ("+E.toFixed(1)+", "+U.toFixed(1)+", "+F.toFixed(1)+") "+j.t("word.MeterAbbreviation",W),[g,p,W,E,U,F]);return h.jsxs("group",{name:"Sensor Group "+e,rotation:_,position:[E,U,F+B],children:[h.jsx(Ei,{receiveShadow:T,uuid:e,ref:D,args:[r,a,l],name:"Sensor",onPointerDown:O=>{O.button!==2&&(y(e,O,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(J=>{J.showWallIntersectionPlaneId=w,J.oldParentId=w,J.oldFoundationId=b}),v(J=>{J.moveHandleType=yo.Default}))},onContextMenu:O=>{y(e,O,zo.ContextMenu),v(J=>{O.intersections.length>0&&O.intersections[0].object===D.current&&(J.contextMenuObjectType=z.Sensor)})},onPointerOver:O=>{O.intersections.length>0&&O.intersections[0].object===D.current&&(H(!0),x.style.cursor="move")},onPointerOut:()=>{H(!1),x.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:t!=null&&t.lit?nr:u})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Meter",castShadow:!1,receiveShadow:!1,args:[r*.3,a*.3,B,8,1],position:new re(0,0,B),rotation:[Vt,0,0],children:h.jsx("meshBasicMaterial",{attach:"material",color:"black"})}),!S&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:d,lineWidth:f}),S&&p&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:f*10}),S&&!p&&h.jsx(ts,{ref:k,position:new re(0,0,0),args:[Af,6,6,0,Math.PI],name:yo.Default,onPointerDown:O=>{O.button===2?(y(e,O,zo.ContextMenu),v(J=>{O.intersections.length>0&&O.intersections[0].object===k.current&&(J.contextMenuObjectType=z.Sensor)})):y(e,O,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(J=>{J.showWallIntersectionPlaneId=w,J.oldParentId=w,J.oldFoundationId=b}),v(J=>{J.moveHandleType=yo.Default})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(R||A)&&!S&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Y,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Lqe=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r=1,ly:a=1,lz:l=.1,rotation:s=[0,0,0],normal:c=[0,0,1],color:u="#ffff99",lineWidth:d=.1,locked:f=!1,label:p,showLabel:g=!1,parentId:A,foundationId:w,decay:b=2,distance:C=5,intensity:P=3,inside:v=!1}=t,T=M(dn),y=M(ss),S=M(Vc),R=M(M7).z<=0,H=Hs(e),{gl:{domElement:D}}=Xi(),[k,W]=m.useState(!1),N=m.useRef(null),L=m.useRef(null),E=Kt(),U=M(ee=>{for(const q of ee.elements)if(q.id===A)return q}),F=M(ee=>{for(const q of ee.elements)if(q.id===w)return q});let B=.1,_=n,Y=o,O=i;if(A&&U)switch(U.type){case z.Foundation:if(O=U.cz+U.lz/2,xe.isZero(s[2]))_=U.cx+n*U.lx,Y=U.cy+o*U.ly;else{const ee=new re(n*U.lx,o*U.ly,0);ee.applyAxisAngle(Po,s[2]),_=U.cx+ee.x,Y=U.cy+ee.y}break;case z.Wall:if((F==null?void 0:F.type)===z.Foundation){const ee=xe.absoluteCoordinates(n,o,i,U,F);_=ee.x,Y=ee.y,O=ee.z}B=U.ly;break;case z.Roof:if((F==null?void 0:F.type)===z.Foundation){const ee=xe.absoluteCoordinates(n,o,i,U,F);_=ee.x,Y=ee.y,O=ee.z}B=U.thickness;break}const J=l/2,Z=m.useMemo(()=>{if((U==null?void 0:U.type)===z.Wall){const q=U,ae=F?F.rotation[2]+q.relativeAngle:q.relativeAngle;return new Qt(Vt,0,ae,"ZXY")}if((U==null?void 0:U.type)===z.Roof)return new Qt(s[0],s[1],F?F.rotation[2]+s[2]:s[2],"ZXY");if((U==null?void 0:U.type)===z.Cuboid)return vye(c);const ee=new re().fromArray(c);return xe.isSame(ee,Np)?new Qt(0,Vt,s[2],"ZXY"):xe.isSame(ee,Up)?new Qt(0,-Vt,s[2],"ZXY"):xe.isSame(ee,Yc)?new Qt(-Vt,0,s[2],"ZXY"):xe.isSame(ee,Bp)?new Qt(Vt,0,s[2],"ZXY"):new Qt(0,0,s[2])},[c,s,F,U]),ie=m.useMemo(()=>(p||j.t("shared.LightElement",E))+(f?" ("+j.t("shared.ElementLocked",E)+")":"")+` +`+j.t("word.Coordinates",E)+": ("+_.toFixed(1)+", "+Y.toFixed(1)+", "+O.toFixed(1)+") "+j.t("word.MeterAbbreviation",E),[p,f,E,_,Y,O]);return h.jsxs("group",{name:"Light Group "+e,rotation:Z,position:[_,Y,O],children:[R&&h.jsx("pointLight",{color:u,name:"Point Light "+e,position:[0,0,v?-B-J:J],decay:b*.2,distance:C,intensity:P,castShadow:!0}),h.jsx(wa,{receiveShadow:y,userData:{unintersectable:!0},uuid:e,ref:N,position:[0,0,v?-B:0],rotation:[Vt,0,0],args:[r*.5,a*.5,J,16,1],name:"Light Base",onPointerDown:ee=>{ee.button!==2&&(S(e,ee,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(q=>{q.showWallIntersectionPlaneId=A,q.oldParentId=A,q.oldFoundationId=w}))},onContextMenu:ee=>{S(e,ee,zo.ContextMenu),T(q=>{ee.intersections.length>0&&ee.intersections[0].object===N.current&&(q.contextMenuObjectType=z.Light)})},onPointerOver:ee=>{ee.intersections.length>0&&ee.intersections[0].object===N.current&&(W(!0),D.style.cursor="move")},onPointerOut:()=>{W(!1),D.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:"lightgray"})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Light Bulb",castShadow:!1,receiveShadow:y,args:[r*.3,8,8,0,na,0,Math.PI],position:new re(0,0,v?-B-J:J),rotation:[Vt,0,0],children:R?h.jsx("meshBasicMaterial",{attach:"material",color:"white"}):h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),H&&f&&h.jsx(s7,{hx:r/2,hy:a/2,hz:l/2,lineColor:l0,lineWidth:d*10}),H&&!f&&h.jsx(ts,{ref:L,position:new re(0,0,v?-B-J:J),args:[Af,6,6,v?Math.PI:0,Math.PI],name:yo.Default,onPointerDown:ee=>{ee.button===2?(S(e,ee,zo.ContextMenu),T(q=>{ee.intersections.length>0&&ee.intersections[0].object===L.current&&(q.contextMenuObjectType=z.Light)})):S(e,ee,zo.Move),Ln.getState().setEnableOrbitController(!1),ht.getState().set(q=>{q.showWallIntersectionPlaneId=A,q.oldParentId=A,q.oldFoundationId=w})},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),(k||g)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:ie,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(v?-B:0)+l+((t==null?void 0:t.labelHeight)??.2)]})]})}),Wqe="Cuboid Wrapper",Nqe="Cuboid Stackable Child",Uqe=({elements:t,cuboidModel:e})=>{const{cx:n,cy:o,lz:i,rotation:r}=e,a=i/2,l=s=>Dqe(s)&&s.parentId===e.id;return h.jsx(h.Fragment,{children:h.jsxs("group",{name:Wqe,position:[n,o,a],rotation:[0,0,r[2]],children:[h.jsx(jQt,{...e}),t.map(s=>{if(l(s))return h.jsx("group",{name:Nqe,position:[0,0,a],children:h.jsx(Uqe,{elements:t,cuboidModel:s})},s.id);if(s.parentId===e.id){const{lx:c,ly:u,lz:d}=e;switch(s.type){case z.SolarPanel:return h.jsx(VQt,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Sensor:return h.jsx(Fqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);case z.Light:return h.jsx(Lqe,{...s,cx:s.cx*c,cy:s.cy*u,cz:s.cz*d},s.id);default:return null}}else return null})]})})},ii=class ii{static getShadowMapSize(){const e=localStorage.getItem("aladdin-shadow-map-size");return e?Number(e):D3t}static calculateProfit(e){return(e.yearlyYield*e.sellingPrice-e.panelCount*e.unitCost*365)*.001}static calculateCost(e){return e.panelCount*e.unitCost*.365}static getLatLngKey(e,n){return e.toFixed(sw)+", "+n.toFixed(sw)}static getModelKey(e){return e.title+", "+e.userid}static resizeCanvas(e,n,o){const i=document.createElement("canvas");i.width=n,i.height=o||n*e.height/e.width;const r=i.getContext("2d");return r&&r.drawImage(e,0,0,e.width,e.height,0,0,i.width,i.height),i}static getEuler(e,n,o,i,r,a){const l=new Ts;l.setFromUnitVectors(e,n);const s=new Qt;return s.setFromQuaternion(l),o&&(s.order=o),i&&(s.x+=i),r&&(s.y+=r),a&&(s.z+=a),s}static zero2DArray(e){for(let n=0;n0){for(const r of i)if(!r.leftJoints||r.leftJoints.length===0||!r.rightJoints||r.rightJoints.length===0)return Uc.WALL_DISJOINED}return Uc.COMPLETE}static calculateBuildingArea(e){const n=ii.getWallPointsOfRoof(e);return ii.getPolygonArea(n)}static toUValueInUS(e){return e/5.67826}static toUValueInSI(e){return e*5.67826}static toRValueInUS(e){return e*5.67826}static toRValueInSI(e){return e/5.67826}static fetchWaterTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");if(i){const r=i.createRadialGradient(e/2,n/2,0,e/2,n/2,Math.max(e,n)/2);r.addColorStop(0,"#45AAEA"),r.addColorStop(.04,"#2B65EC"),r.addColorStop(.2,"#0000FF"),i.fillStyle=r,i.fillRect(0,0,e,n)}return new BP(o)}static fetchWhiteTexture(e,n){const o=document.createElement("canvas");o.width=e,o.height=n;const i=o.getContext("2d");return i&&(i.fillStyle="white",i.fillRect(0,0,e,n)),new BP(o)}static fetchIntersectables(e){const n=[];return e.traverse(o=>{o.userData.unintersectable||n.push(o)}),n}static fetchSimulationElements(e,n){if(e.userData.simulation&&n.push(e),e.children.length>0)for(const o of e.children)ii.fetchSimulationElements(o,n)}static getSimulationElements(e,n,o){if(e.userData.simulation&&e.uuid!==o&&n.push(e),e.children.length>0)for(const i of e.children)ii.getSimulationElements(i,n,o)}static hasMovingParts(e){for(const n of e)switch(n.type){case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:return!0;case z.SolarPanel:if(n.trackerType!==Ma.NO_TRACKER)return!0}return!1}static onBuildingEnvelope(e){return e.type===z.Foundation||e.type===z.Window||e.type===z.Door||e.type===z.Wall||e.type===z.Roof}static getWindowArea(e,n){if(n){if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz*n.lx*n.lz;return o+=e.lx*n.lx*e.polygonTop[1]/2,o}return e.lx*e.lz*n.lx*n.lz}else{if(e.windowType===Sr.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}else if(e.windowType===Sr.Polygonal&&e.polygonTop){let o=e.lx*e.lz;return o+=e.lx*e.polygonTop[1]/2,o}return e.lx*e.lz}}static getDoorArea(e,n){if(n){if(e.doorType===Sd.Arched&&e.archHeight>0){const o=.5*e.lx*n.lx,i=e.lz*n.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz*n.lx*n.lz}else{if(e.doorType===Sd.Arched&&e.archHeight>0){const o=.5*e.lx,i=e.lz,r=Math.min(e.archHeight,i,o),a=.5*(r+o*o/r),l=Math.acos(Math.min(o/a,1));return .5*(Math.PI-l*2)*a*a-o*(a-r)+(i-r)*o*2}return e.lx*e.lz}}static hasHeliostatOrFresnelReflectors(e){for(const n of e)if(n.type===z.FresnelReflector||n.type===z.Heliostat)return!0;return!1}static lineIntersection(e,n,o,i){const r=n.x-e.x,a=n.y-e.y,l=r*(i.y-o.y)-(i.x-o.x)*a;if(l===0)return;const s=((i.y-o.y)*(i.x-e.x)+(o.x-i.x)*(i.y-e.y))/l,c=((e.y-n.y)*(i.x-e.x)+r*(i.y-e.y))/l;if(!(!(0<=s&&s<=1)||!(0<=c&&c<=1)))return{x:e.x+s*r,y:e.y+s*a}}static calculateSolarRadiationColor(e,n){const o=n/(gz.length-1);let i=Math.max(0,Math.floor(e/o));i>gz.length-2&&(i=gz.length-2);const r=Math.min(1,(e-o*i)/o);return new Xo(gz[i]).lerp(gz[i+1],r)}static transpose(e){return e[0].map((n,o)=>e.map(i=>i[o]))}static clone2DArray(e){return e.map(n=>[...n])}static fetchHeatmapTexture(e,n,o){if(!e)return null;const i=document.createElement("canvas"),r=e.length,a=e[0].length;i.width=r,i.height=a;const l=i.getContext("2d");if(l){l.clearRect(0,0,r,a);const s=l.getImageData(0,0,r,a),c=s.data;for(let u=0;un!=u>n&&e<(c-l)*(n-s)/(u-s)+l&&(i=!i)}return i}static getPoints(e){const n=[];for(const o of e)n.push({x:o.x,y:o.y});return n}static polygonIntersections(e,n,o){const i=new Array;let r,a,l;for(let s=0;s0&&(n>l.x&&(n=l.x),i>l.y&&(i=l.y),o=o||Math.abs(a)>=i)return!1;const l=e.rightPoint[0],s=e.rightPoint[1];return!(Math.abs(l)>=o||Math.abs(s)>=i)}static isSensorWithin(e,n){return Math.abs(e.cx)<.5-e.lx/n.lx&&Math.abs(e.cy)<.5-e.ly/n.ly}static isSolarCollectorWithinHorizontalSurface(e,n){const o=e.cx*n.lx,i=e.cy*n.ly,r=Math.cos(e.relativeAzimuth),a=Math.sin(e.relativeAzimuth),l=n.lx*.5,s=n.ly*.5,c=e.lx*.5,u=e.ly*.5*Math.cos(e.tiltAngle);let d=o+c*r-u*a,f=i+c*a+u*r;return!(Math.abs(d)>l||Math.abs(f)>s||(d=o+c*r+u*a,f=i+c*a-u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r-u*a,f=i-c*a+u*r,Math.abs(d)>l||Math.abs(f)>s)||(d=o-c*r+u*a,f=i-c*a-u*r,Math.abs(d)>l||Math.abs(f)>s))}static isWindTurbineWithinHorizontalSurface(e,n){return Math.abs(e.cx)<=.5&&Math.abs(e.cy)<=.5}static isUnitVectorX(e){return ii.isSame(e,Np)||ii.isSame(e,Up)}static isUnitVectorY(e){return ii.isSame(e,Yc)||ii.isSame(e,Bp)}static isSame(e,n){return Math.abs(e.x-n.x)Dt)return!1;return!0}static isZero(e){return Math.abs(e)-1&&e.splice(o,1)}static fixElements(e){const n=[];for(const o of e)o.type||n.push(o);if(n.length>0)for(const o of n)ii.deleteElement(e,o)}static fixViewStateLight(e){e.ambientLightIntensity&&(e.ambientLightIntensity*=2),e.directLightIntensity&&(e.directLightIntensity*=3.5)}static isResizingVertical(e){switch(e){case gt.LowerLeftTop:case gt.UpperLeftTop:case gt.LowerRightTop:case gt.UpperRightTop:return!0;default:return!1}}static isTopResizeHandle(e){return e===gt.LowerLeftTop||e===gt.LowerRightTop||e===gt.UpperLeftTop||e===gt.UpperRightTop||e===gt.Top}static isXResizeHandle(e){return e===gt.Left||e===gt.Right}static isYResizeHandle(e){return e===gt.Upper||e===gt.Lower}static isTopResizeHandleOfWall(e){return e===gt.UpperLeft||e===gt.UpperRight}static isRiseHandleOfRoof(e){return e===ki.Top||e===ki.Mid||e===ki.TopMid}static isMoveHandle(e){return e===yo.Default||e===yo.Top||e===yo.Upper||e===yo.Lower||e===yo.Left||e===yo.Right}static snapToNormalGrid(e){const n=Math.round(e.x/g6)*g6,o=Math.round(e.y/g6)*g6;return new re(n,o,e.z)}static snapToFineGrid(e){const n=Math.round(e.x/l9)*l9,o=Math.round(e.y/l9)*l9;return new re(n,o,e.z)}static isPositionRelative(e){return e===z.SolarPanel||e===z.ParabolicTrough||e===z.ParabolicDish||e===z.FresnelReflector||e===z.Heliostat||e===z.WindTurbine||e===z.WaterHeater||e===z.Sensor||e===z.Light||e===z.Polygon||e===z.Window||e===z.Door||e===z.Roof||e===z.Wall}static isPlantOrHuman(e){return e.type===z.Tree||e.type===z.Flower||e.type===z.Human}static isFoundationOrCuboid(e){return e.type===z.Foundation||e.type===z.Cuboid}static isSolarCollector(e){return ii.isSolarCollectorType(e.type)}static isSolarCollectorType(e){return e===z.SolarPanel||e===z.WaterHeater||ii.isCspCollectorType(e)}static isCspCollector(e){return ii.isCspCollectorType(e.type)}static isCspCollectorType(e){return e===z.ParabolicDish||e===z.ParabolicTrough||e===z.FresnelReflector||e===z.Heliostat}static isParabolicCollector(e){return ii.isParabolaType(e.type)}static isParabolaType(e){return e===z.ParabolicDish||e===z.ParabolicTrough}static isParabolicTroughOrFresnelReflector(e){return e===z.FresnelReflector||e===z.ParabolicTrough}static isHeliostatOrFresnelReflector(e){return e===z.FresnelReflector||e===z.Heliostat}static isLegalOnWall(e){switch(e){case z.Window:case z.Door:case z.Sensor:case z.Light:case z.SolarPanel:case z.Polygon:return!0}return!1}static isDescendantOf(e,n){const o=e.parentId;if(!o||o===Zo)return!1;const i=M.getState().getElementById(o);return i?i.id===n?!0:ii.isDescendantOf(i,n):!1}static isElementInsideWall(e,n,o,i,r){const a=n/2,l=o/2;for(let c=-1;c<=1;c+=2)for(let u=-1;u<=1;u+=2){if(r&&u===-1)continue;const d=e.x+a*c,f=e.z+l*u;if(!ii.isPointInside(d,f,i))return!1}const s=[{x:e.x-a,y:e.z-l},{x:e.x-a,y:e.z+l},{x:e.x+a,y:e.z+l},{x:e.x+a,y:e.z-l}];for(const c of i)if(ii.isPointInside(c.x,c.y,s))return!1;return!0}static checkElementOnWallState(e,n){let i=e.lx/2+1e-5,r=e.lz/2+1e-5;n&&e.type===z.SolarPanel&&(i=i/n.lx+1e-5,r=e.ly/2/n.lz+1e-5);const a=e.cx-i,l=e.cx+i,s=e.cz-r,c=e.cz+r;if(n&&n.type===z.Wall&&!ii.isElementInsideWall(new re(e.cx*n.lx,e.cy,e.cz*n.lz),n.lx*i*2,n.lz*r*2,ii.getWallInnerSideShapePoints(n),e.type===z.Door))return fc.OutsideBoundary;for(const u of M.getState().elements)if(ii.isLegalOnWall(u.type)&&u.type!==z.Polygon&&u.parentId===e.parentId&&u.id!==e.id){let d=u.lx/2,f=u.lz/2;n&&u.type===z.SolarPanel&&(d=d/n.lx,f=u.ly/2/n.lz);const p=u.cx-d,g=u.cx+d,A=u.cz-f,w=u.cz+f;if((a>=p&&a<=g||l>=p&&l<=g||p>=a&&p<=l||g>=a&&g<=l)&&(s>=A&&s<=w||c>=A&&c<=w||A>=s&&A<=c||w>=s&&w<=c))return fc.OverLap}return fc.Valid}static checkElementOnRoofState(e,n){if(e.foundationId){const o=M.getState().getElementById(e.foundationId);if(o){const i=In.getSolarPanelVerticesOnRoof(e,o),r=In.getRoofBoundaryVertices(n);return In.rooftopElementBoundaryCheck(i,r)?In.rooftopSPCollisionCheck(e,o,i)?fc.Valid:fc.OverLap:fc.OutsideBoundary}}return fc.Invalid}static relativeCoordinates(e,n,o,i){const r=new re(e,n,o);if(i.type===z.Wall){const a=new re(i.cx,i.cy),l=M.getState().getParent(i);if(l){const s=new re(l.cx,l.cy);a.applyEuler(new Qt(0,0,l.rotation[2])).add(s).setZ(l.lz+i.lz/2),r.sub(a).applyEuler(new Qt(0,0,-i.relativeAngle-l.rotation[2]))}}else{const{pos:a,rot:l}=ii.getWorldDataById(i.id);r.set(e-a.x,n-a.y,o-a.z),r.applyEuler(new Qt(0,0,-l))}return r.x/=i.lx,r.y/=i.ly,r.z/=i.lz,r}static absoluteCoordinates(e,n,o,i,r,a){if(i.type===z.Wall&&r){const s=i,c=r?r.rotation[2]+s.relativeAngle:s.relativeAngle;if(c!==void 0){const u=ii.wallAbsolutePosition(new re(s.cx,s.cy,s.cz),r).setZ(s.lz/2+r.lz),d=new re(e*s.lx,n*s.ly,o*s.lz);if(d.applyAxisAngle(Po,c),a){const f=a*Math.cos(c-Vt),p=a*Math.sin(c-Vt);return new re(u.x+d.x+f,u.y+d.y+p,u.z+d.z)}return new re(u.x+d.x,u.y+d.y,u.z+d.z)}}if(i.type===z.Roof&&r){const s=new re(e*r.lx,n*r.ly,o+r.lz);return s.applyEuler(new Qt().fromArray(r.rotation)),s.x+=r.cx,s.y+=r.cy,s}const l=new re(e*i.lx,n*i.ly,o*i.lz);return l.applyEuler(new Qt().fromArray(i.rotation)),l.x+=i.cx,l.y+=i.cy,l.z+=i.cz,l}static absoluteHumanOrTreeCoordinates(e,n,o,i){const r=new re(e,n,o);return r.applyEuler(new Qt().fromArray(i.rotation)),r.x+=i.cx,r.y+=i.cy,r.z+=i.cz,r}static relativePoint(e,n){const o=new re(e.x-n.cx,e.y-n.cy,e.z-n.cz);return o.applyEuler(new Qt().fromArray(n.rotation.map(i=>-i))),o}static wallAbsolutePosition(e,n){const o=new re(n.cx,n.cy);return new re().addVectors(o,new re(e.x,e.y).applyAxisAngle(Po,n.rotation[2]))}static wallRelativePosition(e,n){const o=new re(n.cx,n.cy);return new re().subVectors(new re(e.x,e.y),o).applyAxisAngle(Po,-n.rotation[2])}static getObjectChildById(e,n){if(e){for(const o of e.children)if(o.name===Wqe){const i=ii.getStackCuboidObjectById(o,n);if(i)return i}else if(o.name.includes(n))return o}return null}static getStackCuboidObjectById(e,n){if(e)for(const o of e.children){if(o.name.includes(n))return o;if(o.name===Nqe){const i=ii.getStackCuboidObjectById(o.children[0],n);if(i)return i}}return null}static toRadians(e){return e*(Math.PI/180)}static toDegrees(e){return e*(180/Math.PI)}static getArrayMax(e){return e.reduce((n,o)=>Math.max(n,o))}static getArrayMin(e){return e.reduce((n,o)=>Math.min(n,o))}static getArrayMax2D(e){return ii.getArrayMax(e.map(ii.getArrayMax))}static getArrayMin2D(e){return ii.getArrayMin(e.map(ii.getArrayMin))}static sphericalToCartesianZ(e){const n=e.x*Math.cos(e.z),o=n*Math.cos(e.y),i=n*Math.sin(e.y),r=e.x*Math.sin(e.z);return e.set(o,i,r),e}static getDistance(e,n,o,i){return e=ii.toRadians(e),n=ii.toRadians(n),o=ii.toRadians(o),i=ii.toRadians(i),Math.acos(Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos(Math.abs(e-o)))}static minutesIntoDay(e){return e.getHours()*60+e.getMinutes()}static dayOfYear(e){return(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())-Date.UTC(e.getFullYear(),0,0))/864e5}static daysInYear(e){const n=e.getFullYear();return n%4===0&&n%100>0||n%400===0?366:365}static daysOfMonth(e,n){return new Date(n,e+1,0).getDate()}static fahrenheitToCelsius(e){return(e-32)*5/9}static celsiusToFahrenheit(e){return e*(9/5)+32}static getOS(){var e;return(e=KNe.os)==null?void 0:e.family}static isMac(){const e=ii.getOS();return e?e.includes("Mac")||e.includes("OS X"):!1}static isChrome(){const e=ii.getOS();return e?e.includes("Chrome"):!1}static detectWebGLContext(){try{const e=document.createElement("canvas");return!!window.WebGLRenderingContext&&(!!e.getContext("webgl")||!!e.getContext("experimental-webgl"))}catch{return!1}}static clamp(e,n,o){return n>o?(n+o)/2:Math.min(Math.max(e,n),o)}static distanceFromPointToLine2D(e,n,o){const[i,r]=[e.x,e.y],[a,l]=[n.x,n.y],[s,c]=[o.x,o.y],u=i-a,d=r-l,f=s-a,p=c-l,g=u*f+d*p,A=f*f+p*p;let w=-1;A!==0&&(w=g/A);let b,C;w<0?(b=a,C=l):w>1?(b=s,C=c):(b=a+w*f,C=l+w*p);const P=i-b,v=r-C;return Math.sqrt(P*P+v*v)}static mapVector3ToPoint2(e){return{x:e.x,y:e.y}}static getWallVertices(e,n){const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:-i-n},a={x:o+n,y:-i-n},l={x:-o-n,y:(e.leftRoofHeight??e.lz)-i+n},s={x:o+n,y:(e.rightRoofHeight??e.lz)-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static isPartialWallFull(e){return ii.isZero((e.leftRoofHeight??e.lz)-e.leftTopPartialHeight)&&ii.isZero((e.rightRoofHeight??e.lz)-e.rightTopPartialHeight)&&ii.isZero(e.leftUnfilledHeight)&&ii.isZero(e.rightUnfilledHeight)}static getPartialWallVertices(e,n){if(ii.isPartialWallFull(e))return ii.getWallVertices(e,n);const o=e.lx/2,i=e.lz/2,r={x:-o-n,y:e.leftUnfilledHeight-i-n},a={x:o+n,y:e.rightUnfilledHeight-i-n},l={x:-o-n,y:e.leftTopPartialHeight-i+n},s={x:o+n,y:e.rightTopPartialHeight-i+n},c=[];return c.push(l,r,a,s),e.centerRightRoofHeight&&c.push({x:e.centerRightRoofHeight[0]*e.lx,y:e.centerRightRoofHeight[1]-i+n}),e.centerRoofHeight&&c.push({x:e.centerRoofHeight[0]*e.lx,y:e.centerRoofHeight[1]-i+n}),e.centerLeftRoofHeight&&c.push({x:e.centerLeftRoofHeight[0]*e.lx,y:e.centerLeftRoofHeight[1]-i+n}),c}static getHighestPointOfWall(e){let n=e.lz;return e.leftRoofHeight&&(n=Math.max(n,e.leftRoofHeight)),e.rightRoofHeight&&(n=Math.max(n,e.rightRoofHeight)),e.centerRightRoofHeight&&(n=Math.max(n,e.centerRightRoofHeight[1])),e.centerRoofHeight&&(n=Math.max(n,e.centerRoofHeight[1])),e.centerLeftRoofHeight&&(n=Math.max(n,e.centerLeftRoofHeight[1])),n}static getWallPointsOfRoof(e,n){let o=n??M.getState().getElementById(e.wallsId[0]);if(!o)return[];const i=o,r=[];for(;o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.leftJoints[0]);)if(o.leftJoints[0]!==i.id)o=M.getState().getElementById(o.leftJoints[0]);else return r.reverse(),r;for(r.reverse(),o=M.getState().getElementById(i==null?void 0:i.rightJoints[0]);o&&(!o.roofId||o.roofId===e.id)&&(r.push({x:o.leftPoint[0],y:o.leftPoint[1],eave:o.eavesLength??0}),o.rightJoints[0]&&o.rightJoints[0]!==i.id);)o=M.getState().getElementById(o.rightJoints[0]);return r}static getWallInnerSideShapePoints(e){const{lx:n,ly:o,lz:i,relativeAngle:r,fill:a,leftUnfilledHeight:l,rightUnfilledHeight:s,leftRoofHeight:c,centerLeftRoofHeight:u,centerRoofHeight:d,centerRightRoofHeight:f,rightRoofHeight:p,leftJoints:g,rightJoints:A}=e,w=g.length>0?M.getState().getElementById(g[0]):null,b=A.length>0?M.getState().getElementById(A[0]):null,C=w&&w.type===z.Wall?ii.getInnerWallOffset(w,n,o,r,"left"):0,P=b&&b.type===z.Wall?ii.getInnerWallOffset(b,n,o,r,"right"):0,v=[],T=n/2,y=i/2;return a===Hl.Partial?(v.push({x:-T+C,y:-y+l}),v.push({x:T-P,y:-y+s})):(v.push({x:-T+C,y:-y}),v.push({x:T-P,y:-y})),p?v.push({x:T-P,y:p-y}):v.push({x:T-P,y}),f&&v.push({x:f[0]*n,y:f[1]-y}),d&&v.push({x:d[0]*n,y:d[1]-y}),u&&v.push({x:u[0]*n,y:u[1]-y}),c?v.push({x:-T+C,y:c-y}):v.push({x:-T+C,y}),v}static getInnerWallOffset(e,n,o,i,r){let a=0;if(e&&e.fill!==Hl.Empty){const l=r==="left"?-1:1,s=(Math.PI*3+l*(i-e.relativeAngle))%na;s<=Vt+.01&&s>0&&(a=Math.min(o/Math.tan(s)+e.ly,n))}return a}static isElementAllowedMultipleMoveOnGround(e){return e.type===z.Foundation||e.type===z.Cuboid&&e.parentId===Zo}static areBasesOverlapped(e,n,o){const i=o.get(e),r=o.get(n);if(!i||!r)return!1;for(const a of i)if(ii.isPointInside(a.x,a.y,r))return!0;for(const a of r)if(ii.isPointInside(a.x,a.y,i))return!0;i.push(i[0]),r.push(r[0]);for(let a=0;aNumber(c)),[a,l,s]=n.split(".").map(c=>Number(c));return oa?!1:il?!1:r{const n=M.getState().getElementById,o=[],i=e;for(;e&&(o.push(e),e.leftJoints[0]);)if(e.leftJoints[0]!==i.id){const a=n(e.leftJoints[0]);a&&a.type===z.Wall&&(e=a)}else return o;const r=n(i.rightJoints[0]);for(r&&r.type===z.Wall&&(e=r);e&&(o.push(e),e.rightJoints[0]&&e.rightJoints[0]!==i.id);){const a=n(e.rightJoints[0]);a&&(e=a)}return o},ii.getWorldDataById=e=>{const n=M.getState().getElementById(e);if(!n)return{pos:new re,rot:0,topZ:0};const o=new re(n.cx,n.cy,n.cz),i=n.rotation[2],r=n.lz;if(n.parentId===Zo)return{pos:o,rot:i,topZ:r};const{pos:a,rot:l,topZ:s}=ii.getWorldDataById(n.parentId),c=new Qt(0,0,l);return{pos:new re().addVectors(o.applyEuler(c),a.clone().setZ(s)),rot:i+l,topZ:r+s}},ii.isChild=(e,n,o=!1)=>{const i=M.getState().getElementById(n);return!i||o&&i.locked?!1:i.parentId===e?!0:ii.isChild(e,i.parentId,o)},ii.getBaseId=e=>{const n=M.getState().getElementById(e);return n?n.parentId===Zo?n.id:ii.getBaseId(n.parentId):null},ii.isElementTriggerAutoDeletion=e=>{if(e.type===z.Roof){const i=e;if(i.roofType===Vo.Gable||i.roofType===Vo.Gambrel)return!0}if(e.type!==z.Wall)return!1;const n=e;if(!n.roofId)return!1;const o=M.getState().getElementById(n.roofId);if(!o)return!1;switch(o.roofType){case Vo.Hip:case Vo.Gable:case Vo.Gambrel:return!0;case Vo.Pyramid:case Vo.Mansard:return o.wallsId.length===0?!1:o.wallsId[0]===n.id;default:return!1}};let xe=ii;var uSe;class dSe{constructor(){this[uSe]=!0,this.latitude=42.2844063,this.longitude=-71.3488548,this.address=$V,this.countryCode="US",this.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),this.name="default",this.ground={albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:new Array(12).fill(0)},this.leafDayOfYear1=cq,this.leafDayOfYear2=uq,this.airAttenuationCoefficient=.01,this.airConvectiveCoefficient=5,this.timesPerHour=1,this.daysPerYear=12,this.monthlyIrradianceLosses=new Array(12).fill(.05),this.pvGridCellSize=.5,this.discretization=Hm.APPROXIMATE,this.diurnalTemperatureModel=d2.Sinusoidal,this.highestTemperatureTimeInMinutes=900,this.solarPanelVisibilityGridCellSize=.2,this.solarRadiationHeatmapGridCellSize=.5,this.cspTimesPerHour=1,this.cspDaysPerYear=4,this.cspGridCellSize=.5,this.sutTimesPerHour=1,this.sutDaysPerYear=4,this.sutGridCellSize=1,this.noAnimationForHeatmapSimulation=!1,this.noAnimationForThermalSimulation=!1,this.noAnimationForSensorDataCollection=!1,this.noAnimationForSolarPanelSimulation=!1,this.noAnimationForSolarUpdraftTowerSimulation=!1}static resetWorldModel(e){e.latitude=42.2844063,e.longitude=-71.3488548,e.address=$V,e.countryCode="US",e.date=new Date(new Date().getFullYear(),5,22,12).toLocaleString("en-US"),e.name="default",e.ground.albedo=.3,e.ground.thermalDiffusivity=.05,e.ground.snowReflectionFactors.fill(0),e.airAttenuationCoefficient=.01,e.airConvectiveCoefficient=5,e.timesPerHour=1,e.daysPerYear=12,e.monthlyIrradianceLosses=new Array(12).fill(.05),e.pvGridCellSize=.5,e.discretization=Hm.APPROXIMATE,e.diurnalTemperatureModel=d2.Sinusoidal,e.highestTemperatureTimeInMinutes=900,e.solarPanelVisibilityGridCellSize=.2,e.solarRadiationHeatmapGridCellSize=.5,e.cspTimesPerHour=1,e.cspDaysPerYear=4,e.cspGridCellSize=.5,e.sutTimesPerHour=1,e.sutDaysPerYear=4,e.sutGridCellSize=1,e.noAnimationForHeatmapSimulation=!1,e.noAnimationForThermalSimulation=!1,e.noAnimationForSensorDataCollection=!1,e.noAnimationForSolarPanelSimulation=!1,e.noAnimationForSolarUpdraftTowerSimulation=!1}getElements(){const e=[],n={type:z.Foundation,cx:0,cy:0,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:Zo,textureType:Or.NoTexture,id:ta.generate()};e.push(n);const o={type:z.Sensor,cx:-.1,cy:0,cz:.105,lx:.1,ly:.1,lz:.01,parentId:n.id,foundationId:n.id,normal:[0,0,1],rotation:[0,0,0],id:ta.generate(),showLabel:!0,light:!0,heatFlux:!1};e.push(o);const i={type:z.Human,name:Yt.Judd,cx:1,cy:-1,cz:0,lx:Ip.fetchWidth(Yt.Jiya),lz:Ip.fetchHeight(Yt.Jiya),normal:[1,0,0],rotation:[0,0,0],parentId:Zo,id:ta.generate()};return e.push(i),e}}uSe=_m;class Nl{static clone(e,n,o,i,r,a,l,s){let c=null;switch(n.type){case z.Polygon:e&&(c=Nl.clonePolygon(e,n,o,i,r,a,l));break;case z.Sensor:e&&(c=Nl.cloneSensor(e,n,o,i,r));break;case z.Light:e&&(c=Nl.cloneLight(e,n,o,i,r));break;case z.SolarPanel:e&&(c=Nl.cloneSolarPanel(e,n,o,i,r));break;case z.ParabolicTrough:e&&(c=Nl.cloneParabolicTrough(e,n,o,i,r));break;case z.ParabolicDish:e&&(c=Nl.cloneParabolicDish(e,n,o,i,r));break;case z.FresnelReflector:e&&(c=Nl.cloneFresnelReflector(e,n,o,i,r));break;case z.Heliostat:e&&(c=Nl.cloneHeliostat(e,n,o,i,r));break;case z.WindTurbine:e&&(c=Nl.cloneWindTurbine(e,n,o,i,r));break;case z.Wall:e&&(c=Nl.cloneWall(e,n,o,i,r));break;case z.Window:e&&(c=Nl.cloneWindow(e,n,o,i,r,s));break;case z.Door:e&&(c=Nl.cloneDoor(e,n,o,i,r));break;case z.Roof:e&&(c=Nl.cloneRoof(e,n,o,i,r));break;case z.Human:c=Nl.cloneHuman(n,o,i,r,e);break;case z.Tree:c=Nl.cloneTree(n,o,i,r,e);break;case z.Flower:c=Nl.cloneFlower(n,o,i,r,e);break;case z.Foundation:c=Nl.cloneFoundation(n,o,i);break;case z.Cuboid:const u=e?e.id:Zo;c=Nl.cloneCuboid(u,n,o,i);break}return c}static cloneHuman(e,n,o,i,r){return{type:z.Human,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneTree(e,n,o,i,r){return{type:z.Tree,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static cloneFlower(e,n,o,i,r){return{type:z.Flower,name:e.name,flip:e.flip,cx:n,cy:o,cz:i,lx:e.lx,ly:e.ly,lz:e.lz,normal:[...e.normal],rotation:[...e.rotation],parentId:(r==null?void 0:r.id)??e.parentId,id:ta.generate()}}static clonePolygon(e,n,o,i,r,a,l){let s;switch(e.type){case z.Foundation:case z.Cuboid:s=e.id;break;case z.Wall:case z.Roof:s=e.parentId;break}const c=n.vertices.map(d=>({...d})),u={type:z.Polygon,cx:o,cy:i,cz:r,lx:n.lx,ly:n.ly,lz:n.lz,filled:n.filled,noOutline:n.noOutline,color:n.color,lineColor:n.lineColor,lineWidth:n.lineWidth,opacity:n.opacity,textureType:n.textureType,text:n.text,fontSize:n.fontSize,fontColor:n.fontColor,normal:[...n.normal],rotation:n.parentId?[...e.rotation]:[0,0,0],vertices:c,parentId:e.id,parentType:e.type,foundationId:s,id:ta.generate()};if(!a){let d=o,f=i;if(e.type===z.Cuboid&&l){xe.isSame(l,Up)?d=r??0:xe.isSame(l,Np)?d=-(r??0):xe.isSame(l,Bp)?f=r??0:xe.isSame(l,Yc)&&(f=-(r??0));const p=l.dot(new re().fromArray(n.normal));if(Math.abs(p)0&&this.commands.length>this.limit&&this.commands.splice(0,this.commands.length-this.limit),this.index=this.commands.length-1)}undo(){const e=this.commands[this.index];if(e)return this.isExecuting=!0,e.undo(),this.isExecuting=!1,this.index--,e.name}redo(){const e=this.commands[this.index+1];if(e)return this.isExecuting=!0,e.redo(),this.isExecuting=!1,this.index++,e.name}clear(){this.commands=[],this.index=-1}hasUndo(){return this.index!==-1}hasRedo(){return this.index0||this.cuboidCount>0||this.wallCount>0||this.windowCount>0||this.doorCount>0||this.humanCount>0||this.treeCount>0||this.flowerCount>0||this.polygonCount>0||this.sensorCount>0||this.insideLightCount>0||this.outsideLightCount>0||this.solarPanelCount>0||this.parabolicTroughCount>0||this.parabolicDishCount>0||this.fresnelReflectorCount>0||this.heliostatCount>0||this.solarUpdraftTowerCount>0||this.windTurbineCount>0}}var ySe;class XQt{constructor(e){this[ySe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.selectionMethod=zm.ROULETTE_WHEEL,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.populationSize=20,this.maximumGenerations=5,this.selectionRate=.5,this.crossoverRate=.5,this.mutationRate=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}ySe=_m;var ASe;class JQt{constructor(e){this[ASe]=!0,this.problem=e,this.objectiveFunctionType=xo.DAILY_TOTAL_OUTPUT,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.swarmSize=20,this.maximumSteps=5,this.vmax=.01,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.convergenceThreshold=.01,this.localSearchRadius=.1}}ASe=_m;var wSe;class vSe{constructor(){this[wSe]=!0,this.geneticAlgorithmParams=new XQt(Tr.SOLAR_PANEL_TILT_ANGLE),this.particleSwarmOptimizationParams=new JQt(Tr.SOLAR_PANEL_TILT_ANGLE)}}wSe=_m;var xSe;class XG{constructor(){this[xSe]=!0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.poleHeight=1,this.poleSpacing=5,this.orientation=ui.landscape,this.pvModelName="CS6X-355P-FG",this.rowAxis=Rl.leftRight}}xSe=_m;var bSe;class SSe{constructor(){this[bSe]=!0,this.projectLifeSpan=25,this.electricitySellingPrice=.25,this.operationalCostPerUnit=.15}}bSe=_m;var TSe;class PSe{constructor(){this[TSe]=!0,this.humanName=Yt.Jack,this.flowerType=$n.YellowFlower,this.treeType=fi.Dogwood,this.treeSpread=3,this.treeHeight=4,this.foundationHeight=.1,this.foundationColor="#808080",this.foundationTexture=Or.NoTexture,this.groundFloorRValue=Q4,this.cuboidHeight=4,this.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"],this.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture],this.cuboidStackable=!1,this.wallHeight=5,this.wallThickness=.3,this.wallColor="#ffffff",this.wallTexture=No.Default,this.wallStructure=hc.Default,this.wallStructureSpacing=2,this.wallStructureWidth=.1,this.wallStructureColor="#ffffff",this.wallOpacity=.5,this.wallRValue=i6,this.wallVolumetricHeatCapacity=.5,this.wallEavesLength=.3,this.wallParapet=wye,this.roofColor="#454769",this.roofSideColor="#ffffff",this.roofTexture=Ui.Default,this.roofThickness=.2,this.roofStructure=yc.Default,this.roofGlassOpacity=.5,this.roofGlassTint="#73D8FF",this.roofRafterWidth=.1,this.roofRafterSpacing=1,this.roofRafterColor="#ffffff",this.roofRValue=Z4,this.roofVolumetricHeatCapacity=.5,this.roofRise=2,this.roofCeiling=!1,this.ceilingRValue=c6,this.doorColor="#ffffff",this.doorFrameColor="#ffffff",this.doorTexture=ri.Default,this.doorType=Sd.Default,this.doorArchHeight=1,this.doorFilled=!0,this.doorInterior=!1,this.doorUValue=j4,this.doorOpacity=1,this.doorVolumetricHeatCapacity=.5,this.windowWidth=1,this.windowHeight=1,this.windowColor="#ffffff",this.windowTint="#73D8FF",this.windowOpacity=.5,this.windowUValue=B4,this.windowHorizontalMullion=!0,this.windowVerticalMullion=!0,this.windowMullionWidth=.06,this.windowHorizontalMullionSpacing=.5,this.windowVerticalMullionSpacing=.5,this.windowMullionColor="#ffffff",this.windowFrame=!1,this.windowFrameWidth=.1,this.windowSillWidth=.1,this.windowType=Sr.Default,this.windowArchHeight=1,this.windowShutterLeft=!1,this.windowShutterRight=!1,this.windowShutterColor="gray",this.windowShutterWidth=.5,this.windowEmpty=!1,this.windowInterior=!1,this.windTurbineBirdSafeDesign=lc.None,this.windTurbineBladeColor=X5,this.windTurbineStripeColor=J5,this.windTurbineNumberOfBlades=3,this.windTurbinePitchAngle=Math.PI/18,this.windTurbineRelativeYawAngle=0,this.windTurbineInitialRotorAngle=0,this.windTurbineTowerHeight=20,this.windTurbineTowerRadius=.5,this.windTurbineBladeRadius=10,this.windTurbineBladeMaximumChordLength=1,this.windTurbineBladeMaximumChordRadius=3,this.windTurbineBladeRootRadius=.3,this.windTurbineHubRadius=.75,this.windTurbineHubLength=1.5,this.solarPanelModelName="SPR-X21-335-BLK",this.solarPanelOrientation=ui.landscape,this.solarPanelPoleHeight=1,this.solarPanelPoleSpacing=3,this.solarPanelTiltAngle=0,this.solarPanelRelativeAzimuth=0,this.solarPanelFrameColor="#ffffff",this.solarPanelCx=0,this.solarPanelCy=0,this.parabolicDishReflectance=.9,this.parabolicDishAbsorptance=.95,this.parabolicDishOpticalEfficiency=.7,this.parabolicDishThermalEfficiency=.3,this.parabolicDishRimDiameter=4,this.parabolicDishLatusRectum=8,this.parabolicDishPoleHeight=.2,this.parabolicDishPoleRadius=.1,this.parabolicDishReceiverStructure=tf.CentralPole,this.parabolicTroughReflectance=.9,this.parabolicTroughAbsorptance=.95,this.parabolicTroughOpticalEfficiency=.7,this.parabolicTroughThermalEfficiency=.3,this.parabolicTroughLatusRectum=2,this.parabolicTroughPoleHeight=.2,this.parabolicTroughWidth=2,this.parabolicTroughModuleLength=3,this.fresnelReflectorReceiver="None",this.fresnelReflectorReflectance=.9,this.fresnelReflectorPoleHeight=.2,this.fresnelReflectorWidth=2,this.fresnelReflectorModuleLength=3,this.heliostatTower="None",this.heliostatReflectance=.9,this.heliostatPoleHeight=.2,this.heliostatPoleRadius=.1,this.heliostatWidth=4,this.heliostatLength=2,this.lightColor="#ffff99",this.lightIntensity=3,this.lightDistance=5}}TSe=_m;var CSe;class RSe{constructor(){this[CSe]=!0,this.dailyPvIndividualOutputs=!1,this.yearlyPvIndividualOutputs=!1,this.dailyParabolicDishIndividualOutputs=!1,this.yearlyParabolicDishIndividualOutputs=!1,this.dailyParabolicTroughIndividualOutputs=!1,this.yearlyParabolicTroughIndividualOutputs=!1,this.dailyFresnelReflectorIndividualOutputs=!1,this.yearlyFresnelReflectorIndividualOutputs=!1,this.dailyHeliostatIndividualOutputs=!1,this.yearlyHeliostatIndividualOutputs=!1,this.dailyUpdraftTowerIndividualOutputs=!1,this.yearlyUpdraftTowerIndividualOutputs=!1}}CSe=_m;class dd{static getDefaultHiddenParameters(e){return e===Tr.SOLAR_PANEL_ARRAY?["latitude","orientation","poleHeight"]:[]}static getVariables(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("rowWidth"),n.includes("tiltAngle")||o.push("tiltAngle"),n.includes("interRowSpacing")||o.push("interRowSpacing"),n.includes("latitude")||o.push("latitude"),n.includes("orientation")||o.push("orientation"),n.includes("poleHeight")||o.push("poleHeight"),n.includes("unitCost")||o.push("unitCost"),n.includes("sellingPrice")||o.push("sellingPrice"),n.includes("totalYearlyCost")||o.push("totalYearlyCost"),n.includes("totalYearlyYield")||o.push("totalYearlyYield"),n.includes("meanYearlyYield")||o.push("meanYearlyYield"),n.includes("yearlyProfit")||o.push("yearlyProfit"),o}return[]}static getTitles(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(j.t("polygonMenu.SolarPanelArrayRowWidth",n)),o.includes("tiltAngle")||i.push(j.t("polygonMenu.SolarPanelArrayTiltAngle",n)),o.includes("interRowSpacing")||i.push(j.t("polygonMenu.SolarPanelArrayRowSpacing",n)),o.includes("latitude")||i.push(j.t("word.Latitude",n)),o.includes("orientation")||i.push(j.t("polygonMenu.SolarPanelArrayOrientation",n)),o.includes("poleHeight")||i.push(j.t("polygonMenu.SolarPanelArrayPoleHeight",n)),o.includes("unitCost")||i.push(j.t("economicsPanel.UnitCost",n)),o.includes("sellingPrice")||i.push(j.t("economicsPanel.SellingPrice",n)),o.includes("totalYearlyCost")||i.push(j.t("polygonMenu.SolarPanelArrayTotalYearlyCost",n)),o.includes("totalYearlyYield")||i.push(j.t("polygonMenu.SolarPanelArrayTotalYearlyYield",n)),o.includes("meanYearlyYield")||i.push(j.t("polygonMenu.SolarPanelArrayMeanYearlyYield",n)),o.includes("yearlyProfit")||i.push(j.t("polygonMenu.SolarPanelArrayYearlyProfit",n)),i}return[]}static getTypes(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push("number"),n.includes("tiltAngle")||o.push("number"),n.includes("interRowSpacing")||o.push("number"),n.includes("latitude")||o.push("number"),n.includes("orientation")||o.push("boolean"),n.includes("poleHeight")||o.push("number"),n.includes("unitCost")||o.push("number"),n.includes("sellingPrice")||o.push("number"),n.includes("totalYearlyCost")||o.push("number"),n.includes("totalYearlyYield")||o.push("number"),n.includes("meanYearlyYield")||o.push("number"),n.includes("yearlyProfit")||o.push("number"),o}return[]}static getDigits(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(0),n.includes("tiltAngle")||o.push(1),n.includes("interRowSpacing")||o.push(1),n.includes("latitude")||o.push(1),n.includes("orientation")||o.push(0),n.includes("poleHeight")||o.push(1),n.includes("unitCost")||o.push(2),n.includes("sellingPrice")||o.push(2),n.includes("totalYearlyCost")||o.push(1),n.includes("totalYearlyYield")||o.push(1),n.includes("meanYearlyYield")||o.push(1),n.includes("yearlyProfit")||o.push(3),o}return[]}static getTickIntegers(e,n){if(e===Tr.SOLAR_PANEL_ARRAY){const o=[];return n.includes("rowWidth")||o.push(!0),n.includes("tiltAngle")||o.push(!1),n.includes("interRowSpacing")||o.push(!1),n.includes("latitude")||o.push(!1),n.includes("orientation")||o.push(!0),n.includes("poleHeight")||o.push(!1),n.includes("unitCost")||o.push(!1),n.includes("sellingPrice")||o.push(!1),n.includes("totalYearlyCost")||o.push(!1),n.includes("totalYearlyYield")||o.push(!1),n.includes("meanYearlyYield")||o.push(!1),n.includes("yearlyProfit")||o.push(!1),o}return[]}static getUnits(e,n,o){if(e===Tr.SOLAR_PANEL_ARRAY){const i=[];return o.includes("rowWidth")||i.push(" "+j.t("solarPanelMenu.Panels",n)),o.includes("tiltAngle")||i.push("°"),o.includes("interRowSpacing")||i.push(" "+j.t("word.MeterAbbreviation",n)),o.includes("latitude")||i.push("°"),o.includes("orientation")||i.push(""),o.includes("poleHeight")||i.push(" "+j.t("word.MeterAbbreviation",n)),o.includes("unitCost")||i.push(""),o.includes("sellingPrice")||i.push(""),o.includes("totalYearlyCost")||i.push("K"),o.includes("totalYearlyYield")||i.push(" MWh"),o.includes("meanYearlyYield")||i.push(" kWh"),o.includes("yearlyProfit")||i.push("K"),i}return[]}static getUnit(e,n){return e==="tiltAngle"||e==="latitude"?"°":e==="interRowSpacing"||e==="poleHeight"?j.t("word.MeterAbbreviation",n):e==="totalYearlyYield"?"MWh":e==="meanYearlyYield"?"kWh":e==="totalYearlyCost"||e==="yearlyProfit"?"K":""}static setScatterData(e,n,o,i){switch(e){case"rowWidth":o[n]=i.rowsPerRack;break;case"tiltAngle":o[n]=xe.toDegrees(i.tiltAngle);break;case"interRowSpacing":o[n]=i.interRowSpacing;break;case"latitude":o[n]=i.latitude;break;case"orientation":o[n]=i.orientation===ui.landscape?0:1;break;case"poleHeight":o[n]=i.poleHeight;break;case"unitCost":o[n]=i.unitCost;break;case"sellingPrice":o[n]=i.sellingPrice;break;case"totalYearlyCost":o[n]=xe.calculateCost(i);break;case"totalYearlyYield":o[n]=i.yearlyYield*.001;break;case"meanYearlyYield":o[n]=i.yearlyYield/i.panelCount;break;case"yearlyProfit":o[n]=xe.calculateProfit(i);break}}}class KQt{static updateOldFileData(){M.getState().set(e=>{xe.compareVersion(e.version,C3t)&&(e.viewState.ambientLightIntensity&&(e.viewState.ambientLightIntensity*=3),e.viewState.directLightIntensity&&(e.viewState.directLightIntensity*=3.5));const n=new Map;for(const o of e.elements)n.set(o.id,o);for(const o of e.elements)switch(o.type){case z.Foundation:{o.parentId!==Zo&&(console.error("Error: "+o.parentId+" is not ground!"),o.parentId=Zo);break}case z.Wall:{const i=o;if(i.wallStructure===void 0&&(i.wallStructure=hc.Default),i.structureSpacing===void 0&&(i.structureSpacing=2),i.structureWidth===void 0&&(i.structureWidth=.1),i.structureColor===void 0&&(i.structureColor="white"),i.opacity===void 0&&(i.opacity=.5),i.fill===void 0&&(i.fill=Hl.Full),i.unfilledHeight===void 0&&(i.unfilledHeight=.5),i.leftUnfilledHeight===void 0||i.rightUnfilledHeight===void 0){const r=i.unfilledHeight??.5;i.leftUnfilledHeight=r,i.rightUnfilledHeight=r}if((i.leftTopPartialHeight===void 0||i.rightTopPartialHeight===void 0)&&(i.leftTopPartialHeight=i.lz,i.rightTopPartialHeight=i.lz),i.eavesLength===void 0&&i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;i.eavesLength=a.overhang!==void 0?a.overhang:.3}else i.eavesLength=.3}if(i.parapet===void 0&&(i.parapet={...wye}),i.roofId){const r=n.get(i.roofId);if(r&&r.type===z.Roof){const a=r;(a.roofType===Vo.Pyramid||a.roofType===Vo.Hip||a.roofType===Vo.Mansard)&&(i.leftRoofHeight=void 0,i.rightRoofHeight=void 0)}}break}case z.Window:{const i=o;i.horizontalMullion===void 0&&(i.horizontalMullion=i.mullion),i.verticalMullion===void 0&&(i.verticalMullion=i.mullion),i.mullionWidth===void 0&&(i.mullionWidth=.06),i.horizontalMullionSpacing===void 0&&(i.horizontalMullionSpacing=i.mullionSpacing??.5),i.verticalMullionSpacing===void 0&&(i.verticalMullionSpacing=i.mullionSpacing??.5),i.tint===void 0&&(i.tint="#73D8FF"),i.opacity===void 0&&(i.opacity=.5),i.shutter&&(i.leftShutter=i.shutter.showLeft,i.rightShutter=i.shutter.showRight,i.shutterColor=i.shutter.color,i.shutterWidth=i.shutter.width,i.shutter=void 0),i.shutterColor===void 0&&(i.shutterColor="gray"),i.shutterWidth===void 0&&(i.shutterWidth=.5),i.mullionColor===void 0&&(i.mullionColor="white"),i.frame===void 0&&(i.frame=!1),i.color===void 0&&(i.color="white"),i.frameWidth===void 0&&(i.frameWidth=.1),i.windowType===void 0&&(i.windowType=Sr.Default),i.archHeight===void 0&&(i.archHeight=1);break}case z.Door:{const i=o;i.doorType===void 0&&(i.doorType=Sd.Default),i.archHeight===void 0&&(i.archHeight=1),i.filled===void 0&&(i.filled=!0);break}case z.Roof:{const i=o;if(i.ceiling===void 0&&(i.ceiling=!1),i.roofType===Vo.Gambrel){const r=i;r.frontRidgePoint===void 0&&(r.frontRidgePoint=r.frontRidgeLeftPoint?[...r.frontRidgeLeftPoint]:[.35,.5],r.frontRidgeLeftPoint=void 0,r.frontRidgeRightPoint=void 0),r.backRidgePoint===void 0&&(r.backRidgePoint=r.backRidgeLeftPoint?[...r.backRidgeLeftPoint]:[-.35,.5],r.backRidgeLeftPoint=void 0,r.backRidgeRightPoint=void 0),r.topRidgePoint===void 0&&(r.topRidgePoint=r.topRidgeLeftPoint?[...r.topRidgeLeftPoint]:[0,1],r.topRidgeLeftPoint=void 0,r.topRidgeRightPoint=void 0)}}}})}}function hd(t){return t.type===z.Foundation||t.type===z.Cuboid}yht();const M=xK()(v3t(T3t((t,e)=>{const n=xe.isOpenFromURL(),o=new dSe,i=n?[]:o.getElements(),r=a=>t(LP(a));return{set:a=>{try{r(a)}catch(l){console.log(l)}},version:nE,world:o,elements:i,user:{},viewState:new hSe,actionState:new PSe,graphState:new RSe,solarPanelArrayLayoutParams:new gSe,solarPanelArrayLayoutConstraints:new XG,evolutionaryAlgorithmState:new vSe,economicsParams:new SSe,geneticAlgorithmWizardSelectedTab:"1",particleSwarmOptimizationWizardSelectedTab:"1",modelType:da.UNKNOWN,modelAuthor:null,modelLabel:null,modelDescription:null,projectView:!1,projectState:{owner:null,title:null,description:null,type:Tr.SOLAR_PANEL_ARRAY,designs:new Array,ranges:new Array,filters:new Array,hiddenParameters:dd.getDefaultHiddenParameters(Tr.SOLAR_PANEL_ARRAY),counter:0,dataColoring:n9.ALL,selectedProperty:null,sortDescending:!1,xAxisNameScatterPlot:null,yAxisNameScatterPlot:null,dotSizeScatterPlot:5,thumbnailWidth:200},projectImages:new Map,designProjectType:null,notes:[],language:"en",floatingWindowOpacity:m0,selectedFloatingWindow:null,cloudFile:void 0,latestModelSite:void 0,modelSites:new Map,peopleModels:new Map,modelsMapLatitude:42.2844063,modelsMapLongitude:-71.3488548,modelsMapAddress:$V,modelsMapZoom:$Ne,modelsMapType:"roadmap",modelsMapTilt:0,minimumNavigationMoveSpeed:3,minimumNavigationTurnSpeed:3,tempHumanPlant:[],ray:new Gs,mouse:new Gt,fileChanged:!1,setNavigationView(a){r(l=>{l.viewState.navigationView=a,l.viewState.enableRotate=!a,a&&(l.viewState.orthographic=!1)})},set2DView(a){r(l=>{l.viewState.orthographic=a,l.viewState.enableRotate=!a,a&&(l.viewState.navigationView=!1)})},applyCount:0,setApplyCount(a){r(l=>{l.applyCount=a})},revertApply(){if(e().applyCount){for(let a=0;a{s.version=a.version,s.world=a.world,s.viewState=a.view,s.graphState=a.graphState??new RSe,s.elements=a.elements,s.notes=a.notes??[],s.animate24Hours=!!a.animate24Hours,s.modelType=a.modelType??da.UNKNOWN,s.modelAuthor=a.modelAuthor??null,s.modelLabel=a.modelLabel??null,s.modelDescription=a.modelDescription??null,s.designProjectType=a.designProjectType??null,s.cloudFile=l,s.currentUndoable=void 0,s.actionInfo=void 0,s.sceneRadius=a.sceneRadius??100,s.updateSceneRadiusFlag=!s.updateSceneRadiusFlag,s.localContentToImportAfterCloudFileUpdate=void 0,s.fileChanged=!s.fileChanged,s.evolutionMethod=a.evolutionMethod??Bs.GENETIC_ALGORITHM,s.solarPanelArrayLayoutParams=a.solarPanelArrayLayoutParams??new gSe,s.solarPanelArrayLayoutConstraints=a.solarPanelArrayLayoutConstraints??new XG,s.evolutionaryAlgorithmState=a.evolutionaryAlgorithmState??new vSe,s.economicsParams=a.economicsParams??new SSe,s.minimumNavigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.minimumNavigationTurnSpeed=a.minimumNavigationTurnSpeed??3,s.fittestIndividualResults.length=0,s.undoManager.clear(),s.deletedRoofId=null,s.autoDeletedRoofs=null,s.autoDeletedRoofIdSet.clear(),s.autoDeletedChild=null,s.deletedRoofIdSet.clear(),s.addedRoofIdSet.clear(),s.actionState=new PSe,s.multiSelectionsMode=!1,s.selectedElementIdSet.clear(),s.groupActionMode=!1,s.selectedFloatingWindow=null}),KQt.updateOldFileData(),ht.getState().set(s=>{s.changed=!1,s.skipChange=!0,s.animateSun=!1,s.showSolarRadiationHeatmap=!1,s.showHeatFluxes=!1,s.simulationInProgress=!1,s.simulationPaused=!1,s.clearDailySimulationResultsFlag=!s.clearDailySimulationResultsFlag,s.clearYearlySimulationResultsFlag=!s.clearYearlySimulationResultsFlag,s.navigationMoveSpeed=a.minimumNavigationMoveSpeed??3,s.navigationTurnSpeed=a.minimumNavigationTurnSpeed??3}),Sn.getState().clearDataStore(),Sn.getState().clearRoofVerticesMap()},exportContent(){const a=e(),l=new Date,s=JSON.parse(JSON.stringify(a.elements));return xe.fixElements(s),{docid:ta.generate(),time:gc(l).format("MM/DD/YYYY hh:mm A"),timestamp:l.getTime(),userid:a.user.uid,owner:a.user.signFile?a.user.displayName:null,email:a.user.signFile?a.user.email:null,version:nE,world:JSON.parse(JSON.stringify(a.world)),elements:s,sceneRadius:a.sceneRadius,view:JSON.parse(JSON.stringify(a.viewState)),animate24Hours:a.animate24Hours,graphState:JSON.parse(JSON.stringify(a.graphState)),evolutionMethod:a.evolutionMethod,solarPanelArrayLayoutParams:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutParams)),solarPanelArrayLayoutConstraints:JSON.parse(JSON.stringify(a.solarPanelArrayLayoutConstraints)),evolutionaryAlgorithmState:JSON.parse(JSON.stringify(a.evolutionaryAlgorithmState)),economicsParams:JSON.parse(JSON.stringify(a.economicsParams)),modelType:a.modelType,modelAuthor:a.modelAuthor,modelLabel:a.modelLabel,modelDescription:a.modelDescription,designProjectType:a.designProjectType,notes:a.notes,minimumNavigationMoveSpeed:a.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:a.minimumNavigationTurnSpeed}},clearContent(){r(a=>{a.elements=[],a.sceneRadius=100}),Sn.getState().clearDataStore(),Sn.getState().clearRoofVerticesMap()},createEmptyFile(){r(a=>{dSe.resetWorldModel(a.world),hSe.resetViewState(a.viewState),a.version=nE,a.elements=[],a.sceneRadius=100,a.cloudFile=void 0,a.localContentToImportAfterCloudFileUpdate=void 0,a.notes=[],a.fileChanged=!a.fileChanged,a.currentUndoable=void 0,a.actionInfo=void 0,a.undoManager.clear(),a.modelType=da.UNKNOWN,a.modelLabel=null,a.modelDescription=null,a.designProjectType=null,a.minimumNavigationMoveSpeed=3,a.minimumNavigationTurnSpeed=3,a.multiSelectionsMode=!1,a.selectedElementIdSet.clear(),a.groupActionMode=!1,a.selectedFloatingWindow=null,a.deletedRoofId=null,a.autoDeletedRoofs=null,a.autoDeletedRoofIdSet.clear(),a.autoDeletedChild=null,a.deletedRoofIdSet.clear(),a.addedRoofIdSet.clear()}),ht.getState().set(a=>{a.changed=!1,a.skipChange=!0,a.animateSun=!1,a.showSolarRadiationHeatmap=!1,a.showHeatFluxes=!1}),Sn.getState().clearDataStore(),Sn.getState().clearRoofVerticesMap()},undoManager:new GQt,addUndoable(a){r(l=>{l.loggable&&(l.currentUndoable=a),l.undoManager.add(a)})},fittestIndividualResults:[],setFittestIndividualResults(a){r(l=>{l.fittestIndividualResults=[...a]})},variableLabels:[],setVariableLabels(a){r(l=>{l.variableLabels=[...a]})},aabb:new pf(new re(-10,-10,-10),new re(10,10,10)),animate24Hours:!1,evolutionMethod:Bs.GENETIC_ALGORITHM,clickObjectType:null,contextMenuObjectType:null,hoveredHandle:null,moveHandleType:null,resizeHandleType:null,rotateHandleType:null,resizeAnchor:new re,selectedElement:null,getSelectedElement(){if(e().selectedElementIdSet.size===0)return null;const a=e().selectedElement;return a?e().elements.find(l=>l.id===a.id)??null:null},selectedElementIdSet:new Set,multiSelectionsMode:!1,findNearestSibling(a){let l=null;const s=e().getElementById(a);if(s){let c=Number.MAX_VALUE;for(const u of e().elements)if(u.type===s.type&&u.parentId===s.parentId&&u.id!==a){const d=s.cx-u.cx,f=s.cy-u.cy,p=s.cz-u.cz,g=d*d+f*f+p*p;c>g&&(c=g,l=u.id)}}return l},overlapWithSibling(a,l){let s=!1;if(l===void 0){const c=e().getParent(a);if(c){for(const u of e().elements)if(u.type===a.type&&u.parentId===a.parentId&&u.id!==a.id){if(a.type===z.SolarPanel){if(xe.doSolarPanelsOverlap(a,u,c)){s=!0;break}}else if(Math.abs(a.cx-u.cx)*c.lx<.5*(a.lx+u.lx)&&Math.abs(a.cy-u.cy)*c.ly<.5*(a.ly+u.ly)&&Math.abs(a.cz-u.cz)*c.lz<.5*(a.lz+u.lz)){s=!0;break}}}}else{const c=l*l,u=e().getParent(a);for(const d of e().elements)if(d.type===a.type&&d.parentId===a.parentId&&d.id!==a.id){const f=(a.cx-d.cx)*(u?u.lx:1),p=(a.cy-d.cy)*(u?u.ly:1),g=(a.cz-d.cz)*(u?u.lz:1);if(f*f+p*p+g*gC.id===g);if(b){const C=new re(b.cx,b.cy,b.lz),P=new Qt(0,0,b.rotation[2]),v=new re;switch(l){case gt.UpperLeft:{v.fromArray(w.leftPoint).setZ(0);break}case gt.UpperRight:{v.fromArray(w.rightPoint).setZ(0);break}}A.copy(v.applyEuler(P).add(C))}break}case z.Roof:{const w=e().elements.find(b=>b.id===g);if(w){const b=new re(w.cx,w.cy,w.lz),C=new Qt(0,0,w.rotation[2]),P=new re(e().selectedElementX,e().selectedElementY).applyEuler(C).add(b);A.set(P.x,P.y,w.lz)}break}case z.Tree:{const w=e().elements.find(b=>b.id===g);if(w){const b=new re(w.cx,w.cy,w.cz+w.lz/2),C=new Qt(0,0,w.rotation[2]);A.copy(new re(a.cx,a.cy,w.lz).applyEuler(C).add(b))}break}}return A},getElementById(a){const l=e().elements;for(const s of l)if(s.id===a)return s;return null},getParent(a){const l=e().elements;for(const s of l)if(s.id===a.parentId)return s;return null},getFoundation(a){const l=e().elements;for(const s of l)if(s.id===a.foundationId&&s.type===z.Foundation)return s;return null},selectNone(){r(a=>{a.selectedElementIdSet.clear();for(const l of a.elements)l.selected=!1;a.selectedElement=null}),Ln.getState().selectNone()},selectMe(a,l,s,c){const u=Ln.getState().setEnableOrbitController;l.intersections.length>0&&(l.intersections.filter(f=>!f.eventObject.name.startsWith("Wall Intersection Plane"))[0].object===l.eventObject||c)&&r(f=>{var p,g,A;for(const w of f.elements)if(w.id===a)if(w.selected=!0,f.selectedElement=w,f.selectedElementHeight=w.lz,f.groupActionMode){let b=w.foundationId??null;!b&&hd(w)&&(b=xe.getBaseId(w.id)),b&&(f.multiSelectionsMode||f.selectedElementIdSet.clear(),f.selectedElementIdSet.has(b)?f.selectedElementIdSet.delete(b):f.selectedElementIdSet.add(b))}else if(s===zo.ContextMenu)if(f.selectedElementIdSet.has(a))for(const b of f.elements)f.selectedElementIdSet.has(b.id)&&b.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(b.id);else if(f.multiSelectionsMode){f.selectedElementIdSet.add(a);for(const b of f.elements)f.selectedElementIdSet.has(b.id)&&b.type!==f.selectedElement.type&&f.selectedElementIdSet.delete(b.id)}else f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a);else f.multiSelectionsMode?f.selectedElementIdSet.has(a)?f.selectedElementIdSet.delete(a):f.selectedElementIdSet.add(a):(f.selectedElementIdSet.clear(),f.selectedElementIdSet.add(a));else w.selected=!1;if(f.moveHandleType=null,f.resizeHandleType=null,f.rotateHandleType=null,f.contextMenuObjectType=null,s)switch(s){case zo.Move:{((p=f.selectedElement)==null?void 0:p.type)===z.Tree||((g=f.selectedElement)==null?void 0:g.type)===z.Human?f.moveHandleType=yo.Default:f.moveHandleType=l.eventObject.name,u(!1);break}case zo.Resize:{f.resizeHandleType=l.eventObject.name,u(!1);break}case zo.Rotate:{f.rotateHandleType=l.eventObject.name,u(!1);break}case zo.Select:{f.selectedElementAngle=((A=l.object.parent)==null?void 0:A.rotation.z)??0,u(!0);break}default:u(!0)}})},countHeatmapCells(){let a=0;return r(l=>{const s=l.world.solarRadiationHeatmapGridCellSize??.5,c=s*s;for(const u of l.elements)(u.type===z.Foundation||u.type===z.Cuboid)&&(a+=u.lx*u.ly/c)}),Math.round(a)},updateAllElementLocks(a){r(l=>{for(const s of l.elements)s.locked=a})},updateElementLockByFoundationId(a,l){r(s=>{for(const c of s.elements)(c.foundationId===a||c.parentId===a||c.id===a)&&(c.locked=l)})},updateElementLockByParentId(a,l,s){r(c=>{for(const u of c.elements)u.parentId===a&&l===u.type&&(u.locked=s)})},updateElementLockById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.locked=l;break}})},updateElementReferenceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.referenceId=l;break}})},updateElementLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.label=l;break}})},updateElementShowLabelById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.showLabel=l;break}})},updateElementColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.color=l;break}})},updateElementColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&xe.isIdentical(d.normal,s)&&!d.locked&&(d.color=c)})},updateElementColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.color=s)})},updateElementColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.color=l)})},updateElementLineColorById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lineColor=l;break}})},updateElementLineColorOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&xe.isIdentical(d.normal,s)&&!d.locked&&(d.lineColor=c)})},updateElementLineColorAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineColor=s)})},updateElementLineColorForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineColor=l)})},updateElementLineWidthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a){c.lineWidth=l;break}})},updateElementLineWidthOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)d.type===a&&d.parentId===l&&xe.isIdentical(d.normal,s)&&!d.locked&&(d.lineWidth=c)})},updateElementLineWidthAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lineWidth=s)})},updateElementLineWidthForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lineWidth=l)})},updateElementCxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cx=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cy=l,c.type===z.SolarPanel&&c.parentType===z.Roof&&(s.updateElementOnRoofFlag=!0);break}})},updateElementCzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.cz=l;break}})},updateElementCzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cz=l)})},updateElementLxById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lx=l;break}})},updateElementLxAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lx=s)})},updateElementLxOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lx=c)}})},updateElementLxForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lx=l)})},updateElementLyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.ly=l;break}})},updateElementLyAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.ly=s)})},updateElementLyOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.ly=c)}})},updateElementLyForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.ly=l)})},updateElementLzById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){c.lz=l;break}})},updateElementLzAboveFoundation(a,l,s){r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&(u.lz=s)})},updateElementLzOnSurface(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.lz=c)}})},updateElementLzForAll(a,l){r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.lz=l)})},updateElementRotationById(a,l,s,c){r(u=>{for(const d of u.elements)(d.id===a&&!d.locked||d.parentId===a&&!Dqe(d)&&d.type!==z.SolarPanel)&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);u.selectedElementAngle=c})},updateElementRotationForAll(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===a)d.locked||(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c);else{const f=u.getParent(d);f&&!f.locked&&f.type===a&&(d.rotation[0]=l,d.rotation[1]=s,d.rotation[2]=c)}})},updateSolarCollectorDrawSunBeamById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.drawSunBeam=l;break}})},updateSolarCollectorDrawSunBeamAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.drawSunBeam=s)})},updateSolarCollectorDrawSunBeamForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.locked||c.type===a&&(c.drawSunBeam=l)})},updateSolarCollectorRelativeAzimuthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.relativeAzimuth=l,s.selectedElementAngle=l;break}})},updateSolarCollectorRelativeAzimuthAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&!u.locked&&u.parentType!==z.Wall&&(u.relativeAzimuth=s)})},updateSolarCollectorRelativeAzimuthOnSurface(a,l,s,c){xe.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(d.type===a&&!d.locked){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.relativeAzimuth=c)}})},updateSolarCollectorRelativeAzimuthForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&c.parentType!==z.Wall&&(c.relativeAzimuth=l)})},updateSolarCollectorXById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.cx=l;break}})},updateSolarCollectorXAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cx=s)})},updateSolarCollectorXForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cx=l)})},updateSolarCollectorYById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.cy=l;break}})},updateSolarCollectorYAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.cy=s)})},updateSolarCollectorYForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.cy=l)})},updateSolarCollectorPoleHeightById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.poleHeight=l;break}})},updateSolarCollectorPoleHeightAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleHeight=s)})},updateSolarCollectorPoleHeightOnSurface(a,l,s,c){xe.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleHeight=c)}})},updateSolarCollectorPoleHeightForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleHeight=l)})},updateSolarCollectorPoleRadiusById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked&&xe.isSolarCollector(c)){c.poleRadius=l;break}})},updateSolarCollectorPoleRadiusAboveFoundation(a,l,s){xe.isSolarCollectorType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&u.type===a&&(u.poleRadius=s)})},updateSolarCollectorPoleRadiusOnSurface(a,l,s,c){xe.isSolarCollectorType(a)&&r(u=>{for(const d of u.elements)if(!d.locked&&d.type===a){let f;s?f=d.parentId===l&&xe.isIdentical(d.normal,s):f=d.parentId===l,f&&(d.poleRadius=c)}})},updateSolarCollectorPoleRadiusForAll(a,l){xe.isSolarCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&!c.locked&&(c.poleRadius=l)})},clearAllSolarCollectorYields(){r(a=>{for(const l of a.elements)if(xe.isSolarCollector(l)){const s=l;s.dailyYield=0,s.yearlyYield=0}})},updateSolarCollectorDailyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isSolarCollector(c)){c.dailyYield=l;break}})},updateSolarCollectorYearlyYieldById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isSolarCollector(c)){c.yearlyYield=l;break}})},updateCspReflectanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isCspCollector(c)){c.reflectance=l;break}})},updateCspReflectanceAboveFoundation(a,l,s){xe.isCspCollectorType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.reflectance=s)})},updateCspReflectanceForAll(a,l){xe.isCspCollectorType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.reflectance=l)})},updateParabolicCollectorAbsorptanceById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isParabolicCollector(c)){c.absorptance=l;break}})},updateParabolicCollectorAbsorptanceAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.absorptance=s)})},updateParabolicCollectorAbsorptanceForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.absorptance=l)})},updateParabolicCollectorOpticalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isParabolicCollector(c)){c.opticalEfficiency=l;break}})},updateParabolicCollectorOpticalEfficiencyAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.opticalEfficiency=s)})},updateParabolicCollectorOpticalEfficiencyForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.opticalEfficiency=l)})},updateParabolicCollectorThermalEfficiencyById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&xe.isParabolicCollector(c)){c.thermalEfficiency=l;break}})},updateParabolicCollectorThermalEfficiencyAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.type===a&&u.foundationId===l&&(u.thermalEfficiency=s)})},updateParabolicCollectorThermalEfficiencyForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.type===a&&(c.thermalEfficiency=l)})},foundationActionScope:ue.OnlyThisObject,setFoundationActionScope(a){r(l=>{l.foundationActionScope=a})},cuboidActionScope:ue.OnlyThisSide,setCuboidActionScope(a){r(l=>{l.cuboidActionScope=a})},polygonActionScope:ue.OnlyThisObject,setPolygonActionScope(a){r(l=>{l.polygonActionScope=a})},updatePolygonVertexPositionById(a,l,s,c){r(u=>{for(const d of u.elements)if(d.type===z.Polygon&&d.id===a){const f=d;l>=0&&l{for(const c of s.elements)if(c.type===z.Polygon&&c.id===a){const u=c;u.vertices=l;break}})},solarPanelActionScope:ue.OnlyThisObject,setSolarPanelActionScope(a){r(l=>{l.solarPanelActionScope=a})},updateSolarPanelTiltAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.SolarPanel&&c.id===a&&!c.locked){const u=c;u.tiltAngle=l;break}})},setSolarPanelOrientation(a,l,s){if(a.orientation=s,a.orientation===ui.portrait){const c=Math.max(1,Math.round(a.lx/l.width)),u=Math.max(1,Math.round(a.ly/l.length));a.lx=c*l.width,a.ly=u*l.length}else{const c=Math.max(1,Math.round(a.lx/l.length)),u=Math.max(1,Math.round(a.ly/l.width));a.lx=c*l.length,a.ly=u*l.width}},parabolicTroughActionScope:ue.OnlyThisObject,setParabolicTroughActionScope(a){r(l=>{l.parabolicTroughActionScope=a})},fresnelReflectorActionScope:ue.OnlyThisObject,setFresnelReflectorActionScope(a){r(l=>{l.fresnelReflectorActionScope=a})},heliostatActionScope:ue.OnlyThisObject,setHeliostatActionScope(a){r(l=>{l.heliostatActionScope=a})},updateSolarReceiverById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.Heliostat){c.towerId=l;break}else if(c.type===z.FresnelReflector){c.receiverId=l;break}}})},updateSolarReceiverAboveFoundation(a,l,s){xe.isHeliostatOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.Heliostat?u.towerId=s:u.type===z.FresnelReflector&&(u.receiverId=s))})},updateSolarReceiverForAll(a,l){xe.isHeliostatOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.Heliostat?c.towerId=l:c.type===z.FresnelReflector&&(c.receiverId=l))})},parabolicDishActionScope:ue.OnlyThisObject,setParabolicDishActionScope(a){r(l=>{l.parabolicDishActionScope=a})},updateModuleLengthById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){if(c.type===z.ParabolicTrough){c.moduleLength=l;break}else if(c.type===z.FresnelReflector){c.moduleLength=l;break}}})},updateModuleLengthAboveFoundation(a,l,s){xe.isParabolicTroughOrFresnelReflector(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.FresnelReflector)&&(u.moduleLength=s)})},updateModuleLengthForAll(a,l){xe.isParabolicTroughOrFresnelReflector(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.FresnelReflector)&&(c.moduleLength=l)})},updateParabolaLatusRectumById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&!c.locked){(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l);break}})},updateParabolaLatusRectumAboveFoundation(a,l,s){xe.isParabolaType(a)&&r(c=>{for(const u of c.elements)u.foundationId===l&&!u.locked&&(u.type===z.ParabolicTrough||u.type===z.ParabolicDish)&&(u.latusRectum=s)})},updateParabolaLatusRectumForAll(a,l){xe.isParabolaType(a)&&r(s=>{for(const c of s.elements)c.locked||(c.type===z.ParabolicTrough||c.type===z.ParabolicDish)&&(c.latusRectum=l)})},windTurbineActionScope:ue.OnlyThisObject,setWindTurbineActionScope(a){r(l=>{l.windTurbineActionScope=a})},wallActionScope:ue.OnlyThisObject,setWallActionScope(a){r(l=>{l.wallActionScope=a})},roofActionScope:ue.OnlyThisObject,setRoofActionScope(a){r(l=>{l.roofActionScope=a})},windowActionScope:ue.OnlyThisObject,setWindowActionScope(a){r(l=>{l.windowActionScope=a})},doorActionScope:ue.OnlyThisObject,setDoorActionScope(a){r(l=>{l.doorActionScope=a})},updateWallRelativeAngleById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.relativeAngle=l;break}})},updateWallLeftJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.leftJoints=l;break}})},updateWallRightJointsById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a){c.rightJoints=l;break}})},updateWallLeftPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.leftPoint=[...l];break}})},updateWallRightPointById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Wall&&c.id===a&&!c.locked){c.rightPoint=[...l];break}})},updateRoofRiseById(a,l,s){r(c=>{for(const u of c.elements)if(u.id===a&&u.type===z.Roof){u.rise=l,c.actionState.roofRise=l,s!==void 0&&(c.selectedElementHeight=s);break}})},updateRoofStructureById(a,l){r(s=>{for(const c of s.elements)if(c.id===a&&c.type===z.Roof){const u=c;u.roofStructure=l;break}})},updateInsideLightById(a,l){r(s=>{for(const c of s.elements)if(c.type===z.Light&&c.id===a){c.inside=l;break}})},updateInsideLightsByParentId(a,l){r(s=>{for(const c of s.elements)c.parentId===a&&c.type===z.Light&&(c.inside=l)})},setElementPosition(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].cx=l,u.elements[d].cy=s,c!==void 0&&(u.elements[d].cz=c);break}})},setElementNormal(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a||f.parentId===a){const p=u.elements[d];p.normal[0]=l,p.normal[1]=s,p.normal[2]=c}})},setElementSize(a,l,s,c){r(u=>{for(const[d,f]of u.elements.entries())if(f.id===a){u.elements[d].lx=l,u.elements[d].ly=s,c&&(u.elements[d].lz=c,u.selectedElementHeight=c);break}})},actionModeLock:!1,objectTypeToAdd:z.None,addElement(a,l,s){let c=null;const u="id"in a?a.id:Zo;return r(d=>{switch(d.objectTypeToAdd){case z.Human:{const f=new re().copy(l);if(u!==Zo){const{rot:g,pos:A}=xe.getWorldDataById(u);f.sub(new re(A.x,A.y,A.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeHuman(d.actionState.humanName,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Tree:{const f=new re().copy(l);if(u!==Zo){const{rot:g,pos:A}=xe.getWorldDataById(u);f.sub(new re(A.x,A.y,A.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeTree(d.actionState.treeType,d.actionState.treeSpread,d.actionState.treeHeight,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Flower:{const f=new re().copy(l);if(u!==Zo){const{rot:g,pos:A}=xe.getWorldDataById(u);f.sub(new re(A.x,A.y,A.z)).applyEuler(new Qt(0,0,-g))}const p=rl.makeFlower(d.actionState.flowerType,u,f.x,f.y,f.z);c=p,d.elements.push(p);break}case z.Polygon:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makePolygon(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,f.type);c=g,d.elements.push(g);break}case z.Sensor:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSensor(f,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.Light:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeLight(f,2,d.actionState.lightDistance,d.actionState.lightIntensity,d.actionState.lightColor,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0);c=g,d.elements.push(g);break}case z.SolarPanel:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeSolarPanel(f,d.getPvModule(d.actionState.solarPanelModelName??"SPR-X21-335-BLK"),p.x,p.y,p.z,d.actionState.solarPanelOrientation??ui.landscape,d.actionState.solarPanelPoleHeight??1,d.actionState.solarPanelPoleSpacing??3,d.actionState.solarPanelTiltAngle??0,d.actionState.solarPanelRelativeAzimuth??0,s,"rotation"in a?a.rotation:void 0,d.actionState.solarPanelFrameColor??"white");c=g,d.elements.push(g);break}case z.ParabolicTrough:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicTrough(f,d.actionState.parabolicTroughReflectance,d.actionState.parabolicTroughAbsorptance,d.actionState.parabolicTroughOpticalEfficiency,d.actionState.parabolicTroughThermalEfficiency,d.actionState.parabolicTroughLatusRectum,d.actionState.parabolicTroughPoleHeight,d.actionState.parabolicTroughModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicTroughWidth);c=g,d.elements.push(g);break}case z.ParabolicDish:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeParabolicDish(f,d.actionState.parabolicDishReflectance,d.actionState.parabolicDishAbsorptance,d.actionState.parabolicDishOpticalEfficiency,d.actionState.parabolicDishThermalEfficiency,d.actionState.parabolicDishLatusRectum,d.actionState.parabolicDishPoleHeight,d.actionState.parabolicDishReceiverStructure,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.parabolicDishRimDiameter,d.actionState.parabolicDishRimDiameter);c=g,d.elements.push(g);break}case z.FresnelReflector:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeFresnelReflector(f,d.actionState.fresnelReflectorReceiver,d.actionState.fresnelReflectorReflectance,d.actionState.fresnelReflectorPoleHeight,d.actionState.fresnelReflectorModuleLength,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.fresnelReflectorWidth);c=g,d.elements.push(g);break}case z.Heliostat:{const f=a,p=xe.relativeCoordinates(l.x,l.y,l.z,f),g=rl.makeHeliostat(f,d.actionState.heliostatTower,d.actionState.heliostatReflectance,d.actionState.heliostatPoleHeight,p.x,p.y,p.z,s,"rotation"in a?a.rotation:void 0,d.actionState.heliostatLength,d.actionState.heliostatWidth);c=g,d.elements.push(g);break}case z.WindTurbine:{const f=a,p=xe.relativeCoordinates(l.x,l.y,0,f),g=rl.makeWindTurbine(f,d.actionState.windTurbineBirdSafeDesign??lc.None,d.actionState.windTurbineBladeColor??X5,d.actionState.windTurbineStripeColor??J5,d.actionState.windTurbineNumberOfBlades??3,d.actionState.windTurbineInitialRotorAngle??0,d.actionState.windTurbineRelativeYawAngle??0,d.actionState.windTurbinePitchAngle??Math.PI/18,d.actionState.windTurbineBladeRadius??10,d.actionState.windTurbineBladeRootRadius??.3,d.actionState.windTurbineBladeMaximumChordLength??1,d.actionState.windTurbineBladeMaximumChordRadius??3,d.actionState.windTurbineTowerRadius??.5,d.actionState.windTurbineTowerHeight??20,d.actionState.windTurbineHubRadius??.75,d.actionState.windTurbineHubLength??1.5,p.x,p.y,0);c=g,d.elements.push(g);break}case z.Foundation:{const f=rl.makeFoundation(l.x,l.y,d.actionState.foundationHeight,d.actionState.foundationColor,d.actionState.foundationTexture);c=f,d.elements.push(f);break}case z.Cuboid:{const f=rl.makeCuboid(l.x,l.y,d.actionState.cuboidHeight,d.actionState.cuboidFaceColors,d.actionState.cuboidFaceTextures);c=f,d.elements.push(f);break}case z.Wall:{const f=a,p=xe.wallRelativePosition(new re(l.x,l.y),f),g=rl.makeWall(f,p.x,p.y,p.z,s);d.elements.push(g),d.selectedElement=g,c=g;break}}c&&(d.selectedElementIdSet.clear(),d.selectedElementIdSet.add(c.id))}),c},elementsToPaste:[],deletedElements:[],clearDeletedElements(){r(a=>{a.deletedElements=[]})},pastePoint:new re,pasteNormal:void 0,copyElementById(a){r(l=>{l.elementsToPaste=[];for(const s of l.elements)if(s.id===a){if(s.type===z.Polygon){const c=xe.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y,l.elementsToPaste.push(s)}else l.elementsToPaste.push(s);break}for(const s of l.elements)if(xe.isChild(a,s.id)){if(s.type===z.Polygon){const c=xe.calculatePolygonCentroid(s.vertices);s.cx=c.x,s.cy=c.y}l.elementsToPaste.push(s)}})},removeSelectedElements(){const a=e().selectedElementIdSet;if(a.size===0)return[];const l=Array.from(a),s=new Set,c=new Set;for(const u of e().elements)if(a.has(u.id))s.add(u),c.add(u.id);else for(const d of l)xe.isChild(d,u.id)&&(s.add(u),c.add(u.id));return r(u=>{u.autoDeletedRoofs=[],u.deletedElements=Array.from(s),u.elements=u.elements.filter(d=>{var f,p;if(c.has(d.id)){switch(d.type){case z.Wall:{const g=d;let A="",w="";g.leftJoints.length>0&&(A=((f=u.getElementById(g.leftJoints[0]))==null?void 0:f.id)??""),g.rightJoints.length>0&&(w=((p=u.getElementById(g.rightJoints[0]))==null?void 0:p.id)??"");for(const b of u.elements)b.id===A?b.rightJoints=[]:b.id===w&&(b.leftJoints=[]);u.updateWallMapOnFoundationFlag=!u.updateWallMapOnFoundationFlag;break}case z.Roof:{u.deletedRoofIdSet.add(d.id),Sn.getState().deleteRoofSegmentVertices(d.id),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(d.id);break}}return!1}else return!0})}),Array.from(s)},removeElementById(a,l,s=!0,c){const u=e().elements.filter(d=>d.id===a||xe.isChild(a,d.id));return r(d=>{var f,p;for(const g of d.elements)if(g.id===a){if(l)if(g.type===z.Polygon){const A=xe.calculatePolygonCentroid(g.vertices);g.cx=A.x,g.cy=A.y,d.elementsToPaste=[g]}else d.elementsToPaste=[g];else c||(d.deletedElements=[g]);switch(g.selected=!1,g.type){case z.Roof:{const A=g;d.deletedRoofId=g.id,d.deletedRoofIdSet.add(g.id),Sn.getState().deleteRoofSegmentVertices(a),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(a),c&&(d.autoDeletedRoofs?d.autoDeletedRoofs.push(A):d.autoDeletedRoofs=[A],d.autoDeletedRoofIdSet.add(A.id));break}case z.Wall:{const A=g;let w="",b="";A.leftJoints.length>0&&(w=((f=d.getElementById(A.leftJoints[0]))==null?void 0:f.id)??""),A.rightJoints.length>0&&(b=((p=d.getElementById(A.rightJoints[0]))==null?void 0:p.id)??"");for(const C of d.elements)C.id===w?C.rightJoints=[]:C.id===b&&(C.leftJoints=[]);d.elements=d.elements.filter(C=>!(C.type===z.Roof&&C.wallsId.length===0)),d.updateWallMapOnFoundationFlag=!d.updateWallMapOnFoundationFlag,d.deletedWallId=g.id;break}case z.Foundation:{d.deletedFoundationId=g.id;break}case z.Cuboid:{d.deletedCuboidId=g.id;break}}break}if(c)for(const g of d.elements)xe.isChild(a,g.id)&&(d.autoDeletedChild?d.autoDeletedChild.push(g):d.autoDeletedChild=[g]);else if(l)for(const g of d.elements)xe.isChild(a,g.id)&&d.elementsToPaste.push(g);else for(const g of d.elements)xe.isChild(a,g.id)&&d.deletedElements.push(g);d.elements=d.elements.filter(g=>g.id===a||g.parentId===a||g.foundationId===a||xe.isChild(a,g.id)?(g.type===z.Roof&&(Sn.getState().deleteRoofSegmentVertices(a),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(a)),!1):!0),d.selectedElementIdSet.delete(a),s&&(d.selectedElement=null,d.selectedElementIdSet.clear())}),u},removeElementsByType(a){r(l=>{a===z.Foundation?l.elements=l.elements.filter(s=>s.locked||s.type!==z.Foundation&&!s.foundationId?!0:(s.type===z.Roof&&(Sn.getState().deleteRoofSegmentVertices(s.id),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1)):l.elements=l.elements.filter(s=>s.locked||s.type!==a?!0:(s.type===z.Roof&&(Sn.getState().deleteRoofSegmentVertices(s.id),Sn.getState().deleteRoofSegmentVerticesWithoutOverhang(s.id)),!1))})},countElementsByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===a&&!c.locked&&s++;else for(const c of e().elements)c.type===a&&s++;return s},countSolarStructuresByType(a,l){let s=0;if(l)for(const c of e().elements)c.type===z.Foundation&&!c.locked&&c.solarStructure===a&&s++;else for(const c of e().elements)c.type===z.Foundation&&c.solarStructure===a&&s++;return s},countObservers(){let a=0;for(const l of e().elements)l.type===z.Human&&l.observer&&a++;return a},removeElementsByReferenceId(a,l){r(s=>{if(l){s.deletedElements=[];for(const c of s.elements)c.referenceId===a&&s.deletedElements.push(c)}s.elements=s.elements.filter(c=>c.referenceId!==a)})},countElementsByReferenceId(a){let l=0;for(const s of e().elements)s.referenceId===a&&l++;return l},getChildren(a){const l=[];for(const s of e().elements)s.parentId===a&&l.push(s);return l},getChildrenOfType(a,l){const s=[];for(const c of e().elements)c.type===a&&c.parentId===l&&s.push(c);return s},removeAllChildElementsByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.parentId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},removeAllElementsOnFoundationByType(a,l){r(s=>{s.elements=s.elements.filter(c=>c.locked||c.type!==l||c.foundationId!==a),l===z.Wall&&(s.updateWallMapOnFoundationFlag=!s.updateWallMapOnFoundationFlag)})},countAllElements(a){let l=0;if(a)for(const s of e().elements)s.locked||l++;else l=e().elements.length;return l},countAllElementsByType(a){const l=new mSe;for(const s of e().elements)if(s.locked?l.lockedCount++:l.unlockedCount++,!(a&&s.locked))switch(s.type){case z.Foundation:{s.solarStructure===zn.UpdraftTower&&l.solarUpdraftTowerCount++,l.foundationCount++;break}case z.Cuboid:{l.cuboidCount++;break}case z.Wall:{l.wallCount++;break}case z.Window:{l.windowCount++;break}case z.Door:{l.doorCount++;break}case z.Human:{l.humanCount++;break}case z.Tree:{l.treeCount++;break}case z.Flower:{l.flowerCount++;break}case z.Polygon:{l.polygonCount++;break}case z.Sensor:{l.sensorCount++;break}case z.Light:{s.inside?l.insideLightCount++:l.outsideLightCount++;break}case z.SolarPanel:{l.solarPanelCount++;const c=s,u=e().getPvModule(c.pvModelName);u&&(l.solarPanelModuleCount+=xe.countSolarPanelsOnRack(c,u));break}case z.ParabolicDish:{l.parabolicDishCount++;break}case z.ParabolicTrough:{l.parabolicTroughCount++;break}case z.FresnelReflector:{l.fresnelReflectorCount++;break}case z.Heliostat:{l.heliostatCount++;break}case z.WindTurbine:{l.windTurbineCount++;break}}return l},countAllOffspringsByTypeAtOnce(a,l){const s=new mSe;for(const c of e().elements){const u=c.parentId===a||c.foundationId===a;if(u&&(c.locked?s.lockedCount++:s.unlockedCount++),(l||!c.locked)&&u)switch(c.type){case z.Foundation:{c.solarStructure===zn.UpdraftTower&&s.solarUpdraftTowerCount++,s.foundationCount++;break}case z.Cuboid:{s.cuboidCount++;break}case z.Wall:{s.wallCount++;break}case z.Window:{s.windowCount++,c.locked&&s.lockedWindowCount++;break}case z.Door:{s.doorCount++,c.locked&&s.lockedDoorCount++;break}case z.Human:{s.humanCount++;break}case z.Tree:{s.treeCount++;break}case z.Flower:{s.flowerCount++;break}case z.Polygon:{s.polygonCount++,c.locked&&s.lockedPolygonCount++;break}case z.Sensor:{s.sensorCount++,c.locked&&s.lockedSensorCount++;break}case z.Light:{c.inside?s.insideLightCount++:s.outsideLightCount++,c.locked&&s.lockedLightCount++;break}case z.SolarPanel:{s.solarPanelCount++,c.locked&&s.lockedSolarPanelCount++;const d=c,f=e().getPvModule(d.pvModelName);f&&(s.solarPanelModuleCount+=xe.countSolarPanelsOnRack(d,f));break}case z.ParabolicDish:{s.parabolicDishCount++;break}case z.ParabolicTrough:{s.parabolicTroughCount++;break}case z.FresnelReflector:{s.fresnelReflectorCount++;break}case z.Heliostat:{s.heliostatCount++;break}case z.WindTurbine:{s.windTurbineCount++,c.locked&&s.lockedWindTurbineCount++;break}}}return s},countSolarPanelsOnRack(a){let l=0;for(const s of e().elements)if(s.id===a&&s.type===z.SolarPanel){const c=s,u=e().getPvModule(c.pvModelName);if(u){l=xe.countSolarPanelsOnRack(c,u);break}}return l},copyCutElements(){const a=[],l=new Map,s=new Map,c=new Map;for(let u=0;ug.id===d.parentId);if(p){const g=l.get(p.id);g&&(e().getElementById(d.id)?f=Nl.clone(g,d,d.cx,d.cy,d.cz,d.type===z.Polygon):f=JSON.parse(JSON.stringify(d)))}}f&&(l.set(d.id,f),s.set(d.id,f.id),c.set(f.id,d.id),a.push(f))}for(const u of a){if(u.type===z.Roof){const d=c.get(u.id);if(d)for(const f of e().elementsToPaste)f.id===d&&(u.wallsId=f.wallsId.map(p=>s.get(p)))}if(u.type===z.Wall){const d=c.get(u.id);if(d){for(const f of e().elementsToPaste)if(f.id===d&&f.type===z.Wall){const p=f,g=s.get(p.leftJoints[0]);g&&(u.leftJoints=[g]);const A=s.get(p.rightJoints[0]);if(A&&(u.rightJoints=[A]),p.roofId){const w=s.get(p.roofId);w&&(u.roofId=w)}break}}}}return a},pasteElementsToPoint(){const a=[];return r(l=>{if(l.elementsToPaste.length===1){let s=l.pastePoint;const c=l.elementsToPaste[0];let u=l.selectedElement;const d=l.getParent(c);if(u){if(u.type===z.Polygon){const p=l.getParent(u);p&&(u=p,c.parentId=u.id,xe.isPositionRelative(c.type)&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u)))}else if(u.type===z.Roof){if(u.parentId){const p=l.getElementById(u.parentId);p&&(s.sub(new re(p.cx,p.cy,p.lz)).applyEuler(new Qt(0,0,-p.rotation[2])),c.type!==z.Window&&(s.setX(s.x/p.lx),s.setY(s.y/p.ly)))}}else if(u.type===z.Cuboid){if(c.type===z.Cuboid){const{pos:p}=xe.getWorldDataById(u.id);s.sub(p)}else xe.isPositionRelative(c.type)&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u));c.parentId=u.id}else u.type===z.Wall?s=xe.relativeCoordinates(s.x,s.y,s.z,u):d&&d.type&&c.type!==z.Foundation&&(c.parentId=u.id,xe.isPositionRelative(c.type)&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u)));c.type===z.Wall&&s.set(s.x*u.lx,s.y*u.ly,0)}const f=Nl.clone(u,c,s.x,s.y,s.z,!1,l.pasteNormal,d);if(f){l.pasteNormal&&(f.normal=l.pasteNormal.toArray());const p={lng:l.language};let g=!1;switch(f.type){case z.Cuboid:{const A=C=>{const P=[];for(const v of e().elements)if(v.parentId===C.id)switch(P.push(v),v.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:P.push(...A(v))}return P},w=A(c),b=new Map;a.push(f),b.set(c.id,f);for(const C of w){const P=b.get(C.parentId);if(P){const v=Nl.clone(P,C,C.cx,C.cy,C.cz,C.type===z.Polygon);v&&(f.normal&&(v.normal=[...C.normal]),a.push(v),b.set(C.id,v))}}l.elements.push(...a),l.elementsToPaste=[f],g=!1;break}case z.Foundation:{const A=new Map,w=new Map;for(const b of l.elements)if(b.parentId===c.id){const C=Nl.clone(f,b,b.cx,b.cy,b.cz,b.type===z.Polygon);if(C&&(f.normal&&(C.normal=[...b.normal]),a.push(C),(C==null?void 0:C.type)===z.Wall||(C==null?void 0:C.type)===z.Roof)){A.set(C.id,b.id),w.set(b.id,C.id);for(const P of l.elements)if(P.parentId===b.id){const v=Nl.clone(C,P,P.cx,P.cy,P.cz);v&&(b.normal&&(v.normal=[...P.normal]),a.push(v))}}}l.elements.push(...a),g=!0;for(const b of l.elements){if(b.type===z.Roof){const C=A.get(b.id);if(C){const P=e().getElementById(C);P&&(b.wallsId=P.wallsId.map(v=>w.get(v)))}}if(b.type===z.Wall){const C=A.get(b.id);if(C){for(const P of l.elements)if(P.id===C&&P.type===z.Wall){const v=P,T=w.get(v.leftJoints[0]);T&&(b.leftJoints=[T]);const y=w.get(v.rightJoints[0]);if(y&&(b.rightJoints=[y]),v.roofId){const S=w.get(v.roofId);S&&(b.roofId=S)}break}}}}break}case z.SolarPanel:case z.Sensor:case z.Light:case z.WindTurbine:case z.ParabolicDish:case z.Heliostat:case z.FresnelReflector:case z.ParabolicTrough:{if((u==null?void 0:u.type)===z.Wall){if(u)switch(xe.checkElementOnWallState(f,u)){case fc.Valid:{const A=u.relativeAngle-Vt;f.normal=[Math.cos(A),Math.sin(A),0],g=!0;break}case fc.OverLap:Do(j.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Do(j.t("message.CannotPasteOutsideBoundary",p));break}break}if(u&&u.type===z.Roof){if(f.foundationId){const A=l.getElementById(f.foundationId);if(A){const w=In.getSolarPanelVerticesOnRoof(f,A),b=In.getRoofBoundaryVertices(u);if(!In.rooftopElementBoundaryCheck(w,b)){Do(j.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopSPCollisionCheck(f,A,w)){Do(j.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0,l.updateElementOnRoofFlag=!0}}break}l.overlapWithSibling(f)?Do(j.t("message.CannotPasteBecauseOfOverlap",p)):u&&(u.type===z.Foundation||u.type===z.Cuboid&&xe.isIdentical(f.normal,o0))&&xe.isSolarCollector(f)?(g=xe.isSolarCollectorWithinHorizontalSurface(f,u),g||Do(j.t("message.CannotPasteOutsideBoundary",p))):g=!0;break}case z.Wall:{const A=new re(f.cx,f.cy,0),w=new re(f.lx/2,0,0),b=new re(-f.lx/2,0,0),C=f,P=new Qt(0,0,C.relativeAngle);C.leftPoint=A.clone().add(b.applyEuler(P)).toArray(),C.rightPoint=A.clone().add(w.applyEuler(P)).toArray(),C.roofId=void 0,C.leftRoofHeight=void 0,C.rightRoofHeight=void 0,C.centerLeftRoofHeight=void 0,C.centerRightRoofHeight=void 0,C.centerRoofHeight=void 0;for(const v of l.elements)if(v.parentId===c.id){const T=Nl.clone(f,v,v.cx,v.cy,v.cz,v.type===z.Polygon);T&&(f.normal&&(T.normal=[...v.normal]),a.push(T))}l.elements.push(...a),l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,g=!0;break}case z.Door:case z.Window:{if((u==null?void 0:u.type)===z.Wall)switch(xe.checkElementOnWallState(f,u)){case fc.Valid:g=!0;break;case fc.OverLap:Do(j.t("message.CannotPasteBecauseOfOverlap",p));break;case fc.OutsideBoundary:Do(j.t("message.CannotPasteOutsideBoundary",p));break}else if((u==null?void 0:u.type)===z.Roof){const A=In.getRotationOnRoof(u.id,s);A&&(f.rotation=[...A]);const w=In.getWindowVerticesOnRoof(f),b=In.getRoofSegmentBoundary(u.id,s);if(!b)break;if(!In.rooftopElementBoundaryCheck(w,b)){Do(j.t("message.CannotPasteOutsideBoundary",p));break}if(!In.rooftopWindowCollisionCheck(f.id,w,u.id)){Do(j.t("message.CannotPasteBecauseOfOverlap",p));break}g=!0}break}default:if(g=!0,xe.isPlantOrHuman(f))if(u){const A=l.getParent(f);if(A){const w=xe.relativePoint(l.pastePoint,A);f.cx=w.x,f.cy=w.y,f.cz=w.z}}else f.parentId=Zo}g&&(l.elements.push(f),a.push(f))}}else if(l.elementsToPaste.length>1){let s=l.pastePoint;const c=l.copyCutElements();if(c.length>0){if(c[0].type===z.Cuboid){const u=l.selectedElement;if(u&&u.type===z.Cuboid){const{pos:d}=xe.getWorldDataById(u.id);s.sub(d),c[0].parentId=u.id}}else if(c[0].type===z.Wall){const u=l.selectedElement;u&&u.type===z.Foundation&&(s=xe.relativeCoordinates(s.x,s.y,s.z,u),s.set(s.x*u.lx,s.y*u.ly,0),c[0].parentId=u.id,c[0].foundationId=u.id)}c[0].cx=s.x,c[0].cy=s.y,c[0].cz=s.z,c[0].type===z.Foundation?c[0].cz+=c[0].lz/2:c[0].type===z.Cuboid&&(c[0].cz=c[0].lz/2),l.elements.push(...c),a.push(...c)}}a.length>0&&(l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(a[0].id),l.selectedElement=a[0])}),a},pasteElementsByKey(){const a=[];return r(l=>{if(l.elementsToPaste.length>0){const s=l.elementsToPaste[0],c=l.getParent(s),u=Nl.clone(c,s,s.cx,s.cy,s.cz);if(u){let d=!1;switch(u.type){case z.Door:case z.Window:{if(c){const f=u.lx/2;if(u.cx+=f*3,c.type===z.Wall)for(;u.cx+f<.5;)if(xe.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=f;else if(c.type===z.Roof){const p=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));p&&(u.rotation=[...p]);let g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy));const w=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,w);)if(A&&In.rooftopElementBoundaryCheck(g,A)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx+=f/2;const b=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));b&&(u.rotation=[...b]),g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy))}}if(!d){u.cx=s.cx-f*3;const p=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));if(p&&(u.rotation=[...p]),c.type===z.Wall){for(;u.cx-f>-.5;)if(c.type===z.Wall)if(xe.checkElementOnWallState(u,c)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx-=f}else if(c.type===z.Roof){let g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy));const w=In.getRoofBoundaryVertices(c);for(;In.rooftopElementBoundaryCheck(g,w);)if(A&&In.rooftopElementBoundaryCheck(g,A)&&In.rooftopWindowCollisionCheck(u.id,g,c.id)){l.elements.push(u),d=!0;break}else{u.cx-=f;const b=In.getRotationOnRoof(c.id,new re(u.cx,u.cy));b&&(u.rotation=[...b]),g=In.getWindowVerticesOnRoof(u),A=In.getRoofSegmentBoundary(c.id,new re(u.cx,u.cy))}}}if(!d){const p={lng:l.language};Do(j.t("message.CannotPasteOutsideBoundary",p))}c.type===z.Roof&&d&&(l.updateElementOnRoofFlag=!0)}break}case z.Human:{u.cx+=1,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.Tree:case z.Flower:{u.cx+=u.lx,l.elements.push(u),l.elementsToPaste=[u],d=!0;break}case z.SolarPanel:case z.FresnelReflector:case z.Heliostat:case z.ParabolicDish:case z.ParabolicTrough:{if(u.parentId){const f=l.getParent(u);if(f){if(f.type===z.Wall){const A=u.lx/f.lx/2;for(u.cx+=A*3;u.cx+A<.5;)if(xe.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),d=!0;break}else u.cx+=A;if(!d)for(u.cx=s.cx-A*3;u.cx-A>-.5;)if(xe.checkElementOnWallState(u,f)===fc.Valid){l.elements.push(u),l.elementsToPaste=[u],d=!0;break}else u.cx-=A;if(!d){const w={lng:l.language};Do(j.t("message.CannotPasteOutsideBoundary",w))}break}else if(f.type===z.Roof){if(s.foundationId){const A=l.getElementById(s.foundationId);if(A){const w=In.getRoofBoundaryVertices(f),b=u.lx/A.lx/2;for(u.cx+=b*1.25;u.cx+b<.5;){const C=In.getSolarPanelVerticesOnRoof(u,A);if(In.rooftopElementBoundaryCheck(C,w)&&In.rooftopSPCollisionCheck(u,A,C)){l.elements.push(u),d=!0;break}else u.cx+=b*1.25}if(!d)for(u.cx=s.cx-b*1.25;u.cx-b>-.5;){const C=In.getSolarPanelVerticesOnRoof(u,A);if(In.rooftopElementBoundaryCheck(C,w)&&In.rooftopSPCollisionCheck(u,A,C)){l.elements.push(u),d=!0;break}else u.cx-=b*1.25}if(d)l.updateElementOnRoofFlag=!0;else{const C={lng:l.language};Do(j.t("message.CannotPasteOutsideBoundary",C))}}}break}const p=l.findNearestSibling(s.id);if(p){const A=l.getElementById(p);if(A){const w=u.cx,b=u.cy,C=u.cz,P=A.cx-s.cx,v=A.cy-s.cy,T=A.cz-s.cz;u.cx=A.cx+P,u.cy=A.cy+v,u.cz=A.cz+T,l.overlapWithSibling(u)&&(u.cx=s.cx-P,u.cy=s.cy-v,u.cz=s.cz-T,l.overlapWithSibling(u)&&(u.cx=s.cx-2*P,u.cy=s.cy-2*v,u.cz=s.cz-2*T,l.overlapWithSibling(u)&&(u.cx=w-P,u.cy=b-v,u.cz=C-T)))}else u.cx+=(.01+u.lx)/f.lx}else u.cx+=(.01+u.lx)/f.lx;const g={lng:l.language};l.overlapWithSibling(u)?Do(j.t("message.CannotPasteBecauseOfOverlap",g)):f.type===z.Foundation||f.type===z.Cuboid&&xe.isIdentical(u.normal,o0)?xe.isSolarCollectorWithinHorizontalSurface(u,f)?(l.elements.push(u),l.elementsToPaste=[u],d=!0):Do(j.t("message.CannotPasteOutsideBoundary",g)):(l.elements.push(u),l.elementsToPaste=[u],d=!0)}}break}case z.Sensor:case z.Light:case z.WindTurbine:{if(u.parentId){const f=l.getParent(u);f&&(u.cx+=u.lx/f.lx),u.cx<.5&&(l.elements.push(u),l.elementsToPaste=[u],d=!0)}break}case z.Polygon:{const f=u;for(const p of f.vertices)p.x+=.1;f.cx+=.1,l.elements.push(f),l.elementsToPaste=[f],d=!0;break}case z.Cuboid:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=A=>{const w=[];for(const b of e().elements)if(b.parentId===A.id)switch(w.push(b),b.type){case z.Cuboid:case z.Foundation:case z.Wall:case z.Roof:w.push(...f(b))}return w},p=f(s),g=new Map;a.push(u),g.set(s.id,u);for(const A of p){const w=g.get(A.parentId);if(w){const b=Nl.clone(w,A,A.cx,A.cy,A.cz,A.type===z.Polygon);b&&(u.normal&&(b.normal=[...A.normal]),a.push(b),g.set(A.id,b))}}l.elements.push(...a),l.elementsToPaste=[u],l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),l.elementsToPaste=[...f],a.push(...f),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!1;break}case z.Foundation:{if(u.cx+=u.lx,l.elementsToPaste.length===1){const f=new Map,p=new Map;for(const g of l.elements)if(g.parentId===s.id&&g.parentId!==g.id){const A=Nl.clone(u,g,g.cx,g.cy,g.cz,g.type===z.Polygon);if(A&&(u.normal&&(A.normal=[...g.normal]),a.push(A),(A==null?void 0:A.type)===z.Wall||(A==null?void 0:A.type)===z.Roof)){f.set(A.id,g.id),p.set(g.id,A.id);for(const w of l.elements)if(w.parentId===g.id){const b=Nl.clone(A,w,w.cx,w.cy,w.cz);b&&(g.normal&&(b.normal=[...w.normal]),a.push(b))}}}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u];for(const g of l.elements){if(g.type===z.Roof){const A=f.get(g.id);if(A){const w=e().getElementById(A);w&&(g.wallsId=w.wallsId.map(b=>p.get(b)))}}if(g.type===z.Wall){const A=f.get(g.id);if(A){for(const w of l.elements)if(w.id===A&&w.type===z.Wall){const b=w,C=p.get(b.leftJoints[0]);C&&(g.leftJoints=[C]);const P=p.get(b.rightJoints[0]);if(P&&(g.rightJoints=[P]),b.roofId){const v=p.get(b.roofId);v&&(g.roofId=v)}break}}}}}else if(l.elementsToPaste.length>1){const f=l.copyCutElements();f.length>0&&(f[0].cx+=f[0].lx,l.elements.push(...f),a.push(...f),l.elementsToPaste=f,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(f[0].id),l.selectedElement=f[0])}d=!0;break}case z.Wall:{const f=u,p=new re(1,-1,0).applyEuler(new Qt(0,0,f.relativeAngle));if(u.cx+=p.x,u.cy+=p.y,l.elementsToPaste.length===1){const g=new re(u.cx,u.cy,0),A=new re(u.lx/2,0,0),w=new re(-u.lx/2,0,0),b=new Qt(0,0,f.relativeAngle);f.leftPoint=g.clone().add(w.applyEuler(b)).toArray(),f.rightPoint=g.clone().add(A.applyEuler(b)).toArray(),f.roofId=void 0,f.leftRoofHeight=void 0,f.rightRoofHeight=void 0,f.centerLeftRoofHeight=void 0,f.centerRightRoofHeight=void 0,f.centerRoofHeight=void 0;for(const C of l.elements)if(C.parentId===s.id){const P=Nl.clone(u,C,C.cx,C.cy,C.cz,C.type===z.Polygon);P&&(u.normal&&(P.normal=[...C.normal]),a.push(P))}l.elements.push(...a),l.elements.push(u),l.elementsToPaste=[u]}else if(l.elementsToPaste.length>1){const g=l.copyCutElements();g.length>0&&(g[0].cx+=p.x,g[0].cy-=p.y,l.elements.push(...g),a.push(...g),l.elementsToPaste=g,l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(g[0].id),l.selectedElement=g[0])}l.updateWallMapOnFoundationFlag=!l.updateWallMapOnFoundationFlag,d=!0;break}}l.elementsToPaste.length===1&&d&&(a.push(u),l.selectedElementIdSet.clear(),l.selectedElementIdSet.add(u.id),l.selectedElement=u)}}}),a},pvModules:{},loadPvModules(){const a=[];JB.parse(uht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c={name:s[0].trim(),brand:s[1].trim(),cellType:s[2].trim(),efficiency:parseFloat(s[3].trim()),length:parseFloat(s[4].trim()),nominalLength:parseFloat(s[5].trim()),width:parseFloat(s[6].trim()),nominalWidth:parseFloat(s[7].trim()),thickness:parseFloat(s[8].trim()),m:parseFloat(s[9].trim()),n:parseFloat(s[10].trim()),pmax:parseFloat(s[11].trim()),vmpp:parseFloat(s[12].trim()),impp:parseFloat(s[13].trim()),voc:parseFloat(s[14].trim()),isc:parseFloat(s[15].trim()),pmaxTC:parseFloat(s[16].trim()),noct:parseFloat(s[17].trim()),weight:parseFloat(s[18].trim()),color:s[19].trim(),shadeTolerance:s[20].trim(),bifacialityFactor:parseFloat(s[21].trim())};a.push(c)}r(s=>{for(const c of a)s.pvModules[c.name]=c})}})},getPvModule(a){return e().pvModules[a]},weatherModel:void 0,setWeatherModel(a){r(l=>{l.weatherModel=l.weatherData[a]})},weatherData:{},loadWeatherData(){if(Object.keys(e().weatherData).length>0)return;const a=[];JB.parse(lht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[],u=[],d=[];for(let p=5;p<29;p++)(p-5)%2===0?c.push(parseFloat(s[p].trim())):u.push(parseFloat(s[p].trim()));for(let p=29;p<41;p++)d.push(parseFloat(s[p].trim()));const f={city:s[0].trim(),country:s[1].trim(),longitude:parseFloat(s[2].trim()),latitude:parseFloat(s[3].trim()),elevation:parseFloat(s[4].trim()),lowestTemperatures:c,highestTemperatures:u,sunshineHours:d};a.push(f)}r(s=>{for(const c of a)s.weatherData[c.city+", "+c.country]=c;s.weatherModel=s.weatherData["Boston MA, USA"]}),console.log(a.length+" weather datasets loaded")}})},getWeather(a){const l=e().weatherModel;return l||e().weatherData[a]},horizontalSolarRadiationData:{},loadHorizontalSolarRadiationData(){const a=[];JB.parse(sht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.horizontalSolarRadiationData[c.city+", "+c.country]=c})}})},getHorizontalSolarRadiation(a){return e().horizontalSolarRadiationData[a]},verticalSolarRadiationData:{},loadVerticalSolarRadiationData(){const a=[];JB.parse(cht,{download:!0,complete:function(l){for(const s of l.data)if(Array.isArray(s)&&s.length>1){const c=[];for(let d=2;d<14;d++)c.push(parseFloat(s[d].trim()));const u={city:s[0].trim(),country:s[1].trim(),data:c};a.push(u)}r(s=>{for(const c of a)s.verticalSolarRadiationData[c.city+", "+c.country]=c})}})},getVerticalSolarRadiation(a){return e().verticalSolarRadiationData[a]},getClosestCity(a,l){let s=Number.MAX_VALUE,c=null,u;const d=e().weatherData;for(const f in d)Object.hasOwn(d,f)&&(u=xe.getDistance(l,a,d[f].longitude,d[f].latitude),u{l.sunlightDirection=a.clone()})},cameraDirection:new re,getCameraDirection(){return e().cameraDirection},updateSceneRadiusFlag:!1,updateSceneRadius(){r(a=>{a.updateSceneRadiusFlag=!a.updateSceneRadiusFlag})},sceneRadius:100,setSceneRadius(a){r(l=>{l.sceneRadius=a})},selectedElementAngle:0,selectedElementHeight:0,selectedElementX:0,selectedElementY:0,isAddingElement(){return!!(e().addedCuboidId||e().addedFoundationId||e().addedWallId||e().addedWindowId||e().addedDoorId)},addedFoundationId:null,deletedFoundationId:null,addedCuboidId:null,deletedCuboidId:null,addedWallId:null,deletedWallId:null,updateWallMapOnFoundationFlag:!1,updateWallMapOnFoundation(){r(a=>{a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},updateElementOnRoofFlag:!1,setUpdateElementOnRoofFlag(a){r(l=>{l.updateElementOnRoofFlag=a})},updateElementOnRoofFn(){r(a=>{a.updateElementOnRoofFlag=!0})},addedWindowId:null,addedDoorId:null,addedRoofIdSet:new Set,deletedRoofId:null,deletedRoofIdSet:new Set,autoDeletedRoofs:null,autoDeletedRoofIdSet:new Set,autoDeletedChild:null,getAutoDeletedElements(){const a=e().autoDeletedRoofs,l=e().autoDeletedChild;return!a||!l?null:[...a,...l]},deleteAddedRoofId(a){r(l=>{l.addedRoofIdSet.delete(a)})},groupActionMode:!1,setGroupActionMode(a){r(l=>{l.groupActionMode=a})},groupActionUpdateFlag:!1,locale:Npe,localFileDialogRequested:!1,loggable:!1,actionInfo:void 0,currentUndoable:void 0,showCloudFileTitleDialog:!1,showCloudFileTitleDialogFlag:!1,localContentToImportAfterCloudFileUpdate:void 0,enableFineGrid:!1,setEnableFineGrid(a){r(l=>{l.enableFineGrid=a})}}},{name:"aladdin-storage",storage:JNe(()=>new URLSearchParams(window.location.search).get("viewonly")==="true"?sessionStorage:localStorage),skipHydration:xe.isOpenFromURL(),partialize:t=>({language:t.language,animate24Hours:t.animate24Hours,floatingWindowOpacity:t.floatingWindowOpacity,selectedFloatingWindow:t.selectedFloatingWindow,locale:t.locale,cloudFile:t.cloudFile,latestModelSite:t.latestModelSite,modelSites:t.modelSites,modelsMapLatitude:t.modelsMapLatitude,modelsMapLongitude:t.modelsMapLongitude,modelsMapAddress:t.modelsMapAddress,modelsMapZoom:t.modelsMapZoom,modelsMapType:t.modelsMapType,modelsMapTilt:t.modelsMapTilt,world:t.world,elements:t.elements,viewState:t.viewState,graphState:t.graphState,actionState:t.actionState,modelType:t.modelType,modelAuthor:t.modelAuthor,modelLabel:t.modelLabel,modelDescription:t.modelDescription,projectView:t.projectView,projectState:t.projectState,designProjectType:t.designProjectType,notes:t.notes,user:t.user,sceneRadius:t.sceneRadius,weatherModel:t.weatherModel,solarPanelArrayLayoutParams:t.solarPanelArrayLayoutParams,solarPanelArrayLayoutConstraints:t.solarPanelArrayLayoutConstraints,economicsParams:t.economicsParams,evolutionMethod:t.evolutionMethod,evolutionaryAlgorithmState:t.evolutionaryAlgorithmState,geneticAlgorithmWizardSelectedTab:t.geneticAlgorithmWizardSelectedTab,particleSwarmOptimizationWizardSelectedTab:t.particleSwarmOptimizationWizardSelectedTab,minimumNavigationMoveSpeed:t.minimumNavigationMoveSpeed,minimumNavigationTurnSpeed:t.minimumNavigationTurnSpeed})})));class qQt extends be.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0}}componentDidCatch(e,n){}clearCacheAndReload(){localStorage.clear(),window.location.reload()}render(){return this.state.hasError?h.jsxs("div",{style:{marginTop:10,marginLeft:20},children:[h.jsx("h1",{children:"Error"}),h.jsx("p",{children:"Something went wrong. Please click the following button to clear the cache and reload the page."}),h.jsx("p",{children:h.jsx("button",{onClick:this.clearCacheAndReload,children:"Refresh"})})]}):this.props.children}}const $Qt=t=>{const e=typeof t=="function",n=m.useRef(t);m.useEffect(()=>{n.current=t}),m.useEffect(()=>{if(e){const o=i=>{const r=n.current(i);if(typeof r=="string")return i.preventDefault(),i.returnValue=r;if(i.defaultPrevented)return i.returnValue=""};return window.addEventListener("beforeunload",o),()=>{window.removeEventListener("beforeunload",o)}}},[e])},QQt=({children:t=null,onBeforeunload:e})=>($Qt(e),t),ZQt="/aladdin/assets/daysky-xGPh_lTa.jpg",eZt="/aladdin/assets/desert-C1g8PGRA.jpg",tZt="/aladdin/assets/dune-RJd7hu4h.jpg",nZt="/aladdin/assets/forest-DjILrMk4.jpg",oZt="/aladdin/assets/grassland-CDTfZBr_.jpg",HSe="/aladdin/assets/hill-spring-BepVmTLf.jpg",MSe="/aladdin/assets/hill-summer-RoU04vrD.jpg",ISe="/aladdin/assets/hill-fall-BPbpF4zI.jpg",zSe="/aladdin/assets/hill-winter-CQjb4ZNm.jpg",iZt="/aladdin/assets/lake-Dj_bK41O.jpg",rZt="/aladdin/assets/mountain-Du_Jo4ue.jpg",aZt="/aladdin/assets/rural-BqG-D3I1.jpg",lZt=be.memo(({theme:t="Default"})=>{const e=M(dn),n=M(lW),o=M(xb),i=M(nge),r=M(hge),a=M(vH),l=M(Vn),s=M(t3),c=M(rge),u=M(yh),d=M(Xs),f=M(Ya),p=M(En),g=M(e3),A=M(KBe),{scene:w,camera:b,gl:{domElement:C}}=Xi(),P=m.useRef(null),v=m.useRef(null),T=m.useRef(null),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new re),R=m.useRef(new re),H=m.useRef(new re(1,1,1)),D=m.useRef(0),k=m.useRef(0),W=m.useRef(new Map),N=m.useRef(new Map),L=m.useRef(new Map),E=m.useRef(new Map),U=m.useRef(null),F=Kt(),B=m.useMemo(()=>new Gs,[]),_=m.useMemo(()=>new Qt,[]),O=new Date(f).getMonth()+1,[J,Z]=m.useState(Kf.Sky),ie=m.useMemo(()=>new re,[]),ee=m.useMemo(()=>new Qt,[]);if(v.current&&u){J!==Kf.Vertical&&Z(Kf.Vertical);const oe=r(v.current,u),ge=i(),Ae=-Math.atan2(ge.x,ge.y);ie.set(oe.x,oe.y,0),ee.set(-Vt,0,Ae,"ZXY")}const q=m.useMemo(()=>{switch(t){case Ns.Desert:return .5;case Ns.Dune:return .25;case Ns.Forest:return .25;case Ns.Grassland:return .15;case Ns.Hill:return .3;case Ns.Lake:return .1;case Ns.Mountain:return .4;case Ns.Rural:return .25;default:return .2}},[t]),ae=m.useMemo(()=>{switch(t){case Ns.Desert:return eZt;case Ns.Dune:return tZt;case Ns.Forest:return nZt;case Ns.Grassland:return oZt;case Ns.Hill:return d>0?O>=12||O<=3?zSe:O>3&&O<=5?HSe:O>5&&O<=9?MSe:ISe:O>=12||O<=3?MSe:O>3&&O<=5?ISe:O>5&&O<=9?zSe:HSe;case Ns.Lake:return iZt;case Ns.Mountain:return rZt;case Ns.Rural:return aZt;default:return ZQt}},[t,O,d]),ne=Ab(ae),se=oe=>oe===z.Foundation||oe===z.Cuboid||oe===z.Tree||oe===z.Flower||oe===z.Human,le=oe=>{if(oe.intersections.length>0)if(oe.intersections[0].object===P.current)n(),e(Ae=>{Ae.clickObjectType=z.Sky});else{const Ae=o();Ae&&se(Ae.type)&&(v.current=Ae,xe.isPlantOrHuman(v.current)&&(Z(Kf.Vertical),ee.set(-Vt,0,0,"ZXY")),Ae.type!==z.Foundation&&Ae.type!==z.Cuboid&&Ln.getState().setEnableOrbitController(!1))}},te=oe=>{if(!oe)return"";const ge=oe.name.split(" ");return ge[2]?ge[2]:te(oe.parent)},he=(oe,ge)=>{if(oe==null)return null;for(const Ae of oe.children)if(Ae.name.includes(`${ge}`))return Ae;return null},pe=(oe,ge)=>{var Me,Te;const Ae=Ln.getState().contentRef,me=he(Ae==null?void 0:Ae.current,oe.id);if(me){for(const De of me.children)if(De.name.includes(`${ge.id}`)){(Te=(Me=Ln.getState().contentRef)==null?void 0:Me.current)==null||Te.add(De);break}}ge.parentId=Zo;const Pe=new re(ge.cx,ge.cy,ge.cz).applyEuler(new Qt(0,0,oe.rotation[2])).add(x.current);ge.cx=Pe.x,ge.cy=Pe.y,ge.cz=0,L.current.set(ge.id,new re(Pe.x,Pe.y,0)),E.current.set(ge.id,Zo)},fe=(oe,ge,Ae)=>{if(!oe||!ge)return;const me=Ln.getState().contentRef;if(me!=null&&me.current){const Pe=xe.getObjectChildById(me.current,ge),Me=xe.getObjectChildById(ge===Zo?me.current:Pe,Ae);if(Me){if(oe===Zo)me.current.add(Me);else{const Te=xe.getObjectChildById(me.current,oe);Te==null||Te.add(Me)}Zh()}}},$=(oe,ge)=>{oe&&e(Ae=>{for(const me of Ae.elements)if(me.id===ge&&!xe.isFoundationOrCuboid(me)){me.parentId=oe;break}})},de=oe=>{for(const ge of oe)if(ge.object.userData.stand)return ge;return null},Se=(oe,ge)=>{if(oe&&oe.current){const Ae=de(ge.intersections);if(Ae){const me=Ae.object,Pe=oe.current.parent;if(me.name==="Ground"){if(Pe&&Pe.name!=="Content"){const Me=Ln.getState().contentRef;Me&&Me.current&&(Me.current.add(oe.current),$(Zo,te(oe.current)))}oe.current.position.copy(Ae.point),Zh()}else if(me.userData.stand){const Me=me.parent;if(Me){Pe&&Pe.uuid!==Me.uuid&&(Me.add(oe.current),$(te(Me),te(oe.current))),_.set(0,0,-Me.rotation.z);const Te=new re().subVectors(Ae.point,Me.position).applyEuler(_);oe.current.position.copy(Te),Zh()}}}}},Ce=(oe,ge,Ae)=>{e(me=>{for(const Pe of me.elements)if(Pe.id===oe){xe.isFoundationOrCuboid(Pe)||(Pe.parentId=ge),Pe.cx=Ae.x,Pe.cy=Ae.y,Pe.cz=Ae.z;break}})},ve=()=>{if(M.getState().viewState.orthographic)return!1;if(P.current){const oe=B.intersectObjects(xe.fetchIntersectables(w),!1);if(oe.length>0){for(const ge of oe)if(ge.object.userData.stand)return!1}}return B.intersectObjects([P.current]).length>0},Ie=oe=>{if(v.current&&v.current.type&&!v.current.locked){const ge=new Gt;ge.x=oe.offsetX/C.clientWidth*2-1,ge.y=-(oe.offsetY/C.clientHeight)*2+1,B.setFromCamera(ge,b);let Ae;if(T.current&&J===Kf.Vertical&&(Ae=B.intersectObjects([T.current]),Ae&&Ae.length>0)){const me=Ae[0].point;switch(v.current.type){case z.Tree:{const Pe=v.current;switch(u){case gt.Top:c(Pe.id,me.z),e(Me=>{Me.selectedElementHeight=Math.max(1,me.z)});break;case gt.Left:case gt.Right:case gt.Upper:case gt.Lower:s(Pe.id,2*Math.hypot(me.x-Pe.cx,me.y-Pe.cy));break}Se(Ln.getState().treeRef,oe);break}case z.Human:{Se(Ln.getState().humanRef,oe);break}case z.Cuboid:{if(xe.isTopResizeHandle(u)){e(Me=>{var Te;for(const De of Me.elements)if(De.id===((Te=v.current)==null?void 0:Te.id)){De.cz=Math.max(.5,me.z/2),De.lz=Math.max(1,me.z);break}Me.selectedElementHeight=Math.max(1,me.z)});const Pe=Ln.getState().cuboidRef;if(Pe!=null&&Pe.current){for(const Me of Pe.current.children)if(Me.name.includes("Human")||Me.name.includes("Tree")){const Te=y.current.get(te(Me));Te&&(Math.abs(k.current-Te.z)<.01?Me.position.setZ(Math.max(me.z/2,.5)):Me.position.setZ(Te.z-Pe.current.position.z))}}}break}}}}},ze=oe=>{if(oe.button===2)return;e(Ae=>{Ae.contextMenuObjectType=null}),le(oe);const ge=v.current;if(ge)switch(k.current=ge.lz,x.current.set(ge.cx,ge.cy,ge.cz),ge.type){case z.Human:U.current=ge.parentId;break;case z.Tree:U.current=ge.parentId,D.current=ge.lx;break;case z.Cuboid:{x.current.set(ge.cx,ge.cy,ge.cz),H.current.set(ge.lx,ge.ly,ge.lz),y.current.clear();const Ae=new re(ge.cx,ge.cy,ge.cz),me=a(ge.id);if(me.length>0){W.current.clear();const Pe=ge.rotation[2];for(const Me of me)switch(Me.type){case z.Tree:case z.Human:{const Te=new re(Me.cx,Me.cy,Me.cz).applyEuler(new Qt(0,0,Pe));Te.add(Ae),y.current.set(Me.id,Te),W.current.set(Me.id,new re(Me.cx,Me.cy,Me.cz));break}case z.SolarPanel:case z.Sensor:{if(xe.isIdentical(Me.normal,o0)){const Te=new re(Me.cx*ge.lx,Me.cy*ge.ly,Me.cz*ge.lz).applyEuler(new Qt(0,0,Pe));Te.add(Ae),y.current.set(Me.id,Te)}break}case z.Polygon:{if(xe.isIdentical(Me.normal,o0)){const Te=Me,De=[];for(const Ne of Te.vertices){const Ye=new Gt(Ne.x*ge.lx,Ne.y*ge.ly).rotateAround(wr,Pe);Ye.add(new Gt(Ae.x,Ae.y)),De.push(Ye)}S.current.set(Te.id,De)}break}}}break}}},ye=()=>{var oe,ge;if(v.current){const Ae=l(v.current.id);if(Ae&&!Ae.locked){let me=null,Pe=U.current;switch(Ae.type){case z.Cuboid:switch(u){case gt.UpperLeftTop:case gt.UpperRightTop:case gt.LowerLeftTop:case gt.LowerRightTop:{N.current.clear(),e(De=>{De.actionState.cuboidHeight=Ae.lz;for(const Ne of De.elements)if(xe.isPlantOrHuman(Ne)&&Ne.parentId===Ae.id)if(N.current.set(Ne.id,Ae.id),Math.abs(H.current.z/2-Ne.cz)<.01)Ne.cz=Ae.lz/2;else{const Ye=Ne.cz+x.current.z-Ae.cz;Math.abs(Ye)>Ae.lz/2?pe(Ae,Ne):Ne.cz=Ye}});const Me=a(Ae.id);if(Me.length>0)for(const De of Me)L.current.set(De.id,new re(De.cx,De.cy,De.cz));const Te={name:"Change Cuboid Height",timestamp:Date.now(),changedElementId:Ae.id,changedElementType:Ae.type,oldValue:k.current,newValue:Ae.lz,oldChildrenPositionsMap:new Map(W.current),newChildrenPositionsMap:new Map(L.current),oldChildrenParentIdMap:new Map(N.current),newChildrenParentIdMap:new Map(E.current),undo:()=>{var De,Ne;if(e(Ye=>{for(const Le of Ye.elements)if(Le.id===Te.changedElementId){Le.lz=Te.oldValue,Le.cz=Te.oldValue/2;break}}),Te.oldChildrenPositionsMap&&Te.oldChildrenPositionsMap.size>0)for(const[Ye,Le]of Te.oldChildrenPositionsMap.entries()){const $e=l(Ye);if(($e==null?void 0:$e.type)!==z.Polygon){g(Ye,Le.x,Le.y,Le.z);const We=(De=Te.oldChildrenParentIdMap)==null?void 0:De.get(Ye),Ee=(Ne=Te.newChildrenParentIdMap)==null?void 0:Ne.get(Ye);We&&Ee&&We!==Ee&&(fe(We,Ee,Ye),$(We,Ye))}}},redo:()=>{var De,Ne;if(e(Ye=>{for(const Le of Ye.elements)if(Le.id===Te.changedElementId){Le.lz=Te.newValue,Le.cz=Te.newValue/2;break}}),Te.newChildrenPositionsMap&&Te.newChildrenPositionsMap.size>0)for(const[Ye,Le]of Te.newChildrenPositionsMap.entries()){g(Ye,Le.x,Le.y,Le.z);const $e=(De=Te.oldChildrenParentIdMap)==null?void 0:De.get(Ye),We=(Ne=Te.newChildrenParentIdMap)==null?void 0:Ne.get(Ye);$e&&We&&$e!==We&&(fe(We,$e,Ye),$(We,Ye))}}};p(Te);break}}break;case z.Tree:switch(u){case gt.Top:{const Me={name:"Change Tree Height",timestamp:Date.now(),changedElementId:Ae.id,changedElementType:Ae.type,oldValue:k.current,newValue:Ae.lz,undo:()=>{c(Me.changedElementId,Me.oldValue)},redo:()=>{c(Me.changedElementId,Me.newValue)}};p(Me),e(Te=>{Te.actionState.treeHeight=Ae.lz});break}case gt.Left:case gt.Right:case gt.Lower:case gt.Upper:{const Me={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:Ae.id,changedElementType:Ae.type,oldValue:D.current,newValue:Ae.lx,undo:()=>{s(Me.changedElementId,Me.oldValue)},redo:()=>{s(Me.changedElementId,Me.newValue)}};p(Me),e(Te=>{Te.actionState.treeSpread=Ae.lx});break}}me=(oe=Ln.getState().treeRef)==null?void 0:oe.current;break;case z.Human:me=(ge=Ln.getState().humanRef)==null?void 0:ge.current;break}if(me){const Me=B.intersectObjects(xe.fetchIntersectables(w),!1),Te=de(Me);if(Te){const De=Te.point;if(Te.object.name==="Ground")Ce(Ae.id,Zo,De),R.current.set(De.x,De.y,De.z),Pe=Zo;else if(Te.object.userData.stand){const Ne=te(Te.object),Ye=Te.object.parent;if(Ye){const Le=new re().subVectors(De,Ye.position).applyEuler(_);Ce(Ae.id,Ne,Le),R.current.set(Le.x,Le.y,Le.z),Pe=Ne}}}}if(M.getState().moveHandleType&&xe.isPlantOrHuman(Ae)&&(R.current.distanceToSquared(x.current)>Dt||B.intersectObjects([P.current]).length>0)){let Me=!0;if(!M.getState().viewState.orthographic&&(Me=R.current.length().02}if(!Me||ve()){g(Ae.id,x.current.x,x.current.y,x.current.z),me&&xe.isPlantOrHuman(Ae)&&me.position.copy(x.current),xe.isPlantOrHuman(Ae)&&$(U.current,Ae.id);const Te=Ln.getState().contentRef;if(Te!=null&&Te.current&&U.current&&me){if(U.current===Zo)Te.current.add(me);else{const De=xe.getObjectChildById(Te.current,U.current);De==null||De.add(me)}Zh()}Do(j.t("message.CannotMoveObjectTooFar",F))}else{const Te={name:"Move",timestamp:Date.now(),movedElementId:Ae.id,movedElementType:Ae.type,oldCx:x.current.x,oldCy:x.current.y,oldCz:x.current.z,newCx:R.current.x,newCy:R.current.y,newCz:R.current.z,oldParentId:U.current,newParentId:Pe,undo:()=>{g(Te.movedElementId,Te.oldCx,Te.oldCy,Te.oldCz),$(Te.oldParentId,Te.movedElementId),fe(Te.oldParentId,Te.newParentId,Te.movedElementId)},redo:()=>{g(Te.movedElementId,Te.newCx,Te.newCy,Te.newCz),$(Te.newParentId,Te.movedElementId),fe(Te.newParentId,Te.oldParentId,Te.movedElementId)}};p(Te),A()}}}v.current=null,Z(Kf.Sky),e(me=>{me.moveHandleType=null,me.resizeHandleType=null,me.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null}),Ln.getState().setEnableOrbitController(!0)}};return h.jsxs(h.Fragment,{children:[h.jsxs("mesh",{ref:P,name:"Sky",rotation:[Vt,0,0],scale:[1,q,1],onContextMenu:oe=>{oe.intersections.length>0&&oe.intersections[0].object===P.current&&(n(),e(Ae=>{Ae.clickObjectType=z.Sky,Ae.contextMenuObjectType=z.Sky}))},onPointerDown:ze,children:[h.jsx("sphereGeometry",{args:[z3t,16,8,0,na,0,Vt]}),h.jsx("meshToonMaterial",{map:ne,side:p0,opacity:1,color:"skyblue"})]}),v.current&&J!==Kf.Sky&&h.jsx(sa,{ref:T,visible:!1,name:"Sky Intersection Plane",rotation:ee,position:ie,args:[1e3,1e3],onPointerMove:M2.throttle(Ie,Ek),onPointerUp:ye,children:h.jsx("meshStandardMaterial",{side:ji})})]})}),sZt=be.memo(({lineWidth:t=1,endPoint:e=1e3,showTickMarks:n=!0,showTickLabels:o=!0})=>{const i=M(twt),r=M(mh),a=M(hu),[l,s]=m.useState(!1),c=50,u=m.useRef(1),d=m.useRef(u.current*10),f=m.useRef(new Array(c).fill(1)),p=.1,g=.3,A="FloralWhite",w=t/2,b=aA(sq,oQ),C=Math.min(1,Math.max(.5,r*.01)),P={font:b,height:0,size:C},v=a?i.max.z+.01:0;m.useEffect(()=>{r<50?u.current=1:r<100?u.current=2:u.current=5,d.current=10*u.current,f.current=new Array(c).fill(1),s(!l)},[r]);const T=y=>y%(5*u.current)===0?g:p;return h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},name:"x axis line",points:[[-e,0,v],[e,0,v]],color:"red",lineWidth:t}),a&&n&&f.current.map((y,S)=>{const x=(S+1)*u.current,R=T(x);return h.jsxs(be.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[x,-R,v],[x,R,v]],color:A,lineWidth:w}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-x,-R,v],[-x,R,v]],color:A,lineWidth:w})]},x)}),a&&o&&f.current.map((y,S)=>{const x=(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[x-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(x<10?" ":"")+x,P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),a&&o&&f.current.map((y,S)=>{const x=-(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[x-C,-g*2-C,v],children:[h.jsx("textGeometry",{args:[(x>-10?" ":"")+x,P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),h.jsx(Fn,{name:"y axis line",userData:{unintersectable:!0},points:[[0,-e,v],[0,e,v]],color:"blue",lineWidth:t}),a&&n&&f.current.map((y,S)=>{const x=(S+1)*u.current,R=T(x);return h.jsxs(be.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,x,v],[R,x,v]],color:A,lineWidth:w*1.5}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[-R,-x,v],[R,-x,v]],color:A,lineWidth:w*1.5})]},x)}),a&&o&&f.current.map((y,S)=>{const x=(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,x-C/2,v],children:[h.jsx("textGeometry",{args:[x+"",P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),a&&o&&f.current.map((y,S)=>{const x=-(S+1)*u.current;return x%d.current===0?h.jsxs("mesh",{userData:{unintersectable:!0},position:[-g*2-C*2,x-C/2,v],children:[h.jsx("textGeometry",{args:[x+"",P]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]},x):h.jsx(be.Fragment,{},x)}),!a&&h.jsx(Fn,{userData:{unintersectable:!0},name:"z axis line",points:[[0,0,0],[0,0,e]],color:"green",lineWidth:t})]})}),cZt=be.memo(t=>{var Z;const{id:e,cx:n,cy:o,cz:i,name:r=Yt.Jack,locked:a=!1,flip:l=!1,observer:s=!1,parentId:c}=t;let u=!1;M(ie=>{if(c===Zo)u=!0;else for(const ee of ie.elements)if(ee.id===c){u=!0;break}});const d=M(hp);m.useEffect(()=>{u||d(e,!1)},[u,e]);const f=M(dn),p=M(hu)??!1,g=M(Vc),A=M(Cb),w=M(ty),b=ht(cs),C=Hs(e),{gl:P}=Xi(),[v,T]=m.useState(!1),y=Ln(ie=>ie.contentRef),S=m.useRef(null),x=m.useRef(null),R=Kt(),H=m.useRef(!1),D=M(AH);D!==H.current&&(H.current=D,y!=null&&y.current&&S.current&&y.current.add(S.current)),m.useEffect(()=>{if(c!==Zo){const ie=F();ie&&S.current&&ie.add(S.current)}},[D,c]);const k=m.useMemo(()=>new nf().load(Ip.fetchTextureImage(r),ie=>{l&&(ie.wrapS=Ss,ie.repeat.x=-1),N(ie)}),[r,l]),[W,N]=m.useState(k),L=m.useMemo(()=>Ip.fetchWidth(r),[r]),E=m.useMemo(()=>Ip.fetchHeight(r),[r]),U=m.useMemo(()=>Ip.fetchLabel(r,R)+(a?" ("+j.t("shared.ElementLocked",R)+")":"")+` +`+j.t("word.Coordinates",R)+": ("+n.toFixed(1)+", "+o.toFixed(1)+") "+j.t("word.MeterAbbreviation",R),[r,a,n,o,R]);m.useEffect(()=>{const ie=F();ie&&S.current&&ie.add(S.current)},[y]);const F=()=>c!==Zo&&(y!=null&&y.current)?xe.getObjectChildById(y.current,c):null;rA(({camera:ie})=>{if(S.current){const{rot:ee}=xe.getWorldDataById(c);if(p)S.current.rotation.set(Vt,Math.PI-ee,0);else{const{x:q,y:ae}=ie.position,{x:ne,y:se}=S.current.localToWorld(new re);S.current.rotation.set(0,0,-Math.atan2(q-ne,ae-se)-ee)}}});const B=m.useCallback((ie,ee)=>{ht.getState().duringCameraInteraction||ie.intersections.length>0&&(ie.intersections[0].object===ie.eventObject||ie.intersections.length>1&&ie.intersections[1].object===ie.eventObject)&&(f(ae=>{ae.hoveredHandle=ee,ae.selectedElementHeight=t.lz}),xe.isMoveHandle(ee)?P.domElement.style.cursor="move":P.domElement.style.cursor="pointer")},[t.lz]),_=m.useCallback(()=>{f(ie=>{ie.hoveredHandle=null}),P.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),Y=s?Ip.fetchGender(t.name):Ca.Male,O=s?(t.flip?-1:1)*Ip.fetchHatOffsetX(t.name):0,J=s?Ip.fetchHatOffsetY(t.name):0;return u?h.jsx("group",{ref:S,name:"Human Group "+e,userData:{aabb:!0},position:[n,o,i??0],children:h.jsxs("group",{position:[0,.1,E/2],children:[h.jsx(pC,{rotation:[Vt,0,0],uuid:e,name:r,follow:!1,children:h.jsx(sa,{ref:x,renderOrder:3,receiveShadow:!b,name:`Human ${r} plane`,args:[L,E],onContextMenu:ie=>{g(e,ie,zo.ContextMenu),f(ee=>{ie.intersections.length>0&&ie.intersections[0].object===x.current&&(ee.contextMenuObjectType=z.Human)})},onPointerDown:ie=>{ie.button!==2&&ie.eventObject===ie.intersections[0].eventObject&&(g(e,ie,zo.Move),Ln.setState({humanRef:S}))},onPointerOver:ie=>{ie.intersections.length>0&&ie.intersections[0].object===x.current&&T(!0)},onPointerOut:()=>{T(!1)},children:h.jsx("meshToonMaterial",{map:W,alphaTest:.5,side:ji})})}),C&&a&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-L/2,0,-E/2],[-L/2,0,E/2],[-L/2,0,E/2],[L/2,0,E/2],[L/2,0,-E/2],[L/2,0,E/2],[L/2,0,-E/2],[-L/2,0,-E/2]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(Z=x.current)==null?void 0:Z.rotation,color:l0}),s&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{uuid:e,visible:!1,userData:{eyeball:!0},name:r+" eyeball",args:[L/5,4,4,0,na,0,na],position:[0,0,t.lz/2],children:h.jsx("meshBasicMaterial",{attach:"material",side:ji})}),h.jsx(wa,{name:"Observer hat 1",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.1,.1,.1,16,2],position:[O,0,t.lz/2-.05+J],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:Y===Ca.Male?"gray":"hotpink"})}),h.jsx(wa,{name:"Observer hat 2",userData:{unintersectable:!0},castShadow:!1,receiveShadow:!1,args:[.2,.2,.01,16,2],position:[O,0,t.lz/2-.1+J],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:Y===Ca.Male?"gray":"hotpink"})})]}),C&&!a&&h.jsx(ts,{position:[0,0,-E/2],args:[Af*4,6,6,0,Math.PI],name:yo.Default,onPointerDown:ie=>{ie.button!==2&&ie.eventObject===ie.intersections[0].eventObject&&(g(e,ie,zo.Move),Ln.setState({humanRef:S}))},onPointerEnter:ie=>{B(ie,yo.Default)},onPointerLeave:_,children:h.jsx("meshBasicMaterial",{attach:"material",color:w===yo.Default||A===yo.Default?nr:jx})}),v&&!C&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:U,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,E/2+((t==null?void 0:t.labelHeight)??.4)]})]})}):null}),DSe="/aladdin/assets/apple_spring-Ctq5fKrS.png",Due="/aladdin/assets/apple_summer-Dr8H3cny.png",ESe="/aladdin/assets/apple_fall-Cp6pAzIj.png",kSe="/aladdin/assets/apple_winter-D03fshM0.png",FSe="/aladdin/assets/birch_spring-sKFxYorO.png",Eue="/aladdin/assets/birch_summer-FaJ43Xt4.png",LSe="/aladdin/assets/birch_fall-PIQyyY4L.png",WSe="/aladdin/assets/birch_winter-C5h1hTVJ.png",Bqe="/aladdin/assets/coconut-rkhxogn3.png",NSe="/aladdin/assets/dogwood_spring-9vLsm3g2.png",kue="/aladdin/assets/dogwood_summer-DgdkRZ2O.png",USe="/aladdin/assets/dogwood_fall-Wu983FGV.png",BSe="/aladdin/assets/dogwood_winter-4w2TO6RG.png",jSe="/aladdin/assets/elm_spring-DJcRoCq2.png",Fue="/aladdin/assets/elm_summer-VNy_g1qe.png",YSe="/aladdin/assets/elm_fall-ChdMN8fe.png",OSe="/aladdin/assets/elm_winter-Qng-eWYe.png",jqe="/aladdin/assets/fan_palm-DbCJ1Nso.png",_Se="/aladdin/assets/linden_spring-C_zkyu46.png",Lue="/aladdin/assets/linden_summer-zap94GfP.png",VSe="/aladdin/assets/linden_fall-CK-BpZ7U.png",GSe="/aladdin/assets/linden_winter-Dt7sgspu.png",XSe="/aladdin/assets/magnolia_spring-CNor1Lb8.png",Wue="/aladdin/assets/magnolia_summer-C7-8T4uo.png",JSe="/aladdin/assets/magnolia_fall-D3wi6n7Y.png",KSe="/aladdin/assets/magnolia_winter-116tEre9.png",qSe="/aladdin/assets/maple_spring-26OHjb4f.png",Nue="/aladdin/assets/maple_summer-BbcBLKSJ.png",$Se="/aladdin/assets/maple_fall-Bp5Vy2Jl.png",QSe="/aladdin/assets/maple_winter-BnFW631O.png",ZSe="/aladdin/assets/oak_spring-CsUg07TC.png",Uue="/aladdin/assets/oak_summer-CPK7amde.png",eTe="/aladdin/assets/oak_fall-rgRz_M_t.png",tTe="/aladdin/assets/oak_winter-CD4uumS6.png",Yqe="/aladdin/assets/pine-CI5zZHth.png",Oqe="/aladdin/assets/spruce-CEhjo5-Q.png";class Ez{static isEvergreen(e){return e===fi.Spruce||e===fi.Pine||e===fi.FanPalm||e===fi.Coconut}static isConic(e){return e===fi.Spruce}static fetchLabel(e,n){switch(e){case fi.Apple:return j.t("tree.Apple",n);case fi.Birch:return j.t("tree.Birch",n);case fi.Coconut:return j.t("tree.Coconut",n);case fi.Dogwood:return j.t("tree.Dogwood",n);case fi.Elm:return j.t("tree.Elm",n);case fi.FanPalm:return j.t("tree.FanPalm",n);case fi.Linden:return j.t("tree.Linden",n);case fi.Magnolia:return j.t("tree.Magnolia",n);case fi.Maple:return j.t("tree.Maple",n);case fi.Oak:return j.t("tree.Oak",n);case fi.Spruce:return j.t("tree.Spruce",n);default:return j.t("tree.Pine",n)}}static fetchTheta(e){switch(e){case fi.Apple:return .65*Math.PI;case fi.Birch:return .72*Math.PI;case fi.Coconut:return .5*Math.PI;case fi.Dogwood:return .65*Math.PI;case fi.Elm:return .78*Math.PI;case fi.FanPalm:return .52*Math.PI;case fi.Linden:return .75*Math.PI;case fi.Magnolia:return .68*Math.PI;case fi.Maple:return .65*Math.PI;case fi.Oak:return .75*Math.PI;case fi.Spruce:return Math.PI;default:return Math.PI*.5}}static fetchTextureImage(e,n,o,i,r){let a;const l=i+30,s=r-30,c=o>0;switch(e){case fi.Apple:n>=r||n<=i?a=c?kSe:Due:n>i&&n<=l?a=c?DSe:ESe:n>l&&n<=s?a=c?Due:kSe:a=c?ESe:DSe;break;case fi.Birch:n>=r||n<=i?a=c?WSe:Eue:n>i&&n<=l?a=c?FSe:LSe:n>l&&n<=s?a=c?Eue:WSe:a=c?LSe:FSe;break;case fi.Coconut:a=Bqe;break;case fi.Dogwood:n>=r||n<=i?a=c?BSe:kue:n>i&&n<=l?a=c?NSe:USe:n>l&&n<=s?a=c?kue:BSe:a=c?USe:NSe;break;case fi.Elm:n>=r||n<=i?a=c?OSe:Fue:n>i&&n<=l?a=c?jSe:YSe:n>l&&n<=s?a=c?Fue:OSe:a=c?YSe:jSe;break;case fi.FanPalm:a=jqe;break;case fi.Linden:n>=r||n<=i?a=c?GSe:Lue:n>i&&n<=l?a=c?_Se:VSe:n>l&&n<=s?a=c?Lue:GSe:a=c?VSe:_Se;break;case fi.Magnolia:n>=r||n<=i?a=c?KSe:Wue:n>i&&n<=l?a=c?XSe:JSe:n>l&&n<=s?a=c?Wue:KSe:a=c?JSe:XSe;break;case fi.Maple:n>=r||n<=i?a=c?QSe:Nue:n>i&&n<=l?a=c?qSe:$Se:n>l&&n<=s?a=c?Nue:QSe:a=c?$Se:qSe;break;case fi.Oak:n>=r||n<=i?a=c?tTe:Uue:n>i&&n<=l?a=c?ZSe:eTe:n>l&&n<=s?a=c?Uue:tTe:a=c?eTe:ZSe;break;case fi.Spruce:a=Oqe;break;default:a=Yqe}return a}}const uZt=be.memo(t=>{var Ae;const{parentId:e,id:n,cx:o,cy:i,cz:r,lx:a,lz:l,name:s=fi.Pine,flip:c=!1,locked:u=!1,showModel:d=!1,showLabel:f=!1}=t;let p=!1;M(me=>{if(e===Zo)p=!0;else for(const Pe of me.elements)if(Pe.id===e){p=!0;break}});const g=M(hp);m.useEffect(()=>{p||g(n,!1)},[p]);const A=M(dn),w=M(hu)??!1,b=M(Ya),C=M(Xs),P=M(V1e)??cq,v=M(G1e)??uq,T=M(ss),y=M(Vc),S=M(Cb),x=M(yh),R=M(ty),H=Hs(n),[D,k]=m.useState(!1),{gl:W}=Xi(),N=Ln(me=>me.contentRef),L=m.useRef(null),E=m.useRef(null),U=m.useRef(null),F=m.useRef(null),B=m.useRef(null),_=m.useRef(null),Y=m.useRef(null),O=m.useRef(null),J=m.useRef(null),Z=m.useRef(null),ie=Kt(),ee=m.useMemo(()=>xe.dayOfYear(new Date(b)),[b]),q=m.useMemo(()=>!Ez.isEvergreen(t?t.name:fi.Dogwood)&&(C>0?eev:ee>=P&&ee<=v),[ee,P,v,C,t==null?void 0:t.name]),ae=m.useRef(!1),ne=M(AH);ne!==ae.current&&(ae.current=ne,N!=null&&N.current&&L.current&&N.current.add(L.current)),m.useEffect(()=>{if(e!==Zo){const me=oe();me&&L.current&&me.add(L.current)}},[ne]),m.useEffect(()=>{const me=oe();me&&L.current&&me.add(L.current)},[N]);const se=m.useMemo(()=>new nf().load(Ez.fetchTextureImage(s,ee,C,P,v),me=>{c&&(me.wrapS=Ss,me.repeat.x=-1),te(me)}),[s,ee,C,c,P,v]),[le,te]=m.useState(se),he=m.useMemo(()=>(t!=null&&t.label?t.label:Ez.fetchLabel(s,ie))+(u?" ("+j.t("shared.ElementLocked",ie)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",ie)+": ("+o.toFixed(1)+", "+i.toFixed(1)+") "+j.t("word.MeterAbbreviation",ie)),[t==null?void 0:t.label,s,o,i,u,ie]),pe=m.useMemo(()=>Ez.fetchTheta(s),[s]),fe=a/2,$=l/2,de=m.useMemo(()=>new re(0,0,$),[$]),Se=m.useMemo(()=>new re(-fe,0,0),[fe]),Ce=m.useMemo(()=>new re(fe,0,0),[fe]),ve=m.useMemo(()=>new re(0,-fe,0),[fe]),Ie=m.useMemo(()=>new re(0,fe,0),[fe]),ze=m.useCallback((me,Pe)=>{ht.getState().duringCameraInteraction||me.intersections.length>0&&(me.intersections[0].object===me.eventObject||me.intersections.length>1&&me.intersections[1].object===me.eventObject)&&(A(Te=>{Te.hoveredHandle=Pe,Te.selectedElementHeight=t.lz}),xe.isMoveHandle(Pe)?W.domElement.style.cursor="move":W.domElement.style.cursor="pointer")},[t==null?void 0:t.lz]),ye=m.useCallback(()=>{A(me=>{me.hoveredHandle=null}),W.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),oe=()=>e!==Zo&&(N!=null&&N.current)?xe.getObjectChildById(N.current,e):null;rA(({camera:me})=>{if(E.current&&L.current&&U.current&&B.current){const{rot:Pe}=xe.getWorldDataById(e),{x:Me,y:Te}=me.position,{x:De,y:Ne}=L.current.position,{x:Ye,y:Le}=M.getState().sunlightDirection;if(oe()){const We=L.current.localToWorld(new re),Ee=Math.atan2(Me-We.x,Te-We.y)+Pe;E.current.rotation.set(Vt,-Ee,0),B.current.rotation.set(-Vt,Ee,0),U.current.rotation.set(Vt,-Math.atan2(Ye,Le)-Pe,0)}else{const We=Math.atan2(Me-De,Te-Ne);E.current.rotation.set(Vt,-We,0),B.current.rotation.set(-Vt,We,0),U.current.rotation.set(Vt,-Math.atan2(Ye,Le),0)}}});const ge=Af*3;return h.jsx(h.Fragment,{children:p?h.jsx("group",{ref:L,name:"Tree Group "+n,userData:{aabb:!0},position:[o,i,r??0],children:h.jsxs("group",{position:[0,0,l/2],children:[h.jsx(pC,{ref:E,uuid:n,name:s,follow:!1,children:h.jsx(sa,{args:[a,l],children:h.jsx("meshToonMaterial",{map:le,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:U,name:s+" Shadow Billboard",follow:!1,children:h.jsx(sa,{args:[a,l],castShadow:T,children:h.jsx("meshBasicMaterial",{map:le,side:ji,alphaTest:.5,opacity:0})})}),Ez.isConic(s)?h.jsx(cu,{visible:d||w,name:s+" Model",userData:{simulation:!0},position:[0,0,s===fi.Spruce?0:l*.06],args:[a/2,l,8,8,!0],scale:[1,1,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}):h.jsx(ts,{visible:d||w,userData:{simulation:!q},name:s+" Model",args:[a/2,8,8,0,na,0,pe],scale:[1,l/a,1],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",side:ji,transparent:!0,opacity:.75})}),h.jsx(pC,{ref:B,name:"Interaction Billboard",visible:!1,position:[0,0,-l/2+.5],children:h.jsx(sa,{ref:F,renderOrder:3,name:s+" plane",args:[a/2,l/3],rotation:[w?Vt:0,0,0],onContextMenu:me=>{y(n,me,zo.ContextMenu),A(Pe=>{me.intersections.length>0&&me.intersections[0].object===F.current&&(Pe.contextMenuObjectType=z.Tree)})},onPointerDown:me=>{me.button!==2&&me.eventObject===me.intersections[0].eventObject&&(y(n,me,zo.Move),Ln.setState({treeRef:L}))},onPointerOver:me=>{me.intersections.length>0&&me.intersections[0].object===F.current&&k(!0)},onPointerOut:()=>{k(!1)}})}),H&&u&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-a/2,-l/2,0],[-a/2,l/2,0],[-a/2,l/2,0],[a/2,l/2,0],[a/2,-l/2,0],[a/2,l/2,0],[a/2,-l/2,0],[-a/2,-l/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(Ae=E.current)==null?void 0:Ae.rotation,color:l0}),H&&!u&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{position:new re(0,0,-l/2),args:[ge,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:me=>{me.button!==2&&me.eventObject===me.intersections[0].eventObject&&(y(n,me,zo.Move),Ln.setState({treeRef:L}))},onPointerEnter:me=>{ze(me,yo.Default)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===yo.Default||S===yo.Default?nr:jx})}),!w&&h.jsxs(h.Fragment,{children:[h.jsx(Ei,{ref:_,name:gt.Top,args:[ge,ge,ge],position:de,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Top)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Top||x===gt.Top?nr:pr})}),h.jsx(Ei,{ref:Y,name:gt.Left,args:[ge,ge,ge],position:Se,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Left)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Left||x===gt.Left?nr:pr})}),h.jsx(Ei,{ref:O,name:gt.Right,args:[ge,ge,ge],position:Ce,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Right)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Right||x===gt.Right?nr:pr})}),h.jsx(Ei,{ref:J,name:gt.Lower,args:[ge,ge,ge],position:ve,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Lower)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Lower||x===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:Z,name:gt.Upper,args:[ge,ge,ge],position:Ie,onPointerDown:me=>{y(n,me,zo.Resize)},onPointerEnter:me=>{ze(me,gt.Upper)},onPointerLeave:ye,children:h.jsx("meshBasicMaterial",{attach:"material",color:R===gt.Upper||x===gt.Upper?nr:pr})})]})]}),(D||f)&&!H&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:he,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,l/2+((t==null?void 0:t.labelHeight)??.4)]})]})}):null})});function _qe(t){const e=t+"Geometry";return m.forwardRef(({args:n,children:o,...i},r)=>h.jsxs("mesh",{ref:r,...i,children:[h.jsx(e,{attach:"geometry",args:n}),o]}))}const nTe=_qe("ParabolicCylinder"),oTe=_qe("Paraboloid"),dZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,absorberTubeRadius:c=.05,latusRectum:u=2,tiltAngle:d,relativeAzimuth:f,moduleLength:p,poleHeight:g,poleRadius:A,drawSunBeam:w,rotation:b=[0,0,0],color:C="white",lineColor:P="black",lineWidth:v=.5,showLabel:T=!1,locked:y=!1,parentId:S}=t,x=M(dn),R=M(Ya),H=M(Xs),D=M(Jn),k=ht(cs),W=M(wf),N=Sn(i1),L=M(ss),E=M(Vn),U=M(Vc),F=M(mh),B=M(yh),_=M(M7),Y=Hs(e),{gl:{domElement:O}}=Xi(),[J,Z]=m.useState(!1),[ie,ee]=m.useState(null),[q,ae]=m.useState(1),[ne,se]=m.useState(null),le=m.useRef(null),te=m.useRef(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(null),de=m.useRef(null),Se=m.useRef(!1),Ce=Math.max(100,10*F),ve=16,Ie=_.z<=0,ze=Kt();let ye=n,oe=o,ge=i;const Ae=r/2,me=a/2,Pe=l/2,Me=g+Ae,Te=M(Ct=>{for(const wt of Ct.elements)if(wt.id===S)return wt});if(S&&Te)switch(Te.type){case z.Foundation:if(ge=Me+Pe+Te.lz,xe.isZero(b[2]))ye=Te.cx+n*Te.lx,oe=Te.cy+o*Te.ly;else{const Ct=new re(n*Te.lx,o*Te.ly,0);Ct.applyAxisAngle(Po,b[2]),ye=Te.cx+Ct.x,oe=Te.cy+Ct.y}break}const De=Ae*Ae/u,Ne=.25*u,Ye=new re(-Ae,-me,Pe+De),Le=new re(-Ae,me,Pe+De),$e=new re(Ae,-me,Pe+De),We=new re(Ae,me,Pe+De);m.useEffect(()=>{if(t&&k){const Ct=N(t.id);Ct&&se(xe.fetchHeatmapTexture(Ct,W??5))}},[k,W]),m.useEffect(()=>{ae(Math.max(1,Math.round(a/p)))},[a,p]),m.useEffect(()=>{const Ct=()=>{Ln.getState().setEnableOrbitController(!0),Se.current=!1};return window.addEventListener("pointerup",Ct),()=>{window.removeEventListener("pointerup",Ct)}},[]);const Ee=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.ParabolicTroughElement",ze))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",ze)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",ze)+": ("+ye.toFixed(1)+", "+oe.toFixed(1)+", "+ge.toFixed(1)+") "+j.t("word.MeterAbbreviation",ze)),[t==null?void 0:t.label,t==null?void 0:t.locked,ye,oe,ge,ze]),Fe=m.useMemo(()=>new Qt(0,0,b[2],"ZXY"),[b]),Ge=(Ct,wt)=>{Ct.intersections.length>0&&Ct.intersections[0].object===Ct.eventObject&&(ee(wt),wt===yo.Top?O.style.cursor="move":wt===wi.Lower||wt===wi.Upper||wt===wi.Tilt?O.style.cursor="grab":O.style.cursor="pointer")},rt=()=>{ee(null),O.style.cursor="default"},_e=m.useMemo(()=>zr(new Date(R),H),[R,H]),xt=m.useMemo(()=>{var Ct;return(Ct=E(S))==null?void 0:Ct.rotation[2]},[S]),dt=xt?_e.clone().applyAxisAngle(Po,-xt):_e,Qe=m.useMemo(()=>_e.z>0?new Qt(0,Math.atan2(dt.x,dt.z),0,"ZXY"):new Qt(d,0,f,"ZXY"),[_e,d,f,dt.x,dt.z]),ct=m.useMemo(()=>{if(_e.z>0){const Ct=xt?Math.cos(xt):1,wt=xt?Math.sin(xt):0;return-Ne*(_e.x*wt+_e.y*Ct)/Math.hypot(_e.x,_e.z)}return 0},[_e,xt,Ne]),ft=new re(0,ct,Ne).applyEuler(Qe),at=_e.clone().multiplyScalar(Ce).applyEuler(new Qt(-Fe.x,0,-Fe.z)),ot=-(Me+l)/2,et=m.useMemo(()=>{const Ct=[],wt=Math.cos(f)*p,kt=Math.sin(f)*p,qe=q/2-.5;for(let Je=0;Je{const Ct=[],wt=a/q,kt=-r/u,qe=-2*kt/ve;for(let Je=0;Je<=q;Je++){const st=[];for(let Pt=0;Pt<=ve;Pt++){const Ue=kt+Pt*qe;st.push(new re(u*Ue/2,-me+Je*wt,u*Ue*Ue/4))}Ct.push({points:st})}return Ct},[r,a,q,u]),nt=Math.max(1,(r+a)/16),mt=I9*nt*1.5,Tt=Af*nt*2,Rt=D.length<50&&Oe.length<10,Wt=Rt?4:2;return h.jsxs("group",{name:"Parabolic Trough Group "+e,rotation:Fe,position:[ye,oe,ge+Pe],children:[h.jsxs("group",{rotation:Qe,children:[h.jsx(nTe,{receiveShadow:L,castShadow:L,uuid:e,ref:le,args:[u/2,r,a,ve,4],name:"Parabolic Trough Front Side",onPointerDown:Ct=>{Ct.button!==2&&U(e,Ct,zo.Select)},onContextMenu:Ct=>{U(e,Ct,zo.ContextMenu),x(wt=>{Ct.intersections.length>0&&Ct.intersections[0].object===le.current&&(wt.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:Ct=>{Ct.intersections.length>0&&Ct.intersections[0].object===le.current&&(Z(!0),O.style.cursor="move")},onPointerOut:()=>{Z(!1),O.style.cursor="default"},children:k&&ne?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:ne}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"})}),h.jsx(nTe,{receiveShadow:L,castShadow:L,uuid:e+" backside",ref:te,args:[u/2,r,a,ve,4],name:"Parabolic Trough Back Side",position:[0,0,-Pe/2],onPointerDown:Ct=>{Ct.button!==2&&U(e,Ct,zo.Select)},onContextMenu:Ct=>{U(e,Ct,zo.ContextMenu),x(wt=>{Ct.intersections.length>0&&Ct.intersections[0].object===te.current&&(wt.contextMenuObjectType=z.ParabolicTrough)})},onPointerOver:Ct=>{Ct.intersections.length>0&&Ct.intersections[0].object===te.current&&(Z(!0),O.style.cursor="move")},onPointerOut:()=>{Z(!1),O.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:"white"})}),Oe&&Oe.map((Ct,wt)=>h.jsxs(be.Fragment,{children:[Rt&&h.jsx(Fn,{name:"Parabolic Trough Rim Lines",userData:{unintersectable:!0},points:Ct.points,castShadow:!1,receiveShadow:!1,lineWidth:v,color:P}),(wt===0||wt===Oe.length-1||Rt)&&h.jsx(Fn,{name:"Parabolic Trough Focal Lines",userData:{unintersectable:!0},points:[Ct.points[ve/2].clone(),Ct.points[ve/2].clone().add(new re(0,0,Ne))],castShadow:!1,receiveShadow:!1,lineWidth:v,color:Ie?"dimgray":"white"})]},wt)),Rt&&h.jsx(Fn,{name:"Parabolic Trough Outline 1",userData:{unintersectable:!0},points:[[-Ae,-me,De],[-Ae,me,De]],castShadow:!1,receiveShadow:!1,lineWidth:v,color:P}),Rt&&h.jsx(Fn,{name:"Parabolic Trough Outline 2",userData:{unintersectable:!0},points:[[Ae,-me,De],[Ae,me,De]],castShadow:!1,receiveShadow:!1,lineWidth:v,color:P}),h.jsx(wa,{name:"Parabolic Trough Absorber Tube",uuid:e,args:[c,c,a,Rt?6:2,1],position:[0,0,Ne],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:"white"})}),h.jsx(sa,{name:"Parabolic Trough Simulation Plane",uuid:e,args:[r,a],position:[0,0,De],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),Y&&y&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-Ae,-me,De],[-Ae,me,De],[Ae,me,De],[Ae,-me,De],[-Ae,-me,De]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),Y&&!y&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:he,position:new re(0,0,0),args:[Tt,6,6],name:yo.Default,onPointerOver:Ct=>{Ge(Ct,yo.Top)},onPointerOut:()=>{rt()},onPointerDown:Ct=>{Ct.button!==2&&U(e,Ct,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:pe,position:[(Ye.x+$e.x)/2,Ye.y,Ye.z-De],args:[mt,mt,l*1.2],name:gt.Lower,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(wt=>{const kt=pe.current.localToWorld(new re(0,a,-Ye.z));wt.resizeAnchor.copy(kt)})},onPointerOver:Ct=>{Ge(Ct,gt.Lower)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Lower||B===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:fe,position:[(Le.x+We.x)/2,Le.y,Le.z-De],args:[mt,mt,l*1.2],name:gt.Upper,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(wt=>{const kt=fe.current.localToWorld(new re(0,-a,-Le.z));wt.resizeAnchor.copy(kt)})},onPointerOver:Ct=>{Ge(Ct,gt.Upper)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Upper||B===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:$,position:[Ye.x,(Ye.y+Le.y)/2,Ye.z],args:[mt,mt,l*1.2],name:gt.Left,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(wt=>{const kt=$.current.localToWorld(new re(r,0,-Ye.z));wt.resizeAnchor.copy(kt)})},onPointerOver:Ct=>{Ge(Ct,gt.Left)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Left||B===gt.Left?nr:pr})}),h.jsx(Ei,{ref:de,position:[$e.x,($e.y+We.y)/2,$e.z],args:[mt,mt,l*1.2],name:gt.Right,onPointerDown:Ct=>{U(e,Ct,zo.Resize),$.current&&x(wt=>{const kt=de.current.localToWorld(new re(-r,0,-$e.z));wt.resizeAnchor.copy(kt)})},onPointerOver:Ct=>{Ge(Ct,gt.Right)},onPointerOut:()=>{rt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ie===gt.Right||B===gt.Right?nr:pr})})]})]})]}),Me>0&&et.map((Ct,wt)=>wt%5!==0&&!Rt?h.jsx(be.Fragment,{},wt):h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+wt,castShadow:!1,receiveShadow:!1,args:[A,A,Me+(Ct.z-ot)*2+l,Wt,1],position:Ct,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:C})},wt)),w&&_e.z>0&&h.jsx(Fn,{userData:{unintersectable:!0},points:[ft,new re(-.3*Ae,0,.09*De).applyEuler(Qe),at,new re(-.6*Ae,0,.36*De).applyEuler(Qe),ft,new re(-.9*Ae,0,.81*De).applyEuler(Qe),at,new re(0,0,0),ft,new re(.3*Ae,0,.09*De).applyEuler(Qe),at,new re(.6*Ae,0,.36*De).applyEuler(Qe),ft,new re(.9*Ae,0,.81*De).applyEuler(Qe),at],name:"Sun Beams",lineWidth:.25,color:"white"}),(J||T)&&!Y&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Ee,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(me*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),fZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,structureType:c=tf.CentralPole,receiverRadius:u=.25,receiverPoleRadius:d=.1,latusRectum:f=2,tiltAngle:p,relativeAzimuth:g,poleHeight:A,poleRadius:w=.2,drawSunBeam:b,rotation:C=[0,0,0],color:P="white",lineColor:v="black",lineWidth:T=.25,showLabel:y=!1,locked:S=!1,parentId:x}=t,R=M(dn),H=M(Ya),D=M(Xs),k=M(Jn),W=ht(cs),N=M(wf),L=Sn(i1),E=M(ss),U=M(Vn),F=M(Vc),B=M(mh),_=M(yh),Y=M(M7),O=Hs(e),{gl:{domElement:J}}=Xi(),[Z,ie]=m.useState(!1),[ee,q]=m.useState(null),[ae,ne]=m.useState(null),se=m.useRef(null),le=m.useRef(null),te=m.useRef(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(null),de=m.useRef(!1),Se=Math.max(100,10*B),Ce=32,ve=8,Ie=Y.z<=0;let ze=n,ye=o,oe=i;const ge=r/2,Ae=a/2,me=l/2,Pe=A+ge,Me=Kt(),Te=M(wt=>{for(const kt of wt.elements)if(kt.id===x)return kt});if(x&&Te)switch(Te.type){case z.Foundation:if(oe=Pe+me+Te.lz,xe.isZero(C[2]))ze=Te.cx+n*Te.lx,ye=Te.cy+o*Te.ly;else{const wt=new re(n*Te.lx,o*Te.ly,0);wt.applyAxisAngle(Po,C[2]),ze=Te.cx+wt.x,ye=Te.cy+wt.y}break}const De=ge*ge/f,Ne=.25*f,Ye=new re(-ge,-Ae,me+De),Le=new re(-ge,Ae,me+De),$e=new re(ge,-Ae,me+De),We=new re(ge,Ae,me+De),Ee=Ab(gye),Fe=u+1;m.useEffect(()=>{if(t&&W){const wt=L(t.id);wt&&ne(xe.fetchHeatmapTexture(wt,N??5))}},[W,N]),m.useEffect(()=>{const wt=()=>{Ln.getState().setEnableOrbitController(!0),de.current=!1};return window.addEventListener("pointerup",wt),()=>{window.removeEventListener("pointerup",wt)}},[]);const Ge=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.ParabolicDishElement",Me))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",Me)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",Me)+": ("+ze.toFixed(1)+", "+ye.toFixed(1)+", "+oe.toFixed(1)+") "+j.t("word.MeterAbbreviation",Me)),[t==null?void 0:t.label,t==null?void 0:t.locked,Me,ze,ye,oe]),rt=m.useMemo(()=>new Qt(0,0,C[2],"ZXY"),[C]),_e=(wt,kt)=>{wt.intersections.length>0&&wt.intersections[0].object===wt.eventObject&&(q(kt),kt===yo.Top?J.style.cursor="move":kt===wi.Lower||kt===wi.Upper||kt===wi.Tilt?J.style.cursor="grab":J.style.cursor="pointer")},xt=()=>{q(null),J.style.cursor="default"},dt=m.useMemo(()=>zr(new Date(H),D),[H,D]),Qe=m.useMemo(()=>{var wt;return(wt=U(x))==null?void 0:wt.rotation[2]},[x]),ct=Qe?dt.clone().applyAxisAngle(Po,-Qe):dt,ft=m.useMemo(()=>{if(dt.z>0){const wt=Math.hypot(ct.x,ct.y);return new Qt(Math.atan2(wt,ct.z),0,Math.atan2(ct.y,ct.x)+Vt,"ZXY")}return new Qt(p,0,g,"ZXY")},[dt,p,g,ct.x,ct.y,ct.z]),at=-(Pe+l)/2,ot=k.length<50,et=m.useMemo(()=>{const wt=[];if(ot){const kt=[],qe=[];let Je,st,Pt;const Ue=.25*De;for(let lt=0;lt<=Ce;lt++)Je=na*lt/Ce,st=Math.cos(Je),Pt=Math.sin(Je),kt.push(new re(ge*st,ge*Pt,De)),qe.push(new re(ge*st/2,ge*Pt/2,Ue));wt.push({points:kt}),wt.push({points:qe});for(let lt=0;lt<12;lt++){Je=na*lt/12,st=Math.cos(Je),Pt=Math.sin(Je);const Ve=[];for(let ut=0;ut<=ve;ut++){const je=ut===0?0:ut/ve*ge;Ve.push(new re(je*st,je*Pt,je*je/f+.01))}wt.push({points:Ve})}}return wt},[ge,f,ot]),Oe=m.useMemo(()=>{if(c===tf.CentralPoleWithTripod){const wt=[];let kt;for(let qe=0;qe<3;qe++){kt=na*qe/3;const Je=[];Je.push(new re(ge*Math.cos(kt),ge*Math.sin(kt),De)),Je.push(new re(0,0,Ne)),wt.push({points:Je})}return wt}},[ge,f,c]),nt=m.useMemo(()=>{if(c===tf.Quadrupod){const wt=[];let kt;for(let qe=0;qe<4;qe++){kt=na*qe/4;const Je=[];Je.push(new re(ge*Math.cos(kt),ge*Math.sin(kt),De)),Je.push(new re(0,0,Ne)),wt.push({points:Je})}return wt}},[ge,f,c]),mt=Math.max(1,(r+a)/16),Tt=I9*mt*1.5,Rt=Af*mt*3,Wt=dt.clone().multiplyScalar(Se),Ct=new re(0,0,Ne).applyEuler(ft);return h.jsxs("group",{name:"Parabolic Dish Group "+e,rotation:rt,position:[ze,ye,oe+me],children:[h.jsxs("group",{rotation:ft,children:[h.jsx(oTe,{receiveShadow:E,castShadow:E,uuid:e,ref:se,args:[f/2,ge,Ce,ve],name:"Parabolic Dish Front Side",onPointerDown:wt=>{wt.button!==2&&F(e,wt,zo.Select)},onContextMenu:wt=>{F(e,wt,zo.ContextMenu),R(kt=>{wt.intersections.length>0&&wt.intersections[0].object===se.current&&(kt.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:wt=>{wt.intersections.length>0&&wt.intersections[0].object===se.current&&(ie(!0),J.style.cursor="move")},onPointerOut:()=>{ie(!1),J.style.cursor="default"},children:W&&ae?h.jsx("meshBasicMaterial",{attach:"material",side:ia,map:ae}):h.jsx("meshPhongMaterial",{attach:"material",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"})}),h.jsx(oTe,{receiveShadow:E,castShadow:E,uuid:e+" backside",ref:le,args:[f/2,ge,Ce,ve],name:"Parabolic Dish Back Side",position:[0,0,-me/4],onPointerDown:wt=>{wt.button!==2&&F(e,wt,zo.Select)},onContextMenu:wt=>{F(e,wt,zo.ContextMenu),R(kt=>{wt.intersections.length>0&&wt.intersections[0].object===le.current&&(kt.contextMenuObjectType=z.ParabolicDish)})},onPointerOver:wt=>{wt.intersections.length>0&&wt.intersections[0].object===le.current&&(ie(!0),J.style.cursor="move")},onPointerOut:()=>{ie(!1),J.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",side:p0,color:P})}),et&&et.length>0&&et.map((wt,kt)=>h.jsx(be.Fragment,{children:h.jsx(Fn,{name:"Parabolic Dish Wireframe",userData:{unintersectable:!0},points:wt.points,castShadow:!1,receiveShadow:!1,lineWidth:T,color:v})},kt)),h.jsx(wa,{name:"Parabolic Dish Receiver",uuid:e,args:[u,u,.5,ot?12:4,1],rotation:[Vt,0,0],position:[0,0,Ne-.1],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:P})}),dt.z>0&&h.jsx("mesh",{position:[0,0,Ne-.1],children:h.jsx("sprite",{scale:[Fe,Fe,Fe],children:h.jsx("spriteMaterial",{map:Ee,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),(c===tf.CentralPole||c===tf.CentralPoleWithTripod)&&h.jsx(wa,{name:"Parabolic Dish Receiver Pole",uuid:e,args:[d,d,Ne,ot?6:2,1],rotation:[Vt,0,0],position:[0,0,Ne/2],receiveShadow:!1,castShadow:!0,children:h.jsx("meshStandardMaterial",{attach:"material",color:P})}),c===tf.CentralPoleWithTripod&&Oe&&Oe.map((wt,kt)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Tripod Lines",userData:{unintersectable:!0},points:wt.points,castShadow:!1,receiveShadow:!1,lineWidth:1,color:Ie?"dimgray":P}),h.jsx(ts,{position:new re(wt.points[0].x,wt.points[0].y,wt.points[0].z),args:[d/2,4,4],name:"Parabolic Dish Tripod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:P})})]},kt)),c===tf.Quadrupod&&nt&&nt.map((wt,kt)=>h.jsxs(be.Fragment,{children:[h.jsx(Fn,{name:"Parabolic Dish Quadrupod Lines",userData:{unintersectable:!0},points:wt.points,castShadow:!1,receiveShadow:!1,lineWidth:2,color:Ie?"dimgray":P}),h.jsx(ts,{position:new re(wt.points[0].x,wt.points[0].y,wt.points[0].z),args:[d/2,4,4],name:"Parabolic Dish Quadrupod Joint",children:h.jsx("meshStandardMaterial",{attach:"material",color:P})})]},kt)),h.jsx(KC,{name:"Parabolic Dish Simulation Circle",uuid:e,args:[r/2,Ce],position:[0,0,De],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),O&&S&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ge,-Ae,De],[-ge,Ae,De],[ge,Ae,De],[ge,-Ae,De],[-ge,-Ae,De]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),O&&!S&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:te,position:new re(0,0,0),args:[Rt,6,6],name:yo.Default,onPointerOver:wt=>{_e(wt,yo.Top)},onPointerOut:()=>{xt()},onPointerDown:wt=>{wt.button!==2&&F(e,wt,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:he,position:[(Ye.x+$e.x)/2,Ye.y,Ye.z],args:[Tt,Tt,l*1.2],name:gt.Lower,onPointerDown:wt=>{F(e,wt,zo.Resize),fe.current&&R(kt=>{const qe=he.current.localToWorld(new re(0,a,-Ye.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{_e(wt,gt.Lower)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Lower||_===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:pe,position:[(Le.x+We.x)/2,Le.y,Le.z],args:[Tt,Tt,l*1.2],name:gt.Upper,onPointerDown:wt=>{F(e,wt,zo.Resize),fe.current&&R(kt=>{const qe=pe.current.localToWorld(new re(0,-a,-Le.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{_e(wt,gt.Upper)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Upper||_===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:fe,position:[Ye.x,(Ye.y+Le.y)/2,Ye.z],args:[Tt,Tt,l*1.2],name:gt.Left,onPointerDown:wt=>{F(e,wt,zo.Resize),fe.current&&R(kt=>{const qe=fe.current.localToWorld(new re(r,0,-Ye.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{_e(wt,gt.Left)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Left||_===gt.Left?nr:pr})}),h.jsx(Ei,{ref:$,position:[$e.x,($e.y+We.y)/2,$e.z],args:[Tt,Tt,l*1.2],name:gt.Right,onPointerDown:wt=>{F(e,wt,zo.Resize),fe.current&&R(kt=>{const qe=$.current.localToWorld(new re(-r,0,-$e.z));kt.resizeAnchor.copy(qe)})},onPointerOver:wt=>{_e(wt,gt.Right)},onPointerOut:()=>{xt()},children:h.jsx("meshBasicMaterial",{attach:"material",color:ee===gt.Right||_===gt.Right?nr:pr})})]})]})]}),Pe>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[w,w,Pe+l,ot?4:2,1],position:[0,0,at],rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:P})}),b&&dt.z>0&&h.jsx(Fn,{rotation:[-rt.x,0,-rt.z],userData:{unintersectable:!0},points:[Ct,new re(-.3*ge,0,.09*De).applyEuler(ft),Wt,new re(-.6*ge,0,.36*De).applyEuler(ft),Ct,new re(-.9*ge,0,.81*De).applyEuler(ft),Wt,Ct,new re(.3*ge,0,.09*De).applyEuler(ft),Wt,new re(.6*ge,0,.36*De).applyEuler(ft),Ct,new re(.9*ge,0,.81*De).applyEuler(ft),Wt],name:"Sun Beams",lineWidth:.25,color:"white"}),(Z||y)&&!O&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:Ge,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(Ae*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),hZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,tiltAngle:c,relativeAzimuth:u,moduleLength:d,poleHeight:f,poleRadius:p=.1,drawSunBeam:g,rotation:A=[0,0,0],color:w="white",lineColor:b="black",lineWidth:C=.5,showLabel:P=!1,locked:v=!1,parentId:T,receiverId:y}=t,S=M(dn),x=M(Sc),R=M(Ya),H=M(Xs),D=M(Jn),k=ht(cs),W=M(wf),N=Sn(i1),L=M(ss),E=M(Vn),U=M(Vc),F=M(mh),B=M(yh),_=Hs(e),{gl:{domElement:Y}}=Xi(),[O,J]=m.useState(!1),[Z,ie]=m.useState(null),[ee,q]=m.useState(1),[ae,ne]=m.useState(null),se=m.useRef(null),le=m.useRef(null),te=m.useRef(null),he=m.useRef(null),pe=m.useRef(null),fe=m.useRef(null),$=m.useRef(!1),de=Math.max(100,10*F),Se=m.useMemo(()=>({lng:x}),[x]);let Ce=n,ve=o,Ie=i;const ze=r/2,ye=a/2,oe=l/2,ge=f+ze,Ae=M(at=>{for(const ot of at.elements)if(ot.id===T)return ot});if(Ae)switch(Ae.type){case z.Foundation:if(Ie=ge+oe+Ae.lz,xe.isZero(A[2]))Ce=Ae.cx+n*Ae.lx,ve=Ae.cy+o*Ae.ly;else{const at=new re(n*Ae.lx,o*Ae.ly,0);at.applyAxisAngle(Po,A[2]),Ce=Ae.cx+at.x,ve=Ae.cy+at.y}break}const me=new re(-ze,-ye,oe),Pe=new re(-ze,ye,oe),Me=new re(ze,-ye,oe),Te=new re(ze,ye,oe);m.useEffect(()=>{if(t&&k){const at=N(t.id);at&&ne(xe.fetchHeatmapTexture(at,W??5))}},[k,W]),m.useEffect(()=>{q(Math.max(1,Math.round(a/d)))},[a,d]),m.useEffect(()=>{const at=()=>{Ln.getState().setEnableOrbitController(!0),$.current=!1};return window.addEventListener("pointerup",at),()=>{window.removeEventListener("pointerup",at)}},[]);const De=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.FresnelReflectorElement",Se))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",Se)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",Se)+": ("+Ce.toFixed(1)+", "+ve.toFixed(1)+", "+Ie.toFixed(1)+") "+j.t("word.MeterAbbreviation",Se)),[t==null?void 0:t.label,t==null?void 0:t.locked,Se,Ce,ve,Ie]),Ne=m.useMemo(()=>new Qt(0,0,A[2],"ZXY"),[A]),Ye=(at,ot)=>{at.intersections.length>0&&at.intersections[0].object===at.eventObject&&(ie(ot),ot===yo.Top?Y.style.cursor="move":ot===wi.Lower||ot===wi.Upper||ot===wi.Tilt?Y.style.cursor="grab":Y.style.cursor="pointer")},Le=()=>{ie(null),Y.style.cursor="default"},$e=m.useMemo(()=>zr(new Date(R),H),[R,H]),We=Ae==null?void 0:Ae.rotation[2],Ee=y&&y!==T?E(y):null,Fe=m.useMemo(()=>{if(Ee){if(Ee.type===z.Foundation){const at=Ee;if(at.solarStructure===zn.FocusPipe&&at.solarAbsorberPipe)return new re((at.cx-Ce)*(We?Math.cos(We):1),(at.cy-ve)*(We?Math.sin(We):0),at.cz-Ie+at.lz/2+(at.solarAbsorberPipe.absorberHeight??10))}}else if(Ae&&Ae.type===z.Foundation){const at=Ae;if(at.solarStructure===zn.FocusPipe&&at.solarAbsorberPipe)return new re((at.cx-Ce)*(We?Math.cos(We):1),(at.cy-ve)*(We?Math.sin(We):0),at.cz-Ie+at.lz/2+(at.solarAbsorberPipe.absorberHeight??10))}return null},[Ee,Ae,Ce,ve,Ie,We]),Ge=m.useRef(new re),rt=m.useMemo(()=>{if(Fe&&$e.z>0){const at=We?new re(Math.sin(We),Math.cos(We),0):new re(0,1,0);Ge.current.set(Fe.x,Fe.y,Fe.z);const ot=$e.z{const at=[],ot=Math.cos(u)*d,et=Math.sin(u)*d,Oe=ee/2-.5;for(let nt=0;nt{const at=[],ot=a/ee;for(let et=0;et<=ee;et++){const Oe=[];Oe.push(new re(-ze,-ye+et*ot,oe)),Oe.push(new re(ze,-ye+et*ot,oe)),at.push({points:Oe})}return at},[r,a,oe,ee]),Qe=Math.max(1,Math.min(r*5,a*5,(r+a)/16)),ct=I9*Qe*1.5,ft=Af*Qe*2;return h.jsxs("group",{name:"Fresnel Reflector Group "+e,rotation:Ne,position:[Ce,ve,Ie+oe],children:[h.jsxs("group",{rotation:rt,children:[h.jsxs(Ei,{receiveShadow:L,castShadow:L,uuid:e,ref:se,args:[r,a,l],name:"Fresnel Reflector",onPointerDown:at=>{at.button!==2&&U(e,at,zo.Select)},onContextMenu:at=>{U(e,at,zo.ContextMenu),S(ot=>{at.intersections.length>0&&at.intersections[0].object===se.current&&(ot.contextMenuObjectType=z.FresnelReflector)})},onPointerOver:at=>{at.intersections.length>0&&at.intersections[0].object===se.current&&(J(!0),Y.style.cursor="move")},onPointerOut:()=>{J(!1),Y.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:w}),h.jsx("meshStandardMaterial",{attach:"material-1",color:w}),h.jsx("meshStandardMaterial",{attach:"material-2",color:w}),h.jsx("meshStandardMaterial",{attach:"material-3",color:w}),k&&ae?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:ae}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:w})]}),dt&&dt.map((at,ot)=>h.jsx(Fn,{name:"Fresnel Reflector Module Line",userData:{unintersectable:!0},points:at.points,castShadow:!1,receiveShadow:!1,lineWidth:C,color:b},ot)),h.jsx(Fn,{name:"Fresnel Reflector Outline 1",userData:{unintersectable:!0},points:[[-ze,-ye,oe],[-ze,ye,oe]],castShadow:!1,receiveShadow:!1,lineWidth:C,color:b}),h.jsx(Fn,{name:"Fresnel Reflector Outline 2",userData:{unintersectable:!0},points:[[ze,-ye,oe],[ze,ye,oe]],castShadow:!1,receiveShadow:!1,lineWidth:C,color:b}),h.jsx(sa,{name:"Fresnel Reflector Simulation Plane",uuid:e,args:[r,a],position:[0,0,oe],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),_&&v&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ze,-ye,oe],[-ze,ye,oe],[ze,ye,oe],[ze,-ye,oe],[-ze,-ye,oe]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),_&&!v&&h.jsxs(h.Fragment,{children:[h.jsx(ts,{ref:le,position:new re(0,0,0),args:[ft,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:at=>{Ye(at,yo.Top)},onPointerOut:()=>{Le()},onPointerDown:at=>{at.button!==2&&U(e,at,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})}),h.jsxs("group",{children:[h.jsx(Ei,{ref:te,position:[(me.x+Me.x)/2,me.y,me.z-oe],args:[ct,ct,l*1.2],name:gt.Lower,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=te.current.localToWorld(new re(0,a,-me.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Ye(at,gt.Lower)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Lower||B===gt.Lower?nr:pr})}),h.jsx(Ei,{ref:he,position:[(Pe.x+Te.x)/2,Pe.y,Pe.z-oe],args:[ct,ct,l*1.2],name:gt.Upper,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=he.current.localToWorld(new re(0,-a,-Pe.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Ye(at,gt.Upper)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Upper||B===gt.Upper?nr:pr})}),h.jsx(Ei,{ref:pe,position:[me.x,(me.y+Pe.y)/2,me.z],args:[ct,ct,l*1.2],name:gt.Left,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=pe.current.localToWorld(new re(r,0,-me.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Ye(at,gt.Left)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Left||B===gt.Left?nr:pr})}),h.jsx(Ei,{ref:fe,position:[Me.x,(Me.y+Te.y)/2,Me.z],args:[ct,ct,l*1.2],name:gt.Right,castShadow:!1,receiveShadow:!1,onPointerDown:at=>{U(e,at,zo.Resize),pe.current&&S(ot=>{const et=fe.current.localToWorld(new re(-r,0,-Me.z));ot.resizeAnchor.copy(et)})},onPointerOver:at=>{Ye(at,gt.Right)},onPointerOut:()=>{Le()},children:h.jsx("meshBasicMaterial",{attach:"material",color:Z===gt.Right||B===gt.Right?nr:pr})})]})]})]}),ge>0&&xt.map((at,ot)=>{const et=D.length<100?4:2;return h.jsx(wa,{userData:{unintersectable:!0},name:"Pole "+ot,castShadow:!1,receiveShadow:!1,args:[p,p,ge+(at.z-_e)*2+l,et,1],position:at,rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:w})},ot)}),g&&$e.z>0&&h.jsx(Fn,{rotation:[-Ne.x,0,-Ne.z],userData:{unintersectable:!0},points:Fe?[Ge.current,new re(0,0,oe),$e.clone().multiplyScalar(de)]:[new re(0,0,oe),$e.clone().multiplyScalar(de)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(O||P)&&!_&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:De,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(ye*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),pZt=be.memo(t=>{const{id:e,cx:n,cy:o,cz:i,lx:r,ly:a,lz:l=.1,reflectance:s=.9,tiltAngle:c,relativeAzimuth:u,poleHeight:d,poleRadius:f=Math.min(r,a)/20,drawSunBeam:p,rotation:g=[0,0,0],color:A="white",lineColor:w="black",lineWidth:b=.5,showLabel:C=!1,locked:P=!1,parentId:v,towerId:T}=t,y=M(dn),S=M(Ya),x=M(Xs),R=M(Jn),H=ht(cs),D=M(wf),k=Sn(i1),W=M(ss),N=M(Vn),L=M(Vc),E=M(mh),U=Hs(e),{gl:{domElement:F}}=Xi(),[B,_]=m.useState(!1),[Y,O]=m.useState(null),J=m.useRef(null),Z=m.useRef(null),ie=m.useRef(!1),ee=Math.max(100,10*E),q=Kt();let ae=n,ne=o,se=i;const le=r/2,te=a/2,he=l/2,pe=d+Math.max(le,te),fe=M(Pe=>{for(const Me of Pe.elements)if(Me.id===v)return Me});if(fe)switch(fe.type){case z.Foundation:if(se=pe+he+fe.lz,xe.isZero(g[2]))ae=fe.cx+n*fe.lx,ne=fe.cy+o*fe.ly;else{const Pe=new re(n*fe.lx,o*fe.ly,0);Pe.applyAxisAngle(Po,g[2]),ae=fe.cx+Pe.x,ne=fe.cy+Pe.y}break}m.useEffect(()=>{if(t&&H){const Pe=k(t.id);Pe&&O(xe.fetchHeatmapTexture(Pe,D??5))}},[H,D]),m.useEffect(()=>{const Pe=()=>{Ln.getState().setEnableOrbitController(!0),ie.current=!1};return window.addEventListener("pointerup",Pe),()=>{window.removeEventListener("pointerup",Pe)}},[]);const $=m.useMemo(()=>(t!=null&&t.label?t.label:j.t("shared.HeliostatElement",q))+(t!=null&&t.locked?" ("+j.t("shared.ElementLocked",q)+")":"")+(t!=null&&t.label?"":` +`+j.t("word.Coordinates",q)+": ("+ae.toFixed(1)+", "+ne.toFixed(1)+", "+se.toFixed(1)+") "+j.t("word.MeterAbbreviation",q)),[t==null?void 0:t.label,t==null?void 0:t.locked,q,ae,ne,se]),de=m.useMemo(()=>new Qt(0,0,g[2],"ZXY"),[g]),Se=(Pe,Me)=>{Pe.intersections.length>0&&Pe.intersections[0].object===Pe.eventObject&&(F.style.cursor=Me===yo.Default?"move":"pointer")},Ce=()=>{F.style.cursor="default"},ve=m.useMemo(()=>zr(new Date(S),x),[S,x]),Ie=fe==null?void 0:fe.rotation[2],ze=T&&T!==v?N(T):null,ye=m.useMemo(()=>{if(ze){if(ze.type===z.Foundation){const Pe=ze;if(Pe.solarStructure===zn.FocusTower&&Pe.solarPowerTower)return new re(Pe.cx-ae,Pe.cy-ne,Pe.cz-se+Pe.lz/2+(Pe.solarPowerTower.towerHeight??20))}}else if(fe&&fe.type===z.Foundation){const Pe=fe;if(Pe.solarStructure===zn.FocusTower&&Pe.solarPowerTower)return new re(Pe.cx-ae,Pe.cy-ne,Pe.cz-se+Pe.lz/2+(Pe.solarPowerTower.towerHeight??20))}return null},[fe,ae,ne,se,ze]),oe=m.useMemo(()=>{if(ye&&ve.z>0){let Me=ye.clone().normalize().add(ve).normalize();xe.isSame(Me,Po)&&(Me=new re(-.001,0,1).normalize()),Ie&&Me.applyAxisAngle(Po,-Ie);const Te=Math.hypot(Me.x,Me.y);return new Qt(Math.atan2(Te,Me.z),0,Math.atan2(Me.y,Me.x)+Vt,"ZXY")}return new Qt(c,0,u,"ZXY")},[ye,ve,c,u,Ie]),ge=-(pe+l)/2,Ae=Math.max(1,(r+a)/8),me=Af*Ae*4;return h.jsxs("group",{name:"Heliostat Group "+e,rotation:de,position:[ae,ne,se+he],children:[h.jsxs("group",{rotation:oe,children:[h.jsxs(Ei,{receiveShadow:W,castShadow:W,uuid:e,ref:J,args:[r,a,l],name:"Heliostat",onPointerDown:Pe=>{Pe.button!==2&&L(e,Pe,zo.Select)},onContextMenu:Pe=>{L(e,Pe,zo.ContextMenu),y(Me=>{Pe.intersections.length>0&&Pe.intersections[0].object===J.current&&(Me.contextMenuObjectType=z.Heliostat)})},onPointerOver:Pe=>{Pe.intersections.length>0&&Pe.intersections[0].object===J.current&&(_(!0),F.style.cursor="move")},onPointerOut:()=>{_(!1),F.style.cursor="default"},children:[h.jsx("meshStandardMaterial",{attach:"material-0",color:A}),h.jsx("meshStandardMaterial",{attach:"material-1",color:A}),h.jsx("meshStandardMaterial",{attach:"material-2",color:A}),h.jsx("meshStandardMaterial",{attach:"material-3",color:A}),H&&Y?h.jsx("meshBasicMaterial",{attach:"material-4",side:ia,map:Y}):h.jsx("meshPhongMaterial",{attach:"material-4",specular:new Xo("white"),shininess:100*s,side:ia,color:"lightskyblue"}),h.jsx("meshStandardMaterial",{attach:"material-5",color:A})]}),h.jsx(sa,{name:"Heliostat Simulation Plane",uuid:e,args:[r,a],position:[0,0,he],userData:{simulation:!0},receiveShadow:!1,castShadow:!1,visible:!1,children:h.jsx("meshBasicMaterial",{side:ji})}),U&&P&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-le,-te,he],[-le,te,he],[le,te,he],[le,-te,he],[-le,-te,he]],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),U&&!P&&h.jsx(ts,{ref:Z,position:new re(0,0,0),args:[me,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:Pe=>{Se(Pe,yo.Default)},onPointerOut:()=>{Ce()},onPointerDown:Pe=>{Pe.button!==2&&L(e,Pe,zo.Move)},children:h.jsx("meshBasicMaterial",{attach:"material",color:"orange"})})]}),pe>0&&h.jsx(wa,{userData:{unintersectable:!0},name:"Pole",castShadow:!1,receiveShadow:!1,args:[f,f,pe+l,R.length<100?4:2,1],position:new re(0,0,ge),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:A})}),p&&ve.z>0&&h.jsx(Fn,{rotation:[-de.x,0,-de.z],userData:{unintersectable:!0},points:ye?[ye,new re(0,0,he),ve.clone().multiplyScalar(ee)]:[new re(0,0,he),ve.clone().multiplyScalar(ee)],name:"Sun Beam",lineWidth:.25,color:"white",castShadow:!1,receiveShadow:!1}),(B||C)&&!U&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:$,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,castShadow:!1,receiveShadow:!1,position:[0,0,(t==null?void 0:t.labelHeight)??Math.max(te*Math.abs(Math.sin(t.tiltAngle))+.1,.2)]})]})}),gZt=be.memo(t=>{var ne;const{parentId:e,id:n,cx:o,cy:i,cz:r,name:a=$n.WhiteFlower,flip:l=!1,locked:s=!1}=t;let c=!1;M(se=>{if(e===Zo)c=!0;else for(const le of se.elements)if(le.id===e){c=!0;break}});const u=M(hp);m.useEffect(()=>{c||u(n,!1)},[c]);const d=M(dn),f=M(Sc),p=M(hu)??!1,g=M(Ya),A=M(Xs),w=M(V1e)??cq,b=M(G1e)??uq,C=M(Vc),P=M(Cb),v=M(ty),T=ht(cs),[y,S]=m.useState(!1),{gl:x}=Xi(),R=Hs(n),H=Ln(se=>se.contentRef),D=m.useRef(null),k=m.useRef(null),W=m.useRef(null),N=m.useRef(null),L=m.useMemo(()=>({lng:f}),[f]),E=m.useMemo(()=>{const se=xe.dayOfYear(new Date(g));return A>0?seb:se>=w&&se<=b},[g,w,b,A]),U=m.useRef(!1),F=M(AH);F!==U.current&&(U.current=F,H!=null&&H.current&&D.current&&H.current.add(D.current)),m.useEffect(()=>{if(e!==Zo){const se=ie();se&&D.current&&se.add(D.current)}},[F,e]),m.useEffect(()=>{const se=ie();se&&D.current&&se.add(D.current)},[H]);const B=m.useMemo(()=>new nf().load(cw.fetchTextureImage(a,E),se=>{l&&(se.wrapS=Ss,se.repeat.x=-1),Y(se)}),[a,E,l]),[_,Y]=m.useState(B),O=m.useMemo(()=>cw.fetchLabel(a,L)+(s?" ("+j.t("shared.ElementLocked",L)+")":"")+` +`+j.t("word.Coordinates",L)+": ("+o.toFixed(1)+", "+i.toFixed(1)+") "+j.t("word.MeterAbbreviation",L),[a,o,i,s,L]),J=m.useCallback((se,le)=>{ht.getState().duringCameraInteraction||se.intersections.length>0&&(se.intersections[0].object===se.eventObject||se.intersections.length>1&&se.intersections[1].object===se.eventObject)&&(d(he=>{he.hoveredHandle=le,he.selectedElementHeight=t.lz}),xe.isMoveHandle(le)?x.domElement.style.cursor="move":x.domElement.style.cursor="pointer")},[t.lz]),Z=m.useCallback(()=>{d(se=>{se.hoveredHandle=null}),x.domElement.style.cursor=M.getState().addedCuboidId?"crosshair":"default"},[]),ie=()=>e!==Zo&&(H!=null&&H.current)?xe.getObjectChildById(H.current,e):null,ee=m.useMemo(()=>cw.fetchSpread(a),[a]),q=m.useMemo(()=>cw.fetchHeight(a),[a]);rA(({camera:se})=>{if(D.current){const{rot:le}=xe.getWorldDataById(e);if(p)k.current&&N.current&&(k.current.rotation.set(Vt,0,0),N.current.rotation.set(0,0,0)),D.current.rotation.set(-Vt,0,0);else{if(k.current&&N.current){const{x:te,y:he}=se.position,{x:pe,y:fe}=D.current.position;if(ie()){const de=D.current.localToWorld(new re),Se=Math.atan2(te-de.x,he-de.y)+le;k.current.rotation.set(Vt,-Se,0),N.current.rotation.set(-Vt,Se,0)}else{const de=Math.atan2(te-pe,he-fe);k.current.rotation.set(Vt,-de,0),N.current.rotation.set(-Vt,de,0)}}D.current.rotation.set(0,0,0)}}});const ae=Af*3;return h.jsx(h.Fragment,{children:c?h.jsx("group",{ref:D,name:"Flower Group "+n,userData:{aabb:!0},position:[o,i,(r??0)+(p?.25:0)],children:h.jsxs("group",{position:[0,0,q/2],children:[h.jsx(pC,{ref:k,uuid:n,name:a,follow:!1,rotation:[Vt,0,0],children:h.jsx(sa,{args:[ee,q],receiveShadow:!T,children:h.jsx("meshToonMaterial",{map:_,side:ji,alphaTest:.5})})}),h.jsx(pC,{ref:N,name:"Interaction Billboard",visible:!1,position:[0,0,-q/2],children:h.jsx(sa,{ref:W,renderOrder:3,name:a+" plane",args:[ee/2,q*2],rotation:[p?Vt:0,0,0],onContextMenu:se=>{C(n,se,zo.ContextMenu),d(le=>{se.intersections.length>0&&se.intersections[0].object===W.current&&(le.contextMenuObjectType=z.Flower)})},onPointerDown:se=>{se.button!==2&&se.eventObject===se.intersections[0].eventObject&&(C(n,se,zo.Move),Ln.setState({flowerRef:D}))},onPointerOver:se=>{se.intersections.length>0&&se.intersections[0].object===W.current&&S(!0)},onPointerOut:()=>{S(!1)}})}),R&&s&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-ee/2,-q/2,0],[-ee/2,q/2,0],[-ee/2,q/2,0],[ee/2,q/2,0],[ee/2,-q/2,0],[ee/2,q/2,0],[ee/2,-q/2,0],[-ee/2,-q/2,0]],castShadow:!1,receiveShadow:!1,lineWidth:.5,rotation:(ne=k.current)==null?void 0:ne.rotation,color:l0}),R&&!s&&h.jsx(h.Fragment,{children:h.jsx(ts,{position:new re(0,0,-q/2),args:[ae,6,6,0,Math.PI],name:yo.Default,renderOrder:2,onPointerDown:se=>{se.button!==2&&se.eventObject===se.intersections[0].eventObject&&(C(n,se,zo.Move),Ln.setState({flowerRef:D}))},onPointerEnter:se=>{J(se,yo.Default)},onPointerLeave:Z,children:h.jsx("meshBasicMaterial",{attach:"material",color:v===yo.Default||P===yo.Default?nr:jx})})}),y&&!R&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:O,color:(t==null?void 0:t.labelColor)??"white",fontSize:(t==null?void 0:t.labelFontSize)??20,textHeight:(t==null?void 0:t.labelSize)??.2,position:[0,0,q/2+((t==null?void 0:t.labelHeight)??.4)]})]})}):null})});var Bue=function(t,e){return Bue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},Bue(t,e)};function Ti(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Bue(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var N0=function(){return N0=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function tp(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var o=n.call(t),i,r=[],a;try{for(;(e===void 0||e-- >0)&&!(i=o.next()).done;)r.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return r}function pl(t,e,n){if(n||arguments.length===2)for(var o=0,i=e.length,r;o0?yd(YH,--qm):0,hR--,ru===10&&(hR=1,lQ--),ru}function I2(){return ru=qm2||Yue(ru)>3?"":" "}function PZt(t,e){for(;--e&&I2()&&!(ru<48||ru>102||ru>57&&ru<65||ru>70&&ru<97););return cQ(t,__()+(e<6&&yx()==32&&I2()==32))}function Oue(t){for(;I2();)switch(ru){case t:return qm;case 34:case 39:t!==34&&t!==39&&Oue(ru);break;case 40:t===41&&Oue(t);break;case 92:I2();break}return qm}function CZt(t,e){for(;I2()&&t+ru!==57;)if(t+ru===84&&yx()===47)break;return"/*"+cQ(e,qm-1)+"*"+bye(t===47?t:I2())}function RZt(t){for(;!Yue(yx());)I2();return cQ(t,qm)}function HZt(t){return SZt(V_("",null,null,null,[""],t=bZt(t),0,[0],t))}function V_(t,e,n,o,i,r,a,l,s){for(var c=0,u=0,d=a,f=0,p=0,g=0,A=1,w=1,b=1,C=0,P="",v=i,T=r,y=o,S=P;w;)switch(g=C,C=I2()){case 40:if(g!=108&&yd(S,d-1)==58){O_(S+=Pa(Hre(C),"&","&\f"),"&\f",Xqe(c?l[c-1]:0))!=-1&&(b=-1);break}case 34:case 39:case 91:S+=Hre(C);break;case 9:case 10:case 13:case 32:S+=TZt(g);break;case 92:S+=PZt(__()-1,7);continue;case 47:switch(yx()){case 42:case 47:PD(MZt(CZt(I2(),__()),e,n,s),s);break;default:S+="/"}break;case 123*A:l[c++]=e9(S)*b;case 125*A:case 59:case 0:switch(C){case 0:case 125:w=0;case 59+u:b==-1&&(S=Pa(S,/\f/g,"")),p>0&&e9(S)-d&&PD(p>32?aTe(S+";",o,n,d-1,s):aTe(Pa(S," ","")+";",o,n,d-2,s),s);break;case 59:S+=";";default:if(PD(y=rTe(S,e,n,c,u,i,l,P,v=[],T=[],d,r),r),C===123)if(u===0)V_(S,e,y,y,v,r,d,l,T);else switch(f===99&&yd(S,3)===110?100:f){case 100:case 108:case 109:case 115:V_(t,y,y,o&&PD(rTe(t,y,y,0,0,i,l,P,i,v=[],d,T),T),i,T,d,l,o?v:T);break;default:V_(S,y,y,y,[""],T,0,l,T)}}c=u=p=0,A=b=1,P=S="",d=a;break;case 58:d=1+e9(S),p=g;default:if(A<1){if(C==123)--A;else if(C==125&&A++==0&&xZt()==125)continue}switch(S+=bye(C),C*A){case 38:b=u>0?1:(S+="\f",-1);break;case 44:l[c++]=(e9(S)-1)*b,b=1;break;case 64:yx()===45&&(S+=Hre(I2())),f=yx(),u=d=e9(P=S+=RZt(__())),C++;break;case 45:g===45&&e9(S)==2&&(A=0)}}return r}function rTe(t,e,n,o,i,r,a,l,s,c,u,d){for(var f=i-1,p=i===0?r:[""],g=Kqe(p),A=0,w=0,b=0;A0?p[C]+" "+P:Pa(P,/&\f/g,p[C])))&&(s[b++]=v);return sQ(t,e,n,i===0?aQ:l,s,c,u,d)}function MZt(t,e,n,o){return sQ(t,e,n,Vqe,bye(vZt()),fR(t,2,-2),0,o)}function aTe(t,e,n,o,i){return sQ(t,e,n,xye,fR(t,0,o),fR(t,o+1,-1),o,i)}function $qe(t,e,n){switch(AZt(t,e)){case 5103:return Jl+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Jl+t+t;case 4789:return AE+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return Jl+t+AE+t+ic+t+t;case 5936:switch(yd(t,e+11)){case 114:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return Jl+t+ic+Pa(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 6828:case 4268:case 2903:return Jl+t+ic+t+t;case 6165:return Jl+t+ic+"flex-"+t+t;case 5187:return Jl+t+Pa(t,/(\w+).+(:[^]+)/,Jl+"box-$1$2"+ic+"flex-$1$2")+t;case 5443:return Jl+t+ic+"flex-item-"+Pa(t,/flex-|-self/g,"")+(r6(t,/flex-|baseline/)?"":ic+"grid-row-"+Pa(t,/flex-|-self/g,""))+t;case 4675:return Jl+t+ic+"flex-line-pack"+Pa(t,/align-content|flex-|-self/g,"")+t;case 5548:return Jl+t+ic+Pa(t,"shrink","negative")+t;case 5292:return Jl+t+ic+Pa(t,"basis","preferred-size")+t;case 6060:return Jl+"box-"+Pa(t,"-grow","")+Jl+t+ic+Pa(t,"grow","positive")+t;case 4554:return Jl+Pa(t,/([^-])(transform)/g,"$1"+Jl+"$2")+t;case 6187:return Pa(Pa(Pa(t,/(zoom-|grab)/,Jl+"$1"),/(image-set)/,Jl+"$1"),t,"")+t;case 5495:case 3959:return Pa(t,/(image-set\([^]*)/,Jl+"$1$`$1");case 4968:return Pa(Pa(t,/(.+:)(flex-)?(.*)/,Jl+"box-pack:$3"+ic+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Jl+t+t;case 4200:if(!r6(t,/flex-|baseline/))return ic+"grid-column-align"+fR(t,e)+t;break;case 2592:case 3360:return ic+Pa(t,"template-","")+t;case 4384:case 3616:return n&&n.some(function(o,i){return e=i,r6(o.props,/grid-\w+-end/)})?~O_(t+(n=n[e].value),"span",0)?t:ic+Pa(t,"-start","")+t+ic+"grid-row-span:"+(~O_(n,"span",0)?r6(n,/\d+/):+r6(n,/\d+/)-+r6(t,/\d+/))+";":ic+Pa(t,"-start","")+t;case 4896:case 4128:return n&&n.some(function(o){return r6(o.props,/grid-\w+-start/)})?t:ic+Pa(Pa(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return Pa(t,/(.+)-inline(.+)/,Jl+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(e9(t)-1-e>6)switch(yd(t,e+1)){case 109:if(yd(t,e+4)!==45)break;case 102:return Pa(t,/(.+:)(.+)-([^]+)/,"$1"+Jl+"$2-$3$1"+AE+(yd(t,e+3)==108?"$3":"$2-$3"))+t;case 115:return~O_(t,"stretch",0)?$qe(Pa(t,"stretch","fill-available"),e,n)+t:t}break;case 5152:case 5920:return Pa(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(o,i,r,a,l,s,c){return ic+i+":"+r+c+(a?ic+i+"-span:"+(l?s:+s-+r)+c:"")+t});case 4949:if(yd(t,e+6)===121)return Pa(t,":",":"+Jl)+t;break;case 6444:switch(yd(t,yd(t,14)===45?18:11)){case 120:return Pa(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Jl+(yd(t,14)===45?"inline-":"")+"box$3$1"+Jl+"$2$3$1"+ic+"$2box$3")+t;case 100:return Pa(t,":",":"+ic)+t}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Pa(t,"scroll-","scroll-snap-")+t}return t}function JG(t,e){for(var n="",o=0;o-1&&!t.return)switch(t.type){case xye:t.return=$qe(t.value,t.length,n);return;case Gqe:return JG([k4(t,{value:Pa(t.value,"@","@"+Jl)})],o);case aQ:if(t.length)return wZt(n=t.props,function(i){switch(r6(i,o=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":LT(k4(t,{props:[Pa(i,/:(read-\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[i]})),jue(t,{props:iTe(n,o)});break;case"::placeholder":LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+Jl+"input-$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,":"+AE+"$1")]})),LT(k4(t,{props:[Pa(i,/:(plac\w+)/,ic+"input-$1")]})),LT(k4(t,{props:[i]})),jue(t,{props:iTe(n,o)});break}return""})}}var kZt={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},X1={},pR=typeof process<"u"&&X1!==void 0&&(X1.REACT_APP_SC_ATTR||X1.SC_ATTR)||"data-styled",Qqe="active",Zqe="data-styled-version",uQ="6.1.10",Sye=`/*!sc*/ +`,Tye=typeof window<"u"&&"HTMLElement"in window,FZt=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&X1!==void 0&&X1.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&X1.REACT_APP_SC_DISABLE_SPEEDY!==""?X1.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&X1.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&X1!==void 0&&X1.SC_DISABLE_SPEEDY!==void 0&&X1.SC_DISABLE_SPEEDY!==""&&X1.SC_DISABLE_SPEEDY!=="false"&&X1.SC_DISABLE_SPEEDY),dQ=Object.freeze([]),gR=Object.freeze({});function LZt(t,e,n){return n===void 0&&(n=gR),t.theme!==n.theme&&t.theme||e||n.theme}var e$e=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),WZt=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,NZt=/(^-|-$)/g;function lTe(t){return t.replace(WZt,"-").replace(NZt,"")}var UZt=/(a)(d)/gi,oO=52,sTe=function(t){return String.fromCharCode(t+(t>25?39:97))};function _ue(t){var e,n="";for(e=Math.abs(t);e>oO;e=e/oO|0)n=sTe(e%oO)+n;return(sTe(e%oO)+n).replace(UZt,"$1-$2")}var Mre,t$e=5381,KP=function(t,e){for(var n=e.length;n;)t=33*t^e.charCodeAt(--n);return t},n$e=function(t){return KP(t$e,t)};function BZt(t){return _ue(n$e(t)>>>0)}function jZt(t){return t.displayName||t.name||"Component"}function Ire(t){return typeof t=="string"&&!0}var o$e=typeof Symbol=="function"&&Symbol.for,i$e=o$e?Symbol.for("react.memo"):60115,YZt=o$e?Symbol.for("react.forward_ref"):60112,OZt={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},_Zt={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r$e={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},VZt=((Mre={})[YZt]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Mre[i$e]=r$e,Mre);function cTe(t){return("type"in(e=t)&&e.type.$$typeof)===i$e?r$e:"$$typeof"in t?VZt[t.$$typeof]:OZt;var e}var GZt=Object.defineProperty,XZt=Object.getOwnPropertyNames,uTe=Object.getOwnPropertySymbols,JZt=Object.getOwnPropertyDescriptor,KZt=Object.getPrototypeOf,dTe=Object.prototype;function a$e(t,e,n){if(typeof e!="string"){if(dTe){var o=KZt(e);o&&o!==dTe&&a$e(t,o,n)}var i=XZt(e);uTe&&(i=i.concat(uTe(e)));for(var r=cTe(t),a=cTe(e),l=0;l0?" Args: ".concat(e.join(", ")):""))}var qZt=function(){function t(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return t.prototype.indexOfGroup=function(e){for(var n=0,o=0;o=this.groupSizes.length){for(var o=this.groupSizes,i=o.length,r=i;e>=r;)if((r<<=1)<0)throw ZW(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(o),this.length=r;for(var a=i;a=this.length||this.groupSizes[e]===0)return n;for(var o=this.groupSizes[e],i=this.indexOfGroup(e),r=i+o,a=i;a=0){var o=document.createTextNode(n);return this.element.insertBefore(o,this.nodes[e]||null),this.length++,!0}return!1},t.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.prototype.getRule=function(e){return e0&&(w+="".concat(b,","))}),s+="".concat(g).concat(A,'{content:"').concat(w,'"}').concat(Sye)},u=0;u0?".".concat(e):f},u=s.slice();u.push(function(f){f.type===aQ&&f.value.includes("&")&&(f.props[0]=f.props[0].replace(len,n).replace(o,c))}),a.prefix&&u.push(EZt),u.push(IZt);var d=function(f,p,g,A){p===void 0&&(p=""),g===void 0&&(g=""),A===void 0&&(A="&"),e=A,n=p,o=new RegExp("\\".concat(n,"\\b"),"g");var w=f.replace(sen,""),b=HZt(g||p?"".concat(g," ").concat(p," { ").concat(w," }"):w);a.namespace&&(b=c$e(b,a.namespace));var C=[];return JG(b,zZt(u.concat(DZt(function(P){return C.push(P)})))),C};return d.hash=s.length?s.reduce(function(f,p){return p.name||ZW(15),KP(f,p.name)},t$e).toString():"",d}var uen=new s$e,Gue=cen(),u$e=be.createContext({shouldForwardProp:void 0,styleSheet:uen,stylis:Gue});u$e.Consumer;be.createContext(void 0);function pTe(){return m.useContext(u$e)}var den=function(){function t(e,n){var o=this;this.inject=function(i,r){r===void 0&&(r=Gue);var a=o.name+r.hash;i.hasNameForId(o.id,a)||i.insertRules(o.id,a,r(o.rules,a,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=n,Cye(this,function(){throw ZW(12,String(o.name))})}return t.prototype.getName=function(e){return e===void 0&&(e=Gue),this.name+e.hash},t}(),fen=function(t){return t>="A"&&t<="Z"};function gTe(t){for(var e="",n=0;n>>0);if(!n.hasNameForId(this.componentId,a)){var l=o(r,".".concat(a),void 0,this.componentId);n.insertRules(this.componentId,a,l)}i=Bv(i,a),this.staticRulesId=a}else{for(var s=KP(this.baseHash,o.hash),c="",u=0;u>>0);n.hasNameForId(this.componentId,p)||n.insertRules(this.componentId,p,o(c,".".concat(p),void 0,this.componentId)),i=Bv(i,p)}}return i},t}(),h$e=be.createContext(void 0);h$e.Consumer;var zre={};function men(t,e,n){var o=Pye(t),i=t,r=!Ire(t),a=e.attrs,l=a===void 0?dQ:a,s=e.componentId,c=s===void 0?function(v,T){var y=typeof v!="string"?"sc":lTe(v);zre[y]=(zre[y]||0)+1;var S="".concat(y,"-").concat(BZt(uQ+y+zre[y]));return T?"".concat(T,"-").concat(S):S}(e.displayName,e.parentComponentId):s,u=e.displayName,d=u===void 0?function(v){return Ire(v)?"styled.".concat(v):"Styled(".concat(jZt(v),")")}(t):u,f=e.displayName&&e.componentId?"".concat(lTe(e.displayName),"-").concat(e.componentId):e.componentId||c,p=o&&i.attrs?i.attrs.concat(l).filter(Boolean):l,g=e.shouldForwardProp;if(o&&i.shouldForwardProp){var A=i.shouldForwardProp;if(e.shouldForwardProp){var w=e.shouldForwardProp;g=function(v,T){return A(v,T)&&w(v,T)}}else g=A}var b=new gen(n,f,o?i.componentStyle:void 0);function C(v,T){return function(y,S,x){var R=y.attrs,H=y.componentStyle,D=y.defaultProps,k=y.foldedComponentIds,W=y.styledComponentId,N=y.target,L=be.useContext(h$e),E=pTe(),U=y.shouldForwardProp||E.shouldForwardProp,F=LZt(S,L,D)||gR,B=function(ie,ee,q){for(var ae,ne=N0(N0({},ee),{className:void 0,theme:q}),se=0;se{const t=M(dn),e=M(ha),n=ht(dge),o=M(mq),i=Kt(),r=()=>{ht.getState().set(c=>{c.runDailyThermalSimulation=!1,c.runYearlyThermalSimulation=!1,c.pauseDailyThermalSimulation=!1,c.pauseYearlyThermalSimulation=!1,c.runStaticSimulation=!1,c.runDynamicSimulation=!1,c.pauseSimulation=!1,c.runDailyLightSensor=!1,c.runYearlyLightSensor=!1,c.pauseDailyLightSensor=!1,c.pauseYearlyLightSensor=!1,c.runDailySimulationForSolarPanels=!1,c.runYearlySimulationForSolarPanels=!1,c.pauseDailySimulationForSolarPanels=!1,c.pauseYearlySimulationForSolarPanels=!1,c.runDailySimulationForParabolicTroughs=!1,c.runYearlySimulationForParabolicTroughs=!1,c.pauseDailySimulationForParabolicTroughs=!1,c.pauseYearlySimulationForParabolicTroughs=!1,c.runDailySimulationForParabolicDishes=!1,c.runYearlySimulationForParabolicDishes=!1,c.pauseDailySimulationForParabolicDishes=!1,c.pauseYearlySimulationForParabolicDishes=!1,c.runDailySimulationForFresnelReflectors=!1,c.runYearlySimulationForFresnelReflectors=!1,c.pauseDailySimulationForFresnelReflectors=!1,c.pauseYearlySimulationForFresnelReflectors=!1,c.runDailySimulationForHeliostats=!1,c.runYearlySimulationForHeliostats=!1,c.pauseDailySimulationForHeliostats=!1,c.pauseYearlySimulationForHeliostats=!1}),t(c=>{e&&(c.actionInfo={name:"Cancel Simulation",timestamp:new Date().getTime()})})},a=()=>{ht.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!0),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!0),c.runDynamicSimulation&&(c.pauseSimulation=!0),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!0),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!0),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!0),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!0),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!0),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!0),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!0),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!0),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!0),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!0),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!0),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!0)}),t(c=>{e&&(c.actionInfo={name:"Pause Simulation",timestamp:new Date().getTime()})})},l=()=>{ht.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!1),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!1),c.runDynamicSimulation&&(c.pauseSimulation=!1),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!1),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!1),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!1),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!1),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!1),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!1),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!1),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!1),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!1),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!1),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!1),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!1)}),t(c=>{e&&(c.actionInfo={name:"Resume Simulation",timestamp:new Date().getTime()})})},{t:s}=jl();return h.jsx(ven,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(oo,{type:"primary",onClick:r,title:s("message.CancelSimulation",i),children:s("word.Cancel",i)}),!n&&h.jsx(oo,{type:"primary",onClick:a,title:s("message.PauseSimulation",i),children:s("word.Pause",i)}),n&&h.jsx(oo,{type:"primary",onClick:l,title:s("message.ResumeSimulation",i),children:s("word.Resume",i)})]})})}),ben=Ho.div` +`,wen=be.memo(()=>{const t=M(dn),e=M(ha),n=ht(dge),o=M(mq),i=Kt(),r=()=>{ht.getState().set(c=>{c.runDailyThermalSimulation=!1,c.runYearlyThermalSimulation=!1,c.pauseDailyThermalSimulation=!1,c.pauseYearlyThermalSimulation=!1,c.runStaticSimulation=!1,c.runDynamicSimulation=!1,c.pauseSimulation=!1,c.runDailyLightSensor=!1,c.runYearlyLightSensor=!1,c.pauseDailyLightSensor=!1,c.pauseYearlyLightSensor=!1,c.runDailySimulationForSolarPanels=!1,c.runYearlySimulationForSolarPanels=!1,c.pauseDailySimulationForSolarPanels=!1,c.pauseYearlySimulationForSolarPanels=!1,c.runDailySimulationForParabolicTroughs=!1,c.runYearlySimulationForParabolicTroughs=!1,c.pauseDailySimulationForParabolicTroughs=!1,c.pauseYearlySimulationForParabolicTroughs=!1,c.runDailySimulationForParabolicDishes=!1,c.runYearlySimulationForParabolicDishes=!1,c.pauseDailySimulationForParabolicDishes=!1,c.pauseYearlySimulationForParabolicDishes=!1,c.runDailySimulationForFresnelReflectors=!1,c.runYearlySimulationForFresnelReflectors=!1,c.pauseDailySimulationForFresnelReflectors=!1,c.pauseYearlySimulationForFresnelReflectors=!1,c.runDailySimulationForHeliostats=!1,c.runYearlySimulationForHeliostats=!1,c.pauseDailySimulationForHeliostats=!1,c.pauseYearlySimulationForHeliostats=!1}),t(c=>{e&&(c.actionInfo={name:"Cancel Simulation",timestamp:new Date().getTime()})})},a=()=>{ht.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!0),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!0),c.runDynamicSimulation&&(c.pauseSimulation=!0),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!0),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!0),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!0),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!0),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!0),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!0),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!0),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!0),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!0),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!0),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!0),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!0)}),t(c=>{e&&(c.actionInfo={name:"Pause Simulation",timestamp:new Date().getTime()})})},l=()=>{ht.getState().set(c=>{c.runDailyThermalSimulation&&(c.pauseDailyThermalSimulation=!1),c.runYearlyThermalSimulation&&(c.pauseYearlyThermalSimulation=!1),c.runDynamicSimulation&&(c.pauseSimulation=!1),c.runDailyLightSensor&&(c.pauseDailyLightSensor=!1),c.runYearlyLightSensor&&(c.pauseYearlyLightSensor=!1),c.runDailySimulationForSolarPanels&&(c.pauseDailySimulationForSolarPanels=!1),c.runYearlySimulationForSolarPanels&&(c.pauseYearlySimulationForSolarPanels=!1),c.runDailySimulationForParabolicTroughs&&(c.pauseDailySimulationForParabolicTroughs=!1),c.runYearlySimulationForParabolicTroughs&&(c.pauseYearlySimulationForParabolicTroughs=!1),c.runDailySimulationForParabolicDishes&&(c.pauseDailySimulationForParabolicDishes=!1),c.runYearlySimulationForParabolicDishes&&(c.pauseYearlySimulationForParabolicDishes=!1),c.runDailySimulationForFresnelReflectors&&(c.pauseDailySimulationForFresnelReflectors=!1),c.runYearlySimulationForFresnelReflectors&&(c.pauseYearlySimulationForFresnelReflectors=!1),c.runDailySimulationForHeliostats&&(c.pauseDailySimulationForHeliostats=!1),c.runYearlySimulationForHeliostats&&(c.pauseYearlySimulationForHeliostats=!1)}),t(c=>{e&&(c.actionInfo={name:"Resume Simulation",timestamp:new Date().getTime()})})},{t:s}=jl();return h.jsx(Aen,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(no,{type:"primary",onClick:r,title:s("message.CancelSimulation",i),children:s("word.Cancel",i)}),!n&&h.jsx(no,{type:"primary",onClick:a,title:s("message.PauseSimulation",i),children:s("word.Pause",i)}),n&&h.jsx(no,{type:"primary",onClick:l,title:s("message.ResumeSimulation",i),children:s("word.Resume",i)})]})})}),ven=Ho.div` position: absolute; left: calc(100vw / 2 - 50px); width: 100px; @@ -4847,7 +4847,7 @@ function print() { __p += __j.call(arguments, '') } opacity: 100%; user-select: none; z-index: 10000; // must be larger than that of the spinner so that this can be clicked -`,Sen=be.memo(()=>{const t=M(dn),e=M(ha),n=ht(Eje),o=M(mq),{t:i}=jl(),r=Kt(),a=()=>{ht.getState().set(c=>{c.runStaticSimulation=!1,c.pauseSimulation=!1,c.runEvolution=!1,c.pauseEvolution=!1}),e&&t(c=>{c.actionInfo={name:"Cancel Evolution",timestamp:new Date().getTime()}})},l=()=>{ht.getState().set(c=>{c.pauseSimulation=!0,c.runEvolution&&(c.pauseEvolution=!0)}),e&&t(c=>{c.actionInfo={name:"Pause Evolution",timestamp:new Date().getTime()}})},s=()=>{ht.getState().set(c=>{c.pauseSimulation=!1,c.runEvolution&&(c.pauseEvolution=!1)}),e&&t(c=>{c.actionInfo={name:"Resume Evolution",timestamp:new Date().getTime()}})};return h.jsx(ben,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(oo,{type:"primary",onClick:a,title:i("message.CancelEvolution",r),children:i("word.Cancel",r)}),!n&&h.jsx(oo,{type:"primary",onClick:l,title:i("message.PauseEvolution",r),children:i("word.Pause",r)}),n&&h.jsx(oo,{type:"primary",onClick:s,title:i("message.ResumeEvolution",r),children:i("word.Resume",r)})]})})}),fQ=Ho(LW)` +`,xen=be.memo(()=>{const t=M(dn),e=M(ha),n=ht(zje),o=M(mq),{t:i}=jl(),r=Kt(),a=()=>{ht.getState().set(c=>{c.runStaticSimulation=!1,c.pauseSimulation=!1,c.runEvolution=!1,c.pauseEvolution=!1}),e&&t(c=>{c.actionInfo={name:"Cancel Evolution",timestamp:new Date().getTime()}})},l=()=>{ht.getState().set(c=>{c.pauseSimulation=!0,c.runEvolution&&(c.pauseEvolution=!0)}),e&&t(c=>{c.actionInfo={name:"Pause Evolution",timestamp:new Date().getTime()}})},s=()=>{ht.getState().set(c=>{c.pauseSimulation=!1,c.runEvolution&&(c.pauseEvolution=!1)}),e&&t(c=>{c.actionInfo={name:"Resume Evolution",timestamp:new Date().getTime()}})};return h.jsx(ven,{style:{bottom:o?"42px":"6px"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[h.jsx(no,{type:"primary",onClick:a,title:i("message.CancelEvolution",r),children:i("word.Cancel",r)}),!n&&h.jsx(no,{type:"primary",onClick:l,title:i("message.PauseEvolution",r),children:i("word.Pause",r)}),n&&h.jsx(no,{type:"primary",onClick:s,title:i("message.ResumeEvolution",r),children:i("word.Resume",r)})]})})}),fQ=Ho(LW)` position: fixed; top: 0; left: 0; @@ -4859,8 +4859,8 @@ function print() { __p += __j.call(arguments, '') } align-items: center; background-color: rgba(255, 255, 255, 0.5); z-index: 9999; -`,Ten=be.memo(function({initializing:e}){const n=ht(qwt),o=ht(vf),i=ht(Dje),r=ht(dge),a=ht(Eje),l=M(J1e),s=M(K1e),c=M(X1e),u=M(BBe),d=M(f4t),f=ht(Uje),p=ht(Bje),g=ht(sYe),A=ht(cYe),w=ht(nYe),b=ht(oYe),C=ht(ZL),P=ht(QL),v=ht(wq),T=M.getState().elements;return h.jsx(h.Fragment,{children:(e||n||o||i)&&h.jsxs(h.Fragment,{children:[o&&(!c&&C||!d&&(P||v)||!l&&(g||A)||!u&&(w||b)||!s&&(f||p)||xe.hasMovingParts(T))&&h.jsx(xen,{}),i&&h.jsx(Sen,{}),h.jsx(fQ,{spinning:!r||!a})]})})}),Pen=()=>{if(M(AH),!ht.getState().waiting)return null;const e=()=>(m.useEffect(()=>(ht.getState().set(n=>{n.waiting=!1}),()=>{ht.getState().set(n=>{n.waiting=!1})})),null);return h.jsx(e,{})},Cen=be.memo(({id:t,cx:e,cy:n,cz:o,lx:i,lz:r,birdSafe:a=lc.None,numberOfBlades:l=3,speed:s=10,hubRadius:c=.75,hubLength:u=1.5,maximumChordRadius:d=3,maximumChordLength:f=1,towerHeight:p,towerRadius:g,bladeRadius:A,bladeTipWidth:w=.2,bladeRootRadius:b=.3,rotation:C=[0,0,0],relativeYawAngle:P=0,initialRotorAngle:v=0,pitchAngle:T=xe.toRadians(10),color:y="white",bladeColor:S=X5,stripeColor:x=J5,lineColor:R="black",lineWidth:H=.5,showLabel:D=!1,locked:k=!1,parentId:W})=>{const N=M(dn),L=M(Vn),E=M(Vc),U=Hs(t),F=M(ss),B=M(Ya),{gl:{domElement:_}}=Xi(),[Y,O]=m.useState(!1),J=m.useRef(null),Z=m.useRef(null),ie=m.useRef(!1),ee=Kt(),q=m.useMemo(()=>xe.fetchBladeTexture(A,b*2,100,a,S,x),[b,A,a,S,x]),ae=M(ze=>{for(const ye of ze.elements)if(ye.id===W)return ye});if(ae)switch(ae.type){case z.Foundation:if(o=ae.lz,xe.isZero(C[2]))e=ae.cx+e*ae.lx,n=ae.cy+n*ae.ly;else{const ze=new re(e*ae.lx,n*ae.ly,0);ze.applyAxisAngle(Po,C[2]),e=ae.cx+ze.x,n=ae.cy+ze.y}break}const ne=L(t),se=c*1.25,le=u*2.5,te=A-d/3,he=m.useMemo(()=>{const ze=f-b,ye=new Ml,oe=[];return oe.push(new Gt(-b,0)),oe.push(new Gt(-ze/2,A-te)),oe.push(new Gt(-ze,d)),oe.push(new Gt(b-w,A)),ye.moveTo(-b,0),ye.splineThru(oe),ye.lineTo(b,A),ye.lineTo(b,0),ye.closePath(),ye},[A,te,f,d,b,w]),pe=m.useMemo(()=>{const ze=new Date(B);return v+s*(ze.getHours()*60+ze.getMinutes())*Math.PI/72},[B,s,v]);m.useEffect(()=>{const ze=()=>{Ln.getState().setEnableOrbitController(!0),ie.current=!1};return window.addEventListener("pointerup",ze),()=>{window.removeEventListener("pointerup",ze)}},[]);const fe=m.useMemo(()=>(ne!=null&&ne.label?ne.label:j.t("shared.WindTurbineElement",ee))+(ne!=null&&ne.locked?" ("+j.t("shared.ElementLocked",ee)+")":"")+(ne!=null&&ne.label?"":` -`+j.t("word.Coordinates",ee)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+j.t("word.MeterAbbreviation",ee)),[ne==null?void 0:ne.label,ne==null?void 0:ne.locked,ee,e,n,o]),$=m.useMemo(()=>new Qt(0,0,C[2]+P,"ZXY"),[C,P]),de=(ze,ye)=>{ze.intersections.length>0&&ze.intersections[0].object===ze.eventObject&&(_.style.cursor=ye===yo.Default?"move":"pointer")},Se=()=>{_.style.cursor="default"},Ce=Af*4,ve=m.useMemo(()=>{const ze=Math.PI*2/l,ye=new Array;for(let oe=0;oeh.jsxs("group",{position:new re(0,-u*.85,p),rotation:[Vt,T,ye,"XZY"],children:[h.jsxs("mesh",{name:"Blade "+ze+" Font Side",receiveShadow:F,castShadow:F,children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:S,side:ia,map:oe})]}),h.jsxs("mesh",{name:"Blade "+ze+" Back Side",receiveShadow:F,castShadow:F,position:new re(0,-.05,0),children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:S,side:p0,map:oe})]}),h.jsx(wa,{name:"Blade root",castShadow:!1,receiveShadow:!1,args:[b*1.1,b*1.1,.24,12,1],position:new re(0,c-.14,0),children:h.jsx("meshStandardMaterial",{attach:"material",color:y})})]},ze);return h.jsxs("group",{name:"Wind Turbine Group "+t,rotation:$,position:[e,n,o],children:[h.jsx("group",{children:U&&!k&&h.jsx(ts,{ref:Z,position:new re(0,0,0),args:[Ce+g,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:ze=>{de(ze,yo.Default)},onPointerOut:()=>{Se()},onPointerDown:ze=>{ze.button!==2&&E(t,ze,zo.Move)},children:h.jsx("meshStandardMaterial",{attach:"material",color:"orange"})})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Tower",ref:J,castShadow:F,receiveShadow:F,args:[g*.8,g*1.2,p,4,1],position:new re(0,0,p*.5),rotation:[Vt,0,0],onPointerDown:ze=>{ze.button!==2&&(E(t,ze,zo.Select),Ln.getState().setEnableOrbitController(!1))},onContextMenu:ze=>{E(t,ze,zo.ContextMenu),N(ye=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(ye.contextMenuObjectType=z.WindTurbine)})},onPointerOver:ze=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(O(!0),_.style.cursor="move")},onPointerOut:()=>{O(!1),_.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Hub",castShadow:F,receiveShadow:F,args:[c,8,8,Vt,Math.PI,0,Math.PI],position:new re(0,-u*.5,p),rotation:[Math.PI,0,Vt],scale:[u/c,1,1],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Hub Cap",castShadow:F,receiveShadow:F,args:[c,c,.01,16,1],position:new re(0,-u*.5,p),rotation:[Math.PI,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),h.jsx(G6t,{userData:{unintersectable:!0},name:"Nacelle",castShadow:F,receiveShadow:F,radius:.1,smoothness:4,args:[se,se,le],position:new re(0,(le-u)*.5-.1,p),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),a!==lc.None&&ve.map((ze,ye)=>Ie(ye,ze,q)),a===lc.None&&ve.map((ze,ye)=>Ie(ye,ze,null)),U&&k&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-i/2,0,0],[-i/2,r,0],[-i/2,r,0],[i/2,r,0],[i/2,0,0],[i/2,r,0],[i/2,0,0],[-i/2,0,0]],rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),(Y||D)&&!U&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:fe,color:(ne==null?void 0:ne.labelColor)??"white",fontSize:(ne==null?void 0:ne.labelFontSize)??20,textHeight:(ne==null?void 0:ne.labelSize)??1,castShadow:!1,receiveShadow:!1,position:[0,0,1+p+c]})]})}),Ren=be.memo(()=>{const t=M(Jn),e=m.useRef(null);return m.useEffect(()=>{e&&Ln.setState({contentRef:e})},[]),console.debug(t),h.jsxs("group",{ref:e,name:"Content",children:[t.map(n=>{switch(n.type){case z.Foundation:return h.jsx(B$t,{...n},n.id);case z.Sensor:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Wqe,{...o},n.id)}case z.Light:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Nqe,{...o},n.id)}case z.Cuboid:return n.parentId!==Zo?null:h.jsx(jqe,{elements:t,cuboidModel:n},n.id);case z.Human:return h.jsx(dZt,{...n},n.id);case z.Tree:return h.jsx(fZt,{...n},n.id);case z.Flower:return h.jsx(yZt,{...n},n.id);case z.ParabolicDish:return h.jsx(pZt,{...n},n.id);case z.ParabolicTrough:return h.jsx(hZt,{...n},n.id);case z.FresnelReflector:return h.jsx(gZt,{...n},n.id);case z.Heliostat:return h.jsx(mZt,{...n},n.id);case z.WindTurbine:return h.jsx(Cen,{...n},n.id);case z.Polygon:switch(n.parentType){case z.Wall:return null;default:return h.jsx(Dqe,{...n},n.id)}default:if(n.id)return h.jsx(be.Fragment,{},n.id)}return null}),h.jsx(Pen,{}),h.jsx(Hen,{})]})}),Hen=()=>{const t=M(gge);return m.useEffect(()=>{M.getState().set(e=>{e.deletedRoofIdSet.clear()})},[t]),null},Men=be.memo(()=>{const t=M(dn),e=M(xb),n=M(vH),o=M(e3),i=M(age),r=M(uge),a=M(Vn),l=M(t3),s=M(rge),c=M(hp),u=M(nge),d=M(hge),f=M(En),p=M(H7),g=M($Be),A=M(Rq),w=M(Cb),b=M(yh),C=M(sW),P=M(L8t),v=M(ss),T=M(bBe),y=M(SBe),S=M(je=>je.world.ground),x=M(W8t),R=M(N8t),H=ht(cs),{get:D,scene:k,invalidate:W}=Xi(),N=m.useRef(null),L=m.useRef(null),E=m.useRef(null),U=m.useRef(new re),F=m.useRef(new re),B=m.useRef(new Map),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(new Map),J=m.useRef(new Map),Z=m.useRef(new Map),ie=m.useRef(new Map),ee=m.useRef(new Map),q=m.useRef(new re(1,1,1)),ae=m.useRef(new re(1,1,1)),ne=m.useRef([0,0,1]),se=m.useRef([0,0,1]),le=m.useRef(null),te=m.useRef(null),he=m.useRef(new Map),pe=m.useRef(new Map),fe=m.useRef(new Map),$=m.useRef(!1),de=m.useRef(!1),Se=m.useRef(!1),Ce=m.useRef(!1),ve=m.useRef(!1),Ie=m.useRef(new Map),ze=m.useRef(new Map),ye=m.useRef(new Map),oe=m.useRef(new re),ge=Kt();m.useEffect(()=>(window.addEventListener("pointerup",_e),()=>{window.removeEventListener("pointerup",_e)}),[]),m.useEffect(()=>{x&&(t(je=>{je.addedFoundationId=null,je.deletedFoundationId=null}),$.current=!1,de.current=!1)},[x]),m.useEffect(()=>{R&&(t(je=>{je.addedCuboidId=null,je.deletedCuboidId=null}),Se.current=!1,Ce.current=!1)},[R]);const{camera:Ae}=Xi(),me=m.useMemo(()=>new Gs,[]),Pe=m.useMemo(()=>new Gt,[]),Me=E.current?Math.cos(E.current.rotation[2]):1,Te=E.current?Math.sin(E.current.rotation[2]):0;let De=Kf.Ground;const Ue=m.useMemo(()=>new re,[]),Oe=m.useMemo(()=>new Qt,[]),Le=m.useMemo(()=>new Qt,[]);if(E.current){if(xe.isPlantOrHuman(E.current)){De=Kf.Vertical;const je=M.getState().viewState.orthographic?0:-Vt,{x:mt,y:Ht}=Ae.position,wt=-Math.atan2(mt,Ht);Oe.set(je,0,wt,"ZXY"),Ue.set(E.current.cx,E.current.cy,0)}else if(w===yo.Top)De=Kf.Horizontal,Ue.set(E.current.cx,E.current.cy,E.current.lz),Oe.set(0,0,0);else if(xe.isMoveHandle(w)||b===gt.Left||b===gt.Right||b===gt.Lower||b===gt.Upper||b===gt.LowerLeft||b===gt.UpperLeft&&E.current.type!==z.Wall||b===gt.LowerRight||b===gt.UpperRight&&E.current.type!==z.Wall||C===wi.Lower||C===wi.Upper)De=Kf.Horizontal,Ue.set(E.current.cx,E.current.cy,Af),Oe.set(0,0,0);else if(b){De=Kf.Vertical;const je=d(E.current,b),mt=u(),Ht=-Math.atan2(mt.x,mt.y);Ue.set(je.x,je.y,0),Oe.set(-Vt,0,Ht,"ZXY")}}const $e=je=>{Pe.x=je.offsetX/D().gl.domElement.clientWidth*2-1,Pe.y=-(je.offsetY/D().gl.domElement.clientHeight)*2+1,me.setFromCamera(Pe,D().camera)},We=je=>{for(const mt of je)if(mt.object.userData.stand)return mt;return null},Ee=(je,mt)=>{je&&t(Ht=>{for(const wt of Ht.elements)if(wt.id===mt&&wt.type!==z.Foundation){wt.parentId=je;break}})},Fe=je=>{if(!je)return"";const mt=je.name.split(" ");return mt[2]?mt[2]:Fe(je.parent)},Ge=(je,mt,Ht)=>{if(!je||!mt)return;const wt=Ln.getState().contentRef;if(wt!=null&&wt.current){const It=xe.getObjectChildById(wt.current,mt),Et=xe.getObjectChildById(mt===Zo?wt.current:It,Ht);if(Et){if(je===Zo)wt.current.add(Et);else{const zt=xe.getObjectChildById(wt.current,je);zt==null||zt.add(Et)}W()}}},rt=(je,mt)=>{if(je&&je.current){const Ht=We(mt.intersections);if(Ht){const wt=Ht.object,It=je.current.parent;if(wt.name==="Ground"){if(It&&It.name!=="Content"){const Et=Ln.getState().contentRef;Et&&Et.current&&(Et.current.add(je.current),Ee(Zo,Fe(je.current)))}je.current.position.copy(Ht.point),W()}else if(wt.userData.stand){const Et=wt.parent;if(Et){It&&It.uuid!==Et.uuid&&(Et.add(je.current),Ee(Fe(Et),Fe(je.current)));const{rot:zt}=xe.getWorldDataById(Fe(Et));Le.set(0,0,-zt);const ln=new re().subVectors(Ht.point,Et.localToWorld(new re)).applyEuler(Le);je.current.position.copy(ln),W()}}ve.current||(ve.current=!0)}}},Ve=(je,mt,Ht)=>{t(wt=>{for(const It of wt.elements)if(It.id===je){xe.isFoundationOrCuboid(It)||(It.parentId=mt),It.cx=Ht.x,It.cy=Ht.y,It.cz=Ht.z;break}})},xt=()=>{if(!E.current)return;const je={name:"Resize",timestamp:Date.now(),resizedElementId:E.current.id,resizedElementType:E.current.type,oldCx:U.current.x,oldCy:U.current.y,oldCz:U.current.z,newCx:F.current.x,newCy:F.current.y,newCz:F.current.z,oldLx:q.current.x,oldLy:q.current.y,oldLz:q.current.z,newLx:ae.current.x,newLy:ae.current.y,newLz:ae.current.z,oldChildrenPositionsMap:new Map(B.current),newChildrenPositionsMap:new Map(_.current),oldPolygonVerticesMap:new Map(Y.current),newPolygonVerticesMap:new Map(O.current),oldChildrenParentIdMap:new Map(ie.current),newChildrenParentIdMap:new Map(ee.current),oldWallPointsMap:new Map(J.current),newWallPointsMap:new Map(Z.current),undo:()=>{var mt,Ht;if(t(wt=>{for(const It of wt.elements)if(It.id===je.resizedElementId){It.cx=je.oldCx,It.cy=je.oldCy,It.cz=je.oldCz,It.lx=je.oldLx,It.ly=je.oldLy,It.lz=je.oldLz;break}}),je.oldChildrenPositionsMap.size>0)for(const[wt,It]of je.oldChildrenPositionsMap.entries()){const Et=a(wt);if((Et==null?void 0:Et.type)!==z.Polygon){t(Xt=>{for(const fn of Xt.elements)if(fn.id===wt){if(fn.cx=It.x,fn.cy=It.y,Rt(fn)||(fn.cz=It.z),fn.type===z.Wall){const rn=fn,bn=je.oldWallPointsMap.get(rn.id);bn&&(rn.leftPoint=[bn[0].x,bn[0].y,0],rn.rightPoint=[bn[1].x,bn[1].y,0])}break}je.oldWallPointsMap.size>0&&(Xt.updateWallMapOnFoundationFlag=!Xt.updateWallMapOnFoundationFlag)});const zt=(mt=je.oldChildrenParentIdMap)==null?void 0:mt.get(wt),ln=(Ht=je.newChildrenParentIdMap)==null?void 0:Ht.get(wt);zt&&ln&&zt!==ln&&(Ge(zt,ln,wt),Ee(zt,wt))}}if(je.oldPolygonVerticesMap.size>0)for(const[wt,It]of je.oldPolygonVerticesMap.entries()){const Et=a(wt);(Et==null?void 0:Et.type)===z.Polygon&&p(wt,It)}},redo:()=>{var mt,Ht;if(t(wt=>{for(const It of wt.elements)if(It.id===je.resizedElementId){It.cx=je.newCx,It.cy=je.newCy,It.cz=je.newCz,It.lx=je.newLx,It.ly=je.newLy,It.lz=je.newLz;break}}),je.newChildrenPositionsMap.size>0)for(const[wt,It]of je.newChildrenPositionsMap.entries()){t(ln=>{for(const Xt of ln.elements)if(Xt.id===wt){if(Xt.cx=It.x,Xt.cy=It.y,(Xt.type!==z.SolarPanel||Xt.parentType!==z.Roof)&&(Xt.cz=It.z),Xt.type===z.Wall){const fn=Xt,rn=je.newWallPointsMap.get(fn.id);rn&&(fn.leftPoint=[rn[0].x,rn[0].y,0],fn.rightPoint=[rn[1].x,rn[1].y,0])}break}je.newWallPointsMap.size>0&&(ln.updateWallMapOnFoundationFlag=!ln.updateWallMapOnFoundationFlag)});const Et=(mt=je.oldChildrenParentIdMap)==null?void 0:mt.get(wt),zt=(Ht=je.newChildrenParentIdMap)==null?void 0:Ht.get(wt);Et&&zt&&Et!==zt&&(Ge(zt,Et,wt),Ee(zt,wt))}if(je.newPolygonVerticesMap.size>0)for(const[wt,It]of je.newPolygonVerticesMap.entries()){const Et=a(wt);(Et==null?void 0:Et.type)===z.Polygon&&p(wt,It)}}};return je},dt=(je,mt)=>{var Et,zt;const Ht=Ln.getState().contentRef,wt=xe.getObjectChildById(Ht==null?void 0:Ht.current,je.id);if(wt){for(const ln of wt.children)if(ln.name.includes(`${mt.id}`)){(zt=(Et=Ln.getState().contentRef)==null?void 0:Et.current)==null||zt.add(ln);break}}mt.parentId=Zo;const It=new re(mt.cx,mt.cy,mt.cz).applyEuler(new Qt(0,0,je.rotation[2])).add(U.current);mt.cx=It.x,mt.cy=It.y,mt.cz=0,_.current.set(mt.id,new re(It.x,It.y,0)),ee.current.set(mt.id,Zo)},Qe=je=>{je.intersections.length>0&&je.intersections[0].object===N.current&&t(Ht=>{mx.selectNone(Ht),Ht.pastePoint.copy(je.intersections[0].point),Ht.clickObjectType=z.Ground,Ht.contextMenuObjectType=z.Ground,Ht.pasteNormal=Po})},ut=je=>{const mt=M.getState().resizeHandleType;switch(je.type){case z.Tree:switch(mt){case gt.Top:{const Ht={name:"Change Tree Height",timestamp:Date.now(),changedElementId:je.id,changedElementType:je.type,oldValue:q.current.z,newValue:je.lz,undo:()=>{s(Ht.changedElementId,Ht.oldValue)},redo:()=>{s(Ht.changedElementId,Ht.newValue)}};f(Ht),t(wt=>{wt.actionState.treeHeight=je.lz});return}case gt.Left:case gt.Right:case gt.Lower:case gt.Upper:{const Ht={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:je.id,changedElementType:je.type,oldValue:q.current.x,newValue:je.lx,undo:()=>{l(Ht.changedElementId,Ht.oldValue)},redo:()=>{l(Ht.changedElementId,Ht.newValue)}};f(Ht),t(wt=>{wt.actionState.treeSpread=je.lx});return}}break;case z.Wall:{const Ht={name:"Change Wall Height",timestamp:Date.now(),changedElementId:je.id,changedElementType:je.type,oldValue:q.current.z,newValue:je.lz,undo:()=>{s(Ht.changedElementId,Ht.oldValue)},redo:()=>{s(Ht.changedElementId,Ht.newValue)}};f(Ht),t(wt=>{wt.actionState.wallHeight=je.lz});return}}if(F.current.set(je.cx,je.cy,je.cz),ae.current.set(je.lx,je.ly,je.lz),ie.current.clear(),ee.current.clear(),_.current.clear(),O.current.clear(),Z.current.clear(),t(Ht=>{if(je.type===z.Cuboid&&(Ht.actionState.cuboidHeight=je.lz),Ht.updateSceneRadius(),Ht.updateWallMapOnFoundationFlag=!Ht.updateWallMapOnFoundationFlag,je.parentId===Zo){for(const wt of Ht.elements)if(xe.isPlantOrHuman(wt)&&wt.parentId===je.id&&(ie.current.set(wt.id,je.id),!xe.isResizingVertical(M.getState().resizeHandleType)))if(Math.abs(q.current.z/2-wt.cz)<.01){const It=new re(wt.cx,wt.cy,wt.cz).applyEuler(new Qt(0,0,je.rotation[2])).add(U.current).sub(F.current).applyEuler(new Qt(0,0,-je.rotation[2]));Math.abs(It.x)>Math.abs(ae.current.x/2)+.01||Math.abs(It.y)>Math.abs(ae.current.y/2)+.01?dt(je,wt):(wt.cx=It.x,wt.cy=It.y)}else{const It=new re(wt.cx,wt.cy,wt.cz),Et=new re().subVectors(F.current,U.current),zt=new re().subVectors(It,Et);Math.abs(It.x/q.current.x)>.49?Math.abs(zt.y)>je.ly/2+.5?dt(je,wt):(wt.cx=(It.x>0?je.lx:-je.lx)/2,wt.cy=zt.y):Math.abs(It.y/q.current.y)>.49&&(Math.abs(zt.x)>je.lx/2+.5?dt(je,wt):(wt.cx=zt.x,wt.cy=(It.y>0?je.ly:-je.ly)/2))}}}),F.current.distanceToSquared(U.current)>Dt&&ae.current.distanceToSquared(q.current)>Dt){if(je.type===z.Foundation||je.type===z.Cuboid){const wt=n(je.id);if(wt.length>0)for(const It of wt)if(It.type===z.Polygon)O.current.set(It.id,It.vertices.map(Et=>({...Et})));else{if(It.type===z.Wall){const Et=It,zt=new Gt(Et.leftPoint[0],Et.leftPoint[1]),ln=new Gt(Et.rightPoint[0],Et.rightPoint[1]);Z.current.set(It.id,[zt,ln])}_.current.set(It.id,new re(It.cx,It.cy,It.cz))}if(je.type===z.Foundation){const It=Wt(je.id);if(It.length>0)for(const Et of It){const zt=new re(Et.cx,Et.cy);_.current.set(Et.id,zt)}}}const Ht=xt();Ht&&f(Ht)}},ft=()=>{if(M.getState().viewState.orthographic)return!1;if(N.current){const je=me.intersectObjects(D().scene.children,!0);if(je.length>0){for(const mt of je)if(mt.object.userData.stand)return!1}}return me.intersectObjects([N.current]).length===0},at=je=>{t(mt=>{for(const Ht of mt.elements)if(je.has(Ht.id)){const wt=je.get(Ht.id);wt&&(Ht.cx=wt[0],Ht.cy=wt[1],Ht.cz=wt[2])}})},ot=(je,mt)=>{var It,Et,zt;if(je.locked)return;F.current.set(je.cx,je.cy,je.cz);let Ht=le.current,wt=null;switch($e(mt),je.type){case z.Tree:wt=(It=Ln.getState().treeRef)==null?void 0:It.current;break;case z.Flower:wt=(Et=Ln.getState().flowerRef)==null?void 0:Et.current;break;case z.Human:wt=(zt=Ln.getState().humanRef)==null?void 0:zt.current;break}if(wt&&ve.current){const ln=me.intersectObjects(xe.fetchIntersectables(k),!1),Xt=We(ln);if(Xt){const fn=Xt.point;if(Xt.object.name==="Ground")Ve(je.id,Zo,fn),F.current.set(fn.x,fn.y,fn.z),Ht=Zo;else if(Xt.object.userData.stand){const rn=Fe(Xt.object),bn=Xt.object.parent;if(bn){const Tn=new re().subVectors(fn,bn.localToWorld(new re)).applyEuler(Le);Ve(je.id,rn,Tn),F.current.set(Tn.x,Tn.y,Tn.z),Ht=rn}}}ve.current=!1}if(F.current.distanceToSquared(U.current)>Dt||me.intersectObjects([N.current]).length===0){let ln=!0;if(!M.getState().viewState.orthographic&&(ln=F.current.length().02}if(!ln||ft()){o(je.id,U.current.x,U.current.y,U.current.z),wt&&xe.isPlantOrHuman(je)&&wt.position.copy(U.current),xe.isPlantOrHuman(je)&&Ee(le.current,je.id);const Xt=Ln.getState().contentRef;if(Xt!=null&&Xt.current&&le.current&&wt){if(le.current===Zo)Xt.current.add(wt);else{const fn=xe.getObjectChildById(Xt.current,le.current);fn==null||fn.add(wt)}W()}Do(j.t("message.CannotMoveObjectTooFar",ge))}else{if(Ie.current.size>1){ye.current.clear();for(const fn of M.getState().elements)ze.current.has(fn.id)&&ye.current.set(fn.id,[fn.cx,fn.cy,fn.cz]);const Xt={name:"Move Foundation Group",timestamp:Date.now(),oldPositionMap:new Map(ze.current),newPositionMap:new Map(ye.current),undo:()=>{at(Xt.oldPositionMap)},redo:()=>{at(Xt.newPositionMap)}};f(Xt)}else{const Xt=je.type===z.Cuboid,fn=Xt?te.current:le.current,rn=Xt?je.parentId:Ht,bn={name:"Move",timestamp:Date.now(),movedElementId:je.id,movedElementType:je.type,oldCx:U.current.x,oldCy:U.current.y,oldCz:U.current.z,newCx:F.current.x,newCy:F.current.y,newCz:F.current.z,oldRotation:[...ne.current],newRotation:[...je.rotation],oldParentId:fn,newParentId:rn,undo:()=>{o(bn.movedElementId,bn.oldCx,bn.oldCy,bn.oldCz),t(Tn=>{const Un=Tn.elements.find(Ai=>Ai.id===bn.movedElementId);Un&&bn.oldRotation&&(Un.rotation=[...bn.oldRotation])}),Ee(bn.oldParentId,bn.movedElementId),bn.movedElementType&&At(bn.movedElementType)&&Ge(bn.oldParentId,bn.newParentId,bn.movedElementId)},redo:()=>{o(bn.movedElementId,bn.newCx,bn.newCy,bn.newCz),t(Tn=>{const Un=Tn.elements.find(Ai=>Ai.id===bn.movedElementId);Un&&bn.newRotation&&(Un.rotation=[...bn.newRotation])}),Ee(bn.newParentId,bn.movedElementId),bn.movedElementType&&At(bn.movedElementType)&&Ge(bn.newParentId,bn.oldParentId,bn.movedElementId)}};f(bn)}Ie.current.clear(),g()}}},et=je=>{se.current=[...je.rotation];const mt=new re().fromArray(ne.current);if(new re().fromArray(se.current).distanceToSquared(mt)>Dt){const wt={name:"Rotate",timestamp:Date.now(),rotatedElementId:je.id,rotatedElementType:je.type,oldRotation:ne.current,newRotation:se.current,undo:()=>{i(wt.rotatedElementId,wt.oldRotation[0],wt.oldRotation[1],wt.oldRotation[2])},redo:()=>{i(wt.rotatedElementId,wt.newRotation[0],wt.newRotation[1],wt.newRotation[2])}};f(wt)}},_e=je=>{if(je.button!==2){if(Ln.getState().setEnableOrbitController(!0),E.current){const mt=a(E.current.id);if(mt)if(de.current)if($.current=!1,de.current=!1,t(Ht=>{Ht.addedFoundationId=null,Ht.updateSceneRadius()}),mt.lx<=.1||mt.ly<=.1)c(mt.id,!1);else{const Ht={name:"Add",timestamp:Date.now(),addedElement:mt,undo:()=>{c(Ht.addedElement.id,!1),g()},redo:()=>{t(wt=>{wt.elements.push(Ht.addedElement),wt.selectedElement=Ht.addedElement,wt.updateSceneRadius()})}};f(Ht)}else if(Ce.current)if(Se.current=!1,Ce.current=!1,t(Ht=>{Ht.addedCuboidId=null,Ht.updateSceneRadius()}),mt.lx<=.1||mt.ly<=.1)c(mt.id,!1);else{const Ht={name:"Add",timestamp:Date.now(),addedElement:mt,undo:()=>{c(Ht.addedElement.id,!1),g()},redo:()=>{t(wt=>{wt.elements.push(Ht.addedElement),wt.selectedElement=Ht.addedElement,wt.updateSceneRadius()})}};f(Ht)}else M.getState().resizeHandleType?ut(mt):M.getState().rotateHandleType?et(mt):M.getState().moveHandleType&&ot(mt,je),mt.type===z.Foundation&&ht.getState().updateFoundationMovedFlag();E.current=null}t(mt=>{mt.moveHandleType=null,mt.resizeHandleType=null,mt.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null,flowerRef:null}),ht.getState().set(mt=>{mt.showWallIntersectionPlaneId=null,mt.oldParentId=null,mt.oldFoundationId=null})}},nt=(je,mt)=>{const{pos:Ht}=xe.getWorldDataById(je.id),wt=new re(Ht.x,Ht.y),It=new re().subVectors(wt,mt);Ie.current.set(je.id,It),ze.current.set(je.id,[je.cx,je.cy,je.cz])},yt=(je,mt)=>{const Ht=je.intersections[0].point.clone().setZ(0);for(const wt of M.getState().elements)hd(wt)&&wt.parentId===Zo&&!wt.locked&&wt.id!==mt.id&&!Ie.current.has(wt.id)&&!xe.isChild(mt.id,wt.id)&&!xe.isChild(wt.id,mt.id)&&xe.areTwoBasesOverlapped(wt,mt)&&(nt(wt,Ht),wt.enableGroupMaster&&yt(je,wt)),wt.id===mt.id&&nt(wt,Ht)},Tt=(je,mt)=>{Ie.current.clear(),ze.current.clear(),mt.enableGroupMaster&&M.getState().moveHandleType&&yt(je,mt)},Rt=je=>{if(je.type===z.SolarPanel&&je.parentType===z.Roof||je.type===z.Window&&je.parentType===z.Roof)return!0},Wt=je=>M.getState().elements.filter(mt=>mt.foundationId!==je?!1:mt.type===z.SolarPanel&&mt.parentType===z.Roof||mt.type===z.Window&&mt.parentType===z.Roof||mt.type===z.Sensor||mt.type===z.Light),Ct=je=>{if(je.button===2||je.intersections.length===0||!N.current)return;if($.current){$e(je);const Ht=me.intersectObjects([N.current]);Ht.length>0&&(Ln.getState().setEnableOrbitController(!1),t(wt=>{wt.moveHandleType=null,wt.resizeHandleType=gt.LowerRight,wt.resizeAnchor.copy(Ht[0].point)}),$.current=!1,de.current=!0);return}if(Se.current){$e(je);const Ht=me.intersectObjects([N.current]);Ht.length>0&&(Ln.getState().setEnableOrbitController(!1),t(wt=>{var It;if(wt.moveHandleType=null,wt.resizeHandleType=gt.LowerRight,wt.resizeAnchor.copy(Ht[0].point),E.current){const Et=Ke(je,(It=E.current)==null?void 0:It.id);if(Et){const zt=me.intersectObjects([Et.eventObject]);zt.length>0&&wt.resizeAnchor.copy(zt[0].point)}}}),Se.current=!1,Ce.current=!0);return}if(je.intersections[0].object===N.current){if(M.getState().multiSelectionsMode||t(Ht=>{Ht.clickObjectType=z.Ground,Ht.selectedElement=null,mx.selectNone(Ht),Ht.contextMenuObjectType=null}),Pt(A)){const Ht=je.intersections[0].point,wt=r(S,Ht),It={name:"Add",timestamp:Date.now(),addedElement:wt,undo:()=>{c(It.addedElement.id,!1),g()},redo:()=>{t(Et=>{Et.elements.push(It.addedElement),Et.selectedElement=It.addedElement,Et.updateSceneRadius()})}};f(It),t(Et=>{Et.actionModeLock||(Et.objectTypeToAdd=z.None),Et.updateSceneRadius()})}}else{const Ht=M.getState().selectedElementIdSet;if(Ht.size>1){const wt=M.getState().selectedElement;if(wt){E.current=wt,Ie.current.clear();for(const It of M.getState().elements)if(xe.isElementAllowedMultipleMoveOnGround(It)&&Ht.has(It.id))if(It.enableGroupMaster)yt(je,It);else{const zt=je.intersections[0].point.clone().setZ(0);nt(It,zt)}}}else{const wt=e();if(wt&&Pt(wt.type)){if(E.current=wt,U.current.set(wt.cx,wt.cy,wt.cz),q.current.set(wt.lx,wt.ly,wt.lz),ne.current=[...wt.rotation],wt.type===z.Foundation||wt.type===z.Cuboid){const It=n(wt.id);if(B.current.clear(),Y.current.clear(),J.current.clear(),It.length>0)for(const Et of It)if(Et.type===z.Polygon)Y.current.set(Et.id,Et.vertices.map(zt=>({...zt})));else{if(Et.type===z.Wall){const zt=Et,ln=new Gt(zt.leftPoint[0],zt.leftPoint[1]),Xt=new Gt(zt.rightPoint[0],zt.rightPoint[1]);J.current.set(Et.id,[ln,Xt])}B.current.set(Et.id,new re(Et.cx,Et.cy,Et.cz))}if(wt.type===z.Foundation){const Et=Wt(wt.id);if(Et.length>0)for(const zt of Et){const ln=new re(zt.cx,zt.cy);B.current.set(zt.id,ln)}}}switch(wt.type){case z.Tree:le.current=wt.parentId,q.current.set(wt.lx,wt.ly,wt.lz);break;case z.Flower:le.current=wt.parentId;break;case z.Human:le.current=wt.parentId;break;case z.Cuboid:{if(hd(wt)&&wt.parentId===Zo?Tt(je,wt):Ie.current.clear(),te.current=wt.parentId,M.getState().moveHandleType){const{rot:fn}=xe.getWorldDataById(wt.id),rn=new Qt(0,0,fn);switch(M.getState().moveHandleType){case yo.Right:{oe.current.set(-wt.lx/2,0,0).applyEuler(rn);break}case yo.Left:{oe.current.set(wt.lx/2,0,0).applyEuler(rn);break}case yo.Lower:{oe.current.set(0,wt.ly/2,0).applyEuler(rn);break}case yo.Upper:{oe.current.set(0,-wt.ly/2,0).applyEuler(rn);break}default:{oe.current.set(0,0,0);break}}}he.current.clear();const{pos:Et,rot:zt}=xe.getWorldDataById(wt.id),ln=new re(Et.x,Et.y,Et.z),Xt=n(wt.id);if(Xt.length>0)for(const fn of Xt)switch(fn.type){case z.Cuboid:{const rn=new re(fn.cx,fn.cy,fn.cz).applyEuler(new Qt(0,0,zt));rn.add(ln),he.current.set(fn.id,rn);break}case z.Tree:case z.Flower:case z.Human:{const rn=new re(fn.cx,fn.cy,fn.cz).applyEuler(new Qt(0,0,zt));rn.add(ln),he.current.set(fn.id,rn);break}case z.SolarPanel:case z.Light:case z.Sensor:if(xe.isIdentical(fn.normal,o0)){const rn=new re(fn.cx*wt.lx,fn.cy*wt.ly,fn.cz*wt.lz).applyEuler(new Qt(0,0,zt));rn.add(ln),he.current.set(fn.id,rn)}break;case z.Polygon:if(xe.isIdentical(fn.normal,o0)){const rn=fn,bn=[];for(const Tn of rn.vertices){const Un=new Gt(Tn.x*wt.lx,Tn.y*wt.ly).rotateAround(wr,zt);Un.add(new Gt(ln.x,ln.y)),bn.push(Un)}pe.current.set(rn.id,bn)}break}break}case z.Foundation:{hd(wt)&&Tt(je,wt),he.current.clear(),pe.current.clear(),fe.current.clear();const It=new Gt(wt.cx,wt.cy),Et=new re(wt.cx,wt.cy,wt.cz),zt=n(wt.id);if(zt.length>0){const Xt=wt.rotation[2];for(const fn of zt)switch(fn.type){case z.Wall:{const rn=fn,bn=new Gt(rn.cx,rn.cy).rotateAround(wr,Xt);bn.add(It);const Tn=new Gt(rn.leftPoint[0],rn.leftPoint[1]).rotateAround(wr,Xt);Tn.add(It);const Un=new Gt(rn.rightPoint[0],rn.rightPoint[1]).rotateAround(wr,Xt);Un.add(It),fe.current.set(rn.id,{centerPointAbsPos:bn,leftPointAbsPos:Tn,rightPointAbsPos:Un});break}case z.Tree:case z.Flower:case z.Human:{const rn=new re(fn.cx,fn.cy,fn.cz).applyEuler(new Qt(0,0,Xt));rn.add(Et),he.current.set(fn.id,rn);break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:{const rn=new re(fn.cx*wt.lx,fn.cy*wt.ly,fn.cz*wt.lz).applyEuler(new Qt(0,0,Xt));rn.add(Et),he.current.set(fn.id,rn);break}case z.Polygon:{const rn=fn,bn=[];for(const Tn of rn.vertices){const Un=new Gt(Tn.x*wt.lx,Tn.y*wt.ly).rotateAround(wr,Xt);Un.add(It),bn.push(Un)}pe.current.set(rn.id,bn);break}}}const ln=Wt(wt.id);if(ln.length>0){const Xt=new Qt(0,0,wt.rotation[2]);for(const fn of ln)if(fn.type===z.Window){const rn=new re(fn.cx,fn.cy).applyEuler(Xt);rn.add(Et),he.current.set(fn.id,rn)}else{const rn=new re(fn.cx*wt.lx,fn.cy*wt.ly).applyEuler(Xt);rn.add(Et),he.current.set(fn.id,rn)}}break}}}}}},At=je=>je===z.Human||je===z.Tree||je===z.Flower,Ft=(je,mt)=>{if(je.tempHumanPlant.length===0){const Ht=je.elements.filter(It=>At(It.type)&&xe.isDescendantOf(It,mt));je.tempHumanPlant=Ht;const wt=new Set(Ht.map(It=>It.id));je.elements=je.elements.filter(It=>!wt.has(It.id))}},Ke=(je,mt)=>{const Ht=je.intersections.find(It=>{const Et=It.eventObject;if(!Et.name.includes("Cuboid"))return!1;const zt=Et.name.split(" ");return zt.length!==2?!1:zt[1]!==mt&&Et.userData.stackable});if(!Ht)return;const wt=Ht.eventObject.name.split(" ")[1];if(!Ie.current.has(wt))return xe.isChild(mt,wt)?void 0:Ht},Je=je=>{if(E.current&&E.current.type&&!E.current.locked){$e(je);let mt;switch(E.current.type){case z.Foundation:L.current&&(mt=me.intersectObjects([L.current]),mt.length>0&&(w?st(mt[0].point):b?lt(mt[0].point):C&&Ye(mt[0].point)));break;case z.Cuboid:if(L.current&&De===Kf.Horizontal&&(mt=me.intersectObjects([L.current]),mt.length>0)){const Ht=mt[0].point.clone(),wt=Ke(je,E.current.id);if(w)if(Ie.current.size>1)st(Ht);else if(wt){if(mt=me.intersectObjects([wt.eventObject]),mt.length===0)return;Ht.copy(mt[0].point).add(oe.current);const It=wt.eventObject.name.split(" ")[1];t(Et=>{const zt=Et.elements.find(Xt=>{var fn;return Xt.id===((fn=Et.selectedElement)==null?void 0:fn.id)}),ln=Et.selectedElement;if(zt&&ln){const{pos:Xt,rot:fn}=xe.getWorldDataById(It),rn=new re().subVectors(Ht,Xt);if(rn.applyEuler(new Qt(0,0,-fn)),zt.cx=rn.x,zt.cy=rn.y,ln.parentId!==It){zt.parentId!==It&&Ft(Et,zt.id);const{rot:bn}=xe.getWorldDataById(ln.id);zt.rotation[2]=bn-fn,zt.parentId=It}else zt.parentId!==It&&(zt.parentId!==ln.parentId&&Ft(Et,zt.id),zt.parentId=ln.parentId,zt.rotation[2]=ln.rotation[2])}})}else t(It=>{const Et=It.elements.find(zt=>zt.id===E.current.id);if(Et&&Et.parentId!==Zo){Et.parentId!==Zo&&Ft(It,Et.id);const{rot:zt}=xe.getWorldDataById(Et.parentId);Et.rotation[2]+=zt,Et.parentId=Zo}}),st(Ht);else if(b){const It=a(E.current.id);It&&It.parentId===Zo&<(Ht)}}break}}if(N.current){if(A!==z.None){$e(je);const mt=me.intersectObjects([N.current]);if(mt.length>0){const Ht=mt[0].point;switch(A){case z.Foundation:{const wt=r(S,Ht);wt&&(t(It=>{It.addedFoundationId=wt.id,It.objectTypeToAdd=z.None}),E.current=wt,$.current=!0);break}case z.Cuboid:{const wt=r(S,Ht);wt&&(t(It=>{It.addedCuboidId=wt.id,It.objectTypeToAdd=z.None}),E.current=wt,Se.current=!0);break}}}}if(E.current&&($.current||Se.current)){$e(je);let mt=me.intersectObjects([N.current]);if(mt.length===0)return;const Ht=mt[0].point;if(E.current.type===z.Foundation)o(E.current.id,Ht.x,Ht.y);else if(E.current.type===z.Cuboid){const wt=Ke(je,E.current.id);if(wt){if(mt=me.intersectObjects([wt.eventObject]),mt.length===0)return;Ht.copy(mt[0].point);const It=wt.eventObject.name.split(" ")[1];t(Et=>{const zt=Et.elements.find(ln=>{var Xt;return ln.id===((Xt=E.current)==null?void 0:Xt.id)});if(zt){const{pos:ln,rot:Xt}=xe.getWorldDataById(It),fn=new re().subVectors(Ht,ln);fn.applyEuler(new Qt(0,0,-Xt)),zt.cx=fn.x,zt.cy=fn.y,zt.parentId=It,zt.rotation[2]=-Xt}})}else t(It=>{const Et=It.elements.find(zt=>{var ln;return zt.id===((ln=E.current)==null?void 0:ln.id)});if(Et&&Et.parentId!==Zo){const{rot:zt}=xe.getWorldDataById(Et.parentId);Et.rotation[2]+=zt,Et.parentId=Zo}}),o(E.current.id,Ht.x,Ht.y)}}}},ct=je=>{if(E.current&&E.current.type&&!E.current.locked){$e(je);let mt;if(L.current&&De===Kf.Vertical&&(mt=me.intersectObjects([L.current]),mt&&mt.length>0)){const Ht=mt[0].point;switch(E.current.type){case z.Tree:{const wt=E.current;switch(b){case gt.Top:s(wt.id,Ht.z),t(It=>{It.selectedElementHeight=Math.max(1,Ht.z)});break;case gt.Left:case gt.Right:case gt.Upper:case gt.Lower:l(wt.id,2*Math.hypot(Ht.x-wt.cx,Ht.y-wt.cy));break}rt(Ln.getState().treeRef,je);break}case z.Flower:{rt(Ln.getState().flowerRef,je);break}case z.Human:{rt(Ln.getState().humanRef,je);break}}}}},Pt=je=>je===z.Foundation||je===z.Cuboid||je===z.Tree||je===z.Flower||je===z.Human,Ne=(je,mt,Ht,wt,It)=>{if(je){for(const Et of je.children)if(Et.name.includes("Human")||Et.name.includes("Tree")||Et.name.includes("Flower")){const zt=Fe(Et),ln=he.current.get(zt);if(ln)if(Math.abs(q.current.z/2-Et.position.z)<.01){const Xt=new re().subVectors(ln,wt).applyEuler(new Qt(0,0,-It));Et.position.setX(Xt.x),Et.position.setY(Xt.y)}else{const Xt=new re().subVectors(ln,U.current).applyEuler(new Qt(0,0,-It)),fn=new re().subVectors(wt,U.current),rn=new re().subVectors(Xt,fn);Math.abs(Xt.x/q.current.x)>.49?(Et.position.setX((Xt.x>0?mt:-mt)/2),Et.position.setY(rn.y)):Math.abs(Xt.y/q.current.y)>.49&&(Et.position.setX(rn.x),Et.position.setY((Xt.y>0?Ht:-Ht)/2))}}}},lt=je=>{if(!E.current)return;const mt=new Gt(je.x,je.y),Ht=new Gt(P.x,P.y),wt=Ht.distanceTo(mt),It=Math.atan2(mt.x-P.x,mt.y-P.y)+E.current.rotation[2];let Et=Math.abs(wt*Math.sin(It)),zt=Math.abs(wt*Math.cos(It));const ln=new Gt().addVectors(mt,Ht).multiplyScalar(.5);if(E.current.type===z.Cuboid&&(b===gt.Lower||b===gt.Upper||b===gt.Left||b===gt.Right)){const Xt=new re(P.x,P.y),fn=E.current.rotation[2],rn=new re(je.x,je.y).sub(Xt).applyEuler(new Qt(0,0,-fn)),bn=new re(1,0,0);(b===gt.Upper||b===gt.Lower)&&bn.set(0,1,0),bn.applyEuler(new Qt(0,0,fn));const Tn=Xt.clone().add(bn.clone().multiplyScalar(rn.x/2));b===gt.Left||b===gt.Right?(Et=Math.abs(rn.x),zt=E.current.ly):(b===gt.Upper||b===gt.Lower)&&(Et=E.current.lx,zt=Math.abs(rn.y),Tn.copy(Xt.add(bn.clone().multiplyScalar(rn.y/2)))),ln.x=Tn.x,ln.y=Tn.y}switch(t(Xt=>{if(!E.current)return;let fn=!1;for(const rn of Xt.elements)if(rn.id===E.current.id){switch(rn.type){case z.Cuboid:case z.Foundation:{const bn=n(rn.id);if(bn.length>0){const Tn=[];for(const Ai of bn){if(xe.isPlantOrHuman(Ai))continue;const vo=JSON.parse(JSON.stringify(Ai));if(Tn.push(vo),xe.isIdentical(vo.normal,o0))if(Ai.type===z.Wall){const Oo=fe.current.get(Ai.id);if(Oo){const si=-rn.rotation[2],{centerPointAbsPos:po,leftPointAbsPos:to,rightPointAbsPos:uo}=Oo,qo=new Gt().subVectors(po,ln).rotateAround(wr,si),Hi=new Gt().subVectors(to,ln).rotateAround(wr,si),vi=new Gt().subVectors(uo,ln).rotateAround(wr,si);switch(b){case gt.Lower:case gt.Upper:vo.cy=qo.y;break;case gt.Left:case gt.Right:vo.cx=qo.x;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:vo.cx=qo.x,vo.cy=qo.y;break}vo.leftPoint=[Hi.x,Hi.y,0],vo.rightPoint=[vi.x,vi.y,0]}}else{const Oo=he.current.get(Ai.id);if(Oo){const si=-rn.rotation[2],po=new Gt().subVectors(new Gt(Oo.x,Oo.y),ln).rotateAround(wr,si);switch(b){case gt.Lower:case gt.Upper:vo.cy=po.y/zt;break;case gt.Left:case gt.Right:vo.cx=po.x/Et;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:vo.cx=po.x/Et,vo.cy=po.y/zt;break}}}}const Un=JSON.parse(JSON.stringify(rn));switch(b){case gt.Lower:case gt.Upper:case gt.Left:case gt.Right:case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:Un.lx=Et,Un.ly=zt,Un.cx=ln.x,Un.cy=ln.y;break}if(xe.doesParentContainAllChildren(Un,Tn)){switch(b){case gt.Lower:case gt.Upper:case gt.Left:case gt.Right:case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.lx=Et,rn.ly=zt,rn.cx=ln.x,rn.cy=ln.y;break}fn=!0}}else if(Et>.49&&zt>.49){switch(b){case gt.Lower:case gt.Upper:case gt.Left:case gt.Right:case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.lx=Et,rn.ly=zt,rn.cx=ln.x,rn.cy=ln.y;break}fn=!0}break}}break}if(fn)for(const rn of Xt.elements){if(rn.parentId===E.current.id)switch(rn.type){case z.Wall:{const bn=rn,Tn=fe.current.get(rn.id);if(Tn){const Un=-E.current.rotation[2],{centerPointAbsPos:Ai,leftPointAbsPos:vo,rightPointAbsPos:Oo}=Tn,si=new Gt().subVectors(Ai,ln).rotateAround(wr,Un),po=new Gt().subVectors(vo,ln).rotateAround(wr,Un),to=new Gt().subVectors(Oo,ln).rotateAround(wr,Un);switch(b){case gt.Lower:case gt.Upper:rn.cy=si.y;break;case gt.Left:case gt.Right:rn.cx=si.x;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=si.x,rn.cy=si.y;break}bn.leftPoint=[po.x,po.y,0],bn.rightPoint=[to.x,to.y,0]}break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:if(xe.isIdentical(rn.normal,o0)){const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);switch(b){case gt.Lower:case gt.Upper:rn.cy=Tn.y/zt;break;case gt.Left:case gt.Right:rn.cx=Tn.x/Et;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=Tn.x/Et,rn.cy=Tn.y/zt;break}}}break;case z.Cuboid:{const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);switch(b){case gt.Lower:case gt.Upper:rn.cy=Tn.y;break;case gt.Left:case gt.Right:rn.cx=Tn.x;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=Tn.x,rn.cy=Tn.y;break}}break}case z.Polygon:if(xe.isIdentical(rn.normal,o0)){const bn=rn,Tn=pe.current.get(bn.id);if(Tn){const Un=[];Tn.forEach(Ai=>{const vo=new Gt().subVectors(Ai,ln).rotateAround(wr,-E.current.rotation[2]);Un.push({x:vo.x/Et,y:vo.y/zt})}),bn.vertices=Un}}break}if(rn.foundationId===E.current.id&&rn.type===z.SolarPanel&&rn.parentType===z.Roof){const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);switch(b){case gt.Lower:case gt.Upper:rn.cy=Tn.y/zt;break;case gt.Left:case gt.Right:rn.cx=Tn.x/Et;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=Tn.x/Et,rn.cy=Tn.y/zt;break}}}if(rn.foundationId===E.current.id&&rn.type===z.Window&&rn.parentType===z.Roof){const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);rn.cx=Tn.x,rn.cy=Tn.y}}}}),E.current.type){case z.Foundation:{const Xt=Ln.getState().foundationRef;Xt!=null&&Xt.current&&Ne(Xt==null?void 0:Xt.current,Et,zt,Xt.current.position,E.current.rotation[2]);break}case z.Cuboid:{const Xt=Ln.getState().cuboidRef;Xt!=null&&Xt.current&&Xt.current.parent&&Ne(Xt==null?void 0:Xt.current,Et,zt,Xt.current.parent.position,E.current.rotation[2]);break}}},Ye=je=>{const{cx:mt,cy:Ht}=E.current,wt=Math.atan2(mt-je.x,je.y-Ht)+(C===wi.Upper?0:Math.PI),It=Math.abs(wt)>Math.PI?-Math.sign(wt)*na:0;i(E.current.id,0,0,wt+It)},st=je=>{const mt=Ie.current.size>1;if(mt){t(zt=>{for(const ln of zt.elements)if(hd(ln)&&Ie.current.has(ln.id)){const Xt=Ie.current.get(ln.id);Xt&&(ln.cx=je.x+Xt.x,ln.cy=je.y+Xt.y)}});return}let Ht,wt;const It=E.current.lx/2,Et=E.current.ly/2;switch(w){case yo.Top:{if(mt){const zt=new re(je.x,je.y);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=zt.x,Xt.cy=zt.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(zt,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,je.x,je.y);break}case yo.Upper:if(Ht=je.x+Te*Et,wt=je.y-Me*Et,mt){const zt=new re(Ht,wt);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=zt.x,Xt.cy=zt.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(zt,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,wt);break;case yo.Lower:if(Ht=je.x-Te*Et,wt=je.y+Me*Et,mt){const zt=new re(Ht,wt);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=zt.x,Xt.cy=zt.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(zt,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,wt);break;case yo.Left:if(Ht=je.x+Me*It,wt=je.y+Te*It,mt){const zt=new re(Ht,wt);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=zt.x,Xt.cy=zt.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(zt,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,wt);break;case yo.Right:if(Ht=je.x-Me*It,wt=je.y-Te*It,mt){const zt=new re(Ht,wt);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=zt.x,Xt.cy=zt.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(zt,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,wt);break}};return h.jsxs(h.Fragment,{children:[E.current&&De!==Kf.Ground&&h.jsx(sa,{ref:L,visible:!1,name:"Ground Intersection Plane",rotation:Oe,position:Ue,args:[1e5,1e5],onPointerMove:M2.throttle(ct,Ek),children:h.jsx("meshStandardMaterial",{side:ji,opacity:.5,transparent:!0})}),h.jsx(sa,{receiveShadow:v,ref:N,name:"Ground",userData:{stand:!0},rotation:[0,0,0],position:[0,0,0],args:[1e4,1e4],renderOrder:-2,onContextMenu:Qe,onPointerDown:Ct,onPointerMove:M2.throttle(Je,Ek),children:H&&!y?h.jsx("meshBasicMaterial",{color:T}):h.jsx("meshStandardMaterial",{depthTest:!1,color:y?"white":T,map:y?xe.WATER_TEXTURE:xe.WHITE_TEXTURE,needsUpdate:!0})})]})}),Dre=48,Ien=72,zen=12,Den=be.memo(({date:t,hourAngle:e,declinationAngle:n,worldLatitude:o})=>{const i=M(mh),r=M(PBe),a=M(yBe)??!0,l=M(ABe)??!0,s=M(wBe)??!0,[c,u]=m.useState(xe.toRadians(42)),d=Ab(gye),f=Math.max(2,i*.2),p=Math.max(.4,i*.025),g=aA(sq,oQ),A=i*.05,w={font:g,height:0,size:A},b=6,C=new Array(2*b+1).fill(0),P=O=>O===0?-A*.3:O>0&&O<7?-A*.8:-A*1.2;m.useEffect(()=>{u(xe.toRadians(o))},[o]);const v=6,[T,y]=m.useMemo(()=>{const O=new Ur,J=new Ur,Z=[],ie=[],ee=na/Ien;let q=0;for(let te=0;teDt&&(pe=.05*i+(q%3===0?.2:0),fe=new re(i,he,0),fe.z=.002,ie.push(xe.sphericalToCartesianZ(fe)),fe=new re(i+pe,he,0),fe.z=.002,ie.push(xe.sphericalToCartesianZ(fe))),q++}const ae=Z.length*3,ne=new Float32Array(ae),se=new Float32Array(ae),le=new Float32Array(ae);for(let te=0;te{const O=[],J=sl(t,xe.toDegrees(c)),Z=ZY(J.sunrise),ie=ZY(J.sunset),ee=(ie-Z)/Dre;for(let q=Z;q-.01&&O.push(ae)}return O},[t,c,i,n]),x=O=>{const J=QW(O),Z=[],ie=sl(O,xe.toDegrees(c)),ee=ZY(ie.sunrise),q=ZY(ie.sunset),ae=(q-ee)/Dre;for(let ne=ee;ne-.01&&Z.push(se)}return Z},R=m.useMemo(()=>{const O=[];for(let J=0;J<=v;J++){const Z=new Date(2021,J===0?11:J-1,22);O.push(x(Z))}return O},[c,i]),H=m.useMemo(()=>$5(i,e,n,c),[c,n,e,i]),D=m.useMemo(()=>H.clone().normalize(),[H]),k=m.useMemo(()=>new re(H.x,H.y,0).normalize(),[H]),W=m.useMemo(()=>Math.asin(H.z/H.length()),[H]),N=m.useMemo(()=>{const J=new P2(0,0,f,f,0,W,!1,0).getPoints(25),Z=new Array;for(const ie of J)Z.push(new re(ie.x,ie.y,0));return Z},[W,H,f]),L=m.useMemo(()=>Math.acos(H.z/H.length()),[H]),E=m.useMemo(()=>{const J=new P2(0,0,f*.8,f*.8,W,Vt,!1,0).getPoints(25),Z=new Array;for(const ie of J)Z.push(new re(ie.x,ie.y,0));return Z},[L,H,f,W]),U=m.useMemo(()=>{const O=Math.acos(H.y/Math.hypot(H.x,H.y));return H.x>0?-O:O},[H]),F=m.useMemo(()=>{const J=new P2(0,0,f*1.2,f*1.2,Vt,Vt+U,H.x>0,0).getPoints(50),Z=new Array;for(const ie of J)Z.push(new re(ie.x,ie.y,0));return Z},[U,H,f]),B=m.useMemo(()=>{const O=2*eP/zen,J=na/Dre,Z=new Ur;let ie=0;const ee=[],q=[];for(let ae=-eP;aeMath.PI&&(se=Math.PI),le>eP&&(le=eP);const te=$5(i,ne,ae,c),he=$5(i,se,ae,c),pe=$5(i,se,le,c),fe=$5(i,ne,le,c);(te.z>=0||he.z>=0||pe.z>=0||fe.z>=0)&&(ee.push(te,he,pe,fe),q.push(ie),q.push(ie+1),q.push(ie+2),q.push(ie),q.push(ie+2),q.push(ie+3),ie+=4)}return Z.setFromPoints(ee),Z.setIndex(new qa(new Uint16Array(q),1)),Z},[c,i]),_=.05*i,Y=2+5*_;return h.jsxs("group",{children:[C.map((O,J)=>{let Z=Math.ceil(J/2)*(J%2===0?1:-1);Z===-b&&(Z=b);const ie=P(Math.abs(Z));return h.jsx("group",{rotation:[Vt,Z*Math.PI/b,0],children:h.jsxs("mesh",{position:[ie,0,-i*1.1],rotation:[-Vt,0,0],children:[h.jsx("textGeometry",{args:[`${-(180/b)*Z}°`,w]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},J)}),h.jsxs("mesh",{rotation:new Qt(0,0,0),name:"Heliodon",children:[h.jsxs("mesh",{children:[h.jsx("bufferGeometry",{...T}),h.jsx("meshBasicMaterial",{side:ji,vertexColors:!0,polygonOffset:!0,polygonOffsetFactor:-.7,polygonOffsetUnits:-2})]}),h.jsxs("lineSegments",{children:[h.jsx("bufferGeometry",{...y}),h.jsx("meshBasicMaterial",{color:0})]}),h.jsxs("mesh",{children:[S.length>3&&h.jsx(Fn,{lineWidth:2,points:S,color:"yellow"}),R.filter(O=>O.length>3).map((O,J)=>h.jsx(Fn,{opacity:J===0||J===v?1:.5,lineWidth:J===0||J===v?1:.5,points:O,color:"#999"},J)),h.jsx("mesh",{args:[B],children:h.jsx("meshBasicMaterial",{side:ji,color:[1,1,0],transparent:!0,opacity:.5,depthWrite:!1,clippingPlanes:[new Q5(Yc,0)]})}),h.jsx("mesh",{position:H,children:h.jsx("sprite",{scale:[Y,Y,Y],children:h.jsx("spriteMaterial",{map:d,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),h.jsxs("mesh",{position:H,children:[h.jsx("sphereGeometry",{args:[_,10,10]}),h.jsx("meshBasicMaterial",{color:"white"})]})]})]}),h.jsx(sa,{args:[1e4,1e4],renderOrder:-1,userData:{unintersectable:!0},children:h.jsx("meshBasicMaterial",{transparent:!0,opacity:0})}),r&&H.z>0&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,H.z]],name:"Line from origin to sun",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,0]],name:"Line from origin to sun projection on ground",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[H.x,H.y,0],[H.x,H.y,H.z]],name:"Line from sun projection on ground to sun",lineWidth:.5,color:"white"}),l&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:N,position:[0,0,0],rotation:new Qt(Vt,0,Vt+U,"ZXY"),color:"white",name:"Elevation Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Elevation Angle",backgroundColor:"indigo",text:xe.toDegrees(W).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(k.clone().multiplyScalar(f)).multiplyScalar(.65)})]}),s&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:E,position:[0,0,0],rotation:new Qt(Vt,0,Vt+U,"ZXY"),color:"white",name:"Zenith Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Zenith Angle",backgroundColor:"navy",text:xe.toDegrees(L).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(Po.clone().multiplyScalar(f)).multiplyScalar(.57)})]}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:F,position:[0,0,0],color:"white",name:"Azimuth Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Azimuth Angle",backgroundColor:"firebrick",text:xe.toDegrees(Math.abs(U-Math.PI)<1e-6?U:-U).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:k.clone().multiplyScalar(f).add(Yc.clone().multiplyScalar(f)).multiplyScalar(1.1).add(new re(0,0,p/2))})]})]})]})}),Een=be.memo(()=>{const t=M(TBe),e=M(mh),n=M(Xs),o=M(Ya),i=M(T7t),r=m.useMemo(()=>new Date(o),[o]),[a,l]=m.useMemo(()=>[pye(r),QW(r)],[r]);return m.useEffect(()=>{i($5(e,a,l,xe.toRadians(n)))},[n,a,l,e]),h.jsx(h.Fragment,{children:t&&h.jsx(Den,{date:new Date(o),hourAngle:a,declinationAngle:l,worldLatitude:n})})}),ATe="/aladdin/assets/ifi-logo-CwxGDl7t.png",ken="/aladdin/assets/magic-lamp-XxXOV1dq.png",Fen=be.memo(({top:t,height:e,color:n})=>{const o=M(Sc),i=m.useMemo(()=>({lng:o}),[o]),r=t+56+"px",a=t+100+"px",l=t+205+"px";return h.jsxs("div",{children:[h.jsxs("div",{style:{position:"absolute",borderRadius:"20px",border:"thin",textAlign:"center",left:"15%",right:"15%",top:t+"px",height:(e??300)+"px"},children:[h.jsx("h2",{style:{marginTop:"20px",color:n},children:j.t("aboutUs.ProductBroughtToYouBy",i)}),h.jsxs("p",{style:{paddingTop:"6px",fontSize:"12px",color:n},children:[h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-terms.html",style:{color:n,textDecoration:"none"},children:j.t("aboutUs.TermsOfService",i)}),"   |   ",h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",style:{color:n,textDecoration:"none"},children:j.t("aboutUs.PrivacyPolicy",i)})]})]}),h.jsxs("div",{children:[h.jsx("hr",{style:{position:"absolute",left:"10%",width:"80%",marginTop:r,color:n}}),h.jsx("table",{style:{position:"absolute",border:"none",top:a,left:"10%",width:"80%",fontSize:"small",color:n},children:h.jsx("tbody",{children:h.jsxs("tr",{style:{verticalAlign:"top"},children:[h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:j.t("aboutUs.Software",i)}),"Xiaotong Ding",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:j.t("aboutUs.Content",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:j.t("aboutUs.Support",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]})]})})})]}),h.jsxs("div",{style:{position:"absolute",left:"10%",marginRight:"10%",top:l,fontSize:"12px",textAlign:"justify",color:n},children:[j.t("aboutUs.Translators",i),": ",Z5.Ukrainian," (Andriy Kashyrskyy), ",Z5.Spanish," (Alex Barco), ",Z5.Turkish," (Hasan Bircan)",h.jsx("br",{}),h.jsx("br",{}),j.t("aboutUs.Acknowledgment",i),": ",j.t("aboutUs.FundingInformation",i)," ",j.t("aboutUs.Contact",i)]})]})}),Len=Ho.div` +`,ben=be.memo(function({initializing:e}){const n=ht(Jwt),o=ht(vf),i=ht(Ije),r=ht(dge),a=ht(zje),l=M(J1e),s=M(K1e),c=M(X1e),u=M(NBe),d=M(u4t),f=ht(Wje),p=ht(Nje),g=ht(aYe),A=ht(lYe),w=ht(eYe),b=ht(tYe),C=ht(ZL),P=ht(QL),v=ht(wq),T=M.getState().elements;return h.jsx(h.Fragment,{children:(e||n||o||i)&&h.jsxs(h.Fragment,{children:[o&&(!c&&C||!d&&(P||v)||!l&&(g||A)||!u&&(w||b)||!s&&(f||p)||xe.hasMovingParts(T))&&h.jsx(wen,{}),i&&h.jsx(xen,{}),h.jsx(fQ,{spinning:!r||!a})]})})}),Sen=()=>{if(M(AH),!ht.getState().waiting)return null;const e=()=>(m.useEffect(()=>(ht.getState().set(n=>{n.waiting=!1}),()=>{ht.getState().set(n=>{n.waiting=!1})})),null);return h.jsx(e,{})},Ten=be.memo(({id:t,cx:e,cy:n,cz:o,lx:i,lz:r,birdSafe:a=lc.None,numberOfBlades:l=3,speed:s=10,hubRadius:c=.75,hubLength:u=1.5,maximumChordRadius:d=3,maximumChordLength:f=1,towerHeight:p,towerRadius:g,bladeRadius:A,bladeTipWidth:w=.2,bladeRootRadius:b=.3,rotation:C=[0,0,0],relativeYawAngle:P=0,initialRotorAngle:v=0,pitchAngle:T=xe.toRadians(10),color:y="white",bladeColor:S=X5,stripeColor:x=J5,lineColor:R="black",lineWidth:H=.5,showLabel:D=!1,locked:k=!1,parentId:W})=>{const N=M(dn),L=M(Vn),E=M(Vc),U=Hs(t),F=M(ss),B=M(Ya),{gl:{domElement:_}}=Xi(),[Y,O]=m.useState(!1),J=m.useRef(null),Z=m.useRef(null),ie=m.useRef(!1),ee=Kt(),q=m.useMemo(()=>xe.fetchBladeTexture(A,b*2,100,a,S,x),[b,A,a,S,x]),ae=M(ze=>{for(const ye of ze.elements)if(ye.id===W)return ye});if(ae)switch(ae.type){case z.Foundation:if(o=ae.lz,xe.isZero(C[2]))e=ae.cx+e*ae.lx,n=ae.cy+n*ae.ly;else{const ze=new re(e*ae.lx,n*ae.ly,0);ze.applyAxisAngle(Po,C[2]),e=ae.cx+ze.x,n=ae.cy+ze.y}break}const ne=L(t),se=c*1.25,le=u*2.5,te=A-d/3,he=m.useMemo(()=>{const ze=f-b,ye=new Ml,oe=[];return oe.push(new Gt(-b,0)),oe.push(new Gt(-ze/2,A-te)),oe.push(new Gt(-ze,d)),oe.push(new Gt(b-w,A)),ye.moveTo(-b,0),ye.splineThru(oe),ye.lineTo(b,A),ye.lineTo(b,0),ye.closePath(),ye},[A,te,f,d,b,w]),pe=m.useMemo(()=>{const ze=new Date(B);return v+s*(ze.getHours()*60+ze.getMinutes())*Math.PI/72},[B,s,v]);m.useEffect(()=>{const ze=()=>{Ln.getState().setEnableOrbitController(!0),ie.current=!1};return window.addEventListener("pointerup",ze),()=>{window.removeEventListener("pointerup",ze)}},[]);const fe=m.useMemo(()=>(ne!=null&&ne.label?ne.label:j.t("shared.WindTurbineElement",ee))+(ne!=null&&ne.locked?" ("+j.t("shared.ElementLocked",ee)+")":"")+(ne!=null&&ne.label?"":` +`+j.t("word.Coordinates",ee)+": ("+e.toFixed(1)+", "+n.toFixed(1)+", "+o.toFixed(1)+") "+j.t("word.MeterAbbreviation",ee)),[ne==null?void 0:ne.label,ne==null?void 0:ne.locked,ee,e,n,o]),$=m.useMemo(()=>new Qt(0,0,C[2]+P,"ZXY"),[C,P]),de=(ze,ye)=>{ze.intersections.length>0&&ze.intersections[0].object===ze.eventObject&&(_.style.cursor=ye===yo.Default?"move":"pointer")},Se=()=>{_.style.cursor="default"},Ce=Af*4,ve=m.useMemo(()=>{const ze=Math.PI*2/l,ye=new Array;for(let oe=0;oeh.jsxs("group",{position:new re(0,-u*.85,p),rotation:[Vt,T,ye,"XZY"],children:[h.jsxs("mesh",{name:"Blade "+ze+" Font Side",receiveShadow:F,castShadow:F,children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:S,side:ia,map:oe})]}),h.jsxs("mesh",{name:"Blade "+ze+" Back Side",receiveShadow:F,castShadow:F,position:new re(0,-.05,0),children:[h.jsx("shapeGeometry",{attach:"geometry",args:[he]}),h.jsx("meshStandardMaterial",{attach:"material",color:S,side:p0,map:oe})]}),h.jsx(wa,{name:"Blade root",castShadow:!1,receiveShadow:!1,args:[b*1.1,b*1.1,.24,12,1],position:new re(0,c-.14,0),children:h.jsx("meshStandardMaterial",{attach:"material",color:y})})]},ze);return h.jsxs("group",{name:"Wind Turbine Group "+t,rotation:$,position:[e,n,o],children:[h.jsx("group",{children:U&&!k&&h.jsx(ts,{ref:Z,position:new re(0,0,0),args:[Ce+g,6,6],name:yo.Default,castShadow:!1,receiveShadow:!1,onPointerOver:ze=>{de(ze,yo.Default)},onPointerOut:()=>{Se()},onPointerDown:ze=>{ze.button!==2&&E(t,ze,zo.Move)},children:h.jsx("meshStandardMaterial",{attach:"material",color:"orange"})})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Tower",ref:J,castShadow:F,receiveShadow:F,args:[g*.8,g*1.2,p,4,1],position:new re(0,0,p*.5),rotation:[Vt,0,0],onPointerDown:ze=>{ze.button!==2&&(E(t,ze,zo.Select),Ln.getState().setEnableOrbitController(!1))},onContextMenu:ze=>{E(t,ze,zo.ContextMenu),N(ye=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(ye.contextMenuObjectType=z.WindTurbine)})},onPointerOver:ze=>{ze.intersections.length>0&&ze.intersections[0].object===J.current&&(O(!0),_.style.cursor="move")},onPointerOut:()=>{O(!1),_.style.cursor="default"},children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),h.jsx(ts,{userData:{unintersectable:!0},name:"Hub",castShadow:F,receiveShadow:F,args:[c,8,8,Vt,Math.PI,0,Math.PI],position:new re(0,-u*.5,p),rotation:[Math.PI,0,Vt],scale:[u/c,1,1],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),h.jsx(wa,{userData:{unintersectable:!0},name:"Hub Cap",castShadow:F,receiveShadow:F,args:[c,c,.01,16,1],position:new re(0,-u*.5,p),rotation:[Math.PI,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),h.jsx(_6t,{userData:{unintersectable:!0},name:"Nacelle",castShadow:F,receiveShadow:F,radius:.1,smoothness:4,args:[se,se,le],position:new re(0,(le-u)*.5-.1,p),rotation:[Vt,0,0],children:h.jsx("meshStandardMaterial",{attach:"material",color:y})}),a!==lc.None&&ve.map((ze,ye)=>Ie(ye,ze,q)),a===lc.None&&ve.map((ze,ye)=>Ie(ye,ze,null)),U&&k&&h.jsx(Fn,{name:"Selection highlight lines",userData:{unintersectable:!0},points:[[-i/2,0,0],[-i/2,r,0],[-i/2,r,0],[i/2,r,0],[i/2,0,0],[i/2,r,0],[i/2,0,0],[-i/2,0,0]],rotation:[Vt,0,0],castShadow:!1,receiveShadow:!1,lineWidth:1,color:l0}),(Y||D)&&!U&&h.jsx("textSprite",{userData:{unintersectable:!0},name:"Label",fontFace:"Roboto",text:fe,color:(ne==null?void 0:ne.labelColor)??"white",fontSize:(ne==null?void 0:ne.labelFontSize)??20,textHeight:(ne==null?void 0:ne.labelSize)??1,castShadow:!1,receiveShadow:!1,position:[0,0,1+p+c]})]})}),Pen=be.memo(()=>{const t=M(Jn),e=m.useRef(null);return m.useEffect(()=>{e&&Ln.setState({contentRef:e})},[]),console.debug(t),h.jsxs("group",{ref:e,name:"Content",children:[t.map(n=>{switch(n.type){case z.Foundation:return h.jsx(N$t,{...n},n.id);case z.Sensor:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Fqe,{...o},n.id)}case z.Light:{const o=n;return o.parentType===z.Cuboid?null:h.jsx(Lqe,{...o},n.id)}case z.Cuboid:return n.parentId!==Zo?null:h.jsx(Uqe,{elements:t,cuboidModel:n},n.id);case z.Human:return h.jsx(cZt,{...n},n.id);case z.Tree:return h.jsx(uZt,{...n},n.id);case z.Flower:return h.jsx(gZt,{...n},n.id);case z.ParabolicDish:return h.jsx(fZt,{...n},n.id);case z.ParabolicTrough:return h.jsx(dZt,{...n},n.id);case z.FresnelReflector:return h.jsx(hZt,{...n},n.id);case z.Heliostat:return h.jsx(pZt,{...n},n.id);case z.WindTurbine:return h.jsx(Ten,{...n},n.id);case z.Polygon:switch(n.parentType){case z.Wall:return null;default:return h.jsx(Iqe,{...n},n.id)}default:if(n.id)return h.jsx(be.Fragment,{},n.id)}return null}),h.jsx(Sen,{}),h.jsx(Cen,{})]})}),Cen=()=>{const t=M(gge);return m.useEffect(()=>{M.getState().set(e=>{e.deletedRoofIdSet.clear()})},[t]),null},Ren=be.memo(()=>{const t=M(dn),e=M(xb),n=M(vH),o=M(e3),i=M(age),r=M(uge),a=M(Vn),l=M(t3),s=M(rge),c=M(hp),u=M(nge),d=M(hge),f=M(En),p=M(H7),g=M(KBe),A=M(Rq),w=M(Cb),b=M(yh),C=M(sW),P=M(k8t),v=M(ss),T=M(vBe),y=M(xBe),S=M(je=>je.world.ground),x=M(F8t),R=M(L8t),H=ht(cs),{get:D,scene:k,invalidate:W}=Xi(),N=m.useRef(null),L=m.useRef(null),E=m.useRef(null),U=m.useRef(new re),F=m.useRef(new re),B=m.useRef(new Map),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(new Map),J=m.useRef(new Map),Z=m.useRef(new Map),ie=m.useRef(new Map),ee=m.useRef(new Map),q=m.useRef(new re(1,1,1)),ae=m.useRef(new re(1,1,1)),ne=m.useRef([0,0,1]),se=m.useRef([0,0,1]),le=m.useRef(null),te=m.useRef(null),he=m.useRef(new Map),pe=m.useRef(new Map),fe=m.useRef(new Map),$=m.useRef(!1),de=m.useRef(!1),Se=m.useRef(!1),Ce=m.useRef(!1),ve=m.useRef(!1),Ie=m.useRef(new Map),ze=m.useRef(new Map),ye=m.useRef(new Map),oe=m.useRef(new re),ge=Kt();m.useEffect(()=>(window.addEventListener("pointerup",Oe),()=>{window.removeEventListener("pointerup",Oe)}),[]),m.useEffect(()=>{x&&(t(je=>{je.addedFoundationId=null,je.deletedFoundationId=null}),$.current=!1,de.current=!1)},[x]),m.useEffect(()=>{R&&(t(je=>{je.addedCuboidId=null,je.deletedCuboidId=null}),Se.current=!1,Ce.current=!1)},[R]);const{camera:Ae}=Xi(),me=m.useMemo(()=>new Gs,[]),Pe=m.useMemo(()=>new Gt,[]),Me=E.current?Math.cos(E.current.rotation[2]):1,Te=E.current?Math.sin(E.current.rotation[2]):0;let De=Kf.Ground;const Ne=m.useMemo(()=>new re,[]),Ye=m.useMemo(()=>new Qt,[]),Le=m.useMemo(()=>new Qt,[]);if(E.current){if(xe.isPlantOrHuman(E.current)){De=Kf.Vertical;const je=M.getState().viewState.orthographic?0:-Vt,{x:yt,y:Ht}=Ae.position,At=-Math.atan2(yt,Ht);Ye.set(je,0,At,"ZXY"),Ne.set(E.current.cx,E.current.cy,0)}else if(w===yo.Top)De=Kf.Horizontal,Ne.set(E.current.cx,E.current.cy,E.current.lz),Ye.set(0,0,0);else if(xe.isMoveHandle(w)||b===gt.Left||b===gt.Right||b===gt.Lower||b===gt.Upper||b===gt.LowerLeft||b===gt.UpperLeft&&E.current.type!==z.Wall||b===gt.LowerRight||b===gt.UpperRight&&E.current.type!==z.Wall||C===wi.Lower||C===wi.Upper)De=Kf.Horizontal,Ne.set(E.current.cx,E.current.cy,Af),Ye.set(0,0,0);else if(b){De=Kf.Vertical;const je=d(E.current,b),yt=u(),Ht=-Math.atan2(yt.x,yt.y);Ne.set(je.x,je.y,0),Ye.set(-Vt,0,Ht,"ZXY")}}const $e=je=>{Pe.x=je.offsetX/D().gl.domElement.clientWidth*2-1,Pe.y=-(je.offsetY/D().gl.domElement.clientHeight)*2+1,me.setFromCamera(Pe,D().camera)},We=je=>{for(const yt of je)if(yt.object.userData.stand)return yt;return null},Ee=(je,yt)=>{je&&t(Ht=>{for(const At of Ht.elements)if(At.id===yt&&At.type!==z.Foundation){At.parentId=je;break}})},Fe=je=>{if(!je)return"";const yt=je.name.split(" ");return yt[2]?yt[2]:Fe(je.parent)},Ge=(je,yt,Ht)=>{if(!je||!yt)return;const At=Ln.getState().contentRef;if(At!=null&&At.current){const It=xe.getObjectChildById(At.current,yt),zt=xe.getObjectChildById(yt===Zo?At.current:It,Ht);if(zt){if(je===Zo)At.current.add(zt);else{const Ft=xe.getObjectChildById(At.current,je);Ft==null||Ft.add(zt)}W()}}},rt=(je,yt)=>{if(je&&je.current){const Ht=We(yt.intersections);if(Ht){const At=Ht.object,It=je.current.parent;if(At.name==="Ground"){if(It&&It.name!=="Content"){const zt=Ln.getState().contentRef;zt&&zt.current&&(zt.current.add(je.current),Ee(Zo,Fe(je.current)))}je.current.position.copy(Ht.point),W()}else if(At.userData.stand){const zt=At.parent;if(zt){It&&It.uuid!==zt.uuid&&(zt.add(je.current),Ee(Fe(zt),Fe(je.current)));const{rot:Ft}=xe.getWorldDataById(Fe(zt));Le.set(0,0,-Ft);const ln=new re().subVectors(Ht.point,zt.localToWorld(new re)).applyEuler(Le);je.current.position.copy(ln),W()}}ve.current||(ve.current=!0)}}},_e=(je,yt,Ht)=>{t(At=>{for(const It of At.elements)if(It.id===je){xe.isFoundationOrCuboid(It)||(It.parentId=yt),It.cx=Ht.x,It.cy=Ht.y,It.cz=Ht.z;break}})},xt=()=>{if(!E.current)return;const je={name:"Resize",timestamp:Date.now(),resizedElementId:E.current.id,resizedElementType:E.current.type,oldCx:U.current.x,oldCy:U.current.y,oldCz:U.current.z,newCx:F.current.x,newCy:F.current.y,newCz:F.current.z,oldLx:q.current.x,oldLy:q.current.y,oldLz:q.current.z,newLx:ae.current.x,newLy:ae.current.y,newLz:ae.current.z,oldChildrenPositionsMap:new Map(B.current),newChildrenPositionsMap:new Map(_.current),oldPolygonVerticesMap:new Map(Y.current),newPolygonVerticesMap:new Map(O.current),oldChildrenParentIdMap:new Map(ie.current),newChildrenParentIdMap:new Map(ee.current),oldWallPointsMap:new Map(J.current),newWallPointsMap:new Map(Z.current),undo:()=>{var yt,Ht;if(t(At=>{for(const It of At.elements)if(It.id===je.resizedElementId){It.cx=je.oldCx,It.cy=je.oldCy,It.cz=je.oldCz,It.lx=je.oldLx,It.ly=je.oldLy,It.lz=je.oldLz;break}}),je.oldChildrenPositionsMap.size>0)for(const[At,It]of je.oldChildrenPositionsMap.entries()){const zt=a(At);if((zt==null?void 0:zt.type)!==z.Polygon){t(Xt=>{for(const fn of Xt.elements)if(fn.id===At){if(fn.cx=It.x,fn.cy=It.y,Rt(fn)||(fn.cz=It.z),fn.type===z.Wall){const rn=fn,bn=je.oldWallPointsMap.get(rn.id);bn&&(rn.leftPoint=[bn[0].x,bn[0].y,0],rn.rightPoint=[bn[1].x,bn[1].y,0])}break}je.oldWallPointsMap.size>0&&(Xt.updateWallMapOnFoundationFlag=!Xt.updateWallMapOnFoundationFlag)});const Ft=(yt=je.oldChildrenParentIdMap)==null?void 0:yt.get(At),ln=(Ht=je.newChildrenParentIdMap)==null?void 0:Ht.get(At);Ft&&ln&&Ft!==ln&&(Ge(Ft,ln,At),Ee(Ft,At))}}if(je.oldPolygonVerticesMap.size>0)for(const[At,It]of je.oldPolygonVerticesMap.entries()){const zt=a(At);(zt==null?void 0:zt.type)===z.Polygon&&p(At,It)}},redo:()=>{var yt,Ht;if(t(At=>{for(const It of At.elements)if(It.id===je.resizedElementId){It.cx=je.newCx,It.cy=je.newCy,It.cz=je.newCz,It.lx=je.newLx,It.ly=je.newLy,It.lz=je.newLz;break}}),je.newChildrenPositionsMap.size>0)for(const[At,It]of je.newChildrenPositionsMap.entries()){t(ln=>{for(const Xt of ln.elements)if(Xt.id===At){if(Xt.cx=It.x,Xt.cy=It.y,(Xt.type!==z.SolarPanel||Xt.parentType!==z.Roof)&&(Xt.cz=It.z),Xt.type===z.Wall){const fn=Xt,rn=je.newWallPointsMap.get(fn.id);rn&&(fn.leftPoint=[rn[0].x,rn[0].y,0],fn.rightPoint=[rn[1].x,rn[1].y,0])}break}je.newWallPointsMap.size>0&&(ln.updateWallMapOnFoundationFlag=!ln.updateWallMapOnFoundationFlag)});const zt=(yt=je.oldChildrenParentIdMap)==null?void 0:yt.get(At),Ft=(Ht=je.newChildrenParentIdMap)==null?void 0:Ht.get(At);zt&&Ft&&zt!==Ft&&(Ge(Ft,zt,At),Ee(Ft,At))}if(je.newPolygonVerticesMap.size>0)for(const[At,It]of je.newPolygonVerticesMap.entries()){const zt=a(At);(zt==null?void 0:zt.type)===z.Polygon&&p(At,It)}}};return je},dt=(je,yt)=>{var zt,Ft;const Ht=Ln.getState().contentRef,At=xe.getObjectChildById(Ht==null?void 0:Ht.current,je.id);if(At){for(const ln of At.children)if(ln.name.includes(`${yt.id}`)){(Ft=(zt=Ln.getState().contentRef)==null?void 0:zt.current)==null||Ft.add(ln);break}}yt.parentId=Zo;const It=new re(yt.cx,yt.cy,yt.cz).applyEuler(new Qt(0,0,je.rotation[2])).add(U.current);yt.cx=It.x,yt.cy=It.y,yt.cz=0,_.current.set(yt.id,new re(It.x,It.y,0)),ee.current.set(yt.id,Zo)},Qe=je=>{je.intersections.length>0&&je.intersections[0].object===N.current&&t(Ht=>{mx.selectNone(Ht),Ht.pastePoint.copy(je.intersections[0].point),Ht.clickObjectType=z.Ground,Ht.contextMenuObjectType=z.Ground,Ht.pasteNormal=Po})},ct=je=>{const yt=M.getState().resizeHandleType;switch(je.type){case z.Tree:switch(yt){case gt.Top:{const Ht={name:"Change Tree Height",timestamp:Date.now(),changedElementId:je.id,changedElementType:je.type,oldValue:q.current.z,newValue:je.lz,undo:()=>{s(Ht.changedElementId,Ht.oldValue)},redo:()=>{s(Ht.changedElementId,Ht.newValue)}};f(Ht),t(At=>{At.actionState.treeHeight=je.lz});return}case gt.Left:case gt.Right:case gt.Lower:case gt.Upper:{const Ht={name:"Change Tree Spread",timestamp:Date.now(),changedElementId:je.id,changedElementType:je.type,oldValue:q.current.x,newValue:je.lx,undo:()=>{l(Ht.changedElementId,Ht.oldValue)},redo:()=>{l(Ht.changedElementId,Ht.newValue)}};f(Ht),t(At=>{At.actionState.treeSpread=je.lx});return}}break;case z.Wall:{const Ht={name:"Change Wall Height",timestamp:Date.now(),changedElementId:je.id,changedElementType:je.type,oldValue:q.current.z,newValue:je.lz,undo:()=>{s(Ht.changedElementId,Ht.oldValue)},redo:()=>{s(Ht.changedElementId,Ht.newValue)}};f(Ht),t(At=>{At.actionState.wallHeight=je.lz});return}}if(F.current.set(je.cx,je.cy,je.cz),ae.current.set(je.lx,je.ly,je.lz),ie.current.clear(),ee.current.clear(),_.current.clear(),O.current.clear(),Z.current.clear(),t(Ht=>{if(je.type===z.Cuboid&&(Ht.actionState.cuboidHeight=je.lz),Ht.updateSceneRadius(),Ht.updateWallMapOnFoundationFlag=!Ht.updateWallMapOnFoundationFlag,je.parentId===Zo){for(const At of Ht.elements)if(xe.isPlantOrHuman(At)&&At.parentId===je.id&&(ie.current.set(At.id,je.id),!xe.isResizingVertical(M.getState().resizeHandleType)))if(Math.abs(q.current.z/2-At.cz)<.01){const It=new re(At.cx,At.cy,At.cz).applyEuler(new Qt(0,0,je.rotation[2])).add(U.current).sub(F.current).applyEuler(new Qt(0,0,-je.rotation[2]));Math.abs(It.x)>Math.abs(ae.current.x/2)+.01||Math.abs(It.y)>Math.abs(ae.current.y/2)+.01?dt(je,At):(At.cx=It.x,At.cy=It.y)}else{const It=new re(At.cx,At.cy,At.cz),zt=new re().subVectors(F.current,U.current),Ft=new re().subVectors(It,zt);Math.abs(It.x/q.current.x)>.49?Math.abs(Ft.y)>je.ly/2+.5?dt(je,At):(At.cx=(It.x>0?je.lx:-je.lx)/2,At.cy=Ft.y):Math.abs(It.y/q.current.y)>.49&&(Math.abs(Ft.x)>je.lx/2+.5?dt(je,At):(At.cx=Ft.x,At.cy=(It.y>0?je.ly:-je.ly)/2))}}}),F.current.distanceToSquared(U.current)>Dt&&ae.current.distanceToSquared(q.current)>Dt){if(je.type===z.Foundation||je.type===z.Cuboid){const At=n(je.id);if(At.length>0)for(const It of At)if(It.type===z.Polygon)O.current.set(It.id,It.vertices.map(zt=>({...zt})));else{if(It.type===z.Wall){const zt=It,Ft=new Gt(zt.leftPoint[0],zt.leftPoint[1]),ln=new Gt(zt.rightPoint[0],zt.rightPoint[1]);Z.current.set(It.id,[Ft,ln])}_.current.set(It.id,new re(It.cx,It.cy,It.cz))}if(je.type===z.Foundation){const It=Wt(je.id);if(It.length>0)for(const zt of It){const Ft=new re(zt.cx,zt.cy);_.current.set(zt.id,Ft)}}}const Ht=xt();Ht&&f(Ht)}},ft=()=>{if(M.getState().viewState.orthographic)return!1;if(N.current){const je=me.intersectObjects(D().scene.children,!0);if(je.length>0){for(const yt of je)if(yt.object.userData.stand)return!1}}return me.intersectObjects([N.current]).length===0},at=je=>{t(yt=>{for(const Ht of yt.elements)if(je.has(Ht.id)){const At=je.get(Ht.id);At&&(Ht.cx=At[0],Ht.cy=At[1],Ht.cz=At[2])}})},ot=(je,yt)=>{var It,zt,Ft;if(je.locked)return;F.current.set(je.cx,je.cy,je.cz);let Ht=le.current,At=null;switch($e(yt),je.type){case z.Tree:At=(It=Ln.getState().treeRef)==null?void 0:It.current;break;case z.Flower:At=(zt=Ln.getState().flowerRef)==null?void 0:zt.current;break;case z.Human:At=(Ft=Ln.getState().humanRef)==null?void 0:Ft.current;break}if(At&&ve.current){const ln=me.intersectObjects(xe.fetchIntersectables(k),!1),Xt=We(ln);if(Xt){const fn=Xt.point;if(Xt.object.name==="Ground")_e(je.id,Zo,fn),F.current.set(fn.x,fn.y,fn.z),Ht=Zo;else if(Xt.object.userData.stand){const rn=Fe(Xt.object),bn=Xt.object.parent;if(bn){const Tn=new re().subVectors(fn,bn.localToWorld(new re)).applyEuler(Le);_e(je.id,rn,Tn),F.current.set(Tn.x,Tn.y,Tn.z),Ht=rn}}}ve.current=!1}if(F.current.distanceToSquared(U.current)>Dt||me.intersectObjects([N.current]).length===0){let ln=!0;if(!M.getState().viewState.orthographic&&(ln=F.current.length().02}if(!ln||ft()){o(je.id,U.current.x,U.current.y,U.current.z),At&&xe.isPlantOrHuman(je)&&At.position.copy(U.current),xe.isPlantOrHuman(je)&&Ee(le.current,je.id);const Xt=Ln.getState().contentRef;if(Xt!=null&&Xt.current&&le.current&&At){if(le.current===Zo)Xt.current.add(At);else{const fn=xe.getObjectChildById(Xt.current,le.current);fn==null||fn.add(At)}W()}Do(j.t("message.CannotMoveObjectTooFar",ge))}else{if(Ie.current.size>1){ye.current.clear();for(const fn of M.getState().elements)ze.current.has(fn.id)&&ye.current.set(fn.id,[fn.cx,fn.cy,fn.cz]);const Xt={name:"Move Foundation Group",timestamp:Date.now(),oldPositionMap:new Map(ze.current),newPositionMap:new Map(ye.current),undo:()=>{at(Xt.oldPositionMap)},redo:()=>{at(Xt.newPositionMap)}};f(Xt)}else{const Xt=je.type===z.Cuboid,fn=Xt?te.current:le.current,rn=Xt?je.parentId:Ht,bn={name:"Move",timestamp:Date.now(),movedElementId:je.id,movedElementType:je.type,oldCx:U.current.x,oldCy:U.current.y,oldCz:U.current.z,newCx:F.current.x,newCy:F.current.y,newCz:F.current.z,oldRotation:[...ne.current],newRotation:[...je.rotation],oldParentId:fn,newParentId:rn,undo:()=>{o(bn.movedElementId,bn.oldCx,bn.oldCy,bn.oldCz),t(Tn=>{const Un=Tn.elements.find(Ai=>Ai.id===bn.movedElementId);Un&&bn.oldRotation&&(Un.rotation=[...bn.oldRotation])}),Ee(bn.oldParentId,bn.movedElementId),bn.movedElementType&&wt(bn.movedElementType)&&Ge(bn.oldParentId,bn.newParentId,bn.movedElementId)},redo:()=>{o(bn.movedElementId,bn.newCx,bn.newCy,bn.newCz),t(Tn=>{const Un=Tn.elements.find(Ai=>Ai.id===bn.movedElementId);Un&&bn.newRotation&&(Un.rotation=[...bn.newRotation])}),Ee(bn.newParentId,bn.movedElementId),bn.movedElementType&&wt(bn.movedElementType)&&Ge(bn.newParentId,bn.oldParentId,bn.movedElementId)}};f(bn)}Ie.current.clear(),g()}}},et=je=>{se.current=[...je.rotation];const yt=new re().fromArray(ne.current);if(new re().fromArray(se.current).distanceToSquared(yt)>Dt){const At={name:"Rotate",timestamp:Date.now(),rotatedElementId:je.id,rotatedElementType:je.type,oldRotation:ne.current,newRotation:se.current,undo:()=>{i(At.rotatedElementId,At.oldRotation[0],At.oldRotation[1],At.oldRotation[2])},redo:()=>{i(At.rotatedElementId,At.newRotation[0],At.newRotation[1],At.newRotation[2])}};f(At)}},Oe=je=>{if(je.button!==2){if(Ln.getState().setEnableOrbitController(!0),E.current){const yt=a(E.current.id);if(yt)if(de.current)if($.current=!1,de.current=!1,t(Ht=>{Ht.addedFoundationId=null,Ht.updateSceneRadius()}),yt.lx<=.1||yt.ly<=.1)c(yt.id,!1);else{const Ht={name:"Add",timestamp:Date.now(),addedElement:yt,undo:()=>{c(Ht.addedElement.id,!1),g()},redo:()=>{t(At=>{At.elements.push(Ht.addedElement),At.selectedElement=Ht.addedElement,At.updateSceneRadius()})}};f(Ht)}else if(Ce.current)if(Se.current=!1,Ce.current=!1,t(Ht=>{Ht.addedCuboidId=null,Ht.updateSceneRadius()}),yt.lx<=.1||yt.ly<=.1)c(yt.id,!1);else{const Ht={name:"Add",timestamp:Date.now(),addedElement:yt,undo:()=>{c(Ht.addedElement.id,!1),g()},redo:()=>{t(At=>{At.elements.push(Ht.addedElement),At.selectedElement=Ht.addedElement,At.updateSceneRadius()})}};f(Ht)}else M.getState().resizeHandleType?ct(yt):M.getState().rotateHandleType?et(yt):M.getState().moveHandleType&&ot(yt,je),yt.type===z.Foundation&&ht.getState().updateFoundationMovedFlag();E.current=null}t(yt=>{yt.moveHandleType=null,yt.resizeHandleType=null,yt.rotateHandleType=null}),Ln.setState({humanRef:null,treeRef:null,flowerRef:null}),ht.getState().set(yt=>{yt.showWallIntersectionPlaneId=null,yt.oldParentId=null,yt.oldFoundationId=null})}},nt=(je,yt)=>{const{pos:Ht}=xe.getWorldDataById(je.id),At=new re(Ht.x,Ht.y),It=new re().subVectors(At,yt);Ie.current.set(je.id,It),ze.current.set(je.id,[je.cx,je.cy,je.cz])},mt=(je,yt)=>{const Ht=je.intersections[0].point.clone().setZ(0);for(const At of M.getState().elements)hd(At)&&At.parentId===Zo&&!At.locked&&At.id!==yt.id&&!Ie.current.has(At.id)&&!xe.isChild(yt.id,At.id)&&!xe.isChild(At.id,yt.id)&&xe.areTwoBasesOverlapped(At,yt)&&(nt(At,Ht),At.enableGroupMaster&&mt(je,At)),At.id===yt.id&&nt(At,Ht)},Tt=(je,yt)=>{Ie.current.clear(),ze.current.clear(),yt.enableGroupMaster&&M.getState().moveHandleType&&mt(je,yt)},Rt=je=>{if(je.type===z.SolarPanel&&je.parentType===z.Roof||je.type===z.Window&&je.parentType===z.Roof)return!0},Wt=je=>M.getState().elements.filter(yt=>yt.foundationId!==je?!1:yt.type===z.SolarPanel&&yt.parentType===z.Roof||yt.type===z.Window&&yt.parentType===z.Roof||yt.type===z.Sensor||yt.type===z.Light),Ct=je=>{if(je.button===2||je.intersections.length===0||!N.current)return;if($.current){$e(je);const Ht=me.intersectObjects([N.current]);Ht.length>0&&(Ln.getState().setEnableOrbitController(!1),t(At=>{At.moveHandleType=null,At.resizeHandleType=gt.LowerRight,At.resizeAnchor.copy(Ht[0].point)}),$.current=!1,de.current=!0);return}if(Se.current){$e(je);const Ht=me.intersectObjects([N.current]);Ht.length>0&&(Ln.getState().setEnableOrbitController(!1),t(At=>{var It;if(At.moveHandleType=null,At.resizeHandleType=gt.LowerRight,At.resizeAnchor.copy(Ht[0].point),E.current){const zt=qe(je,(It=E.current)==null?void 0:It.id);if(zt){const Ft=me.intersectObjects([zt.eventObject]);Ft.length>0&&At.resizeAnchor.copy(Ft[0].point)}}}),Se.current=!1,Ce.current=!0);return}if(je.intersections[0].object===N.current){if(M.getState().multiSelectionsMode||t(Ht=>{Ht.clickObjectType=z.Ground,Ht.selectedElement=null,mx.selectNone(Ht),Ht.contextMenuObjectType=null}),Pt(A)){const Ht=je.intersections[0].point,At=r(S,Ht),It={name:"Add",timestamp:Date.now(),addedElement:At,undo:()=>{c(It.addedElement.id,!1),g()},redo:()=>{t(zt=>{zt.elements.push(It.addedElement),zt.selectedElement=It.addedElement,zt.updateSceneRadius()})}};f(It),t(zt=>{zt.actionModeLock||(zt.objectTypeToAdd=z.None),zt.updateSceneRadius()})}}else{const Ht=M.getState().selectedElementIdSet;if(Ht.size>1){const At=M.getState().selectedElement;if(At){E.current=At,Ie.current.clear();for(const It of M.getState().elements)if(xe.isElementAllowedMultipleMoveOnGround(It)&&Ht.has(It.id))if(It.enableGroupMaster)mt(je,It);else{const Ft=je.intersections[0].point.clone().setZ(0);nt(It,Ft)}}}else{const At=e();if(At&&Pt(At.type)){if(E.current=At,U.current.set(At.cx,At.cy,At.cz),q.current.set(At.lx,At.ly,At.lz),ne.current=[...At.rotation],At.type===z.Foundation||At.type===z.Cuboid){const It=n(At.id);if(B.current.clear(),Y.current.clear(),J.current.clear(),It.length>0)for(const zt of It)if(zt.type===z.Polygon)Y.current.set(zt.id,zt.vertices.map(Ft=>({...Ft})));else{if(zt.type===z.Wall){const Ft=zt,ln=new Gt(Ft.leftPoint[0],Ft.leftPoint[1]),Xt=new Gt(Ft.rightPoint[0],Ft.rightPoint[1]);J.current.set(zt.id,[ln,Xt])}B.current.set(zt.id,new re(zt.cx,zt.cy,zt.cz))}if(At.type===z.Foundation){const zt=Wt(At.id);if(zt.length>0)for(const Ft of zt){const ln=new re(Ft.cx,Ft.cy);B.current.set(Ft.id,ln)}}}switch(At.type){case z.Tree:le.current=At.parentId,q.current.set(At.lx,At.ly,At.lz);break;case z.Flower:le.current=At.parentId;break;case z.Human:le.current=At.parentId;break;case z.Cuboid:{if(hd(At)&&At.parentId===Zo?Tt(je,At):Ie.current.clear(),te.current=At.parentId,M.getState().moveHandleType){const{rot:fn}=xe.getWorldDataById(At.id),rn=new Qt(0,0,fn);switch(M.getState().moveHandleType){case yo.Right:{oe.current.set(-At.lx/2,0,0).applyEuler(rn);break}case yo.Left:{oe.current.set(At.lx/2,0,0).applyEuler(rn);break}case yo.Lower:{oe.current.set(0,At.ly/2,0).applyEuler(rn);break}case yo.Upper:{oe.current.set(0,-At.ly/2,0).applyEuler(rn);break}default:{oe.current.set(0,0,0);break}}}he.current.clear();const{pos:zt,rot:Ft}=xe.getWorldDataById(At.id),ln=new re(zt.x,zt.y,zt.z),Xt=n(At.id);if(Xt.length>0)for(const fn of Xt)switch(fn.type){case z.Cuboid:{const rn=new re(fn.cx,fn.cy,fn.cz).applyEuler(new Qt(0,0,Ft));rn.add(ln),he.current.set(fn.id,rn);break}case z.Tree:case z.Flower:case z.Human:{const rn=new re(fn.cx,fn.cy,fn.cz).applyEuler(new Qt(0,0,Ft));rn.add(ln),he.current.set(fn.id,rn);break}case z.SolarPanel:case z.Light:case z.Sensor:if(xe.isIdentical(fn.normal,o0)){const rn=new re(fn.cx*At.lx,fn.cy*At.ly,fn.cz*At.lz).applyEuler(new Qt(0,0,Ft));rn.add(ln),he.current.set(fn.id,rn)}break;case z.Polygon:if(xe.isIdentical(fn.normal,o0)){const rn=fn,bn=[];for(const Tn of rn.vertices){const Un=new Gt(Tn.x*At.lx,Tn.y*At.ly).rotateAround(wr,Ft);Un.add(new Gt(ln.x,ln.y)),bn.push(Un)}pe.current.set(rn.id,bn)}break}break}case z.Foundation:{hd(At)&&Tt(je,At),he.current.clear(),pe.current.clear(),fe.current.clear();const It=new Gt(At.cx,At.cy),zt=new re(At.cx,At.cy,At.cz),Ft=n(At.id);if(Ft.length>0){const Xt=At.rotation[2];for(const fn of Ft)switch(fn.type){case z.Wall:{const rn=fn,bn=new Gt(rn.cx,rn.cy).rotateAround(wr,Xt);bn.add(It);const Tn=new Gt(rn.leftPoint[0],rn.leftPoint[1]).rotateAround(wr,Xt);Tn.add(It);const Un=new Gt(rn.rightPoint[0],rn.rightPoint[1]).rotateAround(wr,Xt);Un.add(It),fe.current.set(rn.id,{centerPointAbsPos:bn,leftPointAbsPos:Tn,rightPointAbsPos:Un});break}case z.Tree:case z.Flower:case z.Human:{const rn=new re(fn.cx,fn.cy,fn.cz).applyEuler(new Qt(0,0,Xt));rn.add(zt),he.current.set(fn.id,rn);break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:{const rn=new re(fn.cx*At.lx,fn.cy*At.ly,fn.cz*At.lz).applyEuler(new Qt(0,0,Xt));rn.add(zt),he.current.set(fn.id,rn);break}case z.Polygon:{const rn=fn,bn=[];for(const Tn of rn.vertices){const Un=new Gt(Tn.x*At.lx,Tn.y*At.ly).rotateAround(wr,Xt);Un.add(It),bn.push(Un)}pe.current.set(rn.id,bn);break}}}const ln=Wt(At.id);if(ln.length>0){const Xt=new Qt(0,0,At.rotation[2]);for(const fn of ln)if(fn.type===z.Window){const rn=new re(fn.cx,fn.cy).applyEuler(Xt);rn.add(zt),he.current.set(fn.id,rn)}else{const rn=new re(fn.cx*At.lx,fn.cy*At.ly).applyEuler(Xt);rn.add(zt),he.current.set(fn.id,rn)}}break}}}}}},wt=je=>je===z.Human||je===z.Tree||je===z.Flower,kt=(je,yt)=>{if(je.tempHumanPlant.length===0){const Ht=je.elements.filter(It=>wt(It.type)&&xe.isDescendantOf(It,yt));je.tempHumanPlant=Ht;const At=new Set(Ht.map(It=>It.id));je.elements=je.elements.filter(It=>!At.has(It.id))}},qe=(je,yt)=>{const Ht=je.intersections.find(It=>{const zt=It.eventObject;if(!zt.name.includes("Cuboid"))return!1;const Ft=zt.name.split(" ");return Ft.length!==2?!1:Ft[1]!==yt&&zt.userData.stackable});if(!Ht)return;const At=Ht.eventObject.name.split(" ")[1];if(!Ie.current.has(At))return xe.isChild(yt,At)?void 0:Ht},Je=je=>{if(E.current&&E.current.type&&!E.current.locked){$e(je);let yt;switch(E.current.type){case z.Foundation:L.current&&(yt=me.intersectObjects([L.current]),yt.length>0&&(w?ut(yt[0].point):b?lt(yt[0].point):C&&Ve(yt[0].point)));break;case z.Cuboid:if(L.current&&De===Kf.Horizontal&&(yt=me.intersectObjects([L.current]),yt.length>0)){const Ht=yt[0].point.clone(),At=qe(je,E.current.id);if(w)if(Ie.current.size>1)ut(Ht);else if(At){if(yt=me.intersectObjects([At.eventObject]),yt.length===0)return;Ht.copy(yt[0].point).add(oe.current);const It=At.eventObject.name.split(" ")[1];t(zt=>{const Ft=zt.elements.find(Xt=>{var fn;return Xt.id===((fn=zt.selectedElement)==null?void 0:fn.id)}),ln=zt.selectedElement;if(Ft&&ln){const{pos:Xt,rot:fn}=xe.getWorldDataById(It),rn=new re().subVectors(Ht,Xt);if(rn.applyEuler(new Qt(0,0,-fn)),Ft.cx=rn.x,Ft.cy=rn.y,ln.parentId!==It){Ft.parentId!==It&&kt(zt,Ft.id);const{rot:bn}=xe.getWorldDataById(ln.id);Ft.rotation[2]=bn-fn,Ft.parentId=It}else Ft.parentId!==It&&(Ft.parentId!==ln.parentId&&kt(zt,Ft.id),Ft.parentId=ln.parentId,Ft.rotation[2]=ln.rotation[2])}})}else t(It=>{const zt=It.elements.find(Ft=>Ft.id===E.current.id);if(zt&&zt.parentId!==Zo){zt.parentId!==Zo&&kt(It,zt.id);const{rot:Ft}=xe.getWorldDataById(zt.parentId);zt.rotation[2]+=Ft,zt.parentId=Zo}}),ut(Ht);else if(b){const It=a(E.current.id);It&&It.parentId===Zo&<(Ht)}}break}}if(N.current){if(A!==z.None){$e(je);const yt=me.intersectObjects([N.current]);if(yt.length>0){const Ht=yt[0].point;switch(A){case z.Foundation:{const At=r(S,Ht);At&&(t(It=>{It.addedFoundationId=At.id,It.objectTypeToAdd=z.None}),E.current=At,$.current=!0);break}case z.Cuboid:{const At=r(S,Ht);At&&(t(It=>{It.addedCuboidId=At.id,It.objectTypeToAdd=z.None}),E.current=At,Se.current=!0);break}}}}if(E.current&&($.current||Se.current)){$e(je);let yt=me.intersectObjects([N.current]);if(yt.length===0)return;const Ht=yt[0].point;if(E.current.type===z.Foundation)o(E.current.id,Ht.x,Ht.y);else if(E.current.type===z.Cuboid){const At=qe(je,E.current.id);if(At){if(yt=me.intersectObjects([At.eventObject]),yt.length===0)return;Ht.copy(yt[0].point);const It=At.eventObject.name.split(" ")[1];t(zt=>{const Ft=zt.elements.find(ln=>{var Xt;return ln.id===((Xt=E.current)==null?void 0:Xt.id)});if(Ft){const{pos:ln,rot:Xt}=xe.getWorldDataById(It),fn=new re().subVectors(Ht,ln);fn.applyEuler(new Qt(0,0,-Xt)),Ft.cx=fn.x,Ft.cy=fn.y,Ft.parentId=It,Ft.rotation[2]=-Xt}})}else t(It=>{const zt=It.elements.find(Ft=>{var ln;return Ft.id===((ln=E.current)==null?void 0:ln.id)});if(zt&&zt.parentId!==Zo){const{rot:Ft}=xe.getWorldDataById(zt.parentId);zt.rotation[2]+=Ft,zt.parentId=Zo}}),o(E.current.id,Ht.x,Ht.y)}}}},st=je=>{if(E.current&&E.current.type&&!E.current.locked){$e(je);let yt;if(L.current&&De===Kf.Vertical&&(yt=me.intersectObjects([L.current]),yt&&yt.length>0)){const Ht=yt[0].point;switch(E.current.type){case z.Tree:{const At=E.current;switch(b){case gt.Top:s(At.id,Ht.z),t(It=>{It.selectedElementHeight=Math.max(1,Ht.z)});break;case gt.Left:case gt.Right:case gt.Upper:case gt.Lower:l(At.id,2*Math.hypot(Ht.x-At.cx,Ht.y-At.cy));break}rt(Ln.getState().treeRef,je);break}case z.Flower:{rt(Ln.getState().flowerRef,je);break}case z.Human:{rt(Ln.getState().humanRef,je);break}}}}},Pt=je=>je===z.Foundation||je===z.Cuboid||je===z.Tree||je===z.Flower||je===z.Human,Ue=(je,yt,Ht,At,It)=>{if(je){for(const zt of je.children)if(zt.name.includes("Human")||zt.name.includes("Tree")||zt.name.includes("Flower")){const Ft=Fe(zt),ln=he.current.get(Ft);if(ln)if(Math.abs(q.current.z/2-zt.position.z)<.01){const Xt=new re().subVectors(ln,At).applyEuler(new Qt(0,0,-It));zt.position.setX(Xt.x),zt.position.setY(Xt.y)}else{const Xt=new re().subVectors(ln,U.current).applyEuler(new Qt(0,0,-It)),fn=new re().subVectors(At,U.current),rn=new re().subVectors(Xt,fn);Math.abs(Xt.x/q.current.x)>.49?(zt.position.setX((Xt.x>0?yt:-yt)/2),zt.position.setY(rn.y)):Math.abs(Xt.y/q.current.y)>.49&&(zt.position.setX(rn.x),zt.position.setY((Xt.y>0?Ht:-Ht)/2))}}}},lt=je=>{if(!E.current)return;const yt=new Gt(je.x,je.y),Ht=new Gt(P.x,P.y),At=Ht.distanceTo(yt),It=Math.atan2(yt.x-P.x,yt.y-P.y)+E.current.rotation[2];let zt=Math.abs(At*Math.sin(It)),Ft=Math.abs(At*Math.cos(It));const ln=new Gt().addVectors(yt,Ht).multiplyScalar(.5);if(E.current.type===z.Cuboid&&(b===gt.Lower||b===gt.Upper||b===gt.Left||b===gt.Right)){const Xt=new re(P.x,P.y),fn=E.current.rotation[2],rn=new re(je.x,je.y).sub(Xt).applyEuler(new Qt(0,0,-fn)),bn=new re(1,0,0);(b===gt.Upper||b===gt.Lower)&&bn.set(0,1,0),bn.applyEuler(new Qt(0,0,fn));const Tn=Xt.clone().add(bn.clone().multiplyScalar(rn.x/2));b===gt.Left||b===gt.Right?(zt=Math.abs(rn.x),Ft=E.current.ly):(b===gt.Upper||b===gt.Lower)&&(zt=E.current.lx,Ft=Math.abs(rn.y),Tn.copy(Xt.add(bn.clone().multiplyScalar(rn.y/2)))),ln.x=Tn.x,ln.y=Tn.y}switch(t(Xt=>{if(!E.current)return;let fn=!1;for(const rn of Xt.elements)if(rn.id===E.current.id){switch(rn.type){case z.Cuboid:case z.Foundation:{const bn=n(rn.id);if(bn.length>0){const Tn=[];for(const Ai of bn){if(xe.isPlantOrHuman(Ai))continue;const vo=JSON.parse(JSON.stringify(Ai));if(Tn.push(vo),xe.isIdentical(vo.normal,o0))if(Ai.type===z.Wall){const Oo=fe.current.get(Ai.id);if(Oo){const si=-rn.rotation[2],{centerPointAbsPos:po,leftPointAbsPos:eo,rightPointAbsPos:uo}=Oo,qo=new Gt().subVectors(po,ln).rotateAround(wr,si),Hi=new Gt().subVectors(eo,ln).rotateAround(wr,si),vi=new Gt().subVectors(uo,ln).rotateAround(wr,si);switch(b){case gt.Lower:case gt.Upper:vo.cy=qo.y;break;case gt.Left:case gt.Right:vo.cx=qo.x;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:vo.cx=qo.x,vo.cy=qo.y;break}vo.leftPoint=[Hi.x,Hi.y,0],vo.rightPoint=[vi.x,vi.y,0]}}else{const Oo=he.current.get(Ai.id);if(Oo){const si=-rn.rotation[2],po=new Gt().subVectors(new Gt(Oo.x,Oo.y),ln).rotateAround(wr,si);switch(b){case gt.Lower:case gt.Upper:vo.cy=po.y/Ft;break;case gt.Left:case gt.Right:vo.cx=po.x/zt;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:vo.cx=po.x/zt,vo.cy=po.y/Ft;break}}}}const Un=JSON.parse(JSON.stringify(rn));switch(b){case gt.Lower:case gt.Upper:case gt.Left:case gt.Right:case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:Un.lx=zt,Un.ly=Ft,Un.cx=ln.x,Un.cy=ln.y;break}if(xe.doesParentContainAllChildren(Un,Tn)){switch(b){case gt.Lower:case gt.Upper:case gt.Left:case gt.Right:case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.lx=zt,rn.ly=Ft,rn.cx=ln.x,rn.cy=ln.y;break}fn=!0}}else if(zt>.49&&Ft>.49){switch(b){case gt.Lower:case gt.Upper:case gt.Left:case gt.Right:case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.lx=zt,rn.ly=Ft,rn.cx=ln.x,rn.cy=ln.y;break}fn=!0}break}}break}if(fn)for(const rn of Xt.elements){if(rn.parentId===E.current.id)switch(rn.type){case z.Wall:{const bn=rn,Tn=fe.current.get(rn.id);if(Tn){const Un=-E.current.rotation[2],{centerPointAbsPos:Ai,leftPointAbsPos:vo,rightPointAbsPos:Oo}=Tn,si=new Gt().subVectors(Ai,ln).rotateAround(wr,Un),po=new Gt().subVectors(vo,ln).rotateAround(wr,Un),eo=new Gt().subVectors(Oo,ln).rotateAround(wr,Un);switch(b){case gt.Lower:case gt.Upper:rn.cy=si.y;break;case gt.Left:case gt.Right:rn.cx=si.x;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=si.x,rn.cy=si.y;break}bn.leftPoint=[po.x,po.y,0],bn.rightPoint=[eo.x,eo.y,0]}break}case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.Sensor:if(xe.isIdentical(rn.normal,o0)){const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);switch(b){case gt.Lower:case gt.Upper:rn.cy=Tn.y/Ft;break;case gt.Left:case gt.Right:rn.cx=Tn.x/zt;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=Tn.x/zt,rn.cy=Tn.y/Ft;break}}}break;case z.Cuboid:{const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);switch(b){case gt.Lower:case gt.Upper:rn.cy=Tn.y;break;case gt.Left:case gt.Right:rn.cx=Tn.x;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=Tn.x,rn.cy=Tn.y;break}}break}case z.Polygon:if(xe.isIdentical(rn.normal,o0)){const bn=rn,Tn=pe.current.get(bn.id);if(Tn){const Un=[];Tn.forEach(Ai=>{const vo=new Gt().subVectors(Ai,ln).rotateAround(wr,-E.current.rotation[2]);Un.push({x:vo.x/zt,y:vo.y/Ft})}),bn.vertices=Un}}break}if(rn.foundationId===E.current.id&&rn.type===z.SolarPanel&&rn.parentType===z.Roof){const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);switch(b){case gt.Lower:case gt.Upper:rn.cy=Tn.y/Ft;break;case gt.Left:case gt.Right:rn.cx=Tn.x/zt;break;case gt.LowerLeft:case gt.LowerRight:case gt.UpperLeft:case gt.UpperRight:rn.cx=Tn.x/zt,rn.cy=Tn.y/Ft;break}}}if(rn.foundationId===E.current.id&&rn.type===z.Window&&rn.parentType===z.Roof){const bn=he.current.get(rn.id);if(bn){const Tn=new Gt().subVectors(new Gt(bn.x,bn.y),ln).rotateAround(wr,-E.current.rotation[2]);rn.cx=Tn.x,rn.cy=Tn.y}}}}),E.current.type){case z.Foundation:{const Xt=Ln.getState().foundationRef;Xt!=null&&Xt.current&&Ue(Xt==null?void 0:Xt.current,zt,Ft,Xt.current.position,E.current.rotation[2]);break}case z.Cuboid:{const Xt=Ln.getState().cuboidRef;Xt!=null&&Xt.current&&Xt.current.parent&&Ue(Xt==null?void 0:Xt.current,zt,Ft,Xt.current.parent.position,E.current.rotation[2]);break}}},Ve=je=>{const{cx:yt,cy:Ht}=E.current,At=Math.atan2(yt-je.x,je.y-Ht)+(C===wi.Upper?0:Math.PI),It=Math.abs(At)>Math.PI?-Math.sign(At)*na:0;i(E.current.id,0,0,At+It)},ut=je=>{const yt=Ie.current.size>1;if(yt){t(Ft=>{for(const ln of Ft.elements)if(hd(ln)&&Ie.current.has(ln.id)){const Xt=Ie.current.get(ln.id);Xt&&(ln.cx=je.x+Xt.x,ln.cy=je.y+Xt.y)}});return}let Ht,At;const It=E.current.lx/2,zt=E.current.ly/2;switch(w){case yo.Top:{if(yt){const Ft=new re(je.x,je.y);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=Ft.x,Xt.cy=Ft.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(Ft,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,je.x,je.y);break}case yo.Upper:if(Ht=je.x+Te*zt,At=je.y-Me*zt,yt){const Ft=new re(Ht,At);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=Ft.x,Xt.cy=Ft.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(Ft,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,At);break;case yo.Lower:if(Ht=je.x-Te*zt,At=je.y+Me*zt,yt){const Ft=new re(Ht,At);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=Ft.x,Xt.cy=Ft.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(Ft,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,At);break;case yo.Left:if(Ht=je.x+Me*It,At=je.y+Te*It,yt){const Ft=new re(Ht,At);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=Ft.x,Xt.cy=Ft.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(Ft,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,At);break;case yo.Right:if(Ht=je.x-Me*It,At=je.y-Te*It,yt){const Ft=new re(Ht,At);t(ln=>{for(const Xt of ln.elements)if(Xt.id===E.current.id)Xt.cx=Ft.x,Xt.cy=Ft.y;else if(Ie.current.has(Xt.id)){const fn=Ie.current.get(Xt.id);if(fn){const rn=new re().addVectors(Ft,fn);Xt.cx=rn.x,Xt.cy=rn.y}}})}else o(E.current.id,Ht,At);break}};return h.jsxs(h.Fragment,{children:[E.current&&De!==Kf.Ground&&h.jsx(sa,{ref:L,visible:!1,name:"Ground Intersection Plane",rotation:Ye,position:Ne,args:[1e5,1e5],onPointerMove:M2.throttle(st,Ek),children:h.jsx("meshStandardMaterial",{side:ji,opacity:.5,transparent:!0})}),h.jsx(sa,{receiveShadow:v,ref:N,name:"Ground",userData:{stand:!0},rotation:[0,0,0],position:[0,0,0],args:[1e4,1e4],renderOrder:-2,onContextMenu:Qe,onPointerDown:Ct,onPointerMove:M2.throttle(Je,Ek),children:H&&!y?h.jsx("meshBasicMaterial",{color:T}):h.jsx("meshStandardMaterial",{depthTest:!1,color:y?"white":T,map:y?xe.WATER_TEXTURE:xe.WHITE_TEXTURE,needsUpdate:!0})})]})}),Dre=48,Hen=72,Men=12,Ien=be.memo(({date:t,hourAngle:e,declinationAngle:n,worldLatitude:o})=>{const i=M(mh),r=M(SBe),a=M(gBe)??!0,l=M(mBe)??!0,s=M(yBe)??!0,[c,u]=m.useState(xe.toRadians(42)),d=Ab(gye),f=Math.max(2,i*.2),p=Math.max(.4,i*.025),g=aA(sq,oQ),A=i*.05,w={font:g,height:0,size:A},b=6,C=new Array(2*b+1).fill(0),P=O=>O===0?-A*.3:O>0&&O<7?-A*.8:-A*1.2;m.useEffect(()=>{u(xe.toRadians(o))},[o]);const v=6,[T,y]=m.useMemo(()=>{const O=new Ur,J=new Ur,Z=[],ie=[],ee=na/Hen;let q=0;for(let te=0;teDt&&(pe=.05*i+(q%3===0?.2:0),fe=new re(i,he,0),fe.z=.002,ie.push(xe.sphericalToCartesianZ(fe)),fe=new re(i+pe,he,0),fe.z=.002,ie.push(xe.sphericalToCartesianZ(fe))),q++}const ae=Z.length*3,ne=new Float32Array(ae),se=new Float32Array(ae),le=new Float32Array(ae);for(let te=0;te{const O=[],J=sl(t,xe.toDegrees(c)),Z=ZY(J.sunrise),ie=ZY(J.sunset),ee=(ie-Z)/Dre;for(let q=Z;q-.01&&O.push(ae)}return O},[t,c,i,n]),x=O=>{const J=QW(O),Z=[],ie=sl(O,xe.toDegrees(c)),ee=ZY(ie.sunrise),q=ZY(ie.sunset),ae=(q-ee)/Dre;for(let ne=ee;ne-.01&&Z.push(se)}return Z},R=m.useMemo(()=>{const O=[];for(let J=0;J<=v;J++){const Z=new Date(2021,J===0?11:J-1,22);O.push(x(Z))}return O},[c,i]),H=m.useMemo(()=>$5(i,e,n,c),[c,n,e,i]),D=m.useMemo(()=>H.clone().normalize(),[H]),k=m.useMemo(()=>new re(H.x,H.y,0).normalize(),[H]),W=m.useMemo(()=>Math.asin(H.z/H.length()),[H]),N=m.useMemo(()=>{const J=new P2(0,0,f,f,0,W,!1,0).getPoints(25),Z=new Array;for(const ie of J)Z.push(new re(ie.x,ie.y,0));return Z},[W,H,f]),L=m.useMemo(()=>Math.acos(H.z/H.length()),[H]),E=m.useMemo(()=>{const J=new P2(0,0,f*.8,f*.8,W,Vt,!1,0).getPoints(25),Z=new Array;for(const ie of J)Z.push(new re(ie.x,ie.y,0));return Z},[L,H,f,W]),U=m.useMemo(()=>{const O=Math.acos(H.y/Math.hypot(H.x,H.y));return H.x>0?-O:O},[H]),F=m.useMemo(()=>{const J=new P2(0,0,f*1.2,f*1.2,Vt,Vt+U,H.x>0,0).getPoints(50),Z=new Array;for(const ie of J)Z.push(new re(ie.x,ie.y,0));return Z},[U,H,f]),B=m.useMemo(()=>{const O=2*eP/Men,J=na/Dre,Z=new Ur;let ie=0;const ee=[],q=[];for(let ae=-eP;aeMath.PI&&(se=Math.PI),le>eP&&(le=eP);const te=$5(i,ne,ae,c),he=$5(i,se,ae,c),pe=$5(i,se,le,c),fe=$5(i,ne,le,c);(te.z>=0||he.z>=0||pe.z>=0||fe.z>=0)&&(ee.push(te,he,pe,fe),q.push(ie),q.push(ie+1),q.push(ie+2),q.push(ie),q.push(ie+2),q.push(ie+3),ie+=4)}return Z.setFromPoints(ee),Z.setIndex(new qa(new Uint16Array(q),1)),Z},[c,i]),_=.05*i,Y=2+5*_;return h.jsxs("group",{children:[C.map((O,J)=>{let Z=Math.ceil(J/2)*(J%2===0?1:-1);Z===-b&&(Z=b);const ie=P(Math.abs(Z));return h.jsx("group",{rotation:[Vt,Z*Math.PI/b,0],children:h.jsxs("mesh",{position:[ie,0,-i*1.1],rotation:[-Vt,0,0],children:[h.jsx("textGeometry",{args:[`${-(180/b)*Z}°`,w]}),h.jsx("meshStandardMaterial",{attach:"material",color:"lightGray"})]})},J)}),h.jsxs("mesh",{rotation:new Qt(0,0,0),name:"Heliodon",children:[h.jsxs("mesh",{children:[h.jsx("bufferGeometry",{...T}),h.jsx("meshBasicMaterial",{side:ji,vertexColors:!0,polygonOffset:!0,polygonOffsetFactor:-.7,polygonOffsetUnits:-2})]}),h.jsxs("lineSegments",{children:[h.jsx("bufferGeometry",{...y}),h.jsx("meshBasicMaterial",{color:0})]}),h.jsxs("mesh",{children:[S.length>3&&h.jsx(Fn,{lineWidth:2,points:S,color:"yellow"}),R.filter(O=>O.length>3).map((O,J)=>h.jsx(Fn,{opacity:J===0||J===v?1:.5,lineWidth:J===0||J===v?1:.5,points:O,color:"#999"},J)),h.jsx("mesh",{args:[B],children:h.jsx("meshBasicMaterial",{side:ji,color:[1,1,0],transparent:!0,opacity:.5,depthWrite:!1,clippingPlanes:[new Q5(Yc,0)]})}),h.jsx("mesh",{position:H,children:h.jsx("sprite",{scale:[Y,Y,Y],children:h.jsx("spriteMaterial",{map:d,transparent:!1,color:16777215,blending:_C,depthWrite:!1})})}),h.jsxs("mesh",{position:H,children:[h.jsx("sphereGeometry",{args:[_,10,10]}),h.jsx("meshBasicMaterial",{color:"white"})]})]})]}),h.jsx(sa,{args:[1e4,1e4],renderOrder:-1,userData:{unintersectable:!0},children:h.jsx("meshBasicMaterial",{transparent:!0,opacity:0})}),r&&H.z>0&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,H.z]],name:"Line from origin to sun",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[H.x,H.y,0]],name:"Line from origin to sun projection on ground",lineWidth:.5,color:"white"}),h.jsx(Fn,{userData:{unintersectable:!0},points:[[H.x,H.y,0],[H.x,H.y,H.z]],name:"Line from sun projection on ground to sun",lineWidth:.5,color:"white"}),l&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:N,position:[0,0,0],rotation:new Qt(Vt,0,Vt+U,"ZXY"),color:"white",name:"Elevation Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Elevation Angle",backgroundColor:"indigo",text:xe.toDegrees(W).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(k.clone().multiplyScalar(f)).multiplyScalar(.65)})]}),s&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:E,position:[0,0,0],rotation:new Qt(Vt,0,Vt+U,"ZXY"),color:"white",name:"Zenith Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Zenith Angle",backgroundColor:"navy",text:xe.toDegrees(L).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:D.clone().multiplyScalar(f).add(Po.clone().multiplyScalar(f)).multiplyScalar(.57)})]}),a&&h.jsxs(h.Fragment,{children:[h.jsx(Fn,{userData:{unintersectable:!0},linewidth:.5,points:F,position:[0,0,0],color:"white",name:"Azimuth Angle Arc"}),h.jsx("textSprite",{userData:{unintersectable:!0},name:"Azimuth Angle",backgroundColor:"firebrick",text:xe.toDegrees(Math.abs(U-Math.PI)<1e-6?U:-U).toFixed(0)+"°",fontSize:80,fontFace:"Times Roman",textHeight:p,position:k.clone().multiplyScalar(f).add(Yc.clone().multiplyScalar(f)).multiplyScalar(1.1).add(new re(0,0,p/2))})]})]})]})}),zen=be.memo(()=>{const t=M(bBe),e=M(mh),n=M(Xs),o=M(Ya),i=M(b7t),r=m.useMemo(()=>new Date(o),[o]),[a,l]=m.useMemo(()=>[pye(r),QW(r)],[r]);return m.useEffect(()=>{i($5(e,a,l,xe.toRadians(n)))},[n,a,l,e]),h.jsx(h.Fragment,{children:t&&h.jsx(Ien,{date:new Date(o),hourAngle:a,declinationAngle:l,worldLatitude:n})})}),ATe="/aladdin/assets/ifi-logo-CwxGDl7t.png",Den="/aladdin/assets/magic-lamp-XxXOV1dq.png",Een=be.memo(({top:t,height:e,color:n})=>{const o=M(Sc),i=m.useMemo(()=>({lng:o}),[o]),r=t+56+"px",a=t+100+"px",l=t+205+"px";return h.jsxs("div",{children:[h.jsxs("div",{style:{position:"absolute",borderRadius:"20px",border:"thin",textAlign:"center",left:"15%",right:"15%",top:t+"px",height:(e??300)+"px"},children:[h.jsx("h2",{style:{marginTop:"20px",color:n},children:j.t("aboutUs.ProductBroughtToYouBy",i)}),h.jsxs("p",{style:{paddingTop:"6px",fontSize:"12px",color:n},children:[h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-terms.html",style:{color:n,textDecoration:"none"},children:j.t("aboutUs.TermsOfService",i)}),"   |   ",h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",style:{color:n,textDecoration:"none"},children:j.t("aboutUs.PrivacyPolicy",i)})]})]}),h.jsxs("div",{children:[h.jsx("hr",{style:{position:"absolute",left:"10%",width:"80%",marginTop:r,color:n}}),h.jsx("table",{style:{position:"absolute",border:"none",top:a,left:"10%",width:"80%",fontSize:"small",color:n},children:h.jsx("tbody",{children:h.jsxs("tr",{style:{verticalAlign:"top"},children:[h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:j.t("aboutUs.Software",i)}),"Xiaotong Ding",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:j.t("aboutUs.Content",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]}),h.jsxs("td",{children:[h.jsx("h3",{style:{color:n},children:j.t("aboutUs.Support",i)}),"Elena Sereiviene",h.jsx("br",{}),"Charles Xie",h.jsx("br",{})]})]})})})]}),h.jsxs("div",{style:{position:"absolute",left:"10%",marginRight:"10%",top:l,fontSize:"12px",textAlign:"justify",color:n},children:[j.t("aboutUs.Translators",i),": ",Z5.Ukrainian," (Andriy Kashyrskyy), ",Z5.Spanish," (Alex Barco), ",Z5.Turkish," (Hasan Bircan)",h.jsx("br",{}),h.jsx("br",{}),j.t("aboutUs.Acknowledgment",i),": ",j.t("aboutUs.FundingInformation",i)," ",j.t("aboutUs.Contact",i)]})]})}),ken=Ho.div` position: absolute; top: 80px; left: 10px; @@ -4873,32 +4873,32 @@ function print() { __p += __j.call(arguments, '') } border-radius: 10px; background: dimgray; box-shadow: 3px 3px 3px 3px black; -`,Wen=be.memo(({close:t})=>{const e=M(Sc);return h.jsxs(Len,{children:[h.jsx(Fen,{top:10,color:"antiquewhite"}),h.jsx("div",{style:{position:"absolute",fontSize:"small",color:"antiquewhite",cursor:"pointer",bottom:"10px"},onMouseDown:()=>{t()},children:j.t("word.Close",{lng:e})})]})});var Nen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z"}}]},name:"bg-colors",theme:"outlined"},Uen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Nen}))},Ben=m.forwardRef(Uen),jen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"}}]},name:"camera",theme:"outlined"},Yen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:jen}))},_u=m.forwardRef(Yen),Oen={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"},_en=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Oen}))},vh=m.forwardRef(_en),Ven={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z"}}]},name:"carry-out",theme:"outlined"},Gen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ven}))},Xen=m.forwardRef(Gen),Jen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},Ken=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Jen}))},qen=m.forwardRef(Ken),$en={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.3 459a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z"}},{tag:"path",attrs:{d:"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z"}}]},name:"cloud-upload",theme:"outlined"},Qen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:$en}))},Zen=m.forwardRef(Qen),etn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"down-circle",theme:"outlined"},ttn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:etn}))},ntn=m.forwardRef(ttn),otn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z"}}]},name:"edit",theme:"filled"},itn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:otn}))},rtn=m.forwardRef(itn),atn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},ltn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:atn}))},$m=m.forwardRef(ltn),stn={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"},ctn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:stn}))},utn=m.forwardRef(ctn),dtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M603.3 327.5l-246 178a7.95 7.95 0 000 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"left-circle",theme:"outlined"},ftn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:dtn}))},htn=m.forwardRef(ftn),ptn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"},gtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ptn}))},mtn=m.forwardRef(gtn),ytn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"},Atn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ytn}))},wtn=m.forwardRef(Atn),vtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z"}}]},name:"pushpin",theme:"filled"},xtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:vtn}))},btn=m.forwardRef(xtn),Stn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z"}}]},name:"pushpin",theme:"outlined"},Ttn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Stn}))},wTe=m.forwardRef(Ttn),Ptn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M666.7 505.5l-246-178A8 8 0 00408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"right-circle",theme:"outlined"},Ctn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ptn}))},y$e=m.forwardRef(Ctn),Rtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},Htn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Rtn}))},bf=m.forwardRef(Htn),Mtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"},Itn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Mtn}))},ztn=m.forwardRef(Itn),Dtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]},name:"sort-ascending",theme:"outlined"},Etn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Dtn}))},ktn=m.forwardRef(Etn),Ftn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z"}}]},name:"sort-descending",theme:"outlined"},Ltn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ftn}))},Wtn=m.forwardRef(Ltn),Ntn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"unordered-list",theme:"outlined"},Utn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ntn}))},du=m.forwardRef(Utn),Btn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"up-circle",theme:"outlined"},jtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Btn}))},Ytn=m.forwardRef(jtn),Otn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},_tn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Otn}))},Vtn=m.forwardRef(_tn),Gtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z"}}]},name:"vertical-align-bottom",theme:"outlined"},Xtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Gtn}))},Jtn=m.forwardRef(Xtn),Ktn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},qtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ktn}))},qG=m.forwardRef(qtn);const $tn="pSdH5rJWovu8hchgLSnsqT",Qtn="02/02/2023 12:24 pm",Ztn=1675358675337,enn="QWecNcxhyvP6j6sBN11hBsfZDau1",tnn=null,nnn=null,onn={latitude:42.2844063,timesPerHour:20,date:"1/22/2022 10:15:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},inn=[{cy:1.9385448115528998,name:"June",type:"Human",cz:11465644746167777e-31,normal:[0,1,0],cx:-2.72710574788732,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground"}],rnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-2.2645315712935465,-19.016408185270922,3.0537676736998205],panCenter:[1.9284721678646957,1.0746189678250615,2.420128405670479],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:-5,y:-2,width:309,height:64}},ann=1,lnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},snn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},unn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dnn=["Sun angles relative to the ground"],fnn={docid:$tn,time:Qtn,timestamp:Ztn,userid:enn,owner:tnn,email:nnn,world:onn,elements:inn,view:rnn,evolutionMethod:ann,solarPanelArrayLayoutParams:lnn,solarPanelArrayLayoutConstraints:snn,evolutionaryAlgorithmState:cnn,economicsParams:unn,notes:dnn},hnn="aLZxDeCyLDDueFWdBcXne3",pnn="02/02/2023 12:27 pm",gnn=1675358863088,mnn="QWecNcxhyvP6j6sBN11hBsfZDau1",ynn=null,Ann=null,wnn={latitude:0,timesPerHour:6,date:"9/22/2022, 3:00:00 PM",longitude:-71.3488548,name:"default",address:"",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857,noAnimationForSensorDataCollection:!0},vnn=[{cy:-3.793749931074972,name:"Jeanette",type:"Human",cz:0,normal:[0,1,0],cx:-1.8371287635005462,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground",lx:.4,ly:.6,lz:1.62},{type:"Foundation",cx:-.02034256309656146,cy:-.0945631153454527,cz:.05,lx:4.039349774896637,ly:4.009416382499952,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"vtjS16tFJ2nQYaRPqaTXtD",textureType:"Foundation Texture #2"},{type:"Sensor",cx:.24583065540477922,cy:-.24570551313996075,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"vtjS16tFJ2nQYaRPqaTXtD",foundationId:"vtjS16tFJ2nQYaRPqaTXtD",id:"1RgbN67ETfax1aEC4UN1sd",selected:!1}],xnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:5,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:203,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:-31,showYearlyLightSensorPanel:!0,weatherPanelY:0,heliodonPanelX:-5,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:4,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:-1,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[14.252594110627898,-20.834202556609767,6.804345920821559],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:58.72652247402654,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999795],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:1204,y:154,width:595,height:199},yearlyLightSensorPanelRect:{x:-1284,y:2,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1},bnn=1,Snn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Tnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Pnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Cnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Rnn=["The solar radiation at different locations of the Earth in different seasons is largely responsible for local climate. Overall, every place on the Earth has about the same hours of daylight in total (ideally 12×365=4,380 hours), regardless of where it is. However, the distribution throughout the year is vastly different, resulting in large temperature variations across the globe. You can change the latitude to investigate these relationships. Make sure to refresh the graph after changing any variables."],Hnn={docid:hnn,time:pnn,timestamp:gnn,userid:mnn,owner:ynn,email:Ann,world:wnn,elements:vnn,view:xnn,evolutionMethod:bnn,solarPanelArrayLayoutParams:Snn,solarPanelArrayLayoutConstraints:Tnn,evolutionaryAlgorithmState:Pnn,economicsParams:Cnn,notes:Rnn},Mnn="3DwyXjJjUExjZ1f5APPdnu",Inn="11/13/2022 04:59 pm",znn=1668376781695,Dnn="QWecNcxhyvP6j6sBN11hBsfZDau1",Enn=null,knn=null,Fnn={date:"6/22/2022 1:00:00 PM",timesPerHour:6,address:"Natick, MA",latitude:42.2844063,longitude:-71.3488548,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},Lnn=[{selected:!1,cz:-.00999999999999913,cx:-.2955982837076121,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:3.9255960830681698,name:"Jack",rotation:[0,0,0],parentId:"Ground",lx:.42,ly:.42,lz:1.8},{selected:!1,cy:4.081504375344256,name:"Jacqueline",rotation:[0,0,0],normal:[0,1,0],id:"xaNFgEDtpNwZNyUWnndg4x",cz:-.009999999999999095,type:"Human",cx:2.399220108700476,parentId:"Ground",lx:.43,ly:.6,lz:1.78},{cx:.20566332108722207,color:"gray",cz:2,type:"Cuboid",lz:4,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!0,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5,cx:.03109721392634064,cy:.16878784903489202,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Top",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{label:"North",rotation:[0,0,0],ly:.1,normal:[0,1,0],cy:.4999999988722325,type:"Sensor",showLabel:!0,selected:!1,id:"soQWet6PH9YYEVPLyKPtZ1",cz:-.036155842645941405,lx:.1,lz:.01,cx:-.0014535790327764226,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{normal:[1,0,0],cz:.012842850721372034,cy:-.02894757303561696,ly:.1,lz:.01,label:"East",id:"g3pxtSA3CsXPiogBgtEeYs",lx:.1,showLabel:!0,rotation:[0,0,0],type:"Sensor",cx:.5000000161579515,selected:!1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!0,rotation:[0,0,0],cy:-.4999999988722335,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.028086152131634783,normal:[0,-1,0],cz:-.16060425332465766,ly:.1,type:"Sensor",label:"South",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{selected:!1,ly:.1,normal:[-1,0,0],rotation:[0,0,0],id:"9Aqk7YM1qj7eBSDfhRzr51",cy:-.0010171489984738787,label:"West",cz:.04694614030299604,cx:-.5000000161579532,type:"Sensor",showLabel:!0,lz:.01,lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],Wnn={showDailyLightSensorPanel:!0,showYearlyLightSensorPanel:!1,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:70,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!0,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-905,showHeliodonPanel:!1,cameraPosition:[11.69562560736218,15.284097405092108,4.526997191755329],panCenter:[-2.432389491951708,.8034413072625061,1.0138875329134873],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360}},Nnn=1,Unn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Bnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},jnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ynn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Onn=[`Solar radiation to a box +`,Fen=be.memo(({close:t})=>{const e=M(Sc);return h.jsxs(ken,{children:[h.jsx(Een,{top:10,color:"antiquewhite"}),h.jsx("div",{style:{position:"absolute",fontSize:"small",color:"antiquewhite",cursor:"pointer",bottom:"10px"},onMouseDown:()=>{t()},children:j.t("word.Close",{lng:e})})]})});var Len={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z"}}]},name:"bg-colors",theme:"outlined"},Wen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Len}))},Nen=m.forwardRef(Wen),Uen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"}}]},name:"camera",theme:"outlined"},Ben=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Uen}))},_u=m.forwardRef(Ben),jen={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"},Yen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:jen}))},vh=m.forwardRef(Yen),Oen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z"}}]},name:"carry-out",theme:"outlined"},_en=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Oen}))},Ven=m.forwardRef(_en),Gen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"},Xen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Gen}))},Jen=m.forwardRef(Xen),Ken={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.3 459a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z"}},{tag:"path",attrs:{d:"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z"}}]},name:"cloud-upload",theme:"outlined"},qen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ken}))},$en=m.forwardRef(qen),Qen={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"down-circle",theme:"outlined"},Zen=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Qen}))},etn=m.forwardRef(Zen),ttn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z"}}]},name:"edit",theme:"filled"},ntn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ttn}))},otn=m.forwardRef(ntn),itn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},rtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:itn}))},$m=m.forwardRef(rtn),atn={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z"}}]},name:"import",theme:"outlined"},ltn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:atn}))},stn=m.forwardRef(ltn),ctn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M603.3 327.5l-246 178a7.95 7.95 0 000 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"left-circle",theme:"outlined"},utn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ctn}))},dtn=m.forwardRef(utn),ftn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"},htn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:ftn}))},ptn=m.forwardRef(htn),gtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"},mtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:gtn}))},ytn=m.forwardRef(mtn),Atn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z"}}]},name:"pushpin",theme:"filled"},wtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Atn}))},vtn=m.forwardRef(wtn),xtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z"}}]},name:"pushpin",theme:"outlined"},btn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:xtn}))},wTe=m.forwardRef(btn),Stn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M666.7 505.5l-246-178A8 8 0 00408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"right-circle",theme:"outlined"},Ttn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Stn}))},g$e=m.forwardRef(Ttn),Ptn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},Ctn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ptn}))},bf=m.forwardRef(Ctn),Rtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"},Htn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Rtn}))},Mtn=m.forwardRef(Htn),Itn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]},name:"sort-ascending",theme:"outlined"},ztn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Itn}))},Dtn=m.forwardRef(ztn),Etn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z"}}]},name:"sort-descending",theme:"outlined"},ktn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Etn}))},Ftn=m.forwardRef(ktn),Ltn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"unordered-list",theme:"outlined"},Wtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ltn}))},du=m.forwardRef(Wtn),Ntn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"up-circle",theme:"outlined"},Utn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Ntn}))},Btn=m.forwardRef(Utn),jtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"},Ytn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:jtn}))},Otn=m.forwardRef(Ytn),_tn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z"}}]},name:"vertical-align-bottom",theme:"outlined"},Vtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:_tn}))},Gtn=m.forwardRef(Vtn),Xtn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"},Jtn=function(e,n){return m.createElement(Li,Fi({},e,{ref:n,icon:Xtn}))},qG=m.forwardRef(Jtn);const Ktn="pSdH5rJWovu8hchgLSnsqT",qtn="02/02/2023 12:24 pm",$tn=1675358675337,Qtn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ztn=null,enn=null,tnn={latitude:42.2844063,timesPerHour:20,date:"1/22/2022 10:15:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},nnn=[{cy:1.9385448115528998,name:"June",type:"Human",cz:11465644746167777e-31,normal:[0,1,0],cx:-2.72710574788732,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground"}],onn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-2.2645315712935465,-19.016408185270922,3.0537676736998205],panCenter:[1.9284721678646957,1.0746189678250615,2.420128405670479],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:-5,y:-2,width:309,height:64}},inn=1,rnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ann={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lnn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},snn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cnn=["Sun angles relative to the ground"],unn={docid:Ktn,time:qtn,timestamp:$tn,userid:Qtn,owner:Ztn,email:enn,world:tnn,elements:nnn,view:onn,evolutionMethod:inn,solarPanelArrayLayoutParams:rnn,solarPanelArrayLayoutConstraints:ann,evolutionaryAlgorithmState:lnn,economicsParams:snn,notes:cnn},dnn="aLZxDeCyLDDueFWdBcXne3",fnn="02/02/2023 12:27 pm",hnn=1675358863088,pnn="QWecNcxhyvP6j6sBN11hBsfZDau1",gnn=null,mnn=null,ynn={latitude:0,timesPerHour:6,date:"9/22/2022, 3:00:00 PM",longitude:-71.3488548,name:"default",address:"",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857,noAnimationForSensorDataCollection:!0},Ann=[{cy:-3.793749931074972,name:"Jeanette",type:"Human",cz:0,normal:[0,1,0],cx:-1.8371287635005462,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"Ground",lx:.4,ly:.6,lz:1.62},{type:"Foundation",cx:-.02034256309656146,cy:-.0945631153454527,cz:.05,lx:4.039349774896637,ly:4.009416382499952,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"vtjS16tFJ2nQYaRPqaTXtD",textureType:"Foundation Texture #2"},{type:"Sensor",cx:.24583065540477922,cy:-.24570551313996075,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"vtjS16tFJ2nQYaRPqaTXtD",foundationId:"vtjS16tFJ2nQYaRPqaTXtD",id:"1RgbN67ETfax1aEC4UN1sd",selected:!1}],wnn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:5,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:203,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:-31,showYearlyLightSensorPanel:!0,weatherPanelY:0,heliodonPanelX:-5,showStickyNotePanel:!0,groundColor:"#16cda5",weatherPanelX:0,heliodonPanelY:4,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:-1,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[14.252594110627898,-20.834202556609767,6.804345920821559],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:58.72652247402654,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999795],panCenter2D:[0,0,0],showSunAngles:!0,stickyNotePanelRect:{x:1204,y:154,width:595,height:199},yearlyLightSensorPanelRect:{x:-1284,y:2,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1},vnn=1,xnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Snn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Tnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Pnn=["The solar radiation at different locations of the Earth in different seasons is largely responsible for local climate. Overall, every place on the Earth has about the same hours of daylight in total (ideally 12×365=4,380 hours), regardless of where it is. However, the distribution throughout the year is vastly different, resulting in large temperature variations across the globe. You can change the latitude to investigate these relationships. Make sure to refresh the graph after changing any variables."],Cnn={docid:dnn,time:fnn,timestamp:hnn,userid:pnn,owner:gnn,email:mnn,world:ynn,elements:Ann,view:wnn,evolutionMethod:vnn,solarPanelArrayLayoutParams:xnn,solarPanelArrayLayoutConstraints:bnn,evolutionaryAlgorithmState:Snn,economicsParams:Tnn,notes:Pnn},Rnn="3DwyXjJjUExjZ1f5APPdnu",Hnn="11/13/2022 04:59 pm",Mnn=1668376781695,Inn="QWecNcxhyvP6j6sBN11hBsfZDau1",znn=null,Dnn=null,Enn={date:"6/22/2022 1:00:00 PM",timesPerHour:6,address:"Natick, MA",latitude:42.2844063,longitude:-71.3488548,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},knn=[{selected:!1,cz:-.00999999999999913,cx:-.2955982837076121,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:3.9255960830681698,name:"Jack",rotation:[0,0,0],parentId:"Ground",lx:.42,ly:.42,lz:1.8},{selected:!1,cy:4.081504375344256,name:"Jacqueline",rotation:[0,0,0],normal:[0,1,0],id:"xaNFgEDtpNwZNyUWnndg4x",cz:-.009999999999999095,type:"Human",cx:2.399220108700476,parentId:"Ground",lx:.43,ly:.6,lz:1.78},{cx:.20566332108722207,color:"gray",cz:2,type:"Cuboid",lz:4,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!0,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5,cx:.03109721392634064,cy:.16878784903489202,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Top",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{label:"North",rotation:[0,0,0],ly:.1,normal:[0,1,0],cy:.4999999988722325,type:"Sensor",showLabel:!0,selected:!1,id:"soQWet6PH9YYEVPLyKPtZ1",cz:-.036155842645941405,lx:.1,lz:.01,cx:-.0014535790327764226,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{normal:[1,0,0],cz:.012842850721372034,cy:-.02894757303561696,ly:.1,lz:.01,label:"East",id:"g3pxtSA3CsXPiogBgtEeYs",lx:.1,showLabel:!0,rotation:[0,0,0],type:"Sensor",cx:.5000000161579515,selected:!1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!0,rotation:[0,0,0],cy:-.4999999988722335,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.028086152131634783,normal:[0,-1,0],cz:-.16060425332465766,ly:.1,type:"Sensor",label:"South",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{selected:!1,ly:.1,normal:[-1,0,0],rotation:[0,0,0],id:"9Aqk7YM1qj7eBSDfhRzr51",cy:-.0010171489984738787,label:"West",cz:.04694614030299604,cx:-.5000000161579532,type:"Sensor",showLabel:!0,lz:.01,lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],Fnn={showDailyLightSensorPanel:!0,showYearlyLightSensorPanel:!1,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:70,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!0,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-905,showHeliodonPanel:!1,cameraPosition:[11.69562560736218,15.284097405092108,4.526997191755329],panCenter:[-2.432389491951708,.8034413072625061,1.0138875329134873],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360}},Lnn=1,Wnn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Nnn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Unn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Bnn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},jnn=[`Solar radiation to a box This model shows the solar radiation the five sides (top, west, east, south, and north sides) of a box receives. There is a sensor on each side. Analyze the daily and annual sensor data to compare the solar radiation the five sides receive. -You can also change the day and the location to investigate the dependency of the results on these factors. `],_nn={docid:Mnn,time:Inn,timestamp:znn,userid:Dnn,owner:Enn,email:knn,world:Fnn,elements:Lnn,view:Wnn,evolutionMethod:Nnn,solarPanelArrayLayoutParams:Unn,solarPanelArrayLayoutConstraints:Bnn,evolutionaryAlgorithmState:jnn,economicsParams:Ynn,notes:Onn},Vnn="9q5sS1hxGDArNFtMUxxGLt",Gnn="02/02/2023 12:31 pm",Xnn=1675359088220,Jnn="QWecNcxhyvP6j6sBN11hBsfZDau1",Knn=null,qnn=null,$nn={latitude:42.2844063,timesPerHour:20,date:"2/22/2022 9:45:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},Qnn=[{cy:.9214233571448283,name:"Jaya",type:"Human",cz:.05000000074505806,normal:[0,1,0],cx:-2.0622287048965853,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",lx:.6,ly:.42,lz:1.55},{rotation:[0,0,0],normal:[0,0,1],lx:8.151162622676603,ly:6.576493454880806,id:"73EHGXQZFsvacbt1n2ck3h",selected:!1,cz:.05,cy:1.1027590009475272,cx:-.9582675975183035,lz:.1,type:"Foundation",parentId:"Ground"},{poleSpacing:2,label:"Solar Panel",showLabel:!1,lx:.99,drawSunBeam:!0,type:"Solar Panel",trackerType:"None",relativeAzimuth:0,lz:.05,normal:[0,0,1],cy:-.16505049820470327,cx:.11464240173253676,cz:.5000000074505806,poleRadius:.05,ly:1.65,poleHeight:0,rotation:[0,0,0],selected:!1,orientation:"Portrait",tiltAngle:0,id:"5QH64n4W7t2nwnWmzmGyMg",parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h",pvModelName:"SPR-X21-335-BLK"},{lz:.01,ly:.1,cx:.1375052960984675,showLabel:!1,id:"vPAwDhHdD9bH57J7RhabCf",cy:.12369628620569162,selected:!1,cz:.5000000074505806,type:"Sensor",normal:[0,0,1],lx:.1,rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h"}],Znn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#68ccca",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-5.789682038682944,18.727459047471708,4.434763103599393],panCenter:[-1.75129140268729,-.10770909213304464,1.3605382204171563],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:473,height:61}},eon=1,ton={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},non={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},oon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ion={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ron=["Test if the sun beam aligns with the heliodon correctly"],aon={docid:Vnn,time:Gnn,timestamp:Xnn,userid:Jnn,owner:Knn,email:qnn,world:$nn,elements:Qnn,view:Znn,evolutionMethod:eon,solarPanelArrayLayoutParams:ton,solarPanelArrayLayoutConstraints:non,evolutionaryAlgorithmState:oon,economicsParams:ion,notes:ron},lon="a23ZVUe81EjtB3oPinKZm4",son="02/02/2023 12:19 pm",con=1675358372271,uon="QWecNcxhyvP6j6sBN11hBsfZDau1",don=null,fon=null,hon={latitude:42.2775281,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3468091,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA, USA",date:"6/15/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},pon=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#999999"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!0,label:"Monocrystalline",cy:-.27899190547936026,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.008285803864999835,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!1,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.984,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Polycrystalline",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.712,selected:!1,orientation:"Landscape",cx:.0011144506933526612,relativeAzimuth:0,cy:.010234323153061437,poleHeight:1,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{poleRadius:.05,type:"Solar Panel",lx:18.081,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:2.464,normal:[0,0,1],poleSpacing:3,cx:.003982991962011493,trackerType:"None",cy:.32738584282585487,label:"Thin Film",cz:.5000000074506161,orientation:"Landscape",showLabel:!0,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"FS-6430"},{type:"Human",name:"Justin",cx:-.6422253837185492,cy:-6.097930974223568,cz:.05000000074505806,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42}],gon={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Forest",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[6.231682260523529,-11.839635427091224,3.4189848625017474],panCenter:[1.5940644020050898,-.07013351095627554,.6762754823912617],orthographic:!1,enableRotate:!0,cameraZoom:37.01235612443422,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.1982070075600382,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:175,mapPanelY:53,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65}},mon=1,yon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Aon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},won={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},von={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},xon=["Solar panel types"],bon={docid:lon,time:son,timestamp:con,userid:uon,owner:don,email:fon,world:hon,elements:pon,view:gon,evolutionMethod:mon,solarPanelArrayLayoutParams:yon,solarPanelArrayLayoutConstraints:Aon,evolutionaryAlgorithmState:won,economicsParams:von,notes:xon},Son="wFMNzt7sPEDjKGAPcESDBP",Ton="08/30/2023 08:36 am",Pon=1693399003790,Con="QWecNcxhyvP6j6sBN11hBsfZDau1",Ron=null,Hon=null,Mon={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US"},Ion=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#16a5a5",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"E-W",tiltAngle:1.5707963267948966,poleSpacing:2.1,rotation:[0,0,0],lx:10.48,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:-1.5707963267948966,cy:-.0004001413797904696,poleHeight:2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-420MB-AG",dailyYield:27.769005901292118},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-420MB-AG",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:10.48,ly:2.132,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2,poleSpacing:2.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:17.55726336493663,label:"N-S"}],zon=24,Don={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.42333778357062,-26.00860153882541,4.957120957652498],panCenter:[9.680010046024961,1.8911434375133904,3.488277959545367],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65},navigationView:!1},Eon={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},kon=1,Fon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Lon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Won={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Non={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Uon="Unknown",Bon=null,jon=null,Yon=null,Oon=null,_on=["Bifacial solar panels"],Von=3,Gon=3,Xon={docid:Son,time:Ton,timestamp:Pon,userid:Con,owner:Ron,email:Hon,world:Mon,elements:Ion,sceneRadius:zon,view:Don,graphState:Eon,evolutionMethod:kon,solarPanelArrayLayoutParams:Fon,solarPanelArrayLayoutConstraints:Lon,evolutionaryAlgorithmState:Won,economicsParams:Non,modelType:Uon,modelAuthor:Bon,modelLabel:jon,modelDescription:Yon,designProjectType:Oon,notes:_on,minimumNavigationMoveSpeed:Von,minimumNavigationTurnSpeed:Gon},Jon="fXAaqcjQbaBomkkTcKkuR5",Kon="08/31/2023 10:18 am",qon=1693491481113,$on="QWecNcxhyvP6j6sBN11hBsfZDau1",Qon=null,Zon=null,ein={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US",daysPerYear:12},tin=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#666666",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Bifacial",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],lx:11.528,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:0,cy:-.0004001413797904696,poleHeight:1.5,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-445MB-AG",dailyYield:8.868699562970985,yearlyYield:7933.919486524438},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-440MS",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:11.528,ly:2.108,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.5,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:6.700357358830137,label:"Monofacial",yearlyYield:6331.051197253751,drawSunBeam:!1}],nin=24,oin={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!0,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"#194d33",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[21.044833876539915,-19.158030778662997,1.9640239249677898],panCenter:[8.779754971790968,7.5724725159534465,1.9640239249677898],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:-1103,y:47,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:265,height:96},navigationView:!1,yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},iin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!0,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},rin=1,ain={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lin={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},sin={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cin={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uin="Unknown",din=null,fin=null,hin=null,pin=null,gin=["Comparing the annual outputs of bifacial and monofacial solar panels"],min=3,yin=3,Ain={docid:Jon,time:Kon,timestamp:qon,userid:$on,owner:Qon,email:Zon,world:ein,elements:tin,sceneRadius:nin,view:oin,graphState:iin,evolutionMethod:rin,solarPanelArrayLayoutParams:ain,solarPanelArrayLayoutConstraints:lin,evolutionaryAlgorithmState:sin,economicsParams:cin,modelType:uin,modelAuthor:din,modelLabel:fin,modelDescription:hin,designProjectType:pin,notes:gin,minimumNavigationMoveSpeed:min,minimumNavigationTurnSpeed:yin},win="mxcpjFL7wwjT6kUG3dgBwT",vin="02/04/2023 01:21 pm",xin=1675534888279,bin="QWecNcxhyvP6j6sBN11hBsfZDau1",Sin=null,Tin=null,Pin={solarRadiationHeatmapGridCellSize:.5,date:"3/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!0,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:-71.3488548},Cin=[{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8KuTFKVbnS9JsUhgiz6ayk",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ddK5UqQWy74ghKtND3in4",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:.3466666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10666666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.13333333333333333,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tVsnXCNKFAXpT1tvrhqYrT",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36000000000000004,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.375,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.24999999999999992,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.37499999999999994,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.07737809374999927,cy:-.08634488504745477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.08065235785463425,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#666666",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,label:"",rise:1.3492858897703286,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.045101456155734465,cy:-.1728550176508481,cz:3.912059639775531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"hggpkWHD6D2DWRepcABzSN",selected:!1,dailyYield:1.1606630204047466,yearlyYield:14.01350339573908,label:"S",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.04923325035798107,cy:.23033266020936075,cz:4.048748074874304,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[1836536775249149e-32,.26053732960492476,.9654637745054627],rotation:[.2635787119172426,0,3.141592653589793],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3AjZD5PGir6Pw6qNxAXT2v",selected:!1,dailyYield:.7689476441385455,yearlyYield:9.02911259075203,label:"N",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23435630964973508,cy:.03020266603782977,cz:3.927707691404531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"dfe7nQ9k8jDK91KdkmUEv6",selected:!1,dailyYield:.9541736397038687,yearlyYield:11.32280863910204,label:"W",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.3049880725182647,cy:.048385609165732826,cz:3.978511539183477,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"1dU1iCu9PPq5BqZD1KErE7",selected:!1,dailyYield:.9576426115274149,yearlyYield:11.37252332042091,label:"E",labelSize:.4},{type:"Sensor",cx:.057157621054107106,cy:.14033655142046375,cz:4.4036437311884296,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,.2605373296049247,.9654637745054626],rotation:[.2635787119172426,0,3.141592653589793],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"mKDuzWBHjARCKjue8riAq8",selected:!1,label:"N"},{type:"Sensor",cx:.05632462642172124,cy:-.03881517090426316,cz:4.440639819780413,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"qMhiLQRXRChHGtKoRd73LF",selected:!1,label:"S"},{type:"Sensor",cx:.25193424207044157,cy:.045340891802389115,cz:4.396078903758752,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3DwwhpFKYxSqcDS4CihiGw",selected:!1,label:"E"},{type:"Sensor",cx:-.1790489651075926,cy:.040907220548995316,cz:4.363011644147998,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"72Y7F2N3gynqymAnAg1DcZ",selected:!1,label:"W"}],Rin={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.096291394829855,-4.886200526627762,20.956812400919997],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!0,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5949692122407761,.408443644397781,1.6485310965583475],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:4,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-25,y:27,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1275,y:17,width:600,height:360},stickyNotePanelRect:{x:-4,y:-3,width:303,height:64}},Hin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Min=1,Iin={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},zin={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Din={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ein={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},kin=["Solar panels on different sides of a roof"],Fin={docid:win,time:vin,timestamp:xin,userid:bin,owner:Sin,email:Tin,world:Pin,elements:Cin,view:Rin,graphState:Hin,evolutionMethod:Min,solarPanelArrayLayoutParams:Iin,solarPanelArrayLayoutConstraints:zin,evolutionaryAlgorithmState:Din,economicsParams:Ein,notes:kin},Lin="4FPGPRyja1jZsFg1c9iXEn",Win="02/19/2023 11:51 am",Nin=1676825516232,Uin="HPwaZxo6jaPjQcD6cBGUWPpQkVw2",Bin=null,jin=null,Yin={pvGridCellSize:.5,sutGridCellSize:1,noAnimationForHeatmapSimulation:!1,latitude:42.30152633098348,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,name:"default",highestTemperatureTimeInMinutes:900,daysPerYear:12,date:"5/1/2023, 8:30:00 AM",sutDaysPerYear:4,timesPerHour:4,cspTimesPerHour:4,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},cspGridCellSize:.5,noAnimationForSolarUpdraftTowerSimulation:!1,noAnimationForSolarPanelSimulation:!1,dustLoss:.05,sutTimesPerHour:4,address:"Quincy, MA, USA",cspDaysPerYear:4,diurnalTemperatureModel:1,solarRadiationHeatmapGridCellSize:1.5,noAnimationForThermalSimulation:!1,airAttenuationCoefficient:.01,noAnimationForSensorDataCollection:!1,airConvectiveCoefficient:5,longitude:-71.04686341053608},Oin=[{solarUpdraftTower:{},textureType:"No Foundation Texture",lx:212.5285321639104,rotation:[0,0,0],solarPowerTower:{},cx:-10.534022898559044,id:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.05,ly:289.40841858160877,cy:-5.174607839650079,lz:.1,hvacSystem:{thermostatSetpoint:20},parentId:"Ground",solarAbsorberPipe:{},type:"Foundation",normal:[0,0,1],color:"#808080",selected:!1},{lz:.4,cx:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:0,vertices:[{y:-.015548960261952672,x:-.13409964163315105},{x:.1599785198430574,y:.4768347813665486},{y:.4768347813665486,x:.3034886626434471},{x:.34113066731240177,y:.43191556283201865},{x:.3764200466895468,y:.41463894031873794},{y:.35762608602491147,x:.37406742139773713},{x:.2917255361843988,y:.23496206618061816},{y:.1710385628814794,x:.2987834120598278},{x:.2799624097253504,y:.11402570858765293},{y:.006910649005312299,x:.22585202801372808},{x:.1529206439676284,y:-.04146389403187379},{y:-.06219584104781069,x:.1458627680921994},{y:-.06565116555046684,x:.09175238638057703},{y:-.08292778806374758,x:.06587350817067068},{x:-.08234188521333836,y:-.08292778806374758}],ly:.4,lx:.4,color:"#ffffff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"5DXDSqQGwG9HHBGtTSMivo",type:"Polygon",filled:!0,lineColor:"#b3b3b3",rotation:[0,0,0],selectedIndex:10,normal:[0,0,1],opacity:0,selected:!1,cz:0},{rotation:[0,0,0],showLabel:!1,poleRadius:.05,poleSpacing:3,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",id:"39YHB9jsen7civ3YRJKQCC",cy:-.06921706043720798,drawSunBeam:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",normal:[0,0,1],color:"#fff",selected:!1,relativeAzimuth:0,type:"Solar Panel",cx:-.0044720631905931785,poleHeight:1,tiltAngle:.5235987755982988,lx:31.744,pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,ly:3.936},{normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.04416595779295089,lx:50.592,cz:.1,rotation:[0,0,0],drawSunBeam:!1,poleRadius:.05,orientation:"Portrait",lz:.006,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,id:"wRpEM8qhuhZqcTqN2dpgxk",cx:.020668929177468376,pvModelName:"CS6X-355P-FG",showLabel:!1,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,frameColor:"white",poleSpacing:3,poleHeight:1},{pvModelName:"CS6X-355P-FG",trackerType:"None",tiltAngle:.5235987755982988,selected:!1,color:"#fff",poleSpacing:3,orientation:"Portrait",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,cy:-.019114855148693807,relativeAzimuth:0,showLabel:!1,cx:.026370111541441255,normal:[0,0,1],cz:.1,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],poleRadius:.05,type:"Solar Panel",ly:3.936,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,id:"tD1s9u51ND5RmtjGVXGCLf",lx:61.504},{cz:.1,tiltAngle:.5235987755982988,frameColor:"white",id:"uqbw8SLNidH2HVf3A3aEpb",poleHeight:1,pvModelName:"CS6X-355P-FG",lx:68.448,relativeAzimuth:0,showLabel:!1,type:"Solar Panel",lz:.006,drawSunBeam:!1,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:.005936247495563277,rotation:[0,0,0],ly:3.936,trackerType:"None",orientation:"Portrait",color:"#fff",cx:.04797937239367053,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1]},{frameColor:"white",cz:.1,trackerType:"None",type:"Solar Panel",ly:3.936,id:"abu8rTHpebENbtwLNiH7VV",selected:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,drawSunBeam:!0,pvModelName:"CS6X-355P-FG",lz:.006,cx:.06772862843868938,color:"#fff",showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],relativeAzimuth:0,cy:.03098735013982036,poleSpacing:3,orientation:"Portrait",rotation:[0,0,0],lx:68.448,poleRadius:.05},{drawSunBeam:!1,cx:.0815369877932561,poleHeight:1,lx:68.448,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",cy:.056038452784077444,id:"nZ63hCPNboQvjJjFBKXPux",pvModelName:"CS6X-355P-FG",tiltAngle:.5235987755982988,selected:!1,normal:[0,0,1],cz:.1,showLabel:!1,relativeAzimuth:0,ly:3.936,rotation:[0,0,0],frameColor:"white",poleSpacing:3,color:"#fff",orientation:"Portrait",poleRadius:.05,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{lz:.006,cy:.08108955542833453,poleRadius:.05,trackerType:"None",poleHeight:1,cx:.09534534714782292,cz:.1,normal:[0,0,1],relativeAzimuth:0,frameColor:"white",id:"hif4KqE4YP3kUVrrgkfMhx",ly:3.936,showLabel:!1,lx:67.456,orientation:"Portrait",selected:!1,color:"#fff",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleSpacing:3,rotation:[0,0,0],referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{relativeAzimuth:0,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,tiltAngle:.5235987755982988,ly:3.936,cy:.10614065807259161,orientation:"Portrait",color:"#fff",cx:.1091537065023897,trackerType:"None",showLabel:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:67.456,poleRadius:.05,pvModelName:"CS6X-355P-FG",rotation:[0,0,0],poleSpacing:3,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,cz:.1,id:"qfhB3DdpB1gYjw25yY8eTt",frameColor:"white",normal:[0,0,1],drawSunBeam:!1,type:"Solar Panel"},{cz:.1,rotation:[0,0,0],id:"oKCroDuPSw8Jz4hpytmpuV",tiltAngle:.5235987755982988,referenceId:"5DXDSqQGwG9HHBGtTSMivo",lz:.006,relativeAzimuth:0,poleSpacing:3,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],selected:!1,ly:3.936,type:"Solar Panel",color:"#fff",frameColor:"white",trackerType:"None",poleRadius:.05,poleHeight:1,lx:65.472,cx:.12116209363369557,drawSunBeam:!1,orientation:"Portrait",cy:.13119176071684868,showLabel:!1},{lz:.006,drawSunBeam:!1,selected:!1,type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.13277794649991534,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,id:"mHK7aYVb1Wk6EsoKnJgiKD",relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,color:"#fff",frameColor:"white",trackerType:"None",tiltAngle:.5235987755982988,cz:.1,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,normal:[0,0,1],cy:.15624286336110577,rotation:[0,0,0],ly:3.936,lx:64.48},{poleSpacing:3,cx:.14138598430837385,frameColor:"white",id:"9pHe3mAgmKZtQtjzLXxdYX",rotation:[0,0,0],poleHeight:1,pvModelName:"CS6X-355P-FG",color:"#fff",orientation:"Portrait",cy:.18129396600536285,normal:[0,0,1],drawSunBeam:!1,lz:.006,referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lx:61.504,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,tiltAngle:.5235987755982988,showLabel:!1,type:"Solar Panel",ly:3.936,selected:!1},{cy:.20634506864961993,showLabel:!1,poleRadius:.05,selected:!1,ly:3.936,frameColor:"white",cz:.1,type:"Solar Panel",relativeAzimuth:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],normal:[0,0,1],poleSpacing:3,color:"#fff",trackerType:"None",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"wxnBoqUDaxFyzEJ8C9neNT",drawSunBeam:!1,lx:57.536,referenceId:"5DXDSqQGwG9HHBGtTSMivo",orientation:"Portrait",lz:.006,cx:.14748395783026924,poleHeight:1,tiltAngle:.5235987755982988},{parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,selected:!1,rotation:[0,0,0],frameColor:"white",poleSpacing:3,relativeAzimuth:0,cz:.1,tiltAngle:.5235987755982988,normal:[0,0,1],cx:.1535819313521647,lz:.006,id:"wFKvkQ1Z8bZ4V5gp8W9qaV",type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:54.56,trackerType:"None",orientation:"Portrait",color:"#fff",poleRadius:.05,cy:.23139617129387702,showLabel:!1,ly:3.936,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,relativeAzimuth:0,rotation:[0,0,0],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleRadius:.05,lx:54.56,lz:.006,showLabel:!1,normal:[0,0,1],poleHeight:1,trackerType:"None",color:"#fff",type:"Solar Panel",frameColor:"white",pvModelName:"CS6X-355P-FG",drawSunBeam:!1,cz:.1,id:"5UEd5WPYGM3mteKkUdGC5b",ly:3.936,cy:.2564472739381341,orientation:"Portrait",cx:.1650931283901031,poleSpacing:3},{lx:54.56,poleSpacing:3,color:"#fff",rotation:[0,0,0],normal:[0,0,1],selected:!1,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,poleRadius:.05,cz:.1,poleHeight:1,trackerType:"None",orientation:"Portrait",cx:.18098221432743639,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",cy:.2814983765823912,tiltAngle:.5235987755982988,id:"2svrFi8xQmtUMBe5ZAK81o",showLabel:!1,ly:3.936,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6"},{cx:.19687130026476962,cy:.30654947922664827,poleRadius:.05,rotation:[0,0,0],poleHeight:1,selected:!1,showLabel:!1,lz:.006,type:"Solar Panel",normal:[0,0,1],id:"bGivs5Yuda48gHtDd1BsdF",poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:55.552,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",pvModelName:"CS6X-355P-FG",referenceId:"5DXDSqQGwG9HHBGtTSMivo",drawSunBeam:!1,ly:3.936,relativeAzimuth:0,color:"#fff",orientation:"Portrait",cz:.1,tiltAngle:.5235987755982988,trackerType:"None"},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",selected:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,cz:.1,showLabel:!1,lx:55.552,frameColor:"white",poleSpacing:3,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,tiltAngle:.5235987755982988,rotation:[0,0,0],cy:.33160058187090535,type:"Solar Panel",normal:[0,0,1],color:"#fff",id:"jm8EQPxBbaiTMXoQiF7CER",ly:3.936,trackerType:"None",cx:.21276038620210297,drawSunBeam:!1},{poleSpacing:3,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],lz:.006,lx:55.552,id:"8a4sJM8CzcwGaTVPbJ3rEU",color:"#fff",trackerType:"None",relativeAzimuth:0,ly:3.936,poleHeight:1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,cy:.35665168451516244,poleRadius:.05,cx:.232198442985121,selected:!1,drawSunBeam:!1,orientation:"Portrait",tiltAngle:.5235987755982988},{selected:!1,drawSunBeam:!1,ly:3.936,showLabel:!1,orientation:"Portrait",color:"#fff",poleHeight:1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:52.576,frameColor:"white",type:"Solar Panel",cz:.1,poleSpacing:3,tiltAngle:.5235987755982988,normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",cy:.3817027871594195,id:"mSAWD32s6rcXazrWTV4Xv5",cx:.24019624331923956,rotation:[0,0,0],relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleRadius:.05,pvModelName:"CS6X-355P-FG"},{poleRadius:.05,selected:!1,normal:[0,0,1],id:"5LQqmcsTvpZmQs4iTqrCGu",cy:.4067538898036766,lz:.006,orientation:"Portrait",rotation:[0,0,0],lx:49.6,ly:3.936,drawSunBeam:!1,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,cx:.248194043653358,cz:.1,type:"Solar Panel",color:"#fff",poleSpacing:3,trackerType:"None",pvModelName:"CS6X-355P-FG",frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleHeight:1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{frameColor:"white",cx:.23674454976762427,ly:3.936,poleSpacing:3,poleHeight:1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,drawSunBeam:!1,relativeAzimuth:0,rotation:[0,0,0],showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:38.688,poleRadius:.05,pvModelName:"CS6X-355P-FG",cz:.1,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",color:"#fff",orientation:"Portrait",cy:.4318049924479337,lz:.006,selected:!1,id:"32Cg2tC6n7DHigNkVxdrgt",normal:[0,0,1]},{relativeAzimuth:0,tiltAngle:.5235987755982988,id:"sqjEqAoMgMpxq5BxsJh969",cx:.23372915722930276,cy:.4568560950921907,type:"Solar Panel",frameColor:"white",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",lz:.006,poleRadius:.05,color:"#fff",orientation:"Portrait",lx:30.752,cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleSpacing:3,showLabel:!1,rotation:[0,0,0],selected:!1,trackerType:"None",poleHeight:1},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selectedIndex:0,lx:.4,normal:[0,0,1],lz:.4,ly:.4,opacity:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"i53LLgEmjv9V4sT2Bw7T8V",cy:0,rotation:[0,0,0],color:"#ffffff",vertices:[{x:-.37171479610592745,y:-.45264750984795554},{y:-.41291127806740985,x:-.37171479610592745},{x:-.35759904435506945,y:-.3887240065488168},{x:-.3975936743158338,y:-.3749027085381922},{x:-.38818317314859513,y:-.3144345297417096},{x:-.4164146766503111,y:-.27815362246382},{x:-.37877267198135645,y:-.13821298010624597},{y:-.07083415230445106,x:-.35759904435506945},{y:-.07083415230445106,x:-.2093836509710604},{y:-.25569401319655505,x:.0799892599215287},{y:-.3679920595328799,x:.061168257587051356},{y:-.4025453045594414,x:.01646837704266767},{x:-.07763663462971902,y:-.43364322508334674},{y:-.45437517209928363,x:-.11057338871505437}],cz:0,cx:0,selected:!1,filled:!0,lineColor:"#999999",type:"Polygon"},{type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",relativeAzimuth:0,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleHeight:1,poleSpacing:3,rotation:[0,0,0],frameColor:"white",id:"rjtxU5WsNM51KRLNQSNjpi",trackerType:"None",cz:.1,tiltAngle:.5235987755982988,selected:!1,orientation:"Portrait",normal:[0,0,1],cy:-.44066444447274405,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,drawSunBeam:!1,lz:.006,showLabel:!1,lx:54.56,ly:3.936,cx:-.23295381956127093},{orientation:"Portrait",cy:-.41561334182848697,id:"r4etahi9gw6GJxHew37bNn",poleHeight:1,poleSpacing:3,lx:67.456,cx:-.20254012539999636,normal:[0,0,1],selected:!1,frameColor:"white",lz:.006,drawSunBeam:!1,relativeAzimuth:0,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",ly:3.936,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cz:.1,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,trackerType:"None",rotation:[0,0,0],tiltAngle:.5235987755982988,color:"#fff"},{poleSpacing:3,trackerType:"None",frameColor:"white",lx:78.368,normal:[0,0,1],poleHeight:1,cz:.1,orientation:"Portrait",showLabel:!1,cy:-.3905622391842299,tiltAngle:.5235987755982988,cx:-.16654214275360996,poleRadius:.05,color:"#fff",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,id:"oPaST5wTNmvuMg4irNTNvF",ly:3.936,pvModelName:"CS6X-355P-FG",lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel"},{poleHeight:1,relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",ly:3.936,type:"Solar Panel",id:"fF8k5yd2hu4Rwpr6gbrW2i",normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.3655111365399728,poleRadius:.05,poleSpacing:3,selected:!1,lx:92.256,drawSunBeam:!1,frameColor:"white",cz:.1,showLabel:!1,lz:.006,trackerType:"None",pvModelName:"CS6X-355P-FG",rotation:[0,0,0],orientation:"Portrait",color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.16834099366066035},{pvModelName:"CS6X-355P-FG",color:"#fff",normal:[0,0,1],poleSpacing:3,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",selected:!1,cz:.1,orientation:"Portrait",showLabel:!1,cx:-.16377492283812295,trackerType:"None",frameColor:"white",lz:.006,lx:93.248,ly:3.936,rotation:[0,0,0],poleHeight:1,id:"vR22Q3vueKbYiqVBv8D26g",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,drawSunBeam:!1,tiltAngle:.5235987755982988,type:"Solar Panel",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.3404600338957157},{pvModelName:"CS6X-355P-FG",poleSpacing:3,cx:-.1597263390941956,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.1,poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,showLabel:!1,selected:!1,rotation:[0,0,0],relativeAzimuth:0,cy:-.31540893125145864,id:"fHL4NPe6GsTPPqRFeNWFSj",color:"#fff",poleHeight:1,trackerType:"None",drawSunBeam:!1,type:"Solar Panel",frameColor:"white",ly:3.936,orientation:"Portrait",lx:93.248,lz:.006,normal:[0,0,1]},{showLabel:!1,drawSunBeam:!1,trackerType:"None",lx:97.216,cy:-.29035782860720155,poleSpacing:3,poleHeight:1,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",ly:3.936,orientation:"Portrait",relativeAzimuth:0,selected:!1,lz:.006,cz:.1,type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",tiltAngle:.5235987755982988,color:"#fff",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cx:-.16533131631908343,normal:[0,0,1],id:"wo99UxfjEn2Sft7C8epu1F"},{cy:-.26530672596294447,poleSpacing:3,color:"#fff",trackerType:"None",cz:.1,lz:.006,tiltAngle:.5235987755982988,rotation:[0,0,0],poleRadius:.05,ly:3.936,cx:-.16654823110912362,selected:!1,frameColor:"white",id:"atncuqMmE5QUMBXmuECL7c",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,orientation:"Portrait",relativeAzimuth:0,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:100.192,showLabel:!1},{lz:.006,orientation:"Portrait",lx:92.256,cy:-.24025562331868738,selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",ly:3.936,color:"#fff",drawSunBeam:!1,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,pvModelName:"CS6X-355P-FG",frameColor:"white",poleSpacing:3,showLabel:!1,rotation:[0,0,0],trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,normal:[0,0,1],id:"pRs6eMcbHHwteicGZNiUf4",cx:-.17740291781012096,relativeAzimuth:0,cz:.1},{type:"Solar Panel",color:"#fff",frameColor:"white",normal:[0,0,1],poleRadius:.05,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lz:.006,pvModelName:"CS6X-355P-FG",ly:3.936,drawSunBeam:!1,poleHeight:1,id:"oTDhH5JF9kfv5Xuz6jEMoT",rotation:[0,0,0],showLabel:!1,selected:!1,cy:-.2152045206744303,cz:.1,orientation:"Portrait",trackerType:"None",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.1936407690619649,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:82.336,poleSpacing:3},{tiltAngle:.5235987755982988,relativeAzimuth:0,trackerType:"None",showLabel:!1,lz:.006,normal:[0,0,1],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,orientation:"Portrait",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",drawSunBeam:!1,cx:-.2098786203138088,color:"#fff",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,cy:-.19015341803017322,lx:72.416,id:"vTDkEMLLiFSDFeVQ9M7gEq",rotation:[0,0,0],type:"Solar Panel",poleSpacing:3,frameColor:"white",poleHeight:1},{lx:63.488,drawSunBeam:!1,poleHeight:1,cx:-.22611647156565276,poleRadius:.05,lz:.006,selected:!1,poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,orientation:"Portrait",ly:3.936,showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",type:"Solar Panel",color:"#fff",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.16510231538591613,cz:.1,id:"ddcikvHRjDyv431v3iHzR9",normal:[0,0,1]},{cy:-.14005121274165905,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",poleRadius:.05,frameColor:"white",color:"#fff",trackerType:"None",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,poleHeight:1,tiltAngle:.5235987755982988,type:"Solar Panel",cx:-.2423189775828182,lx:53.568,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,poleSpacing:3,id:"kzwB7XdQnSLaWv37UNBRHE",pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,orientation:"Portrait"},{relativeAzimuth:0,poleRadius:.05,tiltAngle:.5235987755982988,trackerType:"None",orientation:"Portrait",drawSunBeam:!1,poleSpacing:3,cx:-.25798989752621326,selected:!1,lx:43.647999999999996,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",pvModelName:"CS6X-355P-FG",cz:.1,ly:3.936,rotation:[0,0,0],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",color:"#fff",normal:[0,0,1],showLabel:!1,id:"iSBjaL3vNJSWkMSnEcxexJ",cy:-.11500011009740196,frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleHeight:1},{pvModelName:"CS6X-355P-FG",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",rotation:[0,0,0],drawSunBeam:!1,cy:-.08994900745314488,cz:.1,id:"inhpfuX2LqrdYubxNoTMKi",trackerType:"None",lz:.006,poleRadius:.05,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,relativeAzimuth:0,poleSpacing:3,showLabel:!1,type:"Solar Panel",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:33.728,ly:3.936,normal:[0,0,1],poleHeight:1,orientation:"Portrait",cx:-.2736608174696083,color:"#fff"},{type:"Foundation",cx:130.77937125760448,cy:3.87684921362672,cz:.05,lx:56.64628450306867,ly:56.97569559573312,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"nCbdmnahzfS1w9hiPKySNL",label:"Rainbow Swash",labelSize:4,labelHeight:50,showLabel:!0,labelFontSize:50,labelColor:"black"},{type:"Wall",cx:-14.049964379597128,cy:20.03116873649283,cz:0,lx:6.020797289396148,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.8682349942715186,leftPoint:[-11.799964379597128,22.03116873649283,.1],rightPoint:[-16.299964379597128,18.03116873649283,.1],leftJoints:["eJTbEVraxbUMqMs6Np8NKF"],rightJoints:["hXhPy1xFEnY2hwUty4JKnh"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"dg44T4UU4svJo7xChjjMQJ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-18.049964379597128,cy:15.53116873649283,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.101663015995481,leftPoint:[-16.299964379597128,18.03116873649283,.1],rightPoint:[-19.799964379597128,13.03116873649283,.1],leftJoints:["dg44T4UU4svJo7xChjjMQJ"],rightJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hXhPy1xFEnY2hwUty4JKnh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-20.799964379597128,cy:10.28116873649283,cz:0,lx:5.852349955359813,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.363617976800782,leftPoint:[-19.799964379597128,13.03116873649283,.1],rightPoint:[-21.799964379597128,7.53116873649283,.1],leftJoints:["hXhPy1xFEnY2hwUty4JKnh"],rightJoints:["7XqqJhYujD5LNMbkq5uwj5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"r6mVuTRZiSA9BuDPhjz2Lp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.149964379597122,cy:4.63116873649283,cz:0,lx:5.842088667591412,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.592280244817776,leftPoint:[-21.799964379597128,7.53116873649283,.1],rightPoint:[-22.49996437959713,1.7311687364928305,.1],leftJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],rightJoints:["f9fikVMDyJeGH7jFyXZWwX"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7XqqJhYujD5LNMbkq5uwj5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.44996437959712,cy:-.7688312635071695,cz:0,lx:5.000999900019995,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.7323863143578375,leftPoint:[-22.499964379597117,1.7311687364928305,.1],rightPoint:[-22.399964379597122,-3.2688312635071703,.1],leftJoints:["7XqqJhYujD5LNMbkq5uwj5"],rightJoints:["xuvvfjRXMWdjTE7V8yHHHs"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"f9fikVMDyJeGH7jFyXZWwX",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-21.549964379597128,cy:-6.568831263507171,cz:0,lx:6.815423684555494,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.964484961052763,leftPoint:[-22.399964379597122,-3.2688312635071703,.1],rightPoint:[-20.699964379597134,-9.86883126350717,.1],leftJoints:["f9fikVMDyJeGH7jFyXZWwX"],rightJoints:["up3mEwP5XpBuhYU31R9sSn"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"xuvvfjRXMWdjTE7V8yHHHs",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-19.49996437959713,cy:-11.918831263507169,cz:0,lx:4.750789408087882,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.241978579166767,leftPoint:[-20.699964379597134,-9.86883126350717,.1],rightPoint:[-18.299964379597128,-13.96883126350717,.1],leftJoints:["xuvvfjRXMWdjTE7V8yHHHs"],rightJoints:["3RcJPAXuGxFdfSHj5R15Et"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"up3mEwP5XpBuhYU31R9sSn",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-16.549964379597128,cy:-16.46883126350717,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.323114944773899,leftPoint:[-18.299964379597128,-13.96883126350717,.1],rightPoint:[-14.799964379597128,-18.96883126350717,.1],leftJoints:["up3mEwP5XpBuhYU31R9sSn"],rightJoints:["5CVoJKJNEiwZKYgJZcNSFi"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"3RcJPAXuGxFdfSHj5R15Et",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-11.749964379597131,cy:-20.51883126350717,cz:0,lx:6.842514157822414,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.81300184353285,leftPoint:[-14.799964379597142,-18.96883126350717,.1],rightPoint:[-8.699964379597134,-22.06883126350717,.1],leftJoints:["3RcJPAXuGxFdfSHj5R15Et"],rightJoints:["jBn8o6CDfAHiZEGaPT1dBH"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"5CVoJKJNEiwZKYgJZcNSFi",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-5.699964379597134,cy:-22.868831263507175,cz:0,lx:6.209669878504014,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.022582915432245,leftPoint:[-8.699964379597134,-22.068831263507175,.1],rightPoint:[-2.6999643795971338,-23.668831263507172,.1],leftJoints:["5CVoJKJNEiwZKYgJZcNSFi"],rightJoints:["7WeEQ5XGbSwarbCtZLcy3v"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"jBn8o6CDfAHiZEGaPT1dBH",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:.20003562040287193,cy:-23.918831263507172,cz:0,lx:5.82151183113116,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.197191015985346,leftPoint:[-2.6999643795971338,-23.668831263507172,.1],rightPoint:[3.1000356204028776,-24.168831263507172,.1],leftJoints:["jBn8o6CDfAHiZEGaPT1dBH"],rightJoints:["v7jn11zR2wYLhDxejpfXGD"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7WeEQ5XGbSwarbCtZLcy3v",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:5.250035620402855,cy:-23.36883126350717,cz:0,lx:4.588027898781775,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.35621965539615097,leftPoint:[3.1000356204028776,-24.168831263507172,.1],rightPoint:[7.400035620402861,-22.56883126350717,.1],leftJoints:["7WeEQ5XGbSwarbCtZLcy3v"],rightJoints:["ijnWnJpBMsWV74W4WWEWNB"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"v7jn11zR2wYLhDxejpfXGD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:8.800035620402866,cy:-22.01883126350717,cz:0,lx:3.008321791298265,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.3743336160075845,leftPoint:[7.400035620402861,-22.56883126350717,.1],rightPoint:[10.200035620402872,-21.46883126350717,.1],leftJoints:["v7jn11zR2wYLhDxejpfXGD"],rightJoints:["crmfHAnSRdMR5VgizUq9LM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ijnWnJpBMsWV74W4WWEWNB",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:11.450035620402872,cy:-20.71883126350717,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.5404195002705842,leftPoint:[10.200035620402872,-21.46883126350717,.1],rightPoint:[12.700035620402872,-19.96883126350717,.1],leftJoints:["ijnWnJpBMsWV74W4WWEWNB"],rightJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"crmfHAnSRdMR5VgizUq9LM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:13.950035620402872,cy:-18.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[12.700035620402872,-19.96883126350717,.1],rightPoint:[15.200035620402872,-17.96883126350717,.1],leftJoints:["crmfHAnSRdMR5VgizUq9LM"],rightJoints:["6qpKnQqjrecVz81WJpLQT3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"8PdqQxoo78gsSMQ7Gk5KLR",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:-16.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[15.200035620402872,-17.96883126350717,.1],rightPoint:[17.700035620402872,-15.96883126350717,.1],leftJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],rightJoints:["hELSBxVzGyyQWpXPyvjTHw"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"6qpKnQqjrecVz81WJpLQT3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:-14.96883126350717,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.7853981633974483,leftPoint:[17.700035620402872,-15.96883126350717,.1],rightPoint:[19.700035620402872,-13.96883126350717,.1],leftJoints:["6qpKnQqjrecVz81WJpLQT3"],rightJoints:["4fB42Goo94xeF9fnshTMSp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hELSBxVzGyyQWpXPyvjTHw",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:-12.71883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.8960553845713439,leftPoint:[19.700035620402872,-13.96883126350717,.1],rightPoint:[21.700035620402872,-11.46883126350717,.1],leftJoints:["hELSBxVzGyyQWpXPyvjTHw"],rightJoints:["43JV1qpPY5ifjyLwezRVA6"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4fB42Goo94xeF9fnshTMSp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.200035620402872,cy:-8.71883126350717,cz:0,lx:6.264982043070834,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.0714496051147666,leftPoint:[21.700035620402872,-11.46883126350717,.1],rightPoint:[24.700035620402872,-5.96883126350717,.1],leftJoints:["4fB42Goo94xeF9fnshTMSp"],rightJoints:["4w2rHft9nRb3VsBiJ3yDka"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"43JV1qpPY5ifjyLwezRVA6",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:-3.9688312635071696,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.3258176636680326,leftPoint:[24.700035620402872,-5.96883126350717,.1],rightPoint:[25.700035620402872,-1.9688312635071696,.1],leftJoints:["43JV1qpPY5ifjyLwezRVA6"],rightJoints:["drEpxmzAKwiqtosy39e6Vr"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4w2rHft9nRb3VsBiJ3yDka",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:.031168736492830362,cz:0,lx:4,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,-1.9688312635071696,.1],rightPoint:[25.700035620402872,2.0311687364928304,.1],leftJoints:["4w2rHft9nRb3VsBiJ3yDka"],rightJoints:["doFL6ojJQmnX4K2WrFghMW"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"drEpxmzAKwiqtosy39e6Vr",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:3.7811687364928304,cz:0,lx:3.5,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,2.0311687364928304,.1],rightPoint:[25.700035620402872,5.53116873649283,.1],leftJoints:["drEpxmzAKwiqtosy39e6Vr"],rightJoints:["p64ZbjyJXwL2QB5NtHDbAL"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"doFL6ojJQmnX4K2WrFghMW",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:7.53116873649283,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.8157749899217608,leftPoint:[25.700035620402872,5.53116873649283,.1],rightPoint:[24.700035620402872,9.53116873649283,.1],leftJoints:["doFL6ojJQmnX4K2WrFghMW"],rightJoints:["2ovFHEfiXwzvGxgJdZVohF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"p64ZbjyJXwL2QB5NtHDbAL",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.950035620402872,cy:11.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.9756881130799802,leftPoint:[24.700035620402872,9.53116873649283,.1],rightPoint:[23.200035620402872,13.03116873649283,.1],leftJoints:["p64ZbjyJXwL2QB5NtHDbAL"],rightJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2ovFHEfiXwzvGxgJdZVohF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:22.450035620402872,cy:14.53116873649283,cz:0,lx:3.3541019662496847,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.0344439357957027,leftPoint:[23.200035620402872,13.03116873649283,.1],rightPoint:[21.700035620402872,16.03116873649283,.1],leftJoints:["2ovFHEfiXwzvGxgJdZVohF"],rightJoints:["ce3qFMioJ6iam6f3Ps6XMK"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4FRjmDxxDfS6r8HLMLZ4VF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:17.03116873649283,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.356194490192345,leftPoint:[21.700035620402872,16.03116873649283,.1],rightPoint:[19.700035620402872,18.03116873649283,.1],leftJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],rightJoints:["hMHLjh9gVUXjqtgU6m8bRM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ce3qFMioJ6iam6f3Ps6XMK",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:19.28116873649283,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.2455372690184494,leftPoint:[19.700035620402872,18.03116873649283,.1],rightPoint:[17.700035620402872,20.53116873649283,.1],leftJoints:["ce3qFMioJ6iam6f3Ps6XMK"],rightJoints:["abAkJXmsmcg5ajbzQfYkR5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hMHLjh9gVUXjqtgU6m8bRM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:21.28116873649283,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[17.700035620402872,20.53116873649283,.1],rightPoint:[15.200035620402872,22.03116873649283,.1],leftJoints:["hMHLjh9gVUXjqtgU6m8bRM"],rightJoints:["ksNDjPcxBviiRDPqzCkcR3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"abAkJXmsmcg5ajbzQfYkR5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:12.700035620402872,cy:23.53116873649283,cz:0,lx:5.830951894845301,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[15.200035620402872,22.03116873649283,.1],rightPoint:[10.200035620402872,25.03116873649283,.1],leftJoints:["abAkJXmsmcg5ajbzQfYkR5"],rightJoints:["2G6Ycemoq6UcAJEBxk2txa"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ksNDjPcxBviiRDPqzCkcR3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:7.750035620402883,cy:25.58116873649283,cz:0,lx:5.021951811795889,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.9207638838604444,leftPoint:[10.200035620402872,25.03116873649283,.1],rightPoint:[5.300035620402866,26.131168736492832,.1],leftJoints:["ksNDjPcxBviiRDPqzCkcR3"],rightJoints:["aaWFv2WxaeMYVbeK6B3njf"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2G6Ycemoq6UcAJEBxk2txa",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-9.799964379597128,cy:22.78116873649283,cz:0,lx:4.272001872658765,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5003633238603653,leftPoint:[-7.799964379597128,23.53116873649283,.1],rightPoint:[-11.799964379597128,22.03116873649283,.1],leftJoints:["wcz96GJreptw2HHTTyJGnx"],rightJoints:["dg44T4UU4svJo7xChjjMQJ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eJTbEVraxbUMqMs6Np8NKF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-6.049964379597128,cy:24.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5464844398748765,leftPoint:[-4.299964379597128,25.03116873649283,.1],rightPoint:[-7.799964379597128,23.53116873649283,.1],leftJoints:["2B4JavsLMUjzTvW2zcVwEQ"],rightJoints:["eJTbEVraxbUMqMs6Np8NKF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"wcz96GJreptw2HHTTyJGnx",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-2.799964379597128,cy:25.53116873649283,cz:0,lx:3.1622776601683795,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.4633432079864352,leftPoint:[-1.299964379597128,26.03116873649283,.1],rightPoint:[-4.299964379597128,25.03116873649283,.1],leftJoints:["aaWFv2WxaeMYVbeK6B3njf"],rightJoints:["wcz96GJreptw2HHTTyJGnx"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2B4JavsLMUjzTvW2zcVwEQ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:2.000035620402855,cy:26.08116873649283,cz:0,lx:6.600757532283728,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.156743009464563,leftPoint:[5.300035620402866,26.131168736492832,.1],rightPoint:[-1.2999643795971565,26.03116873649283,.1],leftJoints:["2G6Ycemoq6UcAJEBxk2txa"],rightJoints:["2B4JavsLMUjzTvW2zcVwEQ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"aaWFv2WxaeMYVbeK6B3njf",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.2,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ksNDjPcxBviiRDPqzCkcR3","2G6Ycemoq6UcAJEBxk2txa","aaWFv2WxaeMYVbeK6B3njf","2B4JavsLMUjzTvW2zcVwEQ","wcz96GJreptw2HHTTyJGnx","eJTbEVraxbUMqMs6Np8NKF","dg44T4UU4svJo7xChjjMQJ","hXhPy1xFEnY2hwUty4JKnh","r6mVuTRZiSA9BuDPhjz2Lp","7XqqJhYujD5LNMbkq5uwj5","f9fikVMDyJeGH7jFyXZWwX","xuvvfjRXMWdjTE7V8yHHHs","up3mEwP5XpBuhYU31R9sSn","3RcJPAXuGxFdfSHj5R15Et","5CVoJKJNEiwZKYgJZcNSFi","jBn8o6CDfAHiZEGaPT1dBH","7WeEQ5XGbSwarbCtZLcy3v","v7jn11zR2wYLhDxejpfXGD","ijnWnJpBMsWV74W4WWEWNB","crmfHAnSRdMR5VgizUq9LM","8PdqQxoo78gsSMQ7Gk5KLR","6qpKnQqjrecVz81WJpLQT3","hELSBxVzGyyQWpXPyvjTHw","4fB42Goo94xeF9fnshTMSp","43JV1qpPY5ifjyLwezRVA6","4w2rHft9nRb3VsBiJ3yDka","drEpxmzAKwiqtosy39e6Vr","doFL6ojJQmnX4K2WrFghMW","p64ZbjyJXwL2QB5NtHDbAL","2ovFHEfiXwzvGxgJdZVohF","4FRjmDxxDfS6r8HLMLZ4VF","ce3qFMioJ6iam6f3Ps6XMK","hMHLjh9gVUXjqtgU6m8bRM","abAkJXmsmcg5ajbzQfYkR5"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eNawNU6nX2MwYS8vPdrDfM"}],_in={yearlyLightSensorPanelShowDaylight:!1,showYearlyParabolicDishYieldPanel:!1,showSunAngles:!1,showDailyFresnelReflectorYieldPanel:!1,groundPanelY:0,waterSurface:!1,solarRadiationHeatMapMaxValue:6,yearlyParabolicDishYieldPanelRect:{y:0,x:0,width:600,height:400},showHeliodonPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxWidth:.5,heliodon:!1,panCenter2D:[131.8325577738685,6.979070650641251,6979380865863898e-21],cameraPosition:[103.91363351545266,-170.19097104218287,181.31250975423077],mapZoom:17,showSiteInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,x:0,height:400,width:600},windowShininess:200,dailyUpdraftTowerYieldPanelRect:{width:640,x:0,height:550,y:0},showYearlyLightSensorPanel:!1,weatherPanelX:0,mapType:"hybrid",heliodonPanelY:0,ambientLightIntensity:.1,weatherPanelRect:{height:500,width:500,y:0,x:0},cameraPosition2D:[131.8325577738685,6.978920643967857,150],yearlyHeliostatYieldPanelRect:{y:0,height:400,width:600,x:0},heatFluxScaleFactor:20,showMapPanel:!1,dailyLightSensorPanelRect:{width:600,height:360,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,y:0,x:0},showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,groundPanelX:0,mapPanelY:0,stickyNotePanelX:6,axes:!0,showElevationAngle:!0,dailyBuildingEnergyPanelRect:{x:0,width:600,y:0,height:400},showYearlyBuildingEnergyPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},mapPanelX:0,autoRotate:!1,cameraZoom:11.974738784767572,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},stickyNotePanelRect:{height:300,y:0,width:400,x:0},showStickyNotePanel:!1,dailyHeliostatYieldPanelRect:{width:600,height:400,y:0,x:0},showZenithAngle:!0,dailyParabolicTroughYieldPanelRect:{height:400,y:0,x:0,width:600},showEvolutionPanel:!1,solarPanelShininess:100,showDailyPvYieldPanel:!1,stickyNotePanelY:0,diurnalTemperaturePanelRect:{width:600,height:400,x:0,y:0},dailyLightSensorPanelY:162,showYearlyPvYieldPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,height:400,width:600},yearlyLightSensorPanelShowClearness:!1,shadowEnabled:!0,showGroundPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,showDiurnalTemperaturePanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDesignInfoPanel:!0,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelRect:{height:400,x:0,y:0,width:600},heliodonPanelX:0,yearlyLightSensorPanelX:0,visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},showInstructionPanel:!0,panCenter:[45.46506493212769,-44.02353583672552,0],solarRadiationHeatMapReflectionOnly:!1,groundColor:"#16A5A5",showEconomicsPanel:!1,evolutionPanelRect:{width:640,height:400,x:0,y:0},directLightIntensity:1,groundImage:!0,dailyPvYieldPanelRect:{width:600,x:0,height:400,y:0},theme:"Default",mapWeatherStations:!1,showDailyUpdraftTowerYieldPanel:!1,yearlyLightSensorPanelY:0,dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},dailyLightSensorPanelX:-1275,heatFluxColor:"gray",mapTilt:0,showYearlyHeliostatYieldPanel:!1,enableRotate:!0,orthographic:!1,showAzimuthAngle:!0,weatherPanelY:0,showDailyBuildingEnergyPanel:!1},Vin={dailyPvIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1},Gin=1,Xin={interRowSpacing:7.25,margin:2,pvModelName:"CS6X-355P-FG",rowsPerRack:2,rowAxis:"Left-Right",orientation:"Portrait",poleHeight:1,poleSpacing:3,tiltAngle:.5235987755982988},Jin={maximumInterRowSpacing:10,orientation:"Landscape",maximumRowsPerRack:6,minimumInterRowSpacing:2,minimumRowsPerRack:1,poleSpacing:5,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",poleHeight:1,maximumTiltAngle:1.5707963267948966},Kin={geneticAlgorithmParams:{maximumGenerations:5,crossoverRate:.5,populationSize:20,convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",mutationRate:.1},particleSwarmOptimizationParams:{objectiveFunctionType:1,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",localSearchRadius:.1,inertia:.8,searchMethod:1,cognitiveCoefficient:.1}},qin={operationalCostPerUnit:.15,electricitySellingPrice:.25,projectLifeSpan:25},$in=[],Qin={docid:Lin,time:Win,timestamp:Nin,userid:Uin,owner:Bin,email:jin,world:Yin,elements:Oin,view:_in,graphState:Vin,evolutionMethod:Gin,solarPanelArrayLayoutParams:Xin,solarPanelArrayLayoutConstraints:Jin,evolutionaryAlgorithmState:Kin,economicsParams:qin,notes:$in},Zin="fxMgHdY9nZbP8YEqb9fZ1w",ern="02/06/2023 03:46 pm",trn=1675716393386,nrn="QWecNcxhyvP6j6sBN11hBsfZDau1",orn=null,irn=null,rrn={date:"5/10/2021, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Orlando, FL, USA",latitude:28.373886495744546,cameraZoom:28.63945562104857,name:"default",timesPerHour:1,longitude:-81.5624358808899,orthographic:!1,solarRadiationHeatmapGridCellSize:5,pvGridCellSize:1},arn=[{type:"Foundation",cx:3.6287395608159727,ly:283.0666063211208,rotation:[0,0,-.25695756630108585],solarPowerTower:{},id:"qKhYC3p1wiYeGuqWSSHJ89",color:"#999999",normal:[0,0,1],cy:-13.583365825686094,lx:337.3327572637294,parentId:"Ground",lz:.1,solarUpdraftTower:{},cz:.05,selected:!1,solarAbsorberPipe:{}},{filled:!0,selectedIndex:37,id:"gxiitHUfviQVqFAUKnd2B7",cz:0,cx:0,lz:.4,cy:0,lx:.4,selected:!1,color:"white",type:"Polygon",parentId:"qKhYC3p1wiYeGuqWSSHJ89",normal:[0,0,1],vertices:[{x:-.21350077712137278,y:-.42075759570318405},{x:-.2787182797987076,y:-.3183082097551242},{x:-.30984481516743556,y:-.20702698019085236},{x:-.3083625991974962,y:-.09044664445685331},{x:-.27865660234861234,y:.00706547489296964},{x:-.33053416129649227,y:-.01236458106269687},{x:-.37203620845479624,y:-.008831843616212049},{x:-.4120560396431608,y:.017663687232424098},{x:-.45504030277140417,y:.07065474892969639},{x:-.4846846221701927,y:.14660860402912002},{x:-.4802379742603744,y:.23492704019124053},{x:-.4594869506812224,y:.29145083933499766},{x:-.42094933546279734,y:.3409091635857851},{x:-.37500064039467507,y:.3762365380506333},{x:-.3379452411461894,y:.3886011191133302},{x:-.27717438637867287,y:.3886011191133302},{x:-.23270790728049007,y:.3691710631576637},{x:-.19713472400194382,y:.3373764261393003},{x:-.17193705251297356,y:.29851631422796726},{x:-.1467393810240033,y:.24022614636096776},{x:-.14525716505406386,y:.1784032410474834},{x:-.1585971087835187,y:.1236458106269687},{x:-.12450614147491189,y:.13601039168966556},{x:-.07855744640678965,y:.1625059225383017},{x:.004446647909818281,y:.1625059225383017},{x:.05187755894787995,y:.14130949785939279},{x:.08152187834666849,y:.12011307318048388},{x:.07411079849697136,y:.1607395538150593},{x:.06966415058715308,y:.22079609040530124},{x:.08448631028654735,y:.28261899571878557},{x:.12154170953503303,y:.3391427948625427},{x:.18972364415224668,y:.3903674878365726},{x:.27569217040873345,y:.3903674878365726},{x:.315712001597098,y:.3656383257111788},{x:.37203620845479624,y:.3161800014603914},{x:.40464495979346365,y:.2472916212539374},{x:.4090916077032819,y:.17487050360099857},{x:.39575166397382705,y:.09891664850157496},{x:.36758956054497793,y:.04945832425078748},{x:.3112653536872797,y:.00176636872324241},{x:.26976330652897573,y:-.017663687232424098},{x:.21936796355103522,y:-.017663687232424098},{x:.19417029206206496,y:-.01236458106269687},{x:.22677904340073238,y:-.10951486084102942},{x:.22671736595063713,y:-.22645703614651888},{x:.1852153187923332,y:-.3465701093270028},{x:.10968398177551761,y:-.4468912869803297},{x:.004446647909818281,y:-.49105050506139},{x:-.07559301446691079,y:-.49281687378463235},{x:-.14457773451918945,y:-.46315044506100184}],ly:.4,rotation:[0,0,-.25695756630108585],foundationId:"qKhYC3p1wiYeGuqWSSHJ89",opacity:0},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037616685320439464,cy:-.48857758884885055,cz:.1,lx:28.799999999999997,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kWpkpkWKF1uWgdwJ2NZefx",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:42.076837683556896},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0372083877509681,cy:-.4744466390629113,cz:.1,lx:50.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dK6YzfpNPfiWaeFn2QffwS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:73.63446594622458},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03654996905677188,cy:-.460315689276972,cz:.1,lx:73.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2YnbhMS1ahtpsDUt83Kmqa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:106.94529577904046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.031199169405290578,cy:-.4461847394910327,cz:.1,lx:92.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rZ6mfN6qq8rs7avswS9pu2",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:134.99652090141174},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03621493966368436,cy:-.43205378970509345,cz:.1,lx:104.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nsxJE4hnqqqbojxtQF5XmZ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:152.52853660289378},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04202884346728941,cy:-.41792283991915413,cz:.1,lx:115.19999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"65qqYMw5kK9P2gpyyLouG5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:168.30735073422758},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04120703986508323,cy:-.40379189013321487,cz:.1,lx:122.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sNWVSiGrgGLPazQHQc81Q",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:178.8265601551169},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04038523626287707,cy:-.3896609403472756,cz:.1,lx:128.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cnEFmUzsqP1tLRHrUQvSwW",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:187.59256800585786},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03956343266067097,cy:-.3755299905613363,cz:.1,lx:135.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"98MNypEPPBsYie5TNeQKR6",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:198.11177742674707},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03874162905846479,cy:-.36139904077539703,cz:.1,lx:141.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xb5Buj7cVMwRPovXehf8wX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:206.87778527748813},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037919825456258605,cy:-.34726809098945777,cz:.1,lx:148.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9cdDw2HjNqp1VMPzxiNCdw",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:217.39699469837734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039402378999016274,cy:-.33313714120351845,cz:.1,lx:153.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8zxNS5x3yVnoFnibsJjUwa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:224.4098009789702},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04145884091268481,cy:-.3190061914175792,cz:.1,lx:158.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2RRuCpeWAGmBTfC2dhxMwq",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:231.422607259563},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04149659769772568,cy:-.3048752416316399,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iv6ViUw3EJjpR2TGVGwYEb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04103158876597998,cy:-.2907442918457006,cz:.1,lx:164.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fW2H3FSf6TjWNbMrKb1Lkt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:240.18861511030403},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040566579834234257,cy:-.2766133420597614,cz:.1,lx:168,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2t1Xvha9SQuwVN7KfkUeiy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:245.44821982074862},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04010157090248856,cy:-.2624823922738221,cz:.1,lx:170.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8iBoV7XvdfudFjFhHgKqTa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:248.95462296104498},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039636561970742834,cy:-.2483514424878828,cz:.1,lx:174,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wYMRLZC1rubPv5oYgrbkPg",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:254.21422767148965},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03917155303899711,cy:-.2342204927019435,cz:.1,lx:176.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tdEaYaSRTP4xPW2tL6xYLX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:257.7206308117861},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0394392928303727,cy:-.22008954291600424,cz:.1,lx:178.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"5M1u3s5y7Yg9TFyx3QAJka",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:261.2270339520825},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04141185432912459,cy:-.20595859313006498,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hiA62xMKPaFVvMB4EbNPY4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04144393579015737,cy:-.19182764334412566,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"b54t9D1QjNBLmMTU63QWVT",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04135037805808456,cy:-.1776966935581864,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"d1YSCd8j3DVVmp36H3tHZz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04125682032601172,cy:-.16356574377224714,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1ysUo9HPCMC5bpSzendt1P",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04116326259393882,cy:-.14943479398630782,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2GwbaiKPvFUtnmPT96gojn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04106970486186601,cy:-.13530384420036856,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jfCpXtMzyB64DGxKrDZTJ5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04097614712979322,cy:-.1211728944144293,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"49X8WCb1TJhiSctnjKxN4r",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04165455280196828,cy:-.10704194462849004,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9EUafkcKKdEjXyJwgKUn9F",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04393626708296591,cy:-.09291099484255072,cz:.1,lx:177.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"83ZWm7TJF8qdoueqVfWe1p",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:259.47383238193424},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04420570767416232,cy:-.07878004505661146,cz:.1,lx:175.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iEjavascg418skk9iKNiXc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:255.9674292416379},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04442483385188012,cy:-.0646490952706722,cz:.1,lx:171.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mEQPpZurmPLPYfvHBtjBp8",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:250.7078245311932},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04464396002959792,cy:-.05051814548473288,cz:.1,lx:169.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jXz3fip3tXcdriBZEWDqpy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:247.20142139089677},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04486308620731577,cy:-.03638719569879362,cz:.1,lx:165.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eqHXHHJiV6yMbr5L1r1Ld7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:241.9418166804522},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04508221238503357,cy:-.022256245912854355,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nX2ypmuMKZwqMh2zBmNNcy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.340155090410463,cy:-.008125296126915038,cz:.1,lx:9.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wnN4Cfoo6RAEcvrqb2PcCi",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:14.025612561185637},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.0008397564506628652,cy:-.008125296126915038,cz:.1,lx:192,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"41tmtPqEDkBjyum5o2HyTb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:280.51225122371267},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.33919569243719283,cy:.006005653659024224,cz:.1,lx:34.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nUZy35meWUt3qFXdKcjG8T",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:50.84284553429793},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.01707173035142423,cy:.006005653659024224,cz:.1,lx:199.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"42nshWJYmviEWoTkQyU4n7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:291.0314606446019},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040942647871871296,cy:.02013660344496354,cz:.1,lx:249.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"woLsJFnRDToiWqRHeJaj7e",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:364.6659265908265},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03832955601375582,cy:.03426755323090275,cz:.1,lx:259.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"co9GdUpZDxCi3rLez9eaX9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:378.6915391520121},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03571646415564039,cy:.048398503016842065,cz:.1,lx:268.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jbUV2vPsguy1CptC637MTc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:392.7171517131978},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03645227851214608,cy:.06252945280278138,cz:.1,lx:276,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qkmUJNGwXdSLVnfZeY68uS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:403.2363611340871},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03734260936957107,cy:.07666040258872059,cz:.1,lx:282,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6iGc4xFsJd9M2yj74iPeRR",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:412.00236898482797},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03607706284374246,cy:.0907913523746599,cz:.1,lx:286.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"omBvXRQwdAtvY6W2nJwnSu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:419.0151752654209},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.035576630292429856,cy:.10492230216059922,cz:.1,lx:290.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"86V9dMayifHM3TKqinFVHY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:424.27477997586544},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.19735877990437656,cy:.11905325194653843,cz:.1,lx:186,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hbiQ95FcNxgSx4s8JJpjr7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:271.7462433729717},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24049456177332856,cy:.11905325194653843,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nhNSmKpJTEt2hyfDoJmW3v",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31770381965182604,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"phxBsJWZVwgu5cw4g8V4wY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03308870698607633,cy:.13318420173247775,cz:.1,lx:62.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tuJ1gTPzUhawyfMHxKao6u",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:91.16648164770662},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24046099085550587,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jtBNT6PcfTMUK2qEAoEKzy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31874014769682496,cy:.14731515151841706,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3Kj2UQDiRgd2551SXnotBs",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.033764879795220165,cy:.14731515151841706,cz:.1,lx:44.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"39FZrG2AvYzTH8N4iEhi3W",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:64.86845809548358},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24041303240147344,cy:.14731515151841706,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"oK7nq2Fur7VVa6ALjsnPy9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3169744670961393,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fnB5YFmLgA7bBpseBoJH8k",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.036255002624718397,cy:.16144610130435627,cz:.1,lx:31.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dZPmGJSNE99kF5mskFBu8m",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:45.58324082385331},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.240365073947441,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xdu2VhAyxp7GHG6GkN2Rak",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3148974522014887,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"g7Pg4uWoBiYjTsLY8RraRJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24100628905692523,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hDztK9BKaGUf2AywiKnX14",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31399347805252253,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qRpgEphc3gwtfun3kDAQ8w",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402168091310728,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"vc7S9aQUn3Nxbw9os9915M",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31380714233058726,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kRsxFHjzWbANb66JdKxPEn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23925985477458384,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"p7ZRVtya7nPesW49gxfWje",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.313620806608652,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mwBcFhJw4XwTYpgx3t8Kq4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.238302900418095,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6LEGw3yDjniXRNLBc3hQEt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31343447088671683,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wQatxUrP1g2jmJrfUibX2C",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23916510110353983,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6yT9UzJjZp1c4agfQAh2Za",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3127806949383655,cy:.24623180001999195,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sWWpxqpZqAXKAZerDK9Cn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402069428031286,cy:.24623180001999195,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"teapWmNzVUv7LoUgjnLHJu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3132410802017558,cy:.26036274980593127,cz:.1,lx:105.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"aGUWAZyZhfeCxcewvQ7kQ9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:154.281738173042},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2385564165948445,cy:.26036274980593127,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"pKCiy2oM8YqTjYeCwFccee",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3137014654651461,cy:.2744936995918705,cz:.1,lx:102,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mtSGfTvotfJZuE5rKNWHKD",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:149.02213346259734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2369058903865603,cy:.2744936995918705,cz:.1,lx:103.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"25YjZ6eNgXEZMpGdn5MeCJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:150.77533503274557},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3141618507285363,cy:.2886246493778098,cz:.1,lx:97.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3QmRQECQLpN1r5BFbEnPZu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:142.0093271820046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23694469336187218,cy:.2886246493778098,cz:.1,lx:98.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"7fQN2CLRbYff7Kgk1L8AFk",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:143.76252875215275},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3125435243418768,cy:.3027555991637491,cz:.1,lx:91.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sok3ZhMGD367xZKYFitkd",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:133.24331933126356},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23823213095114654,cy:.3027555991637491,cz:.1,lx:93.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"knqe8wxaNzdbbkkGeV6nft",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:136.74972247155998},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3116195455554211,cy:.3168865489496883,cz:.1,lx:85.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"sJtpFF4zqnp47K3f8FHJoz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:124.4773114805225},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23857920295070112,cy:.3168865489496883,cz:.1,lx:87.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eenbnKZSxHXg341eYvv6YL",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:127.98371462081894},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31069556676896537,cy:.33101749873562764,cz:.1,lx:78,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rnrxkB2JpncBeLWxT29QJC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:113.9581020596333},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23516481259137628,cy:.33101749873562764,cz:.1,lx:79.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cZtPSF2YivPA1jCjxoWje1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:115.7113036297815},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31044025346401344,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rJSTWke3wchC8uFSfcSzQ1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23449459815656987,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6Hp4zwmET4Ch6ZFmL8mGpC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3091556662900659,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fJ8958fxoKHVFgspEjynzP",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2358526876659724,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1CoiFcccuM9VRQ7ukyN4aa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31159009373160274,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jzJ71uWBpujykTfLckxzbh",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23483923162347198,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qYWcALWx8U3KNV1wk9Ec8j",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535}],lrn={showWeatherPanel:!1,weatherPanelY:0,showDesignInfoPanel:!0,yearlyLightSensorPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,showInfoPanel:!0,panCenter2D:[39.10459750703379,-60.079467366675814,-6008213787399433e-20],shadowEnabled:!0,stickyNotePanelY:0,theme:"Default",autoRotate:!1,cameraPosition2D:[39.10459750703379,-60.079617373283014,150],showYearlyPvYieldPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-6,showGroundPanel:!1,dailyLightSensorPanelX:0,cameraZoom:4.904200711979575,showDailyPvYieldPanel:!1,cameraPosition:[94.96625797546166,-156.07916973403763,226.41931192253614],weatherPanelX:0,showInstructionPanel:!0,groundPanelY:0,mapTilt:0,groundColor:"#16a5a5",panCenter:[21.38313493992602,-35.00376702263927,0],showMapPanel:!1,enableRotate:!0,heliodon:!1,groundImage:!0,dailyLightSensorPanelY:0,mapZoom:17,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,groundPanelX:0,heliodonPanelY:9,mapType:"hybrid",mapWeatherStations:!1,axes:!0,orthographic:!1,stickyNotePanelX:0,showHeliodonPanel:!1,yearlyLightSensorPanelX:0,solarPanelShininess:0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showEconomicsPanel:!1},srn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},crn=1,urn={rowAxis:"Left-Right",tiltAngle:.5235987755982988,poleHeight:2,poleSpacing:3,orientation:"Landscape",rowsPerRack:4,interRowSpacing:4,pvModelName:"FS-495"},drn={orientation:"Landscape",maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,minimumRowsPerRack:1,rowAxis:"Left-Right",poleHeight:1,poleSpacing:5,maximumInterRowSpacing:10},frn={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,crossoverRate:.5,convergenceThreshold:.01,maximumGenerations:5,searchMethod:1,populationSize:20,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle"},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,inertia:.8,convergenceThreshold:.01,swarmSize:20,searchMethod:1,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,vmax:.01,maximumSteps:5}},hrn={operationalCostPerUnit:.15,projectLifeSpan:25,electricitySellingPrice:.4},prn=[],grn={docid:Zin,time:ern,timestamp:trn,userid:nrn,owner:orn,email:irn,world:rrn,elements:arn,view:lrn,graphState:srn,evolutionMethod:crn,solarPanelArrayLayoutParams:urn,solarPanelArrayLayoutConstraints:drn,evolutionaryAlgorithmState:frn,economicsParams:hrn,notes:prn},mrn="j9Q8R8iNXqFBaujVRfHNC2",yrn="05/18/2022 02:05 pm",Arn=1652897143355,wrn="QWecNcxhyvP6j6sBN11hBsfZDau1",vrn=null,xrn=null,brn={latitude:35.81284404374666,pvGridCellSize:.5,timesPerHour:4,longitude:-78.7501240418377,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"2401 Trenton Rd, Raleigh, NC 27607, USA",date:"4/15/2022 10:15:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},Srn=[{cy:.10173433320329936,normal:[0,0,1],lz:.1,ly:51.9907667035674,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.005905293451752419,cz:.05,rotation:[0,0,0],lx:75.61279135922823,selected:!1,parentId:"Ground",locked:!0},{poleRadius:.05,type:"Solar Panel",lx:1.984,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:21.648,normal:[0,0,1],poleSpacing:3,cx:.08211037572567748,trackerType:"HSAT",cy:.2234368441602269,label:"Row3",cz:.5000000074506161,orientation:"Portrait",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:0,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.16248436170569222,cy:.2234368441602269,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLn1japfJEgTKBPWbNzur1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.23879905546449415,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrAXVLJvJZKmHgq57E2MQB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.31836118300026617,cy:.2233645095937837,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRW2bpMcmbgt4enWCcDP51",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39629959364755313,cy:.22343686243351435,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJsi7hiees32d12b6mBMhW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.47586172118332537,cy:.22461757079785805,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KhMg2uodxoo1Z4XL87XGA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025482481899054073,cy:.22225611752259564,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"26aZGW371fb7o1PfURQ3zg",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07457830401313895,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUt5FR6ocPi4PpiJnSm7dt",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15495228999315366,cy:.2210754091582519,cz:.5000000074506517,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KjddEKBMzvacaiu1qXZ6p",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23532627597316833,cy:.22107540915833737,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v1S992hiHrrXWRFsDpx8ie",selected:!1,drawSunBeam:!1},{type:"Cuboid",cx:-32.63845852923165,cy:15.792302218810745,cz:1.2553344031996811,lx:5.133059413294499,ly:13.392050108713438,lz:2.5106688063993623,color:"gray",normal:[0,0,1],rotation:[0,0,0],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"1x2m4C7FHzAwDkHxXXdvsn",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-28.54553838833994,cy:11.2385720166683,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.46971942316836673,cy:-.2583893879929419,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5MXRMjMkweGaqcjbtGi5WU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3904301692588086,cy:-.2623054559086292,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9xkDVHA2779LgaH8YdZCmx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3131409153492504,cy:-.26022152382431646,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN37zmeNfQecDk9remsomw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23385166143969227,cy:-.26413759174000373,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Pif4TuZ9DpVbtnBEVtva",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15456240753013412,cy:-.260053659655691,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g39HnTg7UwuA8CBPjuTqTF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07527315362057596,cy:-.25996972757137826,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oFMzredZvfguD3UXAtxX6K",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004016100288982194,cy:-.25988579548706553,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ABmv4sfkBHxsAyYodagum",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.08330535419854035,cy:-.2618018634027528,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k577u5kHuxBEHJLmRQtnAz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1625946081080985,cy:-.26371793131844007,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w4he3pd3YzeFnd3X45S2gw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.24188386201765666,cy:-.26163399923412733,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pyLs3bLikRTcZrrF7e1TcH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3167669019313885,cy:-.25817391579286053,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6wAigPY54YvU4hpiRBKYf4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39751068943275564,cy:-.26121089229567773,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iTsCanVgttoMHWKMPD8d5z",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4775584098004903,cy:-.2553834493088245,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o5ef4DVoUQeG4ovcxCKPpK",selected:!1}],Trn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[31.151690262644525,60.08959522074622,31.574651861408782],panCenter:[5.074127461000436,15.829331204955876,0],orthographic:!1,enableRotate:!0,cameraZoom:19,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.577303319163851,-9.663080657094188,49.999990336648274],panCenter2D:[8.577303319163851,-9.663030654871722,-9663320744681337e-21],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},Prn=1,Crn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Rrn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Hrn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Mrn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Irn=[],zrn={docid:mrn,time:yrn,timestamp:Arn,userid:wrn,owner:vrn,email:xrn,world:brn,elements:Srn,view:Trn,evolutionMethod:Prn,solarPanelArrayLayoutParams:Crn,solarPanelArrayLayoutConstraints:Rrn,evolutionaryAlgorithmState:Hrn,economicsParams:Mrn,notes:Irn},Drn="axSGqNWcpePCTLspRawDR9",Ern="05/18/2022 12:07 pm",krn=1652890029091,Frn="QWecNcxhyvP6j6sBN11hBsfZDau1",Lrn=null,Wrn=null,Nrn={latitude:34.661401193155264,pvGridCellSize:.5,timesPerHour:4,longitude:-118.08438229389954,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"3782 E Ave L, Lancaster, CA 93535, USA",date:"3/30/2022 11:30:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},Urn=[{cy:.07254451818739938,normal:[0,0,1],lz:.1,ly:81.92819197480188,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.08412023344924435,cz:.05,rotation:[0,0,0],lx:82.66288858793011,selected:!1,parentId:"Ground",textureType:"No Foundation Texture",locked:!0},{type:"Human",name:"Jack",cx:49.29766862442634,cy:-12.729504090108108,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.45},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"AADAT",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1.2,poleRadius:.05,poleSpacing:3,cx:.2518807579243098,cy:.010250386487824486,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5786gicyfJksUGkwhvexAb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25427388005268026,cy:-.04395224581399519,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k9w88akkXvyeym1nEoJCjH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2566670021810507,cy:-.09815487811581487,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i4BrqTV8VhJzUFMcA4xEMs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2530944088658749,cy:-.1536069244602506,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vcRG9TH79RxwCJhnX4D2hp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25192019869553334,cy:-.21079873518169914,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtH2MUzGv2KfYvP1V1Rm6A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19991063417063695,cy:-.18536196640558186,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wv9ywiGPQRmqsVCgAzNiwq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19064139133153096,cy:.15891530324997943,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ucdEe1iLcEHHhf7vQqUUBk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10269156717338637,cy:-.12788362495230762,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRH83oBMSFMwbXKKj29Qwe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10314333812802398,cy:-.013487174391434594,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eQKzkcGn74q7YicXK2W4tT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15886708542833353,cy:.12620926239733848,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDRJL26Ytf5c8uDCiZ3aXx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15339180094769295,cy:.06763384458981574,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5VPk2zFGHCYnEvmb4Swkfx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1533504351516886,cy:.011186366145812043,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWLpnzd5GQucX4FdT7Xfxt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1555155212376684,cy:.24112965852461848,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fafEASeWSKzVyfD9jxhX3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1589318952851763,cy:.18059187676792832,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8oEiCQAuNSHPSDiR6LUNbE",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25484854246591865,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hS7hPBhsXEFxoPaaW27Bei",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058180152618152965,cy:.12709108304539296,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eBcpt1Wt3T5EkddP5aWE5r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09325025604322237,cy:.0983124515002669,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rVyrwEiwe9ZPbBS99cPzQZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14277629723213114,cy:.015285529455875321,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sFJojw9tEoGQyahPFbrMGm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04294631891940937,cy:.06901057210886578,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekjGZoifbx54ZxvxR9nd4Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2920444708915642,cy:.04225008319918739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BDM99QnBLCJL4C6i8MSSs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2886934107606972,cy:.09972897002350474,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gEHyNnwSt5QbZ5cmLo61av",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05646578271859648,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5wJr6yXENMUDnfPe9dKk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041385173102717936,cy:.12610163574289743,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXjk7hou8dch4h29ZdrRwv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1923023384210398,cy:.10145193857791704,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hyHFcJjhpxKcY4WiqVxvnY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1895020308870361,cy:.043602527595053696,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYZ6sBUNi7ENt9JGidVuq8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0896200750136689,cy:.15848596846951796,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bnwN7888LrQM7dC3CaukC4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25776231965010593,cy:.12762742673544877,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMTxMasD2j1rCN41KmcoKf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2045542377026502,cy:.09879647040569517,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jK4TDxAWQQmZt76MiUgYBj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0915388849864329,cy:.04212814396977042,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4AZoM6mfHgnqyYfm1FKGHz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1422836298066917,cy:.07046201484554855,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2LodiR2ATEwXvrSF5QtqFJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0422721424424923,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cQzP6z5hZLemyfnuj3n9Dm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.04312289956203308,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oz6Y5UFdG5kpKdrsZGPPHy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.10028772676757898,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jDhoFMd3Yqniw6HmXCK6PZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10700608746564778,cy:.09929355585965646,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uyqQ937ezx3VdDJUFfzMi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1065134200402084,cy:.04361998501599436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GgRE418BL6BVETxL6mwZ7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05527600779451013,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu2mR289eySb3y2d1ZZWgf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2060322399789683,cy:.044117070469955603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u558xjFbFWRjTHBfoZjc3B",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20553957255352892,cy:-.013047756735590265,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"st7NYqMPZnkacwsV9fNrTW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15578016258414895,cy:-.04436414033515022,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1H39aeiRM4xc1iUZYtAB8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05626134264538889,cy:-.04386705488118897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66Y2RUGQAkcJg6mWe5jRG5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10552808518932955,cy:-.07319509666490383,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8mkhtM6wG9Afn5AsZkJC3p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.21407673957857115,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmpLZMvpnpGmUxvk5iTgP1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ngNMpaj8EwRBxMeWvoeXys",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057634016263961675,cy:.18418869498027218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giC1j5cUtWifw2JwH5a5bP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007440498907186952,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rs1mymysHmGoDcaan4oDsB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04193017390275545,cy:.18584914190239984,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPnwAA4FcFWHA7FqJJGQae",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.1567913207651648,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6KPu6mNrxywNai4UXzGBJ5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2567623965973961,cy:.18501891844133603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1n372FWqJ9pVPw4eSXYmPV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.21490696303963497,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gi6tkDKs6NtgCMAAReWJAR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004971965266689796,cy:-.01340448875292641,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLi7ggTT3PqwKQBJVjuniN",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14231720861630498,cy:.12856372308899353,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXLnMRMrRjtjArqFQVcTD3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24023570968935748,cy:.06961785735345952,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9g2NFucTWZE9VvPJ1U9fnX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24270424332985463,cy:.12607305270580196,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e6vsB5ZrLgyMEs8nt19DUv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09459222490002743,cy:-.012574265291862577,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hQr9Fef5Fh7zxEbLkL1VMo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04357586299642019,cy:-.04329253335122541,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJiHeWQvfcH93LJDacJ5U2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006617654360354536,cy:-.06985968410526895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"av2DnyKiv87Tdt3JFpxyHB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2057460346937889,cy:-.07068990756633277,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tzhyrWaP1ZqrN4rpJQBLcB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15390682824334934,cy:-.1005779521646317,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nRRF2j6QrScDDkbrs6m4a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20327750105329176,cy:-.1296357733018668,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7y7rBQL5vGHMt8ZANGKmdr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15472967279018185,cy:-.15703314751697414,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cN1AzorJdqMR2VPo9KVZma",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.055165482623464525,cy:-.10306862254782327,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dfu9LFXVjUWPvnPcDkjy6R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1390685759174889,cy:.1852541725070993,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rxx1fqNmXiDTg1ZhJ1QnGn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09067926762777045,cy:.21416267146874132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SRi5DvvrpV4dNgiTvJ9Je",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00800945322626064,cy:.21480508255677777,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"266hnZ1rnYA5XLvbZ8txcr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04147760940199774,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7vBjqcNWEe5WcN3ZPbNV6e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058580287492818954,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"syucoPsRr3v2eHQaYYfqug",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007769636725919854,cy:.27113384694018494,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kWziiofHHGucoQrSYimggR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057016882853837374,cy:.2987387770205583,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"idtAosKbm3W95AtcEbYCdb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10782753362073655,cy:.2695564223641636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6xoYbDnXopc3sxqZhRMx2C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10860279827645342,cy:.32854167949809765,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bpjusQDMhzuD6wY6N7LYpe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1592693110228126,cy:.35588539966209315,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tX9ZhVSGraSP2oyuKxZRks",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n7JZKTvm9Z74h9Q2sTZDE3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.272665381771672,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"edXx1WDDhJHy3n7mzY55eB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20522265979276647,cy:.3297305368965322,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpFtUM9gLUrhBCuhPrUxch",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20757924178096934,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pezhDsUoQ6nUspAa69MKkr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oM9xei2CxtE8z6PBbtfg9f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.3546965422636585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boLotmiivinNNHWUkJNPK1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gy1y7cW6cjooGgNpDRcVqF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.2405662320139381,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xnSPHfaBhXAD7ssnz5CFcM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"khKhaS8ssRAseSkBgDXTD4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.012305611514497291,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Z7xaYhMGZDK551XajN4xD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.012660393852629088,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w29qA4SyEe8XYJFPW7NZFY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.04238182881349372,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xtibwmyRkGDZD1aXvyKhQs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09170667072078098,cy:-.07210326377435848,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1PogYHu7FjwwFaSG7CbAN4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:-.10063584133678857,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iPqMK3ttEsCxnPof1ShTJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.12441298930548035,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9GmoNmHrHgvD95Qd2V3rCJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.056757994535992624,cy:-.1588898538600834,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kuKrRiiiHZzLJDtmorgeuP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.18623357402407878,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dNLLoyzyJAC4ab9yNV49YW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2K3F8F31VVhyhEKnxs3Erf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.24092101435206986,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fDAsp6SESYssbfVnpQgG3D",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.2718313067113691,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2zKUQEiEH6NvsSMtHEjR6F",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3030208123031809,cy:-.1850447166256443,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w9y4ucdHTVjss2inC3NCUr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.23950929397792342,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbco6Y3hA3xGnGqyMDpR5N",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.3006836542668394,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3ULG8zNaZ7DoT4B28Qot6U",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.1276476065924771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3AUeCn3oqRmECRW8VZWFNk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30218309151864386,cy:-.07084284346705509,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aQpjCoWjLCxvJeQv5oUMVb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.01403808034163304,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vBbWMduvCeR6vTDiguHAbY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.04364060221648771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"okZoQ3ysJTWRd5qkZTjBii",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.0986975264765121,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vb4fTp2UdSaTbvLvi9dHuG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.15725012846733166,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8wtcFzrh2coJE8Az2epH5T",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.21405489159275365,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cV7ZMqR486KK5uKiKyHsbD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.26911181585277805,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6NYbyBHAQVquv8YKDCR6oa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30629425197116866,cy:.3273569087969701,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snK592eqLd3gtZUGisH7Bi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3052840147301011,cy:.3874954089039585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k347z912Q33SPm4HjDf6Ts",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30526315555234357,cy:.4432203131739659,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbe5VKYd1udpQPzu38HQ7E",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.324141032242491,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swtWVRnxgYawbA874SNx1j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2994859393208767,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5S3HYU2UW8isQw3SzAvJM6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JQUVSMiMnHRjQS21Wnniz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2KniKkjJuWzm1bjpPzKSFN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.2111995793912052,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwTA44T8asPKftHuSv9Kxj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.35133074306133744,cy:-.15294556686791044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t3E52wZbbHnADbh2UbMakk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.09825812653991937,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"va5gGZiucR3BZro2UmUfwP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.04000411401662455,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bH3pA8zNDVqLrfvegAx9xh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juS4o8FwY72f2ZGpUyJTFT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWzf3i5nYWUXB7AZpupMGw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.12643592176421772,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w3LD5JnAsnpX4oBsSFDj3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aYmwXUwtmrJa7BKf4smZKd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsDudJG9V3zUGU3c9JEDW1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3536873250495403,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"93uFEA1egTtZQgpK4YcPrJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.35707425706052764,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u3Q4mYsqDTVks8sDVy3DEP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.4153282695838226,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6riq3e9uC7h5gp6Zomw7hq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.015038108649498227,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rPCnFh8P3Fbb8rP7NJpXsJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jzhnP1nX9SurbY1UtSQfGN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.0697255489774893,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pY9hiMs2za6x5s29sH6TC2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7QH8sk9RVXWAVfxVKeVt7q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sGHLds88BbZkPQYtZDaLUx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.1588898538600833,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"99eVg8SaLEcFCJMaPWXD8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.18504471662564428,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"71eWvY68edyj2BgXY8WQ4o",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05440141254779,cy:-.21357729418807442,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7cCL63qwoUHSbtu2cHebcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.24329872914893902,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qibcJYeM1UJiSYmvPBWTJW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15219956505820442,cy:-.27183130671136924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"94NK21a9LTKKEhFcnnw4vS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20286607780456356,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ctBifLhmGgP5j5rfZjUDLe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6eG7N9xmRDsFuyZqn8egmG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fmhVUSuHzAWRC1bU9xS2gN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.41176169738851875,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sakLKAcwmQ8kEENPFgVJs7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10978108927055467,cy:.3832291198260886,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3rzPNvgYH4pwdLcevFMKV3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1iMnenTQz4wtpVYNe7J99s",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:.32854167949809754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6xmo5Pn4wef9kZe2C6xqZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.2964425297403637,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1Hb1yh1DVHfQP14FUSJEpj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fWLDpBHepwmvJCiLxMU4RS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cWx48TmtxbDy2rScmVSy7R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.21678908404524636,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bFFj7b63cxrmzb377KjU2M",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mAx1Vzsd2drZJEgWexVM84",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.15734621412351696,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"46a2ja51RhKgBss3KCVLnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.12762477916265227,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tUaAfUGCxujqu9Y3vxe3yK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3909925832225313,cy:.09909220160022218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7a2AMmJ4fbqLMH45H2iCNA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kkUqgHLFPwyrfMCV6mKfD5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.04321590387379655,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gAiz2xxrUp1UfsRWXcBSLS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMdBxe5wEMLJ9PEggVeAu9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.03868357598621893,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxnEnb3NzQY8Ge8Jm8SA7f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.011982936760140374,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sybUdESzHSnVaXwGfuQ7wf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aPHnrEqwvsnVWtCHhtBxTy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10742450728235205,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wxemx2DoJf46iBNpWXybjK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08935008873257824,cy:.32973053689653214,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTFnxGqojRvyWxfgRvtskF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mzpfv3SH2Wnh3egtjjBKvT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.27028766697480283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncPJvuiPcTCVtFi2He6gAs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6uuRE7GHEcAEe4K7GVHngk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wHfsLSo1vVCiKJ3F2NUC8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ebXYmm7boDVkw8327EMtzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.1549684993266478,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rsxKthqzEDpLfcWrcWU6dN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:.12524706436578312,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pryGHMWa1mhgMofvvUeLdo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FLYvn8ndZAh8K2QPPyYxf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8jMxMQHGxEvruq2J4uUU2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.044759543610362974,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dVQN7Pi8ydDNrsoiF2hfZe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qAgJ475UJeJY7FPcGEdpNY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.39217087421663255,cy:-.0721032637743584,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpAxQujNQAySa9aSeZdEoX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYHHa97S8RXp19NoqTvPJr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6SeEC7fQCdKXPjZxSsdZm8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.127979561500784,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aRFAARutT3NYzQH7JngjR9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.15770099646164876,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pgXWnPt5iKo75wpgk8bAas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08817179773847693,cy:-.18623357402407884,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vfvvk63mRwsRQ13tLkM2Wu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4VAyz7v3pJ4ecCEvKkELct",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0049131907955319975,cy:-.23973215695363526,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rXXDtaCQ441CBebznnvwVP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05204483055958712,cy:-.26826473451606536,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GbJtcsWZn3sFCVai2uXdu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkJiqSfGcrwkF7R5W6oWrR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.32770760443779473,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mjVgFDC3MuuSbrQiLz8beg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20050949581636093,cy:-.35386246720335574,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eZQnyiKuHTgpriho1XTkFq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.3871504743595241,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nnhD5KcBckk4FAXqgrJz1m",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30184252130907957,cy:-.4121164797266506,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vddHcoVWtVSFne7zHaZDoV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041040157974421676,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nthJ9ZXFLF4YVLkK6FJg3G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.38560683462295775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pHpx6NN38VbLKsAdjvQq5X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tReNdr6BMknW3pKaaKgT2r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:.3321082516934013,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pky3qKmcQv6goYMFfPrQyu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9Gh4oxs7xr6bu526hDNvv2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fxzu2mix8VrfcwwGyVpWmZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.24175508941237273,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e8sL54r9712juxaxDn8oSw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kNyq87ppcAxC6iAJLfFYPn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3uTywdm7RShuhnZCn9reC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.4426719897478181,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pJncozy6Rz8EfewNTzBV9a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvMUbsrcSiSjwP7Y5tU1LL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18832653223709409,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1G8NT1Zoz87anyKBPQsHLd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i9YQqnCZv92BFJFHn7cCiB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3261639647012283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s3UMZ6yA8AhemDugYV8vL9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.29882024453723294,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iE5KVmshBFmCedVRvmAraQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSoRZ2ohopc3Uk2eEhsaXz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.23937737461550349,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRnf3HbPJnHGQc3C1tHrm4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.3000091019356675,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5GNzWP1xJUZHh9KT6YRFV6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gYVeyGSA6dumwRgt46oGj8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3SLWKQyMH3qNnSL8cb6Mxe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3856068346229578,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o1MFq3LbkcxftPFeSVY2YQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:.4177059843806916,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1x2T8djMTuLWynXEnNgMbT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.44267198974781796,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccqgw8SRNmHVUFFbXRyYT9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.4450497045446872,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m1JXedMn92Urk8nE9oPJHC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.4141394121853879,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o67PeKaAkvwQrD7JVLdGYg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3862794192461258,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bkfCZxyk73k4a4vrgwaj4L",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.35469654226365854,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vrgCite9XpUW1Cq3PuWhba",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.4188948417791262,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRNc4mNhvgSvQLUkp5faWt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5xRxzmnaiMp3ypfUVQBWr3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.010804645766038935,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CzxLZbvH5PomobdfeXNZp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.44029427495094886,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9h3yDXtr329orX1FLE5i63",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4031755468017982,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7nTZRLPEdEtBjmsWCnB26y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.4165171269822571,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abEAsj1hGeo63K5YHetkKr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4055321287900009,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsqeY3fPZZkvqziKNEVVas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.3582631144589623,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dCHY6fHL88UK5U5JeNTwME",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.4723934247086827,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8a2tR8FURhfjJTiYpNfCzv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.10063584133678853,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3TNP5AjyGeTgzNXWzYVznQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38510112825202436,cy:-.12560184670391483,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"saWHMFZynA21qy5pjZ1rg3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3367911974938678,cy:-.09825812653991942,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vYyqsMkXopji3o4ewZDzXj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.15770099646164878,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bDcv52Ek3SJZueMz72m1rB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.18266700182877516,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pg6C9LvjyDQAKpVjTFWKhm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3426826524643748,cy:-.15413442426634502,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7xxy5WMi2eRmAFJQd4PEpL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:-.13035727629765329,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bKrn5V4VqTw7TEK7QKYeA1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s6CxUXipAWMWAd8W2jdPk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7pEWxcY19Ng2hczQx4C5sh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.21238843678963976,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqhBmqo9RCaSK9b3hCeo3X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.18385585922720973,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbbJ9oZ8jEaCweY8WgVHtK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.15532328166477963,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5DwWFBTuxqVLf5FzhT7Udm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18950482323119552,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n5ksBwaEKwnY1T4um6u5YV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.21595500898494352,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oRnvwa7g1CtYiocfQSv6ZH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09288496171488242,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"szeJxCXxaL2e3RjfwM8x47",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hFu14KzwBM87w56f6Cwr48",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sQMsnkxn9T5AgrjfJHH51n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05557970354189131,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7GDJiXyhG6C4hNkW9Y5KQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10624621628825073,cy:-.3562401820002249,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kRdHgfFG6booP82zfM58L5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:-.3835839021642204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bnXwcCDLMuTi7NBVNs9wq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2cSu4Me9dQhmQX73fnfjcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"epJz3sQxCaTSmtVk8L41pY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5wXENdced4NnZ2UpBvdUR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2dN8txQPwqUuXJ6MvLow8v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCzYNDZyfJEdri5oFDAX1A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29201613971801543,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xw95hcJakBfeUDzB5drZTb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aFDGFAZUmGKJWfMUn4u8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYpaiw5NjZeqmt9x2asvgE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.2742090215082384,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bSFykzxR6KFC6U5RmABfAo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"td3wNUExEJkcF3U68VMTCS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04457503095672587,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gqiho9LGuhUyb3Qus7okQR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2931944307121169,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kqCmYed2jAt9y67YpwCDE9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dgxBqcP8E136o93HKbnb5Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d8xVLuSbdR3ZcdTaGVf3kE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.3574290393986594,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mE2ubFBooCHdCnyZX6Q2fn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNH5NZ3ioMN6XFUt4UpHjp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ov1As6JoGWeAANi2w4bAzb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.413305337125085,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9AGm3XGuztXYa4ZvvUC2qU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.44283738696299196,cy:-.4454044868828189,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"whp3eTFpZtyHh6MmQTeqsP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2tivptcQ7UJFtBc3QNMdjZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.3538624672033556,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BKcu35Qa4TPVNvr9QNtYS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s8GdNU4Xh5bDiYNyPpM5c2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"geLZV2TE4SAkBTxY2H7z9C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cR5NttdPtQtKZ2QuGZ4cGY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.3586178967970941,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kb64JmF4g2VHNUXt8PGp8P",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ohyVoqyh1fSJAZvoWLa7xg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.3883393317579587,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mam3m1MFMR6QYaVhMhUf61",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9otfxK8a8saUXNrV48ac1S",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3450392344525775,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FE8UkdGNZdxozENEdAKLF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1itKaxAe6PPjB36Ct9WPbt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mEwqoN1Hgzq1sZEWWYtYiS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mvPqyD2QhB4pgXGsya35Az",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.3859616169610895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"icedHX9AjRRV6K9qLRi8h8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ixMrfpnNCx2pzdbjNDcETK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04693161294492862,cy:-.38239504476578573,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJa1KgR4efS7rdWz3c5ws6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"niDVT6JMXYiQ1MfkaVXBh2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9WTjUWsouqRDt3WAX9og5p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gJWF9BbGWqJ5RiBTFKBvEy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8vSWbpHRJezXwxg2bzLK15",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.001378317813227938,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"89LTrNQMYLBWkUr8q3zs78",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025566088073292518,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mG1153YuBpGiUTcG3cLKhu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.053223121553688676,cy:-.38715047435952415,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nzaobVxpQX5ZDLxNtod1tq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.41092762232821595,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prucxap8in3eRt1hXbqSZc",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.050866539565485806,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6dCXRccq7VrMuTGUAMf1h",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1CeJhTWdV6HVNMGZiebhVN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10271134330594656,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iuVig88Eryb498jb2o9hv6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDU7v3xRa7tyafHMTVQfHP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19815291382815808,cy:-.4703704922499454,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"igDxZaX9vHP2AWnmuk7rbE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30302081230318084,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hpSEihRmM4bWqGtADkL3iV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k6hVcQ4HsjPmK2AMBXFwSG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQWMSf63o2UZvbixbJ7x3a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iHs7hh1fgkTvcFjQGp6vdU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ikwnSMkfVme9m36c4fdgzZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BVEG2ZatFh5rurg1BfDQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5TTwQeht2y67yFHpDwk7SG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qt4yLExJpLTBowT6VPA2t7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14472976545534302,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wtXgsveFPNuvG8yagrGhjX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.4664491377165097,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jCucxgVjuLNfUB5GcZ3GBJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bvUs4vNUy7rjJ8wRozhXzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.2702876669748028,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"21jCj69kYjWbi43ijo148n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.21084479705307344,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"autBoAyzdvNAZVDtBQh6h3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.1537796419282132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"opKFYN72H4nWcaRQ2QPip7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:.10028105899865679,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66RKD94s3WovZtoVdR4EhK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.04083818907692739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t1o1k82fPneidh8LG91KZ3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40199725580769696,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8YoP7VA8Cq7aoqvmhWueh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6BxohUXx7jMxtc9jXais2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40081896481359536,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"akDuRhxwpxoj2z33rJUgJh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hzYm1dhZ9LLt7sqemmYCDs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2409210143520699,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ocH8rQddgtgbqC8pcEacuE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uF9F47Z6PqiJhWoStgn2uS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.3574290393986595,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"92fYhQy7HvXbtXrCyTCqTH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.4097387649297813,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kUJd8a2SHxduSfAvQGLQfS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.4703704922499452,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XaXTUvPm9yFtUaW2Ye2sL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.30119795933410204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cg7BBRL4WcDqB8yp1B7o8a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pAcNoDp7ir4EWPT9j9kq1e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.1870676490843817,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8nXK8m2dvdiFfCKeR9nLWj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.12762477916265233,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eP1EoT59gCuUXxYM4EXHzS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1gjtQCskcuhbhwoNpKGBt7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jimkC6zfk4aDVcsqbirSS1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.44677231358354924,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvgZbtsp1caVNW8tZNWHgJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.09706926914148485,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uAVWMCSJd4PAg19UJ7o6xs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45266376855405616,cy:-.15888985386008334,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncdztpRTU1hDfYCvqpzcT2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4467723135835491,cy:-.21595500898494358,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bRuvkqPWMiR7YmistgDHNL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.26945359191449997,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5qeiecJQD6oAbtikN5hs7G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.3265187470393602,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"acpCXRHPZv9nQZjdjiSrj1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.38358390216422034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c6tcyDJgJPeoowWMPezdUA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3tXdUQvFc2DWP68yZ3S37u",selected:!1}],Brn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-284,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:164,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[54.58775332762295,-93.02576361051297,20.93606976764628],panCenter:[14.588117257653206,-3.3871234541530884,0],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!0,cameraPosition2D:[2.3674379904539022,-.42904140754321896,47.99999957096287],panCenter2D:[2.3674379904539022,-.428993405410401,3192361204877974e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:8,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showMapPanel:!1},jrn=2,Yrn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Orn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},_rn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},Vrn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},Grn=[],Xrn={docid:Drn,time:Ern,timestamp:krn,userid:Frn,owner:Lrn,email:Wrn,world:Nrn,elements:Urn,view:Brn,evolutionMethod:jrn,solarPanelArrayLayoutParams:Yrn,solarPanelArrayLayoutConstraints:Orn,evolutionaryAlgorithmState:_rn,economicsParams:Vrn,notes:Grn},Jrn="9J5vzBxZ8UEKUiQGnyPEwk",Krn="02/03/2023 10:36 am",qrn=1675438564802,$rn="QWecNcxhyvP6j6sBN11hBsfZDau1",Qrn=null,Zrn=null,ean={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"52 Grove St, Lexington, MA 02420, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.473578752859865,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.23642289182585},tan=[{type:"Foundation",cx:.18907611516527822,cy:-1.4953477366662633,cz:.05,lx:142.99409463043497,ly:14.49686547290569,lz:.1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"f1wuYrFxWZKMD6aZyPACDm",locked:!0},{type:"Wall",cx:.1229949609826312,cy:-.09586926546103025,cz:0,lx:141.43921506444258,ly:.3,lz:5,relativeAngle:.013431200616335025,leftPoint:[-70.59023385930746,-1.045689943643172,.1],rightPoint:[70.83622378127272,.853951412721111,.1],leftJoints:[],rightJoints:[],textureType:"Wall Texture #9",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"f1wuYrFxWZKMD6aZyPACDm",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"2yrSxZa8P37K2Wabhhsob6",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,color:"#999999",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.4638388297765159,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"6TnNeQH6erPu8fzCqspsQz",selected:!1,dailyYield:6.733366737790442},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gu6EsH65oiQstx8yYjxsYM",selected:!1,color:"#fff",dailyYield:3.991431891754075},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"94hqXM6tCStbzXuLLtVMBy",selected:!1,color:"#fff",dailyYield:3.989257482553087},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"aS89FFbHtiL5JbmajBYETF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iMsrFuB8C7dYwSkPYpkRyx",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"djV64xj6hwTLYAQB2N8zw1",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"casseicLyjsxNGnJT7DvaK",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"ufBkyVjzMhQN4mEaVXo3EK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rG69gXx8zf5z7bd3jLid7p",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4mhiWnxVt3aSMz3WDvtVwo",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cfXV4fZanitQvrNsdxnjDu",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"afxfcWAVeGHfrBf7ddtQkK",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"taypcJAabEnqBDqf3KAcsA",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"5VSFMaiUtr3ASxPZrLPaqP",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"khqKJ2jxRFmMw5yFH4HvBM",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"45VggV1fJxeJNM36B2hiQt",selected:!1,color:"#fff",drawSunBeam:!0,dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"soXBAY8jJsisj3Xad7rpuD",selected:!1,color:"#fff",dailyYield:3.880541409581155,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sR2RBNakCEySyoLGEeeZb7",selected:!1,color:"#fff",dailyYield:3.8640428284166424,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iwZXtRNQgv7fvMRfiFZxuv",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"wUSzVi6q69sDd7Y3RV7XDc",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"g8656tJazY4VvwetGnGz1R",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1BNASUXS635gRH1Xg45X8c",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jqyPzfhR61a76okfZpf812",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gxBypDUjEGfJT4aJY4HKEm",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tzyoRV5o5Rf6T7A6oU6yFQ",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jGQqULp9xXooyUSarLteE1",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"c5nbEjzq2Budgo4DrHmjRz",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"7DRo8NdVHyNoN6SCtArVVd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rq26S8tSgsT11vC4noGToG",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4ZMNCLswMsFA8KarYUVw1G",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"22DFqVGzrGpriDvT6ouxg7",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vvfCJue14aYCZ2L5rcpewf",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"hhenx4zMnvUHuryKk9FFB8",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tNCMqiL9tn5diapj3smKL9",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"3GsZ7gQePP2KmUhz3ysWpz",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"qBPNAAa4HnjwBJ2TFMVzhv",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"raUT5Fe7Z4gk2QVK2yVSap",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"18BeCBetcY2SnC96NdiyGR",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jJw5xahWNQv9BKodgpDQUR",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1MiLx5fG5sgnXzzKVfatuF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"giGW7icqfR8Ad9ukdMMaHX",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"bYrSiMQSXtGa7p4zv5yDGZ",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vcPTnmFnHZYKsoYKkBcskf",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cAD7dLSqyYRtYyQsTG2mbb",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rTvMYE5Z5kwPgoWKh4kLzb",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"k4ZudXKEZmAmfbUvaCp3Dp",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"8hVfJjo52dDJLo4AfmT3HK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"9g31dfD7wp3rjSRfYLZJ2z",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sxZHfHVk2n5kbhzY3hT2zd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"nA54BbzpGLqh5sWi7osbnq",selected:!1,color:"#fff",dailyYield:4.024242246107118},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vtRkLNQDgqTSNAh2My5c9Y",selected:!1,color:"#fff",dailyYield:4.009918074143593}],nan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-17.282790575888168,5.440474449160031,36906384867201037e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-17.282790575888168,5.440324442496329,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-42.77632157556409,-34.119265652337766,20.000447749982982],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.470670899474179,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-26.714608093209538,-11.412788709722923,.2632378650359435],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:4.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:413,height:68}},oan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ian=1,ran={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},aan={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},lan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},san={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},can=["A proposed solar noise barrier in Lexington, MA"],uan={docid:Jrn,time:Krn,timestamp:qrn,userid:$rn,owner:Qrn,email:Zrn,world:ean,elements:tan,view:nan,graphState:oan,evolutionMethod:ian,solarPanelArrayLayoutParams:ran,solarPanelArrayLayoutConstraints:aan,evolutionaryAlgorithmState:lan,economicsParams:san,notes:can},dan="mETyjNhcSpLHUreuu362jG",fan="02/03/2023 10:33 am",han=1675438394402,pan="QWecNcxhyvP6j6sBN11hBsfZDau1",gan=null,man=null,yan={solarRadiationHeatmapGridCellSize:1,date:"9/22/2022 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"S H St, Bakersfield, CA 93313, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.2397498816683,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-119.02084409607578},Aan=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"121ogbDPhqFdjF1EqsotWr",foundationId:"121ogbDPhqFdjF1EqsotWr",id:"bXdahMaM63p5YKq5iW5dkA",selected:!1},{type:"Foundation",cx:-.355148183178954,cy:-68.66520831611422,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"121ogbDPhqFdjF1EqsotWr",selected:!1,textureType:"Foundation Texture #5"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"e1EQqVFfXevnZt4eaeuVPE",foundationId:"e1EQqVFfXevnZt4eaeuVPE",id:"kGbBKyVArnRt64dJUZUHXo",selected:!1},{type:"Foundation",cx:-6.512082441645507,cy:-68.66019836570281,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e1EQqVFfXevnZt4eaeuVPE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",foundationId:"5AYGqMpb7MY45GfUGrAPx7",id:"pHgsi4FBAPcCENbBFq8nJi",selected:!1},{type:"Foundation",cx:5.789049041421398,cy:-68.36660414055642,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5AYGqMpb7MY45GfUGrAPx7",selected:!1},{type:"Human",name:"Jack",cx:1.2131787149033482,cy:-5.683681388279453,cz:.300000011920929,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",id:"echEghBkfqunhtqJQz95fM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1207079978734572,cy:-.004668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xgFeRbJGihUVnyEf5m22ib",foundationId:"xgFeRbJGihUVnyEf5m22ib",id:"1ZYTz63nWtEEsbRNhgdFaw",selected:!1},{type:"Foundation",cx:5.809815585913138,cy:-54.46106108413,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xgFeRbJGihUVnyEf5m22ib",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nAmb8PRM1R6jeNzPW5C8VV",foundationId:"nAmb8PRM1R6jeNzPW5C8VV",id:"4zJUqXV3Fnf2nuwbpsMiXs",selected:!1},{type:"Foundation",cx:5.7835484198244025,cy:-40.561453025263894,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nAmb8PRM1R6jeNzPW5C8VV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2Jpks6qcta7oxTq8g15yvM",foundationId:"2Jpks6qcta7oxTq8g15yvM",id:"nTqyuFThYbp62RDDvj69Tn",selected:!1},{type:"Foundation",cx:5.765589353420241,cy:-26.70562418723046,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2Jpks6qcta7oxTq8g15yvM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4XXqf2vXZ7ZFawMdYuzXJR",foundationId:"4XXqf2vXZ7ZFawMdYuzXJR",id:"8xX37o12HQw79GgWaPoJra",selected:!1},{type:"Foundation",cx:5.7629992141008515,cy:-12.846184608655223,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4XXqf2vXZ7ZFawMdYuzXJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nhfGp8zoAtBhBtTRQS5X4A",foundationId:"nhfGp8zoAtBhBtTRQS5X4A",id:"xtX3Yeicb1xmckA4hRhAbT",selected:!1},{type:"Foundation",cx:-.3660148444167448,cy:-54.735545319487315,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nhfGp8zoAtBhBtTRQS5X4A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ibdbY4z7waLLai5mudLon8",foundationId:"ibdbY4z7waLLai5mudLon8",id:"uUyvA9DB8ymLg6XLaLfYFQ",selected:!1},{type:"Foundation",cx:-.35970964251660265,cy:-40.85602650039143,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ibdbY4z7waLLai5mudLon8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vXadeokGJ9NmeA6ewhjvBy",foundationId:"vXadeokGJ9NmeA6ewhjvBy",id:"ippQMjL5WuoRmncEHb3ng3",selected:!1},{type:"Foundation",cx:-.35809920705666,cy:-27.00228253941227,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vXadeokGJ9NmeA6ewhjvBy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j9vK8NMr2vp4GiSK1DtxRq",foundationId:"j9vK8NMr2vp4GiSK1DtxRq",id:"ntm7qPuXg8vaHHDMEfMv14",selected:!1},{type:"Foundation",cx:-.35734216826093124,cy:-13.132067218686498,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j9vK8NMr2vp4GiSK1DtxRq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2WSX6m9s99dM4WhZbyuvff",foundationId:"2WSX6m9s99dM4WhZbyuvff",id:"gkBV2ZfxJtfhuZjj7rHAoZ",selected:!1},{type:"Foundation",cx:-.3463719972166439,cy:.7317163979243815,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2WSX6m9s99dM4WhZbyuvff",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"eLNa4YNCioCE3UNDGya3Up",foundationId:"eLNa4YNCioCE3UNDGya3Up",id:"rWFuzCeuZszy77yBB8jveg",selected:!1},{type:"Foundation",cx:-.3586608333447727,cy:14.590396355482044,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eLNa4YNCioCE3UNDGya3Up",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o1CCZc1sDeTQWrwG46TfNN",foundationId:"o1CCZc1sDeTQWrwG46TfNN",id:"qShFLxfnobEyyoPeMTASuG",selected:!1},{type:"Foundation",cx:-.3518720954179425,cy:28.454375484604732,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"o1CCZc1sDeTQWrwG46TfNN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"u1RK5NeNA9j7qFSmCR8hid",foundationId:"u1RK5NeNA9j7qFSmCR8hid",id:"rCYT7zsMynuWwB4Gj2Fsd3",selected:!1},{type:"Foundation",cx:-.35131046912982616,cy:42.32211519647182,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"u1RK5NeNA9j7qFSmCR8hid",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"h9eRaQKsYCgZDNL6TBSdkG",foundationId:"h9eRaQKsYCgZDNL6TBSdkG",id:"iciTKiFoWiSSRXfRV2jKAY",selected:!1},{type:"Foundation",cx:-.35806918169835766,cy:56.17571570619225,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h9eRaQKsYCgZDNL6TBSdkG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdwqBp4tF8xLp9yJkFqCx6",foundationId:"gdwqBp4tF8xLp9yJkFqCx6",id:"88NfQv74cDhjrzSepw9B7g",selected:!1},{type:"Foundation",cx:-.3684777264545248,cy:70.01231995987031,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdwqBp4tF8xLp9yJkFqCx6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"16YsecagZdQFboT8cHk3zY",foundationId:"16YsecagZdQFboT8cHk3zY",id:"uWF3E9dPiegXh2L5b6Vsn8",selected:!1},{type:"Foundation",cx:5.774616554678275,cy:1.0295178181583675,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"16YsecagZdQFboT8cHk3zY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdCn75FBte524E9epTDvqA",foundationId:"gdCn75FBte524E9epTDvqA",id:"tFCws2tPQDLM5HKxxJGgWv",selected:!1},{type:"Foundation",cx:5.773867010320257,cy:14.885614964778393,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdCn75FBte524E9epTDvqA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"qLVXWryBBGmRgAroLqVwdi",foundationId:"qLVXWryBBGmRgAroLqVwdi",id:"ud1b2bEhTi9i92Q8c8D373",selected:!1},{type:"Foundation",cx:5.778389095695882,cy:28.74465191336493,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qLVXWryBBGmRgAroLqVwdi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bVwMiP2aUzVjjeaX792zXn",foundationId:"bVwMiP2aUzVjjeaX792zXn",id:"c9QcDJ4K8yR1ng4dRJ4D4t",selected:!1},{type:"Foundation",cx:5.784822839568983,cy:42.61795388645869,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bVwMiP2aUzVjjeaX792zXn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nW5ArCP1HhxjesUyKCR3at",foundationId:"nW5ArCP1HhxjesUyKCR3at",id:"gxJYgTJqcdLmnzufEv3zS9",selected:!1},{type:"Foundation",cx:5.772865019410357,cy:56.469133301847506,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nW5ArCP1HhxjesUyKCR3at",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ez9S4TjyRrt69CUc8NCPjT",foundationId:"ez9S4TjyRrt69CUc8NCPjT",id:"715S84avByaQTs2A6QaRyi",selected:!1},{type:"Foundation",cx:5.767433266447149,cy:70.31691119865602,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ez9S4TjyRrt69CUc8NCPjT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"k7PuJZ5ck1CDCnF49AEbze",foundationId:"k7PuJZ5ck1CDCnF49AEbze",id:"rBjhWRGRVr5rhJmJ7ZHt5W",selected:!1},{type:"Foundation",cx:-6.527392714190696,cy:-54.732229116611116,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k7PuJZ5ck1CDCnF49AEbze",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rU3754fwdgKoDWv2zoFH3R",foundationId:"rU3754fwdgKoDWv2zoFH3R",id:"1Wbh9tZMmYnYRWgQs2oxcg",selected:!1},{type:"Foundation",cx:-6.534711172615536,cy:-40.8521892213242,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rU3754fwdgKoDWv2zoFH3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rmvt2utUNYmiSjixPNE6cB",foundationId:"rmvt2utUNYmiSjixPNE6cB",id:"hgGCNRfRRjgNRbKehkHZRR",selected:!1},{type:"Foundation",cx:-6.531475518119176,cy:-27.005759344492336,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmvt2utUNYmiSjixPNE6cB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5D8LWb5KSCQa5CzJgeqTzQ",foundationId:"5D8LWb5KSCQa5CzJgeqTzQ",id:"4q6sn5L82weCVDGzpuu2sX",selected:!1},{type:"Foundation",cx:-6.531475518119178,cy:-13.125523095938771,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5D8LWb5KSCQa5CzJgeqTzQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kvv1recmXZdZQMtZey2snR",foundationId:"kvv1recmXZdZQMtZey2snR",id:"iy2Xwp5VW7Kj9siFtt7QWd",selected:!1},{type:"Foundation",cx:-6.508807101463274,cy:.7373815692707449,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kvv1recmXZdZQMtZey2snR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xb3DDtTRb2xE4U4z4K1hXE",foundationId:"xb3DDtTRb2xE4U4z4K1hXE",id:"nMuKPt4koMQGztfZfy8jfD",selected:!1},{type:"Foundation",cx:-6.5258084139552,cy:14.606283609496337,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xb3DDtTRb2xE4U4z4K1hXE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gwy36bVzcps8LsRhJTof4Q",foundationId:"gwy36bVzcps8LsRhJTof4Q",id:"i67r94XMRFM3jCvyxogFNy",selected:!1},{type:"Foundation",cx:-6.511475518119177,cy:28.4721869622139,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwy36bVzcps8LsRhJTof4Q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7zg5mcdSFwxHKAWZT3Ek6v",foundationId:"7zg5mcdSFwxHKAWZT3Ek6v",id:"eRWg2zs6foonE5xuNEVRz9",selected:!1},{type:"Foundation",cx:-6.511051943403113,cy:42.34375751909987,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7zg5mcdSFwxHKAWZT3Ek6v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"suByeHBWYCe52G1Gv4ZeSU",foundationId:"suByeHBWYCe52G1Gv4ZeSU",id:"phLDTcCNd2W2ZnrjoTkBjB",selected:!1},{type:"Foundation",cx:-6.52880710146327,cy:56.18132525099307,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"suByeHBWYCe52G1Gv4ZeSU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jfGqSpqYfY4BpzvBjow99u",foundationId:"jfGqSpqYfY4BpzvBjow99u",id:"shmgnG7kSY3iWfHSTksGd3",selected:!1},{type:"Foundation",cx:-6.53447420562725,cy:70.03322597872673,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jfGqSpqYfY4BpzvBjow99u",selected:!1}],wan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[7.48786322173483,69.21304781831628,6921612429673364e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[7.48786322173483,69.2130278174273,20.000069216086263],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.98566534119282,-94.01207606498471,5.484037741591015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:38.96037486782548,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-22.269354989815284,10.551050181634587,.4104687909980791],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:366,height:67}},van={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},xan=1,ban={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},San={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Tan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Pan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Can=["A proposed solar canal in California"],Ran={docid:dan,time:fan,timestamp:han,userid:pan,owner:gan,email:man,world:yan,elements:Aan,view:wan,graphState:van,evolutionMethod:xan,solarPanelArrayLayoutParams:ban,solarPanelArrayLayoutConstraints:San,evolutionaryAlgorithmState:Tan,economicsParams:Pan,notes:Can},Han="vhboPhKYLs7YFW4GNHvu35",Man="02/02/2023 05:12 pm",Ian=1675375965968,zan="QWecNcxhyvP6j6sBN11hBsfZDau1",Dan=null,Ean=null,kan={timesPerHour:4,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"8/22/2022, 2:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371},Fan=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.03672476718970863,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:-.02675735166375759,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.5707963267948966,cy:-.10449299890247031,cx:-.4024621157154061,poleRadius:.05,showLabel:!0,lx:1.046,label:"VSAT",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"VSAT",drawSunBeam:!0,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.9974383842410144},{ly:1.558,drawSunBeam:!0,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:0,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"HSAT",lx:1.046,label:"HSAT",cz:.5000000074505762,showLabel:!0,cx:.13515302447733513,poleSpacing:3,relativeAzimuth:0,cy:-.10573019166804135,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.073422461213974},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.5235987755982988,normal:[0,0,1],selected:!1,label:"AADAT",lz:.046,drawSunBeam:!0,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:-.09709770433882582,type:"Solar Panel",trackerType:"AADAT",poleRadius:.05,cx:-.13700106436587867,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.215778465205723},{tiltAngle:.5235987755982988,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.11542091451120043,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:.4032836323996918,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"Fixed",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.590603475645371}],Lan={weatherPanelX:0,heliodonPanelY:314,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!0,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1204,theme:"Default",autoRotate:!1,groundColor:"#16a5a5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[12.032136043105444,-19.275007353612423,7.568306918458618],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:41.01092091350052,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997981],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},Wan={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Nan=1,Uan={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ban={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},jan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Yan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Oan=[`Solar trackers +You can also change the day and the location to investigate the dependency of the results on these factors. `],Ynn={docid:Rnn,time:Hnn,timestamp:Mnn,userid:Inn,owner:znn,email:Dnn,world:Enn,elements:knn,view:Fnn,evolutionMethod:Lnn,solarPanelArrayLayoutParams:Wnn,solarPanelArrayLayoutConstraints:Nnn,evolutionaryAlgorithmState:Unn,economicsParams:Bnn,notes:jnn},Onn="9q5sS1hxGDArNFtMUxxGLt",_nn="02/02/2023 12:31 pm",Vnn=1675359088220,Gnn="QWecNcxhyvP6j6sBN11hBsfZDau1",Xnn=null,Jnn=null,Knn={latitude:42.2844063,timesPerHour:20,date:"2/22/2022 9:45:00 AM",longitude:-71.3488548,name:"default",address:"Natick, MA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},orthographic:!1,cameraZoom:28.63945562104857},qnn=[{cy:.9214233571448283,name:"Jaya",type:"Human",cz:.05000000074505806,normal:[0,1,0],cx:-2.0622287048965853,selected:!1,id:"8si9AKQwGf4sYiD91xfFr6",rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",lx:.6,ly:.42,lz:1.55},{rotation:[0,0,0],normal:[0,0,1],lx:8.151162622676603,ly:6.576493454880806,id:"73EHGXQZFsvacbt1n2ck3h",selected:!1,cz:.05,cy:1.1027590009475272,cx:-.9582675975183035,lz:.1,type:"Foundation",parentId:"Ground"},{poleSpacing:2,label:"Solar Panel",showLabel:!1,lx:.99,drawSunBeam:!0,type:"Solar Panel",trackerType:"None",relativeAzimuth:0,lz:.05,normal:[0,0,1],cy:-.16505049820470327,cx:.11464240173253676,cz:.5000000074505806,poleRadius:.05,ly:1.65,poleHeight:0,rotation:[0,0,0],selected:!1,orientation:"Portrait",tiltAngle:0,id:"5QH64n4W7t2nwnWmzmGyMg",parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h",pvModelName:"SPR-X21-335-BLK"},{lz:.01,ly:.1,cx:.1375052960984675,showLabel:!1,id:"vPAwDhHdD9bH57J7RhabCf",cy:.12369628620569162,selected:!1,cz:.5000000074505806,type:"Sensor",normal:[0,0,1],lx:.1,rotation:[0,0,0],parentId:"73EHGXQZFsvacbt1n2ck3h",foundationId:"73EHGXQZFsvacbt1n2ck3h"}],$nn={mapWeatherStations:!1,showGroundPanel:!1,showSiteInfoPanel:!0,mapTilt:0,groundPanelY:0,yearlyLightSensorPanelY:0,axes:!0,showHeliodonPanel:!0,showWeatherPanel:!1,dailyLightSensorPanelY:0,mapType:"roadmap",groundImage:!1,autoRotate:!1,dailyLightSensorPanelX:0,showYearlyLightSensorPanel:!1,weatherPanelY:0,heliodonPanelX:-6,showStickyNotePanel:!0,groundColor:"#68ccca",weatherPanelX:0,heliodonPanelY:9,groundPanelX:0,shadowEnabled:!0,theme:"Default",heliodon:!0,stickyNotePanelY:0,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,mapZoom:16,stickyNotePanelX:0,cameraPosition:[-5.789682038682944,18.727459047471708,4.434763103599393],panCenter:[-1.75129140268729,-.10770909213304464,1.3605382204171563],orthographic:!1,enableRotate:!0,cameraZoom:24.55475326309651,showInstructionPanel:!1,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999799],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:473,height:61}},Qnn=1,Znn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},eon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ton={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},non={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},oon=["Test if the sun beam aligns with the heliodon correctly"],ion={docid:Onn,time:_nn,timestamp:Vnn,userid:Gnn,owner:Xnn,email:Jnn,world:Knn,elements:qnn,view:$nn,evolutionMethod:Qnn,solarPanelArrayLayoutParams:Znn,solarPanelArrayLayoutConstraints:eon,evolutionaryAlgorithmState:ton,economicsParams:non,notes:oon},ron="a23ZVUe81EjtB3oPinKZm4",aon="02/02/2023 12:19 pm",lon=1675358372271,son="QWecNcxhyvP6j6sBN11hBsfZDau1",con=null,uon=null,don={latitude:42.2775281,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3468091,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA, USA",date:"6/15/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},fon=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#999999"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!0,label:"Monocrystalline",cy:-.27899190547936026,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.008285803864999835,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!1,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.984,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Polycrystalline",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.712,selected:!1,orientation:"Landscape",cx:.0011144506933526612,relativeAzimuth:0,cy:.010234323153061437,poleHeight:1,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{poleRadius:.05,type:"Solar Panel",lx:18.081,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:2.464,normal:[0,0,1],poleSpacing:3,cx:.003982991962011493,trackerType:"None",cy:.32738584282585487,label:"Thin Film",cz:.5000000074506161,orientation:"Landscape",showLabel:!0,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"FS-6430"},{type:"Human",name:"Justin",cx:-.6422253837185492,cy:-6.097930974223568,cz:.05000000074505806,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42}],hon={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Forest",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[6.231682260523529,-11.839635427091224,3.4189848625017474],panCenter:[1.5940644020050898,-.07013351095627554,.6762754823912617],orthographic:!1,enableRotate:!0,cameraZoom:37.01235612443422,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.1982070075600382,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:175,mapPanelY:53,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65}},pon=1,gon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},mon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},yon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Aon={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},won=["Solar panel types"],von={docid:ron,time:aon,timestamp:lon,userid:son,owner:con,email:uon,world:don,elements:fon,view:hon,evolutionMethod:pon,solarPanelArrayLayoutParams:gon,solarPanelArrayLayoutConstraints:mon,evolutionaryAlgorithmState:yon,economicsParams:Aon,notes:won},xon="wFMNzt7sPEDjKGAPcESDBP",bon="08/30/2023 08:36 am",Son=1693399003790,Ton="QWecNcxhyvP6j6sBN11hBsfZDau1",Pon=null,Con=null,Ron={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US"},Hon=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#16a5a5",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"E-W",tiltAngle:1.5707963267948966,poleSpacing:2.1,rotation:[0,0,0],lx:10.48,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:-1.5707963267948966,cy:-.0004001413797904696,poleHeight:2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-420MB-AG",dailyYield:27.769005901292118},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-420MB-AG",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:10.48,ly:2.132,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2,poleSpacing:2.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:17.55726336493663,label:"N-S"}],Mon=24,Ion={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.42333778357062,-26.00860153882541,4.957120957652498],panCenter:[9.680010046024961,1.8911434375133904,3.488277959545367],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:200,height:65},navigationView:!1},zon={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Don=1,Eon={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kon={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Fon={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Lon={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Won="Unknown",Non=null,Uon=null,Bon=null,jon=null,Yon=["Bifacial solar panels"],Oon=3,_on=3,Von={docid:xon,time:bon,timestamp:Son,userid:Ton,owner:Pon,email:Con,world:Ron,elements:Hon,sceneRadius:Mon,view:Ion,graphState:zon,evolutionMethod:Don,solarPanelArrayLayoutParams:Eon,solarPanelArrayLayoutConstraints:kon,evolutionaryAlgorithmState:Fon,economicsParams:Lon,modelType:Won,modelAuthor:Non,modelLabel:Uon,modelDescription:Bon,designProjectType:jon,notes:Yon,minimumNavigationMoveSpeed:Oon,minimumNavigationTurnSpeed:_on},Gon="fXAaqcjQbaBomkkTcKkuR5",Xon="08/31/2023 10:18 am",Jon=1693491481113,Kon="QWecNcxhyvP6j6sBN11hBsfZDau1",qon=null,$on=null,Qon={latitude:42.3600825,pvGridCellSize:.25,timesPerHour:1,longitude:-71.0588801,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Boston, MA, USA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,countryCode:"US",daysPerYear:12},Zon=[{cy:-.033179790625714745,normal:[0,0,1],lz:.1,ly:16.949918527981186,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.017129111403884067,cz:.05,rotation:[0,0,0],lx:37.87324352407775,selected:!1,parentId:"Ground",color:"#666666",label:""},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.132,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Bifacial",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],lx:11.528,selected:!1,orientation:"Portrait",cx:-.20024728670215317,relativeAzimuth:0,cy:-.0004001413797904696,poleHeight:1.5,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS3W-445MB-AG",dailyYield:8.868699562970985,yearlyYield:7933.919486524438},{type:"Human",name:"Justin",cx:-.8077148464578228,cy:-2.467214041682034,cz:.05000000074505895,lx:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Solar Panel",pvModelName:"CS3W-440MS",cx:.19919037937422715,cy:-.0004001413797904696,cz:.5000000074505806,lx:11.528,ly:2.108,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.5,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oQUmi4HfhmDhT2fedCAHBP",selected:!1,dailyYield:6.700357358830137,label:"Monofacial",yearlyYield:6331.051197253751,drawSunBeam:!1}],ein=24,tin={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Mountain",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-939,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!0,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:49,groundColor:"#194d33",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[21.044833876539915,-19.158030778662997,1.9640239249677898],panCenter:[8.779754971790968,7.5724725159534465,1.9640239249677898],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[6.40968432574854,1.6481778498093007,150],panCenter2D:[6.40968432574854,1.649178227254012,23981152496769078e-22],dailyPvYieldPanelRect:{x:-1103,y:47,width:600,height:400},waterSurface:!1,showMapPanel:!1,mapPanelX:39,mapPanelY:49,weatherPanelRect:{x:696,y:52,width:500,height:500},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:0,width:265,height:96},navigationView:!1,yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},nin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!0,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},oin=1,iin={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rin={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ain={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lin={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},sin="Unknown",cin=null,uin=null,din=null,fin=null,hin=["Comparing the annual outputs of bifacial and monofacial solar panels"],pin=3,gin=3,min={docid:Gon,time:Xon,timestamp:Jon,userid:Kon,owner:qon,email:$on,world:Qon,elements:Zon,sceneRadius:ein,view:tin,graphState:nin,evolutionMethod:oin,solarPanelArrayLayoutParams:iin,solarPanelArrayLayoutConstraints:rin,evolutionaryAlgorithmState:ain,economicsParams:lin,modelType:sin,modelAuthor:cin,modelLabel:uin,modelDescription:din,designProjectType:fin,notes:hin,minimumNavigationMoveSpeed:pin,minimumNavigationTurnSpeed:gin},yin="mxcpjFL7wwjT6kUG3dgBwT",Ain="02/04/2023 01:21 pm",win=1675534888279,vin="QWecNcxhyvP6j6sBN11hBsfZDau1",xin=null,bin=null,Sin={solarRadiationHeatmapGridCellSize:.5,date:"3/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!0,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:-71.3488548},Tin=[{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8KuTFKVbnS9JsUhgiz6ayk",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ddK5UqQWy74ghKtND3in4",parentId:"u1AdedeCmmKa3QYfwjJ4ya",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3.22609431418537,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:.3466666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10666666666666667,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.13333333333333333,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tVsnXCNKFAXpT1tvrhqYrT",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36000000000000004,cy:0,cz:-.059131688577327556,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3.22609431418537,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:3.22609431418537,rightRoofHeight:3.22609431418537,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.22609431418537,rightTopPartialHeight:3.22609431418537},{type:"Window",cx:-.375,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.24999999999999992,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.37499999999999994,cy:0,cz:0,lx:.08333333333333333,ly:.3,lz:.44384979425833565,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:.5,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.07737809374999927,cy:-.08634488504745477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.08065235785463425,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#666666",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,label:"",rise:1.3492858897703286,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.045101456155734465,cy:-.1728550176508481,cz:3.912059639775531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"hggpkWHD6D2DWRepcABzSN",selected:!1,dailyYield:1.1606630204047466,yearlyYield:14.01350339573908,label:"S",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.04923325035798107,cy:.23033266020936075,cz:4.048748074874304,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[1836536775249149e-32,.26053732960492476,.9654637745054627],rotation:[.2635787119172426,0,3.141592653589793],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3AjZD5PGir6Pw6qNxAXT2v",selected:!1,dailyYield:.7689476441385455,yearlyYield:9.02911259075203,label:"N",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23435630964973508,cy:.03020266603782977,cz:3.927707691404531,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"dfe7nQ9k8jDK91KdkmUEv6",selected:!1,dailyYield:.9541736397038687,yearlyYield:11.32280863910204,label:"W",labelSize:.4},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.3049880725182647,cy:.048385609165732826,cz:3.978511539183477,lx:1.558,ly:1.046,lz:.046,showLabel:!0,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],color:"#fff",parentType:"Roof",parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"1dU1iCu9PPq5BqZD1KErE7",selected:!1,dailyYield:.9576426115274149,yearlyYield:11.37252332042091,label:"E",labelSize:.4},{type:"Sensor",cx:.057157621054107106,cy:.14033655142046375,cz:4.4036437311884296,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,.2605373296049247,.9654637745054626],rotation:[.2635787119172426,0,3.141592653589793],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"mKDuzWBHjARCKjue8riAq8",selected:!1,label:"N"},{type:"Sensor",cx:.05632462642172124,cy:-.03881517090426316,cz:4.440639819780413,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,-.26053732960492465,.9654637745054627],rotation:[.26357871191724236,0,0],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"qMhiLQRXRChHGtKoRd73LF",selected:!1,label:"S"},{type:"Sensor",cx:.25193424207044157,cy:.045340891802389115,cz:4.396078903758752,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[.39766432936677054,-133281839859656e-30,.9175309701308599],rotation:[.40896983336269876,0,1.5707963267948961],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3DwwhpFKYxSqcDS4CihiGw",selected:!1,label:"E"},{type:"Sensor",cx:-.1790489651075926,cy:.040907220548995316,cz:4.363011644147998,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[-.3976643293667701,33320459964913965e-33,.9175309701308599],rotation:[.4089698333626983,0,4.71238898038469],parentId:"45NB7k7GYboywbxoXsYHLH",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"72Y7F2N3gynqymAnAg1DcZ",selected:!1,label:"W"}],Pin={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.096291394829855,-4.886200526627762,20.956812400919997],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!0,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5949692122407761,.408443644397781,1.6485310965583475],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:4,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-25,y:27,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1275,y:17,width:600,height:360},stickyNotePanelRect:{x:-4,y:-3,width:303,height:64}},Cin={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Rin=1,Hin={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Min={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Iin={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},zin={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Din=["Solar panels on different sides of a roof"],Ein={docid:yin,time:Ain,timestamp:win,userid:vin,owner:xin,email:bin,world:Sin,elements:Tin,view:Pin,graphState:Cin,evolutionMethod:Rin,solarPanelArrayLayoutParams:Hin,solarPanelArrayLayoutConstraints:Min,evolutionaryAlgorithmState:Iin,economicsParams:zin,notes:Din},kin="4FPGPRyja1jZsFg1c9iXEn",Fin="02/19/2023 11:51 am",Lin=1676825516232,Win="HPwaZxo6jaPjQcD6cBGUWPpQkVw2",Nin=null,Uin=null,Bin={pvGridCellSize:.5,sutGridCellSize:1,noAnimationForHeatmapSimulation:!1,latitude:42.30152633098348,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,name:"default",highestTemperatureTimeInMinutes:900,daysPerYear:12,date:"5/1/2023, 8:30:00 AM",sutDaysPerYear:4,timesPerHour:4,cspTimesPerHour:4,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},cspGridCellSize:.5,noAnimationForSolarUpdraftTowerSimulation:!1,noAnimationForSolarPanelSimulation:!1,dustLoss:.05,sutTimesPerHour:4,address:"Quincy, MA, USA",cspDaysPerYear:4,diurnalTemperatureModel:1,solarRadiationHeatmapGridCellSize:1.5,noAnimationForThermalSimulation:!1,airAttenuationCoefficient:.01,noAnimationForSensorDataCollection:!1,airConvectiveCoefficient:5,longitude:-71.04686341053608},jin=[{solarUpdraftTower:{},textureType:"No Foundation Texture",lx:212.5285321639104,rotation:[0,0,0],solarPowerTower:{},cx:-10.534022898559044,id:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.05,ly:289.40841858160877,cy:-5.174607839650079,lz:.1,hvacSystem:{thermostatSetpoint:20},parentId:"Ground",solarAbsorberPipe:{},type:"Foundation",normal:[0,0,1],color:"#808080",selected:!1},{lz:.4,cx:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:0,vertices:[{y:-.015548960261952672,x:-.13409964163315105},{x:.1599785198430574,y:.4768347813665486},{y:.4768347813665486,x:.3034886626434471},{x:.34113066731240177,y:.43191556283201865},{x:.3764200466895468,y:.41463894031873794},{y:.35762608602491147,x:.37406742139773713},{x:.2917255361843988,y:.23496206618061816},{y:.1710385628814794,x:.2987834120598278},{x:.2799624097253504,y:.11402570858765293},{y:.006910649005312299,x:.22585202801372808},{x:.1529206439676284,y:-.04146389403187379},{y:-.06219584104781069,x:.1458627680921994},{y:-.06565116555046684,x:.09175238638057703},{y:-.08292778806374758,x:.06587350817067068},{x:-.08234188521333836,y:-.08292778806374758}],ly:.4,lx:.4,color:"#ffffff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"5DXDSqQGwG9HHBGtTSMivo",type:"Polygon",filled:!0,lineColor:"#b3b3b3",rotation:[0,0,0],selectedIndex:10,normal:[0,0,1],opacity:0,selected:!1,cz:0},{rotation:[0,0,0],showLabel:!1,poleRadius:.05,poleSpacing:3,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",id:"39YHB9jsen7civ3YRJKQCC",cy:-.06921706043720798,drawSunBeam:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",normal:[0,0,1],color:"#fff",selected:!1,relativeAzimuth:0,type:"Solar Panel",cx:-.0044720631905931785,poleHeight:1,tiltAngle:.5235987755982988,lx:31.744,pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,ly:3.936},{normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.04416595779295089,lx:50.592,cz:.1,rotation:[0,0,0],drawSunBeam:!1,poleRadius:.05,orientation:"Portrait",lz:.006,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,trackerType:"None",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,id:"wRpEM8qhuhZqcTqN2dpgxk",cx:.020668929177468376,pvModelName:"CS6X-355P-FG",showLabel:!1,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,frameColor:"white",poleSpacing:3,poleHeight:1},{pvModelName:"CS6X-355P-FG",trackerType:"None",tiltAngle:.5235987755982988,selected:!1,color:"#fff",poleSpacing:3,orientation:"Portrait",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,cy:-.019114855148693807,relativeAzimuth:0,showLabel:!1,cx:.026370111541441255,normal:[0,0,1],cz:.1,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],poleRadius:.05,type:"Solar Panel",ly:3.936,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,id:"tD1s9u51ND5RmtjGVXGCLf",lx:61.504},{cz:.1,tiltAngle:.5235987755982988,frameColor:"white",id:"uqbw8SLNidH2HVf3A3aEpb",poleHeight:1,pvModelName:"CS6X-355P-FG",lx:68.448,relativeAzimuth:0,showLabel:!1,type:"Solar Panel",lz:.006,drawSunBeam:!1,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:.005936247495563277,rotation:[0,0,0],ly:3.936,trackerType:"None",orientation:"Portrait",color:"#fff",cx:.04797937239367053,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1]},{frameColor:"white",cz:.1,trackerType:"None",type:"Solar Panel",ly:3.936,id:"abu8rTHpebENbtwLNiH7VV",selected:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,drawSunBeam:!0,pvModelName:"CS6X-355P-FG",lz:.006,cx:.06772862843868938,color:"#fff",showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],relativeAzimuth:0,cy:.03098735013982036,poleSpacing:3,orientation:"Portrait",rotation:[0,0,0],lx:68.448,poleRadius:.05},{drawSunBeam:!1,cx:.0815369877932561,poleHeight:1,lx:68.448,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",cy:.056038452784077444,id:"nZ63hCPNboQvjJjFBKXPux",pvModelName:"CS6X-355P-FG",tiltAngle:.5235987755982988,selected:!1,normal:[0,0,1],cz:.1,showLabel:!1,relativeAzimuth:0,ly:3.936,rotation:[0,0,0],frameColor:"white",poleSpacing:3,color:"#fff",orientation:"Portrait",poleRadius:.05,lz:.006,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{lz:.006,cy:.08108955542833453,poleRadius:.05,trackerType:"None",poleHeight:1,cx:.09534534714782292,cz:.1,normal:[0,0,1],relativeAzimuth:0,frameColor:"white",id:"hif4KqE4YP3kUVrrgkfMhx",ly:3.936,showLabel:!1,lx:67.456,orientation:"Portrait",selected:!1,color:"#fff",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",drawSunBeam:!1,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleSpacing:3,rotation:[0,0,0],referenceId:"5DXDSqQGwG9HHBGtTSMivo",type:"Solar Panel"},{relativeAzimuth:0,referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,tiltAngle:.5235987755982988,ly:3.936,cy:.10614065807259161,orientation:"Portrait",color:"#fff",cx:.1091537065023897,trackerType:"None",showLabel:!1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:67.456,poleRadius:.05,pvModelName:"CS6X-355P-FG",rotation:[0,0,0],poleSpacing:3,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,cz:.1,id:"qfhB3DdpB1gYjw25yY8eTt",frameColor:"white",normal:[0,0,1],drawSunBeam:!1,type:"Solar Panel"},{cz:.1,rotation:[0,0,0],id:"oKCroDuPSw8Jz4hpytmpuV",tiltAngle:.5235987755982988,referenceId:"5DXDSqQGwG9HHBGtTSMivo",lz:.006,relativeAzimuth:0,poleSpacing:3,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],selected:!1,ly:3.936,type:"Solar Panel",color:"#fff",frameColor:"white",trackerType:"None",poleRadius:.05,poleHeight:1,lx:65.472,cx:.12116209363369557,drawSunBeam:!1,orientation:"Portrait",cy:.13119176071684868,showLabel:!1},{lz:.006,drawSunBeam:!1,selected:!1,type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.13277794649991534,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,id:"mHK7aYVb1Wk6EsoKnJgiKD",relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,color:"#fff",frameColor:"white",trackerType:"None",tiltAngle:.5235987755982988,cz:.1,poleSpacing:3,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,normal:[0,0,1],cy:.15624286336110577,rotation:[0,0,0],ly:3.936,lx:64.48},{poleSpacing:3,cx:.14138598430837385,frameColor:"white",id:"9pHe3mAgmKZtQtjzLXxdYX",rotation:[0,0,0],poleHeight:1,pvModelName:"CS6X-355P-FG",color:"#fff",orientation:"Portrait",cy:.18129396600536285,normal:[0,0,1],drawSunBeam:!1,lz:.006,referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lx:61.504,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,tiltAngle:.5235987755982988,showLabel:!1,type:"Solar Panel",ly:3.936,selected:!1},{cy:.20634506864961993,showLabel:!1,poleRadius:.05,selected:!1,ly:3.936,frameColor:"white",cz:.1,type:"Solar Panel",relativeAzimuth:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],normal:[0,0,1],poleSpacing:3,color:"#fff",trackerType:"None",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"wxnBoqUDaxFyzEJ8C9neNT",drawSunBeam:!1,lx:57.536,referenceId:"5DXDSqQGwG9HHBGtTSMivo",orientation:"Portrait",lz:.006,cx:.14748395783026924,poleHeight:1,tiltAngle:.5235987755982988},{parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,selected:!1,rotation:[0,0,0],frameColor:"white",poleSpacing:3,relativeAzimuth:0,cz:.1,tiltAngle:.5235987755982988,normal:[0,0,1],cx:.1535819313521647,lz:.006,id:"wFKvkQ1Z8bZ4V5gp8W9qaV",type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:54.56,trackerType:"None",orientation:"Portrait",color:"#fff",poleRadius:.05,cy:.23139617129387702,showLabel:!1,ly:3.936,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{referenceId:"5DXDSqQGwG9HHBGtTSMivo",selected:!1,relativeAzimuth:0,rotation:[0,0,0],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleRadius:.05,lx:54.56,lz:.006,showLabel:!1,normal:[0,0,1],poleHeight:1,trackerType:"None",color:"#fff",type:"Solar Panel",frameColor:"white",pvModelName:"CS6X-355P-FG",drawSunBeam:!1,cz:.1,id:"5UEd5WPYGM3mteKkUdGC5b",ly:3.936,cy:.2564472739381341,orientation:"Portrait",cx:.1650931283901031,poleSpacing:3},{lx:54.56,poleSpacing:3,color:"#fff",rotation:[0,0,0],normal:[0,0,1],selected:!1,pvModelName:"CS6X-355P-FG",drawSunBeam:!1,poleRadius:.05,cz:.1,poleHeight:1,trackerType:"None",orientation:"Portrait",cx:.18098221432743639,lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",cy:.2814983765823912,tiltAngle:.5235987755982988,id:"2svrFi8xQmtUMBe5ZAK81o",showLabel:!1,ly:3.936,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6"},{cx:.19687130026476962,cy:.30654947922664827,poleRadius:.05,rotation:[0,0,0],poleHeight:1,selected:!1,showLabel:!1,lz:.006,type:"Solar Panel",normal:[0,0,1],id:"bGivs5Yuda48gHtDd1BsdF",poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:55.552,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",pvModelName:"CS6X-355P-FG",referenceId:"5DXDSqQGwG9HHBGtTSMivo",drawSunBeam:!1,ly:3.936,relativeAzimuth:0,color:"#fff",orientation:"Portrait",cz:.1,tiltAngle:.5235987755982988,trackerType:"None"},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",orientation:"Portrait",selected:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,cz:.1,showLabel:!1,lx:55.552,frameColor:"white",poleSpacing:3,poleRadius:.05,referenceId:"5DXDSqQGwG9HHBGtTSMivo",poleHeight:1,tiltAngle:.5235987755982988,rotation:[0,0,0],cy:.33160058187090535,type:"Solar Panel",normal:[0,0,1],color:"#fff",id:"jm8EQPxBbaiTMXoQiF7CER",ly:3.936,trackerType:"None",cx:.21276038620210297,drawSunBeam:!1},{poleSpacing:3,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",rotation:[0,0,0],lz:.006,lx:55.552,id:"8a4sJM8CzcwGaTVPbJ3rEU",color:"#fff",trackerType:"None",relativeAzimuth:0,ly:3.936,poleHeight:1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",showLabel:!1,cy:.35665168451516244,poleRadius:.05,cx:.232198442985121,selected:!1,drawSunBeam:!1,orientation:"Portrait",tiltAngle:.5235987755982988},{selected:!1,drawSunBeam:!1,ly:3.936,showLabel:!1,orientation:"Portrait",color:"#fff",poleHeight:1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:52.576,frameColor:"white",type:"Solar Panel",cz:.1,poleSpacing:3,tiltAngle:.5235987755982988,normal:[0,0,1],referenceId:"5DXDSqQGwG9HHBGtTSMivo",trackerType:"None",cy:.3817027871594195,id:"mSAWD32s6rcXazrWTV4Xv5",cx:.24019624331923956,rotation:[0,0,0],relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleRadius:.05,pvModelName:"CS6X-355P-FG"},{poleRadius:.05,selected:!1,normal:[0,0,1],id:"5LQqmcsTvpZmQs4iTqrCGu",cy:.4067538898036766,lz:.006,orientation:"Portrait",rotation:[0,0,0],lx:49.6,ly:3.936,drawSunBeam:!1,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,cx:.248194043653358,cz:.1,type:"Solar Panel",color:"#fff",poleSpacing:3,trackerType:"None",pvModelName:"CS6X-355P-FG",frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,poleHeight:1,referenceId:"5DXDSqQGwG9HHBGtTSMivo"},{frameColor:"white",cx:.23674454976762427,ly:3.936,poleSpacing:3,poleHeight:1,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,drawSunBeam:!1,relativeAzimuth:0,rotation:[0,0,0],showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:38.688,poleRadius:.05,pvModelName:"CS6X-355P-FG",cz:.1,type:"Solar Panel",referenceId:"5DXDSqQGwG9HHBGtTSMivo",color:"#fff",orientation:"Portrait",cy:.4318049924479337,lz:.006,selected:!1,id:"32Cg2tC6n7DHigNkVxdrgt",normal:[0,0,1]},{relativeAzimuth:0,tiltAngle:.5235987755982988,id:"sqjEqAoMgMpxq5BxsJh969",cx:.23372915722930276,cy:.4568560950921907,type:"Solar Panel",frameColor:"white",referenceId:"5DXDSqQGwG9HHBGtTSMivo",ly:3.936,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",lz:.006,poleRadius:.05,color:"#fff",orientation:"Portrait",lx:30.752,cz:.1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleSpacing:3,showLabel:!1,rotation:[0,0,0],selected:!1,trackerType:"None",poleHeight:1},{foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",selectedIndex:0,lx:.4,normal:[0,0,1],lz:.4,ly:.4,opacity:0,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",id:"i53LLgEmjv9V4sT2Bw7T8V",cy:0,rotation:[0,0,0],color:"#ffffff",vertices:[{x:-.37171479610592745,y:-.45264750984795554},{y:-.41291127806740985,x:-.37171479610592745},{x:-.35759904435506945,y:-.3887240065488168},{x:-.3975936743158338,y:-.3749027085381922},{x:-.38818317314859513,y:-.3144345297417096},{x:-.4164146766503111,y:-.27815362246382},{x:-.37877267198135645,y:-.13821298010624597},{y:-.07083415230445106,x:-.35759904435506945},{y:-.07083415230445106,x:-.2093836509710604},{y:-.25569401319655505,x:.0799892599215287},{y:-.3679920595328799,x:.061168257587051356},{y:-.4025453045594414,x:.01646837704266767},{x:-.07763663462971902,y:-.43364322508334674},{y:-.45437517209928363,x:-.11057338871505437}],cz:0,cx:0,selected:!1,filled:!0,lineColor:"#999999",type:"Polygon"},{type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",relativeAzimuth:0,color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",pvModelName:"CS6X-355P-FG",poleHeight:1,poleSpacing:3,rotation:[0,0,0],frameColor:"white",id:"rjtxU5WsNM51KRLNQSNjpi",trackerType:"None",cz:.1,tiltAngle:.5235987755982988,selected:!1,orientation:"Portrait",normal:[0,0,1],cy:-.44066444447274405,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,drawSunBeam:!1,lz:.006,showLabel:!1,lx:54.56,ly:3.936,cx:-.23295381956127093},{orientation:"Portrait",cy:-.41561334182848697,id:"r4etahi9gw6GJxHew37bNn",poleHeight:1,poleSpacing:3,lx:67.456,cx:-.20254012539999636,normal:[0,0,1],selected:!1,frameColor:"white",lz:.006,drawSunBeam:!1,relativeAzimuth:0,showLabel:!1,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",ly:3.936,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cz:.1,pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,trackerType:"None",rotation:[0,0,0],tiltAngle:.5235987755982988,color:"#fff"},{poleSpacing:3,trackerType:"None",frameColor:"white",lx:78.368,normal:[0,0,1],poleHeight:1,cz:.1,orientation:"Portrait",showLabel:!1,cy:-.3905622391842299,tiltAngle:.5235987755982988,cx:-.16654214275360996,poleRadius:.05,color:"#fff",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,id:"oPaST5wTNmvuMg4irNTNvF",ly:3.936,pvModelName:"CS6X-355P-FG",lz:.006,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel"},{poleHeight:1,relativeAzimuth:0,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",ly:3.936,type:"Solar Panel",id:"fF8k5yd2hu4Rwpr6gbrW2i",normal:[0,0,1],tiltAngle:.5235987755982988,cy:-.3655111365399728,poleRadius:.05,poleSpacing:3,selected:!1,lx:92.256,drawSunBeam:!1,frameColor:"white",cz:.1,showLabel:!1,lz:.006,trackerType:"None",pvModelName:"CS6X-355P-FG",rotation:[0,0,0],orientation:"Portrait",color:"#fff",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.16834099366066035},{pvModelName:"CS6X-355P-FG",color:"#fff",normal:[0,0,1],poleSpacing:3,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",selected:!1,cz:.1,orientation:"Portrait",showLabel:!1,cx:-.16377492283812295,trackerType:"None",frameColor:"white",lz:.006,lx:93.248,ly:3.936,rotation:[0,0,0],poleHeight:1,id:"vR22Q3vueKbYiqVBv8D26g",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,drawSunBeam:!1,tiltAngle:.5235987755982988,type:"Solar Panel",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.3404600338957157},{pvModelName:"CS6X-355P-FG",poleSpacing:3,cx:-.1597263390941956,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cz:.1,poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,showLabel:!1,selected:!1,rotation:[0,0,0],relativeAzimuth:0,cy:-.31540893125145864,id:"fHL4NPe6GsTPPqRFeNWFSj",color:"#fff",poleHeight:1,trackerType:"None",drawSunBeam:!1,type:"Solar Panel",frameColor:"white",ly:3.936,orientation:"Portrait",lx:93.248,lz:.006,normal:[0,0,1]},{showLabel:!1,drawSunBeam:!1,trackerType:"None",lx:97.216,cy:-.29035782860720155,poleSpacing:3,poleHeight:1,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",ly:3.936,orientation:"Portrait",relativeAzimuth:0,selected:!1,lz:.006,cz:.1,type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",frameColor:"white",tiltAngle:.5235987755982988,color:"#fff",poleRadius:.05,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",cx:-.16533131631908343,normal:[0,0,1],id:"wo99UxfjEn2Sft7C8epu1F"},{cy:-.26530672596294447,poleSpacing:3,color:"#fff",trackerType:"None",cz:.1,lz:.006,tiltAngle:.5235987755982988,rotation:[0,0,0],poleRadius:.05,ly:3.936,cx:-.16654823110912362,selected:!1,frameColor:"white",id:"atncuqMmE5QUMBXmuECL7c",normal:[0,0,1],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,orientation:"Portrait",relativeAzimuth:0,drawSunBeam:!1,pvModelName:"CS6X-355P-FG",type:"Solar Panel",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:100.192,showLabel:!1},{lz:.006,orientation:"Portrait",lx:92.256,cy:-.24025562331868738,selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",ly:3.936,color:"#fff",drawSunBeam:!1,type:"Solar Panel",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleHeight:1,tiltAngle:.5235987755982988,pvModelName:"CS6X-355P-FG",frameColor:"white",poleSpacing:3,showLabel:!1,rotation:[0,0,0],trackerType:"None",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,normal:[0,0,1],id:"pRs6eMcbHHwteicGZNiUf4",cx:-.17740291781012096,relativeAzimuth:0,cz:.1},{type:"Solar Panel",color:"#fff",frameColor:"white",normal:[0,0,1],poleRadius:.05,tiltAngle:.5235987755982988,parentId:"m2Y8UkiEpzxPgEaP4XFVt6",relativeAzimuth:0,lz:.006,pvModelName:"CS6X-355P-FG",ly:3.936,drawSunBeam:!1,poleHeight:1,id:"oTDhH5JF9kfv5Xuz6jEMoT",rotation:[0,0,0],showLabel:!1,selected:!1,cy:-.2152045206744303,cz:.1,orientation:"Portrait",trackerType:"None",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",cx:-.1936407690619649,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:82.336,poleSpacing:3},{tiltAngle:.5235987755982988,relativeAzimuth:0,trackerType:"None",showLabel:!1,lz:.006,normal:[0,0,1],parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,orientation:"Portrait",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",drawSunBeam:!1,cx:-.2098786203138088,color:"#fff",pvModelName:"CS6X-355P-FG",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",poleRadius:.05,cz:.1,cy:-.19015341803017322,lx:72.416,id:"vTDkEMLLiFSDFeVQ9M7gEq",rotation:[0,0,0],type:"Solar Panel",poleSpacing:3,frameColor:"white",poleHeight:1},{lx:63.488,drawSunBeam:!1,poleHeight:1,cx:-.22611647156565276,poleRadius:.05,lz:.006,selected:!1,poleSpacing:3,foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",trackerType:"None",tiltAngle:.5235987755982988,orientation:"Portrait",ly:3.936,showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],pvModelName:"CS6X-355P-FG",referenceId:"i53LLgEmjv9V4sT2Bw7T8V",type:"Solar Panel",color:"#fff",frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",cy:-.16510231538591613,cz:.1,id:"ddcikvHRjDyv431v3iHzR9",normal:[0,0,1]},{cy:-.14005121274165905,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",poleRadius:.05,frameColor:"white",color:"#fff",trackerType:"None",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",selected:!1,ly:3.936,poleHeight:1,tiltAngle:.5235987755982988,type:"Solar Panel",cx:-.2423189775828182,lx:53.568,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,rotation:[0,0,0],drawSunBeam:!1,poleSpacing:3,id:"kzwB7XdQnSLaWv37UNBRHE",pvModelName:"CS6X-355P-FG",lz:.006,cz:.1,orientation:"Portrait"},{relativeAzimuth:0,poleRadius:.05,tiltAngle:.5235987755982988,trackerType:"None",orientation:"Portrait",drawSunBeam:!1,poleSpacing:3,cx:-.25798989752621326,selected:!1,lx:43.647999999999996,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",pvModelName:"CS6X-355P-FG",cz:.1,ly:3.936,rotation:[0,0,0],foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",type:"Solar Panel",color:"#fff",normal:[0,0,1],showLabel:!1,id:"iSBjaL3vNJSWkMSnEcxexJ",cy:-.11500011009740196,frameColor:"white",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lz:.006,poleHeight:1},{pvModelName:"CS6X-355P-FG",selected:!1,referenceId:"i53LLgEmjv9V4sT2Bw7T8V",rotation:[0,0,0],drawSunBeam:!1,cy:-.08994900745314488,cz:.1,id:"inhpfuX2LqrdYubxNoTMKi",trackerType:"None",lz:.006,poleRadius:.05,frameColor:"white",foundationId:"m2Y8UkiEpzxPgEaP4XFVt6",tiltAngle:.5235987755982988,relativeAzimuth:0,poleSpacing:3,showLabel:!1,type:"Solar Panel",parentId:"m2Y8UkiEpzxPgEaP4XFVt6",lx:33.728,ly:3.936,normal:[0,0,1],poleHeight:1,orientation:"Portrait",cx:-.2736608174696083,color:"#fff"},{type:"Foundation",cx:130.77937125760448,cy:3.87684921362672,cz:.05,lx:56.64628450306867,ly:56.97569559573312,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"nCbdmnahzfS1w9hiPKySNL",label:"Rainbow Swash",labelSize:4,labelHeight:50,showLabel:!0,labelFontSize:50,labelColor:"black"},{type:"Wall",cx:-14.049964379597128,cy:20.03116873649283,cz:0,lx:6.020797289396148,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.8682349942715186,leftPoint:[-11.799964379597128,22.03116873649283,.1],rightPoint:[-16.299964379597128,18.03116873649283,.1],leftJoints:["eJTbEVraxbUMqMs6Np8NKF"],rightJoints:["hXhPy1xFEnY2hwUty4JKnh"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"dg44T4UU4svJo7xChjjMQJ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-18.049964379597128,cy:15.53116873649283,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.101663015995481,leftPoint:[-16.299964379597128,18.03116873649283,.1],rightPoint:[-19.799964379597128,13.03116873649283,.1],leftJoints:["dg44T4UU4svJo7xChjjMQJ"],rightJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hXhPy1xFEnY2hwUty4JKnh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-20.799964379597128,cy:10.28116873649283,cz:0,lx:5.852349955359813,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.363617976800782,leftPoint:[-19.799964379597128,13.03116873649283,.1],rightPoint:[-21.799964379597128,7.53116873649283,.1],leftJoints:["hXhPy1xFEnY2hwUty4JKnh"],rightJoints:["7XqqJhYujD5LNMbkq5uwj5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"r6mVuTRZiSA9BuDPhjz2Lp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.149964379597122,cy:4.63116873649283,cz:0,lx:5.842088667591412,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.592280244817776,leftPoint:[-21.799964379597128,7.53116873649283,.1],rightPoint:[-22.49996437959713,1.7311687364928305,.1],leftJoints:["r6mVuTRZiSA9BuDPhjz2Lp"],rightJoints:["f9fikVMDyJeGH7jFyXZWwX"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7XqqJhYujD5LNMbkq5uwj5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-22.44996437959712,cy:-.7688312635071695,cz:0,lx:5.000999900019995,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.7323863143578375,leftPoint:[-22.499964379597117,1.7311687364928305,.1],rightPoint:[-22.399964379597122,-3.2688312635071703,.1],leftJoints:["7XqqJhYujD5LNMbkq5uwj5"],rightJoints:["xuvvfjRXMWdjTE7V8yHHHs"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"f9fikVMDyJeGH7jFyXZWwX",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-21.549964379597128,cy:-6.568831263507171,cz:0,lx:6.815423684555494,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:4.964484961052763,leftPoint:[-22.399964379597122,-3.2688312635071703,.1],rightPoint:[-20.699964379597134,-9.86883126350717,.1],leftJoints:["f9fikVMDyJeGH7jFyXZWwX"],rightJoints:["up3mEwP5XpBuhYU31R9sSn"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"xuvvfjRXMWdjTE7V8yHHHs",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-19.49996437959713,cy:-11.918831263507169,cz:0,lx:4.750789408087882,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.241978579166767,leftPoint:[-20.699964379597134,-9.86883126350717,.1],rightPoint:[-18.299964379597128,-13.96883126350717,.1],leftJoints:["xuvvfjRXMWdjTE7V8yHHHs"],rightJoints:["3RcJPAXuGxFdfSHj5R15Et"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"up3mEwP5XpBuhYU31R9sSn",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-16.549964379597128,cy:-16.46883126350717,cz:0,lx:6.103277807866851,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.323114944773899,leftPoint:[-18.299964379597128,-13.96883126350717,.1],rightPoint:[-14.799964379597128,-18.96883126350717,.1],leftJoints:["up3mEwP5XpBuhYU31R9sSn"],rightJoints:["5CVoJKJNEiwZKYgJZcNSFi"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"3RcJPAXuGxFdfSHj5R15Et",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-11.749964379597131,cy:-20.51883126350717,cz:0,lx:6.842514157822414,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:5.81300184353285,leftPoint:[-14.799964379597142,-18.96883126350717,.1],rightPoint:[-8.699964379597134,-22.06883126350717,.1],leftJoints:["3RcJPAXuGxFdfSHj5R15Et"],rightJoints:["jBn8o6CDfAHiZEGaPT1dBH"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"5CVoJKJNEiwZKYgJZcNSFi",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-5.699964379597134,cy:-22.868831263507175,cz:0,lx:6.209669878504014,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.022582915432245,leftPoint:[-8.699964379597134,-22.068831263507175,.1],rightPoint:[-2.6999643795971338,-23.668831263507172,.1],leftJoints:["5CVoJKJNEiwZKYgJZcNSFi"],rightJoints:["7WeEQ5XGbSwarbCtZLcy3v"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"jBn8o6CDfAHiZEGaPT1dBH",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:.20003562040287193,cy:-23.918831263507172,cz:0,lx:5.82151183113116,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:6.197191015985346,leftPoint:[-2.6999643795971338,-23.668831263507172,.1],rightPoint:[3.1000356204028776,-24.168831263507172,.1],leftJoints:["jBn8o6CDfAHiZEGaPT1dBH"],rightJoints:["v7jn11zR2wYLhDxejpfXGD"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"7WeEQ5XGbSwarbCtZLcy3v",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:5.250035620402855,cy:-23.36883126350717,cz:0,lx:4.588027898781775,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.35621965539615097,leftPoint:[3.1000356204028776,-24.168831263507172,.1],rightPoint:[7.400035620402861,-22.56883126350717,.1],leftJoints:["7WeEQ5XGbSwarbCtZLcy3v"],rightJoints:["ijnWnJpBMsWV74W4WWEWNB"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"v7jn11zR2wYLhDxejpfXGD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:8.800035620402866,cy:-22.01883126350717,cz:0,lx:3.008321791298265,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.3743336160075845,leftPoint:[7.400035620402861,-22.56883126350717,.1],rightPoint:[10.200035620402872,-21.46883126350717,.1],leftJoints:["v7jn11zR2wYLhDxejpfXGD"],rightJoints:["crmfHAnSRdMR5VgizUq9LM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ijnWnJpBMsWV74W4WWEWNB",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:11.450035620402872,cy:-20.71883126350717,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.5404195002705842,leftPoint:[10.200035620402872,-21.46883126350717,.1],rightPoint:[12.700035620402872,-19.96883126350717,.1],leftJoints:["ijnWnJpBMsWV74W4WWEWNB"],rightJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"crmfHAnSRdMR5VgizUq9LM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:13.950035620402872,cy:-18.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[12.700035620402872,-19.96883126350717,.1],rightPoint:[15.200035620402872,-17.96883126350717,.1],leftJoints:["crmfHAnSRdMR5VgizUq9LM"],rightJoints:["6qpKnQqjrecVz81WJpLQT3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"8PdqQxoo78gsSMQ7Gk5KLR",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:-16.96883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.6747409422235527,leftPoint:[15.200035620402872,-17.96883126350717,.1],rightPoint:[17.700035620402872,-15.96883126350717,.1],leftJoints:["8PdqQxoo78gsSMQ7Gk5KLR"],rightJoints:["hELSBxVzGyyQWpXPyvjTHw"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"6qpKnQqjrecVz81WJpLQT3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:-14.96883126350717,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.7853981633974483,leftPoint:[17.700035620402872,-15.96883126350717,.1],rightPoint:[19.700035620402872,-13.96883126350717,.1],leftJoints:["6qpKnQqjrecVz81WJpLQT3"],rightJoints:["4fB42Goo94xeF9fnshTMSp"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hELSBxVzGyyQWpXPyvjTHw",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:-12.71883126350717,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:.8960553845713439,leftPoint:[19.700035620402872,-13.96883126350717,.1],rightPoint:[21.700035620402872,-11.46883126350717,.1],leftJoints:["hELSBxVzGyyQWpXPyvjTHw"],rightJoints:["43JV1qpPY5ifjyLwezRVA6"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4fB42Goo94xeF9fnshTMSp",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.200035620402872,cy:-8.71883126350717,cz:0,lx:6.264982043070834,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.0714496051147666,leftPoint:[21.700035620402872,-11.46883126350717,.1],rightPoint:[24.700035620402872,-5.96883126350717,.1],leftJoints:["4fB42Goo94xeF9fnshTMSp"],rightJoints:["4w2rHft9nRb3VsBiJ3yDka"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"43JV1qpPY5ifjyLwezRVA6",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:-3.9688312635071696,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.3258176636680326,leftPoint:[24.700035620402872,-5.96883126350717,.1],rightPoint:[25.700035620402872,-1.9688312635071696,.1],leftJoints:["43JV1qpPY5ifjyLwezRVA6"],rightJoints:["drEpxmzAKwiqtosy39e6Vr"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4w2rHft9nRb3VsBiJ3yDka",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:.031168736492830362,cz:0,lx:4,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,-1.9688312635071696,.1],rightPoint:[25.700035620402872,2.0311687364928304,.1],leftJoints:["4w2rHft9nRb3VsBiJ3yDka"],rightJoints:["doFL6ojJQmnX4K2WrFghMW"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"drEpxmzAKwiqtosy39e6Vr",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.700035620402872,cy:3.7811687364928304,cz:0,lx:3.5,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[25.700035620402872,2.0311687364928304,.1],rightPoint:[25.700035620402872,5.53116873649283,.1],leftJoints:["drEpxmzAKwiqtosy39e6Vr"],rightJoints:["p64ZbjyJXwL2QB5NtHDbAL"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"doFL6ojJQmnX4K2WrFghMW",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:25.200035620402872,cy:7.53116873649283,cz:0,lx:4.123105625617661,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.8157749899217608,leftPoint:[25.700035620402872,5.53116873649283,.1],rightPoint:[24.700035620402872,9.53116873649283,.1],leftJoints:["doFL6ojJQmnX4K2WrFghMW"],rightJoints:["2ovFHEfiXwzvGxgJdZVohF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"p64ZbjyJXwL2QB5NtHDbAL",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:23.950035620402872,cy:11.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:1.9756881130799802,leftPoint:[24.700035620402872,9.53116873649283,.1],rightPoint:[23.200035620402872,13.03116873649283,.1],leftJoints:["p64ZbjyJXwL2QB5NtHDbAL"],rightJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2ovFHEfiXwzvGxgJdZVohF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:22.450035620402872,cy:14.53116873649283,cz:0,lx:3.3541019662496847,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.0344439357957027,leftPoint:[23.200035620402872,13.03116873649283,.1],rightPoint:[21.700035620402872,16.03116873649283,.1],leftJoints:["2ovFHEfiXwzvGxgJdZVohF"],rightJoints:["ce3qFMioJ6iam6f3Ps6XMK"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"4FRjmDxxDfS6r8HLMLZ4VF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:20.700035620402872,cy:17.03116873649283,cz:0,lx:2.8284271247461903,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.356194490192345,leftPoint:[21.700035620402872,16.03116873649283,.1],rightPoint:[19.700035620402872,18.03116873649283,.1],leftJoints:["4FRjmDxxDfS6r8HLMLZ4VF"],rightJoints:["hMHLjh9gVUXjqtgU6m8bRM"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ce3qFMioJ6iam6f3Ps6XMK",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:18.700035620402872,cy:19.28116873649283,cz:0,lx:3.2015621187164243,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.2455372690184494,leftPoint:[19.700035620402872,18.03116873649283,.1],rightPoint:[17.700035620402872,20.53116873649283,.1],leftJoints:["ce3qFMioJ6iam6f3Ps6XMK"],rightJoints:["abAkJXmsmcg5ajbzQfYkR5"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"hMHLjh9gVUXjqtgU6m8bRM",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:16.450035620402872,cy:21.28116873649283,cz:0,lx:2.9154759474226504,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[17.700035620402872,20.53116873649283,.1],rightPoint:[15.200035620402872,22.03116873649283,.1],leftJoints:["hMHLjh9gVUXjqtgU6m8bRM"],rightJoints:["ksNDjPcxBviiRDPqzCkcR3"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"abAkJXmsmcg5ajbzQfYkR5",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:12.700035620402872,cy:23.53116873649283,cz:0,lx:5.830951894845301,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.601173153319209,leftPoint:[15.200035620402872,22.03116873649283,.1],rightPoint:[10.200035620402872,25.03116873649283,.1],leftJoints:["abAkJXmsmcg5ajbzQfYkR5"],rightJoints:["2G6Ycemoq6UcAJEBxk2txa"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"ksNDjPcxBviiRDPqzCkcR3",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:7.750035620402883,cy:25.58116873649283,cz:0,lx:5.021951811795889,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:2.9207638838604444,leftPoint:[10.200035620402872,25.03116873649283,.1],rightPoint:[5.300035620402866,26.131168736492832,.1],leftJoints:["ksNDjPcxBviiRDPqzCkcR3"],rightJoints:["aaWFv2WxaeMYVbeK6B3njf"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2G6Ycemoq6UcAJEBxk2txa",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-9.799964379597128,cy:22.78116873649283,cz:0,lx:4.272001872658765,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5003633238603653,leftPoint:[-7.799964379597128,23.53116873649283,.1],rightPoint:[-11.799964379597128,22.03116873649283,.1],leftJoints:["wcz96GJreptw2HHTTyJGnx"],rightJoints:["dg44T4UU4svJo7xChjjMQJ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eJTbEVraxbUMqMs6Np8NKF",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-6.049964379597128,cy:24.28116873649283,cz:0,lx:3.8078865529319543,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.5464844398748765,leftPoint:[-4.299964379597128,25.03116873649283,.1],rightPoint:[-7.799964379597128,23.53116873649283,.1],leftJoints:["2B4JavsLMUjzTvW2zcVwEQ"],rightJoints:["eJTbEVraxbUMqMs6Np8NKF"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"wcz96GJreptw2HHTTyJGnx",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:-2.799964379597128,cy:25.53116873649283,cz:0,lx:3.1622776601683795,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.4633432079864352,leftPoint:[-1.299964379597128,26.03116873649283,.1],rightPoint:[-4.299964379597128,25.03116873649283,.1],leftJoints:["aaWFv2WxaeMYVbeK6B3njf"],rightJoints:["wcz96GJreptw2HHTTyJGnx"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"2B4JavsLMUjzTvW2zcVwEQ",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Wall",cx:2.000035620402855,cy:26.08116873649283,cz:0,lx:6.600757532283728,ly:.3,lz:43,eavesLength:.3,rValue:2,fill:"Full",relativeAngle:3.156743009464563,leftPoint:[5.300035620402866,26.131168736492832,.1],rightPoint:[-1.2999643795971565,26.03116873649283,.1],leftJoints:["2G6Ycemoq6UcAJEBxk2txa"],rightJoints:["2B4JavsLMUjzTvW2zcVwEQ"],textureType:"No Wall Texture",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"aaWFv2WxaeMYVbeK6B3njf",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"eNawNU6nX2MwYS8vPdrDfM",leftRoofHeight:43,rightRoofHeight:43,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:43,rightTopPartialHeight:43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.2,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ksNDjPcxBviiRDPqzCkcR3","2G6Ycemoq6UcAJEBxk2txa","aaWFv2WxaeMYVbeK6B3njf","2B4JavsLMUjzTvW2zcVwEQ","wcz96GJreptw2HHTTyJGnx","eJTbEVraxbUMqMs6Np8NKF","dg44T4UU4svJo7xChjjMQJ","hXhPy1xFEnY2hwUty4JKnh","r6mVuTRZiSA9BuDPhjz2Lp","7XqqJhYujD5LNMbkq5uwj5","f9fikVMDyJeGH7jFyXZWwX","xuvvfjRXMWdjTE7V8yHHHs","up3mEwP5XpBuhYU31R9sSn","3RcJPAXuGxFdfSHj5R15Et","5CVoJKJNEiwZKYgJZcNSFi","jBn8o6CDfAHiZEGaPT1dBH","7WeEQ5XGbSwarbCtZLcy3v","v7jn11zR2wYLhDxejpfXGD","ijnWnJpBMsWV74W4WWEWNB","crmfHAnSRdMR5VgizUq9LM","8PdqQxoo78gsSMQ7Gk5KLR","6qpKnQqjrecVz81WJpLQT3","hELSBxVzGyyQWpXPyvjTHw","4fB42Goo94xeF9fnshTMSp","43JV1qpPY5ifjyLwezRVA6","4w2rHft9nRb3VsBiJ3yDka","drEpxmzAKwiqtosy39e6Vr","doFL6ojJQmnX4K2WrFghMW","p64ZbjyJXwL2QB5NtHDbAL","2ovFHEfiXwzvGxgJdZVohF","4FRjmDxxDfS6r8HLMLZ4VF","ce3qFMioJ6iam6f3Ps6XMK","hMHLjh9gVUXjqtgU6m8bRM","abAkJXmsmcg5ajbzQfYkR5"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nCbdmnahzfS1w9hiPKySNL",foundationId:"nCbdmnahzfS1w9hiPKySNL",id:"eNawNU6nX2MwYS8vPdrDfM"}],Yin={yearlyLightSensorPanelShowDaylight:!1,showYearlyParabolicDishYieldPanel:!1,showSunAngles:!1,showDailyFresnelReflectorYieldPanel:!1,groundPanelY:0,waterSurface:!1,solarRadiationHeatMapMaxValue:6,yearlyParabolicDishYieldPanelRect:{y:0,x:0,width:600,height:400},showHeliodonPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxWidth:.5,heliodon:!1,panCenter2D:[131.8325577738685,6.979070650641251,6979380865863898e-21],cameraPosition:[103.91363351545266,-170.19097104218287,181.31250975423077],mapZoom:17,showSiteInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,x:0,height:400,width:600},windowShininess:200,dailyUpdraftTowerYieldPanelRect:{width:640,x:0,height:550,y:0},showYearlyLightSensorPanel:!1,weatherPanelX:0,mapType:"hybrid",heliodonPanelY:0,ambientLightIntensity:.1,weatherPanelRect:{height:500,width:500,y:0,x:0},cameraPosition2D:[131.8325577738685,6.978920643967857,150],yearlyHeliostatYieldPanelRect:{y:0,height:400,width:600,x:0},heatFluxScaleFactor:20,showMapPanel:!1,dailyLightSensorPanelRect:{width:600,height:360,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,y:0,x:0},showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,groundPanelX:0,mapPanelY:0,stickyNotePanelX:6,axes:!0,showElevationAngle:!0,dailyBuildingEnergyPanelRect:{x:0,width:600,y:0,height:400},showYearlyBuildingEnergyPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},mapPanelX:0,autoRotate:!1,cameraZoom:11.974738784767572,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},stickyNotePanelRect:{height:300,y:0,width:400,x:0},showStickyNotePanel:!1,dailyHeliostatYieldPanelRect:{width:600,height:400,y:0,x:0},showZenithAngle:!0,dailyParabolicTroughYieldPanelRect:{height:400,y:0,x:0,width:600},showEvolutionPanel:!1,solarPanelShininess:100,showDailyPvYieldPanel:!1,stickyNotePanelY:0,diurnalTemperaturePanelRect:{width:600,height:400,x:0,y:0},dailyLightSensorPanelY:162,showYearlyPvYieldPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,height:400,width:600},yearlyLightSensorPanelShowClearness:!1,shadowEnabled:!0,showGroundPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,showDiurnalTemperaturePanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDesignInfoPanel:!0,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelRect:{height:400,x:0,y:0,width:600},heliodonPanelX:0,yearlyLightSensorPanelX:0,visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},showInstructionPanel:!0,panCenter:[45.46506493212769,-44.02353583672552,0],solarRadiationHeatMapReflectionOnly:!1,groundColor:"#16A5A5",showEconomicsPanel:!1,evolutionPanelRect:{width:640,height:400,x:0,y:0},directLightIntensity:1,groundImage:!0,dailyPvYieldPanelRect:{width:600,x:0,height:400,y:0},theme:"Default",mapWeatherStations:!1,showDailyUpdraftTowerYieldPanel:!1,yearlyLightSensorPanelY:0,dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},dailyLightSensorPanelX:-1275,heatFluxColor:"gray",mapTilt:0,showYearlyHeliostatYieldPanel:!1,enableRotate:!0,orthographic:!1,showAzimuthAngle:!0,weatherPanelY:0,showDailyBuildingEnergyPanel:!1},Oin={dailyPvIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1},_in=1,Vin={interRowSpacing:7.25,margin:2,pvModelName:"CS6X-355P-FG",rowsPerRack:2,rowAxis:"Left-Right",orientation:"Portrait",poleHeight:1,poleSpacing:3,tiltAngle:.5235987755982988},Gin={maximumInterRowSpacing:10,orientation:"Landscape",maximumRowsPerRack:6,minimumInterRowSpacing:2,minimumRowsPerRack:1,poleSpacing:5,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",poleHeight:1,maximumTiltAngle:1.5707963267948966},Xin={geneticAlgorithmParams:{maximumGenerations:5,crossoverRate:.5,populationSize:20,convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",mutationRate:.1},particleSwarmOptimizationParams:{objectiveFunctionType:1,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",localSearchRadius:.1,inertia:.8,searchMethod:1,cognitiveCoefficient:.1}},Jin={operationalCostPerUnit:.15,electricitySellingPrice:.25,projectLifeSpan:25},Kin=[],qin={docid:kin,time:Fin,timestamp:Lin,userid:Win,owner:Nin,email:Uin,world:Bin,elements:jin,view:Yin,graphState:Oin,evolutionMethod:_in,solarPanelArrayLayoutParams:Vin,solarPanelArrayLayoutConstraints:Gin,evolutionaryAlgorithmState:Xin,economicsParams:Jin,notes:Kin},$in="fxMgHdY9nZbP8YEqb9fZ1w",Qin="02/06/2023 03:46 pm",Zin=1675716393386,ern="QWecNcxhyvP6j6sBN11hBsfZDau1",trn=null,nrn=null,orn={date:"5/10/2021, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Orlando, FL, USA",latitude:28.373886495744546,cameraZoom:28.63945562104857,name:"default",timesPerHour:1,longitude:-81.5624358808899,orthographic:!1,solarRadiationHeatmapGridCellSize:5,pvGridCellSize:1},irn=[{type:"Foundation",cx:3.6287395608159727,ly:283.0666063211208,rotation:[0,0,-.25695756630108585],solarPowerTower:{},id:"qKhYC3p1wiYeGuqWSSHJ89",color:"#999999",normal:[0,0,1],cy:-13.583365825686094,lx:337.3327572637294,parentId:"Ground",lz:.1,solarUpdraftTower:{},cz:.05,selected:!1,solarAbsorberPipe:{}},{filled:!0,selectedIndex:37,id:"gxiitHUfviQVqFAUKnd2B7",cz:0,cx:0,lz:.4,cy:0,lx:.4,selected:!1,color:"white",type:"Polygon",parentId:"qKhYC3p1wiYeGuqWSSHJ89",normal:[0,0,1],vertices:[{x:-.21350077712137278,y:-.42075759570318405},{x:-.2787182797987076,y:-.3183082097551242},{x:-.30984481516743556,y:-.20702698019085236},{x:-.3083625991974962,y:-.09044664445685331},{x:-.27865660234861234,y:.00706547489296964},{x:-.33053416129649227,y:-.01236458106269687},{x:-.37203620845479624,y:-.008831843616212049},{x:-.4120560396431608,y:.017663687232424098},{x:-.45504030277140417,y:.07065474892969639},{x:-.4846846221701927,y:.14660860402912002},{x:-.4802379742603744,y:.23492704019124053},{x:-.4594869506812224,y:.29145083933499766},{x:-.42094933546279734,y:.3409091635857851},{x:-.37500064039467507,y:.3762365380506333},{x:-.3379452411461894,y:.3886011191133302},{x:-.27717438637867287,y:.3886011191133302},{x:-.23270790728049007,y:.3691710631576637},{x:-.19713472400194382,y:.3373764261393003},{x:-.17193705251297356,y:.29851631422796726},{x:-.1467393810240033,y:.24022614636096776},{x:-.14525716505406386,y:.1784032410474834},{x:-.1585971087835187,y:.1236458106269687},{x:-.12450614147491189,y:.13601039168966556},{x:-.07855744640678965,y:.1625059225383017},{x:.004446647909818281,y:.1625059225383017},{x:.05187755894787995,y:.14130949785939279},{x:.08152187834666849,y:.12011307318048388},{x:.07411079849697136,y:.1607395538150593},{x:.06966415058715308,y:.22079609040530124},{x:.08448631028654735,y:.28261899571878557},{x:.12154170953503303,y:.3391427948625427},{x:.18972364415224668,y:.3903674878365726},{x:.27569217040873345,y:.3903674878365726},{x:.315712001597098,y:.3656383257111788},{x:.37203620845479624,y:.3161800014603914},{x:.40464495979346365,y:.2472916212539374},{x:.4090916077032819,y:.17487050360099857},{x:.39575166397382705,y:.09891664850157496},{x:.36758956054497793,y:.04945832425078748},{x:.3112653536872797,y:.00176636872324241},{x:.26976330652897573,y:-.017663687232424098},{x:.21936796355103522,y:-.017663687232424098},{x:.19417029206206496,y:-.01236458106269687},{x:.22677904340073238,y:-.10951486084102942},{x:.22671736595063713,y:-.22645703614651888},{x:.1852153187923332,y:-.3465701093270028},{x:.10968398177551761,y:-.4468912869803297},{x:.004446647909818281,y:-.49105050506139},{x:-.07559301446691079,y:-.49281687378463235},{x:-.14457773451918945,y:-.46315044506100184}],ly:.4,rotation:[0,0,-.25695756630108585],foundationId:"qKhYC3p1wiYeGuqWSSHJ89",opacity:0},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037616685320439464,cy:-.48857758884885055,cz:.1,lx:28.799999999999997,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kWpkpkWKF1uWgdwJ2NZefx",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:42.076837683556896},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0372083877509681,cy:-.4744466390629113,cz:.1,lx:50.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dK6YzfpNPfiWaeFn2QffwS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:73.63446594622458},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03654996905677188,cy:-.460315689276972,cz:.1,lx:73.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2YnbhMS1ahtpsDUt83Kmqa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:106.94529577904046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.031199169405290578,cy:-.4461847394910327,cz:.1,lx:92.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rZ6mfN6qq8rs7avswS9pu2",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:134.99652090141174},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03621493966368436,cy:-.43205378970509345,cz:.1,lx:104.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nsxJE4hnqqqbojxtQF5XmZ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:152.52853660289378},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04202884346728941,cy:-.41792283991915413,cz:.1,lx:115.19999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"65qqYMw5kK9P2gpyyLouG5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:168.30735073422758},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04120703986508323,cy:-.40379189013321487,cz:.1,lx:122.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sNWVSiGrgGLPazQHQc81Q",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:178.8265601551169},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04038523626287707,cy:-.3896609403472756,cz:.1,lx:128.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cnEFmUzsqP1tLRHrUQvSwW",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:187.59256800585786},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03956343266067097,cy:-.3755299905613363,cz:.1,lx:135.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"98MNypEPPBsYie5TNeQKR6",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:198.11177742674707},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03874162905846479,cy:-.36139904077539703,cz:.1,lx:141.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xb5Buj7cVMwRPovXehf8wX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:206.87778527748813},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.037919825456258605,cy:-.34726809098945777,cz:.1,lx:148.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9cdDw2HjNqp1VMPzxiNCdw",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:217.39699469837734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039402378999016274,cy:-.33313714120351845,cz:.1,lx:153.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8zxNS5x3yVnoFnibsJjUwa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:224.4098009789702},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04145884091268481,cy:-.3190061914175792,cz:.1,lx:158.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2RRuCpeWAGmBTfC2dhxMwq",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:231.422607259563},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04149659769772568,cy:-.3048752416316399,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iv6ViUw3EJjpR2TGVGwYEb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04103158876597998,cy:-.2907442918457006,cz:.1,lx:164.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fW2H3FSf6TjWNbMrKb1Lkt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:240.18861511030403},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040566579834234257,cy:-.2766133420597614,cz:.1,lx:168,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2t1Xvha9SQuwVN7KfkUeiy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:245.44821982074862},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04010157090248856,cy:-.2624823922738221,cz:.1,lx:170.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"8iBoV7XvdfudFjFhHgKqTa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:248.95462296104498},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.039636561970742834,cy:-.2483514424878828,cz:.1,lx:174,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wYMRLZC1rubPv5oYgrbkPg",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:254.21422767148965},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03917155303899711,cy:-.2342204927019435,cz:.1,lx:176.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tdEaYaSRTP4xPW2tL6xYLX",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:257.7206308117861},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.0394392928303727,cy:-.22008954291600424,cz:.1,lx:178.79999999999998,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"5M1u3s5y7Yg9TFyx3QAJka",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:261.2270339520825},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04141185432912459,cy:-.20595859313006498,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hiA62xMKPaFVvMB4EbNPY4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04144393579015737,cy:-.19182764334412566,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"b54t9D1QjNBLmMTU63QWVT",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04135037805808456,cy:-.1776966935581864,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"d1YSCd8j3DVVmp36H3tHZz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04125682032601172,cy:-.16356574377224714,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1ysUo9HPCMC5bpSzendt1P",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04116326259393882,cy:-.14943479398630782,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2GwbaiKPvFUtnmPT96gojn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04106970486186601,cy:-.13530384420036856,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jfCpXtMzyB64DGxKrDZTJ5",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04097614712979322,cy:-.1211728944144293,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"49X8WCb1TJhiSctnjKxN4r",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04165455280196828,cy:-.10704194462849004,cz:.1,lx:180,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"9EUafkcKKdEjXyJwgKUn9F",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:262.98023552223066},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04393626708296591,cy:-.09291099484255072,cz:.1,lx:177.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"83ZWm7TJF8qdoueqVfWe1p",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:259.47383238193424},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04420570767416232,cy:-.07878004505661146,cz:.1,lx:175.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"iEjavascg418skk9iKNiXc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:255.9674292416379},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04442483385188012,cy:-.0646490952706722,cz:.1,lx:171.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mEQPpZurmPLPYfvHBtjBp8",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:250.7078245311932},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04464396002959792,cy:-.05051814548473288,cz:.1,lx:169.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jXz3fip3tXcdriBZEWDqpy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:247.20142139089677},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04486308620731577,cy:-.03638719569879362,cz:.1,lx:165.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eqHXHHJiV6yMbr5L1r1Ld7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:241.9418166804522},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.04508221238503357,cy:-.022256245912854355,cz:.1,lx:162,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nX2ypmuMKZwqMh2zBmNNcy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:236.68221197000761},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.340155090410463,cy:-.008125296126915038,cz:.1,lx:9.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wnN4Cfoo6RAEcvrqb2PcCi",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:14.025612561185637},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.0008397564506628652,cy:-.008125296126915038,cz:.1,lx:192,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"41tmtPqEDkBjyum5o2HyTb",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:280.51225122371267},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.33919569243719283,cy:.006005653659024224,cz:.1,lx:34.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nUZy35meWUt3qFXdKcjG8T",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:50.84284553429793},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.01707173035142423,cy:.006005653659024224,cz:.1,lx:199.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"42nshWJYmviEWoTkQyU4n7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:291.0314606446019},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.040942647871871296,cy:.02013660344496354,cz:.1,lx:249.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"woLsJFnRDToiWqRHeJaj7e",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:364.6659265908265},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03832955601375582,cy:.03426755323090275,cz:.1,lx:259.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"co9GdUpZDxCi3rLez9eaX9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:378.6915391520121},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03571646415564039,cy:.048398503016842065,cz:.1,lx:268.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jbUV2vPsguy1CptC637MTc",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:392.7171517131978},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03645227851214608,cy:.06252945280278138,cz:.1,lx:276,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qkmUJNGwXdSLVnfZeY68uS",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:403.2363611340871},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03734260936957107,cy:.07666040258872059,cz:.1,lx:282,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6iGc4xFsJd9M2yj74iPeRR",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:412.00236898482797},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03607706284374246,cy:.0907913523746599,cz:.1,lx:286.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"omBvXRQwdAtvY6W2nJwnSu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:419.0151752654209},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.035576630292429856,cy:.10492230216059922,cz:.1,lx:290.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"86V9dMayifHM3TKqinFVHY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:424.27477997586544},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.19735877990437656,cy:.11905325194653843,cz:.1,lx:186,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hbiQ95FcNxgSx4s8JJpjr7",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:271.7462433729717},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24049456177332856,cy:.11905325194653843,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"nhNSmKpJTEt2hyfDoJmW3v",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31770381965182604,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"phxBsJWZVwgu5cw4g8V4wY",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.03308870698607633,cy:.13318420173247775,cz:.1,lx:62.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"tuJ1gTPzUhawyfMHxKao6u",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:91.16648164770662},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24046099085550587,cy:.13318420173247775,cz:.1,lx:108,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jtBNT6PcfTMUK2qEAoEKzy",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:157.78814131333837},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31874014769682496,cy:.14731515151841706,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3Kj2UQDiRgd2551SXnotBs",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.033764879795220165,cy:.14731515151841706,cz:.1,lx:44.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"39FZrG2AvYzTH8N4iEhi3W",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:64.86845809548358},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24041303240147344,cy:.14731515151841706,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"oK7nq2Fur7VVa6ALjsnPy9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3169744670961393,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fnB5YFmLgA7bBpseBoJH8k",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.036255002624718397,cy:.16144610130435627,cz:.1,lx:31.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"dZPmGJSNE99kF5mskFBu8m",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:45.58324082385331},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.240365073947441,cy:.16144610130435627,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"xdu2VhAyxp7GHG6GkN2Rak",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3148974522014887,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"g7Pg4uWoBiYjTsLY8RraRJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.24100628905692523,cy:.1755770510902956,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"hDztK9BKaGUf2AywiKnX14",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31399347805252253,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qRpgEphc3gwtfun3kDAQ8w",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402168091310728,cy:.1897080008762349,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"vc7S9aQUn3Nxbw9os9915M",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31380714233058726,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"kRsxFHjzWbANb66JdKxPEn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23925985477458384,cy:.2038389506621741,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"p7ZRVtya7nPesW49gxfWje",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.313620806608652,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mwBcFhJw4XwTYpgx3t8Kq4",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.238302900418095,cy:.21796990044811343,cz:.1,lx:112.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6LEGw3yDjniXRNLBc3hQEt",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:164.80094759393123},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31343447088671683,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"wQatxUrP1g2jmJrfUibX2C",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23916510110353983,cy:.23210085023405264,cz:.1,lx:111.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6yT9UzJjZp1c4agfQAh2Za",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:163.04774602378293},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3127806949383655,cy:.24623180001999195,cz:.1,lx:109.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sWWpxqpZqAXKAZerDK9Cn",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:159.5413428834866},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2402069428031286,cy:.24623180001999195,cz:.1,lx:110.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"teapWmNzVUv7LoUgjnLHJu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:161.29454445363484},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3132410802017558,cy:.26036274980593127,cz:.1,lx:105.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"aGUWAZyZhfeCxcewvQ7kQ9",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:154.281738173042},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2385564165948445,cy:.26036274980593127,cz:.1,lx:106.8,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"pKCiy2oM8YqTjYeCwFccee",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:156.03493974319017},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3137014654651461,cy:.2744936995918705,cz:.1,lx:102,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"mtSGfTvotfJZuE5rKNWHKD",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:149.02213346259734},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2369058903865603,cy:.2744936995918705,cz:.1,lx:103.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"25YjZ6eNgXEZMpGdn5MeCJ",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:150.77533503274557},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3141618507285363,cy:.2886246493778098,cz:.1,lx:97.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"3QmRQECQLpN1r5BFbEnPZu",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:142.0093271820046},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23694469336187218,cy:.2886246493778098,cz:.1,lx:98.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"7fQN2CLRbYff7Kgk1L8AFk",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:143.76252875215275},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3125435243418768,cy:.3027555991637491,cz:.1,lx:91.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"2sok3ZhMGD367xZKYFitkd",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:133.24331933126356},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23823213095114654,cy:.3027555991637491,cz:.1,lx:93.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"knqe8wxaNzdbbkkGeV6nft",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:136.74972247155998},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3116195455554211,cy:.3168865489496883,cz:.1,lx:85.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"sJtpFF4zqnp47K3f8FHJoz",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:124.4773114805225},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23857920295070112,cy:.3168865489496883,cz:.1,lx:87.6,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"eenbnKZSxHXg341eYvv6YL",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:127.98371462081894},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31069556676896537,cy:.33101749873562764,cz:.1,lx:78,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rnrxkB2JpncBeLWxT29QJC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:113.9581020596333},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23516481259137628,cy:.33101749873562764,cz:.1,lx:79.2,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"cZtPSF2YivPA1jCjxoWje1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:115.7113036297815},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31044025346401344,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"rJSTWke3wchC8uFSfcSzQ1",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23449459815656987,cy:.34514844852156695,cz:.1,lx:68.39999999999999,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"6Hp4zwmET4Ch6ZFmL8mGpC",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:99.93248949844762},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.3091556662900659,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"fJ8958fxoKHVFgspEjynzP",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.2358526876659724,cy:.35927939830750616,cz:.1,lx:56.4,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"1CoiFcccuM9VRQ7ukyN4aa",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:82.40047379696561},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:-.31159009373160274,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"jzJ71uWBpujykTfLckxzbh",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535},{type:"Solar Panel",pvModelName:"FS-495",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:2,poleRadius:.05,poleSpacing:3,cx:.23483923162347198,cy:.3734103480934455,cz:.1,lx:43.199999999999996,ly:2.4,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.25695756630108585],color:"#fff",frameColor:"white",parentId:"qKhYC3p1wiYeGuqWSSHJ89",foundationId:"qKhYC3p1wiYeGuqWSSHJ89",id:"qYWcALWx8U3KNV1wk9Ec8j",referenceId:"gxiitHUfviQVqFAUKnd2B7",selected:!1,dailyYield:63.11525652533535}],rrn={showWeatherPanel:!1,weatherPanelY:0,showDesignInfoPanel:!0,yearlyLightSensorPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,showInfoPanel:!0,panCenter2D:[39.10459750703379,-60.079467366675814,-6008213787399433e-20],shadowEnabled:!0,stickyNotePanelY:0,theme:"Default",autoRotate:!1,cameraPosition2D:[39.10459750703379,-60.079617373283014,150],showYearlyPvYieldPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-6,showGroundPanel:!1,dailyLightSensorPanelX:0,cameraZoom:4.904200711979575,showDailyPvYieldPanel:!1,cameraPosition:[94.96625797546166,-156.07916973403763,226.41931192253614],weatherPanelX:0,showInstructionPanel:!0,groundPanelY:0,mapTilt:0,groundColor:"#16a5a5",panCenter:[21.38313493992602,-35.00376702263927,0],showMapPanel:!1,enableRotate:!0,heliodon:!1,groundImage:!0,dailyLightSensorPanelY:0,mapZoom:17,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,groundPanelX:0,heliodonPanelY:9,mapType:"hybrid",mapWeatherStations:!1,axes:!0,orthographic:!1,stickyNotePanelX:0,showHeliodonPanel:!1,yearlyLightSensorPanelX:0,solarPanelShininess:0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showEconomicsPanel:!1},arn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},lrn=1,srn={rowAxis:"Left-Right",tiltAngle:.5235987755982988,poleHeight:2,poleSpacing:3,orientation:"Landscape",rowsPerRack:4,interRowSpacing:4,pvModelName:"FS-495"},crn={orientation:"Landscape",maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,minimumRowsPerRack:1,rowAxis:"Left-Right",poleHeight:1,poleSpacing:5,maximumInterRowSpacing:10},urn={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,crossoverRate:.5,convergenceThreshold:.01,maximumGenerations:5,searchMethod:1,populationSize:20,selectionRate:.5,selectionMethod:1,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle"},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,inertia:.8,convergenceThreshold:.01,swarmSize:20,searchMethod:1,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,vmax:.01,maximumSteps:5}},drn={operationalCostPerUnit:.15,projectLifeSpan:25,electricitySellingPrice:.4},frn=[],hrn={docid:$in,time:Qin,timestamp:Zin,userid:ern,owner:trn,email:nrn,world:orn,elements:irn,view:rrn,graphState:arn,evolutionMethod:lrn,solarPanelArrayLayoutParams:srn,solarPanelArrayLayoutConstraints:crn,evolutionaryAlgorithmState:urn,economicsParams:drn,notes:frn},prn="j9Q8R8iNXqFBaujVRfHNC2",grn="05/18/2022 02:05 pm",mrn=1652897143355,yrn="QWecNcxhyvP6j6sBN11hBsfZDau1",Arn=null,wrn=null,vrn={latitude:35.81284404374666,pvGridCellSize:.5,timesPerHour:4,longitude:-78.7501240418377,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"2401 Trenton Rd, Raleigh, NC 27607, USA",date:"4/15/2022 10:15:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},xrn=[{cy:.10173433320329936,normal:[0,0,1],lz:.1,ly:51.9907667035674,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.005905293451752419,cz:.05,rotation:[0,0,0],lx:75.61279135922823,selected:!1,parentId:"Ground",locked:!0},{poleRadius:.05,type:"Solar Panel",lx:1.984,lz:.046,relativeAzimuth:0,drawSunBeam:!1,rotation:[0,0,0],ly:21.648,normal:[0,0,1],poleSpacing:3,cx:.08211037572567748,trackerType:"HSAT",cy:.2234368441602269,label:"Row3",cz:.5000000074506161,orientation:"Portrait",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:0,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.16248436170569222,cy:.2234368441602269,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLn1japfJEgTKBPWbNzur1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.23879905546449415,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrAXVLJvJZKmHgq57E2MQB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.31836118300026617,cy:.2233645095937837,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRW2bpMcmbgt4enWCcDP51",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39629959364755313,cy:.22343686243351435,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJsi7hiees32d12b6mBMhW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.47586172118332537,cy:.22461757079785805,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KhMg2uodxoo1Z4XL87XGA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025482481899054073,cy:.22225611752259564,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"26aZGW371fb7o1PfURQ3zg",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07457830401313895,cy:.2246175890711455,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUt5FR6ocPi4PpiJnSm7dt",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15495228999315366,cy:.2210754091582519,cz:.5000000074506517,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KjddEKBMzvacaiu1qXZ6p",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23532627597316833,cy:.22107540915833737,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v1S992hiHrrXWRFsDpx8ie",selected:!1,drawSunBeam:!1},{type:"Cuboid",cx:-32.63845852923165,cy:15.792302218810745,cz:1.2553344031996811,lx:5.133059413294499,ly:13.392050108713438,lz:2.5106688063993623,color:"gray",normal:[0,0,1],rotation:[0,0,0],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"1x2m4C7FHzAwDkHxXXdvsn",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-28.54553838833994,cy:11.2385720166683,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.46971942316836673,cy:-.2583893879929419,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5MXRMjMkweGaqcjbtGi5WU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3904301692588086,cy:-.2623054559086292,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9xkDVHA2779LgaH8YdZCmx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3131409153492504,cy:-.26022152382431646,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN37zmeNfQecDk9remsomw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23385166143969227,cy:-.26413759174000373,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Pif4TuZ9DpVbtnBEVtva",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.15456240753013412,cy:-.260053659655691,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g39HnTg7UwuA8CBPjuTqTF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.07527315362057596,cy:-.25996972757137826,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oFMzredZvfguD3UXAtxX6K",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004016100288982194,cy:-.25988579548706553,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ABmv4sfkBHxsAyYodagum",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.08330535419854035,cy:-.2618018634027528,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k577u5kHuxBEHJLmRQtnAz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1625946081080985,cy:-.26371793131844007,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w4he3pd3YzeFnd3X45S2gw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.24188386201765666,cy:-.26163399923412733,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pyLs3bLikRTcZrrF7e1TcH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3167669019313885,cy:-.25817391579286053,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6wAigPY54YvU4hpiRBKYf4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.39751068943275564,cy:-.26121089229567773,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iTsCanVgttoMHWKMPD8d5z",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4775584098004903,cy:-.2553834493088245,cz:.5000000074505806,lx:1.984,ly:21.648,lz:.046,trackerType:"HSAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o5ef4DVoUQeG4ovcxCKPpK",selected:!1}],brn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[31.151690262644525,60.08959522074622,31.574651861408782],panCenter:[5.074127461000436,15.829331204955876,0],orthographic:!1,enableRotate:!0,cameraZoom:19,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.577303319163851,-9.663080657094188,49.999990336648274],panCenter2D:[8.577303319163851,-9.663030654871722,-9663320744681337e-21],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},Srn=1,Trn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Prn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Crn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Rrn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Hrn=[],Mrn={docid:prn,time:grn,timestamp:mrn,userid:yrn,owner:Arn,email:wrn,world:vrn,elements:xrn,view:brn,evolutionMethod:Srn,solarPanelArrayLayoutParams:Trn,solarPanelArrayLayoutConstraints:Prn,evolutionaryAlgorithmState:Crn,economicsParams:Rrn,notes:Hrn},Irn="axSGqNWcpePCTLspRawDR9",zrn="05/18/2022 12:07 pm",Drn=1652890029091,Ern="QWecNcxhyvP6j6sBN11hBsfZDau1",krn=null,Frn=null,Lrn={latitude:34.661401193155264,pvGridCellSize:.5,timesPerHour:4,longitude:-118.08438229389954,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"3782 E Ave L, Lancaster, CA 93535, USA",date:"3/30/2022 11:30:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},Wrn=[{cy:.07254451818739938,normal:[0,0,1],lz:.1,ly:81.92819197480188,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.08412023344924435,cz:.05,rotation:[0,0,0],lx:82.66288858793011,selected:!1,parentId:"Ground",textureType:"No Foundation Texture",locked:!0},{type:"Human",name:"Jack",cx:49.29766862442634,cy:-12.729504090108108,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.45},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"AADAT",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1.2,poleRadius:.05,poleSpacing:3,cx:.2518807579243098,cy:.010250386487824486,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5786gicyfJksUGkwhvexAb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25427388005268026,cy:-.04395224581399519,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k9w88akkXvyeym1nEoJCjH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2566670021810507,cy:-.09815487811581487,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i4BrqTV8VhJzUFMcA4xEMs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2530944088658749,cy:-.1536069244602506,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vcRG9TH79RxwCJhnX4D2hp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25192019869553334,cy:-.21079873518169914,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtH2MUzGv2KfYvP1V1Rm6A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19991063417063695,cy:-.18536196640558186,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wv9ywiGPQRmqsVCgAzNiwq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19064139133153096,cy:.15891530324997943,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ucdEe1iLcEHHhf7vQqUUBk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10269156717338637,cy:-.12788362495230762,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRH83oBMSFMwbXKKj29Qwe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10314333812802398,cy:-.013487174391434594,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eQKzkcGn74q7YicXK2W4tT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15886708542833353,cy:.12620926239733848,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDRJL26Ytf5c8uDCiZ3aXx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15339180094769295,cy:.06763384458981574,cz:.5000000074506517,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5VPk2zFGHCYnEvmb4Swkfx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1533504351516886,cy:.011186366145812043,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWLpnzd5GQucX4FdT7Xfxt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1555155212376684,cy:.24112965852461848,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fafEASeWSKzVyfD9jxhX3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1589318952851763,cy:.18059187676792832,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8oEiCQAuNSHPSDiR6LUNbE",selected:!1,drawSunBeam:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25484854246591865,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hS7hPBhsXEFxoPaaW27Bei",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058180152618152965,cy:.12709108304539296,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eBcpt1Wt3T5EkddP5aWE5r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09325025604322237,cy:.0983124515002669,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rVyrwEiwe9ZPbBS99cPzQZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14277629723213114,cy:.015285529455875321,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sFJojw9tEoGQyahPFbrMGm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04294631891940937,cy:.06901057210886578,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekjGZoifbx54ZxvxR9nd4Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2920444708915642,cy:.04225008319918739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BDM99QnBLCJL4C6i8MSSs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2886934107606972,cy:.09972897002350474,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gEHyNnwSt5QbZ5cmLo61av",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05646578271859648,cy:.06997519331444636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5wJr6yXENMUDnfPe9dKk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041385173102717936,cy:.12610163574289743,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXjk7hou8dch4h29ZdrRwv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1923023384210398,cy:.10145193857791704,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hyHFcJjhpxKcY4WiqVxvnY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1895020308870361,cy:.043602527595053696,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYZ6sBUNi7ENt9JGidVuq8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0896200750136689,cy:.15848596846951796,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bnwN7888LrQM7dC3CaukC4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25776231965010593,cy:.12762742673544877,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMTxMasD2j1rCN41KmcoKf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2045542377026502,cy:.09879647040569517,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jK4TDxAWQQmZt76MiUgYBj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0915388849864329,cy:.04212814396977042,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4AZoM6mfHgnqyYfm1FKGHz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1422836298066917,cy:.07046201484554855,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2LodiR2ATEwXvrSF5QtqFJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0422721424424923,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cQzP6z5hZLemyfnuj3n9Dm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.04312289956203308,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oz6Y5UFdG5kpKdrsZGPPHy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006994600101448293,cy:.10028772676757898,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jDhoFMd3Yqniw6HmXCK6PZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10700608746564778,cy:.09929355585965646,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uyqQ937ezx3VdDJUFfzMi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1065134200402084,cy:.04361998501599436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GgRE418BL6BVETxL6mwZ7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05527600779451013,cy:.011806515962473143,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu2mR289eySb3y2d1ZZWgf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2060322399789683,cy:.044117070469955603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u558xjFbFWRjTHBfoZjc3B",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20553957255352892,cy:-.013047756735590265,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"st7NYqMPZnkacwsV9fNrTW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15578016258414895,cy:-.04436414033515022,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1H39aeiRM4xc1iUZYtAB8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05626134264538889,cy:-.04386705488118897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66Y2RUGQAkcJg6mWe5jRG5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10552808518932955,cy:-.07319509666490383,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8mkhtM6wG9Afn5AsZkJC3p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.21407673957857115,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmpLZMvpnpGmUxvk5iTgP1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10865037816756891,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ngNMpaj8EwRBxMeWvoeXys",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057634016263961675,cy:.18418869498027218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giC1j5cUtWifw2JwH5a5bP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007440498907186952,cy:.15762154422622862,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rs1mymysHmGoDcaan4oDsB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04193017390275545,cy:.18584914190239984,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPnwAA4FcFWHA7FqJJGQae",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.1567913207651648,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6KPu6mNrxywNai4UXzGBJ5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2567623965973961,cy:.18501891844133603,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1n372FWqJ9pVPw4eSXYmPV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2065688792406212,cy:.21490696303963497,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gi6tkDKs6NtgCMAAReWJAR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.004971965266689796,cy:-.01340448875292641,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLi7ggTT3PqwKQBJVjuniN",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14231720861630498,cy:.12856372308899353,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXLnMRMrRjtjArqFQVcTD3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24023570968935748,cy:.06961785735345952,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9g2NFucTWZE9VvPJ1U9fnX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24270424332985463,cy:.12607305270580196,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e6vsB5ZrLgyMEs8nt19DUv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09459222490002743,cy:-.012574265291862577,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hQr9Fef5Fh7zxEbLkL1VMo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04357586299642019,cy:-.04329253335122541,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJiHeWQvfcH93LJDacJ5U2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.006617654360354536,cy:-.06985968410526895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"av2DnyKiv87Tdt3JFpxyHB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2057460346937889,cy:-.07068990756633277,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tzhyrWaP1ZqrN4rpJQBLcB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15390682824334934,cy:-.1005779521646317,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nRRF2j6QrScDDkbrs6m4a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20327750105329176,cy:-.1296357733018668,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7y7rBQL5vGHMt8ZANGKmdr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15472967279018185,cy:-.15703314751697414,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cN1AzorJdqMR2VPo9KVZma",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.055165482623464525,cy:-.10306862254782327,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dfu9LFXVjUWPvnPcDkjy6R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1390685759174889,cy:.1852541725070993,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rxx1fqNmXiDTg1ZhJ1QnGn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09067926762777045,cy:.21416267146874132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SRi5DvvrpV4dNgiTvJ9Je",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00800945322626064,cy:.21480508255677777,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"266hnZ1rnYA5XLvbZ8txcr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04147760940199774,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7vBjqcNWEe5WcN3ZPbNV6e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.058580287492818954,cy:.24037406770776895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"syucoPsRr3v2eHQaYYfqug",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007769636725919854,cy:.27113384694018494,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kWziiofHHGucoQrSYimggR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057016882853837374,cy:.2987387770205583,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"idtAosKbm3W95AtcEbYCdb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10782753362073655,cy:.2695564223641636,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6xoYbDnXopc3sxqZhRMx2C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10860279827645342,cy:.32854167949809765,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bpjusQDMhzuD6wY6N7LYpe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1592693110228126,cy:.35588539966209315,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tX9ZhVSGraSP2oyuKxZRks",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n7JZKTvm9Z74h9Q2sTZDE3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.272665381771672,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"edXx1WDDhJHy3n7mzY55eB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20522265979276647,cy:.3297305368965322,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpFtUM9gLUrhBCuhPrUxch",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20757924178096934,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pezhDsUoQ6nUspAa69MKkr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oM9xei2CxtE8z6PBbtfg9f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.3546965422636585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boLotmiivinNNHWUkJNPK1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2570674635332272,cy:.30000910193566754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gy1y7cW6cjooGgNpDRcVqF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25588917253912563,cy:.2405662320139381,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xnSPHfaBhXAD7ssnz5CFcM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"khKhaS8ssRAseSkBgDXTD4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.012305611514497291,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Z7xaYhMGZDK551XajN4xD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.012660393852629088,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w29qA4SyEe8XYJFPW7NZFY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.04238182881349372,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xtibwmyRkGDZD1aXvyKhQs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09170667072078098,cy:-.07210326377435848,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1PogYHu7FjwwFaSG7CbAN4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:-.10063584133678857,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iPqMK3ttEsCxnPof1ShTJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.12441298930548035,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9GmoNmHrHgvD95Qd2V3rCJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.056757994535992624,cy:-.1588898538600834,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kuKrRiiiHZzLJDtmorgeuP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.18623357402407878,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dNLLoyzyJAC4ab9yNV49YW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2K3F8F31VVhyhEKnxs3Erf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.24092101435206986,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fDAsp6SESYssbfVnpQgG3D",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.2718313067113691,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2zKUQEiEH6NvsSMtHEjR6F",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3030208123031809,cy:-.1850447166256443,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w9y4ucdHTVjss2inC3NCUr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.23950929397792342,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbco6Y3hA3xGnGqyMDpR5N",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.3006836542668394,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3ULG8zNaZ7DoT4B28Qot6U",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.1276476065924771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3AUeCn3oqRmECRW8VZWFNk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30218309151864386,cy:-.07084284346705509,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aQpjCoWjLCxvJeQv5oUMVb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3013169393640835,cy:-.01403808034163304,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vBbWMduvCeR6vTDiguHAbY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.04364060221648771,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"okZoQ3ysJTWRd5qkZTjBii",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30304924367320435,cy:.0986975264765121,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vb4fTp2UdSaTbvLvi9dHuG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.15725012846733166,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8wtcFzrh2coJE8Az2epH5T",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.21405489159275365,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cV7ZMqR486KK5uKiKyHsbD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30478154798232504,cy:.26911181585277805,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6NYbyBHAQVquv8YKDCR6oa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30629425197116866,cy:.3273569087969701,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snK592eqLd3gtZUGisH7Bi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3052840147301011,cy:.3874954089039585,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k347z912Q33SPm4HjDf6Ts",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30526315555234357,cy:.4432203131739659,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbe5VKYd1udpQPzu38HQ7E",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:-.324141032242491,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swtWVRnxgYawbA874SNx1j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2994859393208767,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5S3HYU2UW8isQw3SzAvJM6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JQUVSMiMnHRjQS21Wnniz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2KniKkjJuWzm1bjpPzKSFN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.2111995793912052,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwTA44T8asPKftHuSv9Kxj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.35133074306133744,cy:-.15294556686791044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t3E52wZbbHnADbh2UbMakk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.09825812653991937,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"va5gGZiucR3BZro2UmUfwP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:-.04000411401662455,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bH3pA8zNDVqLrfvegAx9xh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juS4o8FwY72f2ZGpUyJTFT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mWzf3i5nYWUXB7AZpupMGw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.12643592176421772,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w3LD5JnAsnpX4oBsSFDj3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aYmwXUwtmrJa7BKf4smZKd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsDudJG9V3zUGU3c9JEDW1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3536873250495403,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"93uFEA1egTtZQgpK4YcPrJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.35707425706052764,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u3Q4mYsqDTVks8sDVy3DEP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3548656160436416,cy:.4153282695838226,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6riq3e9uC7h5gp6Zomw7hq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.015038108649498227,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rPCnFh8P3Fbb8rP7NJpXsJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jzhnP1nX9SurbY1UtSQfGN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.0697255489774893,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pY9hiMs2za6x5s29sH6TC2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7QH8sk9RVXWAVfxVKeVt7q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sGHLds88BbZkPQYtZDaLUx",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.1588898538600833,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"99eVg8SaLEcFCJMaPWXD8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00726977278373475,cy:-.18504471662564428,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"71eWvY68edyj2BgXY8WQ4o",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05440141254779,cy:-.21357729418807442,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7cCL63qwoUHSbtu2cHebcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.24329872914893902,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qibcJYeM1UJiSYmvPBWTJW",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15219956505820442,cy:-.27183130671136924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"94NK21a9LTKKEhFcnnw4vS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20286607780456356,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ctBifLhmGgP5j5rfZjUDLe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3489741610731348,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6eG7N9xmRDsFuyZqn8egmG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20875753277507064,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fmhVUSuHzAWRC1bU9xS2gN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:.41176169738851875,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sakLKAcwmQ8kEENPFgVJs7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10978108927055467,cy:.3832291198260886,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3rzPNvgYH4pwdLcevFMKV3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1iMnenTQz4wtpVYNe7J99s",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:.32854167949809754,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6xmo5Pn4wef9kZe2C6xqZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.2964425297403637,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1Hb1yh1DVHfQP14FUSJEpj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fWLDpBHepwmvJCiLxMU4RS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cWx48TmtxbDy2rScmVSy7R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.21678908404524636,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bFFj7b63cxrmzb377KjU2M",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mAx1Vzsd2drZJEgWexVM84",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.15734621412351696,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"46a2ja51RhKgBss3KCVLnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.12762477916265227,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tUaAfUGCxujqu9Y3vxe3yK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3909925832225313,cy:.09909220160022218,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7a2AMmJ4fbqLMH45H2iCNA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.07174848143622668,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kkUqgHLFPwyrfMCV6mKfD5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.04321590387379655,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gAiz2xxrUp1UfsRWXcBSLS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMdBxe5wEMLJ9PEggVeAu9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.03868357598621893,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxnEnb3NzQY8Ge8Jm8SA7f",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.011982936760140374,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sybUdESzHSnVaXwGfuQ7wf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aPHnrEqwvsnVWtCHhtBxTy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10742450728235205,cy:.4438608471462526,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wxemx2DoJf46iBNpWXybjK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08935008873257824,cy:.32973053689653214,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTFnxGqojRvyWxfgRvtskF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mzpfv3SH2Wnh3egtjjBKvT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.27028766697480283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncPJvuiPcTCVtFi2He6gAs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:.24056623201393804,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6uuRE7GHEcAEe4K7GVHngk",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wHfsLSo1vVCiKJ3F2NUC8n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:.1823122194906433,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ebXYmm7boDVkw8327EMtzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.1549684993266478,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rsxKthqzEDpLfcWrcWU6dN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:.12524706436578312,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pryGHMWa1mhgMofvvUeLdo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:.013494468912931856,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FLYvn8ndZAh8K2QPPyYxf",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8jMxMQHGxEvruq2J4uUU2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.044759543610362974,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dVQN7Pi8ydDNrsoiF2hfZe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qAgJ475UJeJY7FPcGEdpNY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.39217087421663255,cy:-.0721032637743584,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpAxQujNQAySa9aSeZdEoX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYHHa97S8RXp19NoqTvPJr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.10182469873522315,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6SeEC7fQCdKXPjZxSsdZm8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.127979561500784,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aRFAARutT3NYzQH7JngjR9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14237318346714029,cy:-.15770099646164876,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pgXWnPt5iKo75wpgk8bAas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08817179773847693,cy:-.18623357402407884,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vfvvk63mRwsRQ13tLkM2Wu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4VAyz7v3pJ4ecCEvKkELct",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0049131907955319975,cy:-.23973215695363526,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rXXDtaCQ441CBebznnvwVP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05204483055958712,cy:-.26826473451606536,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8GbJtcsWZn3sFCVai2uXdu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10506792529414916,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkJiqSfGcrwkF7R5W6oWrR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1545561470464073,cy:-.32770760443779473,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mjVgFDC3MuuSbrQiLz8beg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.20050949581636093,cy:-.35386246720335574,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eZQnyiKuHTgpriho1XTkFq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.3871504743595241,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nnhD5KcBckk4FAXqgrJz1m",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30184252130907957,cy:-.4121164797266506,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vddHcoVWtVSFne7zHaZDoV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.041040157974421676,cy:.4129505547869533,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nthJ9ZXFLF4YVLkK6FJg3G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.38560683462295775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pHpx6NN38VbLKsAdjvQq5X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.3535076848652239,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tReNdr6BMknW3pKaaKgT2r",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:.3321082516934013,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pky3qKmcQv6goYMFfPrQyu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:.30000910193566743,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9Gh4oxs7xr6bu526hDNvv2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fxzu2mix8VrfcwwGyVpWmZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.24175508941237273,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e8sL54r9712juxaxDn8oSw",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:.21441136924837714,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kNyq87ppcAxC6iAJLfFYPn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.18706764908438164,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3uTywdm7RShuhnZCn9reC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:.4426719897478181,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pJncozy6Rz8EfewNTzBV9a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:.41413941218538786,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvMUbsrcSiSjwP7Y5tU1LL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18832653223709409,cy:.3867956920213924,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1G8NT1Zoz87anyKBPQsHLd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i9YQqnCZv92BFJFHn7cCiB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3261639647012283,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s3UMZ6yA8AhemDugYV8vL9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.29882024453723294,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iE5KVmshBFmCedVRvmAraQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.2714765243732374,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSoRZ2ohopc3Uk2eEhsaXz",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.23937737461550349,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tRnf3HbPJnHGQc3C1tHrm4",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.3000091019356675,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5GNzWP1xJUZHh9KT6YRFV6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gYVeyGSA6dumwRgt46oGj8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.3558853996620931,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3SLWKQyMH3qNnSL8cb6Mxe",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:.3856068346229578,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o1MFq3LbkcxftPFeSVY2YQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:.4177059843806916,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1x2T8djMTuLWynXEnNgMbT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:.44267198974781796,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccqgw8SRNmHVUFFbXRyYT9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:.4450497045446872,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m1JXedMn92Urk8nE9oPJHC",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:.4141394121853879,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o67PeKaAkvwQrD7JVLdGYg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3862794192461258,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bkfCZxyk73k4a4vrgwaj4L",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.35469654226365854,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vrgCite9XpUW1Cq3PuWhba",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:.4188948417791262,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRNc4mNhvgSvQLUkp5faWt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5xRxzmnaiMp3ypfUVQBWr3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.010804645766038935,cy:.4438608471462525,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CzxLZbvH5PomobdfeXNZp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.44029427495094886,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9h3yDXtr329orX1FLE5i63",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4031755468017982,cy:.3844179772245232,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7nTZRLPEdEtBjmsWCnB26y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.4165171269822571,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abEAsj1hGeo63K5YHetkKr",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4055321287900009,cy:.32973053689653226,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hsqeY3fPZZkvqziKNEVVas",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.3582631144589623,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dCHY6fHL88UK5U5JeNTwME",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:.4723934247086827,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8a2tR8FURhfjJTiYpNfCzv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.10063584133678853,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3TNP5AjyGeTgzNXWzYVznQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38510112825202436,cy:-.12560184670391483,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"saWHMFZynA21qy5pjZ1rg3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3367911974938678,cy:-.09825812653991942,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vYyqsMkXopji3o4ewZDzXj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4404808049747891,cy:-.15770099646164878,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bDcv52Ek3SJZueMz72m1rB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.18266700182877516,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pg6C9LvjyDQAKpVjTFWKhm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3426826524643748,cy:-.15413442426634502,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7xxy5WMi2eRmAFJQd4PEpL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2884812667357113,cy:-.13035727629765329,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bKrn5V4VqTw7TEK7QKYeA1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43930251398068787,cy:-.21476615158650897,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s6CxUXipAWMWAd8W2jdPk2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7pEWxcY19Ng2hczQx4C5sh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3391477794820706,cy:-.21238843678963976,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqhBmqo9RCaSK9b3hCeo3X",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.18385585922720973,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbbJ9oZ8jEaCweY8WgVHtK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.15532328166477963,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5DwWFBTuxqVLf5FzhT7Udm",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.18950482323119552,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n5ksBwaEKwnY1T4um6u5YV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.21595500898494352,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oRnvwa7g1CtYiocfQSv6ZH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09288496171488242,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"szeJxCXxaL2e3RjfwM8x47",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hFu14KzwBM87w56f6Cwr48",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sQMsnkxn9T5AgrjfJHH51n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.05557970354189131,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7GDJiXyhG6C4hNkW9Y5KQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10624621628825073,cy:-.3562401820002249,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kRdHgfFG6booP82zfM58L5",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:-.3835839021642204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bnXwcCDLMuTi7NBVNs9wq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2016877868104623,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2cSu4Me9dQhmQX73fnfjcT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.25235429955682165,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"epJz3sQxCaTSmtVk8L41pY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.4416590959688905,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5wXENdced4NnZ2UpBvdUR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.38981429222842984,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2dN8txQPwqUuXJ6MvLow8v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCzYNDZyfJEdri5oFDAX1A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29201613971801543,cy:-.2421098717505044,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xw95hcJakBfeUDzB5drZTb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2378147539893521,cy:-.21357729418807436,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aFDGFAZUmGKJWfMUn4u8W",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.2385432995552006,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYpaiw5NjZeqmt9x2asvgE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.2742090215082384,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bSFykzxR6KFC6U5RmABfAo",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.29798616947693,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"td3wNUExEJkcF3U68VMTCS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04457503095672587,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gqiho9LGuhUyb3Qus7okQR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2931944307121169,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kqCmYed2jAt9y67YpwCDE9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.2694535919144999,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dgxBqcP8E136o93HKbnb5Y",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.436945931992485,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d8xVLuSbdR3ZcdTaGVf3kE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3886360012343286,cy:-.3574290393986594,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mE2ubFBooCHdCnyZX6Q2fn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:-.3300853192346639,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNH5NZ3ioMN6XFUt4UpHjp",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.43812422298658643,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ov1As6JoGWeAANi2w4bAzb",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.387457710240227,cy:-.413305337125085,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9AGm3XGuztXYa4ZvvUC2qU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.44283738696299196,cy:-.4454044868828189,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"whp3eTFpZtyHh6MmQTeqsP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.33796948848796926,cy:-.384772759562655,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2tivptcQ7UJFtBc3QNMdjZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.3538624672033556,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BKcu35Qa4TPVNvr9QNtYS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.32889646183622934,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s8GdNU4Xh5bDiYNyPpM5c2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.295608454680061,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"geLZV2TE4SAkBTxY2H7z9C",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14001660147893752,cy:-.3277076044377948,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cR5NttdPtQtKZ2QuGZ4cGY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.3586178967970941,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kb64JmF4g2VHNUXt8PGp8P",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ohyVoqyh1fSJAZvoWLa7xg",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.23899304498345342,cy:-.3883393317579587,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mam3m1MFMR6QYaVhMhUf61",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.29083784872391416,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9otfxK8a8saUXNrV48ac1S",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.3450392344525775,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3FE8UkdGNZdxozENEdAKLF",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.2896595577298127,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1itKaxAe6PPjB36Ct9WPbt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24017133597755486,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mEwqoN1Hgzq1sZEWWYtYiS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19068311422529685,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mvPqyD2QhB4pgXGsya35Az",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.3859616169610895,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"icedHX9AjRRV6K9qLRi8h8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09052837972667965,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ixMrfpnNCx2pzdbjNDcETK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04693161294492862,cy:-.38239504476578573,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fJa1KgR4efS7rdWz3c5ws6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14119489247303899,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"niDVT6JMXYiQ1MfkaVXBh2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.19186140521939826,cy:-.4679927774530761,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9WTjUWsouqRDt3WAX9og5p",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.09406325270898373,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gJWF9BbGWqJ5RiBTFKBvEy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.04339673996262456,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8vSWbpHRJezXwxg2bzLK15",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.001378317813227938,cy:-.35505132460179034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"89LTrNQMYLBWkUr8q3zs78",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0025566088073292518,cy:-.4121164797266505,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mG1153YuBpGiUTcG3cLKhu",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.053223121553688676,cy:-.38715047435952415,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nzaobVxpQX5ZDLxNtod1tq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10388963430004787,cy:-.41092762232821595,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prucxap8in3eRt1hXbqSZc",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.050866539565485806,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o6dCXRccq7VrMuTGUAMf1h",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0037348998014306895,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1CeJhTWdV6HVNMGZiebhVN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10271134330594656,cy:-.46918163485151065,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iuVig88Eryb498jb2o9hv6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15691272903460993,cy:-.4430267720859498,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDU7v3xRa7tyafHMTVQfHP",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.19815291382815808,cy:-.4703704922499454,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"igDxZaX9vHP2AWnmuk7rbE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.30302081230318084,cy:-.46680392005464155,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hpSEihRmM4bWqGtADkL3iV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3501524520672361,cy:-.4418379146875151,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k6hVcQ4HsjPmK2AMBXFwSG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQWMSf63o2UZvbixbJ7x3a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3525090340554387,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iHs7hh1fgkTvcFjQGp6vdU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.2511760085627201,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ikwnSMkfVme9m36c4fdgzZ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15337785605230575,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3BVEG2ZatFh5rurg1BfDQ1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.057936285530094174,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5TTwQeht2y67yFHpDwk7SG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.042218448968523115,cy:.471204567310248,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qt4yLExJpLTBowT6VPA2t7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.14472976545534302,cy:.4688268525133789,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wtXgsveFPNuvG8yagrGhjX",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.24134962697165613,cy:.4664491377165097,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jCucxgVjuLNfUB5GcZ3GBJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.34150436147027335,cy:.47001570991181346,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bvUs4vNUy7rjJ8wRozhXzH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.2702876669748028,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"21jCj69kYjWbi43ijo148n",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.21084479705307344,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"autBoAyzdvNAZVDtBQh6h3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.1537796419282132,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"opKFYN72H4nWcaRQ2QPip7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:.10028105899865679,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"66RKD94s3WovZtoVdR4EhK",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40435383779589945,cy:.04083818907692739,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t1o1k82fPneidh8LG91KZ3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40199725580769696,cy:-.016226966047932775,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8YoP7VA8Cq7aoqvmhWueh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.07091440637592385,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6BxohUXx7jMxtc9jXais2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.40081896481359536,cy:-.12679070410234947,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"akDuRhxwpxoj2z33rJUgJh",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.18266700182877507,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hzYm1dhZ9LLt7sqemmYCDs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2409210143520699,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ocH8rQddgtgbqC8pcEacuE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.2991750268753647,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uF9F47Z6PqiJhWoStgn2uS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.3574290393986595,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"92fYhQy7HvXbtXrCyTCqTH",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3984623828253927,cy:-.4097387649297813,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kUJd8a2SHxduSfAvQGLQfS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.3996406738194939,cy:-.4703704922499452,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XaXTUvPm9yFtUaW2Ye2sL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45502035054225903,cy:.30119795933410204,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cg7BBRL4WcDqB8yp1B7o8a",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.24294394681080725,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pAcNoDp7ir4EWPT9j9kq1e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4514854775599548,cy:.1870676490843817,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8nXK8m2dvdiFfCKeR9nLWj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.12762477916265233,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eP1EoT59gCuUXxYM4EXHzS",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.452663768554056,cy:.07055962403779206,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1gjtQCskcuhbhwoNpKGBt7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:.012305611514497309,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jimkC6zfk4aDVcsqbirSS1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.44677231358354924,cy:-.04238182881349376,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vvgZbtsp1caVNW8tZNWHgJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.09706926914148485,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uAVWMCSJd4PAg19UJ7o6xs",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45266376855405616,cy:-.15888985386008334,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ncdztpRTU1hDfYCvqpzcT2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4467723135835491,cy:-.21595500898494358,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bRuvkqPWMiR7YmistgDHNL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.26945359191449997,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5qeiecJQD6oAbtikN5hs7G",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.3265187470393602,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"acpCXRHPZv9nQZjdjiSrj1",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.45030718656585317,cy:-.38358390216422034,cz:.5000000074505806,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c6tcyDJgJPeoowWMPezdUA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.4491288955717519,cy:-.4406490572890806,cz:.5000000074505095,lx:2.976,ly:1.968,lz:.046,trackerType:"AADAT",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3tXdUQvFc2DWP68yZ3S37u",selected:!1}],Nrn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:20,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-284,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:164,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[54.58775332762295,-93.02576361051297,20.93606976764628],panCenter:[14.588117257653206,-3.3871234541530884,0],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!0,cameraPosition2D:[2.3674379904539022,-.42904140754321896,47.99999957096287],panCenter2D:[2.3674379904539022,-.428993405410401,3192361204877974e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:8,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showMapPanel:!1},Urn=2,Brn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},jrn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},Yrn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},Orn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},_rn=[],Vrn={docid:Irn,time:zrn,timestamp:Drn,userid:Ern,owner:krn,email:Frn,world:Lrn,elements:Wrn,view:Nrn,evolutionMethod:Urn,solarPanelArrayLayoutParams:Brn,solarPanelArrayLayoutConstraints:jrn,evolutionaryAlgorithmState:Yrn,economicsParams:Orn,notes:_rn},Grn="9J5vzBxZ8UEKUiQGnyPEwk",Xrn="02/03/2023 10:36 am",Jrn=1675438564802,Krn="QWecNcxhyvP6j6sBN11hBsfZDau1",qrn=null,$rn=null,Qrn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"52 Grove St, Lexington, MA 02420, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.473578752859865,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.23642289182585},Zrn=[{type:"Foundation",cx:.18907611516527822,cy:-1.4953477366662633,cz:.05,lx:142.99409463043497,ly:14.49686547290569,lz:.1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"f1wuYrFxWZKMD6aZyPACDm",locked:!0},{type:"Wall",cx:.1229949609826312,cy:-.09586926546103025,cz:0,lx:141.43921506444258,ly:.3,lz:5,relativeAngle:.013431200616335025,leftPoint:[-70.59023385930746,-1.045689943643172,.1],rightPoint:[70.83622378127272,.853951412721111,.1],leftJoints:[],rightJoints:[],textureType:"Wall Texture #9",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,.17972820802569928],parentId:"f1wuYrFxWZKMD6aZyPACDm",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"2yrSxZa8P37K2Wabhhsob6",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,color:"#999999",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.4638388297765159,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"6TnNeQH6erPu8fzCqspsQz",selected:!1,dailyYield:6.733366737790442},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gu6EsH65oiQstx8yYjxsYM",selected:!1,color:"#fff",dailyYield:3.991431891754075},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4638388297765159,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"94hqXM6tCStbzXuLLtVMBy",selected:!1,color:"#fff",dailyYield:3.989257482553087},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"aS89FFbHtiL5JbmajBYETF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iMsrFuB8C7dYwSkPYpkRyx",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.4072774299104671,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"djV64xj6hwTLYAQB2N8zw1",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"casseicLyjsxNGnJT7DvaK",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"ufBkyVjzMhQN4mEaVXo3EK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.35071603004441837,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rG69gXx8zf5z7bd3jLid7p",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4mhiWnxVt3aSMz3WDvtVwo",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cfXV4fZanitQvrNsdxnjDu",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.2941546301783697,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"afxfcWAVeGHfrBf7ddtQkK",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"taypcJAabEnqBDqf3KAcsA",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"5VSFMaiUtr3ASxPZrLPaqP",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.23759323031232094,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"khqKJ2jxRFmMw5yFH4HvBM",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"45VggV1fJxeJNM36B2hiQt",selected:!1,color:"#fff",drawSunBeam:!0,dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"soXBAY8jJsisj3Xad7rpuD",selected:!1,color:"#fff",dailyYield:3.880541409581155,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.18103183044627222,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sR2RBNakCEySyoLGEeeZb7",selected:!1,color:"#fff",dailyYield:3.8640428284166424,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"iwZXtRNQgv7fvMRfiFZxuv",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"wUSzVi6q69sDd7Y3RV7XDc",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.12447043058022349,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"g8656tJazY4VvwetGnGz1R",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1BNASUXS635gRH1Xg45X8c",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jqyPzfhR61a76okfZpf812",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.06790903071417476,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"gxBypDUjEGfJT4aJY4HKEm",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tzyoRV5o5Rf6T7A6oU6yFQ",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jGQqULp9xXooyUSarLteE1",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.011347630848126027,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"c5nbEjzq2Budgo4DrHmjRz",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"7DRo8NdVHyNoN6SCtArVVd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rq26S8tSgsT11vC4noGToG",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0452137690179227,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"4ZMNCLswMsFA8KarYUVw1G",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"22DFqVGzrGpriDvT6ouxg7",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vvfCJue14aYCZ2L5rcpewf",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.10177516888397144,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"hhenx4zMnvUHuryKk9FFB8",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"tNCMqiL9tn5diapj3smKL9",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"3GsZ7gQePP2KmUhz3ysWpz",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.15833656875002017,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"qBPNAAa4HnjwBJ2TFMVzhv",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"raUT5Fe7Z4gk2QVK2yVSap",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"18BeCBetcY2SnC96NdiyGR",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.21489796861606889,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"jJw5xahWNQv9BKodgpDQUR",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"1MiLx5fG5sgnXzzKVfatuF",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"giGW7icqfR8Ad9ukdMMaHX",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.27145936848211766,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"bYrSiMQSXtGa7p4zv5yDGZ",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vcPTnmFnHZYKsoYKkBcskf",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"cAD7dLSqyYRtYyQsTG2mbb",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3280207683481664,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"rTvMYE5Z5kwPgoWKh4kLzb",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"k4ZudXKEZmAmfbUvaCp3Dp",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"8hVfJjo52dDJLo4AfmT3HK",selected:!1,color:"#fff",dailyYield:3.880541409581155},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3845821682142151,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"9g31dfD7wp3rjSRfYLZJ2z",selected:!1,color:"#fff",dailyYield:3.8640428284166424},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:0,cz:.2954,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.04375081827167128,-.9990424745227598,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"sxZHfHVk2n5kbhzY3hT2zd",selected:!1,color:"#fff",dailyYield:6.732470849618642},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:8881784197001252e-30,cz:-.004600000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.3490658503988659,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"nA54BbzpGLqh5sWi7osbnq",selected:!1,color:"#fff",dailyYield:4.024242246107118},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.44114356808026384,cy:-14802973661668755e-30,cz:-.30460000000000004,lx:7.79,ly:1.046,lz:.046,trackerType:"None",tiltAngle:-.6981317007977318,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[.013430796794925525,-.9999098027809575,0],rotation:[0,0,.17972820802569928],parentType:"Wall",parentId:"2yrSxZa8P37K2Wabhhsob6",foundationId:"f1wuYrFxWZKMD6aZyPACDm",id:"vtRkLNQDgqTSNAh2My5c9Y",selected:!1,color:"#fff",dailyYield:4.009918074143593}],ean={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-17.282790575888168,5.440474449160031,36906384867201037e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-17.282790575888168,5.440324442496329,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-42.77632157556409,-34.119265652337766,20.000447749982982],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.470670899474179,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-26.714608093209538,-11.412788709722923,.2632378650359435],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:4.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:413,height:68}},tan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},nan=1,oan={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ian={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ran={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},aan={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},lan=["A proposed solar noise barrier in Lexington, MA"],san={docid:Grn,time:Xrn,timestamp:Jrn,userid:Krn,owner:qrn,email:$rn,world:Qrn,elements:Zrn,view:ean,graphState:tan,evolutionMethod:nan,solarPanelArrayLayoutParams:oan,solarPanelArrayLayoutConstraints:ian,evolutionaryAlgorithmState:ran,economicsParams:aan,notes:lan},can="mETyjNhcSpLHUreuu362jG",uan="02/03/2023 10:33 am",dan=1675438394402,fan="QWecNcxhyvP6j6sBN11hBsfZDau1",han=null,pan=null,gan={solarRadiationHeatmapGridCellSize:1,date:"9/22/2022 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"S H St, Bakersfield, CA 93313, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.2397498816683,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-119.02084409607578},man=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"121ogbDPhqFdjF1EqsotWr",foundationId:"121ogbDPhqFdjF1EqsotWr",id:"bXdahMaM63p5YKq5iW5dkA",selected:!1},{type:"Foundation",cx:-.355148183178954,cy:-68.66520831611422,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"121ogbDPhqFdjF1EqsotWr",selected:!1,textureType:"Foundation Texture #5"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"e1EQqVFfXevnZt4eaeuVPE",foundationId:"e1EQqVFfXevnZt4eaeuVPE",id:"kGbBKyVArnRt64dJUZUHXo",selected:!1},{type:"Foundation",cx:-6.512082441645507,cy:-68.66019836570281,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e1EQqVFfXevnZt4eaeuVPE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",foundationId:"5AYGqMpb7MY45GfUGrAPx7",id:"pHgsi4FBAPcCENbBFq8nJi",selected:!1},{type:"Foundation",cx:5.789049041421398,cy:-68.36660414055642,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5AYGqMpb7MY45GfUGrAPx7",selected:!1},{type:"Human",name:"Jack",cx:1.2131787149033482,cy:-5.683681388279453,cz:.300000011920929,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5AYGqMpb7MY45GfUGrAPx7",id:"echEghBkfqunhtqJQz95fM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1207079978734572,cy:-.004668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xgFeRbJGihUVnyEf5m22ib",foundationId:"xgFeRbJGihUVnyEf5m22ib",id:"1ZYTz63nWtEEsbRNhgdFaw",selected:!1},{type:"Foundation",cx:5.809815585913138,cy:-54.46106108413,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xgFeRbJGihUVnyEf5m22ib",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nAmb8PRM1R6jeNzPW5C8VV",foundationId:"nAmb8PRM1R6jeNzPW5C8VV",id:"4zJUqXV3Fnf2nuwbpsMiXs",selected:!1},{type:"Foundation",cx:5.7835484198244025,cy:-40.561453025263894,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nAmb8PRM1R6jeNzPW5C8VV",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2Jpks6qcta7oxTq8g15yvM",foundationId:"2Jpks6qcta7oxTq8g15yvM",id:"nTqyuFThYbp62RDDvj69Tn",selected:!1},{type:"Foundation",cx:5.765589353420241,cy:-26.70562418723046,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2Jpks6qcta7oxTq8g15yvM",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4XXqf2vXZ7ZFawMdYuzXJR",foundationId:"4XXqf2vXZ7ZFawMdYuzXJR",id:"8xX37o12HQw79GgWaPoJra",selected:!1},{type:"Foundation",cx:5.7629992141008515,cy:-12.846184608655223,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4XXqf2vXZ7ZFawMdYuzXJR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nhfGp8zoAtBhBtTRQS5X4A",foundationId:"nhfGp8zoAtBhBtTRQS5X4A",id:"xtX3Yeicb1xmckA4hRhAbT",selected:!1},{type:"Foundation",cx:-.3660148444167448,cy:-54.735545319487315,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nhfGp8zoAtBhBtTRQS5X4A",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ibdbY4z7waLLai5mudLon8",foundationId:"ibdbY4z7waLLai5mudLon8",id:"uUyvA9DB8ymLg6XLaLfYFQ",selected:!1},{type:"Foundation",cx:-.35970964251660265,cy:-40.85602650039143,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ibdbY4z7waLLai5mudLon8",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vXadeokGJ9NmeA6ewhjvBy",foundationId:"vXadeokGJ9NmeA6ewhjvBy",id:"ippQMjL5WuoRmncEHb3ng3",selected:!1},{type:"Foundation",cx:-.35809920705666,cy:-27.00228253941227,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vXadeokGJ9NmeA6ewhjvBy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j9vK8NMr2vp4GiSK1DtxRq",foundationId:"j9vK8NMr2vp4GiSK1DtxRq",id:"ntm7qPuXg8vaHHDMEfMv14",selected:!1},{type:"Foundation",cx:-.35734216826093124,cy:-13.132067218686498,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j9vK8NMr2vp4GiSK1DtxRq",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"2WSX6m9s99dM4WhZbyuvff",foundationId:"2WSX6m9s99dM4WhZbyuvff",id:"gkBV2ZfxJtfhuZjj7rHAoZ",selected:!1},{type:"Foundation",cx:-.3463719972166439,cy:.7317163979243815,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2WSX6m9s99dM4WhZbyuvff",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"eLNa4YNCioCE3UNDGya3Up",foundationId:"eLNa4YNCioCE3UNDGya3Up",id:"rWFuzCeuZszy77yBB8jveg",selected:!1},{type:"Foundation",cx:-.3586608333447727,cy:14.590396355482044,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eLNa4YNCioCE3UNDGya3Up",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o1CCZc1sDeTQWrwG46TfNN",foundationId:"o1CCZc1sDeTQWrwG46TfNN",id:"qShFLxfnobEyyoPeMTASuG",selected:!1},{type:"Foundation",cx:-.3518720954179425,cy:28.454375484604732,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"o1CCZc1sDeTQWrwG46TfNN",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"u1RK5NeNA9j7qFSmCR8hid",foundationId:"u1RK5NeNA9j7qFSmCR8hid",id:"rCYT7zsMynuWwB4Gj2Fsd3",selected:!1},{type:"Foundation",cx:-.35131046912982616,cy:42.32211519647182,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"u1RK5NeNA9j7qFSmCR8hid",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"h9eRaQKsYCgZDNL6TBSdkG",foundationId:"h9eRaQKsYCgZDNL6TBSdkG",id:"iciTKiFoWiSSRXfRV2jKAY",selected:!1},{type:"Foundation",cx:-.35806918169835766,cy:56.17571570619225,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h9eRaQKsYCgZDNL6TBSdkG",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.003863684501694478,cy:.01352080389279529,cz:.5000000074505806,lx:13.776,ly:8.928,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:.75,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdwqBp4tF8xLp9yJkFqCx6",foundationId:"gdwqBp4tF8xLp9yJkFqCx6",id:"88NfQv74cDhjrzSepw9B7g",selected:!1},{type:"Foundation",cx:-.3684777264545248,cy:70.01231995987031,cz:.05,lx:9.850000000000009,ly:14.457208351115582,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #5",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdwqBp4tF8xLp9yJkFqCx6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"16YsecagZdQFboT8cHk3zY",foundationId:"16YsecagZdQFboT8cHk3zY",id:"uWF3E9dPiegXh2L5b6Vsn8",selected:!1},{type:"Foundation",cx:5.774616554678275,cy:1.0295178181583675,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"16YsecagZdQFboT8cHk3zY",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gdCn75FBte524E9epTDvqA",foundationId:"gdCn75FBte524E9epTDvqA",id:"tFCws2tPQDLM5HKxxJGgWv",selected:!1},{type:"Foundation",cx:5.773867010320257,cy:14.885614964778393,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gdCn75FBte524E9epTDvqA",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"qLVXWryBBGmRgAroLqVwdi",foundationId:"qLVXWryBBGmRgAroLqVwdi",id:"ud1b2bEhTi9i92Q8c8D373",selected:!1},{type:"Foundation",cx:5.778389095695882,cy:28.74465191336493,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qLVXWryBBGmRgAroLqVwdi",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bVwMiP2aUzVjjeaX792zXn",foundationId:"bVwMiP2aUzVjjeaX792zXn",id:"c9QcDJ4K8yR1ng4dRJ4D4t",selected:!1},{type:"Foundation",cx:5.784822839568983,cy:42.61795388645869,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bVwMiP2aUzVjjeaX792zXn",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nW5ArCP1HhxjesUyKCR3at",foundationId:"nW5ArCP1HhxjesUyKCR3at",id:"gxJYgTJqcdLmnzufEv3zS9",selected:!1},{type:"Foundation",cx:5.772865019410357,cy:56.469133301847506,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nW5ArCP1HhxjesUyKCR3at",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.1167079978734572,cy:-.006668963284178641,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ez9S4TjyRrt69CUc8NCPjT",foundationId:"ez9S4TjyRrt69CUc8NCPjT",id:"715S84avByaQTs2A6QaRyi",selected:!1},{type:"Foundation",cx:5.767433266447149,cy:70.31691119865602,cz:.3,lx:3.6116055507992932,ly:14.100000000000009,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ez9S4TjyRrt69CUc8NCPjT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"k7PuJZ5ck1CDCnF49AEbze",foundationId:"k7PuJZ5ck1CDCnF49AEbze",id:"rBjhWRGRVr5rhJmJ7ZHt5W",selected:!1},{type:"Foundation",cx:-6.527392714190696,cy:-54.732229116611116,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k7PuJZ5ck1CDCnF49AEbze",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rU3754fwdgKoDWv2zoFH3R",foundationId:"rU3754fwdgKoDWv2zoFH3R",id:"1Wbh9tZMmYnYRWgQs2oxcg",selected:!1},{type:"Foundation",cx:-6.534711172615536,cy:-40.8521892213242,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rU3754fwdgKoDWv2zoFH3R",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"rmvt2utUNYmiSjixPNE6cB",foundationId:"rmvt2utUNYmiSjixPNE6cB",id:"hgGCNRfRRjgNRbKehkHZRR",selected:!1},{type:"Foundation",cx:-6.531475518119176,cy:-27.005759344492336,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmvt2utUNYmiSjixPNE6cB",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5D8LWb5KSCQa5CzJgeqTzQ",foundationId:"5D8LWb5KSCQa5CzJgeqTzQ",id:"4q6sn5L82weCVDGzpuu2sX",selected:!1},{type:"Foundation",cx:-6.531475518119178,cy:-13.125523095938771,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5D8LWb5KSCQa5CzJgeqTzQ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kvv1recmXZdZQMtZey2snR",foundationId:"kvv1recmXZdZQMtZey2snR",id:"iy2Xwp5VW7Kj9siFtt7QWd",selected:!1},{type:"Foundation",cx:-6.508807101463274,cy:.7373815692707449,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kvv1recmXZdZQMtZey2snR",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xb3DDtTRb2xE4U4z4K1hXE",foundationId:"xb3DDtTRb2xE4U4z4K1hXE",id:"nMuKPt4koMQGztfZfy8jfD",selected:!1},{type:"Foundation",cx:-6.5258084139552,cy:14.606283609496337,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xb3DDtTRb2xE4U4z4K1hXE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gwy36bVzcps8LsRhJTof4Q",foundationId:"gwy36bVzcps8LsRhJTof4Q",id:"i67r94XMRFM3jCvyxogFNy",selected:!1},{type:"Foundation",cx:-6.511475518119177,cy:28.4721869622139,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwy36bVzcps8LsRhJTof4Q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7zg5mcdSFwxHKAWZT3Ek6v",foundationId:"7zg5mcdSFwxHKAWZT3Ek6v",id:"eRWg2zs6foonE5xuNEVRz9",selected:!1},{type:"Foundation",cx:-6.511051943403113,cy:42.34375751909987,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7zg5mcdSFwxHKAWZT3Ek6v",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"suByeHBWYCe52G1Gv4ZeSU",foundationId:"suByeHBWYCe52G1Gv4ZeSU",id:"phLDTcCNd2W2ZnrjoTkBjB",selected:!1},{type:"Foundation",cx:-6.52880710146327,cy:56.18132525099307,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"suByeHBWYCe52G1Gv4ZeSU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.10063950048686088,cy:.012876862495727583,cz:.5000000074505806,lx:13.776,ly:2.976,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:-1.5707963267948966,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:4,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jfGqSpqYfY4BpzvBjow99u",foundationId:"jfGqSpqYfY4BpzvBjow99u",id:"shmgnG7kSY3iWfHSTksGd3",selected:!1},{type:"Foundation",cx:-6.53447420562725,cy:70.03322597872673,cz:.3,lx:3.7538685169331028,ly:14.407188450292779,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jfGqSpqYfY4BpzvBjow99u",selected:!1}],yan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[7.48786322173483,69.21304781831628,6921612429673364e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[7.48786322173483,69.2130278174273,20.000069216086263],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.98566534119282,-94.01207606498471,5.484037741591015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:38.96037486782548,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-22.269354989815284,10.551050181634587,.4104687909980791],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:366,height:67}},Aan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},wan=1,van={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},xan={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ban={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},San={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Tan=["A proposed solar canal in California"],Pan={docid:can,time:uan,timestamp:dan,userid:fan,owner:han,email:pan,world:gan,elements:man,view:yan,graphState:Aan,evolutionMethod:wan,solarPanelArrayLayoutParams:van,solarPanelArrayLayoutConstraints:xan,evolutionaryAlgorithmState:ban,economicsParams:San,notes:Tan},Can="vhboPhKYLs7YFW4GNHvu35",Ran="02/02/2023 05:12 pm",Han=1675375965968,Man="QWecNcxhyvP6j6sBN11hBsfZDau1",Ian=null,zan=null,Dan={timesPerHour:4,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"8/22/2022, 2:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371},Ean=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.03672476718970863,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:-.02675735166375759,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.5707963267948966,cy:-.10449299890247031,cx:-.4024621157154061,poleRadius:.05,showLabel:!0,lx:1.046,label:"VSAT",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"VSAT",drawSunBeam:!0,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.9974383842410144},{ly:1.558,drawSunBeam:!0,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:0,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"HSAT",lx:1.046,label:"HSAT",cz:.5000000074505762,showLabel:!0,cx:.13515302447733513,poleSpacing:3,relativeAzimuth:0,cy:-.10573019166804135,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.073422461213974},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.5235987755982988,normal:[0,0,1],selected:!1,label:"AADAT",lz:.046,drawSunBeam:!0,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:-.09709770433882582,type:"Solar Panel",trackerType:"AADAT",poleRadius:.05,cx:-.13700106436587867,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:2.215778465205723},{tiltAngle:.5235987755982988,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.11542091451120043,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:.4032836323996918,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"Fixed",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.590603475645371}],kan={weatherPanelX:0,heliodonPanelY:314,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!0,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1204,theme:"Default",autoRotate:!1,groundColor:"#16a5a5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[12.032136043105444,-19.275007353612423,7.568306918458618],panCenter:[0,0,0],orthographic:!1,enableRotate:!0,cameraZoom:41.01092091350052,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997981],panCenter2D:[0,0,0],stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400}},Fan={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Lan=1,Wan={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Nan={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Uan={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ban={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},jan=[`Solar trackers -As the sun moves across the sky, solar panels do not always face the sun. Solar trackers allow them to follow the sun like sunflowers to maximize their outputs. This model compares the outputs of solar panels driven by the horizontal single-axis tracker (HSAT), the vertical single-axis tracker (VSAT), and the altazimuth dual-axis trackers (AADAT), as well as that of a fixed solar panel. You can also animate the movement of the sun to see how the solar panels follow it.`],_an={docid:Han,time:Man,timestamp:Ian,userid:zan,owner:Dan,email:Ean,world:kan,elements:Fan,view:Lan,graphState:Wan,evolutionMethod:Nan,solarPanelArrayLayoutParams:Uan,solarPanelArrayLayoutConstraints:Ban,evolutionaryAlgorithmState:jan,economicsParams:Yan,notes:Oan},Van="stLbuVGfE2K8DrmoYsFg9w",Gan="02/04/2023 02:04 pm",Xan=1675537455512,Jan="QWecNcxhyvP6j6sBN11hBsfZDau1",Kan=null,qan=null,$an={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Qan=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.06554753263096413,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-7.418371930827338,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:-18.384386246268818,cy:-7.395598164511793,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.191904297849153,cy:-7.416985047669567,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5,leftJoints:["xyaukKZz7A3TN7punm6ojQ"],rightJoints:["t8gz6AKc17wrcW6oGcJkRc"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tjjt6SvCacxyrjW8mL7Kcd",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:5,leftJoints:["eyn92Pbtw4rxGsusMErN7b"],rightJoints:["tjjt6SvCacxyrjW8mL7Kcd"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xyaukKZz7A3TN7punm6ojQ",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:5,leftJoints:["tjjt6SvCacxyrjW8mL7Kcd"],rightJoints:["eyn92Pbtw4rxGsusMErN7b"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t8gz6AKc17wrcW6oGcJkRc",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:5,leftJoints:["t8gz6AKc17wrcW6oGcJkRc"],rightJoints:["xyaukKZz7A3TN7punm6ojQ"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eyn92Pbtw4rxGsusMErN7b",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-18.349437375856816,cy:7.358577960859719,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fWm5hggYktD39sKer9AZNn",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["7pDL5vuaWkaSp6xPdGtoFv"],rightJoints:["jRzTPUopsCw4wfe1XwNMiY"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ak7Cpd4phQ5SWBAYKo1UCe",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["f2RfmPbQBbQQB9B9qxgaGp"],rightJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7pDL5vuaWkaSp6xPdGtoFv",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],rightJoints:["f2RfmPbQBbQQB9B9qxgaGp"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jRzTPUopsCw4wfe1XwNMiY",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["jRzTPUopsCw4wfe1XwNMiY"],rightJoints:["7pDL5vuaWkaSp6xPdGtoFv"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f2RfmPbQBbQQB9B9qxgaGp",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.357286683609985,cy:7.35579151072247,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w5VAS3XZUgKoYjMsuPJ9cq",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["3nk4fctTxNug3tQ2458FKw"],rightJoints:["dc91yXxYZexfAFXVg2fpn6"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pwXdeCrfH255xyNxeKZFmq",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["m39f5UsRB2FwBXUr7e5PvG"],rightJoints:["pwXdeCrfH255xyNxeKZFmq"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3nk4fctTxNug3tQ2458FKw",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["pwXdeCrfH255xyNxeKZFmq"],rightJoints:["m39f5UsRB2FwBXUr7e5PvG"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dc91yXxYZexfAFXVg2fpn6",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["dc91yXxYZexfAFXVg2fpn6"],rightJoints:["3nk4fctTxNug3tQ2458FKw"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"m39f5UsRB2FwBXUr7e5PvG",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.2822234132630961,cy:-22.249672711420477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d6fjBvqj48Q3knutrPvQzj",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["xyaukKZz7A3TN7punm6ojQ","tjjt6SvCacxyrjW8mL7Kcd","t8gz6AKc17wrcW6oGcJkRc","eyn92Pbtw4rxGsusMErN7b"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",id:"hajPbexieJRPqTV4EDojfw",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["f2RfmPbQBbQQB9B9qxgaGp","7pDL5vuaWkaSp6xPdGtoFv","ak7Cpd4phQ5SWBAYKo1UCe","jRzTPUopsCw4wfe1XwNMiY"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",id:"jKe65v2XQs93jh4Da9kMiu",rise:3.592861140197524,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gambrel",wallsId:["m39f5UsRB2FwBXUr7e5PvG"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",id:"ptuJ1uXn6Mmb8yfPchYi2c",rise:3.7809640879662743,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["ixC5APwNiRHyp3q8fcpSip"],rightJoints:["8hSDdsDC58WwCVch1EWVeh"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ozFwLmFwWhU6vEeaiRMgLF",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["qjuHirmyC29jd4cf1J7Ub1"],rightJoints:["ozFwLmFwWhU6vEeaiRMgLF"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ixC5APwNiRHyp3q8fcpSip",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["ozFwLmFwWhU6vEeaiRMgLF"],rightJoints:["qjuHirmyC29jd4cf1J7Ub1"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hSDdsDC58WwCVch1EWVeh",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["8hSDdsDC58WwCVch1EWVeh"],rightJoints:["ixC5APwNiRHyp3q8fcpSip"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qjuHirmyC29jd4cf1J7Ub1",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:18.14821865757634,cy:-22.28587145270979,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"upLMjkz3yhg33F3y5iosoh",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",wallsId:["qjuHirmyC29jd4cf1J7Ub1"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",id:"nUUEKM9A4b42WTe8cCbmi9",rise:2.4252724498654796,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["igxQHaerDScxsfB5TgVZU4"],rightJoints:["fisK6kExsrNY6Pqi3iQHme"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3gfx2QQjNJN8MdstGfbwGN",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["ayZDPKzE28H2j3EL6h6FST"],rightJoints:["3gfx2QQjNJN8MdstGfbwGN"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"igxQHaerDScxsfB5TgVZU4",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["3gfx2QQjNJN8MdstGfbwGN"],rightJoints:["ayZDPKzE28H2j3EL6h6FST"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fisK6kExsrNY6Pqi3iQHme",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[-.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["fisK6kExsrNY6Pqi3iQHme"],rightJoints:["igxQHaerDScxsfB5TgVZU4"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ayZDPKzE28H2j3EL6h6FST",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"ue2dCEQjJdM2ogHcYaDLus",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["ayZDPKzE28H2j3EL6h6FST"],ridgeLeftPoint:[-.15368124011044487,1],ridgeRightPoint:[.15368124011044487,1],selected:!1,rise:2.9763370253462886,ceiling:!1},{type:"Foundation",cx:-18.3917853849947,cy:-22.23021238337839,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8FvPN2owsgTQ83kbYPEi1w",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5.846129172584467,leftJoints:["7uVMbtndXyFhLg9N8igxZL"],rightJoints:["satrCacXQzxtUPDa8WeKn7"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uNqL4MKdnpapHVSi9J1K8T",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:5.846129172584467,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.846129172584467,rightTopPartialHeight:5.846129172584467},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["5u61LU9xBr7HzdGUCwG4J6"],rightJoints:["uNqL4MKdnpapHVSi9J1K8T"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uVMbtndXyFhLg9N8igxZL",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:5.846129172584467,centerRoofHeight:[.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["uNqL4MKdnpapHVSi9J1K8T"],rightJoints:["5u61LU9xBr7HzdGUCwG4J6"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"satrCacXQzxtUPDa8WeKn7",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:3,centerRoofHeight:[-.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["satrCacXQzxtUPDa8WeKn7"],rightJoints:["7uVMbtndXyFhLg9N8igxZL"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5u61LU9xBr7HzdGUCwG4J6",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"iNBeHL8TpJ75nDzdH6Ar6c",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["5u61LU9xBr7HzdGUCwG4J6"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:.04736842105263009,cy:7.4416382171024535,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e6BPbJvDHWVEFn61HvpPWK",selected:!1}],Zan={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.052631578947368425,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.052631578947368425,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.363486288062674,-49.79716924665453,24.823194309796552],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.47561875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.81693136261614,-15.495725419499871,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},eln={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},tln=1,nln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},oln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},iln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},rln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},aln=[],lln={docid:Van,time:Gan,timestamp:Xan,userid:Jan,owner:Kan,email:qan,world:$an,elements:Qan,view:Zan,graphState:eln,evolutionMethod:tln,solarPanelArrayLayoutParams:nln,solarPanelArrayLayoutConstraints:oln,evolutionaryAlgorithmState:iln,economicsParams:rln,notes:aln},sln="9gaZVfxNNTHLmXcZPRJRXw",cln="09/23/2023 09:34 AM",uln=1695476069953,dln=null,fln=null,hln=null,pln={latitude:42.52092349999999,address:"Leominster State Forest, Leominster, MA 01420, USA",name:"default",airAttenuationCoefficient:.01,ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},dustLoss:.05,cspGridCellSize:.5,cspDaysPerYear:4,discretization:"Approximate",daysPerYear:12,cspTimesPerHour:4,pvGridCellSize:.5,timesPerHour:1,noAnimationForHeatmapSimulation:!1,date:"6/22/2022, 10:00:00 AM",solarRadiationHeatmapGridCellSize:.25,solarPanelVisibilityGridCellSize:.2,noAnimationForSensorDataCollection:!1,longitude:-71.8384068,noAnimationForSolarPanelSimulation:!1},gln=[{parentId:"Ground",selected:!1,cy:.8212100903152009,id:"m7AH7DcnoGzAq9kryBy4RS",type:"Foundation",ly:10.473983232081025,cx:-.22738864151314608,lz:.07401736805849783,hvacSystem:{temperatureThreshold:3,thermostatSetpoint:20,id:"A"},locked:!0,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,solarAbsorberPipe:{},solarUpdraftTower:{},lx:13.564552414056891,solarPowerTower:{},normal:[0,0,1]},{fill:"Full",structureColor:"white",type:"Wall",rightPoint:[-5.457020109151015,3.478026472724187,.1],cx:.5429798908489842,opacity:0,locked:!0,showLabel:!1,relativeAngle:3.141592653589793,lz:3.700868402924892,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:3.478026472724187,ly:.3,leftTopPartialHeight:3.700868402924892,leftPoint:[6.542979890848985,3.478026472724187,.1],lx:12,leftUnfilledHeight:.5,textureType:"Wall Texture Default",cz:0,color:"white",normal:[0,0,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],eavesLength:.2,parentId:"m7AH7DcnoGzAq9kryBy4RS",parapet:{parapetHeight:1,display:!1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",copingsHeight:.1},rightUnfilledHeight:.5,windows:[],rightTopPartialHeight:3.700868402924892,structureSpacing:2,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],selected:!1,leftRoofHeight:3.700868402924892,id:"2u4Fe7xnA6kkXXVGrQ4eyJ",roofId:"nbw17kYeUHp1aouuScuF3Y",wallStructure:"Default",structureWidth:.1,rightRoofHeight:3.700868402924892},{rightPoint:[6.542979890848985,3.478026472724187,.1],structureSpacing:2,relativeAngle:1.5707963267948966,wallStructure:"Default",cz:1.2992388529678256,opacity:.5,textureType:"Wall Texture Default",eavesLength:.2,rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],foundationId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,selected:!1,leftRoofHeight:3.700868402924892,ly:.3,parapet:{copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",parapetHeight:1,display:!1},windows:[],cx:6.542979890848985,color:"white",structureColor:"white",showLabel:!1,rightRoofHeight:3.7008684029248915,structureWidth:.1,leftTopPartialHeight:3.700868402924892,parentId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],rotation:[0,0,0],fill:"Full",rightTopPartialHeight:3.700868402924892,centerRoofHeight:[-.022465454047944533,5.827600046994059],lx:7.5,lz:3.700868402924892,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],id:"8XDG3EHsQoX26MhuzwMYUM",leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y"},{parentId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,cy:-.27197352727581237,rightTopPartialHeight:3.700868402924892,id:"skm8dNPSkFaVkoUwiPNfq1",centerRoofHeight:[.022465454047944533,5.827600046994059],rightPoint:[-5.457020109151015,-4.021973527275812,.1],roofId:"nbw17kYeUHp1aouuScuF3Y",leftUnfilledHeight:.5,rightUnfilledHeight:.5,rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],wallStructure:"Default",rotation:[0,0,0],showLabel:!1,cz:2.586710917765224,structureColor:"white",structureSpacing:2,selected:!1,leftRoofHeight:3.700868402924892,eavesLength:.2,opacity:.5,color:"white",rightRoofHeight:3.7008684029248915,leftTopPartialHeight:3.700868402924892,textureType:"Wall Texture Default",cx:-5.457020109151015,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],type:"Wall",parapet:{copingsHeight:.1,textureType:"No Wall Texture",display:!1,color:"white",parapetHeight:1,copingsWidth:.5},lz:3.700868402924892,lx:7.5,relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],structureWidth:.1,windows:[],normal:[0,0,1],fill:"Full",ly:.3},{selected:!1,textureType:"Wall Texture Default",cx:.5429798908489842,parapet:{copingsHeight:.1,parapetHeight:1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",display:!1},rotation:[0,0,0],locked:!0,showLabel:!1,rightTopPartialHeight:3.700868402924892,rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],eavesLength:.2,windows:[],normal:[0,0,1],structureColor:"white",roofId:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cV8MyCuhWAsvEyyFuVqVqg",leftPoint:[-5.457020109151015,-4.021973527275812,.1],leftUnfilledHeight:.5,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:-4.021973527275812,structureSpacing:2,structureWidth:.1,lx:12,relativeAngle:0,color:"white",wallStructure:"Default",rightRoofHeight:3.700868402924892,rightUnfilledHeight:.5,leftTopPartialHeight:3.700868402924892,type:"Wall",fill:"Full",lz:3.700868402924892,opacity:0,leftRoofHeight:3.700868402924892,ly:.3,rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,leftJoints:["skm8dNPSkFaVkoUwiPNfq1"]},{ly:8.209748806830484,normal:[0,0,1],cy:-1.588798589487019,hvacSystem:{id:"A",temperatureThreshold:3,thermostatSetpoint:20},selected:!1,id:"8fpWrU7qVyVgipB7LtABom",solarPowerTower:{},solarAbsorberPipe:{},lz:.07401736805849783,cx:.3444310502028619,type:"Foundation",lx:9.082946486026735,solarUpdraftTower:{},rotation:[0,0,0],cz:.05,locked:!0,parentId:"Ground"},{structureWidth:.1,leftRoofHeight:5.712225310760859,rightPoint:[-3.263274891520475,1.612200631492839,0],roofId:"bMyAZV3jeEtHec1SxNb6X8",type:"Wall",fill:"Empty",leftTopPartialHeight:5.234219703671004,leftUnfilledHeight:4.805475873448939,cx:-.034941558187143285,leftPoint:[3.193391775146188,1.612200631492839,0],structureSpacing:2,rightRoofHeight:5.712225310760859,locked:!0,lz:5.234219703671004,rotation:[0,0,0],leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],rightUnfilledHeight:4.805475873448939,wallStructure:"Default",windows:[],parapet:{textureType:"No Wall Texture",display:!1,copingsHeight:.1,parapetHeight:1,color:"white",copingsWidth:.5},opacity:.5,textureType:"Wall Texture Default",ly:.3,id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.612200631492839,lx:6.4566666666666634,normal:[0,0,1],color:"white",parentId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:3.141592653589793,foundationId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,rightTopPartialHeight:5.234219703671004,structureColor:"white",selected:!1,cz:3.903941909848086,eavesLength:0,rightJoints:["1ATAe6P2KAHKLDSDfpVro9"]},{color:"white",rightPoint:[3.1933917751461904,1.612200631492839,0],parentId:"8fpWrU7qVyVgipB7LtABom",opacity:.5,rightRoofHeight:5.712225310760859,structureColor:"white",roofId:"bMyAZV3jeEtHec1SxNb6X8",parapet:{parapetHeight:1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",copingsHeight:.1,display:!1},showLabel:!1,cx:3.193391775146189,eavesLength:.1,id:"4Q8KDQDxyuamkEtRJU3paR",type:"Wall",textureType:"Wall Texture Default",centerRoofHeight:[.5,5.712225310760859],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6.136322990957498,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],cz:3.068161495478749,leftTopPartialHeight:5.234219703671004,structureWidth:.1,rotation:[0,0,0],ly:.3,locked:!1,leftRoofHeight:5.234219703671004,structureSpacing:2,foundationId:"8fpWrU7qVyVgipB7LtABom",windows:[],rightTopPartialHeight:5.760851132763845,leftUnfilledHeight:3.5697809504114297,leftPoint:[3.193391775146188,-1.1632293875304307,0],selected:!1,wallStructure:"Default",lx:2.7754300190232697,normal:[0,0,1],relativeAngle:1.570796326794896,fill:"Partial",rightUnfilledHeight:5.234219703671004,cy:.22448562198120414},{rightTopPartialHeight:5.234219703671004,id:"1ATAe6P2KAHKLDSDfpVro9",parentId:"8fpWrU7qVyVgipB7LtABom",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],showLabel:!1,locked:!1,cy:.22448562198120414,normal:[0,0,1],leftRoofHeight:5.712225310760859,centerRoofHeight:[-.5,5.712225310760859],lz:6.232580143918559,leftTopPartialHeight:5.822758282488435,leftPoint:[-3.263274891520475,1.612200631492839,0],opacity:.5,rightUnfilledHeight:3.5697809504114297,rotation:[0,0,0],rightRoofHeight:5.234219703671004,structureSpacing:2,lx:2.7754300190232697,structureColor:"white",rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],foundationId:"8fpWrU7qVyVgipB7LtABom",eavesLength:.1,rightPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",ly:.3,parapet:{display:!1,copingsHeight:.1,parapetHeight:1,copingsWidth:.5,textureType:"No Wall Texture",color:"white"},type:"Wall",structureWidth:.1,roofId:"bMyAZV3jeEtHec1SxNb6X8",fill:"Partial",color:"white",cz:3.1162900719592797,leftUnfilledHeight:5.234219703671004,relativeAngle:-1.5707963267948966,selected:!1,windows:[],cx:-3.263274891520475,textureType:"Wall Texture Default"},{locked:!0,ceiling:!1,cz:0,rotation:[0,0,0],textureType:"Roof Texture Default",rise:2.126731644069167,selected:!1,normal:[0,0,1],color:"#666666",ly:0,showLabel:!1,lz:0,cx:0,roofType:"Gable",ridgeRightPoint:[-.022465454047944533,1],cy:0,type:"Roof",lx:0,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nbw17kYeUHp1aouuScuF3Y",ridgeLeftPoint:[.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],thickness:.2,foundationId:"m7AH7DcnoGzAq9kryBy4RS"},{leftTopPartialHeight:5.234219703671004,showLabel:!1,windows:[],roofId:"bMyAZV3jeEtHec1SxNb6X8",opacity:.5,parentId:"8fpWrU7qVyVgipB7LtABom",rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],structureWidth:.1,selected:!1,locked:!0,leftUnfilledHeight:3.5697809504114297,color:"white",ly:.3,normal:[0,0,1],structureColor:"white",id:"7xigJB2WiCCrREDc2Ja3YN",rightRoofHeight:5.234219703671004,rightPoint:[3.193391775146188,-1.1632293875304307,0],lz:5.234219703671004,cx:-.034941558187143285,lx:6.4566666666666634,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],cy:-1.1632293875304307,leftRoofHeight:5.234219703671004,leftPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",fill:"Partial",foundationId:"8fpWrU7qVyVgipB7LtABom",parapet:{parapetHeight:1,display:!1,color:"white",copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5},rightTopPartialHeight:5.234219703671004,textureType:"Wall Texture Default",eavesLength:.4,rightUnfilledHeight:3.5697809504114297,relativeAngle:0,rotation:[0,0,0],cz:3.535805069111796,type:"Wall",structureSpacing:2},{color:"#666666",showLabel:!1,locked:!0,ridgeLeftPoint:[-.5,1],id:"bMyAZV3jeEtHec1SxNb6X8",thickness:.1,roofType:"Gable",cy:0,ceiling:!1,textureType:"Roof Texture Default",foundationId:"8fpWrU7qVyVgipB7LtABom",ly:0,lx:0,rotation:[0,0,0],cx:0,normal:[0,0,1],parentId:"8fpWrU7qVyVgipB7LtABom",rise:.4780056070898553,lz:0,selected:!1,ridgeRightPoint:[.5,1],type:"Roof",wallsId:["7xigJB2WiCCrREDc2Ja3YN"],cz:0},{color:"#ffffff",frameWidth:.05,normal:[0,0,1],id:"kT8BzEWny2ZAvkGr4E4KEf",showLabel:!1,mullionSpacing:.5,locked:!0,rotation:[0,0,0],mullionColor:"white",cz:.4037254895427074,type:"Window",mullion:!0,windowType:"Default",cy:.1,selected:!1,tint:"#73D8FF",mullionWidth:.06,ly:.3,lz:.14780124246219536,frame:!0,opacity:.5,shutter:{color:"#4d4d4d",width:.3,showRight:!0,showLeft:!0},lx:.15384615384615385,archHeight:1,parentId:"7xigJB2WiCCrREDc2Ja3YN",cx:-.23283427981414576,foundationId:"8fpWrU7qVyVgipB7LtABom"},{opacity:.5,mullionSpacing:.5,rotation:[0,0,0],windowType:"Default",frameWidth:.05,foundationId:"8fpWrU7qVyVgipB7LtABom",mullion:!0,ly:.3,mullionColor:"white",color:"#ffffff",tint:"#73D8FF",cy:.1,cz:.4037254895427074,locked:!0,parentId:"7xigJB2WiCCrREDc2Ja3YN",id:"7u1AuHohJXNKKJPafwNUFQ",lz:.14780124246219536,archHeight:1,frame:!0,normal:[0,0,1],cx:.23180175529168826,mullionWidth:.06,lx:.15384615384615385,type:"Window",selected:!1,shutter:{width:.3,showLeft:!0,color:"#4d4d4d",showRight:!0}},{id:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,locked:!0,type:"Foundation",cx:6.813410596867628,solarPowerTower:{},normal:[0,0,1],solarUpdraftTower:{},lx:3.6868215598526417,cz:.05,solarAbsorberPipe:{},parentId:"Ground",cy:.16141466329287235,notBuilding:!0,rotation:[0,0,0],lz:.07401736805849783,ly:2.3229214459557985},{eavesLength:.3,opacity:.5,parapet:{display:!1,copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,parapetHeight:1,color:"white"},leftTopPartialHeight:6.661563125264805,windows:[],selected:!1,leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",fill:"Full",cz:0,normal:[0,0,1],ly:.2,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],rightUnfilledHeight:.5,rotation:[0,0,0],wallStructure:"Default",rightTopPartialHeight:6.661563125264805,showLabel:!1,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],cx:.23852160917213716,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",rightPoint:[-.5114783908278628,.8698262658360515,.1],leftUnfilledHeight:.5,lx:1.5,locked:!0,id:"5eUwuiBwfGoNEpcHG5kHqK",structureSpacing:2,cy:.8698262658360515,relativeAngle:3.141592653589793,type:"Wall",structureColor:"white",lz:6.661563125264805,textureType:"Wall Texture #3",structureWidth:.1},{normal:[0,0,1],type:"Wall",rightJoints:["qQNV4qND1aDjEtJsd6HVio"],opacity:.5,eavesLength:.3,textureType:"Wall Texture #3",leftPoint:[-.5114783908278628,.8698262658360516,0],rightUnfilledHeight:1.5096768753682475,cy:.11982626583605155,rotation:[0,0,0],lx:1.5,id:"hbU2xUbmKEDDXYDMWnjjCc",lz:6.661563125264805,rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:4.71238898038469,structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,cx:-.5114783908278628,rightPoint:[-.5114783908278628,-.6301737341639485,0],locked:!0,showLabel:!1,structureColor:"white",parentId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,fill:"Partial",ly:.2,leftUnfilledHeight:1.5096768753682475,wallStructure:"Default",leftTopPartialHeight:6.661563125264805,cz:0,parapet:{copingsHeight:.1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",display:!1,color:"white"},leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"]},{cz:0,lz:6.661563125264805,rotation:[0,0,0],textureType:"Wall Texture #3",cy:-.6301737341639485,rightPoint:[.9885216091721372,-.6301737341639485,.1],normal:[0,0,1],structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,leftUnfilledHeight:.5,leftTopPartialHeight:6.661563125264805,leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,copingsWidth:.5,textureType:"No Wall Texture"},cx:.23852160917213716,structureWidth:.1,type:"Wall",rightJoints:["h8DQWwUSgNc283RWhcM3B1"],leftPoint:[-.5114783908278628,-.6301737341639485,.1],rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:0,parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,ly:.2,structureColor:"white",fill:"Full",id:"qQNV4qND1aDjEtJsd6HVio",opacity:.5,rightUnfilledHeight:.5,showLabel:!1,eavesLength:.3,wallStructure:"Default",locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",textureType:"Wall Texture #3",rotation:[0,0,0],opacity:.5,ly:.2,selected:!1,lz:6.661563125264805,leftJoints:["qQNV4qND1aDjEtJsd6HVio"],cy:.1198262658360515,fill:"Full",parapet:{display:!1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",color:"white",copingsHeight:.1},relativeAngle:1.5707963267948966,locked:!0,cx:.9885216091721372,parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,rightTopPartialHeight:6.661563125264805,rightUnfilledHeight:.5,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],lx:1.5,type:"Wall",cz:0,leftTopPartialHeight:6.661563125264805,eavesLength:.3,windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],leftUnfilledHeight:.5,wallStructure:"Default",structureColor:"white",showLabel:!1,structureSpacing:2,rightPoint:[.9885216091721372,.8698262658360515,.1],normal:[0,0,1]},{mullionColor:"white",windowType:"Default",cy:0,cz:0,frame:!0,ly:.3,cx:-.375,locked:!0,id:"wpUTVyngSAjDJDRdEV1NA6",shutter:{color:"#4d4d4d",showRight:!0,width:.25,showLeft:!0},showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frameWidth:.05,type:"Window",tint:"#73D8FF",mullionSpacing:.7,mullion:!0,color:"#ffffff",archHeight:1,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lz:.44384979425833565,lx:.08333333333333333,selected:!1,mullionWidth:.06,rotation:[0,0,0],normal:[0,0,1],opacity:.5},{locked:!0,archHeight:1,cx:-.20833333333333334,lx:.08333333333333333,cy:.1,cz:-.005759415706553773,mullionColor:"white",mullionSpacing:.7,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},frameWidth:.05,mullionWidth:.06,lz:.44384979425833565,mullion:!0,opacity:.5,color:"#ffffff",parentId:"cV8MyCuhWAsvEyyFuVqVqg",normal:[0,0,1],type:"Window",frame:!0,tint:"#73D8FF",windowType:"Default",rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,id:"5ncRWHnRQyocXJujBx5jNE",selected:!1},{cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,mullionSpacing:.7,windowType:"Default",mullionWidth:.06,mullionColor:"white",id:"piUU3YZv2L1Zvedb6EFfFm",lz:.44384979425833565,rotation:[0,0,0],selected:!1,locked:!0,mullion:!0,cx:.19999999999999998,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,archHeight:1,type:"Window",frame:!0,shutter:{width:.25,color:"#4d4d4d",showLeft:!0,showRight:!0},cz:-.005759415706553773,color:"#ffffff",normal:[0,0,1],frameWidth:.05,tint:"#73D8FF",opacity:.5},{cx:.37499999999999994,lx:.08333333333333333,shutter:{width:.25,showLeft:!0,showRight:!0,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],mullionWidth:.06,mullionSpacing:.7,normal:[0,0,1],lz:.44384979425833565,ly:.3,selected:!1,frameWidth:.05,opacity:.5,mullion:!0,parentId:"cV8MyCuhWAsvEyyFuVqVqg",id:"upiLr8uqx55GDieKSLsjPj",frame:!0,cy:0,cz:0,archHeight:1,type:"Window",color:"#ffffff",locked:!0,mullionColor:"white",tint:"#73D8FF",windowType:"Default"},{mullionSpacing:.7,tint:"#73D8FF",type:"Window",id:"d9R7TXr9G1aG6bGwu14v9k",frameWidth:.05,lx:.13333333333333333,cx:.3466666666666667,windowType:"Default",mullion:!0,mullionColor:"white",archHeight:1,cy:0,normal:[0,0,1],ly:.3,locked:!0,rotation:[0,0,0],lz:.3942112571821837,selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",parentId:"skm8dNPSkFaVkoUwiPNfq1",mullionWidth:.06,frame:!0,opacity:.5,cz:-.05913168857732756,showLabel:!1,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},color:"#ffffff"},{tint:"#73D8FF",mullion:!0,normal:[0,0,1],opacity:.5,lz:.3942112571821837,selected:!1,shutter:{showLeft:!0,width:.25,color:"#4d4d4d",showRight:!0},cz:.5913168857732756,type:"Window",mullionWidth:.06,mullionSpacing:.7,mullionColor:"white",windowType:"Default",ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",frameWidth:.05,locked:!0,id:"9k4wgdGyyHM5BC1r2nJbQH",archHeight:1,rotation:[0,0,0],color:"#ffffff",cy:0,cx:0,lx:.13333333333333333},{mullionColor:"white",cx:0,cz:-.05913168857732756,type:"Window",lx:.13333333333333333,rotation:[0,0,0],windowType:"Default",color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",ly:.3,shutter:{showLeft:!0,showRight:!0,width:.25,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",archHeight:1,cy:0,mullionSpacing:.7,lz:.3942112571821837,id:"rgPxjoaTPqdF2tQvSYYJxX",frameWidth:.05,selected:!1,tint:"#73D8FF",opacity:.5,locked:!0,frame:!0,mullionWidth:.06,normal:[0,0,1],mullion:!0},{mullionColor:"white",cz:-.05913168857732756,normal:[0,0,1],frame:!0,windowType:"Default",opacity:.5,ly:.3,mullionWidth:.06,cx:-.3333333333333333,color:"#ffffff",lz:.3942112571821837,lx:.13333333333333333,mullionSpacing:.7,cy:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",rotation:[0,0,0],id:"85T9TwcUR7am6Rcbs7Fcvu",type:"Window",selected:!1,frameWidth:.05,locked:!0,mullion:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",archHeight:1,shutter:{width:.25,showRight:!0,color:"#4d4d4d",showLeft:!0}},{lx:.544,lz:1.68,cz:.03700868412852199,rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",type:"Human",cy:-3.5804269948570657,ly:.544,locked:!0,normal:[0,1,0],id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,cx:-.09889479147539992,name:"Judd"},{locked:!0,lx:7.849178627898182,cz:0,id:"t5Aj8tjjpqVaLaB3uEqfR8",cy:-3.6653094140688935,rotation:[0,0,0],type:"Tree",normal:[0,1,0],lz:8.26765132308192,parentId:"Ground",selected:!1,cx:11.305837530144139,name:"Magnolia"},{parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",mullionSpacing:.7,archHeight:1,selected:!1,lz:.3942112571821837,lx:.13333333333333333,windowType:"Default",rotation:[0,0,0],shutter:{width:.25,showRight:!0,showLeft:!0,color:"#4d4d4d"},ly:.3,cz:-.08,locked:!0,cx:-.25833333333333336,frame:!0,color:"#ffffff",frameWidth:.05,mullionWidth:.06,id:"dGQYRX5aMuZKouydnVo1zc",mullionColor:"white",mullion:!0,normal:[0,0,1],tint:"#73D8FF",cy:-13376344861350336e-31,opacity:.5},{foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,color:"#ffffff",mullion:!0,frame:!0,normal:[0,0,1],mullionWidth:.06,rotation:[0,0,0],type:"Window",selected:!1,lx:.13333333333333333,mullionColor:"white",tint:"#73D8FF",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",locked:!0,windowType:"Default",shutter:{showRight:!0,showLeft:!0,width:.25,color:"#4d4d4d"},frameWidth:.05,archHeight:1,cx:.26666666666666666,cz:-.08,mullionSpacing:.7,opacity:.5,cy:-11010413489448665e-30,id:"cni5XLCGZ7vNfLqxjgsnua",lz:.3942112571821837},{lx:.10833333333333332,color:"white",showLabel:!1,textureType:"Door Texture Default",lz:.716165481422614,normal:[0,1,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",filled:!0,type:"Door",locked:!0,doorType:"Default",ly:0,selected:!1,archHeight:1,cy:0,cz:-.14191725928869298,rotation:[0,0,0],opacity:1,id:"j9wJCoWK33fz7y9VeMvYET",cx:.004166666666666666},{id:"hDyRWYv3zznENZxyb7giJb",parentId:"Ground",selected:!1,ly:.43,name:"Jess",cy:-3.1477838439296697,rotation:[0,0,0],type:"Human",locked:!0,cx:10.043178984637636,cz:0,lz:1.5,normal:[0,1,0],lx:.43},{lx:1,id:"rQBZjpiN17FBa7zVGS29EM",name:"Hosta",locked:!0,parentId:"Ground",rotation:[0,0,0],cx:-4.865498633056688,cz:4440892098500626e-31,cy:-5.35511145051621,type:"Flower",lz:.7,selected:!1,normal:[0,1,0]},{cx:-5.913277609806336,parentId:"Ground",rotation:[0,0,0],normal:[0,1,0],lz:.7,cy:-5.374330832155909,type:"Flower",lx:1,name:"Hosta",cz:0,locked:!0,id:"gc42wB2NVDE3XxmJXbCjzF",selected:!1},{parentId:"Ground",selected:!1,normal:[0,1,0],id:"vUf5PGrUMVgXbqYPHJhogg",cz:0,type:"Flower",locked:!0,rotation:[0,0,0],cy:-5.032667389054726,name:"Hosta",cx:5.365516144068206,lz:.7,lx:1},{type:"Flower",cz:0,lx:1,selected:!1,normal:[0,1,0],locked:!0,id:"nQJ3744KdWm46uETjWgCgh",name:"Hosta",cy:-5.0400985854852,lz:.7,parentId:"Ground",rotation:[0,0,0],cx:6.451426749352761},{normal:[0,1,0],lx:.4,name:"Bellflower",selected:!1,type:"Flower",cx:10.305907483983008,lz:.8,locked:!0,cz:-4440892098500626e-31,rotation:[0,0,0],parentId:"Ground",cy:-4.741244078804888,id:"v55S46CRAfNBqtvC7SejWL"},{type:"Flower",selected:!1,locked:!0,cz:0,rotation:[0,0,0],lz:.8,name:"Bellflower",cx:10.64587810641245,normal:[0,1,0],lx:.4,cy:-5.149011385356842,parentId:"Ground",id:"cjq5zpMwEQ68Pvr3BHuvAN"},{locked:!0,lx:.4,selected:!1,id:"bq7T5SUabm6WYJRf7MELsr",type:"Flower",parentId:"Ground",cz:0,cy:-5.113715548843749,name:"Bellflower",normal:[0,1,0],lz:.8,rotation:[0,0,0],cx:11.069278217326396},{parentId:"Ground",selected:!1,rotation:[0,0,0],cz:0,type:"Flower",name:"Bellflower",id:"kGacG4GbyL6sr53BA3szew",lx:.4,cx:10.087718880149556,normal:[0,0,1],cy:-5.171937637087455,locked:!0,lz:.8},{rotation:[0,0,0],parentId:"Ground",cz:0,id:"3mzXsN58FdxQCLpv8kVCYw",normal:[0,0,1],selected:!1,name:"Bellflower",locked:!0,cx:11.337264912334188,lx:.4,type:"Flower",lz:.8,cy:-4.906129973770318},{rotation:[0,0,0],normal:[0,0,1],cy:-3.991597909938303,cz:0,name:"Bellflower",locked:!0,lz:.8,type:"Flower",lx:.4,id:"acUhTF9RVe5riGAE9cfhJn",cx:10.431075288929677,parentId:"Ground",selected:!1},{name:"Bellflower",id:"ooTJkhwo3iWiDqyRe6jwef",cx:9.86441386534317,cy:-4.67810479084557,parentId:"Ground",normal:[0,0,1],selected:!1,lx:.4,locked:!0,rotation:[0,0,0],cz:-8881784197001252e-31,type:"Flower",lz:.8},{lz:.5,rotation:[0,0,0],name:"White Flower",selected:!1,type:"Flower",cz:0,lx:.8,id:"p8SDFTinzKkCMVNKYGXSQU",cx:9.406250442154278,normal:[0,1,0],locked:!0,cy:-4.8162245440076354,parentId:"Ground"},{cz:0,selected:!1,cx:9.924833666037356,type:"Flower",rotation:[0,0,0],locked:!0,name:"White Flower",cy:-5.548260780564018,parentId:"Ground",lz:.5,lx:.8,normal:[0,0,1],id:"vXr6WeGdxpL14pfLB8tAGS"},{normal:[0,1,0],rotation:[0,0,0],lz:2,selected:!1,cz:.03700868412863657,parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.8637473869150567,locked:!0,lx:1,id:"8jaD71ndVi3Pxu67kBrHve",name:"Tall Bush",type:"Flower",cy:-5.021658074995834},{normal:[0,0,1],cx:1.960367825542456,lz:2,name:"Tall Bush",locked:!0,cz:.03700868412852288,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"xu93thGDcf75KxzfVpckCK",lx:1,rotation:[0,0,0],cy:-5.044972777905908,selected:!1,type:"Flower"},{rotation:[0,0,0],id:"aPfi6ru8UEQvmRY7YmRfhQ",selected:!1,lx:2,cx:-2.974917470063473,name:"Hydrangea",parentId:"m7AH7DcnoGzAq9kryBy4RS",type:"Flower",lz:1.5,locked:!0,cy:-4.971526921550339,cz:.03700868412852377,normal:[0,0,1]},{cx:2.9943532379673203,lx:2,rotation:[0,0,0],selected:!1,cz:.03700868412852288,name:"Hydrangea",type:"Flower",parentId:"8fpWrU7qVyVgipB7LtABom",normal:[0,0,1],id:"p12f94kQKCXpPNEEPe9ktz",cy:-2.3800793411851497,locked:!0,lz:1.5},{parentId:"Ground",cz:4440892098500626e-31,cx:-8.658559512721883,id:"8MCf8WzkvdtkVT9MPmDy4G",cy:.2268652768492938,rotation:[0,0,0],normal:[0,0,1],lx:5.410682322966088,locked:!0,type:"Tree",selected:!1,lz:5.9930306282885,name:"Magnolia"},{name:"Yellow Flower",type:"Flower",locked:!0,rotation:[0,0,0],cy:-3.717743510806919,id:"kwZdR8kant3eBoLCjjUQCJ",lx:2,selected:!1,normal:[0,0,1],lz:1.4,cx:-8.813697651847779,parentId:"Ground",cz:-4440892098500626e-31},{lx:1,parentId:"Ground",lz:.7,rotation:[0,0,0],cx:-9.660182286895216,selected:!1,cy:-.10473626441648776,type:"Flower",cz:0,locked:!0,normal:[0,0,1],name:"Hosta",id:"hM4s39UWZUWNoUSUMHrmbJ"},{lz:.7,id:"nQgYQhsWvwPQorjAb4dSNv",rotation:[0,0,0],selected:!1,locked:!0,cz:0,cx:-9.04189556545002,cy:-.8584081924043119,lx:1,name:"Hosta",type:"Flower",normal:[0,0,1],parentId:"Ground"},{selectedIndex:1,noOutline:!0,lx:.4,id:"eYBEchBwdGr5aCP6pHEkhr",vertices:[{x:-.04166666666666669,y:-.13775856472283443},{y:-.00265513883370061,x:-.04166666666666669},{x:.041666666666666616,y:-.00265513883370061},{x:.041666666666666616,y:-.13775856472283443}],text:"175",opacity:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",fontSize:.3,cy:-.2942089556230589,rotation:[0,0,0],ly:.4,selected:!1,normal:[0,0,1],fontStrokeWidth:.01,cz:0,parentType:"Wall",lz:.4,fontColor:"gold",parentId:"cV8MyCuhWAsvEyyFuVqVqg",filled:!0,type:"Polygon",locked:!0,cx:-.00213352886578518,color:"#ffffff"},{lx:.10666666666666667,locked:!0,parentId:"8XDG3EHsQoX26MhuzwMYUM",normal:[0,1,0],type:"Door",cz:-.3986137684780472,lineWidth:.2,doorType:"Default",textureType:"Door Texture #8",uValue:10,color:"#ffffff",rotation:[0,0,0],selected:!1,archHeight:1,ly:0,lz:.20277246304390567,interior:!0,filled:!1,id:"d48TNpLXWZQD5hZa4SumwF",showLabel:!1,lineColor:"#000000",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.013333333333333334,cy:0},{type:"Window",color:"#ffffff",empty:!0,opacity:.5,normal:[0,-1,0],parentType:"Roof",lx:6.2858321442603895,rotation:[.535854716076799,0,0],lineColor:"#000000",lz:2.946512926202779,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,ly:.2,cz:4.9719401800066105,showLabel:!1,cy:-2.2182418146601295,windowType:"Default",sillWidth:0,mullionSpacing:.5,frameWidth:.1,mullion:!1,locked:!0,uValue:2,selected:!1,mullionColor:"#ffffff",interior:!0,cx:.546396492045166,tint:"#73D8FF",archHeight:1,id:"qbq4krxSBYqvGnjWC2BaZ6",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},parentId:"nbw17kYeUHp1aouuScuF3Y",lineWidth:.2,mullionWidth:.06}],mln=19,yln={visibilityResultsPanelY:0,showSunAngles:!1,showYearlyBuildingEnergyPanel:!1,yearlyPvYieldPanelY:0,mapWeatherStations:!1,enableRotate:!0,showYearlyHeliostatYieldPanel:!1,heatFluxScaleFactor:5,dailyParabolicTroughYieldPanelY:0,dailyBuildingEnergyPanelRect:{y:237,height:360,x:-520,width:600},yearlyParabolicTroughYieldPanelY:0,showDesignInfoPanel:!1,cameraPosition:[-8.799358255746082,-16.959783561056284,1.954611653271045],yearlyPvYieldPanelX:0,yearlyHeliostatYieldPanelY:0,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,stickyNotePanelY:0,cameraZoom:38.96037486782549,autoRotate:!1,yearlyBuildingEnergyPanelRect:{height:400,x:-78,y:157,width:600},showSolarPanelVisibilityResultsPanel:!1,yearlyParabolicDishYieldPanelX:0,mapTilt:0,weatherPanelX:0,theme:"Hill",yearlyHeliostatYieldPanelX:0,showMapPanel:!1,groundColor:"forestgreen",dailyFresnelReflectorYieldPanelX:0,dailyPvYieldPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicDishYieldPanelY:0,dailyHeliostatYieldPanelX:0,showDailyHeliostatYieldPanel:!1,ambientLightIntensity:.2,axes:!0,solarRadiationHeatMapMaxValue:5,directLightIntensity:2,groundImage:!1,mapPanelX:0,showWeatherPanel:!1,showYearlyParabolicDishYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:0,showHeliodonPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,showYearlyParabolicTroughYieldPanel:!1,mapZoom:18,heliodonPanelY:0,dailyFresnelReflectorYieldPanelY:0,dailyLightSensorPanelY:0,yearlyParabolicDishYieldPanelY:0,weatherPanelY:0,mapType:"roadmap",yearlyFresnelReflectorYieldPanelY:0,showDailyBuildingEnergyPanel:!1,showDailyParabolicTroughYieldPanel:!1,heliodonPanelX:0,visibilityResultsPanelX:0,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelX:0,orthographic:!1,yearlyParabolicTroughYieldPanelX:0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,dailyLightSensorPanelX:0,showDailyParabolicDishYieldPanel:!1,heliodon:!1,cameraPosition2D:[.3385955283596493,-.9616823668411001,150],showYearlyPvYieldPanel:!1,navigationView:!1,panCenter:[-1.2725556781216778,-2.9298638165589974,1.954611653271045],panCenter2D:[.3385955283596493,-.960681989394115,-984385140521351e-21],showInstructionPanel:!0,dailyHeliostatYieldPanelY:0,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelX:0,yearlyLightSensorPanelX:0,showSiteInfoPanel:!0,showDailyLightSensorPanel:!1},Aln={yearlyHeliostatIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1},wln=1,vln={poleSpacing:3,interRowSpacing:2,tiltAngle:0,orientation:"Landscape",poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK"},xln={maximumTiltAngle:1.5707963267948966,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",poleSpacing:5,poleHeight:1,minimumInterRowSpacing:2,maximumRowsPerRack:6,minimumRowsPerRack:1},bln={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,populationSize:20,selectionMethod:1,crossoverRate:.5,convergenceThreshold:.01,searchMethod:1,selectionRate:.5,problem:"Solar Panel Tilt Angle",maximumGenerations:5,objectiveFunctionType:1},particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",swarmSize:20,cognitiveCoefficient:.1,inertia:.8,objectiveFunctionType:1,socialCoefficient:.1}},Sln={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},Tln="Unknown",Pln=null,Cln=null,Rln=null,Hln=null,Mln=[],Iln=3,zln=3,Dln={docid:sln,time:cln,timestamp:uln,userid:dln,owner:fln,email:hln,world:pln,elements:gln,sceneRadius:mln,view:yln,graphState:Aln,evolutionMethod:wln,solarPanelArrayLayoutParams:vln,solarPanelArrayLayoutConstraints:xln,evolutionaryAlgorithmState:bln,economicsParams:Sln,modelType:Tln,modelAuthor:Pln,modelLabel:Cln,modelDescription:Rln,designProjectType:Hln,notes:Mln,minimumNavigationMoveSpeed:Iln,minimumNavigationTurnSpeed:zln},Eln="4MEDLVu1wYqsKgVHnu73g2",kln="06/19/2023 12:53 pm",Fln=1687193611217,Lln="QWecNcxhyvP6j6sBN11hBsfZDau1",Wln=null,Nln=null,Uln={solarRadiationHeatmapGridCellSize:.25,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Bln=[{ly:11.161213715568111,solarUpdraftTower:{},parentId:"Ground",cx:.43688740998646924,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.6256010051791083,type:"Foundation",solarPowerTower:{},lx:15.01849429025864,lz:.15,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.075,enableGroupMaster:!0,color:"#999999",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",ly:.1,rightPoint:[-6.121296160650631,3.6736355578602797,.15],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[5.878703839349369,3.6736355578602797,.15],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12129616065063109,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.6736355578602797,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.878703839349369,leftPoint:[5.878703839349369,-3.8263644421397207,.15],cy:-.07636444213971982,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.878703839349369,3.6736355578602797,.15],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"78T3MkimgRTSnmRTMhRnJm",selected:!1,cy:-.07636444213971982,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.121296160650631,3.6736355578602797,.15],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.1,cx:-6.121296160650631,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:-.12129616065063109,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.878703839349369,-3.8263644421397207,.15],cz:2.4938633836176103,textureType:"No Wall Texture",cy:-3.8263644421397207,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"78T3MkimgRTSnmRTMhRnJm",leftPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],ly:.1,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#009ce0",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#009ce0",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#009ce0",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#009ce0",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Door",cx:-.006666666666666672,cy:0,cz:-.18779489182743653,lx:.2,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Judd",cx:-1.6517669050671016,cy:-5.151915789984621,cz:0,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.544,locked:!1,flip:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},selected:!1,locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",cx:11.865118463765427,cy:-5.577986315935053,cz:8881784197001252e-31,lx:16.05619920115618,lz:13.259443372641188,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-3.0750695946303814,cy:-4.227743581523945,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.0998220675663912,cy:5.661327124584192,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-1.443673320056662,cy:5.538396761407162,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:3.7512645617671208,cy:-4.363148504838203,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:-12.252366424027322,cy:-4.618748106171015,cz:0,lx:8.855861155358149,lz:12.194962084865425,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!1},{type:"Human",name:"Jena",cx:.8275383928823183,cy:-9.624350207348813,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Elm",cx:13.111399109297015,cy:-1.1973027476553462,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!1,flip:!0},{type:"Wall",cx:-2.2052541270362322,cy:.8790814624363403,cz:3.903941909848086,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["7th3drNVpuY5AYVdUWYMmr"],rightJoints:["4phTBDkfBQXjkb4Rk7FnE9"],leftPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],rightPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"nKrKhaZnvb6NWdN1cuPNPQ",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-1.390168431935146,cy:.1417655180283693,cz:3.5644394786617815,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["kWszqFPBGdK8r8abVTohoG"],rightJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],leftPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],rightPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],relativeAngle:1.570796326794897,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"7th3drNVpuY5AYVdUWYMmr",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-3.020339822137318,cy:.14176551802837095,cz:3.660138480027889,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],rightJoints:["kWszqFPBGdK8r8abVTohoG"],leftPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],rightPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"4phTBDkfBQXjkb4Rk7FnE9",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-2.2052541270362322,cy:-.5955504263796001,cz:3.535805069111796,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["4phTBDkfBQXjkb4Rk7FnE9"],rightJoints:["7th3drNVpuY5AYVdUWYMmr"],leftPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],rightPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],relativeAngle:0,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"kWszqFPBGdK8r8abVTohoG",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Foundation",cx:.3077078971226189,cy:3.0276471134665144,cz:.05,lx:6.050585488591402,ly:1.8221381985905813,lz:.13318518579593203,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tn6VdYYXt613XceYDyUpJ9",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Tree",name:"Elm",cx:20.67846328505893,cy:-9.20268218529909,cz:0,lx:12.433839488245253,lz:9.836057268637402,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"6U6bXmGtKfkYqAs2kythZy",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:-10.79612992548108,cy:-.5136286397841126,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kMBedsoq9QVDjasDrQWT4V",selected:!1,locked:!1},{type:"Window",cx:-.012652630358459416,cy:.3,cz:-.43145161207114374,lx:.7034406025498919,ly:.1,lz:.1120689672961754,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"j6NUHZizYhFTiAyWQhXoD9",locked:!1},{type:"Polygon",cx:.07638982322958343,cy:-.25928828992332453,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333336,y:-.3349639302840458},{x:-.08333333333333336,y:-.21055371393891886},{x:.08333333333333327,y:-.21055371393891886},{x:.08333333333333327,y:-.3349639302840458}],parentId:"cV8MyCuhWAsvEyyFuVqVqg",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"riLcPLsK7W8zeEnjZw8gRf",text:"1776",fontSize:.3,fontColor:"gold",opacity:0,noOutline:!0,fontStrokeWidth:.01,locked:!1},{type:"Foundation",cx:.33379757598519466,cy:-2.7971719396742896,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"qGYqGFx5QHvCYMPqUamwtg",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["fHfbtb59n24haPtRTBRcYJ"],rightJoints:["1jiwH1dGqmJCE577Ac4BpJ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oQTYhBNys7ET4C3deVBZ5Q",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],rightJoints:["oQTYhBNys7ET4C3deVBZ5Q"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHfbtb59n24haPtRTBRcYJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["oQTYhBNys7ET4C3deVBZ5Q"],rightJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jiwH1dGqmJCE577Ac4BpJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1jiwH1dGqmJCE577Ac4BpJ"],rightJoints:["fHfbtb59n24haPtRTBRcYJ"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5nN1y4Kn3NGWF4MsuL2gGg",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLmsMTSYV91NUMvpsqsFiG",parentId:"5nN1y4Kn3NGWF4MsuL2gGg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"rYxSTT1cUyicscf7Y4FuC6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1jiwH1dGqmJCE577Ac4BpJ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.27,thickness:.1,rValue:2,color:"#4d4d4d",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["7th3drNVpuY5AYVdUWYMmr","nKrKhaZnvb6NWdN1cuPNPQ","4phTBDkfBQXjkb4Rk7FnE9","kWszqFPBGdK8r8abVTohoG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"a4xCB5WuiLgF5jeoo2tZKb",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"7th3drNVpuY5AYVdUWYMmr",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"bgYTJi5DzEFJGVCo57XuYk",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6134324317125827,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ooToYHmPZvhwYzrAb3RyWE",parentId:"nKrKhaZnvb6NWdN1cuPNPQ",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gozabRkLLupzqY7JtKZ5DU",parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:.03235145506019523,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"suAHKZgUHocvdJbxFoH78W",parentId:"kWszqFPBGdK8r8abVTohoG",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Foundation",cx:3.2150216052788303,cy:-2.8132764716626193,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"gh4c13r9yNg7ppA3VVwrX8",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["9qfdnpKV9WxuYmpphDkmD4"],rightJoints:["j9Z8EowBvMVCM2dwgKYy1y"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trW1X3K7auhSfAooobgEiw",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["3x1iWRnJVD2nF7eUVd16Wm"],rightJoints:["trW1X3K7auhSfAooobgEiw"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9qfdnpKV9WxuYmpphDkmD4",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["trW1X3K7auhSfAooobgEiw"],rightJoints:["3x1iWRnJVD2nF7eUVd16Wm"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j9Z8EowBvMVCM2dwgKYy1y",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["j9Z8EowBvMVCM2dwgKYy1y"],rightJoints:["9qfdnpKV9WxuYmpphDkmD4"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3x1iWRnJVD2nF7eUVd16Wm",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6LzR6eV1uwci9irbGqdmsg",parentId:"3x1iWRnJVD2nF7eUVd16Wm",foundationId:"gh4c13r9yNg7ppA3VVwrX8",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"685MKS7u6S8wM1nxD2jLoc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["j9Z8EowBvMVCM2dwgKYy1y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Foundation",cx:-4.860568941525044,cy:.763315834515849,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"js7EaM7SDLKEtCc7cBhAUc",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["tJ9GgBix3PLQrNArenRuzc"],rightJoints:["mnsM5PmgqiqpCUSahppEQQ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"4oWBJBVuW5ddc3zLD4mbeh",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["41NvU5MXffjBBr51nmDdGG"],rightJoints:["4oWBJBVuW5ddc3zLD4mbeh"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"tJ9GgBix3PLQrNArenRuzc",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4oWBJBVuW5ddc3zLD4mbeh"],rightJoints:["41NvU5MXffjBBr51nmDdGG"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"mnsM5PmgqiqpCUSahppEQQ",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["mnsM5PmgqiqpCUSahppEQQ"],rightJoints:["tJ9GgBix3PLQrNArenRuzc"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"41NvU5MXffjBBr51nmDdGG",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9EeeFoACPVE8MLe3zorx4K",parentId:"41NvU5MXffjBBr51nmDdGG",foundationId:"js7EaM7SDLKEtCc7cBhAUc",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"bz1WrgXhu5EcEAR9GxS6yF",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["mnsM5PmgqiqpCUSahppEQQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],ridgeWidth:1.783225650631956,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"78T3MkimgRTSnmRTMhRnJm",locked:!1,rise:2.3357705249971685,ceiling:!1},{type:"Foundation",cx:5.500184342397144,cy:.616975206751395,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"f7TRNhRrBM6HewS6E1guoW",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],rightJoints:["1hwtcWgsscfNjYqgnjhvtn"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"pNGTThD5hH42KcpY4sRcaQ",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["eqjL2dbMLsHLvayC5LyFuv"],rightJoints:["pNGTThD5hH42KcpY4sRcaQ"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"rRB8ra1Qwyw4iiHGHnpVZi",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["pNGTThD5hH42KcpY4sRcaQ"],rightJoints:["eqjL2dbMLsHLvayC5LyFuv"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"1hwtcWgsscfNjYqgnjhvtn",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1hwtcWgsscfNjYqgnjhvtn"],rightJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"eqjL2dbMLsHLvayC5LyFuv",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mDEuMJDYX8TiA5aadxRnBu",parentId:"eqjL2dbMLsHLvayC5LyFuv",foundationId:"f7TRNhRrBM6HewS6E1guoW",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"hWL7sH8U7YoQ4wHgsqH7VK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1hwtcWgsscfNjYqgnjhvtn"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-2.9061219154167555,cy:-3.497482825893301,cz:5.031519407546503,lx:1.300297700517698,ly:.1,lz:1.9655762500908776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"dqF6aB1PLVLHAKyQxUkNWg",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-.13217799837949085,cy:-3.466819756320384,cz:5.102337732905447,lx:1.0067165265651998,ly:.1,lz:2.114356430670708,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"s7X1mdRRoj7fgg7jLfkGQy",locked:!1,interior:!0,empty:!0,polygonTop:[.013284896561776944,.31018938223150583]},{type:"Window",cx:2.7465783818144205,cy:-3.5046143246410884,cz:5.015048753901841,lx:1.1969599659290129,ly:.1,lz:1.7862306602865088,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674958,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"4ExkckYEtLvi3sMjGcHsBj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-5.33506170232176,cy:.09994590152917182,cz:5.333416244357606,lx:1.2282372453539805,ly:.1,lz:1.511969232086556,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,4.71238898038469],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFPFPr9Hy5FNU5ri2g3ZMj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:5.09996147816442,cy:-.02661611464564695,cz:5.321843608513025,lx:1.1961819365662594,ly:.1,lz:1.1993416949141293,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,1.5707963267948966],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hYKzofeHiHD2fL3mK24K6U",locked:!1,interior:!0,empty:!0},{type:"Foundation",cx:-2.443546493608035,cy:-2.7953215648047354,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"k5csVFnyrpYrBkQNWDouaF",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["hhfft6jEyF5V7W3kNGR7VB"],rightJoints:["vuuABxxTWnhAaFBLMw5wsz"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uTXQVHi382ou2WhVmDTfzD",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4fS3C4uw4LVSpSngSsA7dR"],rightJoints:["uTXQVHi382ou2WhVmDTfzD"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhfft6jEyF5V7W3kNGR7VB",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["uTXQVHi382ou2WhVmDTfzD"],rightJoints:["4fS3C4uw4LVSpSngSsA7dR"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vuuABxxTWnhAaFBLMw5wsz",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["vuuABxxTWnhAaFBLMw5wsz"],rightJoints:["hhfft6jEyF5V7W3kNGR7VB"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4fS3C4uw4LVSpSngSsA7dR",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bKJgLy3t9PMmV69scLag6y",parentId:"4fS3C4uw4LVSpSngSsA7dR",foundationId:"k5csVFnyrpYrBkQNWDouaF",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"3dnKtcKTXnG1eDaqcB1sdk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["vuuABxxTWnhAaFBLMw5wsz"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-.2967756977486685,cy:.20088911106289942,cz:6.454733072357007,lx:1.191642955374655,ly:.1,lz:1.1555332790892452,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iuNzbNXdWiXkLCQooXhnqK"}],jln=34,Yln={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.5484163619340843,.44578561471726313,8140182408063113e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.5484163619340843,.4447852372714149,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-8.484010006399412,-18.277620093544904,3.817556225217015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:50.3506522061685,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[2.1400728033642977,-1.125989332642603,3.1050102010198306],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:6},Oln={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_ln=1,Vln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Gln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Xln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Jln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Kln="Unknown",qln=null,$ln=null,Qln=null,Zln=[],esn={docid:Eln,time:kln,timestamp:Fln,userid:Lln,owner:Wln,email:Nln,world:Uln,elements:Bln,sceneRadius:jln,view:Yln,graphState:Oln,evolutionMethod:_ln,solarPanelArrayLayoutParams:Vln,solarPanelArrayLayoutConstraints:Gln,evolutionaryAlgorithmState:Xln,economicsParams:Jln,modelType:Kln,modelAuthor:qln,modelLabel:$ln,modelDescription:Qln,notes:Zln},tsn="g9RKpzrgbWbsC1dbkpX9ZS",nsn="06/17/2023 02:55 pm",osn=1687028106173,isn="QWecNcxhyvP6j6sBN11hBsfZDau1",rsn=null,asn=null,lsn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},ssn=[{type:"Human",name:"Jaye",cx:-1.2513719184514027,cy:-6.372159113081112,cz:.03284187614917711,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Foundation",cx:.5149353122311684,cy:.036172415190780516,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,textureType:"Door Texture #3",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916777,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Human",name:"Jena",cx:.012588972336459392,cy:14.712453241561741,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:-1.183865369768545,cy:.5782456514167715,cz:2.2408122612280286,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.59075372847959,.5782456514167715,0],rightPoint:[-1.7769770110575003,.5782456514167715,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.59075372847959,cy:.043861762748918204,cz:2.2301039869226305,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.59075372847959,-.4905221259189351,0],rightPoint:[-.59075372847959,.5782456514167715,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.7769770110575003,cy:.043861762748918204,cz:2.228839888904333,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.7769770110575003,.5782456514167715,0],rightPoint:[-1.7769770110575003,-.4905221259189351,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.183865369768545,cy:-.4905221259189351,cz:2.268765007024547,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.7769770110575003,-.4905221259189351,0],rightPoint:[-.59075372847959,-.4905221259189351,0],relativeAngle:0,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:-6.963047317091872,cy:9.305275463657257,cz:.05,lx:3.9991959519547824,ly:1.4273945635779641,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,2.2629939081358477],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.8037383988388016,cy:5.7479913822261075,cz:1.2963049013988683,lx:2.4667544114619777,ly:.1,lz:2.5926098027977367,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[2.03711560456979,5.747991382226106,.06568375039354474],rightPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:2.037115604569791,cy:-.0267801106673915,cz:1.2963049013988683,lx:11.549542985787003,ly:.3,lz:2.5926098027977367,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],rightPoint:[2.03711560456979,5.747991382226106,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:-.4296388068921877,cy:-.026780110667392,cz:1.2963049013988683,lx:11.549542985787003,ly:.1,lz:2.5,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],rightPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.8037383988388016,cy:-5.801551603560892,cz:1.2963049013988683,lx:2.46675441146198,ly:.1,lz:2.5926098027977367,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],rightPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Foundation",cx:4.89676730184058,cy:-5.153959605268503,cz:.05,lx:4.932837807071785,ly:16.292262691376934,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Tree",name:"Maple",cx:-9.524500304672243,cy:13.709596046858643,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-6.796534185824541,cy:18.258777569256825,cz:0,lx:15.381033043650339,lz:12.882589649504101,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-2.2262641238571375,cy:-.2694473112048733,cz:.03284187614917755,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.2467598257077848,cy:3.412268957127143,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.3118748580987036,cy:-3.753623714118395,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Wall",cx:.06987760561132239,cy:2.6725668112376275,cz:2.2408122612280286,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["a5m5AvsmWigFtneecAXGMn"],rightJoints:["6PzfAQV8su7Enkckc6tSx8"],leftPoint:[5.194232556890523,2.672566811237627,0],rightPoint:[-5.054477345667879,2.672566811237628,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"82amhDo89t4LPzjbshEmmD",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:5.1942325568905225,cy:-.06239106653992166,cz:2.2301039869226305,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["xvDTHckT6Jh3sPEoBy9XsM"],rightJoints:["82amhDo89t4LPzjbshEmmD"],leftPoint:[5.194232556890521,-2.7973489443174713,0],rightPoint:[5.194232556890523,2.672566811237628,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"a5m5AvsmWigFtneecAXGMn",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.858178072916449,rightUnfilledHeight:5.858178072916449,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.054477345667879,cy:-.06239106653992166,cz:2.228839888904333,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["82amhDo89t4LPzjbshEmmD"],rightJoints:["xvDTHckT6Jh3sPEoBy9XsM"],leftPoint:[-5.054477345667878,2.672566811237628,0],rightPoint:[-5.054477345667879,-2.7973489443174713,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"6PzfAQV8su7Enkckc6tSx8",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.2742272581577952,cy:.1,cz:-.29166666666666663,lx:.1828181721051967,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hskMbJc7MNggWVyJxXeWfq",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27422725815779514,cy:.1,cz:-.29166666666666663,lx:.18281817210519707,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t4tAXhCx5djrNJxXHT3ypA",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.27422725815779525,cy:.1,cz:.2916666666666666,lx:.1828181721051968,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gDRnUAXHHxbgJda5pCBAaH",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.2742272581577952,cy:.1,cz:.2916666666666666,lx:.1828181721051969,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQdaLqe6Gc7eF6ukLyTX2V",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.06987760561132239,cy:-2.7973489443174713,cz:2.268765007024547,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["6PzfAQV8su7Enkckc6tSx8"],rightJoints:["a5m5AvsmWigFtneecAXGMn"],leftPoint:[-5.054477345667879,-2.7973489443174713,0],rightPoint:[5.194232556890523,-2.7973489443174713,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"xvDTHckT6Jh3sPEoBy9XsM",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{id:"wFnXk782R98H6AT2RALp7W",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofType:"Gable",textureType:"Roof Texture Default",thickness:.1,wallsId:["xvDTHckT6Jh3sPEoBy9XsM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Foundation",cx:-2.6332068809886726,cy:4.093457334157864,cz:.05,lx:13.955747653843215,ly:7.879103027392385,lz:.1,normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8JaqTz5HE2vZh6f1qWauFD",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.2439331412216011,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a18ekWsi3At6CyxwfsEfLY",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2439331412216011,cy:.1,cz:-.20257131122368566,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewmHx8vQmQCZbH72jjrubL",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p47WFW8gx3h8pL5rWPaE9A",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:-.28590464455701897,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKSHyHzpuwjQ6u42WTMQwe",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",flip:!0,cx:-10.024831295895067,cy:-6.947888024156535,cz:3552713678800501e-30,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"17x5uLRhSti25y9wnQAD3e",selected:!1,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:7.8517108982888875,cy:-13.70932723423602,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"e2bctFXk26F3cCpiZ3zcBD",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:9.46029508775506,cy:4.366435707994473,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rjMRf1bvBNLgz5CfSBmVBH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:6.596349525650214,cy:7.3019799091519495,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4nuj6tR4dp4bVWBFmJcLMX",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:12.109444732702052,cy:1.502490145889622,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"coNQQ9v27FUH4psYEEKrzU",selected:!1,locked:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.004578461502795039,cy:-.18228950583714837,cz:7.217657963251398,lx:10.906,ly:5.23,lz:.046,showLabel:!1,normal:[0,-.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,0],color:"#fff",parentType:"Roof",parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"e4qFnFipJKb5qm8a1HUcvh",selected:!1,locked:!0},{type:"Human",name:"June",cx:5.394006234886843,cy:5.908204264429319,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tW2AiaFFEyE2Ns8f1NeVn4",selected:!1,ly:.65,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:-5.079938766417403,cy:-11.600796953463268,cz:8881784197001252e-31,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sFTDyq1WHUnyaCtK8Et8T3",selected:!1,locked:!0},{type:"Wall",cx:-.5668843269198223,cy:3.3269838316456033,cz:2.2408122612280286,lx:3.1143702580201373,ly:.1,lz:2.5,leftJoints:["5JFnb9etkW9gKawcVectpr"],rightJoints:["4EuwNxKwuEQyYWKDv2pmPC"],leftPoint:[.9903008020902468,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"vN4erE1LRomCSRmHUxy4kc",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.9903008020902477,cy:.19539461285221188,cz:2.2301039869226305,lx:6.263178437586782,ly:.1,lz:2.5,leftJoints:["oDVTwfwNuCQjh6t1rv6GNB"],rightJoints:["vN4erE1LRomCSRmHUxy4kc"],leftPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],rightPoint:[.9903008020902482,3.326983831645603,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"5JFnb9etkW9gKawcVectpr",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-2.1240694559298916,cy:.19539461285221216,cz:2.228839888904333,lx:6.263178437586782,ly:.3,lz:2.5,leftJoints:["vN4erE1LRomCSRmHUxy4kc"],rightJoints:["oDVTwfwNuCQjh6t1rv6GNB"],leftPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"4EuwNxKwuEQyYWKDv2pmPC",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-.5668843269198227,cy:-2.9361946059411808,cz:2.268765007024547,lx:3.11437025802014,ly:.3,lz:2.5,leftJoints:["4EuwNxKwuEQyYWKDv2pmPC"],rightJoints:["5JFnb9etkW9gKawcVectpr"],leftPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],rightPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"oDVTwfwNuCQjh6t1rv6GNB",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Pillar",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{id:"niExsBvaYVQdEU42Cfexz9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["oDVTwfwNuCQjh6t1rv6GNB"],rightRidgeLength:1.3155130008385778,leftRidgeLength:1.2587510331302654,selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-.26272797008951887,cy:8.1604401446677,cz:.05,lx:5.309542023727572,ly:8.144294099873703,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hGX3VDUCbUqQb4byUBd7zY",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["5ExmWkfAba5nuC3xfHo5vU"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"gJReW7hpA5RV4sDmYkftax",leftRidgeLength:-1.2155130008385777,rightRidgeLength:1.3155130008385778,locked:!0,rise:1.3681252475370629,ceiling:!1},{type:"Polygon",cx:.04278236969738311,cy:-.2560980400226438,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333333,y:-.4166666666666667},{x:-.08333333333333333,y:-.25},{x:.08333333333333333,y:-.25},{x:.08333333333333333,y:-.4166666666666667}],parentId:"beHqET5NN8aNdsuBncMpY7",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:1,id:"ikVqMPzpwnqJzyuQKJnm3R",text:"1204",fontColor:"gold",fontSize:.6,fontStrokeWidth:.01,noOutline:!0,opacity:0,locked:!0},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.041666666666666664,lx:.2916666666666667,ly:0,lz:.9166666666666666,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n3r5S7QrbxSVjZ7xS5KyLu",locked:!0,interior:!0},{type:"Door",cx:-.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"igRWHnMRS6fxTHqNXYPWef",locked:!0,interior:!0},{type:"Door",cx:.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"qMCLuvG8BqaZaKpZzUtedz",locked:!0,interior:!0},{type:"Window",cx:3.404624864058591,cy:2.7885016621952796,cz:6.004798871333477,lx:3.4895626397811177,ly:.1,lz:.17796770265695697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901372,0,3.141592653589793],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"7jkKGZrNg3fgmgiepuiVd6",polygonTop:[-.4938087607108084,3.421264074035363],locked:!0},{type:"Window",cx:3.296162482623047,cy:-2.8950100151340963,cz:6.019804579108658,lx:3.6646685608352865,ly:.1,lz:.1258033813461092,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901371,0,-2220446049250313e-31],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"8TA7azNRBiNJHZ7UE6h9mn",polygonTop:[.4950567748754359,3.3542143495155483],locked:!0},{type:"Window",cx:.1444278091371094,cy:4.845674679128341,cz:6.11808489875612,lx:5.117648906007396,ly:.1,lz:.03540983073830939,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4221617487320861,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"tR6G6HakBCyhofJHaGkXmp",polygonTop:[.01012300685908669,5.088349513682089],locked:!0}],csn=32,usn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.504837297056488,2.0699150930784547,3503755702267236e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.504837297056488,2.0689147156290253,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[25.3008289766012,.2505638757784885,4.9037705563101905],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0370877496821287,2.0688812675610166,1.5303345515052023],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},dsn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},fsn=1,hsn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},psn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},gsn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},msn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ysn="Unknown",Asn=null,wsn=null,vsn=null,xsn=[],bsn={docid:tsn,time:nsn,timestamp:osn,userid:isn,owner:rsn,email:asn,world:lsn,elements:ssn,sceneRadius:csn,view:usn,graphState:dsn,evolutionMethod:fsn,solarPanelArrayLayoutParams:hsn,solarPanelArrayLayoutConstraints:psn,evolutionaryAlgorithmState:gsn,economicsParams:msn,modelType:ysn,modelAuthor:Asn,modelLabel:wsn,modelDescription:vsn,notes:xsn},Ssn="vK6VS27r7ebuK4Vrn5FXEP",Tsn="06/15/2023 09:51 am",Psn=1686837060482,Csn="QWecNcxhyvP6j6sBN11hBsfZDau1",Rsn=null,Hsn=null,Msn={solarRadiationHeatmapGridCellSize:.5,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Isn=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152013,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:1.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.75,enableGroupMaster:!1,color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #10",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture #10",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.05,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Foundation",ly:9.25428200301757,lz:1.5,rotation:[0,0,0],cz:.75,cx:-3.7362314250129023,lx:6.612524274166,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5723524020196393,id:"8fpWrU7qVyVgipB7LtABom",color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:6,ly:.1,leftRoofHeight:6,relativeAngle:3.141592653589793,rightRoofHeight:6,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:1.1421683491180719,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture #10",cx:-.03446770657950715,leftPoint:[.5366164679795284,1.8199505814331163,1.5],type:"Wall",rightPoint:[-.6055518811385436,1.8199505814331163,1.5],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8199505814331163,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.034605844072436,rightUnfilledHeight:4.034605844072436,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6,selected:!1,ly:.1,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.25713866261073326,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture #10",cx:.5366164679795284,showLabel:!1,leftRoofHeight:6,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948966,windows:[],rightRoofHeight:6,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[.5366164679795289,1.8199505814331163,1.5],lx:3.125623837644766,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.299511925163531,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:6,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture #10",cx:-.6055518811385436,rightPoint:[-.6055518811385436,-1.3056732562116498,1.5],lz:6,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-.6055518811385436,1.8199505814331163,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.125623837644766,cy:.25713866261073326,windows:[],ly:.1,rightRoofHeight:6,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.0310074855252225,leftTopPartialHeight:6,rightTopPartialHeight:6},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #7",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",locked:!0,rise:2.7886384076788957,ceiling:!0},{rightPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.03446770657950715,ly:.1,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:6,rightRoofHeight:6,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-.6055518811385436,-1.3056732562116498,1.5],type:"Wall",cy:-1.3056732562116498,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:6,windows:[],showLabel:!1,textureType:"Wall Texture #10",lx:1.1421683491180719,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9620846370965292,rightUnfilledHeight:3.9620846370965292,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],rotation:[0,0,0],lz:1.5,cz:.75,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.212507460282481,solarUpdraftTower:{},cy:.2598608554811861,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,color:"#999999",locked:!0,notBuilding:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.729424429660076,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.729424429660076,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.729424429660076,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.729424429660076,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#4d4d4d",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#4d4d4d",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#4d4d4d",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:.7732940589008983,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#4d4d4d",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:.01333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#4d4d4d",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.823266113240277,ceiling:!1},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Human",name:"Julia",cx:-4.0546196737223905,cy:-5.207889624542965,cz:.75,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.43,locked:!0},{type:"Human",name:"Jeanette",cx:.2766717538290546,cy:-.6581153273582476,cz:.21150016667646382,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"cv6ws4fhTJwK38XNPpn7tw",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.4,locked:!0,flip:!0},{type:"Wall",cx:-.006181075141490355,cy:1.8156223325109586,cz:3.903941909848086,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["t6JjtmZmPqJRVZKJkbyzJi"],rightJoints:["qnrZVcXW7sGmWiL5DxCcpP"],leftPoint:[.5649030994175456,1.8156223325109586,0],rightPoint:[-.5772652497005263,1.8156223325109586,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"34NjUPzx48JorZ5wqGUvgg",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.090518331707904,rightUnfilledHeight:4.090518331707904,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.5649030994175457,cy:.2528104136885755,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["i4xUARQgNSf52ouooVSiS9"],rightJoints:["34NjUPzx48JorZ5wqGUvgg"],leftPoint:[.5649030994175456,-1.3100015051338076,0],rightPoint:[.5649030994175459,1.8156223325109586,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t6JjtmZmPqJRVZKJkbyzJi",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.028013889590567,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.5772652497005263,cy:.2528104136885755,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["34NjUPzx48JorZ5wqGUvgg"],rightJoints:["i4xUARQgNSf52ouooVSiS9"],leftPoint:[-.5772652497005263,1.8156223325109586,0],rightPoint:[-.5772652497005263,-1.3100015051338076,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qnrZVcXW7sGmWiL5DxCcpP",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.1364823542733955,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.006181075141490355,cy:-1.3100015051338076,cz:3.535805069111796,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["qnrZVcXW7sGmWiL5DxCcpP"],rightJoints:["t6JjtmZmPqJRVZKJkbyzJi"],leftPoint:[-.5772652497005263,-1.3100015051338076,0],rightPoint:[.5649030994175456,-1.3100015051338076,0],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4xUARQgNSf52ouooVSiS9",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7865681839342544,rightUnfilledHeight:3.7865681839342544,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cwyjixUkvZfY5coPeNcNNJ",parentId:"i4xUARQgNSf52ouooVSiS9",foundationId:"av7Scm9oWip67CGVAb3HwH",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"6XqoQpBQebVdBqY1vwaPk1",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["qnrZVcXW7sGmWiL5DxCcpP"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:.24223269105650805,cy:-1.5680241530974817,cz:.75,lx:1.6067507475074267,ly:9.245625505173257,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"av7Scm9oWip67CGVAb3HwH",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.6856567353991228,cy:2.1936412961014904,cz:3.903941909848086,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["v49PfQ59VkByq57ohKX9uA"],rightJoints:["eq4bXeL88bLi2xVeWkyogN"],leftPoint:[-.11457256084008716,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,2.1936412961014904,1.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j2TVMgjH32U1V7YuWfrYce",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.114887562223342,rightUnfilledHeight:4.114887562223342,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.11457256084008716,cy:.6308293772791074,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["dofmNpVnoyUD6poUbEH92H"],rightJoints:["j2TVMgjH32U1V7YuWfrYce"],leftPoint:[-.11457256084008716,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,2.1936412961014904,1.5],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v49PfQ59VkByq57ohKX9uA",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.062467969251437,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.2567409099581588,cy:.6308293772791074,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["j2TVMgjH32U1V7YuWfrYce"],rightJoints:["dofmNpVnoyUD6poUbEH92H"],leftPoint:[-1.2567409099581588,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,-.9319825415432756,1.5],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eq4bXeL88bLi2xVeWkyogN",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.049169946024193,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.6856567353991228,cy:-.9319825415432756,cz:3.535805069111796,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["eq4bXeL88bLi2xVeWkyogN"],rightJoints:["v49PfQ59VkByq57ohKX9uA"],leftPoint:[-1.2567409099581588,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,-.9319825415432756,1.5],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dofmNpVnoyUD6poUbEH92H",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9479613094983987,rightUnfilledHeight:3.9479613094983987,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3EDLJ75vzk99MpdxpHr4hh",parentId:"dofmNpVnoyUD6poUbEH92H",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"o79bdk9md4xmEmamE9jZDk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["eq4bXeL88bLi2xVeWkyogN"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:5.151890032982978,cy:-1.8906835088164353,cz:.75,lx:2.7786220563926096,ly:10.001663432354322,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jkuhEvcKWfSvDRMRBsqBXk",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.0729406966879953,cy:2.9131022913654188,cz:0,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["5qopMgXVhuWqLTTbgdg2C8"],rightJoints:["tQatQTQ6mQZuwKjoqupSL4"],leftPoint:[3.965886713087709,2.9131022913654188,.1],rightPoint:[-4.111768106463698,2.9131022913654188,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2QkXRbu2NTc1FDQpK7icS4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:3.965886713087709,cy:-.1655182683590748,cz:1.2992388529678256,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["1ep2Qk4inm58Y7PxoRguRG"],rightJoints:["2QkXRbu2NTc1FDQpK7icS4"],leftPoint:[3.965886713087709,-3.2441388280835683,.1],rightPoint:[3.965886713087709,2.9131022913654188,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5qopMgXVhuWqLTTbgdg2C8",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-4.111768106463698,cy:-.1655182683590748,cz:2.586710917765224,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["2QkXRbu2NTc1FDQpK7icS4"],rightJoints:["1ep2Qk4inm58Y7PxoRguRG"],leftPoint:[-4.111768106463698,2.9131022913654188,.1],rightPoint:[-4.111768106463698,-3.2441388280835683,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tQatQTQ6mQZuwKjoqupSL4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-.0729406966879953,cy:-3.2441388280835683,cz:2.4938633836176103,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["tQatQTQ6mQZuwKjoqupSL4"],rightJoints:["5qopMgXVhuWqLTTbgdg2C8"],leftPoint:[-4.111768106463698,-3.2441388280835683,.1],rightPoint:[3.965886713087709,-3.2441388280835683,.1],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1ep2Qk4inm58Y7PxoRguRG",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{id:"uvH1MqzefQ1iAsExpBtN4M",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["1ep2Qk4inm58Y7PxoRguRG"],ridgeLeftPoint:[.022465454047944533,1],ridgeRightPoint:[-.022465454047944533,1],selected:!1,locked:!0,rise:2.3655935022394905,ceiling:!1},{type:"Foundation",cx:10.465737313188763,cy:.5916447850218542,cz:.05,lx:10.00769643062065,ly:8.714303918225442,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ifK63owceWoNBq3LMhjcHs",selected:!1,locked:!0,notBuilding:!0},{type:"Door",cx:0,cy:0,cz:-.12558978365487306,lx:.7427898485433437,ly:0,lz:.7488204326902539,textureType:"Door Texture #9",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"1ep2Qk4inm58Y7PxoRguRG",foundationId:"ifK63owceWoNBq3LMhjcHs",id:"eL15oTbziWLZJbMNpssTck",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.16546497475722394,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mrb9waVHrsnfat2WgDHgMt",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26782910355972656,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"2H38SarX7MqKe9NrSJLU3c",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03248208022392633,cy:.1,cz:.6842561898981983,lx:.1624104011196317,ly:.3,lz:.3732306490353806,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"i3Tn7iQFeRuNXmrH6GPDQq",parentId:"5qopMgXVhuWqLTTbgdg2C8",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Cuboid",cx:2.2577642180173108,cy:-5.6453790558022865,cz:.1,lx:3,ly:1.3162306313801917,lz:.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"9Wze4XMmA39XWNbYe6ckwa",locked:!0},{type:"Cuboid",cx:2.2976038416189706,cy:-5.4405702290503335,cz:.2,lx:3,ly:1.3162306313801917,lz:.4,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cGSH1ASJyBhQtxEpSahrE8",selected:!1,locked:!0},{type:"Cuboid",cx:2.3365648968920367,cy:-5.154286927831944,cz:.3,lx:3,ly:1.3162306313801917,lz:.6,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cv6ws4fhTJwK38XNPpn7tw",selected:!1,locked:!0},{type:"Cuboid",cx:2.507062522396451,cy:-4.8455157683194425,cz:.4,lx:3,ly:1.3162306313801917,lz:.8,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ri6K8Qk4KK99vNANoaSiXZ",selected:!1,locked:!0},{type:"Cuboid",cx:2.4248821063155837,cy:-4.531133253293998,cz:.5,lx:3,ly:1.3162306313801917,lz:1,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2Gn8chyesHppiqqGTQZT8a",selected:!1,locked:!0},{type:"Cuboid",cx:2.533917032120782,cy:-4.195225691908959,cz:.6,lx:3,ly:1.3162306313801917,lz:1.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ehfdKqFJbYRYgEacHfcSrM",selected:!1,locked:!0},{type:"Wall",cx:.0857963607111687,cy:-.2904374094354525,cz:1.150915251216218,lx:2.404566605355184,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.116486941966424,-.2904374094354525,1.5],rightPoint:[1.2880796633887615,-.2904374094354525,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"4JmE6VzFyWnD6MemgeMrqW",parentId:"daUcFc6UnVMEpiH1CZh8Ax",foundationId:"daUcFc6UnVMEpiH1CZh8Ax",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,locked:!0,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:5.066690845229112,cy:-5.858628346969445,cz:.75,lx:2.8024103470983674,ly:.5858813368700218,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"daUcFc6UnVMEpiH1CZh8Ax",selected:!1,locked:!0},{type:"Wall",cx:-.010162937707880904,cy:-.27969729189333203,cz:1.150915251216218,lx:2.7842161072229072,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.4022709913193345,-.27969729189333203,0],rightPoint:[1.3819451159035727,-.27969729189333203,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"vcvEWpSiXZ5AtQHJNQyqhY",parentId:"65TcBaUghe9ngQtPh9tufn",foundationId:"65TcBaUghe9ngQtPh9tufn",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:6.152095245348214,cy:-4.760328635056652,cz:.75,lx:2.915478093095909,ly:.7794205585653092,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"65TcBaUghe9ngQtPh9tufn",selected:!1,locked:!0},{type:"Wall",cx:-.276566476107305,cy:.5996488777144623,cz:1.150915251216218,lx:11.731055226486902,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-6.142094089350756,.5996488777144623,0],rightPoint:[5.588961137136146,.5996488777144623,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"k8e5KBsuGXsXGc26TdAWYM",parentId:"csYashxN5k4v6auFhKNgfA",foundationId:"csYashxN5k4v6auFhKNgfA",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:-7.493205467286131,cy:-.5191007727531233,cz:.75,lx:12.992980587303297,ly:1.782214080949399,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"csYashxN5k4v6auFhKNgfA",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.22003149528798988,cy:.772395685760463,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.2129790660534816,.7723956857604638,1.5],rightPoint:[.7729160754775029,.7723956857604621,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sY5yERTXjEfiYz5tbFrJmk",parentId:"kzThvJkRFm5Ya2iKooXQMF",foundationId:"kzThvJkRFm5Ya2iKooXQMF",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:4.743113555100415,cy:-4.918499332768188,cz:.75,lx:2.567636418672608,ly:1.9347230107434228,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kzThvJkRFm5Ya2iKooXQMF",selected:!1,locked:!0},{type:"Wall",cx:-.059861706164943095,cy:.5378886591540968,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.0528092769304358,.5378886591540978,1.5],rightPoint:[.9330858646005495,.5378886591540958,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"8BecBzK2CPYixjaNncu9H5",parentId:"gwSpq2qFCkfhWVsvJnM5AE",foundationId:"gwSpq2qFCkfhWVsvJnM5AE",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:.42575056512061704,cy:-5.140654078880996,cz:.75,lx:2.247296840426521,ly:1.4657089575306883,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwSpq2qFCkfhWVsvJnM5AE",selected:!1,locked:!0},{type:"Foundation",cx:-2.9112882100701762,cy:-6.403418415150944,cz:.75,lx:8.173695480475347,ly:1.3650515213739076,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jWpuB3xMuZWn7633AcTjQQ",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.02566265362821607,cy:.20995571674405689,cz:1.150915251216218,lx:7.716839583972954,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-3.884082445614693,.20995571674405689,1.5],rightPoint:[3.8327571383582604,.20995571674405689,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"pSkQGB7bArPhyBetUXPGRv",parentId:"jWpuB3xMuZWn7633AcTjQQ",foundationId:"jWpuB3xMuZWn7633AcTjQQ",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Tree",name:"Maple",cx:17.67275693788636,cy:1.4450419691745573,cz:0,lx:7.6312730174756584,lz:11.401453020556955,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-5.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9CLZuQC6xH4DGcZvLruk4s",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-3.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-7.120054695086734,cy:-7.839525295949519,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:5.193738527580392,cy:-7.522536559524424,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:4.348603816989412,cy:-3.7966311920217564,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",id:"3BJtmEHpbtqcXXRrfQPwwr",selected:!1,locked:!0},{type:"Tree",name:"Oak",cx:-10.77654007007384,cy:-2.788234414080616,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!0},{type:"Human",name:"Jess",cx:2.2752160006176823,cy:-7.071591540443462,cz:0,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!0},{type:"Human",name:"Jacob",cx:.3503088352536956,cy:-2.663378139781919,cz:.75,lx:.8,ly:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",id:"gesRfpbEyibu8BUu8qDy6K",selected:!1,locked:!0},{type:"Tree",name:"Elm",cx:18.756466652215924,cy:-2.7486876275390486,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!0},{type:"Human",name:"James",cx:8.507664798169325,cy:-5.727708445895644,cz:0,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"73Mqjiw5uA1adJ6VuCj1Hf",selected:!1,locked:!0,ly:.472},{type:"Window",cx:0,cy:.3,cz:-.4375948219942384,lx:.5999999999999999,ly:.2,lz:.09893520815024884,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#ffffff",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"hbU2xUbmKEDDXYDMWnjjCc",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",id:"uREiM8jYGDR4pHGhExSRue",locked:!0},{type:"Window",cx:4.705024136514664,cy:-2.6459148350408155,cz:5.1903908249340365,lx:1.017838969182642,ly:.1,lz:2.4409651392693985,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"awVnqCCaufqdGFN22hhzCh",polygonTop:[-.004246287687605959,1.3860496223503058],locked:!0},{type:"Window",cx:-3.539719570796281,cy:-2.6129313680432986,cz:5.216072446970213,lx:1.0219090902157242,ly:.1,lz:2.605748416583291,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"beXK9hhAUyaFYx6f7DgTpY",polygonTop:[-.009615353578652338,1.2933689118390408],locked:!0},{type:"Window",cx:.46569240547031454,cy:-2.6095553790950374,cz:5.2187010630636665,lx:1.0033772100904075,ly:.1,lz:2.5243075624407934,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fevDj1GsBSq5dNg5cXjnX",polygonTop:[-.0091530130675596,1.325340055666175],locked:!0}],zsn=30,Dsn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.2466960461719456,-2.0265671834489423,-1924388015203177e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.2466960461719456,-2.027567560894961,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.555852980703822,-18.310792933314314,3.245069996575005],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:53.00068653280895,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.1288754420913087,4.629680469479072,3.245069996575005],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Esn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ksn=1,Fsn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Lsn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Wsn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Nsn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Usn="Unknown",Bsn=null,jsn=null,Ysn=null,Osn=[],_sn={docid:Ssn,time:Tsn,timestamp:Psn,userid:Csn,owner:Rsn,email:Hsn,world:Msn,elements:Isn,sceneRadius:zsn,view:Dsn,graphState:Esn,evolutionMethod:ksn,solarPanelArrayLayoutParams:Fsn,solarPanelArrayLayoutConstraints:Lsn,evolutionaryAlgorithmState:Wsn,economicsParams:Nsn,modelType:Usn,modelAuthor:Bsn,modelLabel:jsn,modelDescription:Ysn,notes:Osn},Vsn="9jsoUmZjFa6HRMNbZRgLRS",Gsn="02/04/2023 12:38 pm",Xsn=1675532324876,Jsn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ksn=null,qsn=null,$sn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Santa Fe, NM, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6869752,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-105.937799},Qsn=[{type:"Human",name:"Jack",cx:8.588979243554906,cy:-11.560427912321174,cz:.041681792587043624,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"nxTJLHqZjgyqZrkQWWFYNc",selected:!1,ly:.42},{type:"Wall",cx:4.753050582030476,cy:10.626899890630142,cz:0,lx:9.506101164060953,ly:.3,lz:3,leftJoints:["n33KXHECHwqKVeBnmXbdJd"],rightJoints:["6eXPAWMW3HwxTSXj1rA53P"],leftPoint:[9.506101164060953,10.626899890630142,0],rightPoint:[0,10.626899890630142,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a4Bg19CP2z1jtLJFY16BxW",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:9.506101164060953,cy:7.9701749179726065,cz:0,lx:5.313449945315071,ly:.3,lz:3,leftJoints:["beJH9KRXtDcaa6m4RL93xX"],rightJoints:["a4Bg19CP2z1jtLJFY16BxW"],leftPoint:[9.506101164060953,5.313449945315071,0],rightPoint:[9.506101164060953,10.626899890630142,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"n33KXHECHwqKVeBnmXbdJd",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:8.855749908858451,cz:0,lx:3.542299963543381,ly:.3,lz:3,leftJoints:["a4Bg19CP2z1jtLJFY16BxW"],rightJoints:["4SGmtgxinTGHnoFQ6qdAaP"],leftPoint:[0,10.626899890630142,0],rightPoint:[0,7.084599927086761,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"6eXPAWMW3HwxTSXj1rA53P",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.27774552382743,cy:7.084599927086761,cz:0,lx:8.55549104765486,ly:.3,lz:3,leftJoints:["6eXPAWMW3HwxTSXj1rA53P"],rightJoints:["6iedjZED9QspL73RvXyJ4d"],leftPoint:[0,7.084599927086761,0],rightPoint:[-8.55549104765486,7.084599927086761,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"4SGmtgxinTGHnoFQ6qdAaP",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.9875375953656599,cy:.44615496717367314,cz:.05,lx:40.39365311700692,ly:26.5055971077695,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7ZHXRj1w61cveRC3gvedyo",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-8.961026955741858,cy:7.857997137758722,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],rightJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],leftPoint:[-7.1534477968947074,7.857997137758721,0],rightPoint:[-10.768606114589009,7.857997137758723,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uDQQEBasztVc5Fw2jHnuGP",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-7.197945741195914,cy:10.175838580765596,cz:0,lx:4.636537079315653,ly:.3,lz:5,leftJoints:["vsD1vwp8qSW44JbcubZkXV"],rightJoints:["uDQQEBasztVc5Fw2jHnuGP"],leftPoint:[-7.242443685497121,12.493680023772473,0],rightPoint:[-7.1534477968947074,7.857997137758721,0],relativeAngle:-1.5516006743615667,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xuK1PJLtnxrY5qEw5Jrz2o",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-10.768606114589009,cy:5.3615068621475075,cz:0,lx:4.992980551222431,ly:.3,lz:5,leftJoints:["uDQQEBasztVc5Fw2jHnuGP"],rightJoints:["uATyhCzseLrePeH6qe33SW"],leftPoint:[-10.768606114589009,7.857997137758723,0],rightPoint:[-10.768606114589009,2.865016586536292,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hCvpR7Qt8oZW3kx27Ef8k6",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-8.961026955741858,cy:2.865016586536292,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],rightJoints:["tqM54puNK2eFNMyoRHbgSP"],leftPoint:[-10.768606114589009,2.865016586536292,0],rightPoint:[-7.1534477968947074,2.865016586536292,0],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uATyhCzseLrePeH6qe33SW",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-.46263679223863563,cy:1.9526278259940124,cz:.05,lx:26.17077502865179,ly:28.364342258415146,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g8MxeMM8L2RM1xR4mKCqRr",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-8.55549104765486,cy:8.41296241341553,cz:0,lx:2.6567249726575364,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-8.55549104765486,7.084599927086761,0],rightPoint:[-8.55549104765486,9.741324899744297,0],leftJoints:["4SGmtgxinTGHnoFQ6qdAaP"],rightJoints:["hDtjiJL8L1n4uHmeabkB4U"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6iedjZED9QspL73RvXyJ4d",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-12.35793151327924,cy:9.741324899744297,cz:0,lx:7.604880931248763,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-8.55549104765486,9.741324899744297,0],rightPoint:[-16.160371978903623,9.741324899744297,0],leftJoints:["6iedjZED9QspL73RvXyJ4d"],rightJoints:["e6DZMEDS2hLL8irgctx6vS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hDtjiJL8L1n4uHmeabkB4U",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-16.160371978903623,9.741324899744297,0],rightPoint:[-16.160371978903623,5.313449945315071,0],leftJoints:["hDtjiJL8L1n4uHmeabkB4U"],rightJoints:["7s9AjDXhyZFDC86cd8GCyQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"e6DZMEDS2hLL8irgctx6vS",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-17.586287153512764,cy:5.313449945315071,cz:0,lx:2.8518303492182824,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-16.160371978903623,5.313449945315071,0],rightPoint:[-19.012202328121905,5.313449945315071,0],leftJoints:["e6DZMEDS2hLL8irgctx6vS"],rightJoints:["a5EWedAAgHioHmzEA7mZco"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7s9AjDXhyZFDC86cd8GCyQ",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-19.012202328121905,cy:.4427874954429223,cz:0,lx:9.741324899744297,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-19.012202328121905,5.313449945315071,0],rightPoint:[-19.012202328121905,-4.427874954429226,0],leftJoints:["7s9AjDXhyZFDC86cd8GCyQ"],rightJoints:["qL7VdZTbY3pmPL7NfVed4R"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"a5EWedAAgHioHmzEA7mZco",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:-4.427874954429226,cz:0,lx:5.7036606984365665,ly:.3,lz:3,relativeAngle:0,leftPoint:[-19.012202328121905,-4.427874954429226,0],rightPoint:[-13.308541629685338,-4.427874954429226,0],leftJoints:["a5EWedAAgHioHmzEA7mZco"],rightJoints:["fn57GZtoH28juoAimKo6sD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qL7VdZTbY3pmPL7NfVed4R",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-13.308541629685338,-4.427874954429226,0],rightPoint:[-13.308541629685338,-9.741324899744297,0],leftJoints:["qL7VdZTbY3pmPL7NfVed4R"],rightJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"fn57GZtoH28juoAimKo6sD",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-9.030796105857908,cy:-9.741324899744297,cz:0,lx:8.555491047654861,ly:.3,lz:3,relativeAngle:0,leftPoint:[-13.308541629685338,-9.741324899744297,0],rightPoint:[-4.753050582030476,-9.741324899744297,0],leftJoints:["fn57GZtoH28juoAimKo6sD"],rightJoints:["iYnhW4g6qEKdNus5mK9fsA"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9SBa3hK2RVhjPz2Nqh1iCG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.753050582030476,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-4.753050582030476,-9.741324899744297,0],rightPoint:[-4.753050582030476,-4.427874954429226,0],leftJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],rightJoints:["6pHr36CrawF8YcpXm7jL2B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"iYnhW4g6qEKdNus5mK9fsA",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-.4753050582030476,cy:-4.427874954429226,cz:0,lx:8.555491047654858,ly:.3,lz:3,relativeAngle:0,leftPoint:[-4.753050582030476,-4.427874954429226,0],rightPoint:[3.802440465624381,-4.427874954429226,0],leftJoints:["iYnhW4g6qEKdNus5mK9fsA"],rightJoints:["danskvNGt22kxxX25ZKZed"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6pHr36CrawF8YcpXm7jL2B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:3.802440465624381,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[3.802440465624381,-4.427874954429226,0],rightPoint:[3.802440465624381,-9.741324899744297,0],leftJoints:["6pHr36CrawF8YcpXm7jL2B"],rightJoints:["wg6dFewM89iG6naCdP3n3V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"danskvNGt22kxxX25ZKZed",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:8.55549104765486,cy:-9.741324899744297,cz:0,lx:9.506101164060958,ly:.3,lz:3,relativeAngle:0,leftPoint:[3.802440465624381,-9.741324899744297,0],rightPoint:[13.308541629685338,-9.741324899744297,0],leftJoints:["danskvNGt22kxxX25ZKZed"],rightJoints:["rpaC6fdHvBmen4T9c95DSG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wg6dFewM89iG6naCdP3n3V",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[13.308541629685338,-9.741324899744297,0],rightPoint:[13.308541629685338,-4.427874954429226,0],leftJoints:["wg6dFewM89iG6naCdP3n3V"],rightJoints:["pHPE8SbRWTKrpBzChi8YzX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"rpaC6fdHvBmen4T9c95DSG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:-4.427874954429226,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:0,leftPoint:[13.308541629685338,-4.427874954429226,0],rightPoint:[18.061592211715812,-4.427874954429226,0],leftJoints:["rpaC6fdHvBmen4T9c95DSG"],rightJoints:["hoTvGY2rqMy7seoYfMRRTd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"pHPE8SbRWTKrpBzChi8YzX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:18.061592211715812,cy:2.6567249726575355,cz:0,lx:14.169199854173524,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[18.061592211715812,-4.427874954429226,0],rightPoint:[18.061592211715812,9.741324899744297,0],leftJoints:["pHPE8SbRWTKrpBzChi8YzX"],rightJoints:["j5t6bBkxWAT3r9CjT4GP8B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hoTvGY2rqMy7seoYfMRRTd",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:9.741324899744297,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[18.061592211715812,9.741324899744297,0],rightPoint:[13.308541629685338,9.741324899744297,0],leftJoints:["hoTvGY2rqMy7seoYfMRRTd"],rightJoints:["9M2paYYKiDyFzdP7AKGC3T"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"j5t6bBkxWAT3r9CjT4GP8B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[13.308541629685338,9.741324899744297,0],rightPoint:[13.308541629685338,5.313449945315071,0],leftJoints:["j5t6bBkxWAT3r9CjT4GP8B"],rightJoints:["beJH9KRXtDcaa6m4RL93xX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9M2paYYKiDyFzdP7AKGC3T",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:11.407321396873146,cy:5.313449945315071,cz:0,lx:3.802440465624386,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[13.308541629685338,5.313449945315071,0],rightPoint:[9.506101164060953,5.313449945315071,0],leftJoints:["9M2paYYKiDyFzdP7AKGC3T"],rightJoints:["n33KXHECHwqKVeBnmXbdJd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"beJH9KRXtDcaa6m4RL93xX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["danskvNGt22kxxX25ZKZed","wg6dFewM89iG6naCdP3n3V","rpaC6fdHvBmen4T9c95DSG","pHPE8SbRWTKrpBzChi8YzX","hoTvGY2rqMy7seoYfMRRTd","j5t6bBkxWAT3r9CjT4GP8B","9M2paYYKiDyFzdP7AKGC3T","beJH9KRXtDcaa6m4RL93xX","n33KXHECHwqKVeBnmXbdJd","a4Bg19CP2z1jtLJFY16BxW","6eXPAWMW3HwxTSXj1rA53P","4SGmtgxinTGHnoFQ6qdAaP","6iedjZED9QspL73RvXyJ4d","hDtjiJL8L1n4uHmeabkB4U","e6DZMEDS2hLL8irgctx6vS","7s9AjDXhyZFDC86cd8GCyQ","a5EWedAAgHioHmzEA7mZco","qL7VdZTbY3pmPL7NfVed4R","fn57GZtoH28juoAimKo6sD","9SBa3hK2RVhjPz2Nqh1iCG","iYnhW4g6qEKdNus5mK9fsA","6pHr36CrawF8YcpXm7jL2B"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7doUCjB7UiFLbUyVdhSHA4",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-7.1534477968947074,cy:-.13077174419716386,cz:0,lx:5.991576661466917,ly:.3,lz:5,relativeAngle:-1.5707963267948966,leftPoint:[-7.1534477968947074,2.8650165865362944,0],rightPoint:[-7.1534477968947074,-3.126560074930622,0],leftJoints:["uATyhCzseLrePeH6qe33SW"],rightJoints:["7vyLAK1d3g1q4PaUuuH3M8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"tqM54puNK2eFNMyoRHbgSP",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-4.143736556044865,cy:12.493680023772473,cz:0,lx:6.197414258904514,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[-1.0450294265926074,12.493680023772473,0],rightPoint:[-7.242443685497122,12.493680023772473,0],leftJoints:["qEF7XtXZnzW6BxWMfbdwQU"],rightJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vsD1vwp8qSW44JbcubZkXV",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-1.0450294265926074,cy:10.746136830844623,cz:0,lx:3.4950863858557017,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[-1.0450294265926074,8.998593637916771,0],rightPoint:[-1.0450294265926074,12.493680023772473,0],leftJoints:["dYJeyws9qM6CyNBpAFDT4C"],rightJoints:["vsD1vwp8qSW44JbcubZkXV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"qEF7XtXZnzW6BxWMfbdwQU",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:1.537226514617607,cy:8.998593637916771,cz:0,lx:5.164511882420429,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[4.119482455827821,8.998593637916771,0],rightPoint:[-1.0450294265926074,8.998593637916771,0],leftJoints:["xnWNtThasHmB5nj7DTLwTx"],rightJoints:["qEF7XtXZnzW6BxWMfbdwQU"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"dYJeyws9qM6CyNBpAFDT4C",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:4.163980400129028,cy:6.930401222471017,cz:0,lx:4.137342110270493,ly:.3,lz:5,relativeAngle:1.5923083871193127,leftPoint:[4.208478344430235,4.862208807025264,0],rightPoint:[4.119482455827821,8.998593637916771,0],leftJoints:["e1bkiT8KZb5kq2EZtd6xkx"],rightJoints:["dYJeyws9qM6CyNBpAFDT4C"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"xnWNtThasHmB5nj7DTLwTx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:7.565411068003514,cy:4.862208807025264,cz:0,lx:6.713865447146558,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[10.922343791576793,4.862208807025264,0],rightPoint:[4.208478344430235,4.862208807025264,0],leftJoints:["rBwg9zRDQVA6MAAvxTQwmb"],rightJoints:["xnWNtThasHmB5nj7DTLwTx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"e1bkiT8KZb5kq2EZtd6xkx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:10.922343791576793,cy:1.8664204762918066,cz:0,lx:5.991576661466915,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[10.922343791576793,-1.1293678544416508,0],rightPoint:[10.922343791576793,4.862208807025264,0],leftJoints:["aEZwzvFgCTEAmsGj6SSh6G"],rightJoints:["e1bkiT8KZb5kq2EZtd6xkx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"rBwg9zRDQVA6MAAvxTQwmb",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:5.499606315035343,cy:-1.1293678544416508,cz:0,lx:10.8454749530829,ly:.3,lz:5,relativeAngle:0,leftPoint:[.07686883849389224,-1.1293678544416508,0],rightPoint:[10.922343791576793,-1.1293678544416508,0],leftJoints:["jFwtQp4MdbPXqJBW5eWb7h"],rightJoints:["rBwg9zRDQVA6MAAvxTQwmb"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"aEZwzvFgCTEAmsGj6SSh6G",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.07686883849389224,cy:-2.1279639646861366,cz:0,lx:1.9971922204889714,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[.07686883849389224,-3.126560074930622,0],rightPoint:[.07686883849389224,-1.1293678544416508,0],leftJoints:["7vyLAK1d3g1q4PaUuuH3M8"],rightJoints:["aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"jFwtQp4MdbPXqJBW5eWb7h",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-3.5382894792004076,cy:-3.126560074930622,cz:0,lx:7.2303166353886,ly:.3,lz:5,relativeAngle:0,leftPoint:[-7.1534477968947074,-3.126560074930622,0],rightPoint:[.07686883849389224,-3.126560074930622,0],leftJoints:["tqM54puNK2eFNMyoRHbgSP"],rightJoints:["jFwtQp4MdbPXqJBW5eWb7h"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7vyLAK1d3g1q4PaUuuH3M8",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rBwg9zRDQVA6MAAvxTQwmb","e1bkiT8KZb5kq2EZtd6xkx","xnWNtThasHmB5nj7DTLwTx","dYJeyws9qM6CyNBpAFDT4C","qEF7XtXZnzW6BxWMfbdwQU","vsD1vwp8qSW44JbcubZkXV","xuK1PJLtnxrY5qEw5Jrz2o","uDQQEBasztVc5Fw2jHnuGP","hCvpR7Qt8oZW3kx27Ef8k6","uATyhCzseLrePeH6qe33SW","tqM54puNK2eFNMyoRHbgSP","7vyLAK1d3g1q4PaUuuH3M8","jFwtQp4MdbPXqJBW5eWb7h","aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7C84Wu1AsADHbFygjWBmQ9",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-4.345096487504885,cy:5.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["rHJy1GYK2qvXJVNLZqp4wD"],rightJoints:["nps5Vjk1xXh8tbJUyypnno"],leftPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a7asXFjrAC6qt3AiY1YGsD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-4.345096487504885,cy:-.015147835881696992,cz:0,lx:4,ly:.3,lz:7,leftJoints:["nps5Vjk1xXh8tbJUyypnno"],rightJoints:["xkqwYwVjduojn9HfSnXbKM"],leftPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],rightPoint:[-2.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"cpDb3yAZ18RsXbHAuAXABX",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:-2.765147835881696,cz:0,lx:5.500000000000002,ly:.3,lz:7,leftJoints:["cpDb3yAZ18RsXbHAuAXABX"],rightJoints:["hzXfdodMPgDwURK77F9MeV"],leftPoint:[-2.345096487504885,-.015147835881695215,.08336358648077638],rightPoint:[-2.345096487504885,-5.515147835881697,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xkqwYwVjduojn9HfSnXbKM",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["r2R5PZ9UN3GkeiaDktnAeY"],rightJoints:["a7asXFjrAC6qt3AiY1YGsD"],leftPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"rHJy1GYK2qvXJVNLZqp4wD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:2.654903512495115,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["67wPdhvoUHXR7PuJh6jwmB"],rightJoints:["r2R5PZ9UN3GkeiaDktnAeY"],leftPoint:[2.654903512495115,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,9.984852164118301,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"658TiH6xarPxo2CoZwhF5b",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.654903512495115,cy:5.984852164118302,cz:0,lx:8,ly:.3,lz:7,leftJoints:["41c9AtTSXggfJV4XdiEcAE"],rightJoints:["658TiH6xarPxo2CoZwhF5b"],leftPoint:[10.654903512495114,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,5.984852164118306,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"67wPdhvoUHXR7PuJh6jwmB",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:10.654903512495114,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["5oTqiHKufLbh4Es8MKzkGe"],rightJoints:["67wPdhvoUHXR7PuJh6jwmB"],leftPoint:[10.654903512495114,-.015147835881696103,.08336358648077638],rightPoint:[10.654903512495114,5.984852164118302,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"41c9AtTSXggfJV4XdiEcAE",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.904903512495115,cy:-.015147835881696992,cz:0,lx:7.5,ly:.3,lz:7,leftJoints:["f8PnD7wEXwH2ygFbDasoV3"],rightJoints:["41c9AtTSXggfJV4XdiEcAE"],leftPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],rightPoint:[10.654903512495114,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"5oTqiHKufLbh4Es8MKzkGe",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:3.154903512495115,cy:-2.765147835881697,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["hzXfdodMPgDwURK77F9MeV"],rightJoints:["5oTqiHKufLbh4Es8MKzkGe"],leftPoint:[3.154903512495115,-5.515147835881696,.08336358648077638],rightPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"f8PnD7wEXwH2ygFbDasoV3",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.4049035124951148,cy:-5.515147835881698,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["xkqwYwVjduojn9HfSnXbKM"],rightJoints:["f8PnD7wEXwH2ygFbDasoV3"],leftPoint:[-2.345096487504885,-5.515147835881698,.08336358648077638],rightPoint:[3.154903512495115,-5.515147835881697,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hzXfdodMPgDwURK77F9MeV",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",cx:2.433419492707406,cy:5.124042977542905,cz:.05,lx:23.540246238854113,ly:24.334046586651752,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-6.345096487504885,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["a7asXFjrAC6qt3AiY1YGsD"],rightJoints:["cpDb3yAZ18RsXbHAuAXABX"],leftPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"nps5Vjk1xXh8tbJUyypnno",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.1549035124951148,cy:9.984852164118301,cz:0,lx:5,ly:.3,lz:7,leftJoints:["658TiH6xarPxo2CoZwhF5b"],rightJoints:["rHJy1GYK2qvXJVNLZqp4wD"],leftPoint:[2.654903512495115,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"r2R5PZ9UN3GkeiaDktnAeY",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,roofId:"qpPuzrLkb9c5N87uABuvRn",leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["a7asXFjrAC6qt3AiY1YGsD","nps5Vjk1xXh8tbJUyypnno","cpDb3yAZ18RsXbHAuAXABX","xkqwYwVjduojn9HfSnXbKM","hzXfdodMPgDwURK77F9MeV","f8PnD7wEXwH2ygFbDasoV3","5oTqiHKufLbh4Es8MKzkGe","41c9AtTSXggfJV4XdiEcAE","67wPdhvoUHXR7PuJh6jwmB","658TiH6xarPxo2CoZwhF5b","r2R5PZ9UN3GkeiaDktnAeY","rHJy1GYK2qvXJVNLZqp4wD"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"qpPuzrLkb9c5N87uABuvRn",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Door",cx:.02629889958936659,cy:0,cz:-.08333333333333333,lx:.2629889958936659,ly:0,lz:.8333333333333334,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eh8QYUJbECtJYcGAUmmcbF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"k4NKNGGqdN9XJAC7JngQKc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gndjHJZsJ4fAEbUPhoMN8f",parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15779339753619967,cy:.1,cz:-3700743415417188e-32,lx:.10519559835746636,ly:.3,lz:.6666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pHPE8SbRWTKrpBzChi8YzX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"uLMRWieC9yGWXYyj2feHNa",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.20745979403699807,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7ptZfruK52YBWvj7ntVHnR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.39186849984766303,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"bLbWhQE8kcWeWpvQFXbQ5a",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.03333333333333333,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"9a7QJYQGFkQBwdFtnhaCnM",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"vi8Yq5gBqJoW5tPeYhBH7B",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3803429557344965,cy:.1,cz:.3,lx:.06915326467899936,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7vyLAK1d3g1q4PaUuuH3M8",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kizJtpXqJWR6KCL438E5YJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2272727272727271,cy:.1,cz:.07142857142857142,lx:.09090909090909062,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hzXfdodMPgDwURK77F9MeV",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"g2MyW88G8QaeW7ivhwR2tv",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jess",cx:4.690272477111533,cy:13.3005830342772,cz:.03336358582743005,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"nTe63y4NHf8RrpW2eucqBC",selected:!1,ly:.43},{type:"Window",cx:-.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qJGbm5uGmW4X697uskEVvs",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:-.13149449794683302,cy:0,cz:-.08333333333333333,lx:.1577933975361996,ly:0,lz:.8333333333333334,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"w281yvi8VG2acGPfsqs5DF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.07889669876809982,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"mWxzJt7m7UWEJMmH3QHQEB",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7u2aKRK5YJxj5G4bJhfnuN",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kJNAK2vsWPzsnxXo8yU2jJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"3xBVGhYk5CECo9wX6WccRP",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vLYAPPmtNdR8BBv2dwnaPC",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kx7Jk3snYCbpQRqNSTwx7i",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33885099692709686,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hFnZkVdXVk7kt7HuJ5EXTA",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:.2904437116517973,cy:0,cz:-.3,lx:.1936291411011982,ly:0,lz:.4,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hXTygNgpyWv5Q8SdkdwrBN",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.24203642637649775,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"42F92bD3A47C9HfuQN7TKE",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.31558679507239956,cy:.1,cz:.24999999999999997,lx:.21039119671493278,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qxRE8qmG9xHbjtVsaCxYsE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9sATuUB81PmwXpthc9oUjo",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wmRa6rPywUr54Esr4Sk1n4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"akprzo3hHBejx7HCAVwmQ4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"kHdEwJHqbM3B6pBPMdhSph",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28125,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"gSzMdys25c7EFmVM4PPcqc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.09375,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"osJn4P5UR44EiHtzsfapPV",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iYjDfcWBcotpYGf1tfdYtt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.03723637328869196,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"1DVcZmp9unvFUD3kth4Ldt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iDftHFSTHkqwMVnS3owrRR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.16666666666666666,lx:.2629889958936657,ly:0,lz:.6666666666666666,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beJH9KRXtDcaa6m4RL93xX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eAWyKBNd38qS1dYBuKrkj6",doorType:"Default",archHeight:1,filled:!0},{type:"Flower",name:"Cactus Combo 1",cx:15.634548540985584,cy:11.876139460714374,cz:.04168179258704141,lx:2,lz:2.35,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"wmzcYA53yLxrPfQ5v68p4e",selected:!1},{type:"Flower",name:"Cactus Combo 2",cx:18.898648680314054,cy:11.25310807141135,cz:.041681792587041855,lx:2,lz:2.7,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ekW7n1M2LiXzN32pweKLPt",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-9.952276659759775,cy:12.90502413689002,cz:.04168179258704274,lx:2,lz:2.69,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kyZxhbtBH6PAgp5K6MDu9p",selected:!1},{type:"Flower",name:"Cactus Combo 3",cx:-16.70983030604646,cy:11.722560280813752,cz:.041681792587040974,lx:2,lz:2.45,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"a9ApdGiziGdUumhgusYw2u",selected:!1},{type:"Human",name:"Jamelia",cx:-.9137087061647211,cy:10.928006147996442,cz:.041681792587041855,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"5QNe3ntzVQvFEHnDW2YJBn",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:12.272662858917183,cy:8.898453665685638,cz:.041681792587041855,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"jrkJAJRrbJ8LDAxvtvH9ym",selected:!1,ly:.494},{type:"Flower",name:"Cactus Combo 2",cx:15.729057510724607,cy:-7.680209466829874,cz:.041681792587040974,lx:2,lz:2.7,normal:[0,0,1],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"bWKYur6DnwP6mEaL7fWHC5",selected:!1},{type:"Flower",name:"Cactus Combo 1",cx:5.786476089599912,cy:-6.442673510815909,cz:.04168179258704363,lx:2,lz:2.35,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"3ao3ZpduETphLg6cc8LUjj",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-10.111033648495354,cy:-7.125989728474186,cz:.04168179258704363,lx:2,lz:2.69,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"uqTpdoF6iAUdixG8SfEgJj",selected:!1},{type:"Window",cx:-.31558679507239945,cy:.1,cz:.24999999999999997,lx:.21039119671493292,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"ibgD6gwHyvXo2UA5ceSEVw",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jiya",cx:10.698394787136534,cy:11.589493889667297,cz:.03336358582743005,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"mMaWsSyXEBfBHccaGNhNaS",selected:!1,ly:.6},{type:"Human",name:"John",cx:8.199832055622817,cy:11.636996804402608,cz:.033363585827429154,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"48yGEsfjgkFf6JxD4AfTys",selected:!1,ly:.6},{type:"Window",cx:-.4058097887797344,cy:.1,cz:.24999999999999997,lx:.03528780771997702,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"aPAj9pnBrDVWusPRcoZUdo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2999463656198036,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bhkdQB672T3sQvxXuVmHrR",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.19408294245987287,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hBEhSqRgj9NSNQa4oM7xNt",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.08821951929994218,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tB2iwRfd3qTWeCsYv7HiuW",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.44109759649971125,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5RkPZYVo3GN5X19Bn6Yr4D",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3705219810597575,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59NsagWft1p9bwUyWDUzrn",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.2999463656198037,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"77AhVqY63vBnmESEhniVsa",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Cuboid",cx:-14.789681570981625,cy:-12.821724309505734,cz:1.3499532304431159,lx:3.0361328512402026,ly:2.0173847404410545,lz:2.6999064608862318,color:"#df9b6c",faceColors:["#df9b6c","#df9b6c","#df9b6c","#df9b6c","#df9b6c","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0555294187969286],parentId:"Ground",selected:!1,id:"8afBb85AbBXxrUxc1UJNK2"},{type:"Tree",name:"Coconut",cx:10.01957056934475,cy:-11.043888206723011,cz:0,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gHPxDQkjKxPPpDTbnNBT1s",selected:!1},{type:"Tree",name:"Coconut",cx:19.62542663178017,cy:-.8605656311368737,cz:.041681792587041855,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ojssPm5w3H8Z5YiH8zAEzJ",selected:!1},{type:"Tree",name:"Coconut",cx:-5.921845166656402,cy:-20.83835275090669,cz:-8881784197001252e-31,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hiyUWsAKxmKF4tZmUy3NkH",selected:!1}],Zsn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-12.5485886969171,-8.79449187461802,-8794882783709357e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-12.5485886969171,-8.794641881286468,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-9.661868463308164,-30.326442140062476,3.3023821453989806],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#999999",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5760093837906188,2.4983076358188625,2.2700206595855397],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},ecn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},tcn=1,ncn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ocn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},icn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},rcn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},acn=[],lcn={docid:Vsn,time:Gsn,timestamp:Xsn,userid:Jsn,owner:Ksn,email:qsn,world:$sn,elements:Qsn,view:Zsn,graphState:ecn,evolutionMethod:tcn,solarPanelArrayLayoutParams:ncn,solarPanelArrayLayoutConstraints:ocn,evolutionaryAlgorithmState:icn,economicsParams:rcn,notes:acn},scn="46sdKsi3AXehgk5pLocfEZ",ccn="11/15/2023 08:10 PM",ucn=1700097013597,dcn="QWecNcxhyvP6j6sBN11hBsfZDau1",fcn=null,hcn=null,pcn="1.4.7",gcn={diurnalTemperatureModel:1,longitude:-71.3488548,sutDaysPerYear:4,daysPerYear:4,solarPanelVisibilityGridCellSize:.2,sutGridCellSize:1,noAnimationForSensorDataCollection:!1,latitude:42.2844063,address:"Natick, MA",discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",pvGridCellSize:.5,cspGridCellSize:.5,airAttenuationCoefficient:.01,noAnimationForThermalSimulation:!1,highestTemperatureTimeInMinutes:900,noAnimationForSolarPanelSimulation:!1,sutTimesPerHour:1,noAnimationForSolarUpdraftTowerSimulation:!1,timesPerHour:1,cspTimesPerHour:1,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},dustLoss:.05,name:"default",countryCode:"US",cspDaysPerYear:4,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:5},mcn=[{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:9.90269213865045,solarUpdraftTower:{},ly:19.683075461124755,lz:.1,parentId:"Ground",cx:-9.113689833217686,cy:.18995426124406656,cz:.05,textureType:"No Foundation Texture",id:"9i1GeRaoeMfYcFyEXeESac",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["vGUT3JZv2v5bPwGYFugWY9"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["v2X26dL66tDwT3FmUa4dJm"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.021724129735727,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9QENUE5u5vX4ytePVUekD6",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127663,9.208552266536293,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:4.927202561127659,cy:-.3023097983315708,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127656,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948963,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["aR3TKXZKTA3DjkwyAfcrsN"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9QENUE5u5vX4ytePVUekD6"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893995,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"vGUT3JZv2v5bPwGYFugWY9",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,9.208552266536286,0],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819334532,cy:9.208552266536289,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127663,9.208552266536293,0],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.1415926535897936,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["v2X26dL66tDwT3FmUa4dJm"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["vGUT3JZv2v5bPwGYFugWY9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.02172412973572,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"aR3TKXZKTA3DjkwyAfcrsN",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-4.944421052766332,cy:-.30230979833157434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.944421052766332,9.208552266536286,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948968,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9QENUE5u5vX4ytePVUekD6"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["aR3TKXZKTA3DjkwyAfcrsN"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893986,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"v2X26dL66tDwT3FmUa4dJm",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127656,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819338085,cy:-9.813171863199434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.94442105276633,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["9QENUE5u5vX4ytePVUekD6"],textureType:"Roof Texture Default",id:"emaK2k9UPEiLxchx8wQAVR",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:0,cy:0,cz:0,rise:2},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"dYhfccPnbEuiEAJoeaQBDj",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.2701735720998875,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"5nVnggQ1j1y4LhusK3QQ9N",selected:!1,normal:[0,0,0],mullionWidth:.06,rotation:[0,-1,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.22105110444536252,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.06896551724137932,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Arched",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"iAAMojVW9SfERJgsNR5wGg",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.014639709033835343,cy:.3,cz:.1951247058802817,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:5.121405440544657,solarUpdraftTower:{},ly:23.331989134689955,lz:.1,parentId:"Ground",notBuilding:!0,cx:7.117139637555678,cy:-2.1402534531496054,cz:.05,textureType:"Foundation Texture #7",id:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["naij9irGfPKDF6gEc7Zkzp"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"hbDCpCYC3ZLecZSkhJS1EQ",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:2.559407991260085,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,-3.3190148046410934,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:27.903855171778083,solarUpdraftTower:{},ly:11.561493647400244,lz:.1,parentId:"Ground",cx:-.6894829517342327,cy:3.639827040053712,cz:.05,textureType:"No Foundation Texture",id:"4CT3RC8YfvAiLoXMz31PEP",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["1Zay38AwfKg5VsDAT4PNTX"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9BgkixvH2fS92Toh4D28v5"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543367,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"kqp9pSQMqPyRJVqLaTvTUF",leftRoofHeight:3,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[-8.140917668430362,5.750753387493409,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:5.750753387493408,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["kqp9pSQMqPyRJVqLaTvTUF"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409493,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9BgkixvH2fS92Toh4D28v5",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,5.750753387493413,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:13.850369299113007,cy:.05442619428866724,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,-5.641900998916079,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{normal:[0,1,0],cx:.12009022039087736,cy:-3.0450806858488395,cz:.05000000074505806,rotation:[0,0,0],name:"Jamelia",id:"uRMwVbiJoYLhXPAzZaiS71",type:"Human",lx:.65,lz:1.8,parentId:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],structureSpacing:2,structureColor:"white",rightRoofHeight:2.999999999999999,leftJoints:["kqp9pSQMqPyRJVqLaTvTUF"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409477,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[-5551115123125783e-32,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"1Zay38AwfKg5VsDAT4PNTX",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-8.140917668430362,-5.64190099891607,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:-8.140917668430362,cy:.05442619428866813,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9BgkixvH2fS92Toh4D28v5"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["1Zay38AwfKg5VsDAT4PNTX"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543363,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"oNGhacA1yDo6pQ4NiWd8Nw",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,-5.641900998916079,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:-5.641900998916076,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,-5.641900998916072,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-3231019343291642e-31,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["kqp9pSQMqPyRJVqLaTvTUF"],textureType:"Roof Texture Default",id:"qmUXXfVhmamGoX7fipyTJo",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:0,cy:0,cz:0,rise:2},{normal:[0,1,0],color:"#ffffff",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",doorType:"Default",filled:!0,lineColor:"#000000",type:"Door",lx:.10630984247920754,uValue:1,ly:0,lz:.8333333333333334,lineWidth:.2,showLabel:!1,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",interior:!1,cx:.2232506692063359,cy:0,cz:-.08333333333333333,archHeight:1,textureType:"Door Texture #13",id:"j64mXBpPWycvnXkBDtiDas",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["gjog834aLNPzVBFGgmeHKa"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8cZQ8gw5Uc65jmC4AaB7d",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:2.8016570371963034,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,2.8016570371963034,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["naij9irGfPKDF6gEc7Zkzp"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"gjog834aLNPzVBFGgmeHKa",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:-2.470278682104108,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,2.8016570371963034,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["gjog834aLNPzVBFGgmeHKa"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"naij9irGfPKDF6gEc7Zkzp",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:-3.3190148046410934,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,-3.3190148046410934,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.15,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["gjog834aLNPzVBFGgmeHKa"],textureType:"Roof Texture Default",id:"wBHkiU6oo5drdfZkAFGFfz",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:0,cy:0,cz:0,rise:1.0028493376063965},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:2.728592264047313,solarUpdraftTower:{},ly:4.662886212525777,lz:.1,parentId:"Ground",notBuilding:!0,cx:3.15486402400506,cy:5.558911086166162,cz:.05,textureType:"No Foundation Texture",id:"cnVE9qA8tGVxx7Twx9YQ7v",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["pXM26q1VjfYYDMxhYfN2o9"],structureSpacing:2,structureColor:"white",leftJoints:["oQPmsDKPXogP77dA6oQjhK"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"o5Yf7XQHbF4kHVdq79cdp9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["o5Yf7XQHbF4kHVdq79cdp9"],structureSpacing:2,structureColor:"white",leftJoints:["xuRnyn33hSpjc1EP64SqoP"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"oQPmsDKPXogP77dA6oQjhK",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:.18822922640719586,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["xuRnyn33hSpjc1EP64SqoP"],structureSpacing:2,structureColor:"white",leftJoints:["o5Yf7XQHbF4kHVdq79cdp9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"pXM26q1VjfYYDMxhYfN2o9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.8117707735928041,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:4.71238898038469,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oQPmsDKPXogP77dA6oQjhK"],structureSpacing:2,structureColor:"white",leftJoints:["pXM26q1VjfYYDMxhYfN2o9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"xuRnyn33hSpjc1EP64SqoP",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-1.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"aZQsp9KnrVqmk4eAwe1NCt",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.20610080510533202,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.0865221828476419,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"wi1NteLea8pGYc59N8ZyTs",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.09315657273688317,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"tpCHwLeKKFgUw5FY2DKdy1",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.021261968495841516,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1NPtUozjvhjcbUekBxsSNW",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.40397740142098876,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04632014812218899,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ptRhzHtPCd3TfYdEbPj837",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.29226874611722437,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:3.215640251525082,solarUpdraftTower:{},ly:7.683856697227261,lz:.1,parentId:"Ground",cx:13.747250889007532,cy:3.741208118171845,cz:.05,textureType:"No Foundation Texture",id:"4SCfFQkEiBbVWLNY4GZGRU",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["4HHRdJpRSx8pifjYvsDdM4"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8nK8tuuo6DkzwQEivraoQ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:3.4762421347806844,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8nK8tuuo6DkzwQEivraoQ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["bxY2NeBNcbCbVPsugfGXTE"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"4HHRdJpRSx8pifjYvsDdM4",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:1.5872805081220083,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["bxY2NeBNcbCbVPsugfGXTE"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["u8nK8tuuo6DkzwQEivraoQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"c1xKbTDTkdNMKPxFGbq5sJ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:-.6112818815298553,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["4HHRdJpRSx8pifjYvsDdM4"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"bxY2NeBNcbCbVPsugfGXTE",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:-3.6268715681200776,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["bxY2NeBNcbCbVPsugfGXTE"],textureType:"Roof Texture Default",id:"iQYyB4WDCVVmrDF6P2RGEj",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:0,cy:0,cz:0,rise:1.5},{color:"#ffffff",type:"Window",lx:.4656293560221584,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ur2wu1GbyFVp7FmPxNNmBM",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",uValue:2,parentId:"bxY2NeBNcbCbVPsugfGXTE",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:12923810799929613e-33,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:-13.100619706718579,cy:-10.982350587612038,cz:0,rotation:[0,0,0],name:"Boxwood",id:"bzsGApekhuYxympNeW6JVx",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-11.532994972828238,cy:-10.945183221755485,cz:0,rotation:[0,0,0],name:"Boxwood",id:"2y8Zm1vaLLzKLCLA5bR7oe",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-9.926022363688986,cy:-10.929829923112186,cz:0,rotation:[0,0,0],name:"Boxwood",id:"dJtXdJrD6NpPxoMSTaJY7n",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.252046390037505,cy:-10.833715328006154,cz:0,rotation:[0,0,0],name:"Boxwood",id:"fZeGKA8vqbSdnXefKUgP6u",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-6.596249922214839,cy:-10.835475782121927,cz:0,rotation:[0,0,0],name:"Boxwood",id:"mDpx3QUsXGWznsz7rRMSdN",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-4.903997368711945,cy:-10.880752447262477,cz:0,rotation:[0,0,0],name:"Boxwood",id:"7unbM9cBoPXu92FcGyHWjG",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.971390493828297,cy:-12.01356765080397,cz:0,rotation:[0,0,0],name:"Jacob",id:"9sZwMtiyANKZHbqdhvGUp9",type:"Human",lx:.8,lz:1.82,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-2.805525594551304,cy:-3.0636427589221107,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"kdDbY49KBpLT6Gh4XRcuXV",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.8228472548979603,cy:-2.9603397088144945,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"cPktsh6MkPkQgTpcfsZ264",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:1.2205615754221601,cy:-3.0452854714079365,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"pfPsSh1hnCKWYj3B8ZGyhC",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:3.188130988912686,cy:-3.1336708109310862,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"oKGQ71oyUFnUv3h2wpjctG",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.49096591590788,cy:-2.9417670536643996,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"tAkXUbnTXQQEkhtjgkeL9a",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:12.439980874103988,cy:-2.958114538663313,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"3uPL624aQAssRbe8u5vNsL",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.227119582351997,cy:-6.718823701549967,cz:0,rotation:[0,0,0],name:"White Flower",id:"pp9vMNnF3gKDKwKACrCtWt",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.248202396665872,cy:-7.3829856427934075,cz:0,rotation:[0,0,0],name:"White Flower",id:"6HCPw6bEmxM9XBoyEFYsXx",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.29608623259089,cy:-8.067012538431428,cz:0,rotation:[0,0,0],name:"White Flower",id:"s9pXmqBnLJggJVDKmKrsUe",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.253112052389068,cy:-8.783230589194178,cz:0,rotation:[0,0,0],name:"White Flower",id:"nmZQCDYhSZSpTJn766vY6J",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.284683512589031,cy:-9.514835126828089,cz:0,rotation:[0,0,0],name:"White Flower",id:"qTPuqJ4Ppz1TkNvBeQyqFz",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.071297430185469,cy:-6.519410387949039,cz:0,rotation:[0,0,0],name:"White Flower",id:"5pk9bJdBfyK4bpLi5BT6NM",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.062267589853372,cy:-7.196223132026073,cz:0,rotation:[0,0,0],name:"White Flower",id:"r8K8yWqHuFGizynm6ddenB",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.097400993990563,cy:-7.971209786072892,cz:0,rotation:[0,0,0],name:"White Flower",id:"oG3QSnZ1Uk7vjSTdBJ8fXN",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.06700296171534,cy:-8.729909052223485,cz:0,rotation:[0,0,0],name:"White Flower",id:"tkRzfWzEvDw14BTf7giDeA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.080379345721328,cy:-9.557453473585836,cz:0,rotation:[0,0,0],name:"White Flower",id:"sCmW6UrmvwLKnfPLkgt286",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.299044056096119,cy:-10.313859849129921,cz:0,rotation:[0,0,0],name:"White Flower",id:"qigHYFtupbrFesxkd37Zht",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.075030547693563,cy:-10.331325702253856,cz:0,rotation:[0,0,0],name:"White Flower",id:"wWEyHg1cJDBq1b3EMERb9A",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.309032427615859,cy:-11.091835373694485,cz:0,rotation:[0,0,0],name:"White Flower",id:"1kA9AC2Guwj5iAhcjXubxK",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.099628606942899,cy:-11.10977466594735,cz:0,rotation:[0,0,0],name:"White Flower",id:"6Lxn24pDS3Drayq29WyoKf",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.385872466836958,cy:-11.910915656038041,cz:0,rotation:[0,0,0],name:"White Flower",id:"qrcVRZNMH5ehQ4r36RBqU6",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.130718482167884,cy:-11.91928566361417,cz:0,rotation:[0,0,0],name:"White Flower",id:"89M11hZpqVtWuZCYDG5EYF",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.426502126657067,cy:-12.641489645575502,cz:0,rotation:[0,0,0],name:"White Flower",id:"edL3BFi1bTcY7m6rb8Z692",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.128599191487156,cy:-12.753156162180996,cz:0,rotation:[0,0,0],name:"White Flower",id:"33TVUhPCYQMxWUT6sdBkTj",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.438104647827676,cy:-13.391380274386641,cz:0,rotation:[0,0,0],name:"White Flower",id:"ddTatvjn8PZnpa5P7wkL8k",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.094734752772371,cy:-13.540199425804733,cz:0,rotation:[0,0,0],name:"White Flower",id:"mx6oiu2CpUQHto7UPZUVNA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:15.223771494752249,cy:-1.1686190396344398,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"bEZvtj2vhcueHdhStZq3zG",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.813831408618693,cy:4.533595612460387,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"rHgigsbmBipXpU5L23ADrP",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.761059861350283,cy:2.526606100917273,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"5sKnhXEkZrDN45g6Hkv3Dr",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.735563289446127,cy:6.631805912715191,cz:-17763568394002505e-31,rotation:[0,0,0],name:"Hibiscus",id:"2NraLHQLDf7r45LZpKeZWV",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.65137747037868,cy:.5295700067482301,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"ssqX4qu1eL82YUJ4MAMBZc",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{color:"#ffffff",polygonTop:[0,1.5],type:"Window",lx:.6144309976040727,ly:.3,tint:"#73D8FF",lz:.9666666666666667,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"hNQ7uh7EgAer8x5yJgdejy",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"9BgkixvH2fS92Toh4D28v5",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-19490155445241313e-33,cy:.3,cz:.01666666666666668,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:1.0259623193904517,ly:.2,tint:"#73D8FF",lz:.9973447889836972,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pEKTeVcdGPeo8QaTuPfNZn",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314723,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:3.271837805703635,cy:1.2022574325146156,cz:4.796992518408978,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.02198232342893128,5.239274910393489],type:"Window",lx:11.521452745175713,ly:.2,tint:"#73D8FF",lz:.028013650400663493,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"ve3NZruBvxPhuGrwYfJYbD",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3849826581688516,0,1.5707963267948961],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"emaK2k9UPEiLxchx8wQAVR",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:5.086744147605803,cy:3.321831955890855,cz:3.135353456445162,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.5841143520475517,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"xcpQhvE8H4jY1XBufEziCv",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.1869142359643362,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,6.225749243067175],type:"Window",lx:4.529358401864285,ly:.2,tint:"#73D8FF",lz:.0014510101332386256,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"qco3N3M7pEccTSX4FnzmmB",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,-4440892098500626e-31],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.038377742510676,cy:-5.937820865703974,cz:3.0961015205935123,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.17714486148633357,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1u4CPXmzZ7U8AD1aJnrxtZ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.40688031378480977,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,5.545977124465995],type:"Window",lx:4.431361564126709,ly:.2,tint:"#73D8FF",lz:.05655021663112993,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"hxMturJGqg8nQWYw3248Zf",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.124998499042543,cy:5.680878658133054,cz:3.224533256953256,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.19988113884645106,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"rm6Z987XxKrWApL3xoegwQ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"kqp9pSQMqPyRJVqLaTvTUF",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.3955121751047511,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,2.9702881561464394],type:"Window",lx:3.157582763484352,ly:.15,tint:"#73D8FF",lz:.021976494720977846,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pqpP8EKpYsZ86BiFVEHhxo",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,1.5707963267948966],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:2.8491029983508964,cy:1.4398333849785727,cz:3.034477716074278,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,2.8179589134876353],type:"Window",lx:3.322490733590821,ly:.15,tint:"#73D8FF",lz:.016499091866733075,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"7zkZZCYRrhEu3epYoe3VVL",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,4.71238898038469],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-2.759910269509251,cy:1.377735998361726,cz:3.034503006074985,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:19.682640887226967,cy:1.7189056044242683,cz:0,rotation:[0,0,0],name:"Apple",id:"7Fb312hzxWdTnmmZmzJ1Ub",type:"Tree",lx:5.1836671993460035,lz:5.934335930936695,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-17.761844408107656,cy:-14.105635188228664,cz:0,rotation:[0,0,0],name:"Elm",id:"7o7bNqKzFGLaB6T7op3udd",type:"Tree",lx:15.71602183123487,lz:16.55887991319796,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:.7478699234997297,cy:-12.856360711077464,cz:17763568394002505e-31,rotation:[0,0,0],name:"Joel",id:"68Win1DRWqT8VnsTwHRtwy",type:"Human",lx:1.8,lz:1.75,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.11804362509319688,cy:-9.517368667682085,cz:0,rotation:[0,0,0],name:"Jacqueline",id:"n6cjamzJLc5nH9PXsech9s",type:"Human",lx:.43,lz:1.78,parentId:"Ground",selected:!1}],ycn=63,Acn={showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,yearlyHeliostatYieldPanelY:0,windowShininess:200,dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},dailyLightSensorPanelY:0,heatFluxWidth:.5,showEvolutionPanel:!1,shadowEnabled:!0,theme:"Rural",dailyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showDailyParabolicTroughYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelY:0,dailyLightSensorPanelRect:{x:0,height:360,y:0,width:600},yearlyFresnelReflectorYieldPanelX:0,dailyParabolicDishYieldPanelRect:{height:400,x:0,y:0,width:600},dailyParabolicDishYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{width:600,height:400,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,x:0,y:0},showDailyFresnelReflectorYieldPanel:!1,weatherPanelRect:{x:0,width:500,y:0,height:500},showWeatherPanel:!1,showDailyHeliostatYieldPanel:!1,stickyNotePanelX:0,weatherPanelX:0,showDailyBuildingEnergyPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{height:400,y:0,width:600,x:0},evolutionPanelRect:{x:0,width:640,y:0,height:400},waterSurface:!1,showYearlyPvYieldPanel:!1,weatherPanelY:0,groundImage:!1,dailyParabolicDishYieldPanelY:0,solarPanelShininess:100,directLightIntensity:1,solarRadiationHeatMapMaxValue:5,heliodon:!1,mapPanelX:0,showEconomicsPanel:!1,showStickyNotePanel:!1,showYearlyLightSensorPanel:!1,mapPanelY:0,heliodonPanelX:0,showDesignInfoPanel:!0,showHeliodonPanel:!1,yearlyFresnelReflectorYieldPanelY:0,dailyPvYieldPanelY:0,dailyPvYieldPanelX:0,groundColor:"#194d33",showMapPanel:!1,autoRotate:!1,heatFluxScaleFactor:20,dailyFresnelReflectorYieldPanelX:0,showAzimuthAngle:!0,yearlyUpdraftTowerYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicTroughYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,showZenithAngle:!0,heliodonPanelY:0,dailyUpdraftTowerYieldPanelRect:{height:550,width:640,x:0,y:0},yearlyParabolicTroughYieldPanelX:0,orthographic:!1,showDailyUpdraftTowerYieldPanel:!1,mapZoom:18,mapWeatherStations:!1,showYearlyParabolicTroughYieldPanel:!1,cameraPosition:[14.811475377664713,-20.78474536900838,3.578971879440754],dailyHeliostatYieldPanelX:0,enableRotate:!0,dailyHeliostatYieldPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showInstructionPanel:!0,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},showSiteInfoPanel:!0,dailyLightSensorPanelX:0,panCenter2D:[4.576706139296041,-7.605431240841252,-7651462374536784e-21],showDailyParabolicDishYieldPanel:!1,ambientLightIntensity:.1,yearlyLightSensorPanelShowDaylight:!1,showElevationAngle:!0,showYearlyBuildingEnergyPanel:!1,cameraZoom:37.01235612443423,showDailyPvYieldPanel:!1,diurnalTemperaturePanelRect:{height:400,width:600,y:0,x:0},cameraPosition2D:[4.576706139296041,-7.606431618292216,150],yearlyHeliostatYieldPanelX:0,showSunAngles:!1,showYearlyParabolicDishYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyBuildingEnergyPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{x:0,width:600,y:0,height:400},axes:!1,dailyBuildingEnergyPanelRect:{width:600,x:-10,y:-2,height:400},yearlyLightSensorPanelShowClearness:!1,heatFluxColor:"gray",showDiurnalTemperaturePanel:!1,yearlyPvYieldPanelX:0,stickyNotePanelRect:{height:300,y:0,width:400,x:0},showYearlyHeliostatYieldPanel:!1,visibilityResultsPanelX:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelY:0,panCenter:[-2.2871814685183796,5.668685587288812,3.578971879440754],yearlyParabolicDishYieldPanelRect:{x:0,height:400,y:0,width:600},visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyParabolicDishYieldPanelY:0,mapType:"roadmap",groundImageType:"roadmap",yearlyLightSensorPanelX:0,mapTilt:0},wcn=!1,vcn={dailyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1},xcn=1,bcn={poleSpacing:3,interRowSpacing:2,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,poleHeight:1,orientation:"Landscape",pvModelName:"SPR-X21-335-BLK"},Scn={rowAxis:"Zonal",minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumInterRowSpacing:10,poleSpacing:5,poleHeight:1,orientation:"Landscape",maximumRowsPerRack:6,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2},Tcn={particleSwarmOptimizationParams:{inertia:.8,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,vmax:.01},geneticAlgorithmParams:{objectiveFunctionType:1,mutationRate:.1,convergenceThreshold:.01,selectionRate:.5,localSearchRadius:.1,problem:"Solar Panel Tilt Angle",maximumGenerations:5,selectionMethod:1,searchMethod:1,crossoverRate:.5,populationSize:20}},Pcn={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},Ccn="Unknown",Rcn=null,Hcn=null,Mcn=null,Icn=null,zcn=[],Dcn=3,Ecn=3,kcn={docid:scn,time:ccn,timestamp:ucn,userid:dcn,owner:fcn,email:hcn,version:pcn,world:gcn,elements:mcn,sceneRadius:ycn,view:Acn,animate24Hours:wcn,graphState:vcn,evolutionMethod:xcn,solarPanelArrayLayoutParams:bcn,solarPanelArrayLayoutConstraints:Scn,evolutionaryAlgorithmState:Tcn,economicsParams:Pcn,modelType:Ccn,modelAuthor:Rcn,modelLabel:Hcn,modelDescription:Mcn,designProjectType:Icn,notes:zcn,minimumNavigationMoveSpeed:Dcn,minimumNavigationTurnSpeed:Ecn},Fcn="2dxtGmCKtazgz4ZZyFZJZt",Lcn="08/09/2023 10:14 am",Wcn=1691590469988,Ncn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ucn=null,Bcn=null,jcn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ycn=[{type:"Wall",cx:.13929493819855354,cy:6.605812086773116,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.406268181656478,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.026331619159589,6.605812086773116,1],rightPoint:[-6.747741742762483,6.605812086773116,1],relativeAngle:3.141592653589793,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:7.026331619159589,cy:1.082477095396415,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.0263316191595875,-4.440857895980288,1],rightPoint:[7.026331619159591,6.605812086773116,1],relativeAngle:1.5707963267948961,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:-6.747741742762481,cy:1.082477095396415,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.747741742762481,6.605812086773116,1],rightPoint:[-6.747741742762483,-4.440857895980288,1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.13929493819855443,cy:-4.440857895980288,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.406268181656478,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.747741742762483,-4.440857895980288,1],rightPoint:[7.026331619159591,-4.440857895980288,1],relativeAngle:0,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.0625,lx:.217800495261873,ly:0,lz:.875,color:"white",textureType:"Door Texture #5",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-.10211164866366573,cy:-1.0707408518635368,cz:.5,lx:19.70489075906007,ly:14.114227282188692,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,color:"#ffffff",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},notBuilding:!1},{type:"Human",name:"Jeanette",cx:.14801233194486496,cy:-8.06976158791596,cz:.550000011920929,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"wnofb4XeX3vKmPtas3Qz87",selected:!1},{type:"Wall",cx:-.011858550160528447,cy:7.221609932314045,cz:2.2408122612280286,lx:17.504258260617593,ly:.1,lz:3.738081358463903,leftJoints:["13CFTeuFCTc4YUCeVPJLjR"],rightJoints:["7hhgnkf2gpmkfhuWn7XUeP"],leftPoint:[8.740270580148266,7.221609932314045,1.1],rightPoint:[-8.763987680469327,7.221609932314045,1.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"noYCZko5xXDdVcHWBtGenP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:8.740270580148266,cy:-1.182787584171602,cz:2.2301039869226305,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["59rdAGCDJqPHgoGBDNRR6Q"],rightJoints:["noYCZko5xXDdVcHWBtGenP"],leftPoint:[8.740270580148266,-9.587185100657251,1.1],rightPoint:[8.74027058014827,7.221609932314045,1.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"13CFTeuFCTc4YUCeVPJLjR",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-8.763987680469327,cy:-1.182787584171602,cz:2.228839888904333,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["noYCZko5xXDdVcHWBtGenP"],rightJoints:["59rdAGCDJqPHgoGBDNRR6Q"],leftPoint:[-8.763987680469324,7.221609932314045,1.1],rightPoint:[-8.763987680469327,-9.587185100657251,1.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hhgnkf2gpmkfhuWn7XUeP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-.01185855016052667,cy:-9.587185100657251,cz:2.268765007024547,lx:17.504258260617597,ly:.1,lz:3.738081358463903,leftJoints:["7hhgnkf2gpmkfhuWn7XUeP"],rightJoints:["13CFTeuFCTc4YUCeVPJLjR"],leftPoint:[-8.763987680469327,-9.587185100657251,1.1],rightPoint:[8.74027058014827,-9.587185100657251,1.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59rdAGCDJqPHgoGBDNRR6Q",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{id:"1YZMDHP4rjNjWTDSh913J6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #1",thickness:.2,wallsId:["59rdAGCDJqPHgoGBDNRR6Q"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.3622814256430873,ceiling:!1},{type:"Foundation",cx:.04811947352688506,cy:1.0979918791395855,cz:.55,lx:22.625453690958146,ly:19.31036432995692,lz:1.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dR4uPsfmhQVuGb7SK23oGM",selected:!1,color:"#ffffff",notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"mMQKmyWeVTYGQZt5Pwr8i7",leftRidgeLength:3.4435183404805185,rightRidgeLength:3.4435183404805185,rise:2.6086446360194486,ceiling:!1},{type:"Foundation",cx:-4.821425474895643,cy:-8.879390234274549,cz:.5,lx:7.794523521725198,ly:3.265167760947254,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"836Y3qvzoPStkTCKiU6Zim",color:"#ffffff",textureType:"Foundation Texture #4",notBuilding:!0},{type:"Wall",cx:-.14626729738059208,cy:.5024705864032608,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,relativeAngle:0,leftPoint:[-3.896267297380592,.5024705864032608,1],rightPoint:[3.603732702619408,.5024705864032608,1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",foundationId:"836Y3qvzoPStkTCKiU6Zim",id:"e64Qztsfyr4zQmZk97hBnb",wallStructure:"Stud",opacity:0,structureColor:"white",structureSpacing:.3,structureWidth:.05,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Wall",cx:-.0005250650359469589,cy:.5000831632035059,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-3.750525065035947,.5000831632035059,1],rightPoint:[3.749474934964052,.5000831632035059,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"efngrMnFf6NGDKsBgosZFy",parentId:"aiFpq1ExRSUpbVmoio8kUd",foundationId:"aiFpq1ExRSUpbVmoio8kUd",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:5.053596159844837,cy:-8.881777657474304,cz:.5,lx:8.105470562568627,ly:3.2603929145477437,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aiFpq1ExRSUpbVmoio8kUd",selected:!1,notBuilding:!0},{type:"Wall",cx:-.17954580261008696,cy:-.4621199267349816,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.579545802610086,-.4621199267349803,1],rightPoint:[8.22045419738991,-.46211992673498287,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sDWXonkZUyEPkgjChPFW25",parentId:"tQpZNWS9qUQiRVZS8oj4Qc",foundationId:"tQpZNWS9qUQiRVZS8oj4Qc",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:8.34010119848655,cy:.21478440141855337,cz:.5,lx:17.56747060893107,ly:1.582487181459217,lz:1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tQpZNWS9qUQiRVZS8oj4Qc",selected:!1,notBuilding:!0},{type:"Wall",cx:.17386663993795157,cy:-.45093322724616236,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.226133360062049,-.45093322724616186,1],rightPoint:[8.57386663993795,-.45093322724616464,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"1pz8zDt3tLxwV81bEJHYGM",parentId:"3kLgJo385s42rfmZRWwy75",foundationId:"3kLgJo385s42rfmZRWwy75",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:-8.212637572768045,cy:.13836840972225417,cz:.5,lx:17.178828934275355,ly:1.6048605804368434,lz:1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3kLgJo385s42rfmZRWwy75",selected:!1,notBuilding:!0},{type:"Wall",cx:-.09999999999999787,cy:13322676295501878e-31,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.499999999999996,26645352591003757e-31,0],rightPoint:[8.3,0,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"is5SYj452p8YfTVgmaU6zM",parentId:"n2K3pFpV1Cjm6AUAgZRCTf",foundationId:"n2K3pFpV1Cjm6AUAgZRCTf",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:.3262876024341112,cy:8.30924735716035,cz:.5,lx:17.72656221415125,ly:2.5067270349291775,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n2K3pFpV1Cjm6AUAgZRCTf",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012664813117774204,cy:-9.507612927983782,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cTpXWFzNLufQycEffsJdCb",color:"#ffffff",enableGroupMaster:!1,notBuilding:!0},{type:"Foundation",cx:.011699082173905834,cy:-10.207612261814711,cz:.1,lx:.2,ly:2,lz:.2,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8rgH1Z1kSv9eGuQwDGDKs1",selected:!1,notBuilding:!0},{type:"Foundation",cx:.011975005300725344,cy:-10.007612452148733,cz:.15,lx:.2,ly:2,lz:.3,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ovbGxMS1g4Zg4nuB4TQqeX",selected:!1,notBuilding:!0},{type:"Foundation",cx:.01225092842754491,cy:-9.807612642482752,cz:.2,lx:.2,ly:2,lz:.4,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mVnVWTdw8vPyh7LrycmxnQ",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012526851554364421,cy:-9.607612832816773,cz:.25,lx:.2,ly:2,lz:.5,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wUNxCTFzJEgfzKSgjrd9z5",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012802774681183987,cy:-9.407613023150793,cz:.3,lx:.2,ly:2,lz:.6,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"53BxN4TGqhcfN2Yd5k8dup",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013078697808003498,cy:-9.207613213484814,cz:.35,lx:.2,ly:2,lz:.7,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"meWg2dKv2vnU5j91nQfeeo",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013354620934823008,cy:-9.007613403818834,cz:.4,lx:.2,ly:2,lz:.8,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3mD1fnxQ9fjW7tjkECGw95",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013630544061642519,cy:-8.807613594152855,cz:.45,lx:.2,ly:2,lz:.9,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLkWHshGLvdq5XN1PjRi3M",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013906467188462085,cy:-8.607613784486874,cz:.5,lx:.2,ly:2,lz:1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2wfw4Hci4SimT8xLVSR1qM",selected:!1,notBuilding:!0},{type:"Flower",name:"Tall Bush",cx:-9.817715749800067,cy:-9.852268243951208,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hL3pAKVFBPkxjTw9uDE2qM",selected:!1},{type:"Flower",name:"Tall Bush",cx:9.939790338917515,cy:-9.59379601065341,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9JQTdh1CLGJcq2FEuAr43e",selected:!1},{type:"Tree",name:"Magnolia",cx:-12.382557468618694,cy:-8.982107454472132,cz:17763568394002505e-31,lx:7.545471252443165,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mz5Bu6Fc74abemkCjnNzj8",selected:!1},{type:"Tree",name:"Linden",cx:13.009119254200783,cy:-8.749068294142525,cz:0,lx:8.011654641868677,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vRaDd6Us9GPPs1xWHr35Aq",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-1.6973329547002773,cy:-.9810097607697941,cz:.4999999999999991,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"uW8r9yxCBYBnbmu4mcD2dK",selected:!1},{type:"Flower",name:"Yellow Flower",cx:2.1540732998146876,cy:-.7842673436297751,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"7rBvK7XUtGC5sWHZd7QXas",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-2.179727293653672,cy:-.7583396115954706,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"a8ojsUZ7mU36ELVrWAE4C8",selected:!1},{type:"Flower",name:"Yellow Flower",cx:1.9219781706072183,cy:-.6600952948240391,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"6H6en2GXU1wLSxKHPWsjJ6",selected:!1},{type:"Tree",name:"Apple",cx:13.247382515056007,cy:-1.2331435918787816,cz:17763568394002505e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"242hfQPKKVCMwkg6guH9SJ",selected:!1},{type:"Tree",name:"Apple",flip:!0,cx:13.169742632007722,cy:5.190500041503218,cz:-8881784197001252e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rfSjqDoXAWcYP1QiJK14Ah",selected:!1},{type:"Tree",name:"Pine",cx:-14.749577815037771,cy:1.149901818018586,cz:0,lx:4.512512815610147,lz:12.024404332399733,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"fy1FkFpbo7uvywjAGwxRuY",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-14.371853116942734,cy:-.9634768965176921,cz:0,lx:4.512512815610147,lz:8.962712367303366,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"n1AY9F8phLA3eJfdFeLCVt",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-15.240052070171995,cy:2.549040907949193,cz:0,lx:7.596612700375146,lz:7.787173553198613,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"niwq5q77JDU4G8BQsbgERV",selected:!1},{type:"Tree",name:"Magnolia",flip:!0,cx:-14.127046185685298,cy:-5.909041660781089,cz:0,lx:6.24467494419313,lz:8.23797178206723,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"svLkeNQopLzpZVKNMw4BPh",selected:!1},{type:"Human",name:"Jeff",cx:.12654793991771474,cy:-12.447770037532427,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ggcEZD7jGqKHjY9sjyW651",selected:!1,ly:.6},{type:"Human",name:"Jennifer",cx:-1.02983903936377,cy:-8.19510646529044,cz:.550000011920929,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"9A499PNQRGp7jNr6cuTVMi",selected:!1,ly:.45},{type:"Human",name:"Jett",cx:.945405682980855,cy:-12.320812786564254,cz:8881784197001252e-31,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xyc9SJrxYKnGoZ1JsnzDHM",selected:!1,ly:.6},{type:"Window",cx:-.016104291229904533,cy:1.8002134679755866,cz:4.816843659976703,lx:6.99919664887142,ly:.2,lz:5.817011327539121,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"f1J4REo4jQv29PCWE7DY9o"},{type:"Window",cx:-.05151161986007091,cy:-4.040746113044766,cz:4.837111990518853,lx:6.999674883388914,ly:.2,lz:5.437430983992275,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"jvY75c4SHrBZnwZVKousju"},{type:"Window",cx:5.318722507920985,cy:4.582891269828743,cz:4.3657952325816325,lx:3.467667580770554,ly:.2,lz:.00531143113289233,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"sX9UU3kudi5NcAve6pMHjM",polygonTop:[.4836066024850123,5.296892684036137]},{type:"Window",cx:-5.343537105869802,cy:4.545906716881224,cz:4.3717901143583795,lx:3.4010319442975763,ly:.2,lz:.1825055927452041,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"9u53gJyT1Q25rdtt6maYhC",polygonTop:[-.5,5.2491187506805534]},{type:"Window",cx:5.259917043757973,cy:-6.686746145003361,cz:4.408217868278964,lx:3.3609664331480253,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"uhwFXhZdCJ9WRZodgaGM39",polygonTop:[-.5,5.167549845268113]},{type:"Window",cx:-5.283116299901134,cy:-6.676742962528736,cz:4.409839299161519,lx:3.2409329250484538,ly:.2,lz:.020267481118999123,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"nDuyUhzJ8jfAMyFVHV4a4b",polygonTop:[.5,5.127516924065475]},{type:"Window",cx:-7.026900064701883,cy:-1.1705448238754261,cz:4.401906118465314,lx:10.96491542180579,ly:.2,lz:.05934796066186738,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,4.71238898038469],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"wCvpMZz8wRo6JLVskJvaxa",polygonTop:[-.002890307610633155,3.539512596657185]},{type:"Window",cx:7.048045854571776,cy:-1.093473652020256,cz:4.390620355845949,lx:11.034753536063173,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,1.5707963267948963],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"qgitJao18HGfoWkWAG39gT",polygonTop:[-.009542098130494085,3.625871533157426]}],Ocn=24,_cn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.695474665244077,9.454611546562601,942600132651463e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.695474665244077,9.453611169126416,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[9.628275537924297,-25.20157333419027,4.240697142180643],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:27.20748283999615,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5642366854944917,-.4056742952770788,2.0409440324131825],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Vcn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Gcn=1,Xcn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Jcn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Kcn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},qcn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},$cn="Unknown",Qcn=null,Zcn=null,e0n=null,t0n=null,n0n=[],o0n=3,i0n=3,r0n={docid:Fcn,time:Lcn,timestamp:Wcn,userid:Ncn,owner:Ucn,email:Bcn,world:jcn,elements:Ycn,sceneRadius:Ocn,view:_cn,graphState:Vcn,evolutionMethod:Gcn,solarPanelArrayLayoutParams:Xcn,solarPanelArrayLayoutConstraints:Jcn,evolutionaryAlgorithmState:Kcn,economicsParams:qcn,modelType:$cn,modelAuthor:Qcn,modelLabel:Zcn,modelDescription:e0n,designProjectType:t0n,notes:n0n,minimumNavigationMoveSpeed:o0n,minimumNavigationTurnSpeed:i0n},a0n="c1GT9hKGSVWRT29a2bhDcR",l0n="11/16/2023 01:04 PM",s0n=1700157875476,c0n="QWecNcxhyvP6j6sBN11hBsfZDau1",u0n=null,d0n=null,f0n="1.4.7",h0n={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:1,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"9/22/2022, 10:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},p0n=[{type:"Foundation",ly:15.634026313844405,normal:[0,0,1],parentId:"Ground",cz:.05,lz:.1,solarPowerTower:{},cy:-2.0978986591875834,selected:!1,rotation:[0,0,0],solarAbsorberPipe:{},id:"x9h6vgTSQ3QLh48G3oYMPN",lx:31.424087209321772,cx:.2605383705139097,solarUpdraftTower:{},locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{lx:23.5,normal:[0,0,1],roofId:"viqYpNieXAmEvy7RzMSU7R",lz:12,cz:6.08075667710203,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gYxC2R3CWviHFfEMyEPT1K",leftPoint:[10.73068954852153,7.564003538648882,.1],cx:-1.0193104514784697,type:"Wall",rightJoints:["gAzos6YN4ZktUEWKP98uBq"],rotation:[0,0,0],relativeAngle:3.141592653589793,leftJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cy:7.564003538648882,selected:!1,leftRoofHeight:12,rightRoofHeight:12,windows:[],textureType:"Wall Texture Default",ly:.3,showLabel:!1,rightPoint:[-12.76931045147847,7.564003538648882,.1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{lz:12,ly:.3,cz:0,lx:10.5,showLabel:!1,normal:[0,0,1],cx:-12.76931045147847,textureType:"Wall Texture Default",roofId:"viqYpNieXAmEvy7RzMSU7R",cy:2.3140035386488824,leftJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightJoints:["56tPe5zv4S5mhoVrSD2NK7"],leftRoofHeight:12,leftPoint:[-12.76931045147847,7.564003538648882,.1],relativeAngle:4.71238898038469,rightRoofHeight:12,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gAzos6YN4ZktUEWKP98uBq",selected:!1,windows:[],type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rightPoint:[-12.76931045147847,-2.9359964613511176,.1],rotation:[0,0,0],centerRoofHeight:[0,15.934734349134846],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:2.3140035386488824,cx:10.73068954852153,leftJoints:["56tPe5zv4S5mhoVrSD2NK7"],roofId:"viqYpNieXAmEvy7RzMSU7R",parentId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,lz:12,cz:2.6457488129010285,leftRoofHeight:12,textureType:"Wall Texture Default",leftPoint:[10.73068954852153,-2.9359964613511176,.1],id:"iF8yBnVR7zKfNKiVQ7M1op",rightJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightRoofHeight:12,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],type:"Wall",ly:.3,relativeAngle:1.5707963267948966,centerRoofHeight:[0,15.934734349134846],windows:[],lx:10.5,normal:[0,0,1],rightPoint:[10.73068954852153,7.564003538648882,.1],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{showLabel:!1,id:"56tPe5zv4S5mhoVrSD2NK7",roofId:"viqYpNieXAmEvy7RzMSU7R",cz:5.720174265006714,type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lz:12,lx:23.5,leftPoint:[-12.76931045147847,-2.935996461351123,.1],cy:-2.9359964613511202,leftJoints:["gAzos6YN4ZktUEWKP98uBq"],relativeAngle:22676895822130855e-32,windows:[],rotation:[0,0,0],rightRoofHeight:12,selected:!1,leftRoofHeight:12,normal:[0,0,1],ly:.3,rightJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cx:-1.0193104514784697,rightPoint:[10.73068954852153,-2.9359964613511176,.1],textureType:"Wall Texture Default",parentId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.3617021276595745,lz:.17636142264118151,cz:.28681928867940926,ly:.3,normal:[0,0,1],color:"#ffffff",id:"etKxgbj2UBmFLsuY4i5CJ9",rotation:[0,0,0],lx:.1702127659574468,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,showLabel:!1,type:"Window",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],lx:.1702127659574468,normal:[0,0,1],id:"nF2Q5EW3FMMGZXhRHjxAya",cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.1276595744680851,selected:!1,type:"Window",lz:.17636142264118151,cz:.28681928867940926,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{id:"bpUvKGmm3pbG6LoUQVwyUS",lx:.1702127659574468,lz:.17636142264118151,cx:.10638297872340426,rotation:[0,0,0],type:"Window",color:"#ffffff",cz:.28681928867940926,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,cy:.1,normal:[0,0,1],parentId:"56tPe5zv4S5mhoVrSD2NK7",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.28681928867940926,id:"cGXdptrFDNmLCsGiAspsDd",lz:.17636142264118151,parentId:"56tPe5zv4S5mhoVrSD2NK7",type:"Window",ly:.3,cx:.3404255319148936,cy:.1,color:"#ffffff",selected:!1,normal:[0,0,1],rotation:[0,0,0],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lx:.1702127659574468,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{rotation:[0,0,0],selected:!1,solarPowerTower:{},cx:-7.538371501184832,id:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"Ground",lz:.1,lx:21.72063547763523,cy:.21534781482795487,solarUpdraftTower:{},type:"Foundation",ly:4.31333678945802,solarAbsorberPipe:{},cz:.05,normal:[0,0,1],locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",normal:[0,0,1],cx:7.057804014514522,showLabel:!1,id:"gSgPwypYb2qas3tXnXpzu5",rightPoint:[5.057804014514522,1.9532181864937823,.1],cz:0,selected:!1,relativeAngle:3.141592653589793,cy:1.9532181864937823,rightJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],rotation:[0,0,0],foundationId:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"rzzzSn5cSsCh41KW1dZ8o9",leftJoints:["5spEvKcr5r35ajFtNP5ug4"],roofId:"bXyFJNv4LJba2AUhe3ZtVT",windows:[],leftPoint:[9.057804014514522,1.9532181864937823,.1],lz:20,ly:.3,lx:4,textureType:"Wall Texture Default",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.09781600017236,rightUnfilledHeight:13.09781600017236,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{leftPoint:[9.057804014514522,-2.0467818135062186,.1],cy:-.04678181350621824,leftJoints:["iY6iwiFa7FE4A2YwRcXYQX"],rightPoint:[9.057804014514522,1.9532181864937823,.1],lx:4,cz:0,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",windows:[],showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,ly:.3,normal:[0,0,1],type:"Wall",cx:9.057804014514522,rightJoints:["gSgPwypYb2qas3tXnXpzu5"],rotation:[0,0,0],textureType:"Wall Texture Default",id:"5spEvKcr5r35ajFtNP5ug4",roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:1.5707963267948966,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.10125703573121,rightUnfilledHeight:13.10125703573121,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,windows:[],rightJoints:["iY6iwiFa7FE4A2YwRcXYQX"],lx:4,cz:0,rightPoint:[5.057804014514522,-2.0467818135062186,.1],type:"Wall",cy:-.04678181350621824,roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:4.71238898038469,cx:5.057804014514522,leftPoint:[5.057804014514522,1.9532181864937823,.1],ly:.3,rotation:[0,0,0],parentId:"rzzzSn5cSsCh41KW1dZ8o9",textureType:"Wall Texture Default",showLabel:!1,leftJoints:["gSgPwypYb2qas3tXnXpzu5"],normal:[0,0,1],id:"ne9d3ykDCR9vMZ2sfPqRBL",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.104325113888441,rightUnfilledHeight:13.104325113888441,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{ly:.3,windows:[],rightJoints:["5spEvKcr5r35ajFtNP5ug4"],lx:4,relativeAngle:0,leftPoint:[5.057804014514522,-2.0467818135062186,.1],lz:20,rotation:[0,0,0],type:"Wall",selected:!1,normal:[0,0,1],cy:-2.0467818135062186,rightPoint:[9.057804014514522,-2.0467818135062186,.1],showLabel:!1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"iY6iwiFa7FE4A2YwRcXYQX",leftJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],cz:0,parentId:"rzzzSn5cSsCh41KW1dZ8o9",roofId:"bXyFJNv4LJba2AUhe3ZtVT",textureType:"Wall Texture Default",cx:7.057804014514522,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.110251380374818,rightUnfilledHeight:13.110251380374818,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{normal:[0,0,1],lx:0,cx:0,cz:0,cy:0,roofType:"Pyramid",ly:0,lz:0,showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",rotation:[0,0,0],textureType:"Roof Texture Default",type:"Roof",thickness:.1,wallsId:["5spEvKcr5r35ajFtNP5ug4","gSgPwypYb2qas3tXnXpzu5","ne9d3ykDCR9vMZ2sfPqRBL","iY6iwiFa7FE4A2YwRcXYQX"],id:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,color:"#4d4d4d",rise:2.4214017411934243,ceiling:!1,locked:!1},{cy:.1,cx:0,cz:.375,lz:.1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",ly:.3,id:"f3zJpwNA8T36dWKnnLB2Ue",normal:[0,0,1],parentId:"iY6iwiFa7FE4A2YwRcXYQX",type:"Window",selected:!1,lx:.5,rotation:[0,0,0],showLabel:!1,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.375,showLabel:!1,normal:[0,0,1],parentId:"5spEvKcr5r35ajFtNP5ug4",lx:.5,ly:.3,cx:0,color:"#ffffff",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:.1,type:"Window",rotation:[0,0,0],id:"vLvEkBDowmVtpuRDtw4SXE",cy:.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cy:.1,id:"4R8u4ZpfkjtqDvbjmeT7bf",rotation:[0,0,0],lz:.2,selected:!1,cx:-.2857142857142857,cz:-.3,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],lx:.09523809523809523,color:"#ffffff",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lx:.09523809523809523,type:"Window",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,selected:!1,color:"#ffffff",rotation:[0,0,0],id:"sknCCjfYvoTnoJodNpouJ1",cy:.1,cz:-.3,normal:[0,0,1],cx:.2857142857142857,lz:.2,ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.09999999999999998,rotation:[0,0,0],id:"eu9mFgyuKTJ1jH9yK9yLSt",color:"#ffffff",ly:.3,cy:.1,lx:.3047619047619048,type:"Window",cx:0,cz:-.09999999999999998,selected:!1,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1.1999999999999997,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Tree",name:"Oak",cx:23.74199340816881,cy:10.644500397978508,cz:0,lx:20,lz:24,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b1PLNbuHYXMSFSk3EuJWpe",selected:!1,locked:!1},{type:"Tree",name:"Elm",cx:-11.169257359842945,cy:-29.31617204471101,cz:17763568394002505e-31,lx:20,lz:20,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7jf8KwAp3jRyyjP9pa5nD6",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:13.450425292803352,cy:-.6851982985911116,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"fEgQo63aax49KtqEdPTNhE",selected:!1,ly:.42,locked:!1},{type:"Human",name:"Jena",cx:15.018980097026159,cy:12.103463958939685,cz:3552713678800501e-30,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4BmWg5mgbRSqHZB7i69JCr",selected:!1,ly:.695,locked:!1},{type:"Human",name:"Jeff",cx:17.834834093586977,cy:-13.833037629725366,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xix4idJ2qyP21RHv281pxk",selected:!1,ly:.6,locked:!1},{type:"Human",name:"Jose",cx:19.855346329668855,cy:-1.5096947835564674,cz:0,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"swuHMR6JuNqcRU1q2CGzEB",selected:!1,ly:2,locked:!1},{type:"Human",name:"June",cx:13.437411824806574,cy:1.7698691218286662,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"neJBajzFYG5HwTAskcMmid",selected:!1,ly:.65,locked:!1},{type:"Door",cx:1057355261547768e-32,cy:0,cz:-.325,lx:.32380952380952377,ly:0,lz:.35000000000000003,textureType:"Door Texture #2",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1cqNEbnbmdgjFsj2KffdDW",color:"white",doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.283173842293113,cy:-5.011574326559238,cz:.05000000074506161,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1EBzai8Qd5Jq4dWcsiq8La",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.271441109375889,cy:-7.494044638896808,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"o9s9NrSQqGhb4mKxZK73ZY",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-4.545943688973082,cy:-23.537404195497544,cz:0,lx:20,lz:16.05832090138246,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gkQDZPnaSVr9iatjDLPxBD",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:15.895794748349687,cy:24.757130551972956,cz:0,lx:16.237525350473454,lz:14.730013828864193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"n7bLUe1p1rbbqq2FsGvzJ1",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:26.48163780671832,cy:25.18035168450354,cz:0,lx:13.930205088796232,lz:14.730013828864193,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"64YqofbhUQNT1AUUrbAQFL",selected:!1,flip:!0,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.7619047619047619,ly:.3,lz:.16666666666666666,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"2akAYnPawwHe5duAcNSm7B",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"ne9d3ykDCR9vMZ2sfPqRBL",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"4xy5bj1K9gsNUeeRqMHQ4T",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Wall",cx:.23099428957730517,cy:6.239081888589501,cz:0,lx:20,ly:.3,lz:6.986961603131722,leftJoints:["t1G4LBkeHJCJQyxbr7ccH4"],rightJoints:["4QQLfJpksW9car6RpJhBza"],leftPoint:[10.230994289577309,6.2390818885895,.1],rightPoint:[-9.769005710422693,6.2390818885894985,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"nRyok2ppvyvZoipPDTMibS",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:6.986961603131722,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.886961603131723,rightUnfilledHeight:6.886961603131723,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",cx:.23099428957730755,cy:-3.260918111410499,cz:0,lx:20,ly:.3,lz:5,leftJoints:["4QQLfJpksW9car6RpJhBza"],rightJoints:["t1G4LBkeHJCJQyxbr7ccH4"],leftPoint:[-9.769005710422693,-3.260918111410501,.1],rightPoint:[10.230994289577309,-3.2609181114104966,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"9Yk7vG95h8gCN8K81b6QsV",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Window",cx:-.35,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ZFQrnmC5HWZdeWiMJGmRx",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.19999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p5XsrFbFiHc5cUtkroJ7bZ",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.04999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sYLoiFbgR7dHUeBey4QLWg",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10000000000000005,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"waQ4yFfcYPcnN877Bomdn5",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.25000000000000006,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4RR7R41FRkfno1WwtTX7f",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQwvmPAtL9tsANDrDpmVRC",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:10.230994289577309,cy:1.4890818885894999,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["9Yk7vG95h8gCN8K81b6QsV"],rightJoints:["nRyok2ppvyvZoipPDTMibS"],leftPoint:[10.230994289577309,-3.2609181114105,.1],rightPoint:[10.230994289577309,6.2390818885895,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"t1G4LBkeHJCJQyxbr7ccH4",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:6.986961603131722,centerRoofHeight:[.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Wall",cx:-9.769005710422693,cy:1.4890818885894987,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["nRyok2ppvyvZoipPDTMibS"],rightJoints:["9Yk7vG95h8gCN8K81b6QsV"],leftPoint:[-9.769005710422693,6.2390818885894985,.1],rightPoint:[-9.769005710422693,-3.260918111410501,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4QQLfJpksW9car6RpJhBza",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:5,centerRoofHeight:[-.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{id:"2edgYQtearj95L9ExcxpR8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["9Yk7vG95h8gCN8K81b6QsV"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1,locked:!1},{type:"Flower",name:"Peony",cx:-7.921494529469528,cy:-5.703131639854222,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"n7MjXwaqUNnrqr7tttq8Xs",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-6.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"sV3wDCg6jC5jfbaZPhLEFR",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"5qYyouDiycvWuJ5qvpfENM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.921494529469526,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"d5qiLf7kCJT5AZq7DadTns",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"wsrTngfrvFcPA2tZXvJ7x3",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-2.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"afwAGtRYkrpVQnTg7J7Qth",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"qcKnQw96DTDSeCGHYqMA48",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.9214945294695266,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"waxy4TUCBpoD2cd6LrtnaA",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:.07850547053047338,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nvZw8LLJYkjMh1JGkRLD3K",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:1.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"cqsNRo9PPkomK9wdkZupc1",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"jrx4N63zfhzuthq28WtS35",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.0785054705304695,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"mxRRf3jQHxj2YV6RTapCHL",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:4.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nTZ7SBUGqeqonpnPNpk3oW",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:5.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"3dhHbjvLKuWhGK9UjHE6XT",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:6.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"4GeJePH4hCxCTjZtoXxWto",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:7.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"7FGr3ZNRc8Yr5eCEbRFCP4",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:8.541770761909182,cy:-5.4564771733354345,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"j6RLkdyyrwF7fa2EzQWxLx",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:11.033481724703831,cy:2.4259920840004234,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"keYgfjtBV5HoobU1c7o3UJ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.99612420253719,cy:.2217548731086052,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"vVnzt8ngpeWWaQC4FjAL4j",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.959797795589187,cy:-1.7573623215975718,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"gZMPqGYEq2m24MmNCDDYiG",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.392242624146428,cy:3.263587702330267,cz:.050000000745050954,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"6Ub8pCiCnETjVt5AhwfdTF",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.422719499264469,cy:.5714316192013018,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"66aAYBuCfd3AhjLpHJLkUu",selected:!1,locked:!1},{type:"Foundation",cx:-.3396050744252213,cy:11.51965967612361,cz:.05,lx:27.18366746665238,ly:13.555523568838572,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLT8u6hCPgvgGLYpma7b1F",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Flower",name:"Hydrangea",cx:-10.300379922837644,cy:-2.268843152966837,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"ageUa3KUftjZpZZ9K9EjET",selected:!1,locked:!1},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j41VCcj3usY83nb7TyLTSz",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2Gb1qNGA9XYJH1M5ngkWgg",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vi8CDjZJjcyCw9PypDyDTY",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssGXAAom5GmpQtoTEfxLxY",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jAMmFqujhajRarjA7EnVcV",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9iqv8Mygk4XdBQpnv3SnAQ",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3404255319148936,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eBsupuArqkdPqdm1NpNRGG",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.10638297872340426,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fCtqDhopDBEzVW7mRyhrYJ",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.1276595744680851,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ug8Cox9PN3TyFyQqu1r9qK",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3617021276595745,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3BwnkPkWjwJcrrLjwf9GLa",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"whn43FxoK2FiHHEsJEgwx9",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.09523809523809523,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jBLLRwnh7NZy9MTMYQHt2",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.14285714285714285,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ttkkqMJXFY2rDGZmC9Lzj",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.38095238095238093,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"k8vEiLRG6xxiXgVTPxWxXM",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6YKcvoA3eJ8MWWe5Vsy3eT",parentId:"gSgPwypYb2qas3tXnXpzu5",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",tint:"#73D8FF",opacity:.91,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["56tPe5zv4S5mhoVrSD2NK7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"viqYpNieXAmEvy7RzMSU7R",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:3.934734349134846,ceiling:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666668,lx:.7619047619047619,ly:.3,lz:.16666666666666638,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rk1VAoH8VnjeXMMcRz8iw6",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:-.004761904761904766,cy:.1,cz:.6791666666666667,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cdP2JvFiiD6EFxpYXpURLL",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.014285714285714277,cy:.1,cz:.6708333333333334,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hN73eLMovYtBF2VxtgwGA",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.32491117851716567,cy:-.02051365319438737,cz:22.47091493193306,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.7710068386722702,.6368268640066874],rotation:[.8804206662401132,0,0],parentId:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"gnMTcek5K3cRDBprwKnFBZ",selected:!1,inside:!1,locked:!1},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.002857142857142857,cy:0,cz:-.0025,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"dpLuhLSSPa19xJpw2Qffsi",selected:!1,locked:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.38095238095238093,y:-.125},{x:-.38095238095238093,y:0},{x:.38095238095238093,y:0},{x:.38095238095238093,y:-.125}],parentId:"iF8yBnVR7zKfNKiVQ7M1op",parentType:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,filled:!0,selectedIndex:2,id:"sQ3Tb8iVwJfm4J6HcRtiJG",text:"PARADISE FARM",fontColor:"gold",fontSize:1,noOutline:!0,opacity:0,locked:!1},{type:"Door",cx:.02127659574468085,cy:0,cz:-.2708333333333333,lx:.5531914893617021,ly:0,lz:.4583333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"9ANMGsRZBmgfHhV2Q1CDCc",locked:!1,interior:!0},{type:"Door",cx:-.02127659574468085,cy:0,cz:-.2916666666666667,lx:.5531914893617021,ly:0,lz:.4166666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"56tPe5zv4S5mhoVrSD2NK7",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"vap2L1NkxsVcWyXHMxiu2p",locked:!1,interior:!0},{solarPowerTower:{},lx:29.20195847671534,parentId:"Ground",id:"46TKaVq8pvU97fq25w6FtQ",cx:1.0262187405527392,lz:.1,cy:-11.383349626055136,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cz:.05,solarUpdraftTower:{},ly:12.71246047298328,rotation:[0,0,0],type:"Foundation",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{cz:0,windows:[],relativeAngle:3.141592653589793,id:"kDP3sGBycYRfxJNAuZJQCx",normal:[0,0,1],rightJoints:["6i3LR3TEvtE6sm3KPPvawH"],ly:.3,cx:-1.69761452373917,rotation:[0,0,0],foundationId:"46TKaVq8pvU97fq25w6FtQ",roofId:"6c49g876wkgGNVBvgTNf4N",lz:6.986961603131722,selected:!1,cy:6.34147142267982,rightRoofHeight:6.986961603131722,rightPoint:[-11.697614523739169,6.34147142267982,.1],textureType:"No Wall Texture",leftRoofHeight:6.986961603131722,showLabel:!1,leftPoint:[8.302385476260831,6.34147142267982,.1],type:"Wall",lx:20,parentId:"46TKaVq8pvU97fq25w6FtQ",leftJoints:["7N5hq7UW6d1NtoD4SxrS8y"],color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.175009105936305,rightUnfilledHeight:6.175009105936305,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",lz:5,foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],relativeAngle:0,showLabel:!1,rightJoints:["7N5hq7UW6d1NtoD4SxrS8y"],leftJoints:["6i3LR3TEvtE6sm3KPPvawH"],textureType:"Wall Texture Default",leftPoint:[-11.697614523739169,-3.1585285773201797,.1],rightPoint:[8.302385476260831,-3.158528577320176,.1],id:"6JeFi4vn6AoV5MBuK71Kj4",windows:[],roofId:"6c49g876wkgGNVBvgTNf4N",rotation:[0,0,0],lx:20,cy:-3.1585285773201797,leftRoofHeight:5,rightRoofHeight:5,cz:0,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",selected:!1,cx:-1.69761452373917,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{leftJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cy:1.5914714226798203,roofId:"6c49g876wkgGNVBvgTNf4N",showLabel:!1,windows:[],type:"Wall",rightJoints:["kDP3sGBycYRfxJNAuZJQCx"],leftPoint:[8.302385476260831,-3.1585285773201797,.1],relativeAngle:1.5707963267948966,parentId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],selected:!1,rotation:[0,0,0],leftRoofHeight:5,centerRoofHeight:[.5,6.986961603131722],ly:.3,lz:5,id:"7N5hq7UW6d1NtoD4SxrS8y",rightPoint:[8.302385476260831,6.34147142267982,.1],foundationId:"46TKaVq8pvU97fq25w6FtQ",rightRoofHeight:6.986961603131722,lx:9.5,cz:0,textureType:"Wall Texture Default",cx:8.302385476260831,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{foundationId:"46TKaVq8pvU97fq25w6FtQ",cx:-11.697614523739169,id:"6i3LR3TEvtE6sm3KPPvawH",normal:[0,0,1],type:"Wall",rotation:[0,0,0],rightRoofHeight:5,lz:5,lx:9.5,rightJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cz:0,textureType:"Wall Texture Default",relativeAngle:4.71238898038469,leftRoofHeight:6.986961603131722,windows:[],leftJoints:["kDP3sGBycYRfxJNAuZJQCx"],showLabel:!1,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",leftPoint:[-11.697614523739169,6.34147142267982,.1],centerRoofHeight:[-.5,6.986961603131722],selected:!1,roofId:"6c49g876wkgGNVBvgTNf4N",rightPoint:[-11.697614523739169,-3.1585285773201797,.1],cy:1.5914714226798203,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{cy:0,parentId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],ridgeRightPoint:[.5,1],selected:!1,type:"Roof",thickness:.1,lz:0,lx:0,roofType:"Gable",foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],cz:0,id:"6c49g876wkgGNVBvgTNf4N",cx:0,textureType:"Roof Texture Default",wallsId:["6JeFi4vn6AoV5MBuK71Kj4"],ridgeLeftPoint:[-.5,1],ly:0,showLabel:!1,color:"#4d4d4d",roofStructure:"Default",rise:0,ceiling:!1,locked:!1},{id:"8bXmzpgr9i9JFo2oBsPwmf",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",lx:.1,selected:!1,rotation:[0,0,0],cx:-.35,parentId:"6JeFi4vn6AoV5MBuK71Kj4",color:"#ffffff",cy:0,normal:[0,0,1],lz:.6,showLabel:!1,ly:.3,cz:-.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,color:"#ffffff",id:"xjhgUKTmXdCae92VivseTy",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.19999999999999996,foundationId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],lx:.1,type:"Window",normal:[0,0,1],selected:!1,ly:.3,cy:0,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,lz:.6,cy:0,type:"Window",color:"#ffffff",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.04999999999999996,id:"kPfc2HWm4ZV8tdUhXMQ1J6",selected:!1,normal:[0,0,1],ly:.3,foundationId:"46TKaVq8pvU97fq25w6FtQ",lx:.1,rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.6,ly:.3,parentId:"6JeFi4vn6AoV5MBuK71Kj4",lx:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",color:"#ffffff",cy:0,type:"Window",selected:!1,cz:-.1,cx:.10000000000000005,id:"msWBbsfJmqRnJLeUcmpcgH",normal:[0,0,1],rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{selected:!1,ly:.3,color:"#ffffff",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",rotation:[0,0,0],parentId:"6JeFi4vn6AoV5MBuK71Kj4",normal:[0,0,1],cx:.25000000000000006,lx:.1,id:"1cwhsRjtvJtmfm2tgLVX5c",cy:0,cz:-.1,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],foundationId:"46TKaVq8pvU97fq25w6FtQ",cz:-.1,id:"ji1bstwegM7BG7jKCfjWE9",cx:.4,parentId:"6JeFi4vn6AoV5MBuK71Kj4",cy:0,lx:.1,type:"Window",ly:.3,selected:!1,lz:.6,rotation:[0,0,0],color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,type:"Window",rotation:[0,0,0],cy:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",lz:.4,parentId:"7N5hq7UW6d1NtoD4SxrS8y",lx:.10526315789473684,cx:-.2631578947368421,selected:!1,color:"#ffffff",showLabel:!1,cz:0,id:"4c1wL2gSvqBAbj5Dt9dzzk",normal:[0,0,1],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jess",cx:10.850050894558208,cy:-3.696870042392426,cz:.05000000074505806,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pnZ17fTrUAQjd7ZGBi4LZw",selected:!1,ly:.43,locked:!1},{type:"Flower",name:"Peony",cx:-9.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"r3HRWGLTLtPMP6QPxaP2u9",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-8.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"eB1sPWxNsgKXNP6CKxK1cQ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-7.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pmPLWWXJMx6px3ffjyd7Xf",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-6.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rFPmR6A2xwJwzhvMRvDbF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3tR1Hnu1k94fCkXYFdPNCZ",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ac3W5UphRDEuZMMMxdg9a8",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-3.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3j517SjKVEgfCScaEPmkeg",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-2.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"vLUgsZC1zUxAvajPJX9oRy",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kb5KssfCiZkY9jQ5M4fg79",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rvgmvqqddGgLnhBVWDH5Yi",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"whxmnRSL5NJSpdaiWxZBom",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:1.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"hcWpyraDuh7HTi6CTV9t8w",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"k3fvYn4xsoNn35srPUnKcM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rZdFV48y6NMFUVbnDpaSyZ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:4.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"codYgSxPq8Vks6hVgvEgs8",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:5.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"bTFFYv3CW8yhDsAPYPTsXV",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:6.613161948592704,cy:-5.354087639245112,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ctEoy8WqpFPS2x5ac3G3Pw",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.10487291138736,cy:2.5283816180907426,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kGH6RHxnnVioxpEWe4i5gm",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.067515389220716,cy:.32414440719892745,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"q26Eg31XYAcejy2Lefy1u6",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.031188982272717,cy:-1.654972787507253,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"5yYM5vzDCoYXugAds8nGWB",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.93283136913118,cy:-.5875588698031677,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"phZdGJBNMcagm1hqvjyqar",selected:!1,locked:!1},{type:"Window",cx:.05263157894736842,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i7D5ks6qD3vrJhaHoUEn98",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3684210526315789,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xjbyj3NQZe1tdahps4bSB2",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xARzngwCEN8qLjikbQKjCx",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdyY9wswVivifuQfer37rz",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8yDD6Xt5pfo9gxGo7Y9zu8",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Foundation",cx:-31.880642024139792,cy:69.55063598010092,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"sksMK7QGTEQXw2XCVdPew4",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:1.9198621771937625,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"sksMK7QGTEQXw2XCVdPew4",foundationId:"sksMK7QGTEQXw2XCVdPew4",id:"sKzCd1CFCMgia2iSa8SUaR",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-3.1468540559467755,cy:42.75920411476808,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"pYW51i5Md8LzLgEijwgRsa",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.8726646259971648,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"pYW51i5Md8LzLgEijwgRsa",foundationId:"pYW51i5Md8LzLgEijwgRsa",id:"s98srs7ePwE5eNskhAt5LB",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-55.523183133190386,cy:17.374425429460363,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"vypVDTaH1DmP9JbgEkDrdH",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.3490658503988659,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vypVDTaH1DmP9JbgEkDrdH",foundationId:"vypVDTaH1DmP9JbgEkDrdH",id:"jM4kEGJQ8cVJvhsvxgutLP",selected:!0,pitchAngle:.3490658503988659}],g0n=89,m0n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[32.62054043416994,-29.00025228279148,10.654435205994917],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"forestgreen",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.1186734562771086,.9968697268356653,8.083309712260911],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!1,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Rural",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:1.3194139635574385,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[22.525010055792105,33.90953838531496,31016628307238075e-21],cameraPosition2D:[22.525010055792105,33.90853800787309,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},navigationView:!1},y0n=!1,A0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},w0n=1,v0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},x0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},b0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},S0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},T0n="Unknown",P0n=null,C0n=null,R0n=null,H0n=null,M0n=[],I0n=3,z0n=3,D0n={docid:a0n,time:l0n,timestamp:s0n,userid:c0n,owner:u0n,email:d0n,version:f0n,world:h0n,elements:p0n,sceneRadius:g0n,view:m0n,animate24Hours:y0n,graphState:A0n,evolutionMethod:w0n,solarPanelArrayLayoutParams:v0n,solarPanelArrayLayoutConstraints:x0n,evolutionaryAlgorithmState:b0n,economicsParams:S0n,modelType:T0n,modelAuthor:P0n,modelLabel:C0n,modelDescription:R0n,designProjectType:H0n,notes:M0n,minimumNavigationMoveSpeed:I0n,minimumNavigationTurnSpeed:z0n},E0n="owwsgdXHDbNagWUrRiAo3n",k0n="06/18/2023 07:00 pm",F0n=1687129219076,L0n="QWecNcxhyvP6j6sBN11hBsfZDau1",W0n=null,N0n=null,U0n={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},B0n=[{ly:21.382516494600992,solarUpdraftTower:{},parentId:"Ground",cx:.12539468533083742,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.14607588848467667,type:"Foundation",solarPowerTower:{},lx:18.404896936058655,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,color:"#cccccc",enableGroupMaster:!0,textureType:"Foundation Texture #2",locked:!1},{type:"Human",name:"Jaye",cx:-2.7072108715724905,cy:5.7390022883526095,cz:.05000000074505806,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!1},{type:"Human",name:"Jess",cx:8.450674550954435,cy:-2.040964169794302,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!1},{type:"Wall",cx:-3.3726189887257103,cy:8.134829504503935,cz:0,lx:7.649489274590845,ly:.1,lz:6,relativeAngle:2.944169982729981,leftPoint:[.3775108703190573,7.384697795521461,.1],rightPoint:[-7.1227488477704775,8.88496121348641,0],leftJoints:["fH1Eycb1edh4ewg8cSm7F2"],rightJoints:["1fNhHihSFWK4q4YFxM4GxP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtB2mK47EhRe9haPUXWpqu",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.6275108703190573,cy:7.384697795521461,cz:0,lx:6.5,ly:.1,lz:6,relativeAngle:3.141592653589793,leftPoint:[6.877510870319057,7.384697795521461,.1],rightPoint:[.3775108703190573,7.384697795521461,.1],leftJoints:["o3wqaqdyzHo4XWGr2xqwut"],rightJoints:["jtB2mK47EhRe9haPUXWpqu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"fH1Eycb1edh4ewg8cSm7F2",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.877510870319057,cy:4.634697795521461,cz:0,lx:5.499999999999999,ly:.1,lz:6,relativeAngle:1.5707963267948966,leftPoint:[6.877510870319057,1.884697795521462,.1],rightPoint:[6.877510870319059,7.384697795521461,.1],leftJoints:["vGUEcuvyBtUte9nHKMMtRK"],rightJoints:["fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o3wqaqdyzHo4XWGr2xqwut",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.627703166633557,cy:1.884697795521462,cz:0,lx:6.501153732383853,ly:.1,lz:6,relativeAngle:0,leftPoint:[.3775108703190573,1.884697795521462,.1],rightPoint:[6.877895462948057,1.8846977955214619,0],leftJoints:["jREcPkJHS2ha1J5przL31q"],rightJoints:["o3wqaqdyzHo4XWGr2xqwut"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vGUEcuvyBtUte9nHKMMtRK",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3724891296809427,cy:2.884697795521462,cz:0,lx:7.762087348130012,ly:.1,lz:6,relativeAngle:6.022582915432245,leftPoint:[-7.122489129680943,3.884697795521462,.1],rightPoint:[.3775108703190573,1.884697795521462,.1],leftJoints:["1fNhHihSFWK4q4YFxM4GxP"],rightJoints:["vGUEcuvyBtUte9nHKMMtRK"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jREcPkJHS2ha1J5przL31q",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-7.122489129680943,cy:6.384697795521461,cz:0,lx:4.999999999999999,ly:.1,lz:6,relativeAngle:4.71238898038469,leftPoint:[-7.122489129680943,8.884697795521461,.1],rightPoint:[-7.122489129680943,3.884697795521462,.1],leftJoints:["jtB2mK47EhRe9haPUXWpqu"],rightJoints:["jREcPkJHS2ha1J5przL31q"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fNhHihSFWK4q4YFxM4GxP",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:4.805913157134036,cy:-3.6653250376384854,cz:.2,lx:4.565495674711998,ly:6.575538224210636,lz:.4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"krZVQGBw1wVwxak2PssY7v",textureType:"Foundation Texture #5",locked:!1,notBuilding:!0},{type:"Foundation",cx:7.301535582510818,cy:-3.7151297019599916,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"iv83XEzdWqY6v8XR5AToXK",color:"#ffffff",locked:!1,notBuilding:!0},{type:"Foundation",cx:2.4329687772478152,cy:-3.7102946606740073,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLXoh6MxU5E5Gva8BASQRm",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862158322186749,cy:-.20866405563399004,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hzhocB2hGXGCFSJk2wnktz",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862690579253708,cy:-7.224281838084487,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gHY8UXkMn58xRtZAJVDtN6",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.866917615138179,cy:-7.704867444683629,cz:.15,lx:5.379502342454104,ly:.5,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3HGisFhi9kVGUkmKRBhKms",selected:!1,locked:!1,notBuilding:!0},{type:"Window",cx:-3416070845000482e-32,cy:.1,cz:.29166666666666663,lx:.9230769230769231,ly:.3,lz:.25000000000000006,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jrakT4hmGTpA5xVoQK7Sx3",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-40953643875444483e-21,cy:.3,cz:-.2833333333333333,lx:.9229950157891724,ly:.3,lz:.39999999999999997,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"e19pGWtpLkqWbfXdnaZhjy",locked:!1,frame:!0,frameWidth:.1,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,sillWidth:0},{type:"Window",cx:-.2898704818803739,cy:.1,cz:.29166666666666663,lx:.19324698792024925,ly:.3,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sovEYSXhGEu5Ldj2kgneVg",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:.2916666666666667,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gFuo9DkFa685GcUxuiuYb8",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.2898704818803739,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhZYVdjTizeYL1gPxKSz9p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28zX4FcaMGFduU6Aof316p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:.29166666666666663,lx:.793246987920249,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4MrXBjecJdLy1tjgTVbQVw",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:-.20833333333333334,lx:.793246987920249,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"paKeNYdxXEhDFWLKsseJA5",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:.29166666666666663,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1u3AjVrK7HHdWWARHUbKE",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:.2916666666666667,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"srk5mHASnPgAUpjbT9uftd",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tuZbwGt7CbT6QqTZ4sKjKB",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fVyFjpBszkzEvddzxZF4cN",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2139500417756478,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jgsYPqkQbCLB7nSKYoTQz1",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["jtB2mK47EhRe9haPUXWpqu","1fNhHihSFWK4q4YFxM4GxP","jREcPkJHS2ha1J5przL31q","vGUEcuvyBtUte9nHKMMtRK","o3wqaqdyzHo4XWGr2xqwut","fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Roof Texture",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5PVMZuTRFmTCfk2YbWKwPq",locked:!1,rise:0,ceiling:!1},{type:"Window",cx:.2139500417756478,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iYZGRCyiCoyTmxb2iW91K5",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3hXTrx5RjPnoyDuFRCWL2w",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7TekVwAyTBKGDMvDso7KwN",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ky3TVidbZJNxBmsHW5p4aV",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6T5fUwPHMtaFTnJUZ9FeNm",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uH3BNCdk4hWNuoStiax9Mc",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4JcJH5e4rWagE4s7pxc2vr",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:-3.5174202973352635,cy:-5.952506495142959,cz:.050000000745058504,lx:3.421252972867562,lz:5.8824455683270385,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4PU1mJTsD7Dm4DCSTQbEk",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-4.056727114780923,cy:-6.820925912328164,cz:.05000000074505806,lx:3.421252972867562,lz:3.7067838832176516,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qYjmrdb86SDT3egVhi2Ddg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-3.058157215251919,cy:-5.348879217798858,cz:.05000000074505806,lx:2.0761240579059335,lz:3.468323603426934,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qTMbix1j6GoFy9o8Dge8Q",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!0,cx:-6.654527859836286,cy:-7.991796862008116,cz:.05000000074505806,lx:2.811171334227782,lz:5.2304806796050185,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hgWXQayK9bDxaZTKFMFyaj",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!1,cx:-6.145316897074318,cy:-8.056698018196002,cz:.050000000745058504,lx:2.1110953047223546,lz:3.545986285890324,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5NPZQ3kADKqz5pZRjy2r8m",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:8.102181299831539,cy:4.045842994396765,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"taF3ALjLpVssdzRj5rkAQQ",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-5.879762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j5yY2k9GT68hDzGzo8g4X5",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-8.163745041032497,cy:5.853168143382562,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wQLFTPCoFnPyshTWJztWv8",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-2.279762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8nf4FW7PRbc5MHE74z6k6X",selected:!1,locked:!1},{type:"Flower",name:"Boxwood",cx:8.755439698619178,cy:-3.801559677962663,cz:.050000000745058504,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Me2yqTX69xpAQdJimGv6J",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.7656917519971405,cy:-7.189954744763735,cz:.050000000745057616,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"b8dhYx3mLo55GMwpAMANF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.9954361886672194,cy:-6.017555062549365,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aD6qe37bZZVXu7NhL9YCyw",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.5427971092417136,cy:-4.3436146516258916,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6Z7HQYvZ4Ls1JaGM7AfPk1",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-5.573500548190964,cy:-8.097341718681303,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"igiDoKTCbe5rQ5p9LftFTF",selected:!1,locked:!1},{type:"Human",name:"Judd",cx:7.8538131049134385,cy:-5.07106737312789,cz:.05000000074505828,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3PTeJ2nnhnU1658gE9hwVj",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jeff",cx:1.3294328409358478,cy:.0073529482213468,cz:.1500000059604645,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"3HGisFhi9kVGUkmKRBhKms",id:"vmxzjFWTAjwTqms6QcsEP3",selected:!1,locked:!1,ly:.6},{type:"Human",name:"Jamelia",flip:!0,cx:8.040674150226515,cy:-6.334084712275156,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5Qsgp8Gq1Jr7PUZmxevYZR",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jennifer",cx:-.9884229521541545,cy:3.585869160830872,cz:.05000000074505806,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sjU37oco1BJnmRhataWCxf",selected:!1,ly:.45},{type:"Tree",name:"Fan Palm",cx:-3.0053849919153564,cy:-3.8414595688219437,cz:.05000000074505806,lx:3.3292228289929944,lz:4.535630581080736,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"72iSoNbD98zvpFJ2Q1mmkB",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-3.557645718087297,cy:-6.494909623054461,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"fixSsPsLT9YGgQ2atTquS7",selected:!1},{type:"Flower",name:"Hosta",cx:-2.8775394857306047,cy:-4.995547826339774,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rGgsLECHRG1JrsuPt4Zkbs",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.6007319365603525,cy:-5.483479639543539,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2RrpkK93q9tXhZRqF6FvrT",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.14120900487017,cy:-4.690834516460342,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"eXNFmUTqaatU1h8XmR1dnP",selected:!1},{type:"Flower",name:"Hosta",cx:-2.251092230304847,cy:-3.591429672886945,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ro5BfNTKQSaGfLx4eKBnio",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:-.0668233149685919,cy:.05804493333085005,cz:.500000007450585,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hjub9esH6NqUMrKoM4qiEZ",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:.4297365503834882,cy:-.1789222334700641,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6aGXSJXX1kvmEvo5FpXMaw",selected:!1},{type:"Light",decay:2,distance:10,intensity:8,color:"#fe9200",cx:.0692403262735466,cy:.2196827525166444,cz:6.2,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5PVMZuTRFmTCfk2YbWKwPq",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"432pe1oLqRcmTRcAYqgtqG",selected:!1,inside:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:-.17601132104075962,cy:-.3273891737363795,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iMv2LJEW81uJy7BUGUKL83",selected:!1},{type:"Polygon",cx:-.020412282064186955,cy:-.023334577896438075,cz:0,lx:.4,ly:.4,lz:.4,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.03636363636363637,y:-.08333333333333333},{x:-.1272727272727273,y:-.08333333333333333},{x:-.05454545454545455,y:-.03333333333333333},{x:-.09090909090909093,y:.049999999999999996},{x:0,y:0},{x:.09090909090909093,y:.049999999999999996},{x:.05454545454545455,y:-.03333333333333333},{x:.1272727272727273,y:-.08333333333333333},{x:.03636363636363637,y:-.08333333333333333},{x:0,y:-.16666666666666666}],parentId:"o3wqaqdyzHo4XWGr2xqwut",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:1,id:"bM2XuLbGojMjjtTq6QbXqK",lineColor:"#4d4d4d",noOutline:!1,text:"26",fontSize:.3,fontColor:"gold",fontOutlineWidth:.01,lineWidth:1}],j0n=14,Y0n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.7599467981478756,-5.067346033277178,-5027848075881249e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.7599467981478756,-5.067496039946536,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.236325505747509,-7.86777235732635,2.457105139993579],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207442,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.6563214275080296,1.8214306688802133,2.457105139993578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},O0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_0n=1,V0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},G0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},X0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},J0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},K0n="Unknown",q0n=null,$0n=null,Q0n=null,Z0n=[],eun={docid:E0n,time:k0n,timestamp:F0n,userid:L0n,owner:W0n,email:N0n,world:U0n,elements:B0n,sceneRadius:j0n,view:Y0n,graphState:O0n,evolutionMethod:_0n,solarPanelArrayLayoutParams:V0n,solarPanelArrayLayoutConstraints:G0n,evolutionaryAlgorithmState:X0n,economicsParams:J0n,modelType:K0n,modelAuthor:q0n,modelLabel:$0n,modelDescription:Q0n,notes:Z0n},tun="hPTJuLgPgoJuMRXMJ2VDBS",nun="06/15/2023 03:10 pm",oun=1686856228122,iun="QWecNcxhyvP6j6sBN11hBsfZDau1",run=null,aun=null,lun={solarRadiationHeatmapGridCellSize:.5,date:"5/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},sun=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152009,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:.08037925094719676,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture Default",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Foundation",ly:9.17890503672627,lz:.06478560897373455,rotation:[0,0,0],cz:.05,cx:-3.0123969578104886,lx:2.997193198016322,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5649990896825194,id:"8fpWrU7qVyVgipB7LtABom",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:5.674455425565713,ly:.3,leftRoofHeight:5.674455425565713,relativeAngle:3.141592653589793,rightRoofHeight:5.674455425565713,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:2.13057265557637,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture Default",cx:-.011530025051640469,leftPoint:[1.0537563027365446,1.8025200094198752,0],type:"Wall",rightPoint:[-1.0768163528398256,1.8025200094198752,0],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8025200094198752,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9689600797771365,rightUnfilledHeight:3.9689600797771365,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:5.674455425565713,selected:!1,ly:.3,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.250986023416642,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture Default",cx:1.053756302736545,showLabel:!1,leftRoofHeight:5.674455425565713,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948963,windows:[],rightRoofHeight:5.674455425565713,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[1.0537563027365453,1.8025200094198752,0],lx:3.1030679720064667,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.020600140222275,rightUnfilledHeight:4.020600140222275,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:5.674455425565713,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture Default",cx:-1.0768163528398256,rightPoint:[-1.0768163528398256,-1.3005479625865912,0],lz:5.674455425565713,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-1.0768163528398256,1.8025200094198752,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.1030679720064667,cy:.250986023416642,windows:[],ly:.3,rightRoofHeight:5.674455425565713,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.674455425565713,rightUnfilledHeight:3.92594971520268,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #1",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",rise:2.7886384076788957,ceiling:!0,locked:!0},{rightPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.011530025051640469,ly:.3,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:5.674455425565713,rightRoofHeight:5.674455425565713,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],type:"Wall",cy:-1.3005479625865912,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:5.674455425565713,windows:[],showLabel:!1,textureType:"Wall Texture Default",lx:2.13057265557637,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.143662209927734,rightUnfilledHeight:4.143662209927734,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],rotation:[0,0,0],lz:.08037925094719676,cz:.05,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.688554173396975,solarUpdraftTower:{},cy:.40327666182062216,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,notBuilding:!0,locked:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.234132585247709,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.234132585247709,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.234132585247709,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.234132585247709,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.1219248971291678,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{cx:.25,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.1219248971291678,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.13333333333333333,cx:.3333333333333333,cz:-.09710562859109184,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,cz:.5913168857732756,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#ffffff",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.09710562859109184,lx:.13333333333333333,color:"#ffffff",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Tree",name:"Pine",cx:11.005948677853029,cy:-1.394052607962342,cz:3552713678800501e-30,lx:6.452035166159083,lz:9.139816695798023,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:1.76763937363111,cz:3.903941909848086,lx:7.859980732011655,ly:.1,lz:3.8503419054045027,leftJoints:["qdWCAVU64LNURAh8wmzrJW"],rightJoints:["5SVe8cv2nsyRKR6jszXPqq"],leftPoint:[3.779444955355803,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYz6mrLsdVMWcgpJiTXXtH",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.8503419054045027,selected:!1,studWidth:.1,studColor:"white",opacity:0,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.8503419054045027,rightTopPartialHeight:3.8503419054045027,locked:!0},{type:"Wall",cx:3.779444955355803,cy:.10818511446824708,cz:3.5644394786617815,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["9YsY5P23SDcYcTLJeEGMo8"],rightJoints:["eYz6mrLsdVMWcgpJiTXXtH"],leftPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355805,1.76763937363111,.06056023612846141],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdWCAVU64LNURAh8wmzrJW",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.8503419054045027,centerRoofHeight:[.5,3.8503419054045027],selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-4.08053577665585,cy:.10818511446824708,cz:3.660138480027889,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["eYz6mrLsdVMWcgpJiTXXtH"],rightJoints:["9YsY5P23SDcYcTLJeEGMo8"],leftPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5SVe8cv2nsyRKR6jszXPqq",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.442308777851562,centerRoofHeight:[-.5,3.8503419054045027],selected:!1,wallStructure:"Stud",opacity:.25,studWidth:.1,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:-1.5512691446946167,cz:3.535805069111796,lx:7.859980732011655,ly:.1,lz:3.442308777851562,leftJoints:["5SVe8cv2nsyRKR6jszXPqq"],rightJoints:["qdWCAVU64LNURAh8wmzrJW"],leftPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],relativeAngle:0,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9YsY5P23SDcYcTLJeEGMo8",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.442308777851562,selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studColor:"white",studSpacing:2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{id:"9SPVWHTRZMkvFFbvi4Y4dK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["9YsY5P23SDcYcTLJeEGMo8"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,translucent:!0,rafterSpacing:2,roofStructure:"Rafter",rise:0,ceiling:!1,locked:!0},{type:"Foundation",cx:.4816835699661557,cy:-4.8267180085139945,cz:.05,lx:9.870953390145004,ly:4.194004820393555,lz:.04867786417191091,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"91GS1aZ3DbZBjAVtatsatL",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:0,cy:0,cz:-.2,lx:.25,ly:0,lz:.6,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.1337919691157152,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,frameWidth:.06,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:1.8025200094198752,cz:3.903941909848086,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["gjFo4dGKiFsEAtvgC2uCdo"],rightJoints:["28JZn5ZqftnjWtvDA7sVWD"],leftPoint:[1.0537563027365446,1.8025200094198752,0],rightPoint:[-1.0768163528398256,1.8025200094198752,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3J2f3hD7LiPYocNLAGAHn1",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.17087314092728,rightUnfilledHeight:4.17087314092728,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:1.053756302736545,cy:.250986023416642,cz:3.5644394786617815,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["fWZF78k9YENmcxHia3M4iF"],rightJoints:["3J2f3hD7LiPYocNLAGAHn1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],rightPoint:[1.0537563027365453,1.8025200094198752,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gjFo4dGKiFsEAtvgC2uCdo",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.2501718067420615,rightUnfilledHeight:5.665479357106698,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-1.0768163528398256,cy:.250986023416642,cz:3.660138480027889,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["3J2f3hD7LiPYocNLAGAHn1"],rightJoints:["fWZF78k9YENmcxHia3M4iF"],leftPoint:[-1.0768163528398256,1.8025200094198752,0],rightPoint:[-1.0768163528398256,-1.3005479625865912,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28JZn5ZqftnjWtvDA7sVWD",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.112382106286621,rightUnfilledHeight:4.112382106286621,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:-1.3005479625865912,cz:3.535805069111796,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["28JZn5ZqftnjWtvDA7sVWD"],rightJoints:["gjFo4dGKiFsEAtvgC2uCdo"],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],rightPoint:[1.0537563027365446,-1.3005479625865912,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fWZF78k9YENmcxHia3M4iF",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.243512040075365,rightUnfilledHeight:4.243512040075365,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gAS9MDKRJP4JWvfqrqBKdy",parentId:"fWZF78k9YENmcxHia3M4iF",foundationId:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.06,windowType:"Default",archHeight:1,locked:!0},{id:"rEidR5TzysvNG1rgGa79ag",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["28JZn5ZqftnjWtvDA7sVWD"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:1.1,ceiling:!1,locked:!0},{type:"Foundation",cx:3.6575623433664717,cy:-1.54061534072674,cz:.05,lx:2.997193198016322,ly:9.17890503672627,lz:.06468312864431171,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #1",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Tree",name:"Apple",cx:-8.870480061609383,cy:-.6721812852789775,cz:0,lx:4.272747980812545,lz:4.234704800641296,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oGL2siNwwXoicUvtQoHfi3",selected:!1,locked:!0},{type:"Human",name:"Jamelia",cx:.5077215094390786,cy:-5.182357959116953,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.65,locked:!0},{type:"Human",name:"Jack",cx:-7.974613533200657,cy:-4.521571410086505,cz:8881784197001252e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.42,locked:!0},{type:"Flower",name:"Hosta",cx:-6.306441231413446,cy:-4.762303364786677,cz:4440892098500626e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1cAkMnRPZL6fG1dhWuUn14",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:6.169203623475488,cy:-5.72637309429814,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"htN99q9wA5PLZNcJh1UgLF",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.061905234310647,cy:-5.806918097592128,cz:-17763568394002505e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"j1Fmf7QNoHATgNqGSJnptk",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.621277500928149,cy:-6.190060319204097,cz:-8881784197001252e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b8aTi9NKLHSRuN9DAY2Dvd",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:5.615846305114406,cy:-5.453095801875909,cz:.040189623832702644,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"84bbtLrAVMTpW8zhkv6ac6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.558445661570947,cy:-5.148346193790616,cz:0,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7PKC5BECKBBX3d4Za7d4Du",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-5.407028367581802,cy:-5.549301025270703,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"s9wwdrqZHX68urRnmZ9bDp",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:-4.834800784349908,cy:-4.621520750635222,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vKDYbBm1LFSeCRbRGxpJzR",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-5.746710484862029,cy:-5.268820363710504,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qrfLBQvCQkPzUhnUEFDgC1",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:5.955104289170869,cy:-5.9761317798049545,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"daEJUZv3vgUrqorbyNtAdL",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:6.380681139084028,cy:-5.4372416572511035,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oCHH6YeZ2ebkct1XeVw26T",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-6.0720221613270775,cy:-5.14772584317228,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kAuo84ejkCrSVu9PCaPugg",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.6210802629879084,cy:-8.23340133659074,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kmbR9RJMfaDSwNReuSKCjQ",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:3.611880585955519,cy:-8.204961331976918,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"8bs3duj4DEPj8B5fQB6m61",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-.5688000922764606,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"xiFfAWcKYuiBh744RUaZyc",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-2.844000461382297,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wV1JQBxQxSUBFz9dC7xrav",selected:!1,locked:!0},{type:"Tree",name:"Pine",cx:11.504343484441804,cy:-.763939147024864,cz:0,lx:5.1791034594942555,lz:5.428693136268209,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iVXpvVvo7CVsBLdZiLcmV8",selected:!1,flip:!0,locked:!0},{type:"Tree",name:"Pine",cx:14.030494530217624,cy:.04081963902747532,cz:0,lx:4.05233280460769,lz:7.181542362302404,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wTP4kg9xyU48nnBEmn3ppV",selected:!1,locked:!0},{type:"Foundation",cx:.30925292274615623,cy:-1.2101326772862784,cz:.05,lx:6.745176508169567,ly:8.157824691427903,lz:.0627727643414778,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j26S3yBrW81Hpmua4v9rbN",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Wall",cx:.0036303018672041443,cy:1.418731310908802,cz:3.903941909848086,lx:6.727305402522589,ly:.3,lz:6.620718306713466,leftJoints:["9SCrAqQSk4xVacCdSJE3pn"],rightJoints:["8Vadn4BSVDAC5WjSkKfgzz"],leftPoint:[3.367283003128499,1.418731310908802,0],rightPoint:[-3.3600223993940905,1.418731310908802,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5AKBX2BV6amQvk312dBM8B",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:6.620718306713466,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.324926656434854,rightUnfilledHeight:4.324926656434854,leftTopPartialHeight:6.620718306713466,rightTopPartialHeight:6.620718306713466,locked:!0},{type:"Wall",cx:3.3672830031285006,cy:-.062237916432278606,cz:3.5644394786617815,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["dTWEdcfdTXFV5sEPVRd8z5"],rightJoints:["5AKBX2BV6amQvk312dBM8B"],leftPoint:[3.367283003128499,-1.5432071437733592,0],rightPoint:[3.367283003128503,1.418731310908802,0],relativeAngle:1.5707963267948952,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9SCrAqQSk4xVacCdSJE3pn",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:6.620718306713466,centerRoofHeight:[.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.092459386252685,rightUnfilledHeight:4.092459386252685,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:-3.3600223993940905,cy:-.062237916432278606,cz:3.660138480027889,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["5AKBX2BV6amQvk312dBM8B"],rightJoints:["dTWEdcfdTXFV5sEPVRd8z5"],leftPoint:[-3.3600223993940905,1.418731310908802,0],rightPoint:[-3.3600223993940905,-1.5432071437733592,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8Vadn4BSVDAC5WjSkKfgzz",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:5.64147421981503,centerRoofHeight:[-.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9233710526843555,rightUnfilledHeight:3.9233710526843555,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:.0036303018672041443,cy:-1.5432071437733592,cz:3.535805069111796,lx:6.727305402522589,ly:.3,lz:5.64147421981503,leftJoints:["8Vadn4BSVDAC5WjSkKfgzz"],rightJoints:["9SCrAqQSk4xVacCdSJE3pn"],leftPoint:[-3.3600223993940905,-1.5432071437733592,0],rightPoint:[3.367283003128499,-1.5432071437733592,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dTWEdcfdTXFV5sEPVRd8z5",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:5.64147421981503,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.163695339993486,rightUnfilledHeight:4.163695339993486,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["dTWEdcfdTXFV5sEPVRd8z5"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"vKXQiCBzbfpPSTJ27J8jBB",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.40953276837441766,lx:.44594377993825984,ly:.3,lz:.14548273694573843,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"r1RG4byiDKweDnNzMe6Uqt",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.31833333333333336,cy:.1,cz:-.12239672405306627,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nkKGWu3sRWjy8kWKFV8wES",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.30833333333333335,cy:.1,cz:-.09751468078404088,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e4784e1QWCibptuMbZE3Fb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4506499123046388,cy:-2.253829215918892,cz:5.495676945306635,lx:6.517117804983129,ly:.1,lz:3.1452722458300313,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"miUkiQAMUrUH9VdizU1QHd",locked:!0},{type:"Window",cx:-.040529886594876885,cy:.3,cz:.36293328834815236,lx:.6611308564654793,ly:.3,lz:.23883190909923116,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"28JZn5ZqftnjWtvDA7sVWD",parentType:"Wall",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"xq6zsNgL6KPAX41MXZ3EbC",locked:!0},{type:"Window",cx:.02441680094832896,cy:.3,cz:.35427189383741103,lx:.6933570277585752,ly:.3,lz:.2562105393925967,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4Q8KDQDxyuamkEtRJU3paR",parentType:"Wall",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"qcnFPvRmcmP1h3bepT45qh",locked:!0},{type:"Window",cx:4.296638448514275,cy:-2.708258875969741,cz:5.141848441701093,lx:.8645085564531798,ly:.1,lz:1.937214690596396,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cMbDioVwT4kfspCSxauDDf",polygonTop:[-.5,1.125032012484936],locked:!0},{type:"Window",cx:-3.3098661063241783,cy:-2.738630134883686,cz:5.118200739891894,lx:.6049071605861784,ly:.1,lz:2.2332848397709752,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vbnhFbrJ9782uVqEAWSbqW",polygonTop:[.5,.9018556681153167],locked:!0},{type:"Window",cx:1.0937607455840728,cy:.6467227885963354,cz:5.73187840674332,lx:2.4176106129913375,ly:.1,lz:.16460115006383247,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416964,0,1.5707963267948963],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"wCFZjtmrD2b8mTn1f1qano",polygonTop:[.5,1.0560439311761334],locked:!0},{type:"Window",cx:-1.0462741509941371,cy:1.4199114403224693,cz:5.8069617126253155,lx:.9242462576351369,ly:.1,lz:.1721360167476046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416961,0,4.71238898038469],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"kdtAstd8jE9ACZ3TfHUAZb",polygonTop:[-.5,.99155281262393],locked:!0},{type:"Window",cx:-1.1170172726431056,cy:.5138568052522039,cz:5.723968440623406,lx:2.596092763357134,ly:.1,lz:.082389128100567,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579611,0,4.71238898038469],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"7Y1EoQrhcqZsSLDF4LmMiA",polygonTop:[-.5,1.2214855671184548],locked:!0},{type:"Window",cx:1.0534033913747818,cy:1.2212640151421539,cz:5.765843768521558,lx:1.130053534424075,ly:.1,lz:.020226846288053643,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579612,0,1.5707963267948963],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"x4QzPw1xK8z1dYWnRSPfDD",polygonTop:[.5,1.214791037762756],locked:!0},{type:"Window",cx:.428377511975304,cy:.3,cz:.36902546903156846,lx:.11351539072017484,ly:.3,lz:.22649733563143687,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"rGAmTgsinEVfLmLsgxtKCo",locked:!0},{type:"Window",cx:-.428377511975304,cy:.3,cz:.3671875531695516,lx:.11351539072017484,ly:.3,lz:.2228215039074031,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"tcZghwrXjxrMrPYG8qWmMK",locked:!0},{type:"Window",cx:-2.887838483851968,cy:-1.5429231830507752,cz:5.741568099840816,lx:1.1156980571027848,ly:.1,lz:.006652456667148232,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"iAta14nH255gL4E1skBYr2",polygonTop:[-.5,3.135049288439095],locked:!0},{type:"Window",cx:2.9643296778973105,cy:-1.5489835426240144,cz:5.739564489243441,lx:.977937957633503,ly:.1,lz:.09523764867628905,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"p89tc6ji5qG8UFCeVeXzs6",polygonTop:[.5,3.0552575653113068],locked:!0}],cun=20,uun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.94522901824079,-1.0741381728239148,-107590488899985e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.94522901824079,-1.075138550271241,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-4.574738869546006,-17.12597647560641,2.6902980037557214],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.44146361606706,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.8575132784294428,-.32342939215259475,2.6902980037557214],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},dun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},fun=1,hun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},pun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},gun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},mun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},yun="Unknown",Aun=null,wun=null,vun=null,xun=[],bun={docid:tun,time:nun,timestamp:oun,userid:iun,owner:run,email:aun,world:lun,elements:sun,sceneRadius:cun,view:uun,graphState:dun,evolutionMethod:fun,solarPanelArrayLayoutParams:hun,solarPanelArrayLayoutConstraints:pun,evolutionaryAlgorithmState:gun,economicsParams:mun,modelType:yun,modelAuthor:Aun,modelLabel:wun,modelDescription:vun,notes:xun},Sun="tn5NXrCgVkn7A5sexifmrP",Tun="02/04/2023 01:00 pm",Pun=1675533609468,Cun="QWecNcxhyvP6j6sBN11hBsfZDau1",Run=null,Hun=null,Mun={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"M4J3+GMR, Rue de La Kasbah, Kairouan, Tunisia",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6813583,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:10.1041467},Iun=[{type:"Wall",cx:-1.5357911804424789,cy:-8.147946678658776,cz:2.268765007024547,lx:41.99999999999999,ly:.5,lz:10,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-22.535791180442477,-8.147946678658771,.25],rightPoint:[19.464208819557516,-8.147946678658784,.25],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"q6GhCTYocV8Du6Z7WCqnGz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Foundation",cx:1.290269817272435,cy:-3.5970579374045144,cz:.125,lx:65.10485687395563,ly:44.85538565072669,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#999999"},{type:"Wall",cx:19.46420881955751,cy:2.1020533213412156,cz:0,lx:20.5,ly:.5,lz:10,relativeAngle:1.5707963267948966,leftPoint:[19.464208819557516,-8.147946678658784,.25],rightPoint:[19.46420881955751,12.352053321341215,.25],leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["3u1tb8n3XMJZXYU3udLNqv"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.5357911804424824,cy:12.352053321341218,cz:0,lx:42,ly:.5,lz:10,relativeAngle:3.141592653589793,leftPoint:[19.464208819557516,12.352053321341216,.25],rightPoint:[-22.535791180442484,12.35205332134122,.25],leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3u1tb8n3XMJZXYU3udLNqv",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-22.535791180442498,cy:2.1020533213412165,cz:0,lx:20.500000000000007,ly:.5,lz:10,relativeAngle:4.712388980384689,leftPoint:[-22.535791180442484,12.35205332134122,.25],rightPoint:[-22.535791180442505,-8.147946678658787,.25],leftJoints:["3u1tb8n3XMJZXYU3udLNqv"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Human",name:"Jaah",cx:-20.815616879711254,cy:-18.576078606733773,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oS4Uf1aJoiB2V9pQqWTsVG",selected:!1,ly:.74},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.5,roofType:"Pyramid",roofStructure:"Default",wallsId:["3u1tb8n3XMJZXYU3udLNqv","pV4i6Rv9Vpys7aXEi9nnh4","tKvexMf8zrvPgydcZb5VYA","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"q6GhCTYocV8Du6Z7WCqnGz",sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Door",cx:-.4107142857142858,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,doorType:"Arched",archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"jXmzH2ciK425Fb6dH2EkVp",filled:!1},{type:"Door",cx:-.3214285714285715,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"3Ypjy6UAE7xHgadjTDfe2a",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.2321428571428572,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mMiEmbz3vkGVE8tUbXxgNQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.1428571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tPuRheQMuGYu1gmyqi6c4s",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.0535714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qCzzF9bXjrUUQcTszp1SPS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.0357142857142857,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"r6qnpYnu8yvZzEEeE2fqps",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.125,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bYotwM3kh8YucfABgu8Eot",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.2142857142857143,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bH3GWXsdZcQF9JUubCPadp",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3035714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"hgaMdHTtMAFGSJgPw6fbgW",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3928571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tcvaKKEqJwZ2KN8UScxvAs",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Wall",cx:-2.0348646464512568,cy:-10.275504500010312,cz:2.268765007024547,lx:38.88254641036014,ly:.5,lz:16,leftJoints:["iC5vVUbJMtmDkNzYUxBZPA"],rightJoints:["mM4PcE69DPCUHMXtdYUR1q"],leftPoint:[-21.47613785163133,-10.275504500010307,.1],rightPoint:[17.406408558728813,-10.275504500010317,.1],relativeAngle:-2741111892188643e-31,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tHwdHqDmQXFhmVBYpGMk1M",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:17.406408558728813,cy:-1.3101914721012853,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:["tHwdHqDmQXFhmVBYpGMk1M"],rightJoints:[],leftPoint:[17.406408558728813,-10.275504500010317,.1],rightPoint:[17.406408558728806,7.655121555807748,.1],relativeAngle:1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM4PcE69DPCUHMXtdYUR1q",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:-21.476137851631343,cy:-1.310191472101287,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:[],rightJoints:["tHwdHqDmQXFhmVBYpGMk1M"],leftPoint:[-21.476137851631336,7.655121555807748,.1],rightPoint:[-21.47613785163135,-10.275504500010321,.1],relativeAngle:-1.5707963267948977,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iC5vVUbJMtmDkNzYUxBZPA",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{id:"wyopmFLrEU8Q6F3Eo2E8qH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.5,wallsId:["iC5vVUbJMtmDkNzYUxBZPA","tHwdHqDmQXFhmVBYpGMk1M","mM4PcE69DPCUHMXtdYUR1q"],selected:!1,sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Foundation",cx:1.7183157358311596,cy:-.28833946443478364,cz:.05,lx:53.43283132966065,ly:36.15762103719206,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hNbyNzvcTVK1vEJxa83hcL",selected:!1,color:"#999999"},{type:"Window",cx:-.4346423153885066,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq5v5MiQZt5qstbgFWnvG5",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.32662469854639264,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tnAiVDN8QFPpM8tgevRmcN",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.21860708170427864,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3nMYyTwN3Em3zi1cHJC4sf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.1105894648621647,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cCAyiJ9wpmzcPpyPdhfiCf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.0025718480200507404,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eez2P3itr5bZkDqccZV8JD",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10544576882206322,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kUi59wGAijZzpxe2ea5yGk",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21346338566417716,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5BkQRXptjCjpMLBbuit7LG",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.32148100250629114,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wW8MUuXM3xqHEL2sbQVtzB",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42949861934840516,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ccgRRcvFN2ruATRvwGX84y",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.39880952380952384,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"i5fduT9idUyGfEykeAwxhP",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.30952380952380953,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"fRizbSvKJ8g4Q7BkTDodnJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.22023809523809523,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"e1sFSDmTNZ4sZ9Y1VTweWG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.13095238095238093,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4JvvxD5ReU3HCb3rrCJfqu",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.04166666666666664,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rxe4vXzmMs9ks1UPKMsMHJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.047619047619047644,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"qM4GDTxt6ZN2Tk8zN9epmX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.13690476190476195,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"gWzssvMidARJ4cQ7NE4iEX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.22619047619047625,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"wVBpJ6rUX7jujyXvbCDuGG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.3154761904761905,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rywUBEaEaD2kzBC78kTd66",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.4047619047619048,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4sh9rckArBRiLDTvRhk9XE",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"4yyor28faKUByr4PZBcCtd"},{type:"Wall",cx:-2.0348646464512603,cy:7.655121555807748,cz:0,lx:38.88254641036015,ly:.5,lz:16,leftJoints:["mM4PcE69DPCUHMXtdYUR1q"],rightJoints:["iC5vVUbJMtmDkNzYUxBZPA"],leftPoint:[17.406408558728813,7.655121555807748,.1],rightPoint:[-21.476137851631336,7.655121555807748,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2mZ55xAX1KuR3Q2dngP1w",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Window",cx:-.43652041374223555,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u5zqDbkaAjTXDXvkwuoihC",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3285027969001216,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kKyDa7cDgjAnQgNANR1HWe",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.22048518005800757,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nw4CtWvmwcVC5Xe1THkFLF",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.11246756321589363,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x6kokyu7Qezd9q5C3o2tsm",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.00444994637377967,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fnjqZxGUX54z9mXbXLiiRE",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10356767046833429,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tdwDQUv17oBgAFyg3P4xM6",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21158528731044823,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hUp1krohSEg7azNVaFn5Vi",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3196029041525622,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rnUJCj9zp9Q9MtSBUyxpSr",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42762052099467623,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bDgdCWe9fUHArD8KxnxhgG",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"mwADv6B5ue7JfsfTJPh6bK"},{type:"Foundation",cx:27.211897808892417,cy:-2.277125937112275,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jo2xWjh3Cc1HQacSqq3RwZ",enableGroupMaster:!0},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:3.1415926535897927,leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],leftJoints:["npFbHBHE2K2JqNLhKJ6X3t"],rightJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"63M4Ay9XbnqNvAk8QywH63",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,relativeAngle:-2.3957214089984347,leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],leftJoints:["63M4Ay9XbnqNvAk8QywH63"],rightJoints:["pkGthR3DucyAx4LwcC1Kdd"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"cJ3MHxSdHF6NBdtBsFYUrC",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,relativeAngle:-1.5707963267948966,leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],leftJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],rightJoints:["myGwrCaTTUQ5A7LpQkLGdD"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"pkGthR3DucyAx4LwcC1Kdd",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,relativeAngle:-.7818940174543654,leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],leftJoints:["pkGthR3DucyAx4LwcC1Kdd"],rightJoints:["167KXvNm8cDcHPx8xW946K"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"myGwrCaTTUQ5A7LpQkLGdD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:0,leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],leftJoints:["myGwrCaTTUQ5A7LpQkLGdD"],rightJoints:["4N88hDYexmoMCfgkuoD5Rh"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"167KXvNm8cDcHPx8xW946K",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,relativeAngle:2.356215779952568,leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],leftJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],rightJoints:["63M4Ay9XbnqNvAk8QywH63"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"npFbHBHE2K2JqNLhKJ6X3t",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],leftJoints:["4N88hDYexmoMCfgkuoD5Rh"],rightJoints:["npFbHBHE2K2JqNLhKJ6X3t"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"2Ew2MEjMkmHhJiQ9oqAGU2",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,relativeAngle:.7852978318515466,leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],leftJoints:["167KXvNm8cDcHPx8xW946K"],rightJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"4N88hDYexmoMCfgkuoD5Rh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["oNTQ9kGJLR6NE6X37waKe5"],rightJoints:["p8peNzDRqcaFDtvEdTohPZ"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adnnHLPEXD64e7HP26zx36",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["adnnHLPEXD64e7HP26zx36"],rightJoints:["pvG7hHR36xfJmEyp1eS9YY"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p8peNzDRqcaFDtvEdTohPZ",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["p8peNzDRqcaFDtvEdTohPZ"],rightJoints:["ewYXhBGEZue5LMkkkDNb2N"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pvG7hHR36xfJmEyp1eS9YY",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["pvG7hHR36xfJmEyp1eS9YY"],rightJoints:["5TCNcDuH6LTN7MuR8NFXaf"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewYXhBGEZue5LMkkkDNb2N",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["ewYXhBGEZue5LMkkkDNb2N"],rightJoints:["jF6FEFY4L9ZBSgjp7949eF"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5TCNcDuH6LTN7MuR8NFXaf",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["b3SjNidDoApoDQgAZjBhRR"],rightJoints:["adnnHLPEXD64e7HP26zx36"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNTQ9kGJLR6NE6X37waKe5",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["jF6FEFY4L9ZBSgjp7949eF"],rightJoints:["oNTQ9kGJLR6NE6X37waKe5"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"b3SjNidDoApoDQgAZjBhRR",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["5TCNcDuH6LTN7MuR8NFXaf"],rightJoints:["b3SjNidDoApoDQgAZjBhRR"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jF6FEFY4L9ZBSgjp7949eF",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cx:27.7105671464116,cy:-2.6420189029493315,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"idmo7S3eXBpD6VWYDG7diy",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["4N88hDYexmoMCfgkuoD5Rh","2Ew2MEjMkmHhJiQ9oqAGU2","npFbHBHE2K2JqNLhKJ6X3t","63M4Ay9XbnqNvAk8QywH63","cJ3MHxSdHF6NBdtBsFYUrC","pkGthR3DucyAx4LwcC1Kdd","myGwrCaTTUQ5A7LpQkLGdD","167KXvNm8cDcHPx8xW946K"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"ask5m4JZ2uoEk2cEnnLbsK",rise:0,ceiling:!1},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["p9FmVKK28qciXfgD3M1K6V"],rightJoints:["nApCmMqRMThE5A5HdfM3dh"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fRXGTknc5ZYRa28V8BWwuh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["fRXGTknc5ZYRa28V8BWwuh"],rightJoints:["4KAheoavQjSxkpwUJhTcg7"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nApCmMqRMThE5A5HdfM3dh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["nApCmMqRMThE5A5HdfM3dh"],rightJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4KAheoavQjSxkpwUJhTcg7",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["4KAheoavQjSxkpwUJhTcg7"],rightJoints:["ppMSBZRCq12eT8z3NB6hMS"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6UtLwWPfxSz1Nn8LJyUZiD",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],rightJoints:["dQ7dD99j57UBUw5JhK5Ym8"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ppMSBZRCq12eT8z3NB6hMS",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["iNFasQAxKLM2g211nuNb2z"],rightJoints:["fRXGTknc5ZYRa28V8BWwuh"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9FmVKK28qciXfgD3M1K6V",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["dQ7dD99j57UBUw5JhK5Ym8"],rightJoints:["p9FmVKK28qciXfgD3M1K6V"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNFasQAxKLM2g211nuNb2z",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["ppMSBZRCq12eT8z3NB6hMS"],rightJoints:["iNFasQAxKLM2g211nuNb2z"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dQ7dD99j57UBUw5JhK5Ym8",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Foundation",cx:27.6576948812141,cy:-2.506928881033054,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nSuM9UkMkLHBgCAuUp64m1",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["p9FmVKK28qciXfgD3M1K6V","fRXGTknc5ZYRa28V8BWwuh","nApCmMqRMThE5A5HdfM3dh","4KAheoavQjSxkpwUJhTcg7","6UtLwWPfxSz1Nn8LJyUZiD","ppMSBZRCq12eT8z3NB6hMS","dQ7dD99j57UBUw5JhK5Ym8","iNFasQAxKLM2g211nuNb2z"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",id:"8T3htfZzkyzGKAg9MjWEi4",rise:13.522672727906091,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["b3SjNidDoApoDQgAZjBhRR","oNTQ9kGJLR6NE6X37waKe5","adnnHLPEXD64e7HP26zx36","p8peNzDRqcaFDtvEdTohPZ","pvG7hHR36xfJmEyp1eS9YY","ewYXhBGEZue5LMkkkDNb2N","5TCNcDuH6LTN7MuR8NFXaf","jF6FEFY4L9ZBSgjp7949eF"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",id:"dyG5Lv9BjBabdoCAJRrzex",rise:0,ceiling:!1},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["wt8f2UuyWEu5744tfT81tN"],rightJoints:["mUct1Mv8YXbfrstcjehPpa"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1A1n4avbSRXWKghQMw9QmS",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["1A1n4avbSRXWKghQMw9QmS"],rightJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mUct1Mv8YXbfrstcjehPpa",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["mUct1Mv8YXbfrstcjehPpa"],rightJoints:["trsYgSjY5YRLrdedvaJSHE"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5WJdP5E99dMPaLFTQ6cg6Q",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],rightJoints:["1XHXV2QxJeTydiieFTLRAN"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trsYgSjY5YRLrdedvaJSHE",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["trsYgSjY5YRLrdedvaJSHE"],rightJoints:["e41wz75u2ryRdJixSo4bbC"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1XHXV2QxJeTydiieFTLRAN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["rwkRVKiYfYKkrL5fSm48ht"],rightJoints:["1A1n4avbSRXWKghQMw9QmS"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wt8f2UuyWEu5744tfT81tN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["e41wz75u2ryRdJixSo4bbC"],rightJoints:["wt8f2UuyWEu5744tfT81tN"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rwkRVKiYfYKkrL5fSm48ht",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["1XHXV2QxJeTydiieFTLRAN"],rightJoints:["rwkRVKiYfYKkrL5fSm48ht"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e41wz75u2ryRdJixSo4bbC",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{id:"oxncVFS4dMKc2b6nwpauSP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["rwkRVKiYfYKkrL5fSm48ht","wt8f2UuyWEu5744tfT81tN","1A1n4avbSRXWKghQMw9QmS","mUct1Mv8YXbfrstcjehPpa","5WJdP5E99dMPaLFTQ6cg6Q","trsYgSjY5YRLrdedvaJSHE","1XHXV2QxJeTydiieFTLRAN","e41wz75u2ryRdJixSo4bbC"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.000122008937623,cy:-2.4456470612698347,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9CoHzygyKEYpDGTpmZP3qF",selected:!1},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],rightJoints:["oRNf7bY3AJx3zVpaTdb4zu"],leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9GySPDZNNZvFp6JaddRiDB",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,leftJoints:["9GySPDZNNZvFp6JaddRiDB"],rightJoints:["4nY35MHMDAs2QdKy4qH4ya"],leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oRNf7bY3AJx3zVpaTdb4zu",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,leftJoints:["oRNf7bY3AJx3zVpaTdb4zu"],rightJoints:["wYoS3whcRTi53dM2ct7qM2"],leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4nY35MHMDAs2QdKy4qH4ya",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,leftJoints:["4nY35MHMDAs2QdKy4qH4ya"],rightJoints:["mCZwmWyb4fsNj2wmYQBvsz"],leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wYoS3whcRTi53dM2ct7qM2",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["wYoS3whcRTi53dM2ct7qM2"],rightJoints:["5kERhDJVYnRwidcZHzNwPz"],leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mCZwmWyb4fsNj2wmYQBvsz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,leftJoints:["6prLNGnRe7BKvuxjsqwhNV"],rightJoints:["9GySPDZNNZvFp6JaddRiDB"],leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rGMwJ6KNdYyNwmQKhW2Nh4",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,leftJoints:["5kERhDJVYnRwidcZHzNwPz"],rightJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6prLNGnRe7BKvuxjsqwhNV",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,leftJoints:["mCZwmWyb4fsNj2wmYQBvsz"],rightJoints:["6prLNGnRe7BKvuxjsqwhNV"],leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5kERhDJVYnRwidcZHzNwPz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{id:"uMr4G8iwQhvVEE8TbWYbgJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["5kERhDJVYnRwidcZHzNwPz","6prLNGnRe7BKvuxjsqwhNV","rGMwJ6KNdYyNwmQKhW2Nh4","9GySPDZNNZvFp6JaddRiDB","oRNf7bY3AJx3zVpaTdb4zu","4nY35MHMDAs2QdKy4qH4ya","wYoS3whcRTi53dM2ct7qM2","mCZwmWyb4fsNj2wmYQBvsz"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.499667294833905,cy:-2.142020498769739,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1oxk3P52oSn4HGaJ5d21cE",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["mMt5DmNXZy5oG4vq89vafC"],rightJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nr2YdH7dGwCs9FLqqqGjFg",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["nr2YdH7dGwCs9FLqqqGjFg"],rightJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4p4RhAQUE1YZ6FvTNz5vv4",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],rightJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLwkBCLjpPZP6KYK5Bt7J8",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],rightJoints:["wynoJj85BW9QJZxa23rRom"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uWfnz1ukohHZ8q7Z4KWAP",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],rightJoints:["kCyrQp6qPZF1NC78PVWkyR"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wynoJj85BW9QJZxa23rRom",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],rightJoints:["nr2YdH7dGwCs9FLqqqGjFg"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mMt5DmNXZy5oG4vq89vafC",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["kCyrQp6qPZF1NC78PVWkyR"],rightJoints:["mMt5DmNXZy5oG4vq89vafC"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ho9ZWX9Y7gps9CuiwCZxjF",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["wynoJj85BW9QJZxa23rRom"],rightJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kCyrQp6qPZF1NC78PVWkyR",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{id:"eGKywH11tWPx9igpC5XjNU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["mMt5DmNXZy5oG4vq89vafC","nr2YdH7dGwCs9FLqqqGjFg","4p4RhAQUE1YZ6FvTNz5vv4","mLwkBCLjpPZP6KYK5Bt7J8","7uWfnz1ukohHZ8q7Z4KWAP","wynoJj85BW9QJZxa23rRom","kCyrQp6qPZF1NC78PVWkyR","ho9ZWX9Y7gps9CuiwCZxjF"],selected:!1,rise:13.522672727906091,ceiling:!1},{type:"Foundation",cx:-26.07251778331903,cy:-2.351761746510464,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9Y1kU3q99HMAW1GDxevTYM",selected:!1},{type:"Wall",cx:-.9902356029479495,cy:-11.912514576226425,cz:2.268765007024547,lx:36.926563179741635,ly:.5,lz:17,leftJoints:["rmJMuUkEt1MeMCUMuSJyMP"],rightJoints:["phirdj4sqaQKeToCxzfiMH"],leftPoint:[-19.45351719281877,-11.912514576226423,.1],rightPoint:[17.47304598692287,-11.912514576226428,.1],relativeAngle:-14431536702349665e-32,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i77w1Es8Z5SjkjpQ5nMhD5",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mWaGM2hsTBxoCRqCfarD1y",parentId:"i77w1Es8Z5SjkjpQ5nMhD5",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Wall",cx:17.47304598692286,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],rightJoints:[],leftPoint:[17.47304598692287,-11.912514576226428,.1],rightPoint:[17.473045986922852,2.239006865763245,.1],relativeAngle:1.570796326794898,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"phirdj4sqaQKeToCxzfiMH",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-19.453517192818786,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:[],rightJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],leftPoint:[-19.453517192818783,2.239006865763245,.1],rightPoint:[-19.45351719281879,-11.912514576226428,.1],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rmJMuUkEt1MeMCUMuSJyMP",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-.9902356029479567,cy:2.239006865763245,cz:0,lx:36.92656317974165,ly:.5,lz:17,leftJoints:["phirdj4sqaQKeToCxzfiMH"],rightJoints:["rmJMuUkEt1MeMCUMuSJyMP"],leftPoint:[17.47304598692287,2.239006865763245,.1],rightPoint:[-19.453517192818783,2.239006865763245,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eKjiWm3px73qKLcoG9tGHu",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:null,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"dhr8kv5642kt62iFhTt4ta",parentId:"eKjiWm3px73qKLcoG9tGHu",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Foundation",cx:.9431450312565914,cy:3.149229192376307,cz:.05,lx:41.18193719933953,ly:25.196736647897943,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["phirdj4sqaQKeToCxzfiMH"],ridgeWidth:2.66901172469158,textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",id:"vL7dGWufEhTghRwUx8yTvj",rise:1.907584707016376,ceiling:!1},{type:"Human",name:"Jiya",cx:-18.787647876406897,cy:-18.538338993489504,cz:.125,lx:.6,ly:.6,lz:1.74,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"muPJhyAEwPwvd29CyHNPTv",selected:!1},{type:"Tree",name:"Coconut",cx:24.642500087694035,cy:-15.595852113993274,cz:.12499999999999645,lx:7.10302446035018,lz:11.247303362702601,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fjFxbSnebLaGdvEjgFeKBY",selected:!1},{type:"Tree",name:"Coconut",cx:21.66117439174871,cy:-16.376771590483912,cz:.125,lx:4.8301750266215455,lz:7.467800914861559,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fJBtdZnifxUnAi1A2mQVwv",selected:!1}],zun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[13.204078062477329,8.198113820431859,8738290977654438e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[13.204078062477329,8.197963813764718,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[40.16161458870258,-83.52840108412623,20.640119356575983],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:12.604988194492185,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#8c9763",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.0849566827898878,4.932309755028921,20.640119356575976],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360}},Dun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Eun=1,kun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Fun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Lun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Wun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Nun=[],Uun={docid:Sun,time:Tun,timestamp:Pun,userid:Cun,owner:Run,email:Hun,world:Mun,elements:Iun,view:zun,graphState:Dun,evolutionMethod:Eun,solarPanelArrayLayoutParams:kun,solarPanelArrayLayoutConstraints:Fun,evolutionaryAlgorithmState:Lun,economicsParams:Wun,notes:Nun},Bun="kfhYJJUbjvMzonQRyiPc3j",jun="02/03/2023 08:07 pm",Yun=1675472845072,Oun="QWecNcxhyvP6j6sBN11hBsfZDau1",_un=null,Vun=null,Gun={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 9:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Xun=[{ly:17.756863619774798,solarUpdraftTower:{},parentId:"Ground",cx:-2.4293224579513826,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.4049185488212945,type:"Foundation",solarPowerTower:{},lx:35.28188764969263,lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.5,textureType:"Foundation Texture #2",enableGroupMaster:!0,color:"#ffffff"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:24.269954502361394,relativeAngle:3.141592653589793,lz:6,roofId:"eX962ry384m9Aq9zJiKfY6",ly:.3,rightPoint:[-9.99610487226133,4.83201801478668,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #4",leftPoint:[14.27384963010006,4.832018014786678,1],type:"Wall",rightRoofHeight:6,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:6,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:2.1388723789193644,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:4.83201801478668,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:14.273849630100056,leftPoint:[14.273849630100056,-5.54086475965909,1],cy:-.35442337243620514,leftRoofHeight:6,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[14.27384963010006,4.83201801478668,1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10.37288277444577,normal:[0,0,1],lz:6,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",rightRoofHeight:6,roofId:"eX962ry384m9Aq9zJiKfY6",color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{lx:10.37288277444577,windows:[],lz:6,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"eX962ry384m9Aq9zJiKfY6",selected:!1,cy:-.35442337243620514,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #4",rightRoofHeight:6,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948968,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-9.99610487226133,4.83201801478668,1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:6,ly:.3,cx:-9.99610487226133,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,cx:2.1388723789193644,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[14.27384963010006,-5.54086475965909,1],cz:2.268765007024547,textureType:"Wall Texture #4",cy:-5.54086475965909,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"eX962ry384m9Aq9zJiKfY6",leftPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],ly:.3,lz:6,leftRoofHeight:6,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:6,lx:24.269954502361394,color:"#ffffff",wallStructure:"Default",opacity:0,studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.8995410156020984,cy:1.1382243316181326,cz:2.2408122612280286,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.37294748494921137,cy:-.10216350253359563,cz:1.9496749649980285,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[-.37294748494921315,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-3.4261345462549855,cy:-.10216350253359563,cz:2.228839888904333,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.8995410156020984,cy:-1.3425513366853248,cz:2.268765007024547,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,-1.3425513366853248,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Foundation",cx:14.094080413269129,cy:.15570536150984227,cz:.05,lx:8.775727447038646,ly:4.909042441548677,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",sideColor:"#4d4d4d",rise:2.0481021935471038,ceiling:!1},{type:"Window",cx:.0021539197282083927,cy:.1,cz:.3488182697258943,lx:.5686474602805061,ly:.2,lz:.18392000793749944,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Wall",cx:-.20317717304724836,cy:.8008815905246398,cz:2.2408122612280286,lx:1.7317721396367636,ly:.2,lz:12.024186118737006,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.6627088967711334,.8008815905246398,0],rightPoint:[-1.0690632428656301,.8008815905246398,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.6627088967711334,cy:.06442649426996133,cz:2.2301039869226305,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.6627088967711331,-.6720286019847171,0],rightPoint:[.6627088967711336,.8008815905246398,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.0690632428656301,cy:.06442649426996133,cz:2.228839888904333,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.0690632428656301,.8008815905246398,0],rightPoint:[-1.0690632428656301,-.6720286019847171,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.20317717304724825,cy:-.6720286019847171,cz:2.268765007024547,lx:1.7317721396367638,ly:.2,lz:12.024186118737006,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.0690632428656301,-.6720286019847171,0],rightPoint:[.6627088967711336,-.6720286019847171,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"14aRqq6MKm9VsEB7xehwCw",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #7",thickness:.15,wallsId:["gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ","9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa"],selected:!1,sideColor:"#4d4d4d",rise:7.313111372629006,ceiling:!1},{type:"Foundation",cx:12.425615366004104,cy:.028931059233684664,cz:.05,lx:3.229114860580372,ly:2.221848349715204,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1},{type:"Human",name:"Jaye",cx:16.450422145232615,cy:-.22113841806491535,cz:.5,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"iDEwVvzHLgt4QuBLaRKJtz",selected:!1,ly:.55},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eX962ry384m9Aq9zJiKfY6",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],sideColor:"#4d4d4d",rise:3,ceiling:!1},{type:"Door",cx:-8950612010673349e-32,cy:0,cz:-.3331657120178574,lx:.8061994583201278,ly:0,lz:.3336685759642853,textureType:"Door Texture #5",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ekcJVu2iDNfD8vCRPJWcfY",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9oFXDcsdcyJ89HEsb2DDAG",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssU5SYZXCGdgbbL6FKEC5P",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fptVfz87nopSTdqFchXqam",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dBjY8chWcXqTSEjTPuyYBe",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ukFf3NbtSoWEm19XdABfLF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e66yZnH635KK4nUZeZJouj",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.004820260778727587,cy:.1,cz:.5500000000000002,lx:.1253267802469174,ly:.3,lz:.6999999999999998,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8FUv4v48DhXb1UYjQUTX7D",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5yZFsPzLz262PvuKKqo6BT",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pRx46Qg86s1FgV9Tkkwhkb",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.13496730180437258,ly:0,lz:.4166666666666667,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Zxx9R9RT39QbRUhwQji79",doorType:"Default",archHeight:1,filled:!0},{type:"Cuboid",cx:15.482678805847527,cy:.03501810630543489,cz:.5,lx:.5,ly:3,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"7HoCBk9FUvPFeTLHCCJTNC"},{type:"Cuboid",cx:15.982678805847527,cy:.03501810630543489,cz:.4,lx:.5,ly:3,lz:.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wT8Ce4Jri1xraPwAe1CNeM",selected:!1},{type:"Cuboid",cx:16.482678805847527,cy:.03501810630543489,cz:.3,lx:.5,ly:3,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kygu5kCeJayDbMCovLE74e",selected:!1},{type:"Cuboid",cx:16.982678805847527,cy:.03501810630543489,cz:.2,lx:.5,ly:3,lz:.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"x3KMwKP4LZeaVL1t9Sa9pC",selected:!1},{type:"Cuboid",cx:16.454615930533183,cy:-1.723835668236857,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"dCP1VYfhvq16F8TKTUaTJy",selected:!1},{type:"Cuboid",cx:16.45823999757701,cy:1.798322131122021,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7CauidfWWfvxRjMT2AFDZ7",selected:!1},{type:"Human",name:"Jamelia",cx:-.11177369144009575,cy:.35103184354339856,cz:.10000000149011612,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"grVotAf51uhbEVGMStvWX3",id:"aT4DrrYnjHCzoD1VbK7qaQ",selected:!1,ly:.65},{type:"Tree",name:"Spruce",cx:-9.332343084456326,cy:-7.670721874044395,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"efGrH4MExjf1MncqygtFYz",selected:!1},{type:"Tree",name:"Spruce",cx:-2.4224793125813298,cy:-7.597212684981861,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mVFRaCS8mpYH1fWycvYh2A",selected:!1},{type:"Tree",name:"Spruce",cx:5.7002860788249174,cy:-7.486948901388057,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"76Tg87omCPA31TcVqXcmTm",selected:!1},{type:"Tree",name:"Spruce",cx:12.904186606949914,cy:-7.413439712325518,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9tspspKKMvyRj8ZAXB1S5M",selected:!1},{type:"Tree",name:"Spruce",cx:-9.185324706331325,cy:6.884097560337873,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jB2hT6s8JMuu4hvTQGpet3",selected:!1},{type:"Tree",name:"Spruce",cx:5.884059051481165,cy:6.773833776744068,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4721EtxPvv42oUzmx3KVyF",selected:!1},{type:"Tree",name:"Spruce",cx:-1.9163053006129438,cy:6.972061722697195,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5JeYYLhDB98wnUERTPXwhK",selected:!1},{type:"Tree",name:"Spruce",cx:12.830677417887415,cy:6.810588371275337,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"muLKxWCdfcK2eTHLBsDxzY",selected:!1},{type:"Cuboid",cx:17.482678805847527,cy:.03501810630543489,cz:.1,lx:.5,ly:3,lz:.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"grVotAf51uhbEVGMStvWX3",selected:!1},{type:"Flower",name:"White Flower",cx:15.126182941215411,cy:2.0688216490527616,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oTAnTfR89oZPsyKVkbpY4L",selected:!1},{type:"Flower",name:"White Flower",cx:15.15556957531615,cy:3.2795889445752495,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i17rLiCzdL5NmRJGR4y1CS",selected:!1},{type:"Flower",name:"White Flower",cx:15.217151871229412,cy:4.479113375165792,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cH33zk4JiguncGCgw5dgge",selected:!1},{type:"Flower",name:"White Flower",cx:15.072373579996741,cy:-2.4484335890262776,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"w8aD5THe2gjzneE5VAcSXT",selected:!1},{type:"Flower",name:"White Flower",cx:15.073985679510187,cy:-3.688355208079927,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"onzxSqcVAm3FyLWanpmjH2",selected:!1},{type:"Flower",name:"White Flower",cx:15.176965591305198,cy:-5.044043742265718,cz:.4999999999999991,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j3jTvCkw7njipy5x4UrSpB",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.090503333801388,cy:2.6795845901554154,cz:.5,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gQ7GqXx4tKL7uBJwLrMcA6",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.11041357320055,cy:3.9081085710241874,cz:.4999999999999991,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6HJcrgKqYqvU7BYpYwf1Se",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.913002609189407,cy:-3.0774482324317782,cz:.5000000000000009,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyshpZCEierrdgAyXaBcst",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.941871873418721,cy:-4.383327895714419,cz:.5,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kAeRGtsWdmxUoAQPB5P6KJ",selected:!1},{type:"Human",name:"Jade",cx:16.85821378704074,cy:-2.487104433327495,cz:.5,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5quA9K9PbuFux9inPinoZp",selected:!1,ly:.48},{type:"Human",name:"Jett",cx:-.04509947681173543,cy:-.12777417813363456,cz:.300000011920929,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"kygu5kCeJayDbMCovLE74e",id:"qNbt2kqLcnpAuYiCzMr8qu",selected:!1,ly:.6},{type:"Human",name:"Jedi",cx:16.573220428178367,cy:-1.1124659446434038,cz:.5,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gHn3DWePGHkUPuTQBYNFA7",selected:!1,ly:.56},{type:"Human",name:"Jennifer",cx:16.90812280276899,cy:1.1730238573514669,cz:.5,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pkNrn5a7PGHK1vUXoNbNtp",selected:!1,ly:.45},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qS8bPerGLqgrEhg3VdRMna",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nmpua75umkgQmm3afavHG4",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN2d9MiAtthczP5v35Bn9Z",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rt5vtqFNGBs4uVevaa5SHr",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iqKTDEyqgoDU5cgt71CFea",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vHTxpdJckKKr3ePx8aFQpY",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7MSjvWxXyqcQDbp8fs3ZDw",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5vsADBuvCZtK48YRH9MYR9",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"d6tpsz63SWdyNJ6pv74f1S",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qLXWzVH589njSMD4htbaDZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rLKBLFR9JVQSkBFbLvtmjw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3VPrjTctjaZkp9jMcnmk9K",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXBTXx15DGSCH8grL279or",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"58KzRG1iYAZNHC4ZV2DbrP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1}],Jun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[5.218957131029783,.6180582017777921,6180856740847945e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[5.218957131029783,.6180382008888045,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.977248222176474,21.907448743442465,8.268031438861318],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:47.83311959586008,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-3.993253335690816,-7.535606531970473,7.708620369560713],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Kun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},qun=1,$un={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Qun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Zun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},edn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},tdn=[],ndn={docid:Bun,time:jun,timestamp:Yun,userid:Oun,owner:_un,email:Vun,world:Gun,elements:Xun,view:Jun,graphState:Kun,evolutionMethod:qun,solarPanelArrayLayoutParams:$un,solarPanelArrayLayoutConstraints:Qun,evolutionaryAlgorithmState:Zun,economicsParams:edn,notes:tdn},odn="u1WXQV62cNL8GXN8gP2Uro",idn="02/03/2023 08:06 pm",rdn=1675472763047,adn="QWecNcxhyvP6j6sBN11hBsfZDau1",ldn=null,sdn=null,cdn={solarRadiationHeatmapGridCellSize:1,date:"4/22/2022, 7:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},udn=[{type:"Wall",cx:-.3764576456166644,cy:.7527432813254578,cz:2.2408122612280286,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:1.03634245227299,cy:-.6129469247080586,cz:1.9496749649980285,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.03634245227299,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],relativeAngle:1.5707963267948961,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,wallStructure:"Default",opacity:.5,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.7892577435063188,cy:-.6129469247080586,cz:2.228839888904333,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.3764576456166644,cy:-1.9786371307415749,cz:2.268765007024547,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,-1.9786371307415749,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:9.88256564470575,cy:-18.302742621755318,cz:.05,lx:5.358597805586726,ly:4.404021553494953,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Wall",cx:-.5591812718525784,cy:10.613663444712508,cz:2.2408122612280286,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.32337762972749395,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:.32337762972749395,cy:9.751643903669297,cz:2.2301039869226305,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.32337762972749395,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,10.613663444712508,.09656797003029352],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.4417401734326472,cy:9.751643903669297,cz:2.228839888904333,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.5591812718525784,cy:8.889624362626087,cz:2.268765007024547,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,8.889624362626087,.09656797003029352],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:14.958059471973794,cy:-10.376627749775599,cz:.05,lx:3.9130970991852903,ly:26.13645284205659,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Foundation",cx:7.577351540057415,cy:-22.562392942244166,cz:.05,lx:53.002191940731585,ly:17.343791633088202,lz:.1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3JxHzzEsV9Da6tuGXPViKy",color:"#ffffff",locked:!1},{type:"Wall",cx:0,cy:6.071605429917916,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:3.141592653589793,leftPoint:[20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,6.071605429917916,0],leftJoints:["4R59jrQvJmq95aQT2Dv649"],rightJoints:["iLwQ5UBgBL3sonqBcqFoC5"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"eaUtdoPPg5CEenHZ1cZ7yL",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:-1.5707963267948966,leftPoint:[-20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,-6.577572549077742,0],leftJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],rightJoints:["puEFSm14QZKVxz67Z67N16"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"iLwQ5UBgBL3sonqBcqFoC5",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.577572549077742,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:0,leftPoint:[-20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,-6.577572549077742,0],leftJoints:["iLwQ5UBgBL3sonqBcqFoC5"],rightJoints:["4R59jrQvJmq95aQT2Dv649"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"puEFSm14QZKVxz67Z67N16",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:1.5707963267948966,leftPoint:[20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,6.071605429917916,0],leftJoints:["puEFSm14QZKVxz67Z67N16"],rightJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"4R59jrQvJmq95aQT2Dv649",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa","gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",id:"uGKYfaStAHZiUBuVtKS6dW",locked:!1,rise:8.555812068493054,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R","beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aAQtPcYcdvnjKLxjxpN6fj",locked:!1,rise:1.975489281315383,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"3pZdU1AL5k6hknNK4gDLPK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Human",name:"Jack",cx:24.03461056644682,cy:-.9488790909164386,cz:.10000000149011613,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"3LWACNGJBDVRSGmB2iRsbK",selected:!1,locked:!1,ly:.42},{type:"Wall",cx:0,cy:6,cz:0,lx:27,ly:.3,lz:10,leftJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],rightJoints:["iwUy27fkuqc81ipg2dgQZa"],leftPoint:[13.5,6,0],rightPoint:[-13.5,6,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"agFV6snz1JdtWvd4JR2cDW",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["agFV6snz1JdtWvd4JR2cDW"],rightJoints:["c7vcy9r1yDujdJxgxp5TzY"],leftPoint:[-13.499999999999998,6,0],rightPoint:[-13.5,-6.5,0],relativeAngle:4.71238898038469,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"iwUy27fkuqc81ipg2dgQZa",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.5,cz:0,lx:27,ly:.3,lz:10,leftJoints:["iwUy27fkuqc81ipg2dgQZa"],rightJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],leftPoint:[-13.5,-6.5,0],rightPoint:[13.5,-6.5,0],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"c7vcy9r1yDujdJxgxp5TzY",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["c7vcy9r1yDujdJxgxp5TzY"],rightJoints:["agFV6snz1JdtWvd4JR2cDW"],leftPoint:[13.5,-6.5,0],rightPoint:[13.5,6,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"bJ26Y2Ztj2wnvSCwMVZbSj",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"cHg19Gk5NDmFTLbhEqkpEc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["agFV6snz1JdtWvd4JR2cDW"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:10.745099874695102,cy:-19.099061544436797,cz:.05,lx:34.0956484513338,ly:17.139247765633556,lz:.1,normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aXmgoxjAJPULF92Dwj9wXo",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["rbfyBq5mDVjxhT7cHiZa6r"],rightJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wnNdNWw7uCJtb791q2h2kv",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tFV6qvitr5PH2Ab2oo3oSn"],rightJoints:["wnNdNWw7uCJtb791q2h2kv"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"rbfyBq5mDVjxhT7cHiZa6r",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",wallStructure:"Default",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["wnNdNWw7uCJtb791q2h2kv"],rightJoints:["tFV6qvitr5PH2Ab2oo3oSn"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"evmZhzFqQUpVbc7Pz1QgMJ",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],rightJoints:["rbfyBq5mDVjxhT7cHiZa6r"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tFV6qvitr5PH2Ab2oo3oSn",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xgcfKKQgeBMWdofPE3DXN2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["wnNdNWw7uCJtb791q2h2kv","evmZhzFqQUpVbc7Pz1QgMJ","tFV6qvitr5PH2Ab2oo3oSn","rbfyBq5mDVjxhT7cHiZa6r"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-10.384377691463378,cy:-33.417453285003795,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gddwwsiW9SAwt9BDP8qhGA",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["juENJWiqAWw4xaJKCkBnBu"],rightJoints:["kR4ctZiA4puw1EFB5KiG5E"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"b44mniuvoz9x2PrRVmaHR2",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],rightJoints:["b44mniuvoz9x2PrRVmaHR2"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"juENJWiqAWw4xaJKCkBnBu",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",wallStructure:"Default",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["b44mniuvoz9x2PrRVmaHR2"],rightJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"kR4ctZiA4puw1EFB5KiG5E",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kR4ctZiA4puw1EFB5KiG5E"],rightJoints:["juENJWiqAWw4xaJKCkBnBu"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gmYm1iNZTPrTFyvZ3zM6wc",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xvCWqbtBHhPfDxKkaUCj1N",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["b44mniuvoz9x2PrRVmaHR2","kR4ctZiA4puw1EFB5KiG5E","gmYm1iNZTPrTFyvZ3zM6wc","juENJWiqAWw4xaJKCkBnBu"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-8.002707095672621,cy:-29.66519620128789,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTTCEUsedrFiMVxzGXSPUk",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["r3gZsm5d2NUURkeJvNjoh1"],rightJoints:["6gbdPzRZhLL2pFKuqZLzc7"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"h6RcENRcyV9RrecCDiFvpW",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],rightJoints:["h6RcENRcyV9RrecCDiFvpW"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"r3gZsm5d2NUURkeJvNjoh1",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",wallStructure:"Default",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["h6RcENRcyV9RrecCDiFvpW"],rightJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"6gbdPzRZhLL2pFKuqZLzc7",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["6gbdPzRZhLL2pFKuqZLzc7"],rightJoints:["r3gZsm5d2NUURkeJvNjoh1"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oFJo6fvJ5KGuFkZ1uaJYjz",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"6gwGsxKD4B1rm1H1Vk3Ngq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["h6RcENRcyV9RrecCDiFvpW","6gbdPzRZhLL2pFKuqZLzc7","oFJo6fvJ5KGuFkZ1uaJYjz","r3gZsm5d2NUURkeJvNjoh1"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-5.621036499881868,cy:-25.912939117571987,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dry3LvTbwVtZ9zC2iXiS6E",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["tuFkkTxMLGJupvdG99JJmE"],rightJoints:["dCPkgeninMwV2CefSv8Tyh"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"5VMupGYdfv6eXLkphmN6Sb",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["f9C4rqMCfriiBEp6cWZTjf"],rightJoints:["5VMupGYdfv6eXLkphmN6Sb"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tuFkkTxMLGJupvdG99JJmE",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",wallStructure:"Default",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5VMupGYdfv6eXLkphmN6Sb"],rightJoints:["f9C4rqMCfriiBEp6cWZTjf"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dCPkgeninMwV2CefSv8Tyh",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["dCPkgeninMwV2CefSv8Tyh"],rightJoints:["tuFkkTxMLGJupvdG99JJmE"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"f9C4rqMCfriiBEp6cWZTjf",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"vWxd63CkWo4geKwK32Aif7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5VMupGYdfv6eXLkphmN6Sb","dCPkgeninMwV2CefSv8Tyh","f9C4rqMCfriiBEp6cWZTjf","tuFkkTxMLGJupvdG99JJmE"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-3.2393659040911107,cy:-22.16068203385608,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"teEJ9AmuMs6M9VZiHzT62s",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],rightJoints:["1LixWzKAyzhWp6KyjXV5K9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"8ATi9fhnsoTYgrRebeda98",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["9xBo23SsCzdw2nMz6XkrRK"],rightJoints:["8ATi9fhnsoTYgrRebeda98"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gwHuE3q3o7hQafGJcQ7Ldx",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",wallStructure:"Default",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["8ATi9fhnsoTYgrRebeda98"],rightJoints:["9xBo23SsCzdw2nMz6XkrRK"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"1LixWzKAyzhWp6KyjXV5K9",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["1LixWzKAyzhWp6KyjXV5K9"],rightJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"9xBo23SsCzdw2nMz6XkrRK",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"2igmnqP4fQU8AfDDqEEHxR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["8ATi9fhnsoTYgrRebeda98","1LixWzKAyzhWp6KyjXV5K9","9xBo23SsCzdw2nMz6XkrRK","gwHuE3q3o7hQafGJcQ7Ldx"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:5.878850875181692,cy:-43.63794559714253,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w1GQJoXwTctyFPQTHvbCSJ",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gVQBUETgtMy9wnJS5MyAwR"],rightJoints:["kZ3yx1o3MpryY5DEwAHRSu"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"mVXKFfUbKmFXpx4p6d1mu7",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["uXfDQAFqu42CBoR6RERDEE"],rightJoints:["mVXKFfUbKmFXpx4p6d1mu7"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gVQBUETgtMy9wnJS5MyAwR",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",wallStructure:"Default",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mVXKFfUbKmFXpx4p6d1mu7"],rightJoints:["uXfDQAFqu42CBoR6RERDEE"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kZ3yx1o3MpryY5DEwAHRSu",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kZ3yx1o3MpryY5DEwAHRSu"],rightJoints:["gVQBUETgtMy9wnJS5MyAwR"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"uXfDQAFqu42CBoR6RERDEE",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"d2Rg3hSVCMgqwYgvySw6Ve",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mVXKFfUbKmFXpx4p6d1mu7","kZ3yx1o3MpryY5DEwAHRSu","uXfDQAFqu42CBoR6RERDEE","gVQBUETgtMy9wnJS5MyAwR"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:8.26052147097245,cy:-39.88568851342663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qFjTDh4kdKUejoECGaAtFF",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["4U2FUn1XmkrEQUaPmhvyyA"],rightJoints:["jPqCvMBCkPVvRbVHByK9Sd"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5zbGDbw5ZL64ZnafnWAddf",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["jsjvgQe8PDECuTtUpZqqPx"],rightJoints:["5zbGDbw5ZL64ZnafnWAddf"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"4U2FUn1XmkrEQUaPmhvyyA",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",wallStructure:"Default",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5zbGDbw5ZL64ZnafnWAddf"],rightJoints:["jsjvgQe8PDECuTtUpZqqPx"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jPqCvMBCkPVvRbVHByK9Sd",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["jPqCvMBCkPVvRbVHByK9Sd"],rightJoints:["4U2FUn1XmkrEQUaPmhvyyA"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jsjvgQe8PDECuTtUpZqqPx",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"efiH48pXLfRzfiE8Wi1bdv",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5zbGDbw5ZL64ZnafnWAddf","jPqCvMBCkPVvRbVHByK9Sd","jsjvgQe8PDECuTtUpZqqPx","4U2FUn1XmkrEQUaPmhvyyA"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:10.6421920667632,cy:-36.13343142971072,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eawHcqEx4ydgKwpfjVv9RR",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kzoM97zxdWMYoEvnY6njBU"],rightJoints:["hCESxuxDssAckoNt8Ysqfa"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hjQtHP6wU1C98tsKp38NFc",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["rpsA3uefMnrgXZ2ssSvfxV"],rightJoints:["hjQtHP6wU1C98tsKp38NFc"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kzoM97zxdWMYoEvnY6njBU",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",wallStructure:"Default",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["hjQtHP6wU1C98tsKp38NFc"],rightJoints:["rpsA3uefMnrgXZ2ssSvfxV"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hCESxuxDssAckoNt8Ysqfa",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["hCESxuxDssAckoNt8Ysqfa"],rightJoints:["kzoM97zxdWMYoEvnY6njBU"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"rpsA3uefMnrgXZ2ssSvfxV",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"fyUg5zq8ntfBYqeveZG1Mz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["hjQtHP6wU1C98tsKp38NFc","hCESxuxDssAckoNt8Ysqfa","rpsA3uefMnrgXZ2ssSvfxV","kzoM97zxdWMYoEvnY6njBU"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:13.023862662553956,cy:-32.381174345994815,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g52oWNGab2d5tJm7ExTD79",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["vpoRybfzCjbHDw4Zf7t8V7"],rightJoints:["pWk5x2zZNk49mb2AbHyPt9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"85JuGPRhVTskx5HKKPLWZJ",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["a723GZeeHDaeGxxKov9kNA"],rightJoints:["85JuGPRhVTskx5HKKPLWZJ"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"vpoRybfzCjbHDw4Zf7t8V7",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",wallStructure:"Default",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["85JuGPRhVTskx5HKKPLWZJ"],rightJoints:["a723GZeeHDaeGxxKov9kNA"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"pWk5x2zZNk49mb2AbHyPt9",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["pWk5x2zZNk49mb2AbHyPt9"],rightJoints:["vpoRybfzCjbHDw4Zf7t8V7"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"a723GZeeHDaeGxxKov9kNA",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uzoWkkSM6BdFkW3tQ9QEeP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["85JuGPRhVTskx5HKKPLWZJ","pWk5x2zZNk49mb2AbHyPt9","a723GZeeHDaeGxxKov9kNA","vpoRybfzCjbHDw4Zf7t8V7"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:23.539261545507316,cy:-15.785608947862563,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e3sKy7gdQ45ovgtshJNKSh",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["ucyqM28VHCejiYXSBRU74w"],rightJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"mRLpMEwUpk6b3VqzxYNaep",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],rightJoints:["mRLpMEwUpk6b3VqzxYNaep"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"ucyqM28VHCejiYXSBRU74w",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",wallStructure:"Default",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mRLpMEwUpk6b3VqzxYNaep"],rightJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wCoXQcNBi6mJ5wS4Y6r4VL",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],rightJoints:["ucyqM28VHCejiYXSBRU74w"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oqTZ9Y5zqDf3qpPSoAsnfq",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"4sAKtdpUfojEauuc9xKUx9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mRLpMEwUpk6b3VqzxYNaep","wCoXQcNBi6mJ5wS4Y6r4VL","oqTZ9Y5zqDf3qpPSoAsnfq","ucyqM28VHCejiYXSBRU74w"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:7.4047851687956925,cy:-5.505166586090663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9NZEpPcimoPFTA7fAmDMQW",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kfCkPxHEQXF9CME4mp5rfJ"],rightJoints:["m1iEhgTKYmokoNeBfUn1Zw"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kywCD23ffmYn7n35c65bvN",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5nYLFT5aCGPe4ESsdg7FAP"],rightJoints:["kywCD23ffmYn7n35c65bvN"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kfCkPxHEQXF9CME4mp5rfJ",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",wallStructure:"Default",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["kywCD23ffmYn7n35c65bvN"],rightJoints:["5nYLFT5aCGPe4ESsdg7FAP"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"m1iEhgTKYmokoNeBfUn1Zw",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["m1iEhgTKYmokoNeBfUn1Zw"],rightJoints:["kfCkPxHEQXF9CME4mp5rfJ"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5nYLFT5aCGPe4ESsdg7FAP",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uZ3WYfpisjGExUNhqUQ6GJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["kywCD23ffmYn7n35c65bvN","m1iEhgTKYmokoNeBfUn1Zw","5nYLFT5aCGPe4ESsdg7FAP","kfCkPxHEQXF9CME4mp5rfJ"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:25.920932141298064,cy:-12.03335186414666,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aU7wo9HzTSBezmB9xaSNVe",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["3Yw9eyhMVgXRzWxARHi4qj"],rightJoints:["gLQjrbahvSyZbT7mE7nLTs"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tsTPsXh1D4u1sYk5kevjpw",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["eve2xjCEYcENW3bQKBtFbH"],rightJoints:["tsTPsXh1D4u1sYk5kevjpw"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"3Yw9eyhMVgXRzWxARHi4qj",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",wallStructure:"Default",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tsTPsXh1D4u1sYk5kevjpw"],rightJoints:["eve2xjCEYcENW3bQKBtFbH"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gLQjrbahvSyZbT7mE7nLTs",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gLQjrbahvSyZbT7mE7nLTs"],rightJoints:["3Yw9eyhMVgXRzWxARHi4qj"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"eve2xjCEYcENW3bQKBtFbH",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"t86AYAH7J8wQCFq8cXiLAx",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["tsTPsXh1D4u1sYk5kevjpw","gLQjrbahvSyZbT7mE7nLTs","eve2xjCEYcENW3bQKBtFbH","3Yw9eyhMVgXRzWxARHi4qj"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:9.786455764586453,cy:-1.752909502374763,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7JsauhgC1ELukuq9oR7WP3",selected:!1,locked:!1},{type:"Wall",cx:1.1857370908139018,cy:9.993801958880498,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["7ZPYuSaC3udPdFwLBc9LcF"],rightJoints:["dHQToxKir9k3FNNhxE7P9U"],leftPoint:[21.172548079932447,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"bMP8c52yyd4ARJDKPf1aWM",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:-18.80107389830464,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["bMP8c52yyd4ARJDKPf1aWM"],rightJoints:["7MR7F47mpBryE1Ejti6rUy"],leftPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dHQToxKir9k3FNNhxE7P9U",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:1.1857370908139018,cy:-9.904769159488765,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["dHQToxKir9k3FNNhxE7P9U"],rightJoints:["7ZPYuSaC3udPdFwLBc9LcF"],leftPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7MR7F47mpBryE1Ejti6rUy",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:21.172548079932447,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["7MR7F47mpBryE1Ejti6rUy"],rightJoints:["bMP8c52yyd4ARJDKPf1aWM"],leftPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,9.993801958880498,.049292848058618284],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7ZPYuSaC3udPdFwLBc9LcF",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{id:"vQHPZRPjRtVs3kCxxrFEVN",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["bMP8c52yyd4ARJDKPf1aWM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:7.4620263843372925,cy:-23.808571879858576,cz:.1,lx:57.05667537827628,ly:36.07153705363366,lz:.2,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmtVJVWrnHvQEaqLr1b9Tf",selected:!1,enableGroupMaster:!0,locked:!1},{type:"Door",cx:.019764130160484145,cy:0,cz:-.35,lx:.3557543428887146,ly:0,lz:.3,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"5i5aw65ViZQJ6ANMtaYEt3",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3162260825677463,cy:.1,cz:44408920985006264e-33,lx:.1581130412838731,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"gAXs9sJoJF81X2Sdijoe3o",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.35575434288871466,cy:.1,cz:44408920985006264e-33,lx:.15811304128387302,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"agk3V1PDaTw1t7ybFJCTUJ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.019764130160484145,cy:.1,cz:.1625,lx:.3557543428887146,ly:.3,lz:.575,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"mnCW9Hm1zy48vmk8GxhHip",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:2.25},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dJzbjbMH3V7vVry4QUZJ1h",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVMji7S1iMqS6e5iGevjST",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4xnBXKk3mzEiVTEU1sUo9z",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vGt71VZQKGWWqARuxaBuHk",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nQw98VMPrH5pKkcEzYqYAr",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oDAHJqV8nu3rm8iXJXkjDo",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dQtpLnqk4XU6QXdnZwYZ3y",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fnp6cZDYtVkBgXyRLqoy4k",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"taL5VcYj3uWGDL8xr44zFA",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"36eQAALv2V7tE2Nitdg2Z9",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"j19CocmDx5qUxbi12esWTq",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aNTKQXqg4KFQWerkNfvi67",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7wkeWMuadLGRRHvrhXkgXu",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"pP3XvCSY89vtf8Jf82MA2Q",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o5mLe8ag3RmgrS6cYio7c2",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"sJP9KeY4DvXEbM21cwfCL6",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"faxjoAqSZje6BEDac2ztM3",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.125,lx:.16,ly:.3,lz:1.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2KQEWZui5HypVTjznRgV1e",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmXEoXgzaz3BcPRdhwTBNF",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jgVVfzMun1U9KUtjVLXpLW",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7LVpvnWs9aYvqrDqGeRFsz",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0040000000000000036,cy:.1,cz:.14500000000000002,lx:.2,ly:.3,lz:1.05,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"kUvJ29KgoC2Mx2n6oquM7i",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jade",cx:24.498922181392803,cy:.35278398935384025,cz:.10000000149011613,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8oCpJQ69v59EaR16ZevwwH",selected:!1,locked:!1,ly:.48},{type:"Human",name:"Jennifer",cx:24.15853922395012,cy:-4.360566668970516,cz:.10000000149011613,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"23pVVVaYxcEWbusAdT9bp6",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:23.512736665641548,cy:-5.246201365995199,cz:.1000000014901179,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vLrAF4TXaJsxUnvTqvZyhr",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Judd",cx:23.688249777842685,cy:-7.134597873618337,cz:.10000000149011613,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"72RNARnNBupWUTwLyPFi2x",selected:!1,locked:!1,ly:.544},{type:"Flower",name:"Hydrangea",cx:14.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"hxA3iWj7PVq4oxfYivWPDZ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:16.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"em4eb843STnngTiG8Pq4ZG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:18.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xn9oq6YLSQoRDx2Th897Ey",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:20.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"n5Xm3uZ3yogruAzMr3ekgG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:12.711504093322223,cy:12.55312249061943,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vGSyjGNkAKGrDeLZUtMvLb",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:15.040744575677394,cy:12.500852726588041,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xdceQ9SQzswYkrUwEtMzsR",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:17.31542920437773,cy:12.41395471892114,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1diZFF1KGB7XeeLHtoXNtr",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:19.66459729675223,cy:12.4508690521801,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"4Rb2MRXZ3tKBv37PWSvEzQ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vhFQBJS6Fh7bkaVvXfo1NR",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dFZa68UKB2fanAfPxKpSfp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"u1q3FxnjwFSpD8qDLT3jLw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"i63WTBeMTnSDnxeSuJpFZf",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xiSxNNSCHQvhBkz8weBtDU",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1urqV2akP9gK1CshpjMiad",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iBL1h5VnnSJTEgMS6joQZh",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-3.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"rr534i2kNra6AbjGze6tbb",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.839350032255844,cy:12.586893239928504,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gbD24xDaa2k33ZoxvEb6oz",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.787787005334005,cy:12.526983753449453,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uBAQNvAScFhk39Y9iwCNjY",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.758974118534871,cy:12.689520734967552,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kPa2FJR2pvHaWxWxA6FLVw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.91848248954889,cy:12.495637874367116,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"qCbupam4PMgJ8bX3HzPiMM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.771115833391356,cy:12.37809450353804,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uMoz3GQoaHbHMecPfBqzkq",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.782512420623269,cy:12.558430909387932,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uKXc9jut6dFoRru4RQMPUM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.490189984387705,cy:12.433086575302662,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iWmJ1E8vNxV24C2rg3YseQ",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-2.9411297348927254,cy:12.354975599770267,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gTnMje1b6tBrp8YWHbFCqb",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:23.96071696630824,cy:-44.82446487452612,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1WJdNkrobPPSWfLEoaVoK7",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Magnolia",cx:33.556040711677696,cy:-28.810119661301552,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9PY4aB8JZi8u5zBp4N8KWJ",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-6.440436625289015,cy:-3.053996336525085,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4GFXCjc87cvCMmXmHyPFgU",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-11.363079989838765,cy:-10.70167442074012,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"mnYhfWGZdarqEGdoNy3nZY",selected:!1,locked:!1,flip:!0},{type:"Human",name:"Jaye",cx:-9.814032718831394,cy:-16.689844349152544,cz:.10000000149011702,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"2reV16jkVqXG2TtRUqYKXY",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"w43ATGzZw2efL2uLDpm4P8",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2859055631297533,cy:.1,cz:.32499999999999996,lx:.02382546359414619,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"iZNLiBj11xETGpzE6fwM9U",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17869097695609581,cy:.1,cz:.32500000000000007,lx:.02382546359414602,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"9AjuE6mwgTZmX4VvbqAs3y",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.08338912257951141,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fJi9i8gEPxfpsgBYXywEnj",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07147639078243827,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"925Dk6Ft7JiUDRySfQMrYy",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17869097695609581,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"a4xwf7BynvydJnSiBM877Z",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2859055631297533,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ozvNDrL6sKDfgo668mHjk9",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"q6g4rybSU63f4mHggAAJRU",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.28590556312975324,cy:.1,cz:.32500000000000007,lx:.023825463594146105,ly:.3,lz:.25000000000000017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"2rTqwrtxBDgy6QaZefzNsm",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"bLab7Y2bZ3ran5xf7gqkpy",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"6BiRTS7hCwUwcWSrYNnhUQ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.28590556312975324,cy:.1,cz:.325,lx:.023825463594146147,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"7unzgHw9BGUs7eL9a5oKXh",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-3510814778537278e-32,cy:.1,cz:.125,lx:.23716956192580982,ly:.3,lz:1.05,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"iLwQ5UBgBL3sonqBcqFoC5",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"jbGnjsCChKRb1kQuYrUT5d",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jocelyn",cx:-19.644729072809923,cy:-15.043092228016992,cz:.10000000149011702,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"mDGKhZ6QHKAjKHhMgj8e9r",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jedi",cx:-21.40281107675301,cy:-11.905580437823337,cz:.10000000149011613,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kKfw47d3CRnoAajE5xamBN",selected:!1,ly:.56,locked:!1},{type:"Human",name:"Joey",cx:-10.626252329426645,cy:-15.36971947531225,cz:.10000000149011525,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"w9rWjW5nMD7ysqTc51hQsW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Linden",cx:-28.5283374786377,cy:2.5670594706748773,cz:.09215714161556932,lx:12.56599065387215,lz:17.875438659167433,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8QYb3yiDqtDAebwAsHj1PL",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!0,cx:-1.0744344498561738,cy:-55.986059359035295,cz:0,lx:7.368180679718989,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mxWw8g34JBPawafnUyy3eX",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!1,cx:-8.805777739086423,cy:-50.96204115065417,cz:0,lx:9.893561641812246,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hfHvh9t2Cet9WXvsjAPh7t",selected:!1,locked:!1},{type:"Window",cx:-1375205378309486e-31,cy:.1,cz:.3652487893589756,lx:.353907110246429,ly:.2,lz:.08765970944615396,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2Ly2StWGBYNwBSYafFGNuR",windowType:"Default",archHeight:1},{type:"Window",cx:-32517565688624697e-32,cy:.1,cz:.36524878935897553,lx:.36611524179571514,ly:.2,lz:.08765970944615402,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"v2e9bxX15mdBzVMafhi23N",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.35390711024642874,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"nRNf4jj3t7m3SLG7DzYeL9",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.36611524179571453,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"rE6cHpj3a1a3s58XNqPkDx",windowType:"Default",archHeight:1}],ddn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.8332121686219,1.6957671677596553,71623250231361926e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[21.8332121686219,1.6956171610724768,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[31.117746115680333,-61.74530628577921,6.635303925622853],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.97473878476758,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[8.743444485308892,-20.90776182518235,5.656639637187283],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},fdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},hdn=1,pdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},gdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},mdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ydn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Adn=[],wdn={docid:odn,time:idn,timestamp:rdn,userid:adn,owner:ldn,email:sdn,world:cdn,elements:udn,view:ddn,graphState:fdn,evolutionMethod:hdn,solarPanelArrayLayoutParams:pdn,solarPanelArrayLayoutConstraints:gdn,evolutionaryAlgorithmState:mdn,economicsParams:ydn,notes:Adn},vdn="rb7ptdm5a1RqrxS7efVQBm",xdn="05/10/2023 10:24 am",bdn=1683728645588,Sdn="QWecNcxhyvP6j6sBN11hBsfZDau1",Tdn=null,Pdn=null,Cdn={solarRadiationHeatmapGridCellSize:2,date:"4/22/2022, 4:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Rdn=[{ly:22.123368787949577,solarUpdraftTower:{},parentId:"Ground",cx:31.92543795669036,id:"m7AH7DcnoGzAq9kryBy4RS",cy:2.1656113002014568,type:"Foundation",solarPowerTower:{},lx:21.251959060399457,lz:.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.25,textureType:"No Foundation Texture",enableGroupMaster:!1,color:"#999999",locked:!1},{type:"Human",name:"Jack",cx:-2.477311032723648,cy:-35.3224465130531,cz:.300000011920929,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"bxVgnTyTS3rQB9DZjweZGa",selected:!1,ly:.42,locked:!1},{type:"Wall",cx:-4.882174640318183,cy:3.2723372961326387,cz:0,lx:2.2370509461013435,ly:.1,lz:61,relativeAngle:4.301576093475627,leftPoint:[-4.435486222481405,4.29779752999532,.5],rightPoint:[-5.328863058154962,2.2468770622699576,.5],leftJoints:["twZXBhJnLkQAfkhcdZPvcE"],rightJoints:["6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pqrUfkTtDCPWZgLQ2ZZY2x",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-5.328863058154962,cy:.9968770622699568,cz:0,lx:2.5,ly:.1,lz:61,relativeAngle:4.71238898038469,leftPoint:[-5.328863058154962,2.2468770622699568,.5],rightPoint:[-5.328863058154962,-.25312293773004324,.5],leftJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6BBNNShnXYdN4Fo6vrLZgS",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["o7owRXdGmtoUmGe7aMBfwD"],rightJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],leftPoint:[-2.935486222481405,5.79779752999532,.5],rightPoint:[-4.435486222481405,4.29779752999532,.5],relativeAngle:3.9269908169872414,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"twZXBhJnLkQAfkhcdZPvcE",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],rightJoints:["twZXBhJnLkQAfkhcdZPvcE"],leftPoint:[-.9354862224814049,6.79779752999532,.5],rightPoint:[-2.935486222481405,5.79779752999532,.5],relativeAngle:3.6052402625905993,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"o7owRXdGmtoUmGe7aMBfwD",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:6.797797529995318,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["9Qfx6trBssgAGuZJMWpoN4"],rightJoints:["o7owRXdGmtoUmGe7aMBfwD"],leftPoint:[1.5645137775185987,6.79779752999532,.5],rightPoint:[-.9354862224814049,6.797797529995316,.5],relativeAngle:3.141592653589795,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7oCL7hfQ9Q5pKtbUKfbhxC",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["nXkkPMC5GnQsGGo6pXGf1J"],rightJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],leftPoint:[3.5645137775185987,5.79779752999532,.5],rightPoint:[1.5645137775185987,6.79779752999532,.5],relativeAngle:2.677945044588988,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"9Qfx6trBssgAGuZJMWpoN4",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ukLTgjquG74WrHxQMTeCGR"],rightJoints:["9Qfx6trBssgAGuZJMWpoN4"],leftPoint:[5.064513777518599,4.29779752999532,.5],rightPoint:[3.5645137775185987,5.79779752999532,.5],relativeAngle:2.356194490192344,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nXkkPMC5GnQsGGo6pXGf1J",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:3.2977975299953197,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],rightJoints:["nXkkPMC5GnQsGGo6pXGf1J"],leftPoint:[6.064513777518599,2.2977975299953197,.5],rightPoint:[5.064513777518599,4.29779752999532,.5],relativeAngle:2.0344439357957036,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ukLTgjquG74WrHxQMTeCGR",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:6.064513777518599,cy:1.0477975299953193,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["1mFHht66LtQmGXw2uwQpTW"],rightJoints:["ukLTgjquG74WrHxQMTeCGR"],leftPoint:[6.064513777518599,-.20220247000468072,.5],rightPoint:[6.064513777518599,2.2977975299953197,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ieCZYgGYnWFZFTUUeDJ4Kc",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-4.882174640318183,cy:-1.2276627038673618,cz:0,lx:2.144069307100406,ly:.1,lz:61,leftJoints:[],rightJoints:["ne25yHm9jCD9Vx7iYW9GUg"],leftPoint:[-5.328863058154958,-.2531229377300428,.5],rightPoint:[-4.435486222481405,-2.2022024700046807,.5],relativeAngle:5.142171914901031,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"rnDe8ZUbiedJjvYKnAx9vs",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:-1.2022024700046807,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],rightJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],leftPoint:[5.064513777518599,-2.2022024700046807,.5],rightPoint:[6.064513777518599,-.20220247000468072,.5],relativeAngle:1.1071487177940904,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1mFHht66LtQmGXw2uwQpTW",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],rightJoints:["1mFHht66LtQmGXw2uwQpTW"],leftPoint:[3.5645137775185987,-3.7022024700046807,.5],rightPoint:[5.064513777518599,-2.2022024700046807,.5],relativeAngle:.7853981633974483,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hDTYb7CsL6KjhaG3K3ZaEb",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:-4.20220247000468,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["2sbTRgNVHvPNpK2pDRUNQN"],rightJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],leftPoint:[1.5645137775185987,-4.70220247000468,.5],rightPoint:[3.5645137775185987,-3.7022024700046807,.5],relativeAngle:.46364760900080615,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ngivbbtv3RRgTjMZ9HM5iJ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:-4.70220247000468,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["7kjEcCQNbaUjRAbeSyBXZx"],rightJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],leftPoint:[-.9354862224814049,-4.70220247000468,.5],rightPoint:[1.5645137775185987,-4.70220247000468,.5],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2sbTRgNVHvPNpK2pDRUNQN",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:-4.202202470004682,cz:0,lx:2.2360679774997907,ly:.1,lz:61,leftJoints:["ne25yHm9jCD9Vx7iYW9GUg"],rightJoints:["2sbTRgNVHvPNpK2pDRUNQN"],leftPoint:[-2.935486222481405,-3.7022024700046807,.5],rightPoint:[-.9354862224814049,-4.702202470004682,.5],relativeAngle:5.819537698178779,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7kjEcCQNbaUjRAbeSyBXZx",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["rnDe8ZUbiedJjvYKnAx9vs"],rightJoints:["7kjEcCQNbaUjRAbeSyBXZx"],leftPoint:[-4.435486222481405,-2.2022024700046807,.5],rightPoint:[-2.935486222481405,-3.7022024700046807,.5],relativeAngle:5.497787143782138,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ne25yHm9jCD9Vx7iYW9GUg",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-.316601796041418,cy:-12.89173870425908,cz:2.2408122612280286,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["55SwaH9QxLHmcgrnQzAWTs"],rightJoints:["ho8wYRGhLSJb2djJKqwSe1"],leftPoint:[8.144477100210871,-12.89173870425908],rightPoint:[-8.7776806922937,-12.89173870425908],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rCFFBj6A2tyxuTVf5rPe81",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:8.144477100210871,cy:-21.23052296081884,cz:2.2301039869226305,lx:16.677568513119517,ly:.1,lz:60,leftJoints:["szxkDJ4zvsmCjRAjDwr4oT"],rightJoints:["rCFFBj6A2tyxuTVf5rPe81"],leftPoint:[8.144477100210871,-29.569307217378597],rightPoint:[8.144477100210871,-12.891738704259076],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"55SwaH9QxLHmcgrnQzAWTs",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-8.777680692293703,cy:-21.230522960818842,cz:28.5009781424094,lx:16.67756851311951,ly:.1,lz:60,leftJoints:["rCFFBj6A2tyxuTVf5rPe81"],rightJoints:["szxkDJ4zvsmCjRAjDwr4oT"],leftPoint:[-8.777680692293707,-12.891738704259083],rightPoint:[-8.7776806922937,-29.569307217378597],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ho8wYRGhLSJb2djJKqwSe1",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-.316601796041418,cy:-29.569307217378597,cz:2.268765007024547,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["ho8wYRGhLSJb2djJKqwSe1"],rightJoints:["55SwaH9QxLHmcgrnQzAWTs"],leftPoint:[-8.7776806922937,-29.569307217378597],rightPoint:[8.144477100210871,-29.569307217378597],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szxkDJ4zvsmCjRAjDwr4oT",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Foundation",cx:32.336232202320254,cy:24.075169100408157,cz:.3,lx:47.66882528133987,ly:92.1673445682163,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d5JiHWyULwssBmiBFfBkPJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["vHsRxkqZrsLbc2Cw1mShNh"],rightJoints:["wC1WzjegFNTFT2ZnHmoM1U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"q4Q62RYECS7ssEQGWwMQaR",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["3apukdsSG9Q7tUtWvyHP14"],rightJoints:["q4Q62RYECS7ssEQGWwMQaR"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vHsRxkqZrsLbc2Cw1mShNh",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["q4Q62RYECS7ssEQGWwMQaR"],rightJoints:["3apukdsSG9Q7tUtWvyHP14"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wC1WzjegFNTFT2ZnHmoM1U",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["wC1WzjegFNTFT2ZnHmoM1U"],rightJoints:["vHsRxkqZrsLbc2Cw1mShNh"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"3apukdsSG9Q7tUtWvyHP14",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6Vzmg1uXrJSEjXjuXeqZxb",selected:!1,locked:!1},{type:"Wall",cx:-2.059761729325267,cy:3.0551015103684858,cz:2.2408122612280286,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["vFwZn47p27JhuJCUwo66PB"],rightJoints:["jz5YKDY6NpWFeAzmZZgmMG"],leftPoint:[8.233695358269692,3.0551015103684858,.5],rightPoint:[-12.353218816920226,3.0551015103684858,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eQty63hcTNfqGkZ1bn9pou",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:8.233695358269692,cy:-7.284137744601432,cz:2.2301039869226305,lx:20.678478509939843,ly:.1,lz:40,leftJoints:["tF3vwD5MeKKihs6KSsJULW"],rightJoints:["eQty63hcTNfqGkZ1bn9pou"],leftPoint:[8.233695358269692,-17.623376999571356,.5],rightPoint:[8.233695358269692,3.0551015103684858,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vFwZn47p27JhuJCUwo66PB",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-12.353218816920233,cy:-7.2841377446014395,cz:2.228839888904333,lx:20.678478509939836,ly:.1,lz:40,leftJoints:["eQty63hcTNfqGkZ1bn9pou"],rightJoints:["tF3vwD5MeKKihs6KSsJULW"],leftPoint:[-12.353218816920233,3.0551015103684787,.5],rightPoint:[-12.353218816920226,-17.623376999571356,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jz5YKDY6NpWFeAzmZZgmMG",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-2.059761729325267,cy:-17.623376999571356,cz:1.780425728663789,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["jz5YKDY6NpWFeAzmZZgmMG"],rightJoints:["vFwZn47p27JhuJCUwo66PB"],leftPoint:[-12.353218816920226,-17.623376999571356,.5],rightPoint:[8.233695358269692,-17.623376999571356,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tF3vwD5MeKKihs6KSsJULW",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Foundation",cx:34.184931916240686,cy:9.996162357092924,cz:.25,lx:28.142586741754783,ly:39.057935888273825,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fD1unP99uJ2AUvKzSqaqv1",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["ho8wYRGhLSJb2djJKqwSe1","szxkDJ4zvsmCjRAjDwr4oT","55SwaH9QxLHmcgrnQzAWTs","rCFFBj6A2tyxuTVf5rPe81"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"j7icsPbRmrKngzuxfnJULB",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["tF3vwD5MeKKihs6KSsJULW","vFwZn47p27JhuJCUwo66PB","eQty63hcTNfqGkZ1bn9pou","jz5YKDY6NpWFeAzmZZgmMG"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"eiNiz47nydELtmQT3Y9tQx",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rnDe8ZUbiedJjvYKnAx9vs","ne25yHm9jCD9Vx7iYW9GUg","7kjEcCQNbaUjRAbeSyBXZx","2sbTRgNVHvPNpK2pDRUNQN","ngivbbtv3RRgTjMZ9HM5iJ","hDTYb7CsL6KjhaG3K3ZaEb","1mFHht66LtQmGXw2uwQpTW","ieCZYgGYnWFZFTUUeDJ4Kc","ukLTgjquG74WrHxQMTeCGR","nXkkPMC5GnQsGGo6pXGf1J","9Qfx6trBssgAGuZJMWpoN4","7oCL7hfQ9Q5pKtbUKfbhxC","o7owRXdGmtoUmGe7aMBfwD","twZXBhJnLkQAfkhcdZPvcE","pqrUfkTtDCPWZgLQ2ZZY2x","6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6muwd4sKetNydriFdTdYo3",locked:!1,sideColor:"#8f6767",rise:40.65606181416068,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["vHsRxkqZrsLbc2Cw1mShNh","q4Q62RYECS7ssEQGWwMQaR","wC1WzjegFNTFT2ZnHmoM1U","3apukdsSG9Q7tUtWvyHP14"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",id:"7wW1vUuiQtQZyEVQ52AYZr",locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],rightJoints:["iPw21WkbFfNGs2GducHHkL"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ogWsiwSVu2siW9Ju34ZuiD",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["we96ZZsqRukzrDQLzGsXgd"],rightJoints:["ogWsiwSVu2siW9Ju34ZuiD"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"b5Ed9Q8H2ZuAnTPt364rFi",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["ogWsiwSVu2siW9Ju34ZuiD"],rightJoints:["we96ZZsqRukzrDQLzGsXgd"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"iPw21WkbFfNGs2GducHHkL",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["iPw21WkbFfNGs2GducHHkL"],rightJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"we96ZZsqRukzrDQLzGsXgd",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"qwYLFbE4ymUU5tBty522Jg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["b5Ed9Q8H2ZuAnTPt364rFi","ogWsiwSVu2siW9Ju34ZuiD","iPw21WkbFfNGs2GducHHkL","we96ZZsqRukzrDQLzGsXgd"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kGDsncg3szoccDkShD216f",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],rightJoints:["gqtNTDTyYXafiDYDAD7TP5"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"13XtQDNCzy1wcfpbyh4hjG",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["appL8aespWEHwPfTvg3Tnj"],rightJoints:["13XtQDNCzy1wcfpbyh4hjG"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pGdyGz8Q2yqRKAUSe2WBaZ",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["13XtQDNCzy1wcfpbyh4hjG"],rightJoints:["appL8aespWEHwPfTvg3Tnj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gqtNTDTyYXafiDYDAD7TP5",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["gqtNTDTyYXafiDYDAD7TP5"],rightJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"appL8aespWEHwPfTvg3Tnj",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"unGGRxk8aAPx1RGgoMUHuG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["pGdyGz8Q2yqRKAUSe2WBaZ","13XtQDNCzy1wcfpbyh4hjG","gqtNTDTyYXafiDYDAD7TP5","appL8aespWEHwPfTvg3Tnj"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wVk1Prn3hdhvpUZ9PYFEqC",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fBMuUvUm2XHqZj1rfF2pKe"],rightJoints:["fFbhZTcnWojs6r2gfNC8Ac"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iqStzfwWhLGQQWnV7zYbVJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["fSWzmQwwSCpa4XTiCWadFJ"],rightJoints:["iqStzfwWhLGQQWnV7zYbVJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fBMuUvUm2XHqZj1rfF2pKe",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["iqStzfwWhLGQQWnV7zYbVJ"],rightJoints:["fSWzmQwwSCpa4XTiCWadFJ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fFbhZTcnWojs6r2gfNC8Ac",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fFbhZTcnWojs6r2gfNC8Ac"],rightJoints:["fBMuUvUm2XHqZj1rfF2pKe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fSWzmQwwSCpa4XTiCWadFJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"64chsWYaQ1WXbJzrruvsSA",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["fBMuUvUm2XHqZj1rfF2pKe","iqStzfwWhLGQQWnV7zYbVJ","fFbhZTcnWojs6r2gfNC8Ac","fSWzmQwwSCpa4XTiCWadFJ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sTdmJHCeaF7fiC4wxraQvH",selected:!1,locked:!1},{type:"Foundation",cx:46.44079504193018,cy:-6.9607153899841805,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nBfQ1VbpB9H4ysCzMtCuPy",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["n8WrLFfhmR5MpuvGmKysZG"],rightJoints:["dbVfVNYCWAroMTmBEqYeR4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wq86d5bWa3b2DNCBna4CeP",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["jKVT2MfeRaz2it59upaJsG"],rightJoints:["wq86d5bWa3b2DNCBna4CeP"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"n8WrLFfhmR5MpuvGmKysZG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["wq86d5bWa3b2DNCBna4CeP"],rightJoints:["jKVT2MfeRaz2it59upaJsG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"dbVfVNYCWAroMTmBEqYeR4",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["dbVfVNYCWAroMTmBEqYeR4"],rightJoints:["n8WrLFfhmR5MpuvGmKysZG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"jKVT2MfeRaz2it59upaJsG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["jKVT2MfeRaz2it59upaJsG","n8WrLFfhmR5MpuvGmKysZG","wq86d5bWa3b2DNCBna4CeP","dbVfVNYCWAroMTmBEqYeR4"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",id:"3cC18p4o27We9TRzUXcjvJ",locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["fGunkFZDLaHCN1Y4VqozG5"],rightJoints:["xgMnQPMYvVygU1qre3rtoQ"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ic7X4VUc5364fhg7VH2Xt9",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["cVUWnxaNHTTX4XSarmyvut"],rightJoints:["ic7X4VUc5364fhg7VH2Xt9"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fGunkFZDLaHCN1Y4VqozG5",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["ic7X4VUc5364fhg7VH2Xt9"],rightJoints:["cVUWnxaNHTTX4XSarmyvut"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"xgMnQPMYvVygU1qre3rtoQ",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["xgMnQPMYvVygU1qre3rtoQ"],rightJoints:["fGunkFZDLaHCN1Y4VqozG5"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"cVUWnxaNHTTX4XSarmyvut",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"iaC7gjXpRF8sDNrzMuoLvf",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["cVUWnxaNHTTX4XSarmyvut","fGunkFZDLaHCN1Y4VqozG5","ic7X4VUc5364fhg7VH2Xt9","xgMnQPMYvVygU1qre3rtoQ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:46.31802127561469,cy:12.684398904718867,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sfGQk2YxLGeUhSygxuNcnp",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],rightJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5gcHNbuEXkTtST9vsf3C1N",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["eHHmL4t3wnDWyiwmvPPcdG"],rightJoints:["5gcHNbuEXkTtST9vsf3C1N"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gh1M1f9qhMGoNQ2Sc4Z2Dn",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["5gcHNbuEXkTtST9vsf3C1N"],rightJoints:["eHHmL4t3wnDWyiwmvPPcdG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pnLNuXyTY2gSJ1DpTuU4uT",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],rightJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eHHmL4t3wnDWyiwmvPPcdG",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"49DYNSJM4mb3Amf9zEcSuy",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["eHHmL4t3wnDWyiwmvPPcdG","gh1M1f9qhMGoNQ2Sc4Z2Dn","5gcHNbuEXkTtST9vsf3C1N","pnLNuXyTY2gSJ1DpTuU4uT"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.617416680668534,cy:-7.081676620216011,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j4PeEevBuviMj9ySaHCvmk",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["8RHz5EYxWVxY6Jt5vozUe7"],rightJoints:["2uW5rRCde8ts2eAbydroXA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qovzxCb6vspTrPrifJg8FE",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["iYVes92EX4HBiJvFdVLp4v"],rightJoints:["qovzxCb6vspTrPrifJg8FE"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8RHz5EYxWVxY6Jt5vozUe7",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["qovzxCb6vspTrPrifJg8FE"],rightJoints:["iYVes92EX4HBiJvFdVLp4v"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uW5rRCde8ts2eAbydroXA",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["2uW5rRCde8ts2eAbydroXA"],rightJoints:["8RHz5EYxWVxY6Jt5vozUe7"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iYVes92EX4HBiJvFdVLp4v",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"dU22xraE7fkaQeudtQezPj",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["iYVes92EX4HBiJvFdVLp4v","8RHz5EYxWVxY6Jt5vozUe7","qovzxCb6vspTrPrifJg8FE","2uW5rRCde8ts2eAbydroXA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.73320615435275,cy:12.716218116632643,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6e1LBCH7kdPkaD1nyNXGTx",selected:!1,locked:!1},{type:"Foundation",cx:31.837120136953352,cy:34.21863076373691,cz:.25,lx:18.498978574883413,ly:60.60688660259319,lz:.2496942045301915,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"inhpub3MTpu4G1VDDvBtem",selected:!1,locked:!1},{type:"Wall",cx:.2345130342804871,cy:27.168552176842663,cz:2.2408122612280286,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["t9LGJeHDCScMaYt1JPTD25"],rightJoints:["8ygPss7hAjTnN2gdGp6ttV"],leftPoint:[8.361967036864586,27.168552176842663,0],rightPoint:[-7.892940968303612,27.168552176842663,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kCsahZfC53mhXpdE7TMKTD",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:8.361967036864586,cy:.8572306983972329,cz:2.2301039869226305,lx:52.62264295689086,ly:.1,lz:19.97553636241532,leftJoints:["rzCwiAsS4K7UKzev4QiQCA"],rightJoints:["kCsahZfC53mhXpdE7TMKTD"],leftPoint:[8.361967036864586,-25.454090780048197,0],rightPoint:[8.361967036864586,27.168552176842663,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t9LGJeHDCScMaYt1JPTD25",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:-7.8929409683036145,cy:.8572306983972151,cz:2.228839888904333,lx:52.62264295689083,ly:.1,lz:19.97553636241532,leftJoints:["kCsahZfC53mhXpdE7TMKTD"],rightJoints:["rzCwiAsS4K7UKzev4QiQCA"],leftPoint:[-7.892940968303616,27.168552176842628,0],rightPoint:[-7.892940968303612,-25.454090780048197,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8ygPss7hAjTnN2gdGp6ttV",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:.2345130342804871,cy:-25.454090780048197,cz:2.268765007024547,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["8ygPss7hAjTnN2gdGp6ttV"],rightJoints:["t9LGJeHDCScMaYt1JPTD25"],leftPoint:[-7.892940968303612,-25.454090780048197,0],rightPoint:[8.361967036864586,-25.454090780048197,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rzCwiAsS4K7UKzev4QiQCA",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["t9LGJeHDCScMaYt1JPTD25"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"sygn3Sh4dUutUeoxP6LrDr",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,sideColor:"#8f6767",rise:14.488772470428223,ceiling:!1},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3sLwhEgNEsXYeDRotu6V2t",selected:!1,locked:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bJWxUcmXbPhwpSEfhKNUR9",selected:!1,locked:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d25rEMwrJ6RN3MFRjbRPz1",selected:!1,locked:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cErd2SqgLThpK4vJfhjWqd",selected:!1,locked:!1},{type:"Foundation",cx:46.740795041930184,cy:-3.860715389984191,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vmAPnWwpqkdy6LbCoBx7XJ",selected:!1,locked:!1},{type:"Foundation",cx:46.718021275614696,cy:9.584398904718878,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"igvTSt7WASqgGBPhrg13mS",selected:!1,locked:!1},{type:"Foundation",cx:17.31741668066853,cy:-3.7816766202160212,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35UveCxDtSq3bRxo63iNA8",selected:!1,locked:!1},{type:"Foundation",cx:17.333206154352744,cy:9.516218116632654,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hcQws7c356C61b1Zdukfsh",selected:!1,locked:!1},{type:"Wall",cx:.08759481901403955,cy:.48701542341002635,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["xjtDHvujcFtzK6uxUtDUQW"],rightJoints:["pvCLq35sk3nh5kUAUegEwu"],leftPoint:[.23742845459659656,.8372745712126496,0],rightPoint:[-.06223881656851746,.13675627560740305,0],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"eZcF1TXGmmHdWSo1nGEuPP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.06223881656851746,cy:-.29019732073449356,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["eZcF1TXGmmHdWSo1nGEuPP"],rightJoints:[],leftPoint:[-.06223881656851746,.13675627560740305,0],rightPoint:[-.06223881656851746,-.7171509170763901,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"pvCLq35sk3nh5kUAUegEwu",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:1.0934467290177876,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["1n1zoL6MhaLiDGbiwa1f2P"],rightJoints:["eZcF1TXGmmHdWSo1nGEuPP"],leftPoint:[.7405766097743269,1.3496188868229255,0],rightPoint:[.23742845459659656,.8372745712126496,0],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xjtDHvujcFtzK6uxUtDUQW",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:1.520400325359684,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["mriUigHEL4wunXM4kHrR6L"],rightJoints:["xjtDHvujcFtzK6uxUtDUQW"],leftPoint:[1.4114408166779655,1.6911817638964426,0],rightPoint:[.7405766097743269,1.3496188868229255,0],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1n1zoL6MhaLiDGbiwa1f2P",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:1.6911817638964426,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["swhHhwagxik9xtVxu4wfTo"],rightJoints:["1n1zoL6MhaLiDGbiwa1f2P"],leftPoint:[2.2500210753075183,1.6911817638964426,0],rightPoint:[1.4114408166779655,1.6911817638964426,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"mriUigHEL4wunXM4kHrR6L",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:1.520400325359684,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["hi3umDHUNXmBT4vcsRpTQy"],rightJoints:["mriUigHEL4wunXM4kHrR6L"],leftPoint:[2.9208852822111573,1.3496188868229255,0],rightPoint:[2.2500210753075183,1.6911817638964426,0],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"swhHhwagxik9xtVxu4wfTo",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:1.0934467290177876,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["dRRWEjS64akBN9tsLF4oVT"],rightJoints:["swhHhwagxik9xtVxu4wfTo"],leftPoint:[3.424033437388887,.8372745712126496,0],rightPoint:[2.9208852822111573,1.3496188868229255,0],relativeAngle:2.347138874989659,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hi3umDHUNXmBT4vcsRpTQy",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:.4957116941391323,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["uQk2JFg84bBpGZQkpPmwje"],rightJoints:["hi3umDHUNXmBT4vcsRpTQy"],leftPoint:[3.7594655408407065,.15414881706561503,0],rightPoint:[3.424033437388887,.8372745712126496,0],relativeAngle:2.027238521722415,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"dRRWEjS64akBN9tsLF4oVT",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.7594655408407065,cy:-.2728047792762874,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["muL5NfgYyKhfqV3h7fsQsn"],rightJoints:["dRRWEjS64akBN9tsLF4oVT"],leftPoint:[3.7594655408407065,-.6997583756181898,0],rightPoint:[3.7594655408407065,.15414881706561503,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"uQk2JFg84bBpGZQkpPmwje",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.08759481901404094,cy:-1.0500175234208071,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["7EX6pFLmgKqJLtfcWEpofK"],leftPoint:[-.06223881656851469,-.7171509170763901,0],rightPoint:[.23742845459659656,-1.3828841297652243,0],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"5WHTbyH9BzzN64KTDCgoMv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:-1.041321252691707,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["oikWBJjQhAPNedPGNcE3gc"],rightJoints:["uQk2JFg84bBpGZQkpPmwje"],leftPoint:[3.424033437388887,-1.3828841297652243,0],rightPoint:[3.7594655408407065,-.6997583756181898,0],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"muL5NfgYyKhfqV3h7fsQsn",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:-1.6390562875703623,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["i4ifyJQtiXdLMSDpWxEVF4"],rightJoints:["muL5NfgYyKhfqV3h7fsQsn"],leftPoint:[2.9208852822111573,-1.8952284453755002,0],rightPoint:[3.424033437388887,-1.3828841297652243,0],relativeAngle:.7944537786001341,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"oikWBJjQhAPNedPGNcE3gc",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:-2.0660098839122587,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["wop6FQVjsmsgGpEYiRnuWv"],rightJoints:["oikWBJjQhAPNedPGNcE3gc"],leftPoint:[2.2500210753075183,-2.2367913224490175,0],rightPoint:[2.9208852822111573,-1.8952284453755002,0],relativeAngle:.47093174957020895,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"i4ifyJQtiXdLMSDpWxEVF4",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:-2.2367913224490175,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["xvpmoVyQtt5PQRMqAmpsxP"],rightJoints:["i4ifyJQtiXdLMSDpWxEVF4"],leftPoint:[1.4114408166779655,-2.2367913224490175,0],rightPoint:[2.2500210753075183,-2.2367913224490175,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"wop6FQVjsmsgGpEYiRnuWv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:-2.0660098839122587,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["7EX6pFLmgKqJLtfcWEpofK"],rightJoints:["wop6FQVjsmsgGpEYiRnuWv"],leftPoint:[.7405766097743269,-1.8952284453755002,0],rightPoint:[1.4114408166779655,-2.2367913224490175,0],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xvpmoVyQtt5PQRMqAmpsxP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:-1.6390562875703623,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["5WHTbyH9BzzN64KTDCgoMv"],rightJoints:["xvpmoVyQtt5PQRMqAmpsxP"],leftPoint:[.23742845459659656,-1.3828841297652243,0],rightPoint:[.7405766097743269,-1.8952284453755002,0],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7EX6pFLmgKqJLtfcWEpofK",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"hYevMRVtvGbUbiRqk1nUc8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["5WHTbyH9BzzN64KTDCgoMv","7EX6pFLmgKqJLtfcWEpofK","xvpmoVyQtt5PQRMqAmpsxP","wop6FQVjsmsgGpEYiRnuWv","i4ifyJQtiXdLMSDpWxEVF4","oikWBJjQhAPNedPGNcE3gc","muL5NfgYyKhfqV3h7fsQsn","uQk2JFg84bBpGZQkpPmwje","dRRWEjS64akBN9tsLF4oVT","hi3umDHUNXmBT4vcsRpTQy","swhHhwagxik9xtVxu4wfTo","mriUigHEL4wunXM4kHrR6L","1n1zoL6MhaLiDGbiwa1f2P","xjtDHvujcFtzK6uxUtDUQW","eZcF1TXGmmHdWSo1nGEuPP","pvCLq35sk3nh5kUAUegEwu"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:22.101836585291686,cy:59.66510601397874,cz:.25,lx:10.346352433552571,ly:7.249184290263735,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nzCkjYnVxyaDzHFwCDNifn",selected:!1,locked:!1},{type:"Wall",cx:.29316921930580264,cy:25.564628992279733,cz:2.2408122612280286,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["s1xEbSBtShW5kWkbmjYKyT"],rightJoints:["kdHDzULPWJfMLCpsjYsWA1"],leftPoint:[10.453454562045218,25.564628992279733,0],rightPoint:[-9.867116123433613,25.564628992279733,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6NAiyB2LDnaumetDroz2SP",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:10.453454562045218,cy:.806623209903595,cz:2.2301039869226305,lx:49.516011564752276,ly:.1,lz:11.54977608077218,leftJoints:["4soX2cVpCLxg8TgMMdUsVJ"],rightJoints:["6NAiyB2LDnaumetDroz2SP"],leftPoint:[10.453454562045218,-23.951382572472543,0],rightPoint:[10.453454562045218,25.564628992279733,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s1xEbSBtShW5kWkbmjYKyT",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:-9.867116123433618,cy:.806623209903579,cz:2.228839888904333,lx:49.51601156475225,ly:.1,lz:11.54977608077218,leftJoints:["6NAiyB2LDnaumetDroz2SP"],rightJoints:["4soX2cVpCLxg8TgMMdUsVJ"],leftPoint:[-9.867116123433622,25.5646289922797,0],rightPoint:[-9.867116123433613,-23.951382572472543,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kdHDzULPWJfMLCpsjYsWA1",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:.29316921930580264,cy:-23.951382572472543,cz:2.268765007024547,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["kdHDzULPWJfMLCpsjYsWA1"],rightJoints:["s1xEbSBtShW5kWkbmjYKyT"],leftPoint:[-9.867116123433613,-23.951382572472543,0],rightPoint:[10.453454562045218,-23.951382572472543,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4soX2cVpCLxg8TgMMdUsVJ",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{id:"43U2Bn5NdVK18XM6yHM246",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["s1xEbSBtShW5kWkbmjYKyT"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,sideColor:"#8f6767",rise:6.296380038661177,ceiling:!1},{type:"Foundation",cx:31.800913861014813,cy:36.46175047854304,cz:.25,lx:23.12592612769986,ly:57.028897244406764,lz:.14437220100965228,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tRJdenhEy35bKxtqwaV7mW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rY4g4se9c9Ac81ycfZ2psF"],rightJoints:["edLYKiK67rcWj7yEjSg5Gw"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"m2HcdaunRK2mJDqZ6u7zB2",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["hnGSq9jjoBBqypZ4j6i4tD"],rightJoints:["m2HcdaunRK2mJDqZ6u7zB2"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rY4g4se9c9Ac81ycfZ2psF",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["m2HcdaunRK2mJDqZ6u7zB2"],rightJoints:["hnGSq9jjoBBqypZ4j6i4tD"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edLYKiK67rcWj7yEjSg5Gw",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["edLYKiK67rcWj7yEjSg5Gw"],rightJoints:["rY4g4se9c9Ac81ycfZ2psF"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hnGSq9jjoBBqypZ4j6i4tD",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"b6WgrEhvmm5vBfQ5hvUoV7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["hnGSq9jjoBBqypZ4j6i4tD","rY4g4se9c9Ac81ycfZ2psF","m2HcdaunRK2mJDqZ6u7zB2","edLYKiK67rcWj7yEjSg5Gw"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.0572589693394,cy:29.64082269160803,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4eW2GX1ScRsXHpNggfMAh6",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],rightJoints:["qCdtrWKEz7G85zz6r7u1bg"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4SRnxg5YyewBKp25hu7pX6",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["o3YcepgLVkYe1C12rYuUcN"],rightJoints:["4SRnxg5YyewBKp25hu7pX6"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iDdbvKHdvp7bwG9TRH7Z1s",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["4SRnxg5YyewBKp25hu7pX6"],rightJoints:["o3YcepgLVkYe1C12rYuUcN"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qCdtrWKEz7G85zz6r7u1bg",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["qCdtrWKEz7G85zz6r7u1bg"],rightJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"o3YcepgLVkYe1C12rYuUcN",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"w76LBs2JwDTGkqjmZCF8cs",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["o3YcepgLVkYe1C12rYuUcN","iDdbvKHdvp7bwG9TRH7Z1s","4SRnxg5YyewBKp25hu7pX6","qCdtrWKEz7G85zz6r7u1bg"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:21.776349007392366,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4grymoAeE1wyKWf6d9SvGL",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pqDxrgVJyRAZkmJDZW8KxP"],rightJoints:["5YtUmRWQdNuxWqery1ymqA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wgaVoeaxZnDaQiMJmkWwKa",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["osM7biMJmfhnN53neDAWtn"],rightJoints:["wgaVoeaxZnDaQiMJmkWwKa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pqDxrgVJyRAZkmJDZW8KxP",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["wgaVoeaxZnDaQiMJmkWwKa"],rightJoints:["osM7biMJmfhnN53neDAWtn"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5YtUmRWQdNuxWqery1ymqA",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["5YtUmRWQdNuxWqery1ymqA"],rightJoints:["pqDxrgVJyRAZkmJDZW8KxP"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"osM7biMJmfhnN53neDAWtn",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"ccBdYpfsEntnyimCgAGbFH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["osM7biMJmfhnN53neDAWtn","pqDxrgVJyRAZkmJDZW8KxP","wgaVoeaxZnDaQiMJmkWwKa","5YtUmRWQdNuxWqery1ymqA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:38.27619910075263,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEkR58t9MVxKb9UtTzLoRJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aWFGP4t67ffRZBsCFNikXA"],rightJoints:["2uYJDU198peC8Tg5ojQxP4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iWxYLc7ffDzpRdJiYsnbXJ",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],rightJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aWFGP4t67ffRZBsCFNikXA",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],rightJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uYJDU198peC8Tg5ojQxP4",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["2uYJDU198peC8Tg5ojQxP4"],rightJoints:["aWFGP4t67ffRZBsCFNikXA"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1Q3HJwHJv2PVY4SzR42Cjo",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"eQ7btevxK7r8DzoyTEdTxn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["1Q3HJwHJv2PVY4SzR42Cjo","aWFGP4t67ffRZBsCFNikXA","iWxYLc7ffDzpRdJiYsnbXJ","2uYJDU198peC8Tg5ojQxP4"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:46.27619910075262,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"61X5NKPMEEPTLmE48XtBWW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["fY4i2vP6PHczLiFYJKL6Wv"],rightJoints:["idjrGY3KVjR98yX9Yu1Ra6"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eMNaM3G63snsMKbM8u6oYY",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["amBCThLtBnL1J1PMrwDbZv"],rightJoints:["eMNaM3G63snsMKbM8u6oYY"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fY4i2vP6PHczLiFYJKL6Wv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["eMNaM3G63snsMKbM8u6oYY"],rightJoints:["amBCThLtBnL1J1PMrwDbZv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"idjrGY3KVjR98yX9Yu1Ra6",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["idjrGY3KVjR98yX9Yu1Ra6"],rightJoints:["fY4i2vP6PHczLiFYJKL6Wv"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"amBCThLtBnL1J1PMrwDbZv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"tuJvTy5gsauq5Hd2q2TrvG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["amBCThLtBnL1J1PMrwDbZv","fY4i2vP6PHczLiFYJKL6Wv","eMNaM3G63snsMKbM8u6oYY","idjrGY3KVjR98yX9Yu1Ra6"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.070416864076236,cy:54.22634900740702,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gJWB97wg6zgCYzFdGJY5ps",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["6pg1zB89qcq9dmq7s1ptPG"],rightJoints:["q4CuysQYWEW74wVhnGoz38"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vbW8e5Fx8RtgYAGG2GpRxh",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["27GGc5fv8LG1vuW4Uncogs"],rightJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6pg1zB89qcq9dmq7s1ptPG",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],rightJoints:["27GGc5fv8LG1vuW4Uncogs"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"q4CuysQYWEW74wVhnGoz38",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["q4CuysQYWEW74wVhnGoz38"],rightJoints:["6pg1zB89qcq9dmq7s1ptPG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"27GGc5fv8LG1vuW4Uncogs",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"vKsXGsPSDc5jtGNVG5pT4h",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["27GGc5fv8LG1vuW4Uncogs","6pg1zB89qcq9dmq7s1ptPG","vbW8e5Fx8RtgYAGG2GpRxh","q4CuysQYWEW74wVhnGoz38"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.02516540226579,cy:13.71724930866217,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"amG9BsG4REBbTJiqZddZRf",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pNFepfvePvMvRyTFP4sbzs"],rightJoints:["kf6UY9oxBvAS9oizmQi2UF"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"49srqvHCqp7LPpHj4YFmnX",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["qjgvxRHbZgjaPsgRgW2rKY"],rightJoints:["49srqvHCqp7LPpHj4YFmnX"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pNFepfvePvMvRyTFP4sbzs",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["49srqvHCqp7LPpHj4YFmnX"],rightJoints:["qjgvxRHbZgjaPsgRgW2rKY"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kf6UY9oxBvAS9oizmQi2UF",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["kf6UY9oxBvAS9oizmQi2UF"],rightJoints:["pNFepfvePvMvRyTFP4sbzs"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qjgvxRHbZgjaPsgRgW2rKY",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"585fnALdAC34mNZDfmGzpR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["qjgvxRHbZgjaPsgRgW2rKY","pNFepfvePvMvRyTFP4sbzs","49srqvHCqp7LPpHj4YFmnX","kf6UY9oxBvAS9oizmQi2UF"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.108670143366425,cy:21.75623548237505,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ijj9XtQP41yWeKSFtsH9KG",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["4FTkcMtCn8GmJne1UmBSnm"],rightJoints:["1fYMNpakzjWFH4TGNYecnG"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1P5iFtakfLrTXAgXy2xEwu",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["8SkMwYmnPtJVtGW2vvZau2"],rightJoints:["1P5iFtakfLrTXAgXy2xEwu"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4FTkcMtCn8GmJne1UmBSnm",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["1P5iFtakfLrTXAgXy2xEwu"],rightJoints:["8SkMwYmnPtJVtGW2vvZau2"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1fYMNpakzjWFH4TGNYecnG",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["1fYMNpakzjWFH4TGNYecnG"],rightJoints:["4FTkcMtCn8GmJne1UmBSnm"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8SkMwYmnPtJVtGW2vvZau2",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"5jHjwRti8g6gjQYwYNaqMu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["8SkMwYmnPtJVtGW2vvZau2","4FTkcMtCn8GmJne1UmBSnm","1P5iFtakfLrTXAgXy2xEwu","1fYMNpakzjWFH4TGNYecnG"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06868414507791,cy:13.792917787121219,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tsSkKMSbzvsCzXJnVjuqkh",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["eKwrTnqzoru7h1ejKJfQMg"],rightJoints:["aepE6idhiAJ636esCgz28B"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"sduDhLeTnLnC5gSRR1knQa",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["rD8sjfgNgEk8eR9fGvg7qv"],rightJoints:["sduDhLeTnLnC5gSRR1knQa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eKwrTnqzoru7h1ejKJfQMg",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["sduDhLeTnLnC5gSRR1knQa"],rightJoints:["rD8sjfgNgEk8eR9fGvg7qv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aepE6idhiAJ636esCgz28B",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aepE6idhiAJ636esCgz28B"],rightJoints:["eKwrTnqzoru7h1ejKJfQMg"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rD8sjfgNgEk8eR9fGvg7qv",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"gdKEp1z3y4ryc7dvjnUqEa",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["rD8sjfgNgEk8eR9fGvg7qv","eKwrTnqzoru7h1ejKJfQMg","sduDhLeTnLnC5gSRR1knQa","aepE6idhiAJ636esCgz28B"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.029331020077915,cy:30.2047466933794,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"c5x1qZw1vbVMAajuz84fbo",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rmuH4rirvchW582N8rYFag"],rightJoints:["uW9vVgQVERMAHeNEoWkYEh"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uUKBr4jcQhby6GvNzKqUHH",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["wbwhMTBcYQcbgteFUcRUx7"],rightJoints:["uUKBr4jcQhby6GvNzKqUHH"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rmuH4rirvchW582N8rYFag",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["uUKBr4jcQhby6GvNzKqUHH"],rightJoints:["wbwhMTBcYQcbgteFUcRUx7"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uW9vVgQVERMAHeNEoWkYEh",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["uW9vVgQVERMAHeNEoWkYEh"],rightJoints:["rmuH4rirvchW582N8rYFag"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wbwhMTBcYQcbgteFUcRUx7",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"rTW8jYbcN9iKLUvtZVEcCq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["wbwhMTBcYQcbgteFUcRUx7","rmuH4rirvchW582N8rYFag","uUKBr4jcQhby6GvNzKqUHH","uW9vVgQVERMAHeNEoWkYEh"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.063453741288843,cy:38.34103797920378,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8naBHyvVijZuabFdbTKFpX",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["ash2NaiDiFh6y8HJuTzbUe"],rightJoints:["rQ2xEkb62W6Hz14LruJt4U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ui6xC8viC2GKhF7W4v6W1c",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],rightJoints:["ui6xC8viC2GKhF7W4v6W1c"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ash2NaiDiFh6y8HJuTzbUe",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["ui6xC8viC2GKhF7W4v6W1c"],rightJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rQ2xEkb62W6Hz14LruJt4U",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rQ2xEkb62W6Hz14LruJt4U"],rightJoints:["ash2NaiDiFh6y8HJuTzbUe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4a5mwkpfWp9Ti3rrftjFDZ",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"aSwgfRaBWT4x8pjZRpNseg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["4a5mwkpfWp9Ti3rrftjFDZ","ash2NaiDiFh6y8HJuTzbUe","ui6xC8viC2GKhF7W4v6W1c","rQ2xEkb62W6Hz14LruJt4U"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.082728428788844,cy:46.363924541707796,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"pea8XwQNq3CzMWjVuAMDFt",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["9KWwq22ziFFGjGozMGZDJy"],rightJoints:["axJwDxU9qufHCzbi6cJjRE"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2xmth77a7rM6NqB4LYTVg3",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["47gofCM28sUzgssGChu6rj"],rightJoints:["2xmth77a7rM6NqB4LYTVg3"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9KWwq22ziFFGjGozMGZDJy",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["2xmth77a7rM6NqB4LYTVg3"],rightJoints:["47gofCM28sUzgssGChu6rj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"axJwDxU9qufHCzbi6cJjRE",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["axJwDxU9qufHCzbi6cJjRE"],rightJoints:["9KWwq22ziFFGjGozMGZDJy"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"47gofCM28sUzgssGChu6rj",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"wmVcJCTPwpivZkJBd9PRUz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["47gofCM28sUzgssGChu6rj","9KWwq22ziFFGjGozMGZDJy","2xmth77a7rM6NqB4LYTVg3","axJwDxU9qufHCzbi6cJjRE"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06830096335861,cy:54.39520622164741,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3FFY4h4Y53Ud4TwY2XAm3b",selected:!1,locked:!1},{type:"Wall",cx:-4.287405180985958,cy:.6870154234100241,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["eyhcnsCSVemrG9SDzg4nJ2"],rightJoints:["bHsvKPqQBPZPeMWXAxFnQa"],leftPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],rightPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aU3ZWFitC4Fgrww9n7FaQe",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.437238816568516,cy:-.0901973207344966,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["aU3ZWFitC4Fgrww9n7FaQe"],rightJoints:[],leftPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],rightPoint:[-4.437238816568516,-.5171509170763926,.25018525188061747],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bHsvKPqQBPZPeMWXAxFnQa",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:1.2934467290177807,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["xcRtMosaXc2kjoRaazGNSd"],rightJoints:["aU3ZWFitC4Fgrww9n7FaQe"],leftPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],rightPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eyhcnsCSVemrG9SDzg4nJ2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:1.7204003253596767,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["fsM3HFbdwGctcxehK1sWSn"],rightJoints:["eyhcnsCSVemrG9SDzg4nJ2"],leftPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],rightPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xcRtMosaXc2kjoRaazGNSd",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:1.8911817638964408,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["6XgmyJyqgEv5ifchExpE81"],rightJoints:["xcRtMosaXc2kjoRaazGNSd"],leftPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],rightPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fsM3HFbdwGctcxehK1sWSn",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:1.7204003253596767,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["fYWGXixdnmhXJQ9obJmEx4"],rightJoints:["fsM3HFbdwGctcxehK1sWSn"],leftPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],rightPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6XgmyJyqgEv5ifchExpE81",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:1.2934467290177807,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["4GwFXBtR54ZnyGA71jYYZc"],rightJoints:["6XgmyJyqgEv5ifchExpE81"],leftPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],rightPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],relativeAngle:2.347138874989659,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fYWGXixdnmhXJQ9obJmEx4",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:.6957116941391277,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["eBehuFBXFQvHTyVLAdaGdf"],rightJoints:["fYWGXixdnmhXJQ9obJmEx4"],leftPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],rightPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],relativeAngle:2.027238521722415,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4GwFXBtR54ZnyGA71jYYZc",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.6155344591592917,cy:-.07280477927628937,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["d7o4BGzTN8VdkyE1cWq7ia"],rightJoints:["4GwFXBtR54ZnyGA71jYYZc"],leftPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],rightPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eBehuFBXFQvHTyVLAdaGdf",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.2874051809859575,cy:-.85001752342081,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["71Xv23m81dcuvYBk8UDpg2"],leftPoint:[-4.437238816568513,-.5171509170763926,.25018525188061747],rightPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xewwKY8wmraW5H3W8KA3XV",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:-.8413212526917135,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["gKowPySkxP5QDpYS45Ky87"],rightJoints:["eBehuFBXFQvHTyVLAdaGdf"],leftPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],rightPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"d7o4BGzTN8VdkyE1cWq7ia",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:-1.4390562875703665,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["w2pokb3YWg3yZ7YCCbdX1w"],rightJoints:["d7o4BGzTN8VdkyE1cWq7ia"],leftPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],rightPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],relativeAngle:.7944537786001341,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gKowPySkxP5QDpYS45Ky87",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:-1.8660098839122625,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["6uEEWTZCV76LChiCEwjXou"],rightJoints:["gKowPySkxP5QDpYS45Ky87"],leftPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],rightPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],relativeAngle:.47093174957020895,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"w2pokb3YWg3yZ7YCCbdX1w",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:-2.0367913224490195,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],rightJoints:["w2pokb3YWg3yZ7YCCbdX1w"],leftPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],rightPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6uEEWTZCV76LChiCEwjXou",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:-1.8660098839122625,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["71Xv23m81dcuvYBk8UDpg2"],rightJoints:["6uEEWTZCV76LChiCEwjXou"],leftPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],rightPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t5GH8Xd8h7kQ1uXXK7nK76",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:-1.4390562875703665,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["xewwKY8wmraW5H3W8KA3XV"],rightJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],leftPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],rightPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"71Xv23m81dcuvYBk8UDpg2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"fvYFb2pAnenzxFGy1hd1nC",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["xewwKY8wmraW5H3W8KA3XV","71Xv23m81dcuvYBk8UDpg2","t5GH8Xd8h7kQ1uXXK7nK76","6uEEWTZCV76LChiCEwjXou","w2pokb3YWg3yZ7YCCbdX1w","gKowPySkxP5QDpYS45Ky87","d7o4BGzTN8VdkyE1cWq7ia","eBehuFBXFQvHTyVLAdaGdf","4GwFXBtR54ZnyGA71jYYZc","fYWGXixdnmhXJQ9obJmEx4","6XgmyJyqgEv5ifchExpE81","fsM3HFbdwGctcxehK1sWSn","xcRtMosaXc2kjoRaazGNSd","eyhcnsCSVemrG9SDzg4nJ2","aU3ZWFitC4Fgrww9n7FaQe","bHsvKPqQBPZPeMWXAxFnQa"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:42.75366036851538,cy:59.539698159110614,cz:.25,lx:10.249999999999995,ly:6.800000000000001,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h1eHzifF9EYnFRDPhVNFMh",selected:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.8009797439083822,lx:.12303976124405665,ly:.3,lz:.500612339942739,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"kCsahZfC53mhXpdE7TMKTD",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"n1xfWKYM49Ta9i1jvUnSdx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3030361779763614,lx:.14763364899706352,ly:.3,lz:1.1255629467693422,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"t1uT7pQu9MoDXHdkcvNfZV",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"oHgCutzcC6esppUpaCZhxo",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-3.1586003174219464,cy:42.50138216080711,cz:.300000011920929,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"gGGvteApaSqA4rn3D5Jbp6",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qRAtVr3qjJXnPZvCynZgyN",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"k25WWUL3hGYFBBRg8XmfZg",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"xpvMVVPvYfJtfXdZGuJKJ7",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3420580759264758,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"9MktNmqdZdUjgUT3J7mmKP",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1805306511834178,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"5VB6B3ApC4i4eK9yQ41MtE",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.019003226440359768,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"wzeRPHbDL7fX7eVg8JovP1",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.15202581152287814,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gajXEi8SYukHS1ccyswRmf",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3135532362659362,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"8XYd7CxYiMzmhMgtNcF9hb",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.30405162304575645,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"iXrcQAXko5wJpsX8sJ8oxo",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.14252419830269836,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dP8bg5cpSmNTjTSvLF6GmF",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.028504839660539658,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"nEjY9Gpj1vzDHW816Q21tM",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.17102903796323798,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gFdP6DrScRCmNaddZ5LxW9",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.34205807592647597,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qYRq9Vy4HqB8CxTJbdKN9R",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.40390975298658544,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7Lt4nrPUnVMu764fCtZmnY",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:15.537054538671264,cy:-5.629500472027733,cz:.30000001192093256,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"8dBf5N1hG2GfhtqSBisTkY",selected:!1,locked:!1,ly:.65},{type:"Window",cx:-.23224810796728662,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j9LyHn7BbYyr1sVT3bpcdF",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07068420677265246,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"f2jDtPu32L3psHVPyQZste",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10097743824664636,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ojDrT4TtdCUuT741f3Cvkd",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26254133944128055,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"r25WWueVXf7KAQQ6LVAkkh",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26254133944128066,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"881QknQ9aYiDKonXA8GnKw",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.10097743824664644,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6AJhEo3V3och7gTNYqoNM9",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.06058646294798784,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fL6TEjx55ZJKxKH9q12vGC",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23224810796728676,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"51kmNRrRmSEhwTtk8tqNeL",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.40390975298658566,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fXSwM2zT4Nfs9fKB83zeeM",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"mrwfYRsQYZsxgg3XbWQ1C9",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"bbxD9VsSepsiYkXX43SgSR",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7a1XMVdYNgeWFuGynLbyj6",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Door",cx:.024287272766822392,cy:0,cz:-.45,lx:.24287272766822393,ly:0,lz:.1,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"bWWJD1gFk9dmFyj6UtBgyw",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3157345459686911,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"4S2resCtMssVYmHmddP2zN",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"sBu7pLatsE56Y6wmZEVsrW",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"pKcG4z62TKd9yDYm6HvFre",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"94jWNmV88zyuJzH2jKEhjS",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.31573454596869105,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qLUGPVCbRRso5wPajMPhB9",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jeff",cx:-15.661746199983284,cy:-22.272680701572895,cz:.30000001192093256,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"ePaWVnF4Nn4YocprHwRiBU",selected:!1,locked:!1,ly:.6},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3333333333333333,lx:.35456471175665405,ly:.3,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"szxkDJ4zvsmCjRAjDwr4oT",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"mP3Am8ZtiUAtGfBZJbxuUF",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"dJZj2sUCxXenPrW2Jawxrw",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ta3rrvA6SZ71h7JpdQ8H9v",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ka6Tnds7o2rpeQbTUL5XNR",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3AmRpUZe9Zieufb9NFpKUe",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"9wNFWndGsb6CZofrG9Fupa",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ss9gxEkgAKKu97XBUXNM54",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"u7JMjGgg9RrLGWHEohLHUW",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"seZJReiTn7AB935XPj7nmi",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j44vXPNj93wPQunzLh8T1Q",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"shnTbDVozQrbvzKdN1MMK9",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"33HVy94BzEoDPXtrspXujk",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j4J8y7JeZK4qxfinaK39hR",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cRf1jRTwuR2e4zLg6vFDLv",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"vkoYTRq9mT4PwEwXPraM2s",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mwATeDbSxAHev6LkxaPgTD",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3143364729119479,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"foK7LkvSM2WCizQJfUWA13",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.029980389503821973,cy:.1,cz:.3416666666666667,lx:.4796862320611516,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"ho8wYRGhLSJb2djJKqwSe1",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"kNDuFavJnC2DWCruSM8Yz5",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04497058425573294,cy:.1,cz:.3416666666666667,lx:.5096666215649733,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"55SwaH9QxLHmcgrnQzAWTs",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"1zwyQ7SmozfQ7SawBNjqnG",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3416666666666667,lx:.47275294900887205,ly:.1,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"rCFFBj6A2tyxuTVf5rPe81",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"pNX7KUpUJwgYkqu5xoyYFx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1}],Hdn=88,Mdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[53.57176406047198,16.258735969028876,-5704638955527846e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[53.57176406047198,16.25858596239243,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-85.36846751108261,-76.3704417077798,98.31866395924627],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.3760018455292,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[59.19446663129345,19.785139016084358,32.12480868336017],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Idn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zdn=1,Ddn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Edn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Fdn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ldn="Unknown",Wdn=null,Ndn=null,Udn=null,Bdn=[],jdn={docid:vdn,time:xdn,timestamp:bdn,userid:Sdn,owner:Tdn,email:Pdn,world:Cdn,elements:Rdn,sceneRadius:Hdn,view:Mdn,graphState:Idn,evolutionMethod:zdn,solarPanelArrayLayoutParams:Ddn,solarPanelArrayLayoutConstraints:Edn,evolutionaryAlgorithmState:kdn,economicsParams:Fdn,modelType:Ldn,modelAuthor:Wdn,modelLabel:Ndn,modelDescription:Udn,notes:Bdn},Ydn="e5Mx3kDX6jj2XdEqyRiZ5Z",Odn="06/12/2023 05:06 pm",_dn=1686603965753,Vdn=null,Gdn=null,Xdn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Jdn=[{type:"Human",name:"Jedi",cx:-.35404550237608445,cy:-9.031512450493677,cz:-4440892098500626e-31,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Foundation",cx:.005791011935526669,cy:.058297538110867464,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:.00416666666666667,cy:0,cz:-.27499999999999997,lx:.125,ly:0,lz:.45,textureType:"Door Texture #15",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Arched",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!0,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vXvgSmG1wzCSFmLFyHD3px",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Human",name:"Jess",cx:-7.267359835478274,cy:-5.46716265973663,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:.030224599657563633,cy:2.181664431199555,cz:2.2408122612280286,lx:4.432938866484924,ly:.3,lz:2.43795716101014,leftJoints:["6q7e31mDw8dyN76mepj8pf"],rightJoints:["91j8TFnFqna2wESTuPP4Kp"],leftPoint:[2.2466940329000256,2.181664431199555,0],rightPoint:[-2.1862448335848983,2.181664431199555,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ej8aZCWbLXMBpE4Cdavwp6",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:2.43795716101014,centerRoofHeight:[-.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:2.2466940329000256,cy:-.05093095151911964,cz:2.2301039869226305,lx:4.46519076543735,ly:.3,lz:3.9650570060090606,leftJoints:["oNnwF78XTbjrii9WEpinq5"],rightJoints:["ej8aZCWbLXMBpE4Cdavwp6"],leftPoint:[2.246694032900025,-2.2835263342377945,0],rightPoint:[2.2466940329000264,2.181664431199555,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6q7e31mDw8dyN76mepj8pf",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:3.9650570060090606,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.2233373091364115,rightUnfilledHeight:3.2233373091364115,leftTopPartialHeight:3.9650570060090606,rightTopPartialHeight:3.9650570060090606},{type:"Wall",cx:-2.1862448335848983,cy:-.05093095151911964,cz:2.228839888904333,lx:4.46519076543735,ly:.3,lz:2.43795716101014,leftJoints:["ej8aZCWbLXMBpE4Cdavwp6"],rightJoints:["oNnwF78XTbjrii9WEpinq5"],leftPoint:[-2.1862448335848983,2.181664431199555,0],rightPoint:[-2.1862448335848983,-2.2835263342377945,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"91j8TFnFqna2wESTuPP4Kp",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:2.43795716101014,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:.030224599657564077,cy:-2.2835263342377945,cz:2.268765007024547,lx:4.432938866484925,ly:.3,lz:2.43795716101014,leftJoints:["91j8TFnFqna2wESTuPP4Kp"],rightJoints:["6q7e31mDw8dyN76mepj8pf"],leftPoint:[-2.1862448335848983,-2.2835263342377945,0],rightPoint:[2.2466940329000264,-2.2835263342377945,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNnwF78XTbjrii9WEpinq5",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:3.9650570060090606,centerRoofHeight:[.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Foundation",cx:-8.111049740764729,cy:.08239268090626156,cz:.05,lx:6.036367189018974,ly:6.431853734147982,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7pHjvqBpPz7sYq5ET1nnMX",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["6q7e31mDw8dyN76mepj8pf"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",id:"soVsWFGXbdhR2HYVAwuauC",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:-.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aS26toPbuxFA4EAg6ptRCD",parentId:"oNnwF78XTbjrii9WEpinq5",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.08281474884461537,lx:.671863792073878,ly:.3,lz:.6547294618469256,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oy9eXMTPrwyNzvomHovfsD",parentId:"91j8TFnFqna2wESTuPP4Kp",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4mXMxYJnZGCrX3QZdFQHGr",parentId:"ej8aZCWbLXMBpE4Cdavwp6",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.8322807242725112,cy:1.200921695970016,cz:2.2408122612280286,lx:.8544333532350403,ly:.15,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.4050640476549914,cy:.14277050874931954,cz:2.2301039869226305,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.259497400890032,cy:.14277050874931954,cz:2.228839888904333,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.8322807242725112,cy:-.9153806784713785,cz:2.268765007024547,lx:.8544333532350405,ly:.15,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],relativeAngle:0,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:7.486416419884205,cy:-.2409139792702466,cz:.05,lx:2.839701333763733,ly:2.938267885749648,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:8.075263543932596,cy:-.6884958197811117,cz:.5701039576976044,lx:5.507966558248896,ly:.1,lz:1,leftJoints:[],rightJoints:["mqNMzZ6M874kpGr6Eb5P4b"],leftPoint:[8.075263543932598,2.065487459343336,0],rightPoint:[8.075263543932595,-3.4424790989055594,0],relativeAngle:-1.5707963267948974,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pTqaBUKRmjPL9fsFDPBYdH",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-8.075263543932598,cy:-.6884958197811117,cz:2.228839888904333,lx:5.507966558248896,ly:.1,lz:1,leftJoints:["txrhd5ZN1ZaUi7X6CidW39"],rightJoints:[],leftPoint:[-8.075263543932598,-3.4424790989055594,0],rightPoint:[-8.075263543932598,2.065487459343336,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1eZoH5UbMqtXnnStv5oPMy",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.545116350166421,cy:-3.4494515352900414,cz:.6126379187745709,lx:9.060305118936492,ly:.1,lz:1,leftJoints:[],rightJoints:["1eZoH5UbMqtXnnStv5oPMy"],leftPoint:[.9850308435997561,-3.4564239716745235,0],rightPoint:[-8.075263543932598,-3.4424790989055594,0],relativeAngle:3.140053535636089,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"txrhd5ZN1ZaUi7X6CidW39",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-2.1373102684560767,cy:-4.085170940145713,cz:.05,lx:19.693313015419633,ly:8.765160185704904,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eUQQcfUyWDHA7KoGuDBRyw",selected:!1,locked:!0,enableGroupMaster:!1,notBuilding:!0},{type:"Wall",cx:5.761435748265872,cy:-3.449451535290042,cz:.5701039576976044,lx:4.6276766018679725,ly:.1,lz:1,leftJoints:["pTqaBUKRmjPL9fsFDPBYdH"],rightJoints:[],leftPoint:[8.075263543932598,-3.4424790989055603,0],rightPoint:[3.4476079525991463,-3.4564239716745235,0],relativeAngle:-3.1385792853117462,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mqNMzZ6M874kpGr6Eb5P4b",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Tree",name:"Elm",cx:12.193483954680035,cy:-3.450559107713003,cz:8881784197001252e-31,lx:8.182228289296598,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-14.053228627664431,cy:-3.1648808638293726,cz:0,lx:7.51702234293303,lz:8.935898046217556,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:3.290712882109931,cy:-6.730243806005441,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-3.2352418118616306,cy:-6.686295545696994,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-5.425159494402423,cy:-6.686295545696994,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-7.004918274330166,cy:-.19566971843541836,cz:.03284187614917755,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"qPgjnRK2xBNDKQYWaqPEJW",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:-9.151037603220141,cy:-3.889330876320888,cz:.03284187614917755,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"m8cKNBQB4gUpU1aJMFZzhU",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:9.13503616494302,cy:-3.964216287045085,cz:.032841876149175775,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tncEiBTcdo5sNQWHKbsyh2",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-7.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3vTcKnJjhDrau5WtHq6mBt",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-6.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"sDmTVeVfizELxSDFfm4Uea",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"g823QGzRg2L3V2cZr4aRxd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-4.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"hHUhERpDDMaotPBoVG69kS",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-3.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"kHQDrKatqtEmBRsqGsesEx",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-2.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tZShdZCdNYPMDRYqULaCBd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-1.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"7t2HS7jELVuWTJ8wEd6GU6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2CQpgvbKEJRX6BS4JzKyeA",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:.33810642090759657,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"j13bnHy89XjWxoKTXY11wT",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:3.9884684920246123,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"jGj2jbHeSWSMLQ4R6813YK",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:4.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2Fq3eCF7Cmj4HXLnWJj5XE",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3ykQAwfp6KeX9fEn2PpH4T",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"e26QSrjZiynidud1nyPf16",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:7.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"aZdoik5bFQJGAW29Jo71RA",selected:!1,locked:!0},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:-.15060725129335759,cy:-.0069023347929206705,cz:8.339264661200525,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gsaoCVaDLKgne3oCcDZ5e9",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:.004999999999999995,cy:0,cz:-.02333333333333333,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eS9BNDuHjJf4dGFLVwhXwG",selected:!1,locked:!0},{type:"Door",cx:-.01000000000000002,cy:0,cz:-.21666666666666667,lx:.42000000000000004,ly:0,lz:.5666666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"jbVYfDfRVVQDSMqv6ux2rr",locked:!0,interior:!0},{type:"Foundation",cx:.0987039168470164,cy:-6.316994564085812,cz:.05,lx:3.2352197337597937,ly:4.369968224342228,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.016199018084092187,cy:1.482279391694321,cz:2.2408122612280286,lx:2.375854690465504,ly:.3,lz:3.2841875196772365,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[1.204126363316844,1.482279391694321,0],rightPoint:[-1.1717283271486596,1.482279391694321,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:1.2041263633168442,cy:-.03460380925524109,cz:.9803491274068566,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[1.204126363316844,-1.5514870102048033,0],rightPoint:[1.2041263633168446,1.482279391694321,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:-1.1717283271486596,cy:-.03460380925524109,cz:2.228839888904333,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-1.1717283271486596,1.482279391694321,0],rightPoint:[-1.1717283271486596,-1.5514870102048033,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:.01619901808409252,cy:-1.5514870102048033,cz:2.268765007024547,lx:2.3758546904655042,ly:.3,lz:3.2841875196772365,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-1.1717283271486596,-1.5514870102048033,0],rightPoint:[1.2041263633168446,-1.5514870102048033,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Default",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Partial",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.110608215274513,rightUnfilledHeight:3.110608215274513,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["maCaKmF7W1UtJB4NhBQsX3"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"kL2csyDhpYU6Tdyq5APXiG",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:.5529106524358953,ceiling:!1,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.21045058100840097,y:-.6089786250075502},{x:-.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.6089786250075502}],parentId:"5ExmWkfAba5nuC3xfHo5vU",parentType:"Wall",foundationId:"myXiyVt2NURPnPChDUSnvF",selected:!1,filled:!0,selectedIndex:2,id:"19jcnLnazAo68d9SCy19QV",noOutline:!0,text:"26",fontSize:.35,fontColor:"gold",locked:!0},{type:"Door",cx:-.05,cy:0,cz:-.4583333333333333,lx:.1,ly:0,lz:.08333333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3zkRmLGDcsm6tCGsvCTs4B",interior:!0,frameColor:"#4d4d4d",locked:!0}],Kdn=22,qdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-7.862597366276697,1.7514757983201874,17661570980830242e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-7.862597366276697,1.7504754208759876,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.838817312607155,-22.7607406255055,2.6094586494143144],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.07649922483275468,1.5616450860400017,2.4309145652183837],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},$dn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Qdn=1,Zdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},efn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},tfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ofn="Unknown",ifn=null,rfn=null,afn=null,lfn=[],sfn={docid:Ydn,time:Odn,timestamp:_dn,owner:Vdn,email:Gdn,world:Xdn,elements:Jdn,sceneRadius:Kdn,view:qdn,graphState:$dn,evolutionMethod:Qdn,solarPanelArrayLayoutParams:Zdn,solarPanelArrayLayoutConstraints:efn,evolutionaryAlgorithmState:tfn,economicsParams:nfn,modelType:ofn,modelAuthor:ifn,modelLabel:rfn,modelDescription:afn,notes:lfn},cfn="bdxRpN9LUZ1jTZzjLf3j79",ufn="08/16/2023 09:04 am",dfn=1692191055280,ffn="QWecNcxhyvP6j6sBN11hBsfZDau1",hfn=null,pfn=null,gfn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},mfn=[{ly:15.82679166341284,solarUpdraftTower:{},parentId:"Ground",cx:-8.9649429178124,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.5215353669749065,type:"Foundation",solarPowerTower:{},lx:19.683950802792882,lz:.08304003951954272,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.04152001975977136,enableGroupMaster:!0,textureType:"Foundation Texture #4",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3.3216015807817088,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-6.139317409562167,6.280059949020198,.08304003951954272],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.860682590437832,6.280059949020198,.08304003951954272],type:"Wall",rightRoofHeight:3.3216015807817088,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3.3216015807817088,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.13931740956216743,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:6.280059949020198,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.860682590437831,leftPoint:[5.860682590437829,-3.719940050979802,.08304003951954272],cy:1.2800599490201985,leftRoofHeight:3.3216015807817088,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.860682590437833,6.280059949020198,.08304003951954272],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3.3216015807817088,centerRoofHeight:[0,6.6432031615634175],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{lx:10,lz:3.3216015807817088,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:1.2800599490201985,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,6.6432031615634175],rightPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.139317409562166,6.280059949020198,.08304003951954272],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3.3216015807817088,ly:.3,cx:-6.139317409562167,centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{showLabel:!1,cx:-.13931740956216743,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.860682590437833,-3.719940050979802,.08304003951954272],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-3.719940050979802,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],ly:.3,lz:3.3216015807817088,leftRoofHeight:3.3216015807817088,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3.3216015807817088,lx:12,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Window",showLabel:!1,ly:0,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.07139510364251808,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.07139510364251808,normal:[0,0,1],cx:-.225,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.44384979425833565,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.07139510364251808,cy:.3,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.07139510364251808,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joan",cx:-9.748795495187615,cy:-11.885843529724642,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:1.7,locked:!0},{type:"Tree",name:"Magnolia",flip:!0,cx:2.83831023868078,cy:.3026770951383977,cz:0,lx:4.909285741329502,lz:7.047282022546526,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.2916666666666667,cy:-13376344861350336e-31,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:-11010413489448665e-30,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",thickness:.15,locked:!0,rise:3.3216015807817088,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:-.17032995035379805,cy:2.9140760690705836,cz:2.2408122612280286,lx:4,ly:.3,lz:3.45,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.829670049646202,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,2.9140760690705845,.08304003951954272],relativeAngle:3.1415926535897922,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.4499999999999993,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.35,rightUnfilledHeight:3.35,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:1.829670049646202,cy:-.3359239309294191,cz:2.2301039869226305,lx:6.500000000000001,ly:.3,lz:3.45,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462037,2.914076069070582,.08304003951954272],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.0873856802470327,rightUnfilledHeight:2.3262939270695226,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-2.170329950353798,cy:-.3359239309294191,cz:2.228839888904333,lx:6.5,ly:.3,lz:3.45,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-2.170329950353798,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.1078217002230364,rightUnfilledHeight:2.2273879622936055,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-.17032995035379805,cy:-3.5859239309294173,cz:2.268765007024547,lx:3.9999999999999982,ly:.3,lz:3.45,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.450000000000001,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35000000000000003,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Foundation",cx:-8.995176289846825,cy:-2.548120633774467,cz:.04152001975977136,lx:7.238675704625617,ly:10.649205015118838,lz:.08304003951954272,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,textureType:"No Foundation Texture",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"Joel",cx:-7.789004610682257,cy:-12.04210360652551,cz:8881784197001252e-31,lx:1.8,ly:1.8,lz:1.75,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.8730728022225684,lx:.4000000000000002,ly:.3,lz:.5419072565519394,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9sxNKgBrTJz5rbuB2EAigV",mullionSpacing:.56,shutter:{showLeft:!1,showRight:!1,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:.8,empty:!1},{type:"Door",cx:-.012500000000000002,cy:0,cz:-.0693642478160203,lx:.225,ly:0,lz:.8612715043679594,textureType:"Door Texture Default",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3ToGStSrcyguQUUqJUFhxz",locked:!0,doorType:"Default",archHeight:1,filled:!1,interior:!0},{type:"Window",cx:-.3,cy:0,cz:0,lx:.10000000000000002,ly:0,lz:.5000000000000001,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qoQarTFv95tVF8owcPVUFr",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.35,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFrpbUVsUk5Cyw1YgAc3Su",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:0,cz:1.1,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"g7oggQtbGLCJnWDBEWrL6f",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9KXbYufDZik3nedxtSG2Wa",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:11102230246251565e-31,cz:0,lx:.1,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hP5LnWCZSyCWuh6LURpM1g",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.5000000000000002,ly:0,lz:.75,textureType:"Door Texture #2",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"xfiB1ehYmvvHX7d6tsihDv",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-13.194524944705082,cy:-3.7517234810804703,cz:.05,lx:4.724839965236282,ly:9.227617734475299,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vQQ15yke8RSPKZiM6iV1gf",textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-1.1428938383677334,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:4.71238898038469,leftPoint:[-1.1428938383677334,4.324112741869479,.1],rightPoint:[-1.1428938383677334,-.1758872581305213,.1],leftJoints:["9UyBScab4vxjAdrfwjXhxP"],rightJoints:["6U3sDe4yzT2QH8iRY62SdZ"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"1F9rbQh1mAYkQprzoxJ12Q",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.4823963079433295,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:4.324112741869479,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:3.141592653589793,leftPoint:[1.3571061616322666,4.324112741869479,.1],rightPoint:[-1.1428938383677334,4.324112741869479,.1],leftJoints:["vy2WJt6CvVCYvqCPAeFYe5"],rightJoints:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9UyBScab4vxjAdrfwjXhxP",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.238894569131756,rightUnfilledHeight:4.238894569131756,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3571061616322666,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:1.5707963267948966,leftPoint:[1.3571061616322666,-.1758872581305213,.1],rightPoint:[1.3571061616322666,4.324112741869479,.1],leftJoints:["6U3sDe4yzT2QH8iRY62SdZ"],rightJoints:["9UyBScab4vxjAdrfwjXhxP"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"vy2WJt6CvVCYvqCPAeFYe5",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.596810400573552,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:-.1758872581305213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:0,leftPoint:[-1.1428938383677334,-.1758872581305213,.1],rightPoint:[1.3571061616322666,-.1758872581305213,.1],leftJoints:["1F9rbQh1mAYkQprzoxJ12Q"],rightJoints:["vy2WJt6CvVCYvqCPAeFYe5"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"6U3sDe4yzT2QH8iRY62SdZ",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6595021394542453,rightUnfilledHeight:3.6595021394542453,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9Jb55MpdEHfaQRtH1w8w7c",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.8497468529083303,ceiling:!1},{type:"Wall",cx:-1.1202290403576152,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["1nb1rRhk5XTwkqRDvamK5g"],rightJoints:["3LCPjAAvYioWiSGfdrWDra"],leftPoint:[-1.1202290403576152,4.321621897384919,.1],rightPoint:[-1.1202290403576152,-.17837810261508213,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"bpwfKUJNQLVoQQHt2xqi72",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.2790718567695616,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:4.321621897384919,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["mMwirEeb4r8mhYQ7E9qdX2"],rightJoints:["bpwfKUJNQLVoQQHt2xqi72"],leftPoint:[1.3797709596423848,4.321621897384919,.1],rightPoint:[-1.1202290403576152,4.321621897384919,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"1nb1rRhk5XTwkqRDvamK5g",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6979530221307058,rightUnfilledHeight:3.6979530221307058,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3797709596423848,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["3LCPjAAvYioWiSGfdrWDra"],rightJoints:["1nb1rRhk5XTwkqRDvamK5g"],leftPoint:[1.3797709596423848,-.17837810261508213,.1],rightPoint:[1.3797709596423848,4.321621897384919,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"mMwirEeb4r8mhYQ7E9qdX2",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.3444620413364214,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:-.17837810261508213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["bpwfKUJNQLVoQQHt2xqi72"],rightJoints:["mMwirEeb4r8mhYQ7E9qdX2"],leftPoint:[-1.1202290403576152,-.17837810261508213,.1],rightPoint:[1.3797709596423848,-.17837810261508213,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"3LCPjAAvYioWiSGfdrWDra",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.203916013233736,rightUnfilledHeight:3.203916013233736,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Foundation",cx:-5.154384285489001,cy:-3.843449030047704,cz:.05,lx:5.245611715983199,ly:9.222636045506174,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["bpwfKUJNQLVoQQHt2xqi72"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"3RtfyZgDoXZ3wGixrorVUM",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.85,ceiling:!1},{type:"Window",cx:.019999999999999997,cy:.1,cz:.35266980188300795,lx:.44000000000000006,ly:.3,lz:.22364426460873682,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"3LCPjAAvYioWiSGfdrWDra",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"nEpoC7XwMto4CjwuGq3WQ5",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3607208764315504,lx:.4,ly:.3,lz:.24194892545145757,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"6U3sDe4yzT2QH8iRY62SdZ",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"izgEX4RP4fMzobDmWztBrf",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-9.128472071553885,cy:-5.731921555180726,cz:.05,lx:10.661429059004004,ly:5.310443804879643,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jjxHg8QgQHBYMPjmTLKh9Y",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-3.055204431580803,cy:-1.835109259524482,cz:0,lx:1.8466260644079497,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[-2.131891399376828,-1.835109259524483,.1],relativeAngle:6.283185307179585,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wyasgQhDU8TZWAHXXtnR4J",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:.5175200861571223,lx:3.3487156536839,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"6Hv4mJv5hCRGAqNa8Wf45B",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.7895023054362934,rightTopPartialHeight:.7895023054362934},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:.5732895465300347,lx:3.3487156536839007,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],relativeAngle:1.570796326794897,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"1fR31M3LuxWCDraA3p4mZU",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.847582665593212,rightTopPartialHeight:.847582665593212},{type:"Wall",cx:2.997153367934011,cy:-1.835109259524483,cz:0,lx:1.951341663437577,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[2.0214825362152222,-1.835109259524483,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"iUM2Ms6kj53m7TzQjPhH62",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-1.6211500807426074,cy:.8631023553389863,cz:.05,lx:4.818228793661425,ly:2.663944474302019,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1tKxhv9RZ3WGSr4yfyFtGe",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-.7514450867052019,cy:.5637297015144593,cz:0,lx:1.5028901734104034,ly:.25,lz:9,relativeAngle:3.141592653589793,leftPoint:[-26696692384049984e-32,.5637297015144593,0],rightPoint:[-1.5028901734104037,.5637297015144593,0],leftJoints:["188rdr57sdmGcfGiDQEznS"],rightJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"nzDmLXy4XJEJgippavtWPK",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:.00011804109969691571,cy:-.1412546603508431,cz:0,lx:1.4099687434951584,ly:.25,lz:9,relativeAngle:1.5709637646913654,leftPoint:[.00023608219939409838,-.8462390222161456,0],rightPoint:[-26696692384049984e-32,.5637297015144593,0],leftJoints:["bKLADc1rtEXxLWJ2wpXCyG"],rightJoints:["nzDmLXy4XJEJgippavtWPK"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"188rdr57sdmGcfGiDQEznS",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-1.5028901734104037,cy:-.14093242537861483,cz:0,lx:1.4093242537861483,ly:.25,lz:9,relativeAngle:-1.5707963267948966,leftPoint:[-1.5028901734104037,.5637297015144593,0],rightPoint:[-1.5028901734104037,-.845594552271689,0],leftJoints:["nzDmLXy4XJEJgippavtWPK"],rightJoints:["bKLADc1rtEXxLWJ2wpXCyG"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"t7nvzQnWvPgJFKi8qM2KJ2",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7702585421996653,rightUnfilledHeight:3.7702585421996653,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.7513270456055048,cy:-.8459167872439173,cz:0,lx:1.5031263937690138,ly:.25,lz:9,relativeAngle:-.0004287530089774864,leftPoint:[-1.5028901734104037,-.845594552271689,0],rightPoint:[.00023608219939409838,-.8462390222161456,0],leftJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],rightJoints:["188rdr57sdmGcfGiDQEznS"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"bKLADc1rtEXxLWJ2wpXCyG",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Tree",name:"Dogwood",flip:!0,cx:-17.829756210687247,cy:-6.178261442103567,cz:0,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sgSHG9SfkfzrTceiA5T19b",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-14.43393823103578,cy:-4.956583187921545,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fwbwXjTKB4ejYpnXGBAaQt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.4821432852704675,cy:.4495990226501192,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"24FmLU3mJkXNY53JzrL5Dt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.910500041352744,cy:.9540476712796391,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"reEeBmqCcbQu2EtMT38ywZ",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.9562085665626325,cy:1.0667527129983299,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"o3P5EpuHXdx6pH3hYkfv1R",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.317403660851184,cy:.4787676966756642,cz:.05999999865889727,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"3LVtMLU8sBDE9SYSdKtA6S",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:5.530912218683256,cy:1.5116578930650046,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"2Y1swCnkjr3jQPeteyJshF",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.806452300697741,cy:1.744166442984243,cz:.05999999865889727,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"8t9PQbZw572ixzdS9MRLLW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.291768127996638,cy:1.3247562673381097,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"4JVL5x9cWyH4LksfSY1fX3",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.661246706636892,cy:1.5508003603072646,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"nGnmCTUqQFz7isWWpWK3Mz",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-.33218746630730145,cy:-.5494864663355421,cz:.05000000074505895,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",id:"gZ9m1tT2VUgZsBDcfZh8HW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.244159478853515,cy:1.7707434623377676,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"9SxVYH5WbgA3HtDCqqfPhx",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.802140374248943,cy:1.496640607591619,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"bJusUpxFXhNuVLWkwSgPDp",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",flip:!0,cx:-4.49997835962516,cy:-1.1855861204384208,cz:.06,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"abgyaezp654EktrPW99LBw",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:4.432083177417134,cy:-1.2772922274665977,cz:.06,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"7MNjP1XvBJBd9d5PFunfnH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:-7.116951685811008,cy:3.638352633555244,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1FPVPX2cPwyJtX2iR6TB6X",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.182265720860439,cy:-.23022475718108382,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"qbSQDtvRnmoWesph95KY9z",selected:!1,locked:!0},{type:"Human",name:"Jade",cx:-3.033395250022613,cy:-.5816610420513619,cz:.05999999865889549,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"mtu9ruoaP4m3bTDiUvwuGN",selected:!1,ly:.48,locked:!0,flip:!0},{type:"Human",name:"Jose",cx:-16.76731141531199,cy:-10.548882253809875,cz:-17763568394002505e-31,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"96NHdfhp3jEHitMi3f3E5K",selected:!1,ly:2,locked:!0,flip:!0},{type:"Flower",name:"Hibiscus",cx:-7.181651324625273,cy:-1.60099461837087,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dVDLRSyAD2wDbGWk4knF4E",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:1.620258691481478,cy:-5.240948297707899,cz:4440892098500626e-31,lx:5.556994802603297,lz:7.996988894474121,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oELXz144CkaWe2X3qoRnK8",selected:!1,locked:!0},{type:"Human",name:"Jaye",cx:-1.4302201700943762,cy:-2.031152248382565,cz:.04943574334705669,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"gr5QDB4cbkGum8zoHp2N7d",selected:!1,locked:!0,ly:.55},{type:"Tree",name:"Dogwood",cx:-8.836300989612065,cy:6.666048417776266,cz:.0415200181305444,lx:3,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tirzAP1CYKccDFYsQijz2n",selected:!1,locked:!0},{type:"Window",cx:-.008333333333333331,cy:.1,cz:-.009152330421360376,lx:.08333333333333333,ly:.3,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:.9,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8fVvNLwh7c4hGNqS46E2j",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},selected:!1,windowType:"Default",archHeight:1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gambrel",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"p1WWYMY9TmVyswdgfSEZfZ",rise:3.266478772745814,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1],locked:!0},{type:"Window",cx:-4.213281959601948,cy:-2.634538118666024,cz:4.673359172167364,lx:2.1500259275083913,ly:.15,lz:1.2358639032447665,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"bAFTA4vJ8U4gd3hFz74r7X",locked:!0,interior:!0,empty:!0},{type:"Window",cx:-4.195476233446163,cy:-1.505374843371567,cz:5.4714739316244385,lx:2.170306524786385,ly:.15,lz:1.415052250899271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5CQw4ehLx6bYSBiyfowUgp",locked:!0,interior:!0,empty:!0,polygonTop:[.041335690072458735,2.1804081724852833]},{type:"Window",cx:3.9865243272197457,cy:-2.690596399748453,cz:4.611291413814264,lx:2.264658675515979,ly:.15,lz:1.4006562758537777,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"73WXvEpNVy6WMicsQVtM4K",locked:!0,interior:!0,empty:!0},{type:"Window",cx:4.003502641451691,cy:-1.5436235422141884,cz:5.453324368976082,lx:2.2758545278519184,ly:.15,lz:1.4725562648663195,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6sSeyqhkrkXd9xruJTto55",locked:!0,interior:!0,polygonTop:[-.03456014333676215,2.044626136017569],empty:!0},{type:"Window",cx:-.14301293626591338,cy:-3.0760156278277453,cz:4.184555041396983,lx:2.492322842531612,ly:.15,lz:2.5010692402560784,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"roHftPtnfwZguzJ6CGy1u1",locked:!0,interior:!0},{type:"Door",cx:-.1269230769230768,cy:0,cz:-.032608695652173926,lx:.7153846153846152,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mjYXviVCxSp5wKZomZ1KXX",interior:!0,locked:!0},{type:"Door",cx:.12692307692307694,cy:0,cz:-.032608695652173926,lx:.7153846153846154,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gVuhwxMRjqj8Y5dEW4h6yb",locked:!0,interior:!0},{type:"Window",cx:-.18164384373242548,cy:-2.1763353010978204,cz:5.153093457763647,lx:2.4530899553344963,ly:.15,lz:.021492949604609426,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8dL9pADpGdb8uz3jgoQ35W",locked:!0,interior:!0,polygonTop:[-.02050328365131785,3.3532324030149554]},{type:"Window",cx:1.445462406762685,cy:-3.8750343198078783,cz:3.2998811246118693,lx:.6642965558015783,ly:.15,lz:.13029717559155046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qWHrnb8KKMoQRor3JnSQFU",polygonTop:[-.5,2.3784236921544717],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.8155222162706668,cy:-3.9009770076057917,cz:3.2711573670121106,lx:.6830097672938518,ly:.15,lz:.037173765084373096,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cCVV5LBTueLCRBh8Qiucqm",polygonTop:[.5,2.451948768657457],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.1953590455988037,cy:3.710975210631405,cz:5.8617143628039825,lx:1.3882703649523895,ly:.1,lz:.05964604677957688,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,4.71238898038469],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"uj3hhpNKwSAcHZfWCq9Luv",interior:!0,empty:!0,polygonTop:[-.5,1.197404893567288],locked:!0},{type:"Door",cx:0,cy:0,cz:-.40052979348664974,lx:.1,ly:0,lz:.19894041302670049,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"onpRTR6aYFESxEyAVVtKxv",locked:!0,interior:!0},{type:"Window",cx:1.4673866142968786,cy:3.7373739092900653,cz:5.853224121202935,lx:1.2289614765652717,ly:.1,lz:.027992846261972834,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,1.5707963267948966],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"x86g7FJRWVhpFuUj55vS2u",polygonTop:[.5,1.2696169168418234],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.8854196712406885,cy:1.377621465687576,cz:4.325544482383382,lx:3.1362291179665966,ly:.1,lz:1.8233213544103637,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mX7yGqS9yHFcCXD3HzPsqo",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.57237554916422,cy:1.3657152285229026,cz:4.2503725201405285,lx:3.1993051559264813,ly:.1,lz:1.9446887668441453,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235876,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7HdybnBrpZ9pZKTsQWmnxm",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.1953670575332103,cy:1.4635343025462166,cz:5.223257241936748,lx:2.975761109246804,ly:.1,lz:.0858565540829778,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956242,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fq4riipVcz1YXRCRFinfh9",polygonTop:[.5,1.8067884811337014],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.5078124165602862,cy:1.6184244215922492,cz:5.256172313894667,lx:2.757238648211566,ly:.1,lz:.157707537509605,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956238,0,4.71238898038469],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8uYxv4QmwRV4QGvGAmTGjh",interior:!0,empty:!0,polygonTop:[-.5,1.6411153230617954],locked:!0},{type:"Window",cx:1.9241586401335837,cy:-1.0071004651436564,cz:3.2927958540885793,lx:1.433257415263137,ly:.1,lz:.013334330641535795,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235888,0,1.570796326794896],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKtQtrVKNAyECAnnFakYcM",interior:!0,empty:!0,polygonTop:[.5,1.8703231446359028],locked:!0},{type:"Window",cx:-2.1759330536672916,cy:-.9097092686724473,cz:3.5347479849708097,lx:1.401447790844605,ly:.1,lz:.1563290290003139,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bscMEhqajcMX1VR8jmUamz",interior:!0,polygonTop:[-.5,1.6499601679714657],locked:!0},{type:"Window",cx:-1.1488249093401395,cy:3.6694840938188165,cz:5.908770839253448,lx:1.465482126287153,ly:.1,lz:.011624696831896512,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,4.71238898038469],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"voXoMmK9hgrALZQEVrCQw5",interior:!0,polygonTop:[-.5,1.1791221277328057],locked:!0},{type:"Window",cx:1.4545359523843153,cy:3.6687614111197395,cz:5.846570239911134,lx:1.494871028893363,ly:.1,lz:5533992709237107e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,1.5707963267948966],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"njHN3bGKJaNcsPt3zqUDGM",polygonTop:[.5,1.3683506058769899],locked:!0},{type:"Foundation",cx:-9.019380791884265,cy:-6.4970289405032915,cz:.06,lx:13.017853790376485,ly:4.062304674420269,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"irBooVothSqri1n99D7Wzu",notBuilding:!0,locked:!0},{type:"Wall",cx:-.002846632065990562,cy:1.5136063941594182,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,rValue:2,fill:"Empty",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:3.141592653589793,leftPoint:[3.9728241996527984,1.5136063941594173,.1],rightPoint:[-3.9785174637847796,1.513606394159419,.1],leftJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],rightJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rTXZg1jcKPDTpopSQL5CRv",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:0,lx:3.3487156536839007,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:1.570796326794897,leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],leftJoints:["keZvZnZ8iUxAQcoKMHvMJB"],rightJoints:["rTXZg1jcKPDTpopSQL5CRv"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"kGep2Ez1jSGfeVaiQD6Nk1",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:0,lx:3.3487156536839,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:4.71238898038469,leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],leftJoints:["rTXZg1jcKPDTpopSQL5CRv"],rightJoints:["keZvZnZ8iUxAQcoKMHvMJB"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"jQqGH4ZZuR2sJEjqAtaMdR",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-.0028466320659887856,cy:-1.835109259524482,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:0,leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],leftJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],rightJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"keZvZnZ8iUxAQcoKMHvMJB",structureSpacing:1.95,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5816829802762808,thickness:.1,rValue:2,color:"#454769",sideColor:"#ffffff",textureType:"Roof Texture #1",roofType:"Hip",roofStructure:"Default",wallsId:["kGep2Ez1jSGfeVaiQD6Nk1"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"vFgo3dzFcDvifutsURLSxs",leftRidgeLength:-1.5743578268419502,rightRidgeLength:1.6693578268419502,locked:!0},{type:"Window",cx:1.8566011256825674,cy:.6599329242183138,cz:3.5487146962420235,lx:1.5566850872614637,ly:.1,lz:.002654387077510697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,1.5707963267948968],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rihytw1YgyZTRTywNknqYW",polygonTop:[.5,1.775657673942406],locked:!0},{type:"Window",cx:-1.819837767636188,cy:.6880180791747286,cz:3.5544907008722126,lx:1.5263724499901699,ly:.1,lz:.026357656056318596,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,-1.5707963267948961],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"stDHx7ttyun3AsgaRa1QHp",polygonTop:[-.5,1.8110420094651125],locked:!0},{type:"Window",cx:.020163528741469428,cy:-.10759934471036203,cz:3.552336576069286,lx:3.53497207600787,ly:.1,lz:.05477306389188632,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16246888891658018,0,-4440892098500626e-31],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"tDydDDQ3yMKBMmcqedWGby",polygonTop:[.0030579922127344215,1.4843446624982513],locked:!0}],yfn=24,Afn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.8840441516195205,.5644717303985555,11143112580395247e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.8840441516195205,.5634713529449765,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.358378063755914,-20.87295700480061,2.7360078726027206],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:24.554753263096522,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-7.660890412118296,2.6592379428106594,2.7360078726027206],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5,navigationView:!1},wfn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},vfn=1,xfn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Sfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Tfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Pfn="Unknown",Cfn=null,Rfn=null,Hfn=null,Mfn=null,Ifn=[],zfn=3,Dfn=3,Efn={docid:cfn,time:ufn,timestamp:dfn,userid:ffn,owner:hfn,email:pfn,world:gfn,elements:mfn,sceneRadius:yfn,view:Afn,graphState:wfn,evolutionMethod:vfn,solarPanelArrayLayoutParams:xfn,solarPanelArrayLayoutConstraints:bfn,evolutionaryAlgorithmState:Sfn,economicsParams:Tfn,modelType:Pfn,modelAuthor:Cfn,modelLabel:Rfn,modelDescription:Hfn,designProjectType:Mfn,notes:Ifn,minimumNavigationMoveSpeed:zfn,minimumNavigationTurnSpeed:Dfn},kfn="rrmoe4xsE37DPN5LvoSX2L",Ffn="08/09/2023 10:13 am",Lfn=1691590424058,Wfn="QWecNcxhyvP6j6sBN11hBsfZDau1",Nfn=null,Ufn=null,Bfn={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},jfn=[{type:"Wall",cx:.06979666348441205,cy:3.6828701050775523,cz:2.5,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[5.445313448139821,3.682870105077552,.1],rightPoint:[-5.305720121170997,3.682870105077553,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.002373687472664,rightUnfilledHeight:4.002373687472664,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.445313448139816,cy:.4275597826751323,cz:2.2301039869226305,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[5.445313448139813,-2.8277505397272886,.1],rightPoint:[5.445313448139821,3.682870105077553,.1],relativeAngle:1.5707963267948954,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:-5.305720121170997,cy:.4275597826751323,cz:2.228839888904333,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-5.305720121170997,3.682870105077553,.1],rightPoint:[-5.305720121170997,-2.8277505397272886,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:.06979666348441205,cy:-2.8277505397272886,cz:2.268765007024547,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-5.305720121170997,-2.8277505397272886,.1],rightPoint:[5.445313448139821,-2.8277505397272886,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.224276701112264,rightUnfilledHeight:4.224276701112264,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1,openToOutside:!1},{type:"Foundation",cx:.3157662585983827,cy:-.49838170379810354,cz:.05,lx:15.656066884011606,ly:12.596965835422395,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"June",cx:-2.4661903240728087,cy:-9.006462311217309,cz:0,lx:.65,ly:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.14686719191865327,cy:5.522679083865754,cz:2.2408122612280286,lx:13.78718704575697,ly:.3,lz:4.061910717171535,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.040460714797138,5.522679083865754,.12],rightPoint:[-6.746726330959832,5.522679083865754,.12],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:7.040460714797138,cy:.02164780187261517,cz:2.2301039869226305,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.040460714797138,-5.479383480120523,.12],rightPoint:[7.04046071479714,5.522679083865754,.12],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.746726330959831,cy:.02164780187261517,cz:2.228839888904333,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.74672633095983,5.522679083865754,.12],rightPoint:[-6.746726330959832,-5.479383480120523,.12],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.14686719191865416,cy:-5.479383480120523,cz:2.268765007024547,lx:13.787187045756973,ly:.3,lz:4.061910717171535,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.746726330959832,-5.479383480120523,.12],rightPoint:[7.04046071479714,-5.479383480120523,.12],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.014266831753957678,cy:0,cz:-.1875,lx:.26186699684124864,ly:0,lz:.625,color:"#73d8ff",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2.0309553585857674,ceiling:!1,locked:!1},{type:"Foundation",cx:.19669830531017318,cy:-.08496072357293061,cz:.06,lx:17.736587385560814,ly:14.112977894531522,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.1816870865194007,cy:1.506541025906793,cz:5.744650351161887,lx:6.810433848205276,ly:.2,lz:3.1501122272271536,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nRJKnWqaTZMRXNYjQYBBN4",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.204012569268376,cy:2.9463024154168345,cz:5.213097091560926,lx:1.8793730345291677,ly:.2,lz:.10394989944101299,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"dyzgwSBWzQe7d2Mdh1AuFs",interior:!0,polygonTop:[-.4945055117340491,2.9817139947018276],empty:!0,locked:!1},{type:"Window",cx:4.5669067733435496,cy:2.98476727058541,cz:5.198896044572235,lx:1.8476822467087874,ly:.2,lz:.0009475429668261212,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uhbKNy7GzaCLkkjREuNwq9",polygonTop:[.5,3.054344986803331],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.13914271249375698,cy:-1.4674024209486225,cz:5.7431156063968745,lx:6.808872300840532,ly:.2,lz:3.162055053995225,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fRAXriArpJwz8vt5qFbBr8",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.236438960455537,cy:-2.8956049895712455,cz:5.215829810116305,lx:1.8110462507584613,ly:.2,lz:.11218491449779774,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100747,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"d2W6C8E4fV5E9D474375zw",empty:!0,interior:!0,polygonTop:[.4883725105977682,2.9617114188962397],locked:!1},{type:"Window",cx:4.521733506737581,cy:-2.9083363875263974,cz:5.211129436754687,lx:1.8533938312525375,ly:.2,lz:.0727447886791959,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"hZSdDLaVahbQNDSPFMa22P",polygonTop:[-.5,2.97886505236164],interior:!0,empty:!0,locked:!1},{type:"Window",cx:5.579385297453698,cy:.038450512915636725,cz:5.156923892280704,lx:5.893522919746983,ly:.2,lz:.06575238683701148,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"whfKWvVSZ8Zpig8MXVtDnn",polygonTop:[-.004256210920065387,2.2474023195155906],interior:!0,empty:!0,locked:!1},{id:"hg8eUTjrNzo4UYNKSxj3Pu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:3.810423621996117,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofType:"Gable",textureType:"Roof Texture #2",thickness:.2,wallsId:["hndwqtrrygFvfqvBJrvZYu"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2.3477273826368026,ceiling:!1,locked:!1},{type:"Window",cx:-5.210239899855391,cy:.02428974701914899,cz:5.199992048011484,lx:5.892196685663338,ly:.2,lz:.03913490008238186,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nSDYeeSFt1TkoA9AsVzFvv",polygonTop:[-.006026915919198358,2.136722376968723],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.0041783865768951906,cy:.3,cz:.7431852609403766,lx:.151429262766099,ly:.3,lz:.2863705218807532,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"2Z4ZTK92xYT6s7pAjiT6th",locked:!1},{type:"Window",cx:0,cy:.3,cz:.7391715106470117,lx:.15978603591988938,ly:.3,lz:.27834302129402333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cAmpTqjyXxbvZVGVCwC6f3",locked:!1}],Yfn=12,Ofn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.13462208385991,.12570156647960654,-6336761576329169e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.13462208385991,.12470118903347407,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[12.594616653747995,-17.492939317320165,4.593155797112493],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.475618750000006,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.1945052133063472,.596243023398342,1.0070484500451025],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:240,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},_fn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Vfn=1,Gfn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Xfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Jfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Kfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},qfn="Unknown",$fn=null,Qfn=null,Zfn=null,ehn=null,thn=["Dutch gable roof"],nhn=3,ohn=3,ihn={docid:kfn,time:Ffn,timestamp:Lfn,userid:Wfn,owner:Nfn,email:Ufn,world:Bfn,elements:jfn,sceneRadius:Yfn,view:Ofn,graphState:_fn,evolutionMethod:Vfn,solarPanelArrayLayoutParams:Gfn,solarPanelArrayLayoutConstraints:Xfn,evolutionaryAlgorithmState:Jfn,economicsParams:Kfn,modelType:qfn,modelAuthor:$fn,modelLabel:Qfn,modelDescription:Zfn,designProjectType:ehn,notes:thn,minimumNavigationMoveSpeed:nhn,minimumNavigationTurnSpeed:ohn},rhn="iRonP6f82ihBcmjezX6Awd",ahn="03/20/2023 10:32 pm",lhn=1679365946442,shn="QWecNcxhyvP6j6sBN11hBsfZDau1",chn=null,uhn=null,dhn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},fhn=[{type:"Wall",cx:-.48795103908913395,cy:4.769352133858485,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.247497828901754,4.769352133858485,0],rightPoint:[-5.223399907080022,4.769352133858485,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.2474978289017535,cy:.49244353247458017,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.247497828901752,-3.7844650689093244,0],rightPoint:[4.247497828901756,4.769352133858485,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-5.2233999070800206,cy:.4924435324745795,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-5.2233999070800206,4.769352133858485,0],rightPoint:[-5.223399907080021,-3.7844650689093258,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-.48795103908913307,cy:-3.7844650689093253,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-5.223399907080021,-3.7844650689093258,0],rightPoint:[4.247497828901755,-3.7844650689093244,0],relativeAngle:14066962464272472e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-.7626979834308516,cy:-10.359931683120488,cz:.05,lx:12.251810254872597,ly:12.332955581960839,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:8.714205250083014,ceiling:!1},{type:"Human",name:"Jaye",cx:-.5647094530410346,cy:5.465061158668581,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55},{type:"Window",cx:-.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cikc5XBeHvW1ZWaYYBURtq",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:5,lx:.21478352854197222,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hzyxe6XmNqQVYTMPwT86gP",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"poKYkVbAKiojUgyQBBM5eo",windowType:"Default",archHeight:1},{type:"Window",cx:.010739176427098599,cy:.1,cz:4.8,lx:.21478352854197225,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"k65HqyHnfGZzC6XJ1tz5nf",windowType:"Default",archHeight:1},{type:"Window",cx:-.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iUS6mBnScixGHK4jiNa74q",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gpSRstNVjjcombQpjx6cCS",windowType:"Default",archHeight:1},{type:"Wall",cx:.16127924019256784,cy:2.332251732154486,cz:2.2408122612280286,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["auhnwnZuvqZga1NwTs4Qh6"],rightJoints:["fbEWRqBAdexGf2BAr7KyDh"],leftPoint:[2.004745592488851,2.3322517321544853,.09026163656372185],rightPoint:[-1.6821871121037153,2.332251732154486,.09026163656372185],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"kopxVibcARqNdAWExZTDft",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:3.091798357527264,centerRoofHeight:[-.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:2.0047455924888506,cy:.21993436134309594,cz:2.2301039869226305,lx:4.224634741622781,ly:.3,lz:4.183499794647806,leftJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],rightJoints:["kopxVibcARqNdAWExZTDft"],leftPoint:[2.0047455924888493,-1.8923830094682954,.09026163656372185],rightPoint:[2.004745592488852,2.3322517321544853,.09026163656372185],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"auhnwnZuvqZga1NwTs4Qh6",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:4.183499794647806,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.5178364017567816,rightUnfilledHeight:3.5178364017567816,leftTopPartialHeight:4.183499794647806,rightTopPartialHeight:4.183499794647806},{type:"Wall",cx:-1.6821871121037146,cy:.2199343613430946,cz:2.228839888904333,lx:4.224634741622782,ly:.3,lz:3.091798357527264,leftJoints:["kopxVibcARqNdAWExZTDft"],rightJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],leftPoint:[-1.6821871121037144,2.332251732154486,.09026163656372185],rightPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fbEWRqBAdexGf2BAr7KyDh",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:3.091798357527264,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:.16127924019256823,cy:-1.8923830094682952,cz:2.4372288712998555,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["fbEWRqBAdexGf2BAr7KyDh"],rightJoints:["auhnwnZuvqZga1NwTs4Qh6"],leftPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],rightPoint:[2.004745592488851,-1.8923830094682954,.09026163656372185],relativeAngle:18067425368120646e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7WK6nSdGpz8Z5ugN4DQqPL",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:4.183499794647806,centerRoofHeight:[.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Foundation",cx:4.882244941296917,cy:-10.70091032804037,cz:.05,lx:5.471984286386839,ly:6.044552967256032,lz:.09026163656372185,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oabGyAr3D6hSmpBhWPDGqF",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["fbEWRqBAdexGf2BAr7KyDh"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nRVwf4unMrCTvV163G9mW8",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Door",cx:-.01183534271196981,cy:0,cz:-.15296909264162628,lx:.4024016522069765,ly:0,lz:.6940618147167474,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"fbEWRqBAdexGf2BAr7KyDh",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nthEKWrtxGs4PSrCWi5GEG",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"kopxVibcARqNdAWExZTDft",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"wKDeRMv3UEU8mXGaoDUiWs",windowType:"Default",archHeight:1},{type:"Window",cx:-.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"7WK6nSdGpz8Z5ugN4DQqPL",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"42U3kN4qWYuxhLNDbwxXrd",windowType:"Default",archHeight:1}],hhn=21,phn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.063611874995965,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.063761881663362,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[13.842271241738974,-28.65293514275273,4.026963629011761],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.977021416592465,-10.783837041816236,3.5213876845072543],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},ghn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},mhn=1,yhn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ahn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},whn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},vhn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},xhn="Unknown",bhn=null,Shn=null,Thn=null,Phn=["A-frame house"],Chn={docid:rhn,time:ahn,timestamp:lhn,userid:shn,owner:chn,email:uhn,world:dhn,elements:fhn,sceneRadius:hhn,view:phn,graphState:ghn,evolutionMethod:mhn,solarPanelArrayLayoutParams:yhn,solarPanelArrayLayoutConstraints:Ahn,evolutionaryAlgorithmState:whn,economicsParams:vhn,modelType:xhn,modelAuthor:bhn,modelLabel:Shn,modelDescription:Thn,notes:Phn},Rhn="bm2bMMbAcph5HBEqZHjndk",Hhn="03/20/2023 11:03 am",Mhn=1679324587911,Ihn="QWecNcxhyvP6j6sBN11hBsfZDau1",zhn=null,Dhn=null,Ehn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},khn=[{type:"Wall",cx:.016921335908854303,cy:4.063374076185866,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.752370203899743,4.063374076185865,.1167755799390626],rightPoint:[-4.718527532082034,4.063374076185867,.1167755799390626],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:4.752370203899742,cy:-.2135345251980382,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.75237020389974,-4.490443126581943,.1167755799390626],rightPoint:[4.752370203899745,4.063374076185865,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-4.718527532082032,cy:-.2135345251980388,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.718527532082033,4.063374076185867,.1167755799390626],rightPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:.016921335908855254,cy:-4.490443126581944,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],rightPoint:[4.752370203899743,-4.490443126581943,.1167755799390626],relativeAngle:14066962464272472e-32,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Foundation",cx:.06778462234397686,cy:.11229032412929119,cz:.05,lx:13.261555004868576,ly:13.821828446550082,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:6,ceiling:!1,sideColor:"#4d4d4d",locked:!0},{type:"Human",name:"Jaye",cx:-5.524403634250389,cy:5.933912667936443,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55,locked:!0},{type:"Polygon",cx:.00031866172024926434,cy:-1.0502280057835613,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:6828465433912113e-20,y:-.982449115782449},{x:0,y:-1.25},{x:0,y:-.875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,filled:!0,selectedIndex:2,id:"xmTq7nGfL5qqQp8gvXDYM6",lineColor:"#4d4d4d",lineWidth:2,locked:!0},{type:"Polygon",cx:.14078214869407168,cy:-.7541666666666667,cz:.6437310349973828,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.26396652880138444,y:-.875},{x:0,y:-.875},{x:.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kxt6Srxx1T2g9dM5Cj9xjQ",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.09047767660927532,cy:-5921189464667502e-30,cz:.6771072607245675,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.875},{x:-.26396652880138444,y:-.875},{x:-.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oepTS5ZaT38ze93aEUFXCf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:-.35,cz:-.1473145782594516,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:-.5},{x:.15837991728083065,y:-.5},{x:.15837991728083065,y:-.1875},{x:.49625707414660275,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6GCp4VpMJ4zaYZryasBb12",selected:!1,selectedIndex:1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.35,lx:.21117322304110756,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:.8499999999999999,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cPiRHW6SZVJYmoL6piX4rh",locked:!0},{type:"Window",cx:-.322039165137689,cy:.3,cz:.35,lx:.26396652880138444,ly:.3,lz:.25,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"oKk1wpnrjFtx7ZScLUWdKG",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3257820909910863,cy:.3,cz:.35000000000000003,lx:.26396652880138444,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vm61bCHu5wJTneq9mSRG3v",locked:!0},{type:"Polygon",cx:-.32731849571371674,cy:-.34375,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.5},{x:-.49625707414660275,y:-.5},{x:-.49625707414660275,y:-.1875},{x:-.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"a2uJiAM1SwWygA7Xks25tx",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.009700144501707204,cy:0,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.1875},{x:.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"okpxRdBH9UmPzQeBnPqHvV",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.43994421466897404,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.125},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnnDsq9utfqbvsSLW4Vsui",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.31675983456166135,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3167598345616613,y:-.125},{x:.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"daBi7jdbhLYUKfawDVZbRF",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.14583333333333334,cz:.09889005465479705,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.1875},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"83Jx4Wfx1CTQe5o1dVj7Gt",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.31823715865388064,cy:0,cz:-.06254223609465975,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3695531403219382,y:-.1875},{x:.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2P1Z36zj1PZrLZ5WtCuQLU",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.1528231574478215,cy:0,cz:-.07973264486359,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.1875},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c8iKMXwV5TTJS5y7LAm16z",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.10416666666666667,cz:-.0264570438192977,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.0625},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4EQtRFUvGwquz82cAGupQx",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.0984129795658402,cy:0,cz:.0741183552861776,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.21117322304110756,y:-.125},{x:.15837991728083065,y:-.1875},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"keytXy7yjTuyQvCHx43FMf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.08043767629130923,cy:-11842378929335004e-30,cz:.053462400842831936,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.0625},{x:.21117322304110756,y:-.125},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vcfgXdnGFRF224UmF7C68T",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.05586281472424893,cy:0,cz:-.06415089633102461,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.1875},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6L9YHg5xYnPV5wP7pRzMPQ",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.04508436921887703,cy:-11842378929335004e-30,cz:-.07958364344414548,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.0625},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vFWJZ8BRQAYJsb48YWUz6j",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.12944043805698166,cy:0,cz:-.044015079009130986,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.125},{x:-.05279330576027689,y:-.1875},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c9pAfjjQXFGB9FrY3fPcgo",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.1360791344719124,cy:0,cz:-.002668588802964056,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.05279330576027689,y:-.0625},{x:0,y:-.125},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8hMi9wi8eWGAVCFdCrrHxf",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.1504887203711347,cy:11842378929335004e-30,cz:-.03387070431424388,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.10558661152055378,y:-.125},{x:-.15837991728083065,y:-.1875},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"1vmj7VNyMLhdjUdvzKBed1",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2027600334109868,cy:11842378929335004e-30,cz:-.02143305207869428,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.0625},{x:-.10558661152055378,y:-.125},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ffiDmHRPrs2dDPEPn4TWqL",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3241256214430625,cy:-11842378929335004e-30,cz:-.01780218811727341,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.1875},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wcidSWb2sESnViCDPV9mWc",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.25617993668706274,cy:0,cz:-.01786081434302994,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.0625},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"feb2PRU5xBgnQQYi5Q5HxG",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.15105849038732078,cy:0,cz:-.11142936913498758,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.3695531403219382,y:-.1875},{x:-.4223464460822151,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8YCxSmg5F51AUWFz5Z7Mcz",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.2903850025394723,cy:0,cz:-.05931035952397312,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.4223464460822151,y:-.125},{x:-.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"br3QNNryqRA4C5JyMif58B",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2709208200589227,cy:0,cz:-.12433060024345055,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.125},{x:-.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qua38i78SB79351oS944na",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.26414949628329426,cy:0,cz:-.11662195581661955,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.1875},{x:-.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vmDWdbEKBTn6Q3L3pv8qqU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:-.1231126961021224,cy:0,cz:-.16413364186630847,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4968716360356549,y:.1875},{x:.4968716360356549,y:-.0625},{x:.15899447916988277,y:-.0625},{x:.15899447916988277,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8PUhoaNcXfpHS24ebeEAKM",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.17939465541008254,cy:11842378929335004e-30,cz:-.09134585167481035,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.1875},{x:.15837991728083065,y:-.0625},{x:-.15837991728083065,y:-.0625},{x:-.15837991728083065,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"bcXX5tcf3D2wVveoEkcL6f",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.27093529163208646,cy:0,cz:-.23361707380435942,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.1875},{x:-.15837991728083065,y:-.0625},{x:-.49625707414660275,y:-.0625},{x:-.49625707414660275,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6s38KEz9j6GBtEC98qn52U",selected:!1,selectedIndex:3,locked:!0},{type:"Window",cx:-.32016770221099033,cy:.3,cz:-.05625,lx:.2677094546547817,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"o7JmF1iLCdGFdtbRj8czNQ",locked:!0},{type:"Window",cx:.005279330576027693,cy:.3,cz:-.056249999999999994,lx:.22173188419316292,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnKEFjjyTpc69CbNkzsSnb",locked:!0},{type:"Window",cx:.33106142156711393,cy:.3,cz:-.05624999999999997,lx:.25340786764932904,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"itZnbX7dvNW4uttWy8xqNF",locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.2791666666666667,cz:-.3574546006707193,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:.225},{x:.3273184957137167,y:.3625},{x:.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM6FR2jokXDXXNuqEbWW5t",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.45416666666666666,cz:-.38841568779580643,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.32793305760276886,y:.35833333333333334},{x:.15899447916988282,y:.49583333333333335},{x:.49687163603565493,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xbCXMjDGmXXmNhu45xKrKU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.02549879326087855,cy:-11842378929335004e-30,cz:-.30729230835255206,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.225},{x:0,y:.3625},{x:-.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"5HQ6TVrPFFjZ9n9pMNCaPw",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.17764937225875113,cy:11842378929335004e-30,cz:-.38532011935953503,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.225},{x:-.32670393382466456,y:.35833333333333334},{x:-.49625707414660275,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6xMKYrX7YfEEQhYDvJGbXj",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.028297592880302983,cy:0,cz:-.4292130777977021,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.32670393382466456,y:.35833333333333334},{x:-.4956425122575506,y:.49583333333333335},{x:-.1577653553917785,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aC5hTZ2mJqEmuJzedm4MJc",selected:!1,locked:!0},{type:"Polygon",cx:-.0752822112279152,cy:0,cz:-.43162058966296696,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:.3625},{x:-.14782125612877528,y:.5},{x:.15899447916988285,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"g4vxfHB2tWhootScoBEJAy",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.15837991728083065,cy:.3,cz:-.36250000000000004,lx:.08446928921644303,ly:.3,lz:.10000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aTgEN9mCRYp5yq7d1z5C9J",locked:!0},{type:"Window",cx:.16893857843288604,cy:.3,cz:-.3625,lx:.08446928921644302,ly:.3,lz:.09999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iJhjRtnwcwPom4AbAof7TY",locked:!0},{type:"Window",cx:0,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM9DBHVTV9qvEYGB1GSGT4",locked:!0},{type:"Window",cx:-.2850838511054952,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xktqPqwH68DsLhhed5NdpJ",locked:!0},{type:"Window",cx:.3167598345616613,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"smfVPdpD4AJjru3d9qbPFB",locked:!0},{type:"Polygon",cx:.33203141791512314,cy:-.34064625850340136,cz:.0816606073539844,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.16366961869923916,y:-.5},{x:.16366961869923916,y:-.1875},{x:.5026995431476631,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7P3jamWRpmTThzKQQchxem",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.08095645236308847,cy:11472304587793285e-30,cz:.024081550771485216,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.11690687049945654,y:-.4875},{x:-.15197893164929352,y:-.4875},{x:-.15197893164929352,y:-.1875},{x:.11690687049945654,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hti4VWVrfMLPFRbMnZuXCh",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.06332927122552619,cy:37007434154171886e-32,cz:.11866929892518252,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.19874167984907612,y:-.5},{x:-.49524132235097623,y:-.4844583756672448},{x:-.4910088560977175,y:-.1875},{x:-.19874167984907612,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"fK55YfVyK24HbKmqkoFvX8",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.3273392373984783,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7uoagXVHHDZRJe6yfz87Uy",locked:!0},{type:"Window",cx:.02338137409989131,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2eFNdjG8a6PPPeWCyHvJZF",locked:!0},{type:"Window",cx:.3435254963995652,cy:.3,cz:.34375,lx:.10251664030184776,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pVvTiVPrSp7DHLhNTLPbpw",locked:!0},{type:"Polygon",cx:.11417019715816792,cy:-.03691339676553812,cz:-.01732802673536704,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.334513812493377,y:-.1887668131742859},{x:.11690687049945654,y:-.1875},{x:0,y:.2},{x:.5026995431476631,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ncvU41deRZgttbWEevak9W",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.23813144459901245,cy:-12582527612418442e-30,cz:-.15608783217541283,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15197893164929352,y:-.1875},{x:-.33902992444842395,y:-.1875},{x:-.5026995431476631,y:.2},{x:-.011690687049945655,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nUnv6wAVCPmYj3Aresrcpk",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.13062766511807228,cy:-2590520390792032e-30,cz:-.22842446371425668,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49818343119261616,y:.1987331868257141},{x:.15301751728589502,y:.20325890158694568},{x:.15345728483965818,y:.49941339676553814},{x:.49818343119261616,y:.49873318682571405}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8Kz8otpe54cGwNRpjbBHbb",selected:!1,locked:!0},{type:"Polygon",cx:.08870702581035714,cy:11657341758564144e-30,cz:-.3327175444793864,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1564950436043405,y:.19873318682571411},{x:-.5016609575110615,y:.2032589015869457},{x:-.5012211899572985,y:.49941339676553814},{x:-.1564950436043405,y:.4987331868257141}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wG7R1sDD8K7WPRvoZtoyJw",selected:!1,locked:!0},{type:"Window",cx:-.23381374099891308,cy:.3,cz:.0062500000000000056,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pHH5nsCFYVbtKpFCrTf3Ws",locked:!0},{type:"Window",cx:.25134977157383154,cy:.3,cz:.0062500000000000056,lx:.1285975575494022,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cwAvtz8KzMtAWzktGpFNXr",locked:!0},{type:"Polygon",cx:.3974833596981522,cy:-.3,cz:.15250947773144075,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.29226717624864135,y:-.4875},{x:.29226717624864135,y:-.1125},{x:.5026995431476631,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"h2haDNadyPJVsXHUBM7goT",selected:!1,selectedIndex:2,locked:!1},{type:"Polygon",cx:.2062582639639952,cy:0,cz:.09819258432246669,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.29352549639956527,y:-.4875},{x:-.503957863298587,y:-.4875},{x:-.503957863298587,y:-.1125},{x:-.29352549639956527,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qNhdQA6nMEubq6HrA8GQ56",selected:!1},{type:"Polygon",cx:-.00041944005030796134,cy:-.2375,cz:.11572778700091202,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.001258320150923864,y:-.4875},{x:-.29226717624864135,y:-.1125},{x:0,y:-.1125},{x:.29226717624864135,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7xfb1T386qUxDL13U5ur56",selected:!1,selectedIndex:2},{type:"Window",cx:0,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"61722s3ZSQeHug5MRWQdpi",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"16SX2hn6bjPsYFGUZ6H1HJ",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"rxzF9abntmscS3LgzGNTHv",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.26762748199782616,cy:.07499999999999998,cz:-.20483915447539497,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4137610701221468,y:-.10625000000000001},{x:.12149389387350548,y:-.10625000000000001},{x:.12149389387350548,y:.25625},{x:.4137610701221468,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4a4kmf2AVjLH4xqmTBj5qm",selected:!1,selectedIndex:3},{type:"Polygon",cx:.2640836675523676,cy:0,cz:-.07455503736820074,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1357012212252989,y:-.10625000000000001},{x:-.4279683974739402,y:-.10625000000000001},{x:-.4279683974739402,y:.25625},{x:-.1357012212252989,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nzNaoQaRpK6d7hEi9ZXqqA",selected:!1},{type:"Polygon",cx:-.00800080807265061,cy:-3076242964065538e-30,cz:-.3451540701116582,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:.2625},{x:-.49994974836164874,y:.2579458713508321},{x:-.49994974836164874,y:.49544587135083207},{x:.5026995431476631,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eVuLrSaB1RiWnm1kdJDxE3",selected:!1,selectedIndex:3},{type:"Window",cx:-.25719511509880444,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"srgUpVRNxrAgJWbybn588q",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.29226717624864135,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"98pLU7aQ4axthpXWXa3LR2",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.004459000607667748,cy:5782411586589357e-32,cz:-.07786416501615101,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.25719511509880444,y:.2625},{x:-.29226717624864135,y:.2625},{x:-.29226717624864135,y:.5},{x:.25719511509880444,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oMeHBYv8MZowW2UjWYNbTs",selected:!1,selectedIndex:3}],Fhn=18,Lhn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.5736443737686907,-8.024644919181295,-8025001608758962e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.5736443737686907,-8.024794925856764,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.811404848456696,-24.22563598939458,8.16030935368929],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[2.4887069683147542,-4.392139935230605,6.944093833347563],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},Whn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Nhn=1,Uhn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Bhn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},jhn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Yhn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ohn="Unknown",_hn=null,Vhn=null,Ghn=null,Xhn=["A half-timbered house"],Jhn={docid:Rhn,time:Hhn,timestamp:Mhn,userid:Ihn,owner:zhn,email:Dhn,world:Ehn,elements:khn,sceneRadius:Fhn,view:Lhn,graphState:Whn,evolutionMethod:Nhn,solarPanelArrayLayoutParams:Uhn,solarPanelArrayLayoutConstraints:Bhn,evolutionaryAlgorithmState:jhn,economicsParams:Yhn,modelType:Ohn,modelAuthor:_hn,modelLabel:Vhn,modelDescription:Ghn,notes:Xhn},Khn="u6V16ot91aBGkUfNPgtKBw",qhn="06/13/2023 10:40 am",$hn=1686667251444,Qhn=null,Zhn=null,epn={solarRadiationHeatmapGridCellSize:.3,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},tpn=[{type:"Human",name:"John",cx:-3.628595765451405,cy:-5.965837088553536,cz:.075,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.10471070913816627,cy:6.876571226527738,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.1,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[6.991747390099202,6.876571226527738,.1],rightPoint:[-6.78232597182287,6.876571226527738,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.0625,lx:.0708994221944815,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:6.991747390099202,cy:1.3532362351510367,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[6.9917473900992,-4.1700987562256655,.1],rightPoint:[6.991747390099204,6.876571226527738,.1],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.782325971822869,cy:1.3532362351510367,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.782325971822869,6.876571226527738,.1],rightPoint:[-6.78232597182287,-4.1700987562256655,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.0625,lx:.09052501808791685,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.10471070913816716,cy:-4.1700987562256655,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.1,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.78232597182287,-4.1700987562256655,.1],rightPoint:[6.991747390099204,-4.1700987562256655,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3993009079801005,cy:.1,cz:-.0625,lx:.07260016508729113,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25410057780551853,cy:.1,cz:-.062499999999999944,lx:.072600165087291,ly:.3,lz:.3749999999999999,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.217800495261873,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-.02203325078968787,cy:0,cz:-.1875,lx:.18926683175395775,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:-11.627490246197299,cy:.3947804481181869,cz:.075,lx:19.77405921718084,ly:14.655745561697936,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Foundation",cx:-11.621608440780687,cy:1.9572753540307968,cz:.05,lx:16.830274696272348,ly:15.08817119873108,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1hsdTDJQtP791cvdCX88pM",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!1},{type:"Wall",cx:.08541275905423218,cy:3.142987766593968,cz:2.2408122612280286,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["oqmTcCR15WVtwsqrWdL4GC"],rightJoints:["1pdrgHKxCmzDRjbnSqoG6g"],leftPoint:[5.57682100132025,3.142987766593967,0],rightPoint:[-5.405995483211786,3.142987766593969,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pbycx2vwYmMhSjRe9GEQ9K",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.423886716391337,rightUnfilledHeight:4.423886716391337,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.576821001320248,cy:-.20560385518737068,cz:2.2301039869226305,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],rightJoints:["pbycx2vwYmMhSjRe9GEQ9K"],leftPoint:[5.576821001320245,-3.5541954769687103,0],rightPoint:[5.57682100132025,3.142987766593969,0],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqmTcCR15WVtwsqrWdL4GC",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.137593329953601,rightUnfilledHeight:4.137593329953601,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:-5.405995483211786,cy:-.20560385518737068,cz:2.228839888904333,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["pbycx2vwYmMhSjRe9GEQ9K"],rightJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],leftPoint:[-5.405995483211786,3.142987766593969,0],rightPoint:[-5.405995483211786,-3.5541954769687103,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1pdrgHKxCmzDRjbnSqoG6g",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.005808068482516,rightUnfilledHeight:4.005808068482516,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:.08541275905423218,cy:-3.5541954769687103,cz:2.268765007024547,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["1pdrgHKxCmzDRjbnSqoG6g"],rightJoints:["oqmTcCR15WVtwsqrWdL4GC"],leftPoint:[-5.405995483211786,-3.5541954769687103,0],rightPoint:[5.57682100132025,-3.5541954769687103,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gCfAqTHxYsKYYxNWYw9TWQ",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.950942062075448,rightUnfilledHeight:3.950942062075448,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["pbycx2vwYmMhSjRe9GEQ9K"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",id:"1ruH3RPfFc3ThJYcd2omkK",leftRidgeLength:3.201607189072456,rightRidgeLength:3.144275873016056,rise:3.3,ceiling:!1,locked:!1},{type:"Human",name:"Jett",cx:3.45311660764904,cy:-5.539983726654682,cz:0,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ngMWYAz5cg4LmcZtkKGH5w",selected:!1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:5.154362868463492,cz:2.2408122612280286,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["63yNZT5sk98atsFEx8NvNs"],rightJoints:["jQsmtVwKhe4n3CrR6jXs3q"],leftPoint:[5.513250441369763,5.154362868463492,.15],rightPoint:[-6.642627256655608,5.154362868463492,.15],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mzpK9wLgMhYvSmDqWB4w5a",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4wXNeeycaqHL9B1R9qUX1E",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"mt3NkwPRVR29Vv4nC9yzZx",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"a4kNY3m4aqY6M343x3uLZh",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:5.513250441369763,cy:.8650317721032894,cz:2.2301039869226305,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["7AAP4SGnSJct2FC9Zr7dc4"],rightJoints:["mzpK9wLgMhYvSmDqWB4w5a"],leftPoint:[5.513250441369756,-3.424299324256914,.15],rightPoint:[5.513250441369763,5.154362868463492,.15],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"63yNZT5sk98atsFEx8NvNs",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jbtNFjUNQaHTwUPP6Cgyx7",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ig1Epmrjnd2PJxhzkNaQVQ",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"f3BCsz5GQBEYy4XiqRBqZE",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.642627256655608,cy:.8650317721032894,cz:2.228839888904333,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["mzpK9wLgMhYvSmDqWB4w5a"],rightJoints:["7AAP4SGnSJct2FC9Zr7dc4"],leftPoint:[-6.642627256655608,5.154362868463492,.15],rightPoint:[-6.642627256655608,-3.424299324256914,.15],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQsmtVwKhe4n3CrR6jXs3q",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"cWeaG9uSw8kJfhXamtKBxr",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nxekbBrmyzGrPUF9ezKfwT",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"e67VWqxp9LA175MVc6hEpX",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:-3.424299324256914,cz:2.268765007024547,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["jQsmtVwKhe4n3CrR6jXs3q"],rightJoints:["63yNZT5sk98atsFEx8NvNs"],leftPoint:[-6.642627256655608,-3.424299324256914,.15],rightPoint:[5.513250441369763,-3.424299324256914,.15],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7AAP4SGnSJct2FC9Zr7dc4",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"3CK46FAqDU4yiw68e68gyB",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"b4tHm9uwSzreh4oUqoA1iA",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"i6yCtjaey6bF3bxgioyozq",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jfHaiksBWSL7KRtRUTCNe2",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.02056618256702364,cy:0,cz:-.1875,lx:.2056618256702355,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"srJTCNtCygPjzCukKAxRUa",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"4gpAeqULbxkTE3NVbw47eo",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["7AAP4SGnSJct2FC9Zr7dc4"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:3.3,ceiling:!1,locked:!1},{type:"Foundation",cx:12.400385994458517,cy:1.2287983710659756,cz:.075,lx:14.955401155218322,ly:11.516608009620233,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oWDryEiqPVRjWJgYF9QDux",selected:!1,notBuilding:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"B"},locked:!1},{type:"Wall",cx:1.5103273766750398,cy:6.063064855929808,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4,leftJoints:["tBjXFzHUauAuKRcxtaPG1e"],rightJoints:["4SzYT1f9J8muRMTnAg2SJH"],leftPoint:[8.397364057636077,6.063064855929808,.25],rightPoint:[-5.376709304285996,6.063064855929808,.25],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dwbAGuCethnJoxAoWyoGv2",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:8.397364057636077,cy:.5397298645531063,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["jXXAZGYK8JJ2UA3NqYndxp"],rightJoints:["dwbAGuCethnJoxAoWyoGv2"],leftPoint:[8.397364057636073,-4.983605126823596,.25],rightPoint:[8.397364057636077,6.063064855929808,.25],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tBjXFzHUauAuKRcxtaPG1e",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",structureSpacing:2.3,opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:-5.376709304285995,cy:.5397298645531063,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["dwbAGuCethnJoxAoWyoGv2"],rightJoints:["jXXAZGYK8JJ2UA3NqYndxp"],leftPoint:[-5.376709304285995,6.063064855929808,.25],rightPoint:[-5.376709304285996,-4.983605126823596,.25],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4SzYT1f9J8muRMTnAg2SJH",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:1.5103273766750416,cy:-4.983605126823596,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4,leftJoints:["4SzYT1f9J8muRMTnAg2SJH"],rightJoints:["tBjXFzHUauAuKRcxtaPG1e"],leftPoint:[-5.376709304285996,-4.983605126823596,.25],rightPoint:[8.397364057636077,-4.983605126823596,.25],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXXAZGYK8JJ2UA3NqYndxp",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{id:"uJkcA94q1VPrPcTVWbwGvS",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["jXXAZGYK8JJ2UA3NqYndxp"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.5269644430820746,ceiling:!1,locked:!1},{type:"Foundation",cx:10.37396266274916,cy:1.4954382308468475,cz:.125,lx:16.96282588210709,ly:13.050086329642726,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s1ySBq5Hp2XQRHXHYFr7Ei",selected:!1,enableGroupMaster:!0,notBuilding:!0,locked:!1},{type:"Window",cx:.07884126244762069,cy:-.4199549792627557,cz:5.657927332967425,lx:6.879964200295598,ly:.2,lz:3.6298042832326978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"5qeCesjRK72iMFt1u6qiC3",interior:!0,empty:!0,locked:!1},{type:"Window",cx:4.6299611623937915,cy:-1.9963568795412103,cz:5.087112090821291,lx:1.9473454718410252,ly:.2,lz:.2766726175398978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"aGpcgzxVmKxBSPh9yRzTLJ",interior:!0,empty:!0,polygonTop:[-.5,3.2251316092291917],locked:!1},{type:"Window",cx:-4.39419016648573,cy:-2.002733503950701,cz:5.084803114661254,lx:1.92547283639216,ly:.2,lz:.24728723598247773,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.34741346419269825,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"osBXWJHBmx9hpwyQUwqfsK",polygonTop:[.46902792604716753,3.180338239963955],locked:!1},{type:"Window",cx:.11638811342117883,cy:3.157291970642662,cz:5.646751287652042,lx:6.9955661140483585,ly:.2,lz:3.5587869628599558,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"4W4UVMV7FW5xPQu2hjVR4Y",locked:!1},{type:"Window",cx:4.590702645311016,cy:4.683424214953679,cz:5.094138691568809,lx:1.7954404068830758,ly:.2,lz:.26778946663296593,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"jJTqLy3iA2qbmapg7Zub8Z",polygonTop:[.5,3.0683555686449475],locked:!1},{type:"Window",cx:-4.415927568932208,cy:4.63032056148964,cz:5.113367528330277,lx:1.7975728034829963,ly:.2,lz:.3359502694894871,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"m5979bvktsFocL1GPG4weA",polygonTop:[-.4957280589496637,2.9554677254634854],locked:!1},{type:"Window",cx:5.504236899323556,cy:1.3302889338668908,cz:5.19822982033263,lx:5.612135328984845,ly:.2,lz:.3020024535761091,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199241,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uyC7NDy7e1ziZpNPzq7VwJ",polygonTop:[.009359362140956982,1.9288870310031725],locked:!1},{type:"Window",cx:-5.3990349070202655,cy:1.2828552303810974,cz:5.1395256307270145,lx:6.2123129373580515,ly:.2,lz:6294722086474765e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199243,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wfuMCkccoofFa3YJZeQXjY",polygonTop:[-.008473558583168532,2.320323655487881],locked:!1},{type:"Window",cx:1.5099442103574612,cy:2.197100019877415,cz:5.268772915652224,lx:6.866771854005096,ly:.2,lz:3.3727323067547332,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"jKvUBT3s3eyiNHv6xMyWAB",locked:!1},{type:"Window",cx:1.5105405746812384,cy:-1.0648474200330473,cz:5.283367872610519,lx:6.865526912026976,ly:.2,lz:3.1583095363910174,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"nehwkAn747SbcH197nfAym",locked:!1},{type:"Window",cx:6.847328996169246,cy:.5571537124890757,cz:4.912671214877417,lx:5.747166362942518,ly:.2,lz:.07159007097595167,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,1.5707963267948963],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"vzRJC7dg8gVnPCKJ8nK1uw",polygonTop:[.0029237138437357584,1.8546622388485283],locked:!1},{type:"Window",cx:-3.913630166662161,cy:.5040604017480659,cz:4.875275785658461,lx:6.025884701181912,ly:.2,lz:.016127155846384855,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,4.71238898038469],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"kwCF77vQKSWqB9vJyLsGEC",polygonTop:[-.002404697670111075,1.990469286566286],locked:!1},{type:"Window",cx:5.8964025615822475,cy:3.6476180468177413,cz:4.867767100389265,lx:1.6622791380927708,ly:.2,lz:.4588203236729191,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"41o33Gu8Z1ZgNh7JnbXzVZ",polygonTop:[.5,2.796622713087028],locked:!1},{type:"Window",cx:-2.855581425025988,cy:3.549188813296429,cz:4.894978547817588,lx:1.5556391784234185,ly:.2,lz:.4903348709835801,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"gfa6RMCw76XaAmQeeHFmdc",polygonTop:[-.5,2.5684727779282683],locked:!1},{type:"Window",cx:-2.7969890059844267,cy:-2.384701698791339,cz:4.918484960952953,lx:1.5043468507143833,ly:.2,lz:.30588110911202415,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"neBTigCnPfsLosQzW9yEzs",polygonTop:[.5,2.6873784768414724],locked:!1},{type:"Window",cx:5.895662984214205,cy:-2.416289985539417,cz:4.90975215898503,lx:1.579400635678578,ly:.2,lz:.3714274801752112,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"4LmavYSaxJMdhHeDjENvmB",polygonTop:[-.5,2.6218328392217303],locked:!1}],npn=27,opn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6328594466581806,4.6052145632619785,4606954980926815e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6328594466581806,4.6042141858164145,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-24.900270995188162,-22.88331862075037,5.458927240534251],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.17215904908430746,3.1094271606158492,2.035326701937142],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:334,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},ipn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},rpn=1,apn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},spn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},upn="Unknown",dpn=null,fpn=null,hpn=null,ppn=["Combination roof vs. bonnet roof"],gpn={docid:Khn,time:qhn,timestamp:$hn,owner:Qhn,email:Zhn,world:epn,elements:tpn,sceneRadius:npn,view:opn,graphState:ipn,evolutionMethod:rpn,solarPanelArrayLayoutParams:apn,solarPanelArrayLayoutConstraints:lpn,evolutionaryAlgorithmState:spn,economicsParams:cpn,modelType:upn,modelAuthor:dpn,modelLabel:fpn,modelDescription:hpn,notes:ppn},mpn="eUyyJJc59Won933XJe19sV",ypn="06/17/2023 01:41 pm",Apn=1687023666114,wpn="QWecNcxhyvP6j6sBN11hBsfZDau1",vpn=null,xpn=null,bpn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 9:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Spn=[{type:"Human",name:"Jeff",cx:2.849872692474971,cy:-6.695477959956797,cz:1.05,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.6,locked:!0},{type:"Wall",cx:.40535681744352425,cy:5.410198334546533,cz:2.2408122612280286,lx:6.331471207996493,ly:.3,lz:8.5,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[3.571092421441771,5.410198334546532,2.1],rightPoint:[-2.760378786554723,5.410198334546534,2.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:8.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8.5,rightTopPartialHeight:8.5},{type:"Wall",cx:3.57109242144177,cy:-.3506001740764093,cz:2.2301039869226305,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["8VKLBEAuMJxaXGp1WaM9mU"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[3.57109242144177,-6.1113986826993525,2.1],rightPoint:[3.571092421441772,5.410198334546534,2.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:8.5,centerRoofHeight:[-.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Wall",cx:-2.7603787865547225,cy:-.3506001740764093,cz:2.228839888904333,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["8VKLBEAuMJxaXGp1WaM9mU"],leftPoint:[-2.760378786554722,5.410198334546534,2.1],rightPoint:[-2.760378786554723,-6.1113986826993525,2.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:7,centerRoofHeight:[.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Foundation",cx:-.33784337005620096,cy:1.3319211806243931,cz:1.05,lx:15.0489874276124,ly:21.361755748126203,lz:2.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,color:"#b3b3b3",locked:!0},{type:"Wall",cx:.40535681744352337,cy:-6.1113986826993525,cz:3.5404855174251457,lx:6.3314712079964925,ly:.3,lz:7,relativeAngle:0,leftPoint:[-2.760378786554723,-6.1113986826993525,2.1],rightPoint:[3.57109242144177,-6.1113986826993525,2.1],leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8VKLBEAuMJxaXGp1WaM9mU",roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:7,color:"#999999",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["8VKLBEAuMJxaXGp1WaM9mU"],textureType:"No Roof Texture",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9DRBXRS4our7656cx2vwpG",ridgeLeftPoint:[.19251847682880624,1],ridgeRightPoint:[-.19251847682880624,1],locked:!0,sideColor:"#999999",rise:-2.1347629020127235,ceiling:!1},{type:"Wall",cx:.7846470380907851,cy:6.144582715914701,cz:2.2408122612280286,lx:8.239996514218573,ly:.1,lz:2.458799038921556,leftJoints:["awarKnJ5NQrzVL6xf3jKDE"],rightJoints:["c43fWPvXTFz63buLF7EQiF"],leftPoint:[4.904645295200071,6.1445827159147,.038162668507384964],rightPoint:[-3.3353512190185017,6.144582715914702,.038162668507384964],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s2FCVLdwmxK7ScMqTWFnPt",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:4.904645295200071,cy:-.6338350568557676,cz:2.2301039869226305,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["jCtJVX5GRr3k9vybapQgGf"],rightJoints:["s2FCVLdwmxK7ScMqTWFnPt"],leftPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200073,6.144582715914702,.038162668507384964],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"awarKnJ5NQrzVL6xf3jKDE",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:-3.335351219018501,cy:-.6338350568557676,cz:2.228839888904333,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["s2FCVLdwmxK7ScMqTWFnPt"],rightJoints:["jCtJVX5GRr3k9vybapQgGf"],leftPoint:[-3.3353512190185,6.144582715914702,.038162668507384964],rightPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c43fWPvXTFz63buLF7EQiF",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:.7846470380907842,cy:-7.4122528296262375,cz:3.5404855174251457,lx:8.239996514218571,ly:.1,lz:2.458799038921556,leftJoints:["c43fWPvXTFz63buLF7EQiF"],rightJoints:["awarKnJ5NQrzVL6xf3jKDE"],leftPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"jCtJVX5GRr3k9vybapQgGf",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Foundation",cx:-.7344091119928784,cy:1.2827917090727918,cz:1,lx:11.86176666643788,ly:16.71773862227102,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oR9dfJF3BCFMyFyFLPCHa7",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["jCtJVX5GRr3k9vybapQgGf"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",id:"5By6QsyR9XJzwW57eFw7Rg",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:-.039595288973048426,cy:5.505906418342898,cz:2.2408122612280286,lx:8.1086978625349,ly:.1,lz:3.7968822453017803,leftJoints:["cSVfkr5b26MSCjvZV6AAuA"],rightJoints:["39y7xTS1S7F7jiBBvyvPxR"],leftPoint:[4.0147536422944015,5.505906418342896,0],rightPoint:[-4.093944220240498,5.5059064183429,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hq7PgWBkRgswjhv5arBsam",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:4.0147536422944015,cy:-1.1596625117163346,cz:2.2301039869226305,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["8K2s8ExFq4TG2csG9MWdsp"],rightJoints:["hq7PgWBkRgswjhv5arBsam"],leftPoint:[4.0147536422944,-7.8252314417755695,0],rightPoint:[4.014753642294403,5.5059064183429,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cSVfkr5b26MSCjvZV6AAuA",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-4.093944220240498,cy:-1.1596625117163346,cz:2.228839888904333,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["hq7PgWBkRgswjhv5arBsam"],rightJoints:["8K2s8ExFq4TG2csG9MWdsp"],leftPoint:[-4.093944220240498,5.5059064183429,0],rightPoint:[-4.093944220240498,-7.8252314417755695,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"39y7xTS1S7F7jiBBvyvPxR",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-.039595288973049314,cy:-7.8252314417755695,cz:3.5404855174251457,lx:8.108697862534898,ly:.1,lz:3.7968822453017803,leftJoints:["39y7xTS1S7F7jiBBvyvPxR"],rightJoints:["cSVfkr5b26MSCjvZV6AAuA"],leftPoint:[-4.093944220240498,-7.8252314417755695,0],rightPoint:[4.0147536422944,-7.8252314417755695,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"8K2s8ExFq4TG2csG9MWdsp",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Foundation",cx:.04362302366466242,cy:1.823303235241708,cz:1,lx:8.30081773193631,ly:17.094708951250738,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5Ds4Da2scUYHkUksNyQ1xG",selected:!1,enableGroupMaster:!1,locked:!0,notBuilding:!0},{type:"Window",cx:-.25419587257395015,cy:.1,cz:-.30201296045936715,lx:.24801117503166498,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1d7mvhUrBc4LPBEQXecARp",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ir7hkL6jERL1qMTc1icTaU",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2603805701162353,cy:.1,cz:-.30201296045936715,lx:.2603805701162353,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"r88YNaDvQ5vy3aH4s6woYs",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u5euGVsx1U7wCryJGvzaQB",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"cSXg7ALAMVJuBAwSqm3fTC",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4BaNwdGRdaXZpb72VCDgor",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rbG9cs5DUMxXisr5wn3eQo",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mFoP4r2Wu3pQmWdjtsWy3S",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"augNejin4JPCekoKKnTYSv",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.029411764705882353,lx:.15794117467311933,ly:.3,lz:.17647058823529413,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"5B4h5oeHnYU5wJtaewHXT5",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8361znRuvUkFVaeSdoo5N8",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647058,lx:.17358704674415687,ly:.3,lz:.32964673726196053,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqGE4Pc7gaUxrzp2HEspd6",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:3.30154460456002,cy:-9.422479646769895,cz:1.05,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"rw9LaiB1TVsCjU7r3gxtva",selected:!1,ly:.6,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.3048004341950468,cy:-9.630820519777313,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"eSJdzinPpHu96SbrVMAjVK",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.510735678336653,cy:-3.1958389696925,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5HazbJmLvszfXVAspqP44n",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.4905736887835115,cy:3.679225460437303,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"ksxkAyWQERG2x1K1PGLm2t",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-5.9613745486693706,cy:-2.773042180475202,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"iMujo9QXGncnBDqpZ8cWcv",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-6.2101179268188,cy:3.9102946709381,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"6cWk3x2UFqbqvZgzUcoLmx",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:1.8508428108951245,cy:-9.658677131415082,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tgueUXSjzrifiN4jQuumWf",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:6.0352995723203975,cy:9.024257786663838,cz:1.0499999523162848,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"aKSdbZwyPvicQCB2BLjJKk",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:-5.904244061298131,cy:8.73412818752091,cz:1.049999952316284,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"izwDJguiBhY5ey4Ujd2R3z",selected:!1,locked:!0},{type:"Human",name:"Jena",cx:4.50924100032713,cy:-.042568091946864506,cz:1.05,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"q9UXGHJuymt18ppM1rZtbi",selected:!1,ly:.695,locked:!0},{type:"Window",cx:0,cy:.1,cz:.38235294117647056,lx:.15794117467311933,ly:.3,lz:.17647058823529413,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fpLqjLTr3asSNu2fh1ZJCm",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.02669213223982052,cy:.08291430106063127,cz:7.726383223578941,lx:6.232,ly:8.368,lz:.046,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],color:"#fff",parentType:"Roof",parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n5j4iVNJbtpUNbLaMZkvDP",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.05226827991600305,cy:-.11746474188720647,cz:6.581147613067356,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uKAsAnFBRgrMiaDDwGrZbd",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.04809382562376093,cy:.17196359453393734,cz:8.23533076857283,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ndNwjPHJBZn5L5PwwRPXWh",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:5,intensity:5,color:"#7b64ff",cx:.4038813832551331,cy:-.018771346923666346,cz:.4999999772934685,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKvvAN4QXDBPjUP3YttScs",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:5,color:"#f44e3b",cx:.03479011577552929,cy:.29915344735612687,cz:8.962264816189862,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"j4JYudDCjzNXq8FDPWZEem",selected:!1,inside:!0,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.39094575141857246,y:-.6076345062918038},{x:-.3475489897325333,y:-.5252228219763136},{x:-.30415222804649406,y:-.6076345062918038},{x:-.3475489897325333,y:-.690046190607294}],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:0,id:"it9MDEMzBf4jYFMwSdWCYB",text:"LAKE INN",fontSize:.6,fontColor:"white",noOutline:!0,opacity:0,fontStrokeWidth:.01,locked:!0}],Tpn=16,Ppn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.9823782654476845,7.984103859589565,7948413777907035e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.9823782654476845,7.983103482143546,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[26.70929607950559,3.177981670849796,5.962891433031834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.21820041958429523,2.945228709202592,5.9628914330318326],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!0,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Cpn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Rpn=1,Hpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Mpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Ipn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},zpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Dpn="Unknown",Epn=null,kpn=null,Fpn=null,Lpn=[],Wpn={docid:mpn,time:ypn,timestamp:Apn,userid:wpn,owner:vpn,email:xpn,world:bpn,elements:Spn,sceneRadius:Tpn,view:Ppn,graphState:Cpn,evolutionMethod:Rpn,solarPanelArrayLayoutParams:Hpn,solarPanelArrayLayoutConstraints:Mpn,evolutionaryAlgorithmState:Ipn,economicsParams:zpn,modelType:Dpn,modelAuthor:Epn,modelLabel:kpn,modelDescription:Fpn,notes:Lpn},Npn="9oLedt6KSdnvU6ReLpvofe",Upn="06/12/2023 10:14 am",Bpn=1686579271051,jpn=null,Ypn=null,Opn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},_pn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.19344523437500172,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.036317022980521335,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Box Gable",labelHeight:8,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.4719248971291678,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:.014037551435416101,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:.014037551435416101,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.4719248971291678,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.24999999999999997,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333326,color:"#ffffff",cz:.014037551435416101,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.4719248971291678,type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:.014037551435416101,lz:.4719248971291678,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.5,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.35,cz:0,ly:0,showLabel:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{selected:!1,cz:-.003118658584209677,foundationId:"m7AH7DcnoGzAq9kryBy4RS",type:"Window",normal:[0,0,1],id:"rgPxjoaTPqdF2tQvSYYJxX",lx:.15000000000000005,ly:0,color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",lz:.5062373171684194,cy:.1,cx:.025000000000000022,rotation:[0,0,0],mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.32500000000000007,rotation:[0,0,0],type:"Window",lz:.5,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:0,lx:.1499999999999999,color:"#ffffff",cy:.1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:1.1862593917325661,cy:-5.878603983923892,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Door",cx:-.007175044455080826,cy:0,cz:-.10574881686604092,lx:.24768342224349496,ly:0,lz:.7885023662679181,textureType:"Door Texture #5",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",doorType:"Default",archHeight:1,filled:!0},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mN8bzYoiQHnqnz3EdnMx5V",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.009999999999999998,cy:.1,cz:.65,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tykEvHMLKUG24aenygTKer",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ptjuJgnSZ9BGF41zQTa7NN",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qH7TW5xv9LhkiifYBpFnzX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kGJQ1siixMwoWrD3EUKKJK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-18.764187734374996,cy:.14106107076947794,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Open Gable",showLabel:!0,labelHeight:7,labelSize:.5},{type:"Door",cx:0,cy:0,cz:-.1,lx:.25,ly:0,lz:.8,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jess",cx:-3.1725018437499966,cy:-6.753630704470966,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Human",name:"Jeanette",cx:7.621742234374995,cy:-6.466760136609153,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oRmXPWxcNMFxgsrsxonDon",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.36,cy:.1,cz:-.003118658584209677,lx:.12000000000000002,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.05,cy:.1,cz:-.003118658584209677,lx:.1,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3366666666666666,cy:.1,cz:0,lx:.12666666666666676,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:18.4159863125,cy:-.013675215842332555,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,label:"Hip",showLabel:!0,labelHeight:8,labelSize:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.35000000000000014,cy:.1,cz:.014037551435416087,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vA6adyEkDTr58b4mpzEs5P",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:13322676295501878e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"twnicRfRAP53B9K6S8CVFm",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35000000000000014,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oxmJ7ohqmjFLB5ye4yGS6E",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:.01403755143541606,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jsRnsGzxKw3CunZjMYneFD",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8d9L17Wt7kc8NaHb7DZkQA",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hVKNWxqP1tH67cRypCiM18",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29999999999999993,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hHA24TY61rX4piy7chXHsW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.6390375514354161,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sFXKinS1ygh3aQAbgbsfyW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3000000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n9vgLXoYa2nNMGT5JFGz9k",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1}],Vpn=35,Gpn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.254159564913593,-27.690636175073536,3.1442036565521727],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-2.0057889063141925,7.911051887878871,2.2071518984525413],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:288,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Xpn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Jpn=1,Kpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},qpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},$pn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Qpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Zpn="Unknown",e1n=null,t1n=null,n1n=null,o1n=["Gable roof vs. hip roof"],i1n={docid:Npn,time:Upn,timestamp:Bpn,owner:jpn,email:Ypn,world:Opn,elements:_pn,sceneRadius:Vpn,view:Gpn,graphState:Xpn,evolutionMethod:Jpn,solarPanelArrayLayoutParams:Kpn,solarPanelArrayLayoutConstraints:qpn,evolutionaryAlgorithmState:$pn,economicsParams:Qpn,modelType:Zpn,modelAuthor:e1n,modelLabel:t1n,modelDescription:n1n,notes:o1n},r1n="jBRvLNoGNN2puEDd9PXycz",a1n="06/10/2023 06:24 pm",l1n=1686435869581,s1n=null,c1n=null,u1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},d1n=[{type:"Human",name:"Jedi",cx:6.331304507164129,cy:-1.3012531601465285,cz:.05,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!1},{type:"Wall",cx:.2181336152654918,cy:3.890044719861693,cz:2.2408122612280286,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[9.996822616742959,3.890044719861693,.1167755799390626],rightPoint:[-9.560555386211975,3.890044719861694,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:9.996822616742957,cy:.3560826328024773,cz:2.2301039869226305,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[9.996822616742953,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,3.890044719861694,.1167755799390626],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-9.560555386211973,cy:.3560826328024773,cz:2.228839888904333,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-9.560555386211973,3.890044719861694,.1167755799390626],rightPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.2181336152654927,cy:-3.177879454256739,cz:2.268765007024547,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,-3.177879454256739,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Foundation",cx:0,cy:1.7959453873000797,cz:.05,lx:20.027750617523758,ly:10.567937825052699,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1,locked:!1},{type:"Wall",cx:.48326494323250757,cy:3.5008921737627774,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[5.1391154490341355,3.500892173762777,.1167755799390626],rightPoint:[-4.172585562569121,3.5008921737627787,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:5.139115449034135,cy:-.014752489141851436,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[5.139115449034133,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,3.500892173762778,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-4.17258556256912,cy:-.01475248914185131,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.17258556256912,3.5008921737627787,.1167755799390626],rightPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.571023197562504,rightUnfilledHeight:4.571023197562504,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.483264943232508,cy:-3.530397152046481,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:4.671023197562504,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,-3.530397152046481,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:.23126993902249376,cy:-2.0229770702149175,cz:.05,lx:14.211391813883525,ly:9.298675779004126,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},enableGroupMaster:!0},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aZCLoUJL2oqSdY1EPAoZaK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7tBrMVcDfPB8c8BZciVReg",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.007111071338860792,cy:0,cz:-.25,lx:.21333214016582355,ly:0,lz:.5,color:"white",textureType:"Door Texture #4",normal:[0,1,0],rotation:[0,0,0],id:"7U3cffozoc4HtMQf5rGEzr",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:.37465024813261655,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kXNUWsGU11pAFUKwvU2cgP",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:7894875130155282e-33,cy:.1,cz:.37465024813261655,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2TxqL85a1LDTfDpUNCK9gm",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544315,cy:.1,cz:.37465024813261655,lx:.14222142677721583,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e7mrU2eTyTJt6DPomDBhWs",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:.26760732009472615,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4UxKztqar6qH3CTGZ9qgY9",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.2676073200947262,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tQ1H6t36xF8x6Jq7rqyTYA",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2o6zHemGFi14KgXdJ3iuht",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bNFvbn2V5MqizQvTWS1gF8",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.007074212847824756,cy:.1,cz:.717187617853866,lx:.1273358312608462,ly:.3,lz:.14986009925304675,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tnV8oAWfG9ER3isiJKzp3v",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28037933545424537,cy:.1,cz:.3211287841136713,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"d65ECu9HpsufqejE9JE6SQ",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:.3211287841136713,lx:.1445912711069909,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6kdvjn4UXHVDJzSZhf4B4J",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eVWLBrjytjaXb5Ykbr5VPD",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:-.21408585607578087,lx:.14459127110699085,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2ZfkAgSXYQx6P4m4xidDeL",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oEw7Y1dUnZ4auXTsBwuqSe",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4g5mEoLtYLy6qSqMvwrtZa",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4SFYRMATJPbJgwPmaVx1ZQ",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vJzKtUzUWEXsGn9NbVuYJR",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578084,lx:.14148425695649575,ly:.3,lz:.21408585607578082,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6K9qDfssYi3YmZcNiGxeFD",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aFbFpSbkdAr9vNaBtR39Zj",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.7171876178538659,lx:.1414842569564957,ly:.3,lz:.14986009925304655,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"gTVRT9iKwSKBHrZBxbTWqP",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nyFPVXnTmHtF1thRj3voUP",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"44QoRqthuL83hLzEWvpPy4",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eL8eT9b15BPwUEoDRzrTes",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ik59hsieStesGBV1HN1iPA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28555769237173745,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jzPeoP6c34HMtziwDKHv3a",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.28037933545424537,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jsfEyvAHdrSn2vaQ4ia3zy",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1RhUm2Y2uUHcxK5xvxbogA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"5ZJyH8rrUf7HJAQnM2bWVm",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nw3rdMtcMqRG4LGoRcBsfK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmF1fcU9LPrzoGvKVJXeJJ",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-11353495590844666e-33,cy:0,cz:-.04661843672800818,lx:.35792118958596425,ly:0,lz:.9067631265439836,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4u2Lemg9g24YVU44Rt2Xic",interior:!0,locked:!1},{type:"Window",cx:.025565799256140304,cy:.3,cz:.05352146401894522,lx:.10226319702456121,ly:.3,lz:.5352146401894522,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bqg8AAYEpwNKgztwidBiEk",locked:!1},{type:"Window",cx:.4720595639184657,cy:-3.3684520937463995,cz:4.763171084384773,lx:6.938544523756692,ly:.2,lz:.00409574132092067,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5149965428074765,0,-2220446049250313e-31],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aGPExW23jA85jXEJyeCpz1",interior:!0,empty:!0,polygonTop:[-.035382757507848805,4.273887307898969],locked:!1},{type:"Window",cx:-2.6203952752607758,cy:3.667558239043421,cz:4.776209255164273,lx:3.171105348094547,ly:.2,lz:.017651285838173516,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,3.141592653589793],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"72o3pTJwsE9dUcnRyyjnEw",interior:!0,polygonTop:[.5,4.226955821233187],empty:!0,locked:!1},{type:"Window",cx:-2.693211019665715,cy:-3.6869046603465847,cz:4.781988313035353,lx:2.9580970480479842,ly:.2,lz:.09882178864870414,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,0],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"uPuuLDNiMgZBsKvCnm6tSV",polygonTop:[-.5,4.164786986092855],interior:!0,empty:!0,locked:!1},{type:"Door",cx:-.3090654703490424,cy:0,cz:-.014505558316641022,lx:.3603907064477181,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8s4tEpToJXwoUEYbHRBASE",interior:!0,locked:!1},{type:"Door",cx:.3060665281723105,cy:0,cz:-.014505558316641022,lx:.3543928220942542,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kP69Q4f2kGriQePVP8M1cp",locked:!1,interior:!0}],f1n=13,h1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.2194678710540945,-.08163623568179776,-21779207174878058e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.2194678710540945,-.08263661312798706,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.0825236074539012,-21.73896740327531,3.532398591116602],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:33.40365140230189,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[.5164600410339055,-.2045268879302931,3.380292682783385],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:256,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},p1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},g1n=1,m1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},y1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},A1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},w1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},v1n="Unknown",x1n=null,b1n=null,S1n=null,T1n=["Gable-and-valley roof"],P1n={docid:r1n,time:a1n,timestamp:l1n,owner:s1n,email:c1n,world:u1n,elements:d1n,sceneRadius:f1n,view:h1n,graphState:p1n,evolutionMethod:g1n,solarPanelArrayLayoutParams:m1n,solarPanelArrayLayoutConstraints:y1n,evolutionaryAlgorithmState:A1n,economicsParams:w1n,modelType:v1n,modelAuthor:x1n,modelLabel:b1n,modelDescription:S1n,notes:T1n},C1n="xtKNTywwk7s3D5dx9fE6NJ",R1n="06/12/2023 10:07 am",H1n=1686578834737,M1n=null,I1n=null,z1n={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},D1n=[{type:"Human",name:"Jocelyn",cx:7.030735525496638,cy:-10.425839702214304,cz:0,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.4},{type:"Wall",cx:.19888873388653605,cy:5.462586096288465,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.854739239688164,5.462586096288464,.1167755799390626],rightPoint:[-4.4569617719150925,5.462586096288466,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:4.854739239688163,cy:1.9469414333838355,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.854739239688161,-1.5687032295207934,.1167755799390626],rightPoint:[4.854739239688166,5.462586096288464,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:4.671023197562504,centerRoofHeight:[-.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:-4.456961771915092,cy:1.9469414333838349,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.456961771915091,5.462586096288466,.1167755799390626],rightPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:7.104360278230817,centerRoofHeight:[.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:.1988887338865364,cy:-1.5687032295207946,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:7.104360278230817,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],rightPoint:[4.854739239688165,-1.5687032295207934,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:7.104360278230817,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.104360278230817,rightTopPartialHeight:7.104360278230817},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.18703080111903558,cy:-9.915377662073155,cz:.05,lx:13.403144619496231,ly:13.222063624055503,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:.35217238415000696,cy:2.6927731238245474,cz:2.2408122612280286,lx:8.76701829919503,ly:.3,lz:2.6726233773992516,leftJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],rightJoints:["vhCUXkYA9VDRSco52tUYkV"],leftPoint:[4.735681533747522,2.692773123824547,.0668155844349813],rightPoint:[-4.031336765447508,2.692773123824548,.0668155844349813],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gG5CjV1FxMvKL6tHfFayym",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:2.6726233773992516,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:4.735681533747522,cy:.48062987575342486,cz:2.2301039869226305,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["eTtjCc8c1PMfKVHADbJHAr"],rightJoints:["gG5CjV1FxMvKL6tHfFayym"],leftPoint:[4.73568153374752,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,2.692773123824548,.0668155844349813],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v7ziTUW2TZM5T4TwmNAdjJ",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:2.6726233773992516,centerRoofHeight:[-.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:-4.031336765447506,cy:.48062987575342486,cz:2.228839888904333,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["gG5CjV1FxMvKL6tHfFayym"],rightJoints:["eTtjCc8c1PMfKVHADbJHAr"],leftPoint:[-4.031336765447506,2.692773123824548,.0668155844349813],rightPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],relativeAngle:-1.5707963267948972,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vhCUXkYA9VDRSco52tUYkV",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:4.738508482435636,centerRoofHeight:[.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:.35217238415000696,cy:-1.731513372317698,cz:2.268765007024547,lx:8.76701829919503,ly:.3,lz:4.738508482435636,leftJoints:["vhCUXkYA9VDRSco52tUYkV"],rightJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],leftPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,-1.731513372317698,.0668155844349813],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eTtjCc8c1PMfKVHADbJHAr",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:4.738508482435636,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.273631578164477,rightUnfilledHeight:4.273631578164477,leftTopPartialHeight:4.738508482435636,rightTopPartialHeight:4.738508482435636},{id:"jVi4m1ThhBLxMFASq2GS9v",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["eTtjCc8c1PMfKVHADbJHAr"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.7467654326238933,cy:-6.853383216679946,cz:.05,lx:11.313197651444508,ly:6.0997112704854475,lz:.0668155844349813,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6YXGTgZyXDxpnnbdLfyv5j",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:-.05369588213549307,cy:0,cz:-.25,lx:.15034846997938056,ly:0,lz:.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"91pkNVx7ajPdGc4gqpa6PF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.32217529281295837,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7ha8A9howKC84aYKTw9eqN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"8VBQnA65eh5k5Uw55HF1Cb",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32217529281295837,cy:.1,cz:.32112878411367135,lx:.10739176427098608,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"un8y8e9JpPi1naZZMpwMVZ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v1BvsJ4T7JhsFhezNhcX4K",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"soGnwUqCB3auZqHEHNS1LQ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-12546916046160377e-33,cy:.1,cz:.18708210226259175,lx:.22602514572054705,ly:.3,lz:.7483284090503667,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vhCUXkYA9VDRSco52tUYkV",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"aRTYiMKpbFtXogCmbdfpaN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m5qoAfq3cFT2Jt7voLAZVP",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aF1Pnz747SfgYcvKbrSeaH",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.01710957989146351,cy:.1,cz:.05948559174013301,lx:.39922353080081546,ly:.3,lz:.7041900664751375,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gG5CjV1FxMvKL6tHfFayym",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"uicWDWWbqUVhqeZaftrgmK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-10037532836928301e-32,cy:.1,cz:.07392401455912316,lx:.22602514572054688,ly:.3,lz:.6753132208371573,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"v7ziTUW2TZM5T4TwmNAdjJ",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"pVu2one7ax8iwQZsAqqvKk",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.03555535669430392,cy:.1,cz:-.05352146401894522,lx:.21333214016582355,ly:.3,lz:.5352146401894522,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"sTNhou8URmxdSewCTJQCAy",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3518965680359005,lx:.8591341141678889,ly:.3,lz:.14075862721436017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kVcMN888wkNzdrNFsdAiaM",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:.053695882135493055,cy:0,cz:-.25,lx:.42956705708394444,ly:0,lz:.5,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"wpqi2Ry4DwtfWLp7rkgBQh"},{type:"Door",cx:0,cy:0,cz:-.1796206863928199,lx:.8591341141678889,ly:0,lz:.6407586272143603,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nnyBHsqWtA9kbVTgYsewZw",interior:!0}],E1n=21,k1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.08817077589694,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.089170775904988,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.59744270375234,-.7176337384414646,3.223728034339639],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.4383511164484704,-7.6519084348386786,3.2237280343396377],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},F1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},L1n=1,W1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},N1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},U1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},B1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},j1n="Unknown",Y1n=null,O1n=null,_1n=null,V1n=["Clerestory roof"],G1n={docid:C1n,time:R1n,timestamp:H1n,owner:M1n,email:I1n,world:z1n,elements:D1n,sceneRadius:E1n,view:k1n,graphState:F1n,evolutionMethod:L1n,solarPanelArrayLayoutParams:W1n,solarPanelArrayLayoutConstraints:N1n,evolutionaryAlgorithmState:U1n,economicsParams:B1n,modelType:j1n,modelAuthor:Y1n,modelLabel:O1n,modelDescription:_1n,notes:V1n},X1n="4aDAL58XHFYL5qfHvxH7ag",J1n="03/21/2023 09:15 am",K1n=1679404555806,q1n="QWecNcxhyvP6j6sBN11hBsfZDau1",$1n=null,Q1n=null,Z1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},egn=[{type:"Wall",cx:-1.5970326990453252,cy:4.004815564210436,cz:2.2408122612280286,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:1.5833669389106042,cy:.7942223442409677,cz:2.2301039869226305,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[1.5833669389106024,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-4.777432337001256,cy:.7942223442409677,cz:2.228839888904333,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-1.5970326990453252,cy:-2.4163708757285014,cz:2.268765007024547,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,-2.4163708757285014,.12302997096647357],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Foundation",cx:1.5369607065875481,cy:-.7337478948430647,cz:.05,lx:9.90872374106268,ly:8.491876915965634,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1},{type:"Wall",cx:.19112531149657697,cy:5.620514141149594,cz:2.2408122612280286,lx:11.291398093915323,ly:.3,lz:4,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[5.836824358454238,5.620514141149594,.1],rightPoint:[-5.454573735461085,5.620514141149594,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:5.836824358454238,cy:-.00995475119942446,cz:2.2301039869226305,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[5.836824358454236,-5.640423643548443,.1],rightPoint:[5.83682435845424,5.620514141149594,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.454573735461083,cy:-.00995475119942446,cz:2.228839888904333,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-5.454573735461083,5.620514141149594,.1],rightPoint:[-5.454573735461085,-5.640423643548443,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.1911253114965783,cy:-5.640423643548443,cz:2.268765007024547,lx:11.291398093915324,ly:.3,lz:4,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-5.454573735461085,-5.640423643548443,.1],rightPoint:[5.83682435845424,-5.640423643548443,.1],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3949264794283293,cy:.1,cz:-.0625,lx:.08134902219083363,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.21342606671010173,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.16683617706583842,cy:.10266831665150722,cz:.06,lx:14.604582269301902,ly:13.013221811141948,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:2.741183421535105,textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["e5r2Cqz5K28ewHbKWcFnYZ","n8LvMVp1hZ7BptmwrWpcMT","11Ltx28CSTVpm6gjZuBH9w","hndwqtrrygFvfqvBJrvZYu"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"bdD5ztB6YGXg4uAZiGZwDr",rise:2.399521849228247,ceiling:!1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"jA4MqD7ALHMKTSCdEzWHix",windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3LT1rVtnjso2jP6z4TaDHZ",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ckaBeGV6Ni9NQ3te3EiN3g",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fEDLXuYBqFYJiCkBziofUB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v9cnm7VWZ62giNve9jyv7m",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qVLTtiLnxXpR5yqcHhSa9e",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"meXeAm7nDdwTPRbzo9vVFs",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qJBjFd5e5FHkdYG6fhgp91",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Julia",cx:.2781860356360548,cy:-5.386859602824218,cz:.05999999865889549,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"jiceWNCXNG4mowM8Y1pnuj",selected:!1,ly:.43},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.17712598416645625,ly:0,lz:.625,doorType:"Arched",archHeight:1,textureType:"No Door Texture",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.04428149604161406,y:-.35},{x:-.06199409445825968,y:-.3},{x:-.06199409445825968,y:-.25},{x:-.04428149604161406,y:-.2},{x:.05142883345662218,y:-.20084745762711861},{x:.07085039366658251,y:-.25},{x:.07085039366658251,y:-.3},{x:.05313779524993687,y:-.35}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:1,id:"pTMN5Rfce2g9VdNDy1KZ2d",text:"DEPOT",fontSize:.3,fontColor:"gold"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"trSHy7vD1sqEajCH8ej493"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cf7HkkLcbaZLJwzCBfEgBH"}],tgn=10,ngn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.335485572988376,-17.642820069421862,3.809724387059762],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:35.161738318212514,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.3277453693129069,-.2039271051931454,3.5347379885285575],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},ogn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ign=1,rgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},agn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},sgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cgn="Unknown",ugn=null,dgn=null,fgn=null,hgn=["Monitor roof"],pgn={docid:X1n,time:J1n,timestamp:K1n,userid:q1n,owner:$1n,email:Q1n,world:Z1n,elements:egn,sceneRadius:tgn,view:ngn,graphState:ogn,evolutionMethod:ign,solarPanelArrayLayoutParams:rgn,solarPanelArrayLayoutConstraints:agn,evolutionaryAlgorithmState:lgn,economicsParams:sgn,modelType:cgn,modelAuthor:ugn,modelLabel:dgn,modelDescription:fgn,notes:hgn},ggn="sXLwKRDpQ3Uupy3LJSKC7z",mgn="06/12/2023 10:27 am",ygn=1686580058007,Agn=null,wgn=null,vgn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},xgn=[{type:"Human",name:"June",cx:2.0733747451945757,cy:-6.061881854428435,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-11.865426237722085,cy:-.3020514645326293,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Colonial",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,textureType:"Door Texture #1",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #2",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:0,lz:.2907912906694198,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1fmjy8Zg2jNAAXJDNAtxtX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vxHToBs6fvSBn4dmam1NPh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Juro",cx:-1.8455745212476522,cy:-6.047134973310751,cz:.042986158281564275,lx:.494,ly:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",id:"pBBZ6mrTSk6FLL8v8uuPYG",selected:!1},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["sLjmied5ovE5nNuq6aFYPi"],rightJoints:["723nwVCZT2zzcwYqNJCWVS"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"iwGA1TfwpSpggq8C9JfAoJ",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cXa45JVn2G9m2N2fUuSH2s",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iJdJ7WAwuh83JHVXJKYXzH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dkUReYpnmAcqhYPPyQxoRH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aFrtgne6bioyotbdk5S8KN",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aEweEoYSW7Np4EVuX2Fdsb",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4xUmcM8pypieKfKsDMRcGC",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["hZoCtb7QW6TLTCnow7LXWA"],rightJoints:["iwGA1TfwpSpggq8C9JfAoJ"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"sLjmied5ovE5nNuq6aFYPi",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5cz4chLixfxh7WLLDakTKw",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nGCDuaQuHsagkRRXKZrc7L",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8t3b9gLTjPqXrVKA67DgG7",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pVYrF6C2mmp9q8PmrhehV8",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["iwGA1TfwpSpggq8C9JfAoJ"],rightJoints:["hZoCtb7QW6TLTCnow7LXWA"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"723nwVCZT2zzcwYqNJCWVS",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[-.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bCczr2bfNJ9hHru5dKivtn",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:.3,lz:.2907912906694198,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hu972Coyp2SdPeApdzUcM",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"stJETXTgkaem9cnthaz7DF",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8uMuJn7ATgkV1KuyvniGpN",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["723nwVCZT2zzcwYqNJCWVS"],rightJoints:["sLjmied5ovE5nNuq6aFYPi"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"hZoCtb7QW6TLTCnow7LXWA",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hQMgr7y3LyHNDTRRkE594t",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,color:"white",textureType:"Door Texture #1",normal:[0,1,0],rotation:[0,0,0],id:"qph4faDddEH8gdVzH6ivZr",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n6cw2a16gnaNtUX8qEggGq",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPpwv4eAJzufaa29tD1UJG",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vTVeGVzfHjGyBh4GUdsJTK",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"88gwLvpD9kwfDsBZHSLpf2",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"taea46Jq5kmPKnsEuNdHWM",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s6dPHQVJrM3Acf87nyeVab",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j8XTJHQPmBNW4amR5ZNmdA",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{id:"wqXe9pYmicSvR7iYewPLF7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",roofType:"Gable",textureType:"Roof Texture #2",thickness:.15,wallsId:["hZoCtb7QW6TLTCnow7LXWA"],ridgeLeftPoint:[-.17663019315906894,1],ridgeRightPoint:[.17663019315906894,1],selected:!1,rise:3.562941311903093,ceiling:!1},{type:"Foundation",cx:11.036197795997648,cy:-.3904739664770651,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,showLabel:!0,label:"Saltbox",labelHeight:9,labelSize:.5}],bgn=25,Sgn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.9999999999895],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.088801690415984,-18.193636596891952,4.218925791626301],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:17.147500000000004,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.8484762737245803,-.01599768987763376,3.116362939071387],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:234,height:61}},Tgn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Pgn=1,Cgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Rgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Hgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Mgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ign="Unknown",zgn=null,Dgn=null,Egn=null,kgn=["Colonial vs. saltbox"],Fgn={docid:ggn,time:mgn,timestamp:ygn,owner:Agn,email:wgn,world:vgn,elements:xgn,sceneRadius:bgn,view:Sgn,graphState:Tgn,evolutionMethod:Pgn,solarPanelArrayLayoutParams:Cgn,solarPanelArrayLayoutConstraints:Rgn,evolutionaryAlgorithmState:Hgn,economicsParams:Mgn,modelType:Ign,modelAuthor:zgn,modelLabel:Dgn,modelDescription:Egn,notes:kgn},Lgn="kZU7r98YD2swbMpBZrHNnd",Wgn="06/12/2023 10:32 am",Ngn=1686580347333,Ugn=null,Bgn=null,jgn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ygn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-9.804203725230073,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.08530001295248146,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Gambrel ",labelHeight:9,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,centerRoofHeight:[0,8],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,8],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.375,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.0625,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.06249999999999989,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.3749999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333337,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333341,color:"#ffffff",cz:-.0625,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.375,type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.06250000000000006,lz:.3749999999999999,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{lz:.375,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.3,cz:-.0625,ly:0,showLabel:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:-.0625,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.1,color:"#ffffff",lz:.375,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3,rotation:[0,0,0],type:"Window",lz:.375,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0625,lx:.09999999999999995,color:"#ffffff",cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,textureType:"Door Texture #6",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",color:"white",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",thickness:.2,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",rise:4,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Human",name:"Jeanette",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xvSfp96ouDUqqhbUKFAfvN",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uMr1zC8iUpUcFHuHfA3LNb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nTJAtH1bkusjTMRvTpeUq1",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wJizEa8fmJx3s6DnYFJCaB",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fcbYfWunuYUDKu74uGTtE2",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5UwypTCfHps6bAP47dvKX",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f27adUV1mvqbvyHKYmSuV2",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tWZGLDh66KAhJVvZqAMQj9",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mpyjLbrKcGFUF8TjcaBsHx",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.3,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gyFrbE3iZarFXfLEH1H67R",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"unBvd3fv6vjx3w5z7xjUYQ",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3,cy:.1,cz:-.0625,lx:.09999999999999995,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a5UaEaWbJaymLnXeqKPnVG",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2GCuByhTAXSLeW2Qg1rbmy",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.06249999999999989,lx:.08333333333333333,ly:.3,lz:.3749999999999998,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333337,cy:.1,cz:-.0625,lx:.08333333333333341,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:-.06250000000000006,lx:.08333333333333341,ly:.3,lz:.3749999999999999,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,color:"white",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"9M7tkz3sEgnV2Z9JRHNunf",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jett",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:10.097000941178736,cy:.15684188850117087,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,label:"Mansard",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["vZvx6xJpNjwVutXgBYTqDu"],ridgeWidth:1.3796830302831236,textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"mV7ZzdDseX98dNDS9YnHz7",rise:2.8592746089260386,ceiling:!1},{type:"Window",cx:-1.7044433380331139,cy:-4.015924463712854,cz:5.284591699130502,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"cH5YJR4J6bQYpX3WB9k67N"},{type:"Window",cx:-2.7018576414835405,cy:-1.2664219595013968,cz:7.091630555089024,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1DzhW8vmdxVB9mcmU4b6BC"},{type:"Window",cx:4.341146883752691,cy:-1.251091065564622,cz:7.1103910909217225,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8aBtPjYUmoaUgGD59eww1P"},{type:"Window",cx:3.2042827482748226,cy:-4.014959357661002,cz:5.287583934394446,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g7sgiaMwM5so3QfreNjMbC"}],Ogn=24,_gn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.571150309425594,-21.972462076133603,4.616004408449201],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:31.733468832186787,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5906667798973315,5.766093748984623,2.3165783316967063],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:318,height:60}},Vgn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Ggn=1,Xgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Jgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Kgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},qgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},$gn="Unknown",Qgn=null,Zgn=null,emn=null,tmn=["Gambrel roof vs. mansard roof"],nmn={docid:Lgn,time:Wgn,timestamp:Ngn,owner:Ugn,email:Bgn,world:jgn,elements:Ygn,sceneRadius:Ogn,view:_gn,graphState:Vgn,evolutionMethod:Ggn,solarPanelArrayLayoutParams:Xgn,solarPanelArrayLayoutConstraints:Jgn,evolutionaryAlgorithmState:Kgn,economicsParams:qgn,modelType:$gn,modelAuthor:Qgn,modelLabel:Zgn,modelDescription:emn,notes:tmn},omn="gok71rpB2eg8vNimCv9jsV",imn="11/24/2023 02:27 PM",rmn=1700854020446,amn="QWecNcxhyvP6j6sBN11hBsfZDau1",lmn=null,smn=null,cmn="1.5.2",umn={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 5:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"1600 Pennsylvania Avenue NW, Washington, DC 20500, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.8976763,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-77.0365298,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},dmn=[{type:"Foundation",cx:2.437186281961438,cy:4.616260107535155,cz:.15,lx:74.26384799474762,ly:70.57289198325788,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3Qmj2gXj2Lmc28MbpT7BdQ",enableGroupMaster:!0,locked:!1,textureType:"Foundation Texture #4"},{type:"Wall",cx:-27.296564319985823,cy:-3.2481977926108314,cz:0,lx:27,ly:.8,lz:15,relativeAngle:4.71238898038469,leftPoint:[-27.296564319985823,10.251802207389169,.25],rightPoint:[-27.296564319985823,-16.74819779261083,.25],leftJoints:["jF3H99H3SvFmx1EtcFgSUR"],rightJoints:["qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"u5UupDCTgXC6oFiX9y4uby",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.7965643199858263,cy:10.251802207389169,cz:0,lx:51,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[23.703435680014174,10.251802207389169,.25],rightPoint:[-27.296564319985823,10.251802207389169,.25],leftJoints:["pkajzTvgP9i43n8Xx6zTrw"],rightJoints:["u5UupDCTgXC6oFiX9y4uby"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jF3H99H3SvFmx1EtcFgSUR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:23.703435680014174,cy:-2.7481977926108314,cz:0,lx:26,ly:.8,lz:15,relativeAngle:1.5707963267948966,leftPoint:[23.703435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,10.251802207389169,.25],leftJoints:["vsV2452bmxt8JnQXXqBe5N"],rightJoints:["jF3H99H3SvFmx1EtcFgSUR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"pkajzTvgP9i43n8Xx6zTrw",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-19.046564319985826,cy:-16.74819779261083,cz:3.733120462951788,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[-27.296564319985823,-16.74819779261083,.25],rightPoint:[-10.796564319985826,-16.74819779261083,.25],leftJoints:["u5UupDCTgXC6oFiX9y4uby"],rightJoints:["oHVfosgpAEPgTvFqa59jhu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"qEgP3g76n6YGpTNdaUNRJ5",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:15.453435680014174,cy:-15.748197792610831,cz:0,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[7.203435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,-15.748197792610831,.25],leftJoints:["3nWwhqzYyg3BoBTyzmSgQv"],rightJoints:["pkajzTvgP9i43n8Xx6zTrw"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"vsV2452bmxt8JnQXXqBe5N",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.953435680014174,cy:-16.74819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:1.3258176636680323,leftPoint:[6.703435680014174,-17.74819779261083,.25],rightPoint:[7.203435680014174,-15.748197792610831,.25],leftJoints:["juEYyWFfCjJDE4b169Lr6e"],rightJoints:["vsV2452bmxt8JnQXXqBe5N"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"3nWwhqzYyg3BoBTyzmSgQv",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-10.546564319985826,cy:-17.49819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:5.034139534781332,leftPoint:[-10.796564319985826,-16.74819779261083,.25],rightPoint:[-10.296564319985826,-18.24819779261083,.25],leftJoints:["qEgP3g76n6YGpTNdaUNRJ5"],rightJoints:["7KCjLbvxBFDXSftkUZDS2v"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oHVfosgpAEPgTvFqa59jhu",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-9.546564319985826,cy:-19.24819779261083,cz:0,lx:2.5,ly:.8,lz:15,relativeAngle:5.355890089177974,leftPoint:[-10.296564319985826,-18.24819779261083,.25],rightPoint:[-8.796564319985826,-20.24819779261083,.25],leftJoints:["oHVfosgpAEPgTvFqa59jhu"],rightJoints:["oSmqM3WG97smXJFvN7dA25"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"7KCjLbvxBFDXSftkUZDS2v",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-8.046564319985826,cy:-20.99819779261083,cz:0,lx:2.1213203435596424,ly:.8,lz:15,relativeAngle:5.497787143782137,leftPoint:[-8.796564319985826,-20.24819779261083,.25],rightPoint:[-7.296564319985826,-21.74819779261083,.25],leftJoints:["7KCjLbvxBFDXSftkUZDS2v"],rightJoints:["6BCCjk22xgQQ9jwAeGEMpR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oSmqM3WG97smXJFvN7dA25",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-6.546564319985826,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:5.6951827036320175,leftPoint:[-7.296564319985826,-21.74819779261083,.25],rightPoint:[-5.796564319985826,-22.74819779261083,.25],leftJoints:["oSmqM3WG97smXJFvN7dA25"],rightJoints:["mrpM4sL27ca3MHv3JwptDB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"6BCCjk22xgQQ9jwAeGEMpR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-4.796564319985826,cy:-23.24819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:5.81953769817878,leftPoint:[-5.796564319985826,-22.74819779261083,.25],rightPoint:[-3.7965643199858263,-23.74819779261083,.25],leftJoints:["6BCCjk22xgQQ9jwAeGEMpR"],rightJoints:["onQ3RZrBRz8TRewvvY3dTV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mrpM4sL27ca3MHv3JwptDB",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-2.7965643199858263,cy:-23.74819779261083,cz:0,lx:1.9999999999999998,ly:.8,lz:15,relativeAngle:0,leftPoint:[-3.7965643199858263,-23.74819779261083,.25],rightPoint:[-1.7965643199858263,-23.74819779261083,.25],leftJoints:["mrpM4sL27ca3MHv3JwptDB"],rightJoints:["cKAWjnd2X23kJ1QdKrzyaP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"onQ3RZrBRz8TRewvvY3dTV",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureWidth:.7,structureSpacing:5,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-.7965643199858263,cy:-23.49819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:.24497866312686423,leftPoint:[-1.7965643199858263,-23.74819779261083,.25],rightPoint:[.20343568001417367,-23.24819779261083,.25],leftJoints:["onQ3RZrBRz8TRewvvY3dTV"],rightJoints:["ksg7ADGGcB7LaHQWR2gDoP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"cKAWjnd2X23kJ1QdKrzyaP",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:.9534356800141737,cy:-22.99819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:.32175055439664213,leftPoint:[.20343568001417367,-23.24819779261083,.25],rightPoint:[1.7034356800141737,-22.74819779261083,.25],leftJoints:["cKAWjnd2X23kJ1QdKrzyaP"],rightJoints:["tjit5nfeyfk7MgJnZwEuUo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ksg7ADGGcB7LaHQWR2gDoP",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:2.4534356800141737,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[1.7034356800141737,-22.74819779261083,.25],rightPoint:[3.2034356800141737,-21.74819779261083,.25],leftJoints:["ksg7ADGGcB7LaHQWR2gDoP"],rightJoints:["2aizppjx7nR9dWK7oFqe3X"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tjit5nfeyfk7MgJnZwEuUo",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:3.9534356800141737,cy:-21.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[3.2034356800141737,-21.74819779261083,.25],rightPoint:[4.703435680014174,-20.74819779261083,.25],leftJoints:["tjit5nfeyfk7MgJnZwEuUo"],rightJoints:["8ocZPrJmGusu3tZWJzWvDk"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"2aizppjx7nR9dWK7oFqe3X",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:5.203435680014174,cy:-20.24819779261083,cz:0,lx:1.4142135623730951,ly:.8,lz:15,relativeAngle:.7853981633974483,leftPoint:[4.703435680014174,-20.74819779261083,.25],rightPoint:[5.703435680014174,-19.74819779261083,.25],leftJoints:["2aizppjx7nR9dWK7oFqe3X"],rightJoints:["juEYyWFfCjJDE4b169Lr6e"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8ocZPrJmGusu3tZWJzWvDk",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.203435680014174,cy:-18.74819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:1.1071487177940904,leftPoint:[5.703435680014174,-19.74819779261083,.25],rightPoint:[6.703435680014174,-17.74819779261083,.25],leftJoints:["8ocZPrJmGusu3tZWJzWvDk"],rightJoints:["3nWwhqzYyg3BoBTyzmSgQv"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"juEYyWFfCjJDE4b169Lr6e",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["oHVfosgpAEPgTvFqa59jhu","7KCjLbvxBFDXSftkUZDS2v","oSmqM3WG97smXJFvN7dA25","6BCCjk22xgQQ9jwAeGEMpR","mrpM4sL27ca3MHv3JwptDB","onQ3RZrBRz8TRewvvY3dTV","cKAWjnd2X23kJ1QdKrzyaP","ksg7ADGGcB7LaHQWR2gDoP","tjit5nfeyfk7MgJnZwEuUo","2aizppjx7nR9dWK7oFqe3X","8ocZPrJmGusu3tZWJzWvDk","juEYyWFfCjJDE4b169Lr6e","3nWwhqzYyg3BoBTyzmSgQv","vsV2452bmxt8JnQXXqBe5N","pkajzTvgP9i43n8Xx6zTrw","jF3H99H3SvFmx1EtcFgSUR","u5UupDCTgXC6oFiX9y4uby","qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"kKLW3PicqjFWjN5PqUDTTj",locked:!1,rise:0,ceiling:!1},{type:"Foundation",cx:1.202928279289015,cy:-.8889074596387783,cz:.1,lx:64.84314999489811,ly:43.56565669817109,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"b7DVyKfyTBHZGANbVbGoYG",locked:!1},{type:"Wall",cx:-.1363522997348845,cy:12.047335526575006,cz:0,lx:44,ly:.3,lz:17,relativeAngle:3.141592653589793,leftPoint:[21.863647700265116,12.047335526575006,.2],rightPoint:[-22.136352299734884,12.04733552657501,.2],leftJoints:["sEoC32EE5BhvottJbmBN7P"],rightJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"gtmtUrJvJf5sJGi7m3ucvT",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-21.886352299734884,cy:2.5473355265750053,cz:0,lx:19.00657780874821,ly:.3,lz:17,relativeAngle:4.738698697637612,leftPoint:[-22.136352299734884,12.047335526575006,.2],rightPoint:[-21.636352299734884,-6.952664473424995,.2],leftJoints:["gtmtUrJvJf5sJGi7m3ucvT"],rightJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"r8Aw9XiLCw9kPKUMgd3t6u",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:.1136477002651155,cy:-6.952664473424995,cz:0,lx:43.5,ly:.3,lz:17,relativeAngle:0,leftPoint:[-21.636352299734884,-6.952664473424995,.2],rightPoint:[21.863647700265116,-6.952664473424995,.2],leftJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],rightJoints:["sEoC32EE5BhvottJbmBN7P"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"rxcHxAK8KNRZb3EZ7ovrqm",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.014014541320304,rightUnfilledHeight:16.014014541320304,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:21.863647700265116,cy:2.5473355265750053,cz:0,lx:19,ly:.3,lz:17,relativeAngle:1.5707963267948966,leftPoint:[21.863647700265116,-6.952664473424995,.2],rightPoint:[21.863647700265116,12.047335526575006,.2],leftJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],rightJoints:["gtmtUrJvJf5sJGi7m3ucvT"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"sEoC32EE5BhvottJbmBN7P",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["rxcHxAK8KNRZb3EZ7ovrqm"],ridgeWidth:1.6897028772572007,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"dnGfHzSjH6Qt6pNJ8jFJUj",locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.0776940726226174,cy:18.14658482221914,cz:.1,lx:23.456509054864263,ly:24.556989889910795,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sQbhet5xpiSK5NzTWtub4a",locked:!1},{type:"Wall",cx:-8.831120616583963,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:-1.5707963267948966,leftPoint:[-8.831120616583963,8.971132934395634,0],rightPoint:[-8.831120616583963,-8.326737095099803,0],leftJoints:["7QCAeFgCM4uwoEq1rdWfs2"],rightJoints:["ue429MHHFRd7tE3xfNNNHx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"8kN3EwUCnSjrTbu7YtQvQY",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.165400792362441,cy:8.971132934395634,cz:0,lx:15.331439648443038,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[6.500319031859077,8.971132934395634,0],rightPoint:[-8.83112061658396,8.971132934395634,0],leftJoints:["cCcLVBABwpzcuXp9FsPst3"],rightJoints:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"7QCAeFgCM4uwoEq1rdWfs2",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:5.6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.500319031859077,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:1.5707963267948966,leftPoint:[6.500319031859077,-8.326737095099803,0],rightPoint:[6.500319031859077,8.971132934395634,0],leftJoints:["ue429MHHFRd7tE3xfNNNHx"],rightJoints:["7QCAeFgCM4uwoEq1rdWfs2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"cCcLVBABwpzcuXp9FsPst3",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.1654007923624428,cy:-8.326737095099803,cz:0,lx:15.331439648443041,ly:.5,lz:15,relativeAngle:0,leftPoint:[-8.831120616583963,-8.326737095099803,0],rightPoint:[6.500319031859077,-8.326737095099803,0],leftJoints:["8kN3EwUCnSjrTbu7YtQvQY"],rightJoints:["cCcLVBABwpzcuXp9FsPst3"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"ue429MHHFRd7tE3xfNNNHx",roofId:"89u35YTLctNXWRDNsxwcpj",structureSpacing:5.6,structureWidth:1,wallStructure:"Default",structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.459252183107493,cy:4.715511268475593,cz:0,lx:8.560946140897292,ly:.3,lz:17,leftJoints:["gpDtE9g3zjB5xUcdy4p2bn"],rightJoints:["ozPT6yyjumU6Hv81G3owfN"],leftPoint:[2.821220887341153,4.715511268475593,0],rightPoint:[-5.739725253556139,4.715511268475594,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"cGxpdDXk7BPKiVfi6VxNx9",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-5.691083514119223,cy:1.2695607261280444,cz:0,lx:6.89258765896258,ly:.3,lz:17,leftJoints:["cGxpdDXk7BPKiVfi6VxNx9"],rightJoints:["2zvZ3adRvEkJq9fVPEEKKi"],leftPoint:[-5.739725253556139,4.715511268475593,0],rightPoint:[-5.642441774682306,-2.1763898162195043,0],relativeAngle:-1.5566816409948834,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ozPT6yyjumU6Hv81G3owfN",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-1.4106104436705764,cy:-2.1763898162195043,cz:0,lx:8.46366266202346,ly:.3,lz:17,leftJoints:["ozPT6yyjumU6Hv81G3owfN"],rightJoints:["gpDtE9g3zjB5xUcdy4p2bn"],leftPoint:[-5.642441774682306,-2.1763898162195043,0],rightPoint:[2.821220887341153,-2.1763898162195043,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2zvZ3adRvEkJq9fVPEEKKi",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:2.821220887341153,cy:1.2695607261280444,cz:0,lx:6.891901084695098,ly:.3,lz:17,leftJoints:["2zvZ3adRvEkJq9fVPEEKKi"],rightJoints:["cGxpdDXk7BPKiVfi6VxNx9"],leftPoint:[2.821220887341153,-2.1763898162195043,0],rightPoint:[2.821220887341153,4.715511268475593,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"gpDtE9g3zjB5xUcdy4p2bn",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{id:"3DT5vkx2wE8Avqo6NjE3qK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["2zvZ3adRvEkJq9fVPEEKKi"],ridgeWidth:1.6897028772572007,selected:!1,locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.1156734519362868,cy:-14.279123441940943,cz:.1,lx:15.481779487215247,ly:15.111518843057006,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cyVPK1qLJT1KbaGL6qLYHA",selected:!1,locked:!1},{type:"Window",cx:-.2878787878787879,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5TpJDxszAzRvyQ2NqfKkn9",opacity:.5,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"isnfsXJ1sYeWDDj1v3HAcy",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rjznXiHLyLsFZBtBqoe6me",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hRT3G1Qxj9ddwfGbVmjK67",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.4090909090909091,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4FZyv3iFANwURNdtJmSf5k",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9XgeyGKZ17bF6hmvudf1pb",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tmSZBUv79gGQEmqdHUeNBv",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hpKyGgh393UrDCYt2TFEPH",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2878787878787879,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4AD8LAo94avXAwRxmXoTW5",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"o746xoPC2dwGtGgutFsDXX",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c53UUVUecAFBsz89jbxVYA",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bpg8E63ShDakBXvmrGVvhc",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jedi",cx:10.792902287976906,cy:-24.111012140339845,cz:.15000000596046095,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jXBttvkEdJUcgsQyoxkJyY",selected:!1,ly:.56,locked:!1},{type:"Window",cx:-.4090909090909091,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9D4XHpdhCgSutX6wu9btGJ",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gWSjVYZUm8Qw4rZTGCdJqU",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssjJa1pfa5qX67vq3t3ms4",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cm6JHszxRa71LB4AL9o4hM",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eGFMPp63uaJ8Z6dEip1wCT",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6g1oBhU14hr3mTV912e9dM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529411,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nAfcKafQoUyknKRwU7zYyz",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdht2qsNqNvtRuTiSrxhRn",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sMRK1zZtDamAUaaju5kzEB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ivaEUPDqF8h1KuwffoQE9v",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529412,cy:.3,cz:-.15,lx:.03921568627450977,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qoUC82g8EKd6aX4rrRhS51",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.3,cz:-.15,lx:.03921568627450987,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9G3Na6w4LghC1tGJcYYMQX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9zGVUoYGVo2E4qf9ZuPkby",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pErJmrncghcaMqwr5VCYq6",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.2843137254901961,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bNA5NJ5jM3rqPHYpWU9YvX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254904,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u6JmSSS7MnsTc3abTnBiZB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254902,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fnbrpCKzRDKtbEzFZ8278Y",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.28431372549019607,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNCEukMLjXLvD5gbDy1xJM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"amzAdeamET282epqcjwyww",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bRsXBDeYfSso6tiCqiYCUp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"x7JsEH8PfGjJ373jxu2nH9",opacity:0,frame:!0,locked:!1,mullionColor:"white",frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.008288040270692798,cy:.1,cz:-.0125,lx:.21548904703801275,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN7U27jHhJwVAWntrzsr1D",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bmDtwgfufE5e4Kne2LhHZq",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.07843137254901958,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ascuFaQMJxzrhtJHSRpvZ2",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.107843137254902,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rSoHzPCUdtqVH7c8BRWJ1V",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.0784313725490196,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tFJRnNLL8FhvzRjVcGz5Fk",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.0196078431372549,cy:.3,cz:-.2833333333333333,lx:.0784313725490196,ly:.3,lz:.36666666666666664,mullion:!0,mullionWidth:.06,mullionSpacing:5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"668rcrJyE6W7MNd2pYWoAp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.7,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Arched",archHeight:2,sillWidth:0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:5,verticalMullionSpacing:5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10784313725490197,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bdPS759a6fLQqu4V2o4qtx",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Joey",cx:9.115387825475082,cy:-24.651217406554846,cz:.15,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ouHmzt9Us42w5bHjR9ZvBW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Elm",cx:24.68149666528604,cy:30.40624439575707,cz:.1500000059604645,lx:12.225521614749255,lz:8.985934888591816,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"iyZFP8cWUDsX2VGyUoGTxq",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-33.168239841792456,cy:33.081643759613165,cz:.15000000596046628,lx:21.067617771997934,lz:15.677323900388549,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"q5tey4s1a5vXUiiDEyFkaC",selected:!1,flip:!0,locked:!1},{type:"Tree",name:"Oak",cx:27.369492357164148,cy:-25.522008177846573,cz:.1500000059604645,lx:10.7323110159116,lz:14.464681446457563,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"n1sQ5fcUd75QzX2Y353uNT",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:31.990594871051,cy:-29.99931442147024,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"1i15CUF6r9qjPL7U2Lb6eo",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:30.9837315091143,cy:-18.406933063455,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tcFvkUdRjNo8qiDvEShvKP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:12.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tm3GiScxVp1WgzmWsLgusP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:14.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"f2DSzggaELKVYDnQ3jkH8J",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:16.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8NTkXiYEAz7nkqKvjnXpTs",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5hte45etpHBPzUjLVr5M8S",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:20.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"k5NSyhh1vTCW6anr3Bnxxm",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-24.199104717917777,cy:-19.89755183152851,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jKAUFtG6mCpk1VKUFLbArj",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-21.70602992567401,cy:-19.842150169478614,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"38XrzKeRncZdskEKuyybVH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-19.37916011957982,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"imTCPSHK1nyiQfLEdYvRSi",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-17.163093637585362,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mhx7saLxNPZ36vhhBgjpsi",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Hip",roofStructure:"Default",wallsId:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"89u35YTLctNXWRDNsxwcpj",leftRidgeLength:8.635242091739931,rightRidgeLength:10.319579264913394,rise:3.229240477888453,ceiling:!1},{type:"Foundation",cx:.6163744974611483,cy:18.71649900037034,cz:.5,lx:50.85545052514254,ly:17.97168247424439,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#ffffff",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ustJbtTQJEeCkyVnXGayK2"},{type:"Human",name:"Jamelia",cx:1.3448042201833577,cy:2.8336636548560605,cz:.5000000000000009,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"pAQhAzdRtcSEf5g4XYdKtM",selected:!1,ly:.65},{type:"Human",name:"Jaye",cx:4.47029660144684,cy:5.02316777071092,cz:.5000000000000009,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"dbe6vr9MpeAutqWYghGDv5",selected:!1,ly:.55},{type:"Light",decay:2,distance:10,intensity:10,color:"#ff0000",cx:-.021931798388491356,cy:-.31746447944889156,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"eK4rrZPqmi6q4jMkoXNFpz",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.15060856519114013,cy:-.2699408955339268,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"fHCHUCQJQtBzqC5JVjvrVV",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.18847671202407354,cy:-.26968211451709273,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"rLc1ZCGs7ugmXpxAb6kueG",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.267273996418672,cy:-.2667264794936538,cz:.5000000198682121,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tFz5GHQqyyVVxh25czH4Em",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.34024773885085746,cy:-.26354534234637206,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"etKXiduEZtGdENpo2GRtJg",selected:!1},{type:"Light",decay:2,distance:10,intensity:9,color:"#ff00ff",cx:-.02474975458211863,cy:.12239922347312886,cz:.49999999999999645,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",foundationId:"ustJbtTQJEeCkyVnXGayK2",id:"iPzFJUPPfWj6iSKXbVujiL",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.836223831491182,cy:-19.73134684537884,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"dqcT5qczxNqZJ7sXcMUU2L",selected:!1},{type:"Polygon",cx:.1374437866453651,cy:-.12111426497213049,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.526127233622693,y:-.4433333333333333},{x:-.526127233622693,y:-.3566666666666667},{x:.46529955659029343,y:-.3566666666666667},{x:.46529955659029343,y:-.4433333333333333}],parentId:"7QCAeFgCM4uwoEq1rdWfs2",parentType:"Wall",foundationId:"sQbhet5xpiSK5NzTWtub4a",selected:!1,filled:!0,selectedIndex:2,id:"2qLCC51p5mx8fVpgQpr3Zc",noOutline:!0,lineColor:"#808080",textureType:"No Polygon Texture",text:"1600",fontSize:.6,fontColor:"gray"}],fmn=24,hmn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.371875648214528,21.08668963398181,29433785846390654e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.371875648214528,21.086539627316288,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-20.61846404506183,63.644388618963895,8.02947900521283],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.5,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:18.05,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-2.188721381754669,.6407899994531973,8.029479005212822],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,waterSurface:!1,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400},directLightIntensity:5},pmn=!1,gmn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},mmn=1,ymn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Amn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},wmn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},vmn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},xmn="Unknown",bmn=null,Smn=null,Tmn=null,Pmn=null,Cmn=[],Rmn=3,Hmn=3,Mmn={docid:omn,time:imn,timestamp:rmn,userid:amn,owner:lmn,email:smn,version:cmn,world:umn,elements:dmn,sceneRadius:fmn,view:hmn,animate24Hours:pmn,graphState:gmn,evolutionMethod:mmn,solarPanelArrayLayoutParams:ymn,solarPanelArrayLayoutConstraints:Amn,evolutionaryAlgorithmState:wmn,economicsParams:vmn,modelType:xmn,modelAuthor:bmn,modelLabel:Smn,modelDescription:Tmn,designProjectType:Pmn,notes:Cmn,minimumNavigationMoveSpeed:Rmn,minimumNavigationTurnSpeed:Hmn},Imn="iYCTJTjPxpfAmYmA6nDmNN",zmn="06/18/2023 07:55 pm",Dmn=1687132511108,Emn="QWecNcxhyvP6j6sBN11hBsfZDau1",kmn=null,Fmn=null,Lmn={solarPanelVisibilityGridCellSize:.2,longitude:34.54995193372956,diurnalTemperatureModel:1,cspDaysPerYear:4,discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,noAnimationForHeatmapSimulation:!1,dustLoss:.05,pvGridCellSize:.5,airAttenuationCoefficient:.01,date:"3/22/2023, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Kocavilayet, 2929. Sk. No:1, 33110 Yenişehir/Mersin, Türkiye",timesPerHour:1,cspGridCellSize:.5,daysPerYear:12,sutTimesPerHour:1,noAnimationForSolarPanelSimulation:!1,sutDaysPerYear:4,countryCode:"TR",noAnimationForSolarUpdraftTowerSimulation:!1,latitude:36.81233464724704,name:"default",sutGridCellSize:1,highestTemperatureTimeInMinutes:900,noAnimationForThermalSimulation:!1,airConvectiveCoefficient:5,noAnimationForSensorDataCollection:!1,cspTimesPerHour:1},Wmn=[{cy:-2.235554730854802,solarUpdraftTower:{},normal:[0,0,1],cz:.05,id:"2XGmuwQrQtDPGFB7FUq4gK",solarPowerTower:{},solarAbsorberPipe:{},lx:58.35972106577608,rotation:[0,0,.7770359328652141],parentId:"Ground",textureType:"No Foundation Texture",selected:!1,type:"Foundation",cx:-2.210236108673694,ly:32.834680769300704,color:"#808080",hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.1,locked:!0},{normal:[0,0,1],roofId:"byzwW7Db61R9EfVcvoWVQ9",studColor:"#ffffff",leftJoints:["vqP69iA4TuZd8ZEvPBLjzU"],rightRoofHeight:11.5,relativeAngle:3.141592653589793,structureColor:"white",volumetricHeatCapacity:.5,lineWidth:.2,opacity:.5,textureType:"No Wall Texture",windows:[],fill:"Full",cx:1.1731464688636888,color:"#e9d8ba",studWidth:.1,ly:.3,leftRoofHeight:11.5,lz:11.5,type:"Wall",rightJoints:["6bfpYPQw2M5RbKRsLfDauC"],studSpacing:2,structureSpacing:2,id:"r7FDtsVF9isPsPhYMJtzMf",showLabel:!1,parentId:"2XGmuwQrQtDPGFB7FUq4gK",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,lineColor:"#000000",eavesLength:-.05,unfilledHeight:.5,lx:39,rotation:[0,0,0],rValue:2,rightPoint:[-18.326853531136305,8.729078401244518,.1],cy:8.729078401244518,cz:0,selected:!1,leftPoint:[20.673146468863685,8.729078401244516,.1],wallStructure:"Default",parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",lx:17.000000000000004,rotation:[0,0,0],opacity:.5,studColor:"#ffffff",ly:.3,type:"Wall",fill:"Full",rightJoints:["r7FDtsVF9isPsPhYMJtzMf"],normal:[0,0,1],rightRoofHeight:11.5,lineColor:"#000000",lineWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,centerRoofHeight:[0,12.780523500160847],id:"vqP69iA4TuZd8ZEvPBLjzU",selected:!1,leftPoint:[20.67314646886369,-8.27092159875549,.1],roofId:"byzwW7Db61R9EfVcvoWVQ9",color:"#e9d8ba",studSpacing:2,structureSpacing:2,cz:0,windows:[],structureColor:"white",cy:.22907840124451972,rValue:2,leftJoints:["jE7DwieCwvfvkHcN1Bkpu2"],cx:20.673146468863674,leftRoofHeight:11.5,parentId:"2XGmuwQrQtDPGFB7FUq4gK",rightPoint:[20.673146468863685,8.729078401244516,.1],studWidth:.1,showLabel:!1,unfilledHeight:.5,eavesLength:0,lz:11.5,textureType:"No Wall Texture",relativeAngle:1.5707963267948966,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{leftJoints:["6bfpYPQw2M5RbKRsLfDauC"],parentId:"2XGmuwQrQtDPGFB7FUq4gK",studColor:"#ffffff",cz:0,relativeAngle:0,wallStructure:"Default",showLabel:!1,lineWidth:.2,leftRoofHeight:11.5,ly:.3,type:"Wall",structureColor:"white",color:"#e9d8ba",fill:"Full",lineColor:"#000000",textureType:"No Wall Texture",roofId:"byzwW7Db61R9EfVcvoWVQ9",lz:11.5,unfilledHeight:.5,normal:[0,0,1],selected:!1,cy:-8.270921598755486,volumetricHeatCapacity:.5,structureSpacing:2,windows:[],lx:38.99999999999999,studWidth:.1,rightPoint:[20.673146468863674,-8.27092159875548,.1],eavesLength:-.1,rightRoofHeight:11.5,opacity:.5,leftPoint:[-18.326853531136308,-8.27092159875549,.1],structureWidth:.1,rightJoints:["vqP69iA4TuZd8ZEvPBLjzU"],cx:1.1731464688636861,rValue:2,id:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],studSpacing:2,parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{rightJoints:["jE7DwieCwvfvkHcN1Bkpu2"],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",centerRoofHeight:[0,12.780523500160847],leftPoint:[-18.326853531136305,8.729078401244518,.1],windows:[],studSpacing:2,lineColor:"#000000",structureWidth:.1,structureSpacing:2,textureType:"No Wall Texture",rightPoint:[-18.326853531136308,-8.27092159875549,.1],rotation:[0,0,0],lx:17.00000000000001,lz:11.5,cx:-18.326853531136308,eavesLength:0,opacity:.5,id:"6bfpYPQw2M5RbKRsLfDauC",wallStructure:"Default",studWidth:.1,structureColor:"white",leftRoofHeight:11.5,selected:!1,rightRoofHeight:11.5,showLabel:!1,type:"Wall",roofId:"byzwW7Db61R9EfVcvoWVQ9",ly:.3,leftJoints:["r7FDtsVF9isPsPhYMJtzMf"],lineWidth:.2,volumetricHeatCapacity:.5,color:"#e9d8ba",relativeAngle:4.71238898038469,cy:.22907840124450551,studColor:"#ffffff",parentId:"2XGmuwQrQtDPGFB7FUq4gK",unfilledHeight:.5,normal:[0,0,1],fill:"Full",cz:0,rValue:2,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{color:"#808080",type:"Foundation",solarAbsorberPipe:{},id:"j3n8P4y4kG4w4nSZiAf6rj",solarUpdraftTower:{},lx:8.996965797517845,selected:!1,cx:15.96321224800585,lz:.12,hvacSystem:{thermostatSetpoint:20,id:"A"},solarPowerTower:{},parentId:"Ground",cz:.06,rotation:[0,0,.7770359328652141],cy:7.538802967801969,normal:[0,0,1],rValue:2,ly:17.6681425475643,textureType:"No Foundation Texture",locked:!0},{id:"vEPKSnunpPsGKUDNJaGnTR",fill:"Full",color:"#c1bdb4",unfilledHeight:.5,normal:[0,0,1],eavesLength:0,leftJoints:["1QnZb7zSPuvyzTVeC8AkVL"],volumetricHeatCapacity:.5,ly:.3,lz:13,selected:!1,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,cx:2.550655474633215,rightJoints:["iYLfpK8sAzBxMk4mz1BXiS"],cy:.09368069935964818,parentId:"j3n8P4y4kG4w4nSZiAf6rj",textureType:"Wall Texture Default",structureWidth:.1,lx:9.499999999999998,rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,structureColor:"white",cz:0,wallStructure:"Default",type:"Wall",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{lx:4.500000000000002,wallStructure:"Default",ly:.3,normal:[0,0,1],rightPoint:[2.550655474633216,-4.656319300640352,.12],type:"Wall",fill:"Full",structureSpacing:2,color:"#c1bdb4",cx:.3006554746332153,relativeAngle:6.283185307179585,unfilledHeight:.5,textureType:"Wall Texture Default",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",leftPoint:[-1.9493445253667843,-4.656319300640349,.12],rightJoints:["vEPKSnunpPsGKUDNJaGnTR"],lz:13,id:"1QnZb7zSPuvyzTVeC8AkVL",cz:0,volumetricHeatCapacity:.5,structureColor:"white",rValue:2,leftJoints:["joaXtauLNr5aPP2tqqpryi"],opacity:.5,selected:!1,parentId:"j3n8P4y4kG4w4nSZiAf6rj",rotation:[0,0,0],structureWidth:.1,eavesLength:0,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{opacity:.5,eavesLength:0,normal:[0,0,1],lz:13,structureColor:"white",volumetricHeatCapacity:.5,cy:.09368069935964818,structureWidth:.1,fill:"Full",ly:.3,unfilledHeight:.5,selected:!1,color:"#c1bdb4",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureSpacing:2,cx:-1.9493445253667832,id:"joaXtauLNr5aPP2tqqpryi",leftJoints:["iYLfpK8sAzBxMk4mz1BXiS"],wallStructure:"Default",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,textureType:"Wall Texture Default",type:"Wall",rotation:[0,0,0],rightJoints:["1QnZb7zSPuvyzTVeC8AkVL"],relativeAngle:4.71238898038469,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{id:"iYLfpK8sAzBxMk4mz1BXiS",studColor:"#ffffff",ly:.3,fill:"Full",unfilledHeight:.5,studSpacing:2,leftPoint:[2.5506554746332153,4.843680699359649,.12],color:"#c1bdb4",rotation:[0,0,0],type:"Wall",wallStructure:"Default",lx:4.499999999999998,lineWidth:.2,rightPoint:[-1.949344525366782,4.843680699359645,.12],showLabel:!1,studWidth:.1,structureSpacing:2,textureType:"Wall Texture Default",structureWidth:.1,normal:[0,0,1],cy:4.8436806993596475,lz:13,cx:.30065547463321707,opacity:.5,rValue:2,parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureColor:"white",leftJoints:["vEPKSnunpPsGKUDNJaGnTR"],windows:[],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,rightJoints:["joaXtauLNr5aPP2tqqpryi"],relativeAngle:3.1415926535897936,volumetricHeatCapacity:.5,eavesLength:0,selected:!1,lineColor:"#000000",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,selected:!1,opacity:.5,normal:[0,0,1],wallStructure:"Default",rightJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],id:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",lx:9.499999999999998,color:"#c1bdb4",parentId:"o2WibZi2fR7HySSdFgPoda",cx:2.550655474633215,ly:.3,unfilledHeight:.5,textureType:"Wall Texture Default",eavesLength:0,leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,cy:.09368069935964818,fill:"Full",structureSpacing:2,rightPoint:[2.5506554746332153,4.843680699359649,.12],structureWidth:.1,leftJoints:["tJ6f61zEL1oQGpeeCnFH2S"],type:"Wall",rValue:2,cz:0,structureColor:"white",rotation:[0,0,0],lz:13,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cz:0,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],cx:.3006554746332153,normal:[0,0,1],lz:13,cy:-4.65631930064035,rightJoints:["sCZzaqpAQeUmKwng1WHaCF"],rightPoint:[2.550655474633216,-4.656319300640352,.12],fill:"Full",structureColor:"white",opacity:.5,unfilledHeight:.5,rotation:[0,0,0],textureType:"Wall Texture Default",rValue:2,ly:.3,volumetricHeatCapacity:.5,lx:4.500000000000002,color:"#c1bdb4",eavesLength:0,id:"tJ6f61zEL1oQGpeeCnFH2S",structureSpacing:2,leftJoints:["eZza9yCuyFywaPPzJVe5tY"],foundationId:"o2WibZi2fR7HySSdFgPoda",wallStructure:"Default",relativeAngle:6.283185307179585,type:"Wall",structureWidth:.1,parentId:"o2WibZi2fR7HySSdFgPoda",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",opacity:.5,structureSpacing:2,wallStructure:"Default",parentId:"o2WibZi2fR7HySSdFgPoda",relativeAngle:4.71238898038469,id:"eZza9yCuyFywaPPzJVe5tY",textureType:"Wall Texture Default",cx:-1.9493445253667832,structureWidth:.1,normal:[0,0,1],volumetricHeatCapacity:.5,lx:9.5,lz:13,fill:"Full",structureColor:"white",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],ly:.3,leftPoint:[-1.9493445253667834,4.843680699359648,.12],rightPoint:[-1.9493445253667818,-4.656319300640352,.12],color:"#c1bdb4",rValue:2,cz:0,rightJoints:["tJ6f61zEL1oQGpeeCnFH2S"],eavesLength:0,cy:.09368069935964818,selected:!1,leftJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],unfilledHeight:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{normal:[0,0,1],unfilledHeight:.5,selected:!1,rotation:[0,0,0],structureColor:"white",leftJoints:["sCZzaqpAQeUmKwng1WHaCF"],parentId:"o2WibZi2fR7HySSdFgPoda",structureWidth:.1,relativeAngle:3.1415926535897936,wallStructure:"Default",rValue:2,ly:.3,lz:13,leftPoint:[2.5506554746332153,4.843680699359649,.12],volumetricHeatCapacity:.5,cx:.30065547463321707,type:"Wall",fill:"Full",eavesLength:0,id:"gZiomgVxY3vk4YfQ9Jjh6B",rightJoints:["eZza9yCuyFywaPPzJVe5tY"],cy:4.8436806993596475,rightPoint:[-1.949344525366782,4.843680699359645,.12],textureType:"Wall Texture Default",foundationId:"o2WibZi2fR7HySSdFgPoda",structureSpacing:2,opacity:.5,lx:4.499999999999998,color:"#c1bdb4",cz:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarUpdraftTower:{},rotation:[0,0,.7770359328652141],cz:.06,ly:17.6681425475643,type:"Foundation",hvacSystem:{thermostatSetpoint:20,id:"A"},lx:8.996965797517845,textureType:"No Foundation Texture",color:"#808080",lz:.12,id:"o2WibZi2fR7HySSdFgPoda",solarAbsorberPipe:{},rValue:2,parentId:"Ground",solarPowerTower:{},cy:-19.27217037701027,cx:-11.087826553311125,normal:[0,0,1],selected:!1,locked:!0},{ly:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",unfilledHeight:.5,opacity:.5,structureWidth:.1,rightJoints:["kFKM2qRJFmWx323z2hBCra"],wallStructure:"Default",rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,volumetricHeatCapacity:.5,cz:0,rValue:2,fill:"Full",selected:!1,eavesLength:0,normal:[0,0,1],lx:9.499999999999998,cy:.09368069935964818,parentId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,structureColor:"white",type:"Wall",id:"gv3LzTTefsaZrtK8Lzx2bM",textureType:"Wall Texture Default",color:"#c1bdb4",lz:13,leftJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],cx:2.550655474633215,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{fill:"Full",rotation:[0,0,0],normal:[0,0,1],ly:.3,cz:0,textureType:"Wall Texture Default",wallStructure:"Default",rValue:2,id:"i7SnyGKg3wpYfMg2Ck4kpZ",relativeAngle:6.283185307179585,leftJoints:["5KcXyJ1kNDvp5rTZsShAbX"],cx:.3006554746332153,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",structureSpacing:2,lz:13,rightPoint:[2.550655474633216,-4.656319300640352,.12],leftPoint:[-1.9493445253667843,-4.656319300640349,.12],type:"Wall",opacity:.5,structureColor:"white",rightJoints:["gv3LzTTefsaZrtK8Lzx2bM"],lx:4.500000000000002,eavesLength:0,unfilledHeight:.5,selected:!1,parentId:"hLsewK7zX5Mau5SErFyCiz",volumetricHeatCapacity:.5,structureWidth:.1,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],fill:"Full",volumetricHeatCapacity:.5,structureColor:"white",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"hLsewK7zX5Mau5SErFyCiz",leftJoints:["kFKM2qRJFmWx323z2hBCra"],opacity:.5,wallStructure:"Default",unfilledHeight:.5,normal:[0,0,1],structureWidth:.1,leftPoint:[-1.9493445253667834,4.843680699359648,.12],textureType:"Wall Texture Default",eavesLength:0,ly:.3,type:"Wall",lx:9.5,selected:!1,relativeAngle:4.71238898038469,id:"5KcXyJ1kNDvp5rTZsShAbX",cy:.09368069935964818,cz:0,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",lz:13,cx:-1.9493445253667832,rValue:2,structureSpacing:2,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],leftJoints:["gv3LzTTefsaZrtK8Lzx2bM"],unfilledHeight:.5,cz:0,cx:.30065547463321707,textureType:"Wall Texture Default",normal:[0,0,1],structureColor:"white",color:"#c1bdb4",foundationId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],rValue:2,lz:13,fill:"Full",lx:4.499999999999998,cy:4.8436806993596475,relativeAngle:3.1415926535897936,id:"kFKM2qRJFmWx323z2hBCra",ly:.3,structureWidth:.1,wallStructure:"Default",opacity:.5,parentId:"hLsewK7zX5Mau5SErFyCiz",structureSpacing:2,volumetricHeatCapacity:.5,rightJoints:["5KcXyJ1kNDvp5rTZsShAbX"],selected:!1,leftPoint:[2.5506554746332153,4.843680699359649,.12],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cy:-10.703769932796098,rValue:2,solarPowerTower:{},textureType:"No Foundation Texture",lx:8.996965797517845,cx:-19.60349962700186,rotation:[0,0,.7770359328652141],hvacSystem:{thermostatSetpoint:20,id:"A"},ly:17.6681425475643,solarUpdraftTower:{},lz:.12,id:"hLsewK7zX5Mau5SErFyCiz",color:"#808080",selected:!1,cz:.06,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],type:"Foundation",locked:!0},{leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,unfilledHeight:.5,leftJoints:["dMQfydvLoQmsUVh8GcfQWg"],wallStructure:"Default",structureSpacing:2,cz:0,color:"#c1bdb4",type:"Wall",cx:2.550655474633215,structureWidth:.1,normal:[0,0,1],rotation:[0,0,0],cy:.09368069935964818,selected:!1,id:"3WQQwDXPDfYCATy53ts83F",ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rightPoint:[2.5506554746332153,4.843680699359649,.12],textureType:"Wall Texture Default",volumetricHeatCapacity:.5,opacity:.5,structureColor:"white",lz:13,rValue:2,eavesLength:0,rightJoints:["16SbPgFqDMyVbV8UtDHAYk"],lx:9.499999999999998,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["3WQQwDXPDfYCATy53ts83F"],type:"Wall",relativeAngle:6.283185307179585,textureType:"Wall Texture Default",eavesLength:0,lz:13,id:"dMQfydvLoQmsUVh8GcfQWg",parentId:"x4oU2GYmkiSMe4Z8gg6K3C",lx:4.500000000000002,fill:"Full",structureColor:"white",color:"#c1bdb4",unfilledHeight:.5,ly:.3,cy:-4.65631930064035,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],leftJoints:["kmaifBj79SDvw8jCqEakPi"],rotation:[0,0,0],opacity:.5,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",volumetricHeatCapacity:.5,rightPoint:[2.550655474633216,-4.656319300640352,.12],cx:.3006554746332153,rValue:2,structureSpacing:2,structureWidth:.1,cz:0,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{structureColor:"white",wallStructure:"Default",volumetricHeatCapacity:.5,normal:[0,0,1],type:"Wall",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],rightJoints:["dMQfydvLoQmsUVh8GcfQWg"],leftJoints:["16SbPgFqDMyVbV8UtDHAYk"],cy:.09368069935964818,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,rValue:2,ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"kmaifBj79SDvw8jCqEakPi",lz:13,structureWidth:.1,opacity:.5,color:"#c1bdb4",cx:-1.9493445253667832,relativeAngle:4.71238898038469,structureSpacing:2,eavesLength:0,textureType:"Wall Texture Default",fill:"Full",cz:0,unfilledHeight:.5,selected:!1,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",rotation:[0,0,0],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",lz:13,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",cx:.30065547463321707,rightJoints:["kmaifBj79SDvw8jCqEakPi"],leftJoints:["3WQQwDXPDfYCATy53ts83F"],unfilledHeight:.5,opacity:.5,cy:4.8436806993596475,selected:!1,textureType:"Wall Texture Default",structureSpacing:2,fill:"Full",type:"Wall",ly:.3,rValue:2,normal:[0,0,1],relativeAngle:3.1415926535897936,structureWidth:.1,lx:4.499999999999998,id:"16SbPgFqDMyVbV8UtDHAYk",leftPoint:[2.5506554746332153,4.843680699359649,.12],structureColor:"white",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],cz:0,color:"#c1bdb4",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarAbsorberPipe:{},textureType:"No Foundation Texture",rotation:[0,0,.7770359328652141],rValue:2,type:"Foundation",selected:!1,hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.12,ly:17.6681425475643,lx:8.996965797517845,normal:[0,0,1],solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},color:"#808080",id:"x4oU2GYmkiSMe4Z8gg6K3C",cz:.06,cx:7.698794351508976,cy:16.007045037404467,locked:!0},{lz:13,leftJoints:["aMAoC9G4MpUPGJVmt36yfP"],wallStructure:"Default",rotation:[0,0,0],structureColor:"white",selected:!1,relativeAngle:1.5707963267948961,cz:0,rightJoints:["iVn6mF9eoYKrYt3EzDy2TC"],id:"u1GLQPod2yRsFy4dWHVdVa",rightPoint:[2.8178761000817967,3.2189656143947305,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",lx:6.3134164357268086,type:"Wall",volumetricHeatCapacity:.5,cy:.062257396531326226,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,opacity:.5,fill:"Full",eavesLength:0,structureWidth:.1,normal:[0,0,1],structureSpacing:2,unfilledHeight:.5,color:"#c1bdb4",rValue:2,cx:2.8178761000817953,leftPoint:[2.817876100081794,-3.094450821332078,0],textureType:"Wall Texture Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",rightJoints:["u1GLQPod2yRsFy4dWHVdVa"],structureColor:"white",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",volumetricHeatCapacity:.5,leftJoints:["eTsfM9k5RPHprx93KkShya"],opacity:.5,structureWidth:.1,lx:4.971444625304221,unfilledHeight:.5,structureSpacing:2,textureType:"No Wall Texture",cy:-3.094450821332079,cx:.33215378742968693,fill:"Full",color:"#c1bdb4",cz:0,rotation:[0,0,0],normal:[0,0,1],leftPoint:[-2.1535685252224237,-3.094450821332078,0],lz:13,wallStructure:"Default",type:"Wall",selected:!1,id:"aMAoC9G4MpUPGJVmt36yfP",rValue:2,ly:.3,eavesLength:0,relativeAngle:-4466400043859356e-31,rightPoint:[2.8178761000817976,-3.0944508213320803,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{color:"#c1bdb4",cz:0,selected:!1,rightPoint:[-2.153568525222421,-3.0944508213320803,0],leftPoint:[-2.153568525222423,3.21896561439473,0],structureColor:"white",lx:6.31341643572681,lz:13,volumetricHeatCapacity:.5,normal:[0,0,1],cx:-2.153568525222422,relativeAngle:-1.5707963267948963,structureSpacing:2,eavesLength:0,structureWidth:.1,rValue:2,leftJoints:["iVn6mF9eoYKrYt3EzDy2TC"],foundationId:"oGfdqtfZrLhGvZskoNeDFJ",cy:.06225739653132489,parentId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,rightJoints:["aMAoC9G4MpUPGJVmt36yfP"],type:"Wall",unfilledHeight:.5,textureType:"Wall Texture Default",rotation:[0,0,0],id:"eTsfM9k5RPHprx93KkShya",fill:"Full",opacity:.5,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",structureWidth:.1,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",structureColor:"white",volumetricHeatCapacity:.5,color:"#c1bdb4",rightJoints:["eTsfM9k5RPHprx93KkShya"],wallStructure:"Default",structureSpacing:2,rotation:[0,0,0],leftPoint:[2.8178761000817967,3.2189656143947305,0],ly:.3,rightPoint:[-2.1535685252224215,3.2189656143947274,0],unfilledHeight:.5,opacity:.5,fill:"Full",lx:4.971444625304218,type:"Wall",id:"iVn6mF9eoYKrYt3EzDy2TC",leftJoints:["u1GLQPod2yRsFy4dWHVdVa"],lz:13,eavesLength:0,cz:0,cx:.3321537874296876,rValue:2,selected:!1,cy:3.2189656143947287,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{textureType:"No Foundation Texture",solarAbsorberPipe:{},parentId:"Ground",hvacSystem:{thermostatSetpoint:20,id:"A"},type:"Foundation",lz:.12,normal:[0,0,1],cx:-6.658209585503492,solarPowerTower:{},cz:.06,cy:2.9554447902666663,rotation:[0,0,.7770359328652141],rValue:2,selected:!1,ly:11.741720163005958,lx:9.93953716847022,id:"oGfdqtfZrLhGvZskoNeDFJ",solarUpdraftTower:{},color:"#808080",locked:!0},{normal:[0,0,1],lz:0,selected:!1,ceiling:!1,sideColor:"#ffffff",ridgeRightPoint:[0,1],type:"Roof",showLabel:!1,rValue:2,id:"byzwW7Db61R9EfVcvoWVQ9",parentId:"2XGmuwQrQtDPGFB7FUq4gK",cx:0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",textureType:"No Roof Texture",rotation:[0,0,0],ly:0,roofStructure:"Default",roofType:"Gable",ridgeLeftPoint:[0,1],lx:0,thickness:.2,lineColor:"#000000",cy:0,cz:0,wallsId:["jE7DwieCwvfvkHcN1Bkpu2"],rise:1.2805235001608466,color:"#73d8ff",lineWidth:.2,locked:!0},{textureType:"No Wall Texture",selected:!1,roofId:"tR8bCboRhW3wJCicDgK2jW",leftPoint:[6.104959873734063,-3.546673308869522,.12],structureColor:"white",rightRoofHeight:12.5,id:"nkv63w7AFXpTDVXgNtZaZp",opacity:0,rotation:[0,0,0],leftJoints:["1G9FW32uCMUYbXB7bybpze"],volumetricHeatCapacity:.5,lx:4.998533544552693,wallStructure:"Default",unfilledHeight:3.8747450187684356,cy:-1.0474065365931762,cz:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",eavesLength:0,fill:"Partial",cx:6.104959873734066,ly:.3,structureSpacing:2,type:"Wall",normal:[0,0,1],rightJoints:[],rValue:2,color:"#4d4d4d",leftRoofHeight:12.5,rightPoint:[6.104959873734069,1.4518602356831711,.12],lz:12.5,structureWidth:.1,relativeAngle:1.5707963267948952,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8747450187684356,rightUnfilledHeight:3.8747450187684356,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{selected:!1,leftPoint:[-6.476087156413756,-3.5466733088695213,.12],fill:"Partial",structureSpacing:2,ly:.3,roofId:"tR8bCboRhW3wJCicDgK2jW",structureWidth:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],lx:12.581047030147829,structureColor:"white",unfilledHeight:3.877447716243144,cy:-3.5466733088695213,color:"#4d4d4d",wallStructure:"Default",type:"Wall",rotation:[0,0,0],textureType:"No Wall Texture",rightPoint:[6.104959873734072,-3.546673308869523,.12],relativeAngle:-14119308473639638e-32,id:"1G9FW32uCMUYbXB7bybpze",leftJoints:["9ULQ17PCkbiQTAk5KCBQqS"],cx:-.18556364133984293,rValue:2,cz:0,eavesLength:0,rightJoints:["nkv63w7AFXpTDVXgNtZaZp"],lz:12.5,opacity:.5,leftRoofHeight:12.5,rightRoofHeight:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",volumetricHeatCapacity:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.877447716243144,rightUnfilledHeight:3.877447716243144,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{structureColor:"white",leftPoint:[-6.4760871564137545,1.4518602356831711,.12],selected:!1,color:"#4d4d4d",leftRoofHeight:12.5,lz:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",structureWidth:.1,fill:"Partial",roofId:"tR8bCboRhW3wJCicDgK2jW",textureType:"No Wall Texture",unfilledHeight:3.8825262761296813,cy:-1.0474065365931766,lx:4.998533544552695,cz:0,structureSpacing:2,eavesLength:0,volumetricHeatCapacity:.5,wallStructure:"Default",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",rotation:[0,0,0],leftJoints:[],rightPoint:[-6.476087156413749,-3.546673308869523,.12],type:"Wall",id:"9ULQ17PCkbiQTAk5KCBQqS",rightJoints:["1G9FW32uCMUYbXB7bybpze"],opacity:.5,relativeAngle:-1.5707963267948957,cx:-6.476087156413751,rightRoofHeight:12.5,ly:.3,rValue:2,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8825262761296813,rightUnfilledHeight:3.8825262761296813,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{ly:7.102899659180595,parentId:"Ground",rValue:2,solarPowerTower:{},color:"#808080",textureType:"No Foundation Texture",hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],cz:.06,lx:13.160581645410465,solarUpdraftTower:{},type:"Foundation",cy:-7.71612929167876,solarAbsorberPipe:{},cx:5.571147308635517,id:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],selected:!1,lz:.12,notBuilding:!1,locked:!0},{rValue:2,ly:0,ceiling:!1,lx:0,sideColor:"#ffffff",cz:0,lineWidth:.2,cx:0,normal:[0,0,1],lineColor:"#000000",showLabel:!1,wallsId:["nkv63w7AFXpTDVXgNtZaZp","9ULQ17PCkbiQTAk5KCBQqS","1G9FW32uCMUYbXB7bybpze"],type:"Roof",rotation:[0,0,0],textureType:"No Roof Texture",roofStructure:"Default",roofType:"Pyramid",thickness:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",cy:0,lz:0,selected:!1,color:"#73d8ff",id:"tR8bCboRhW3wJCicDgK2jW",rise:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",locked:!0},{mullionWidth:.06,frame:!0,type:"Window",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},rotation:[0,0,0],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",selected:!1,sillWidth:0,lineColor:"#000000",uValue:2,normal:[0,-1,0],mullionColor:"#4d4d4d",archHeight:1,frameWidth:.2,showLabel:!1,lineWidth:.2,lx:.3333333333333332,tint:"#0062b1",cx:-.011111111111111117,cz:-.041666666666666664,id:"wqLLY7STGwviPzesQo2Pm3",cy:.3,color:"#ffffff",opacity:.5,ly:.3,windowType:"Default",mullionSpacing:2,mullion:!0,lz:.75,parentId:"1QnZb7zSPuvyzTVeC8AkVL",locked:!0},{tint:"#0062b1",frame:!0,selected:!1,ly:.3,cz:-.041666666666666664,foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],archHeight:1,sillWidth:0,windowType:"Default",cy:.3,parentId:"tJ6f61zEL1oQGpeeCnFH2S",cx:-.011111111111111117,id:"qUkb8xmoiBdjkzRWtig4SU",shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},normal:[0,0,1],color:"#ffffff",mullionWidth:.06,lx:.3333333333333332,mullion:!0,lz:.75,type:"Window",frameWidth:.2,mullionSpacing:2,opacity:.5,uValue:2,mullionColor:"#4d4d4d",locked:!0},{lz:.48,rotation:[0,0,0],tint:"#315f6f",mullionWidth:.05,parentId:"1G9FW32uCMUYbXB7bybpze",ly:.3,cz:.12,type:"Window",mullionColor:"#666666",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},lineWidth:.2,windowType:"Default",sillWidth:0,opacity:.9,lx:.8743310452334228,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,-1,0],frame:!0,mullionSpacing:1,mullion:!0,showLabel:!1,uValue:2,cy:.3,cx:0,color:"#ffffff",lineColor:"#000000",frameWidth:.05,id:"otfRaWBjxDE3hRYtq3HZ4m",archHeight:1,selected:!1,locked:!0},{windowType:"Default",ly:.3,archHeight:1,lz:.14285714285714282,selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frame:!0,cy:.3,lineWidth:.2,lx:.05384615384615385,frameWidth:.2,lineColor:"#000000",cx:.19358974358974362,tint:"#b3b3b3",opacity:.9,mullionWidth:.1,cz:.23291925465838512,rotation:[0,0,0],mullionSpacing:1.25,type:"Window",mullionColor:"#ffffff",sillWidth:0,normal:[0,-1,0],showLabel:!1,id:"d7WscaF1Qtzp9YhmRPKdMx",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,mullion:!0,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},locked:!0},{cx:.2576923076923078,frameWidth:.2,lx:.05384615384615385,tint:"#b3b3b3",opacity:.9,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,color:"#ffffff",lz:.14285714285714282,mullionColor:"#ffffff",mullionSpacing:1.25,selected:!1,rotation:[0,0,0],cy:.3,mullion:!0,ly:.3,normal:[0,0,1],parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:.23291925465838512,mullionWidth:.1,type:"Window",id:"phyxK6dSx3mzB64HK7tbQq",windowType:"Default",frame:!0,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},locked:!0},{color:"#ffffff",mullion:!0,lx:.0538461538461538,rotation:[0,0,0],opacity:.9,windowType:"Default",cy:.3,ly:.3,type:"Window",uValue:2,cx:.3217948717948719,frame:!0,cz:.23291925465838512,mullionSpacing:1.25,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,mullionColor:"#ffffff",lz:.14285714285714282,tint:"#b3b3b3",sillWidth:0,mullionWidth:.1,normal:[0,0,1],id:"rUCAQoA9pCTnCsyUCwQKsz",locked:!0},{lz:.14285714285714285,rotation:[0,0,0],sillWidth:0,windowType:"Default",frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cy:.3,mullionSpacing:1.25,opacity:.9,ly:.3,uValue:2,mullionColor:"#ffffff",color:"#ffffff",archHeight:1,type:"Window",id:"cVhfCa3Uxnnwwat44DMDUA",mullionWidth:.1,cx:.3910256410256411,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,selected:!1,normal:[0,0,1],lx:.06410256410256411,frameWidth:.2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",tint:"#b3b3b3",cz:.23291925465838512,locked:!0},{frame:!0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.1948717948717949,color:"#ffffff",frameWidth:.2,mullion:!0,ly:.3,archHeight:1,rotation:[0,0,0],tint:"#b3b3b3",opacity:.9,mullionColor:"#ffffff",lx:.056410256410256404,id:"bNXPgPwYdtaKzeyyFztb1n",normal:[0,0,1],sillWidth:0,cz:-.02795031055900621,windowType:"Default",mullionWidth:.1,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",selected:!1,type:"Window",cy:.3,mullionSpacing:1.25,uValue:2,locked:!0},{mullionWidth:.1,tint:"#b3b3b3",shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},lz:.14285714285714282,cy:.3,uValue:2,mullionSpacing:1.25,sillWidth:0,cx:.20512820512820518,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.03589743589743587,rotation:[0,0,0],selected:!1,type:"Window",archHeight:1,mullionColor:"#ffffff",normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"3VvDJnQdsED8fAouDPT9yF",frameWidth:.2,ly:.3,windowType:"Default",frame:!0,color:"#ffffff",cz:-.2888198757763975,mullion:!0,locked:!0},{cz:-.02795031055900621,ly:.3,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},id:"kaF2HtrRicfNAq1W9doyfR",tint:"#b3b3b3",cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,normal:[0,0,1],mullionWidth:.1,windowType:"Default",sillWidth:0,type:"Window",rotation:[0,0,0],uValue:2,color:"#ffffff",archHeight:1,mullion:!0,lz:.14285714285714285,frame:!0,selected:!1,lx:.05384615384615385,frameWidth:.2,cx:.2576923076923078,opacity:.9,mullionColor:"#ffffff",locked:!0},{parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionWidth:.1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.3,lx:.0538461538461538,cx:.3217948717948719,frameWidth:.2,windowType:"Default",mullionSpacing:1.25,opacity:.9,ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},rotation:[0,0,0],type:"Window",id:"2pB9fvP8ZeUqogmRwvUTce",sillWidth:0,normal:[0,0,1],archHeight:1,selected:!1,uValue:2,lz:.14285714285714285,frame:!0,mullion:!0,cz:-.02795031055900621,locked:!0},{sillWidth:0,frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1.25,windowType:"Default",uValue:2,lz:.14285714285714285,rotation:[0,0,0],tint:"#b3b3b3",shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},color:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",id:"nTCU2PDq5uNAZg9zRpPCHX",archHeight:1,opacity:.9,cx:.3910256410256411,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.3,mullion:!0,frameWidth:.2,selected:!1,lx:.06410256410256411,ly:.3,mullionWidth:.1,cz:-.02795031055900621,locked:!0},{frame:!0,archHeight:1,normal:[0,0,1],mullionColor:"#ffffff",cz:-.2888198757763975,windowType:"Default",mullionSpacing:1.25,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:.258974358974359,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,uValue:2,selected:!1,shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},lx:.056410256410256404,sillWidth:0,cy:.3,opacity:.9,type:"Window",ly:.3,lz:.14285714285714282,rotation:[0,0,0],tint:"#b3b3b3",mullion:!0,frameWidth:.2,id:"1GzMSiwb36TFB48v2QYryB",color:"#ffffff",locked:!0},{id:"ayHDGxuZiXFZRCb6xwiWDe",lx:.0538461538461538,type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",ly:.3,shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},selected:!1,frame:!0,frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.2888198757763975,mullionColor:"#ffffff",mullionWidth:.1,archHeight:1,tint:"#b3b3b3",windowType:"Default",color:"#ffffff",uValue:2,normal:[0,0,1],lz:.14285714285714282,mullion:!0,sillWidth:0,cx:.3217948717948719,rotation:[0,0,0],mullionSpacing:1.25,opacity:.9,cy:.3,locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",normal:[0,0,1],opacity:.9,cy:.3,tint:"#b3b3b3",rotation:[0,0,0],frame:!0,lx:.06410256410256411,ly:.3,mullionWidth:.1,frameWidth:.2,mullionSpacing:1.25,mullion:!0,sillWidth:0,selected:!1,id:"mPyFc6BaTuwYm116awk4nS",lz:.14285714285714285,mullionColor:"#ffffff",uValue:2,windowType:"Default",color:"#ffffff",cx:.3910256410256411,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:-.2888198757763975,type:"Window",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},locked:!0},{ly:.3,lz:4.070845481097757,structureSpacing:4,rotation:[0,0,0],fill:"Full",textureType:"No Wall Texture",cy:-2.5093852454781445,leftJoints:[],structureWidth:.5,foundationId:"8DwiqAmnDYU6meyiSHFYvg",cz:2.0354227405488783,volumetricHeatCapacity:.5,rValue:2,id:"bwWCUGgxViKGTAu9eHo4CU",normal:[0,0,1],cx:.13591177848864566,rightPoint:[5.998472224148425,-2.5093852454781453,.2],wallStructure:"Pillar",structureColor:"#4d4d4d",unfilledHeight:.5,type:"Wall",relativeAngle:-15150008736501291e-32,lx:11.725120891319554,selected:!1,eavesLength:.3,color:"#4d4d4d",leftPoint:[-5.726648667171128,-2.5093852454781445,.2],rightJoints:[],parentId:"8DwiqAmnDYU6meyiSHFYvg",opacity:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.070845481097757,rightTopPartialHeight:4.070845481097757,locked:!0},{type:"Foundation",cy:-7.844584975085767,textureType:"No Foundation Texture",ly:9.133282463061267,cz:.1,normal:[0,0,1],solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],lz:.2,solarAbsorberPipe:{},parentId:"Ground",cx:5.386211591704882,rValue:2,color:"#e9d8ba",solarUpdraftTower:{},id:"8DwiqAmnDYU6meyiSHFYvg",selected:!1,lx:13.077027743266148,notBuilding:!0,locked:!0},{cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,id:"46EurDPfGoJsechaGfz85S",cy:.3,mullionColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],tint:"#b3b3b3",mullionWidth:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",opacity:.9,type:"Window",lx:.051282051282051294,selected:!1,mullionSpacing:1.25,archHeight:1,mullion:!0,windowType:"Default",sillWidth:0,frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lz:.14285714285714285,cx:-.19230769230769235,frameWidth:.2,locked:!0},{selected:!1,cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,lz:.14285714285714285,archHeight:1,opacity:.9,rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,lx:.06410256410256411,ly:.3,mullionColor:"#ffffff",windowType:"Default",frameWidth:.2,uValue:2,normal:[0,0,1],cx:-.3910256410256411,sillWidth:0,type:"Window",tint:"#b3b3b3",color:"#ffffff",id:"izxRQkWui4YmZiY96HksMX",cz:.23291925465838512,frame:!0,mullionWidth:.1,locked:!0},{mullionSpacing:1.25,uValue:2,archHeight:1,cy:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cz:.23291925465838512,mullionWidth:.1,windowType:"Default",type:"Window",tint:"#b3b3b3",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},cx:-.3217948717948719,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullion:!0,lx:.0538461538461538,normal:[0,0,1],selected:!1,ly:.3,sillWidth:0,frame:!0,opacity:.9,frameWidth:.2,mullionColor:"#ffffff",lz:.14285714285714282,id:"cx5YNYxji3cWvUe2vzHp8r",rotation:[0,0,0],locked:!0},{frame:!0,selected:!1,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},sillWidth:0,frameWidth:.2,mullionWidth:.1,cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",opacity:.9,type:"Window",lz:.14285714285714282,normal:[0,0,1],mullionSpacing:1.25,uValue:2,mullion:!0,id:"v7KHWrJEpTEx5wKqo46MKC",mullionColor:"#ffffff",windowType:"Default",ly:.3,cx:-.25512820512820517,rotation:[0,0,0],cy:.3,archHeight:1,tint:"#b3b3b3",lx:.05897435897435896,locked:!0},{uValue:2,frameWidth:.2,normal:[0,0,1],mullionSpacing:1.25,cx:-.3884615384615385,selected:!1,lx:.06923076923076922,ly:.3,rotation:[0,0,0],cz:-.2888198757763975,mullion:!0,lz:.14285714285714282,opacity:.9,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,mullionColor:"#ffffff",windowType:"Default",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,color:"#ffffff",tint:"#b3b3b3",id:"aq2YNCbxikYtSJvwjUbALP",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,locked:!0},{tint:"#b3b3b3",ly:.3,id:"nMhMe9155kYQJYGKXKtDJE",mullion:!0,rotation:[0,0,0],frameWidth:.2,archHeight:1,lz:.14285714285714282,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,frame:!0,cx:-.3192307692307694,sillWidth:0,mullionWidth:.1,normal:[0,0,1],cy:.3,opacity:.9,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cz:-.2888198757763975,type:"Window",lx:.05384615384615394,uValue:2,mullionSpacing:1.25,windowType:"Default",mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{lx:.05384615384615385,opacity:.9,mullionWidth:.1,type:"Window",sillWidth:0,ly:.3,uValue:2,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},mullionColor:"#ffffff",cz:-.2888198757763975,cx:-.25512820512820517,normal:[0,0,1],selected:!1,id:"9uThAQakWzLaaAnEDxEbHb",mullion:!0,color:"#ffffff",windowType:"Default",lz:.14285714285714282,frame:!0,rotation:[0,0,0],cy:.3,mullionSpacing:1.25,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,tint:"#b3b3b3",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{windowType:"Default",opacity:.9,mullionSpacing:1.25,mullionWidth:.1,lz:.14285714285714285,cx:-.19230769230769235,cy:.3,id:"8fuBFjedq9njRTLoxtn8EP",lx:.051282051282051294,uValue:2,frame:!0,sillWidth:0,mullion:!0,frameWidth:.2,archHeight:1,cz:-.2888198757763975,selected:!1,normal:[0,0,1],ly:.3,rotation:[0,0,0],type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",shutter:{showRight:!1,showLeft:!1,color:"grey",width:.5},tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{mullionSpacing:1.25,cx:-.3884615384615385,cy:.3,mullionWidth:.1,mullion:!0,color:"#ffffff",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",cz:-.02795031055900621,lz:.14285714285714285,tint:"#b3b3b3",frameWidth:.2,sillWidth:0,selected:!1,uValue:2,rotation:[0,0,0],normal:[0,0,1],ly:.3,archHeight:1,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},frame:!0,lx:.06923076923076922,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,windowType:"Default",id:"djvC79sCMpkHHpaVqyVdW8",locked:!0},{uValue:2,lz:.14285714285714285,type:"Window",id:"eZg5T5d6C7sKQSaPhcKxw6",ly:.3,frameWidth:.2,frame:!0,cy:.3,windowType:"Default",shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},selected:!1,sillWidth:0,lx:.056410256410256446,mullion:!0,mullionWidth:.1,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.31794871794871804,archHeight:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",rotation:[0,0,0],mullionSpacing:1.25,cz:-.02795031055900621,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,locked:!0},{lx:.056410256410256404,normal:[0,0,1],mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,frameWidth:.2,archHeight:1,cz:-.02795031055900621,cy:.3,opacity:.9,ly:.3,windowType:"Default",frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:-.2538461538461539,selected:!1,rotation:[0,0,0],color:"#ffffff",uValue:2,id:"8xJvoQv2PELZbsAu7THviM",type:"Window",mullionColor:"#ffffff",mullionSpacing:1.25,lz:.14285714285714285,tint:"#b3b3b3",shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},sillWidth:0,locked:!0},{mullionColor:"#ffffff",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},windowType:"Default",normal:[0,0,1],mullionWidth:.1,lz:.14285714285714285,cy:.3,type:"Window",rotation:[0,0,0],opacity:.9,id:"6253HwoM7vYHZDUNYjsTgU",selected:!1,frame:!0,ly:.3,lx:.051282051282051294,archHeight:1,mullion:!0,cx:-.19230769230769235,tint:"#b3b3b3",frameWidth:.2,color:"#ffffff",uValue:2,cz:-.02795031055900621,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",sillWidth:0,mullionSpacing:1.25,locked:!0},{mullionColor:"#4d4d4d",rotation:[0,0,0],mullionWidth:.06,frameWidth:.2,opacity:.5,cz:-.041666666666666664,lx:.11695906432748526,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,cy:.3,type:"Window",color:"#ffffff",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",frame:!0,mullionSpacing:2,cx:.11111111111111106,uValue:2,selected:!1,windowType:"Default",id:"gcLhGQTVxE2fJnMpRDahoq",tint:"#0062b1",mullion:!0,normal:[0,0,1],lz:.75,sillWidth:0,locked:!0},{frame:!0,rotation:[0,0,0],mullionColor:"#4d4d4d",shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.3216374269005848,frameWidth:.2,parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,mullion:!0,lz:.75,id:"sP3EuQN5nUzkBPzPZicBDL",mullionWidth:.06,lx:.11695906432748526,windowType:"Default",uValue:2,sillWidth:0,selected:!1,type:"Window",mullionSpacing:2,cy:.3,normal:[0,0,1],tint:"#0062b1",cz:-.041666666666666664,color:"#ffffff",locked:!0},{parentId:"3WQQwDXPDfYCATy53ts83F",cx:-.3099415204678364,rotation:[0,0,0],uValue:2,lz:.75,type:"Window",opacity:.5,selected:!1,normal:[0,0,1],mullionSpacing:2,mullionColor:"#4d4d4d",cy:.3,lx:.11695906432748526,sillWidth:0,archHeight:1,mullionWidth:.06,frame:!0,ly:.3,tint:"#0062b1",id:"a9iz7tks9oLk2eTwA9Yde3",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},mullion:!0,frameWidth:.2,windowType:"Default",color:"#ffffff",cz:-.041666666666666664,locked:!0},{color:"#ffffff",cx:-.09941520467836266,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rotation:[0,0,0],mullionColor:"#4d4d4d",cz:-.041666666666666664,archHeight:1,sillWidth:0,mullionWidth:.06,windowType:"Default",shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},type:"Window",mullionSpacing:2,parentId:"3WQQwDXPDfYCATy53ts83F",cy:.3,selected:!1,mullion:!0,opacity:.5,lz:.75,id:"s7untaE7NYoTEH5Xxqu7vu",uValue:2,ly:.3,lx:.11695906432748526,tint:"#0062b1",frameWidth:.2,frame:!0,locked:!0},{cz:-.041666666666666664,normal:[0,0,1],sillWidth:0,windowType:"Default",color:"#ffffff",mullionColor:"#4d4d4d",parentId:"eZza9yCuyFywaPPzJVe5tY",tint:"#0062b1",frameWidth:.2,type:"Window",lz:.75,id:"4J5xN82Vi7ATj7FHVXK9fT",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],frame:!0,cx:-.30994152046783635,mullionSpacing:2,uValue:2,ly:.3,opacity:.5,lx:.11695906432748526,selected:!1,mullionWidth:.06,cy:.3,archHeight:1,shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},mullion:!0,locked:!0},{parentId:"eZza9yCuyFywaPPzJVe5tY",uValue:2,cx:-.09941520467836262,mullionSpacing:2,lz:.75,normal:[0,0,1],frameWidth:.2,cz:-.041666666666666664,tint:"#0062b1",ly:.3,rotation:[0,0,0],cy:.3,mullionWidth:.06,type:"Window",opacity:.5,selected:!1,frame:!0,foundationId:"o2WibZi2fR7HySSdFgPoda",archHeight:1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},sillWidth:0,color:"#ffffff",windowType:"Default",mullion:!0,mullionColor:"#4d4d4d",lx:.11695906432748526,id:"215xeoB94LfwSgY9VkRb9T",locked:!0},{archHeight:1,lx:.11695906432748526,id:"ddfjZo324XGZQ4fjUcBn6X",sillWidth:0,mullionWidth:.06,ly:.3,opacity:.5,type:"Window",mullionSpacing:2,windowType:"Default",color:"#ffffff",foundationId:"hLsewK7zX5Mau5SErFyCiz",normal:[0,0,1],uValue:2,frameWidth:.2,parentId:"5KcXyJ1kNDvp5rTZsShAbX",mullionColor:"#4d4d4d",rotation:[0,0,0],cz:-.041666666666666664,cy:.3,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cx:.3216374269005847,selected:!1,tint:"#0062b1",lz:.75,frame:!0,locked:!0},{normal:[0,0,1],foundationId:"hLsewK7zX5Mau5SErFyCiz",lz:.75,windowType:"Default",archHeight:1,parentId:"5KcXyJ1kNDvp5rTZsShAbX",lx:.11695906432748526,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",mullionColor:"#4d4d4d",opacity:.5,mullionWidth:.06,frameWidth:.2,cx:.11111111111111105,cz:-.041666666666666664,id:"rw5R1u3LjL3kSbDYXLqpep",tint:"#0062b1",frame:!0,sillWidth:0,cy:.3,color:"#ffffff",ly:.3,rotation:[0,0,0],mullion:!0,selected:!1,mullionSpacing:2,locked:!0},{id:"u7vgLv3TfTJ9G6m9VRJXKE",cy:-8.330957372051333,type:"Cuboid",selected:!1,cz:.6,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",ly:4.416238472006233,rotation:[0,0,.7770205829878756],cx:6.1134856174136125,lx:12.5,color:"#e9d8ba",lz:1.2,normal:[0,0,1],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],color:"#e9d8ba",rotation:[0,0,.7770205829878756],ly:.3,parentId:"Ground",type:"Cuboid",cx:7.775993069912096,cz:.5,lz:1,cy:-9.982710148514444,normal:[0,0,1],id:"xwTCcYWFUqCHdfYgjwLPzr",selected:!1,lx:12.5,locked:!0},{cy:-10.222251297562046,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:12.5,color:"#e9d8ba",cz:.4,rotation:[0,0,.7770205829878756],cx:7.97917394469156,type:"Cuboid",id:"4ahnYxjJA1TN7cwGSyLftT",lz:.8,normal:[0,0,1],parentId:"Ground",ly:.3,selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{parentId:"Ground",selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],cz:.3,id:"axXhhxk8aLaskye6X7yAxR",cy:-10.456557176149813,color:"#e9d8ba",rotation:[0,0,.7770205829878756],cx:8.172887209710508,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",normal:[0,0,1],ly:.3,lx:12.5,lz:.6,locked:!0},{color:"#e9d8ba",ly:.3,cz:.2,parentId:"Ground",lz:.4,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"k4MhMFRn1raEXYc4ftU5Lc",faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],type:"Cuboid",cx:8.377329978512003,selected:!1,rotation:[0,0,.7770205829878756],normal:[0,0,1],lx:12.5,cy:-10.669908202265143,locked:!0},{sillWidth:0,color:"#ffffff",lz:.14285714285714285,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},normal:[0,0,1],cy:.3,id:"aAHxe5UAeWUHZvvacf7DLX",frame:!0,opacity:.9,windowType:"Default",mullionColor:"#ffffff",frameWidth:.2,mullionWidth:.05,cx:-.3782051282051282,lx:.03846153846153847,archHeight:1,mullion:!0,parentId:"r7FDtsVF9isPsPhYMJtzMf",ly:.3,type:"Window",cz:-.30952380952380953,selected:!1,mullionSpacing:1,uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],tint:"#b3b3b3",locked:!0},{archHeight:1,windowType:"Default",frame:!0,normal:[0,0,1],color:"#ffffff",cy:.3,tint:"#b3b3b3",ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},id:"o3uqUfUSMsh6mPJ8kZKe6V",rotation:[0,0,0],mullion:!0,selected:!1,lx:.03846153846153847,uValue:2,mullionSpacing:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",sillWidth:0,frameWidth:.2,type:"Window",lz:.14285714285714285,mullionColor:"#ffffff",opacity:.9,cx:-.3782051282051282,cz:.2619047619047619,locked:!0},{sillWidth:0,frame:!0,tint:"#b3b3b3",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"ftqkfAje9vSURSKAfdGfkb",frameWidth:.2,cy:.1,lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,color:"grey",width:.5,showRight:!1},lx:.03846153846153847,mullionColor:"#ffffff",cz:.2619047619047619,mullionSpacing:1,color:"#ffffff",mullionWidth:.05,normal:[0,0,1],uValue:2,type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,cx:-.3205128205128205,rotation:[0,0,0],archHeight:1,windowType:"Default",locked:!0},{mullionWidth:.05,opacity:.9,mullionColor:"#ffffff",type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,selected:!1,uValue:2,color:"#ffffff",cz:.2619047619047619,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,ly:.3,cx:-.26282051282051283,lz:.14285714285714285,rotation:[0,0,0],windowType:"Default",sillWidth:0,normal:[0,0,1],lx:.03846153846153847,frameWidth:.2,frame:!0,id:"47o8tVpT7No3q7ScC7ayfT",archHeight:1,shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},cy:.1,tint:"#b3b3b3",locked:!0},{id:"e9WgXpqUMuc4bjKV6V5giQ",cz:.2619047619047619,lx:.03846153846153847,type:"Window",cy:.1,tint:"#b3b3b3",frameWidth:.2,uValue:2,sillWidth:0,mullionWidth:.05,rotation:[0,0,0],mullionSpacing:1,ly:.3,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},normal:[0,0,1],mullionColor:"#ffffff",opacity:.9,cx:-.2051282051282051,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",windowType:"Default",lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,selected:!1,frame:!0,mullion:!0,locked:!0},{lz:.14285714285714285,ly:.3,archHeight:1,cz:.2619047619047619,mullionWidth:.05,tint:"#b3b3b3",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},mullionSpacing:1,normal:[0,0,1],cx:-.14743589743589736,id:"vWfatFM987X7DVksHURHa2",mullion:!0,rotation:[0,0,0],opacity:.9,lx:.03846153846153847,mullionColor:"#ffffff",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,type:"Window",frame:!0,windowType:"Default",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,color:"#ffffff",locked:!0},{frameWidth:.2,type:"Window",frame:!0,mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"1JBYjadgjTeQWv6jrVmNzf",cz:.2619047619047619,normal:[0,0,1],cy:.1,cx:-.08974358974358965,rotation:[0,0,0],tint:"#b3b3b3",windowType:"Default",mullion:!0,ly:.3,uValue:2,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,mullionColor:"#ffffff",color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,sillWidth:0,opacity:.9,shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},selected:!1,locked:!0},{mullionSpacing:1,selected:!1,tint:"#b3b3b3",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,ly:.3,opacity:.9,frame:!0,type:"Window",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,sillWidth:0,cy:.1,cz:-.30952380952380953,rotation:[0,0,0],lz:.14285714285714285,id:"cfj3pRCVpZMJFi4BqedUfe",mullion:!0,normal:[0,0,1],mullionWidth:.05,cx:-.3205128205128205,windowType:"Default",mullionColor:"#ffffff",lx:.03846153846153847,locked:!0},{mullionColor:"#ffffff",lz:.14285714285714285,cy:.1,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},cz:-.30952380952380953,tint:"#b3b3b3",uValue:2,color:"#ffffff",mullionWidth:.05,id:"mdRuaw8QhYk6E15WXmfncN",normal:[0,0,1],frameWidth:.2,ly:.3,frame:!0,lx:.03846153846153847,selected:!1,mullionSpacing:1,windowType:"Default",cx:-.26282051282051283,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],type:"Window",archHeight:1,opacity:.9,sillWidth:0,locked:!0},{tint:"#b3b3b3",frameWidth:.2,uValue:2,id:"55aZ17NQmYsZjj65tA9N6c",type:"Window",cy:.1,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",normal:[0,0,1],mullion:!0,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},mullionColor:"#ffffff",cx:-.2051282051282051,windowType:"Default",cz:-.30952380952380953,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,opacity:.9,archHeight:1,lx:.03846153846153847,mullionSpacing:1,mullionWidth:.05,frame:!0,ly:.3,sillWidth:0,locked:!0},{type:"Window",ly:.3,windowType:"Default",cz:-.30952380952380953,sillWidth:0,frameWidth:.2,lz:.14285714285714285,archHeight:1,normal:[0,0,1],color:"#ffffff",selected:!1,lx:.03846153846153847,tint:"#b3b3b3",cx:-.14743589743589736,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,id:"1z5sb7DiDiWaTZ6WSGSBgP",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},mullionSpacing:1,opacity:.9,rotation:[0,0,0],mullionColor:"#ffffff",frame:!0,cy:.1,mullion:!0,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{mullion:!0,cx:-.08974358974358965,tint:"#b3b3b3",mullionSpacing:1,normal:[0,0,1],sillWidth:0,lz:.14285714285714285,archHeight:1,rotation:[0,0,0],lx:.03846153846153847,frameWidth:.2,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,type:"Window",selected:!1,id:"1VhTxbHHBGndaZD6vgtVKW",frame:!0,opacity:.9,mullionColor:"#ffffff",mullionWidth:.05,cz:-.30952380952380953,parentId:"r7FDtsVF9isPsPhYMJtzMf",cy:.1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},windowType:"Default",locked:!0},{lx:.03846153846153847,tint:"#b3b3b3",shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},type:"Window",frame:!0,mullionSpacing:1,archHeight:1,sillWidth:0,cy:.3,opacity:.9,id:"xmoWZwUhtR6SFNiGKtxr1m",mullionWidth:.05,color:"#ffffff",rotation:[0,0,0],mullionColor:"#ffffff",lz:.14285714285714285,normal:[0,0,1],cx:-.3782051282051282,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,windowType:"Default",uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,mullion:!0,frameWidth:.2,cz:-.023809523809523808,locked:!0},{archHeight:1,cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},mullionSpacing:1,lx:.03846153846153847,selected:!1,cx:-.3205128205128205,id:"dmo2H1zYKT8Yb8BFyJx3Gz",cz:-.023809523809523808,tint:"#b3b3b3",mullionWidth:.05,normal:[0,0,1],rotation:[0,0,0],frame:!0,color:"#ffffff",type:"Window",frameWidth:.2,uValue:2,mullion:!0,mullionColor:"#ffffff",windowType:"Default",opacity:.9,sillWidth:0,locked:!0},{normal:[0,0,1],tint:"#b3b3b3",mullionWidth:.05,mullion:!0,frame:!0,uValue:2,type:"Window",rotation:[0,0,0],mullionColor:"#ffffff",mullionSpacing:1,opacity:.9,frameWidth:.2,ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},windowType:"Default",lz:.14285714285714285,cy:.1,sillWidth:0,selected:!1,cz:-.023809523809523808,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",lx:.03846153846153847,cx:-.26282051282051283,id:"ifqLCE1HzUvw6zh9hXdDbd",color:"#ffffff",locked:!0},{shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},cx:-.2051282051282051,parentId:"r7FDtsVF9isPsPhYMJtzMf",uValue:2,ly:.3,normal:[0,0,1],cz:-.023809523809523808,mullionWidth:.05,frame:!0,sillWidth:0,id:"gA23Z9tUz7wPHpEvmsKQF9",windowType:"Default",mullion:!0,lx:.03846153846153847,opacity:.9,type:"Window",archHeight:1,lz:.14285714285714285,rotation:[0,0,0],selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.1,locked:!0},{type:"Window",frame:!0,selected:!1,uValue:2,rotation:[0,0,0],mullionSpacing:1,lx:.03846153846153847,id:"g26wC9moZKAAzi72Vpxkja",mullionColor:"#ffffff",color:"#ffffff",windowType:"Default",cy:.1,parentId:"r7FDtsVF9isPsPhYMJtzMf",cz:-.023809523809523808,sillWidth:0,ly:.3,lz:.14285714285714285,cx:-.14743589743589736,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frameWidth:.2,normal:[0,0,1],archHeight:1,mullionWidth:.05,mullion:!0,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"t5oxzLUUWgsBQiTqMqndt1",cz:-.023809523809523808,sillWidth:0,uValue:2,ly:.3,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},rotation:[0,0,0],selected:!1,mullionWidth:.05,cx:-.08974358974358965,windowType:"Default",mullion:!0,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.1,tint:"#b3b3b3",mullionSpacing:1,frameWidth:.2,frame:!0,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,locked:!0},{mullionWidth:.05,cx:.10897435897435898,uValue:2,selected:!1,frameWidth:.2,lz:.14285714285714285,type:"Window",id:"9Xa2jX1sxCcJu9Qb6YPC2s",mullionColor:"#ffffff",opacity:.9,sillWidth:0,lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,color:"#ffffff",normal:[0,0,1],windowType:"Default",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,mullionSpacing:1,cz:-.30952380952380953,tint:"#b3b3b3",ly:.3,locked:!0},{uValue:2,frame:!0,mullionColor:"#ffffff",cy:.1,sillWidth:0,frameWidth:.2,ly:.3,shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},cz:-.30952380952380953,id:"jAuZTLVVKe7wAQ3T71wGgZ",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,opacity:.9,windowType:"Default",mullionSpacing:1,archHeight:1,normal:[0,0,1],mullion:!0,rotation:[0,0,0],lx:.03846153846153847,type:"Window",tint:"#b3b3b3",cx:.16666666666666669,lz:.14285714285714285,color:"#ffffff",locked:!0},{mullionSpacing:1,selected:!1,opacity:.9,windowType:"Default",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:.22435897435897442,archHeight:1,sillWidth:0,mullion:!0,tint:"#b3b3b3",lz:.14285714285714285,frameWidth:.2,normal:[0,0,1],ly:.3,mullionWidth:.05,cz:-.30952380952380953,id:"vENyYLo9ct8hNwWCaxGgh9",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",frame:!0,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},mullionColor:"#ffffff",color:"#ffffff",cy:.1,rotation:[0,0,0],uValue:2,locked:!0},{selected:!1,color:"#ffffff",sillWidth:0,uValue:2,cz:-.30952380952380953,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,mullion:!0,mullionSpacing:1,mullionWidth:.05,normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"q7q4AW6uBwbJ6Cu8CRiTjs",type:"Window",tint:"#b3b3b3",ly:.3,frameWidth:.2,cy:.1,lz:.14285714285714285,rotation:[0,0,0],cx:.2820512820512821,lx:.03846153846153847,mullionColor:"#ffffff",windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,opacity:.9,locked:!0},{tint:"#b3b3b3",archHeight:1,mullion:!0,cx:.33974358974358976,rotation:[0,0,0],lx:.03846153846153847,windowType:"Default",mullionSpacing:1,type:"Window",uValue:2,cy:.1,id:"93xJt2nF5KXFmbdPTBkxxA",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullionWidth:.05,sillWidth:0,ly:.3,color:"#ffffff",cz:-.30952380952380953,frameWidth:.2,mullionColor:"#ffffff",frame:!0,lz:.14285714285714285,opacity:.9,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{normal:[0,0,1],mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",id:"rqxKsXtJSfhtmcVetqkrnQ",windowType:"Default",cz:-.30952380952380953,frameWidth:.2,lx:.03846153846153847,ly:.3,mullion:!0,archHeight:1,frame:!0,sillWidth:0,opacity:.9,uValue:2,cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},rotation:[0,0,0],cx:.3974358974358974,color:"#ffffff",mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",locked:!0},{shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",windowType:"Default",normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",rotation:[0,0,0],mullionSpacing:1,lz:.14285714285714285,mullionColor:"#ffffff",archHeight:1,mullion:!0,sillWidth:0,opacity:.9,mullionWidth:.05,cy:.3,cz:-.023809523809523808,lx:.03846153846153847,ly:.3,tint:"#b3b3b3",selected:!1,cx:.10897435897435898,id:"t5xKggUuuYXpJByLpjQCCN",frameWidth:.2,uValue:2,frame:!0,locked:!0},{color:"#ffffff",id:"3mgduhR1rZfiGxV9DxMKKp",selected:!1,cz:-.023809523809523808,tint:"#b3b3b3",frame:!0,mullionColor:"#ffffff",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,windowType:"Default",ly:.3,mullionWidth:.05,uValue:2,lx:.03846153846153847,mullionSpacing:1,lz:.14285714285714285,type:"Window",rotation:[0,0,0],normal:[0,0,1],sillWidth:0,cx:.16666666666666669,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cy:.1,opacity:.9,archHeight:1,locked:!0},{sillWidth:0,windowType:"Default",mullionWidth:.05,uValue:2,mullionSpacing:1,id:"3iPxQ9YQqC9r3Ge6DJC5HU",selected:!1,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,type:"Window",cy:.1,mullion:!0,ly:.3,rotation:[0,0,0],tint:"#b3b3b3",lx:.03846153846153847,color:"#ffffff",archHeight:1,normal:[0,0,1],frameWidth:.2,cz:-.023809523809523808,cx:.22435897435897442,lz:.14285714285714285,mullionColor:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{opacity:.9,cy:.1,normal:[0,0,1],frameWidth:.2,id:"76oBAJjEY5VErwpM1BxmpH",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionSpacing:1,lz:.14285714285714285,ly:.3,frame:!0,mullionColor:"#ffffff",cx:.2820512820512821,sillWidth:0,lx:.03846153846153847,mullion:!0,uValue:2,archHeight:1,rotation:[0,0,0],type:"Window",tint:"#b3b3b3",selected:!1,color:"#ffffff",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.023809523809523808,mullionWidth:.05,locked:!0},{archHeight:1,ly:.3,mullionColor:"#ffffff",mullion:!0,selected:!1,mullionWidth:.05,sillWidth:0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.33974358974358976,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",tint:"#b3b3b3",rotation:[0,0,0],frameWidth:.2,type:"Window",color:"#ffffff",cy:.1,cz:-.023809523809523808,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,lz:.14285714285714285,frame:!0,uValue:2,id:"pPk6b2pTiBVzv3KLBQxRSg",windowType:"Default",mullionSpacing:1,normal:[0,0,1],locked:!0},{cy:.1,frame:!0,windowType:"Default",parentId:"r7FDtsVF9isPsPhYMJtzMf",sillWidth:0,selected:!1,normal:[0,0,1],archHeight:1,mullionWidth:.05,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",rotation:[0,0,0],lx:.03846153846153847,mullionSpacing:1,tint:"#b3b3b3",color:"#ffffff",opacity:.9,lz:.14285714285714285,cz:-.023809523809523808,uValue:2,mullionColor:"#ffffff",mullion:!0,id:"dDqdERBwZJGfHxCAxg8mQc",cx:.3974358974358974,frameWidth:.2,locked:!0},{sillWidth:0,mullionWidth:.05,id:"g49obECC2D5AhNaQXqvDPp",frame:!0,mullionColor:"#ffffff",mullionSpacing:1,lz:.14285714285714285,windowType:"Default",opacity:.9,normal:[0,0,1],type:"Window",cx:.10897435897435898,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cy:.3,color:"#ffffff",frameWidth:.2,archHeight:1,uValue:2,ly:.3,cz:.2619047619047619,selected:!1,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{mullionSpacing:1,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,lx:.03846153846153847,type:"Window",rotation:[0,0,0],lz:.14285714285714285,uValue:2,frame:!0,id:"n8XDBwufcE9UWBEg19yPpi",opacity:.9,normal:[0,0,1],mullionColor:"#ffffff",ly:.3,tint:"#b3b3b3",archHeight:1,windowType:"Default",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},cz:.2619047619047619,selected:!1,cx:.16666666666666669,mullion:!0,mullionWidth:.05,sillWidth:0,locked:!0},{parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",frame:!0,lx:.03846153846153847,normal:[0,0,1],mullionWidth:.05,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,cz:.2619047619047619,sillWidth:0,cx:.22435897435897442,lz:.14285714285714285,archHeight:1,type:"Window",cy:.1,mullionSpacing:1,selected:!1,mullionColor:"#ffffff",rotation:[0,0,0],ly:.3,windowType:"Default",tint:"#b3b3b3",id:"b5uBoVa6wo8VKkGWVcCau1",frameWidth:.2,opacity:.9,locked:!0},{color:"#ffffff",lx:.03846153846153847,cy:.1,type:"Window",opacity:.9,sillWidth:0,frame:!0,mullionWidth:.05,selected:!1,rotation:[0,0,0],id:"nwmp8tgXJE3t7ELMTsmseA",normal:[0,0,1],windowType:"Default",lz:.14285714285714285,cx:.2820512820512821,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullion:!0,ly:.3,tint:"#b3b3b3",frameWidth:.2,cz:.2619047619047619,archHeight:1,mullionSpacing:1,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{id:"72vvSwRX9xusD4gBvjme4x",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frame:!0,windowType:"Default",mullionWidth:.05,cy:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},sillWidth:0,normal:[0,0,1],cz:.2619047619047619,archHeight:1,frameWidth:.2,type:"Window",mullion:!0,tint:"#b3b3b3",uValue:2,lx:.03846153846153847,selected:!1,color:"#ffffff",cx:.33974358974358976,ly:.3,lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionColor:"#ffffff",mullionSpacing:1,locked:!0},{cy:.1,normal:[0,0,1],tint:"#b3b3b3",frame:!0,frameWidth:.2,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,cx:.3974358974358974,type:"Window",archHeight:1,windowType:"Default",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,id:"nfohs2Unqz45ioM4iNmfos",cz:.2619047619047619,mullionSpacing:1,mullion:!0,selected:!1,ly:.3,mullionColor:"#ffffff",opacity:.9,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",rotation:[0,0,0],locked:!0},{lz:.75,type:"Window",uValue:2,frameWidth:.2,shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},windowType:"Default",frame:!0,mullionColor:"#ffffff",rotation:[0,0,0],selected:!1,cy:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",opacity:.5,lx:.22222222222222213,mullionWidth:.06,ly:.3,tint:"#0062b1",mullionSpacing:5,id:"nCv1Ny793c5HrEnfGj93XH",archHeight:1,cx:-8635067969306777e-32,sillWidth:0,normal:[0,0,1],mullion:!0,cz:-.041666666666666664,color:"#ffffff",parentId:"kFKM2qRJFmWx323z2hBCra",locked:!0},{opacity:.5,sillWidth:0,uValue:2,tint:"#0062b1",ly:.3,type:"Window",cy:.3,cz:-.041666666666666664,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",frame:!0,windowType:"Default",archHeight:1,mullionWidth:.06,lz:.75,cx:-8635067969306777e-32,mullionColor:"#ffffff",rotation:[0,0,0],id:"5HaXS5141hpZmmNQTR28pq",color:"#ffffff",mullionSpacing:5,frameWidth:.2,mullion:!0,lx:.22222222222222213,normal:[0,0,1],shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},parentId:"16SbPgFqDMyVbV8UtDHAYk",selected:!1,locked:!0},{windowType:"Default",rotation:[0,0,0],frame:!0,lz:.75,ly:.3,cy:.3,mullionColor:"#ffffff",opacity:.5,id:"rkqdUY1fH4ETNHTSNuscn1",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",color:"#ffffff",cx:.01053672324504819,mullionWidth:.06,sillWidth:0,selected:!1,frameWidth:.2,mullion:!0,normal:[0,0,1],shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},tint:"#0062b1",cz:-.041666666666666664,uValue:2,parentId:"iVn6mF9eoYKrYt3EzDy2TC",type:"Window",archHeight:1,lx:.22222222222222213,mullionSpacing:5,locked:!0},{doorType:"Default",rotation:[0,0,0],frameColor:"#ffffff",id:"nCMdK2uZjAQvbd9xNjWLHp",filled:!0,cz:-.33695652173913043,type:"Door",ly:0,lz:.32608695652173914,normal:[0,0,1],lx:.053846153846153856,opacity:.5,archHeight:1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,textureType:"Door Texture Default",cx:.012820512820512824,color:"#009ce0",uValue:1,cy:0,locked:!0},{type:"Human",rotation:[0,0,0],lz:1.8,selected:!1,cy:-.1500000059604638,name:"Jack",cz:.30360914351979496,normal:[0,1,0],id:"3ZDfWfiHz4RyG9jjRaKJMd",parentId:"4ahnYxjJA1TN7cwGSyLftT",lx:.42,cx:-3.810198255647766,locked:!0},{selected:!1,parentId:"u7vgLv3TfTJ9G6m9VRJXKE",rotation:[0,0,0],id:"kNqFk1V3FLs1ySbp9WvM5C",cx:.5509936852391848,lx:.48,lz:1.6,cz:.6000000238418579,type:"Human",normal:[0,1,0],cy:-1.9056488848059487,name:"Jade",locked:!0},{type:"Human",selected:!1,name:"James",normal:[0,1,0],cx:13.796503677890236,lx:.472,cy:-14.701093907978901,cz:0,rotation:[0,0,0],lz:1.75,parentId:"Ground",id:"hEkECi6wTCQNNwcMymHKtW",locked:!0},{normal:[0,1,0],cz:0,name:"Jacqueline",lz:1.78,lx:.43,parentId:"Ground",id:"jkiLfuhPDQMUuLpfWnf96a",rotation:[0,0,0],cx:14.379527131239326,type:"Human",cy:-14.104111051733407,selected:!1,locked:!0},{uValue:2,ly:.3,cy:.3,cz:-.44989648033126295,lineColor:"#000000",mullionWidth:.1,archHeight:1,mullion:!0,mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.025641025641025647,sillWidth:0,selected:!1,opacity:.5,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",windowType:"Default",cx:-.3974358974358975,id:"ey7NEkHJkJr31HLTbvLk1h",frame:!0,normal:[0,-1,0],lineWidth:.2,showLabel:!1,lz:.047619047619047616,tint:"#b3b3b3",mullionSpacing:1.25,rotation:[0,0,0],frameWidth:.05,color:"#ffffff",type:"Window",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},locked:!0},{windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,cx:-.3205128205128206,cy:.3,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,mullionColor:"#ffffff",archHeight:1,frame:!0,ly:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.5,tint:"#b3b3b3",rotation:[0,0,0],lx:.025641025641025647,frameWidth:.05,mullionSpacing:1.25,selected:!1,color:"#ffffff",normal:[0,-1,0],mullion:!0,lz:.047619047619047616,id:"tBwi3AxHXayUK8gVkMaxbE",locked:!0},{opacity:.5,mullionWidth:.1,type:"Window",normal:[0,-1,0],archHeight:1,lz:.047619047619047616,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,lx:.025641025641025647,frame:!0,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},uValue:2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",rotation:[0,0,0],mullionSpacing:1.25,ly:.3,frameWidth:.05,tint:"#b3b3b3",cx:-.25641025641025644,cy:.3,sillWidth:0,selected:!1,id:"aaeq11aoNBxT8ngMjW1MD1",windowType:"Default",mullion:!0,color:"#ffffff",mullionColor:"#ffffff",locked:!0},{mullionColor:"#ffffff",lz:.047619047619047616,cx:-.19230769230769235,uValue:2,sillWidth:0,id:"tQRNuUci7nDK7JtFR1J9hs",opacity:.5,mullion:!0,cz:-.44989648033126295,windowType:"Default",lx:.025641025641025647,selected:!1,color:"#ffffff",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,tint:"#b3b3b3",frameWidth:.05,type:"Window",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,frame:!0,normal:[0,-1,0],mullionWidth:.1,cy:.3,mullionSpacing:1.25,locked:!0},{mullionWidth:.15,lz:.2260869565217391,lx:.12564102564102567,uValue:2,shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},sillWidth:0,lineColor:"#000000",cy:.3,showLabel:!1,mullionSpacing:1.75,lineWidth:.2,selected:!1,color:"#ffffff",ly:.3,windowType:"Default",type:"Window",tint:"#009ce0",frame:!1,cz:-.28695652173913044,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.07820512820512822,mullionColor:"#ffffff",archHeight:1,opacity:.5,rotation:[0,0,0],mullion:!0,normal:[0,-1,0],frameWidth:.1,id:"noDtXCs5Fto2dPjMS4sHTG",locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.5,id:"32Mm6Utbug2woUysRGXDB7",frameWidth:.1,mullionWidth:.15,parentId:"jE7DwieCwvfvkHcN1Bkpu2",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},mullion:!0,mullionColor:"#ffffff",type:"Window",frame:!1,selected:!1,windowType:"Default",cy:.3,ly:.3,normal:[0,0,1],cz:-.29130434782608694,tint:"#009ce0",color:"#ffffff",lx:.1230769230769231,rotation:[0,0,0],uValue:2,cx:.10256410256410259,archHeight:1,sillWidth:0,mullionSpacing:1.75,lz:.21739130434782608,locked:!0},{lineColor:"#e9d8ba",color:"#e9d8ba",cz:0,ly:.4,parentType:"Wall",vertices:[{x:-.5007532349973239,y:-.44799999999999995},{x:-.5007532349973239,y:-.376},{y:-.376,x:.5007532349973239},{y:-.44,x:.5007532349973239}],id:"aJWE2MtRWkR9GDyeWR1Gxe",filled:!0,selected:!1,cy:-.4400430854049809,type:"Polygon",selectedIndex:0,normal:[0,0,1],lx:.4,lz:.4,cx:.15819596410925735,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",parentId:"1G9FW32uCMUYbXB7bybpze",noOutline:!0,rotation:[0,0,0],locked:!0},{filled:!0,ly:.4,cz:0,cy:0,vertices:[{x:-.5001466885671803,y:-.44},{y:-.376,x:-.5001466885671803},{y:-.376,x:.4601349534818058},{y:-.44,x:.5001466885671803}],lx:.4,noOutline:!0,cx:0,parentId:"9ULQ17PCkbiQTAk5KCBQqS",type:"Polygon",id:"cAXqDBJufU2L5v4YCuvU4k",color:"#e9d8ba",lz:.4,selected:!1,selectedIndex:3,parentType:"Wall",lineColor:"#e9d8ba",rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],locked:!0},{selected:!1,opacity:0,text:"YENISEHIR BELEDIYESI BILIM SANAT MERKEZI",noOutline:!0,cy:0,fontColor:"gold",cz:0,normal:[0,0,1],cx:0,rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",color:"#ffffff",selectedIndex:3,lx:.4,type:"Polygon",ly:.4,fontSize:.5,filled:!0,parentType:"Wall",parentId:"1G9FW32uCMUYbXB7bybpze",vertices:[{x:-.47819624166517993,y:.14},{x:-.47819624166517993,y:.18000000000000002},{y:.18000000000000002,x:.47561944404400847},{x:.47561944404400847,y:.14}],id:"ddNUh9NWyq7jo9Hii6cxUy",lz:.4,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["vEPKSnunpPsGKUDNJaGnTR","iYLfpK8sAzBxMk4mz1BXiS","joaXtauLNr5aPP2tqqpryi","1QnZb7zSPuvyzTVeC8AkVL"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j3n8P4y4kG4w4nSZiAf6rj",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"9wUwTaeJ4rHLbRCsFJ3NXZ",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["16SbPgFqDMyVbV8UtDHAYk","kmaifBj79SDvw8jCqEakPi","dMQfydvLoQmsUVh8GcfQWg","3WQQwDXPDfYCATy53ts83F"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x4oU2GYmkiSMe4Z8gg6K3C",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"q8ctEFdUTArcnVXRSQ323h",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["tJ6f61zEL1oQGpeeCnFH2S","sCZzaqpAQeUmKwng1WHaCF","gZiomgVxY3vk4YfQ9Jjh6B","eZza9yCuyFywaPPzJVe5tY"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o2WibZi2fR7HySSdFgPoda",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"rdXcWwV3c9y2W6N9aNo82Z",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["5KcXyJ1kNDvp5rTZsShAbX","i7SnyGKg3wpYfMg2Ck4kpZ","gv3LzTTefsaZrtK8Lzx2bM","kFKM2qRJFmWx323z2hBCra"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hLsewK7zX5Mau5SErFyCiz",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"3gdGvLfCvyTnvdRCWnC9h9",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["eTsfM9k5RPHprx93KkShya","aMAoC9G4MpUPGJVmt36yfP","u1GLQPod2yRsFy4dWHVdVa","iVn6mF9eoYKrYt3EzDy2TC"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"ips8v5W6dhiA81cAxrdErd",locked:!0},{type:"Foundation",cx:2.2717235438998022,cy:-13.70952380378541,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"mjxy5YL3EoKusPrE4miGfp",notBuilding:!0,locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:-1.5707963267948972,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],leftJoints:["9LP2kDJGn2neiYDzDX66JW"],rightJoints:["kVBpA22r7rMwMak56bdzNG"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kAomEduDnbZXe9fMR2J4vS",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,relativeAngle:30767985154612743e-31,leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],leftJoints:["kAomEduDnbZXe9fMR2J4vS"],rightJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kVBpA22r7rMwMak56bdzNG",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:1.5707963267948974,leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["kVBpA22r7rMwMak56bdzNG"],rightJoints:["9LP2kDJGn2neiYDzDX66JW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"xrMk4ZTC1gwLZELF3Hm4PW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:3.1415926535897913,leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],leftJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],rightJoints:["kAomEduDnbZXe9fMR2J4vS"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"9LP2kDJGn2neiYDzDX66JW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",roofStructure:"Default",wallsId:["kVBpA22r7rMwMak56bdzNG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"vX75xVcns2UiTk795WQxu9",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-1.5707963267948963,leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],leftJoints:["hb7Tux4vCn6v5A6JnAifhr"],rightJoints:["ji3RWSoHzqrqxaW2CNta4W"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"wwL7bfAKTRXceXoVXbnQe9",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-3.09893137333499,leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],leftJoints:["33r7faucqj1HNFffUsMqbr"],rightJoints:["wwL7bfAKTRXceXoVXbnQe9"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"hb7Tux4vCn6v5A6JnAifhr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:1.580137542273405,leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],leftJoints:["ji3RWSoHzqrqxaW2CNta4W"],rightJoints:["hb7Tux4vCn6v5A6JnAifhr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"33r7faucqj1HNFffUsMqbr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-17947991340190846e-31,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["wwL7bfAKTRXceXoVXbnQe9"],rightJoints:["33r7faucqj1HNFffUsMqbr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"ji3RWSoHzqrqxaW2CNta4W",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ji3RWSoHzqrqxaW2CNta4W","33r7faucqj1HNFffUsMqbr","hb7Tux4vCn6v5A6JnAifhr","wwL7bfAKTRXceXoVXbnQe9"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"sFQv2f1u7oD1ozyFQA6CvB",locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["kQgqBbuoJMHBFT8g1JN1tC"],rightJoints:["3c6cWYJDLKfbWoov8rSetU"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"hQDTYviozPxCLRiuoq8YbP",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,leftJoints:["hQDTYviozPxCLRiuoq8YbP"],rightJoints:["3SCoUPNSFfffHGPmvk8DUC"],leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],relativeAngle:30767985154612743e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3c6cWYJDLKfbWoov8rSetU",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,selected:!1,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3c6cWYJDLKfbWoov8rSetU"],rightJoints:["kQgqBbuoJMHBFT8g1JN1tC"],leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:1.5707963267948974,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3SCoUPNSFfffHGPmvk8DUC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3SCoUPNSFfffHGPmvk8DUC"],rightJoints:["hQDTYviozPxCLRiuoq8YbP"],leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],relativeAngle:3.1415926535897913,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"kQgqBbuoJMHBFT8g1JN1tC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,selected:!1,locked:!0},{id:"bi1wbzAS6GmbpEfuCH6pB4",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["3c6cWYJDLKfbWoov8rSetU"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["oo7zYTZq5M8KXcmw8fK7tD"],rightJoints:["ij5SdFExjnoBJBDeaF2ioW"],leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"uizhgrZpeyc2KYB1TvZ5Nf",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["mgWkbY4DegHxFAvRa9Bw4F"],rightJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],relativeAngle:-3.09893137333499,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"oo7zYTZq5M8KXcmw8fK7tD",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["ij5SdFExjnoBJBDeaF2ioW"],rightJoints:["oo7zYTZq5M8KXcmw8fK7tD"],leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],relativeAngle:1.580137542273405,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"mgWkbY4DegHxFAvRa9Bw4F",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],rightJoints:["mgWkbY4DegHxFAvRa9Bw4F"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:-17947991340190846e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"ij5SdFExjnoBJBDeaF2ioW",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{id:"8m9Vi16SPU3YiAzGyrbieq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["ij5SdFExjnoBJBDeaF2ioW","mgWkbY4DegHxFAvRa9Bw4F","oo7zYTZq5M8KXcmw8fK7tD","uizhgrZpeyc2KYB1TvZ5Nf"],selected:!1,locked:!0},{type:"Foundation",cx:11.311392901943481,cy:-4.7142040538495555,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"qRkMdipDNgMrnuysUddPgu",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:-.11315789473684208,cy:0,cz:-.06153846153846153,lx:.6894736842105263,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"joaXtauLNr5aPP2tqqpryi",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"keZr7qBSZM6JD1wUNN3RrV",interior:!0,locked:!0},{type:"Door",cx:.12368421052631581,cy:0,cz:-.06538461538461539,lx:.668421052631579,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"kmaifBj79SDvw8jCqEakPi",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"vp6vHpvNfTH54o1tThWij3",interior:!0,locked:!0},{type:"Door",cx:-.2611111111111111,cy:0,cz:-.030769230769230764,lx:.3000000000000001,ly:0,lz:.9384615384615385,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dMQfydvLoQmsUVh8GcfQWg",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"b4ReFVnndEjjEwadJrJfnm",interior:!0,locked:!0},{type:"Door",cx:.2277777777777778,cy:0,cz:-.03461538461538463,lx:.3666666666666666,ly:0,lz:.9307692307692308,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iYLfpK8sAzBxMk4mz1BXiS",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"wa145FYVqDahTu1KJYV3LK",interior:!0,locked:!0},{type:"Door",cx:.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"1r7udrYyCT7hkUCv5siuDw",locked:!0},{type:"Door",cx:-.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gv3LzTTefsaZrtK8Lzx2bM",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"vASnwHDvzPR9avU565RVbd",locked:!0},{type:"Door",cx:.26111111111111107,cy:0,cz:-.042307692307692296,lx:.29999999999999993,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"i7SnyGKg3wpYfMg2Ck4kpZ",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"ewo4SkBBdDL4Dgy9tWDw9P",locked:!0},{type:"Door",cx:-.26111111111111107,cy:0,cz:-.042307692307692296,lx:.2999999999999998,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gZiomgVxY3vk4YfQ9Jjh6B",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"7HwzJtGpVjcSG4pVEZX7yq",locked:!0},{type:"Door",cx:-.10744643820625929,cy:0,cz:-.06153846153846153,lx:.6583928464374896,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"u1GLQPod2yRsFy4dWHVdVa",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"kmWJjPpjeytKavWK96TyyH",locked:!0},{type:"Door",cx:44664000438593557e-33,cy:0,cz:-.038461538461538464,lx:.8390809794142997,ly:0,lz:.9230769230769231,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"aMAoC9G4MpUPGJVmt36yfP",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"hMEcTxQ4NT4QbuYeBXMCEV",locked:!0},{type:"Door",cx:.13912500749375725,cy:0,cz:-.06153846153846153,lx:.5950357078624938,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"eTsfM9k5RPHprx93KkShya",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"vbLxh8TTREuj8zv66LqoAM",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"vbUoZmBsuZRXzK6QXsDYtV",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"fknzp5TF4y6Z2JezdMmUnw",locked:!0},{type:"Door",cx:-.46282051282051284,cy:0,cz:-.004347826086956506,lx:.053846153846153884,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"62KCpUdkhCRr3ExkPE3Sd1",locked:!0},{type:"Door",cx:.458974358974359,cy:0,cz:-.004347826086956506,lx:.061538461538461424,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oHCJ27NVx4XbdXZVcpvNo5",locked:!0},{type:"Door",cx:-.4615384615384616,cy:0,cz:-.004347826086956506,lx:.056410256410256404,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"3deR2pFWoANWBbeogtfdY4",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.0017278291556811246,lx:.3882352941176471,ly:0,lz:.9965443416886377,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nAw5K9QrWgALjVNPKgbC1o",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.3882352941176471,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"kNSEPx2oK4SSg7KeM6Ty8x",locked:!0},{type:"Door",cx:.46282051282051284,cy:0,cz:-.010869565217391304,lx:.053846153846153884,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5UP5zCx3iEA1h5gxGrabow",locked:!0},{type:"Door",cx:.00641025641025641,cy:0,cz:-.010869565217391304,lx:.11538461538461539,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nd9aBdZVvLyLxm6LSWmReW",locked:!0},{type:"Window",cx:19.271100620021265,cy:-4.54768812158822,cz:12.260904466364499,lx:2.748705948983199,ly:.2,lz:6.901186917106701,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872453,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5kDW9Ug8bkdf5i9qjLd7bj",locked:!0},{type:"Window",cx:19.227858803067697,cy:4.981211897402677,cz:12.264615427486488,lx:2.8786302292092456,ly:.2,lz:6.844179828287683,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,3.141592653589793],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oxL6YVVCiXau1r4WQuSjxn",locked:!0},{type:"Window",cx:-17.18252886122661,cy:-4.622268332707515,cz:12.249668970719181,lx:2.2316030028692726,ly:.2,lz:6.893564122242849,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"rqUXFDFwX2z3bbGtXfBcfd",locked:!0},{type:"Window",cx:-17.11075110661269,cy:5.168142143612845,cz:12.236454418879077,lx:2.3271871087906195,ly:.2,lz:6.844860410467514,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.1495254111987243,0,3.1415926535897936],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"qAswaYhvWDiHawY6iYvLWG",locked:!0}],Nmn=90,Umn={yearlyLightSensorPanelRect:{height:500,width:600,x:0,y:0},showYearlyParabolicDishYieldPanel:!1,showDesignInfoPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showInstructionPanel:!0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{x:0,height:400,width:600,y:0},yearlyLightSensorPanelShowDaylight:!1,cameraPosition:[28.761610676892403,-33.63667545263391,8.036616917846569],yearlyPvYieldPanelX:0,showDailyHeliostatYieldPanel:!1,solarRadiationHeatMapMaxValue:3,showDailyPvYieldPanel:!1,showSunAngles:!1,yearlyParabolicDishYieldPanelY:0,showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},mapZoom:19,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,yearlyPvYieldPanelY:0,dailyHeliostatYieldPanelY:0,showYearlyBuildingEnergyPanel:!1,mapWeatherStations:!1,stickyNotePanelX:0,dailyPvYieldPanelY:0,dailyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,cameraZoom:18.050000000000008,yearlyParabolicTroughYieldPanelY:0,yearlyPvYieldPanelRect:{width:600,height:400,x:0,y:0},theme:"Default",dailyLightSensorPanelRect:{height:360,y:0,width:600,x:0},dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxColor:"gray",showYearlyFresnelReflectorYieldPanel:!1,solarPanelShininess:100,mapType:"roadmap",yearlyParabolicTroughYieldPanelX:0,cameraPosition2D:[9.356963094823977,-6.143696261834446,150],showDailyLightSensorPanel:!1,weatherPanelX:0,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{x:0,height:470,y:0,width:600},showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,windowShininess:200,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelY:0,panCenter2D:[9.356963094823977,-6.142695884375581,-7053447453632921e-21],dailyHeliostatYieldPanelX:0,showWeatherPanel:!1,heliodonPanelY:0,yearlyParabolicDishYieldPanelX:0,mapPanelX:0,dailyPvYieldPanelX:0,weatherPanelY:0,showMapPanel:!1,stickyNotePanelY:0,yearlyHeliostatYieldPanelY:0,groundImage:!0,dailyHeliostatYieldPanelRect:{y:0,x:0,height:400,width:600},panCenter:[-1.9927664106999077,1.50952086360681,5.064941130407551],showYearlyLightSensorPanel:!1,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,ambientLightIntensity:.1,showSolarPanelVisibilityResultsPanel:!1,mapPanelY:0,dailyParabolicDishYieldPanelX:0,orthographic:!1,showElevationAngle:!0,dailyParabolicTroughYieldPanelY:0,axes:!0,showStickyNotePanel:!1,heliodon:!1,yearlyLightSensorPanelShowClearness:!1,yearlyLightSensorPanelX:0,dailyUpdraftTowerYieldPanelRect:{height:550,y:0,x:0,width:640},yearlyFresnelReflectorYieldPanelY:0,mapTilt:0,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelX:0,showDailyFresnelReflectorYieldPanel:!1,showEconomicsPanel:!1,showAzimuthAngle:!0,dailyLightSensorPanelY:0,showDailyUpdraftTowerYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,enableRotate:!0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},waterSurface:!1,showZenithAngle:!0,evolutionPanelRect:{y:0,width:640,height:400,x:0},showYearlyUpdraftTowerYieldPanel:!1,shadowEnabled:!0,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyHeliostatYieldPanelRect:{width:600,x:0,height:400,y:0},showDiurnalTemperaturePanel:!1,autoRotate:!1,solarRadiationHeatMapReflectionOnly:!1,heliodonPanelX:0,groundColor:"#16A5A5",heatFluxScaleFactor:20,heatFluxWidth:.5,showSiteInfoPanel:!0,dailyFresnelReflectorYieldPanelX:0,yearlyUpdraftTowerYieldPanelRect:{height:400,x:0,y:0,width:600},weatherPanelRect:{width:500,height:500,x:0,y:0},visibilityResultsPanelX:0,showDailyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showYearlyHeliostatYieldPanel:!1,groundImageType:"roadmap"},Bmn={dailyParabolicTroughIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1},jmn=1,Ymn={rowsPerRack:1,tiltAngle:0,poleHeight:1,rowAxis:"Zonal",orientation:"Landscape",pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,poleSpacing:3},Omn={maximumInterRowSpacing:10,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,poleHeight:1,rowAxis:"Zonal",maximumRowsPerRack:6,poleSpacing:5,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,orientation:"Landscape"},_mn={particleSwarmOptimizationParams:{objectiveFunctionType:1,inertia:.8,searchMethod:1,maximumSteps:5,vmax:.01,cognitiveCoefficient:.1,swarmSize:20,socialCoefficient:.1,convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",localSearchRadius:.1},geneticAlgorithmParams:{convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",mutationRate:.1,maximumGenerations:5,selectionMethod:1,localSearchRadius:.1,searchMethod:1,populationSize:20,crossoverRate:.5,objectiveFunctionType:1,selectionRate:.5}},Vmn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},Gmn="School Building",Xmn="The Architect",Jmn="Yenişehir Belediyesi Bilim ve Sanat Merkezi",Kmn="Mersin Yenişehir Belediyesi BİLSEM",qmn=[],$mn={docid:Imn,time:zmn,timestamp:Dmn,userid:Emn,owner:kmn,email:Fmn,world:Lmn,elements:Wmn,sceneRadius:Nmn,view:Umn,graphState:Bmn,evolutionMethod:jmn,solarPanelArrayLayoutParams:Ymn,solarPanelArrayLayoutConstraints:Omn,evolutionaryAlgorithmState:_mn,economicsParams:Vmn,modelType:Gmn,modelAuthor:Xmn,modelLabel:Jmn,modelDescription:Kmn,notes:qmn},Qmn="tM5fjWZLVef6uQTttZQufM",Zmn="11/13/2022 07:15 pm",eyn=1668384959038,tyn="QWecNcxhyvP6j6sBN11hBsfZDau1",nyn=null,oyn=null,iyn={name:"default",date:"6/22/2022 4:00:00 PM",longitude:-110.9747108,latitude:32.2226066,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Tucson, AZ, USA",timesPerHour:20,orthographic:!1,cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},ryn=[{cz:.10000000074506517,id:"2gPWTJVs8iqE6rVTtrnnd8",name:"Julio",normal:[0,1,0],cy:-19.528888002511724,type:"Human",cx:13.490029797984572,rotation:[0,0,0],selected:!1,parentId:"Ground",lx:.5,ly:.42,lz:1.76},{ly:17.026616933032848,cy:-19.859023165912554,cz:.05,lz:.1,selected:!1,lx:36.16252356452459,type:"Foundation",id:"dqxcN6K9GVQLtZRykzonbS",cx:.03966683604024013,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #2"},{normal:[0,0,1],type:"Tree",rotation:[0,0,0],lx:4,cx:-23.993252440580314,id:"ibv7qyFAZNTUiSKfRnG81J",cz:-8881784197001252e-31,selected:!1,cy:-7.809220875702906,lz:10,name:"Birch",parentId:"Ground"},{selected:!1,poleSpacing:4,lz:.046,cy:-.023651645489680885,drawSunBeam:!0,poleRadius:.05,label:"Solar Panel",ly:3.12,lx:20.99,rotation:[0,0,0],type:"Solar Panel",tiltAngle:.05235987755982989,poleHeight:2.5,normal:[0,0,1],orientation:"Portrait",cz:.5000000074505628,relativeAzimuth:0,cx:-.14046178216409752,showLabel:!1,id:"kLwberNeAuQDEs45xghUMw",trackerType:"None",parentId:"dqxcN6K9GVQLtZRykzonbS",foundationId:"dqxcN6K9GVQLtZRykzonbS",pvModelName:"SPR-X21-335-BLK"},{id:"5wtQcSRJfXRx7dRi95EJjx",cy:-17.66536908075935,type:"Human",rotation:[0,0,0],cz:.10000000074505806,selected:!1,cx:7.100228690010481,normal:[0,1,0],name:"Jade",parentId:"Ground",lx:.48,ly:.48,lz:1.6},{cx:-23.340488252107782,cz:0,id:"tJeB5NfeXNiu4x7bJzUo9c",selected:!1,rotation:[0,0,0],lz:4.164962493910564,name:"Apple",normal:[0,0,1],type:"Tree",lx:4.059299397551073,cy:-22.87864367350907,parentId:"Ground"},{type:"Human",name:"Jedi",id:"wizaQCLaDPXxAgvgzpYzE5",cy:-26.52645438589241,rotation:[0,0,0],cx:-20.391856797710087,selected:!1,cz:-7105427357601002e-30,normal:[0,1,0],parentId:"Ground",lx:.56,ly:.56,lz:1.75},{name:"Jocelyn",rotation:[0,0,0],cz:-9833932535276902e-30,cx:-5.594678028642042,type:"Human",normal:[0,1,0],id:"8gaXxvd41d1wtkBveac2iT",cy:-24.46034584888105,selected:!1,parentId:"Ground",lx:.4,ly:.6,lz:1.72},{selected:!1,rotation:[0,0,0],id:"tSCfpjZEaf2LdYnKVymp8f",cx:-24.035139369880795,cy:-11.60375573934435,normal:[0,1,0],cz:8881784197001252e-31,name:"Judd",type:"Human",parentId:"Ground",lx:.544,ly:.544,lz:1.68},{type:"Human",cy:-26.346953604384606,name:"Jeff",normal:[0,1,0],selected:!1,cx:-14.95104385552803,cz:.10000000074506517,rotation:[0,0,0],id:"649JwdxAWZ8uAmjtuwCu7m",parentId:"Ground",lx:.6,ly:.6,lz:1.65},{id:"v8yuSV55idFvdSiztzVfkc",cz:.10000000074506517,type:"Human",normal:[0,1,0],selected:!1,cy:-25.080741421179635,cx:-1.3149126517891083,rotation:[0,0,0],name:"Joey",parentId:"Ground",lx:.462,ly:.695,lz:1.72},{type:"Tree",name:"Linden",cx:30.437792865488664,cy:-17.386067284775812,cz:-7105427357601002e-30,lx:23,lz:17,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rWrzivW4afibFuZheu2ZqV",selected:!1},{type:"Tree",name:"Birch",cx:-23.798739662505156,cy:3.0810007914333255,cz:0,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rd1CFzdzbUa21QJwgHv8cP",selected:!1},{type:"Cuboid",cx:-.09692665761748831,cy:-.09694518863336476,cz:10.01793918410506,lx:36.06261166884342,ly:21.672025065737824,lz:18.410192174768163,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["Facade #10","Facade #10","Facade #10","Facade #10","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"aj9AkMLHmiC7fiuGVPs4H7",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-12.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"oHeGQDazJuZsZxKRzGGPDD",selected:!1},{type:"Flower",name:"Hydrangea",cx:-10.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"n7tcVJNYuVeGnjeGQXZtpb",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-8.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jY9Y4Lm3QMDVY6ThY32QL6",selected:!1},{type:"Flower",name:"Hydrangea",cx:-6.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"ijsBYLU6Xgn2UahtDbM3ax",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-4.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"aMGVaSDxGidE4hAekjvzp1",selected:!1},{type:"Flower",name:"Hydrangea",cx:-2.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jNS7CLQtTgERjMBryrJy3f",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"m5iTV6jNY7ctTerZ1zT3mN",selected:!1},{type:"Flower",name:"Hydrangea",cx:1.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"obmBrYQNng1HztDQMhFTdF",selected:!1},{type:"Flower",name:"Yellow Flower",cx:3.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"bX5gWjKNUmXEpNE3CSVo5i",selected:!1},{type:"Flower",name:"Hydrangea",cx:5.118917554177431,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"e1T6XS94X1vuZYnmBeSzv3",selected:!1},{type:"Tree",name:"Birch",cx:-23.930414200652432,cy:-2.885662218323219,cz:8881784197001252e-31,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"jDrfaAvoEqu7y5suMRTWYc",selected:!1}],ayn={shadowEnabled:!0,showYearlyLightSensorPanel:!1,showStickyNotePanel:!1,mapTilt:0,showSiteInfoPanel:!0,showHeliodonPanel:!1,stickyNotePanelX:6,groundColor:"forestgreen",showWeatherPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-1235,weatherPanelX:0,groundImage:!1,autoRotate:!1,axes:!0,weatherPanelY:0,groundPanelX:0,theme:"Forest",mapWeatherStations:!1,mapType:"roadmap",yearlyLightSensorPanelY:70,mapZoom:16,stickyNotePanelY:0,showGroundPanel:!1,heliodonPanelY:7,yearlyLightSensorPanelX:-905,dailyLightSensorPanelY:15,heliodon:!1,dailyLightSensorPanelX:-19,groundPanelY:0,showMapPanel:!1,cameraPosition:[-16.291066490441285,-43.009068926241156,5.496187293258948],panCenter:[2.1268141574348576,-9.161736732265924,5.496187293258948],orthographic:!1,enableRotate:!0,cameraZoom:12.604988194492185,showInstructionPanel:!0,cameraPosition2D:[4.203619393633803,-8.791827721460434,49.9999912078788],panCenter2D:[4.203619393633803,-8.791777719248431,16660811664248792e-22]},lyn=1,syn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},cyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},uyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},dyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},fyn=[""],hyn={docid:Qmn,time:Zmn,timestamp:eyn,userid:tyn,owner:nyn,email:oyn,world:iyn,elements:ryn,view:ayn,evolutionMethod:lyn,solarPanelArrayLayoutParams:syn,solarPanelArrayLayoutConstraints:cyn,evolutionaryAlgorithmState:uyn,economicsParams:dyn,notes:fyn},pyn="i1UYg29b6kEuhDLMCMNpP5",gyn="11/13/2022 07:17 pm",myn=1668385042826,yyn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ayn=null,wyn=null,vyn={longitude:-71.0588801,timesPerHour:20,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},name:"default",orthographic:!1,date:"6/22/2022 2:00:00 PM",latitude:42.3600825,address:"Boston, MA, USA",cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},xyn=[{selected:!1,cz:8.856282232714092,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],ly:33.93664889246779,rotation:[0,0,-.0032691065367469463],parentId:"Ground",color:"#ffffff",locked:!0,textureTypes:["Facade #6","Facade #6","Facade #6","Facade #6","No Facade Texture","No Facade Texture"],normal:[0,0,1],lx:13.425069388064955,cx:-6.488470028429835,lz:17.712564465428184,type:"Cuboid",cy:.019620316414646233,id:"aj9AkMLHmiC7fiuGVPs4H7"},{ly:21.367362944163304,parentId:"Ground",textureType:"Foundation Texture #5",id:"nkyNmQGMpysyBAzvoXacg4",normal:[0,0,1],cz:.15,cy:-.6842314918166474,rotation:[0,0,0],locked:!0,selected:!1,cx:7.741690731109698,lx:8.748703583308991,type:"Foundation",lz:.3},{cz:.10000000074505806,normal:[0,1,0],cx:8.66688372110198,cy:-13.746548548931791,type:"Human",parentId:"Ground",rotation:[0,0,0],id:"4Vzhap6VgrCQ5NTbMiLqko",name:"Jacqueline",selected:!1,lx:.43,ly:.6,lz:1.78},{lz:18,id:"68fHvB4gguggDahyWhJ4SX",rotation:[0,0,0],locked:!0,parentId:"Ground",type:"Tree",normal:[0,1,0],lx:20,cz:.10000000074505806,cx:13.623011710923919,selected:!1,name:"Oak",cy:12.95292752972638},{textureType:"Foundation Texture #1",rotation:[0,0,0],normal:[0,0,1],id:"mB2npz1re5TLiTmp6dijK4",selected:!1,cz:.25,parentId:"Ground",lz:.5,cy:-.6991379361374314,locked:!0,lx:.5880095062712664,type:"Foundation",ly:22.361419422277052,cx:12.378216846473736},{textureType:"Foundation Texture #1",lz:.5,lx:8.699592487769063,cx:7.739060103053577,normal:[0,0,1],id:"6VQra4naAQFjguzsdBbGzc",selected:!1,ly:.5266260617381799,locked:!0,cz:.25,rotation:[0,0,0],parentId:"Ground",cy:-11.625239464321695,type:"Foundation"},{cx:7.752694722563858,parentId:"Ground",cz:.25,lz:.5,normal:[0,0,1],id:"56rJdSeQkFjNtFMq7H6UpX",textureType:"Foundation Texture #1",lx:8.679570997286799,type:"Foundation",selected:!1,rotation:[0,0,0],cy:10.194687286684449,ly:.5386483210241274},{id:"eU9g8aGc26unxecmNefMbn",locked:!0,cx:3.0473373691290284,lz:.5,type:"Foundation",normal:[0,0,1],cz:.25,parentId:"Ground",selected:!1,rotation:[0,0,0],ly:22.40023737998388,lx:.7052822924117278,textureType:"Foundation Texture #1",cy:-.7141009093628288},{parentId:"Ground",type:"Human",normal:[0,1,0],selected:!1,cy:-13.302409805647457,name:"June",id:"sRkZkptRmoDxYpUWxicUE2",cx:10.066230625457528,cz:.10000000074505806,rotation:[0,0,0],lx:.65,ly:.65,lz:1.85},{type:"Human",id:"27tFcVkJUEjzAmNC6yi8q6",name:"Jedi",cy:-17.39224604987067,rotation:[0,0,0],parentId:"Ground",cx:11.172877256337918,cz:.10000000074505806,normal:[0,1,0],selected:!1,lx:.56,ly:.56,lz:1.75},{cx:14.572429350273456,cz:.10000000074505762,rotation:[0,0,0],cy:-12.024223980842134,selected:!1,normal:[0,1,0],name:"Jose",parentId:"Ground",type:"Human",id:"h7GsvzmZmQv6Lgxa5TK46V",lx:2,ly:2,lz:1.6},{lx:5,parentId:"Ground",id:"at3dF6SQoavQM2mWXfaQoH",cz:.10000000074505895,rotation:[0,0,0],cy:21.229675112263504,normal:[0,1,0],type:"Tree",cx:1.973403675763489,locked:!0,lz:12,name:"Pine",selected:!1},{textureType:"Foundation Texture #2",id:"6gVMaHq7VLa19eqMVECxpG",ly:52.39119915791477,cz:.05,selected:!1,cx:-.6875232985680384,parentId:"Ground",locked:!0,type:"Foundation",rotation:[0,0,0],cy:2.56875991707771,normal:[0,0,1],lz:.1,lx:37.85599614878349},{cx:7.643885747803793,selected:!1,locked:!0,id:"h8TwAvSyLwtPBvqze5mwzf",lz:9,type:"Tree",cy:-21.507259849637833,parentId:"Ground",rotation:[0,0,0],cz:.10000000074505762,name:"Maple",lx:7,normal:[0,1,0]},{parentId:"Ground",lx:6,locked:!0,type:"Tree",rotation:[0,0,0],normal:[0,0,1],cy:-20.556927102277076,lz:7,cz:.10000000074505762,id:"ujafmePw8rQZjxB8qy62oa",name:"Maple",selected:!1,cx:12.405622304747324},{selected:!1,parentId:"Ground",id:"ckD1BgrHEqvMdo9aEBaYXU",type:"Human",rotation:[0,0,0],normal:[0,1,0],cy:-14.554057740143271,name:"Jaya",cz:.10000000074505806,cx:5.006550016327088,lx:.6,ly:.6,lz:1.55},{rotation:[0,0,0],name:"Judd",cy:-15.073100073321267,cx:12.689715112185674,parentId:"Ground",type:"Human",cz:.1000000007450585,normal:[0,1,0],selected:!1,id:"npocC3zf2QhLeKj6LeXJvL",lx:.544,ly:.544,lz:1.68},{cy:.5804724345884147,rotation:[0,0,0],lz:19.49711020919501,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:9.748555104597505,color:"gray",cx:-2.205872934036133,locked:!0,ly:.8534746756143718,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",lx:.828070336814001,id:"gdcpJkZkVZXJHaDmRtpFtw",selected:!1},{normal:[0,0,1],cz:10.253341514775366,color:"gray",parentId:"Ground",lz:20.506683029550732,type:"Cuboid",selected:!1,id:"wJkGWJoWEXDPm4p9rWMB3a",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,0],ly:.8534746756143718,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-2.105385998729491,lx:.828070336814001,cy:2.869274580105114,locked:!0},{ly:34.489830484403164,cx:-6.481696563939499,type:"Foundation",parentId:"Ground",lz:.3,cz:.15,rotation:[0,0,0],id:"38Wmw6REgfAAEs5HtLXUmy",selected:!1,normal:[0,0,1],cy:.05822819825317893,locked:!0,color:"#666666",lx:13.764674737343674},{relativeAzimuth:0,tiltAngle:.42308540045443915,poleSpacing:3,cx:.39547991802521515,cz:.5000000074505806,lz:.046,id:"2BhUXhGXtbxsUZ6RL3rXMW",trackerType:"None",orientation:"Portrait",pvModelName:"SPR-X21-335-BLK",showLabel:!1,lx:1.046,type:"Solar Panel",foundationId:"6gVMaHq7VLa19eqMVECxpG",poleHeight:2.6,cy:.0004767391535806561,normal:[0,0,1],selected:!1,ly:1.558,drawSunBeam:!1,rotation:[0,0,0],poleRadius:.05,parentId:"6gVMaHq7VLa19eqMVECxpG"},{type:"Flower",name:"Boxwood",cx:14.589782607955689,cy:-5.22248370768526,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"6LyjhRYrjyMM94sWFxmsqL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.487482209296324,cy:-7.284306500015294,cz:.05000000074505628,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cAUoEVfsJryF5CiN2bA6FF",selected:!1},{type:"Flower",name:"Boxwood",cx:14.656720218433037,cy:-3.0619235461512933,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"14ZankHi6YjP8eUwRAzc99",selected:!1},{type:"Flower",name:"Boxwood",cx:14.649968347802723,cy:-.5953981727630122,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cKDzu7CNMKytpxg8x9M4vH",selected:!1},{type:"Flower",name:"Boxwood",cx:14.465946083296767,cy:2.3705809858943816,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2nJegakb4Q3dsnpjrnazGL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.535486123826292,cy:5.258763702004629,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"puhTw5YZiZX1mZayPv7eKr",selected:!1},{type:"Flower",name:"Boxwood",cx:14.562074464646393,cy:-9.421018376024211,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"3aFBjoFzTN38LjxnNVca94",selected:!1},{type:"Flower",name:"Boxwood",cx:14.48848671206672,cy:-11.828589152852121,cz:.050000000745059836,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ksddQtWpUymEExWqGah9pg",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.602082126220235,cy:-10.642654606813768,cz:.05000000074505628,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ftch5sGAxD2dLW85VDsCvD",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.574840162280765,cy:-13.130340588937553,cz:.05000000074506161,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"oVgmk99C2S2KZF2CFR1hGP",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.575588404543318,cy:-8.21343708444617,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"9uo3Ts1QDRhb3aomxt4V2f",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.557819941105063,cy:-6.106389769612514,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"agCMuQbpTFk2RqkwtebyV4",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.556683398866188,cy:-4.0576139533384525,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aFUE71bDFA2LjkNkJFEuii",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.64239387314273,cy:-1.7994645182621838,cz:.050000000745059836,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4Z9VuhUNw8DYwRbkqYhoHB",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.529383383564124,cy:.8679517875801537,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"nf7V66G4i2YFWuJXZENckj",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.581939017157946,cy:3.902214931587771,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"kKWrifvQ6fGtZhJmgPvL5X",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.45704330414372,cy:6.704146476013747,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aL2Uhpp8HT6eUfWcMrtxWr",selected:!1},{type:"Flower",name:"Tall Bush",cx:-8.820527407137332,cy:-21.01555787918438,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"czSxXH8n5KnbYhnZp9414E",selected:!1},{type:"Flower",name:"Tall Bush",cx:-5.64492924344334,cy:-20.928730058607652,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"12s9PdvNM6rnixcYtcjVJm",selected:!1},{type:"Flower",name:"Tall Bush",cx:-2.4233695148043557,cy:-21.043064672162302,cz:.05000000074506161,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"fnbqxsK1LLgKaQxJEJtzGY",selected:!1},{type:"Flower",name:"Tall Bush",cx:.44859084832241436,cy:-21.025210125432253,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"5HDDx2HYGe5rU4vkYUjLkn",selected:!1},{type:"Flower",name:"Tall Bush",cx:-11.802690551407991,cy:-21.134263522232033,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ii2AHuBu7eNYp9zExhjpBk",selected:!1},{type:"Flower",name:"Hosta",cx:13.888302021073589,cy:-23.07433161468632,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ry52Vu3ZtWa5Z5S4Cv3Fns",selected:!1},{type:"Flower",name:"Hosta",cx:13.000536079398454,cy:-23.90262067298287,cz:.05000000074505895,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2KvsyZDeNBQ15oEbTBWXTQ",selected:!1},{type:"Flower",name:"Hosta",cx:12.99992231969237,cy:-22.436277503833722,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"sBdHaZQt67kBAXxPrttrkC",selected:!1},{type:"Flower",name:"Hosta",cx:7.96155182885969,cy:-24.919269939427444,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"rErTYG7fvCUCgbP8phnFpb",selected:!1},{type:"Flower",name:"Hosta",cx:8.302339884724876,cy:-23.511029051299055,cz:.05000000074506161,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"qREs5pGeMh2bn8266bra52",selected:!1},{type:"Flower",name:"Hosta",cx:12.046100627532674,cy:-23.058422241294327,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cFutgv9ep2vsCmwtcQ32FT",selected:!1},{type:"Flower",name:"Hosta",cx:7.459817492896914,cy:-23.89304923816075,cz:.050000000745059836,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"meCdn2mUx41JAdUmabe62e",selected:!1},{type:"Flower",name:"Hosta",cx:8.773287043648144,cy:-24.33842489149061,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"1zHSSdp6WfVgSDgmVd5A2g",selected:!1},{type:"Flower",name:"Peony",cx:15.825630097786828,cy:-25.16699394950085,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"xi2HuxsfZQnvPjTKPQxrbF",selected:!1},{type:"Flower",name:"Peony",cx:16.48091229260942,cy:-24.316745367707185,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2Ake4uxrZPD3VybPtfduv3",selected:!1},{type:"Flower",name:"Peony",cx:16.886960727664686,cy:-25.34224361063938,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4obU3fsBjpjfoLx69cK5C6",selected:!1}],byn={heliodonPanelY:7,heliodon:!1,stickyNotePanelX:6,showHeliodonPanel:!1,yearlyLightSensorPanelX:-905,enableRotate:!0,dailyLightSensorPanelY:15,mapZoom:16,weatherPanelY:0,cameraZoom:15.47561875,groundPanelX:0,showSiteInfoPanel:!0,showYearlyPvYieldPanel:!1,stickyNotePanelY:0,yearlyLightSensorPanelY:70,showYearlyLightSensorPanel:!1,axes:!0,orthographic:!1,showWeatherPanel:!1,cameraPosition:[31.71971744843037,-16.83871990124489,7.439938736584827],mapTilt:0,showMapPanel:!1,autoRotate:!1,groundPanelY:0,mapWeatherStations:!1,showGroundPanel:!1,groundColor:"forestgreen",panCenter:[-1.577685546422091,.586908253253759,7.439938736584823],showInstructionPanel:!0,heliodonPanelX:-1235,dailyLightSensorPanelX:-19,shadowEnabled:!0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,groundImage:!1,mapType:"roadmap",showDailyLightSensorPanel:!1,theme:"Forest",weatherPanelX:0,cameraPosition2D:[.8790434579553117,3.516123829597026,50.00000351630349],panCenter2D:[.8790434579553117,3.5161738318194917,35163301233325335e-22]},Syn=1,Tyn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Pyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Cyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ryn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Hyn=[""],Myn={docid:pyn,time:gyn,timestamp:myn,userid:yyn,owner:Ayn,email:wyn,world:vyn,elements:xyn,view:byn,evolutionMethod:Syn,solarPanelArrayLayoutParams:Tyn,solarPanelArrayLayoutConstraints:Pyn,evolutionaryAlgorithmState:Cyn,economicsParams:Ryn,notes:Hyn},Iyn="pxi9S4wGaGxiW2Q28M7prc",zyn="06/18/2023 07:07 pm",Dyn=1687129633099,Eyn="QWecNcxhyvP6j6sBN11hBsfZDau1",kyn=null,Fyn=null,Lyn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},Wyn=[{type:"Wall",cx:-.5738138595304036,cy:4.010364625861682,cz:2.2408122612280286,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[8.434062360302951,4.010364625861682,.1],rightPoint:[-9.581690079363758,4.010364625861682,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.633496307266332,rightUnfilledHeight:4.633496307266332,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:8.434062360302947,cy:.16844568443230257,cz:2.2301039869226305,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[8.434062360302942,-3.673473256997076,.1],rightPoint:[8.434062360302951,4.010364625861682,.1],relativeAngle:1.5707963267948957,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.81107858935271,rightUnfilledHeight:4.81107858935271,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-9.581690079363758,cy:.16844568443230257,cz:2.228839888904333,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-9.581690079363758,4.010364625861682,.1],rightPoint:[-9.581690079363758,-3.673473256997076,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.538993236656353,rightUnfilledHeight:4.538993236656353,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.5738138595304036,cy:-3.673473256997076,cz:2.268765007024547,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-9.581690079363758,-3.673473256997076,.1],rightPoint:[8.434062360302951,-3.673473256997076,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:1.328107295365207,cy:-2.32341538525935,cz:.05,lx:20.16561856842383,ly:11.725607943394946,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!0},{type:"Wall",cx:.31845175389180724,cy:5.51114190784781,cz:2.2408122612280286,lx:18.813654239419552,ly:.3,lz:4.56796601625556,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[9.725278873601583,5.51114190784781,0],rightPoint:[-9.088375365817969,5.51114190784781,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:9.725278873601583,cy:-.00976103700472608,cz:2.2301039869226305,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[9.72527887360158,-5.530663981857262,0],rightPoint:[9.725278873601587,5.51114190784781,0],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:-9.088375365817967,cy:-.00976103700472608,cz:2.228839888904333,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-9.088375365817964,5.51114190784781,0],rightPoint:[-9.088375365817969,-5.530663981857262,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:.318451753891809,cy:-5.530663981857262,cz:2.268765007024547,lx:18.813654239419556,ly:.3,lz:4.56796601625556,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-9.088375365817969,-5.530663981857262,0],rightPoint:[9.725278873601587,-5.530663981857262,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Foundation",cx:.4107313024346143,cy:-1.9585431776860986,cz:.06,lx:24.334060214728257,ly:12.759991395526452,lz:.1370389804876668,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!0,enableGroupMaster:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:.3478700995805717,ceiling:!1,locked:!0},{type:"Door",cx:-.13288221247108084,cy:0,cz:-.14054209286568672,lx:.2126115399537293,ly:0,lz:.7189158142686265,doorType:"Arched",archHeight:1.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1,locked:!0},{type:"Door",cx:.10630576997686465,cy:0,cz:-.14054209286568672,lx:.21261153995372933,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.429004247968055,normal:[0,1,0],rotation:[0,0,0],id:"thTY63emBWLui9mLZFtB5x",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:-.3587819736719182,cy:0,cz:-.14054209286568672,lx:.18603509745951316,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5,normal:[0,0,1],rotation:[0,0,0],id:"r7aX4f3HRkVXuNQaRxbPi1",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:.3454937524248102,cy:0,cz:-.14054209286568672,lx:.21261153995372936,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5000000000000002,normal:[0,1,0],rotation:[0,0,0],id:"h7dwAP8dsZbfjhXMRt294q",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Window",cx:-.34549375242481023,cy:.1,cz:0,lx:.05315288498843229,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.13288221247108084,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.13288221247108084,cy:.3,cz:0,lx:.05315288498843232,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Door",cx:-.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,doorType:"Default",archHeight:1,textureType:"Door Texture #1",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"ecLTLgAm2MxZyZRCJTtQKo",filled:!0,locked:!0},{type:"Door",cx:-.15264419341959357,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bEeuNKM57K5x42NhRniwi6",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.12489070370694019,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qEKCQ7EzsMMEDG8bv8fsum",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"8wkxpiMCThpy9pWENNkhKk",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Window",cx:-.3746721111208206,cy:.1,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"9Wg9qQLxZfpvdDjZ2VpjsU",locked:!0},{type:"Window",cx:-.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rj3NsBy5xBcFQpgf9yTyXN",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdSr1YZAyCNR6oUkaHZMAg",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3746721111208206,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"asxeUzs2NaJ78jjx63TyyC",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["hndwqtrrygFvfqvBJrvZYu"],textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cgHKR8ai6snf9XinDUWwjd",leftRidgeLength:4.503938109916677,rightRidgeLength:4.503938109916677,rise:2.5896529887286306,ceiling:!1,locked:!0},{type:"Human",name:"Jeanette",cx:.8591126899329264,cy:-9.396182210960866,cz:0,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"85Scr5g8mYtCpbKgKe9vrB",selected:!1,flip:!0,ly:.4,locked:!0},{type:"Human",name:"Jacob",cx:-.10555204032261312,cy:-9.416124087799197,cz:0,lx:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"3vrVERckAPTLoMt9TNeS2S",selected:!1,ly:.8,locked:!0},{type:"Window",cx:.34549375242481023,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"cspu4NZcKs2zheso8YnaAG",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3607953662644939,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"vDt9VGvnvU9vePAfrLQMYJ",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16652093827592027,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hYQQWiCSxQgqR2XiFwQcHB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1387674485632669,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hgcEVbECbXF3rdyRi8jL7y",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3885488559771473,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ih1JWVrGZLFL47MHERTzyn",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uACfjsfx3oFuHFL2K4wn6s",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"jUW859PMX9WssNh7ajd7bW",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26028659512216357,cy:.1,cz:.2777777777777779,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9GK118ZSrqGs81r2c9DmJ9",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.26028659512216357,cy:.3,cz:.2777777777777777,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qMSMFHr6W7JY5LW4w6QRRk",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-13.833956304562825,cy:-5.734368757546395,cz:0,lx:10.296431730851847,lz:14.247937869417774,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"dhdL6enwuq52BCva98npwA",selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-16.03648257210165,cy:-7.577405253611644,cz:-8881784197001252e-31,lx:6.4568591564721105,lz:8.433084547651115,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oX2XaCFnUgccQdVNREDqjW",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:15.143629921921018,cy:-10.9460234939345,cz:0,lx:5.636076310522914,lz:7.988346597759666,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gbweDZRVxLwqky2axf7Y8q",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:14.372021459439786,cy:-8.787207002242742,cz:0,lx:6.791895714508713,lz:10.21869909939493,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sf29WMk4BaTsfLzkZNmVzH",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:2.428817756541367,cy:-10.484144416604128,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9DZLwc5PTpq9K9kFVPWuDb",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.9808700560460073,cy:-10.456723771199588,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tbLKA9nAkR1p2Y51NnR7Hz",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-6.50706138180835,cy:-10.311129925272937,cz:-8881784197001252e-31,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mwwbjydsGANpRKQR1fPW3q",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:6.571598639052613,cy:-10.492326870561346,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c8AcvQkEYah3BNHFPjZ6U4",selected:!1,locked:!0},{type:"Polygon",cx:.039567390445074416,cy:-.26884665270178654,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.18603509745951316,y:-.4378316285372531},{x:-.18603509745951316,y:-.21891581426862655},{x:.23918798244794548,y:-.21891581426862655},{x:.2395673904450744,y:-.46884665270178655}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:0,id:"jaEQvTPeDh2m31LB8RsyFG",text:"SPANISH TAVERN",fontSize:.7,fontColor:"gold",fontOutlineColor:"red",fontOutlineWidth:.05,noOutline:!0,opacity:0}],Nyn=24,Uyn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.12159863905262133,-1.1671768638939548,-12172309664404964e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.12159863905262133,-1.1673268705613518,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.450909722303011,-23.613178769130574,4.500139724117738],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:20.00000000000001,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[1.616638405874658,1.2781230776372128,4.313092868911078],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},Byn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},jyn=1,Yyn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Oyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},_yn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Vyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Gyn="Unknown",Xyn=null,Jyn=null,Kyn=null,qyn=[],$yn={docid:Iyn,time:zyn,timestamp:Dyn,userid:Eyn,owner:kyn,email:Fyn,world:Lyn,elements:Wyn,sceneRadius:Nyn,view:Uyn,graphState:Byn,evolutionMethod:jyn,solarPanelArrayLayoutParams:Yyn,solarPanelArrayLayoutConstraints:Oyn,evolutionaryAlgorithmState:_yn,economicsParams:Vyn,modelType:Gyn,modelAuthor:Xyn,modelLabel:Jyn,modelDescription:Kyn,notes:qyn},Qyn="8zyJg4GHQPZX9C7UX4st8J",Zyn="03/18/2023 08:26 pm",e2n=1679185608583,t2n="QWecNcxhyvP6j6sBN11hBsfZDau1",n2n=null,o2n=null,i2n={solarRadiationHeatmapGridCellSize:1,date:"12/22/2022, 8:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Honolulu, HI, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:21.3098845,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-157.8581401},r2n=[{ly:16.927339965869773,solarUpdraftTower:{},parentId:"Ground",cx:-10.030961003153333,id:"m7AH7DcnoGzAq9kryBy4RS",cy:25.06053757796986,type:"Foundation",solarPowerTower:{},lx:36.13676163604105,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,-.7727629180414017],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:25.078696453594382,relativeAngle:3.141592653589793,lz:30,roofId:"1rg4qXk51s2D35ph8XqwbD",ly:.1,rightPoint:[-7.080024662598481,7.041260263727929,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",leftPoint:[17.998671790995903,7.041260263727929,0],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.459323564198711,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:7.041260263727929,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:17.998671790995893,leftPoint:[17.99867179099588,-4.904184303905874,0],cy:1.0685379799110275,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[17.998671790995903,7.041260263727929,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:11.945444567633803,normal:[0,0,1],lz:30,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,-.7727629180414017],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",roofId:"1rg4qXk51s2D35ph8XqwbD",color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{lx:11.945444567633803,windows:[],lz:30,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"1rg4qXk51s2D35ph8XqwbD",selected:!1,cy:1.0685379799110275,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-7.080024662598481,7.041260263727929,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.1,cx:-7.080024662598481,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{showLabel:!1,cx:5.459323564198711,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[17.998671790995903,-4.904184303905874,0],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.904184303905874,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"1rg4qXk51s2D35ph8XqwbD",leftPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],ly:.1,lz:30,relativeAngle:0,rotation:[0,0,-.7727629180414017],lx:25.078696453594382,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:7.840470874398735,cy:5.490428888324286,cz:2.2408122612280286,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[16.217972334316947,5.490428888324284,.1],rightPoint:[-.5370305855194735,5.490428888324285,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:16.217972334316944,cy:-4.464643680942036,cz:19.195539088325102,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[16.21797233431694,-14.41971625020836,.1],rightPoint:[16.217972334316947,5.490428888324284,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.3867375122795052,cy:.1,cz:.10625,lx:.22099286415971733,ly:.3,lz:.7125,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.44375,lx:.47714368398120766,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.44375,lx:.10045130189078055,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.537030585519473,cy:-4.46464368094204,cz:2.228839888904333,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-.5370305855194735,5.490428888324285,.1],rightPoint:[-.5370305855194752,-14.419716250208367,.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:7.840470874398735,cy:-14.419716250208364,cz:11.720703078908016,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-.5370305855194752,-14.419716250208367,.1],rightPoint:[16.21797233431694,-14.41971625020836,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.44375,lx:.4774693289088429,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.44375,lx:.11936733222721073,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.36813175214922683,cy:.1,cz:.10500000000000001,lx:.24254861996467425,ly:.3,lz:.7150000000000001,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:22.405208091244,cy:-4.9072672102145285,cz:.07500000298023225,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:9.883909213954574,cy:18.92966595365953,cz:.075,lx:78.43901005555475,ly:71.09926407060658,lz:.15,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["q3QyrcfYtaEUJUy3dDMe3o","vZvx6xJpNjwVutXgBYTqDu","aJzBKycDgPV2XFyreGUWbN","ajX6DE1iwh52m5aYDEnUZw"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"gvRT2kUN1YoGCZrBAosc54",locked:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.3,lz:.04999999999999994,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hXDYrzLkVvDyB5XjtNmnpF",locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.36875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rG1B3YDka8evv1iRX84o9o",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.2937500000000002,lx:.4774693289088429,ly:.1,lz:.037499999999999645,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3UNoma1dXsmygDK7CEMoeK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.21875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sd3EQKPdzkdU4oHrJHF6z6",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.14375,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tdS8P8P3u1nFnMkc5rhziK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.06875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fot8pwtoi6ibSjPGupS1qv",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.00625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6EhGwMTuUYnqbTApuPextU",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.08125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mQ1vMy6wk1K8zQ4XW25Pa4",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.15625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xeQKnySzuUrMzG5a16tLkb",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.23125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XDU9fVCRxTJLcDoUD9Lh9",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["8XDG3EHsQoX26MhuzwMYUM","2u4Fe7xnA6kkXXVGrQ4eyJ","skm8dNPSkFaVkoUwiPNfq1","cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1rg4qXk51s2D35ph8XqwbD",sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"veFj2RPH9FK5Ao9iDG2JPQ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sjoT9VNZjDkgezWwtsvX1H",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c3CrejqQvGUvB3tz2qUtSs",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"54CDd5MyTY1sZku1AxjXiV",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bnfcGzXENjbkzh9kkmgCt1",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hLoimJgy8UQ7UMWdnPWQDr",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7HFCb3ZQu4czKjDhFmnHch",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qWx6AJBVMGYPJ4Ho1LMQem",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9CtXe67uSkntiJK3PdfzmF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jmVdqwU3fqhEGk97aQXYEX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wdnnALggwiP7UHfVhF7SWW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9qSb4G4eXKMLNk6b2Mnxjd",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fbXTujX2nC1dnrTNLQQaH2",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kPmU38jjwSfUUZCv9WNCNC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"miYw9uqZnfLViAeihqKiQU",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mdv9UVbG7EBitFdaYUkjsg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urvoEGE7cTq18MHrjMtEta",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aG4F7poaBiKo4FnvkesMid",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dpGTcBMRjsfms2X9nZ4kXB",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"r72et61W5MhwpaYEF75Lh8",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kfBYaXYAWc8NFLir41LMUf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sZ9pExZ3wnnmg8ersouQqR",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hsgq2SXxdCMQRiXuigpEnf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4cJ8Pgng6fBXRTX8WcXQVg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bsGPA2UqEVe6SNCXBuagSF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qoRwFevwZ3YYSnDdJLoDqH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4WEcGq6tGKDXcjGfvF3Tqi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ofgYdgnyE5KuECDZGdmjFD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHYCjB2xdehwowhrgYcS5c",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3Q2Wqp4rsyN89CVgnpPKCM",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oVMnTwRZ8JUb44CXEkjBYL",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"awSE1XUqEZc7Ryyr6ZQ76Y",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rVMR7tb7kXRnjoKHu2uyrZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ktvktsYRNrNC4YQGJQ65Vk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDgZnRfoyVP2YKQSiG96yP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rZqeq8wo58QSrFmB3rpFBD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kQER8EGDmLkbzKEnbH9AdE",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHvp5WhRnmKrP1SER1BBPx",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aZrgq675xDvSLbDtUdwQsY",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jKtw1tdxJxcJphjEsWRmNW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jgu4jSQaAhhuBZyZoH81Vw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gL3MbkYAkwWqHwKNVFfvjX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"43vK33D69FP5XTqiRyn5ZC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5CKwKV9BkacegVoEPzvmNN",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6dszW4NvJ7dea2hEqvWvWt",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5wUE7YuTr5FaL5BKb5taCi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gUSBkoburdStT335zZGKSH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qaz6Ru4mqUG7iJ4Ycd7F9n",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aC9jXjoijXwkzJe9GEmTWi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"w4NVxvubCEgR8AigUi47sf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c2FMW9zjWRExPvuVGBX4HW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"66P3KrsZHSZo36fXBYj8qX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kNFB5Lqn3mkhGj4vWLcpup",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"egzr7tMm23v6EusXDcg5hk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fg88qYi3xQqiUry3XoMG94",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.36875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tfzr5KT4W9PhBL9cJ8zsaA",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.29375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"i6H6Xevamb9d4oXjeQCCVQ",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.21875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XFRaVZReMkHmTkTRTsRuW",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.14375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"57X6pPozmTcJNsHjWMZ2XK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.06875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8bZz4FqqQe2bdV4WSMC6jm",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39520439262152746,cy:.1,cz:-.006462001517518967,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFyWDsDvxmZLpfKAZSAYx5",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.08125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEb8cJ6YhMAb9KuP8VjgKP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.15625,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vWo8aVFrScBkGwhkRkYbFw",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.23125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ukpSgR2RV34eo2XfZVmUQx",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.36875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"12QeRFNV1Hc4sRbkxeVHBz",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.29375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEhEPB9abuMwcNR6YEDDzo",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.21875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bahcDPtF8RkBJeqyW4uoBW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.14375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"j8CVLpwpSN8q6CwaZNU8f2",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.06875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xaiGSGs8MoAP2yqunEFz1t",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.00625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2mWxcnyFJtKcRwpimCotCD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.08125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7fehkUWZ89tU27wVPAaQiD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.15625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cLjpkvrCHbUZQvi2ugMz7m",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.23125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"775gLWKQ2CDxL24uAyMuJh",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.36875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sG6LtKnafZHdzPAsvV8PYJ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.29375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3JLF3stSYMjoSYPebvZ4PV",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.21875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs4CReuowYw4vhbQaajr1c",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.14375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7q37MBnhP8o81q6wk5b4ev",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.06875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fYYQri43bTWAWzKm8CTjgx",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.00625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vVphvZY7TyNxocgdqGbqJG",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.08125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1x6vFAj3oANsndJiQWQqch",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.15625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"amqZLKSwPYeveasoE38xPf",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.23125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8pqGLYqiyyd3o5U4oTyKWQ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.6029509196285296,cy:4.363723699614781,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["buJzWWqdvseWMEsfiYMLMP"],rightJoints:["8SHv6CAA9xkRcfdve2aKJD"],leftPoint:[18.815291063862595,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"pbHN78JfkaYPi761T2RspW",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:18.815291063862578,cy:2.495382831879124,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["cthH5Q4t9AqYehpe6ssXrf"],rightJoints:["pbHN78JfkaYPi761T2RspW"],leftPoint:[18.815291063862563,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,4.363723699614781,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"buJzWWqdvseWMEsfiYMLMP",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-20.021192903119655,cy:2.495382831879124,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["pbHN78JfkaYPi761T2RspW"],rightJoints:["cthH5Q4t9AqYehpe6ssXrf"],leftPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,.627041964143467,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"8SHv6CAA9xkRcfdve2aKJD",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-.6029509196285296,cy:.627041964143467,cz:2.268765007024547,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["8SHv6CAA9xkRcfdve2aKJD"],rightJoints:["buJzWWqdvseWMEsfiYMLMP"],leftPoint:[-20.021192903119655,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,.627041964143467,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"cthH5Q4t9AqYehpe6ssXrf",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{id:"pHTF23CfLXLueNE1tagt35",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["buJzWWqdvseWMEsfiYMLMP","pbHN78JfkaYPi761T2RspW","8SHv6CAA9xkRcfdve2aKJD","cthH5Q4t9AqYehpe6ssXrf"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:-2.457987770512858,cy:8.5745044622651,cz:.05,lx:43.13213840818644,ly:9.617341850294016,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qxAJALKsgHR99QXiiey2Jy",selected:!1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.5021051858499441,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"wvo4rWSpdYajq7orMpbxwv",windowType:"Default",archHeight:1},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"7yzuNTr1nHZ9M3xoVT6avS",windowType:"Default",archHeight:1},{type:"Window",cx:-.4570444640428979,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5QTwW8m9wGX6HGnbLPxKyJ",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39910925029098127,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs42cyfWo4jmy3NRKUXRUF",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3411740365390646,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xwaNrD73kLoXPJvKgQmEMf",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2832388227871479,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5fsUwbpNYhCT9veH1pJuBb",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.22530360903523122,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"67uFrhX3jmZgG5Uwx5UZkn",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.16736839528331454,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9c8dBuEjRjp1p1S8dhEcnt",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-1.4056682810734662,cy:6.875194394376913,cz:2.2408122612280286,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["dzHmrowq7VzT13tXyJ2UqF"],rightJoints:["pHKTjESURrdXxEMpYFEvmj"],leftPoint:[11.133679945723728,6.875194394376912,.1],rightPoint:[-13.945016507870662,6.875194394376912,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sVQKrHhSTfNeVTVVzVgh8h",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:11.13367994572371,cy:.9024721105600149,cz:2.2301039869226305,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["knjx4z8fKUVQF38Tr2D5YR"],rightJoints:["sVQKrHhSTfNeVTVVzVgh8h"],leftPoint:[11.1336799457237,-5.070250173256886,.1],rightPoint:[11.133679945723728,6.875194394376912,.1],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"dzHmrowq7VzT13tXyJ2UqF",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.945016507870664,cy:.9024721105600122,cz:2.228839888904333,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["sVQKrHhSTfNeVTVVzVgh8h"],rightJoints:["knjx4z8fKUVQF38Tr2D5YR"],leftPoint:[-13.945016507870662,6.875194394376912,.1],rightPoint:[-13.945016507870662,-5.070250173256887,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"pHKTjESURrdXxEMpYFEvmj",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4056682810734649,cy:-5.0702501732568885,cz:2.268765007024547,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["pHKTjESURrdXxEMpYFEvmj"],rightJoints:["dzHmrowq7VzT13tXyJ2UqF"],leftPoint:[-13.945016507870662,-5.070250173256887,.1],rightPoint:[11.13367994572373,-5.070250173256887,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"knjx4z8fKUVQF38Tr2D5YR",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uJ5VXB9mJCHeVMURUphT8T",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wnK1hkWv21nCd1Utptm2Ei",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pEvywZty9TJkaURwjtVySg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tWq4HyTuGAuAN6dd6GPS2N",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"24XsGn6puXsJxiC1CXzcBv",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pkcczmXvVUiEdpQApgmexY",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sa92opTQVGVahjcKdrQYNu",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75MHEhXJJecJXb1MEFATcp",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6nqrXQt9q6iMswTzGidgHb",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"b1foK7N1uzozAzTNBXGmZB",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nJJ7PvwzGmhWVcxY9bet36",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vj5w5TDBurYnrHfJcc9FLw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qYve9T714wdvYeg4ZURztj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u95CGNREXr1JhsDomK6oUP",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h31BtoerjLiQ4Ph2duYsTc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9dxvQwRi6mWsaWRPC67F9D",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rjRNUHYRmb3eWDV9hgNPgk",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9S42HWD1ZPYw28WUgncNJg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6z3whdKeQxDdJsZmhQ5kkh",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oJTfPHNAtBzrf2iJENqHK6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"31jBrsSiuVnoBUL9zp8ca6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4MbQ64c8HUZrvfYs3kgE6b",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8EW5KxGCVAJwrRFzn2isg8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pFyHWVuvzXQH1TQ1JhYRAx",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8AjjyhHzBJtzfxgCpuWX7d",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"s1sVDPm2cHt3fumjgcwoek",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wvpWMkzuKAKaviPUsqwQGa",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4inH8BAKWrcqZKNbaRb4ZX",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fsV7H7ZmN4jx2WUQX2f5zs",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"55E9hvsT1rzmJ6fT3m6NcG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uKLeQgpSELANVT2TRKNsAf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nY9NDsN8rJhMi99gzYKtWJ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5uo11zCRNj9YohSCdvoz6U",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1Kr3EHJrBneewC46BaE2Ph",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ov5R5oyJBGiQGjspTURXyd",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jaeqZUoGssJAoAxW2E91xj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dYrh6yCuHp4rN3uYNhLJPq",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eJmoE9srUeuBcYJBZHqYQ6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wniuB8XsQisBLpGGqQxkBF",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"o4XtWQqdKQ78Q8CKjzjKHW",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7s5FfAfve61p7zKukxPALw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8gF1BVyyyBHomFZH7wzdah",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"e8uDpgzMYfsmnhjaNLhBhr",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fzA8v8aP7HzsfsJ5jvVku9",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gPBz88neav7bwpPYBatUzf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bLjvQy84YUL9NshZ2ECHsZ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wy5NXYh5x3qLXD7T41WQtG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urCTjPq8RemHnQPB5atkfH",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ijGpbm5vZNXcurEfDWRTEi",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFaxtGtjGoAmXwz4kcD2mV",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eNkrUnU9y5cm2pN62nhxuL",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5xow2hbgFrKWpxhPpsF2oG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ittnJX2spdpmthzEKvTSta",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4grVoSbeCwgTF2pxNsMb8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cSY4kfnQdndkFPFy82Fgbc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXgqNm5fVVjFB6dfyXDq3i",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"njRXPjHAzFuEQzFQaKio93",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["dzHmrowq7VzT13tXyJ2UqF","sVQKrHhSTfNeVTVVzVgh8h","pHKTjESURrdXxEMpYFEvmj","knjx4z8fKUVQF38Tr2D5YR"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:31.408586983997502,cy:25.06147299717385,cz:.05,lx:29.014724156297994,ly:16.595208227167745,lz:.1,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bPEF7Uhqc8jpoTSmhKDVeo",selected:!1},{type:"Wall",cx:-2.172089616054159,cy:4.269527680689553,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["sR2ork3jG2mR5nZkK6KFeD"],rightJoints:["wRcqTTshgLb8rN6th4Gpqm"],leftPoint:[17.246152367436963,4.269527680689554,.02095211693261273],rightPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"k9HzM68Yarpc7nfmHcL8RX",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:17.24615236743695,cy:2.4011868129538962,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["3VZZxMzA1BHxrWmzs6HKLa"],rightJoints:["k9HzM68Yarpc7nfmHcL8RX"],leftPoint:[17.246152367436935,.532845945218239,.02095211693261273],rightPoint:[17.246152367436963,4.269527680689554,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sR2ork3jG2mR5nZkK6KFeD",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-21.590331599545284,cy:2.4011868129538976,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["k9HzM68Yarpc7nfmHcL8RX"],rightJoints:["3VZZxMzA1BHxrWmzs6HKLa"],leftPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],rightPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"wRcqTTshgLb8rN6th4Gpqm",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-2.1720896160541585,cy:.5328459452182414,cz:.5,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["wRcqTTshgLb8rN6th4Gpqm"],rightJoints:["sR2ork3jG2mR5nZkK6KFeD"],leftPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],rightPoint:[17.246152367436963,.532845945218239,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"3VZZxMzA1BHxrWmzs6HKLa",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5Fjqy9y1YfpweWd3F1suvT",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32829954459419425,cy:.1,cz:-.03125,lx:.3218622986217591,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75HCZhhPHELWXwGW5h2WPD",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"pZTS1LtmxQ4iRLvvo2k6FG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["sR2ork3jG2mR5nZkK6KFeD","k9HzM68Yarpc7nfmHcL8RX","wRcqTTshgLb8rN6th4Gpqm","3VZZxMzA1BHxrWmzs6HKLa"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:27.68901540648673,cy:11.617892532194158,cz:.05,lx:46.2704158010377,ly:9.428949812443559,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mEAgnYYx5Vpv2wQEcaoDS8",selected:!1},{type:"Window",cx:-.05149796777948146,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"woWw7XGUm4xqUAFSTaxp7s",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.006437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"p72g5k8odqsgTDtjZrUT8a",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pRepfQdGpU9sdbgLJsfdTe",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.12230767347626846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5oab4a82csybhPKBpwXVfB",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.1802428872281851,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"buq5YaVMEosHyRoKSUbsVt",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"efAnUu4mYbWRhdGHs3mZi9",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29611331473201846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jyJM6MGuMRcai6pbrb3Cin",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35404852848393514,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5cDm82FkWrYhcDPVSU84Ve",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4119837422358518,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mC7TrBSkmqNWk58epxFszN",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.46991895598776845,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eAGg5HRuXspYe6baEw1Pd4",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:29.772169703668084,cy:3.13936308626816,cz:.075,lx:14.520625349385156,lz:15.546086109013482,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"awZFHKX9S4YwAMjbSq1yte",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:29.969020753546168,cy:-14.890022732958304,cz:.075,lx:11.801916444038328,lz:14.712241097320083,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"oXudTEZFdmZo2c8EsbRpo1",selected:!1},{type:"Tree",name:"Coconut",cx:30.340707732263212,cy:22.863697403310276,cz:.075,lx:11.799635641951403,lz:18.03518550107995,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1PFc7JhaMeKKaCbh4JY7pw",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-5.622533214526047,cy:-26.68161954425443,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"ghtAJzyWZvFaBBUqp1aRCj",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:10.296218935380278,cy:-27.603318709603634,cz:.075,lx:8.431050051779376,lz:14.44899202269211,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g6oua2UeBCgiNbB146Y9vt",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:25.84939972102471,cy:-26.971930698353695,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"qX2bGrx3fNBzBZKpMfQVvM",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:-20.99614909921928,cy:-27.25943651847644,cz:.075,lx:10.446668331936932,lz:15.66063540678114,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"vbLVgvpnWHhnRd9uUf7sV8",selected:!1},{type:"Human",name:"Jacqueline",cx:16.26014984241543,cy:-19.603129566992923,cz:.075,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1k2jiRJ9Za2yVNkgRYdhKs",selected:!1,ly:.43},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:.27624108019964655,y:-.5},{x:.27624108019964655,y:-.4625},{x:.5022565094539028,y:-.4625},{x:.5022565094539028,y:-.5}],parentId:"aJzBKycDgPV2XFyreGUWbN",parentType:"Wall",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,filled:!0,selectedIndex:0,id:"hvwazXjoHjWT4TxByg9aJo",text:"OCEANIC",fontColor:"red",fontSize:1,noOutline:!0,opacity:0}],a2n=90,l2n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[20.405612129997095,28.227763446481866,28229018151188892e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[20.405612129997095,28.22761343981447,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[37.702769068930394,-75.97521031128004,17.83040709876231],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[15.19436480647435,27.872451314228233,14.077650267491105],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,directLightIntensity:2},s2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},c2n=1,u2n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},d2n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},f2n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},h2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},p2n="Unknown",g2n=null,m2n=null,y2n=null,A2n=[],w2n={docid:Qyn,time:Zyn,timestamp:e2n,userid:t2n,owner:n2n,email:o2n,world:i2n,elements:r2n,sceneRadius:a2n,view:l2n,graphState:s2n,evolutionMethod:c2n,solarPanelArrayLayoutParams:u2n,solarPanelArrayLayoutConstraints:d2n,evolutionaryAlgorithmState:f2n,economicsParams:h2n,modelType:p2n,modelAuthor:g2n,modelLabel:m2n,modelDescription:y2n,notes:A2n},v2n="iTjDf3ar2Wi1xMDNhVPun5",x2n="02/03/2023 08:02 pm",b2n=1675472536455,S2n="QWecNcxhyvP6j6sBN11hBsfZDau1",T2n=null,P2n=null,C2n={daysPerYear:4,noAnimationForSolarPanelSimulation:!0,longitude:-73.177891,sutTimesPerHour:4,noAnimationForSolarUpdraftTowerSimulation:!1,diurnalTemperatureModel:1,discretization:"Approximate",sutDaysPerYear:4,sutGridCellSize:1,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,pvGridCellSize:.5,noAnimationForSensorDataCollection:!1,name:"default",cspGridCellSize:.5,dustLoss:.05,solarRadiationHeatmapGridCellSize:5,latitude:44.454924,cspDaysPerYear:4,date:"5/22/2022, 1:00:00 PM",address:"550 Dorset St, South Burlington, VT 05403, USA",ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,timesPerHour:2,airConvectiveCoefficient:5,noAnimationForHeatmapSimulation:!0},R2n=[{rotation:[0,0,.11344640137963143],lx:42.0955259862511,cy:-46.54215234653224,type:"Cuboid",ly:34.92675303840907,id:"qsPqX4eMRADWLb6uFzZyu3",cz:6.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",locked:!0,selected:!1,cx:1.8084891171279258,color:"#e27300",lz:13,faceColors:["#e27300","#e27300","#e27300","#e27300","#d0d7da","gray"],normal:[0,0,1]},{rotation:[0,0,.11344640137963143],type:"Cuboid",ly:3.86445911605994,faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],id:"15SnZzWbRga2YXQjrHrMoH",locked:!0,parentId:"Ground",cx:23.280210785776593,color:"#e27300",cz:3.5,selected:!1,normal:[0,0,1],lz:7,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-63.54853637545297,lx:12.707438928677645},{cx:-33.686845121145325,ly:21.436523356683622,id:"jeaVPPnZw5Ed7yuuYuFjT4",cz:3.5,color:"#e27300",locked:!0,lx:60,parentId:"Ground",type:"Cuboid",selected:!1,cy:5.924352450279141,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","Facade #1","Facade #1","No Facade Texture","No Facade Texture"],lz:7,rotation:[0,0,-.22689280275926285],faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"]},{locked:!0,lz:7,selected:!1,rotation:[0,0,.47123889803846897],lx:70,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],ly:22.005759208164513,parentId:"Ground",cy:16.732974312474486,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"w8SzPJTBSBctdCdhPMiQ8Y",color:"#e27300",type:"Cuboid",normal:[0,0,1],cx:34.50919214417893,cz:3.5},{lz:.1,normal:[0,0,1],locked:!0,type:"Foundation",cz:.05,ly:33.24144899129459,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,cy:6.225878764069708,solarUpdraftTower:{},solarAbsorberPipe:{},id:"pAENrJmYZCM1ckJVXJhbjf",cx:-3.0110805900742577,solarPowerTower:{},lx:33.143096812026116},{cy:13,rotation:[0,0,0],leftRoofHeight:8,id:"etH6khoAQcue7DhdL3hKE4",windows:[],type:"Wall",leftPoint:[7.5,12,0],lineWidth:.2,leftJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],ly:.3,rightJoints:["kDgsBFAdDRYMKBfw4NrZmC"],color:"#e27300",lx:8.24621125123532,relativeAngle:2.896613990462928,normal:[0,0,1],showLabel:!1,lz:8,cx:3.5000000000000004,textureType:"Wall Texture Default",rightPoint:[-.49999999999999944,14,0],lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightRoofHeight:8,parentId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{relativeAngle:1.9379701606131157,rightJoints:["etH6khoAQcue7DhdL3hKE4"],cx:10,lx:13.928388277184117,leftPoint:[12.5,-1,0],normal:[0,0,1],id:"8bjxpu3YEF3xWPcrbQwkhJ",roofId:"k6bth8F9WX1VG1Z9xWAtQv",type:"Wall",rightPoint:[7.5,11.999999999999998,0],lineColor:"black",textureType:"Wall Texture Default",leftJoints:["78z2ecrQQgcHrHfygTZ9jK"],leftRoofHeight:8,rightRoofHeight:8,showLabel:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cy:5.499999999999999,color:"#e27300",lz:8,cz:0,windows:[],selected:!1,rotation:[0,0,0],locked:!0,ly:.3,parentId:"pAENrJmYZCM1ckJVXJhbjf",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineWidth:.2,normal:[0,0,1],selected:!1,cx:11.75,rightPoint:[12.5,-1,0],rightJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],id:"78z2ecrQQgcHrHfygTZ9jK",rotation:[0,0,0],textureType:"Wall Texture Default",leftJoints:["mDkaCjWbyiM41dnmEVWdxy"],parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],leftPoint:[11,-10.5,0],leftRoofHeight:8,lx:9.617692030835672,lineColor:"black",lz:8,color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,showLabel:!1,roofId:"k6bth8F9WX1VG1Z9xWAtQv",relativeAngle:1.4141944498128813,rightRoofHeight:8,ly:.3,cz:0,type:"Wall",cy:-5.75,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{rotation:[0,0,0],relativeAngle:3.402195045337134,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cx:-4.249999999999999,cy:13,color:"#e27300",lineWidth:.2,lineColor:"black",showLabel:!1,textureType:"Wall Texture Default",rightJoints:["hK2wY1qjEVKHhT5eT1oyYc"],locked:!0,windows:[],rightPoint:[-8,12,0],lz:8,id:"kDgsBFAdDRYMKBfw4NrZmC",type:"Wall",leftJoints:["etH6khoAQcue7DhdL3hKE4"],lx:7.762087348130014,ly:.3,rightRoofHeight:8,selected:!1,parentId:"pAENrJmYZCM1ckJVXJhbjf",cz:0,leftPoint:[-.49999999999999856,14,0],leftRoofHeight:8,roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,locked:!0,showLabel:!1,leftRoofHeight:8,cx:-9.75,rightRoofHeight:8,rotation:[0,0,0],id:"hK2wY1qjEVKHhT5eT1oyYc",leftJoints:["kDgsBFAdDRYMKBfw4NrZmC"],cz:0,relativeAngle:4.375714160997962,leftPoint:[-8.000000000000002,11.999999999999998,0],normal:[0,0,1],textureType:"Wall Texture Default",cy:6.999999999999999,lz:8,windows:[],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightJoints:["b4LV4TTeCfWqyehosbTDfi"],lx:10.594810050208544,rightPoint:[-11.5,2,0],color:"#e27300",selected:!1,type:"Wall",parentId:"pAENrJmYZCM1ckJVXJhbjf",roofId:"k6bth8F9WX1VG1Z9xWAtQv",lineWidth:.2,lineColor:"black",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],rightRoofHeight:8,lz:8,cy:-12.749999999999998,ly:.3,id:"mDkaCjWbyiM41dnmEVWdxy",leftPoint:[1,-15,0],lx:10.965856099730656,textureType:"Wall Texture Default",type:"Wall",showLabel:!1,rightPoint:[11,-10.499999999999996,0],rightJoints:["78z2ecrQQgcHrHfygTZ9jK"],lineWidth:.2,selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],color:"#e27300",cx:6,relativeAngle:.4228539261329409,locked:!0,parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],cz:0,leftJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{normal:[0,0,1],leftPoint:[-11.499999999999998,2,0],rightRoofHeight:8,leftJoints:["hK2wY1qjEVKHhT5eT1oyYc"],parentId:"pAENrJmYZCM1ckJVXJhbjf",lx:12.257650672131263,type:"Wall",selected:!1,lz:8,cx:-10.25,relativeAngle:4.917784369574457,id:"b4LV4TTeCfWqyehosbTDfi",rightJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,rightPoint:[-9,-10,0],color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",ly:.3,cz:0,rotation:[0,0,0],showLabel:!1,locked:!0,cy:-4,lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",windows:[],textureType:"Wall Texture Default",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,leftPoint:[-8.999999999999996,-9.999999999999996,0],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],cz:0,textureType:"Wall Texture Default",lx:11.180339887498947,roofId:"k6bth8F9WX1VG1Z9xWAtQv",rightJoints:["mDkaCjWbyiM41dnmEVWdxy"],showLabel:!1,id:"2og8Xo997HNRwLdj5mnKCf",lineWidth:.2,lz:8,windows:[],normal:[0,0,1],parentId:"pAENrJmYZCM1ckJVXJhbjf",selected:!1,cy:-12.499999999999998,locked:!0,leftJoints:["b4LV4TTeCfWqyehosbTDfi"],color:"#e27300",cx:-3.9999999999999982,lineColor:"black",rightPoint:[1,-15,0],relativeAngle:5.81953769817878,leftRoofHeight:8,type:"Wall",rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{cz:0,locked:!0,selected:!1,cx:0,type:"Roof",id:"k6bth8F9WX1VG1Z9xWAtQv",wallsId:["8bjxpu3YEF3xWPcrbQwkhJ","etH6khoAQcue7DhdL3hKE4","kDgsBFAdDRYMKBfw4NrZmC","hK2wY1qjEVKHhT5eT1oyYc","b4LV4TTeCfWqyehosbTDfi","2og8Xo997HNRwLdj5mnKCf","mDkaCjWbyiM41dnmEVWdxy","78z2ecrQQgcHrHfygTZ9jK"],textureType:"No Roof Texture",thickness:.2,showLabel:!1,lineWidth:.2,lineColor:"black",normal:[0,0,1],roofType:"Pyramid",lx:0,color:"#bbc0c4",parentId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],ly:0,cy:0,foundationId:"pAENrJmYZCM1ckJVXJhbjf",lz:0,sideColor:"#bbc0c4",rise:0,ceiling:!1},{id:"bJhvoWT5frHADN5rpErFAp",type:"Foundation",solarUpdraftTower:{},parentId:"Ground",solarAbsorberPipe:{},locked:!0,ly:20.929643657953434,cx:-14.3191636352593,lx:30.96479094015392,lz:.1,normal:[0,0,1],solarPowerTower:{},cy:-19.246790495991178,selected:!1,cz:.05,rotation:[0,0,.11344640137963143]},{showLabel:!1,selected:!1,leftJoints:["u3McT1xxp22V2ArAdyDW3J"],windows:[],textureType:"Wall Texture Default",foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],normal:[0,0,1],lz:12,relativeAngle:2.8068558162729786,id:"wERFjjYFCWERMhNEB9iuoK",cz:0,type:"Wall",lineWidth:.2,leftRoofHeight:12,locked:!0,parentId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",ly:.3,rightRoofHeight:12,lineColor:"black",leftPoint:[12.5,5.5,0],cx:6.75,rightPoint:[.9999999999999996,9.5,0],rightJoints:["7dQxN3e4X8QdrAXYYEN8WG"],cy:7.5,roofId:"nGgWDMiF4t3mFWmEvV3G6V",lx:12.175795661885921,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{color:"#e27300",leftJoints:["pcWBDfha4S8aWQ8R18i4nV"],foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],lz:12,id:"u3McT1xxp22V2ArAdyDW3J",parentId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",cz:0,cy:-4440892098500626e-31,leftRoofHeight:12,relativeAngle:1.5707963267948966,lx:11,selected:!1,locked:!0,ly:.3,rightRoofHeight:12,textureType:"Wall Texture Default",roofId:"nGgWDMiF4t3mFWmEvV3G6V",windows:[],normal:[0,0,1],leftPoint:[12.5,-5.5,0],type:"Wall",rightJoints:["wERFjjYFCWERMhNEB9iuoK"],showLabel:!1,cx:12.5,rightPoint:[12.5,5.499999999999999,0],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],lineWidth:.2,lx:11.067971810589325,windows:[],selected:!1,textureType:"Wall Texture Default",cx:7.249999999999998,rightPoint:[12.499999999999996,-5.499999999999999,0],cz:0,id:"pcWBDfha4S8aWQ8R18i4nV",showLabel:!1,relativeAngle:.32175055439664213,parentId:"bJhvoWT5frHADN5rpErFAp",leftPoint:[2,-9,0],rightRoofHeight:12,rightJoints:["u3McT1xxp22V2ArAdyDW3J"],foundationId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",leftRoofHeight:12,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rotation:[0,0,0],color:"#e27300",type:"Wall",ly:.3,cy:-7.25,leftJoints:["6ue5PfovkzS53Qu47dbJ2S"],lz:12,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{windows:[],leftJoints:["wERFjjYFCWERMhNEB9iuoK"],roofId:"nGgWDMiF4t3mFWmEvV3G6V",showLabel:!1,cx:-5.5,relativeAngle:3.541833310623767,normal:[0,0,1],rightRoofHeight:12,lz:12,leftPoint:[.9999999999999996,9.5,0],parentId:"bJhvoWT5frHADN5rpErFAp",locked:!0,lineColor:"black",id:"7dQxN3e4X8QdrAXYYEN8WG",rightPoint:[-12,4,0],rightJoints:["1kwWJQEGgHXq1W18rzcYh4"],lineWidth:.2,selected:!1,rotation:[0,0,0],lx:14.115594213493104,cy:6.75,foundationId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",leftRoofHeight:12,cz:0,ly:.3,type:"Wall",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",leftJoints:["7dQxN3e4X8QdrAXYYEN8WG"],windows:[],leftRoofHeight:12,normal:[0,0,1],selected:!1,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rightRoofHeight:12,relativeAngle:4.71238898038469,cx:-12,color:"#e27300",parentId:"bJhvoWT5frHADN5rpErFAp",id:"1kwWJQEGgHXq1W18rzcYh4",lx:8.499999999999998,textureType:"Wall Texture Default",type:"Wall",locked:!0,lineWidth:.2,rightJoints:["6ue5PfovkzS53Qu47dbJ2S"],showLabel:!1,lineColor:"black",rotation:[0,0,0],leftPoint:[-11.999999999999998,3.9999999999999982,0],lz:12,cy:-.2500000000000009,rightPoint:[-12,-4.5,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:-4.999999999999997,lx:14.705441169852739,windows:[],lz:12,rightPoint:[2,-9,0],locked:!0,ly:.3,rotation:[0,0,0],lineWidth:.2,normal:[0,0,1],color:"#e27300",roofId:"nGgWDMiF4t3mFWmEvV3G6V",id:"6ue5PfovkzS53Qu47dbJ2S",leftPoint:[-11.999999999999995,-4.499999999999997,0],textureType:"Wall Texture Default",rightRoofHeight:12,foundationId:"bJhvoWT5frHADN5rpErFAp",showLabel:!1,leftRoofHeight:12,lineColor:"black",cy:-6.749999999999998,leftJoints:["1kwWJQEGgHXq1W18rzcYh4"],parentId:"bJhvoWT5frHADN5rpErFAp",relativeAngle:5.972187026574045,cz:0,type:"Wall",rightJoints:["pcWBDfha4S8aWQ8R18i4nV"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{roofType:"Pyramid",lx:0,lz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",ly:0,normal:[0,0,1],showLabel:!1,lineWidth:.2,id:"nGgWDMiF4t3mFWmEvV3G6V",locked:!0,cz:0,lineColor:"black",selected:!1,color:"#bbc0c4",type:"Roof",cy:0,textureType:"No Roof Texture",rotation:[0,0,0],thickness:.2,wallsId:["7dQxN3e4X8QdrAXYYEN8WG","1kwWJQEGgHXq1W18rzcYh4","6ue5PfovkzS53Qu47dbJ2S","pcWBDfha4S8aWQ8R18i4nV","u3McT1xxp22V2ArAdyDW3J","wERFjjYFCWERMhNEB9iuoK"],cx:0,parentId:"bJhvoWT5frHADN5rpErFAp",sideColor:"#bbc0c4",rise:0,ceiling:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],lz:7,selected:!1,cx:-16.084384276720815,color:"#e27300",cy:15.36794895618929,faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],cz:3.5,parentId:"Ground",locked:!0,normal:[0,0,1],type:"Cuboid",ly:4.781704008793219,lx:6.529460998348136,id:"gNV64yHSX1cBB43cygkyfk"},{parentId:"Ground",ly:4.94412378095928,rotation:[0,0,.47123889803846897],cy:18.145923422735436,type:"Cuboid",locked:!0,normal:[0,0,1],faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],lx:7.636154465642389,cz:3.5,lz:7,selected:!1,color:"#e27300",id:"91GnsPRwrk88qGT8VmRMYg",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:8.05053425462394},{solarPowerTower:{},cy:33.364915793093175,parentId:"Ground",id:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,selected:!1,cx:-5.596972605764655,ly:39.876530801142074,lx:39.61249197494745,solarUpdraftTower:{},rotation:[0,0,.11344640137963143],cz:.05,type:"Foundation",normal:[0,0,1],lz:.1,solarAbsorberPipe:{}},{color:"#e27300",relativeAngle:3.141592653589793,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lx:38.5,rightPoint:[-19.489993841129074,18.992592968189904,.1],showLabel:!1,roofId:"vaDVUZ1uyEALYaHTbs211h",selected:!1,windows:[],lz:7,leftPoint:[19.010006158870922,18.992592968189896,.1],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",normal:[0,0,1],lineWidth:.2,rotation:[0,0,0],leftRoofHeight:7,id:"97HokqKu917DTkAssZGbhE",type:"Wall",cz:0,locked:!0,textureType:"Wall Texture Default",cy:18.992592968189904,cx:-.23999384112907807,leftJoints:["2QQRWDofKjHid4D3rHXvwX"],ly:.3,rightJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineColor:"black",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",windows:[],lz:7,rightJoints:["97HokqKu917DTkAssZGbhE"],relativeAngle:1.5707963267948966,rightRoofHeight:7,showLabel:!1,selected:!1,parentId:"1nEGYML9Y5W4dWVRK3n5WW",cy:3.7425929681898977,leftRoofHeight:7,normal:[0,0,1],locked:!0,id:"2QQRWDofKjHid4D3rHXvwX",lineColor:"black",textureType:"Wall Texture Default",ly:.3,roofId:"vaDVUZ1uyEALYaHTbs211h",leftPoint:[19.010006158870922,-11.507407031810096,.1],rotation:[0,0,0],cz:0,leftJoints:["v4k1Tt2DPV8adpDFKC5P12"],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:30.499999999999996,cx:19.01000615887092,color:"#e27300",rightPoint:[19.010006158870922,18.992592968189896,.1],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fPtvUV7Bzhezt9xwDuPEmF",textureType:"Wall Texture Default",foundationId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["97HokqKu917DTkAssZGbhE"],ly:.3,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lineWidth:.2,leftPoint:[-19.489993841129067,18.992592968189896,0],windows:[],leftRoofHeight:7,cz:0,cy:3.746296484094948,roofId:"vaDVUZ1uyEALYaHTbs211h",locked:!0,rotation:[0,0,0],rightJoints:["ebWW9yh8D9FYjir4ozAvaz"],selected:!1,lx:30.492594609952747,rightPoint:[-19.5,-11.5,0],rightRoofHeight:7,relativeAngle:4.712060829921323,lineColor:"black",showLabel:!1,normal:[0,0,1],lz:7,color:"#e27300",cx:-19.49499692056453,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineWidth:.2,textureType:"Wall Texture Default",leftPoint:[-19.5,-11.499999999999991,0],cx:-10,color:"#e27300",normal:[0,0,1],cy:-14.999999999999996,locked:!0,rightJoints:["v4k1Tt2DPV8adpDFKC5P12"],selected:!1,leftRoofHeight:7,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:20.24845673131659,windows:[],relativeAngle:5.930194919352675,rotation:[0,0,0],roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,rightRoofHeight:7,id:"ebWW9yh8D9FYjir4ozAvaz",rightPoint:[-.5,-18.5,0],ly:.3,cz:0,lz:7,lineColor:"black",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"1nEGYML9Y5W4dWVRK3n5WW",rightJoints:["2QQRWDofKjHid4D3rHXvwX"],leftRoofHeight:7,leftJoints:["ebWW9yh8D9FYjir4ozAvaz"],cy:-15.003703515905048,cx:9.255003079435461,roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,color:"#e27300",lineWidth:.2,relativeAngle:.3441478196335668,lx:20.725267108965333,selected:!1,textureType:"Wall Texture Default",rightRoofHeight:7,parentId:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,normal:[0,0,1],lineColor:"black",rightPoint:[19.010006158870922,-11.507407031810095,0],lz:7,ly:.3,id:"v4k1Tt2DPV8adpDFKC5P12",cz:0,rotation:[0,0,0],windows:[],leftPoint:[-.5,-18.5,0],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-16.63156986902993,lz:5,lx:8.20544233607179,id:"x3h1GsQhgRmq3SsscYfmB3",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],color:"#e27300",type:"Cuboid",locked:!0,normal:[0,0,1],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:11.4641129152687,selected:!1,cx:16.793944749049793,cz:2.5,rotation:[0,0,.11344640137963143]},{lz:6.5,ly:9.79284174487727,color:"#e27300",selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#cbced4","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cx:18.04602799184764,cy:-5.757381561584599,lx:13.705205912378894,id:"pawpCxDgzEqhYUsyrbWbDa",parentId:"Ground",locked:!0,cz:3.25,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid"},{cz:.05,selected:!1,cy:-71.07055697625319,id:"jqbU6DNc1hw25bSjkKpMiq",parentId:"Ground",ly:19.18495691494635,solarPowerTower:{},rotation:[0,0,.47123889803846897],lz:.1,solarUpdraftTower:{},locked:!0,type:"Foundation",lx:30.387424337601402,normal:[0,0,1],solarAbsorberPipe:{},cx:-4.462146546381112},{textureType:"Wall Texture Default",ly:.3,relativeAngle:3.1415926535897927,roofId:"nbhyUPhsFS3FWduEBX5mR4",normal:[0,0,1],locked:!0,leftPoint:[14.911466700814316,8.908511607852175,.1],lineColor:"black",windows:[],type:"Wall",leftRoofHeight:9,selected:!1,id:"t45ndcq7s2gwo2wADp4LvF",lz:9,rightRoofHeight:9,rightJoints:["96Vsi7iFvTbA9KnjAiCzjC"],cz:0,lx:19.999999999999996,rightPoint:[-5.088533299185682,8.908511607852187,.1],rotation:[0,0,0],showLabel:!1,parentId:"jqbU6DNc1hw25bSjkKpMiq",leftJoints:["aUxdFcbeJNrCyc15FmwGK7"],foundationId:"jqbU6DNc1hw25bSjkKpMiq",cx:4.911466700814314,cy:8.908511607852173,color:"#e27300",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lineWidth:.2,windows:[],roofId:"nbhyUPhsFS3FWduEBX5mR4",id:"2Q9JHTpdQziYaq1i4YVAfD",cy:-9.591488392147804,selected:!1,textureType:"Wall Texture Default",parentId:"jqbU6DNc1hw25bSjkKpMiq",leftRoofHeight:9,ly:.3,rightJoints:["aUxdFcbeJNrCyc15FmwGK7"],lz:9,cz:0,leftPoint:[-14.588533299185684,-9.591488392147816,.1],normal:[0,0,1],rightRoofHeight:9,lineColor:"black",showLabel:!1,rightPoint:[7.411466700814323,-9.591488392147804,.1],rotation:[0,0,0],foundationId:"jqbU6DNc1hw25bSjkKpMiq",relativeAngle:0,cx:-3.588533299185679,color:"#e27300",type:"Wall",locked:!0,leftJoints:["fjtHDsHPyFgzX4a1QCnEg1"],lx:22.000000000000007,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lz:9,leftJoints:["2Q9JHTpdQziYaq1i4YVAfD"],cy:-.34148839214781823,lineWidth:.2,locked:!0,selected:!1,rightPoint:[14.911466700814314,8.90851160785218,.1],relativeAngle:1.1856388204314217,cz:0,leftRoofHeight:9,lx:19.962464777677127,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightJoints:["t45ndcq7s2gwo2wADp4LvF"],cx:11.161466700814309,normal:[0,0,1],roofId:"nbhyUPhsFS3FWduEBX5mR4",lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",id:"aUxdFcbeJNrCyc15FmwGK7",color:"#e27300",textureType:"Wall Texture Default",rightRoofHeight:9,ly:.3,rotation:[0,0,0],type:"Wall",showLabel:!1,leftPoint:[7.411466700814304,-9.59148839214781,.1],windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{cx:-2.2158130411354513,lx:3.4859481923608877,ly:4.275960039070249,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"nypM3mdmViZReBeYosY2yV",cz:6,cy:-27.62799047977582,faceColors:["#808080","#808080","#808080","#808080","#ffffff","gray"],lz:12,type:"Cuboid",parentId:"Ground",normal:[0,0,1],color:"#808080",rotation:[0,0,.11344640137963143],locked:!0,selected:!1},{type:"Wall",lx:13.499999999999998,foundationId:"jqbU6DNc1hw25bSjkKpMiq",selected:!1,locked:!0,normal:[0,0,1],leftPoint:[-14.588533299185688,3.9085116078521778,.1],cx:-14.588533299185682,lineWidth:.2,textureType:"Wall Texture Default",leftRoofHeight:9,relativeAngle:4.71238898038469,color:"#e27300",rightJoints:["2Q9JHTpdQziYaq1i4YVAfD"],showLabel:!1,windows:[],lineColor:"black",leftJoints:["iik8XWaEN3wPnYJVvNUf8N"],cz:0,cy:-2.841488392147814,id:"fjtHDsHPyFgzX4a1QCnEg1",parentId:"jqbU6DNc1hw25bSjkKpMiq",ly:.3,lz:9,roofId:"nbhyUPhsFS3FWduEBX5mR4",rightRoofHeight:9,rightPoint:[-14.588533299185684,-9.591488392147816,.1],rotation:[0,0,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{showLabel:!1,rightPoint:[-14.588533299185688,3.9085116078521778,.1],rightRoofHeight:9,lineColor:"black",cx:-9.838533299185684,relativeAngle:3.1415926535897936,foundationId:"jqbU6DNc1hw25bSjkKpMiq",windows:[],type:"Wall",parentId:"jqbU6DNc1hw25bSjkKpMiq",id:"iik8XWaEN3wPnYJVvNUf8N",roofId:"nbhyUPhsFS3FWduEBX5mR4",rightJoints:["fjtHDsHPyFgzX4a1QCnEg1"],leftRoofHeight:9,cy:3.9085116078521835,lx:9.500000000000002,locked:!0,textureType:"Wall Texture Default",normal:[0,0,1],lz:9,leftJoints:["96Vsi7iFvTbA9KnjAiCzjC"],selected:!1,cz:0,leftPoint:[-5.088533299185688,3.908511607852178,.1],lineWidth:.2,color:"#e27300",rotation:[0,0,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{textureType:"Wall Texture Default",selected:!1,rotation:[0,0,0],showLabel:!1,lineColor:"black",roofId:"nbhyUPhsFS3FWduEBX5mR4",leftPoint:[-5.088533299185681,8.908511607852187,.1],cx:-5.088533299185681,lx:5.000000000000002,type:"Wall",rightJoints:["iik8XWaEN3wPnYJVvNUf8N"],windows:[],lz:9,locked:!0,leftRoofHeight:9,rightRoofHeight:9,ly:.3,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightPoint:[-5.088533299185688,3.908511607852178,.1],cy:6.408511607852189,normal:[0,0,1],color:"#e27300",leftJoints:["t45ndcq7s2gwo2wADp4LvF"],relativeAngle:4.71238898038469,foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,lineWidth:.2,id:"96Vsi7iFvTbA9KnjAiCzjC",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{ly:18.600818138777164,normal:[0,0,1],lz:7,id:"9ZkQyqaEmTeYEWHbrCFRQb",type:"Cuboid",cx:-21.473353217856005,cz:3.5,lx:28.43689133843813,cy:-80.03483805963909,selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#a0a8a1","gray"],rotation:[0,0,.47123889803846897],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"#e27300",locked:!0},{lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,roofType:"Pyramid",locked:!0,lz:0,normal:[0,0,1],id:"nbhyUPhsFS3FWduEBX5mR4",cy:0,cx:0,type:"Roof",ly:0,lineWidth:.2,color:"#a0a8a1",selected:!1,wallsId:["t45ndcq7s2gwo2wADp4LvF","96Vsi7iFvTbA9KnjAiCzjC","iik8XWaEN3wPnYJVvNUf8N","fjtHDsHPyFgzX4a1QCnEg1","2Q9JHTpdQziYaq1i4YVAfD","aUxdFcbeJNrCyc15FmwGK7"],showLabel:!1,lx:0,textureType:"No Roof Texture",thickness:.2,parentId:"jqbU6DNc1hw25bSjkKpMiq",rotation:[0,0,0],sideColor:"#a0a8a1",rise:0,ceiling:!1},{rotation:[0,0,.11344640137963143],lx:33.330266968334364,parentId:"Ground",locked:!0,selected:!1,cy:-18.068839609848254,color:"#e27300",id:"u9fp9k5YxThQWCBpcjSypa",ly:24.01347765210959,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:7,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],cz:3.5,cx:-3.833297199689312,type:"Cuboid"},{parentId:"Ground",lx:6.254852089156679,color:"#e27300",lz:6,cy:-14.332630086328715,rotation:[0,0,.11344640137963143],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:8.529051468761843,cz:3,cx:23.820970949615347,normal:[0,0,1],id:"g3WSwwiWWgknhD1TsV34bi",locked:!0,type:"Cuboid",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],selected:!1},{selected:!1,parentId:"Ground",rotation:[0,0,.11344640137963143],lx:138.78684366347608,solarAbsorberPipe:{},cz:.05,textureType:"Foundation Texture #1",lz:.1,id:"reBHg6Exy2MChwcxtr3gj7",locked:!0,color:"#808080",cx:-1.8708371231135246,solarUpdraftTower:{},type:"Foundation",ly:56.63391373000898,cy:89.14969979439752,solarPowerTower:{},normal:[0,0,1]},{color:"#808080",cz:.05,solarPowerTower:{},textureType:"Foundation Texture #1",locked:!0,ly:114.12479182802815,id:"36nmeGQGETdJPm5rWVVRjJ",solarUpdraftTower:{},lx:42.16787694736764,lz:.1,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cy:-148.8692182215829,parentId:"Ground",rotation:[0,0,.11344640137963143],type:"Foundation",cx:-28.614737300680485},{id:"bFksCZzoXd93c7MyivmV9K",faceColors:["gray","gray","gray","gray","gray","gray"],ly:5.781774626442493,rotation:[0,0,.11344640137963143],cx:-8.05557182480289,normal:[0,0,1],parentId:"Ground",color:"gray",cy:28.559956693666173,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,selected:!1,cz:4.5,lz:9,lx:2.7809448048857632,type:"Cuboid"},{id:"4uGXxDXoTLYvikq5fUL9dt",normal:[0,0,1],parentId:"Ground",cz:4.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:38.25979783456656,lx:2.7809448048857632,faceColors:["gray","gray","gray","gray","gray","gray"],lz:9,selected:!1,locked:!0,rotation:[0,0,.11344640137963143],cx:-6.727695250737455,type:"Cuboid",color:"gray",ly:5.781774626442493},{type:"Tree",lx:10,selected:!1,name:"Magnolia",cz:0,locked:!0,id:"xmEmwPRar8iA32AgGqBDZo",cy:44.65483300272308,rotation:[0,0,0],parentId:"Ground",cx:15.962764438139406,normal:[0,1,0],lz:10},{cx:4.786319195449075,name:"Magnolia",lz:10,id:"2N9b6wPaP7vTT6v2GfUvci",cy:57.504795212360165,selected:!1,rotation:[0,0,0],parentId:"Ground",type:"Tree",locked:!0,lx:10,normal:[0,0,1],cz:0},{cz:0,id:"tQuBdxiCZwsv3tPttqZcge",locked:!0,type:"Tree",lz:10,parentId:"Ground",lx:10,cx:-37.72446755161796,name:"Magnolia",rotation:[0,0,0],selected:!1,cy:24.20884875644974,normal:[0,0,1]},{rotation:[0,0,0],locked:!0,normal:[0,0,1],parentId:"Ground",cz:0,cy:27.53619242162998,name:"Magnolia",type:"Tree",lx:10,cx:-56.12589485999845,id:"sBLygdm7dv2Y53q9fnNST7",selected:!1,lz:10},{ly:1,type:"Cuboid",id:"dHHanjftUrSruBnauGJSLy",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",cx:-5.870064866540858,lx:2,normal:[0,0,1],lz:9,cy:15.318325135239354,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],selected:!1,locked:!0,cz:4.5},{id:"9vxhEg5mY7bnj3mASyLPuq",cz:4.5,lx:1.5,ly:1,cx:-3.8512872137145457,normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:11.777212358373532,lz:9,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,color:"gray"},{cz:4.5,cy:15.693005652428699,normal:[0,0,1],cx:-2.6936903398761203,selected:!1,locked:!0,lz:9,rotation:[0,0,.11344640137963143],color:"gray",ly:1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"hvuDpXrEgC1sbzpcoS3Pv5",lx:2,type:"Cuboid"},{cz:4.5,id:"xtuommaSLMKZrejRaGGfMk",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:9,type:"Cuboid",cx:6.443464344950151,locked:!0,cy:6.860194005695455,color:"gray",parentId:"Ground",rotation:[0,0,.47123889803846897],selected:!1,lx:1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{color:"gray",ly:2,parentId:"Ground",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sJYEUPNTzxmWik8iqk2zs1",cy:25.83184970998569,locked:!0,cz:4,selected:!1,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:2,cx:46.69245220859119},{cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,cx:57.51703501824526,lx:2,locked:!0,selected:!1,color:"gray",ly:2,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:32.45468730038977,rotation:[0,0,.47123889803846897],id:"bbqihnnqHMG2BadQAqxu4w",normal:[0,0,1]},{id:"25nzwRphH2HZWasHbdyR9H",rotation:[0,0,.47123889803846897],cz:4,cx:9.64097434426713,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:8,ly:2,selected:!1,color:"gray",locked:!0,type:"Cuboid",cy:14.625073334021367,lx:2,parentId:"Ground"},{locked:!0,ly:3.023435418581383,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",normal:[0,0,1],lz:8,id:"auEsiwZVDg1BpD4SLuxEMu",cz:4,selected:!1,cx:13.735991450729825,rotation:[0,0,.47123889803846897],parentId:"Ground",lx:1.956376737761125,cy:11.519743764909009},{cx:8.737674718750876,lz:8,selected:!1,lx:1.6103314300645608,color:"gray",cz:4,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,ly:6.078985704618435,rotation:[0,0,.47123889803846897],cy:10.874631022787334,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",id:"hVeFrmw4X6UXNLJxSgFFTX"},{lz:8,cy:9.924339607771106,type:"Cuboid",lx:4.469059126518252,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:4,parentId:"Ground",ly:2.3777908106308545,locked:!0,cx:10.942483109442229,selected:!1,id:"meaBMTA4CLhnmmXQkVUk4b",color:"gray",rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{rotation:[0,0,-.22689280275926285],id:"uaSYyvLxcyJGUeppQk2fkP",normal:[0,0,1],locked:!0,faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",cx:-58.373259464283144,selected:!1,ly:1,cz:4,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:1,parentId:"Ground",cy:19.91282275388616,lz:8},{lx:1,parentId:"Ground",locked:!0,ly:1,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-18.92226089346107,rotation:[0,0,-.22689280275926285],type:"Cuboid",cz:4,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"aSJgYXr93BZfEPKkAwN8r7",lz:8,normal:[0,0,1],cy:-.6960334472303071},{locked:!0,lx:2.0388988979736835,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],id:"vUyZDk5YRtPiBnYt1snpgt",selected:!1,cy:10.353201903334014,color:"gray",ly:2.0216903725484365,normal:[0,0,1],type:"Cuboid",cx:-16.847254368208766,parentId:"Ground",lz:8,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4},{type:"Cuboid",cy:11.088622268912289,cz:4,rotation:[0,0,-.22689280275926285],ly:2.9540425209021324,id:"dfGLJ9Zv1uAnvCfrcBHsCt",locked:!0,lz:8,parentId:"Ground",color:"gray",cx:-14.705676459927645,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lx:1.7677570935590694,selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:7.5,selected:!1,cz:3.75,lx:.9904096888649759,type:"Cuboid",color:"gray",cy:-4.822954202789914,parentId:"Ground",locked:!0,id:"n5nBWKF2pcd87Hywxr4MmX",cx:19.016528568953923,normal:[0,0,1],ly:1.9410657757772696,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"]},{type:"Cuboid",ly:1,cx:22.516067022100426,color:"gray",parentId:"Ground",cz:3.5,locked:!0,selected:!1,lx:1,lz:7,rotation:[0,0,.11344640137963143],id:"oDooft2rdfK7T7GeS22TTX",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:-11.05785927501001},{rotation:[0,0,.11344640137963143],type:"Cuboid",selected:!1,lz:6,locked:!0,lx:1,parentId:"Ground",ly:1,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],id:"5MNhY3je6nxRhgVTaQd4XD",cx:17.344429933105552,cy:-13.822777502645632,cz:3},{rotation:[0,0,.11344640137963143],id:"hTpGn7Ld64gegWm4tEbZhj",normal:[0,0,1],lz:6,locked:!0,cz:3,lx:1,type:"Cuboid",ly:1,selected:!1,cx:13.157095779673083,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-14.697109758746397,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",color:"gray"},{type:"Cuboid",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-6.445109761249004,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.5,locked:!0,cx:-1.5852019434320317,ly:1,selected:!1,normal:[0,0,1],lz:9,id:"rq5RGqs3gD3vGibJBsqSoL",color:"gray",lx:1},{lx:1,parentId:"Ground",rotation:[0,0,.11344640137963143],normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,selected:!1,cx:1.8238223447270574,id:"pVxtrZrVGwkvEXjPsLSV95",cz:4,ly:1,cy:-11.816737963378758,lz:8},{selected:!1,ly:1.3665925830167867,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cz:6.5,lz:13,id:"kfMaGeiQgdSFzmbpVf6zVf",cx:-10.111227834366188,type:"Cuboid",lx:1.8193596961081897,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,cy:-15.497913514100716},{color:"gray",lx:1,type:"Cuboid",cy:-27.533957889184162,cz:6.5,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],selected:!1,lz:13,id:"bkDAE3FxXTUCR13vm7LnmF",locked:!0,normal:[0,0,1],ly:1,cx:-2.3075258042202},{normal:[0,0,1],selected:!1,locked:!0,cx:-15.307775607494396,lx:2.5676889546751847,color:"gray",ly:1.3662836019362639,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],parentId:"Ground",type:"Cuboid",cz:6.5,lz:13,cy:-18.40230760434186,id:"aQcL3piZZWLrX5Ud8AM8Ke"},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,id:"i4oTzKRpveYkgD2Hd8SNHf",faceColors:["gray","gray","gray","gray","gray","gray"],ly:1,lz:14,color:"gray",lx:1,parentId:"Ground",cy:-29.315479380504186,rotation:[0,0,.11344640137963143],cx:16.7566929241104,cz:7,type:"Cuboid",normal:[0,0,1],locked:!0},{ly:1,normal:[0,0,1],cx:19.914283665719672,cy:-44.497740663585425,lz:14,lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],id:"ah9bKoBGUiMWeHKfdxzpi9",cz:7,color:"gray",type:"Cuboid",locked:!0,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{lz:14,normal:[0,0,1],locked:!0,id:"vBZ2DA9y9KYiCwgzGpLfFD",color:"gray",lx:1,rotation:[0,0,.11344640137963143],cz:7,cy:-47.62693833888401,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",selected:!1,ly:1,cx:20.25452350291907},{cy:-38.0401954851006,type:"Cuboid",lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:7,locked:!0,id:"2jpUuL1gcsjduHrhm3n43t",selected:!1,parentId:"Ground",cx:-17.59480337417267,color:"gray",lz:14},{faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,cy:-50.768525050448105,lz:14,lx:1,id:"doc8sxSmKeL7RKrAnLUcoL",selected:!1,type:"Cuboid",cx:-16.679482324891723,locked:!0,color:"gray",rotation:[0,0,.11344640137963143],parentId:"Ground",cz:7},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,id:"us3zCoK5ewuBS6QTdVwh5n",cz:7,ly:1,lx:1,normal:[0,0,1],color:"gray",locked:!0,lz:14,rotation:[0,0,.11344640137963143],cy:-63.79092407456009,cx:-15.262534505030402,parentId:"Ground"},{faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.47123889803846897],lz:10,normal:[0,0,1],lx:1,type:"Cuboid",cy:-67.46996837049493,id:"t959VVjipFtQcWvuiVz2K9",parentId:"Ground",cx:-4.425598860553924,cz:5,color:"gray",selected:!1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0},{ly:1,lx:1,locked:!0,type:"Cuboid",rotation:[0,0,.47123889803846897],cx:-3.1466144543948023,normal:[0,0,1],color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,cy:-66.65602476858759,selected:!1,id:"qhPJYtSXY5a7RZFHnh9sXY",faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",cz:5},{cx:-6.364270455130605,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:10,ly:1,locked:!0,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lx:1,color:"gray",type:"Cuboid",selected:!1,id:"uHN4GMMVvGcf6APcCUZnSj",cy:-75.21381547306636,rotation:[0,0,.47123889803846897],cz:5},{ly:1,cy:-83.03785791923461,rotation:[0,0,.47123889803846897],locked:!0,lx:1,normal:[0,0,1],color:"gray",lz:8,selected:!1,cx:-23.111777972260608,id:"vtCxYC9fd4ntw6fFZCahnk",faceColors:["gray","gray","gray","gray","gray","gray"],cz:4,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,lz:10,lx:1,rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1,color:"gray",type:"Cuboid",cy:-79.50076914190635,cx:-14.662733157197128,cz:5,id:"hZWUtVcu3jjMB9HKr9R8ro",normal:[0,0,1],parentId:"Ground"},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,lx:1,ly:1,cz:4,normal:[0,0,1],color:"gray",rotation:[0,0,.47123889803846897],cy:-84.70748291923546,id:"iw4xNrSMGDSZJUGzJ8pTqm",cx:-28.436527972260606,lz:8,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{type:"Cuboid",cz:4,locked:!0,lz:8,ly:1,id:"iLtZHkfUgxkgeqhAZivYfe",cx:-30.88874837783922,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,cy:-84.0342920377216,normal:[0,0,1],parentId:"Ground",rotation:[0,0,.47123889803846897],lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,lz:8,parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-13.782520236054552,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:1,cz:4,id:"ssCGfzEitaxtFqQF7Ga8kZ",color:"gray",ly:1,normal:[0,0,1],cy:-67.47809368871428,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0},{selected:!1,color:"#f9fdfe",ly:0,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lz:0,lx:0,lineColor:"black",textureType:"No Roof Texture",rotation:[0,0,0],parentId:"1nEGYML9Y5W4dWVRK3n5WW",roofType:"Pyramid",wallsId:["97HokqKu917DTkAssZGbhE","fPtvUV7Bzhezt9xwDuPEmF","ebWW9yh8D9FYjir4ozAvaz","v4k1Tt2DPV8adpDFKC5P12","2QQRWDofKjHid4D3rHXvwX"],locked:!0,type:"Roof",cx:0,showLabel:!1,lineWidth:.2,thickness:.2,normal:[0,0,1],cz:0,cy:0,id:"vaDVUZ1uyEALYaHTbs211h",sideColor:"#f9fdfe",rise:0,ceiling:!1},{selected:!1,lz:.4,filled:!1,id:"fdazNUtKFoSEAPgq9CQJES",type:"Polygon",locked:!0,cx:0,parentId:"qsPqX4eMRADWLb6uFzZyu3",color:"#d0d7da",selectedIndex:3,foundationId:"qsPqX4eMRADWLb6uFzZyu3",cz:0,rotation:[0,0,.11344640137963143],normal:[0,0,1],vertices:[{x:-.3919656451231681,y:-.44378588479022363},{x:-.3919656451231681,y:.4581015584931341},{y:.4581015584931341,x:.3563324046574256},{y:-.44378588479022363,x:.3563324046574256}],cy:0,ly:.4,lx:.4,lineColor:"#ffffff",lineStyle:2},{type:"Polygon",cz:0,lx:.4,selected:!1,color:"#dadedf",normal:[0,0,1],lz:.4,filled:!1,locked:!0,parentId:"jeaVPPnZw5Ed7yuuYuFjT4",ly:.4,cy:0,selectedIndex:5,rotation:[0,0,-.22689280275926285],id:"4bjxP3DGK4dodwicaeMGrq",vertices:[{x:-.4583333333333333,y:-.41984420002481043},{x:-.4583333333333333,y:.2798961333498736},{y:.2798961333498736,x:-.4083333333333333},{x:-.4083333333333333,y:.41984420002481043},{x:.20833333333333334,y:.41984420002481043},{y:-.41984420002481043,x:.20833333333333334}],cx:0,foundationId:"jeaVPPnZw5Ed7yuuYuFjT4",lineStyle:2,lineColor:"#ffffff"},{type:"Tree",name:"Magnolia",cx:-42.801241972409024,cy:-41.7007983662498,cz:0,lx:9.278019576062961,lz:8.643797542596442,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"g1FsRLcUZdSt9Q2DU31zPA",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-59.8787215366302,cy:-50.66068977312313,cz:-7105427357601002e-30,lx:9.278019576062961,lz:11.78149367100265,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"krmMVWEiKsnePivMXL7Nes",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-51.87839388003734,cy:-62.51980907480443,cz:0,lx:6.499371428507982,lz:7.082169014620417,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rW1c33rx65WFpCNTzaAbaM",selected:!1,locked:!0}],H2n={showDailyLightSensorPanel:!1,yearlyHeliostatYieldPanelY:0,yearlyFresnelReflectorYieldPanelY:0,showInstructionPanel:!1,yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelX:0,panCenter2D:[-38.51386717609555,9.861822957610682,-.00020795605672141833],dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},panCenter:[-7.484723712513362,-24.66583880095733,.1225204207961253],showMapPanel:!1,groundColor:"#16a5a5",yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,y:0,height:400},yearlyPvYieldPanelY:0,mapWeatherStations:!1,visibilityResultsPanelX:0,evolutionPanelRect:{x:0,y:0,width:640,height:400},stickyNotePanelRect:{width:269,y:0,x:-3,height:87},cameraPosition2D:[-38.51386717609555,9.861802956721695,19.99979204387911],showYearlyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showHeliodonPanel:!1,theme:"Default",showYearlyParabolicDishYieldPanel:!1,mapPanelX:0,showDailyFresnelReflectorYieldPanel:!1,dailyLightSensorPanelX:0,dailyParabolicDishYieldPanelX:0,heliodon:!1,dailyPvYieldPanelX:0,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},axes:!0,mapTilt:0,dailyFresnelReflectorYieldPanelX:0,showEconomicsPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyLightSensorPanelY:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelX:0,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},dailyParabolicDishYieldPanelRect:{x:0,height:400,width:600,y:0},showDesignInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyPvYieldPanelRect:{x:0,y:0,height:400,width:600},yearlyParabolicDishYieldPanelX:0,solarRadiationHeatMapReflectionOnly:!1,showZenithAngle:!0,groundImage:!0,showYearlyLightSensorPanel:!1,mapZoom:17,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{width:600,x:0,y:0,height:470},showStickyNotePanel:!0,yearlyLightSensorPanelShowClearness:!1,showElevationAngle:!0,weatherPanelY:0,yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelY:0,mapType:"hybrid",showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyPvYieldPanelX:0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},dailyHeliostatYieldPanelX:0,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelRect:{width:600,x:0,height:400,y:0},dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelY:0,stickyNotePanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},orthographic:!1,cameraPosition:[35.702709576196014,-94.16775966891016,142.42515130862242],showDailyUpdraftTowerYieldPanel:!1,showDailyPvYieldPanel:!1,enableRotate:!0,showYearlyUpdraftTowerYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,dailyFresnelReflectorYieldPanelY:0,showWeatherPanel:!1,yearlyLightSensorPanelX:0,mapPanelY:0,dailyHeliostatYieldPanelRect:{height:400,width:600,x:0,y:0},autoRotate:!1,dailyParabolicDishYieldPanelY:0,cameraZoom:22.160664819944596,showAzimuthAngle:!0,weatherPanelRect:{y:0,x:0,height:500,width:500},showSunAngles:!1,dailyLightSensorPanelRect:{x:0,width:600,height:360,y:0},heliodonPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showDailyHeliostatYieldPanel:!1,shadowEnabled:!0,dailyUpdraftTowerYieldPanelRect:{x:0,width:640,height:550,y:0},dailyPvYieldPanelY:0,showDiurnalTemperaturePanel:!1,weatherPanelX:0,ambientLightIntensity:.1,solarRadiationHeatMapMaxValue:5,stickyNotePanelX:0,showSiteInfoPanel:!0,yearlyHeliostatYieldPanelRect:{width:600,x:0,y:0,height:400}},M2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},I2n=1,z2n={rowAxis:"Left-Right",interRowSpacing:2,tiltAngle:0,poleSpacing:3,rowsPerRack:1,poleHeight:1,pvModelName:"SPR-X21-335-BLK",orientation:"Landscape"},D2n={maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,rowAxis:"Left-Right",orientation:"Landscape",maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumInterRowSpacing:10,minimumInterRowSpacing:2,poleSpacing:5,poleHeight:1,pvModelName:"CS6X-355P-FG"},E2n={particleSwarmOptimizationParams:{vmax:.01,localSearchRadius:.1,inertia:.8,searchMethod:1,maximumSteps:5,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,convergenceThreshold:.01,cognitiveCoefficient:.1,swarmSize:20},geneticAlgorithmParams:{localSearchRadius:.1,maximumGenerations:5,mutationRate:.1,problem:"Solar Panel Tilt Angle",selectionRate:.5,populationSize:20,objectiveFunctionType:1,searchMethod:1,convergenceThreshold:.01,selectionMethod:1,crossoverRate:.5}},k2n={electricitySellingPrice:.25,projectLifeSpan:25,operationalCostPerUnit:.15},F2n=[`South Burlington High School -Vermont, USA`],L2n={docid:v2n,time:x2n,timestamp:b2n,userid:S2n,owner:T2n,email:P2n,world:C2n,elements:R2n,view:H2n,graphState:M2n,evolutionMethod:I2n,solarPanelArrayLayoutParams:z2n,solarPanelArrayLayoutConstraints:D2n,evolutionaryAlgorithmState:E2n,economicsParams:k2n,notes:F2n},W2n="dWgDnPJDqR9XymfxSQN7WJ",N2n="02/03/2023 07:56 pm",U2n=1675472176562,B2n="QWecNcxhyvP6j6sBN11hBsfZDau1",j2n=null,Y2n=null,O2n={pvGridCellSize:.5,timesPerHour:2,latitude:33.225546302957646,longitude:-105.74311446654394,daysPerYear:4,airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,cspDaysPerYear:4,sutGridCellSize:1,diurnalTemperatureModel:1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},noAnimationForSolarPanelSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1,name:"default",highestTemperatureTimeInMinutes:900,noAnimationForSensorDataCollection:!1,cspGridCellSize:.5,cspTimesPerHour:4,sutDaysPerYear:4,airConvectiveCoefficient:5,dustLoss:.05,address:"249 White Mountain Dr, Mescalero, NM 88340, USA",sutTimesPerHour:4,discretization:"Approximate",noAnimationForHeatmapSimulation:!1,date:"Wed Jun 22 2022 12:00:00 GMT-0400 (Eastern Daylight Time)",solarRadiationHeatmapGridCellSize:10},_2n=[{cx:36.04364346579838,color:"#808080",normal:[0,0,1],id:"aXWETyunkqtQVNXGWr9VZd",solarPowerTower:{},solarAbsorberPipe:{},lx:65.26457989390352,rotation:[0,0,-.41015237421866746],ly:29.235638926118842,cz:.5,solarUpdraftTower:{},cy:-20.683265041734174,parentId:"Ground",locked:!1,type:"Foundation",lz:1,selected:!1},{type:"Wall",parentId:"aXWETyunkqtQVNXGWr9VZd",locked:!1,leftJoints:["7a9g1bU6Fq192u17jYzUVQ"],windows:[],normal:[0,0,1],rightPoint:[-30.895924961184342,13.06099510897374,1],leftPoint:[32.60407503881567,13.060995108973744,1],id:"qmFzWJnLZGgtRZtU4NCV2i",rightJoints:["8UV181m3Qgm4gVeHjN6o1N"],leftRoofHeight:5,color:"white",cx:.8540750388156599,foundationId:"aXWETyunkqtQVNXGWr9VZd",lineColor:"black",cz:0,lz:5,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",showLabel:!1,cy:13.060995108973737,roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lx:63.5,relativeAngle:3.141592653589793,rightRoofHeight:5,lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineWidth:.2,windows:[],cy:-.1890048910262596,color:"white",showLabel:!1,rightJoints:["qmFzWJnLZGgtRZtU4NCV2i"],normal:[0,0,1],lineColor:"black",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"adpYUuHEY6XwTLGq9piRR2",lz:5,locked:!1,cx:32.604075038815665,lx:26.500000000000004,ly:.3,selected:!1,leftPoint:[32.604075038815665,-13.439004891026256,1],parentId:"aXWETyunkqtQVNXGWr9VZd",rightPoint:[32.60407503881566,13.060995108973742,1],leftRoofHeight:5,type:"Wall",rightRoofHeight:5,foundationId:"aXWETyunkqtQVNXGWr9VZd",leftJoints:["cqVaqhkF9cafDk3CujuxhA"],cz:0,relativeAngle:1.5707963267948966,id:"7a9g1bU6Fq192u17jYzUVQ",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cx:.8540750388156644,windows:[],leftPoint:[-30.895924961184335,-13.439004891026261,1],rightRoofHeight:5,showLabel:!1,selected:!1,type:"Wall",leftJoints:["8UV181m3Qgm4gVeHjN6o1N"],rightPoint:[32.604075038815665,-13.439004891026256,1],cz:0,ly:.3,parentId:"aXWETyunkqtQVNXGWr9VZd",relativeAngle:0,id:"cqVaqhkF9cafDk3CujuxhA",roofId:"adpYUuHEY6XwTLGq9piRR2",rightJoints:["7a9g1bU6Fq192u17jYzUVQ"],lx:63.50000000000001,textureType:"Wall Texture Default",lineWidth:.2,cy:-13.439004891026254,lineColor:"black",lz:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,locked:!1,normal:[0,0,1],foundationId:"aXWETyunkqtQVNXGWr9VZd",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-.18900489102626317,leftRoofHeight:5,lz:5,textureType:"Wall Texture Default",leftPoint:[-30.895924961184342,13.06099510897374,1],relativeAngle:4.71238898038469,cz:0,rightJoints:["cqVaqhkF9cafDk3CujuxhA"],selected:!1,foundationId:"aXWETyunkqtQVNXGWr9VZd",lx:26.50000000000001,parentId:"aXWETyunkqtQVNXGWr9VZd",rotation:[0,0,-.41015237421866746],rightPoint:[-30.89592496118435,-13.439004891026267,1],color:"white",type:"Wall",normal:[0,0,1],rightRoofHeight:5,leftJoints:["qmFzWJnLZGgtRZtU4NCV2i"],cx:-30.895924961184342,windows:[],roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lineWidth:.2,id:"8UV181m3Qgm4gVeHjN6o1N",locked:!1,lineColor:"black",showLabel:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lz:1,solarAbsorberPipe:{},cz:.5,ly:4.206012254646608,type:"Foundation",rotation:[0,0,-.41015237421866746],lx:31.26437853168839,normal:[0,0,1],solarUpdraftTower:{},cx:-2.5548208091674596,selected:!1,parentId:"Ground",cy:-104.18033992817378,solarPowerTower:{},locked:!1,id:"67y6tGP5Z273J9KfaZt2qW"},{color:"white",ly:.3,normal:[0,0,1],windows:[],leftPoint:[-2.1622916607695264,-2.0529036258004845,0],rightPoint:[-2.1622916607695246,1.9676858128519996,0],rightRoofHeight:6,roofId:"vamU7TTNZeBARJChC8HbPy",rightJoints:["vyB1xaFqKE2eYECPWHSjtt"],lineColor:"black",showLabel:!1,type:"Wall",parentId:"67y6tGP5Z273J9KfaZt2qW",cz:0,id:"vVaHoupmNeeUhBf8aEhNwN",cy:-.042608906474242425,foundationId:"67y6tGP5Z273J9KfaZt2qW",lineWidth:.2,textureType:"Wall Texture Default",leftJoints:["c2T86bj1Ndr1wBUNfBDMTd"],cx:-2.1622916607695255,relativeAngle:1.5707963267948961,rotation:[0,0,-.41015237421866746],selected:!1,centerRoofHeight:[0,6.274887651356121],lz:6,lx:4.020589438652484,leftRoofHeight:6,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-2.0529036258004867,relativeAngle:5681468402920898e-31,selected:!1,normal:[0,0,1],lz:6,parentId:"67y6tGP5Z273J9KfaZt2qW",windows:[],ly:.3,textureType:"Wall Texture Default",leftJoints:["42wy1mrJXkRG5d8TpG2sXB"],roofId:"vamU7TTNZeBARJChC8HbPy",cz:0,leftPoint:[-9.97874294335964,-2.052903625800489,0],lineWidth:.2,id:"c2T86bj1Ndr1wBUNfBDMTd",rightRoofHeight:6,color:"white",locked:!1,cx:-6.070517302064583,lineColor:"black",lx:7.816451282590114,type:"Wall",rotation:[0,0,-.41015237421866746],rightPoint:[-2.1622916607695264,-2.0529036258004845,0],rightJoints:["vVaHoupmNeeUhBf8aEhNwN"],showLabel:!1,foundationId:"67y6tGP5Z273J9KfaZt2qW",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,lineWidth:.2,lx:4.020589438652497,cy:-.042608906474240316,color:"white",lineColor:"black",leftJoints:["vyB1xaFqKE2eYECPWHSjtt"],id:"42wy1mrJXkRG5d8TpG2sXB",leftPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,cz:0,parentId:"67y6tGP5Z273J9KfaZt2qW",rightRoofHeight:6,lz:6,type:"Wall",cx:-9.978742943359643,relativeAngle:-1.5707963267948948,foundationId:"67y6tGP5Z273J9KfaZt2qW",normal:[0,0,1],rightJoints:["c2T86bj1Ndr1wBUNfBDMTd"],textureType:"Wall Texture Default",locked:!1,selected:!1,centerRoofHeight:[0,6.274887651356121],windows:[],roofId:"vamU7TTNZeBARJChC8HbPy",leftRoofHeight:6,rightPoint:[-9.97874294335964,-2.052903625800489,0],rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,id:"vyB1xaFqKE2eYECPWHSjtt",textureType:"Wall Texture Default",lx:7.816451282590123,leftRoofHeight:6,color:"white",selected:!1,roofId:"vamU7TTNZeBARJChC8HbPy",showLabel:!1,cz:3.7151685093329987,cx:-6.0705173020645855,rotation:[0,0,-.41015237421866746],type:"Wall",rightPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,lineWidth:.2,windows:[],parentId:"67y6tGP5Z273J9KfaZt2qW",foundationId:"67y6tGP5Z273J9KfaZt2qW",leftJoints:["vVaHoupmNeeUhBf8aEhNwN"],cy:1.9676858128520038,locked:!1,relativeAngle:3.1415926535897922,rightJoints:["42wy1mrJXkRG5d8TpG2sXB"],leftPoint:[-2.1622916607695246,1.9676858128519996,0],lineColor:"black",lz:6,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:.5,id:"vr622m4sUbseJrnaD3qEiM",cx:-34.35924569376295,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lz:1,normal:[0,0,1],solarPowerTower:{},selected:!1,lx:9.87769053193653,ly:13.609083182601537,solarUpdraftTower:{},locked:!1,parentId:"Ground",type:"Foundation",cy:-110.59011455401989},{leftJoints:["mMXGrqXV1RkkkiT4sMy7uW"],lineWidth:.2,cz:0,rightRoofHeight:5.5,rightPoint:[-3.499999999999999,5.5,0],cy:5.5,relativeAngle:3.141592653589793,color:"white",roofId:"2v86EFgUZGnV81678JbvWF",locked:!1,windows:[],leftPoint:[3.5,5.5,0],lz:5.5,selected:!1,type:"Wall",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",showLabel:!1,id:"3XaMSJRAJ16nXkn1WKx9DA",lx:6.999999999999999,foundationId:"vr622m4sUbseJrnaD3qEiM",ly:.3,rightJoints:["fgcrmKBkK397YQPfDfJ1C1"],parentId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,lineColor:"black",cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{rightJoints:["3XaMSJRAJ16nXkn1WKx9DA"],lx:6.000000000000007,windows:[],rotation:[0,0,-.41015237421866746],locked:!1,normal:[0,0,1],lineColor:"black",showLabel:!1,leftJoints:["gphnEpjKALdRhPrtitPn39"],lz:5.5,rightRoofHeight:5.5,selected:!1,foundationId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",ly:.3,lineWidth:.2,cy:2.5000000000000036,id:"mMXGrqXV1RkkkiT4sMy7uW",rightPoint:[3.499999999999996,5.500000000000007,0],cz:0,textureType:"Wall Texture Default",leftPoint:[3.5,-.5,0],relativeAngle:1.5707963267948974,type:"Wall",roofId:"2v86EFgUZGnV81678JbvWF",cx:3.4999999999999982,color:"white",centerRoofHeight:[.5,5.5],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,type:"Wall",windows:[],leftPoint:[-3.499999999999999,5.5,0],parentId:"vr622m4sUbseJrnaD3qEiM",normal:[0,0,1],rightRoofHeight:5.5,color:"white",lineWidth:.2,cz:0,rotation:[0,0,-.41015237421866746],lz:5.5,lineColor:"black",lx:6,leftRoofHeight:5.5,centerRoofHeight:[-.5,5.5],cy:2.5,foundationId:"vr622m4sUbseJrnaD3qEiM",relativeAngle:4.71238898038469,roofId:"2v86EFgUZGnV81678JbvWF",rightJoints:["gphnEpjKALdRhPrtitPn39"],locked:!1,cx:-3.4999999999999996,textureType:"Wall Texture Default",leftJoints:["3XaMSJRAJ16nXkn1WKx9DA"],ly:.3,id:"fgcrmKBkK397YQPfDfJ1C1",showLabel:!1,rightPoint:[-3.5,-.5,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{lz:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],foundationId:"vr622m4sUbseJrnaD3qEiM",cy:-.5000000000000013,cx:-11102230246251565e-31,rightPoint:[3.5,-.5,0],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],color:"white",rightRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:7.000000000000002,lineColor:"black",id:"gphnEpjKALdRhPrtitPn39",selected:!1,rightJoints:["mMXGrqXV1RkkkiT4sMy7uW"],relativeAngle:3806478941571964e-31,lineWidth:.2,roofId:"2v86EFgUZGnV81678JbvWF",ly:.3,leftRoofHeight:5.5,normal:[0,0,1],textureType:"Wall Texture Default",leftJoints:["fgcrmKBkK397YQPfDfJ1C1"],windows:[],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],lz:0,selected:!1,lineWidth:.2,lineColor:"black",ridgeLeftPoint:[-.5,1],roofType:"Gable",rotation:[0,0,-.41015237421866746],ridgeRightPoint:[.5,1],color:"#ffffff",wallsId:["gphnEpjKALdRhPrtitPn39"],foundationId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:0,ly:0,type:"Roof",id:"2v86EFgUZGnV81678JbvWF",cy:0,textureType:"No Roof Texture",parentId:"vr622m4sUbseJrnaD3qEiM",locked:!1,thickness:.2,cz:0,cx:0,rise:0,ceiling:!1},{faceColors:["#808080","#808080","#808080","#808080","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:10,color:"#808080",rotation:[0,0,-.41015237421866746],id:"tJwtVMueteLadJkjPMvgHJ",ly:5.2309404248682405,lx:17.77873962075454,parentId:"Ground",cy:-91.40202421369783,selected:!1,cx:-30.993558257452644,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1},{normal:[0,0,1],locked:!1,cy:-78.92340302016538,type:"Cuboid",color:"gray",lx:1.0334892378492886,id:"bsLSWBxdTE3mxEDuQuAp85",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,lz:10,parentId:"Ground",ly:1.0961848981988211,faceColors:["gray","gray","gray","gray","gray","gray"],cz:5,rotation:[0,0,-.41015237421866746],cx:-51.860873283037826},{cx:-50.86971253877132,cy:-76.80735590147192,color:"gray",parentId:"Ground",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lz:10,ly:1.0961848981988211,cz:5,faceColors:["gray","gray","gray","gray","gray","gray"],id:"iiF3WkKwiFkKBVE2vpXCby",lx:1.0334892378492886,normal:[0,0,1],locked:!1,type:"Cuboid"},{cx:-40.795288101438004,normal:[0,0,1],selected:!1,cy:-87.54304825772702,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.57584749281375,cz:5,type:"Cuboid",locked:!1,id:"fxmDEQJYBtbGKzqxLPsYbc",rotation:[0,0,-.41015237421866746],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,parentId:"Ground",color:"gray",lx:2.5033124327375345},{cx:-65.84838339559631,parentId:"Ground",id:"gEHbpQXkCu9RtbMyy3Xryz",solarPowerTower:{},cz:.5,type:"Foundation",lz:1,locked:!1,normal:[0,0,1],solarUpdraftTower:{},lx:23.72966343486742,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},selected:!1,ly:44.45702535517728,cy:23.93484529988586},{foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,type:"Wall",lineWidth:.2,rightJoints:["e5up5WS9fCbKNmdUhKFsh6"],ly:.3,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftJoints:["wxDvuiUvYK71aR1xZ9r86C"],cx:6.378439777987635,windows:[],roofId:"8JTXb2hRmgAaiTxMs35gh1",rightRoofHeight:5,leftRoofHeight:5,leftPoint:[6.378439777987634,-14.93662498464927,0],normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],selected:!1,color:"white",rightPoint:[6.378439777987638,13.906512916742425,0],relativeAngle:1.5707963267948966,lz:5,showLabel:!1,lineColor:"black",lx:28.843137901391696,id:"pk5HH5mW7Fkgf2nUSMZyW9",textureType:"Wall Texture Default",cy:-.5150560339534227,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,locked:!1,relativeAngle:0,selected:!1,rightRoofHeight:5,color:"white",lineColor:"black",lx:6.909976426153277,ly:.3,textureType:"Wall Texture Default",windows:[],leftPoint:[-.5315366481656362,-14.93662498464927,0],lz:5,rightJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],type:"Wall",cx:2.9234515649110024,rightPoint:[6.378439777987641,-14.93662498464927,0],leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,rotation:[0,0,-.41015237421866746],roofId:"8JTXb2hRmgAaiTxMs35gh1",normal:[0,0,1],leftJoints:["jmovDX25miN2VZhEhqh9uy"],cy:-14.93662498464927,lineWidth:.2,parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"wxDvuiUvYK71aR1xZ9r86C",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["ncaNE7qPYcxTMDrSjrKjqC"],type:"Wall",lz:5,rightRoofHeight:5,cy:13.906512916742425,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",selected:!1,cx:2.923451564911001,lx:6.909976426153274,cz:0,lineWidth:.2,id:"e5up5WS9fCbKNmdUhKFsh6",leftJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],locked:!1,lineColor:"black",showLabel:!1,leftRoofHeight:5,ly:.3,leftPoint:[6.378439777987638,13.906512916742425,0],color:"white",roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",textureType:"Wall Texture Default",rightPoint:[-.5315366481656362,13.906512916742425,0],rotation:[0,0,-.41015237421866746],relativeAngle:3.141592653589793,windows:[],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"ncaNE7qPYcxTMDrSjrKjqC",rightJoints:["4z9pAxyVBGgvcBfL2oBkTg"],lineColor:"black",color:"white",type:"Wall",cy:11.331232746975312,locked:!1,windows:[],rightPoint:[-2.6576832408281814,8.755952577208193,0],lz:5,roofId:"8JTXb2hRmgAaiTxMs35gh1",leftJoints:["e5up5WS9fCbKNmdUhKFsh6"],selected:!1,lx:5.572142419633009,leftPoint:[-.5315366481656337,13.90651291674243,0],relativeAngle:-1.962287472589105,leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,cz:0,textureType:"Wall Texture Default",lineWidth:.2,rightRoofHeight:5,cx:-1.5946099444969075,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-2.6576832408281814,-10.301120679068463,0],lineColor:"black",id:"jmovDX25miN2VZhEhqh9uy",leftJoints:["vmWMc4Nmqnx9AxgePRvtFK"],rightRoofHeight:5,ly:.3,cz:0,windows:[],relativeAngle:-1.1407594566434893,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftRoofHeight:5,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lz:5,showLabel:!1,color:"white",cy:-12.618872831858864,roofId:"8JTXb2hRmgAaiTxMs35gh1",lx:5.0998430858751655,cx:-1.5946099444969064,lineWidth:.2,type:"Wall",normal:[0,0,1],locked:!1,rightPoint:[-.5315366481656315,-14.936624984649265,0],selected:!1,rightJoints:["wxDvuiUvYK71aR1xZ9r86C"],foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineColor:"black",type:"Wall",leftPoint:[-2.657683240828184,8.75595257720819,0],rightRoofHeight:5,leftRoofHeight:5,rotation:[0,0,-.41015237421866746],color:"white",normal:[0,0,1],ly:.3,textureType:"Wall Texture Default",parentId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,lz:5,showLabel:!1,rightPoint:[-3.720756537159453,3.0903362037205393,0],relativeAngle:-1.756275603957499,cx:-3.1892198889938186,leftJoints:["ncaNE7qPYcxTMDrSjrKjqC"],roofId:"8JTXb2hRmgAaiTxMs35gh1",lineWidth:.2,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",windows:[],lx:5.764489025482136,id:"4z9pAxyVBGgvcBfL2oBkTg",selected:!1,rightJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],locked:!1,cy:5.923144390464365,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-3.720756537159453,-3.605392237673962,0],roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,leftRoofHeight:5,cx:-3.1892198889938137,leftJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],type:"Wall",cy:-6.953256458371211,windows:[],color:"white",rightRoofHeight:5,rightJoints:["jmovDX25miN2VZhEhqh9uy"],textureType:"Wall Texture Default",lx:6.779594692477702,lz:5,rightPoint:[-2.6576832408281743,-10.30112067906846,0],relativeAngle:-1.4133416859659305,lineColor:"black",id:"vmWMc4Nmqnx9AxgePRvtFK",ly:.3,rotation:[0,0,-.41015237421866746],lineWidth:.2,locked:!1,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{showLabel:!1,lz:5,type:"Wall",leftJoints:["4z9pAxyVBGgvcBfL2oBkTg"],relativeAngle:-1.5707963267948966,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,lineColor:"black",rightJoints:["vmWMc4Nmqnx9AxgePRvtFK"],windows:[],color:"white",ly:.3,roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",rightRoofHeight:5,id:"9Zt1Jh2MmnkaBKaBtYD19E",leftPoint:[-3.720756537159453,3.0903362037205393,0],lineWidth:.2,lx:6.695728441394501,rightPoint:[-3.720756537159453,-3.605392237673962,0],cy:-.25752801697671135,cz:0,leftRoofHeight:5,locked:!1,cx:-3.720756537159453,textureType:"Wall Texture Default",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{normal:[0,0,1],type:"Foundation",solarPowerTower:{},cz:.5,parentId:"Ground",lx:60.173882739434646,solarAbsorberPipe:{},id:"iUb7PSjszf44Zg2YisnC92",rotation:[0,0,-.41015237421866746],locked:!1,ly:39.103180000408386,selected:!1,cy:-92.19721962691857,cx:-31.79924395729909,lz:1,solarUpdraftTower:{}},{cy:-.32818957860566655,normal:[0,0,1],relativeAngle:1.5707963267948966,rightPoint:[29.377149084975663,17.921810421394337,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:5,type:"Wall",locked:!1,cz:0,roofId:"sYHDayEkzyov7moz6ZSxMu",lx:36.5,selected:!1,leftPoint:[29.377149084975656,-18.57818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",id:"8M5AjFRvfsj1XtZsKZtgrR",leftJoints:["vBUTysuRjhgkSBTqe4LbYB"],cx:29.37714908497567,ly:.3,rightJoints:["fof9eWFH74VGAR5Qpn7HGe"],color:"white",foundationId:"iUb7PSjszf44Zg2YisnC92",textureType:"Wall Texture Default",lz:5,leftRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightRoofHeight:5,ly:.3,cy:-18.328189578605663,lz:5,locked:!1,cx:.3771490849756667,cz:0,leftPoint:[-28.622850915024337,-18.07818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",color:"white",lx:58.00215513237418,id:"vBUTysuRjhgkSBTqe4LbYB",selected:!1,normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",relativeAngle:6.27456483106745,leftRoofHeight:5,leftJoints:["nSEqG4yU7gG9aGhAQPfSs7"],rightJoints:["8M5AjFRvfsj1XtZsKZtgrR"],rotation:[0,0,-.41015237421866746],rightPoint:[29.37714908497567,-18.578189578605652,1],foundationId:"iUb7PSjszf44Zg2YisnC92",roofId:"sYHDayEkzyov7moz6ZSxMu",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,color:"white",cz:0,relativeAngle:4.726276976315656,type:"Wall",rightPoint:[-28.622850915024348,-18.078189578605663,1],parentId:"iUb7PSjszf44Zg2YisnC92",cy:-.07818957860566123,rightRoofHeight:5,lx:36.003472054789384,foundationId:"iUb7PSjszf44Zg2YisnC92",locked:!1,ly:.3,rightJoints:["vBUTysuRjhgkSBTqe4LbYB"],textureType:"Wall Texture Default",leftJoints:["fof9eWFH74VGAR5Qpn7HGe"],rotation:[0,0,-.41015237421866746],leftPoint:[-29.122850915024344,17.921810421394333,1],lz:5,cx:-28.87285091502434,id:"nSEqG4yU7gG9aGhAQPfSs7",leftRoofHeight:5,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"iUb7PSjszf44Zg2YisnC92",cz:0,lx:58.50000000000001,color:"white",leftRoofHeight:5,leftPoint:[29.377149084975663,17.921810421394337,1],rightPoint:[-29.122850915024344,17.921810421394333,1],rightRoofHeight:5,type:"Wall",leftJoints:["8M5AjFRvfsj1XtZsKZtgrR"],cx:.12714908497566135,cy:17.921810421394333,roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,id:"fof9eWFH74VGAR5Qpn7HGe",lz:5,relativeAngle:3.141592653589793,locked:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],parentId:"iUb7PSjszf44Zg2YisnC92",rightJoints:["nSEqG4yU7gG9aGhAQPfSs7"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ridgeLeftPoint:[0,1],wallsId:["vyB1xaFqKE2eYECPWHSjtt"],selected:!1,lineColor:"black",thickness:.2,textureType:"No Roof Texture",cy:0,locked:!1,lx:0,foundationId:"67y6tGP5Z273J9KfaZt2qW",type:"Roof",id:"vamU7TTNZeBARJChC8HbPy",ridgeRightPoint:[0,1],showLabel:!1,cz:0,lineWidth:.2,lz:0,cx:0,parentId:"67y6tGP5Z273J9KfaZt2qW",ly:0,color:"#ffffff",roofType:"Gable",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rise:.2748876513561207,ceiling:!1},{rotation:[0,0,-.41015237421866746],color:"white",leftJoints:["aAXg3DaZ5U93pUr6mT9qRa"],rightPoint:[21.241978419322884,-31.078254176042062,1],relativeAngle:-8350902447731317e-31,cz:0,lz:6,normal:[0,0,1],leftPoint:[-21.300892857609153,-31.07825417604202,1],rightJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],textureType:"Wall Texture Default",cx:-.02945721914313104,cy:-31.078254176042037,selected:!1,lx:42.54287127693204,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eH6hFH3ypVjToGKtFHdgq1",ly:.3,parentId:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{leftJoints:["eH6hFH3ypVjToGKtFHdgq1"],cx:21.241978419322905,textureType:"Wall Texture Default",type:"Wall",parentId:"un11oZ7V5tAhWhFKuL8M5Q",lx:60.8712338982037,locked:!1,roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eVDG7gqXM3uLaHhJS5k6Fh",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",selected:!1,lz:6,cz:0,rightPoint:[21.241978419322912,29.792979722161636,1],leftPoint:[21.241978419322884,-31.078254176042062,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:6,leftRoofHeight:6,ly:.3,rightJoints:["n7z5CC6u32wsAzBksvYYPh"],color:"white",relativeAngle:1.5707963267948961,normal:[0,0,1],cy:-.6426372269402103,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",id:"n7z5CC6u32wsAzBksvYYPh",cz:0,cx:-.029457219143118607,color:"white",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftPoint:[21.241978419322912,29.792979722161636,1],rightPoint:[-21.300892857609156,29.792979722161586,1],rightJoints:["aAXg3DaZ5U93pUr6mT9qRa"],lx:42.542871276932075,lz:6,locked:!1,rightRoofHeight:6,selected:!1,ly:.3,cy:29.792979722161608,relativeAngle:-3.1415926535897922,textureType:"Wall Texture Default",leftRoofHeight:6,normal:[0,0,1],leftJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],rotation:[0,0,-.41015237421866746],roofId:"a67eFG3dY8EiYs3GWgTwsF",parentId:"un11oZ7V5tAhWhFKuL8M5Q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"un11oZ7V5tAhWhFKuL8M5Q",textureType:"Wall Texture Default",cy:-.6426372269402094,cx:-21.300892857609156,ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948966,lx:60.87123389820361,leftPoint:[-21.300892857609156,29.792979722161586,1],rightPoint:[-21.300892857609153,-31.07825417604202,1],selected:!1,leftRoofHeight:6,locked:!1,rightJoints:["eH6hFH3ypVjToGKtFHdgq1"],rightRoofHeight:6,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",id:"aAXg3DaZ5U93pUr6mT9qRa",cz:0,color:"white",lz:6,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",leftJoints:["n7z5CC6u32wsAzBksvYYPh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{solarUpdraftTower:{},parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},selected:!1,cy:87.53589386962994,lz:1,cz:.5,type:"Foundation",id:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,normal:[0,0,1],cx:45.25333009420649,solarAbsorberPipe:{},lx:43.198179226129824,ly:63.27584645952004},{rightJoints:["e9GuUTJEvD6Q7osTyxTwrk"],color:"white",lx:52.85122191172576,rightRoofHeight:10,ly:.3,lz:10,leftRoofHeight:10,cx:-1.8343056423094959,locked:!1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:3.141592653589793,leftJoints:["3Yax97DpPm9sAXkyokJjCv"],type:"Wall",parentId:"pdEGhJFD3W3BmcX1EPbyWH",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",cz:0,cy:17.27662252082144,leftPoint:[24.59130531355338,17.276622520821444,1],id:"2zTB9zP2crzAGhXAKtKuuQ",rightPoint:[-28.259916598172374,17.276622520821448,1],selected:!1,textureType:"Wall Texture Default",roofId:"u17BQ8h2PCTPBYHjaSoxnN",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,rightPoint:[24.591305313553377,17.276622520821448,1],leftJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightJoints:["2zTB9zP2crzAGhXAKtKuuQ"],cx:24.591305313553377,normal:[0,0,1],foundationId:"pdEGhJFD3W3BmcX1EPbyWH",id:"3Yax97DpPm9sAXkyokJjCv",type:"Wall",locked:!1,lx:33.26826380090492,rotation:[0,0,-.41015237421866746],ly:.3,textureType:"Wall Texture Default",color:"white",relativeAngle:1.5707963267948968,lz:10,leftPoint:[24.591305313553377,-15.991641280083474,1],selected:!1,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofId:"u17BQ8h2PCTPBYHjaSoxnN",leftRoofHeight:10,cz:0,cy:.6424906203689869,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"u17BQ8h2PCTPBYHjaSoxnN",rightRoofHeight:10,normal:[0,0,1],cy:-15.99164128008347,rotation:[0,0,-.41015237421866746],rightPoint:[24.59130531355339,-15.99164128008347,1],relativeAngle:13444206397855422e-32,leftJoints:["e9GuUTJEvD6Q7osTyxTwrk"],leftRoofHeight:10,textureType:"Wall Texture Default",lz:10,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",leftPoint:[-28.259916598172378,-15.991641280083478,1],cx:-1.8343056423094914,ly:.3,parentId:"pdEGhJFD3W3BmcX1EPbyWH",id:"9QvBYUfBnBzYQEjDjyYwwJ",cz:0,rightJoints:["3Yax97DpPm9sAXkyokJjCv"],selected:!1,type:"Wall",locked:!1,color:"white",lx:52.85122191172576,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:33.268263800904926,roofId:"u17BQ8h2PCTPBYHjaSoxnN",locked:!1,color:"white",lz:10,leftPoint:[-28.259916598172374,17.276622520821448,1],cz:0,cx:-28.259916598172378,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",rightRoofHeight:10,rightJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightPoint:[-28.25991659817238,-15.991641280083474,1],leftJoints:["2zTB9zP2crzAGhXAKtKuuQ"],rotation:[0,0,-.41015237421866746],cy:.6424906203689869,parentId:"pdEGhJFD3W3BmcX1EPbyWH",leftRoofHeight:10,selected:!1,id:"e9GuUTJEvD6Q7osTyxTwrk",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",relativeAngle:-1.5707963267948968,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:35.70031798940237,cy:9.0346445367948,cx:-34.76955763240692,solarPowerTower:{},id:"pdEGhJFD3W3BmcX1EPbyWH",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,parentId:"Ground",type:"Foundation",color:"#808080",lx:61.18626972549096,rotation:[0,0,-.41015237421866746],locked:!1,cz:.5},{ly:.3,rightJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[-11.5,12.5,0],selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftRoofHeight:5,color:"white",rightRoofHeight:5,locked:!1,leftJoints:["9NzKjLTF3oM85YSQpL4gnd"],relativeAngle:1.5707963267948961,lz:5,cx:-11.5,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",cz:0,lx:4.5000000000000036,cy:10.249999999999998,parentId:"5Ccs4YQJG3fyuyHdGw79zD",textureType:"Wall Texture Default",id:"qVHFnW8AAY4XUoieeiErxH",leftPoint:[-11.500000000000002,7.9999999999999964,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-3.699284342853991,cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"o6KGNbWFg87od5BX9EpsTo",leftRoofHeight:5,rightJoints:["9NzKjLTF3oM85YSQpL4gnd"],lz:5,normal:[0,0,1],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[19,8,0],type:"Wall",rightRoofHeight:5,lx:23.399166797479726,locked:!1,leftJoints:["2TSEdoLpnDva8vLd5CzUbS"],relativeAngle:1.577946340946004,selected:!1,textureType:"Wall Texture Default",cx:19.08365147411056,color:"white",rotation:[0,0,-.41015237421866746],ly:.3,leftPoint:[19.167302948221124,-15.398568685707982,0],parentId:"5Ccs4YQJG3fyuyHdGw79zD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"iLELU7fMnA7QkYUmgQBEWM",id:"2TSEdoLpnDva8vLd5CzUbS",rightRoofHeight:5,locked:!1,normal:[0,0,1],cy:-15.449284342853987,parentId:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],leftPoint:[-17.5,-15.5,0],foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightPoint:[19.16730294822113,-15.398568685707975,0],selected:!1,rightJoints:["o6KGNbWFg87od5BX9EpsTo"],leftJoints:["g6f1sfDxicEvG7uLqaixdo"],relativeAngle:.0027662535123536003,type:"Wall",cx:.8336514741105656,lz:5,textureType:"Wall Texture Default",leftRoofHeight:5,lx:36.667443240675304,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftJoints:["susL6EqdzG6nqxMNGZaDXi"],rightPoint:[-17.5,-15.5,0],rotation:[0,0,-.41015237421866746],ly:.3,leftRoofHeight:5,selected:!1,color:"white",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"g6f1sfDxicEvG7uLqaixdo",parentId:"5Ccs4YQJG3fyuyHdGw79zD",lx:12.5,textureType:"Wall Texture Default",locked:!1,rightJoints:["2TSEdoLpnDva8vLd5CzUbS"],cy:-9.25,type:"Wall",leftPoint:[-17.5,-3,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightRoofHeight:5,lz:5,relativeAngle:4.71238898038469,cx:-17.5,cz:0,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,ly:46.30008176444467,color:"#808080",selected:!1,solarUpdraftTower:{},locked:!1,solarAbsorberPipe:{},type:"Foundation",cy:36.64822593291561,id:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],cx:-16.881510447516995,lx:50.75601134711293,parentId:"Ground",lz:1,normal:[0,0,1],solarPowerTower:{}},{type:"Wall",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384212,13.466478685194005,1],rightJoints:["wv4UgZqFkoaJSym14cGEUi"],ly:.3,rightRoofHeight:10,roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,normal:[0,0,1],cx:2.2442947755447555,leftRoofHeight:10,relativeAngle:3.141592653589793,cy:13.466478685194003,cz:0,rotation:[0,0,-.41015237421866746],parentId:"bEJsUFdHaD6DHGcx6x8yR6",color:"white",id:"3VxH8hmRUhtWZN2xHFt4SG",selected:!1,textureType:"Wall Texture Default",leftJoints:["xrxYGVSxLCof2hSDyYDBhi"],leftPoint:[17.711998595473723,13.466478685193998,1],lz:10,lx:30.935407639857935,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[17.71199859547372,-9.01511632562459,1],color:"white",lz:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rotation:[0,0,-.41015237421866746],cy:2.2256811797847043,lx:22.481595010818598,leftJoints:["arZ3wqpChkyUrckbL7omCG"],roofId:"gTmk5BL11HKrSyJkFQtskK",textureType:"Wall Texture Default",locked:!1,cx:17.71199859547372,rightPoint:[17.711998595473712,13.466478685194001,1],parentId:"bEJsUFdHaD6DHGcx6x8yR6",leftRoofHeight:10,ly:.3,type:"Wall",normal:[0,0,1],id:"xrxYGVSxLCof2hSDyYDBhi",relativeAngle:1.570796326794897,selected:!1,rightJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{foundationId:"bEJsUFdHaD6DHGcx6x8yR6",textureType:"Wall Texture Default",parentId:"bEJsUFdHaD6DHGcx6x8yR6",cy:-9.015116325624591,type:"Wall",roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,selected:!1,relativeAngle:5742147832930279e-32,lx:30.935407639857935,id:"arZ3wqpChkyUrckbL7omCG",rightPoint:[17.711998595473727,-9.015116325624586,1],normal:[0,0,1],leftRoofHeight:10,leftPoint:[-13.223409044384207,-9.015116325624595,1],cx:2.244294775544758,ly:.3,cz:0,lz:10,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],leftJoints:["wv4UgZqFkoaJSym14cGEUi"],color:"white",rightJoints:["xrxYGVSxLCof2hSDyYDBhi"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],selected:!1,leftPoint:[-13.223409044384212,13.466478685194005,1],lx:22.4815950108186,cz:0,locked:!1,leftRoofHeight:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",type:"Wall",parentId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384217,-9.0151163256246,1],ly:.3,leftJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,relativeAngle:-1.5707963267948968,cx:-13.22340904438421,id:"wv4UgZqFkoaJSym14cGEUi",roofId:"gTmk5BL11HKrSyJkFQtskK",cy:2.225681179784705,normal:[0,0,1],textureType:"Wall Texture Default",rightJoints:["arZ3wqpChkyUrckbL7omCG"],color:"white",lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:38.16899134770527,locked:!1,type:"Foundation",cz:.5,ly:29.987807733938208,solarAbsorberPipe:{},solarUpdraftTower:{},solarPowerTower:{},parentId:"Ground",cx:-9.057642071147427,rotation:[0,0,-.41015237421866746],color:"#808080",id:"bEJsUFdHaD6DHGcx6x8yR6",normal:[0,0,1],cy:51.32581716422129,lz:1,selected:!1},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,lx:19.88616352810249,selected:!1,rightJoints:["bQ2Kx7puBgpzyzLtLqMSws"],normal:[0,0,1],ly:.3,cz:0,color:"white",leftJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",id:"wQJum4dZFQ5ppcaqoirdh1",rightPoint:[-8.228455824549409,10.031147764731335,1],lz:5,locked:!1,cx:1.7146259395018353,textureType:"Wall Texture Default",relativeAngle:3.141592653589793,parentId:"wBnvyTf1aAJoT1h5Lem3nN",type:"Wall",cy:10.03114776473134,leftPoint:[11.657707703553081,10.031147764731333,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cz:0,roofId:"1qyyipEsGS2s5T9XgP6Hmh",type:"Wall",color:"white",selected:!1,parentId:"wBnvyTf1aAJoT1h5Lem3nN",leftPoint:[11.657707703553083,-7.894846587717293,1],ly:.3,rightRoofHeight:5,relativeAngle:1.5707963267948972,normal:[0,0,1],rotation:[0,0,-.41015237421866746],foundationId:"wBnvyTf1aAJoT1h5Lem3nN",lx:17.92599435244863,leftRoofHeight:5,leftJoints:["cEMfGqLjg1Ef23MmrZJMBi"],id:"oiFAJnXcnAH7zdnComwnZ7",cy:1.0681505885070242,lz:5,rightJoints:["wQJum4dZFQ5ppcaqoirdh1"],textureType:"Wall Texture Default",cx:11.657707703553074,rightPoint:[11.657707703553076,10.03114776473133,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],locked:!1,relativeAngle:8932627134891857e-32,lz:5,ly:.3,cy:-7.894846587717294,lx:19.886163528102486,selected:!1,leftRoofHeight:5,rightJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",color:"white",normal:[0,0,1],parentId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,cx:1.714625939501836,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightPoint:[11.657707703553083,-7.894846587717293,1],type:"Wall",leftJoints:["bQ2Kx7puBgpzyzLtLqMSws"],id:"cEMfGqLjg1Ef23MmrZJMBi",cz:0,leftPoint:[-8.22845582454941,-7.894846587717293,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,selected:!1,cx:-8.228455824549414,locked:!1,cz:0,color:"white",roofId:"1qyyipEsGS2s5T9XgP6Hmh",rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948968,rightJoints:["cEMfGqLjg1Ef23MmrZJMBi"],type:"Wall",leftJoints:["wQJum4dZFQ5ppcaqoirdh1"],lx:17.925994352448633,cy:1.0681505885070197,leftPoint:[-8.228455824549409,10.031147764731335,1],id:"bQ2Kx7puBgpzyzLtLqMSws",parentId:"wBnvyTf1aAJoT1h5Lem3nN",ly:.3,normal:[0,0,1],textureType:"Wall Texture Default",rightPoint:[-8.22845582454941,-7.894846587717293,1],leftRoofHeight:5,lz:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{parentId:"Ground",rotation:[0,0,-.41015237421866746],id:"wBnvyTf1aAJoT1h5Lem3nN",type:"Foundation",solarAbsorberPipe:{},ly:25.324222344655617,cx:-30.225503309474327,solarPowerTower:{},cz:.5,lz:1,normal:[0,0,1],locked:!1,lx:23.992259398375765,color:"#808080",solarUpdraftTower:{},cy:64.37240201413404,selected:!1},{selected:!1,color:"white",rightRoofHeight:5,ly:.3,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"9NzKjLTF3oM85YSQpL4gnd",cy:7.999999999999999,cz:0,leftJoints:["o6KGNbWFg87od5BX9EpsTo"],lx:30.5,leftRoofHeight:5,showLabel:!1,lineColor:"black",leftPoint:[19,7.999999999999998,0],locked:!1,lz:5,cx:3.75,normal:[0,0,1],rightJoints:["qVHFnW8AAY4XUoieeiErxH"],lineWidth:.2,rightPoint:[-11.5,8,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",type:"Wall",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",relativeAngle:3.141592653589793,rotation:[0,0,-.41015237421866746],windows:[],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["4HqBTHcSgWW5QKhSZyPhns"],selected:!1,rightRoofHeight:5,id:"uSo7fsB5ruR2pmb3hS5LJZ",leftPoint:[-11.5,12.499999999999998,0],leftRoofHeight:5,lz:5,relativeAngle:3.141592653589793,showLabel:!1,lx:12,cz:0,textureType:"Wall Texture Default",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",leftJoints:["qVHFnW8AAY4XUoieeiErxH"],locked:!1,roofId:"iLELU7fMnA7QkYUmgQBEWM",cx:-17.5,parentId:"5Ccs4YQJG3fyuyHdGw79zD",lineWidth:.2,ly:.3,rotation:[0,0,-.41015237421866746],cy:12.5,normal:[0,0,1],type:"Wall",rightPoint:[-23.5,12.5,0],lineColor:"black",windows:[],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,lx:15.5,rightRoofHeight:5,leftRoofHeight:5,showLabel:!1,relativeAngle:4.71238898038469,cy:4.75,cz:0,parentId:"5Ccs4YQJG3fyuyHdGw79zD",color:"white",cx:-23.5,textureType:"Wall Texture Default",leftPoint:[-23.5,12.5,0],rotation:[0,0,-.41015237421866746],lineWidth:.2,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightJoints:["susL6EqdzG6nqxMNGZaDXi"],type:"Wall",roofId:"iLELU7fMnA7QkYUmgQBEWM",lz:5,lineColor:"black",id:"4HqBTHcSgWW5QKhSZyPhns",normal:[0,0,1],selected:!1,windows:[],leftJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],rightPoint:[-23.5,-3,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{selected:!1,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"susL6EqdzG6nqxMNGZaDXi",color:"white",cy:-3.000000000000001,cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[-17.5,-3,0],leftRoofHeight:5,lz:5,leftJoints:["4HqBTHcSgWW5QKhSZyPhns"],parentId:"5Ccs4YQJG3fyuyHdGw79zD",normal:[0,0,1],textureType:"Wall Texture Default",locked:!1,ly:.3,lx:6,leftPoint:[-23.5,-3.0000000000000018,0],lineColor:"black",lineWidth:.2,showLabel:!1,rightJoints:["g6f1sfDxicEvG7uLqaixdo"],windows:[],roofId:"iLELU7fMnA7QkYUmgQBEWM",relativeAngle:29605947323337506e-32,cx:-20.5,type:"Wall",rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:3.141592653589793,color:"white",leftPoint:[14.941525004458317,12.56263735597024,1],cy:12.562637355970242,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,rightPoint:[-13.249437673269998,12.562637355970246,1],cx:.8460436655941601,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,rightJoints:["1RLyYLqhL7EB8W88F1YjMf"],leftJoints:["8SK72dWsX2KdwBhjqAJrHR"],normal:[0,0,1],type:"Wall",lz:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",textureType:"Wall Texture Default",rightRoofHeight:12,lx:28.190962677728308,parentId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,locked:!1,id:"eAv1PVUtpNQ3MSDZw48MQs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightJoints:["eAv1PVUtpNQ3MSDZw48MQs"],locked:!1,rightRoofHeight:12,lx:23.84442368092651,leftRoofHeight:12,ly:.3,relativeAngle:1.573797223078846,type:"Wall",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",id:"8SK72dWsX2KdwBhjqAJrHR",cz:0,color:"white",cx:14.977302271968785,rotation:[0,0,-.41015237421866746],leftJoints:["feUXDC3dk8QN3nPhgvxRs7"],selected:!1,leftPoint:[15.013079539479259,-11.281678961006573,1],lz:12,cy:.6404791974818389,rightPoint:[14.941525004458313,12.562637355970246,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{parentId:"9VLFJ7oUEizHpLYBMkGrSR",locked:!1,id:"mJUeyE2zphErZr6GzDs3tZ",color:"white",leftJoints:["1RLyYLqhL7EB8W88F1YjMf"],rotation:[0,0,-.41015237421866746],lz:12,lx:10.00000000000001,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,rightJoints:["j1cSjqWhsVxayuMSQv24u3"],leftPoint:[-13.48692046052075,-20.78167896100656,1],selected:!1,textureType:"Wall Texture Default",leftRoofHeight:12,rightPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,relativeAngle:6.2831853071795845,cy:-20.781678961006566,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",type:"Wall",normal:[0,0,1],cx:-8.486920460520746,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{rightJoints:["mJUeyE2zphErZr6GzDs3tZ"],rightPoint:[-13.486920460520746,-20.78167896100657,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",locked:!1,textureType:"Wall Texture Default",ly:.3,rotation:[0,0,-.41015237421866746],leftRoofHeight:12,type:"Wall",normal:[0,0,1],cy:-4.109520802518161,rightRoofHeight:12,lz:12,selected:!1,leftJoints:["eAv1PVUtpNQ3MSDZw48MQs"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",relativeAngle:4.705266963855983,cx:-13.36817906689537,lx:33.345161998719504,id:"1RLyYLqhL7EB8W88F1YjMf",cz:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftPoint:[-13.249437673270002,12.562637355970253,1],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{selected:!1,solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{},normal:[0,0,1],cy:-20.68271396979996,id:"9VLFJ7oUEizHpLYBMkGrSR",type:"Foundation",cz:.5,lz:1,lx:37.181112111986096,color:"#808080",cx:-37.24334643439944,locked:!1,ly:48.16142132853967,solarAbsorberPipe:{}},{rotation:[0,0,-.41015237421866746],rightRoofHeight:10,leftJoints:["2EixC2HpxvUhCDPQSQd8uE"],roofId:"teQS3ohvRHqAbgCQQahyC6",ly:.3,leftPoint:[22.429243972447885,21.46242092084928,1],type:"Wall",normal:[0,0,1],selected:!1,lz:10,lx:44.9605119434254,rightPoint:[-22.53126797097753,21.462420920849283,1],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",cx:-.05101199926482192,id:"c79sKVUHUztGcC5p3emVv9",color:"white",locked:!1,cy:21.46242092084928,cz:0,leftRoofHeight:10,relativeAngle:3.141592653589793,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",textureType:"Wall Texture Default",rightJoints:["rAsfTcgvLcTeECYxyTewjt"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"teQS3ohvRHqAbgCQQahyC6",cx:22.42924397244788,lz:10,cz:0,rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",type:"Wall",relativeAngle:1.5707963267948968,rightPoint:[22.429243972447868,21.46242092084928,1],normal:[0,0,1],id:"2EixC2HpxvUhCDPQSQd8uE",locked:!1,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",leftRoofHeight:10,lx:42.36942370339931,rightJoints:["c79sKVUHUztGcC5p3emVv9"],ly:.3,leftJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[22.42924397244787,-20.907002782550034,1],selected:!1,rightRoofHeight:10,cy:.27770906914962534,textureType:"Wall Texture Default",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,locked:!1,leftPoint:[-22.531267970977524,-20.90700278255003,1],roofId:"teQS3ohvRHqAbgCQQahyC6",lz:10,rightRoofHeight:10,leftJoints:["rAsfTcgvLcTeECYxyTewjt"],relativeAngle:15803706520383676e-32,rotation:[0,0,-.41015237421866746],cy:-20.907002782550027,selected:!1,lx:44.9605119434254,textureType:"Wall Texture Default",cx:-.05101199926482192,leftRoofHeight:10,type:"Wall",rightPoint:[22.429243972447882,-20.907002782550023,1],color:"white",ly:.3,rightJoints:["2EixC2HpxvUhCDPQSQd8uE"],id:"hxjd42T86KZffMsDx5Lnqd",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],ly:.3,locked:!1,cx:-22.531267970977524,leftRoofHeight:10,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",color:"white",relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",selected:!1,type:"Wall",lz:10,rightRoofHeight:10,id:"rAsfTcgvLcTeECYxyTewjt",cz:0,cy:.27770906914962445,rightPoint:[-22.53126797097753,-20.90700278255004,1],leftJoints:["c79sKVUHUztGcC5p3emVv9"],rightJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[-22.53126797097753,21.462420920849283,1],rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",roofId:"teQS3ohvRHqAbgCQQahyC6",lx:42.36942370339932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:.5,id:"tjMZKt5v9D1sx6sc6Xyaq2",lx:46.90554216771846,cy:18.6131690650482,locked:!1,color:"#808080",solarPowerTower:{},selected:!1,rotation:[0,0,-.41015237421866746],lz:1,parentId:"Ground",ly:43.713031743362755,cx:59.64808106801135,solarUpdraftTower:{},type:"Foundation",solarAbsorberPipe:{},normal:[0,0,1]},{leftJoints:["1nApY26ge55fxfDJGTDRg7"],color:"white",relativeAngle:3.141592653589793,normal:[0,0,1],selected:!1,leftPoint:[23.979857556057137,22.372040279665153,1],cy:22.37204027966516,cx:.07009613256013125,leftRoofHeight:10,rightPoint:[-23.83966529093686,22.372040279665164,1],lz:10,foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,rightJoints:["rZvSe3ehuF6gYShWHjg7Kt"],ly:.3,locked:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRoofHeight:10,roofId:"9TF7gEynqtnsWJGidoBUNq",id:"hcTBY8guDEpwEg5jtYtD3H",rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lx:47.81952284699399,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],roofId:"9TF7gEynqtnsWJGidoBUNq",selected:!1,foundationId:"2LZNQJZFPrCxZzv5NuwumV",locked:!1,rightRoofHeight:10,textureType:"Wall Texture Default",parentId:"2LZNQJZFPrCxZzv5NuwumV",leftRoofHeight:10,rightPoint:[23.979857556057127,22.37204027966517,1],relativeAngle:1.5707963267948966,rightJoints:["hcTBY8guDEpwEg5jtYtD3H"],id:"1nApY26ge55fxfDJGTDRg7",lx:42.78808681818175,cy:.9779968705742945,cz:0,leftJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],color:"white",leftPoint:[23.979857556057127,-20.41604653851659,1],type:"Wall",normal:[0,0,1],ly:.3,cx:23.979857556057123,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,id:"4gP6SGPKJj7CUqEnRFmQ9x",cy:-20.416046538516596,color:"white",locked:!1,relativeAngle:3714710506593678e-31,leftJoints:["rZvSe3ehuF6gYShWHjg7Kt"],rightPoint:[23.979857556057144,-20.41604653851658,1],lx:47.819522846994,selected:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cx:.07009613256014546,lz:10,leftRoofHeight:10,type:"Wall",rightJoints:["1nApY26ge55fxfDJGTDRg7"],roofId:"9TF7gEynqtnsWJGidoBUNq",leftPoint:[-23.83966529093686,-20.416046538516596,1],rightRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,rightPoint:[-23.839665290936864,-20.416046538516596,1],leftJoints:["hcTBY8guDEpwEg5jtYtD3H"],roofId:"9TF7gEynqtnsWJGidoBUNq",cx:-23.839665290936868,rightJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],leftPoint:[-23.83966529093686,22.372040279665164,1],cy:.9779968705742856,relativeAngle:-1.5707963267948968,id:"rZvSe3ehuF6gYShWHjg7Kt",ly:.3,selected:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",color:"white",lx:42.78808681818176,textureType:"Wall Texture Default",type:"Wall",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{locked:!1,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cz:.5,color:"#808080",lx:52.581175557196865,solarUpdraftTower:{},ly:46.345317346771616,lz:1,id:"2LZNQJZFPrCxZzv5NuwumV",selected:!1,type:"Foundation",cy:-66.29767782769949,solarPowerTower:{},normal:[0,0,1],cx:24.045330033541646,parentId:"Ground"},{textureType:"Wall Texture Default",lineColor:"black",leftPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",lz:12,rightPoint:[8.51307953947926,-14.281678961006572,1],lineWidth:.2,relativeAngle:.4964227534048815,locked:!1,type:"Wall",cx:2.5130795394792607,windows:[],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",color:"white",id:"j1cSjqWhsVxayuMSQv24u3",showLabel:!1,selected:!1,lx:13.647344063956183,normal:[0,0,1],cz:0,cy:-17.531678961006573,leftJoints:["mJUeyE2zphErZr6GzDs3tZ"],leftRoofHeight:12,rotation:[0,0,-.41015237421866746],rightJoints:["svVfgRXxxLmkheyww2W4ad"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{leftPoint:[8.513079539479259,-11.281678961006572,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,id:"feUXDC3dk8QN3nPhgvxRs7",selected:!1,textureType:"Wall Texture Default",cx:11.763079539479257,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightPoint:[15.013079539479259,-11.281678961006573,1],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,ly:.3,rotation:[0,0,-.41015237421866746],type:"Wall",lz:12,leftJoints:["svVfgRXxxLmkheyww2W4ad"],lineColor:"black",windows:[],cy:-11.28167896100657,normal:[0,0,1],rightJoints:["8SK72dWsX2KdwBhjqAJrHR"],relativeAngle:0,lineWidth:.2,rightRoofHeight:12,color:"white",showLabel:!1,locked:!1,lx:6.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{ly:.3,textureType:"Wall Texture Default",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",relativeAngle:1.5707963267948974,lineWidth:.2,selected:!1,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,-.41015237421866746],windows:[],lx:3.000000000000001,showLabel:!1,type:"Wall",color:"white",lineColor:"black",normal:[0,0,1],leftRoofHeight:12,rightJoints:["feUXDC3dk8QN3nPhgvxRs7"],lz:12,locked:!1,cx:8.513079539479259,cz:0,cy:-12.78167896100657,rightPoint:[8.513079539479259,-11.281678961006572,1],rightRoofHeight:12,leftJoints:["j1cSjqWhsVxayuMSQv24u3"],id:"svVfgRXxxLmkheyww2W4ad",leftPoint:[8.51307953947926,-14.281678961006572,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",color:"white",relativeAngle:3.1415926535897927,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:5,lx:8.873370500562523,roofId:"iCAiZhiTVrLLqoQWH1g8xu",rightPoint:[-4.33188166169194,11.821078427256497,0],id:"1k4PTfybuAQ33E2nttLT4d",rightJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],lz:5,ly:.3,leftRoofHeight:5,cx:.10480358858932037,cy:11.821078427256495,leftPoint:[4.541488838870581,11.821078427256491,0],cz:0,selected:!1,textureType:"Wall Texture Default",parentId:"m4iUcU4yAYwkvkodEmkEet",foundationId:"m4iUcU4yAYwkvkodEmkEet",leftJoints:["annVBiZ5xysQxyv34DuQgv"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,foundationId:"m4iUcU4yAYwkvkodEmkEet",textureType:"Wall Texture Default",leftRoofHeight:5,type:"Wall",id:"annVBiZ5xysQxyv34DuQgv",rotation:[0,0,-.41015237421866746],selected:!1,color:"white",cy:-.7092647056353876,cx:4.541488838870581,ly:.3,parentId:"m4iUcU4yAYwkvkodEmkEet",normal:[0,0,1],roofId:"iCAiZhiTVrLLqoQWH1g8xu",locked:!1,rightRoofHeight:5,lz:5,rightPoint:[4.541488838870581,11.821078427256495,0],leftJoints:["fE5GSES3t1e72zkQ5eaMtN"],rightJoints:["1k4PTfybuAQ33E2nttLT4d"],leftPoint:[4.541488838870581,-13.23960783852727,0],relativeAngle:1.5707963267948966,lx:25.060686265783765,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:4003792784912203e-31,cy:-13.239607838527268,rightPoint:[4.541488838870582,-13.239607838527267,0],locked:!1,rightRoofHeight:5,id:"fE5GSES3t1e72zkQ5eaMtN",leftRoofHeight:5,leftJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],rightJoints:["annVBiZ5xysQxyv34DuQgv"],type:"Wall",cx:.10480358858932082,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftPoint:[-4.33188166169194,-13.23960783852727,0],foundationId:"m4iUcU4yAYwkvkodEmkEet",ly:.3,lx:8.873370500562523,lz:5,roofId:"iCAiZhiTVrLLqoQWH1g8xu",parentId:"m4iUcU4yAYwkvkodEmkEet",color:"white",selected:!1,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-4.33188166169194,11.821078427256497,0],rightRoofHeight:5,cz:0,cy:-.7092647056353867,foundationId:"m4iUcU4yAYwkvkodEmkEet",color:"white",rotation:[0,0,-.41015237421866746],roofId:"iCAiZhiTVrLLqoQWH1g8xu",leftJoints:["1k4PTfybuAQ33E2nttLT4d"],lz:5,textureType:"Wall Texture Default",lx:25.060686265783765,leftRoofHeight:5,cx:-4.33188166169194,locked:!1,id:"dqGGsMEnQRvAtVj8JUXBJ1",selected:!1,parentId:"m4iUcU4yAYwkvkodEmkEet",rightPoint:[-4.33188166169194,-13.23960783852727,0],normal:[0,0,1],ly:.3,type:"Wall",relativeAngle:-1.5707963267948966,rightJoints:["fE5GSES3t1e72zkQ5eaMtN"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],selected:!1,lx:12.02609775935612,parentId:"Ground",solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],cz:.5,locked:!1,lz:1,ly:39.808565196188674,type:"Foundation",solarUpdraftTower:{},cx:-53.11572356309672,id:"m4iUcU4yAYwkvkodEmkEet",color:"#808080",cy:-13.056870681152052},{cx:-2.4577065861477623,leftPoint:[4.807994986966596,2.7315947133271403,0],leftJoints:["cTujmRqECeyH6sGwqfoDEM"],type:"Wall",id:"91sCr2ydHgygQWRuaJ5N1C",relativeAngle:-3.141592653589793,cy:2.7315947133271394,ly:.3,parentId:"bkH7VRrzUTdvxfSm8xVMfT",rotation:[0,0,-.41015237421866746],locked:!1,lx:14.531403146228717,rightPoint:[-9.72340815926212,2.7315947133271385,0],rightJoints:["jhMUxbjEpDbcfFhgvBAFQj"],normal:[0,0,1],textureType:"Wall Texture Default",selected:!1,cz:0,roofId:"vRe6nzFrDCWVtSCu332MH4",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftRoofHeight:16,color:"white",lz:16,rightRoofHeight:16,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{parentId:"bkH7VRrzUTdvxfSm8xVMfT",selected:!1,rightJoints:["91sCr2ydHgygQWRuaJ5N1C"],color:"white",lz:16,leftRoofHeight:16,roofId:"vRe6nzFrDCWVtSCu332MH4",rightPoint:[4.807994986966594,2.7315947133271434,0],lx:5.477642221583295,ly:.3,type:"Wall",centerRoofHeight:[0,17.3393317550628],foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftPoint:[4.807994986966587,-2.746047508256152,0],leftJoints:["9qVmVQPuu4fH6aAQqyfjRg"],id:"cTujmRqECeyH6sGwqfoDEM",textureType:"Wall Texture Default",locked:!1,cy:-.007226397464504375,cz:0,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:1.5707963267948952,rightRoofHeight:16,cx:4.80799498696659,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",leftPoint:[-9.723408159262116,-2.7460475082561513,0],selected:!1,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",normal:[0,0,1],leftRoofHeight:16,rotation:[0,0,-.41015237421866746],leftJoints:["jhMUxbjEpDbcfFhgvBAFQj"],rightRoofHeight:16,parentId:"bkH7VRrzUTdvxfSm8xVMfT",roofId:"vRe6nzFrDCWVtSCu332MH4",locked:!1,id:"9qVmVQPuu4fH6aAQqyfjRg",rightJoints:["cTujmRqECeyH6sGwqfoDEM"],textureType:"Wall Texture Default",cx:-2.4577065861477636,lz:16,cz:0,relativeAngle:-15280327900245335e-32,lx:14.531403146228705,rightPoint:[4.807994986966588,-2.7460475082561535,0],cy:-2.7460475082561526,ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{lz:16,cy:-.007226397464506373,selected:!1,id:"jhMUxbjEpDbcfFhgvBAFQj",roofId:"vRe6nzFrDCWVtSCu332MH4",normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",parentId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",textureType:"Wall Texture Default",cz:0,rightJoints:["9qVmVQPuu4fH6aAQqyfjRg"],leftPoint:[-9.72340815926212,2.7315947133271385,0],leftJoints:["91sCr2ydHgygQWRuaJ5N1C"],lx:5.47764222158329,cx:-9.723408159262117,relativeAngle:-1.5707963267948957,ly:.3,leftRoofHeight:16,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",centerRoofHeight:[0,17.3393317550628],rightPoint:[-9.723408159262116,-2.7460475082561513,0],rightRoofHeight:16,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cz:.5,lz:1,cx:78.75570287833209,selected:!1,color:"#808080",solarPowerTower:{},cy:10.912053869608645,solarUpdraftTower:{},id:"bkH7VRrzUTdvxfSm8xVMfT",normal:[0,0,1],parentId:"Ground",ly:5.705242176061485,type:"Foundation",rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:20.778562085655192,locked:!1},{rotation:[0,0,-.41015237421866746],selected:!1,normal:[0,0,1],color:"white",rightRoofHeight:11,type:"Wall",rightPoint:[-10.286622985342673,4.983310762184353,0],leftRoofHeight:11,cz:0,textureType:"Wall Texture Default",locked:!1,parentId:"qJBTbMiP4tUMstkk4bQqAp",cx:.8987861583692425,id:"oNZPm4ForjT1jLCRGXT8ae",leftPoint:[12.084195302081158,4.983310762184358,0],foundationId:"qJBTbMiP4tUMstkk4bQqAp",lz:11,cy:4.983310762184356,roofId:"tLNDomb3SubspErPERhojH",ly:.3,lx:22.37081828742383,rightJoints:["twTFceoz8nr7JM6esRsvns"],leftJoints:["8Pn1CKwtmisKkjic3nAhPK"],relativeAngle:-3.141592653589793,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,leftRoofHeight:11,parentId:"qJBTbMiP4tUMstkk4bQqAp",rotation:[0,0,-.41015237421866746],lx:9.215971205723465,relativeAngle:1.5707963267948954,locked:!1,rightPoint:[12.084195302081158,4.98331076218436,0],roofId:"tLNDomb3SubspErPERhojH",cy:.3753251593226281,color:"white",rightRoofHeight:11,type:"Wall",leftPoint:[12.084195302081147,-4.232660443539104,0],normal:[0,0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",id:"8Pn1CKwtmisKkjic3nAhPK",centerRoofHeight:[0,12.111126896848333],selected:!1,ly:.3,leftJoints:["2nMWmvd9mtkAxjJG8mCTx2"],cz:0,rightJoints:["oNZPm4ForjT1jLCRGXT8ae"],textureType:"Wall Texture Default",cx:12.084195302081152,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,rightJoints:["8Pn1CKwtmisKkjic3nAhPK"],leftPoint:[-10.286622985342662,-4.2326604435391,0],rightRoofHeight:11,foundationId:"qJBTbMiP4tUMstkk4bQqAp",type:"Wall",selected:!1,roofId:"tLNDomb3SubspErPERhojH",rightPoint:[12.084195302081158,-4.2326604435391,0],leftRoofHeight:11,ly:.3,cx:.8987861583692478,lz:11,leftJoints:["twTFceoz8nr7JM6esRsvns"],relativeAngle:0,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",parentId:"qJBTbMiP4tUMstkk4bQqAp",cy:-4.2326604435391,lx:22.37081828742382,cz:0,rotation:[0,0,-.41015237421866746],id:"2nMWmvd9mtkAxjJG8mCTx2",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{ly:.3,leftPoint:[-10.286622985342673,4.983310762184353,0],cx:-10.286622985342667,normal:[0,0,1],leftJoints:["oNZPm4ForjT1jLCRGXT8ae"],cy:.3753251593226268,lx:9.215971205723452,rightPoint:[-10.286622985342662,-4.2326604435391,0],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,12.111126896848333],type:"Wall",foundationId:"qJBTbMiP4tUMstkk4bQqAp",leftRoofHeight:11,roofId:"tLNDomb3SubspErPERhojH",color:"white",selected:!1,id:"twTFceoz8nr7JM6esRsvns",rightJoints:["2nMWmvd9mtkAxjJG8mCTx2"],parentId:"qJBTbMiP4tUMstkk4bQqAp",rightRoofHeight:11,textureType:"Wall Texture Default",relativeAngle:-1.5707963267948954,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{solarPowerTower:{},selected:!1,normal:[0,0,1],lx:29.0500894298776,id:"qJBTbMiP4tUMstkk4bQqAp",color:"#808080",cz:.5,solarUpdraftTower:{},lz:1,parentId:"Ground",locked:!1,ly:13.367138022352988,cy:28.71057712188597,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],type:"Foundation",cx:36.57481860706345},{ly:.3,cy:2.971894027777658,textureType:"Wall Texture Default",selected:!1,leftPoint:[12.422123880582443,2.9718940277776653,1],rightJoints:["nNQo9acqRqKRWfE4a1RvLy"],normal:[0,0,1],type:"Wall",foundationId:"64tiQZ7Po62MhdtE1e44n9",cz:0,rotation:[0,0,-.41015237421866746],id:"5QyDHSHQi5g83yTByESY7g",color:"white",rightPoint:[7.6013879231388755,2.9718940277776573,1],locked:!1,lz:13,cx:10.011755901860653,lx:4.8207359574435635,relativeAngle:-3.1415926535897922,leftJoints:["2DDFqyaAZAAuWTVgy7UTYL"],parentId:"64tiQZ7Po62MhdtE1e44n9",roofId:"oTjPo4r99EKfdasnxT3n5a",leftRoofHeight:13,rightRoofHeight:13,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{parentId:"64tiQZ7Po62MhdtE1e44n9",leftPoint:[12.422123880582435,-2.1178940951050267,1],leftJoints:["7JuGqBdByKra32qVf2wuMP"],cz:0,locked:!1,ly:.3,foundationId:"64tiQZ7Po62MhdtE1e44n9",color:"white",rotation:[0,0,-.41015237421866746],selected:!1,lz:13,cy:.42699996633631887,leftRoofHeight:13,cx:12.422123880582438,lx:5.089788122882689,normal:[0,0,1],relativeAngle:1.570796326794896,roofId:"oTjPo4r99EKfdasnxT3n5a",rightJoints:["5QyDHSHQi5g83yTByESY7g"],type:"Wall",rightRoofHeight:13,rightPoint:[12.422123880582443,2.9718940277776653,1],id:"2DDFqyaAZAAuWTVgy7UTYL",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{foundationId:"64tiQZ7Po62MhdtE1e44n9",id:"7JuGqBdByKra32qVf2wuMP",textureType:"Wall Texture Default",rightPoint:[12.422123880582431,-2.1178940951050196,1],lx:4.820735957443555,leftRoofHeight:13,roofId:"oTjPo4r99EKfdasnxT3n5a",ly:.3,selected:!1,lz:13,leftJoints:["nNQo9acqRqKRWfE4a1RvLy"],cx:10.011755901860655,rotation:[0,0,-.41015237421866746],rightRoofHeight:13,rightJoints:["2DDFqyaAZAAuWTVgy7UTYL"],leftPoint:[7.601387923138878,-2.1178940951050227,1],relativeAngle:6448443757120744e-31,cy:-2.117894095105022,locked:!1,normal:[0,0,1],color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",cz:0,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{id:"nNQo9acqRqKRWfE4a1RvLy",foundationId:"64tiQZ7Po62MhdtE1e44n9",textureType:"Wall Texture Default",roofId:"oTjPo4r99EKfdasnxT3n5a",rotation:[0,0,-.41015237421866746],leftRoofHeight:13,color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",ly:.3,cz:0,relativeAngle:-1.5707963267948963,leftPoint:[7.6013879231388755,2.9718940277776573,1],rightRoofHeight:13,cx:7.601387923138877,normal:[0,0,1],rightJoints:["7JuGqBdByKra32qVf2wuMP"],type:"Wall",lx:5.089788122882682,rightPoint:[7.601387923138878,-2.1178940951050227,1],selected:!1,locked:!1,lz:13,leftJoints:["5QyDHSHQi5g83yTByESY7g"],cy:.4269999663363171,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{selected:!1,ly:6.942959260815169,parentId:"Ground",lz:1,id:"64tiQZ7Po62MhdtE1e44n9",solarUpdraftTower:{},cy:28.3064695776253,locked:!1,color:"#808080",cx:24.870540041807864,lx:25.896215586399297,rotation:[0,0,-.41015237421866746],solarPowerTower:{},normal:[0,0,1],solarAbsorberPipe:{},type:"Foundation",cz:.5},{color:"white",lx:6.102875967687821,lz:11,rightJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,relativeAngle:-3.1415926535897927,cy:3.4313212286858255,textureType:"Wall Texture Default",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["pzCu78KeKhhbMuf9rgBh5L"],selected:!1,leftPoint:[3.0844752908601185,3.4313212286858272,0],foundationId:"kqR5p2bajX4NMTBq55qbCM",locked:!1,parentId:"kqR5p2bajX4NMTBq55qbCM",ly:.3,id:"4CXQZA8oGxMYG5uuTdJH4z",rightPoint:[-3.018400676827702,3.431321228685824,0],cx:.03303730701620822,leftRoofHeight:11,normal:[0,0,1],rightRoofHeight:11,rotation:[0,0,-.41015237421866746],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[3.0844752908601167,-6.300430996731014,0],cx:3.0844752908601176,normal:[0,0,1],foundationId:"kqR5p2bajX4NMTBq55qbCM",cy:-1.4345548840225932,color:"white",id:"pzCu78KeKhhbMuf9rgBh5L",rightRoofHeight:11,cz:0,rightPoint:[3.0844752908601185,3.4313212286858272,0],centerRoofHeight:[-.5,11],rotation:[0,0,-.41015237421866746],lz:11,relativeAngle:1.5707963267948963,leftRoofHeight:11,textureType:"Wall Texture Default",selected:!1,locked:!1,ly:.3,parentId:"kqR5p2bajX4NMTBq55qbCM",type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["kQ44ExCwR71BEyjwkSCp38"],rightJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"kqR5p2bajX4NMTBq55qbCM",textureType:"Wall Texture Default",relativeAngle:-5821376180034847e-31,rightPoint:[3.0844752908601167,-6.300430996731014,0],id:"kQ44ExCwR71BEyjwkSCp38",normal:[0,0,1],roofId:"fS4RCk5GfqcPBkrsfQqupD",rightJoints:["pzCu78KeKhhbMuf9rgBh5L"],rightRoofHeight:11,cy:-6.300430996731012,lx:6.102875967687822,selected:!1,color:"white",ly:.3,leftJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",leftRoofHeight:11,type:"Wall",lz:11,rotation:[0,0,-.41015237421866746],cx:.03303730701620533,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,lz:11,rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",rightJoints:["kQ44ExCwR71BEyjwkSCp38"],cx:-3.018400676827704,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948972,selected:!1,cy:-1.434554884022593,foundationId:"kqR5p2bajX4NMTBq55qbCM",color:"white",rightRoofHeight:11,locked:!1,leftJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416834,id:"ufN8sfE783eMNceqzrR88z",normal:[0,0,1],centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],textureType:"Wall Texture Default",ly:.3,type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",ly:13.304430432789896,selected:!1,color:"#808080",solarPowerTower:{},locked:!1,normal:[0,0,1],cy:32.738819911856226,cz:.5,solarAbsorberPipe:{},id:"kqR5p2bajX4NMTBq55qbCM",cx:72.31692383934994,rotation:[0,0,-.41015237421866746],lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},lz:1},{rightJoints:["9YnLeekp8YrBjSwNEVxSmp"],roofId:"wrKEiNvyDQopU6C5MqvRMM",cy:7.3527391531452935,leftPoint:[5.468301535132202,7.352739153145294,1],id:"2qkVxdRDddbpLN4sHJK2gE",relativeAngle:3.141592653589793,leftRoofHeight:4,parentId:"98vBSiAe7BeqTZRNu482vh",rightRoofHeight:4,cx:-.9755536194629697,leftJoints:["gz2Gm7sAdANkmLzo5wFbxx"],color:"white",lz:4,rotation:[0,0,-.41015237421866746],rightPoint:[-7.419408774058143,7.352739153145295,1],lx:12.887710309190346,foundationId:"98vBSiAe7BeqTZRNu482vh",normal:[0,0,1],type:"Wall",locked:!1,selected:!1,cz:0,ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,roofId:"wrKEiNvyDQopU6C5MqvRMM",leftPoint:[5.468301535132206,-7.370642577725551,1],centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",id:"gz2Gm7sAdANkmLzo5wFbxx",normal:[0,0,1],rightJoints:["2qkVxdRDddbpLN4sHJK2gE"],type:"Wall",leftRoofHeight:4,textureType:"Wall Texture Default",lz:4,relativeAngle:1.5707963267948963,selected:!1,rightPoint:[5.4683015351322,7.352739153145298,1],cy:-.008951712290128144,locked:!1,leftJoints:["vha1dDK5ppjp6f9bgr45uq"],color:"white",cx:5.468301535132204,rightRoofHeight:4,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"98vBSiAe7BeqTZRNu482vh",lx:14.723381730870852,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["9YnLeekp8YrBjSwNEVxSmp"],id:"vha1dDK5ppjp6f9bgr45uq",relativeAngle:2756667859198411e-31,cz:0,color:"white",leftRoofHeight:4,ly:.3,rotation:[0,0,-.41015237421866746],lz:4,textureType:"Wall Texture Default",cy:-7.370642577725552,leftPoint:[-7.4194087740581365,-7.370642577725553,1],locked:!1,cx:-.9755536194629646,rightJoints:["gz2Gm7sAdANkmLzo5wFbxx"],parentId:"98vBSiAe7BeqTZRNu482vh",roofId:"wrKEiNvyDQopU6C5MqvRMM",normal:[0,0,1],type:"Wall",selected:!1,rightPoint:[5.468301535132206,-7.370642577725551,1],rightRoofHeight:4,lx:12.887710309190334,foundationId:"98vBSiAe7BeqTZRNu482vh",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948961,centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",ly:.3,cx:-7.419408774058138,textureType:"Wall Texture Default",lz:4,cy:-.008951712290129699,leftPoint:[-7.419408774058143,7.352739153145295,1],id:"9YnLeekp8YrBjSwNEVxSmp",cz:0,color:"white",rightPoint:[-7.4194087740581365,-7.370642577725553,1],lx:14.723381730870852,roofId:"wrKEiNvyDQopU6C5MqvRMM",rightRoofHeight:4,normal:[0,0,1],leftJoints:["2qkVxdRDddbpLN4sHJK2gE"],rightJoints:["vha1dDK5ppjp6f9bgr45uq"],type:"Wall",locked:!1,selected:!1,parentId:"98vBSiAe7BeqTZRNu482vh",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:.5,type:"Foundation",color:"#808080",id:"98vBSiAe7BeqTZRNu482vh",solarAbsorberPipe:{},solarPowerTower:{},rotation:[0,0,-.41015237421866746],lx:15.543629167882932,cy:-34.03935192999712,cx:66.44654466726774,normal:[0,0,1],locked:!1,parentId:"Ground",solarUpdraftTower:{},lz:1,selected:!1,ly:16.051182282542253},{relativeAngle:-3.141592653589792,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,id:"7zFHG6rEsyAEeiBjZ3Fqiv",cz:0,roofId:"52yUcWyJUbmGw2PC5d5KiK",textureType:"Wall Texture Default",cy:2.3029070359201342,cx:-2.061194479172505,lx:4.563843535322344,leftPoint:[.2207272884886666,2.302907035920138,0],color:"white",locked:!1,leftRoofHeight:10,selected:!1,normal:[0,0,1],lz:10,type:"Wall",rightPoint:[-4.343116246833677,2.3029070359201307,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",ly:.3,rightJoints:["sfm78zxYm2PZeqMiLJ7sRS"],leftJoints:["qEu4R9jBDYekHJdsyGPkHu"],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,cx:.2207272884886636,lz:10,normal:[0,0,1],relativeAngle:1.5707963267948952,locked:!1,cy:.09783532837621656,lx:4.410143415087843,rightJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],type:"Wall",selected:!1,ly:.3,leftRoofHeight:10,cz:0,textureType:"Wall Texture Default",id:"qEu4R9jBDYekHJdsyGPkHu",rotation:[0,0,-.41015237421866746],rightPoint:[.2207272884886666,2.302907035920138,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",leftPoint:[.2207272884886606,-2.1072363791677047,0],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",leftJoints:["k13k8dUZo1jLk9Pubbz3Yu"],color:"white",roofId:"52yUcWyJUbmGw2PC5d5KiK",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightJoints:["qEu4R9jBDYekHJdsyGPkHu"],leftPoint:[-4.34311624683366,-2.1072363791677042,0],rightPoint:[.2207272884886606,-2.1072363791677047,0],rightRoofHeight:10,id:"k13k8dUZo1jLk9Pubbz3Yu",ly:.3,leftRoofHeight:10,cz:0,leftJoints:["sfm78zxYm2PZeqMiLJ7sRS"],lx:4.563843535322321,color:"white",locked:!1,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",textureType:"Wall Texture Default",type:"Wall",selected:!1,relativeAngle:-9730596730869277e-32,rotation:[0,0,-.41015237421866746],roofId:"52yUcWyJUbmGw2PC5d5KiK",cy:-2.1072363791677047,normal:[0,0,1],cx:-2.0611944791725,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftRoofHeight:10,relativeAngle:-1.5707963267948928,cx:-4.343116246833668,rightRoofHeight:10,ly:.3,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",locked:!1,roofId:"52yUcWyJUbmGw2PC5d5KiK",leftJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],leftPoint:[-4.343116246833677,2.3029070359201307,0],lx:4.410143415087835,rightJoints:["k13k8dUZo1jLk9Pubbz3Yu"],type:"Wall",lz:10,foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",color:"white",selected:!1,textureType:"Wall Texture Default",rightPoint:[-4.34311624683366,-2.1072363791677042,0],rotation:[0,0,-.41015237421866746],cz:0,id:"sfm78zxYm2PZeqMiLJ7sRS",normal:[0,0,1],cy:.09783532837621323,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:4.607404636305792,cy:-35.24749355392174,locked:!1,type:"Foundation",cx:69.68931082715157,cz:.5,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},selected:!1,parentId:"Ground",lx:8.9358229854864,id:"tafet8SHZ3Nd8kXyfeZ9FR",lz:1},{color:"white",relativeAngle:3.141592653589793,rightRoofHeight:5.25,id:"vG7sqxy4RdGecDZ8BgqUDU",lx:9.337227070632437,rotation:[0,0,-.41015237421866746],rightJoints:["9cZUThxWj1ikMEGtxc3eiz"],lz:5.25,leftJoints:["3JjPc2Pp9fAroM9UdivE1u"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",normal:[0,0,1],textureType:"Wall Texture Default",cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],leftRoofHeight:5.25,cz:0,cx:-.07907462591906578,leftPoint:[4.589538909397152,3.3516986330408534,0],roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,centerRoofHeight:[0,6.225217409690371],type:"Wall",selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,normal:[0,0,1],rightPoint:[4.589538909397152,3.3516986330408534,0],lx:6.320731749368616,cz:0,locked:!1,rightJoints:["vG7sqxy4RdGecDZ8BgqUDU"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",rightRoofHeight:5.25,type:"Wall",selected:!1,relativeAngle:1.5707963267948961,color:"white",rotation:[0,0,-.41015237421866746],cy:.19133275835654517,lz:5.25,id:"3JjPc2Pp9fAroM9UdivE1u",roofId:"qYDMJTekV8NWHzzCiVYwcs",leftPoint:[4.58953890939715,-2.969033116327763,0],parentId:"a7Ykq8sCMoZy5zM2ybNhKs",leftJoints:["cABST71Bn78stcfTw5z7y2"],cx:4.589538909397151,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{textureType:"Wall Texture Default",cz:0,leftRoofHeight:5.25,cy:-2.969033116327763,locked:!1,roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",rightPoint:[4.58953890939715,-2.969033116327763,0],cx:-.07907462591906667,rightRoofHeight:5.25,lz:5.25,relativeAngle:-4756114491922529e-32,selected:!1,type:"Wall",normal:[0,0,1],color:"white",leftJoints:["9cZUThxWj1ikMEGtxc3eiz"],rightJoints:["3JjPc2Pp9fAroM9UdivE1u"],centerRoofHeight:[0,6.225217409690371],rotation:[0,0,-.41015237421866746],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"cABST71Bn78stcfTw5z7y2",lx:9.337227070632434,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rotation:[0,0,-.41015237421866746],color:"white",selected:!1,locked:!1,ly:.3,relativeAngle:-1.5707963267948966,leftPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,roofId:"qYDMJTekV8NWHzzCiVYwcs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",cy:.19133275835654628,rightJoints:["cABST71Bn78stcfTw5z7y2"],cx:-4.747688161235283,lx:6.320731749368617,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",textureType:"Wall Texture Default",leftJoints:["vG7sqxy4RdGecDZ8BgqUDU"],type:"Wall",rightPoint:[-4.747688161235283,-2.9690331163277626,0],rightRoofHeight:5.25,leftRoofHeight:5.25,cz:0,id:"9cZUThxWj1ikMEGtxc3eiz",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{color:"#808080",solarPowerTower:{},type:"Foundation",locked:!1,selected:!1,lx:10.667610013832563,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],cx:35.81768474812716,rotation:[0,0,-.41015237421866746],cy:-31.968353023498793,solarUpdraftTower:{},cz:.5,id:"a7Ykq8sCMoZy5zM2ybNhKs",lz:1,ly:10.658064363814518},{locked:!1,id:"a6q6Txnypc9iPjohNf43CB",leftPoint:[4.779738528665165,10.937352047913798,1],cx:.395865158322978,leftJoints:["4RfjPoTAycowc8B5SwzkpM"],rightJoints:["jWqRj42hxzMWofSpUH42dz"],rotation:[0,0,-.41015237421866746],parentId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,rightPoint:[-3.9880082120192073,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",leftRoofHeight:10,lz:10,ly:.3,cz:0,color:"white",normal:[0,0,1],rightRoofHeight:10,roofId:"jSo2aHHx58NTeAQuDZodmY",type:"Wall",lx:8.767746740684375,relativeAngle:3.141592653589793,textureType:"Wall Texture Default",cy:10.937352047913794,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[4.779738528665165,3.130296275146503,1],normal:[0,0,1],roofId:"jSo2aHHx58NTeAQuDZodmY",rightJoints:["a6q6Txnypc9iPjohNf43CB"],rotation:[0,0,-.41015237421866746],ly:.3,relativeAngle:1.5707963267948963,cz:0,id:"4RfjPoTAycowc8B5SwzkpM",parentId:"uBZaguS4Mp4iydQBE88CA1",cx:4.779738528665163,locked:!1,textureType:"Wall Texture Default",leftJoints:["nRLvRbWCCyQkZn2SaeWzhR"],rightPoint:[4.779738528665165,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,lx:7.807055772767293,lz:10,leftRoofHeight:10,rightRoofHeight:10,cy:7.033824161530151,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],leftRoofHeight:10,cz:0,lx:8.767746740684375,cx:.3958651583229764,rightJoints:["4RfjPoTAycowc8B5SwzkpM"],type:"Wall",cy:3.130296275146505,foundationId:"uBZaguS4Mp4iydQBE88CA1",ly:.3,rightRoofHeight:10,id:"nRLvRbWCCyQkZn2SaeWzhR",parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[4.779738528665165,3.130296275146503,1],lz:10,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",relativeAngle:30390194173108526e-32,locked:!1,leftPoint:[-3.9880082120192113,3.1302962751465033,1],roofId:"jSo2aHHx58NTeAQuDZodmY",leftJoints:["jWqRj42hxzMWofSpUH42dz"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,relativeAngle:-1.5707963267948968,cy:7.03382416153015,parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[-3.9880082120192113,3.1302962751465033,1],ly:.3,lx:7.807055772767296,roofId:"jSo2aHHx58NTeAQuDZodmY",cx:-3.988008212019209,color:"white",foundationId:"uBZaguS4Mp4iydQBE88CA1",leftPoint:[-3.9880082120192073,10.937352047913798,1],rightJoints:["nRLvRbWCCyQkZn2SaeWzhR"],selected:!1,cz:0,leftRoofHeight:10,rightRoofHeight:10,leftJoints:["a6q6Txnypc9iPjohNf43CB"],type:"Wall",locked:!1,textureType:"Wall Texture Default",normal:[0,0,1],id:"jWqRj42hxzMWofSpUH42dz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:26.759313634558907,cy:-19.722143796679788,cz:.5,lx:9.74476233969461,solarAbsorberPipe:{},locked:!1,selected:!1,parentId:"Ground",normal:[0,0,1],color:"#808080",type:"Foundation",id:"uBZaguS4Mp4iydQBE88CA1",cx:17.121825988451324,solarPowerTower:{},solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],lz:1},{leftJoints:["ngPHRhypQfV68DYtm6sZvW"],cz:0,leftRoofHeight:10,parentId:"rQh2s1iBHWvFGFdzViXEe2",rotation:[0,0,-.41015237421866746],cx:-.4824098277040898,leftPoint:[12.274733699058217,12.570550728118558,1],locked:!1,rightJoints:["sbPEhSxLJ7xiM71jhPJUkw"],textureType:"Wall Texture Default",roofId:"tN1a6B1uCvjUWCkBQctrVG",color:"white",selected:!1,lz:10,cy:12.570550728118565,ly:.3,relativeAngle:3.141592653589793,foundationId:"rQh2s1iBHWvFGFdzViXEe2",id:"b12LAtSYTNxCwTbH7iRFmz",rightRoofHeight:10,rightPoint:[-13.239553354466391,12.570550728118558,1],lx:25.51428705352461,type:"Wall",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[12.274733699058213,-12.675216149553869,1],normal:[0,0,1],leftJoints:["2z5tfxd1xStwLEwGZ1Enk7"],locked:!1,rightPoint:[12.274733699058217,12.570550728118558,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",relativeAngle:1.5707963267948966,ly:.3,lz:10,lx:25.245766877672445,cz:0,roofId:"tN1a6B1uCvjUWCkBQctrVG",selected:!1,cy:-.05233271071766232,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],parentId:"rQh2s1iBHWvFGFdzViXEe2",cx:12.274733699058219,id:"ngPHRhypQfV68DYtm6sZvW",color:"white",leftRoofHeight:10,textureType:"Wall Texture Default",rightJoints:["b12LAtSYTNxCwTbH7iRFmz"],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"tN1a6B1uCvjUWCkBQctrVG",rightPoint:[12.274733699058219,-12.675216149553865,1],color:"white",foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.514287053524612,cz:0,leftPoint:[-13.239553354466391,-12.675216149553885,1],leftJoints:["sbPEhSxLJ7xiM71jhPJUkw"],selected:!1,id:"2z5tfxd1xStwLEwGZ1Enk7",parentId:"rQh2s1iBHWvFGFdzViXEe2",normal:[0,0,1],rightJoints:["ngPHRhypQfV68DYtm6sZvW"],rightRoofHeight:10,leftRoofHeight:10,type:"Wall",ly:.3,relativeAngle:34811022461136335e-32,rotation:[0,0,-.41015237421866746],lz:10,cy:-12.675216149553874,locked:!1,textureType:"Wall Texture Default",cx:-.4824098277040827,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,selected:!1,roofId:"tN1a6B1uCvjUWCkBQctrVG",cz:0,leftJoints:["b12LAtSYTNxCwTbH7iRFmz"],lz:10,cx:-13.239553354466391,locked:!1,foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.245766877672445,id:"sbPEhSxLJ7xiM71jhPJUkw",rightJoints:["2z5tfxd1xStwLEwGZ1Enk7"],textureType:"Wall Texture Default",leftRoofHeight:10,relativeAngle:-1.5707963267948968,rightRoofHeight:10,rightPoint:[-13.239553354466395,-12.675216149553886,1],cy:-.05233271071766321,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],color:"white",parentId:"rQh2s1iBHWvFGFdzViXEe2",leftPoint:[-13.239553354466391,12.570550728118558,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:27.015265076182526,solarPowerTower:{},id:"rQh2s1iBHWvFGFdzViXEe2",lz:1,rotation:[0,0,-.41015237421866746],cy:-75.35128568516778,normal:[0,0,1],cx:46.98901169365807,cz:.5,solarUpdraftTower:{},parentId:"Ground",selected:!1,type:"Foundation",locked:!1,color:"#808080",ly:28.698582154704336,solarAbsorberPipe:{}},{leftPoint:[3.881236454413665,2.590871964313816,0],rotation:[0,0,-.41015237421866746],lx:13.122757014665611,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",textureType:"Wall Texture Default",parentId:"kLLR11PM8xK326yQ5QVzHF",cx:-2.68014205291914,leftRoofHeight:16,cy:2.590871964313818,locked:!1,id:"gs8TZionAFZcvbLtmKeykq",normal:[0,0,1],relativeAngle:3.141592653589793,foundationId:"kLLR11PM8xK326yQ5QVzHF",lz:16,ly:.3,rightRoofHeight:16,color:"white",selected:!1,type:"Wall",rightJoints:["9qCk45C9zpiC2iX7xDbSMH"],leftJoints:["rohGrk56Rmwrds2U1CuXPp"],rightPoint:[-9.241520560251946,2.59087196431382,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rightRoofHeight:16,cx:3.881236454413662,rotation:[0,0,-.41015237421866746],leftJoints:["3d9FbdLzNegyUKLjvqVp9P"],centerRoofHeight:[0,17.714737050020105],roofId:"mgoQMGVeVMwiZzvh6DtsHC",color:"white",id:"rohGrk56Rmwrds2U1CuXPp",selected:!1,rightJoints:["gs8TZionAFZcvbLtmKeykq"],foundationId:"kLLR11PM8xK326yQ5QVzHF",textureType:"Wall Texture Default",locked:!1,type:"Wall",leftPoint:[3.8812364544136595,-2.6095545856794877,0],lx:5.200426549993304,cy:-.009341310682835946,normal:[0,0,1],lz:16,parentId:"kLLR11PM8xK326yQ5QVzHF",ly:.3,cz:0,leftRoofHeight:16,relativeAngle:1.5707963267948957,rightPoint:[3.881236454413665,2.590871964313816,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{locked:!1,parentId:"kLLR11PM8xK326yQ5QVzHF",foundationId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],normal:[0,0,1],textureType:"Wall Texture Default",cx:-2.6801420529191438,leftJoints:["9qCk45C9zpiC2iX7xDbSMH"],cy:-2.6095545856794904,color:"white",leftRoofHeight:16,ly:.3,relativeAngle:40609381948055113e-32,leftPoint:[-9.241520560251947,-2.609554585679493,0],rightJoints:["rohGrk56Rmwrds2U1CuXPp"],type:"Wall",selected:!1,id:"3d9FbdLzNegyUKLjvqVp9P",rightPoint:[3.8812364544136595,-2.6095545856794877,0],roofId:"mgoQMGVeVMwiZzvh6DtsHC",cz:0,lz:16,rightRoofHeight:16,lx:13.122757014665607,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cx:-9.241520560251946,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",lz:16,relativeAngle:-1.570796326794897,cy:-.009341310682836612,normal:[0,0,1],foundationId:"kLLR11PM8xK326yQ5QVzHF",parentId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],lx:5.200426549993313,color:"white",leftJoints:["gs8TZionAFZcvbLtmKeykq"],locked:!1,leftPoint:[-9.241520560251946,2.59087196431382,0],id:"9qCk45C9zpiC2iX7xDbSMH",rightRoofHeight:16,ly:.3,centerRoofHeight:[0,17.714737050020105],selected:!1,rightJoints:["3d9FbdLzNegyUKLjvqVp9P"],leftRoofHeight:16,rightPoint:[-9.241520560251947,-2.609554585679493,0],textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rotation:[0,0,-.41015237421866746],cy:-78.99513775014256,color:"#808080",solarUpdraftTower:{},lz:1,selected:!1,parentId:"Ground",cz:.5,cx:57.21273152304917,locked:!1,solarAbsorberPipe:{},solarPowerTower:{},type:"Foundation",normal:[0,0,1],id:"kLLR11PM8xK326yQ5QVzHF",lx:20.705717238442087,ly:5.889181614425833},{parentId:"x5CDMTRHrHH6ChAJLKJCrV",cz:0,rightRoofHeight:11,lx:21.722848351168093,id:"6V62Zt3rayMTYsccknpXaH",lz:11,ly:.3,leftRoofHeight:11,cx:4.010629943427583,type:"Wall",locked:!1,cy:4.151117918815318,leftPoint:[14.87205411901163,4.151117918815315,0],selected:!1,relativeAngle:3.1415926535897927,roofId:"5Fxdv1WWmCMeawRz9mKuqV",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftJoints:["9wfJs9iCWUXsCC7X64D8Nb"],color:"white",rightPoint:[-6.8507942321564625,4.151117918815323,0],normal:[0,0,1],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightJoints:["qD9BfhCuxt9GxywQHZujJQ"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,roofId:"5Fxdv1WWmCMeawRz9mKuqV",parentId:"x5CDMTRHrHH6ChAJLKJCrV",textureType:"Wall Texture Default",lx:8.340566324530702,rightPoint:[14.87205411901163,4.151117918815315,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",locked:!1,cx:14.872054119011626,normal:[0,0,1],leftPoint:[14.872054119011624,-4.189448405715386,0],color:"white",rightRoofHeight:11,rightJoints:["6V62Zt3rayMTYsccknpXaH"],cy:-.019165243450035785,ly:.3,centerRoofHeight:[0,12.060818180566665],leftJoints:["eVyuLptBvR2cKWFWdRTpDm"],leftRoofHeight:11,rotation:[0,0,-.41015237421866746],selected:!1,type:"Wall",lz:11,id:"9wfJs9iCWUXsCC7X64D8Nb",relativeAngle:1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"eVyuLptBvR2cKWFWdRTpDm",leftJoints:["qD9BfhCuxt9GxywQHZujJQ"],lz:11,leftRoofHeight:11,cx:4.010629943427585,textureType:"Wall Texture Default",cz:0,selected:!1,rightPoint:[14.872054119011624,-4.189448405715386,0],parentId:"x5CDMTRHrHH6ChAJLKJCrV",type:"Wall",color:"white",ly:.3,rightJoints:["9wfJs9iCWUXsCC7X64D8Nb"],cy:-4.189448405715389,leftPoint:[-6.850794232156455,-4.189448405715391,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:20443415277360858e-32,roofId:"5Fxdv1WWmCMeawRz9mKuqV",lx:21.72284835116808,normal:[0,0,1],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["6V62Zt3rayMTYsccknpXaH"],centerRoofHeight:[0,12.060818180566665],locked:!1,rightPoint:[-6.850794232156455,-4.189448405715391,0],type:"Wall",rightJoints:["eVyuLptBvR2cKWFWdRTpDm"],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cy:-.01916524345003401,lz:11,leftRoofHeight:11,rightRoofHeight:11,relativeAngle:-1.5707963267948957,color:"white",cz:0,id:"qD9BfhCuxt9GxywQHZujJQ",lx:8.340566324530712,roofId:"5Fxdv1WWmCMeawRz9mKuqV",cx:-6.850794232156459,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,leftPoint:[-6.8507942321564625,4.151117918815323,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",solarPowerTower:{},rotation:[0,0,-.41015237421866746],selected:!1,locked:!1,lx:30.492817584324445,id:"x5CDMTRHrHH6ChAJLKJCrV",lz:1,cx:-2.6987520128351328,normal:[0,0,1],cz:.5,ly:8.387848050211689,solarAbsorberPipe:{},solarUpdraftTower:{},cy:-53.16373671637722,color:"#808080",parentId:"Ground"},{type:"Wall",textureType:"Wall Texture Default",lx:5.147994804936703,rotation:[0,0,-.41015237421866746],lz:13,ly:.3,cy:3.5419213517865673,leftJoints:["xqjrhteUBJfNDcJWuHnvRu"],leftRoofHeight:13,rightRoofHeight:13,rightJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],normal:[0,0,1],locked:!1,cx:1.9334943095461699,id:"5TCp2VzUPYtC3wHFFUhMZA",relativeAngle:3.1415926535897922,leftPoint:[4.507491712014521,3.5419213517865646,0],cz:0,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",selected:!1,rightPoint:[-.6405030929221814,3.54192135178657,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{type:"Wall",id:"xqjrhteUBJfNDcJWuHnvRu",roofId:"15884yYUHNT5NwXMKhmRGP",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",lx:7.024418192306677,lz:13,relativeAngle:1.5707963267948963,rightJoints:["5TCp2VzUPYtC3wHFFUhMZA"],selected:!1,textureType:"Wall Texture Default",cx:4.50749171201452,parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,rightRoofHeight:13,cy:.029712255633226103,ly:.3,color:"white",normal:[0,0,1],leftPoint:[4.507491712014519,-3.4824968405201124,0],rightPoint:[4.507491712014521,3.5419213517865646,0],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,leftJoints:["nW4zHPMqaoecHBwBCyEqwh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{cx:1.9334943095461696,lz:13,lx:5.147994804936699,roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",leftPoint:[-.6405030929221798,-3.482496840520119,0],type:"Wall",parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,textureType:"Wall Texture Default",cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[4.507491712014519,-3.4824968405201124,0],leftJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],selected:!1,cy:-3.482496840520116,id:"nW4zHPMqaoecHBwBCyEqwh",locked:!1,normal:[0,0,1],rightRoofHeight:13,relativeAngle:1293967534963907e-30,rightJoints:["xqjrhteUBJfNDcJWuHnvRu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{textureType:"Wall Texture Default",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",id:"qY5WoPV6F2CGJU6Z5GgH9A",cy:.029712255633225437,leftJoints:["5TCp2VzUPYtC3wHFFUhMZA"],relativeAngle:-1.5707963267948963,leftPoint:[-.6405030929221814,3.54192135178657,0],leftRoofHeight:13,cz:0,roofId:"15884yYUHNT5NwXMKhmRGP",rightRoofHeight:13,selected:!1,normal:[0,0,1],cx:-.6405030929221807,lz:13,rotation:[0,0,-.41015237421866746],rightJoints:["nW4zHPMqaoecHBwBCyEqwh"],lx:7.024418192306689,rightPoint:[-.6405030929221798,-3.482496840520119,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",type:"Wall",locked:!1,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{solarAbsorberPipe:{},cy:-49.221657555965606,ly:7.870086564093848,cz:.5,type:"Foundation",solarPowerTower:{},locked:!1,rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},normal:[0,0,1],lz:1,id:"niHTxZ4PaRwa8PCQj9YtSY",parentId:"Ground",color:"#808080",selected:!1,lx:9.19241650107572,cx:.2960050895698132},{leftJoints:["pBQFic2TqVJyDdJyEaBVof"],cy:6.111068939289358,rightJoints:["w8GFYP8jB1EG2YVL6appCT"],rightRoofHeight:20,locked:!1,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-6.699754362236526,foundationId:"jH5z454ciczrceJTNes5b4",relativeAngle:-3.1415926535897927,color:"white",lz:20,rightPoint:[-16.136312320425503,6.1110689392893525,1],cz:0,leftPoint:[2.7368035959524555,6.111068939289361,1],parentId:"jH5z454ciczrceJTNes5b4",id:"tq43NPQgXhkeNmwFteVBqx",lx:18.873115916377962,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],leftRoofHeight:20,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],leftJoints:["4ocNasurxu3LhLKonWAKWR"],lz:20,rightRoofHeight:20,locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",cy:-.01768597422249274,rotation:[0,0,-.41015237421866746],relativeAngle:1.5707963267948966,selected:!1,cx:2.736803595952447,id:"pBQFic2TqVJyDdJyEaBVof",rightPoint:[2.7368035959524555,6.111068939289361,1],cz:0,color:"white",type:"Wall",lx:12.257509827023695,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",textureType:"Wall Texture Default",ly:.3,rightJoints:["tq43NPQgXhkeNmwFteVBqx"],parentId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,leftPoint:[2.7368035959524515,-6.146440887734339,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{selected:!1,rightJoints:["pBQFic2TqVJyDdJyEaBVof"],leftJoints:["w8GFYP8jB1EG2YVL6appCT"],lz:20,lx:18.873115916377927,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],id:"4ocNasurxu3LhLKonWAKWR",locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,type:"Wall",cy:-6.146440887734334,normal:[0,0,1],cx:-6.69975436223651,rightRoofHeight:20,ly:.3,parentId:"jH5z454ciczrceJTNes5b4",cz:0,color:"white",relativeAngle:-7059076177209601e-31,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightPoint:[2.736803595952453,-6.146440887734342,1],leftPoint:[-16.13631232042547,-6.146440887734327,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rotation:[0,0,-.41015237421866746],rightPoint:[-16.13631232042547,-6.146440887734327,1],ly:.3,parentId:"jH5z454ciczrceJTNes5b4",textureType:"Wall Texture Default",id:"w8GFYP8jB1EG2YVL6appCT",relativeAngle:-1.5707963267948937,type:"Wall",lz:20,locked:!1,leftJoints:["tq43NPQgXhkeNmwFteVBqx"],leftPoint:[-16.136312320425503,6.1110689392893525,1],foundationId:"jH5z454ciczrceJTNes5b4",cz:0,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightRoofHeight:20,color:"white",cx:-16.13631232042549,cy:-.017685974222486855,lx:12.257509827023679,leftRoofHeight:20,rightJoints:["4ocNasurxu3LhLKonWAKWR"],normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{locked:!1,color:"#808080",lx:39.42410417793452,cx:66.63950557888982,ly:15.35325958544188,rotation:[0,0,-.41015237421866746],type:"Foundation",selected:!1,lz:1,parentId:"Ground",normal:[0,0,1],solarPowerTower:{},cy:16.298608230784698,id:"jH5z454ciczrceJTNes5b4",solarAbsorberPipe:{},solarUpdraftTower:{},cz:.5},{type:"Wall",relativeAngle:3.141592653589793,cy:1.981243048009849,foundationId:"n59KTNFiEAdewYQ4UeZKU4",locked:!1,parentId:"n59KTNFiEAdewYQ4UeZKU4",leftRoofHeight:4,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"rSsa8T9bULkoQ2pinqnr8i",leftPoint:[.9304202110555404,1.981243048009849,0],color:"white",rightRoofHeight:4,cz:0,cx:-2.0589287667673153,id:"v3VJnU8TGf45Uue1UFcxRK",lx:5.9786979556457105,centerRoofHeight:[0,4.977141261476465],normal:[0,0,1],rightPoint:[-5.0482777445901705,1.981243048009849,0],leftJoints:["usXjKxe48EnDWZT6Frh4Pq"],selected:!1,ly:.3,lz:4,rightJoints:["oB5VoQWfR3kmSWtghKT8LL"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["8m4LSxdnyZTCo1Q3CX64h7"],rightPoint:[.9304202110555404,1.981243048009849,0],cx:.9304202110555421,leftPoint:[.9304202110555437,-1.9726241537665505,0],color:"white",rotation:[0,0,-.41015237421866746],leftRoofHeight:4,foundationId:"n59KTNFiEAdewYQ4UeZKU4",cy:.004309447121649268,lx:3.9538672017764,locked:!1,id:"usXjKxe48EnDWZT6Frh4Pq",selected:!1,ly:.3,rightRoofHeight:4,rightJoints:["v3VJnU8TGf45Uue1UFcxRK"],textureType:"Wall Texture Default",parentId:"n59KTNFiEAdewYQ4UeZKU4",roofId:"rSsa8T9bULkoQ2pinqnr8i",normal:[0,0,1],type:"Wall",relativeAngle:1.5707963267948977,cz:0,lz:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cx:-2.058928766767304,cz:0,leftRoofHeight:4,lx:5.978697955645695,rightJoints:["usXjKxe48EnDWZT6Frh4Pq"],centerRoofHeight:[0,4.977141261476465],leftJoints:["oB5VoQWfR3kmSWtghKT8LL"],foundationId:"n59KTNFiEAdewYQ4UeZKU4",id:"8m4LSxdnyZTCo1Q3CX64h7",rightRoofHeight:4,rightPoint:[.9304202110555437,-1.9726241537665505,0],roofId:"rSsa8T9bULkoQ2pinqnr8i",cy:-1.9726241537665496,textureType:"Wall Texture Default",locked:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],selected:!1,ly:.3,relativeAngle:-2971143303405775e-31,color:"white",parentId:"n59KTNFiEAdewYQ4UeZKU4",lz:4,leftPoint:[-5.048277744590152,-1.9726241537665488,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,rightJoints:["8m4LSxdnyZTCo1Q3CX64h7"],lz:4,leftJoints:["v3VJnU8TGf45Uue1UFcxRK"],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:0,parentId:"n59KTNFiEAdewYQ4UeZKU4",selected:!1,id:"oB5VoQWfR3kmSWtghKT8LL",rotation:[0,0,-.41015237421866746],cy:.004309447121650156,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,lx:3.953867201776398,rightPoint:[-5.048277744590152,-1.9726241537665488,0],normal:[0,0,1],rightRoofHeight:4,ly:.3,cx:-5.048277744590161,relativeAngle:-1.570796326794892,roofId:"rSsa8T9bULkoQ2pinqnr8i",foundationId:"n59KTNFiEAdewYQ4UeZKU4",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{solarUpdraftTower:{},normal:[0,0,1],color:"#808080",lz:1,cz:.5,lx:10.423522474713057,ly:4.1286288557387945,locked:!1,parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},id:"n59KTNFiEAdewYQ4UeZKU4",cy:-40.804555672678404,type:"Foundation",cx:68.39138539021306,selected:!1,solarAbsorberPipe:{}},{locked:!1,selected:!1,lx:5.9786979556457105,ly:.3,rightPoint:[-5.0482777445901705,1.981243048009849,0],textureType:"Wall Texture Default",rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",leftRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["c7E26TQsGBwiEUQ4ooLDKK"],color:"white",normal:[0,0,1],relativeAngle:3.141592653589793,type:"Wall",id:"ccjpL8TWCg1zhnSiXXyUiu",cx:-2.0589287667673153,rightJoints:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,-.41015237421866746],parentId:"5YuxWSX2uVTCHuPGAXXubi",cz:0,centerRoofHeight:[0,4.788751523933837],leftPoint:[.9304202110555404,1.981243048009849,0],cy:1.981243048009849,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{parentId:"5YuxWSX2uVTCHuPGAXXubi",lz:4,rightRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",cy:.004309447121649268,foundationId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],leftJoints:["nxEr9eKy7xre7xajGyT8qN"],selected:!1,ly:.3,relativeAngle:1.5707963267948977,rightPoint:[.9304202110555404,1.981243048009849,0],rightJoints:["ccjpL8TWCg1zhnSiXXyUiu"],leftPoint:[.9304202110555437,-1.9726241537665505,0],id:"c7E26TQsGBwiEUQ4ooLDKK",cz:0,cx:.9304202110555421,lx:3.9538672017764,textureType:"Wall Texture Default",color:"white",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,relativeAngle:-2971143303405775e-31,textureType:"Wall Texture Default",normal:[0,0,1],color:"white",parentId:"5YuxWSX2uVTCHuPGAXXubi",leftJoints:["ar4bhGtUec9qTkqAxEbkF4"],leftPoint:[-5.048277744590152,-1.9726241537665488,0],centerRoofHeight:[0,4.788751523933837],lx:5.978697955645695,leftRoofHeight:4,cx:-2.058928766767304,locked:!1,ly:.3,rightPoint:[.9304202110555437,-1.9726241537665505,0],id:"nxEr9eKy7xre7xajGyT8qN",type:"Wall",cy:-1.9726241537665496,rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",selected:!1,rightJoints:["c7E26TQsGBwiEUQ4ooLDKK"],roofId:"1E1bgqioi9tFqyckxVRysA",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,ly:.3,parentId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],textureType:"Wall Texture Default",lx:3.953867201776398,cy:.004309447121650156,lz:4,selected:!1,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,rightPoint:[-5.048277744590152,-1.9726241537665488,0],rightJoints:["nxEr9eKy7xre7xajGyT8qN"],rightRoofHeight:4,relativeAngle:-1.570796326794892,color:"white",roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["ccjpL8TWCg1zhnSiXXyUiu"],id:"ar4bhGtUec9qTkqAxEbkF4",foundationId:"5YuxWSX2uVTCHuPGAXXubi",cx:-5.048277744590161,rotation:[0,0,-.41015237421866746],type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lz:1,selected:!1,solarAbsorberPipe:{},cz:.5,locked:!1,type:"Foundation",normal:[0,0,1],solarPowerTower:{},id:"5YuxWSX2uVTCHuPGAXXubi",cy:-30.912868668016095,cx:72.70720165765073,solarUpdraftTower:{},ly:4.1286288557387945,parentId:"Ground",color:"#808080",lx:10.423522474713057,rotation:[0,0,-.41015237421866746]},{textureType:"Wall Texture Default",cx:.01121512740181907,rightPoint:[-3.072511420947951,1.3672430244223959,0],cy:1.3672430244223936,id:"6QCJ15fiFxBVfmQVYdq3Tt",relativeAngle:3.1415926535897927,normal:[0,0,1],selected:!1,leftJoints:["hKcyiMXDvquM1MhoYuTSwv"],leftRoofHeight:11,cz:0,rightJoints:["xaCgBVBkCeg8kpZex83ZSB"],lz:11,type:"Wall",lx:6.167453096699541,locked:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],ly:.3,foundationId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],roofId:"g5QrsNM3GmBsG5THTKDrtm",parentId:"jsSCnAypzh29RxPH7MED73",color:"white",rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,leftRoofHeight:11,rightPoint:[3.0949416757515893,1.3672430244223912,0],foundationId:"jsSCnAypzh29RxPH7MED73",cz:0,cx:3.0949416757515884,ly:.3,rightJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],normal:[0,0,1],textureType:"Wall Texture Default",rightRoofHeight:11,leftPoint:[3.094941675751588,-5.795230412406128,0],type:"Wall",id:"hKcyiMXDvquM1MhoYuTSwv",roofId:"g5QrsNM3GmBsG5THTKDrtm",locked:!1,cy:-2.2139936939918683,color:"white",rotation:[0,0,-.41015237421866746],parentId:"jsSCnAypzh29RxPH7MED73",relativeAngle:1.5707963267948963,selected:!1,lz:11,leftJoints:["eS1W5AA2DGWiYaV8ifzzrj"],centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["xaCgBVBkCeg8kpZex83ZSB"],cz:0,rotation:[0,0,-.41015237421866746],relativeAngle:0,textureType:"Wall Texture Default",cy:-5.795230412406128,rightPoint:[3.094941675751588,-5.795230412406128,0],lx:6.167453096699535,parentId:"jsSCnAypzh29RxPH7MED73",id:"eS1W5AA2DGWiYaV8ifzzrj",foundationId:"jsSCnAypzh29RxPH7MED73",locked:!1,rightJoints:["hKcyiMXDvquM1MhoYuTSwv"],ly:.3,rightRoofHeight:11,color:"white",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftRoofHeight:11,roofId:"g5QrsNM3GmBsG5THTKDrtm",cx:.011215127401820624,type:"Wall",lz:11,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{roofId:"g5QrsNM3GmBsG5THTKDrtm",cz:0,leftRoofHeight:11,type:"Wall",cy:-2.213993693991866,parentId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],rightJoints:["eS1W5AA2DGWiYaV8ifzzrj"],textureType:"Wall Texture Default",id:"xaCgBVBkCeg8kpZex83ZSB",lx:7.162473436828524,cx:-3.072511420947949,leftJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],lz:11,ly:.3,locked:!1,rightPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"jsSCnAypzh29RxPH7MED73",normal:[0,0,1],color:"white",centerRoofHeight:[.5,11],rightRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,solarPowerTower:{},selected:!1,solarUpdraftTower:{},cz:.5,solarAbsorberPipe:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:12.02473099186649,cy:-50.437956729618975,lx:6.9193101388799265,lz:1,parentId:"Ground",color:"#808080",type:"Foundation",cx:40.2572441035554,id:"jsSCnAypzh29RxPH7MED73"},{cy:0,wallsId:["91sCr2ydHgygQWRuaJ5N1C"],lz:0,type:"Roof",id:"vRe6nzFrDCWVtSCu332MH4",textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],lineWidth:.2,ridgeLeftPoint:[0,1],cz:0,normal:[0,0,1],roofType:"Gable",cx:0,ly:0,thickness:.2,locked:!1,lx:0,parentId:"bkH7VRrzUTdvxfSm8xVMfT",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",ridgeRightPoint:[0,1],lineColor:"black",selected:!1,color:"#ffffff",rise:1.3393317550628012,ceiling:!1},{cz:0,lz:0,id:"fS4RCk5GfqcPBkrsfQqupD",ly:0,selected:!1,ridgeLeftPoint:[-.5,1],normal:[0,0,1],showLabel:!1,cy:0,color:"#ffffff",type:"Roof",foundationId:"kqR5p2bajX4NMTBq55qbCM",rotation:[0,0,0],locked:!1,lineColor:"black",textureType:"No Roof Texture",lineWidth:.2,lx:0,ridgeRightPoint:[.5,1],cx:0,thickness:.2,wallsId:["4CXQZA8oGxMYG5uuTdJH4z"],roofType:"Gable",parentId:"kqR5p2bajX4NMTBq55qbCM",rise:0,ceiling:!1},{showLabel:!1,rotation:[0,0,0],cy:0,wallsId:["oB5VoQWfR3kmSWtghKT8LL"],thickness:.2,lz:0,foundationId:"n59KTNFiEAdewYQ4UeZKU4",lineColor:"black",cz:0,textureType:"No Roof Texture",cx:0,type:"Roof",ly:0,roofType:"Gable",lineWidth:.2,selected:!1,ridgeRightPoint:[0,1],color:"#ffffff",ridgeLeftPoint:[0,1],parentId:"n59KTNFiEAdewYQ4UeZKU4",normal:[0,0,1],locked:!1,lx:0,id:"rSsa8T9bULkoQ2pinqnr8i",rise:.977141261476465,ceiling:!1},{parentId:"b7G57PTXunVqeHXzCWeuRF",rightJoints:["dpZWnBXJifWNeSxPnXSh11"],ly:.3,cx:.22353744000734044,lz:10,normal:[0,0,1],leftPoint:[8.53481429529893,4.284875927504061,1],rightRoofHeight:10,foundationId:"b7G57PTXunVqeHXzCWeuRF",textureType:"Wall Texture Default",rightPoint:[-8.087739415284249,4.284875927504063,1],leftJoints:["6fcDhLeskSsK9vgEVSS72V"],locked:!1,relativeAngle:3.141592653589793,lx:16.622553710583173,type:"Wall",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",color:"white",id:"kj6mwcCRjjAjkZKNVLpD6Q",rotation:[0,0,-.41015237421866746],cy:4.2848759275040615,leftRoofHeight:10,selected:!1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],id:"6fcDhLeskSsK9vgEVSS72V",locked:!1,roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rotation:[0,0,-.41015237421866746],cx:8.534814295298915,lz:10,leftJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rightJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],leftPoint:[8.534814295298911,-8.242350712076524,1],leftRoofHeight:10,textureType:"Wall Texture Default",rightRoofHeight:10,cz:0,cy:-1.978737392286233,selected:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",parentId:"b7G57PTXunVqeHXzCWeuRF",lx:12.527226639580588,ly:.3,rightPoint:[8.53481429529893,4.284875927504061,1],relativeAngle:1.5707963267948954,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,id:"eJ8JK9wm6JNigJXLFxHXZv",rightPoint:[8.534814295298911,-8.242350712076524,1],rightJoints:["6fcDhLeskSsK9vgEVSS72V"],leftRoofHeight:10,cz:0,cx:.22353744000733222,locked:!1,rightRoofHeight:10,leftJoints:["dpZWnBXJifWNeSxPnXSh11"],leftPoint:[-8.087739415284243,-8.24235071207653,1],parentId:"b7G57PTXunVqeHXzCWeuRF",lz:10,lx:16.622553710583155,cy:-8.242350712076528,color:"white",relativeAngle:21372851251721804e-32,textureType:"Wall Texture Default",selected:!1,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],roofId:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{textureType:"Wall Texture Default",cz:0,ly:.3,relativeAngle:-1.5707963267948966,selected:!1,color:"white",cy:-1.9787373922862332,leftPoint:[-8.087739415284249,4.284875927504063,1],lx:12.527226639580594,lz:10,parentId:"b7G57PTXunVqeHXzCWeuRF",leftJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],locked:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rightRoofHeight:10,rightPoint:[-8.087739415284243,-8.24235071207653,1],id:"dpZWnBXJifWNeSxPnXSh11",normal:[0,0,1],cx:-8.087739415284243,rightJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rotation:[0,0,-.41015237421866746],type:"Wall",leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"b7G57PTXunVqeHXzCWeuRF",cz:.5,color:"#808080",parentId:"Ground",locked:!1,cx:39.84041470102862,solarPowerTower:{},type:"Foundation",selected:!1,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:18.262342237511447,solarUpdraftTower:{},cy:-19.957109308878913,ly:25.839391461953184,lz:1,normal:[0,0,1]},{wallsId:["nRLvRbWCCyQkZn2SaeWzhR","4RfjPoTAycowc8B5SwzkpM","a6q6Txnypc9iPjohNf43CB","jWqRj42hxzMWofSpUH42dz"],lx:0,cz:0,cx:0,thickness:.2,id:"jSo2aHHx58NTeAQuDZodmY",type:"Roof",showLabel:!1,locked:!1,roofType:"Pyramid",lz:0,ly:0,foundationId:"uBZaguS4Mp4iydQBE88CA1",color:"#ffffff",lineWidth:.2,cy:0,parentId:"uBZaguS4Mp4iydQBE88CA1",normal:[0,0,1],rotation:[0,0,0],textureType:"No Roof Texture",lineColor:"black",selected:!1,rise:1.4201872195519947,ceiling:!1},{lx:0,selected:!1,parentId:"niHTxZ4PaRwa8PCQj9YtSY",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",wallsId:["nW4zHPMqaoecHBwBCyEqwh","xqjrhteUBJfNDcJWuHnvRu","5TCp2VzUPYtC3wHFFUhMZA","qY5WoPV6F2CGJU6Z5GgH9A"],cx:0,showLabel:!1,rotation:[0,0,0],cz:0,normal:[0,0,1],roofType:"Pyramid",lz:0,locked:!1,lineColor:"black",thickness:.2,cy:0,ly:0,id:"15884yYUHNT5NwXMKhmRGP",color:"#ffffff",textureType:"No Roof Texture",type:"Roof",lineWidth:.2,rise:2,ceiling:!1},{locked:!1,lx:0,textureType:"No Roof Texture",normal:[0,0,1],thickness:.2,lineWidth:.2,cy:0,ridgeRightPoint:[0,1],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cx:0,wallsId:["6V62Zt3rayMTYsccknpXaH"],showLabel:!1,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",lz:0,selected:!1,ly:0,ridgeLeftPoint:[0,1],lineColor:"black",cz:0,id:"5Fxdv1WWmCMeawRz9mKuqV",type:"Roof",color:"#ffffff",rotation:[0,0,0],roofType:"Gable",rise:1.060818180566665,ceiling:!1},{showLabel:!1,ly:0,color:"#ffffff",rotation:[0,0,0],roofType:"Pyramid",cx:0,lineWidth:.2,thickness:.2,textureType:"No Roof Texture",locked:!1,wallsId:["5QyDHSHQi5g83yTByESY7g","nNQo9acqRqKRWfE4a1RvLy","7JuGqBdByKra32qVf2wuMP","2DDFqyaAZAAuWTVgy7UTYL"],lx:0,selected:!1,lz:0,parentId:"64tiQZ7Po62MhdtE1e44n9",cy:0,cz:0,normal:[0,0,1],foundationId:"64tiQZ7Po62MhdtE1e44n9",lineColor:"black",type:"Roof",id:"oTjPo4r99EKfdasnxT3n5a",rise:2,ceiling:!1},{cz:0,ly:0,color:"#ffffff",showLabel:!1,type:"Roof",wallsId:["oNZPm4ForjT1jLCRGXT8ae"],locked:!1,lineWidth:.2,ridgeRightPoint:[0,1],textureType:"No Roof Texture",cy:0,thickness:.2,lz:0,rotation:[0,0,0],parentId:"qJBTbMiP4tUMstkk4bQqAp",normal:[0,0,1],cx:0,id:"tLNDomb3SubspErPERhojH",lx:0,lineColor:"black",selected:!1,ridgeLeftPoint:[0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",roofType:"Gable",rise:1.111126896848333,ceiling:!1},{color:"#ffffff",normal:[0,0,1],thickness:.2,ridgeRightPoint:[0,1],lz:0,roofType:"Gable",ly:0,type:"Roof",lineColor:"black",showLabel:!1,id:"1E1bgqioi9tFqyckxVRysA",parentId:"5YuxWSX2uVTCHuPGAXXubi",ridgeLeftPoint:[0,1],foundationId:"5YuxWSX2uVTCHuPGAXXubi",locked:!1,cz:0,selected:!1,lx:0,textureType:"No Roof Texture",cy:0,lineWidth:.2,wallsId:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,0],cx:0,rise:.7887515239338372,ceiling:!1},{cy:.22491740558796045,rightPoint:[-7.989846773884258,.2249174055879637,1],roofId:"7MHnZ8shY1nNWWHte69oqs",lx:16.622553710583173,selected:!1,locked:!1,type:"Wall",parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightJoints:["bBRKF8cuUabp5jr721b2aF"],leftRoofHeight:20,rotation:[0,0,-.41015237421866746],lz:20,relativeAngle:3.141592653589793,leftJoints:["monXTa8uPTJhzhXCcFVkHQ"],cx:.3214300814073309,rightRoofHeight:20,cz:0,normal:[0,0,1],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",id:"abgP23xfq9mn6fXM5eixEU",leftPoint:[8.63270693669892,.22491740558795703,1],ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],locked:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightPoint:[8.63270693669892,.22491740558795703,1],leftPoint:[8.6327069366989,-12.302309233992622,1],id:"monXTa8uPTJhzhXCcFVkHQ",cx:8.632706936698906,cy:-6.038695914202334,textureType:"Wall Texture Default",leftJoints:["1sWH6Vf283ZQdSSFT642nh"],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",rightRoofHeight:20,leftRoofHeight:20,cz:0,lx:12.527226639580588,selected:!1,ly:.3,relativeAngle:1.5707963267948954,rightJoints:["abgP23xfq9mn6fXM5eixEU"],type:"Wall",lz:20,roofId:"7MHnZ8shY1nNWWHte69oqs",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rightPoint:[8.6327069366989,-12.302309233992622,1],roofId:"7MHnZ8shY1nNWWHte69oqs",ly:.3,lx:16.622553710583155,relativeAngle:21372851251721804e-32,rotation:[0,0,-.41015237421866746],lz:20,leftJoints:["bBRKF8cuUabp5jr721b2aF"],normal:[0,0,1],foundationId:"jXMhg2wW7AzS5RR8DVRgQA",leftPoint:[-7.989846773884253,-12.302309233992618,1],cz:0,id:"1sWH6Vf283ZQdSSFT642nh",rightJoints:["monXTa8uPTJhzhXCcFVkHQ"],selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",color:"white",cx:.321430081407323,textureType:"Wall Texture Default",type:"Wall",leftRoofHeight:20,locked:!1,cy:-12.302309233992629,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{lx:12.527226639580594,leftRoofHeight:20,color:"white",normal:[0,0,1],leftJoints:["abgP23xfq9mn6fXM5eixEU"],cz:0,ly:.3,selected:!1,rightPoint:[-7.989846773884253,-12.302309233992618,1],cy:-6.038695914202334,leftPoint:[-7.989846773884258,.2249174055879637,1],locked:!1,id:"bBRKF8cuUabp5jr721b2aF",rightJoints:["1sWH6Vf283ZQdSSFT642nh"],relativeAngle:-1.5707963267948966,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",cx:-7.989846773884254,parentId:"jXMhg2wW7AzS5RR8DVRgQA",textureType:"Wall Texture Default",roofId:"7MHnZ8shY1nNWWHte69oqs",lz:20,type:"Wall",rightRoofHeight:20,rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cy:-59.32802731716726,color:"#808080",solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},rotation:[0,0,-.41015237421866746],lz:1,solarAbsorberPipe:{},normal:[0,0,1],ly:33.95930850578536,lx:18.06655695471146,selected:!1,cz:.5,id:"jXMhg2wW7AzS5RR8DVRgQA",locked:!1,cx:27.648877509882105},{parentId:"Ground",color:"gray",cx:-21.42383933703887,cy:-95.95694272842316,ly:1.57584749281375,id:"fskGS47Z1ZNZV2kamP1tSH",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:5,locked:!1,selected:!1,type:"Cuboid",lx:2.5033124327375345,rotation:[0,0,-.41015237421866746]},{color:"white",lx:3.975737139849098,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",id:"mCTHFTsPbL7uxKLV7Fs7gC",locked:!1,cx:11.798791107427842,leftRoofHeight:6,rightRoofHeight:6,leftJoints:["fAYf9rMtUxbvaurL2KcLtn"],centerRoofHeight:[0,6.274887651356121],lz:6,leftPoint:[11.798791107427842,-1.9873220704176595,0],textureType:"Wall Texture Default",ly:.3,cy:.000546499506889564,cz:0,relativeAngle:1.5707963267948961,type:"Wall",selected:!1,rightPoint:[11.798791107427844,1.9884150694314386,0],roofId:"rxThm84RhChdhdNYSFFbG6",parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rotation:[0,0,-.41015237421866746],rightJoints:["htbHSZNyQhmtqy5XzNBo85"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-1.9873220704176617,id:"fAYf9rMtUxbvaurL2KcLtn",relativeAngle:5312979959407059e-31,cz:0,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightPoint:[11.798791107427842,-1.9873220704176595,0],leftRoofHeight:6,leftJoints:["21bSs7TaWmDDwyZwkVPp3m"],color:"white",lx:7.940642588168972,roofId:"rxThm84RhChdhdNYSFFbG6",cx:7.828469813343356,locked:!1,normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",ly:.3,lz:6,rightRoofHeight:6,leftPoint:[3.858148519258871,-1.9873220704176637,0],textureType:"Wall Texture Default",rightJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,ly:.3,roofId:"rxThm84RhChdhdNYSFFbG6",normal:[0,0,1],leftJoints:["htbHSZNyQhmtqy5XzNBo85"],leftRoofHeight:6,textureType:"Wall Texture Default",cx:3.8581485192588696,locked:!1,lz:6,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,6.274887651356121],lx:3.975737139849111,selected:!1,leftPoint:[3.858148519258868,1.9884150694314473,0],id:"21bSs7TaWmDDwyZwkVPp3m",color:"white",cy:.0005464995068917844,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightJoints:["fAYf9rMtUxbvaurL2KcLtn"],rightPoint:[3.858148519258871,-1.9873220704176637,0],relativeAngle:-1.570796326794896,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",roofId:"rxThm84RhChdhdNYSFFbG6",color:"white",selected:!1,ly:.3,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",leftRoofHeight:6,type:"Wall",leftPoint:[11.798791107427844,1.9884150694314386,0],rightPoint:[3.858148519258868,1.9884150694314473,0],cx:7.8284698133433555,cz:3.7151685093329987,textureType:"Wall Texture Default",relativeAngle:3.1415926535897922,leftJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],id:"htbHSZNyQhmtqy5XzNBo85",rightJoints:["21bSs7TaWmDDwyZwkVPp3m"],locked:!1,rotation:[0,0,-.41015237421866746],lx:7.940642588168976,normal:[0,0,1],rightRoofHeight:6,cy:1.988415069431443,lz:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{textureType:"No Roof Texture",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,-.41015237421866746],selected:!1,ridgeRightPoint:[0,1],ly:0,lz:0,cz:0,locked:!1,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",lx:0,roofType:"Gable",type:"Roof",id:"rxThm84RhChdhdNYSFFbG6",wallsId:["htbHSZNyQhmtqy5XzNBo85"],parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",normal:[0,0,1],color:"#ffffff",cy:0,thickness:.2,rise:.2748876513561207,ceiling:!1},{type:"Foundation",locked:!1,cy:-78.52468836433339,lx:29.579193784185183,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,cx:-61.66430487227184,cz:.5,solarAbsorberPipe:{},lz:1,solarPowerTower:{},parentId:"Ground",solarUpdraftTower:{},ly:4.244451594984441,id:"jYmTgt5Yh5kp4YxeQ9xdGS"},{normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRidgeLength:1.461737872145095,selected:!1,color:"#ffffff",locked:!1,cy:0,textureType:"No Roof Texture",lineColor:"black",lineWidth:.2,id:"9TF7gEynqtnsWJGidoBUNq",wallsId:["hcTBY8guDEpwEg5jtYtD3H"],rotation:[0,0,0],showLabel:!1,roofType:"Hip",leftRidgeLength:1.7970131018338904,thickness:.2,foundationId:"2LZNQJZFPrCxZzv5NuwumV",lz:0,cx:0,ly:0,lx:0,type:"Roof",cz:0,rise:5,ceiling:!1},{selected:!1,id:"tN1a6B1uCvjUWCkBQctrVG",rotation:[0,0,0],lineColor:"black",lineWidth:.2,ly:0,cz:0,roofType:"Hip",cy:0,textureType:"No Roof Texture",leftRidgeLength:.059768175058504625,showLabel:!1,locked:!1,wallsId:["b12LAtSYTNxCwTbH7iRFmz"],cx:0,thickness:.2,normal:[0,0,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",lz:0,lx:0,parentId:"rQh2s1iBHWvFGFdzViXEe2",color:"#ffffff",rightRidgeLength:12.757143526762304,type:"Roof",rise:2.8291651006338494,ceiling:!1},{ly:0,lineColor:"black",thickness:.2,cz:0,type:"Roof",wallsId:["gs8TZionAFZcvbLtmKeykq"],lineWidth:.2,parentId:"kLLR11PM8xK326yQ5QVzHF",roofType:"Gable",cx:0,showLabel:!1,id:"mgoQMGVeVMwiZzvh6DtsHC",ridgeLeftPoint:[0,1],cy:0,ridgeRightPoint:[0,1],lx:0,textureType:"No Roof Texture",foundationId:"kLLR11PM8xK326yQ5QVzHF",color:"#ffffff",selected:!1,locked:!1,rotation:[0,0,0],normal:[0,0,1],lz:0,rise:1.714737050020105,ceiling:!1},{normal:[0,0,1],type:"Roof",lz:0,cx:0,rotation:[0,0,0],rightRidgeLength:1.354315870345922,wallsId:["c79sKVUHUztGcC5p3emVv9"],lx:0,lineWidth:.2,thickness:.2,leftRidgeLength:1.2176583991481174,cy:0,selected:!1,textureType:"No Roof Texture",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",showLabel:!1,cz:0,color:"#ffffff",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",locked:!1,roofType:"Hip",id:"teQS3ohvRHqAbgCQQahyC6",lineColor:"black",ly:0,rise:5,ceiling:!1},{ly:5.984113255877874,color:"gray",normal:[0,0,1],parentId:"Ground",cy:111.66856512870567,cx:55.88269693007359,selected:!1,lx:21.294854568920073,id:"3PRatafdc5GGL7xWYLxLQt",rotation:[0,0,-.41015237421866746],type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.25,lz:8.5},{rightRoofHeight:12,cx:.017113708955167617,relativeAngle:3.141592653589793,lx:12.131551303286216,leftJoints:["snwHy88SCLUgp9tM1ts1kV"],rightPoint:[-6.04866194268794,-9.49210668858673,1],rightJoints:["fgVtymGrmdEZZzZZ3mW69b"],selected:!1,foundationId:"4p3AerfQErrh3N7JyKd7PA",color:"white",cy:-9.49210668858672,ly:.3,locked:!1,type:"Wall",roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[6.082889360598275,-9.492106688586723,1],id:"pJZasFocQxwotbLjPFqJsC",normal:[0,0,1],lz:12,parentId:"4p3AerfQErrh3N7JyKd7PA",cz:0,leftRoofHeight:12,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cy:-19.44706205065753,leftPoint:[6.082889360598278,-29.402017412728345,1],color:"white",rightJoints:["pJZasFocQxwotbLjPFqJsC"],locked:!1,relativeAngle:1.5707963267948963,parentId:"4p3AerfQErrh3N7JyKd7PA",type:"Wall",selected:!1,leftRoofHeight:12,normal:[0,0,1],rightRoofHeight:12,lx:19.90991072414161,cx:6.08288936059827,lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",ly:.3,textureType:"Wall Texture Default",roofId:"ui47bC2XPhcG14b6RPgvMq",id:"snwHy88SCLUgp9tM1ts1kV",cz:0,rightPoint:[6.082889360598275,-9.492106688586723,1],rotation:[0,0,-.41015237421866746],leftJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:.017113708955172058,lz:12,rightJoints:["snwHy88SCLUgp9tM1ts1kV"],leftRoofHeight:12,type:"Wall",selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,rightPoint:[6.082889360598278,-29.402017412728345,1],roofId:"ui47bC2XPhcG14b6RPgvMq",id:"9RBn6VqRCqHmHYTVsG2Hbq",lx:12.131551303286194,leftJoints:["fgVtymGrmdEZZzZZ3mW69b"],rightRoofHeight:12,parentId:"4p3AerfQErrh3N7JyKd7PA",normal:[0,0,1],cy:-29.40201741272834,leftPoint:[-6.048661942687922,-29.402017412728334,1],relativeAngle:-1757094500109714e-30,cz:0,color:"white",foundationId:"4p3AerfQErrh3N7JyKd7PA",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,rightRoofHeight:12,color:"white",type:"Wall",id:"fgVtymGrmdEZZzZZ3mW69b",cy:-19.447062050657532,leftJoints:["pJZasFocQxwotbLjPFqJsC"],rightPoint:[-6.048661942687922,-29.402017412728334,1],roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[-6.04866194268794,-9.49210668858673,1],relativeAngle:-1.5707963267948957,parentId:"4p3AerfQErrh3N7JyKd7PA",lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",leftRoofHeight:12,rotation:[0,0,-.41015237421866746],ly:.3,lx:19.909910724141604,selected:!1,locked:!1,normal:[0,0,1],rightJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],textureType:"Wall Texture Default",cx:-6.048661942687932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{solarPowerTower:{},selected:!1,cy:106.34352672553437,locked:!1,cx:54.33030410078149,rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"Ground",lz:1,ly:63.77501586798267,color:"#808080",lx:12.35095202063562,solarAbsorberPipe:{},solarUpdraftTower:{},id:"4p3AerfQErrh3N7JyKd7PA",cz:.5,type:"Foundation"},{rotation:[0,0,-.41015237421866746],lz:6,normal:[0,0,1],locked:!1,centerRoofHeight:[0,6.440750059917652],id:"irVUAZaEWhGKYr7twduXEh",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",type:"Wall",rightRoofHeight:6,cz:0,rightJoints:["8yAv4GumHgHAy2fR9bygQz"],foundationId:"gszYxD4CuGX1qrhwnFgJQu",lx:6.102875967687821,parentId:"gszYxD4CuGX1qrhwnFgJQu",cx:-.14015676968719282,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,6.530855931908152,1],selected:!1,textureType:"Wall Texture Default",color:"white",leftJoints:["gr56ivVG6p8ierekWDUK1u"],relativeAngle:-3.1415926535897927,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",foundationId:"gszYxD4CuGX1qrhwnFgJQu",normal:[0,0,1],locked:!1,cx:2.9112812141567126,ly:.3,cz:0,selected:!1,rotation:[0,0,-.41015237421866746],id:"gr56ivVG6p8ierekWDUK1u",textureType:"Wall Texture Default",rightJoints:["irVUAZaEWhGKYr7twduXEh"],lx:9.731752225416841,cy:1.6649798191997407,rightPoint:[2.9112812141567144,6.530855931908155,1],lz:6,leftPoint:[2.911281214156714,-3.2008962935086798,1],type:"Wall",relativeAngle:1.5707963267948963,rightRoofHeight:6,leftJoints:["1K6LZYJR4J6iMfrED26Yxe"],roofId:"ngj1wMdEusAUmYWeWEqzyw",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{selected:!1,roofId:"ngj1wMdEusAUmYWeWEqzyw",lz:6,rightJoints:["gr56ivVG6p8ierekWDUK1u"],centerRoofHeight:[0,6.440750059917652],leftPoint:[-3.191594753531113,-3.2008962935086824,1],leftJoints:["8yAv4GumHgHAy2fR9bygQz"],rightPoint:[2.911281214156714,-3.2008962935086798,1],cz:0,rightRoofHeight:6,type:"Wall",relativeAngle:-5821376180034847e-31,locked:!1,id:"1K6LZYJR4J6iMfrED26Yxe",parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",normal:[0,0,1],cx:-.14015676968720614,cy:-3.200896293508684,leftRoofHeight:6,foundationId:"gszYxD4CuGX1qrhwnFgJQu",rotation:[0,0,-.41015237421866746],lx:6.102875967687822,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["1K6LZYJR4J6iMfrED26Yxe"],leftPoint:[-3.191594753531113,6.530855931908152,1],relativeAngle:-1.5707963267948972,id:"8yAv4GumHgHAy2fR9bygQz",selected:!1,lx:9.731752225416834,type:"Wall",foundationId:"gszYxD4CuGX1qrhwnFgJQu",leftJoints:["irVUAZaEWhGKYr7twduXEh"],normal:[0,0,1],parentId:"gszYxD4CuGX1qrhwnFgJQu",lz:6,locked:!1,rotation:[0,0,-.41015237421866746],cy:1.664979819199738,color:"white",cx:-3.191594753531114,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,-3.2008962935086824,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",cz:0,rightRoofHeight:6,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{locked:!1,selected:!1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",cx:24.599288579767826,solarAbsorberPipe:{},cy:62.32717346646996,type:"Foundation",solarPowerTower:{},lx:7.149369527041389,normal:[0,0,1],ly:13.668965778073638,lz:1,cz:.5,solarUpdraftTower:{},id:"gszYxD4CuGX1qrhwnFgJQu"},{type:"Roof",ridgeLeftPoint:[0,1],ly:0,id:"ngj1wMdEusAUmYWeWEqzyw",locked:!1,foundationId:"gszYxD4CuGX1qrhwnFgJQu",lineColor:"black",selected:!1,lx:0,thickness:.2,rotation:[0,0,0],wallsId:["gr56ivVG6p8ierekWDUK1u"],cx:0,showLabel:!1,lineWidth:.2,ridgeRightPoint:[0,1],color:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",cz:0,parentId:"gszYxD4CuGX1qrhwnFgJQu",cy:0,normal:[0,0,1],lz:0,rise:.4407500599176517,ceiling:!1},{selected:!1,lz:.1,color:"#68ccca",rotation:[0,0,-.41015237421866746],normal:[0,0,1],type:"Foundation",cy:80.9376872016833,lx:46.93960391347784,id:"pzqyJ9AXZR9mJxEtKDPKGG",solarUpdraftTower:{},cx:111.01126755807289,ly:67.71063906268108,locked:!1,solarAbsorberPipe:{},parentId:"Ground",cz:.05,solarPowerTower:{}},{leftJoints:["bmKncuas6bZ1hnGH6qyHKX"],roofId:"gVgDeNYsXdGDefJV1YRGoa",selected:!1,ly:.3,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",locked:!1,cx:-.14015676968719282,relativeAngle:-3.1415926535897927,normal:[0,0,1],lx:6.102875967687821,id:"8kwuUQ3tQhRzvqUiLnSjD4",type:"Wall",centerRoofHeight:[0,6.440750059917652],cz:0,foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",lz:6,rightPoint:[-3.191594753531113,6.530855931908152,1],rightJoints:["gDyesAJb6hCZTAKFF2wVoZ"],color:"white",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],rightRoofHeight:6,leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:0,textureType:"Wall Texture Default",selected:!1,type:"Wall",roofId:"gVgDeNYsXdGDefJV1YRGoa",id:"bmKncuas6bZ1hnGH6qyHKX",leftPoint:[2.911281214156714,-3.2008962935086798,1],rightRoofHeight:6,relativeAngle:1.5707963267948963,lz:6,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rightJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",locked:!1,rotation:[0,0,-.41015237421866746],rightPoint:[2.9112812141567144,6.530855931908155,1],leftJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],normal:[0,0,1],cx:2.9112812141567126,cy:1.6649798191997407,color:"white",leftRoofHeight:6,ly:.3,lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,leftJoints:["gDyesAJb6hCZTAKFF2wVoZ"],lx:6.102875967687822,rightJoints:["bmKncuas6bZ1hnGH6qyHKX"],locked:!1,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",cz:0,type:"Wall",centerRoofHeight:[0,6.440750059917652],relativeAngle:-5821376180034847e-31,leftRoofHeight:6,id:"vWXBFGVtdF9Zkw4WgrWQbB",textureType:"Wall Texture Default",color:"white",lz:6,cy:-3.200896293508684,cx:-.14015676968720614,selected:!1,leftPoint:[-3.191594753531113,-3.2008962935086824,1],rotation:[0,0,-.41015237421866746],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",ly:.3,normal:[0,0,1],rightPoint:[2.911281214156714,-3.2008962935086798,1],roofId:"gVgDeNYsXdGDefJV1YRGoa",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{relativeAngle:-1.5707963267948972,locked:!1,cy:1.664979819199738,leftJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],textureType:"Wall Texture Default",selected:!1,lz:6,lx:9.731752225416834,color:"white",type:"Wall",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rotation:[0,0,-.41015237421866746],rightJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],cz:0,rightRoofHeight:6,leftRoofHeight:6,roofId:"gVgDeNYsXdGDefJV1YRGoa",cx:-3.191594753531114,id:"gDyesAJb6hCZTAKFF2wVoZ",normal:[0,0,1],leftPoint:[-3.191594753531113,6.530855931908152,1],ly:.3,rightPoint:[-3.191594753531113,-3.2008962935086824,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{ridgeRightPoint:[0,1],wallsId:["bmKncuas6bZ1hnGH6qyHKX"],selected:!1,ridgeLeftPoint:[0,1],ly:0,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],cz:0,textureType:"No Roof Texture",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",color:"#ffffff",cy:0,cx:0,lz:0,thickness:.2,rotation:[0,0,0],id:"gVgDeNYsXdGDefJV1YRGoa",locked:!1,type:"Roof",lx:0,roofType:"Gable",rise:.4407500599176517,ceiling:!1},{lz:1,lx:7.149369527041389,color:"#808080",cx:41.18797801355477,locked:!1,selected:!1,id:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],ly:13.668965778073638,parentId:"Ground",solarUpdraftTower:{},solarPowerTower:{},type:"Foundation",cz:.5,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cy:55.159515522512336},{selected:!1,normal:[0,0,1],centerRoofHeight:[-.5,7],locked:!1,lz:7,rotation:[0,0,-.41015237421866746],rightJoints:["no8zN9dyqYE4qeuVrW3Heo"],parentId:"vwL7hNDotVD3LxBD3WrfUq",leftJoints:["nxkAimjB2HNyGqmHN18F5b"],id:"ra9rKcRfAsQu21a3r6cLBQ",leftPoint:[6.466711798346411,2.6318665263706373,0],rightPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,foundationId:"vwL7hNDotVD3LxBD3WrfUq",cy:2.6318665263706373,cx:3.772871790220627,rightRoofHeight:7,textureType:"Wall Texture Default",ly:.3,relativeAngle:-3.141592653589793,lx:5.387680016251569,color:"white",roofId:"48YD9h2WBNi7Es8vvJXW3G",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,-.41015237421866746],lz:7,roofId:"48YD9h2WBNi7Es8vvJXW3G",leftJoints:["33Vec12THAd4u8Vna3kAPR"],rightJoints:["ra9rKcRfAsQu21a3r6cLBQ"],id:"nxkAimjB2HNyGqmHN18F5b",color:"white",cx:6.466711798346411,locked:!1,leftRoofHeight:7,selected:!1,rightPoint:[6.466711798346411,2.6318665263706373,0],normal:[0,0,1],relativeAngle:1.5707963267948966,type:"Wall",lx:5.401219763739984,cz:0,leftPoint:[6.466711798346411,-2.769353237369347,0],cy:-.06874335549935484,ly:.3,textureType:"Wall Texture Default",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{relativeAngle:-12364019629334816e-31,lz:7,ly:.3,cz:0,leftJoints:["no8zN9dyqYE4qeuVrW3Heo"],rightPoint:[6.466711798346411,-2.769353237369347,0],cx:3.772871790220624,cy:-2.7693532373693435,leftPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"vwL7hNDotVD3LxBD3WrfUq",lx:5.387680016251575,color:"white",locked:!1,leftRoofHeight:7,type:"Wall",rightJoints:["nxkAimjB2HNyGqmHN18F5b"],parentId:"vwL7hNDotVD3LxBD3WrfUq",textureType:"Wall Texture Default",selected:!1,roofId:"48YD9h2WBNi7Es8vvJXW3G",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:7,id:"33Vec12THAd4u8Vna3kAPR",centerRoofHeight:[.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],cz:2.7786330947701083,color:"white",normal:[0,0,1],roofId:"48YD9h2WBNi7Es8vvJXW3G",rightPoint:[1.0790317820948367,-2.7693532373693404,0],cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],id:"no8zN9dyqYE4qeuVrW3Heo",lz:7,relativeAngle:-1.570796326794898,textureType:"Wall Texture Default",selected:!1,rightRoofHeight:7,leftRoofHeight:7,locked:!1,foundationId:"vwL7hNDotVD3LxBD3WrfUq",ly:.3,rightJoints:["33Vec12THAd4u8Vna3kAPR"],parentId:"vwL7hNDotVD3LxBD3WrfUq",type:"Wall",leftJoints:["ra9rKcRfAsQu21a3r6cLBQ"],cx:1.0790317820948396,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarAbsorberPipe:{},selected:!1,solarPowerTower:{},cy:84.30176551679384,type:"Foundation",rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},parentId:"Ground",ly:5.568881804752381,cz:.5,cx:19.50958427736446,locked:!1,lx:13.89007394070906,normal:[0,0,1],id:"vwL7hNDotVD3LxBD3WrfUq",lz:1,color:"#808080"},{leftPoint:[-.7148597809579893,2.6859428300134063,1],rightJoints:["fc3SxNnr1T2obwWNDrRWPq"],selected:!1,parentId:"4UZo2BLYXGN9cd3hbyQ45x",leftJoints:["fHApw3eZ3j52e3Ze4hhzaH"],color:"white",lx:5.387680016251569,normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:.3,rightRoofHeight:7,cz:0,lz:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",id:"94d3RXBRBLR2SMUq5fQJtk",cy:2.685942830013403,rightPoint:[-6.102539797209565,2.6859428300134014,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",relativeAngle:-3.141592653589793,cx:-3.4086997890837694,type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,textureType:"Wall Texture Default",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fHApw3eZ3j52e3Ze4hhzaH",lx:5.401219763739984,ly:.3,locked:!1,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,leftPoint:[-.7148597809579927,-2.7152769337265767,1],lz:7,relativeAngle:1.5707963267948966,rightRoofHeight:7,leftRoofHeight:7,leftJoints:["qCUxDe7bDY8tYgH1joCgeh"],textureType:"Wall Texture Default",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",cx:-.7148597809579962,rightJoints:["94d3RXBRBLR2SMUq5fQJtk"],parentId:"4UZo2BLYXGN9cd3hbyQ45x",rightPoint:[-.7148597809579893,2.6859428300134063,1],cy:-.014667051856591229,normal:[0,0,1],type:"Wall",roofId:"8gnJuvioHBpuV9PnGGyNAB",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"qCUxDe7bDY8tYgH1joCgeh",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,cz:0,color:"white",rotation:[0,0,-.41015237421866746],leftPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"4UZo2BLYXGN9cd3hbyQ45x",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",rightJoints:["fHApw3eZ3j52e3Ze4hhzaH"],leftRoofHeight:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",normal:[0,0,1],cx:-3.4086997890837756,rightRoofHeight:7,cy:-2.715276933726573,leftJoints:["fc3SxNnr1T2obwWNDrRWPq"],type:"Wall",selected:!1,ly:.3,locked:!1,lz:7,centerRoofHeight:[-.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,id:"fc3SxNnr1T2obwWNDrRWPq",roofId:"8gnJuvioHBpuV9PnGGyNAB",ly:.3,foundationId:"4UZo2BLYXGN9cd3hbyQ45x",leftRoofHeight:7,selected:!1,rightRoofHeight:7,rightJoints:["qCUxDe7bDY8tYgH1joCgeh"],color:"white",cx:-6.102539797209562,parentId:"4UZo2BLYXGN9cd3hbyQ45x",textureType:"Wall Texture Default",leftPoint:[-6.102539797209565,2.6859428300134014,1],lz:7,rotation:[0,0,-.41015237421866746],locked:!1,rightPoint:[-6.102539797209571,-2.7152769337265754,1],lx:5.401219763739977,normal:[0,0,1],cz:0,type:"Wall",relativeAngle:-1.570796326794898,leftJoints:["94d3RXBRBLR2SMUq5fQJtk"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"4UZo2BLYXGN9cd3hbyQ45x",cz:.5,solarUpdraftTower:{},cx:60.22394051332042,ly:5.482519143209589,normal:[0,0,1],color:"#808080",parentId:"Ground",lz:1,type:"Foundation",solarPowerTower:{},solarAbsorberPipe:{},cy:66.89544628344375,rotation:[0,0,-.41015237421866746],locked:!1,selected:!1,lx:12.981345567934609},{ridgeRightPoint:[.5,1],ly:0,wallsId:["no8zN9dyqYE4qeuVrW3Heo"],lz:0,cz:0,thickness:.2,color:"#ffffff",showLabel:!1,lineWidth:.2,selected:!1,textureType:"No Roof Texture",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,0],id:"48YD9h2WBNi7Es8vvJXW3G",lineColor:"black",type:"Roof",parentId:"vwL7hNDotVD3LxBD3WrfUq",cx:0,locked:!1,cy:0,roofType:"Gable",lx:0,normal:[0,0,1],ridgeLeftPoint:[-.5,1],rise:0,ceiling:!1},{cz:0,lineWidth:.2,color:"#ffffff",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",parentId:"tafet8SHZ3Nd8kXyfeZ9FR",normal:[0,0,1],id:"52yUcWyJUbmGw2PC5d5KiK",wallsId:["k13k8dUZo1jLk9Pubbz3Yu","qEu4R9jBDYekHJdsyGPkHu","7zFHG6rEsyAEeiBjZ3Fqiv","sfm78zxYm2PZeqMiLJ7sRS"],lx:0,locked:!1,selected:!1,showLabel:!1,cy:0,ly:0,textureType:"No Roof Texture",type:"Roof",rotation:[0,0,0],cx:0,lineColor:"black",lz:0,thickness:.2,roofType:"Pyramid",rise:1.0848601282561745,ceiling:!1},{type:"Roof",wallsId:["vha1dDK5ppjp6f9bgr45uq"],ridgeRightPoint:[0,1],color:"#ffffff",rotation:[0,0,0],lineColor:"black",ridgeLeftPoint:[0,1],cz:0,cx:0,normal:[0,0,1],selected:!1,roofType:"Gable",lz:0,thickness:.2,lineWidth:.2,ly:0,id:"wrKEiNvyDQopU6C5MqvRMM",locked:!1,foundationId:"98vBSiAe7BeqTZRNu482vh",textureType:"No Roof Texture",lx:0,parentId:"98vBSiAe7BeqTZRNu482vh",cy:0,showLabel:!1,rise:2,ceiling:!1},{cy:0,selected:!1,type:"Roof",leftRidgeLength:15.875000000000002,lx:0,cx:0,locked:!1,id:"adpYUuHEY6XwTLGq9piRR2",normal:[0,0,1],wallsId:["cqVaqhkF9cafDk3CujuxhA"],cz:0,parentId:"aXWETyunkqtQVNXGWr9VZd",showLabel:!1,rightRidgeLength:15.875000000000002,color:"#ffffff",rotation:[0,0,0],textureType:"No Roof Texture",foundationId:"aXWETyunkqtQVNXGWr9VZd",roofType:"Hip",lineWidth:.2,ly:0,lineColor:"black",thickness:.2,lz:0,rise:2.5,ceiling:!1},{cx:40.42324164440271,lx:46.50473526306251,type:"Foundation",id:"gg3wfWZaPNSy6E85uMZYRf",solarAbsorberPipe:{},ly:57.10448987141375,color:"#68ccca",cy:-138.0841490094463,solarPowerTower:{},cz:.05,locked:!1,selected:!1,lz:.1,parentId:"Ground",solarUpdraftTower:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746]},{solarAbsorberPipe:{},ly:57.28147044148081,parentId:"Ground",color:"#68ccca",cx:-134.9224921942922,cz:.05,locked:!1,rotation:[0,0,-.41015237421866746],lz:.1,cy:-67.94969279046406,normal:[0,0,1],solarUpdraftTower:{},type:"Foundation",solarPowerTower:{},lx:59.55306513135086,selected:!1,id:"a6rvHmP4DDMyxBjdX22svj"},{id:"aNDJu4drMr2fEx1r8tHjj6",cy:18.299607948404756,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.834587966975077,rotation:[0,0,-.41015237421866746],lx:7.294777414475799,cx:-55.05079468229798,selected:!1,locked:!1,cz:6,lz:12,type:"Cuboid"},{lx:7.294777414475799,ly:3.834587966975077,lz:12,cx:-33.5448212615926,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:8.863867840093441,type:"Cuboid",selected:!1,color:"gray",id:"qPJRFLTr5yqpFjK2r5qNtK",locked:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],parentId:"Ground",cz:6},{lx:7.294777414475799,parentId:"Ground",selected:!1,cx:-26.791783116976674,color:"gray",cz:6,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],locked:!1,id:"foA7zzY5fzm5ppKLNPgcZM",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",ly:3.834587966975077,normal:[0,0,1],cy:5.910492232229722,lz:12},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-50.198042271889335,parentId:"Ground",ly:1.4387765101632088,cy:16.15769091498796,color:"gray",normal:[0,0,1],locked:!1,lz:12,type:"Cuboid",lx:3.0374945193791563,cz:6,rotation:[0,0,-.41015237421866746],id:"jcVSu4BB2otpgDQ9Uss6dk"},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],id:"dvQtFmgsNmd5tYGN78K2eR",type:"Cuboid",lx:3.0374945193791563,cx:-38.46497607487548,lz:12,selected:!1,locked:!1,parentId:"Ground",color:"gray",cy:11.032940387603501,rotation:[0,0,-.41015237421866746],cz:6,ly:1.4387765101632088},{locked:!1,selected:!1,id:"qHYYLt5NNn8YrtX4BAqtZt",cz:6,cx:-21.68767431477416,faceColors:["gray","gray","gray","gray","gray","gray"],lz:12,lx:3.0374945193791563,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.4387765101632088,rotation:[0,0,-.41015237421866746],parentId:"Ground",type:"Cuboid",normal:[0,0,1],cy:3.88590550753401,color:"gray"},{id:"t1b6qVRBDTKtM9evc3a38G",rotation:[0,0,-.41015237421866746],cy:22.859143113805672,cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],parentId:"Ground",lz:8,type:"Cuboid",ly:4.854618540394783,color:"gray",lx:3.504189768701392,cx:-62.133323117727784,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,selected:!1},{type:"Cuboid",cz:5,parentId:"Ground",ly:3.834587966975077,cx:-1.671845448850263,rotation:[0,0,-.41015237421866746],cy:36.05441660008029,lx:7.294777414475799,color:"gray",lz:10,selected:!1,id:"ewVvbjdsVwbRqgEtvCq5hs",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,normal:[0,0,1]},{ly:.3,leftJoints:["nM3F4oVEiNnPXXKHuymBW8"],leftRoofHeight:5,textureType:"Wall Texture Default",cx:1.4377006720631131,cz:0,color:"white",rightJoints:["pVB4qAvwgYktWUYmnpXrvd"],locked:!1,id:"fVkwHoLMqjGDdZWbofbtKG",foundationId:"51jEtCS88nBPdVJc1fit8Y",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",leftPoint:[16.8234405859108,5.91199411832761,0],relativeAngle:-3.141592653589793,lz:5,normal:[0,0,1],selected:!1,cy:5.911994118327609,rightRoofHeight:5,type:"Wall",lx:30.771479827695373,rightPoint:[-13.948039241784572,5.911994118327607,0],parentId:"51jEtCS88nBPdVJc1fit8Y",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,rightJoints:["fVkwHoLMqjGDdZWbofbtKG"],cz:0,leftPoint:[16.823440585910813,-5.705218022759548,0],rightPoint:[16.8234405859108,5.91199411832761,0],selected:!1,color:"white",cx:16.823440585910806,lx:11.617212141087158,leftRoofHeight:5,normal:[0,0,1],id:"nM3F4oVEiNnPXXKHuymBW8",textureType:"Wall Texture Default",foundationId:"51jEtCS88nBPdVJc1fit8Y",parentId:"51jEtCS88nBPdVJc1fit8Y",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],type:"Wall",lz:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",ly:.3,cy:.10338804778403077,leftJoints:["hjhpbBLzTxiFBJngNEFjyo"],relativeAngle:1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-13.94803924178457,-5.705218022759548,0],selected:!1,normal:[0,0,1],type:"Wall",leftRoofHeight:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",foundationId:"51jEtCS88nBPdVJc1fit8Y",cy:-5.705218022759548,locked:!1,rightPoint:[16.823440585910813,-5.705218022759548,0],rightRoofHeight:5,ly:.3,rotation:[0,0,-.41015237421866746],cz:0,cx:1.4377006720631211,rightJoints:["nM3F4oVEiNnPXXKHuymBW8"],textureType:"Wall Texture Default",lx:30.771479827695384,color:"white",relativeAngle:0,lz:5,leftJoints:["pVB4qAvwgYktWUYmnpXrvd"],id:"hjhpbBLzTxiFBJngNEFjyo",parentId:"51jEtCS88nBPdVJc1fit8Y",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cx:-13.94803924178457,rightJoints:["hjhpbBLzTxiFBJngNEFjyo"],lx:11.617212141087155,rightPoint:[-13.94803924178457,-5.705218022759548,0],leftRoofHeight:5,id:"pVB4qAvwgYktWUYmnpXrvd",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",cy:.10338804778402944,type:"Wall",selected:!1,rightRoofHeight:5,leftPoint:[-13.948039241784572,5.911994118327607,0],relativeAngle:-1.5707963267948966,color:"white",foundationId:"51jEtCS88nBPdVJc1fit8Y",normal:[0,0,1],leftJoints:["fVkwHoLMqjGDdZWbofbtKG"],textureType:"Wall Texture Default",lz:5,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"51jEtCS88nBPdVJc1fit8Y",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,locked:!1,id:"51jEtCS88nBPdVJc1fit8Y",cx:-48.38996233223847,rotation:[0,0,-.41015237421866746],cy:-47.44094494420046,type:"Foundation",solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:12.435067202411405,parentId:"Ground",selected:!1,lx:39.55613553448626,solarPowerTower:{},lz:1,normal:[0,0,1]},{relativeAngle:1.5696801656994488,lx:11.718328338430736,lz:12,color:"white",id:"axApxDk7fg6kdu31qZJjpa",leftRoofHeight:12,selected:!1,locked:!1,rightPoint:[15.013079539479257,-11.281678961006579,0],textureType:"Wall Texture Default",rightRoofHeight:12,showLabel:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",cy:-17.14083948050329,parentId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"8jjNTNMVuPtviaQ4z8aUBg",type:"Wall",leftPoint:[15,-23,0],rotation:[0,0,0],ly:.3,lineWidth:.2,normal:[0,0,1],cx:15.006539769739629,cz:0,rightJoints:[],leftJoints:["qPSY4fD3E14vaHrFvAVhoM"],lineColor:"black",windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{showLabel:!1,rotation:[0,0,0],lineWidth:.2,relativeAngle:0,type:"Wall",normal:[0,0,1],cx:.75,lz:12,lineColor:"black",rightRoofHeight:12,lx:28.5,leftPoint:[-13.5,-23,0],windows:[],leftJoints:["qfMw91HFwbo5hsC2LrExL9"],locked:!1,roofId:"8jjNTNMVuPtviaQ4z8aUBg",id:"qPSY4fD3E14vaHrFvAVhoM",cz:0,leftRoofHeight:12,ly:.3,rightJoints:["axApxDk7fg6kdu31qZJjpa"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",textureType:"Wall Texture Default",color:"white",rightPoint:[15,-22.999999999999993,0],cy:-22.999999999999996,selected:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",leftRoofHeight:12,leftJoints:[],parentId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],roofId:"8jjNTNMVuPtviaQ4z8aUBg",windows:[],lineColor:"black",locked:!1,showLabel:!1,rotation:[0,0,0],leftPoint:[-13.486920460520745,-20.781678961006566,0],cx:-13.493460230260371,cy:-21.89083948050328,rightRoofHeight:12,lz:12,rightPoint:[-13.5,-23,0],rightJoints:["qPSY4fD3E14vaHrFvAVhoM"],selected:!1,lx:2.2183595980800535,color:"white",id:"qfMw91HFwbo5hsC2LrExL9",lineWidth:.2,relativeAngle:4.706492905071611,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",type:"Cuboid",rotation:[0,0,-.41015237421866746],lz:15,locked:!1,color:"gray",selected:!1,cx:-36.56959623779416,cz:7.5,id:"tweiiVLhdx6oBWEnEtnipE",faceColors:["gray","gray","gray","gray","gray","gray"],ly:3.089724753674105,cy:-41.66817975093342,lx:9.664636900370548},{selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lx:5.865449300431789,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],type:"Cuboid",parentId:"Ground",id:"rsUvVCPdmqPJntvXeM2GVb",cx:-44.38865117345025,locked:!1,cz:7.5,ly:1.5650109734892819,lz:15,color:"gray",cy:-40.96079721670519},{lx:3.0249690735409964,cx:-28.99251915905568,parentId:"Ground",rotation:[0,0,-.41015237421866746],type:"Cuboid",cz:7.5,color:"gray",locked:!1,lz:15,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,ly:2.6391120002649107,id:"fkBTP56VVn81KwB625hk51",cy:-31.500761697700995,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1]},{color:"gray",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],ly:1.012024715192918,parentId:"Ground",selected:!1,cx:-55.01870252082621,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sd5KLhyrNizECe9gb6KsQr",lz:15,lx:1.0626113345203119,cz:7.5,locked:!1,rotation:[0,0,-.41015237421866746],cy:-33.468482869791565},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],locked:!1,cx:-31.1067471882413,lx:1.4142777966890399,parentId:"Ground",selected:!1,id:"uMjoRxmZFJiEozXunGCtEk",cz:7.5,cy:-28.926011393490615,faceColors:["gray","gray","gray","gray","gray","gray"],lz:15,color:"gray",rotation:[0,0,-.41015237421866746],ly:1.5089496296253628},{cz:7.5,color:"gray",lz:15,lx:1.4142777966890399,cy:-19.94113390915151,type:"Cuboid",selected:!1,id:"vnrmWArXJmER4412akTEze",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1.5089496296253628,cx:-27.239009141660663,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",rotation:[0,0,-.41015237421866746]},{parentId:"Ground",rotation:[0,0,-.41015237421866746],cx:-26.10325222179982,cz:7.5,ly:2.6391120002649107,cy:-24.7401297358751,selected:!1,locked:!1,lz:15,lx:3.0249690735409964,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",color:"gray",id:"sgZFM1eyn2EqyhNUVokoxt"},{cy:-45.1003153467037,lz:15,ly:1.012024715192918,normal:[0,0,1],cx:-34.012367343427655,parentId:"Ground",cz:7.5,type:"Cuboid",lx:1.0626113345203119,selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],id:"t9SieBbjr7gB8ZfmMfPkkv",color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{cz:6,type:"Cuboid",normal:[0,0,1],cy:2.6351006761143005,locked:!1,parentId:"Ground",cx:-57.48268699848795,lx:1.921551368829732,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.170092177740421,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:12,id:"f6gjMamZeJ9AforAMb7sba",selected:!1,color:"gray",rotation:[0,0,-.41015237421866746]},{normal:[0,0,1],rotation:[0,0,-.41015237421866746],cz:6,ly:1.170092177740421,cx:-46.79299933184681,type:"Cuboid",parentId:"Ground",cy:32.079219880108276,color:"gray",lx:1.921551368829732,lz:12,selected:!1,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],id:"uZN8yxuazrtq9vtfvNYjW8",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,id:"kCUndw17uk69evYZvDbpA3",locked:!1,lx:3.8078632615679346,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:17.85994953380947,parentId:"Ground",rotation:[0,0,-.41015237421866746],ly:1.8431797229103413,faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:12,color:"gray",cx:-15.533010162096012,cz:6},{selected:!1,cz:6,rotation:[0,0,-.41015237421866746],parentId:"Ground",cy:23.773736942115185,ly:1.8431797229103413,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,lx:3.8078632615679346,id:"c5CHPFsUadwXiYeCQ5kL3M",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:12,cx:-29.102366745520293},{faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",selected:!1,cy:19.328580088899457,ly:1.5089496296253628,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,cx:-6.919453557487373,normal:[0,0,1],color:"gray",parentId:"Ground",id:"qMykCJZ7DBxwNpVWKYScqJ",lz:10,rotation:[0,0,-.41015237421866746],lx:1.4142777966890399},{color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],cy:22.10130410795824,selected:!1,parentId:"Ground",type:"Cuboid",ly:1.5089496296253628,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,rotation:[0,0,-.41015237421866746],id:"mSqbavJzutA9zhAu8xE3xS",normal:[0,0,1],cz:5,lx:1.4142777966890399,locked:!1,cx:-5.974746211405201},{lx:1.4142777966890399,id:"pyDFzHD4KAB1BNqMnzD6wS",type:"Cuboid",lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.5089496296253628,cz:5,cy:46.28392644240339,color:"gray",selected:!1,locked:!1,cx:-22.974716021978587,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],parentId:"Ground",normal:[0,0,1]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",normal:[0,0,1],lz:10,id:"3niC4znTpJLi9xPdZ3J3mi",locked:!1,ly:1.5089496296253628,type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],cx:-19.844681452337475,cz:5,lx:1.4142777966890399,cy:44.91410182205283,parentId:"Ground",rotation:[0,0,-.41015237421866746],selected:!1},{id:"kmb6FinDNPjHaUSx4hWkRY",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],parentId:"Ground",rotation:[0,0,-.41015237421866746],cz:6,lx:2.409551412544647,cx:.8488303977586087,ly:2.2160601102189608,cy:59.792631721777234,selected:!1,type:"Cuboid",lz:12,color:"gray",locked:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],cy:64.33483423541351,normal:[0,0,1],lx:2.815013454740496,selected:!1,parentId:"Ground",id:"jdUgLxxS7aoo8G5FKM1bpd",color:"gray",locked:!1,lz:12,cx:-10.431764953695687,type:"Cuboid",rotation:[0,0,-.41015237421866746],cz:6,ly:3.1077135053990776},{cx:-28.610884157233254,cy:60.58459939907478,color:"gray",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,id:"mQbRKyuR5iBvfSyrTNXPkk",type:"Cuboid",locked:!1,normal:[0,0,1],lx:2.5003437899627516,parentId:"Ground",lz:8,ly:6.3419454417230305,rotation:[0,0,-.41015237421866746],faceColors:["gray","gray","gray","gray","gray","gray"]},{lz:8,rotation:[0,0,-.41015237421866746],id:"bK5YCpcen6fCBKp3RRNqEh",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",selected:!1,color:"gray",cy:68.11631889207206,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,lx:1.9416600589072726,ly:1.989767039492348,type:"Cuboid",cx:-36.29885094967864,cz:4,normal:[0,0,1]},{normal:[0,0,1],parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,type:"Cuboid",ly:1.989767039492348,rotation:[0,0,-.41015237421866746],cx:-38.338758743868084,selected:!1,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,cy:63.07951549965926,locked:!1,lx:1.9416600589072726,id:"jmsNe53MLv3GKAG45iZZhS"},{locked:!1,showLabel:!1,thickness:.2,type:"Roof",normal:[0,0,1],color:"#ffffff",cz:0,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofType:"Pyramid",lz:0,lx:0,selected:!1,id:"u17BQ8h2PCTPBYHjaSoxnN",lineWidth:.2,cx:0,lineColor:"black",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",wallsId:["9QvBYUfBnBzYQEjDjyYwwJ","3Yax97DpPm9sAXkyokJjCv","2zTB9zP2crzAGhXAKtKuuQ","e9GuUTJEvD6Q7osTyxTwrk"],cy:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,0],rise:0,ceiling:!1},{lz:0,lineWidth:.2,color:"#ffffff",selected:!1,rotation:[0,0,0],cy:0,cz:0,type:"Roof",textureType:"No Roof Texture",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",parentId:"gEHbpQXkCu9RtbMyy3Xryz",roofType:"Pyramid",showLabel:!1,lx:0,id:"8JTXb2hRmgAaiTxMs35gh1",ly:0,normal:[0,0,1],thickness:.2,locked:!1,wallsId:["e5up5WS9fCbKNmdUhKFsh6","ncaNE7qPYcxTMDrSjrKjqC","4z9pAxyVBGgvcBfL2oBkTg","9Zt1Jh2MmnkaBKaBtYD19E","vmWMc4Nmqnx9AxgePRvtFK","jmovDX25miN2VZhEhqh9uy","wxDvuiUvYK71aR1xZ9r86C","pk5HH5mW7Fkgf2nUSMZyW9"],lineColor:"black",cx:0,rise:0,ceiling:!1},{lz:0,showLabel:!1,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"iLELU7fMnA7QkYUmgQBEWM",lineWidth:.2,textureType:"No Roof Texture",locked:!1,cy:0,selected:!1,type:"Roof",lineColor:"black",cx:0,normal:[0,0,1],roofType:"Pyramid",rotation:[0,0,0],thickness:.2,color:"#ffffff",ly:0,wallsId:["2TSEdoLpnDva8vLd5CzUbS","o6KGNbWFg87od5BX9EpsTo","9NzKjLTF3oM85YSQpL4gnd","qVHFnW8AAY4XUoieeiErxH","uSo7fsB5ruR2pmb3hS5LJZ","4HqBTHcSgWW5QKhSZyPhns","susL6EqdzG6nqxMNGZaDXi","g6f1sfDxicEvG7uLqaixdo"],cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",lx:0,rise:0,ceiling:!1},{normal:[0,0,1],textureType:"No Roof Texture",selected:!1,thickness:.2,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",showLabel:!1,lineColor:"black",color:"#ffffff",wallsId:["cEMfGqLjg1Ef23MmrZJMBi","oiFAJnXcnAH7zdnComwnZ7","wQJum4dZFQ5ppcaqoirdh1","bQ2Kx7puBgpzyzLtLqMSws"],locked:!1,type:"Roof",lineWidth:.2,lz:0,roofType:"Pyramid",cy:0,cz:0,parentId:"wBnvyTf1aAJoT1h5Lem3nN",lx:0,cx:0,rotation:[0,0,0],ly:0,id:"1qyyipEsGS2s5T9XgP6Hmh",rise:0,ceiling:!1},{color:"#ffffff",roofType:"Pyramid",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",wallsId:["arZ3wqpChkyUrckbL7omCG","xrxYGVSxLCof2hSDyYDBhi","3VxH8hmRUhtWZN2xHFt4SG","wv4UgZqFkoaJSym14cGEUi"],id:"gTmk5BL11HKrSyJkFQtskK",cy:0,locked:!1,cz:0,thickness:.2,parentId:"bEJsUFdHaD6DHGcx6x8yR6",lineColor:"black",lineWidth:.2,normal:[0,0,1],rotation:[0,0,0],lz:0,showLabel:!1,selected:!1,ly:0,textureType:"No Roof Texture",type:"Roof",lx:0,cx:0,rise:0,ceiling:!1},{locked:!1,wallsId:["hjhpbBLzTxiFBJngNEFjyo","nM3F4oVEiNnPXXKHuymBW8","fVkwHoLMqjGDdZWbofbtKG","pVB4qAvwgYktWUYmnpXrvd"],showLabel:!1,roofType:"Pyramid",parentId:"51jEtCS88nBPdVJc1fit8Y",textureType:"No Roof Texture",foundationId:"51jEtCS88nBPdVJc1fit8Y",color:"#ffffff",type:"Roof",ly:0,cy:0,lineColor:"black",lz:0,thickness:.2,lx:0,cx:0,rotation:[0,0,0],normal:[0,0,1],cz:0,selected:!1,id:"79Z3Q6kmRSdUu2gZAfxqYU",lineWidth:.2,rise:0,ceiling:!1},{roofType:"Pyramid",lineColor:"black",wallsId:["mJUeyE2zphErZr6GzDs3tZ","j1cSjqWhsVxayuMSQv24u3","svVfgRXxxLmkheyww2W4ad","feUXDC3dk8QN3nPhgvxRs7","8SK72dWsX2KdwBhjqAJrHR","eAv1PVUtpNQ3MSDZw48MQs","1RLyYLqhL7EB8W88F1YjMf"],id:"g8pgyA4zcrzdfdvNphwHQy",lx:0,cz:0,textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],cy:0,cx:0,locked:!1,type:"Roof",thickness:.2,ly:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],selected:!1,lineWidth:.2,color:"#ffffff",lz:0,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rise:0,ceiling:!1},{roofType:"Pyramid",selected:!1,locked:!1,textureType:"No Roof Texture",parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,0],color:"#ffffff",type:"Roof",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",lineColor:"black",lz:0,normal:[0,0,1],cz:0,cy:0,ly:0,showLabel:!1,id:"8jjNTNMVuPtviaQ4z8aUBg",wallsId:["qfMw91HFwbo5hsC2LrExL9","qPSY4fD3E14vaHrFvAVhoM","axApxDk7fg6kdu31qZJjpa"],thickness:.2,lx:0,cx:0,lineWidth:.2,rise:0,ceiling:!1},{lx:0,rotation:[0,0,0],parentId:"m4iUcU4yAYwkvkodEmkEet",lineColor:"black",selected:!1,thickness:.2,textureType:"No Roof Texture",cz:0,color:"#ffffff",ly:0,id:"iCAiZhiTVrLLqoQWH1g8xu",cy:0,showLabel:!1,cx:0,lineWidth:.2,foundationId:"m4iUcU4yAYwkvkodEmkEet",roofType:"Pyramid",normal:[0,0,1],wallsId:["dqGGsMEnQRvAtVj8JUXBJ1","fE5GSES3t1e72zkQ5eaMtN","annVBiZ5xysQxyv34DuQgv","1k4PTfybuAQ33E2nttLT4d"],lz:0,locked:!1,type:"Roof",rise:0,ceiling:!1},{cx:3.772871790220627,centerRoofHeight:[-.5,7],ly:.3,rightJoints:["mr118MYyqYHattPXCpoynG"],relativeAngle:-3.141592653589793,foundationId:"eP5t9YkC32dmeRk87x14Ko",rightPoint:[1.0790317820948425,2.631866526370637,0],cz:0,lx:5.387680016251569,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftPoint:[6.466711798346411,2.6318665263706373,0],locked:!1,lz:7,selected:!1,leftRoofHeight:7,color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",id:"xhZR7k2DmmA9LNkxhevkLf",rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",cy:2.6318665263706373,leftJoints:["hKD2n49XvVQhMiQhxLTwnG"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",color:"white",rightRoofHeight:7,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftRoofHeight:7,selected:!1,cy:-.06874335549935484,parentId:"eP5t9YkC32dmeRk87x14Ko",leftPoint:[6.466711798346411,-2.769353237369347,0],cx:6.466711798346411,rightJoints:["xhZR7k2DmmA9LNkxhevkLf"],rightPoint:[6.466711798346411,2.6318665263706373,0],type:"Wall",lx:5.401219763739984,locked:!1,lz:7,relativeAngle:1.5707963267948966,id:"hKD2n49XvVQhMiQhxLTwnG",foundationId:"eP5t9YkC32dmeRk87x14Ko",leftJoints:["tY9ds8odUyLmWNVGbRfRZS"],ly:.3,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"eP5t9YkC32dmeRk87x14Ko",leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.387680016251575,leftPoint:[1.0790317820948367,-2.7693532373693404,0],color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",centerRoofHeight:[.5,7],roofId:"iM8xLCCHLJSTRMvV2ytbGw",ly:.3,rightRoofHeight:7,selected:!1,locked:!1,rightJoints:["hKD2n49XvVQhMiQhxLTwnG"],cy:-2.7693532373693435,rightPoint:[6.466711798346411,-2.769353237369347,0],lz:7,type:"Wall",relativeAngle:-12364019629334816e-31,id:"tY9ds8odUyLmWNVGbRfRZS",cx:3.772871790220624,leftJoints:["mr118MYyqYHattPXCpoynG"],rotation:[0,0,-.41015237421866746],cz:2.59868595123194,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],ly:.3,locked:!1,leftJoints:["xhZR7k2DmmA9LNkxhevkLf"],parentId:"eP5t9YkC32dmeRk87x14Ko",foundationId:"eP5t9YkC32dmeRk87x14Ko",rightJoints:["tY9ds8odUyLmWNVGbRfRZS"],cx:1.0790317820948396,id:"mr118MYyqYHattPXCpoynG",selected:!1,relativeAngle:-1.570796326794898,roofId:"iM8xLCCHLJSTRMvV2ytbGw",leftPoint:[1.0790317820948425,2.631866526370637,0],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:2.8306092473007007,leftRoofHeight:7,rightPoint:[1.0790317820948367,-2.7693532373693404,0],rightRoofHeight:7,lz:7,normal:[0,0,1],cy:-.06874335549935173,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"#808080",parentId:"Ground",type:"Foundation",lx:13.89007394070906,cy:96.06999769870255,id:"eP5t9YkC32dmeRk87x14Ko",rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},solarUpdraftTower:{},ly:5.568881804752381,solarAbsorberPipe:{},cx:24.454109298590414,cz:.5,selected:!1,lz:1,locked:!1},{selected:!1,leftJoints:["1wfGxoDf2D4xggTqqerw35"],rightRoofHeight:7,cx:3.772871790220627,leftRoofHeight:7,color:"white",textureType:"Wall Texture Default",locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],lz:7,lx:5.387680016251569,parentId:"jxVQ73S6zAeTM6FAnyQm16",id:"dGhfzR7o1S6iaLXRYQQHpz",foundationId:"jxVQ73S6zAeTM6FAnyQm16",type:"Wall",normal:[0,0,1],ly:.3,rightPoint:[1.0790317820948425,2.631866526370637,0],cy:2.6318665263706373,cz:0,relativeAngle:-3.141592653589793,centerRoofHeight:[-.5,7],rightJoints:["qauPnugYuuS7RLZjxeEFyH"],roofId:"9Di2gUsu4cUvfnKcucwxcz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"9Di2gUsu4cUvfnKcucwxcz",type:"Wall",rotation:[0,0,-.41015237421866746],color:"white",foundationId:"jxVQ73S6zAeTM6FAnyQm16",cx:6.466711798346411,id:"1wfGxoDf2D4xggTqqerw35",locked:!1,normal:[0,0,1],relativeAngle:1.5707963267948966,lx:5.401219763739984,leftPoint:[6.466711798346411,-2.769353237369347,0],lz:7,rightPoint:[6.466711798346411,2.6318665263706373,0],leftJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],ly:.3,cz:0,cy:-.06874335549935484,parentId:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,leftRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",rightPoint:[6.466711798346411,-2.769353237369347,0],normal:[0,0,1],selected:!1,roofId:"9Di2gUsu4cUvfnKcucwxcz",rightRoofHeight:7,cy:-2.7693532373693435,lz:7,cx:3.772871790220624,parentId:"jxVQ73S6zAeTM6FAnyQm16",leftPoint:[1.0790317820948367,-2.7693532373693404,0],ly:.3,foundationId:"jxVQ73S6zAeTM6FAnyQm16",textureType:"Wall Texture Default",leftRoofHeight:7,rightJoints:["1wfGxoDf2D4xggTqqerw35"],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,lx:5.387680016251575,id:"6DTGHsEWy1Mj5z5EBJ8m4A",relativeAngle:-12364019629334816e-31,type:"Wall",centerRoofHeight:[.5,7],leftJoints:["qauPnugYuuS7RLZjxeEFyH"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,lx:5.401219763739977,rotation:[0,0,-.41015237421866746],roofId:"9Di2gUsu4cUvfnKcucwxcz",leftPoint:[1.0790317820948425,2.631866526370637,0],rightRoofHeight:7,color:"white",textureType:"Wall Texture Default",foundationId:"jxVQ73S6zAeTM6FAnyQm16",leftRoofHeight:7,locked:!1,type:"Wall",cz:0,leftJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightPoint:[1.0790317820948367,-2.7693532373693404,0],parentId:"jxVQ73S6zAeTM6FAnyQm16",normal:[0,0,1],cx:1.0790317820948396,lz:7,rightJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],relativeAngle:-1.570796326794898,cy:-.06874335549935173,id:"qauPnugYuuS7RLZjxeEFyH",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarUpdraftTower:{},lz:1,parentId:"Ground",solarAbsorberPipe:{},normal:[0,0,1],solarPowerTower:{},id:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,ly:5.568881804752381,type:"Foundation",lx:13.89007394070906,cz:.5,locked:!1,color:"#808080",cx:29.2866477996762,rotation:[0,0,-.41015237421866746],cy:107.44244234980054},{rotation:[0,0,-.41015237421866746],cz:0,rightPoint:[1.0790317820948425,2.631866526370637,0],selected:!1,color:"white",foundationId:"rDKG6AKNM5QvYPq1qfdTX1",lx:5.387680016251569,rightRoofHeight:7,relativeAngle:-3.141592653589793,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",normal:[0,0,1],leftJoints:["iTrgk5UiyKug74tDSksgxe"],ly:.3,locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],id:"nxbMX3EChmn9CzTV7CdW2h",cx:3.772871790220627,rightJoints:["ehEH19eZNtirzGTfRqW3Hp"],leftRoofHeight:7,cy:2.6318665263706373,parentId:"rDKG6AKNM5QvYPq1qfdTX1",textureType:"Wall Texture Default",lz:7,centerRoofHeight:[-.5,7],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lz:7,rightJoints:["nxbMX3EChmn9CzTV7CdW2h"],rightRoofHeight:7,ly:.3,color:"white",rotation:[0,0,-.41015237421866746],cy:-.06874335549935484,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,2.6318665263706373,0],selected:!1,parentId:"rDKG6AKNM5QvYPq1qfdTX1",id:"iTrgk5UiyKug74tDSksgxe",cx:6.466711798346411,cz:0,normal:[0,0,1],relativeAngle:1.5707963267948966,leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.401219763739984,type:"Wall",leftJoints:["97QKa6yKUz1mJAvuAaYQi5"],leftPoint:[6.466711798346411,-2.769353237369347,0],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",rightRoofHeight:7,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,relativeAngle:-12364019629334816e-31,centerRoofHeight:[.5,7],cx:3.772871790220624,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,-2.769353237369347,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",leftJoints:["ehEH19eZNtirzGTfRqW3Hp"],id:"97QKa6yKUz1mJAvuAaYQi5",leftPoint:[1.0790317820948367,-2.7693532373693404,0],leftRoofHeight:7,cz:0,color:"white",selected:!1,lz:7,lx:5.387680016251575,cy:-2.7693532373693435,normal:[0,0,1],rightJoints:["iTrgk5UiyKug74tDSksgxe"],parentId:"rDKG6AKNM5QvYPq1qfdTX1",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",normal:[0,0,1],color:"white",cx:1.0790317820948396,parentId:"rDKG6AKNM5QvYPq1qfdTX1",cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,locked:!1,lz:7,leftJoints:["nxbMX3EChmn9CzTV7CdW2h"],roofId:"gRx8iaGJs1z3AUhQF6eqGJ",ly:.3,type:"Wall",selected:!1,rotation:[0,0,-.41015237421866746],cz:0,textureType:"Wall Texture Default",id:"ehEH19eZNtirzGTfRqW3Hp",lx:5.401219763739977,relativeAngle:-1.570796326794898,rightRoofHeight:7,rightJoints:["97QKa6yKUz1mJAvuAaYQi5"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cx:34.55424337004162,solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,-.41015237421866746],locked:!1,cz:.5,parentId:"Ground",solarPowerTower:{},normal:[0,0,1],ly:5.568881804752381,cy:118.62202333064985,lx:13.89007394070906,solarUpdraftTower:{},selected:!1,color:"#808080",lz:1,id:"rDKG6AKNM5QvYPq1qfdTX1"},{wallsId:["mr118MYyqYHattPXCpoynG"],lz:0,lineWidth:.2,textureType:"No Roof Texture",locked:!1,ridgeLeftPoint:[-.5,1],thickness:.2,cx:0,rotation:[0,0,0],id:"iM8xLCCHLJSTRMvV2ytbGw",foundationId:"eP5t9YkC32dmeRk87x14Ko",selected:!1,ly:0,color:"#ffffff",cz:0,parentId:"eP5t9YkC32dmeRk87x14Ko",ridgeRightPoint:[.5,1],lineColor:"black",showLabel:!1,type:"Roof",lx:0,roofType:"Gable",normal:[0,0,1],cy:0,rise:0,ceiling:!1},{ly:0,type:"Roof",thickness:.2,lz:0,wallsId:["qauPnugYuuS7RLZjxeEFyH"],color:"#ffffff",selected:!1,ridgeRightPoint:[.5,1],lx:0,ridgeLeftPoint:[-.5,1],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],roofType:"Gable",locked:!1,cy:0,parentId:"jxVQ73S6zAeTM6FAnyQm16",cz:0,textureType:"No Roof Texture",showLabel:!1,foundationId:"jxVQ73S6zAeTM6FAnyQm16",id:"9Di2gUsu4cUvfnKcucwxcz",cx:0,lineWidth:.2,rise:0,ceiling:!1},{ly:0,lineWidth:.2,cx:0,type:"Roof",textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],showLabel:!1,selected:!1,cz:0,wallsId:["ehEH19eZNtirzGTfRqW3Hp"],rotation:[0,0,0],lineColor:"black",color:"#ffffff",lx:0,id:"gRx8iaGJs1z3AUhQF6eqGJ",thickness:.2,normal:[0,0,1],ridgeRightPoint:[.5,1],parentId:"rDKG6AKNM5QvYPq1qfdTX1",locked:!1,roofType:"Gable",cy:0,lz:0,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",rise:0,ceiling:!1},{lx:5.387680016251569,cz:0,rightRoofHeight:7,ly:.3,parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579893,2.6859428300134063,1],leftJoints:["dn61jbg36CDKXJ7atWKcPL"],normal:[0,0,1],rightPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"8851rT9wqqajnoeFBmiUjQ",color:"white",locked:!1,selected:!1,rightJoints:["81VpPXebFdckLDhrYfjNw4"],cy:2.685942830013403,type:"Wall",leftRoofHeight:7,id:"sksYhYD2dNixUEPNYJqc76",rotation:[0,0,-.41015237421866746],centerRoofHeight:[.5,7],relativeAngle:-3.141592653589793,textureType:"Wall Texture Default",lz:7,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",cx:-3.4086997890837694,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{locked:!1,cy:-.014667051856591229,roofId:"8851rT9wqqajnoeFBmiUjQ",leftRoofHeight:7,rightRoofHeight:7,parentId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,lz:7,textureType:"Wall Texture Default",type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579927,-2.7152769337265767,1],rotation:[0,0,-.41015237421866746],id:"dn61jbg36CDKXJ7atWKcPL",normal:[0,0,1],leftJoints:["x33tCm8G91uhrEhqZh7Sgp"],cx:-.7148597809579962,rightPoint:[-.7148597809579893,2.6859428300134063,1],ly:.3,lx:5.401219763739984,rightJoints:["sksYhYD2dNixUEPNYJqc76"],relativeAngle:1.5707963267948966,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,locked:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],rightJoints:["dn61jbg36CDKXJ7atWKcPL"],id:"x33tCm8G91uhrEhqZh7Sgp",normal:[0,0,1],lx:5.387680016251575,roofId:"8851rT9wqqajnoeFBmiUjQ",lz:7,rotation:[0,0,-.41015237421866746],parentId:"jYYkxDDGtpRKpj5cDaSAyU",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",centerRoofHeight:[-.5,7],rightRoofHeight:7,cx:-3.4086997890837756,leftPoint:[-6.102539797209571,-2.7152769337265754,1],cz:0,type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,leftJoints:["81VpPXebFdckLDhrYfjNw4"],leftRoofHeight:7,cy:-2.715276933726573,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,normal:[0,0,1],leftPoint:[-6.102539797209565,2.6859428300134014,1],rightJoints:["x33tCm8G91uhrEhqZh7Sgp"],locked:!1,cz:0,cx:-6.102539797209562,lz:7,id:"81VpPXebFdckLDhrYfjNw4",rightRoofHeight:7,selected:!1,lx:5.401219763739977,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",roofId:"8851rT9wqqajnoeFBmiUjQ",type:"Wall",color:"white",ly:.3,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftRoofHeight:7,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",relativeAngle:-1.570796326794898,leftJoints:["sksYhYD2dNixUEPNYJqc76"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",color:"#808080",cy:78.31845915827158,solarAbsorberPipe:{},solarPowerTower:{},cz:.5,locked:!1,ly:5.482519143209589,normal:[0,0,1],lz:1,selected:!1,id:"jYYkxDDGtpRKpj5cDaSAyU",solarUpdraftTower:{},lx:12.981345567934609,cx:65.13740167211039,parentId:"Ground",rotation:[0,0,-.41015237421866746]},{rotation:[0,0,-.41015237421866746],relativeAngle:-3.141592653589793,cx:-3.4086997890837694,cy:2.685942830013403,rightJoints:["5BVMmeTYtWaRrB3p7N2yex"],textureType:"Wall Texture Default",cz:0,lx:5.387680016251569,type:"Wall",roofId:"uhbPwQthVjoBQGqRB2bxwD",leftJoints:["nU3buhZij6ruFmt78QqHPt"],id:"xbje76bhjMGZA3Mc8s8cWN",ly:.3,parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,foundationId:"dTyQpKfdgEv9kGBprmTD5p",color:"white",rightPoint:[-6.102539797209565,2.6859428300134014,1],leftPoint:[-.7148597809579893,2.6859428300134063,1],locked:!1,centerRoofHeight:[.5,7],rightRoofHeight:7,lz:7,selected:!1,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,roofId:"uhbPwQthVjoBQGqRB2bxwD",cy:-.014667051856591229,leftRoofHeight:7,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",relativeAngle:1.5707963267948966,leftJoints:["dwNyLyogzdW8eZvvnJWmaJ"],rightJoints:["xbje76bhjMGZA3Mc8s8cWN"],locked:!1,foundationId:"dTyQpKfdgEv9kGBprmTD5p",lz:7,rightRoofHeight:7,color:"white",lx:5.401219763739984,id:"nU3buhZij6ruFmt78QqHPt",ly:.3,leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,parentId:"dTyQpKfdgEv9kGBprmTD5p",normal:[0,0,1],type:"Wall",rightPoint:[-.7148597809579893,2.6859428300134063,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",type:"Wall",leftPoint:[-6.102539797209571,-2.7152769337265754,1],foundationId:"dTyQpKfdgEv9kGBprmTD5p",roofId:"uhbPwQthVjoBQGqRB2bxwD",cz:0,rightJoints:["nU3buhZij6ruFmt78QqHPt"],ly:.3,relativeAngle:-12364019629334816e-31,rightRoofHeight:7,cy:-2.715276933726573,selected:!1,id:"dwNyLyogzdW8eZvvnJWmaJ",locked:!1,cx:-3.4086997890837756,rotation:[0,0,-.41015237421866746],rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,color:"white",normal:[0,0,1],leftJoints:["5BVMmeTYtWaRrB3p7N2yex"],centerRoofHeight:[-.5,7],parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,lz:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{leftPoint:[-6.102539797209565,2.6859428300134014,1],selected:!1,color:"white",type:"Wall",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftRoofHeight:7,lz:7,cx:-6.102539797209562,leftJoints:["xbje76bhjMGZA3Mc8s8cWN"],relativeAngle:-1.570796326794898,id:"5BVMmeTYtWaRrB3p7N2yex",ly:.3,roofId:"uhbPwQthVjoBQGqRB2bxwD",rightRoofHeight:7,cz:0,cy:-.014667051856584123,rightJoints:["dwNyLyogzdW8eZvvnJWmaJ"],lx:5.401219763739977,locked:!1,parentId:"dTyQpKfdgEv9kGBprmTD5p",foundationId:"dTyQpKfdgEv9kGBprmTD5p",rightPoint:[-6.102539797209571,-2.7152769337265754,1],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{normal:[0,0,1],cy:89.91033144595889,solarPowerTower:{},id:"dTyQpKfdgEv9kGBprmTD5p",parentId:"Ground",solarUpdraftTower:{},locked:!1,type:"Foundation",cx:70.15208193257892,color:"#808080",ly:5.482519143209589,cz:.5,solarAbsorberPipe:{},lz:1,lx:12.981345567934609,rotation:[0,0,-.41015237421866746],selected:!1},{leftPoint:[-.7148597809579893,2.6859428300134063,1],selected:!1,normal:[0,0,1],relativeAngle:-3.141592653589793,cz:0,rightRoofHeight:7,ly:.3,parentId:"7tr4anbazuvTAtnbTpqU9w",type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,color:"white",locked:!1,textureType:"Wall Texture Default",rightPoint:[-6.102539797209565,2.6859428300134014,1],lx:5.387680016251569,rightJoints:["cK1cR6gMr6BKG2p5YWPAbz"],rotation:[0,0,-.41015237421866746],roofId:"4YikGAD8ELjnqVycqWQnqk",lz:7,id:"7R7xQ85xB9XpqZUteZ3rjG",cy:2.685942830013403,foundationId:"7tr4anbazuvTAtnbTpqU9w",cx:-3.4086997890837694,leftJoints:["fb2EVpNYy9jyY5yAermefj"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,rotation:[0,0,-.41015237421866746],type:"Wall",relativeAngle:1.5707963267948966,leftRoofHeight:7,rightPoint:[-.7148597809579893,2.6859428300134063,1],rightRoofHeight:7,rightJoints:["7R7xQ85xB9XpqZUteZ3rjG"],textureType:"Wall Texture Default",leftJoints:["kYSMKReMjdXaFQpkHynQU8"],lx:5.401219763739984,ly:.3,locked:!1,parentId:"7tr4anbazuvTAtnbTpqU9w",foundationId:"7tr4anbazuvTAtnbTpqU9w",selected:!1,id:"fb2EVpNYy9jyY5yAermefj",leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,normal:[0,0,1],cy:-.014667051856591229,lz:7,roofId:"4YikGAD8ELjnqVycqWQnqk",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",cz:0,normal:[0,0,1],leftJoints:["cK1cR6gMr6BKG2p5YWPAbz"],ly:.3,lz:7,textureType:"Wall Texture Default",leftRoofHeight:7,lx:5.387680016251575,rightJoints:["fb2EVpNYy9jyY5yAermefj"],cx:-3.4086997890837756,rightRoofHeight:7,selected:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],type:"Wall",foundationId:"7tr4anbazuvTAtnbTpqU9w",cy:-2.715276933726573,id:"kYSMKReMjdXaFQpkHynQU8",centerRoofHeight:[-.5,7],relativeAngle:-12364019629334816e-31,rotation:[0,0,-.41015237421866746],parentId:"7tr4anbazuvTAtnbTpqU9w",leftPoint:[-6.102539797209571,-2.7152769337265754,1],locked:!1,roofId:"4YikGAD8ELjnqVycqWQnqk",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,ly:.3,cz:0,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"7tr4anbazuvTAtnbTpqU9w",leftRoofHeight:7,color:"white",rightRoofHeight:7,cx:-6.102539797209562,leftJoints:["7R7xQ85xB9XpqZUteZ3rjG"],locked:!1,type:"Wall",lz:7,normal:[0,0,1],selected:!1,leftPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"4YikGAD8ELjnqVycqWQnqk",rightJoints:["kYSMKReMjdXaFQpkHynQU8"],foundationId:"7tr4anbazuvTAtnbTpqU9w",id:"cK1cR6gMr6BKG2p5YWPAbz",cy:-.014667051856584123,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],relativeAngle:-1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{selected:!1,solarPowerTower:{},cz:.5,cx:75.10959011141287,type:"Foundation",solarAbsorberPipe:{},cy:101.13287550232491,ly:5.482519143209589,lx:12.981345567934609,solarUpdraftTower:{},id:"7tr4anbazuvTAtnbTpqU9w",locked:!1,lz:1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",normal:[0,0,1]},{lz:0,textureType:"No Roof Texture",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",cy:0,lineColor:"black",lineWidth:.2,lx:0,wallsId:["eVDG7gqXM3uLaHhJS5k6Fh"],ly:0,rightRidgeLength:15.217808474550925,selected:!1,type:"Roof",rotation:[0,0,0],color:"#ffffff",cz:0,thickness:.2,roofType:"Hip",showLabel:!1,normal:[0,0,1],leftRidgeLength:15.217808474550925,cx:0,locked:!1,parentId:"un11oZ7V5tAhWhFKuL8M5Q",id:"a67eFG3dY8EiYs3GWgTwsF",rise:3,ceiling:!1},{selected:!1,type:"Roof",cy:0,lz:0,cz:0,lineWidth:.2,wallsId:["fHApw3eZ3j52e3Ze4hhzaH"],color:"#ffffff",ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",lx:0,showLabel:!1,lineColor:"black",rotation:[0,0,0],thickness:.2,roofType:"Gable",id:"8gnJuvioHBpuV9PnGGyNAB",ly:0,locked:!1,textureType:"No Roof Texture",parentId:"4UZo2BLYXGN9cd3hbyQ45x",cx:0,normal:[0,0,1],rise:0,ceiling:!1},{ly:0,lineWidth:.2,thickness:.2,ridgeRightPoint:[.5,1],rotation:[0,0,0],selected:!1,lz:0,id:"8851rT9wqqajnoeFBmiUjQ",lineColor:"black",wallsId:["dn61jbg36CDKXJ7atWKcPL"],ridgeLeftPoint:[-.5,1],cz:0,cy:0,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",lx:0,parentId:"jYYkxDDGtpRKpj5cDaSAyU",showLabel:!1,normal:[0,0,1],cx:0,roofType:"Gable",color:"#ffffff",textureType:"No Roof Texture",locked:!1,type:"Roof",rise:0,ceiling:!1},{textureType:"No Roof Texture",lx:0,parentId:"dTyQpKfdgEv9kGBprmTD5p",color:"#ffffff",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],lz:0,thickness:.2,type:"Roof",selected:!1,showLabel:!1,cz:0,wallsId:["nU3buhZij6ruFmt78QqHPt"],rotation:[0,0,0],lineWidth:.2,foundationId:"dTyQpKfdgEv9kGBprmTD5p",cy:0,id:"uhbPwQthVjoBQGqRB2bxwD",lineColor:"black",ly:0,locked:!1,normal:[0,0,1],cx:0,roofType:"Gable",rise:0,ceiling:!1},{showLabel:!1,normal:[0,0,1],parentId:"7tr4anbazuvTAtnbTpqU9w",lz:0,lineWidth:.2,rotation:[0,0,0],ly:0,id:"4YikGAD8ELjnqVycqWQnqk",textureType:"No Roof Texture",cz:0,roofType:"Gable",lineColor:"black",foundationId:"7tr4anbazuvTAtnbTpqU9w",lx:0,wallsId:["fb2EVpNYy9jyY5yAermefj"],cy:0,cx:0,color:"#ffffff",locked:!1,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],thickness:.2,type:"Roof",selected:!1,rise:0,ceiling:!1},{lineColor:"black",thickness:.2,id:"sYHDayEkzyov7moz6ZSxMu",wallsId:["vBUTysuRjhgkSBTqe4LbYB"],foundationId:"iUb7PSjszf44Zg2YisnC92",rightRidgeLength:10.468639728099076,cy:0,leftRidgeLength:10.502576741045827,locked:!1,color:"#ffffff",parentId:"iUb7PSjszf44Zg2YisnC92",lz:0,showLabel:!1,cx:0,roofType:"Hip",normal:[0,0,1],cz:0,lx:0,selected:!1,type:"Roof",textureType:"No Roof Texture",lineWidth:.2,ly:0,rotation:[0,0,0],rise:2.5,ceiling:!1},{normal:[0,0,1],cx:4440892098500626e-31,type:"Wall",ly:.3,relativeAngle:3.141592653589793,rightPoint:[-3.499999999999999,5.5,0],rotation:[0,0,-.41015237421866746],leftPoint:[3.5,5.5,0],color:"white",lx:6.999999999999999,rightRoofHeight:5.5,lz:5.5,locked:!1,selected:!1,leftRoofHeight:5.5,textureType:"Wall Texture Default",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cy:5.5,id:"qefHhW7RphUHeDq16TbXhE",parentId:"rQHuxdXYQbCuq9CeyutKyt",foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["6ooz87ACe4edwrDbgzxpbv"],rightJoints:["havXcoauCS81jHQUuLqvuh"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{cx:3.4999999999999982,foundationId:"rQHuxdXYQbCuq9CeyutKyt",parentId:"rQHuxdXYQbCuq9CeyutKyt",rightPoint:[3.499999999999996,5.500000000000007,0],lz:5.5,relativeAngle:1.5707963267948974,leftRoofHeight:5.5,locked:!1,color:"white",leftPoint:[3.5,-.5,0],rotation:[0,0,-.41015237421866746],type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",leftJoints:["mr4zR49hytzuJEADGRBy6h"],selected:!1,centerRoofHeight:[.5,5.5],normal:[0,0,1],cy:2.5000000000000036,id:"6ooz87ACe4edwrDbgzxpbv",ly:.3,lx:6.000000000000007,textureType:"Wall Texture Default",rightJoints:["qefHhW7RphUHeDq16TbXhE"],cz:0,rightRoofHeight:5.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{roofId:"ta7dJGh8vLPXrt6JV7RiRA",rotation:[0,0,-.41015237421866746],leftPoint:[-3.499999999999999,5.5,0],rightJoints:["mr4zR49hytzuJEADGRBy6h"],color:"white",leftRoofHeight:5.5,foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["qefHhW7RphUHeDq16TbXhE"],rightRoofHeight:5.5,lx:6,relativeAngle:4.71238898038469,cx:-3.4999999999999996,cz:0,normal:[0,0,1],id:"havXcoauCS81jHQUuLqvuh",ly:.3,rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",cy:2.5,locked:!1,selected:!1,type:"Wall",lz:5.5,centerRoofHeight:[-.5,5.5],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{textureType:"Wall Texture Default",foundationId:"rQHuxdXYQbCuq9CeyutKyt",locked:!1,leftJoints:["havXcoauCS81jHQUuLqvuh"],rightJoints:["6ooz87ACe4edwrDbgzxpbv"],relativeAngle:3806478941571964e-31,rightPoint:[3.5,-.5,0],color:"white",rightRoofHeight:5.5,leftRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],id:"mr4zR49hytzuJEADGRBy6h",ly:.3,lx:7.000000000000002,type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cx:-11102230246251565e-31,cy:-.5000000000000013,normal:[0,0,1],selected:!1,lz:5.5,cz:0,rotation:[0,0,-.41015237421866746],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{color:"#ffffff",normal:[0,0,1],textureType:"No Roof Texture",id:"ta7dJGh8vLPXrt6JV7RiRA",thickness:.2,cy:0,foundationId:"rQHuxdXYQbCuq9CeyutKyt",selected:!1,locked:!1,ridgeRightPoint:[.5,1],roofType:"Gable",wallsId:["mr4zR49hytzuJEADGRBy6h"],rotation:[0,0,-.41015237421866746],ly:0,cz:0,ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",cx:0,lz:0,parentId:"rQHuxdXYQbCuq9CeyutKyt",rise:0,ceiling:!1},{locked:!1,solarAbsorberPipe:{},lz:1,ly:13.609083182601537,cz:.5,type:"Foundation",id:"rQHuxdXYQbCuq9CeyutKyt",cx:-44.11791038753842,normal:[0,0,1],lx:9.87769053193653,solarUpdraftTower:{},selected:!1,cy:-106.22676257052163,rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{}},{id:"i5GKt7QSXzDRXB7dcnVBLM",locked:!1,rotation:[0,0,2.731440279371126],leftPoint:[3.5,5.5,0],ly:.3,cy:5.5,leftJoints:["m2eA6TxbykTmNtzzk3kJAi"],relativeAngle:3.141592653589793,parentId:"i7ztNW6L7rJRDK1bHdkfyV",textureType:"Wall Texture Default",cz:0,rightPoint:[-3.499999999999999,5.5,0],selected:!1,lz:5.5,rightJoints:["sPS51DdhZZB8Z5PdWKEDt2"],normal:[0,0,1],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",leftRoofHeight:5.5,color:"white",type:"Wall",roofId:"r5b5XcBuiD8AujQ1MGfNH3",lx:6.999999999999999,rightRoofHeight:5.5,cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{centerRoofHeight:[.5,5.5],roofId:"r5b5XcBuiD8AujQ1MGfNH3",rotation:[0,0,2.731440279371126],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",cz:0,relativeAngle:1.5707963267948974,color:"white",cx:3.4999999999999982,id:"m2eA6TxbykTmNtzzk3kJAi",leftJoints:["oH8d6S7hYF3gtbhBgwNM9N"],rightPoint:[3.499999999999996,5.500000000000007,0],leftPoint:[3.5,-.5,0],lx:6.000000000000007,locked:!1,rightJoints:["i5GKt7QSXzDRXB7dcnVBLM"],normal:[0,0,1],parentId:"i7ztNW6L7rJRDK1bHdkfyV",cy:2.5000000000000036,textureType:"Wall Texture Default",ly:.3,rightRoofHeight:5.5,selected:!1,lz:5.5,leftRoofHeight:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],rightJoints:["oH8d6S7hYF3gtbhBgwNM9N"],relativeAngle:4.71238898038469,leftPoint:[-3.499999999999999,5.5,0],leftRoofHeight:5.5,leftJoints:["i5GKt7QSXzDRXB7dcnVBLM"],color:"white",selected:!1,lz:5.5,locked:!1,rightRoofHeight:5.5,cy:2.5,cx:-3.4999999999999996,type:"Wall",cz:0,id:"sPS51DdhZZB8Z5PdWKEDt2",rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",roofId:"r5b5XcBuiD8AujQ1MGfNH3",parentId:"i7ztNW6L7rJRDK1bHdkfyV",ly:.3,centerRoofHeight:[-.5,5.5],rotation:[0,0,2.731440279371126],lx:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{locked:!1,id:"oH8d6S7hYF3gtbhBgwNM9N",type:"Wall",leftJoints:["sPS51DdhZZB8Z5PdWKEDt2"],rightPoint:[3.5,-.5,0],rotation:[0,0,2.731440279371126],cx:-11102230246251565e-31,color:"white",rightJoints:["m2eA6TxbykTmNtzzk3kJAi"],roofId:"r5b5XcBuiD8AujQ1MGfNH3",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",lx:7.000000000000002,leftRoofHeight:5.5,textureType:"Wall Texture Default",parentId:"i7ztNW6L7rJRDK1bHdkfyV",rightRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],cy:-.5000000000000013,cz:0,selected:!1,lz:5.5,relativeAngle:3806478941571964e-31,ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"i7ztNW6L7rJRDK1bHdkfyV",selected:!1,thickness:.2,cy:0,type:"Roof",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",id:"r5b5XcBuiD8AujQ1MGfNH3",roofType:"Gable",lx:0,wallsId:["oH8d6S7hYF3gtbhBgwNM9N"],normal:[0,0,1],ridgeRightPoint:[.5,1],color:"#ffffff",cz:0,ly:0,rotation:[0,0,2.731440279371126],ridgeLeftPoint:[-.5,1],cx:0,locked:!1,lz:0,textureType:"No Roof Texture",rise:0,ceiling:!1},{solarAbsorberPipe:{},rotation:[0,0,2.731440279371126],id:"i7ztNW6L7rJRDK1bHdkfyV",cy:-73.67535448644264,lx:9.87769053193653,normal:[0,0,1],locked:!1,solarPowerTower:{},selected:!1,cx:-30.629562336104748,ly:13.609083182601537,parentId:"Ground",solarUpdraftTower:{},type:"Foundation",lz:1,cz:.5},{rotation:[0,0,2.731440279371126],leftRoofHeight:5.5,foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cz:0,normal:[0,0,1],selected:!1,cy:5.5,relativeAngle:3.141592653589793,roofId:"runBfYomSfd687Gchj63SZ",leftPoint:[3.5,5.5,0],leftJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],locked:!1,rightJoints:["96zUdoDkw4WNfs9uwWoQAg"],lx:6.999999999999999,ly:.3,rightRoofHeight:5.5,cx:4440892098500626e-31,lz:5.5,rightPoint:[-3.499999999999999,5.5,0],id:"3poxNxgtfpKbeLU5s5wzoP",textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",rightPoint:[3.499999999999996,5.500000000000007,0],color:"white",id:"ubJ5Kh7Kzh6DiRySw16dSF",leftRoofHeight:5.5,relativeAngle:1.5707963267948974,normal:[0,0,1],cx:3.4999999999999982,roofId:"runBfYomSfd687Gchj63SZ",rotation:[0,0,2.731440279371126],cz:0,rightRoofHeight:5.5,lx:6.000000000000007,selected:!1,locked:!1,centerRoofHeight:[.5,5.5],ly:.3,leftPoint:[3.5,-.5,0],textureType:"Wall Texture Default",rightJoints:["3poxNxgtfpKbeLU5s5wzoP"],leftJoints:["5n3uXwW2AJxGx3HRvGRLXX"],cy:2.5000000000000036,lz:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{id:"96zUdoDkw4WNfs9uwWoQAg",rightJoints:["5n3uXwW2AJxGx3HRvGRLXX"],centerRoofHeight:[-.5,5.5],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",locked:!1,type:"Wall",ly:.3,relativeAngle:4.71238898038469,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",textureType:"Wall Texture Default",normal:[0,0,1],cy:2.5,rightPoint:[-3.5,-.5,0],rightRoofHeight:5.5,lx:6,rotation:[0,0,2.731440279371126],cx:-3.4999999999999996,selected:!1,color:"white",leftPoint:[-3.499999999999999,5.5,0],leftJoints:["3poxNxgtfpKbeLU5s5wzoP"],lz:5.5,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",leftJoints:["96zUdoDkw4WNfs9uwWoQAg"],cy:-.5000000000000013,lz:5.5,textureType:"Wall Texture Default",relativeAngle:3806478941571964e-31,type:"Wall",leftPoint:[-3.500000000000002,-.5000000000000027,0],lx:7.000000000000002,leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",cx:-11102230246251565e-31,rightJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],rotation:[0,0,2.731440279371126],id:"5n3uXwW2AJxGx3HRvGRLXX",rightRoofHeight:5.5,locked:!1,cz:0,rightPoint:[3.5,-.5,0],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cy:0,ly:0,textureType:"No Roof Texture",lz:0,rotation:[0,0,2.731440279371126],ridgeRightPoint:[.5,1],locked:!1,type:"Roof",foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",roofType:"Gable",thickness:.2,color:"#ffffff",id:"runBfYomSfd687Gchj63SZ",selected:!1,wallsId:["5n3uXwW2AJxGx3HRvGRLXX"],normal:[0,0,1],cz:0,ridgeLeftPoint:[-.5,1],cx:0,lx:0,rise:0,ceiling:!1},{solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,2.731440279371126],selected:!1,solarUpdraftTower:{},cx:-20.62568109333218,lz:1,id:"hSQpUbAbHNwPXWwTfmLQQ9",ly:13.609083182601537,cy:-78.08358970074559,locked:!1,parentId:"Ground",lx:9.87769053193653,cz:.5,normal:[0,0,1],solarPowerTower:{}},{id:"g5QrsNM3GmBsG5THTKDrtm",lx:0,lz:0,locked:!1,color:"#ffffff",parentId:"jsSCnAypzh29RxPH7MED73",thickness:.2,showLabel:!1,cx:0,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],rotation:[0,0,0],cy:0,lineColor:"black",roofType:"Gable",normal:[0,0,1],type:"Roof",selected:!1,wallsId:["6QCJ15fiFxBVfmQVYdq3Tt"],ly:0,ridgeRightPoint:[.5,1],cz:0,lineWidth:.2,foundationId:"jsSCnAypzh29RxPH7MED73",rise:0,ceiling:!1},{locked:!1,ly:.3,lz:11,rightRoofHeight:11,textureType:"Wall Texture Default",cy:1.3672430244223936,cz:0,selected:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",color:"white",leftRoofHeight:11,rightJoints:["6h7WjPWFBQymjBKRVYEU1F"],relativeAngle:3.1415926535897927,normal:[0,0,1],foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftPoint:[3.0949416757515893,1.3672430244223912,0],parentId:"tL1dWhNk5SYJrYMJekBQPT",rotation:[0,0,-.41015237421866746],leftJoints:["884js7wUi92VZEx6c9MoMb"],lx:6.167453096699541,id:"sjiccDfBPmjs7njCd2f7Zn",rightPoint:[-3.072511420947951,1.3672430244223959,0],cx:.01121512740181907,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,type:"Wall",ly:.3,textureType:"Wall Texture Default",foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftJoints:["bbdCECR63r6BPqRgAaaEkx"],rotation:[0,0,-.41015237421866746],centerRoofHeight:[-.5,11],cz:0,roofId:"vSTpyGi1WSV73vjm9ifaVF",rightPoint:[3.0949416757515893,1.3672430244223912,0],leftPoint:[3.094941675751588,-5.795230412406128,0],cx:3.0949416757515884,rightRoofHeight:11,rightJoints:["sjiccDfBPmjs7njCd2f7Zn"],color:"white",normal:[0,0,1],leftRoofHeight:11,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:1.5707963267948963,selected:!1,id:"884js7wUi92VZEx6c9MoMb",cy:-2.2139936939918683,lz:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[3.094941675751588,-5.795230412406128,0],leftRoofHeight:11,selected:!1,id:"bbdCECR63r6BPqRgAaaEkx",rightJoints:["884js7wUi92VZEx6c9MoMb"],rightRoofHeight:11,cx:.011215127401820624,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:0,cz:0,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",cy:-5.795230412406128,color:"white",lz:11,leftJoints:["6h7WjPWFBQymjBKRVYEU1F"],locked:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",leftPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"tL1dWhNk5SYJrYMJekBQPT",lx:6.167453096699535,normal:[0,0,1],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[-3.0725114209479467,-5.795230412406128,0],locked:!1,rightRoofHeight:11,normal:[0,0,1],selected:!1,relativeAngle:-1.570796326794896,color:"white",lx:7.162473436828524,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,foundationId:"tL1dWhNk5SYJrYMJekBQPT",textureType:"Wall Texture Default",id:"6h7WjPWFBQymjBKRVYEU1F",cz:0,centerRoofHeight:[.5,11],lz:11,leftRoofHeight:11,rightJoints:["bbdCECR63r6BPqRgAaaEkx"],parentId:"tL1dWhNk5SYJrYMJekBQPT",cy:-2.213993693991866,roofId:"vSTpyGi1WSV73vjm9ifaVF",leftJoints:["sjiccDfBPmjs7njCd2f7Zn"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"tL1dWhNk5SYJrYMJekBQPT",cz:0,textureType:"No Roof Texture",lz:0,lx:0,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rotation:[0,0,0],cy:0,type:"Roof",selected:!1,cx:0,ly:0,thickness:.2,wallsId:["sjiccDfBPmjs7njCd2f7Zn"],id:"vSTpyGi1WSV73vjm9ifaVF",parentId:"tL1dWhNk5SYJrYMJekBQPT",color:"#ffffff",roofType:"Gable",locked:!1,normal:[0,0,1],rise:0,ceiling:!1},{cy:-47.30267633910208,color:"#808080",rotation:[0,0,-.41015237421866746],parentId:"Ground",cx:33.062760716057014,lz:1,solarUpdraftTower:{},ly:12.02473099186649,solarAbsorberPipe:{},normal:[0,0,1],lx:6.9193101388799265,locked:!1,selected:!1,cz:.5,id:"tL1dWhNk5SYJrYMJekBQPT",solarPowerTower:{},type:"Foundation"},{textureType:"Wall Texture Default",normal:[0,0,1],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftJoints:["bsAJpLn9jN322sM8DpUqNT"],color:"white",rightRoofHeight:11,rightJoints:["9zXV5uFN4dSMYxBWBituAB"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",relativeAngle:3.1415926535897927,roofId:"uKCQp7m7UvcYMBhFBR8GT7",cx:.01121512740181907,lx:6.167453096699541,leftRoofHeight:11,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"jDBrbsB7AgYxXtiw7hRkBD",selected:!1,cy:1.3672430244223936,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:3.0949416757515884,relativeAngle:1.5707963267948963,centerRoofHeight:[-.5,11],parentId:"fHceZhM7YfHkRpJA2Esq6q",cy:-2.2139936939918683,normal:[0,0,1],rightPoint:[3.0949416757515893,1.3672430244223912,0],color:"white",textureType:"Wall Texture Default",roofId:"uKCQp7m7UvcYMBhFBR8GT7",leftPoint:[3.094941675751588,-5.795230412406128,0],ly:.3,leftJoints:["qjfMazdqWCR3Emu8xMPVFZ"],lx:7.1624734368285194,foundationId:"fHceZhM7YfHkRpJA2Esq6q",selected:!1,rightRoofHeight:11,locked:!1,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],rightJoints:["jDBrbsB7AgYxXtiw7hRkBD"],lz:11,cz:0,type:"Wall",id:"bsAJpLn9jN322sM8DpUqNT",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:6.167453096699535,leftJoints:["9zXV5uFN4dSMYxBWBituAB"],relativeAngle:0,color:"white",rightRoofHeight:11,normal:[0,0,1],id:"qjfMazdqWCR3Emu8xMPVFZ",ly:.3,lz:11,cx:.011215127401820624,rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"uKCQp7m7UvcYMBhFBR8GT7",textureType:"Wall Texture Default",type:"Wall",selected:!1,cy:-5.795230412406128,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftRoofHeight:11,locked:!1,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rotation:[0,0,-.41015237421866746],cz:0,rightJoints:["bsAJpLn9jN322sM8DpUqNT"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-2.213993693991866,parentId:"fHceZhM7YfHkRpJA2Esq6q",rightPoint:[-3.0725114209479467,-5.795230412406128,0],id:"9zXV5uFN4dSMYxBWBituAB",leftPoint:[-3.072511420947951,1.3672430244223959,0],lx:7.162473436828524,locked:!1,rightJoints:["qjfMazdqWCR3Emu8xMPVFZ"],centerRoofHeight:[.5,11],selected:!1,color:"white",textureType:"Wall Texture Default",cz:0,leftRoofHeight:11,cx:-3.072511420947949,leftJoints:["jDBrbsB7AgYxXtiw7hRkBD"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",ly:.3,roofId:"uKCQp7m7UvcYMBhFBR8GT7",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:11,lz:11,type:"Wall",relativeAngle:-1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cz:0,thickness:.2,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],ly:0,selected:!1,parentId:"fHceZhM7YfHkRpJA2Esq6q",wallsId:["jDBrbsB7AgYxXtiw7hRkBD"],textureType:"No Roof Texture",foundationId:"fHceZhM7YfHkRpJA2Esq6q",cy:0,roofType:"Gable",id:"uKCQp7m7UvcYMBhFBR8GT7",color:"#ffffff",type:"Roof",locked:!1,cx:0,rotation:[0,0,0],lz:0,normal:[0,0,1],rise:0,ceiling:!1},{type:"Foundation",selected:!1,cz:.5,lx:6.9193101388799265,parentId:"Ground",cx:25.793727800925453,solarPowerTower:{},ly:12.02473099186649,color:"#808080",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},id:"fHceZhM7YfHkRpJA2Esq6q",normal:[0,0,1],rotation:[0,0,-.41015237421866746],cy:-44.150742219854976,locked:!1},{id:"eDUMHr2NcH2Gn7xk4o7aw9",cy:1.3672430244223936,textureType:"Wall Texture Default",lx:6.167453096699541,relativeAngle:3.1415926535897927,rotation:[0,0,2.731440279371126],rightJoints:["dBRLXzBSe497rzH2ZCcM82"],roofId:"4m5SMiyzXUqv7MDwHxMrqg",type:"Wall",normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",lz:11,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",rightRoofHeight:11,cz:0,ly:.3,cx:.01121512740181907,leftRoofHeight:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],color:"white",leftJoints:["6ev87RFfruvs5gvArbaReo"],selected:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,cy:-2.2139936939918683,normal:[0,0,1],rightJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],rightPoint:[3.0949416757515893,1.3672430244223912,0],rotation:[0,0,2.731440279371126],relativeAngle:1.5707963267948963,lz:11,selected:!1,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",type:"Wall",roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftJoints:["wYP5AC8pKwpu2zvkHKJuyw"],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",centerRoofHeight:[-.5,11],color:"white",textureType:"Wall Texture Default",leftRoofHeight:11,cx:3.0949416757515884,cz:0,leftPoint:[3.094941675751588,-5.795230412406128,0],id:"6ev87RFfruvs5gvArbaReo",ly:.3,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:.011215127401820624,color:"white",parentId:"fs8r4ERWJ4tuBZW1NUtMpb",relativeAngle:0,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"wYP5AC8pKwpu2zvkHKJuyw",selected:!1,lx:6.167453096699535,type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],lz:11,rightRoofHeight:11,normal:[0,0,1],leftRoofHeight:11,rightJoints:["6ev87RFfruvs5gvArbaReo"],cy:-5.795230412406128,rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",cz:0,roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftJoints:["dBRLXzBSe497rzH2ZCcM82"],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightJoints:["wYP5AC8pKwpu2zvkHKJuyw"],textureType:"Wall Texture Default",lz:11,cy:-2.213993693991866,roofId:"4m5SMiyzXUqv7MDwHxMrqg",cz:0,rightPoint:[-3.0725114209479467,-5.795230412406128,0],ly:.3,relativeAngle:-1.570796326794896,type:"Wall",lx:7.162473436828524,rightRoofHeight:11,centerRoofHeight:[.5,11],color:"white",rotation:[0,0,2.731440279371126],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",leftRoofHeight:11,cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"dBRLXzBSe497rzH2ZCcM82",selected:!1,leftJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Roof",id:"4m5SMiyzXUqv7MDwHxMrqg",lz:0,cy:0,lx:0,ridgeRightPoint:[.5,1],normal:[0,0,1],cz:0,wallsId:["eDUMHr2NcH2Gn7xk4o7aw9"],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",roofType:"Gable",thickness:.2,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],selected:!1,parentId:"fs8r4ERWJ4tuBZW1NUtMpb",color:"#ffffff",ly:0,cx:0,rotation:[0,0,2.731440279371126],rise:0,ceiling:!1},{cy:-87.33804902014363,parentId:"Ground",id:"fs8r4ERWJ4tuBZW1NUtMpb",lz:1,solarAbsorberPipe:{},selected:!1,type:"Foundation",solarUpdraftTower:{},color:"#808080",cx:24.611820076821594,normal:[0,0,1],ly:12.02473099186649,rotation:[0,0,2.731440279371126],lx:6.9193101388799265,cz:.5,solarPowerTower:{}},{type:"Wall",foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",relativeAngle:3.1415926535897927,leftRoofHeight:11,textureType:"Wall Texture Default",leftPoint:[3.0949416757515893,1.3672430244223912,0],leftJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],lx:6.167453096699541,rightJoints:["jpAZ9atyqHZpxDMMXDH32S"],lz:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"eHL2VLecmq9sobBZmGw45i",ly:.3,normal:[0,0,1],roofId:"aNwaGHwp5cd46aLgfhTdkk",rotation:[0,0,2.731440279371126],rightRoofHeight:11,cx:.01121512740181907,cz:0,selected:!1,cy:1.3672430244223936,parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"Wall Texture Default",normal:[0,0,1],centerRoofHeight:[-.5,11],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,leftRoofHeight:11,rotation:[0,0,2.731440279371126],selected:!1,id:"a4sxwAfDyYN2ctPYayZ8Rp",foundationId:"jj54TnbPPLQx19RofY6bBx",ly:.3,leftJoints:["ntgMQTFPjEa6eGdeyqZWjE"],cy:-2.2139936939918683,rightPoint:[3.0949416757515893,1.3672430244223912,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,color:"white",lx:7.1624734368285194,cx:3.0949416757515884,leftPoint:[3.094941675751588,-5.795230412406128,0],rightRoofHeight:11,rightJoints:["eHL2VLecmq9sobBZmGw45i"],relativeAngle:1.5707963267948963,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[-3.0725114209479467,-5.795230412406128,0],type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,rotation:[0,0,2.731440279371126],rightJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],leftRoofHeight:11,cy:-5.795230412406128,leftJoints:["jpAZ9atyqHZpxDMMXDH32S"],cz:0,relativeAngle:0,foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",cx:.011215127401820624,normal:[0,0,1],rightRoofHeight:11,ly:.3,lx:6.167453096699535,selected:!1,textureType:"Wall Texture Default",id:"ntgMQTFPjEa6eGdeyqZWjE",parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{color:"white",rightJoints:["ntgMQTFPjEa6eGdeyqZWjE"],ly:.3,type:"Wall",cy:-2.213993693991866,selected:!1,rotation:[0,0,2.731440279371126],normal:[0,0,1],lz:11,leftRoofHeight:11,textureType:"Wall Texture Default",leftJoints:["eHL2VLecmq9sobBZmGw45i"],roofId:"aNwaGHwp5cd46aLgfhTdkk",centerRoofHeight:[.5,11],rightRoofHeight:11,id:"jpAZ9atyqHZpxDMMXDH32S",leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,foundationId:"jj54TnbPPLQx19RofY6bBx",rightPoint:[-3.0725114209479467,-5.795230412406128,0],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,cx:-3.072511420947949,lx:7.162473436828524,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,color:"#ffffff",normal:[0,0,1],thickness:.2,wallsId:["eHL2VLecmq9sobBZmGw45i"],ridgeRightPoint:[.5,1],textureType:"No Roof Texture",cy:0,foundationId:"jj54TnbPPLQx19RofY6bBx",cx:0,ridgeLeftPoint:[-.5,1],rotation:[0,0,2.731440279371126],selected:!1,id:"aNwaGHwp5cd46aLgfhTdkk",parentId:"jj54TnbPPLQx19RofY6bBx",roofType:"Gable",lz:0,ly:0,type:"Roof",cz:0,rise:0,ceiling:!1},{color:"#808080",selected:!1,lx:6.9193101388799265,lz:1,type:"Foundation",cz:.5,solarPowerTower:{},solarUpdraftTower:{},ly:12.02473099186649,parentId:"Ground",normal:[0,0,1],solarAbsorberPipe:{},cy:-83.96400506720003,id:"jj54TnbPPLQx19RofY6bBx",rotation:[0,0,2.731440279371126],cx:16.965503952859194},{color:"white",leftJoints:["1grZuTdR63nsQE356nWnzd"],type:"Wall",ly:.3,rightJoints:["273cTJKK381CJaxKCfBNJW"],cz:0,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[-3.072511420947951,1.3672430244223959,0],rotation:[0,0,2.731440279371126],lz:11,lx:6.167453096699541,parentId:"7sPS9WfdHAu8wqjpcnPHgs",leftRoofHeight:11,cy:1.3672430244223936,textureType:"Wall Texture Default",normal:[0,0,1],relativeAngle:3.1415926535897927,foundationId:"7sPS9WfdHAu8wqjpcnPHgs",selected:!1,cx:.01121512740181907,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightRoofHeight:11,id:"qgRfDLTUB6zC4mGwstgdHV",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{relativeAngle:1.5707963267948963,rightJoints:["qgRfDLTUB6zC4mGwstgdHV"],leftJoints:["s1pLuQJKHQfm1KbkXQK17L"],color:"white",rightRoofHeight:11,ly:.3,leftRoofHeight:11,lz:11,id:"1grZuTdR63nsQE356nWnzd",parentId:"7sPS9WfdHAu8wqjpcnPHgs",roofId:"5kL2iBLvr52ipCNA3bs5cq",normal:[0,0,1],lx:7.1624734368285194,leftPoint:[3.094941675751588,-5.795230412406128,0],centerRoofHeight:[-.5,11],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",cz:0,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],type:"Wall",selected:!1,rightPoint:[3.0949416757515893,1.3672430244223912,0],cy:-2.2139936939918683,cx:3.0949416757515884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,color:"white",cx:.011215127401820624,normal:[0,0,1],textureType:"Wall Texture Default",cz:0,type:"Wall",ly:.3,lz:11,rightJoints:["1grZuTdR63nsQE356nWnzd"],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rotation:[0,0,2.731440279371126],cy:-5.795230412406128,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rightRoofHeight:11,parentId:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.167453096699535,leftRoofHeight:11,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[3.094941675751588,-5.795230412406128,0],leftJoints:["273cTJKK381CJaxKCfBNJW"],id:"s1pLuQJKHQfm1KbkXQK17L",relativeAngle:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightPoint:[-3.0725114209479467,-5.795230412406128,0],normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",lx:7.162473436828524,selected:!1,cx:-3.072511420947949,relativeAngle:-1.570796326794896,parentId:"7sPS9WfdHAu8wqjpcnPHgs",cy:-2.213993693991866,cz:0,color:"white",foundationId:"7sPS9WfdHAu8wqjpcnPHgs",id:"273cTJKK381CJaxKCfBNJW",rightJoints:["s1pLuQJKHQfm1KbkXQK17L"],rightRoofHeight:11,leftRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,roofId:"5kL2iBLvr52ipCNA3bs5cq",centerRoofHeight:[.5,11],leftJoints:["qgRfDLTUB6zC4mGwstgdHV"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,ridgeRightPoint:[.5,1],type:"Roof",cx:0,wallsId:["qgRfDLTUB6zC4mGwstgdHV"],ly:0,cz:0,thickness:.2,normal:[0,0,1],rotation:[0,0,2.731440279371126],color:"#ffffff",lx:0,roofType:"Gable",lz:0,textureType:"No Roof Texture",cy:0,id:"5kL2iBLvr52ipCNA3bs5cq",parentId:"7sPS9WfdHAu8wqjpcnPHgs",ridgeLeftPoint:[-.5,1],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rise:0,ceiling:!1},{selected:!1,ly:12.02473099186649,parentId:"Ground",cx:8.897542847512511,lz:1,solarPowerTower:{},rotation:[0,0,2.731440279371126],solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",normal:[0,0,1],cz:.5,cy:-80.50493585333112,type:"Foundation",id:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.9193101388799265},{wallsId:["3JjPc2Pp9fAroM9UdivE1u"],lx:0,color:"#ffffff",rotation:[0,0,0],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",showLabel:!1,textureType:"No Roof Texture",lz:0,id:"qYDMJTekV8NWHzzCiVYwcs",type:"Roof",ridgeRightPoint:[0,1],normal:[0,0,1],lineColor:"black",roofType:"Gable",cx:0,thickness:.2,cy:0,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",ly:0,ridgeLeftPoint:[0,1],cz:0,selected:!1,lineWidth:.2,rise:.9752174096903712,ceiling:!1},{lx:9.337227070632437,rightPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,rightJoints:["aS3LNujiVdR6Qawgwx71Xp"],leftJoints:["b5WAAJ2sso2rc9V8yZ7iom"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",leftRoofHeight:5.25,selected:!1,cz:0,relativeAngle:3.141592653589793,leftPoint:[4.589538909397152,3.3516986330408534,0],color:"white",ly:.3,rotation:[0,0,-.41015237421866746],rightRoofHeight:5.25,centerRoofHeight:[0,6.225217409690371],roofId:"e9ZJ6jf8buNcpSGMCbcrrA",cx:-.07907462591906578,cy:3.3516986330408542,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",id:"bCNGD8BAzXepM4A7Cp5qfr",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,relativeAngle:1.5707963267948961,lx:6.320731749368616,color:"white",leftPoint:[4.58953890939715,-2.969033116327763,0],cy:.19133275835654517,ly:.3,id:"b5WAAJ2sso2rc9V8yZ7iom",normal:[0,0,1],type:"Wall",foundationId:"b9sLhFsxP7jM5xLzyG2m8E",rightPoint:[4.589538909397152,3.3516986330408534,0],rotation:[0,0,-.41015237421866746],rightJoints:["bCNGD8BAzXepM4A7Cp5qfr"],lz:5.25,leftJoints:["9sNfcLVjGqnn14Dpdib7wD"],rightRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",textureType:"Wall Texture Default",selected:!1,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,cx:4.589538909397151,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightPoint:[4.58953890939715,-2.969033116327763,0],rotation:[0,0,-.41015237421866746],ly:.3,lx:9.337227070632434,cy:-2.969033116327763,type:"Wall",lz:5.25,leftRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"9sNfcLVjGqnn14Dpdib7wD",centerRoofHeight:[0,6.225217409690371],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",selected:!1,textureType:"Wall Texture Default",cx:-.07907462591906667,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,relativeAngle:-4756114491922529e-32,leftJoints:["aS3LNujiVdR6Qawgwx71Xp"],rightJoints:["b5WAAJ2sso2rc9V8yZ7iom"],color:"white",rightRoofHeight:5.25,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,selected:!1,textureType:"Wall Texture Default",roofId:"e9ZJ6jf8buNcpSGMCbcrrA",rightPoint:[-4.747688161235283,-2.9690331163277626,0],relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",lx:6.320731749368617,color:"white",rightJoints:["9sNfcLVjGqnn14Dpdib7wD"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",id:"aS3LNujiVdR6Qawgwx71Xp",type:"Wall",normal:[0,0,1],leftPoint:[-4.747688161235284,3.351698633040855,0],rotation:[0,0,-.41015237421866746],leftJoints:["bCNGD8BAzXepM4A7Cp5qfr"],cz:0,ly:.3,cy:.19133275835654628,cx:-4.747688161235283,lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{parentId:"b9sLhFsxP7jM5xLzyG2m8E",thickness:.2,ly:0,roofType:"Gable",normal:[0,0,1],wallsId:["b5WAAJ2sso2rc9V8yZ7iom"],cy:0,cz:0,id:"e9ZJ6jf8buNcpSGMCbcrrA",ridgeRightPoint:[0,1],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,0],selected:!1,textureType:"No Roof Texture",type:"Roof",color:"#ffffff",lz:0,lx:0,rise:.9752174096903712,ceiling:!1},{selected:!1,solarUpdraftTower:{},lz:1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},lx:10.667610013832563,solarAbsorberPipe:{},color:"#808080",ly:10.658064363814518,cz:.5,type:"Foundation",cx:15.65777292096255,id:"b9sLhFsxP7jM5xLzyG2m8E",cy:-23.209117764580718,parentId:"Ground"},{lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235284,3.351698633040855,0],leftPoint:[4.589538909397152,3.3516986330408534,0],parentId:"gcZv1t7Cby2WKRNnett3ui",relativeAngle:3.141592653589793,cz:0,leftJoints:["aTEF4j2yHMBMrPfT9T9EdT"],rightRoofHeight:5.25,selected:!1,ly:.3,type:"Wall",lx:9.337227070632437,cy:3.3516986330408542,textureType:"Wall Texture Default",cx:-.07907462591906578,centerRoofHeight:[0,6.225217409690371],color:"white",id:"9dJMCWVZ7AkDBVYRwiBuju",leftRoofHeight:5.25,rightJoints:["q6CqZkkwBK9C5a7FRZGdjh"],normal:[0,0,1],rotation:[0,0,2.731440279371126],roofId:"jRbh8euqUSp75DJHpm8gNn",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{normal:[0,0,1],relativeAngle:1.5707963267948961,rightRoofHeight:5.25,rightJoints:["9dJMCWVZ7AkDBVYRwiBuju"],ly:.3,rightPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["hKTWU47gri3P24HLwd9scm"],color:"white",lx:6.320731749368616,selected:!1,rotation:[0,0,2.731440279371126],cy:.19133275835654517,cz:0,parentId:"gcZv1t7Cby2WKRNnett3ui",roofId:"jRbh8euqUSp75DJHpm8gNn",textureType:"Wall Texture Default",foundationId:"gcZv1t7Cby2WKRNnett3ui",cx:4.589538909397151,leftPoint:[4.58953890939715,-2.969033116327763,0],id:"aTEF4j2yHMBMrPfT9T9EdT",type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,lx:9.337227070632434,relativeAngle:-4756114491922529e-32,rightJoints:["aTEF4j2yHMBMrPfT9T9EdT"],leftRoofHeight:5.25,parentId:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],cy:-2.969033116327763,textureType:"Wall Texture Default",centerRoofHeight:[0,6.225217409690371],cx:-.07907462591906667,leftJoints:["q6CqZkkwBK9C5a7FRZGdjh"],roofId:"jRbh8euqUSp75DJHpm8gNn",color:"white",rightPoint:[4.58953890939715,-2.969033116327763,0],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"hKTWU47gri3P24HLwd9scm",selected:!1,ly:.3,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightRoofHeight:5.25,normal:[0,0,1],type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightJoints:["hKTWU47gri3P24HLwd9scm"],textureType:"Wall Texture Default",roofId:"jRbh8euqUSp75DJHpm8gNn",id:"q6CqZkkwBK9C5a7FRZGdjh",lx:6.320731749368617,selected:!1,rotation:[0,0,2.731440279371126],ly:.3,cz:0,cy:.19133275835654628,rightRoofHeight:5.25,color:"white",normal:[0,0,1],leftJoints:["9dJMCWVZ7AkDBVYRwiBuju"],leftRoofHeight:5.25,relativeAngle:-1.5707963267948966,lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235283,-2.9690331163277626,0],type:"Wall",cx:-4.747688161235283,leftPoint:[-4.747688161235284,3.351698633040855,0],parentId:"gcZv1t7Cby2WKRNnett3ui",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{wallsId:["aTEF4j2yHMBMrPfT9T9EdT"],cy:0,selected:!1,roofType:"Gable",textureType:"No Roof Texture",cx:0,color:"#ffffff",ridgeLeftPoint:[0,1],lz:0,rotation:[0,0,2.731440279371126],lx:0,parentId:"gcZv1t7Cby2WKRNnett3ui",thickness:.2,foundationId:"gcZv1t7Cby2WKRNnett3ui",normal:[0,0,1],ridgeRightPoint:[0,1],ly:0,id:"jRbh8euqUSp75DJHpm8gNn",cz:0,type:"Roof",rise:.9752174096903712,ceiling:!1},{solarAbsorberPipe:{},id:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],parentId:"Ground",normal:[0,0,1],color:"#808080",cx:23.588922199683385,cy:-4.2358171284989465,ly:10.658064363814518,type:"Foundation",lz:1,solarPowerTower:{},cz:.5,solarUpdraftTower:{},selected:!1,lx:10.667610013832563},{roofId:"dzARxJ53WwFwsNrhuBLzWG",ly:.3,selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],rightRoofHeight:5.25,lx:9.337227070632437,lz:5.25,id:"uBjSfWV5MAS9vnKb4XPdfP",relativeAngle:3.141592653589793,centerRoofHeight:[0,6.225217409690371],cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["uR2W8UpidEKJWdspykk1aw"],foundationId:"ceA38nUA7SQynuTCNKi2BV",textureType:"Wall Texture Default",parentId:"ceA38nUA7SQynuTCNKi2BV",cx:-.07907462591906578,color:"white",leftPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cy:.19133275835654517,foundationId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:1.5707963267948961,leftRoofHeight:5.25,rightPoint:[4.589538909397152,3.3516986330408534,0],ly:.3,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],cx:4.589538909397151,lx:6.320731749368616,normal:[0,0,1],leftPoint:[4.58953890939715,-2.969033116327763,0],lz:5.25,rightRoofHeight:5.25,cz:0,parentId:"ceA38nUA7SQynuTCNKi2BV",roofId:"dzARxJ53WwFwsNrhuBLzWG",rightJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],selected:!1,color:"white",type:"Wall",id:"paBZJ3XFdCVFNJ8PkS5wvw",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,selected:!1,ly:.3,id:"hwrPdC7kZvm4PMhTtpv3Cf",leftRoofHeight:5.25,leftJoints:["uR2W8UpidEKJWdspykk1aw"],rightPoint:[4.58953890939715,-2.969033116327763,0],rightRoofHeight:5.25,cy:-2.969033116327763,lx:9.337227070632434,color:"white",normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",cx:-.07907462591906667,rotation:[0,0,2.731440279371126],parentId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:-4756114491922529e-32,roofId:"dzARxJ53WwFwsNrhuBLzWG",leftPoint:[-4.747688161235283,-2.9690331163277626,0],lz:5.25,foundationId:"ceA38nUA7SQynuTCNKi2BV",centerRoofHeight:[0,6.225217409690371],rightJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,type:"Wall",roofId:"dzARxJ53WwFwsNrhuBLzWG",leftJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],normal:[0,0,1],foundationId:"ceA38nUA7SQynuTCNKi2BV",selected:!1,id:"uR2W8UpidEKJWdspykk1aw",parentId:"ceA38nUA7SQynuTCNKi2BV",rotation:[0,0,2.731440279371126],cy:.19133275835654628,textureType:"Wall Texture Default",ly:.3,lx:6.320731749368617,cx:-4.747688161235283,color:"white",lz:5.25,relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,rightPoint:[-4.747688161235283,-2.9690331163277626,0],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{type:"Roof",normal:[0,0,1],cx:0,rotation:[0,0,2.731440279371126],foundationId:"ceA38nUA7SQynuTCNKi2BV",lx:0,parentId:"ceA38nUA7SQynuTCNKi2BV",ridgeRightPoint:[0,1],color:"#ffffff",ly:0,selected:!1,thickness:.2,roofType:"Gable",cz:0,id:"dzARxJ53WwFwsNrhuBLzWG",textureType:"No Roof Texture",wallsId:["paBZJ3XFdCVFNJ8PkS5wvw"],lz:0,ridgeLeftPoint:[0,1],cy:0,rise:.9752174096903712,ceiling:!1},{rotation:[0,0,2.731440279371126],solarPowerTower:{},selected:!1,type:"Foundation",ly:10.658064363814518,normal:[0,0,1],solarUpdraftTower:{},cy:-13.20207722402062,solarAbsorberPipe:{},cx:44.31026086081932,color:"#808080",cz:.5,lx:10.667610013832563,id:"ceA38nUA7SQynuTCNKi2BV",parentId:"Ground",lz:1},{rightRoofHeight:11,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rightJoints:["mqAaf5QtrdpibBSarUk9qt"],relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",type:"Wall",lz:11,color:"white",cx:.03303730701620822,id:"ovU5BwtCwgHA5UHHhibxpu",roofId:"wSxYARgs9umEJRG8XyZbKH",leftPoint:[3.0844752908601185,3.4313212286858272,0],selected:!1,parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,leftRoofHeight:11,leftJoints:["bWeTZ14zUp93sauz9hT9ba"],rotation:[0,0,-.41015237421866746],lx:6.102875967687821,normal:[0,0,1],rightPoint:[-3.018400676827702,3.431321228685824,0],cy:3.4313212286858255,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightJoints:["ovU5BwtCwgHA5UHHhibxpu"],color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",parentId:"88UbNAdWUbzJHGAmrqJWPn",relativeAngle:1.5707963267948963,rightPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],cy:-1.4345548840225932,roofId:"wSxYARgs9umEJRG8XyZbKH",type:"Wall",leftJoints:["8kMoucgjs3KynPyoZExz4J"],ly:.3,rightRoofHeight:11,leftRoofHeight:11,lx:9.731752225416841,leftPoint:[3.0844752908601167,-6.300430996731014,0],selected:!1,cz:0,normal:[0,0,1],id:"bWeTZ14zUp93sauz9hT9ba",cx:3.0844752908601176,centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-6.300430996731012,cx:.03303730701620533,leftRoofHeight:11,relativeAngle:-5821376180034847e-31,selected:!1,rotation:[0,0,-.41015237421866746],leftJoints:["mqAaf5QtrdpibBSarUk9qt"],leftPoint:[-3.018400676827706,-6.30043099673101,0],foundationId:"88UbNAdWUbzJHGAmrqJWPn",id:"8kMoucgjs3KynPyoZExz4J",type:"Wall",rightPoint:[3.0844752908601167,-6.300430996731014,0],normal:[0,0,1],textureType:"Wall Texture Default",color:"white",roofId:"wSxYARgs9umEJRG8XyZbKH",cz:0,lx:6.102875967687822,rightJoints:["bWeTZ14zUp93sauz9hT9ba"],parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,lz:11,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,rightPoint:[-3.018400676827706,-6.30043099673101,0],id:"mqAaf5QtrdpibBSarUk9qt",centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],rotation:[0,0,-.41015237421866746],cy:-1.434554884022593,rightRoofHeight:11,color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",cz:0,textureType:"Wall Texture Default",normal:[0,0,1],rightJoints:["8kMoucgjs3KynPyoZExz4J"],lz:11,leftRoofHeight:11,ly:.3,roofId:"wSxYARgs9umEJRG8XyZbKH",parentId:"88UbNAdWUbzJHGAmrqJWPn",cx:-3.018400676827704,lx:9.731752225416834,type:"Wall",relativeAngle:-1.5707963267948972,leftJoints:["ovU5BwtCwgHA5UHHhibxpu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cx:0,wallsId:["ovU5BwtCwgHA5UHHhibxpu"],lz:0,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],rotation:[0,0,0],ly:0,type:"Roof",normal:[0,0,1],cz:0,textureType:"No Roof Texture",id:"wSxYARgs9umEJRG8XyZbKH",selected:!1,roofType:"Gable",thickness:.2,parentId:"88UbNAdWUbzJHGAmrqJWPn",color:"#ffffff",cy:0,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rise:0,ceiling:!1},{normal:[0,0,1],type:"Foundation",id:"88UbNAdWUbzJHGAmrqJWPn",solarAbsorberPipe:{},lx:7.252592961439527,cx:62.080046007118426,ly:13.304430432789896,lz:1,selected:!1,solarPowerTower:{},solarUpdraftTower:{},cy:37.19900910209601,color:"#808080",rotation:[0,0,-.41015237421866746],cz:.5,parentId:"Ground"},{rightRoofHeight:11,relativeAngle:-3.1415926535897927,selected:!1,rotation:[0,0,2.731440279371126],cz:0,leftPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",cy:3.4313212286858255,normal:[0,0,1],foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cx:.03303730701620822,type:"Wall",rightJoints:["rYV5p6RL3LBPRMKrDscX3e"],id:"dat7BcuHkXNM7uDy6XoM77",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",leftJoints:["imJTFiGu5qfL7Sh3jfMjyP"],rightPoint:[-3.018400676827702,3.431321228685824,0],leftRoofHeight:11,lx:6.102875967687821,ly:.3,lz:11,roofId:"vqk2MvDnMGXjNatJWKEZ3Q",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{centerRoofHeight:[-.5,11],lz:11,rightPoint:[3.0844752908601185,3.4313212286858272,0],lx:9.731752225416841,rightJoints:["dat7BcuHkXNM7uDy6XoM77"],id:"imJTFiGu5qfL7Sh3jfMjyP",ly:.3,leftJoints:["rmxwktmu6mngA8cW2oTqim"],textureType:"Wall Texture Default",cz:0,selected:!1,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,leftRoofHeight:11,relativeAngle:1.5707963267948963,rightRoofHeight:11,color:"white",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",normal:[0,0,1],cx:3.0844752908601176,rotation:[0,0,2.731440279371126],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{normal:[0,0,1],color:"white",rightRoofHeight:11,rotation:[0,0,2.731440279371126],rightPoint:[3.0844752908601167,-6.300430996731014,0],leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",ly:.3,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",rightJoints:["imJTFiGu5qfL7Sh3jfMjyP"],id:"rmxwktmu6mngA8cW2oTqim",lz:11,cx:.03303730701620533,cy:-6.300430996731012,cz:0,lx:6.102875967687822,relativeAngle:-5821376180034847e-31,leftRoofHeight:11,textureType:"Wall Texture Default",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftJoints:["rYV5p6RL3LBPRMKrDscX3e"],type:"Wall",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftRoofHeight:11,cx:-3.018400676827704,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cz:0,lx:9.731752225416834,normal:[0,0,1],type:"Wall",selected:!1,centerRoofHeight:[.5,11],color:"white",leftPoint:[-3.018400676827702,3.431321228685824,0],relativeAngle:-1.5707963267948972,id:"rYV5p6RL3LBPRMKrDscX3e",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",ly:.3,textureType:"Wall Texture Default",leftJoints:["dat7BcuHkXNM7uDy6XoM77"],rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rightRoofHeight:11,rotation:[0,0,2.731440279371126],cy:-1.434554884022593,lz:11,rightJoints:["rmxwktmu6mngA8cW2oTqim"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"No Roof Texture",cx:0,roofType:"Gable",lx:0,ly:0,wallsId:["dat7BcuHkXNM7uDy6XoM77"],normal:[0,0,1],color:"#ffffff",ridgeRightPoint:[.5,1],thickness:.2,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",type:"Roof",cy:0,rotation:[0,0,2.731440279371126],selected:!1,lz:0,id:"vqk2MvDnMGXjNatJWKEZ3Q",cz:0,ridgeLeftPoint:[-.5,1],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rise:0,ceiling:!1},{color:"#808080",ly:13.304430432789896,normal:[0,0,1],lx:7.252592961439527,solarUpdraftTower:{},cy:.39963845763658945,lz:1,cx:57.679815811211355,type:"Foundation",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},id:"3GmVD3k9gEdK1KyAQNL7Qd",parentId:"Ground",cz:.5,rotation:[0,0,2.731440279371126]},{rightRoofHeight:11,lz:11,normal:[0,0,1],foundationId:"oYDvciacfdn2FyG6Pct5UQ",textureType:"Wall Texture Default",leftJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],color:"white",rotation:[0,0,2.731440279371126],id:"36dnW2hrDUevTFeF7RsSFs",rightPoint:[-3.018400676827702,3.431321228685824,0],selected:!1,rightJoints:["doa2HGm3D8izkEMMPgsx7E"],cx:.03303730701620822,parentId:"oYDvciacfdn2FyG6Pct5UQ",cy:3.4313212286858255,leftPoint:[3.0844752908601185,3.4313212286858272,0],cz:0,roofId:"jTzPENUqMsb7iHTtwq7yKs",relativeAngle:-3.1415926535897927,lx:6.102875967687821,ly:.3,leftRoofHeight:11,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,relativeAngle:1.5707963267948963,foundationId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],ly:.3,parentId:"oYDvciacfdn2FyG6Pct5UQ",cx:3.0844752908601176,leftRoofHeight:11,rotation:[0,0,2.731440279371126],leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,rightPoint:[3.0844752908601185,3.4313212286858272,0],rightJoints:["36dnW2hrDUevTFeF7RsSFs"],textureType:"Wall Texture Default",lx:9.731752225416841,roofId:"jTzPENUqMsb7iHTtwq7yKs",centerRoofHeight:[-.5,11],leftJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],id:"uuKuNJNLJkLuMtyKwwLbpZ",rightRoofHeight:11,selected:!1,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",rotation:[0,0,2.731440279371126],color:"white",leftPoint:[-3.018400676827706,-6.30043099673101,0],normal:[0,0,1],parentId:"oYDvciacfdn2FyG6Pct5UQ",rightRoofHeight:11,selected:!1,leftRoofHeight:11,roofId:"jTzPENUqMsb7iHTtwq7yKs",leftJoints:["doa2HGm3D8izkEMMPgsx7E"],rightPoint:[3.0844752908601167,-6.300430996731014,0],ly:.3,textureType:"Wall Texture Default",cy:-6.300430996731012,rightJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],cz:0,lz:11,relativeAngle:-5821376180034847e-31,lx:6.102875967687822,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cx:.03303730701620533,id:"vqh1RPWSMZerDaWxLP3Y4Z",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,cz:0,ly:.3,type:"Wall",cx:-3.018400676827704,centerRoofHeight:[.5,11],normal:[0,0,1],lx:9.731752225416834,color:"white",relativeAngle:-1.5707963267948972,leftJoints:["36dnW2hrDUevTFeF7RsSFs"],lz:11,id:"doa2HGm3D8izkEMMPgsx7E",rightJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],leftPoint:[-3.018400676827702,3.431321228685824,0],parentId:"oYDvciacfdn2FyG6Pct5UQ",leftRoofHeight:11,rightRoofHeight:11,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cy:-1.434554884022593,rotation:[0,0,2.731440279371126],rightPoint:[-3.018400676827706,-6.30043099673101,0],roofId:"jTzPENUqMsb7iHTtwq7yKs",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,foundationId:"oYDvciacfdn2FyG6Pct5UQ",ridgeLeftPoint:[-.5,1],cx:0,parentId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],lz:0,wallsId:["36dnW2hrDUevTFeF7RsSFs"],ly:0,cy:0,rotation:[0,0,2.731440279371126],id:"jTzPENUqMsb7iHTtwq7yKs",color:"#ffffff",type:"Roof",roofType:"Gable",textureType:"No Roof Texture",ridgeRightPoint:[.5,1],cz:0,selected:!1,thickness:.2,rise:0,ceiling:!1},{normal:[0,0,1],cx:47.576205150745,id:"oYDvciacfdn2FyG6Pct5UQ",solarAbsorberPipe:{},cz:.5,cy:4.8155054973730085,color:"#808080",lz:1,type:"Foundation",lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},ly:13.304430432789896,rotation:[0,0,2.731440279371126],selected:!1,solarPowerTower:{}},{normal:[0,0,1],wallsId:["1sWH6Vf283ZQdSSFT642nh","monXTa8uPTJhzhXCcFVkHQ","abgP23xfq9mn6fXM5eixEU","bBRKF8cuUabp5jr721b2aF"],roofType:"Pyramid",rotation:[0,0,0],lineWidth:.2,showLabel:!1,lz:0,lineColor:"black",id:"7MHnZ8shY1nNWWHte69oqs",cz:0,type:"Roof",textureType:"No Roof Texture",selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",cx:0,thickness:.2,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",lx:0,ly:0,cy:0,color:"#ffffff",rise:0,ceiling:!1},{cy:0,selected:!1,wallsId:["eJ8JK9wm6JNigJXLFxHXZv","6fcDhLeskSsK9vgEVSS72V","kj6mwcCRjjAjkZKNVLpD6Q","dpZWnBXJifWNeSxPnXSh11"],cz:0,showLabel:!1,id:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",type:"Roof",parentId:"b7G57PTXunVqeHXzCWeuRF",roofType:"Pyramid",thickness:.2,rotation:[0,0,0],color:"#ffffff",lineColor:"black",lz:0,cx:0,textureType:"No Roof Texture",lineWidth:.2,normal:[0,0,1],ly:0,lx:0,rise:0,ceiling:!1},{cz:0,color:"#ffffff",textureType:"No Roof Texture",lz:0,rotation:[0,0,0],cx:0,normal:[0,0,1],lx:0,lineColor:"black",cy:0,roofType:"Pyramid",thickness:.2,id:"aqd47NYJ1Q6UzcCmxxcoXQ",selected:!1,wallsId:["4ocNasurxu3LhLKonWAKWR","pBQFic2TqVJyDdJyEaBVof","tq43NPQgXhkeNmwFteVBqx","w8GFYP8jB1EG2YVL6appCT"],ly:0,parentId:"jH5z454ciczrceJTNes5b4",type:"Roof",foundationId:"jH5z454ciczrceJTNes5b4",lineWidth:.2,showLabel:!1,rise:0,ceiling:!1},{rotation:[0,0,0],ly:0,textureType:"No Roof Texture",cx:0,cy:0,cz:0,showLabel:!1,normal:[0,0,1],wallsId:["9RBn6VqRCqHmHYTVsG2Hbq","snwHy88SCLUgp9tM1ts1kV","pJZasFocQxwotbLjPFqJsC","fgVtymGrmdEZZzZZ3mW69b"],lineWidth:.2,lx:0,roofType:"Pyramid",type:"Roof",foundationId:"4p3AerfQErrh3N7JyKd7PA",id:"ui47bC2XPhcG14b6RPgvMq",color:"#ffffff",parentId:"4p3AerfQErrh3N7JyKd7PA",lineColor:"black",selected:!1,thickness:.2,lz:0,rise:0,ceiling:!1}],V2n={dailyUpdraftTowerYieldPanelRect:{x:0,height:550,y:0,width:640},dailyParabolicDishYieldPanelX:0,visibilityResultsPanelY:0,showDesignInfoPanel:!0,mapPanelY:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},showSunAngles:!1,stickyNotePanelY:0,autoRotate:!1,weatherPanelY:0,dailyLightSensorPanelRect:{y:0,height:360,width:600,x:0},groundColor:"forestgreen",enableRotate:!0,showElevationAngle:!0,yearlyPvYieldPanelY:0,panCenter2D:[68.43396623741017,108.77453989719173,1332276757861851e-20],showMapPanel:!1,heliodonPanelY:0,yearlyHeliostatYieldPanelY:0,mapPanelX:0,weatherPanelX:0,solarRadiationHeatMapMaxValue:5,dailyPvYieldPanelY:0,showInstructionPanel:!1,yearlyPvYieldPanelRect:{width:600,y:86,x:-326,height:400},yearlyLightSensorPanelShowClearness:!1,cameraZoom:25.847108697996326,showSolarPanelVisibilityResultsPanel:!1,mapType:"hybrid",showYearlyParabolicTroughYieldPanel:!1,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,axes:!0,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showHeliodonPanel:!1,dailyLightSensorPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyPvYieldPanelX:0,showZenithAngle:!0,heliodon:!1,dailyHeliostatYieldPanelX:0,orthographic:!1,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{y:0,width:236,x:0,height:87},yearlyLightSensorPanelY:0,groundImage:!0,yearlyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,showYearlyPvYieldPanel:!1,dailyFresnelReflectorYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},evolutionPanelRect:{y:0,x:0,width:640,height:400},showDailyUpdraftTowerYieldPanel:!1,showAzimuthAngle:!0,showEvolutionPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},ambientLightIntensity:.1,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyLightSensorPanelX:0,showEconomicsPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},stickyNotePanelX:0,showDiurnalTemperaturePanel:!1,yearlyFresnelReflectorYieldPanelX:0,panCenter:[38.386200794550874,-23.3410033657338,26460494326568842e-21],showStickyNotePanel:!0,showDailyParabolicDishYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},shadowEnabled:!1,mapZoom:17,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{height:400,width:600,x:0,y:0},yearlyFresnelReflectorYieldPanelY:0,diurnalTemperaturePanelRect:{y:0,width:600,height:400,x:0},theme:"Default",dailyLightSensorPanelY:0,visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},showSiteInfoPanel:!0,visibilityResultsPanelX:0,mapTilt:0,solarRadiationHeatMapReflectionOnly:!1,cameraPosition:[79.58351721186,-134.3931242110791,147.3552432306341],showYearlyLightSensorPanel:!1,dailyParabolicTroughYieldPanelX:0,yearlyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyPvYieldPanelRect:{width:600,height:400,y:0,x:0},cameraPosition2D:[68.43396623741017,108.77451989630273,20.00001332267289],dailyParabolicDishYieldPanelY:0},G2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},X2n=1,J2n={interRowSpacing:2,rowAxis:"Left-Right",pvModelName:"SPR-X21-335-BLK",tiltAngle:0,poleSpacing:3,orientation:"Landscape",poleHeight:1,rowsPerRack:1},K2n={rowAxis:"Left-Right",poleHeight:1,minimumTiltAngle:-1.5707963267948966,minimumRowsPerRack:1,maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumInterRowSpacing:2,orientation:"Landscape",pvModelName:"CS6X-355P-FG",poleSpacing:5,maximumTiltAngle:1.5707963267948966},q2n={geneticAlgorithmParams:{localSearchRadius:.1,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,maximumGenerations:5,selectionMethod:1,searchMethod:1,mutationRate:.1,selectionRate:.5,convergenceThreshold:.01,crossoverRate:.5,populationSize:20},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,searchMethod:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,maximumSteps:5,swarmSize:20,convergenceThreshold:.01}},$2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Q2n=[`Mescalero Apache School -New Mexico, USA`],Z2n={docid:W2n,time:N2n,timestamp:U2n,userid:B2n,owner:j2n,email:Y2n,world:O2n,elements:_2n,view:V2n,graphState:G2n,evolutionMethod:X2n,solarPanelArrayLayoutParams:J2n,solarPanelArrayLayoutConstraints:K2n,evolutionaryAlgorithmState:q2n,economicsParams:$2n,notes:Q2n},e5n="oRJVoBEAs85sQVTxz3G3Aa",t5n=1643138671495,n5n="QWecNcxhyvP6j6sBN11hBsfZDau1",o5n=null,i5n=null,r5n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2021 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2},a5n=[{type:"Foundation",cx:-9.55171908313751,cy:-18.19491515601114,cz:.05,lx:69.0515968638667,ly:71.26044576002357,lz:.1,normal:[0,0,1],rotation:[0,0,-1.017744597267026],parentId:"Ground",id:"9zunWg9vgE2EXQf2GAGvHJ",selected:!1,textureType:"Foundation Texture #2"},{type:"Tree",name:"Maple",cx:3.2728380906673773,cy:2.018552619631127,cz:.05000000074505806,lx:9.63205225658289,lz:12.42213702192784,normal:[0,0,1],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"e4UGoSP6vMmKtTpaK7Xx7e",selected:!1,showModel:!1},{type:"Human",name:"Jack",cx:9.261208020051818,cy:17.4519165226371,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"aqHPhgdskHU47w7A1JoYUH",selected:!1,ly:.6},{type:"Tree",name:"Maple",cx:-2.759236366671214,cy:-6.100345712463374,cz:.05000000074505806,lx:15.662386774550322,lz:17.814185690323082,normal:[0,0,1],rotation:[0,0,.5235987755982988],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"quQsvQqGqFo233Raf5MV2q",selected:!1},{type:"Cuboid",cx:-9.798880015116119,cy:-4.358075047463568,cz:9.736603648251254,lx:19.17702564125724,ly:13.830784586479455,lz:19.47320729650251,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,3.141592653589793],parentId:"Ground",selected:!1,id:"u8URHSH38BdLFefR2kpArP"},{type:"Tree",name:"Spruce",cx:8.846757081366217,cy:8.465966186158635,cz:.05000000074505806,lx:4.201867761608678,lz:9.066423414956883,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"8nmhqhdJRjPhvXmqRWtXWS",selected:!1,showModel:!1},{type:"Cuboid",cx:3.3849893009151506,cy:3.1596268234618305,cz:4.774411049933112,lx:17.91634633119275,ly:6.319724352083252,lz:9.548822099866223,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.8378964730477152],parentId:"Ground",id:"w6fsWnZq8bBGBS5PxduXBK",selected:!1},{type:"Cuboid",cx:.8301123283897702,cy:-13.282792837220546,cz:5.471867705312628,lx:5.668418559135588,ly:9.979432490224614,lz:10.943735410625257,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7040209346650892],parentId:"Ground",selected:!1,id:"e4j7PfDmVs1dovQBZBQ3BT"},{type:"Cuboid",cx:3.6644340063361565,cy:-4.8364998865196736,cz:2,lx:4.840425768432099,ly:20.8513404243441,lz:4,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"qfz89eHJ88Lg9JCyH53fc9"},{type:"Cuboid",cx:-4.166247795353307,cy:-32.1603428429262,cz:2.63479238812298,lx:11.313153894671187,ly:12.684919468119116,lz:5.26958477624596,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.2580366898458273],parentId:"Ground",selected:!1,id:"nNjg1Ffg3pm4CdyzNQdiW9"},{type:"Cuboid",cx:-4.400070852285921,cy:-32.71929138984055,cz:13.65810647211173,lx:3.1252453327696883,ly:3.149430446459918,lz:27.31621294422346,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7128704595183226],parentId:"Ground",selected:!1,id:"ofBXHyPsTmNpJVcNoCo9j5"},{type:"Cuboid",cx:-20.05284620919852,cy:-31.1598203541727,cz:4.6920942485939525,lx:14.24559815125088,ly:10.643905820516908,lz:9.384188497187905,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.2728352410356374],parentId:"Ground",selected:!1,id:"aZcQCi1W1twRBtwgJgUoeW"},{type:"Tree",name:"Oak",cx:19.63141428747889,cy:-14.555088162280029,cz:.05000000074505806,lx:16.244539454462206,lz:17.937149329522143,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"hP32y2WeaoShZAgJcL2phB",selected:!1}],l5n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[53.96406310906323,-63.55404886182046,17.26191308801079],panCenter:[-14.409899112760232,-10.942953787224548,3.8259899066863428],orthographic:!1,enableRotate:!0,cameraZoom:15.47561875,showInstructionPanel:!0,cameraPosition2D:[4.361874143686572,3.699796590309034,48.00000369998439],panCenter2D:[4.361874143686572,3.699844592441852,4448257642288249e-21],showHeatmap:!1,showSolarRadiationHeatmap:!1,showSunAngles:!1,solarRadiationHeatMapMaxValue:4.5},s5n=[],c5n={docid:e5n,timestamp:t5n,userid:n5n,owner:o5n,email:i5n,world:r5n,elements:a5n,view:l5n,notes:s5n},u5n="gj8mmfSE6fqAAUtvXZYGkb",d5n="03/19/2023 02:00 pm",f5n=1679248844823,h5n="QWecNcxhyvP6j6sBN11hBsfZDau1",p5n=null,g5n=null,m5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},y5n=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-2.6557701490344776,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.09987728198946044,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:3,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",opacity:.4,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",rightRoofHeight:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{lx:10,windows:[],lz:3,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"vyQyu3QobXjxj1jDvhJ4sy",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:3,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3,ly:.3,cx:-5.300056602144494,color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"vyQyu3QobXjxj1jDvhJ4sy",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:3,leftRoofHeight:3,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3,lx:12,color:"#ffffff",wallStructure:"Stud",opacity:.4,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Human",name:"James",cx:-1.8741011733558182,cy:-5.8416164272427595,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.472},{type:"Human",name:"Jess",cx:-4.0157582744754965,cy:3.8617380009978506,cz:.050000000745058504,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyQyu3QobXjxj1jDvhJ4sy",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.790804943100949,ceiling:!1},{type:"Flower",name:"White Flower",cx:-4.1342434171004925,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"46aifVnH3B74BwVSi3Crxq",selected:!1},{type:"Flower",name:"White Flower",cx:-3.3342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i8U6G9JyPpL2hbWBs7vVz6",selected:!1},{type:"Flower",name:"White Flower",cx:-2.534243417100493,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ugPMRjEYo4WRamJ9tFewHm",selected:!1},{type:"Flower",name:"White Flower",cx:-1.7342434171004928,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cXWM3Js8Lp8DUZByf9ySVZ",selected:!1},{type:"Flower",name:"White Flower",cx:-.9342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tWw7iszMWHGh94zWUms3bX",selected:!1},{type:"Flower",name:"White Flower",cx:-.1342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wFi9RKANUcSDb8JEQtDAEk",selected:!1},{type:"Flower",name:"White Flower",cx:.6657565828995073,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bgwNTPoMCs4Wi6VnCqioA2",selected:!1},{type:"Flower",name:"White Flower",cx:1.4657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m6nguuL3Zz24UD89QncVq3",selected:!1},{type:"Flower",name:"White Flower",cx:2.2657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kGhztdakMGZm6mkLawDRht",selected:!1},{type:"Flower",name:"White Flower",cx:3.0657565828995077,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t89aQNRve3pcY6QfBoyCYo",selected:!1},{type:"Flower",name:"White Flower",cx:3.8657565828995075,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2bSs9uZqzgsXpzetM5AmxD",selected:!1},{type:"Flower",name:"White Flower",cx:4.665756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7CEvARocUnJdE2SHZcDU2V",selected:!1},{type:"Flower",name:"White Flower",cx:5.465756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rYZJ2mHmESXni5V1aVa46t",selected:!1},{type:"Flower",name:"White Flower",cx:-4.2619057070341295,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m4JAZDAnBR2QnoTX6gwxgv",selected:!1},{type:"Flower",name:"White Flower",cx:-3.4619057070341297,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7nhnwoJ8FbP4fj9ZXLrfye",selected:!1},{type:"Flower",name:"White Flower",cx:-2.66190570703413,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uFsFHipxUMRX5aHpDNiLzw",selected:!1},{type:"Flower",name:"White Flower",cx:-1.8619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mJ6VdUdVpFHoDMvk5CifrP",selected:!1},{type:"Flower",name:"White Flower",cx:-1.0619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ebBzNYMUnf5tyqviBfW44K",selected:!1},{type:"Flower",name:"White Flower",cx:-.26190570703412974,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qGERbKCYNJZY5SktqYFGH",selected:!1},{type:"Flower",name:"White Flower",cx:.5380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oAb4tA3ghqD5MVLjvE2JNB",selected:!1},{type:"Flower",name:"White Flower",cx:1.3380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"anEdC4mKjKpYkWwwTugQd7",selected:!1},{type:"Flower",name:"White Flower",cx:2.1380942929658704,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3WdeMit6SeG4bqra8yJxnB",selected:!1},{type:"Flower",name:"White Flower",cx:2.9380942929658707,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jnmEfnMgUaJK9NwsWsV3gH",selected:!1},{type:"Flower",name:"White Flower",cx:3.7380942929658705,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8471n9p1MKM4v5HYVYNnbf",selected:!1},{type:"Flower",name:"White Flower",cx:4.53809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jRVVQvkLQEJFVGW7n4JcjX",selected:!1},{type:"Flower",name:"White Flower",cx:5.33809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n9PiSuToBHaHcJ2hu8PhVa",selected:!1},{type:"Flower",name:"White Flower",cx:-4.344446260163467,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5GRQttXkMVj9MJmJA2sCTw",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5444462601634674,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"79Mv3qBTpXEHM1FaDfaYXS",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8XAz3reTAfJSVRX2DdJvMN",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hGDaJZoqkJU6bVFNwzDKgn",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1444462601634675,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cWsLs9ePKWKWrV1Akhn42n",selected:!1},{type:"Flower",name:"White Flower",cx:-.34444626016346747,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8NgHbW2QgN3CvEsxHivBg6",selected:!1},{type:"Flower",name:"White Flower",cx:.4555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ogG3q6XsVTY3wSGV7BrEK",selected:!1},{type:"Flower",name:"White Flower",cx:1.2555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aTLKeq862hXuydUnDnRufZ",selected:!1},{type:"Flower",name:"White Flower",cx:2.0555537398365327,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4SotanHYdz7BmHuHEsRU5J",selected:!1},{type:"Flower",name:"White Flower",cx:2.855553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o98emba7AiB167tGV4Un8g",selected:!1},{type:"Flower",name:"White Flower",cx:3.6555537398365328,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1ExTvAYZaKio5wNoaShuZo",selected:!1},{type:"Flower",name:"White Flower",cx:4.455553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t3oYKCD7r8u33GMpXr8wwr",selected:!1},{type:"Flower",name:"White Flower",cx:5.255553739836532,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5jPVxqN2CvnEkeYz4QQra5",selected:!1},{type:"Flower",name:"White Flower",cx:-4.391533387874089,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"of1adpyZeoRS8fTjGoytf1",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9ncNDKqkLLMu7d9PUN7oUA",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7915333878740896,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u3zUSyPymxJB7HgazzqLzv",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dHPhWCEiz1y9PnXZp83MpE",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bg6PZWwTrwwre4jiKxe7uX",selected:!1},{type:"Flower",name:"White Flower",cx:-.3915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5F7K7QFnfwHKfd4Lfw728p",selected:!1},{type:"Flower",name:"White Flower",cx:.4084666121259106,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"532gMLAZ5tcLjzMQisipSa",selected:!1},{type:"Flower",name:"White Flower",cx:1.2084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v3gFFnUntYFxM9Nx5RWfik",selected:!1},{type:"Flower",name:"White Flower",cx:2.0084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s6dpt2XkDQfRw5bGeX1H1V",selected:!1},{type:"Flower",name:"White Flower",cx:2.808466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uw1Jz6HvycMidfXokrAzFQ",selected:!1},{type:"Flower",name:"White Flower",cx:3.608466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n7ppnA9LyoWRWkVHPMq965",selected:!1},{type:"Flower",name:"White Flower",cx:4.408466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4x3CD3uiRipJcivNwW5MN",selected:!1},{type:"Flower",name:"White Flower",cx:5.2084666121259104,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7eEgZikopFnYDrozpMnbVk",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.481342001872006,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9P5CuiQ2MG15JKupLj1B6D",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"meDHz6sDDGj4eDAWvaf1Jc",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sRFj36qrZLXFZTDMQ6mpD9",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qNZvKMkFPtUNCcEgL1huNh",selected:!1},{type:"Flower",name:"Sunflower",cx:-.48134200187200626,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kcPXW35rZZAsL5WiiAk3hw",selected:!1},{type:"Flower",name:"Sunflower",cx:.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"feWWMNFMFvQ8cSM14BMp8t",selected:!1},{type:"Flower",name:"Sunflower",cx:1.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"msFwckWagge9gpLdQeS4JJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dogJzpvueZ1anaBAZ7muH8",selected:!1},{type:"Flower",name:"Sunflower",cx:3.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cYZoVFdifJsko9MEehFjtS",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.24189898255945,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s25usGNmQJ66fR5yXuRGGo",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pzBtEERtTPkBv9CsHDmZDu",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m5X7sdToMdq8xEefEwxLCK",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4inpmtrAzszkJUhzYSUye",selected:!1},{type:"Flower",name:"Sunflower",cx:-.24189898255944975,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4ThsERMjZf2AhEJ56hsa6",selected:!1},{type:"Flower",name:"Sunflower",cx:.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"16shGo6CLCNPBSgnunhAkS",selected:!1},{type:"Flower",name:"Sunflower",cx:1.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7vYNCNRBverkM51mspnoUJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"voHLpW8Gd4XA3Ceg6Xbe7t",selected:!1},{type:"Flower",name:"Sunflower",cx:3.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u6Ue6tXWzkHCodK9XZEU2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"c6JNqxEgYvWDCRJawdShSj",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oaSKDixHoDBGhRmyNSQzgw",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vrts4rUEEsRTQs9sGjhPQA",selected:!1},{type:"Flower",name:"Sunflower",cx:-.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3pYKWqcAmjBuuNuny7rpoV",selected:!1},{type:"Flower",name:"Sunflower",cx:.09777512332007454,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1S6ZgxRm2LWmGc9KQsgDFh",selected:!1},{type:"Flower",name:"Sunflower",cx:1.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"opQ4ZLwfvkzg5Vxfj8cfQA",selected:!1},{type:"Flower",name:"Sunflower",cx:2.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nkbv83UnHqmfM7bAwa33Pe",selected:!1},{type:"Flower",name:"Sunflower",cx:3.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mN9mTCijKK38jmTnqKHee1",selected:!1},{type:"Flower",name:"Sunflower",cx:4.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dArQ57WQgeQivghvFz6Pkf",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v7PVJmCSxV3Mzkp3DvmbxL",selected:!1},{type:"Flower",name:"Sunflower",cx:5.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"h4XguGKN7sgDCDuSE5McKM",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wSmuS2APtdqz8q7JGKKASr",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nhuLvBuF9q3oVKsH9nQgoj",selected:!1},{type:"Flower",name:"Sunflower",cx:-.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gyN8wLEyhGu5icXFxTanDS",selected:!1},{type:"Flower",name:"Sunflower",cx:.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Hxo93yvCk6bL25Z1j69hy",selected:!1},{type:"Flower",name:"Sunflower",cx:1.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6CEP9TkxfGsqwqefDYN2m3",selected:!1},{type:"Flower",name:"Sunflower",cx:2.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tKziXd6bAbZhg1ZHtHCDYk",selected:!1},{type:"Flower",name:"Sunflower",cx:3.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i75ADLAQar36M93rinkuBn",selected:!1},{type:"Flower",name:"Sunflower",cx:4.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9aKZZrCwftw93k2j9EUPft",selected:!1},{type:"Flower",name:"Sunflower",cx:5.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtbnWz1TtfVCGS6GFT7cd5",selected:!1},{type:"Flower",name:"Sunflower",cx:4.700456042537368,cy:2.0818781692863544,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kpaDqAs7RHDDcutq6peJfx",selected:!1},{type:"Flower",name:"Sunflower",cx:4.834015330936817,cy:4.861450972934322,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n1pT9mZTaMUzmHpcczyBaV",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"k1bygQU9gmbRLruK4LkufJ",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1Qg8EAesLQmApEi3SoVr2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pX7RzZXzs2a2wB6ikN7nMV",selected:!1},{type:"Flower",name:"Sunflower",cx:-.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4n5Yx4e8sgXGuByhj8k1fL",selected:!1},{type:"Flower",name:"Sunflower",cx:.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vHXKNqVUezGNFoAwcMvXfT",selected:!1},{type:"Flower",name:"Sunflower",cx:1.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qESmtL2sTn5MoKqcsafYq5",selected:!1},{type:"Flower",name:"Sunflower",cx:2.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jzYPMGXoRbfHffj27jjLk1",selected:!1},{type:"Flower",name:"Sunflower",cx:3.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qbv7JX9QpCnKwVvTQzv2CK",selected:!1},{type:"Flower",name:"Sunflower",cx:4.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vegPcGL4Si9F7tHaiDew5A",selected:!1},{type:"Flower",name:"Sunflower",cx:5.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nfuYXRCdKKX1yeEVfQ1Q8w",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999998,y:-.7999999999999999},{x:-.19999999999999998,y:-.4666666666666666},{x:.20000000000000004,y:-.4666666666666666},{x:.20000000000000004,y:-.7999999999999999}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:0,id:"9M33FqMDNgV3pDjYk2UES3",text:"Greenhouse",fontSize:.5,fontColor:"gold",fontStrokeWidth:.01,noOutline:!0,opacity:0}],A5n=15,w5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.969061585407742,-10.143303302147187,2.3881460403679218],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0306086242769346,3.0389446343818545,1.3437141951705311],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},v5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},x5n=1,b5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},S5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},T5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},P5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},C5n="Unknown",R5n=null,H5n=null,M5n=null,I5n=[],z5n={docid:u5n,time:d5n,timestamp:f5n,userid:h5n,owner:p5n,email:g5n,world:m5n,elements:y5n,sceneRadius:A5n,view:w5n,graphState:v5n,evolutionMethod:x5n,solarPanelArrayLayoutParams:b5n,solarPanelArrayLayoutConstraints:S5n,evolutionaryAlgorithmState:T5n,economicsParams:P5n,modelType:C5n,modelAuthor:R5n,modelLabel:H5n,modelDescription:M5n,notes:I5n},D5n="nfnSPNhp4V7kiPCsxnMXvA",E5n="11/15/2023 08:11 PM",k5n=1700097090188,F5n="QWecNcxhyvP6j6sBN11hBsfZDau1",L5n=null,W5n=null,N5n="1.4.7",U5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"3019 Jameson Beach Rd, South Lake Tahoe, CA 96150, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.9379299,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-120.0387964},B5n=[{ly:15.823820171875001,solarUpdraftTower:{},parentId:"Ground",cx:-.23635058692870636,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.30044344061775696,type:"Foundation",solarPowerTower:{},lx:20.01699292669677,lz:.25,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.125,textureType:"Foundation Texture #2",enableGroupMaster:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"ddvCooK4VAFN7dUMWPpapB",ly:.3,rightPoint:[-6.228593727144493,5.3056786237803095,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.771406272855506,5.305678623780308,.1],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.22859372714449355,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.3056786237803095,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.771406272855505,leftPoint:[5.771406272855503,-4.6943213762196905,.1],cy:.3056786237803084,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.771406272855507,5.3056786237803095,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",roofId:"ddvCooK4VAFN7dUMWPpapB",color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"ddvCooK4VAFN7dUMWPpapB",selected:!1,cy:.3056786237803084,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.228593727144492,5.3056786237803095,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.3,cx:-6.228593727144493,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{showLabel:!1,cx:-.2285937271444931,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.771406272855507,-4.6943213762196905,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.6943213762196905,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"ddvCooK4VAFN7dUMWPpapB",leftPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],ly:.3,lz:4,relativeAngle:0,rotation:[0,0,0],lx:12,color:"#ffffff",wallStructure:"Stud",opacity:0,structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Human",name:"Jacob",cx:7.289879196764376,cy:.9615979280726203,cz:.125,lx:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.8},{type:"Wall",cx:.09100362924299155,cy:1.1882025501879951,cz:2.2408122612280286,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[.8710978156169994,1.1882025501879951,0],rightPoint:[-.6890905571310163,1.1882025501879951,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.8710978156169993,cy:.14100043812882335,cz:2.2301039869226305,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[.8710978156169991,-.9062016739303485,0],rightPoint:[.8710978156169995,1.1882025501879951,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:-.6890905571310162,cy:.14100043812882335,cz:2.228839888904333,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-.6890905571310162,1.1882025501879951,0],rightPoint:[-.6890905571310163,-.9062016739303485,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.0910036292429916,cy:-.9062016739303485,cz:2.268765007024547,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-.6890905571310163,-.9062016739303485,0],rightPoint:[.8710978156169995,-.9062016739303485,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Foundation",cx:-.0721809285526831,cy:-.11580967162986489,cz:.05,lx:2.3610744974526523,ly:3.0605782147964087,lz:.07649013269649757,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Human",name:"Jess",cx:-1.0115122224568758,cy:-3.6651165310105203,cz:.125,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",rise:1.3063523363004892,ceiling:!1},{type:"Window",cx:.023873137489038417,cy:.1,cz:.3595234970910072,lx:.5252090247588448,ly:.2,lz:.11766223541160228,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,frame:!0,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:-6.114654382048409,cy:.32019837609535623,cz:0,lx:9.600000000000001,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-7.214654382048406,-5.779801623904644,0],rightPoint:[-7.214654382048404,3.820198376095357,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"moXtDnyecvwRem92AzKP6s",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.700000000000008,cy:-2.6500000000000012,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[8,-2.5,0],rightPoint:[8,1,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"n3Fbp8o59RXvpMXPY1s1Sm",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.710429595506894,cy:3.3385814547866905,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[7.210429595506889,1.3885814547866906,0],rightPoint:[7.210429595506889,4.88858145478669,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"vhwBgsvb2XNRoUeLKEqhYZ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.25,cy:-4.660000000000009,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-6,-7,0],rightPoint:[5.5,-7,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wSthZNuu3hKxPyS8LHSGvS",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.211862519698188,cy:5.176033006265223,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-8.76186251969819,5.476033006265222,0],rightPoint:[2.7381374803018104,5.476033006265222,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"um8H4fZzRuLbZZ81bgs5nP",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Door",cx:0,cy:0,cz:-.34805186284300194,lx:.4774627497807679,ly:0,lz:.3038962743139961,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"h5Bd5QDcL7vWMTHPSCDuBD",doorType:"Default",archHeight:1,filled:!0},{type:"Tree",name:"Fan Palm",cx:2.7985631567413556,cy:-10.731117262084023,cz:0,lx:6.375358320482912,lz:8.451212523084012,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iQhcHctqyRJaG4XFZS4XMk",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ddvCooK4VAFN7dUMWPpapB",leftRidgeLength:3,rightRidgeLength:3,rise:1.4109420933443069,ceiling:!1},{type:"Flower",name:"Peony",cx:7.023550381410839,cy:-3.8877826159721582,cz:.12499999999999956,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hRzYHbdXP7aLP7JcDbRqRR",selected:!1},{type:"Flower",name:"Peony",cx:6.9734776254848185,cy:-2.9143031643660438,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vMLhayUTUD8aHWGMkGHz6W",selected:!1},{type:"Flower",name:"Peony",cx:6.9889157221008045,cy:-1.8856467808244108,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aKoXDkCANHQbTt7sp6H4cD",selected:!1},{type:"Flower",name:"Peony",cx:7.056609460752512,cy:2.106696532214023,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"drvWi4itbJZhSYfhzMLFUz",selected:!1},{type:"Flower",name:"Peony",cx:7.073130172902122,cy:3.1951278306332282,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3XQg1jKjV5dafQKCUY9Tom",selected:!1},{type:"Flower",name:"Peony",cx:6.831179450888563,cy:4.436138900477424,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ETHmh5VY9WD7DqvsYegAD",selected:!1},{type:"Tree",name:"Fan Palm",cx:-3.064329828704058,cy:-11.205145732983894,cz:4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"stqfKSZKDeaDe1syQCZ2RQ",selected:!1},{type:"Tree",name:"Fan Palm",cx:-10.213746832393127,cy:-10.383228886165,cz:-4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"u5zC3LfHnyukcnd2TZGm5n",selected:!1},{type:"Human",name:"Jade",cx:4.6162547175937405,cy:.8236142952720673,cz:.125,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kEK1sks1vjBNeG9bYUByB6",selected:!1,ly:.48},{type:"Human",name:"Jaye",cx:4.113865624208955,cy:-.1569064565752818,cz:.125,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jiL3321sgunb78Yp2wx7LZ",selected:!1,ly:.55},{type:"Human",name:"Jack",cx:2.270983153500868,cy:-5.647402265265438,cz:.125,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qKXJTHDFWk1Be3UB18FicH",selected:!1,ly:.42},{type:"Human",name:"Jeanette",cx:6.811654467665146,cy:.3288410550941858,cz:.12500000000000044,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jdNC43ZSdnd8zSCxaT42uJ",selected:!1,ly:.4},{type:"Human",name:"Jedi",cx:4.3803812097281964,cy:-6.219962402856187,cz:.12500000000000044,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tktL4bCeJqmadSREQxqYZf",selected:!1,ly:.56},{type:"Human",name:"Jaah",cx:8.073408817436135,cy:-2.861373653368049,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3tNBEAxUt3DLTZFUWrkT43",selected:!1,ly:.74},{type:"Human",name:"Jena",cx:5.650342532886793,cy:-5.869419038331923,cz:.125,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jbcUSTcV9ETtNTun9qHy9c",selected:!1,ly:.695},{type:"Human",name:"Jennifer",cx:6.650342532886793,cy:-5.869419038331923,cz:.125,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6mEiayfKLXRKd6HoatZeT7",selected:!1,ly:.45},{type:"Human",name:"Jeff",cx:8.281124000346418,cy:-.21288109922245724,cz:.125,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9nFAFEjnDEDMLNsibYbMM",selected:!1,ly:.6},{type:"Human",name:"Jacqueline",cx:8.774300454275942,cy:-3.11382005301836,cz:.12499999999999956,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9kJpcRTmPtd11noXLWWsGH",selected:!1,ly:.43},{type:"Human",name:"Joey",cx:5.394689962250994,cy:-6.419034150551809,cz:.12500000000000044,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wMtjHPExCprVrQ6rgijhKz",selected:!1,ly:.462},{type:"Human",name:"Jett",cx:5.607500871784192,cy:-7.300972318306286,cz:.12500000000000044,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tfCgFHPgnZKoKRfd18qKeP",selected:!1,ly:.6},{type:"Human",name:"John",cx:7.617007740588695,cy:-5.315039692166635,cz:.125,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3NBaVzParvnoX1VTgD2qhi",selected:!1,ly:.6},{type:"Human",name:"Judd",cx:8.557509471799634,cy:-7.331160131258592,cz:.125,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gM888A8u94AD92SprN4wbj",selected:!1,ly:.544},{type:"Human",name:"Joan",cx:5.580895600535009,cy:10.995552502214208,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1j9fkBAMPQ7exCAX2P7fF1",selected:!1,ly:1.7},{type:"Human",name:"Joel",cx:6.580895600535009,cy:10.995552502214208,cz:0,lx:1.8,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3SfQXzZu7J7mi1JmUBYxFc",selected:!1,ly:1.8},{type:"Human",name:"June",cx:9.253027066264448,cy:-1.8207404946549808,cz:.125,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uiRD36Lx6DhqS1L8GSmo2f",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:7.94102921033523,cy:-5.9229770250984926,cz:.12500000000000044,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2LZ8A82RZWiecfd18pDMu3",selected:!1,ly:.494},{type:"Human",name:"Jamelia",cx:7.019233078838581,cy:-6.865958327348711,cz:.125,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nArb1Wy1pTTLTAwpfD1gxv",selected:!1,ly:.65},{type:"Human",name:"Jiya",cx:6.536125724548311,cy:-7.090427106555895,cz:.125,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3rhHbB9NPHbS5kJ4toDf75",selected:!1,ly:.6},{type:"Human",name:"Jumapili",cx:4.710047052887569,cy:-7.365082439159079,cz:.12500000000000044,lx:.75,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2ydVQyK8TCn9PXCMXcCTEy",selected:!1,ly:.75},{type:"Human",name:"James",cx:8.638930109856844,cy:-4.382295505716076,cz:.12500000000000044,lx:.472,ly:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ucP3AmMZpFLmiVbQL9CJRg",selected:!1},{type:"Human",name:"Jaya",cx:8.430115188508257,cy:-4.95104947778114,cz:.125,lx:.6,ly:.6,lz:1.55,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tSdmVjv6FH3XWNZ5eajwUB",selected:!1},{type:"Human",name:"Jocelyn",cx:9.099153262139186,cy:1.6734195388718494,cz:.125,lx:.4,ly:.4,lz:1.72,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oY9mHLD2TnGtS48tFX7msv",selected:!1},{type:"Human",name:"Julia",cx:8.50369110484068,cy:-5.75207005231741,cz:.125,lx:.43,ly:.43,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"noQp7pbZpEPcCC5Bwy2Ds5",selected:!1},{type:"Human",name:"Julio",cx:6.3276841954899155,cy:-7.497137528054779,cz:.12500000000000044,lx:.5,ly:.5,lz:1.76,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"86gZdR7TufwZSuihX2WNJZ",selected:!1},{type:"Human",name:"Jose",cx:4.085694603550463,cy:-9.392938952651445,cz:0,lx:2,ly:2,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"pTRxrEpSAWLBc3BhSmJurU",selected:!1},{type:"Human",name:"Joseph",cx:4.70285983370786,cy:-8.668392524889338,cz:8881784197001252e-31,lx:.6,ly:.6,lz:1.88,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"qx4Vz41aeQtxbcayMgdcfb",selected:!1},{type:"Light",decay:2,distance:5,intensity:3,color:"#ffff99",cx:.0032094235984929786,cy:0,cz:-.15034969489506517,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,-2220446049250313e-31,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7ZdVSQw5Udf8Sk6TxfRr7E",selected:!1},{type:"Human",name:"Jill",cx:9.085367232279435,cy:2.675249483795916,cz:.125,lx:.42,ly:.42,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tnutvhGAiQivDEaTbwWokd",selected:!1},{type:"Human",name:"Jane",cx:10.315104916263296,cy:-5.841074350867604,cz:0,lx:.4,ly:.4,lz:1.67,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2qCeCbYUD9ZAWR8LaSwSBc",selected:!1},{type:"Human",name:"Judy",cx:8.894992472252287,cy:-.05735797632890183,cz:.125,lx:.41,ly:.41,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"evvFN1Y5c55LCjm2Zs4RPR",selected:!1},{type:"Human",name:"Jonathon",cx:7.865481936696703,cy:-8.800651006432007,cz:-4440892098500626e-31,lx:.6,ly:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"cPGv26A3o2hSuwc8DPUQ6y",selected:!1},{type:"Human",name:"Joshua",cx:9.361559767195017,cy:-2.653290992466755,cz:.12499999999999956,lx:.5,ly:.5,lz:1.79,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rd5u6niG5wuUyGxwjj9FrQ",selected:!1},{type:"Human",name:"Justin",cx:8.841054844860178,cy:-3.9407835630247803,cz:.125,lx:.6,ly:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nctqWUAWcyYHT4SGzerSs4",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.5,y:-.5},{x:-.5,y:-.25},{x:.5,y:-.25},{x:.5,y:-.5}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"bcBZb3U93o5F2jxgHWz66U",text:"Welcome to Moosehorn State Park",fontSize:.5,fontColor:"gold",fontOutlineColor:"white",fontOutlineWidth:0,fontStrokeWidth:.01,noOutline:!1,textureType:"Polygon Texture #9"}],j5n=86,Y5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.150676678462785,4.331280702823742,433147322558565e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.150676678462785,4.331130696160679,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.52949133040242,-6.908469489524304,2.3292876283609294],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.84710869799634,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.4679506390771288,.22749806834114614,2.3292876283609285],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},O5n=!1,_5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},V5n=1,G5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},X5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},J5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},K5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},q5n="Unknown",$5n=null,Q5n=null,Z5n=null,e9n=null,t9n=[],n9n=3,o9n=3,i9n={docid:D5n,time:E5n,timestamp:k5n,userid:F5n,owner:L5n,email:W5n,version:N5n,world:U5n,elements:B5n,sceneRadius:j5n,view:Y5n,animate24Hours:O5n,graphState:_5n,evolutionMethod:V5n,solarPanelArrayLayoutParams:G5n,solarPanelArrayLayoutConstraints:X5n,evolutionaryAlgorithmState:J5n,economicsParams:K5n,modelType:q5n,modelAuthor:$5n,modelLabel:Q5n,modelDescription:Z5n,designProjectType:e9n,notes:t9n,minimumNavigationMoveSpeed:n9n,minimumNavigationTurnSpeed:o9n},r9n="mW1ttJThpPJ2JKrSAT7EUP",a9n="02/04/2023 01:03 pm",l9n=1675533820168,s9n="QWecNcxhyvP6j6sBN11hBsfZDau1",c9n=null,u9n=null,d9n={latitude:31.29833989999999,pvGridCellSize:.5,timesPerHour:4,longitude:120.58319,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Suzhou, Jiangsu, China",date:"4/22/2022, 3:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},f9n=[{cy:-.059966096117782364,normal:[0,0,1],lz:.08187919001653333,ly:13.340881459022976,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.23469319781280173,cz:.05,rotation:[0,0,0],lx:13.149110146454165,selected:!1,parentId:"Ground",locked:!1},{type:"Wall",cx:-5.704543355403865,cy:.218424664108547,cz:0,lx:5.274193548387098,ly:.3,lz:4,relativeAngle:-1.5707963267948972,leftPoint:[-5.704543355403863,2.855521438302096,.08187919001653333],rightPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],leftJoints:["phev4gQxjvHYwHg819vEHB"],rightJoints:["kdCvwj5JgamPrPyPvrdvAm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xuyJn2DKfBNBFjKWxSNkV",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:4.320575201742957,cz:0,lx:4.448255286649458,ly:.3,lz:4,relativeAngle:-2.4224905134396697,leftPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],rightPoint:[-5.7045433554038665,2.855521438302096,.08187919001653333],leftJoints:["98ta6USvR1CGq17YJbnQS1"],rightJoints:["4xuyJn2DKfBNBFjKWxSNkV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phev4gQxjvHYwHg819vEHB",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:-4.176736626214033,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:-.8100578027781637,leftPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],rightPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],leftJoints:["4xuyJn2DKfBNBFjKWxSNkV"],rightJoints:["nw6raZBAGuWkF5ubuLU8xD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kdCvwj5JgamPrPyPvrdvAm",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:-4.176736626214031,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:.8100578027781632,leftPoint:[2.66259660402818,-5.934801142343061,.08187919001653333],rightPoint:[6.0094525878009994,-2.4186721100849997,.08187919001653333],leftJoints:["nw6raZBAGuWkF5ubuLU8xD"],rightJoints:["iV9VtU8uZo4yDiYJfPcmdy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npYCeoFyusHZjnvHSA5MHT",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.15245461619856626,cy:5.785628965183817,cz:0,lx:5.020283975659227,ly:.3,lz:4,relativeAngle:3.1415926535897927,leftPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],rightPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],leftJoints:["p7LQvPgC6EYePDocPwo9xL"],rightJoints:["phev4gQxjvHYwHg819vEHB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98ta6USvR1CGq17YJbnQS1",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.0094525878009994,cy:.21842466410854633,cz:0,lx:5.274193548387096,ly:.3,lz:4,relativeAngle:1.5707963267948966,leftPoint:[6.0094525878009994,-2.418672110085002,.08187919001653333],rightPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],leftJoints:["npYCeoFyusHZjnvHSA5MHT"],rightJoints:["p7LQvPgC6EYePDocPwo9xL"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iV9VtU8uZo4yDiYJfPcmdy",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.1526933276969229,cy:-5.934801142343063,cz:0,lx:5.021429002185668,ly:.3,lz:4,leftJoints:["kdCvwj5JgamPrPyPvrdvAm"],rightJoints:["npYCeoFyusHZjnvHSA5MHT"],leftPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],rightPoint:[2.6630740270248947,-5.934801142343061,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nw6raZBAGuWkF5ubuLU8xD",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:4.3205752017429555,cz:0,lx:4.448255286649457,ly:.3,lz:4,leftJoints:["iV9VtU8uZo4yDiYJfPcmdy"],rightJoints:["98ta6USvR1CGq17YJbnQS1"],leftPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],rightPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],relativeAngle:2.4224905134396693,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"p7LQvPgC6EYePDocPwo9xL",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Human",name:"Jack",cx:-4.760459270800288,cy:-2.5348481679853134,cz:.1,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wvAyR5FHsaRG2ToXMAXh87",selected:!1,ly:.42,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["npYCeoFyusHZjnvHSA5MHT"],ridgeWidth:1,textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cqv2PuQ6Ct8FunGC5Rsg5E",locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Wall",cx:-4.710361945157022,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["mNbBhBDTayeXWAoDE8ip6A"],rightJoints:["giioZ24KGCk6oJoadGeQJg"],leftPoint:[-4.710361945157022,3.5012071040692554,.08187919001653333],rightPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fKn6ccVkMdWqQghcJAFmEQ",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.3998110672719446,cy:4.632929099286187,cz:0,lx:3.463142086593125,ly:.3,lz:7.5,leftJoints:["fPGQ97jmfXKFKCgzdf8tK2"],rightJoints:["fKn6ccVkMdWqQghcJAFmEQ"],leftPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],rightPoint:[-4.7103619451570236,3.5012071040692554,.08187919001653333],relativeAngle:-2.429286367572432,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mNbBhBDTayeXWAoDE8ip6A",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.399811067271945,cy:-1.9310584729720213,cz:0,lx:3.774592923611536,ly:.3,lz:7.5,leftJoints:["fKn6ccVkMdWqQghcJAFmEQ"],rightJoints:["2Ecm8hWzZfEbStzt675QWs"],leftPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],rightPoint:[-2.089260189386867,-3.2891248672323394,.08187919001653333],relativeAngle:-.8032015766363013,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"giioZ24KGCk6oJoadGeQJg",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:-1.9310584729720182,cz:0,lx:3.7745929236115394,ly:.3,lz:7.5,leftJoints:["2Ecm8hWzZfEbStzt675QWs"],rightJoints:["dJmNmvxvjdHh3vPxEXp335"],leftPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],rightPoint:[4.463494200038532,-.5729920787116995,.08187919001653333],relativeAngle:.8032015766363004,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"oq3EhiCKFwwA92Ur9WnxEC",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:5.7646510945031215,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["mPpYQCigCupk4wWxmYLiGt"],rightJoints:["mNbBhBDTayeXWAoDE8ip6A"],leftPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],rightPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fPGQ97jmfXKFKCgzdf8tK2",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:4.463494200038532,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["oq3EhiCKFwwA92Ur9WnxEC"],rightJoints:["mPpYQCigCupk4wWxmYLiGt"],leftPoint:[4.463494200038532,-.5729920787117029,.08187919001653333],rightPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"dJmNmvxvjdHh3vPxEXp335",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:-3.289124867232336,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["giioZ24KGCk6oJoadGeQJg"],rightJoints:["oq3EhiCKFwwA92Ur9WnxEC"],leftPoint:[-2.0892601893868656,-3.289124867232336,.08187919001653333],rightPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"2Ecm8hWzZfEbStzt675QWs",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:4.632929099286187,cz:0,lx:3.4631420865931273,ly:.3,lz:7.5,leftJoints:["dJmNmvxvjdHh3vPxEXp335"],rightJoints:["fPGQ97jmfXKFKCgzdf8tK2"],leftPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],rightPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],relativeAngle:2.4292863675724323,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mPpYQCigCupk4wWxmYLiGt",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{id:"56kE8YxGS5vZT15DARe55m",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["oq3EhiCKFwwA92Ur9WnxEC"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:.07312548836645227,cy:-1.3848958277284682,cz:.05,lx:9.464156224937316,ly:12.896297667676603,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTosNnXwuFCRGqZWfF7TsY",selected:!1,locked:!1},{type:"Wall",cx:-3.4962075675486224,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],rightJoints:["bzdCKkoEsHKfg6PMf8sKa9"],leftPoint:[-3.4962075675486224,4.232059632453278],rightPoint:[-3.496207567548624,1.3427626085407864],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mMPeuLSFxt2hhKw1jzoAXX",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033176,cy:5.0346421390956335,cz:0,lx:2.5519835672660642,ly:.3,lz:11,leftJoints:["5SAdNQtzr2xU5rw3LJPFUt"],rightJoints:["mMPeuLSFxt2hhKw1jzoAXX"],leftPoint:[-1.5122556004580119,5.837224645737991],rightPoint:[-3.496207567548624,4.232059632453278],relativeAngle:-2.461342900204164,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"wg8fH2jxgcfzoEQ3iyHRk5",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033185,cy:.3796636005699572,cz:0,lx:2.7651951476053704,ly:.3,lz:11,leftJoints:["mMPeuLSFxt2hhKw1jzoAXX"],rightJoints:["d6PNwTS2wJV1Koozu7wRCJ"],leftPoint:[-3.496207567548624,1.3427626085407864],rightPoint:[-1.5122556004580128,-.5834354074008719],relativeAngle:-.7706289724283263,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bzdCKkoEsHKfg6PMf8sKa9",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:.37966360056995985,cz:0,lx:2.765195147605374,ly:.3,lz:11,leftJoints:["d6PNwTS2wJV1Koozu7wRCJ"],rightJoints:["1cSqXyGASoNdwCM2MQgYAg"],leftPoint:[1.4636723501779088,-.5834354074008692],rightPoint:[3.4476243172685246,1.3427626085407889],relativeAngle:.770628972428325,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"tdJA55oXTxjRMFMd2yzHeU",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:5.837224645737991,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],rightJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],leftPoint:[1.4636723501779088,5.837224645737991],rightPoint:[-1.5122556004580119,5.837224645737991],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5SAdNQtzr2xU5rw3LJPFUt",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:3.4476243172685246,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["tdJA55oXTxjRMFMd2yzHeU"],rightJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],leftPoint:[3.4476243172685246,1.3427626085407864],rightPoint:[3.4476243172685246,4.232059632453278],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1cSqXyGASoNdwCM2MQgYAg",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:-.5834354074008692,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["bzdCKkoEsHKfg6PMf8sKa9"],rightJoints:["tdJA55oXTxjRMFMd2yzHeU"],leftPoint:[-1.5122556004580119,-.5834354074008692],rightPoint:[1.4636723501779088,-.5834354074008692],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"d6PNwTS2wJV1Koozu7wRCJ",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:5.0346421390956335,cz:0,lx:2.551983567266067,ly:.3,lz:11,leftJoints:["1cSqXyGASoNdwCM2MQgYAg"],rightJoints:["5SAdNQtzr2xU5rw3LJPFUt"],leftPoint:[3.4476243172685246,4.232059632453278],rightPoint:[1.4636723501779088,5.837224645737991],relativeAngle:2.4613429002041647,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5zeSH5hMhT3UJzZ2VMSrtV",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"kXXsWtzhvHq2DAaXZEi8ju",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["tdJA55oXTxjRMFMd2yzHeU"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.1382893636180098,cy:-2.8344198053167737,cz:.05,lx:7.240655122656252,ly:11.908488628124994,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"67a4Cj7mTjUcKpS9UXcYMf",selected:!1,locked:!1},{type:"Wall",cx:-2.305386933936208,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],rightJoints:["6a5FbNhUegAfkm1WbCa4hr"],leftPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],rightPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"m9CmZzHka279S6PzqcJDms",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:5.017845812508369,cz:0,lx:1.6893644412938968,ly:.3,lz:14.5,leftJoints:["cj1x2iAzLBRGYCY4fbDa9u"],rightJoints:["m9CmZzHka279S6PzqcJDms"],leftPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],rightPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],relativeAngle:-2.466981384386693,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"3uhgX6EhXdVFMDgjKuTvWJ",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:1.9578628752160765,cz:0,lx:1.8286163715377841,ly:.3,lz:14.5,leftJoints:["m9CmZzHka279S6PzqcJDms"],rightJoints:["pLBnaJicNdNqvsWh4XB2xC"],leftPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],rightPoint:[-.9860780962248481,1.3247629571556034,.08187919001653333],relativeAngle:-.7648600253804781,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6a5FbNhUegAfkm1WbCa4hr",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:1.9578628752160787,cz:0,lx:1.8286163715377868,ly:.3,lz:14.5,leftJoints:["pLBnaJicNdNqvsWh4XB2xC"],rightJoints:["x2WKNCsnTm3wuwLHXfgCEX"],leftPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],rightPoint:[2.312193998053557,2.5909627932765527,.08187919001653333],relativeAngle:.7648600253804773,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1WEB2uNx8HTmooMiMdCuRb",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:5.545429077558764,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["caQUPNBf9AQWUAkvEEKBK9"],rightJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],leftPoint:[.9928851603421944,5.545429077558764,.08187919001653333],rightPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cj1x2iAzLBRGYCY4fbDa9u",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:2.312193998053557,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["1WEB2uNx8HTmooMiMdCuRb"],rightJoints:["caQUPNBf9AQWUAkvEEKBK9"],leftPoint:[2.312193998053557,2.59096279327655,.08187919001653333],rightPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"x2WKNCsnTm3wuwLHXfgCEX",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:1.3247629571556052,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["6a5FbNhUegAfkm1WbCa4hr"],rightJoints:["1WEB2uNx8HTmooMiMdCuRb"],leftPoint:[-.9860780962248481,1.3247629571556052,.08187919001653333],rightPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"pLBnaJicNdNqvsWh4XB2xC",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:5.017845812508369,cz:0,lx:1.6893644412938993,ly:.3,lz:14.5,leftJoints:["x2WKNCsnTm3wuwLHXfgCEX"],rightJoints:["cj1x2iAzLBRGYCY4fbDa9u"],leftPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],rightPoint:[.9928851603421944,5.545429077558764,.08187919001653333],relativeAngle:2.4669813843866937,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"caQUPNBf9AQWUAkvEEKBK9",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{id:"pHdzF3ngGjARqDaSnrPCbJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["1WEB2uNx8HTmooMiMdCuRb"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.12202054492778736,cy:-3.6786752972065244,cz:.05,lx:4.62580908783712,ly:11.244705561904492,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mZUacXWS8C3iqt3FX2P392",selected:!1,locked:!1},{type:"Wall",cx:-2.1374696253712813,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["nDHpcsgkV9peBKJpWVGgfd"],rightJoints:["k2jx5wJhEXwRbUKXtsBVsi"],leftPoint:[-2.1374696253712813,1.3441989933046479,.2],rightPoint:[-2.1374696253712813,.02457012324427721,.2],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"9D7SuFhdAmbL3s4qJSt14J",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:1.7107625683214178,cz:0,lx:1.1388663119977358,ly:.3,lz:18,leftJoints:["rhFdf5zdJe6JyTbbEFrxS6"],rightJoints:["9D7SuFhdAmbL3s4qJSt14J"],leftPoint:[-1.2659530974230018,2.0773261433381873,.2],rightPoint:[-2.1374696253712813,1.3441989933046479,.2],relativeAngle:-2.442224676045199,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"nDHpcsgkV9peBKJpWVGgfd",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:-.41530616677584553,cz:0,lx:1.2383479561797213,ly:.3,lz:18,leftJoints:["9D7SuFhdAmbL3s4qJSt14J"],rightJoints:["k1Zz3xzbmLW17cj6uWBzfc"],leftPoint:[-2.1374696253712813,.02457012324427721,.2],rightPoint:[-1.2659530974230018,-.8551824567959683,.2],relativeAngle:-.790101033639045,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k2jx5wJhEXwRbUKXtsBVsi",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:-.4153061667758444,cz:0,lx:1.2383479561797235,ly:.3,lz:18,leftJoints:["k1Zz3xzbmLW17cj6uWBzfc"],rightJoints:["bQ466SAJMAnn6fakoD16LP"],leftPoint:[.041321694499416806,-.8551824567959676,.2],rightPoint:[.9128382224476985,.024570123244278763,.2],relativeAngle:.7901010336390442,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6akTVpZG7AbvMgXaG1q3Nh",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:2.0773261433381873,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["cGGqfipx5C3U3jy37qBmH3"],rightJoints:["nDHpcsgkV9peBKJpWVGgfd"],leftPoint:[.041321694499416806,2.0773261433381873,.2],rightPoint:[-1.2659530974230018,2.0773261433381873,.2],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"rhFdf5zdJe6JyTbbEFrxS6",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.9128382224476985,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["6akTVpZG7AbvMgXaG1q3Nh"],rightJoints:["cGGqfipx5C3U3jy37qBmH3"],leftPoint:[.9128382224476985,.02457012324427721,.2],rightPoint:[.9128382224476985,1.3441989933046479,.2],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bQ466SAJMAnn6fakoD16LP",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:-.8551824567959676,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["k2jx5wJhEXwRbUKXtsBVsi"],rightJoints:["6akTVpZG7AbvMgXaG1q3Nh"],leftPoint:[-1.2659530974230018,-.8551824567959676,.2],rightPoint:[.041321694499416806,-.8551824567959676,.2],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k1Zz3xzbmLW17cj6uWBzfc",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:1.7107625683214178,cz:0,lx:1.1388663119977376,ly:.3,lz:18,leftJoints:["bQ466SAJMAnn6fakoD16LP"],rightJoints:["rhFdf5zdJe6JyTbbEFrxS6"],leftPoint:[.9128382224476985,1.3441989933046479,.2],rightPoint:[.041321694499416806,2.0773261433381873,.2],relativeAngle:2.4422246760452,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cGGqfipx5C3U3jy37qBmH3",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Foundation",cx:.5137640713758937,cy:-.8247397257024911,cz:.1,lx:17.47075427773578,ly:17.57589746990512,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"t3DvVsTxEUmLPJ5qyzz1Cq",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3982929957049007,ly:.3,lz:.75,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nw6raZBAGuWkF5ubuLU8xD",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kJ99yCt5NwrUx6aeyLQD19",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04022745849176903,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"k1Zz3xzbmLW17cj6uWBzfc",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2i6NJTsHZcvu5DZpjL2nTf",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.049787851751147326,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"827buPg2up7S5NJpu1bTwc",parentId:"6akTVpZG7AbvMgXaG1q3Nh",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.03092128411947934,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"696xgzPkcYLSq7T7Qw1kVp",parentId:"bQ466SAJMAnn6fakoD16LP",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.03385386298551652,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jCNeHwVCUvbqQjRxPEpVWh",parentId:"k2jx5wJhEXwRbUKXtsBVsi",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.06228256362044849,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"x8xMT8Y3CFHpSTTtRuQJEH",parentId:"cGGqfipx5C3U3jy37qBmH3",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02834774148633909,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nppApRrEXRyeUd9vJfwuSz",parentId:"rhFdf5zdJe6JyTbbEFrxS6",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.02951470439825077,cy:.1,cz:.44184392259435495,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"wGQdjaEJAq274XD4qjARvv",parentId:"nDHpcsgkV9peBKJpWVGgfd",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02377711455299869,cy:.1,cz:.4427721444522278,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bfx8vmpw2KKDieuVcLZMqt",parentId:"9D7SuFhdAmbL3s4qJSt14J",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"b18KSu7muEcNBoRo9BCFtR",parentId:"2Ecm8hWzZfEbStzt675QWs",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.005291630779154989,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6ehjjnYKcMRY6uDm39RjZg",parentId:"oq3EhiCKFwwA92Ur9WnxEC",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.00444948057017957,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"beNSFD5YoXGJs5n6HkCEia",parentId:"dJmNmvxvjdHh3vPxEXp335",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:5610195147971379e-32,cy:.1,cz:.3333333333333333,lx:.2887551174614818,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"enXaCvRZY1o42EepsmhAcu",parentId:"mPpYQCigCupk4wWxmYLiGt",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"co2nWxWjHSrQ1y3CbewV71",parentId:"fPGQ97jmfXKFKCgzdf8tK2",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2887551174614821,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oAJfvW2Atau2PMDooxnZup",parentId:"mNbBhBDTayeXWAoDE8ip6A",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:272500919767831e-31,cy:.1,cz:.33333333333333326,lx:.24544700814490417,ly:.3,lz:.2666666666666668,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oysyT4xkNku4YbbVaJZRwr",parentId:"fKn6ccVkMdWqQghcJAFmEQ",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2649292308435736,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tfr35CsQ7uYrvJEbNiSm9Z",parentId:"giioZ24KGCk6oJoadGeQJg",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-2007494887994791e-32,cy:.1,cz:.38636363636363646,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVd2M9mPnyt54bpo1cinGs",parentId:"bzdCKkoEsHKfg6PMf8sKa9",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vEK53nipfn3Fi9zDdjYNwA",parentId:"d6PNwTS2wJV1Koozu7wRCJ",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:20074948879947884e-33,cy:.1,cz:.3863636363636363,lx:.36163812918086014,ly:.3,lz:.1363636363636365,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7a8LzQgQTZT74cAMqSaHG3",parentId:"tdJA55oXTxjRMFMd2yzHeU",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m8mvZULmKJiijiJZQ4Ws2p",parentId:"1cSqXyGASoNdwCM2MQgYAg",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701282,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2yZN5brch6X6VdX7qusThM",parentId:"5zeSH5hMhT3UJzZ2VMSrtV",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6wGZka29sHQXPaM4orSj26",parentId:"5SAdNQtzr2xU5rw3LJPFUt",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701494,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tFAKFAeYrHzMpedpoQ4z2J",parentId:"wg8fH2jxgcfzoEQ3iyHRk5",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tsfJ1jgF5hbLvum632wKcR",parentId:"mMPeuLSFxt2hhKw1jzoAXX",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1tp2T4LDRLMNEK26RseK5r",parentId:"pLBnaJicNdNqvsWh4XB2xC",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.020773233582139315,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tgrkWzLGJa5Q9w4cDnLRRp",parentId:"1WEB2uNx8HTmooMiMdCuRb",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o3JTZDoUCh4i6VTFAXTRi5",parentId:"x2WKNCsnTm3wuwLHXfgCEX",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"86L95Fnu4u89jayQZWX5Xw",parentId:"cj1x2iAzLBRGYCY4fbDa9u",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.043311747423323166,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vNmcUsYJDkYimiCfMHdNFB",parentId:"3uhgX6EhXdVFMDgjKuTvWJ",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dDi3Fw7AsTes6zvNGEEHiL",parentId:"m9CmZzHka279S6PzqcJDms",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02077323358213971,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bAVGu4K7Tu42BYzdxoX44L",parentId:"6a5FbNhUegAfkm1WbCa4hr",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4120025297364816,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qGTqwRerdw925V3dp1Zxqj",parentId:"npYCeoFyusHZjnvHSA5MHT",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3792048929663609,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"76hrnZkDNKTnFBf136Yypd",parentId:"iV9VtU8uZo4yDiYJfPcmdy",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-24958617549610238e-33,cy:.1,cz:-.125,lx:.44961448278442956,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4dQWwkYdrjgXGYUZinRtRU",parentId:"p7LQvPgC6EYePDocPwo9xL",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.39838383838383856,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vetMY2wce8PY7wZMnBgYtd",parentId:"98ta6USvR1CGq17YJbnQS1",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4496144827844295,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v2Bpx6NQy5wWaCAkP524Kv",parentId:"phev4gQxjvHYwHg819vEHB",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:3157515024163289e-32,cy:.1,cz:-.12499999999999994,lx:.3792048929663607,ly:.3,lz:.7499999999999999,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"rDQtPqhJZVdy7Xh7XJRsb3",parentId:"4xuyJn2DKfBNBFjKWxSNkV",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:8004757157551921e-32,cy:.1,cz:-.125,lx:.4120025297364814,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e19JPkz5u6tKcbjYUvXegq",parentId:"kdCvwj5JgamPrPyPvrdvAm",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jacqueline",cx:4.255864387589413,cy:-6.242196181277151,cz:.1,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wfWT37sYApxTzWzUncAoR9",selected:!1,locked:!1,ly:.43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["6akTVpZG7AbvMgXaG1q3Nh","bQ466SAJMAnn6fakoD16LP","cGGqfipx5C3U3jy37qBmH3","rhFdf5zdJe6JyTbbEFrxS6","nDHpcsgkV9peBKJpWVGgfd","9D7SuFhdAmbL3s4qJSt14J","k2jx5wJhEXwRbUKXtsBVsi","k1Zz3xzbmLW17cj6uWBzfc"],textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"rdzur4ggFrcghzk546PTce",locked:!1,rise:.7945305564645331,ceiling:!1},{type:"Tree",name:"Dogwood",cx:7.392171297775102,cy:7.163513110419622,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"jBw9RYvUZrnME36Vm8DaPW",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.759545239381245,cy:-2.5910214138353416,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"5kQBFtBdW6bwiFWnzf9wwH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.490113616723971,cy:3.8154638360153057,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2GfJNYSop6f5v7xSek1ytE",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.508512970788757,cy:7.348011777521739,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"adVq8AGmfbAWANd1ERqtLC",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.329172186785436,cy:7.377948624483658,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"okSKfXzr6RNLYQU4kZsQEZ",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.9394466189209485,cy:4.054958611710656,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"cbRLDrHAkXSVreLWjbyF5V",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.819699231073273,cy:-2.2317792502923153,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"buHEZW6R7p71SuhwZZJ2PT",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.808161738176137,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"9DD3bFQeXC1bN3n5JNfTHY",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.2690181950934063,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"bnApLQ8V1oJiPKXxDRPxb4",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:7.328345331657704,cy:-6.931864223313587,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"g8PvSEYYsCu2XWBqG3iX5a",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.759825537149433,cy:-6.692369447618235,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"eFc8WGqQzEfKvVgDn3e4Wq",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.459318010176873,cy:7.482898989893004,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"288KLWR7KewUpd13gMeuAi",selected:!1,locked:!1},{type:"Window",cx:.029596929340897304,cy:.1,cz:.42068965517241375,lx:.5327447281361516,ly:.3,lz:.11034482758620694,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"caQUPNBf9AQWUAkvEEKBK9",foundationId:"mZUacXWS8C3iqt3FX2P392",id:"g8YUeBMeW1DSqfqrvD7Vbk"},{type:"Light",decay:2,distance:10,intensity:2,color:"#fe9200",cx:-.030005590627033965,cy:-.4532425907688764,cz:.5000000074505895,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"qF9C6U2NXL7yTL6tKt4cmM",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#7b64ff",cx:.4305972540929517,cy:.06205523390636515,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"c16cf3Q9umV9K4iATpzZdw",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#68bc00",cx:-.03448954854070917,cy:.43858567895245787,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"kdV7kizuYhPCDkqnpXr6Jf",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#fa28ff",cx:-.44220837093921556,cy:.040360464163231746,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"pCzfVRHLpKFtr7SXEbAF9q",selected:!1}],h9n={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-13,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-2.010984368039464,-28.85991180576142,8.94754765614511],panCenter:[-.2875344548235237,.8941760908925925,8.94754765614511],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230189,showInstructionPanel:!0,cameraPosition2D:[.3578976625538651,1.7782818083550982,150],panCenter2D:[.3578976625538651,1.778431815016015,2363573287717466e-21],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},waterSurface:!1,showMapPanel:!1},p9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},g9n=1,m9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},y9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},A9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},w9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},v9n=[],x9n={docid:r9n,time:a9n,timestamp:l9n,userid:s9n,owner:c9n,email:u9n,world:d9n,elements:f9n,view:h9n,graphState:p9n,evolutionMethod:g9n,solarPanelArrayLayoutParams:m9n,solarPanelArrayLayoutConstraints:y9n,evolutionaryAlgorithmState:A9n,economicsParams:w9n,notes:v9n},b9n="8fjimYdFfmatTLYR2DNXvA",S9n="02/04/2023 01:05 pm",T9n=1675533906512,P9n="QWecNcxhyvP6j6sBN11hBsfZDau1",C9n=null,R9n=null,H9n={orthographic:!1,noAnimationForSolarPanelSimulation:!1,discretization:"Approximate",cspGridCellSize:.5,diurnalTemperatureModel:1,sutDaysPerYear:4,address:"Honolulu, HI, USA",sutGridCellSize:1,solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,longitude:-157.86620385714326,pvGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",noAnimationForSolarUpdraftTowerSimulation:!1,cameraZoom:43.16939043526371,sutTimesPerHour:4,daysPerYear:12,timesPerHour:4,cspDaysPerYear:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},latitude:21.310722676290315,airConvectiveCoefficient:5,name:"default",solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,dustLoss:.05,noAnimationForHeatmapSimulation:!1,noAnimationForSensorDataCollection:!1},M9n=[{solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],rotation:[0,0,1.5707963267948966],color:"#009ce0",ly:24.9333515261897,type:"Foundation",parentId:"Ground",lz:.1,selected:!1,cz:.05,cx:-.9759327650956084,cy:2.7473554645675557,id:"sfVVGvWfY1uFZBwuAeqDnU",solarUpdraftTower:{},lx:10.57622536718512,locked:!1,textureType:"No Foundation Texture"},{showLabel:!1,cz:0,drawSunBeam:!1,cx:-.0173882538930337,color:"#fff",poleRadius:.05,parentId:"sfVVGvWfY1uFZBwuAeqDnU",dailyYield:25.00468094869397,selected:!1,trackerType:"None",orientation:"Portrait",poleSpacing:3,lx:6.944,locked:!1,type:"Solar Panel",rotation:[0,0,1.5707963267948966],ly:3.936,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,poleHeight:1.5,normal:[0,0,1],id:"4bpFrEwZJxbfGUTtn9R1sg",lz:.046,cy:-.3535113399890203,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",tiltAngle:0},{solarAbsorberPipe:{},lz:.1,solarPowerTower:{},rotation:[0,0,-.7853981633974483],locked:!1,cy:3.3785331461228845,type:"Foundation",solarUpdraftTower:{},parentId:"Ground",cz:.05,selected:!1,lx:17.522626722458362,ly:16.217549949540043,normal:[0,0,1],color:"#009ce0",id:"c2gz3bi2QzLErUX4XmgVX7",cx:2.825325314034343,textureType:"No Foundation Texture"},{ly:.1,lz:1.75,selected:!1,textureType:"No Wall Texture",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",windows:[],leftPoint:[-.41513844869064975,-4.018227675100984,.1],id:"iQCq8L9uGMQTqYvdj9Zg8G",leftJoints:["cSJn7k7dHrZvyJZf7rCR3h"],rotation:[0,0,-.7853981633974483],showLabel:!1,cz:0,rightPoint:[.08486155130934736,-4.01822767510099,.1],lineWidth:.2,color:"#ffffff",rightJoints:["8BLfCN1Rb2sjqzL81nEAF1"],locked:!1,cx:-.16513844869065064,lx:.4999999999999971,roofId:"95ywic4c9x92ks45ZbwSqV",type:"Wall",rightRoofHeight:1.75,cy:-4.01822767510099,leftRoofHeight:1.75,normal:[0,0,1],relativeAngle:6.283185307179577,parentId:"c2gz3bi2QzLErUX4XmgVX7",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",parentId:"c2gz3bi2QzLErUX4XmgVX7",ly:.1,cx:-.16513844869065064,textureType:"No Wall Texture",roofId:"95ywic4c9x92ks45ZbwSqV",lx:.5000000000000003,locked:!1,rightRoofHeight:1.75,selected:!1,leftPoint:[.0848615513093498,2.481772324899016,.1],cy:2.481772324899016,lz:1.75,lineWidth:.2,normal:[0,0,1],relativeAngle:3.1415926535897922,rightPoint:[-.41513844869064953,2.481772324899015,.1],leftJoints:["8BLfCN1Rb2sjqzL81nEAF1"],rotation:[0,0,-.7853981633974483],type:"Wall",id:"wXQ7LSxUUW2TWS968Lkeqi",showLabel:!1,leftRoofHeight:1.75,windows:[],color:"#ffffff",lineColor:"black",rightJoints:["cSJn7k7dHrZvyJZf7rCR3h"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],locked:!1,lineWidth:.2,ly:.1,windows:[],rightRoofHeight:1.75,color:"#ffffff",leftRoofHeight:1.75,cx:-.4151384486906503,id:"cSJn7k7dHrZvyJZf7rCR3h",lx:6.5,parentId:"c2gz3bi2QzLErUX4XmgVX7",rightPoint:[-.41513844869064975,-4.018227675100984,.1],rotation:[0,0,-.7853981633974483],roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,textureType:"No Wall Texture",leftJoints:["wXQ7LSxUUW2TWS968Lkeqi"],selected:!1,foundationId:"c2gz3bi2QzLErUX4XmgVX7",relativeAngle:4.71238898038469,type:"Wall",cy:-.7682276751009843,lz:1.75,showLabel:!1,lineColor:"black",rightJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{locked:!1,selected:!1,type:"Wall",lz:1.75,leftRoofHeight:1.75,textureType:"No Wall Texture",id:"8BLfCN1Rb2sjqzL81nEAF1",leftPoint:[.08486155130935003,-4.0182276751009915,.1],cx:.08486155130935003,roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,ly:.1,relativeAngle:1.5707963267948966,color:"#ffffff",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",rightPoint:[.0848615513093498,2.481772324899016,.1],cy:-.7682276751009878,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],lx:6.500000000000005,leftJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],parentId:"c2gz3bi2QzLErUX4XmgVX7",rightRoofHeight:1.75,rightJoints:["wXQ7LSxUUW2TWS968Lkeqi"],windows:[],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{normal:[0,0,1],wallsId:["8BLfCN1Rb2sjqzL81nEAF1"],cy:0,rightRidgeLength:-3.1500000000000026,locked:!1,lz:0,id:"95ywic4c9x92ks45ZbwSqV",lineColor:"black",selected:!1,lx:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,-.7853981633974483],lineWidth:.2,cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",color:"#ffffff",parentId:"c2gz3bi2QzLErUX4XmgVX7",showLabel:!1,thickness:.05,roofType:"Hip",leftRidgeLength:3.2500000000000027,cx:0,type:"Roof",roofStructure:"Default",rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cz:0,rotation:[0,0,-.7853981633974483],parentId:"mcxY5unDv2pKvQAJXd1qqG",rightPoint:[.08486155130934736,-4.01822767510099,.1],roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,color:"#ffffff",textureType:"No Wall Texture",rightRoofHeight:1.75,lz:1.75,selected:!1,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:-.16513844869065064,ly:.1,cy:-4.01822767510099,rightJoints:["81FqBBm7B8Cgn7RbBDkgTc"],type:"Wall",leftJoints:["wPbsRDuG2myaDXtTkpKWyU"],leftPoint:[-.41513844869064975,-4.018227675100984,.1],normal:[0,0,1],lx:.4999999999999971,relativeAngle:6.283185307179577,id:"jPQHNjKitSZdUXrDLCKowL",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{rightRoofHeight:1.75,id:"3DG2FvhMwMqXmaiYMPxgiv",cy:2.481772324899016,color:"#ffffff",rotation:[0,0,-.7853981633974483],rightPoint:[-.41513844869064953,2.481772324899015,.1],lx:.5000000000000003,selected:!1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",textureType:"No Wall Texture",leftPoint:[.0848615513093498,2.481772324899016,.1],type:"Wall",parentId:"mcxY5unDv2pKvQAJXd1qqG",foundationId:"mcxY5unDv2pKvQAJXd1qqG",lz:1.75,locked:!1,leftJoints:["81FqBBm7B8Cgn7RbBDkgTc"],rightJoints:["wPbsRDuG2myaDXtTkpKWyU"],relativeAngle:3.1415926535897922,cx:-.16513844869065064,leftRoofHeight:1.75,normal:[0,0,1],ly:.1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],cx:-.4151384486906503,foundationId:"mcxY5unDv2pKvQAJXd1qqG",selected:!1,id:"wPbsRDuG2myaDXtTkpKWyU",leftRoofHeight:1.75,textureType:"No Wall Texture",color:"#ffffff",rotation:[0,0,-.7853981633974483],normal:[0,0,1],rightJoints:["jPQHNjKitSZdUXrDLCKowL"],cz:0,locked:!1,type:"Wall",ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",cy:-.7682276751009843,rightRoofHeight:1.75,lz:1.75,leftJoints:["3DG2FvhMwMqXmaiYMPxgiv"],lx:6.5,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:4.71238898038469,rightPoint:[-.41513844869064975,-4.018227675100984,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{type:"Wall",color:"#ffffff",rightRoofHeight:1.75,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:.08486155130935003,cz:0,leftJoints:["jPQHNjKitSZdUXrDLCKowL"],rightJoints:["3DG2FvhMwMqXmaiYMPxgiv"],ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,lz:1.75,id:"81FqBBm7B8Cgn7RbBDkgTc",cy:-.7682276751009878,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:1.5707963267948966,rotation:[0,0,-.7853981633974483],selected:!1,textureType:"No Wall Texture",locked:!1,rightPoint:[.0848615513093498,2.481772324899016,.1],normal:[0,0,1],lx:6.500000000000005,leftPoint:[.08486155130935003,-4.0182276751009915,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{roofStructure:"Default",textureType:"No Roof Texture",lz:0,cz:0,rotation:[0,0,-.7853981633974483],foundationId:"mcxY5unDv2pKvQAJXd1qqG",type:"Roof",color:"#ffffff",wallsId:["81FqBBm7B8Cgn7RbBDkgTc"],lx:0,cx:0,leftRidgeLength:3.2500000000000027,rightRidgeLength:-3.1500000000000026,id:"7DEvyGzFf8SCPa5eeKTryQ",cy:0,parentId:"mcxY5unDv2pKvQAJXd1qqG",normal:[0,0,1],roofType:"Hip",thickness:.05,locked:!1,selected:!1,ly:0,rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cx:-2.820889718788509,lx:17.522626722458362,solarAbsorberPipe:{},cy:3.1943110177197918,cz:.05,id:"mcxY5unDv2pKvQAJXd1qqG",lz:.1,normal:[0,0,1],solarPowerTower:{},selected:!1,solarUpdraftTower:{},type:"Foundation",locked:!1,color:"#009ce0",rotation:[0,0,-.7853981633974483],ly:16.217549949540043,parentId:"Ground",textureType:"No Foundation Texture",enableGroupMaster:!0},{rotation:[0,0,0],leftJoints:["4jxSnG9vT4aBdW8AckRKYU"],windows:[],type:"Wall",lx:12.5,cx:-3.4999999999999987,showLabel:!1,rightRoofHeight:1.6,normal:[0,0,1],textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",ly:.3,cy:-.25,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",selected:!1,leftPoint:[-3.4999999999999973,6,0],relativeAngle:4.71238898038469,lineColor:"black",locked:!1,rightJoints:["dDiLTvTPyJXZvEWaFVYpwD"],lz:1.6,lineWidth:.2,leftRoofHeight:1.6,id:"fx2d8KZ2FbN5HXDjmbeNTq",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",rightPoint:[-3.5,-6.5,0],cz:0,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",locked:!1,cy:-.25000000000000044,rightPoint:[2.9999999999999982,5.999999999999999,0],selected:!1,rightRoofHeight:1.6,rightJoints:["4jxSnG9vT4aBdW8AckRKYU"],leftRoofHeight:1.6,showLabel:!1,ly:.3,windows:[],parentId:"sfVVGvWfY1uFZBwuAeqDnU",rotation:[0,0,0],cz:0,textureType:"No Wall Texture",leftJoints:["dDiLTvTPyJXZvEWaFVYpwD"],leftPoint:[3,-6.5,0],lx:12.5,lineWidth:.2,lz:1.6,normal:[0,0,1],relativeAngle:1.5707963267948966,cx:2.999999999999999,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",lineColor:"black",id:"kgt2xgas1aqzzJdjuE2oTU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",selected:!1,leftRoofHeight:1.6,lz:1.6,cx:-.25,id:"dDiLTvTPyJXZvEWaFVYpwD",leftJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],cy:-6.5,relativeAngle:0,cz:0,locked:!1,centerRoofHeight:[0,1.6],lx:6.5,type:"Wall",showLabel:!1,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",ly:.3,windows:[],rightPoint:[3,-6.5,0],lineWidth:.2,leftPoint:[-3.5,-6.5,0],rightRoofHeight:1.6,rightJoints:["kgt2xgas1aqzzJdjuE2oTU"],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{leftJoints:["kgt2xgas1aqzzJdjuE2oTU"],windows:[],ly:.3,locked:!1,centerRoofHeight:[0,1.6],cy:5.999999999999998,rightPoint:[-3.4999999999999973,5.999999999999998,0],showLabel:!1,parentId:"sfVVGvWfY1uFZBwuAeqDnU",textureType:"No Wall Texture",rightJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",id:"4jxSnG9vT4aBdW8AckRKYU",lz:1.6,leftRoofHeight:1.6,rightRoofHeight:1.6,lineWidth:.2,rotation:[0,0,0],roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",lx:6.499999999999996,leftPoint:[2.9999999999999982,5.999999999999999,0],relativeAngle:3.141592653589793,selected:!1,cz:0,cx:-.24999999999999956,normal:[0,0,1],lineColor:"black",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{showLabel:!1,wallsId:["fx2d8KZ2FbN5HXDjmbeNTq"],roofStructure:"Default",locked:!1,ly:0,normal:[0,0,1],color:"#ffffff",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",ridgeLeftPoint:[0,1],cz:0,lineWidth:.2,rotation:[0,0,0],parentId:"sfVVGvWfY1uFZBwuAeqDnU",roofType:"Gable",ridgeRightPoint:[0,1],cx:0,type:"Roof",cy:0,lineColor:"black",lx:0,id:"uRtLCjK4u6T6gpiAxaqJ4Y",thickness:.4,selected:!1,lz:0,textureType:"No Roof Texture",rise:0,sideColor:"#ffffff",ceiling:!1},{type:"Human",name:"Jeff",cx:-6.502161132128585,cy:-.11016766385402654,cz:.75,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"nxpfXTi8karHMZTuUfg7ua",id:"uohRAyGkaEQKAWQ4nxXd7n",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:-1.5500000000000027,cy:5.125000000000001,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"jrdvuWjMZPwKCrsCkYbs2x",locked:!1},{type:"Cuboid",cx:-1.5499999999999994,cy:-.12500200000011227,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"nxpfXTi8karHMZTuUfg7ua",selected:!1,locked:!1},{type:"Foundation",cx:-6.683083197474398,cy:-67.2866913326566,cz:.15,lx:40,ly:40,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ihXBcGst6vfG6pMnKjKmcM",textureType:"Foundation Texture #7",locked:!1,enableGroupMaster:!0},{type:"Foundation",cx:13.760889379859025,cy:-67.2492084538547,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vgW1NebabuY1wd8pyCtxcL",locked:!1,textureType:"Foundation Texture #1",enableGroupMaster:!1},{type:"Foundation",cx:-27.220804284247304,cy:-67.2105953370125,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"erWKhrLkVgeBGrkYbzkvdA",selected:!1,locked:!1},{type:"Foundation",cx:-6.7329733624271535,cy:-46.77136586096416,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9pJgP99aRJ8Ucspa2Xmi3n",selected:!1,locked:!1},{type:"Foundation",cx:-6.740359075877207,cy:-87.76629626012827,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vKsvgYQL3ATsUMrkRxNVtG",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:.038403051629375184,cy:-10.6680905961247,cz:.49999999999999956,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"vgW1NebabuY1wd8pyCtxcL",id:"ca1o8dHiZMnRxbmGVa2QgH",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Judd",cx:12.353179322478177,cy:5.7758180762563,cz:.15,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"aUp3bFMPfhPR555kq4RxtS",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jess",cx:17.33662712955384,cy:1.475715952229109,cz:.1500000059604645,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"wtw985egzP7m3E2u8Hzcug",selected:!1,locked:!1,ly:.43},{type:"Human",name:"Jennifer",cx:18.10291752042776,cy:-1.7717803444007103,cz:.1500000059604645,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"7CidBs9j2hdjoie9s47tSo",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:16.915296607371396,cy:-5.742321393879223,cz:.15,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9QoGq38Qc3iCuT9ChxbAyR",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jamelia",cx:17.721133919154003,cy:-5.518875626742528,cz:.15,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"85muF4mPeUfkVQindFk2SC",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jade",cx:.6415363456979275,cy:7.410775156216488,cz:.1500000059604645,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"jBLqkfTJCSVqqR4CU7nfJ2",selected:!1,locked:!1,ly:.48},{type:"Flower",name:"Yellow Flower",cx:18.683881743553787,cy:18.33607154360658,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"eB4WthSRNZpHrasisKTtYg",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-18.795638463082337,cy:18.660989204818456,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"h3cqaVZXomQdjmyTbFaSE7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-16.292595004641754,cy:-18.43048092235047,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"hEqgADfaTf5Syacb7QRfe6",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:17.686932547560502,cy:-18.72635054653726,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"dViWZq883MztDQDT9tgFHg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.340044767234033,cy:12.835308413075914,cz:.15,lx:6.929334761971469,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"rK9Z4WmcdLBPe5DdK1mo3L",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.20400735303405,cy:4.605044853977084,cz:.15,lx:6.415005134340998,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"ko7TU1v7o4aKNwN5wszk6E",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:16.744228490634097,cy:-4.496771610813894,cz:.1500000059604645,lx:5.516658633108942,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"1zDByoeV2v4opENdb8nE73",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.06796993883407,cy:-12.807744163620441,cz:.15,lx:3.7877637261892754,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5ynw27sYwALgCvbTKBPFuc",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.73185271365966,cy:9.091268351797737,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5xUkwUkEF3nM4dp1f8ZjGH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.82807405354676,cy:.4545102937342307,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9CUeHAtdXMGrojz43dddm7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.790525833741423,cy:-8.33811033147611,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9werjyfGxz2ZnUBAmZUSeP",selected:!1,locked:!1},{type:"Tree",name:"Linden",cx:-13.237896819150908,cy:7.786733045780586,cz:.15,lx:12.449941214324092,lz:9.058629663838381,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9HVmsEYn5NmhERnCHtLeTG",selected:!1,locked:!1},{type:"Human",name:"Jacob",cx:16.698553189544626,cy:-13.302196684361064,cz:.1500000059604645,lx:.8,ly:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"oVwVpc1MsHV8dEBsQ3Qes9",selected:!1},{type:"Human",name:"Jacqueline",cx:16.92629922811857,cy:-10.360458138569996,cz:.1500000059604645,lx:.43,ly:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"go7YPG6xiBGLHMPZz7e4qo",selected:!1},{type:"Flower",name:"Hibiscus",cx:-.09277991929455354,cy:.3164809017961403,cz:.15,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"975HgY9tQaZ5QeqbgzHx3y",selected:!1},{type:"Flower",name:"Hibiscus",cx:2.3987692101921008,cy:.2735471847110773,cz:.1500000059604645,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"edrMt5m6ycQCMvY4tyMhZK",selected:!1},{type:"Tree",name:"Fan Palm",cx:-16.84484975237295,cy:-12.927386696052167,cz:.15,lx:4.076837194726303,lz:6.270754609829865,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"pzKai5MWnLpM5xYggPryb1",selected:!1},{type:"Human",name:"Jaye",cx:-.11721899052498141,cy:8.102455442033538,cz:.1500000059604645,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"o65jp32RsZKq9pnvJ8qjFn",selected:!1,ly:.55},{type:"Foundation",cx:-6.355619144447829,cy:-57.87489141106073,cz:.05,lx:17.250094637989044,ly:17.442537041091708,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xjGay2mVopjsp4Ndv4B8Eh",enableGroupMaster:!0},{type:"Wall",cx:.15275097566949114,cy:7.153909729519647,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:3.141592653589793,leftPoint:[3.152750975669491,7.153909729519647,.1],rightPoint:[-2.847249024330509,7.153909729519647,.1],leftJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],rightJoints:["gQNkn8fsCop5ur3PiXUxVi"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"7T7V4fAArnXnf77GARr48T",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:4.003762708257019,leftPoint:[-2.847249024330509,7.153909729519647,.1],rightPoint:[-5.847249024330509,3.653909729519647,.1],leftJoints:["7T7V4fAArnXnf77GARr48T"],rightJoints:["j6xhxcV6gu7NJTE1m7PHjp"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"gQNkn8fsCop5ur3PiXUxVi",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:2.279422598922567,leftPoint:[6.152750975669491,3.653909729519647,.1],rightPoint:[3.152750975669491,7.153909729519647,.1],leftJoints:["xwZdPNzp8AKwovnxoLD3nU"],rightJoints:["7T7V4fAArnXnf77GARr48T"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"hqsA2Cy29sRNBoj4v9Cr5r",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.847249024330509,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:4.712388980384691,leftPoint:[-5.847249024330512,3.653909729519647,.1],rightPoint:[-5.847249024330509,-1.346090270480353,.1],leftJoints:["gQNkn8fsCop5ur3PiXUxVi"],rightJoints:["5HfZoyda9UcsGyCP24zQ6f"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"j6xhxcV6gu7NJTE1m7PHjp",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:5.42101525251236,leftPoint:[-5.847249024330509,-1.346090270480353,.1],rightPoint:[-2.847249024330509,-4.846090270480353,.1],leftJoints:["j6xhxcV6gu7NJTE1m7PHjp"],rightJoints:["mDLvATpuRq21i8iZBYi4ta"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"5HfZoyda9UcsGyCP24zQ6f",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.15275097566949114,cy:-4.846090270480353,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:0,leftPoint:[-2.847249024330509,-4.846090270480353,.1],rightPoint:[3.152750975669491,-4.846090270480353,.1],leftJoints:["5HfZoyda9UcsGyCP24zQ6f"],rightJoints:["23GGGVXLMLhDsJPuc4tWdJ"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"mDLvATpuRq21i8iZBYi4ta",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.152750975669491,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[6.152750975669491,-1.346090270480353,.1],rightPoint:[6.152750975669491,3.653909729519647,.1],leftJoints:["23GGGVXLMLhDsJPuc4tWdJ"],rightJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"xwZdPNzp8AKwovnxoLD3nU",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:.8621700546672264,leftPoint:[3.152750975669491,-4.846090270480353,.1],rightPoint:[6.152750975669491,-1.346090270480353,.1],leftJoints:["mDLvATpuRq21i8iZBYi4ta"],rightJoints:["xwZdPNzp8AKwovnxoLD3nU"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"23GGGVXLMLhDsJPuc4tWdJ",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:6.5,cz:0,lx:6,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8FDqLAdw457E2bhA9XTcY8"],rightJoints:["8RoWdxqFb6i5NdhSc28mnN"],leftPoint:[3,6.5],rightPoint:[-3,6.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"84MYXJ2PMaqXsehRJzjVQe",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["84MYXJ2PMaqXsehRJzjVQe"],rightJoints:["pk9TBhq9oWST9hGbLUebt3"],leftPoint:[-3,6.5],rightPoint:[-6,3],relativeAngle:4.003762708257019,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8RoWdxqFb6i5NdhSc28mnN",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vEPCFaMTtBZuQbmTYF61aY"],rightJoints:["84MYXJ2PMaqXsehRJzjVQe"],leftPoint:[6,3],rightPoint:[3,6.5],relativeAngle:2.279422598922567,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8FDqLAdw457E2bhA9XTcY8",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-6.000000000000002,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8RoWdxqFb6i5NdhSc28mnN"],rightJoints:["q546XZV5H6AGWKk4L5mFny"],leftPoint:[-6.0000000000000036,3],rightPoint:[-6,-2],relativeAngle:4.712388980384691,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pk9TBhq9oWST9hGbLUebt3",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["pk9TBhq9oWST9hGbLUebt3"],rightJoints:["5MSQKrS7n6GSqPGqdxq5Bj"],leftPoint:[-6,-2],rightPoint:[-3,-5.5],relativeAngle:5.42101525251236,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q546XZV5H6AGWKk4L5mFny",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["q546XZV5H6AGWKk4L5mFny"],rightJoints:[],leftPoint:[-3,-5.5,0],rightPoint:[-1,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5MSQKrS7n6GSqPGqdxq5Bj",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:6,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["hdi4QkYQSUhV3rb5bWoPyE"],rightJoints:["8FDqLAdw457E2bhA9XTcY8"],leftPoint:[6,-2],rightPoint:[6,3],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vEPCFaMTtBZuQbmTYF61aY",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vhyVh2ErPYrdrgRVofCLxz"],rightJoints:["vEPCFaMTtBZuQbmTYF61aY"],leftPoint:[3,-5.5],rightPoint:[6,-2],relativeAngle:.8621700546672264,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdi4QkYQSUhV3rb5bWoPyE",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-6.206616408300555,cy:-57.696705992331786,cz:.1,lx:17.55559658932802,ly:18.75035650013101,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"86ArGmhZe3wg69cHFHJhHy",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:[],rightJoints:["hdi4QkYQSUhV3rb5bWoPyE"],leftPoint:[1,-5.5,0],rightPoint:[3,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vhyVh2ErPYrdrgRVofCLxz",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:0,cy:3.398893115303052,cz:0,lx:3.320044158350688,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rar8H4qGrUVwxrAVMoviFk"],rightJoints:["oNJ9yc8yVRwjREwej61c5A"],leftPoint:[1.660022079175344,3.398893115303052,0],rightPoint:[-1.660022079175344,3.398893115303052,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rp3dXSxQpb7ynasZ6iB6eD",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.110255927874554,rightUnfilledHeight:4.110255927874554,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rp3dXSxQpb7ynasZ6iB6eD"],rightJoints:["qFqkwR72frMwniMPRhnRWu"],leftPoint:[-1.660022079175344,3.398893115303052,0],rightPoint:[-3.320044158350688,1.5687198993706395,0],relativeAngle:-2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oNJ9yc8yVRwjREwej61c5A",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.057580145705773,rightUnfilledHeight:4.057580145705773,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["8QpMcXYdcYd52x57cuvRwd"],rightJoints:["rp3dXSxQpb7ynasZ6iB6eD"],leftPoint:[3.320044158350688,1.5687198993706395,0],rightPoint:[1.660022079175344,3.398893115303052,0],relativeAngle:2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rar8H4qGrUVwxrAVMoviFk",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.100659354320178,rightUnfilledHeight:4.100659354320178,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3200441583506892,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["oNJ9yc8yVRwjREwej61c5A"],rightJoints:["kihCtvbfxzgerRhgdX2mXc"],leftPoint:[-3.32004415835069,1.5687198993706395,0],rightPoint:[-3.320044158350688,-1.045813266247093,0],relativeAngle:-1.5707963267948957,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFqkwR72frMwniMPRhnRWu",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.079570215122429,rightUnfilledHeight:4.079570215122429,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["qFqkwR72frMwniMPRhnRWu"],rightJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],leftPoint:[-3.320044158350688,-1.045813266247093,0],rightPoint:[-1.660022079175344,-2.8759864821795054,0],relativeAngle:-.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kihCtvbfxzgerRhgdX2mXc",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.134242304497143,rightUnfilledHeight:4.134242304497143,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.320044158350688,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["nFBw1TRtTNF6p1WGqWPgfw"],rightJoints:["rar8H4qGrUVwxrAVMoviFk"],leftPoint:[3.320044158350688,-1.045813266247093,0],rightPoint:[3.320044158350688,1.5687198993706395,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8QpMcXYdcYd52x57cuvRwd",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.039195103204583,rightUnfilledHeight:4.039195103204583,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],rightJoints:["8QpMcXYdcYd52x57cuvRwd"],leftPoint:[1.660022079175344,-2.8759864821795054,0],rightPoint:[3.320044158350688,-1.045813266247093,0],relativeAngle:.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nFBw1TRtTNF6p1WGqWPgfw",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.108930812815814,rightUnfilledHeight:4.108930812815814,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:-6.1615980987141725,cy:-56.93879552861954,cz:.05,lx:9.714225983793291,ly:9.80468578734971,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n5CRoXkagMPz1MK5uJrLb5",selected:!1},{type:"Wall",cx:0,cy:-2.8759864821795054,cz:0,lx:3.320044158350688,ly:.1,lz:6,fill:"Partial",relativeAngle:0,leftPoint:[-1.660022079175344,-2.8759864821795054,0],rightPoint:[1.660022079175344,-2.8759864821795054,0],leftJoints:["kihCtvbfxzgerRhgdX2mXc"],rightJoints:["nFBw1TRtTNF6p1WGqWPgfw"],textureType:"No Wall Texture",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:.5,studWidth:.1,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jVTcP5pBaEuvpEqr3A1SVZ",structureSpacing:1,structureWidth:.1,structureColor:"white",roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.015344082405362,rightUnfilledHeight:4.015344082405362,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.5743098600216179,thickness:.1,roofType:"Pyramid",roofStructure:"Default",wallsId:["qFqkwR72frMwniMPRhnRWu","kihCtvbfxzgerRhgdX2mXc","jVTcP5pBaEuvpEqr3A1SVZ","nFBw1TRtTNF6p1WGqWPgfw","8QpMcXYdcYd52x57cuvRwd","rar8H4qGrUVwxrAVMoviFk","rp3dXSxQpb7ynasZ6iB6eD","oNJ9yc8yVRwjREwej61c5A"],textureType:"Roof Texture Default",color:"#666666",sideColor:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"smwrqG518CZJrsaW49WWUA",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"8QpMcXYdcYd52x57cuvRwd",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dYYTafeaVyrPGiHr9hT4x7"},{type:"Window",cx:-6739866298094781e-31,cy:.3,cz:.34999999999999987,lx:.809430915963378,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rar8H4qGrUVwxrAVMoviFk",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jZbi6wpUUPGF7S266xXdZb"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rp3dXSxQpb7ynasZ6iB6eD",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dAbndkGsGZCPSQ6cfeGiaG"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"nFBw1TRtTNF6p1WGqWPgfw",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"kSuLif4Wir4urUXskyaV4U"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"jVTcP5pBaEuvpEqr3A1SVZ",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"uzbQK6qBJiZchj62eoVcS2"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"kihCtvbfxzgerRhgdX2mXc",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"qdqEUWrM4pFbL4aKbpxg5S"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"qFqkwR72frMwniMPRhnRWu",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"387ytv7CWaVRo77xEcJ6ve"},{type:"Window",cx:-5841217458348811e-31,cy:.3,cz:.34999999999999987,lx:.8094309159633776,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"oNJ9yc8yVRwjREwej61c5A",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"5pj2DDSnCjnbjFqVV7kdtA"},{type:"Human",name:"Jane",cx:3.736227180070431,cy:-.07270961061114178,cz:.1500000059604645,lx:.4,ly:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"mXtLTeWPeXbh8ZPv5wFnjK",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["mDLvATpuRq21i8iZBYi4ta"],ridgeWidth:2.994634976387277,textureType:"Roof Texture Default",color:"#666666",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"11NehXdVvEJW3XyYbWtXPQ",ceiling:!1}],I9n={weatherPanelX:0,cameraZoom:11.974738784767576,showInstructionPanel:!1,orthographic:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},cameraPosition:[2.0567122000034246,-82.20963270587687,2.469053520866666],showYearlyHeliostatYieldPanel:!1,mapTilt:0,groundPanelY:0,heliodonPanelX:0,showMapPanel:!1,heliodonPanelY:0,showElevationAngle:!0,solarRadiationHeatMapReflectionOnly:!1,groundImage:!1,mapWeatherStations:!1,showDailyParabolicTroughYieldPanel:!1,evolutionPanelRect:{x:0,y:0,width:640,height:400},theme:"Default",dailyPvYieldPanelRect:{height:400,x:0,width:600,y:0},dailyHeliostatYieldPanelRect:{height:400,width:600,y:0,x:0},showDailyLightSensorPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},groundColor:"#0062b1",showGroundPanel:!1,weatherPanelY:0,yearlyLightSensorPanelX:0,showDiurnalTemperaturePanel:!1,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelY:0,yearlyLightSensorPanelRect:{y:0,x:0,height:500,width:600},showDailyParabolicDishYieldPanel:!1,showDailyHeliostatYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,autoRotate:!1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},dailyPvYieldPanelY:1,yearlyPvYieldPanelRect:{height:400,y:0,width:600,x:0},mapPanelX:0,yearlyLightSensorPanelShowClearness:!1,dailyLightSensorPanelX:-1277,stickyNotePanelX:5,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,height:400,x:0},visibilityResultsPanelRect:{width:600,y:0,x:0,height:470},mapType:"hybrid",yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},showSolarPanelVisibilityResultsPanel:!1,showEvolutionPanel:!1,showDesignInfoPanel:!1,showAzimuthAngle:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:4,showSunAngles:!1,stickyNotePanelY:2,dailyLightSensorPanelRect:{width:600,y:0,x:0,height:360},showSiteInfoPanel:!0,mapZoom:17,shadowEnabled:!0,showStickyNotePanel:!1,showYearlyFresnelReflectorYieldPanel:!1,cameraPosition2D:[35.60900958192718,-37.58389220703244,150],yearlyParabolicDishYieldPanelRect:{width:600,x:0,height:400,y:0},showHeliodonPanel:!1,showDailyPvYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showZenithAngle:!0,panCenter:[0,0,0],showYearlyParabolicTroughYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,dailyLightSensorPanelY:525,axes:!1,dailyUpdraftTowerYieldPanelRect:{height:550,x:0,width:640,y:0},enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{x:0,y:0,height:400,width:600},showSolarRadiationHeatmap:!1,stickyNotePanelRect:{height:300,x:0,y:0,width:400},heliodon:!1,weatherPanelRect:{height:500,width:500,x:0,y:0},showWeatherPanel:!1,diurnalTemperaturePanelRect:{height:400,y:0,width:600,x:0},showEconomicsPanel:!1,mapPanelY:0,panCenter2D:[35.60900958192718,-37.5837422003028,-44548927895332545e-21],groundPanelX:0,showYearlyParabolicDishYieldPanel:!1,waterSurface:!0},z9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},D9n=1,E9n={tiltAngle:0,poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,orientation:"Landscape",poleSpacing:3},k9n={rowAxis:"Zonal",minimumRowsPerRack:1,maximumInterRowSpacing:10,orientation:"Landscape",pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,maximumRowsPerRack:6,poleSpacing:5,poleHeight:1},F9n={particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,vmax:.01,socialCoefficient:.1,cognitiveCoefficient:.1,objectiveFunctionType:1,localSearchRadius:.1,swarmSize:20,maximumSteps:5,problem:"Solar Panel Tilt Angle",inertia:.8},geneticAlgorithmParams:{convergenceThreshold:.01,localSearchRadius:.1,mutationRate:.1,populationSize:20,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionRate:.5,crossoverRate:.5,objectiveFunctionType:1,selectionMethod:1,maximumGenerations:5}},L9n={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},W9n=[],N9n={docid:b9n,time:S9n,timestamp:T9n,userid:P9n,owner:C9n,email:R9n,world:H9n,elements:M9n,view:I9n,graphState:z9n,evolutionMethod:D9n,solarPanelArrayLayoutParams:E9n,solarPanelArrayLayoutConstraints:k9n,evolutionaryAlgorithmState:F9n,economicsParams:L9n,notes:W9n},U9n="aAQ9PBNcxmy54LzwEjDjx6",B9n="02/04/2023 01:07 pm",j9n=1675534023944,Y9n="QWecNcxhyvP6j6sBN11hBsfZDau1",O9n=null,_9n=null,V9n={latitude:29.97967840899827,solarRadiationHeatmapGridCellSize:2,pvGridCellSize:.5,timesPerHour:1,longitude:31.1328118254,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Unnamed Road, Nazlet El-Semman, Al Haram, Giza Governorate 3512201, Egypt",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!1,noAnimationForHeatmapSimulation:!1},G9n=[{cy:1.8727761492415205,normal:[0,0,1],lz:.1,ly:33.71645112830097,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:3.8026045865356792,cz:.05,rotation:[0,0,0],lx:37.627215506503944,selected:!1,parentId:"Ground",color:"#939e68"},{type:"Human",name:"Jack",cx:-20.29704864931282,cy:2.5303584520169977,cz:17763568394002505e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Wall",cx:0,cy:16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:3.141592653589793,leftPoint:[18.18648749481024,16.296284712012135,0],rightPoint:[-18.18648749481024,16.296284712012135,0],leftJoints:["x8opa4joDX2ozyr1wxLBFd"],rightJoints:["cbbyeikFQdrAHuD95BDSGz"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nTB9SvRUJL9zbmnaWUjcpm",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-18.18648749481024,cy:-17763568394002505e-31,cz:0,lx:32.59256942402426,ly:.3,lz:.1,relativeAngle:-1.5707963267948966,leftPoint:[-18.18648749481024,16.29628471201213,0],rightPoint:[-18.18648749481024,-16.296284712012135,0],leftJoints:["nTB9SvRUJL9zbmnaWUjcpm"],rightJoints:["h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cbbyeikFQdrAHuD95BDSGz",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:18.18648749481024,cy:0,cz:0,lx:32.59256942402427,ly:.3,lz:.1,relativeAngle:1.5707963267948966,leftPoint:[18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,16.296284712012135,0],leftJoints:["h8nRc5JnZSmPUtQYLCpzpo"],rightJoints:["nTB9SvRUJL9zbmnaWUjcpm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x8opa4joDX2ozyr1wxLBFd",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:0,leftPoint:[-18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,-16.296284712012135,0],leftJoints:["cbbyeikFQdrAHuD95BDSGz"],rightJoints:["x8opa4joDX2ozyr1wxLBFd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h8nRc5JnZSmPUtQYLCpzpo",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["x8opa4joDX2ozyr1wxLBFd","nTB9SvRUJL9zbmnaWUjcpm","cbbyeikFQdrAHuD95BDSGz","h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Roof Texture",color:"#f1bd5f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k5DPAgfcA7iEV8uJMULHoF",sideColor:"#f1bd5f",rise:23.904675932583867,ceiling:!1},{type:"Wall",cx:0,cy:20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["7WsdqvYxWkA27jvXNo2Mm1"],rightJoints:["tZM6D9KrMoJw5byU4Mef1i"],leftPoint:[18.655460672061775,20.99732159077814,0],rightPoint:[-18.655460672061775,20.99732159077814,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"kfxJiyZVakywzVGMDtjswR",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:-18.655460672061775,cy:-17763568394002505e-31,cz:0,lx:41.99464318155627,ly:.3,lz:.22250033892788987,leftJoints:["kfxJiyZVakywzVGMDtjswR"],rightJoints:["vf6wgmEsbmPCE8KcphJGqP"],leftPoint:[-18.655460672061775,20.997321590778135,0],rightPoint:[-18.655460672061775,-20.99732159077814,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"tZM6D9KrMoJw5byU4Mef1i",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:18.655460672061775,cy:0,cz:0,lx:41.99464318155628,ly:.3,lz:.22250033892788987,leftJoints:["vf6wgmEsbmPCE8KcphJGqP"],rightJoints:["kfxJiyZVakywzVGMDtjswR"],leftPoint:[18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,20.99732159077814,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"7WsdqvYxWkA27jvXNo2Mm1",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:0,cy:-20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["tZM6D9KrMoJw5byU4Mef1i"],rightJoints:["7WsdqvYxWkA27jvXNo2Mm1"],leftPoint:[-18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,-20.99732159077814,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"vf6wgmEsbmPCE8KcphJGqP",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{id:"vsaCHfjwMoXqY3LhUh3AYn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["7WsdqvYxWkA27jvXNo2Mm1","kfxJiyZVakywzVGMDtjswR","tZM6D9KrMoJw5byU4Mef1i","vf6wgmEsbmPCE8KcphJGqP"],selected:!1,sideColor:"#f1bd5f",rise:26.582665517432964,ceiling:!1},{type:"Foundation",cx:12.856852941052583,cy:43.808036262261155,cz:.05,lx:38.5975048387485,ly:43.44273432574787,lz:.22250033892788987,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7wPQXpdL4AkSgqr5d4ivTf",selected:!1},{type:"Wall",cx:0,cy:10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["c1ip4EoLV1xG5UrcQjKJFf"],rightJoints:["aXfuVy74x5TuX5PAxrYsmb"],leftPoint:[12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,10.377063829820637,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"6n1nr1JX4st4jvQ9gUV4ia",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["6n1nr1JX4st4jvQ9gUV4ia"],rightJoints:["mU8UDvpwYrQexfz1wzirNx"],leftPoint:[-12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,-10.377063829820637,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"aXfuVy74x5TuX5PAxrYsmb",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["mU8UDvpwYrQexfz1wzirNx"],rightJoints:["6n1nr1JX4st4jvQ9gUV4ia"],leftPoint:[12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,10.377063829820637,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"c1ip4EoLV1xG5UrcQjKJFf",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["aXfuVy74x5TuX5PAxrYsmb"],rightJoints:["c1ip4EoLV1xG5UrcQjKJFf"],leftPoint:[-12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,-10.377063829820637,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"mU8UDvpwYrQexfz1wzirNx",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{id:"6Z9o7PiPN8Lg87aGjnheF2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["c1ip4EoLV1xG5UrcQjKJFf","6n1nr1JX4st4jvQ9gUV4ia","aXfuVy74x5TuX5PAxrYsmb","mU8UDvpwYrQexfz1wzirNx"],selected:!1,sideColor:"#f1bd5f",rise:16.854120951667817,ceiling:!1},{type:"Foundation",cx:45.25308331556635,cy:20.416929673194815,cz:.05,lx:25.23498267381729,ly:21.469787234111664,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vEZNUjoALqFNdeECwYexcJ",selected:!1},{type:"Human",name:"Jaah",cx:39.44168754364077,cy:-40.717132307246644,cz:0,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mXBNsLzvysAACaXT4Ret47",selected:!1,ly:.74},{type:"Tree",name:"Coconut",cx:42.806669480662926,cy:-43.46857047024383,cz:0,lx:7.465549642203886,lz:12.033907674351804,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nN965AFg3yMtHobvcGg5R7",selected:!1},{type:"Tree",name:"Coconut",cx:41.00137659683238,cy:-40.141651116333534,cz:0,lx:5.412336834290683,lz:8.971899696117683,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2anvXQ4u2H4Gmk1Wk9rdgM",selected:!1},{type:"Tree",name:"Coconut",cx:45.13152925903263,cy:-41.184279758308485,cz:0,lx:4.120170321128103,lz:6.431070332387913,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kUerK8k3CG9QPyDqpE1w3s",selected:!1},{type:"Tree",name:"Coconut",cx:42.724610065173344,cy:-37.37569784643946,cz:-8881784197001252e-31,lx:5.285861196217217,lz:7.810076760608297,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"6e2aW2xXuEPds7gKc1zyEZ",selected:!1},{type:"Human",name:"Jiya",cx:38.48713465659762,cy:-41.18611455055127,cz:0,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"waRJTQwVoTc2m73FTmZtku",selected:!1,ly:.6}],X9n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Dune",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#fcde9d",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[29.718967845382636,-60.9210785032056,6.195253307893477],panCenter:[20.220405140712533,12.500928314079184,6.195253307893477],orthographic:!1,enableRotate:!0,cameraZoom:13.966745921875,showInstructionPanel:!0,cameraPosition2D:[2.7117906831589016,-.17118900317690566,150],panCenter2D:[2.7117906831589016,-.17103899651007715,5772019952800763e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1},J9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},K9n=1,q9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Q9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Z9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},e3n=[],t3n={docid:U9n,time:B9n,timestamp:j9n,userid:Y9n,owner:O9n,email:_9n,world:V9n,elements:G9n,view:X9n,graphState:J9n,evolutionMethod:K9n,solarPanelArrayLayoutParams:q9n,solarPanelArrayLayoutConstraints:$9n,evolutionaryAlgorithmState:Q9n,economicsParams:Z9n,notes:e3n},n3n="cTcUvKrDVjKVCsa7Bc6eWP",o3n="07/11/2023 11:15 am",i3n=1689088517320,r3n="QWecNcxhyvP6j6sBN11hBsfZDau1",a3n=null,l3n=null,s3n={date:"5/1/2022, 11:00:00 AM",timesPerHour:1,noAnimationForHeatmapSimulation:!1,cameraZoom:35.16173831821251,latitude:20.6834718,address:"Chícharo 1, Agua Clara, 20263 Aguascalientes, Ags, Mexico",orthographic:!1,pvGridCellSize:.5,noAnimationForSolarPanelSimulation:!1,solarRadiationHeatmapGridCellSize:2,name:"default",longitude:-88.56849969999999,countryCode:"MX",ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]}},c3n=[{normal:[0,0,1],color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,lz:.1,parentId:"Ground",cx:-27.085409900327864,cy:-75.75391737780706,cz:.05,id:"of4fAMi2p9MKmo6JDUYnfX",locked:!1,selected:!1},{normal:[0,0,1],enableGroupMaster:!0,color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Cuboid",lx:56,ly:56,lz:3,parentId:"Ground",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-18.375019902136223,cy:-56.51798491947705,cz:1.5,id:"wiH8vD751NzePoNE489Zmz",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:50.63868728162561,ly:51,lz:3,parentId:"wiH8vD751NzePoNE489Zmz",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.08666355805458079,cy:.07433002082287654,cz:1.5,id:"vEE1TP3rTAVaRcwDoKZkXG",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:46,ly:46,parentId:"vEE1TP3rTAVaRcwDoKZkXG",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.07205603943225766,cy:-.3609974280100564,cz:1.5,id:"64zAV4AXgf3acGYiGgbHtk",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:41,ly:41,parentId:"64zAV4AXgf3acGYiGgbHtk",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.2179635556946673,cy:-.2714914561985524,cz:1.5,id:"6tvwCY3BfS5DKToaqrjH6b",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:36,ly:36,lz:3,parentId:"6tvwCY3BfS5DKToaqrjH6b",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.20649365162019312,cy:-.07640192198699511,cz:1.5,id:"w5DovAeNvLxdFUsA55MTUK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:31,ly:31,lz:3,parentId:"w5DovAeNvLxdFUsA55MTUK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.21796368761107066,cy:.27148491092499955,cz:1.5,id:"xkbrwv3RHrtDWs4fwBjHcK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:26,ly:26,lz:3,parentId:"xkbrwv3RHrtDWs4fwBjHcK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:12533374448675178e-22,cy:-2726892110443256e-21,cz:1.5,id:"pbMzPvQHYgJQunHq51J49Z",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:21,ly:21,lz:3,parentId:"pbMzPvQHYgJQunHq51J49Z",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.07647088824865858,cy:-.20646417621273133,cz:1.5,id:"mnvyeK5fN3hX9sLjvEKUuf",locked:!1,selected:!1,stackable:!0},{color:"white",rightJoints:["snp41n8epU65cJmpWYe2JY"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["7HaAi9SXBNPgTWdiQyjMiG"],lx:20.02647993516194,type:"Wall",ly:.3,showLabel:!1,lineWidth:.2,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"25Fv92JqG6V9Az4Vdn87cm",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["25Fv92JqG6V9Az4Vdn87cm"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["nyGwFjAxRx8nejSDNHRuJf"],type:"Wall",lx:6.747607724168489,ly:.3,lineWidth:.2,showLabel:!1,lz:24.07205708567741,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"7HaAi9SXBNPgTWdiQyjMiG",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263398,cy:9.715917584374791,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["7HaAi9SXBNPgTWdiQyjMiG"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["snp41n8epU65cJmpWYe2JY"],lx:20.026479935161944,type:"Wall",ly:.3,lz:.1,showLabel:!1,lineWidth:.2,centerRoofHeight:[.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"nyGwFjAxRx8nejSDNHRuJf",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:3.2871994763724164,cy:-.2844195419063196,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["nyGwFjAxRx8nejSDNHRuJf"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["25Fv92JqG6V9Az4Vdn87cm"],lx:6.747607724168491,type:"Wall",ly:.3,lineWidth:.2,lz:.1,showLabel:!1,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"snp41n8epU65cJmpWYe2JY",leftRoofHeight:.1,structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,lineWidth:.2,showLabel:!1,overhang:0,wallsId:["snp41n8epU65cJmpWYe2JY"],textureType:"No Roof Texture",id:"sGVLr2RiApAro2AZTF4Soq",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:0,cy:0,cz:0,rise:0},{color:"white",rightJoints:["p76sjxtkpQv2qS73PYE2kL"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["6JMAttAcVe64vobp1GLMxZ"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"wqgKTMGphRnmbTc7egg7A4",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-3.4603589017376857,cy:-.3102252245060395,leftPoint:[-3.4603589017376843,9.703014743074931,0],wallStructure:"Default",cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["wqgKTMGphRnmbTc7egg7A4"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["1bHrmE4SnxxPJS3An7ttHy"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"6JMAttAcVe64vobp1GLMxZ",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["6JMAttAcVe64vobp1GLMxZ"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["p76sjxtkpQv2qS73PYE2kL"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:.1,id:"1bHrmE4SnxxPJS3An7ttHy",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:3.2871994763724164,cy:-.2844195419063196,leftPoint:[3.2871994763724164,-10.297659509487291,0],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1bHrmE4SnxxPJS3An7ttHy"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["wqgKTMGphRnmbTc7egg7A4"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",id:"p76sjxtkpQv2qS73PYE2kL",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],type:"Roof",lx:0,ly:0,lz:0,wallsId:["p76sjxtkpQv2qS73PYE2kL"],overhang:0,textureType:"No Roof Texture",id:"okzyGygyV9CuUuCgZJHxtL",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],parentId:"6hcF56jh7q4LNRLycVpoD9",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-2.001622384412783],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-37.19656198570662,cy:-48.22218639532002,cz:.05,id:"6hcF56jh7q4LNRLycVpoD9",locked:!1,selected:!1},{color:"white",rightJoints:["6eET4gZfKAok8BawnfpVP5"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["4tcfgq35BNQEAuA7Q4gK2w"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"ewTz3qtVabc3vib1o37RWk",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,1.1399702691770102],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-3.4603589017376857,cy:-.3102252245060395,cz:0,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ewTz3qtVabc3vib1o37RWk"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"4tcfgq35BNQEAuA7Q4gK2w",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],cz:0,relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["4tcfgq35BNQEAuA7Q4gK2w"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["6eET4gZfKAok8BawnfpVP5"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"vvdQFgS7BMWgSzhZ3WPn3v",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["ewTz3qtVabc3vib1o37RWk"],lx:6.747607724168491,type:"Wall",ly:.3,lz:.1,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"6eET4gZfKAok8BawnfpVP5",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],wallStructure:"Default",cz:0,relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,overhang:0,wallsId:["6eET4gZfKAok8BawnfpVP5"],textureType:"No Roof Texture",id:"u4Mpv2GeNWKchY8947S8v4",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,1.1399702691770102],solarAbsorberPipe:{},type:"Foundation",solarUpdraftTower:{},lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-.019117338301022357,cy:-64.89645982858704,cz:.05,id:"8gpLzgkZ8nK4SDTRc45eLs",locked:!1,selected:!1},{color:"white",rightJoints:["2UujwtSnnVJqGDCJ3BBRm9"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["2owQUpRggJZAfJhkbdGdV7"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"1S8fhLLB2Yj68UzfGctHxC",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",cz:0,leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1S8fhLLB2Yj68UzfGctHxC"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["ie77KsfUeoYHMvNbdg5A7r"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2owQUpRggJZAfJhkbdGdV7",leftRoofHeight:24.07205708567741,locked:!1,structureWidth:.1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263398,cy:9.715917584374791,cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],wallStructure:"Default",relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["2owQUpRggJZAfJhkbdGdV7"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["2UujwtSnnVJqGDCJ3BBRm9"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",leftRoofHeight:.1,id:"ie77KsfUeoYHMvNbdg5A7r",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ie77KsfUeoYHMvNbdg5A7r"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["1S8fhLLB2Yj68UzfGctHxC"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2UujwtSnnVJqGDCJ3BBRm9",leftRoofHeight:.1,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],cz:0,wallStructure:"Default",relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,wallsId:["2UujwtSnnVJqGDCJ3BBRm9"],overhang:0,textureType:"No Roof Texture",id:"vaffHA2pvgk7DEwhzj6gNE",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},type:"Foundation",lx:7.036992589214696,solarUpdraftTower:{},ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-9.922732853325604,cy:-37.99179481559905,cz:.05,id:"hmZjWWeZz4S4GgQzaeEoDs",locked:!1,selected:!1},{color:"white",rightJoints:["w8ioBPnjpEK1kCVPvdyXSf"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["o5TUM6k7TUF5pcoV1nrf3P"],lx:15.990395824622178,type:"Wall",ly:.3,lz:30.5,centerRoofHeight:[-.5,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"9EahYNQZypYcfg5Yptfmkk",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[-8.119283016182168,-17.843264137803672,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-8.119283016182168,cy:-9.848066225492586,cz:0,leftPoint:[-8.119283016182163,-1.852868313181495,.1],wallStructure:"Default",relativeAngle:-1.570796326794897,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["9EahYNQZypYcfg5Yptfmkk"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["jbmSv4P2XCW2pGLUzPPdFg"],lx:15.828210447987294,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"o5TUM6k7TUF5pcoV1nrf3P",leftRoofHeight:30.5,structureWidth:.1,locked:!1,eavesLength:.2,selected:!1,rightPoint:[-8.119283016182163,-1.852868313181495,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.2051844979525692,cy:-1.8425658765917845,cz:0,leftPoint:[7.7089140202770245,-1.8322634400020812,.1],wallStructure:"Default",relativeAngle:-3.140290871618499,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["o5TUM6k7TUF5pcoV1nrf3P"],structureSpacing:2,structureColor:"white",rightRoofHeight:null,leftJoints:["w8ioBPnjpEK1kCVPvdyXSf"],type:"Wall",lx:15.99039582462218,ly:.3,lz:30.5,centerRoofHeight:[.4999999999999998,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"jbmSv4P2XCW2pGLUzPPdFg",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.7089140202770245,-1.8322634400020812,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:7.708914020277024,cy:-9.827461352313167,leftPoint:[7.708914020277023,-17.822659264624257,.1],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["jbmSv4P2XCW2pGLUzPPdFg"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["9EahYNQZypYcfg5Yptfmkk"],lx:15.828210447987301,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"w8ioBPnjpEK1kCVPvdyXSf",leftRoofHeight:30.5,locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.708914020277023,-17.822659264624257,.1],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.20518449795257118,cy:-17.83296170121396,leftPoint:[-8.119283016182168,-17.843264137803672,.1],cz:0,wallStructure:"Default",relativeAngle:.0013017819712943387,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,wallsId:["w8ioBPnjpEK1kCVPvdyXSf"],overhang:.2,textureType:"No Roof Texture",id:"fpyToZsG3vjeXnpTZcmiFA",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"tznSPCJVyf8hCJAPieocy5",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:16.502964739720774,ly:43.56257699656065,lz:.1,parentId:"Ground",cx:-22.491532647648288,cy:-65.93307419737648,cz:.05,id:"tznSPCJVyf8hCJAPieocy5",locked:!1,selected:!1},{color:"#73D8FF",lx:.1263566722575591,type:"Window",tint:"#73D8FF",ly:.3,lineWidth:.2,lz:.08196721311475416,windowType:"Default",showLabel:!1,mullionSpacing:2,archHeight:1,id:"gnr8cDLm7R39CGUTTPWRkH",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",lineColor:"black",parentId:"o5TUM6k7TUF5pcoV1nrf3P",mullionColor:"white",mullion:!0,frameWidth:.1,cx:9819886079874965e-32,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"kUvytSevD3UrWB3anozSfo",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"w8ioBPnjpEK1kCVPvdyXSf",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.031589168064389835,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",lz:.08196721311475416,windowType:"Default",mullionSpacing:2,archHeight:1,id:"865c35tP58MbX185GC2Zp7",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"9EahYNQZypYcfg5Yptfmkk",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.0006407972856078512,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"gyCeohTiRvRXSouuRxL1uy",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"jbmSv4P2XCW2pGLUzPPdFg",mullionColor:"white",mullion:!0,frameWidth:.1,cx:-.030627972135977996,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{normal:[0,1,0],rotation:[0,0,-2.001622384412783],lx:.494,type:"Human",ly:.494,lz:1.72,parentId:"6hcF56jh7q4LNRLycVpoD9",cx:.6155237368087336,cy:-13.667323728312198,cz:.05000000074505806,name:"Juro",id:"r66dpfqZ6etskNEDBj8h8E",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],lx:1.7,type:"Human",ly:1.7,lz:1.68,parentId:"Ground",cx:-48.35423161189035,cy:-82.28031356342372,cz:0,name:"Joan",id:"w1GaaLPU8uoPVtySP11CNB",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],type:"Human",lx:1.8,ly:1.8,lz:1.75,parentId:"Ground",cx:-48.773755635528666,cy:-86.19055704219848,cz:0,name:"Joel",id:"hqm4qYUeBiCnkFo8f8K4q3",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.42,ly:.42,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.8,cx:5.159796472851735,cy:-2.2075746120889566,cz:1.5,name:"Jack",id:"57uEnUU7dx25CfhheTRdsb",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.6,type:"Human",ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.88,cx:9.25006190829934,cy:6.451678309086552,cz:1.5,name:"Joseph",id:"7pCFcU7FA5XV2M6Yw2pNPJ",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.6,ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.65,cx:-.4372003189144742,cy:8.19573281933403,cz:1.5,name:"Jeff",id:"dJi9Dc4GEuLq5NjFPvHqU9",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.695,ly:.695,lz:1.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:-8.6401936835747,cy:.41444427778789716,cz:1.5,name:"Jena",id:"9EHiXxpVGajiXXrSM5hPga",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.43,type:"Human",ly:.43,lz:1.5,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:.007552993564822197,cy:-8.796578961750832,cz:1.5,name:"Jess",id:"7yXJFHLZH8aLmjnxsCJfei",locked:!1,selected:!1}],u3n=117,d3n={yearlyLightSensorPanelY:0,weatherPanelY:0,panCenter2D:[-29.13539419159263,-62.86427427096306,-621339264290157e-19],showWeatherPanel:!1,showYearlyPvYieldPanel:!1,showSiteInfoPanel:!0,weatherPanelX:0,dailyPvYieldPanelY:8,autoRotate:!1,heliodonPanelY:-33,showGroundPanel:!1,dailyPvYieldPanelRect:{width:600,x:0,y:0,height:400},orthographic:!1,heliodon:!1,groundImage:!1,mapTilt:0,showInstructionPanel:!0,groundPanelX:0,cameraPosition2D:[-29.13539419159263,-62.865274648456655,150],enableRotate:!0,cameraPosition:[13.301447909114042,-125.69517498333751,12.672024693594299],mapWeatherStations:!1,waterSurface:!1,mapZoom:17,heliodonPanelX:-1175,groundPanelY:0,shadowEnabled:!0,dailyPvYieldPanelX:-3,panCenter:[-18.660063442267198,-59.376354618489714,6.942819287427842],showMapPanel:!1,showDailyPvYieldPanel:!1,groundColor:"#68ccca",showHeliodonPanel:!1,yearlyPvYieldPanelY:16,mapType:"hybrid",yearlyPvYieldPanelX:-25,cameraZoom:5.839780486775448,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showPvDailyYieldPanel:!0,axes:!1,showDesignInfoPanel:!0,dailyLightSensorPanelX:-240,dailyLightSensorPanelY:232,theme:"Grassland",groundImageType:"hybrid"},f3n={yearlyHeliostatIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},h3n=1,p3n={poleSpacing:3,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,pvModelName:"CS6X-355P-FG",poleHeight:1,orientation:"Landscape",interRowSpacing:2},g3n={rowAxis:"Zonal",orientation:"Landscape",minimumInterRowSpacing:2,poleHeight:1,poleSpacing:5,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966},m3n={geneticAlgorithmParams:{populationSize:20,crossoverRate:.5,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,selectionRate:.5,objectiveFunctionType:1,maximumGenerations:5,convergenceThreshold:.01,mutationRate:.1,localSearchRadius:.1},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,convergenceThreshold:.01,swarmSize:20}},y3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},A3n="Tourist Attraction",w3n="The Architect",v3n="Mayan Pyramid",x3n="El templo de Kukulcán,1​ es un edificio prehispánico ubicado en la península de Yucatán, en el actual estado del mismo nombre.",b3n=null,S3n=[],T3n={docid:n3n,time:o3n,timestamp:i3n,userid:r3n,owner:a3n,email:l3n,world:s3n,elements:c3n,sceneRadius:u3n,view:d3n,graphState:f3n,evolutionMethod:h3n,solarPanelArrayLayoutParams:p3n,solarPanelArrayLayoutConstraints:g3n,evolutionaryAlgorithmState:m3n,economicsParams:y3n,modelType:A3n,modelAuthor:w3n,modelLabel:v3n,modelDescription:x3n,designProjectType:b3n,notes:S3n},P3n="h2AeuzPtvyccb7bEaZpofi",C3n="02/04/2023 01:10 pm",R3n=1675534213625,H3n="QWecNcxhyvP6j6sBN11hBsfZDau1",M3n=null,I3n=null,z3n={solarRadiationHeatmapGridCellSize:5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Isfahan Province, Esfahan, Enghelab Sq Chahar Bagh e Abbasi St، JMV8+QX8, Iran",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:32.64464465095667,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:51.66765981904907},D3n=[{type:"Foundation",cx:-24.087406912469724,cy:-.9943329859958538,cz:.3,lx:309.0660757142105,ly:148.37785658395512,lz:.6,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#4d4d4d",textureType:"Foundation Texture #5",locked:!0},{type:"Wall",cx:153.13833064830163,cy:4.807832977070984,cz:0,lx:15.894482628786152,ly:1,lz:4,relativeAngle:1.6141972072488455,leftPoint:[153.4831396456019,-3.131924655538281,.6],rightPoint:[152.79352165100136,12.747590609680257,.6],leftJoints:["fD1UBEgXL6iTqqgsj9fhry"],rightJoints:["f2zX88pBygszntq4fuFUT5"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-152.5559344954129,cy:3.9555923893088227,cz:0,lx:14.231488793574167,ly:1,lz:4,relativeAngle:4.801490183460943,leftPoint:[-153.1891172963546,11.043109434155966,.6],rightPoint:[-151.92275169447117,-3.13192465553829,.6],leftJoints:["f2zX88pBygszntq4fuFUT5"],rightJoints:["fD1UBEgXL6iTqqgsj9fhry"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kjpqeFXZhizkQQr5Hivm1x",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xihM6sKHtJ56MCcntR5Pn3",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aeHoYndySbPsgXVjUCfHsH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYyU8ieYT8rZoSrLt7N5sQ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5g3FeTPUp5Q7UE3xvhA98P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rHjZTUsU1eafkXFHxU1PLK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7kG8zf5fGdctVHWVtR3gZG",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pyxgv4MkDKunPXUdWXGkeK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dVAeQcMiSZmruJYZ1yoay8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2xN7obuKRCafLdBciyJcgU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hsVmzqgjRUqWu9pUUuohXS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"82FTBR7MFe9VjFyizNpuHe",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyR4AwdTWGGfWcPMw3q9yS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eUKQkGt2QkcKAQkFbyBd1z",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pXoTt6VKWQ38KsJoNipigS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"h5HEkcguEMJKHHE9CTcHyU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3N4zt2BmanxLWvDVeMWxws",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nU4dTNk98whZDM1D6iF1wH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wn6JZdPWKb4ULL75tPNQNf",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vvkCvyRoLDxmsRByGmpBzy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2VBpzGbfV2mQWBqheobZU8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6dAY6WFsTirRsXExVou2P4",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rhZQSKVeSziHJnsN1wJJXZ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iRL8ygheAyqnavA7YkPNUy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iDwqS1ACo3nwFTgu3ZUn9P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cW4eyEo2JKwejeyCd9U7qY",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Qe1yDDX9nFGs5zfDrsrCP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"miecWuKrFNJbG2jUsMkGdJ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1MQhMoVtyd649yMzeGnhiz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"m8pkHXYqCXHkqKvPBAZwqz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wNkx21Xrdez1MeTxYPd4yM",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oUMCjti1nCovRzd2744TQ9",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"txUufVQNmXshJWF6xqpWhP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-.19779782267661816,cy:11.895350021918105,cz:2.268765007024547,lx:305.9873863303283,ly:1,lz:4,leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],leftPoint:[152.79352165100153,12.747590609680286,.6],rightPoint:[-153.1891172963546,11.043109434155966,.6],relativeAngle:3.1471631119377927,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"f2zX88pBygszntq4fuFUT5",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"saRb1kM5vD2B9Hp74JLvqp",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2bWU8rtwvXjxo9aXzuerLB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYnezXtfnko5GcAor3MWu7",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tZNzJ3NpgTVHKjGhXk5ij",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qYBjBMG217J5xiN31k1FVh",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2ZPzdru18Dd9wbgc6tF8hm",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4QFUZqYWR8J1sv6MW3wHQR",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vxc3EcwAgcYTpUmxZr3Nzt",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oVh5ccuC7bRVGc8GT2nG1w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"syZxWKWMgKJbf9AQLw2DbK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kbpuGEAsfRXc3aBZ7yLy35",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qHCQ6aJqKx2bg8CTfP6ksL",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5yhhQGggQJLxrwyLMTZk76",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jbVZKYLq5UCNS54M7MLP7w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dMS3cANbFbUy72GtNg5nTX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dQ1L5CXyaRnqFdZmdJ23Mx",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJzaRsWSkzzXGUbxhM8Tkd",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9CdAzuCiQLeLt1Rpfn5FGg",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iw4U38q8hoNmj83CegVdj8",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1S3q9zUqhnXwjv568RB51K",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vF6KJJ1x1WYqaYRYVSjoYX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fT1RMXQH4BRBFk8RzzEyqB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uRmEZhdLDsYdKddFP5mnAZ",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdquxadFLYruszob71gLbV",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8n95WzWt7D23dwMcn7s35V",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oPjFrXfiZkaoXxsWWdGBLk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vFx9mhnTHbSWtMBawETWGK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"npXN3hv9x7TnSdu9mcCLRN",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5sdwP9myEG7quLwU7Xrz47",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSXDfhhT2GuCgaELbHNqdw",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rz4GUsef9nqJhXFRmdEzzD",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4bjaEWSRz3V8CCdF71xaCz",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hmfdn7ZwhGKfmSizXsFFVk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:.7801939755653722,cy:-3.1319246555382825,cz:2.268765007024547,lx:305.40589134007274,ly:1,lz:4,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-151.92275169447117,-3.131924655538283,.6],rightPoint:[153.4831396456019,-3.131924655538281,.6],relativeAngle:-26173711784754543e-33,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"fD1UBEgXL6iTqqgsj9fhry",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["f2zX88pBygszntq4fuFUT5","pV4i6Rv9Vpys7aXEi9nnh4","fD1UBEgXL6iTqqgsj9fhry","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"16a9tkDUC6i3u2A8viWNQi",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["9NUyotcWKkPg4jzRyBrCwn"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"oQZ4yGirBmQVFQ9YDrVVvp",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["9NUyotcWKkPg4jzRyBrCwn"],rightJoints:["2EQtF2szHM14rxHpJcmfUo"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"wUpyWMY54tun2oXCsJoZhL",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["oQZ4yGirBmQVFQ9YDrVVvp"],rightJoints:["wUpyWMY54tun2oXCsJoZhL"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"9NUyotcWKkPg4jzRyBrCwn",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["wUpyWMY54tun2oXCsJoZhL"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"2EQtF2szHM14rxHpJcmfUo",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"4UKGcXwxZXJkjRB5gCcWoM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["9NUyotcWKkPg4jzRyBrCwn","wUpyWMY54tun2oXCsJoZhL","2EQtF2szHM14rxHpJcmfUo","oQZ4yGirBmQVFQ9YDrVVvp"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-13.437660062457336,cy:-3.021202416355237,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dYN3JG9zLXMcmq6cqLG4jC",selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",id:"8c427syBcfkzhApjRu7KiG",locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jdaEWMvReo1Vung8tjzaSx",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3B48xu3sHcEjL7mhoaWwHU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5U7EeBcgVpiGapLTZWovwM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSiSuprvH81cqvi89vBqpb",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dchxG8ZAQ9uRfitqDkaXnL",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rd3v273iMAtFt31eXrFRnG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJWwv1LMiSQJXxdLNgDCWR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tEUzEwitdzqR62Z2hEX3qr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"794wiotJYK86u4ytktDe21",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5tf1cYsGZGuXZLvqtY3Wus",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6wFEvk3pLRAy6sCQxQ4sPQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vknekJf36fzszYh1h83wqd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x2iBhPct6yCXXun6vuDJJS",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rgbja9QpX2jJYhsCViY2yY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xyNKQPQWThs67xeiTbWtLY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gbTmncsXqQVmz8SeKbxv3d",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9PuDkFfgSLMfPq51XevFh7",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mJGKG5YpTDDj5mzeHuFzCm",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8z2YkWvq4poYzmwNCG45JY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"emAZ74KFMWSta8KaMduCkr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6Ds8xyAoQtsih1Pj2eDZwi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u45SNvprQYGANCPSwBGzLs",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"htZhURdHCCyJ33tqDmC1gT",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wZwEP2ER3Q9obYa3kXhZ7h",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5zNfcKQCEZvh8nJP9dr2G9",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pBLFgbZxEBNSEtSSjunwwQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qkAJcZyKCcJsGREUhkQ78i",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bY9FdJE4SUzDC35a2K1Tzi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"chLpcXJGwNdNfMozdu7hKg",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3v2BjJSxDF6WpC2DEP42PU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fqLN8nXoQdJLLJXy5Gwq4f",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"21VBTu8WAdnNwf3x8Zhsuu",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ioXeHrGyfepr3g94p8JLrw",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cy797bHB115wX1gZRH3swM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"avv4wEy6iPL1CGQoPdSWU5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJbmZ64QMaPM9EGMmB984H",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dWfjvmrxqx18k2RKjfdiie",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nefVVFfk24vVE2WLuZReQ4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qLr8HKMWcfRHcfPkHfGPHC",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oy13AUfgb8jcwnMbGNC7a4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4oRAMSYUJG1S9YeFQFNThR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0026100105407367564,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gSmzU3p7S4nLpThNjjLpNP",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.005872523716636283,cy:.1,cz:.215,lx:.004567518446267809,ly:1,lz:.41000000000000003,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jVtZiADJWYhT3XDB4vjJJ8",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6CmGH8a9xKQ4kNuHGUMAw4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.02528447711330811,cy:.1,cz:.205,lx:.005546272399057335,ly:1,lz:.39,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u38CDVSjPJwJgHnw2Y6FBF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.03327763439428638,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq3gcRfDVJqb7T6MyBKK2T",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dSNi5FN3jitEZpttkJCZah",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"skDmbyQ9ChWHwFXt4vbpdF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1TSBXLmviiwznmkhKxY4F2",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vYMMSTxDfPvirbGiiE2UJZ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rRLUQpqQSTeubCr79bjn8m",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gcKRcHdNpX9Vtmc6HncwGF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeGCBcEftrMH9jXAYtFrCa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ajECxgC3C6oXv4ciM75edJ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"g62oxEPuj3wd39vv4EYTgA",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4k8GPkrBb12613smqqyShp",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vBpUF9pHrUiuWZ5eVGTu5p",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hgdBdvabmf6Pd5AVy88Leh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mkgCAdDKF5LyXVZDpVipxK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"352sJZ7Jvw7FRWDNhR3m19",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hTHrpxyWuGhz1duVVa441z",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"icykR9dGdiRBF5wm2ixAXY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hHkoZq2YYvcBW78r5hZFt",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sezgWua2c8TT2rYs9Vc9P3",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wdyWjdXf8jBzBkXxJJiXk1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wxGSNmdFgrPkRZEQsr8fWa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kQNmZsKiKnFT7Utyn9jZgh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bANrbxGiy8tnQaAwz7Zyf4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uLfixFD9ZurMuJqq1YJ517",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6ZXh3jYZhqjps3nTnn4kmX",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tnSUYG5FnRK1A46sJBg1v",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r6eyDw9sk8QzcdPZ55YqR4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dcBrioFfV3SWYJEue4QEz5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFXxdtGrRR5HpmzE8PG7T1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"53ERZmvVXVHTHZKdd5jDMd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d4fFAm5371MeUPa3wg3bvM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6c7LVC3vg4uwfj3z9fdtvK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qUfYKqrHB4CrQ3N1sLtFtG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2m5mJjvys8EXj2Dtn5HR6L",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nTo2Ea7ixx2Bx6c49MgE5r",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["g3He9XTWe5maiTYrqciaG9"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"tTQGq2VqjKpQoZgpEaARbs",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["g3He9XTWe5maiTYrqciaG9"],rightJoints:["xdCET3deCXRuddujsYebQJ"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"a3Vx8CkX7Gvm3xygEW6suk",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["tTQGq2VqjKpQoZgpEaARbs"],rightJoints:["a3Vx8CkX7Gvm3xygEW6suk"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"g3He9XTWe5maiTYrqciaG9",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Window",cx:-.0016312565879556264,cy:.1,cz:-.25,lx:.9722289264215535,ly:1,lz:.4,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4TrowgoNHHNXYC8KtY1dtx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iof3BVn3KFMX9V6rxX61FU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeVswn1FhJvx1f2JWvuaZH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4ZTszhixEz84xXerw82Uo3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1sd89pPPKeQ9FqjTEs4sZF",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8s1DLvp5TX82whCzVfdUy4",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oXy9DWPm3cMawuws3jF8Dw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ggUJnAELkscnr8wCY2e7Xs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8K3TMP2Tgt2RSSJuVqdR4j",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2S8f7FahdEW7w7JhfCr366",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hhTDcot7DdMSFULh2sdVeZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2pZvpiD5SsELthkKt5tJ3m",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtThbnZ5JrBKiRkEvfRHrG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fGfPoazDUrc1DSJzSnMpw3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x3RhjZSxkvWSRpw5djcpHZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oLkzHPWGqiFTFWraAnDDgS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tjR9qDZMaGrJrWqAX3GTdN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2mkdDg7a8yURhWsybphBX8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shD7ir3GFfbNG9UMMU6iwe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"afuEQk9zuenrJ8npwWbHHS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bUcm7SdZ4EQSXBzhVjLFu8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"umh8sJsWFoUPrkMgMwXLJn",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ervRrrNZYFcCz6shRwYQAk",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aRMEj198niGbhwRDVQV2Km",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"25sJCfiia7r85LY9nqQicw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"73rwFbBokSJRAU9Dv14LUw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9DpFamDpKZuxKGTKjNyYgL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tMcjE28A6HsCisTEqVEqDz",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5prc1TM3iJvnq2rRv3GjGw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hZc1y1J1uuiUzd7bn2efy",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"btAxXppEu9xUvRTDmyL6e9",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nk7LwxQwWjfkFkTpnqaBzC",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xqm1C2kjuX1xr87NJG13D1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tKZW8EpQP3VnR9rHQDUsi7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cs2PWb768A9N78tdDnfCJe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aEp3n5z6CHtBUhs4tf1qQE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9yP2H7BonttfM9g6obUAWw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mzzB5cTKaPu2GCcZSHNfoN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rLsbraJPBqJvE4764xSEve",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vKVhtpqyoaaHZW5MyN6eTB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jqdKUxQoqH8xWJQ6WhDGVQ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7W9Ex51ZfXMaF32tnfWjoG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cHwdqwmBgx8A17cDpZPPbh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0044043927874840355,cy:.1,cz:.21999999999999997,lx:.003588764493510067,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eJYiY4DxK2CARyVadVVJCx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.004567518446267871,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Q9L4KdsCCfLnQFBJuanXE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3cRXM4bonZuYd9TnGSQqHH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.026100105407281752,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"97h3j7H6Qh9e6EQaWwwUZs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.034419514005859485,cy:.1,cz:.21999999999999997,lx:.004893769763858407,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1tjDay5JXZwfoH1FRqotv8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r2NNGxf63r8FosPwJcTE9W",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oAWmRTRvbzDTo9C3MrVKuU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nxEpnZTwyQv5kRbmcUQT1a",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cxmmFejGDyUJgTvayWAjdb",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rMHepSTZZvbuQwxezFKpdj",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eaxDcJH54ULucXspGZbKty",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iCSFe1wxX4XSin8cB68JeL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kgoq3WLxjVdPRdaxyzqFVA",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tBR5PErXE7yvYAGPgMqH1D",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyQuNv6jvRv3GvuS8UwxUv",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xmqsdiGpkMdxiVjXTPaJy1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"k5yQE7AumptJLR5Hzwy992",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pB3LcGmgHBTuT6LcAoCTvg",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"n43Pd6jLDz3CYkTbCV3gjh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"trG58x8VeFSbKFAEHY4zJs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pTcw3Ur3TBnoB59qvLnZju",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cfRJh7295CGWwCnbeA6tL2",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dY8S4UaNAqP39TMFMEg5vp",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iXENQGue8HpDQxMxGep9B7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wcpBvnsfPogwewn1nqjhP1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o9i61J2BnA3F192C23MrBE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"491xMjyUYSkSxP8QumC9Ad",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pSWKk8pafQidxC7vXHaMCo",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iTAFmPC5oX6jsetEFccxke",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iz9ye9NbXspk9eitQpzyBB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gNyXuR9rKr3itGofcKsjEe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtDo91vL39Swf6jH2eCN33",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jPqnNwwcUAYNf7z6neEUMx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bEUtkBUPaeHwYUvidNh7L3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ea6qeRQ1FZ5mWCfujb9TRw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wWpVZQ8VDFJormPKS8z6GS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sxCmsmibuQs3hkEUB7yL2z",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hg7q1GBM4nGGX6iEWCAYQY",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tYNYJRyLtFZMp118iLaQYh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["a3Vx8CkX7Gvm3xygEW6suk"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"xdCET3deCXRuddujsYebQJ",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"9giBMxpAESvroYM29nf3G8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["g3He9XTWe5maiTYrqciaG9","a3Vx8CkX7Gvm3xygEW6suk","xdCET3deCXRuddujsYebQJ","tTQGq2VqjKpQoZgpEaARbs"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-26.222816598442076,cy:-.9292686291105667,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5wyrw4eyiKGEAMo62i1ana",selected:!1,locked:!0},{type:"Cuboid",cx:-43.176009447245605,cy:-162.89911470396555,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",selected:!1,id:"u7iJ275LF7PsLiM2u1dVBQ",locked:!0},{type:"Cuboid",cx:-2.8348275713997992,cy:161.33575348972343,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",id:"wyK5WSj9bXtNuRAF7XgETz",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-13.867776626070096,cy:16.44454221560224,cz:2.4,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"u7iJ275LF7PsLiM2u1dVBQ",id:"3TR4V58Snnnj9e7TpcxNer",selected:!1,locked:!0,ly:.42},{type:"Human",name:"Jade",cx:4.361328445266435,cy:5.283856360212143,cz:2.4,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"wyK5WSj9bXtNuRAF7XgETz",id:"432YUQhSdAnxi3UMs4gV6j",selected:!1,locked:!0,ly:.48},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.21759070764863064,cy:.09383633281654624,cz:.500000019868218,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"nA8YNqGcgNn6n9w5X3BpF9",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.16557346067688847,cy:.09106998636897809,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"wZS6seNSEkCgvazx2SPZ5c",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.11082921515041991,cy:.08928793716557112,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"x3C87W7drRbnUHfAYYiZ6Y",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.05774324107965007,cy:.0913178646013816,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"u6wAPuen9vF2Z3r6jkt6uM",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.005068761768732548,cy:.08874894608300367,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rL6iysZ9LkBhdnBmy78QpW",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:-.0491156001466331,cy:.09437002382165598,cz:.500000019868227,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rEnSYjbkzp79trJtnUa7Gy",selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pR2ZvfPm33xd32n52fERDG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d3taAEWrsfg9pDkNriT6Bf",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jDcqi15keuTdq7ExRrL3UP",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q63v3RoQgW3e2HtK8UQ7Hm",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:4636310074930709e-32,cy:.1,cz:-.275,lx:.9689664132456421,ly:1,lz:.45,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rkSn9S8cDboGt5qcUBcvye",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0}],E3n={dailyPvYieldPanelX:0,mapPanelY:58,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[110.96343175001607,66.9554559161036,720622586878184e-19],yearlyHeliostatYieldPanelY:0,mapPanelX:197,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[110.96343175001607,66.95530590939957,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:17,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.806523424789926,-160.05159040218686,14.727641870329451],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:3.3216676797521423,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#fb9e00",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-32.60447516785695,-115.97404775152154,.3818596975980578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360},weatherPanelRect:{x:820,y:40,width:500,height:500},waterSurface:!1},k3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},F3n=1,L3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},W3n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},N3n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},U3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},B3n=[],j3n={docid:P3n,time:C3n,timestamp:R3n,userid:H3n,owner:M3n,email:I3n,world:z3n,elements:D3n,view:E3n,graphState:k3n,evolutionMethod:F3n,solarPanelArrayLayoutParams:L3n,solarPanelArrayLayoutConstraints:W3n,evolutionaryAlgorithmState:N3n,economicsParams:U3n,notes:B3n},Y3n="9ZNtij6epEbjFerL3Fki8V",O3n="04/30/2023 08:14 pm",_3n=1682900089813,V3n="QWecNcxhyvP6j6sBN11hBsfZDau1",G3n=null,X3n=null,J3n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,countryCode:"US",airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},K3n=[{type:"Cuboid",cx:-.22430639550810128,cy:8.947133751823877,cz:2.401107446167214,lx:18.902326348374032,ly:5.3294214620188916,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"m4D9SbEpcsZfFRNzvJTjS5"},{type:"Cuboid",cx:-.26822240735293335,cy:12.103493027949177,cz:2.839687693194611,lx:18.984817336850906,ly:1.06143303468172,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"4w7XR2z9jkkyeZbNjAh92J",selected:!1},{type:"Cuboid",cx:-8.62825556014066,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"8anKqMBmn2tBM3VcbkW2hs",selected:!1},{type:"Cuboid",cx:-5.172802633695682,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"1L5N5fkm9M3irZedu1HDBw",selected:!1},{type:"Cuboid",cx:-1.7173497072507025,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"6oVCjynNCY7nCmhamoZVq2",selected:!1},{type:"Cuboid",cx:1.7381032191942762,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"4zPy6F9nXphm8skTrgCaAW",selected:!1},{type:"Cuboid",cx:5.193556145639255,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"7mvJNbzUwn3qqmU3qEVitc",selected:!1},{type:"Cuboid",cx:8.649009072084235,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"xiYgkAhrbVK6XVAigVSkom",selected:!1},{type:"Human",name:"Jack",cx:-7.801540397849415,cy:-.26188830739616975,cz:2.4011075496673584,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m4D9SbEpcsZfFRNzvJTjS5",id:"8NTe1csuN2SaTMvxbNW9Po",selected:!1},{type:"Cuboid",cx:-3.6145240973701718,cy:4.206434223281605,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"8JgsqWqgb4cyYSdEJfGwEm",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"8JgsqWqgb4cyYSdEJfGwEm",id:"xeWGgNUm9y6UhkwbSisvQf",selected:!1},{type:"Human",name:"Jeff",cx:-.06368738371907989,cy:.025775270777415926,cz:.10000000149011612,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"pcfABj9VPodaxzM775mxon",id:"eeqUf4vobbEXfMB8bkzmGM",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"xeWGgNUm9y6UhkwbSisvQf",id:"m74U4PeTm7hTqfFPWnM7zL",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"m74U4PeTm7hTqfFPWnM7zL",id:"wUVjKjRa6pzXyxbMQ53EQM",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"wUVjKjRa6pzXyxbMQ53EQM",id:"d41QGJugD7tGPsTYKGhykU",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"d41QGJugD7tGPsTYKGhykU",id:"ewa94SA8sKbxzN2tE4mB3G",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ewa94SA8sKbxzN2tE4mB3G",id:"arNH7dUPxXi661cPiribL2",selected:!1},{type:"Cuboid",cx:-.008006915988230112,cy:.5202217706157303,cz:.1,lx:1.5160138319764558,ly:1.6177944400962208,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"arNH7dUPxXi661cPiribL2",id:"pcfABj9VPodaxzM775mxon",selected:!1},{type:"Cuboid",cx:.9517371303232212,cy:-.1558343454428396,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"pcfABj9VPodaxzM775mxon",id:"vTqu46XuGVTy2QjutgP1cQ",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"vTqu46XuGVTy2QjutgP1cQ",id:"pp1Ttn4SvkyFUYRPxBPiEQ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pp1Ttn4SvkyFUYRPxBPiEQ",id:"6h2y2J7ocSWWvCr5bRQvWb",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6h2y2J7ocSWWvCr5bRQvWb",id:"kLMxbeRFakpUXe68rAKa3a",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kLMxbeRFakpUXe68rAKa3a",id:"ppPnuhTpcUSHXMcpxdAKgq",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ppPnuhTpcUSHXMcpxdAKgq",id:"awwHf9YjgCzqZ59uSJXvbZ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"awwHf9YjgCzqZ59uSJXvbZ",id:"kYGd5athrBpPwKUzyL5ypn",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kYGd5athrBpPwKUzyL5ypn",id:"sNEKpySg3BQ4ga8B5hSXC5",selected:!1},{type:"Cuboid",cx:-17208456881689926e-31,cy:.2071151324090322,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"sNEKpySg3BQ4ga8B5hSXC5",id:"nfewirQxFL3G5mr1LTKJ4Q",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"nfewirQxFL3G5mr1LTKJ4Q",id:"eyi9c5ZCgCKTVNCEoLFZki",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"eyi9c5ZCgCKTVNCEoLFZki",id:"kDnmDYWAfFojmgmSfVFXVN",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kDnmDYWAfFojmgmSfVFXVN",id:"6dhMXX3yHamC4VtEy1UWDu",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6dhMXX3yHamC4VtEy1UWDu",id:"cmC7Vzw8ZucHWUzr8YxLFa",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"cmC7Vzw8ZucHWUzr8YxLFa",id:"9Vw4QTauKAg8QvUaB1Euvx",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"9Vw4QTauKAg8QvUaB1Euvx",id:"pJRDT44anj2xpBPXknWsKw",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pJRDT44anj2xpBPXknWsKw",id:"j38YrARLBzo6erzquVrcVn",selected:!1},{type:"Cuboid",cx:-7.012727351573531,cy:-.0019896050851210545,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"q5FjLBSpipgNNVuah4hNZD",selected:!1},{type:"Cuboid",cx:-.01596259528722399,cy:.11880364489857795,cz:.05,lx:31.446492946590087,ly:34.94910259238378,lz:.1,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"azyA8xuS3BmfetgYA2vQmH",enableGroupMaster:!0},{type:"Cuboid",cx:-6.183805959243027,cy:-11.996720725467824,cz:2.839687693194611,lx:7.107385573986727,ly:1.0946519025967618,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"pvKQ8K8ppq2w8qd94NN9Pq",selected:!1},{type:"Cuboid",cx:-2.6545444189389995,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"wdxoPVDdzYeWyAYAZzkhtp",selected:!1},{type:"Cuboid",cx:.8009085075059792,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"5uJL1EV8MPYeihH3UHzRgB",selected:!1},{type:"Cuboid",cx:-6.259452975235207,cy:-8.867472080025085,cz:2.401107446167214,lx:6.926658110091524,ly:5.102845526644927,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"fDXXcdBNXgffF1kQT4tCPn",selected:!1},{type:"Cuboid",cx:6.486972303080908,cy:-.054704878346608754,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"m4EGzGFe1rC8e8u6MQUpW8",selected:!1},{type:"Cuboid",cx:-10.220230850412868,cy:-.014533868827829727,cz:2.839687693194611,lx:25.047849285814525,ly:1.0029193528166587,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"uqhNMV7mprjgQMdGsRF2QT",selected:!1},{type:"Cuboid",cx:-5.596739585658853,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"q16v7h71SJ7yFzoy83DaBL",selected:!1},{type:"Cuboid",cx:-2.141286659213871,cy:.029060914141743187,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"7o2risK8LTapPsnDGartoZ",selected:!1},{type:"Cuboid",cx:1.3141662672311076,cy:.029060914141742975,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eAM1pw2NKdNfF1gW8XpVih",selected:!1},{type:"Cuboid",cx:4.769619193676086,cy:.029060914141742764,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"5cwTU21rFZUwTfiouz5qYe",selected:!1},{type:"Cuboid",cx:8.225072120121062,cy:.029060914141749657,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"biVWnambVhBNmbnHk2Wiy3",selected:!1},{type:"Cuboid",cx:11.680525046566043,cy:.029060914141751222,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"rSaUgAuDRqbJLQtkpJnJtG",selected:!1},{type:"Cuboid",cx:-8.818019962594427,cy:.02514455088051193,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"sMxTWQFpHwxtpEsSHpPYb6",selected:!1},{type:"Cuboid",cx:-2.1412866592138746,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eRXqtRB7se3M8GzKXkxUnh",selected:!1},{type:"Cuboid",cx:-11.724426888881109,cy:.05789686773779312,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"qLaLq73w7A9ZmbSk84RuGL",selected:!1},{type:"Cuboid",cx:9.685298368001048,cy:.0017243180851487239,cz:2.839687693194611,lx:25.09195057934765,ly:.9927712733989245,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"irfb2m2puWv6odJ6Jwp6YM",selected:!1},{type:"Cuboid",cx:-5.618790232425412,cy:-.03080928172797003,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"sEAcnpxYSig5gpY8iTY3Yy",selected:!1},{type:"Cuboid",cx:-2.163337305980429,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6feu78ouLNMPYNKTLRwvPo",selected:!1},{type:"Cuboid",cx:1.2921156204645494,cy:-.030809281727968676,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6CfBo1pNmDDqH7Mwik6c7H",selected:!1},{type:"Cuboid",cx:4.747568546909526,cy:-.030809281727968887,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"isrB6noYi8NEhJRQG8ietf",selected:!1},{type:"Cuboid",cx:8.203021473354507,cy:-.030809281727954888,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"dReb13hJ9AJKebwakYRY69",selected:!1},{type:"Cuboid",cx:11.658474399799484,cy:-.03080928172794977,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3eH5ZbQj5WHp7QCzbxMKGz",selected:!1},{type:"Cuboid",cx:-8.840070609360978,cy:-.03472564498920451,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"svPiKiErdWciBnFsmqoNKg",selected:!1},{type:"Cuboid",cx:-2.1633373059804324,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"aQ3KbWPYnCPqSao4PhCn2t",selected:!1},{type:"Cuboid",cx:-11.746477535647664,cy:-.001973328131929355,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3GXadNYd518rGsiHZnch9r",selected:!1},{type:"Human",name:"Jamelia",cx:-.09265449725102398,cy:-11.357307781644565,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"azyA8xuS3BmfetgYA2vQmH",id:"1JVUnXP3EYNgXEV5Mhij7X",selected:!1},{type:"Cuboid",cx:5.911674805614613,cy:-8.780289167948837,cz:2.401107446167214,lx:6.525003449448929,ly:4.771919851852802,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"3LriNZQ2FWUrzgTjH1nQGp",selected:!1},{type:"Cuboid",cx:5.6478649104510295,cy:-12.017787072476704,cz:2.839687693194611,lx:7.128069650550036,ly:1.1096381510921969,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-3.141592653589793],stackable:!0,parentId:"Ground",id:"qEtCzg44w2EkGdkHGvTyXg",selected:!1},{type:"Cuboid",cx:-2.609503179079046,cy:.028969325588168324,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"54P6ija5X4jX2T74DKWGuo",selected:!1},{type:"Cuboid",cx:.8459497473659319,cy:.0289693255881679,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"hhTBL9sevUWmS4YHc9UFL2",selected:!1},{type:"Cuboid",cx:5.908936634022203,cy:-.011694823916091224,cz:.25,lx:5.894051564987242,ly:1.0122050011149266,lz:.5,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"79YR8wYSe1eRRM8AXmk2pi",selected:!1}],q3n=22,$3n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.365731258384917,-4.23743050549221,-4359573758408488e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.365731258384917,-4.237580512159635,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.8932377675710492,-35.04498361736728,12.916960792715187],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,directLightIntensity:1,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[0,0,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,heatFluxScaleFactor:20,heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyBuildingEnergyPanel:!1,showYearlyBuildingEnergyPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},Q3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Z3n=1,e6n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},t6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},n6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},o6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},i6n="Unknown",r6n=null,a6n=null,l6n=null,s6n=[],c6n={docid:Y3n,time:O3n,timestamp:_3n,userid:V3n,owner:G3n,email:X3n,world:J3n,elements:K3n,sceneRadius:q3n,view:$3n,graphState:Q3n,evolutionMethod:Z3n,solarPanelArrayLayoutParams:e6n,solarPanelArrayLayoutConstraints:t6n,evolutionaryAlgorithmState:n6n,economicsParams:o6n,modelType:i6n,modelAuthor:r6n,modelLabel:a6n,modelDescription:l6n,notes:s6n},u6n="ag6x1qqPgPt1AJp2oKoKDF",d6n="02/02/2023 08:27 pm",f6n=1675387657521,h6n="QWecNcxhyvP6j6sBN11hBsfZDau1",p6n=null,g6n=null,m6n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/1/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},y6n=[{cy:5.105053829358722,normal:[0,0,1],lz:.1,ly:26.301278139506802,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-1.995894425388201,cz:.05,rotation:[0,0,0],lx:38.854999999999976,selected:!1,parentId:"Ground"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.39629808463170607,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.0067633355149074184,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:31.488,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.006869188501244585,cy:-.3009472773624533,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6g9iBRNNW6XDAK9EeP8dnv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0069750414875817505,cy:-.20559647009320042,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ec9UdLR1fMcWkEUdiFjUx2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007080894473918917,cy:-.11024566282394763,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fQLn5udBainjxVp4XrJMRj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007186747460256083,cy:-.014894855554694773,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p8zx94dUJdEAskSt1PKSVa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007292600446593249,cy:.08045595171455801,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fc9ACQJk2egBLobC44KRz9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007398453432930415,cy:.1758067589838109,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k1F8Jw2a6YkaS53ggunuWE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007504306419267581,cy:.2711575662530637,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nfKxjTCwPLzpCqrrT4qwQd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007610159405604748,cy:.3665083735223166,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oY8VxSJVvnuAD8XoQBDkh2",selected:!1},{type:"Tree",name:"Spruce",cx:11.921605574611789,cy:-10.909355003026004,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vfBrsVoh8zPsZKEuooN1Mp",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:-2.2808944253881993,cy:-11.194355003026004,cz:0,lx:4.3193414394375225,lz:10.279562696083193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"99sYceKNBfrqJSsDa72tLX",selected:!1,showModel:!1},{type:"Human",name:"Joel",cx:-7.8137499999999935,cy:-.3139426000311314,cz:.05000000074505806,lx:1,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"obVZfacvimifAis6oD33mX",selected:!1,observer:!0,ly:.6},{type:"Tree",name:"Spruce",cx:2.374105574611796,cy:-10.956855003026007,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sCYPQFyb4Ezu7V4j1ddt8r",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:7.029105574611797,cy:-11.004355003026005,cz:0,lx:4.3193414394375225,lz:8.761424913666062,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"jgqeg8YLSBfHZnbBhuouTU",selected:!1,showModel:!1},{type:"Human",name:"June",cx:7.0000631393125845,cy:-.3317126323621302,cz:.05000000074505806,lx:.4,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"m6FHMxEEVfFM123WLmXjyv",selected:!1,observer:!0,ly:.4},{type:"Foundation",cx:-1.9721444253882048,cy:-14.775412402994869,cz:.05,lx:38.427499999999974,ly:3.837114799937732,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ipdiy6H5XdiRMv79uDtrRE",textureType:"Foundation Texture #2"}],A6n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[4.688586933696731,-41.63558463662862,6.94326488693142],panCenter:[5.94996462578833,-14.876226974643979,5.628671784918282],orthographic:!1,enableRotate:!0,cameraZoom:21.05263157894738,showInstructionPanel:!1,cameraPosition2D:[2.659105574611795,-.19810500302601344,47.99999980190954],panCenter2D:[2.659105574611795,-.19805700089319547,5501827899659354e-22],showSolarPanelVisibilityResultsPanel:!0,visibilityResultsPanelX:-6,visibilityResultsPanelY:-1,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:342,height:67}},w6n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},v6n=1,x6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},b6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},S6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},T6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},P6n=["Vegetative buffer to hide solar farms"],C6n={docid:u6n,time:d6n,timestamp:f6n,userid:h6n,owner:p6n,email:g6n,world:m6n,elements:y6n,view:A6n,graphState:w6n,evolutionMethod:v6n,solarPanelArrayLayoutParams:x6n,solarPanelArrayLayoutConstraints:b6n,evolutionaryAlgorithmState:S6n,economicsParams:T6n,notes:P6n},R6n="8D5YJAWj6vd3LW25Hcokqe",H6n="02/02/2023 03:03 pm",M6n=1675368235538,I6n="QWecNcxhyvP6j6sBN11hBsfZDau1",z6n=null,D6n=null,E6n={timesPerHour:10,pvGridCellSize:.25,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},k6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:0,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:1.0471975511965976,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3898315956697325},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.5235987755982988,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:0,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3601290996632553},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:-1.0471975511965976,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:.2655114569703831},{tiltAngle:0,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.055863332406658},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:.5565058986546524},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:1.1380948831431423},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.3371955456546947},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],F6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[8.023018704034044,-16.232959358672062,3.67727930352486],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:4,width:202,height:93}},L6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},W6n=1,N6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},U6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},B6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},j6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Y6n=[`Effect of tilt angles on -solar panel outputs`],O6n={docid:R6n,time:H6n,timestamp:M6n,userid:I6n,owner:z6n,email:D6n,world:E6n,elements:k6n,view:F6n,graphState:L6n,evolutionMethod:W6n,solarPanelArrayLayoutParams:N6n,solarPanelArrayLayoutConstraints:U6n,evolutionaryAlgorithmState:B6n,economicsParams:j6n,notes:Y6n},_6n="44QNMQZiyWYfqFnbbUSraT",V6n="02/02/2023 03:04 pm",G6n=1675368269762,X6n="QWecNcxhyvP6j6sBN11hBsfZDau1",J6n=null,K6n=null,q6n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2021 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},$6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.0471975511965976,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1296025646801735},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.6981317007977318,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:.5235987755982988,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3296869651923566},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.6981317007977318,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:-1.0471975511965976,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1539575918080192},{tiltAngle:.6981317007977318,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.4023532989786718},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-.5235987755982988,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:1.3216497104200369},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:.9830976469578562},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.9777009351289816},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],Q6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[3.763670237910374,-16.61721730429299,2.914312591691999],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:200,height:91}},Z6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},eAn=1,tAn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},nAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},oAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},iAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},rAn=[`Effect of azimuth on -solar panel outputs`],aAn={docid:_6n,time:V6n,timestamp:G6n,userid:X6n,owner:J6n,email:K6n,world:q6n,elements:$6n,view:Q6n,graphState:Z6n,evolutionMethod:eAn,solarPanelArrayLayoutParams:tAn,solarPanelArrayLayoutConstraints:nAn,evolutionaryAlgorithmState:oAn,economicsParams:iAn,notes:rAn},lAn="tKo6pFHzEmKPLUAtFMSXH1",sAn="02/03/2023 04:17 pm",cAn=1675459040307,uAn="QWecNcxhyvP6j6sBN11hBsfZDau1",dAn=null,fAn=null,hAn={name:"default",date:"12/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.7,airAttenuationCoefficient:.01},pAn=[{type:"Foundation",cx:-.14690699678366315,cy:-7.208163838562541,cz:.05,lx:11.055471871472701,ly:58.48001412614986,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",selected:!1,id:"4LeRe177Bf56Mb1oae55ip",textureType:"Foundation Texture #1"},{type:"Human",name:"Jess",cx:1.6319195310451686,cy:-16.45128807612893,cz:0,lx:.6,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mBHbx3X3c1GbXKCLvDVgzL",selected:!1,ly:.6},{type:"Parabolic Trough",cx:-.23513458174461563,cy:.004519902359052559,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"dcjUqAUQZ4LNafSWu4PepW",selected:!1,dailyYield:147.4722488686051,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"EW2",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.15865672328822894,cy:.004519902359052563,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"pwQnP4mNmxVYhvmGqFmMN2",selected:!1,dailyYield:113.9525242653769,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"EW1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:-.19816155489194087,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"anQtntJ2EF1xbdU9j34juv",selected:!1,dailyYield:105.42067563837163,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"NS1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.2505997669563526,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:105.31845023255819,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"NS2",labelHeight:4,labelSize:2},{type:"Foundation",cx:.359422565830144,cy:28.716630531767144,cz:.05,lx:9.701256512237665,ly:56.88650192791737,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:3.796298271490718,cy:-15.228318565508843,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6}],gAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[16.103455794589095,-53.110389552237656,19.628758062026815],panCenter:[15.024700307415378,.2771229411200077,1.7412798340419682],orthographic:!1,enableRotate:!0,cameraZoom:6.470670899474181,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,150],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:11.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:336,height:66}},mAn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!0,yearlyParabolicTroughIndividualOutputs:!1},yAn=1,AAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},wAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},vAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},xAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},bAn=["Effect of azimuths of parabolic troughs"],SAn={docid:lAn,time:sAn,timestamp:cAn,userid:uAn,owner:dAn,email:fAn,world:hAn,elements:pAn,view:gAn,graphState:mAn,evolutionMethod:yAn,solarPanelArrayLayoutParams:AAn,solarPanelArrayLayoutConstraints:wAn,evolutionaryAlgorithmState:vAn,economicsParams:xAn,notes:bAn},TAn="vx1ug6kpDBy3x9Qeuoopbp",PAn="02/02/2023 12:05 pm",CAn=1675357543063,RAn="QWecNcxhyvP6j6sBN11hBsfZDau1",HAn=null,MAn=null,IAn={name:"default",date:"9/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.6,airAttenuationCoefficient:.01},zAn=[{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:4,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:233.64209746690477,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"LR=4m",drawSunBeam:!0,locked:!1,labelHeight:5,labelSize:1},{type:"Foundation",cx:.21407524112268916,cy:-36.149591263989876,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:11.353738913610336,cy:-7.831484265178309,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6},{type:"Foundation",cx:-4490043542196287e-20,cy:-.25172016696204835,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"gZkDqHfktzoy6gJmARmspx",selected:!1},{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"gZkDqHfktzoy6gJmARmspx",foundationId:"gZkDqHfktzoy6gJmARmspx",id:"mBvFg1q8TpWjfngs6RnkZ4",selected:!1,label:"LR=8m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Parabolic Trough",cx:-.01770652380020336,cy:.008044936654478363,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:16,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"evP6wn78pnNyKDZXgNgWdE",selected:!1,label:"LR=16m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Foundation",cx:.08085129201298358,cy:35.3877160159791,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1}],DAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[22.155781466338546,-55.72853752805094,9.397557668970421],panCenter:[-5.110111828219519,-15.113374046752455,0],orthographic:!1,enableRotate:!0,cameraZoom:9.753499582310592,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.99999999998951],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:9.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-24,dailyParabolicTroughYieldPanelY:26,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:355,height:60}},EAn=1,kAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},FAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},LAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},WAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},NAn=["Effect of latus rectum of parabolic trough"],UAn={docid:TAn,time:PAn,timestamp:CAn,userid:RAn,owner:HAn,email:MAn,world:IAn,elements:zAn,view:DAn,evolutionMethod:EAn,solarPanelArrayLayoutParams:kAn,solarPanelArrayLayoutConstraints:FAn,evolutionaryAlgorithmState:LAn,economicsParams:WAn,notes:NAn},BAn="dvN36C7J8FdfSS21QcUvBx",jAn="02/02/2023 05:16 pm",YAn=1675376211296,OAn="QWecNcxhyvP6j6sBN11hBsfZDau1",_An=null,VAn=null,GAn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"12/1/2021 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},XAn=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:7.484195397296324,label:"L2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:7.484195397296324,label:"L3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:7.484195397296324,label:"L4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"L1",dailyYield:13.210165552148743,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:7.484195397296324,label:"L5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:10.048739466084358,cy:.01420541284211474,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008008869365173981,cy:-.18492700121558012,cz:.5000000074505806,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"6AH8jB41hnb2DKANJAvRwV",selected:!1,dailyYield:2.263426258433755,label:"P2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008328904339362014,cy:.007217978403519174,cz:.5000000074506161,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"aB8iEcrZaWTL6xKZKhhAXB",selected:!1,dailyYield:2.2442794871667524,label:"P3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008648939313550047,cy:.19936295802261844,cz:.5000000074506517,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"2meA9SG5bqFDgzeFyXtF9Q",selected:!1,dailyYield:2.2442794871667524,label:"P4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007688834390985949,cy:-.37707198083467935,cz:.5000000074505451,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"868aWiBhQX239e6oehaSij",selected:!1,dailyYield:13.21016555214874,label:"P1",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00896897428773808,cy:.39150793764171776,cz:.5000000074506872,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"oBHHZdopRmiffSiEULht6u",selected:!1,dailyYield:2.2442794871667524,label:"P5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:-10.236210959894782,cy:-.0034675956445191503,cz:.05,lx:19.1296452086662,ly:14.728928705271478,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"enRB3aUi95qo1iy8fc8PQq",selected:!1}],JAn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[22.452978407808587,-24.247050313502623,17.045911348582777],panCenter:[16.676839641041024,.697317195514167,.36124976444702794],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.651601657211317,-.19810500302601344,47.99999980190954],panCenter2D:[2.651601657211317,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:-3,width:321,height:84}},KAn={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},qAn=1,$An={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},QAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ZAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},e4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},t4n=[`Effect of orientation (landscape vs. portrait) -on outputs of solar panel arrays`],n4n={docid:BAn,time:jAn,timestamp:YAn,userid:OAn,owner:_An,email:VAn,world:GAn,elements:XAn,view:JAn,graphState:KAn,evolutionMethod:qAn,solarPanelArrayLayoutParams:$An,solarPanelArrayLayoutConstraints:QAn,evolutionaryAlgorithmState:ZAn,economicsParams:e4n,notes:t4n},o4n="gtXnXouMVM8pMVHsKAhdM3",i4n="02/02/2023 12:17 pm",r4n=1675358247774,a4n="QWecNcxhyvP6j6sBN11hBsfZDau1",l4n=null,s4n=null,c4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},u4n=[{cy:.045715871759253096,normal:[0,0,1],lz:.1,ly:15,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-10.115014866732034,cz:.05,rotation:[0,0,0],lx:18.175146995703113,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640966676,cy:-.015945367160926777,cz:.5000000074506872,lx:15.744,ly:13.888,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.15,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tc8JHQj7hE233H7YfXfbjR",selected:!1,drawSunBeam:!1,label:"Block",dailyYield:103.86651140858137},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:17.598295752357192,label:"Row 2"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:17.598295752357192,label:"Row 3"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:17.598295752357192,label:"Row 4"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"Row 1",dailyYield:20.418384465308375},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:17.598295752357192,label:"Row 5"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6}],d4n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[23.00808622059582,-24.680171647342778,15.7199588387956],panCenter:[15.700578278283736,2.441435258509561,.07017002569005788],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:2,width:200,height:60}},f4n=1,h4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},p4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},g4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},m4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},y4n=["Tilt or not tilt?"],A4n={docid:o4n,time:i4n,timestamp:r4n,userid:a4n,owner:l4n,email:s4n,world:c4n,elements:u4n,view:d4n,evolutionMethod:f4n,solarPanelArrayLayoutParams:h4n,solarPanelArrayLayoutConstraints:p4n,evolutionaryAlgorithmState:g4n,economicsParams:m4n,notes:y4n},w4n="pbUQyfMqdFM4hGmWGdjXR3",v4n="05/21/2023 08:16 pm",x4n=1684714615826,b4n="QWecNcxhyvP6j6sBN11hBsfZDau1",S4n=null,T4n=null,P4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},C4n=[{type:"Cuboid",cx:-.09073244329620422,cy:-.08928113742371785,cz:3,lx:59.802153799265035,ly:54.767587001262534,lz:6,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",selected:!1,id:"pLxvVJ1wH71Yw1QXZXh7Cg"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],vertices:[{x:-.25918798931603854,y:-.3104025744206716},{x:-.1504962518609256,y:0},{x:-.35951882388998896,y:.16433077469329674},{x:-.09002353591652279,y:.166501344234237},{x:0,y:.4564743741480465},{x:.09196993169278787,y:.16433077469329674},{x:.37624062965231403,y:.16433077469329674},{x:.15885715474208814,y:0},{x:.25918798931603854,y:-.31953206190363254},{x:0,y:-.11868333727849208}],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",selected:!1,filled:!0,selectedIndex:6,id:"rUADzqR9VSPATNniVsn3qE",opacity:.5},{type:"Human",name:"Jack",cx:-21.334148117714555,cy:-20.123968320321495,cz:3.0000000000000004,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5uAL6fK1eTHonYN5seNqZq",selected:!1},{type:"Human",name:"Jacqueline",cx:23.344921829148568,cy:-18.543851714098956,cz:2.9999999999999964,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2Xajuxftni9JrMcjA5JcTZ",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.24400225350210067,cy:-.2973806270625913,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dwDAEsrLknWSJ6wmG84FDe",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2340673494452827,cy:-.2824067173672925,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"rJPYR1ViscGwEao14Ahz8L",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.22413244538846475,cy:-.2674328076719938,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2bryRDHBS2YZ4nXPVH27oM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.21419754133164678,cy:-.25245889797669496,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oKVf1WANEaHoC28aczNAmB",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2042626372748288,cy:-.23748498828139625,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tBCicEZU2wG49eu4i6Kwm3",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.19432773321801083,cy:-.22251107858609742,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"evdaFcgrk6M4JJMyu3ZzMq",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.18439282916119284,cy:-.2075371688907986,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1sWb4XgrTSe79TQULsTE5S",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.17445792510437497,cy:-.1925632591954998,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mZffYSWU7S8PgHaRpYZeEL",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.16452302104755695,cy:-.17758934950020103,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"n5a72Z8AZCjsHvJEWEfhFF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.15458811699073896,cy:-.1626154398049022,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mEyfc6dJNr8NgLtwNYnoHX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.14465321293392097,cy:-.14764153010960349,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wj2fWqRxszA5Gvokpup7wQ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.13471830887710307,cy:-.13266762041430463,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"bgNCkPikGZjCttLzS6w1Ei",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.12478340482028506,cy:-.11769371071900586,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pzZaWBzWNUPmQr5UmuU4EJ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1148485007634671,cy:-.1027198010237071,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nvJ2MYXHoiz17urRs5MsVm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.3462544047278434,cy:.14995832880911858,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dsTi2gBy3qMzkxSzEKBUKt",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.10491359670664915,cy:-.08774589132840831,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1zkzwAySbr3kh67TymqSoa",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.29600197017289004,cy:.12090847752330136,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nNXDQxgbGxZh1trPJqCUdP",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09497869264983118,cy:-.07277198163310952,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"fjd8Qa2TAYrApMxCXDFDpf",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2457495356179366,cy:.0918586262374842,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"b9qhzTZxDNwEDcF7hiJX4C",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.151763002830166,cy:.015054374730769834,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2UFe7VNPDEaGQZvkWVQhfF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1330229162480746,cy:.020413676435490843,cz:.5,lx:20.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6azY5mJr9WGW9T4xntRtbV",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09816732549621686,cy:.008176039664707214,cz:.5,lx:24,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7pB4XFf5JNuyyXs1dscyU9",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.04968850627849703,cy:-.01893715486872221,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cw2cYF33vM7nDrUtAQ9PtX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0012096870607772334,cy:-.0460503494021516,cz:.5,lx:32.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aZJH3WRjsEN8q1US8B1Lga",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.041725175322164326,cy:-.06710995316331908,cz:.5,lx:34.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"viJ9kyaeaMt713J28EcCFK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.046229595226249795,cy:-.046206356470879194,cz:.5,lx:31.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tyYYXFH1cfiQ3uNpmQwaDs",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.050734015130335264,cy:-.02530275977843931,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"vP1hAunDAXzhYB1S1HLKVM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05523843503442073,cy:-.004399163085999424,cz:.5,lx:25.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"u6QjEgQS4SovsxfWiwK9pS",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05234611465739277,cy:.024581126850095093,cz:.5,lx:22.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"46FxqZ3kp4K5aLnSHofoke",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04805120265582289,cy:.05509294308926524,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"4KWK7RGJeM7J1Y4Bc2BCbo",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04375629065425305,cy:.08560475932843534,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9NexZBuAyQshnZjEyJiXpM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.039461378652683204,cy:.11611657556760548,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aQJdFu6WBGKc9yho8AS2xT",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04924988203531412,cy:.13125034396973115,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3ogeckCTPTgxjp41JDKuuA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05914913042917638,cy:.1462631870114971,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"m5ZqKSj8PiDLKTSkryPkD4",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.06904837882303859,cy:.1612760300532631,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"gUD4622TjboopEheHWCtM8",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.14637364805016384,cy:.10266464590659576,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3B4tjopc3V8wB73wfk3LgA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.020601276304081376,cy:.23999877236143063,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"j6oGKhKWfa4g28v4pveBRC",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.16516009271515278,cy:.10797332801394043,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6uMytuxgTByw7WEXjAsAXU",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.017562115186903173,cy:.2691394015238318,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2FJtQtosDkuXdtp7KmRoYy",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.18394653738014172,cy:.11328201012128505,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3pFwSbqooyxHrq2Jp4XADp",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.014522954069724847,cy:.298280030686233,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5qdmnpcKFqUM9vXyTX4hi7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.20273298204513066,cy:.11859069222862975,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tJg3jzMUi1ApjHbbN193Zz",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.011483792952546625,cy:.3274206598486342,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"xxk4Md1mJ7NHchtu4BLpwH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2215194267101196,cy:.12389937433597444,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7NmhiBzuipraDWa3kyetyj",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.008444631835368357,cy:.35656128901103534,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"f8qSHhvV7wP4nEzfo6VoDk",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.24030587137510853,cy:.12920805644331906,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"posdSQ1dJvWZjSpgrNhZeK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.005405470718190015,cy:.3857019181734367,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9riXPgRDkjJzGVegGVgCgw",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.25909231604009747,cy:.13451673855066373,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cHZAxZtQFw1z3WZs51Lb8y",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.0023663096010117777,cy:.41484254733583786,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oe7DbmdHbpatHjToisk5xv",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2778787607050864,cy:.1398254206580084,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wWLocRGwnWkKFGd13Lw2xH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0006728515161664303,cy:.443983176498239,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pLYCjrgQcBLecG9n2GBB5R",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2966652053700753,cy:.14513410276535307,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5cGW4T9ojh23VUkpq6dRc7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3154516500350642,cy:.15044278487269772,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"uZGNbTxhF7wMM1ExYuxSCK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3342380947000532,cy:.15575146698004247,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"hpaMNd5tiDGWpzg7eQxhTm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1}],R4n=37,H4n={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[43.034934411209356,-77.43728686826599,60.87535152181681],panCenter:[7.125444398078178,-5.749142987156418,.5356497726578432],orthographic:!1,enableRotate:!0,cameraZoom:13.268408625781248,showInstructionPanel:!1,cameraPosition2D:[5.843642120827252,1.7570601735865479,150],panCenter2D:[5.843642120827252,1.75721018025187,26494911975471404e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:4,width:378,height:114},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},M4n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},I4n=2,z4n={pvModelName:"FS-275",rowAxis:"East-West",orientation:"Landscape",tiltAngle:.5235987755982988,rowsPerRack:1,interRowSpacing:1,poleHeight:.3,poleSpacing:3,margin:.2},D4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},E4n={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},k4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},F4n="Unknown",L4n=null,W4n=null,N4n=null,U4n=[`Draw a polygon for the solar panel field and +As the sun moves across the sky, solar panels do not always face the sun. Solar trackers allow them to follow the sun like sunflowers to maximize their outputs. This model compares the outputs of solar panels driven by the horizontal single-axis tracker (HSAT), the vertical single-axis tracker (VSAT), and the altazimuth dual-axis trackers (AADAT), as well as that of a fixed solar panel. You can also animate the movement of the sun to see how the solar panels follow it.`],Yan={docid:Can,time:Ran,timestamp:Han,userid:Man,owner:Ian,email:zan,world:Dan,elements:Ean,view:kan,graphState:Fan,evolutionMethod:Lan,solarPanelArrayLayoutParams:Wan,solarPanelArrayLayoutConstraints:Nan,evolutionaryAlgorithmState:Uan,economicsParams:Ban,notes:jan},Oan="stLbuVGfE2K8DrmoYsFg9w",_an="02/04/2023 02:04 pm",Van=1675537455512,Gan="QWecNcxhyvP6j6sBN11hBsfZDau1",Xan=null,Jan=null,Kan={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},qan=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.06554753263096413,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-7.418371930827338,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:-18.384386246268818,cy:-7.395598164511793,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.191904297849153,cy:-7.416985047669567,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture Default",color:"#999999",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5,leftJoints:["xyaukKZz7A3TN7punm6ojQ"],rightJoints:["t8gz6AKc17wrcW6oGcJkRc"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tjjt6SvCacxyrjW8mL7Kcd",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:5,leftJoints:["eyn92Pbtw4rxGsusMErN7b"],rightJoints:["tjjt6SvCacxyrjW8mL7Kcd"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xyaukKZz7A3TN7punm6ojQ",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:5,leftJoints:["tjjt6SvCacxyrjW8mL7Kcd"],rightJoints:["eyn92Pbtw4rxGsusMErN7b"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t8gz6AKc17wrcW6oGcJkRc",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:5,leftJoints:["t8gz6AKc17wrcW6oGcJkRc"],rightJoints:["xyaukKZz7A3TN7punm6ojQ"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eyn92Pbtw4rxGsusMErN7b",parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",roofId:"hajPbexieJRPqTV4EDojfw",leftRoofHeight:5,rightRoofHeight:5,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-18.349437375856816,cy:7.358577960859719,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fWm5hggYktD39sKer9AZNn",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["7pDL5vuaWkaSp6xPdGtoFv"],rightJoints:["jRzTPUopsCw4wfe1XwNMiY"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ak7Cpd4phQ5SWBAYKo1UCe",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["f2RfmPbQBbQQB9B9qxgaGp"],rightJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7pDL5vuaWkaSp6xPdGtoFv",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ak7Cpd4phQ5SWBAYKo1UCe"],rightJoints:["f2RfmPbQBbQQB9B9qxgaGp"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jRzTPUopsCw4wfe1XwNMiY",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["jRzTPUopsCw4wfe1XwNMiY"],rightJoints:["7pDL5vuaWkaSp6xPdGtoFv"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f2RfmPbQBbQQB9B9qxgaGp",parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",roofId:"jKe65v2XQs93jh4Da9kMiu",leftRoofHeight:4,rightRoofHeight:4,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Foundation",cx:18.357286683609985,cy:7.35579151072247,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w5VAS3XZUgKoYjMsuPJ9cq",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["3nk4fctTxNug3tQ2458FKw"],rightJoints:["dc91yXxYZexfAFXVg2fpn6"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pwXdeCrfH255xyNxeKZFmq",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["m39f5UsRB2FwBXUr7e5PvG"],rightJoints:["pwXdeCrfH255xyNxeKZFmq"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3nk4fctTxNug3tQ2458FKw",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["pwXdeCrfH255xyNxeKZFmq"],rightJoints:["m39f5UsRB2FwBXUr7e5PvG"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dc91yXxYZexfAFXVg2fpn6",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,6.780964087966274],selected:!1,centerLeftRoofHeight:[-.35,4.890482043983138],centerRightRoofHeight:[.35,4.890482043983138],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["dc91yXxYZexfAFXVg2fpn6"],rightJoints:["3nk4fctTxNug3tQ2458FKw"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"m39f5UsRB2FwBXUr7e5PvG",parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",roofId:"ptuJ1uXn6Mmb8yfPchYi2c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.2822234132630961,cy:-22.249672711420477,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d6fjBvqj48Q3knutrPvQzj",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["xyaukKZz7A3TN7punm6ojQ","tjjt6SvCacxyrjW8mL7Kcd","t8gz6AKc17wrcW6oGcJkRc","eyn92Pbtw4rxGsusMErN7b"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fWm5hggYktD39sKer9AZNn",foundationId:"fWm5hggYktD39sKer9AZNn",id:"hajPbexieJRPqTV4EDojfw",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",wallsId:["f2RfmPbQBbQQB9B9qxgaGp","7pDL5vuaWkaSp6xPdGtoFv","ak7Cpd4phQ5SWBAYKo1UCe","jRzTPUopsCw4wfe1XwNMiY"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"w5VAS3XZUgKoYjMsuPJ9cq",foundationId:"w5VAS3XZUgKoYjMsuPJ9cq",id:"jKe65v2XQs93jh4Da9kMiu",rise:3.592861140197524,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gambrel",wallsId:["m39f5UsRB2FwBXUr7e5PvG"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d6fjBvqj48Q3knutrPvQzj",foundationId:"d6fjBvqj48Q3knutrPvQzj",id:"ptuJ1uXn6Mmb8yfPchYi2c",rise:3.7809640879662743,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["ixC5APwNiRHyp3q8fcpSip"],rightJoints:["8hSDdsDC58WwCVch1EWVeh"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ozFwLmFwWhU6vEeaiRMgLF",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["qjuHirmyC29jd4cf1J7Ub1"],rightJoints:["ozFwLmFwWhU6vEeaiRMgLF"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ixC5APwNiRHyp3q8fcpSip",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["ozFwLmFwWhU6vEeaiRMgLF"],rightJoints:["qjuHirmyC29jd4cf1J7Ub1"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hSDdsDC58WwCVch1EWVeh",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["8hSDdsDC58WwCVch1EWVeh"],rightJoints:["ixC5APwNiRHyp3q8fcpSip"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qjuHirmyC29jd4cf1J7Ub1",parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",roofId:"nUUEKM9A4b42WTe8cCbmi9",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:18.14821865757634,cy:-22.28587145270979,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"upLMjkz3yhg33F3y5iosoh",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",wallsId:["qjuHirmyC29jd4cf1J7Ub1"],textureType:"Roof Texture Default",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"upLMjkz3yhg33F3y5iosoh",foundationId:"upLMjkz3yhg33F3y5iosoh",id:"nUUEKM9A4b42WTe8cCbmi9",rise:2.4252724498654796,ceiling:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:3,leftJoints:["igxQHaerDScxsfB5TgVZU4"],rightJoints:["fisK6kExsrNY6Pqi3iQHme"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3gfx2QQjNJN8MdstGfbwGN",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["ayZDPKzE28H2j3EL6h6FST"],rightJoints:["3gfx2QQjNJN8MdstGfbwGN"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"igxQHaerDScxsfB5TgVZU4",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["3gfx2QQjNJN8MdstGfbwGN"],rightJoints:["ayZDPKzE28H2j3EL6h6FST"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fisK6kExsrNY6Pqi3iQHme",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[-.15368124011044487,5.976337025346289],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["fisK6kExsrNY6Pqi3iQHme"],rightJoints:["igxQHaerDScxsfB5TgVZU4"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ayZDPKzE28H2j3EL6h6FST",parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofId:"ue2dCEQjJdM2ogHcYaDLus",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"ue2dCEQjJdM2ogHcYaDLus",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"8FvPN2owsgTQ83kbYPEi1w",foundationId:"8FvPN2owsgTQ83kbYPEi1w",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["ayZDPKzE28H2j3EL6h6FST"],ridgeLeftPoint:[-.15368124011044487,1],ridgeRightPoint:[.15368124011044487,1],selected:!1,rise:2.9763370253462886,ceiling:!1},{type:"Foundation",cx:-18.3917853849947,cy:-22.23021238337839,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8FvPN2owsgTQ83kbYPEi1w",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:5.846129172584467,leftJoints:["7uVMbtndXyFhLg9N8igxZL"],rightJoints:["satrCacXQzxtUPDa8WeKn7"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uNqL4MKdnpapHVSi9J1K8T",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:5.846129172584467,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.846129172584467,rightTopPartialHeight:5.846129172584467},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:3,leftJoints:["5u61LU9xBr7HzdGUCwG4J6"],rightJoints:["uNqL4MKdnpapHVSi9J1K8T"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uVMbtndXyFhLg9N8igxZL",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:5.846129172584467,centerRoofHeight:[.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:3,leftJoints:["uNqL4MKdnpapHVSi9J1K8T"],rightJoints:["5u61LU9xBr7HzdGUCwG4J6"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"satrCacXQzxtUPDa8WeKn7",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:5.846129172584467,rightRoofHeight:3,centerRoofHeight:[-.5,5.846129172584467],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:3,leftJoints:["satrCacXQzxtUPDa8WeKn7"],rightJoints:["7uVMbtndXyFhLg9N8igxZL"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5u61LU9xBr7HzdGUCwG4J6",parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofId:"iNBeHL8TpJ75nDzdH6Ar6c",leftRoofHeight:3,rightRoofHeight:3,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"iNBeHL8TpJ75nDzdH6Ar6c",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#999999",normal:[0,0,1],rotation:[0,0,0],parentId:"e6BPbJvDHWVEFn61HvpPWK",foundationId:"e6BPbJvDHWVEFn61HvpPWK",roofType:"Gable",textureType:"Roof Texture Default",thickness:.2,wallsId:["5u61LU9xBr7HzdGUCwG4J6"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:.04736842105263009,cy:7.4416382171024535,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e6BPbJvDHWVEFn61HvpPWK",selected:!1}],$an={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.052631578947368425,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.052631578947368425,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.363486288062674,-49.79716924665453,24.823194309796552],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.47561875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.81693136261614,-15.495725419499871,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Qan={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Zan=1,eln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},tln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},nln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},oln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},iln=[],rln={docid:Oan,time:_an,timestamp:Van,userid:Gan,owner:Xan,email:Jan,world:Kan,elements:qan,view:$an,graphState:Qan,evolutionMethod:Zan,solarPanelArrayLayoutParams:eln,solarPanelArrayLayoutConstraints:tln,evolutionaryAlgorithmState:nln,economicsParams:oln,notes:iln},aln="9gaZVfxNNTHLmXcZPRJRXw",lln="09/23/2023 09:34 AM",sln=1695476069953,cln=null,uln=null,dln=null,fln={latitude:42.52092349999999,address:"Leominster State Forest, Leominster, MA 01420, USA",name:"default",airAttenuationCoefficient:.01,ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},dustLoss:.05,cspGridCellSize:.5,cspDaysPerYear:4,discretization:"Approximate",daysPerYear:12,cspTimesPerHour:4,pvGridCellSize:.5,timesPerHour:1,noAnimationForHeatmapSimulation:!1,date:"6/22/2022, 10:00:00 AM",solarRadiationHeatmapGridCellSize:.25,solarPanelVisibilityGridCellSize:.2,noAnimationForSensorDataCollection:!1,longitude:-71.8384068,noAnimationForSolarPanelSimulation:!1},hln=[{parentId:"Ground",selected:!1,cy:.8212100903152009,id:"m7AH7DcnoGzAq9kryBy4RS",type:"Foundation",ly:10.473983232081025,cx:-.22738864151314608,lz:.07401736805849783,hvacSystem:{temperatureThreshold:3,thermostatSetpoint:20,id:"A"},locked:!0,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,solarAbsorberPipe:{},solarUpdraftTower:{},lx:13.564552414056891,solarPowerTower:{},normal:[0,0,1]},{fill:"Full",structureColor:"white",type:"Wall",rightPoint:[-5.457020109151015,3.478026472724187,.1],cx:.5429798908489842,opacity:0,locked:!0,showLabel:!1,relativeAngle:3.141592653589793,lz:3.700868402924892,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:3.478026472724187,ly:.3,leftTopPartialHeight:3.700868402924892,leftPoint:[6.542979890848985,3.478026472724187,.1],lx:12,leftUnfilledHeight:.5,textureType:"Wall Texture Default",cz:0,color:"white",normal:[0,0,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],eavesLength:.2,parentId:"m7AH7DcnoGzAq9kryBy4RS",parapet:{parapetHeight:1,display:!1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",copingsHeight:.1},rightUnfilledHeight:.5,windows:[],rightTopPartialHeight:3.700868402924892,structureSpacing:2,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],selected:!1,leftRoofHeight:3.700868402924892,id:"2u4Fe7xnA6kkXXVGrQ4eyJ",roofId:"nbw17kYeUHp1aouuScuF3Y",wallStructure:"Default",structureWidth:.1,rightRoofHeight:3.700868402924892},{rightPoint:[6.542979890848985,3.478026472724187,.1],structureSpacing:2,relativeAngle:1.5707963267948966,wallStructure:"Default",cz:1.2992388529678256,opacity:.5,textureType:"Wall Texture Default",eavesLength:.2,rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],foundationId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,selected:!1,leftRoofHeight:3.700868402924892,ly:.3,parapet:{copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",parapetHeight:1,display:!1},windows:[],cx:6.542979890848985,color:"white",structureColor:"white",showLabel:!1,rightRoofHeight:3.7008684029248915,structureWidth:.1,leftTopPartialHeight:3.700868402924892,parentId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],rotation:[0,0,0],fill:"Full",rightTopPartialHeight:3.700868402924892,centerRoofHeight:[-.022465454047944533,5.827600046994059],lx:7.5,lz:3.700868402924892,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],id:"8XDG3EHsQoX26MhuzwMYUM",leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y"},{parentId:"m7AH7DcnoGzAq9kryBy4RS",locked:!0,cy:-.27197352727581237,rightTopPartialHeight:3.700868402924892,id:"skm8dNPSkFaVkoUwiPNfq1",centerRoofHeight:[.022465454047944533,5.827600046994059],rightPoint:[-5.457020109151015,-4.021973527275812,.1],roofId:"nbw17kYeUHp1aouuScuF3Y",leftUnfilledHeight:.5,rightUnfilledHeight:.5,rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],wallStructure:"Default",rotation:[0,0,0],showLabel:!1,cz:2.586710917765224,structureColor:"white",structureSpacing:2,selected:!1,leftRoofHeight:3.700868402924892,eavesLength:.2,opacity:.5,color:"white",rightRoofHeight:3.7008684029248915,leftTopPartialHeight:3.700868402924892,textureType:"Wall Texture Default",cx:-5.457020109151015,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],type:"Wall",parapet:{copingsHeight:.1,textureType:"No Wall Texture",display:!1,color:"white",parapetHeight:1,copingsWidth:.5},lz:3.700868402924892,lx:7.5,relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],structureWidth:.1,windows:[],normal:[0,0,1],fill:"Full",ly:.3},{selected:!1,textureType:"Wall Texture Default",cx:.5429798908489842,parapet:{copingsHeight:.1,parapetHeight:1,copingsWidth:.5,color:"white",textureType:"No Wall Texture",display:!1},rotation:[0,0,0],locked:!0,showLabel:!1,rightTopPartialHeight:3.700868402924892,rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],eavesLength:.2,windows:[],normal:[0,0,1],structureColor:"white",roofId:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cV8MyCuhWAsvEyyFuVqVqg",leftPoint:[-5.457020109151015,-4.021973527275812,.1],leftUnfilledHeight:.5,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:-4.021973527275812,structureSpacing:2,structureWidth:.1,lx:12,relativeAngle:0,color:"white",wallStructure:"Default",rightRoofHeight:3.700868402924892,rightUnfilledHeight:.5,leftTopPartialHeight:3.700868402924892,type:"Wall",fill:"Full",lz:3.700868402924892,opacity:0,leftRoofHeight:3.700868402924892,ly:.3,rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,leftJoints:["skm8dNPSkFaVkoUwiPNfq1"]},{ly:8.209748806830484,normal:[0,0,1],cy:-1.588798589487019,hvacSystem:{id:"A",temperatureThreshold:3,thermostatSetpoint:20},selected:!1,id:"8fpWrU7qVyVgipB7LtABom",solarPowerTower:{},solarAbsorberPipe:{},lz:.07401736805849783,cx:.3444310502028619,type:"Foundation",lx:9.082946486026735,solarUpdraftTower:{},rotation:[0,0,0],cz:.05,locked:!0,parentId:"Ground"},{structureWidth:.1,leftRoofHeight:5.712225310760859,rightPoint:[-3.263274891520475,1.612200631492839,0],roofId:"bMyAZV3jeEtHec1SxNb6X8",type:"Wall",fill:"Empty",leftTopPartialHeight:5.234219703671004,leftUnfilledHeight:4.805475873448939,cx:-.034941558187143285,leftPoint:[3.193391775146188,1.612200631492839,0],structureSpacing:2,rightRoofHeight:5.712225310760859,locked:!0,lz:5.234219703671004,rotation:[0,0,0],leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],rightUnfilledHeight:4.805475873448939,wallStructure:"Default",windows:[],parapet:{textureType:"No Wall Texture",display:!1,copingsHeight:.1,parapetHeight:1,color:"white",copingsWidth:.5},opacity:.5,textureType:"Wall Texture Default",ly:.3,id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.612200631492839,lx:6.4566666666666634,normal:[0,0,1],color:"white",parentId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:3.141592653589793,foundationId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,rightTopPartialHeight:5.234219703671004,structureColor:"white",selected:!1,cz:3.903941909848086,eavesLength:0,rightJoints:["1ATAe6P2KAHKLDSDfpVro9"]},{color:"white",rightPoint:[3.1933917751461904,1.612200631492839,0],parentId:"8fpWrU7qVyVgipB7LtABom",opacity:.5,rightRoofHeight:5.712225310760859,structureColor:"white",roofId:"bMyAZV3jeEtHec1SxNb6X8",parapet:{parapetHeight:1,textureType:"No Wall Texture",copingsWidth:.5,color:"white",copingsHeight:.1,display:!1},showLabel:!1,cx:3.193391775146189,eavesLength:.1,id:"4Q8KDQDxyuamkEtRJU3paR",type:"Wall",textureType:"Wall Texture Default",centerRoofHeight:[.5,5.712225310760859],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6.136322990957498,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],cz:3.068161495478749,leftTopPartialHeight:5.234219703671004,structureWidth:.1,rotation:[0,0,0],ly:.3,locked:!1,leftRoofHeight:5.234219703671004,structureSpacing:2,foundationId:"8fpWrU7qVyVgipB7LtABom",windows:[],rightTopPartialHeight:5.760851132763845,leftUnfilledHeight:3.5697809504114297,leftPoint:[3.193391775146188,-1.1632293875304307,0],selected:!1,wallStructure:"Default",lx:2.7754300190232697,normal:[0,0,1],relativeAngle:1.570796326794896,fill:"Partial",rightUnfilledHeight:5.234219703671004,cy:.22448562198120414},{rightTopPartialHeight:5.234219703671004,id:"1ATAe6P2KAHKLDSDfpVro9",parentId:"8fpWrU7qVyVgipB7LtABom",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],showLabel:!1,locked:!1,cy:.22448562198120414,normal:[0,0,1],leftRoofHeight:5.712225310760859,centerRoofHeight:[-.5,5.712225310760859],lz:6.232580143918559,leftTopPartialHeight:5.822758282488435,leftPoint:[-3.263274891520475,1.612200631492839,0],opacity:.5,rightUnfilledHeight:3.5697809504114297,rotation:[0,0,0],rightRoofHeight:5.234219703671004,structureSpacing:2,lx:2.7754300190232697,structureColor:"white",rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],foundationId:"8fpWrU7qVyVgipB7LtABom",eavesLength:.1,rightPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",ly:.3,parapet:{display:!1,copingsHeight:.1,parapetHeight:1,copingsWidth:.5,textureType:"No Wall Texture",color:"white"},type:"Wall",structureWidth:.1,roofId:"bMyAZV3jeEtHec1SxNb6X8",fill:"Partial",color:"white",cz:3.1162900719592797,leftUnfilledHeight:5.234219703671004,relativeAngle:-1.5707963267948966,selected:!1,windows:[],cx:-3.263274891520475,textureType:"Wall Texture Default"},{locked:!0,ceiling:!1,cz:0,rotation:[0,0,0],textureType:"Roof Texture Default",rise:2.126731644069167,selected:!1,normal:[0,0,1],color:"#666666",ly:0,showLabel:!1,lz:0,cx:0,roofType:"Gable",ridgeRightPoint:[-.022465454047944533,1],cy:0,type:"Roof",lx:0,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nbw17kYeUHp1aouuScuF3Y",ridgeLeftPoint:[.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],thickness:.2,foundationId:"m7AH7DcnoGzAq9kryBy4RS"},{leftTopPartialHeight:5.234219703671004,showLabel:!1,windows:[],roofId:"bMyAZV3jeEtHec1SxNb6X8",opacity:.5,parentId:"8fpWrU7qVyVgipB7LtABom",rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],structureWidth:.1,selected:!1,locked:!0,leftUnfilledHeight:3.5697809504114297,color:"white",ly:.3,normal:[0,0,1],structureColor:"white",id:"7xigJB2WiCCrREDc2Ja3YN",rightRoofHeight:5.234219703671004,rightPoint:[3.193391775146188,-1.1632293875304307,0],lz:5.234219703671004,cx:-.034941558187143285,lx:6.4566666666666634,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],cy:-1.1632293875304307,leftRoofHeight:5.234219703671004,leftPoint:[-3.263274891520475,-1.1632293875304307,0],wallStructure:"Default",fill:"Partial",foundationId:"8fpWrU7qVyVgipB7LtABom",parapet:{parapetHeight:1,display:!1,color:"white",copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5},rightTopPartialHeight:5.234219703671004,textureType:"Wall Texture Default",eavesLength:.4,rightUnfilledHeight:3.5697809504114297,relativeAngle:0,rotation:[0,0,0],cz:3.535805069111796,type:"Wall",structureSpacing:2},{color:"#666666",showLabel:!1,locked:!0,ridgeLeftPoint:[-.5,1],id:"bMyAZV3jeEtHec1SxNb6X8",thickness:.1,roofType:"Gable",cy:0,ceiling:!1,textureType:"Roof Texture Default",foundationId:"8fpWrU7qVyVgipB7LtABom",ly:0,lx:0,rotation:[0,0,0],cx:0,normal:[0,0,1],parentId:"8fpWrU7qVyVgipB7LtABom",rise:.4780056070898553,lz:0,selected:!1,ridgeRightPoint:[.5,1],type:"Roof",wallsId:["7xigJB2WiCCrREDc2Ja3YN"],cz:0},{color:"#ffffff",frameWidth:.05,normal:[0,0,1],id:"kT8BzEWny2ZAvkGr4E4KEf",showLabel:!1,mullionSpacing:.5,locked:!0,rotation:[0,0,0],mullionColor:"white",cz:.4037254895427074,type:"Window",mullion:!0,windowType:"Default",cy:.1,selected:!1,tint:"#73D8FF",mullionWidth:.06,ly:.3,lz:.14780124246219536,frame:!0,opacity:.5,shutter:{color:"#4d4d4d",width:.3,showRight:!0,showLeft:!0},lx:.15384615384615385,archHeight:1,parentId:"7xigJB2WiCCrREDc2Ja3YN",cx:-.23283427981414576,foundationId:"8fpWrU7qVyVgipB7LtABom"},{opacity:.5,mullionSpacing:.5,rotation:[0,0,0],windowType:"Default",frameWidth:.05,foundationId:"8fpWrU7qVyVgipB7LtABom",mullion:!0,ly:.3,mullionColor:"white",color:"#ffffff",tint:"#73D8FF",cy:.1,cz:.4037254895427074,locked:!0,parentId:"7xigJB2WiCCrREDc2Ja3YN",id:"7u1AuHohJXNKKJPafwNUFQ",lz:.14780124246219536,archHeight:1,frame:!0,normal:[0,0,1],cx:.23180175529168826,mullionWidth:.06,lx:.15384615384615385,type:"Window",selected:!1,shutter:{width:.3,showLeft:!0,color:"#4d4d4d",showRight:!0}},{id:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,locked:!0,type:"Foundation",cx:6.813410596867628,solarPowerTower:{},normal:[0,0,1],solarUpdraftTower:{},lx:3.6868215598526417,cz:.05,solarAbsorberPipe:{},parentId:"Ground",cy:.16141466329287235,notBuilding:!0,rotation:[0,0,0],lz:.07401736805849783,ly:2.3229214459557985},{eavesLength:.3,opacity:.5,parapet:{display:!1,copingsHeight:.1,textureType:"No Wall Texture",copingsWidth:.5,parapetHeight:1,color:"white"},leftTopPartialHeight:6.661563125264805,windows:[],selected:!1,leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",fill:"Full",cz:0,normal:[0,0,1],ly:.2,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],rightUnfilledHeight:.5,rotation:[0,0,0],wallStructure:"Default",rightTopPartialHeight:6.661563125264805,showLabel:!1,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],cx:.23852160917213716,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",rightPoint:[-.5114783908278628,.8698262658360515,.1],leftUnfilledHeight:.5,lx:1.5,locked:!0,id:"5eUwuiBwfGoNEpcHG5kHqK",structureSpacing:2,cy:.8698262658360515,relativeAngle:3.141592653589793,type:"Wall",structureColor:"white",lz:6.661563125264805,textureType:"Wall Texture #3",structureWidth:.1},{normal:[0,0,1],type:"Wall",rightJoints:["qQNV4qND1aDjEtJsd6HVio"],opacity:.5,eavesLength:.3,textureType:"Wall Texture #3",leftPoint:[-.5114783908278628,.8698262658360516,0],rightUnfilledHeight:1.5096768753682475,cy:.11982626583605155,rotation:[0,0,0],lx:1.5,id:"hbU2xUbmKEDDXYDMWnjjCc",lz:6.661563125264805,rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:4.71238898038469,structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,cx:-.5114783908278628,rightPoint:[-.5114783908278628,-.6301737341639485,0],locked:!0,showLabel:!1,structureColor:"white",parentId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,fill:"Partial",ly:.2,leftUnfilledHeight:1.5096768753682475,wallStructure:"Default",leftTopPartialHeight:6.661563125264805,cz:0,parapet:{copingsHeight:.1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",display:!1,color:"white"},leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"]},{cz:0,lz:6.661563125264805,rotation:[0,0,0],textureType:"Wall Texture #3",cy:-.6301737341639485,rightPoint:[.9885216091721372,-.6301737341639485,.1],normal:[0,0,1],structureSpacing:2,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",selected:!1,leftUnfilledHeight:.5,leftTopPartialHeight:6.661563125264805,leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,copingsWidth:.5,textureType:"No Wall Texture"},cx:.23852160917213716,structureWidth:.1,type:"Wall",rightJoints:["h8DQWwUSgNc283RWhcM3B1"],leftPoint:[-.5114783908278628,-.6301737341639485,.1],rightTopPartialHeight:6.661563125264805,windows:[],relativeAngle:0,parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,ly:.2,structureColor:"white",fill:"Full",id:"qQNV4qND1aDjEtJsd6HVio",opacity:.5,rightUnfilledHeight:.5,showLabel:!1,eavesLength:.3,wallStructure:"Default",locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",textureType:"Wall Texture #3",rotation:[0,0,0],opacity:.5,ly:.2,selected:!1,lz:6.661563125264805,leftJoints:["qQNV4qND1aDjEtJsd6HVio"],cy:.1198262658360515,fill:"Full",parapet:{display:!1,copingsWidth:.5,parapetHeight:1,textureType:"No Wall Texture",color:"white",copingsHeight:.1},relativeAngle:1.5707963267948966,locked:!0,cx:.9885216091721372,parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",structureWidth:.1,rightTopPartialHeight:6.661563125264805,rightUnfilledHeight:.5,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],lx:1.5,type:"Wall",cz:0,leftTopPartialHeight:6.661563125264805,eavesLength:.3,windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],leftUnfilledHeight:.5,wallStructure:"Default",structureColor:"white",showLabel:!1,structureSpacing:2,rightPoint:[.9885216091721372,.8698262658360515,.1],normal:[0,0,1]},{mullionColor:"white",windowType:"Default",cy:0,cz:0,frame:!0,ly:.3,cx:-.375,locked:!0,id:"wpUTVyngSAjDJDRdEV1NA6",shutter:{color:"#4d4d4d",showRight:!0,width:.25,showLeft:!0},showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frameWidth:.05,type:"Window",tint:"#73D8FF",mullionSpacing:.7,mullion:!0,color:"#ffffff",archHeight:1,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lz:.44384979425833565,lx:.08333333333333333,selected:!1,mullionWidth:.06,rotation:[0,0,0],normal:[0,0,1],opacity:.5},{locked:!0,archHeight:1,cx:-.20833333333333334,lx:.08333333333333333,cy:.1,cz:-.005759415706553773,mullionColor:"white",mullionSpacing:.7,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},frameWidth:.05,mullionWidth:.06,lz:.44384979425833565,mullion:!0,opacity:.5,color:"#ffffff",parentId:"cV8MyCuhWAsvEyyFuVqVqg",normal:[0,0,1],type:"Window",frame:!0,tint:"#73D8FF",windowType:"Default",rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,id:"5ncRWHnRQyocXJujBx5jNE",selected:!1},{cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,mullionSpacing:.7,windowType:"Default",mullionWidth:.06,mullionColor:"white",id:"piUU3YZv2L1Zvedb6EFfFm",lz:.44384979425833565,rotation:[0,0,0],selected:!1,locked:!0,mullion:!0,cx:.19999999999999998,parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,archHeight:1,type:"Window",frame:!0,shutter:{width:.25,color:"#4d4d4d",showLeft:!0,showRight:!0},cz:-.005759415706553773,color:"#ffffff",normal:[0,0,1],frameWidth:.05,tint:"#73D8FF",opacity:.5},{cx:.37499999999999994,lx:.08333333333333333,shutter:{width:.25,showLeft:!0,showRight:!0,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],mullionWidth:.06,mullionSpacing:.7,normal:[0,0,1],lz:.44384979425833565,ly:.3,selected:!1,frameWidth:.05,opacity:.5,mullion:!0,parentId:"cV8MyCuhWAsvEyyFuVqVqg",id:"upiLr8uqx55GDieKSLsjPj",frame:!0,cy:0,cz:0,archHeight:1,type:"Window",color:"#ffffff",locked:!0,mullionColor:"white",tint:"#73D8FF",windowType:"Default"},{mullionSpacing:.7,tint:"#73D8FF",type:"Window",id:"d9R7TXr9G1aG6bGwu14v9k",frameWidth:.05,lx:.13333333333333333,cx:.3466666666666667,windowType:"Default",mullion:!0,mullionColor:"white",archHeight:1,cy:0,normal:[0,0,1],ly:.3,locked:!0,rotation:[0,0,0],lz:.3942112571821837,selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",parentId:"skm8dNPSkFaVkoUwiPNfq1",mullionWidth:.06,frame:!0,opacity:.5,cz:-.05913168857732756,showLabel:!1,shutter:{showRight:!0,color:"#4d4d4d",showLeft:!0,width:.25},color:"#ffffff"},{tint:"#73D8FF",mullion:!0,normal:[0,0,1],opacity:.5,lz:.3942112571821837,selected:!1,shutter:{showLeft:!0,width:.25,color:"#4d4d4d",showRight:!0},cz:.5913168857732756,type:"Window",mullionWidth:.06,mullionSpacing:.7,mullionColor:"white",windowType:"Default",ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",frameWidth:.05,locked:!0,id:"9k4wgdGyyHM5BC1r2nJbQH",archHeight:1,rotation:[0,0,0],color:"#ffffff",cy:0,cx:0,lx:.13333333333333333},{mullionColor:"white",cx:0,cz:-.05913168857732756,type:"Window",lx:.13333333333333333,rotation:[0,0,0],windowType:"Default",color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",ly:.3,shutter:{showLeft:!0,showRight:!0,width:.25,color:"#4d4d4d"},foundationId:"m7AH7DcnoGzAq9kryBy4RS",archHeight:1,cy:0,mullionSpacing:.7,lz:.3942112571821837,id:"rgPxjoaTPqdF2tQvSYYJxX",frameWidth:.05,selected:!1,tint:"#73D8FF",opacity:.5,locked:!0,frame:!0,mullionWidth:.06,normal:[0,0,1],mullion:!0},{mullionColor:"white",cz:-.05913168857732756,normal:[0,0,1],frame:!0,windowType:"Default",opacity:.5,ly:.3,mullionWidth:.06,cx:-.3333333333333333,color:"#ffffff",lz:.3942112571821837,lx:.13333333333333333,mullionSpacing:.7,cy:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",rotation:[0,0,0],id:"85T9TwcUR7am6Rcbs7Fcvu",type:"Window",selected:!1,frameWidth:.05,locked:!0,mullion:!0,parentId:"skm8dNPSkFaVkoUwiPNfq1",archHeight:1,shutter:{width:.25,showRight:!0,color:"#4d4d4d",showLeft:!0}},{lx:.544,lz:1.68,cz:.03700868412852199,rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",type:"Human",cy:-3.5804269948570657,ly:.544,locked:!0,normal:[0,1,0],id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,cx:-.09889479147539992,name:"Judd"},{locked:!0,lx:7.849178627898182,cz:0,id:"t5Aj8tjjpqVaLaB3uEqfR8",cy:-3.6653094140688935,rotation:[0,0,0],type:"Tree",normal:[0,1,0],lz:8.26765132308192,parentId:"Ground",selected:!1,cx:11.305837530144139,name:"Magnolia"},{parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",mullionSpacing:.7,archHeight:1,selected:!1,lz:.3942112571821837,lx:.13333333333333333,windowType:"Default",rotation:[0,0,0],shutter:{width:.25,showRight:!0,showLeft:!0,color:"#4d4d4d"},ly:.3,cz:-.08,locked:!0,cx:-.25833333333333336,frame:!0,color:"#ffffff",frameWidth:.05,mullionWidth:.06,id:"dGQYRX5aMuZKouydnVo1zc",mullionColor:"white",mullion:!0,normal:[0,0,1],tint:"#73D8FF",cy:-13376344861350336e-31,opacity:.5},{foundationId:"m7AH7DcnoGzAq9kryBy4RS",ly:.3,color:"#ffffff",mullion:!0,frame:!0,normal:[0,0,1],mullionWidth:.06,rotation:[0,0,0],type:"Window",selected:!1,lx:.13333333333333333,mullionColor:"white",tint:"#73D8FF",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",locked:!0,windowType:"Default",shutter:{showRight:!0,showLeft:!0,width:.25,color:"#4d4d4d"},frameWidth:.05,archHeight:1,cx:.26666666666666666,cz:-.08,mullionSpacing:.7,opacity:.5,cy:-11010413489448665e-30,id:"cni5XLCGZ7vNfLqxjgsnua",lz:.3942112571821837},{lx:.10833333333333332,color:"white",showLabel:!1,textureType:"Door Texture Default",lz:.716165481422614,normal:[0,1,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",filled:!0,type:"Door",locked:!0,doorType:"Default",ly:0,selected:!1,archHeight:1,cy:0,cz:-.14191725928869298,rotation:[0,0,0],opacity:1,id:"j9wJCoWK33fz7y9VeMvYET",cx:.004166666666666666},{id:"hDyRWYv3zznENZxyb7giJb",parentId:"Ground",selected:!1,ly:.43,name:"Jess",cy:-3.1477838439296697,rotation:[0,0,0],type:"Human",locked:!0,cx:10.043178984637636,cz:0,lz:1.5,normal:[0,1,0],lx:.43},{lx:1,id:"rQBZjpiN17FBa7zVGS29EM",name:"Hosta",locked:!0,parentId:"Ground",rotation:[0,0,0],cx:-4.865498633056688,cz:4440892098500626e-31,cy:-5.35511145051621,type:"Flower",lz:.7,selected:!1,normal:[0,1,0]},{cx:-5.913277609806336,parentId:"Ground",rotation:[0,0,0],normal:[0,1,0],lz:.7,cy:-5.374330832155909,type:"Flower",lx:1,name:"Hosta",cz:0,locked:!0,id:"gc42wB2NVDE3XxmJXbCjzF",selected:!1},{parentId:"Ground",selected:!1,normal:[0,1,0],id:"vUf5PGrUMVgXbqYPHJhogg",cz:0,type:"Flower",locked:!0,rotation:[0,0,0],cy:-5.032667389054726,name:"Hosta",cx:5.365516144068206,lz:.7,lx:1},{type:"Flower",cz:0,lx:1,selected:!1,normal:[0,1,0],locked:!0,id:"nQJ3744KdWm46uETjWgCgh",name:"Hosta",cy:-5.0400985854852,lz:.7,parentId:"Ground",rotation:[0,0,0],cx:6.451426749352761},{normal:[0,1,0],lx:.4,name:"Bellflower",selected:!1,type:"Flower",cx:10.305907483983008,lz:.8,locked:!0,cz:-4440892098500626e-31,rotation:[0,0,0],parentId:"Ground",cy:-4.741244078804888,id:"v55S46CRAfNBqtvC7SejWL"},{type:"Flower",selected:!1,locked:!0,cz:0,rotation:[0,0,0],lz:.8,name:"Bellflower",cx:10.64587810641245,normal:[0,1,0],lx:.4,cy:-5.149011385356842,parentId:"Ground",id:"cjq5zpMwEQ68Pvr3BHuvAN"},{locked:!0,lx:.4,selected:!1,id:"bq7T5SUabm6WYJRf7MELsr",type:"Flower",parentId:"Ground",cz:0,cy:-5.113715548843749,name:"Bellflower",normal:[0,1,0],lz:.8,rotation:[0,0,0],cx:11.069278217326396},{parentId:"Ground",selected:!1,rotation:[0,0,0],cz:0,type:"Flower",name:"Bellflower",id:"kGacG4GbyL6sr53BA3szew",lx:.4,cx:10.087718880149556,normal:[0,0,1],cy:-5.171937637087455,locked:!0,lz:.8},{rotation:[0,0,0],parentId:"Ground",cz:0,id:"3mzXsN58FdxQCLpv8kVCYw",normal:[0,0,1],selected:!1,name:"Bellflower",locked:!0,cx:11.337264912334188,lx:.4,type:"Flower",lz:.8,cy:-4.906129973770318},{rotation:[0,0,0],normal:[0,0,1],cy:-3.991597909938303,cz:0,name:"Bellflower",locked:!0,lz:.8,type:"Flower",lx:.4,id:"acUhTF9RVe5riGAE9cfhJn",cx:10.431075288929677,parentId:"Ground",selected:!1},{name:"Bellflower",id:"ooTJkhwo3iWiDqyRe6jwef",cx:9.86441386534317,cy:-4.67810479084557,parentId:"Ground",normal:[0,0,1],selected:!1,lx:.4,locked:!0,rotation:[0,0,0],cz:-8881784197001252e-31,type:"Flower",lz:.8},{lz:.5,rotation:[0,0,0],name:"White Flower",selected:!1,type:"Flower",cz:0,lx:.8,id:"p8SDFTinzKkCMVNKYGXSQU",cx:9.406250442154278,normal:[0,1,0],locked:!0,cy:-4.8162245440076354,parentId:"Ground"},{cz:0,selected:!1,cx:9.924833666037356,type:"Flower",rotation:[0,0,0],locked:!0,name:"White Flower",cy:-5.548260780564018,parentId:"Ground",lz:.5,lx:.8,normal:[0,0,1],id:"vXr6WeGdxpL14pfLB8tAGS"},{normal:[0,1,0],rotation:[0,0,0],lz:2,selected:!1,cz:.03700868412863657,parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.8637473869150567,locked:!0,lx:1,id:"8jaD71ndVi3Pxu67kBrHve",name:"Tall Bush",type:"Flower",cy:-5.021658074995834},{normal:[0,0,1],cx:1.960367825542456,lz:2,name:"Tall Bush",locked:!0,cz:.03700868412852288,parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"xu93thGDcf75KxzfVpckCK",lx:1,rotation:[0,0,0],cy:-5.044972777905908,selected:!1,type:"Flower"},{rotation:[0,0,0],id:"aPfi6ru8UEQvmRY7YmRfhQ",selected:!1,lx:2,cx:-2.974917470063473,name:"Hydrangea",parentId:"m7AH7DcnoGzAq9kryBy4RS",type:"Flower",lz:1.5,locked:!0,cy:-4.971526921550339,cz:.03700868412852377,normal:[0,0,1]},{cx:2.9943532379673203,lx:2,rotation:[0,0,0],selected:!1,cz:.03700868412852288,name:"Hydrangea",type:"Flower",parentId:"8fpWrU7qVyVgipB7LtABom",normal:[0,0,1],id:"p12f94kQKCXpPNEEPe9ktz",cy:-2.3800793411851497,locked:!0,lz:1.5},{parentId:"Ground",cz:4440892098500626e-31,cx:-8.658559512721883,id:"8MCf8WzkvdtkVT9MPmDy4G",cy:.2268652768492938,rotation:[0,0,0],normal:[0,0,1],lx:5.410682322966088,locked:!0,type:"Tree",selected:!1,lz:5.9930306282885,name:"Magnolia"},{name:"Yellow Flower",type:"Flower",locked:!0,rotation:[0,0,0],cy:-3.717743510806919,id:"kwZdR8kant3eBoLCjjUQCJ",lx:2,selected:!1,normal:[0,0,1],lz:1.4,cx:-8.813697651847779,parentId:"Ground",cz:-4440892098500626e-31},{lx:1,parentId:"Ground",lz:.7,rotation:[0,0,0],cx:-9.660182286895216,selected:!1,cy:-.10473626441648776,type:"Flower",cz:0,locked:!0,normal:[0,0,1],name:"Hosta",id:"hM4s39UWZUWNoUSUMHrmbJ"},{lz:.7,id:"nQgYQhsWvwPQorjAb4dSNv",rotation:[0,0,0],selected:!1,locked:!0,cz:0,cx:-9.04189556545002,cy:-.8584081924043119,lx:1,name:"Hosta",type:"Flower",normal:[0,0,1],parentId:"Ground"},{selectedIndex:1,noOutline:!0,lx:.4,id:"eYBEchBwdGr5aCP6pHEkhr",vertices:[{x:-.04166666666666669,y:-.13775856472283443},{y:-.00265513883370061,x:-.04166666666666669},{x:.041666666666666616,y:-.00265513883370061},{x:.041666666666666616,y:-.13775856472283443}],text:"175",opacity:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",fontSize:.3,cy:-.2942089556230589,rotation:[0,0,0],ly:.4,selected:!1,normal:[0,0,1],fontStrokeWidth:.01,cz:0,parentType:"Wall",lz:.4,fontColor:"gold",parentId:"cV8MyCuhWAsvEyyFuVqVqg",filled:!0,type:"Polygon",locked:!0,cx:-.00213352886578518,color:"#ffffff"},{lx:.10666666666666667,locked:!0,parentId:"8XDG3EHsQoX26MhuzwMYUM",normal:[0,1,0],type:"Door",cz:-.3986137684780472,lineWidth:.2,doorType:"Default",textureType:"Door Texture #8",uValue:10,color:"#ffffff",rotation:[0,0,0],selected:!1,archHeight:1,ly:0,lz:.20277246304390567,interior:!0,filled:!1,id:"d48TNpLXWZQD5hZa4SumwF",showLabel:!1,lineColor:"#000000",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.013333333333333334,cy:0},{type:"Window",color:"#ffffff",empty:!0,opacity:.5,normal:[0,-1,0],parentType:"Roof",lx:6.2858321442603895,rotation:[.535854716076799,0,0],lineColor:"#000000",lz:2.946512926202779,foundationId:"m7AH7DcnoGzAq9kryBy4RS",frame:!0,ly:.2,cz:4.9719401800066105,showLabel:!1,cy:-2.2182418146601295,windowType:"Default",sillWidth:0,mullionSpacing:.5,frameWidth:.1,mullion:!1,locked:!0,uValue:2,selected:!1,mullionColor:"#ffffff",interior:!0,cx:.546396492045166,tint:"#73D8FF",archHeight:1,id:"qbq4krxSBYqvGnjWC2BaZ6",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},parentId:"nbw17kYeUHp1aouuScuF3Y",lineWidth:.2,mullionWidth:.06}],pln=19,gln={visibilityResultsPanelY:0,showSunAngles:!1,showYearlyBuildingEnergyPanel:!1,yearlyPvYieldPanelY:0,mapWeatherStations:!1,enableRotate:!0,showYearlyHeliostatYieldPanel:!1,heatFluxScaleFactor:5,dailyParabolicTroughYieldPanelY:0,dailyBuildingEnergyPanelRect:{y:237,height:360,x:-520,width:600},yearlyParabolicTroughYieldPanelY:0,showDesignInfoPanel:!1,cameraPosition:[-8.799358255746082,-16.959783561056284,1.954611653271045],yearlyPvYieldPanelX:0,yearlyHeliostatYieldPanelY:0,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,stickyNotePanelY:0,cameraZoom:38.96037486782549,autoRotate:!1,yearlyBuildingEnergyPanelRect:{height:400,x:-78,y:157,width:600},showSolarPanelVisibilityResultsPanel:!1,yearlyParabolicDishYieldPanelX:0,mapTilt:0,weatherPanelX:0,theme:"Hill",yearlyHeliostatYieldPanelX:0,showMapPanel:!1,groundColor:"forestgreen",dailyFresnelReflectorYieldPanelX:0,dailyPvYieldPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicDishYieldPanelY:0,dailyHeliostatYieldPanelX:0,showDailyHeliostatYieldPanel:!1,ambientLightIntensity:.2,axes:!0,solarRadiationHeatMapMaxValue:5,directLightIntensity:2,groundImage:!1,mapPanelX:0,showWeatherPanel:!1,showYearlyParabolicDishYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:0,showHeliodonPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:0,showYearlyParabolicTroughYieldPanel:!1,mapZoom:18,heliodonPanelY:0,dailyFresnelReflectorYieldPanelY:0,dailyLightSensorPanelY:0,yearlyParabolicDishYieldPanelY:0,weatherPanelY:0,mapType:"roadmap",yearlyFresnelReflectorYieldPanelY:0,showDailyBuildingEnergyPanel:!1,showDailyParabolicTroughYieldPanel:!1,heliodonPanelX:0,visibilityResultsPanelX:0,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelX:0,orthographic:!1,yearlyParabolicTroughYieldPanelX:0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,dailyLightSensorPanelX:0,showDailyParabolicDishYieldPanel:!1,heliodon:!1,cameraPosition2D:[.3385955283596493,-.9616823668411001,150],showYearlyPvYieldPanel:!1,navigationView:!1,panCenter:[-1.2725556781216778,-2.9298638165589974,1.954611653271045],panCenter2D:[.3385955283596493,-.960681989394115,-984385140521351e-21],showInstructionPanel:!0,dailyHeliostatYieldPanelY:0,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelX:0,yearlyLightSensorPanelX:0,showSiteInfoPanel:!0,showDailyLightSensorPanel:!1},mln={yearlyHeliostatIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1},yln=1,Aln={poleSpacing:3,interRowSpacing:2,tiltAngle:0,orientation:"Landscape",poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK"},wln={maximumTiltAngle:1.5707963267948966,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",poleSpacing:5,poleHeight:1,minimumInterRowSpacing:2,maximumRowsPerRack:6,minimumRowsPerRack:1},vln={geneticAlgorithmParams:{mutationRate:.1,localSearchRadius:.1,populationSize:20,selectionMethod:1,crossoverRate:.5,convergenceThreshold:.01,searchMethod:1,selectionRate:.5,problem:"Solar Panel Tilt Angle",maximumGenerations:5,objectiveFunctionType:1},particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,localSearchRadius:.1,vmax:.01,maximumSteps:5,problem:"Solar Panel Tilt Angle",swarmSize:20,cognitiveCoefficient:.1,inertia:.8,objectiveFunctionType:1,socialCoefficient:.1}},xln={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},bln="Unknown",Sln=null,Tln=null,Pln=null,Cln=null,Rln=[],Hln=3,Mln=3,Iln={docid:aln,time:lln,timestamp:sln,userid:cln,owner:uln,email:dln,world:fln,elements:hln,sceneRadius:pln,view:gln,graphState:mln,evolutionMethod:yln,solarPanelArrayLayoutParams:Aln,solarPanelArrayLayoutConstraints:wln,evolutionaryAlgorithmState:vln,economicsParams:xln,modelType:bln,modelAuthor:Sln,modelLabel:Tln,modelDescription:Pln,designProjectType:Cln,notes:Rln,minimumNavigationMoveSpeed:Hln,minimumNavigationTurnSpeed:Mln},zln="4MEDLVu1wYqsKgVHnu73g2",Dln="06/19/2023 12:53 pm",Eln=1687193611217,kln="QWecNcxhyvP6j6sBN11hBsfZDau1",Fln=null,Lln=null,Wln={solarRadiationHeatmapGridCellSize:.25,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Nln=[{ly:11.161213715568111,solarUpdraftTower:{},parentId:"Ground",cx:.43688740998646924,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.6256010051791083,type:"Foundation",solarPowerTower:{},lx:15.01849429025864,lz:.15,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.075,enableGroupMaster:!0,color:"#999999",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",ly:.1,rightPoint:[-6.121296160650631,3.6736355578602797,.15],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[5.878703839349369,3.6736355578602797,.15],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12129616065063109,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.6736355578602797,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.878703839349369,leftPoint:[5.878703839349369,-3.8263644421397207,.15],cy:-.07636444213971982,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.878703839349369,3.6736355578602797,.15],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,roofId:"78T3MkimgRTSnmRTMhRnJm",color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"78T3MkimgRTSnmRTMhRnJm",selected:!1,cy:-.07636444213971982,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.121296160650631,3.6736355578602797,.15],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.1,cx:-6.121296160650631,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:-.12129616065063109,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.878703839349369,-3.8263644421397207,.15],cz:2.4938633836176103,textureType:"No Wall Texture",cy:-3.8263644421397207,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"78T3MkimgRTSnmRTMhRnJm",leftPoint:[-6.121296160650631,-3.8263644421397207,.15],normal:[0,0,1],ly:.1,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#009ce0",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#009ce0",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#009ce0",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#009ce0",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#009ce0",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},tint:"#73D8FF",locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Door",cx:-.006666666666666672,cy:0,cz:-.18779489182743653,lx:.2,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Judd",cx:-1.6517669050671016,cy:-5.151915789984621,cz:0,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.544,locked:!1,flip:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#009ce0",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.3},selected:!1,locked:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",cx:11.865118463765427,cy:-5.577986315935053,cz:8881784197001252e-31,lx:16.05619920115618,lz:13.259443372641188,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-3.0750695946303814,cy:-4.227743581523945,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.0998220675663912,cy:5.661327124584192,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-1.443673320056662,cy:5.538396761407162,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:3.7512645617671208,cy:-4.363148504838203,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:-12.252366424027322,cy:-4.618748106171015,cz:0,lx:8.855861155358149,lz:12.194962084865425,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!1},{type:"Human",name:"Jena",cx:.8275383928823183,cy:-9.624350207348813,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Elm",cx:13.111399109297015,cy:-1.1973027476553462,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!1,flip:!0},{type:"Wall",cx:-2.2052541270362322,cy:.8790814624363403,cz:3.903941909848086,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["7th3drNVpuY5AYVdUWYMmr"],rightJoints:["4phTBDkfBQXjkb4Rk7FnE9"],leftPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],rightPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"nKrKhaZnvb6NWdN1cuPNPQ",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-1.390168431935146,cy:.1417655180283693,cz:3.5644394786617815,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["kWszqFPBGdK8r8abVTohoG"],rightJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],leftPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],rightPoint:[-1.3901684319351464,.8790814624363403,.13318518579593203],relativeAngle:1.570796326794897,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"7th3drNVpuY5AYVdUWYMmr",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-3.020339822137318,cy:.14176551802837095,cz:3.660138480027889,lx:1.4746318888159395,ly:.1,lz:7.36138516954615,leftJoints:["nKrKhaZnvb6NWdN1cuPNPQ"],rightJoints:["kWszqFPBGdK8r8abVTohoG"],leftPoint:[-3.020339822137318,.8790814624363402,.13318518579593203],rightPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"4phTBDkfBQXjkb4Rk7FnE9",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Wall",cx:-2.2052541270362322,cy:-.5955504263796001,cz:3.535805069111796,lx:1.6301713902021722,ly:.1,lz:7.36138516954615,leftJoints:["4phTBDkfBQXjkb4Rk7FnE9"],rightJoints:["7th3drNVpuY5AYVdUWYMmr"],leftPoint:[-3.020339822137318,-.5955504263796002,.13318518579593203],rightPoint:[-1.390168431935146,-.5955504263796001,.13318518579593203],relativeAngle:0,textureType:"No Wall Texture",color:"#c45100",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"kWszqFPBGdK8r8abVTohoG",parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",studWidth:.1,roofId:"a4xCB5WuiLgF5jeoo2tZKb",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.991111147755922,rightTopPartialHeight:7.991111147755922,leftRoofHeight:7.36138516954615,rightRoofHeight:7.36138516954615},{type:"Foundation",cx:.3077078971226189,cy:3.0276471134665144,cz:.05,lx:6.050585488591402,ly:1.8221381985905813,lz:.13318518579593203,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tn6VdYYXt613XceYDyUpJ9",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Tree",name:"Elm",cx:20.67846328505893,cy:-9.20268218529909,cz:0,lx:12.433839488245253,lz:9.836057268637402,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"6U6bXmGtKfkYqAs2kythZy",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:-10.79612992548108,cy:-.5136286397841126,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kMBedsoq9QVDjasDrQWT4V",selected:!1,locked:!1},{type:"Window",cx:-.012652630358459416,cy:.3,cz:-.43145161207114374,lx:.7034406025498919,ly:.1,lz:.1120689672961754,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"j6NUHZizYhFTiAyWQhXoD9",locked:!1},{type:"Polygon",cx:.07638982322958343,cy:-.25928828992332453,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333336,y:-.3349639302840458},{x:-.08333333333333336,y:-.21055371393891886},{x:.08333333333333327,y:-.21055371393891886},{x:.08333333333333327,y:-.3349639302840458}],parentId:"cV8MyCuhWAsvEyyFuVqVqg",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"riLcPLsK7W8zeEnjZw8gRf",text:"1776",fontSize:.3,fontColor:"gold",opacity:0,noOutline:!0,fontStrokeWidth:.01,locked:!1},{type:"Foundation",cx:.33379757598519466,cy:-2.7971719396742896,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"qGYqGFx5QHvCYMPqUamwtg",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["fHfbtb59n24haPtRTBRcYJ"],rightJoints:["1jiwH1dGqmJCE577Ac4BpJ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oQTYhBNys7ET4C3deVBZ5Q",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],rightJoints:["oQTYhBNys7ET4C3deVBZ5Q"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHfbtb59n24haPtRTBRcYJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["oQTYhBNys7ET4C3deVBZ5Q"],rightJoints:["5nN1y4Kn3NGWF4MsuL2gGg"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jiwH1dGqmJCE577Ac4BpJ",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1jiwH1dGqmJCE577Ac4BpJ"],rightJoints:["fHfbtb59n24haPtRTBRcYJ"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5nN1y4Kn3NGWF4MsuL2gGg",parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"rYxSTT1cUyicscf7Y4FuC6",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLmsMTSYV91NUMvpsqsFiG",parentId:"5nN1y4Kn3NGWF4MsuL2gGg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"rYxSTT1cUyicscf7Y4FuC6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"qGYqGFx5QHvCYMPqUamwtg",foundationId:"qGYqGFx5QHvCYMPqUamwtg",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1jiwH1dGqmJCE577Ac4BpJ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.27,thickness:.1,rValue:2,color:"#4d4d4d",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["7th3drNVpuY5AYVdUWYMmr","nKrKhaZnvb6NWdN1cuPNPQ","4phTBDkfBQXjkb4Rk7FnE9","kWszqFPBGdK8r8abVTohoG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tn6VdYYXt613XceYDyUpJ9",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"a4xCB5WuiLgF5jeoo2tZKb",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"7th3drNVpuY5AYVdUWYMmr",foundationId:"tn6VdYYXt613XceYDyUpJ9",id:"bgYTJi5DzEFJGVCo57XuYk",locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6134324317125827,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ooToYHmPZvhwYzrAb3RyWE",parentId:"nKrKhaZnvb6NWdN1cuPNPQ",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:0,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gozabRkLLupzqY7JtKZ5DU",parentId:"4phTBDkfBQXjkb4Rk7FnE9",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Window",cx:.03235145506019523,cy:.3,cz:.4627363727730651,lx:.6781353418329732,ly:.1,lz:.04949944589233271,uValue:2,mullion:!0,mullionWidth:.01,mullionSpacing:.1,mullionColor:"#4d4d4d",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"suAHKZgUHocvdJbxFoH78W",parentId:"kWszqFPBGdK8r8abVTohoG",foundationId:"tn6VdYYXt613XceYDyUpJ9",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1},{type:"Foundation",cx:3.2150216052788303,cy:-2.8132764716626193,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"gh4c13r9yNg7ppA3VVwrX8",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["9qfdnpKV9WxuYmpphDkmD4"],rightJoints:["j9Z8EowBvMVCM2dwgKYy1y"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trW1X3K7auhSfAooobgEiw",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["3x1iWRnJVD2nF7eUVd16Wm"],rightJoints:["trW1X3K7auhSfAooobgEiw"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9qfdnpKV9WxuYmpphDkmD4",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["trW1X3K7auhSfAooobgEiw"],rightJoints:["3x1iWRnJVD2nF7eUVd16Wm"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j9Z8EowBvMVCM2dwgKYy1y",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["j9Z8EowBvMVCM2dwgKYy1y"],rightJoints:["9qfdnpKV9WxuYmpphDkmD4"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3x1iWRnJVD2nF7eUVd16Wm",parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"685MKS7u6S8wM1nxD2jLoc",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6LzR6eV1uwci9irbGqdmsg",parentId:"3x1iWRnJVD2nF7eUVd16Wm",foundationId:"gh4c13r9yNg7ppA3VVwrX8",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"685MKS7u6S8wM1nxD2jLoc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"gh4c13r9yNg7ppA3VVwrX8",foundationId:"gh4c13r9yNg7ppA3VVwrX8",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["j9Z8EowBvMVCM2dwgKYy1y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Foundation",cx:-4.860568941525044,cy:.763315834515849,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"js7EaM7SDLKEtCc7cBhAUc",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["tJ9GgBix3PLQrNArenRuzc"],rightJoints:["mnsM5PmgqiqpCUSahppEQQ"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"4oWBJBVuW5ddc3zLD4mbeh",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["41NvU5MXffjBBr51nmDdGG"],rightJoints:["4oWBJBVuW5ddc3zLD4mbeh"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"tJ9GgBix3PLQrNArenRuzc",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4oWBJBVuW5ddc3zLD4mbeh"],rightJoints:["41NvU5MXffjBBr51nmDdGG"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"mnsM5PmgqiqpCUSahppEQQ",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["mnsM5PmgqiqpCUSahppEQQ"],rightJoints:["tJ9GgBix3PLQrNArenRuzc"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"41NvU5MXffjBBr51nmDdGG",parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bz1WrgXhu5EcEAR9GxS6yF",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9EeeFoACPVE8MLe3zorx4K",parentId:"41NvU5MXffjBBr51nmDdGG",foundationId:"js7EaM7SDLKEtCc7cBhAUc",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"bz1WrgXhu5EcEAR9GxS6yF",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"js7EaM7SDLKEtCc7cBhAUc",foundationId:"js7EaM7SDLKEtCc7cBhAUc",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["mnsM5PmgqiqpCUSahppEQQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],ridgeWidth:1.783225650631956,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"78T3MkimgRTSnmRTMhRnJm",locked:!1,rise:2.3357705249971685,ceiling:!1},{type:"Foundation",cx:5.500184342397144,cy:.616975206751395,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"f7TRNhRrBM6HewS6E1guoW",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],rightJoints:["1hwtcWgsscfNjYqgnjhvtn"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"pNGTThD5hH42KcpY4sRcaQ",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["eqjL2dbMLsHLvayC5LyFuv"],rightJoints:["pNGTThD5hH42KcpY4sRcaQ"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"rRB8ra1Qwyw4iiHGHnpVZi",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["pNGTThD5hH42KcpY4sRcaQ"],rightJoints:["eqjL2dbMLsHLvayC5LyFuv"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"1hwtcWgsscfNjYqgnjhvtn",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["1hwtcWgsscfNjYqgnjhvtn"],rightJoints:["rRB8ra1Qwyw4iiHGHnpVZi"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"eqjL2dbMLsHLvayC5LyFuv",parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"hWL7sH8U7YoQ4wHgsqH7VK",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-.0038568156424866754,cy:.3,cz:.4134081675516749,lx:.692708509302027,ly:.1,lz:.1601496684366832,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mDEuMJDYX8TiA5aadxRnBu",parentId:"eqjL2dbMLsHLvayC5LyFuv",foundationId:"f7TRNhRrBM6HewS6E1guoW",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"hWL7sH8U7YoQ4wHgsqH7VK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"f7TRNhRrBM6HewS6E1guoW",foundationId:"f7TRNhRrBM6HewS6E1guoW",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["1hwtcWgsscfNjYqgnjhvtn"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-2.9061219154167555,cy:-3.497482825893301,cz:5.031519407546503,lx:1.300297700517698,ly:.1,lz:1.9655762500908776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"dqF6aB1PLVLHAKyQxUkNWg",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-.13217799837949085,cy:-3.466819756320384,cz:5.102337732905447,lx:1.0067165265651998,ly:.1,lz:2.114356430670708,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674956,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"s7X1mdRRoj7fgg7jLfkGQy",locked:!1,interior:!0,empty:!0,polygonTop:[.013284896561776944,.31018938223150583]},{type:"Window",cx:2.7465783818144205,cy:-3.5046143246410884,cz:5.015048753901841,lx:1.1969599659290129,ly:.1,lz:1.7862306602865088,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[1.1621842141674958,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"4ExkckYEtLvi3sMjGcHsBj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:-5.33506170232176,cy:.09994590152917182,cz:5.333416244357606,lx:1.2282372453539805,ly:.1,lz:1.511969232086556,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,4.71238898038469],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFPFPr9Hy5FNU5ri2g3ZMj",locked:!1,interior:!0,empty:!0},{type:"Window",cx:5.09996147816442,cy:-.02661611464564695,cz:5.321843608513025,lx:1.1961819365662594,ly:.1,lz:1.1993416949141293,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#888",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.9962527086505618,0,1.5707963267948966],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hYKzofeHiHD2fL3mK24K6U",locked:!1,interior:!0,empty:!0},{type:"Foundation",cx:-2.443546493608035,cy:-2.7953215648047354,cz:.05,lx:2.007222071597162,ly:3.3579733671910272,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},rValue:2,id:"k5csVFnyrpYrBkQNWDouaF",selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:.6594266049428096,cz:3.903941909848086,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,fill:"Empty",leftUnfilledHeight:3.8676606000295384,rightUnfilledHeight:3.8676606000295384,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["hhfft6jEyF5V7W3kNGR7VB"],rightJoints:["vuuABxxTWnhAaFBLMw5wsz"],leftPoint:[.7057012241777734,.6594266049428096,0],rightPoint:[-.7211445534800273,.6594266049428096,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uTXQVHi382ou2WhVmDTfzD",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Wall",cx:.7057012241777735,cy:.09181970821117244,cz:3.5644394786617815,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["4fS3C4uw4LVSpSngSsA7dR"],rightJoints:["uTXQVHi382ou2WhVmDTfzD"],leftPoint:[.7057012241777734,-.4757871885204647,0],rightPoint:[.7057012241777736,.6594266049428096,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhfft6jEyF5V7W3kNGR7VB",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.7211445534800273,cy:.09181970821117244,cz:3.660138480027889,lx:1.1352137934632742,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.1,fill:"Partial",leftUnfilledHeight:6,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["uTXQVHi382ou2WhVmDTfzD"],rightJoints:["4fS3C4uw4LVSpSngSsA7dR"],leftPoint:[-.7211445534800273,.6594266049428096,0],rightPoint:[-.7211445534800273,-.4757871885204647,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vuuABxxTWnhAaFBLMw5wsz",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,selected:!1,locked:!1},{type:"Wall",cx:-.007721664651126947,cy:-.4757871885204647,cz:3.535805069111796,lx:1.4268457776578005,ly:.1,lz:6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.2,fill:"Partial",leftUnfilledHeight:3.84142941805093,rightUnfilledHeight:3.84142941805093,leftTopPartialHeight:6,rightTopPartialHeight:6,leftJoints:["vuuABxxTWnhAaFBLMw5wsz"],rightJoints:["hhfft6jEyF5V7W3kNGR7VB"],leftPoint:[-.7211445534800273,-.4757871885204647,0],rightPoint:[.7057012241777734,-.4757871885204647,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4fS3C4uw4LVSpSngSsA7dR",parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"3dnKtcKTXnG1eDaqcB1sdk",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.47],selected:!1,locked:!1},{type:"Window",cx:-4860154921480787e-32,cy:.1,cz:.3666666666666667,lx:.7004221405870003,ly:.1,lz:.2333333333333334,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bKJgLy3t9PMmV69scLag6y",parentId:"4fS3C4uw4LVSpSngSsA7dR",foundationId:"k5csVFnyrpYrBkQNWDouaF",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.3},selected:!1,locked:!1},{id:"3dnKtcKTXnG1eDaqcB1sdk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.47,color:"#ffffff",ceilingRValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"k5csVFnyrpYrBkQNWDouaF",foundationId:"k5csVFnyrpYrBkQNWDouaF",roofType:"Gable",textureType:"No Roof Texture",thickness:.05,wallsId:["vuuABxxTWnhAaFBLMw5wsz"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1},{type:"Window",cx:-.2967756977486685,cy:.20088911106289942,cz:6.454733072357007,lx:1.191642955374655,ly:.1,lz:1.1555332790892452,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"78T3MkimgRTSnmRTMhRnJm",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iuNzbNXdWiXkLCQooXhnqK"}],Uln=34,Bln={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.5484163619340843,.44578561471726313,8140182408063113e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.5484163619340843,.4447852372714149,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-8.484010006399412,-18.277620093544904,3.817556225217015],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:50.3506522061685,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[2.1400728033642977,-1.125989332642603,3.1050102010198306],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:6},jln={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Yln=1,Oln={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_ln={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Vln={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Gln={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Xln="Unknown",Jln=null,Kln=null,qln=null,$ln=[],Qln={docid:zln,time:Dln,timestamp:Eln,userid:kln,owner:Fln,email:Lln,world:Wln,elements:Nln,sceneRadius:Uln,view:Bln,graphState:jln,evolutionMethod:Yln,solarPanelArrayLayoutParams:Oln,solarPanelArrayLayoutConstraints:_ln,evolutionaryAlgorithmState:Vln,economicsParams:Gln,modelType:Xln,modelAuthor:Jln,modelLabel:Kln,modelDescription:qln,notes:$ln},Zln="g9RKpzrgbWbsC1dbkpX9ZS",esn="06/17/2023 02:55 pm",tsn=1687028106173,nsn="QWecNcxhyvP6j6sBN11hBsfZDau1",osn=null,isn=null,rsn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},asn=[{type:"Human",name:"Jaye",cx:-1.2513719184514027,cy:-6.372159113081112,cz:.03284187614917711,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.6922319427215817],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Foundation",cx:.5149353122311684,cy:.036172415190780516,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,textureType:"Door Texture #3",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,.6922319427215817],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916777,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Human",name:"Jena",cx:.012588972336459392,cy:14.712453241561741,cz:0,lx:.695,ly:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:-1.183865369768545,cy:.5782456514167715,cz:2.2408122612280286,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.59075372847959,.5782456514167715,0],rightPoint:[-1.7769770110575003,.5782456514167715,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.59075372847959,cy:.043861762748918204,cz:2.2301039869226305,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.59075372847959,-.4905221259189351,0],rightPoint:[-.59075372847959,.5782456514167715,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.7769770110575003,cy:.043861762748918204,cz:2.228839888904333,lx:1.0687677773357067,ly:.1,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.7769770110575003,.5782456514167715,0],rightPoint:[-1.7769770110575003,-.4905221259189351,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.183865369768545,cy:-.4905221259189351,cz:2.268765007024547,lx:1.1862232825779104,ly:.1,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.7769770110575003,-.4905221259189351,0],rightPoint:[-.59075372847959,-.4905221259189351,0],relativeAngle:0,textureType:"Wall Texture #3",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2629939081358477],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:-6.963047317091872,cy:9.305275463657257,cz:.05,lx:3.9991959519547824,ly:1.4273945635779641,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,2.2629939081358477],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.8037383988388016,cy:5.7479913822261075,cz:1.2963049013988683,lx:2.4667544114619777,ly:.1,lz:2.5926098027977367,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[2.03711560456979,5.747991382226106,.06568375039354474],rightPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:2.037115604569791,cy:-.0267801106673915,cz:1.2963049013988683,lx:11.549542985787003,ly:.3,lz:2.5926098027977367,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],rightPoint:[2.03711560456979,5.747991382226106,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Wall",cx:-.4296388068921877,cy:-.026780110667392,cz:1.2963049013988683,lx:11.549542985787003,ly:.1,lz:2.5,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-.4296388068921875,5.747991382226109,.06568375039354474],rightPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.8037383988388016,cy:-5.801551603560892,cz:1.2963049013988683,lx:2.46675441146198,ly:.1,lz:2.5926098027977367,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-.4296388068921875,-5.801551603560892,.06568375039354474],rightPoint:[2.0371156045697902,-5.801551603560892,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,2.2630282695164783],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"gJReW7hpA5RV4sDmYkftax",selected:!1,leftRoofHeight:2.5926098027977367,rightRoofHeight:2.5926098027977367,locked:!0,structureSpacing:3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5926098027977367,rightTopPartialHeight:2.5926098027977367},{type:"Foundation",cx:4.89676730184058,cy:-5.153959605268503,cz:.05,lx:4.932837807071785,ly:16.292262691376934,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Tree",name:"Maple",cx:-9.524500304672243,cy:13.709596046858643,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-6.796534185824541,cy:18.258777569256825,cz:0,lx:15.381033043650339,lz:12.882589649504101,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-2.2262641238571375,cy:-.2694473112048733,cz:.03284187614917755,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.2467598257077848,cy:3.412268957127143,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-2.3118748580987036,cy:-3.753623714118395,cz:.03284187614917755,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Wall",cx:.06987760561132239,cy:2.6725668112376275,cz:2.2408122612280286,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["a5m5AvsmWigFtneecAXGMn"],rightJoints:["6PzfAQV8su7Enkckc6tSx8"],leftPoint:[5.194232556890523,2.672566811237627,0],rightPoint:[-5.054477345667879,2.672566811237628,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"82amhDo89t4LPzjbshEmmD",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:5.1942325568905225,cy:-.06239106653992166,cz:2.2301039869226305,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["xvDTHckT6Jh3sPEoBy9XsM"],rightJoints:["82amhDo89t4LPzjbshEmmD"],leftPoint:[5.194232556890521,-2.7973489443174713,0],rightPoint:[5.194232556890523,2.672566811237628,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"a5m5AvsmWigFtneecAXGMn",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.858178072916449,rightUnfilledHeight:5.858178072916449,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.054477345667879,cy:-.06239106653992166,cz:2.228839888904333,lx:5.4699157555551,ly:.3,lz:6,leftJoints:["82amhDo89t4LPzjbshEmmD"],rightJoints:["xvDTHckT6Jh3sPEoBy9XsM"],leftPoint:[-5.054477345667878,2.672566811237628,0],rightPoint:[-5.054477345667879,-2.7973489443174713,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"6PzfAQV8su7Enkckc6tSx8",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.2742272581577952,cy:.1,cz:-.29166666666666663,lx:.1828181721051967,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hskMbJc7MNggWVyJxXeWfq",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27422725815779514,cy:.1,cz:-.29166666666666663,lx:.18281817210519707,ly:.3,lz:.24999999999999992,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t4tAXhCx5djrNJxXHT3ypA",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.27422725815779525,cy:.1,cz:.2916666666666666,lx:.1828181721051968,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gDRnUAXHHxbgJda5pCBAaH",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.2742272581577952,cy:.1,cz:.2916666666666666,lx:.1828181721051969,ly:.3,lz:.24999999999999986,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQdaLqe6Gc7eF6ukLyTX2V",parentId:"6PzfAQV8su7Enkckc6tSx8",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.06987760561132239,cy:-2.7973489443174713,cz:2.268765007024547,lx:10.248709902558403,ly:.3,lz:6,leftJoints:["6PzfAQV8su7Enkckc6tSx8"],rightJoints:["a5m5AvsmWigFtneecAXGMn"],leftPoint:[-5.054477345667879,-2.7973489443174713,0],rightPoint:[5.194232556890523,-2.7973489443174713,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,-.8785643840733148],id:"xvDTHckT6Jh3sPEoBy9XsM",parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofId:"wFnXk782R98H6AT2RALp7W",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{id:"wFnXk782R98H6AT2RALp7W",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"8JaqTz5HE2vZh6f1qWauFD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",roofType:"Gable",textureType:"Roof Texture Default",thickness:.1,wallsId:["xvDTHckT6Jh3sPEoBy9XsM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:2.2458395786002807,ceiling:!1},{type:"Foundation",cx:-2.6332068809886726,cy:4.093457334157864,cz:.05,lx:13.955747653843215,ly:7.879103027392385,lz:.1,normal:[0,0,1],rotation:[0,0,-.8785643840733148],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8JaqTz5HE2vZh6f1qWauFD",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.2439331412216011,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a18ekWsi3At6CyxwfsEfLY",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2439331412216011,cy:.1,cz:-.20257131122368566,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewmHx8vQmQCZbH72jjrubL",parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:.29742868877631434,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p47WFW8gx3h8pL5rWPaE9A",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.1951465129772808,cy:.1,cz:-.28590464455701897,lx:.09757325648864049,ly:.3,lz:.23847595578070466,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKSHyHzpuwjQ6u42WTMQwe",parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.35},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.6,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,locked:!0,windowType:"Default",archHeight:1},{type:"Tree",name:"Maple",flip:!0,cx:-10.024831295895067,cy:-6.947888024156535,cz:3552713678800501e-30,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"17x5uLRhSti25y9wnQAD3e",selected:!1,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:7.8517108982888875,cy:-13.70932723423602,cz:0,lx:10.834343460246352,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"e2bctFXk26F3cCpiZ3zcBD",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:9.46029508775506,cy:4.366435707994473,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rjMRf1bvBNLgz5CfSBmVBH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:6.596349525650214,cy:7.3019799091519495,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4nuj6tR4dp4bVWBFmJcLMX",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:12.109444732702052,cy:1.502490145889622,cz:0,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"coNQQ9v27FUH4psYEEKrzU",selected:!1,locked:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.004578461502795039,cy:-.18228950583714837,cz:7.217657963251398,lx:10.906,ly:5.23,lz:.046,showLabel:!1,normal:[0,-.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,0],color:"#fff",parentType:"Roof",parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"e4qFnFipJKb5qm8a1HUcvh",selected:!1,locked:!0},{type:"Human",name:"June",cx:5.394006234886843,cy:5.908204264429319,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tW2AiaFFEyE2Ns8f1NeVn4",selected:!1,ly:.65,locked:!0},{type:"Tree",name:"Maple",flip:!0,cx:-5.079938766417403,cy:-11.600796953463268,cz:8881784197001252e-31,lx:9.499179837441329,lz:8.91889941652548,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sFTDyq1WHUnyaCtK8Et8T3",selected:!1,locked:!0},{type:"Wall",cx:-.5668843269198223,cy:3.3269838316456033,cz:2.2408122612280286,lx:3.1143702580201373,ly:.1,lz:2.5,leftJoints:["5JFnb9etkW9gKawcVectpr"],rightJoints:["4EuwNxKwuEQyYWKDv2pmPC"],leftPoint:[.9903008020902468,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"vN4erE1LRomCSRmHUxy4kc",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:.9903008020902477,cy:.19539461285221188,cz:2.2301039869226305,lx:6.263178437586782,ly:.1,lz:2.5,leftJoints:["oDVTwfwNuCQjh6t1rv6GNB"],rightJoints:["vN4erE1LRomCSRmHUxy4kc"],leftPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],rightPoint:[.9903008020902482,3.326983831645603,.06568375039354474],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"5JFnb9etkW9gKawcVectpr",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.16,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-2.1240694559298916,cy:.19539461285221216,cz:2.228839888904333,lx:6.263178437586782,ly:.3,lz:2.5,leftJoints:["vN4erE1LRomCSRmHUxy4kc"],rightJoints:["oDVTwfwNuCQjh6t1rv6GNB"],leftPoint:[-2.1240694559298916,3.3269838316456037,.06568375039354474],rightPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"4EuwNxKwuEQyYWKDv2pmPC",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Stud",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{type:"Wall",cx:-.5668843269198227,cy:-2.9361946059411808,cz:2.268765007024547,lx:3.11437025802014,ly:.3,lz:2.5,leftJoints:["4EuwNxKwuEQyYWKDv2pmPC"],rightJoints:["5JFnb9etkW9gKawcVectpr"],leftPoint:[-2.1240694559298934,-2.9361946059411803,.06568375039354474],rightPoint:[.9903008020902475,-2.936194605941179,.06568375039354474],relativeAngle:0,textureType:"Wall Texture Default",color:"#009ce0",normal:[0,0,1],rotation:[0,0,.692197581340951],id:"oDVTwfwNuCQjh6t1rv6GNB",parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",wallStructure:"Pillar",structureSpacing:3,structureColor:"white",structureWidth:.2,opacity:0,roofId:"niExsBvaYVQdEU42Cfexz9",selected:!1,leftRoofHeight:2.5,rightRoofHeight:2.5,locked:!0,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.5,rightTopPartialHeight:2.5},{id:"niExsBvaYVQdEU42Cfexz9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"hGX3VDUCbUqQb4byUBd7zY",foundationId:"hGX3VDUCbUqQb4byUBd7zY",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["oDVTwfwNuCQjh6t1rv6GNB"],rightRidgeLength:1.3155130008385778,leftRidgeLength:1.2587510331302654,selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-.26272797008951887,cy:8.1604401446677,cz:.05,lx:5.309542023727572,ly:8.144294099873703,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,.692197581340951],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hGX3VDUCbUqQb4byUBd7zY",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["5ExmWkfAba5nuC3xfHo5vU"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.2630282695164783],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"gJReW7hpA5RV4sDmYkftax",leftRidgeLength:-1.2155130008385777,rightRidgeLength:1.3155130008385778,locked:!0,rise:1.3681252475370629,ceiling:!1},{type:"Polygon",cx:.04278236969738311,cy:-.2560980400226438,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.08333333333333333,y:-.4166666666666667},{x:-.08333333333333333,y:-.25},{x:.08333333333333333,y:-.25},{x:.08333333333333333,y:-.4166666666666667}],parentId:"beHqET5NN8aNdsuBncMpY7",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:1,id:"ikVqMPzpwnqJzyuQKJnm3R",text:"1204",fontColor:"gold",fontSize:.6,fontStrokeWidth:.01,noOutline:!0,opacity:0,locked:!0},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.041666666666666664,lx:.2916666666666667,ly:0,lz:.9166666666666666,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n3r5S7QrbxSVjZ7xS5KyLu",locked:!0,interior:!0},{type:"Door",cx:-.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"82amhDo89t4LPzjbshEmmD",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"igRWHnMRS6fxTHqNXYPWef",locked:!0,interior:!0},{type:"Door",cx:.2792719769465921,cy:0,cz:-.024999999999999984,lx:.36339744091590337,ly:0,lz:.9500000000000001,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"xvDTHckT6Jh3sPEoBy9XsM",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"qMCLuvG8BqaZaKpZzUtedz",locked:!0,interior:!0},{type:"Window",cx:3.404624864058591,cy:2.7885016621952796,cz:6.004798871333477,lx:3.4895626397811177,ly:.1,lz:.17796770265695697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901372,0,3.141592653589793],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"7jkKGZrNg3fgmgiepuiVd6",polygonTop:[-.4938087607108084,3.421264074035363],locked:!0},{type:"Window",cx:3.296162482623047,cy:-2.8950100151340963,cz:6.019804579108658,lx:3.6646685608352865,ly:.1,lz:.1258033813461092,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6875112116901371,0,-2220446049250313e-31],parentId:"wFnXk782R98H6AT2RALp7W",parentType:"Roof",foundationId:"8JaqTz5HE2vZh6f1qWauFD",id:"8TA7azNRBiNJHZ7UE6h9mn",polygonTop:[.4950567748754359,3.3542143495155483],locked:!0},{type:"Window",cx:.1444278091371094,cy:4.845674679128341,cz:6.11808489875612,lx:5.117648906007396,ly:.1,lz:.03540983073830939,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4221617487320861,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"tR6G6HakBCyhofJHaGkXmp",polygonTop:[.01012300685908669,5.088349513682089],locked:!0}],lsn=32,ssn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.504837297056488,2.0699150930784547,3503755702267236e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.504837297056488,2.0689147156290253,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[25.3008289766012,.2505638757784885,4.9037705563101905],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0370877496821287,2.0688812675610166,1.5303345515052023],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},csn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},usn=1,dsn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},fsn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},hsn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},psn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},gsn="Unknown",msn=null,ysn=null,Asn=null,wsn=[],vsn={docid:Zln,time:esn,timestamp:tsn,userid:nsn,owner:osn,email:isn,world:rsn,elements:asn,sceneRadius:lsn,view:ssn,graphState:csn,evolutionMethod:usn,solarPanelArrayLayoutParams:dsn,solarPanelArrayLayoutConstraints:fsn,evolutionaryAlgorithmState:hsn,economicsParams:psn,modelType:gsn,modelAuthor:msn,modelLabel:ysn,modelDescription:Asn,notes:wsn},xsn="vK6VS27r7ebuK4Vrn5FXEP",bsn="06/15/2023 09:51 am",Ssn=1686837060482,Tsn="QWecNcxhyvP6j6sBN11hBsfZDau1",Psn=null,Csn=null,Rsn={solarRadiationHeatmapGridCellSize:.5,date:"10/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Hsn=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152013,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:1.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.75,enableGroupMaster:!1,color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #10",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #10",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture #10",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.05,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Foundation",ly:9.25428200301757,lz:1.5,rotation:[0,0,0],cz:.75,cx:-3.7362314250129023,lx:6.612524274166,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5723524020196393,id:"8fpWrU7qVyVgipB7LtABom",color:"#999999",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:6,ly:.1,leftRoofHeight:6,relativeAngle:3.141592653589793,rightRoofHeight:6,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:1.1421683491180719,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture #10",cx:-.03446770657950715,leftPoint:[.5366164679795284,1.8199505814331163,1.5],type:"Wall",rightPoint:[-.6055518811385436,1.8199505814331163,1.5],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8199505814331163,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.034605844072436,rightUnfilledHeight:4.034605844072436,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:6,selected:!1,ly:.1,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.25713866261073326,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture #10",cx:.5366164679795284,showLabel:!1,leftRoofHeight:6,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948966,windows:[],rightRoofHeight:6,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[.5366164679795289,1.8199505814331163,1.5],lx:3.125623837644766,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.299511925163531,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:6,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture #10",cx:-.6055518811385436,rightPoint:[-.6055518811385436,-1.3056732562116498,1.5],lz:6,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-.6055518811385436,1.8199505814331163,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.125623837644766,cy:.25713866261073326,windows:[],ly:.1,rightRoofHeight:6,color:"#ffffff",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.0310074855252225,leftTopPartialHeight:6,rightTopPartialHeight:6},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #7",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",locked:!0,rise:2.7886384076788957,ceiling:!0},{rightPoint:[.5366164679795284,-1.3056732562116498,1.5],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.03446770657950715,ly:.1,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:6,rightRoofHeight:6,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-.6055518811385436,-1.3056732562116498,1.5],type:"Wall",cy:-1.3056732562116498,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:6,windows:[],showLabel:!1,textureType:"Wall Texture #10",lx:1.1421683491180719,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.823266113240277],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9620846370965292,rightUnfilledHeight:3.9620846370965292,leftTopPartialHeight:6,rightTopPartialHeight:6},{normal:[0,0,1],rotation:[0,0,0],lz:1.5,cz:.75,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.212507460282481,solarUpdraftTower:{},cy:.2598608554811861,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,color:"#999999",locked:!0,notBuilding:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.729424429660076,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.729424429660076,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.729424429660076,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.729424429660076,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.729424429660076,rightTopPartialHeight:7.729424429660076},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#4d4d4d",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.09751468078404088,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#4d4d4d",cz:-.09751468078404088,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#4d4d4d",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#4d4d4d",lx:.13333333333333333,cx:.3333333333333333,cz:-.0726954122459649,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:.7732940589008983,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#4d4d4d",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:.01333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0726954122459649,lx:.13333333333333333,color:"#4d4d4d",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.16666666666666666,ly:0,lz:.624410216345127,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.823266113240277,ceiling:!1},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},tint:"#73D8FF",locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #4",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",locked:!0,doorType:"Default",archHeight:1,filled:!0,frameColor:"#4d4d4d"},{type:"Human",name:"Julia",cx:-4.0546196737223905,cy:-5.207889624542965,cz:.75,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.43,locked:!0},{type:"Human",name:"Jeanette",cx:.2766717538290546,cy:-.6581153273582476,cz:.21150016667646382,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"cv6ws4fhTJwK38XNPpn7tw",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.4,locked:!0,flip:!0},{type:"Wall",cx:-.006181075141490355,cy:1.8156223325109586,cz:3.903941909848086,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["t6JjtmZmPqJRVZKJkbyzJi"],rightJoints:["qnrZVcXW7sGmWiL5DxCcpP"],leftPoint:[.5649030994175456,1.8156223325109586,0],rightPoint:[-.5772652497005263,1.8156223325109586,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"34NjUPzx48JorZ5wqGUvgg",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.090518331707904,rightUnfilledHeight:4.090518331707904,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.5649030994175457,cy:.2528104136885755,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["i4xUARQgNSf52ouooVSiS9"],rightJoints:["34NjUPzx48JorZ5wqGUvgg"],leftPoint:[.5649030994175456,-1.3100015051338076,0],rightPoint:[.5649030994175459,1.8156223325109586,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"t6JjtmZmPqJRVZKJkbyzJi",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.028013889590567,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.5772652497005263,cy:.2528104136885755,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["34NjUPzx48JorZ5wqGUvgg"],rightJoints:["i4xUARQgNSf52ouooVSiS9"],leftPoint:[-.5772652497005263,1.8156223325109586,0],rightPoint:[-.5772652497005263,-1.3100015051338076,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qnrZVcXW7sGmWiL5DxCcpP",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.1364823542733955,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.006181075141490355,cy:-1.3100015051338076,cz:3.535805069111796,lx:1.1421683491180719,ly:.1,lz:6,leftJoints:["qnrZVcXW7sGmWiL5DxCcpP"],rightJoints:["t6JjtmZmPqJRVZKJkbyzJi"],leftPoint:[-.5772652497005263,-1.3100015051338076,0],rightPoint:[.5649030994175456,-1.3100015051338076,0],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4xUARQgNSf52ouooVSiS9",parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",studWidth:.1,roofId:"6XqoQpBQebVdBqY1vwaPk1",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7865681839342544,rightUnfilledHeight:3.7865681839342544,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cwyjixUkvZfY5coPeNcNNJ",parentId:"i4xUARQgNSf52ouooVSiS9",foundationId:"av7Scm9oWip67CGVAb3HwH",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"6XqoQpBQebVdBqY1vwaPk1",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"av7Scm9oWip67CGVAb3HwH",foundationId:"av7Scm9oWip67CGVAb3HwH",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["qnrZVcXW7sGmWiL5DxCcpP"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:.24223269105650805,cy:-1.5680241530974817,cz:.75,lx:1.6067507475074267,ly:9.245625505173257,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"av7Scm9oWip67CGVAb3HwH",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.6856567353991228,cy:2.1936412961014904,cz:3.903941909848086,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["v49PfQ59VkByq57ohKX9uA"],rightJoints:["eq4bXeL88bLi2xVeWkyogN"],leftPoint:[-.11457256084008716,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,2.1936412961014904,1.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j2TVMgjH32U1V7YuWfrYce",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.114887562223342,rightUnfilledHeight:4.114887562223342,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.11457256084008716,cy:.6308293772791074,cz:3.5644394786617815,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["dofmNpVnoyUD6poUbEH92H"],rightJoints:["j2TVMgjH32U1V7YuWfrYce"],leftPoint:[-.11457256084008716,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,2.1936412961014904,1.5],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v49PfQ59VkByq57ohKX9uA",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.062467969251437,rightUnfilledHeight:6,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.2567409099581588,cy:.6308293772791074,cz:3.660138480027889,lx:3.125623837644766,ly:.1,lz:6,leftJoints:["j2TVMgjH32U1V7YuWfrYce"],rightJoints:["dofmNpVnoyUD6poUbEH92H"],leftPoint:[-1.2567409099581588,2.1936412961014904,1.5],rightPoint:[-1.2567409099581588,-.9319825415432756,1.5],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eq4bXeL88bLi2xVeWkyogN",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6,rightUnfilledHeight:4.049169946024193,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-.6856567353991228,cy:-.9319825415432756,cz:3.535805069111796,lx:1.1421683491180716,ly:.1,lz:6,leftJoints:["eq4bXeL88bLi2xVeWkyogN"],rightJoints:["v49PfQ59VkByq57ohKX9uA"],leftPoint:[-1.2567409099581588,-.9319825415432756,1.5],rightPoint:[-.11457256084008716,-.9319825415432756,1.5],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dofmNpVnoyUD6poUbEH92H",parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",studWidth:.1,roofId:"o79bdk9md4xmEmamE9jZDk",selected:!1,leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,6.823266113240277],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9479613094983987,rightUnfilledHeight:3.9479613094983987,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-9720309842961575e-32,cy:.1,cz:.3833333333333333,lx:.700422140587,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3EDLJ75vzk99MpdxpHr4hh",parentId:"dofmNpVnoyUD6poUbEH92H",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{id:"o79bdk9md4xmEmamE9jZDk",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"jkuhEvcKWfSvDRMRBsqBXk",foundationId:"jkuhEvcKWfSvDRMRBsqBXk",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["eq4bXeL88bLi2xVeWkyogN"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!0,rise:.823266113240277,ceiling:!1},{type:"Foundation",cx:5.151890032982978,cy:-1.8906835088164353,cz:.75,lx:2.7786220563926096,ly:10.001663432354322,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jkuhEvcKWfSvDRMRBsqBXk",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-.0729406966879953,cy:2.9131022913654188,cz:0,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["5qopMgXVhuWqLTTbgdg2C8"],rightJoints:["tQatQTQ6mQZuwKjoqupSL4"],leftPoint:[3.965886713087709,2.9131022913654188,.1],rightPoint:[-4.111768106463698,2.9131022913654188,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2QkXRbu2NTc1FDQpK7icS4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:3.965886713087709,cy:-.1655182683590748,cz:1.2992388529678256,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["1ep2Qk4inm58Y7PxoRguRG"],rightJoints:["2QkXRbu2NTc1FDQpK7icS4"],leftPoint:[3.965886713087709,-3.2441388280835683,.1],rightPoint:[3.965886713087709,2.9131022913654188,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5qopMgXVhuWqLTTbgdg2C8",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-4.111768106463698,cy:-.1655182683590748,cz:2.586710917765224,lx:6.157241119448987,ly:.3,lz:4.0189625473598385,leftJoints:["2QkXRbu2NTc1FDQpK7icS4"],rightJoints:["1ep2Qk4inm58Y7PxoRguRG"],leftPoint:[-4.111768106463698,2.9131022913654188,.1],rightPoint:[-4.111768106463698,-3.2441388280835683,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tQatQTQ6mQZuwKjoqupSL4",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,centerRoofHeight:[.022465454047944533,6.384556049599329],locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{type:"Wall",cx:-.0729406966879953,cy:-3.2441388280835683,cz:2.4938633836176103,lx:8.077654819551407,ly:.3,lz:4.0189625473598385,leftJoints:["tQatQTQ6mQZuwKjoqupSL4"],rightJoints:["5qopMgXVhuWqLTTbgdg2C8"],leftPoint:[-4.111768106463698,-3.2441388280835683,.1],rightPoint:[3.965886713087709,-3.2441388280835683,.1],relativeAngle:0,textureType:"Wall Texture #10",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1ep2Qk4inm58Y7PxoRguRG",parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",studWidth:.1,roofId:"uvH1MqzefQ1iAsExpBtN4M",selected:!1,leftRoofHeight:4.0189625473598385,rightRoofHeight:4.0189625473598385,locked:!0,wallStructure:"Default",structureSpacing:.41,structureWidth:.05,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385},{id:"uvH1MqzefQ1iAsExpBtN4M",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",foundationId:"ifK63owceWoNBq3LMhjcHs",roofType:"Gable",textureType:"Roof Texture #7",thickness:.1,wallsId:["1ep2Qk4inm58Y7PxoRguRG"],ridgeLeftPoint:[.022465454047944533,1],ridgeRightPoint:[-.022465454047944533,1],selected:!1,locked:!0,rise:2.3655935022394905,ceiling:!1},{type:"Foundation",cx:10.465737313188763,cy:.5916447850218542,cz:.05,lx:10.00769643062065,ly:8.714303918225442,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ifK63owceWoNBq3LMhjcHs",selected:!1,locked:!0,notBuilding:!0},{type:"Door",cx:0,cy:0,cz:-.12558978365487306,lx:.7427898485433437,ly:0,lz:.7488204326902539,textureType:"Door Texture #9",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"1ep2Qk4inm58Y7PxoRguRG",foundationId:"ifK63owceWoNBq3LMhjcHs",id:"eL15oTbziWLZJbMNpssTck",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:0,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6fPaBMTjYg9NPR7fFaHY6L",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.16546497475722394,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mrb9waVHrsnfat2WgDHgMt",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26782910355972656,cy:.1,cz:5524923467398277e-32,lx:.08333333333333333,ly:.3,lz:.49764086538050767,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"2H38SarX7MqKe9NrSJLU3c",parentId:"2QkXRbu2NTc1FDQpK7icS4",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03248208022392633,cy:.1,cz:.6842561898981983,lx:.1624104011196317,ly:.3,lz:.3732306490353806,mullionSpacing:.5,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"i3Tn7iQFeRuNXmrH6GPDQq",parentId:"5qopMgXVhuWqLTTbgdg2C8",foundationId:"ifK63owceWoNBq3LMhjcHs",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,locked:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Cuboid",cx:2.2577642180173108,cy:-5.6453790558022865,cz:.1,lx:3,ly:1.3162306313801917,lz:.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"9Wze4XMmA39XWNbYe6ckwa",locked:!0},{type:"Cuboid",cx:2.2976038416189706,cy:-5.4405702290503335,cz:.2,lx:3,ly:1.3162306313801917,lz:.4,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cGSH1ASJyBhQtxEpSahrE8",selected:!1,locked:!0},{type:"Cuboid",cx:2.3365648968920367,cy:-5.154286927831944,cz:.3,lx:3,ly:1.3162306313801917,lz:.6,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"cv6ws4fhTJwK38XNPpn7tw",selected:!1,locked:!0},{type:"Cuboid",cx:2.507062522396451,cy:-4.8455157683194425,cz:.4,lx:3,ly:1.3162306313801917,lz:.8,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ri6K8Qk4KK99vNANoaSiXZ",selected:!1,locked:!0},{type:"Cuboid",cx:2.4248821063155837,cy:-4.531133253293998,cz:.5,lx:3,ly:1.3162306313801917,lz:1,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2Gn8chyesHppiqqGTQZT8a",selected:!1,locked:!0},{type:"Cuboid",cx:2.533917032120782,cy:-4.195225691908959,cz:.6,lx:3,ly:1.3162306313801917,lz:1.2,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"ehfdKqFJbYRYgEacHfcSrM",selected:!1,locked:!0},{type:"Wall",cx:.0857963607111687,cy:-.2904374094354525,cz:1.150915251216218,lx:2.404566605355184,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.116486941966424,-.2904374094354525,1.5],rightPoint:[1.2880796633887615,-.2904374094354525,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"4JmE6VzFyWnD6MemgeMrqW",parentId:"daUcFc6UnVMEpiH1CZh8Ax",foundationId:"daUcFc6UnVMEpiH1CZh8Ax",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,locked:!0,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:5.066690845229112,cy:-5.858628346969445,cz:.75,lx:2.8024103470983674,ly:.5858813368700218,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"daUcFc6UnVMEpiH1CZh8Ax",selected:!1,locked:!0},{type:"Wall",cx:-.010162937707880904,cy:-.27969729189333203,cz:1.150915251216218,lx:2.7842161072229072,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.4022709913193345,-.27969729189333203,0],rightPoint:[1.3819451159035727,-.27969729189333203,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"vcvEWpSiXZ5AtQHJNQyqhY",parentId:"65TcBaUghe9ngQtPh9tufn",foundationId:"65TcBaUghe9ngQtPh9tufn",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:6.152095245348214,cy:-4.760328635056652,cz:.75,lx:2.915478093095909,ly:.7794205585653092,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"65TcBaUghe9ngQtPh9tufn",selected:!1,locked:!0},{type:"Wall",cx:-.276566476107305,cy:.5996488777144623,cz:1.150915251216218,lx:11.731055226486902,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-6.142094089350756,.5996488777144623,0],rightPoint:[5.588961137136146,.5996488777144623,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"k8e5KBsuGXsXGc26TdAWYM",parentId:"csYashxN5k4v6auFhKNgfA",foundationId:"csYashxN5k4v6auFhKNgfA",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:-7.493205467286131,cy:-.5191007727531233,cz:.75,lx:12.992980587303297,ly:1.782214080949399,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"csYashxN5k4v6auFhKNgfA",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.22003149528798988,cy:.772395685760463,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.2129790660534816,.7723956857604638,1.5],rightPoint:[.7729160754775029,.7723956857604621,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sY5yERTXjEfiYz5tbFrJmk",parentId:"kzThvJkRFm5Ya2iKooXQMF",foundationId:"kzThvJkRFm5Ya2iKooXQMF",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:4.743113555100415,cy:-4.918499332768188,cz:.75,lx:2.567636418672608,ly:1.9347230107434228,lz:1.5,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kzThvJkRFm5Ya2iKooXQMF",selected:!1,locked:!0},{type:"Wall",cx:-.059861706164943095,cy:.5378886591540968,cz:1.150915251216218,lx:1.9858951415309851,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-1.0528092769304358,.5378886591540978,1.5],rightPoint:[.9330858646005495,.5378886591540958,1.5],relativeAngle:-10062975645253129e-31,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"8BecBzK2CPYixjaNncu9H5",parentId:"gwSpq2qFCkfhWVsvJnM5AE",foundationId:"gwSpq2qFCkfhWVsvJnM5AE",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Foundation",cx:.42575056512061704,cy:-5.140654078880996,cz:.75,lx:2.247296840426521,ly:1.4657089575306883,lz:1.5,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gwSpq2qFCkfhWVsvJnM5AE",selected:!1,locked:!0},{type:"Foundation",cx:-2.9112882100701762,cy:-6.403418415150944,cz:.75,lx:8.173695480475347,ly:1.3650515213739076,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jWpuB3xMuZWn7633AcTjQQ",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:-.02566265362821607,cy:.20995571674405689,cz:1.150915251216218,lx:7.716839583972954,ly:.1,lz:.8018305024324359,leftJoints:[],rightJoints:[],leftPoint:[-3.884082445614693,.20995571674405689,1.5],rightPoint:[3.8327571383582604,.20995571674405689,1.5],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"pSkQGB7bArPhyBetUXPGRv",parentId:"jWpuB3xMuZWn7633AcTjQQ",foundationId:"jWpuB3xMuZWn7633AcTjQQ",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.2,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.8018305024324359,rightTopPartialHeight:.8018305024324359},{type:"Tree",name:"Maple",cx:17.67275693788636,cy:1.4450419691745573,cz:0,lx:7.6312730174756584,lz:11.401453020556955,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fvxLBBmjibSLAyfoLcbVjh",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-5.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9CLZuQC6xH4DGcZvLruk4s",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-3.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c6WoCyEbuQkywzSj8xtBF2",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.066992481792914,cy:-7.730957758574714,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2agGn2N16sYDjc7TtzRo77",selected:!1,locked:!0,flip:!0},{type:"Flower",name:"Yellow Flower",cx:-7.120054695086734,cy:-7.839525295949519,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"817xHue6rUfnaS7Rb7KYEp",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:5.193738527580392,cy:-7.522536559524424,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gonFzZtq1wiiYeCU4hrBiQ",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",cx:4.348603816989412,cy:-3.7966311920217564,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ifK63owceWoNBq3LMhjcHs",id:"3BJtmEHpbtqcXXRrfQPwwr",selected:!1,locked:!0},{type:"Tree",name:"Oak",cx:-10.77654007007384,cy:-2.788234414080616,cz:0,lx:8.855861155358149,lz:10.429490037118851,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qpT1N3VZfjdrNWS4GttCXC",selected:!1,locked:!0},{type:"Human",name:"Jess",cx:2.2752160006176823,cy:-7.071591540443462,cz:0,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gqeggrZFS756iNyQUnbtUf",selected:!1,locked:!0},{type:"Human",name:"Jacob",cx:.3503088352536956,cy:-2.663378139781919,cz:.75,lx:.8,ly:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",id:"gesRfpbEyibu8BUu8qDy6K",selected:!1,locked:!0},{type:"Tree",name:"Elm",cx:18.756466652215924,cy:-2.7486876275390486,cz:0,lx:10.046562775206576,lz:8.109426488433453,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rAcrYXcgzcVotvfd1MPBUS",selected:!1,locked:!0},{type:"Human",name:"James",cx:8.507664798169325,cy:-5.727708445895644,cz:0,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"73Mqjiw5uA1adJ6VuCj1Hf",selected:!1,locked:!0,ly:.472},{type:"Window",cx:0,cy:.3,cz:-.4375948219942384,lx:.5999999999999999,ly:.2,lz:.09893520815024884,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#ffffff",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"hbU2xUbmKEDDXYDMWnjjCc",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",id:"uREiM8jYGDR4pHGhExSRue",locked:!0},{type:"Window",cx:4.705024136514664,cy:-2.6459148350408155,cz:5.1903908249340365,lx:1.017838969182642,ly:.1,lz:2.4409651392693985,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"awVnqCCaufqdGFN22hhzCh",polygonTop:[-.004246287687605959,1.3860496223503058],locked:!0},{type:"Window",cx:-3.539719570796281,cy:-2.6129313680432986,cz:5.216072446970213,lx:1.0219090902157242,ly:.1,lz:2.605748416583291,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"beXK9hhAUyaFYx6f7DgTpY",polygonTop:[-.009615353578652338,1.2933689118390408],locked:!0},{type:"Window",cx:.46569240547031454,cy:-2.6095553790950374,cz:5.2187010630636665,lx:1.0033772100904075,ly:.1,lz:2.5243075624407934,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fevDj1GsBSq5dNg5cXjnX",polygonTop:[-.0091530130675596,1.325340055666175],locked:!0}],Msn=30,Isn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.2466960461719456,-2.0265671834489423,-1924388015203177e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.2466960461719456,-2.027567560894961,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.555852980703822,-18.310792933314314,3.245069996575005],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:53.00068653280895,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.1288754420913087,4.629680469479072,3.245069996575005],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},zsn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Dsn=1,Esn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ksn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Fsn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Lsn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Wsn="Unknown",Nsn=null,Usn=null,Bsn=null,jsn=[],Ysn={docid:xsn,time:bsn,timestamp:Ssn,userid:Tsn,owner:Psn,email:Csn,world:Rsn,elements:Hsn,sceneRadius:Msn,view:Isn,graphState:zsn,evolutionMethod:Dsn,solarPanelArrayLayoutParams:Esn,solarPanelArrayLayoutConstraints:ksn,evolutionaryAlgorithmState:Fsn,economicsParams:Lsn,modelType:Wsn,modelAuthor:Nsn,modelLabel:Usn,modelDescription:Bsn,notes:jsn},Osn="9jsoUmZjFa6HRMNbZRgLRS",_sn="02/04/2023 12:38 pm",Vsn=1675532324876,Gsn="QWecNcxhyvP6j6sBN11hBsfZDau1",Xsn=null,Jsn=null,Ksn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Santa Fe, NM, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6869752,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-105.937799},qsn=[{type:"Human",name:"Jack",cx:8.588979243554906,cy:-11.560427912321174,cz:.041681792587043624,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"nxTJLHqZjgyqZrkQWWFYNc",selected:!1,ly:.42},{type:"Wall",cx:4.753050582030476,cy:10.626899890630142,cz:0,lx:9.506101164060953,ly:.3,lz:3,leftJoints:["n33KXHECHwqKVeBnmXbdJd"],rightJoints:["6eXPAWMW3HwxTSXj1rA53P"],leftPoint:[9.506101164060953,10.626899890630142,0],rightPoint:[0,10.626899890630142,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a4Bg19CP2z1jtLJFY16BxW",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:9.506101164060953,cy:7.9701749179726065,cz:0,lx:5.313449945315071,ly:.3,lz:3,leftJoints:["beJH9KRXtDcaa6m4RL93xX"],rightJoints:["a4Bg19CP2z1jtLJFY16BxW"],leftPoint:[9.506101164060953,5.313449945315071,0],rightPoint:[9.506101164060953,10.626899890630142,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"n33KXHECHwqKVeBnmXbdJd",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:8.855749908858451,cz:0,lx:3.542299963543381,ly:.3,lz:3,leftJoints:["a4Bg19CP2z1jtLJFY16BxW"],rightJoints:["4SGmtgxinTGHnoFQ6qdAaP"],leftPoint:[0,10.626899890630142,0],rightPoint:[0,7.084599927086761,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"6eXPAWMW3HwxTSXj1rA53P",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.27774552382743,cy:7.084599927086761,cz:0,lx:8.55549104765486,ly:.3,lz:3,leftJoints:["6eXPAWMW3HwxTSXj1rA53P"],rightJoints:["6iedjZED9QspL73RvXyJ4d"],leftPoint:[0,7.084599927086761,0],rightPoint:[-8.55549104765486,7.084599927086761,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"4SGmtgxinTGHnoFQ6qdAaP",parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",roofId:"7doUCjB7UiFLbUyVdhSHA4",selected:!1,leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Foundation",cx:-.9875375953656599,cy:.44615496717367314,cz:.05,lx:40.39365311700692,ly:26.5055971077695,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7ZHXRj1w61cveRC3gvedyo",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-8.961026955741858,cy:7.857997137758722,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],rightJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],leftPoint:[-7.1534477968947074,7.857997137758721,0],rightPoint:[-10.768606114589009,7.857997137758723,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uDQQEBasztVc5Fw2jHnuGP",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-7.197945741195914,cy:10.175838580765596,cz:0,lx:4.636537079315653,ly:.3,lz:5,leftJoints:["vsD1vwp8qSW44JbcubZkXV"],rightJoints:["uDQQEBasztVc5Fw2jHnuGP"],leftPoint:[-7.242443685497121,12.493680023772473,0],rightPoint:[-7.1534477968947074,7.857997137758721,0],relativeAngle:-1.5516006743615667,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xuK1PJLtnxrY5qEw5Jrz2o",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-10.768606114589009,cy:5.3615068621475075,cz:0,lx:4.992980551222431,ly:.3,lz:5,leftJoints:["uDQQEBasztVc5Fw2jHnuGP"],rightJoints:["uATyhCzseLrePeH6qe33SW"],leftPoint:[-10.768606114589009,7.857997137758723,0],rightPoint:[-10.768606114589009,2.865016586536292,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hCvpR7Qt8oZW3kx27Ef8k6",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-8.961026955741858,cy:2.865016586536292,cz:0,lx:3.615158317694301,ly:.3,lz:5,leftJoints:["hCvpR7Qt8oZW3kx27Ef8k6"],rightJoints:["tqM54puNK2eFNMyoRHbgSP"],leftPoint:[-10.768606114589009,2.865016586536292,0],rightPoint:[-7.1534477968947074,2.865016586536292,0],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"uATyhCzseLrePeH6qe33SW",parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",roofId:"7C84Wu1AsADHbFygjWBmQ9",selected:!1,leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Foundation",cx:-.46263679223863563,cy:1.9526278259940124,cz:.05,lx:26.17077502865179,ly:28.364342258415146,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g8MxeMM8L2RM1xR4mKCqRr",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-8.55549104765486,cy:8.41296241341553,cz:0,lx:2.6567249726575364,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-8.55549104765486,7.084599927086761,0],rightPoint:[-8.55549104765486,9.741324899744297,0],leftJoints:["4SGmtgxinTGHnoFQ6qdAaP"],rightJoints:["hDtjiJL8L1n4uHmeabkB4U"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6iedjZED9QspL73RvXyJ4d",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-12.35793151327924,cy:9.741324899744297,cz:0,lx:7.604880931248763,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-8.55549104765486,9.741324899744297,0],rightPoint:[-16.160371978903623,9.741324899744297,0],leftJoints:["6iedjZED9QspL73RvXyJ4d"],rightJoints:["e6DZMEDS2hLL8irgctx6vS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hDtjiJL8L1n4uHmeabkB4U",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-16.160371978903623,9.741324899744297,0],rightPoint:[-16.160371978903623,5.313449945315071,0],leftJoints:["hDtjiJL8L1n4uHmeabkB4U"],rightJoints:["7s9AjDXhyZFDC86cd8GCyQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"e6DZMEDS2hLL8irgctx6vS",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-17.586287153512764,cy:5.313449945315071,cz:0,lx:2.8518303492182824,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[-16.160371978903623,5.313449945315071,0],rightPoint:[-19.012202328121905,5.313449945315071,0],leftJoints:["e6DZMEDS2hLL8irgctx6vS"],rightJoints:["a5EWedAAgHioHmzEA7mZco"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7s9AjDXhyZFDC86cd8GCyQ",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-19.012202328121905,cy:.4427874954429223,cz:0,lx:9.741324899744297,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-19.012202328121905,5.313449945315071,0],rightPoint:[-19.012202328121905,-4.427874954429226,0],leftJoints:["7s9AjDXhyZFDC86cd8GCyQ"],rightJoints:["qL7VdZTbY3pmPL7NfVed4R"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"a5EWedAAgHioHmzEA7mZco",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-16.160371978903623,cy:-4.427874954429226,cz:0,lx:5.7036606984365665,ly:.3,lz:3,relativeAngle:0,leftPoint:[-19.012202328121905,-4.427874954429226,0],rightPoint:[-13.308541629685338,-4.427874954429226,0],leftJoints:["a5EWedAAgHioHmzEA7mZco"],rightJoints:["fn57GZtoH28juoAimKo6sD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qL7VdZTbY3pmPL7NfVed4R",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[-13.308541629685338,-4.427874954429226,0],rightPoint:[-13.308541629685338,-9.741324899744297,0],leftJoints:["qL7VdZTbY3pmPL7NfVed4R"],rightJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"fn57GZtoH28juoAimKo6sD",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-9.030796105857908,cy:-9.741324899744297,cz:0,lx:8.555491047654861,ly:.3,lz:3,relativeAngle:0,leftPoint:[-13.308541629685338,-9.741324899744297,0],rightPoint:[-4.753050582030476,-9.741324899744297,0],leftJoints:["fn57GZtoH28juoAimKo6sD"],rightJoints:["iYnhW4g6qEKdNus5mK9fsA"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9SBa3hK2RVhjPz2Nqh1iCG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.753050582030476,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[-4.753050582030476,-9.741324899744297,0],rightPoint:[-4.753050582030476,-4.427874954429226,0],leftJoints:["9SBa3hK2RVhjPz2Nqh1iCG"],rightJoints:["6pHr36CrawF8YcpXm7jL2B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"iYnhW4g6qEKdNus5mK9fsA",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-.4753050582030476,cy:-4.427874954429226,cz:0,lx:8.555491047654858,ly:.3,lz:3,relativeAngle:0,leftPoint:[-4.753050582030476,-4.427874954429226,0],rightPoint:[3.802440465624381,-4.427874954429226,0],leftJoints:["iYnhW4g6qEKdNus5mK9fsA"],rightJoints:["danskvNGt22kxxX25ZKZed"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"6pHr36CrawF8YcpXm7jL2B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:3.802440465624381,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[3.802440465624381,-4.427874954429226,0],rightPoint:[3.802440465624381,-9.741324899744297,0],leftJoints:["6pHr36CrawF8YcpXm7jL2B"],rightJoints:["wg6dFewM89iG6naCdP3n3V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"danskvNGt22kxxX25ZKZed",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:8.55549104765486,cy:-9.741324899744297,cz:0,lx:9.506101164060958,ly:.3,lz:3,relativeAngle:0,leftPoint:[3.802440465624381,-9.741324899744297,0],rightPoint:[13.308541629685338,-9.741324899744297,0],leftJoints:["danskvNGt22kxxX25ZKZed"],rightJoints:["rpaC6fdHvBmen4T9c95DSG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wg6dFewM89iG6naCdP3n3V",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:-7.084599927086762,cz:0,lx:5.313449945315071,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[13.308541629685338,-9.741324899744297,0],rightPoint:[13.308541629685338,-4.427874954429226,0],leftJoints:["wg6dFewM89iG6naCdP3n3V"],rightJoints:["pHPE8SbRWTKrpBzChi8YzX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"rpaC6fdHvBmen4T9c95DSG",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:-4.427874954429226,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:0,leftPoint:[13.308541629685338,-4.427874954429226,0],rightPoint:[18.061592211715812,-4.427874954429226,0],leftJoints:["rpaC6fdHvBmen4T9c95DSG"],rightJoints:["hoTvGY2rqMy7seoYfMRRTd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"pHPE8SbRWTKrpBzChi8YzX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:18.061592211715812,cy:2.6567249726575355,cz:0,lx:14.169199854173524,ly:.3,lz:3,relativeAngle:1.5707963267948966,leftPoint:[18.061592211715812,-4.427874954429226,0],rightPoint:[18.061592211715812,9.741324899744297,0],leftJoints:["pHPE8SbRWTKrpBzChi8YzX"],rightJoints:["j5t6bBkxWAT3r9CjT4GP8B"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"hoTvGY2rqMy7seoYfMRRTd",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:15.685066920700574,cy:9.741324899744297,cz:0,lx:4.753050582030474,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[18.061592211715812,9.741324899744297,0],rightPoint:[13.308541629685338,9.741324899744297,0],leftJoints:["hoTvGY2rqMy7seoYfMRRTd"],rightJoints:["9M2paYYKiDyFzdP7AKGC3T"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"j5t6bBkxWAT3r9CjT4GP8B",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:13.308541629685338,cy:7.527387422529684,cz:0,lx:4.427874954429226,ly:.3,lz:3,relativeAngle:-1.5707963267948966,leftPoint:[13.308541629685338,9.741324899744297,0],rightPoint:[13.308541629685338,5.313449945315071,0],leftJoints:["j5t6bBkxWAT3r9CjT4GP8B"],rightJoints:["beJH9KRXtDcaa6m4RL93xX"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9M2paYYKiDyFzdP7AKGC3T",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:11.407321396873146,cy:5.313449945315071,cz:0,lx:3.802440465624386,ly:.3,lz:3,relativeAngle:3.141592653589793,leftPoint:[13.308541629685338,5.313449945315071,0],rightPoint:[9.506101164060953,5.313449945315071,0],leftJoints:["9M2paYYKiDyFzdP7AKGC3T"],rightJoints:["n33KXHECHwqKVeBnmXbdJd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"beJH9KRXtDcaa6m4RL93xX",color:"#df9b6c",roofId:"7doUCjB7UiFLbUyVdhSHA4",leftRoofHeight:3,rightRoofHeight:3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["danskvNGt22kxxX25ZKZed","wg6dFewM89iG6naCdP3n3V","rpaC6fdHvBmen4T9c95DSG","pHPE8SbRWTKrpBzChi8YzX","hoTvGY2rqMy7seoYfMRRTd","j5t6bBkxWAT3r9CjT4GP8B","9M2paYYKiDyFzdP7AKGC3T","beJH9KRXtDcaa6m4RL93xX","n33KXHECHwqKVeBnmXbdJd","a4Bg19CP2z1jtLJFY16BxW","6eXPAWMW3HwxTSXj1rA53P","4SGmtgxinTGHnoFQ6qdAaP","6iedjZED9QspL73RvXyJ4d","hDtjiJL8L1n4uHmeabkB4U","e6DZMEDS2hLL8irgctx6vS","7s9AjDXhyZFDC86cd8GCyQ","a5EWedAAgHioHmzEA7mZco","qL7VdZTbY3pmPL7NfVed4R","fn57GZtoH28juoAimKo6sD","9SBa3hK2RVhjPz2Nqh1iCG","iYnhW4g6qEKdNus5mK9fsA","6pHr36CrawF8YcpXm7jL2B"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"7ZHXRj1w61cveRC3gvedyo",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7doUCjB7UiFLbUyVdhSHA4",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-7.1534477968947074,cy:-.13077174419716386,cz:0,lx:5.991576661466917,ly:.3,lz:5,relativeAngle:-1.5707963267948966,leftPoint:[-7.1534477968947074,2.8650165865362944,0],rightPoint:[-7.1534477968947074,-3.126560074930622,0],leftJoints:["uATyhCzseLrePeH6qe33SW"],rightJoints:["7vyLAK1d3g1q4PaUuuH3M8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"tqM54puNK2eFNMyoRHbgSP",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-4.143736556044865,cy:12.493680023772473,cz:0,lx:6.197414258904514,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[-1.0450294265926074,12.493680023772473,0],rightPoint:[-7.242443685497122,12.493680023772473,0],leftJoints:["qEF7XtXZnzW6BxWMfbdwQU"],rightJoints:["xuK1PJLtnxrY5qEw5Jrz2o"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vsD1vwp8qSW44JbcubZkXV",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-1.0450294265926074,cy:10.746136830844623,cz:0,lx:3.4950863858557017,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[-1.0450294265926074,8.998593637916771,0],rightPoint:[-1.0450294265926074,12.493680023772473,0],leftJoints:["dYJeyws9qM6CyNBpAFDT4C"],rightJoints:["vsD1vwp8qSW44JbcubZkXV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"qEF7XtXZnzW6BxWMfbdwQU",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:1.537226514617607,cy:8.998593637916771,cz:0,lx:5.164511882420429,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[4.119482455827821,8.998593637916771,0],rightPoint:[-1.0450294265926074,8.998593637916771,0],leftJoints:["xnWNtThasHmB5nj7DTLwTx"],rightJoints:["qEF7XtXZnzW6BxWMfbdwQU"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"dYJeyws9qM6CyNBpAFDT4C",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:4.163980400129028,cy:6.930401222471017,cz:0,lx:4.137342110270493,ly:.3,lz:5,relativeAngle:1.5923083871193127,leftPoint:[4.208478344430235,4.862208807025264,0],rightPoint:[4.119482455827821,8.998593637916771,0],leftJoints:["e1bkiT8KZb5kq2EZtd6xkx"],rightJoints:["dYJeyws9qM6CyNBpAFDT4C"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"xnWNtThasHmB5nj7DTLwTx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:7.565411068003514,cy:4.862208807025264,cz:0,lx:6.713865447146558,ly:.3,lz:5,relativeAngle:3.141592653589793,leftPoint:[10.922343791576793,4.862208807025264,0],rightPoint:[4.208478344430235,4.862208807025264,0],leftJoints:["rBwg9zRDQVA6MAAvxTQwmb"],rightJoints:["xnWNtThasHmB5nj7DTLwTx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"e1bkiT8KZb5kq2EZtd6xkx",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:10.922343791576793,cy:1.8664204762918066,cz:0,lx:5.991576661466915,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[10.922343791576793,-1.1293678544416508,0],rightPoint:[10.922343791576793,4.862208807025264,0],leftJoints:["aEZwzvFgCTEAmsGj6SSh6G"],rightJoints:["e1bkiT8KZb5kq2EZtd6xkx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"rBwg9zRDQVA6MAAvxTQwmb",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:5.499606315035343,cy:-1.1293678544416508,cz:0,lx:10.8454749530829,ly:.3,lz:5,relativeAngle:0,leftPoint:[.07686883849389224,-1.1293678544416508,0],rightPoint:[10.922343791576793,-1.1293678544416508,0],leftJoints:["jFwtQp4MdbPXqJBW5eWb7h"],rightJoints:["rBwg9zRDQVA6MAAvxTQwmb"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"aEZwzvFgCTEAmsGj6SSh6G",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:.07686883849389224,cy:-2.1279639646861366,cz:0,lx:1.9971922204889714,ly:.3,lz:5,relativeAngle:1.5707963267948966,leftPoint:[.07686883849389224,-3.126560074930622,0],rightPoint:[.07686883849389224,-1.1293678544416508,0],leftJoints:["7vyLAK1d3g1q4PaUuuH3M8"],rightJoints:["aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"jFwtQp4MdbPXqJBW5eWb7h",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Wall",cx:-3.5382894792004076,cy:-3.126560074930622,cz:0,lx:7.2303166353886,ly:.3,lz:5,relativeAngle:0,leftPoint:[-7.1534477968947074,-3.126560074930622,0],rightPoint:[.07686883849389224,-3.126560074930622,0],leftJoints:["tqM54puNK2eFNMyoRHbgSP"],rightJoints:["jFwtQp4MdbPXqJBW5eWb7h"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7vyLAK1d3g1q4PaUuuH3M8",color:"#df9b6c",roofId:"7C84Wu1AsADHbFygjWBmQ9",leftRoofHeight:5,rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rBwg9zRDQVA6MAAvxTQwmb","e1bkiT8KZb5kq2EZtd6xkx","xnWNtThasHmB5nj7DTLwTx","dYJeyws9qM6CyNBpAFDT4C","qEF7XtXZnzW6BxWMfbdwQU","vsD1vwp8qSW44JbcubZkXV","xuK1PJLtnxrY5qEw5Jrz2o","uDQQEBasztVc5Fw2jHnuGP","hCvpR7Qt8oZW3kx27Ef8k6","uATyhCzseLrePeH6qe33SW","tqM54puNK2eFNMyoRHbgSP","7vyLAK1d3g1q4PaUuuH3M8","jFwtQp4MdbPXqJBW5eWb7h","aEZwzvFgCTEAmsGj6SSh6G"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"g8MxeMM8L2RM1xR4mKCqRr",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7C84Wu1AsADHbFygjWBmQ9",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Wall",cx:-4.345096487504885,cy:5.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["rHJy1GYK2qvXJVNLZqp4wD"],rightJoints:["nps5Vjk1xXh8tbJUyypnno"],leftPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"a7asXFjrAC6qt3AiY1YGsD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-4.345096487504885,cy:-.015147835881696992,cz:0,lx:4,ly:.3,lz:7,leftJoints:["nps5Vjk1xXh8tbJUyypnno"],rightJoints:["xkqwYwVjduojn9HfSnXbKM"],leftPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],rightPoint:[-2.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"cpDb3yAZ18RsXbHAuAXABX",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:-2.765147835881696,cz:0,lx:5.500000000000002,ly:.3,lz:7,leftJoints:["cpDb3yAZ18RsXbHAuAXABX"],rightJoints:["hzXfdodMPgDwURK77F9MeV"],leftPoint:[-2.345096487504885,-.015147835881695215,.08336358648077638],rightPoint:[-2.345096487504885,-5.515147835881697,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"xkqwYwVjduojn9HfSnXbKM",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:-2.345096487504885,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["r2R5PZ9UN3GkeiaDktnAeY"],rightJoints:["a7asXFjrAC6qt3AiY1YGsD"],leftPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,5.984852164118302,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"rHJy1GYK2qvXJVNLZqp4wD",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:2.654903512495115,cy:7.984852164118302,cz:0,lx:4,ly:.3,lz:7,leftJoints:["67wPdhvoUHXR7PuJh6jwmB"],rightJoints:["r2R5PZ9UN3GkeiaDktnAeY"],leftPoint:[2.654903512495115,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,9.984852164118301,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"658TiH6xarPxo2CoZwhF5b",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.654903512495115,cy:5.984852164118302,cz:0,lx:8,ly:.3,lz:7,leftJoints:["41c9AtTSXggfJV4XdiEcAE"],rightJoints:["658TiH6xarPxo2CoZwhF5b"],leftPoint:[10.654903512495114,5.984852164118302,.08336358648077638],rightPoint:[2.654903512495115,5.984852164118306,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"67wPdhvoUHXR7PuJh6jwmB",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:10.654903512495114,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["5oTqiHKufLbh4Es8MKzkGe"],rightJoints:["67wPdhvoUHXR7PuJh6jwmB"],leftPoint:[10.654903512495114,-.015147835881696103,.08336358648077638],rightPoint:[10.654903512495114,5.984852164118302,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"41c9AtTSXggfJV4XdiEcAE",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:6.904903512495115,cy:-.015147835881696992,cz:0,lx:7.5,ly:.3,lz:7,leftJoints:["f8PnD7wEXwH2ygFbDasoV3"],rightJoints:["41c9AtTSXggfJV4XdiEcAE"],leftPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],rightPoint:[10.654903512495114,-.015147835881696992,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"5oTqiHKufLbh4Es8MKzkGe",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:3.154903512495115,cy:-2.765147835881697,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["hzXfdodMPgDwURK77F9MeV"],rightJoints:["5oTqiHKufLbh4Es8MKzkGe"],leftPoint:[3.154903512495115,-5.515147835881696,.08336358648077638],rightPoint:[3.154903512495115,-.015147835881696992,.08336358648077638],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"f8PnD7wEXwH2ygFbDasoV3",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.4049035124951148,cy:-5.515147835881698,cz:0,lx:5.5,ly:.3,lz:7,leftJoints:["xkqwYwVjduojn9HfSnXbKM"],rightJoints:["f8PnD7wEXwH2ygFbDasoV3"],leftPoint:[-2.345096487504885,-5.515147835881698,.08336358648077638],rightPoint:[3.154903512495115,-5.515147835881697,.08336358648077638],relativeAngle:0,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"hzXfdodMPgDwURK77F9MeV",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",cx:2.433419492707406,cy:5.124042977542905,cz:.05,lx:23.540246238854113,ly:24.334046586651752,lz:.08336358648077638,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,enableGroupMaster:!1},{type:"Wall",cx:-6.345096487504885,cy:2.984852164118302,cz:0,lx:6,ly:.3,lz:7,leftJoints:["a7asXFjrAC6qt3AiY1YGsD"],rightJoints:["cpDb3yAZ18RsXbHAuAXABX"],leftPoint:[-6.345096487504885,5.984852164118302,.08336358648077638],rightPoint:[-6.345096487504885,-.015147835881696992,.08336358648077638],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"nps5Vjk1xXh8tbJUyypnno",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",roofId:"qpPuzrLkb9c5N87uABuvRn",selected:!1,leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",cx:.1549035124951148,cy:9.984852164118301,cz:0,lx:5,ly:.3,lz:7,leftJoints:["658TiH6xarPxo2CoZwhF5b"],rightJoints:["rHJy1GYK2qvXJVNLZqp4wD"],leftPoint:[2.654903512495115,9.984852164118301,.08336358648077638],rightPoint:[-2.345096487504885,9.984852164118301,.08336358648077638],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#df9b6c",normal:[0,0,1],rotation:[0,0,-2.6026888642036767],id:"r2R5PZ9UN3GkeiaDktnAeY",parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",selected:!1,roofId:"qpPuzrLkb9c5N87uABuvRn",leftRoofHeight:7,rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["a7asXFjrAC6qt3AiY1YGsD","nps5Vjk1xXh8tbJUyypnno","cpDb3yAZ18RsXbHAuAXABX","xkqwYwVjduojn9HfSnXbKM","hzXfdodMPgDwURK77F9MeV","f8PnD7wEXwH2ygFbDasoV3","5oTqiHKufLbh4Es8MKzkGe","41c9AtTSXggfJV4XdiEcAE","67wPdhvoUHXR7PuJh6jwmB","658TiH6xarPxo2CoZwhF5b","r2R5PZ9UN3GkeiaDktnAeY","rHJy1GYK2qvXJVNLZqp4wD"],textureType:"No Roof Texture",color:"#df9b6c",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-2.6026888642036767],parentId:"dwSg9LvrTwKhMcJFZMtZSx",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"qpPuzrLkb9c5N87uABuvRn",sideColor:"#df9b6c",rise:0,ceiling:!1},{type:"Door",cx:.02629889958936659,cy:0,cz:-.08333333333333333,lx:.2629889958936659,ly:0,lz:.8333333333333334,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eh8QYUJbECtJYcGAUmmcbF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"k4NKNGGqdN9XJAC7JngQKc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.34188569466176566,cy:.1,cz:.08333333333333333,lx:.05259779917873318,ly:.3,lz:.5,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gndjHJZsJ4fAEbUPhoMN8f",parentId:"wg6dFewM89iG6naCdP3n3V",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15779339753619967,cy:.1,cz:-3700743415417188e-32,lx:.10519559835746636,ly:.3,lz:.6666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pHPE8SbRWTKrpBzChi8YzX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"uLMRWieC9yGWXYyj2feHNa",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.20745979403699807,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"7ptZfruK52YBWvj7ntVHnR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.39186849984766303,cy:.1,cz:.3,lx:.04610217645266624,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"aEZwzvFgCTEAmsGj6SSh6G",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"bLbWhQE8kcWeWpvQFXbQ5a",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.03333333333333333,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"9a7QJYQGFkQBwdFtnhaCnM",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:.1,cz:.14285714285714285,lx:.06666666666666667,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"5oTqiHKufLbh4Es8MKzkGe",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"vi8Yq5gBqJoW5tPeYhBH7B",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3803429557344965,cy:.1,cz:.3,lx:.06915326467899936,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7vyLAK1d3g1q4PaUuuH3M8",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kizJtpXqJWR6KCL438E5YJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2272727272727271,cy:.1,cz:.07142857142857142,lx:.09090909090909062,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hzXfdodMPgDwURK77F9MeV",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"g2MyW88G8QaeW7ivhwR2tv",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jess",cx:4.690272477111533,cy:13.3005830342772,cz:.03336358582743005,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"nTe63y4NHf8RrpW2eucqBC",selected:!1,ly:.43},{type:"Window",cx:-.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qJGbm5uGmW4X697uskEVvs",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:-.13149449794683302,cy:0,cz:-.08333333333333333,lx:.1577933975361996,ly:0,lz:.8333333333333334,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"w281yvi8VG2acGPfsqs5DF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.07889669876809982,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"mWxzJt7m7UWEJMmH3QHQEB",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3418856946617659,cy:.1,cz:-.08333333333333333,lx:.05259779917873321,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"a4Bg19CP2z1jtLJFY16BxW",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"7u2aKRK5YJxj5G4bJhfnuN",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kJNAK2vsWPzsnxXo8yU2jJ",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"3xBVGhYk5CECo9wX6WccRP",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"vLYAPPmtNdR8BBv2dwnaPC",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.28237583077258077,cy:.1,cz:-.25,lx:.08067880879216593,ly:.3,lz:.3,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vsD1vwp8qSW44JbcubZkXV",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kx7Jk3snYCbpQRqNSTwx7i",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33885099692709686,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hFnZkVdXVk7kt7HuJ5EXTA",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:.2904437116517973,cy:0,cz:-.3,lx:.1936291411011982,ly:0,lz:.4,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"hXTygNgpyWv5Q8SdkdwrBN",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.24203642637649775,cy:.1,cz:.3,lx:.0968145705505991,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dYJeyws9qM6CyNBpAFDT4C",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"42F92bD3A47C9HfuQN7TKE",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.31558679507239956,cy:.1,cz:.24999999999999997,lx:.21039119671493278,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"qxRE8qmG9xHbjtVsaCxYsE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"9sATuUB81PmwXpthc9oUjo",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.29586262038037425,cy:.1,cz:-.08333333333333333,lx:.06574724897341651,ly:.3,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hDtjiJL8L1n4uHmeabkB4U",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"wmRa6rPywUr54Esr4Sk1n4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.15,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"akprzo3hHBejx7HCAVwmQ4",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.35714285714285715,lx:.1,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"r2R5PZ9UN3GkeiaDktnAeY",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"kHdEwJHqbM3B6pBPMdhSph",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.28125,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"gSzMdys25c7EFmVM4PPcqc",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.09375,cy:.1,cz:.35714285714285715,lx:.0625,ly:.3,lz:.14285714285714285,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"67wPdhvoUHXR7PuJh6jwmB",foundationId:"dwSg9LvrTwKhMcJFZMtZSx",id:"osJn4P5UR44EiHtzsfapPV",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iYjDfcWBcotpYGf1tfdYtt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.03723637328869196,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"1DVcZmp9unvFUD3kth4Ldt",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.33512735959822765,cy:.1,cz:.3,lx:.07447274657738392,ly:.3,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"e1bkiT8KZb5kq2EZtd6xkx",foundationId:"g8MxeMM8L2RM1xR4mKCqRr",id:"iDftHFSTHkqwMVnS3owrRR",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.16666666666666666,lx:.2629889958936657,ly:0,lz:.6666666666666666,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beJH9KRXtDcaa6m4RL93xX",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"eAWyKBNd38qS1dYBuKrkj6",doorType:"Default",archHeight:1,filled:!0},{type:"Flower",name:"Cactus Combo 1",cx:15.634548540985584,cy:11.876139460714374,cz:.04168179258704141,lx:2,lz:2.35,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"wmzcYA53yLxrPfQ5v68p4e",selected:!1},{type:"Flower",name:"Cactus Combo 2",cx:18.898648680314054,cy:11.25310807141135,cz:.041681792587041855,lx:2,lz:2.7,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ekW7n1M2LiXzN32pweKLPt",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-9.952276659759775,cy:12.90502413689002,cz:.04168179258704274,lx:2,lz:2.69,normal:[0,1,0],rotation:[0,0,0],parentId:"g8MxeMM8L2RM1xR4mKCqRr",id:"kyZxhbtBH6PAgp5K6MDu9p",selected:!1},{type:"Flower",name:"Cactus Combo 3",cx:-16.70983030604646,cy:11.722560280813752,cz:.041681792587040974,lx:2,lz:2.45,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"a9ApdGiziGdUumhgusYw2u",selected:!1},{type:"Human",name:"Jamelia",cx:-.9137087061647211,cy:10.928006147996442,cz:.041681792587041855,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"5QNe3ntzVQvFEHnDW2YJBn",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:12.272662858917183,cy:8.898453665685638,cz:.041681792587041855,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"jrkJAJRrbJ8LDAxvtvH9ym",selected:!1,ly:.494},{type:"Flower",name:"Cactus Combo 2",cx:15.729057510724607,cy:-7.680209466829874,cz:.041681792587040974,lx:2,lz:2.7,normal:[0,0,1],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"bWKYur6DnwP6mEaL7fWHC5",selected:!1},{type:"Flower",name:"Cactus Combo 1",cx:5.786476089599912,cy:-6.442673510815909,cz:.04168179258704363,lx:2,lz:2.35,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"3ao3ZpduETphLg6cc8LUjj",selected:!1},{type:"Flower",name:"Cactus Combo 4",cx:-10.111033648495354,cy:-7.125989728474186,cz:.04168179258704363,lx:2,lz:2.69,normal:[0,0,1],rotation:[0,0,0],parentId:"dwSg9LvrTwKhMcJFZMtZSx",id:"uqTpdoF6iAUdixG8SfEgJj",selected:!1},{type:"Window",cx:-.31558679507239945,cy:.1,cz:.24999999999999997,lx:.21039119671493292,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"j5t6bBkxWAT3r9CjT4GP8B",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"ibgD6gwHyvXo2UA5ceSEVw",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Human",name:"Jiya",cx:10.698394787136534,cy:11.589493889667297,cz:.03336358582743005,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"mMaWsSyXEBfBHccaGNhNaS",selected:!1,ly:.6},{type:"Human",name:"John",cx:8.199832055622817,cy:11.636996804402608,cz:.033363585827429154,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"48yGEsfjgkFf6JxD4AfTys",selected:!1,ly:.6},{type:"Window",cx:-.4058097887797344,cy:.1,cz:.24999999999999997,lx:.03528780771997702,ly:.3,lz:.1666666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",id:"aPAj9pnBrDVWusPRcoZUdo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.2999463656198036,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bhkdQB672T3sQvxXuVmHrR",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.19408294245987287,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hBEhSqRgj9NSNQa4oM7xNt",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:-.08821951929994218,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tB2iwRfd3qTWeCsYv7HiuW",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.44109759649971125,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5RkPZYVo3GN5X19Bn6Yr4D",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.3705219810597575,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59NsagWft1p9bwUyWDUzrn",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Window",cx:.2999463656198037,cy:.1,cz:.25000000000000006,lx:.03528780771997702,ly:.3,lz:.1666666666666666,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"77AhVqY63vBnmESEhniVsa",parentId:"hoTvGY2rqMy7seoYfMRRTd",foundationId:"7ZHXRj1w61cveRC3gvedyo",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.05,windowType:"Default",archHeight:1},{type:"Cuboid",cx:-14.789681570981625,cy:-12.821724309505734,cz:1.3499532304431159,lx:3.0361328512402026,ly:2.0173847404410545,lz:2.6999064608862318,color:"#df9b6c",faceColors:["#df9b6c","#df9b6c","#df9b6c","#df9b6c","#df9b6c","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0555294187969286],parentId:"Ground",selected:!1,id:"8afBb85AbBXxrUxc1UJNK2"},{type:"Tree",name:"Coconut",cx:10.01957056934475,cy:-11.043888206723011,cz:0,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"gHPxDQkjKxPPpDTbnNBT1s",selected:!1},{type:"Tree",name:"Coconut",cx:19.62542663178017,cy:-.8605656311368737,cz:.041681792587041855,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"7ZHXRj1w61cveRC3gvedyo",id:"ojssPm5w3H8Z5YiH8zAEzJ",selected:!1},{type:"Tree",name:"Coconut",cx:-5.921845166656402,cy:-20.83835275090669,cz:-8881784197001252e-31,lx:4.98455928150696,lz:7.122482384126237,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hiyUWsAKxmKF4tZmUy3NkH",selected:!1}],$sn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-12.5485886969171,-8.79449187461802,-8794882783709357e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-12.5485886969171,-8.794641881286468,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-9.661868463308164,-30.326442140062476,3.3023821453989806],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#999999",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5760093837906188,2.4983076358188625,2.2700206595855397],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Qsn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Zsn=1,ecn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},tcn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ncn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ocn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},icn=[],rcn={docid:Osn,time:_sn,timestamp:Vsn,userid:Gsn,owner:Xsn,email:Jsn,world:Ksn,elements:qsn,view:$sn,graphState:Qsn,evolutionMethod:Zsn,solarPanelArrayLayoutParams:ecn,solarPanelArrayLayoutConstraints:tcn,evolutionaryAlgorithmState:ncn,economicsParams:ocn,notes:icn},acn="46sdKsi3AXehgk5pLocfEZ",lcn="11/15/2023 08:10 PM",scn=1700097013597,ccn="QWecNcxhyvP6j6sBN11hBsfZDau1",ucn=null,dcn=null,fcn="1.4.7",hcn={diurnalTemperatureModel:1,longitude:-71.3488548,sutDaysPerYear:4,daysPerYear:4,solarPanelVisibilityGridCellSize:.2,sutGridCellSize:1,noAnimationForSensorDataCollection:!1,latitude:42.2844063,address:"Natick, MA",discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",pvGridCellSize:.5,cspGridCellSize:.5,airAttenuationCoefficient:.01,noAnimationForThermalSimulation:!1,highestTemperatureTimeInMinutes:900,noAnimationForSolarPanelSimulation:!1,sutTimesPerHour:1,noAnimationForSolarUpdraftTowerSimulation:!1,timesPerHour:1,cspTimesPerHour:1,ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},dustLoss:.05,name:"default",countryCode:"US",cspDaysPerYear:4,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:5},pcn=[{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:9.90269213865045,solarUpdraftTower:{},ly:19.683075461124755,lz:.1,parentId:"Ground",cx:-9.113689833217686,cy:.18995426124406656,cz:.05,textureType:"No Foundation Texture",id:"9i1GeRaoeMfYcFyEXeESac",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["vGUT3JZv2v5bPwGYFugWY9"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["v2X26dL66tDwT3FmUa4dJm"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.021724129735727,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9QENUE5u5vX4ytePVUekD6",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127663,9.208552266536293,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:4.927202561127659,cy:-.3023097983315708,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127656,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948963,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["aR3TKXZKTA3DjkwyAfcrsN"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9QENUE5u5vX4ytePVUekD6"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893995,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"vGUT3JZv2v5bPwGYFugWY9",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,9.208552266536286,0],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819334532,cy:9.208552266536289,cz:0,leftUnfilledHeight:.5,leftPoint:[4.927202561127663,9.208552266536293,0],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.1415926535897936,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["v2X26dL66tDwT3FmUa4dJm"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["vGUT3JZv2v5bPwGYFugWY9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:19.02172412973572,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"aR3TKXZKTA3DjkwyAfcrsN",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-4.944421052766332,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-4.944421052766332,cy:-.30230979833157434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.944421052766332,9.208552266536286,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948968,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9QENUE5u5vX4ytePVUekD6"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["aR3TKXZKTA3DjkwyAfcrsN"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:9.871623613893986,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"emaK2k9UPEiLxchx8wQAVR",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"v2X26dL66tDwT3FmUa4dJm",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[4.927202561127656,-9.813171863199434,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:-.008609245819338085,cy:-9.813171863199434,cz:0,leftUnfilledHeight:.5,leftPoint:[-4.94442105276633,-9.813171863199434,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["9QENUE5u5vX4ytePVUekD6"],textureType:"Roof Texture Default",id:"emaK2k9UPEiLxchx8wQAVR",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",rValue:2,parentId:"9i1GeRaoeMfYcFyEXeESac",cx:0,cy:0,cz:0,rise:2},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"dYhfccPnbEuiEAJoeaQBDj",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.2701735720998875,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.147367402963575,ly:.3,tint:"#73D8FF",lz:.5426870588204226,windowType:"Default",empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"5nVnggQ1j1y4LhusK3QQ9N",selected:!1,normal:[0,0,0],mullionWidth:.06,rotation:[0,-1,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.22105110444536252,cy:.3,cz:.0904478431367371,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.06896551724137932,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Arched",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"iAAMojVW9SfERJgsNR5wGg",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"v2X26dL66tDwT3FmUa4dJm",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.014639709033835343,cy:.3,cz:.1951247058802817,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:5.121405440544657,solarUpdraftTower:{},ly:23.331989134689955,lz:.1,parentId:"Ground",notBuilding:!0,cx:7.117139637555678,cy:-2.1402534531496054,cz:.05,textureType:"Foundation Texture #7",id:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["naij9irGfPKDF6gEc7Zkzp"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"hbDCpCYC3ZLecZSkhJS1EQ",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:2.559407991260085,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,-3.3190148046410934,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:27.903855171778083,solarUpdraftTower:{},ly:11.561493647400244,lz:.1,parentId:"Ground",cx:-.6894829517342327,cy:3.639827040053712,cz:.05,textureType:"No Foundation Texture",id:"4CT3RC8YfvAiLoXMz31PEP",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["1Zay38AwfKg5VsDAT4PNTX"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["9BgkixvH2fS92Toh4D28v5"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543367,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"kqp9pSQMqPyRJVqLaTvTUF",leftRoofHeight:3,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[-8.140917668430362,5.750753387493409,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:5.750753387493408,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["kqp9pSQMqPyRJVqLaTvTUF"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409493,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"9BgkixvH2fS92Toh4D28v5",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,5.750753387493413,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:13.850369299113007,cy:.05442619428866724,cz:0,leftUnfilledHeight:.5,leftPoint:[13.850369299113007,-5.641900998916079,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{normal:[0,1,0],cx:.12009022039087736,cy:-3.0450806858488395,cz:.05000000074505806,rotation:[0,0,0],name:"Jamelia",id:"uRMwVbiJoYLhXPAzZaiS71",type:"Human",lx:.65,lz:1.8,parentId:"6oJTxTDspAfmbzbkSwgLzM",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oNGhacA1yDo6pQ4NiWd8Nw"],structureSpacing:2,structureColor:"white",rightRoofHeight:2.999999999999999,leftJoints:["kqp9pSQMqPyRJVqLaTvTUF"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:11.392654386409477,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[-5551115123125783e-32,5],roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"1Zay38AwfKg5VsDAT4PNTX",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-8.140917668430362,-5.64190099891607,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:-8.140917668430362,cy:.05442619428866813,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,5.750753387493406,.1],wallStructure:"Default",leftTopPartialHeight:4.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:.5,rightTopPartialHeight:4.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["9BgkixvH2fS92Toh4D28v5"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["1Zay38AwfKg5VsDAT4PNTX"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:21.991286967543363,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"qmUXXfVhmamGoX7fipyTJo",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"oNGhacA1yDo6pQ4NiWd8Nw",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[13.850369299113007,-5.641900998916079,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:2.8547258153413235,cy:-5.641900998916076,cz:0,leftUnfilledHeight:.5,leftPoint:[-8.140917668430362,-5.641900998916072,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-3231019343291642e-31,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:2,lineWidth:.2,showLabel:!1,wallsId:["kqp9pSQMqPyRJVqLaTvTUF"],textureType:"Roof Texture Default",id:"qmUXXfVhmamGoX7fipyTJo",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",rValue:2,parentId:"4CT3RC8YfvAiLoXMz31PEP",cx:0,cy:0,cz:0,rise:2},{normal:[0,1,0],color:"#ffffff",rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",doorType:"Default",filled:!0,lineColor:"#000000",type:"Door",lx:.10630984247920754,uValue:1,ly:0,lz:.8333333333333334,lineWidth:.2,showLabel:!1,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",interior:!1,cx:.2232506692063359,cy:0,cz:-.08333333333333333,archHeight:1,textureType:"Door Texture #13",id:"j64mXBpPWycvnXkBDtiDas",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["gjog834aLNPzVBFGgmeHKa"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8cZQ8gw5Uc65jmC4AaB7d",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,2.8016570371963034,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:2.8016570371963034,cz:0,leftUnfilledHeight:.5,leftPoint:[2.559407991260085,2.8016570371963034,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["naij9irGfPKDF6gEc7Zkzp"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["u8cZQ8gw5Uc65jmC4AaB7d"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:6.120671841837397,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"gjog834aLNPzVBFGgmeHKa",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[-2.470278682104108,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:-2.470278682104108,cy:-.25867888372239545,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,2.8016570371963034,.1],wallStructure:"Pillar",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["hbDCpCYC3ZLecZSkhJS1EQ"],structureSpacing:3.1,structureColor:"white",rightRoofHeight:3,leftJoints:["gjog834aLNPzVBFGgmeHKa"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:5.029686673364193,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.0028493376063965],roofId:"wBHkiU6oo5drdfZkAFGFfz",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"naij9irGfPKDF6gEc7Zkzp",leftRoofHeight:3,structureWidth:.2,eavesLength:.3,selected:!1,rightPoint:[2.559407991260085,-3.3190148046410934,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:.04456465457798853,cy:-3.3190148046410934,cz:0,leftUnfilledHeight:.5,leftPoint:[-2.470278682104108,-3.3190148046410934,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:.5,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#808080",thickness:.15,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["gjog834aLNPzVBFGgmeHKa"],textureType:"Roof Texture Default",id:"wBHkiU6oo5drdfZkAFGFfz",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",rValue:2,parentId:"6oJTxTDspAfmbzbkSwgLzM",cx:0,cy:0,cz:0,rise:1.0028493376063965},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:2.728592264047313,solarUpdraftTower:{},ly:4.662886212525777,lz:.1,parentId:"Ground",notBuilding:!0,cx:3.15486402400506,cy:5.558911086166162,cz:.05,textureType:"No Foundation Texture",id:"cnVE9qA8tGVxx7Twx9YQ7v",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["pXM26q1VjfYYDMxhYfN2o9"],structureSpacing:2,structureColor:"white",leftJoints:["oQPmsDKPXogP77dA6oQjhK"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"o5Yf7XQHbF4kHVdq79cdp9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["o5Yf7XQHbF4kHVdq79cdp9"],structureSpacing:2,structureColor:"white",leftJoints:["xuRnyn33hSpjc1EP64SqoP"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"oQPmsDKPXogP77dA6oQjhK",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:.18822922640719586,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[.18822922640719586,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["xuRnyn33hSpjc1EP64SqoP"],structureSpacing:2,structureColor:"white",leftJoints:["o5Yf7XQHbF4kHVdq79cdp9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"pXM26q1VjfYYDMxhYfN2o9",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.8117707735928041,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.8117707735928041,cy:-.6460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:4.71238898038469,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["oQPmsDKPXogP77dA6oQjhK"],structureSpacing:2,structureColor:"white",leftJoints:["pXM26q1VjfYYDMxhYfN2o9"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:1,ly:.2,lz:6,lineWidth:.2,showLabel:!1,volumetricHeatCapacity:.5,textureType:"Wall Texture #3",studColor:"#ffffff",id:"xuRnyn33hSpjc1EP64SqoP",structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[.18822922640719586,-1.1460542118582815,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"cnVE9qA8tGVxx7Twx9YQ7v",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"cnVE9qA8tGVxx7Twx9YQ7v",cx:-.31177077359280414,cy:-1.1460542118582815,cz:0,leftUnfilledHeight:.5,leftPoint:[-.8117707735928041,-1.1460542118582815,.1],wallStructure:"Default",leftTopPartialHeight:2.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:2.5,unfilledHeight:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"aZQsp9KnrVqmk4eAwe1NCt",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.20610080510533202,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.0865221828476419,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"wi1NteLea8pGYc59N8ZyTs",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.09315657273688317,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.5,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"tpCHwLeKKFgUw5FY2DKdy1",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.021261968495841516,cy:.3,cz:.08333333333333333,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04252393699168303,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1NPtUozjvhjcbUekBxsSNW",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.40397740142098876,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.04632014812218899,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ptRhzHtPCd3TfYdEbPj837",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.29226874611722437,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],hvacSystem:{id:"1",thermostatSetpoint:20},solarPowerTower:{},color:"#808080",rotation:[0,0,0],solarAbsorberPipe:{},type:"Foundation",lx:3.215640251525082,solarUpdraftTower:{},ly:7.683856697227261,lz:.1,parentId:"Ground",cx:13.747250889007532,cy:3.741208118171845,cz:.05,textureType:"No Foundation Texture",id:"4SCfFQkEiBbVWLNY4GZGRU",selected:!1},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["4HHRdJpRSx8pifjYvsDdM4"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"u8nK8tuuo6DkzwQEivraoQ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:3.4762421347806844,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:3.141592653589793,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["u8nK8tuuo6DkzwQEivraoQ"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["bxY2NeBNcbCbVPsugfGXTE"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"4HHRdJpRSx8pifjYvsDdM4",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,3.4762421347806844,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:1.5872805081220083,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[1.5872805081220083,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["bxY2NeBNcbCbVPsugfGXTE"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["u8nK8tuuo6DkzwQEivraoQ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:7.103113702900762,ly:.3,lz:3,lineWidth:.2,showLabel:!1,centerRoofHeight:[0,4.5],roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"c1xKbTDTkdNMKPxFGbq5sJ",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[-.6112818815298553,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Empty",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:-.6112818815298553,cy:-.07531471666969658,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,3.4762421347806844,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:-1.5707963267948966,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{rightUnfilledHeight:.5,color:"#ffffff",rightJoints:["4HHRdJpRSx8pifjYvsDdM4"],structureSpacing:2,structureColor:"white",rightRoofHeight:3,leftJoints:["c1xKbTDTkdNMKPxFGbq5sJ"],parapet:{parapetHeight:1,color:"white",copingsHeight:.1,display:!1,textureType:"No Wall Texture",copingsWidth:.5},type:"Wall",lx:2.1985623896518645,ly:.3,lz:3,lineWidth:.2,showLabel:!1,roofId:"iQYyB4WDCVVmrDF6P2RGEj",volumetricHeatCapacity:.5,textureType:"Wall Texture Default",studColor:"#ffffff",id:"bxY2NeBNcbCbVPsugfGXTE",leftRoofHeight:3,structureWidth:.1,eavesLength:.3,selected:!1,rightPoint:[1.5872805081220083,-3.6268715681200776,.1],normal:[0,0,1],rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",studWidth:.1,lineColor:"#000000",windows:[],fill:"Full",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:.4879993132960756,cy:-3.6268715681200776,cz:0,leftUnfilledHeight:.5,leftPoint:[-.6112818815298553,-3.6268715681200776,.1],wallStructure:"Default",leftTopPartialHeight:5.5,studSpacing:2,relativeAngle:0,opacity:0,rightTopPartialHeight:5.5,unfilledHeight:.5},{color:"#808080",thickness:.2,ridgeRightPoint:[0,1],sideColor:"#ffffff",ridgeLeftPoint:[0,1],type:"Roof",lx:0,ly:0,lz:0,lineWidth:.2,showLabel:!1,wallsId:["bxY2NeBNcbCbVPsugfGXTE"],textureType:"Roof Texture Default",id:"iQYyB4WDCVVmrDF6P2RGEj",selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",rValue:2,parentId:"4SCfFQkEiBbVWLNY4GZGRU",cx:0,cy:0,cz:0,rise:1.5},{color:"#ffffff",type:"Window",lx:.4656293560221584,ly:.3,tint:"#73D8FF",lz:.3333333333333333,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!1,interior:!1,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"ur2wu1GbyFVp7FmPxNNmBM",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4SCfFQkEiBbVWLNY4GZGRU",lineColor:"#000000",uValue:2,parentId:"bxY2NeBNcbCbVPsugfGXTE",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:12923810799929613e-33,cy:.3,cz:.16666666666666666,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:-13.100619706718579,cy:-10.982350587612038,cz:0,rotation:[0,0,0],name:"Boxwood",id:"bzsGApekhuYxympNeW6JVx",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-11.532994972828238,cy:-10.945183221755485,cz:0,rotation:[0,0,0],name:"Boxwood",id:"2y8Zm1vaLLzKLCLA5bR7oe",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-9.926022363688986,cy:-10.929829923112186,cz:0,rotation:[0,0,0],name:"Boxwood",id:"dJtXdJrD6NpPxoMSTaJY7n",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.252046390037505,cy:-10.833715328006154,cz:0,rotation:[0,0,0],name:"Boxwood",id:"fZeGKA8vqbSdnXefKUgP6u",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-6.596249922214839,cy:-10.835475782121927,cz:0,rotation:[0,0,0],name:"Boxwood",id:"mDpx3QUsXGWznsz7rRMSdN",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-4.903997368711945,cy:-10.880752447262477,cz:0,rotation:[0,0,0],name:"Boxwood",id:"7unbM9cBoPXu92FcGyHWjG",type:"Flower",lx:1.6,lz:1.44,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-8.971390493828297,cy:-12.01356765080397,cz:0,rotation:[0,0,0],name:"Jacob",id:"9sZwMtiyANKZHbqdhvGUp9",type:"Human",lx:.8,lz:1.82,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-2.805525594551304,cy:-3.0636427589221107,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"kdDbY49KBpLT6Gh4XRcuXV",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.8228472548979603,cy:-2.9603397088144945,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"cPktsh6MkPkQgTpcfsZ264",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:1.2205615754221601,cy:-3.0452854714079365,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"pfPsSh1hnCKWYj3B8ZGyhC",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:3.188130988912686,cy:-3.1336708109310862,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"oKGQ71oyUFnUv3h2wpjctG",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.49096591590788,cy:-2.9417670536643996,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"tAkXUbnTXQQEkhtjgkeL9a",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:12.439980874103988,cy:-2.958114538663313,cz:0,rotation:[0,0,0],name:"Yellow Flower",id:"3uPL624aQAssRbe8u5vNsL",type:"Flower",lx:2,lz:1.4,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.227119582351997,cy:-6.718823701549967,cz:0,rotation:[0,0,0],name:"White Flower",id:"pp9vMNnF3gKDKwKACrCtWt",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.248202396665872,cy:-7.3829856427934075,cz:0,rotation:[0,0,0],name:"White Flower",id:"6HCPw6bEmxM9XBoyEFYsXx",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.29608623259089,cy:-8.067012538431428,cz:0,rotation:[0,0,0],name:"White Flower",id:"s9pXmqBnLJggJVDKmKrsUe",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.253112052389068,cy:-8.783230589194178,cz:0,rotation:[0,0,0],name:"White Flower",id:"nmZQCDYhSZSpTJn766vY6J",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.284683512589031,cy:-9.514835126828089,cz:0,rotation:[0,0,0],name:"White Flower",id:"qTPuqJ4Ppz1TkNvBeQyqFz",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.071297430185469,cy:-6.519410387949039,cz:0,rotation:[0,0,0],name:"White Flower",id:"5pk9bJdBfyK4bpLi5BT6NM",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.062267589853372,cy:-7.196223132026073,cz:0,rotation:[0,0,0],name:"White Flower",id:"r8K8yWqHuFGizynm6ddenB",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.097400993990563,cy:-7.971209786072892,cz:0,rotation:[0,0,0],name:"White Flower",id:"oG3QSnZ1Uk7vjSTdBJ8fXN",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.06700296171534,cy:-8.729909052223485,cz:0,rotation:[0,0,0],name:"White Flower",id:"tkRzfWzEvDw14BTf7giDeA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.080379345721328,cy:-9.557453473585836,cz:0,rotation:[0,0,0],name:"White Flower",id:"sCmW6UrmvwLKnfPLkgt286",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.299044056096119,cy:-10.313859849129921,cz:0,rotation:[0,0,0],name:"White Flower",id:"qigHYFtupbrFesxkd37Zht",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.075030547693563,cy:-10.331325702253856,cz:0,rotation:[0,0,0],name:"White Flower",id:"wWEyHg1cJDBq1b3EMERb9A",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.309032427615859,cy:-11.091835373694485,cz:0,rotation:[0,0,0],name:"White Flower",id:"1kA9AC2Guwj5iAhcjXubxK",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.099628606942899,cy:-11.10977466594735,cz:0,rotation:[0,0,0],name:"White Flower",id:"6Lxn24pDS3Drayq29WyoKf",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.385872466836958,cy:-11.910915656038041,cz:0,rotation:[0,0,0],name:"White Flower",id:"qrcVRZNMH5ehQ4r36RBqU6",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.130718482167884,cy:-11.91928566361417,cz:0,rotation:[0,0,0],name:"White Flower",id:"89M11hZpqVtWuZCYDG5EYF",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.426502126657067,cy:-12.641489645575502,cz:0,rotation:[0,0,0],name:"White Flower",id:"edL3BFi1bTcY7m6rb8Z692",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.128599191487156,cy:-12.753156162180996,cz:0,rotation:[0,0,0],name:"White Flower",id:"33TVUhPCYQMxWUT6sdBkTj",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:4.438104647827676,cy:-13.391380274386641,cz:0,rotation:[0,0,0],name:"White Flower",id:"ddTatvjn8PZnpa5P7wkL8k",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:10.094734752772371,cy:-13.540199425804733,cz:0,rotation:[0,0,0],name:"White Flower",id:"mx6oiu2CpUQHto7UPZUVNA",type:"Flower",lx:.8,lz:.5,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:15.223771494752249,cy:-1.1686190396344398,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"bEZvtj2vhcueHdhStZq3zG",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.813831408618693,cy:4.533595612460387,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"rHgigsbmBipXpU5L23ADrP",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.761059861350283,cy:2.526606100917273,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"5sKnhXEkZrDN45g6Hkv3Dr",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.735563289446127,cy:6.631805912715191,cz:-17763568394002505e-31,rotation:[0,0,0],name:"Hibiscus",id:"2NraLHQLDf7r45LZpKeZWV",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:16.65137747037868,cy:.5295700067482301,cz:0,rotation:[0,0,0],name:"Hibiscus",id:"ssqX4qu1eL82YUJ4MAMBZc",type:"Flower",lx:2,lz:1.7,parentId:"Ground",selected:!1},{color:"#ffffff",polygonTop:[0,1.5],type:"Window",lx:.6144309976040727,ly:.3,tint:"#73D8FF",lz:.9666666666666667,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"hNQ7uh7EgAer8x5yJgdejy",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"9BgkixvH2fS92Toh4D28v5",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-19490155445241313e-33,cy:.3,cz:.01666666666666668,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:1.0259623193904517,ly:.2,tint:"#73D8FF",lz:.9973447889836972,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pEKTeVcdGPeo8QaTuPfNZn",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314723,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:3.271837805703635,cy:1.2022574325146156,cz:4.796992518408978,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.02198232342893128,5.239274910393489],type:"Window",lx:11.521452745175713,ly:.2,tint:"#73D8FF",lz:.028013650400663493,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"ve3NZruBvxPhuGrwYfJYbD",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3849826581688516,0,1.5707963267948961],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"emaK2k9UPEiLxchx8wQAVR",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:5.086744147605803,cy:3.321831955890855,cz:3.135353456445162,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.5841143520475517,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"xcpQhvE8H4jY1XBufEziCv",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"9i1GeRaoeMfYcFyEXeESac",lineColor:"#000000",uValue:2,parentId:"9QENUE5u5vX4ytePVUekD6",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.1869142359643362,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,6.225749243067175],type:"Window",lx:4.529358401864285,ly:.2,tint:"#73D8FF",lz:.0014510101332386256,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"qco3N3M7pEccTSX4FnzmmB",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,-4440892098500626e-31],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.038377742510676,cy:-5.937820865703974,cz:3.0961015205935123,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.17714486148633357,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"1u4CPXmzZ7U8AD1aJnrxtZ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"oNGhacA1yDo6pQ4NiWd8Nw",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-.40688031378480977,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,5.545977124465995],type:"Window",lx:4.431361564126709,ly:.2,tint:"#73D8FF",lz:.05655021663112993,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"hxMturJGqg8nQWYw3248Zf",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.33765748962314746,0,3.141592653589793],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"qmUXXfVhmamGoX7fipyTJo",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-6.124998499042543,cy:5.680878658133054,cz:3.224533256953256,opacity:.5,frame:!0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",type:"Window",lx:.19988113884645106,ly:.3,tint:"#73D8FF",lz:.9333333333333332,windowType:"Default",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:.1,mullionSpacing:.5,archHeight:1,id:"rm6Z987XxKrWApL3xoegwQ",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[0,0,0],foundationId:"4CT3RC8YfvAiLoXMz31PEP",lineColor:"#000000",uValue:2,parentId:"kqp9pSQMqPyRJVqLaTvTUF",parentType:"Wall",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:.3955121751047511,cy:.3,cz:0,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[.5,2.9702881561464394],type:"Window",lx:3.157582763484352,ly:.15,tint:"#73D8FF",lz:.021976494720977846,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"pqpP8EKpYsZ86BiFVEHhxo",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,1.5707963267948966],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:2.8491029983508964,cy:1.4398333849785727,cz:3.034477716074278,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{color:"#ffffff",polygonTop:[-.5,2.8179589134876353],type:"Window",lx:3.322490733590821,ly:.15,tint:"#73D8FF",lz:.016499091866733075,windowType:"Polygonal",lineWidth:.2,showLabel:!1,empty:!0,interior:!0,sillWidth:0,mullionSpacing:.5,archHeight:1,id:"7zkZZCYRrhEu3epYoe3VVL",selected:!1,normal:[0,-1,0],mullionWidth:.06,rotation:[.3794473874556583,0,4.71238898038469],foundationId:"6oJTxTDspAfmbzbkSwgLzM",lineColor:"#000000",uValue:2,parentId:"wBHkiU6oo5drdfZkAFGFfz",parentType:"Roof",mullionColor:"#ffffff",mullion:!0,frameWidth:.1,cx:-2.759910269509251,cy:1.377735998361726,cz:3.034503006074985,opacity:.5,frame:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,1,0],cx:19.682640887226967,cy:1.7189056044242683,cz:0,rotation:[0,0,0],name:"Apple",id:"7Fb312hzxWdTnmmZmzJ1Ub",type:"Tree",lx:5.1836671993460035,lz:5.934335930936695,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-17.761844408107656,cy:-14.105635188228664,cz:0,rotation:[0,0,0],name:"Elm",id:"7o7bNqKzFGLaB6T7op3udd",type:"Tree",lx:15.71602183123487,lz:16.55887991319796,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:.7478699234997297,cy:-12.856360711077464,cz:17763568394002505e-31,rotation:[0,0,0],name:"Joel",id:"68Win1DRWqT8VnsTwHRtwy",type:"Human",lx:1.8,lz:1.75,parentId:"Ground",selected:!1},{normal:[0,1,0],cx:-.11804362509319688,cy:-9.517368667682085,cz:0,rotation:[0,0,0],name:"Jacqueline",id:"n6cjamzJLc5nH9PXsech9s",type:"Human",lx:.43,lz:1.78,parentId:"Ground",selected:!1}],gcn=63,mcn={showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,yearlyHeliostatYieldPanelY:0,windowShininess:200,dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},dailyLightSensorPanelY:0,heatFluxWidth:.5,showEvolutionPanel:!1,shadowEnabled:!0,theme:"Rural",dailyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showDailyParabolicTroughYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelY:0,dailyLightSensorPanelRect:{x:0,height:360,y:0,width:600},yearlyFresnelReflectorYieldPanelX:0,dailyParabolicDishYieldPanelRect:{height:400,x:0,y:0,width:600},dailyParabolicDishYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{width:600,height:400,x:0,y:0},yearlyLightSensorPanelRect:{width:600,height:500,x:0,y:0},showDailyFresnelReflectorYieldPanel:!1,weatherPanelRect:{x:0,width:500,y:0,height:500},showWeatherPanel:!1,showDailyHeliostatYieldPanel:!1,stickyNotePanelX:0,weatherPanelX:0,showDailyBuildingEnergyPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{height:400,y:0,width:600,x:0},evolutionPanelRect:{x:0,width:640,y:0,height:400},waterSurface:!1,showYearlyPvYieldPanel:!1,weatherPanelY:0,groundImage:!1,dailyParabolicDishYieldPanelY:0,solarPanelShininess:100,directLightIntensity:1,solarRadiationHeatMapMaxValue:5,heliodon:!1,mapPanelX:0,showEconomicsPanel:!1,showStickyNotePanel:!1,showYearlyLightSensorPanel:!1,mapPanelY:0,heliodonPanelX:0,showDesignInfoPanel:!0,showHeliodonPanel:!1,yearlyFresnelReflectorYieldPanelY:0,dailyPvYieldPanelY:0,dailyPvYieldPanelX:0,groundColor:"#194d33",showMapPanel:!1,autoRotate:!1,heatFluxScaleFactor:20,dailyFresnelReflectorYieldPanelX:0,showAzimuthAngle:!0,yearlyUpdraftTowerYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicTroughYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,showZenithAngle:!0,heliodonPanelY:0,dailyUpdraftTowerYieldPanelRect:{height:550,width:640,x:0,y:0},yearlyParabolicTroughYieldPanelX:0,orthographic:!1,showDailyUpdraftTowerYieldPanel:!1,mapZoom:18,mapWeatherStations:!1,showYearlyParabolicTroughYieldPanel:!1,cameraPosition:[14.811475377664713,-20.78474536900838,3.578971879440754],dailyHeliostatYieldPanelX:0,enableRotate:!0,dailyHeliostatYieldPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showInstructionPanel:!0,yearlyPvYieldPanelRect:{x:0,height:400,width:600,y:0},showSiteInfoPanel:!0,dailyLightSensorPanelX:0,panCenter2D:[4.576706139296041,-7.605431240841252,-7651462374536784e-21],showDailyParabolicDishYieldPanel:!1,ambientLightIntensity:.1,yearlyLightSensorPanelShowDaylight:!1,showElevationAngle:!0,showYearlyBuildingEnergyPanel:!1,cameraZoom:37.01235612443423,showDailyPvYieldPanel:!1,diurnalTemperaturePanelRect:{height:400,width:600,y:0,x:0},cameraPosition2D:[4.576706139296041,-7.606431618292216,150],yearlyHeliostatYieldPanelX:0,showSunAngles:!1,showYearlyParabolicDishYieldPanel:!1,solarRadiationHeatMapReflectionOnly:!1,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyBuildingEnergyPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{x:0,width:600,y:0,height:400},axes:!1,dailyBuildingEnergyPanelRect:{width:600,x:-10,y:-2,height:400},yearlyLightSensorPanelShowClearness:!1,heatFluxColor:"gray",showDiurnalTemperaturePanel:!1,yearlyPvYieldPanelX:0,stickyNotePanelRect:{height:300,y:0,width:400,x:0},showYearlyHeliostatYieldPanel:!1,visibilityResultsPanelX:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelY:0,panCenter:[-2.2871814685183796,5.668685587288812,3.578971879440754],yearlyParabolicDishYieldPanelRect:{x:0,height:400,y:0,width:600},visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyParabolicDishYieldPanelY:0,mapType:"roadmap",groundImageType:"roadmap",yearlyLightSensorPanelX:0,mapTilt:0},ycn=!1,Acn={dailyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1},wcn=1,vcn={poleSpacing:3,interRowSpacing:2,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,poleHeight:1,orientation:"Landscape",pvModelName:"SPR-X21-335-BLK"},xcn={rowAxis:"Zonal",minimumTiltAngle:-1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumInterRowSpacing:10,poleSpacing:5,poleHeight:1,orientation:"Landscape",maximumRowsPerRack:6,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,minimumInterRowSpacing:2},bcn={particleSwarmOptimizationParams:{inertia:.8,convergenceThreshold:.01,swarmSize:20,socialCoefficient:.1,cognitiveCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,vmax:.01},geneticAlgorithmParams:{objectiveFunctionType:1,mutationRate:.1,convergenceThreshold:.01,selectionRate:.5,localSearchRadius:.1,problem:"Solar Panel Tilt Angle",maximumGenerations:5,selectionMethod:1,searchMethod:1,crossoverRate:.5,populationSize:20}},Scn={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},Tcn="Unknown",Pcn=null,Ccn=null,Rcn=null,Hcn=null,Mcn=[],Icn=3,zcn=3,Dcn={docid:acn,time:lcn,timestamp:scn,userid:ccn,owner:ucn,email:dcn,version:fcn,world:hcn,elements:pcn,sceneRadius:gcn,view:mcn,animate24Hours:ycn,graphState:Acn,evolutionMethod:wcn,solarPanelArrayLayoutParams:vcn,solarPanelArrayLayoutConstraints:xcn,evolutionaryAlgorithmState:bcn,economicsParams:Scn,modelType:Tcn,modelAuthor:Pcn,modelLabel:Ccn,modelDescription:Rcn,designProjectType:Hcn,notes:Mcn,minimumNavigationMoveSpeed:Icn,minimumNavigationTurnSpeed:zcn},Ecn="2dxtGmCKtazgz4ZZyFZJZt",kcn="08/09/2023 10:14 am",Fcn=1691590469988,Lcn="QWecNcxhyvP6j6sBN11hBsfZDau1",Wcn=null,Ncn=null,Ucn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Bcn=[{type:"Wall",cx:.13929493819855354,cy:6.605812086773116,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.406268181656478,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.026331619159589,6.605812086773116,1],rightPoint:[-6.747741742762483,6.605812086773116,1],relativeAngle:3.141592653589793,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:7.026331619159589,cy:1.082477095396415,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.0263316191595875,-4.440857895980288,1],rightPoint:[7.026331619159591,6.605812086773116,1],relativeAngle:1.5707963267948961,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:-6.747741742762481,cy:1.082477095396415,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.406268181656478,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.747741742762481,6.605812086773116,1],rightPoint:[-6.747741742762483,-4.440857895980288,1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.05938134141579032,lx:.09052501808791685,ly:.3,lz:.6312373171684194,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Wall",cx:.13929493819855443,cy:-4.440857895980288,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.406268181656478,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.747741742762483,-4.440857895980288,1],rightPoint:[7.026331619159591,-4.440857895980288,1],relativeAngle:0,textureType:"Wall Texture #2",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"mMQKmyWeVTYGQZt5Pwr8i7",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.217800495261873,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:0,lx:.072600165087291,ly:.3,lz:.75,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.0625,lx:.217800495261873,ly:0,lz:.875,color:"white",textureType:"Door Texture #5",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-.10211164866366573,cy:-1.0707408518635368,cz:.5,lx:19.70489075906007,ly:14.114227282188692,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,color:"#ffffff",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},notBuilding:!1},{type:"Human",name:"Jeanette",cx:.14801233194486496,cy:-8.06976158791596,cz:.550000011920929,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"wnofb4XeX3vKmPtas3Qz87",selected:!1},{type:"Wall",cx:-.011858550160528447,cy:7.221609932314045,cz:2.2408122612280286,lx:17.504258260617593,ly:.1,lz:3.738081358463903,leftJoints:["13CFTeuFCTc4YUCeVPJLjR"],rightJoints:["7hhgnkf2gpmkfhuWn7XUeP"],leftPoint:[8.740270580148266,7.221609932314045,1.1],rightPoint:[-8.763987680469327,7.221609932314045,1.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"noYCZko5xXDdVcHWBtGenP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:8.740270580148266,cy:-1.182787584171602,cz:2.2301039869226305,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["59rdAGCDJqPHgoGBDNRR6Q"],rightJoints:["noYCZko5xXDdVcHWBtGenP"],leftPoint:[8.740270580148266,-9.587185100657251,1.1],rightPoint:[8.74027058014827,7.221609932314045,1.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"13CFTeuFCTc4YUCeVPJLjR",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-8.763987680469327,cy:-1.182787584171602,cz:2.228839888904333,lx:16.808795032971297,ly:.1,lz:3.738081358463903,leftJoints:["noYCZko5xXDdVcHWBtGenP"],rightJoints:["59rdAGCDJqPHgoGBDNRR6Q"],leftPoint:[-8.763987680469324,7.221609932314045,1.1],rightPoint:[-8.763987680469327,-9.587185100657251,1.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hhgnkf2gpmkfhuWn7XUeP",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{type:"Wall",cx:-.01185855016052667,cy:-9.587185100657251,cz:2.268765007024547,lx:17.504258260617597,ly:.1,lz:3.738081358463903,leftJoints:["7hhgnkf2gpmkfhuWn7XUeP"],rightJoints:["13CFTeuFCTc4YUCeVPJLjR"],leftPoint:[-8.763987680469327,-9.587185100657251,1.1],rightPoint:[8.74027058014827,-9.587185100657251,1.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"59rdAGCDJqPHgoGBDNRR6Q",parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",wallStructure:"Stud",structureSpacing:2.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:"1YZMDHP4rjNjWTDSh913J6",selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.738081358463903,rightTopPartialHeight:3.738081358463903},{id:"1YZMDHP4rjNjWTDSh913J6",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",foundationId:"dR4uPsfmhQVuGb7SK23oGM",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #1",thickness:.2,wallsId:["59rdAGCDJqPHgoGBDNRR6Q"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.3622814256430873,ceiling:!1},{type:"Foundation",cx:.04811947352688506,cy:1.0979918791395855,cz:.55,lx:22.625453690958146,ly:19.31036432995692,lz:1.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dR4uPsfmhQVuGb7SK23oGM",selected:!1,color:"#ffffff",notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"mMQKmyWeVTYGQZt5Pwr8i7",leftRidgeLength:3.4435183404805185,rightRidgeLength:3.4435183404805185,rise:2.6086446360194486,ceiling:!1},{type:"Foundation",cx:-4.821425474895643,cy:-8.879390234274549,cz:.5,lx:7.794523521725198,ly:3.265167760947254,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"836Y3qvzoPStkTCKiU6Zim",color:"#ffffff",textureType:"Foundation Texture #4",notBuilding:!0},{type:"Wall",cx:-.14626729738059208,cy:.5024705864032608,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,relativeAngle:0,leftPoint:[-3.896267297380592,.5024705864032608,1],rightPoint:[3.603732702619408,.5024705864032608,1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",foundationId:"836Y3qvzoPStkTCKiU6Zim",id:"e64Qztsfyr4zQmZk97hBnb",wallStructure:"Stud",opacity:0,structureColor:"white",structureSpacing:.3,structureWidth:.05,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Wall",cx:-.0005250650359469589,cy:.5000831632035059,cz:1.0309059401885354,lx:7.5,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-3.750525065035947,.5000831632035059,1],rightPoint:[3.749474934964052,.5000831632035059,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"efngrMnFf6NGDKsBgosZFy",parentId:"aiFpq1ExRSUpbVmoio8kUd",foundationId:"aiFpq1ExRSUpbVmoio8kUd",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:5.053596159844837,cy:-8.881777657474304,cz:.5,lx:8.105470562568627,ly:3.2603929145477437,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aiFpq1ExRSUpbVmoio8kUd",selected:!1,notBuilding:!0},{type:"Wall",cx:-.17954580261008696,cy:-.4621199267349816,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.579545802610086,-.4621199267349803,1],rightPoint:[8.22045419738991,-.46211992673498287,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,1.5707963267948966],id:"sDWXonkZUyEPkgjChPFW25",parentId:"tQpZNWS9qUQiRVZS8oj4Qc",foundationId:"tQpZNWS9qUQiRVZS8oj4Qc",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:8.34010119848655,cy:.21478440141855337,cz:.5,lx:17.56747060893107,ly:1.582487181459217,lz:1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tQpZNWS9qUQiRVZS8oj4Qc",selected:!1,notBuilding:!0},{type:"Wall",cx:.17386663993795157,cy:-.45093322724616236,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.226133360062049,-.45093322724616186,1],rightPoint:[8.57386663993795,-.45093322724616464,1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"1pz8zDt3tLxwV81bEJHYGM",parentId:"3kLgJo385s42rfmZRWwy75",foundationId:"3kLgJo385s42rfmZRWwy75",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:-8.212637572768045,cy:.13836840972225417,cz:.5,lx:17.178828934275355,ly:1.6048605804368434,lz:1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3kLgJo385s42rfmZRWwy75",selected:!1,notBuilding:!0},{type:"Wall",cx:-.09999999999999787,cy:13322676295501878e-31,cz:1.0309059401885354,lx:16.799999999999997,ly:.1,lz:1.0618118803770709,leftJoints:[],rightJoints:[],leftPoint:[-8.499999999999996,26645352591003757e-31,0],rightPoint:[8.3,0,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"is5SYj452p8YfTVgmaU6zM",parentId:"n2K3pFpV1Cjm6AUAgZRCTf",foundationId:"n2K3pFpV1Cjm6AUAgZRCTf",wallStructure:"Stud",structureSpacing:.3,structureColor:"white",structureWidth:.05,opacity:0,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.0618118803770709,rightTopPartialHeight:1.0618118803770709},{type:"Foundation",cx:.3262876024341112,cy:8.30924735716035,cz:.5,lx:17.72656221415125,ly:2.5067270349291775,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n2K3pFpV1Cjm6AUAgZRCTf",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012664813117774204,cy:-9.507612927983782,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cTpXWFzNLufQycEffsJdCb",color:"#ffffff",enableGroupMaster:!1,notBuilding:!0},{type:"Foundation",cx:.011699082173905834,cy:-10.207612261814711,cz:.1,lx:.2,ly:2,lz:.2,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8rgH1Z1kSv9eGuQwDGDKs1",selected:!1,notBuilding:!0},{type:"Foundation",cx:.011975005300725344,cy:-10.007612452148733,cz:.15,lx:.2,ly:2,lz:.3,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ovbGxMS1g4Zg4nuB4TQqeX",selected:!1,notBuilding:!0},{type:"Foundation",cx:.01225092842754491,cy:-9.807612642482752,cz:.2,lx:.2,ly:2,lz:.4,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mVnVWTdw8vPyh7LrycmxnQ",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012526851554364421,cy:-9.607612832816773,cz:.25,lx:.2,ly:2,lz:.5,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wUNxCTFzJEgfzKSgjrd9z5",selected:!1,notBuilding:!0},{type:"Foundation",cx:.012802774681183987,cy:-9.407613023150793,cz:.3,lx:.2,ly:2,lz:.6,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"53BxN4TGqhcfN2Yd5k8dup",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013078697808003498,cy:-9.207613213484814,cz:.35,lx:.2,ly:2,lz:.7,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"meWg2dKv2vnU5j91nQfeeo",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013354620934823008,cy:-9.007613403818834,cz:.4,lx:.2,ly:2,lz:.8,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3mD1fnxQ9fjW7tjkECGw95",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013630544061642519,cy:-8.807613594152855,cz:.45,lx:.2,ly:2,lz:.9,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLkWHshGLvdq5XN1PjRi3M",selected:!1,notBuilding:!0},{type:"Foundation",cx:.013906467188462085,cy:-8.607613784486874,cz:.5,lx:.2,ly:2,lz:1,normal:[0,0,1],rotation:[0,0,1.5694167107231525],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"2wfw4Hci4SimT8xLVSR1qM",selected:!1,notBuilding:!0},{type:"Flower",name:"Tall Bush",cx:-9.817715749800067,cy:-9.852268243951208,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hL3pAKVFBPkxjTw9uDE2qM",selected:!1},{type:"Flower",name:"Tall Bush",cx:9.939790338917515,cy:-9.59379601065341,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9JQTdh1CLGJcq2FEuAr43e",selected:!1},{type:"Tree",name:"Magnolia",cx:-12.382557468618694,cy:-8.982107454472132,cz:17763568394002505e-31,lx:7.545471252443165,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mz5Bu6Fc74abemkCjnNzj8",selected:!1},{type:"Tree",name:"Linden",cx:13.009119254200783,cy:-8.749068294142525,cz:0,lx:8.011654641868677,lz:10.603223623678987,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vRaDd6Us9GPPs1xWHr35Aq",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-1.6973329547002773,cy:-.9810097607697941,cz:.4999999999999991,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"uW8r9yxCBYBnbmu4mcD2dK",selected:!1},{type:"Flower",name:"Yellow Flower",cx:2.1540732998146876,cy:-.7842673436297751,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"836Y3qvzoPStkTCKiU6Zim",id:"7rBvK7XUtGC5sWHZd7QXas",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-2.179727293653672,cy:-.7583396115954706,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"a8ojsUZ7mU36ELVrWAE4C8",selected:!1},{type:"Flower",name:"Yellow Flower",cx:1.9219781706072183,cy:-.6600952948240391,cz:.5,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"aiFpq1ExRSUpbVmoio8kUd",id:"6H6en2GXU1wLSxKHPWsjJ6",selected:!1},{type:"Tree",name:"Apple",cx:13.247382515056007,cy:-1.2331435918787816,cz:17763568394002505e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"242hfQPKKVCMwkg6guH9SJ",selected:!1},{type:"Tree",name:"Apple",flip:!0,cx:13.169742632007722,cy:5.190500041503218,cz:-8881784197001252e-31,lx:6.227742361345067,lz:6.109070444404363,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rfSjqDoXAWcYP1QiJK14Ah",selected:!1},{type:"Tree",name:"Pine",cx:-14.749577815037771,cy:1.149901818018586,cz:0,lx:4.512512815610147,lz:12.024404332399733,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"fy1FkFpbo7uvywjAGwxRuY",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-14.371853116942734,cy:-.9634768965176921,cz:0,lx:4.512512815610147,lz:8.962712367303366,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"n1AY9F8phLA3eJfdFeLCVt",selected:!1},{type:"Tree",name:"Pine",flip:!0,cx:-15.240052070171995,cy:2.549040907949193,cz:0,lx:7.596612700375146,lz:7.787173553198613,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"niwq5q77JDU4G8BQsbgERV",selected:!1},{type:"Tree",name:"Magnolia",flip:!0,cx:-14.127046185685298,cy:-5.909041660781089,cz:0,lx:6.24467494419313,lz:8.23797178206723,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"svLkeNQopLzpZVKNMw4BPh",selected:!1},{type:"Human",name:"Jeff",cx:.12654793991771474,cy:-12.447770037532427,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ggcEZD7jGqKHjY9sjyW651",selected:!1,ly:.6},{type:"Human",name:"Jennifer",cx:-1.02983903936377,cy:-8.19510646529044,cz:.550000011920929,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"dR4uPsfmhQVuGb7SK23oGM",id:"9A499PNQRGp7jNr6cuTVMi",selected:!1,ly:.45},{type:"Human",name:"Jett",cx:.945405682980855,cy:-12.320812786564254,cz:8881784197001252e-31,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xyc9SJrxYKnGoZ1JsnzDHM",selected:!1,ly:.6},{type:"Window",cx:-.016104291229904533,cy:1.8002134679755866,cz:4.816843659976703,lx:6.99919664887142,ly:.2,lz:5.817011327539121,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"f1J4REo4jQv29PCWE7DY9o"},{type:"Window",cx:-.05151161986007091,cy:-4.040746113044766,cz:4.837111990518853,lx:6.999674883388914,ly:.2,lz:5.437430983992275,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"jvY75c4SHrBZnwZVKousju"},{type:"Window",cx:5.318722507920985,cy:4.582891269828743,cz:4.3657952325816325,lx:3.467667580770554,ly:.2,lz:.00531143113289233,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"sX9UU3kudi5NcAve6pMHjM",polygonTop:[.4836066024850123,5.296892684036137]},{type:"Window",cx:-5.343537105869802,cy:4.545906716881224,cz:4.3717901143583795,lx:3.4010319442975763,ly:.2,lz:.1825055927452041,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,3.141592653589793],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"9u53gJyT1Q25rdtt6maYhC",polygonTop:[-.5,5.2491187506805534]},{type:"Window",cx:5.259917043757973,cy:-6.686746145003361,cz:4.408217868278964,lx:3.3609664331480253,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"uhwFXhZdCJ9WRZodgaGM39",polygonTop:[-.5,5.167549845268113]},{type:"Window",cx:-5.283116299901134,cy:-6.676742962528736,cz:4.409839299161519,lx:3.2409329250484538,ly:.2,lz:.020267481118999123,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16069389122377764,0,0],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"nDuyUhzJ8jfAMyFVHV4a4b",polygonTop:[.5,5.127516924065475]},{type:"Window",cx:-7.026900064701883,cy:-1.1705448238754261,cz:4.401906118465314,lx:10.96491542180579,ly:.2,lz:.05934796066186738,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,4.71238898038469],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"wCvpMZz8wRo6JLVskJvaxa",polygonTop:[-.002890307610633155,3.539512596657185]},{type:"Window",cx:7.048045854571776,cy:-1.093473652020256,cz:4.390620355845949,lx:11.034753536063173,ly:.2,lz:.001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.24644748988851184,0,1.5707963267948963],parentId:"1YZMDHP4rjNjWTDSh913J6",parentType:"Roof",foundationId:"dR4uPsfmhQVuGb7SK23oGM",id:"qgitJao18HGfoWkWAG39gT",polygonTop:[-.009542098130494085,3.625871533157426]}],jcn=24,Ycn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.695474665244077,9.454611546562601,942600132651463e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.695474665244077,9.453611169126416,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[9.628275537924297,-25.20157333419027,4.240697142180643],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:27.20748283999615,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.5642366854944917,-.4056742952770788,2.0409440324131825],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Ocn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_cn=1,Vcn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Gcn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Xcn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Jcn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Kcn="Unknown",qcn=null,$cn=null,Qcn=null,Zcn=null,e0n=[],t0n=3,n0n=3,o0n={docid:Ecn,time:kcn,timestamp:Fcn,userid:Lcn,owner:Wcn,email:Ncn,world:Ucn,elements:Bcn,sceneRadius:jcn,view:Ycn,graphState:Ocn,evolutionMethod:_cn,solarPanelArrayLayoutParams:Vcn,solarPanelArrayLayoutConstraints:Gcn,evolutionaryAlgorithmState:Xcn,economicsParams:Jcn,modelType:Kcn,modelAuthor:qcn,modelLabel:$cn,modelDescription:Qcn,designProjectType:Zcn,notes:e0n,minimumNavigationMoveSpeed:t0n,minimumNavigationTurnSpeed:n0n},i0n="c1GT9hKGSVWRT29a2bhDcR",r0n="11/16/2023 01:04 PM",a0n=1700157875476,l0n="QWecNcxhyvP6j6sBN11hBsfZDau1",s0n=null,c0n=null,u0n="1.4.7",d0n={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:1,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"9/22/2022, 10:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},f0n=[{type:"Foundation",ly:15.634026313844405,normal:[0,0,1],parentId:"Ground",cz:.05,lz:.1,solarPowerTower:{},cy:-2.0978986591875834,selected:!1,rotation:[0,0,0],solarAbsorberPipe:{},id:"x9h6vgTSQ3QLh48G3oYMPN",lx:31.424087209321772,cx:.2605383705139097,solarUpdraftTower:{},locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{lx:23.5,normal:[0,0,1],roofId:"viqYpNieXAmEvy7RzMSU7R",lz:12,cz:6.08075667710203,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gYxC2R3CWviHFfEMyEPT1K",leftPoint:[10.73068954852153,7.564003538648882,.1],cx:-1.0193104514784697,type:"Wall",rightJoints:["gAzos6YN4ZktUEWKP98uBq"],rotation:[0,0,0],relativeAngle:3.141592653589793,leftJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cy:7.564003538648882,selected:!1,leftRoofHeight:12,rightRoofHeight:12,windows:[],textureType:"Wall Texture Default",ly:.3,showLabel:!1,rightPoint:[-12.76931045147847,7.564003538648882,.1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{lz:12,ly:.3,cz:0,lx:10.5,showLabel:!1,normal:[0,0,1],cx:-12.76931045147847,textureType:"Wall Texture Default",roofId:"viqYpNieXAmEvy7RzMSU7R",cy:2.3140035386488824,leftJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightJoints:["56tPe5zv4S5mhoVrSD2NK7"],leftRoofHeight:12,leftPoint:[-12.76931045147847,7.564003538648882,.1],relativeAngle:4.71238898038469,rightRoofHeight:12,parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"gAzos6YN4ZktUEWKP98uBq",selected:!1,windows:[],type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rightPoint:[-12.76931045147847,-2.9359964613511176,.1],rotation:[0,0,0],centerRoofHeight:[0,15.934734349134846],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:2.3140035386488824,cx:10.73068954852153,leftJoints:["56tPe5zv4S5mhoVrSD2NK7"],roofId:"viqYpNieXAmEvy7RzMSU7R",parentId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,lz:12,cz:2.6457488129010285,leftRoofHeight:12,textureType:"Wall Texture Default",leftPoint:[10.73068954852153,-2.9359964613511176,.1],id:"iF8yBnVR7zKfNKiVQ7M1op",rightJoints:["gYxC2R3CWviHFfEMyEPT1K"],rightRoofHeight:12,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],type:"Wall",ly:.3,relativeAngle:1.5707963267948966,centerRoofHeight:[0,15.934734349134846],windows:[],lx:10.5,normal:[0,0,1],rightPoint:[10.73068954852153,7.564003538648882,.1],color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{showLabel:!1,id:"56tPe5zv4S5mhoVrSD2NK7",roofId:"viqYpNieXAmEvy7RzMSU7R",cz:5.720174265006714,type:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lz:12,lx:23.5,leftPoint:[-12.76931045147847,-2.935996461351123,.1],cy:-2.9359964613511202,leftJoints:["gAzos6YN4ZktUEWKP98uBq"],relativeAngle:22676895822130855e-32,windows:[],rotation:[0,0,0],rightRoofHeight:12,selected:!1,leftRoofHeight:12,normal:[0,0,1],ly:.3,rightJoints:["iF8yBnVR7zKfNKiVQ7M1op"],cx:-1.0193104514784697,rightPoint:[10.73068954852153,-2.9359964613511176,.1],textureType:"Wall Texture Default",parentId:"x9h6vgTSQ3QLh48G3oYMPN",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12,unfilledHeight:.5},{cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.3617021276595745,lz:.17636142264118151,cz:.28681928867940926,ly:.3,normal:[0,0,1],color:"#ffffff",id:"etKxgbj2UBmFLsuY4i5CJ9",rotation:[0,0,0],lx:.1702127659574468,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,showLabel:!1,type:"Window",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",rotation:[0,0,0],lx:.1702127659574468,normal:[0,0,1],id:"nF2Q5EW3FMMGZXhRHjxAya",cy:.1,parentId:"56tPe5zv4S5mhoVrSD2NK7",cx:-.1276595744680851,selected:!1,type:"Window",lz:.17636142264118151,cz:.28681928867940926,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{id:"bpUvKGmm3pbG6LoUQVwyUS",lx:.1702127659574468,lz:.17636142264118151,cx:.10638297872340426,rotation:[0,0,0],type:"Window",color:"#ffffff",cz:.28681928867940926,selected:!1,foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,cy:.1,normal:[0,0,1],parentId:"56tPe5zv4S5mhoVrSD2NK7",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.28681928867940926,id:"cGXdptrFDNmLCsGiAspsDd",lz:.17636142264118151,parentId:"56tPe5zv4S5mhoVrSD2NK7",type:"Window",ly:.3,cx:.3404255319148936,cy:.1,color:"#ffffff",selected:!1,normal:[0,0,1],rotation:[0,0,0],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",lx:.1702127659574468,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{rotation:[0,0,0],selected:!1,solarPowerTower:{},cx:-7.538371501184832,id:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"Ground",lz:.1,lx:21.72063547763523,cy:.21534781482795487,solarUpdraftTower:{},type:"Foundation",ly:4.31333678945802,solarAbsorberPipe:{},cz:.05,normal:[0,0,1],locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",normal:[0,0,1],cx:7.057804014514522,showLabel:!1,id:"gSgPwypYb2qas3tXnXpzu5",rightPoint:[5.057804014514522,1.9532181864937823,.1],cz:0,selected:!1,relativeAngle:3.141592653589793,cy:1.9532181864937823,rightJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],rotation:[0,0,0],foundationId:"rzzzSn5cSsCh41KW1dZ8o9",parentId:"rzzzSn5cSsCh41KW1dZ8o9",leftJoints:["5spEvKcr5r35ajFtNP5ug4"],roofId:"bXyFJNv4LJba2AUhe3ZtVT",windows:[],leftPoint:[9.057804014514522,1.9532181864937823,.1],lz:20,ly:.3,lx:4,textureType:"Wall Texture Default",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.09781600017236,rightUnfilledHeight:13.09781600017236,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{leftPoint:[9.057804014514522,-2.0467818135062186,.1],cy:-.04678181350621824,leftJoints:["iY6iwiFa7FE4A2YwRcXYQX"],rightPoint:[9.057804014514522,1.9532181864937823,.1],lx:4,cz:0,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",windows:[],showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,ly:.3,normal:[0,0,1],type:"Wall",cx:9.057804014514522,rightJoints:["gSgPwypYb2qas3tXnXpzu5"],rotation:[0,0,0],textureType:"Wall Texture Default",id:"5spEvKcr5r35ajFtNP5ug4",roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:1.5707963267948966,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.10125703573121,rightUnfilledHeight:13.10125703573121,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:20,windows:[],rightJoints:["iY6iwiFa7FE4A2YwRcXYQX"],lx:4,cz:0,rightPoint:[5.057804014514522,-2.0467818135062186,.1],type:"Wall",cy:-.04678181350621824,roofId:"bXyFJNv4LJba2AUhe3ZtVT",relativeAngle:4.71238898038469,cx:5.057804014514522,leftPoint:[5.057804014514522,1.9532181864937823,.1],ly:.3,rotation:[0,0,0],parentId:"rzzzSn5cSsCh41KW1dZ8o9",textureType:"Wall Texture Default",showLabel:!1,leftJoints:["gSgPwypYb2qas3tXnXpzu5"],normal:[0,0,1],id:"ne9d3ykDCR9vMZ2sfPqRBL",color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.104325113888441,rightUnfilledHeight:13.104325113888441,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{ly:.3,windows:[],rightJoints:["5spEvKcr5r35ajFtNP5ug4"],lx:4,relativeAngle:0,leftPoint:[5.057804014514522,-2.0467818135062186,.1],lz:20,rotation:[0,0,0],type:"Wall",selected:!1,normal:[0,0,1],cy:-2.0467818135062186,rightPoint:[9.057804014514522,-2.0467818135062186,.1],showLabel:!1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"iY6iwiFa7FE4A2YwRcXYQX",leftJoints:["ne9d3ykDCR9vMZ2sfPqRBL"],cz:0,parentId:"rzzzSn5cSsCh41KW1dZ8o9",roofId:"bXyFJNv4LJba2AUhe3ZtVT",textureType:"Wall Texture Default",cx:7.057804014514522,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.4,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:13.110251380374818,rightUnfilledHeight:13.110251380374818,leftTopPartialHeight:20,rightTopPartialHeight:20,unfilledHeight:.5},{normal:[0,0,1],lx:0,cx:0,cz:0,cy:0,roofType:"Pyramid",ly:0,lz:0,showLabel:!1,parentId:"rzzzSn5cSsCh41KW1dZ8o9",rotation:[0,0,0],textureType:"Roof Texture Default",type:"Roof",thickness:.1,wallsId:["5spEvKcr5r35ajFtNP5ug4","gSgPwypYb2qas3tXnXpzu5","ne9d3ykDCR9vMZ2sfPqRBL","iY6iwiFa7FE4A2YwRcXYQX"],id:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,color:"#4d4d4d",rise:2.4214017411934243,ceiling:!1,locked:!1},{cy:.1,cx:0,cz:.375,lz:.1,foundationId:"rzzzSn5cSsCh41KW1dZ8o9",ly:.3,id:"f3zJpwNA8T36dWKnnLB2Ue",normal:[0,0,1],parentId:"iY6iwiFa7FE4A2YwRcXYQX",type:"Window",selected:!1,lx:.5,rotation:[0,0,0],showLabel:!1,color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:.375,showLabel:!1,normal:[0,0,1],parentId:"5spEvKcr5r35ajFtNP5ug4",lx:.5,ly:.3,cx:0,color:"#ffffff",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",selected:!1,lz:.1,type:"Window",rotation:[0,0,0],id:"vLvEkBDowmVtpuRDtw4SXE",cy:.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cy:.1,id:"4R8u4ZpfkjtqDvbjmeT7bf",rotation:[0,0,0],lz:.2,selected:!1,cx:-.2857142857142857,cz:-.3,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],lx:.09523809523809523,color:"#ffffff",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lx:.09523809523809523,type:"Window",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",showLabel:!1,selected:!1,color:"#ffffff",rotation:[0,0,0],id:"sknCCjfYvoTnoJodNpouJ1",cy:.1,cz:-.3,normal:[0,0,1],cx:.2857142857142857,lz:.2,ly:.3,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.09999999999999998,rotation:[0,0,0],id:"eu9mFgyuKTJ1jH9yK9yLSt",color:"#ffffff",ly:.3,cy:.1,lx:.3047619047619048,type:"Window",cx:0,cz:-.09999999999999998,selected:!1,showLabel:!1,parentId:"iF8yBnVR7zKfNKiVQ7M1op",normal:[0,0,1],foundationId:"x9h6vgTSQ3QLh48G3oYMPN",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1.1999999999999997,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Tree",name:"Oak",cx:23.74199340816881,cy:10.644500397978508,cz:0,lx:20,lz:24,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b1PLNbuHYXMSFSk3EuJWpe",selected:!1,locked:!1},{type:"Tree",name:"Elm",cx:-11.169257359842945,cy:-29.31617204471101,cz:17763568394002505e-31,lx:20,lz:20,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7jf8KwAp3jRyyjP9pa5nD6",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:13.450425292803352,cy:-.6851982985911116,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"fEgQo63aax49KtqEdPTNhE",selected:!1,ly:.42,locked:!1},{type:"Human",name:"Jena",cx:15.018980097026159,cy:12.103463958939685,cz:3552713678800501e-30,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4BmWg5mgbRSqHZB7i69JCr",selected:!1,ly:.695,locked:!1},{type:"Human",name:"Jeff",cx:17.834834093586977,cy:-13.833037629725366,cz:0,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"xix4idJ2qyP21RHv281pxk",selected:!1,ly:.6,locked:!1},{type:"Human",name:"Jose",cx:19.855346329668855,cy:-1.5096947835564674,cz:0,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"swuHMR6JuNqcRU1q2CGzEB",selected:!1,ly:2,locked:!1},{type:"Human",name:"June",cx:13.437411824806574,cy:1.7698691218286662,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"neJBajzFYG5HwTAskcMmid",selected:!1,ly:.65,locked:!1},{type:"Door",cx:1057355261547768e-32,cy:0,cz:-.325,lx:.32380952380952377,ly:0,lz:.35000000000000003,textureType:"Door Texture #2",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1cqNEbnbmdgjFsj2KffdDW",color:"white",doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.283173842293113,cy:-5.011574326559238,cz:.05000000074506161,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"1EBzai8Qd5Jq4dWcsiq8La",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.271441109375889,cy:-7.494044638896808,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",id:"o9s9NrSQqGhb4mKxZK73ZY",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-4.545943688973082,cy:-23.537404195497544,cz:0,lx:20,lz:16.05832090138246,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gkQDZPnaSVr9iatjDLPxBD",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:15.895794748349687,cy:24.757130551972956,cz:0,lx:16.237525350473454,lz:14.730013828864193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"n7bLUe1p1rbbqq2FsGvzJ1",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:26.48163780671832,cy:25.18035168450354,cz:0,lx:13.930205088796232,lz:14.730013828864193,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"64YqofbhUQNT1AUUrbAQFL",selected:!1,flip:!0,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.7619047619047619,ly:.3,lz:.16666666666666666,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"2akAYnPawwHe5duAcNSm7B",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"ne9d3ykDCR9vMZ2sfPqRBL",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"4xy5bj1K9gsNUeeRqMHQ4T",windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Wall",cx:.23099428957730517,cy:6.239081888589501,cz:0,lx:20,ly:.3,lz:6.986961603131722,leftJoints:["t1G4LBkeHJCJQyxbr7ccH4"],rightJoints:["4QQLfJpksW9car6RpJhBza"],leftPoint:[10.230994289577309,6.2390818885895,.1],rightPoint:[-9.769005710422693,6.2390818885894985,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"nRyok2ppvyvZoipPDTMibS",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:6.986961603131722,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.886961603131723,rightUnfilledHeight:6.886961603131723,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",cx:.23099428957730755,cy:-3.260918111410499,cz:0,lx:20,ly:.3,lz:5,leftJoints:["4QQLfJpksW9car6RpJhBza"],rightJoints:["t1G4LBkeHJCJQyxbr7ccH4"],leftPoint:[-9.769005710422693,-3.260918111410501,.1],rightPoint:[10.230994289577309,-3.2609181114104966,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"9Yk7vG95h8gCN8K81b6QsV",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Window",cx:-.35,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2ZFQrnmC5HWZdeWiMJGmRx",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.19999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p5XsrFbFiHc5cUtkroJ7bZ",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.04999999999999996,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sYLoiFbgR7dHUeBey4QLWg",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10000000000000005,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"waQ4yFfcYPcnN877Bomdn5",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.25000000000000006,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i4RR7R41FRkfno1WwtTX7f",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4,cy:.1,cz:-.1,lx:.1,ly:.3,lz:.6,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pQwvmPAtL9tsANDrDpmVRC",parentId:"9Yk7vG95h8gCN8K81b6QsV",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:10.230994289577309,cy:1.4890818885894999,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["9Yk7vG95h8gCN8K81b6QsV"],rightJoints:["nRyok2ppvyvZoipPDTMibS"],leftPoint:[10.230994289577309,-3.2609181114105,.1],rightPoint:[10.230994289577309,6.2390818885895,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"t1G4LBkeHJCJQyxbr7ccH4",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:5,rightRoofHeight:6.986961603131722,centerRoofHeight:[.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{type:"Wall",cx:-9.769005710422693,cy:1.4890818885894987,cz:0,lx:9.5,ly:.3,lz:5,leftJoints:["nRyok2ppvyvZoipPDTMibS"],rightJoints:["9Yk7vG95h8gCN8K81b6QsV"],leftPoint:[-9.769005710422693,6.2390818885894985,.1],rightPoint:[-9.769005710422693,-3.260918111410501,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#9f0500",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4QQLfJpksW9car6RpJhBza",parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"2edgYQtearj95L9ExcxpR8",selected:!1,leftRoofHeight:6.986961603131722,rightRoofHeight:5,centerRoofHeight:[-.5,6.986961603131722],fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{id:"2edgYQtearj95L9ExcxpR8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",foundationId:"cLT8u6hCPgvgGLYpma7b1F",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.1,wallsId:["9Yk7vG95h8gCN8K81b6QsV"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,rise:0,ceiling:!1,locked:!1},{type:"Flower",name:"Peony",cx:-7.921494529469528,cy:-5.703131639854222,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"n7MjXwaqUNnrqr7tttq8Xs",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-6.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"sV3wDCg6jC5jfbaZPhLEFR",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.921494529469528,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"5qYyouDiycvWuJ5qvpfENM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.921494529469526,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"d5qiLf7kCJT5AZq7DadTns",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"wsrTngfrvFcPA2tZXvJ7x3",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:-2.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"afwAGtRYkrpVQnTg7J7Qth",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.921494529469527,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"qcKnQw96DTDSeCGHYqMA48",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.9214945294695266,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"waxy4TUCBpoD2cd6LrtnaA",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:.07850547053047338,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nvZw8LLJYkjMh1JGkRLD3K",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:1.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"cqsNRo9PPkomK9wdkZupc1",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.078505470530473,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"jrx4N63zfhzuthq28WtS35",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.0785054705304695,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"mxRRf3jQHxj2YV6RTapCHL",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:4.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"nTZ7SBUGqeqonpnPNpk3oW",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",flip:!0,cx:5.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"3dhHbjvLKuWhGK9UjHE6XT",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:6.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"4GeJePH4hCxCTjZtoXxWto",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:7.07850547053047,cy:-5.703131639854224,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"7FGr3ZNRc8Yr5eCEbRFCP4",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:8.541770761909182,cy:-5.4564771733354345,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"j6RLkdyyrwF7fa2EzQWxLx",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:11.033481724703831,cy:2.4259920840004234,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"keYgfjtBV5HoobU1c7o3UJ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.99612420253719,cy:.2217548731086052,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"vVnzt8ngpeWWaQC4FjAL4j",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:10.959797795589187,cy:-1.7573623215975718,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"gZMPqGYEq2m24MmNCDDYiG",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.392242624146428,cy:3.263587702330267,cz:.050000000745050954,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"6Ub8pCiCnETjVt5AhwfdTF",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-10.422719499264469,cy:.5714316192013018,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,-3.141592653589793],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"66aAYBuCfd3AhjLpHJLkUu",selected:!1,locked:!1},{type:"Foundation",cx:-.3396050744252213,cy:11.51965967612361,cz:.05,lx:27.18366746665238,ly:13.555523568838572,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLT8u6hCPgvgGLYpma7b1F",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Flower",name:"Hydrangea",cx:-10.300379922837644,cy:-2.268843152966837,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"cLT8u6hCPgvgGLYpma7b1F",id:"ageUa3KUftjZpZZ9K9EjET",selected:!1,locked:!1},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j41VCcj3usY83nb7TyLTSz",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2Gb1qNGA9XYJH1M5ngkWgg",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vi8CDjZJjcyCw9PypDyDTY",parentId:"4QQLfJpksW9car6RpJhBza",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssGXAAom5GmpQtoTEfxLxY",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jAMmFqujhajRarjA7EnVcV",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9iqv8Mygk4XdBQpnv3SnAQ",parentId:"t1G4LBkeHJCJQyxbr7ccH4",foundationId:"cLT8u6hCPgvgGLYpma7b1F",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3404255319148936,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eBsupuArqkdPqdm1NpNRGG",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.10638297872340426,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fCtqDhopDBEzVW7mRyhrYJ",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.1276595744680851,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ug8Cox9PN3TyFyQqu1r9qK",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3617021276595745,cy:.1,cz:.28681928867940926,lx:.1702127659574468,ly:.3,lz:.17636142264118151,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3BwnkPkWjwJcrrLjwf9GLa",parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"whn43FxoK2FiHHEsJEgwx9",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.09523809523809523,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1jBLLRwnh7NZy9MTMYQHt2",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.14285714285714285,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ttkkqMJXFY2rDGZmC9Lzj",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.38095238095238093,cy:.1,cz:-.25,lx:.09523809523809523,ly:.3,lz:.2,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"k8vEiLRG6xxiXgVTPxWxXM",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:.37500000000000006,lx:.5,ly:.3,lz:.09999999999999991,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6YKcvoA3eJ8MWWe5Vsy3eT",parentId:"gSgPwypYb2qas3tXnXpzu5",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",tint:"#73D8FF",opacity:.91,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["56tPe5zv4S5mhoVrSD2NK7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x9h6vgTSQ3QLh48G3oYMPN",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"viqYpNieXAmEvy7RzMSU7R",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:3.934734349134846,ceiling:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.2916666666666668,lx:.7619047619047619,ly:.3,lz:.16666666666666638,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rk1VAoH8VnjeXMMcRz8iw6",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"#aea1ff",shutterWidth:.3},{type:"Window",cx:-.004761904761904766,cy:.1,cz:.6791666666666667,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cdP2JvFiiD6EFxpYXpURLL",parentId:"gAzos6YN4ZktUEWKP98uBq",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.014285714285714277,cy:.1,cz:.6708333333333334,lx:.23809523809523808,ly:.3,lz:.125,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7hN73eLMovYtBF2VxtgwGA",parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",tint:"#73D8FF",opacity:.5,selected:!1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.32491117851716567,cy:-.02051365319438737,cz:22.47091493193306,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.7710068386722702,.6368268640066874],rotation:[.8804206662401132,0,0],parentId:"bXyFJNv4LJba2AUhe3ZtVT",foundationId:"rzzzSn5cSsCh41KW1dZ8o9",id:"gnMTcek5K3cRDBprwKnFBZ",selected:!1,inside:!1,locked:!1},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:.002857142857142857,cy:0,cz:-.0025,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentId:"iF8yBnVR7zKfNKiVQ7M1op",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"dpLuhLSSPa19xJpw2Qffsi",selected:!1,locked:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.38095238095238093,y:-.125},{x:-.38095238095238093,y:0},{x:.38095238095238093,y:0},{x:.38095238095238093,y:-.125}],parentId:"iF8yBnVR7zKfNKiVQ7M1op",parentType:"Wall",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",selected:!1,filled:!0,selectedIndex:2,id:"sQ3Tb8iVwJfm4J6HcRtiJG",text:"PARADISE FARM",fontColor:"gold",fontSize:1,noOutline:!0,opacity:0,locked:!1},{type:"Door",cx:.02127659574468085,cy:0,cz:-.2708333333333333,lx:.5531914893617021,ly:0,lz:.4583333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gYxC2R3CWviHFfEMyEPT1K",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"9ANMGsRZBmgfHhV2Q1CDCc",locked:!1,interior:!0},{type:"Door",cx:-.02127659574468085,cy:0,cz:-.2916666666666667,lx:.5531914893617021,ly:0,lz:.4166666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"No Door Texture",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"56tPe5zv4S5mhoVrSD2NK7",foundationId:"x9h6vgTSQ3QLh48G3oYMPN",id:"vap2L1NkxsVcWyXHMxiu2p",locked:!1,interior:!0},{solarPowerTower:{},lx:29.20195847671534,parentId:"Ground",id:"46TKaVq8pvU97fq25w6FtQ",cx:1.0262187405527392,lz:.1,cy:-11.383349626055136,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cz:.05,solarUpdraftTower:{},ly:12.71246047298328,rotation:[0,0,0],type:"Foundation",locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{cz:0,windows:[],relativeAngle:3.141592653589793,id:"kDP3sGBycYRfxJNAuZJQCx",normal:[0,0,1],rightJoints:["6i3LR3TEvtE6sm3KPPvawH"],ly:.3,cx:-1.69761452373917,rotation:[0,0,0],foundationId:"46TKaVq8pvU97fq25w6FtQ",roofId:"6c49g876wkgGNVBvgTNf4N",lz:6.986961603131722,selected:!1,cy:6.34147142267982,rightRoofHeight:6.986961603131722,rightPoint:[-11.697614523739169,6.34147142267982,.1],textureType:"No Wall Texture",leftRoofHeight:6.986961603131722,showLabel:!1,leftPoint:[8.302385476260831,6.34147142267982,.1],type:"Wall",lx:20,parentId:"46TKaVq8pvU97fq25w6FtQ",leftJoints:["7N5hq7UW6d1NtoD4SxrS8y"],color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:0,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:6.175009105936305,rightUnfilledHeight:6.175009105936305,leftTopPartialHeight:6.986961603131722,rightTopPartialHeight:6.986961603131722,unfilledHeight:.5},{type:"Wall",lz:5,foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],relativeAngle:0,showLabel:!1,rightJoints:["7N5hq7UW6d1NtoD4SxrS8y"],leftJoints:["6i3LR3TEvtE6sm3KPPvawH"],textureType:"Wall Texture Default",leftPoint:[-11.697614523739169,-3.1585285773201797,.1],rightPoint:[8.302385476260831,-3.158528577320176,.1],id:"6JeFi4vn6AoV5MBuK71Kj4",windows:[],roofId:"6c49g876wkgGNVBvgTNf4N",rotation:[0,0,0],lx:20,cy:-3.1585285773201797,leftRoofHeight:5,rightRoofHeight:5,cz:0,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",selected:!1,cx:-1.69761452373917,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{leftJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cy:1.5914714226798203,roofId:"6c49g876wkgGNVBvgTNf4N",showLabel:!1,windows:[],type:"Wall",rightJoints:["kDP3sGBycYRfxJNAuZJQCx"],leftPoint:[8.302385476260831,-3.1585285773201797,.1],relativeAngle:1.5707963267948966,parentId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],selected:!1,rotation:[0,0,0],leftRoofHeight:5,centerRoofHeight:[.5,6.986961603131722],ly:.3,lz:5,id:"7N5hq7UW6d1NtoD4SxrS8y",rightPoint:[8.302385476260831,6.34147142267982,.1],foundationId:"46TKaVq8pvU97fq25w6FtQ",rightRoofHeight:6.986961603131722,lx:9.5,cz:0,textureType:"Wall Texture Default",cx:8.302385476260831,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{foundationId:"46TKaVq8pvU97fq25w6FtQ",cx:-11.697614523739169,id:"6i3LR3TEvtE6sm3KPPvawH",normal:[0,0,1],type:"Wall",rotation:[0,0,0],rightRoofHeight:5,lz:5,lx:9.5,rightJoints:["6JeFi4vn6AoV5MBuK71Kj4"],cz:0,textureType:"Wall Texture Default",relativeAngle:4.71238898038469,leftRoofHeight:6.986961603131722,windows:[],leftJoints:["kDP3sGBycYRfxJNAuZJQCx"],showLabel:!1,ly:.3,parentId:"46TKaVq8pvU97fq25w6FtQ",leftPoint:[-11.697614523739169,6.34147142267982,.1],centerRoofHeight:[-.5,6.986961603131722],selected:!1,roofId:"6c49g876wkgGNVBvgTNf4N",rightPoint:[-11.697614523739169,-3.1585285773201797,.1],cy:1.5914714226798203,color:"#9f0500",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5,unfilledHeight:.5},{cy:0,parentId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],ridgeRightPoint:[.5,1],selected:!1,type:"Roof",thickness:.1,lz:0,lx:0,roofType:"Gable",foundationId:"46TKaVq8pvU97fq25w6FtQ",normal:[0,0,1],cz:0,id:"6c49g876wkgGNVBvgTNf4N",cx:0,textureType:"Roof Texture Default",wallsId:["6JeFi4vn6AoV5MBuK71Kj4"],ridgeLeftPoint:[-.5,1],ly:0,showLabel:!1,color:"#4d4d4d",roofStructure:"Default",rise:0,ceiling:!1,locked:!1},{id:"8bXmzpgr9i9JFo2oBsPwmf",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",lx:.1,selected:!1,rotation:[0,0,0],cx:-.35,parentId:"6JeFi4vn6AoV5MBuK71Kj4",color:"#ffffff",cy:0,normal:[0,0,1],lz:.6,showLabel:!1,ly:.3,cz:-.1,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,color:"#ffffff",id:"xjhgUKTmXdCae92VivseTy",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.19999999999999996,foundationId:"46TKaVq8pvU97fq25w6FtQ",rotation:[0,0,0],lx:.1,type:"Window",normal:[0,0,1],selected:!1,ly:.3,cy:0,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{cz:-.1,lz:.6,cy:0,type:"Window",color:"#ffffff",parentId:"6JeFi4vn6AoV5MBuK71Kj4",cx:-.04999999999999996,id:"kPfc2HWm4ZV8tdUhXMQ1J6",selected:!1,normal:[0,0,1],ly:.3,foundationId:"46TKaVq8pvU97fq25w6FtQ",lx:.1,rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{lz:.6,ly:.3,parentId:"6JeFi4vn6AoV5MBuK71Kj4",lx:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",color:"#ffffff",cy:0,type:"Window",selected:!1,cz:-.1,cx:.10000000000000005,id:"msWBbsfJmqRnJLeUcmpcgH",normal:[0,0,1],rotation:[0,0,0],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{selected:!1,ly:.3,color:"#ffffff",foundationId:"46TKaVq8pvU97fq25w6FtQ",type:"Window",rotation:[0,0,0],parentId:"6JeFi4vn6AoV5MBuK71Kj4",normal:[0,0,1],cx:.25000000000000006,lx:.1,id:"1cwhsRjtvJtmfm2tgLVX5c",cy:0,cz:-.1,lz:.6,mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{normal:[0,0,1],foundationId:"46TKaVq8pvU97fq25w6FtQ",cz:-.1,id:"ji1bstwegM7BG7jKCfjWE9",cx:.4,parentId:"6JeFi4vn6AoV5MBuK71Kj4",cy:0,lx:.1,type:"Window",ly:.3,selected:!1,lz:.6,rotation:[0,0,0],color:"#ffffff",mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{ly:.3,type:"Window",rotation:[0,0,0],cy:.1,foundationId:"46TKaVq8pvU97fq25w6FtQ",lz:.4,parentId:"7N5hq7UW6d1NtoD4SxrS8y",lx:.10526315789473684,cx:-.2631578947368421,selected:!1,color:"#ffffff",showLabel:!1,cz:0,id:"4c1wL2gSvqBAbj5Dt9dzzk",normal:[0,0,1],mullionSpacing:1,mullionWidth:.1,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jess",cx:10.850050894558208,cy:-3.696870042392426,cz:.05000000074505806,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pnZ17fTrUAQjd7ZGBi4LZw",selected:!1,ly:.43,locked:!1},{type:"Flower",name:"Peony",cx:-9.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"r3HRWGLTLtPMP6QPxaP2u9",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-8.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"eB1sPWxNsgKXNP6CKxK1cQ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-7.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"pmPLWWXJMx6px3ffjyd7Xf",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-6.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rFPmR6A2xwJwzhvMRvDbF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-5.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3tR1Hnu1k94fCkXYFdPNCZ",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-4.850103342786,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ac3W5UphRDEuZMMMxdg9a8",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:-3.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"3j517SjKVEgfCScaEPmkeg",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-2.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"vLUgsZC1zUxAvajPJX9oRy",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-1.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kb5KssfCiZkY9jQ5M4fg79",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:-.8501033427860003,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rvgmvqqddGgLnhBVWDH5Yi",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"whxmnRSL5NJSpdaiWxZBom",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:1.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"hcWpyraDuh7HTi6CTV9t8w",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:2.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"k3fvYn4xsoNn35srPUnKcM",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:3.1498966572139997,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"rZdFV48y6NMFUVbnDpaSyZ",selected:!1,flip:!0,locked:!1},{type:"Flower",name:"Hosta",cx:4.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"codYgSxPq8Vks6hVgvEgs8",selected:!1,locked:!1},{type:"Flower",name:"Sunflower",cx:5.149896657214,cy:-5.600742105763903,cz:.05000000074505806,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"bTFFYv3CW8yhDsAPYPTsXV",selected:!1,locked:!1},{type:"Flower",name:"Peony",cx:6.613161948592704,cy:-5.354087639245112,cz:.05000000074505895,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"ctEoy8WqpFPS2x5ac3G3Pw",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.10487291138736,cy:2.5283816180907426,cz:.05000000074505895,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"kGH6RHxnnVioxpEWe4i5gm",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.067515389220716,cy:.32414440719892745,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"q26Eg31XYAcejy2Lefy1u6",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:9.031188982272717,cy:-1.654972787507253,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"5yYM5vzDCoYXugAds8nGWB",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-11.93283136913118,cy:-.5875588698031677,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"46TKaVq8pvU97fq25w6FtQ",id:"phZdGJBNMcagm1hqvjyqar",selected:!1,locked:!1},{type:"Window",cx:.05263157894736842,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i7D5ks6qD3vrJhaHoUEn98",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3684210526315789,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xjbyj3NQZe1tdahps4bSB2",parentId:"7N5hq7UW6d1NtoD4SxrS8y",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xARzngwCEN8qLjikbQKjCx",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:0,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdyY9wswVivifuQfer37rz",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3157894736842105,cy:.1,cz:0,lx:.10526315789473684,ly:.3,lz:.4,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8yDD6Xt5pfo9gxGo7Y9zu8",parentId:"6i3LR3TEvtE6sm3KPPvawH",foundationId:"46TKaVq8pvU97fq25w6FtQ",tint:"#73D8FF",opacity:.5,selected:!1,windowType:"Default",archHeight:1,locked:!1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:1,verticalMullionSpacing:1,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Foundation",cx:-31.880642024139792,cy:69.55063598010092,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"sksMK7QGTEQXw2XCVdPew4",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:1.9198621771937625,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"sksMK7QGTEQXw2XCVdPew4",foundationId:"sksMK7QGTEQXw2XCVdPew4",id:"sKzCd1CFCMgia2iSa8SUaR",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-3.1468540559467755,cy:42.75920411476808,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"pYW51i5Md8LzLgEijwgRsa",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.8726646259971648,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"pYW51i5Md8LzLgEijwgRsa",foundationId:"pYW51i5Md8LzLgEijwgRsa",id:"s98srs7ePwE5eNskhAt5LB",selected:!1,pitchAngle:.3490658503988659},{type:"Foundation",cx:-55.523183133190386,cy:17.374425429460363,cz:.05,lx:3.5612247610538508,ly:3.6234194779259132,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"vypVDTaH1DmP9JbgEkDrdH",selected:!1},{type:"Wind Turbine",cx:.029517166688588024,cy:.33387123270641833,cz:0,lx:20,ly:1,lz:40,initialRotorAngle:.3490658503988659,bladeRadius:10,towerRadius:.5,towerHeight:30,hubRadius:.75,hubLength:1,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3,maximumChordLength:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vypVDTaH1DmP9JbgEkDrdH",foundationId:"vypVDTaH1DmP9JbgEkDrdH",id:"jM4kEGJQ8cVJvhsvxgutLP",selected:!0,pitchAngle:.3490658503988659}],h0n=89,p0n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[32.62054043416994,-29.00025228279148,10.654435205994917],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"forestgreen",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.1186734562771086,.9968697268356653,8.083309712260911],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!1,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Rural",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:1.3194139635574385,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[22.525010055792105,33.90953838531496,31016628307238075e-21],cameraPosition2D:[22.525010055792105,33.90853800787309,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},navigationView:!1},g0n=!1,m0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},y0n=1,A0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},w0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},v0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},x0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},b0n="Unknown",S0n=null,T0n=null,P0n=null,C0n=null,R0n=[],H0n=3,M0n=3,I0n={docid:i0n,time:r0n,timestamp:a0n,userid:l0n,owner:s0n,email:c0n,version:u0n,world:d0n,elements:f0n,sceneRadius:h0n,view:p0n,animate24Hours:g0n,graphState:m0n,evolutionMethod:y0n,solarPanelArrayLayoutParams:A0n,solarPanelArrayLayoutConstraints:w0n,evolutionaryAlgorithmState:v0n,economicsParams:x0n,modelType:b0n,modelAuthor:S0n,modelLabel:T0n,modelDescription:P0n,designProjectType:C0n,notes:R0n,minimumNavigationMoveSpeed:H0n,minimumNavigationTurnSpeed:M0n},z0n="owwsgdXHDbNagWUrRiAo3n",D0n="06/18/2023 07:00 pm",E0n=1687129219076,k0n="QWecNcxhyvP6j6sBN11hBsfZDau1",F0n=null,L0n=null,W0n={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},N0n=[{ly:21.382516494600992,solarUpdraftTower:{},parentId:"Ground",cx:.12539468533083742,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.14607588848467667,type:"Foundation",solarPowerTower:{},lx:18.404896936058655,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,color:"#cccccc",enableGroupMaster:!0,textureType:"Foundation Texture #2",locked:!1},{type:"Human",name:"Jaye",cx:-2.7072108715724905,cy:5.7390022883526095,cz:.05000000074505806,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.55,locked:!1},{type:"Human",name:"Jess",cx:8.450674550954435,cy:-2.040964169794302,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!1},{type:"Wall",cx:-3.3726189887257103,cy:8.134829504503935,cz:0,lx:7.649489274590845,ly:.1,lz:6,relativeAngle:2.944169982729981,leftPoint:[.3775108703190573,7.384697795521461,.1],rightPoint:[-7.1227488477704775,8.88496121348641,0],leftJoints:["fH1Eycb1edh4ewg8cSm7F2"],rightJoints:["1fNhHihSFWK4q4YFxM4GxP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtB2mK47EhRe9haPUXWpqu",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.6275108703190573,cy:7.384697795521461,cz:0,lx:6.5,ly:.1,lz:6,relativeAngle:3.141592653589793,leftPoint:[6.877510870319057,7.384697795521461,.1],rightPoint:[.3775108703190573,7.384697795521461,.1],leftJoints:["o3wqaqdyzHo4XWGr2xqwut"],rightJoints:["jtB2mK47EhRe9haPUXWpqu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"fH1Eycb1edh4ewg8cSm7F2",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.877510870319057,cy:4.634697795521461,cz:0,lx:5.499999999999999,ly:.1,lz:6,relativeAngle:1.5707963267948966,leftPoint:[6.877510870319057,1.884697795521462,.1],rightPoint:[6.877510870319059,7.384697795521461,.1],leftJoints:["vGUEcuvyBtUte9nHKMMtRK"],rightJoints:["fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o3wqaqdyzHo4XWGr2xqwut",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.627703166633557,cy:1.884697795521462,cz:0,lx:6.501153732383853,ly:.1,lz:6,relativeAngle:0,leftPoint:[.3775108703190573,1.884697795521462,.1],rightPoint:[6.877895462948057,1.8846977955214619,0],leftJoints:["jREcPkJHS2ha1J5przL31q"],rightJoints:["o3wqaqdyzHo4XWGr2xqwut"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vGUEcuvyBtUte9nHKMMtRK",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3724891296809427,cy:2.884697795521462,cz:0,lx:7.762087348130012,ly:.1,lz:6,relativeAngle:6.022582915432245,leftPoint:[-7.122489129680943,3.884697795521462,.1],rightPoint:[.3775108703190573,1.884697795521462,.1],leftJoints:["1fNhHihSFWK4q4YFxM4GxP"],rightJoints:["vGUEcuvyBtUte9nHKMMtRK"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jREcPkJHS2ha1J5przL31q",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-7.122489129680943,cy:6.384697795521461,cz:0,lx:4.999999999999999,ly:.1,lz:6,relativeAngle:4.71238898038469,leftPoint:[-7.122489129680943,8.884697795521461,.1],rightPoint:[-7.122489129680943,3.884697795521462,.1],leftJoints:["jtB2mK47EhRe9haPUXWpqu"],rightJoints:["jREcPkJHS2ha1J5przL31q"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1fNhHihSFWK4q4YFxM4GxP",roofId:"5PVMZuTRFmTCfk2YbWKwPq",leftRoofHeight:6,rightRoofHeight:6,color:"#cccccc",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:4.805913157134036,cy:-3.6653250376384854,cz:.2,lx:4.565495674711998,ly:6.575538224210636,lz:.4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"krZVQGBw1wVwxak2PssY7v",textureType:"Foundation Texture #5",locked:!1,notBuilding:!0},{type:"Foundation",cx:7.301535582510818,cy:-3.7151297019599916,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"iv83XEzdWqY6v8XR5AToXK",color:"#ffffff",locked:!1,notBuilding:!0},{type:"Foundation",cx:2.4329687772478152,cy:-3.7102946606740073,cz:.25,lx:.5,ly:6.504377225831106,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cLXoh6MxU5E5Gva8BASQRm",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862158322186749,cy:-.20866405563399004,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hzhocB2hGXGCFSJk2wnktz",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.862690579253708,cy:-7.224281838084487,cz:.25,lx:5.379502342454104,ly:.5,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gHY8UXkMn58xRtZAJVDtN6",selected:!1,locked:!1,notBuilding:!0},{type:"Foundation",cx:4.866917615138179,cy:-7.704867444683629,cz:.15,lx:5.379502342454104,ly:.5,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3HGisFhi9kVGUkmKRBhKms",selected:!1,locked:!1,notBuilding:!0},{type:"Window",cx:-3416070845000482e-32,cy:.1,cz:.29166666666666663,lx:.9230769230769231,ly:.3,lz:.25000000000000006,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jrakT4hmGTpA5xVoQK7Sx3",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-40953643875444483e-21,cy:.3,cz:-.2833333333333333,lx:.9229950157891724,ly:.3,lz:.39999999999999997,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vGUEcuvyBtUte9nHKMMtRK",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"e19pGWtpLkqWbfXdnaZhjy",locked:!1,frame:!0,frameWidth:.1,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,sillWidth:0},{type:"Window",cx:-.2898704818803739,cy:.1,cz:.29166666666666663,lx:.19324698792024925,ly:.3,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sovEYSXhGEu5Ldj2kgneVg",locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:.2916666666666667,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gFuo9DkFa685GcUxuiuYb8",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.2898704818803739,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hhZYVdjTizeYL1gPxKSz9p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2254548192402908,cy:.1,cz:-.2083333333333333,lx:.19324698792024925,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28zX4FcaMGFduU6Aof316p",parentId:"jREcPkJHS2ha1J5przL31q",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:.29166666666666663,lx:.793246987920249,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4MrXBjecJdLy1tjgTVbQVw",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.0033765060398756046,cy:.1,cz:-.20833333333333334,lx:.793246987920249,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"paKeNYdxXEhDFWLKsseJA5",parentId:"1fNhHihSFWK4q4YFxM4GxP",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:.29166666666666663,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1u3AjVrK7HHdWWARHUbKE",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:.2916666666666667,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"srk5mHASnPgAUpjbT9uftd",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.29468156152921643,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tuZbwGt7CbT6QqTZ4sKjKB",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.16292275379321294,cy:.1,cz:-.2083333333333333,lx:.19713085278206485,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fVyFjpBszkzEvddzxZF4cN",parentId:"jtB2mK47EhRe9haPUXWpqu",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.2139500417756478,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jgsYPqkQbCLB7nSKYoTQz1",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["jtB2mK47EhRe9haPUXWpqu","1fNhHihSFWK4q4YFxM4GxP","jREcPkJHS2ha1J5przL31q","vGUEcuvyBtUte9nHKMMtRK","o3wqaqdyzHo4XWGr2xqwut","fH1Eycb1edh4ewg8cSm7F2"],textureType:"No Roof Texture",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5PVMZuTRFmTCfk2YbWKwPq",locked:!1,rise:0,ceiling:!1},{type:"Window",cx:.2139500417756478,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iYZGRCyiCoyTmxb2iW91K5",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:-.2083333333333333,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3hXTrx5RjPnoyDuFRCWL2w",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.24758841976281373,cy:.1,cz:.2916666666666667,lx:.27405392970514175,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7TekVwAyTBKGDMvDso7KwN",parentId:"fH1Eycb1edh4ewg8cSm7F2",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frameWidth:.05,frame:!0,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ky3TVidbZJNxBmsHW5p4aV",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:.2916666666666667,lx:.27272727272727276,ly:.3,lz:.24999999999999992,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6T5fUwPHMtaFTnJUZ9FeNm",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:-.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uH3BNCdk4hWNuoStiax9Mc",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Window",cx:.22727272727272732,cy:.1,cz:-.20833333333333334,lx:.27272727272727276,ly:.3,lz:.25,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4JcJH5e4rWagE4s7pxc2vr",parentId:"o3wqaqdyzHo4XWGr2xqwut",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,frame:!0,frameWidth:.05,mullion:!0,opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:-3.5174202973352635,cy:-5.952506495142959,cz:.050000000745058504,lx:3.421252972867562,lz:5.8824455683270385,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4PU1mJTsD7Dm4DCSTQbEk",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-4.056727114780923,cy:-6.820925912328164,cz:.05000000074505806,lx:3.421252972867562,lz:3.7067838832176516,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qYjmrdb86SDT3egVhi2Ddg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-3.058157215251919,cy:-5.348879217798858,cz:.05000000074505806,lx:2.0761240579059335,lz:3.468323603426934,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qTMbix1j6GoFy9o8Dge8Q",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!0,cx:-6.654527859836286,cy:-7.991796862008116,cz:.05000000074505806,lx:2.811171334227782,lz:5.2304806796050185,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hgWXQayK9bDxaZTKFMFyaj",selected:!1,locked:!1},{type:"Tree",name:"Pine",flip:!1,cx:-6.145316897074318,cy:-8.056698018196002,cz:.050000000745058504,lx:2.1110953047223546,lz:3.545986285890324,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5NPZQ3kADKqz5pZRjy2r8m",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:8.102181299831539,cy:4.045842994396765,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"taF3ALjLpVssdzRj5rkAQQ",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-5.879762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j5yY2k9GT68hDzGzo8g4X5",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-8.163745041032497,cy:5.853168143382562,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wQLFTPCoFnPyshTWJztWv8",selected:!1,locked:!1},{type:"Flower",name:"Spirea",cx:-2.279762709897744,cy:1.4043677766482918,cz:.05000000074502964,lx:1.8,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8nf4FW7PRbc5MHE74z6k6X",selected:!1,locked:!1},{type:"Flower",name:"Boxwood",cx:8.755439698619178,cy:-3.801559677962663,cz:.050000000745058504,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Me2yqTX69xpAQdJimGv6J",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-3.7656917519971405,cy:-7.189954744763735,cz:.050000000745057616,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"b8dhYx3mLo55GMwpAMANF4",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.9954361886672194,cy:-6.017555062549365,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aD6qe37bZZVXu7NhL9YCyw",selected:!1,locked:!1},{type:"Flower",name:"Hosta",cx:-2.5427971092417136,cy:-4.3436146516258916,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6Z7HQYvZ4Ls1JaGM7AfPk1",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-5.573500548190964,cy:-8.097341718681303,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"igiDoKTCbe5rQ5p9LftFTF",selected:!1,locked:!1},{type:"Human",name:"Judd",cx:7.8538131049134385,cy:-5.07106737312789,cz:.05000000074505828,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3PTeJ2nnhnU1658gE9hwVj",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jeff",cx:1.3294328409358478,cy:.0073529482213468,cz:.1500000059604645,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"3HGisFhi9kVGUkmKRBhKms",id:"vmxzjFWTAjwTqms6QcsEP3",selected:!1,locked:!1,ly:.6},{type:"Human",name:"Jamelia",flip:!0,cx:8.040674150226515,cy:-6.334084712275156,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5Qsgp8Gq1Jr7PUZmxevYZR",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jennifer",cx:-.9884229521541545,cy:3.585869160830872,cz:.05000000074505806,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sjU37oco1BJnmRhataWCxf",selected:!1,ly:.45},{type:"Tree",name:"Fan Palm",cx:-3.0053849919153564,cy:-3.8414595688219437,cz:.05000000074505806,lx:3.3292228289929944,lz:4.535630581080736,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"72iSoNbD98zvpFJ2Q1mmkB",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-3.557645718087297,cy:-6.494909623054461,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"fixSsPsLT9YGgQ2atTquS7",selected:!1},{type:"Flower",name:"Hosta",cx:-2.8775394857306047,cy:-4.995547826339774,cz:.05000000074505717,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rGgsLECHRG1JrsuPt4Zkbs",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.6007319365603525,cy:-5.483479639543539,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2RrpkK93q9tXhZRqF6FvrT",selected:!1},{type:"Flower",name:"Hosta",flip:!0,cx:-2.14120900487017,cy:-4.690834516460342,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"eXNFmUTqaatU1h8XmR1dnP",selected:!1},{type:"Flower",name:"Hosta",cx:-2.251092230304847,cy:-3.591429672886945,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ro5BfNTKQSaGfLx4eKBnio",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:-.0668233149685919,cy:.05804493333085005,cz:.500000007450585,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hjub9esH6NqUMrKoM4qiEZ",selected:!1},{type:"Light",decay:2,distance:6,intensity:8,color:"#009ce0",cx:.4297365503834882,cy:-.1789222334700641,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6aGXSJXX1kvmEvo5FpXMaw",selected:!1},{type:"Light",decay:2,distance:10,intensity:8,color:"#fe9200",cx:.0692403262735466,cy:.2196827525166444,cz:6.2,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5PVMZuTRFmTCfk2YbWKwPq",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"432pe1oLqRcmTRcAYqgtqG",selected:!1,inside:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:-.17601132104075962,cy:-.3273891737363795,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"iMv2LJEW81uJy7BUGUKL83",selected:!1},{type:"Polygon",cx:-.020412282064186955,cy:-.023334577896438075,cz:0,lx:.4,ly:.4,lz:.4,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.03636363636363637,y:-.08333333333333333},{x:-.1272727272727273,y:-.08333333333333333},{x:-.05454545454545455,y:-.03333333333333333},{x:-.09090909090909093,y:.049999999999999996},{x:0,y:0},{x:.09090909090909093,y:.049999999999999996},{x:.05454545454545455,y:-.03333333333333333},{x:.1272727272727273,y:-.08333333333333333},{x:.03636363636363637,y:-.08333333333333333},{x:0,y:-.16666666666666666}],parentId:"o3wqaqdyzHo4XWGr2xqwut",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:1,id:"bM2XuLbGojMjjtTq6QbXqK",lineColor:"#4d4d4d",noOutline:!1,text:"26",fontSize:.3,fontColor:"gold",fontOutlineWidth:.01,lineWidth:1}],U0n=14,B0n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.7599467981478756,-5.067346033277178,-5027848075881249e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.7599467981478756,-5.067496039946536,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[15.236325505747509,-7.86777235732635,2.457105139993579],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207442,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.6563214275080296,1.8214306688802133,2.457105139993578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},j0n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Y0n=1,O0n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_0n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},V0n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},G0n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},X0n="Unknown",J0n=null,K0n=null,q0n=null,$0n=[],Q0n={docid:z0n,time:D0n,timestamp:E0n,userid:k0n,owner:F0n,email:L0n,world:W0n,elements:N0n,sceneRadius:U0n,view:B0n,graphState:j0n,evolutionMethod:Y0n,solarPanelArrayLayoutParams:O0n,solarPanelArrayLayoutConstraints:_0n,evolutionaryAlgorithmState:V0n,economicsParams:G0n,modelType:X0n,modelAuthor:J0n,modelLabel:K0n,modelDescription:q0n,notes:$0n},Z0n="hPTJuLgPgoJuMRXMJ2VDBS",eun="06/15/2023 03:10 pm",tun=1686856228122,nun="QWecNcxhyvP6j6sBN11hBsfZDau1",oun=null,iun=null,run={solarRadiationHeatmapGridCellSize:.5,date:"5/22/2022, 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},aun=[{ly:10.473983232081025,solarUpdraftTower:{},parentId:"Ground",cx:-.22738864151314608,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.8212100903152009,type:"Foundation",solarPowerTower:{},lx:13.564552414056891,lz:.08037925094719676,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:0,lx:12,relativeAngle:3.141592653589793,lz:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",ly:.3,rightPoint:[-5.457020109151015,3.478026472724187,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.542979890848985,3.478026472724187,.1],type:"Wall",rightRoofHeight:4.0189625473598385,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4.0189625473598385,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.5429798908489842,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:3.478026472724187,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.542979890848985,leftPoint:[6.542979890848985,-4.021973527275812,.1],cy:-.27197352727581237,leftRoofHeight:4.0189625473598385,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.542979890848985,3.478026472724187,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:7.5,normal:[0,0,1],lz:4.0189625473598385,centerRoofHeight:[-.022465454047944533,6.807600955038734],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:1.2992388529678256,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,roofId:"nbw17kYeUHp1aouuScuF3Y",color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{lx:7.5,windows:[],lz:4.0189625473598385,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"nbw17kYeUHp1aouuScuF3Y",selected:!1,cy:-.27197352727581237,cz:2.586710917765224,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[.022465454047944533,6.807600955038734],rightPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4.0189625473598385,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.457020109151015,3.478026472724187,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4.0189625473598385,ly:.3,cx:-5.457020109151015,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{showLabel:!1,cx:.5429798908489842,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.542979890848985,-4.021973527275812,.1],cz:2.4938633836176103,textureType:"Wall Texture Default",cy:-4.021973527275812,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"nbw17kYeUHp1aouuScuF3Y",leftPoint:[-5.457020109151015,-4.021973527275812,.1],normal:[0,0,1],ly:.3,lz:4.0189625473598385,leftRoofHeight:4.0189625473598385,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4.0189625473598385,lx:12,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.0189625473598385,rightTopPartialHeight:4.0189625473598385,locked:!0},{type:"Foundation",ly:9.17890503672627,lz:.06478560897373455,rotation:[0,0,0],cz:.05,cx:-3.0123969578104886,lx:2.997193198016322,parentId:"Ground",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},solarUpdraftTower:{},normal:[0,0,1],cy:-1.5649990896825194,id:"8fpWrU7qVyVgipB7LtABom",hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{showLabel:!1,cz:3.903941909848086,roofId:"7MxSmgNk4kQf8eNqmnwjMJ",lz:5.674455425565713,ly:.3,leftRoofHeight:5.674455425565713,relativeAngle:3.141592653589793,rightRoofHeight:5.674455425565713,leftJoints:["4Q8KDQDxyuamkEtRJU3paR"],lx:2.13057265557637,windows:[],parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],rightJoints:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Wall Texture Default",cx:-.011530025051640469,leftPoint:[1.0537563027365446,1.8025200094198752,0],type:"Wall",rightPoint:[-1.0768163528398256,1.8025200094198752,0],id:"bKLMq3WjuxRcsMDb5d4Xo1",cy:1.8025200094198752,normal:[0,0,1],selected:!1,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9689600797771365,rightUnfilledHeight:3.9689600797771365,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],leftJoints:["7xigJB2WiCCrREDc2Ja3YN"],lz:5.674455425565713,selected:!1,ly:.3,cz:3.5644394786617815,id:"4Q8KDQDxyuamkEtRJU3paR",rotation:[0,0,0],cy:.250986023416642,rightJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",textureType:"Wall Texture Default",cx:1.053756302736545,showLabel:!1,leftRoofHeight:5.674455425565713,foundationId:"8fpWrU7qVyVgipB7LtABom",relativeAngle:1.5707963267948963,windows:[],rightRoofHeight:5.674455425565713,type:"Wall",parentId:"8fpWrU7qVyVgipB7LtABom",rightPoint:[1.0537563027365453,1.8025200094198752,0],lx:3.1030679720064667,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.020600140222275,rightUnfilledHeight:4.020600140222275,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{rightJoints:["7xigJB2WiCCrREDc2Ja3YN"],parentId:"8fpWrU7qVyVgipB7LtABom",showLabel:!1,leftRoofHeight:5.674455425565713,selected:!1,id:"1ATAe6P2KAHKLDSDfpVro9",leftJoints:["bKLMq3WjuxRcsMDb5d4Xo1"],textureType:"Wall Texture Default",cx:-1.0768163528398256,rightPoint:[-1.0768163528398256,-1.3005479625865912,0],lz:5.674455425565713,relativeAngle:-1.5707963267948966,normal:[0,0,1],type:"Wall",cz:3.660138480027889,rotation:[0,0,0],leftPoint:[-1.0768163528398256,1.8025200094198752,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",foundationId:"8fpWrU7qVyVgipB7LtABom",lx:3.1030679720064667,cy:.250986023416642,windows:[],ly:.3,rightRoofHeight:5.674455425565713,color:"#ffffff",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.674455425565713,rightUnfilledHeight:3.92594971520268,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{ly:0,cx:0,type:"Roof",thickness:.1,ridgeLeftPoint:[.022465454047944533,1],textureType:"Roof Texture #1",showLabel:!1,lz:0,normal:[0,0,1],ridgeRightPoint:[-.022465454047944533,1],wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],selected:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,roofType:"Gable",id:"nbw17kYeUHp1aouuScuF3Y",parentId:"m7AH7DcnoGzAq9kryBy4RS",cz:0,rotation:[0,0,0],lx:0,color:"#666666",rise:2.7886384076788957,ceiling:!0,locked:!0},{rightPoint:[1.0537563027365446,-1.3005479625865912,0],roofId:"7MxSmgNk4kQf8eNqmnwjMJ",selected:!1,parentId:"8fpWrU7qVyVgipB7LtABom",rotation:[0,0,0],cx:-.011530025051640469,ly:.3,relativeAngle:0,cz:3.535805069111796,rightJoints:["4Q8KDQDxyuamkEtRJU3paR"],leftRoofHeight:5.674455425565713,rightRoofHeight:5.674455425565713,id:"7xigJB2WiCCrREDc2Ja3YN",normal:[0,0,1],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],type:"Wall",cy:-1.3005479625865912,leftJoints:["1ATAe6P2KAHKLDSDfpVro9"],lz:5.674455425565713,windows:[],showLabel:!1,textureType:"Wall Texture Default",lx:2.13057265557637,foundationId:"8fpWrU7qVyVgipB7LtABom",color:"#ffffff",centerRoofHeight:[0,6.808247394681429],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.143662209927734,rightUnfilledHeight:4.143662209927734,leftTopPartialHeight:5.674455425565713,rightTopPartialHeight:5.674455425565713,locked:!0},{normal:[0,0,1],rotation:[0,0,0],lz:.08037925094719676,cz:.05,solarPowerTower:{},parentId:"Ground",ly:2.3229214459557985,lx:3.6868215598526417,cx:6.688554173396975,solarUpdraftTower:{},cy:.40327666182062216,solarAbsorberPipe:{},id:"3KgcTmNBqtYJcCny8HxQyQ",type:"Foundation",selected:!1,notBuilding:!0,locked:!0},{id:"5eUwuiBwfGoNEpcHG5kHqK",lx:1.5,leftJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[-.5114783908278628,.8698262658360515,.1],foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftPoint:[.9885216091721372,.8698262658360515,.1],parentId:"3KgcTmNBqtYJcCny8HxQyQ",textureType:"Wall Texture #3",cz:0,cx:.23852160917213716,selected:!1,rotation:[0,0,0],windows:[],normal:[0,0,1],ly:.2,lz:7.234132585247709,showLabel:!1,cy:.8698262658360515,rightJoints:["hbU2xUbmKEDDXYDMWnjjCc"],type:"Wall",relativeAngle:3.141592653589793,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Wall",leftPoint:[-.5114783908278628,.8698262658360515,.1],rotation:[0,0,0],cy:.1198262658360515,lz:7.234132585247709,textureType:"Wall Texture #3",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",ly:.2,rightJoints:["qQNV4qND1aDjEtJsd6HVio"],lx:1.4999999999999998,parentId:"3KgcTmNBqtYJcCny8HxQyQ",windows:[],selected:!1,leftJoints:["5eUwuiBwfGoNEpcHG5kHqK"],showLabel:!1,id:"hbU2xUbmKEDDXYDMWnjjCc",relativeAngle:4.71238898038469,rightPoint:[-.5114783908278628,-.6301737341639485,.1],normal:[0,0,1],cz:0,cx:-.5114783908278628,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{leftPoint:[-.5114783908278628,-.6301737341639485,.1],cy:-.6301737341639485,rightJoints:["h8DQWwUSgNc283RWhcM3B1"],rightPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,windows:[],lz:7.234132585247709,selected:!1,rotation:[0,0,0],ly:.2,relativeAngle:0,foundationId:"3KgcTmNBqtYJcCny8HxQyQ",normal:[0,0,1],leftJoints:["hbU2xUbmKEDDXYDMWnjjCc"],textureType:"Wall Texture #3",parentId:"3KgcTmNBqtYJcCny8HxQyQ",lx:1.5,showLabel:!1,cx:.23852160917213716,type:"Wall",id:"qQNV4qND1aDjEtJsd6HVio",studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{id:"h8DQWwUSgNc283RWhcM3B1",type:"Wall",relativeAngle:1.5707963267948966,normal:[0,0,1],windows:[],leftPoint:[.9885216091721372,-.6301737341639485,.1],cz:0,rightJoints:["5eUwuiBwfGoNEpcHG5kHqK"],selected:!1,textureType:"Wall Texture #3",ly:.2,cx:.9885216091721372,lx:1.5,cy:.1198262658360515,rightPoint:[.9885216091721372,.8698262658360515,.1],showLabel:!1,lz:7.234132585247709,rotation:[0,0,0],parentId:"3KgcTmNBqtYJcCny8HxQyQ",foundationId:"3KgcTmNBqtYJcCny8HxQyQ",leftJoints:["qQNV4qND1aDjEtJsd6HVio"],studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.234132585247709,rightTopPartialHeight:7.234132585247709,locked:!0},{type:"Window",showLabel:!1,ly:.3,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.09751468078404088,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.1219248971291678,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{cx:.25,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.1219248971291678,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:.3,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:1,shutter:{showLeft:!1,showRight:!1,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.09751468078404088,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:.3,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},tint:"#73D8FF",frame:!0,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{lz:.3942112571821837,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.13333333333333333,cx:.3333333333333333,cz:-.09710562859109184,ly:.3,showLabel:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:0,cz:.5913168857732756,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.13333333333333333,color:"#ffffff",lz:.3942112571821837,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{ly:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3333333333333333,rotation:[0,0,0],type:"Window",lz:.3942112571821837,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.09710562859109184,lx:.13333333333333333,color:"#ffffff",cy:.1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Tree",name:"Pine",cx:11.005948677853029,cy:-1.394052607962342,cz:3552713678800501e-30,lx:6.452035166159083,lz:9.139816695798023,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.25833333333333336,cy:-13376344861350336e-31,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.26666666666666666,cy:-11010413489448665e-30,cz:-.08,lx:.13333333333333333,ly:.3,lz:.3942112571821837,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:1.76763937363111,cz:3.903941909848086,lx:7.859980732011655,ly:.1,lz:3.8503419054045027,leftJoints:["qdWCAVU64LNURAh8wmzrJW"],rightJoints:["5SVe8cv2nsyRKR6jszXPqq"],leftPoint:[3.779444955355803,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYz6mrLsdVMWcgpJiTXXtH",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.8503419054045027,selected:!1,studWidth:.1,studColor:"white",opacity:0,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.8503419054045027,rightTopPartialHeight:3.8503419054045027,locked:!0},{type:"Wall",cx:3.779444955355803,cy:.10818511446824708,cz:3.5644394786617815,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["9YsY5P23SDcYcTLJeEGMo8"],rightJoints:["eYz6mrLsdVMWcgpJiTXXtH"],leftPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355805,1.76763937363111,.06056023612846141],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdWCAVU64LNURAh8wmzrJW",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.8503419054045027,centerRoofHeight:[.5,3.8503419054045027],selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-4.08053577665585,cy:.10818511446824708,cz:3.660138480027889,lx:3.3189085183257268,ly:.1,lz:3.442308777851562,leftJoints:["eYz6mrLsdVMWcgpJiTXXtH"],rightJoints:["9YsY5P23SDcYcTLJeEGMo8"],leftPoint:[-4.08053577665585,1.76763937363111,.06056023612846141],rightPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5SVe8cv2nsyRKR6jszXPqq",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.8503419054045027,rightRoofHeight:3.442308777851562,centerRoofHeight:[-.5,3.8503419054045027],selected:!1,wallStructure:"Stud",opacity:.25,studWidth:.1,studSpacing:1.6,studColor:"white",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{type:"Wall",cx:-.15054541065002525,cy:-1.5512691446946167,cz:3.535805069111796,lx:7.859980732011655,ly:.1,lz:3.442308777851562,leftJoints:["5SVe8cv2nsyRKR6jszXPqq"],rightJoints:["qdWCAVU64LNURAh8wmzrJW"],leftPoint:[-4.08053577665585,-1.5512691446946167,.06056023612846141],rightPoint:[3.779444955355803,-1.5512691446946167,.06056023612846141],relativeAngle:0,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9YsY5P23SDcYcTLJeEGMo8",parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofId:"9SPVWHTRZMkvFFbvi4Y4dK",leftRoofHeight:3.442308777851562,rightRoofHeight:3.442308777851562,selected:!1,studWidth:.1,wallStructure:"Stud",opacity:.25,studColor:"white",studSpacing:2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.442308777851562,rightTopPartialHeight:3.442308777851562,locked:!0},{id:"9SPVWHTRZMkvFFbvi4Y4dK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"91GS1aZ3DbZBjAVtatsatL",foundationId:"91GS1aZ3DbZBjAVtatsatL",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["9YsY5P23SDcYcTLJeEGMo8"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,translucent:!0,rafterSpacing:2,roofStructure:"Rafter",rise:0,ceiling:!1,locked:!0},{type:"Foundation",cx:.4816835699661557,cy:-4.8267180085139945,cz:.05,lx:9.870953390145004,ly:4.194004820393555,lz:.04867786417191091,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"91GS1aZ3DbZBjAVtatsatL",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:0,cy:0,cz:-.2,lx:.25,ly:0,lz:.6,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"huHgxbUk5nxatnYiuq2HhR",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1ATAe6P2KAHKLDSDfpVro9"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"8fpWrU7qVyVgipB7LtABom",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"7MxSmgNk4kQf8eNqmnwjMJ",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.1337919691157152,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"7xigJB2WiCCrREDc2Ja3YN",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"bKSng9YxxhEwLmca6q52t4",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},frame:!0,frameWidth:.06,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:1.8025200094198752,cz:3.903941909848086,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["gjFo4dGKiFsEAtvgC2uCdo"],rightJoints:["28JZn5ZqftnjWtvDA7sVWD"],leftPoint:[1.0537563027365446,1.8025200094198752,0],rightPoint:[-1.0768163528398256,1.8025200094198752,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3J2f3hD7LiPYocNLAGAHn1",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.17087314092728,rightUnfilledHeight:4.17087314092728,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:1.053756302736545,cy:.250986023416642,cz:3.5644394786617815,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["fWZF78k9YENmcxHia3M4iF"],rightJoints:["3J2f3hD7LiPYocNLAGAHn1"],leftPoint:[1.0537563027365446,-1.3005479625865912,0],rightPoint:[1.0537563027365453,1.8025200094198752,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gjFo4dGKiFsEAtvgC2uCdo",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.2501718067420615,rightUnfilledHeight:5.665479357106698,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-1.0768163528398256,cy:.250986023416642,cz:3.660138480027889,lx:3.1030679720064667,ly:.3,lz:5.665479357106698,leftJoints:["3J2f3hD7LiPYocNLAGAHn1"],rightJoints:["fWZF78k9YENmcxHia3M4iF"],leftPoint:[-1.0768163528398256,1.8025200094198752,0],rightPoint:[-1.0768163528398256,-1.3005479625865912,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"28JZn5ZqftnjWtvDA7sVWD",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.112382106286621,rightUnfilledHeight:4.112382106286621,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Wall",cx:-.011530025051640469,cy:-1.3005479625865912,cz:3.535805069111796,lx:2.13057265557637,ly:.3,lz:5.665479357106698,leftJoints:["28JZn5ZqftnjWtvDA7sVWD"],rightJoints:["gjFo4dGKiFsEAtvgC2uCdo"],leftPoint:[-1.0768163528398256,-1.3005479625865912,0],rightPoint:[1.0537563027365446,-1.3005479625865912,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fWZF78k9YENmcxHia3M4iF",parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofId:"rEidR5TzysvNG1rgGa79ag",leftRoofHeight:5.665479357106698,rightRoofHeight:5.665479357106698,centerRoofHeight:[0,6.765479357106699],selected:!1,studWidth:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.243512040075365,rightUnfilledHeight:4.243512040075365,leftTopPartialHeight:5.665479357106698,rightTopPartialHeight:5.665479357106698,locked:!0},{type:"Window",cx:0,cy:.1,cz:.46576840681624293,lx:.34364727930476036,ly:.3,lz:.15525613560541424,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gAS9MDKRJP4JWvfqrqBKdy",parentId:"fWZF78k9YENmcxHia3M4iF",foundationId:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.06,windowType:"Default",archHeight:1,locked:!0},{id:"rEidR5TzysvNG1rgGa79ag",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"nu2sn9efF1AHCFrvuV5ULi",foundationId:"nu2sn9efF1AHCFrvuV5ULi",roofType:"Gable",textureType:"Roof Texture #1",thickness:.1,wallsId:["28JZn5ZqftnjWtvDA7sVWD"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:1.1,ceiling:!1,locked:!0},{type:"Foundation",cx:3.6575623433664717,cy:-1.54061534072674,cz:.05,lx:2.997193198016322,ly:9.17890503672627,lz:.06468312864431171,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nu2sn9efF1AHCFrvuV5ULi",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Door",cx:0,cy:0,cz:-.18779489182743653,lx:.13333333333333333,ly:0,lz:.624410216345127,textureType:"Door Texture #1",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eBQam4YYdXWFEi5iDbVQ4t",doorType:"Default",archHeight:1,filled:!0,locked:!0},{type:"Tree",name:"Apple",cx:-8.870480061609383,cy:-.6721812852789775,cz:0,lx:4.272747980812545,lz:4.234704800641296,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oGL2siNwwXoicUvtQoHfi3",selected:!1,locked:!0},{type:"Human",name:"Jamelia",cx:.5077215094390786,cy:-5.182357959116953,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"havSSZEB6mAoQ1s57LQVxN",selected:!1,ly:.65,locked:!0},{type:"Human",name:"Jack",cx:-7.974613533200657,cy:-4.521571410086505,cz:8881784197001252e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fPgwwBmXz2LWV9vPRMmqzu",selected:!1,ly:.42,locked:!0},{type:"Flower",name:"Hosta",cx:-6.306441231413446,cy:-4.762303364786677,cz:4440892098500626e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1cAkMnRPZL6fG1dhWuUn14",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:6.169203623475488,cy:-5.72637309429814,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"htN99q9wA5PLZNcJh1UgLF",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.061905234310647,cy:-5.806918097592128,cz:-17763568394002505e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"j1Fmf7QNoHATgNqGSJnptk",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.621277500928149,cy:-6.190060319204097,cz:-8881784197001252e-31,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"b8aTi9NKLHSRuN9DAY2Dvd",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:5.615846305114406,cy:-5.453095801875909,cz:.040189623832702644,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"84bbtLrAVMTpW8zhkv6ac6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.558445661570947,cy:-5.148346193790616,cz:0,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7PKC5BECKBBX3d4Za7d4Du",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-5.407028367581802,cy:-5.549301025270703,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"s9wwdrqZHX68urRnmZ9bDp",selected:!1,locked:!0},{type:"Flower",name:"Tall Bush",cx:-4.834800784349908,cy:-4.621520750635222,cz:0,lx:1,lz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vKDYbBm1LFSeCRbRGxpJzR",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-5.746710484862029,cy:-5.268820363710504,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qrfLBQvCQkPzUhnUEFDgC1",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:5.955104289170869,cy:-5.9761317798049545,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"daEJUZv3vgUrqorbyNtAdL",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:6.380681139084028,cy:-5.4372416572511035,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oCHH6YeZ2ebkct1XeVw26T",selected:!1,locked:!0},{type:"Flower",name:"Red Rose",cx:-6.0720221613270775,cy:-5.14772584317228,cz:0,lx:.5,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kAuo84ejkCrSVu9PCaPugg",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.6210802629879084,cy:-8.23340133659074,cz:0,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kmbR9RJMfaDSwNReuSKCjQ",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:3.611880585955519,cy:-8.204961331976918,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"8bs3duj4DEPj8B5fQB6m61",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-.5688000922764606,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"xiFfAWcKYuiBh744RUaZyc",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-2.844000461382297,cy:-8.261841341204562,cz:0,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wV1JQBxQxSUBFz9dC7xrav",selected:!1,locked:!0},{type:"Tree",name:"Pine",cx:11.504343484441804,cy:-.763939147024864,cz:0,lx:5.1791034594942555,lz:5.428693136268209,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iVXpvVvo7CVsBLdZiLcmV8",selected:!1,flip:!0,locked:!0},{type:"Tree",name:"Pine",cx:14.030494530217624,cy:.04081963902747532,cz:0,lx:4.05233280460769,lz:7.181542362302404,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wTP4kg9xyU48nnBEmn3ppV",selected:!1,locked:!0},{type:"Foundation",cx:.30925292274615623,cy:-1.2101326772862784,cz:.05,lx:6.745176508169567,ly:8.157824691427903,lz:.0627727643414778,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j26S3yBrW81Hpmua4v9rbN",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!0},{type:"Wall",cx:.0036303018672041443,cy:1.418731310908802,cz:3.903941909848086,lx:6.727305402522589,ly:.3,lz:6.620718306713466,leftJoints:["9SCrAqQSk4xVacCdSJE3pn"],rightJoints:["8Vadn4BSVDAC5WjSkKfgzz"],leftPoint:[3.367283003128499,1.418731310908802,0],rightPoint:[-3.3600223993940905,1.418731310908802,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5AKBX2BV6amQvk312dBM8B",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:6.620718306713466,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.324926656434854,rightUnfilledHeight:4.324926656434854,leftTopPartialHeight:6.620718306713466,rightTopPartialHeight:6.620718306713466,locked:!0},{type:"Wall",cx:3.3672830031285006,cy:-.062237916432278606,cz:3.5644394786617815,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["dTWEdcfdTXFV5sEPVRd8z5"],rightJoints:["5AKBX2BV6amQvk312dBM8B"],leftPoint:[3.367283003128499,-1.5432071437733592,0],rightPoint:[3.367283003128503,1.418731310908802,0],relativeAngle:1.5707963267948952,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9SCrAqQSk4xVacCdSJE3pn",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:6.620718306713466,centerRoofHeight:[.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.092459386252685,rightUnfilledHeight:4.092459386252685,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:-3.3600223993940905,cy:-.062237916432278606,cz:3.660138480027889,lx:2.961938454682161,ly:.3,lz:5.64147421981503,leftJoints:["5AKBX2BV6amQvk312dBM8B"],rightJoints:["dTWEdcfdTXFV5sEPVRd8z5"],leftPoint:[-3.3600223993940905,1.418731310908802,0],rightPoint:[-3.3600223993940905,-1.5432071437733592,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8Vadn4BSVDAC5WjSkKfgzz",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:6.620718306713466,rightRoofHeight:5.64147421981503,centerRoofHeight:[-.5,6.620718306713466],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.9233710526843555,rightUnfilledHeight:3.9233710526843555,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Wall",cx:.0036303018672041443,cy:-1.5432071437733592,cz:3.535805069111796,lx:6.727305402522589,ly:.3,lz:5.64147421981503,leftJoints:["8Vadn4BSVDAC5WjSkKfgzz"],rightJoints:["9SCrAqQSk4xVacCdSJE3pn"],leftPoint:[-3.3600223993940905,-1.5432071437733592,0],rightPoint:[3.367283003128499,-1.5432071437733592,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dTWEdcfdTXFV5sEPVRd8z5",parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",studWidth:.1,roofId:"vKXQiCBzbfpPSTJ27J8jBB",selected:!1,leftRoofHeight:5.64147421981503,rightRoofHeight:5.64147421981503,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.163695339993486,rightUnfilledHeight:4.163695339993486,leftTopPartialHeight:5.64147421981503,rightTopPartialHeight:5.64147421981503,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["dTWEdcfdTXFV5sEPVRd8z5"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j26S3yBrW81Hpmua4v9rbN",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"vKXQiCBzbfpPSTJ27J8jBB",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.40953276837441766,lx:.44594377993825984,ly:.3,lz:.14548273694573843,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"r1RG4byiDKweDnNzMe6Uqt",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.31833333333333336,cy:.1,cz:-.12239672405306627,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nkKGWu3sRWjy8kWKFV8wES",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.30833333333333335,cy:.1,cz:-.09751468078404088,lx:.08333333333333333,ly:.3,lz:.44384979425833565,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e4784e1QWCibptuMbZE3Fb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#666666",width:.3},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4506499123046388,cy:-2.253829215918892,cz:5.495676945306635,lx:6.517117804983129,ly:.1,lz:3.1452722458300313,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"miUkiQAMUrUH9VdizU1QHd",locked:!0},{type:"Window",cx:-.040529886594876885,cy:.3,cz:.36293328834815236,lx:.6611308564654793,ly:.3,lz:.23883190909923116,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"28JZn5ZqftnjWtvDA7sVWD",parentType:"Wall",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"xq6zsNgL6KPAX41MXZ3EbC",locked:!0},{type:"Window",cx:.02441680094832896,cy:.3,cz:.35427189383741103,lx:.6933570277585752,ly:.3,lz:.2562105393925967,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:.1,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"4Q8KDQDxyuamkEtRJU3paR",parentType:"Wall",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"qcnFPvRmcmP1h3bepT45qh",locked:!0},{type:"Window",cx:4.296638448514275,cy:-2.708258875969741,cz:5.141848441701093,lx:.8645085564531798,ly:.1,lz:1.937214690596396,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cMbDioVwT4kfspCSxauDDf",polygonTop:[-.5,1.125032012484936],locked:!0},{type:"Window",cx:-3.3098661063241783,cy:-2.738630134883686,cz:5.118200739891894,lx:.6049071605861784,ly:.1,lz:2.2332848397709752,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.6615683838581541,0,0],parentId:"nbw17kYeUHp1aouuScuF3Y",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vbnhFbrJ9782uVqEAWSbqW",polygonTop:[.5,.9018556681153167],locked:!0},{type:"Window",cx:1.0937607455840728,cy:.6467227885963354,cz:5.73187840674332,lx:2.4176106129913375,ly:.1,lz:.16460115006383247,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416964,0,1.5707963267948963],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"wCFZjtmrD2b8mTn1f1qano",polygonTop:[.5,1.0560439311761334],locked:!0},{type:"Window",cx:-1.0462741509941371,cy:1.4199114403224693,cz:5.8069617126253155,lx:.9242462576351369,ly:.1,lz:.1721360167476046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8165400713416961,0,4.71238898038469],parentId:"7MxSmgNk4kQf8eNqmnwjMJ",parentType:"Roof",foundationId:"8fpWrU7qVyVgipB7LtABom",id:"kdtAstd8jE9ACZ3TfHUAZb",polygonTop:[-.5,.99155281262393],locked:!0},{type:"Window",cx:-1.1170172726431056,cy:.5138568052522039,cz:5.723968440623406,lx:2.596092763357134,ly:.1,lz:.082389128100567,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579611,0,4.71238898038469],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"7Y1EoQrhcqZsSLDF4LmMiA",polygonTop:[-.5,1.2214855671184548],locked:!0},{type:"Window",cx:1.0534033913747818,cy:1.2212640151421539,cz:5.765843768521558,lx:1.130053534424075,ly:.1,lz:.020226846288053643,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8014286985579612,0,1.5707963267948963],parentId:"rEidR5TzysvNG1rgGa79ag",parentType:"Roof",foundationId:"nu2sn9efF1AHCFrvuV5ULi",id:"x4QzPw1xK8z1dYWnRSPfDD",polygonTop:[.5,1.214791037762756],locked:!0},{type:"Window",cx:.428377511975304,cy:.3,cz:.36902546903156846,lx:.11351539072017484,ly:.3,lz:.22649733563143687,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"rGAmTgsinEVfLmLsgxtKCo",locked:!0},{type:"Window",cx:-.428377511975304,cy:.3,cz:.3671875531695516,lx:.11351539072017484,ly:.3,lz:.2228215039074031,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"dTWEdcfdTXFV5sEPVRd8z5",parentType:"Wall",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"tcZghwrXjxrMrPYG8qWmMK",locked:!0},{type:"Window",cx:-2.887838483851968,cy:-1.5429231830507752,cz:5.741568099840816,lx:1.1156980571027848,ly:.1,lz:.006652456667148232,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"iAta14nH255gL4E1skBYr2",polygonTop:[-.5,3.135049288439095],locked:!0},{type:"Window",cx:2.9643296778973105,cy:-1.5489835426240144,cz:5.739564489243441,lx:.977937957633503,ly:.1,lz:.09523764867628905,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3192968291527907,0,0],parentId:"vKXQiCBzbfpPSTJ27J8jBB",parentType:"Roof",foundationId:"j26S3yBrW81Hpmua4v9rbN",id:"p89tc6ji5qG8UFCeVeXzs6",polygonTop:[.5,3.0552575653113068],locked:!0}],lun=20,sun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.94522901824079,-1.0741381728239148,-107590488899985e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.94522901824079,-1.075138550271241,150],theme:"Forest",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-4.574738869546006,-17.12597647560641,2.6902980037557214],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.44146361606706,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#3a8569",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.8575132784294428,-.32342939215259475,2.6902980037557214],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},cun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},uun=1,dun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},fun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},hun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},pun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},gun="Unknown",mun=null,yun=null,Aun=null,wun=[],vun={docid:Z0n,time:eun,timestamp:tun,userid:nun,owner:oun,email:iun,world:run,elements:aun,sceneRadius:lun,view:sun,graphState:cun,evolutionMethod:uun,solarPanelArrayLayoutParams:dun,solarPanelArrayLayoutConstraints:fun,evolutionaryAlgorithmState:hun,economicsParams:pun,modelType:gun,modelAuthor:mun,modelLabel:yun,modelDescription:Aun,notes:wun},xun="tn5NXrCgVkn7A5sexifmrP",bun="02/04/2023 01:00 pm",Sun=1675533609468,Tun="QWecNcxhyvP6j6sBN11hBsfZDau1",Pun=null,Cun=null,Run={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"M4J3+GMR, Rue de La Kasbah, Kairouan, Tunisia",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:35.6813583,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:10.1041467},Hun=[{type:"Wall",cx:-1.5357911804424789,cy:-8.147946678658776,cz:2.268765007024547,lx:41.99999999999999,ly:.5,lz:10,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-22.535791180442477,-8.147946678658771,.25],rightPoint:[19.464208819557516,-8.147946678658784,.25],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"q6GhCTYocV8Du6Z7WCqnGz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Foundation",cx:1.290269817272435,cy:-3.5970579374045144,cz:.125,lx:65.10485687395563,ly:44.85538565072669,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#999999"},{type:"Wall",cx:19.46420881955751,cy:2.1020533213412156,cz:0,lx:20.5,ly:.5,lz:10,relativeAngle:1.5707963267948966,leftPoint:[19.464208819557516,-8.147946678658784,.25],rightPoint:[19.46420881955751,12.352053321341215,.25],leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["3u1tb8n3XMJZXYU3udLNqv"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.5357911804424824,cy:12.352053321341218,cz:0,lx:42,ly:.5,lz:10,relativeAngle:3.141592653589793,leftPoint:[19.464208819557516,12.352053321341216,.25],rightPoint:[-22.535791180442484,12.35205332134122,.25],leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"3u1tb8n3XMJZXYU3udLNqv",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-22.535791180442498,cy:2.1020533213412165,cz:0,lx:20.500000000000007,ly:.5,lz:10,relativeAngle:4.712388980384689,leftPoint:[-22.535791180442484,12.35205332134122,.25],rightPoint:[-22.535791180442505,-8.147946678658787,.25],leftJoints:["3u1tb8n3XMJZXYU3udLNqv"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"q6GhCTYocV8Du6Z7WCqnGz",leftRoofHeight:10,rightRoofHeight:10,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Human",name:"Jaah",cx:-20.815616879711254,cy:-18.576078606733773,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oS4Uf1aJoiB2V9pQqWTsVG",selected:!1,ly:.74},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.5,roofType:"Pyramid",roofStructure:"Default",wallsId:["3u1tb8n3XMJZXYU3udLNqv","pV4i6Rv9Vpys7aXEi9nnh4","tKvexMf8zrvPgydcZb5VYA","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"q6GhCTYocV8Du6Z7WCqnGz",sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Door",cx:-.4107142857142858,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,doorType:"Arched",archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"jXmzH2ciK425Fb6dH2EkVp",filled:!1},{type:"Door",cx:-.3214285714285715,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"3Ypjy6UAE7xHgadjTDfe2a",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.2321428571428572,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mMiEmbz3vkGVE8tUbXxgNQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.1428571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tPuRheQMuGYu1gmyqi6c4s",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:-.0535714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qCzzF9bXjrUUQcTszp1SPS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.0357142857142857,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"r6qnpYnu8yvZzEEeE2fqps",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.125,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bYotwM3kh8YucfABgu8Eot",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.2142857142857143,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bH3GWXsdZcQF9JUubCPadp",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3035714285714286,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"hgaMdHTtMAFGSJgPw6fbgW",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Door",cx:.3928571428571429,cy:0,cz:-.2,lx:.059523809523809534,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"tcvaKKEqJwZ2KN8UScxvAs",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,filled:!1},{type:"Wall",cx:-2.0348646464512568,cy:-10.275504500010312,cz:2.268765007024547,lx:38.88254641036014,ly:.5,lz:16,leftJoints:["iC5vVUbJMtmDkNzYUxBZPA"],rightJoints:["mM4PcE69DPCUHMXtdYUR1q"],leftPoint:[-21.47613785163133,-10.275504500010307,.1],rightPoint:[17.406408558728813,-10.275504500010317,.1],relativeAngle:-2741111892188643e-31,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tHwdHqDmQXFhmVBYpGMk1M",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:17.406408558728813,cy:-1.3101914721012853,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:["tHwdHqDmQXFhmVBYpGMk1M"],rightJoints:[],leftPoint:[17.406408558728813,-10.275504500010317,.1],rightPoint:[17.406408558728806,7.655121555807748,.1],relativeAngle:1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM4PcE69DPCUHMXtdYUR1q",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",cx:-21.476137851631343,cy:-1.310191472101287,cz:0,lx:17.930626055818067,ly:.5,lz:16,leftJoints:[],rightJoints:["tHwdHqDmQXFhmVBYpGMk1M"],leftPoint:[-21.476137851631336,7.655121555807748,.1],rightPoint:[-21.47613785163135,-10.275504500010321,.1],relativeAngle:-1.5707963267948977,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iC5vVUbJMtmDkNzYUxBZPA",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{id:"wyopmFLrEU8Q6F3Eo2E8qH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.5,wallsId:["iC5vVUbJMtmDkNzYUxBZPA","tHwdHqDmQXFhmVBYpGMk1M","mM4PcE69DPCUHMXtdYUR1q"],selected:!1,sideColor:"#ffffff",rise:0,ceiling:!1},{type:"Foundation",cx:1.7183157358311596,cy:-.28833946443478364,cz:.05,lx:53.43283132966065,ly:36.15762103719206,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hNbyNzvcTVK1vEJxa83hcL",selected:!1,color:"#999999"},{type:"Window",cx:-.4346423153885066,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq5v5MiQZt5qstbgFWnvG5",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.32662469854639264,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tnAiVDN8QFPpM8tgevRmcN",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.21860708170427864,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3nMYyTwN3Em3zi1cHJC4sf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.1105894648621647,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cCAyiJ9wpmzcPpyPdhfiCf",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.0025718480200507404,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eez2P3itr5bZkDqccZV8JD",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10544576882206322,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kUi59wGAijZzpxe2ea5yGk",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21346338566417716,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5BkQRXptjCjpMLBbuit7LG",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.32148100250629114,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wW8MUuXM3xqHEL2sbQVtzB",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42949861934840516,cy:.1,cz:.28125,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ccgRRcvFN2ruATRvwGX84y",parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.39880952380952384,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"i5fduT9idUyGfEykeAwxhP",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.30952380952380953,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"fRizbSvKJ8g4Q7BkTDodnJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.22023809523809523,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"e1sFSDmTNZ4sZ9Y1VTweWG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.13095238095238093,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4JvvxD5ReU3HCb3rrCJfqu",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:-.04166666666666664,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rxe4vXzmMs9ks1UPKMsMHJ",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.047619047619047644,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"qM4GDTxt6ZN2Tk8zN9epmX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.13690476190476195,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"gWzssvMidARJ4cQ7NE4iEX",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.22619047619047625,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"wVBpJ6rUX7jujyXvbCDuGG",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.3154761904761905,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"rywUBEaEaD2kzBC78kTd66",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:.4047619047619048,cy:0,cz:-.2,lx:.05952380952380952,ly:0,lz:.6,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"4sh9rckArBRiLDTvRhk9XE",parentId:"3u1tb8n3XMJZXYU3udLNqv",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tHwdHqDmQXFhmVBYpGMk1M",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"4yyor28faKUByr4PZBcCtd"},{type:"Wall",cx:-2.0348646464512603,cy:7.655121555807748,cz:0,lx:38.88254641036015,ly:.5,lz:16,leftJoints:["mM4PcE69DPCUHMXtdYUR1q"],rightJoints:["iC5vVUbJMtmDkNzYUxBZPA"],leftPoint:[17.406408558728813,7.655121555807748,.1],rightPoint:[-21.476137851631336,7.655121555807748,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2mZ55xAX1KuR3Q2dngP1w",parentId:"hNbyNzvcTVK1vEJxa83hcL",foundationId:"hNbyNzvcTVK1vEJxa83hcL",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"wyopmFLrEU8Q6F3Eo2E8qH",leftRoofHeight:16,rightRoofHeight:16,selected:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Window",cx:-.43652041374223555,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u5zqDbkaAjTXDXvkwuoihC",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3285027969001216,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kKyDa7cDgjAnQgNANR1HWe",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.22048518005800757,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nw4CtWvmwcVC5Xe1THkFLF",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.11246756321589363,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x6kokyu7Qezd9q5C3o2tsm",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.00444994637377967,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fnjqZxGUX54z9mXbXLiiRE",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.10356767046833429,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tdwDQUv17oBgAFyg3P4xM6",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.21158528731044823,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hUp1krohSEg7azNVaFn5Vi",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3196029041525622,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rnUJCj9zp9Q9MtSBUyxpSr",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.42762052099467623,cy:.1,cz:.3039722877290828,lx:.07201174456140931,ly:.5,lz:.3125,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.6250000000000018,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bDgdCWe9fUHArD8KxnxhgG",parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",tint:"red",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"w2mZ55xAX1KuR3Q2dngP1w",foundationId:"hNbyNzvcTVK1vEJxa83hcL",id:"mwADv6B5ue7JfsfTJPh6bK"},{type:"Foundation",cx:27.211897808892417,cy:-2.277125937112275,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jo2xWjh3Cc1HQacSqq3RwZ",enableGroupMaster:!0},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:3.1415926535897927,leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],leftJoints:["npFbHBHE2K2JqNLhKJ6X3t"],rightJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"63M4Ay9XbnqNvAk8QywH63",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,relativeAngle:-2.3957214089984347,leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],leftJoints:["63M4Ay9XbnqNvAk8QywH63"],rightJoints:["pkGthR3DucyAx4LwcC1Kdd"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"cJ3MHxSdHF6NBdtBsFYUrC",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,relativeAngle:-1.5707963267948966,leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],leftJoints:["cJ3MHxSdHF6NBdtBsFYUrC"],rightJoints:["myGwrCaTTUQ5A7LpQkLGdD"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"pkGthR3DucyAx4LwcC1Kdd",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,relativeAngle:-.7818940174543654,leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],leftJoints:["pkGthR3DucyAx4LwcC1Kdd"],rightJoints:["167KXvNm8cDcHPx8xW946K"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"myGwrCaTTUQ5A7LpQkLGdD",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,relativeAngle:0,leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],leftJoints:["myGwrCaTTUQ5A7LpQkLGdD"],rightJoints:["4N88hDYexmoMCfgkuoD5Rh"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"167KXvNm8cDcHPx8xW946K",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,relativeAngle:2.356215779952568,leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],leftJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],rightJoints:["63M4Ay9XbnqNvAk8QywH63"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"npFbHBHE2K2JqNLhKJ6X3t",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],leftJoints:["4N88hDYexmoMCfgkuoD5Rh"],rightJoints:["npFbHBHE2K2JqNLhKJ6X3t"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"2Ew2MEjMkmHhJiQ9oqAGU2",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,relativeAngle:.7852978318515466,leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],leftJoints:["167KXvNm8cDcHPx8xW946K"],rightJoints:["2Ew2MEjMkmHhJiQ9oqAGU2"],textureType:"No Wall Texture",color:"#ffffff",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:.5,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"4N88hDYexmoMCfgkuoD5Rh",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"ask5m4JZ2uoEk2cEnnLbsK",leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:1.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["oNTQ9kGJLR6NE6X37waKe5"],rightJoints:["p8peNzDRqcaFDtvEdTohPZ"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adnnHLPEXD64e7HP26zx36",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["adnnHLPEXD64e7HP26zx36"],rightJoints:["pvG7hHR36xfJmEyp1eS9YY"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p8peNzDRqcaFDtvEdTohPZ",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["p8peNzDRqcaFDtvEdTohPZ"],rightJoints:["ewYXhBGEZue5LMkkkDNb2N"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pvG7hHR36xfJmEyp1eS9YY",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["pvG7hHR36xfJmEyp1eS9YY"],rightJoints:["5TCNcDuH6LTN7MuR8NFXaf"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ewYXhBGEZue5LMkkkDNb2N",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["ewYXhBGEZue5LMkkkDNb2N"],rightJoints:["jF6FEFY4L9ZBSgjp7949eF"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5TCNcDuH6LTN7MuR8NFXaf",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["b3SjNidDoApoDQgAZjBhRR"],rightJoints:["adnnHLPEXD64e7HP26zx36"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNTQ9kGJLR6NE6X37waKe5",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["jF6FEFY4L9ZBSgjp7949eF"],rightJoints:["oNTQ9kGJLR6NE6X37waKe5"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"b3SjNidDoApoDQgAZjBhRR",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["5TCNcDuH6LTN7MuR8NFXaf"],rightJoints:["b3SjNidDoApoDQgAZjBhRR"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jF6FEFY4L9ZBSgjp7949eF",parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"dyG5Lv9BjBabdoCAJRrzex",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cx:27.7105671464116,cy:-2.6420189029493315,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"idmo7S3eXBpD6VWYDG7diy",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["4N88hDYexmoMCfgkuoD5Rh","2Ew2MEjMkmHhJiQ9oqAGU2","npFbHBHE2K2JqNLhKJ6X3t","63M4Ay9XbnqNvAk8QywH63","cJ3MHxSdHF6NBdtBsFYUrC","pkGthR3DucyAx4LwcC1Kdd","myGwrCaTTUQ5A7LpQkLGdD","167KXvNm8cDcHPx8xW946K"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jo2xWjh3Cc1HQacSqq3RwZ",foundationId:"jo2xWjh3Cc1HQacSqq3RwZ",id:"ask5m4JZ2uoEk2cEnnLbsK",rise:0,ceiling:!1},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["p9FmVKK28qciXfgD3M1K6V"],rightJoints:["nApCmMqRMThE5A5HdfM3dh"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fRXGTknc5ZYRa28V8BWwuh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["fRXGTknc5ZYRa28V8BWwuh"],rightJoints:["4KAheoavQjSxkpwUJhTcg7"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nApCmMqRMThE5A5HdfM3dh",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["nApCmMqRMThE5A5HdfM3dh"],rightJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4KAheoavQjSxkpwUJhTcg7",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["4KAheoavQjSxkpwUJhTcg7"],rightJoints:["ppMSBZRCq12eT8z3NB6hMS"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6UtLwWPfxSz1Nn8LJyUZiD",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["6UtLwWPfxSz1Nn8LJyUZiD"],rightJoints:["dQ7dD99j57UBUw5JhK5Ym8"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ppMSBZRCq12eT8z3NB6hMS",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["iNFasQAxKLM2g211nuNb2z"],rightJoints:["fRXGTknc5ZYRa28V8BWwuh"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9FmVKK28qciXfgD3M1K6V",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["dQ7dD99j57UBUw5JhK5Ym8"],rightJoints:["p9FmVKK28qciXfgD3M1K6V"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNFasQAxKLM2g211nuNb2z",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["ppMSBZRCq12eT8z3NB6hMS"],rightJoints:["iNFasQAxKLM2g211nuNb2z"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dQ7dD99j57UBUw5JhK5Ym8",parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8T3htfZzkyzGKAg9MjWEi4",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Foundation",cx:27.6576948812141,cy:-2.506928881033054,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nSuM9UkMkLHBgCAuUp64m1",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["p9FmVKK28qciXfgD3M1K6V","fRXGTknc5ZYRa28V8BWwuh","nApCmMqRMThE5A5HdfM3dh","4KAheoavQjSxkpwUJhTcg7","6UtLwWPfxSz1Nn8LJyUZiD","ppMSBZRCq12eT8z3NB6hMS","dQ7dD99j57UBUw5JhK5Ym8","iNFasQAxKLM2g211nuNb2z"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nSuM9UkMkLHBgCAuUp64m1",foundationId:"nSuM9UkMkLHBgCAuUp64m1",id:"8T3htfZzkyzGKAg9MjWEi4",rise:13.522672727906091,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["b3SjNidDoApoDQgAZjBhRR","oNTQ9kGJLR6NE6X37waKe5","adnnHLPEXD64e7HP26zx36","p8peNzDRqcaFDtvEdTohPZ","pvG7hHR36xfJmEyp1eS9YY","ewYXhBGEZue5LMkkkDNb2N","5TCNcDuH6LTN7MuR8NFXaf","jF6FEFY4L9ZBSgjp7949eF"],textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"idmo7S3eXBpD6VWYDG7diy",foundationId:"idmo7S3eXBpD6VWYDG7diy",id:"dyG5Lv9BjBabdoCAJRrzex",rise:0,ceiling:!1},{type:"Wall",cx:-.7345405315369007,cy:2.2012354524785778,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["wt8f2UuyWEu5744tfT81tN"],rightJoints:["mUct1Mv8YXbfrstcjehPpa"],leftPoint:[.10805206105569454,2.2012354524785778,.1],rightPoint:[-1.577133124129496,2.201235452478578,.1],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1A1n4avbSRXWKghQMw9QmS",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:1.795143485073596,cz:0,lx:1.19683109271183,ly:.3,lz:20,leftJoints:["1A1n4avbSRXWKghQMw9QmS"],rightJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],leftPoint:[-1.577133124129496,2.201235452478578,.1],rightPoint:[-2.4562019044410235,1.3890515176686136,.1],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mUct1Mv8YXbfrstcjehPpa",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.4562019044410235,cy:.546494801500746,cz:0,lx:1.685113432335735,ly:.3,lz:20,leftJoints:["mUct1Mv8YXbfrstcjehPpa"],rightJoints:["trsYgSjY5YRLrdedvaJSHE"],leftPoint:[-2.4562019044410235,1.3890515176686136,.1],rightPoint:[-2.4562019044410235,-.2960619146671215,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5WJdP5E99dMPaLFTQ6cg6Q",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-2.0166675142852597,cy:-.7325266634300069,cz:0,lx:1.2388574688675817,ly:.3,lz:20,leftJoints:["5WJdP5E99dMPaLFTQ6cg6Q"],rightJoints:["1XHXV2QxJeTydiieFTLRAN"],leftPoint:[-2.4562019044410235,-.2960619146671215,.1],rightPoint:[-1.577133124129496,-1.1689914121928924,.1],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"trsYgSjY5YRLrdedvaJSHE",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.7345405315369007,cy:-1.1689914121928924,cz:0,lx:1.6851851851851931,ly:.3,lz:20,leftJoints:["trsYgSjY5YRLrdedvaJSHE"],rightJoints:["e41wz75u2ryRdJixSo4bbC"],leftPoint:[-1.577133124129496,-1.1689914121928924,.1],rightPoint:[.10805206105569454,-1.1689914121928924,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1XHXV2QxJeTydiieFTLRAN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5293483573519921,cy:1.7799570943946443,cz:0,lx:1.1915805038063918,ly:.3,lz:20,leftJoints:["rwkRVKiYfYKkrL5fSm48ht"],rightJoints:["1A1n4avbSRXWKghQMw9QmS"],leftPoint:[.9506446536482898,1.3586787363107105,.1],rightPoint:[.10805206105569454,2.201235452478578,.1],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wt8f2UuyWEu5744tfT81tN",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.9506446536482898,cy:.5161220201428429,cz:0,lx:1.6851134323357353,ly:.3,lz:20,leftJoints:["e41wz75u2ryRdJixSo4bbC"],rightJoints:["wt8f2UuyWEu5744tfT81tN"],leftPoint:[.9506446536482898,-.3264346960250246,.1],rightPoint:[.9506446536482898,1.3586787363107105,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rwkRVKiYfYKkrL5fSm48ht",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:.5296100327657101,cy:-.7475180231228342,cz:0,lx:1.192226389921747,ly:.3,lz:20,leftJoints:["1XHXV2QxJeTydiieFTLRAN"],rightJoints:["rwkRVKiYfYKkrL5fSm48ht"],leftPoint:[.10805206105569454,-1.1689914121928924,.1],rightPoint:[.9511680044757185,-.32604463405277606,.1],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e41wz75u2ryRdJixSo4bbC",parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"oxncVFS4dMKc2b6nwpauSP",leftRoofHeight:20,rightRoofHeight:20,selected:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{id:"oxncVFS4dMKc2b6nwpauSP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9CoHzygyKEYpDGTpmZP3qF",foundationId:"9CoHzygyKEYpDGTpmZP3qF",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["rwkRVKiYfYKkrL5fSm48ht","wt8f2UuyWEu5744tfT81tN","1A1n4avbSRXWKghQMw9QmS","mUct1Mv8YXbfrstcjehPpa","5WJdP5E99dMPaLFTQ6cg6Q","trsYgSjY5YRLrdedvaJSHE","1XHXV2QxJeTydiieFTLRAN","e41wz75u2ryRdJixSo4bbC"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.000122008937623,cy:-2.4456470612698347,cz:.05,lx:4.989784328698819,ly:4.552797399247233,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9CoHzygyKEYpDGTpmZP3qF",selected:!1},{type:"Wall",cx:-.20148632007026634,cy:1.8550497672374595,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],rightJoints:["oRNf7bY3AJx3zVpaTdb4zu"],leftPoint:[.6411062725223289,1.8550497672374595],rightPoint:[-1.0440789126628616,1.85504976723746],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9GySPDZNNZvFp6JaddRiDB",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:1.4489577998324776,cz:0,lx:1.19683109271183,ly:.3,lz:30,leftJoints:["9GySPDZNNZvFp6JaddRiDB"],rightJoints:["4nY35MHMDAs2QdKy4qH4ya"],leftPoint:[-1.0440789126628616,1.85504976723746],rightPoint:[-1.9231476929743891,1.0428658324274953],relativeAngle:-2.3957214089984347,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oRNf7bY3AJx3zVpaTdb4zu",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.9231476929743891,cy:.20030911625962777,cz:0,lx:1.685113432335735,ly:.3,lz:30,leftJoints:["oRNf7bY3AJx3zVpaTdb4zu"],rightJoints:["wYoS3whcRTi53dM2ct7qM2"],leftPoint:[-1.9231476929743891,1.0428658324274953],rightPoint:[-1.9231476929743891,-.6422475999082398],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4nY35MHMDAs2QdKy4qH4ya",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4836133028186254,cy:-1.0787123486711252,cz:0,lx:1.2388574688675817,ly:.3,lz:30,leftJoints:["4nY35MHMDAs2QdKy4qH4ya"],rightJoints:["mCZwmWyb4fsNj2wmYQBvsz"],leftPoint:[-1.9231476929743891,-.6422475999082398],rightPoint:[-1.0440789126628616,-1.5151770974340102],relativeAngle:-.7818940174543654,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wYoS3whcRTi53dM2ct7qM2",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-.20148632007026634,cy:-1.5151770974340102,cz:0,lx:1.6851851851851931,ly:.3,lz:30,leftJoints:["wYoS3whcRTi53dM2ct7qM2"],rightJoints:["5kERhDJVYnRwidcZHzNwPz"],leftPoint:[-1.0440789126628616,-1.5151770974340102],rightPoint:[.6411062725223289,-1.5151770974340102],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mCZwmWyb4fsNj2wmYQBvsz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0624025688186265,cy:1.433771409153526,cz:0,lx:1.1915805038063918,ly:.3,lz:30,leftJoints:["6prLNGnRe7BKvuxjsqwhNV"],rightJoints:["9GySPDZNNZvFp6JaddRiDB"],leftPoint:[1.483698865114924,1.0124930510695922],rightPoint:[.6411062725223289,1.85504976723746],relativeAngle:2.356215779952568,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rGMwJ6KNdYyNwmQKhW2Nh4",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.483698865114924,cy:.16993633490172466,cz:0,lx:1.6851134323357353,ly:.3,lz:30,leftJoints:["5kERhDJVYnRwidcZHzNwPz"],rightJoints:["rGMwJ6KNdYyNwmQKhW2Nh4"],leftPoint:[1.483698865114924,-.6726203812661429],rightPoint:[1.483698865114924,1.0124930510695922],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6prLNGnRe7BKvuxjsqwhNV",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:1.0626642442323444,cy:-1.0937037083639525,cz:0,lx:1.192226389921747,ly:.3,lz:30,leftJoints:["mCZwmWyb4fsNj2wmYQBvsz"],rightJoints:["6prLNGnRe7BKvuxjsqwhNV"],leftPoint:[.6411062725223289,-1.5151770974340102],rightPoint:[1.4842222159423528,-.6722303192938943],relativeAngle:.7852978318515466,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5kERhDJVYnRwidcZHzNwPz",parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"uMr4G8iwQhvVEE8TbWYbgJ",leftRoofHeight:30,rightRoofHeight:30,selected:!1,fill:"Full",eavesLength:1.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{id:"uMr4G8iwQhvVEE8TbWYbgJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"1oxk3P52oSn4HGaJ5d21cE",foundationId:"1oxk3P52oSn4HGaJ5d21cE",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["5kERhDJVYnRwidcZHzNwPz","6prLNGnRe7BKvuxjsqwhNV","rGMwJ6KNdYyNwmQKhW2Nh4","9GySPDZNNZvFp6JaddRiDB","oRNf7bY3AJx3zVpaTdb4zu","4nY35MHMDAs2QdKy4qH4ya","wYoS3whcRTi53dM2ct7qM2","mCZwmWyb4fsNj2wmYQBvsz"],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-26.499667294833905,cy:-2.142020498769739,cz:.1,lx:7.862239275491355,ly:8.18645532809304,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1oxk3P52oSn4HGaJ5d21cE",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:-.6463414312406925,cy:1.7491373104519843,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["mMt5DmNXZy5oG4vq89vafC"],rightJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],leftPoint:[.06592873842799918,1.7491373104519834,.1],rightPoint:[-1.3586116009093843,1.7491373104519843,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nr2YdH7dGwCs9FLqqqGjFg",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:1.4187885996411662,cz:0,lx:.9943468188665976,ly:.3,lz:40,leftJoints:["nr2YdH7dGwCs9FLqqqGjFg"],rightJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],leftPoint:[-1.3586116009093843,1.7491373104519843,.1],rightPoint:[-2.1017162457963963,1.0884398888303481,.1],relativeAngle:-2.4148300779771343,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4p4RhAQUE1YZ6FvTNz5vv4",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-2.1017162457963963,cy:.4030347409529105,cz:0,lx:1.370810295754875,ly:.3,lz:40,leftJoints:["4p4RhAQUE1YZ6FvTNz5vv4"],rightJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],leftPoint:[-2.1017162457963963,1.0884398888303481,.1],rightPoint:[-2.1017162457963963,-.2823704069245272,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mLwkBCLjpPZP6KYK5Bt7J8",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-1.7301639233528903,cy:-.6374268439911468,cz:0,lx:1.0278447388893002,ly:.3,lz:40,leftJoints:["mLwkBCLjpPZP6KYK5Bt7J8"],rightJoints:["wynoJj85BW9QJZxa23rRom"],leftPoint:[-2.1017162457963963,-.2823704069245272,.1],rightPoint:[-1.3586116009093843,-.9924832810577664,.1],relativeAngle:-.7626994937110066,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7uWfnz1ukohHZ8q7Z4KWAP",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:-.6463414312406925,cy:-.9924832810577664,cz:0,lx:1.4245403393373886,ly:.3,lz:40,leftJoints:["7uWfnz1ukohHZ8q7Z4KWAP"],rightJoints:["kCyrQp6qPZF1NC78PVWkyR"],leftPoint:[-1.3586116009093843,-.9924832810577664,.1],rightPoint:[.06592873842799918,-.9924832810577664,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wynoJj85BW9QJZxa23rRom",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4220638232623486,cy:1.4064347365132654,cz:0,lx:.9884882454216453,ly:.3,lz:40,leftJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],rightJoints:["nr2YdH7dGwCs9FLqqqGjFg"],leftPoint:[.778198908096698,1.0637321625745466,.1],rightPoint:[.06592873842799918,1.7491373104519843,.1],relativeAngle:2.375413341461377,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mMt5DmNXZy5oG4vq89vafC",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.778198908096698,cy:.37832701469710894,cz:0,lx:1.3708102957548751,ly:.3,lz:40,leftJoints:["kCyrQp6qPZF1NC78PVWkyR"],rightJoints:["mMt5DmNXZy5oG4vq89vafC"],leftPoint:[.778198908096698,-.3070781331803287,.1],rightPoint:[.778198908096698,1.0637321625745466,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ho9ZWX9Y7gps9CuiwCZxjF",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:.4222850257663353,cy:-.6496220528239478,cz:0,lx:.9890270478638401,ly:.3,lz:40,leftJoints:["wynoJj85BW9QJZxa23rRom"],rightJoints:["ho9ZWX9Y7gps9CuiwCZxjF"],leftPoint:[.06592873842799918,-.9924832810577664,.1],rightPoint:[.7786413131046714,-.3067608245901292,.1],relativeAngle:.7661003289655364,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kCyrQp6qPZF1NC78PVWkyR",parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"eGKywH11tWPx9igpC5XjNU",leftRoofHeight:40,rightRoofHeight:40,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{id:"eGKywH11tWPx9igpC5XjNU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Y1kU3q99HMAW1GDxevTYM",foundationId:"9Y1kU3q99HMAW1GDxevTYM",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["mMt5DmNXZy5oG4vq89vafC","nr2YdH7dGwCs9FLqqqGjFg","4p4RhAQUE1YZ6FvTNz5vv4","mLwkBCLjpPZP6KYK5Bt7J8","7uWfnz1ukohHZ8q7Z4KWAP","wynoJj85BW9QJZxa23rRom","kCyrQp6qPZF1NC78PVWkyR","ho9ZWX9Y7gps9CuiwCZxjF"],selected:!1,rise:13.522672727906091,ceiling:!1},{type:"Foundation",cx:-26.07251778331903,cy:-2.351761746510464,cz:.05,lx:4.268844692534827,ly:3.6205625940120694,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9Y1kU3q99HMAW1GDxevTYM",selected:!1},{type:"Wall",cx:-.9902356029479495,cy:-11.912514576226425,cz:2.268765007024547,lx:36.926563179741635,ly:.5,lz:17,leftJoints:["rmJMuUkEt1MeMCUMuSJyMP"],rightJoints:["phirdj4sqaQKeToCxzfiMH"],leftPoint:[-19.45351719281877,-11.912514576226423,.1],rightPoint:[17.47304598692287,-11.912514576226428,.1],relativeAngle:-14431536702349665e-32,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"i77w1Es8Z5SjkjpQ5nMhD5",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:0,cy:0,cz:-.21875,lx:.951583767418624,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"mWaGM2hsTBxoCRqCfarD1y",parentId:"i77w1Es8Z5SjkjpQ5nMhD5",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Wall",cx:17.47304598692286,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],rightJoints:[],leftPoint:[17.47304598692287,-11.912514576226428,.1],rightPoint:[17.473045986922852,2.239006865763245,.1],relativeAngle:1.570796326794898,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"phirdj4sqaQKeToCxzfiMH",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-19.453517192818786,cy:-4.836753855231592,cz:0,lx:14.151521441989672,ly:.5,lz:17,leftJoints:[],rightJoints:["i77w1Es8Z5SjkjpQ5nMhD5"],leftPoint:[-19.453517192818783,2.239006865763245,.1],rightPoint:[-19.45351719281879,-11.912514576226428,.1],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rmJMuUkEt1MeMCUMuSJyMP",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:"vL7dGWufEhTghRwUx8yTvj",leftRoofHeight:17,rightRoofHeight:17,selected:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Wall",cx:-.9902356029479567,cy:2.239006865763245,cz:0,lx:36.92656317974165,ly:.5,lz:17,leftJoints:["phirdj4sqaQKeToCxzfiMH"],rightJoints:["rmJMuUkEt1MeMCUMuSJyMP"],leftPoint:[17.47304598692287,2.239006865763245,.1],rightPoint:[-19.453517192818783,2.239006865763245,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eKjiWm3px73qKLcoG9tGHu",parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:3,roofId:null,selected:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17},{type:"Door",cx:-.006429620050125837,cy:0,cz:-.21875,lx:.9387245273183722,ly:0,lz:.5625,color:"white",textureType:"Door Texture Default",filled:!1,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"dhr8kv5642kt62iFhTt4ta",parentId:"eKjiWm3px73qKLcoG9tGHu",foundationId:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Foundation",cx:.9431450312565914,cy:3.149229192376307,cz:.05,lx:41.18193719933953,ly:25.196736647897943,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tLnj42ybzfx7UvcxHnYBsE",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["phirdj4sqaQKeToCxzfiMH"],ridgeWidth:2.66901172469158,textureType:"No Roof Texture",color:"#ffffff",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"tLnj42ybzfx7UvcxHnYBsE",foundationId:"tLnj42ybzfx7UvcxHnYBsE",id:"vL7dGWufEhTghRwUx8yTvj",rise:1.907584707016376,ceiling:!1},{type:"Human",name:"Jiya",cx:-18.787647876406897,cy:-18.538338993489504,cz:.125,lx:.6,ly:.6,lz:1.74,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"muPJhyAEwPwvd29CyHNPTv",selected:!1},{type:"Tree",name:"Coconut",cx:24.642500087694035,cy:-15.595852113993274,cz:.12499999999999645,lx:7.10302446035018,lz:11.247303362702601,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fjFxbSnebLaGdvEjgFeKBY",selected:!1},{type:"Tree",name:"Coconut",cx:21.66117439174871,cy:-16.376771590483912,cz:.125,lx:4.8301750266215455,lz:7.467800914861559,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"fJBtdZnifxUnAi1A2mQVwv",selected:!1}],Mun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[13.204078062477329,8.198113820431859,8738290977654438e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[13.204078062477329,8.197963813764718,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[40.16161458870258,-83.52840108412623,20.640119356575983],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:12.604988194492185,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#8c9763",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[3.0849566827898878,4.932309755028921,20.640119356575976],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360}},Iun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zun=1,Dun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Eun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kun={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Fun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Lun=[],Wun={docid:xun,time:bun,timestamp:Sun,userid:Tun,owner:Pun,email:Cun,world:Run,elements:Hun,view:Mun,graphState:Iun,evolutionMethod:zun,solarPanelArrayLayoutParams:Dun,solarPanelArrayLayoutConstraints:Eun,evolutionaryAlgorithmState:kun,economicsParams:Fun,notes:Lun},Nun="kfhYJJUbjvMzonQRyiPc3j",Uun="02/03/2023 08:07 pm",Bun=1675472845072,jun="QWecNcxhyvP6j6sBN11hBsfZDau1",Yun=null,Oun=null,_un={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 9:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Vun=[{ly:17.756863619774798,solarUpdraftTower:{},parentId:"Ground",cx:-2.4293224579513826,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.4049185488212945,type:"Foundation",solarPowerTower:{},lx:35.28188764969263,lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.5,textureType:"Foundation Texture #2",enableGroupMaster:!0,color:"#ffffff"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:24.269954502361394,relativeAngle:3.141592653589793,lz:6,roofId:"eX962ry384m9Aq9zJiKfY6",ly:.3,rightPoint:[-9.99610487226133,4.83201801478668,1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture #4",leftPoint:[14.27384963010006,4.832018014786678,1],type:"Wall",rightRoofHeight:6,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:6,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:2.1388723789193644,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:4.83201801478668,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:14.273849630100056,leftPoint:[14.273849630100056,-5.54086475965909,1],cy:-.35442337243620514,leftRoofHeight:6,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[14.27384963010006,4.83201801478668,1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10.37288277444577,normal:[0,0,1],lz:6,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",rightRoofHeight:6,roofId:"eX962ry384m9Aq9zJiKfY6",color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{lx:10.37288277444577,windows:[],lz:6,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"eX962ry384m9Aq9zJiKfY6",selected:!1,cy:-.35442337243620514,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture #4",rightRoofHeight:6,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948968,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-9.99610487226133,4.83201801478668,1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:6,ly:.3,cx:-9.99610487226133,color:"#ffffff",opacity:0,wallStructure:"Default",studSpacing:100,studColor:"#666666",centerRoofHeight:[0,9],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,cx:2.1388723789193644,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[14.27384963010006,-5.54086475965909,1],cz:2.268765007024547,textureType:"Wall Texture #4",cy:-5.54086475965909,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"eX962ry384m9Aq9zJiKfY6",leftPoint:[-9.99610487226133,-5.54086475965909,1],normal:[0,0,1],ly:.3,lz:6,leftRoofHeight:6,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:6,lx:24.269954502361394,color:"#ffffff",wallStructure:"Default",opacity:0,studSpacing:100,studColor:"#666666",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-1.8995410156020984,cy:1.1382243316181326,cz:2.2408122612280286,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.37294748494921137,cy:-.10216350253359563,cz:1.9496749649980285,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[-.37294748494921315,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,1.1382243316181326,.07664429931579812],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-3.4261345462549855,cy:-.10216350253359563,cz:2.228839888904333,lx:2.4807756683034574,ly:.2,lz:12.024186118737006,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-3.4261345462549855,1.1382243316181326,.07664429931579812],rightPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.8995410156020984,cy:-1.3425513366853248,cz:2.268765007024547,lx:3.053187061305774,ly:.2,lz:12.024186118737006,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-3.4261345462549855,-1.3425513366853248,.07664429931579812],rightPoint:[-.37294748494921137,-1.3425513366853248,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Foundation",cx:14.094080413269129,cy:.15570536150984227,cz:.05,lx:8.775727447038646,ly:4.909042441548677,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff"},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",sideColor:"#4d4d4d",rise:2.0481021935471038,ceiling:!1},{type:"Window",cx:.0021539197282083927,cy:.1,cz:.3488182697258943,lx:.5686474602805061,ly:.2,lz:.18392000793749944,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Wall",cx:-.20317717304724836,cy:.8008815905246398,cz:2.2408122612280286,lx:1.7317721396367636,ly:.2,lz:12.024186118737006,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.6627088967711334,.8008815905246398,0],rightPoint:[-1.0690632428656301,.8008815905246398,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.6627088967711334,cy:.06442649426996133,cz:2.2301039869226305,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.6627088967711331,-.6720286019847171,0],rightPoint:[.6627088967711336,.8008815905246398,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-1.0690632428656301,cy:.06442649426996133,cz:2.228839888904333,lx:1.472910192509357,ly:.2,lz:12.024186118737006,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.0690632428656301,.8008815905246398,0],rightPoint:[-1.0690632428656301,-.6720286019847171,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.20317717304724825,cy:-.6720286019847171,cz:2.268765007024547,lx:1.7317721396367638,ly:.2,lz:12.024186118737006,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.0690632428656301,-.6720286019847171,0],rightPoint:[.6627088967711336,-.6720286019847171,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"14aRqq6MKm9VsEB7xehwCw",leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"14aRqq6MKm9VsEB7xehwCw",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #7",thickness:.15,wallsId:["gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ","9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa"],selected:!1,sideColor:"#4d4d4d",rise:7.313111372629006,ceiling:!1},{type:"Foundation",cx:12.425615366004104,cy:.028931059233684664,cz:.05,lx:3.229114860580372,ly:2.221848349715204,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1},{type:"Human",name:"Jaye",cx:16.450422145232615,cy:-.22113841806491535,cz:.5,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"iDEwVvzHLgt4QuBLaRKJtz",selected:!1,ly:.55},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #7",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"eX962ry384m9Aq9zJiKfY6",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],sideColor:"#4d4d4d",rise:3,ceiling:!1},{type:"Door",cx:-8950612010673349e-32,cy:0,cz:-.3331657120178574,lx:.8061994583201278,ly:0,lz:.3336685759642853,textureType:"Door Texture #5",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ekcJVu2iDNfD8vCRPJWcfY",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9oFXDcsdcyJ89HEsb2DDAG",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssU5SYZXCGdgbbL6FKEC5P",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fptVfz87nopSTdqFchXqam",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.3856208622982074,cy:.1,cz:-.16666666666666666,lx:.09640521557455185,ly:.3,lz:.3333333333333333,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dBjY8chWcXqTSEjTPuyYBe",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ukFf3NbtSoWEm19XdABfLF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.24101303893637963,cy:.1,cz:.375,lx:.09640521557455185,ly:.3,lz:.4166666666666667,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e66yZnH635KK4nUZeZJouj",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1},{type:"Window",cx:-.004820260778727587,cy:.1,cz:.5500000000000002,lx:.1253267802469174,ly:.3,lz:.6999999999999998,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8FUv4v48DhXb1UYjQUTX7D",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5yZFsPzLz262PvuKKqo6BT",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Window",cx:.2892156467236556,cy:.1,cz:0,lx:.1928104311491037,ly:.3,lz:.5,mullionWidth:.08,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pRx46Qg86s1FgV9Tkkwhkb",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.13496730180437258,ly:0,lz:.4166666666666667,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Zxx9R9RT39QbRUhwQji79",doorType:"Default",archHeight:1,filled:!0},{type:"Cuboid",cx:15.482678805847527,cy:.03501810630543489,cz:.5,lx:.5,ly:3,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"7HoCBk9FUvPFeTLHCCJTNC"},{type:"Cuboid",cx:15.982678805847527,cy:.03501810630543489,cz:.4,lx:.5,ly:3,lz:.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"wT8Ce4Jri1xraPwAe1CNeM",selected:!1},{type:"Cuboid",cx:16.482678805847527,cy:.03501810630543489,cz:.3,lx:.5,ly:3,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"kygu5kCeJayDbMCovLE74e",selected:!1},{type:"Cuboid",cx:16.982678805847527,cy:.03501810630543489,cz:.2,lx:.5,ly:3,lz:.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"x3KMwKP4LZeaVL1t9Sa9pC",selected:!1},{type:"Cuboid",cx:16.454615930533183,cy:-1.723835668236857,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"dCP1VYfhvq16F8TKTUaTJy",selected:!1},{type:"Cuboid",cx:16.45823999757701,cy:1.798322131122021,cz:.5,lx:2.5,ly:.5,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7CauidfWWfvxRjMT2AFDZ7",selected:!1},{type:"Human",name:"Jamelia",cx:-.11177369144009575,cy:.35103184354339856,cz:.10000000149011612,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"grVotAf51uhbEVGMStvWX3",id:"aT4DrrYnjHCzoD1VbK7qaQ",selected:!1,ly:.65},{type:"Tree",name:"Spruce",cx:-9.332343084456326,cy:-7.670721874044395,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"efGrH4MExjf1MncqygtFYz",selected:!1},{type:"Tree",name:"Spruce",cx:-2.4224793125813298,cy:-7.597212684981861,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mVFRaCS8mpYH1fWycvYh2A",selected:!1},{type:"Tree",name:"Spruce",cx:5.7002860788249174,cy:-7.486948901388057,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"76Tg87omCPA31TcVqXcmTm",selected:!1},{type:"Tree",name:"Spruce",cx:12.904186606949914,cy:-7.413439712325518,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9tspspKKMvyRj8ZAXB1S5M",selected:!1},{type:"Tree",name:"Spruce",cx:-9.185324706331325,cy:6.884097560337873,cz:.49999999999999645,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jB2hT6s8JMuu4hvTQGpet3",selected:!1},{type:"Tree",name:"Spruce",cx:5.884059051481165,cy:6.773833776744068,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4721EtxPvv42oUzmx3KVyF",selected:!1},{type:"Tree",name:"Spruce",cx:-1.9163053006129438,cy:6.972061722697195,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5JeYYLhDB98wnUERTPXwhK",selected:!1},{type:"Tree",name:"Spruce",cx:12.830677417887415,cy:6.810588371275337,cz:.5,lx:3,lz:5.858069311885397,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"muLKxWCdfcK2eTHLBsDxzY",selected:!1},{type:"Cuboid",cx:17.482678805847527,cy:.03501810630543489,cz:.1,lx:.5,ly:3,lz:.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"grVotAf51uhbEVGMStvWX3",selected:!1},{type:"Flower",name:"White Flower",cx:15.126182941215411,cy:2.0688216490527616,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oTAnTfR89oZPsyKVkbpY4L",selected:!1},{type:"Flower",name:"White Flower",cx:15.15556957531615,cy:3.2795889445752495,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i17rLiCzdL5NmRJGR4y1CS",selected:!1},{type:"Flower",name:"White Flower",cx:15.217151871229412,cy:4.479113375165792,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cH33zk4JiguncGCgw5dgge",selected:!1},{type:"Flower",name:"White Flower",cx:15.072373579996741,cy:-2.4484335890262776,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"w8aD5THe2gjzneE5VAcSXT",selected:!1},{type:"Flower",name:"White Flower",cx:15.073985679510187,cy:-3.688355208079927,cz:.5,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"onzxSqcVAm3FyLWanpmjH2",selected:!1},{type:"Flower",name:"White Flower",cx:15.176965591305198,cy:-5.044043742265718,cz:.4999999999999991,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"j3jTvCkw7njipy5x4UrSpB",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.090503333801388,cy:2.6795845901554154,cz:.5,lx:2,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gQ7GqXx4tKL7uBJwLrMcA6",selected:!1},{type:"Flower",name:"Hibiscus",cx:15.11041357320055,cy:3.9081085710241874,cz:.4999999999999991,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6HJcrgKqYqvU7BYpYwf1Se",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.913002609189407,cy:-3.0774482324317782,cz:.5000000000000009,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyshpZCEierrdgAyXaBcst",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.941871873418721,cy:-4.383327895714419,cz:.5,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kAeRGtsWdmxUoAQPB5P6KJ",selected:!1},{type:"Human",name:"Jade",cx:16.85821378704074,cy:-2.487104433327495,cz:.5,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5quA9K9PbuFux9inPinoZp",selected:!1,ly:.48},{type:"Human",name:"Jett",cx:-.04509947681173543,cy:-.12777417813363456,cz:.300000011920929,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"kygu5kCeJayDbMCovLE74e",id:"qNbt2kqLcnpAuYiCzMr8qu",selected:!1,ly:.6},{type:"Human",name:"Jedi",cx:16.573220428178367,cy:-1.1124659446434038,cz:.5,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gHn3DWePGHkUPuTQBYNFA7",selected:!1,ly:.56},{type:"Human",name:"Jennifer",cx:16.90812280276899,cy:1.1730238573514669,cz:.5,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pkNrn5a7PGHK1vUXoNbNtp",selected:!1,ly:.45},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qS8bPerGLqgrEhg3VdRMna",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nmpua75umkgQmm3afavHG4",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN2d9MiAtthczP5v35Bn9Z",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rt5vtqFNGBs4uVevaa5SHr",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iqKTDEyqgoDU5cgt71CFea",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vHTxpdJckKKr3ePx8aFQpY",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7MSjvWxXyqcQDbp8fs3ZDw",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.37082887811447396,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5vsADBuvCZtK48YRH9MYR9",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.24721925207631612,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"d6tpsz63SWdyNJ6pv74f1S",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.12360962603815825,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qLXWzVH589njSMD4htbaDZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-40245584642661925e-32,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rLKBLFR9JVQSkBFbLvtmjw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.12360962603815745,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3VPrjTctjaZkp9jMcnmk9K",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.24721925207631532,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXBTXx15DGSCH8grL279or",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3708288781144731,cy:.1,cz:0,lx:.0824064173587719,ly:.3,lz:.6666666666666666,mullion:!0,mullionWidth:.08,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Arched",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"58KzRG1iYAZNHC4ZV2DbrP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1}],Gun={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[5.218957131029783,.6180582017777921,6180856740847945e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[5.218957131029783,.6180382008888045,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.977248222176474,21.907448743442465,8.268031438861318],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:47.83311959586008,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-3.993253335690816,-7.535606531970473,7.708620369560713],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Xun={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Jun=1,Kun={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},qun={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},$un={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Qun={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Zun=[],edn={docid:Nun,time:Uun,timestamp:Bun,userid:jun,owner:Yun,email:Oun,world:_un,elements:Vun,view:Gun,graphState:Xun,evolutionMethod:Jun,solarPanelArrayLayoutParams:Kun,solarPanelArrayLayoutConstraints:qun,evolutionaryAlgorithmState:$un,economicsParams:Qun,notes:Zun},tdn="u1WXQV62cNL8GXN8gP2Uro",ndn="02/03/2023 08:06 pm",odn=1675472763047,idn="QWecNcxhyvP6j6sBN11hBsfZDau1",rdn=null,adn=null,ldn={solarRadiationHeatmapGridCellSize:1,date:"4/22/2022, 7:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},sdn=[{type:"Wall",cx:-.3764576456166644,cy:.7527432813254578,cz:2.2408122612280286,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:1.03634245227299,cy:-.6129469247080586,cz:1.9496749649980285,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.03634245227299,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,.7527432813254578,.07664429931579812],relativeAngle:1.5707963267948961,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,wallStructure:"Default",opacity:.5,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.7892577435063188,cy:-.6129469247080586,cz:2.228839888904333,lx:2.7313804120670326,ly:.2,lz:17.11162413698611,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-1.7892577435063188,.7527432813254578,.07664429931579812],rightPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.3764576456166644,cy:-1.9786371307415749,cz:2.268765007024547,lx:2.8256001957793133,ly:.2,lz:17.11162413698611,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-1.7892577435063188,-1.9786371307415749,.07664429931579812],rightPoint:[1.0363424522729936,-1.9786371307415749,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"aAQtPcYcdvnjKLxjxpN6fj",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,opacity:.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:9.88256564470575,cy:-18.302742621755318,cz:.05,lx:5.358597805586726,ly:4.404021553494953,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Wall",cx:-.5591812718525784,cy:10.613663444712508,cz:2.2408122612280286,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["dzLroXC8UBmujXxPj58BnJ"],rightJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],leftPoint:[.32337762972749395,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"9CKGzf7taYbb5TxpshE7KA",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:.32337762972749395,cy:9.751643903669297,cz:2.2301039869226305,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["gH8a7zMeyH4srn6fpqovLp"],rightJoints:["9CKGzf7taYbb5TxpshE7KA"],leftPoint:[.32337762972749395,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,10.613663444712508,.09656797003029352],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"dzLroXC8UBmujXxPj58BnJ",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",wallStructure:"Default",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-1.4417401734326472,cy:9.751643903669297,cz:2.228839888904333,lx:1.7240390820864182,ly:.2,lz:17.11162413698611,leftJoints:["9CKGzf7taYbb5TxpshE7KA"],rightJoints:["gH8a7zMeyH4srn6fpqovLp"],leftPoint:[-1.4417401734326472,10.613663444712508,.09656797003029352],rightPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"2AP7zuBsHXSx9vjaaQ41Sa",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Wall",cx:-.5591812718525784,cy:8.889624362626087,cz:2.268765007024547,lx:1.7651178031601384,ly:.2,lz:17.11162413698611,leftJoints:["2AP7zuBsHXSx9vjaaQ41Sa"],rightJoints:["dzLroXC8UBmujXxPj58BnJ"],leftPoint:[-1.4417401734326472,8.889624362626087,.09656797003029352],rightPoint:[.32337762972749395,8.889624362626087,.09656797003029352],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,2.576026974436725],id:"gH8a7zMeyH4srn6fpqovLp",parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",opacity:.5,roofId:"uGKYfaStAHZiUBuVtKS6dW",leftRoofHeight:17.11162413698611,rightRoofHeight:17.11162413698611,selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17.11162413698611,rightTopPartialHeight:17.11162413698611},{type:"Foundation",cx:14.958059471973794,cy:-10.376627749775599,cz:.05,lx:3.9130970991852903,ly:26.13645284205659,lz:.10907253340755482,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7jmzUaUYBWVbxJMLM3ukrN",selected:!1,enableGroupMaster:!1,color:"#ffffff",locked:!1},{type:"Foundation",cx:7.577351540057415,cy:-22.562392942244166,cz:.05,lx:53.002191940731585,ly:17.343791633088202,lz:.1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3JxHzzEsV9Da6tuGXPViKy",color:"#ffffff",locked:!1},{type:"Wall",cx:0,cy:6.071605429917916,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:3.141592653589793,leftPoint:[20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,6.071605429917916,0],leftJoints:["4R59jrQvJmq95aQT2Dv649"],rightJoints:["iLwQ5UBgBL3sonqBcqFoC5"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"eaUtdoPPg5CEenHZ1cZ7yL",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:-1.5707963267948966,leftPoint:[-20.985950515684806,6.071605429917916,0],rightPoint:[-20.985950515684806,-6.577572549077742,0],leftJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],rightJoints:["puEFSm14QZKVxz67Z67N16"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"iLwQ5UBgBL3sonqBcqFoC5",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.577572549077742,cz:0,lx:41.97190103136961,ly:.3,lz:10,relativeAngle:0,leftPoint:[-20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,-6.577572549077742,0],leftJoints:["iLwQ5UBgBL3sonqBcqFoC5"],rightJoints:["4R59jrQvJmq95aQT2Dv649"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"puEFSm14QZKVxz67Z67N16",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:20.985950515684806,cy:-.25298355957991303,cz:0,lx:12.64917797899566,ly:.3,lz:10,relativeAngle:1.5707963267948966,leftPoint:[20.985950515684806,-6.577572549077742,0],rightPoint:[20.985950515684806,6.071605429917916,0],leftJoints:["puEFSm14QZKVxz67Z67N16"],rightJoints:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Wall Texture #8",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"4R59jrQvJmq95aQT2Dv649",color:"white",roofId:"3pZdU1AL5k6hknNK4gDLPK",leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["9CKGzf7taYbb5TxpshE7KA","2AP7zuBsHXSx9vjaaQ41Sa","gH8a7zMeyH4srn6fpqovLp","dzLroXC8UBmujXxPj58BnJ"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,2.576026974436725],parentId:"7jmzUaUYBWVbxJMLM3ukrN",foundationId:"7jmzUaUYBWVbxJMLM3ukrN",id:"uGKYfaStAHZiUBuVtKS6dW",locked:!1,rise:8.555812068493054,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R","beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aAQtPcYcdvnjKLxjxpN6fj",locked:!1,rise:1.975489281315383,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["eaUtdoPPg5CEenHZ1cZ7yL"],textureType:"Roof Texture #5",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"3JxHzzEsV9Da6tuGXPViKy",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"3pZdU1AL5k6hknNK4gDLPK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Human",name:"Jack",cx:24.03461056644682,cy:-.9488790909164386,cz:.10000000149011613,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"3LWACNGJBDVRSGmB2iRsbK",selected:!1,locked:!1,ly:.42},{type:"Wall",cx:0,cy:6,cz:0,lx:27,ly:.3,lz:10,leftJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],rightJoints:["iwUy27fkuqc81ipg2dgQZa"],leftPoint:[13.5,6,0],rightPoint:[-13.5,6,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"agFV6snz1JdtWvd4JR2cDW",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["agFV6snz1JdtWvd4JR2cDW"],rightJoints:["c7vcy9r1yDujdJxgxp5TzY"],leftPoint:[-13.499999999999998,6,0],rightPoint:[-13.5,-6.5,0],relativeAngle:4.71238898038469,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"iwUy27fkuqc81ipg2dgQZa",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:0,cy:-6.5,cz:0,lx:27,ly:.3,lz:10,leftJoints:["iwUy27fkuqc81ipg2dgQZa"],rightJoints:["bJ26Y2Ztj2wnvSCwMVZbSj"],leftPoint:[-13.5,-6.5,0],rightPoint:[13.5,-6.5,0],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"c7vcy9r1yDujdJxgxp5TzY",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:13.5,cy:-.25,cz:0,lx:12.5,ly:.3,lz:10,leftJoints:["c7vcy9r1yDujdJxgxp5TzY"],rightJoints:["agFV6snz1JdtWvd4JR2cDW"],leftPoint:[13.5,-6.5,0],rightPoint:[13.5,6,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-.5655656791530684],id:"bJ26Y2Ztj2wnvSCwMVZbSj",parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofId:"cHg19Gk5NDmFTLbhEqkpEc",selected:!1,leftRoofHeight:10,rightRoofHeight:10,centerRoofHeight:[0,13.341587920831635],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"cHg19Gk5NDmFTLbhEqkpEc",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"aXmgoxjAJPULF92Dwj9wXo",foundationId:"aXmgoxjAJPULF92Dwj9wXo",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["agFV6snz1JdtWvd4JR2cDW"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:10.745099874695102,cy:-19.099061544436797,cz:.05,lx:34.0956484513338,ly:17.139247765633556,lz:.1,normal:[0,0,1],rotation:[0,0,-.5655656791530684],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aXmgoxjAJPULF92Dwj9wXo",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["rbfyBq5mDVjxhT7cHiZa6r"],rightJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wnNdNWw7uCJtb791q2h2kv",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tFV6qvitr5PH2Ab2oo3oSn"],rightJoints:["wnNdNWw7uCJtb791q2h2kv"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"rbfyBq5mDVjxhT7cHiZa6r",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",wallStructure:"Default",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["wnNdNWw7uCJtb791q2h2kv"],rightJoints:["tFV6qvitr5PH2Ab2oo3oSn"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"evmZhzFqQUpVbc7Pz1QgMJ",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["evmZhzFqQUpVbc7Pz1QgMJ"],rightJoints:["rbfyBq5mDVjxhT7cHiZa6r"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tFV6qvitr5PH2Ab2oo3oSn",parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",opacity:.5,roofId:"xgcfKKQgeBMWdofPE3DXN2",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xgcfKKQgeBMWdofPE3DXN2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"gddwwsiW9SAwt9BDP8qhGA",foundationId:"gddwwsiW9SAwt9BDP8qhGA",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["wnNdNWw7uCJtb791q2h2kv","evmZhzFqQUpVbc7Pz1QgMJ","tFV6qvitr5PH2Ab2oo3oSn","rbfyBq5mDVjxhT7cHiZa6r"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-10.384377691463378,cy:-33.417453285003795,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gddwwsiW9SAwt9BDP8qhGA",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["juENJWiqAWw4xaJKCkBnBu"],rightJoints:["kR4ctZiA4puw1EFB5KiG5E"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"b44mniuvoz9x2PrRVmaHR2",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],rightJoints:["b44mniuvoz9x2PrRVmaHR2"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"juENJWiqAWw4xaJKCkBnBu",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",wallStructure:"Default",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["b44mniuvoz9x2PrRVmaHR2"],rightJoints:["gmYm1iNZTPrTFyvZ3zM6wc"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"kR4ctZiA4puw1EFB5KiG5E",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kR4ctZiA4puw1EFB5KiG5E"],rightJoints:["juENJWiqAWw4xaJKCkBnBu"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gmYm1iNZTPrTFyvZ3zM6wc",parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",opacity:.5,roofId:"xvCWqbtBHhPfDxKkaUCj1N",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"xvCWqbtBHhPfDxKkaUCj1N",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"eTTCEUsedrFiMVxzGXSPUk",foundationId:"eTTCEUsedrFiMVxzGXSPUk",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["b44mniuvoz9x2PrRVmaHR2","kR4ctZiA4puw1EFB5KiG5E","gmYm1iNZTPrTFyvZ3zM6wc","juENJWiqAWw4xaJKCkBnBu"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-8.002707095672621,cy:-29.66519620128789,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTTCEUsedrFiMVxzGXSPUk",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["r3gZsm5d2NUURkeJvNjoh1"],rightJoints:["6gbdPzRZhLL2pFKuqZLzc7"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"h6RcENRcyV9RrecCDiFvpW",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],rightJoints:["h6RcENRcyV9RrecCDiFvpW"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"r3gZsm5d2NUURkeJvNjoh1",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",wallStructure:"Default",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["h6RcENRcyV9RrecCDiFvpW"],rightJoints:["oFJo6fvJ5KGuFkZ1uaJYjz"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"6gbdPzRZhLL2pFKuqZLzc7",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["6gbdPzRZhLL2pFKuqZLzc7"],rightJoints:["r3gZsm5d2NUURkeJvNjoh1"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oFJo6fvJ5KGuFkZ1uaJYjz",parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",opacity:.5,roofId:"6gwGsxKD4B1rm1H1Vk3Ngq",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"6gwGsxKD4B1rm1H1Vk3Ngq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"dry3LvTbwVtZ9zC2iXiS6E",foundationId:"dry3LvTbwVtZ9zC2iXiS6E",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["h6RcENRcyV9RrecCDiFvpW","6gbdPzRZhLL2pFKuqZLzc7","oFJo6fvJ5KGuFkZ1uaJYjz","r3gZsm5d2NUURkeJvNjoh1"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-5.621036499881868,cy:-25.912939117571987,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dry3LvTbwVtZ9zC2iXiS6E",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["tuFkkTxMLGJupvdG99JJmE"],rightJoints:["dCPkgeninMwV2CefSv8Tyh"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"5VMupGYdfv6eXLkphmN6Sb",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["f9C4rqMCfriiBEp6cWZTjf"],rightJoints:["5VMupGYdfv6eXLkphmN6Sb"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tuFkkTxMLGJupvdG99JJmE",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",wallStructure:"Default",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5VMupGYdfv6eXLkphmN6Sb"],rightJoints:["f9C4rqMCfriiBEp6cWZTjf"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dCPkgeninMwV2CefSv8Tyh",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["dCPkgeninMwV2CefSv8Tyh"],rightJoints:["tuFkkTxMLGJupvdG99JJmE"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"f9C4rqMCfriiBEp6cWZTjf",parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",opacity:.5,roofId:"vWxd63CkWo4geKwK32Aif7",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"vWxd63CkWo4geKwK32Aif7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"teEJ9AmuMs6M9VZiHzT62s",foundationId:"teEJ9AmuMs6M9VZiHzT62s",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5VMupGYdfv6eXLkphmN6Sb","dCPkgeninMwV2CefSv8Tyh","f9C4rqMCfriiBEp6cWZTjf","tuFkkTxMLGJupvdG99JJmE"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:-3.2393659040911107,cy:-22.16068203385608,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"teEJ9AmuMs6M9VZiHzT62s",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],rightJoints:["1LixWzKAyzhWp6KyjXV5K9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"8ATi9fhnsoTYgrRebeda98",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["9xBo23SsCzdw2nMz6XkrRK"],rightJoints:["8ATi9fhnsoTYgrRebeda98"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gwHuE3q3o7hQafGJcQ7Ldx",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",wallStructure:"Default",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["8ATi9fhnsoTYgrRebeda98"],rightJoints:["9xBo23SsCzdw2nMz6XkrRK"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"1LixWzKAyzhWp6KyjXV5K9",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["1LixWzKAyzhWp6KyjXV5K9"],rightJoints:["gwHuE3q3o7hQafGJcQ7Ldx"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"9xBo23SsCzdw2nMz6XkrRK",parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",opacity:.5,roofId:"2igmnqP4fQU8AfDDqEEHxR",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"2igmnqP4fQU8AfDDqEEHxR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"w1GQJoXwTctyFPQTHvbCSJ",foundationId:"w1GQJoXwTctyFPQTHvbCSJ",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["8ATi9fhnsoTYgrRebeda98","1LixWzKAyzhWp6KyjXV5K9","9xBo23SsCzdw2nMz6XkrRK","gwHuE3q3o7hQafGJcQ7Ldx"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:5.878850875181692,cy:-43.63794559714253,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"w1GQJoXwTctyFPQTHvbCSJ",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gVQBUETgtMy9wnJS5MyAwR"],rightJoints:["kZ3yx1o3MpryY5DEwAHRSu"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"mVXKFfUbKmFXpx4p6d1mu7",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["uXfDQAFqu42CBoR6RERDEE"],rightJoints:["mVXKFfUbKmFXpx4p6d1mu7"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"gVQBUETgtMy9wnJS5MyAwR",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",wallStructure:"Default",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mVXKFfUbKmFXpx4p6d1mu7"],rightJoints:["uXfDQAFqu42CBoR6RERDEE"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kZ3yx1o3MpryY5DEwAHRSu",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kZ3yx1o3MpryY5DEwAHRSu"],rightJoints:["gVQBUETgtMy9wnJS5MyAwR"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"uXfDQAFqu42CBoR6RERDEE",parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",opacity:.5,roofId:"d2Rg3hSVCMgqwYgvySw6Ve",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"d2Rg3hSVCMgqwYgvySw6Ve",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"qFjTDh4kdKUejoECGaAtFF",foundationId:"qFjTDh4kdKUejoECGaAtFF",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mVXKFfUbKmFXpx4p6d1mu7","kZ3yx1o3MpryY5DEwAHRSu","uXfDQAFqu42CBoR6RERDEE","gVQBUETgtMy9wnJS5MyAwR"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:8.26052147097245,cy:-39.88568851342663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qFjTDh4kdKUejoECGaAtFF",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["4U2FUn1XmkrEQUaPmhvyyA"],rightJoints:["jPqCvMBCkPVvRbVHByK9Sd"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5zbGDbw5ZL64ZnafnWAddf",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["jsjvgQe8PDECuTtUpZqqPx"],rightJoints:["5zbGDbw5ZL64ZnafnWAddf"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"4U2FUn1XmkrEQUaPmhvyyA",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",wallStructure:"Default",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5zbGDbw5ZL64ZnafnWAddf"],rightJoints:["jsjvgQe8PDECuTtUpZqqPx"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jPqCvMBCkPVvRbVHByK9Sd",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["jPqCvMBCkPVvRbVHByK9Sd"],rightJoints:["4U2FUn1XmkrEQUaPmhvyyA"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"jsjvgQe8PDECuTtUpZqqPx",parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",opacity:.5,roofId:"efiH48pXLfRzfiE8Wi1bdv",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"efiH48pXLfRzfiE8Wi1bdv",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"eawHcqEx4ydgKwpfjVv9RR",foundationId:"eawHcqEx4ydgKwpfjVv9RR",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["5zbGDbw5ZL64ZnafnWAddf","jPqCvMBCkPVvRbVHByK9Sd","jsjvgQe8PDECuTtUpZqqPx","4U2FUn1XmkrEQUaPmhvyyA"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:10.6421920667632,cy:-36.13343142971072,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eawHcqEx4ydgKwpfjVv9RR",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kzoM97zxdWMYoEvnY6njBU"],rightJoints:["hCESxuxDssAckoNt8Ysqfa"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hjQtHP6wU1C98tsKp38NFc",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["rpsA3uefMnrgXZ2ssSvfxV"],rightJoints:["hjQtHP6wU1C98tsKp38NFc"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kzoM97zxdWMYoEvnY6njBU",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",wallStructure:"Default",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["hjQtHP6wU1C98tsKp38NFc"],rightJoints:["rpsA3uefMnrgXZ2ssSvfxV"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"hCESxuxDssAckoNt8Ysqfa",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["hCESxuxDssAckoNt8Ysqfa"],rightJoints:["kzoM97zxdWMYoEvnY6njBU"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"rpsA3uefMnrgXZ2ssSvfxV",parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",opacity:.5,roofId:"fyUg5zq8ntfBYqeveZG1Mz",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"fyUg5zq8ntfBYqeveZG1Mz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"g52oWNGab2d5tJm7ExTD79",foundationId:"g52oWNGab2d5tJm7ExTD79",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["hjQtHP6wU1C98tsKp38NFc","hCESxuxDssAckoNt8Ysqfa","rpsA3uefMnrgXZ2ssSvfxV","kzoM97zxdWMYoEvnY6njBU"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:13.023862662553956,cy:-32.381174345994815,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"g52oWNGab2d5tJm7ExTD79",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["vpoRybfzCjbHDw4Zf7t8V7"],rightJoints:["pWk5x2zZNk49mb2AbHyPt9"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"85JuGPRhVTskx5HKKPLWZJ",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["a723GZeeHDaeGxxKov9kNA"],rightJoints:["85JuGPRhVTskx5HKKPLWZJ"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"vpoRybfzCjbHDw4Zf7t8V7",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",wallStructure:"Default",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["85JuGPRhVTskx5HKKPLWZJ"],rightJoints:["a723GZeeHDaeGxxKov9kNA"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"pWk5x2zZNk49mb2AbHyPt9",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["pWk5x2zZNk49mb2AbHyPt9"],rightJoints:["vpoRybfzCjbHDw4Zf7t8V7"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"a723GZeeHDaeGxxKov9kNA",parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",opacity:.5,roofId:"uzoWkkSM6BdFkW3tQ9QEeP",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uzoWkkSM6BdFkW3tQ9QEeP",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"e3sKy7gdQ45ovgtshJNKSh",foundationId:"e3sKy7gdQ45ovgtshJNKSh",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["85JuGPRhVTskx5HKKPLWZJ","pWk5x2zZNk49mb2AbHyPt9","a723GZeeHDaeGxxKov9kNA","vpoRybfzCjbHDw4Zf7t8V7"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:23.539261545507316,cy:-15.785608947862563,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"e3sKy7gdQ45ovgtshJNKSh",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["ucyqM28VHCejiYXSBRU74w"],rightJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"mRLpMEwUpk6b3VqzxYNaep",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],rightJoints:["mRLpMEwUpk6b3VqzxYNaep"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"ucyqM28VHCejiYXSBRU74w",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",wallStructure:"Default",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["mRLpMEwUpk6b3VqzxYNaep"],rightJoints:["oqTZ9Y5zqDf3qpPSoAsnfq"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"wCoXQcNBi6mJ5wS4Y6r4VL",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["wCoXQcNBi6mJ5wS4Y6r4VL"],rightJoints:["ucyqM28VHCejiYXSBRU74w"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"oqTZ9Y5zqDf3qpPSoAsnfq",parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",opacity:.5,roofId:"4sAKtdpUfojEauuc9xKUx9",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"4sAKtdpUfojEauuc9xKUx9",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"9NZEpPcimoPFTA7fAmDMQW",foundationId:"9NZEpPcimoPFTA7fAmDMQW",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["mRLpMEwUpk6b3VqzxYNaep","wCoXQcNBi6mJ5wS4Y6r4VL","oqTZ9Y5zqDf3qpPSoAsnfq","ucyqM28VHCejiYXSBRU74w"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:7.4047851687956925,cy:-5.505166586090663,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9NZEpPcimoPFTA7fAmDMQW",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["kfCkPxHEQXF9CME4mp5rfJ"],rightJoints:["m1iEhgTKYmokoNeBfUn1Zw"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kywCD23ffmYn7n35c65bvN",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["5nYLFT5aCGPe4ESsdg7FAP"],rightJoints:["kywCD23ffmYn7n35c65bvN"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"kfCkPxHEQXF9CME4mp5rfJ",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",wallStructure:"Default",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["kywCD23ffmYn7n35c65bvN"],rightJoints:["5nYLFT5aCGPe4ESsdg7FAP"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"m1iEhgTKYmokoNeBfUn1Zw",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["m1iEhgTKYmokoNeBfUn1Zw"],rightJoints:["kfCkPxHEQXF9CME4mp5rfJ"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,-2.136362005947965],id:"5nYLFT5aCGPe4ESsdg7FAP",parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",opacity:.5,roofId:"uZ3WYfpisjGExUNhqUQ6GJ",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"uZ3WYfpisjGExUNhqUQ6GJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"aU7wo9HzTSBezmB9xaSNVe",foundationId:"aU7wo9HzTSBezmB9xaSNVe",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["kywCD23ffmYn7n35c65bvN","m1iEhgTKYmokoNeBfUn1Zw","5nYLFT5aCGPe4ESsdg7FAP","kfCkPxHEQXF9CME4mp5rfJ"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:25.920932141298064,cy:-12.03335186414666,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,-2.136362005947965],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aU7wo9HzTSBezmB9xaSNVe",selected:!1,locked:!1},{type:"Wall",cx:-.05770761016186121,cy:-2.0545438475941236,cz:2.2408122612280286,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["3Yw9eyhMVgXRzWxARHi4qj"],rightJoints:["gLQjrbahvSyZbT7mE7nLTs"],leftPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"tsTPsXh1D4u1sYk5kevjpw",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:.5758269282626731,cy:-2.6370266614844784,cz:2.2301039869226305,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["eve2xjCEYcENW3bQKBtFbH"],rightJoints:["tsTPsXh1D4u1sYk5kevjpw"],leftPoint:[.5758269282626731,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-2.0545438475941236,.07664429931579812],relativeAngle:1.5707963267948954,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"3Yw9eyhMVgXRzWxARHi4qj",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",wallStructure:"Default",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.6912421485863973,cy:-2.6370266614844784,cz:2.228839888904333,lx:1.1649656277807072,ly:.2,lz:12.024186118737006,leftJoints:["tsTPsXh1D4u1sYk5kevjpw"],rightJoints:["eve2xjCEYcENW3bQKBtFbH"],leftPoint:[-.6912421485863973,-2.0545438475941236,.07664429931579812],rightPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"gLQjrbahvSyZbT7mE7nLTs",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{type:"Wall",cx:-.05770761016186121,cy:-3.2195094753748315,cz:2.268765007024547,lx:1.2670690768490716,ly:.2,lz:12.024186118737006,leftJoints:["gLQjrbahvSyZbT7mE7nLTs"],rightJoints:["3Yw9eyhMVgXRzWxARHi4qj"],leftPoint:[-.6912421485863973,-3.2195094753748315,.07664429931579812],rightPoint:[.5758269282626749,-3.2195094753748315,.07664429931579812],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"eve2xjCEYcENW3bQKBtFbH",parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",opacity:.5,roofId:"t86AYAH7J8wQCFq8cXiLAx",selected:!1,leftRoofHeight:12.024186118737006,rightRoofHeight:12.024186118737006,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12.024186118737006,rightTopPartialHeight:12.024186118737006},{id:"t86AYAH7J8wQCFq8cXiLAx",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"7JsauhgC1ELukuq9oR7WP3",foundationId:"7JsauhgC1ELukuq9oR7WP3",roofType:"Pyramid",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["tsTPsXh1D4u1sYk5kevjpw","gLQjrbahvSyZbT7mE7nLTs","eve2xjCEYcENW3bQKBtFbH","3Yw9eyhMVgXRzWxARHi4qj"],selected:!1,locked:!1,rise:3.274541173757898,ceiling:!1},{type:"Foundation",cx:9.786455764586453,cy:-1.752909502374763,cz:.05,lx:2.222149187675665,ly:7.1332883762479655,lz:.07664429931579812,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7JsauhgC1ELukuq9oR7WP3",selected:!1,locked:!1},{type:"Wall",cx:1.1857370908139018,cy:9.993801958880498,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["7ZPYuSaC3udPdFwLBc9LcF"],rightJoints:["dHQToxKir9k3FNNhxE7P9U"],leftPoint:[21.172548079932447,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],relativeAngle:3.141592653589793,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"bMP8c52yyd4ARJDKPf1aWM",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:-18.80107389830464,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["bMP8c52yyd4ARJDKPf1aWM"],rightJoints:["7MR7F47mpBryE1Ejti6rUy"],leftPoint:[-18.80107389830464,9.993801958880498,.049292848058618284],rightPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"dHQToxKir9k3FNNhxE7P9U",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:1.1857370908139018,cy:-9.904769159488765,cz:0,lx:39.97362197823709,ly:.3,lz:4.929284805861828,leftJoints:["dHQToxKir9k3FNNhxE7P9U"],rightJoints:["7ZPYuSaC3udPdFwLBc9LcF"],leftPoint:[-18.80107389830464,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],relativeAngle:0,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7MR7F47mpBryE1Ejti6rUy",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{type:"Wall",cx:21.172548079932447,cy:.044516399695865516,cz:0,lx:19.89857111836926,ly:.3,lz:4.929284805861828,leftJoints:["7MR7F47mpBryE1Ejti6rUy"],rightJoints:["bMP8c52yyd4ARJDKPf1aWM"],leftPoint:[21.172548079932447,-9.904769159488765,.049292848058618284],rightPoint:[21.172548079932447,9.993801958880498,.049292848058618284],relativeAngle:1.5707963267948966,textureType:"Wall Texture #8",color:"white",normal:[0,0,1],rotation:[0,0,1.0052306476418282],id:"7ZPYuSaC3udPdFwLBc9LcF",parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofId:"vQHPZRPjRtVs3kCxxrFEVN",selected:!1,leftRoofHeight:4.929284805861828,rightRoofHeight:4.929284805861828,centerRoofHeight:[0,8.270872726693463],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.929284805861828,rightTopPartialHeight:4.929284805861828},{id:"vQHPZRPjRtVs3kCxxrFEVN",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture #5",thickness:.05,wallsId:["bMP8c52yyd4ARJDKPf1aWM"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,rise:3.3415879208316355,ceiling:!1},{type:"Foundation",cx:7.4620263843372925,cy:-23.808571879858576,cz:.1,lx:57.05667537827628,ly:36.07153705363366,lz:.2,normal:[0,0,1],rotation:[0,0,1.0052306476418282],parentId:"Ground",color:"#ffffff",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"rmtVJVWrnHvQEaqLr1b9Tf",selected:!1,enableGroupMaster:!0,locked:!1},{type:"Door",cx:.019764130160484145,cy:0,cz:-.35,lx:.3557543428887146,ly:0,lz:.3,textureType:"Door Texture #7",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"5i5aw65ViZQJ6ANMtaYEt3",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3162260825677463,cy:.1,cz:44408920985006264e-33,lx:.1581130412838731,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"gAXs9sJoJF81X2Sdijoe3o",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.35575434288871466,cy:.1,cz:44408920985006264e-33,lx:.15811304128387302,ly:.3,lz:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"agk3V1PDaTw1t7ybFJCTUJ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.019764130160484145,cy:.1,cz:.1625,lx:.3557543428887146,ly:.3,lz:.575,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"4R59jrQvJmq95aQT2Dv649",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"mnCW9Hm1zy48vmk8GxhHip",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:2.25},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dJzbjbMH3V7vVry4QUZJ1h",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVMji7S1iMqS6e5iGevjST",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4xnBXKk3mzEiVTEU1sUo9z",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vGt71VZQKGWWqARuxaBuHk",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nQw98VMPrH5pKkcEzYqYAr",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oDAHJqV8nu3rm8iXJXkjDo",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dQtpLnqk4XU6QXdnZwYZ3y",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fnp6cZDYtVkBgXyRLqoy4k",parentId:"7MR7F47mpBryE1Ejti6rUy",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"taL5VcYj3uWGDL8xr44zFA",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"36eQAALv2V7tE2Nitdg2Z9",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"j19CocmDx5qUxbi12esWTq",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.1438448585702462,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aNTKQXqg4KFQWerkNfvi67",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.21889434999820076,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7wkeWMuadLGRRHvrhXkgXu",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.2939438414261553,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"pP3XvCSY89vtf8Jf82MA2Q",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.36899333285410985,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o5mLe8ag3RmgrS6cYio7c2",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4440428242820644,cy:.1,cz:.05071729669640994,lx:.03752474571397727,ly:.3,lz:.5071729669640999,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"sJP9KeY4DvXEbM21cwfCL6",parentId:"bMP8c52yyd4ARJDKPf1aWM",foundationId:"rmtVJVWrnHvQEaqLr1b9Tf",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"faxjoAqSZje6BEDac2ztM3",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.125,lx:.16,ly:.3,lz:1.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2KQEWZui5HypVTjznRgV1e",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmXEoXgzaz3BcPRdhwTBNF",parentId:"bJ26Y2Ztj2wnvSCwMVZbSj",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jgVVfzMun1U9KUtjVLXpLW",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4,cy:.1,cz:.025,lx:.08,ly:.3,lz:.85,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7LVpvnWs9aYvqrDqGeRFsz",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0040000000000000036,cy:.1,cz:.14500000000000002,lx:.2,ly:.3,lz:1.05,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"kUvJ29KgoC2Mx2n6oquM7i",parentId:"iwUy27fkuqc81ipg2dgQZa",foundationId:"aXmgoxjAJPULF92Dwj9wXo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jade",cx:24.498922181392803,cy:.35278398935384025,cz:.10000000149011613,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,1.0052306476418282],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8oCpJQ69v59EaR16ZevwwH",selected:!1,locked:!1,ly:.48},{type:"Human",name:"Jennifer",cx:24.15853922395012,cy:-4.360566668970516,cz:.10000000149011613,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"23pVVVaYxcEWbusAdT9bp6",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:23.512736665641548,cy:-5.246201365995199,cz:.1000000014901179,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vLrAF4TXaJsxUnvTqvZyhr",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Judd",cx:23.688249777842685,cy:-7.134597873618337,cz:.10000000149011613,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"72RNARnNBupWUTwLyPFi2x",selected:!1,locked:!1,ly:.544},{type:"Flower",name:"Hydrangea",cx:14.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"hxA3iWj7PVq4oxfYivWPDZ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:16.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"em4eb843STnngTiG8Pq4ZG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:18.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xn9oq6YLSQoRDx2Th897Ey",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:20.106133352222937,cy:-12.792118753025974,cz:.1000000014901179,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"n5Xm3uZ3yogruAzMr3ekgG",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:12.711504093322223,cy:12.55312249061943,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vGSyjGNkAKGrDeLZUtMvLb",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:15.040744575677394,cy:12.500852726588041,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xdceQ9SQzswYkrUwEtMzsR",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:17.31542920437773,cy:12.41395471892114,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1diZFF1KGB7XeeLHtoXNtr",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:19.66459729675223,cy:12.4508690521801,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"4Rb2MRXZ3tKBv37PWSvEzQ",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"vhFQBJS6Fh7bkaVvXfo1NR",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"dFZa68UKB2fanAfPxKpSfp",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"u1q3FxnjwFSpD8qDLT3jLw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"i63WTBeMTnSDnxeSuJpFZf",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"xiSxNNSCHQvhBkz8weBtDU",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"1urqV2akP9gK1CshpjMiad",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iBL1h5VnnSJTEgMS6joQZh",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-3.201177116757094,cy:-12.468380206012615,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"rr534i2kNra6AbjGze6tbb",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-17.839350032255844,cy:12.586893239928504,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gbD24xDaa2k33ZoxvEb6oz",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-15.787787005334005,cy:12.526983753449453,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uBAQNvAScFhk39Y9iwCNjY",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-13.758974118534871,cy:12.689520734967552,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kPa2FJR2pvHaWxWxA6FLVw",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-11.91848248954889,cy:12.495637874367116,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"qCbupam4PMgJ8bX3HzPiMM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-9.771115833391356,cy:12.37809450353804,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uMoz3GQoaHbHMecPfBqzkq",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-7.782512420623269,cy:12.558430909387932,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"uKXc9jut6dFoRru4RQMPUM",selected:!1,locked:!1},{type:"Flower",name:"Hydrangea",cx:-5.490189984387705,cy:12.433086575302662,cz:.10000000149011613,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"iWmJ1E8vNxV24C2rg3YseQ",selected:!1,locked:!1,flip:!0},{type:"Flower",name:"Hydrangea",cx:-2.9411297348927254,cy:12.354975599770267,cz:.10000000149014454,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"gTnMje1b6tBrp8YWHbFCqb",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:23.96071696630824,cy:-44.82446487452612,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1WJdNkrobPPSWfLEoaVoK7",selected:!1,locked:!1,flip:!0},{type:"Tree",name:"Magnolia",cx:33.556040711677696,cy:-28.810119661301552,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9PY4aB8JZi8u5zBp4N8KWJ",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-6.440436625289015,cy:-3.053996336525085,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"4GFXCjc87cvCMmXmHyPFgU",selected:!1,locked:!1},{type:"Tree",name:"Magnolia",cx:-11.363079989838765,cy:-10.70167442074012,cz:0,lx:7.42077263012308,lz:11.136257929861511,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"mnYhfWGZdarqEGdoNy3nZY",selected:!1,locked:!1,flip:!0},{type:"Human",name:"Jaye",cx:-9.814032718831394,cy:-16.689844349152544,cz:.10000000149011702,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"2reV16jkVqXG2TtRUqYKXY",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"w43ATGzZw2efL2uLDpm4P8",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2859055631297533,cy:.1,cz:.32499999999999996,lx:.02382546359414619,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"iZNLiBj11xETGpzE6fwM9U",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17869097695609581,cy:.1,cz:.32500000000000007,lx:.02382546359414602,ly:.3,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"9AjuE6mwgTZmX4VvbqAs3y",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.08338912257951141,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"fJi9i8gEPxfpsgBYXywEnj",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07147639078243827,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"925Dk6Ft7JiUDRySfQMrYy",parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17869097695609581,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"a4xwf7BynvydJnSiBM877Z",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2859055631297533,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ozvNDrL6sKDfgo668mHjk9",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.3250000000000002,lx:.02382546359414619,ly:.3,lz:.24999999999999964,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"q6g4rybSU63f4mHggAAJRU",parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.28590556312975324,cy:.1,cz:.32500000000000007,lx:.023825463594146105,ly:.3,lz:.25000000000000017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"2rTqwrtxBDgy6QaZefzNsm",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"puEFSm14QZKVxz67Z67N16",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"bLab7Y2bZ3ran5xf7gqkpy",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3931201493034107,cy:.1,cz:.325,lx:.023825463594146105,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"6BiRTS7hCwUwcWSrYNnhUQ",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.28590556312975324,cy:.1,cz:.325,lx:.023825463594146147,ly:.3,lz:.25,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"eaUtdoPPg5CEenHZ1cZ7yL",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"7unzgHw9BGUs7eL9a5oKXh",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-3510814778537278e-32,cy:.1,cz:.125,lx:.23716956192580982,ly:.3,lz:1.05,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"iLwQ5UBgBL3sonqBcqFoC5",foundationId:"3JxHzzEsV9Da6tuGXPViKy",id:"jbGnjsCChKRb1kQuYrUT5d",opacity:.9,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jocelyn",cx:-19.644729072809923,cy:-15.043092228016992,cz:.10000000149011702,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"mDGKhZ6QHKAjKHhMgj8e9r",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jedi",cx:-21.40281107675301,cy:-11.905580437823337,cz:.10000000149011613,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"kKfw47d3CRnoAajE5xamBN",selected:!1,ly:.56,locked:!1},{type:"Human",name:"Joey",cx:-10.626252329426645,cy:-15.36971947531225,cz:.10000000149011525,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"w9rWjW5nMD7ysqTc51hQsW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Linden",cx:-28.5283374786377,cy:2.5670594706748773,cz:.09215714161556932,lx:12.56599065387215,lz:17.875438659167433,normal:[0,1,0],rotation:[0,0,0],parentId:"rmtVJVWrnHvQEaqLr1b9Tf",id:"8QYb3yiDqtDAebwAsHj1PL",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!0,cx:-1.0744344498561738,cy:-55.986059359035295,cz:0,lx:7.368180679718989,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mxWw8g34JBPawafnUyy3eX",selected:!1,locked:!1},{type:"Tree",name:"Linden",flip:!1,cx:-8.805777739086423,cy:-50.96204115065417,cz:0,lx:9.893561641812246,lz:10.847055184453376,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hfHvh9t2Cet9WXvsjAPh7t",selected:!1,locked:!1},{type:"Window",cx:-1375205378309486e-31,cy:.1,cz:.3652487893589756,lx:.353907110246429,ly:.2,lz:.08765970944615396,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2Ly2StWGBYNwBSYafFGNuR",windowType:"Default",archHeight:1},{type:"Window",cx:-32517565688624697e-32,cy:.1,cz:.36524878935897553,lx:.36611524179571514,ly:.2,lz:.08765970944615402,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"v2e9bxX15mdBzVMafhi23N",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.35390711024642874,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"nRNf4jj3t7m3SLG7DzYeL9",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3652487893589755,lx:.36611524179571453,ly:.2,lz:.08765970944615412,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:.8,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73d8ff",tint:"#009ce0",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"rE6cHpj3a1a3s58XNqPkDx",windowType:"Default",archHeight:1}],cdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.8332121686219,1.6957671677596553,71623250231361926e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[21.8332121686219,1.6956171610724768,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[31.117746115680333,-61.74530628577921,6.635303925622853],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.97473878476758,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#696635",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[8.743444485308892,-20.90776182518235,5.656639637187283],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},udn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ddn=1,fdn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},hdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},pdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},gdn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},mdn=[],ydn={docid:tdn,time:ndn,timestamp:odn,userid:idn,owner:rdn,email:adn,world:ldn,elements:sdn,view:cdn,graphState:udn,evolutionMethod:ddn,solarPanelArrayLayoutParams:fdn,solarPanelArrayLayoutConstraints:hdn,evolutionaryAlgorithmState:pdn,economicsParams:gdn,notes:mdn},Adn="rb7ptdm5a1RqrxS7efVQBm",wdn="05/10/2023 10:24 am",vdn=1683728645588,xdn="QWecNcxhyvP6j6sBN11hBsfZDau1",bdn=null,Sdn=null,Tdn={solarRadiationHeatmapGridCellSize:2,date:"4/22/2022, 4:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Pdn=[{ly:22.123368787949577,solarUpdraftTower:{},parentId:"Ground",cx:31.92543795669036,id:"m7AH7DcnoGzAq9kryBy4RS",cy:2.1656113002014568,type:"Foundation",solarPowerTower:{},lx:21.251959060399457,lz:.5,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.25,textureType:"No Foundation Texture",enableGroupMaster:!1,color:"#999999",locked:!1},{type:"Human",name:"Jack",cx:-2.477311032723648,cy:-35.3224465130531,cz:.300000011920929,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"bxVgnTyTS3rQB9DZjweZGa",selected:!1,ly:.42,locked:!1},{type:"Wall",cx:-4.882174640318183,cy:3.2723372961326387,cz:0,lx:2.2370509461013435,ly:.1,lz:61,relativeAngle:4.301576093475627,leftPoint:[-4.435486222481405,4.29779752999532,.5],rightPoint:[-5.328863058154962,2.2468770622699576,.5],leftJoints:["twZXBhJnLkQAfkhcdZPvcE"],rightJoints:["6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pqrUfkTtDCPWZgLQ2ZZY2x",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-5.328863058154962,cy:.9968770622699568,cz:0,lx:2.5,ly:.1,lz:61,relativeAngle:4.71238898038469,leftPoint:[-5.328863058154962,2.2468770622699568,.5],rightPoint:[-5.328863058154962,-.25312293773004324,.5],leftJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6BBNNShnXYdN4Fo6vrLZgS",roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["o7owRXdGmtoUmGe7aMBfwD"],rightJoints:["pqrUfkTtDCPWZgLQ2ZZY2x"],leftPoint:[-2.935486222481405,5.79779752999532,.5],rightPoint:[-4.435486222481405,4.29779752999532,.5],relativeAngle:3.9269908169872414,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"twZXBhJnLkQAfkhcdZPvcE",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],rightJoints:["twZXBhJnLkQAfkhcdZPvcE"],leftPoint:[-.9354862224814049,6.79779752999532,.5],rightPoint:[-2.935486222481405,5.79779752999532,.5],relativeAngle:3.6052402625905993,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"o7owRXdGmtoUmGe7aMBfwD",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:6.797797529995318,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["9Qfx6trBssgAGuZJMWpoN4"],rightJoints:["o7owRXdGmtoUmGe7aMBfwD"],leftPoint:[1.5645137775185987,6.79779752999532,.5],rightPoint:[-.9354862224814049,6.797797529995316,.5],relativeAngle:3.141592653589795,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7oCL7hfQ9Q5pKtbUKfbhxC",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:6.29779752999532,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["nXkkPMC5GnQsGGo6pXGf1J"],rightJoints:["7oCL7hfQ9Q5pKtbUKfbhxC"],leftPoint:[3.5645137775185987,5.79779752999532,.5],rightPoint:[1.5645137775185987,6.79779752999532,.5],relativeAngle:2.677945044588988,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"9Qfx6trBssgAGuZJMWpoN4",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:5.04779752999532,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ukLTgjquG74WrHxQMTeCGR"],rightJoints:["9Qfx6trBssgAGuZJMWpoN4"],leftPoint:[5.064513777518599,4.29779752999532,.5],rightPoint:[3.5645137775185987,5.79779752999532,.5],relativeAngle:2.356194490192344,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nXkkPMC5GnQsGGo6pXGf1J",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:3.2977975299953197,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],rightJoints:["nXkkPMC5GnQsGGo6pXGf1J"],leftPoint:[6.064513777518599,2.2977975299953197,.5],rightPoint:[5.064513777518599,4.29779752999532,.5],relativeAngle:2.0344439357957036,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ukLTgjquG74WrHxQMTeCGR",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:6.064513777518599,cy:1.0477975299953193,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["1mFHht66LtQmGXw2uwQpTW"],rightJoints:["ukLTgjquG74WrHxQMTeCGR"],leftPoint:[6.064513777518599,-.20220247000468072,.5],rightPoint:[6.064513777518599,2.2977975299953197,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ieCZYgGYnWFZFTUUeDJ4Kc",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-4.882174640318183,cy:-1.2276627038673618,cz:0,lx:2.144069307100406,ly:.1,lz:61,leftJoints:[],rightJoints:["ne25yHm9jCD9Vx7iYW9GUg"],leftPoint:[-5.328863058154958,-.2531229377300428,.5],rightPoint:[-4.435486222481405,-2.2022024700046807,.5],relativeAngle:5.142171914901031,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"rnDe8ZUbiedJjvYKnAx9vs",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.564513777518599,cy:-1.2022024700046807,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],rightJoints:["ieCZYgGYnWFZFTUUeDJ4Kc"],leftPoint:[5.064513777518599,-2.2022024700046807,.5],rightPoint:[6.064513777518599,-.20220247000468072,.5],relativeAngle:1.1071487177940904,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1mFHht66LtQmGXw2uwQpTW",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.314513777518599,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],rightJoints:["1mFHht66LtQmGXw2uwQpTW"],leftPoint:[3.5645137775185987,-3.7022024700046807,.5],rightPoint:[5.064513777518599,-2.2022024700046807,.5],relativeAngle:.7853981633974483,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hDTYb7CsL6KjhaG3K3ZaEb",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.5645137775185987,cy:-4.20220247000468,cz:0,lx:2.23606797749979,ly:.1,lz:61,leftJoints:["2sbTRgNVHvPNpK2pDRUNQN"],rightJoints:["hDTYb7CsL6KjhaG3K3ZaEb"],leftPoint:[1.5645137775185987,-4.70220247000468,.5],rightPoint:[3.5645137775185987,-3.7022024700046807,.5],relativeAngle:.46364760900080615,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ngivbbtv3RRgTjMZ9HM5iJ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:.31451377751859866,cy:-4.70220247000468,cz:0,lx:2.5,ly:.1,lz:61,leftJoints:["7kjEcCQNbaUjRAbeSyBXZx"],rightJoints:["ngivbbtv3RRgTjMZ9HM5iJ"],leftPoint:[-.9354862224814049,-4.70220247000468,.5],rightPoint:[1.5645137775185987,-4.70220247000468,.5],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2sbTRgNVHvPNpK2pDRUNQN",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-1.935486222481405,cy:-4.202202470004682,cz:0,lx:2.2360679774997907,ly:.1,lz:61,leftJoints:["ne25yHm9jCD9Vx7iYW9GUg"],rightJoints:["2sbTRgNVHvPNpK2pDRUNQN"],leftPoint:[-2.935486222481405,-3.7022024700046807,.5],rightPoint:[-.9354862224814049,-4.702202470004682,.5],relativeAngle:5.819537698178779,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7kjEcCQNbaUjRAbeSyBXZx",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-3.685486222481405,cy:-2.9522024700046807,cz:0,lx:2.1213203435596424,ly:.1,lz:61,leftJoints:["rnDe8ZUbiedJjvYKnAx9vs"],rightJoints:["7kjEcCQNbaUjRAbeSyBXZx"],leftPoint:[-4.435486222481405,-2.2022024700046807,.5],rightPoint:[-2.935486222481405,-3.7022024700046807,.5],relativeAngle:5.497787143782138,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ne25yHm9jCD9Vx7iYW9GUg",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,roofId:"6muwd4sKetNydriFdTdYo3",leftRoofHeight:61,rightRoofHeight:61,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:-.316601796041418,cy:-12.89173870425908,cz:2.2408122612280286,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["55SwaH9QxLHmcgrnQzAWTs"],rightJoints:["ho8wYRGhLSJb2djJKqwSe1"],leftPoint:[8.144477100210871,-12.89173870425908],rightPoint:[-8.7776806922937,-12.89173870425908],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rCFFBj6A2tyxuTVf5rPe81",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:8.144477100210871,cy:-21.23052296081884,cz:2.2301039869226305,lx:16.677568513119517,ly:.1,lz:60,leftJoints:["szxkDJ4zvsmCjRAjDwr4oT"],rightJoints:["rCFFBj6A2tyxuTVf5rPe81"],leftPoint:[8.144477100210871,-29.569307217378597],rightPoint:[8.144477100210871,-12.891738704259076],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"55SwaH9QxLHmcgrnQzAWTs",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-8.777680692293703,cy:-21.230522960818842,cz:28.5009781424094,lx:16.67756851311951,ly:.1,lz:60,leftJoints:["rCFFBj6A2tyxuTVf5rPe81"],rightJoints:["szxkDJ4zvsmCjRAjDwr4oT"],leftPoint:[-8.777680692293707,-12.891738704259083],rightPoint:[-8.7776806922937,-29.569307217378597],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ho8wYRGhLSJb2djJKqwSe1",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Wall",cx:-.316601796041418,cy:-29.569307217378597,cz:2.268765007024547,lx:16.92215779250457,ly:.1,lz:60,leftJoints:["ho8wYRGhLSJb2djJKqwSe1"],rightJoints:["55SwaH9QxLHmcgrnQzAWTs"],leftPoint:[-8.7776806922937,-29.569307217378597],rightPoint:[8.144477100210871,-29.569307217378597],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szxkDJ4zvsmCjRAjDwr4oT",parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"j7icsPbRmrKngzuxfnJULB",leftRoofHeight:60,rightRoofHeight:60,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:59.5,rightTopPartialHeight:59.5},{type:"Foundation",cx:32.336232202320254,cy:24.075169100408157,cz:.3,lx:47.66882528133987,ly:92.1673445682163,lz:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d5JiHWyULwssBmiBFfBkPJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["vHsRxkqZrsLbc2Cw1mShNh"],rightJoints:["wC1WzjegFNTFT2ZnHmoM1U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"q4Q62RYECS7ssEQGWwMQaR",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["3apukdsSG9Q7tUtWvyHP14"],rightJoints:["q4Q62RYECS7ssEQGWwMQaR"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vHsRxkqZrsLbc2Cw1mShNh",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["q4Q62RYECS7ssEQGWwMQaR"],rightJoints:["3apukdsSG9Q7tUtWvyHP14"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wC1WzjegFNTFT2ZnHmoM1U",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["wC1WzjegFNTFT2ZnHmoM1U"],rightJoints:["vHsRxkqZrsLbc2Cw1mShNh"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"3apukdsSG9Q7tUtWvyHP14",parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"7wW1vUuiQtQZyEVQ52AYZr",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6Vzmg1uXrJSEjXjuXeqZxb",selected:!1,locked:!1},{type:"Wall",cx:-2.059761729325267,cy:3.0551015103684858,cz:2.2408122612280286,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["vFwZn47p27JhuJCUwo66PB"],rightJoints:["jz5YKDY6NpWFeAzmZZgmMG"],leftPoint:[8.233695358269692,3.0551015103684858,.5],rightPoint:[-12.353218816920226,3.0551015103684858,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eQty63hcTNfqGkZ1bn9pou",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:8.233695358269692,cy:-7.284137744601432,cz:2.2301039869226305,lx:20.678478509939843,ly:.1,lz:40,leftJoints:["tF3vwD5MeKKihs6KSsJULW"],rightJoints:["eQty63hcTNfqGkZ1bn9pou"],leftPoint:[8.233695358269692,-17.623376999571356,.5],rightPoint:[8.233695358269692,3.0551015103684858,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vFwZn47p27JhuJCUwo66PB",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-12.353218816920233,cy:-7.2841377446014395,cz:2.228839888904333,lx:20.678478509939836,ly:.1,lz:40,leftJoints:["eQty63hcTNfqGkZ1bn9pou"],rightJoints:["tF3vwD5MeKKihs6KSsJULW"],leftPoint:[-12.353218816920233,3.0551015103684787,.5],rightPoint:[-12.353218816920226,-17.623376999571356,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jz5YKDY6NpWFeAzmZZgmMG",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Wall",cx:-2.059761729325267,cy:-17.623376999571356,cz:1.780425728663789,lx:20.586914175189918,ly:.1,lz:40,leftJoints:["jz5YKDY6NpWFeAzmZZgmMG"],rightJoints:["vFwZn47p27JhuJCUwo66PB"],leftPoint:[-12.353218816920226,-17.623376999571356,.5],rightPoint:[8.233695358269692,-17.623376999571356,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tF3vwD5MeKKihs6KSsJULW",parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eiNiz47nydELtmQT3Y9tQx",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:39.5,rightTopPartialHeight:39.5},{type:"Foundation",cx:34.184931916240686,cy:9.996162357092924,cz:.25,lx:28.142586741754783,ly:39.057935888273825,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fD1unP99uJ2AUvKzSqaqv1",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["ho8wYRGhLSJb2djJKqwSe1","szxkDJ4zvsmCjRAjDwr4oT","55SwaH9QxLHmcgrnQzAWTs","rCFFBj6A2tyxuTVf5rPe81"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"j7icsPbRmrKngzuxfnJULB",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["tF3vwD5MeKKihs6KSsJULW","vFwZn47p27JhuJCUwo66PB","eQty63hcTNfqGkZ1bn9pou","jz5YKDY6NpWFeAzmZZgmMG"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fD1unP99uJ2AUvKzSqaqv1",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"eiNiz47nydELtmQT3Y9tQx",locked:!1,sideColor:"#8f6767",rise:0,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["rnDe8ZUbiedJjvYKnAx9vs","ne25yHm9jCD9Vx7iYW9GUg","7kjEcCQNbaUjRAbeSyBXZx","2sbTRgNVHvPNpK2pDRUNQN","ngivbbtv3RRgTjMZ9HM5iJ","hDTYb7CsL6KjhaG3K3ZaEb","1mFHht66LtQmGXw2uwQpTW","ieCZYgGYnWFZFTUUeDJ4Kc","ukLTgjquG74WrHxQMTeCGR","nXkkPMC5GnQsGGo6pXGf1J","9Qfx6trBssgAGuZJMWpoN4","7oCL7hfQ9Q5pKtbUKfbhxC","o7owRXdGmtoUmGe7aMBfwD","twZXBhJnLkQAfkhcdZPvcE","pqrUfkTtDCPWZgLQ2ZZY2x","6BBNNShnXYdN4Fo6vrLZgS"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6muwd4sKetNydriFdTdYo3",locked:!1,sideColor:"#8f6767",rise:40.65606181416068,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["vHsRxkqZrsLbc2Cw1mShNh","q4Q62RYECS7ssEQGWwMQaR","wC1WzjegFNTFT2ZnHmoM1U","3apukdsSG9Q7tUtWvyHP14"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6Vzmg1uXrJSEjXjuXeqZxb",foundationId:"6Vzmg1uXrJSEjXjuXeqZxb",id:"7wW1vUuiQtQZyEVQ52AYZr",locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],rightJoints:["iPw21WkbFfNGs2GducHHkL"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ogWsiwSVu2siW9Ju34ZuiD",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["we96ZZsqRukzrDQLzGsXgd"],rightJoints:["ogWsiwSVu2siW9Ju34ZuiD"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"b5Ed9Q8H2ZuAnTPt364rFi",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["ogWsiwSVu2siW9Ju34ZuiD"],rightJoints:["we96ZZsqRukzrDQLzGsXgd"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"iPw21WkbFfNGs2GducHHkL",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["iPw21WkbFfNGs2GducHHkL"],rightJoints:["b5Ed9Q8H2ZuAnTPt364rFi"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"we96ZZsqRukzrDQLzGsXgd",parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"qwYLFbE4ymUU5tBty522Jg",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"qwYLFbE4ymUU5tBty522Jg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"kGDsncg3szoccDkShD216f",foundationId:"kGDsncg3szoccDkShD216f",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["b5Ed9Q8H2ZuAnTPt364rFi","ogWsiwSVu2siW9Ju34ZuiD","iPw21WkbFfNGs2GducHHkL","we96ZZsqRukzrDQLzGsXgd"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kGDsncg3szoccDkShD216f",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],rightJoints:["gqtNTDTyYXafiDYDAD7TP5"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"13XtQDNCzy1wcfpbyh4hjG",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["appL8aespWEHwPfTvg3Tnj"],rightJoints:["13XtQDNCzy1wcfpbyh4hjG"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pGdyGz8Q2yqRKAUSe2WBaZ",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["13XtQDNCzy1wcfpbyh4hjG"],rightJoints:["appL8aespWEHwPfTvg3Tnj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gqtNTDTyYXafiDYDAD7TP5",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["gqtNTDTyYXafiDYDAD7TP5"],rightJoints:["pGdyGz8Q2yqRKAUSe2WBaZ"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"appL8aespWEHwPfTvg3Tnj",parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"unGGRxk8aAPx1RGgoMUHuG",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"unGGRxk8aAPx1RGgoMUHuG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"wVk1Prn3hdhvpUZ9PYFEqC",foundationId:"wVk1Prn3hdhvpUZ9PYFEqC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["pGdyGz8Q2yqRKAUSe2WBaZ","13XtQDNCzy1wcfpbyh4hjG","gqtNTDTyYXafiDYDAD7TP5","appL8aespWEHwPfTvg3Tnj"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"wVk1Prn3hdhvpUZ9PYFEqC",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fBMuUvUm2XHqZj1rfF2pKe"],rightJoints:["fFbhZTcnWojs6r2gfNC8Ac"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iqStzfwWhLGQQWnV7zYbVJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:61,leftJoints:["fSWzmQwwSCpa4XTiCWadFJ"],rightJoints:["iqStzfwWhLGQQWnV7zYbVJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fBMuUvUm2XHqZj1rfF2pKe",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:61,leftJoints:["iqStzfwWhLGQQWnV7zYbVJ"],rightJoints:["fSWzmQwwSCpa4XTiCWadFJ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fFbhZTcnWojs6r2gfNC8Ac",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:61,leftJoints:["fFbhZTcnWojs6r2gfNC8Ac"],rightJoints:["fBMuUvUm2XHqZj1rfF2pKe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fSWzmQwwSCpa4XTiCWadFJ",parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"64chsWYaQ1WXbJzrruvsSA",selected:!1,leftRoofHeight:61,rightRoofHeight:61,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:60.5,rightTopPartialHeight:60.5},{id:"64chsWYaQ1WXbJzrruvsSA",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sTdmJHCeaF7fiC4wxraQvH",foundationId:"sTdmJHCeaF7fiC4wxraQvH",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["fBMuUvUm2XHqZj1rfF2pKe","iqStzfwWhLGQQWnV7zYbVJ","fFbhZTcnWojs6r2gfNC8Ac","fSWzmQwwSCpa4XTiCWadFJ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:7.2788709521325785,ceiling:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sTdmJHCeaF7fiC4wxraQvH",selected:!1,locked:!1},{type:"Foundation",cx:46.44079504193018,cy:-6.9607153899841805,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nBfQ1VbpB9H4ysCzMtCuPy",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["n8WrLFfhmR5MpuvGmKysZG"],rightJoints:["dbVfVNYCWAroMTmBEqYeR4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wq86d5bWa3b2DNCBna4CeP",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["jKVT2MfeRaz2it59upaJsG"],rightJoints:["wq86d5bWa3b2DNCBna4CeP"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"n8WrLFfhmR5MpuvGmKysZG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["wq86d5bWa3b2DNCBna4CeP"],rightJoints:["jKVT2MfeRaz2it59upaJsG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"dbVfVNYCWAroMTmBEqYeR4",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["dbVfVNYCWAroMTmBEqYeR4"],rightJoints:["n8WrLFfhmR5MpuvGmKysZG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"jKVT2MfeRaz2it59upaJsG",parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,selected:!1,roofId:"3cC18p4o27We9TRzUXcjvJ",leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["jKVT2MfeRaz2it59upaJsG","n8WrLFfhmR5MpuvGmKysZG","wq86d5bWa3b2DNCBna4CeP","dbVfVNYCWAroMTmBEqYeR4"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"nBfQ1VbpB9H4ysCzMtCuPy",foundationId:"nBfQ1VbpB9H4ysCzMtCuPy",id:"3cC18p4o27We9TRzUXcjvJ",locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["fGunkFZDLaHCN1Y4VqozG5"],rightJoints:["xgMnQPMYvVygU1qre3rtoQ"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"ic7X4VUc5364fhg7VH2Xt9",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["cVUWnxaNHTTX4XSarmyvut"],rightJoints:["ic7X4VUc5364fhg7VH2Xt9"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fGunkFZDLaHCN1Y4VqozG5",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["ic7X4VUc5364fhg7VH2Xt9"],rightJoints:["cVUWnxaNHTTX4XSarmyvut"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"xgMnQPMYvVygU1qre3rtoQ",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["xgMnQPMYvVygU1qre3rtoQ"],rightJoints:["fGunkFZDLaHCN1Y4VqozG5"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"cVUWnxaNHTTX4XSarmyvut",parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"iaC7gjXpRF8sDNrzMuoLvf",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"iaC7gjXpRF8sDNrzMuoLvf",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"sfGQk2YxLGeUhSygxuNcnp",foundationId:"sfGQk2YxLGeUhSygxuNcnp",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["cVUWnxaNHTTX4XSarmyvut","fGunkFZDLaHCN1Y4VqozG5","ic7X4VUc5364fhg7VH2Xt9","xgMnQPMYvVygU1qre3rtoQ"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:46.31802127561469,cy:12.684398904718867,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sfGQk2YxLGeUhSygxuNcnp",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],rightJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5gcHNbuEXkTtST9vsf3C1N",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["eHHmL4t3wnDWyiwmvPPcdG"],rightJoints:["5gcHNbuEXkTtST9vsf3C1N"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gh1M1f9qhMGoNQ2Sc4Z2Dn",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["5gcHNbuEXkTtST9vsf3C1N"],rightJoints:["eHHmL4t3wnDWyiwmvPPcdG"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pnLNuXyTY2gSJ1DpTuU4uT",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["pnLNuXyTY2gSJ1DpTuU4uT"],rightJoints:["gh1M1f9qhMGoNQ2Sc4Z2Dn"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eHHmL4t3wnDWyiwmvPPcdG",parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"49DYNSJM4mb3Amf9zEcSuy",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"49DYNSJM4mb3Amf9zEcSuy",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"j4PeEevBuviMj9ySaHCvmk",foundationId:"j4PeEevBuviMj9ySaHCvmk",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["eHHmL4t3wnDWyiwmvPPcdG","gh1M1f9qhMGoNQ2Sc4Z2Dn","5gcHNbuEXkTtST9vsf3C1N","pnLNuXyTY2gSJ1DpTuU4uT"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.617416680668534,cy:-7.081676620216011,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"j4PeEevBuviMj9ySaHCvmk",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["8RHz5EYxWVxY6Jt5vozUe7"],rightJoints:["2uW5rRCde8ts2eAbydroXA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qovzxCb6vspTrPrifJg8FE",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:41,leftJoints:["iYVes92EX4HBiJvFdVLp4v"],rightJoints:["qovzxCb6vspTrPrifJg8FE"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8RHz5EYxWVxY6Jt5vozUe7",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:41,leftJoints:["qovzxCb6vspTrPrifJg8FE"],rightJoints:["iYVes92EX4HBiJvFdVLp4v"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uW5rRCde8ts2eAbydroXA",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:41,leftJoints:["2uW5rRCde8ts2eAbydroXA"],rightJoints:["8RHz5EYxWVxY6Jt5vozUe7"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iYVes92EX4HBiJvFdVLp4v",parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"dU22xraE7fkaQeudtQezPj",selected:!1,leftRoofHeight:41,rightRoofHeight:41,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40.5,rightTopPartialHeight:40.5},{id:"dU22xraE7fkaQeudtQezPj",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"6e1LBCH7kdPkaD1nyNXGTx",foundationId:"6e1LBCH7kdPkaD1nyNXGTx",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["iYVes92EX4HBiJvFdVLp4v","8RHz5EYxWVxY6Jt5vozUe7","qovzxCb6vspTrPrifJg8FE","2uW5rRCde8ts2eAbydroXA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:9.911111547438225,ceiling:!1},{type:"Foundation",cx:17.73320615435275,cy:12.716218116632643,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6e1LBCH7kdPkaD1nyNXGTx",selected:!1,locked:!1},{type:"Foundation",cx:31.837120136953352,cy:34.21863076373691,cz:.25,lx:18.498978574883413,ly:60.60688660259319,lz:.2496942045301915,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"inhpub3MTpu4G1VDDvBtem",selected:!1,locked:!1},{type:"Wall",cx:.2345130342804871,cy:27.168552176842663,cz:2.2408122612280286,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["t9LGJeHDCScMaYt1JPTD25"],rightJoints:["8ygPss7hAjTnN2gdGp6ttV"],leftPoint:[8.361967036864586,27.168552176842663,0],rightPoint:[-7.892940968303612,27.168552176842663,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kCsahZfC53mhXpdE7TMKTD",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:8.361967036864586,cy:.8572306983972329,cz:2.2301039869226305,lx:52.62264295689086,ly:.1,lz:19.97553636241532,leftJoints:["rzCwiAsS4K7UKzev4QiQCA"],rightJoints:["kCsahZfC53mhXpdE7TMKTD"],leftPoint:[8.361967036864586,-25.454090780048197,0],rightPoint:[8.361967036864586,27.168552176842663,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t9LGJeHDCScMaYt1JPTD25",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:-7.8929409683036145,cy:.8572306983972151,cz:2.228839888904333,lx:52.62264295689083,ly:.1,lz:19.97553636241532,leftJoints:["kCsahZfC53mhXpdE7TMKTD"],rightJoints:["rzCwiAsS4K7UKzev4QiQCA"],leftPoint:[-7.892940968303616,27.168552176842628,0],rightPoint:[-7.892940968303612,-25.454090780048197,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8ygPss7hAjTnN2gdGp6ttV",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Wall",cx:.2345130342804871,cy:-25.454090780048197,cz:2.268765007024547,lx:16.254908005168197,ly:.1,lz:19.97553636241532,leftJoints:["8ygPss7hAjTnN2gdGp6ttV"],rightJoints:["t9LGJeHDCScMaYt1JPTD25"],leftPoint:[-7.892940968303612,-25.454090780048197,0],rightPoint:[8.361967036864586,-25.454090780048197,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rzCwiAsS4K7UKzev4QiQCA",parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"sygn3Sh4dUutUeoxP6LrDr",selected:!1,leftRoofHeight:19.97553636241532,rightRoofHeight:19.97553636241532,centerRoofHeight:[0,34.46430883284354],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:19.47553636241532,rightTopPartialHeight:19.47553636241532},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Default",wallsId:["t9LGJeHDCScMaYt1JPTD25"],textureType:"No Roof Texture",color:"#8f6767",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"inhpub3MTpu4G1VDDvBtem",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"sygn3Sh4dUutUeoxP6LrDr",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!1,sideColor:"#8f6767",rise:14.488772470428223,ceiling:!1},{type:"Foundation",cx:42.906117156706635,cy:9.533578534694202,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3sLwhEgNEsXYeDRotu6V2t",selected:!1,locked:!1},{type:"Foundation",cx:42.92006579798169,cy:-3.82074241486986,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bJWxUcmXbPhwpSEfhKNUR9",selected:!1,locked:!1},{type:"Foundation",cx:21.16852585877021,cy:-3.78771116486994,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"d25rEMwrJ6RN3MFRjbRPz1",selected:!1,locked:!1},{type:"Foundation",cx:21.217344626106712,cy:9.487929780449239,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cErd2SqgLThpK4vJfhjWqd",selected:!1,locked:!1},{type:"Foundation",cx:46.740795041930184,cy:-3.860715389984191,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vmAPnWwpqkdy6LbCoBx7XJ",selected:!1,locked:!1},{type:"Foundation",cx:46.718021275614696,cy:9.584398904718878,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"igvTSt7WASqgGBPhrg13mS",selected:!1,locked:!1},{type:"Foundation",cx:17.31741668066853,cy:-3.7816766202160212,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35UveCxDtSq3bRxo63iNA8",selected:!1,locked:!1},{type:"Foundation",cx:17.333206154352744,cy:9.516218116632654,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hcQws7c356C61b1Zdukfsh",selected:!1,locked:!1},{type:"Wall",cx:.08759481901403955,cy:.48701542341002635,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["xjtDHvujcFtzK6uxUtDUQW"],rightJoints:["pvCLq35sk3nh5kUAUegEwu"],leftPoint:[.23742845459659656,.8372745712126496,0],rightPoint:[-.06223881656851746,.13675627560740305,0],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"eZcF1TXGmmHdWSo1nGEuPP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.06223881656851746,cy:-.29019732073449356,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["eZcF1TXGmmHdWSo1nGEuPP"],rightJoints:[],leftPoint:[-.06223881656851746,.13675627560740305,0],rightPoint:[-.06223881656851746,-.7171509170763901,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"pvCLq35sk3nh5kUAUegEwu",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:1.0934467290177876,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["1n1zoL6MhaLiDGbiwa1f2P"],rightJoints:["eZcF1TXGmmHdWSo1nGEuPP"],leftPoint:[.7405766097743269,1.3496188868229255,0],rightPoint:[.23742845459659656,.8372745712126496,0],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xjtDHvujcFtzK6uxUtDUQW",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:1.520400325359684,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["mriUigHEL4wunXM4kHrR6L"],rightJoints:["xjtDHvujcFtzK6uxUtDUQW"],leftPoint:[1.4114408166779655,1.6911817638964426,0],rightPoint:[.7405766097743269,1.3496188868229255,0],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"1n1zoL6MhaLiDGbiwa1f2P",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:1.6911817638964426,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["swhHhwagxik9xtVxu4wfTo"],rightJoints:["1n1zoL6MhaLiDGbiwa1f2P"],leftPoint:[2.2500210753075183,1.6911817638964426,0],rightPoint:[1.4114408166779655,1.6911817638964426,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"mriUigHEL4wunXM4kHrR6L",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:1.520400325359684,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["hi3umDHUNXmBT4vcsRpTQy"],rightJoints:["mriUigHEL4wunXM4kHrR6L"],leftPoint:[2.9208852822111573,1.3496188868229255,0],rightPoint:[2.2500210753075183,1.6911817638964426,0],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"swhHhwagxik9xtVxu4wfTo",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:1.0934467290177876,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["dRRWEjS64akBN9tsLF4oVT"],rightJoints:["swhHhwagxik9xtVxu4wfTo"],leftPoint:[3.424033437388887,.8372745712126496,0],rightPoint:[2.9208852822111573,1.3496188868229255,0],relativeAngle:2.347138874989659,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"hi3umDHUNXmBT4vcsRpTQy",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:.4957116941391323,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["uQk2JFg84bBpGZQkpPmwje"],rightJoints:["hi3umDHUNXmBT4vcsRpTQy"],leftPoint:[3.7594655408407065,.15414881706561503,0],rightPoint:[3.424033437388887,.8372745712126496,0],relativeAngle:2.027238521722415,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"dRRWEjS64akBN9tsLF4oVT",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.7594655408407065,cy:-.2728047792762874,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["muL5NfgYyKhfqV3h7fsQsn"],rightJoints:["dRRWEjS64akBN9tsLF4oVT"],leftPoint:[3.7594655408407065,-.6997583756181898,0],rightPoint:[3.7594655408407065,.15414881706561503,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"uQk2JFg84bBpGZQkpPmwje",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.08759481901404094,cy:-1.0500175234208071,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["7EX6pFLmgKqJLtfcWEpofK"],leftPoint:[-.06223881656851469,-.7171509170763901,0],rightPoint:[.23742845459659656,-1.3828841297652243,0],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"5WHTbyH9BzzN64KTDCgoMv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.5917494891147967,cy:-1.041321252691707,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["oikWBJjQhAPNedPGNcE3gc"],rightJoints:["uQk2JFg84bBpGZQkpPmwje"],leftPoint:[3.424033437388887,-1.3828841297652243,0],rightPoint:[3.7594655408407065,-.6997583756181898,0],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"muL5NfgYyKhfqV3h7fsQsn",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:3.172459359800022,cy:-1.6390562875703623,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["i4ifyJQtiXdLMSDpWxEVF4"],rightJoints:["muL5NfgYyKhfqV3h7fsQsn"],leftPoint:[2.9208852822111573,-1.8952284453755002,0],rightPoint:[3.424033437388887,-1.3828841297652243,0],relativeAngle:.7944537786001341,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"oikWBJjQhAPNedPGNcE3gc",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:2.5854531787593378,cy:-2.0660098839122587,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["wop6FQVjsmsgGpEYiRnuWv"],rightJoints:["oikWBJjQhAPNedPGNcE3gc"],leftPoint:[2.2500210753075183,-2.2367913224490175,0],rightPoint:[2.9208852822111573,-1.8952284453755002,0],relativeAngle:.47093174957020895,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"i4ifyJQtiXdLMSDpWxEVF4",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.8307309459927419,cy:-2.2367913224490175,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["xvpmoVyQtt5PQRMqAmpsxP"],rightJoints:["i4ifyJQtiXdLMSDpWxEVF4"],leftPoint:[1.4114408166779655,-2.2367913224490175,0],rightPoint:[2.2500210753075183,-2.2367913224490175,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"wop6FQVjsmsgGpEYiRnuWv",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:1.0760087132261462,cy:-2.0660098839122587,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["7EX6pFLmgKqJLtfcWEpofK"],rightJoints:["wop6FQVjsmsgGpEYiRnuWv"],leftPoint:[.7405766097743269,-1.8952284453755002,0],rightPoint:[1.4114408166779655,-2.2367913224490175,0],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"xvpmoVyQtt5PQRMqAmpsxP",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:.48900253218546175,cy:-1.6390562875703623,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["5WHTbyH9BzzN64KTDCgoMv"],rightJoints:["xvpmoVyQtt5PQRMqAmpsxP"],leftPoint:[.23742845459659656,-1.3828841297652243,0],rightPoint:[.7405766097743269,-1.8952284453755002,0],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7EX6pFLmgKqJLtfcWEpofK",parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofId:"hYevMRVtvGbUbiRqk1nUc8",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,color:"#cccccc",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"hYevMRVtvGbUbiRqk1nUc8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"nzCkjYnVxyaDzHFwCDNifn",foundationId:"nzCkjYnVxyaDzHFwCDNifn",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["5WHTbyH9BzzN64KTDCgoMv","7EX6pFLmgKqJLtfcWEpofK","xvpmoVyQtt5PQRMqAmpsxP","wop6FQVjsmsgGpEYiRnuWv","i4ifyJQtiXdLMSDpWxEVF4","oikWBJjQhAPNedPGNcE3gc","muL5NfgYyKhfqV3h7fsQsn","uQk2JFg84bBpGZQkpPmwje","dRRWEjS64akBN9tsLF4oVT","hi3umDHUNXmBT4vcsRpTQy","swhHhwagxik9xtVxu4wfTo","mriUigHEL4wunXM4kHrR6L","1n1zoL6MhaLiDGbiwa1f2P","xjtDHvujcFtzK6uxUtDUQW","eZcF1TXGmmHdWSo1nGEuPP","pvCLq35sk3nh5kUAUegEwu"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:22.101836585291686,cy:59.66510601397874,cz:.25,lx:10.346352433552571,ly:7.249184290263735,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"nzCkjYnVxyaDzHFwCDNifn",selected:!1,locked:!1},{type:"Wall",cx:.29316921930580264,cy:25.564628992279733,cz:2.2408122612280286,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["s1xEbSBtShW5kWkbmjYKyT"],rightJoints:["kdHDzULPWJfMLCpsjYsWA1"],leftPoint:[10.453454562045218,25.564628992279733,0],rightPoint:[-9.867116123433613,25.564628992279733,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6NAiyB2LDnaumetDroz2SP",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:10.453454562045218,cy:.806623209903595,cz:2.2301039869226305,lx:49.516011564752276,ly:.1,lz:11.54977608077218,leftJoints:["4soX2cVpCLxg8TgMMdUsVJ"],rightJoints:["6NAiyB2LDnaumetDroz2SP"],leftPoint:[10.453454562045218,-23.951382572472543,0],rightPoint:[10.453454562045218,25.564628992279733,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s1xEbSBtShW5kWkbmjYKyT",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:-9.867116123433618,cy:.806623209903579,cz:2.228839888904333,lx:49.51601156475225,ly:.1,lz:11.54977608077218,leftJoints:["6NAiyB2LDnaumetDroz2SP"],rightJoints:["4soX2cVpCLxg8TgMMdUsVJ"],leftPoint:[-9.867116123433622,25.5646289922797,0],rightPoint:[-9.867116123433613,-23.951382572472543,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kdHDzULPWJfMLCpsjYsWA1",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{type:"Wall",cx:.29316921930580264,cy:-23.951382572472543,cz:2.268765007024547,lx:20.32057068547883,ly:.1,lz:11.54977608077218,leftJoints:["kdHDzULPWJfMLCpsjYsWA1"],rightJoints:["s1xEbSBtShW5kWkbmjYKyT"],leftPoint:[-9.867116123433613,-23.951382572472543,0],rightPoint:[10.453454562045218,-23.951382572472543,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4soX2cVpCLxg8TgMMdUsVJ",parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"43U2Bn5NdVK18XM6yHM246",selected:!1,leftRoofHeight:11.54977608077218,rightRoofHeight:11.54977608077218,centerRoofHeight:[0,17.846156119433356],locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.04977608077218,rightTopPartialHeight:11.04977608077218},{id:"43U2Bn5NdVK18XM6yHM246",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tRJdenhEy35bKxtqwaV7mW",foundationId:"tRJdenhEy35bKxtqwaV7mW",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["s1xEbSBtShW5kWkbmjYKyT"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,locked:!1,sideColor:"#8f6767",rise:6.296380038661177,ceiling:!1},{type:"Foundation",cx:31.800913861014813,cy:36.46175047854304,cz:.25,lx:23.12592612769986,ly:57.028897244406764,lz:.14437220100965228,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tRJdenhEy35bKxtqwaV7mW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rY4g4se9c9Ac81ycfZ2psF"],rightJoints:["edLYKiK67rcWj7yEjSg5Gw"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"m2HcdaunRK2mJDqZ6u7zB2",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["hnGSq9jjoBBqypZ4j6i4tD"],rightJoints:["m2HcdaunRK2mJDqZ6u7zB2"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rY4g4se9c9Ac81ycfZ2psF",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["m2HcdaunRK2mJDqZ6u7zB2"],rightJoints:["hnGSq9jjoBBqypZ4j6i4tD"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edLYKiK67rcWj7yEjSg5Gw",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["edLYKiK67rcWj7yEjSg5Gw"],rightJoints:["rY4g4se9c9Ac81ycfZ2psF"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hnGSq9jjoBBqypZ4j6i4tD",parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"b6WgrEhvmm5vBfQ5hvUoV7",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"b6WgrEhvmm5vBfQ5hvUoV7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4eW2GX1ScRsXHpNggfMAh6",foundationId:"4eW2GX1ScRsXHpNggfMAh6",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["hnGSq9jjoBBqypZ4j6i4tD","rY4g4se9c9Ac81ycfZ2psF","m2HcdaunRK2mJDqZ6u7zB2","edLYKiK67rcWj7yEjSg5Gw"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.0572589693394,cy:29.64082269160803,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4eW2GX1ScRsXHpNggfMAh6",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],rightJoints:["qCdtrWKEz7G85zz6r7u1bg"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4SRnxg5YyewBKp25hu7pX6",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["o3YcepgLVkYe1C12rYuUcN"],rightJoints:["4SRnxg5YyewBKp25hu7pX6"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iDdbvKHdvp7bwG9TRH7Z1s",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["4SRnxg5YyewBKp25hu7pX6"],rightJoints:["o3YcepgLVkYe1C12rYuUcN"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qCdtrWKEz7G85zz6r7u1bg",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["qCdtrWKEz7G85zz6r7u1bg"],rightJoints:["iDdbvKHdvp7bwG9TRH7Z1s"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"o3YcepgLVkYe1C12rYuUcN",parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"w76LBs2JwDTGkqjmZCF8cs",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"w76LBs2JwDTGkqjmZCF8cs",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"4grymoAeE1wyKWf6d9SvGL",foundationId:"4grymoAeE1wyKWf6d9SvGL",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["o3YcepgLVkYe1C12rYuUcN","iDdbvKHdvp7bwG9TRH7Z1s","4SRnxg5YyewBKp25hu7pX6","qCdtrWKEz7G85zz6r7u1bg"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:21.776349007392366,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4grymoAeE1wyKWf6d9SvGL",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pqDxrgVJyRAZkmJDZW8KxP"],rightJoints:["5YtUmRWQdNuxWqery1ymqA"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wgaVoeaxZnDaQiMJmkWwKa",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["osM7biMJmfhnN53neDAWtn"],rightJoints:["wgaVoeaxZnDaQiMJmkWwKa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pqDxrgVJyRAZkmJDZW8KxP",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["wgaVoeaxZnDaQiMJmkWwKa"],rightJoints:["osM7biMJmfhnN53neDAWtn"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"5YtUmRWQdNuxWqery1ymqA",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["5YtUmRWQdNuxWqery1ymqA"],rightJoints:["pqDxrgVJyRAZkmJDZW8KxP"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"osM7biMJmfhnN53neDAWtn",parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"ccBdYpfsEntnyimCgAGbFH",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"ccBdYpfsEntnyimCgAGbFH",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"qEkR58t9MVxKb9UtTzLoRJ",foundationId:"qEkR58t9MVxKb9UtTzLoRJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["osM7biMJmfhnN53neDAWtn","pqDxrgVJyRAZkmJDZW8KxP","wgaVoeaxZnDaQiMJmkWwKa","5YtUmRWQdNuxWqery1ymqA"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:38.27619910075263,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEkR58t9MVxKb9UtTzLoRJ",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aWFGP4t67ffRZBsCFNikXA"],rightJoints:["2uYJDU198peC8Tg5ojQxP4"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iWxYLc7ffDzpRdJiYsnbXJ",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],rightJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aWFGP4t67ffRZBsCFNikXA",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["iWxYLc7ffDzpRdJiYsnbXJ"],rightJoints:["1Q3HJwHJv2PVY4SzR42Cjo"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2uYJDU198peC8Tg5ojQxP4",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["2uYJDU198peC8Tg5ojQxP4"],rightJoints:["aWFGP4t67ffRZBsCFNikXA"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1Q3HJwHJv2PVY4SzR42Cjo",parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"eQ7btevxK7r8DzoyTEdTxn",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"eQ7btevxK7r8DzoyTEdTxn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"61X5NKPMEEPTLmE48XtBWW",foundationId:"61X5NKPMEEPTLmE48XtBWW",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["1Q3HJwHJv2PVY4SzR42Cjo","aWFGP4t67ffRZBsCFNikXA","iWxYLc7ffDzpRdJiYsnbXJ","2uYJDU198peC8Tg5ojQxP4"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.12041686407624,cy:46.27619910075262,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"61X5NKPMEEPTLmE48XtBWW",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["fY4i2vP6PHczLiFYJKL6Wv"],rightJoints:["idjrGY3KVjR98yX9Yu1Ra6"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eMNaM3G63snsMKbM8u6oYY",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["amBCThLtBnL1J1PMrwDbZv"],rightJoints:["eMNaM3G63snsMKbM8u6oYY"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fY4i2vP6PHczLiFYJKL6Wv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["eMNaM3G63snsMKbM8u6oYY"],rightJoints:["amBCThLtBnL1J1PMrwDbZv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"idjrGY3KVjR98yX9Yu1Ra6",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["idjrGY3KVjR98yX9Yu1Ra6"],rightJoints:["fY4i2vP6PHczLiFYJKL6Wv"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"amBCThLtBnL1J1PMrwDbZv",parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"tuJvTy5gsauq5Hd2q2TrvG",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"tuJvTy5gsauq5Hd2q2TrvG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"gJWB97wg6zgCYzFdGJY5ps",foundationId:"gJWB97wg6zgCYzFdGJY5ps",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["amBCThLtBnL1J1PMrwDbZv","fY4i2vP6PHczLiFYJKL6Wv","eMNaM3G63snsMKbM8u6oYY","idjrGY3KVjR98yX9Yu1Ra6"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.070416864076236,cy:54.22634900740702,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gJWB97wg6zgCYzFdGJY5ps",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["6pg1zB89qcq9dmq7s1ptPG"],rightJoints:["q4CuysQYWEW74wVhnGoz38"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vbW8e5Fx8RtgYAGG2GpRxh",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["27GGc5fv8LG1vuW4Uncogs"],rightJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6pg1zB89qcq9dmq7s1ptPG",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["vbW8e5Fx8RtgYAGG2GpRxh"],rightJoints:["27GGc5fv8LG1vuW4Uncogs"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"q4CuysQYWEW74wVhnGoz38",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["q4CuysQYWEW74wVhnGoz38"],rightJoints:["6pg1zB89qcq9dmq7s1ptPG"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"27GGc5fv8LG1vuW4Uncogs",parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"vKsXGsPSDc5jtGNVG5pT4h",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"vKsXGsPSDc5jtGNVG5pT4h",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"amG9BsG4REBbTJiqZddZRf",foundationId:"amG9BsG4REBbTJiqZddZRf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["27GGc5fv8LG1vuW4Uncogs","6pg1zB89qcq9dmq7s1ptPG","vbW8e5Fx8RtgYAGG2GpRxh","q4CuysQYWEW74wVhnGoz38"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:48.02516540226579,cy:13.71724930866217,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"amG9BsG4REBbTJiqZddZRf",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["pNFepfvePvMvRyTFP4sbzs"],rightJoints:["kf6UY9oxBvAS9oizmQi2UF"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"49srqvHCqp7LPpHj4YFmnX",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["qjgvxRHbZgjaPsgRgW2rKY"],rightJoints:["49srqvHCqp7LPpHj4YFmnX"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pNFepfvePvMvRyTFP4sbzs",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["49srqvHCqp7LPpHj4YFmnX"],rightJoints:["qjgvxRHbZgjaPsgRgW2rKY"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kf6UY9oxBvAS9oizmQi2UF",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["kf6UY9oxBvAS9oizmQi2UF"],rightJoints:["pNFepfvePvMvRyTFP4sbzs"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qjgvxRHbZgjaPsgRgW2rKY",parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"585fnALdAC34mNZDfmGzpR",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"585fnALdAC34mNZDfmGzpR",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"ijj9XtQP41yWeKSFtsH9KG",foundationId:"ijj9XtQP41yWeKSFtsH9KG",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["qjgvxRHbZgjaPsgRgW2rKY","pNFepfvePvMvRyTFP4sbzs","49srqvHCqp7LPpHj4YFmnX","kf6UY9oxBvAS9oizmQi2UF"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.108670143366425,cy:21.75623548237505,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ijj9XtQP41yWeKSFtsH9KG",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["4FTkcMtCn8GmJne1UmBSnm"],rightJoints:["1fYMNpakzjWFH4TGNYecnG"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1P5iFtakfLrTXAgXy2xEwu",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["8SkMwYmnPtJVtGW2vvZau2"],rightJoints:["1P5iFtakfLrTXAgXy2xEwu"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4FTkcMtCn8GmJne1UmBSnm",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["1P5iFtakfLrTXAgXy2xEwu"],rightJoints:["8SkMwYmnPtJVtGW2vvZau2"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"1fYMNpakzjWFH4TGNYecnG",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["1fYMNpakzjWFH4TGNYecnG"],rightJoints:["4FTkcMtCn8GmJne1UmBSnm"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8SkMwYmnPtJVtGW2vvZau2",parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"5jHjwRti8g6gjQYwYNaqMu",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"5jHjwRti8g6gjQYwYNaqMu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"tsSkKMSbzvsCzXJnVjuqkh",foundationId:"tsSkKMSbzvsCzXJnVjuqkh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["8SkMwYmnPtJVtGW2vvZau2","4FTkcMtCn8GmJne1UmBSnm","1P5iFtakfLrTXAgXy2xEwu","1fYMNpakzjWFH4TGNYecnG"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06868414507791,cy:13.792917787121219,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tsSkKMSbzvsCzXJnVjuqkh",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["eKwrTnqzoru7h1ejKJfQMg"],rightJoints:["aepE6idhiAJ636esCgz28B"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"sduDhLeTnLnC5gSRR1knQa",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["rD8sjfgNgEk8eR9fGvg7qv"],rightJoints:["sduDhLeTnLnC5gSRR1knQa"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eKwrTnqzoru7h1ejKJfQMg",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["sduDhLeTnLnC5gSRR1knQa"],rightJoints:["rD8sjfgNgEk8eR9fGvg7qv"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aepE6idhiAJ636esCgz28B",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["aepE6idhiAJ636esCgz28B"],rightJoints:["eKwrTnqzoru7h1ejKJfQMg"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rD8sjfgNgEk8eR9fGvg7qv",parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"gdKEp1z3y4ryc7dvjnUqEa",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"gdKEp1z3y4ryc7dvjnUqEa",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"c5x1qZw1vbVMAajuz84fbo",foundationId:"c5x1qZw1vbVMAajuz84fbo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["rD8sjfgNgEk8eR9fGvg7qv","eKwrTnqzoru7h1ejKJfQMg","sduDhLeTnLnC5gSRR1knQa","aepE6idhiAJ636esCgz28B"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.029331020077915,cy:30.2047466933794,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"c5x1qZw1vbVMAajuz84fbo",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rmuH4rirvchW582N8rYFag"],rightJoints:["uW9vVgQVERMAHeNEoWkYEh"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uUKBr4jcQhby6GvNzKqUHH",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["wbwhMTBcYQcbgteFUcRUx7"],rightJoints:["uUKBr4jcQhby6GvNzKqUHH"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rmuH4rirvchW582N8rYFag",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["uUKBr4jcQhby6GvNzKqUHH"],rightJoints:["wbwhMTBcYQcbgteFUcRUx7"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"uW9vVgQVERMAHeNEoWkYEh",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["uW9vVgQVERMAHeNEoWkYEh"],rightJoints:["rmuH4rirvchW582N8rYFag"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wbwhMTBcYQcbgteFUcRUx7",parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"rTW8jYbcN9iKLUvtZVEcCq",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"rTW8jYbcN9iKLUvtZVEcCq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"8naBHyvVijZuabFdbTKFpX",foundationId:"8naBHyvVijZuabFdbTKFpX",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["wbwhMTBcYQcbgteFUcRUx7","rmuH4rirvchW582N8rYFag","uUKBr4jcQhby6GvNzKqUHH","uW9vVgQVERMAHeNEoWkYEh"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.063453741288843,cy:38.34103797920378,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"8naBHyvVijZuabFdbTKFpX",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["ash2NaiDiFh6y8HJuTzbUe"],rightJoints:["rQ2xEkb62W6Hz14LruJt4U"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ui6xC8viC2GKhF7W4v6W1c",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],rightJoints:["ui6xC8viC2GKhF7W4v6W1c"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ash2NaiDiFh6y8HJuTzbUe",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["ui6xC8viC2GKhF7W4v6W1c"],rightJoints:["4a5mwkpfWp9Ti3rrftjFDZ"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rQ2xEkb62W6Hz14LruJt4U",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["rQ2xEkb62W6Hz14LruJt4U"],rightJoints:["ash2NaiDiFh6y8HJuTzbUe"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4a5mwkpfWp9Ti3rrftjFDZ",parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"aSwgfRaBWT4x8pjZRpNseg",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"aSwgfRaBWT4x8pjZRpNseg",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"pea8XwQNq3CzMWjVuAMDFt",foundationId:"pea8XwQNq3CzMWjVuAMDFt",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["4a5mwkpfWp9Ti3rrftjFDZ","ash2NaiDiFh6y8HJuTzbUe","ui6xC8viC2GKhF7W4v6W1c","rQ2xEkb62W6Hz14LruJt4U"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.082728428788844,cy:46.363924541707796,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"pea8XwQNq3CzMWjVuAMDFt",selected:!1,locked:!1},{type:"Wall",cx:4.231115688397861,cy:1.4333132304343623,cz:2.2408122612280286,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["9KWwq22ziFFGjGozMGZDJy"],rightJoints:["axJwDxU9qufHCzbi6cJjRE"],leftPoint:[5.697379306766306,1.4333132304343623,.5],rightPoint:[2.7648520700294164,1.4333132304343623,.5],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2xmth77a7rM6NqB4LYTVg3",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:5.697379306766306,cy:.014860193091425167,cz:2.2301039869226305,lx:2.836906074685875,ly:.1,lz:14,leftJoints:["47gofCM28sUzgssGChu6rj"],rightJoints:["2xmth77a7rM6NqB4LYTVg3"],leftPoint:[5.697379306766306,-1.4035928442515129,.5],rightPoint:[5.697379306766306,1.4333132304343623,.5],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9KWwq22ziFFGjGozMGZDJy",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:2.7648520700294164,cy:.014860193091424279,cz:2.228839888904333,lx:2.8369060746858734,ly:.1,lz:14,leftJoints:["2xmth77a7rM6NqB4LYTVg3"],rightJoints:["47gofCM28sUzgssGChu6rj"],leftPoint:[2.7648520700294164,1.4333132304343614,.5],rightPoint:[2.7648520700294164,-1.4035928442515129,.5],relativeAngle:-1.5707963267948961,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"axJwDxU9qufHCzbi6cJjRE",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{type:"Wall",cx:4.231115688397861,cy:-1.4035928442515129,cz:2.268765007024547,lx:2.93252723673689,ly:.1,lz:14,leftJoints:["axJwDxU9qufHCzbi6cJjRE"],rightJoints:["9KWwq22ziFFGjGozMGZDJy"],leftPoint:[2.7648520700294164,-1.4035928442515129,.5],rightPoint:[5.697379306766306,-1.4035928442515129,.5],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"47gofCM28sUzgssGChu6rj",parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",wallStructure:"Default",studSpacing:100,studColor:"#666666",opacity:0,roofId:"wmVcJCTPwpivZkJBd9PRUz",selected:!1,leftRoofHeight:14,rightRoofHeight:14,locked:!1,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13.5,rightTopPartialHeight:13.5},{id:"wmVcJCTPwpivZkJBd9PRUz",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"3FFY4h4Y53Ud4TwY2XAm3b",foundationId:"3FFY4h4Y53Ud4TwY2XAm3b",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["47gofCM28sUzgssGChu6rj","9KWwq22ziFFGjGozMGZDJy","2xmth77a7rM6NqB4LYTVg3","axJwDxU9qufHCzbi6cJjRE"],selected:!1,locked:!1,sideColor:"#8f6767",rise:3.7559133706467165,ceiling:!1},{type:"Foundation",cx:16.06830096335861,cy:54.39520622164741,cz:.25,lx:11.586920121577,ly:4.513937500002255,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3FFY4h4Y53Ud4TwY2XAm3b",selected:!1,locked:!1},{type:"Wall",cx:-4.287405180985958,cy:.6870154234100241,cz:0,lx:.7619228017884919,ly:.1,lz:30.522600729435336,leftJoints:["eyhcnsCSVemrG9SDzg4nJ2"],rightJoints:["bHsvKPqQBPZPeMWXAxFnQa"],leftPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],rightPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],relativeAngle:-1.9750187634646525,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aU3ZWFitC4Fgrww9n7FaQe",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.437238816568516,cy:-.0901973207344966,cz:0,lx:.8539071926837931,ly:.1,lz:30.522600729435336,leftJoints:["aU3ZWFitC4Fgrww9n7FaQe"],rightJoints:[],leftPoint:[-4.437238816568516,.3367562756073994,.25018525188061747],rightPoint:[-4.437238816568516,-.5171509170763926,.25018525188061747],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bHsvKPqQBPZPeMWXAxFnQa",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:1.2934467290177807,cz:0,lx:.7180910553661809,ly:.1,lz:30.522600729435336,leftJoints:["xcRtMosaXc2kjoRaazGNSd"],rightJoints:["aU3ZWFitC4Fgrww9n7FaQe"],leftPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],rightPoint:[-4.137571545403402,1.0372745712126488,.25018525188061747],relativeAngle:-2.3471388749896596,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eyhcnsCSVemrG9SDzg4nJ2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:1.7204003253596767,cz:0,lx:.7528107219608302,ly:.1,lz:30.522600729435336,leftJoints:["fsM3HFbdwGctcxehK1sWSn"],rightJoints:["eyhcnsCSVemrG9SDzg4nJ2"],leftPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],rightPoint:[-3.6344233902256713,1.5496188868229197,.25018525188061747],relativeAngle:-2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xcRtMosaXc2kjoRaazGNSd",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:1.8911817638964408,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["6XgmyJyqgEv5ifchExpE81"],rightJoints:["xcRtMosaXc2kjoRaazGNSd"],leftPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],rightPoint:[-2.9635591833220327,1.8911817638964408,.25018525188061747],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fsM3HFbdwGctcxehK1sWSn",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:1.7204003253596767,cz:0,lx:.7528107219608307,ly:.1,lz:30.522600729435336,leftJoints:["fYWGXixdnmhXJQ9obJmEx4"],rightJoints:["fsM3HFbdwGctcxehK1sWSn"],leftPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],rightPoint:[-2.12497892469248,1.8911817638964408,.25018525188061747],relativeAngle:2.6706609040195843,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6XgmyJyqgEv5ifchExpE81",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:1.2934467290177807,cz:0,lx:.7180910553661805,ly:.1,lz:30.522600729435336,leftJoints:["4GwFXBtR54ZnyGA71jYYZc"],rightJoints:["6XgmyJyqgEv5ifchExpE81"],leftPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],rightPoint:[-1.454114717788841,1.5496188868229197,.25018525188061747],relativeAngle:2.347138874989659,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"fYWGXixdnmhXJQ9obJmEx4",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:.6957116941391277,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["eBehuFBXFQvHTyVLAdaGdf"],rightJoints:["fYWGXixdnmhXJQ9obJmEx4"],leftPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],rightPoint:[-.9509665626111112,1.0372745712126488,.25018525188061747],relativeAngle:2.027238521722415,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4GwFXBtR54ZnyGA71jYYZc",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.6155344591592917,cy:-.07280477927628937,cz:0,lx:.8539071926838048,ly:.1,lz:30.522600729435336,leftJoints:["d7o4BGzTN8VdkyE1cWq7ia"],rightJoints:["4GwFXBtR54ZnyGA71jYYZc"],leftPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],rightPoint:[-.6155344591592917,.35414881706561374,.25018525188061747],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"eBehuFBXFQvHTyVLAdaGdf",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-4.2874051809859575,cy:-.85001752342081,cz:0,lx:.7300693007410605,ly:.1,lz:30.522600729435336,leftJoints:[],rightJoints:["71Xv23m81dcuvYBk8UDpg2"],leftPoint:[-4.437238816568513,-.5171509170763926,.25018525188061747],rightPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],relativeAngle:-1.147833323399613,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xewwKY8wmraW5H3W8KA3XV",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-.7832505108852015,cy:-.8413212526917135,cz:0,lx:.7610358020520893,ly:.1,lz:30.522600729435336,leftJoints:["gKowPySkxP5QDpYS45Ky87"],rightJoints:["eBehuFBXFQvHTyVLAdaGdf"],leftPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],rightPoint:[-.6155344591592917,-.4997583756181925,.25018525188061747],relativeAngle:1.1143541318673784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"d7o4BGzTN8VdkyE1cWq7ia",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.202540640199976,cy:-1.4390562875703665,cz:0,lx:.7180910553661803,ly:.1,lz:30.522600729435336,leftJoints:["w2pokb3YWg3yZ7YCCbdX1w"],rightJoints:["d7o4BGzTN8VdkyE1cWq7ia"],leftPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],rightPoint:[-.9509665626111112,-1.1828841297652275,.25018525188061747],relativeAngle:.7944537786001341,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"gKowPySkxP5QDpYS45Ky87",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-1.7895468212406604,cy:-1.8660098839122625,cz:0,lx:.7528107219608308,ly:.1,lz:30.522600729435336,leftJoints:["6uEEWTZCV76LChiCEwjXou"],rightJoints:["gKowPySkxP5QDpYS45Ky87"],leftPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],rightPoint:[-1.454114717788841,-1.6952284453755055,.25018525188061747],relativeAngle:.47093174957020895,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"w2pokb3YWg3yZ7YCCbdX1w",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-2.5442690540072563,cy:-2.0367913224490195,cz:0,lx:.8385802586295528,ly:.1,lz:30.522600729435336,leftJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],rightJoints:["w2pokb3YWg3yZ7YCCbdX1w"],leftPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],rightPoint:[-2.12497892469248,-2.0367913224490195,.25018525188061747],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"6uEEWTZCV76LChiCEwjXou",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.298991286773852,cy:-1.8660098839122625,cz:0,lx:.7528107219608304,ly:.1,lz:30.522600729435336,leftJoints:["71Xv23m81dcuvYBk8UDpg2"],rightJoints:["6uEEWTZCV76LChiCEwjXou"],leftPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],rightPoint:[-2.9635591833220327,-2.0367913224490195,.25018525188061747],relativeAngle:-.4709317495702092,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"t5GH8Xd8h7kQ1uXXK7nK76",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{type:"Wall",cx:-3.8859974678145366,cy:-1.4390562875703665,cz:0,lx:.7180910553661808,ly:.1,lz:30.522600729435336,leftJoints:["xewwKY8wmraW5H3W8KA3XV"],rightJoints:["t5GH8Xd8h7kQ1uXXK7nK76"],leftPoint:[-4.137571545403402,-1.1828841297652275,.25018525188061747],rightPoint:[-3.6344233902256713,-1.6952284453755055,.25018525188061747],relativeAngle:-.7944537786001334,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"71Xv23m81dcuvYBk8UDpg2",parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofId:"fvYFb2pAnenzxFGy1hd1nC",selected:!1,leftRoofHeight:30.522600729435336,rightRoofHeight:30.522600729435336,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.022600729435336,rightTopPartialHeight:30.022600729435336},{id:"fvYFb2pAnenzxFGy1hd1nC",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8f6767",normal:[0,0,1],rotation:[0,0,0],parentId:"h1eHzifF9EYnFRDPhVNFMh",foundationId:"h1eHzifF9EYnFRDPhVNFMh",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["xewwKY8wmraW5H3W8KA3XV","71Xv23m81dcuvYBk8UDpg2","t5GH8Xd8h7kQ1uXXK7nK76","6uEEWTZCV76LChiCEwjXou","w2pokb3YWg3yZ7YCCbdX1w","gKowPySkxP5QDpYS45Ky87","d7o4BGzTN8VdkyE1cWq7ia","eBehuFBXFQvHTyVLAdaGdf","4GwFXBtR54ZnyGA71jYYZc","fYWGXixdnmhXJQ9obJmEx4","6XgmyJyqgEv5ifchExpE81","fsM3HFbdwGctcxehK1sWSn","xcRtMosaXc2kjoRaazGNSd","eyhcnsCSVemrG9SDzg4nJ2","aU3ZWFitC4Fgrww9n7FaQe","bHsvKPqQBPZPeMWXAxFnQa"],selected:!1,locked:!1,sideColor:"#8f6767",rise:20.34309413089949,ceiling:!1},{type:"Foundation",cx:42.75366036851538,cy:59.539698159110614,cz:.25,lx:10.249999999999995,ly:6.800000000000001,lz:.25018525188061747,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#999999",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h1eHzifF9EYnFRDPhVNFMh",selected:!1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.8009797439083822,lx:.12303976124405665,ly:.3,lz:.500612339942739,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"kCsahZfC53mhXpdE7TMKTD",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"n1xfWKYM49Ta9i1jvUnSdx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3030361779763614,lx:.14763364899706352,ly:.3,lz:1.1255629467693422,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"t1uT7pQu9MoDXHdkcvNfZV",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",id:"oHgCutzcC6esppUpaCZhxo",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-3.1586003174219464,cy:42.50138216080711,cz:.300000011920929,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"gGGvteApaSqA4rn3D5Jbp6",selected:!1,locked:!1,ly:.55},{type:"Window",cx:-.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qRAtVr3qjJXnPZvCynZgyN",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20914766941250665,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"k25WWUL3hGYFBBRg8XmfZg",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3813869265757474,cy:.1,cz:.10822720642012906,lx:.07381682449853176,ly:.3,lz:.7359450036568776,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"xpvMVVPvYfJtfXdZGuJKJ7",parentId:"6NAiyB2LDnaumetDroz2SP",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3420580759264758,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",id:"9MktNmqdZdUjgUT3J7mmKP",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.1805306511834178,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"5VB6B3ApC4i4eK9yQ41MtE",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.019003226440359768,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"wzeRPHbDL7fX7eVg8JovP1",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.15202581152287814,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gajXEi8SYukHS1ccyswRmf",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3135532362659362,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"8XYd7CxYiMzmhMgtNcF9hb",parentId:"t9LGJeHDCScMaYt1JPTD25",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.30405162304575645,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"iXrcQAXko5wJpsX8sJ8oxo",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.14252419830269836,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"dP8bg5cpSmNTjTSvLF6GmF",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.028504839660539658,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"nEjY9Gpj1vzDHW816Q21tM",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.17102903796323798,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"gFdP6DrScRCmNaddZ5LxW9",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.34205807592647597,cy:.1,cz:.3754592549570542,lx:.038006452880719535,ly:.3,lz:.15018370198282166,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qYRq9Vy4HqB8CxTJbdKN9R",parentId:"8ygPss7hAjTnN2gdGp6ttV",foundationId:"inhpub3MTpu4G1VDDvBtem",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.40390975298658544,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7Lt4nrPUnVMu764fCtZmnY",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:15.537054538671264,cy:-5.629500472027733,cz:.30000001192093256,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"8dBf5N1hG2GfhtqSBisTkY",selected:!1,locked:!1,ly:.65},{type:"Window",cx:-.23224810796728662,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j9LyHn7BbYyr1sVT3bpcdF",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.07068420677265246,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"f2jDtPu32L3psHVPyQZste",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.10097743824664636,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ojDrT4TtdCUuT741f3Cvkd",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26254133944128055,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"r25WWueVXf7KAQQ6LVAkkh",parentId:"s1xEbSBtShW5kWkbmjYKyT",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.26254133944128066,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"881QknQ9aYiDKonXA8GnKw",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.10097743824664644,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"6AJhEo3V3och7gTNYqoNM9",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.06058646294798784,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fL6TEjx55ZJKxKH9q12vGC",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23224810796728676,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"51kmNRrRmSEhwTtk8tqNeL",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.40390975298658566,cy:.1,cz:-.021645441284025815,lx:.040390975298658545,ly:.3,lz:.8225267687929809,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"fXSwM2zT4Nfs9fKB83zeeM",parentId:"kdHDzULPWJfMLCpsjYsWA1",foundationId:"tRJdenhEy35bKxtqwaV7mW",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"mrwfYRsQYZsxgg3XbWQ1C9",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"bbxD9VsSepsiYkXX43SgSR",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.3157345459686911,cy:.1,cz:.1625,lx:.09714909106728957,ly:.3,lz:.65,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"7a1XMVdYNgeWFuGynLbyj6",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Door",cx:.024287272766822392,cy:0,cz:-.45,lx:.24287272766822393,ly:0,lz:.1,textureType:"Door Texture #5",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"bWWJD1gFk9dmFyj6UtBgyw",locked:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.3157345459686911,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"4S2resCtMssVYmHmddP2zN",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-539285788621555e-32,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"sBu7pLatsE56Y6wmZEVsrW",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"pKcG4z62TKd9yDYm6HvFre",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.17001090936775676,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"94jWNmV88zyuJzH2jKEhjS",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.31573454596869105,cy:.1,cz:-.275,lx:.09714909106728957,ly:.3,lz:.15,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"qLUGPVCbRRso5wPajMPhB9",parentId:"tF3vwD5MeKKihs6KSsJULW",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jeff",cx:-15.661746199983284,cy:-22.272680701572895,cz:.30000001192093256,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"d5JiHWyULwssBmiBFfBkPJ",id:"ePaWVnF4Nn4YocprHwRiBU",selected:!1,locked:!1,ly:.6},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3333333333333333,lx:.35456471175665405,ly:.3,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"szxkDJ4zvsmCjRAjDwr4oT",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"mP3Am8ZtiUAtGfBZJbxuUF",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",id:"dJZj2sUCxXenPrW2Jawxrw",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ta3rrvA6SZ71h7JpdQ8H9v",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ka6Tnds7o2rpeQbTUL5XNR",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"3AmRpUZe9Zieufb9NFpKUe",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"9wNFWndGsb6CZofrG9Fupa",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213778,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"ss9gxEkgAKKu97XBUXNM54",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.07253918605660334,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"u7JMjGgg9RrLGWHEohLHUW",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2659770155408789,cy:.1,cz:-.15625,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"seZJReiTn7AB935XPj7nmi",parentId:"vFwZn47p27JhuJCUwo66PB",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j44vXPNj93wPQunzLh8T1Q",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"shnTbDVozQrbvzKdN1MMK9",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"33HVy94BzEoDPXtrspXujk",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.29015674422641347,cy:.1,cz:.28125,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"j4J8y7JeZK4qxfinaK39hR",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29015674422641347,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"cRf1jRTwuR2e4zLg6vFDLv",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09671891474213784,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"vkoYTRq9mT4PwEwXPraM2s",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0967189147421378,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"mwATeDbSxAHev6LkxaPgTD",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3143364729119479,cy:.1,cz:-.16875,lx:.09671891474213778,ly:.3,lz:.3625,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"foK7LkvSM2WCizQJfUWA13",parentId:"jz5YKDY6NpWFeAzmZZgmMG",foundationId:"fD1unP99uJ2AUvKzSqaqv1",tint:"#009ce0",opacity:.7,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.029980389503821973,cy:.1,cz:.3416666666666667,lx:.4796862320611516,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"ho8wYRGhLSJb2djJKqwSe1",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"kNDuFavJnC2DWCruSM8Yz5",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04497058425573294,cy:.1,cz:.3416666666666667,lx:.5096666215649733,ly:.1,lz:.2,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"55SwaH9QxLHmcgrnQzAWTs",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"1zwyQ7SmozfQ7SawBNjqnG",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.029547059313054503,cy:.1,cz:.3416666666666667,lx:.47275294900887205,ly:.1,lz:.21666666666666667,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#4d4d4d",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"rCFFBj6A2tyxuTVf5rPe81",foundationId:"d5JiHWyULwssBmiBFfBkPJ",id:"pNX7KUpUJwgYkqu5xoyYFx",opacity:.7,locked:!1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1}],Cdn=88,Rdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[53.57176406047198,16.258735969028876,-5704638955527846e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[53.57176406047198,16.25858596239243,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-85.36846751108261,-76.3704417077798,98.31866395924627],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:11.3760018455292,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[59.19446663129345,19.785139016084358,32.12480868336017],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},Hdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Mdn=1,Idn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},zdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Ddn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Edn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},kdn="Unknown",Fdn=null,Ldn=null,Wdn=null,Ndn=[],Udn={docid:Adn,time:wdn,timestamp:vdn,userid:xdn,owner:bdn,email:Sdn,world:Tdn,elements:Pdn,sceneRadius:Cdn,view:Rdn,graphState:Hdn,evolutionMethod:Mdn,solarPanelArrayLayoutParams:Idn,solarPanelArrayLayoutConstraints:zdn,evolutionaryAlgorithmState:Ddn,economicsParams:Edn,modelType:kdn,modelAuthor:Fdn,modelLabel:Ldn,modelDescription:Wdn,notes:Ndn},Bdn="e5Mx3kDX6jj2XdEqyRiZ5Z",jdn="06/12/2023 05:06 pm",Ydn=1686603965753,Odn=null,_dn=null,Vdn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Gdn=[{type:"Human",name:"Jedi",cx:-.35404550237608445,cy:-9.031512450493677,cz:-4440892098500626e-31,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!0},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.3,lz:6,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.3,lz:6,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.3,lz:6,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.24583957860028],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.3,lz:6,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Foundation",cx:.005791011935526669,cy:.058297538110867464,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:.00416666666666667,cy:0,cz:-.27499999999999997,lx:.125,ly:0,lz:.45,textureType:"Door Texture #15",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Arched",archHeight:1,filled:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!0,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5CaMQ21unMpwofCSBHFHKy",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.20833333333333334,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.4166666666666667,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vXvgSmG1wzCSFmLFyHD3px",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:.30570421810208276,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.29166666666666663,cy:.1,cz:-.2776291152312506,lx:.08333333333333333,ly:0,lz:.22192489712916785,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},tint:"#73D8FF",mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Human",name:"Jess",cx:-7.267359835478274,cy:-5.46716265973663,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5FVsreGyGxfLQLGYPuw8VY",selected:!1,locked:!0},{type:"Wall",cx:.030224599657563633,cy:2.181664431199555,cz:2.2408122612280286,lx:4.432938866484924,ly:.3,lz:2.43795716101014,leftJoints:["6q7e31mDw8dyN76mepj8pf"],rightJoints:["91j8TFnFqna2wESTuPP4Kp"],leftPoint:[2.2466940329000256,2.181664431199555,0],rightPoint:[-2.1862448335848983,2.181664431199555,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ej8aZCWbLXMBpE4Cdavwp6",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:2.43795716101014,centerRoofHeight:[-.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:2.2466940329000256,cy:-.05093095151911964,cz:2.2301039869226305,lx:4.46519076543735,ly:.3,lz:3.9650570060090606,leftJoints:["oNnwF78XTbjrii9WEpinq5"],rightJoints:["ej8aZCWbLXMBpE4Cdavwp6"],leftPoint:[2.246694032900025,-2.2835263342377945,0],rightPoint:[2.2466940329000264,2.181664431199555,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6q7e31mDw8dyN76mepj8pf",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:3.9650570060090606,rightRoofHeight:3.9650570060090606,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.2233373091364115,rightUnfilledHeight:3.2233373091364115,leftTopPartialHeight:3.9650570060090606,rightTopPartialHeight:3.9650570060090606},{type:"Wall",cx:-2.1862448335848983,cy:-.05093095151911964,cz:2.228839888904333,lx:4.46519076543735,ly:.3,lz:2.43795716101014,leftJoints:["ej8aZCWbLXMBpE4Cdavwp6"],rightJoints:["oNnwF78XTbjrii9WEpinq5"],leftPoint:[-2.1862448335848983,2.181664431199555,0],rightPoint:[-2.1862448335848983,-2.2835263342377945,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"91j8TFnFqna2wESTuPP4Kp",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:2.43795716101014,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Wall",cx:.030224599657564077,cy:-2.2835263342377945,cz:2.268765007024547,lx:4.432938866484925,ly:.3,lz:2.43795716101014,leftJoints:["91j8TFnFqna2wESTuPP4Kp"],rightJoints:["6q7e31mDw8dyN76mepj8pf"],leftPoint:[-2.1862448335848983,-2.2835263342377945,0],rightPoint:[2.2466940329000264,-2.2835263342377945,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oNnwF78XTbjrii9WEpinq5",parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",roofId:"soVsWFGXbdhR2HYVAwuauC",selected:!1,leftRoofHeight:2.43795716101014,rightRoofHeight:3.9650570060090606,centerRoofHeight:[.5,3.9650570060090606],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.43795716101014,rightTopPartialHeight:2.43795716101014},{type:"Foundation",cx:-8.111049740764729,cy:.08239268090626156,cz:.05,lx:6.036367189018974,ly:6.431853734147982,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7pHjvqBpPz7sYq5ET1nnMX",selected:!1,locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["6q7e31mDw8dyN76mepj8pf"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7pHjvqBpPz7sYq5ET1nnMX",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",id:"soVsWFGXbdhR2HYVAwuauC",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],rise:0,ceiling:!1,locked:!0},{type:"Window",cx:-.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aS26toPbuxFA4EAg6ptRCD",parentId:"oNnwF78XTbjrii9WEpinq5",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:0,cy:.1,cz:.08281474884461537,lx:.671863792073878,ly:.3,lz:.6547294618469256,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oy9eXMTPrwyNzvomHovfsD",parentId:"91j8TFnFqna2wESTuPP4Kp",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Window",cx:.11279199083484595,cy:.1,cz:.10254486994201946,lx:.2255839816696919,ly:.3,lz:.6152692196521174,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4mXMxYJnZGCrX3QZdFQHGr",parentId:"ej8aZCWbLXMBpE4Cdavwp6",foundationId:"7pHjvqBpPz7sYq5ET1nnMX",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"#73d8ff",width:.25},selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.08,windowType:"Default",archHeight:1,locked:!0},{type:"Wall",cx:-.8322807242725112,cy:1.200921695970016,cz:2.2408122612280286,lx:.8544333532350403,ly:.15,lz:9.575974551005562,leftJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],rightJoints:["dMssi4ADwUhxkBhQ377g3E"],leftPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5koEPnk7n6ka7L389qtGvZ",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.4050640476549914,cy:.14277050874931954,cz:2.2301039869226305,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["sW8KRkVjiejYRvNZCfXEAP"],rightJoints:["5koEPnk7n6ka7L389qtGvZ"],leftPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,1.200921695970016,.11969968188756955],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pw9wMqrj3Enw2zC5Tgk6yR",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-1.259497400890032,cy:.14277050874931954,cz:2.228839888904333,lx:2.1163023744413962,ly:.15,lz:9.575974551005562,leftJoints:["5koEPnk7n6ka7L389qtGvZ"],rightJoints:["sW8KRkVjiejYRvNZCfXEAP"],leftPoint:[-1.259497400890032,1.200921695970016,.11969968188756955],rightPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dMssi4ADwUhxkBhQ377g3E",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Wall",cx:-.8322807242725112,cy:-.9153806784713785,cz:2.268765007024547,lx:.8544333532350405,ly:.15,lz:9.575974551005562,leftJoints:["dMssi4ADwUhxkBhQ377g3E"],rightJoints:["pw9wMqrj3Enw2zC5Tgk6yR"],leftPoint:[-1.259497400890032,-.9153806784713785,.11969968188756955],rightPoint:[-.4050640476549914,-.9153806784713785,.11969968188756955],relativeAngle:0,textureType:"Wall Texture #3",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sW8KRkVjiejYRvNZCfXEAP",parentId:"qEHo3z28Ar77Wu5WGXMk73",foundationId:"qEHo3z28Ar77Wu5WGXMk73",roofId:null,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.575974551005562,rightTopPartialHeight:9.575974551005562},{type:"Foundation",cx:7.486416419884205,cy:-.2409139792702466,cz:.05,lx:2.839701333763733,ly:2.938267885749648,lz:.11969968188756955,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qEHo3z28Ar77Wu5WGXMk73",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:8.075263543932596,cy:-.6884958197811117,cz:.5701039576976044,lx:5.507966558248896,ly:.1,lz:1,leftJoints:[],rightJoints:["mqNMzZ6M874kpGr6Eb5P4b"],leftPoint:[8.075263543932598,2.065487459343336,0],rightPoint:[8.075263543932595,-3.4424790989055594,0],relativeAngle:-1.5707963267948974,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pTqaBUKRmjPL9fsFDPBYdH",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-8.075263543932598,cy:-.6884958197811117,cz:2.228839888904333,lx:5.507966558248896,ly:.1,lz:1,leftJoints:["txrhd5ZN1ZaUi7X6CidW39"],rightJoints:[],leftPoint:[-8.075263543932598,-3.4424790989055594,0],rightPoint:[-8.075263543932598,2.065487459343336,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1eZoH5UbMqtXnnStv5oPMy",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.545116350166421,cy:-3.4494515352900414,cz:.6126379187745709,lx:9.060305118936492,ly:.1,lz:1,leftJoints:[],rightJoints:["1eZoH5UbMqtXnnStv5oPMy"],leftPoint:[.9850308435997561,-3.4564239716745235,0],rightPoint:[-8.075263543932598,-3.4424790989055594,0],relativeAngle:3.140053535636089,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"txrhd5ZN1ZaUi7X6CidW39",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,roofId:null,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-2.1373102684560767,cy:-4.085170940145713,cz:.05,lx:19.693313015419633,ly:8.765160185704904,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eUQQcfUyWDHA7KoGuDBRyw",selected:!1,locked:!0,enableGroupMaster:!1,notBuilding:!0},{type:"Wall",cx:5.761435748265872,cy:-3.449451535290042,cz:.5701039576976044,lx:4.6276766018679725,ly:.1,lz:1,leftJoints:["pTqaBUKRmjPL9fsFDPBYdH"],rightJoints:[],leftPoint:[8.075263543932598,-3.4424790989055603,0],rightPoint:[3.4476079525991463,-3.4564239716745235,0],relativeAngle:-3.1385792853117462,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mqNMzZ6M874kpGr6Eb5P4b",parentId:"eUQQcfUyWDHA7KoGuDBRyw",foundationId:"eUQQcfUyWDHA7KoGuDBRyw",wallStructure:"Stud",opacity:0,selected:!1,structureSpacing:.25,structureWidth:.02,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Tree",name:"Elm",cx:12.193483954680035,cy:-3.450559107713003,cz:8881784197001252e-31,lx:8.182228289296598,lz:10.259018050875072,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nHGsDGLUFhyht1nKkbShZS",selected:!1,locked:!0},{type:"Tree",name:"Maple",cx:-14.053228627664431,cy:-3.1648808638293726,cz:0,lx:7.51702234293303,lz:8.935898046217556,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"pYVQihimDYo3cuWwFUxGRV",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:3.290712882109931,cy:-6.730243806005441,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"pv5MXJzN7e4QwMAqb7AK2K",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-3.2352418118616306,cy:-6.686295545696994,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"evYRkJazdBwJn4ArepyeZH",selected:!1,locked:!0},{type:"Flower",name:"Spirea",cx:-5.425159494402423,cy:-6.686295545696994,cz:.05000000074505806,lx:1.8,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"mr1vQH3R9jwp2hzXcmJrDH",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-7.004918274330166,cy:-.19566971843541836,cz:.03284187614917755,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"qPgjnRK2xBNDKQYWaqPEJW",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:-9.151037603220141,cy:-3.889330876320888,cz:.03284187614917755,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"m8cKNBQB4gUpU1aJMFZzhU",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:9.13503616494302,cy:-3.964216287045085,cz:.032841876149175775,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tncEiBTcdo5sNQWHKbsyh2",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-7.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3vTcKnJjhDrau5WtHq6mBt",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-6.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"sDmTVeVfizELxSDFfm4Uea",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-5.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"g823QGzRg2L3V2cZr4aRxd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-4.661893579092403,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"hHUhERpDDMaotPBoVG69kS",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-3.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"kHQDrKatqtEmBRsqGsesEx",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-2.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"tZShdZCdNYPMDRYqULaCBd",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-1.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"7t2HS7jELVuWTJ8wEd6GU6",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:-.6618935790924034,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2CQpgvbKEJRX6BS4JzKyeA",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:.33810642090759657,cy:-4.239717705527416,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"j13bnHy89XjWxoKTXY11wT",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:3.9884684920246123,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"jGj2jbHeSWSMLQ4R6813YK",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:4.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"2Fq3eCF7Cmj4HXLnWJj5XE",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:5.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"3ykQAwfp6KeX9fEn2PpH4T",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:6.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"e26QSrjZiynidud1nyPf16",selected:!1,locked:!0},{type:"Flower",name:"Hosta",cx:7.988468492024612,cy:-4.18131990065966,cz:.03284187614917755,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"eUQQcfUyWDHA7KoGuDBRyw",id:"aZdoik5bFQJGAW29Jo71RA",selected:!1,locked:!0},{type:"Light",decay:2,distance:10,intensity:10,color:"#fe9200",cx:-.15060725129335759,cy:-.0069023347929206705,cz:8.339264661200525,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,.4097333676171505,.9122053318530369],rotation:[.4221617487320859,0,3.141592653589793],parentId:"1iq4TPqH8xr1w2VxMAh8MU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gsaoCVaDLKgne3oCcDZ5e9",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:6,intensity:8,color:"#fe9200",cx:.004999999999999995,cy:0,cz:-.02333333333333333,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eS9BNDuHjJf4dGFLVwhXwG",selected:!1,locked:!0},{type:"Door",cx:-.01000000000000002,cy:0,cz:-.21666666666666667,lx:.42000000000000004,ly:0,lz:.5666666666666667,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"jbVYfDfRVVQDSMqv6ux2rr",locked:!0,interior:!0},{type:"Foundation",cx:.0987039168470164,cy:-6.316994564085812,cz:.05,lx:3.2352197337597937,ly:4.369968224342228,lz:.06568375039354474,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"myXiyVt2NURPnPChDUSnvF",selected:!1,locked:!0,notBuilding:!0},{type:"Wall",cx:.016199018084092187,cy:1.482279391694321,cz:2.2408122612280286,lx:2.375854690465504,ly:.3,lz:3.2841875196772365,leftJoints:["cRF4aFTgNdpMTdmopKNDYe"],rightJoints:["maCaKmF7W1UtJB4NhBQsX3"],leftPoint:[1.204126363316844,1.482279391694321,0],rightPoint:[-1.1717283271486596,1.482279391694321,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qA9MpNw8bZfY7qVfr846Q8",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Stud",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:0,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:1.2041263633168442,cy:-.03460380925524109,cz:.9803491274068566,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["5ExmWkfAba5nuC3xfHo5vU"],rightJoints:["qA9MpNw8bZfY7qVfr846Q8"],leftPoint:[1.204126363316844,-1.5514870102048033,0],rightPoint:[1.2041263633168446,1.482279391694321,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cRF4aFTgNdpMTdmopKNDYe",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:-1.1717283271486596,cy:-.03460380925524109,cz:2.228839888904333,lx:3.0337664018991246,ly:.3,lz:3.2841875196772365,leftJoints:["qA9MpNw8bZfY7qVfr846Q8"],rightJoints:["5ExmWkfAba5nuC3xfHo5vU"],leftPoint:[-1.1717283271486596,1.482279391694321,0],rightPoint:[-1.1717283271486596,-1.5514870102048033,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"maCaKmF7W1UtJB4NhBQsX3",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Pillar",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Full",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Wall",cx:.01619901808409252,cy:-1.5514870102048033,cz:2.268765007024547,lx:2.3758546904655042,ly:.3,lz:3.2841875196772365,leftJoints:["maCaKmF7W1UtJB4NhBQsX3"],rightJoints:["cRF4aFTgNdpMTdmopKNDYe"],leftPoint:[-1.1717283271486596,-1.5514870102048033,0],rightPoint:[1.2041263633168446,-1.5514870102048033,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5ExmWkfAba5nuC3xfHo5vU",parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",wallStructure:"Default",opacity:0,roofId:"kL2csyDhpYU6Tdyq5APXiG",selected:!1,leftRoofHeight:3.2841875196772365,rightRoofHeight:3.2841875196772365,centerRoofHeight:[0,3.837098172113132],structureSpacing:1e3,structureWidth:.2,structureColor:"white",fill:"Partial",eavesLength:.3,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.110608215274513,rightUnfilledHeight:3.110608215274513,leftTopPartialHeight:3.2841875196772365,rightTopPartialHeight:3.2841875196772365},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["maCaKmF7W1UtJB4NhBQsX3"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"myXiyVt2NURPnPChDUSnvF",foundationId:"myXiyVt2NURPnPChDUSnvF",id:"kL2csyDhpYU6Tdyq5APXiG",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:.5529106524358953,ceiling:!1,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.21045058100840097,y:-.6089786250075502},{x:-.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.4567339687556626},{x:.21045058100840097,y:-.6089786250075502}],parentId:"5ExmWkfAba5nuC3xfHo5vU",parentType:"Wall",foundationId:"myXiyVt2NURPnPChDUSnvF",selected:!1,filled:!0,selectedIndex:2,id:"19jcnLnazAo68d9SCy19QV",noOutline:!0,text:"26",fontSize:.35,fontColor:"gold",locked:!0},{type:"Door",cx:-.05,cy:0,cz:-.4583333333333333,lx:.1,ly:0,lz:.08333333333333333,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3zkRmLGDcsm6tCGsvCTs4B",interior:!0,frameColor:"#4d4d4d",locked:!0}],Xdn=22,Jdn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-7.862597366276697,1.7514757983201874,17661570980830242e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-7.862597366276697,1.7504754208759876,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.838817312607155,-22.7607406255055,2.6094586494143144],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.07649922483275468,1.5616450860400017,2.4309145652183837],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},Kdn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},qdn=1,$dn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Qdn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Zdn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},efn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},tfn="Unknown",nfn=null,ofn=null,ifn=null,rfn=[],afn={docid:Bdn,time:jdn,timestamp:Ydn,owner:Odn,email:_dn,world:Vdn,elements:Gdn,sceneRadius:Xdn,view:Jdn,graphState:Kdn,evolutionMethod:qdn,solarPanelArrayLayoutParams:$dn,solarPanelArrayLayoutConstraints:Qdn,evolutionaryAlgorithmState:Zdn,economicsParams:efn,modelType:tfn,modelAuthor:nfn,modelLabel:ofn,modelDescription:ifn,notes:rfn},lfn="bdxRpN9LUZ1jTZzjLf3j79",sfn="08/16/2023 09:04 am",cfn=1692191055280,ufn="QWecNcxhyvP6j6sBN11hBsfZDau1",dfn=null,ffn=null,hfn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},pfn=[{ly:15.82679166341284,solarUpdraftTower:{},parentId:"Ground",cx:-8.9649429178124,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.5215353669749065,type:"Foundation",solarPowerTower:{},lx:19.683950802792882,lz:.08304003951954272,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.04152001975977136,enableGroupMaster:!0,textureType:"Foundation Texture #4",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3.3216015807817088,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-6.139317409562167,6.280059949020198,.08304003951954272],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.860682590437832,6.280059949020198,.08304003951954272],type:"Wall",rightRoofHeight:3.3216015807817088,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3.3216015807817088,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.13931740956216743,rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:6.280059949020198,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Wall",parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.860682590437831,leftPoint:[5.860682590437829,-3.719940050979802,.08304003951954272],cy:1.2800599490201985,leftRoofHeight:3.3216015807817088,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.860682590437833,6.280059949020198,.08304003951954272],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3.3216015807817088,centerRoofHeight:[0,6.6432031615634175],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{lx:10,lz:3.3216015807817088,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:1.2800599490201985,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,6.6432031615634175],rightPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:3.3216015807817083,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.139317409562166,6.280059949020198,.08304003951954272],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3.3216015807817088,ly:.3,cx:-6.139317409562167,centerLeftRoofHeight:[-.35,4.982402371172563],centerRightRoofHeight:[.35,4.982402371172564],color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{showLabel:!1,cx:-.13931740956216743,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.860682590437833,-3.719940050979802,.08304003951954272],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-3.719940050979802,id:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-6.139317409562167,-3.719940050979802,.08304003951954272],normal:[0,0,1],ly:.3,lz:3.3216015807817088,leftRoofHeight:3.3216015807817088,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3.3216015807817088,lx:12,color:"#f44e3b",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.3216015807817088,rightTopPartialHeight:3.3216015807817088},{type:"Window",showLabel:!1,ly:0,lz:.44384979425833565,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.07139510364251808,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.07139510364251808,normal:[0,0,1],cx:-.225,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.44384979425833565,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333334,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,color:"#ffffff",cz:-.07139510364251808,cy:.3,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.44384979425833565,type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:-.07139510364251808,lz:.44384979425833565,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333333,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joan",cx:-9.748795495187615,cy:-11.885843529724642,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:1.7,locked:!0},{type:"Tree",name:"Magnolia",flip:!0,cx:2.83831023868078,cy:.3026770951383977,cz:0,lx:4.909285741329502,lz:7.047282022546526,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"t5Aj8tjjpqVaLaB3uEqfR8",selected:!1,locked:!0},{type:"Window",cx:-.2916666666666667,cy:-13376344861350336e-31,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2916666666666667,cy:-11010413489448665e-30,cz:0,lx:.08333333333333333,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",thickness:.15,locked:!0,rise:3.3216015807817088,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Wall",cx:-.17032995035379805,cy:2.9140760690705836,cz:2.2408122612280286,lx:4,ly:.3,lz:3.45,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[1.829670049646202,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,2.9140760690705845,.08304003951954272],relativeAngle:3.1415926535897922,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.4499999999999993,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.35,rightUnfilledHeight:3.35,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:1.829670049646202,cy:-.3359239309294191,cz:2.2301039869226305,lx:6.500000000000001,ly:.3,lz:3.45,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462037,2.914076069070582,.08304003951954272],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.0873856802470327,rightUnfilledHeight:2.3262939270695226,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-2.170329950353798,cy:-.3359239309294191,cz:2.228839888904333,lx:6.5,ly:.3,lz:3.45,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-2.170329950353798,2.914076069070582,.08304003951954272],rightPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.45,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.1078217002230364,rightUnfilledHeight:2.2273879622936055,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Wall",cx:-.17032995035379805,cy:-3.5859239309294173,cz:2.268765007024547,lx:3.9999999999999982,ly:.3,lz:3.45,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-2.170329950353798,-3.5859239309294173,.08304003951954272],rightPoint:[1.8296700496462002,-3.5859239309294173,.08304003951954272],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"p1WWYMY9TmVyswdgfSEZfZ",leftRoofHeight:3.45,rightRoofHeight:3.450000000000001,centerRoofHeight:[0,6.716478772745814],centerLeftRoofHeight:[-.35,5.083239386372908],centerRightRoofHeight:[.35000000000000003,5.083239386372907],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.45,rightTopPartialHeight:3.45},{type:"Foundation",cx:-8.995176289846825,cy:-2.548120633774467,cz:.04152001975977136,lx:7.238675704625617,ly:10.649205015118838,lz:.08304003951954272,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,textureType:"No Foundation Texture",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"Joel",cx:-7.789004610682257,cy:-12.04210360652551,cz:8881784197001252e-31,lx:1.8,ly:1.8,lz:1.75,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.8730728022225684,lx:.4000000000000002,ly:.3,lz:.5419072565519394,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9sxNKgBrTJz5rbuB2EAigV",mullionSpacing:.56,shutter:{showLeft:!1,showRight:!1,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:.8,empty:!1},{type:"Door",cx:-.012500000000000002,cy:0,cz:-.0693642478160203,lx:.225,ly:0,lz:.8612715043679594,textureType:"Door Texture Default",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"3ToGStSrcyguQUUqJUFhxz",locked:!0,doorType:"Default",archHeight:1,filled:!1,interior:!0},{type:"Window",cx:-.3,cy:0,cz:0,lx:.10000000000000002,ly:0,lz:.5000000000000001,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qoQarTFv95tVF8owcPVUFr",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.35,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gFrpbUVsUk5Cyw1YgAc3Su",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:0,cz:1.1,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"g7oggQtbGLCJnWDBEWrL6f",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:0,cz:0,lx:.1,ly:0,lz:.5,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"9KXbYufDZik3nedxtSG2Wa",mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3,cy:11102230246251565e-31,cz:0,lx:.1,ly:0,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hP5LnWCZSyCWuh6LURpM1g",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,mullionSpacing:.9,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.5000000000000002,ly:0,lz:.75,textureType:"Door Texture #2",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"xfiB1ehYmvvHX7d6tsihDv",locked:!0,doorType:"Default",archHeight:1,filled:!0},{type:"Foundation",cx:-13.194524944705082,cy:-3.7517234810804703,cz:.05,lx:4.724839965236282,ly:9.227617734475299,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vQQ15yke8RSPKZiM6iV1gf",textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:-1.1428938383677334,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:4.71238898038469,leftPoint:[-1.1428938383677334,4.324112741869479,.1],rightPoint:[-1.1428938383677334,-.1758872581305213,.1],leftJoints:["9UyBScab4vxjAdrfwjXhxP"],rightJoints:["6U3sDe4yzT2QH8iRY62SdZ"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"1F9rbQh1mAYkQprzoxJ12Q",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.4823963079433295,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:4.324112741869479,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:3.141592653589793,leftPoint:[1.3571061616322666,4.324112741869479,.1],rightPoint:[-1.1428938383677334,4.324112741869479,.1],leftJoints:["vy2WJt6CvVCYvqCPAeFYe5"],rightJoints:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9UyBScab4vxjAdrfwjXhxP",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.238894569131756,rightUnfilledHeight:4.238894569131756,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3571061616322666,cy:2.0741127418694787,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,relativeAngle:1.5707963267948966,leftPoint:[1.3571061616322666,-.1758872581305213,.1],rightPoint:[1.3571061616322666,4.324112741869479,.1],leftJoints:["6U3sDe4yzT2QH8iRY62SdZ"],rightJoints:["9UyBScab4vxjAdrfwjXhxP"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"vy2WJt6CvVCYvqCPAeFYe5",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.596810400573552,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.1071061616322666,cy:-.1758872581305213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,relativeAngle:0,leftPoint:[-1.1428938383677334,-.1758872581305213,.1],rightPoint:[1.3571061616322666,-.1758872581305213,.1],leftJoints:["1F9rbQh1mAYkQprzoxJ12Q"],rightJoints:["vy2WJt6CvVCYvqCPAeFYe5"],textureType:"Wall Texture Default",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"6U3sDe4yzT2QH8iRY62SdZ",color:"#f44e3b",roofId:"9Jb55MpdEHfaQRtH1w8w7c",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.662549619276321],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6595021394542453,rightUnfilledHeight:3.6595021394542453,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["1F9rbQh1mAYkQprzoxJ12Q"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"9Jb55MpdEHfaQRtH1w8w7c",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.8497468529083303,ceiling:!1},{type:"Wall",cx:-1.1202290403576152,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["1nb1rRhk5XTwkqRDvamK5g"],rightJoints:["3LCPjAAvYioWiSGfdrWDra"],leftPoint:[-1.1202290403576152,4.321621897384919,.1],rightPoint:[-1.1202290403576152,-.17837810261508213,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"bpwfKUJNQLVoQQHt2xqi72",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5.812802766367991,rightUnfilledHeight:3.2790718567695616,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:4.321621897384919,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["mMwirEeb4r8mhYQ7E9qdX2"],rightJoints:["bpwfKUJNQLVoQQHt2xqi72"],leftPoint:[1.3797709596423848,4.321621897384919,.1],rightPoint:[-1.1202290403576152,4.321621897384919,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"1nb1rRhk5XTwkqRDvamK5g",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.6979530221307058,rightUnfilledHeight:3.6979530221307058,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:1.3797709596423848,cy:2.071621897384918,cz:0,lx:4.5,ly:.3,lz:5.812802766367991,leftJoints:["3LCPjAAvYioWiSGfdrWDra"],rightJoints:["1nb1rRhk5XTwkqRDvamK5g"],leftPoint:[1.3797709596423848,-.17837810261508213,.1],rightPoint:[1.3797709596423848,4.321621897384919,.1],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"mMwirEeb4r8mhYQ7E9qdX2",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.3444620413364214,rightUnfilledHeight:5.812802766367991,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Wall",cx:.12977095964238483,cy:-.17837810261508213,cz:0,lx:2.5,ly:.3,lz:5.812802766367991,leftJoints:["bpwfKUJNQLVoQQHt2xqi72"],rightJoints:["mMwirEeb4r8mhYQ7E9qdX2"],leftPoint:[-1.1202290403576152,-.17837810261508213,.1],rightPoint:[1.3797709596423848,-.17837810261508213,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"3LCPjAAvYioWiSGfdrWDra",parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,roofId:"3RtfyZgDoXZ3wGixrorVUM",leftRoofHeight:5.812802766367991,rightRoofHeight:5.812802766367991,centerRoofHeight:[0,6.6628027663679905],locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.203916013233736,rightUnfilledHeight:3.203916013233736,leftTopPartialHeight:5.812802766367991,rightTopPartialHeight:5.812802766367991},{type:"Foundation",cx:-5.154384285489001,cy:-3.843449030047704,cz:.05,lx:5.245611715983199,ly:9.222636045506174,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mJVE3dD5FuAaHn4NaQUVru",selected:!1,textureType:"Foundation Texture #1",locked:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",wallsId:["bpwfKUJNQLVoQQHt2xqi72"],textureType:"Roof Texture #1",color:"#454769",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mJVE3dD5FuAaHn4NaQUVru",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"3RtfyZgDoXZ3wGixrorVUM",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],locked:!0,rise:.85,ceiling:!1},{type:"Window",cx:.019999999999999997,cy:.1,cz:.35266980188300795,lx:.44000000000000006,ly:.3,lz:.22364426460873682,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"3LCPjAAvYioWiSGfdrWDra",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"nEpoC7XwMto4CjwuGq3WQ5",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3607208764315504,lx:.4,ly:.3,lz:.24194892545145757,selected:!1,showLabel:!1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"6U3sDe4yzT2QH8iRY62SdZ",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"izgEX4RP4fMzobDmWztBrf",mullionSpacing:.6,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},locked:!0,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-9.128472071553885,cy:-5.731921555180726,cz:.05,lx:10.661429059004004,ly:5.310443804879643,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jjxHg8QgQHBYMPjmTLKh9Y",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-3.055204431580803,cy:-1.835109259524482,cz:0,lx:1.8466260644079497,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[-2.131891399376828,-1.835109259524483,.1],relativeAngle:6.283185307179585,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wyasgQhDU8TZWAHXXtnR4J",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:.5175200861571223,lx:3.3487156536839,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"6Hv4mJv5hCRGAqNa8Wf45B",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.7895023054362934,rightTopPartialHeight:.7895023054362934},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:.5732895465300347,lx:3.3487156536839007,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],relativeAngle:1.570796326794897,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"1fR31M3LuxWCDraA3p4mZU",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.847582665593212,rightTopPartialHeight:.847582665593212},{type:"Wall",cx:2.997153367934011,cy:-1.835109259524483,cz:0,lx:1.951341663437577,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[2.0214825362152222,-1.835109259524483,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"iUM2Ms6kj53m7TzQjPhH62",parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",wallStructure:"Stud",opacity:0,selected:!1,locked:!0,structureSpacing:.3,structureWidth:.05,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-1.6211500807426074,cy:.8631023553389863,cz:.05,lx:4.818228793661425,ly:2.663944474302019,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1tKxhv9RZ3WGSr4yfyFtGe",textureType:"No Foundation Texture",locked:!0,notBuilding:!0},{type:"Wall",cx:-.7514450867052019,cy:.5637297015144593,cz:0,lx:1.5028901734104034,ly:.25,lz:9,relativeAngle:3.141592653589793,leftPoint:[-26696692384049984e-32,.5637297015144593,0],rightPoint:[-1.5028901734104037,.5637297015144593,0],leftJoints:["188rdr57sdmGcfGiDQEznS"],rightJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"nzDmLXy4XJEJgippavtWPK",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:.00011804109969691571,cy:-.1412546603508431,cz:0,lx:1.4099687434951584,ly:.25,lz:9,relativeAngle:1.5709637646913654,leftPoint:[.00023608219939409838,-.8462390222161456,0],rightPoint:[-26696692384049984e-32,.5637297015144593,0],leftJoints:["bKLADc1rtEXxLWJ2wpXCyG"],rightJoints:["nzDmLXy4XJEJgippavtWPK"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"188rdr57sdmGcfGiDQEznS",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-1.5028901734104037,cy:-.14093242537861483,cz:0,lx:1.4093242537861483,ly:.25,lz:9,relativeAngle:-1.5707963267948966,leftPoint:[-1.5028901734104037,.5637297015144593,0],rightPoint:[-1.5028901734104037,-.845594552271689,0],leftJoints:["nzDmLXy4XJEJgippavtWPK"],rightJoints:["bKLADc1rtEXxLWJ2wpXCyG"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"t7nvzQnWvPgJFKi8qM2KJ2",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.7702585421996653,rightUnfilledHeight:3.7702585421996653,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.7513270456055048,cy:-.8459167872439173,cz:0,lx:1.5031263937690138,ly:.25,lz:9,relativeAngle:-.0004287530089774864,leftPoint:[-1.5028901734104037,-.845594552271689,0],rightPoint:[.00023608219939409838,-.8462390222161456,0],leftJoints:["t7nvzQnWvPgJFKi8qM2KJ2"],rightJoints:["188rdr57sdmGcfGiDQEznS"],textureType:"Wall Texture #3",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",foundationId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"bKLADc1rtEXxLWJ2wpXCyG",locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Tree",name:"Dogwood",flip:!0,cx:-17.829756210687247,cy:-6.178261442103567,cz:0,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"sgSHG9SfkfzrTceiA5T19b",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-14.43393823103578,cy:-4.956583187921545,cz:0,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"fwbwXjTKB4ejYpnXGBAaQt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.4821432852704675,cy:.4495990226501192,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"24FmLU3mJkXNY53JzrL5Dt",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:-4.910500041352744,cy:.9540476712796391,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"reEeBmqCcbQu2EtMT38ywZ",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.9562085665626325,cy:1.0667527129983299,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"o3P5EpuHXdx6pH3hYkfv1R",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:4.317403660851184,cy:.4787676966756642,cz:.05999999865889727,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"3LVtMLU8sBDE9SYSdKtA6S",selected:!1,locked:!0},{type:"Flower",name:"White Flower",cx:5.530912218683256,cy:1.5116578930650046,cz:.05999999865889549,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"2Y1swCnkjr3jQPeteyJshF",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.806452300697741,cy:1.744166442984243,cz:.05999999865889727,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"8t9PQbZw572ixzdS9MRLLW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.291768127996638,cy:1.3247562673381097,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"4JVL5x9cWyH4LksfSY1fX3",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:4.661246706636892,cy:1.5508003603072646,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"nGnmCTUqQFz7isWWpWK3Mz",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-.33218746630730145,cy:-.5494864663355421,cz:.05000000074505895,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"vQQ15yke8RSPKZiM6iV1gf",id:"gZ9m1tT2VUgZsBDcfZh8HW",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.244159478853515,cy:1.7707434623377676,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"9SxVYH5WbgA3HtDCqqfPhx",selected:!1,locked:!0},{type:"Flower",name:"Bellflower",cx:-4.802140374248943,cy:1.496640607591619,cz:.05999999865889549,lx:.4,lz:.8,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"bJusUpxFXhNuVLWkwSgPDp",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",flip:!0,cx:-4.49997835962516,cy:-1.1855861204384208,cz:.06,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"abgyaezp654EktrPW99LBw",selected:!1,locked:!0},{type:"Flower",name:"Boxwood",cx:4.432083177417134,cy:-1.2772922274665977,cz:.06,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"7MNjP1XvBJBd9d5PFunfnH",selected:!1,locked:!0},{type:"Flower",name:"Hibiscus",flip:!0,cx:-7.116951685811008,cy:3.638352633555244,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1FPVPX2cPwyJtX2iR6TB6X",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:1.182265720860439,cy:-.23022475718108382,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"1tKxhv9RZ3WGSr4yfyFtGe",id:"qbSQDtvRnmoWesph95KY9z",selected:!1,locked:!0},{type:"Human",name:"Jade",cx:-3.033395250022613,cy:-.5816610420513619,cz:.05999999865889549,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"mtu9ruoaP4m3bTDiUvwuGN",selected:!1,ly:.48,locked:!0,flip:!0},{type:"Human",name:"Jose",cx:-16.76731141531199,cy:-10.548882253809875,cz:-17763568394002505e-31,lx:2,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"96NHdfhp3jEHitMi3f3E5K",selected:!1,ly:2,locked:!0,flip:!0},{type:"Flower",name:"Hibiscus",cx:-7.181651324625273,cy:-1.60099461837087,cz:.04152001813054085,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dVDLRSyAD2wDbGWk4knF4E",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:1.620258691481478,cy:-5.240948297707899,cz:4440892098500626e-31,lx:5.556994802603297,lz:7.996988894474121,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"oELXz144CkaWe2X3qoRnK8",selected:!1,locked:!0},{type:"Human",name:"Jaye",cx:-1.4302201700943762,cy:-2.031152248382565,cz:.04943574334705669,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"irBooVothSqri1n99D7Wzu",id:"gr5QDB4cbkGum8zoHp2N7d",selected:!1,locked:!0,ly:.55},{type:"Tree",name:"Dogwood",cx:-8.836300989612065,cy:6.666048417776266,cz:.0415200181305444,lx:3,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tirzAP1CYKccDFYsQijz2n",selected:!1,locked:!0},{type:"Window",cx:-.008333333333333331,cy:.1,cz:-.009152330421360376,lx:.08333333333333333,ly:.3,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:.9,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8fVvNLwh7c4hGNqS46E2j",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#4d4d4d",width:.3},selected:!1,windowType:"Default",archHeight:1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gambrel",roofStructure:"Default",wallsId:["2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"p1WWYMY9TmVyswdgfSEZfZ",rise:3.266478772745814,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1],locked:!0},{type:"Window",cx:-4.213281959601948,cy:-2.634538118666024,cz:4.673359172167364,lx:2.1500259275083913,ly:.15,lz:1.2358639032447665,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"bAFTA4vJ8U4gd3hFz74r7X",locked:!0,interior:!0,empty:!0},{type:"Window",cx:-4.195476233446163,cy:-1.505374843371567,cz:5.4714739316244385,lx:2.170306524786385,ly:.15,lz:1.415052250899271,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"5CQw4ehLx6bYSBiyfowUgp",locked:!0,interior:!0,empty:!0,polygonTop:[.041335690072458735,2.1804081724852833]},{type:"Window",cx:3.9865243272197457,cy:-2.690596399748453,cz:4.611291413814264,lx:2.264658675515979,ly:.15,lz:1.4006562758537777,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"73WXvEpNVy6WMicsQVtM4K",locked:!0,interior:!0,empty:!0},{type:"Window",cx:4.003502641451691,cy:-1.5436235422141884,cz:5.453324368976082,lx:2.2758545278519184,ly:.15,lz:1.4725562648663195,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"6sSeyqhkrkXd9xruJTto55",locked:!0,interior:!0,polygonTop:[-.03456014333676215,2.044626136017569],empty:!0},{type:"Window",cx:-.14301293626591338,cy:-3.0760156278277453,cz:4.184555041396983,lx:2.492322842531612,ly:.15,lz:2.5010692402560784,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"roHftPtnfwZguzJ6CGy1u1",locked:!0,interior:!0},{type:"Door",cx:-.1269230769230768,cy:0,cz:-.032608695652173926,lx:.7153846153846152,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mjYXviVCxSp5wKZomZ1KXX",interior:!0,locked:!0},{type:"Door",cx:.12692307692307694,cy:0,cz:-.032608695652173926,lx:.7153846153846154,ly:0,lz:.9347826086956521,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"gVuhwxMRjqj8Y5dEW4h6yb",locked:!0,interior:!0},{type:"Window",cx:-.18164384373242548,cy:-2.1763353010978204,cz:5.153093457763647,lx:2.4530899553344963,ly:.15,lz:.021492949604609426,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:0,uValue:2,normal:[0,-1,0],rotation:[.4430521468850588,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8dL9pADpGdb8uz3jgoQ35W",locked:!0,interior:!0,polygonTop:[-.02050328365131785,3.3532324030149554]},{type:"Window",cx:1.445462406762685,cy:-3.8750343198078783,cz:3.2998811246118693,lx:.6642965558015783,ly:.15,lz:.13029717559155046,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"qWHrnb8KKMoQRor3JnSQFU",polygonTop:[-.5,2.3784236921544717],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.8155222162706668,cy:-3.9009770076057917,cz:3.2711573670121106,lx:.6830097672938518,ly:.15,lz:.037173765084373096,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.836227776804661,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"cCVV5LBTueLCRBh8Qiucqm",polygonTop:[.5,2.451948768657457],interior:!0,empty:!0,locked:!0},{type:"Window",cx:-1.1953590455988037,cy:3.710975210631405,cz:5.8617143628039825,lx:1.3882703649523895,ly:.1,lz:.05964604677957688,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,4.71238898038469],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"uj3hhpNKwSAcHZfWCq9Luv",interior:!0,empty:!0,polygonTop:[-.5,1.197404893567288],locked:!0},{type:"Door",cx:0,cy:0,cz:-.40052979348664974,lx:.1,ly:0,lz:.19894041302670049,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"onpRTR6aYFESxEyAVVtKxv",locked:!0,interior:!0},{type:"Window",cx:1.4673866142968786,cy:3.7373739092900653,cz:5.853224121202935,lx:1.2289614765652717,ly:.1,lz:.027992846261972834,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5971766580926772,0,1.5707963267948966],parentId:"3RtfyZgDoXZ3wGixrorVUM",parentType:"Roof",foundationId:"mJVE3dD5FuAaHn4NaQUVru",id:"x86g7FJRWVhpFuUj55vS2u",polygonTop:[.5,1.2696169168418234],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.8854196712406885,cy:1.377621465687576,cz:4.325544482383382,lx:3.1362291179665966,ly:.1,lz:1.8233213544103637,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"mX7yGqS9yHFcCXD3HzPsqo",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.57237554916422,cy:1.3657152285229026,cz:4.2503725201405285,lx:3.1993051559264813,ly:.1,lz:1.9446887668441453,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235876,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7HdybnBrpZ9pZKTsQWmnxm",interior:!0,empty:!0,locked:!0},{type:"Window",cx:1.1953670575332103,cy:1.4635343025462166,cz:5.223257241936748,lx:2.975761109246804,ly:.1,lz:.0858565540829778,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956242,0,1.5707963267948963],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fq4riipVcz1YXRCRFinfh9",polygonTop:[.5,1.8067884811337014],empty:!0,interior:!0,locked:!0},{type:"Window",cx:-1.5078124165602862,cy:1.6184244215922492,cz:5.256172313894667,lx:2.757238648211566,ly:.1,lz:.157707537509605,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.8621416327956238,0,4.71238898038469],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8uYxv4QmwRV4QGvGAmTGjh",interior:!0,empty:!0,polygonTop:[-.5,1.6411153230617954],locked:!0},{type:"Window",cx:1.9241586401335837,cy:-1.0071004651436564,cz:3.2927958540885793,lx:1.433257415263137,ly:.1,lz:.013334330641535795,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2187333945235888,0,1.570796326794896],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKtQtrVKNAyECAnnFakYcM",interior:!0,empty:!0,polygonTop:[.5,1.8703231446359028],locked:!0},{type:"Window",cx:-2.1759330536672916,cy:-.9097092686724473,cz:3.5347479849708097,lx:1.401447790844605,ly:.1,lz:.1563290290003139,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.218733394523589,0,-1.5707963267948966],parentId:"p1WWYMY9TmVyswdgfSEZfZ",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bscMEhqajcMX1VR8jmUamz",interior:!0,polygonTop:[-.5,1.6499601679714657],locked:!0},{type:"Window",cx:-1.1488249093401395,cy:3.6694840938188165,cz:5.908770839253448,lx:1.465482126287153,ly:.1,lz:.011624696831896512,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,4.71238898038469],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"voXoMmK9hgrALZQEVrCQw5",interior:!0,polygonTop:[-.5,1.1791221277328057],locked:!0},{type:"Window",cx:1.4545359523843153,cy:3.6687614111197395,cz:5.846570239911134,lx:1.494871028893363,ly:.1,lz:5533992709237107e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5970381619598664,0,1.5707963267948966],parentId:"9Jb55MpdEHfaQRtH1w8w7c",parentType:"Roof",foundationId:"vQQ15yke8RSPKZiM6iV1gf",id:"njHN3bGKJaNcsPt3zqUDGM",polygonTop:[.5,1.3683506058769899],locked:!0},{type:"Foundation",cx:-9.019380791884265,cy:-6.4970289405032915,cz:.06,lx:13.017853790376485,ly:4.062304674420269,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"Foundation Texture #2",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"irBooVothSqri1n99D7Wzu",notBuilding:!0,locked:!0},{type:"Wall",cx:-.002846632065990562,cy:1.5136063941594182,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:0,rValue:2,fill:"Empty",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:3.141592653589793,leftPoint:[3.9728241996527984,1.5136063941594173,.1],rightPoint:[-3.9785174637847796,1.513606394159419,.1],leftJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],rightJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rTXZg1jcKPDTpopSQL5CRv",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:3.9728241996527984,cy:-.16075143268253278,cz:0,lx:3.3487156536839007,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:1.570796326794897,leftPoint:[3.9728241996527993,-1.835109259524483,.1],rightPoint:[3.9728241996527984,1.5136063941594173,.1],leftJoints:["keZvZnZ8iUxAQcoKMHvMJB"],rightJoints:["rTXZg1jcKPDTpopSQL5CRv"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"kGep2Ez1jSGfeVaiQD6Nk1",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-3.9785174637847778,cy:-.160751432682531,cz:0,lx:3.3487156536839,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:4.71238898038469,leftPoint:[-3.9785174637847796,1.513606394159419,.1],rightPoint:[-3.9785174637847778,-1.8351092595244811,.1],leftJoints:["rTXZg1jcKPDTpopSQL5CRv"],rightJoints:["keZvZnZ8iUxAQcoKMHvMJB"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"jQqGH4ZZuR2sJEjqAtaMdR",structureSpacing:1.7,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Wall",cx:-.0028466320659887856,cy:-1.835109259524482,cz:0,lx:7.951341663437577,ly:.3,lz:3.12,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.3,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.6465790930600694,rightTopPartialHeight:.6465790930600694,relativeAngle:0,leftPoint:[-3.9785174637847778,-1.8351092595244811,.1],rightPoint:[3.9728241996527993,-1.835109259524483,.1],leftJoints:["jQqGH4ZZuR2sJEjqAtaMdR"],rightJoints:["kGep2Ez1jSGfeVaiQD6Nk1"],textureType:"Wall Texture Default",color:"#ffffff",volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:0,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"keZvZnZ8iUxAQcoKMHvMJB",structureSpacing:1.95,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vFgo3dzFcDvifutsURLSxs",leftRoofHeight:3.12,rightRoofHeight:3.12,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5816829802762808,thickness:.1,rValue:2,color:"#454769",sideColor:"#ffffff",textureType:"Roof Texture #1",roofType:"Hip",roofStructure:"Default",wallsId:["kGep2Ez1jSGfeVaiQD6Nk1"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jjxHg8QgQHBYMPjmTLKh9Y",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"vFgo3dzFcDvifutsURLSxs",leftRidgeLength:-1.5743578268419502,rightRidgeLength:1.6693578268419502,locked:!0},{type:"Window",cx:1.8566011256825674,cy:.6599329242183138,cz:3.5487146962420235,lx:1.5566850872614637,ly:.1,lz:.002654387077510697,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,1.5707963267948968],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"rihytw1YgyZTRTywNknqYW",polygonTop:[.5,1.775657673942406],locked:!0},{type:"Window",cx:-1.819837767636188,cy:.6880180791747286,cz:3.5544907008722126,lx:1.5263724499901699,ly:.1,lz:.026357656056318596,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.13521473007536366,0,-1.5707963267948961],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"stDHx7ttyun3AsgaRa1QHp",polygonTop:[-.5,1.8110420094651125],locked:!0},{type:"Window",cx:.020163528741469428,cy:-.10759934471036203,cz:3.552336576069286,lx:3.53497207600787,ly:.1,lz:.05477306389188632,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.16246888891658018,0,-4440892098500626e-31],parentId:"vFgo3dzFcDvifutsURLSxs",parentType:"Roof",foundationId:"jjxHg8QgQHBYMPjmTLKh9Y",id:"tDydDDQ3yMKBMmcqedWGby",polygonTop:[.0030579922127344215,1.4843446624982513],locked:!0}],gfn=24,mfn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.8840441516195205,.5644717303985555,11143112580395247e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.8840441516195205,.5634713529449765,150],theme:"Rural",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.358378063755914,-20.87295700480061,2.7360078726027206],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:24.554753263096522,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-7.660890412118296,2.6592379428106594,2.7360078726027206],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5,navigationView:!1},yfn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Afn=1,wfn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},vfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},xfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},bfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Sfn="Unknown",Tfn=null,Pfn=null,Cfn=null,Rfn=null,Hfn=[],Mfn=3,Ifn=3,zfn={docid:lfn,time:sfn,timestamp:cfn,userid:ufn,owner:dfn,email:ffn,world:hfn,elements:pfn,sceneRadius:gfn,view:mfn,graphState:yfn,evolutionMethod:Afn,solarPanelArrayLayoutParams:wfn,solarPanelArrayLayoutConstraints:vfn,evolutionaryAlgorithmState:xfn,economicsParams:bfn,modelType:Sfn,modelAuthor:Tfn,modelLabel:Pfn,modelDescription:Cfn,designProjectType:Rfn,notes:Hfn,minimumNavigationMoveSpeed:Mfn,minimumNavigationTurnSpeed:Ifn},Dfn="rrmoe4xsE37DPN5LvoSX2L",Efn="08/09/2023 10:13 am",kfn=1691590424058,Ffn="QWecNcxhyvP6j6sBN11hBsfZDau1",Lfn=null,Wfn=null,Nfn={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ufn=[{type:"Wall",cx:.06979666348441205,cy:3.6828701050775523,cz:2.5,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[5.445313448139821,3.682870105077552,.1],rightPoint:[-5.305720121170997,3.682870105077553,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.002373687472664,rightUnfilledHeight:4.002373687472664,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.445313448139816,cy:.4275597826751323,cz:2.2301039869226305,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[5.445313448139813,-2.8277505397272886,.1],rightPoint:[5.445313448139821,3.682870105077553,.1],relativeAngle:1.5707963267948954,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:-5.305720121170997,cy:.4275597826751323,cz:2.228839888904333,lx:6.510620644804842,ly:.3,lz:4.88805324936884,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-5.305720121170997,3.682870105077553,.1],rightPoint:[-5.305720121170997,-2.8277505397272886,.1],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,centerRoofHeight:[0,7.235780632005643],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:5,rightUnfilledHeight:5,leftTopPartialHeight:5,rightTopPartialHeight:5,locked:!1,openToOutside:!1},{type:"Wall",cx:.06979666348441205,cy:-2.8277505397272886,cz:2.268765007024547,lx:10.751033569310817,ly:.3,lz:4.88805324936884,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-5.305720121170997,-2.8277505397272886,.1],rightPoint:[5.445313448139821,-2.8277505397272886,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"hg8eUTjrNzo4UYNKSxj3Pu",selected:!1,leftRoofHeight:4.88805324936884,rightRoofHeight:4.88805324936884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.224276701112264,rightUnfilledHeight:4.224276701112264,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1,openToOutside:!1},{type:"Foundation",cx:.3157662585983827,cy:-.49838170379810354,cz:.05,lx:15.656066884011606,ly:12.596965835422395,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Human",name:"June",cx:-2.4661903240728087,cy:-9.006462311217309,cz:0,lx:.65,ly:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.14686719191865327,cy:5.522679083865754,cz:2.2408122612280286,lx:13.78718704575697,ly:.3,lz:4.061910717171535,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[7.040460714797138,5.522679083865754,.12],rightPoint:[-6.746726330959832,5.522679083865754,.12],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:7.040460714797138,cy:.02164780187261517,cz:2.2301039869226305,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[7.040460714797138,-5.479383480120523,.12],rightPoint:[7.04046071479714,5.522679083865754,.12],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.746726330959831,cy:.02164780187261517,cz:2.228839888904333,lx:11.002062563986277,ly:.3,lz:4.061910717171535,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.74672633095983,5.522679083865754,.12],rightPoint:[-6.746726330959832,-5.479383480120523,.12],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.14686719191865416,cy:-5.479383480120523,cz:2.268765007024547,lx:13.787187045756973,ly:.3,lz:4.061910717171535,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.746726330959832,-5.479383480120523,.12],rightPoint:[7.04046071479714,-5.479383480120523,.12],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.014266831753957678,cy:0,cz:-.1875,lx:.26186699684124864,ly:0,lz:.625,color:"#73d8ff",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2.0309553585857674,ceiling:!1,locked:!1},{type:"Foundation",cx:.19669830531017318,cy:-.08496072357293061,cz:.06,lx:17.736587385560814,ly:14.112977894531522,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Window",cx:.1816870865194007,cy:1.506541025906793,cz:5.744650351161887,lx:6.810433848205276,ly:.2,lz:3.1501122272271536,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nRJKnWqaTZMRXNYjQYBBN4",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.204012569268376,cy:2.9463024154168345,cz:5.213097091560926,lx:1.8793730345291677,ly:.2,lz:.10394989944101299,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"dyzgwSBWzQe7d2Mdh1AuFs",interior:!0,polygonTop:[-.4945055117340491,2.9817139947018276],empty:!0,locked:!1},{type:"Window",cx:4.5669067733435496,cy:2.98476727058541,cz:5.198896044572235,lx:1.8476822467087874,ly:.2,lz:.0009475429668261212,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uhbKNy7GzaCLkkjREuNwq9",polygonTop:[.5,3.054344986803331],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.13914271249375698,cy:-1.4674024209486225,cz:5.7431156063968745,lx:6.808872300840532,ly:.2,lz:3.162055053995225,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fRAXriArpJwz8vt5qFbBr8",interior:!0,empty:!0,locked:!1},{type:"Window",cx:-4.236438960455537,cy:-2.8956049895712455,cz:5.215829810116305,lx:1.8110462507584613,ly:.2,lz:.11218491449779774,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100747,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"d2W6C8E4fV5E9D474375zw",empty:!0,interior:!0,polygonTop:[.4883725105977682,2.9617114188962397],locked:!1},{type:"Window",cx:4.521733506737581,cy:-2.9083363875263974,cz:5.211129436754687,lx:1.8533938312525375,ly:.2,lz:.0727447886791959,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.35367200616100725,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"hZSdDLaVahbQNDSPFMa22P",polygonTop:[-.5,2.97886505236164],interior:!0,empty:!0,locked:!1},{type:"Window",cx:5.579385297453698,cy:.038450512915636725,cz:5.156923892280704,lx:5.893522919746983,ly:.2,lz:.06575238683701148,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"whfKWvVSZ8Zpig8MXVtDnn",polygonTop:[-.004256210920065387,2.2474023195155906],interior:!0,empty:!0,locked:!1},{id:"hg8eUTjrNzo4UYNKSxj3Pu",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:3.810423621996117,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofType:"Gable",textureType:"Roof Texture #2",thickness:.2,wallsId:["hndwqtrrygFvfqvBJrvZYu"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2.3477273826368026,ceiling:!1,locked:!1},{type:"Window",cx:-5.210239899855391,cy:.02428974701914899,cz:5.199992048011484,lx:5.892196685663338,ly:.2,lz:.03913490008238186,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.05,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.518907643929702,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"nSDYeeSFt1TkoA9AsVzFvv",polygonTop:[-.006026915919198358,2.136722376968723],interior:!0,empty:!0,locked:!1},{type:"Window",cx:.0041783865768951906,cy:.3,cz:.7431852609403766,lx:.151429262766099,ly:.3,lz:.2863705218807532,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"2Z4ZTK92xYT6s7pAjiT6th",locked:!1},{type:"Window",cx:0,cy:.3,cz:.7391715106470117,lx:.15978603591988938,ly:.3,lz:.27834302129402333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",parentType:"Wall",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cAmpTqjyXxbvZVGVCwC6f3",locked:!1}],Bfn=12,jfn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.13462208385991,.12570156647960654,-6336761576329169e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.13462208385991,.12470118903347407,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[12.594616653747995,-17.492939317320165,4.593155797112493],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:15.475618750000006,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.1945052133063472,.596243023398342,1.0070484500451025],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:240,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Yfn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Ofn=1,_fn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Vfn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Gfn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Xfn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Jfn="Unknown",Kfn=null,qfn=null,$fn=null,Qfn=null,Zfn=["Dutch gable roof"],ehn=3,thn=3,nhn={docid:Dfn,time:Efn,timestamp:kfn,userid:Ffn,owner:Lfn,email:Wfn,world:Nfn,elements:Ufn,sceneRadius:Bfn,view:jfn,graphState:Yfn,evolutionMethod:Ofn,solarPanelArrayLayoutParams:_fn,solarPanelArrayLayoutConstraints:Vfn,evolutionaryAlgorithmState:Gfn,economicsParams:Xfn,modelType:Jfn,modelAuthor:Kfn,modelLabel:qfn,modelDescription:$fn,designProjectType:Qfn,notes:Zfn,minimumNavigationMoveSpeed:ehn,minimumNavigationTurnSpeed:thn},ohn="iRonP6f82ihBcmjezX6Awd",ihn="03/20/2023 10:32 pm",rhn=1679365946442,ahn="QWecNcxhyvP6j6sBN11hBsfZDau1",lhn=null,shn=null,chn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},uhn=[{type:"Wall",cx:-.48795103908913395,cy:4.769352133858485,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.247497828901754,4.769352133858485,0],rightPoint:[-5.223399907080022,4.769352133858485,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.2474978289017535,cy:.49244353247458017,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.247497828901752,-3.7844650689093244,0],rightPoint:[4.247497828901756,4.769352133858485,0],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-5.2233999070800206,cy:.4924435324745795,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:1,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-5.2233999070800206,4.769352133858485,0],rightPoint:[-5.223399907080021,-3.7844650689093258,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-.48795103908913307,cy:-3.7844650689093253,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:1,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-5.223399907080021,-3.7844650689093258,0],rightPoint:[4.247497828901755,-3.7844650689093244,0],relativeAngle:14066962464272472e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:1,rightRoofHeight:1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,9.714205250083014],fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-.7626979834308516,cy:-10.359931683120488,cz:.05,lx:12.251810254872597,ly:12.332955581960839,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:8.714205250083014,ceiling:!1},{type:"Human",name:"Jaye",cx:-.5647094530410346,cy:5.465061158668581,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55},{type:"Window",cx:-.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cikc5XBeHvW1ZWaYYBURtq",windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:5,lx:.21478352854197222,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hzyxe6XmNqQVYTMPwT86gP",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197222,cy:.1,cz:1.25,lx:.21478352854197222,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"poKYkVbAKiojUgyQBBM5eo",windowType:"Default",archHeight:1},{type:"Window",cx:.010739176427098599,cy:.1,cz:4.8,lx:.21478352854197225,ly:.3,lz:3,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"k65HqyHnfGZzC6XJ1tz5nf",windowType:"Default",archHeight:1},{type:"Window",cx:-.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iUS6mBnScixGHK4jiNa74q",windowType:"Default",archHeight:1},{type:"Window",cx:.21478352854197227,cy:.1,cz:1.25,lx:.21478352854197227,ly:.3,lz:1.5,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gpSRstNVjjcombQpjx6cCS",windowType:"Default",archHeight:1},{type:"Wall",cx:.16127924019256784,cy:2.332251732154486,cz:2.2408122612280286,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["auhnwnZuvqZga1NwTs4Qh6"],rightJoints:["fbEWRqBAdexGf2BAr7KyDh"],leftPoint:[2.004745592488851,2.3322517321544853,.09026163656372185],rightPoint:[-1.6821871121037153,2.332251732154486,.09026163656372185],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"kopxVibcARqNdAWExZTDft",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:3.091798357527264,centerRoofHeight:[-.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:2.0047455924888506,cy:.21993436134309594,cz:2.2301039869226305,lx:4.224634741622781,ly:.3,lz:4.183499794647806,leftJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],rightJoints:["kopxVibcARqNdAWExZTDft"],leftPoint:[2.0047455924888493,-1.8923830094682954,.09026163656372185],rightPoint:[2.004745592488852,2.3322517321544853,.09026163656372185],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"auhnwnZuvqZga1NwTs4Qh6",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:4.183499794647806,rightRoofHeight:4.183499794647806,fill:"Partial",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.5178364017567816,rightUnfilledHeight:3.5178364017567816,leftTopPartialHeight:4.183499794647806,rightTopPartialHeight:4.183499794647806},{type:"Wall",cx:-1.6821871121037146,cy:.2199343613430946,cz:2.228839888904333,lx:4.224634741622782,ly:.3,lz:3.091798357527264,leftJoints:["kopxVibcARqNdAWExZTDft"],rightJoints:["7WK6nSdGpz8Z5ugN4DQqPL"],leftPoint:[-1.6821871121037144,2.332251732154486,.09026163656372185],rightPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"fbEWRqBAdexGf2BAr7KyDh",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:3.091798357527264,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Wall",cx:.16127924019256823,cy:-1.8923830094682952,cz:2.4372288712998555,lx:3.686932704592566,ly:.3,lz:3.091798357527264,leftJoints:["fbEWRqBAdexGf2BAr7KyDh"],rightJoints:["auhnwnZuvqZga1NwTs4Qh6"],leftPoint:[-1.682187112103714,-1.892383009468295,.09026163656372185],rightPoint:[2.004745592488851,-1.8923830094682954,.09026163656372185],relativeAngle:18067425368120646e-32,textureType:"Wall Texture Default",color:"#e27300",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7WK6nSdGpz8Z5ugN4DQqPL",parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"nRVwf4unMrCTvV163G9mW8",selected:!1,leftRoofHeight:3.091798357527264,rightRoofHeight:4.183499794647806,centerRoofHeight:[.5,4.183499794647806],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.091798357527264,rightTopPartialHeight:3.091798357527264},{type:"Foundation",cx:4.882244941296917,cy:-10.70091032804037,cz:.05,lx:5.471984286386839,ly:6.044552967256032,lz:.09026163656372185,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oabGyAr3D6hSmpBhWPDGqF",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Gable",roofStructure:"Default",wallsId:["fbEWRqBAdexGf2BAr7KyDh"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oabGyAr3D6hSmpBhWPDGqF",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nRVwf4unMrCTvV163G9mW8",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Door",cx:-.01183534271196981,cy:0,cz:-.15296909264162628,lx:.4024016522069765,ly:0,lz:.6940618147167474,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"fbEWRqBAdexGf2BAr7KyDh",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"nthEKWrtxGs4PSrCWi5GEG",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"kopxVibcARqNdAWExZTDft",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"wKDeRMv3UEU8mXGaoDUiWs",windowType:"Default",archHeight:1},{type:"Window",cx:-.27122816718470794,cy:.1,cz:0,lx:.27122816718470794,ly:.3,lz:.6468727157224915,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#cccccc",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"7WK6nSdGpz8Z5ugN4DQqPL",foundationId:"oabGyAr3D6hSmpBhWPDGqF",id:"42U3kN4qWYuxhLNDbwxXrd",windowType:"Default",archHeight:1}],dhn=21,fhn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.063611874995965,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.063761881663362,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[13.842271241738974,-28.65293514275273,4.026963629011761],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.977021416592465,-10.783837041816236,3.5213876845072543],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},hhn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},phn=1,ghn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},mhn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},yhn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ahn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},whn="Unknown",vhn=null,xhn=null,bhn=null,Shn=["A-frame house"],Thn={docid:ohn,time:ihn,timestamp:rhn,userid:ahn,owner:lhn,email:shn,world:chn,elements:uhn,sceneRadius:dhn,view:fhn,graphState:hhn,evolutionMethod:phn,solarPanelArrayLayoutParams:ghn,solarPanelArrayLayoutConstraints:mhn,evolutionaryAlgorithmState:yhn,economicsParams:Ahn,modelType:whn,modelAuthor:vhn,modelLabel:xhn,modelDescription:bhn,notes:Shn},Phn="bm2bMMbAcph5HBEqZHjndk",Chn="03/20/2023 11:03 am",Rhn=1679324587911,Hhn="QWecNcxhyvP6j6sBN11hBsfZDau1",Mhn=null,Ihn=null,zhn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Dhn=[{type:"Wall",cx:.016921335908854303,cy:4.063374076185866,cz:2.2408122612280286,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.752370203899743,4.063374076185865,.1167755799390626],rightPoint:[-4.718527532082034,4.063374076185867,.1167755799390626],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:4.752370203899742,cy:-.2135345251980382,cz:2.2301039869226305,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.75237020389974,-4.490443126581943,.1167755799390626],rightPoint:[4.752370203899745,4.063374076185865,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-4.718527532082032,cy:-.2135345251980388,cz:2.228839888904333,lx:8.55381720276781,ly:.3,lz:8,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.718527532082033,4.063374076185867,.1167755799390626],rightPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:.016921335908855254,cy:-4.490443126581944,cz:2.4372288712998555,lx:9.470897735981776,ly:.3,lz:8,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.718527532082033,-4.490443126581945,.1167755799390626],rightPoint:[4.752370203899743,-4.490443126581943,.1167755799390626],relativeAngle:14066962464272472e-32,textureType:"No Wall Texture",color:"#ffd99a",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"hV2AZhwpKM9xyypcH54NGK",selected:!1,leftRoofHeight:8,rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,centerRoofHeight:[0,14],fill:"Full",eavesLength:.5,locked:!0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Foundation",cx:.06778462234397686,cy:.11229032412929119,cz:.05,lx:13.261555004868576,ly:13.821828446550082,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.3,roofType:"Gable",roofStructure:"Default",wallsId:["eTKLP2TockjZDP1RLDKvpj"],textureType:"Roof Texture Default",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hV2AZhwpKM9xyypcH54NGK",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:6,ceiling:!1,sideColor:"#4d4d4d",locked:!0},{type:"Human",name:"Jaye",cx:-5.524403634250389,cy:5.933912667936443,cz:.058387789875268936,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"tnC2iecYMhdN7XDrxXs4UT",selected:!1,ly:.55,locked:!0},{type:"Polygon",cx:.00031866172024926434,cy:-1.0502280057835613,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:6828465433912113e-20,y:-.982449115782449},{x:0,y:-1.25},{x:0,y:-.875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,filled:!0,selectedIndex:2,id:"xmTq7nGfL5qqQp8gvXDYM6",lineColor:"#4d4d4d",lineWidth:2,locked:!0},{type:"Polygon",cx:.14078214869407168,cy:-.7541666666666667,cz:.6437310349973828,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.26396652880138444,y:-.875},{x:0,y:-.875},{x:.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kxt6Srxx1T2g9dM5Cj9xjQ",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.09047767660927532,cy:-5921189464667502e-30,cz:.6771072607245675,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.875},{x:-.26396652880138444,y:-.875},{x:-.15837991728083065,y:-.5125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oepTS5ZaT38ze93aEUFXCf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:-.35,cz:-.1473145782594516,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:-.5},{x:.15837991728083065,y:-.5},{x:.15837991728083065,y:-.1875},{x:.49625707414660275,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6GCp4VpMJ4zaYZryasBb12",selected:!1,selectedIndex:1,locked:!0},{type:"Window",cx:0,cy:.3,cz:.35,lx:.21117322304110756,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:.8499999999999999,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cPiRHW6SZVJYmoL6piX4rh",locked:!0},{type:"Window",cx:-.322039165137689,cy:.3,cz:.35,lx:.26396652880138444,ly:.3,lz:.25,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"oKk1wpnrjFtx7ZScLUWdKG",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3257820909910863,cy:.3,cz:.35000000000000003,lx:.26396652880138444,ly:.3,lz:.24999999999999994,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vm61bCHu5wJTneq9mSRG3v",locked:!0},{type:"Polygon",cx:-.32731849571371674,cy:-.34375,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.5},{x:-.49625707414660275,y:-.5},{x:-.49625707414660275,y:-.1875},{x:-.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"a2uJiAM1SwWygA7Xks25tx",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.009700144501707204,cy:0,cz:.07091220488250127,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.5},{x:-.15837991728083065,y:-.1875},{x:.15837991728083065,y:-.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"okpxRdBH9UmPzQeBnPqHvV",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.43994421466897404,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.125},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnnDsq9utfqbvsSLW4Vsui",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.31675983456166135,cy:-.10416666666666667,cz:-.0908057613542031,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3167598345616613,y:-.125},{x:.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"daBi7jdbhLYUKfawDVZbRF",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.14583333333333334,cz:.09889005465479705,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.1875},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"83Jx4Wfx1CTQe5o1dVj7Gt",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.31823715865388064,cy:0,cz:-.06254223609465975,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4223464460822151,y:-.125},{x:.3695531403219382,y:-.1875},{x:.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2P1Z36zj1PZrLZ5WtCuQLU",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.1528231574478215,cy:0,cz:-.07973264486359,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.47513975184249196,y:-.1875},{x:.4223464460822151,y:-.125},{x:.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c8iKMXwV5TTJS5y7LAm16z",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.26396652880138444,cy:-.10416666666666667,cz:-.0264570438192977,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.3167598345616613,y:-.125},{x:.26396652880138444,y:-.0625},{x:.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4EQtRFUvGwquz82cAGupQx",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.0984129795658402,cy:0,cz:.0741183552861776,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.21117322304110756,y:-.125},{x:.15837991728083065,y:-.1875},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"keytXy7yjTuyQvCHx43FMf",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:-.08043767629130923,cy:-11842378929335004e-30,cz:.053462400842831936,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:-.0625},{x:.21117322304110756,y:-.125},{x:.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vcfgXdnGFRF224UmF7C68T",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.05586281472424893,cy:0,cz:-.06415089633102461,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.1875},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6L9YHg5xYnPV5wP7pRzMPQ",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.04508436921887703,cy:-11842378929335004e-30,cz:-.07958364344414548,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.10558661152055378,y:-.125},{x:.05279330576027689,y:-.0625},{x:0,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vFWJZ8BRQAYJsb48YWUz6j",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.12944043805698166,cy:0,cz:-.044015079009130986,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:-.125},{x:-.05279330576027689,y:-.1875},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"c9pAfjjQXFGB9FrY3fPcgo",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.1360791344719124,cy:0,cz:-.002668588802964056,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.05279330576027689,y:-.0625},{x:0,y:-.125},{x:-.10558661152055378,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8hMi9wi8eWGAVCFdCrrHxf",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.1504887203711347,cy:11842378929335004e-30,cz:-.03387070431424388,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.10558661152055378,y:-.125},{x:-.15837991728083065,y:-.1875},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"1vmj7VNyMLhdjUdvzKBed1",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2027600334109868,cy:11842378929335004e-30,cz:-.02143305207869428,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:-.0625},{x:-.10558661152055378,y:-.125},{x:-.21117322304110756,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ffiDmHRPrs2dDPEPn4TWqL",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3241256214430625,cy:-11842378929335004e-30,cz:-.01780218811727341,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.1875},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wcidSWb2sESnViCDPV9mWc",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.25617993668706274,cy:0,cz:-.01786081434302994,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.21117322304110756,y:-.125},{x:-.26396652880138444,y:-.0625},{x:-.3167598345616613,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"feb2PRU5xBgnQQYi5Q5HxG",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.15105849038732078,cy:0,cz:-.11142936913498758,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.3695531403219382,y:-.1875},{x:-.4223464460822151,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8YCxSmg5F51AUWFz5Z7Mcz",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.2903850025394723,cy:0,cz:-.05931035952397312,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.3167598345616613,y:-.125},{x:-.4223464460822151,y:-.125},{x:-.3695531403219382,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"br3QNNryqRA4C5JyMif58B",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.2709208200589227,cy:0,cz:-.12433060024345055,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.125},{x:-.47513975184249196,y:-.0625}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qua38i78SB79351oS944na",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.26414949628329426,cy:0,cz:-.11662195581661955,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.4223464460822151,y:-.125},{x:-.47513975184249196,y:-.1875},{x:-.47513975184249196,y:-.125}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"vmDWdbEKBTn6Q3L3pv8qqU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:-.1231126961021224,cy:0,cz:-.16413364186630847,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4968716360356549,y:.1875},{x:.4968716360356549,y:-.0625},{x:.15899447916988277,y:-.0625},{x:.15899447916988277,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8PUhoaNcXfpHS24ebeEAKM",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.17939465541008254,cy:11842378929335004e-30,cz:-.09134585167481035,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.1875},{x:.15837991728083065,y:-.0625},{x:-.15837991728083065,y:-.0625},{x:-.15837991728083065,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"bcXX5tcf3D2wVveoEkcL6f",selected:!1,selectedIndex:3,locked:!0},{type:"Polygon",cx:.27093529163208646,cy:0,cz:-.23361707380435942,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.1875},{x:-.15837991728083065,y:-.0625},{x:-.49625707414660275,y:-.0625},{x:-.49625707414660275,y:.1875}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6s38KEz9j6GBtEC98qn52U",selected:!1,selectedIndex:3,locked:!0},{type:"Window",cx:-.32016770221099033,cy:.3,cz:-.05625,lx:.2677094546547817,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"o7JmF1iLCdGFdtbRj8czNQ",locked:!0},{type:"Window",cx:.005279330576027693,cy:.3,cz:-.056249999999999994,lx:.22173188419316292,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"gnKEFjjyTpc69CbNkzsSnb",locked:!0},{type:"Window",cx:.33106142156711393,cy:.3,cz:-.05624999999999997,lx:.25340786764932904,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"itZnbX7dvNW4uttWy8xqNF",locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.2791666666666667,cz:-.3574546006707193,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49625707414660275,y:.225},{x:.3273184957137167,y:.3625},{x:.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM6FR2jokXDXXNuqEbWW5t",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.3273184957137167,cy:.45416666666666666,cz:-.38841568779580643,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.32793305760276886,y:.35833333333333334},{x:.15899447916988282,y:.49583333333333335},{x:.49687163603565493,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xbCXMjDGmXXmNhu45xKrKU",selected:!1,selectedIndex:0,locked:!0},{type:"Polygon",cx:.02549879326087855,cy:-11842378929335004e-30,cz:-.30729230835255206,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.15837991728083065,y:.225},{x:0,y:.3625},{x:-.15837991728083065,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"5HQ6TVrPFFjZ9n9pMNCaPw",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.17764937225875113,cy:11842378929335004e-30,cz:-.38532011935953503,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15837991728083065,y:.225},{x:-.32670393382466456,y:.35833333333333334},{x:-.49625707414660275,y:.225}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"6xMKYrX7YfEEQhYDvJGbXj",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.028297592880302983,cy:0,cz:-.4292130777977021,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.32670393382466456,y:.35833333333333334},{x:-.4956425122575506,y:.49583333333333335},{x:-.1577653553917785,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aC5hTZ2mJqEmuJzedm4MJc",selected:!1,locked:!0},{type:"Polygon",cx:-.0752822112279152,cy:0,cz:-.43162058966296696,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:0,y:.3625},{x:-.14782125612877528,y:.5},{x:.15899447916988285,y:.49583333333333335}],parentId:"o6RrXLKTD62SEJEe7jE1pv",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"g4vxfHB2tWhootScoBEJAy",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.15837991728083065,cy:.3,cz:-.36250000000000004,lx:.08446928921644303,ly:.3,lz:.10000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aTgEN9mCRYp5yq7d1z5C9J",locked:!0},{type:"Window",cx:.16893857843288604,cy:.3,cz:-.3625,lx:.08446928921644302,ly:.3,lz:.09999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"iJhjRtnwcwPom4AbAof7TY",locked:!0},{type:"Window",cx:0,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eM9DBHVTV9qvEYGB1GSGT4",locked:!0},{type:"Window",cx:-.2850838511054952,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"xktqPqwH68DsLhhed5NdpJ",locked:!0},{type:"Window",cx:.3167598345616613,cy:.3,cz:.625,lx:.10558661152055378,ly:.3,lz:.125,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"smfVPdpD4AJjru3d9qbPFB",locked:!0},{type:"Polygon",cx:.33203141791512314,cy:-.34064625850340136,cz:.0816606073539844,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.16366961869923916,y:-.5},{x:.16366961869923916,y:-.1875},{x:.5026995431476631,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7P3jamWRpmTThzKQQchxem",selected:!1,selectedIndex:2,locked:!0},{type:"Polygon",cx:.08095645236308847,cy:11472304587793285e-30,cz:.024081550771485216,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.11690687049945654,y:-.4875},{x:-.15197893164929352,y:-.4875},{x:-.15197893164929352,y:-.1875},{x:.11690687049945654,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"hti4VWVrfMLPFRbMnZuXCh",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.06332927122552619,cy:37007434154171886e-32,cz:.11866929892518252,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.19874167984907612,y:-.5},{x:-.49524132235097623,y:-.4844583756672448},{x:-.4910088560977175,y:-.1875},{x:-.19874167984907612,y:-.1875}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"fK55YfVyK24HbKmqkoFvX8",selected:!1,selectedIndex:0,locked:!0},{type:"Window",cx:-.3273392373984783,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7uoagXVHHDZRJe6yfz87Uy",locked:!0},{type:"Window",cx:.02338137409989131,cy:.3,cz:.34375,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"2eFNdjG8a6PPPeWCyHvJZF",locked:!0},{type:"Window",cx:.3435254963995652,cy:.3,cz:.34375,lx:.10251664030184776,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pVvTiVPrSp7DHLhNTLPbpw",locked:!0},{type:"Polygon",cx:.11417019715816792,cy:-.03691339676553812,cz:-.01732802673536704,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.334513812493377,y:-.1887668131742859},{x:.11690687049945654,y:-.1875},{x:0,y:.2},{x:.5026995431476631,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"ncvU41deRZgttbWEevak9W",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:.23813144459901245,cy:-12582527612418442e-30,cz:-.15608783217541283,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.15197893164929352,y:-.1875},{x:-.33902992444842395,y:-.1875},{x:-.5026995431476631,y:.2},{x:-.011690687049945655,y:.2}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nUnv6wAVCPmYj3Aresrcpk",selected:!1,selectedIndex:1,locked:!0},{type:"Polygon",cx:-.13062766511807228,cy:-2590520390792032e-30,cz:-.22842446371425668,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.49818343119261616,y:.1987331868257141},{x:.15301751728589502,y:.20325890158694568},{x:.15345728483965818,y:.49941339676553814},{x:.49818343119261616,y:.49873318682571405}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8Kz8otpe54cGwNRpjbBHbb",selected:!1,locked:!0},{type:"Polygon",cx:.08870702581035714,cy:11657341758564144e-30,cz:-.3327175444793864,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1564950436043405,y:.19873318682571411},{x:-.5016609575110615,y:.2032589015869457},{x:-.5012211899572985,y:.49941339676553814},{x:-.1564950436043405,y:.4987331868257141}],parentId:"eTKLP2TockjZDP1RLDKvpj",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"wG7R1sDD8K7WPRvoZtoyJw",selected:!1,locked:!0},{type:"Window",cx:-.23381374099891308,cy:.3,cz:.0062500000000000056,lx:.11690687049945654,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"pHH5nsCFYVbtKpFCrTf3Ws",locked:!0},{type:"Window",cx:.25134977157383154,cy:.3,cz:.0062500000000000056,lx:.1285975575494022,ly:.3,lz:.1875,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#4d4d4d",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"cwAvtz8KzMtAWzktGpFNXr",locked:!0},{type:"Polygon",cx:.3974833596981522,cy:-.3,cz:.15250947773144075,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:-.4875},{x:.29226717624864135,y:-.4875},{x:.29226717624864135,y:-.1125},{x:.5026995431476631,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"h2haDNadyPJVsXHUBM7goT",selected:!1,selectedIndex:2,locked:!1},{type:"Polygon",cx:.2062582639639952,cy:0,cz:.09819258432246669,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.29352549639956527,y:-.4875},{x:-.503957863298587,y:-.4875},{x:-.503957863298587,y:-.1125},{x:-.29352549639956527,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"qNhdQA6nMEubq6HrA8GQ56",selected:!1},{type:"Polygon",cx:-.00041944005030796134,cy:-.2375,cz:.11572778700091202,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.001258320150923864,y:-.4875},{x:-.29226717624864135,y:-.1125},{x:0,y:-.1125},{x:.29226717624864135,y:-.1125}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7xfb1T386qUxDL13U5ur56",selected:!1,selectedIndex:2},{type:"Window",cx:0,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"61722s3ZSQeHug5MRWQdpi",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"16SX2hn6bjPsYFGUZ6H1HJ",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3947838165504891,cy:.3,cz:.25625,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,-1,0],rotation:[0,0,0],id:"rxzF9abntmscS3LgzGNTHv",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.26762748199782616,cy:.07499999999999998,cz:-.20483915447539497,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.4137610701221468,y:-.10625000000000001},{x:.12149389387350548,y:-.10625000000000001},{x:.12149389387350548,y:.25625},{x:.4137610701221468,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"4a4kmf2AVjLH4xqmTBj5qm",selected:!1,selectedIndex:3},{type:"Polygon",cx:.2640836675523676,cy:0,cz:-.07455503736820074,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:-.1357012212252989,y:-.10625000000000001},{x:-.4279683974739402,y:-.10625000000000001},{x:-.4279683974739402,y:.25625},{x:-.1357012212252989,y:.25625}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nzNaoQaRpK6d7hEi9ZXqqA",selected:!1},{type:"Polygon",cx:-.00800080807265061,cy:-3076242964065538e-30,cz:-.3451540701116582,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.5026995431476631,y:.2625},{x:-.49994974836164874,y:.2579458713508321},{x:-.49994974836164874,y:.49544587135083207},{x:.5026995431476631,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"eVuLrSaB1RiWnm1kdJDxE3",selected:!1,selectedIndex:3},{type:"Window",cx:-.25719511509880444,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"srgUpVRNxrAgJWbybn588q",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.29226717624864135,cy:.3,cz:-.06875,lx:.11690687049945654,ly:.3,lz:.1875,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#4d4d4d",frame:!0,frameWidth:.1,windowType:"Arched",archHeight:1,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],id:"98pLU7aQ4axthpXWXa3LR2",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Polygon",cx:.004459000607667748,cy:5782411586589357e-32,cz:-.07786416501615101,lx:.4,ly:.4,lz:.4,filled:!1,color:"#ffffff",lineColor:"#4d4d4d",lineWidth:2,normal:[0,0,1],rotation:[0,0,-3.141592653589793],vertices:[{x:.25719511509880444,y:.2625},{x:-.29226717624864135,y:.2625},{x:-.29226717624864135,y:.5},{x:.25719511509880444,y:.5}],parentId:"vKjEHsN5hVHi8S9tPzBesN",parentType:"Wall",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"oMeHBYv8MZowW2UjWYNbTs",selected:!1,selectedIndex:3}],Ehn=18,khn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.5736443737686907,-8.024644919181295,-8025001608758962e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.5736443737686907,-8.024794925856764,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.811404848456696,-24.22563598939458,8.16030935368929],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[2.4887069683147542,-4.392139935230605,6.944093833347563],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},Fhn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Lhn=1,Whn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Nhn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Uhn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Bhn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},jhn="Unknown",Yhn=null,Ohn=null,_hn=null,Vhn=["A half-timbered house"],Ghn={docid:Phn,time:Chn,timestamp:Rhn,userid:Hhn,owner:Mhn,email:Ihn,world:zhn,elements:Dhn,sceneRadius:Ehn,view:khn,graphState:Fhn,evolutionMethod:Lhn,solarPanelArrayLayoutParams:Whn,solarPanelArrayLayoutConstraints:Nhn,evolutionaryAlgorithmState:Uhn,economicsParams:Bhn,modelType:jhn,modelAuthor:Yhn,modelLabel:Ohn,modelDescription:_hn,notes:Vhn},Xhn="u6V16ot91aBGkUfNPgtKBw",Jhn="06/13/2023 10:40 am",Khn=1686667251444,qhn=null,$hn=null,Qhn={solarRadiationHeatmapGridCellSize:.3,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Zhn=[{type:"Human",name:"John",cx:-3.628595765451405,cy:-5.965837088553536,cz:.075,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"qPhtowBuGGDfEAuEFNhxwt",selected:!1,locked:!1},{type:"Wall",cx:.10471070913816627,cy:6.876571226527738,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4.1,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[6.991747390099202,6.876571226527738,.1],rightPoint:[-6.78232597182287,6.876571226527738,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.0625,lx:.0708994221944815,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:6.991747390099202,cy:1.3532362351510367,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[6.9917473900992,-4.1700987562256655,.1],rightPoint:[6.991747390099204,6.876571226527738,.1],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.782325971822869,cy:1.3532362351510367,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4.1,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-6.782325971822869,6.876571226527738,.1],rightPoint:[-6.78232597182287,-4.1700987562256655,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.0625,lx:.09052501808791685,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:.10471070913816716,cy:-4.1700987562256655,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4.1,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-6.78232597182287,-4.1700987562256655,.1],rightPoint:[6.991747390099204,-4.1700987562256655,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"22qg2ZvB7t4cVkS2ppWUue",selected:!1,leftRoofHeight:4.1,rightRoofHeight:4.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3993009079801005,cy:.1,cz:-.0625,lx:.07260016508729113,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25410057780551853,cy:.1,cz:-.062499999999999944,lx:.072600165087291,ly:.3,lz:.3749999999999999,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.217800495261873,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-.02203325078968787,cy:0,cz:-.1875,lx:.18926683175395775,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"wzic8VHyh9MpPw339UYDy4",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"22qg2ZvB7t4cVkS2ppWUue",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["roDDPncXBpNgmNum9aUaov"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:-11.627490246197299,cy:.3947804481181869,cz:.075,lx:19.77405921718084,ly:14.655745561697936,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Foundation",cx:-11.621608440780687,cy:1.9572753540307968,cz:.05,lx:16.830274696272348,ly:15.08817119873108,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1hsdTDJQtP791cvdCX88pM",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},locked:!1},{type:"Wall",cx:.08541275905423218,cy:3.142987766593968,cz:2.2408122612280286,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["oqmTcCR15WVtwsqrWdL4GC"],rightJoints:["1pdrgHKxCmzDRjbnSqoG6g"],leftPoint:[5.57682100132025,3.142987766593967,0],rightPoint:[-5.405995483211786,3.142987766593969,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pbycx2vwYmMhSjRe9GEQ9K",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Partial",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.423886716391337,rightUnfilledHeight:4.423886716391337,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:5.576821001320248,cy:-.20560385518737068,cz:2.2301039869226305,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],rightJoints:["pbycx2vwYmMhSjRe9GEQ9K"],leftPoint:[5.576821001320245,-3.5541954769687103,0],rightPoint:[5.57682100132025,3.142987766593969,0],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqmTcCR15WVtwsqrWdL4GC",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.137593329953601,rightUnfilledHeight:4.137593329953601,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:-5.405995483211786,cy:-.20560385518737068,cz:2.228839888904333,lx:6.697183243562679,ly:.3,lz:5.1,leftJoints:["pbycx2vwYmMhSjRe9GEQ9K"],rightJoints:["gCfAqTHxYsKYYxNWYw9TWQ"],leftPoint:[-5.405995483211786,3.142987766593969,0],rightPoint:[-5.405995483211786,-3.5541954769687103,0],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1pdrgHKxCmzDRjbnSqoG6g",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.005808068482516,rightUnfilledHeight:4.005808068482516,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Wall",cx:.08541275905423218,cy:-3.5541954769687103,cz:2.268765007024547,lx:10.982816484532037,ly:.3,lz:5.1,leftJoints:["1pdrgHKxCmzDRjbnSqoG6g"],rightJoints:["oqmTcCR15WVtwsqrWdL4GC"],leftPoint:[-5.405995483211786,-3.5541954769687103,0],rightPoint:[5.57682100132025,-3.5541954769687103,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gCfAqTHxYsKYYxNWYw9TWQ",parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",selected:!1,roofId:"1ruH3RPfFc3ThJYcd2omkK",leftRoofHeight:5.1,rightRoofHeight:5.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.950942062075448,rightUnfilledHeight:3.950942062075448,leftTopPartialHeight:4.525537209578383,rightTopPartialHeight:4.525537209578383,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",roofStructure:"Default",wallsId:["pbycx2vwYmMhSjRe9GEQ9K"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1hsdTDJQtP791cvdCX88pM",foundationId:"1hsdTDJQtP791cvdCX88pM",id:"1ruH3RPfFc3ThJYcd2omkK",leftRidgeLength:3.201607189072456,rightRidgeLength:3.144275873016056,rise:3.3,ceiling:!1,locked:!1},{type:"Human",name:"Jett",cx:3.45311660764904,cy:-5.539983726654682,cz:0,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"ngMWYAz5cg4LmcZtkKGH5w",selected:!1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:5.154362868463492,cz:2.2408122612280286,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["63yNZT5sk98atsFEx8NvNs"],rightJoints:["jQsmtVwKhe4n3CrR6jXs3q"],leftPoint:[5.513250441369763,5.154362868463492,.15],rightPoint:[-6.642627256655608,5.154362868463492,.15],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mzpK9wLgMhYvSmDqWB4w5a",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"4wXNeeycaqHL9B1R9qUX1E",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"mt3NkwPRVR29Vv4nC9yzZx",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"a4kNY3m4aqY6M343x3uLZh",parentId:"mzpK9wLgMhYvSmDqWB4w5a",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:5.513250441369763,cy:.8650317721032894,cz:2.2301039869226305,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["7AAP4SGnSJct2FC9Zr7dc4"],rightJoints:["mzpK9wLgMhYvSmDqWB4w5a"],leftPoint:[5.513250441369756,-3.424299324256914,.15],rightPoint:[5.513250441369763,5.154362868463492,.15],relativeAngle:1.570796326794896,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"63yNZT5sk98atsFEx8NvNs",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jbtNFjUNQaHTwUPP6Cgyx7",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ig1Epmrjnd2PJxhzkNaQVQ",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"f3BCsz5GQBEYy4XiqRBqZE",parentId:"63yNZT5sk98atsFEx8NvNs",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-6.642627256655608,cy:.8650317721032894,cz:2.228839888904333,lx:8.578662192720406,ly:.3,lz:4,leftJoints:["mzpK9wLgMhYvSmDqWB4w5a"],rightJoints:["7AAP4SGnSJct2FC9Zr7dc4"],leftPoint:[-6.642627256655608,5.154362868463492,.15],rightPoint:[-6.642627256655608,-3.424299324256914,.15],relativeAngle:-1.5707963267948966,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jQsmtVwKhe4n3CrR6jXs3q",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"cWeaG9uSw8kJfhXamtKBxr",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nxekbBrmyzGrPUF9ezKfwT",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"e67VWqxp9LA175MVc6hEpX",parentId:"jQsmtVwKhe4n3CrR6jXs3q",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Wall",cx:-.5646884076429224,cy:-3.424299324256914,cz:2.268765007024547,lx:12.155877698025375,ly:.3,lz:4,leftJoints:["jQsmtVwKhe4n3CrR6jXs3q"],rightJoints:["63yNZT5sk98atsFEx8NvNs"],leftPoint:[-6.642627256655608,-3.424299324256914,.15],rightPoint:[5.513250441369763,-3.424299324256914,.15],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"7AAP4SGnSJct2FC9Zr7dc4",parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofId:"4gpAeqULbxkTE3NVbw47eo",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Window",cx:-.39930090798010054,cy:.1,cz:-.0484624485645839,lx:.072600165087291,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"3CK46FAqDU4yiw68e68gyB",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"b4tHm9uwSzreh4oUqoA1iA",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25410057780551853,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"i6yCtjaey6bF3bxgioyozq",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jfHaiksBWSL7KRtRUTCNe2",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.02056618256702364,cy:0,cz:-.1875,lx:.2056618256702355,ly:0,lz:.625,color:"white",textureType:"Door Texture #7",normal:[0,1,0],rotation:[0,0,0],id:"srJTCNtCygPjzCukKAxRUa",parentId:"7AAP4SGnSJct2FC9Zr7dc4",foundationId:"oWDryEiqPVRjWJgYF9QDux",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{id:"4gpAeqULbxkTE3NVbw47eo",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"oWDryEiqPVRjWJgYF9QDux",foundationId:"oWDryEiqPVRjWJgYF9QDux",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["7AAP4SGnSJct2FC9Zr7dc4"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:3.3,ceiling:!1,locked:!1},{type:"Foundation",cx:12.400385994458517,cy:1.2287983710659756,cz:.075,lx:14.955401155218322,ly:11.516608009620233,lz:.15,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oWDryEiqPVRjWJgYF9QDux",selected:!1,notBuilding:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"B"},locked:!1},{type:"Wall",cx:1.5103273766750398,cy:6.063064855929808,cz:2.2408122612280286,lx:13.774073361922072,ly:.3,lz:4,leftJoints:["tBjXFzHUauAuKRcxtaPG1e"],rightJoints:["4SzYT1f9J8muRMTnAg2SJH"],leftPoint:[8.397364057636077,6.063064855929808,.25],rightPoint:[-5.376709304285996,6.063064855929808,.25],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dwbAGuCethnJoxAoWyoGv2",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:8.397364057636077,cy:.5397298645531063,cz:2.2301039869226305,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["jXXAZGYK8JJ2UA3NqYndxp"],rightJoints:["dwbAGuCethnJoxAoWyoGv2"],leftPoint:[8.397364057636073,-4.983605126823596,.25],rightPoint:[8.397364057636077,6.063064855929808,.25],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tBjXFzHUauAuKRcxtaPG1e",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",structureSpacing:2.3,opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:-5.376709304285995,cy:.5397298645531063,cz:2.228839888904333,lx:11.046669982753404,ly:.3,lz:4,leftJoints:["dwbAGuCethnJoxAoWyoGv2"],rightJoints:["jXXAZGYK8JJ2UA3NqYndxp"],leftPoint:[-5.376709304285995,6.063064855929808,.25],rightPoint:[-5.376709304285996,-4.983605126823596,.25],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4SzYT1f9J8muRMTnAg2SJH",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{type:"Wall",cx:1.5103273766750416,cy:-4.983605126823596,cz:2.268765007024547,lx:13.774073361922074,ly:.3,lz:4,leftJoints:["4SzYT1f9J8muRMTnAg2SJH"],rightJoints:["tBjXFzHUauAuKRcxtaPG1e"],leftPoint:[-5.376709304285996,-4.983605126823596,.25],rightPoint:[8.397364057636077,-4.983605126823596,.25],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jXXAZGYK8JJ2UA3NqYndxp",parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",wallStructure:"Pillar",opacity:0,roofId:"uJkcA94q1VPrPcTVWbwGvS",selected:!1,leftRoofHeight:4,rightRoofHeight:4,structureSpacing:2.3,structureWidth:.25,structureColor:"#ffffff",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4,locked:!1},{id:"uJkcA94q1VPrPcTVWbwGvS",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#454769",normal:[0,0,1],rotation:[0,0,0],parentId:"s1ySBq5Hp2XQRHXHYFr7Ei",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",roofType:"Hip",roofStructure:"Default",textureType:"Roof Texture #2",thickness:.2,wallsId:["jXXAZGYK8JJ2UA3NqYndxp"],rightRidgeLength:3.4435183404805185,leftRidgeLength:3.4435183404805185,selected:!1,rise:1.5269644430820746,ceiling:!1,locked:!1},{type:"Foundation",cx:10.37396266274916,cy:1.4954382308468475,cz:.125,lx:16.96282588210709,ly:13.050086329642726,lz:.25,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s1ySBq5Hp2XQRHXHYFr7Ei",selected:!1,enableGroupMaster:!0,notBuilding:!0,locked:!1},{type:"Window",cx:.07884126244762069,cy:-.4199549792627557,cz:5.657927332967425,lx:6.879964200295598,ly:.2,lz:3.6298042832326978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"5qeCesjRK72iMFt1u6qiC3",interior:!0,empty:!0,locked:!1},{type:"Window",cx:4.6299611623937915,cy:-1.9963568795412103,cz:5.087112090821291,lx:1.9473454718410252,ly:.2,lz:.2766726175398978,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"aGpcgzxVmKxBSPh9yRzTLJ",interior:!0,empty:!0,polygonTop:[-.5,3.2251316092291917],locked:!1},{type:"Window",cx:-4.39419016648573,cy:-2.002733503950701,cz:5.084803114661254,lx:1.92547283639216,ly:.2,lz:.24728723598247773,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.34741346419269825,0,0],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"osBXWJHBmx9hpwyQUwqfsK",polygonTop:[.46902792604716753,3.180338239963955],locked:!1},{type:"Window",cx:.11638811342117883,cy:3.157291970642662,cz:5.646751287652042,lx:6.9955661140483585,ly:.2,lz:3.5587869628599558,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"4W4UVMV7FW5xPQu2hjVR4Y",locked:!1},{type:"Window",cx:4.590702645311016,cy:4.683424214953679,cz:5.094138691568809,lx:1.7954404068830758,ly:.2,lz:.26778946663296593,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"jJTqLy3iA2qbmapg7Zub8Z",polygonTop:[.5,3.0683555686449475],locked:!1},{type:"Window",cx:-4.415927568932208,cy:4.63032056148964,cz:5.113367528330277,lx:1.7975728034829963,ly:.2,lz:.3359502694894871,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.3474134641926985,0,3.141592653589793],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"m5979bvktsFocL1GPG4weA",polygonTop:[-.4957280589496637,2.9554677254634854],locked:!1},{type:"Window",cx:5.504236899323556,cy:1.3302889338668908,cz:5.19822982033263,lx:5.612135328984845,ly:.2,lz:.3020024535761091,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199241,0,1.5707963267948963],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"uyC7NDy7e1ziZpNPzq7VwJ",polygonTop:[.009359362140956982,1.9288870310031725],locked:!1},{type:"Window",cx:-5.3990349070202655,cy:1.2828552303810974,cz:5.1395256307270145,lx:6.2123129373580515,ly:.2,lz:6294722086474765e-21,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5129779343199243,0,4.71238898038469],parentId:"22qg2ZvB7t4cVkS2ppWUue",parentType:"Roof",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wfuMCkccoofFa3YJZeQXjY",polygonTop:[-.008473558583168532,2.320323655487881],locked:!1},{type:"Window",cx:1.5099442103574612,cy:2.197100019877415,cz:5.268772915652224,lx:6.866771854005096,ly:.2,lz:3.3727323067547332,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"jKvUBT3s3eyiNHv6xMyWAB",locked:!1},{type:"Window",cx:1.5105405746812384,cy:-1.0648474200330473,cz:5.283367872610519,lx:6.865526912026976,ly:.2,lz:3.1583095363910174,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"nehwkAn747SbcH197nfAym",locked:!1},{type:"Window",cx:6.847328996169246,cy:.5571537124890757,cz:4.912671214877417,lx:5.747166362942518,ly:.2,lz:.07159007097595167,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,1.5707963267948963],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"vzRJC7dg8gVnPCKJ8nK1uw",polygonTop:[.0029237138437357584,1.8546622388485283],locked:!1},{type:"Window",cx:-3.913630166662161,cy:.5040604017480659,cz:4.875275785658461,lx:6.025884701181912,ly:.2,lz:.016127155846384855,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.4061405868341845,0,4.71238898038469],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"kwCF77vQKSWqB9vJyLsGEC",polygonTop:[-.002404697670111075,1.990469286566286],locked:!1},{type:"Window",cx:5.8964025615822475,cy:3.6476180468177413,cz:4.867767100389265,lx:1.6622791380927708,ly:.2,lz:.4588203236729191,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"41o33Gu8Z1ZgNh7JnbXzVZ",polygonTop:[.5,2.796622713087028],locked:!1},{type:"Window",cx:-2.855581425025988,cy:3.549188813296429,cz:4.894978547817588,lx:1.5556391784234185,ly:.2,lz:.4903348709835801,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.26972023694331404,0,3.141592653589793],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"gfa6RMCw76XaAmQeeHFmdc",polygonTop:[-.5,2.5684727779282683],locked:!1},{type:"Window",cx:-2.7969890059844267,cy:-2.384701698791339,cz:4.918484960952953,lx:1.5043468507143833,ly:.2,lz:.30588110911202415,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"neBTigCnPfsLosQzW9yEzs",polygonTop:[.5,2.6873784768414724],locked:!1},{type:"Window",cx:5.895662984214205,cy:-2.416289985539417,cz:4.90975215898503,lx:1.579400635678578,ly:.2,lz:.3714274801752112,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Polygonal",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.2697202369433138,0,0],parentId:"uJkcA94q1VPrPcTVWbwGvS",parentType:"Roof",foundationId:"s1ySBq5Hp2XQRHXHYFr7Ei",id:"4LmavYSaxJMdhHeDjENvmB",polygonTop:[-.5,2.6218328392217303],locked:!1}],epn=27,tpn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6328594466581806,4.6052145632619785,4606954980926815e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6328594466581806,4.6042141858164145,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-24.900270995188162,-22.88331862075037,5.458927240534251],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:43.16939043526372,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.17215904908430746,3.1094271606158492,2.035326701937142],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:334,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},npn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},opn=1,ipn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},apn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},spn="Unknown",cpn=null,upn=null,dpn=null,fpn=["Combination roof vs. bonnet roof"],hpn={docid:Xhn,time:Jhn,timestamp:Khn,owner:qhn,email:$hn,world:Qhn,elements:Zhn,sceneRadius:epn,view:tpn,graphState:npn,evolutionMethod:opn,solarPanelArrayLayoutParams:ipn,solarPanelArrayLayoutConstraints:rpn,evolutionaryAlgorithmState:apn,economicsParams:lpn,modelType:spn,modelAuthor:cpn,modelLabel:upn,modelDescription:dpn,notes:fpn},ppn="eUyyJJc59Won933XJe19sV",gpn="06/17/2023 01:41 pm",mpn=1687023666114,ypn="QWecNcxhyvP6j6sBN11hBsfZDau1",Apn=null,wpn=null,vpn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 9:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},xpn=[{type:"Human",name:"Jeff",cx:2.849872692474971,cy:-6.695477959956797,cz:1.05,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.6,locked:!0},{type:"Wall",cx:.40535681744352425,cy:5.410198334546533,cz:2.2408122612280286,lx:6.331471207996493,ly:.3,lz:8.5,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[3.571092421441771,5.410198334546532,2.1],rightPoint:[-2.760378786554723,5.410198334546534,2.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:8.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8.5,rightTopPartialHeight:8.5},{type:"Wall",cx:3.57109242144177,cy:-.3506001740764093,cz:2.2301039869226305,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["8VKLBEAuMJxaXGp1WaM9mU"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[3.57109242144177,-6.1113986826993525,2.1],rightPoint:[3.571092421441772,5.410198334546534,2.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:8.5,centerRoofHeight:[-.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Wall",cx:-2.7603787865547225,cy:-.3506001740764093,cz:2.228839888904333,lx:11.521597017245886,ly:.3,lz:6.067100850480004,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["8VKLBEAuMJxaXGp1WaM9mU"],leftPoint:[-2.760378786554722,5.410198334546534,2.1],rightPoint:[-2.760378786554723,-6.1113986826993525,2.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:8.5,rightRoofHeight:7,centerRoofHeight:[.19251847682880624,6.3652370979872765],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6.067100850480004,rightTopPartialHeight:6.067100850480004},{type:"Foundation",cx:-.33784337005620096,cy:1.3319211806243931,cz:1.05,lx:15.0489874276124,ly:21.361755748126203,lz:2.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,color:"#b3b3b3",locked:!0},{type:"Wall",cx:.40535681744352337,cy:-6.1113986826993525,cz:3.5404855174251457,lx:6.3314712079964925,ly:.3,lz:7,relativeAngle:0,leftPoint:[-2.760378786554723,-6.1113986826993525,2.1],rightPoint:[3.57109242144177,-6.1113986826993525,2.1],leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"8VKLBEAuMJxaXGp1WaM9mU",roofId:"9DRBXRS4our7656cx2vwpG",leftRoofHeight:7,rightRoofHeight:7,color:"#999999",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["8VKLBEAuMJxaXGp1WaM9mU"],textureType:"No Roof Texture",color:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"9DRBXRS4our7656cx2vwpG",ridgeLeftPoint:[.19251847682880624,1],ridgeRightPoint:[-.19251847682880624,1],locked:!0,sideColor:"#999999",rise:-2.1347629020127235,ceiling:!1},{type:"Wall",cx:.7846470380907851,cy:6.144582715914701,cz:2.2408122612280286,lx:8.239996514218573,ly:.1,lz:2.458799038921556,leftJoints:["awarKnJ5NQrzVL6xf3jKDE"],rightJoints:["c43fWPvXTFz63buLF7EQiF"],leftPoint:[4.904645295200071,6.1445827159147,.038162668507384964],rightPoint:[-3.3353512190185017,6.144582715914702,.038162668507384964],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s2FCVLdwmxK7ScMqTWFnPt",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:4.904645295200071,cy:-.6338350568557676,cz:2.2301039869226305,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["jCtJVX5GRr3k9vybapQgGf"],rightJoints:["s2FCVLdwmxK7ScMqTWFnPt"],leftPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200073,6.144582715914702,.038162668507384964],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"awarKnJ5NQrzVL6xf3jKDE",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:-3.335351219018501,cy:-.6338350568557676,cz:2.228839888904333,lx:13.55683554554094,ly:.1,lz:2.458799038921556,leftJoints:["s2FCVLdwmxK7ScMqTWFnPt"],rightJoints:["jCtJVX5GRr3k9vybapQgGf"],leftPoint:[-3.3353512190185,6.144582715914702,.038162668507384964],rightPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c43fWPvXTFz63buLF7EQiF",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:1.93,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Wall",cx:.7846470380907842,cy:-7.4122528296262375,cz:3.5404855174251457,lx:8.239996514218571,ly:.1,lz:2.458799038921556,leftJoints:["c43fWPvXTFz63buLF7EQiF"],rightJoints:["awarKnJ5NQrzVL6xf3jKDE"],leftPoint:[-3.3353512190185017,-7.4122528296262375,.038162668507384964],rightPoint:[4.904645295200069,-7.4122528296262375,.038162668507384964],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"jCtJVX5GRr3k9vybapQgGf",parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",wallStructure:"Stud",opacity:0,roofId:"5By6QsyR9XJzwW57eFw7Rg",selected:!1,leftRoofHeight:2.458799038921556,rightRoofHeight:2.458799038921556,structureSpacing:2.1,structureWidth:.2,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.458799038921556,rightTopPartialHeight:2.458799038921556},{type:"Foundation",cx:-.7344091119928784,cy:1.2827917090727918,cz:1,lx:11.86176666643788,ly:16.71773862227102,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"oR9dfJF3BCFMyFyFLPCHa7",selected:!1,locked:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["jCtJVX5GRr3k9vybapQgGf"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oR9dfJF3BCFMyFyFLPCHa7",foundationId:"oR9dfJF3BCFMyFyFLPCHa7",id:"5By6QsyR9XJzwW57eFw7Rg",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:-.039595288973048426,cy:5.505906418342898,cz:2.2408122612280286,lx:8.1086978625349,ly:.1,lz:3.7968822453017803,leftJoints:["cSVfkr5b26MSCjvZV6AAuA"],rightJoints:["39y7xTS1S7F7jiBBvyvPxR"],leftPoint:[4.0147536422944015,5.505906418342896,0],rightPoint:[-4.093944220240498,5.5059064183429,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hq7PgWBkRgswjhv5arBsam",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:4.0147536422944015,cy:-1.1596625117163346,cz:2.2301039869226305,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["8K2s8ExFq4TG2csG9MWdsp"],rightJoints:["hq7PgWBkRgswjhv5arBsam"],leftPoint:[4.0147536422944,-7.8252314417755695,0],rightPoint:[4.014753642294403,5.5059064183429,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cSVfkr5b26MSCjvZV6AAuA",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-4.093944220240498,cy:-1.1596625117163346,cz:2.228839888904333,lx:13.33113786011847,ly:.1,lz:3.7968822453017803,leftJoints:["hq7PgWBkRgswjhv5arBsam"],rightJoints:["8K2s8ExFq4TG2csG9MWdsp"],leftPoint:[-4.093944220240498,5.5059064183429,0],rightPoint:[-4.093944220240498,-7.8252314417755695,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"39y7xTS1S7F7jiBBvyvPxR",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:1.93,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Wall",cx:-.039595288973049314,cy:-7.8252314417755695,cz:3.5404855174251457,lx:8.108697862534898,ly:.1,lz:3.7968822453017803,leftJoints:["39y7xTS1S7F7jiBBvyvPxR"],rightJoints:["cSVfkr5b26MSCjvZV6AAuA"],leftPoint:[-4.093944220240498,-7.8252314417755695,0],rightPoint:[4.0147536422944,-7.8252314417755695,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"8K2s8ExFq4TG2csG9MWdsp",parentId:"5Ds4Da2scUYHkUksNyQ1xG",foundationId:"5Ds4Da2scUYHkUksNyQ1xG",wallStructure:"Pillar",opacity:0,roofId:null,selected:!1,structureSpacing:2.1,structureWidth:.08,structureColor:"white",locked:!0,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.7968822453017803,rightTopPartialHeight:3.7968822453017803},{type:"Foundation",cx:.04362302366466242,cy:1.823303235241708,cz:1,lx:8.30081773193631,ly:17.094708951250738,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5Ds4Da2scUYHkUksNyQ1xG",selected:!1,enableGroupMaster:!1,locked:!0,notBuilding:!0},{type:"Window",cx:-.25419587257395015,cy:.1,cz:-.30201296045936715,lx:.24801117503166498,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1d7mvhUrBc4LPBEQXecARp",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ir7hkL6jERL1qMTc1icTaU",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.2603805701162353,cy:.1,cz:-.30201296045936715,lx:.2603805701162353,ly:.3,lz:.33556995606596346,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"r88YNaDvQ5vy3aH4s6woYs",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u5euGVsx1U7wCryJGvzaQB",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"cSXg7ALAMVJuBAwSqm3fTC",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4BaNwdGRdaXZpb72VCDgor",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rbG9cs5DUMxXisr5wn3eQo",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.23691176200967903,cy:.1,cz:.23120466954884986,lx:.15794117467311936,ly:.3,lz:.39473351804515744,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mFoP4r2Wu3pQmWdjtsWy3S",parentId:"8VKLBEAuMJxaXGp1WaM9mU",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.34717409348831374,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"augNejin4JPCekoKKnTYSv",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.029411764705882353,lx:.15794117467311933,ly:.3,lz:.17647058823529413,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"5B4h5oeHnYU5wJtaewHXT5",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.24723505294647052,lx:.17358704674415687,ly:.3,lz:.3296467372619607,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8361znRuvUkFVaeSdoo5N8",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.34717409348831374,cy:.1,cz:.24723505294647058,lx:.17358704674415687,ly:.3,lz:.32964673726196053,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oqGE4Pc7gaUxrzp2HEspd6",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:3.30154460456002,cy:-9.422479646769895,cz:1.05,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"rw9LaiB1TVsCjU7r3gxtva",selected:!1,ly:.6,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.3048004341950468,cy:-9.630820519777313,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"eSJdzinPpHu96SbrVMAjVK",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.510735678336653,cy:-3.1958389696925,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"5HazbJmLvszfXVAspqP44n",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:6.4905736887835115,cy:3.679225460437303,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"ksxkAyWQERG2x1K1PGLm2t",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-5.9613745486693706,cy:-2.773042180475202,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"iMujo9QXGncnBDqpZ8cWcv",selected:!1,locked:!0},{type:"Flower",name:"Hydrangea",cx:-6.2101179268188,cy:3.9102946709381,cz:1.05,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"6cWk3x2UFqbqvZgzUcoLmx",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:1.8508428108951245,cy:-9.658677131415082,cz:1.05,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"tgueUXSjzrifiN4jQuumWf",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:6.0352995723203975,cy:9.024257786663838,cz:1.0499999523162848,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"aKSdbZwyPvicQCB2BLjJKk",selected:!1,locked:!0},{type:"Tree",name:"Apple",cx:-5.904244061298131,cy:8.73412818752091,cz:1.049999952316284,lx:4.174402972815023,lz:5.46894817384739,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"izwDJguiBhY5ey4Ujd2R3z",selected:!1,locked:!0},{type:"Human",name:"Jena",cx:4.50924100032713,cy:-.042568091946864506,cz:1.05,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"q9UXGHJuymt18ppM1rZtbi",selected:!1,ly:.695,locked:!0},{type:"Window",cx:0,cy:.1,cz:.38235294117647056,lx:.15794117467311933,ly:.3,lz:.17647058823529413,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fpLqjLTr3asSNu2fh1ZJCm",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:.02669213223982052,cy:.08291430106063127,cz:7.726383223578941,lx:6.232,ly:8.368,lz:.046,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],color:"#fff",parentType:"Roof",parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"n5j4iVNJbtpUNbLaMZkvDP",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.05226827991600305,cy:-.11746474188720647,cz:6.581147613067356,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,0],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uKAsAnFBRgrMiaDDwGrZbd",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:8,intensity:8,color:"#fe9200",cx:.04809382562376093,cy:.17196359453393734,cz:8.23533076857283,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"ndNwjPHJBZn5L5PwwRPXWh",selected:!1,inside:!0,locked:!0},{type:"Light",decay:2,distance:5,intensity:5,color:"#7b64ff",cx:.4038813832551331,cy:-.018771346923666346,cz:.4999999772934685,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"eKvvAN4QXDBPjUP3YttScs",selected:!1,locked:!0},{type:"Light",decay:2,distance:8,intensity:5,color:"#f44e3b",cx:.03479011577552929,cy:.29915344735612687,cz:8.962264816189862,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[-6262269137366339e-32,-.2584595890813664,.9660220705614811],rotation:[.2614272700856308,0,-4440892098500626e-31],parentId:"9DRBXRS4our7656cx2vwpG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"j4JYudDCjzNXq8FDPWZEem",selected:!1,inside:!0,locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.39094575141857246,y:-.6076345062918038},{x:-.3475489897325333,y:-.5252228219763136},{x:-.30415222804649406,y:-.6076345062918038},{x:-.3475489897325333,y:-.690046190607294}],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",parentType:"Wall",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,filled:!0,selectedIndex:0,id:"it9MDEMzBf4jYFMwSdWCYB",text:"LAKE INN",fontSize:.6,fontColor:"white",noOutline:!0,opacity:0,fontStrokeWidth:.01,locked:!0}],bpn=16,Spn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[1.9823782654476845,7.984103859589565,7948413777907035e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[1.9823782654476845,7.983103482143546,150],theme:"Mountain",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[26.70929607950559,3.177981670849796,5.962891433031834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921875,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.21820041958429523,2.945228709202592,5.9628914330318326],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!0,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Tpn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Ppn=1,Cpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Rpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Hpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Mpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Ipn="Unknown",zpn=null,Dpn=null,Epn=null,kpn=[],Fpn={docid:ppn,time:gpn,timestamp:mpn,userid:ypn,owner:Apn,email:wpn,world:vpn,elements:xpn,sceneRadius:bpn,view:Spn,graphState:Tpn,evolutionMethod:Ppn,solarPanelArrayLayoutParams:Cpn,solarPanelArrayLayoutConstraints:Rpn,evolutionaryAlgorithmState:Hpn,economicsParams:Mpn,modelType:Ipn,modelAuthor:zpn,modelLabel:Dpn,modelDescription:Epn,notes:kpn},Lpn="9oLedt6KSdnvU6ReLpvofe",Wpn="06/12/2023 10:14 am",Npn=1686579271051,Upn=null,Bpn=null,jpn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Ypn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-.19344523437500172,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.036317022980521335,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Box Gable",labelHeight:8,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"pNA4YvnHKpbgLLZoVdn8iH",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"pNA4YvnHKpbgLLZoVdn8iH",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"pNA4YvnHKpbgLLZoVdn8iH",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.4719248971291678,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:.014037551435416101,selected:!1,cx:-.4166666666666667,normal:[0,0,1],lx:.08333333333333333,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:.014037551435416101,normal:[0,0,1],cx:-.25,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.4719248971291678,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{cx:.24999999999999997,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333326,color:"#ffffff",cz:.014037551435416101,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.4719248971291678,type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.4166666666666667,cy:.1,cz:.014037551435416101,lz:.4719248971291678,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{lz:.5,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.35,cz:0,ly:0,showLabel:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{selected:!1,cz:-.003118658584209677,foundationId:"m7AH7DcnoGzAq9kryBy4RS",type:"Window",normal:[0,0,1],id:"rgPxjoaTPqdF2tQvSYYJxX",lx:.15000000000000005,ly:0,color:"#ffffff",parentId:"skm8dNPSkFaVkoUwiPNfq1",lz:.5062373171684194,cy:.1,cx:.025000000000000022,rotation:[0,0,0],mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.32500000000000007,rotation:[0,0,0],type:"Window",lz:.5,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:0,lx:.1499999999999999,color:"#ffffff",cy:.1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jamelia",cx:1.1862593917325661,cy:-5.878603983923892,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Door",cx:-.007175044455080826,cy:0,cz:-.10574881686604092,lx:.24768342224349496,ly:0,lz:.7885023662679181,textureType:"Door Texture #5",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",doorType:"Default",archHeight:1,filled:!0},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,6],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mN8bzYoiQHnqnz3EdnMx5V",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.009999999999999998,cy:.1,cz:.65,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tykEvHMLKUG24aenygTKer",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:0,lx:.1,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ptjuJgnSZ9BGF41zQTa7NN",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qpEwqVCd2BoFtSevFQh92k",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.25,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qH7TW5xv9LhkiifYBpFnzX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4166666666666667,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kGJQ1siixMwoWrD3EUKKJK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-18.764187734374996,cy:.14106107076947794,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Open Gable",showLabel:!0,labelHeight:7,labelSize:.5},{type:"Door",cx:0,cy:0,cz:-.1,lx:.25,ly:0,lz:.8,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jess",cx:-3.1725018437499966,cy:-6.753630704470966,cz:.05000000074505806,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"pNA4YvnHKpbgLLZoVdn8iH",leftRidgeLength:6,rightRidgeLength:6,rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1},{type:"Human",name:"Jeanette",cx:7.621742234374995,cy:-6.466760136609153,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",id:"oRmXPWxcNMFxgsrsxonDon",selected:!1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["1k67G1W1gvb3E7EbmbG1h1"],rightJoints:["uytQSeUom5oDsFC3PKa7q8"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u1AdedeCmmKa3QYfwjJ4ya",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["tKvexMf8zrvPgydcZb5VYA"],rightJoints:["u1AdedeCmmKa3QYfwjJ4ya"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1k67G1W1gvb3E7EbmbG1h1",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["u1AdedeCmmKa3QYfwjJ4ya"],rightJoints:["tKvexMf8zrvPgydcZb5VYA"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uytQSeUom5oDsFC3PKa7q8",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.36,cy:.1,cz:-.003118658584209677,lx:.12000000000000002,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ffkLQGy3NT64UfpCw11G41",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.05,cy:.1,cz:-.003118658584209677,lx:.1,ly:.3,lz:.5062373171684194,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gNMVvT81stFdLZCLrqUQZf",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3366666666666666,cy:.1,cz:0,lx:.12666666666666676,ly:.3,lz:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5bfnZWdB6epkk2c8Lmex9Z",parentId:"uytQSeUom5oDsFC3PKa7q8",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["uytQSeUom5oDsFC3PKa7q8"],rightJoints:["1k67G1W1gvb3E7EbmbG1h1"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tKvexMf8zrvPgydcZb5VYA",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,roofId:"45NB7k7GYboywbxoXsYHLH",leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aScdMHKjqapGhvxSXnrdVS",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"94qFJLPpyieU8kH3r8ea1u",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333334,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hqJtpQuGAWonh9XMck7DkQ",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:.014037551435416101,lx:.08333333333333333,ly:.3,lz:.4719248971291678,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iepBWG7Nk7RRKfgVSDffBC",parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,mullionSpacing:1,mullion:!0,mullionWidth:.06,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:18.4159863125,cy:-.013675215842332555,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,label:"Hip",showLabel:!0,labelHeight:8,labelSize:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Hip",wallsId:["tKvexMf8zrvPgydcZb5VYA"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"45NB7k7GYboywbxoXsYHLH",leftRidgeLength:3,rightRidgeLength:3,rise:2,ceiling:!1},{type:"Door",cx:.00416666666666667,cy:0,cz:-.125,lx:.24166666666666667,ly:0,lz:.75,textureType:"Door Texture #5",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"tKvexMf8zrvPgydcZb5VYA",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"bm1UTSxwjiN1iZGr4Z4Fm6",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.35000000000000014,cy:.1,cz:.014037551435416087,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vA6adyEkDTr58b4mpzEs5P",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:13322676295501878e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"twnicRfRAP53B9K6S8CVFm",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35000000000000014,cy:.1,cz:.014037551435416074,lx:.10000000000000027,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"oxmJ7ohqmjFLB5ye4yGS6E",parentId:"1k67G1W1gvb3E7EbmbG1h1",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:.01403755143541606,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jsRnsGzxKw3CunZjMYneFD",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8d9L17Wt7kc8NaHb7DZkQA",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hVKNWxqP1tH67cRypCiM18",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.29999999999999993,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hHA24TY61rX4piy7chXHsW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.6390375514354161,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sFXKinS1ygh3aQAbgbsfyW",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3000000000000001,cy:.1,cz:.014037551435416074,lx:.10000000000000017,ly:.3,lz:.47192489712916785,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n9vgLXoYa2nNMGT5JFGz9k",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1}],Opn=35,_pn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-28.254159564913593,-27.690636175073536,3.1442036565521727],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-2.0057889063141925,7.911051887878871,2.2071518984525413],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:288,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},Vpn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Gpn=1,Xpn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Jpn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Kpn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},qpn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},$pn="Unknown",Qpn=null,Zpn=null,e1n=null,t1n=["Gable roof vs. hip roof"],n1n={docid:Lpn,time:Wpn,timestamp:Npn,owner:Upn,email:Bpn,world:jpn,elements:Ypn,sceneRadius:Opn,view:_pn,graphState:Vpn,evolutionMethod:Gpn,solarPanelArrayLayoutParams:Xpn,solarPanelArrayLayoutConstraints:Jpn,evolutionaryAlgorithmState:Kpn,economicsParams:qpn,modelType:$pn,modelAuthor:Qpn,modelLabel:Zpn,modelDescription:e1n,notes:t1n},o1n="jBRvLNoGNN2puEDd9PXycz",i1n="06/10/2023 06:24 pm",r1n=1686435869581,a1n=null,l1n=null,s1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},c1n=[{type:"Human",name:"Jedi",cx:6.331304507164129,cy:-1.3012531601465285,cz:.05,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"35YTYxrb8rDJ1XNYjgkPTK",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.56,locked:!1},{type:"Wall",cx:.2181336152654918,cy:3.890044719861693,cz:2.2408122612280286,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[9.996822616742959,3.890044719861693,.1167755799390626],rightPoint:[-9.560555386211975,3.890044719861694,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:9.996822616742957,cy:.3560826328024773,cz:2.2301039869226305,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[9.996822616742953,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,3.890044719861694,.1167755799390626],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-9.560555386211973,cy:.3560826328024773,cz:2.228839888904333,lx:7.067924174118433,ly:.3,lz:4.671023197562504,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-9.560555386211973,3.890044719861694,.1167755799390626],rightPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],relativeAngle:-1.570796326794897,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.2181336152654927,cy:-3.177879454256739,cz:2.268765007024547,lx:19.557378002954934,ly:.3,lz:4.671023197562504,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-9.560555386211975,-3.177879454256739,.1167755799390626],rightPoint:[9.99682261674296,-3.177879454256739,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Foundation",cx:0,cy:1.7959453873000797,cz:.05,lx:20.027750617523758,ly:10.567937825052699,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,enableGroupMaster:!0,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #1",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2,ceiling:!1,locked:!1},{type:"Wall",cx:.48326494323250757,cy:3.5008921737627774,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[5.1391154490341355,3.500892173762777,.1167755799390626],rightPoint:[-4.172585562569121,3.5008921737627787,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:5.139115449034135,cy:-.014752489141851436,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[5.139115449034133,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,3.500892173762778,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:-4.17258556256912,cy:-.01475248914185131,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.17258556256912,3.5008921737627787,.1167755799390626],rightPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,centerRoofHeight:[0,6.671023197562504],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.571023197562504,rightUnfilledHeight:4.571023197562504,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{type:"Wall",cx:.483264943232508,cy:-3.530397152046481,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:4.671023197562504,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.172585562569121,-3.530397152046481,.1167755799390626],rightPoint:[5.139115449034136,-3.530397152046481,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504,locked:!1},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rise:2,ceiling:!1,locked:!1},{type:"Foundation",cx:.23126993902249376,cy:-2.0229770702149175,cz:.05,lx:14.211391813883525,ly:9.298675779004126,lz:.1,normal:[0,0,1],rotation:[0,0,-1.5707963267948966],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,locked:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"},enableGroupMaster:!0},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"aZCLoUJL2oqSdY1EPAoZaK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7tBrMVcDfPB8c8BZciVReg",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:.007111071338860792,cy:0,cz:-.25,lx:.21333214016582355,ly:0,lz:.5,color:"white",textureType:"Door Texture #4",normal:[0,1,0],rotation:[0,0,0],id:"7U3cffozoc4HtMQf5rGEzr",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,doorType:"Default",archHeight:1,filled:!0,locked:!1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:.37465024813261655,lx:.14222142677721564,ly:.3,lz:.3211287841136713,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kXNUWsGU11pAFUKwvU2cgP",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:7894875130155282e-33,cy:.1,cz:.37465024813261655,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2TxqL85a1LDTfDpUNCK9gm",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2844428535544315,cy:.1,cz:.37465024813261655,lx:.14222142677721583,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e7mrU2eTyTJt6DPomDBhWs",parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:.26760732009472615,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4UxKztqar6qH3CTGZ9qgY9",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.2676073200947262,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tQ1H6t36xF8x6Jq7rqyTYA",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.37587117494845146,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2o6zHemGFi14KgXdJ3iuht",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:-.1605643920568356,lx:.10739176427098614,ly:.3,lz:.3211287841136712,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bNFvbn2V5MqizQvTWS1gF8",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.007074212847824756,cy:.1,cz:.717187617853866,lx:.1273358312608462,ly:.3,lz:.14986009925304675,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tnV8oAWfG9ER3isiJKzp3v",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28037933545424537,cy:.1,cz:.3211287841136713,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"d65ECu9HpsufqejE9JE6SQ",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:.3211287841136713,lx:.1445912711069909,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6kdvjn4UXHVDJzSZhf4B4J",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eVWLBrjytjaXb5Ykbr5VPD",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2814150068377438,cy:.1,cz:-.21408585607578087,lx:.14459127110699085,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2ZfkAgSXYQx6P4m4xidDeL",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oEw7Y1dUnZ4auXTsBwuqSe",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:.2676073200947261,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4g5mEoLtYLy6qSqMvwrtZa",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.053695882135493055,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4SFYRMATJPbJgwPmaVx1ZQ",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.3758711749484514,cy:.1,cz:-.16056439205683565,lx:.10739176427098611,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vJzKtUzUWEXsGn9NbVuYJR",parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.2829685139129914,cy:.1,cz:-.21408585607578084,lx:.14148425695649575,ly:.3,lz:.21408585607578082,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6K9qDfssYi3YmZcNiGxeFD",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.2829685139129914,cy:.1,cz:-.21408585607578087,lx:.1414842569564957,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aFbFpSbkdAr9vNaBtR39Zj",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:0,cy:.1,cz:.7171876178538659,lx:.1414842569564957,ly:.3,lz:.14986009925304655,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"gTVRT9iKwSKBHrZBxbTWqP",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nyFPVXnTmHtF1thRj3voUP",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"44QoRqthuL83hLzEWvpPy4",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.05,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.051131598512280566,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eL8eT9b15BPwUEoDRzrTes",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.40905278809824486,cy:.1,cz:.32112878411367124,lx:.051131598512280566,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"ik59hsieStesGBV1HN1iPA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.28555769237173745,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jzPeoP6c34HMtziwDKHv3a",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:.28037933545424537,cy:.1,cz:.21408585607578087,lx:.13630590003900364,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jsfEyvAHdrSn2vaQ4ia3zy",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1RhUm2Y2uUHcxK5xvxbogA",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:.3211287841136713,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"5ZJyH8rrUf7HJAQnM2bWVm",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.40905278809824486,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nw3rdMtcMqRG4LGoRcBsfK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Window",cx:-.25565799256140304,cy:.1,cz:-.21408585607578087,lx:.05113159851228061,ly:.3,lz:.21408585607578087,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.05,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vmF1fcU9LPrzoGvKVJXeJJ",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1,locked:!1},{type:"Door",cx:-11353495590844666e-33,cy:0,cz:-.04661843672800818,lx:.35792118958596425,ly:0,lz:.9067631265439836,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"4u2Lemg9g24YVU44Rt2Xic",interior:!0,locked:!1},{type:"Window",cx:.025565799256140304,cy:.3,cz:.05352146401894522,lx:.10226319702456121,ly:.3,lz:.5352146401894522,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[0,0,0],parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"bqg8AAYEpwNKgztwidBiEk",locked:!1},{type:"Window",cx:.4720595639184657,cy:-3.3684520937463995,cz:4.763171084384773,lx:6.938544523756692,ly:.2,lz:.00409574132092067,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5149965428074765,0,-2220446049250313e-31],parentId:"1iq4TPqH8xr1w2VxMAh8MU",parentType:"Roof",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"aGPExW23jA85jXEJyeCpz1",interior:!0,empty:!0,polygonTop:[-.035382757507848805,4.273887307898969],locked:!1},{type:"Window",cx:-2.6203952752607758,cy:3.667558239043421,cz:4.776209255164273,lx:3.171105348094547,ly:.2,lz:.017651285838173516,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,3.141592653589793],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"72o3pTJwsE9dUcnRyyjnEw",interior:!0,polygonTop:[.5,4.226955821233187],empty:!0,locked:!1},{type:"Window",cx:-2.693211019665715,cy:-3.6869046603465847,cz:4.781988313035353,lx:2.9580970480479842,ly:.2,lz:.09882178864870414,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.2,sillWidth:0,windowType:"Polygonal",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.5172270860325816,0,0],parentId:"atFqzWxSt7aWP6ZqiaDGq7",parentType:"Roof",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"uPuuLDNiMgZBsKvCnm6tSV",polygonTop:[-.5,4.164786986092855],interior:!0,empty:!0,locked:!1},{type:"Door",cx:-.3090654703490424,cy:0,cz:-.014505558316641022,lx:.3603907064477181,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"8s4tEpToJXwoUEYbHRBASE",interior:!0,locked:!1},{type:"Door",cx:.3060665281723105,cy:0,cz:-.014505558316641022,lx:.3543928220942542,ly:0,lz:.9709888833667178,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kP69Q4f2kGriQePVP8M1cp",locked:!1,interior:!0}],u1n=13,d1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.2194678710540945,-.08163623568179776,-21779207174878058e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.2194678710540945,-.08263661312798706,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.0825236074539012,-21.73896740327531,3.532398591116602],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:33.40365140230189,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[.5164600410339055,-.2045268879302931,3.380292682783385],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:256,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},f1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},h1n=1,p1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},g1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},m1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},y1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},A1n="Unknown",w1n=null,v1n=null,x1n=null,b1n=["Gable-and-valley roof"],S1n={docid:o1n,time:i1n,timestamp:r1n,owner:a1n,email:l1n,world:s1n,elements:c1n,sceneRadius:u1n,view:d1n,graphState:f1n,evolutionMethod:h1n,solarPanelArrayLayoutParams:p1n,solarPanelArrayLayoutConstraints:g1n,evolutionaryAlgorithmState:m1n,economicsParams:y1n,modelType:A1n,modelAuthor:w1n,modelLabel:v1n,modelDescription:x1n,notes:b1n},T1n="xtKNTywwk7s3D5dx9fE6NJ",P1n="06/12/2023 10:07 am",C1n=1686578834737,R1n=null,H1n=null,M1n={solarRadiationHeatmapGridCellSize:.25,date:"4/22/2022, 10:30:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},I1n=[{type:"Human",name:"Jocelyn",cx:7.030735525496638,cy:-10.425839702214304,cz:0,lx:.4,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.4},{type:"Wall",cx:.19888873388653605,cy:5.462586096288465,cz:2.2408122612280286,lx:9.311701011603256,ly:.3,lz:4.671023197562504,leftJoints:["vKjEHsN5hVHi8S9tPzBesN"],rightJoints:["eTKLP2TockjZDP1RLDKvpj"],leftPoint:[4.854739239688164,5.462586096288464,.1167755799390626],rightPoint:[-4.4569617719150925,5.462586096288466,.1167755799390626],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"o6RrXLKTD62SEJEe7jE1pv",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:4.671023197562504,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:4.854739239688163,cy:1.9469414333838355,cz:2.2301039869226305,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["gTaSzURYtieAPQn32pwAn4"],rightJoints:["o6RrXLKTD62SEJEe7jE1pv"],leftPoint:[4.854739239688161,-1.5687032295207934,.1167755799390626],rightPoint:[4.854739239688166,5.462586096288464,.1167755799390626],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"vKjEHsN5hVHi8S9tPzBesN",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:4.671023197562504,centerRoofHeight:[-.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:-4.456961771915092,cy:1.9469414333838349,cz:2.228839888904333,lx:7.03128932580926,ly:.3,lz:4.671023197562504,leftJoints:["o6RrXLKTD62SEJEe7jE1pv"],rightJoints:["gTaSzURYtieAPQn32pwAn4"],leftPoint:[-4.456961771915091,5.462586096288466,.1167755799390626],rightPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"eTKLP2TockjZDP1RLDKvpj",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:4.671023197562504,rightRoofHeight:7.104360278230817,centerRoofHeight:[.5,7.104360278230817],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.671023197562504,rightTopPartialHeight:4.671023197562504},{type:"Wall",cx:.1988887338865364,cy:-1.5687032295207946,cz:2.268765007024547,lx:9.311701011603258,ly:.3,lz:7.104360278230817,leftJoints:["eTKLP2TockjZDP1RLDKvpj"],rightJoints:["vKjEHsN5hVHi8S9tPzBesN"],leftPoint:[-4.456961771915092,-1.568703229520794,.1167755799390626],rightPoint:[4.854739239688165,-1.5687032295207934,.1167755799390626],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"gTaSzURYtieAPQn32pwAn4",parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofId:"atFqzWxSt7aWP6ZqiaDGq7",selected:!1,leftRoofHeight:7.104360278230817,rightRoofHeight:7.104360278230817,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.104360278230817,rightTopPartialHeight:7.104360278230817},{id:"atFqzWxSt7aWP6ZqiaDGq7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"35YTYxrb8rDJ1XNYjgkPTK",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["gTaSzURYtieAPQn32pwAn4"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.18703080111903558,cy:-9.915377662073155,cz:.05,lx:13.403144619496231,ly:13.222063624055503,lz:.1167755799390626,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"35YTYxrb8rDJ1XNYjgkPTK",selected:!1,enableGroupMaster:!0,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Wall",cx:.35217238415000696,cy:2.6927731238245474,cz:2.2408122612280286,lx:8.76701829919503,ly:.3,lz:2.6726233773992516,leftJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],rightJoints:["vhCUXkYA9VDRSco52tUYkV"],leftPoint:[4.735681533747522,2.692773123824547,.0668155844349813],rightPoint:[-4.031336765447508,2.692773123824548,.0668155844349813],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gG5CjV1FxMvKL6tHfFayym",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:2.6726233773992516,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:4.735681533747522,cy:.48062987575342486,cz:2.2301039869226305,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["eTtjCc8c1PMfKVHADbJHAr"],rightJoints:["gG5CjV1FxMvKL6tHfFayym"],leftPoint:[4.73568153374752,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,2.692773123824548,.0668155844349813],relativeAngle:1.5707963267948961,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v7ziTUW2TZM5T4TwmNAdjJ",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:2.6726233773992516,centerRoofHeight:[-.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:-4.031336765447506,cy:.48062987575342486,cz:2.228839888904333,lx:4.424286496142247,ly:.3,lz:2.6726233773992516,leftJoints:["gG5CjV1FxMvKL6tHfFayym"],rightJoints:["eTtjCc8c1PMfKVHADbJHAr"],leftPoint:[-4.031336765447506,2.692773123824548,.0668155844349813],rightPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],relativeAngle:-1.5707963267948972,textureType:"Wall Texture Default",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vhCUXkYA9VDRSco52tUYkV",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:2.6726233773992516,rightRoofHeight:4.738508482435636,centerRoofHeight:[.5,4.738508482435636],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.6726233773992516,rightTopPartialHeight:2.6726233773992516},{type:"Wall",cx:.35217238415000696,cy:-1.731513372317698,cz:2.268765007024547,lx:8.76701829919503,ly:.3,lz:4.738508482435636,leftJoints:["vhCUXkYA9VDRSco52tUYkV"],rightJoints:["v7ziTUW2TZM5T4TwmNAdjJ"],leftPoint:[-4.031336765447508,-1.731513372317698,.0668155844349813],rightPoint:[4.735681533747522,-1.731513372317698,.0668155844349813],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eTtjCc8c1PMfKVHADbJHAr",parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofId:"jVi4m1ThhBLxMFASq2GS9v",selected:!1,leftRoofHeight:4.738508482435636,rightRoofHeight:4.738508482435636,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Empty",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.273631578164477,rightUnfilledHeight:4.273631578164477,leftTopPartialHeight:4.738508482435636,rightTopPartialHeight:4.738508482435636},{id:"jVi4m1ThhBLxMFASq2GS9v",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"6YXGTgZyXDxpnnbdLfyv5j",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",roofType:"Gable",textureType:"Roof Texture #1",thickness:.2,wallsId:["eTtjCc8c1PMfKVHADbJHAr"],ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],selected:!1,rise:0,ceiling:!1},{type:"Foundation",cx:-.7467654326238933,cy:-6.853383216679946,cz:.05,lx:11.313197651444508,ly:6.0997112704854475,lz:.0668155844349813,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6YXGTgZyXDxpnnbdLfyv5j",selected:!1,hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3,id:"A"}},{type:"Door",cx:-.05369588213549307,cy:0,cz:-.25,lx:.15034846997938056,ly:0,lz:.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"91pkNVx7ajPdGc4gqpa6PF",doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:-.32217529281295837,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"7ha8A9howKC84aYKTw9eqN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:-.16056439205683565,lx:.10739176427098614,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"8VBQnA65eh5k5Uw55HF1Cb",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32217529281295837,cy:.1,cz:.32112878411367135,lx:.10739176427098608,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"un8y8e9JpPi1naZZMpwMVZ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.05369588213549307,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v1BvsJ4T7JhsFhezNhcX4K",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.26847941067746534,cy:.1,cz:.32112878411367135,lx:.10739176427098614,ly:.3,lz:.21408585607578096,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"soGnwUqCB3auZqHEHNS1LQ",parentId:"o6RrXLKTD62SEJEe7jE1pv",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-12546916046160377e-33,cy:.1,cz:.18708210226259175,lx:.22602514572054705,ly:.3,lz:.7483284090503667,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vhCUXkYA9VDRSco52tUYkV",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"aRTYiMKpbFtXogCmbdfpaN",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m5qoAfq3cFT2Jt7voLAZVP",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2844428535544314,cy:.1,cz:-.16056439205683565,lx:.1422214267772157,ly:.3,lz:.3211287841136713,mullion:!0,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aF1Pnz747SfgYcvKbrSeaH",parentId:"eTKLP2TockjZDP1RLDKvpj",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",tint:"#73D8FF",shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},selected:!1,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.01710957989146351,cy:.1,cz:.05948559174013301,lx:.39922353080081546,ly:.3,lz:.7041900664751375,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gG5CjV1FxMvKL6tHfFayym",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"uicWDWWbqUVhqeZaftrgmK",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-10037532836928301e-32,cy:.1,cz:.07392401455912316,lx:.22602514572054688,ly:.3,lz:.6753132208371573,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"v7ziTUW2TZM5T4TwmNAdjJ",foundationId:"6YXGTgZyXDxpnnbdLfyv5j",id:"pVu2one7ax8iwQZsAqqvKk",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.03555535669430392,cy:.1,cz:-.05352146401894522,lx:.21333214016582355,ly:.3,lz:.5352146401894522,shutter:{showLeft:!0,showRight:!0,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"vKjEHsN5hVHi8S9tPzBesN",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"sTNhou8URmxdSewCTJQCAy",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3518965680359005,lx:.8591341141678889,ly:.3,lz:.14075862721436017,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"kVcMN888wkNzdrNFsdAiaM",opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:.053695882135493055,cy:0,cz:-.25,lx:.42956705708394444,ly:0,lz:.5,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"wpqi2Ry4DwtfWLp7rkgBQh"},{type:"Door",cx:0,cy:0,cz:-.1796206863928199,lx:.8591341141678889,ly:0,lz:.6407586272143603,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gTaSzURYtieAPQn32pwAn4",foundationId:"35YTYxrb8rDJ1XNYjgkPTK",id:"nnyBHsqWtA9kbVTgYsewZw",interior:!0}],z1n=21,D1n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.6516049999999995,-8.08817077589694,-806397029662998e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.6516049999999995,-8.089170775904988,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.59744270375234,-.7176337384414646,3.223728034339639],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:37.01235612443423,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.4383511164484704,-7.6519084348386786,3.2237280343396377],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60},showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360},heatFluxScaleFactor:5},E1n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},k1n=1,F1n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},L1n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},W1n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},N1n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},U1n="Unknown",B1n=null,j1n=null,Y1n=null,O1n=["Clerestory roof"],_1n={docid:T1n,time:P1n,timestamp:C1n,owner:R1n,email:H1n,world:M1n,elements:I1n,sceneRadius:z1n,view:D1n,graphState:E1n,evolutionMethod:k1n,solarPanelArrayLayoutParams:F1n,solarPanelArrayLayoutConstraints:L1n,evolutionaryAlgorithmState:W1n,economicsParams:N1n,modelType:U1n,modelAuthor:B1n,modelLabel:j1n,modelDescription:Y1n,notes:O1n},V1n="4aDAL58XHFYL5qfHvxH7ag",G1n="03/21/2023 09:15 am",X1n=1679404555806,J1n="QWecNcxhyvP6j6sBN11hBsfZDau1",K1n=null,q1n=null,$1n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Q1n=[{type:"Wall",cx:-1.5970326990453252,cy:4.004815564210436,cz:2.2408122612280286,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:1.5833669389106042,cy:.7942223442409677,cz:2.2301039869226305,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[1.5833669389106024,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,4.004815564210436,.12302997096647357],relativeAngle:1.5707963267948961,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-4.777432337001256,cy:.7942223442409677,cz:2.228839888904333,lx:6.421186439938938,ly:.3,lz:7.5,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-4.777432337001256,4.004815564210436,.12302997096647357],rightPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],relativeAngle:-1.5707963267948966,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-1.5970326990453252,cy:-2.4163708757285014,cz:2.268765007024547,lx:6.360799275911862,ly:.3,lz:7.5,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-4.777432337001256,-2.4163708757285014,.12302997096647357],rightPoint:[1.5833669389106055,-2.4163708757285014,.12302997096647357],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"bdD5ztB6YGXg4uAZiGZwDr",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Foundation",cx:1.5369607065875481,cy:-.7337478948430647,cz:.05,lx:9.90872374106268,ly:8.491876915965634,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!1},{type:"Wall",cx:.19112531149657697,cy:5.620514141149594,cz:2.2408122612280286,lx:11.291398093915323,ly:.3,lz:4,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[5.836824358454238,5.620514141149594,.1],rightPoint:[-5.454573735461085,5.620514141149594,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3275511143392143,cy:.1,cz:-.06250000000000006,lx:.0708994221944815,ly:.3,lz:.3750000000000001,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29040066034916406,cy:.1,cz:-.0625,lx:.07260016508729104,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.07260016508729102,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:5.836824358454238,cy:-.00995475119942446,cz:2.2301039869226305,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[5.836824358454236,-5.640423643548443,.1],rightPoint:[5.83682435845424,5.620514141149594,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.454573735461083,cy:-.00995475119942446,cz:2.228839888904333,lx:11.260937784698037,ly:.3,lz:4,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-5.454573735461083,5.620514141149594,.1],rightPoint:[-5.454573735461085,-5.640423643548443,.1],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.1911253114965783,cy:-5.640423643548443,cz:2.268765007024547,lx:11.291398093915324,ly:.3,lz:4,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-5.454573735461085,-5.640423643548443,.1],rightPoint:[5.83682435845424,-5.640423643548443,.1],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4,rightRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3949264794283293,cy:.1,cz:-.0625,lx:.08134902219083363,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"29QuQvndX2M7Sq4iEkq1Xz",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.21716749210312172,cy:.1,cz:-.0484624485645839,lx:.0738661714047936,ly:.3,lz:.3469248971291678,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4LUVPCUMNMxJkqRL8wFtEe",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.21342606671010173,cy:.1,cz:-.0625,lx:.072600165087291,ly:.3,lz:.375,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9FGAjvvq6tsggdPdWysCTK",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.39930090798010054,cy:.1,cz:-.06249999999999989,lx:.072600165087291,ly:.3,lz:.3749999999999998,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ucbeQgKEoSy9dHSmSFvaic",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-.16683617706583842,cy:.10266831665150722,cz:.06,lx:14.604582269301902,ly:13.013221811141948,lz:.12,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:2.741183421535105,textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:2,ceiling:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["e5r2Cqz5K28ewHbKWcFnYZ","n8LvMVp1hZ7BptmwrWpcMT","11Ltx28CSTVpm6gjZuBH9w","hndwqtrrygFvfqvBJrvZYu"],textureType:"Roof Texture #2",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"bdD5ztB6YGXg4uAZiGZwDr",rise:2.399521849228247,ceiling:!1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.91,normal:[0,0,1],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"jA4MqD7ALHMKTSCdEzWHix",windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3LT1rVtnjso2jP6z4TaDHZ",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ckaBeGV6Ni9NQ3te3EiN3g",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fEDLXuYBqFYJiCkBziofUB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23360168934983674,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"v9cnm7VWZ62giNve9jyv7m",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.2336016893498367,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qVLTtiLnxXpR5yqcHhSa9e",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.23729790815292326,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"meXeAm7nDdwTPRbzo9vVFs",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.22990547054675017,cy:.1,cz:.4,lx:.31146891913311564,ly:.3,lz:.13333333333333333,mullion:!0,mullionWidth:.1,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.08,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qJBjFd5e5FHkdYG6fhgp91",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.91,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Julia",cx:.2781860356360548,cy:-5.386859602824218,cz:.05999999865889549,lx:.43,lz:1.71,normal:[0,1,0],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",id:"jiceWNCXNG4mowM8Y1pnuj",selected:!1,ly:.43},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.17712598416645625,ly:0,lz:.625,doorType:"Arched",archHeight:1,textureType:"No Door Texture",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#4d4d4d",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.04428149604161406,y:-.35},{x:-.06199409445825968,y:-.3},{x:-.06199409445825968,y:-.25},{x:-.04428149604161406,y:-.2},{x:.05142883345662218,y:-.20084745762711861},{x:.07085039366658251,y:-.25},{x:.07085039366658251,y:-.3},{x:.05313779524993687,y:-.35}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:1,id:"pTMN5Rfce2g9VdNDy1KZ2d",text:"DEPOT",fontSize:.3,fontColor:"gold"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"trSHy7vD1sqEajCH8ej493"},{type:"Door",cx:0,cy:0,cz:-.31666666666666665,lx:.31146891913311564,ly:0,lz:.36666666666666664,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cf7HkkLcbaZLJwzCBfEgBH"}],Z1n=10,egn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.335485572988376,-17.642820069421862,3.809724387059762],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:35.161738318212514,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.3277453693129069,-.2039271051931454,3.5347379885285575],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:200,height:60}},tgn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ngn=1,ogn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ign={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},rgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},agn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},lgn="Unknown",sgn=null,cgn=null,ugn=null,dgn=["Monitor roof"],fgn={docid:V1n,time:G1n,timestamp:X1n,userid:J1n,owner:K1n,email:q1n,world:$1n,elements:Q1n,sceneRadius:Z1n,view:egn,graphState:tgn,evolutionMethod:ngn,solarPanelArrayLayoutParams:ogn,solarPanelArrayLayoutConstraints:ign,evolutionaryAlgorithmState:rgn,economicsParams:agn,modelType:lgn,modelAuthor:sgn,modelLabel:cgn,modelDescription:ugn,notes:dgn},hgn="sXLwKRDpQ3Uupy3LJSKC7z",pgn="06/12/2023 10:27 am",ggn=1686580058007,mgn=null,ygn=null,Agn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},wgn=[{type:"Human",name:"June",cx:2.0733747451945757,cy:-6.061881854428435,cz:.05000000074505806,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[0,7.404178387671576],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"1iq4TPqH8xr1w2VxMAh8MU",leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"w2kwhV9PqZtFtk8RVLFx83",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Foundation",cx:-11.865426237722085,cy:-.3020514645326293,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,label:"Colonial",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,textureType:"Door Texture #1",color:"white",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"sXi8n3YHx4BKsSMSv4hsZ3",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Gable",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"Roof Texture #2",color:"#cccccc",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"1iq4TPqH8xr1w2VxMAh8MU",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:2.2458395786002807,ceiling:!1},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"p9ZFePdMbr5NJNutJpztLz",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"onfGgeAsDqrPXW9qAoSbJh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mM8yRHvdQcQxaerLVfTrHK",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"reViENhjL3rZ1iP9Y6KZQV",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dKNjnS17wjTVoaiN1bY7jW",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bJfKVxMyGkSvssMyjbaW7W",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:0,lz:.2907912906694198,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u4p2yGTyGA3NaJrURgo1aw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"swiJmUxEJ9JBgVoJXFiWMw",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dJpqWBHMDhQTd71cTnXaW4",parentId:"2RETAxyRMzZBEQkBGms56R",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j5a1DqXozDg23XnZHUwT3y",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wdagFqacKyLy9R8i7SRZPq",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tJCV3miBMBbJoQ5KVL5GnC",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nRhC43dgJ576icoywiE43t",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fY9urdYNGp76qQUc5TkF8d",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"kwvhmrhVppPu21YKVKixoa",parentId:"giYTP9Qg6uJ3yfkS1RoDqG",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nZtTu7kGPQBjfFfeNj7L7w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"433Qj5XWec6xkx6KMSVinb",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPa2K6uLM9bNJjLjnApS5w",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:0,lz:.29079129066941983,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cAQmf2baCS5Y2WWh241r8n",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1fmjy8Zg2jNAAXJDNAtxtX",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vxHToBs6fvSBn4dmam1NPh",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Juro",cx:-1.8455745212476522,cy:-6.047134973310751,cz:.042986158281564275,lx:.494,ly:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",id:"pBBZ6mrTSk6FLL8v8uuPYG",selected:!1},{type:"Wall",cx:.6394231663265257,cy:5.872000955672556,cz:2.2408122612280286,lx:10.96242641823205,ly:.3,lz:5.158338809071295,leftJoints:["sLjmied5ovE5nNuq6aFYPi"],rightJoints:["723nwVCZT2zzcwYqNJCWVS"],leftPoint:[6.120636375442551,5.872000955672555,0],rightPoint:[-4.8417900427894995,5.872000955672556,0],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"iwGA1TfwpSpggq8C9JfAoJ",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.31927238245166323,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cXa45JVn2G9m2N2fUuSH2s",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.31927238245166323,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iJdJ7WAwuh83JHVXJKYXzH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.045610340350237685,cy:.1,cz:.24232607555784988,lx:.09122068070047537,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dkUReYpnmAcqhYPPyQxoRH",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.0456103403502376,cy:.1,cz:-.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aFrtgne6bioyotbdk5S8KN",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3648827228019008,cy:.1,cz:.24232607555784988,lx:.0912206807004752,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"aEweEoYSW7Np4EVuX2Fdsb",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3677465315760693,cy:.1,cz:-.24232607555784988,lx:.08549306315213832,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4xUmcM8pypieKfKsDMRcGC",parentId:"iwGA1TfwpSpggq8C9JfAoJ",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.12063637544255,cy:.696812767580496,cz:2.2301039869226305,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["hZoCtb7QW6TLTCnow7LXWA"],rightJoints:["iwGA1TfwpSpggq8C9JfAoJ"],leftPoint:[6.120636375442548,-4.478375420511564,0],rightPoint:[6.120636375442552,5.872000955672556,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"sLjmied5ovE5nNuq6aFYPi",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"5cz4chLixfxh7WLLDakTKw",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nGCDuaQuHsagkRRXKZrc7L",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8t3b9gLTjPqXrVKA67DgG7",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3381519543630691,cy:.1,cz:-.24232607555784988,lx:.09661484410373387,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pVYrF6C2mmp9q8PmrhehV8",parentId:"sLjmied5ovE5nNuq6aFYPi",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-4.8417900427894995,cy:.696812767580496,cz:2.228839888904333,lx:10.35037637618412,ly:.3,lz:5.158338809071295,leftJoints:["iwGA1TfwpSpggq8C9JfAoJ"],rightJoints:["hZoCtb7QW6TLTCnow7LXWA"],leftPoint:[-4.841790042789499,5.872000955672556,0],rightPoint:[-4.8417900427894995,-4.478375420511564,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"723nwVCZT2zzcwYqNJCWVS",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,centerRoofHeight:[-.17663019315906894,8.721280120974388],fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.289844532311202,cy:.1,cz:-.24232607555784988,lx:.09661484410373401,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bCczr2bfNJ9hHru5dKivtn",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:-.24232607555784985,lx:.09661484410373396,ly:.3,lz:.2907912906694198,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8hu972Coyp2SdPeApdzUcM",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2880871761594032,cy:.1,cz:.24232607555784988,lx:.10012955640733165,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"stJETXTgkaem9cnthaz7DF",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.289844532311202,cy:.1,cz:.24232607555784988,lx:.09661484410373405,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8uMuJn7ATgkV1KuyvniGpN",parentId:"723nwVCZT2zzcwYqNJCWVS",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6394231663265262,cy:-4.478375420511564,cz:2.268765007024547,lx:10.962426418232052,ly:.3,lz:5.158338809071295,leftJoints:["723nwVCZT2zzcwYqNJCWVS"],rightJoints:["sLjmied5ovE5nNuq6aFYPi"],leftPoint:[-4.8417900427894995,-4.478375420511564,0],rightPoint:[6.120636375442552,-4.478375420511564,0],relativeAngle:0,textureType:"Wall Texture Default",color:"#b0bc00",normal:[0,0,1],rotation:[0,0,0],id:"hZoCtb7QW6TLTCnow7LXWA",parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"wqXe9pYmicSvR7iYewPLF7",selected:!1,leftRoofHeight:5.158338809071295,rightRoofHeight:5.158338809071295,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.158338809071295,rightTopPartialHeight:5.158338809071295},{type:"Window",cx:-.4104930631521381,cy:.1,cz:-.24232607555784988,lx:.0912206807004747,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hQMgr7y3LyHNDTRRkE594t",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:-.022805170175118798,cy:0,cz:-.25,lx:.1368310210507128,ly:0,lz:.5,color:"white",textureType:"Door Texture #1",normal:[0,1,0],rotation:[0,0,0],id:"qph4faDddEH8gdVzH6ivZr",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Window",cx:.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n6cw2a16gnaNtUX8qEggGq",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.41049306315213846,cy:.1,cz:.24232607555784988,lx:.09122068070047536,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tPpwv4eAJzufaa29tD1UJG",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"vTVeGVzfHjGyBh4GUdsJTK",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.228051701751188,cy:.1,cz:.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"88gwLvpD9kwfDsBZHSLpf2",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:.24232607555784988,lx:.09122068070047512,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"taea46Jq5kmPKnsEuNdHWM",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.228051701751188,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s6dPHQVJrM3Acf87nyeVab",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4104930631521384,cy:.1,cz:-.24232607555784988,lx:.09122068070047519,ly:.3,lz:.29079129066941983,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"j8XTJHQPmBNW4amR5ZNmdA",parentId:"hZoCtb7QW6TLTCnow7LXWA",foundationId:"hszWAAkWMHNQoK3CMWw8fv",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{id:"wqXe9pYmicSvR7iYewPLF7",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],parentId:"hszWAAkWMHNQoK3CMWw8fv",foundationId:"hszWAAkWMHNQoK3CMWw8fv",roofType:"Gable",textureType:"Roof Texture #2",thickness:.15,wallsId:["hZoCtb7QW6TLTCnow7LXWA"],ridgeLeftPoint:[-.17663019315906894,1],ridgeRightPoint:[.17663019315906894,1],selected:!1,rise:3.562941311903093,ceiling:!1},{type:"Foundation",cx:11.036197795997648,cy:-.3904739664770651,cz:.05,lx:16.58973102119719,ly:15.125130138250977,lz:.0859723134845216,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hszWAAkWMHNQoK3CMWw8fv",selected:!1,showLabel:!0,label:"Saltbox",labelHeight:9,labelSize:.5}],vgn=25,xgn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.9999999999895],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.088801690415984,-18.193636596891952,4.218925791626301],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:17.147500000000004,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"forestgreen",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-1.8484762737245803,-.01599768987763376,3.116362939071387],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:234,height:61}},bgn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Sgn=1,Tgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Pgn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Cgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Rgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Hgn="Unknown",Mgn=null,Ign=null,zgn=null,Dgn=["Colonial vs. saltbox"],Egn={docid:hgn,time:pgn,timestamp:ggn,owner:mgn,email:ygn,world:Agn,elements:wgn,sceneRadius:vgn,view:xgn,graphState:bgn,evolutionMethod:Sgn,solarPanelArrayLayoutParams:Tgn,solarPanelArrayLayoutConstraints:Pgn,evolutionaryAlgorithmState:Cgn,economicsParams:Rgn,modelType:Hgn,modelAuthor:Mgn,modelLabel:Ign,modelDescription:zgn,notes:Dgn},kgn="kZU7r98YD2swbMpBZrHNnd",Fgn="06/12/2023 10:32 am",Lgn=1686580347333,Wgn=null,Ngn=null,Ugn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 10:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Bgn=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-9.804203725230073,id:"m7AH7DcnoGzAq9kryBy4RS",cy:.08530001295248146,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,label:"Gambrel ",labelHeight:9,labelSize:.5,showLabel:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:4,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:4,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:4,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,centerRoofHeight:[0,8],leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",rightRoofHeight:4,roofId:"sfGxVh6UQ5Rh5eXQutdage",centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"sfGxVh6UQ5Rh5eXQutdage",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],centerRoofHeight:[0,8],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:4,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:4,ly:.3,cx:-5.300056602144494,centerLeftRoofHeight:[-.35,6],centerRightRoofHeight:[.35,6],color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"sfGxVh6UQ5Rh5eXQutdage",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:4,leftRoofHeight:4,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:4,lx:12,color:"#f44e3b",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",showLabel:!1,ly:0,lz:.375,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",id:"wpUTVyngSAjDJDRdEV1NA6",cz:-.0625,selected:!1,cx:-.375,normal:[0,0,1],lx:.08333333333333333,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{id:"5ncRWHnRQyocXJujBx5jNE",color:"#ffffff",selected:!1,cy:.1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",rotation:[0,0,0],cz:-.06249999999999989,normal:[0,0,1],cx:-.20833333333333334,type:"Window",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333333,ly:0,lz:.3749999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{cx:.20833333333333337,id:"piUU3YZv2L1Zvedb6EFfFm",parentId:"cV8MyCuhWAsvEyyFuVqVqg",lx:.08333333333333341,color:"#ffffff",cz:-.0625,cy:.1,rotation:[0,0,0],foundationId:"m7AH7DcnoGzAq9kryBy4RS",normal:[0,0,1],ly:0,selected:!1,lz:.375,type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{rotation:[0,0,0],normal:[0,0,1],cx:.375,cy:.1,cz:-.06250000000000006,lz:.3749999999999999,foundationId:"m7AH7DcnoGzAq9kryBy4RS",lx:.08333333333333341,parentId:"cV8MyCuhWAsvEyyFuVqVqg",color:"#ffffff",selected:!1,ly:0,id:"upiLr8uqx55GDieKSLsjPj",type:"Window",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{lz:.375,cy:.1,selected:!1,type:"Window",rotation:[0,0,0],normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"d9R7TXr9G1aG6bGwu14v9k",color:"#ffffff",lx:.1,cx:.3,cz:-.0625,ly:0,showLabel:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,selected:!1,type:"Window",foundationId:"m7AH7DcnoGzAq9kryBy4RS",cy:.1,cz:-.0625,id:"9k4wgdGyyHM5BC1r2nJbQH",lx:.1,color:"#ffffff",lz:.375,normal:[0,0,1],parentId:"skm8dNPSkFaVkoUwiPNfq1",rotation:[0,0,0],cx:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{ly:0,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.3,rotation:[0,0,0],type:"Window",lz:.375,id:"85T9TwcUR7am6Rcbs7Fcvu",normal:[0,0,1],selected:!1,parentId:"skm8dNPSkFaVkoUwiPNfq1",cz:-.0625,lx:.09999999999999995,color:"#ffffff",cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"dGQYRX5aMuZKouydnVo1zc",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:0,lz:.375,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cni5XLCGZ7vNfLqxjgsnua",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},frame:!0,mullion:!0,mullionWidth:.06,mullionSpacing:.5,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,textureType:"Door Texture #6",selected:!1,showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"j9wJCoWK33fz7y9VeMvYET",color:"white",doorType:"Default",archHeight:1,filled:!0},{type:"Roof",thickness:.2,cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,roofType:"Gambrel",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"Roof Texture #1",selected:!1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"sfGxVh6UQ5Rh5eXQutdage",color:"#666666",rise:4,ceiling:!1,frontRidgePoint:[.35,.5],backRidgePoint:[.35,.5],topRidgePoint:[0,1]},{type:"Human",name:"Jeanette",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.4,ly:.4,lz:1.62,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xvSfp96ouDUqqhbUKFAfvN",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"uMr1zC8iUpUcFHuHfA3LNb",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nTJAtH1bkusjTMRvTpeUq1",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wJizEa8fmJx3s6DnYFJCaB",parentId:"8XDG3EHsQoX26MhuzwMYUM",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:.9375,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fcbYfWunuYUDKu74uGTtE2",parentId:"skm8dNPSkFaVkoUwiPNfq1",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5UwypTCfHps6bAP47dvKX",parentId:"2u4Fe7xnA6kkXXVGrQ4eyJ",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555056,cy:5.6732245690928105,cz:2.2408122612280286,lx:12,ly:.3,lz:4,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[6.699943397855505,5.67322456909281,.1],rightPoint:[-5.300056602144494,5.6732245690928105,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"f27adUV1mvqbvyHKYmSuV2",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3333333333333333,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tWZGLDh66KAhJVvZqAMQj9",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.041666666666666664,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"mpyjLbrKcGFUF8TjcaBsHx",parentId:"ajX6DE1iwh52m5aYDEnUZw",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:6.699943397855504,cy:.6732245690928105,cz:2.2301039869226305,lx:10,ly:.3,lz:4,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[6.6999433978555025,-4.3267754309071895,.1],rightPoint:[6.699943397855506,5.6732245690928105,.1],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:8881784197001253e-32,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3500000000000001,cy:.1,cz:-.0625,lx:.10000000000000017,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-5.300056602144494,cy:.6732245690928105,cz:2.228839888904333,lx:10,ly:.3,lz:4,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:.3,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gyFrbE3iZarFXfLEH1H67R",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.0625,lx:.1,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"unBvd3fv6vjx3w5z7xjUYQ",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3,cy:.1,cz:-.0625,lx:.09999999999999995,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"a5UaEaWbJaymLnXeqKPnVG",parentId:"q3QyrcfYtaEUJUy3dDMe3o",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:.6999433978555061,cy:-4.3267754309071895,cz:2.268765007024547,lx:12,ly:.3,lz:4,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-5.300056602144494,-4.3267754309071895,.1],rightPoint:[6.699943397855506,-4.3267754309071895,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#f44e3b",normal:[0,0,1],rotation:[0,0,0],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"mV7ZzdDseX98dNDS9YnHz7",selected:!1,leftRoofHeight:4,rightRoofHeight:4,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.375,cy:.1,cz:-.0625,lx:.08333333333333333,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2GCuByhTAXSLeW2Qg1rbmy",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.20833333333333334,cy:.1,cz:-.06249999999999989,lx:.08333333333333333,ly:.3,lz:.3749999999999998,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.20833333333333337,cy:.1,cz:-.0625,lx:.08333333333333341,ly:.3,lz:.375,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.375,cy:.1,cz:-.06250000000000006,lx:.08333333333333341,ly:.3,lz:.3749999999999999,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Door",cx:0,cy:0,cz:-.1875,lx:.16666666666666666,ly:0,lz:.625,color:"white",textureType:"Door Texture #6",normal:[0,1,0],rotation:[0,0,0],id:"9M7tkz3sEgnV2Z9JRHNunf",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,doorType:"Default",archHeight:1,filled:!0},{type:"Human",name:"Jett",cx:.21229430424866003,cy:-5.637713455371184,cz:.05000000074505806,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:10.097000941178736,cy:.15684188850117087,cz:.05,lx:18.159918676696766,ly:14.613120903558068,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,label:"Mansard",labelHeight:9,labelSize:.5,showLabel:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["vZvx6xJpNjwVutXgBYTqDu"],ridgeWidth:1.3796830302831236,textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"mV7ZzdDseX98dNDS9YnHz7",rise:2.8592746089260386,ceiling:!1},{type:"Window",cx:-1.7044433380331139,cy:-4.015924463712854,cz:5.284591699130502,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"cH5YJR4J6bQYpX3WB9k67N"},{type:"Window",cx:-2.7018576414835405,cy:-1.2664219595013968,cz:7.091630555089024,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1DzhW8vmdxVB9mcmU4b6BC"},{type:"Window",cx:4.341146883752691,cy:-1.251091065564622,cz:7.1103910909217225,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.519146114246523,0,0],parentId:"sfGxVh6UQ5Rh5eXQutdage",parentType:"Roof",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"8aBtPjYUmoaUgGD59eww1P"},{type:"Window",cx:3.2042827482748226,cy:-4.014959357661002,cz:5.287583934394446,lx:1,ly:.2,lz:1.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[1.2587938987974363,0,0],parentId:"mV7ZzdDseX98dNDS9YnHz7",parentType:"Roof",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g7sgiaMwM5so3QfreNjMbC"}],jgn=24,Ygn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.571150309425594,-21.972462076133603,4.616004408449201],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:31.733468832186787,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.5906667798973315,5.766093748984623,2.3165783316967063],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:318,height:60}},Ogn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_gn=1,Vgn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ggn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Xgn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Jgn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Kgn="Unknown",qgn=null,$gn=null,Qgn=null,Zgn=["Gambrel roof vs. mansard roof"],emn={docid:kgn,time:Fgn,timestamp:Lgn,owner:Wgn,email:Ngn,world:Ugn,elements:Bgn,sceneRadius:jgn,view:Ygn,graphState:Ogn,evolutionMethod:_gn,solarPanelArrayLayoutParams:Vgn,solarPanelArrayLayoutConstraints:Ggn,evolutionaryAlgorithmState:Xgn,economicsParams:Jgn,modelType:Kgn,modelAuthor:qgn,modelLabel:$gn,modelDescription:Qgn,notes:Zgn},tmn="gok71rpB2eg8vNimCv9jsV",nmn="11/24/2023 02:27 PM",omn=1700854020446,imn="QWecNcxhyvP6j6sBN11hBsfZDau1",rmn=null,amn=null,lmn="1.5.2",smn={solarRadiationHeatmapGridCellSize:1,date:"6/22/2022, 5:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"1600 Pennsylvania Avenue NW, Washington, DC 20500, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.8976763,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-77.0365298,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},cmn=[{type:"Foundation",cx:2.437186281961438,cy:4.616260107535155,cz:.15,lx:74.26384799474762,ly:70.57289198325788,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3Qmj2gXj2Lmc28MbpT7BdQ",enableGroupMaster:!0,locked:!1,textureType:"Foundation Texture #4"},{type:"Wall",cx:-27.296564319985823,cy:-3.2481977926108314,cz:0,lx:27,ly:.8,lz:15,relativeAngle:4.71238898038469,leftPoint:[-27.296564319985823,10.251802207389169,.25],rightPoint:[-27.296564319985823,-16.74819779261083,.25],leftJoints:["jF3H99H3SvFmx1EtcFgSUR"],rightJoints:["qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"u5UupDCTgXC6oFiX9y4uby",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.7965643199858263,cy:10.251802207389169,cz:0,lx:51,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[23.703435680014174,10.251802207389169,.25],rightPoint:[-27.296564319985823,10.251802207389169,.25],leftJoints:["pkajzTvgP9i43n8Xx6zTrw"],rightJoints:["u5UupDCTgXC6oFiX9y4uby"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jF3H99H3SvFmx1EtcFgSUR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:23.703435680014174,cy:-2.7481977926108314,cz:0,lx:26,ly:.8,lz:15,relativeAngle:1.5707963267948966,leftPoint:[23.703435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,10.251802207389169,.25],leftJoints:["vsV2452bmxt8JnQXXqBe5N"],rightJoints:["jF3H99H3SvFmx1EtcFgSUR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"pkajzTvgP9i43n8Xx6zTrw",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-19.046564319985826,cy:-16.74819779261083,cz:3.733120462951788,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[-27.296564319985823,-16.74819779261083,.25],rightPoint:[-10.796564319985826,-16.74819779261083,.25],leftJoints:["u5UupDCTgXC6oFiX9y4uby"],rightJoints:["oHVfosgpAEPgTvFqa59jhu"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"qEgP3g76n6YGpTNdaUNRJ5",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:15.453435680014174,cy:-15.748197792610831,cz:0,lx:16.5,ly:.8,lz:15,relativeAngle:0,leftPoint:[7.203435680014174,-15.748197792610831,.25],rightPoint:[23.703435680014174,-15.748197792610831,.25],leftJoints:["3nWwhqzYyg3BoBTyzmSgQv"],rightJoints:["pkajzTvgP9i43n8Xx6zTrw"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"vsV2452bmxt8JnQXXqBe5N",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,wallStructure:"Default",structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.953435680014174,cy:-16.74819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:1.3258176636680323,leftPoint:[6.703435680014174,-17.74819779261083,.25],rightPoint:[7.203435680014174,-15.748197792610831,.25],leftJoints:["juEYyWFfCjJDE4b169Lr6e"],rightJoints:["vsV2452bmxt8JnQXXqBe5N"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"3nWwhqzYyg3BoBTyzmSgQv",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-10.546564319985826,cy:-17.49819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:5.034139534781332,leftPoint:[-10.796564319985826,-16.74819779261083,.25],rightPoint:[-10.296564319985826,-18.24819779261083,.25],leftJoints:["qEgP3g76n6YGpTNdaUNRJ5"],rightJoints:["7KCjLbvxBFDXSftkUZDS2v"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oHVfosgpAEPgTvFqa59jhu",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-9.546564319985826,cy:-19.24819779261083,cz:0,lx:2.5,ly:.8,lz:15,relativeAngle:5.355890089177974,leftPoint:[-10.296564319985826,-18.24819779261083,.25],rightPoint:[-8.796564319985826,-20.24819779261083,.25],leftJoints:["oHVfosgpAEPgTvFqa59jhu"],rightJoints:["oSmqM3WG97smXJFvN7dA25"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"7KCjLbvxBFDXSftkUZDS2v",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-8.046564319985826,cy:-20.99819779261083,cz:0,lx:2.1213203435596424,ly:.8,lz:15,relativeAngle:5.497787143782137,leftPoint:[-8.796564319985826,-20.24819779261083,.25],rightPoint:[-7.296564319985826,-21.74819779261083,.25],leftJoints:["7KCjLbvxBFDXSftkUZDS2v"],rightJoints:["6BCCjk22xgQQ9jwAeGEMpR"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"oSmqM3WG97smXJFvN7dA25",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-6.546564319985826,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:5.6951827036320175,leftPoint:[-7.296564319985826,-21.74819779261083,.25],rightPoint:[-5.796564319985826,-22.74819779261083,.25],leftJoints:["oSmqM3WG97smXJFvN7dA25"],rightJoints:["mrpM4sL27ca3MHv3JwptDB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"6BCCjk22xgQQ9jwAeGEMpR",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-4.796564319985826,cy:-23.24819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:5.81953769817878,leftPoint:[-5.796564319985826,-22.74819779261083,.25],rightPoint:[-3.7965643199858263,-23.74819779261083,.25],leftJoints:["6BCCjk22xgQQ9jwAeGEMpR"],rightJoints:["onQ3RZrBRz8TRewvvY3dTV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mrpM4sL27ca3MHv3JwptDB",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-2.7965643199858263,cy:-23.74819779261083,cz:0,lx:1.9999999999999998,ly:.8,lz:15,relativeAngle:0,leftPoint:[-3.7965643199858263,-23.74819779261083,.25],rightPoint:[-1.7965643199858263,-23.74819779261083,.25],leftJoints:["mrpM4sL27ca3MHv3JwptDB"],rightJoints:["cKAWjnd2X23kJ1QdKrzyaP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"onQ3RZrBRz8TRewvvY3dTV",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureWidth:.7,structureSpacing:5,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-.7965643199858263,cy:-23.49819779261083,cz:0,lx:2.0615528128088303,ly:.8,lz:15,relativeAngle:.24497866312686423,leftPoint:[-1.7965643199858263,-23.74819779261083,.25],rightPoint:[.20343568001417367,-23.24819779261083,.25],leftJoints:["onQ3RZrBRz8TRewvvY3dTV"],rightJoints:["ksg7ADGGcB7LaHQWR2gDoP"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"cKAWjnd2X23kJ1QdKrzyaP",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:.9534356800141737,cy:-22.99819779261083,cz:0,lx:1.5811388300841898,ly:.8,lz:15,relativeAngle:.32175055439664213,leftPoint:[.20343568001417367,-23.24819779261083,.25],rightPoint:[1.7034356800141737,-22.74819779261083,.25],leftJoints:["cKAWjnd2X23kJ1QdKrzyaP"],rightJoints:["tjit5nfeyfk7MgJnZwEuUo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ksg7ADGGcB7LaHQWR2gDoP",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:2.4534356800141737,cy:-22.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[1.7034356800141737,-22.74819779261083,.25],rightPoint:[3.2034356800141737,-21.74819779261083,.25],leftJoints:["ksg7ADGGcB7LaHQWR2gDoP"],rightJoints:["2aizppjx7nR9dWK7oFqe3X"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tjit5nfeyfk7MgJnZwEuUo",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:3.9534356800141737,cy:-21.24819779261083,cz:0,lx:1.8027756377319946,ly:.8,lz:15,relativeAngle:.588002603547567,leftPoint:[3.2034356800141737,-21.74819779261083,.25],rightPoint:[4.703435680014174,-20.74819779261083,.25],leftJoints:["tjit5nfeyfk7MgJnZwEuUo"],rightJoints:["8ocZPrJmGusu3tZWJzWvDk"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"2aizppjx7nR9dWK7oFqe3X",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:5.203435680014174,cy:-20.24819779261083,cz:0,lx:1.4142135623730951,ly:.8,lz:15,relativeAngle:.7853981633974483,leftPoint:[4.703435680014174,-20.74819779261083,.25],rightPoint:[5.703435680014174,-19.74819779261083,.25],leftJoints:["2aizppjx7nR9dWK7oFqe3X"],rightJoints:["juEYyWFfCjJDE4b169Lr6e"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8ocZPrJmGusu3tZWJzWvDk",color:"white",wallStructure:"Pillar",opacity:0,roofId:"kKLW3PicqjFWjN5PqUDTTj",structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.203435680014174,cy:-18.74819779261083,cz:0,lx:2.23606797749979,ly:.8,lz:15,relativeAngle:1.1071487177940904,leftPoint:[5.703435680014174,-19.74819779261083,.25],rightPoint:[6.703435680014174,-17.74819779261083,.25],leftJoints:["8ocZPrJmGusu3tZWJzWvDk"],rightJoints:["3nWwhqzYyg3BoBTyzmSgQv"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"juEYyWFfCjJDE4b169Lr6e",color:"white",roofId:"kKLW3PicqjFWjN5PqUDTTj",wallStructure:"Pillar",opacity:0,structureSpacing:5,structureWidth:.7,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["oHVfosgpAEPgTvFqa59jhu","7KCjLbvxBFDXSftkUZDS2v","oSmqM3WG97smXJFvN7dA25","6BCCjk22xgQQ9jwAeGEMpR","mrpM4sL27ca3MHv3JwptDB","onQ3RZrBRz8TRewvvY3dTV","cKAWjnd2X23kJ1QdKrzyaP","ksg7ADGGcB7LaHQWR2gDoP","tjit5nfeyfk7MgJnZwEuUo","2aizppjx7nR9dWK7oFqe3X","8ocZPrJmGusu3tZWJzWvDk","juEYyWFfCjJDE4b169Lr6e","3nWwhqzYyg3BoBTyzmSgQv","vsV2452bmxt8JnQXXqBe5N","pkajzTvgP9i43n8Xx6zTrw","jF3H99H3SvFmx1EtcFgSUR","u5UupDCTgXC6oFiX9y4uby","qEgP3g76n6YGpTNdaUNRJ5"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"kKLW3PicqjFWjN5PqUDTTj",locked:!1,rise:0,ceiling:!1},{type:"Foundation",cx:1.202928279289015,cy:-.8889074596387783,cz:.1,lx:64.84314999489811,ly:43.56565669817109,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"b7DVyKfyTBHZGANbVbGoYG",locked:!1},{type:"Wall",cx:-.1363522997348845,cy:12.047335526575006,cz:0,lx:44,ly:.3,lz:17,relativeAngle:3.141592653589793,leftPoint:[21.863647700265116,12.047335526575006,.2],rightPoint:[-22.136352299734884,12.04733552657501,.2],leftJoints:["sEoC32EE5BhvottJbmBN7P"],rightJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"gtmtUrJvJf5sJGi7m3ucvT",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-21.886352299734884,cy:2.5473355265750053,cz:0,lx:19.00657780874821,ly:.3,lz:17,relativeAngle:4.738698697637612,leftPoint:[-22.136352299734884,12.047335526575006,.2],rightPoint:[-21.636352299734884,-6.952664473424995,.2],leftJoints:["gtmtUrJvJf5sJGi7m3ucvT"],rightJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"r8Aw9XiLCw9kPKUMgd3t6u",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:.1136477002651155,cy:-6.952664473424995,cz:0,lx:43.5,ly:.3,lz:17,relativeAngle:0,leftPoint:[-21.636352299734884,-6.952664473424995,.2],rightPoint:[21.863647700265116,-6.952664473424995,.2],leftJoints:["r8Aw9XiLCw9kPKUMgd3t6u"],rightJoints:["sEoC32EE5BhvottJbmBN7P"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"rxcHxAK8KNRZb3EZ7ovrqm",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.014014541320304,rightUnfilledHeight:16.014014541320304,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:21.863647700265116,cy:2.5473355265750053,cz:0,lx:19,ly:.3,lz:17,relativeAngle:1.5707963267948966,leftPoint:[21.863647700265116,-6.952664473424995,.2],rightPoint:[21.863647700265116,12.047335526575006,.2],leftJoints:["rxcHxAK8KNRZb3EZ7ovrqm"],rightJoints:["gtmtUrJvJf5sJGi7m3ucvT"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"sEoC32EE5BhvottJbmBN7P",roofId:"dnGfHzSjH6Qt6pNJ8jFJUj",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:16.110000000000003,rightUnfilledHeight:16.110000000000003,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Mansard",roofStructure:"Default",wallsId:["rxcHxAK8KNRZb3EZ7ovrqm"],ridgeWidth:1.6897028772572007,textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"b7DVyKfyTBHZGANbVbGoYG",foundationId:"b7DVyKfyTBHZGANbVbGoYG",id:"dnGfHzSjH6Qt6pNJ8jFJUj",locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.0776940726226174,cy:18.14658482221914,cz:.1,lx:23.456509054864263,ly:24.556989889910795,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"sQbhet5xpiSK5NzTWtub4a",locked:!1},{type:"Wall",cx:-8.831120616583963,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:-1.5707963267948966,leftPoint:[-8.831120616583963,8.971132934395634,0],rightPoint:[-8.831120616583963,-8.326737095099803,0],leftJoints:["7QCAeFgCM4uwoEq1rdWfs2"],rightJoints:["ue429MHHFRd7tE3xfNNNHx"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"8kN3EwUCnSjrTbu7YtQvQY",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.165400792362441,cy:8.971132934395634,cz:0,lx:15.331439648443038,ly:.8,lz:15,relativeAngle:3.141592653589793,leftPoint:[6.500319031859077,8.971132934395634,0],rightPoint:[-8.83112061658396,8.971132934395634,0],leftJoints:["cCcLVBABwpzcuXp9FsPst3"],rightJoints:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"7QCAeFgCM4uwoEq1rdWfs2",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:5.6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:6.500319031859077,cy:.3221979196479152,cz:0,lx:17.297870029495435,ly:.5,lz:15,relativeAngle:1.5707963267948966,leftPoint:[6.500319031859077,-8.326737095099803,0],rightPoint:[6.500319031859077,8.971132934395634,0],leftJoints:["ue429MHHFRd7tE3xfNNNHx"],rightJoints:["7QCAeFgCM4uwoEq1rdWfs2"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"cCcLVBABwpzcuXp9FsPst3",roofId:"89u35YTLctNXWRDNsxwcpj",wallStructure:"Pillar",opacity:0,structureSpacing:6,structureWidth:1,structureColor:"white",locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.1654007923624428,cy:-8.326737095099803,cz:0,lx:15.331439648443041,ly:.5,lz:15,relativeAngle:0,leftPoint:[-8.831120616583963,-8.326737095099803,0],rightPoint:[6.500319031859077,-8.326737095099803,0],leftJoints:["8kN3EwUCnSjrTbu7YtQvQY"],rightJoints:["cCcLVBABwpzcuXp9FsPst3"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"ue429MHHFRd7tE3xfNNNHx",roofId:"89u35YTLctNXWRDNsxwcpj",structureSpacing:5.6,structureWidth:1,wallStructure:"Default",structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.6,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:15,rightTopPartialHeight:15,unfilledHeight:.5},{type:"Wall",cx:-1.459252183107493,cy:4.715511268475593,cz:0,lx:8.560946140897292,ly:.3,lz:17,leftJoints:["gpDtE9g3zjB5xUcdy4p2bn"],rightJoints:["ozPT6yyjumU6Hv81G3owfN"],leftPoint:[2.821220887341153,4.715511268475593,0],rightPoint:[-5.739725253556139,4.715511268475594,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"cGxpdDXk7BPKiVfi6VxNx9",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-5.691083514119223,cy:1.2695607261280444,cz:0,lx:6.89258765896258,ly:.3,lz:17,leftJoints:["cGxpdDXk7BPKiVfi6VxNx9"],rightJoints:["2zvZ3adRvEkJq9fVPEEKKi"],leftPoint:[-5.739725253556139,4.715511268475593,0],rightPoint:[-5.642441774682306,-2.1763898162195043,0],relativeAngle:-1.5566816409948834,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"ozPT6yyjumU6Hv81G3owfN",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:-1.4106104436705764,cy:-2.1763898162195043,cz:0,lx:8.46366266202346,ly:.3,lz:17,leftJoints:["ozPT6yyjumU6Hv81G3owfN"],rightJoints:["gpDtE9g3zjB5xUcdy4p2bn"],leftPoint:[-5.642441774682306,-2.1763898162195043,0],rightPoint:[2.821220887341153,-2.1763898162195043,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"2zvZ3adRvEkJq9fVPEEKKi",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{type:"Wall",cx:2.821220887341153,cy:1.2695607261280444,cz:0,lx:6.891901084695098,ly:.3,lz:17,leftJoints:["2zvZ3adRvEkJq9fVPEEKKi"],rightJoints:["cGxpdDXk7BPKiVfi6VxNx9"],leftPoint:[2.821220887341153,-2.1763898162195043,0],rightPoint:[2.821220887341153,4.715511268475593,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"gpDtE9g3zjB5xUcdy4p2bn",parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofId:"3DT5vkx2wE8Avqo6NjE3qK",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:17,rightTopPartialHeight:17,unfilledHeight:.5},{id:"3DT5vkx2wE8Avqo6NjE3qK",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cyVPK1qLJT1KbaGL6qLYHA",foundationId:"cyVPK1qLJT1KbaGL6qLYHA",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["2zvZ3adRvEkJq9fVPEEKKi"],ridgeWidth:1.6897028772572007,selected:!1,locked:!1,rise:1.1924072822886274,ceiling:!1},{type:"Foundation",cx:2.1156734519362868,cy:-14.279123441940943,cz:.1,lx:15.481779487215247,ly:15.111518843057006,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"cyVPK1qLJT1KbaGL6qLYHA",selected:!1,locked:!1},{type:"Window",cx:-.2878787878787879,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5TpJDxszAzRvyQ2NqfKkn9",opacity:.5,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"isnfsXJ1sYeWDDj1v3HAcy",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rjznXiHLyLsFZBtBqoe6me",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hRT3G1Qxj9ddwfGbVmjK67",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.4090909090909091,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4FZyv3iFANwURNdtJmSf5k",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9XgeyGKZ17bF6hmvudf1pb",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tmSZBUv79gGQEmqdHUeNBv",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:.26666666666666666,lx:.09090909090909091,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hpKyGgh393UrDCYt2TFEPH",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2878787878787879,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"4AD8LAo94avXAwRxmXoTW5",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.045454545454545456,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"o746xoPC2dwGtGgutFsDXX",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19696969696969696,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"c53UUVUecAFBsz89jbxVYA",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.4393939393939394,cy:.3,cz:-.15,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bpg8E63ShDakBXvmrGVvhc",parentId:"qEgP3g76n6YGpTNdaUNRJ5",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Jedi",cx:10.792902287976906,cy:-24.111012140339845,cz:.15000000596046095,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jXBttvkEdJUcgsQyoxkJyY",selected:!1,ly:.56,locked:!1},{type:"Window",cx:-.4090909090909091,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9D4XHpdhCgSutX6wu9btGJ",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gWSjVYZUm8Qw4rZTGCdJqU",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.07575757575757576,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ssjJa1pfa5qX67vq3t3ms4",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3181818181818182,cy:.3,cz:-.11666666666666667,lx:.09090909090909091,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"cm6JHszxRa71LB4AL9o4hM",parentId:"vsV2452bmxt8JnQXXqBe5N",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"eGFMPp63uaJ8Z6dEip1wCT",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"6g1oBhU14hr3mTV912e9dM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529411,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"nAfcKafQoUyknKRwU7zYyz",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jdht2qsNqNvtRuTiSrxhRn",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.45098039215686275,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sMRK1zZtDamAUaaju5kzEB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3627450980392157,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ivaEUPDqF8h1KuwffoQE9v",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.2647058823529412,cy:.3,cz:-.15,lx:.03921568627450977,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"qoUC82g8EKd6aX4rrRhS51",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.17647058823529407,cy:.3,cz:-.15,lx:.03921568627450987,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9G3Na6w4LghC1tGJcYYMQX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"9zGVUoYGVo2E4qf9ZuPkby",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pErJmrncghcaMqwr5VCYq6",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.2843137254901961,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bNA5NJ5jM3rqPHYpWU9YvX",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254904,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"u6JmSSS7MnsTc3abTnBiZB",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.19607843137254902,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fnbrpCKzRDKtbEzFZ8278Y",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.28431372549019607,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iNCEukMLjXLvD5gbDy1xJM",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.37254901960784315,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"amzAdeamET282epqcjwyww",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.46078431372549017,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bRsXBDeYfSso6tiCqiYCUp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#b3b3b3",normal:[0,0,1],rotation:[0,0,0],parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"x7JsEH8PfGjJ373jxu2nH9",opacity:0,frame:!0,locked:!1,mullionColor:"white",frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.008288040270692798,cy:.1,cz:-.0125,lx:.21548904703801275,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"fN7U27jHhJwVAWntrzsr1D",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.3149455302863263,cy:.1,cz:-.0125,lx:.29836944974494073,ly:.5,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bmDtwgfufE5e4Kne2LhHZq",parentId:"7QCAeFgCM4uwoEq1rdWfs2",foundationId:"sQbhet5xpiSK5NzTWtub4a",tint:"#b3b3b3",opacity:0,selected:!1,locked:!1,mullionColor:"white",frame:!1,frameWidth:.2,windowType:"Default",archHeight:1,horizontalMullion:!1,verticalMullion:!1,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.07843137254901958,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"ascuFaQMJxzrhtJHSRpvZ2",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.107843137254902,cy:.1,cz:.3,lx:.03921568627450987,ly:.3,lz:.2,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rSoHzPCUdtqVH7c8BRWJ1V",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:-.0784313725490196,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"tFJRnNLL8FhvzRjVcGz5Fk",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.0196078431372549,cy:.3,cz:-.2833333333333333,lx:.0784313725490196,ly:.3,lz:.36666666666666664,mullion:!0,mullionWidth:.06,mullionSpacing:5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"668rcrJyE6W7MNd2pYWoAp",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.7,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Arched",archHeight:2,sillWidth:0,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:5,verticalMullionSpacing:5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Window",cx:.10784313725490197,cy:.3,cz:-.15,lx:.0392156862745098,ly:.3,lz:.3,mullion:!0,mullionWidth:.06,mullionSpacing:.8,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bdPS759a6fLQqu4V2o4qtx",parentId:"jF3H99H3SvFmx1EtcFgSUR",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",tint:"#b3b3b3",opacity:.5,selected:!1,frame:!0,mullionColor:"white",frameWidth:.2,locked:!1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.8,verticalMullionSpacing:.8,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Human",name:"Joey",cx:9.115387825475082,cy:-24.651217406554846,cz:.15,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"ouHmzt9Us42w5bHjR9ZvBW",selected:!1,ly:.462,locked:!1},{type:"Tree",name:"Elm",cx:24.68149666528604,cy:30.40624439575707,cz:.1500000059604645,lx:12.225521614749255,lz:8.985934888591816,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"iyZFP8cWUDsX2VGyUoGTxq",selected:!1,locked:!1},{type:"Tree",name:"Maple",cx:-33.168239841792456,cy:33.081643759613165,cz:.15000000596046628,lx:21.067617771997934,lz:15.677323900388549,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"q5tey4s1a5vXUiiDEyFkaC",selected:!1,flip:!0,locked:!1},{type:"Tree",name:"Oak",cx:27.369492357164148,cy:-25.522008177846573,cz:.1500000059604645,lx:10.7323110159116,lz:14.464681446457563,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"n1sQ5fcUd75QzX2Y353uNT",selected:!1,locked:!1},{type:"Tree",name:"Oak",flip:!0,cx:31.990594871051,cy:-29.99931442147024,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"1i15CUF6r9qjPL7U2Lb6eo",selected:!1,locked:!1},{type:"Tree",name:"Oak",cx:30.9837315091143,cy:-18.406933063455,cz:.15,lx:10.7323110159116,lz:11.586410893659473,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tcFvkUdRjNo8qiDvEShvKP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:12.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tm3GiScxVp1WgzmWsLgusP",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:14.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"f2DSzggaELKVYDnQ3jkH8J",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:16.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"8NTkXiYEAz7nkqKvjnXpTs",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"5hte45etpHBPzUjLVr5M8S",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:20.542371491375786,cy:-20.043493250811643,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"k5NSyhh1vTCW6anr3Bnxxm",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-24.199104717917777,cy:-19.89755183152851,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"jKAUFtG6mCpk1VKUFLbArj",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-21.70602992567401,cy:-19.842150169478614,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"38XrzKeRncZdskEKuyybVH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-19.37916011957982,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"imTCPSHK1nyiQfLEdYvRSi",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-17.163093637585362,cy:-19.78674850742873,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"mhx7saLxNPZ36vhhBgjpsi",selected:!1,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Hip",roofStructure:"Default",wallsId:["8kN3EwUCnSjrTbu7YtQvQY"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"sQbhet5xpiSK5NzTWtub4a",foundationId:"sQbhet5xpiSK5NzTWtub4a",id:"89u35YTLctNXWRDNsxwcpj",leftRidgeLength:8.635242091739931,rightRidgeLength:10.319579264913394,rise:3.229240477888453,ceiling:!1},{type:"Foundation",cx:.6163744974611483,cy:18.71649900037034,cz:.5,lx:50.85545052514254,ly:17.97168247424439,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#ffffff",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ustJbtTQJEeCkyVnXGayK2"},{type:"Human",name:"Jamelia",cx:1.3448042201833577,cy:2.8336636548560605,cz:.5000000000000009,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"pAQhAzdRtcSEf5g4XYdKtM",selected:!1,ly:.65},{type:"Human",name:"Jaye",cx:4.47029660144684,cy:5.02316777071092,cz:.5000000000000009,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",id:"dbe6vr9MpeAutqWYghGDv5",selected:!1,ly:.55},{type:"Light",decay:2,distance:10,intensity:10,color:"#ff0000",cx:-.021931798388491356,cy:-.31746447944889156,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"eK4rrZPqmi6q4jMkoXNFpz",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.15060856519114013,cy:-.2699408955339268,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"fHCHUCQJQtBzqC5JVjvrVV",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.18847671202407354,cy:-.26968211451709273,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"rLc1ZCGs7ugmXpxAb6kueG",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:.267273996418672,cy:-.2667264794936538,cz:.5000000198682121,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"tFz5GHQqyyVVxh25czH4Em",selected:!1},{type:"Light",decay:2,distance:10,intensity:5,color:"#0000ff",cx:-.34024773885085746,cy:-.26354534234637206,cz:.5000000198682151,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",foundationId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"etKXiduEZtGdENpo2GRtJg",selected:!1},{type:"Light",decay:2,distance:10,intensity:9,color:"#ff00ff",cx:-.02474975458211863,cy:.12239922347312886,cz:.49999999999999645,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"ustJbtTQJEeCkyVnXGayK2",foundationId:"ustJbtTQJEeCkyVnXGayK2",id:"iPzFJUPPfWj6iSKXbVujiL",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.836223831491182,cy:-19.73134684537884,cz:.1500000059604645,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"3Qmj2gXj2Lmc28MbpT7BdQ",id:"dqcT5qczxNqZJ7sXcMUU2L",selected:!1},{type:"Polygon",cx:.1374437866453651,cy:-.12111426497213049,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.526127233622693,y:-.4433333333333333},{x:-.526127233622693,y:-.3566666666666667},{x:.46529955659029343,y:-.3566666666666667},{x:.46529955659029343,y:-.4433333333333333}],parentId:"7QCAeFgCM4uwoEq1rdWfs2",parentType:"Wall",foundationId:"sQbhet5xpiSK5NzTWtub4a",selected:!1,filled:!0,selectedIndex:2,id:"2qLCC51p5mx8fVpgQpr3Zc",noOutline:!0,lineColor:"#808080",textureType:"No Polygon Texture",text:"1600",fontSize:.6,fontColor:"gray"}],umn=24,dmn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[4.371875648214528,21.08668963398181,29433785846390654e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[4.371875648214528,21.086539627316288,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:19,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-20.61846404506183,63.644388618963895,8.02947900521283],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.5,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:18.05,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-2.188721381754669,.6407899994531973,8.029479005212822],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,waterSurface:!1,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400},directLightIntensity:5},fmn=!1,hmn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},pmn=1,gmn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},mmn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ymn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Amn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},wmn="Unknown",vmn=null,xmn=null,bmn=null,Smn=null,Tmn=[],Pmn=3,Cmn=3,Rmn={docid:tmn,time:nmn,timestamp:omn,userid:imn,owner:rmn,email:amn,version:lmn,world:smn,elements:cmn,sceneRadius:umn,view:dmn,animate24Hours:fmn,graphState:hmn,evolutionMethod:pmn,solarPanelArrayLayoutParams:gmn,solarPanelArrayLayoutConstraints:mmn,evolutionaryAlgorithmState:ymn,economicsParams:Amn,modelType:wmn,modelAuthor:vmn,modelLabel:xmn,modelDescription:bmn,designProjectType:Smn,notes:Tmn,minimumNavigationMoveSpeed:Pmn,minimumNavigationTurnSpeed:Cmn},Hmn="iYCTJTjPxpfAmYmA6nDmNN",Mmn="06/18/2023 07:55 pm",Imn=1687132511108,zmn="QWecNcxhyvP6j6sBN11hBsfZDau1",Dmn=null,Emn=null,kmn={solarPanelVisibilityGridCellSize:.2,longitude:34.54995193372956,diurnalTemperatureModel:1,cspDaysPerYear:4,discretization:"Approximate",solarRadiationHeatmapGridCellSize:.5,noAnimationForHeatmapSimulation:!1,dustLoss:.05,pvGridCellSize:.5,airAttenuationCoefficient:.01,date:"3/22/2023, 12:00:00 PM",ground:{albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05},address:"Kocavilayet, 2929. Sk. No:1, 33110 Yenişehir/Mersin, Türkiye",timesPerHour:1,cspGridCellSize:.5,daysPerYear:12,sutTimesPerHour:1,noAnimationForSolarPanelSimulation:!1,sutDaysPerYear:4,countryCode:"TR",noAnimationForSolarUpdraftTowerSimulation:!1,latitude:36.81233464724704,name:"default",sutGridCellSize:1,highestTemperatureTimeInMinutes:900,noAnimationForThermalSimulation:!1,airConvectiveCoefficient:5,noAnimationForSensorDataCollection:!1,cspTimesPerHour:1},Fmn=[{cy:-2.235554730854802,solarUpdraftTower:{},normal:[0,0,1],cz:.05,id:"2XGmuwQrQtDPGFB7FUq4gK",solarPowerTower:{},solarAbsorberPipe:{},lx:58.35972106577608,rotation:[0,0,.7770359328652141],parentId:"Ground",textureType:"No Foundation Texture",selected:!1,type:"Foundation",cx:-2.210236108673694,ly:32.834680769300704,color:"#808080",hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.1,locked:!0},{normal:[0,0,1],roofId:"byzwW7Db61R9EfVcvoWVQ9",studColor:"#ffffff",leftJoints:["vqP69iA4TuZd8ZEvPBLjzU"],rightRoofHeight:11.5,relativeAngle:3.141592653589793,structureColor:"white",volumetricHeatCapacity:.5,lineWidth:.2,opacity:.5,textureType:"No Wall Texture",windows:[],fill:"Full",cx:1.1731464688636888,color:"#e9d8ba",studWidth:.1,ly:.3,leftRoofHeight:11.5,lz:11.5,type:"Wall",rightJoints:["6bfpYPQw2M5RbKRsLfDauC"],studSpacing:2,structureSpacing:2,id:"r7FDtsVF9isPsPhYMJtzMf",showLabel:!1,parentId:"2XGmuwQrQtDPGFB7FUq4gK",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,lineColor:"#000000",eavesLength:-.05,unfilledHeight:.5,lx:39,rotation:[0,0,0],rValue:2,rightPoint:[-18.326853531136305,8.729078401244518,.1],cy:8.729078401244518,cz:0,selected:!1,leftPoint:[20.673146468863685,8.729078401244516,.1],wallStructure:"Default",parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",lx:17.000000000000004,rotation:[0,0,0],opacity:.5,studColor:"#ffffff",ly:.3,type:"Wall",fill:"Full",rightJoints:["r7FDtsVF9isPsPhYMJtzMf"],normal:[0,0,1],rightRoofHeight:11.5,lineColor:"#000000",lineWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",structureWidth:.1,centerRoofHeight:[0,12.780523500160847],id:"vqP69iA4TuZd8ZEvPBLjzU",selected:!1,leftPoint:[20.67314646886369,-8.27092159875549,.1],roofId:"byzwW7Db61R9EfVcvoWVQ9",color:"#e9d8ba",studSpacing:2,structureSpacing:2,cz:0,windows:[],structureColor:"white",cy:.22907840124451972,rValue:2,leftJoints:["jE7DwieCwvfvkHcN1Bkpu2"],cx:20.673146468863674,leftRoofHeight:11.5,parentId:"2XGmuwQrQtDPGFB7FUq4gK",rightPoint:[20.673146468863685,8.729078401244516,.1],studWidth:.1,showLabel:!1,unfilledHeight:.5,eavesLength:0,lz:11.5,textureType:"No Wall Texture",relativeAngle:1.5707963267948966,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{leftJoints:["6bfpYPQw2M5RbKRsLfDauC"],parentId:"2XGmuwQrQtDPGFB7FUq4gK",studColor:"#ffffff",cz:0,relativeAngle:0,wallStructure:"Default",showLabel:!1,lineWidth:.2,leftRoofHeight:11.5,ly:.3,type:"Wall",structureColor:"white",color:"#e9d8ba",fill:"Full",lineColor:"#000000",textureType:"No Wall Texture",roofId:"byzwW7Db61R9EfVcvoWVQ9",lz:11.5,unfilledHeight:.5,normal:[0,0,1],selected:!1,cy:-8.270921598755486,volumetricHeatCapacity:.5,structureSpacing:2,windows:[],lx:38.99999999999999,studWidth:.1,rightPoint:[20.673146468863674,-8.27092159875548,.1],eavesLength:-.1,rightRoofHeight:11.5,opacity:.5,leftPoint:[-18.326853531136308,-8.27092159875549,.1],structureWidth:.1,rightJoints:["vqP69iA4TuZd8ZEvPBLjzU"],cx:1.1731464688636861,rValue:2,id:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],studSpacing:2,parapet:{display:!0,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{rightJoints:["jE7DwieCwvfvkHcN1Bkpu2"],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",centerRoofHeight:[0,12.780523500160847],leftPoint:[-18.326853531136305,8.729078401244518,.1],windows:[],studSpacing:2,lineColor:"#000000",structureWidth:.1,structureSpacing:2,textureType:"No Wall Texture",rightPoint:[-18.326853531136308,-8.27092159875549,.1],rotation:[0,0,0],lx:17.00000000000001,lz:11.5,cx:-18.326853531136308,eavesLength:0,opacity:.5,id:"6bfpYPQw2M5RbKRsLfDauC",wallStructure:"Default",studWidth:.1,structureColor:"white",leftRoofHeight:11.5,selected:!1,rightRoofHeight:11.5,showLabel:!1,type:"Wall",roofId:"byzwW7Db61R9EfVcvoWVQ9",ly:.3,leftJoints:["r7FDtsVF9isPsPhYMJtzMf"],lineWidth:.2,volumetricHeatCapacity:.5,color:"#e9d8ba",relativeAngle:4.71238898038469,cy:.22907840124450551,studColor:"#ffffff",parentId:"2XGmuwQrQtDPGFB7FUq4gK",unfilledHeight:.5,normal:[0,0,1],fill:"Full",cz:0,rValue:2,parapet:{display:!1,color:"#e9d8ba",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11.5,rightTopPartialHeight:11.5,locked:!0},{color:"#808080",type:"Foundation",solarAbsorberPipe:{},id:"j3n8P4y4kG4w4nSZiAf6rj",solarUpdraftTower:{},lx:8.996965797517845,selected:!1,cx:15.96321224800585,lz:.12,hvacSystem:{thermostatSetpoint:20,id:"A"},solarPowerTower:{},parentId:"Ground",cz:.06,rotation:[0,0,.7770359328652141],cy:7.538802967801969,normal:[0,0,1],rValue:2,ly:17.6681425475643,textureType:"No Foundation Texture",locked:!0},{id:"vEPKSnunpPsGKUDNJaGnTR",fill:"Full",color:"#c1bdb4",unfilledHeight:.5,normal:[0,0,1],eavesLength:0,leftJoints:["1QnZb7zSPuvyzTVeC8AkVL"],volumetricHeatCapacity:.5,ly:.3,lz:13,selected:!1,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,cx:2.550655474633215,rightJoints:["iYLfpK8sAzBxMk4mz1BXiS"],cy:.09368069935964818,parentId:"j3n8P4y4kG4w4nSZiAf6rj",textureType:"Wall Texture Default",structureWidth:.1,lx:9.499999999999998,rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,structureColor:"white",cz:0,wallStructure:"Default",type:"Wall",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{lx:4.500000000000002,wallStructure:"Default",ly:.3,normal:[0,0,1],rightPoint:[2.550655474633216,-4.656319300640352,.12],type:"Wall",fill:"Full",structureSpacing:2,color:"#c1bdb4",cx:.3006554746332153,relativeAngle:6.283185307179585,unfilledHeight:.5,textureType:"Wall Texture Default",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",leftPoint:[-1.9493445253667843,-4.656319300640349,.12],rightJoints:["vEPKSnunpPsGKUDNJaGnTR"],lz:13,id:"1QnZb7zSPuvyzTVeC8AkVL",cz:0,volumetricHeatCapacity:.5,structureColor:"white",rValue:2,leftJoints:["joaXtauLNr5aPP2tqqpryi"],opacity:.5,selected:!1,parentId:"j3n8P4y4kG4w4nSZiAf6rj",rotation:[0,0,0],structureWidth:.1,eavesLength:0,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{opacity:.5,eavesLength:0,normal:[0,0,1],lz:13,structureColor:"white",volumetricHeatCapacity:.5,cy:.09368069935964818,structureWidth:.1,fill:"Full",ly:.3,unfilledHeight:.5,selected:!1,color:"#c1bdb4",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureSpacing:2,cx:-1.9493445253667832,id:"joaXtauLNr5aPP2tqqpryi",leftJoints:["iYLfpK8sAzBxMk4mz1BXiS"],wallStructure:"Default",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,textureType:"Wall Texture Default",type:"Wall",rotation:[0,0,0],rightJoints:["1QnZb7zSPuvyzTVeC8AkVL"],relativeAngle:4.71238898038469,rValue:2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{id:"iYLfpK8sAzBxMk4mz1BXiS",studColor:"#ffffff",ly:.3,fill:"Full",unfilledHeight:.5,studSpacing:2,leftPoint:[2.5506554746332153,4.843680699359649,.12],color:"#c1bdb4",rotation:[0,0,0],type:"Wall",wallStructure:"Default",lx:4.499999999999998,lineWidth:.2,rightPoint:[-1.949344525366782,4.843680699359645,.12],showLabel:!1,studWidth:.1,structureSpacing:2,textureType:"Wall Texture Default",structureWidth:.1,normal:[0,0,1],cy:4.8436806993596475,lz:13,cx:.30065547463321707,opacity:.5,rValue:2,parentId:"j3n8P4y4kG4w4nSZiAf6rj",structureColor:"white",leftJoints:["vEPKSnunpPsGKUDNJaGnTR"],windows:[],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",cz:0,rightJoints:["joaXtauLNr5aPP2tqqpryi"],relativeAngle:3.1415926535897936,volumetricHeatCapacity:.5,eavesLength:0,selected:!1,lineColor:"#000000",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"9wUwTaeJ4rHLbRCsFJ3NXZ",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,selected:!1,opacity:.5,normal:[0,0,1],wallStructure:"Default",rightJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],id:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",lx:9.499999999999998,color:"#c1bdb4",parentId:"o2WibZi2fR7HySSdFgPoda",cx:2.550655474633215,ly:.3,unfilledHeight:.5,textureType:"Wall Texture Default",eavesLength:0,leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,cy:.09368069935964818,fill:"Full",structureSpacing:2,rightPoint:[2.5506554746332153,4.843680699359649,.12],structureWidth:.1,leftJoints:["tJ6f61zEL1oQGpeeCnFH2S"],type:"Wall",rValue:2,cz:0,structureColor:"white",rotation:[0,0,0],lz:13,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cz:0,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],cx:.3006554746332153,normal:[0,0,1],lz:13,cy:-4.65631930064035,rightJoints:["sCZzaqpAQeUmKwng1WHaCF"],rightPoint:[2.550655474633216,-4.656319300640352,.12],fill:"Full",structureColor:"white",opacity:.5,unfilledHeight:.5,rotation:[0,0,0],textureType:"Wall Texture Default",rValue:2,ly:.3,volumetricHeatCapacity:.5,lx:4.500000000000002,color:"#c1bdb4",eavesLength:0,id:"tJ6f61zEL1oQGpeeCnFH2S",structureSpacing:2,leftJoints:["eZza9yCuyFywaPPzJVe5tY"],foundationId:"o2WibZi2fR7HySSdFgPoda",wallStructure:"Default",relativeAngle:6.283185307179585,type:"Wall",structureWidth:.1,parentId:"o2WibZi2fR7HySSdFgPoda",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",opacity:.5,structureSpacing:2,wallStructure:"Default",parentId:"o2WibZi2fR7HySSdFgPoda",relativeAngle:4.71238898038469,id:"eZza9yCuyFywaPPzJVe5tY",textureType:"Wall Texture Default",cx:-1.9493445253667832,structureWidth:.1,normal:[0,0,1],volumetricHeatCapacity:.5,lx:9.5,lz:13,fill:"Full",structureColor:"white",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],ly:.3,leftPoint:[-1.9493445253667834,4.843680699359648,.12],rightPoint:[-1.9493445253667818,-4.656319300640352,.12],color:"#c1bdb4",rValue:2,cz:0,rightJoints:["tJ6f61zEL1oQGpeeCnFH2S"],eavesLength:0,cy:.09368069935964818,selected:!1,leftJoints:["gZiomgVxY3vk4YfQ9Jjh6B"],unfilledHeight:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{normal:[0,0,1],unfilledHeight:.5,selected:!1,rotation:[0,0,0],structureColor:"white",leftJoints:["sCZzaqpAQeUmKwng1WHaCF"],parentId:"o2WibZi2fR7HySSdFgPoda",structureWidth:.1,relativeAngle:3.1415926535897936,wallStructure:"Default",rValue:2,ly:.3,lz:13,leftPoint:[2.5506554746332153,4.843680699359649,.12],volumetricHeatCapacity:.5,cx:.30065547463321707,type:"Wall",fill:"Full",eavesLength:0,id:"gZiomgVxY3vk4YfQ9Jjh6B",rightJoints:["eZza9yCuyFywaPPzJVe5tY"],cy:4.8436806993596475,rightPoint:[-1.949344525366782,4.843680699359645,.12],textureType:"Wall Texture Default",foundationId:"o2WibZi2fR7HySSdFgPoda",structureSpacing:2,opacity:.5,lx:4.499999999999998,color:"#c1bdb4",cz:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"rdXcWwV3c9y2W6N9aNo82Z",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarUpdraftTower:{},rotation:[0,0,.7770359328652141],cz:.06,ly:17.6681425475643,type:"Foundation",hvacSystem:{thermostatSetpoint:20,id:"A"},lx:8.996965797517845,textureType:"No Foundation Texture",color:"#808080",lz:.12,id:"o2WibZi2fR7HySSdFgPoda",solarAbsorberPipe:{},rValue:2,parentId:"Ground",solarPowerTower:{},cy:-19.27217037701027,cx:-11.087826553311125,normal:[0,0,1],selected:!1,locked:!0},{ly:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",unfilledHeight:.5,opacity:.5,structureWidth:.1,rightJoints:["kFKM2qRJFmWx323z2hBCra"],wallStructure:"Default",rightPoint:[2.5506554746332153,4.843680699359649,.12],relativeAngle:1.5707963267948963,volumetricHeatCapacity:.5,cz:0,rValue:2,fill:"Full",selected:!1,eavesLength:0,normal:[0,0,1],lx:9.499999999999998,cy:.09368069935964818,parentId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],leftPoint:[2.550655474633213,-4.656319300640349,.12],structureSpacing:2,structureColor:"white",type:"Wall",id:"gv3LzTTefsaZrtK8Lzx2bM",textureType:"Wall Texture Default",color:"#c1bdb4",lz:13,leftJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],cx:2.550655474633215,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{fill:"Full",rotation:[0,0,0],normal:[0,0,1],ly:.3,cz:0,textureType:"Wall Texture Default",wallStructure:"Default",rValue:2,id:"i7SnyGKg3wpYfMg2Ck4kpZ",relativeAngle:6.283185307179585,leftJoints:["5KcXyJ1kNDvp5rTZsShAbX"],cx:.3006554746332153,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",structureSpacing:2,lz:13,rightPoint:[2.550655474633216,-4.656319300640352,.12],leftPoint:[-1.9493445253667843,-4.656319300640349,.12],type:"Wall",opacity:.5,structureColor:"white",rightJoints:["gv3LzTTefsaZrtK8Lzx2bM"],lx:4.500000000000002,eavesLength:0,unfilledHeight:.5,selected:!1,parentId:"hLsewK7zX5Mau5SErFyCiz",volumetricHeatCapacity:.5,structureWidth:.1,cy:-4.65631930064035,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["i7SnyGKg3wpYfMg2Ck4kpZ"],fill:"Full",volumetricHeatCapacity:.5,structureColor:"white",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],parentId:"hLsewK7zX5Mau5SErFyCiz",leftJoints:["kFKM2qRJFmWx323z2hBCra"],opacity:.5,wallStructure:"Default",unfilledHeight:.5,normal:[0,0,1],structureWidth:.1,leftPoint:[-1.9493445253667834,4.843680699359648,.12],textureType:"Wall Texture Default",eavesLength:0,ly:.3,type:"Wall",lx:9.5,selected:!1,relativeAngle:4.71238898038469,id:"5KcXyJ1kNDvp5rTZsShAbX",cy:.09368069935964818,cz:0,foundationId:"hLsewK7zX5Mau5SErFyCiz",color:"#c1bdb4",lz:13,cx:-1.9493445253667832,rValue:2,structureSpacing:2,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{type:"Wall",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],leftJoints:["gv3LzTTefsaZrtK8Lzx2bM"],unfilledHeight:.5,cz:0,cx:.30065547463321707,textureType:"Wall Texture Default",normal:[0,0,1],structureColor:"white",color:"#c1bdb4",foundationId:"hLsewK7zX5Mau5SErFyCiz",rotation:[0,0,0],rValue:2,lz:13,fill:"Full",lx:4.499999999999998,cy:4.8436806993596475,relativeAngle:3.1415926535897936,id:"kFKM2qRJFmWx323z2hBCra",ly:.3,structureWidth:.1,wallStructure:"Default",opacity:.5,parentId:"hLsewK7zX5Mau5SErFyCiz",structureSpacing:2,volumetricHeatCapacity:.5,rightJoints:["5KcXyJ1kNDvp5rTZsShAbX"],selected:!1,leftPoint:[2.5506554746332153,4.843680699359649,.12],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"3gdGvLfCvyTnvdRCWnC9h9",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{cy:-10.703769932796098,rValue:2,solarPowerTower:{},textureType:"No Foundation Texture",lx:8.996965797517845,cx:-19.60349962700186,rotation:[0,0,.7770359328652141],hvacSystem:{thermostatSetpoint:20,id:"A"},ly:17.6681425475643,solarUpdraftTower:{},lz:.12,id:"hLsewK7zX5Mau5SErFyCiz",color:"#808080",selected:!1,cz:.06,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],type:"Foundation",locked:!0},{leftPoint:[2.550655474633213,-4.656319300640349,.12],relativeAngle:1.5707963267948963,unfilledHeight:.5,leftJoints:["dMQfydvLoQmsUVh8GcfQWg"],wallStructure:"Default",structureSpacing:2,cz:0,color:"#c1bdb4",type:"Wall",cx:2.550655474633215,structureWidth:.1,normal:[0,0,1],rotation:[0,0,0],cy:.09368069935964818,selected:!1,id:"3WQQwDXPDfYCATy53ts83F",ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rightPoint:[2.5506554746332153,4.843680699359649,.12],textureType:"Wall Texture Default",volumetricHeatCapacity:.5,opacity:.5,structureColor:"white",lz:13,rValue:2,eavesLength:0,rightJoints:["16SbPgFqDMyVbV8UtDHAYk"],lx:9.499999999999998,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",fill:"Full",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{rightJoints:["3WQQwDXPDfYCATy53ts83F"],type:"Wall",relativeAngle:6.283185307179585,textureType:"Wall Texture Default",eavesLength:0,lz:13,id:"dMQfydvLoQmsUVh8GcfQWg",parentId:"x4oU2GYmkiSMe4Z8gg6K3C",lx:4.500000000000002,fill:"Full",structureColor:"white",color:"#c1bdb4",unfilledHeight:.5,ly:.3,cy:-4.65631930064035,selected:!1,leftPoint:[-1.9493445253667843,-4.656319300640349,.12],leftJoints:["kmaifBj79SDvw8jCqEakPi"],rotation:[0,0,0],opacity:.5,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",volumetricHeatCapacity:.5,rightPoint:[2.550655474633216,-4.656319300640352,.12],cx:.3006554746332153,rValue:2,structureSpacing:2,structureWidth:.1,cz:0,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{structureColor:"white",wallStructure:"Default",volumetricHeatCapacity:.5,normal:[0,0,1],type:"Wall",rightPoint:[-1.9493445253667818,-4.656319300640352,.12],rightJoints:["dMQfydvLoQmsUVh8GcfQWg"],leftJoints:["16SbPgFqDMyVbV8UtDHAYk"],cy:.09368069935964818,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",leftPoint:[-1.9493445253667834,4.843680699359648,.12],lx:9.5,rValue:2,ly:.3,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"kmaifBj79SDvw8jCqEakPi",lz:13,structureWidth:.1,opacity:.5,color:"#c1bdb4",cx:-1.9493445253667832,relativeAngle:4.71238898038469,structureSpacing:2,eavesLength:0,textureType:"Wall Texture Default",fill:"Full",cz:0,unfilledHeight:.5,selected:!1,rotation:[0,0,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{volumetricHeatCapacity:.5,wallStructure:"Default",rotation:[0,0,0],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",lz:13,parentId:"x4oU2GYmkiSMe4Z8gg6K3C",cx:.30065547463321707,rightJoints:["kmaifBj79SDvw8jCqEakPi"],leftJoints:["3WQQwDXPDfYCATy53ts83F"],unfilledHeight:.5,opacity:.5,cy:4.8436806993596475,selected:!1,textureType:"Wall Texture Default",structureSpacing:2,fill:"Full",type:"Wall",ly:.3,rValue:2,normal:[0,0,1],relativeAngle:3.1415926535897936,structureWidth:.1,lx:4.499999999999998,id:"16SbPgFqDMyVbV8UtDHAYk",leftPoint:[2.5506554746332153,4.843680699359649,.12],structureColor:"white",eavesLength:0,rightPoint:[-1.949344525366782,4.843680699359645,.12],cz:0,color:"#c1bdb4",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"q8ctEFdUTArcnVXRSQ323h",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{solarAbsorberPipe:{},textureType:"No Foundation Texture",rotation:[0,0,.7770359328652141],rValue:2,type:"Foundation",selected:!1,hvacSystem:{thermostatSetpoint:20,id:"A"},lz:.12,ly:17.6681425475643,lx:8.996965797517845,normal:[0,0,1],solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},color:"#808080",id:"x4oU2GYmkiSMe4Z8gg6K3C",cz:.06,cx:7.698794351508976,cy:16.007045037404467,locked:!0},{lz:13,leftJoints:["aMAoC9G4MpUPGJVmt36yfP"],wallStructure:"Default",rotation:[0,0,0],structureColor:"white",selected:!1,relativeAngle:1.5707963267948961,cz:0,rightJoints:["iVn6mF9eoYKrYt3EzDy2TC"],id:"u1GLQPod2yRsFy4dWHVdVa",rightPoint:[2.8178761000817967,3.2189656143947305,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",lx:6.3134164357268086,type:"Wall",volumetricHeatCapacity:.5,cy:.062257396531326226,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,opacity:.5,fill:"Full",eavesLength:0,structureWidth:.1,normal:[0,0,1],structureSpacing:2,unfilledHeight:.5,color:"#c1bdb4",rValue:2,cx:2.8178761000817953,leftPoint:[2.817876100081794,-3.094450821332078,0],textureType:"Wall Texture Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",rightJoints:["u1GLQPod2yRsFy4dWHVdVa"],structureColor:"white",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",volumetricHeatCapacity:.5,leftJoints:["eTsfM9k5RPHprx93KkShya"],opacity:.5,structureWidth:.1,lx:4.971444625304221,unfilledHeight:.5,structureSpacing:2,textureType:"No Wall Texture",cy:-3.094450821332079,cx:.33215378742968693,fill:"Full",color:"#c1bdb4",cz:0,rotation:[0,0,0],normal:[0,0,1],leftPoint:[-2.1535685252224237,-3.094450821332078,0],lz:13,wallStructure:"Default",type:"Wall",selected:!1,id:"aMAoC9G4MpUPGJVmt36yfP",rValue:2,ly:.3,eavesLength:0,relativeAngle:-4466400043859356e-31,rightPoint:[2.8178761000817976,-3.0944508213320803,0],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{color:"#c1bdb4",cz:0,selected:!1,rightPoint:[-2.153568525222421,-3.0944508213320803,0],leftPoint:[-2.153568525222423,3.21896561439473,0],structureColor:"white",lx:6.31341643572681,lz:13,volumetricHeatCapacity:.5,normal:[0,0,1],cx:-2.153568525222422,relativeAngle:-1.5707963267948963,structureSpacing:2,eavesLength:0,structureWidth:.1,rValue:2,leftJoints:["iVn6mF9eoYKrYt3EzDy2TC"],foundationId:"oGfdqtfZrLhGvZskoNeDFJ",cy:.06225739653132489,parentId:"oGfdqtfZrLhGvZskoNeDFJ",ly:.3,rightJoints:["aMAoC9G4MpUPGJVmt36yfP"],type:"Wall",unfilledHeight:.5,textureType:"Wall Texture Default",rotation:[0,0,0],id:"eTsfM9k5RPHprx93KkShya",fill:"Full",opacity:.5,wallStructure:"Default",parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{parentId:"oGfdqtfZrLhGvZskoNeDFJ",structureWidth:.1,foundationId:"oGfdqtfZrLhGvZskoNeDFJ",relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",structureColor:"white",volumetricHeatCapacity:.5,color:"#c1bdb4",rightJoints:["eTsfM9k5RPHprx93KkShya"],wallStructure:"Default",structureSpacing:2,rotation:[0,0,0],leftPoint:[2.8178761000817967,3.2189656143947305,0],ly:.3,rightPoint:[-2.1535685252224215,3.2189656143947274,0],unfilledHeight:.5,opacity:.5,fill:"Full",lx:4.971444625304218,type:"Wall",id:"iVn6mF9eoYKrYt3EzDy2TC",leftJoints:["u1GLQPod2yRsFy4dWHVdVa"],lz:13,eavesLength:0,cz:0,cx:.3321537874296876,rValue:2,selected:!1,cy:3.2189656143947287,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},roofId:"ips8v5W6dhiA81cAxrdErd",leftRoofHeight:13,rightRoofHeight:13,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13,locked:!0},{textureType:"No Foundation Texture",solarAbsorberPipe:{},parentId:"Ground",hvacSystem:{thermostatSetpoint:20,id:"A"},type:"Foundation",lz:.12,normal:[0,0,1],cx:-6.658209585503492,solarPowerTower:{},cz:.06,cy:2.9554447902666663,rotation:[0,0,.7770359328652141],rValue:2,selected:!1,ly:11.741720163005958,lx:9.93953716847022,id:"oGfdqtfZrLhGvZskoNeDFJ",solarUpdraftTower:{},color:"#808080",locked:!0},{normal:[0,0,1],lz:0,selected:!1,ceiling:!1,sideColor:"#ffffff",ridgeRightPoint:[0,1],type:"Roof",showLabel:!1,rValue:2,id:"byzwW7Db61R9EfVcvoWVQ9",parentId:"2XGmuwQrQtDPGFB7FUq4gK",cx:0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",textureType:"No Roof Texture",rotation:[0,0,0],ly:0,roofStructure:"Default",roofType:"Gable",ridgeLeftPoint:[0,1],lx:0,thickness:.2,lineColor:"#000000",cy:0,cz:0,wallsId:["jE7DwieCwvfvkHcN1Bkpu2"],rise:1.2805235001608466,color:"#73d8ff",lineWidth:.2,locked:!0},{textureType:"No Wall Texture",selected:!1,roofId:"tR8bCboRhW3wJCicDgK2jW",leftPoint:[6.104959873734063,-3.546673308869522,.12],structureColor:"white",rightRoofHeight:12.5,id:"nkv63w7AFXpTDVXgNtZaZp",opacity:0,rotation:[0,0,0],leftJoints:["1G9FW32uCMUYbXB7bybpze"],volumetricHeatCapacity:.5,lx:4.998533544552693,wallStructure:"Default",unfilledHeight:3.8747450187684356,cy:-1.0474065365931762,cz:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",eavesLength:0,fill:"Partial",cx:6.104959873734066,ly:.3,structureSpacing:2,type:"Wall",normal:[0,0,1],rightJoints:[],rValue:2,color:"#4d4d4d",leftRoofHeight:12.5,rightPoint:[6.104959873734069,1.4518602356831711,.12],lz:12.5,structureWidth:.1,relativeAngle:1.5707963267948952,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8747450187684356,rightUnfilledHeight:3.8747450187684356,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{selected:!1,leftPoint:[-6.476087156413756,-3.5466733088695213,.12],fill:"Partial",structureSpacing:2,ly:.3,roofId:"tR8bCboRhW3wJCicDgK2jW",structureWidth:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],lx:12.581047030147829,structureColor:"white",unfilledHeight:3.877447716243144,cy:-3.5466733088695213,color:"#4d4d4d",wallStructure:"Default",type:"Wall",rotation:[0,0,0],textureType:"No Wall Texture",rightPoint:[6.104959873734072,-3.546673308869523,.12],relativeAngle:-14119308473639638e-32,id:"1G9FW32uCMUYbXB7bybpze",leftJoints:["9ULQ17PCkbiQTAk5KCBQqS"],cx:-.18556364133984293,rValue:2,cz:0,eavesLength:0,rightJoints:["nkv63w7AFXpTDVXgNtZaZp"],lz:12.5,opacity:.5,leftRoofHeight:12.5,rightRoofHeight:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",volumetricHeatCapacity:.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.877447716243144,rightUnfilledHeight:3.877447716243144,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{structureColor:"white",leftPoint:[-6.4760871564137545,1.4518602356831711,.12],selected:!1,color:"#4d4d4d",leftRoofHeight:12.5,lz:12.5,parentId:"uj4Qq2BojpeyU8mLo7xk7N",structureWidth:.1,fill:"Partial",roofId:"tR8bCboRhW3wJCicDgK2jW",textureType:"No Wall Texture",unfilledHeight:3.8825262761296813,cy:-1.0474065365931766,lx:4.998533544552695,cz:0,structureSpacing:2,eavesLength:0,volumetricHeatCapacity:.5,wallStructure:"Default",foundationId:"uj4Qq2BojpeyU8mLo7xk7N",rotation:[0,0,0],leftJoints:[],rightPoint:[-6.476087156413749,-3.546673308869523,.12],type:"Wall",id:"9ULQ17PCkbiQTAk5KCBQqS",rightJoints:["1G9FW32uCMUYbXB7bybpze"],opacity:.5,relativeAngle:-1.5707963267948957,cx:-6.476087156413751,rightRoofHeight:12.5,ly:.3,rValue:2,normal:[0,0,1],parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:3.8825262761296813,rightUnfilledHeight:3.8825262761296813,leftTopPartialHeight:12.5,rightTopPartialHeight:12.5,locked:!0},{ly:7.102899659180595,parentId:"Ground",rValue:2,solarPowerTower:{},color:"#808080",textureType:"No Foundation Texture",hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],cz:.06,lx:13.160581645410465,solarUpdraftTower:{},type:"Foundation",cy:-7.71612929167876,solarAbsorberPipe:{},cx:5.571147308635517,id:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],selected:!1,lz:.12,notBuilding:!1,locked:!0},{rValue:2,ly:0,ceiling:!1,lx:0,sideColor:"#ffffff",cz:0,lineWidth:.2,cx:0,normal:[0,0,1],lineColor:"#000000",showLabel:!1,wallsId:["nkv63w7AFXpTDVXgNtZaZp","9ULQ17PCkbiQTAk5KCBQqS","1G9FW32uCMUYbXB7bybpze"],type:"Roof",rotation:[0,0,0],textureType:"No Roof Texture",roofStructure:"Default",roofType:"Pyramid",thickness:.1,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",cy:0,lz:0,selected:!1,color:"#73d8ff",id:"tR8bCboRhW3wJCicDgK2jW",rise:0,parentId:"uj4Qq2BojpeyU8mLo7xk7N",locked:!0},{mullionWidth:.06,frame:!0,type:"Window",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},rotation:[0,0,0],foundationId:"j3n8P4y4kG4w4nSZiAf6rj",selected:!1,sillWidth:0,lineColor:"#000000",uValue:2,normal:[0,-1,0],mullionColor:"#4d4d4d",archHeight:1,frameWidth:.2,showLabel:!1,lineWidth:.2,lx:.3333333333333332,tint:"#0062b1",cx:-.011111111111111117,cz:-.041666666666666664,id:"wqLLY7STGwviPzesQo2Pm3",cy:.3,color:"#ffffff",opacity:.5,ly:.3,windowType:"Default",mullionSpacing:2,mullion:!0,lz:.75,parentId:"1QnZb7zSPuvyzTVeC8AkVL",locked:!0},{tint:"#0062b1",frame:!0,selected:!1,ly:.3,cz:-.041666666666666664,foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],archHeight:1,sillWidth:0,windowType:"Default",cy:.3,parentId:"tJ6f61zEL1oQGpeeCnFH2S",cx:-.011111111111111117,id:"qUkb8xmoiBdjkzRWtig4SU",shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},normal:[0,0,1],color:"#ffffff",mullionWidth:.06,lx:.3333333333333332,mullion:!0,lz:.75,type:"Window",frameWidth:.2,mullionSpacing:2,opacity:.5,uValue:2,mullionColor:"#4d4d4d",locked:!0},{lz:.48,rotation:[0,0,0],tint:"#315f6f",mullionWidth:.05,parentId:"1G9FW32uCMUYbXB7bybpze",ly:.3,cz:.12,type:"Window",mullionColor:"#666666",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},lineWidth:.2,windowType:"Default",sillWidth:0,opacity:.9,lx:.8743310452334228,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,-1,0],frame:!0,mullionSpacing:1,mullion:!0,showLabel:!1,uValue:2,cy:.3,cx:0,color:"#ffffff",lineColor:"#000000",frameWidth:.05,id:"otfRaWBjxDE3hRYtq3HZ4m",archHeight:1,selected:!1,locked:!0},{windowType:"Default",ly:.3,archHeight:1,lz:.14285714285714282,selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frame:!0,cy:.3,lineWidth:.2,lx:.05384615384615385,frameWidth:.2,lineColor:"#000000",cx:.19358974358974362,tint:"#b3b3b3",opacity:.9,mullionWidth:.1,cz:.23291925465838512,rotation:[0,0,0],mullionSpacing:1.25,type:"Window",mullionColor:"#ffffff",sillWidth:0,normal:[0,-1,0],showLabel:!1,id:"d7WscaF1Qtzp9YhmRPKdMx",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,mullion:!0,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},locked:!0},{cx:.2576923076923078,frameWidth:.2,lx:.05384615384615385,tint:"#b3b3b3",opacity:.9,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,color:"#ffffff",lz:.14285714285714282,mullionColor:"#ffffff",mullionSpacing:1.25,selected:!1,rotation:[0,0,0],cy:.3,mullion:!0,ly:.3,normal:[0,0,1],parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:.23291925465838512,mullionWidth:.1,type:"Window",id:"phyxK6dSx3mzB64HK7tbQq",windowType:"Default",frame:!0,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},locked:!0},{color:"#ffffff",mullion:!0,lx:.0538461538461538,rotation:[0,0,0],opacity:.9,windowType:"Default",cy:.3,ly:.3,type:"Window",uValue:2,cx:.3217948717948719,frame:!0,cz:.23291925465838512,mullionSpacing:1.25,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},selected:!1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,mullionColor:"#ffffff",lz:.14285714285714282,tint:"#b3b3b3",sillWidth:0,mullionWidth:.1,normal:[0,0,1],id:"rUCAQoA9pCTnCsyUCwQKsz",locked:!0},{lz:.14285714285714285,rotation:[0,0,0],sillWidth:0,windowType:"Default",frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cy:.3,mullionSpacing:1.25,opacity:.9,ly:.3,uValue:2,mullionColor:"#ffffff",color:"#ffffff",archHeight:1,type:"Window",id:"cVhfCa3Uxnnwwat44DMDUA",mullionWidth:.1,cx:.3910256410256411,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,selected:!1,normal:[0,0,1],lx:.06410256410256411,frameWidth:.2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",tint:"#b3b3b3",cz:.23291925465838512,locked:!0},{frame:!0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.1948717948717949,color:"#ffffff",frameWidth:.2,mullion:!0,ly:.3,archHeight:1,rotation:[0,0,0],tint:"#b3b3b3",opacity:.9,mullionColor:"#ffffff",lx:.056410256410256404,id:"bNXPgPwYdtaKzeyyFztb1n",normal:[0,0,1],sillWidth:0,cz:-.02795031055900621,windowType:"Default",mullionWidth:.1,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",selected:!1,type:"Window",cy:.3,mullionSpacing:1.25,uValue:2,locked:!0},{mullionWidth:.1,tint:"#b3b3b3",shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},lz:.14285714285714282,cy:.3,uValue:2,mullionSpacing:1.25,sillWidth:0,cx:.20512820512820518,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.03589743589743587,rotation:[0,0,0],selected:!1,type:"Window",archHeight:1,mullionColor:"#ffffff",normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"3VvDJnQdsED8fAouDPT9yF",frameWidth:.2,ly:.3,windowType:"Default",frame:!0,color:"#ffffff",cz:-.2888198757763975,mullion:!0,locked:!0},{cz:-.02795031055900621,ly:.3,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},id:"kaF2HtrRicfNAq1W9doyfR",tint:"#b3b3b3",cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,normal:[0,0,1],mullionWidth:.1,windowType:"Default",sillWidth:0,type:"Window",rotation:[0,0,0],uValue:2,color:"#ffffff",archHeight:1,mullion:!0,lz:.14285714285714285,frame:!0,selected:!1,lx:.05384615384615385,frameWidth:.2,cx:.2576923076923078,opacity:.9,mullionColor:"#ffffff",locked:!0},{parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionWidth:.1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.3,lx:.0538461538461538,cx:.3217948717948719,frameWidth:.2,windowType:"Default",mullionSpacing:1.25,opacity:.9,ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},rotation:[0,0,0],type:"Window",id:"2pB9fvP8ZeUqogmRwvUTce",sillWidth:0,normal:[0,0,1],archHeight:1,selected:!1,uValue:2,lz:.14285714285714285,frame:!0,mullion:!0,cz:-.02795031055900621,locked:!0},{sillWidth:0,frame:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1.25,windowType:"Default",uValue:2,lz:.14285714285714285,rotation:[0,0,0],tint:"#b3b3b3",shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},color:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",id:"nTCU2PDq5uNAZg9zRpPCHX",archHeight:1,opacity:.9,cx:.3910256410256411,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.3,mullion:!0,frameWidth:.2,selected:!1,lx:.06410256410256411,ly:.3,mullionWidth:.1,cz:-.02795031055900621,locked:!0},{frame:!0,archHeight:1,normal:[0,0,1],mullionColor:"#ffffff",cz:-.2888198757763975,windowType:"Default",mullionSpacing:1.25,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:.258974358974359,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,uValue:2,selected:!1,shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},lx:.056410256410256404,sillWidth:0,cy:.3,opacity:.9,type:"Window",ly:.3,lz:.14285714285714282,rotation:[0,0,0],tint:"#b3b3b3",mullion:!0,frameWidth:.2,id:"1GzMSiwb36TFB48v2QYryB",color:"#ffffff",locked:!0},{id:"ayHDGxuZiXFZRCb6xwiWDe",lx:.0538461538461538,type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",ly:.3,shutter:{showLeft:!1,color:"grey",showRight:!1,width:.5},selected:!1,frame:!0,frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.2888198757763975,mullionColor:"#ffffff",mullionWidth:.1,archHeight:1,tint:"#b3b3b3",windowType:"Default",color:"#ffffff",uValue:2,normal:[0,0,1],lz:.14285714285714282,mullion:!0,sillWidth:0,cx:.3217948717948719,rotation:[0,0,0],mullionSpacing:1.25,opacity:.9,cy:.3,locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",normal:[0,0,1],opacity:.9,cy:.3,tint:"#b3b3b3",rotation:[0,0,0],frame:!0,lx:.06410256410256411,ly:.3,mullionWidth:.1,frameWidth:.2,mullionSpacing:1.25,mullion:!0,sillWidth:0,selected:!1,id:"mPyFc6BaTuwYm116awk4nS",lz:.14285714285714285,mullionColor:"#ffffff",uValue:2,windowType:"Default",color:"#ffffff",cx:.3910256410256411,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,cz:-.2888198757763975,type:"Window",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},locked:!0},{ly:.3,lz:4.070845481097757,structureSpacing:4,rotation:[0,0,0],fill:"Full",textureType:"No Wall Texture",cy:-2.5093852454781445,leftJoints:[],structureWidth:.5,foundationId:"8DwiqAmnDYU6meyiSHFYvg",cz:2.0354227405488783,volumetricHeatCapacity:.5,rValue:2,id:"bwWCUGgxViKGTAu9eHo4CU",normal:[0,0,1],cx:.13591177848864566,rightPoint:[5.998472224148425,-2.5093852454781453,.2],wallStructure:"Pillar",structureColor:"#4d4d4d",unfilledHeight:.5,type:"Wall",relativeAngle:-15150008736501291e-32,lx:11.725120891319554,selected:!1,eavesLength:.3,color:"#4d4d4d",leftPoint:[-5.726648667171128,-2.5093852454781445,.2],rightJoints:[],parentId:"8DwiqAmnDYU6meyiSHFYvg",opacity:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.070845481097757,rightTopPartialHeight:4.070845481097757,locked:!0},{type:"Foundation",cy:-7.844584975085767,textureType:"No Foundation Texture",ly:9.133282463061267,cz:.1,normal:[0,0,1],solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rotation:[0,0,.7770359328652141],lz:.2,solarAbsorberPipe:{},parentId:"Ground",cx:5.386211591704882,rValue:2,color:"#e9d8ba",solarUpdraftTower:{},id:"8DwiqAmnDYU6meyiSHFYvg",selected:!1,lx:13.077027743266148,notBuilding:!0,locked:!0},{cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,id:"46EurDPfGoJsechaGfz85S",cy:.3,mullionColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],tint:"#b3b3b3",mullionWidth:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",opacity:.9,type:"Window",lx:.051282051282051294,selected:!1,mullionSpacing:1.25,archHeight:1,mullion:!0,windowType:"Default",sillWidth:0,frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",lz:.14285714285714285,cx:-.19230769230769235,frameWidth:.2,locked:!0},{selected:!1,cy:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,lz:.14285714285714285,archHeight:1,opacity:.9,rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",mullionSpacing:1.25,lx:.06410256410256411,ly:.3,mullionColor:"#ffffff",windowType:"Default",frameWidth:.2,uValue:2,normal:[0,0,1],cx:-.3910256410256411,sillWidth:0,type:"Window",tint:"#b3b3b3",color:"#ffffff",id:"izxRQkWui4YmZiY96HksMX",cz:.23291925465838512,frame:!0,mullionWidth:.1,locked:!0},{mullionSpacing:1.25,uValue:2,archHeight:1,cy:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cz:.23291925465838512,mullionWidth:.1,windowType:"Default",type:"Window",tint:"#b3b3b3",shutter:{color:"grey",showLeft:!1,showRight:!1,width:.5},cx:-.3217948717948719,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullion:!0,lx:.0538461538461538,normal:[0,0,1],selected:!1,ly:.3,sillWidth:0,frame:!0,opacity:.9,frameWidth:.2,mullionColor:"#ffffff",lz:.14285714285714282,id:"cx5YNYxji3cWvUe2vzHp8r",rotation:[0,0,0],locked:!0},{frame:!0,selected:!1,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},sillWidth:0,frameWidth:.2,mullionWidth:.1,cz:.23291925465838512,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",opacity:.9,type:"Window",lz:.14285714285714282,normal:[0,0,1],mullionSpacing:1.25,uValue:2,mullion:!0,id:"v7KHWrJEpTEx5wKqo46MKC",mullionColor:"#ffffff",windowType:"Default",ly:.3,cx:-.25512820512820517,rotation:[0,0,0],cy:.3,archHeight:1,tint:"#b3b3b3",lx:.05897435897435896,locked:!0},{uValue:2,frameWidth:.2,normal:[0,0,1],mullionSpacing:1.25,cx:-.3884615384615385,selected:!1,lx:.06923076923076922,ly:.3,rotation:[0,0,0],cz:-.2888198757763975,mullion:!0,lz:.14285714285714282,opacity:.9,parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,mullionColor:"#ffffff",windowType:"Default",shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,color:"#ffffff",tint:"#b3b3b3",id:"aq2YNCbxikYtSJvwjUbALP",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,locked:!0},{tint:"#b3b3b3",ly:.3,id:"nMhMe9155kYQJYGKXKtDJE",mullion:!0,rotation:[0,0,0],frameWidth:.2,archHeight:1,lz:.14285714285714282,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,frame:!0,cx:-.3192307692307694,sillWidth:0,mullionWidth:.1,normal:[0,0,1],cy:.3,opacity:.9,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cz:-.2888198757763975,type:"Window",lx:.05384615384615394,uValue:2,mullionSpacing:1.25,windowType:"Default",mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{lx:.05384615384615385,opacity:.9,mullionWidth:.1,type:"Window",sillWidth:0,ly:.3,uValue:2,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},mullionColor:"#ffffff",cz:-.2888198757763975,cx:-.25512820512820517,normal:[0,0,1],selected:!1,id:"9uThAQakWzLaaAnEDxEbHb",mullion:!0,color:"#ffffff",windowType:"Default",lz:.14285714285714282,frame:!0,rotation:[0,0,0],cy:.3,mullionSpacing:1.25,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,tint:"#b3b3b3",parentId:"jE7DwieCwvfvkHcN1Bkpu2",locked:!0},{windowType:"Default",opacity:.9,mullionSpacing:1.25,mullionWidth:.1,lz:.14285714285714285,cx:-.19230769230769235,cy:.3,id:"8fuBFjedq9njRTLoxtn8EP",lx:.051282051282051294,uValue:2,frame:!0,sillWidth:0,mullion:!0,frameWidth:.2,archHeight:1,cz:-.2888198757763975,selected:!1,normal:[0,0,1],ly:.3,rotation:[0,0,0],type:"Window",parentId:"jE7DwieCwvfvkHcN1Bkpu2",color:"#ffffff",shutter:{showRight:!1,showLeft:!1,color:"grey",width:.5},tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{mullionSpacing:1.25,cx:-.3884615384615385,cy:.3,mullionWidth:.1,mullion:!0,color:"#ffffff",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",cz:-.02795031055900621,lz:.14285714285714285,tint:"#b3b3b3",frameWidth:.2,sillWidth:0,selected:!1,uValue:2,rotation:[0,0,0],normal:[0,0,1],ly:.3,archHeight:1,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},frame:!0,lx:.06923076923076922,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,windowType:"Default",id:"djvC79sCMpkHHpaVqyVdW8",locked:!0},{uValue:2,lz:.14285714285714285,type:"Window",id:"eZg5T5d6C7sKQSaPhcKxw6",ly:.3,frameWidth:.2,frame:!0,cy:.3,windowType:"Default",shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},selected:!1,sillWidth:0,lx:.056410256410256446,mullion:!0,mullionWidth:.1,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.31794871794871804,archHeight:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",rotation:[0,0,0],mullionSpacing:1.25,cz:-.02795031055900621,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.9,locked:!0},{lx:.056410256410256404,normal:[0,0,1],mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.1,frameWidth:.2,archHeight:1,cz:-.02795031055900621,cy:.3,opacity:.9,ly:.3,windowType:"Default",frame:!0,parentId:"jE7DwieCwvfvkHcN1Bkpu2",cx:-.2538461538461539,selected:!1,rotation:[0,0,0],color:"#ffffff",uValue:2,id:"8xJvoQv2PELZbsAu7THviM",type:"Window",mullionColor:"#ffffff",mullionSpacing:1.25,lz:.14285714285714285,tint:"#b3b3b3",shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},sillWidth:0,locked:!0},{mullionColor:"#ffffff",shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},windowType:"Default",normal:[0,0,1],mullionWidth:.1,lz:.14285714285714285,cy:.3,type:"Window",rotation:[0,0,0],opacity:.9,id:"6253HwoM7vYHZDUNYjsTgU",selected:!1,frame:!0,ly:.3,lx:.051282051282051294,archHeight:1,mullion:!0,cx:-.19230769230769235,tint:"#b3b3b3",frameWidth:.2,color:"#ffffff",uValue:2,cz:-.02795031055900621,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"jE7DwieCwvfvkHcN1Bkpu2",sillWidth:0,mullionSpacing:1.25,locked:!0},{mullionColor:"#4d4d4d",rotation:[0,0,0],mullionWidth:.06,frameWidth:.2,opacity:.5,cz:-.041666666666666664,lx:.11695906432748526,shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,cy:.3,type:"Window",color:"#ffffff",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",frame:!0,mullionSpacing:2,cx:.11111111111111106,uValue:2,selected:!1,windowType:"Default",id:"gcLhGQTVxE2fJnMpRDahoq",tint:"#0062b1",mullion:!0,normal:[0,0,1],lz:.75,sillWidth:0,locked:!0},{frame:!0,rotation:[0,0,0],mullionColor:"#4d4d4d",shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.3216374269005848,frameWidth:.2,parentId:"vEPKSnunpPsGKUDNJaGnTR",archHeight:1,ly:.3,foundationId:"j3n8P4y4kG4w4nSZiAf6rj",opacity:.5,mullion:!0,lz:.75,id:"sP3EuQN5nUzkBPzPZicBDL",mullionWidth:.06,lx:.11695906432748526,windowType:"Default",uValue:2,sillWidth:0,selected:!1,type:"Window",mullionSpacing:2,cy:.3,normal:[0,0,1],tint:"#0062b1",cz:-.041666666666666664,color:"#ffffff",locked:!0},{parentId:"3WQQwDXPDfYCATy53ts83F",cx:-.3099415204678364,rotation:[0,0,0],uValue:2,lz:.75,type:"Window",opacity:.5,selected:!1,normal:[0,0,1],mullionSpacing:2,mullionColor:"#4d4d4d",cy:.3,lx:.11695906432748526,sillWidth:0,archHeight:1,mullionWidth:.06,frame:!0,ly:.3,tint:"#0062b1",id:"a9iz7tks9oLk2eTwA9Yde3",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},mullion:!0,frameWidth:.2,windowType:"Default",color:"#ffffff",cz:-.041666666666666664,locked:!0},{color:"#ffffff",cx:-.09941520467836266,normal:[0,0,1],foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",rotation:[0,0,0],mullionColor:"#4d4d4d",cz:-.041666666666666664,archHeight:1,sillWidth:0,mullionWidth:.06,windowType:"Default",shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},type:"Window",mullionSpacing:2,parentId:"3WQQwDXPDfYCATy53ts83F",cy:.3,selected:!1,mullion:!0,opacity:.5,lz:.75,id:"s7untaE7NYoTEH5Xxqu7vu",uValue:2,ly:.3,lx:.11695906432748526,tint:"#0062b1",frameWidth:.2,frame:!0,locked:!0},{cz:-.041666666666666664,normal:[0,0,1],sillWidth:0,windowType:"Default",color:"#ffffff",mullionColor:"#4d4d4d",parentId:"eZza9yCuyFywaPPzJVe5tY",tint:"#0062b1",frameWidth:.2,type:"Window",lz:.75,id:"4J5xN82Vi7ATj7FHVXK9fT",foundationId:"o2WibZi2fR7HySSdFgPoda",rotation:[0,0,0],frame:!0,cx:-.30994152046783635,mullionSpacing:2,uValue:2,ly:.3,opacity:.5,lx:.11695906432748526,selected:!1,mullionWidth:.06,cy:.3,archHeight:1,shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},mullion:!0,locked:!0},{parentId:"eZza9yCuyFywaPPzJVe5tY",uValue:2,cx:-.09941520467836262,mullionSpacing:2,lz:.75,normal:[0,0,1],frameWidth:.2,cz:-.041666666666666664,tint:"#0062b1",ly:.3,rotation:[0,0,0],cy:.3,mullionWidth:.06,type:"Window",opacity:.5,selected:!1,frame:!0,foundationId:"o2WibZi2fR7HySSdFgPoda",archHeight:1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},sillWidth:0,color:"#ffffff",windowType:"Default",mullion:!0,mullionColor:"#4d4d4d",lx:.11695906432748526,id:"215xeoB94LfwSgY9VkRb9T",locked:!0},{archHeight:1,lx:.11695906432748526,id:"ddfjZo324XGZQ4fjUcBn6X",sillWidth:0,mullionWidth:.06,ly:.3,opacity:.5,type:"Window",mullionSpacing:2,windowType:"Default",color:"#ffffff",foundationId:"hLsewK7zX5Mau5SErFyCiz",normal:[0,0,1],uValue:2,frameWidth:.2,parentId:"5KcXyJ1kNDvp5rTZsShAbX",mullionColor:"#4d4d4d",rotation:[0,0,0],cz:-.041666666666666664,cy:.3,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cx:.3216374269005847,selected:!1,tint:"#0062b1",lz:.75,frame:!0,locked:!0},{normal:[0,0,1],foundationId:"hLsewK7zX5Mau5SErFyCiz",lz:.75,windowType:"Default",archHeight:1,parentId:"5KcXyJ1kNDvp5rTZsShAbX",lx:.11695906432748526,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",mullionColor:"#4d4d4d",opacity:.5,mullionWidth:.06,frameWidth:.2,cx:.11111111111111105,cz:-.041666666666666664,id:"rw5R1u3LjL3kSbDYXLqpep",tint:"#0062b1",frame:!0,sillWidth:0,cy:.3,color:"#ffffff",ly:.3,rotation:[0,0,0],mullion:!0,selected:!1,mullionSpacing:2,locked:!0},{id:"u7vgLv3TfTJ9G6m9VRJXKE",cy:-8.330957372051333,type:"Cuboid",selected:!1,cz:.6,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",ly:4.416238472006233,rotation:[0,0,.7770205829878756],cx:6.1134856174136125,lx:12.5,color:"#e9d8ba",lz:1.2,normal:[0,0,1],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],color:"#e9d8ba",rotation:[0,0,.7770205829878756],ly:.3,parentId:"Ground",type:"Cuboid",cx:7.775993069912096,cz:.5,lz:1,cy:-9.982710148514444,normal:[0,0,1],id:"xwTCcYWFUqCHdfYgjwLPzr",selected:!1,lx:12.5,locked:!0},{cy:-10.222251297562046,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:12.5,color:"#e9d8ba",cz:.4,rotation:[0,0,.7770205829878756],cx:7.97917394469156,type:"Cuboid",id:"4ahnYxjJA1TN7cwGSyLftT",lz:.8,normal:[0,0,1],parentId:"Ground",ly:.3,selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],locked:!0},{parentId:"Ground",selected:!1,faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],cz:.3,id:"axXhhxk8aLaskye6X7yAxR",cy:-10.456557176149813,color:"#e9d8ba",rotation:[0,0,.7770205829878756],cx:8.172887209710508,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",normal:[0,0,1],ly:.3,lx:12.5,lz:.6,locked:!0},{color:"#e9d8ba",ly:.3,cz:.2,parentId:"Ground",lz:.4,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"k4MhMFRn1raEXYc4ftU5Lc",faceColors:["#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#e9d8ba","#808080"],type:"Cuboid",cx:8.377329978512003,selected:!1,rotation:[0,0,.7770205829878756],normal:[0,0,1],lx:12.5,cy:-10.669908202265143,locked:!0},{sillWidth:0,color:"#ffffff",lz:.14285714285714285,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},normal:[0,0,1],cy:.3,id:"aAHxe5UAeWUHZvvacf7DLX",frame:!0,opacity:.9,windowType:"Default",mullionColor:"#ffffff",frameWidth:.2,mullionWidth:.05,cx:-.3782051282051282,lx:.03846153846153847,archHeight:1,mullion:!0,parentId:"r7FDtsVF9isPsPhYMJtzMf",ly:.3,type:"Window",cz:-.30952380952380953,selected:!1,mullionSpacing:1,uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],tint:"#b3b3b3",locked:!0},{archHeight:1,windowType:"Default",frame:!0,normal:[0,0,1],color:"#ffffff",cy:.3,tint:"#b3b3b3",ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},id:"o3uqUfUSMsh6mPJ8kZKe6V",rotation:[0,0,0],mullion:!0,selected:!1,lx:.03846153846153847,uValue:2,mullionSpacing:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",sillWidth:0,frameWidth:.2,type:"Window",lz:.14285714285714285,mullionColor:"#ffffff",opacity:.9,cx:-.3782051282051282,cz:.2619047619047619,locked:!0},{sillWidth:0,frame:!0,tint:"#b3b3b3",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,id:"ftqkfAje9vSURSKAfdGfkb",frameWidth:.2,cy:.1,lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,color:"grey",width:.5,showRight:!1},lx:.03846153846153847,mullionColor:"#ffffff",cz:.2619047619047619,mullionSpacing:1,color:"#ffffff",mullionWidth:.05,normal:[0,0,1],uValue:2,type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,cx:-.3205128205128205,rotation:[0,0,0],archHeight:1,windowType:"Default",locked:!0},{mullionWidth:.05,opacity:.9,mullionColor:"#ffffff",type:"Window",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,selected:!1,uValue:2,color:"#ffffff",cz:.2619047619047619,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,ly:.3,cx:-.26282051282051283,lz:.14285714285714285,rotation:[0,0,0],windowType:"Default",sillWidth:0,normal:[0,0,1],lx:.03846153846153847,frameWidth:.2,frame:!0,id:"47o8tVpT7No3q7ScC7ayfT",archHeight:1,shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},cy:.1,tint:"#b3b3b3",locked:!0},{id:"e9WgXpqUMuc4bjKV6V5giQ",cz:.2619047619047619,lx:.03846153846153847,type:"Window",cy:.1,tint:"#b3b3b3",frameWidth:.2,uValue:2,sillWidth:0,mullionWidth:.05,rotation:[0,0,0],mullionSpacing:1,ly:.3,shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},normal:[0,0,1],mullionColor:"#ffffff",opacity:.9,cx:-.2051282051282051,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",windowType:"Default",lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,selected:!1,frame:!0,mullion:!0,locked:!0},{lz:.14285714285714285,ly:.3,archHeight:1,cz:.2619047619047619,mullionWidth:.05,tint:"#b3b3b3",shutter:{showRight:!1,width:.5,showLeft:!1,color:"grey"},mullionSpacing:1,normal:[0,0,1],cx:-.14743589743589736,id:"vWfatFM987X7DVksHURHa2",mullion:!0,rotation:[0,0,0],opacity:.9,lx:.03846153846153847,mullionColor:"#ffffff",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,type:"Window",frame:!0,windowType:"Default",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,color:"#ffffff",locked:!0},{frameWidth:.2,type:"Window",frame:!0,mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"1JBYjadgjTeQWv6jrVmNzf",cz:.2619047619047619,normal:[0,0,1],cy:.1,cx:-.08974358974358965,rotation:[0,0,0],tint:"#b3b3b3",windowType:"Default",mullion:!0,ly:.3,uValue:2,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,mullionColor:"#ffffff",color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionSpacing:1,sillWidth:0,opacity:.9,shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},selected:!1,locked:!0},{mullionSpacing:1,selected:!1,tint:"#b3b3b3",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",color:"#ffffff",uValue:2,ly:.3,opacity:.9,frame:!0,type:"Window",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,sillWidth:0,cy:.1,cz:-.30952380952380953,rotation:[0,0,0],lz:.14285714285714285,id:"cfj3pRCVpZMJFi4BqedUfe",mullion:!0,normal:[0,0,1],mullionWidth:.05,cx:-.3205128205128205,windowType:"Default",mullionColor:"#ffffff",lx:.03846153846153847,locked:!0},{mullionColor:"#ffffff",lz:.14285714285714285,cy:.1,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},cz:-.30952380952380953,tint:"#b3b3b3",uValue:2,color:"#ffffff",mullionWidth:.05,id:"mdRuaw8QhYk6E15WXmfncN",normal:[0,0,1],frameWidth:.2,ly:.3,frame:!0,lx:.03846153846153847,selected:!1,mullionSpacing:1,windowType:"Default",cx:-.26282051282051283,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",rotation:[0,0,0],type:"Window",archHeight:1,opacity:.9,sillWidth:0,locked:!0},{tint:"#b3b3b3",frameWidth:.2,uValue:2,id:"55aZ17NQmYsZjj65tA9N6c",type:"Window",cy:.1,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",normal:[0,0,1],mullion:!0,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},mullionColor:"#ffffff",cx:-.2051282051282051,windowType:"Default",cz:-.30952380952380953,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,opacity:.9,archHeight:1,lx:.03846153846153847,mullionSpacing:1,mullionWidth:.05,frame:!0,ly:.3,sillWidth:0,locked:!0},{type:"Window",ly:.3,windowType:"Default",cz:-.30952380952380953,sillWidth:0,frameWidth:.2,lz:.14285714285714285,archHeight:1,normal:[0,0,1],color:"#ffffff",selected:!1,lx:.03846153846153847,tint:"#b3b3b3",cx:-.14743589743589736,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,id:"1z5sb7DiDiWaTZ6WSGSBgP",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},mullionSpacing:1,opacity:.9,rotation:[0,0,0],mullionColor:"#ffffff",frame:!0,cy:.1,mullion:!0,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{mullion:!0,cx:-.08974358974358965,tint:"#b3b3b3",mullionSpacing:1,normal:[0,0,1],sillWidth:0,lz:.14285714285714285,archHeight:1,rotation:[0,0,0],lx:.03846153846153847,frameWidth:.2,color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,ly:.3,type:"Window",selected:!1,id:"1VhTxbHHBGndaZD6vgtVKW",frame:!0,opacity:.9,mullionColor:"#ffffff",mullionWidth:.05,cz:-.30952380952380953,parentId:"r7FDtsVF9isPsPhYMJtzMf",cy:.1,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},windowType:"Default",locked:!0},{lx:.03846153846153847,tint:"#b3b3b3",shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},type:"Window",frame:!0,mullionSpacing:1,archHeight:1,sillWidth:0,cy:.3,opacity:.9,id:"xmoWZwUhtR6SFNiGKtxr1m",mullionWidth:.05,color:"#ffffff",rotation:[0,0,0],mullionColor:"#ffffff",lz:.14285714285714285,normal:[0,0,1],cx:-.3782051282051282,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,windowType:"Default",uValue:2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,mullion:!0,frameWidth:.2,cz:-.023809523809523808,locked:!0},{archHeight:1,cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,ly:.3,shutter:{showLeft:!1,width:.5,showRight:!1,color:"grey"},mullionSpacing:1,lx:.03846153846153847,selected:!1,cx:-.3205128205128205,id:"dmo2H1zYKT8Yb8BFyJx3Gz",cz:-.023809523809523808,tint:"#b3b3b3",mullionWidth:.05,normal:[0,0,1],rotation:[0,0,0],frame:!0,color:"#ffffff",type:"Window",frameWidth:.2,uValue:2,mullion:!0,mullionColor:"#ffffff",windowType:"Default",opacity:.9,sillWidth:0,locked:!0},{normal:[0,0,1],tint:"#b3b3b3",mullionWidth:.05,mullion:!0,frame:!0,uValue:2,type:"Window",rotation:[0,0,0],mullionColor:"#ffffff",mullionSpacing:1,opacity:.9,frameWidth:.2,ly:.3,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{showLeft:!1,showRight:!1,width:.5,color:"grey"},windowType:"Default",lz:.14285714285714285,cy:.1,sillWidth:0,selected:!1,cz:-.023809523809523808,archHeight:1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",lx:.03846153846153847,cx:-.26282051282051283,id:"ifqLCE1HzUvw6zh9hXdDbd",color:"#ffffff",locked:!0},{shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},cx:-.2051282051282051,parentId:"r7FDtsVF9isPsPhYMJtzMf",uValue:2,ly:.3,normal:[0,0,1],cz:-.023809523809523808,mullionWidth:.05,frame:!0,sillWidth:0,id:"gA23Z9tUz7wPHpEvmsKQF9",windowType:"Default",mullion:!0,lx:.03846153846153847,opacity:.9,type:"Window",archHeight:1,lz:.14285714285714285,rotation:[0,0,0],selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frameWidth:.2,mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",color:"#ffffff",cy:.1,locked:!0},{type:"Window",frame:!0,selected:!1,uValue:2,rotation:[0,0,0],mullionSpacing:1,lx:.03846153846153847,id:"g26wC9moZKAAzi72Vpxkja",mullionColor:"#ffffff",color:"#ffffff",windowType:"Default",cy:.1,parentId:"r7FDtsVF9isPsPhYMJtzMf",cz:-.023809523809523808,sillWidth:0,ly:.3,lz:.14285714285714285,cx:-.14743589743589736,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frameWidth:.2,normal:[0,0,1],archHeight:1,mullionWidth:.05,mullion:!0,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"t5oxzLUUWgsBQiTqMqndt1",cz:-.023809523809523808,sillWidth:0,uValue:2,ly:.3,shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},rotation:[0,0,0],selected:!1,mullionWidth:.05,cx:-.08974358974358965,windowType:"Default",mullion:!0,mullionColor:"#ffffff",type:"Window",normal:[0,0,1],cy:.1,tint:"#b3b3b3",mullionSpacing:1,frameWidth:.2,frame:!0,archHeight:1,lx:.03846153846153847,lz:.14285714285714285,locked:!0},{mullionWidth:.05,cx:.10897435897435898,uValue:2,selected:!1,frameWidth:.2,lz:.14285714285714285,type:"Window",id:"9Xa2jX1sxCcJu9Qb6YPC2s",mullionColor:"#ffffff",opacity:.9,sillWidth:0,lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",archHeight:1,color:"#ffffff",normal:[0,0,1],windowType:"Default",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",frame:!0,cy:.3,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},mullion:!0,mullionSpacing:1,cz:-.30952380952380953,tint:"#b3b3b3",ly:.3,locked:!0},{uValue:2,frame:!0,mullionColor:"#ffffff",cy:.1,sillWidth:0,frameWidth:.2,ly:.3,shutter:{width:.5,showLeft:!1,color:"grey",showRight:!1},cz:-.30952380952380953,id:"jAuZTLVVKe7wAQ3T71wGgZ",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",selected:!1,opacity:.9,windowType:"Default",mullionSpacing:1,archHeight:1,normal:[0,0,1],mullion:!0,rotation:[0,0,0],lx:.03846153846153847,type:"Window",tint:"#b3b3b3",cx:.16666666666666669,lz:.14285714285714285,color:"#ffffff",locked:!0},{mullionSpacing:1,selected:!1,opacity:.9,windowType:"Default",type:"Window",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:.22435897435897442,archHeight:1,sillWidth:0,mullion:!0,tint:"#b3b3b3",lz:.14285714285714285,frameWidth:.2,normal:[0,0,1],ly:.3,mullionWidth:.05,cz:-.30952380952380953,id:"vENyYLo9ct8hNwWCaxGgh9",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",frame:!0,shutter:{color:"grey",showLeft:!1,width:.5,showRight:!1},mullionColor:"#ffffff",color:"#ffffff",cy:.1,rotation:[0,0,0],uValue:2,locked:!0},{selected:!1,color:"#ffffff",sillWidth:0,uValue:2,cz:-.30952380952380953,shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,mullion:!0,mullionSpacing:1,mullionWidth:.05,normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",id:"q7q4AW6uBwbJ6Cu8CRiTjs",type:"Window",tint:"#b3b3b3",ly:.3,frameWidth:.2,cy:.1,lz:.14285714285714285,rotation:[0,0,0],cx:.2820512820512821,lx:.03846153846153847,mullionColor:"#ffffff",windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",archHeight:1,opacity:.9,locked:!0},{tint:"#b3b3b3",archHeight:1,mullion:!0,cx:.33974358974358976,rotation:[0,0,0],lx:.03846153846153847,windowType:"Default",mullionSpacing:1,type:"Window",uValue:2,cy:.1,id:"93xJt2nF5KXFmbdPTBkxxA",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullionWidth:.05,sillWidth:0,ly:.3,color:"#ffffff",cz:-.30952380952380953,frameWidth:.2,mullionColor:"#ffffff",frame:!0,lz:.14285714285714285,opacity:.9,normal:[0,0,1],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,parentId:"r7FDtsVF9isPsPhYMJtzMf",locked:!0},{normal:[0,0,1],mullionWidth:.05,parentId:"r7FDtsVF9isPsPhYMJtzMf",lz:.14285714285714285,selected:!1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",id:"rqxKsXtJSfhtmcVetqkrnQ",windowType:"Default",cz:-.30952380952380953,frameWidth:.2,lx:.03846153846153847,ly:.3,mullion:!0,archHeight:1,frame:!0,sillWidth:0,opacity:.9,uValue:2,cy:.1,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},rotation:[0,0,0],cx:.3974358974358974,color:"#ffffff",mullionSpacing:1,mullionColor:"#ffffff",tint:"#b3b3b3",locked:!0},{shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},color:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",windowType:"Default",normal:[0,0,1],parentId:"r7FDtsVF9isPsPhYMJtzMf",rotation:[0,0,0],mullionSpacing:1,lz:.14285714285714285,mullionColor:"#ffffff",archHeight:1,mullion:!0,sillWidth:0,opacity:.9,mullionWidth:.05,cy:.3,cz:-.023809523809523808,lx:.03846153846153847,ly:.3,tint:"#b3b3b3",selected:!1,cx:.10897435897435898,id:"t5xKggUuuYXpJByLpjQCCN",frameWidth:.2,uValue:2,frame:!0,locked:!0},{color:"#ffffff",id:"3mgduhR1rZfiGxV9DxMKKp",selected:!1,cz:-.023809523809523808,tint:"#b3b3b3",frame:!0,mullionColor:"#ffffff",frameWidth:.2,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullion:!0,windowType:"Default",ly:.3,mullionWidth:.05,uValue:2,lx:.03846153846153847,mullionSpacing:1,lz:.14285714285714285,type:"Window",rotation:[0,0,0],normal:[0,0,1],sillWidth:0,cx:.16666666666666669,shutter:{width:.5,showRight:!1,showLeft:!1,color:"grey"},cy:.1,opacity:.9,archHeight:1,locked:!0},{sillWidth:0,windowType:"Default",mullionWidth:.05,uValue:2,mullionSpacing:1,id:"3iPxQ9YQqC9r3Ge6DJC5HU",selected:!1,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},frame:!0,type:"Window",cy:.1,mullion:!0,ly:.3,rotation:[0,0,0],tint:"#b3b3b3",lx:.03846153846153847,color:"#ffffff",archHeight:1,normal:[0,0,1],frameWidth:.2,cz:-.023809523809523808,cx:.22435897435897442,lz:.14285714285714285,mullionColor:"#ffffff",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{opacity:.9,cy:.1,normal:[0,0,1],frameWidth:.2,id:"76oBAJjEY5VErwpM1BxmpH",parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionSpacing:1,lz:.14285714285714285,ly:.3,frame:!0,mullionColor:"#ffffff",cx:.2820512820512821,sillWidth:0,lx:.03846153846153847,mullion:!0,uValue:2,archHeight:1,rotation:[0,0,0],type:"Window",tint:"#b3b3b3",selected:!1,color:"#ffffff",shutter:{color:"grey",showRight:!1,width:.5,showLeft:!1},windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.023809523809523808,mullionWidth:.05,locked:!0},{archHeight:1,ly:.3,mullionColor:"#ffffff",mullion:!0,selected:!1,mullionWidth:.05,sillWidth:0,shutter:{width:.5,showLeft:!1,showRight:!1,color:"grey"},cx:.33974358974358976,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",tint:"#b3b3b3",rotation:[0,0,0],frameWidth:.2,type:"Window",color:"#ffffff",cy:.1,cz:-.023809523809523808,opacity:.9,parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,lz:.14285714285714285,frame:!0,uValue:2,id:"pPk6b2pTiBVzv3KLBQxRSg",windowType:"Default",mullionSpacing:1,normal:[0,0,1],locked:!0},{cy:.1,frame:!0,windowType:"Default",parentId:"r7FDtsVF9isPsPhYMJtzMf",sillWidth:0,selected:!1,normal:[0,0,1],archHeight:1,mullionWidth:.05,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},ly:.3,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",type:"Window",rotation:[0,0,0],lx:.03846153846153847,mullionSpacing:1,tint:"#b3b3b3",color:"#ffffff",opacity:.9,lz:.14285714285714285,cz:-.023809523809523808,uValue:2,mullionColor:"#ffffff",mullion:!0,id:"dDqdERBwZJGfHxCAxg8mQc",cx:.3974358974358974,frameWidth:.2,locked:!0},{sillWidth:0,mullionWidth:.05,id:"g49obECC2D5AhNaQXqvDPp",frame:!0,mullionColor:"#ffffff",mullionSpacing:1,lz:.14285714285714285,windowType:"Default",opacity:.9,normal:[0,0,1],type:"Window",cx:.10897435897435898,rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",lx:.03846153846153847,shutter:{showLeft:!1,width:.5,color:"grey",showRight:!1},mullion:!0,cy:.3,color:"#ffffff",frameWidth:.2,archHeight:1,uValue:2,ly:.3,cz:.2619047619047619,selected:!1,tint:"#b3b3b3",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",locked:!0},{mullionSpacing:1,color:"#ffffff",parentId:"r7FDtsVF9isPsPhYMJtzMf",frameWidth:.2,lx:.03846153846153847,type:"Window",rotation:[0,0,0],lz:.14285714285714285,uValue:2,frame:!0,id:"n8XDBwufcE9UWBEg19yPpi",opacity:.9,normal:[0,0,1],mullionColor:"#ffffff",ly:.3,tint:"#b3b3b3",archHeight:1,windowType:"Default",cy:.1,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},cz:.2619047619047619,selected:!1,cx:.16666666666666669,mullion:!0,mullionWidth:.05,sillWidth:0,locked:!0},{parentId:"r7FDtsVF9isPsPhYMJtzMf",color:"#ffffff",frame:!0,lx:.03846153846153847,normal:[0,0,1],mullionWidth:.05,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},mullion:!0,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,cz:.2619047619047619,sillWidth:0,cx:.22435897435897442,lz:.14285714285714285,archHeight:1,type:"Window",cy:.1,mullionSpacing:1,selected:!1,mullionColor:"#ffffff",rotation:[0,0,0],ly:.3,windowType:"Default",tint:"#b3b3b3",id:"b5uBoVa6wo8VKkGWVcCau1",frameWidth:.2,opacity:.9,locked:!0},{color:"#ffffff",lx:.03846153846153847,cy:.1,type:"Window",opacity:.9,sillWidth:0,frame:!0,mullionWidth:.05,selected:!1,rotation:[0,0,0],id:"nwmp8tgXJE3t7ELMTsmseA",normal:[0,0,1],windowType:"Default",lz:.14285714285714285,cx:.2820512820512821,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},mullion:!0,ly:.3,tint:"#b3b3b3",frameWidth:.2,cz:.2619047619047619,archHeight:1,mullionSpacing:1,uValue:2,parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",mullionColor:"#ffffff",locked:!0},{id:"72vvSwRX9xusD4gBvjme4x",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.9,frame:!0,windowType:"Default",mullionWidth:.05,cy:.1,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},sillWidth:0,normal:[0,0,1],cz:.2619047619047619,archHeight:1,frameWidth:.2,type:"Window",mullion:!0,tint:"#b3b3b3",uValue:2,lx:.03846153846153847,selected:!1,color:"#ffffff",cx:.33974358974358976,ly:.3,lz:.14285714285714285,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionColor:"#ffffff",mullionSpacing:1,locked:!0},{cy:.1,normal:[0,0,1],tint:"#b3b3b3",frame:!0,frameWidth:.2,lz:.14285714285714285,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",uValue:2,sillWidth:0,cx:.3974358974358974,type:"Window",archHeight:1,windowType:"Default",lx:.03846153846153847,parentId:"r7FDtsVF9isPsPhYMJtzMf",mullionWidth:.05,id:"nfohs2Unqz45ioM4iNmfos",cz:.2619047619047619,mullionSpacing:1,mullion:!0,selected:!1,ly:.3,mullionColor:"#ffffff",opacity:.9,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},color:"#ffffff",rotation:[0,0,0],locked:!0},{lz:.75,type:"Window",uValue:2,frameWidth:.2,shutter:{showRight:!1,showLeft:!1,width:.5,color:"grey"},windowType:"Default",frame:!0,mullionColor:"#ffffff",rotation:[0,0,0],selected:!1,cy:.3,foundationId:"hLsewK7zX5Mau5SErFyCiz",opacity:.5,lx:.22222222222222213,mullionWidth:.06,ly:.3,tint:"#0062b1",mullionSpacing:5,id:"nCv1Ny793c5HrEnfGj93XH",archHeight:1,cx:-8635067969306777e-32,sillWidth:0,normal:[0,0,1],mullion:!0,cz:-.041666666666666664,color:"#ffffff",parentId:"kFKM2qRJFmWx323z2hBCra",locked:!0},{opacity:.5,sillWidth:0,uValue:2,tint:"#0062b1",ly:.3,type:"Window",cy:.3,cz:-.041666666666666664,foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",frame:!0,windowType:"Default",archHeight:1,mullionWidth:.06,lz:.75,cx:-8635067969306777e-32,mullionColor:"#ffffff",rotation:[0,0,0],id:"5HaXS5141hpZmmNQTR28pq",color:"#ffffff",mullionSpacing:5,frameWidth:.2,mullion:!0,lx:.22222222222222213,normal:[0,0,1],shutter:{color:"grey",showRight:!1,showLeft:!1,width:.5},parentId:"16SbPgFqDMyVbV8UtDHAYk",selected:!1,locked:!0},{windowType:"Default",rotation:[0,0,0],frame:!0,lz:.75,ly:.3,cy:.3,mullionColor:"#ffffff",opacity:.5,id:"rkqdUY1fH4ETNHTSNuscn1",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",color:"#ffffff",cx:.01053672324504819,mullionWidth:.06,sillWidth:0,selected:!1,frameWidth:.2,mullion:!0,normal:[0,0,1],shutter:{width:.5,color:"grey",showRight:!1,showLeft:!1},tint:"#0062b1",cz:-.041666666666666664,uValue:2,parentId:"iVn6mF9eoYKrYt3EzDy2TC",type:"Window",archHeight:1,lx:.22222222222222213,mullionSpacing:5,locked:!0},{doorType:"Default",rotation:[0,0,0],frameColor:"#ffffff",id:"nCMdK2uZjAQvbd9xNjWLHp",filled:!0,cz:-.33695652173913043,type:"Door",ly:0,lz:.32608695652173914,normal:[0,0,1],lx:.053846153846153856,opacity:.5,archHeight:1,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",selected:!1,textureType:"Door Texture Default",cx:.012820512820512824,color:"#009ce0",uValue:1,cy:0,locked:!0},{type:"Human",rotation:[0,0,0],lz:1.8,selected:!1,cy:-.1500000059604638,name:"Jack",cz:.30360914351979496,normal:[0,1,0],id:"3ZDfWfiHz4RyG9jjRaKJMd",parentId:"4ahnYxjJA1TN7cwGSyLftT",lx:.42,cx:-3.810198255647766,locked:!0},{selected:!1,parentId:"u7vgLv3TfTJ9G6m9VRJXKE",rotation:[0,0,0],id:"kNqFk1V3FLs1ySbp9WvM5C",cx:.5509936852391848,lx:.48,lz:1.6,cz:.6000000238418579,type:"Human",normal:[0,1,0],cy:-1.9056488848059487,name:"Jade",locked:!0},{type:"Human",selected:!1,name:"James",normal:[0,1,0],cx:13.796503677890236,lx:.472,cy:-14.701093907978901,cz:0,rotation:[0,0,0],lz:1.75,parentId:"Ground",id:"hEkECi6wTCQNNwcMymHKtW",locked:!0},{normal:[0,1,0],cz:0,name:"Jacqueline",lz:1.78,lx:.43,parentId:"Ground",id:"jkiLfuhPDQMUuLpfWnf96a",rotation:[0,0,0],cx:14.379527131239326,type:"Human",cy:-14.104111051733407,selected:!1,locked:!0},{uValue:2,ly:.3,cy:.3,cz:-.44989648033126295,lineColor:"#000000",mullionWidth:.1,archHeight:1,mullion:!0,mullionColor:"#ffffff",parentId:"jE7DwieCwvfvkHcN1Bkpu2",lx:.025641025641025647,sillWidth:0,selected:!1,opacity:.5,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",windowType:"Default",cx:-.3974358974358975,id:"ey7NEkHJkJr31HLTbvLk1h",frame:!0,normal:[0,-1,0],lineWidth:.2,showLabel:!1,lz:.047619047619047616,tint:"#b3b3b3",mullionSpacing:1.25,rotation:[0,0,0],frameWidth:.05,color:"#ffffff",type:"Window",shutter:{showRight:!1,color:"grey",showLeft:!1,width:.5},locked:!0},{windowType:"Default",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,cx:-.3205128205128206,cy:.3,uValue:2,shutter:{showRight:!1,color:"grey",width:.5,showLeft:!1},type:"Window",sillWidth:0,mullionWidth:.1,mullionColor:"#ffffff",archHeight:1,frame:!0,ly:.3,parentId:"jE7DwieCwvfvkHcN1Bkpu2",opacity:.5,tint:"#b3b3b3",rotation:[0,0,0],lx:.025641025641025647,frameWidth:.05,mullionSpacing:1.25,selected:!1,color:"#ffffff",normal:[0,-1,0],mullion:!0,lz:.047619047619047616,id:"tBwi3AxHXayUK8gVkMaxbE",locked:!0},{opacity:.5,mullionWidth:.1,type:"Window",normal:[0,-1,0],archHeight:1,lz:.047619047619047616,foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cz:-.44989648033126295,lx:.025641025641025647,frame:!0,shutter:{width:.5,showRight:!1,color:"grey",showLeft:!1},uValue:2,parentId:"jE7DwieCwvfvkHcN1Bkpu2",rotation:[0,0,0],mullionSpacing:1.25,ly:.3,frameWidth:.05,tint:"#b3b3b3",cx:-.25641025641025644,cy:.3,sillWidth:0,selected:!1,id:"aaeq11aoNBxT8ngMjW1MD1",windowType:"Default",mullion:!0,color:"#ffffff",mullionColor:"#ffffff",locked:!0},{mullionColor:"#ffffff",lz:.047619047619047616,cx:-.19230769230769235,uValue:2,sillWidth:0,id:"tQRNuUci7nDK7JtFR1J9hs",opacity:.5,mullion:!0,cz:-.44989648033126295,windowType:"Default",lx:.025641025641025647,selected:!1,color:"#ffffff",shutter:{showRight:!1,width:.5,color:"grey",showLeft:!1},parentId:"jE7DwieCwvfvkHcN1Bkpu2",archHeight:1,tint:"#b3b3b3",frameWidth:.05,type:"Window",rotation:[0,0,0],foundationId:"2XGmuwQrQtDPGFB7FUq4gK",ly:.3,frame:!0,normal:[0,-1,0],mullionWidth:.1,cy:.3,mullionSpacing:1.25,locked:!0},{mullionWidth:.15,lz:.2260869565217391,lx:.12564102564102567,uValue:2,shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},sillWidth:0,lineColor:"#000000",cy:.3,showLabel:!1,mullionSpacing:1.75,lineWidth:.2,selected:!1,color:"#ffffff",ly:.3,windowType:"Default",type:"Window",tint:"#009ce0",frame:!1,cz:-.28695652173913044,parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",cx:-.07820512820512822,mullionColor:"#ffffff",archHeight:1,opacity:.5,rotation:[0,0,0],mullion:!0,normal:[0,-1,0],frameWidth:.1,id:"noDtXCs5Fto2dPjMS4sHTG",locked:!0},{foundationId:"2XGmuwQrQtDPGFB7FUq4gK",opacity:.5,id:"32Mm6Utbug2woUysRGXDB7",frameWidth:.1,mullionWidth:.15,parentId:"jE7DwieCwvfvkHcN1Bkpu2",shutter:{width:.5,color:"grey",showLeft:!1,showRight:!1},mullion:!0,mullionColor:"#ffffff",type:"Window",frame:!1,selected:!1,windowType:"Default",cy:.3,ly:.3,normal:[0,0,1],cz:-.29130434782608694,tint:"#009ce0",color:"#ffffff",lx:.1230769230769231,rotation:[0,0,0],uValue:2,cx:.10256410256410259,archHeight:1,sillWidth:0,mullionSpacing:1.75,lz:.21739130434782608,locked:!0},{lineColor:"#e9d8ba",color:"#e9d8ba",cz:0,ly:.4,parentType:"Wall",vertices:[{x:-.5007532349973239,y:-.44799999999999995},{x:-.5007532349973239,y:-.376},{y:-.376,x:.5007532349973239},{y:-.44,x:.5007532349973239}],id:"aJWE2MtRWkR9GDyeWR1Gxe",filled:!0,selected:!1,cy:-.4400430854049809,type:"Polygon",selectedIndex:0,normal:[0,0,1],lx:.4,lz:.4,cx:.15819596410925735,foundationId:"uj4Qq2BojpeyU8mLo7xk7N",parentId:"1G9FW32uCMUYbXB7bybpze",noOutline:!0,rotation:[0,0,0],locked:!0},{filled:!0,ly:.4,cz:0,cy:0,vertices:[{x:-.5001466885671803,y:-.44},{y:-.376,x:-.5001466885671803},{y:-.376,x:.4601349534818058},{y:-.44,x:.5001466885671803}],lx:.4,noOutline:!0,cx:0,parentId:"9ULQ17PCkbiQTAk5KCBQqS",type:"Polygon",id:"cAXqDBJufU2L5v4YCuvU4k",color:"#e9d8ba",lz:.4,selected:!1,selectedIndex:3,parentType:"Wall",lineColor:"#e9d8ba",rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",normal:[0,0,1],locked:!0},{selected:!1,opacity:0,text:"YENISEHIR BELEDIYESI BILIM SANAT MERKEZI",noOutline:!0,cy:0,fontColor:"gold",cz:0,normal:[0,0,1],cx:0,rotation:[0,0,0],foundationId:"uj4Qq2BojpeyU8mLo7xk7N",color:"#ffffff",selectedIndex:3,lx:.4,type:"Polygon",ly:.4,fontSize:.5,filled:!0,parentType:"Wall",parentId:"1G9FW32uCMUYbXB7bybpze",vertices:[{x:-.47819624166517993,y:.14},{x:-.47819624166517993,y:.18000000000000002},{y:.18000000000000002,x:.47561944404400847},{x:.47561944404400847,y:.14}],id:"ddNUh9NWyq7jo9Hii6cxUy",lz:.4,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["vEPKSnunpPsGKUDNJaGnTR","iYLfpK8sAzBxMk4mz1BXiS","joaXtauLNr5aPP2tqqpryi","1QnZb7zSPuvyzTVeC8AkVL"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"j3n8P4y4kG4w4nSZiAf6rj",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"9wUwTaeJ4rHLbRCsFJ3NXZ",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["16SbPgFqDMyVbV8UtDHAYk","kmaifBj79SDvw8jCqEakPi","dMQfydvLoQmsUVh8GcfQWg","3WQQwDXPDfYCATy53ts83F"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"x4oU2GYmkiSMe4Z8gg6K3C",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"q8ctEFdUTArcnVXRSQ323h",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["tJ6f61zEL1oQGpeeCnFH2S","sCZzaqpAQeUmKwng1WHaCF","gZiomgVxY3vk4YfQ9Jjh6B","eZza9yCuyFywaPPzJVe5tY"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"o2WibZi2fR7HySSdFgPoda",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"rdXcWwV3c9y2W6N9aNo82Z",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["5KcXyJ1kNDvp5rTZsShAbX","i7SnyGKg3wpYfMg2Ck4kpZ","gv3LzTTefsaZrtK8Lzx2bM","kFKM2qRJFmWx323z2hBCra"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"hLsewK7zX5Mau5SErFyCiz",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"3gdGvLfCvyTnvdRCWnC9h9",locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.05,rValue:2,color:"#73d8ff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["eTsfM9k5RPHprx93KkShya","aMAoC9G4MpUPGJVmt36yfP","u1GLQPod2yRsFy4dWHVdVa","iVn6mF9eoYKrYt3EzDy2TC"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"oGfdqtfZrLhGvZskoNeDFJ",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"ips8v5W6dhiA81cAxrdErd",locked:!0},{type:"Foundation",cx:2.2717235438998022,cy:-13.70952380378541,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"mjxy5YL3EoKusPrE4miGfp",notBuilding:!0,locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:-1.5707963267948972,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],leftJoints:["9LP2kDJGn2neiYDzDX66JW"],rightJoints:["kVBpA22r7rMwMak56bdzNG"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kAomEduDnbZXe9fMR2J4vS",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,relativeAngle:30767985154612743e-31,leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],leftJoints:["kAomEduDnbZXe9fMR2J4vS"],rightJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"kVBpA22r7rMwMak56bdzNG",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:1.5707963267948974,leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["kVBpA22r7rMwMak56bdzNG"],rightJoints:["9LP2kDJGn2neiYDzDX66JW"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"xrMk4ZTC1gwLZELF3Hm4PW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,relativeAngle:3.1415926535897913,leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],leftJoints:["xrMk4ZTC1gwLZELF3Hm4PW"],rightJoints:["kAomEduDnbZXe9fMR2J4vS"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"9LP2kDJGn2neiYDzDX66JW",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"vX75xVcns2UiTk795WQxu9",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",roofStructure:"Default",wallsId:["kVBpA22r7rMwMak56bdzNG"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"vX75xVcns2UiTk795WQxu9",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-1.5707963267948963,leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],leftJoints:["hb7Tux4vCn6v5A6JnAifhr"],rightJoints:["ji3RWSoHzqrqxaW2CNta4W"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"wwL7bfAKTRXceXoVXbnQe9",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-3.09893137333499,leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],leftJoints:["33r7faucqj1HNFffUsMqbr"],rightJoints:["wwL7bfAKTRXceXoVXbnQe9"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"hb7Tux4vCn6v5A6JnAifhr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:1.580137542273405,leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],leftJoints:["ji3RWSoHzqrqxaW2CNta4W"],rightJoints:["hb7Tux4vCn6v5A6JnAifhr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"33r7faucqj1HNFffUsMqbr",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,relativeAngle:-17947991340190846e-31,leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],leftJoints:["wwL7bfAKTRXceXoVXbnQe9"],rightJoints:["33r7faucqj1HNFffUsMqbr"],textureType:"No Wall Texture",color:"#e9d8ba",volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"#ffffff",opacity:.5,selected:!1,lineWidth:.2,lineColor:"#000000",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"ji3RWSoHzqrqxaW2CNta4W",structureSpacing:2,structureWidth:.1,structureColor:"white",unfilledHeight:.5,roofId:"sFQv2f1u7oD1ozyFQA6CvB",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,thickness:.1,rValue:2,color:"#ffffff",sideColor:"#ffffff",textureType:"No Roof Texture",roofType:"Pyramid",roofStructure:"Default",wallsId:["ji3RWSoHzqrqxaW2CNta4W","33r7faucqj1HNFffUsMqbr","hb7Tux4vCn6v5A6JnAifhr","wwL7bfAKTRXceXoVXbnQe9"],selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mjxy5YL3EoKusPrE4miGfp",foundationId:"mjxy5YL3EoKusPrE4miGfp",id:"sFQv2f1u7oD1ozyFQA6CvB",locked:!0},{type:"Wall",cx:-.20459827817487655,cy:-1.7122028473101976,cz:0,lx:1.6908062651709903,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["kQgqBbuoJMHBFT8g1JN1tC"],rightJoints:["3c6cWYJDLKfbWoov8rSetU"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[-.20459827817487694,-2.5576059798956927,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"hQDTYviozPxCLRiuoq8YbP",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.4200281664406509,rightRoofHeight:.8626045741320808,centerRoofHeight:[-.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146291,cy:-2.5576059798956923,cz:1.5186399018658703,lx:.43300450869804646,ly:.3,lz:.8626045741320808,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.0372798037317406,rightTopPartialHeight:3.0372798037317406,leftJoints:["hQDTYviozPxCLRiuoq8YbP"],rightJoints:["3SCoUPNSFfffHGPmvk8DUC"],leftPoint:[-.20459827817487694,-2.5576059798956927,0],rightPoint:[.22840623052316952,-2.5576059798956914,0],relativeAngle:30767985154612743e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3c6cWYJDLKfbWoov8rSetU",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:.8626045741320808,selected:!1,locked:!0},{type:"Wall",cx:.22840623052316894,cy:-1.7122028473101973,cz:0,lx:1.690806265170988,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3c6cWYJDLKfbWoov8rSetU"],rightJoints:["kQgqBbuoJMHBFT8g1JN1tC"],leftPoint:[.22840623052316952,-2.5576059798956914,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:1.5707963267948974,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"3SCoUPNSFfffHGPmvk8DUC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:.8626045741320808,rightRoofHeight:1.4200281664406509,centerRoofHeight:[.5,1.9880394330169113],selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:1.4200281664406509,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.5,rightTopPartialHeight:4.5,leftJoints:["3SCoUPNSFfffHGPmvk8DUC"],rightJoints:["hQDTYviozPxCLRiuoq8YbP"],leftPoint:[.22840623052316833,-.8667997147247033,0],rightPoint:[-.20459827817487616,-.8667997147247025,0],relativeAngle:3.1415926535897913,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"kQgqBbuoJMHBFT8g1JN1tC",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"bi1wbzAS6GmbpEfuCH6pB4",leftRoofHeight:1.9880394330169113,rightRoofHeight:1.9880394330169113,selected:!1,locked:!0},{id:"bi1wbzAS6GmbpEfuCH6pB4",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:.5680112665762603,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["3c6cWYJDLKfbWoov8rSetU"],ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],selected:!1,locked:!0},{type:"Wall",cx:-.20459827817487508,cy:1.0250055239867875,cz:0,lx:3.7836104774229744,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["oo7zYTZq5M8KXcmw8fK7tD"],rightJoints:["ij5SdFExjnoBJBDeaF2ioW"],leftPoint:[-.20459827817487566,2.9168107626982747,0],rightPoint:[-.20459827817487453,-.8667997147247,0],relativeAngle:-1.5707963267948963,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"uizhgrZpeyc2KYB1TvZ5Nf",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:-.005847552410961521,cy:2.9252948707181776,cz:0,lx:.3978634493419871,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["mgWkbY4DegHxFAvRa9Bw4F"],rightJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],leftPoint:[.19290317335295262,2.93377897873808,0],rightPoint:[-.20459827817487566,2.9168107626982747,0],relativeAngle:-3.09893137333499,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"oo7zYTZq5M8KXcmw8fK7tD",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.21065470193806246,cy:1.0334896320066904,cz:0,lx:3.800744515522147,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["ij5SdFExjnoBJBDeaF2ioW"],rightJoints:["oo7zYTZq5M8KXcmw8fK7tD"],leftPoint:[.22840623052317233,-.8667997147246993,0],rightPoint:[.19290317335295262,2.93377897873808,0],relativeAngle:1.580137542273405,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"mgWkbY4DegHxFAvRa9Bw4F",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{type:"Wall",cx:.011903976174146083,cy:-.8667997147247029,cz:0,lx:.4330045086980445,ly:.3,lz:2.0107598836799614,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},eavesLength:.02,rValue:2,volumetricHeatCapacity:.5,fill:"Full",leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.379293249110431,rightTopPartialHeight:4.379293249110431,leftJoints:["uizhgrZpeyc2KYB1TvZ5Nf"],rightJoints:["mgWkbY4DegHxFAvRa9Bw4F"],leftPoint:[-.20459827817487616,-.8667997147247025,0],rightPoint:[.22840623052316833,-.8667997147247033,0],relativeAngle:-17947991340190846e-31,textureType:"No Wall Texture",color:"#e9d8ba",normal:[0,0,1],rotation:[0,0,0],id:"ij5SdFExjnoBJBDeaF2ioW",parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"8m9Vi16SPU3YiAzGyrbieq",leftRoofHeight:2.0107598836799614,rightRoofHeight:2.0107598836799614,selected:!1,locked:!0},{id:"8m9Vi16SPU3YiAzGyrbieq",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!1,rise:0,color:"#ffffff",rValue:2,ceilingRValue:2,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"qRkMdipDNgMrnuysUddPgu",foundationId:"qRkMdipDNgMrnuysUddPgu",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["ij5SdFExjnoBJBDeaF2ioW","mgWkbY4DegHxFAvRa9Bw4F","oo7zYTZq5M8KXcmw8fK7tD","uizhgrZpeyc2KYB1TvZ5Nf"],selected:!1,locked:!0},{type:"Foundation",cx:11.311392901943481,cy:-4.7142040538495555,cz:.05,lx:.7913071632562995,ly:6.7897393900555105,lz:.1,normal:[0,0,1],rotation:[0,0,.7770205829878756],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"qRkMdipDNgMrnuysUddPgu",selected:!1,notBuilding:!0,locked:!0},{type:"Door",cx:-.11315789473684208,cy:0,cz:-.06153846153846153,lx:.6894736842105263,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"joaXtauLNr5aPP2tqqpryi",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"keZr7qBSZM6JD1wUNN3RrV",interior:!0,locked:!0},{type:"Door",cx:.12368421052631581,cy:0,cz:-.06538461538461539,lx:.668421052631579,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"kmaifBj79SDvw8jCqEakPi",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"vp6vHpvNfTH54o1tThWij3",interior:!0,locked:!0},{type:"Door",cx:-.2611111111111111,cy:0,cz:-.030769230769230764,lx:.3000000000000001,ly:0,lz:.9384615384615385,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"dMQfydvLoQmsUVh8GcfQWg",foundationId:"x4oU2GYmkiSMe4Z8gg6K3C",id:"b4ReFVnndEjjEwadJrJfnm",interior:!0,locked:!0},{type:"Door",cx:.2277777777777778,cy:0,cz:-.03461538461538463,lx:.3666666666666666,ly:0,lz:.9307692307692308,doorType:"Default",filled:!1,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"iYLfpK8sAzBxMk4mz1BXiS",foundationId:"j3n8P4y4kG4w4nSZiAf6rj",id:"wa145FYVqDahTu1KJYV3LK",interior:!0,locked:!0},{type:"Door",cx:.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"sCZzaqpAQeUmKwng1WHaCF",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"1r7udrYyCT7hkUCv5siuDw",locked:!0},{type:"Door",cx:-.12368421052631574,cy:0,cz:-.06538461538461539,lx:.6684210526315789,ly:0,lz:.8692307692307693,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gv3LzTTefsaZrtK8Lzx2bM",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"vASnwHDvzPR9avU565RVbd",locked:!0},{type:"Door",cx:.26111111111111107,cy:0,cz:-.042307692307692296,lx:.29999999999999993,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"i7SnyGKg3wpYfMg2Ck4kpZ",foundationId:"hLsewK7zX5Mau5SErFyCiz",id:"ewo4SkBBdDL4Dgy9tWDw9P",locked:!0},{type:"Door",cx:-.26111111111111107,cy:0,cz:-.042307692307692296,lx:.2999999999999998,ly:0,lz:.9153846153846155,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"gZiomgVxY3vk4YfQ9Jjh6B",foundationId:"o2WibZi2fR7HySSdFgPoda",id:"7HwzJtGpVjcSG4pVEZX7yq",locked:!0},{type:"Door",cx:-.10744643820625929,cy:0,cz:-.06153846153846153,lx:.6583928464374896,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"u1GLQPod2yRsFy4dWHVdVa",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"kmWJjPpjeytKavWK96TyyH",locked:!0},{type:"Door",cx:44664000438593557e-33,cy:0,cz:-.038461538461538464,lx:.8390809794142997,ly:0,lz:.9230769230769231,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"aMAoC9G4MpUPGJVmt36yfP",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"hMEcTxQ4NT4QbuYeBXMCEV",locked:!0},{type:"Door",cx:.13912500749375725,cy:0,cz:-.06153846153846153,lx:.5950357078624938,ly:0,lz:.8769230769230769,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"eTsfM9k5RPHprx93KkShya",foundationId:"oGfdqtfZrLhGvZskoNeDFJ",id:"vbLxh8TTREuj8zv66LqoAM",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"vbUoZmBsuZRXzK6QXsDYtV",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.010869565217391304,lx:.38823529411764707,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"vqP69iA4TuZd8ZEvPBLjzU",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"fknzp5TF4y6Z2JezdMmUnw",locked:!0},{type:"Door",cx:-.46282051282051284,cy:0,cz:-.004347826086956506,lx:.053846153846153884,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"62KCpUdkhCRr3ExkPE3Sd1",locked:!0},{type:"Door",cx:.458974358974359,cy:0,cz:-.004347826086956506,lx:.061538461538461424,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oHCJ27NVx4XbdXZVcpvNo5",locked:!0},{type:"Door",cx:-.4615384615384616,cy:0,cz:-.004347826086956506,lx:.056410256410256404,ly:0,lz:.991304347826087,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"jE7DwieCwvfvkHcN1Bkpu2",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"3deR2pFWoANWBbeogtfdY4",locked:!0},{type:"Door",cx:.2823529411764706,cy:0,cz:-.0017278291556811246,lx:.3882352941176471,ly:0,lz:.9965443416886377,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nAw5K9QrWgALjVNPKgbC1o",locked:!0},{type:"Door",cx:-.2823529411764706,cy:0,cz:-.010869565217391304,lx:.3882352941176471,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"6bfpYPQw2M5RbKRsLfDauC",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"kNSEPx2oK4SSg7KeM6Ty8x",locked:!0},{type:"Door",cx:.46282051282051284,cy:0,cz:-.010869565217391304,lx:.053846153846153884,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5UP5zCx3iEA1h5gxGrabow",locked:!0},{type:"Door",cx:.00641025641025641,cy:0,cz:-.010869565217391304,lx:.11538461538461539,ly:0,lz:.9782608695652174,doorType:"Default",filled:!1,interior:!0,archHeight:1,textureType:"Door Texture Default",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"r7FDtsVF9isPsPhYMJtzMf",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"nd9aBdZVvLyLxm6LSWmReW",locked:!0},{type:"Window",cx:19.271100620021265,cy:-4.54768812158822,cz:12.260904466364499,lx:2.748705948983199,ly:.2,lz:6.901186917106701,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872453,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"5kDW9Ug8bkdf5i9qjLd7bj",locked:!0},{type:"Window",cx:19.227858803067697,cy:4.981211897402677,cz:12.264615427486488,lx:2.8786302292092456,ly:.2,lz:6.844179828287683,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!1,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,3.141592653589793],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"oxL6YVVCiXau1r4WQuSjxn",locked:!0},{type:"Window",cx:-17.18252886122661,cy:-4.622268332707515,cz:12.249668970719181,lx:2.2316030028692726,ly:.2,lz:6.893564122242849,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.14952541119872476,0,2220446049250313e-31],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"rqUXFDFwX2z3bbGtXfBcfd",locked:!0},{type:"Window",cx:-17.11075110661269,cy:5.168142143612845,cz:12.236454418879077,lx:2.3271871087906195,ly:.2,lz:6.844860410467514,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"#ffffff",frame:!0,frameWidth:.1,sillWidth:0,windowType:"Default",empty:!0,interior:!0,archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,uValue:2,normal:[0,-1,0],rotation:[.1495254111987243,0,3.1415926535897936],parentId:"byzwW7Db61R9EfVcvoWVQ9",parentType:"Roof",foundationId:"2XGmuwQrQtDPGFB7FUq4gK",id:"qAswaYhvWDiHawY6iYvLWG",locked:!0}],Lmn=90,Wmn={yearlyLightSensorPanelRect:{height:500,width:600,x:0,y:0},showYearlyParabolicDishYieldPanel:!1,showDesignInfoPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showInstructionPanel:!0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},dailyPvYieldPanelRect:{x:0,height:400,width:600,y:0},yearlyLightSensorPanelShowDaylight:!1,cameraPosition:[28.761610676892403,-33.63667545263391,8.036616917846569],yearlyPvYieldPanelX:0,showDailyHeliostatYieldPanel:!1,solarRadiationHeatMapMaxValue:3,showDailyPvYieldPanel:!1,showSunAngles:!1,yearlyParabolicDishYieldPanelY:0,showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},mapZoom:19,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,yearlyPvYieldPanelY:0,dailyHeliostatYieldPanelY:0,showYearlyBuildingEnergyPanel:!1,mapWeatherStations:!1,stickyNotePanelX:0,dailyPvYieldPanelY:0,dailyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,cameraZoom:18.050000000000008,yearlyParabolicTroughYieldPanelY:0,yearlyPvYieldPanelRect:{width:600,height:400,x:0,y:0},theme:"Default",dailyLightSensorPanelRect:{height:360,y:0,width:600,x:0},dailyFresnelReflectorYieldPanelRect:{x:0,height:400,width:600,y:0},heatFluxColor:"gray",showYearlyFresnelReflectorYieldPanel:!1,solarPanelShininess:100,mapType:"roadmap",yearlyParabolicTroughYieldPanelX:0,cameraPosition2D:[9.356963094823977,-6.143696261834446,150],showDailyLightSensorPanel:!1,weatherPanelX:0,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{x:0,height:470,y:0,width:600},showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,windowShininess:200,yearlyLightSensorPanelY:0,dailyParabolicDishYieldPanelY:0,panCenter2D:[9.356963094823977,-6.142695884375581,-7053447453632921e-21],dailyHeliostatYieldPanelX:0,showWeatherPanel:!1,heliodonPanelY:0,yearlyParabolicDishYieldPanelX:0,mapPanelX:0,dailyPvYieldPanelX:0,weatherPanelY:0,showMapPanel:!1,stickyNotePanelY:0,yearlyHeliostatYieldPanelY:0,groundImage:!0,dailyHeliostatYieldPanelRect:{y:0,x:0,height:400,width:600},panCenter:[-1.9927664106999077,1.50952086360681,5.064941130407551],showYearlyLightSensorPanel:!1,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,ambientLightIntensity:.1,showSolarPanelVisibilityResultsPanel:!1,mapPanelY:0,dailyParabolicDishYieldPanelX:0,orthographic:!1,showElevationAngle:!0,dailyParabolicTroughYieldPanelY:0,axes:!0,showStickyNotePanel:!1,heliodon:!1,yearlyLightSensorPanelShowClearness:!1,yearlyLightSensorPanelX:0,dailyUpdraftTowerYieldPanelRect:{height:550,y:0,x:0,width:640},yearlyFresnelReflectorYieldPanelY:0,mapTilt:0,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelX:0,showDailyFresnelReflectorYieldPanel:!1,showEconomicsPanel:!1,showAzimuthAngle:!0,dailyLightSensorPanelY:0,showDailyUpdraftTowerYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,enableRotate:!0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},waterSurface:!1,showZenithAngle:!0,evolutionPanelRect:{y:0,width:640,height:400,x:0},showYearlyUpdraftTowerYieldPanel:!1,shadowEnabled:!0,yearlyFresnelReflectorYieldPanelRect:{height:400,y:0,width:600,x:0},yearlyHeliostatYieldPanelRect:{width:600,x:0,height:400,y:0},showDiurnalTemperaturePanel:!1,autoRotate:!1,solarRadiationHeatMapReflectionOnly:!1,heliodonPanelX:0,groundColor:"#16A5A5",heatFluxScaleFactor:20,heatFluxWidth:.5,showSiteInfoPanel:!0,dailyFresnelReflectorYieldPanelX:0,yearlyUpdraftTowerYieldPanelRect:{height:400,x:0,y:0,width:600},weatherPanelRect:{width:500,height:500,x:0,y:0},visibilityResultsPanelX:0,showDailyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showYearlyHeliostatYieldPanel:!1,groundImageType:"roadmap"},Nmn={dailyParabolicTroughIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyPvIndividualOutputs:!1},Umn=1,Bmn={rowsPerRack:1,tiltAngle:0,poleHeight:1,rowAxis:"Zonal",orientation:"Landscape",pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,poleSpacing:3},jmn={maximumInterRowSpacing:10,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,poleHeight:1,rowAxis:"Zonal",maximumRowsPerRack:6,poleSpacing:5,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,orientation:"Landscape"},Ymn={particleSwarmOptimizationParams:{objectiveFunctionType:1,inertia:.8,searchMethod:1,maximumSteps:5,vmax:.01,cognitiveCoefficient:.1,swarmSize:20,socialCoefficient:.1,convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",localSearchRadius:.1},geneticAlgorithmParams:{convergenceThreshold:.01,problem:"Solar Panel Tilt Angle",mutationRate:.1,maximumGenerations:5,selectionMethod:1,localSearchRadius:.1,searchMethod:1,populationSize:20,crossoverRate:.5,objectiveFunctionType:1,selectionRate:.5}},Omn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},_mn="School Building",Vmn="The Architect",Gmn="Yenişehir Belediyesi Bilim ve Sanat Merkezi",Xmn="Mersin Yenişehir Belediyesi BİLSEM",Jmn=[],Kmn={docid:Hmn,time:Mmn,timestamp:Imn,userid:zmn,owner:Dmn,email:Emn,world:kmn,elements:Fmn,sceneRadius:Lmn,view:Wmn,graphState:Nmn,evolutionMethod:Umn,solarPanelArrayLayoutParams:Bmn,solarPanelArrayLayoutConstraints:jmn,evolutionaryAlgorithmState:Ymn,economicsParams:Omn,modelType:_mn,modelAuthor:Vmn,modelLabel:Gmn,modelDescription:Xmn,notes:Jmn},qmn="tM5fjWZLVef6uQTttZQufM",$mn="11/13/2022 07:15 pm",Qmn=1668384959038,Zmn="QWecNcxhyvP6j6sBN11hBsfZDau1",eyn=null,tyn=null,nyn={name:"default",date:"6/22/2022 4:00:00 PM",longitude:-110.9747108,latitude:32.2226066,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Tucson, AZ, USA",timesPerHour:20,orthographic:!1,cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},oyn=[{cz:.10000000074506517,id:"2gPWTJVs8iqE6rVTtrnnd8",name:"Julio",normal:[0,1,0],cy:-19.528888002511724,type:"Human",cx:13.490029797984572,rotation:[0,0,0],selected:!1,parentId:"Ground",lx:.5,ly:.42,lz:1.76},{ly:17.026616933032848,cy:-19.859023165912554,cz:.05,lz:.1,selected:!1,lx:36.16252356452459,type:"Foundation",id:"dqxcN6K9GVQLtZRykzonbS",cx:.03966683604024013,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #2"},{normal:[0,0,1],type:"Tree",rotation:[0,0,0],lx:4,cx:-23.993252440580314,id:"ibv7qyFAZNTUiSKfRnG81J",cz:-8881784197001252e-31,selected:!1,cy:-7.809220875702906,lz:10,name:"Birch",parentId:"Ground"},{selected:!1,poleSpacing:4,lz:.046,cy:-.023651645489680885,drawSunBeam:!0,poleRadius:.05,label:"Solar Panel",ly:3.12,lx:20.99,rotation:[0,0,0],type:"Solar Panel",tiltAngle:.05235987755982989,poleHeight:2.5,normal:[0,0,1],orientation:"Portrait",cz:.5000000074505628,relativeAzimuth:0,cx:-.14046178216409752,showLabel:!1,id:"kLwberNeAuQDEs45xghUMw",trackerType:"None",parentId:"dqxcN6K9GVQLtZRykzonbS",foundationId:"dqxcN6K9GVQLtZRykzonbS",pvModelName:"SPR-X21-335-BLK"},{id:"5wtQcSRJfXRx7dRi95EJjx",cy:-17.66536908075935,type:"Human",rotation:[0,0,0],cz:.10000000074505806,selected:!1,cx:7.100228690010481,normal:[0,1,0],name:"Jade",parentId:"Ground",lx:.48,ly:.48,lz:1.6},{cx:-23.340488252107782,cz:0,id:"tJeB5NfeXNiu4x7bJzUo9c",selected:!1,rotation:[0,0,0],lz:4.164962493910564,name:"Apple",normal:[0,0,1],type:"Tree",lx:4.059299397551073,cy:-22.87864367350907,parentId:"Ground"},{type:"Human",name:"Jedi",id:"wizaQCLaDPXxAgvgzpYzE5",cy:-26.52645438589241,rotation:[0,0,0],cx:-20.391856797710087,selected:!1,cz:-7105427357601002e-30,normal:[0,1,0],parentId:"Ground",lx:.56,ly:.56,lz:1.75},{name:"Jocelyn",rotation:[0,0,0],cz:-9833932535276902e-30,cx:-5.594678028642042,type:"Human",normal:[0,1,0],id:"8gaXxvd41d1wtkBveac2iT",cy:-24.46034584888105,selected:!1,parentId:"Ground",lx:.4,ly:.6,lz:1.72},{selected:!1,rotation:[0,0,0],id:"tSCfpjZEaf2LdYnKVymp8f",cx:-24.035139369880795,cy:-11.60375573934435,normal:[0,1,0],cz:8881784197001252e-31,name:"Judd",type:"Human",parentId:"Ground",lx:.544,ly:.544,lz:1.68},{type:"Human",cy:-26.346953604384606,name:"Jeff",normal:[0,1,0],selected:!1,cx:-14.95104385552803,cz:.10000000074506517,rotation:[0,0,0],id:"649JwdxAWZ8uAmjtuwCu7m",parentId:"Ground",lx:.6,ly:.6,lz:1.65},{id:"v8yuSV55idFvdSiztzVfkc",cz:.10000000074506517,type:"Human",normal:[0,1,0],selected:!1,cy:-25.080741421179635,cx:-1.3149126517891083,rotation:[0,0,0],name:"Joey",parentId:"Ground",lx:.462,ly:.695,lz:1.72},{type:"Tree",name:"Linden",cx:30.437792865488664,cy:-17.386067284775812,cz:-7105427357601002e-30,lx:23,lz:17,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rWrzivW4afibFuZheu2ZqV",selected:!1},{type:"Tree",name:"Birch",cx:-23.798739662505156,cy:3.0810007914333255,cz:0,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"rd1CFzdzbUa21QJwgHv8cP",selected:!1},{type:"Cuboid",cx:-.09692665761748831,cy:-.09694518863336476,cz:10.01793918410506,lx:36.06261166884342,ly:21.672025065737824,lz:18.410192174768163,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["Facade #10","Facade #10","Facade #10","Facade #10","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"aj9AkMLHmiC7fiuGVPs4H7",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-12.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"oHeGQDazJuZsZxKRzGGPDD",selected:!1},{type:"Flower",name:"Hydrangea",cx:-10.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"n7tcVJNYuVeGnjeGQXZtpb",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-8.88108244582257,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jY9Y4Lm3QMDVY6ThY32QL6",selected:!1},{type:"Flower",name:"Hydrangea",cx:-6.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"ijsBYLU6Xgn2UahtDbM3ax",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-4.881082445822569,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"aMGVaSDxGidE4hAekjvzp1",selected:!1},{type:"Flower",name:"Hydrangea",cx:-2.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"jNS7CLQtTgERjMBryrJy3f",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-.8810824458225692,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"m5iTV6jNY7ctTerZ1zT3mN",selected:!1},{type:"Flower",name:"Hydrangea",cx:1.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"obmBrYQNng1HztDQMhFTdF",selected:!1},{type:"Flower",name:"Yellow Flower",cx:3.1189175541774308,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"bX5gWjKNUmXEpNE3CSVo5i",selected:!1},{type:"Flower",name:"Hydrangea",cx:5.118917554177431,cy:-7.8862995083645835,cz:.05000000074505806,lx:2,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"dqxcN6K9GVQLtZRykzonbS",id:"e1T6XS94X1vuZYnmBeSzv3",selected:!1},{type:"Tree",name:"Birch",cx:-23.930414200652432,cy:-2.885662218323219,cz:8881784197001252e-31,lx:4,lz:10,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"jDrfaAvoEqu7y5suMRTWYc",selected:!1}],iyn={shadowEnabled:!0,showYearlyLightSensorPanel:!1,showStickyNotePanel:!1,mapTilt:0,showSiteInfoPanel:!0,showHeliodonPanel:!1,stickyNotePanelX:6,groundColor:"forestgreen",showWeatherPanel:!1,showDailyLightSensorPanel:!1,heliodonPanelX:-1235,weatherPanelX:0,groundImage:!1,autoRotate:!1,axes:!0,weatherPanelY:0,groundPanelX:0,theme:"Forest",mapWeatherStations:!1,mapType:"roadmap",yearlyLightSensorPanelY:70,mapZoom:16,stickyNotePanelY:0,showGroundPanel:!1,heliodonPanelY:7,yearlyLightSensorPanelX:-905,dailyLightSensorPanelY:15,heliodon:!1,dailyLightSensorPanelX:-19,groundPanelY:0,showMapPanel:!1,cameraPosition:[-16.291066490441285,-43.009068926241156,5.496187293258948],panCenter:[2.1268141574348576,-9.161736732265924,5.496187293258948],orthographic:!1,enableRotate:!0,cameraZoom:12.604988194492185,showInstructionPanel:!0,cameraPosition2D:[4.203619393633803,-8.791827721460434,49.9999912078788],panCenter2D:[4.203619393633803,-8.791777719248431,16660811664248792e-22]},ryn=1,ayn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},syn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uyn=[""],dyn={docid:qmn,time:$mn,timestamp:Qmn,userid:Zmn,owner:eyn,email:tyn,world:nyn,elements:oyn,view:iyn,evolutionMethod:ryn,solarPanelArrayLayoutParams:ayn,solarPanelArrayLayoutConstraints:lyn,evolutionaryAlgorithmState:syn,economicsParams:cyn,notes:uyn},fyn="i1UYg29b6kEuhDLMCMNpP5",hyn="11/13/2022 07:17 pm",pyn=1668385042826,gyn="QWecNcxhyvP6j6sBN11hBsfZDau1",myn=null,yyn=null,Ayn={longitude:-71.0588801,timesPerHour:20,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},name:"default",orthographic:!1,date:"6/22/2022 2:00:00 PM",latitude:42.3600825,address:"Boston, MA, USA",cameraZoom:15.475618749999999,solarRadiationHeatmapGridCellSize:2,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},wyn=[{selected:!1,cz:8.856282232714092,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],ly:33.93664889246779,rotation:[0,0,-.0032691065367469463],parentId:"Ground",color:"#ffffff",locked:!0,textureTypes:["Facade #6","Facade #6","Facade #6","Facade #6","No Facade Texture","No Facade Texture"],normal:[0,0,1],lx:13.425069388064955,cx:-6.488470028429835,lz:17.712564465428184,type:"Cuboid",cy:.019620316414646233,id:"aj9AkMLHmiC7fiuGVPs4H7"},{ly:21.367362944163304,parentId:"Ground",textureType:"Foundation Texture #5",id:"nkyNmQGMpysyBAzvoXacg4",normal:[0,0,1],cz:.15,cy:-.6842314918166474,rotation:[0,0,0],locked:!0,selected:!1,cx:7.741690731109698,lx:8.748703583308991,type:"Foundation",lz:.3},{cz:.10000000074505806,normal:[0,1,0],cx:8.66688372110198,cy:-13.746548548931791,type:"Human",parentId:"Ground",rotation:[0,0,0],id:"4Vzhap6VgrCQ5NTbMiLqko",name:"Jacqueline",selected:!1,lx:.43,ly:.6,lz:1.78},{lz:18,id:"68fHvB4gguggDahyWhJ4SX",rotation:[0,0,0],locked:!0,parentId:"Ground",type:"Tree",normal:[0,1,0],lx:20,cz:.10000000074505806,cx:13.623011710923919,selected:!1,name:"Oak",cy:12.95292752972638},{textureType:"Foundation Texture #1",rotation:[0,0,0],normal:[0,0,1],id:"mB2npz1re5TLiTmp6dijK4",selected:!1,cz:.25,parentId:"Ground",lz:.5,cy:-.6991379361374314,locked:!0,lx:.5880095062712664,type:"Foundation",ly:22.361419422277052,cx:12.378216846473736},{textureType:"Foundation Texture #1",lz:.5,lx:8.699592487769063,cx:7.739060103053577,normal:[0,0,1],id:"6VQra4naAQFjguzsdBbGzc",selected:!1,ly:.5266260617381799,locked:!0,cz:.25,rotation:[0,0,0],parentId:"Ground",cy:-11.625239464321695,type:"Foundation"},{cx:7.752694722563858,parentId:"Ground",cz:.25,lz:.5,normal:[0,0,1],id:"56rJdSeQkFjNtFMq7H6UpX",textureType:"Foundation Texture #1",lx:8.679570997286799,type:"Foundation",selected:!1,rotation:[0,0,0],cy:10.194687286684449,ly:.5386483210241274},{id:"eU9g8aGc26unxecmNefMbn",locked:!0,cx:3.0473373691290284,lz:.5,type:"Foundation",normal:[0,0,1],cz:.25,parentId:"Ground",selected:!1,rotation:[0,0,0],ly:22.40023737998388,lx:.7052822924117278,textureType:"Foundation Texture #1",cy:-.7141009093628288},{parentId:"Ground",type:"Human",normal:[0,1,0],selected:!1,cy:-13.302409805647457,name:"June",id:"sRkZkptRmoDxYpUWxicUE2",cx:10.066230625457528,cz:.10000000074505806,rotation:[0,0,0],lx:.65,ly:.65,lz:1.85},{type:"Human",id:"27tFcVkJUEjzAmNC6yi8q6",name:"Jedi",cy:-17.39224604987067,rotation:[0,0,0],parentId:"Ground",cx:11.172877256337918,cz:.10000000074505806,normal:[0,1,0],selected:!1,lx:.56,ly:.56,lz:1.75},{cx:14.572429350273456,cz:.10000000074505762,rotation:[0,0,0],cy:-12.024223980842134,selected:!1,normal:[0,1,0],name:"Jose",parentId:"Ground",type:"Human",id:"h7GsvzmZmQv6Lgxa5TK46V",lx:2,ly:2,lz:1.6},{lx:5,parentId:"Ground",id:"at3dF6SQoavQM2mWXfaQoH",cz:.10000000074505895,rotation:[0,0,0],cy:21.229675112263504,normal:[0,1,0],type:"Tree",cx:1.973403675763489,locked:!0,lz:12,name:"Pine",selected:!1},{textureType:"Foundation Texture #2",id:"6gVMaHq7VLa19eqMVECxpG",ly:52.39119915791477,cz:.05,selected:!1,cx:-.6875232985680384,parentId:"Ground",locked:!0,type:"Foundation",rotation:[0,0,0],cy:2.56875991707771,normal:[0,0,1],lz:.1,lx:37.85599614878349},{cx:7.643885747803793,selected:!1,locked:!0,id:"h8TwAvSyLwtPBvqze5mwzf",lz:9,type:"Tree",cy:-21.507259849637833,parentId:"Ground",rotation:[0,0,0],cz:.10000000074505762,name:"Maple",lx:7,normal:[0,1,0]},{parentId:"Ground",lx:6,locked:!0,type:"Tree",rotation:[0,0,0],normal:[0,0,1],cy:-20.556927102277076,lz:7,cz:.10000000074505762,id:"ujafmePw8rQZjxB8qy62oa",name:"Maple",selected:!1,cx:12.405622304747324},{selected:!1,parentId:"Ground",id:"ckD1BgrHEqvMdo9aEBaYXU",type:"Human",rotation:[0,0,0],normal:[0,1,0],cy:-14.554057740143271,name:"Jaya",cz:.10000000074505806,cx:5.006550016327088,lx:.6,ly:.6,lz:1.55},{rotation:[0,0,0],name:"Judd",cy:-15.073100073321267,cx:12.689715112185674,parentId:"Ground",type:"Human",cz:.1000000007450585,normal:[0,1,0],selected:!1,id:"npocC3zf2QhLeKj6LeXJvL",lx:.544,ly:.544,lz:1.68},{cy:.5804724345884147,rotation:[0,0,0],lz:19.49711020919501,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:9.748555104597505,color:"gray",cx:-2.205872934036133,locked:!0,ly:.8534746756143718,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",lx:.828070336814001,id:"gdcpJkZkVZXJHaDmRtpFtw",selected:!1},{normal:[0,0,1],cz:10.253341514775366,color:"gray",parentId:"Ground",lz:20.506683029550732,type:"Cuboid",selected:!1,id:"wJkGWJoWEXDPm4p9rWMB3a",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,0],ly:.8534746756143718,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-2.105385998729491,lx:.828070336814001,cy:2.869274580105114,locked:!0},{ly:34.489830484403164,cx:-6.481696563939499,type:"Foundation",parentId:"Ground",lz:.3,cz:.15,rotation:[0,0,0],id:"38Wmw6REgfAAEs5HtLXUmy",selected:!1,normal:[0,0,1],cy:.05822819825317893,locked:!0,color:"#666666",lx:13.764674737343674},{relativeAzimuth:0,tiltAngle:.42308540045443915,poleSpacing:3,cx:.39547991802521515,cz:.5000000074505806,lz:.046,id:"2BhUXhGXtbxsUZ6RL3rXMW",trackerType:"None",orientation:"Portrait",pvModelName:"SPR-X21-335-BLK",showLabel:!1,lx:1.046,type:"Solar Panel",foundationId:"6gVMaHq7VLa19eqMVECxpG",poleHeight:2.6,cy:.0004767391535806561,normal:[0,0,1],selected:!1,ly:1.558,drawSunBeam:!1,rotation:[0,0,0],poleRadius:.05,parentId:"6gVMaHq7VLa19eqMVECxpG"},{type:"Flower",name:"Boxwood",cx:14.589782607955689,cy:-5.22248370768526,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"6LyjhRYrjyMM94sWFxmsqL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.487482209296324,cy:-7.284306500015294,cz:.05000000074505628,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cAUoEVfsJryF5CiN2bA6FF",selected:!1},{type:"Flower",name:"Boxwood",cx:14.656720218433037,cy:-3.0619235461512933,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"14ZankHi6YjP8eUwRAzc99",selected:!1},{type:"Flower",name:"Boxwood",cx:14.649968347802723,cy:-.5953981727630122,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cKDzu7CNMKytpxg8x9M4vH",selected:!1},{type:"Flower",name:"Boxwood",cx:14.465946083296767,cy:2.3705809858943816,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2nJegakb4Q3dsnpjrnazGL",selected:!1},{type:"Flower",name:"Boxwood",cx:14.535486123826292,cy:5.258763702004629,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"puhTw5YZiZX1mZayPv7eKr",selected:!1},{type:"Flower",name:"Boxwood",cx:14.562074464646393,cy:-9.421018376024211,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"3aFBjoFzTN38LjxnNVca94",selected:!1},{type:"Flower",name:"Boxwood",cx:14.48848671206672,cy:-11.828589152852121,cz:.050000000745059836,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ksddQtWpUymEExWqGah9pg",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.602082126220235,cy:-10.642654606813768,cz:.05000000074505628,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ftch5sGAxD2dLW85VDsCvD",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.574840162280765,cy:-13.130340588937553,cz:.05000000074506161,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"oVgmk99C2S2KZF2CFR1hGP",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.575588404543318,cy:-8.21343708444617,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"9uo3Ts1QDRhb3aomxt4V2f",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.557819941105063,cy:-6.106389769612514,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"agCMuQbpTFk2RqkwtebyV4",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.556683398866188,cy:-4.0576139533384525,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aFUE71bDFA2LjkNkJFEuii",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.64239387314273,cy:-1.7994645182621838,cz:.050000000745059836,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4Z9VuhUNw8DYwRbkqYhoHB",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.529383383564124,cy:.8679517875801537,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"nf7V66G4i2YFWuJXZENckj",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.581939017157946,cy:3.902214931587771,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"kKWrifvQ6fGtZhJmgPvL5X",selected:!1},{type:"Flower",name:"Hibiscus",cx:14.45704330414372,cy:6.704146476013747,cz:.05000000074505806,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"aL2Uhpp8HT6eUfWcMrtxWr",selected:!1},{type:"Flower",name:"Tall Bush",cx:-8.820527407137332,cy:-21.01555787918438,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"czSxXH8n5KnbYhnZp9414E",selected:!1},{type:"Flower",name:"Tall Bush",cx:-5.64492924344334,cy:-20.928730058607652,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"12s9PdvNM6rnixcYtcjVJm",selected:!1},{type:"Flower",name:"Tall Bush",cx:-2.4233695148043557,cy:-21.043064672162302,cz:.05000000074506161,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"fnbqxsK1LLgKaQxJEJtzGY",selected:!1},{type:"Flower",name:"Tall Bush",cx:.44859084832241436,cy:-21.025210125432253,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"5HDDx2HYGe5rU4vkYUjLkn",selected:!1},{type:"Flower",name:"Tall Bush",cx:-11.802690551407991,cy:-21.134263522232033,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ii2AHuBu7eNYp9zExhjpBk",selected:!1},{type:"Flower",name:"Hosta",cx:13.888302021073589,cy:-23.07433161468632,cz:.05000000074505806,lx:1,lz:.7,normal:[0,1,0],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"ry52Vu3ZtWa5Z5S4Cv3Fns",selected:!1},{type:"Flower",name:"Hosta",cx:13.000536079398454,cy:-23.90262067298287,cz:.05000000074505895,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2KvsyZDeNBQ15oEbTBWXTQ",selected:!1},{type:"Flower",name:"Hosta",cx:12.99992231969237,cy:-22.436277503833722,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"sBdHaZQt67kBAXxPrttrkC",selected:!1},{type:"Flower",name:"Hosta",cx:7.96155182885969,cy:-24.919269939427444,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"rErTYG7fvCUCgbP8phnFpb",selected:!1},{type:"Flower",name:"Hosta",cx:8.302339884724876,cy:-23.511029051299055,cz:.05000000074506161,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"qREs5pGeMh2bn8266bra52",selected:!1},{type:"Flower",name:"Hosta",cx:12.046100627532674,cy:-23.058422241294327,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"cFutgv9ep2vsCmwtcQ32FT",selected:!1},{type:"Flower",name:"Hosta",cx:7.459817492896914,cy:-23.89304923816075,cz:.050000000745059836,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"meCdn2mUx41JAdUmabe62e",selected:!1},{type:"Flower",name:"Hosta",cx:8.773287043648144,cy:-24.33842489149061,cz:.05000000074505806,lx:1,lz:.7,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"1zHSSdp6WfVgSDgmVd5A2g",selected:!1},{type:"Flower",name:"Peony",cx:15.825630097786828,cy:-25.16699394950085,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"xi2HuxsfZQnvPjTKPQxrbF",selected:!1},{type:"Flower",name:"Peony",cx:16.48091229260942,cy:-24.316745367707185,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"2Ake4uxrZPD3VybPtfduv3",selected:!1},{type:"Flower",name:"Peony",cx:16.886960727664686,cy:-25.34224361063938,cz:.05000000074505806,lx:1.5,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"6gVMaHq7VLa19eqMVECxpG",id:"4obU3fsBjpjfoLx69cK5C6",selected:!1}],vyn={heliodonPanelY:7,heliodon:!1,stickyNotePanelX:6,showHeliodonPanel:!1,yearlyLightSensorPanelX:-905,enableRotate:!0,dailyLightSensorPanelY:15,mapZoom:16,weatherPanelY:0,cameraZoom:15.47561875,groundPanelX:0,showSiteInfoPanel:!0,showYearlyPvYieldPanel:!1,stickyNotePanelY:0,yearlyLightSensorPanelY:70,showYearlyLightSensorPanel:!1,axes:!0,orthographic:!1,showWeatherPanel:!1,cameraPosition:[31.71971744843037,-16.83871990124489,7.439938736584827],mapTilt:0,showMapPanel:!1,autoRotate:!1,groundPanelY:0,mapWeatherStations:!1,showGroundPanel:!1,groundColor:"forestgreen",panCenter:[-1.577685546422091,.586908253253759,7.439938736584823],showInstructionPanel:!0,heliodonPanelX:-1235,dailyLightSensorPanelX:-19,shadowEnabled:!0,showStickyNotePanel:!1,showDailyPvYieldPanel:!1,groundImage:!1,mapType:"roadmap",showDailyLightSensorPanel:!1,theme:"Forest",weatherPanelX:0,cameraPosition2D:[.8790434579553117,3.516123829597026,50.00000351630349],panCenter2D:[.8790434579553117,3.5161738318194917,35163301233325335e-22]},xyn=1,byn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Syn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Tyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Pyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Cyn=[""],Ryn={docid:fyn,time:hyn,timestamp:pyn,userid:gyn,owner:myn,email:yyn,world:Ayn,elements:wyn,view:vyn,evolutionMethod:xyn,solarPanelArrayLayoutParams:byn,solarPanelArrayLayoutConstraints:Syn,evolutionaryAlgorithmState:Tyn,economicsParams:Pyn,notes:Cyn},Hyn="pxi9S4wGaGxiW2Q28M7prc",Myn="06/18/2023 07:07 pm",Iyn=1687129633099,zyn="QWecNcxhyvP6j6sBN11hBsfZDau1",Dyn=null,Eyn=null,kyn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 1:30:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Miami, FL, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:25.7616798,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-80.1917902},Fyn=[{type:"Wall",cx:-.5738138595304036,cy:4.010364625861682,cz:2.2408122612280286,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],rightJoints:["11Ltx28CSTVpm6gjZuBH9w"],leftPoint:[8.434062360302951,4.010364625861682,.1],rightPoint:[-9.581690079363758,4.010364625861682,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"n8LvMVp1hZ7BptmwrWpcMT",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.633496307266332,rightUnfilledHeight:4.633496307266332,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:8.434062360302947,cy:.16844568443230257,cz:2.2301039869226305,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["hndwqtrrygFvfqvBJrvZYu"],rightJoints:["n8LvMVp1hZ7BptmwrWpcMT"],leftPoint:[8.434062360302942,-3.673473256997076,.1],rightPoint:[8.434062360302951,4.010364625861682,.1],relativeAngle:1.5707963267948957,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"e5r2Cqz5K28ewHbKWcFnYZ",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.81107858935271,rightUnfilledHeight:4.81107858935271,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-9.581690079363758,cy:.16844568443230257,cz:2.228839888904333,lx:7.683837882858757,ly:.3,lz:9,leftJoints:["n8LvMVp1hZ7BptmwrWpcMT"],rightJoints:["hndwqtrrygFvfqvBJrvZYu"],leftPoint:[-9.581690079363758,4.010364625861682,.1],rightPoint:[-9.581690079363758,-3.673473256997076,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"11Ltx28CSTVpm6gjZuBH9w",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Partial",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.538993236656353,rightUnfilledHeight:4.538993236656353,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-.5738138595304036,cy:-3.673473256997076,cz:2.268765007024547,lx:18.01575243966671,ly:.3,lz:9,leftJoints:["11Ltx28CSTVpm6gjZuBH9w"],rightJoints:["e5r2Cqz5K28ewHbKWcFnYZ"],leftPoint:[-9.581690079363758,-3.673473256997076,.1],rightPoint:[8.434062360302951,-3.673473256997076,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"hndwqtrrygFvfqvBJrvZYu",parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",roofId:"cgHKR8ai6snf9XinDUWwjd",selected:!1,leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!1,fill:"Full",eavesLength:.4,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:1.328107295365207,cy:-2.32341538525935,cz:.05,lx:20.16561856842383,ly:11.725607943394946,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,locked:!0},{type:"Wall",cx:.31845175389180724,cy:5.51114190784781,cz:2.2408122612280286,lx:18.813654239419552,ly:.3,lz:4.56796601625556,leftJoints:["iDYhRA8ugGHkfhtK8qw34U"],rightJoints:["1nexviqMbEfx5qrHX1iQLA"],leftPoint:[9.725278873601583,5.51114190784781,0],rightPoint:[-9.088375365817969,5.51114190784781,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"gMAz3EG3wEtDDDZGez95Am",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:9.725278873601583,cy:-.00976103700472608,cz:2.2301039869226305,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["roDDPncXBpNgmNum9aUaov"],rightJoints:["gMAz3EG3wEtDDDZGez95Am"],leftPoint:[9.72527887360158,-5.530663981857262,0],rightPoint:[9.725278873601587,5.51114190784781,0],relativeAngle:1.570796326794896,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"iDYhRA8ugGHkfhtK8qw34U",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:-9.088375365817967,cy:-.00976103700472608,cz:2.228839888904333,lx:11.04180588970507,ly:.3,lz:4.56796601625556,leftJoints:["gMAz3EG3wEtDDDZGez95Am"],rightJoints:["roDDPncXBpNgmNum9aUaov"],leftPoint:[-9.088375365817964,5.51114190784781,0],rightPoint:[-9.088375365817969,-5.530663981857262,0],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"1nexviqMbEfx5qrHX1iQLA",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Wall",cx:.318451753891809,cy:-5.530663981857262,cz:2.268765007024547,lx:18.813654239419556,ly:.3,lz:4.56796601625556,leftJoints:["1nexviqMbEfx5qrHX1iQLA"],rightJoints:["iDYhRA8ugGHkfhtK8qw34U"],leftPoint:[-9.088375365817969,-5.530663981857262,0],rightPoint:[9.725278873601587,-5.530663981857262,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"roDDPncXBpNgmNum9aUaov",parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",roofId:"wCPmoV4VwkScF5K7cf32UD",selected:!1,leftRoofHeight:4.56796601625556,rightRoofHeight:4.56796601625556,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:0,locked:!1,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4.56796601625556,rightTopPartialHeight:4.56796601625556},{type:"Foundation",cx:.4107313024346143,cy:-1.9585431776860986,cz:.06,lx:24.334060214728257,ly:12.759991395526452,lz:.1370389804876668,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,locked:!0,enableGroupMaster:!0,notBuilding:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["roDDPncXBpNgmNum9aUaov"],ridgeWidth:.5,textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"axj9GVUBNvhnWAa3G8T3wG",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"wCPmoV4VwkScF5K7cf32UD",rise:.3478700995805717,ceiling:!1,locked:!0},{type:"Door",cx:-.13288221247108084,cy:0,cz:-.14054209286568672,lx:.2126115399537293,ly:0,lz:.7189158142686265,doorType:"Arched",archHeight:1.5,textureType:"Door Texture Default",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",id:"fTMHecXmkxoFyi5nVgZruF",filled:!1,locked:!0},{type:"Door",cx:.10630576997686465,cy:0,cz:-.14054209286568672,lx:.21261153995372933,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.429004247968055,normal:[0,1,0],rotation:[0,0,0],id:"thTY63emBWLui9mLZFtB5x",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:-.3587819736719182,cy:0,cz:-.14054209286568672,lx:.18603509745951316,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5,normal:[0,0,1],rotation:[0,0,0],id:"r7aX4f3HRkVXuNQaRxbPi1",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Door",cx:.3454937524248102,cy:0,cz:-.14054209286568672,lx:.21261153995372936,ly:0,lz:.7189158142686265,color:"white",textureType:"Door Texture Default",doorType:"Arched",archHeight:1.5000000000000002,normal:[0,1,0],rotation:[0,0,0],id:"h7dwAP8dsZbfjhXMRt294q",parentId:"roDDPncXBpNgmNum9aUaov",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!1,locked:!0},{type:"Window",cx:-.34549375242481023,cy:.1,cz:0,lx:.05315288498843229,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rdTv6Q4XaY2HL4w2ci3fB5",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.13288221247108084,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"pQxrSqKt4uEUL2dJPHShTY",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.13288221247108084,cy:.3,cz:0,lx:.05315288498843232,ly:.3,lz:.4378316285372531,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"atW2SL8otwncREw5PJhodr",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qbQ9QMk6Dj7o7JJCKkAhev",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"2VRD7a1NgLHaEmc9D9M6WC",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.27157505426375056,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"4oyLukiiczQdV1HoYtc4Fr",parentId:"iDYhRA8ugGHkfhtK8qw34U",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.09052501808791685,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"htUC2ciWSRkoYRYshdvzr9",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:-.31683756330770896,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"rRinSM2N5C3a63EVX8XwC3",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Window",cx:2010059187716281e-32,cy:.1,cz:-.06561865858420968,lx:.0905250180879169,ly:.3,lz:.38123731716841935,mullionSpacing:.5,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"aW33UVVm7iNu3o3dYVhWrc",parentId:"1nexviqMbEfx5qrHX1iQLA",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,mullionWidth:.06,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,locked:!0,windowType:"Default",archHeight:1},{type:"Door",cx:-.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,doorType:"Default",archHeight:1,textureType:"Door Texture #1",color:"#73d8ff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"ecLTLgAm2MxZyZRCJTtQKo",filled:!0,locked:!0},{type:"Door",cx:-.15264419341959357,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"bEeuNKM57K5x42NhRniwi6",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.12489070370694019,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"qEKCQ7EzsMMEDG8bv8fsum",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Door",cx:.3746721111208206,cy:0,cz:-.3611111111111111,lx:.08326046913796013,ly:0,lz:.2777777777777778,color:"#73d8ff",textureType:"Door Texture #1",doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"8wkxpiMCThpy9pWENNkhKk",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",selected:!1,filled:!0,locked:!0},{type:"Window",cx:-.3746721111208206,cy:.1,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"9Wg9qQLxZfpvdDjZ2VpjsU",locked:!0},{type:"Window",cx:-.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rj3NsBy5xBcFQpgf9yTyXN",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.12489070370694019,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdSr1YZAyCNR6oUkaHZMAg",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3746721111208206,cy:.3,cz:.25,lx:.08326046913796013,ly:.3,lz:.2777777777777778,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"asxeUzs2NaJ78jjx63TyyC",parentId:"hndwqtrrygFvfqvBJrvZYu",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!0,showRight:!0,color:"#009ce0",width:.5},selected:!1,locked:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["hndwqtrrygFvfqvBJrvZYu"],textureType:"No Roof Texture",color:"#f44e3b",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"3vsEsZfsBjGXDRnpzcE3dE",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",id:"cgHKR8ai6snf9XinDUWwjd",leftRidgeLength:4.503938109916677,rightRidgeLength:4.503938109916677,rise:2.5896529887286306,ceiling:!1,locked:!0},{type:"Human",name:"Jeanette",cx:.8591126899329264,cy:-9.396182210960866,cz:0,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"85Scr5g8mYtCpbKgKe9vrB",selected:!1,flip:!0,ly:.4,locked:!0},{type:"Human",name:"Jacob",cx:-.10555204032261312,cy:-9.416124087799197,cz:0,lx:.8,lz:1.82,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"3vrVERckAPTLoMt9TNeS2S",selected:!1,ly:.8,locked:!0},{type:"Window",cx:.34549375242481023,cy:.3,cz:0,lx:.05315288498843234,ly:.3,lz:.4378316285372531,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"cspu4NZcKs2zheso8YnaAG",parentId:"gMAz3EG3wEtDDDZGez95Am",foundationId:"axj9GVUBNvhnWAa3G8T3wG",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3607953662644939,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"vDt9VGvnvU9vePAfrLQMYJ",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16652093827592027,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hYQQWiCSxQgqR2XiFwQcHB",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1387674485632669,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"hgcEVbECbXF3rdyRi8jL7y",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3885488559771473,cy:.3,cz:.2884716244387647,lx:.05550697942530675,ly:.3,lz:.20083452890024844,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"ih1JWVrGZLFL47MHERTzyn",parentId:"n8LvMVp1hZ7BptmwrWpcMT",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"uACfjsfx3oFuHFL2K4wn6s",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1952149463416227,cy:.1,cz:.2777777777777778,lx:.13014329756108178,ly:.3,lz:.2222222222222222,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"jUW859PMX9WssNh7ajd7bW",parentId:"11Ltx28CSTVpm6gjZuBH9w",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26028659512216357,cy:.1,cz:.2777777777777779,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"9GK118ZSrqGs81r2c9DmJ9",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.26028659512216357,cy:.3,cz:.2777777777777777,lx:.13014329756108178,ly:.3,lz:.22222222222222243,mullion:!0,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#73d8ff",normal:[0,0,1],rotation:[0,0,0],id:"qMSMFHr6W7JY5LW4w6QRRk",parentId:"e5r2Cqz5K28ewHbKWcFnYZ",foundationId:"3vsEsZfsBjGXDRnpzcE3dE",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-13.833956304562825,cy:-5.734368757546395,cz:0,lx:10.296431730851847,lz:14.247937869417774,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"dhdL6enwuq52BCva98npwA",selected:!1,locked:!0},{type:"Tree",name:"Coconut",cx:-16.03648257210165,cy:-7.577405253611644,cz:-8881784197001252e-31,lx:6.4568591564721105,lz:8.433084547651115,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"oX2XaCFnUgccQdVNREDqjW",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:15.143629921921018,cy:-10.9460234939345,cz:0,lx:5.636076310522914,lz:7.988346597759666,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"gbweDZRVxLwqky2axf7Y8q",selected:!1,locked:!0},{type:"Tree",name:"Fan Palm",cx:14.372021459439786,cy:-8.787207002242742,cz:0,lx:6.791895714508713,lz:10.21869909939493,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sf29WMk4BaTsfLzkZNmVzH",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:2.428817756541367,cy:-10.484144416604128,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9DZLwc5PTpq9K9kFVPWuDb",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-1.9808700560460073,cy:-10.456723771199588,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tbLKA9nAkR1p2Y51NnR7Hz",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:-6.50706138180835,cy:-10.311129925272937,cz:-8881784197001252e-31,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mwwbjydsGANpRKQR1fPW3q",selected:!1,locked:!0},{type:"Flower",name:"Yellow Flower",cx:6.571598639052613,cy:-10.492326870561346,cz:0,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"c8AcvQkEYah3BNHFPjZ6U4",selected:!1,locked:!0},{type:"Polygon",cx:.039567390445074416,cy:-.26884665270178654,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.18603509745951316,y:-.4378316285372531},{x:-.18603509745951316,y:-.21891581426862655},{x:.23918798244794548,y:-.21891581426862655},{x:.2395673904450744,y:-.46884665270178655}],parentId:"roDDPncXBpNgmNum9aUaov",parentType:"Wall",foundationId:"axj9GVUBNvhnWAa3G8T3wG",selected:!1,filled:!0,selectedIndex:0,id:"jaEQvTPeDh2m31LB8RsyFG",text:"SPANISH TAVERN",fontSize:.7,fontColor:"gold",fontOutlineColor:"red",fontOutlineWidth:.05,noOutline:!0,opacity:0}],Lyn=24,Wyn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.12159863905262133,-1.1671768638939548,-12172309664404964e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.12159863905262133,-1.1673268705613518,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.450909722303011,-23.613178769130574,4.500139724117738],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:20.00000000000001,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[1.616638405874658,1.2781230776372128,4.313092868911078],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:360}},Nyn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Uyn=1,Byn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},jyn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Yyn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Oyn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},_yn="Unknown",Vyn=null,Gyn=null,Xyn=null,Jyn=[],Kyn={docid:Hyn,time:Myn,timestamp:Iyn,userid:zyn,owner:Dyn,email:Eyn,world:kyn,elements:Fyn,sceneRadius:Lyn,view:Wyn,graphState:Nyn,evolutionMethod:Uyn,solarPanelArrayLayoutParams:Byn,solarPanelArrayLayoutConstraints:jyn,evolutionaryAlgorithmState:Yyn,economicsParams:Oyn,modelType:_yn,modelAuthor:Vyn,modelLabel:Gyn,modelDescription:Xyn,notes:Jyn},qyn="8zyJg4GHQPZX9C7UX4st8J",$yn="03/18/2023 08:26 pm",Qyn=1679185608583,Zyn="QWecNcxhyvP6j6sBN11hBsfZDau1",e2n=null,t2n=null,n2n={solarRadiationHeatmapGridCellSize:1,date:"12/22/2022, 8:15:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Honolulu, HI, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:21.3098845,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-157.8581401},o2n=[{ly:16.927339965869773,solarUpdraftTower:{},parentId:"Ground",cx:-10.030961003153333,id:"m7AH7DcnoGzAq9kryBy4RS",cy:25.06053757796986,type:"Foundation",solarPowerTower:{},lx:36.13676163604105,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,-.7727629180414017],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:25.078696453594382,relativeAngle:3.141592653589793,lz:30,roofId:"1rg4qXk51s2D35ph8XqwbD",ly:.1,rightPoint:[-7.080024662598481,7.041260263727929,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",leftPoint:[17.998671790995903,7.041260263727929,0],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.459323564198711,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:7.041260263727929,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:17.998671790995893,leftPoint:[17.99867179099588,-4.904184303905874,0],cy:1.0685379799110275,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[17.998671790995903,7.041260263727929,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:11.945444567633803,normal:[0,0,1],lz:30,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,-.7727629180414017],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",roofId:"1rg4qXk51s2D35ph8XqwbD",color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{lx:11.945444567633803,windows:[],lz:30,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"1rg4qXk51s2D35ph8XqwbD",selected:!1,cy:1.0685379799110275,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],rotation:[0,0,-.7727629180414017],textureType:"No Wall Texture",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-7.080024662598481,7.041260263727929,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.1,cx:-7.080024662598481,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{showLabel:!1,cx:5.459323564198711,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[17.998671790995903,-4.904184303905874,0],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.904184303905874,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"1rg4qXk51s2D35ph8XqwbD",leftPoint:[-7.080024662598481,-4.904184303905874,0],normal:[0,0,1],ly:.1,lz:30,relativeAngle:0,rotation:[0,0,-.7727629180414017],lx:25.078696453594382,color:"#ffffe0",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:7.840470874398735,cy:5.490428888324286,cz:2.2408122612280286,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["aJzBKycDgPV2XFyreGUWbN"],rightJoints:["q3QyrcfYtaEUJUy3dDMe3o"],leftPoint:[16.217972334316947,5.490428888324284,.1],rightPoint:[-.5370305855194735,5.490428888324285,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"ajX6DE1iwh52m5aYDEnUZw",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:16.217972334316944,cy:-4.464643680942036,cz:19.195539088325102,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["vZvx6xJpNjwVutXgBYTqDu"],rightJoints:["ajX6DE1iwh52m5aYDEnUZw"],leftPoint:[16.21797233431694,-14.41971625020836,.1],rightPoint:[16.217972334316947,5.490428888324284,.1],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"aJzBKycDgPV2XFyreGUWbN",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.3867375122795052,cy:.1,cz:.10625,lx:.22099286415971733,ly:.3,lz:.7125,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wAVcmtVfsGGWzQD4FYwZNW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.44375,lx:.47714368398120766,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u5BLpPtdFZZZhqt5769cX6",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.44375,lx:.10045130189078055,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3kDRvtG74CSaYS7Hdz4Zf9",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.537030585519473,cy:-4.46464368094204,cz:2.228839888904333,lx:19.91014513853265,ly:.1,lz:40,leftJoints:["ajX6DE1iwh52m5aYDEnUZw"],rightJoints:["vZvx6xJpNjwVutXgBYTqDu"],leftPoint:[-.5370305855194735,5.490428888324285,.1],rightPoint:[-.5370305855194752,-14.419716250208367,.1],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"q3QyrcfYtaEUJUy3dDMe3o",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Wall",cx:7.840470874398735,cy:-14.419716250208364,cz:11.720703078908016,lx:16.75500291983642,ly:.1,lz:40,leftJoints:["q3QyrcfYtaEUJUy3dDMe3o"],rightJoints:["aJzBKycDgPV2XFyreGUWbN"],leftPoint:[-.5370305855194752,-14.419716250208367,.1],rightPoint:[16.21797233431694,-14.41971625020836,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"vZvx6xJpNjwVutXgBYTqDu",parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gvRT2kUN1YoGCZrBAosc54",selected:!1,leftRoofHeight:40,rightRoofHeight:40,locked:!1,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:40,rightTopPartialHeight:40},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.44375,lx:.4774693289088429,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jqoCSv6SGc3CUNj2d3NntP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.44375,lx:.11936733222721073,ly:.3,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fHoEdLPaiDXqCueBgeDdLS",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.36813175214922683,cy:.1,cz:.10500000000000001,lx:.24254861996467425,ly:.3,lz:.7150000000000001,mullion:!0,mullionWidth:.06,mullionSpacing:3,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cDtJU4W55HjRmy9cDhmm6R",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Human",name:"Jett",cx:22.405208091244,cy:-4.9072672102145285,cz:.07500000298023225,lx:.6,ly:.6,lz:1.85,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"fbbzRkZEo4AnT3QEsWR9oP",selected:!1},{type:"Foundation",cx:9.883909213954574,cy:18.92966595365953,cz:.075,lx:78.43901005555475,ly:71.09926407060658,lz:.15,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["q3QyrcfYtaEUJUy3dDMe3o","vZvx6xJpNjwVutXgBYTqDu","aJzBKycDgPV2XFyreGUWbN","ajX6DE1iwh52m5aYDEnUZw"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",id:"gvRT2kUN1YoGCZrBAosc54",locked:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.3,lz:.04999999999999994,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#009ce0",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"hXDYrzLkVvDyB5XjtNmnpF",locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.36875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rG1B3YDka8evv1iRX84o9o",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.2937500000000002,lx:.4774693289088429,ly:.1,lz:.037499999999999645,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3UNoma1dXsmygDK7CEMoeK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.21875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sd3EQKPdzkdU4oHrJHF6z6",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.14375,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tdS8P8P3u1nFnMkc5rhziK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:.06875,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fot8pwtoi6ibSjPGupS1qv",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.00625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6EhGwMTuUYnqbTApuPextU",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.08125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mQ1vMy6wk1K8zQ4XW25Pa4",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.15625,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xeQKnySzuUrMzG5a16tLkb",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.029841833056802682,cy:.1,cz:-.23125,lx:.4774693289088429,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XDU9fVCRxTJLcDoUD9Lh9",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:1,roofType:"Pyramid",roofStructure:"Default",wallsId:["8XDG3EHsQoX26MhuzwMYUM","2u4Fe7xnA6kkXXVGrQ4eyJ","skm8dNPSkFaVkoUwiPNfq1","cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#666666",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"1rg4qXk51s2D35ph8XqwbD",sideColor:"#666666",rise:0,ceiling:!1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"veFj2RPH9FK5Ao9iDG2JPQ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sjoT9VNZjDkgezWwtsvX1H",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c3CrejqQvGUvB3tz2qUtSs",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"54CDd5MyTY1sZku1AxjXiV",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bnfcGzXENjbkzh9kkmgCt1",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hLoimJgy8UQ7UMWdnPWQDr",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7HFCb3ZQu4czKjDhFmnHch",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qWx6AJBVMGYPJ4Ho1LMQem",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9CtXe67uSkntiJK3PdfzmF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jmVdqwU3fqhEGk97aQXYEX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wdnnALggwiP7UHfVhF7SWW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9qSb4G4eXKMLNk6b2Mnxjd",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fbXTujX2nC1dnrTNLQQaH2",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kPmU38jjwSfUUZCv9WNCNC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"miYw9uqZnfLViAeihqKiQU",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mdv9UVbG7EBitFdaYUkjsg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urvoEGE7cTq18MHrjMtEta",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aG4F7poaBiKo4FnvkesMid",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dpGTcBMRjsfms2X9nZ4kXB",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"r72et61W5MhwpaYEF75Lh8",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kfBYaXYAWc8NFLir41LMUf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sZ9pExZ3wnnmg8ersouQqR",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hsgq2SXxdCMQRiXuigpEnf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4cJ8Pgng6fBXRTX8WcXQVg",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bsGPA2UqEVe6SNCXBuagSF",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qoRwFevwZ3YYSnDdJLoDqH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4WEcGq6tGKDXcjGfvF3Tqi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ofgYdgnyE5KuECDZGdmjFD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHYCjB2xdehwowhrgYcS5c",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3Q2Wqp4rsyN89CVgnpPKCM",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oVMnTwRZ8JUb44CXEkjBYL",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"awSE1XUqEZc7Ryyr6ZQ76Y",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rVMR7tb7kXRnjoKHu2uyrZ",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ktvktsYRNrNC4YQGJQ65Vk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDgZnRfoyVP2YKQSiG96yP",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rZqeq8wo58QSrFmB3rpFBD",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kQER8EGDmLkbzKEnbH9AdE",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pHvp5WhRnmKrP1SER1BBPx",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aZrgq675xDvSLbDtUdwQsY",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jKtw1tdxJxcJphjEsWRmNW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jgu4jSQaAhhuBZyZoH81Vw",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gL3MbkYAkwWqHwKNVFfvjX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"43vK33D69FP5XTqiRyn5ZC",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5CKwKV9BkacegVoEPzvmNN",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6dszW4NvJ7dea2hEqvWvWt",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5wUE7YuTr5FaL5BKb5taCi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gUSBkoburdStT335zZGKSH",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qaz6Ru4mqUG7iJ4Ycd7F9n",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aC9jXjoijXwkzJe9GEmTWi",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"w4NVxvubCEgR8AigUi47sf",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"c2FMW9zjWRExPvuVGBX4HW",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"66P3KrsZHSZo36fXBYj8qX",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"kNFB5Lqn3mkhGj4vWLcpup",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"egzr7tMm23v6EusXDcg5hk",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fg88qYi3xQqiUry3XoMG94",parentId:"cV8MyCuhWAsvEyyFuVqVqg",foundationId:"m7AH7DcnoGzAq9kryBy4RS",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3879438297384349,cy:.1,cz:.36875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tfzr5KT4W9PhBL9cJ8zsaA",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.29375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"i6H6Xevamb9d4oXjeQCCVQ",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.21875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5XFRaVZReMkHmTkTRTsRuW",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.14375,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"57X6pPozmTcJNsHjWMZ2XK",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:.06875,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8bZz4FqqQe2bdV4WSMC6jm",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39520439262152746,cy:.1,cz:-.006462001517518967,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFyWDsDvxmZLpfKAZSAYx5",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.08125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEb8cJ6YhMAb9KuP8VjgKP",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.15625,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vWo8aVFrScBkGwhkRkYbFw",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.38794382973843494,cy:.1,cz:-.23125,lx:.11936733222721067,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ukpSgR2RV34eo2XfZVmUQx",parentId:"vZvx6xJpNjwVutXgBYTqDu",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.36875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"12QeRFNV1Hc4sRbkxeVHBz",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.29375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"aEhEPB9abuMwcNR6YEDDzo",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.21875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bahcDPtF8RkBJeqyW4uoBW",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.14375,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"j8CVLpwpSN8q6CwaZNU8f2",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:.06875,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xaiGSGs8MoAP2yqunEFz1t",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.00625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"2mWxcnyFJtKcRwpimCotCD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.08125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7fehkUWZ89tU27wVPAaQiD",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.15625,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cLjpkvrCHbUZQvi2ugMz7m",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06278206368173785,cy:.1,cz:-.23125,lx:.47714368398120766,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"775gLWKQ2CDxL24uAyMuJh",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.36875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sG6LtKnafZHdzPAsvV8PYJ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.29375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3JLF3stSYMjoSYPebvZ4PV",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.21875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs4CReuowYw4vhbQaajr1c",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.14375,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7q37MBnhP8o81q6wk5b4ev",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:.06875,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fYYQri43bTWAWzKm8CTjgx",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.00625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vVphvZY7TyNxocgdqGbqJG",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.08125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1x6vFAj3oANsndJiQWQqch",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.15625,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"amqZLKSwPYeveasoE38xPf",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4018052075631222,cy:.1,cz:-.23125,lx:.10045130189078055,ly:.1,lz:.0375,mullion:!0,mullionWidth:.06,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.08,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8pqGLYqiyyd3o5U4oTyKWQ",parentId:"aJzBKycDgPV2XFyreGUWbN",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-.6029509196285296,cy:4.363723699614781,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["buJzWWqdvseWMEsfiYMLMP"],rightJoints:["8SHv6CAA9xkRcfdve2aKJD"],leftPoint:[18.815291063862595,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"pbHN78JfkaYPi761T2RspW",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:18.815291063862578,cy:2.495382831879124,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["cthH5Q4t9AqYehpe6ssXrf"],rightJoints:["pbHN78JfkaYPi761T2RspW"],leftPoint:[18.815291063862563,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,4.363723699614781,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"buJzWWqdvseWMEsfiYMLMP",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-20.021192903119655,cy:2.495382831879124,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["pbHN78JfkaYPi761T2RspW"],rightJoints:["cthH5Q4t9AqYehpe6ssXrf"],leftPoint:[-20.021192903119655,4.363723699614781,.02095211693261273],rightPoint:[-20.021192903119655,.627041964143467,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"8SHv6CAA9xkRcfdve2aKJD",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-.6029509196285296,cy:.627041964143467,cz:2.268765007024547,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["8SHv6CAA9xkRcfdve2aKJD"],rightJoints:["buJzWWqdvseWMEsfiYMLMP"],leftPoint:[-20.021192903119655,.627041964143467,.02095211693261273],rightPoint:[18.815291063862595,.627041964143467,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],id:"cthH5Q4t9AqYehpe6ssXrf",parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pHTF23CfLXLueNE1tagt35",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{id:"pHTF23CfLXLueNE1tagt35",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"qxAJALKsgHR99QXiiey2Jy",foundationId:"qxAJALKsgHR99QXiiey2Jy",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["buJzWWqdvseWMEsfiYMLMP","pbHN78JfkaYPi761T2RspW","8SHv6CAA9xkRcfdve2aKJD","cthH5Q4t9AqYehpe6ssXrf"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:-2.457987770512858,cy:8.5745044622651,cz:.05,lx:43.13213840818644,ly:9.617341850294016,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"qxAJALKsgHR99QXiiey2Jy",selected:!1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.5021051858499441,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"wvo4rWSpdYajq7orMpbxwv",windowType:"Default",archHeight:1},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#4d4d4d",opacity:.9,normal:[0,0,1],rotation:[0,0,0],parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",id:"7yzuNTr1nHZ9M3xoVT6avS",windowType:"Default",archHeight:1},{type:"Window",cx:-.4570444640428979,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5QTwW8m9wGX6HGnbLPxKyJ",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.39910925029098127,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"hs42cyfWo4jmy3NRKUXRUF",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3411740365390646,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"xwaNrD73kLoXPJvKgQmEMf",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2832388227871479,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5fsUwbpNYhCT9veH1pJuBb",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.22530360903523122,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"67uFrhX3jmZgG5Uwx5UZkn",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.16736839528331454,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9c8dBuEjRjp1p1S8dhEcnt",parentId:"cthH5Q4t9AqYehpe6ssXrf",foundationId:"qxAJALKsgHR99QXiiey2Jy",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Wall",cx:-1.4056682810734662,cy:6.875194394376913,cz:2.2408122612280286,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["dzHmrowq7VzT13tXyJ2UqF"],rightJoints:["pHKTjESURrdXxEMpYFEvmj"],leftPoint:[11.133679945723728,6.875194394376912,.1],rightPoint:[-13.945016507870662,6.875194394376912,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sVQKrHhSTfNeVTVVzVgh8h",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:11.13367994572371,cy:.9024721105600149,cz:2.2301039869226305,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["knjx4z8fKUVQF38Tr2D5YR"],rightJoints:["sVQKrHhSTfNeVTVVzVgh8h"],leftPoint:[11.1336799457237,-5.070250173256886,.1],rightPoint:[11.133679945723728,6.875194394376912,.1],relativeAngle:1.5707963267948946,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"dzHmrowq7VzT13tXyJ2UqF",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.945016507870664,cy:.9024721105600122,cz:2.228839888904333,lx:11.945444567633803,ly:.1,lz:30,leftJoints:["sVQKrHhSTfNeVTVVzVgh8h"],rightJoints:["knjx4z8fKUVQF38Tr2D5YR"],leftPoint:[-13.945016507870662,6.875194394376912,.1],rightPoint:[-13.945016507870662,-5.070250173256887,.1],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"pHKTjESURrdXxEMpYFEvmj",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-1.4056682810734649,cy:-5.0702501732568885,cz:2.268765007024547,lx:25.078696453594382,ly:.1,lz:30,leftJoints:["pHKTjESURrdXxEMpYFEvmj"],rightJoints:["dzHmrowq7VzT13tXyJ2UqF"],leftPoint:[-13.945016507870662,-5.070250173256887,.1],rightPoint:[11.13367994572373,-5.070250173256887,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"knjx4z8fKUVQF38Tr2D5YR",parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"njRXPjHAzFuEQzFQaKio93",selected:!1,leftRoofHeight:30,rightRoofHeight:30,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Window",cx:.4386192887000486,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uJ5VXB9mJCHeVMURUphT8T",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wnK1hkWv21nCd1Utptm2Ei",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pEvywZty9TJkaURwjtVySg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tWq4HyTuGAuAN6dd6GPS2N",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"24XsGn6puXsJxiC1CXzcBv",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pkcczmXvVUiEdpQApgmexY",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"sa92opTQVGVahjcKdrQYNu",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75MHEhXJJecJXb1MEFATcp",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.4583333333333333,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6nqrXQt9q6iMswTzGidgHb",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"b1foK7N1uzozAzTNBXGmZB",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nJJ7PvwzGmhWVcxY9bet36",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vj5w5TDBurYnrHfJcc9FLw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"qYve9T714wdvYeg4ZURztj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"u95CGNREXr1JhsDomK6oUP",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h31BtoerjLiQ4Ph2duYsTc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.35833333333333334,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9dxvQwRi6mWsaWRPC67F9D",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"rjRNUHYRmb3eWDV9hgNPgk",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"9S42HWD1ZPYw28WUgncNJg",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"6z3whdKeQxDdJsZmhQ5kkh",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oJTfPHNAtBzrf2iJENqHK6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"31jBrsSiuVnoBUL9zp8ca6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4MbQ64c8HUZrvfYs3kgE6b",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8EW5KxGCVAJwrRFzn2isg8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.25833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pFyHWVuvzXQH1TQ1JhYRAx",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8AjjyhHzBJtzfxgCpuWX7d",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"s1sVDPm2cHt3fumjgcwoek",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wvpWMkzuKAKaviPUsqwQGa",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4inH8BAKWrcqZKNbaRb4ZX",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fsV7H7ZmN4jx2WUQX2f5zs",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"55E9hvsT1rzmJ6fT3m6NcG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uKLeQgpSELANVT2TRKNsAf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.15833333333333335,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"nY9NDsN8rJhMi99gzYKtWJ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5uo11zCRNj9YohSCdvoz6U",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1Kr3EHJrBneewC46BaE2Ph",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ov5R5oyJBGiQGjspTURXyd",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jaeqZUoGssJAoAxW2E91xj",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"dYrh6yCuHp4rN3uYNhLJPq",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eJmoE9srUeuBcYJBZHqYQ6",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wniuB8XsQisBLpGGqQxkBF",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:.05833333333333336,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"o4XtWQqdKQ78Q8CKjzjKHW",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"7s5FfAfve61p7zKukxPALw",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"8gF1BVyyyBHomFZH7wzdah",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"e8uDpgzMYfsmnhjaNLhBhr",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fzA8v8aP7HzsfsJ5jvVku9",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gPBz88neav7bwpPYBatUzf",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bLjvQy84YUL9NshZ2ECHsZ",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"wy5NXYh5x3qLXD7T41WQtG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.04166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"urCTjPq8RemHnQPB5atkfH",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4386192887000486,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ijGpbm5vZNXcurEfDWRTEi",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.3189958463273081,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"gFaxtGtjGoAmXwz4kcD2mV",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.19937240395456757,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eNkrUnU9y5cm2pN62nhxuL",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.07974896158182704,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5xow2hbgFrKWpxhPpsF2oG",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.03987448079091349,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"ittnJX2spdpmthzEKvTSta",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.15949792316365402,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4grVoSbeCwgTF2pxNsMb8",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.27912136553639455,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cSY4kfnQdndkFPFy82Fgbc",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3987448079091351,cy:.1,cz:-.14166666666666664,lx:.07974896158182702,ly:.1,lz:.04999999999999994,mullion:!0,mullionWidth:.1,mullionSpacing:2,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXgqNm5fVVjFB6dfyXDq3i",parentId:"knjx4z8fKUVQF38Tr2D5YR",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",tint:"#009ce0",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"njRXPjHAzFuEQzFQaKio93",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"bPEF7Uhqc8jpoTSmhKDVeo",foundationId:"bPEF7Uhqc8jpoTSmhKDVeo",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:1,wallsId:["dzHmrowq7VzT13tXyJ2UqF","sVQKrHhSTfNeVTVVzVgh8h","pHKTjESURrdXxEMpYFEvmj","knjx4z8fKUVQF38Tr2D5YR"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:31.408586983997502,cy:25.06147299717385,cz:.05,lx:29.014724156297994,ly:16.595208227167745,lz:.1,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bPEF7Uhqc8jpoTSmhKDVeo",selected:!1},{type:"Wall",cx:-2.172089616054159,cy:4.269527680689553,cz:2.2408122612280286,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["sR2ork3jG2mR5nZkK6KFeD"],rightJoints:["wRcqTTshgLb8rN6th4Gpqm"],leftPoint:[17.246152367436963,4.269527680689554,.02095211693261273],rightPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"k9HzM68Yarpc7nfmHcL8RX",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:17.24615236743695,cy:2.4011868129538962,cz:2.2301039869226305,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["3VZZxMzA1BHxrWmzs6HKLa"],rightJoints:["k9HzM68Yarpc7nfmHcL8RX"],leftPoint:[17.246152367436935,.532845945218239,.02095211693261273],rightPoint:[17.246152367436963,4.269527680689554,.02095211693261273],relativeAngle:1.5707963267948881,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"sR2ork3jG2mR5nZkK6KFeD",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-21.590331599545284,cy:2.4011868129538976,cz:2.228839888904333,lx:3.736681735471314,ly:.1,lz:8,leftJoints:["k9HzM68Yarpc7nfmHcL8RX"],rightJoints:["3VZZxMzA1BHxrWmzs6HKLa"],leftPoint:[-21.590331599545284,4.2695276806895555,.02095211693261273],rightPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"wRcqTTshgLb8rN6th4Gpqm",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Wall",cx:-2.1720896160541585,cy:.5328459452182414,cz:.5,lx:38.83648396698225,ly:.1,lz:8,leftJoints:["wRcqTTshgLb8rN6th4Gpqm"],rightJoints:["sR2ork3jG2mR5nZkK6KFeD"],leftPoint:[-21.590331599545284,.5328459452182401,.02095211693261273],rightPoint:[17.246152367436963,.532845945218239,.02095211693261273],relativeAngle:0,textureType:"No Wall Texture",color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],id:"3VZZxMzA1BHxrWmzs6HKLa",parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pZTS1LtmxQ4iRLvvo2k6FG",selected:!1,leftRoofHeight:8,rightRoofHeight:8,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{type:"Window",cx:-.1094331815313981,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5Fjqy9y1YfpweWd3F1suvT",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:-.32829954459419425,cy:.1,cz:-.03125,lx:.3218622986217591,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"75HCZhhPHELWXwGW5h2WPD",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{id:"pZTS1LtmxQ4iRLvvo2k6FG",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#666666",normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"mEAgnYYx5Vpv2wQEcaoDS8",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["sR2ork3jG2mR5nZkK6KFeD","k9HzM68Yarpc7nfmHcL8RX","wRcqTTshgLb8rN6th4Gpqm","3VZZxMzA1BHxrWmzs6HKLa"],selected:!1,sideColor:"#666666",rise:0,ceiling:!1},{type:"Foundation",cx:27.68901540648673,cy:11.617892532194158,cz:.05,lx:46.2704158010377,ly:9.428949812443559,lz:.02095211693261273,normal:[0,0,1],rotation:[0,0,.7980334087534946],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mEAgnYYx5Vpv2wQEcaoDS8",selected:!1},{type:"Window",cx:-.05149796777948146,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"woWw7XGUm4xqUAFSTaxp7s",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.006437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"p72g5k8odqsgTDtjZrUT8a",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.06437245972435182,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"pRepfQdGpU9sdbgLJsfdTe",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.12230767347626846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5oab4a82csybhPKBpwXVfB",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.1802428872281851,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"buq5YaVMEosHyRoKSUbsVt",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.23817810098010178,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"efAnUu4mYbWRhdGHs3mZi9",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.29611331473201846,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"jyJM6MGuMRcai6pbrb3Cin",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.35404852848393514,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5cDm82FkWrYhcDPVSU84Ve",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.4119837422358518,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mC7TrBSkmqNWk58epxFszN",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Window",cx:.46991895598776845,cy:.1,cz:-.03125,lx:.03862347583461109,ly:.1,lz:.8125,mullion:!0,mullionWidth:.1,mullionSpacing:5,mullionColor:"#999999",frame:!1,frameWidth:.05,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"eAGg5HRuXspYe6baEw1Pd4",parentId:"3VZZxMzA1BHxrWmzs6HKLa",foundationId:"mEAgnYYx5Vpv2wQEcaoDS8",tint:"#4d4d4d",opacity:.9,shutter:{showLeft:!1,showRight:!1,color:"#aea1ff",width:.3},selected:!1,windowType:"Default",archHeight:1},{type:"Tree",name:"Coconut",cx:29.772169703668084,cy:3.13936308626816,cz:.075,lx:14.520625349385156,lz:15.546086109013482,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"awZFHKX9S4YwAMjbSq1yte",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:29.969020753546168,cy:-14.890022732958304,cz:.075,lx:11.801916444038328,lz:14.712241097320083,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"oXudTEZFdmZo2c8EsbRpo1",selected:!1},{type:"Tree",name:"Coconut",cx:30.340707732263212,cy:22.863697403310276,cz:.075,lx:11.799635641951403,lz:18.03518550107995,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1PFc7JhaMeKKaCbh4JY7pw",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:-5.622533214526047,cy:-26.68161954425443,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"ghtAJzyWZvFaBBUqp1aRCj",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:10.296218935380278,cy:-27.603318709603634,cz:.075,lx:8.431050051779376,lz:14.44899202269211,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"g6oua2UeBCgiNbB146Y9vt",selected:!1},{type:"Tree",name:"Coconut",flip:!0,cx:25.84939972102471,cy:-26.971930698353695,cz:.075,lx:11.801916444038328,lz:17.69875674824313,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"qX2bGrx3fNBzBZKpMfQVvM",selected:!1},{type:"Tree",name:"Coconut",flip:!1,cx:-20.99614909921928,cy:-27.25943651847644,cz:.075,lx:10.446668331936932,lz:15.66063540678114,normal:[0,0,1],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"vbLVgvpnWHhnRd9uUf7sV8",selected:!1},{type:"Human",name:"Jacqueline",cx:16.26014984241543,cy:-19.603129566992923,cz:.075,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7727629180414017],parentId:"hM4gzHVfAcT1HDeDhXqfQE",id:"1k2jiRJ9Za2yVNkgRYdhKs",selected:!1,ly:.43},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:.27624108019964655,y:-.5},{x:.27624108019964655,y:-.4625},{x:.5022565094539028,y:-.4625},{x:.5022565094539028,y:-.5}],parentId:"aJzBKycDgPV2XFyreGUWbN",parentType:"Wall",foundationId:"hM4gzHVfAcT1HDeDhXqfQE",selected:!1,filled:!0,selectedIndex:0,id:"hvwazXjoHjWT4TxByg9aJo",text:"OCEANIC",fontColor:"red",fontSize:1,noOutline:!0,opacity:0}],i2n=90,r2n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[20.405612129997095,28.227763446481866,28229018151188892e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[20.405612129997095,28.22761343981447,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[37.702769068930394,-75.97521031128004,17.83040709876231],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#0c797d",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[15.19436480647435,27.872451314228233,14.077650267491105],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,directLightIntensity:2},a2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},l2n=1,s2n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},c2n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},u2n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},d2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},f2n="Unknown",h2n=null,p2n=null,g2n=null,m2n=[],y2n={docid:qyn,time:$yn,timestamp:Qyn,userid:Zyn,owner:e2n,email:t2n,world:n2n,elements:o2n,sceneRadius:i2n,view:r2n,graphState:a2n,evolutionMethod:l2n,solarPanelArrayLayoutParams:s2n,solarPanelArrayLayoutConstraints:c2n,evolutionaryAlgorithmState:u2n,economicsParams:d2n,modelType:f2n,modelAuthor:h2n,modelLabel:p2n,modelDescription:g2n,notes:m2n},A2n="iTjDf3ar2Wi1xMDNhVPun5",w2n="02/03/2023 08:02 pm",v2n=1675472536455,x2n="QWecNcxhyvP6j6sBN11hBsfZDau1",b2n=null,S2n=null,T2n={daysPerYear:4,noAnimationForSolarPanelSimulation:!0,longitude:-73.177891,sutTimesPerHour:4,noAnimationForSolarUpdraftTowerSimulation:!1,diurnalTemperatureModel:1,discretization:"Approximate",sutDaysPerYear:4,sutGridCellSize:1,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,pvGridCellSize:.5,noAnimationForSensorDataCollection:!1,name:"default",cspGridCellSize:.5,dustLoss:.05,solarRadiationHeatmapGridCellSize:5,latitude:44.454924,cspDaysPerYear:4,date:"5/22/2022, 1:00:00 PM",address:"550 Dorset St, South Burlington, VT 05403, USA",ground:{thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3},airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,timesPerHour:2,airConvectiveCoefficient:5,noAnimationForHeatmapSimulation:!0},P2n=[{rotation:[0,0,.11344640137963143],lx:42.0955259862511,cy:-46.54215234653224,type:"Cuboid",ly:34.92675303840907,id:"qsPqX4eMRADWLb6uFzZyu3",cz:6.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",locked:!0,selected:!1,cx:1.8084891171279258,color:"#e27300",lz:13,faceColors:["#e27300","#e27300","#e27300","#e27300","#d0d7da","gray"],normal:[0,0,1]},{rotation:[0,0,.11344640137963143],type:"Cuboid",ly:3.86445911605994,faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],id:"15SnZzWbRga2YXQjrHrMoH",locked:!0,parentId:"Ground",cx:23.280210785776593,color:"#e27300",cz:3.5,selected:!1,normal:[0,0,1],lz:7,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-63.54853637545297,lx:12.707438928677645},{cx:-33.686845121145325,ly:21.436523356683622,id:"jeaVPPnZw5Ed7yuuYuFjT4",cz:3.5,color:"#e27300",locked:!0,lx:60,parentId:"Ground",type:"Cuboid",selected:!1,cy:5.924352450279141,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","Facade #1","Facade #1","No Facade Texture","No Facade Texture"],lz:7,rotation:[0,0,-.22689280275926285],faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"]},{locked:!0,lz:7,selected:!1,rotation:[0,0,.47123889803846897],lx:70,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],ly:22.005759208164513,parentId:"Ground",cy:16.732974312474486,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"w8SzPJTBSBctdCdhPMiQ8Y",color:"#e27300",type:"Cuboid",normal:[0,0,1],cx:34.50919214417893,cz:3.5},{lz:.1,normal:[0,0,1],locked:!0,type:"Foundation",cz:.05,ly:33.24144899129459,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,cy:6.225878764069708,solarUpdraftTower:{},solarAbsorberPipe:{},id:"pAENrJmYZCM1ckJVXJhbjf",cx:-3.0110805900742577,solarPowerTower:{},lx:33.143096812026116},{cy:13,rotation:[0,0,0],leftRoofHeight:8,id:"etH6khoAQcue7DhdL3hKE4",windows:[],type:"Wall",leftPoint:[7.5,12,0],lineWidth:.2,leftJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],ly:.3,rightJoints:["kDgsBFAdDRYMKBfw4NrZmC"],color:"#e27300",lx:8.24621125123532,relativeAngle:2.896613990462928,normal:[0,0,1],showLabel:!1,lz:8,cx:3.5000000000000004,textureType:"Wall Texture Default",rightPoint:[-.49999999999999944,14,0],lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightRoofHeight:8,parentId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{relativeAngle:1.9379701606131157,rightJoints:["etH6khoAQcue7DhdL3hKE4"],cx:10,lx:13.928388277184117,leftPoint:[12.5,-1,0],normal:[0,0,1],id:"8bjxpu3YEF3xWPcrbQwkhJ",roofId:"k6bth8F9WX1VG1Z9xWAtQv",type:"Wall",rightPoint:[7.5,11.999999999999998,0],lineColor:"black",textureType:"Wall Texture Default",leftJoints:["78z2ecrQQgcHrHfygTZ9jK"],leftRoofHeight:8,rightRoofHeight:8,showLabel:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cy:5.499999999999999,color:"#e27300",lz:8,cz:0,windows:[],selected:!1,rotation:[0,0,0],locked:!0,ly:.3,parentId:"pAENrJmYZCM1ckJVXJhbjf",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineWidth:.2,normal:[0,0,1],selected:!1,cx:11.75,rightPoint:[12.5,-1,0],rightJoints:["8bjxpu3YEF3xWPcrbQwkhJ"],id:"78z2ecrQQgcHrHfygTZ9jK",rotation:[0,0,0],textureType:"Wall Texture Default",leftJoints:["mDkaCjWbyiM41dnmEVWdxy"],parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],leftPoint:[11,-10.5,0],leftRoofHeight:8,lx:9.617692030835672,lineColor:"black",lz:8,color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",locked:!0,showLabel:!1,roofId:"k6bth8F9WX1VG1Z9xWAtQv",relativeAngle:1.4141944498128813,rightRoofHeight:8,ly:.3,cz:0,type:"Wall",cy:-5.75,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{rotation:[0,0,0],relativeAngle:3.402195045337134,foundationId:"pAENrJmYZCM1ckJVXJhbjf",cx:-4.249999999999999,cy:13,color:"#e27300",lineWidth:.2,lineColor:"black",showLabel:!1,textureType:"Wall Texture Default",rightJoints:["hK2wY1qjEVKHhT5eT1oyYc"],locked:!0,windows:[],rightPoint:[-8,12,0],lz:8,id:"kDgsBFAdDRYMKBfw4NrZmC",type:"Wall",leftJoints:["etH6khoAQcue7DhdL3hKE4"],lx:7.762087348130014,ly:.3,rightRoofHeight:8,selected:!1,parentId:"pAENrJmYZCM1ckJVXJhbjf",cz:0,leftPoint:[-.49999999999999856,14,0],leftRoofHeight:8,roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,locked:!0,showLabel:!1,leftRoofHeight:8,cx:-9.75,rightRoofHeight:8,rotation:[0,0,0],id:"hK2wY1qjEVKHhT5eT1oyYc",leftJoints:["kDgsBFAdDRYMKBfw4NrZmC"],cz:0,relativeAngle:4.375714160997962,leftPoint:[-8.000000000000002,11.999999999999998,0],normal:[0,0,1],textureType:"Wall Texture Default",cy:6.999999999999999,lz:8,windows:[],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rightJoints:["b4LV4TTeCfWqyehosbTDfi"],lx:10.594810050208544,rightPoint:[-11.5,2,0],color:"#e27300",selected:!1,type:"Wall",parentId:"pAENrJmYZCM1ckJVXJhbjf",roofId:"k6bth8F9WX1VG1Z9xWAtQv",lineWidth:.2,lineColor:"black",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",normal:[0,0,1],rightRoofHeight:8,lz:8,cy:-12.749999999999998,ly:.3,id:"mDkaCjWbyiM41dnmEVWdxy",leftPoint:[1,-15,0],lx:10.965856099730656,textureType:"Wall Texture Default",type:"Wall",showLabel:!1,rightPoint:[11,-10.499999999999996,0],rightJoints:["78z2ecrQQgcHrHfygTZ9jK"],lineWidth:.2,selected:!1,foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],color:"#e27300",cx:6,relativeAngle:.4228539261329409,locked:!0,parentId:"pAENrJmYZCM1ckJVXJhbjf",windows:[],cz:0,leftJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{normal:[0,0,1],leftPoint:[-11.499999999999998,2,0],rightRoofHeight:8,leftJoints:["hK2wY1qjEVKHhT5eT1oyYc"],parentId:"pAENrJmYZCM1ckJVXJhbjf",lx:12.257650672131263,type:"Wall",selected:!1,lz:8,cx:-10.25,relativeAngle:4.917784369574457,id:"b4LV4TTeCfWqyehosbTDfi",rightJoints:["2og8Xo997HNRwLdj5mnKCf"],leftRoofHeight:8,rightPoint:[-9,-10,0],color:"#e27300",foundationId:"pAENrJmYZCM1ckJVXJhbjf",ly:.3,cz:0,rotation:[0,0,0],showLabel:!1,locked:!0,cy:-4,lineColor:"black",roofId:"k6bth8F9WX1VG1Z9xWAtQv",windows:[],textureType:"Wall Texture Default",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{ly:.3,leftPoint:[-8.999999999999996,-9.999999999999996,0],foundationId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],cz:0,textureType:"Wall Texture Default",lx:11.180339887498947,roofId:"k6bth8F9WX1VG1Z9xWAtQv",rightJoints:["mDkaCjWbyiM41dnmEVWdxy"],showLabel:!1,id:"2og8Xo997HNRwLdj5mnKCf",lineWidth:.2,lz:8,windows:[],normal:[0,0,1],parentId:"pAENrJmYZCM1ckJVXJhbjf",selected:!1,cy:-12.499999999999998,locked:!0,leftJoints:["b4LV4TTeCfWqyehosbTDfi"],color:"#e27300",cx:-3.9999999999999982,lineColor:"black",rightPoint:[1,-15,0],relativeAngle:5.81953769817878,leftRoofHeight:8,type:"Wall",rightRoofHeight:8,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:8,rightTopPartialHeight:8},{cz:0,locked:!0,selected:!1,cx:0,type:"Roof",id:"k6bth8F9WX1VG1Z9xWAtQv",wallsId:["8bjxpu3YEF3xWPcrbQwkhJ","etH6khoAQcue7DhdL3hKE4","kDgsBFAdDRYMKBfw4NrZmC","hK2wY1qjEVKHhT5eT1oyYc","b4LV4TTeCfWqyehosbTDfi","2og8Xo997HNRwLdj5mnKCf","mDkaCjWbyiM41dnmEVWdxy","78z2ecrQQgcHrHfygTZ9jK"],textureType:"No Roof Texture",thickness:.2,showLabel:!1,lineWidth:.2,lineColor:"black",normal:[0,0,1],roofType:"Pyramid",lx:0,color:"#bbc0c4",parentId:"pAENrJmYZCM1ckJVXJhbjf",rotation:[0,0,0],ly:0,cy:0,foundationId:"pAENrJmYZCM1ckJVXJhbjf",lz:0,sideColor:"#bbc0c4",rise:0,ceiling:!1},{id:"bJhvoWT5frHADN5rpErFAp",type:"Foundation",solarUpdraftTower:{},parentId:"Ground",solarAbsorberPipe:{},locked:!0,ly:20.929643657953434,cx:-14.3191636352593,lx:30.96479094015392,lz:.1,normal:[0,0,1],solarPowerTower:{},cy:-19.246790495991178,selected:!1,cz:.05,rotation:[0,0,.11344640137963143]},{showLabel:!1,selected:!1,leftJoints:["u3McT1xxp22V2ArAdyDW3J"],windows:[],textureType:"Wall Texture Default",foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],normal:[0,0,1],lz:12,relativeAngle:2.8068558162729786,id:"wERFjjYFCWERMhNEB9iuoK",cz:0,type:"Wall",lineWidth:.2,leftRoofHeight:12,locked:!0,parentId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",ly:.3,rightRoofHeight:12,lineColor:"black",leftPoint:[12.5,5.5,0],cx:6.75,rightPoint:[.9999999999999996,9.5,0],rightJoints:["7dQxN3e4X8QdrAXYYEN8WG"],cy:7.5,roofId:"nGgWDMiF4t3mFWmEvV3G6V",lx:12.175795661885921,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{color:"#e27300",leftJoints:["pcWBDfha4S8aWQ8R18i4nV"],foundationId:"bJhvoWT5frHADN5rpErFAp",rotation:[0,0,0],lz:12,id:"u3McT1xxp22V2ArAdyDW3J",parentId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",cz:0,cy:-4440892098500626e-31,leftRoofHeight:12,relativeAngle:1.5707963267948966,lx:11,selected:!1,locked:!0,ly:.3,rightRoofHeight:12,textureType:"Wall Texture Default",roofId:"nGgWDMiF4t3mFWmEvV3G6V",windows:[],normal:[0,0,1],leftPoint:[12.5,-5.5,0],type:"Wall",rightJoints:["wERFjjYFCWERMhNEB9iuoK"],showLabel:!1,cx:12.5,rightPoint:[12.5,5.499999999999999,0],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],lineWidth:.2,lx:11.067971810589325,windows:[],selected:!1,textureType:"Wall Texture Default",cx:7.249999999999998,rightPoint:[12.499999999999996,-5.499999999999999,0],cz:0,id:"pcWBDfha4S8aWQ8R18i4nV",showLabel:!1,relativeAngle:.32175055439664213,parentId:"bJhvoWT5frHADN5rpErFAp",leftPoint:[2,-9,0],rightRoofHeight:12,rightJoints:["u3McT1xxp22V2ArAdyDW3J"],foundationId:"bJhvoWT5frHADN5rpErFAp",lineColor:"black",leftRoofHeight:12,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rotation:[0,0,0],color:"#e27300",type:"Wall",ly:.3,cy:-7.25,leftJoints:["6ue5PfovkzS53Qu47dbJ2S"],lz:12,locked:!0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{windows:[],leftJoints:["wERFjjYFCWERMhNEB9iuoK"],roofId:"nGgWDMiF4t3mFWmEvV3G6V",showLabel:!1,cx:-5.5,relativeAngle:3.541833310623767,normal:[0,0,1],rightRoofHeight:12,lz:12,leftPoint:[.9999999999999996,9.5,0],parentId:"bJhvoWT5frHADN5rpErFAp",locked:!0,lineColor:"black",id:"7dQxN3e4X8QdrAXYYEN8WG",rightPoint:[-12,4,0],rightJoints:["1kwWJQEGgHXq1W18rzcYh4"],lineWidth:.2,selected:!1,rotation:[0,0,0],lx:14.115594213493104,cy:6.75,foundationId:"bJhvoWT5frHADN5rpErFAp",color:"#e27300",leftRoofHeight:12,cz:0,ly:.3,type:"Wall",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",leftJoints:["7dQxN3e4X8QdrAXYYEN8WG"],windows:[],leftRoofHeight:12,normal:[0,0,1],selected:!1,roofId:"nGgWDMiF4t3mFWmEvV3G6V",rightRoofHeight:12,relativeAngle:4.71238898038469,cx:-12,color:"#e27300",parentId:"bJhvoWT5frHADN5rpErFAp",id:"1kwWJQEGgHXq1W18rzcYh4",lx:8.499999999999998,textureType:"Wall Texture Default",type:"Wall",locked:!0,lineWidth:.2,rightJoints:["6ue5PfovkzS53Qu47dbJ2S"],showLabel:!1,lineColor:"black",rotation:[0,0,0],leftPoint:[-11.999999999999998,3.9999999999999982,0],lz:12,cy:-.2500000000000009,rightPoint:[-12,-4.5,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:-4.999999999999997,lx:14.705441169852739,windows:[],lz:12,rightPoint:[2,-9,0],locked:!0,ly:.3,rotation:[0,0,0],lineWidth:.2,normal:[0,0,1],color:"#e27300",roofId:"nGgWDMiF4t3mFWmEvV3G6V",id:"6ue5PfovkzS53Qu47dbJ2S",leftPoint:[-11.999999999999995,-4.499999999999997,0],textureType:"Wall Texture Default",rightRoofHeight:12,foundationId:"bJhvoWT5frHADN5rpErFAp",showLabel:!1,leftRoofHeight:12,lineColor:"black",cy:-6.749999999999998,leftJoints:["1kwWJQEGgHXq1W18rzcYh4"],parentId:"bJhvoWT5frHADN5rpErFAp",relativeAngle:5.972187026574045,cz:0,type:"Wall",rightJoints:["pcWBDfha4S8aWQ8R18i4nV"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{roofType:"Pyramid",lx:0,lz:0,foundationId:"bJhvoWT5frHADN5rpErFAp",ly:0,normal:[0,0,1],showLabel:!1,lineWidth:.2,id:"nGgWDMiF4t3mFWmEvV3G6V",locked:!0,cz:0,lineColor:"black",selected:!1,color:"#bbc0c4",type:"Roof",cy:0,textureType:"No Roof Texture",rotation:[0,0,0],thickness:.2,wallsId:["7dQxN3e4X8QdrAXYYEN8WG","1kwWJQEGgHXq1W18rzcYh4","6ue5PfovkzS53Qu47dbJ2S","pcWBDfha4S8aWQ8R18i4nV","u3McT1xxp22V2ArAdyDW3J","wERFjjYFCWERMhNEB9iuoK"],cx:0,parentId:"bJhvoWT5frHADN5rpErFAp",sideColor:"#bbc0c4",rise:0,ceiling:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],lz:7,selected:!1,cx:-16.084384276720815,color:"#e27300",cy:15.36794895618929,faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],cz:3.5,parentId:"Ground",locked:!0,normal:[0,0,1],type:"Cuboid",ly:4.781704008793219,lx:6.529460998348136,id:"gNV64yHSX1cBB43cygkyfk"},{parentId:"Ground",ly:4.94412378095928,rotation:[0,0,.47123889803846897],cy:18.145923422735436,type:"Cuboid",locked:!0,normal:[0,0,1],faceColors:["#e27300","#e27300","#e27300","#e27300","#f9fdfe","gray"],lx:7.636154465642389,cz:3.5,lz:7,selected:!1,color:"#e27300",id:"91GnsPRwrk88qGT8VmRMYg",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:8.05053425462394},{solarPowerTower:{},cy:33.364915793093175,parentId:"Ground",id:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,selected:!1,cx:-5.596972605764655,ly:39.876530801142074,lx:39.61249197494745,solarUpdraftTower:{},rotation:[0,0,.11344640137963143],cz:.05,type:"Foundation",normal:[0,0,1],lz:.1,solarAbsorberPipe:{}},{color:"#e27300",relativeAngle:3.141592653589793,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lx:38.5,rightPoint:[-19.489993841129074,18.992592968189904,.1],showLabel:!1,roofId:"vaDVUZ1uyEALYaHTbs211h",selected:!1,windows:[],lz:7,leftPoint:[19.010006158870922,18.992592968189896,.1],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",normal:[0,0,1],lineWidth:.2,rotation:[0,0,0],leftRoofHeight:7,id:"97HokqKu917DTkAssZGbhE",type:"Wall",cz:0,locked:!0,textureType:"Wall Texture Default",cy:18.992592968189904,cx:-.23999384112907807,leftJoints:["2QQRWDofKjHid4D3rHXvwX"],ly:.3,rightJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineColor:"black",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",windows:[],lz:7,rightJoints:["97HokqKu917DTkAssZGbhE"],relativeAngle:1.5707963267948966,rightRoofHeight:7,showLabel:!1,selected:!1,parentId:"1nEGYML9Y5W4dWVRK3n5WW",cy:3.7425929681898977,leftRoofHeight:7,normal:[0,0,1],locked:!0,id:"2QQRWDofKjHid4D3rHXvwX",lineColor:"black",textureType:"Wall Texture Default",ly:.3,roofId:"vaDVUZ1uyEALYaHTbs211h",leftPoint:[19.010006158870922,-11.507407031810096,.1],rotation:[0,0,0],cz:0,leftJoints:["v4k1Tt2DPV8adpDFKC5P12"],foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:30.499999999999996,cx:19.01000615887092,color:"#e27300",rightPoint:[19.010006158870922,18.992592968189896,.1],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fPtvUV7Bzhezt9xwDuPEmF",textureType:"Wall Texture Default",foundationId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["97HokqKu917DTkAssZGbhE"],ly:.3,parentId:"1nEGYML9Y5W4dWVRK3n5WW",lineWidth:.2,leftPoint:[-19.489993841129067,18.992592968189896,0],windows:[],leftRoofHeight:7,cz:0,cy:3.746296484094948,roofId:"vaDVUZ1uyEALYaHTbs211h",locked:!0,rotation:[0,0,0],rightJoints:["ebWW9yh8D9FYjir4ozAvaz"],selected:!1,lx:30.492594609952747,rightPoint:[-19.5,-11.5,0],rightRoofHeight:7,relativeAngle:4.712060829921323,lineColor:"black",showLabel:!1,normal:[0,0,1],lz:7,color:"#e27300",cx:-19.49499692056453,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"1nEGYML9Y5W4dWVRK3n5WW",leftJoints:["fPtvUV7Bzhezt9xwDuPEmF"],lineWidth:.2,textureType:"Wall Texture Default",leftPoint:[-19.5,-11.499999999999991,0],cx:-10,color:"#e27300",normal:[0,0,1],cy:-14.999999999999996,locked:!0,rightJoints:["v4k1Tt2DPV8adpDFKC5P12"],selected:!1,leftRoofHeight:7,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lx:20.24845673131659,windows:[],relativeAngle:5.930194919352675,rotation:[0,0,0],roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,rightRoofHeight:7,id:"ebWW9yh8D9FYjir4ozAvaz",rightPoint:[-.5,-18.5,0],ly:.3,cz:0,lz:7,lineColor:"black",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"1nEGYML9Y5W4dWVRK3n5WW",rightJoints:["2QQRWDofKjHid4D3rHXvwX"],leftRoofHeight:7,leftJoints:["ebWW9yh8D9FYjir4ozAvaz"],cy:-15.003703515905048,cx:9.255003079435461,roofId:"vaDVUZ1uyEALYaHTbs211h",showLabel:!1,color:"#e27300",lineWidth:.2,relativeAngle:.3441478196335668,lx:20.725267108965333,selected:!1,textureType:"Wall Texture Default",rightRoofHeight:7,parentId:"1nEGYML9Y5W4dWVRK3n5WW",locked:!0,normal:[0,0,1],lineColor:"black",rightPoint:[19.010006158870922,-11.507407031810095,0],lz:7,ly:.3,id:"v4k1Tt2DPV8adpDFKC5P12",cz:0,rotation:[0,0,0],windows:[],leftPoint:[-.5,-18.5,0],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-16.63156986902993,lz:5,lx:8.20544233607179,id:"x3h1GsQhgRmq3SsscYfmB3",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],color:"#e27300",type:"Cuboid",locked:!0,normal:[0,0,1],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:11.4641129152687,selected:!1,cx:16.793944749049793,cz:2.5,rotation:[0,0,.11344640137963143]},{lz:6.5,ly:9.79284174487727,color:"#e27300",selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#cbced4","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cx:18.04602799184764,cy:-5.757381561584599,lx:13.705205912378894,id:"pawpCxDgzEqhYUsyrbWbDa",parentId:"Ground",locked:!0,cz:3.25,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid"},{cz:.05,selected:!1,cy:-71.07055697625319,id:"jqbU6DNc1hw25bSjkKpMiq",parentId:"Ground",ly:19.18495691494635,solarPowerTower:{},rotation:[0,0,.47123889803846897],lz:.1,solarUpdraftTower:{},locked:!0,type:"Foundation",lx:30.387424337601402,normal:[0,0,1],solarAbsorberPipe:{},cx:-4.462146546381112},{textureType:"Wall Texture Default",ly:.3,relativeAngle:3.1415926535897927,roofId:"nbhyUPhsFS3FWduEBX5mR4",normal:[0,0,1],locked:!0,leftPoint:[14.911466700814316,8.908511607852175,.1],lineColor:"black",windows:[],type:"Wall",leftRoofHeight:9,selected:!1,id:"t45ndcq7s2gwo2wADp4LvF",lz:9,rightRoofHeight:9,rightJoints:["96Vsi7iFvTbA9KnjAiCzjC"],cz:0,lx:19.999999999999996,rightPoint:[-5.088533299185682,8.908511607852187,.1],rotation:[0,0,0],showLabel:!1,parentId:"jqbU6DNc1hw25bSjkKpMiq",leftJoints:["aUxdFcbeJNrCyc15FmwGK7"],foundationId:"jqbU6DNc1hw25bSjkKpMiq",cx:4.911466700814314,cy:8.908511607852173,color:"#e27300",lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lineWidth:.2,windows:[],roofId:"nbhyUPhsFS3FWduEBX5mR4",id:"2Q9JHTpdQziYaq1i4YVAfD",cy:-9.591488392147804,selected:!1,textureType:"Wall Texture Default",parentId:"jqbU6DNc1hw25bSjkKpMiq",leftRoofHeight:9,ly:.3,rightJoints:["aUxdFcbeJNrCyc15FmwGK7"],lz:9,cz:0,leftPoint:[-14.588533299185684,-9.591488392147816,.1],normal:[0,0,1],rightRoofHeight:9,lineColor:"black",showLabel:!1,rightPoint:[7.411466700814323,-9.591488392147804,.1],rotation:[0,0,0],foundationId:"jqbU6DNc1hw25bSjkKpMiq",relativeAngle:0,cx:-3.588533299185679,color:"#e27300",type:"Wall",locked:!0,leftJoints:["fjtHDsHPyFgzX4a1QCnEg1"],lx:22.000000000000007,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{lz:9,leftJoints:["2Q9JHTpdQziYaq1i4YVAfD"],cy:-.34148839214781823,lineWidth:.2,locked:!0,selected:!1,rightPoint:[14.911466700814314,8.90851160785218,.1],relativeAngle:1.1856388204314217,cz:0,leftRoofHeight:9,lx:19.962464777677127,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightJoints:["t45ndcq7s2gwo2wADp4LvF"],cx:11.161466700814309,normal:[0,0,1],roofId:"nbhyUPhsFS3FWduEBX5mR4",lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",id:"aUxdFcbeJNrCyc15FmwGK7",color:"#e27300",textureType:"Wall Texture Default",rightRoofHeight:9,ly:.3,rotation:[0,0,0],type:"Wall",showLabel:!1,leftPoint:[7.411466700814304,-9.59148839214781,.1],windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{cx:-2.2158130411354513,lx:3.4859481923608877,ly:4.275960039070249,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"nypM3mdmViZReBeYosY2yV",cz:6,cy:-27.62799047977582,faceColors:["#808080","#808080","#808080","#808080","#ffffff","gray"],lz:12,type:"Cuboid",parentId:"Ground",normal:[0,0,1],color:"#808080",rotation:[0,0,.11344640137963143],locked:!0,selected:!1},{type:"Wall",lx:13.499999999999998,foundationId:"jqbU6DNc1hw25bSjkKpMiq",selected:!1,locked:!0,normal:[0,0,1],leftPoint:[-14.588533299185688,3.9085116078521778,.1],cx:-14.588533299185682,lineWidth:.2,textureType:"Wall Texture Default",leftRoofHeight:9,relativeAngle:4.71238898038469,color:"#e27300",rightJoints:["2Q9JHTpdQziYaq1i4YVAfD"],showLabel:!1,windows:[],lineColor:"black",leftJoints:["iik8XWaEN3wPnYJVvNUf8N"],cz:0,cy:-2.841488392147814,id:"fjtHDsHPyFgzX4a1QCnEg1",parentId:"jqbU6DNc1hw25bSjkKpMiq",ly:.3,lz:9,roofId:"nbhyUPhsFS3FWduEBX5mR4",rightRoofHeight:9,rightPoint:[-14.588533299185684,-9.591488392147816,.1],rotation:[0,0,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{showLabel:!1,rightPoint:[-14.588533299185688,3.9085116078521778,.1],rightRoofHeight:9,lineColor:"black",cx:-9.838533299185684,relativeAngle:3.1415926535897936,foundationId:"jqbU6DNc1hw25bSjkKpMiq",windows:[],type:"Wall",parentId:"jqbU6DNc1hw25bSjkKpMiq",id:"iik8XWaEN3wPnYJVvNUf8N",roofId:"nbhyUPhsFS3FWduEBX5mR4",rightJoints:["fjtHDsHPyFgzX4a1QCnEg1"],leftRoofHeight:9,cy:3.9085116078521835,lx:9.500000000000002,locked:!0,textureType:"Wall Texture Default",normal:[0,0,1],lz:9,leftJoints:["96Vsi7iFvTbA9KnjAiCzjC"],selected:!1,cz:0,leftPoint:[-5.088533299185688,3.908511607852178,.1],lineWidth:.2,color:"#e27300",rotation:[0,0,0],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{textureType:"Wall Texture Default",selected:!1,rotation:[0,0,0],showLabel:!1,lineColor:"black",roofId:"nbhyUPhsFS3FWduEBX5mR4",leftPoint:[-5.088533299185681,8.908511607852187,.1],cx:-5.088533299185681,lx:5.000000000000002,type:"Wall",rightJoints:["iik8XWaEN3wPnYJVvNUf8N"],windows:[],lz:9,locked:!0,leftRoofHeight:9,rightRoofHeight:9,ly:.3,parentId:"jqbU6DNc1hw25bSjkKpMiq",rightPoint:[-5.088533299185688,3.908511607852178,.1],cy:6.408511607852189,normal:[0,0,1],color:"#e27300",leftJoints:["t45ndcq7s2gwo2wADp4LvF"],relativeAngle:4.71238898038469,foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,lineWidth:.2,id:"96Vsi7iFvTbA9KnjAiCzjC",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{ly:18.600818138777164,normal:[0,0,1],lz:7,id:"9ZkQyqaEmTeYEWHbrCFRQb",type:"Cuboid",cx:-21.473353217856005,cz:3.5,lx:28.43689133843813,cy:-80.03483805963909,selected:!1,faceColors:["#e27300","#e27300","#e27300","#e27300","#a0a8a1","gray"],rotation:[0,0,.47123889803846897],parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"#e27300",locked:!0},{lineColor:"black",foundationId:"jqbU6DNc1hw25bSjkKpMiq",cz:0,roofType:"Pyramid",locked:!0,lz:0,normal:[0,0,1],id:"nbhyUPhsFS3FWduEBX5mR4",cy:0,cx:0,type:"Roof",ly:0,lineWidth:.2,color:"#a0a8a1",selected:!1,wallsId:["t45ndcq7s2gwo2wADp4LvF","96Vsi7iFvTbA9KnjAiCzjC","iik8XWaEN3wPnYJVvNUf8N","fjtHDsHPyFgzX4a1QCnEg1","2Q9JHTpdQziYaq1i4YVAfD","aUxdFcbeJNrCyc15FmwGK7"],showLabel:!1,lx:0,textureType:"No Roof Texture",thickness:.2,parentId:"jqbU6DNc1hw25bSjkKpMiq",rotation:[0,0,0],sideColor:"#a0a8a1",rise:0,ceiling:!1},{rotation:[0,0,.11344640137963143],lx:33.330266968334364,parentId:"Ground",locked:!0,selected:!1,cy:-18.068839609848254,color:"#e27300",id:"u9fp9k5YxThQWCBpcjSypa",ly:24.01347765210959,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:7,faceColors:["#e27300","#e27300","#e27300","#e27300","#dadedf","gray"],cz:3.5,cx:-3.833297199689312,type:"Cuboid"},{parentId:"Ground",lx:6.254852089156679,color:"#e27300",lz:6,cy:-14.332630086328715,rotation:[0,0,.11344640137963143],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:8.529051468761843,cz:3,cx:23.820970949615347,normal:[0,0,1],id:"g3WSwwiWWgknhD1TsV34bi",locked:!0,type:"Cuboid",faceColors:["#e27300","#e27300","#e27300","#e27300","#eff3f4","gray"],selected:!1},{selected:!1,parentId:"Ground",rotation:[0,0,.11344640137963143],lx:138.78684366347608,solarAbsorberPipe:{},cz:.05,textureType:"Foundation Texture #1",lz:.1,id:"reBHg6Exy2MChwcxtr3gj7",locked:!0,color:"#808080",cx:-1.8708371231135246,solarUpdraftTower:{},type:"Foundation",ly:56.63391373000898,cy:89.14969979439752,solarPowerTower:{},normal:[0,0,1]},{color:"#808080",cz:.05,solarPowerTower:{},textureType:"Foundation Texture #1",locked:!0,ly:114.12479182802815,id:"36nmeGQGETdJPm5rWVVRjJ",solarUpdraftTower:{},lx:42.16787694736764,lz:.1,normal:[0,0,1],solarAbsorberPipe:{},selected:!1,cy:-148.8692182215829,parentId:"Ground",rotation:[0,0,.11344640137963143],type:"Foundation",cx:-28.614737300680485},{id:"bFksCZzoXd93c7MyivmV9K",faceColors:["gray","gray","gray","gray","gray","gray"],ly:5.781774626442493,rotation:[0,0,.11344640137963143],cx:-8.05557182480289,normal:[0,0,1],parentId:"Ground",color:"gray",cy:28.559956693666173,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,selected:!1,cz:4.5,lz:9,lx:2.7809448048857632,type:"Cuboid"},{id:"4uGXxDXoTLYvikq5fUL9dt",normal:[0,0,1],parentId:"Ground",cz:4.5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:38.25979783456656,lx:2.7809448048857632,faceColors:["gray","gray","gray","gray","gray","gray"],lz:9,selected:!1,locked:!0,rotation:[0,0,.11344640137963143],cx:-6.727695250737455,type:"Cuboid",color:"gray",ly:5.781774626442493},{type:"Tree",lx:10,selected:!1,name:"Magnolia",cz:0,locked:!0,id:"xmEmwPRar8iA32AgGqBDZo",cy:44.65483300272308,rotation:[0,0,0],parentId:"Ground",cx:15.962764438139406,normal:[0,1,0],lz:10},{cx:4.786319195449075,name:"Magnolia",lz:10,id:"2N9b6wPaP7vTT6v2GfUvci",cy:57.504795212360165,selected:!1,rotation:[0,0,0],parentId:"Ground",type:"Tree",locked:!0,lx:10,normal:[0,0,1],cz:0},{cz:0,id:"tQuBdxiCZwsv3tPttqZcge",locked:!0,type:"Tree",lz:10,parentId:"Ground",lx:10,cx:-37.72446755161796,name:"Magnolia",rotation:[0,0,0],selected:!1,cy:24.20884875644974,normal:[0,0,1]},{rotation:[0,0,0],locked:!0,normal:[0,0,1],parentId:"Ground",cz:0,cy:27.53619242162998,name:"Magnolia",type:"Tree",lx:10,cx:-56.12589485999845,id:"sBLygdm7dv2Y53q9fnNST7",selected:!1,lz:10},{ly:1,type:"Cuboid",id:"dHHanjftUrSruBnauGJSLy",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",cx:-5.870064866540858,lx:2,normal:[0,0,1],lz:9,cy:15.318325135239354,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],selected:!1,locked:!0,cz:4.5},{id:"9vxhEg5mY7bnj3mASyLPuq",cz:4.5,lx:1.5,ly:1,cx:-3.8512872137145457,normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:11.777212358373532,lz:9,rotation:[0,0,.11344640137963143],parentId:"Ground",selected:!1,color:"gray"},{cz:4.5,cy:15.693005652428699,normal:[0,0,1],cx:-2.6936903398761203,selected:!1,locked:!0,lz:9,rotation:[0,0,.11344640137963143],color:"gray",ly:1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",id:"hvuDpXrEgC1sbzpcoS3Pv5",lx:2,type:"Cuboid"},{cz:4.5,id:"xtuommaSLMKZrejRaGGfMk",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:9,type:"Cuboid",cx:6.443464344950151,locked:!0,cy:6.860194005695455,color:"gray",parentId:"Ground",rotation:[0,0,.47123889803846897],selected:!1,lx:1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{color:"gray",ly:2,parentId:"Ground",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sJYEUPNTzxmWik8iqk2zs1",cy:25.83184970998569,locked:!0,cz:4,selected:!1,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:2,cx:46.69245220859119},{cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,cx:57.51703501824526,lx:2,locked:!0,selected:!1,color:"gray",ly:2,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:32.45468730038977,rotation:[0,0,.47123889803846897],id:"bbqihnnqHMG2BadQAqxu4w",normal:[0,0,1]},{id:"25nzwRphH2HZWasHbdyR9H",rotation:[0,0,.47123889803846897],cz:4,cx:9.64097434426713,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:8,ly:2,selected:!1,color:"gray",locked:!0,type:"Cuboid",cy:14.625073334021367,lx:2,parentId:"Ground"},{locked:!0,ly:3.023435418581383,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",normal:[0,0,1],lz:8,id:"auEsiwZVDg1BpD4SLuxEMu",cz:4,selected:!1,cx:13.735991450729825,rotation:[0,0,.47123889803846897],parentId:"Ground",lx:1.956376737761125,cy:11.519743764909009},{cx:8.737674718750876,lz:8,selected:!1,lx:1.6103314300645608,color:"gray",cz:4,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,ly:6.078985704618435,rotation:[0,0,.47123889803846897],cy:10.874631022787334,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",id:"hVeFrmw4X6UXNLJxSgFFTX"},{lz:8,cy:9.924339607771106,type:"Cuboid",lx:4.469059126518252,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],cz:4,parentId:"Ground",ly:2.3777908106308545,locked:!0,cx:10.942483109442229,selected:!1,id:"meaBMTA4CLhnmmXQkVUk4b",color:"gray",rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{rotation:[0,0,-.22689280275926285],id:"uaSYyvLxcyJGUeppQk2fkP",normal:[0,0,1],locked:!0,faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",cx:-58.373259464283144,selected:!1,ly:1,cz:4,type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lx:1,parentId:"Ground",cy:19.91282275388616,lz:8},{lx:1,parentId:"Ground",locked:!0,ly:1,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cx:-18.92226089346107,rotation:[0,0,-.22689280275926285],type:"Cuboid",cz:4,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"aSJgYXr93BZfEPKkAwN8r7",lz:8,normal:[0,0,1],cy:-.6960334472303071},{locked:!0,lx:2.0388988979736835,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.22689280275926285],id:"vUyZDk5YRtPiBnYt1snpgt",selected:!1,cy:10.353201903334014,color:"gray",ly:2.0216903725484365,normal:[0,0,1],type:"Cuboid",cx:-16.847254368208766,parentId:"Ground",lz:8,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4},{type:"Cuboid",cy:11.088622268912289,cz:4,rotation:[0,0,-.22689280275926285],ly:2.9540425209021324,id:"dfGLJ9Zv1uAnvCfrcBHsCt",locked:!0,lz:8,parentId:"Ground",color:"gray",cx:-14.705676459927645,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lx:1.7677570935590694,selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:7.5,selected:!1,cz:3.75,lx:.9904096888649759,type:"Cuboid",color:"gray",cy:-4.822954202789914,parentId:"Ground",locked:!0,id:"n5nBWKF2pcd87Hywxr4MmX",cx:19.016528568953923,normal:[0,0,1],ly:1.9410657757772696,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"]},{type:"Cuboid",ly:1,cx:22.516067022100426,color:"gray",parentId:"Ground",cz:3.5,locked:!0,selected:!1,lx:1,lz:7,rotation:[0,0,.11344640137963143],id:"oDooft2rdfK7T7GeS22TTX",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:-11.05785927501001},{rotation:[0,0,.11344640137963143],type:"Cuboid",selected:!1,lz:6,locked:!0,lx:1,parentId:"Ground",ly:1,normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],id:"5MNhY3je6nxRhgVTaQd4XD",cx:17.344429933105552,cy:-13.822777502645632,cz:3},{rotation:[0,0,.11344640137963143],id:"hTpGn7Ld64gegWm4tEbZhj",normal:[0,0,1],lz:6,locked:!0,cz:3,lx:1,type:"Cuboid",ly:1,selected:!1,cx:13.157095779673083,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-14.697109758746397,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",color:"gray"},{type:"Cuboid",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:-6.445109761249004,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.5,locked:!0,cx:-1.5852019434320317,ly:1,selected:!1,normal:[0,0,1],lz:9,id:"rq5RGqs3gD3vGibJBsqSoL",color:"gray",lx:1},{lx:1,parentId:"Ground",rotation:[0,0,.11344640137963143],normal:[0,0,1],type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,selected:!1,cx:1.8238223447270574,id:"pVxtrZrVGwkvEXjPsLSV95",cz:4,ly:1,cy:-11.816737963378758,lz:8},{selected:!1,ly:1.3665925830167867,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],rotation:[0,0,.11344640137963143],cz:6.5,lz:13,id:"kfMaGeiQgdSFzmbpVf6zVf",cx:-10.111227834366188,type:"Cuboid",lx:1.8193596961081897,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",locked:!0,cy:-15.497913514100716},{color:"gray",lx:1,type:"Cuboid",cy:-27.533957889184162,cz:6.5,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],selected:!1,lz:13,id:"bkDAE3FxXTUCR13vm7LnmF",locked:!0,normal:[0,0,1],ly:1,cx:-2.3075258042202},{normal:[0,0,1],selected:!1,locked:!0,cx:-15.307775607494396,lx:2.5676889546751847,color:"gray",ly:1.3662836019362639,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.11344640137963143],parentId:"Ground",type:"Cuboid",cz:6.5,lz:13,cy:-18.40230760434186,id:"aQcL3piZZWLrX5Ud8AM8Ke"},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,id:"i4oTzKRpveYkgD2Hd8SNHf",faceColors:["gray","gray","gray","gray","gray","gray"],ly:1,lz:14,color:"gray",lx:1,parentId:"Ground",cy:-29.315479380504186,rotation:[0,0,.11344640137963143],cx:16.7566929241104,cz:7,type:"Cuboid",normal:[0,0,1],locked:!0},{ly:1,normal:[0,0,1],cx:19.914283665719672,cy:-44.497740663585425,lz:14,lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,.11344640137963143],id:"ah9bKoBGUiMWeHKfdxzpi9",cz:7,color:"gray",type:"Cuboid",locked:!0,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{lz:14,normal:[0,0,1],locked:!0,id:"vBZ2DA9y9KYiCwgzGpLfFD",color:"gray",lx:1,rotation:[0,0,.11344640137963143],cz:7,cy:-47.62693833888401,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",selected:!1,ly:1,cx:20.25452350291907},{cy:-38.0401954851006,type:"Cuboid",lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,rotation:[0,0,.11344640137963143],faceColors:["gray","gray","gray","gray","gray","gray"],cz:7,locked:!0,id:"2jpUuL1gcsjduHrhm3n43t",selected:!1,parentId:"Ground",cx:-17.59480337417267,color:"gray",lz:14},{faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1,cy:-50.768525050448105,lz:14,lx:1,id:"doc8sxSmKeL7RKrAnLUcoL",selected:!1,type:"Cuboid",cx:-16.679482324891723,locked:!0,color:"gray",rotation:[0,0,.11344640137963143],parentId:"Ground",cz:7},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,id:"us3zCoK5ewuBS6QTdVwh5n",cz:7,ly:1,lx:1,normal:[0,0,1],color:"gray",locked:!0,lz:14,rotation:[0,0,.11344640137963143],cy:-63.79092407456009,cx:-15.262534505030402,parentId:"Ground"},{faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,.47123889803846897],lz:10,normal:[0,0,1],lx:1,type:"Cuboid",cy:-67.46996837049493,id:"t959VVjipFtQcWvuiVz2K9",parentId:"Ground",cx:-4.425598860553924,cz:5,color:"gray",selected:!1,ly:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0},{ly:1,lx:1,locked:!0,type:"Cuboid",rotation:[0,0,.47123889803846897],cx:-3.1466144543948023,normal:[0,0,1],color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,cy:-66.65602476858759,selected:!1,id:"qhPJYtSXY5a7RZFHnh9sXY",faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",cz:5},{cx:-6.364270455130605,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],lz:10,ly:1,locked:!0,parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lx:1,color:"gray",type:"Cuboid",selected:!1,id:"uHN4GMMVvGcf6APcCUZnSj",cy:-75.21381547306636,rotation:[0,0,.47123889803846897],cz:5},{ly:1,cy:-83.03785791923461,rotation:[0,0,.47123889803846897],locked:!0,lx:1,normal:[0,0,1],color:"gray",lz:8,selected:!1,cx:-23.111777972260608,id:"vtCxYC9fd4ntw6fFZCahnk",faceColors:["gray","gray","gray","gray","gray","gray"],cz:4,parentId:"Ground",type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0,lz:10,lx:1,rotation:[0,0,.47123889803846897],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1,color:"gray",type:"Cuboid",cy:-79.50076914190635,cx:-14.662733157197128,cz:5,id:"hZWUtVcu3jjMB9HKr9R8ro",normal:[0,0,1],parentId:"Ground"},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!0,lx:1,ly:1,cz:4,normal:[0,0,1],color:"gray",rotation:[0,0,.47123889803846897],cy:-84.70748291923546,id:"iw4xNrSMGDSZJUGzJ8pTqm",cx:-28.436527972260606,lz:8,selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground"},{type:"Cuboid",cz:4,locked:!0,lz:8,ly:1,id:"iLtZHkfUgxkgeqhAZivYfe",cx:-30.88874837783922,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],selected:!1,cy:-84.0342920377216,normal:[0,0,1],parentId:"Ground",rotation:[0,0,.47123889803846897],lx:1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,lz:8,parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-13.782520236054552,rotation:[0,0,.47123889803846897],type:"Cuboid",lx:1,cz:4,id:"ssCGfzEitaxtFqQF7Ga8kZ",color:"gray",ly:1,normal:[0,0,1],cy:-67.47809368871428,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!0},{selected:!1,color:"#f9fdfe",ly:0,foundationId:"1nEGYML9Y5W4dWVRK3n5WW",lz:0,lx:0,lineColor:"black",textureType:"No Roof Texture",rotation:[0,0,0],parentId:"1nEGYML9Y5W4dWVRK3n5WW",roofType:"Pyramid",wallsId:["97HokqKu917DTkAssZGbhE","fPtvUV7Bzhezt9xwDuPEmF","ebWW9yh8D9FYjir4ozAvaz","v4k1Tt2DPV8adpDFKC5P12","2QQRWDofKjHid4D3rHXvwX"],locked:!0,type:"Roof",cx:0,showLabel:!1,lineWidth:.2,thickness:.2,normal:[0,0,1],cz:0,cy:0,id:"vaDVUZ1uyEALYaHTbs211h",sideColor:"#f9fdfe",rise:0,ceiling:!1},{selected:!1,lz:.4,filled:!1,id:"fdazNUtKFoSEAPgq9CQJES",type:"Polygon",locked:!0,cx:0,parentId:"qsPqX4eMRADWLb6uFzZyu3",color:"#d0d7da",selectedIndex:3,foundationId:"qsPqX4eMRADWLb6uFzZyu3",cz:0,rotation:[0,0,.11344640137963143],normal:[0,0,1],vertices:[{x:-.3919656451231681,y:-.44378588479022363},{x:-.3919656451231681,y:.4581015584931341},{y:.4581015584931341,x:.3563324046574256},{y:-.44378588479022363,x:.3563324046574256}],cy:0,ly:.4,lx:.4,lineColor:"#ffffff",lineStyle:2},{type:"Polygon",cz:0,lx:.4,selected:!1,color:"#dadedf",normal:[0,0,1],lz:.4,filled:!1,locked:!0,parentId:"jeaVPPnZw5Ed7yuuYuFjT4",ly:.4,cy:0,selectedIndex:5,rotation:[0,0,-.22689280275926285],id:"4bjxP3DGK4dodwicaeMGrq",vertices:[{x:-.4583333333333333,y:-.41984420002481043},{x:-.4583333333333333,y:.2798961333498736},{y:.2798961333498736,x:-.4083333333333333},{x:-.4083333333333333,y:.41984420002481043},{x:.20833333333333334,y:.41984420002481043},{y:-.41984420002481043,x:.20833333333333334}],cx:0,foundationId:"jeaVPPnZw5Ed7yuuYuFjT4",lineStyle:2,lineColor:"#ffffff"},{type:"Tree",name:"Magnolia",cx:-42.801241972409024,cy:-41.7007983662498,cz:0,lx:9.278019576062961,lz:8.643797542596442,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"g1FsRLcUZdSt9Q2DU31zPA",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-59.8787215366302,cy:-50.66068977312313,cz:-7105427357601002e-30,lx:9.278019576062961,lz:11.78149367100265,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"krmMVWEiKsnePivMXL7Nes",selected:!1,locked:!0},{type:"Tree",name:"Magnolia",cx:-51.87839388003734,cy:-62.51980907480443,cz:0,lx:6.499371428507982,lz:7.082169014620417,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"rW1c33rx65WFpCNTzaAbaM",selected:!1,locked:!0}],C2n={showDailyLightSensorPanel:!1,yearlyHeliostatYieldPanelY:0,yearlyFresnelReflectorYieldPanelY:0,showInstructionPanel:!1,yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelX:0,panCenter2D:[-38.51386717609555,9.861822957610682,-.00020795605672141833],dailyPvYieldPanelRect:{height:400,width:600,x:0,y:0},panCenter:[-7.484723712513362,-24.66583880095733,.1225204207961253],showMapPanel:!1,groundColor:"#16a5a5",yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,y:0,height:400},yearlyPvYieldPanelY:0,mapWeatherStations:!1,visibilityResultsPanelX:0,evolutionPanelRect:{x:0,y:0,width:640,height:400},stickyNotePanelRect:{width:269,y:0,x:-3,height:87},cameraPosition2D:[-38.51386717609555,9.861802956721695,19.99979204387911],showYearlyParabolicTroughYieldPanel:!1,showEvolutionPanel:!1,showHeliodonPanel:!1,theme:"Default",showYearlyParabolicDishYieldPanel:!1,mapPanelX:0,showDailyFresnelReflectorYieldPanel:!1,dailyLightSensorPanelX:0,dailyParabolicDishYieldPanelX:0,heliodon:!1,dailyPvYieldPanelX:0,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},axes:!0,mapTilt:0,dailyFresnelReflectorYieldPanelX:0,showEconomicsPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyLightSensorPanelY:0,visibilityResultsPanelY:0,yearlyParabolicTroughYieldPanelX:0,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},dailyParabolicDishYieldPanelRect:{x:0,height:400,width:600,y:0},showDesignInfoPanel:!0,yearlyUpdraftTowerYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyPvYieldPanelRect:{x:0,y:0,height:400,width:600},yearlyParabolicDishYieldPanelX:0,solarRadiationHeatMapReflectionOnly:!1,showZenithAngle:!0,groundImage:!0,showYearlyLightSensorPanel:!1,mapZoom:17,yearlyFresnelReflectorYieldPanelX:0,visibilityResultsPanelRect:{width:600,x:0,y:0,height:470},showStickyNotePanel:!0,yearlyLightSensorPanelShowClearness:!1,showElevationAngle:!0,weatherPanelY:0,yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelY:0,mapType:"hybrid",showYearlyPvYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyPvYieldPanelX:0,diurnalTemperaturePanelRect:{width:600,x:0,y:0,height:400},dailyHeliostatYieldPanelX:0,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelRect:{width:600,x:0,height:400,y:0},dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelY:0,stickyNotePanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},orthographic:!1,cameraPosition:[35.702709576196014,-94.16775966891016,142.42515130862242],showDailyUpdraftTowerYieldPanel:!1,showDailyPvYieldPanel:!1,enableRotate:!0,showYearlyUpdraftTowerYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showDailyParabolicTroughYieldPanel:!1,dailyFresnelReflectorYieldPanelY:0,showWeatherPanel:!1,yearlyLightSensorPanelX:0,mapPanelY:0,dailyHeliostatYieldPanelRect:{height:400,width:600,x:0,y:0},autoRotate:!1,dailyParabolicDishYieldPanelY:0,cameraZoom:22.160664819944596,showAzimuthAngle:!0,weatherPanelRect:{y:0,x:0,height:500,width:500},showSunAngles:!1,dailyLightSensorPanelRect:{x:0,width:600,height:360,y:0},heliodonPanelY:0,showSolarPanelVisibilityResultsPanel:!1,showDailyHeliostatYieldPanel:!1,shadowEnabled:!0,dailyUpdraftTowerYieldPanelRect:{x:0,width:640,height:550,y:0},dailyPvYieldPanelY:0,showDiurnalTemperaturePanel:!1,weatherPanelX:0,ambientLightIntensity:.1,solarRadiationHeatMapMaxValue:5,stickyNotePanelX:0,showSiteInfoPanel:!0,yearlyHeliostatYieldPanelRect:{width:600,x:0,y:0,height:400}},R2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},H2n=1,M2n={rowAxis:"Left-Right",interRowSpacing:2,tiltAngle:0,poleSpacing:3,rowsPerRack:1,poleHeight:1,pvModelName:"SPR-X21-335-BLK",orientation:"Landscape"},I2n={maximumTiltAngle:1.5707963267948966,minimumRowsPerRack:1,rowAxis:"Left-Right",orientation:"Landscape",maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumInterRowSpacing:10,minimumInterRowSpacing:2,poleSpacing:5,poleHeight:1,pvModelName:"CS6X-355P-FG"},z2n={particleSwarmOptimizationParams:{vmax:.01,localSearchRadius:.1,inertia:.8,searchMethod:1,maximumSteps:5,objectiveFunctionType:1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,convergenceThreshold:.01,cognitiveCoefficient:.1,swarmSize:20},geneticAlgorithmParams:{localSearchRadius:.1,maximumGenerations:5,mutationRate:.1,problem:"Solar Panel Tilt Angle",selectionRate:.5,populationSize:20,objectiveFunctionType:1,searchMethod:1,convergenceThreshold:.01,selectionMethod:1,crossoverRate:.5}},D2n={electricitySellingPrice:.25,projectLifeSpan:25,operationalCostPerUnit:.15},E2n=[`South Burlington High School +Vermont, USA`],k2n={docid:A2n,time:w2n,timestamp:v2n,userid:x2n,owner:b2n,email:S2n,world:T2n,elements:P2n,view:C2n,graphState:R2n,evolutionMethod:H2n,solarPanelArrayLayoutParams:M2n,solarPanelArrayLayoutConstraints:I2n,evolutionaryAlgorithmState:z2n,economicsParams:D2n,notes:E2n},F2n="dWgDnPJDqR9XymfxSQN7WJ",L2n="02/03/2023 07:56 pm",W2n=1675472176562,N2n="QWecNcxhyvP6j6sBN11hBsfZDau1",U2n=null,B2n=null,j2n={pvGridCellSize:.5,timesPerHour:2,latitude:33.225546302957646,longitude:-105.74311446654394,daysPerYear:4,airAttenuationCoefficient:.01,solarPanelVisibilityGridCellSize:.2,cspDaysPerYear:4,sutGridCellSize:1,diurnalTemperatureModel:1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},noAnimationForSolarPanelSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1,name:"default",highestTemperatureTimeInMinutes:900,noAnimationForSensorDataCollection:!1,cspGridCellSize:.5,cspTimesPerHour:4,sutDaysPerYear:4,airConvectiveCoefficient:5,dustLoss:.05,address:"249 White Mountain Dr, Mescalero, NM 88340, USA",sutTimesPerHour:4,discretization:"Approximate",noAnimationForHeatmapSimulation:!1,date:"Wed Jun 22 2022 12:00:00 GMT-0400 (Eastern Daylight Time)",solarRadiationHeatmapGridCellSize:10},Y2n=[{cx:36.04364346579838,color:"#808080",normal:[0,0,1],id:"aXWETyunkqtQVNXGWr9VZd",solarPowerTower:{},solarAbsorberPipe:{},lx:65.26457989390352,rotation:[0,0,-.41015237421866746],ly:29.235638926118842,cz:.5,solarUpdraftTower:{},cy:-20.683265041734174,parentId:"Ground",locked:!1,type:"Foundation",lz:1,selected:!1},{type:"Wall",parentId:"aXWETyunkqtQVNXGWr9VZd",locked:!1,leftJoints:["7a9g1bU6Fq192u17jYzUVQ"],windows:[],normal:[0,0,1],rightPoint:[-30.895924961184342,13.06099510897374,1],leftPoint:[32.60407503881567,13.060995108973744,1],id:"qmFzWJnLZGgtRZtU4NCV2i",rightJoints:["8UV181m3Qgm4gVeHjN6o1N"],leftRoofHeight:5,color:"white",cx:.8540750388156599,foundationId:"aXWETyunkqtQVNXGWr9VZd",lineColor:"black",cz:0,lz:5,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",showLabel:!1,cy:13.060995108973737,roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lx:63.5,relativeAngle:3.141592653589793,rightRoofHeight:5,lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineWidth:.2,windows:[],cy:-.1890048910262596,color:"white",showLabel:!1,rightJoints:["qmFzWJnLZGgtRZtU4NCV2i"],normal:[0,0,1],lineColor:"black",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"adpYUuHEY6XwTLGq9piRR2",lz:5,locked:!1,cx:32.604075038815665,lx:26.500000000000004,ly:.3,selected:!1,leftPoint:[32.604075038815665,-13.439004891026256,1],parentId:"aXWETyunkqtQVNXGWr9VZd",rightPoint:[32.60407503881566,13.060995108973742,1],leftRoofHeight:5,type:"Wall",rightRoofHeight:5,foundationId:"aXWETyunkqtQVNXGWr9VZd",leftJoints:["cqVaqhkF9cafDk3CujuxhA"],cz:0,relativeAngle:1.5707963267948966,id:"7a9g1bU6Fq192u17jYzUVQ",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cx:.8540750388156644,windows:[],leftPoint:[-30.895924961184335,-13.439004891026261,1],rightRoofHeight:5,showLabel:!1,selected:!1,type:"Wall",leftJoints:["8UV181m3Qgm4gVeHjN6o1N"],rightPoint:[32.604075038815665,-13.439004891026256,1],cz:0,ly:.3,parentId:"aXWETyunkqtQVNXGWr9VZd",relativeAngle:0,id:"cqVaqhkF9cafDk3CujuxhA",roofId:"adpYUuHEY6XwTLGq9piRR2",rightJoints:["7a9g1bU6Fq192u17jYzUVQ"],lx:63.50000000000001,textureType:"Wall Texture Default",lineWidth:.2,cy:-13.439004891026254,lineColor:"black",lz:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,locked:!1,normal:[0,0,1],foundationId:"aXWETyunkqtQVNXGWr9VZd",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-.18900489102626317,leftRoofHeight:5,lz:5,textureType:"Wall Texture Default",leftPoint:[-30.895924961184342,13.06099510897374,1],relativeAngle:4.71238898038469,cz:0,rightJoints:["cqVaqhkF9cafDk3CujuxhA"],selected:!1,foundationId:"aXWETyunkqtQVNXGWr9VZd",lx:26.50000000000001,parentId:"aXWETyunkqtQVNXGWr9VZd",rotation:[0,0,-.41015237421866746],rightPoint:[-30.89592496118435,-13.439004891026267,1],color:"white",type:"Wall",normal:[0,0,1],rightRoofHeight:5,leftJoints:["qmFzWJnLZGgtRZtU4NCV2i"],cx:-30.895924961184342,windows:[],roofId:"adpYUuHEY6XwTLGq9piRR2",ly:.3,lineWidth:.2,id:"8UV181m3Qgm4gVeHjN6o1N",locked:!1,lineColor:"black",showLabel:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lz:1,solarAbsorberPipe:{},cz:.5,ly:4.206012254646608,type:"Foundation",rotation:[0,0,-.41015237421866746],lx:31.26437853168839,normal:[0,0,1],solarUpdraftTower:{},cx:-2.5548208091674596,selected:!1,parentId:"Ground",cy:-104.18033992817378,solarPowerTower:{},locked:!1,id:"67y6tGP5Z273J9KfaZt2qW"},{color:"white",ly:.3,normal:[0,0,1],windows:[],leftPoint:[-2.1622916607695264,-2.0529036258004845,0],rightPoint:[-2.1622916607695246,1.9676858128519996,0],rightRoofHeight:6,roofId:"vamU7TTNZeBARJChC8HbPy",rightJoints:["vyB1xaFqKE2eYECPWHSjtt"],lineColor:"black",showLabel:!1,type:"Wall",parentId:"67y6tGP5Z273J9KfaZt2qW",cz:0,id:"vVaHoupmNeeUhBf8aEhNwN",cy:-.042608906474242425,foundationId:"67y6tGP5Z273J9KfaZt2qW",lineWidth:.2,textureType:"Wall Texture Default",leftJoints:["c2T86bj1Ndr1wBUNfBDMTd"],cx:-2.1622916607695255,relativeAngle:1.5707963267948961,rotation:[0,0,-.41015237421866746],selected:!1,centerRoofHeight:[0,6.274887651356121],lz:6,lx:4.020589438652484,leftRoofHeight:6,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-2.0529036258004867,relativeAngle:5681468402920898e-31,selected:!1,normal:[0,0,1],lz:6,parentId:"67y6tGP5Z273J9KfaZt2qW",windows:[],ly:.3,textureType:"Wall Texture Default",leftJoints:["42wy1mrJXkRG5d8TpG2sXB"],roofId:"vamU7TTNZeBARJChC8HbPy",cz:0,leftPoint:[-9.97874294335964,-2.052903625800489,0],lineWidth:.2,id:"c2T86bj1Ndr1wBUNfBDMTd",rightRoofHeight:6,color:"white",locked:!1,cx:-6.070517302064583,lineColor:"black",lx:7.816451282590114,type:"Wall",rotation:[0,0,-.41015237421866746],rightPoint:[-2.1622916607695264,-2.0529036258004845,0],rightJoints:["vVaHoupmNeeUhBf8aEhNwN"],showLabel:!1,foundationId:"67y6tGP5Z273J9KfaZt2qW",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{showLabel:!1,lineWidth:.2,lx:4.020589438652497,cy:-.042608906474240316,color:"white",lineColor:"black",leftJoints:["vyB1xaFqKE2eYECPWHSjtt"],id:"42wy1mrJXkRG5d8TpG2sXB",leftPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,cz:0,parentId:"67y6tGP5Z273J9KfaZt2qW",rightRoofHeight:6,lz:6,type:"Wall",cx:-9.978742943359643,relativeAngle:-1.5707963267948948,foundationId:"67y6tGP5Z273J9KfaZt2qW",normal:[0,0,1],rightJoints:["c2T86bj1Ndr1wBUNfBDMTd"],textureType:"Wall Texture Default",locked:!1,selected:!1,centerRoofHeight:[0,6.274887651356121],windows:[],roofId:"vamU7TTNZeBARJChC8HbPy",leftRoofHeight:6,rightPoint:[-9.97874294335964,-2.052903625800489,0],rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,id:"vyB1xaFqKE2eYECPWHSjtt",textureType:"Wall Texture Default",lx:7.816451282590123,leftRoofHeight:6,color:"white",selected:!1,roofId:"vamU7TTNZeBARJChC8HbPy",showLabel:!1,cz:3.7151685093329987,cx:-6.0705173020645855,rotation:[0,0,-.41015237421866746],type:"Wall",rightPoint:[-9.978742943359647,1.9676858128520083,0],ly:.3,lineWidth:.2,windows:[],parentId:"67y6tGP5Z273J9KfaZt2qW",foundationId:"67y6tGP5Z273J9KfaZt2qW",leftJoints:["vVaHoupmNeeUhBf8aEhNwN"],cy:1.9676858128520038,locked:!1,relativeAngle:3.1415926535897922,rightJoints:["42wy1mrJXkRG5d8TpG2sXB"],leftPoint:[-2.1622916607695246,1.9676858128519996,0],lineColor:"black",lz:6,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:.5,id:"vr622m4sUbseJrnaD3qEiM",cx:-34.35924569376295,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lz:1,normal:[0,0,1],solarPowerTower:{},selected:!1,lx:9.87769053193653,ly:13.609083182601537,solarUpdraftTower:{},locked:!1,parentId:"Ground",type:"Foundation",cy:-110.59011455401989},{leftJoints:["mMXGrqXV1RkkkiT4sMy7uW"],lineWidth:.2,cz:0,rightRoofHeight:5.5,rightPoint:[-3.499999999999999,5.5,0],cy:5.5,relativeAngle:3.141592653589793,color:"white",roofId:"2v86EFgUZGnV81678JbvWF",locked:!1,windows:[],leftPoint:[3.5,5.5,0],lz:5.5,selected:!1,type:"Wall",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",showLabel:!1,id:"3XaMSJRAJ16nXkn1WKx9DA",lx:6.999999999999999,foundationId:"vr622m4sUbseJrnaD3qEiM",ly:.3,rightJoints:["fgcrmKBkK397YQPfDfJ1C1"],parentId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,lineColor:"black",cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{rightJoints:["3XaMSJRAJ16nXkn1WKx9DA"],lx:6.000000000000007,windows:[],rotation:[0,0,-.41015237421866746],locked:!1,normal:[0,0,1],lineColor:"black",showLabel:!1,leftJoints:["gphnEpjKALdRhPrtitPn39"],lz:5.5,rightRoofHeight:5.5,selected:!1,foundationId:"vr622m4sUbseJrnaD3qEiM",leftRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",ly:.3,lineWidth:.2,cy:2.5000000000000036,id:"mMXGrqXV1RkkkiT4sMy7uW",rightPoint:[3.499999999999996,5.500000000000007,0],cz:0,textureType:"Wall Texture Default",leftPoint:[3.5,-.5,0],relativeAngle:1.5707963267948974,type:"Wall",roofId:"2v86EFgUZGnV81678JbvWF",cx:3.4999999999999982,color:"white",centerRoofHeight:[.5,5.5],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,type:"Wall",windows:[],leftPoint:[-3.499999999999999,5.5,0],parentId:"vr622m4sUbseJrnaD3qEiM",normal:[0,0,1],rightRoofHeight:5.5,color:"white",lineWidth:.2,cz:0,rotation:[0,0,-.41015237421866746],lz:5.5,lineColor:"black",lx:6,leftRoofHeight:5.5,centerRoofHeight:[-.5,5.5],cy:2.5,foundationId:"vr622m4sUbseJrnaD3qEiM",relativeAngle:4.71238898038469,roofId:"2v86EFgUZGnV81678JbvWF",rightJoints:["gphnEpjKALdRhPrtitPn39"],locked:!1,cx:-3.4999999999999996,textureType:"Wall Texture Default",leftJoints:["3XaMSJRAJ16nXkn1WKx9DA"],ly:.3,id:"fgcrmKBkK397YQPfDfJ1C1",showLabel:!1,rightPoint:[-3.5,-.5,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{lz:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],foundationId:"vr622m4sUbseJrnaD3qEiM",cy:-.5000000000000013,cx:-11102230246251565e-31,rightPoint:[3.5,-.5,0],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],color:"white",rightRoofHeight:5.5,parentId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:7.000000000000002,lineColor:"black",id:"gphnEpjKALdRhPrtitPn39",selected:!1,rightJoints:["mMXGrqXV1RkkkiT4sMy7uW"],relativeAngle:3806478941571964e-31,lineWidth:.2,roofId:"2v86EFgUZGnV81678JbvWF",ly:.3,leftRoofHeight:5.5,normal:[0,0,1],textureType:"Wall Texture Default",leftJoints:["fgcrmKBkK397YQPfDfJ1C1"],windows:[],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],lz:0,selected:!1,lineWidth:.2,lineColor:"black",ridgeLeftPoint:[-.5,1],roofType:"Gable",rotation:[0,0,-.41015237421866746],ridgeRightPoint:[.5,1],color:"#ffffff",wallsId:["gphnEpjKALdRhPrtitPn39"],foundationId:"vr622m4sUbseJrnaD3qEiM",showLabel:!1,lx:0,ly:0,type:"Roof",id:"2v86EFgUZGnV81678JbvWF",cy:0,textureType:"No Roof Texture",parentId:"vr622m4sUbseJrnaD3qEiM",locked:!1,thickness:.2,cz:0,cx:0,rise:0,ceiling:!1},{faceColors:["#808080","#808080","#808080","#808080","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:10,color:"#808080",rotation:[0,0,-.41015237421866746],id:"tJwtVMueteLadJkjPMvgHJ",ly:5.2309404248682405,lx:17.77873962075454,parentId:"Ground",cy:-91.40202421369783,selected:!1,cx:-30.993558257452644,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1},{normal:[0,0,1],locked:!1,cy:-78.92340302016538,type:"Cuboid",color:"gray",lx:1.0334892378492886,id:"bsLSWBxdTE3mxEDuQuAp85",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,lz:10,parentId:"Ground",ly:1.0961848981988211,faceColors:["gray","gray","gray","gray","gray","gray"],cz:5,rotation:[0,0,-.41015237421866746],cx:-51.860873283037826},{cx:-50.86971253877132,cy:-76.80735590147192,color:"gray",parentId:"Ground",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lz:10,ly:1.0961848981988211,cz:5,faceColors:["gray","gray","gray","gray","gray","gray"],id:"iiF3WkKwiFkKBVE2vpXCby",lx:1.0334892378492886,normal:[0,0,1],locked:!1,type:"Cuboid"},{cx:-40.795288101438004,normal:[0,0,1],selected:!1,cy:-87.54304825772702,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.57584749281375,cz:5,type:"Cuboid",locked:!1,id:"fxmDEQJYBtbGKzqxLPsYbc",rotation:[0,0,-.41015237421866746],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,parentId:"Ground",color:"gray",lx:2.5033124327375345},{cx:-65.84838339559631,parentId:"Ground",id:"gEHbpQXkCu9RtbMyy3Xryz",solarPowerTower:{},cz:.5,type:"Foundation",lz:1,locked:!1,normal:[0,0,1],solarUpdraftTower:{},lx:23.72966343486742,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},selected:!1,ly:44.45702535517728,cy:23.93484529988586},{foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,type:"Wall",lineWidth:.2,rightJoints:["e5up5WS9fCbKNmdUhKFsh6"],ly:.3,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftJoints:["wxDvuiUvYK71aR1xZ9r86C"],cx:6.378439777987635,windows:[],roofId:"8JTXb2hRmgAaiTxMs35gh1",rightRoofHeight:5,leftRoofHeight:5,leftPoint:[6.378439777987634,-14.93662498464927,0],normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],selected:!1,color:"white",rightPoint:[6.378439777987638,13.906512916742425,0],relativeAngle:1.5707963267948966,lz:5,showLabel:!1,lineColor:"black",lx:28.843137901391696,id:"pk5HH5mW7Fkgf2nUSMZyW9",textureType:"Wall Texture Default",cy:-.5150560339534227,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,locked:!1,relativeAngle:0,selected:!1,rightRoofHeight:5,color:"white",lineColor:"black",lx:6.909976426153277,ly:.3,textureType:"Wall Texture Default",windows:[],leftPoint:[-.5315366481656362,-14.93662498464927,0],lz:5,rightJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],type:"Wall",cx:2.9234515649110024,rightPoint:[6.378439777987641,-14.93662498464927,0],leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,rotation:[0,0,-.41015237421866746],roofId:"8JTXb2hRmgAaiTxMs35gh1",normal:[0,0,1],leftJoints:["jmovDX25miN2VZhEhqh9uy"],cy:-14.93662498464927,lineWidth:.2,parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"wxDvuiUvYK71aR1xZ9r86C",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["ncaNE7qPYcxTMDrSjrKjqC"],type:"Wall",lz:5,rightRoofHeight:5,cy:13.906512916742425,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",selected:!1,cx:2.923451564911001,lx:6.909976426153274,cz:0,lineWidth:.2,id:"e5up5WS9fCbKNmdUhKFsh6",leftJoints:["pk5HH5mW7Fkgf2nUSMZyW9"],locked:!1,lineColor:"black",showLabel:!1,leftRoofHeight:5,ly:.3,leftPoint:[6.378439777987638,13.906512916742425,0],color:"white",roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",textureType:"Wall Texture Default",rightPoint:[-.5315366481656362,13.906512916742425,0],rotation:[0,0,-.41015237421866746],relativeAngle:3.141592653589793,windows:[],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],parentId:"gEHbpQXkCu9RtbMyy3Xryz",id:"ncaNE7qPYcxTMDrSjrKjqC",rightJoints:["4z9pAxyVBGgvcBfL2oBkTg"],lineColor:"black",color:"white",type:"Wall",cy:11.331232746975312,locked:!1,windows:[],rightPoint:[-2.6576832408281814,8.755952577208193,0],lz:5,roofId:"8JTXb2hRmgAaiTxMs35gh1",leftJoints:["e5up5WS9fCbKNmdUhKFsh6"],selected:!1,lx:5.572142419633009,leftPoint:[-.5315366481656337,13.90651291674243,0],relativeAngle:-1.962287472589105,leftRoofHeight:5,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,cz:0,textureType:"Wall Texture Default",lineWidth:.2,rightRoofHeight:5,cx:-1.5946099444969075,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-2.6576832408281814,-10.301120679068463,0],lineColor:"black",id:"jmovDX25miN2VZhEhqh9uy",leftJoints:["vmWMc4Nmqnx9AxgePRvtFK"],rightRoofHeight:5,ly:.3,cz:0,windows:[],relativeAngle:-1.1407594566434893,parentId:"gEHbpQXkCu9RtbMyy3Xryz",leftRoofHeight:5,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lz:5,showLabel:!1,color:"white",cy:-12.618872831858864,roofId:"8JTXb2hRmgAaiTxMs35gh1",lx:5.0998430858751655,cx:-1.5946099444969064,lineWidth:.2,type:"Wall",normal:[0,0,1],locked:!1,rightPoint:[-.5315366481656315,-14.936624984649265,0],selected:!1,rightJoints:["wxDvuiUvYK71aR1xZ9r86C"],foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{lineColor:"black",type:"Wall",leftPoint:[-2.657683240828184,8.75595257720819,0],rightRoofHeight:5,leftRoofHeight:5,rotation:[0,0,-.41015237421866746],color:"white",normal:[0,0,1],ly:.3,textureType:"Wall Texture Default",parentId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,lz:5,showLabel:!1,rightPoint:[-3.720756537159453,3.0903362037205393,0],relativeAngle:-1.756275603957499,cx:-3.1892198889938186,leftJoints:["ncaNE7qPYcxTMDrSjrKjqC"],roofId:"8JTXb2hRmgAaiTxMs35gh1",lineWidth:.2,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",windows:[],lx:5.764489025482136,id:"4z9pAxyVBGgvcBfL2oBkTg",selected:!1,rightJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],locked:!1,cy:5.923144390464365,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-3.720756537159453,-3.605392237673962,0],roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",showLabel:!1,leftRoofHeight:5,cx:-3.1892198889938137,leftJoints:["9Zt1Jh2MmnkaBKaBtYD19E"],type:"Wall",cy:-6.953256458371211,windows:[],color:"white",rightRoofHeight:5,rightJoints:["jmovDX25miN2VZhEhqh9uy"],textureType:"Wall Texture Default",lx:6.779594692477702,lz:5,rightPoint:[-2.6576832408281743,-10.30112067906846,0],relativeAngle:-1.4133416859659305,lineColor:"black",id:"vmWMc4Nmqnx9AxgePRvtFK",ly:.3,rotation:[0,0,-.41015237421866746],lineWidth:.2,locked:!1,foundationId:"gEHbpQXkCu9RtbMyy3Xryz",cz:0,normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{showLabel:!1,lz:5,type:"Wall",leftJoints:["4z9pAxyVBGgvcBfL2oBkTg"],relativeAngle:-1.5707963267948966,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,lineColor:"black",rightJoints:["vmWMc4Nmqnx9AxgePRvtFK"],windows:[],color:"white",ly:.3,roofId:"8JTXb2hRmgAaiTxMs35gh1",parentId:"gEHbpQXkCu9RtbMyy3Xryz",rightRoofHeight:5,id:"9Zt1Jh2MmnkaBKaBtYD19E",leftPoint:[-3.720756537159453,3.0903362037205393,0],lineWidth:.2,lx:6.695728441394501,rightPoint:[-3.720756537159453,-3.605392237673962,0],cy:-.25752801697671135,cz:0,leftRoofHeight:5,locked:!1,cx:-3.720756537159453,textureType:"Wall Texture Default",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{normal:[0,0,1],type:"Foundation",solarPowerTower:{},cz:.5,parentId:"Ground",lx:60.173882739434646,solarAbsorberPipe:{},id:"iUb7PSjszf44Zg2YisnC92",rotation:[0,0,-.41015237421866746],locked:!1,ly:39.103180000408386,selected:!1,cy:-92.19721962691857,cx:-31.79924395729909,lz:1,solarUpdraftTower:{}},{cy:-.32818957860566655,normal:[0,0,1],relativeAngle:1.5707963267948966,rightPoint:[29.377149084975663,17.921810421394337,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:5,type:"Wall",locked:!1,cz:0,roofId:"sYHDayEkzyov7moz6ZSxMu",lx:36.5,selected:!1,leftPoint:[29.377149084975656,-18.57818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",id:"8M5AjFRvfsj1XtZsKZtgrR",leftJoints:["vBUTysuRjhgkSBTqe4LbYB"],cx:29.37714908497567,ly:.3,rightJoints:["fof9eWFH74VGAR5Qpn7HGe"],color:"white",foundationId:"iUb7PSjszf44Zg2YisnC92",textureType:"Wall Texture Default",lz:5,leftRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightRoofHeight:5,ly:.3,cy:-18.328189578605663,lz:5,locked:!1,cx:.3771490849756667,cz:0,leftPoint:[-28.622850915024337,-18.07818957860566,1],parentId:"iUb7PSjszf44Zg2YisnC92",color:"white",lx:58.00215513237418,id:"vBUTysuRjhgkSBTqe4LbYB",selected:!1,normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",relativeAngle:6.27456483106745,leftRoofHeight:5,leftJoints:["nSEqG4yU7gG9aGhAQPfSs7"],rightJoints:["8M5AjFRvfsj1XtZsKZtgrR"],rotation:[0,0,-.41015237421866746],rightPoint:[29.37714908497567,-18.578189578605652,1],foundationId:"iUb7PSjszf44Zg2YisnC92",roofId:"sYHDayEkzyov7moz6ZSxMu",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,color:"white",cz:0,relativeAngle:4.726276976315656,type:"Wall",rightPoint:[-28.622850915024348,-18.078189578605663,1],parentId:"iUb7PSjszf44Zg2YisnC92",cy:-.07818957860566123,rightRoofHeight:5,lx:36.003472054789384,foundationId:"iUb7PSjszf44Zg2YisnC92",locked:!1,ly:.3,rightJoints:["vBUTysuRjhgkSBTqe4LbYB"],textureType:"Wall Texture Default",leftJoints:["fof9eWFH74VGAR5Qpn7HGe"],rotation:[0,0,-.41015237421866746],leftPoint:[-29.122850915024344,17.921810421394333,1],lz:5,cx:-28.87285091502434,id:"nSEqG4yU7gG9aGhAQPfSs7",leftRoofHeight:5,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"iUb7PSjszf44Zg2YisnC92",cz:0,lx:58.50000000000001,color:"white",leftRoofHeight:5,leftPoint:[29.377149084975663,17.921810421394337,1],rightPoint:[-29.122850915024344,17.921810421394333,1],rightRoofHeight:5,type:"Wall",leftJoints:["8M5AjFRvfsj1XtZsKZtgrR"],cx:.12714908497566135,cy:17.921810421394333,roofId:"sYHDayEkzyov7moz6ZSxMu",selected:!1,id:"fof9eWFH74VGAR5Qpn7HGe",lz:5,relativeAngle:3.141592653589793,locked:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],parentId:"iUb7PSjszf44Zg2YisnC92",rightJoints:["nSEqG4yU7gG9aGhAQPfSs7"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{ridgeLeftPoint:[0,1],wallsId:["vyB1xaFqKE2eYECPWHSjtt"],selected:!1,lineColor:"black",thickness:.2,textureType:"No Roof Texture",cy:0,locked:!1,lx:0,foundationId:"67y6tGP5Z273J9KfaZt2qW",type:"Roof",id:"vamU7TTNZeBARJChC8HbPy",ridgeRightPoint:[0,1],showLabel:!1,cz:0,lineWidth:.2,lz:0,cx:0,parentId:"67y6tGP5Z273J9KfaZt2qW",ly:0,color:"#ffffff",roofType:"Gable",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rise:.2748876513561207,ceiling:!1},{rotation:[0,0,-.41015237421866746],color:"white",leftJoints:["aAXg3DaZ5U93pUr6mT9qRa"],rightPoint:[21.241978419322884,-31.078254176042062,1],relativeAngle:-8350902447731317e-31,cz:0,lz:6,normal:[0,0,1],leftPoint:[-21.300892857609153,-31.07825417604202,1],rightJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],textureType:"Wall Texture Default",cx:-.02945721914313104,cy:-31.078254176042037,selected:!1,lx:42.54287127693204,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eH6hFH3ypVjToGKtFHdgq1",ly:.3,parentId:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftRoofHeight:6,rightRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{leftJoints:["eH6hFH3ypVjToGKtFHdgq1"],cx:21.241978419322905,textureType:"Wall Texture Default",type:"Wall",parentId:"un11oZ7V5tAhWhFKuL8M5Q",lx:60.8712338982037,locked:!1,roofId:"a67eFG3dY8EiYs3GWgTwsF",id:"eVDG7gqXM3uLaHhJS5k6Fh",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",selected:!1,lz:6,cz:0,rightPoint:[21.241978419322912,29.792979722161636,1],leftPoint:[21.241978419322884,-31.078254176042062,1],rotation:[0,0,-.41015237421866746],rightRoofHeight:6,leftRoofHeight:6,ly:.3,rightJoints:["n7z5CC6u32wsAzBksvYYPh"],color:"white",relativeAngle:1.5707963267948961,normal:[0,0,1],cy:-.6426372269402103,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",id:"n7z5CC6u32wsAzBksvYYPh",cz:0,cx:-.029457219143118607,color:"white",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",leftPoint:[21.241978419322912,29.792979722161636,1],rightPoint:[-21.300892857609156,29.792979722161586,1],rightJoints:["aAXg3DaZ5U93pUr6mT9qRa"],lx:42.542871276932075,lz:6,locked:!1,rightRoofHeight:6,selected:!1,ly:.3,cy:29.792979722161608,relativeAngle:-3.1415926535897922,textureType:"Wall Texture Default",leftRoofHeight:6,normal:[0,0,1],leftJoints:["eVDG7gqXM3uLaHhJS5k6Fh"],rotation:[0,0,-.41015237421866746],roofId:"a67eFG3dY8EiYs3GWgTwsF",parentId:"un11oZ7V5tAhWhFKuL8M5Q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"un11oZ7V5tAhWhFKuL8M5Q",textureType:"Wall Texture Default",cy:-.6426372269402094,cx:-21.300892857609156,ly:.3,normal:[0,0,1],rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948966,lx:60.87123389820361,leftPoint:[-21.300892857609156,29.792979722161586,1],rightPoint:[-21.300892857609153,-31.07825417604202,1],selected:!1,leftRoofHeight:6,locked:!1,rightJoints:["eH6hFH3ypVjToGKtFHdgq1"],rightRoofHeight:6,foundationId:"un11oZ7V5tAhWhFKuL8M5Q",id:"aAXg3DaZ5U93pUr6mT9qRa",cz:0,color:"white",lz:6,type:"Wall",roofId:"a67eFG3dY8EiYs3GWgTwsF",leftJoints:["n7z5CC6u32wsAzBksvYYPh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{solarUpdraftTower:{},parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},selected:!1,cy:87.53589386962994,lz:1,cz:.5,type:"Foundation",id:"un11oZ7V5tAhWhFKuL8M5Q",locked:!1,normal:[0,0,1],cx:45.25333009420649,solarAbsorberPipe:{},lx:43.198179226129824,ly:63.27584645952004},{rightJoints:["e9GuUTJEvD6Q7osTyxTwrk"],color:"white",lx:52.85122191172576,rightRoofHeight:10,ly:.3,lz:10,leftRoofHeight:10,cx:-1.8343056423094959,locked:!1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:3.141592653589793,leftJoints:["3Yax97DpPm9sAXkyokJjCv"],type:"Wall",parentId:"pdEGhJFD3W3BmcX1EPbyWH",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",cz:0,cy:17.27662252082144,leftPoint:[24.59130531355338,17.276622520821444,1],id:"2zTB9zP2crzAGhXAKtKuuQ",rightPoint:[-28.259916598172374,17.276622520821448,1],selected:!1,textureType:"Wall Texture Default",roofId:"u17BQ8h2PCTPBYHjaSoxnN",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,rightPoint:[24.591305313553377,17.276622520821448,1],leftJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightJoints:["2zTB9zP2crzAGhXAKtKuuQ"],cx:24.591305313553377,normal:[0,0,1],foundationId:"pdEGhJFD3W3BmcX1EPbyWH",id:"3Yax97DpPm9sAXkyokJjCv",type:"Wall",locked:!1,lx:33.26826380090492,rotation:[0,0,-.41015237421866746],ly:.3,textureType:"Wall Texture Default",color:"white",relativeAngle:1.5707963267948968,lz:10,leftPoint:[24.591305313553377,-15.991641280083474,1],selected:!1,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofId:"u17BQ8h2PCTPBYHjaSoxnN",leftRoofHeight:10,cz:0,cy:.6424906203689869,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"u17BQ8h2PCTPBYHjaSoxnN",rightRoofHeight:10,normal:[0,0,1],cy:-15.99164128008347,rotation:[0,0,-.41015237421866746],rightPoint:[24.59130531355339,-15.99164128008347,1],relativeAngle:13444206397855422e-32,leftJoints:["e9GuUTJEvD6Q7osTyxTwrk"],leftRoofHeight:10,textureType:"Wall Texture Default",lz:10,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",leftPoint:[-28.259916598172378,-15.991641280083478,1],cx:-1.8343056423094914,ly:.3,parentId:"pdEGhJFD3W3BmcX1EPbyWH",id:"9QvBYUfBnBzYQEjDjyYwwJ",cz:0,rightJoints:["3Yax97DpPm9sAXkyokJjCv"],selected:!1,type:"Wall",locked:!1,color:"white",lx:52.85122191172576,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:33.268263800904926,roofId:"u17BQ8h2PCTPBYHjaSoxnN",locked:!1,color:"white",lz:10,leftPoint:[-28.259916598172374,17.276622520821448,1],cz:0,cx:-28.259916598172378,foundationId:"pdEGhJFD3W3BmcX1EPbyWH",rightRoofHeight:10,rightJoints:["9QvBYUfBnBzYQEjDjyYwwJ"],rightPoint:[-28.25991659817238,-15.991641280083474,1],leftJoints:["2zTB9zP2crzAGhXAKtKuuQ"],rotation:[0,0,-.41015237421866746],cy:.6424906203689869,parentId:"pdEGhJFD3W3BmcX1EPbyWH",leftRoofHeight:10,selected:!1,id:"e9GuUTJEvD6Q7osTyxTwrk",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",relativeAngle:-1.5707963267948968,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:35.70031798940237,cy:9.0346445367948,cx:-34.76955763240692,solarPowerTower:{},id:"pdEGhJFD3W3BmcX1EPbyWH",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,parentId:"Ground",type:"Foundation",color:"#808080",lx:61.18626972549096,rotation:[0,0,-.41015237421866746],locked:!1,cz:.5},{ly:.3,rightJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[-11.5,12.5,0],selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftRoofHeight:5,color:"white",rightRoofHeight:5,locked:!1,leftJoints:["9NzKjLTF3oM85YSQpL4gnd"],relativeAngle:1.5707963267948961,lz:5,cx:-11.5,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",cz:0,lx:4.5000000000000036,cy:10.249999999999998,parentId:"5Ccs4YQJG3fyuyHdGw79zD",textureType:"Wall Texture Default",id:"qVHFnW8AAY4XUoieeiErxH",leftPoint:[-11.500000000000002,7.9999999999999964,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cy:-3.699284342853991,cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"o6KGNbWFg87od5BX9EpsTo",leftRoofHeight:5,rightJoints:["9NzKjLTF3oM85YSQpL4gnd"],lz:5,normal:[0,0,1],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightPoint:[19,8,0],type:"Wall",rightRoofHeight:5,lx:23.399166797479726,locked:!1,leftJoints:["2TSEdoLpnDva8vLd5CzUbS"],relativeAngle:1.577946340946004,selected:!1,textureType:"Wall Texture Default",cx:19.08365147411056,color:"white",rotation:[0,0,-.41015237421866746],ly:.3,leftPoint:[19.167302948221124,-15.398568685707982,0],parentId:"5Ccs4YQJG3fyuyHdGw79zD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{roofId:"iLELU7fMnA7QkYUmgQBEWM",id:"2TSEdoLpnDva8vLd5CzUbS",rightRoofHeight:5,locked:!1,normal:[0,0,1],cy:-15.449284342853987,parentId:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],leftPoint:[-17.5,-15.5,0],foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightPoint:[19.16730294822113,-15.398568685707975,0],selected:!1,rightJoints:["o6KGNbWFg87od5BX9EpsTo"],leftJoints:["g6f1sfDxicEvG7uLqaixdo"],relativeAngle:.0027662535123536003,type:"Wall",cx:.8336514741105656,lz:5,textureType:"Wall Texture Default",leftRoofHeight:5,lx:36.667443240675304,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftJoints:["susL6EqdzG6nqxMNGZaDXi"],rightPoint:[-17.5,-15.5,0],rotation:[0,0,-.41015237421866746],ly:.3,leftRoofHeight:5,selected:!1,color:"white",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"g6f1sfDxicEvG7uLqaixdo",parentId:"5Ccs4YQJG3fyuyHdGw79zD",lx:12.5,textureType:"Wall Texture Default",locked:!1,rightJoints:["2TSEdoLpnDva8vLd5CzUbS"],cy:-9.25,type:"Wall",leftPoint:[-17.5,-3,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",rightRoofHeight:5,lz:5,relativeAngle:4.71238898038469,cx:-17.5,cz:0,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,ly:46.30008176444467,color:"#808080",selected:!1,solarUpdraftTower:{},locked:!1,solarAbsorberPipe:{},type:"Foundation",cy:36.64822593291561,id:"5Ccs4YQJG3fyuyHdGw79zD",rotation:[0,0,-.41015237421866746],cx:-16.881510447516995,lx:50.75601134711293,parentId:"Ground",lz:1,normal:[0,0,1],solarPowerTower:{}},{type:"Wall",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384212,13.466478685194005,1],rightJoints:["wv4UgZqFkoaJSym14cGEUi"],ly:.3,rightRoofHeight:10,roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,normal:[0,0,1],cx:2.2442947755447555,leftRoofHeight:10,relativeAngle:3.141592653589793,cy:13.466478685194003,cz:0,rotation:[0,0,-.41015237421866746],parentId:"bEJsUFdHaD6DHGcx6x8yR6",color:"white",id:"3VxH8hmRUhtWZN2xHFt4SG",selected:!1,textureType:"Wall Texture Default",leftJoints:["xrxYGVSxLCof2hSDyYDBhi"],leftPoint:[17.711998595473723,13.466478685193998,1],lz:10,lx:30.935407639857935,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[17.71199859547372,-9.01511632562459,1],color:"white",lz:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",rotation:[0,0,-.41015237421866746],cy:2.2256811797847043,lx:22.481595010818598,leftJoints:["arZ3wqpChkyUrckbL7omCG"],roofId:"gTmk5BL11HKrSyJkFQtskK",textureType:"Wall Texture Default",locked:!1,cx:17.71199859547372,rightPoint:[17.711998595473712,13.466478685194001,1],parentId:"bEJsUFdHaD6DHGcx6x8yR6",leftRoofHeight:10,ly:.3,type:"Wall",normal:[0,0,1],id:"xrxYGVSxLCof2hSDyYDBhi",relativeAngle:1.570796326794897,selected:!1,rightJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{foundationId:"bEJsUFdHaD6DHGcx6x8yR6",textureType:"Wall Texture Default",parentId:"bEJsUFdHaD6DHGcx6x8yR6",cy:-9.015116325624591,type:"Wall",roofId:"gTmk5BL11HKrSyJkFQtskK",locked:!1,selected:!1,relativeAngle:5742147832930279e-32,lx:30.935407639857935,id:"arZ3wqpChkyUrckbL7omCG",rightPoint:[17.711998595473727,-9.015116325624586,1],normal:[0,0,1],leftRoofHeight:10,leftPoint:[-13.223409044384207,-9.015116325624595,1],cx:2.244294775544758,ly:.3,cz:0,lz:10,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],leftJoints:["wv4UgZqFkoaJSym14cGEUi"],color:"white",rightJoints:["xrxYGVSxLCof2hSDyYDBhi"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],selected:!1,leftPoint:[-13.223409044384212,13.466478685194005,1],lx:22.4815950108186,cz:0,locked:!1,leftRoofHeight:10,foundationId:"bEJsUFdHaD6DHGcx6x8yR6",type:"Wall",parentId:"bEJsUFdHaD6DHGcx6x8yR6",rightPoint:[-13.223409044384217,-9.0151163256246,1],ly:.3,leftJoints:["3VxH8hmRUhtWZN2xHFt4SG"],rightRoofHeight:10,relativeAngle:-1.5707963267948968,cx:-13.22340904438421,id:"wv4UgZqFkoaJSym14cGEUi",roofId:"gTmk5BL11HKrSyJkFQtskK",cy:2.225681179784705,normal:[0,0,1],textureType:"Wall Texture Default",rightJoints:["arZ3wqpChkyUrckbL7omCG"],color:"white",lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:38.16899134770527,locked:!1,type:"Foundation",cz:.5,ly:29.987807733938208,solarAbsorberPipe:{},solarUpdraftTower:{},solarPowerTower:{},parentId:"Ground",cx:-9.057642071147427,rotation:[0,0,-.41015237421866746],color:"#808080",id:"bEJsUFdHaD6DHGcx6x8yR6",normal:[0,0,1],cy:51.32581716422129,lz:1,selected:!1},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],leftRoofHeight:5,lx:19.88616352810249,selected:!1,rightJoints:["bQ2Kx7puBgpzyzLtLqMSws"],normal:[0,0,1],ly:.3,cz:0,color:"white",leftJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",id:"wQJum4dZFQ5ppcaqoirdh1",rightPoint:[-8.228455824549409,10.031147764731335,1],lz:5,locked:!1,cx:1.7146259395018353,textureType:"Wall Texture Default",relativeAngle:3.141592653589793,parentId:"wBnvyTf1aAJoT1h5Lem3nN",type:"Wall",cy:10.03114776473134,leftPoint:[11.657707703553081,10.031147764731333,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cz:0,roofId:"1qyyipEsGS2s5T9XgP6Hmh",type:"Wall",color:"white",selected:!1,parentId:"wBnvyTf1aAJoT1h5Lem3nN",leftPoint:[11.657707703553083,-7.894846587717293,1],ly:.3,rightRoofHeight:5,relativeAngle:1.5707963267948972,normal:[0,0,1],rotation:[0,0,-.41015237421866746],foundationId:"wBnvyTf1aAJoT1h5Lem3nN",lx:17.92599435244863,leftRoofHeight:5,leftJoints:["cEMfGqLjg1Ef23MmrZJMBi"],id:"oiFAJnXcnAH7zdnComwnZ7",cy:1.0681505885070242,lz:5,rightJoints:["wQJum4dZFQ5ppcaqoirdh1"],textureType:"Wall Texture Default",cx:11.657707703553074,rightPoint:[11.657707703553076,10.03114776473133,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],locked:!1,relativeAngle:8932627134891857e-32,lz:5,ly:.3,cy:-7.894846587717294,lx:19.886163528102486,selected:!1,leftRoofHeight:5,rightJoints:["oiFAJnXcnAH7zdnComwnZ7"],roofId:"1qyyipEsGS2s5T9XgP6Hmh",color:"white",normal:[0,0,1],parentId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,cx:1.714625939501836,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightPoint:[11.657707703553083,-7.894846587717293,1],type:"Wall",leftJoints:["bQ2Kx7puBgpzyzLtLqMSws"],id:"cEMfGqLjg1Ef23MmrZJMBi",cz:0,leftPoint:[-8.22845582454941,-7.894846587717293,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{foundationId:"wBnvyTf1aAJoT1h5Lem3nN",rightRoofHeight:5,selected:!1,cx:-8.228455824549414,locked:!1,cz:0,color:"white",roofId:"1qyyipEsGS2s5T9XgP6Hmh",rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948968,rightJoints:["cEMfGqLjg1Ef23MmrZJMBi"],type:"Wall",leftJoints:["wQJum4dZFQ5ppcaqoirdh1"],lx:17.925994352448633,cy:1.0681505885070197,leftPoint:[-8.228455824549409,10.031147764731335,1],id:"bQ2Kx7puBgpzyzLtLqMSws",parentId:"wBnvyTf1aAJoT1h5Lem3nN",ly:.3,normal:[0,0,1],textureType:"Wall Texture Default",rightPoint:[-8.22845582454941,-7.894846587717293,1],leftRoofHeight:5,lz:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{parentId:"Ground",rotation:[0,0,-.41015237421866746],id:"wBnvyTf1aAJoT1h5Lem3nN",type:"Foundation",solarAbsorberPipe:{},ly:25.324222344655617,cx:-30.225503309474327,solarPowerTower:{},cz:.5,lz:1,normal:[0,0,1],locked:!1,lx:23.992259398375765,color:"#808080",solarUpdraftTower:{},cy:64.37240201413404,selected:!1},{selected:!1,color:"white",rightRoofHeight:5,ly:.3,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"9NzKjLTF3oM85YSQpL4gnd",cy:7.999999999999999,cz:0,leftJoints:["o6KGNbWFg87od5BX9EpsTo"],lx:30.5,leftRoofHeight:5,showLabel:!1,lineColor:"black",leftPoint:[19,7.999999999999998,0],locked:!1,lz:5,cx:3.75,normal:[0,0,1],rightJoints:["qVHFnW8AAY4XUoieeiErxH"],lineWidth:.2,rightPoint:[-11.5,8,0],roofId:"iLELU7fMnA7QkYUmgQBEWM",type:"Wall",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",relativeAngle:3.141592653589793,rotation:[0,0,-.41015237421866746],windows:[],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rightJoints:["4HqBTHcSgWW5QKhSZyPhns"],selected:!1,rightRoofHeight:5,id:"uSo7fsB5ruR2pmb3hS5LJZ",leftPoint:[-11.5,12.499999999999998,0],leftRoofHeight:5,lz:5,relativeAngle:3.141592653589793,showLabel:!1,lx:12,cz:0,textureType:"Wall Texture Default",foundationId:"5Ccs4YQJG3fyuyHdGw79zD",leftJoints:["qVHFnW8AAY4XUoieeiErxH"],locked:!1,roofId:"iLELU7fMnA7QkYUmgQBEWM",cx:-17.5,parentId:"5Ccs4YQJG3fyuyHdGw79zD",lineWidth:.2,ly:.3,rotation:[0,0,-.41015237421866746],cy:12.5,normal:[0,0,1],type:"Wall",rightPoint:[-23.5,12.5,0],lineColor:"black",windows:[],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,lx:15.5,rightRoofHeight:5,leftRoofHeight:5,showLabel:!1,relativeAngle:4.71238898038469,cy:4.75,cz:0,parentId:"5Ccs4YQJG3fyuyHdGw79zD",color:"white",cx:-23.5,textureType:"Wall Texture Default",leftPoint:[-23.5,12.5,0],rotation:[0,0,-.41015237421866746],lineWidth:.2,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",ly:.3,rightJoints:["susL6EqdzG6nqxMNGZaDXi"],type:"Wall",roofId:"iLELU7fMnA7QkYUmgQBEWM",lz:5,lineColor:"black",id:"4HqBTHcSgWW5QKhSZyPhns",normal:[0,0,1],selected:!1,windows:[],leftJoints:["uSo7fsB5ruR2pmb3hS5LJZ"],rightPoint:[-23.5,-3,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{selected:!1,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",id:"susL6EqdzG6nqxMNGZaDXi",color:"white",cy:-3.000000000000001,cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[-17.5,-3,0],leftRoofHeight:5,lz:5,leftJoints:["4HqBTHcSgWW5QKhSZyPhns"],parentId:"5Ccs4YQJG3fyuyHdGw79zD",normal:[0,0,1],textureType:"Wall Texture Default",locked:!1,ly:.3,lx:6,leftPoint:[-23.5,-3.0000000000000018,0],lineColor:"black",lineWidth:.2,showLabel:!1,rightJoints:["g6f1sfDxicEvG7uLqaixdo"],windows:[],roofId:"iLELU7fMnA7QkYUmgQBEWM",relativeAngle:29605947323337506e-32,cx:-20.5,type:"Wall",rightRoofHeight:5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:3.141592653589793,color:"white",leftPoint:[14.941525004458317,12.56263735597024,1],cy:12.562637355970242,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,rightPoint:[-13.249437673269998,12.562637355970246,1],cx:.8460436655941601,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,rightJoints:["1RLyYLqhL7EB8W88F1YjMf"],leftJoints:["8SK72dWsX2KdwBhjqAJrHR"],normal:[0,0,1],type:"Wall",lz:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",textureType:"Wall Texture Default",rightRoofHeight:12,lx:28.190962677728308,parentId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,locked:!1,id:"eAv1PVUtpNQ3MSDZw48MQs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightJoints:["eAv1PVUtpNQ3MSDZw48MQs"],locked:!1,rightRoofHeight:12,lx:23.84442368092651,leftRoofHeight:12,ly:.3,relativeAngle:1.573797223078846,type:"Wall",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",id:"8SK72dWsX2KdwBhjqAJrHR",cz:0,color:"white",cx:14.977302271968785,rotation:[0,0,-.41015237421866746],leftJoints:["feUXDC3dk8QN3nPhgvxRs7"],selected:!1,leftPoint:[15.013079539479259,-11.281678961006573,1],lz:12,cy:.6404791974818389,rightPoint:[14.941525004458313,12.562637355970246,1],textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{parentId:"9VLFJ7oUEizHpLYBMkGrSR",locked:!1,id:"mJUeyE2zphErZr6GzDs3tZ",color:"white",leftJoints:["1RLyYLqhL7EB8W88F1YjMf"],rotation:[0,0,-.41015237421866746],lz:12,lx:10.00000000000001,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,rightJoints:["j1cSjqWhsVxayuMSQv24u3"],leftPoint:[-13.48692046052075,-20.78167896100656,1],selected:!1,textureType:"Wall Texture Default",leftRoofHeight:12,rightPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,relativeAngle:6.2831853071795845,cy:-20.781678961006566,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",type:"Wall",normal:[0,0,1],cx:-8.486920460520746,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{rightJoints:["mJUeyE2zphErZr6GzDs3tZ"],rightPoint:[-13.486920460520746,-20.78167896100657,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",locked:!1,textureType:"Wall Texture Default",ly:.3,rotation:[0,0,-.41015237421866746],leftRoofHeight:12,type:"Wall",normal:[0,0,1],cy:-4.109520802518161,rightRoofHeight:12,lz:12,selected:!1,leftJoints:["eAv1PVUtpNQ3MSDZw48MQs"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",relativeAngle:4.705266963855983,cx:-13.36817906689537,lx:33.345161998719504,id:"1RLyYLqhL7EB8W88F1YjMf",cz:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftPoint:[-13.249437673270002,12.562637355970253,1],color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{selected:!1,solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{},normal:[0,0,1],cy:-20.68271396979996,id:"9VLFJ7oUEizHpLYBMkGrSR",type:"Foundation",cz:.5,lz:1,lx:37.181112111986096,color:"#808080",cx:-37.24334643439944,locked:!1,ly:48.16142132853967,solarAbsorberPipe:{}},{rotation:[0,0,-.41015237421866746],rightRoofHeight:10,leftJoints:["2EixC2HpxvUhCDPQSQd8uE"],roofId:"teQS3ohvRHqAbgCQQahyC6",ly:.3,leftPoint:[22.429243972447885,21.46242092084928,1],type:"Wall",normal:[0,0,1],selected:!1,lz:10,lx:44.9605119434254,rightPoint:[-22.53126797097753,21.462420920849283,1],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",cx:-.05101199926482192,id:"c79sKVUHUztGcC5p3emVv9",color:"white",locked:!1,cy:21.46242092084928,cz:0,leftRoofHeight:10,relativeAngle:3.141592653589793,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",textureType:"Wall Texture Default",rightJoints:["rAsfTcgvLcTeECYxyTewjt"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"teQS3ohvRHqAbgCQQahyC6",cx:22.42924397244788,lz:10,cz:0,rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",type:"Wall",relativeAngle:1.5707963267948968,rightPoint:[22.429243972447868,21.46242092084928,1],normal:[0,0,1],id:"2EixC2HpxvUhCDPQSQd8uE",locked:!1,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",leftRoofHeight:10,lx:42.36942370339931,rightJoints:["c79sKVUHUztGcC5p3emVv9"],ly:.3,leftJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[22.42924397244787,-20.907002782550034,1],selected:!1,rightRoofHeight:10,cy:.27770906914962534,textureType:"Wall Texture Default",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,locked:!1,leftPoint:[-22.531267970977524,-20.90700278255003,1],roofId:"teQS3ohvRHqAbgCQQahyC6",lz:10,rightRoofHeight:10,leftJoints:["rAsfTcgvLcTeECYxyTewjt"],relativeAngle:15803706520383676e-32,rotation:[0,0,-.41015237421866746],cy:-20.907002782550027,selected:!1,lx:44.9605119434254,textureType:"Wall Texture Default",cx:-.05101199926482192,leftRoofHeight:10,type:"Wall",rightPoint:[22.429243972447882,-20.907002782550023,1],color:"white",ly:.3,rightJoints:["2EixC2HpxvUhCDPQSQd8uE"],id:"hxjd42T86KZffMsDx5Lnqd",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],ly:.3,locked:!1,cx:-22.531267970977524,leftRoofHeight:10,parentId:"tjMZKt5v9D1sx6sc6Xyaq2",color:"white",relativeAngle:-1.5707963267948968,textureType:"Wall Texture Default",selected:!1,type:"Wall",lz:10,rightRoofHeight:10,id:"rAsfTcgvLcTeECYxyTewjt",cz:0,cy:.27770906914962445,rightPoint:[-22.53126797097753,-20.90700278255004,1],leftJoints:["c79sKVUHUztGcC5p3emVv9"],rightJoints:["hxjd42T86KZffMsDx5Lnqd"],leftPoint:[-22.53126797097753,21.462420920849283,1],rotation:[0,0,-.41015237421866746],foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",roofId:"teQS3ohvRHqAbgCQQahyC6",lx:42.36942370339932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:.5,id:"tjMZKt5v9D1sx6sc6Xyaq2",lx:46.90554216771846,cy:18.6131690650482,locked:!1,color:"#808080",solarPowerTower:{},selected:!1,rotation:[0,0,-.41015237421866746],lz:1,parentId:"Ground",ly:43.713031743362755,cx:59.64808106801135,solarUpdraftTower:{},type:"Foundation",solarAbsorberPipe:{},normal:[0,0,1]},{leftJoints:["1nApY26ge55fxfDJGTDRg7"],color:"white",relativeAngle:3.141592653589793,normal:[0,0,1],selected:!1,leftPoint:[23.979857556057137,22.372040279665153,1],cy:22.37204027966516,cx:.07009613256013125,leftRoofHeight:10,rightPoint:[-23.83966529093686,22.372040279665164,1],lz:10,foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,rightJoints:["rZvSe3ehuF6gYShWHjg7Kt"],ly:.3,locked:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRoofHeight:10,roofId:"9TF7gEynqtnsWJGidoBUNq",id:"hcTBY8guDEpwEg5jtYtD3H",rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",lx:47.81952284699399,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],roofId:"9TF7gEynqtnsWJGidoBUNq",selected:!1,foundationId:"2LZNQJZFPrCxZzv5NuwumV",locked:!1,rightRoofHeight:10,textureType:"Wall Texture Default",parentId:"2LZNQJZFPrCxZzv5NuwumV",leftRoofHeight:10,rightPoint:[23.979857556057127,22.37204027966517,1],relativeAngle:1.5707963267948966,rightJoints:["hcTBY8guDEpwEg5jtYtD3H"],id:"1nApY26ge55fxfDJGTDRg7",lx:42.78808681818175,cy:.9779968705742945,cz:0,leftJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],color:"white",leftPoint:[23.979857556057127,-20.41604653851659,1],type:"Wall",normal:[0,0,1],ly:.3,cx:23.979857556057123,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{cz:0,id:"4gP6SGPKJj7CUqEnRFmQ9x",cy:-20.416046538516596,color:"white",locked:!1,relativeAngle:3714710506593678e-31,leftJoints:["rZvSe3ehuF6gYShWHjg7Kt"],rightPoint:[23.979857556057144,-20.41604653851658,1],lx:47.819522846994,selected:!1,ly:.3,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cx:.07009613256014546,lz:10,leftRoofHeight:10,type:"Wall",rightJoints:["1nApY26ge55fxfDJGTDRg7"],roofId:"9TF7gEynqtnsWJGidoBUNq",leftPoint:[-23.83966529093686,-20.416046538516596,1],rightRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,rightPoint:[-23.839665290936864,-20.416046538516596,1],leftJoints:["hcTBY8guDEpwEg5jtYtD3H"],roofId:"9TF7gEynqtnsWJGidoBUNq",cx:-23.839665290936868,rightJoints:["4gP6SGPKJj7CUqEnRFmQ9x"],leftPoint:[-23.83966529093686,22.372040279665164,1],cy:.9779968705742856,relativeAngle:-1.5707963267948968,id:"rZvSe3ehuF6gYShWHjg7Kt",ly:.3,selected:!1,parentId:"2LZNQJZFPrCxZzv5NuwumV",color:"white",lx:42.78808681818176,textureType:"Wall Texture Default",type:"Wall",foundationId:"2LZNQJZFPrCxZzv5NuwumV",cz:0,leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{locked:!1,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cz:.5,color:"#808080",lx:52.581175557196865,solarUpdraftTower:{},ly:46.345317346771616,lz:1,id:"2LZNQJZFPrCxZzv5NuwumV",selected:!1,type:"Foundation",cy:-66.29767782769949,solarPowerTower:{},normal:[0,0,1],cx:24.045330033541646,parentId:"Ground"},{textureType:"Wall Texture Default",lineColor:"black",leftPoint:[-3.4869204605207464,-20.78167896100657,1],ly:.3,rightRoofHeight:12,roofId:"g8pgyA4zcrzdfdvNphwHQy",lz:12,rightPoint:[8.51307953947926,-14.281678961006572,1],lineWidth:.2,relativeAngle:.4964227534048815,locked:!1,type:"Wall",cx:2.5130795394792607,windows:[],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",color:"white",id:"j1cSjqWhsVxayuMSQv24u3",showLabel:!1,selected:!1,lx:13.647344063956183,normal:[0,0,1],cz:0,cy:-17.531678961006573,leftJoints:["mJUeyE2zphErZr6GzDs3tZ"],leftRoofHeight:12,rotation:[0,0,-.41015237421866746],rightJoints:["svVfgRXxxLmkheyww2W4ad"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{leftPoint:[8.513079539479259,-11.281678961006572,1],roofId:"g8pgyA4zcrzdfdvNphwHQy",cz:0,id:"feUXDC3dk8QN3nPhgvxRs7",selected:!1,textureType:"Wall Texture Default",cx:11.763079539479257,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rightPoint:[15.013079539479259,-11.281678961006573,1],foundationId:"9VLFJ7oUEizHpLYBMkGrSR",leftRoofHeight:12,ly:.3,rotation:[0,0,-.41015237421866746],type:"Wall",lz:12,leftJoints:["svVfgRXxxLmkheyww2W4ad"],lineColor:"black",windows:[],cy:-11.28167896100657,normal:[0,0,1],rightJoints:["8SK72dWsX2KdwBhjqAJrHR"],relativeAngle:0,lineWidth:.2,rightRoofHeight:12,color:"white",showLabel:!1,locked:!1,lx:6.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{ly:.3,textureType:"Wall Texture Default",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"g8pgyA4zcrzdfdvNphwHQy",relativeAngle:1.5707963267948974,lineWidth:.2,selected:!1,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,-.41015237421866746],windows:[],lx:3.000000000000001,showLabel:!1,type:"Wall",color:"white",lineColor:"black",normal:[0,0,1],leftRoofHeight:12,rightJoints:["feUXDC3dk8QN3nPhgvxRs7"],lz:12,locked:!1,cx:8.513079539479259,cz:0,cy:-12.78167896100657,rightPoint:[8.513079539479259,-11.281678961006572,1],rightRoofHeight:12,leftJoints:["j1cSjqWhsVxayuMSQv24u3"],id:"svVfgRXxxLmkheyww2W4ad",leftPoint:[8.51307953947926,-14.281678961006572,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",color:"white",relativeAngle:3.1415926535897927,normal:[0,0,1],locked:!1,rotation:[0,0,-.41015237421866746],rightRoofHeight:5,lx:8.873370500562523,roofId:"iCAiZhiTVrLLqoQWH1g8xu",rightPoint:[-4.33188166169194,11.821078427256497,0],id:"1k4PTfybuAQ33E2nttLT4d",rightJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],lz:5,ly:.3,leftRoofHeight:5,cx:.10480358858932037,cy:11.821078427256495,leftPoint:[4.541488838870581,11.821078427256491,0],cz:0,selected:!1,textureType:"Wall Texture Default",parentId:"m4iUcU4yAYwkvkodEmkEet",foundationId:"m4iUcU4yAYwkvkodEmkEet",leftJoints:["annVBiZ5xysQxyv34DuQgv"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:0,foundationId:"m4iUcU4yAYwkvkodEmkEet",textureType:"Wall Texture Default",leftRoofHeight:5,type:"Wall",id:"annVBiZ5xysQxyv34DuQgv",rotation:[0,0,-.41015237421866746],selected:!1,color:"white",cy:-.7092647056353876,cx:4.541488838870581,ly:.3,parentId:"m4iUcU4yAYwkvkodEmkEet",normal:[0,0,1],roofId:"iCAiZhiTVrLLqoQWH1g8xu",locked:!1,rightRoofHeight:5,lz:5,rightPoint:[4.541488838870581,11.821078427256495,0],leftJoints:["fE5GSES3t1e72zkQ5eaMtN"],rightJoints:["1k4PTfybuAQ33E2nttLT4d"],leftPoint:[4.541488838870581,-13.23960783852727,0],relativeAngle:1.5707963267948966,lx:25.060686265783765,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{relativeAngle:4003792784912203e-31,cy:-13.239607838527268,rightPoint:[4.541488838870582,-13.239607838527267,0],locked:!1,rightRoofHeight:5,id:"fE5GSES3t1e72zkQ5eaMtN",leftRoofHeight:5,leftJoints:["dqGGsMEnQRvAtVj8JUXBJ1"],rightJoints:["annVBiZ5xysQxyv34DuQgv"],type:"Wall",cx:.10480358858932082,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftPoint:[-4.33188166169194,-13.23960783852727,0],foundationId:"m4iUcU4yAYwkvkodEmkEet",ly:.3,lx:8.873370500562523,lz:5,roofId:"iCAiZhiTVrLLqoQWH1g8xu",parentId:"m4iUcU4yAYwkvkodEmkEet",color:"white",selected:!1,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-4.33188166169194,11.821078427256497,0],rightRoofHeight:5,cz:0,cy:-.7092647056353867,foundationId:"m4iUcU4yAYwkvkodEmkEet",color:"white",rotation:[0,0,-.41015237421866746],roofId:"iCAiZhiTVrLLqoQWH1g8xu",leftJoints:["1k4PTfybuAQ33E2nttLT4d"],lz:5,textureType:"Wall Texture Default",lx:25.060686265783765,leftRoofHeight:5,cx:-4.33188166169194,locked:!1,id:"dqGGsMEnQRvAtVj8JUXBJ1",selected:!1,parentId:"m4iUcU4yAYwkvkodEmkEet",rightPoint:[-4.33188166169194,-13.23960783852727,0],normal:[0,0,1],ly:.3,type:"Wall",relativeAngle:-1.5707963267948966,rightJoints:["fE5GSES3t1e72zkQ5eaMtN"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{rotation:[0,0,-.41015237421866746],selected:!1,lx:12.02609775935612,parentId:"Ground",solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],cz:.5,locked:!1,lz:1,ly:39.808565196188674,type:"Foundation",solarUpdraftTower:{},cx:-53.11572356309672,id:"m4iUcU4yAYwkvkodEmkEet",color:"#808080",cy:-13.056870681152052},{cx:-2.4577065861477623,leftPoint:[4.807994986966596,2.7315947133271403,0],leftJoints:["cTujmRqECeyH6sGwqfoDEM"],type:"Wall",id:"91sCr2ydHgygQWRuaJ5N1C",relativeAngle:-3.141592653589793,cy:2.7315947133271394,ly:.3,parentId:"bkH7VRrzUTdvxfSm8xVMfT",rotation:[0,0,-.41015237421866746],locked:!1,lx:14.531403146228717,rightPoint:[-9.72340815926212,2.7315947133271385,0],rightJoints:["jhMUxbjEpDbcfFhgvBAFQj"],normal:[0,0,1],textureType:"Wall Texture Default",selected:!1,cz:0,roofId:"vRe6nzFrDCWVtSCu332MH4",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftRoofHeight:16,color:"white",lz:16,rightRoofHeight:16,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{parentId:"bkH7VRrzUTdvxfSm8xVMfT",selected:!1,rightJoints:["91sCr2ydHgygQWRuaJ5N1C"],color:"white",lz:16,leftRoofHeight:16,roofId:"vRe6nzFrDCWVtSCu332MH4",rightPoint:[4.807994986966594,2.7315947133271434,0],lx:5.477642221583295,ly:.3,type:"Wall",centerRoofHeight:[0,17.3393317550628],foundationId:"bkH7VRrzUTdvxfSm8xVMfT",leftPoint:[4.807994986966587,-2.746047508256152,0],leftJoints:["9qVmVQPuu4fH6aAQqyfjRg"],id:"cTujmRqECeyH6sGwqfoDEM",textureType:"Wall Texture Default",locked:!1,cy:-.007226397464504375,cz:0,rotation:[0,0,-.41015237421866746],normal:[0,0,1],relativeAngle:1.5707963267948952,rightRoofHeight:16,cx:4.80799498696659,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{type:"Wall",leftPoint:[-9.723408159262116,-2.7460475082561513,0],selected:!1,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",normal:[0,0,1],leftRoofHeight:16,rotation:[0,0,-.41015237421866746],leftJoints:["jhMUxbjEpDbcfFhgvBAFQj"],rightRoofHeight:16,parentId:"bkH7VRrzUTdvxfSm8xVMfT",roofId:"vRe6nzFrDCWVtSCu332MH4",locked:!1,id:"9qVmVQPuu4fH6aAQqyfjRg",rightJoints:["cTujmRqECeyH6sGwqfoDEM"],textureType:"Wall Texture Default",cx:-2.4577065861477636,lz:16,cz:0,relativeAngle:-15280327900245335e-32,lx:14.531403146228705,rightPoint:[4.807994986966588,-2.7460475082561535,0],cy:-2.7460475082561526,ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{lz:16,cy:-.007226397464506373,selected:!1,id:"jhMUxbjEpDbcfFhgvBAFQj",roofId:"vRe6nzFrDCWVtSCu332MH4",normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",parentId:"bkH7VRrzUTdvxfSm8xVMfT",color:"white",textureType:"Wall Texture Default",cz:0,rightJoints:["9qVmVQPuu4fH6aAQqyfjRg"],leftPoint:[-9.72340815926212,2.7315947133271385,0],leftJoints:["91sCr2ydHgygQWRuaJ5N1C"],lx:5.47764222158329,cx:-9.723408159262117,relativeAngle:-1.5707963267948957,ly:.3,leftRoofHeight:16,foundationId:"bkH7VRrzUTdvxfSm8xVMfT",centerRoofHeight:[0,17.3393317550628],rightPoint:[-9.723408159262116,-2.7460475082561513,0],rightRoofHeight:16,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cz:.5,lz:1,cx:78.75570287833209,selected:!1,color:"#808080",solarPowerTower:{},cy:10.912053869608645,solarUpdraftTower:{},id:"bkH7VRrzUTdvxfSm8xVMfT",normal:[0,0,1],parentId:"Ground",ly:5.705242176061485,type:"Foundation",rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:20.778562085655192,locked:!1},{rotation:[0,0,-.41015237421866746],selected:!1,normal:[0,0,1],color:"white",rightRoofHeight:11,type:"Wall",rightPoint:[-10.286622985342673,4.983310762184353,0],leftRoofHeight:11,cz:0,textureType:"Wall Texture Default",locked:!1,parentId:"qJBTbMiP4tUMstkk4bQqAp",cx:.8987861583692425,id:"oNZPm4ForjT1jLCRGXT8ae",leftPoint:[12.084195302081158,4.983310762184358,0],foundationId:"qJBTbMiP4tUMstkk4bQqAp",lz:11,cy:4.983310762184356,roofId:"tLNDomb3SubspErPERhojH",ly:.3,lx:22.37081828742383,rightJoints:["twTFceoz8nr7JM6esRsvns"],leftJoints:["8Pn1CKwtmisKkjic3nAhPK"],relativeAngle:-3.141592653589793,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,leftRoofHeight:11,parentId:"qJBTbMiP4tUMstkk4bQqAp",rotation:[0,0,-.41015237421866746],lx:9.215971205723465,relativeAngle:1.5707963267948954,locked:!1,rightPoint:[12.084195302081158,4.98331076218436,0],roofId:"tLNDomb3SubspErPERhojH",cy:.3753251593226281,color:"white",rightRoofHeight:11,type:"Wall",leftPoint:[12.084195302081147,-4.232660443539104,0],normal:[0,0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",id:"8Pn1CKwtmisKkjic3nAhPK",centerRoofHeight:[0,12.111126896848333],selected:!1,ly:.3,leftJoints:["2nMWmvd9mtkAxjJG8mCTx2"],cz:0,rightJoints:["oNZPm4ForjT1jLCRGXT8ae"],textureType:"Wall Texture Default",cx:12.084195302081152,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,rightJoints:["8Pn1CKwtmisKkjic3nAhPK"],leftPoint:[-10.286622985342662,-4.2326604435391,0],rightRoofHeight:11,foundationId:"qJBTbMiP4tUMstkk4bQqAp",type:"Wall",selected:!1,roofId:"tLNDomb3SubspErPERhojH",rightPoint:[12.084195302081158,-4.2326604435391,0],leftRoofHeight:11,ly:.3,cx:.8987861583692478,lz:11,leftJoints:["twTFceoz8nr7JM6esRsvns"],relativeAngle:0,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",parentId:"qJBTbMiP4tUMstkk4bQqAp",cy:-4.2326604435391,lx:22.37081828742382,cz:0,rotation:[0,0,-.41015237421866746],id:"2nMWmvd9mtkAxjJG8mCTx2",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{ly:.3,leftPoint:[-10.286622985342673,4.983310762184353,0],cx:-10.286622985342667,normal:[0,0,1],leftJoints:["oNZPm4ForjT1jLCRGXT8ae"],cy:.3753251593226268,lx:9.215971205723452,rightPoint:[-10.286622985342662,-4.2326604435391,0],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,12.111126896848333],type:"Wall",foundationId:"qJBTbMiP4tUMstkk4bQqAp",leftRoofHeight:11,roofId:"tLNDomb3SubspErPERhojH",color:"white",selected:!1,id:"twTFceoz8nr7JM6esRsvns",rightJoints:["2nMWmvd9mtkAxjJG8mCTx2"],parentId:"qJBTbMiP4tUMstkk4bQqAp",rightRoofHeight:11,textureType:"Wall Texture Default",relativeAngle:-1.5707963267948954,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{solarPowerTower:{},selected:!1,normal:[0,0,1],lx:29.0500894298776,id:"qJBTbMiP4tUMstkk4bQqAp",color:"#808080",cz:.5,solarUpdraftTower:{},lz:1,parentId:"Ground",locked:!1,ly:13.367138022352988,cy:28.71057712188597,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],type:"Foundation",cx:36.57481860706345},{ly:.3,cy:2.971894027777658,textureType:"Wall Texture Default",selected:!1,leftPoint:[12.422123880582443,2.9718940277776653,1],rightJoints:["nNQo9acqRqKRWfE4a1RvLy"],normal:[0,0,1],type:"Wall",foundationId:"64tiQZ7Po62MhdtE1e44n9",cz:0,rotation:[0,0,-.41015237421866746],id:"5QyDHSHQi5g83yTByESY7g",color:"white",rightPoint:[7.6013879231388755,2.9718940277776573,1],locked:!1,lz:13,cx:10.011755901860653,lx:4.8207359574435635,relativeAngle:-3.1415926535897922,leftJoints:["2DDFqyaAZAAuWTVgy7UTYL"],parentId:"64tiQZ7Po62MhdtE1e44n9",roofId:"oTjPo4r99EKfdasnxT3n5a",leftRoofHeight:13,rightRoofHeight:13,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{parentId:"64tiQZ7Po62MhdtE1e44n9",leftPoint:[12.422123880582435,-2.1178940951050267,1],leftJoints:["7JuGqBdByKra32qVf2wuMP"],cz:0,locked:!1,ly:.3,foundationId:"64tiQZ7Po62MhdtE1e44n9",color:"white",rotation:[0,0,-.41015237421866746],selected:!1,lz:13,cy:.42699996633631887,leftRoofHeight:13,cx:12.422123880582438,lx:5.089788122882689,normal:[0,0,1],relativeAngle:1.570796326794896,roofId:"oTjPo4r99EKfdasnxT3n5a",rightJoints:["5QyDHSHQi5g83yTByESY7g"],type:"Wall",rightRoofHeight:13,rightPoint:[12.422123880582443,2.9718940277776653,1],id:"2DDFqyaAZAAuWTVgy7UTYL",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{foundationId:"64tiQZ7Po62MhdtE1e44n9",id:"7JuGqBdByKra32qVf2wuMP",textureType:"Wall Texture Default",rightPoint:[12.422123880582431,-2.1178940951050196,1],lx:4.820735957443555,leftRoofHeight:13,roofId:"oTjPo4r99EKfdasnxT3n5a",ly:.3,selected:!1,lz:13,leftJoints:["nNQo9acqRqKRWfE4a1RvLy"],cx:10.011755901860655,rotation:[0,0,-.41015237421866746],rightRoofHeight:13,rightJoints:["2DDFqyaAZAAuWTVgy7UTYL"],leftPoint:[7.601387923138878,-2.1178940951050227,1],relativeAngle:6448443757120744e-31,cy:-2.117894095105022,locked:!1,normal:[0,0,1],color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",cz:0,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{id:"nNQo9acqRqKRWfE4a1RvLy",foundationId:"64tiQZ7Po62MhdtE1e44n9",textureType:"Wall Texture Default",roofId:"oTjPo4r99EKfdasnxT3n5a",rotation:[0,0,-.41015237421866746],leftRoofHeight:13,color:"white",parentId:"64tiQZ7Po62MhdtE1e44n9",ly:.3,cz:0,relativeAngle:-1.5707963267948963,leftPoint:[7.6013879231388755,2.9718940277776573,1],rightRoofHeight:13,cx:7.601387923138877,normal:[0,0,1],rightJoints:["7JuGqBdByKra32qVf2wuMP"],type:"Wall",lx:5.089788122882682,rightPoint:[7.601387923138878,-2.1178940951050227,1],selected:!1,locked:!1,lz:13,leftJoints:["5QyDHSHQi5g83yTByESY7g"],cy:.4269999663363171,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{selected:!1,ly:6.942959260815169,parentId:"Ground",lz:1,id:"64tiQZ7Po62MhdtE1e44n9",solarUpdraftTower:{},cy:28.3064695776253,locked:!1,color:"#808080",cx:24.870540041807864,lx:25.896215586399297,rotation:[0,0,-.41015237421866746],solarPowerTower:{},normal:[0,0,1],solarAbsorberPipe:{},type:"Foundation",cz:.5},{color:"white",lx:6.102875967687821,lz:11,rightJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,relativeAngle:-3.1415926535897927,cy:3.4313212286858255,textureType:"Wall Texture Default",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["pzCu78KeKhhbMuf9rgBh5L"],selected:!1,leftPoint:[3.0844752908601185,3.4313212286858272,0],foundationId:"kqR5p2bajX4NMTBq55qbCM",locked:!1,parentId:"kqR5p2bajX4NMTBq55qbCM",ly:.3,id:"4CXQZA8oGxMYG5uuTdJH4z",rightPoint:[-3.018400676827702,3.431321228685824,0],cx:.03303730701620822,leftRoofHeight:11,normal:[0,0,1],rightRoofHeight:11,rotation:[0,0,-.41015237421866746],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[3.0844752908601167,-6.300430996731014,0],cx:3.0844752908601176,normal:[0,0,1],foundationId:"kqR5p2bajX4NMTBq55qbCM",cy:-1.4345548840225932,color:"white",id:"pzCu78KeKhhbMuf9rgBh5L",rightRoofHeight:11,cz:0,rightPoint:[3.0844752908601185,3.4313212286858272,0],centerRoofHeight:[-.5,11],rotation:[0,0,-.41015237421866746],lz:11,relativeAngle:1.5707963267948963,leftRoofHeight:11,textureType:"Wall Texture Default",selected:!1,locked:!1,ly:.3,parentId:"kqR5p2bajX4NMTBq55qbCM",type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",leftJoints:["kQ44ExCwR71BEyjwkSCp38"],rightJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"kqR5p2bajX4NMTBq55qbCM",textureType:"Wall Texture Default",relativeAngle:-5821376180034847e-31,rightPoint:[3.0844752908601167,-6.300430996731014,0],id:"kQ44ExCwR71BEyjwkSCp38",normal:[0,0,1],roofId:"fS4RCk5GfqcPBkrsfQqupD",rightJoints:["pzCu78KeKhhbMuf9rgBh5L"],rightRoofHeight:11,cy:-6.300430996731012,lx:6.102875967687822,selected:!1,color:"white",ly:.3,leftJoints:["ufN8sfE783eMNceqzrR88z"],cz:0,leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",leftRoofHeight:11,type:"Wall",lz:11,rotation:[0,0,-.41015237421866746],cx:.03303730701620533,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,lz:11,rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"kqR5p2bajX4NMTBq55qbCM",rightJoints:["kQ44ExCwR71BEyjwkSCp38"],cx:-3.018400676827704,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948972,selected:!1,cy:-1.434554884022593,foundationId:"kqR5p2bajX4NMTBq55qbCM",color:"white",rightRoofHeight:11,locked:!1,leftJoints:["4CXQZA8oGxMYG5uuTdJH4z"],lx:9.731752225416834,id:"ufN8sfE783eMNceqzrR88z",normal:[0,0,1],centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],textureType:"Wall Texture Default",ly:.3,type:"Wall",roofId:"fS4RCk5GfqcPBkrsfQqupD",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",ly:13.304430432789896,selected:!1,color:"#808080",solarPowerTower:{},locked:!1,normal:[0,0,1],cy:32.738819911856226,cz:.5,solarAbsorberPipe:{},id:"kqR5p2bajX4NMTBq55qbCM",cx:72.31692383934994,rotation:[0,0,-.41015237421866746],lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},lz:1},{rightJoints:["9YnLeekp8YrBjSwNEVxSmp"],roofId:"wrKEiNvyDQopU6C5MqvRMM",cy:7.3527391531452935,leftPoint:[5.468301535132202,7.352739153145294,1],id:"2qkVxdRDddbpLN4sHJK2gE",relativeAngle:3.141592653589793,leftRoofHeight:4,parentId:"98vBSiAe7BeqTZRNu482vh",rightRoofHeight:4,cx:-.9755536194629697,leftJoints:["gz2Gm7sAdANkmLzo5wFbxx"],color:"white",lz:4,rotation:[0,0,-.41015237421866746],rightPoint:[-7.419408774058143,7.352739153145295,1],lx:12.887710309190346,foundationId:"98vBSiAe7BeqTZRNu482vh",normal:[0,0,1],type:"Wall",locked:!1,selected:!1,cz:0,ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,roofId:"wrKEiNvyDQopU6C5MqvRMM",leftPoint:[5.468301535132206,-7.370642577725551,1],centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",id:"gz2Gm7sAdANkmLzo5wFbxx",normal:[0,0,1],rightJoints:["2qkVxdRDddbpLN4sHJK2gE"],type:"Wall",leftRoofHeight:4,textureType:"Wall Texture Default",lz:4,relativeAngle:1.5707963267948963,selected:!1,rightPoint:[5.4683015351322,7.352739153145298,1],cy:-.008951712290128144,locked:!1,leftJoints:["vha1dDK5ppjp6f9bgr45uq"],color:"white",cx:5.468301535132204,rightRoofHeight:4,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"98vBSiAe7BeqTZRNu482vh",lx:14.723381730870852,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["9YnLeekp8YrBjSwNEVxSmp"],id:"vha1dDK5ppjp6f9bgr45uq",relativeAngle:2756667859198411e-31,cz:0,color:"white",leftRoofHeight:4,ly:.3,rotation:[0,0,-.41015237421866746],lz:4,textureType:"Wall Texture Default",cy:-7.370642577725552,leftPoint:[-7.4194087740581365,-7.370642577725553,1],locked:!1,cx:-.9755536194629646,rightJoints:["gz2Gm7sAdANkmLzo5wFbxx"],parentId:"98vBSiAe7BeqTZRNu482vh",roofId:"wrKEiNvyDQopU6C5MqvRMM",normal:[0,0,1],type:"Wall",selected:!1,rightPoint:[5.468301535132206,-7.370642577725551,1],rightRoofHeight:4,lx:12.887710309190334,foundationId:"98vBSiAe7BeqTZRNu482vh",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{rotation:[0,0,-.41015237421866746],relativeAngle:-1.5707963267948961,centerRoofHeight:[0,6],foundationId:"98vBSiAe7BeqTZRNu482vh",ly:.3,cx:-7.419408774058138,textureType:"Wall Texture Default",lz:4,cy:-.008951712290129699,leftPoint:[-7.419408774058143,7.352739153145295,1],id:"9YnLeekp8YrBjSwNEVxSmp",cz:0,color:"white",rightPoint:[-7.4194087740581365,-7.370642577725553,1],lx:14.723381730870852,roofId:"wrKEiNvyDQopU6C5MqvRMM",rightRoofHeight:4,normal:[0,0,1],leftJoints:["2qkVxdRDddbpLN4sHJK2gE"],rightJoints:["vha1dDK5ppjp6f9bgr45uq"],type:"Wall",locked:!1,selected:!1,parentId:"98vBSiAe7BeqTZRNu482vh",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:.5,type:"Foundation",color:"#808080",id:"98vBSiAe7BeqTZRNu482vh",solarAbsorberPipe:{},solarPowerTower:{},rotation:[0,0,-.41015237421866746],lx:15.543629167882932,cy:-34.03935192999712,cx:66.44654466726774,normal:[0,0,1],locked:!1,parentId:"Ground",solarUpdraftTower:{},lz:1,selected:!1,ly:16.051182282542253},{relativeAngle:-3.141592653589792,rotation:[0,0,-.41015237421866746],rightRoofHeight:10,id:"7zFHG6rEsyAEeiBjZ3Fqiv",cz:0,roofId:"52yUcWyJUbmGw2PC5d5KiK",textureType:"Wall Texture Default",cy:2.3029070359201342,cx:-2.061194479172505,lx:4.563843535322344,leftPoint:[.2207272884886666,2.302907035920138,0],color:"white",locked:!1,leftRoofHeight:10,selected:!1,normal:[0,0,1],lz:10,type:"Wall",rightPoint:[-4.343116246833677,2.3029070359201307,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",ly:.3,rightJoints:["sfm78zxYm2PZeqMiLJ7sRS"],leftJoints:["qEu4R9jBDYekHJdsyGPkHu"],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightRoofHeight:10,cx:.2207272884886636,lz:10,normal:[0,0,1],relativeAngle:1.5707963267948952,locked:!1,cy:.09783532837621656,lx:4.410143415087843,rightJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],type:"Wall",selected:!1,ly:.3,leftRoofHeight:10,cz:0,textureType:"Wall Texture Default",id:"qEu4R9jBDYekHJdsyGPkHu",rotation:[0,0,-.41015237421866746],rightPoint:[.2207272884886666,2.302907035920138,0],parentId:"tafet8SHZ3Nd8kXyfeZ9FR",leftPoint:[.2207272884886606,-2.1072363791677047,0],foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",leftJoints:["k13k8dUZo1jLk9Pubbz3Yu"],color:"white",roofId:"52yUcWyJUbmGw2PC5d5KiK",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rightJoints:["qEu4R9jBDYekHJdsyGPkHu"],leftPoint:[-4.34311624683366,-2.1072363791677042,0],rightPoint:[.2207272884886606,-2.1072363791677047,0],rightRoofHeight:10,id:"k13k8dUZo1jLk9Pubbz3Yu",ly:.3,leftRoofHeight:10,cz:0,leftJoints:["sfm78zxYm2PZeqMiLJ7sRS"],lx:4.563843535322321,color:"white",locked:!1,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",textureType:"Wall Texture Default",type:"Wall",selected:!1,relativeAngle:-9730596730869277e-32,rotation:[0,0,-.41015237421866746],roofId:"52yUcWyJUbmGw2PC5d5KiK",cy:-2.1072363791677047,normal:[0,0,1],cx:-2.0611944791725,lz:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftRoofHeight:10,relativeAngle:-1.5707963267948928,cx:-4.343116246833668,rightRoofHeight:10,ly:.3,parentId:"tafet8SHZ3Nd8kXyfeZ9FR",locked:!1,roofId:"52yUcWyJUbmGw2PC5d5KiK",leftJoints:["7zFHG6rEsyAEeiBjZ3Fqiv"],leftPoint:[-4.343116246833677,2.3029070359201307,0],lx:4.410143415087835,rightJoints:["k13k8dUZo1jLk9Pubbz3Yu"],type:"Wall",lz:10,foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",color:"white",selected:!1,textureType:"Wall Texture Default",rightPoint:[-4.34311624683366,-2.1072363791677042,0],rotation:[0,0,-.41015237421866746],cz:0,id:"sfm78zxYm2PZeqMiLJ7sRS",normal:[0,0,1],cy:.09783532837621323,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:4.607404636305792,cy:-35.24749355392174,locked:!1,type:"Foundation",cx:69.68931082715157,cz:.5,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},selected:!1,parentId:"Ground",lx:8.9358229854864,id:"tafet8SHZ3Nd8kXyfeZ9FR",lz:1},{color:"white",relativeAngle:3.141592653589793,rightRoofHeight:5.25,id:"vG7sqxy4RdGecDZ8BgqUDU",lx:9.337227070632437,rotation:[0,0,-.41015237421866746],rightJoints:["9cZUThxWj1ikMEGtxc3eiz"],lz:5.25,leftJoints:["3JjPc2Pp9fAroM9UdivE1u"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",normal:[0,0,1],textureType:"Wall Texture Default",cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],leftRoofHeight:5.25,cz:0,cx:-.07907462591906578,leftPoint:[4.589538909397152,3.3516986330408534,0],roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,centerRoofHeight:[0,6.225217409690371],type:"Wall",selected:!1,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,normal:[0,0,1],rightPoint:[4.589538909397152,3.3516986330408534,0],lx:6.320731749368616,cz:0,locked:!1,rightJoints:["vG7sqxy4RdGecDZ8BgqUDU"],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",rightRoofHeight:5.25,type:"Wall",selected:!1,relativeAngle:1.5707963267948961,color:"white",rotation:[0,0,-.41015237421866746],cy:.19133275835654517,lz:5.25,id:"3JjPc2Pp9fAroM9UdivE1u",roofId:"qYDMJTekV8NWHzzCiVYwcs",leftPoint:[4.58953890939715,-2.969033116327763,0],parentId:"a7Ykq8sCMoZy5zM2ybNhKs",leftJoints:["cABST71Bn78stcfTw5z7y2"],cx:4.589538909397151,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{textureType:"Wall Texture Default",cz:0,leftRoofHeight:5.25,cy:-2.969033116327763,locked:!1,roofId:"qYDMJTekV8NWHzzCiVYwcs",ly:.3,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",rightPoint:[4.58953890939715,-2.969033116327763,0],cx:-.07907462591906667,rightRoofHeight:5.25,lz:5.25,relativeAngle:-4756114491922529e-32,selected:!1,type:"Wall",normal:[0,0,1],color:"white",leftJoints:["9cZUThxWj1ikMEGtxc3eiz"],rightJoints:["3JjPc2Pp9fAroM9UdivE1u"],centerRoofHeight:[0,6.225217409690371],rotation:[0,0,-.41015237421866746],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"cABST71Bn78stcfTw5z7y2",lx:9.337227070632434,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rotation:[0,0,-.41015237421866746],color:"white",selected:!1,locked:!1,ly:.3,relativeAngle:-1.5707963267948966,leftPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,roofId:"qYDMJTekV8NWHzzCiVYwcs",parentId:"a7Ykq8sCMoZy5zM2ybNhKs",cy:.19133275835654628,rightJoints:["cABST71Bn78stcfTw5z7y2"],cx:-4.747688161235283,lx:6.320731749368617,foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",textureType:"Wall Texture Default",leftJoints:["vG7sqxy4RdGecDZ8BgqUDU"],type:"Wall",rightPoint:[-4.747688161235283,-2.9690331163277626,0],rightRoofHeight:5.25,leftRoofHeight:5.25,cz:0,id:"9cZUThxWj1ikMEGtxc3eiz",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{color:"#808080",solarPowerTower:{},type:"Foundation",locked:!1,selected:!1,lx:10.667610013832563,solarAbsorberPipe:{},parentId:"Ground",normal:[0,0,1],cx:35.81768474812716,rotation:[0,0,-.41015237421866746],cy:-31.968353023498793,solarUpdraftTower:{},cz:.5,id:"a7Ykq8sCMoZy5zM2ybNhKs",lz:1,ly:10.658064363814518},{locked:!1,id:"a6q6Txnypc9iPjohNf43CB",leftPoint:[4.779738528665165,10.937352047913798,1],cx:.395865158322978,leftJoints:["4RfjPoTAycowc8B5SwzkpM"],rightJoints:["jWqRj42hxzMWofSpUH42dz"],rotation:[0,0,-.41015237421866746],parentId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,rightPoint:[-3.9880082120192073,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",leftRoofHeight:10,lz:10,ly:.3,cz:0,color:"white",normal:[0,0,1],rightRoofHeight:10,roofId:"jSo2aHHx58NTeAQuDZodmY",type:"Wall",lx:8.767746740684375,relativeAngle:3.141592653589793,textureType:"Wall Texture Default",cy:10.937352047913794,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[4.779738528665165,3.130296275146503,1],normal:[0,0,1],roofId:"jSo2aHHx58NTeAQuDZodmY",rightJoints:["a6q6Txnypc9iPjohNf43CB"],rotation:[0,0,-.41015237421866746],ly:.3,relativeAngle:1.5707963267948963,cz:0,id:"4RfjPoTAycowc8B5SwzkpM",parentId:"uBZaguS4Mp4iydQBE88CA1",cx:4.779738528665163,locked:!1,textureType:"Wall Texture Default",leftJoints:["nRLvRbWCCyQkZn2SaeWzhR"],rightPoint:[4.779738528665165,10.937352047913798,1],foundationId:"uBZaguS4Mp4iydQBE88CA1",selected:!1,lx:7.807055772767293,lz:10,leftRoofHeight:10,rightRoofHeight:10,cy:7.033824161530151,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{rotation:[0,0,-.41015237421866746],leftRoofHeight:10,cz:0,lx:8.767746740684375,cx:.3958651583229764,rightJoints:["4RfjPoTAycowc8B5SwzkpM"],type:"Wall",cy:3.130296275146505,foundationId:"uBZaguS4Mp4iydQBE88CA1",ly:.3,rightRoofHeight:10,id:"nRLvRbWCCyQkZn2SaeWzhR",parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[4.779738528665165,3.130296275146503,1],lz:10,normal:[0,0,1],textureType:"Wall Texture Default",color:"white",relativeAngle:30390194173108526e-32,locked:!1,leftPoint:[-3.9880082120192113,3.1302962751465033,1],roofId:"jSo2aHHx58NTeAQuDZodmY",leftJoints:["jWqRj42hxzMWofSpUH42dz"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lz:10,relativeAngle:-1.5707963267948968,cy:7.03382416153015,parentId:"uBZaguS4Mp4iydQBE88CA1",rightPoint:[-3.9880082120192113,3.1302962751465033,1],ly:.3,lx:7.807055772767296,roofId:"jSo2aHHx58NTeAQuDZodmY",cx:-3.988008212019209,color:"white",foundationId:"uBZaguS4Mp4iydQBE88CA1",leftPoint:[-3.9880082120192073,10.937352047913798,1],rightJoints:["nRLvRbWCCyQkZn2SaeWzhR"],selected:!1,cz:0,leftRoofHeight:10,rightRoofHeight:10,leftJoints:["a6q6Txnypc9iPjohNf43CB"],type:"Wall",locked:!1,textureType:"Wall Texture Default",normal:[0,0,1],id:"jWqRj42hxzMWofSpUH42dz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:26.759313634558907,cy:-19.722143796679788,cz:.5,lx:9.74476233969461,solarAbsorberPipe:{},locked:!1,selected:!1,parentId:"Ground",normal:[0,0,1],color:"#808080",type:"Foundation",id:"uBZaguS4Mp4iydQBE88CA1",cx:17.121825988451324,solarPowerTower:{},solarUpdraftTower:{},rotation:[0,0,-.41015237421866746],lz:1},{leftJoints:["ngPHRhypQfV68DYtm6sZvW"],cz:0,leftRoofHeight:10,parentId:"rQh2s1iBHWvFGFdzViXEe2",rotation:[0,0,-.41015237421866746],cx:-.4824098277040898,leftPoint:[12.274733699058217,12.570550728118558,1],locked:!1,rightJoints:["sbPEhSxLJ7xiM71jhPJUkw"],textureType:"Wall Texture Default",roofId:"tN1a6B1uCvjUWCkBQctrVG",color:"white",selected:!1,lz:10,cy:12.570550728118565,ly:.3,relativeAngle:3.141592653589793,foundationId:"rQh2s1iBHWvFGFdzViXEe2",id:"b12LAtSYTNxCwTbH7iRFmz",rightRoofHeight:10,rightPoint:[-13.239553354466391,12.570550728118558,1],lx:25.51428705352461,type:"Wall",normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{leftPoint:[12.274733699058213,-12.675216149553869,1],normal:[0,0,1],leftJoints:["2z5tfxd1xStwLEwGZ1Enk7"],locked:!1,rightPoint:[12.274733699058217,12.570550728118558,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",relativeAngle:1.5707963267948966,ly:.3,lz:10,lx:25.245766877672445,cz:0,roofId:"tN1a6B1uCvjUWCkBQctrVG",selected:!1,cy:-.05233271071766232,rightRoofHeight:10,rotation:[0,0,-.41015237421866746],parentId:"rQh2s1iBHWvFGFdzViXEe2",cx:12.274733699058219,id:"ngPHRhypQfV68DYtm6sZvW",color:"white",leftRoofHeight:10,textureType:"Wall Texture Default",rightJoints:["b12LAtSYTNxCwTbH7iRFmz"],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{roofId:"tN1a6B1uCvjUWCkBQctrVG",rightPoint:[12.274733699058219,-12.675216149553865,1],color:"white",foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.514287053524612,cz:0,leftPoint:[-13.239553354466391,-12.675216149553885,1],leftJoints:["sbPEhSxLJ7xiM71jhPJUkw"],selected:!1,id:"2z5tfxd1xStwLEwGZ1Enk7",parentId:"rQh2s1iBHWvFGFdzViXEe2",normal:[0,0,1],rightJoints:["ngPHRhypQfV68DYtm6sZvW"],rightRoofHeight:10,leftRoofHeight:10,type:"Wall",ly:.3,relativeAngle:34811022461136335e-32,rotation:[0,0,-.41015237421866746],lz:10,cy:-12.675216149553874,locked:!1,textureType:"Wall Texture Default",cx:-.4824098277040827,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,selected:!1,roofId:"tN1a6B1uCvjUWCkBQctrVG",cz:0,leftJoints:["b12LAtSYTNxCwTbH7iRFmz"],lz:10,cx:-13.239553354466391,locked:!1,foundationId:"rQh2s1iBHWvFGFdzViXEe2",lx:25.245766877672445,id:"sbPEhSxLJ7xiM71jhPJUkw",rightJoints:["2z5tfxd1xStwLEwGZ1Enk7"],textureType:"Wall Texture Default",leftRoofHeight:10,relativeAngle:-1.5707963267948968,rightRoofHeight:10,rightPoint:[-13.239553354466395,-12.675216149553886,1],cy:-.05233271071766321,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],color:"white",parentId:"rQh2s1iBHWvFGFdzViXEe2",leftPoint:[-13.239553354466391,12.570550728118558,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{lx:27.015265076182526,solarPowerTower:{},id:"rQh2s1iBHWvFGFdzViXEe2",lz:1,rotation:[0,0,-.41015237421866746],cy:-75.35128568516778,normal:[0,0,1],cx:46.98901169365807,cz:.5,solarUpdraftTower:{},parentId:"Ground",selected:!1,type:"Foundation",locked:!1,color:"#808080",ly:28.698582154704336,solarAbsorberPipe:{}},{leftPoint:[3.881236454413665,2.590871964313816,0],rotation:[0,0,-.41015237421866746],lx:13.122757014665611,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",textureType:"Wall Texture Default",parentId:"kLLR11PM8xK326yQ5QVzHF",cx:-2.68014205291914,leftRoofHeight:16,cy:2.590871964313818,locked:!1,id:"gs8TZionAFZcvbLtmKeykq",normal:[0,0,1],relativeAngle:3.141592653589793,foundationId:"kLLR11PM8xK326yQ5QVzHF",lz:16,ly:.3,rightRoofHeight:16,color:"white",selected:!1,type:"Wall",rightJoints:["9qCk45C9zpiC2iX7xDbSMH"],leftJoints:["rohGrk56Rmwrds2U1CuXPp"],rightPoint:[-9.241520560251946,2.59087196431382,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rightRoofHeight:16,cx:3.881236454413662,rotation:[0,0,-.41015237421866746],leftJoints:["3d9FbdLzNegyUKLjvqVp9P"],centerRoofHeight:[0,17.714737050020105],roofId:"mgoQMGVeVMwiZzvh6DtsHC",color:"white",id:"rohGrk56Rmwrds2U1CuXPp",selected:!1,rightJoints:["gs8TZionAFZcvbLtmKeykq"],foundationId:"kLLR11PM8xK326yQ5QVzHF",textureType:"Wall Texture Default",locked:!1,type:"Wall",leftPoint:[3.8812364544136595,-2.6095545856794877,0],lx:5.200426549993304,cy:-.009341310682835946,normal:[0,0,1],lz:16,parentId:"kLLR11PM8xK326yQ5QVzHF",ly:.3,cz:0,leftRoofHeight:16,relativeAngle:1.5707963267948957,rightPoint:[3.881236454413665,2.590871964313816,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{locked:!1,parentId:"kLLR11PM8xK326yQ5QVzHF",foundationId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],normal:[0,0,1],textureType:"Wall Texture Default",cx:-2.6801420529191438,leftJoints:["9qCk45C9zpiC2iX7xDbSMH"],cy:-2.6095545856794904,color:"white",leftRoofHeight:16,ly:.3,relativeAngle:40609381948055113e-32,leftPoint:[-9.241520560251947,-2.609554585679493,0],rightJoints:["rohGrk56Rmwrds2U1CuXPp"],type:"Wall",selected:!1,id:"3d9FbdLzNegyUKLjvqVp9P",rightPoint:[3.8812364544136595,-2.6095545856794877,0],roofId:"mgoQMGVeVMwiZzvh6DtsHC",cz:0,lz:16,rightRoofHeight:16,lx:13.122757014665607,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{cx:-9.241520560251946,cz:0,roofId:"mgoQMGVeVMwiZzvh6DtsHC",lz:16,relativeAngle:-1.570796326794897,cy:-.009341310682836612,normal:[0,0,1],foundationId:"kLLR11PM8xK326yQ5QVzHF",parentId:"kLLR11PM8xK326yQ5QVzHF",rotation:[0,0,-.41015237421866746],lx:5.200426549993313,color:"white",leftJoints:["gs8TZionAFZcvbLtmKeykq"],locked:!1,leftPoint:[-9.241520560251946,2.59087196431382,0],id:"9qCk45C9zpiC2iX7xDbSMH",rightRoofHeight:16,ly:.3,centerRoofHeight:[0,17.714737050020105],selected:!1,rightJoints:["3d9FbdLzNegyUKLjvqVp9P"],leftRoofHeight:16,rightPoint:[-9.241520560251947,-2.609554585679493,0],textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:16,rightTopPartialHeight:16},{rotation:[0,0,-.41015237421866746],cy:-78.99513775014256,color:"#808080",solarUpdraftTower:{},lz:1,selected:!1,parentId:"Ground",cz:.5,cx:57.21273152304917,locked:!1,solarAbsorberPipe:{},solarPowerTower:{},type:"Foundation",normal:[0,0,1],id:"kLLR11PM8xK326yQ5QVzHF",lx:20.705717238442087,ly:5.889181614425833},{parentId:"x5CDMTRHrHH6ChAJLKJCrV",cz:0,rightRoofHeight:11,lx:21.722848351168093,id:"6V62Zt3rayMTYsccknpXaH",lz:11,ly:.3,leftRoofHeight:11,cx:4.010629943427583,type:"Wall",locked:!1,cy:4.151117918815318,leftPoint:[14.87205411901163,4.151117918815315,0],selected:!1,relativeAngle:3.1415926535897927,roofId:"5Fxdv1WWmCMeawRz9mKuqV",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftJoints:["9wfJs9iCWUXsCC7X64D8Nb"],color:"white",rightPoint:[-6.8507942321564625,4.151117918815323,0],normal:[0,0,1],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightJoints:["qD9BfhCuxt9GxywQHZujJQ"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cz:0,roofId:"5Fxdv1WWmCMeawRz9mKuqV",parentId:"x5CDMTRHrHH6ChAJLKJCrV",textureType:"Wall Texture Default",lx:8.340566324530702,rightPoint:[14.87205411901163,4.151117918815315,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",locked:!1,cx:14.872054119011626,normal:[0,0,1],leftPoint:[14.872054119011624,-4.189448405715386,0],color:"white",rightRoofHeight:11,rightJoints:["6V62Zt3rayMTYsccknpXaH"],cy:-.019165243450035785,ly:.3,centerRoofHeight:[0,12.060818180566665],leftJoints:["eVyuLptBvR2cKWFWdRTpDm"],leftRoofHeight:11,rotation:[0,0,-.41015237421866746],selected:!1,type:"Wall",lz:11,id:"9wfJs9iCWUXsCC7X64D8Nb",relativeAngle:1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"eVyuLptBvR2cKWFWdRTpDm",leftJoints:["qD9BfhCuxt9GxywQHZujJQ"],lz:11,leftRoofHeight:11,cx:4.010629943427585,textureType:"Wall Texture Default",cz:0,selected:!1,rightPoint:[14.872054119011624,-4.189448405715386,0],parentId:"x5CDMTRHrHH6ChAJLKJCrV",type:"Wall",color:"white",ly:.3,rightJoints:["9wfJs9iCWUXsCC7X64D8Nb"],cy:-4.189448405715389,leftPoint:[-6.850794232156455,-4.189448405715391,0],foundationId:"x5CDMTRHrHH6ChAJLKJCrV",rightRoofHeight:11,rotation:[0,0,-.41015237421866746],relativeAngle:20443415277360858e-32,roofId:"5Fxdv1WWmCMeawRz9mKuqV",lx:21.72284835116808,normal:[0,0,1],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["6V62Zt3rayMTYsccknpXaH"],centerRoofHeight:[0,12.060818180566665],locked:!1,rightPoint:[-6.850794232156455,-4.189448405715391,0],type:"Wall",rightJoints:["eVyuLptBvR2cKWFWdRTpDm"],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cy:-.01916524345003401,lz:11,leftRoofHeight:11,rightRoofHeight:11,relativeAngle:-1.5707963267948957,color:"white",cz:0,id:"qD9BfhCuxt9GxywQHZujJQ",lx:8.340566324530712,roofId:"5Fxdv1WWmCMeawRz9mKuqV",cx:-6.850794232156459,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",normal:[0,0,1],rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,leftPoint:[-6.8507942321564625,4.151117918815323,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Foundation",solarPowerTower:{},rotation:[0,0,-.41015237421866746],selected:!1,locked:!1,lx:30.492817584324445,id:"x5CDMTRHrHH6ChAJLKJCrV",lz:1,cx:-2.6987520128351328,normal:[0,0,1],cz:.5,ly:8.387848050211689,solarAbsorberPipe:{},solarUpdraftTower:{},cy:-53.16373671637722,color:"#808080",parentId:"Ground"},{type:"Wall",textureType:"Wall Texture Default",lx:5.147994804936703,rotation:[0,0,-.41015237421866746],lz:13,ly:.3,cy:3.5419213517865673,leftJoints:["xqjrhteUBJfNDcJWuHnvRu"],leftRoofHeight:13,rightRoofHeight:13,rightJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],normal:[0,0,1],locked:!1,cx:1.9334943095461699,id:"5TCp2VzUPYtC3wHFFUhMZA",relativeAngle:3.1415926535897922,leftPoint:[4.507491712014521,3.5419213517865646,0],cz:0,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",selected:!1,rightPoint:[-.6405030929221814,3.54192135178657,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{type:"Wall",id:"xqjrhteUBJfNDcJWuHnvRu",roofId:"15884yYUHNT5NwXMKhmRGP",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",lx:7.024418192306677,lz:13,relativeAngle:1.5707963267948963,rightJoints:["5TCp2VzUPYtC3wHFFUhMZA"],selected:!1,textureType:"Wall Texture Default",cx:4.50749171201452,parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,rightRoofHeight:13,cy:.029712255633226103,ly:.3,color:"white",normal:[0,0,1],leftPoint:[4.507491712014519,-3.4824968405201124,0],rightPoint:[4.507491712014521,3.5419213517865646,0],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,leftJoints:["nW4zHPMqaoecHBwBCyEqwh"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{cx:1.9334943095461696,lz:13,lx:5.147994804936699,roofId:"15884yYUHNT5NwXMKhmRGP",color:"white",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",leftPoint:[-.6405030929221798,-3.482496840520119,0],type:"Wall",parentId:"niHTxZ4PaRwa8PCQj9YtSY",leftRoofHeight:13,textureType:"Wall Texture Default",cz:0,rotation:[0,0,-.41015237421866746],rightPoint:[4.507491712014519,-3.4824968405201124,0],leftJoints:["qY5WoPV6F2CGJU6Z5GgH9A"],selected:!1,cy:-3.482496840520116,id:"nW4zHPMqaoecHBwBCyEqwh",locked:!1,normal:[0,0,1],rightRoofHeight:13,relativeAngle:1293967534963907e-30,rightJoints:["xqjrhteUBJfNDcJWuHnvRu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{textureType:"Wall Texture Default",ly:.3,foundationId:"niHTxZ4PaRwa8PCQj9YtSY",id:"qY5WoPV6F2CGJU6Z5GgH9A",cy:.029712255633225437,leftJoints:["5TCp2VzUPYtC3wHFFUhMZA"],relativeAngle:-1.5707963267948963,leftPoint:[-.6405030929221814,3.54192135178657,0],leftRoofHeight:13,cz:0,roofId:"15884yYUHNT5NwXMKhmRGP",rightRoofHeight:13,selected:!1,normal:[0,0,1],cx:-.6405030929221807,lz:13,rotation:[0,0,-.41015237421866746],rightJoints:["nW4zHPMqaoecHBwBCyEqwh"],lx:7.024418192306689,rightPoint:[-.6405030929221798,-3.482496840520119,0],parentId:"niHTxZ4PaRwa8PCQj9YtSY",type:"Wall",locked:!1,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:13,rightTopPartialHeight:13},{solarAbsorberPipe:{},cy:-49.221657555965606,ly:7.870086564093848,cz:.5,type:"Foundation",solarPowerTower:{},locked:!1,rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},normal:[0,0,1],lz:1,id:"niHTxZ4PaRwa8PCQj9YtSY",parentId:"Ground",color:"#808080",selected:!1,lx:9.19241650107572,cx:.2960050895698132},{leftJoints:["pBQFic2TqVJyDdJyEaBVof"],cy:6.111068939289358,rightJoints:["w8GFYP8jB1EG2YVL6appCT"],rightRoofHeight:20,locked:!1,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-6.699754362236526,foundationId:"jH5z454ciczrceJTNes5b4",relativeAngle:-3.1415926535897927,color:"white",lz:20,rightPoint:[-16.136312320425503,6.1110689392893525,1],cz:0,leftPoint:[2.7368035959524555,6.111068939289361,1],parentId:"jH5z454ciczrceJTNes5b4",id:"tq43NPQgXhkeNmwFteVBqx",lx:18.873115916377962,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",ly:.3,textureType:"Wall Texture Default",normal:[0,0,1],leftRoofHeight:20,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],leftJoints:["4ocNasurxu3LhLKonWAKWR"],lz:20,rightRoofHeight:20,locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",cy:-.01768597422249274,rotation:[0,0,-.41015237421866746],relativeAngle:1.5707963267948966,selected:!1,cx:2.736803595952447,id:"pBQFic2TqVJyDdJyEaBVof",rightPoint:[2.7368035959524555,6.111068939289361,1],cz:0,color:"white",type:"Wall",lx:12.257509827023695,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",textureType:"Wall Texture Default",ly:.3,rightJoints:["tq43NPQgXhkeNmwFteVBqx"],parentId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,leftPoint:[2.7368035959524515,-6.146440887734339,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{selected:!1,rightJoints:["pBQFic2TqVJyDdJyEaBVof"],leftJoints:["w8GFYP8jB1EG2YVL6appCT"],lz:20,lx:18.873115916377927,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],id:"4ocNasurxu3LhLKonWAKWR",locked:!1,foundationId:"jH5z454ciczrceJTNes5b4",leftRoofHeight:20,type:"Wall",cy:-6.146440887734334,normal:[0,0,1],cx:-6.69975436223651,rightRoofHeight:20,ly:.3,parentId:"jH5z454ciczrceJTNes5b4",cz:0,color:"white",relativeAngle:-7059076177209601e-31,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightPoint:[2.736803595952453,-6.146440887734342,1],leftPoint:[-16.13631232042547,-6.146440887734327,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rotation:[0,0,-.41015237421866746],rightPoint:[-16.13631232042547,-6.146440887734327,1],ly:.3,parentId:"jH5z454ciczrceJTNes5b4",textureType:"Wall Texture Default",id:"w8GFYP8jB1EG2YVL6appCT",relativeAngle:-1.5707963267948937,type:"Wall",lz:20,locked:!1,leftJoints:["tq43NPQgXhkeNmwFteVBqx"],leftPoint:[-16.136312320425503,6.1110689392893525,1],foundationId:"jH5z454ciczrceJTNes5b4",cz:0,roofId:"aqd47NYJ1Q6UzcCmxxcoXQ",rightRoofHeight:20,color:"white",cx:-16.13631232042549,cy:-.017685974222486855,lx:12.257509827023679,leftRoofHeight:20,rightJoints:["4ocNasurxu3LhLKonWAKWR"],normal:[0,0,1],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{locked:!1,color:"#808080",lx:39.42410417793452,cx:66.63950557888982,ly:15.35325958544188,rotation:[0,0,-.41015237421866746],type:"Foundation",selected:!1,lz:1,parentId:"Ground",normal:[0,0,1],solarPowerTower:{},cy:16.298608230784698,id:"jH5z454ciczrceJTNes5b4",solarAbsorberPipe:{},solarUpdraftTower:{},cz:.5},{type:"Wall",relativeAngle:3.141592653589793,cy:1.981243048009849,foundationId:"n59KTNFiEAdewYQ4UeZKU4",locked:!1,parentId:"n59KTNFiEAdewYQ4UeZKU4",leftRoofHeight:4,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],roofId:"rSsa8T9bULkoQ2pinqnr8i",leftPoint:[.9304202110555404,1.981243048009849,0],color:"white",rightRoofHeight:4,cz:0,cx:-2.0589287667673153,id:"v3VJnU8TGf45Uue1UFcxRK",lx:5.9786979556457105,centerRoofHeight:[0,4.977141261476465],normal:[0,0,1],rightPoint:[-5.0482777445901705,1.981243048009849,0],leftJoints:["usXjKxe48EnDWZT6Frh4Pq"],selected:!1,ly:.3,lz:4,rightJoints:["oB5VoQWfR3kmSWtghKT8LL"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{leftJoints:["8m4LSxdnyZTCo1Q3CX64h7"],rightPoint:[.9304202110555404,1.981243048009849,0],cx:.9304202110555421,leftPoint:[.9304202110555437,-1.9726241537665505,0],color:"white",rotation:[0,0,-.41015237421866746],leftRoofHeight:4,foundationId:"n59KTNFiEAdewYQ4UeZKU4",cy:.004309447121649268,lx:3.9538672017764,locked:!1,id:"usXjKxe48EnDWZT6Frh4Pq",selected:!1,ly:.3,rightRoofHeight:4,rightJoints:["v3VJnU8TGf45Uue1UFcxRK"],textureType:"Wall Texture Default",parentId:"n59KTNFiEAdewYQ4UeZKU4",roofId:"rSsa8T9bULkoQ2pinqnr8i",normal:[0,0,1],type:"Wall",relativeAngle:1.5707963267948977,cz:0,lz:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cx:-2.058928766767304,cz:0,leftRoofHeight:4,lx:5.978697955645695,rightJoints:["usXjKxe48EnDWZT6Frh4Pq"],centerRoofHeight:[0,4.977141261476465],leftJoints:["oB5VoQWfR3kmSWtghKT8LL"],foundationId:"n59KTNFiEAdewYQ4UeZKU4",id:"8m4LSxdnyZTCo1Q3CX64h7",rightRoofHeight:4,rightPoint:[.9304202110555437,-1.9726241537665505,0],roofId:"rSsa8T9bULkoQ2pinqnr8i",cy:-1.9726241537665496,textureType:"Wall Texture Default",locked:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],selected:!1,ly:.3,relativeAngle:-2971143303405775e-31,color:"white",parentId:"n59KTNFiEAdewYQ4UeZKU4",lz:4,leftPoint:[-5.048277744590152,-1.9726241537665488,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,rightJoints:["8m4LSxdnyZTCo1Q3CX64h7"],lz:4,leftJoints:["v3VJnU8TGf45Uue1UFcxRK"],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:0,parentId:"n59KTNFiEAdewYQ4UeZKU4",selected:!1,id:"oB5VoQWfR3kmSWtghKT8LL",rotation:[0,0,-.41015237421866746],cy:.004309447121650156,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,lx:3.953867201776398,rightPoint:[-5.048277744590152,-1.9726241537665488,0],normal:[0,0,1],rightRoofHeight:4,ly:.3,cx:-5.048277744590161,relativeAngle:-1.570796326794892,roofId:"rSsa8T9bULkoQ2pinqnr8i",foundationId:"n59KTNFiEAdewYQ4UeZKU4",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{solarUpdraftTower:{},normal:[0,0,1],color:"#808080",lz:1,cz:.5,lx:10.423522474713057,ly:4.1286288557387945,locked:!1,parentId:"Ground",rotation:[0,0,-.41015237421866746],solarPowerTower:{},id:"n59KTNFiEAdewYQ4UeZKU4",cy:-40.804555672678404,type:"Foundation",cx:68.39138539021306,selected:!1,solarAbsorberPipe:{}},{locked:!1,selected:!1,lx:5.9786979556457105,ly:.3,rightPoint:[-5.0482777445901705,1.981243048009849,0],textureType:"Wall Texture Default",rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",leftRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["c7E26TQsGBwiEUQ4ooLDKK"],color:"white",normal:[0,0,1],relativeAngle:3.141592653589793,type:"Wall",id:"ccjpL8TWCg1zhnSiXXyUiu",cx:-2.0589287667673153,rightJoints:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,-.41015237421866746],parentId:"5YuxWSX2uVTCHuPGAXXubi",cz:0,centerRoofHeight:[0,4.788751523933837],leftPoint:[.9304202110555404,1.981243048009849,0],cy:1.981243048009849,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{parentId:"5YuxWSX2uVTCHuPGAXXubi",lz:4,rightRoofHeight:4,roofId:"1E1bgqioi9tFqyckxVRysA",cy:.004309447121649268,foundationId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],type:"Wall",locked:!1,rotation:[0,0,-.41015237421866746],leftJoints:["nxEr9eKy7xre7xajGyT8qN"],selected:!1,ly:.3,relativeAngle:1.5707963267948977,rightPoint:[.9304202110555404,1.981243048009849,0],rightJoints:["ccjpL8TWCg1zhnSiXXyUiu"],leftPoint:[.9304202110555437,-1.9726241537665505,0],id:"c7E26TQsGBwiEUQ4ooLDKK",cz:0,cx:.9304202110555421,lx:3.9538672017764,textureType:"Wall Texture Default",color:"white",leftRoofHeight:4,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{cz:0,relativeAngle:-2971143303405775e-31,textureType:"Wall Texture Default",normal:[0,0,1],color:"white",parentId:"5YuxWSX2uVTCHuPGAXXubi",leftJoints:["ar4bhGtUec9qTkqAxEbkF4"],leftPoint:[-5.048277744590152,-1.9726241537665488,0],centerRoofHeight:[0,4.788751523933837],lx:5.978697955645695,leftRoofHeight:4,cx:-2.058928766767304,locked:!1,ly:.3,rightPoint:[.9304202110555437,-1.9726241537665505,0],id:"nxEr9eKy7xre7xajGyT8qN",type:"Wall",cy:-1.9726241537665496,rightRoofHeight:4,lz:4,foundationId:"5YuxWSX2uVTCHuPGAXXubi",selected:!1,rightJoints:["c7E26TQsGBwiEUQ4ooLDKK"],roofId:"1E1bgqioi9tFqyckxVRysA",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{locked:!1,ly:.3,parentId:"5YuxWSX2uVTCHuPGAXXubi",normal:[0,0,1],textureType:"Wall Texture Default",lx:3.953867201776398,cy:.004309447121650156,lz:4,selected:!1,leftPoint:[-5.0482777445901705,1.981243048009849,0],leftRoofHeight:4,rightPoint:[-5.048277744590152,-1.9726241537665488,0],rightJoints:["nxEr9eKy7xre7xajGyT8qN"],rightRoofHeight:4,relativeAngle:-1.570796326794892,color:"white",roofId:"1E1bgqioi9tFqyckxVRysA",leftJoints:["ccjpL8TWCg1zhnSiXXyUiu"],id:"ar4bhGtUec9qTkqAxEbkF4",foundationId:"5YuxWSX2uVTCHuPGAXXubi",cx:-5.048277744590161,rotation:[0,0,-.41015237421866746],type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{lz:1,selected:!1,solarAbsorberPipe:{},cz:.5,locked:!1,type:"Foundation",normal:[0,0,1],solarPowerTower:{},id:"5YuxWSX2uVTCHuPGAXXubi",cy:-30.912868668016095,cx:72.70720165765073,solarUpdraftTower:{},ly:4.1286288557387945,parentId:"Ground",color:"#808080",lx:10.423522474713057,rotation:[0,0,-.41015237421866746]},{textureType:"Wall Texture Default",cx:.01121512740181907,rightPoint:[-3.072511420947951,1.3672430244223959,0],cy:1.3672430244223936,id:"6QCJ15fiFxBVfmQVYdq3Tt",relativeAngle:3.1415926535897927,normal:[0,0,1],selected:!1,leftJoints:["hKcyiMXDvquM1MhoYuTSwv"],leftRoofHeight:11,cz:0,rightJoints:["xaCgBVBkCeg8kpZex83ZSB"],lz:11,type:"Wall",lx:6.167453096699541,locked:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],ly:.3,foundationId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],roofId:"g5QrsNM3GmBsG5THTKDrtm",parentId:"jsSCnAypzh29RxPH7MED73",color:"white",rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,leftRoofHeight:11,rightPoint:[3.0949416757515893,1.3672430244223912,0],foundationId:"jsSCnAypzh29RxPH7MED73",cz:0,cx:3.0949416757515884,ly:.3,rightJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],normal:[0,0,1],textureType:"Wall Texture Default",rightRoofHeight:11,leftPoint:[3.094941675751588,-5.795230412406128,0],type:"Wall",id:"hKcyiMXDvquM1MhoYuTSwv",roofId:"g5QrsNM3GmBsG5THTKDrtm",locked:!1,cy:-2.2139936939918683,color:"white",rotation:[0,0,-.41015237421866746],parentId:"jsSCnAypzh29RxPH7MED73",relativeAngle:1.5707963267948963,selected:!1,lz:11,leftJoints:["eS1W5AA2DGWiYaV8ifzzrj"],centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,leftJoints:["xaCgBVBkCeg8kpZex83ZSB"],cz:0,rotation:[0,0,-.41015237421866746],relativeAngle:0,textureType:"Wall Texture Default",cy:-5.795230412406128,rightPoint:[3.094941675751588,-5.795230412406128,0],lx:6.167453096699535,parentId:"jsSCnAypzh29RxPH7MED73",id:"eS1W5AA2DGWiYaV8ifzzrj",foundationId:"jsSCnAypzh29RxPH7MED73",locked:!1,rightJoints:["hKcyiMXDvquM1MhoYuTSwv"],ly:.3,rightRoofHeight:11,color:"white",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftRoofHeight:11,roofId:"g5QrsNM3GmBsG5THTKDrtm",cx:.011215127401820624,type:"Wall",lz:11,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{roofId:"g5QrsNM3GmBsG5THTKDrtm",cz:0,leftRoofHeight:11,type:"Wall",cy:-2.213993693991866,parentId:"jsSCnAypzh29RxPH7MED73",rotation:[0,0,-.41015237421866746],rightJoints:["eS1W5AA2DGWiYaV8ifzzrj"],textureType:"Wall Texture Default",id:"xaCgBVBkCeg8kpZex83ZSB",lx:7.162473436828524,cx:-3.072511420947949,leftJoints:["6QCJ15fiFxBVfmQVYdq3Tt"],lz:11,ly:.3,locked:!1,rightPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"jsSCnAypzh29RxPH7MED73",normal:[0,0,1],color:"white",centerRoofHeight:[.5,11],rightRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{locked:!1,solarPowerTower:{},selected:!1,solarUpdraftTower:{},cz:.5,solarAbsorberPipe:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:12.02473099186649,cy:-50.437956729618975,lx:6.9193101388799265,lz:1,parentId:"Ground",color:"#808080",type:"Foundation",cx:40.2572441035554,id:"jsSCnAypzh29RxPH7MED73"},{cy:0,wallsId:["91sCr2ydHgygQWRuaJ5N1C"],lz:0,type:"Roof",id:"vRe6nzFrDCWVtSCu332MH4",textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],lineWidth:.2,ridgeLeftPoint:[0,1],cz:0,normal:[0,0,1],roofType:"Gable",cx:0,ly:0,thickness:.2,locked:!1,lx:0,parentId:"bkH7VRrzUTdvxfSm8xVMfT",foundationId:"bkH7VRrzUTdvxfSm8xVMfT",ridgeRightPoint:[0,1],lineColor:"black",selected:!1,color:"#ffffff",rise:1.3393317550628012,ceiling:!1},{cz:0,lz:0,id:"fS4RCk5GfqcPBkrsfQqupD",ly:0,selected:!1,ridgeLeftPoint:[-.5,1],normal:[0,0,1],showLabel:!1,cy:0,color:"#ffffff",type:"Roof",foundationId:"kqR5p2bajX4NMTBq55qbCM",rotation:[0,0,0],locked:!1,lineColor:"black",textureType:"No Roof Texture",lineWidth:.2,lx:0,ridgeRightPoint:[.5,1],cx:0,thickness:.2,wallsId:["4CXQZA8oGxMYG5uuTdJH4z"],roofType:"Gable",parentId:"kqR5p2bajX4NMTBq55qbCM",rise:0,ceiling:!1},{showLabel:!1,rotation:[0,0,0],cy:0,wallsId:["oB5VoQWfR3kmSWtghKT8LL"],thickness:.2,lz:0,foundationId:"n59KTNFiEAdewYQ4UeZKU4",lineColor:"black",cz:0,textureType:"No Roof Texture",cx:0,type:"Roof",ly:0,roofType:"Gable",lineWidth:.2,selected:!1,ridgeRightPoint:[0,1],color:"#ffffff",ridgeLeftPoint:[0,1],parentId:"n59KTNFiEAdewYQ4UeZKU4",normal:[0,0,1],locked:!1,lx:0,id:"rSsa8T9bULkoQ2pinqnr8i",rise:.977141261476465,ceiling:!1},{parentId:"b7G57PTXunVqeHXzCWeuRF",rightJoints:["dpZWnBXJifWNeSxPnXSh11"],ly:.3,cx:.22353744000734044,lz:10,normal:[0,0,1],leftPoint:[8.53481429529893,4.284875927504061,1],rightRoofHeight:10,foundationId:"b7G57PTXunVqeHXzCWeuRF",textureType:"Wall Texture Default",rightPoint:[-8.087739415284249,4.284875927504063,1],leftJoints:["6fcDhLeskSsK9vgEVSS72V"],locked:!1,relativeAngle:3.141592653589793,lx:16.622553710583173,type:"Wall",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",color:"white",id:"kj6mwcCRjjAjkZKNVLpD6Q",rotation:[0,0,-.41015237421866746],cy:4.2848759275040615,leftRoofHeight:10,selected:!1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{normal:[0,0,1],id:"6fcDhLeskSsK9vgEVSS72V",locked:!1,roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rotation:[0,0,-.41015237421866746],cx:8.534814295298915,lz:10,leftJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rightJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],leftPoint:[8.534814295298911,-8.242350712076524,1],leftRoofHeight:10,textureType:"Wall Texture Default",rightRoofHeight:10,cz:0,cy:-1.978737392286233,selected:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",parentId:"b7G57PTXunVqeHXzCWeuRF",lx:12.527226639580588,ly:.3,rightPoint:[8.53481429529893,4.284875927504061,1],relativeAngle:1.5707963267948954,color:"white",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{ly:.3,id:"eJ8JK9wm6JNigJXLFxHXZv",rightPoint:[8.534814295298911,-8.242350712076524,1],rightJoints:["6fcDhLeskSsK9vgEVSS72V"],leftRoofHeight:10,cz:0,cx:.22353744000733222,locked:!1,rightRoofHeight:10,leftJoints:["dpZWnBXJifWNeSxPnXSh11"],leftPoint:[-8.087739415284243,-8.24235071207653,1],parentId:"b7G57PTXunVqeHXzCWeuRF",lz:10,lx:16.622553710583155,cy:-8.242350712076528,color:"white",relativeAngle:21372851251721804e-32,textureType:"Wall Texture Default",selected:!1,rotation:[0,0,-.41015237421866746],type:"Wall",normal:[0,0,1],roofId:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{textureType:"Wall Texture Default",cz:0,ly:.3,relativeAngle:-1.5707963267948966,selected:!1,color:"white",cy:-1.9787373922862332,leftPoint:[-8.087739415284249,4.284875927504063,1],lx:12.527226639580594,lz:10,parentId:"b7G57PTXunVqeHXzCWeuRF",leftJoints:["kj6mwcCRjjAjkZKNVLpD6Q"],locked:!1,foundationId:"b7G57PTXunVqeHXzCWeuRF",roofId:"5AL2YmNDuGkeP7qZ5AC7iV",rightRoofHeight:10,rightPoint:[-8.087739415284243,-8.24235071207653,1],id:"dpZWnBXJifWNeSxPnXSh11",normal:[0,0,1],cx:-8.087739415284243,rightJoints:["eJ8JK9wm6JNigJXLFxHXZv"],rotation:[0,0,-.41015237421866746],type:"Wall",leftRoofHeight:10,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"b7G57PTXunVqeHXzCWeuRF",cz:.5,color:"#808080",parentId:"Ground",locked:!1,cx:39.84041470102862,solarPowerTower:{},type:"Foundation",selected:!1,rotation:[0,0,-.41015237421866746],solarAbsorberPipe:{},lx:18.262342237511447,solarUpdraftTower:{},cy:-19.957109308878913,ly:25.839391461953184,lz:1,normal:[0,0,1]},{wallsId:["nRLvRbWCCyQkZn2SaeWzhR","4RfjPoTAycowc8B5SwzkpM","a6q6Txnypc9iPjohNf43CB","jWqRj42hxzMWofSpUH42dz"],lx:0,cz:0,cx:0,thickness:.2,id:"jSo2aHHx58NTeAQuDZodmY",type:"Roof",showLabel:!1,locked:!1,roofType:"Pyramid",lz:0,ly:0,foundationId:"uBZaguS4Mp4iydQBE88CA1",color:"#ffffff",lineWidth:.2,cy:0,parentId:"uBZaguS4Mp4iydQBE88CA1",normal:[0,0,1],rotation:[0,0,0],textureType:"No Roof Texture",lineColor:"black",selected:!1,rise:1.4201872195519947,ceiling:!1},{lx:0,selected:!1,parentId:"niHTxZ4PaRwa8PCQj9YtSY",foundationId:"niHTxZ4PaRwa8PCQj9YtSY",wallsId:["nW4zHPMqaoecHBwBCyEqwh","xqjrhteUBJfNDcJWuHnvRu","5TCp2VzUPYtC3wHFFUhMZA","qY5WoPV6F2CGJU6Z5GgH9A"],cx:0,showLabel:!1,rotation:[0,0,0],cz:0,normal:[0,0,1],roofType:"Pyramid",lz:0,locked:!1,lineColor:"black",thickness:.2,cy:0,ly:0,id:"15884yYUHNT5NwXMKhmRGP",color:"#ffffff",textureType:"No Roof Texture",type:"Roof",lineWidth:.2,rise:2,ceiling:!1},{locked:!1,lx:0,textureType:"No Roof Texture",normal:[0,0,1],thickness:.2,lineWidth:.2,cy:0,ridgeRightPoint:[0,1],parentId:"x5CDMTRHrHH6ChAJLKJCrV",cx:0,wallsId:["6V62Zt3rayMTYsccknpXaH"],showLabel:!1,foundationId:"x5CDMTRHrHH6ChAJLKJCrV",lz:0,selected:!1,ly:0,ridgeLeftPoint:[0,1],lineColor:"black",cz:0,id:"5Fxdv1WWmCMeawRz9mKuqV",type:"Roof",color:"#ffffff",rotation:[0,0,0],roofType:"Gable",rise:1.060818180566665,ceiling:!1},{showLabel:!1,ly:0,color:"#ffffff",rotation:[0,0,0],roofType:"Pyramid",cx:0,lineWidth:.2,thickness:.2,textureType:"No Roof Texture",locked:!1,wallsId:["5QyDHSHQi5g83yTByESY7g","nNQo9acqRqKRWfE4a1RvLy","7JuGqBdByKra32qVf2wuMP","2DDFqyaAZAAuWTVgy7UTYL"],lx:0,selected:!1,lz:0,parentId:"64tiQZ7Po62MhdtE1e44n9",cy:0,cz:0,normal:[0,0,1],foundationId:"64tiQZ7Po62MhdtE1e44n9",lineColor:"black",type:"Roof",id:"oTjPo4r99EKfdasnxT3n5a",rise:2,ceiling:!1},{cz:0,ly:0,color:"#ffffff",showLabel:!1,type:"Roof",wallsId:["oNZPm4ForjT1jLCRGXT8ae"],locked:!1,lineWidth:.2,ridgeRightPoint:[0,1],textureType:"No Roof Texture",cy:0,thickness:.2,lz:0,rotation:[0,0,0],parentId:"qJBTbMiP4tUMstkk4bQqAp",normal:[0,0,1],cx:0,id:"tLNDomb3SubspErPERhojH",lx:0,lineColor:"black",selected:!1,ridgeLeftPoint:[0,1],foundationId:"qJBTbMiP4tUMstkk4bQqAp",roofType:"Gable",rise:1.111126896848333,ceiling:!1},{color:"#ffffff",normal:[0,0,1],thickness:.2,ridgeRightPoint:[0,1],lz:0,roofType:"Gable",ly:0,type:"Roof",lineColor:"black",showLabel:!1,id:"1E1bgqioi9tFqyckxVRysA",parentId:"5YuxWSX2uVTCHuPGAXXubi",ridgeLeftPoint:[0,1],foundationId:"5YuxWSX2uVTCHuPGAXXubi",locked:!1,cz:0,selected:!1,lx:0,textureType:"No Roof Texture",cy:0,lineWidth:.2,wallsId:["ar4bhGtUec9qTkqAxEbkF4"],rotation:[0,0,0],cx:0,rise:.7887515239338372,ceiling:!1},{cy:.22491740558796045,rightPoint:[-7.989846773884258,.2249174055879637,1],roofId:"7MHnZ8shY1nNWWHte69oqs",lx:16.622553710583173,selected:!1,locked:!1,type:"Wall",parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightJoints:["bBRKF8cuUabp5jr721b2aF"],leftRoofHeight:20,rotation:[0,0,-.41015237421866746],lz:20,relativeAngle:3.141592653589793,leftJoints:["monXTa8uPTJhzhXCcFVkHQ"],cx:.3214300814073309,rightRoofHeight:20,cz:0,normal:[0,0,1],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",id:"abgP23xfq9mn6fXM5eixEU",leftPoint:[8.63270693669892,.22491740558795703,1],ly:.3,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{normal:[0,0,1],locked:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",rightPoint:[8.63270693669892,.22491740558795703,1],leftPoint:[8.6327069366989,-12.302309233992622,1],id:"monXTa8uPTJhzhXCcFVkHQ",cx:8.632706936698906,cy:-6.038695914202334,textureType:"Wall Texture Default",leftJoints:["1sWH6Vf283ZQdSSFT642nh"],color:"white",foundationId:"jXMhg2wW7AzS5RR8DVRgQA",rightRoofHeight:20,leftRoofHeight:20,cz:0,lx:12.527226639580588,selected:!1,ly:.3,relativeAngle:1.5707963267948954,rightJoints:["abgP23xfq9mn6fXM5eixEU"],type:"Wall",lz:20,roofId:"7MHnZ8shY1nNWWHte69oqs",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{rightPoint:[8.6327069366989,-12.302309233992622,1],roofId:"7MHnZ8shY1nNWWHte69oqs",ly:.3,lx:16.622553710583155,relativeAngle:21372851251721804e-32,rotation:[0,0,-.41015237421866746],lz:20,leftJoints:["bBRKF8cuUabp5jr721b2aF"],normal:[0,0,1],foundationId:"jXMhg2wW7AzS5RR8DVRgQA",leftPoint:[-7.989846773884253,-12.302309233992618,1],cz:0,id:"1sWH6Vf283ZQdSSFT642nh",rightJoints:["monXTa8uPTJhzhXCcFVkHQ"],selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",color:"white",cx:.321430081407323,textureType:"Wall Texture Default",type:"Wall",leftRoofHeight:20,locked:!1,cy:-12.302309233992629,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{lx:12.527226639580594,leftRoofHeight:20,color:"white",normal:[0,0,1],leftJoints:["abgP23xfq9mn6fXM5eixEU"],cz:0,ly:.3,selected:!1,rightPoint:[-7.989846773884253,-12.302309233992618,1],cy:-6.038695914202334,leftPoint:[-7.989846773884258,.2249174055879637,1],locked:!1,id:"bBRKF8cuUabp5jr721b2aF",rightJoints:["1sWH6Vf283ZQdSSFT642nh"],relativeAngle:-1.5707963267948966,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",cx:-7.989846773884254,parentId:"jXMhg2wW7AzS5RR8DVRgQA",textureType:"Wall Texture Default",roofId:"7MHnZ8shY1nNWWHte69oqs",lz:20,type:"Wall",rightRoofHeight:20,rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Foundation",cy:-59.32802731716726,color:"#808080",solarUpdraftTower:{},parentId:"Ground",solarPowerTower:{},rotation:[0,0,-.41015237421866746],lz:1,solarAbsorberPipe:{},normal:[0,0,1],ly:33.95930850578536,lx:18.06655695471146,selected:!1,cz:.5,id:"jXMhg2wW7AzS5RR8DVRgQA",locked:!1,cx:27.648877509882105},{parentId:"Ground",color:"gray",cx:-21.42383933703887,cy:-95.95694272842316,ly:1.57584749281375,id:"fskGS47Z1ZNZV2kamP1tSH",normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:5,locked:!1,selected:!1,type:"Cuboid",lx:2.5033124327375345,rotation:[0,0,-.41015237421866746]},{color:"white",lx:3.975737139849098,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",id:"mCTHFTsPbL7uxKLV7Fs7gC",locked:!1,cx:11.798791107427842,leftRoofHeight:6,rightRoofHeight:6,leftJoints:["fAYf9rMtUxbvaurL2KcLtn"],centerRoofHeight:[0,6.274887651356121],lz:6,leftPoint:[11.798791107427842,-1.9873220704176595,0],textureType:"Wall Texture Default",ly:.3,cy:.000546499506889564,cz:0,relativeAngle:1.5707963267948961,type:"Wall",selected:!1,rightPoint:[11.798791107427844,1.9884150694314386,0],roofId:"rxThm84RhChdhdNYSFFbG6",parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rotation:[0,0,-.41015237421866746],rightJoints:["htbHSZNyQhmtqy5XzNBo85"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cy:-1.9873220704176617,id:"fAYf9rMtUxbvaurL2KcLtn",relativeAngle:5312979959407059e-31,cz:0,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightPoint:[11.798791107427842,-1.9873220704176595,0],leftRoofHeight:6,leftJoints:["21bSs7TaWmDDwyZwkVPp3m"],color:"white",lx:7.940642588168972,roofId:"rxThm84RhChdhdNYSFFbG6",cx:7.828469813343356,locked:!1,normal:[0,0,1],rotation:[0,0,-.41015237421866746],type:"Wall",ly:.3,lz:6,rightRoofHeight:6,leftPoint:[3.858148519258871,-1.9873220704176637,0],textureType:"Wall Texture Default",rightJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,ly:.3,roofId:"rxThm84RhChdhdNYSFFbG6",normal:[0,0,1],leftJoints:["htbHSZNyQhmtqy5XzNBo85"],leftRoofHeight:6,textureType:"Wall Texture Default",cx:3.8581485192588696,locked:!1,lz:6,rotation:[0,0,-.41015237421866746],centerRoofHeight:[0,6.274887651356121],lx:3.975737139849111,selected:!1,leftPoint:[3.858148519258868,1.9884150694314473,0],id:"21bSs7TaWmDDwyZwkVPp3m",color:"white",cy:.0005464995068917844,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",rightJoints:["fAYf9rMtUxbvaurL2KcLtn"],rightPoint:[3.858148519258871,-1.9873220704176637,0],relativeAngle:-1.570796326794896,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",roofId:"rxThm84RhChdhdNYSFFbG6",color:"white",selected:!1,ly:.3,parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",leftRoofHeight:6,type:"Wall",leftPoint:[11.798791107427844,1.9884150694314386,0],rightPoint:[3.858148519258868,1.9884150694314473,0],cx:7.8284698133433555,cz:3.7151685093329987,textureType:"Wall Texture Default",relativeAngle:3.1415926535897922,leftJoints:["mCTHFTsPbL7uxKLV7Fs7gC"],id:"htbHSZNyQhmtqy5XzNBo85",rightJoints:["21bSs7TaWmDDwyZwkVPp3m"],locked:!1,rotation:[0,0,-.41015237421866746],lx:7.940642588168976,normal:[0,0,1],rightRoofHeight:6,cy:1.988415069431443,lz:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{textureType:"No Roof Texture",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,-.41015237421866746],selected:!1,ridgeRightPoint:[0,1],ly:0,lz:0,cz:0,locked:!1,foundationId:"jYmTgt5Yh5kp4YxeQ9xdGS",lx:0,roofType:"Gable",type:"Roof",id:"rxThm84RhChdhdNYSFFbG6",wallsId:["htbHSZNyQhmtqy5XzNBo85"],parentId:"jYmTgt5Yh5kp4YxeQ9xdGS",normal:[0,0,1],color:"#ffffff",cy:0,thickness:.2,rise:.2748876513561207,ceiling:!1},{type:"Foundation",locked:!1,cy:-78.52468836433339,lx:29.579193784185183,normal:[0,0,1],rotation:[0,0,-.41015237421866746],selected:!1,cx:-61.66430487227184,cz:.5,solarAbsorberPipe:{},lz:1,solarPowerTower:{},parentId:"Ground",solarUpdraftTower:{},ly:4.244451594984441,id:"jYmTgt5Yh5kp4YxeQ9xdGS"},{normal:[0,0,1],parentId:"2LZNQJZFPrCxZzv5NuwumV",rightRidgeLength:1.461737872145095,selected:!1,color:"#ffffff",locked:!1,cy:0,textureType:"No Roof Texture",lineColor:"black",lineWidth:.2,id:"9TF7gEynqtnsWJGidoBUNq",wallsId:["hcTBY8guDEpwEg5jtYtD3H"],rotation:[0,0,0],showLabel:!1,roofType:"Hip",leftRidgeLength:1.7970131018338904,thickness:.2,foundationId:"2LZNQJZFPrCxZzv5NuwumV",lz:0,cx:0,ly:0,lx:0,type:"Roof",cz:0,rise:5,ceiling:!1},{selected:!1,id:"tN1a6B1uCvjUWCkBQctrVG",rotation:[0,0,0],lineColor:"black",lineWidth:.2,ly:0,cz:0,roofType:"Hip",cy:0,textureType:"No Roof Texture",leftRidgeLength:.059768175058504625,showLabel:!1,locked:!1,wallsId:["b12LAtSYTNxCwTbH7iRFmz"],cx:0,thickness:.2,normal:[0,0,1],foundationId:"rQh2s1iBHWvFGFdzViXEe2",lz:0,lx:0,parentId:"rQh2s1iBHWvFGFdzViXEe2",color:"#ffffff",rightRidgeLength:12.757143526762304,type:"Roof",rise:2.8291651006338494,ceiling:!1},{ly:0,lineColor:"black",thickness:.2,cz:0,type:"Roof",wallsId:["gs8TZionAFZcvbLtmKeykq"],lineWidth:.2,parentId:"kLLR11PM8xK326yQ5QVzHF",roofType:"Gable",cx:0,showLabel:!1,id:"mgoQMGVeVMwiZzvh6DtsHC",ridgeLeftPoint:[0,1],cy:0,ridgeRightPoint:[0,1],lx:0,textureType:"No Roof Texture",foundationId:"kLLR11PM8xK326yQ5QVzHF",color:"#ffffff",selected:!1,locked:!1,rotation:[0,0,0],normal:[0,0,1],lz:0,rise:1.714737050020105,ceiling:!1},{normal:[0,0,1],type:"Roof",lz:0,cx:0,rotation:[0,0,0],rightRidgeLength:1.354315870345922,wallsId:["c79sKVUHUztGcC5p3emVv9"],lx:0,lineWidth:.2,thickness:.2,leftRidgeLength:1.2176583991481174,cy:0,selected:!1,textureType:"No Roof Texture",foundationId:"tjMZKt5v9D1sx6sc6Xyaq2",showLabel:!1,cz:0,color:"#ffffff",parentId:"tjMZKt5v9D1sx6sc6Xyaq2",locked:!1,roofType:"Hip",id:"teQS3ohvRHqAbgCQQahyC6",lineColor:"black",ly:0,rise:5,ceiling:!1},{ly:5.984113255877874,color:"gray",normal:[0,0,1],parentId:"Ground",cy:111.66856512870567,cx:55.88269693007359,selected:!1,lx:21.294854568920073,id:"3PRatafdc5GGL7xWYLxLQt",rotation:[0,0,-.41015237421866746],type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],cz:4.25,lz:8.5},{rightRoofHeight:12,cx:.017113708955167617,relativeAngle:3.141592653589793,lx:12.131551303286216,leftJoints:["snwHy88SCLUgp9tM1ts1kV"],rightPoint:[-6.04866194268794,-9.49210668858673,1],rightJoints:["fgVtymGrmdEZZzZZ3mW69b"],selected:!1,foundationId:"4p3AerfQErrh3N7JyKd7PA",color:"white",cy:-9.49210668858672,ly:.3,locked:!1,type:"Wall",roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[6.082889360598275,-9.492106688586723,1],id:"pJZasFocQxwotbLjPFqJsC",normal:[0,0,1],lz:12,parentId:"4p3AerfQErrh3N7JyKd7PA",cz:0,leftRoofHeight:12,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cy:-19.44706205065753,leftPoint:[6.082889360598278,-29.402017412728345,1],color:"white",rightJoints:["pJZasFocQxwotbLjPFqJsC"],locked:!1,relativeAngle:1.5707963267948963,parentId:"4p3AerfQErrh3N7JyKd7PA",type:"Wall",selected:!1,leftRoofHeight:12,normal:[0,0,1],rightRoofHeight:12,lx:19.90991072414161,cx:6.08288936059827,lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",ly:.3,textureType:"Wall Texture Default",roofId:"ui47bC2XPhcG14b6RPgvMq",id:"snwHy88SCLUgp9tM1ts1kV",cz:0,rightPoint:[6.082889360598275,-9.492106688586723,1],rotation:[0,0,-.41015237421866746],leftJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cx:.017113708955172058,lz:12,rightJoints:["snwHy88SCLUgp9tM1ts1kV"],leftRoofHeight:12,type:"Wall",selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,rightPoint:[6.082889360598278,-29.402017412728345,1],roofId:"ui47bC2XPhcG14b6RPgvMq",id:"9RBn6VqRCqHmHYTVsG2Hbq",lx:12.131551303286194,leftJoints:["fgVtymGrmdEZZzZZ3mW69b"],rightRoofHeight:12,parentId:"4p3AerfQErrh3N7JyKd7PA",normal:[0,0,1],cy:-29.40201741272834,leftPoint:[-6.048661942687922,-29.402017412728334,1],relativeAngle:-1757094500109714e-30,cz:0,color:"white",foundationId:"4p3AerfQErrh3N7JyKd7PA",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{cz:0,rightRoofHeight:12,color:"white",type:"Wall",id:"fgVtymGrmdEZZzZZ3mW69b",cy:-19.447062050657532,leftJoints:["pJZasFocQxwotbLjPFqJsC"],rightPoint:[-6.048661942687922,-29.402017412728334,1],roofId:"ui47bC2XPhcG14b6RPgvMq",leftPoint:[-6.04866194268794,-9.49210668858673,1],relativeAngle:-1.5707963267948957,parentId:"4p3AerfQErrh3N7JyKd7PA",lz:12,foundationId:"4p3AerfQErrh3N7JyKd7PA",leftRoofHeight:12,rotation:[0,0,-.41015237421866746],ly:.3,lx:19.909910724141604,selected:!1,locked:!1,normal:[0,0,1],rightJoints:["9RBn6VqRCqHmHYTVsG2Hbq"],textureType:"Wall Texture Default",cx:-6.048661942687932,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{solarPowerTower:{},selected:!1,cy:106.34352672553437,locked:!1,cx:54.33030410078149,rotation:[0,0,-.41015237421866746],normal:[0,0,1],parentId:"Ground",lz:1,ly:63.77501586798267,color:"#808080",lx:12.35095202063562,solarAbsorberPipe:{},solarUpdraftTower:{},id:"4p3AerfQErrh3N7JyKd7PA",cz:.5,type:"Foundation"},{rotation:[0,0,-.41015237421866746],lz:6,normal:[0,0,1],locked:!1,centerRoofHeight:[0,6.440750059917652],id:"irVUAZaEWhGKYr7twduXEh",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",type:"Wall",rightRoofHeight:6,cz:0,rightJoints:["8yAv4GumHgHAy2fR9bygQz"],foundationId:"gszYxD4CuGX1qrhwnFgJQu",lx:6.102875967687821,parentId:"gszYxD4CuGX1qrhwnFgJQu",cx:-.14015676968719282,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,6.530855931908152,1],selected:!1,textureType:"Wall Texture Default",color:"white",leftJoints:["gr56ivVG6p8ierekWDUK1u"],relativeAngle:-3.1415926535897927,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",foundationId:"gszYxD4CuGX1qrhwnFgJQu",normal:[0,0,1],locked:!1,cx:2.9112812141567126,ly:.3,cz:0,selected:!1,rotation:[0,0,-.41015237421866746],id:"gr56ivVG6p8ierekWDUK1u",textureType:"Wall Texture Default",rightJoints:["irVUAZaEWhGKYr7twduXEh"],lx:9.731752225416841,cy:1.6649798191997407,rightPoint:[2.9112812141567144,6.530855931908155,1],lz:6,leftPoint:[2.911281214156714,-3.2008962935086798,1],type:"Wall",relativeAngle:1.5707963267948963,rightRoofHeight:6,leftJoints:["1K6LZYJR4J6iMfrED26Yxe"],roofId:"ngj1wMdEusAUmYWeWEqzyw",leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{selected:!1,roofId:"ngj1wMdEusAUmYWeWEqzyw",lz:6,rightJoints:["gr56ivVG6p8ierekWDUK1u"],centerRoofHeight:[0,6.440750059917652],leftPoint:[-3.191594753531113,-3.2008962935086824,1],leftJoints:["8yAv4GumHgHAy2fR9bygQz"],rightPoint:[2.911281214156714,-3.2008962935086798,1],cz:0,rightRoofHeight:6,type:"Wall",relativeAngle:-5821376180034847e-31,locked:!1,id:"1K6LZYJR4J6iMfrED26Yxe",parentId:"gszYxD4CuGX1qrhwnFgJQu",color:"white",normal:[0,0,1],cx:-.14015676968720614,cy:-3.200896293508684,leftRoofHeight:6,foundationId:"gszYxD4CuGX1qrhwnFgJQu",rotation:[0,0,-.41015237421866746],lx:6.102875967687822,textureType:"Wall Texture Default",ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightJoints:["1K6LZYJR4J6iMfrED26Yxe"],leftPoint:[-3.191594753531113,6.530855931908152,1],relativeAngle:-1.5707963267948972,id:"8yAv4GumHgHAy2fR9bygQz",selected:!1,lx:9.731752225416834,type:"Wall",foundationId:"gszYxD4CuGX1qrhwnFgJQu",leftJoints:["irVUAZaEWhGKYr7twduXEh"],normal:[0,0,1],parentId:"gszYxD4CuGX1qrhwnFgJQu",lz:6,locked:!1,rotation:[0,0,-.41015237421866746],cy:1.664979819199738,color:"white",cx:-3.191594753531114,ly:.3,leftRoofHeight:6,rightPoint:[-3.191594753531113,-3.2008962935086824,1],roofId:"ngj1wMdEusAUmYWeWEqzyw",cz:0,rightRoofHeight:6,textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{locked:!1,selected:!1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",cx:24.599288579767826,solarAbsorberPipe:{},cy:62.32717346646996,type:"Foundation",solarPowerTower:{},lx:7.149369527041389,normal:[0,0,1],ly:13.668965778073638,lz:1,cz:.5,solarUpdraftTower:{},id:"gszYxD4CuGX1qrhwnFgJQu"},{type:"Roof",ridgeLeftPoint:[0,1],ly:0,id:"ngj1wMdEusAUmYWeWEqzyw",locked:!1,foundationId:"gszYxD4CuGX1qrhwnFgJQu",lineColor:"black",selected:!1,lx:0,thickness:.2,rotation:[0,0,0],wallsId:["gr56ivVG6p8ierekWDUK1u"],cx:0,showLabel:!1,lineWidth:.2,ridgeRightPoint:[0,1],color:"#ffffff",textureType:"No Roof Texture",roofType:"Gable",cz:0,parentId:"gszYxD4CuGX1qrhwnFgJQu",cy:0,normal:[0,0,1],lz:0,rise:.4407500599176517,ceiling:!1},{selected:!1,lz:.1,color:"#68ccca",rotation:[0,0,-.41015237421866746],normal:[0,0,1],type:"Foundation",cy:80.9376872016833,lx:46.93960391347784,id:"pzqyJ9AXZR9mJxEtKDPKGG",solarUpdraftTower:{},cx:111.01126755807289,ly:67.71063906268108,locked:!1,solarAbsorberPipe:{},parentId:"Ground",cz:.05,solarPowerTower:{}},{leftJoints:["bmKncuas6bZ1hnGH6qyHKX"],roofId:"gVgDeNYsXdGDefJV1YRGoa",selected:!1,ly:.3,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",locked:!1,cx:-.14015676968719282,relativeAngle:-3.1415926535897927,normal:[0,0,1],lx:6.102875967687821,id:"8kwuUQ3tQhRzvqUiLnSjD4",type:"Wall",centerRoofHeight:[0,6.440750059917652],cz:0,foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",lz:6,rightPoint:[-3.191594753531113,6.530855931908152,1],rightJoints:["gDyesAJb6hCZTAKFF2wVoZ"],color:"white",cy:6.530855931908157,leftPoint:[2.9112812141567144,6.530855931908155,1],rightRoofHeight:6,leftRoofHeight:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{cz:0,textureType:"Wall Texture Default",selected:!1,type:"Wall",roofId:"gVgDeNYsXdGDefJV1YRGoa",id:"bmKncuas6bZ1hnGH6qyHKX",leftPoint:[2.911281214156714,-3.2008962935086798,1],rightRoofHeight:6,relativeAngle:1.5707963267948963,lz:6,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rightJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",locked:!1,rotation:[0,0,-.41015237421866746],rightPoint:[2.9112812141567144,6.530855931908155,1],leftJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],normal:[0,0,1],cx:2.9112812141567126,cy:1.6649798191997407,color:"white",leftRoofHeight:6,ly:.3,lx:9.731752225416841,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{rightRoofHeight:6,leftJoints:["gDyesAJb6hCZTAKFF2wVoZ"],lx:6.102875967687822,rightJoints:["bmKncuas6bZ1hnGH6qyHKX"],locked:!1,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",cz:0,type:"Wall",centerRoofHeight:[0,6.440750059917652],relativeAngle:-5821376180034847e-31,leftRoofHeight:6,id:"vWXBFGVtdF9Zkw4WgrWQbB",textureType:"Wall Texture Default",color:"white",lz:6,cy:-3.200896293508684,cx:-.14015676968720614,selected:!1,leftPoint:[-3.191594753531113,-3.2008962935086824,1],rotation:[0,0,-.41015237421866746],foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",ly:.3,normal:[0,0,1],rightPoint:[2.911281214156714,-3.2008962935086798,1],roofId:"gVgDeNYsXdGDefJV1YRGoa",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{relativeAngle:-1.5707963267948972,locked:!1,cy:1.664979819199738,leftJoints:["8kwuUQ3tQhRzvqUiLnSjD4"],textureType:"Wall Texture Default",selected:!1,lz:6,lx:9.731752225416834,color:"white",type:"Wall",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",parentId:"uLUbMGL5dFfRU3Jy3CBsF5",rotation:[0,0,-.41015237421866746],rightJoints:["vWXBFGVtdF9Zkw4WgrWQbB"],cz:0,rightRoofHeight:6,leftRoofHeight:6,roofId:"gVgDeNYsXdGDefJV1YRGoa",cx:-3.191594753531114,id:"gDyesAJb6hCZTAKFF2wVoZ",normal:[0,0,1],leftPoint:[-3.191594753531113,6.530855931908152,1],ly:.3,rightPoint:[-3.191594753531113,-3.2008962935086824,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{ridgeRightPoint:[0,1],wallsId:["bmKncuas6bZ1hnGH6qyHKX"],selected:!1,ridgeLeftPoint:[0,1],ly:0,parentId:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],cz:0,textureType:"No Roof Texture",foundationId:"uLUbMGL5dFfRU3Jy3CBsF5",color:"#ffffff",cy:0,cx:0,lz:0,thickness:.2,rotation:[0,0,0],id:"gVgDeNYsXdGDefJV1YRGoa",locked:!1,type:"Roof",lx:0,roofType:"Gable",rise:.4407500599176517,ceiling:!1},{lz:1,lx:7.149369527041389,color:"#808080",cx:41.18797801355477,locked:!1,selected:!1,id:"uLUbMGL5dFfRU3Jy3CBsF5",normal:[0,0,1],ly:13.668965778073638,parentId:"Ground",solarUpdraftTower:{},solarPowerTower:{},type:"Foundation",cz:.5,solarAbsorberPipe:{},rotation:[0,0,-.41015237421866746],cy:55.159515522512336},{selected:!1,normal:[0,0,1],centerRoofHeight:[-.5,7],locked:!1,lz:7,rotation:[0,0,-.41015237421866746],rightJoints:["no8zN9dyqYE4qeuVrW3Heo"],parentId:"vwL7hNDotVD3LxBD3WrfUq",leftJoints:["nxkAimjB2HNyGqmHN18F5b"],id:"ra9rKcRfAsQu21a3r6cLBQ",leftPoint:[6.466711798346411,2.6318665263706373,0],rightPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,foundationId:"vwL7hNDotVD3LxBD3WrfUq",cy:2.6318665263706373,cx:3.772871790220627,rightRoofHeight:7,textureType:"Wall Texture Default",ly:.3,relativeAngle:-3.141592653589793,lx:5.387680016251569,color:"white",roofId:"48YD9h2WBNi7Es8vvJXW3G",type:"Wall",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{parentId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,-.41015237421866746],lz:7,roofId:"48YD9h2WBNi7Es8vvJXW3G",leftJoints:["33Vec12THAd4u8Vna3kAPR"],rightJoints:["ra9rKcRfAsQu21a3r6cLBQ"],id:"nxkAimjB2HNyGqmHN18F5b",color:"white",cx:6.466711798346411,locked:!1,leftRoofHeight:7,selected:!1,rightPoint:[6.466711798346411,2.6318665263706373,0],normal:[0,0,1],relativeAngle:1.5707963267948966,type:"Wall",lx:5.401219763739984,cz:0,leftPoint:[6.466711798346411,-2.769353237369347,0],cy:-.06874335549935484,ly:.3,textureType:"Wall Texture Default",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rightRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{relativeAngle:-12364019629334816e-31,lz:7,ly:.3,cz:0,leftJoints:["no8zN9dyqYE4qeuVrW3Heo"],rightPoint:[6.466711798346411,-2.769353237369347,0],cx:3.772871790220624,cy:-2.7693532373693435,leftPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"vwL7hNDotVD3LxBD3WrfUq",lx:5.387680016251575,color:"white",locked:!1,leftRoofHeight:7,type:"Wall",rightJoints:["nxkAimjB2HNyGqmHN18F5b"],parentId:"vwL7hNDotVD3LxBD3WrfUq",textureType:"Wall Texture Default",selected:!1,roofId:"48YD9h2WBNi7Es8vvJXW3G",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:7,id:"33Vec12THAd4u8Vna3kAPR",centerRoofHeight:[.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],cz:2.7786330947701083,color:"white",normal:[0,0,1],roofId:"48YD9h2WBNi7Es8vvJXW3G",rightPoint:[1.0790317820948367,-2.7693532373693404,0],cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],id:"no8zN9dyqYE4qeuVrW3Heo",lz:7,relativeAngle:-1.570796326794898,textureType:"Wall Texture Default",selected:!1,rightRoofHeight:7,leftRoofHeight:7,locked:!1,foundationId:"vwL7hNDotVD3LxBD3WrfUq",ly:.3,rightJoints:["33Vec12THAd4u8Vna3kAPR"],parentId:"vwL7hNDotVD3LxBD3WrfUq",type:"Wall",leftJoints:["ra9rKcRfAsQu21a3r6cLBQ"],cx:1.0790317820948396,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarAbsorberPipe:{},selected:!1,solarPowerTower:{},cy:84.30176551679384,type:"Foundation",rotation:[0,0,-.41015237421866746],solarUpdraftTower:{},parentId:"Ground",ly:5.568881804752381,cz:.5,cx:19.50958427736446,locked:!1,lx:13.89007394070906,normal:[0,0,1],id:"vwL7hNDotVD3LxBD3WrfUq",lz:1,color:"#808080"},{leftPoint:[-.7148597809579893,2.6859428300134063,1],rightJoints:["fc3SxNnr1T2obwWNDrRWPq"],selected:!1,parentId:"4UZo2BLYXGN9cd3hbyQ45x",leftJoints:["fHApw3eZ3j52e3Ze4hhzaH"],color:"white",lx:5.387680016251569,normal:[0,0,1],rotation:[0,0,-.41015237421866746],ly:.3,rightRoofHeight:7,cz:0,lz:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",id:"94d3RXBRBLR2SMUq5fQJtk",cy:2.685942830013403,rightPoint:[-6.102539797209565,2.6859428300134014,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",relativeAngle:-3.141592653589793,cx:-3.4086997890837694,type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,textureType:"Wall Texture Default",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"fHApw3eZ3j52e3Ze4hhzaH",lx:5.401219763739984,ly:.3,locked:!1,rotation:[0,0,-.41015237421866746],cz:0,selected:!1,leftPoint:[-.7148597809579927,-2.7152769337265767,1],lz:7,relativeAngle:1.5707963267948966,rightRoofHeight:7,leftRoofHeight:7,leftJoints:["qCUxDe7bDY8tYgH1joCgeh"],textureType:"Wall Texture Default",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",cx:-.7148597809579962,rightJoints:["94d3RXBRBLR2SMUq5fQJtk"],parentId:"4UZo2BLYXGN9cd3hbyQ45x",rightPoint:[-.7148597809579893,2.6859428300134063,1],cy:-.014667051856591229,normal:[0,0,1],type:"Wall",roofId:"8gnJuvioHBpuV9PnGGyNAB",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"qCUxDe7bDY8tYgH1joCgeh",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,cz:0,color:"white",rotation:[0,0,-.41015237421866746],leftPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"4UZo2BLYXGN9cd3hbyQ45x",foundationId:"4UZo2BLYXGN9cd3hbyQ45x",rightJoints:["fHApw3eZ3j52e3Ze4hhzaH"],leftRoofHeight:7,roofId:"8gnJuvioHBpuV9PnGGyNAB",normal:[0,0,1],cx:-3.4086997890837756,rightRoofHeight:7,cy:-2.715276933726573,leftJoints:["fc3SxNnr1T2obwWNDrRWPq"],type:"Wall",selected:!1,ly:.3,locked:!1,lz:7,centerRoofHeight:[-.5,7],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,id:"fc3SxNnr1T2obwWNDrRWPq",roofId:"8gnJuvioHBpuV9PnGGyNAB",ly:.3,foundationId:"4UZo2BLYXGN9cd3hbyQ45x",leftRoofHeight:7,selected:!1,rightRoofHeight:7,rightJoints:["qCUxDe7bDY8tYgH1joCgeh"],color:"white",cx:-6.102539797209562,parentId:"4UZo2BLYXGN9cd3hbyQ45x",textureType:"Wall Texture Default",leftPoint:[-6.102539797209565,2.6859428300134014,1],lz:7,rotation:[0,0,-.41015237421866746],locked:!1,rightPoint:[-6.102539797209571,-2.7152769337265754,1],lx:5.401219763739977,normal:[0,0,1],cz:0,type:"Wall",relativeAngle:-1.570796326794898,leftJoints:["94d3RXBRBLR2SMUq5fQJtk"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{id:"4UZo2BLYXGN9cd3hbyQ45x",cz:.5,solarUpdraftTower:{},cx:60.22394051332042,ly:5.482519143209589,normal:[0,0,1],color:"#808080",parentId:"Ground",lz:1,type:"Foundation",solarPowerTower:{},solarAbsorberPipe:{},cy:66.89544628344375,rotation:[0,0,-.41015237421866746],locked:!1,selected:!1,lx:12.981345567934609},{ridgeRightPoint:[.5,1],ly:0,wallsId:["no8zN9dyqYE4qeuVrW3Heo"],lz:0,cz:0,thickness:.2,color:"#ffffff",showLabel:!1,lineWidth:.2,selected:!1,textureType:"No Roof Texture",foundationId:"vwL7hNDotVD3LxBD3WrfUq",rotation:[0,0,0],id:"48YD9h2WBNi7Es8vvJXW3G",lineColor:"black",type:"Roof",parentId:"vwL7hNDotVD3LxBD3WrfUq",cx:0,locked:!1,cy:0,roofType:"Gable",lx:0,normal:[0,0,1],ridgeLeftPoint:[-.5,1],rise:0,ceiling:!1},{cz:0,lineWidth:.2,color:"#ffffff",foundationId:"tafet8SHZ3Nd8kXyfeZ9FR",parentId:"tafet8SHZ3Nd8kXyfeZ9FR",normal:[0,0,1],id:"52yUcWyJUbmGw2PC5d5KiK",wallsId:["k13k8dUZo1jLk9Pubbz3Yu","qEu4R9jBDYekHJdsyGPkHu","7zFHG6rEsyAEeiBjZ3Fqiv","sfm78zxYm2PZeqMiLJ7sRS"],lx:0,locked:!1,selected:!1,showLabel:!1,cy:0,ly:0,textureType:"No Roof Texture",type:"Roof",rotation:[0,0,0],cx:0,lineColor:"black",lz:0,thickness:.2,roofType:"Pyramid",rise:1.0848601282561745,ceiling:!1},{type:"Roof",wallsId:["vha1dDK5ppjp6f9bgr45uq"],ridgeRightPoint:[0,1],color:"#ffffff",rotation:[0,0,0],lineColor:"black",ridgeLeftPoint:[0,1],cz:0,cx:0,normal:[0,0,1],selected:!1,roofType:"Gable",lz:0,thickness:.2,lineWidth:.2,ly:0,id:"wrKEiNvyDQopU6C5MqvRMM",locked:!1,foundationId:"98vBSiAe7BeqTZRNu482vh",textureType:"No Roof Texture",lx:0,parentId:"98vBSiAe7BeqTZRNu482vh",cy:0,showLabel:!1,rise:2,ceiling:!1},{cy:0,selected:!1,type:"Roof",leftRidgeLength:15.875000000000002,lx:0,cx:0,locked:!1,id:"adpYUuHEY6XwTLGq9piRR2",normal:[0,0,1],wallsId:["cqVaqhkF9cafDk3CujuxhA"],cz:0,parentId:"aXWETyunkqtQVNXGWr9VZd",showLabel:!1,rightRidgeLength:15.875000000000002,color:"#ffffff",rotation:[0,0,0],textureType:"No Roof Texture",foundationId:"aXWETyunkqtQVNXGWr9VZd",roofType:"Hip",lineWidth:.2,ly:0,lineColor:"black",thickness:.2,lz:0,rise:2.5,ceiling:!1},{cx:40.42324164440271,lx:46.50473526306251,type:"Foundation",id:"gg3wfWZaPNSy6E85uMZYRf",solarAbsorberPipe:{},ly:57.10448987141375,color:"#68ccca",cy:-138.0841490094463,solarPowerTower:{},cz:.05,locked:!1,selected:!1,lz:.1,parentId:"Ground",solarUpdraftTower:{},normal:[0,0,1],rotation:[0,0,-.41015237421866746]},{solarAbsorberPipe:{},ly:57.28147044148081,parentId:"Ground",color:"#68ccca",cx:-134.9224921942922,cz:.05,locked:!1,rotation:[0,0,-.41015237421866746],lz:.1,cy:-67.94969279046406,normal:[0,0,1],solarUpdraftTower:{},type:"Foundation",solarPowerTower:{},lx:59.55306513135086,selected:!1,id:"a6rvHmP4DDMyxBjdX22svj"},{id:"aNDJu4drMr2fEx1r8tHjj6",cy:18.299607948404756,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],color:"gray",parentId:"Ground",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.834587966975077,rotation:[0,0,-.41015237421866746],lx:7.294777414475799,cx:-55.05079468229798,selected:!1,locked:!1,cz:6,lz:12,type:"Cuboid"},{lx:7.294777414475799,ly:3.834587966975077,lz:12,cx:-33.5448212615926,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],cy:8.863867840093441,type:"Cuboid",selected:!1,color:"gray",id:"qPJRFLTr5yqpFjK2r5qNtK",locked:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],parentId:"Ground",cz:6},{lx:7.294777414475799,parentId:"Ground",selected:!1,cx:-26.791783116976674,color:"gray",cz:6,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],locked:!1,id:"foA7zzY5fzm5ppKLNPgcZM",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",ly:3.834587966975077,normal:[0,0,1],cy:5.910492232229722,lz:12},{selected:!1,faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-50.198042271889335,parentId:"Ground",ly:1.4387765101632088,cy:16.15769091498796,color:"gray",normal:[0,0,1],locked:!1,lz:12,type:"Cuboid",lx:3.0374945193791563,cz:6,rotation:[0,0,-.41015237421866746],id:"jcVSu4BB2otpgDQ9Uss6dk"},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],id:"dvQtFmgsNmd5tYGN78K2eR",type:"Cuboid",lx:3.0374945193791563,cx:-38.46497607487548,lz:12,selected:!1,locked:!1,parentId:"Ground",color:"gray",cy:11.032940387603501,rotation:[0,0,-.41015237421866746],cz:6,ly:1.4387765101632088},{locked:!1,selected:!1,id:"qHYYLt5NNn8YrtX4BAqtZt",cz:6,cx:-21.68767431477416,faceColors:["gray","gray","gray","gray","gray","gray"],lz:12,lx:3.0374945193791563,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.4387765101632088,rotation:[0,0,-.41015237421866746],parentId:"Ground",type:"Cuboid",normal:[0,0,1],cy:3.88590550753401,color:"gray"},{id:"t1b6qVRBDTKtM9evc3a38G",rotation:[0,0,-.41015237421866746],cy:22.859143113805672,cz:4,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],parentId:"Ground",lz:8,type:"Cuboid",ly:4.854618540394783,color:"gray",lx:3.504189768701392,cx:-62.133323117727784,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,selected:!1},{type:"Cuboid",cz:5,parentId:"Ground",ly:3.834587966975077,cx:-1.671845448850263,rotation:[0,0,-.41015237421866746],cy:36.05441660008029,lx:7.294777414475799,color:"gray",lz:10,selected:!1,id:"ewVvbjdsVwbRqgEtvCq5hs",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,normal:[0,0,1]},{ly:.3,leftJoints:["nM3F4oVEiNnPXXKHuymBW8"],leftRoofHeight:5,textureType:"Wall Texture Default",cx:1.4377006720631131,cz:0,color:"white",rightJoints:["pVB4qAvwgYktWUYmnpXrvd"],locked:!1,id:"fVkwHoLMqjGDdZWbofbtKG",foundationId:"51jEtCS88nBPdVJc1fit8Y",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",leftPoint:[16.8234405859108,5.91199411832761,0],relativeAngle:-3.141592653589793,lz:5,normal:[0,0,1],selected:!1,cy:5.911994118327609,rightRoofHeight:5,type:"Wall",lx:30.771479827695373,rightPoint:[-13.948039241784572,5.911994118327607,0],parentId:"51jEtCS88nBPdVJc1fit8Y",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,rightJoints:["fVkwHoLMqjGDdZWbofbtKG"],cz:0,leftPoint:[16.823440585910813,-5.705218022759548,0],rightPoint:[16.8234405859108,5.91199411832761,0],selected:!1,color:"white",cx:16.823440585910806,lx:11.617212141087158,leftRoofHeight:5,normal:[0,0,1],id:"nM3F4oVEiNnPXXKHuymBW8",textureType:"Wall Texture Default",foundationId:"51jEtCS88nBPdVJc1fit8Y",parentId:"51jEtCS88nBPdVJc1fit8Y",rightRoofHeight:5,rotation:[0,0,-.41015237421866746],type:"Wall",lz:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",ly:.3,cy:.10338804778403077,leftJoints:["hjhpbBLzTxiFBJngNEFjyo"],relativeAngle:1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{leftPoint:[-13.94803924178457,-5.705218022759548,0],selected:!1,normal:[0,0,1],type:"Wall",leftRoofHeight:5,roofId:"79Z3Q6kmRSdUu2gZAfxqYU",foundationId:"51jEtCS88nBPdVJc1fit8Y",cy:-5.705218022759548,locked:!1,rightPoint:[16.823440585910813,-5.705218022759548,0],rightRoofHeight:5,ly:.3,rotation:[0,0,-.41015237421866746],cz:0,cx:1.4377006720631211,rightJoints:["nM3F4oVEiNnPXXKHuymBW8"],textureType:"Wall Texture Default",lx:30.771479827695384,color:"white",relativeAngle:0,lz:5,leftJoints:["pVB4qAvwgYktWUYmnpXrvd"],id:"hjhpbBLzTxiFBJngNEFjyo",parentId:"51jEtCS88nBPdVJc1fit8Y",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{locked:!1,cx:-13.94803924178457,rightJoints:["hjhpbBLzTxiFBJngNEFjyo"],lx:11.617212141087155,rightPoint:[-13.94803924178457,-5.705218022759548,0],leftRoofHeight:5,id:"pVB4qAvwgYktWUYmnpXrvd",roofId:"79Z3Q6kmRSdUu2gZAfxqYU",cy:.10338804778402944,type:"Wall",selected:!1,rightRoofHeight:5,leftPoint:[-13.948039241784572,5.911994118327607,0],relativeAngle:-1.5707963267948966,color:"white",foundationId:"51jEtCS88nBPdVJc1fit8Y",normal:[0,0,1],leftJoints:["fVkwHoLMqjGDdZWbofbtKG"],textureType:"Wall Texture Default",lz:5,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"51jEtCS88nBPdVJc1fit8Y",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5,rightTopPartialHeight:5},{cz:.5,locked:!1,id:"51jEtCS88nBPdVJc1fit8Y",cx:-48.38996233223847,rotation:[0,0,-.41015237421866746],cy:-47.44094494420046,type:"Foundation",solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",ly:12.435067202411405,parentId:"Ground",selected:!1,lx:39.55613553448626,solarPowerTower:{},lz:1,normal:[0,0,1]},{relativeAngle:1.5696801656994488,lx:11.718328338430736,lz:12,color:"white",id:"axApxDk7fg6kdu31qZJjpa",leftRoofHeight:12,selected:!1,locked:!1,rightPoint:[15.013079539479257,-11.281678961006579,0],textureType:"Wall Texture Default",rightRoofHeight:12,showLabel:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",cy:-17.14083948050329,parentId:"9VLFJ7oUEizHpLYBMkGrSR",roofId:"8jjNTNMVuPtviaQ4z8aUBg",type:"Wall",leftPoint:[15,-23,0],rotation:[0,0,0],ly:.3,lineWidth:.2,normal:[0,0,1],cx:15.006539769739629,cz:0,rightJoints:[],leftJoints:["qPSY4fD3E14vaHrFvAVhoM"],lineColor:"black",windows:[],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{showLabel:!1,rotation:[0,0,0],lineWidth:.2,relativeAngle:0,type:"Wall",normal:[0,0,1],cx:.75,lz:12,lineColor:"black",rightRoofHeight:12,lx:28.5,leftPoint:[-13.5,-23,0],windows:[],leftJoints:["qfMw91HFwbo5hsC2LrExL9"],locked:!1,roofId:"8jjNTNMVuPtviaQ4z8aUBg",id:"qPSY4fD3E14vaHrFvAVhoM",cz:0,leftRoofHeight:12,ly:.3,rightJoints:["axApxDk7fg6kdu31qZJjpa"],parentId:"9VLFJ7oUEizHpLYBMkGrSR",textureType:"Wall Texture Default",color:"white",rightPoint:[15,-22.999999999999993,0],cy:-22.999999999999996,selected:!1,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{type:"Wall",leftRoofHeight:12,leftJoints:[],parentId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],roofId:"8jjNTNMVuPtviaQ4z8aUBg",windows:[],lineColor:"black",locked:!1,showLabel:!1,rotation:[0,0,0],leftPoint:[-13.486920460520745,-20.781678961006566,0],cx:-13.493460230260371,cy:-21.89083948050328,rightRoofHeight:12,lz:12,rightPoint:[-13.5,-23,0],rightJoints:["qPSY4fD3E14vaHrFvAVhoM"],selected:!1,lx:2.2183595980800535,color:"white",id:"qfMw91HFwbo5hsC2LrExL9",lineWidth:.2,relativeAngle:4.706492905071611,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",ly:.3,textureType:"Wall Texture Default",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:12,rightTopPartialHeight:12},{normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",type:"Cuboid",rotation:[0,0,-.41015237421866746],lz:15,locked:!1,color:"gray",selected:!1,cx:-36.56959623779416,cz:7.5,id:"tweiiVLhdx6oBWEnEtnipE",faceColors:["gray","gray","gray","gray","gray","gray"],ly:3.089724753674105,cy:-41.66817975093342,lx:9.664636900370548},{selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],rotation:[0,0,-.41015237421866746],lx:5.865449300431789,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],type:"Cuboid",parentId:"Ground",id:"rsUvVCPdmqPJntvXeM2GVb",cx:-44.38865117345025,locked:!1,cz:7.5,ly:1.5650109734892819,lz:15,color:"gray",cy:-40.96079721670519},{lx:3.0249690735409964,cx:-28.99251915905568,parentId:"Ground",rotation:[0,0,-.41015237421866746],type:"Cuboid",cz:7.5,color:"gray",locked:!1,lz:15,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],selected:!1,ly:2.6391120002649107,id:"fkBTP56VVn81KwB625hk51",cy:-31.500761697700995,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1]},{color:"gray",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],ly:1.012024715192918,parentId:"Ground",selected:!1,cx:-55.01870252082621,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],id:"sd5KLhyrNizECe9gb6KsQr",lz:15,lx:1.0626113345203119,cz:7.5,locked:!1,rotation:[0,0,-.41015237421866746],cy:-33.468482869791565},{type:"Cuboid",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],locked:!1,cx:-31.1067471882413,lx:1.4142777966890399,parentId:"Ground",selected:!1,id:"uMjoRxmZFJiEozXunGCtEk",cz:7.5,cy:-28.926011393490615,faceColors:["gray","gray","gray","gray","gray","gray"],lz:15,color:"gray",rotation:[0,0,-.41015237421866746],ly:1.5089496296253628},{cz:7.5,color:"gray",lz:15,lx:1.4142777966890399,cy:-19.94113390915151,type:"Cuboid",selected:!1,id:"vnrmWArXJmER4412akTEze",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],ly:1.5089496296253628,cx:-27.239009141660663,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],parentId:"Ground",rotation:[0,0,-.41015237421866746]},{parentId:"Ground",rotation:[0,0,-.41015237421866746],cx:-26.10325222179982,cz:7.5,ly:2.6391120002649107,cy:-24.7401297358751,selected:!1,locked:!1,lz:15,lx:3.0249690735409964,faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],type:"Cuboid",color:"gray",id:"sgZFM1eyn2EqyhNUVokoxt"},{cy:-45.1003153467037,lz:15,ly:1.012024715192918,normal:[0,0,1],cx:-34.012367343427655,parentId:"Ground",cz:7.5,type:"Cuboid",lx:1.0626113345203119,selected:!1,locked:!1,rotation:[0,0,-.41015237421866746],id:"t9SieBbjr7gB8ZfmMfPkkv",color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{cz:6,type:"Cuboid",normal:[0,0,1],cy:2.6351006761143005,locked:!1,parentId:"Ground",cx:-57.48268699848795,lx:1.921551368829732,faceColors:["gray","gray","gray","gray","gray","gray"],ly:1.170092177740421,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:12,id:"f6gjMamZeJ9AforAMb7sba",selected:!1,color:"gray",rotation:[0,0,-.41015237421866746]},{normal:[0,0,1],rotation:[0,0,-.41015237421866746],cz:6,ly:1.170092177740421,cx:-46.79299933184681,type:"Cuboid",parentId:"Ground",cy:32.079219880108276,color:"gray",lx:1.921551368829732,lz:12,selected:!1,locked:!1,faceColors:["gray","gray","gray","gray","gray","gray"],id:"uZN8yxuazrtq9vtfvNYjW8",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"]},{selected:!1,id:"kCUndw17uk69evYZvDbpA3",locked:!1,lx:3.8078632615679346,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cy:17.85994953380947,parentId:"Ground",rotation:[0,0,-.41015237421866746],ly:1.8431797229103413,faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",normal:[0,0,1],lz:12,color:"gray",cx:-15.533010162096012,cz:6},{selected:!1,cz:6,rotation:[0,0,-.41015237421866746],parentId:"Ground",cy:23.773736942115185,ly:1.8431797229103413,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,lx:3.8078632615679346,id:"c5CHPFsUadwXiYeCQ5kL3M",type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],normal:[0,0,1],lz:12,cx:-29.102366745520293},{faceColors:["gray","gray","gray","gray","gray","gray"],type:"Cuboid",selected:!1,cy:19.328580088899457,ly:1.5089496296253628,cz:5,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],locked:!1,cx:-6.919453557487373,normal:[0,0,1],color:"gray",parentId:"Ground",id:"qMykCJZ7DBxwNpVWKYScqJ",lz:10,rotation:[0,0,-.41015237421866746],lx:1.4142777966890399},{color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],cy:22.10130410795824,selected:!1,parentId:"Ground",type:"Cuboid",ly:1.5089496296253628,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],lz:10,rotation:[0,0,-.41015237421866746],id:"mSqbavJzutA9zhAu8xE3xS",normal:[0,0,1],cz:5,lx:1.4142777966890399,locked:!1,cx:-5.974746211405201},{lx:1.4142777966890399,id:"pyDFzHD4KAB1BNqMnzD6wS",type:"Cuboid",lz:10,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:1.5089496296253628,cz:5,cy:46.28392644240339,color:"gray",selected:!1,locked:!1,cx:-22.974716021978587,faceColors:["gray","gray","gray","gray","gray","gray"],rotation:[0,0,-.41015237421866746],parentId:"Ground",normal:[0,0,1]},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],color:"gray",normal:[0,0,1],lz:10,id:"3niC4znTpJLi9xPdZ3J3mi",locked:!1,ly:1.5089496296253628,type:"Cuboid",faceColors:["gray","gray","gray","gray","gray","gray"],cx:-19.844681452337475,cz:5,lx:1.4142777966890399,cy:44.91410182205283,parentId:"Ground",rotation:[0,0,-.41015237421866746],selected:!1},{id:"kmb6FinDNPjHaUSx4hWkRY",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],parentId:"Ground",rotation:[0,0,-.41015237421866746],cz:6,lx:2.409551412544647,cx:.8488303977586087,ly:2.2160601102189608,cy:59.792631721777234,selected:!1,type:"Cuboid",lz:12,color:"gray",locked:!1},{textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],faceColors:["gray","gray","gray","gray","gray","gray"],cy:64.33483423541351,normal:[0,0,1],lx:2.815013454740496,selected:!1,parentId:"Ground",id:"jdUgLxxS7aoo8G5FKM1bpd",color:"gray",locked:!1,lz:12,cx:-10.431764953695687,type:"Cuboid",rotation:[0,0,-.41015237421866746],cz:6,ly:3.1077135053990776},{cx:-28.610884157233254,cy:60.58459939907478,color:"gray",selected:!1,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,id:"mQbRKyuR5iBvfSyrTNXPkk",type:"Cuboid",locked:!1,normal:[0,0,1],lx:2.5003437899627516,parentId:"Ground",lz:8,ly:6.3419454417230305,rotation:[0,0,-.41015237421866746],faceColors:["gray","gray","gray","gray","gray","gray"]},{lz:8,rotation:[0,0,-.41015237421866746],id:"bK5YCpcen6fCBKp3RRNqEh",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],parentId:"Ground",selected:!1,color:"gray",cy:68.11631889207206,faceColors:["gray","gray","gray","gray","gray","gray"],locked:!1,lx:1.9416600589072726,ly:1.989767039492348,type:"Cuboid",cx:-36.29885094967864,cz:4,normal:[0,0,1]},{normal:[0,0,1],parentId:"Ground",faceColors:["gray","gray","gray","gray","gray","gray"],lz:8,type:"Cuboid",ly:1.989767039492348,rotation:[0,0,-.41015237421866746],cx:-38.338758743868084,selected:!1,color:"gray",textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:4,cy:63.07951549965926,locked:!1,lx:1.9416600589072726,id:"jmsNe53MLv3GKAG45iZZhS"},{locked:!1,showLabel:!1,thickness:.2,type:"Roof",normal:[0,0,1],color:"#ffffff",cz:0,parentId:"pdEGhJFD3W3BmcX1EPbyWH",roofType:"Pyramid",lz:0,lx:0,selected:!1,id:"u17BQ8h2PCTPBYHjaSoxnN",lineWidth:.2,cx:0,lineColor:"black",foundationId:"pdEGhJFD3W3BmcX1EPbyWH",wallsId:["9QvBYUfBnBzYQEjDjyYwwJ","3Yax97DpPm9sAXkyokJjCv","2zTB9zP2crzAGhXAKtKuuQ","e9GuUTJEvD6Q7osTyxTwrk"],cy:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,0],rise:0,ceiling:!1},{lz:0,lineWidth:.2,color:"#ffffff",selected:!1,rotation:[0,0,0],cy:0,cz:0,type:"Roof",textureType:"No Roof Texture",foundationId:"gEHbpQXkCu9RtbMyy3Xryz",parentId:"gEHbpQXkCu9RtbMyy3Xryz",roofType:"Pyramid",showLabel:!1,lx:0,id:"8JTXb2hRmgAaiTxMs35gh1",ly:0,normal:[0,0,1],thickness:.2,locked:!1,wallsId:["e5up5WS9fCbKNmdUhKFsh6","ncaNE7qPYcxTMDrSjrKjqC","4z9pAxyVBGgvcBfL2oBkTg","9Zt1Jh2MmnkaBKaBtYD19E","vmWMc4Nmqnx9AxgePRvtFK","jmovDX25miN2VZhEhqh9uy","wxDvuiUvYK71aR1xZ9r86C","pk5HH5mW7Fkgf2nUSMZyW9"],lineColor:"black",cx:0,rise:0,ceiling:!1},{lz:0,showLabel:!1,parentId:"5Ccs4YQJG3fyuyHdGw79zD",id:"iLELU7fMnA7QkYUmgQBEWM",lineWidth:.2,textureType:"No Roof Texture",locked:!1,cy:0,selected:!1,type:"Roof",lineColor:"black",cx:0,normal:[0,0,1],roofType:"Pyramid",rotation:[0,0,0],thickness:.2,color:"#ffffff",ly:0,wallsId:["2TSEdoLpnDva8vLd5CzUbS","o6KGNbWFg87od5BX9EpsTo","9NzKjLTF3oM85YSQpL4gnd","qVHFnW8AAY4XUoieeiErxH","uSo7fsB5ruR2pmb3hS5LJZ","4HqBTHcSgWW5QKhSZyPhns","susL6EqdzG6nqxMNGZaDXi","g6f1sfDxicEvG7uLqaixdo"],cz:0,foundationId:"5Ccs4YQJG3fyuyHdGw79zD",lx:0,rise:0,ceiling:!1},{normal:[0,0,1],textureType:"No Roof Texture",selected:!1,thickness:.2,foundationId:"wBnvyTf1aAJoT1h5Lem3nN",showLabel:!1,lineColor:"black",color:"#ffffff",wallsId:["cEMfGqLjg1Ef23MmrZJMBi","oiFAJnXcnAH7zdnComwnZ7","wQJum4dZFQ5ppcaqoirdh1","bQ2Kx7puBgpzyzLtLqMSws"],locked:!1,type:"Roof",lineWidth:.2,lz:0,roofType:"Pyramid",cy:0,cz:0,parentId:"wBnvyTf1aAJoT1h5Lem3nN",lx:0,cx:0,rotation:[0,0,0],ly:0,id:"1qyyipEsGS2s5T9XgP6Hmh",rise:0,ceiling:!1},{color:"#ffffff",roofType:"Pyramid",foundationId:"bEJsUFdHaD6DHGcx6x8yR6",wallsId:["arZ3wqpChkyUrckbL7omCG","xrxYGVSxLCof2hSDyYDBhi","3VxH8hmRUhtWZN2xHFt4SG","wv4UgZqFkoaJSym14cGEUi"],id:"gTmk5BL11HKrSyJkFQtskK",cy:0,locked:!1,cz:0,thickness:.2,parentId:"bEJsUFdHaD6DHGcx6x8yR6",lineColor:"black",lineWidth:.2,normal:[0,0,1],rotation:[0,0,0],lz:0,showLabel:!1,selected:!1,ly:0,textureType:"No Roof Texture",type:"Roof",lx:0,cx:0,rise:0,ceiling:!1},{locked:!1,wallsId:["hjhpbBLzTxiFBJngNEFjyo","nM3F4oVEiNnPXXKHuymBW8","fVkwHoLMqjGDdZWbofbtKG","pVB4qAvwgYktWUYmnpXrvd"],showLabel:!1,roofType:"Pyramid",parentId:"51jEtCS88nBPdVJc1fit8Y",textureType:"No Roof Texture",foundationId:"51jEtCS88nBPdVJc1fit8Y",color:"#ffffff",type:"Roof",ly:0,cy:0,lineColor:"black",lz:0,thickness:.2,lx:0,cx:0,rotation:[0,0,0],normal:[0,0,1],cz:0,selected:!1,id:"79Z3Q6kmRSdUu2gZAfxqYU",lineWidth:.2,rise:0,ceiling:!1},{roofType:"Pyramid",lineColor:"black",wallsId:["mJUeyE2zphErZr6GzDs3tZ","j1cSjqWhsVxayuMSQv24u3","svVfgRXxxLmkheyww2W4ad","feUXDC3dk8QN3nPhgvxRs7","8SK72dWsX2KdwBhjqAJrHR","eAv1PVUtpNQ3MSDZw48MQs","1RLyYLqhL7EB8W88F1YjMf"],id:"g8pgyA4zcrzdfdvNphwHQy",lx:0,cz:0,textureType:"No Roof Texture",showLabel:!1,rotation:[0,0,0],cy:0,cx:0,locked:!1,type:"Roof",thickness:.2,ly:0,foundationId:"9VLFJ7oUEizHpLYBMkGrSR",normal:[0,0,1],selected:!1,lineWidth:.2,color:"#ffffff",lz:0,parentId:"9VLFJ7oUEizHpLYBMkGrSR",rise:0,ceiling:!1},{roofType:"Pyramid",selected:!1,locked:!1,textureType:"No Roof Texture",parentId:"9VLFJ7oUEizHpLYBMkGrSR",rotation:[0,0,0],color:"#ffffff",type:"Roof",foundationId:"9VLFJ7oUEizHpLYBMkGrSR",lineColor:"black",lz:0,normal:[0,0,1],cz:0,cy:0,ly:0,showLabel:!1,id:"8jjNTNMVuPtviaQ4z8aUBg",wallsId:["qfMw91HFwbo5hsC2LrExL9","qPSY4fD3E14vaHrFvAVhoM","axApxDk7fg6kdu31qZJjpa"],thickness:.2,lx:0,cx:0,lineWidth:.2,rise:0,ceiling:!1},{lx:0,rotation:[0,0,0],parentId:"m4iUcU4yAYwkvkodEmkEet",lineColor:"black",selected:!1,thickness:.2,textureType:"No Roof Texture",cz:0,color:"#ffffff",ly:0,id:"iCAiZhiTVrLLqoQWH1g8xu",cy:0,showLabel:!1,cx:0,lineWidth:.2,foundationId:"m4iUcU4yAYwkvkodEmkEet",roofType:"Pyramid",normal:[0,0,1],wallsId:["dqGGsMEnQRvAtVj8JUXBJ1","fE5GSES3t1e72zkQ5eaMtN","annVBiZ5xysQxyv34DuQgv","1k4PTfybuAQ33E2nttLT4d"],lz:0,locked:!1,type:"Roof",rise:0,ceiling:!1},{cx:3.772871790220627,centerRoofHeight:[-.5,7],ly:.3,rightJoints:["mr118MYyqYHattPXCpoynG"],relativeAngle:-3.141592653589793,foundationId:"eP5t9YkC32dmeRk87x14Ko",rightPoint:[1.0790317820948425,2.631866526370637,0],cz:0,lx:5.387680016251569,normal:[0,0,1],type:"Wall",rotation:[0,0,-.41015237421866746],leftPoint:[6.466711798346411,2.6318665263706373,0],locked:!1,lz:7,selected:!1,leftRoofHeight:7,color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",id:"xhZR7k2DmmA9LNkxhevkLf",rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",cy:2.6318665263706373,leftJoints:["hKD2n49XvVQhMiQhxLTwnG"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",roofId:"iM8xLCCHLJSTRMvV2ytbGw",color:"white",rightRoofHeight:7,rotation:[0,0,-.41015237421866746],normal:[0,0,1],leftRoofHeight:7,selected:!1,cy:-.06874335549935484,parentId:"eP5t9YkC32dmeRk87x14Ko",leftPoint:[6.466711798346411,-2.769353237369347,0],cx:6.466711798346411,rightJoints:["xhZR7k2DmmA9LNkxhevkLf"],rightPoint:[6.466711798346411,2.6318665263706373,0],type:"Wall",lx:5.401219763739984,locked:!1,lz:7,relativeAngle:1.5707963267948966,id:"hKD2n49XvVQhMiQhxLTwnG",foundationId:"eP5t9YkC32dmeRk87x14Ko",leftJoints:["tY9ds8odUyLmWNVGbRfRZS"],ly:.3,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{foundationId:"eP5t9YkC32dmeRk87x14Ko",leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.387680016251575,leftPoint:[1.0790317820948367,-2.7693532373693404,0],color:"white",parentId:"eP5t9YkC32dmeRk87x14Ko",centerRoofHeight:[.5,7],roofId:"iM8xLCCHLJSTRMvV2ytbGw",ly:.3,rightRoofHeight:7,selected:!1,locked:!1,rightJoints:["hKD2n49XvVQhMiQhxLTwnG"],cy:-2.7693532373693435,rightPoint:[6.466711798346411,-2.769353237369347,0],lz:7,type:"Wall",relativeAngle:-12364019629334816e-31,id:"tY9ds8odUyLmWNVGbRfRZS",cx:3.772871790220624,leftJoints:["mr118MYyqYHattPXCpoynG"],rotation:[0,0,-.41015237421866746],cz:2.59868595123194,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,rotation:[0,0,-.41015237421866746],ly:.3,locked:!1,leftJoints:["xhZR7k2DmmA9LNkxhevkLf"],parentId:"eP5t9YkC32dmeRk87x14Ko",foundationId:"eP5t9YkC32dmeRk87x14Ko",rightJoints:["tY9ds8odUyLmWNVGbRfRZS"],cx:1.0790317820948396,id:"mr118MYyqYHattPXCpoynG",selected:!1,relativeAngle:-1.570796326794898,roofId:"iM8xLCCHLJSTRMvV2ytbGw",leftPoint:[1.0790317820948425,2.631866526370637,0],color:"white",type:"Wall",textureType:"Wall Texture Default",cz:2.8306092473007007,leftRoofHeight:7,rightPoint:[1.0790317820948367,-2.7693532373693404,0],rightRoofHeight:7,lz:7,normal:[0,0,1],cy:-.06874335549935173,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"#808080",parentId:"Ground",type:"Foundation",lx:13.89007394070906,cy:96.06999769870255,id:"eP5t9YkC32dmeRk87x14Ko",rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},solarUpdraftTower:{},ly:5.568881804752381,solarAbsorberPipe:{},cx:24.454109298590414,cz:.5,selected:!1,lz:1,locked:!1},{selected:!1,leftJoints:["1wfGxoDf2D4xggTqqerw35"],rightRoofHeight:7,cx:3.772871790220627,leftRoofHeight:7,color:"white",textureType:"Wall Texture Default",locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],lz:7,lx:5.387680016251569,parentId:"jxVQ73S6zAeTM6FAnyQm16",id:"dGhfzR7o1S6iaLXRYQQHpz",foundationId:"jxVQ73S6zAeTM6FAnyQm16",type:"Wall",normal:[0,0,1],ly:.3,rightPoint:[1.0790317820948425,2.631866526370637,0],cy:2.6318665263706373,cz:0,relativeAngle:-3.141592653589793,centerRoofHeight:[-.5,7],rightJoints:["qauPnugYuuS7RLZjxeEFyH"],roofId:"9Di2gUsu4cUvfnKcucwxcz",rotation:[0,0,-.41015237421866746],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightRoofHeight:7,textureType:"Wall Texture Default",roofId:"9Di2gUsu4cUvfnKcucwxcz",type:"Wall",rotation:[0,0,-.41015237421866746],color:"white",foundationId:"jxVQ73S6zAeTM6FAnyQm16",cx:6.466711798346411,id:"1wfGxoDf2D4xggTqqerw35",locked:!1,normal:[0,0,1],relativeAngle:1.5707963267948966,lx:5.401219763739984,leftPoint:[6.466711798346411,-2.769353237369347,0],lz:7,rightPoint:[6.466711798346411,2.6318665263706373,0],leftJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],ly:.3,cz:0,cy:-.06874335549935484,parentId:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,leftRoofHeight:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",rightPoint:[6.466711798346411,-2.769353237369347,0],normal:[0,0,1],selected:!1,roofId:"9Di2gUsu4cUvfnKcucwxcz",rightRoofHeight:7,cy:-2.7693532373693435,lz:7,cx:3.772871790220624,parentId:"jxVQ73S6zAeTM6FAnyQm16",leftPoint:[1.0790317820948367,-2.7693532373693404,0],ly:.3,foundationId:"jxVQ73S6zAeTM6FAnyQm16",textureType:"Wall Texture Default",leftRoofHeight:7,rightJoints:["1wfGxoDf2D4xggTqqerw35"],rotation:[0,0,-.41015237421866746],cz:0,locked:!1,lx:5.387680016251575,id:"6DTGHsEWy1Mj5z5EBJ8m4A",relativeAngle:-12364019629334816e-31,type:"Wall",centerRoofHeight:[.5,7],leftJoints:["qauPnugYuuS7RLZjxeEFyH"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,lx:5.401219763739977,rotation:[0,0,-.41015237421866746],roofId:"9Di2gUsu4cUvfnKcucwxcz",leftPoint:[1.0790317820948425,2.631866526370637,0],rightRoofHeight:7,color:"white",textureType:"Wall Texture Default",foundationId:"jxVQ73S6zAeTM6FAnyQm16",leftRoofHeight:7,locked:!1,type:"Wall",cz:0,leftJoints:["dGhfzR7o1S6iaLXRYQQHpz"],rightPoint:[1.0790317820948367,-2.7693532373693404,0],parentId:"jxVQ73S6zAeTM6FAnyQm16",normal:[0,0,1],cx:1.0790317820948396,lz:7,rightJoints:["6DTGHsEWy1Mj5z5EBJ8m4A"],relativeAngle:-1.570796326794898,cy:-.06874335549935173,id:"qauPnugYuuS7RLZjxeEFyH",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{solarUpdraftTower:{},lz:1,parentId:"Ground",solarAbsorberPipe:{},normal:[0,0,1],solarPowerTower:{},id:"jxVQ73S6zAeTM6FAnyQm16",selected:!1,ly:5.568881804752381,type:"Foundation",lx:13.89007394070906,cz:.5,locked:!1,color:"#808080",cx:29.2866477996762,rotation:[0,0,-.41015237421866746],cy:107.44244234980054},{rotation:[0,0,-.41015237421866746],cz:0,rightPoint:[1.0790317820948425,2.631866526370637,0],selected:!1,color:"white",foundationId:"rDKG6AKNM5QvYPq1qfdTX1",lx:5.387680016251569,rightRoofHeight:7,relativeAngle:-3.141592653589793,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",normal:[0,0,1],leftJoints:["iTrgk5UiyKug74tDSksgxe"],ly:.3,locked:!1,leftPoint:[6.466711798346411,2.6318665263706373,0],id:"nxbMX3EChmn9CzTV7CdW2h",cx:3.772871790220627,rightJoints:["ehEH19eZNtirzGTfRqW3Hp"],leftRoofHeight:7,cy:2.6318665263706373,parentId:"rDKG6AKNM5QvYPq1qfdTX1",textureType:"Wall Texture Default",lz:7,centerRoofHeight:[-.5,7],type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lz:7,rightJoints:["nxbMX3EChmn9CzTV7CdW2h"],rightRoofHeight:7,ly:.3,color:"white",rotation:[0,0,-.41015237421866746],cy:-.06874335549935484,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,2.6318665263706373,0],selected:!1,parentId:"rDKG6AKNM5QvYPq1qfdTX1",id:"iTrgk5UiyKug74tDSksgxe",cx:6.466711798346411,cz:0,normal:[0,0,1],relativeAngle:1.5707963267948966,leftRoofHeight:7,textureType:"Wall Texture Default",lx:5.401219763739984,type:"Wall",leftJoints:["97QKa6yKUz1mJAvuAaYQi5"],leftPoint:[6.466711798346411,-2.769353237369347,0],locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Wall",rightRoofHeight:7,locked:!1,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",ly:.3,relativeAngle:-12364019629334816e-31,centerRoofHeight:[.5,7],cx:3.772871790220624,roofId:"gRx8iaGJs1z3AUhQF6eqGJ",rightPoint:[6.466711798346411,-2.769353237369347,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",leftJoints:["ehEH19eZNtirzGTfRqW3Hp"],id:"97QKa6yKUz1mJAvuAaYQi5",leftPoint:[1.0790317820948367,-2.7693532373693404,0],leftRoofHeight:7,cz:0,color:"white",selected:!1,lz:7,lx:5.387680016251575,cy:-2.7693532373693435,normal:[0,0,1],rightJoints:["iTrgk5UiyKug74tDSksgxe"],parentId:"rDKG6AKNM5QvYPq1qfdTX1",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{rightPoint:[1.0790317820948367,-2.7693532373693404,0],foundationId:"rDKG6AKNM5QvYPq1qfdTX1",normal:[0,0,1],color:"white",cx:1.0790317820948396,parentId:"rDKG6AKNM5QvYPq1qfdTX1",cy:-.06874335549935173,leftPoint:[1.0790317820948425,2.631866526370637,0],leftRoofHeight:7,locked:!1,lz:7,leftJoints:["nxbMX3EChmn9CzTV7CdW2h"],roofId:"gRx8iaGJs1z3AUhQF6eqGJ",ly:.3,type:"Wall",selected:!1,rotation:[0,0,-.41015237421866746],cz:0,textureType:"Wall Texture Default",id:"ehEH19eZNtirzGTfRqW3Hp",lx:5.401219763739977,relativeAngle:-1.570796326794898,rightRoofHeight:7,rightJoints:["97QKa6yKUz1mJAvuAaYQi5"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cx:34.55424337004162,solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,-.41015237421866746],locked:!1,cz:.5,parentId:"Ground",solarPowerTower:{},normal:[0,0,1],ly:5.568881804752381,cy:118.62202333064985,lx:13.89007394070906,solarUpdraftTower:{},selected:!1,color:"#808080",lz:1,id:"rDKG6AKNM5QvYPq1qfdTX1"},{wallsId:["mr118MYyqYHattPXCpoynG"],lz:0,lineWidth:.2,textureType:"No Roof Texture",locked:!1,ridgeLeftPoint:[-.5,1],thickness:.2,cx:0,rotation:[0,0,0],id:"iM8xLCCHLJSTRMvV2ytbGw",foundationId:"eP5t9YkC32dmeRk87x14Ko",selected:!1,ly:0,color:"#ffffff",cz:0,parentId:"eP5t9YkC32dmeRk87x14Ko",ridgeRightPoint:[.5,1],lineColor:"black",showLabel:!1,type:"Roof",lx:0,roofType:"Gable",normal:[0,0,1],cy:0,rise:0,ceiling:!1},{ly:0,type:"Roof",thickness:.2,lz:0,wallsId:["qauPnugYuuS7RLZjxeEFyH"],color:"#ffffff",selected:!1,ridgeRightPoint:[.5,1],lx:0,ridgeLeftPoint:[-.5,1],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],roofType:"Gable",locked:!1,cy:0,parentId:"jxVQ73S6zAeTM6FAnyQm16",cz:0,textureType:"No Roof Texture",showLabel:!1,foundationId:"jxVQ73S6zAeTM6FAnyQm16",id:"9Di2gUsu4cUvfnKcucwxcz",cx:0,lineWidth:.2,rise:0,ceiling:!1},{ly:0,lineWidth:.2,cx:0,type:"Roof",textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],showLabel:!1,selected:!1,cz:0,wallsId:["ehEH19eZNtirzGTfRqW3Hp"],rotation:[0,0,0],lineColor:"black",color:"#ffffff",lx:0,id:"gRx8iaGJs1z3AUhQF6eqGJ",thickness:.2,normal:[0,0,1],ridgeRightPoint:[.5,1],parentId:"rDKG6AKNM5QvYPq1qfdTX1",locked:!1,roofType:"Gable",cy:0,lz:0,foundationId:"rDKG6AKNM5QvYPq1qfdTX1",rise:0,ceiling:!1},{lx:5.387680016251569,cz:0,rightRoofHeight:7,ly:.3,parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579893,2.6859428300134063,1],leftJoints:["dn61jbg36CDKXJ7atWKcPL"],normal:[0,0,1],rightPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"8851rT9wqqajnoeFBmiUjQ",color:"white",locked:!1,selected:!1,rightJoints:["81VpPXebFdckLDhrYfjNw4"],cy:2.685942830013403,type:"Wall",leftRoofHeight:7,id:"sksYhYD2dNixUEPNYJqc76",rotation:[0,0,-.41015237421866746],centerRoofHeight:[.5,7],relativeAngle:-3.141592653589793,textureType:"Wall Texture Default",lz:7,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",cx:-3.4086997890837694,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{locked:!1,cy:-.014667051856591229,roofId:"8851rT9wqqajnoeFBmiUjQ",leftRoofHeight:7,rightRoofHeight:7,parentId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,lz:7,textureType:"Wall Texture Default",type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",leftPoint:[-.7148597809579927,-2.7152769337265767,1],rotation:[0,0,-.41015237421866746],id:"dn61jbg36CDKXJ7atWKcPL",normal:[0,0,1],leftJoints:["x33tCm8G91uhrEhqZh7Sgp"],cx:-.7148597809579962,rightPoint:[-.7148597809579893,2.6859428300134063,1],ly:.3,lx:5.401219763739984,rightJoints:["sksYhYD2dNixUEPNYJqc76"],relativeAngle:1.5707963267948966,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{ly:.3,locked:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],rightJoints:["dn61jbg36CDKXJ7atWKcPL"],id:"x33tCm8G91uhrEhqZh7Sgp",normal:[0,0,1],lx:5.387680016251575,roofId:"8851rT9wqqajnoeFBmiUjQ",lz:7,rotation:[0,0,-.41015237421866746],parentId:"jYYkxDDGtpRKpj5cDaSAyU",relativeAngle:-12364019629334816e-31,textureType:"Wall Texture Default",centerRoofHeight:[-.5,7],rightRoofHeight:7,cx:-3.4086997890837756,leftPoint:[-6.102539797209571,-2.7152769337265754,1],cz:0,type:"Wall",color:"white",foundationId:"jYYkxDDGtpRKpj5cDaSAyU",selected:!1,leftJoints:["81VpPXebFdckLDhrYfjNw4"],leftRoofHeight:7,cy:-2.715276933726573,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cy:-.014667051856584123,normal:[0,0,1],leftPoint:[-6.102539797209565,2.6859428300134014,1],rightJoints:["x33tCm8G91uhrEhqZh7Sgp"],locked:!1,cz:0,cx:-6.102539797209562,lz:7,id:"81VpPXebFdckLDhrYfjNw4",rightRoofHeight:7,selected:!1,lx:5.401219763739977,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",roofId:"8851rT9wqqajnoeFBmiUjQ",type:"Wall",color:"white",ly:.3,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"jYYkxDDGtpRKpj5cDaSAyU",leftRoofHeight:7,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",relativeAngle:-1.570796326794898,leftJoints:["sksYhYD2dNixUEPNYJqc76"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{type:"Foundation",color:"#808080",cy:78.31845915827158,solarAbsorberPipe:{},solarPowerTower:{},cz:.5,locked:!1,ly:5.482519143209589,normal:[0,0,1],lz:1,selected:!1,id:"jYYkxDDGtpRKpj5cDaSAyU",solarUpdraftTower:{},lx:12.981345567934609,cx:65.13740167211039,parentId:"Ground",rotation:[0,0,-.41015237421866746]},{rotation:[0,0,-.41015237421866746],relativeAngle:-3.141592653589793,cx:-3.4086997890837694,cy:2.685942830013403,rightJoints:["5BVMmeTYtWaRrB3p7N2yex"],textureType:"Wall Texture Default",cz:0,lx:5.387680016251569,type:"Wall",roofId:"uhbPwQthVjoBQGqRB2bxwD",leftJoints:["nU3buhZij6ruFmt78QqHPt"],id:"xbje76bhjMGZA3Mc8s8cWN",ly:.3,parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,foundationId:"dTyQpKfdgEv9kGBprmTD5p",color:"white",rightPoint:[-6.102539797209565,2.6859428300134014,1],leftPoint:[-.7148597809579893,2.6859428300134063,1],locked:!1,centerRoofHeight:[.5,7],rightRoofHeight:7,lz:7,selected:!1,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,roofId:"uhbPwQthVjoBQGqRB2bxwD",cy:-.014667051856591229,leftRoofHeight:7,rotation:[0,0,-.41015237421866746],selected:!1,textureType:"Wall Texture Default",relativeAngle:1.5707963267948966,leftJoints:["dwNyLyogzdW8eZvvnJWmaJ"],rightJoints:["xbje76bhjMGZA3Mc8s8cWN"],locked:!1,foundationId:"dTyQpKfdgEv9kGBprmTD5p",lz:7,rightRoofHeight:7,color:"white",lx:5.401219763739984,id:"nU3buhZij6ruFmt78QqHPt",ly:.3,leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,parentId:"dTyQpKfdgEv9kGBprmTD5p",normal:[0,0,1],type:"Wall",rightPoint:[-.7148597809579893,2.6859428300134063,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{textureType:"Wall Texture Default",type:"Wall",leftPoint:[-6.102539797209571,-2.7152769337265754,1],foundationId:"dTyQpKfdgEv9kGBprmTD5p",roofId:"uhbPwQthVjoBQGqRB2bxwD",cz:0,rightJoints:["nU3buhZij6ruFmt78QqHPt"],ly:.3,relativeAngle:-12364019629334816e-31,rightRoofHeight:7,cy:-2.715276933726573,selected:!1,id:"dwNyLyogzdW8eZvvnJWmaJ",locked:!1,cx:-3.4086997890837756,rotation:[0,0,-.41015237421866746],rightPoint:[-.7148597809579927,-2.7152769337265767,1],lx:5.387680016251575,color:"white",normal:[0,0,1],leftJoints:["5BVMmeTYtWaRrB3p7N2yex"],centerRoofHeight:[-.5,7],parentId:"dTyQpKfdgEv9kGBprmTD5p",leftRoofHeight:7,lz:7,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{leftPoint:[-6.102539797209565,2.6859428300134014,1],selected:!1,color:"white",type:"Wall",textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],leftRoofHeight:7,lz:7,cx:-6.102539797209562,leftJoints:["xbje76bhjMGZA3Mc8s8cWN"],relativeAngle:-1.570796326794898,id:"5BVMmeTYtWaRrB3p7N2yex",ly:.3,roofId:"uhbPwQthVjoBQGqRB2bxwD",rightRoofHeight:7,cz:0,cy:-.014667051856584123,rightJoints:["dwNyLyogzdW8eZvvnJWmaJ"],lx:5.401219763739977,locked:!1,parentId:"dTyQpKfdgEv9kGBprmTD5p",foundationId:"dTyQpKfdgEv9kGBprmTD5p",rightPoint:[-6.102539797209571,-2.7152769337265754,1],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{normal:[0,0,1],cy:89.91033144595889,solarPowerTower:{},id:"dTyQpKfdgEv9kGBprmTD5p",parentId:"Ground",solarUpdraftTower:{},locked:!1,type:"Foundation",cx:70.15208193257892,color:"#808080",ly:5.482519143209589,cz:.5,solarAbsorberPipe:{},lz:1,lx:12.981345567934609,rotation:[0,0,-.41015237421866746],selected:!1},{leftPoint:[-.7148597809579893,2.6859428300134063,1],selected:!1,normal:[0,0,1],relativeAngle:-3.141592653589793,cz:0,rightRoofHeight:7,ly:.3,parentId:"7tr4anbazuvTAtnbTpqU9w",type:"Wall",centerRoofHeight:[.5,7],leftRoofHeight:7,color:"white",locked:!1,textureType:"Wall Texture Default",rightPoint:[-6.102539797209565,2.6859428300134014,1],lx:5.387680016251569,rightJoints:["cK1cR6gMr6BKG2p5YWPAbz"],rotation:[0,0,-.41015237421866746],roofId:"4YikGAD8ELjnqVycqWQnqk",lz:7,id:"7R7xQ85xB9XpqZUteZ3rjG",cy:2.685942830013403,foundationId:"7tr4anbazuvTAtnbTpqU9w",cx:-3.4086997890837694,leftJoints:["fb2EVpNYy9jyY5yAermefj"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{cz:0,rotation:[0,0,-.41015237421866746],type:"Wall",relativeAngle:1.5707963267948966,leftRoofHeight:7,rightPoint:[-.7148597809579893,2.6859428300134063,1],rightRoofHeight:7,rightJoints:["7R7xQ85xB9XpqZUteZ3rjG"],textureType:"Wall Texture Default",leftJoints:["kYSMKReMjdXaFQpkHynQU8"],lx:5.401219763739984,ly:.3,locked:!1,parentId:"7tr4anbazuvTAtnbTpqU9w",foundationId:"7tr4anbazuvTAtnbTpqU9w",selected:!1,id:"fb2EVpNYy9jyY5yAermefj",leftPoint:[-.7148597809579927,-2.7152769337265767,1],cx:-.7148597809579962,normal:[0,0,1],cy:-.014667051856591229,lz:7,roofId:"4YikGAD8ELjnqVycqWQnqk",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{color:"white",cz:0,normal:[0,0,1],leftJoints:["cK1cR6gMr6BKG2p5YWPAbz"],ly:.3,lz:7,textureType:"Wall Texture Default",leftRoofHeight:7,lx:5.387680016251575,rightJoints:["fb2EVpNYy9jyY5yAermefj"],cx:-3.4086997890837756,rightRoofHeight:7,selected:!1,rightPoint:[-.7148597809579927,-2.7152769337265767,1],type:"Wall",foundationId:"7tr4anbazuvTAtnbTpqU9w",cy:-2.715276933726573,id:"kYSMKReMjdXaFQpkHynQU8",centerRoofHeight:[-.5,7],relativeAngle:-12364019629334816e-31,rotation:[0,0,-.41015237421866746],parentId:"7tr4anbazuvTAtnbTpqU9w",leftPoint:[-6.102539797209571,-2.7152769337265754,1],locked:!1,roofId:"4YikGAD8ELjnqVycqWQnqk",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{lx:5.401219763739977,ly:.3,cz:0,rightPoint:[-6.102539797209571,-2.7152769337265754,1],parentId:"7tr4anbazuvTAtnbTpqU9w",leftRoofHeight:7,color:"white",rightRoofHeight:7,cx:-6.102539797209562,leftJoints:["7R7xQ85xB9XpqZUteZ3rjG"],locked:!1,type:"Wall",lz:7,normal:[0,0,1],selected:!1,leftPoint:[-6.102539797209565,2.6859428300134014,1],roofId:"4YikGAD8ELjnqVycqWQnqk",rightJoints:["kYSMKReMjdXaFQpkHynQU8"],foundationId:"7tr4anbazuvTAtnbTpqU9w",id:"cK1cR6gMr6BKG2p5YWPAbz",cy:-.014667051856584123,textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],relativeAngle:-1.570796326794898,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7,rightTopPartialHeight:7},{selected:!1,solarPowerTower:{},cz:.5,cx:75.10959011141287,type:"Foundation",solarAbsorberPipe:{},cy:101.13287550232491,ly:5.482519143209589,lx:12.981345567934609,solarUpdraftTower:{},id:"7tr4anbazuvTAtnbTpqU9w",locked:!1,lz:1,rotation:[0,0,-.41015237421866746],parentId:"Ground",color:"#808080",normal:[0,0,1]},{lz:0,textureType:"No Roof Texture",foundationId:"un11oZ7V5tAhWhFKuL8M5Q",cy:0,lineColor:"black",lineWidth:.2,lx:0,wallsId:["eVDG7gqXM3uLaHhJS5k6Fh"],ly:0,rightRidgeLength:15.217808474550925,selected:!1,type:"Roof",rotation:[0,0,0],color:"#ffffff",cz:0,thickness:.2,roofType:"Hip",showLabel:!1,normal:[0,0,1],leftRidgeLength:15.217808474550925,cx:0,locked:!1,parentId:"un11oZ7V5tAhWhFKuL8M5Q",id:"a67eFG3dY8EiYs3GWgTwsF",rise:3,ceiling:!1},{selected:!1,type:"Roof",cy:0,lz:0,cz:0,lineWidth:.2,wallsId:["fHApw3eZ3j52e3Ze4hhzaH"],color:"#ffffff",ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],foundationId:"4UZo2BLYXGN9cd3hbyQ45x",lx:0,showLabel:!1,lineColor:"black",rotation:[0,0,0],thickness:.2,roofType:"Gable",id:"8gnJuvioHBpuV9PnGGyNAB",ly:0,locked:!1,textureType:"No Roof Texture",parentId:"4UZo2BLYXGN9cd3hbyQ45x",cx:0,normal:[0,0,1],rise:0,ceiling:!1},{ly:0,lineWidth:.2,thickness:.2,ridgeRightPoint:[.5,1],rotation:[0,0,0],selected:!1,lz:0,id:"8851rT9wqqajnoeFBmiUjQ",lineColor:"black",wallsId:["dn61jbg36CDKXJ7atWKcPL"],ridgeLeftPoint:[-.5,1],cz:0,cy:0,foundationId:"jYYkxDDGtpRKpj5cDaSAyU",lx:0,parentId:"jYYkxDDGtpRKpj5cDaSAyU",showLabel:!1,normal:[0,0,1],cx:0,roofType:"Gable",color:"#ffffff",textureType:"No Roof Texture",locked:!1,type:"Roof",rise:0,ceiling:!1},{textureType:"No Roof Texture",lx:0,parentId:"dTyQpKfdgEv9kGBprmTD5p",color:"#ffffff",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],lz:0,thickness:.2,type:"Roof",selected:!1,showLabel:!1,cz:0,wallsId:["nU3buhZij6ruFmt78QqHPt"],rotation:[0,0,0],lineWidth:.2,foundationId:"dTyQpKfdgEv9kGBprmTD5p",cy:0,id:"uhbPwQthVjoBQGqRB2bxwD",lineColor:"black",ly:0,locked:!1,normal:[0,0,1],cx:0,roofType:"Gable",rise:0,ceiling:!1},{showLabel:!1,normal:[0,0,1],parentId:"7tr4anbazuvTAtnbTpqU9w",lz:0,lineWidth:.2,rotation:[0,0,0],ly:0,id:"4YikGAD8ELjnqVycqWQnqk",textureType:"No Roof Texture",cz:0,roofType:"Gable",lineColor:"black",foundationId:"7tr4anbazuvTAtnbTpqU9w",lx:0,wallsId:["fb2EVpNYy9jyY5yAermefj"],cy:0,cx:0,color:"#ffffff",locked:!1,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],thickness:.2,type:"Roof",selected:!1,rise:0,ceiling:!1},{lineColor:"black",thickness:.2,id:"sYHDayEkzyov7moz6ZSxMu",wallsId:["vBUTysuRjhgkSBTqe4LbYB"],foundationId:"iUb7PSjszf44Zg2YisnC92",rightRidgeLength:10.468639728099076,cy:0,leftRidgeLength:10.502576741045827,locked:!1,color:"#ffffff",parentId:"iUb7PSjszf44Zg2YisnC92",lz:0,showLabel:!1,cx:0,roofType:"Hip",normal:[0,0,1],cz:0,lx:0,selected:!1,type:"Roof",textureType:"No Roof Texture",lineWidth:.2,ly:0,rotation:[0,0,0],rise:2.5,ceiling:!1},{normal:[0,0,1],cx:4440892098500626e-31,type:"Wall",ly:.3,relativeAngle:3.141592653589793,rightPoint:[-3.499999999999999,5.5,0],rotation:[0,0,-.41015237421866746],leftPoint:[3.5,5.5,0],color:"white",lx:6.999999999999999,rightRoofHeight:5.5,lz:5.5,locked:!1,selected:!1,leftRoofHeight:5.5,textureType:"Wall Texture Default",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cy:5.5,id:"qefHhW7RphUHeDq16TbXhE",parentId:"rQHuxdXYQbCuq9CeyutKyt",foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["6ooz87ACe4edwrDbgzxpbv"],rightJoints:["havXcoauCS81jHQUuLqvuh"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{cx:3.4999999999999982,foundationId:"rQHuxdXYQbCuq9CeyutKyt",parentId:"rQHuxdXYQbCuq9CeyutKyt",rightPoint:[3.499999999999996,5.500000000000007,0],lz:5.5,relativeAngle:1.5707963267948974,leftRoofHeight:5.5,locked:!1,color:"white",leftPoint:[3.5,-.5,0],rotation:[0,0,-.41015237421866746],type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",leftJoints:["mr4zR49hytzuJEADGRBy6h"],selected:!1,centerRoofHeight:[.5,5.5],normal:[0,0,1],cy:2.5000000000000036,id:"6ooz87ACe4edwrDbgzxpbv",ly:.3,lx:6.000000000000007,textureType:"Wall Texture Default",rightJoints:["qefHhW7RphUHeDq16TbXhE"],cz:0,rightRoofHeight:5.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{roofId:"ta7dJGh8vLPXrt6JV7RiRA",rotation:[0,0,-.41015237421866746],leftPoint:[-3.499999999999999,5.5,0],rightJoints:["mr4zR49hytzuJEADGRBy6h"],color:"white",leftRoofHeight:5.5,foundationId:"rQHuxdXYQbCuq9CeyutKyt",leftJoints:["qefHhW7RphUHeDq16TbXhE"],rightRoofHeight:5.5,lx:6,relativeAngle:4.71238898038469,cx:-3.4999999999999996,cz:0,normal:[0,0,1],id:"havXcoauCS81jHQUuLqvuh",ly:.3,rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",cy:2.5,locked:!1,selected:!1,type:"Wall",lz:5.5,centerRoofHeight:[-.5,5.5],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{textureType:"Wall Texture Default",foundationId:"rQHuxdXYQbCuq9CeyutKyt",locked:!1,leftJoints:["havXcoauCS81jHQUuLqvuh"],rightJoints:["6ooz87ACe4edwrDbgzxpbv"],relativeAngle:3806478941571964e-31,rightPoint:[3.5,-.5,0],color:"white",rightRoofHeight:5.5,leftRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],id:"mr4zR49hytzuJEADGRBy6h",ly:.3,lx:7.000000000000002,type:"Wall",roofId:"ta7dJGh8vLPXrt6JV7RiRA",cx:-11102230246251565e-31,cy:-.5000000000000013,normal:[0,0,1],selected:!1,lz:5.5,cz:0,rotation:[0,0,-.41015237421866746],parentId:"rQHuxdXYQbCuq9CeyutKyt",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{color:"#ffffff",normal:[0,0,1],textureType:"No Roof Texture",id:"ta7dJGh8vLPXrt6JV7RiRA",thickness:.2,cy:0,foundationId:"rQHuxdXYQbCuq9CeyutKyt",selected:!1,locked:!1,ridgeRightPoint:[.5,1],roofType:"Gable",wallsId:["mr4zR49hytzuJEADGRBy6h"],rotation:[0,0,-.41015237421866746],ly:0,cz:0,ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",cx:0,lz:0,parentId:"rQHuxdXYQbCuq9CeyutKyt",rise:0,ceiling:!1},{locked:!1,solarAbsorberPipe:{},lz:1,ly:13.609083182601537,cz:.5,type:"Foundation",id:"rQHuxdXYQbCuq9CeyutKyt",cx:-44.11791038753842,normal:[0,0,1],lx:9.87769053193653,solarUpdraftTower:{},selected:!1,cy:-106.22676257052163,rotation:[0,0,-.41015237421866746],parentId:"Ground",solarPowerTower:{}},{id:"i5GKt7QSXzDRXB7dcnVBLM",locked:!1,rotation:[0,0,2.731440279371126],leftPoint:[3.5,5.5,0],ly:.3,cy:5.5,leftJoints:["m2eA6TxbykTmNtzzk3kJAi"],relativeAngle:3.141592653589793,parentId:"i7ztNW6L7rJRDK1bHdkfyV",textureType:"Wall Texture Default",cz:0,rightPoint:[-3.499999999999999,5.5,0],selected:!1,lz:5.5,rightJoints:["sPS51DdhZZB8Z5PdWKEDt2"],normal:[0,0,1],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",leftRoofHeight:5.5,color:"white",type:"Wall",roofId:"r5b5XcBuiD8AujQ1MGfNH3",lx:6.999999999999999,rightRoofHeight:5.5,cx:4440892098500626e-31,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{centerRoofHeight:[.5,5.5],roofId:"r5b5XcBuiD8AujQ1MGfNH3",rotation:[0,0,2.731440279371126],foundationId:"i7ztNW6L7rJRDK1bHdkfyV",cz:0,relativeAngle:1.5707963267948974,color:"white",cx:3.4999999999999982,id:"m2eA6TxbykTmNtzzk3kJAi",leftJoints:["oH8d6S7hYF3gtbhBgwNM9N"],rightPoint:[3.499999999999996,5.500000000000007,0],leftPoint:[3.5,-.5,0],lx:6.000000000000007,locked:!1,rightJoints:["i5GKt7QSXzDRXB7dcnVBLM"],normal:[0,0,1],parentId:"i7ztNW6L7rJRDK1bHdkfyV",cy:2.5000000000000036,textureType:"Wall Texture Default",ly:.3,rightRoofHeight:5.5,selected:!1,lz:5.5,leftRoofHeight:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{normal:[0,0,1],rightJoints:["oH8d6S7hYF3gtbhBgwNM9N"],relativeAngle:4.71238898038469,leftPoint:[-3.499999999999999,5.5,0],leftRoofHeight:5.5,leftJoints:["i5GKt7QSXzDRXB7dcnVBLM"],color:"white",selected:!1,lz:5.5,locked:!1,rightRoofHeight:5.5,cy:2.5,cx:-3.4999999999999996,type:"Wall",cz:0,id:"sPS51DdhZZB8Z5PdWKEDt2",rightPoint:[-3.5,-.5,0],textureType:"Wall Texture Default",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",roofId:"r5b5XcBuiD8AujQ1MGfNH3",parentId:"i7ztNW6L7rJRDK1bHdkfyV",ly:.3,centerRoofHeight:[-.5,5.5],rotation:[0,0,2.731440279371126],lx:6,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{locked:!1,id:"oH8d6S7hYF3gtbhBgwNM9N",type:"Wall",leftJoints:["sPS51DdhZZB8Z5PdWKEDt2"],rightPoint:[3.5,-.5,0],rotation:[0,0,2.731440279371126],cx:-11102230246251565e-31,color:"white",rightJoints:["m2eA6TxbykTmNtzzk3kJAi"],roofId:"r5b5XcBuiD8AujQ1MGfNH3",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",lx:7.000000000000002,leftRoofHeight:5.5,textureType:"Wall Texture Default",parentId:"i7ztNW6L7rJRDK1bHdkfyV",rightRoofHeight:5.5,leftPoint:[-3.500000000000002,-.5000000000000027,0],cy:-.5000000000000013,cz:0,selected:!1,lz:5.5,relativeAngle:3806478941571964e-31,ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"i7ztNW6L7rJRDK1bHdkfyV",selected:!1,thickness:.2,cy:0,type:"Roof",foundationId:"i7ztNW6L7rJRDK1bHdkfyV",id:"r5b5XcBuiD8AujQ1MGfNH3",roofType:"Gable",lx:0,wallsId:["oH8d6S7hYF3gtbhBgwNM9N"],normal:[0,0,1],ridgeRightPoint:[.5,1],color:"#ffffff",cz:0,ly:0,rotation:[0,0,2.731440279371126],ridgeLeftPoint:[-.5,1],cx:0,locked:!1,lz:0,textureType:"No Roof Texture",rise:0,ceiling:!1},{solarAbsorberPipe:{},rotation:[0,0,2.731440279371126],id:"i7ztNW6L7rJRDK1bHdkfyV",cy:-73.67535448644264,lx:9.87769053193653,normal:[0,0,1],locked:!1,solarPowerTower:{},selected:!1,cx:-30.629562336104748,ly:13.609083182601537,parentId:"Ground",solarUpdraftTower:{},type:"Foundation",lz:1,cz:.5},{rotation:[0,0,2.731440279371126],leftRoofHeight:5.5,foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cz:0,normal:[0,0,1],selected:!1,cy:5.5,relativeAngle:3.141592653589793,roofId:"runBfYomSfd687Gchj63SZ",leftPoint:[3.5,5.5,0],leftJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],locked:!1,rightJoints:["96zUdoDkw4WNfs9uwWoQAg"],lx:6.999999999999999,ly:.3,rightRoofHeight:5.5,cx:4440892098500626e-31,lz:5.5,rightPoint:[-3.499999999999999,5.5,0],id:"3poxNxgtfpKbeLU5s5wzoP",textureType:"Wall Texture Default",type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",parentId:"hSQpUbAbHNwPXWwTfmLQQ9",rightPoint:[3.499999999999996,5.500000000000007,0],color:"white",id:"ubJ5Kh7Kzh6DiRySw16dSF",leftRoofHeight:5.5,relativeAngle:1.5707963267948974,normal:[0,0,1],cx:3.4999999999999982,roofId:"runBfYomSfd687Gchj63SZ",rotation:[0,0,2.731440279371126],cz:0,rightRoofHeight:5.5,lx:6.000000000000007,selected:!1,locked:!1,centerRoofHeight:[.5,5.5],ly:.3,leftPoint:[3.5,-.5,0],textureType:"Wall Texture Default",rightJoints:["3poxNxgtfpKbeLU5s5wzoP"],leftJoints:["5n3uXwW2AJxGx3HRvGRLXX"],cy:2.5000000000000036,lz:5.5,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{id:"96zUdoDkw4WNfs9uwWoQAg",rightJoints:["5n3uXwW2AJxGx3HRvGRLXX"],centerRoofHeight:[-.5,5.5],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",locked:!1,type:"Wall",ly:.3,relativeAngle:4.71238898038469,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",textureType:"Wall Texture Default",normal:[0,0,1],cy:2.5,rightPoint:[-3.5,-.5,0],rightRoofHeight:5.5,lx:6,rotation:[0,0,2.731440279371126],cx:-3.4999999999999996,selected:!1,color:"white",leftPoint:[-3.499999999999999,5.5,0],leftJoints:["3poxNxgtfpKbeLU5s5wzoP"],lz:5.5,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{selected:!1,parentId:"hSQpUbAbHNwPXWwTfmLQQ9",color:"white",leftJoints:["96zUdoDkw4WNfs9uwWoQAg"],cy:-.5000000000000013,lz:5.5,textureType:"Wall Texture Default",relativeAngle:3806478941571964e-31,type:"Wall",leftPoint:[-3.500000000000002,-.5000000000000027,0],lx:7.000000000000002,leftRoofHeight:5.5,roofId:"runBfYomSfd687Gchj63SZ",cx:-11102230246251565e-31,rightJoints:["ubJ5Kh7Kzh6DiRySw16dSF"],rotation:[0,0,2.731440279371126],id:"5n3uXwW2AJxGx3HRvGRLXX",rightRoofHeight:5.5,locked:!1,cz:0,rightPoint:[3.5,-.5,0],foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",ly:.3,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.5,rightTopPartialHeight:5.5},{parentId:"hSQpUbAbHNwPXWwTfmLQQ9",cy:0,ly:0,textureType:"No Roof Texture",lz:0,rotation:[0,0,2.731440279371126],ridgeRightPoint:[.5,1],locked:!1,type:"Roof",foundationId:"hSQpUbAbHNwPXWwTfmLQQ9",roofType:"Gable",thickness:.2,color:"#ffffff",id:"runBfYomSfd687Gchj63SZ",selected:!1,wallsId:["5n3uXwW2AJxGx3HRvGRLXX"],normal:[0,0,1],cz:0,ridgeLeftPoint:[-.5,1],cx:0,lx:0,rise:0,ceiling:!1},{solarAbsorberPipe:{},type:"Foundation",rotation:[0,0,2.731440279371126],selected:!1,solarUpdraftTower:{},cx:-20.62568109333218,lz:1,id:"hSQpUbAbHNwPXWwTfmLQQ9",ly:13.609083182601537,cy:-78.08358970074559,locked:!1,parentId:"Ground",lx:9.87769053193653,cz:.5,normal:[0,0,1],solarPowerTower:{}},{id:"g5QrsNM3GmBsG5THTKDrtm",lx:0,lz:0,locked:!1,color:"#ffffff",parentId:"jsSCnAypzh29RxPH7MED73",thickness:.2,showLabel:!1,cx:0,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],rotation:[0,0,0],cy:0,lineColor:"black",roofType:"Gable",normal:[0,0,1],type:"Roof",selected:!1,wallsId:["6QCJ15fiFxBVfmQVYdq3Tt"],ly:0,ridgeRightPoint:[.5,1],cz:0,lineWidth:.2,foundationId:"jsSCnAypzh29RxPH7MED73",rise:0,ceiling:!1},{locked:!1,ly:.3,lz:11,rightRoofHeight:11,textureType:"Wall Texture Default",cy:1.3672430244223936,cz:0,selected:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",color:"white",leftRoofHeight:11,rightJoints:["6h7WjPWFBQymjBKRVYEU1F"],relativeAngle:3.1415926535897927,normal:[0,0,1],foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftPoint:[3.0949416757515893,1.3672430244223912,0],parentId:"tL1dWhNk5SYJrYMJekBQPT",rotation:[0,0,-.41015237421866746],leftJoints:["884js7wUi92VZEx6c9MoMb"],lx:6.167453096699541,id:"sjiccDfBPmjs7njCd2f7Zn",rightPoint:[-3.072511420947951,1.3672430244223959,0],cx:.01121512740181907,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,type:"Wall",ly:.3,textureType:"Wall Texture Default",foundationId:"tL1dWhNk5SYJrYMJekBQPT",leftJoints:["bbdCECR63r6BPqRgAaaEkx"],rotation:[0,0,-.41015237421866746],centerRoofHeight:[-.5,11],cz:0,roofId:"vSTpyGi1WSV73vjm9ifaVF",rightPoint:[3.0949416757515893,1.3672430244223912,0],leftPoint:[3.094941675751588,-5.795230412406128,0],cx:3.0949416757515884,rightRoofHeight:11,rightJoints:["sjiccDfBPmjs7njCd2f7Zn"],color:"white",normal:[0,0,1],leftRoofHeight:11,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:1.5707963267948963,selected:!1,id:"884js7wUi92VZEx6c9MoMb",cy:-2.2139936939918683,lz:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[3.094941675751588,-5.795230412406128,0],leftRoofHeight:11,selected:!1,id:"bbdCECR63r6BPqRgAaaEkx",rightJoints:["884js7wUi92VZEx6c9MoMb"],rightRoofHeight:11,cx:.011215127401820624,parentId:"tL1dWhNk5SYJrYMJekBQPT",relativeAngle:0,cz:0,rotation:[0,0,-.41015237421866746],textureType:"Wall Texture Default",cy:-5.795230412406128,color:"white",lz:11,leftJoints:["6h7WjPWFBQymjBKRVYEU1F"],locked:!1,roofId:"vSTpyGi1WSV73vjm9ifaVF",type:"Wall",leftPoint:[-3.0725114209479467,-5.795230412406128,0],foundationId:"tL1dWhNk5SYJrYMJekBQPT",lx:6.167453096699535,normal:[0,0,1],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightPoint:[-3.0725114209479467,-5.795230412406128,0],locked:!1,rightRoofHeight:11,normal:[0,0,1],selected:!1,relativeAngle:-1.570796326794896,color:"white",lx:7.162473436828524,type:"Wall",rotation:[0,0,-.41015237421866746],cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,foundationId:"tL1dWhNk5SYJrYMJekBQPT",textureType:"Wall Texture Default",id:"6h7WjPWFBQymjBKRVYEU1F",cz:0,centerRoofHeight:[.5,11],lz:11,leftRoofHeight:11,rightJoints:["bbdCECR63r6BPqRgAaaEkx"],parentId:"tL1dWhNk5SYJrYMJekBQPT",cy:-2.213993693991866,roofId:"vSTpyGi1WSV73vjm9ifaVF",leftJoints:["sjiccDfBPmjs7njCd2f7Zn"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{foundationId:"tL1dWhNk5SYJrYMJekBQPT",cz:0,textureType:"No Roof Texture",lz:0,lx:0,ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rotation:[0,0,0],cy:0,type:"Roof",selected:!1,cx:0,ly:0,thickness:.2,wallsId:["sjiccDfBPmjs7njCd2f7Zn"],id:"vSTpyGi1WSV73vjm9ifaVF",parentId:"tL1dWhNk5SYJrYMJekBQPT",color:"#ffffff",roofType:"Gable",locked:!1,normal:[0,0,1],rise:0,ceiling:!1},{cy:-47.30267633910208,color:"#808080",rotation:[0,0,-.41015237421866746],parentId:"Ground",cx:33.062760716057014,lz:1,solarUpdraftTower:{},ly:12.02473099186649,solarAbsorberPipe:{},normal:[0,0,1],lx:6.9193101388799265,locked:!1,selected:!1,cz:.5,id:"tL1dWhNk5SYJrYMJekBQPT",solarPowerTower:{},type:"Foundation"},{textureType:"Wall Texture Default",normal:[0,0,1],locked:!1,cz:0,lz:11,rotation:[0,0,-.41015237421866746],ly:.3,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftJoints:["bsAJpLn9jN322sM8DpUqNT"],color:"white",rightRoofHeight:11,rightJoints:["9zXV5uFN4dSMYxBWBituAB"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",relativeAngle:3.1415926535897927,roofId:"uKCQp7m7UvcYMBhFBR8GT7",cx:.01121512740181907,lx:6.167453096699541,leftRoofHeight:11,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"jDBrbsB7AgYxXtiw7hRkBD",selected:!1,cy:1.3672430244223936,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:3.0949416757515884,relativeAngle:1.5707963267948963,centerRoofHeight:[-.5,11],parentId:"fHceZhM7YfHkRpJA2Esq6q",cy:-2.2139936939918683,normal:[0,0,1],rightPoint:[3.0949416757515893,1.3672430244223912,0],color:"white",textureType:"Wall Texture Default",roofId:"uKCQp7m7UvcYMBhFBR8GT7",leftPoint:[3.094941675751588,-5.795230412406128,0],ly:.3,leftJoints:["qjfMazdqWCR3Emu8xMPVFZ"],lx:7.1624734368285194,foundationId:"fHceZhM7YfHkRpJA2Esq6q",selected:!1,rightRoofHeight:11,locked:!1,leftRoofHeight:11,rotation:[0,0,-.41015237421866746],rightJoints:["jDBrbsB7AgYxXtiw7hRkBD"],lz:11,cz:0,type:"Wall",id:"bsAJpLn9jN322sM8DpUqNT",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:6.167453096699535,leftJoints:["9zXV5uFN4dSMYxBWBituAB"],relativeAngle:0,color:"white",rightRoofHeight:11,normal:[0,0,1],id:"qjfMazdqWCR3Emu8xMPVFZ",ly:.3,lz:11,cx:.011215127401820624,rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"uKCQp7m7UvcYMBhFBR8GT7",textureType:"Wall Texture Default",type:"Wall",selected:!1,cy:-5.795230412406128,parentId:"fHceZhM7YfHkRpJA2Esq6q",leftRoofHeight:11,locked:!1,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rotation:[0,0,-.41015237421866746],cz:0,rightJoints:["bsAJpLn9jN322sM8DpUqNT"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-2.213993693991866,parentId:"fHceZhM7YfHkRpJA2Esq6q",rightPoint:[-3.0725114209479467,-5.795230412406128,0],id:"9zXV5uFN4dSMYxBWBituAB",leftPoint:[-3.072511420947951,1.3672430244223959,0],lx:7.162473436828524,locked:!1,rightJoints:["qjfMazdqWCR3Emu8xMPVFZ"],centerRoofHeight:[.5,11],selected:!1,color:"white",textureType:"Wall Texture Default",cz:0,leftRoofHeight:11,cx:-3.072511420947949,leftJoints:["jDBrbsB7AgYxXtiw7hRkBD"],foundationId:"fHceZhM7YfHkRpJA2Esq6q",ly:.3,roofId:"uKCQp7m7UvcYMBhFBR8GT7",rotation:[0,0,-.41015237421866746],normal:[0,0,1],rightRoofHeight:11,lz:11,type:"Wall",relativeAngle:-1.570796326794896,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cz:0,thickness:.2,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],ly:0,selected:!1,parentId:"fHceZhM7YfHkRpJA2Esq6q",wallsId:["jDBrbsB7AgYxXtiw7hRkBD"],textureType:"No Roof Texture",foundationId:"fHceZhM7YfHkRpJA2Esq6q",cy:0,roofType:"Gable",id:"uKCQp7m7UvcYMBhFBR8GT7",color:"#ffffff",type:"Roof",locked:!1,cx:0,rotation:[0,0,0],lz:0,normal:[0,0,1],rise:0,ceiling:!1},{type:"Foundation",selected:!1,cz:.5,lx:6.9193101388799265,parentId:"Ground",cx:25.793727800925453,solarPowerTower:{},ly:12.02473099186649,color:"#808080",solarUpdraftTower:{},lz:1,solarAbsorberPipe:{},id:"fHceZhM7YfHkRpJA2Esq6q",normal:[0,0,1],rotation:[0,0,-.41015237421866746],cy:-44.150742219854976,locked:!1},{id:"eDUMHr2NcH2Gn7xk4o7aw9",cy:1.3672430244223936,textureType:"Wall Texture Default",lx:6.167453096699541,relativeAngle:3.1415926535897927,rotation:[0,0,2.731440279371126],rightJoints:["dBRLXzBSe497rzH2ZCcM82"],roofId:"4m5SMiyzXUqv7MDwHxMrqg",type:"Wall",normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",lz:11,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",rightRoofHeight:11,cz:0,ly:.3,cx:.01121512740181907,leftRoofHeight:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],color:"white",leftJoints:["6ev87RFfruvs5gvArbaReo"],selected:!1,leftPoint:[3.0949416757515893,1.3672430244223912,0],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:7.1624734368285194,cy:-2.2139936939918683,normal:[0,0,1],rightJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],rightPoint:[3.0949416757515893,1.3672430244223912,0],rotation:[0,0,2.731440279371126],relativeAngle:1.5707963267948963,lz:11,selected:!1,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",type:"Wall",roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftJoints:["wYP5AC8pKwpu2zvkHKJuyw"],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",centerRoofHeight:[-.5,11],color:"white",textureType:"Wall Texture Default",leftRoofHeight:11,cx:3.0949416757515884,cz:0,leftPoint:[3.094941675751588,-5.795230412406128,0],id:"6ev87RFfruvs5gvArbaReo",ly:.3,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cx:.011215127401820624,color:"white",parentId:"fs8r4ERWJ4tuBZW1NUtMpb",relativeAngle:0,foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"wYP5AC8pKwpu2zvkHKJuyw",selected:!1,lx:6.167453096699535,type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],lz:11,rightRoofHeight:11,normal:[0,0,1],leftRoofHeight:11,rightJoints:["6ev87RFfruvs5gvArbaReo"],cy:-5.795230412406128,rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",cz:0,roofId:"4m5SMiyzXUqv7MDwHxMrqg",leftPoint:[-3.0725114209479467,-5.795230412406128,0],leftJoints:["dBRLXzBSe497rzH2ZCcM82"],ly:.3,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{rightJoints:["wYP5AC8pKwpu2zvkHKJuyw"],textureType:"Wall Texture Default",lz:11,cy:-2.213993693991866,roofId:"4m5SMiyzXUqv7MDwHxMrqg",cz:0,rightPoint:[-3.0725114209479467,-5.795230412406128,0],ly:.3,relativeAngle:-1.570796326794896,type:"Wall",lx:7.162473436828524,rightRoofHeight:11,centerRoofHeight:[.5,11],color:"white",rotation:[0,0,2.731440279371126],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",leftRoofHeight:11,cx:-3.072511420947949,leftPoint:[-3.072511420947951,1.3672430244223959,0],normal:[0,0,1],parentId:"fs8r4ERWJ4tuBZW1NUtMpb",id:"dBRLXzBSe497rzH2ZCcM82",selected:!1,leftJoints:["eDUMHr2NcH2Gn7xk4o7aw9"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Roof",id:"4m5SMiyzXUqv7MDwHxMrqg",lz:0,cy:0,lx:0,ridgeRightPoint:[.5,1],normal:[0,0,1],cz:0,wallsId:["eDUMHr2NcH2Gn7xk4o7aw9"],foundationId:"fs8r4ERWJ4tuBZW1NUtMpb",roofType:"Gable",thickness:.2,textureType:"No Roof Texture",ridgeLeftPoint:[-.5,1],selected:!1,parentId:"fs8r4ERWJ4tuBZW1NUtMpb",color:"#ffffff",ly:0,cx:0,rotation:[0,0,2.731440279371126],rise:0,ceiling:!1},{cy:-87.33804902014363,parentId:"Ground",id:"fs8r4ERWJ4tuBZW1NUtMpb",lz:1,solarAbsorberPipe:{},selected:!1,type:"Foundation",solarUpdraftTower:{},color:"#808080",cx:24.611820076821594,normal:[0,0,1],ly:12.02473099186649,rotation:[0,0,2.731440279371126],lx:6.9193101388799265,cz:.5,solarPowerTower:{}},{type:"Wall",foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",relativeAngle:3.1415926535897927,leftRoofHeight:11,textureType:"Wall Texture Default",leftPoint:[3.0949416757515893,1.3672430244223912,0],leftJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],lx:6.167453096699541,rightJoints:["jpAZ9atyqHZpxDMMXDH32S"],lz:11,rightPoint:[-3.072511420947951,1.3672430244223959,0],id:"eHL2VLecmq9sobBZmGw45i",ly:.3,normal:[0,0,1],roofId:"aNwaGHwp5cd46aLgfhTdkk",rotation:[0,0,2.731440279371126],rightRoofHeight:11,cx:.01121512740181907,cz:0,selected:!1,cy:1.3672430244223936,parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"Wall Texture Default",normal:[0,0,1],centerRoofHeight:[-.5,11],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,leftRoofHeight:11,rotation:[0,0,2.731440279371126],selected:!1,id:"a4sxwAfDyYN2ctPYayZ8Rp",foundationId:"jj54TnbPPLQx19RofY6bBx",ly:.3,leftJoints:["ntgMQTFPjEa6eGdeyqZWjE"],cy:-2.2139936939918683,rightPoint:[3.0949416757515893,1.3672430244223912,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,color:"white",lx:7.1624734368285194,cx:3.0949416757515884,leftPoint:[3.094941675751588,-5.795230412406128,0],rightRoofHeight:11,rightJoints:["eHL2VLecmq9sobBZmGw45i"],relativeAngle:1.5707963267948963,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftPoint:[-3.0725114209479467,-5.795230412406128,0],type:"Wall",rightPoint:[3.094941675751588,-5.795230412406128,0],roofId:"aNwaGHwp5cd46aLgfhTdkk",lz:11,rotation:[0,0,2.731440279371126],rightJoints:["a4sxwAfDyYN2ctPYayZ8Rp"],leftRoofHeight:11,cy:-5.795230412406128,leftJoints:["jpAZ9atyqHZpxDMMXDH32S"],cz:0,relativeAngle:0,foundationId:"jj54TnbPPLQx19RofY6bBx",color:"white",cx:.011215127401820624,normal:[0,0,1],rightRoofHeight:11,ly:.3,lx:6.167453096699535,selected:!1,textureType:"Wall Texture Default",id:"ntgMQTFPjEa6eGdeyqZWjE",parentId:"jj54TnbPPLQx19RofY6bBx",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{color:"white",rightJoints:["ntgMQTFPjEa6eGdeyqZWjE"],ly:.3,type:"Wall",cy:-2.213993693991866,selected:!1,rotation:[0,0,2.731440279371126],normal:[0,0,1],lz:11,leftRoofHeight:11,textureType:"Wall Texture Default",leftJoints:["eHL2VLecmq9sobBZmGw45i"],roofId:"aNwaGHwp5cd46aLgfhTdkk",centerRoofHeight:[.5,11],rightRoofHeight:11,id:"jpAZ9atyqHZpxDMMXDH32S",leftPoint:[-3.072511420947951,1.3672430244223959,0],relativeAngle:-1.570796326794896,foundationId:"jj54TnbPPLQx19RofY6bBx",rightPoint:[-3.0725114209479467,-5.795230412406128,0],parentId:"jj54TnbPPLQx19RofY6bBx",cz:0,cx:-3.072511420947949,lx:7.162473436828524,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,color:"#ffffff",normal:[0,0,1],thickness:.2,wallsId:["eHL2VLecmq9sobBZmGw45i"],ridgeRightPoint:[.5,1],textureType:"No Roof Texture",cy:0,foundationId:"jj54TnbPPLQx19RofY6bBx",cx:0,ridgeLeftPoint:[-.5,1],rotation:[0,0,2.731440279371126],selected:!1,id:"aNwaGHwp5cd46aLgfhTdkk",parentId:"jj54TnbPPLQx19RofY6bBx",roofType:"Gable",lz:0,ly:0,type:"Roof",cz:0,rise:0,ceiling:!1},{color:"#808080",selected:!1,lx:6.9193101388799265,lz:1,type:"Foundation",cz:.5,solarPowerTower:{},solarUpdraftTower:{},ly:12.02473099186649,parentId:"Ground",normal:[0,0,1],solarAbsorberPipe:{},cy:-83.96400506720003,id:"jj54TnbPPLQx19RofY6bBx",rotation:[0,0,2.731440279371126],cx:16.965503952859194},{color:"white",leftJoints:["1grZuTdR63nsQE356nWnzd"],type:"Wall",ly:.3,rightJoints:["273cTJKK381CJaxKCfBNJW"],cz:0,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[-3.072511420947951,1.3672430244223959,0],rotation:[0,0,2.731440279371126],lz:11,lx:6.167453096699541,parentId:"7sPS9WfdHAu8wqjpcnPHgs",leftRoofHeight:11,cy:1.3672430244223936,textureType:"Wall Texture Default",normal:[0,0,1],relativeAngle:3.1415926535897927,foundationId:"7sPS9WfdHAu8wqjpcnPHgs",selected:!1,cx:.01121512740181907,leftPoint:[3.0949416757515893,1.3672430244223912,0],rightRoofHeight:11,id:"qgRfDLTUB6zC4mGwstgdHV",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{relativeAngle:1.5707963267948963,rightJoints:["qgRfDLTUB6zC4mGwstgdHV"],leftJoints:["s1pLuQJKHQfm1KbkXQK17L"],color:"white",rightRoofHeight:11,ly:.3,leftRoofHeight:11,lz:11,id:"1grZuTdR63nsQE356nWnzd",parentId:"7sPS9WfdHAu8wqjpcnPHgs",roofId:"5kL2iBLvr52ipCNA3bs5cq",normal:[0,0,1],lx:7.1624734368285194,leftPoint:[3.094941675751588,-5.795230412406128,0],centerRoofHeight:[-.5,11],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",cz:0,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],type:"Wall",selected:!1,rightPoint:[3.0949416757515893,1.3672430244223912,0],cy:-2.2139936939918683,cx:3.0949416757515884,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,color:"white",cx:.011215127401820624,normal:[0,0,1],textureType:"Wall Texture Default",cz:0,type:"Wall",ly:.3,lz:11,rightJoints:["1grZuTdR63nsQE356nWnzd"],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rotation:[0,0,2.731440279371126],cy:-5.795230412406128,leftPoint:[-3.0725114209479467,-5.795230412406128,0],rightRoofHeight:11,parentId:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.167453096699535,leftRoofHeight:11,roofId:"5kL2iBLvr52ipCNA3bs5cq",rightPoint:[3.094941675751588,-5.795230412406128,0],leftJoints:["273cTJKK381CJaxKCfBNJW"],id:"s1pLuQJKHQfm1KbkXQK17L",relativeAngle:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightPoint:[-3.0725114209479467,-5.795230412406128,0],normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],textureType:"Wall Texture Default",lx:7.162473436828524,selected:!1,cx:-3.072511420947949,relativeAngle:-1.570796326794896,parentId:"7sPS9WfdHAu8wqjpcnPHgs",cy:-2.213993693991866,cz:0,color:"white",foundationId:"7sPS9WfdHAu8wqjpcnPHgs",id:"273cTJKK381CJaxKCfBNJW",rightJoints:["s1pLuQJKHQfm1KbkXQK17L"],rightRoofHeight:11,leftRoofHeight:11,leftPoint:[-3.072511420947951,1.3672430244223959,0],ly:.3,roofId:"5kL2iBLvr52ipCNA3bs5cq",centerRoofHeight:[.5,11],leftJoints:["qgRfDLTUB6zC4mGwstgdHV"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,ridgeRightPoint:[.5,1],type:"Roof",cx:0,wallsId:["qgRfDLTUB6zC4mGwstgdHV"],ly:0,cz:0,thickness:.2,normal:[0,0,1],rotation:[0,0,2.731440279371126],color:"#ffffff",lx:0,roofType:"Gable",lz:0,textureType:"No Roof Texture",cy:0,id:"5kL2iBLvr52ipCNA3bs5cq",parentId:"7sPS9WfdHAu8wqjpcnPHgs",ridgeLeftPoint:[-.5,1],foundationId:"7sPS9WfdHAu8wqjpcnPHgs",rise:0,ceiling:!1},{selected:!1,ly:12.02473099186649,parentId:"Ground",cx:8.897542847512511,lz:1,solarPowerTower:{},rotation:[0,0,2.731440279371126],solarUpdraftTower:{},solarAbsorberPipe:{},color:"#808080",normal:[0,0,1],cz:.5,cy:-80.50493585333112,type:"Foundation",id:"7sPS9WfdHAu8wqjpcnPHgs",lx:6.9193101388799265},{wallsId:["3JjPc2Pp9fAroM9UdivE1u"],lx:0,color:"#ffffff",rotation:[0,0,0],foundationId:"a7Ykq8sCMoZy5zM2ybNhKs",showLabel:!1,textureType:"No Roof Texture",lz:0,id:"qYDMJTekV8NWHzzCiVYwcs",type:"Roof",ridgeRightPoint:[0,1],normal:[0,0,1],lineColor:"black",roofType:"Gable",cx:0,thickness:.2,cy:0,parentId:"a7Ykq8sCMoZy5zM2ybNhKs",ly:0,ridgeLeftPoint:[0,1],cz:0,selected:!1,lineWidth:.2,rise:.9752174096903712,ceiling:!1},{lx:9.337227070632437,rightPoint:[-4.747688161235284,3.351698633040855,0],lz:5.25,rightJoints:["aS3LNujiVdR6Qawgwx71Xp"],leftJoints:["b5WAAJ2sso2rc9V8yZ7iom"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",textureType:"Wall Texture Default",normal:[0,0,1],type:"Wall",leftRoofHeight:5.25,selected:!1,cz:0,relativeAngle:3.141592653589793,leftPoint:[4.589538909397152,3.3516986330408534,0],color:"white",ly:.3,rotation:[0,0,-.41015237421866746],rightRoofHeight:5.25,centerRoofHeight:[0,6.225217409690371],roofId:"e9ZJ6jf8buNcpSGMCbcrrA",cx:-.07907462591906578,cy:3.3516986330408542,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",id:"bCNGD8BAzXepM4A7Cp5qfr",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,relativeAngle:1.5707963267948961,lx:6.320731749368616,color:"white",leftPoint:[4.58953890939715,-2.969033116327763,0],cy:.19133275835654517,ly:.3,id:"b5WAAJ2sso2rc9V8yZ7iom",normal:[0,0,1],type:"Wall",foundationId:"b9sLhFsxP7jM5xLzyG2m8E",rightPoint:[4.589538909397152,3.3516986330408534,0],rotation:[0,0,-.41015237421866746],rightJoints:["bCNGD8BAzXepM4A7Cp5qfr"],lz:5.25,leftJoints:["9sNfcLVjGqnn14Dpdib7wD"],rightRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",textureType:"Wall Texture Default",selected:!1,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,cx:4.589538909397151,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightPoint:[4.58953890939715,-2.969033116327763,0],rotation:[0,0,-.41015237421866746],ly:.3,lx:9.337227070632434,cy:-2.969033116327763,type:"Wall",lz:5.25,leftRoofHeight:5.25,roofId:"e9ZJ6jf8buNcpSGMCbcrrA",leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"9sNfcLVjGqnn14Dpdib7wD",centerRoofHeight:[0,6.225217409690371],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",selected:!1,textureType:"Wall Texture Default",cx:-.07907462591906667,parentId:"b9sLhFsxP7jM5xLzyG2m8E",cz:0,relativeAngle:-4756114491922529e-32,leftJoints:["aS3LNujiVdR6Qawgwx71Xp"],rightJoints:["b5WAAJ2sso2rc9V8yZ7iom"],color:"white",rightRoofHeight:5.25,normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,selected:!1,textureType:"Wall Texture Default",roofId:"e9ZJ6jf8buNcpSGMCbcrrA",rightPoint:[-4.747688161235283,-2.9690331163277626,0],relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,foundationId:"b9sLhFsxP7jM5xLzyG2m8E",lx:6.320731749368617,color:"white",rightJoints:["9sNfcLVjGqnn14Dpdib7wD"],parentId:"b9sLhFsxP7jM5xLzyG2m8E",id:"aS3LNujiVdR6Qawgwx71Xp",type:"Wall",normal:[0,0,1],leftPoint:[-4.747688161235284,3.351698633040855,0],rotation:[0,0,-.41015237421866746],leftJoints:["bCNGD8BAzXepM4A7Cp5qfr"],cz:0,ly:.3,cy:.19133275835654628,cx:-4.747688161235283,lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{parentId:"b9sLhFsxP7jM5xLzyG2m8E",thickness:.2,ly:0,roofType:"Gable",normal:[0,0,1],wallsId:["b5WAAJ2sso2rc9V8yZ7iom"],cy:0,cz:0,id:"e9ZJ6jf8buNcpSGMCbcrrA",ridgeRightPoint:[0,1],foundationId:"b9sLhFsxP7jM5xLzyG2m8E",ridgeLeftPoint:[0,1],cx:0,rotation:[0,0,0],selected:!1,textureType:"No Roof Texture",type:"Roof",color:"#ffffff",lz:0,lx:0,rise:.9752174096903712,ceiling:!1},{selected:!1,solarUpdraftTower:{},lz:1,rotation:[0,0,-.41015237421866746],normal:[0,0,1],solarPowerTower:{},lx:10.667610013832563,solarAbsorberPipe:{},color:"#808080",ly:10.658064363814518,cz:.5,type:"Foundation",cx:15.65777292096255,id:"b9sLhFsxP7jM5xLzyG2m8E",cy:-23.209117764580718,parentId:"Ground"},{lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235284,3.351698633040855,0],leftPoint:[4.589538909397152,3.3516986330408534,0],parentId:"gcZv1t7Cby2WKRNnett3ui",relativeAngle:3.141592653589793,cz:0,leftJoints:["aTEF4j2yHMBMrPfT9T9EdT"],rightRoofHeight:5.25,selected:!1,ly:.3,type:"Wall",lx:9.337227070632437,cy:3.3516986330408542,textureType:"Wall Texture Default",cx:-.07907462591906578,centerRoofHeight:[0,6.225217409690371],color:"white",id:"9dJMCWVZ7AkDBVYRwiBuju",leftRoofHeight:5.25,rightJoints:["q6CqZkkwBK9C5a7FRZGdjh"],normal:[0,0,1],rotation:[0,0,2.731440279371126],roofId:"jRbh8euqUSp75DJHpm8gNn",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{normal:[0,0,1],relativeAngle:1.5707963267948961,rightRoofHeight:5.25,rightJoints:["9dJMCWVZ7AkDBVYRwiBuju"],ly:.3,rightPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["hKTWU47gri3P24HLwd9scm"],color:"white",lx:6.320731749368616,selected:!1,rotation:[0,0,2.731440279371126],cy:.19133275835654517,cz:0,parentId:"gcZv1t7Cby2WKRNnett3ui",roofId:"jRbh8euqUSp75DJHpm8gNn",textureType:"Wall Texture Default",foundationId:"gcZv1t7Cby2WKRNnett3ui",cx:4.589538909397151,leftPoint:[4.58953890939715,-2.969033116327763,0],id:"aTEF4j2yHMBMrPfT9T9EdT",type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,lx:9.337227070632434,relativeAngle:-4756114491922529e-32,rightJoints:["aTEF4j2yHMBMrPfT9T9EdT"],leftRoofHeight:5.25,parentId:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],cy:-2.969033116327763,textureType:"Wall Texture Default",centerRoofHeight:[0,6.225217409690371],cx:-.07907462591906667,leftJoints:["q6CqZkkwBK9C5a7FRZGdjh"],roofId:"jRbh8euqUSp75DJHpm8gNn",color:"white",rightPoint:[4.58953890939715,-2.969033116327763,0],leftPoint:[-4.747688161235283,-2.9690331163277626,0],id:"hKTWU47gri3P24HLwd9scm",selected:!1,ly:.3,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightRoofHeight:5.25,normal:[0,0,1],type:"Wall",lz:5.25,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{rightJoints:["hKTWU47gri3P24HLwd9scm"],textureType:"Wall Texture Default",roofId:"jRbh8euqUSp75DJHpm8gNn",id:"q6CqZkkwBK9C5a7FRZGdjh",lx:6.320731749368617,selected:!1,rotation:[0,0,2.731440279371126],ly:.3,cz:0,cy:.19133275835654628,rightRoofHeight:5.25,color:"white",normal:[0,0,1],leftJoints:["9dJMCWVZ7AkDBVYRwiBuju"],leftRoofHeight:5.25,relativeAngle:-1.5707963267948966,lz:5.25,foundationId:"gcZv1t7Cby2WKRNnett3ui",rightPoint:[-4.747688161235283,-2.9690331163277626,0],type:"Wall",cx:-4.747688161235283,leftPoint:[-4.747688161235284,3.351698633040855,0],parentId:"gcZv1t7Cby2WKRNnett3ui",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{wallsId:["aTEF4j2yHMBMrPfT9T9EdT"],cy:0,selected:!1,roofType:"Gable",textureType:"No Roof Texture",cx:0,color:"#ffffff",ridgeLeftPoint:[0,1],lz:0,rotation:[0,0,2.731440279371126],lx:0,parentId:"gcZv1t7Cby2WKRNnett3ui",thickness:.2,foundationId:"gcZv1t7Cby2WKRNnett3ui",normal:[0,0,1],ridgeRightPoint:[0,1],ly:0,id:"jRbh8euqUSp75DJHpm8gNn",cz:0,type:"Roof",rise:.9752174096903712,ceiling:!1},{solarAbsorberPipe:{},id:"gcZv1t7Cby2WKRNnett3ui",rotation:[0,0,2.731440279371126],parentId:"Ground",normal:[0,0,1],color:"#808080",cx:23.588922199683385,cy:-4.2358171284989465,ly:10.658064363814518,type:"Foundation",lz:1,solarPowerTower:{},cz:.5,solarUpdraftTower:{},selected:!1,lx:10.667610013832563},{roofId:"dzARxJ53WwFwsNrhuBLzWG",ly:.3,selected:!1,normal:[0,0,1],type:"Wall",rotation:[0,0,2.731440279371126],rightRoofHeight:5.25,lx:9.337227070632437,lz:5.25,id:"uBjSfWV5MAS9vnKb4XPdfP",relativeAngle:3.141592653589793,centerRoofHeight:[0,6.225217409690371],cy:3.3516986330408542,rightPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["uR2W8UpidEKJWdspykk1aw"],foundationId:"ceA38nUA7SQynuTCNKi2BV",textureType:"Wall Texture Default",parentId:"ceA38nUA7SQynuTCNKi2BV",cx:-.07907462591906578,color:"white",leftPoint:[4.589538909397152,3.3516986330408534,0],leftRoofHeight:5.25,leftJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cy:.19133275835654517,foundationId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:1.5707963267948961,leftRoofHeight:5.25,rightPoint:[4.589538909397152,3.3516986330408534,0],ly:.3,textureType:"Wall Texture Default",rotation:[0,0,2.731440279371126],cx:4.589538909397151,lx:6.320731749368616,normal:[0,0,1],leftPoint:[4.58953890939715,-2.969033116327763,0],lz:5.25,rightRoofHeight:5.25,cz:0,parentId:"ceA38nUA7SQynuTCNKi2BV",roofId:"dzARxJ53WwFwsNrhuBLzWG",rightJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],selected:!1,color:"white",type:"Wall",id:"paBZJ3XFdCVFNJ8PkS5wvw",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{cz:0,selected:!1,ly:.3,id:"hwrPdC7kZvm4PMhTtpv3Cf",leftRoofHeight:5.25,leftJoints:["uR2W8UpidEKJWdspykk1aw"],rightPoint:[4.58953890939715,-2.969033116327763,0],rightRoofHeight:5.25,cy:-2.969033116327763,lx:9.337227070632434,color:"white",normal:[0,0,1],textureType:"Wall Texture Default",type:"Wall",cx:-.07907462591906667,rotation:[0,0,2.731440279371126],parentId:"ceA38nUA7SQynuTCNKi2BV",relativeAngle:-4756114491922529e-32,roofId:"dzARxJ53WwFwsNrhuBLzWG",leftPoint:[-4.747688161235283,-2.9690331163277626,0],lz:5.25,foundationId:"ceA38nUA7SQynuTCNKi2BV",centerRoofHeight:[0,6.225217409690371],rightJoints:["paBZJ3XFdCVFNJ8PkS5wvw"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{leftRoofHeight:5.25,type:"Wall",roofId:"dzARxJ53WwFwsNrhuBLzWG",leftJoints:["uBjSfWV5MAS9vnKb4XPdfP"],leftPoint:[-4.747688161235284,3.351698633040855,0],rightJoints:["hwrPdC7kZvm4PMhTtpv3Cf"],normal:[0,0,1],foundationId:"ceA38nUA7SQynuTCNKi2BV",selected:!1,id:"uR2W8UpidEKJWdspykk1aw",parentId:"ceA38nUA7SQynuTCNKi2BV",rotation:[0,0,2.731440279371126],cy:.19133275835654628,textureType:"Wall Texture Default",ly:.3,lx:6.320731749368617,cx:-4.747688161235283,color:"white",lz:5.25,relativeAngle:-1.5707963267948966,rightRoofHeight:5.25,rightPoint:[-4.747688161235283,-2.9690331163277626,0],cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.25,rightTopPartialHeight:5.25},{type:"Roof",normal:[0,0,1],cx:0,rotation:[0,0,2.731440279371126],foundationId:"ceA38nUA7SQynuTCNKi2BV",lx:0,parentId:"ceA38nUA7SQynuTCNKi2BV",ridgeRightPoint:[0,1],color:"#ffffff",ly:0,selected:!1,thickness:.2,roofType:"Gable",cz:0,id:"dzARxJ53WwFwsNrhuBLzWG",textureType:"No Roof Texture",wallsId:["paBZJ3XFdCVFNJ8PkS5wvw"],lz:0,ridgeLeftPoint:[0,1],cy:0,rise:.9752174096903712,ceiling:!1},{rotation:[0,0,2.731440279371126],solarPowerTower:{},selected:!1,type:"Foundation",ly:10.658064363814518,normal:[0,0,1],solarUpdraftTower:{},cy:-13.20207722402062,solarAbsorberPipe:{},cx:44.31026086081932,color:"#808080",cz:.5,lx:10.667610013832563,id:"ceA38nUA7SQynuTCNKi2BV",parentId:"Ground",lz:1},{rightRoofHeight:11,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rightJoints:["mqAaf5QtrdpibBSarUk9qt"],relativeAngle:-3.1415926535897927,textureType:"Wall Texture Default",type:"Wall",lz:11,color:"white",cx:.03303730701620822,id:"ovU5BwtCwgHA5UHHhibxpu",roofId:"wSxYARgs9umEJRG8XyZbKH",leftPoint:[3.0844752908601185,3.4313212286858272,0],selected:!1,parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,leftRoofHeight:11,leftJoints:["bWeTZ14zUp93sauz9hT9ba"],rotation:[0,0,-.41015237421866746],lx:6.102875967687821,normal:[0,0,1],rightPoint:[-3.018400676827702,3.431321228685824,0],cy:3.4313212286858255,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,rightJoints:["ovU5BwtCwgHA5UHHhibxpu"],color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",parentId:"88UbNAdWUbzJHGAmrqJWPn",relativeAngle:1.5707963267948963,rightPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",rotation:[0,0,-.41015237421866746],cy:-1.4345548840225932,roofId:"wSxYARgs9umEJRG8XyZbKH",type:"Wall",leftJoints:["8kMoucgjs3KynPyoZExz4J"],ly:.3,rightRoofHeight:11,leftRoofHeight:11,lx:9.731752225416841,leftPoint:[3.0844752908601167,-6.300430996731014,0],selected:!1,cz:0,normal:[0,0,1],id:"bWeTZ14zUp93sauz9hT9ba",cx:3.0844752908601176,centerRoofHeight:[-.5,11],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{cy:-6.300430996731012,cx:.03303730701620533,leftRoofHeight:11,relativeAngle:-5821376180034847e-31,selected:!1,rotation:[0,0,-.41015237421866746],leftJoints:["mqAaf5QtrdpibBSarUk9qt"],leftPoint:[-3.018400676827706,-6.30043099673101,0],foundationId:"88UbNAdWUbzJHGAmrqJWPn",id:"8kMoucgjs3KynPyoZExz4J",type:"Wall",rightPoint:[3.0844752908601167,-6.300430996731014,0],normal:[0,0,1],textureType:"Wall Texture Default",color:"white",roofId:"wSxYARgs9umEJRG8XyZbKH",cz:0,lx:6.102875967687822,rightJoints:["bWeTZ14zUp93sauz9hT9ba"],parentId:"88UbNAdWUbzJHGAmrqJWPn",ly:.3,lz:11,rightRoofHeight:11,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,rightPoint:[-3.018400676827706,-6.30043099673101,0],id:"mqAaf5QtrdpibBSarUk9qt",centerRoofHeight:[.5,11],leftPoint:[-3.018400676827702,3.431321228685824,0],rotation:[0,0,-.41015237421866746],cy:-1.434554884022593,rightRoofHeight:11,color:"white",foundationId:"88UbNAdWUbzJHGAmrqJWPn",cz:0,textureType:"Wall Texture Default",normal:[0,0,1],rightJoints:["8kMoucgjs3KynPyoZExz4J"],lz:11,leftRoofHeight:11,ly:.3,roofId:"wSxYARgs9umEJRG8XyZbKH",parentId:"88UbNAdWUbzJHGAmrqJWPn",cx:-3.018400676827704,lx:9.731752225416834,type:"Wall",relativeAngle:-1.5707963267948972,leftJoints:["ovU5BwtCwgHA5UHHhibxpu"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,cx:0,wallsId:["ovU5BwtCwgHA5UHHhibxpu"],lz:0,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],rotation:[0,0,0],ly:0,type:"Roof",normal:[0,0,1],cz:0,textureType:"No Roof Texture",id:"wSxYARgs9umEJRG8XyZbKH",selected:!1,roofType:"Gable",thickness:.2,parentId:"88UbNAdWUbzJHGAmrqJWPn",color:"#ffffff",cy:0,foundationId:"88UbNAdWUbzJHGAmrqJWPn",rise:0,ceiling:!1},{normal:[0,0,1],type:"Foundation",id:"88UbNAdWUbzJHGAmrqJWPn",solarAbsorberPipe:{},lx:7.252592961439527,cx:62.080046007118426,ly:13.304430432789896,lz:1,selected:!1,solarPowerTower:{},solarUpdraftTower:{},cy:37.19900910209601,color:"#808080",rotation:[0,0,-.41015237421866746],cz:.5,parentId:"Ground"},{rightRoofHeight:11,relativeAngle:-3.1415926535897927,selected:!1,rotation:[0,0,2.731440279371126],cz:0,leftPoint:[3.0844752908601185,3.4313212286858272,0],textureType:"Wall Texture Default",cy:3.4313212286858255,normal:[0,0,1],foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cx:.03303730701620822,type:"Wall",rightJoints:["rYV5p6RL3LBPRMKrDscX3e"],id:"dat7BcuHkXNM7uDy6XoM77",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",leftJoints:["imJTFiGu5qfL7Sh3jfMjyP"],rightPoint:[-3.018400676827702,3.431321228685824,0],leftRoofHeight:11,lx:6.102875967687821,ly:.3,lz:11,roofId:"vqk2MvDnMGXjNatJWKEZ3Q",color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{centerRoofHeight:[-.5,11],lz:11,rightPoint:[3.0844752908601185,3.4313212286858272,0],lx:9.731752225416841,rightJoints:["dat7BcuHkXNM7uDy6XoM77"],id:"imJTFiGu5qfL7Sh3jfMjyP",ly:.3,leftJoints:["rmxwktmu6mngA8cW2oTqim"],textureType:"Wall Texture Default",cz:0,selected:!1,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,leftRoofHeight:11,relativeAngle:1.5707963267948963,rightRoofHeight:11,color:"white",parentId:"3GmVD3k9gEdK1KyAQNL7Qd",normal:[0,0,1],cx:3.0844752908601176,rotation:[0,0,2.731440279371126],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{normal:[0,0,1],color:"white",rightRoofHeight:11,rotation:[0,0,2.731440279371126],rightPoint:[3.0844752908601167,-6.300430996731014,0],leftPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",ly:.3,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",rightJoints:["imJTFiGu5qfL7Sh3jfMjyP"],id:"rmxwktmu6mngA8cW2oTqim",lz:11,cx:.03303730701620533,cy:-6.300430996731012,cz:0,lx:6.102875967687822,relativeAngle:-5821376180034847e-31,leftRoofHeight:11,textureType:"Wall Texture Default",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",leftJoints:["rYV5p6RL3LBPRMKrDscX3e"],type:"Wall",selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{leftRoofHeight:11,cx:-3.018400676827704,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",cz:0,lx:9.731752225416834,normal:[0,0,1],type:"Wall",selected:!1,centerRoofHeight:[.5,11],color:"white",leftPoint:[-3.018400676827702,3.431321228685824,0],relativeAngle:-1.5707963267948972,id:"rYV5p6RL3LBPRMKrDscX3e",roofId:"vqk2MvDnMGXjNatJWKEZ3Q",ly:.3,textureType:"Wall Texture Default",leftJoints:["dat7BcuHkXNM7uDy6XoM77"],rightPoint:[-3.018400676827706,-6.30043099673101,0],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rightRoofHeight:11,rotation:[0,0,2.731440279371126],cy:-1.434554884022593,lz:11,rightJoints:["rmxwktmu6mngA8cW2oTqim"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{textureType:"No Roof Texture",cx:0,roofType:"Gable",lx:0,ly:0,wallsId:["dat7BcuHkXNM7uDy6XoM77"],normal:[0,0,1],color:"#ffffff",ridgeRightPoint:[.5,1],thickness:.2,foundationId:"3GmVD3k9gEdK1KyAQNL7Qd",type:"Roof",cy:0,rotation:[0,0,2.731440279371126],selected:!1,lz:0,id:"vqk2MvDnMGXjNatJWKEZ3Q",cz:0,ridgeLeftPoint:[-.5,1],parentId:"3GmVD3k9gEdK1KyAQNL7Qd",rise:0,ceiling:!1},{color:"#808080",ly:13.304430432789896,normal:[0,0,1],lx:7.252592961439527,solarUpdraftTower:{},cy:.39963845763658945,lz:1,cx:57.679815811211355,type:"Foundation",solarAbsorberPipe:{},selected:!1,solarPowerTower:{},id:"3GmVD3k9gEdK1KyAQNL7Qd",parentId:"Ground",cz:.5,rotation:[0,0,2.731440279371126]},{rightRoofHeight:11,lz:11,normal:[0,0,1],foundationId:"oYDvciacfdn2FyG6Pct5UQ",textureType:"Wall Texture Default",leftJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],color:"white",rotation:[0,0,2.731440279371126],id:"36dnW2hrDUevTFeF7RsSFs",rightPoint:[-3.018400676827702,3.431321228685824,0],selected:!1,rightJoints:["doa2HGm3D8izkEMMPgsx7E"],cx:.03303730701620822,parentId:"oYDvciacfdn2FyG6Pct5UQ",cy:3.4313212286858255,leftPoint:[3.0844752908601185,3.4313212286858272,0],cz:0,roofId:"jTzPENUqMsb7iHTtwq7yKs",relativeAngle:-3.1415926535897927,lx:6.102875967687821,ly:.3,leftRoofHeight:11,type:"Wall",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lz:11,relativeAngle:1.5707963267948963,foundationId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],ly:.3,parentId:"oYDvciacfdn2FyG6Pct5UQ",cx:3.0844752908601176,leftRoofHeight:11,rotation:[0,0,2.731440279371126],leftPoint:[3.0844752908601167,-6.300430996731014,0],type:"Wall",cy:-1.4345548840225932,rightPoint:[3.0844752908601185,3.4313212286858272,0],rightJoints:["36dnW2hrDUevTFeF7RsSFs"],textureType:"Wall Texture Default",lx:9.731752225416841,roofId:"jTzPENUqMsb7iHTtwq7yKs",centerRoofHeight:[-.5,11],leftJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],id:"uuKuNJNLJkLuMtyKwwLbpZ",rightRoofHeight:11,selected:!1,color:"white",cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",rotation:[0,0,2.731440279371126],color:"white",leftPoint:[-3.018400676827706,-6.30043099673101,0],normal:[0,0,1],parentId:"oYDvciacfdn2FyG6Pct5UQ",rightRoofHeight:11,selected:!1,leftRoofHeight:11,roofId:"jTzPENUqMsb7iHTtwq7yKs",leftJoints:["doa2HGm3D8izkEMMPgsx7E"],rightPoint:[3.0844752908601167,-6.300430996731014,0],ly:.3,textureType:"Wall Texture Default",cy:-6.300430996731012,rightJoints:["uuKuNJNLJkLuMtyKwwLbpZ"],cz:0,lz:11,relativeAngle:-5821376180034847e-31,lx:6.102875967687822,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cx:.03303730701620533,id:"vqh1RPWSMZerDaWxLP3Y4Z",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{selected:!1,cz:0,ly:.3,type:"Wall",cx:-3.018400676827704,centerRoofHeight:[.5,11],normal:[0,0,1],lx:9.731752225416834,color:"white",relativeAngle:-1.5707963267948972,leftJoints:["36dnW2hrDUevTFeF7RsSFs"],lz:11,id:"doa2HGm3D8izkEMMPgsx7E",rightJoints:["vqh1RPWSMZerDaWxLP3Y4Z"],leftPoint:[-3.018400676827702,3.431321228685824,0],parentId:"oYDvciacfdn2FyG6Pct5UQ",leftRoofHeight:11,rightRoofHeight:11,foundationId:"oYDvciacfdn2FyG6Pct5UQ",cy:-1.434554884022593,rotation:[0,0,2.731440279371126],rightPoint:[-3.018400676827706,-6.30043099673101,0],roofId:"jTzPENUqMsb7iHTtwq7yKs",textureType:"Wall Texture Default",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{lx:0,foundationId:"oYDvciacfdn2FyG6Pct5UQ",ridgeLeftPoint:[-.5,1],cx:0,parentId:"oYDvciacfdn2FyG6Pct5UQ",normal:[0,0,1],lz:0,wallsId:["36dnW2hrDUevTFeF7RsSFs"],ly:0,cy:0,rotation:[0,0,2.731440279371126],id:"jTzPENUqMsb7iHTtwq7yKs",color:"#ffffff",type:"Roof",roofType:"Gable",textureType:"No Roof Texture",ridgeRightPoint:[.5,1],cz:0,selected:!1,thickness:.2,rise:0,ceiling:!1},{normal:[0,0,1],cx:47.576205150745,id:"oYDvciacfdn2FyG6Pct5UQ",solarAbsorberPipe:{},cz:.5,cy:4.8155054973730085,color:"#808080",lz:1,type:"Foundation",lx:7.252592961439527,parentId:"Ground",solarUpdraftTower:{},ly:13.304430432789896,rotation:[0,0,2.731440279371126],selected:!1,solarPowerTower:{}},{normal:[0,0,1],wallsId:["1sWH6Vf283ZQdSSFT642nh","monXTa8uPTJhzhXCcFVkHQ","abgP23xfq9mn6fXM5eixEU","bBRKF8cuUabp5jr721b2aF"],roofType:"Pyramid",rotation:[0,0,0],lineWidth:.2,showLabel:!1,lz:0,lineColor:"black",id:"7MHnZ8shY1nNWWHte69oqs",cz:0,type:"Roof",textureType:"No Roof Texture",selected:!1,parentId:"jXMhg2wW7AzS5RR8DVRgQA",cx:0,thickness:.2,foundationId:"jXMhg2wW7AzS5RR8DVRgQA",lx:0,ly:0,cy:0,color:"#ffffff",rise:0,ceiling:!1},{cy:0,selected:!1,wallsId:["eJ8JK9wm6JNigJXLFxHXZv","6fcDhLeskSsK9vgEVSS72V","kj6mwcCRjjAjkZKNVLpD6Q","dpZWnBXJifWNeSxPnXSh11"],cz:0,showLabel:!1,id:"5AL2YmNDuGkeP7qZ5AC7iV",foundationId:"b7G57PTXunVqeHXzCWeuRF",type:"Roof",parentId:"b7G57PTXunVqeHXzCWeuRF",roofType:"Pyramid",thickness:.2,rotation:[0,0,0],color:"#ffffff",lineColor:"black",lz:0,cx:0,textureType:"No Roof Texture",lineWidth:.2,normal:[0,0,1],ly:0,lx:0,rise:0,ceiling:!1},{cz:0,color:"#ffffff",textureType:"No Roof Texture",lz:0,rotation:[0,0,0],cx:0,normal:[0,0,1],lx:0,lineColor:"black",cy:0,roofType:"Pyramid",thickness:.2,id:"aqd47NYJ1Q6UzcCmxxcoXQ",selected:!1,wallsId:["4ocNasurxu3LhLKonWAKWR","pBQFic2TqVJyDdJyEaBVof","tq43NPQgXhkeNmwFteVBqx","w8GFYP8jB1EG2YVL6appCT"],ly:0,parentId:"jH5z454ciczrceJTNes5b4",type:"Roof",foundationId:"jH5z454ciczrceJTNes5b4",lineWidth:.2,showLabel:!1,rise:0,ceiling:!1},{rotation:[0,0,0],ly:0,textureType:"No Roof Texture",cx:0,cy:0,cz:0,showLabel:!1,normal:[0,0,1],wallsId:["9RBn6VqRCqHmHYTVsG2Hbq","snwHy88SCLUgp9tM1ts1kV","pJZasFocQxwotbLjPFqJsC","fgVtymGrmdEZZzZZ3mW69b"],lineWidth:.2,lx:0,roofType:"Pyramid",type:"Roof",foundationId:"4p3AerfQErrh3N7JyKd7PA",id:"ui47bC2XPhcG14b6RPgvMq",color:"#ffffff",parentId:"4p3AerfQErrh3N7JyKd7PA",lineColor:"black",selected:!1,thickness:.2,lz:0,rise:0,ceiling:!1}],O2n={dailyUpdraftTowerYieldPanelRect:{x:0,height:550,y:0,width:640},dailyParabolicDishYieldPanelX:0,visibilityResultsPanelY:0,showDesignInfoPanel:!0,mapPanelY:0,dailyParabolicTroughYieldPanelRect:{height:400,x:0,width:600,y:0},showSunAngles:!1,stickyNotePanelY:0,autoRotate:!1,weatherPanelY:0,dailyLightSensorPanelRect:{y:0,height:360,width:600,x:0},groundColor:"forestgreen",enableRotate:!0,showElevationAngle:!0,yearlyPvYieldPanelY:0,panCenter2D:[68.43396623741017,108.77453989719173,1332276757861851e-20],showMapPanel:!1,heliodonPanelY:0,yearlyHeliostatYieldPanelY:0,mapPanelX:0,weatherPanelX:0,solarRadiationHeatMapMaxValue:5,dailyPvYieldPanelY:0,showInstructionPanel:!1,yearlyPvYieldPanelRect:{width:600,y:86,x:-326,height:400},yearlyLightSensorPanelShowClearness:!1,cameraZoom:25.847108697996326,showSolarPanelVisibilityResultsPanel:!1,mapType:"hybrid",showYearlyParabolicTroughYieldPanel:!1,heliodonPanelX:0,showYearlyHeliostatYieldPanel:!1,axes:!0,showDailyHeliostatYieldPanel:!1,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,x:0,height:400},showHeliodonPanel:!1,dailyLightSensorPanelX:0,dailyFresnelReflectorYieldPanelY:0,yearlyPvYieldPanelX:0,showZenithAngle:!0,heliodon:!1,dailyHeliostatYieldPanelX:0,orthographic:!1,showDailyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{y:0,width:236,x:0,height:87},yearlyLightSensorPanelY:0,groundImage:!0,yearlyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showWeatherPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,showYearlyPvYieldPanel:!1,dailyFresnelReflectorYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},evolutionPanelRect:{y:0,x:0,width:640,height:400},showDailyUpdraftTowerYieldPanel:!1,showAzimuthAngle:!0,showEvolutionPanel:!1,yearlyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},ambientLightIntensity:.1,dailyFresnelReflectorYieldPanelRect:{y:0,height:400,x:0,width:600},yearlyLightSensorPanelX:0,showEconomicsPanel:!1,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},stickyNotePanelX:0,showDiurnalTemperaturePanel:!1,yearlyFresnelReflectorYieldPanelX:0,panCenter:[38.386200794550874,-23.3410033657338,26460494326568842e-21],showStickyNotePanel:!0,showDailyParabolicDishYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},shadowEnabled:!1,mapZoom:17,showYearlyFresnelReflectorYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,dailyHeliostatYieldPanelY:0,yearlyParabolicTroughYieldPanelRect:{height:400,width:600,x:0,y:0},yearlyFresnelReflectorYieldPanelY:0,diurnalTemperaturePanelRect:{y:0,width:600,height:400,x:0},theme:"Default",dailyLightSensorPanelY:0,visibilityResultsPanelRect:{x:0,height:470,width:600,y:0},yearlyLightSensorPanelRect:{height:500,y:0,x:0,width:600},showSiteInfoPanel:!0,visibilityResultsPanelX:0,mapTilt:0,solarRadiationHeatMapReflectionOnly:!1,cameraPosition:[79.58351721186,-134.3931242110791,147.3552432306341],showYearlyLightSensorPanel:!1,dailyParabolicTroughYieldPanelX:0,yearlyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{width:600,y:0,height:400,x:0},showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,dailyParabolicTroughYieldPanelY:0,dailyPvYieldPanelRect:{width:600,height:400,y:0,x:0},cameraPosition2D:[68.43396623741017,108.77451989630273,20.00001332267289],dailyParabolicDishYieldPanelY:0},_2n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},V2n=1,G2n={interRowSpacing:2,rowAxis:"Left-Right",pvModelName:"SPR-X21-335-BLK",tiltAngle:0,poleSpacing:3,orientation:"Landscape",poleHeight:1,rowsPerRack:1},X2n={rowAxis:"Left-Right",poleHeight:1,minimumTiltAngle:-1.5707963267948966,minimumRowsPerRack:1,maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumInterRowSpacing:2,orientation:"Landscape",pvModelName:"CS6X-355P-FG",poleSpacing:5,maximumTiltAngle:1.5707963267948966},J2n={geneticAlgorithmParams:{localSearchRadius:.1,problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,maximumGenerations:5,selectionMethod:1,searchMethod:1,mutationRate:.1,selectionRate:.5,convergenceThreshold:.01,crossoverRate:.5,populationSize:20},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,searchMethod:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,maximumSteps:5,swarmSize:20,convergenceThreshold:.01}},K2n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},q2n=[`Mescalero Apache School +New Mexico, USA`],$2n={docid:F2n,time:L2n,timestamp:W2n,userid:N2n,owner:U2n,email:B2n,world:j2n,elements:Y2n,view:O2n,graphState:_2n,evolutionMethod:V2n,solarPanelArrayLayoutParams:G2n,solarPanelArrayLayoutConstraints:X2n,evolutionaryAlgorithmState:J2n,economicsParams:K2n,notes:q2n},Q2n="oRJVoBEAs85sQVTxz3G3Aa",Z2n=1643138671495,e5n="QWecNcxhyvP6j6sBN11hBsfZDau1",t5n=null,n5n=null,o5n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2021 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2},i5n=[{type:"Foundation",cx:-9.55171908313751,cy:-18.19491515601114,cz:.05,lx:69.0515968638667,ly:71.26044576002357,lz:.1,normal:[0,0,1],rotation:[0,0,-1.017744597267026],parentId:"Ground",id:"9zunWg9vgE2EXQf2GAGvHJ",selected:!1,textureType:"Foundation Texture #2"},{type:"Tree",name:"Maple",cx:3.2728380906673773,cy:2.018552619631127,cz:.05000000074505806,lx:9.63205225658289,lz:12.42213702192784,normal:[0,0,1],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"e4UGoSP6vMmKtTpaK7Xx7e",selected:!1,showModel:!1},{type:"Human",name:"Jack",cx:9.261208020051818,cy:17.4519165226371,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,.4041452104082131],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"aqHPhgdskHU47w7A1JoYUH",selected:!1,ly:.6},{type:"Tree",name:"Maple",cx:-2.759236366671214,cy:-6.100345712463374,cz:.05000000074505806,lx:15.662386774550322,lz:17.814185690323082,normal:[0,0,1],rotation:[0,0,.5235987755982988],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"quQsvQqGqFo233Raf5MV2q",selected:!1},{type:"Cuboid",cx:-9.798880015116119,cy:-4.358075047463568,cz:9.736603648251254,lx:19.17702564125724,ly:13.830784586479455,lz:19.47320729650251,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,3.141592653589793],parentId:"Ground",selected:!1,id:"u8URHSH38BdLFefR2kpArP"},{type:"Tree",name:"Spruce",cx:8.846757081366217,cy:8.465966186158635,cz:.05000000074505806,lx:4.201867761608678,lz:9.066423414956883,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"8nmhqhdJRjPhvXmqRWtXWS",selected:!1,showModel:!1},{type:"Cuboid",cx:3.3849893009151506,cy:3.1596268234618305,cz:4.774411049933112,lx:17.91634633119275,ly:6.319724352083252,lz:9.548822099866223,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.8378964730477152],parentId:"Ground",id:"w6fsWnZq8bBGBS5PxduXBK",selected:!1},{type:"Cuboid",cx:.8301123283897702,cy:-13.282792837220546,cz:5.471867705312628,lx:5.668418559135588,ly:9.979432490224614,lz:10.943735410625257,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7040209346650892],parentId:"Ground",selected:!1,id:"e4j7PfDmVs1dovQBZBQ3BT"},{type:"Cuboid",cx:3.6644340063361565,cy:-4.8364998865196736,cz:2,lx:4.840425768432099,ly:20.8513404243441,lz:4,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"qfz89eHJ88Lg9JCyH53fc9"},{type:"Cuboid",cx:-4.166247795353307,cy:-32.1603428429262,cz:2.63479238812298,lx:11.313153894671187,ly:12.684919468119116,lz:5.26958477624596,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.2580366898458273],parentId:"Ground",selected:!1,id:"nNjg1Ffg3pm4CdyzNQdiW9"},{type:"Cuboid",cx:-4.400070852285921,cy:-32.71929138984055,cz:13.65810647211173,lx:3.1252453327696883,ly:3.149430446459918,lz:27.31621294422346,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7128704595183226],parentId:"Ground",selected:!1,id:"ofBXHyPsTmNpJVcNoCo9j5"},{type:"Cuboid",cx:-20.05284620919852,cy:-31.1598203541727,cz:4.6920942485939525,lx:14.24559815125088,ly:10.643905820516908,lz:9.384188497187905,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.2728352410356374],parentId:"Ground",selected:!1,id:"aZcQCi1W1twRBtwgJgUoeW"},{type:"Tree",name:"Oak",cx:19.63141428747889,cy:-14.555088162280029,cz:.05000000074505806,lx:16.244539454462206,lz:17.937149329522143,normal:[0,1,0],rotation:[0,0,0],parentId:"9zunWg9vgE2EXQf2GAGvHJ",id:"hP32y2WeaoShZAgJcL2phB",selected:!1}],r5n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[53.96406310906323,-63.55404886182046,17.26191308801079],panCenter:[-14.409899112760232,-10.942953787224548,3.8259899066863428],orthographic:!1,enableRotate:!0,cameraZoom:15.47561875,showInstructionPanel:!0,cameraPosition2D:[4.361874143686572,3.699796590309034,48.00000369998439],panCenter2D:[4.361874143686572,3.699844592441852,4448257642288249e-21],showHeatmap:!1,showSolarRadiationHeatmap:!1,showSunAngles:!1,solarRadiationHeatMapMaxValue:4.5},a5n=[],l5n={docid:Q2n,timestamp:Z2n,userid:e5n,owner:t5n,email:n5n,world:o5n,elements:i5n,view:r5n,notes:a5n},s5n="gj8mmfSE6fqAAUtvXZYGkb",c5n="03/19/2023 02:00 pm",u5n=1679248844823,d5n="QWecNcxhyvP6j6sBN11hBsfZDau1",f5n=null,h5n=null,p5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 11:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},g5n=[{ly:14.613120903558068,solarUpdraftTower:{},parentId:"Ground",cx:-2.6557701490344776,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.09987728198946044,type:"Foundation",solarPowerTower:{},lx:18.159918676696766,lz:.1,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",ly:.3,rightPoint:[-5.300056602144494,5.6732245690928105,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"No Wall Texture",leftPoint:[6.699943397855505,5.67322456909281,.1],type:"Wall",rightRoofHeight:3,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:3,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:.6999433978555056,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.6732245690928105,color:"#ffffff",opacity:.4,wallStructure:"Stud",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:6.699943397855504,leftPoint:[6.6999433978555025,-4.3267754309071895,.1],cy:.6732245690928105,leftRoofHeight:3,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[6.699943397855506,5.6732245690928105,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:3,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",rightRoofHeight:3,roofId:"vyQyu3QobXjxj1jDvhJ4sy",color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{lx:10,windows:[],lz:3,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"vyQyu3QobXjxj1jDvhJ4sy",selected:!1,cy:.6732245690928105,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"No Wall Texture",rightRoofHeight:3,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-5.300056602144493,5.6732245690928105,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:3,ly:.3,cx:-5.300056602144494,color:"#ffffff",opacity:.4,wallStructure:"Stud",centerRoofHeight:[0,4.790804943100949],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{showLabel:!1,cx:.6999433978555061,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[6.699943397855506,-4.3267754309071895,.1],cz:2.268765007024547,textureType:"No Wall Texture",cy:-4.3267754309071895,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"vyQyu3QobXjxj1jDvhJ4sy",leftPoint:[-5.300056602144494,-4.3267754309071895,.1],normal:[0,0,1],ly:.3,lz:3,leftRoofHeight:3,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:3,lx:12,color:"#ffffff",wallStructure:"Stud",opacity:.4,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Human",name:"James",cx:-1.8741011733558182,cy:-5.8416164272427595,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.472},{type:"Human",name:"Jess",cx:-4.0157582744754965,cy:3.8617380009978506,cz:.050000000745058504,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"vyQyu3QobXjxj1jDvhJ4sy",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rise:1.790804943100949,ceiling:!1},{type:"Flower",name:"White Flower",cx:-4.1342434171004925,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"46aifVnH3B74BwVSi3Crxq",selected:!1},{type:"Flower",name:"White Flower",cx:-3.3342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i8U6G9JyPpL2hbWBs7vVz6",selected:!1},{type:"Flower",name:"White Flower",cx:-2.534243417100493,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ugPMRjEYo4WRamJ9tFewHm",selected:!1},{type:"Flower",name:"White Flower",cx:-1.7342434171004928,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cXWM3Js8Lp8DUZByf9ySVZ",selected:!1},{type:"Flower",name:"White Flower",cx:-.9342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tWw7iszMWHGh94zWUms3bX",selected:!1},{type:"Flower",name:"White Flower",cx:-.1342434171004927,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wFi9RKANUcSDb8JEQtDAEk",selected:!1},{type:"Flower",name:"White Flower",cx:.6657565828995073,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bgwNTPoMCs4Wi6VnCqioA2",selected:!1},{type:"Flower",name:"White Flower",cx:1.4657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m6nguuL3Zz24UD89QncVq3",selected:!1},{type:"Flower",name:"White Flower",cx:2.2657565828995074,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kGhztdakMGZm6mkLawDRht",selected:!1},{type:"Flower",name:"White Flower",cx:3.0657565828995077,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t89aQNRve3pcY6QfBoyCYo",selected:!1},{type:"Flower",name:"White Flower",cx:3.8657565828995075,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2bSs9uZqzgsXpzetM5AmxD",selected:!1},{type:"Flower",name:"White Flower",cx:4.665756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7CEvARocUnJdE2SHZcDU2V",selected:!1},{type:"Flower",name:"White Flower",cx:5.465756582899507,cy:-2.3876241823818267,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rYZJ2mHmESXni5V1aVa46t",selected:!1},{type:"Flower",name:"White Flower",cx:-4.2619057070341295,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m4JAZDAnBR2QnoTX6gwxgv",selected:!1},{type:"Flower",name:"White Flower",cx:-3.4619057070341297,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7nhnwoJ8FbP4fj9ZXLrfye",selected:!1},{type:"Flower",name:"White Flower",cx:-2.66190570703413,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uFsFHipxUMRX5aHpDNiLzw",selected:!1},{type:"Flower",name:"White Flower",cx:-1.8619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mJ6VdUdVpFHoDMvk5CifrP",selected:!1},{type:"Flower",name:"White Flower",cx:-1.0619057070341298,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ebBzNYMUnf5tyqviBfW44K",selected:!1},{type:"Flower",name:"White Flower",cx:-.26190570703412974,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7qGERbKCYNJZY5SktqYFGH",selected:!1},{type:"Flower",name:"White Flower",cx:.5380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oAb4tA3ghqD5MVLjvE2JNB",selected:!1},{type:"Flower",name:"White Flower",cx:1.3380942929658703,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"anEdC4mKjKpYkWwwTugQd7",selected:!1},{type:"Flower",name:"White Flower",cx:2.1380942929658704,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3WdeMit6SeG4bqra8yJxnB",selected:!1},{type:"Flower",name:"White Flower",cx:2.9380942929658707,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jnmEfnMgUaJK9NwsWsV3gH",selected:!1},{type:"Flower",name:"White Flower",cx:3.7380942929658705,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8471n9p1MKM4v5HYVYNnbf",selected:!1},{type:"Flower",name:"White Flower",cx:4.53809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jRVVQvkLQEJFVGW7n4JcjX",selected:!1},{type:"Flower",name:"White Flower",cx:5.33809429296587,cy:-.7069427320257313,cz:.05000000074505895,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n9PiSuToBHaHcJ2hu8PhVa",selected:!1},{type:"Flower",name:"White Flower",cx:-4.344446260163467,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5GRQttXkMVj9MJmJA2sCTw",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5444462601634674,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"79Mv3qBTpXEHM1FaDfaYXS",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8XAz3reTAfJSVRX2DdJvMN",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9444462601634676,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hGDaJZoqkJU6bVFNwzDKgn",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1444462601634675,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cWsLs9ePKWKWrV1Akhn42n",selected:!1},{type:"Flower",name:"White Flower",cx:-.34444626016346747,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"8NgHbW2QgN3CvEsxHivBg6",selected:!1},{type:"Flower",name:"White Flower",cx:.4555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ogG3q6XsVTY3wSGV7BrEK",selected:!1},{type:"Flower",name:"White Flower",cx:1.2555537398365326,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aTLKeq862hXuydUnDnRufZ",selected:!1},{type:"Flower",name:"White Flower",cx:2.0555537398365327,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4SotanHYdz7BmHuHEsRU5J",selected:!1},{type:"Flower",name:"White Flower",cx:2.855553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o98emba7AiB167tGV4Un8g",selected:!1},{type:"Flower",name:"White Flower",cx:3.6555537398365328,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1ExTvAYZaKio5wNoaShuZo",selected:!1},{type:"Flower",name:"White Flower",cx:4.455553739836533,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"t3oYKCD7r8u33GMpXr8wwr",selected:!1},{type:"Flower",name:"White Flower",cx:5.255553739836532,cy:1.0410219573182566,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5jPVxqN2CvnEkeYz4QQra5",selected:!1},{type:"Flower",name:"White Flower",cx:-4.391533387874089,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"of1adpyZeoRS8fTjGoytf1",selected:!1},{type:"Flower",name:"White Flower",cx:-3.5915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9ncNDKqkLLMu7d9PUN7oUA",selected:!1},{type:"Flower",name:"White Flower",cx:-2.7915333878740896,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u3zUSyPymxJB7HgazzqLzv",selected:!1},{type:"Flower",name:"White Flower",cx:-1.9915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dHPhWCEiz1y9PnXZp83MpE",selected:!1},{type:"Flower",name:"White Flower",cx:-1.1915333878740895,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"bg6PZWwTrwwre4jiKxe7uX",selected:!1},{type:"Flower",name:"White Flower",cx:-.3915333878740894,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"5F7K7QFnfwHKfd4Lfw728p",selected:!1},{type:"Flower",name:"White Flower",cx:.4084666121259106,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"532gMLAZ5tcLjzMQisipSa",selected:!1},{type:"Flower",name:"White Flower",cx:1.2084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v3gFFnUntYFxM9Nx5RWfik",selected:!1},{type:"Flower",name:"White Flower",cx:2.0084666121259107,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s6dpt2XkDQfRw5bGeX1H1V",selected:!1},{type:"Flower",name:"White Flower",cx:2.808466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uw1Jz6HvycMidfXokrAzFQ",selected:!1},{type:"Flower",name:"White Flower",cx:3.608466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n7ppnA9LyoWRWkVHPMq965",selected:!1},{type:"Flower",name:"White Flower",cx:4.408466612125911,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"r4x3CD3uiRipJcivNwW5MN",selected:!1},{type:"Flower",name:"White Flower",cx:5.2084666121259104,cy:3.1239668412171455,cz:.05000000074505806,lx:.8,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7eEgZikopFnYDrozpMnbVk",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.481342001872006,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9P5CuiQ2MG15JKupLj1B6D",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"meDHz6sDDGj4eDAWvaf1Jc",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"sRFj36qrZLXFZTDMQ6mpD9",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.4813420018720063,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qNZvKMkFPtUNCcEgL1huNh",selected:!1},{type:"Flower",name:"Sunflower",cx:-.48134200187200626,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kcPXW35rZZAsL5WiiAk3hw",selected:!1},{type:"Flower",name:"Sunflower",cx:.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"feWWMNFMFvQ8cSM14BMp8t",selected:!1},{type:"Flower",name:"Sunflower",cx:1.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"msFwckWagge9gpLdQeS4JJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dogJzpvueZ1anaBAZ7muH8",selected:!1},{type:"Flower",name:"Sunflower",cx:3.5186579981279937,cy:4.83047805671146,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"cYZoVFdifJsko9MEehFjtS",selected:!1},{type:"Flower",name:"Sunflower",cx:-4.24189898255945,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"s25usGNmQJ66fR5yXuRGGo",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pzBtEERtTPkBv9CsHDmZDu",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"m5X7sdToMdq8xEefEwxLCK",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.2418989825594497,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4inpmtrAzszkJUhzYSUye",selected:!1},{type:"Flower",name:"Sunflower",cx:-.24189898255944975,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"f4ThsERMjZf2AhEJ56hsa6",selected:!1},{type:"Flower",name:"Sunflower",cx:.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"16shGo6CLCNPBSgnunhAkS",selected:!1},{type:"Flower",name:"Sunflower",cx:1.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7vYNCNRBverkM51mspnoUJ",selected:!1},{type:"Flower",name:"Sunflower",cx:2.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"voHLpW8Gd4XA3Ceg6Xbe7t",selected:!1},{type:"Flower",name:"Sunflower",cx:3.7581010174405503,cy:2.1058294107860522,cz:.05000000074505717,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"u6Ue6tXWzkHCodK9XZEU2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"c6JNqxEgYvWDCRJawdShSj",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oaSKDixHoDBGhRmyNSQzgw",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vrts4rUEEsRTQs9sGjhPQA",selected:!1},{type:"Flower",name:"Sunflower",cx:-.9022248766799255,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3pYKWqcAmjBuuNuny7rpoV",selected:!1},{type:"Flower",name:"Sunflower",cx:.09777512332007454,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1S6ZgxRm2LWmGc9KQsgDFh",selected:!1},{type:"Flower",name:"Sunflower",cx:1.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"opQ4ZLwfvkzg5Vxfj8cfQA",selected:!1},{type:"Flower",name:"Sunflower",cx:2.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nkbv83UnHqmfM7bAwa33Pe",selected:!1},{type:"Flower",name:"Sunflower",cx:3.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"mN9mTCijKK38jmTnqKHee1",selected:!1},{type:"Flower",name:"Sunflower",cx:4.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"dArQ57WQgeQivghvFz6Pkf",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"v7PVJmCSxV3Mzkp3DvmbxL",selected:!1},{type:"Flower",name:"Sunflower",cx:5.0977751233200745,cy:.17873664141611412,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"h4XguGKN7sgDCDuSE5McKM",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.660995740108657,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wSmuS2APtdqz8q7JGKKASr",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nhuLvBuF9q3oVKsH9nQgoj",selected:!1},{type:"Flower",name:"Sunflower",cx:-.6609957401086568,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gyN8wLEyhGu5icXFxTanDS",selected:!1},{type:"Flower",name:"Sunflower",cx:.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3Hxo93yvCk6bL25Z1j69hy",selected:!1},{type:"Flower",name:"Sunflower",cx:1.3390042598913432,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6CEP9TkxfGsqwqefDYN2m3",selected:!1},{type:"Flower",name:"Sunflower",cx:2.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tKziXd6bAbZhg1ZHtHCDYk",selected:!1},{type:"Flower",name:"Sunflower",cx:3.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"i75ADLAQar36M93rinkuBn",selected:!1},{type:"Flower",name:"Sunflower",cx:4.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9aKZZrCwftw93k2j9EUPft",selected:!1},{type:"Flower",name:"Sunflower",cx:5.339004259891343,cy:-1.5650161510961733,cz:.05000000074505895,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jtbnWz1TtfVCGS6GFT7cd5",selected:!1},{type:"Flower",name:"Sunflower",cx:4.700456042537368,cy:2.0818781692863544,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kpaDqAs7RHDDcutq6peJfx",selected:!1},{type:"Flower",name:"Sunflower",cx:4.834015330936817,cy:4.861450972934322,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"n1pT9mZTaMUzmHpcczyBaV",selected:!1},{type:"Flower",name:"Sunflower",cx:-3.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"k1bygQU9gmbRLruK4LkufJ",selected:!1},{type:"Flower",name:"Sunflower",cx:-2.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"1Qg8EAesLQmApEi3SoVr2L",selected:!1},{type:"Flower",name:"Sunflower",cx:-1.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"pX7RzZXzs2a2wB6ikN7nMV",selected:!1},{type:"Flower",name:"Sunflower",cx:-.3045300953024963,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"4n5Yx4e8sgXGuByhj8k1fL",selected:!1},{type:"Flower",name:"Sunflower",cx:.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vHXKNqVUezGNFoAwcMvXfT",selected:!1},{type:"Flower",name:"Sunflower",cx:1.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qESmtL2sTn5MoKqcsafYq5",selected:!1},{type:"Flower",name:"Sunflower",cx:2.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jzYPMGXoRbfHffj27jjLk1",selected:!1},{type:"Flower",name:"Sunflower",cx:3.6954699046975037,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qbv7JX9QpCnKwVvTQzv2CK",selected:!1},{type:"Flower",name:"Sunflower",cx:4.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vegPcGL4Si9F7tHaiDew5A",selected:!1},{type:"Flower",name:"Sunflower",cx:5.695469904697504,cy:-3.4208830597913056,cz:.05000000074505806,lx:1,lz:2,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nfuYXRCdKKX1yeEVfQ1Q8w",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999998,y:-.7999999999999999},{x:-.19999999999999998,y:-.4666666666666666},{x:.20000000000000004,y:-.4666666666666666},{x:.20000000000000004,y:-.7999999999999999}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:0,id:"9M33FqMDNgV3pDjYk2UES3",text:"Greenhouse",fontSize:.5,fontColor:"gold",fontStrokeWidth:.01,noOutline:!0,opacity:0}],m5n=15,y5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.969061585407742,-10.143303302147187,2.3881460403679218],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-1.0306086242769346,3.0389446343818545,1.3437141951705311],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},A5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},w5n=1,v5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},x5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},b5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},S5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},T5n="Unknown",P5n=null,C5n=null,R5n=null,H5n=[],M5n={docid:s5n,time:c5n,timestamp:u5n,userid:d5n,owner:f5n,email:h5n,world:p5n,elements:g5n,sceneRadius:m5n,view:y5n,graphState:A5n,evolutionMethod:w5n,solarPanelArrayLayoutParams:v5n,solarPanelArrayLayoutConstraints:x5n,evolutionaryAlgorithmState:b5n,economicsParams:S5n,modelType:T5n,modelAuthor:P5n,modelLabel:C5n,modelDescription:R5n,notes:H5n},I5n="nfnSPNhp4V7kiPCsxnMXvA",z5n="11/15/2023 08:11 PM",D5n=1700097090188,E5n="QWecNcxhyvP6j6sBN11hBsfZDau1",k5n=null,F5n=null,L5n="1.4.7",W5n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"3019 Jameson Beach Rd, South Lake Tahoe, CA 96150, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:38.9379299,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-120.0387964},N5n=[{ly:15.823820171875001,solarUpdraftTower:{},parentId:"Ground",cx:-.23635058692870636,id:"m7AH7DcnoGzAq9kryBy4RS",cy:-.30044344061775696,type:"Foundation",solarPowerTower:{},lx:20.01699292669677,lz:.25,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.125,textureType:"Foundation Texture #2",enableGroupMaster:!0},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:12,relativeAngle:3.141592653589793,lz:4,roofId:"ddvCooK4VAFN7dUMWPpapB",ly:.3,rightPoint:[-6.228593727144493,5.3056786237803095,.1],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[5.771406272855506,5.305678623780308,.1],type:"Wall",normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.22859372714449355,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:5.3056786237803095,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:5.771406272855505,leftPoint:[5.771406272855503,-4.6943213762196905,.1],cy:.3056786237803084,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[5.771406272855507,5.3056786237803095,.1],ly:.3,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:10,normal:[0,0,1],lz:4,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948963,textureType:"Wall Texture Default",roofId:"ddvCooK4VAFN7dUMWPpapB",color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{lx:10,windows:[],lz:4,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"ddvCooK4VAFN7dUMWPpapB",selected:!1,cy:.3056786237803084,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:4.71238898038469,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-6.228593727144492,5.3056786237803095,.1],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",ly:.3,cx:-6.228593727144493,color:"#ffffff",opacity:0,wallStructure:"Stud",structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{showLabel:!1,cx:-.2285937271444931,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[5.771406272855507,-4.6943213762196905,.1],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-4.6943213762196905,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"ddvCooK4VAFN7dUMWPpapB",leftPoint:[-6.228593727144493,-4.6943213762196905,.1],normal:[0,0,1],ly:.3,lz:4,relativeAngle:0,rotation:[0,0,0],lx:12,color:"#ffffff",wallStructure:"Stud",opacity:0,structureSpacing:100,structureColor:"#666666",structureWidth:.1,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3.5,rightTopPartialHeight:3.5,unfilledHeight:.5},{type:"Human",name:"Jacob",cx:7.289879196764376,cy:.9615979280726203,cz:.125,lx:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.8},{type:"Wall",cx:.09100362924299155,cy:1.1882025501879951,cz:2.2408122612280286,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[.8710978156169994,1.1882025501879951,0],rightPoint:[-.6890905571310163,1.1882025501879951,0],relativeAngle:3.141592653589793,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.8710978156169993,cy:.14100043812882335,cz:2.2301039869226305,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[.8710978156169991,-.9062016739303485,0],rightPoint:[.8710978156169995,1.1882025501879951,0],relativeAngle:1.5707963267948963,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",wallStructure:"Default",opacity:.5,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:-.6890905571310162,cy:.14100043812882335,cz:2.228839888904333,lx:2.0944042241183434,ly:.2,lz:7.649013269649758,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-.6890905571310162,1.1882025501879951,0],rightPoint:[-.6890905571310163,-.9062016739303485,0],relativeAngle:-1.5707963267948968,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Wall",cx:.0910036292429916,cy:-.9062016739303485,cz:2.268765007024547,lx:1.5601883727480157,ly:.2,lz:7.649013269649758,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-.6890905571310163,-.9062016739303485,0],rightPoint:[.8710978156169995,-.9062016739303485,0],relativeAngle:0,textureType:"Wall Texture #4",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"u1sPtasg3hWUinAjQbYwBP",opacity:.5,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.149013269649758,rightTopPartialHeight:7.149013269649758,unfilledHeight:.5},{type:"Foundation",cx:-.0721809285526831,cy:-.11580967162986489,cz:.05,lx:2.3610744974526523,ly:3.0605782147964087,lz:.07649013269649757,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1},{type:"Human",name:"Jess",cx:-1.0115122224568758,cy:-3.6651165310105203,cz:.125,lx:.43,ly:.43,lz:1.5,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.15,roofType:"Pyramid",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7","pPpJHGJ2bGVqLdA1FpXi4V","giYTP9Qg6uJ3yfkS1RoDqG","2RETAxyRMzZBEQkBGms56R"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"u1sPtasg3hWUinAjQbYwBP",rise:1.3063523363004892,ceiling:!1},{type:"Window",cx:.023873137489038417,cy:.1,cz:.3595234970910072,lx:.5252090247588448,ly:.2,lz:.11766223541160228,mullionWidth:.06,mullionSpacing:.5,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"62Gv8U29wFJyJf1vgeLMyo",parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,frame:!0,mullion:!0,tint:"#73D8FF",opacity:.5,mullionColor:"white",frameWidth:.1,windowType:"Default",archHeight:1,horizontalMullion:!0,verticalMullion:!0,horizontalMullionSpacing:.5,verticalMullionSpacing:.5,leftShutter:!1,rightShutter:!1,shutterColor:"grey",shutterWidth:.5},{type:"Wall",cx:-6.114654382048409,cy:.32019837609535623,cz:0,lx:9.600000000000001,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-7.214654382048406,-5.779801623904644,0],rightPoint:[-7.214654382048404,3.820198376095357,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"moXtDnyecvwRem92AzKP6s",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.700000000000008,cy:-2.6500000000000012,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[8,-2.5,0],rightPoint:[8,1,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"n3Fbp8o59RXvpMXPY1s1Sm",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:5.710429595506894,cy:3.3385814547866905,cz:0,lx:3.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[7.210429595506889,1.3885814547866906,0],rightPoint:[7.210429595506889,4.88858145478669,0],relativeAngle:1.5707963267948966,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"vhwBgsvb2XNRoUeLKEqhYZ",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.25,cy:-4.660000000000009,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-6,-7,0],rightPoint:[5.5,-7,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"wSthZNuu3hKxPyS8LHSGvS",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Wall",cx:-.211862519698188,cy:5.176033006265223,cz:0,lx:11.5,ly:.1,lz:1,leftJoints:[],rightJoints:[],leftPoint:[-8.76186251969819,5.476033006265222,0],rightPoint:[2.7381374803018104,5.476033006265222,0],relativeAngle:0,textureType:"Wall Texture Default",normal:[0,0,1],rotation:[0,0,0],id:"um8H4fZzRuLbZZ81bgs5nP",parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",wallStructure:"Stud",structureSpacing:.2,structureWidth:.05,opacity:0,selected:!1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.5,rightTopPartialHeight:.5,unfilledHeight:.5},{type:"Door",cx:0,cy:0,cz:-.34805186284300194,lx:.4774627497807679,ly:0,lz:.3038962743139961,textureType:"Door Texture #2",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"h5Bd5QDcL7vWMTHPSCDuBD",doorType:"Default",archHeight:1,filled:!0},{type:"Tree",name:"Fan Palm",cx:2.7985631567413556,cy:-10.731117262084023,cz:0,lx:6.375358320482912,lz:8.451212523084012,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"iQhcHctqyRJaG4XFZS4XMk",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.1,roofType:"Hip",roofStructure:"Default",wallsId:["2u4Fe7xnA6kkXXVGrQ4eyJ"],textureType:"Roof Texture #1",color:"#454769",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"ddvCooK4VAFN7dUMWPpapB",leftRidgeLength:3,rightRidgeLength:3,rise:1.4109420933443069,ceiling:!1},{type:"Flower",name:"Peony",cx:7.023550381410839,cy:-3.8877826159721582,cz:.12499999999999956,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hRzYHbdXP7aLP7JcDbRqRR",selected:!1},{type:"Flower",name:"Peony",cx:6.9734776254848185,cy:-2.9143031643660438,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"vMLhayUTUD8aHWGMkGHz6W",selected:!1},{type:"Flower",name:"Peony",cx:6.9889157221008045,cy:-1.8856467808244108,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"aKoXDkCANHQbTt7sp6H4cD",selected:!1},{type:"Flower",name:"Peony",cx:7.056609460752512,cy:2.106696532214023,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"drvWi4itbJZhSYfhzMLFUz",selected:!1},{type:"Flower",name:"Peony",cx:7.073130172902122,cy:3.1951278306332282,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3XQg1jKjV5dafQKCUY9Tom",selected:!1},{type:"Flower",name:"Peony",cx:6.831179450888563,cy:4.436138900477424,cz:.125,lx:1.5,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"7ETHmh5VY9WD7DqvsYegAD",selected:!1},{type:"Tree",name:"Fan Palm",cx:-3.064329828704058,cy:-11.205145732983894,cz:4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"stqfKSZKDeaDe1syQCZ2RQ",selected:!1},{type:"Tree",name:"Fan Palm",cx:-10.213746832393127,cy:-10.383228886165,cz:-4440892098500626e-31,lx:6.375358320482912,lz:8.451212523084012,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"u5zC3LfHnyukcnd2TZGm5n",selected:!1},{type:"Human",name:"Jade",cx:4.6162547175937405,cy:.8236142952720673,cz:.125,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"kEK1sks1vjBNeG9bYUByB6",selected:!1,ly:.48},{type:"Human",name:"Jaye",cx:4.113865624208955,cy:-.1569064565752818,cz:.125,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jiL3321sgunb78Yp2wx7LZ",selected:!1,ly:.55},{type:"Human",name:"Jack",cx:2.270983153500868,cy:-5.647402265265438,cz:.125,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"qKXJTHDFWk1Be3UB18FicH",selected:!1,ly:.42},{type:"Human",name:"Jeanette",cx:6.811654467665146,cy:.3288410550941858,cz:.12500000000000044,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jdNC43ZSdnd8zSCxaT42uJ",selected:!1,ly:.4},{type:"Human",name:"Jedi",cx:4.3803812097281964,cy:-6.219962402856187,cz:.12500000000000044,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tktL4bCeJqmadSREQxqYZf",selected:!1,ly:.56},{type:"Human",name:"Jaah",cx:8.073408817436135,cy:-2.861373653368049,cz:.125,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3tNBEAxUt3DLTZFUWrkT43",selected:!1,ly:.74},{type:"Human",name:"Jena",cx:5.650342532886793,cy:-5.869419038331923,cz:.125,lx:.695,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"jbcUSTcV9ETtNTun9qHy9c",selected:!1,ly:.695},{type:"Human",name:"Jennifer",cx:6.650342532886793,cy:-5.869419038331923,cz:.125,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"6mEiayfKLXRKd6HoatZeT7",selected:!1,ly:.45},{type:"Human",name:"Jeff",cx:8.281124000346418,cy:-.21288109922245724,cz:.125,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9nFAFEjnDEDMLNsibYbMM",selected:!1,ly:.6},{type:"Human",name:"Jacqueline",cx:8.774300454275942,cy:-3.11382005301836,cz:.12499999999999956,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"9kJpcRTmPtd11noXLWWsGH",selected:!1,ly:.43},{type:"Human",name:"Joey",cx:5.394689962250994,cy:-6.419034150551809,cz:.12500000000000044,lx:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"wMtjHPExCprVrQ6rgijhKz",selected:!1,ly:.462},{type:"Human",name:"Jett",cx:5.607500871784192,cy:-7.300972318306286,cz:.12500000000000044,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tfCgFHPgnZKoKRfd18qKeP",selected:!1,ly:.6},{type:"Human",name:"John",cx:7.617007740588695,cy:-5.315039692166635,cz:.125,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3NBaVzParvnoX1VTgD2qhi",selected:!1,ly:.6},{type:"Human",name:"Judd",cx:8.557509471799634,cy:-7.331160131258592,cz:.125,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"gM888A8u94AD92SprN4wbj",selected:!1,ly:.544},{type:"Human",name:"Joan",cx:5.580895600535009,cy:10.995552502214208,cz:0,lx:1.7,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"1j9fkBAMPQ7exCAX2P7fF1",selected:!1,ly:1.7},{type:"Human",name:"Joel",cx:6.580895600535009,cy:10.995552502214208,cz:0,lx:1.8,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3SfQXzZu7J7mi1JmUBYxFc",selected:!1,ly:1.8},{type:"Human",name:"June",cx:9.253027066264448,cy:-1.8207404946549808,cz:.125,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"uiRD36Lx6DhqS1L8GSmo2f",selected:!1,ly:.65},{type:"Human",name:"Juro",cx:7.94102921033523,cy:-5.9229770250984926,cz:.12500000000000044,lx:.494,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2LZ8A82RZWiecfd18pDMu3",selected:!1,ly:.494},{type:"Human",name:"Jamelia",cx:7.019233078838581,cy:-6.865958327348711,cz:.125,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nArb1Wy1pTTLTAwpfD1gxv",selected:!1,ly:.65},{type:"Human",name:"Jiya",cx:6.536125724548311,cy:-7.090427106555895,cz:.125,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3rhHbB9NPHbS5kJ4toDf75",selected:!1,ly:.6},{type:"Human",name:"Jumapili",cx:4.710047052887569,cy:-7.365082439159079,cz:.12500000000000044,lx:.75,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"2ydVQyK8TCn9PXCMXcCTEy",selected:!1,ly:.75},{type:"Human",name:"James",cx:8.638930109856844,cy:-4.382295505716076,cz:.12500000000000044,lx:.472,ly:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"ucP3AmMZpFLmiVbQL9CJRg",selected:!1},{type:"Human",name:"Jaya",cx:8.430115188508257,cy:-4.95104947778114,cz:.125,lx:.6,ly:.6,lz:1.55,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tSdmVjv6FH3XWNZ5eajwUB",selected:!1},{type:"Human",name:"Jocelyn",cx:9.099153262139186,cy:1.6734195388718494,cz:.125,lx:.4,ly:.4,lz:1.72,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"oY9mHLD2TnGtS48tFX7msv",selected:!1},{type:"Human",name:"Julia",cx:8.50369110484068,cy:-5.75207005231741,cz:.125,lx:.43,ly:.43,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"noQp7pbZpEPcCC5Bwy2Ds5",selected:!1},{type:"Human",name:"Julio",cx:6.3276841954899155,cy:-7.497137528054779,cz:.12500000000000044,lx:.5,ly:.5,lz:1.76,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"86gZdR7TufwZSuihX2WNJZ",selected:!1},{type:"Human",name:"Jose",cx:4.085694603550463,cy:-9.392938952651445,cz:0,lx:2,ly:2,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"pTRxrEpSAWLBc3BhSmJurU",selected:!1},{type:"Human",name:"Joseph",cx:4.70285983370786,cy:-8.668392524889338,cz:8881784197001252e-31,lx:.6,ly:.6,lz:1.88,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"qx4Vz41aeQtxbcayMgdcfb",selected:!1},{type:"Light",decay:2,distance:5,intensity:3,color:"#ffff99",cx:.0032094235984929786,cy:0,cz:-.15034969489506517,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[1,-2220446049250313e-31,0],rotation:[0,0,0],parentId:"pPpJHGJ2bGVqLdA1FpXi4V",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"7ZdVSQw5Udf8Sk6TxfRr7E",selected:!1},{type:"Human",name:"Jill",cx:9.085367232279435,cy:2.675249483795916,cz:.125,lx:.42,ly:.42,lz:1.71,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"tnutvhGAiQivDEaTbwWokd",selected:!1},{type:"Human",name:"Jane",cx:10.315104916263296,cy:-5.841074350867604,cz:0,lx:.4,ly:.4,lz:1.67,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"2qCeCbYUD9ZAWR8LaSwSBc",selected:!1},{type:"Human",name:"Judy",cx:8.894992472252287,cy:-.05735797632890183,cz:.125,lx:.41,ly:.41,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"evvFN1Y5c55LCjm2Zs4RPR",selected:!1},{type:"Human",name:"Jonathon",cx:7.865481936696703,cy:-8.800651006432007,cz:-4440892098500626e-31,lx:.6,ly:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"cPGv26A3o2hSuwc8DPUQ6y",selected:!1},{type:"Human",name:"Joshua",cx:9.361559767195017,cy:-2.653290992466755,cz:.12499999999999956,lx:.5,ly:.5,lz:1.79,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rd5u6niG5wuUyGxwjj9FrQ",selected:!1},{type:"Human",name:"Justin",cx:8.841054844860178,cy:-3.9407835630247803,cz:.125,lx:.6,ly:.6,lz:1.755,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"nctqWUAWcyYHT4SGzerSs4",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.5,y:-.5},{x:-.5,y:-.25},{x:.5,y:-.25},{x:.5,y:-.5}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:2,id:"bcBZb3U93o5F2jxgHWz66U",text:"Welcome to Moosehorn State Park",fontSize:.5,fontColor:"gold",fontOutlineColor:"white",fontOutlineWidth:0,fontStrokeWidth:.01,noOutline:!1,textureType:"Polygon Texture #9"}],U5n=86,B5n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.150676678462785,4.331280702823742,433147322558565e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.150676678462785,4.331130696160679,150],theme:"Lake",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[16.52949133040242,-6.908469489524304,2.3292876283609294],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.84710869799634,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[.4679506390771288,.22749806834114614,2.3292876283609285],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1},j5n=!1,Y5n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},O5n=1,_5n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},V5n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},G5n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},X5n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},J5n="Unknown",K5n=null,q5n=null,$5n=null,Q5n=null,Z5n=[],e9n=3,t9n=3,n9n={docid:I5n,time:z5n,timestamp:D5n,userid:E5n,owner:k5n,email:F5n,version:L5n,world:W5n,elements:N5n,sceneRadius:U5n,view:B5n,animate24Hours:j5n,graphState:Y5n,evolutionMethod:O5n,solarPanelArrayLayoutParams:_5n,solarPanelArrayLayoutConstraints:V5n,evolutionaryAlgorithmState:G5n,economicsParams:X5n,modelType:J5n,modelAuthor:K5n,modelLabel:q5n,modelDescription:$5n,designProjectType:Q5n,notes:Z5n,minimumNavigationMoveSpeed:e9n,minimumNavigationTurnSpeed:t9n},o9n="mW1ttJThpPJ2JKrSAT7EUP",i9n="02/04/2023 01:03 pm",r9n=1675533820168,a9n="QWecNcxhyvP6j6sBN11hBsfZDau1",l9n=null,s9n=null,c9n={latitude:31.29833989999999,pvGridCellSize:.5,timesPerHour:4,longitude:120.58319,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Suzhou, Jiangsu, China",date:"4/22/2022, 3:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},u9n=[{cy:-.059966096117782364,normal:[0,0,1],lz:.08187919001653333,ly:13.340881459022976,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.23469319781280173,cz:.05,rotation:[0,0,0],lx:13.149110146454165,selected:!1,parentId:"Ground",locked:!1},{type:"Wall",cx:-5.704543355403865,cy:.218424664108547,cz:0,lx:5.274193548387098,ly:.3,lz:4,relativeAngle:-1.5707963267948972,leftPoint:[-5.704543355403863,2.855521438302096,.08187919001653333],rightPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],leftJoints:["phev4gQxjvHYwHg819vEHB"],rightJoints:["kdCvwj5JgamPrPyPvrdvAm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xuyJn2DKfBNBFjKWxSNkV",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:4.320575201742957,cz:0,lx:4.448255286649458,ly:.3,lz:4,relativeAngle:-2.4224905134396697,leftPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],rightPoint:[-5.7045433554038665,2.855521438302096,.08187919001653333],leftJoints:["98ta6USvR1CGq17YJbnQS1"],rightJoints:["4xuyJn2DKfBNBFjKWxSNkV"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phev4gQxjvHYwHg819vEHB",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-4.031115363517457,cy:-4.176736626214033,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:-.8100578027781637,leftPoint:[-5.704543355403865,-2.418672110085002,.08187919001653333],rightPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],leftJoints:["4xuyJn2DKfBNBFjKWxSNkV"],rightJoints:["nw6raZBAGuWkF5ubuLU8xD"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kdCvwj5JgamPrPyPvrdvAm",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:-4.176736626214031,cz:0,lx:4.854339125731116,ly:.3,lz:4,relativeAngle:.8100578027781632,leftPoint:[2.66259660402818,-5.934801142343061,.08187919001653333],rightPoint:[6.0094525878009994,-2.4186721100849997,.08187919001653333],leftJoints:["nw6raZBAGuWkF5ubuLU8xD"],rightJoints:["iV9VtU8uZo4yDiYJfPcmdy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npYCeoFyusHZjnvHSA5MHT",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.15245461619856626,cy:5.785628965183817,cz:0,lx:5.020283975659227,ly:.3,lz:4,relativeAngle:3.1415926535897927,leftPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],rightPoint:[-2.357687371631047,5.785628965183817,.08187919001653333],leftJoints:["p7LQvPgC6EYePDocPwo9xL"],rightJoints:["phev4gQxjvHYwHg819vEHB"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98ta6USvR1CGq17YJbnQS1",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.0094525878009994,cy:.21842466410854633,cz:0,lx:5.274193548387096,ly:.3,lz:4,relativeAngle:1.5707963267948966,leftPoint:[6.0094525878009994,-2.418672110085002,.08187919001653333],rightPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],leftJoints:["npYCeoFyusHZjnvHSA5MHT"],rightJoints:["p7LQvPgC6EYePDocPwo9xL"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iV9VtU8uZo4yDiYJfPcmdy",roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.1526933276969229,cy:-5.934801142343063,cz:0,lx:5.021429002185668,ly:.3,lz:4,leftJoints:["kdCvwj5JgamPrPyPvrdvAm"],rightJoints:["npYCeoFyusHZjnvHSA5MHT"],leftPoint:[-2.357687371631049,-5.934801142343065,.08187919001653333],rightPoint:[2.6630740270248947,-5.934801142343061,0],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"nw6raZBAGuWkF5ubuLU8xD",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:4.33602459591459,cy:4.3205752017429555,cz:0,lx:4.448255286649457,ly:.3,lz:4,leftJoints:["iV9VtU8uZo4yDiYJfPcmdy"],rightJoints:["98ta6USvR1CGq17YJbnQS1"],leftPoint:[6.0094525878009994,2.8555214383020946,.08187919001653333],rightPoint:[2.66259660402818,5.7856289651838155,.08187919001653333],relativeAngle:2.4224905134396693,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"p7LQvPgC6EYePDocPwo9xL",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,roofId:"cqv2PuQ6Ct8FunGC5Rsg5E",leftRoofHeight:4,rightRoofHeight:4,color:"#d8cdbb",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Human",name:"Jack",cx:-4.760459270800288,cy:-2.5348481679853134,cz:.1,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wvAyR5FHsaRG2ToXMAXh87",selected:!1,ly:.42,locked:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Mansard",roofStructure:"Default",wallsId:["npYCeoFyusHZjnvHSA5MHT"],ridgeWidth:1,textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cqv2PuQ6Ct8FunGC5Rsg5E",locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Wall",cx:-4.710361945157022,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["mNbBhBDTayeXWAoDE8ip6A"],rightJoints:["giioZ24KGCk6oJoadGeQJg"],leftPoint:[-4.710361945157022,3.5012071040692554,.08187919001653333],rightPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fKn6ccVkMdWqQghcJAFmEQ",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.3998110672719446,cy:4.632929099286187,cz:0,lx:3.463142086593125,ly:.3,lz:7.5,leftJoints:["fPGQ97jmfXKFKCgzdf8tK2"],rightJoints:["fKn6ccVkMdWqQghcJAFmEQ"],leftPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],rightPoint:[-4.7103619451570236,3.5012071040692554,.08187919001653333],relativeAngle:-2.429286367572432,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mNbBhBDTayeXWAoDE8ip6A",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-3.399811067271945,cy:-1.9310584729720213,cz:0,lx:3.774592923611536,ly:.3,lz:7.5,leftJoints:["fKn6ccVkMdWqQghcJAFmEQ"],rightJoints:["2Ecm8hWzZfEbStzt675QWs"],leftPoint:[-4.7103619451570236,-.5729920787117029,.08187919001653333],rightPoint:[-2.089260189386867,-3.2891248672323394,.08187919001653333],relativeAngle:-.8032015766363013,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"giioZ24KGCk6oJoadGeQJg",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:-1.9310584729720182,cz:0,lx:3.7745929236115394,ly:.3,lz:7.5,leftJoints:["2Ecm8hWzZfEbStzt675QWs"],rightJoints:["dJmNmvxvjdHh3vPxEXp335"],leftPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],rightPoint:[4.463494200038532,-.5729920787116995,.08187919001653333],relativeAngle:.8032015766363004,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"oq3EhiCKFwwA92Ur9WnxEC",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:5.7646510945031215,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["mPpYQCigCupk4wWxmYLiGt"],rightJoints:["mNbBhBDTayeXWAoDE8ip6A"],leftPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],rightPoint:[-2.0892601893868656,5.7646510945031215,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"fPGQ97jmfXKFKCgzdf8tK2",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:4.463494200038532,cy:1.4641075126787761,cz:0,lx:4.0741991827809585,ly:.3,lz:7.5,leftJoints:["oq3EhiCKFwwA92Ur9WnxEC"],rightJoints:["mPpYQCigCupk4wWxmYLiGt"],leftPoint:[4.463494200038532,-.5729920787117029,.08187919001653333],rightPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"dJmNmvxvjdHh3vPxEXp335",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:-.12343387255924654,cy:-3.289124867232336,cz:0,lx:3.931652633655238,ly:.3,lz:7.5,leftJoints:["giioZ24KGCk6oJoadGeQJg"],rightJoints:["oq3EhiCKFwwA92Ur9WnxEC"],leftPoint:[-2.0892601893868656,-3.289124867232336,.08187919001653333],rightPoint:[1.8423924442683726,-3.289124867232336,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"2Ecm8hWzZfEbStzt675QWs",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{type:"Wall",cx:3.152943322153453,cy:4.632929099286187,cz:0,lx:3.4631420865931273,ly:.3,lz:7.5,leftJoints:["dJmNmvxvjdHh3vPxEXp335"],rightJoints:["fPGQ97jmfXKFKCgzdf8tK2"],leftPoint:[4.463494200038532,3.5012071040692554,.08187919001653333],rightPoint:[1.8423924442683726,5.7646510945031215,.08187919001653333],relativeAngle:2.4292863675724323,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mPpYQCigCupk4wWxmYLiGt",parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofId:"56kE8YxGS5vZT15DARe55m",selected:!1,leftRoofHeight:7.5,rightRoofHeight:7.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:7.5,rightTopPartialHeight:7.5},{id:"56kE8YxGS5vZT15DARe55m",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"eTosNnXwuFCRGqZWfF7TsY",foundationId:"eTosNnXwuFCRGqZWfF7TsY",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["oq3EhiCKFwwA92Ur9WnxEC"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:.07312548836645227,cy:-1.3848958277284682,cz:.05,lx:9.464156224937316,ly:12.896297667676603,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"eTosNnXwuFCRGqZWfF7TsY",selected:!1,locked:!1},{type:"Wall",cx:-3.4962075675486224,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],rightJoints:["bzdCKkoEsHKfg6PMf8sKa9"],leftPoint:[-3.4962075675486224,4.232059632453278],rightPoint:[-3.496207567548624,1.3427626085407864],relativeAngle:-1.5707963267948972,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"mMPeuLSFxt2hhKw1jzoAXX",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033176,cy:5.0346421390956335,cz:0,lx:2.5519835672660642,ly:.3,lz:11,leftJoints:["5SAdNQtzr2xU5rw3LJPFUt"],rightJoints:["mMPeuLSFxt2hhKw1jzoAXX"],leftPoint:[-1.5122556004580119,5.837224645737991],rightPoint:[-3.496207567548624,4.232059632453278],relativeAngle:-2.461342900204164,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"wg8fH2jxgcfzoEQ3iyHRk5",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-2.5042315840033185,cy:.3796636005699572,cz:0,lx:2.7651951476053704,ly:.3,lz:11,leftJoints:["mMPeuLSFxt2hhKw1jzoAXX"],rightJoints:["d6PNwTS2wJV1Koozu7wRCJ"],leftPoint:[-3.496207567548624,1.3427626085407864],rightPoint:[-1.5122556004580128,-.5834354074008719],relativeAngle:-.7706289724283263,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bzdCKkoEsHKfg6PMf8sKa9",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:.37966360056995985,cz:0,lx:2.765195147605374,ly:.3,lz:11,leftJoints:["d6PNwTS2wJV1Koozu7wRCJ"],rightJoints:["1cSqXyGASoNdwCM2MQgYAg"],leftPoint:[1.4636723501779088,-.5834354074008692],rightPoint:[3.4476243172685246,1.3427626085407889],relativeAngle:.770628972428325,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"tdJA55oXTxjRMFMd2yzHeU",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:5.837224645737991,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],rightJoints:["wg8fH2jxgcfzoEQ3iyHRk5"],leftPoint:[1.4636723501779088,5.837224645737991],rightPoint:[-1.5122556004580119,5.837224645737991],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5SAdNQtzr2xU5rw3LJPFUt",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:3.4476243172685246,cy:2.7874111204970315,cz:0,lx:2.8892970239124907,ly:.3,lz:11,leftJoints:["tdJA55oXTxjRMFMd2yzHeU"],rightJoints:["5zeSH5hMhT3UJzZ2VMSrtV"],leftPoint:[3.4476243172685246,1.3427626085407864],rightPoint:[3.4476243172685246,4.232059632453278],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1cSqXyGASoNdwCM2MQgYAg",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:-.024291625140051565,cy:-.5834354074008692,cz:0,lx:2.9759279506359206,ly:.3,lz:11,leftJoints:["bzdCKkoEsHKfg6PMf8sKa9"],rightJoints:["tdJA55oXTxjRMFMd2yzHeU"],leftPoint:[-1.5122556004580119,-.5834354074008692],rightPoint:[1.4636723501779088,-.5834354074008692],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"d6PNwTS2wJV1Koozu7wRCJ",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{type:"Wall",cx:2.455648333723217,cy:5.0346421390956335,cz:0,lx:2.551983567266067,ly:.3,lz:11,leftJoints:["1cSqXyGASoNdwCM2MQgYAg"],rightJoints:["5SAdNQtzr2xU5rw3LJPFUt"],leftPoint:[3.4476243172685246,4.232059632453278],rightPoint:[1.4636723501779088,5.837224645737991],relativeAngle:2.4613429002041647,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"5zeSH5hMhT3UJzZ2VMSrtV",parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofId:"kXXsWtzhvHq2DAaXZEi8ju",selected:!1,leftRoofHeight:11,rightRoofHeight:11,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:11,rightTopPartialHeight:11},{id:"kXXsWtzhvHq2DAaXZEi8ju",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"67a4Cj7mTjUcKpS9UXcYMf",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["tdJA55oXTxjRMFMd2yzHeU"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.1382893636180098,cy:-2.8344198053167737,cz:.05,lx:7.240655122656252,ly:11.908488628124994,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"67a4Cj7mTjUcKpS9UXcYMf",selected:!1,locked:!1},{type:"Wall",cx:-2.305386933936208,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],rightJoints:["6a5FbNhUegAfkm1WbCa4hr"],leftPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],rightPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"m9CmZzHka279S6PzqcJDms",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:5.017845812508369,cz:0,lx:1.6893644412938968,ly:.3,lz:14.5,leftJoints:["cj1x2iAzLBRGYCY4fbDa9u"],rightJoints:["m9CmZzHka279S6PzqcJDms"],leftPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],rightPoint:[-2.305386933936208,4.4902625474579745,.08187919001653333],relativeAngle:-2.466981384386693,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"3uhgX6EhXdVFMDgjKuTvWJ",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:-1.6457325150805282,cy:1.9578628752160765,cz:0,lx:1.8286163715377841,ly:.3,lz:14.5,leftJoints:["m9CmZzHka279S6PzqcJDms"],rightJoints:["pLBnaJicNdNqvsWh4XB2xC"],leftPoint:[-2.305386933936208,2.59096279327655,.08187919001653333],rightPoint:[-.9860780962248481,1.3247629571556034,.08187919001653333],relativeAngle:-.7648600253804781,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6a5FbNhUegAfkm1WbCa4hr",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:1.9578628752160787,cz:0,lx:1.8286163715377868,ly:.3,lz:14.5,leftJoints:["pLBnaJicNdNqvsWh4XB2xC"],rightJoints:["x2WKNCsnTm3wuwLHXfgCEX"],leftPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],rightPoint:[2.312193998053557,2.5909627932765527,.08187919001653333],relativeAngle:.7648600253804773,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"1WEB2uNx8HTmooMiMdCuRb",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:5.545429077558764,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["caQUPNBf9AQWUAkvEEKBK9"],rightJoints:["3uhgX6EhXdVFMDgjKuTvWJ"],leftPoint:[.9928851603421944,5.545429077558764,.08187919001653333],rightPoint:[-.9860780962248481,5.545429077558764,.08187919001653333],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cj1x2iAzLBRGYCY4fbDa9u",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:2.312193998053557,cy:3.5406126703672625,cz:0,lx:1.8992997541814245,ly:.3,lz:14.5,leftJoints:["1WEB2uNx8HTmooMiMdCuRb"],rightJoints:["caQUPNBf9AQWUAkvEEKBK9"],leftPoint:[2.312193998053557,2.59096279327655,.08187919001653333],rightPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"x2WKNCsnTm3wuwLHXfgCEX",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:.0034035320586731643,cy:1.3247629571556052,cz:0,lx:1.9789632565670425,ly:.3,lz:14.5,leftJoints:["6a5FbNhUegAfkm1WbCa4hr"],rightJoints:["1WEB2uNx8HTmooMiMdCuRb"],leftPoint:[-.9860780962248481,1.3247629571556052,.08187919001653333],rightPoint:[.9928851603421944,1.3247629571556052,.08187919001653333],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"pLBnaJicNdNqvsWh4XB2xC",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{type:"Wall",cx:1.6525395791978759,cy:5.017845812508369,cz:0,lx:1.6893644412938993,ly:.3,lz:14.5,leftJoints:["x2WKNCsnTm3wuwLHXfgCEX"],rightJoints:["cj1x2iAzLBRGYCY4fbDa9u"],leftPoint:[2.312193998053557,4.4902625474579745,.08187919001653333],rightPoint:[.9928851603421944,5.545429077558764,.08187919001653333],relativeAngle:2.4669813843866937,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"caQUPNBf9AQWUAkvEEKBK9",parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofId:"pHdzF3ngGjARqDaSnrPCbJ",selected:!1,leftRoofHeight:14.5,rightRoofHeight:14.5,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:14.5,rightTopPartialHeight:14.5},{id:"pHdzF3ngGjARqDaSnrPCbJ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#8e826f",normal:[0,0,1],rotation:[0,0,0],parentId:"mZUacXWS8C3iqt3FX2P392",foundationId:"mZUacXWS8C3iqt3FX2P392",roofType:"Mansard",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["1WEB2uNx8HTmooMiMdCuRb"],ridgeWidth:1,selected:!1,locked:!1,rise:1.4151723428443308,ceiling:!1},{type:"Foundation",cx:-.12202054492778736,cy:-3.6786752972065244,cz:.05,lx:4.62580908783712,ly:11.244705561904492,lz:.08187919001653333,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mZUacXWS8C3iqt3FX2P392",selected:!1,locked:!1},{type:"Wall",cx:-2.1374696253712813,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["nDHpcsgkV9peBKJpWVGgfd"],rightJoints:["k2jx5wJhEXwRbUKXtsBVsi"],leftPoint:[-2.1374696253712813,1.3441989933046479,.2],rightPoint:[-2.1374696253712813,.02457012324427721,.2],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"9D7SuFhdAmbL3s4qJSt14J",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:1.7107625683214178,cz:0,lx:1.1388663119977358,ly:.3,lz:18,leftJoints:["rhFdf5zdJe6JyTbbEFrxS6"],rightJoints:["9D7SuFhdAmbL3s4qJSt14J"],leftPoint:[-1.2659530974230018,2.0773261433381873,.2],rightPoint:[-2.1374696253712813,1.3441989933046479,.2],relativeAngle:-2.442224676045199,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"nDHpcsgkV9peBKJpWVGgfd",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-1.7017113613971415,cy:-.41530616677584553,cz:0,lx:1.2383479561797213,ly:.3,lz:18,leftJoints:["9D7SuFhdAmbL3s4qJSt14J"],rightJoints:["k1Zz3xzbmLW17cj6uWBzfc"],leftPoint:[-2.1374696253712813,.02457012324427721,.2],rightPoint:[-1.2659530974230018,-.8551824567959683,.2],relativeAngle:-.790101033639045,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k2jx5wJhEXwRbUKXtsBVsi",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:-.4153061667758444,cz:0,lx:1.2383479561797235,ly:.3,lz:18,leftJoints:["k1Zz3xzbmLW17cj6uWBzfc"],rightJoints:["bQ466SAJMAnn6fakoD16LP"],leftPoint:[.041321694499416806,-.8551824567959676,.2],rightPoint:[.9128382224476985,.024570123244278763,.2],relativeAngle:.7901010336390442,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"6akTVpZG7AbvMgXaG1q3Nh",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:2.0773261433381873,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["cGGqfipx5C3U3jy37qBmH3"],rightJoints:["nDHpcsgkV9peBKJpWVGgfd"],leftPoint:[.041321694499416806,2.0773261433381873,.2],rightPoint:[-1.2659530974230018,2.0773261433381873,.2],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"rhFdf5zdJe6JyTbbEFrxS6",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.9128382224476985,cy:.6843845582744623,cz:0,lx:1.3196288700603707,ly:.3,lz:18,leftJoints:["6akTVpZG7AbvMgXaG1q3Nh"],rightJoints:["cGGqfipx5C3U3jy37qBmH3"],leftPoint:[.9128382224476985,.02457012324427721,.2],rightPoint:[.9128382224476985,1.3441989933046479,.2],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"bQ466SAJMAnn6fakoD16LP",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:-.6123157014617926,cy:-.8551824567959676,cz:0,lx:1.3072747919224188,ly:.3,lz:18,leftJoints:["k2jx5wJhEXwRbUKXtsBVsi"],rightJoints:["6akTVpZG7AbvMgXaG1q3Nh"],leftPoint:[-1.2659530974230018,-.8551824567959676,.2],rightPoint:[.041321694499416806,-.8551824567959676,.2],relativeAngle:0,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"k1Zz3xzbmLW17cj6uWBzfc",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Wall",cx:.47707995847355766,cy:1.7107625683214178,cz:0,lx:1.1388663119977376,ly:.3,lz:18,leftJoints:["bQ466SAJMAnn6fakoD16LP"],rightJoints:["rhFdf5zdJe6JyTbbEFrxS6"],leftPoint:[.9128382224476985,1.3441989933046479,.2],rightPoint:[.041321694499416806,2.0773261433381873,.2],relativeAngle:2.4422246760452,textureType:"No Wall Texture",color:"#d8cdbb",normal:[0,0,1],rotation:[0,0,0],id:"cGGqfipx5C3U3jy37qBmH3",parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",roofId:"rdzur4ggFrcghzk546PTce",selected:!1,leftRoofHeight:18,rightRoofHeight:18,locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:18,rightTopPartialHeight:18},{type:"Foundation",cx:.5137640713758937,cy:-.8247397257024911,cz:.1,lx:17.47075427773578,ly:17.57589746990512,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"t3DvVsTxEUmLPJ5qyzz1Cq",selected:!1,locked:!1,enableGroupMaster:!0},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3982929957049007,ly:.3,lz:.75,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nw6raZBAGuWkF5ubuLU8xD",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kJ99yCt5NwrUx6aeyLQD19",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.04022745849176903,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.06,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"k1Zz3xzbmLW17cj6uWBzfc",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2i6NJTsHZcvu5DZpjL2nTf",opacity:0,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.049787851751147326,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"827buPg2up7S5NJpu1bTwc",parentId:"6akTVpZG7AbvMgXaG1q3Nh",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.03092128411947934,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"696xgzPkcYLSq7T7Qw1kVp",parentId:"bQ466SAJMAnn6fakoD16LP",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.03385386298551652,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jCNeHwVCUvbqQjRxPEpVWh",parentId:"k2jx5wJhEXwRbUKXtsBVsi",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.06228256362044849,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"x8xMT8Y3CFHpSTTtRuQJEH",parentId:"cGGqfipx5C3U3jy37qBmH3",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02834774148633909,cy:.1,cz:.44166666666666665,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"nppApRrEXRyeUd9vJfwuSz",parentId:"rhFdf5zdJe6JyTbbEFrxS6",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.02951470439825077,cy:.1,cz:.44184392259435495,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"wGQdjaEJAq274XD4qjARvv",parentId:"nDHpcsgkV9peBKJpWVGgfd",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02377711455299869,cy:.1,cz:.4427721444522278,lx:.40227458491769036,ly:.3,lz:.061111111111111144,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bfx8vmpw2KKDieuVcLZMqt",parentId:"9D7SuFhdAmbL3s4qJSt14J",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"b18KSu7muEcNBoRo9BCFtR",parentId:"2Ecm8hWzZfEbStzt675QWs",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.005291630779154989,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6ehjjnYKcMRY6uDm39RjZg",parentId:"oq3EhiCKFwwA92Ur9WnxEC",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.00444948057017957,cy:.1,cz:.36666666666666664,lx:.2543459692852634,ly:.3,lz:.20000000000000007,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"beNSFD5YoXGJs5n6HkCEia",parentId:"dJmNmvxvjdHh3vPxEXp335",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:5610195147971379e-32,cy:.1,cz:.3333333333333333,lx:.2887551174614818,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"enXaCvRZY1o42EepsmhAcu",parentId:"mPpYQCigCupk4wWxmYLiGt",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2543459692852634,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"co2nWxWjHSrQ1y3CbewV71",parentId:"fPGQ97jmfXKFKCgzdf8tK2",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2887551174614821,ly:.3,lz:.2666666666666667,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oAJfvW2Atau2PMDooxnZup",parentId:"mNbBhBDTayeXWAoDE8ip6A",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:272500919767831e-31,cy:.1,cz:.33333333333333326,lx:.24544700814490417,ly:.3,lz:.2666666666666668,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"oysyT4xkNku4YbbVaJZRwr",parentId:"fKn6ccVkMdWqQghcJAFmEQ",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.3333333333333333,lx:.2649292308435736,ly:.3,lz:.26666666666666666,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tfr35CsQ7uYrvJEbNiSm9Z",parentId:"giioZ24KGCk6oJoadGeQJg",foundationId:"eTosNnXwuFCRGqZWfF7TsY",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-2007494887994791e-32,cy:.1,cz:.38636363636363646,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aVd2M9mPnyt54bpo1cinGs",parentId:"bzdCKkoEsHKfg6PMf8sKa9",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vEK53nipfn3Fi9zDdjYNwA",parentId:"d6PNwTS2wJV1Koozu7wRCJ",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:20074948879947884e-33,cy:.1,cz:.3863636363636363,lx:.36163812918086014,ly:.3,lz:.1363636363636365,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"7a8LzQgQTZT74cAMqSaHG3",parentId:"tdJA55oXTxjRMFMd2yzHeU",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m8mvZULmKJiijiJZQ4Ws2p",parentId:"1cSqXyGASoNdwCM2MQgYAg",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701282,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"2yZN5brch6X6VdX7qusThM",parentId:"5zeSH5hMhT3UJzZ2VMSrtV",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.01280424424064466,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"6wGZka29sHQXPaM4orSj26",parentId:"5SAdNQtzr2xU5rw3LJPFUt",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.015106961898701494,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tFAKFAeYrHzMpedpoQ4z2J",parentId:"wg8fH2jxgcfzoEQ3iyHRk5",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:.007766589935909038,cy:.1,cz:.3863636363636363,lx:.36163812918086063,ly:.3,lz:.13636363636363652,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tsfJ1jgF5hbLvum632wKcR",parentId:"mMPeuLSFxt2hhKw1jzoAXX",foundationId:"67a4Cj7mTjUcKpS9UXcYMf",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"1tp2T4LDRLMNEK26RseK5r",parentId:"pLBnaJicNdNqvsWh4XB2xC",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.020773233582139315,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"tgrkWzLGJa5Q9w4cDnLRRp",parentId:"1WEB2uNx8HTmooMiMdCuRb",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"o3JTZDoUCh4i6VTFAXTRi5",parentId:"x2WKNCsnTm3wuwLHXfgCEX",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"86L95Fnu4u89jayQZWX5Xw",parentId:"cj1x2iAzLBRGYCY4fbDa9u",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.043311747423323166,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vNmcUsYJDkYimiCfMHdNFB",parentId:"3uhgX6EhXdVFMDgjKuTvWJ",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.01059737146443586,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"dDi3Fw7AsTes6zvNGEEHiL",parentId:"m9CmZzHka279S6PzqcJDms",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-.02077323358213971,cy:.1,cz:.41772030651340997,lx:.5053150919713008,ly:.3,lz:.13007662835249043,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"bAVGu4K7Tu42BYzdxoX44L",parentId:"6a5FbNhUegAfkm1WbCa4hr",foundationId:"mZUacXWS8C3iqt3FX2P392",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4120025297364816,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qGTqwRerdw925V3dp1Zxqj",parentId:"npYCeoFyusHZjnvHSA5MHT",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.3792048929663609,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"76hrnZkDNKTnFBf136Yypd",parentId:"iV9VtU8uZo4yDiYJfPcmdy",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:-24958617549610238e-33,cy:.1,cz:-.125,lx:.44961448278442956,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"4dQWwkYdrjgXGYUZinRtRU",parentId:"p7LQvPgC6EYePDocPwo9xL",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.39838383838383856,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"vetMY2wce8PY7wZMnBgYtd",parentId:"98ta6USvR1CGq17YJbnQS1",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.125,lx:.4496144827844295,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"v2Bpx6NQy5wWaCAkP524Kv",parentId:"phev4gQxjvHYwHg819vEHB",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:3157515024163289e-32,cy:.1,cz:-.12499999999999994,lx:.3792048929663607,ly:.3,lz:.7499999999999999,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"rDQtPqhJZVdy7Xh7XJRsb3",parentId:"4xuyJn2DKfBNBFjKWxSNkV",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Window",cx:8004757157551921e-32,cy:.1,cz:-.125,lx:.4120025297364814,ly:.3,lz:.75,mullionWidth:.06,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"e19JPkz5u6tKcbjYUvXegq",parentId:"kdCvwj5JgamPrPyPvrdvAm",foundationId:"of4fAMi2p9MKmo6JDUYnfX",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!1,mullion:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1},{type:"Human",name:"Jacqueline",cx:4.255864387589413,cy:-6.242196181277151,cz:.1,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"wfWT37sYApxTzWzUncAoR9",selected:!1,locked:!1,ly:.43},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["6akTVpZG7AbvMgXaG1q3Nh","bQ466SAJMAnn6fakoD16LP","cGGqfipx5C3U3jy37qBmH3","rhFdf5zdJe6JyTbbEFrxS6","nDHpcsgkV9peBKJpWVGgfd","9D7SuFhdAmbL3s4qJSt14J","k2jx5wJhEXwRbUKXtsBVsi","k1Zz3xzbmLW17cj6uWBzfc"],textureType:"No Roof Texture",color:"#8e826f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"rdzur4ggFrcghzk546PTce",locked:!1,rise:.7945305564645331,ceiling:!1},{type:"Tree",name:"Dogwood",cx:7.392171297775102,cy:7.163513110419622,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"jBw9RYvUZrnME36Vm8DaPW",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.759545239381245,cy:-2.5910214138353416,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"5kQBFtBdW6bwiFWnzf9wwH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:6.490113616723971,cy:3.8154638360153057,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"2GfJNYSop6f5v7xSek1ytE",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.508512970788757,cy:7.348011777521739,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"adVq8AGmfbAWANd1ERqtLC",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.329172186785436,cy:7.377948624483658,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"okSKfXzr6RNLYQU4kZsQEZ",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.9394466189209485,cy:4.054958611710656,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"cbRLDrHAkXSVreLWjbyF5V",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-7.819699231073273,cy:-2.2317792502923153,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"buHEZW6R7p71SuhwZZJ2PT",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-3.808161738176137,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"9DD3bFQeXC1bN3n5JNfTHY",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:2.2690181950934063,cy:-6.572622059770561,cz:.10000000149011612,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"bnApLQ8V1oJiPKXxDRPxb4",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:7.328345331657704,cy:-6.931864223313587,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"g8PvSEYYsCu2XWBqG3iX5a",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.759825537149433,cy:-6.692369447618235,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"eFc8WGqQzEfKvVgDn3e4Wq",selected:!1,locked:!1},{type:"Tree",name:"Dogwood",cx:-7.459318010176873,cy:7.482898989893004,cz:.10000000149011612,lx:3,lz:4,normal:[0,1,0],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"288KLWR7KewUpd13gMeuAi",selected:!1,locked:!1},{type:"Window",cx:.029596929340897304,cy:.1,cz:.42068965517241375,lx:.5327447281361516,ly:.3,lz:.11034482758620694,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"caQUPNBf9AQWUAkvEEKBK9",foundationId:"mZUacXWS8C3iqt3FX2P392",id:"g8YUeBMeW1DSqfqrvD7Vbk"},{type:"Light",decay:2,distance:10,intensity:2,color:"#fe9200",cx:-.030005590627033965,cy:-.4532425907688764,cz:.5000000074505895,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"qF9C6U2NXL7yTL6tKt4cmM",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#7b64ff",cx:.4305972540929517,cy:.06205523390636515,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"c16cf3Q9umV9K4iATpzZdw",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#68bc00",cx:-.03448954854070917,cy:.43858567895245787,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"kdV7kizuYhPCDkqnpXr6Jf",selected:!1},{type:"Light",decay:2,distance:10,intensity:2,color:"#fa28ff",cx:-.44220837093921556,cy:.040360464163231746,cz:.5000000074505806,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"t3DvVsTxEUmLPJ5qyzz1Cq",foundationId:"t3DvVsTxEUmLPJ5qyzz1Cq",id:"pCzfVRHLpKFtr7SXEbAF9q",selected:!1}],d9n={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-13,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-2.010984368039464,-28.85991180576142,8.94754765614511],panCenter:[-.2875344548235237,.8941760908925925,8.94754765614511],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230189,showInstructionPanel:!0,cameraPosition2D:[.3578976625538651,1.7782818083550982,150],panCenter2D:[.3578976625538651,1.778431815016015,2363573287717466e-21],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},waterSurface:!1,showMapPanel:!1},f9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},h9n=1,p9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},g9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},m9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},y9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},A9n=[],w9n={docid:o9n,time:i9n,timestamp:r9n,userid:a9n,owner:l9n,email:s9n,world:c9n,elements:u9n,view:d9n,graphState:f9n,evolutionMethod:h9n,solarPanelArrayLayoutParams:p9n,solarPanelArrayLayoutConstraints:g9n,evolutionaryAlgorithmState:m9n,economicsParams:y9n,notes:A9n},v9n="8fjimYdFfmatTLYR2DNXvA",x9n="02/04/2023 01:05 pm",b9n=1675533906512,S9n="QWecNcxhyvP6j6sBN11hBsfZDau1",T9n=null,P9n=null,C9n={orthographic:!1,noAnimationForSolarPanelSimulation:!1,discretization:"Approximate",cspGridCellSize:.5,diurnalTemperatureModel:1,sutDaysPerYear:4,address:"Honolulu, HI, USA",sutGridCellSize:1,solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,longitude:-157.86620385714326,pvGridCellSize:.5,date:"4/22/2022, 10:00:00 AM",noAnimationForSolarUpdraftTowerSimulation:!1,cameraZoom:43.16939043526371,sutTimesPerHour:4,daysPerYear:12,timesPerHour:4,cspDaysPerYear:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],albedo:.3,thermalDiffusivity:.05},latitude:21.310722676290315,airConvectiveCoefficient:5,name:"default",solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,highestTemperatureTimeInMinutes:900,dustLoss:.05,noAnimationForHeatmapSimulation:!1,noAnimationForSensorDataCollection:!1},R9n=[{solarAbsorberPipe:{},solarPowerTower:{},normal:[0,0,1],rotation:[0,0,1.5707963267948966],color:"#009ce0",ly:24.9333515261897,type:"Foundation",parentId:"Ground",lz:.1,selected:!1,cz:.05,cx:-.9759327650956084,cy:2.7473554645675557,id:"sfVVGvWfY1uFZBwuAeqDnU",solarUpdraftTower:{},lx:10.57622536718512,locked:!1,textureType:"No Foundation Texture"},{showLabel:!1,cz:0,drawSunBeam:!1,cx:-.0173882538930337,color:"#fff",poleRadius:.05,parentId:"sfVVGvWfY1uFZBwuAeqDnU",dailyYield:25.00468094869397,selected:!1,trackerType:"None",orientation:"Portrait",poleSpacing:3,lx:6.944,locked:!1,type:"Solar Panel",rotation:[0,0,1.5707963267948966],ly:3.936,pvModelName:"CS6X-355P-FG",relativeAzimuth:0,poleHeight:1.5,normal:[0,0,1],id:"4bpFrEwZJxbfGUTtn9R1sg",lz:.046,cy:-.3535113399890203,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",tiltAngle:0},{solarAbsorberPipe:{},lz:.1,solarPowerTower:{},rotation:[0,0,-.7853981633974483],locked:!1,cy:3.3785331461228845,type:"Foundation",solarUpdraftTower:{},parentId:"Ground",cz:.05,selected:!1,lx:17.522626722458362,ly:16.217549949540043,normal:[0,0,1],color:"#009ce0",id:"c2gz3bi2QzLErUX4XmgVX7",cx:2.825325314034343,textureType:"No Foundation Texture"},{ly:.1,lz:1.75,selected:!1,textureType:"No Wall Texture",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",windows:[],leftPoint:[-.41513844869064975,-4.018227675100984,.1],id:"iQCq8L9uGMQTqYvdj9Zg8G",leftJoints:["cSJn7k7dHrZvyJZf7rCR3h"],rotation:[0,0,-.7853981633974483],showLabel:!1,cz:0,rightPoint:[.08486155130934736,-4.01822767510099,.1],lineWidth:.2,color:"#ffffff",rightJoints:["8BLfCN1Rb2sjqzL81nEAF1"],locked:!1,cx:-.16513844869065064,lx:.4999999999999971,roofId:"95ywic4c9x92ks45ZbwSqV",type:"Wall",rightRoofHeight:1.75,cy:-4.01822767510099,leftRoofHeight:1.75,normal:[0,0,1],relativeAngle:6.283185307179577,parentId:"c2gz3bi2QzLErUX4XmgVX7",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",parentId:"c2gz3bi2QzLErUX4XmgVX7",ly:.1,cx:-.16513844869065064,textureType:"No Wall Texture",roofId:"95ywic4c9x92ks45ZbwSqV",lx:.5000000000000003,locked:!1,rightRoofHeight:1.75,selected:!1,leftPoint:[.0848615513093498,2.481772324899016,.1],cy:2.481772324899016,lz:1.75,lineWidth:.2,normal:[0,0,1],relativeAngle:3.1415926535897922,rightPoint:[-.41513844869064953,2.481772324899015,.1],leftJoints:["8BLfCN1Rb2sjqzL81nEAF1"],rotation:[0,0,-.7853981633974483],type:"Wall",id:"wXQ7LSxUUW2TWS968Lkeqi",showLabel:!1,leftRoofHeight:1.75,windows:[],color:"#ffffff",lineColor:"black",rightJoints:["cSJn7k7dHrZvyJZf7rCR3h"],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],locked:!1,lineWidth:.2,ly:.1,windows:[],rightRoofHeight:1.75,color:"#ffffff",leftRoofHeight:1.75,cx:-.4151384486906503,id:"cSJn7k7dHrZvyJZf7rCR3h",lx:6.5,parentId:"c2gz3bi2QzLErUX4XmgVX7",rightPoint:[-.41513844869064975,-4.018227675100984,.1],rotation:[0,0,-.7853981633974483],roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,textureType:"No Wall Texture",leftJoints:["wXQ7LSxUUW2TWS968Lkeqi"],selected:!1,foundationId:"c2gz3bi2QzLErUX4XmgVX7",relativeAngle:4.71238898038469,type:"Wall",cy:-.7682276751009843,lz:1.75,showLabel:!1,lineColor:"black",rightJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],normal:[0,0,1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{locked:!1,selected:!1,type:"Wall",lz:1.75,leftRoofHeight:1.75,textureType:"No Wall Texture",id:"8BLfCN1Rb2sjqzL81nEAF1",leftPoint:[.08486155130935003,-4.0182276751009915,.1],cx:.08486155130935003,roofId:"95ywic4c9x92ks45ZbwSqV",cz:0,ly:.1,relativeAngle:1.5707963267948966,color:"#ffffff",foundationId:"c2gz3bi2QzLErUX4XmgVX7",lineColor:"black",rightPoint:[.0848615513093498,2.481772324899016,.1],cy:-.7682276751009878,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],lx:6.500000000000005,leftJoints:["iQCq8L9uGMQTqYvdj9Zg8G"],parentId:"c2gz3bi2QzLErUX4XmgVX7",rightRoofHeight:1.75,rightJoints:["wXQ7LSxUUW2TWS968Lkeqi"],windows:[],lineWidth:.2,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{normal:[0,0,1],wallsId:["8BLfCN1Rb2sjqzL81nEAF1"],cy:0,rightRidgeLength:-3.1500000000000026,locked:!1,lz:0,id:"95ywic4c9x92ks45ZbwSqV",lineColor:"black",selected:!1,lx:0,textureType:"No Roof Texture",ly:0,rotation:[0,0,-.7853981633974483],lineWidth:.2,cz:0,foundationId:"c2gz3bi2QzLErUX4XmgVX7",color:"#ffffff",parentId:"c2gz3bi2QzLErUX4XmgVX7",showLabel:!1,thickness:.05,roofType:"Hip",leftRidgeLength:3.2500000000000027,cx:0,type:"Roof",roofStructure:"Default",rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cz:0,rotation:[0,0,-.7853981633974483],parentId:"mcxY5unDv2pKvQAJXd1qqG",rightPoint:[.08486155130934736,-4.01822767510099,.1],roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,color:"#ffffff",textureType:"No Wall Texture",rightRoofHeight:1.75,lz:1.75,selected:!1,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:-.16513844869065064,ly:.1,cy:-4.01822767510099,rightJoints:["81FqBBm7B8Cgn7RbBDkgTc"],type:"Wall",leftJoints:["wPbsRDuG2myaDXtTkpKWyU"],leftPoint:[-.41513844869064975,-4.018227675100984,.1],normal:[0,0,1],lx:.4999999999999971,relativeAngle:6.283185307179577,id:"jPQHNjKitSZdUXrDLCKowL",locked:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{rightRoofHeight:1.75,id:"3DG2FvhMwMqXmaiYMPxgiv",cy:2.481772324899016,color:"#ffffff",rotation:[0,0,-.7853981633974483],rightPoint:[-.41513844869064953,2.481772324899015,.1],lx:.5000000000000003,selected:!1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",textureType:"No Wall Texture",leftPoint:[.0848615513093498,2.481772324899016,.1],type:"Wall",parentId:"mcxY5unDv2pKvQAJXd1qqG",foundationId:"mcxY5unDv2pKvQAJXd1qqG",lz:1.75,locked:!1,leftJoints:["81FqBBm7B8Cgn7RbBDkgTc"],rightJoints:["wPbsRDuG2myaDXtTkpKWyU"],relativeAngle:3.1415926535897922,cx:-.16513844869065064,leftRoofHeight:1.75,normal:[0,0,1],ly:.1,cz:0,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{leftPoint:[-.41513844869064953,2.481772324899015,.1],cx:-.4151384486906503,foundationId:"mcxY5unDv2pKvQAJXd1qqG",selected:!1,id:"wPbsRDuG2myaDXtTkpKWyU",leftRoofHeight:1.75,textureType:"No Wall Texture",color:"#ffffff",rotation:[0,0,-.7853981633974483],normal:[0,0,1],rightJoints:["jPQHNjKitSZdUXrDLCKowL"],cz:0,locked:!1,type:"Wall",ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",cy:-.7682276751009843,rightRoofHeight:1.75,lz:1.75,leftJoints:["3DG2FvhMwMqXmaiYMPxgiv"],lx:6.5,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:4.71238898038469,rightPoint:[-.41513844869064975,-4.018227675100984,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{type:"Wall",color:"#ffffff",rightRoofHeight:1.75,foundationId:"mcxY5unDv2pKvQAJXd1qqG",cx:.08486155130935003,cz:0,leftJoints:["jPQHNjKitSZdUXrDLCKowL"],rightJoints:["3DG2FvhMwMqXmaiYMPxgiv"],ly:.1,roofId:"7DEvyGzFf8SCPa5eeKTryQ",leftRoofHeight:1.75,lz:1.75,id:"81FqBBm7B8Cgn7RbBDkgTc",cy:-.7682276751009878,parentId:"mcxY5unDv2pKvQAJXd1qqG",relativeAngle:1.5707963267948966,rotation:[0,0,-.7853981633974483],selected:!1,textureType:"No Wall Texture",locked:!1,rightPoint:[.0848615513093498,2.481772324899016,.1],normal:[0,0,1],lx:6.500000000000005,leftPoint:[.08486155130935003,-4.0182276751009915,.1],wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.75,rightTopPartialHeight:1.75},{roofStructure:"Default",textureType:"No Roof Texture",lz:0,cz:0,rotation:[0,0,-.7853981633974483],foundationId:"mcxY5unDv2pKvQAJXd1qqG",type:"Roof",color:"#ffffff",wallsId:["81FqBBm7B8Cgn7RbBDkgTc"],lx:0,cx:0,leftRidgeLength:3.2500000000000027,rightRidgeLength:-3.1500000000000026,id:"7DEvyGzFf8SCPa5eeKTryQ",cy:0,parentId:"mcxY5unDv2pKvQAJXd1qqG",normal:[0,0,1],roofType:"Hip",thickness:.05,locked:!1,selected:!1,ly:0,rise:16.098880019941728,sideColor:"#ffffff",ceiling:!1},{cx:-2.820889718788509,lx:17.522626722458362,solarAbsorberPipe:{},cy:3.1943110177197918,cz:.05,id:"mcxY5unDv2pKvQAJXd1qqG",lz:.1,normal:[0,0,1],solarPowerTower:{},selected:!1,solarUpdraftTower:{},type:"Foundation",locked:!1,color:"#009ce0",rotation:[0,0,-.7853981633974483],ly:16.217549949540043,parentId:"Ground",textureType:"No Foundation Texture",enableGroupMaster:!0},{rotation:[0,0,0],leftJoints:["4jxSnG9vT4aBdW8AckRKYU"],windows:[],type:"Wall",lx:12.5,cx:-3.4999999999999987,showLabel:!1,rightRoofHeight:1.6,normal:[0,0,1],textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",ly:.3,cy:-.25,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",selected:!1,leftPoint:[-3.4999999999999973,6,0],relativeAngle:4.71238898038469,lineColor:"black",locked:!1,rightJoints:["dDiLTvTPyJXZvEWaFVYpwD"],lz:1.6,lineWidth:.2,leftRoofHeight:1.6,id:"fx2d8KZ2FbN5HXDjmbeNTq",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",rightPoint:[-3.5,-6.5,0],cz:0,color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",locked:!1,cy:-.25000000000000044,rightPoint:[2.9999999999999982,5.999999999999999,0],selected:!1,rightRoofHeight:1.6,rightJoints:["4jxSnG9vT4aBdW8AckRKYU"],leftRoofHeight:1.6,showLabel:!1,ly:.3,windows:[],parentId:"sfVVGvWfY1uFZBwuAeqDnU",rotation:[0,0,0],cz:0,textureType:"No Wall Texture",leftJoints:["dDiLTvTPyJXZvEWaFVYpwD"],leftPoint:[3,-6.5,0],lx:12.5,lineWidth:.2,lz:1.6,normal:[0,0,1],relativeAngle:1.5707963267948966,cx:2.999999999999999,foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",lineColor:"black",id:"kgt2xgas1aqzzJdjuE2oTU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{textureType:"No Wall Texture",parentId:"sfVVGvWfY1uFZBwuAeqDnU",selected:!1,leftRoofHeight:1.6,lz:1.6,cx:-.25,id:"dDiLTvTPyJXZvEWaFVYpwD",leftJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],cy:-6.5,relativeAngle:0,cz:0,locked:!1,centerRoofHeight:[0,1.6],lx:6.5,type:"Wall",showLabel:!1,roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",ly:.3,windows:[],rightPoint:[3,-6.5,0],lineWidth:.2,leftPoint:[-3.5,-6.5,0],rightRoofHeight:1.6,rightJoints:["kgt2xgas1aqzzJdjuE2oTU"],normal:[0,0,1],lineColor:"black",rotation:[0,0,0],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{leftJoints:["kgt2xgas1aqzzJdjuE2oTU"],windows:[],ly:.3,locked:!1,centerRoofHeight:[0,1.6],cy:5.999999999999998,rightPoint:[-3.4999999999999973,5.999999999999998,0],showLabel:!1,parentId:"sfVVGvWfY1uFZBwuAeqDnU",textureType:"No Wall Texture",rightJoints:["fx2d8KZ2FbN5HXDjmbeNTq"],foundationId:"sfVVGvWfY1uFZBwuAeqDnU",type:"Wall",id:"4jxSnG9vT4aBdW8AckRKYU",lz:1.6,leftRoofHeight:1.6,rightRoofHeight:1.6,lineWidth:.2,rotation:[0,0,0],roofId:"uRtLCjK4u6T6gpiAxaqJ4Y",lx:6.499999999999996,leftPoint:[2.9999999999999982,5.999999999999999,0],relativeAngle:3.141592653589793,selected:!1,cz:0,cx:-.24999999999999956,normal:[0,0,1],lineColor:"black",color:"#ffffff",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1.6,rightTopPartialHeight:1.6},{showLabel:!1,wallsId:["fx2d8KZ2FbN5HXDjmbeNTq"],roofStructure:"Default",locked:!1,ly:0,normal:[0,0,1],color:"#ffffff",foundationId:"sfVVGvWfY1uFZBwuAeqDnU",ridgeLeftPoint:[0,1],cz:0,lineWidth:.2,rotation:[0,0,0],parentId:"sfVVGvWfY1uFZBwuAeqDnU",roofType:"Gable",ridgeRightPoint:[0,1],cx:0,type:"Roof",cy:0,lineColor:"black",lx:0,id:"uRtLCjK4u6T6gpiAxaqJ4Y",thickness:.4,selected:!1,lz:0,textureType:"No Roof Texture",rise:0,sideColor:"#ffffff",ceiling:!1},{type:"Human",name:"Jeff",cx:-6.502161132128585,cy:-.11016766385402654,cz:.75,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"nxpfXTi8karHMZTuUfg7ua",id:"uohRAyGkaEQKAWQ4nxXd7n",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:-1.5500000000000027,cy:5.125000000000001,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"jrdvuWjMZPwKCrsCkYbs2x",locked:!1},{type:"Cuboid",cx:-1.5499999999999994,cy:-.12500200000011227,cz:.75,lx:23.296674873649543,ly:1.1460990537871516,lz:1.5,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"nxpfXTi8karHMZTuUfg7ua",selected:!1,locked:!1},{type:"Foundation",cx:-6.683083197474398,cy:-67.2866913326566,cz:.15,lx:40,ly:40,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"ihXBcGst6vfG6pMnKjKmcM",textureType:"Foundation Texture #7",locked:!1,enableGroupMaster:!0},{type:"Foundation",cx:13.760889379859025,cy:-67.2492084538547,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vgW1NebabuY1wd8pyCtxcL",locked:!1,textureType:"Foundation Texture #1",enableGroupMaster:!1},{type:"Foundation",cx:-27.220804284247304,cy:-67.2105953370125,cz:.5,lx:1,ly:40,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"erWKhrLkVgeBGrkYbzkvdA",selected:!1,locked:!1},{type:"Foundation",cx:-6.7329733624271535,cy:-46.77136586096416,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9pJgP99aRJ8Ucspa2Xmi3n",selected:!1,locked:!1},{type:"Foundation",cx:-6.740359075877207,cy:-87.76629626012827,cz:.5,lx:42,ly:1,lz:1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vKsvgYQL3ATsUMrkRxNVtG",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:.038403051629375184,cy:-10.6680905961247,cz:.49999999999999956,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"vgW1NebabuY1wd8pyCtxcL",id:"ca1o8dHiZMnRxbmGVa2QgH",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Judd",cx:12.353179322478177,cy:5.7758180762563,cz:.15,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"aUp3bFMPfhPR555kq4RxtS",selected:!1,locked:!1,ly:.544},{type:"Human",name:"Jess",cx:17.33662712955384,cy:1.475715952229109,cz:.1500000059604645,lx:.43,lz:1.5,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"wtw985egzP7m3E2u8Hzcug",selected:!1,locked:!1,ly:.43},{type:"Human",name:"Jennifer",cx:18.10291752042776,cy:-1.7717803444007103,cz:.1500000059604645,lx:.45,lz:1.7,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"7CidBs9j2hdjoie9s47tSo",selected:!1,locked:!1,ly:.45},{type:"Human",name:"Jeanette",cx:16.915296607371396,cy:-5.742321393879223,cz:.15,lx:.4,lz:1.62,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9QoGq38Qc3iCuT9ChxbAyR",selected:!1,locked:!1,ly:.4},{type:"Human",name:"Jamelia",cx:17.721133919154003,cy:-5.518875626742528,cz:.15,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"85muF4mPeUfkVQindFk2SC",selected:!1,locked:!1,ly:.65},{type:"Human",name:"Jade",cx:.6415363456979275,cy:7.410775156216488,cz:.1500000059604645,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"jBLqkfTJCSVqqR4CU7nfJ2",selected:!1,locked:!1,ly:.48},{type:"Flower",name:"Yellow Flower",cx:18.683881743553787,cy:18.33607154360658,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"eB4WthSRNZpHrasisKTtYg",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-18.795638463082337,cy:18.660989204818456,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"h3cqaVZXomQdjmyTbFaSE7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:-16.292595004641754,cy:-18.43048092235047,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"hEqgADfaTf5Syacb7QRfe6",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:17.686932547560502,cy:-18.72635054653726,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"dViWZq883MztDQDT9tgFHg",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.340044767234033,cy:12.835308413075914,cz:.15,lx:6.929334761971469,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"rK9Z4WmcdLBPe5DdK1mo3L",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.20400735303405,cy:4.605044853977084,cz:.15,lx:6.415005134340998,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"ko7TU1v7o4aKNwN5wszk6E",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:16.744228490634097,cy:-4.496771610813894,cz:.1500000059604645,lx:5.516658633108942,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"1zDByoeV2v4opENdb8nE73",selected:!1,locked:!1},{type:"Tree",name:"Coconut",cx:18.06796993883407,cy:-12.807744163620441,cz:.15,lx:3.7877637261892754,lz:6.813471569919312,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5ynw27sYwALgCvbTKBPFuc",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.73185271365966,cy:9.091268351797737,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"5xUkwUkEF3nM4dp1f8ZjGH",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.82807405354676,cy:.4545102937342307,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9CUeHAtdXMGrojz43dddm7",selected:!1,locked:!1},{type:"Flower",name:"Yellow Flower",cx:18.790525833741423,cy:-8.33811033147611,cz:.15,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9werjyfGxz2ZnUBAmZUSeP",selected:!1,locked:!1},{type:"Tree",name:"Linden",cx:-13.237896819150908,cy:7.786733045780586,cz:.15,lx:12.449941214324092,lz:9.058629663838381,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"9HVmsEYn5NmhERnCHtLeTG",selected:!1,locked:!1},{type:"Human",name:"Jacob",cx:16.698553189544626,cy:-13.302196684361064,cz:.1500000059604645,lx:.8,ly:.8,lz:1.82,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"oVwVpc1MsHV8dEBsQ3Qes9",selected:!1},{type:"Human",name:"Jacqueline",cx:16.92629922811857,cy:-10.360458138569996,cz:.1500000059604645,lx:.43,ly:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"go7YPG6xiBGLHMPZz7e4qo",selected:!1},{type:"Flower",name:"Hibiscus",cx:-.09277991929455354,cy:.3164809017961403,cz:.15,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"975HgY9tQaZ5QeqbgzHx3y",selected:!1},{type:"Flower",name:"Hibiscus",cx:2.3987692101921008,cy:.2735471847110773,cz:.1500000059604645,lx:2,lz:1.7,normal:[0,0,1],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"edrMt5m6ycQCMvY4tyMhZK",selected:!1},{type:"Tree",name:"Fan Palm",cx:-16.84484975237295,cy:-12.927386696052167,cz:.15,lx:4.076837194726303,lz:6.270754609829865,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"pzKai5MWnLpM5xYggPryb1",selected:!1},{type:"Human",name:"Jaye",cx:-.11721899052498141,cy:8.102455442033538,cz:.1500000059604645,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"o65jp32RsZKq9pnvJ8qjFn",selected:!1,ly:.55},{type:"Foundation",cx:-6.355619144447829,cy:-57.87489141106073,cz:.05,lx:17.250094637989044,ly:17.442537041091708,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"xjGay2mVopjsp4Ndv4B8Eh",enableGroupMaster:!0},{type:"Wall",cx:.15275097566949114,cy:7.153909729519647,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:3.141592653589793,leftPoint:[3.152750975669491,7.153909729519647,.1],rightPoint:[-2.847249024330509,7.153909729519647,.1],leftJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],rightJoints:["gQNkn8fsCop5ur3PiXUxVi"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"7T7V4fAArnXnf77GARr48T",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:4.003762708257019,leftPoint:[-2.847249024330509,7.153909729519647,.1],rightPoint:[-5.847249024330509,3.653909729519647,.1],leftJoints:["7T7V4fAArnXnf77GARr48T"],rightJoints:["j6xhxcV6gu7NJTE1m7PHjp"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"gQNkn8fsCop5ur3PiXUxVi",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:5.403909729519647,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:2.279422598922567,leftPoint:[6.152750975669491,3.653909729519647,.1],rightPoint:[3.152750975669491,7.153909729519647,.1],leftJoints:["xwZdPNzp8AKwovnxoLD3nU"],rightJoints:["7T7V4fAArnXnf77GARr48T"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"hqsA2Cy29sRNBoj4v9Cr5r",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.847249024330509,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:4.712388980384691,leftPoint:[-5.847249024330512,3.653909729519647,.1],rightPoint:[-5.847249024330509,-1.346090270480353,.1],leftJoints:["gQNkn8fsCop5ur3PiXUxVi"],rightJoints:["5HfZoyda9UcsGyCP24zQ6f"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"j6xhxcV6gu7NJTE1m7PHjp",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-4.347249024330509,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:5.42101525251236,leftPoint:[-5.847249024330509,-1.346090270480353,.1],rightPoint:[-2.847249024330509,-4.846090270480353,.1],leftJoints:["j6xhxcV6gu7NJTE1m7PHjp"],rightJoints:["mDLvATpuRq21i8iZBYi4ta"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"5HfZoyda9UcsGyCP24zQ6f",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.15275097566949114,cy:-4.846090270480353,cz:0,lx:6,ly:.3,lz:3,fill:"Full",relativeAngle:0,leftPoint:[-2.847249024330509,-4.846090270480353,.1],rightPoint:[3.152750975669491,-4.846090270480353,.1],leftJoints:["5HfZoyda9UcsGyCP24zQ6f"],rightJoints:["23GGGVXLMLhDsJPuc4tWdJ"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"mDLvATpuRq21i8iZBYi4ta",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.152750975669491,cy:1.153909729519647,cz:0,lx:5,ly:.3,lz:3,fill:"Full",relativeAngle:1.5707963267948966,leftPoint:[6.152750975669491,-1.346090270480353,.1],rightPoint:[6.152750975669491,3.653909729519647,.1],leftJoints:["23GGGVXLMLhDsJPuc4tWdJ"],rightJoints:["hqsA2Cy29sRNBoj4v9Cr5r"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"xwZdPNzp8AKwovnxoLD3nU",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:4.652750975669491,cy:-3.096090270480353,cz:0,lx:4.6097722286464435,ly:.3,lz:3,fill:"Full",relativeAngle:.8621700546672264,leftPoint:[3.152750975669491,-4.846090270480353,.1],rightPoint:[6.152750975669491,-1.346090270480353,.1],leftJoints:["mDLvATpuRq21i8iZBYi4ta"],rightJoints:["xwZdPNzp8AKwovnxoLD3nU"],textureType:"Wall Texture #3",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Stud",studSpacing:2,studWidth:.3,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"23GGGVXLMLhDsJPuc4tWdJ",structureSpacing:50,structureWidth:.2,structureColor:"white",roofId:"11NehXdVvEJW3XyYbWtXPQ",leftRoofHeight:3,rightRoofHeight:3,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:0,cy:6.5,cz:0,lx:6,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8FDqLAdw457E2bhA9XTcY8"],rightJoints:["8RoWdxqFb6i5NdhSc28mnN"],leftPoint:[3,6.5],rightPoint:[-3,6.5],relativeAngle:3.141592653589793,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"84MYXJ2PMaqXsehRJzjVQe",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["84MYXJ2PMaqXsehRJzjVQe"],rightJoints:["pk9TBhq9oWST9hGbLUebt3"],leftPoint:[-3,6.5],rightPoint:[-6,3],relativeAngle:4.003762708257019,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8RoWdxqFb6i5NdhSc28mnN",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:4.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vEPCFaMTtBZuQbmTYF61aY"],rightJoints:["84MYXJ2PMaqXsehRJzjVQe"],leftPoint:[6,3],rightPoint:[3,6.5],relativeAngle:2.279422598922567,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8FDqLAdw457E2bhA9XTcY8",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-6.000000000000002,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["8RoWdxqFb6i5NdhSc28mnN"],rightJoints:["q546XZV5H6AGWKk4L5mFny"],leftPoint:[-6.0000000000000036,3],rightPoint:[-6,-2],relativeAngle:4.712388980384691,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pk9TBhq9oWST9hGbLUebt3",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["pk9TBhq9oWST9hGbLUebt3"],rightJoints:["5MSQKrS7n6GSqPGqdxq5Bj"],leftPoint:[-6,-2],rightPoint:[-3,-5.5],relativeAngle:5.42101525251236,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q546XZV5H6AGWKk4L5mFny",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:-2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["q546XZV5H6AGWKk4L5mFny"],rightJoints:[],leftPoint:[-3,-5.5,0],rightPoint:[-1,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5MSQKrS7n6GSqPGqdxq5Bj",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:6,cy:.5,cz:0,lx:5,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["hdi4QkYQSUhV3rb5bWoPyE"],rightJoints:["8FDqLAdw457E2bhA9XTcY8"],leftPoint:[6,-2],rightPoint:[6,3],relativeAngle:1.5707963267948966,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vEPCFaMTtBZuQbmTYF61aY",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:4.5,cy:-3.75,cz:0,lx:4.6097722286464435,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:["vhyVh2ErPYrdrgRVofCLxz"],rightJoints:["vEPCFaMTtBZuQbmTYF61aY"],leftPoint:[3,-5.5],rightPoint:[6,-2],relativeAngle:.8621700546672264,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hdi4QkYQSUhV3rb5bWoPyE",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Foundation",cx:-6.206616408300555,cy:-57.696705992331786,cz:.1,lx:17.55559658932802,ly:18.75035650013101,lz:.2,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"86ArGmhZe3wg69cHFHJhHy",selected:!1,enableGroupMaster:!0},{type:"Wall",cx:2,cy:-5.5,cz:0,lx:2,ly:.1,lz:1,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Full",leftJoints:[],rightJoints:["hdi4QkYQSUhV3rb5bWoPyE"],leftPoint:[1,-5.5,0],rightPoint:[3,-5.5,0],relativeAngle:0,textureType:"Wall Texture #3",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vhyVh2ErPYrdrgRVofCLxz",parentId:"86ArGmhZe3wg69cHFHJhHy",foundationId:"86ArGmhZe3wg69cHFHJhHy",wallStructure:"Stud",structureSpacing:.5,structureColor:"white",structureWidth:.1,opacity:0,roofId:null,selected:!1,eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:1,rightTopPartialHeight:1},{type:"Wall",cx:0,cy:3.398893115303052,cz:0,lx:3.320044158350688,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rar8H4qGrUVwxrAVMoviFk"],rightJoints:["oNJ9yc8yVRwjREwej61c5A"],leftPoint:[1.660022079175344,3.398893115303052,0],rightPoint:[-1.660022079175344,3.398893115303052,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rp3dXSxQpb7ynasZ6iB6eD",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.110255927874554,rightUnfilledHeight:4.110255927874554,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["rp3dXSxQpb7ynasZ6iB6eD"],rightJoints:["qFqkwR72frMwniMPRhnRWu"],leftPoint:[-1.660022079175344,3.398893115303052,0],rightPoint:[-3.320044158350688,1.5687198993706395,0],relativeAngle:-2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oNJ9yc8yVRwjREwej61c5A",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.057580145705773,rightUnfilledHeight:4.057580145705773,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:2.483806507336846,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["8QpMcXYdcYd52x57cuvRwd"],rightJoints:["rp3dXSxQpb7ynasZ6iB6eD"],leftPoint:[3.320044158350688,1.5687198993706395,0],rightPoint:[1.660022079175344,3.398893115303052,0],relativeAngle:2.3074818778158113,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rar8H4qGrUVwxrAVMoviFk",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.100659354320178,rightUnfilledHeight:4.100659354320178,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-3.3200441583506892,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["oNJ9yc8yVRwjREwej61c5A"],rightJoints:["kihCtvbfxzgerRhgdX2mXc"],leftPoint:[-3.32004415835069,1.5687198993706395,0],rightPoint:[-3.320044158350688,-1.045813266247093,0],relativeAngle:-1.5707963267948957,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFqkwR72frMwniMPRhnRWu",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.079570215122429,rightUnfilledHeight:4.079570215122429,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["qFqkwR72frMwniMPRhnRWu"],rightJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],leftPoint:[-3.320044158350688,-1.045813266247093,0],rightPoint:[-1.660022079175344,-2.8759864821795054,0],relativeAngle:-.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kihCtvbfxzgerRhgdX2mXc",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.134242304497143,rightUnfilledHeight:4.134242304497143,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:3.320044158350688,cy:.2614533165617733,cz:0,lx:2.6145331656177326,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["nFBw1TRtTNF6p1WGqWPgfw"],rightJoints:["rar8H4qGrUVwxrAVMoviFk"],leftPoint:[3.320044158350688,-1.045813266247093,0],rightPoint:[3.320044158350688,1.5687198993706395,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8QpMcXYdcYd52x57cuvRwd",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.039195103204583,rightUnfilledHeight:4.039195103204583,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:2.490033118763016,cy:-1.960899874213299,cz:0,lx:2.470871769976342,ly:.1,lz:6,rValue:2.2894337349821954,volumetricHeatCapacity:.5,fill:"Partial",leftJoints:["jVTcP5pBaEuvpEqr3A1SVZ"],rightJoints:["8QpMcXYdcYd52x57cuvRwd"],leftPoint:[1.660022079175344,-2.8759864821795054,0],rightPoint:[3.320044158350688,-1.045813266247093,0],relativeAngle:.8341107757739816,textureType:"No Wall Texture",color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nFBw1TRtTNF6p1WGqWPgfw",parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",wallStructure:"Default",structureSpacing:1,structureColor:"white",structureWidth:.1,opacity:0,roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.108930812815814,rightUnfilledHeight:4.108930812815814,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Foundation",cx:-6.1615980987141725,cy:-56.93879552861954,cz:.05,lx:9.714225983793291,ly:9.80468578734971,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"gray",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"n5CRoXkagMPz1MK5uJrLb5",selected:!1},{type:"Wall",cx:0,cy:-2.8759864821795054,cz:0,lx:3.320044158350688,ly:.1,lz:6,fill:"Partial",relativeAngle:0,leftPoint:[-1.660022079175344,-2.8759864821795054,0],rightPoint:[1.660022079175344,-2.8759864821795054,0],leftJoints:["kihCtvbfxzgerRhgdX2mXc"],rightJoints:["nFBw1TRtTNF6p1WGqWPgfw"],textureType:"No Wall Texture",color:"white",rValue:2.2894337349821954,volumetricHeatCapacity:.5,wallStructure:"Default",studSpacing:.5,studWidth:.1,studColor:"white",opacity:0,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jVTcP5pBaEuvpEqr3A1SVZ",structureSpacing:1,structureWidth:.1,structureColor:"white",roofId:"smwrqG518CZJrsaW49WWUA",leftRoofHeight:6,rightRoofHeight:6,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:4.015344082405362,rightUnfilledHeight:4.015344082405362,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.5743098600216179,thickness:.1,roofType:"Pyramid",roofStructure:"Default",wallsId:["qFqkwR72frMwniMPRhnRWu","kihCtvbfxzgerRhgdX2mXc","jVTcP5pBaEuvpEqr3A1SVZ","nFBw1TRtTNF6p1WGqWPgfw","8QpMcXYdcYd52x57cuvRwd","rar8H4qGrUVwxrAVMoviFk","rp3dXSxQpb7ynasZ6iB6eD","oNJ9yc8yVRwjREwej61c5A"],textureType:"Roof Texture Default",color:"#666666",sideColor:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"n5CRoXkagMPz1MK5uJrLb5",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"smwrqG518CZJrsaW49WWUA",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"8QpMcXYdcYd52x57cuvRwd",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dYYTafeaVyrPGiHr9hT4x7"},{type:"Window",cx:-6739866298094781e-31,cy:.3,cz:.34999999999999987,lx:.809430915963378,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rar8H4qGrUVwxrAVMoviFk",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"jZbi6wpUUPGF7S266xXdZb"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"rp3dXSxQpb7ynasZ6iB6eD",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"dAbndkGsGZCPSQ6cfeGiaG"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"nFBw1TRtTNF6p1WGqWPgfw",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"kSuLif4Wir4urUXskyaV4U"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.9036024392790976,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"jVTcP5pBaEuvpEqr3A1SVZ",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"uzbQK6qBJiZchj62eoVcS2"},{type:"Window",cx:-6290541878221795e-31,cy:.3,cz:.3499999999999999,lx:.8094309159633778,ly:.1,lz:.19999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"kihCtvbfxzgerRhgdX2mXc",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"qdqEUWrM4pFbL4aKbpxg5S"},{type:"Window",cx:0,cy:.3,cz:.3499999999999999,lx:.7649549167327019,ly:.1,lz:.19999999999999982,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"qFqkwR72frMwniMPRhnRWu",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"387ytv7CWaVRo77xEcJ6ve"},{type:"Window",cx:-5841217458348811e-31,cy:.3,cz:.34999999999999987,lx:.8094309159633776,ly:.1,lz:.19999999999999973,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"oNJ9yc8yVRwjREwej61c5A",foundationId:"n5CRoXkagMPz1MK5uJrLb5",id:"5pj2DDSnCjnbjFqVV7kdtA"},{type:"Human",name:"Jane",cx:3.736227180070431,cy:-.07270961061114178,cz:.1500000059604645,lx:.4,ly:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"ihXBcGst6vfG6pMnKjKmcM",id:"mXtLTeWPeXbh8ZPv5wFnjK",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1,thickness:.1,roofType:"Mansard",roofStructure:"Default",wallsId:["mDLvATpuRq21i8iZBYi4ta"],ridgeWidth:2.994634976387277,textureType:"Roof Texture Default",color:"#666666",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"xjGay2mVopjsp4Ndv4B8Eh",foundationId:"xjGay2mVopjsp4Ndv4B8Eh",id:"11NehXdVvEJW3XyYbWtXPQ",ceiling:!1}],H9n={weatherPanelX:0,cameraZoom:11.974738784767576,showInstructionPanel:!1,orthographic:!1,showYearlyUpdraftTowerYieldPanel:!1,yearlyHeliostatYieldPanelRect:{x:0,y:0,height:400,width:600},cameraPosition:[2.0567122000034246,-82.20963270587687,2.469053520866666],showYearlyHeliostatYieldPanel:!1,mapTilt:0,groundPanelY:0,heliodonPanelX:0,showMapPanel:!1,heliodonPanelY:0,showElevationAngle:!0,solarRadiationHeatMapReflectionOnly:!1,groundImage:!1,mapWeatherStations:!1,showDailyParabolicTroughYieldPanel:!1,evolutionPanelRect:{x:0,y:0,width:640,height:400},theme:"Default",dailyPvYieldPanelRect:{height:400,x:0,width:600,y:0},dailyHeliostatYieldPanelRect:{height:400,width:600,y:0,x:0},showDailyLightSensorPanel:!1,yearlyUpdraftTowerYieldPanelRect:{y:0,width:600,height:400,x:0},groundColor:"#0062b1",showGroundPanel:!1,weatherPanelY:0,yearlyLightSensorPanelX:0,showDiurnalTemperaturePanel:!1,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelY:0,yearlyLightSensorPanelRect:{y:0,x:0,height:500,width:600},showDailyParabolicDishYieldPanel:!1,showDailyHeliostatYieldPanel:!1,yearlyLightSensorPanelShowDaylight:!1,autoRotate:!1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},dailyPvYieldPanelY:1,yearlyPvYieldPanelRect:{height:400,y:0,width:600,x:0},mapPanelX:0,yearlyLightSensorPanelShowClearness:!1,dailyLightSensorPanelX:-1277,stickyNotePanelX:5,yearlyFresnelReflectorYieldPanelRect:{width:600,y:0,height:400,x:0},visibilityResultsPanelRect:{width:600,y:0,x:0,height:470},mapType:"hybrid",yearlyParabolicTroughYieldPanelRect:{x:0,height:400,width:600,y:0},solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{width:600,x:0,y:0,height:400},showSolarPanelVisibilityResultsPanel:!1,showEvolutionPanel:!1,showDesignInfoPanel:!1,showAzimuthAngle:!0,showYearlyLightSensorPanel:!1,dailyPvYieldPanelX:4,showSunAngles:!1,stickyNotePanelY:2,dailyLightSensorPanelRect:{width:600,y:0,x:0,height:360},showSiteInfoPanel:!0,mapZoom:17,shadowEnabled:!0,showStickyNotePanel:!1,showYearlyFresnelReflectorYieldPanel:!1,cameraPosition2D:[35.60900958192718,-37.58389220703244,150],yearlyParabolicDishYieldPanelRect:{width:600,x:0,height:400,y:0},showHeliodonPanel:!1,showDailyPvYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showZenithAngle:!0,panCenter:[0,0,0],showYearlyParabolicTroughYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,dailyLightSensorPanelY:525,axes:!1,dailyUpdraftTowerYieldPanelRect:{height:550,x:0,width:640,y:0},enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{x:0,y:0,height:400,width:600},showSolarRadiationHeatmap:!1,stickyNotePanelRect:{height:300,x:0,y:0,width:400},heliodon:!1,weatherPanelRect:{height:500,width:500,x:0,y:0},showWeatherPanel:!1,diurnalTemperaturePanelRect:{height:400,y:0,width:600,x:0},showEconomicsPanel:!1,mapPanelY:0,panCenter2D:[35.60900958192718,-37.5837422003028,-44548927895332545e-21],groundPanelX:0,showYearlyParabolicDishYieldPanel:!1,waterSurface:!0},M9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},I9n=1,z9n={tiltAngle:0,poleHeight:1,rowAxis:"Zonal",rowsPerRack:1,pvModelName:"SPR-X21-335-BLK",interRowSpacing:2,orientation:"Landscape",poleSpacing:3},D9n={rowAxis:"Zonal",minimumRowsPerRack:1,maximumInterRowSpacing:10,orientation:"Landscape",pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,minimumInterRowSpacing:2,maximumTiltAngle:1.5707963267948966,maximumRowsPerRack:6,poleSpacing:5,poleHeight:1},E9n={particleSwarmOptimizationParams:{convergenceThreshold:.01,searchMethod:1,vmax:.01,socialCoefficient:.1,cognitiveCoefficient:.1,objectiveFunctionType:1,localSearchRadius:.1,swarmSize:20,maximumSteps:5,problem:"Solar Panel Tilt Angle",inertia:.8},geneticAlgorithmParams:{convergenceThreshold:.01,localSearchRadius:.1,mutationRate:.1,populationSize:20,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionRate:.5,crossoverRate:.5,objectiveFunctionType:1,selectionMethod:1,maximumGenerations:5}},k9n={projectLifeSpan:25,operationalCostPerUnit:.15,electricitySellingPrice:.25},F9n=[],L9n={docid:v9n,time:x9n,timestamp:b9n,userid:S9n,owner:T9n,email:P9n,world:C9n,elements:R9n,view:H9n,graphState:M9n,evolutionMethod:I9n,solarPanelArrayLayoutParams:z9n,solarPanelArrayLayoutConstraints:D9n,evolutionaryAlgorithmState:E9n,economicsParams:k9n,notes:F9n},W9n="aAQ9PBNcxmy54LzwEjDjx6",N9n="02/04/2023 01:07 pm",U9n=1675534023944,B9n="QWecNcxhyvP6j6sBN11hBsfZDau1",j9n=null,Y9n=null,O9n={latitude:29.97967840899827,solarRadiationHeatmapGridCellSize:2,pvGridCellSize:.5,timesPerHour:1,longitude:31.1328118254,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Unnamed Road, Nazlet El-Semman, Al Haram, Giza Governorate 3512201, Egypt",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!1,noAnimationForHeatmapSimulation:!1},_9n=[{cy:1.8727761492415205,normal:[0,0,1],lz:.1,ly:33.71645112830097,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:3.8026045865356792,cz:.05,rotation:[0,0,0],lx:37.627215506503944,selected:!1,parentId:"Ground",color:"#939e68"},{type:"Human",name:"Jack",cx:-20.29704864931282,cy:2.5303584520169977,cz:17763568394002505e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"tmVJY65HF3sgVftctUAMHa",selected:!1,ly:.42},{type:"Wall",cx:0,cy:16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:3.141592653589793,leftPoint:[18.18648749481024,16.296284712012135,0],rightPoint:[-18.18648749481024,16.296284712012135,0],leftJoints:["x8opa4joDX2ozyr1wxLBFd"],rightJoints:["cbbyeikFQdrAHuD95BDSGz"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nTB9SvRUJL9zbmnaWUjcpm",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-18.18648749481024,cy:-17763568394002505e-31,cz:0,lx:32.59256942402426,ly:.3,lz:.1,relativeAngle:-1.5707963267948966,leftPoint:[-18.18648749481024,16.29628471201213,0],rightPoint:[-18.18648749481024,-16.296284712012135,0],leftJoints:["nTB9SvRUJL9zbmnaWUjcpm"],rightJoints:["h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cbbyeikFQdrAHuD95BDSGz",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:18.18648749481024,cy:0,cz:0,lx:32.59256942402427,ly:.3,lz:.1,relativeAngle:1.5707963267948966,leftPoint:[18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,16.296284712012135,0],leftJoints:["h8nRc5JnZSmPUtQYLCpzpo"],rightJoints:["nTB9SvRUJL9zbmnaWUjcpm"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x8opa4joDX2ozyr1wxLBFd",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-16.296284712012135,cz:0,lx:36.37297498962048,ly:.3,lz:.1,relativeAngle:0,leftPoint:[-18.18648749481024,-16.296284712012135,0],rightPoint:[18.18648749481024,-16.296284712012135,0],leftJoints:["cbbyeikFQdrAHuD95BDSGz"],rightJoints:["x8opa4joDX2ozyr1wxLBFd"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h8nRc5JnZSmPUtQYLCpzpo",roofId:"k5DPAgfcA7iEV8uJMULHoF",leftRoofHeight:.1,rightRoofHeight:.1,color:"#b07e3d",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["x8opa4joDX2ozyr1wxLBFd","nTB9SvRUJL9zbmnaWUjcpm","cbbyeikFQdrAHuD95BDSGz","h8nRc5JnZSmPUtQYLCpzpo"],textureType:"No Roof Texture",color:"#f1bd5f",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k5DPAgfcA7iEV8uJMULHoF",sideColor:"#f1bd5f",rise:23.904675932583867,ceiling:!1},{type:"Wall",cx:0,cy:20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["7WsdqvYxWkA27jvXNo2Mm1"],rightJoints:["tZM6D9KrMoJw5byU4Mef1i"],leftPoint:[18.655460672061775,20.99732159077814,0],rightPoint:[-18.655460672061775,20.99732159077814,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"kfxJiyZVakywzVGMDtjswR",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:-18.655460672061775,cy:-17763568394002505e-31,cz:0,lx:41.99464318155627,ly:.3,lz:.22250033892788987,leftJoints:["kfxJiyZVakywzVGMDtjswR"],rightJoints:["vf6wgmEsbmPCE8KcphJGqP"],leftPoint:[-18.655460672061775,20.997321590778135,0],rightPoint:[-18.655460672061775,-20.99732159077814,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"tZM6D9KrMoJw5byU4Mef1i",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:18.655460672061775,cy:0,cz:0,lx:41.99464318155628,ly:.3,lz:.22250033892788987,leftJoints:["vf6wgmEsbmPCE8KcphJGqP"],rightJoints:["kfxJiyZVakywzVGMDtjswR"],leftPoint:[18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,20.99732159077814,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"7WsdqvYxWkA27jvXNo2Mm1",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{type:"Wall",cx:0,cy:-20.99732159077814,cz:0,lx:37.31092134412355,ly:.3,lz:.22250033892788987,leftJoints:["tZM6D9KrMoJw5byU4Mef1i"],rightJoints:["7WsdqvYxWkA27jvXNo2Mm1"],leftPoint:[-18.655460672061775,-20.99732159077814,0],rightPoint:[18.655460672061775,-20.99732159077814,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"vf6wgmEsbmPCE8KcphJGqP",parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofId:"vsaCHfjwMoXqY3LhUh3AYn",selected:!1,leftRoofHeight:.22250033892788987,rightRoofHeight:.22250033892788987,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.22250033892788987,rightTopPartialHeight:.22250033892788987},{id:"vsaCHfjwMoXqY3LhUh3AYn",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"7wPQXpdL4AkSgqr5d4ivTf",foundationId:"7wPQXpdL4AkSgqr5d4ivTf",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["7WsdqvYxWkA27jvXNo2Mm1","kfxJiyZVakywzVGMDtjswR","tZM6D9KrMoJw5byU4Mef1i","vf6wgmEsbmPCE8KcphJGqP"],selected:!1,sideColor:"#f1bd5f",rise:26.582665517432964,ceiling:!1},{type:"Foundation",cx:12.856852941052583,cy:43.808036262261155,cz:.05,lx:38.5975048387485,ly:43.44273432574787,lz:.22250033892788987,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7wPQXpdL4AkSgqr5d4ivTf",selected:!1},{type:"Wall",cx:0,cy:10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["c1ip4EoLV1xG5UrcQjKJFf"],rightJoints:["aXfuVy74x5TuX5PAxrYsmb"],leftPoint:[12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,10.377063829820637,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"6n1nr1JX4st4jvQ9gUV4ia",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:-12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["6n1nr1JX4st4jvQ9gUV4ia"],rightJoints:["mU8UDvpwYrQexfz1wzirNx"],leftPoint:[-12.196908292345023,10.377063829820637,0],rightPoint:[-12.196908292345023,-10.377063829820637,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"aXfuVy74x5TuX5PAxrYsmb",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:12.196908292345023,cy:0,cz:0,lx:20.754127659641274,ly:.3,lz:.1,leftJoints:["mU8UDvpwYrQexfz1wzirNx"],rightJoints:["6n1nr1JX4st4jvQ9gUV4ia"],leftPoint:[12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,10.377063829820637,0],relativeAngle:1.5707963267948966,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"c1ip4EoLV1xG5UrcQjKJFf",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{type:"Wall",cx:0,cy:-10.377063829820637,cz:0,lx:24.393816584690047,ly:.3,lz:.1,leftJoints:["aXfuVy74x5TuX5PAxrYsmb"],rightJoints:["c1ip4EoLV1xG5UrcQjKJFf"],leftPoint:[-12.196908292345023,-10.377063829820637,0],rightPoint:[12.196908292345023,-10.377063829820637,0],relativeAngle:0,textureType:"No Wall Texture",color:"#b07e3d",normal:[0,0,1],rotation:[0,0,0],id:"mU8UDvpwYrQexfz1wzirNx",parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofId:"6Z9o7PiPN8Lg87aGjnheF2",selected:!1,leftRoofHeight:.1,rightRoofHeight:.1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1},{id:"6Z9o7PiPN8Lg87aGjnheF2",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#f1bd5f",normal:[0,0,1],rotation:[0,0,0],parentId:"vEZNUjoALqFNdeECwYexcJ",foundationId:"vEZNUjoALqFNdeECwYexcJ",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.05,wallsId:["c1ip4EoLV1xG5UrcQjKJFf","6n1nr1JX4st4jvQ9gUV4ia","aXfuVy74x5TuX5PAxrYsmb","mU8UDvpwYrQexfz1wzirNx"],selected:!1,sideColor:"#f1bd5f",rise:16.854120951667817,ceiling:!1},{type:"Foundation",cx:45.25308331556635,cy:20.416929673194815,cz:.05,lx:25.23498267381729,ly:21.469787234111664,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#939e68",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vEZNUjoALqFNdeECwYexcJ",selected:!1},{type:"Human",name:"Jaah",cx:39.44168754364077,cy:-40.717132307246644,cz:0,lx:.74,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mXBNsLzvysAACaXT4Ret47",selected:!1,ly:.74},{type:"Tree",name:"Coconut",cx:42.806669480662926,cy:-43.46857047024383,cz:0,lx:7.465549642203886,lz:12.033907674351804,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"nN965AFg3yMtHobvcGg5R7",selected:!1},{type:"Tree",name:"Coconut",cx:41.00137659683238,cy:-40.141651116333534,cz:0,lx:5.412336834290683,lz:8.971899696117683,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"2anvXQ4u2H4Gmk1Wk9rdgM",selected:!1},{type:"Tree",name:"Coconut",cx:45.13152925903263,cy:-41.184279758308485,cz:0,lx:4.120170321128103,lz:6.431070332387913,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"kUerK8k3CG9QPyDqpE1w3s",selected:!1},{type:"Tree",name:"Coconut",cx:42.724610065173344,cy:-37.37569784643946,cz:-8881784197001252e-31,lx:5.285861196217217,lz:7.810076760608297,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"6e2aW2xXuEPds7gKc1zyEZ",selected:!1},{type:"Human",name:"Jiya",cx:38.48713465659762,cy:-41.18611455055127,cz:0,lx:.6,lz:1.74,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"waRJTQwVoTc2m73FTmZtku",selected:!1,ly:.6}],V9n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Dune",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#fcde9d",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[29.718967845382636,-60.9210785032056,6.195253307893477],panCenter:[20.220405140712533,12.500928314079184,6.195253307893477],orthographic:!1,enableRotate:!0,cameraZoom:13.966745921875,showInstructionPanel:!0,cameraPosition2D:[2.7117906831589016,-.17118900317690566,150],panCenter2D:[2.7117906831589016,-.17103899651007715,5772019952800763e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!1,showMapPanel:!1},G9n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},X9n=1,J9n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},K9n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},q9n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},$9n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Q9n=[],Z9n={docid:W9n,time:N9n,timestamp:U9n,userid:B9n,owner:j9n,email:Y9n,world:O9n,elements:_9n,view:V9n,graphState:G9n,evolutionMethod:X9n,solarPanelArrayLayoutParams:J9n,solarPanelArrayLayoutConstraints:K9n,evolutionaryAlgorithmState:q9n,economicsParams:$9n,notes:Q9n},e3n="cTcUvKrDVjKVCsa7Bc6eWP",t3n="07/11/2023 11:15 am",n3n=1689088517320,o3n="QWecNcxhyvP6j6sBN11hBsfZDau1",i3n=null,r3n=null,a3n={date:"5/1/2022, 11:00:00 AM",timesPerHour:1,noAnimationForHeatmapSimulation:!1,cameraZoom:35.16173831821251,latitude:20.6834718,address:"Chícharo 1, Agua Clara, 20263 Aguascalientes, Ags, Mexico",orthographic:!1,pvGridCellSize:.5,noAnimationForSolarPanelSimulation:!1,solarRadiationHeatmapGridCellSize:2,name:"default",longitude:-88.56849969999999,countryCode:"MX",ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]}},l3n=[{normal:[0,0,1],color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,lz:.1,parentId:"Ground",cx:-27.085409900327864,cy:-75.75391737780706,cz:.05,id:"of4fAMi2p9MKmo6JDUYnfX",locked:!1,selected:!1},{normal:[0,0,1],enableGroupMaster:!0,color:"#ffffff",rotation:[0,0,-.4308260576178866],type:"Cuboid",lx:56,ly:56,lz:3,parentId:"Ground",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-18.375019902136223,cy:-56.51798491947705,cz:1.5,id:"wiH8vD751NzePoNE489Zmz",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:50.63868728162561,ly:51,lz:3,parentId:"wiH8vD751NzePoNE489Zmz",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.08666355805458079,cy:.07433002082287654,cz:1.5,id:"vEE1TP3rTAVaRcwDoKZkXG",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:46,ly:46,parentId:"vEE1TP3rTAVaRcwDoKZkXG",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.07205603943225766,cy:-.3609974280100564,cz:1.5,id:"64zAV4AXgf3acGYiGgbHtk",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:41,ly:41,parentId:"64zAV4AXgf3acGYiGgbHtk",lz:3,faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.2179635556946673,cy:-.2714914561985524,cz:1.5,id:"6tvwCY3BfS5DKToaqrjH6b",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:36,ly:36,lz:3,parentId:"6tvwCY3BfS5DKToaqrjH6b",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.20649365162019312,cy:-.07640192198699511,cz:1.5,id:"w5DovAeNvLxdFUsA55MTUK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:31,ly:31,lz:3,parentId:"w5DovAeNvLxdFUsA55MTUK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:.21796368761107066,cy:.27148491092499955,cz:1.5,id:"xkbrwv3RHrtDWs4fwBjHcK",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:26,ly:26,lz:3,parentId:"xkbrwv3RHrtDWs4fwBjHcK",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:12533374448675178e-22,cy:-2726892110443256e-21,cz:1.5,id:"pbMzPvQHYgJQunHq51J49Z",locked:!1,selected:!1,stackable:!0},{normal:[0,0,1],color:"#ffffff",rotation:[0,0,0],type:"Cuboid",lx:21,ly:21,lz:3,parentId:"pbMzPvQHYgJQunHq51J49Z",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cx:-.07647088824865858,cy:-.20646417621273133,cz:1.5,id:"mnvyeK5fN3hX9sLjvEKUuf",locked:!1,selected:!1,stackable:!0},{color:"white",rightJoints:["snp41n8epU65cJmpWYe2JY"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["7HaAi9SXBNPgTWdiQyjMiG"],lx:20.02647993516194,type:"Wall",ly:.3,showLabel:!1,lineWidth:.2,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"25Fv92JqG6V9Az4Vdn87cm",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["25Fv92JqG6V9Az4Vdn87cm"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["nyGwFjAxRx8nejSDNHRuJf"],type:"Wall",lx:6.747607724168489,ly:.3,lineWidth:.2,showLabel:!1,lz:24.07205708567741,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"7HaAi9SXBNPgTWdiQyjMiG",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"of4fAMi2p9MKmo6JDUYnfX",rotation:[0,0,-.4308260576178866],lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263398,cy:9.715917584374791,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["7HaAi9SXBNPgTWdiQyjMiG"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["snp41n8epU65cJmpWYe2JY"],lx:20.026479935161944,type:"Wall",ly:.3,lz:.1,showLabel:!1,lineWidth:.2,centerRoofHeight:[.5,24.07205708567741],roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"nyGwFjAxRx8nejSDNHRuJf",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:3.2871994763724164,cy:-.2844195419063196,cz:0,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["nyGwFjAxRx8nejSDNHRuJf"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["25Fv92JqG6V9Az4Vdn87cm"],lx:6.747607724168491,type:"Wall",ly:.3,lineWidth:.2,lz:.1,showLabel:!1,roofId:"sGVLr2RiApAro2AZTF4Soq",textureType:"No Wall Texture",id:"snp41n8epU65cJmpWYe2JY",leftRoofHeight:.1,structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",windows:[],fill:"Full",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,lineWidth:.2,showLabel:!1,overhang:0,wallsId:["snp41n8epU65cJmpWYe2JY"],textureType:"No Roof Texture",id:"sGVLr2RiApAro2AZTF4Soq",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",rotation:[0,0,-.4308260576178866],foundationId:"of4fAMi2p9MKmo6JDUYnfX",lineColor:"black",parentId:"of4fAMi2p9MKmo6JDUYnfX",cx:0,cy:0,cz:0,rise:0},{color:"white",rightJoints:["p76sjxtkpQv2qS73PYE2kL"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["6JMAttAcVe64vobp1GLMxZ"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"wqgKTMGphRnmbTc7egg7A4",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-3.4603589017376857,cy:-.3102252245060395,leftPoint:[-3.4603589017376843,9.703014743074931,0],wallStructure:"Default",cz:0,relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["wqgKTMGphRnmbTc7egg7A4"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["1bHrmE4SnxxPJS3An7ttHy"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"6JMAttAcVe64vobp1GLMxZ",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["6JMAttAcVe64vobp1GLMxZ"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["p76sjxtkpQv2qS73PYE2kL"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",leftRoofHeight:.1,id:"1bHrmE4SnxxPJS3An7ttHy",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-2.001622384412783],foundationId:"6hcF56jh7q4LNRLycVpoD9",fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:3.2871994763724164,cy:-.2844195419063196,leftPoint:[3.2871994763724164,-10.297659509487291,0],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1bHrmE4SnxxPJS3An7ttHy"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["wqgKTMGphRnmbTc7egg7A4"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"okzyGygyV9CuUuCgZJHxtL",textureType:"No Wall Texture",id:"p76sjxtkpQv2qS73PYE2kL",leftRoofHeight:.1,locked:!1,structureWidth:.1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],fill:"Full",parentId:"6hcF56jh7q4LNRLycVpoD9",cx:-.08657971268263531,cy:-10.310562350787151,wallStructure:"Default",cz:0,leftPoint:[-3.460358901737687,-10.32346519208701,0],relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],sideColor:"#ffffff",ridgeLeftPoint:[-.5,1],type:"Roof",lx:0,ly:0,lz:0,wallsId:["p76sjxtkpQv2qS73PYE2kL"],overhang:0,textureType:"No Roof Texture",id:"okzyGygyV9CuUuCgZJHxtL",locked:!1,selected:!1,normal:[0,0,1],ceiling:!1,roofStructure:"Default",roofType:"Gable",foundationId:"6hcF56jh7q4LNRLycVpoD9",rotation:[0,0,-2.001622384412783],parentId:"6hcF56jh7q4LNRLycVpoD9",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-2.001622384412783],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-37.19656198570662,cy:-48.22218639532002,cz:.05,id:"6hcF56jh7q4LNRLycVpoD9",locked:!1,selected:!1},{color:"white",rightJoints:["6eET4gZfKAok8BawnfpVP5"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["4tcfgq35BNQEAuA7Q4gK2w"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"ewTz3qtVabc3vib1o37RWk",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,1.1399702691770102],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-3.4603589017376857,cy:-.3102252245060395,cz:0,wallStructure:"Default",leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ewTz3qtVabc3vib1o37RWk"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:24.07205708567741,id:"4tcfgq35BNQEAuA7Q4gK2w",structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263398,cy:9.715917584374791,wallStructure:"Default",leftPoint:[3.2871994763724164,9.728820425674652,0],cz:0,relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["4tcfgq35BNQEAuA7Q4gK2w"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["6eET4gZfKAok8BawnfpVP5"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"vvdQFgS7BMWgSzhZ3WPn3v",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["vvdQFgS7BMWgSzhZ3WPn3v"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["ewTz3qtVabc3vib1o37RWk"],lx:6.747607724168491,type:"Wall",ly:.3,lz:.1,roofId:"u4Mpv2GeNWKchY8947S8v4",textureType:"No Wall Texture",leftRoofHeight:.1,id:"6eET4gZfKAok8BawnfpVP5",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],fill:"Full",parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],wallStructure:"Default",cz:0,relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,overhang:0,wallsId:["6eET4gZfKAok8BawnfpVP5"],textureType:"No Roof Texture",id:"u4Mpv2GeNWKchY8947S8v4",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",foundationId:"8gpLzgkZ8nK4SDTRc45eLs",rotation:[0,0,1.1399702691770102],parentId:"8gpLzgkZ8nK4SDTRc45eLs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,1.1399702691770102],solarAbsorberPipe:{},type:"Foundation",solarUpdraftTower:{},lx:7.036992589214696,ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-.019117338301022357,cy:-64.89645982858704,cz:.05,id:"8gpLzgkZ8nK4SDTRc45eLs",locked:!1,selected:!1},{color:"white",rightJoints:["2UujwtSnnVJqGDCJ3BBRm9"],structureSpacing:2,structureColor:"white",rightRoofHeight:.10000000000000142,leftJoints:["2owQUpRggJZAfJhkbdGdV7"],type:"Wall",lx:20.02647993516194,ly:.3,lz:.1,centerRoofHeight:[-.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"1S8fhLLB2Yj68UzfGctHxC",leftRoofHeight:24.07205708567741,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[-3.460358901737687,-10.32346519208701,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-3.4603589017376857,cy:-.3102252245060395,wallStructure:"Default",cz:0,leftPoint:[-3.4603589017376843,9.703014743074931,0],relativeAngle:-1.5707963267948968,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["1S8fhLLB2Yj68UzfGctHxC"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["ie77KsfUeoYHMvNbdg5A7r"],type:"Wall",lx:6.747607724168489,ly:.3,lz:24.07205708567741,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2owQUpRggJZAfJhkbdGdV7",leftRoofHeight:24.07205708567741,locked:!1,structureWidth:.1,selected:!1,eavesLength:0,rightPoint:[-3.4603589017376843,9.703014743074931,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263398,cy:9.715917584374791,cz:0,leftPoint:[3.2871994763724164,9.728820425674652,0],wallStructure:"Default",relativeAngle:-3.137768224760869,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:24.07205708567741,rightTopPartialHeight:24.07205708567741,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["2owQUpRggJZAfJhkbdGdV7"],structureSpacing:2,structureColor:"white",rightRoofHeight:24.07205708567741,leftJoints:["2UujwtSnnVJqGDCJ3BBRm9"],type:"Wall",lx:20.026479935161944,ly:.3,lz:.1,centerRoofHeight:[.5,24.07205708567741],roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",leftRoofHeight:.1,id:"ie77KsfUeoYHMvNbdg5A7r",structureWidth:.1,locked:!1,selected:!1,eavesLength:0,rightPoint:[3.2871994763724164,9.728820425674652,0],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:3.2871994763724164,cy:-.2844195419063196,wallStructure:"Default",leftPoint:[3.2871994763724164,-10.297659509487291,0],cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["ie77KsfUeoYHMvNbdg5A7r"],structureSpacing:2,structureColor:"white",rightRoofHeight:.1,leftJoints:["1S8fhLLB2Yj68UzfGctHxC"],type:"Wall",lx:6.747607724168491,ly:.3,lz:.1,roofId:"vaffHA2pvgk7DEwhzj6gNE",textureType:"No Wall Texture",id:"2UujwtSnnVJqGDCJ3BBRm9",leftRoofHeight:.1,structureWidth:.1,locked:!1,eavesLength:0,selected:!1,rightPoint:[3.2871994763724164,-10.297659509487291,0],normal:[0,0,1],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:-.08657971268263531,cy:-10.310562350787151,leftPoint:[-3.460358901737687,-10.32346519208701,0],cz:0,wallStructure:"Default",relativeAngle:.003824428828923839,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:.1,rightTopPartialHeight:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],sideColor:"#ffffff",type:"Roof",lx:0,ly:0,lz:0,wallsId:["2UujwtSnnVJqGDCJ3BBRm9"],overhang:0,textureType:"No Roof Texture",id:"vaffHA2pvgk7DEwhzj6gNE",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"hmZjWWeZz4S4GgQzaeEoDs",parentId:"hmZjWWeZz4S4GgQzaeEoDs",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},type:"Foundation",lx:7.036992589214696,solarUpdraftTower:{},ly:30.510947098235302,parentId:"Ground",lz:.1,cx:-9.922732853325604,cy:-37.99179481559905,cz:.05,id:"hmZjWWeZz4S4GgQzaeEoDs",locked:!1,selected:!1},{color:"white",rightJoints:["w8ioBPnjpEK1kCVPvdyXSf"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["o5TUM6k7TUF5pcoV1nrf3P"],lx:15.990395824622178,type:"Wall",ly:.3,lz:30.5,centerRoofHeight:[-.5,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"9EahYNQZypYcfg5Yptfmkk",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[-8.119283016182168,-17.843264137803672,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-8.119283016182168,cy:-9.848066225492586,cz:0,leftPoint:[-8.119283016182163,-1.852868313181495,.1],wallStructure:"Default",relativeAngle:-1.570796326794897,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["9EahYNQZypYcfg5Yptfmkk"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["jbmSv4P2XCW2pGLUzPPdFg"],lx:15.828210447987294,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"o5TUM6k7TUF5pcoV1nrf3P",leftRoofHeight:30.5,structureWidth:.1,locked:!1,eavesLength:.2,selected:!1,rightPoint:[-8.119283016182163,-1.852868313181495,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.2051844979525692,cy:-1.8425658765917845,cz:0,leftPoint:[7.7089140202770245,-1.8322634400020812,.1],wallStructure:"Default",relativeAngle:-3.140290871618499,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["o5TUM6k7TUF5pcoV1nrf3P"],structureSpacing:2,structureColor:"white",rightRoofHeight:null,leftJoints:["w8ioBPnjpEK1kCVPvdyXSf"],type:"Wall",lx:15.99039582462218,ly:.3,lz:30.5,centerRoofHeight:[.4999999999999998,30.5],roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",leftRoofHeight:30.5,id:"jbmSv4P2XCW2pGLUzPPdFg",locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.7089140202770245,-1.8322634400020812,.1],normal:[0,0,1],foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,-3.5724187112076797],fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:7.708914020277024,cy:-9.827461352313167,leftPoint:[7.708914020277023,-17.822659264624257,.1],wallStructure:"Default",cz:0,relativeAngle:1.5707963267948966,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"white",rightJoints:["jbmSv4P2XCW2pGLUzPPdFg"],structureSpacing:2,structureColor:"white",rightRoofHeight:30.5,leftJoints:["9EahYNQZypYcfg5Yptfmkk"],lx:15.828210447987301,type:"Wall",ly:.3,lz:30.5,roofId:"fpyToZsG3vjeXnpTZcmiFA",textureType:"No Wall Texture",id:"w8ioBPnjpEK1kCVPvdyXSf",leftRoofHeight:30.5,locked:!1,structureWidth:.1,selected:!1,eavesLength:.2,rightPoint:[7.708914020277023,-17.822659264624257,.1],normal:[0,0,1],rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",fill:"Full",parentId:"tznSPCJVyf8hCJAPieocy5",cx:-.20518449795257118,cy:-17.83296170121396,leftPoint:[-8.119283016182168,-17.843264137803672,.1],cz:0,wallStructure:"Default",relativeAngle:.0013017819712943387,opacity:.5,unfilledHeight:.5,leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30.5,rightTopPartialHeight:30.5,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1}},{color:"#ffffff",thickness:.1,ridgeRightPoint:[.5,1],ridgeLeftPoint:[-.5,1],lx:0,type:"Roof",ly:0,lz:0,wallsId:["w8ioBPnjpEK1kCVPvdyXSf"],overhang:.2,textureType:"No Roof Texture",id:"fpyToZsG3vjeXnpTZcmiFA",locked:!1,selected:!1,ceiling:!1,normal:[0,0,1],roofStructure:"Default",roofType:"Gable",rotation:[0,0,-3.5724187112076797],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"tznSPCJVyf8hCJAPieocy5",cx:0,cy:0,cz:0,rise:0},{normal:[0,0,1],solarPowerTower:{},color:"#ffffff",rotation:[0,0,-3.5724187112076797],solarAbsorberPipe:{},solarUpdraftTower:{},type:"Foundation",lx:16.502964739720774,ly:43.56257699656065,lz:.1,parentId:"Ground",cx:-22.491532647648288,cy:-65.93307419737648,cz:.05,id:"tznSPCJVyf8hCJAPieocy5",locked:!1,selected:!1},{color:"#73D8FF",lx:.1263566722575591,type:"Window",tint:"#73D8FF",ly:.3,lineWidth:.2,lz:.08196721311475416,windowType:"Default",showLabel:!1,mullionSpacing:2,archHeight:1,id:"gnr8cDLm7R39CGUTTPWRkH",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",lineColor:"black",parentId:"o5TUM6k7TUF5pcoV1nrf3P",mullionColor:"white",mullion:!0,frameWidth:.1,cx:9819886079874965e-32,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"kUvytSevD3UrWB3anozSfo",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},rotation:[0,0,0],foundationId:"tznSPCJVyf8hCJAPieocy5",parentId:"w8ioBPnjpEK1kCVPvdyXSf",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.031589168064389835,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",lz:.08196721311475416,windowType:"Default",mullionSpacing:2,archHeight:1,id:"865c35tP58MbX185GC2Zp7",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showRight:!1,showLeft:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"9EahYNQZypYcfg5Yptfmkk",mullionColor:"white",mullion:!0,frameWidth:.1,cx:.0006407972856078512,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{color:"#73D8FF",type:"Window",lx:.1263566722575591,ly:.3,tint:"#73D8FF",windowType:"Default",lz:.08196721311475416,mullionSpacing:2,archHeight:1,id:"gyCeohTiRvRXSouuRxL1uy",locked:!1,selected:!1,normal:[0,0,1],mullionWidth:.06,shutter:{color:"grey",width:.5,showLeft:!1,showRight:!1},foundationId:"tznSPCJVyf8hCJAPieocy5",rotation:[0,0,0],parentId:"jbmSv4P2XCW2pGLUzPPdFg",mullionColor:"white",mullion:!0,frameWidth:.1,cx:-.030627972135977996,cy:.1,cz:.319672131147541,opacity:0,frame:!1},{normal:[0,1,0],rotation:[0,0,-2.001622384412783],lx:.494,type:"Human",ly:.494,lz:1.72,parentId:"6hcF56jh7q4LNRLycVpoD9",cx:.6155237368087336,cy:-13.667323728312198,cz:.05000000074505806,name:"Juro",id:"r66dpfqZ6etskNEDBj8h8E",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],lx:1.7,type:"Human",ly:1.7,lz:1.68,parentId:"Ground",cx:-48.35423161189035,cy:-82.28031356342372,cz:0,name:"Joan",id:"w1GaaLPU8uoPVtySP11CNB",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,0],type:"Human",lx:1.8,ly:1.8,lz:1.75,parentId:"Ground",cx:-48.773755635528666,cy:-86.19055704219848,cz:0,name:"Joel",id:"hqm4qYUeBiCnkFo8f8K4q3",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.42,ly:.42,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.8,cx:5.159796472851735,cy:-2.2075746120889566,cz:1.5,name:"Jack",id:"57uEnUU7dx25CfhheTRdsb",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.6,type:"Human",ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.88,cx:9.25006190829934,cy:6.451678309086552,cz:1.5,name:"Joseph",id:"7pCFcU7FA5XV2M6Yw2pNPJ",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.6,ly:.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",lz:1.65,cx:-.4372003189144742,cy:8.19573281933403,cz:1.5,name:"Jeff",id:"dJi9Dc4GEuLq5NjFPvHqU9",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],type:"Human",lx:.695,ly:.695,lz:1.6,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:-8.6401936835747,cy:.41444427778789716,cz:1.5,name:"Jena",id:"9EHiXxpVGajiXXrSM5hPga",locked:!1,selected:!1},{normal:[0,1,0],rotation:[0,0,-.4308260576178866],lx:.43,type:"Human",ly:.43,lz:1.5,parentId:"mnvyeK5fN3hX9sLjvEKUuf",cx:.007552993564822197,cy:-8.796578961750832,cz:1.5,name:"Jess",id:"7yXJFHLZH8aLmjnxsCJfei",locked:!1,selected:!1}],s3n=117,c3n={yearlyLightSensorPanelY:0,weatherPanelY:0,panCenter2D:[-29.13539419159263,-62.86427427096306,-621339264290157e-19],showWeatherPanel:!1,showYearlyPvYieldPanel:!1,showSiteInfoPanel:!0,weatherPanelX:0,dailyPvYieldPanelY:8,autoRotate:!1,heliodonPanelY:-33,showGroundPanel:!1,dailyPvYieldPanelRect:{width:600,x:0,y:0,height:400},orthographic:!1,heliodon:!1,groundImage:!1,mapTilt:0,showInstructionPanel:!0,groundPanelX:0,cameraPosition2D:[-29.13539419159263,-62.865274648456655,150],enableRotate:!0,cameraPosition:[13.301447909114042,-125.69517498333751,12.672024693594299],mapWeatherStations:!1,waterSurface:!1,mapZoom:17,heliodonPanelX:-1175,groundPanelY:0,shadowEnabled:!0,dailyPvYieldPanelX:-3,panCenter:[-18.660063442267198,-59.376354618489714,6.942819287427842],showMapPanel:!1,showDailyPvYieldPanel:!1,groundColor:"#68ccca",showHeliodonPanel:!1,yearlyPvYieldPanelY:16,mapType:"hybrid",yearlyPvYieldPanelX:-25,cameraZoom:5.839780486775448,yearlyLightSensorPanelX:0,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showPvDailyYieldPanel:!0,axes:!1,showDesignInfoPanel:!0,dailyLightSensorPanelX:-240,dailyLightSensorPanelY:232,theme:"Grassland",groundImageType:"hybrid"},u3n={yearlyHeliostatIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},d3n=1,f3n={poleSpacing:3,rowAxis:"Zonal",tiltAngle:0,rowsPerRack:1,pvModelName:"CS6X-355P-FG",poleHeight:1,orientation:"Landscape",interRowSpacing:2},h3n={rowAxis:"Zonal",orientation:"Landscape",minimumInterRowSpacing:2,poleHeight:1,poleSpacing:5,minimumRowsPerRack:1,maximumTiltAngle:1.5707963267948966,pvModelName:"CS6X-355P-FG",maximumRowsPerRack:6,maximumInterRowSpacing:10,minimumTiltAngle:-1.5707963267948966},p3n={geneticAlgorithmParams:{populationSize:20,crossoverRate:.5,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,selectionRate:.5,objectiveFunctionType:1,maximumGenerations:5,convergenceThreshold:.01,mutationRate:.1,localSearchRadius:.1},particleSwarmOptimizationParams:{vmax:.01,inertia:.8,objectiveFunctionType:1,cognitiveCoefficient:.1,problem:"Solar Panel Tilt Angle",socialCoefficient:.1,localSearchRadius:.1,searchMethod:1,maximumSteps:5,convergenceThreshold:.01,swarmSize:20}},g3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},m3n="Tourist Attraction",y3n="The Architect",A3n="Mayan Pyramid",w3n="El templo de Kukulcán,1​ es un edificio prehispánico ubicado en la península de Yucatán, en el actual estado del mismo nombre.",v3n=null,x3n=[],b3n={docid:e3n,time:t3n,timestamp:n3n,userid:o3n,owner:i3n,email:r3n,world:a3n,elements:l3n,sceneRadius:s3n,view:c3n,graphState:u3n,evolutionMethod:d3n,solarPanelArrayLayoutParams:f3n,solarPanelArrayLayoutConstraints:h3n,evolutionaryAlgorithmState:p3n,economicsParams:g3n,modelType:m3n,modelAuthor:y3n,modelLabel:A3n,modelDescription:w3n,designProjectType:v3n,notes:x3n},S3n="h2AeuzPtvyccb7bEaZpofi",T3n="02/04/2023 01:10 pm",P3n=1675534213625,C3n="QWecNcxhyvP6j6sBN11hBsfZDau1",R3n=null,H3n=null,M3n={solarRadiationHeatmapGridCellSize:5,date:"6/22/2022, 10:00:00 AM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Isfahan Province, Esfahan, Enghelab Sq Chahar Bagh e Abbasi St، JMV8+QX8, Iran",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:32.64464465095667,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.25,name:"default",longitude:51.66765981904907},I3n=[{type:"Foundation",cx:-24.087406912469724,cy:-.9943329859958538,cz:.3,lx:309.0660757142105,ly:148.37785658395512,lz:.6,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1rAGH78b5nt7cXyGU9vNRV",selected:!1,color:"#4d4d4d",textureType:"Foundation Texture #5",locked:!0},{type:"Wall",cx:153.13833064830163,cy:4.807832977070984,cz:0,lx:15.894482628786152,ly:1,lz:4,relativeAngle:1.6141972072488455,leftPoint:[153.4831396456019,-3.131924655538281,.6],rightPoint:[152.79352165100136,12.747590609680257,.6],leftJoints:["fD1UBEgXL6iTqqgsj9fhry"],rightJoints:["f2zX88pBygszntq4fuFUT5"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"m87y7C5QvZwH9XgiqzyDsg",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-152.5559344954129,cy:3.9555923893088227,cz:0,lx:14.231488793574167,ly:1,lz:4,relativeAngle:4.801490183460943,leftPoint:[-153.1891172963546,11.043109434155966,.6],rightPoint:[-151.92275169447117,-3.13192465553829,.6],leftJoints:["f2zX88pBygszntq4fuFUT5"],rightJoints:["fD1UBEgXL6iTqqgsj9fhry"],textureType:"No Wall Texture",color:"#dd8c55",wallStructure:"Default",studSpacing:2,studWidth:.1,studColor:"white",opacity:3,selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"pV4i6Rv9Vpys7aXEi9nnh4",structureSpacing:2,structureWidth:.1,structureColor:"white",roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kjpqeFXZhizkQQr5Hivm1x",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xihM6sKHtJ56MCcntR5Pn3",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aeHoYndySbPsgXVjUCfHsH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYyU8ieYT8rZoSrLt7N5sQ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5g3FeTPUp5Q7UE3xvhA98P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rHjZTUsU1eafkXFHxU1PLK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7kG8zf5fGdctVHWVtR3gZG",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pyxgv4MkDKunPXUdWXGkeK",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dVAeQcMiSZmruJYZ1yoay8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2xN7obuKRCafLdBciyJcgU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hsVmzqgjRUqWu9pUUuohXS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"82FTBR7MFe9VjFyizNpuHe",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyR4AwdTWGGfWcPMw3q9yS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eUKQkGt2QkcKAQkFbyBd1z",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pXoTt6VKWQ38KsJoNipigS",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"h5HEkcguEMJKHHE9CTcHyU",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3N4zt2BmanxLWvDVeMWxws",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nU4dTNk98whZDM1D6iF1wH",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wn6JZdPWKb4ULL75tPNQNf",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vvkCvyRoLDxmsRByGmpBzy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2VBpzGbfV2mQWBqheobZU8",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6dAY6WFsTirRsXExVou2P4",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rhZQSKVeSziHJnsN1wJJXZ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iRL8ygheAyqnavA7YkPNUy",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iDwqS1ACo3nwFTgu3ZUn9P",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cW4eyEo2JKwejeyCd9U7qY",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Qe1yDDX9nFGs5zfDrsrCP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"miecWuKrFNJbG2jUsMkGdJ",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1MQhMoVtyd649yMzeGnhiz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"m8pkHXYqCXHkqKvPBAZwqz",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wNkx21Xrdez1MeTxYPd4yM",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oUMCjti1nCovRzd2744TQ9",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"txUufVQNmXshJWF6xqpWhP",parentId:"f2zX88pBygszntq4fuFUT5",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-.19779782267661816,cy:11.895350021918105,cz:2.268765007024547,lx:305.9873863303283,ly:1,lz:4,leftJoints:["m87y7C5QvZwH9XgiqzyDsg"],rightJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],leftPoint:[152.79352165100153,12.747590609680286,.6],rightPoint:[-153.1891172963546,11.043109434155966,.6],relativeAngle:3.1471631119377927,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"f2zX88pBygszntq4fuFUT5",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.45022052258609563,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"saRb1kM5vD2B9Hp74JLvqp",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.42320729123092926,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2bWU8rtwvXjxo9aXzuerLB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3961940598757629,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eYnezXtfnko5GcAor3MWu7",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3691808285205965,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tZNzJ3NpgTVHKjGhXk5ij",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.34216759716543016,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qYBjBMG217J5xiN31k1FVh",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3151543658102638,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2ZPzdru18Dd9wbgc6tF8hm",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2881411344550974,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4QFUZqYWR8J1sv6MW3wHQR",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.26112790309993106,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vxc3EcwAgcYTpUmxZr3Nzt",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23411467174476475,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oVh5ccuC7bRVGc8GT2nG1w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20710144038959846,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"syZxWKWMgKJbf9AQLw2DbK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18008820903443218,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kbpuGEAsfRXc3aBZ7yLy35",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1530749776792659,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qHCQ6aJqKx2bg8CTfP6ksL",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.1260617463240996,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5yhhQGggQJLxrwyLMTZk76",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09904851496893328,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jbVZKYLq5UCNS54M7MLP7w",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07203528361376696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dMS3cANbFbUy72GtNg5nTX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.045022052258600634,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dQ1L5CXyaRnqFdZmdJ23Mx",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.01800882090343431,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJzaRsWSkzzXGUbxhM8Tkd",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.009004410451732012,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9CdAzuCiQLeLt1Rpfn5FGg",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.036017641806898336,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iw4U38q8hoNmj83CegVdj8",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06303087316206465,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1S3q9zUqhnXwjv568RB51K",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09004410451723098,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vF6KJJ1x1WYqaYRYVSjoYX",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1170573358723973,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fT1RMXQH4BRBFk8RzzEyqB",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.1440705672275636,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uRmEZhdLDsYdKddFP5mnAZ",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17108379858272987,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qdquxadFLYruszob71gLbV",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19809702993789616,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8n95WzWt7D23dwMcn7s35V",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22511026129306244,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oPjFrXfiZkaoXxsWWdGBLk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25212349264822875,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vFx9mhnTHbSWtMBawETWGK",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2791367240033951,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"npXN3hv9x7TnSdu9mcCLRN",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3061499553585615,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5sdwP9myEG7quLwU7Xrz47",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.33316318671372785,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSXDfhhT2GuCgaELbHNqdw",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3601764180688942,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rz4GUsef9nqJhXFRmdEzzD",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3871896494240606,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4bjaEWSRz3V8CCdF71xaCz",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41420288077922696,cy:.1,cz:-.14999999999999986,lx:.018008820903444214,ly:1,lz:.6999999999999997,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.5999999999999996,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hmfdn7ZwhGKfmSizXsFFVk",parentId:"fD1UBEgXL6iTqqgsj9fhry",foundationId:"1rAGH78b5nt7cXyGU9vNRV",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:.7801939755653722,cy:-3.1319246555382825,cz:2.268765007024547,lx:305.40589134007274,ly:1,lz:4,leftJoints:["pV4i6Rv9Vpys7aXEi9nnh4"],rightJoints:["m87y7C5QvZwH9XgiqzyDsg"],leftPoint:[-151.92275169447117,-3.131924655538283,.6],rightPoint:[153.4831396456019,-3.131924655538281,.6],relativeAngle:-26173711784754543e-33,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.69063753117418],id:"fD1UBEgXL6iTqqgsj9fhry",parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:0,roofId:"16a9tkDUC6i3u2A8viWNQi",leftRoofHeight:4,rightRoofHeight:4,selected:!1,locked:!0,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Pyramid",roofStructure:"Default",wallsId:["f2zX88pBygszntq4fuFUT5","pV4i6Rv9Vpys7aXEi9nnh4","fD1UBEgXL6iTqqgsj9fhry","m87y7C5QvZwH9XgiqzyDsg"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"16a9tkDUC6i3u2A8viWNQi",locked:!0,rise:0,ceiling:!1},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["9NUyotcWKkPg4jzRyBrCwn"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"oQZ4yGirBmQVFQ9YDrVVvp",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["9NUyotcWKkPg4jzRyBrCwn"],rightJoints:["2EQtF2szHM14rxHpJcmfUo"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"wUpyWMY54tun2oXCsJoZhL",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["oQZ4yGirBmQVFQ9YDrVVvp"],rightJoints:["wUpyWMY54tun2oXCsJoZhL"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"9NUyotcWKkPg4jzRyBrCwn",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["wUpyWMY54tun2oXCsJoZhL"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],id:"2EQtF2szHM14rxHpJcmfUo",parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"4UKGcXwxZXJkjRB5gCcWoM",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"4UKGcXwxZXJkjRB5gCcWoM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"dYN3JG9zLXMcmq6cqLG4jC",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["9NUyotcWKkPg4jzRyBrCwn","wUpyWMY54tun2oXCsJoZhL","2EQtF2szHM14rxHpJcmfUo","oQZ4yGirBmQVFQ9YDrVVvp"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-13.437660062457336,cy:-3.021202416355237,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,-1.6859880574265222],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dYN3JG9zLXMcmq6cqLG4jC",selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:0,normal:[0,0,1],rotation:[0,0,0],parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",id:"8c427syBcfkzhApjRu7KiG",locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jdaEWMvReo1Vung8tjzaSx",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3B48xu3sHcEjL7mhoaWwHU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5U7EeBcgVpiGapLTZWovwM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jSiSuprvH81cqvi89vBqpb",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dchxG8ZAQ9uRfitqDkaXnL",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rd3v273iMAtFt31eXrFRnG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJWwv1LMiSQJXxdLNgDCWR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tEUzEwitdzqR62Z2hEX3qr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"794wiotJYK86u4ytktDe21",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5tf1cYsGZGuXZLvqtY3Wus",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6wFEvk3pLRAy6sCQxQ4sPQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vknekJf36fzszYh1h83wqd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x2iBhPct6yCXXun6vuDJJS",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rgbja9QpX2jJYhsCViY2yY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xyNKQPQWThs67xeiTbWtLY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gbTmncsXqQVmz8SeKbxv3d",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9PuDkFfgSLMfPq51XevFh7",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mJGKG5YpTDDj5mzeHuFzCm",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8z2YkWvq4poYzmwNCG45JY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"emAZ74KFMWSta8KaMduCkr",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6Ds8xyAoQtsih1Pj2eDZwi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u45SNvprQYGANCPSwBGzLs",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"htZhURdHCCyJ33tqDmC1gT",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wZwEP2ER3Q9obYa3kXhZ7h",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5zNfcKQCEZvh8nJP9dr2G9",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pBLFgbZxEBNSEtSSjunwwQ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qkAJcZyKCcJsGREUhkQ78i",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bY9FdJE4SUzDC35a2K1Tzi",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"chLpcXJGwNdNfMozdu7hKg",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3v2BjJSxDF6WpC2DEP42PU",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fqLN8nXoQdJLLJXy5Gwq4f",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"21VBTu8WAdnNwf3x8Zhsuu",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ioXeHrGyfepr3g94p8JLrw",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cy797bHB115wX1gZRH3swM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"avv4wEy6iPL1CGQoPdSWU5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJbmZ64QMaPM9EGMmB984H",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dWfjvmrxqx18k2RKjfdiie",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nefVVFfk24vVE2WLuZReQ4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qLr8HKMWcfRHcfPkHfGPHC",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oy13AUfgb8jcwnMbGNC7a4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4oRAMSYUJG1S9YeFQFNThR",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0026100105407367564,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gSmzU3p7S4nLpThNjjLpNP",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.005872523716636283,cy:.1,cz:.215,lx:.004567518446267809,ly:1,lz:.41000000000000003,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jVtZiADJWYhT3XDB4vjJJ8",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6CmGH8a9xKQ4kNuHGUMAw4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.02528447711330811,cy:.1,cz:.205,lx:.005546272399057335,ly:1,lz:.39,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"u38CDVSjPJwJgHnw2Y6FBF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.03327763439428638,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tq3gcRfDVJqb7T6MyBKK2T",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dSNi5FN3jitEZpttkJCZah",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"skDmbyQ9ChWHwFXt4vbpdF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1TSBXLmviiwznmkhKxY4F2",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vYMMSTxDfPvirbGiiE2UJZ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rRLUQpqQSTeubCr79bjn8m",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gcKRcHdNpX9Vtmc6HncwGF",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeGCBcEftrMH9jXAYtFrCa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ajECxgC3C6oXv4ciM75edJ",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"g62oxEPuj3wd39vv4EYTgA",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4k8GPkrBb12613smqqyShp",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vBpUF9pHrUiuWZ5eVGTu5p",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hgdBdvabmf6Pd5AVy88Leh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mkgCAdDKF5LyXVZDpVipxK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"352sJZ7Jvw7FRWDNhR3m19",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hTHrpxyWuGhz1duVVa441z",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"icykR9dGdiRBF5wm2ixAXY",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hHkoZq2YYvcBW78r5hZFt",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sezgWua2c8TT2rYs9Vc9P3",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wdyWjdXf8jBzBkXxJJiXk1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wxGSNmdFgrPkRZEQsr8fWa",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kQNmZsKiKnFT7Utyn9jZgh",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bANrbxGiy8tnQaAwz7Zyf4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uLfixFD9ZurMuJqq1YJ517",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6ZXh3jYZhqjps3nTnn4kmX",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6tnSUYG5FnRK1A46sJBg1v",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r6eyDw9sk8QzcdPZ55YqR4",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dcBrioFfV3SWYJEue4QEz5",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qFXxdtGrRR5HpmzE8PG7T1",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"53ERZmvVXVHTHZKdd5jDMd",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d4fFAm5371MeUPa3wg3bvM",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6c7LVC3vg4uwfj3z9fdtvK",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qUfYKqrHB4CrQ3N1sLtFtG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2m5mJjvys8EXj2Dtn5HR6L",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nTo2Ea7ixx2Bx6c49MgE5r",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:152.31464905205874,cy:-1.0704041763225653,cz:0,lx:4.732830401162478,ly:1,lz:10,leftJoints:[],rightJoints:["g3He9XTWe5maiTYrqciaG9"],leftPoint:[152.6600543110326,-3.411475749046293,.05688696619531554],rightPoint:[151.9692437930849,1.2706673964011728,.05688696619531554],relativeAngle:1.7172810304491228,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"tTQGq2VqjKpQoZgpEaARbs",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-153.90823853352632,cy:-1.321690966858462,cz:0,lx:4.36784096744436,ly:1,lz:10,leftJoints:["g3He9XTWe5maiTYrqciaG9"],rightJoints:["xdCET3deCXRuddujsYebQJ"],leftPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],rightPoint:[-153.27396079991317,-3.4114757490462893,.05688696619531554],relativeAngle:-1.2761193330736746,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"a3Vx8CkX7Gvm3xygEW6suk",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-1.2866362370273055,cy:1.0193806058652697,cz:2.268765007024547,lx:306.5121720836238,ly:1,lz:10,leftJoints:["tTQGq2VqjKpQoZgpEaARbs"],rightJoints:["a3Vx8CkX7Gvm3xygEW6suk"],leftPoint:[151.96924379308496,1.2706673964011799,.05688696619531554],rightPoint:[-154.54251626713952,.7680938153293653,.05688696619531554],relativeAngle:-3.13995299992499,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"g3He9XTWe5maiTYrqciaG9",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Default",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Window",cx:-.0016312565879556264,cy:.1,cz:-.25,lx:.9722289264215535,ly:1,lz:.4,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4TrowgoNHHNXYC8KtY1dtx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4547943367220286,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iof3BVn3KFMX9V6rxX61FU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4440280432415217,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oeVswn1FhJvx1f2JWvuaZH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4332617497610147,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4ZTszhixEz84xXerw82Uo3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4224954562805078,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1sd89pPPKeQ9FqjTEs4sZF",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4117291628000008,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8s1DLvp5TX82whCzVfdUy4",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.4009628693194939,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oXy9DWPm3cMawuws3jF8Dw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3901965758389869,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ggUJnAELkscnr8wCY2e7Xs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.37943028235848,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8K3TMP2Tgt2RSSJuVqdR4j",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.368663988877973,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2S8f7FahdEW7w7JhfCr366",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3578976953974661,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hhTDcot7DdMSFULh2sdVeZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3471314019169591,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2pZvpiD5SsELthkKt5tJ3m",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3363651084364522,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtThbnZ5JrBKiRkEvfRHrG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3255988149559452,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fGfPoazDUrc1DSJzSnMpw3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3148325214754383,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"x3RhjZSxkvWSRpw5djcpHZ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.3040662279949313,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oLkzHPWGqiFTFWraAnDDgS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2932999345144244,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tjR9qDZMaGrJrWqAX3GTdN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2825336410339174,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2mkdDg7a8yURhWsybphBX8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2717673475534105,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shD7ir3GFfbNG9UMMU6iwe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2610010540729035,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"afuEQk9zuenrJ8npwWbHHS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.2502347605923966,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bUcm7SdZ4EQSXBzhVjLFu8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.23946846711188963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"umh8sJsWFoUPrkMgMwXLJn",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.22870217363138268,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ervRrrNZYFcCz6shRwYQAk",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.21793588015087573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aRMEj198niGbhwRDVQV2Km",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.20716958667036878,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"25sJCfiia7r85LY9nqQicw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.19640329318986183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"73rwFbBokSJRAU9Dv14LUw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.18563699970935488,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9DpFamDpKZuxKGTKjNyYgL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.17487070622884793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tMcjE28A6HsCisTEqVEqDz",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.16410441274834098,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5prc1TM3iJvnq2rRv3GjGw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.15333811926783403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8hZc1y1J1uuiUzd7bn2efy",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.14257182578732708,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"btAxXppEu9xUvRTDmyL6e9",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.13180553230682013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nk7LwxQwWjfkFkTpnqaBzC",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.12103923882631318,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xqm1C2kjuX1xr87NJG13D1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.11027294534580623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tKZW8EpQP3VnR9rHQDUsi7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.09950665186529928,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cs2PWb768A9N78tdDnfCJe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.08874035838479233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aEp3n5z6CHtBUhs4tf1qQE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.07797406490428538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9yP2H7BonttfM9g6obUAWw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.06720777142377843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"mzzB5cTKaPu2GCcZSHNfoN",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.05644147794327148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rLsbraJPBqJvE4764xSEve",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.04567518446276453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vKVhtpqyoaaHZW5MyN6eTB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.03490889098225758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jqdKUxQoqH8xWJQ6WhDGVQ",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.024142597501750636,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7W9Ex51ZfXMaF32tnfWjoG",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.013376304021243696,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cHwdqwmBgx8A17cDpZPPbh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:-.0044043927874840355,cy:.1,cz:.21999999999999997,lx:.003588764493510067,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eJYiY4DxK2CARyVadVVJCx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.004567518446267871,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Q9L4KdsCCfLnQFBJuanXE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.01533381192677481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3cRXM4bonZuYd9TnGSQqHH",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.026100105407281752,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"97h3j7H6Qh9e6EQaWwwUZs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.034419514005859485,cy:.1,cz:.21999999999999997,lx:.004893769763858407,ly:1,lz:.42000000000000004,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1tjDay5JXZwfoH1FRqotv8",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.04404392787479333,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"r2NNGxf63r8FosPwJcTE9W",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.05481022135530028,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oAWmRTRvbzDTo9C3MrVKuU",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.06557651483580723,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nxEpnZTwyQv5kRbmcUQT1a",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.07634280831631418,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cxmmFejGDyUJgTvayWAjdb",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.08710910179682113,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rMHepSTZZvbuQwxezFKpdj",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.09787539527732808,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eaxDcJH54ULucXspGZbKty",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.10864168875783503,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iCSFe1wxX4XSin8cB68JeL",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.11940798223834198,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"kgoq3WLxjVdPRdaxyzqFVA",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.13017427571884893,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tBR5PErXE7yvYAGPgMqH1D",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.14094056919935588,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iyQuNv6jvRv3GvuS8UwxUv",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.15170686267986283,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xmqsdiGpkMdxiVjXTPaJy1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.16247315616036978,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"k5yQE7AumptJLR5Hzwy992",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.17323944964087673,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pB3LcGmgHBTuT6LcAoCTvg",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.18400574312138368,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"n43Pd6jLDz3CYkTbCV3gjh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.19477203660189063,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"trG58x8VeFSbKFAEHY4zJs",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.20553833008239758,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pTcw3Ur3TBnoB59qvLnZju",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.21630462356290453,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cfRJh7295CGWwCnbeA6tL2",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.22707091704341148,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dY8S4UaNAqP39TMFMEg5vp",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.23783721052391843,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iXENQGue8HpDQxMxGep9B7",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.24860350400442538,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wcpBvnsfPogwewn1nqjhP1",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.25936979748493233,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o9i61J2BnA3F192C23MrBE",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2701360909654393,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"491xMjyUYSkSxP8QumC9Ad",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.28090238444594623,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pSWKk8pafQidxC7vXHaMCo",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.2916686779264532,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iTAFmPC5oX6jsetEFccxke",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.30243497140696013,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"iz9ye9NbXspk9eitQpzyBB",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3132012648874671,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"gNyXuR9rKr3itGofcKsjEe",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.32396755836797403,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"qtDo91vL39Swf6jH2eCN33",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.334733851848481,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jPqnNwwcUAYNf7z6neEUMx",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.34550014532898793,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bEUtkBUPaeHwYUvidNh7L3",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3562664388094949,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"ea6qeRQ1FZ5mWCfujb9TRw",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.36703273229000183,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"wWpVZQ8VDFJormPKS8z6GS",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3777990257705088,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sxCmsmibuQs3hkEUB7yL2z",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.38856531925101573,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hg7q1GBM4nGGX6iEWCAYQY",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.3993316127315227,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tYNYJRyLtFZMp118iLaQYh",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Wall",cx:-1.1369830444213562,cy:-3.2057378745231233,cz:2.268765007024547,lx:304.27424431214394,ly:1,lz:10,leftJoints:["a3Vx8CkX7Gvm3xygEW6suk"],rightJoints:[],leftPoint:[-153.2739660888427,-3.4114757490462466,0],rightPoint:[151,-3,0],relativeAngle:.0013523191073632186,textureType:"No Wall Texture",color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],id:"xdCET3deCXRuddujsYebQJ",parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",wallStructure:"Stud",structureSpacing:1e3,structureColor:"white",structureWidth:.1,opacity:0,roofId:"9giBMxpAESvroYM29nf3G8",leftRoofHeight:10,rightRoofHeight:10,selected:!1,locked:!0,fill:"Full",eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{id:"9giBMxpAESvroYM29nf3G8",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,color:"#dd8c55",normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"5wyrw4eyiKGEAMo62i1ana",foundationId:"5wyrw4eyiKGEAMo62i1ana",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["g3He9XTWe5maiTYrqciaG9","a3Vx8CkX7Gvm3xygEW6suk","xdCET3deCXRuddujsYebQJ","tTQGq2VqjKpQoZgpEaARbs"],selected:!1,locked:!0,rise:0,ceiling:!1},{type:"Foundation",cx:-26.222816598442076,cy:-.9292686291105667,cz:.05,lx:333.3539193128119,ly:8.472793647667807,lz:.05688696619531554,normal:[0,0,1],rotation:[0,0,1.4494959437812907],parentId:"Ground",color:"#ffffff",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"5wyrw4eyiKGEAMo62i1ana",selected:!1,locked:!0},{type:"Cuboid",cx:-43.176009447245605,cy:-162.89911470396555,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",selected:!1,id:"u7iJ275LF7PsLiM2u1dVBQ",locked:!0},{type:"Cuboid",cx:-2.8348275713997992,cy:161.33575348972343,cz:2.4,lx:33.24079414212538,ly:153.39358926336755,lz:4.8,color:"gray",faceColors:["gray","gray","gray","gray","#999999","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.690700446406907],parentId:"Ground",id:"wyK5WSj9bXtNuRAF7XgETz",selected:!1,locked:!0},{type:"Human",name:"Jack",cx:-13.867776626070096,cy:16.44454221560224,cz:2.4,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"u7iJ275LF7PsLiM2u1dVBQ",id:"3TR4V58Snnnj9e7TpcxNer",selected:!1,locked:!0,ly:.42},{type:"Human",name:"Jade",cx:4.361328445266435,cy:5.283856360212143,cz:2.4,lx:.48,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"wyK5WSj9bXtNuRAF7XgETz",id:"432YUQhSdAnxi3UMs4gV6j",selected:!1,locked:!0,ly:.48},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.21759070764863064,cy:.09383633281654624,cz:.500000019868218,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"nA8YNqGcgNn6n9w5X3BpF9",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.16557346067688847,cy:.09106998636897809,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"wZS6seNSEkCgvazx2SPZ5c",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.11082921515041991,cy:.08928793716557112,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"x3C87W7drRbnUHfAYYiZ6Y",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.05774324107965007,cy:.0913178646013816,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"u6wAPuen9vF2Z3r6jkt6uM",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:.005068761768732548,cy:.08874894608300367,cz:.5000000198682152,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rL6iysZ9LkBhdnBmy78QpW",selected:!1,locked:!0},{type:"Light",decay:2,distance:5,intensity:10,color:"#ffff99",cx:-.0491156001466331,cy:.09437002382165598,cz:.500000019868227,lx:.16,ly:.16,lz:.08,showLabel:!1,normal:[0,0,1],rotation:[0,0,-1.69063753117418],parentId:"1rAGH78b5nt7cXyGU9vNRV",foundationId:"1rAGH78b5nt7cXyGU9vNRV",id:"rEnSYjbkzp79trJtnUa7Gy",selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pR2ZvfPm33xd32n52fERDG",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"d3taAEWrsfg9pDkNriT6Bf",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.41009790621202963,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jDcqi15keuTdq7ExRrL3UP",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:.4208641996925366,cy:.1,cz:.2249999999999981,lx:.007177528987004627,ly:1,lz:.4299999999999963,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Arched",archHeight:1.09999999999998,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q63v3RoQgW3e2HtK8UQ7Hm",parentId:"g3He9XTWe5maiTYrqciaG9",foundationId:"5wyrw4eyiKGEAMo62i1ana",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0},{type:"Window",cx:4636310074930709e-32,cy:.1,cz:-.275,lx:.9689664132456421,ly:1,lz:.45,mullion:!1,mullionWidth:.06,mullionSpacing:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"rkSn9S8cDboGt5qcUBcvye",parentId:"9NUyotcWKkPg4jzRyBrCwn",foundationId:"dYN3JG9zLXMcmq6cqLG4jC",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,locked:!0}],z3n={dailyPvYieldPanelX:0,mapPanelY:58,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[110.96343175001607,66.9554559161036,720622586878184e-19],yearlyHeliostatYieldPanelY:0,mapPanelX:197,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[110.96343175001607,66.95530590939957,150],theme:"Dune",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:17,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.806523424789926,-160.05159040218686,14.727641870329451],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:3.3216676797521423,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#fb9e00",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-32.60447516785695,-115.97404775152154,.3818596975980578],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:2.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,dailyPvYieldPanelRect:{x:-4,y:10,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},dailyLightSensorPanelRect:{x:-1254,y:272,width:600,height:360},weatherPanelRect:{x:820,y:40,width:500,height:500},waterSurface:!1},D3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},E3n=1,k3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},F3n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},L3n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},W3n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},N3n=[],U3n={docid:S3n,time:T3n,timestamp:P3n,userid:C3n,owner:R3n,email:H3n,world:M3n,elements:I3n,view:z3n,graphState:D3n,evolutionMethod:E3n,solarPanelArrayLayoutParams:k3n,solarPanelArrayLayoutConstraints:F3n,evolutionaryAlgorithmState:L3n,economicsParams:W3n,notes:N3n},B3n="9ZNtij6epEbjFerL3Fki8V",j3n="04/30/2023 08:14 pm",Y3n=1682900089813,O3n="QWecNcxhyvP6j6sBN11hBsfZDau1",_3n=null,V3n=null,G3n={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,countryCode:"US",airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},X3n=[{type:"Cuboid",cx:-.22430639550810128,cy:8.947133751823877,cz:2.401107446167214,lx:18.902326348374032,ly:5.3294214620188916,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"m4D9SbEpcsZfFRNzvJTjS5"},{type:"Cuboid",cx:-.26822240735293335,cy:12.103493027949177,cz:2.839687693194611,lx:18.984817336850906,ly:1.06143303468172,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"4w7XR2z9jkkyeZbNjAh92J",selected:!1},{type:"Cuboid",cx:-8.62825556014066,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"8anKqMBmn2tBM3VcbkW2hs",selected:!1},{type:"Cuboid",cx:-5.172802633695682,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"1L5N5fkm9M3irZedu1HDBw",selected:!1},{type:"Cuboid",cx:-1.7173497072507025,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"6oVCjynNCY7nCmhamoZVq2",selected:!1},{type:"Cuboid",cx:1.7381032191942762,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"4zPy6F9nXphm8skTrgCaAW",selected:!1},{type:"Cuboid",cx:5.193556145639255,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"7mvJNbzUwn3qqmU3qEVitc",selected:!1},{type:"Cuboid",cx:8.649009072084235,cy:-.029274931737717114,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"4w7XR2z9jkkyeZbNjAh92J",id:"xiYgkAhrbVK6XVAigVSkom",selected:!1},{type:"Human",name:"Jack",cx:-7.801540397849415,cy:-.26188830739616975,cz:2.4011075496673584,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"m4D9SbEpcsZfFRNzvJTjS5",id:"8NTe1csuN2SaTMvxbNW9Po",selected:!1},{type:"Cuboid",cx:-3.6145240973701718,cy:4.206434223281605,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"8JgsqWqgb4cyYSdEJfGwEm",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"8JgsqWqgb4cyYSdEJfGwEm",id:"xeWGgNUm9y6UhkwbSisvQf",selected:!1},{type:"Human",name:"Jeff",cx:-.06368738371907989,cy:.025775270777415926,cz:.10000000149011612,lx:.6,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"pcfABj9VPodaxzM775mxon",id:"eeqUf4vobbEXfMB8bkzmGM",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"xeWGgNUm9y6UhkwbSisvQf",id:"m74U4PeTm7hTqfFPWnM7zL",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"m74U4PeTm7hTqfFPWnM7zL",id:"wUVjKjRa6pzXyxbMQ53EQM",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"wUVjKjRa6pzXyxbMQ53EQM",id:"d41QGJugD7tGPsTYKGhykU",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"d41QGJugD7tGPsTYKGhykU",id:"ewa94SA8sKbxzN2tE4mB3G",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ewa94SA8sKbxzN2tE4mB3G",id:"arNH7dUPxXi661cPiribL2",selected:!1},{type:"Cuboid",cx:-.008006915988230112,cy:.5202217706157303,cz:.1,lx:1.5160138319764558,ly:1.6177944400962208,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"arNH7dUPxXi661cPiribL2",id:"pcfABj9VPodaxzM775mxon",selected:!1},{type:"Cuboid",cx:.9517371303232212,cy:-.1558343454428396,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"pcfABj9VPodaxzM775mxon",id:"vTqu46XuGVTy2QjutgP1cQ",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"vTqu46XuGVTy2QjutgP1cQ",id:"pp1Ttn4SvkyFUYRPxBPiEQ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pp1Ttn4SvkyFUYRPxBPiEQ",id:"6h2y2J7ocSWWvCr5bRQvWb",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6h2y2J7ocSWWvCr5bRQvWb",id:"kLMxbeRFakpUXe68rAKa3a",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kLMxbeRFakpUXe68rAKa3a",id:"ppPnuhTpcUSHXMcpxdAKgq",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"ppPnuhTpcUSHXMcpxdAKgq",id:"awwHf9YjgCzqZ59uSJXvbZ",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"awwHf9YjgCzqZ59uSJXvbZ",id:"kYGd5athrBpPwKUzyL5ypn",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kYGd5athrBpPwKUzyL5ypn",id:"sNEKpySg3BQ4ga8B5hSXC5",selected:!1},{type:"Cuboid",cx:-17208456881689926e-31,cy:.2071151324090322,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"sNEKpySg3BQ4ga8B5hSXC5",id:"nfewirQxFL3G5mr1LTKJ4Q",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"nfewirQxFL3G5mr1LTKJ4Q",id:"eyi9c5ZCgCKTVNCEoLFZki",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"eyi9c5ZCgCKTVNCEoLFZki",id:"kDnmDYWAfFojmgmSfVFXVN",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"kDnmDYWAfFojmgmSfVFXVN",id:"6dhMXX3yHamC4VtEy1UWDu",selected:!1},{type:"Cuboid",cx:-.019517637205746396,cy:.17398583927153197,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"6dhMXX3yHamC4VtEy1UWDu",id:"cmC7Vzw8ZucHWUzr8YxLFa",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"cmC7Vzw8ZucHWUzr8YxLFa",id:"9Vw4QTauKAg8QvUaB1Euvx",selected:!1},{type:"Cuboid",cx:-.0036484396437304056,cy:.1947553046754603,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"9Vw4QTauKAg8QvUaB1Euvx",id:"pJRDT44anj2xpBPXknWsKw",selected:!1},{type:"Cuboid",cx:-17763568394002505e-31,cy:.21132455056762076,cz:.1,lx:1.5,ly:1,lz:.2,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pJRDT44anj2xpBPXknWsKw",id:"j38YrARLBzo6erzquVrcVn",selected:!1},{type:"Cuboid",cx:-7.012727351573531,cy:-.0019896050851210545,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"q5FjLBSpipgNNVuah4hNZD",selected:!1},{type:"Cuboid",cx:-.01596259528722399,cy:.11880364489857795,cz:.05,lx:31.446492946590087,ly:34.94910259238378,lz:.1,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],stackable:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"azyA8xuS3BmfetgYA2vQmH",enableGroupMaster:!0},{type:"Cuboid",cx:-6.183805959243027,cy:-11.996720725467824,cz:2.839687693194611,lx:7.107385573986727,ly:1.0946519025967618,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"pvKQ8K8ppq2w8qd94NN9Pq",selected:!1},{type:"Cuboid",cx:-2.6545444189389995,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"wdxoPVDdzYeWyAYAZzkhtp",selected:!1},{type:"Cuboid",cx:.8009085075059792,cy:-.012665497780197654,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"5uJL1EV8MPYeihH3UHzRgB",selected:!1},{type:"Cuboid",cx:-6.259452975235207,cy:-8.867472080025085,cz:2.401107446167214,lx:6.926658110091524,ly:5.102845526644927,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"fDXXcdBNXgffF1kQT4tCPn",selected:!1},{type:"Cuboid",cx:6.486972303080908,cy:-.054704878346608754,cz:2.401107446167214,lx:5.332404162083246,ly:12.674961304569683,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"m4EGzGFe1rC8e8u6MQUpW8",selected:!1},{type:"Cuboid",cx:-10.220230850412868,cy:-.014533868827829727,cz:2.839687693194611,lx:25.047849285814525,ly:1.0029193528166587,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"uqhNMV7mprjgQMdGsRF2QT",selected:!1},{type:"Cuboid",cx:-5.596739585658853,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"q16v7h71SJ7yFzoy83DaBL",selected:!1},{type:"Cuboid",cx:-2.141286659213871,cy:.029060914141743187,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"7o2risK8LTapPsnDGartoZ",selected:!1},{type:"Cuboid",cx:1.3141662672311076,cy:.029060914141742975,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eAM1pw2NKdNfF1gW8XpVih",selected:!1},{type:"Cuboid",cx:4.769619193676086,cy:.029060914141742764,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"5cwTU21rFZUwTfiouz5qYe",selected:!1},{type:"Cuboid",cx:8.225072120121062,cy:.029060914141749657,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"biVWnambVhBNmbnHk2Wiy3",selected:!1},{type:"Cuboid",cx:11.680525046566043,cy:.029060914141751222,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"rSaUgAuDRqbJLQtkpJnJtG",selected:!1},{type:"Cuboid",cx:-8.818019962594427,cy:.02514455088051193,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"sMxTWQFpHwxtpEsSHpPYb6",selected:!1},{type:"Cuboid",cx:-2.1412866592138746,cy:.0290609141417434,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"eRXqtRB7se3M8GzKXkxUnh",selected:!1},{type:"Cuboid",cx:-11.724426888881109,cy:.05789686773779312,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"uqhNMV7mprjgQMdGsRF2QT",id:"qLaLq73w7A9ZmbSk84RuGL",selected:!1},{type:"Cuboid",cx:9.685298368001048,cy:.0017243180851487239,cz:2.839687693194611,lx:25.09195057934765,ly:.9927712733989245,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.5707963267948966],stackable:!0,parentId:"Ground",id:"irfb2m2puWv6odJ6Jwp6YM",selected:!1},{type:"Cuboid",cx:-5.618790232425412,cy:-.03080928172797003,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"sEAcnpxYSig5gpY8iTY3Yy",selected:!1},{type:"Cuboid",cx:-2.163337305980429,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6feu78ouLNMPYNKTLRwvPo",selected:!1},{type:"Cuboid",cx:1.2921156204645494,cy:-.030809281727968676,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"6CfBo1pNmDDqH7Mwik6c7H",selected:!1},{type:"Cuboid",cx:4.747568546909526,cy:-.030809281727968887,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"isrB6noYi8NEhJRQG8ietf",selected:!1},{type:"Cuboid",cx:8.203021473354507,cy:-.030809281727954888,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"dReb13hJ9AJKebwakYRY69",selected:!1},{type:"Cuboid",cx:11.658474399799484,cy:-.03080928172794977,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3eH5ZbQj5WHp7QCzbxMKGz",selected:!1},{type:"Cuboid",cx:-8.840070609360978,cy:-.03472564498920451,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"svPiKiErdWciBnFsmqoNKg",selected:!1},{type:"Cuboid",cx:-2.1633373059804324,cy:-.030809281727968464,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"aQ3KbWPYnCPqSao4PhCn2t",selected:!1},{type:"Cuboid",cx:-11.746477535647664,cy:-.001973328131929355,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"irfb2m2puWv6odJ6Jwp6YM",id:"3GXadNYd518rGsiHZnch9r",selected:!1},{type:"Human",name:"Jamelia",cx:-.09265449725102398,cy:-11.357307781644565,cz:.05000000074505806,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"azyA8xuS3BmfetgYA2vQmH",id:"1JVUnXP3EYNgXEV5Mhij7X",selected:!1},{type:"Cuboid",cx:5.911674805614613,cy:-8.780289167948837,cz:2.401107446167214,lx:6.525003449448929,ly:4.771919851852802,lz:4.802214892334428,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"Ground",id:"3LriNZQ2FWUrzgTjH1nQGp",selected:!1},{type:"Cuboid",cx:5.6478649104510295,cy:-12.017787072476704,cz:2.839687693194611,lx:7.128069650550036,ly:1.1096381510921969,lz:5.679375386389222,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-3.141592653589793],stackable:!0,parentId:"Ground",id:"qEtCzg44w2EkGdkHGvTyXg",selected:!1},{type:"Cuboid",cx:-2.609503179079046,cy:.028969325588168324,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"54P6ija5X4jX2T74DKWGuo",selected:!1},{type:"Cuboid",cx:.8459497473659319,cy:.0289693255881679,cz:.5902551357358532,lx:1.7277264632224896,ly:1.0453332555014059,lz:1.1805102714717064,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"qEtCzg44w2EkGdkHGvTyXg",id:"hhTBL9sevUWmS4YHc9UFL2",selected:!1},{type:"Cuboid",cx:5.908936634022203,cy:-.011694823916091224,cz:.25,lx:5.894051564987242,ly:1.0122050011149266,lz:.5,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],stackable:!0,parentId:"pvKQ8K8ppq2w8qd94NN9Pq",id:"79YR8wYSe1eRRM8AXmk2pi",selected:!1}],J3n=22,K3n={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[3.365731258384917,-4.23743050549221,-4359573758408488e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[3.365731258384917,-4.237580512159635,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.8932377675710492,-35.04498361736728,12.916960792715187],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,directLightIntensity:1,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:30.146795390577452,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[0,0,0],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,heatFluxScaleFactor:20,heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showDailyBuildingEnergyPanel:!1,showYearlyBuildingEnergyPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},q3n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},$3n=1,Q3n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Z3n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},e6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},t6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},n6n="Unknown",o6n=null,i6n=null,r6n=null,a6n=[],l6n={docid:B3n,time:j3n,timestamp:Y3n,userid:O3n,owner:_3n,email:V3n,world:G3n,elements:X3n,sceneRadius:J3n,view:K3n,graphState:q3n,evolutionMethod:$3n,solarPanelArrayLayoutParams:Q3n,solarPanelArrayLayoutConstraints:Z3n,evolutionaryAlgorithmState:e6n,economicsParams:t6n,modelType:n6n,modelAuthor:o6n,modelLabel:i6n,modelDescription:r6n,notes:a6n},s6n="ag6x1qqPgPt1AJp2oKoKDF",c6n="02/02/2023 08:27 pm",u6n=1675387657521,d6n="QWecNcxhyvP6j6sBN11hBsfZDau1",f6n=null,h6n=null,p6n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/1/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:1,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},g6n=[{cy:5.105053829358722,normal:[0,0,1],lz:.1,ly:26.301278139506802,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-1.995894425388201,cz:.05,rotation:[0,0,0],lx:38.854999999999976,selected:!1,parentId:"Ground"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.39629808463170607,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.0067633355149074184,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:31.488,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.006869188501244585,cy:-.3009472773624533,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6g9iBRNNW6XDAK9EeP8dnv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0069750414875817505,cy:-.20559647009320042,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ec9UdLR1fMcWkEUdiFjUx2",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007080894473918917,cy:-.11024566282394763,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fQLn5udBainjxVp4XrJMRj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007186747460256083,cy:-.014894855554694773,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p8zx94dUJdEAskSt1PKSVa",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007292600446593249,cy:.08045595171455801,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fc9ACQJk2egBLobC44KRz9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007398453432930415,cy:.1758067589838109,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k1F8Jw2a6YkaS53ggunuWE",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007504306419267581,cy:.2711575662530637,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nfKxjTCwPLzpCqrrT4qwQd",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.007610159405604748,cy:.3665083735223166,cz:.5000000074505806,lx:31.488,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oY8VxSJVvnuAD8XoQBDkh2",selected:!1},{type:"Tree",name:"Spruce",cx:11.921605574611789,cy:-10.909355003026004,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"vfBrsVoh8zPsZKEuooN1Mp",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:-2.2808944253881993,cy:-11.194355003026004,cz:0,lx:4.3193414394375225,lz:10.279562696083193,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"99sYceKNBfrqJSsDa72tLX",selected:!1,showModel:!1},{type:"Human",name:"Joel",cx:-7.8137499999999935,cy:-.3139426000311314,cz:.05000000074505806,lx:1,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"obVZfacvimifAis6oD33mX",selected:!1,observer:!0,ly:.6},{type:"Tree",name:"Spruce",cx:2.374105574611796,cy:-10.956855003026007,cz:0,lx:4.3193414394375225,lz:9.842530786133311,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sCYPQFyb4Ezu7V4j1ddt8r",selected:!1,showModel:!1},{type:"Tree",name:"Spruce",cx:7.029105574611797,cy:-11.004355003026005,cz:0,lx:4.3193414394375225,lz:8.761424913666062,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"jgqeg8YLSBfHZnbBhuouTU",selected:!1,showModel:!1},{type:"Human",name:"June",cx:7.0000631393125845,cy:-.3317126323621302,cz:.05000000074505806,lx:.4,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"ipdiy6H5XdiRMv79uDtrRE",id:"m6FHMxEEVfFM123WLmXjyv",selected:!1,observer:!0,ly:.4},{type:"Foundation",cx:-1.9721444253882048,cy:-14.775412402994869,cz:.05,lx:38.427499999999974,ly:3.837114799937732,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ipdiy6H5XdiRMv79uDtrRE",textureType:"Foundation Texture #2"}],m6n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[4.688586933696731,-41.63558463662862,6.94326488693142],panCenter:[5.94996462578833,-14.876226974643979,5.628671784918282],orthographic:!1,enableRotate:!0,cameraZoom:21.05263157894738,showInstructionPanel:!1,cameraPosition2D:[2.659105574611795,-.19810500302601344,47.99999980190954],panCenter2D:[2.659105574611795,-.19805700089319547,5501827899659354e-22],showSolarPanelVisibilityResultsPanel:!0,visibilityResultsPanelX:-6,visibilityResultsPanelY:-1,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:342,height:67}},y6n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},A6n=1,w6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},v6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},x6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},b6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},S6n=["Vegetative buffer to hide solar farms"],T6n={docid:s6n,time:c6n,timestamp:u6n,userid:d6n,owner:f6n,email:h6n,world:p6n,elements:g6n,view:m6n,graphState:y6n,evolutionMethod:A6n,solarPanelArrayLayoutParams:w6n,solarPanelArrayLayoutConstraints:v6n,evolutionaryAlgorithmState:x6n,economicsParams:b6n,notes:S6n},P6n="8D5YJAWj6vd3LW25Hcokqe",C6n="02/02/2023 03:03 pm",R6n=1675368235538,H6n="QWecNcxhyvP6j6sBN11hBsfZDau1",M6n=null,I6n=null,z6n={timesPerHour:10,pvGridCellSize:.25,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},D6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:0,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:1.0471975511965976,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3898315956697325},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.5235987755982988,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:0,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3601290996632553},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:-1.0471975511965976,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:0,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:.2655114569703831},{tiltAngle:0,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.055863332406658},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:.5565058986546524},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:1.1380948831431423},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:-1.5707963267948966,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.3371955456546947},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],E6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[8.023018704034044,-16.232959358672062,3.67727930352486],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:4,width:202,height:93}},k6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},F6n=1,L6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},W6n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},N6n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},U6n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},B6n=[`Effect of tilt angles on +solar panel outputs`],j6n={docid:P6n,time:C6n,timestamp:R6n,userid:H6n,owner:M6n,email:I6n,world:z6n,elements:D6n,view:E6n,graphState:k6n,evolutionMethod:F6n,solarPanelArrayLayoutParams:L6n,solarPanelArrayLayoutConstraints:W6n,evolutionaryAlgorithmState:N6n,economicsParams:U6n,notes:B6n},Y6n="44QNMQZiyWYfqFnbbUSraT",O6n="02/02/2023 03:04 pm",_6n=1675368269762,V6n="QWecNcxhyvP6j6sBN11hBsfZDau1",G6n=null,X6n=null,J6n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2021 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},K6n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:-.0832752328102914,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:10.412088787523913,type:"Foundation",cx:.013242648336242419,selected:!1,cz:.05,lx:16.616755394628733,parentId:"Ground"},{lz:.046,selected:!1,cz:.5000000074505984,relativeAzimuth:1.0471975511965976,cy:.010384230278591844,cx:.2680462212766878,poleRadius:.05,showLabel:!0,lx:1.046,label:"60°",tiltAngle:.6981317007977318,poleSpacing:3,rotation:[0,0,0],poleHeight:1,trackerType:"None",drawSunBeam:!1,orientation:"Portrait",ly:1.558,type:"Solar Panel",id:"dnMAS4xYMUhcSByeLwN5TX",normal:[0,0,1],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1296025646801735},{ly:1.558,drawSunBeam:!1,selected:!1,normal:[0,0,1],id:"wc8yTNk8bcNL8vA26NKhEp",tiltAngle:.6981317007977318,poleRadius:.05,poleHeight:1,rotation:[0,0,0],type:"Solar Panel",lz:.046,trackerType:"None",lx:1.046,label:"30°",cz:.5000000074505762,showLabel:!0,cx:.13277873492805234,poleSpacing:3,relativeAzimuth:.5235987755982988,cy:.010196717472218795,orientation:"Portrait",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.3296869651923566},{lx:1.046,poleSpacing:3,rotation:[0,0,0],orientation:"Portrait",poleHeight:1,showLabel:!0,tiltAngle:.6981317007977318,normal:[0,0,1],selected:!1,label:"-60°",lz:.046,drawSunBeam:!1,id:"r18XcJKcSLBW2tCEW6s74k",relativeAzimuth:-1.0471975511965976,cy:.003644619198116936,type:"Solar Panel",trackerType:"None",poleRadius:.05,cx:-.26994946306447615,ly:1.558,cz:.5000000074505806,parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.1539575918080192},{tiltAngle:.6981317007977318,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:.010748815746320655,drawSunBeam:!0,poleHeight:1,lx:1.046,relativeAzimuth:0,trackerType:"None",cx:-.0014144903672051448,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:1.558,poleRadius:.05,label:"0°",orientation:"Portrait",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:1.4023532989786718},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.14083049882259674,cy:.007102961069032241,cz:.500000007450585,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-.5235987755982988,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"sHpER3yfCDZgTy8YcbqJF4",selected:!1,label:"-30°",dailyYield:1.3216497104200369},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.3828186339361362,cy:.008748911792797884,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"3AQTuKXP5kZ5PgShm7kPSX",selected:!1,label:"90°",dailyYield:.9830976469578562},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:-.413167442044193,cy:.006734639393330298,cz:.5000000074505806,lx:1.046,ly:1.558,lz:.046,trackerType:"None",tiltAngle:.6981317007977318,relativeAzimuth:-1.5707963267948966,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"8GwG9uCiXmMbkeB4NtFJwK",selected:!1,label:"-90°",dailyYield:.9777009351289816},{type:"Human",name:"Jack",cx:-.6922041428236811,cy:-4.092105437234061,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6}],q6n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[3.763670237910374,-16.61721730429299,2.914312591691999],panCenter:[5.030220047531196,-1.0315498826531624,.3615371700849206],orthographic:!1,enableRotate:!0,cameraZoom:53.00068653280895,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[0,-4000177797536253e-20,39.9999999999796],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:200,height:91}},$6n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Q6n=1,Z6n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},eAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},tAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},oAn=[`Effect of azimuth on +solar panel outputs`],iAn={docid:Y6n,time:O6n,timestamp:_6n,userid:V6n,owner:G6n,email:X6n,world:J6n,elements:K6n,view:q6n,graphState:$6n,evolutionMethod:Q6n,solarPanelArrayLayoutParams:Z6n,solarPanelArrayLayoutConstraints:eAn,evolutionaryAlgorithmState:tAn,economicsParams:nAn,notes:oAn},rAn="tKo6pFHzEmKPLUAtFMSXH1",aAn="02/03/2023 04:17 pm",lAn=1675459040307,sAn="QWecNcxhyvP6j6sBN11hBsfZDau1",cAn=null,uAn=null,dAn={name:"default",date:"12/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.7,airAttenuationCoefficient:.01},fAn=[{type:"Foundation",cx:-.14690699678366315,cy:-7.208163838562541,cz:.05,lx:11.055471871472701,ly:58.48001412614986,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",selected:!1,id:"4LeRe177Bf56Mb1oae55ip",textureType:"Foundation Texture #1"},{type:"Human",name:"Jess",cx:1.6319195310451686,cy:-16.45128807612893,cz:0,lx:.6,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"mBHbx3X3c1GbXKCLvDVgzL",selected:!1,ly:.6},{type:"Parabolic Trough",cx:-.23513458174461563,cy:.004519902359052559,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"dcjUqAUQZ4LNafSWu4PepW",selected:!1,dailyYield:147.4722488686051,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"EW2",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.15865672328822894,cy:.004519902359052563,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"4LeRe177Bf56Mb1oae55ip",foundationId:"4LeRe177Bf56Mb1oae55ip",id:"pwQnP4mNmxVYhvmGqFmMN2",selected:!1,dailyYield:113.9525242653769,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"EW1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:-.19816155489194087,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"anQtntJ2EF1xbdU9j34juv",selected:!1,dailyYield:105.42067563837163,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",drawSunBeam:!1,label:"NS1",labelHeight:4,labelSize:2},{type:"Parabolic Trough",cx:.2505997669563526,cy:-.00935955151513266,cz:.5000000074505806,lx:3.5,ly:50,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:105.31845023255819,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"NS2",labelHeight:4,labelSize:2},{type:"Foundation",cx:.359422565830144,cy:28.716630531767144,cz:.05,lx:9.701256512237665,ly:56.88650192791737,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:3.796298271490718,cy:-15.228318565508843,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6}],hAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[16.103455794589095,-53.110389552237656,19.628758062026815],panCenter:[15.024700307415378,.2771229411200077,1.7412798340419682],orthographic:!1,enableRotate:!0,cameraZoom:6.470670899474181,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,150],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:11.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:336,height:66}},pAn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!0,yearlyParabolicTroughIndividualOutputs:!1},gAn=1,mAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},yAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},AAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},wAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},vAn=["Effect of azimuths of parabolic troughs"],xAn={docid:rAn,time:aAn,timestamp:lAn,userid:sAn,owner:cAn,email:uAn,world:dAn,elements:fAn,view:hAn,graphState:pAn,evolutionMethod:gAn,solarPanelArrayLayoutParams:mAn,solarPanelArrayLayoutConstraints:yAn,evolutionaryAlgorithmState:AAn,economicsParams:wAn,notes:vAn},bAn="vx1ug6kpDBy3x9Qeuoopbp",SAn="02/02/2023 12:05 pm",TAn=1675357543063,PAn="QWecNcxhyvP6j6sBN11hBsfZDau1",CAn=null,RAn=null,HAn={name:"default",date:"9/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:32.2226066,longitude:-110.9747108,address:"Tucson, AZ, USA",timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.6,airAttenuationCoefficient:.01},MAn=[{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:4,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"rahZRzHN5oxPmD7yBmrrsA",foundationId:"rahZRzHN5oxPmD7yBmrrsA",id:"2kyncnrNRhEC8vcEWLLbSV",selected:!1,dailyYield:233.64209746690477,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",label:"LR=4m",drawSunBeam:!0,locked:!1,labelHeight:5,labelSize:1},{type:"Foundation",cx:.21407524112268916,cy:-36.149591263989876,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"rahZRzHN5oxPmD7yBmrrsA",selected:!1},{type:"Human",name:"Judd",cx:11.353738913610336,cy:-7.831484265178309,cz:0,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"eN5ri3eDDgFLQmoz3oRMfF",selected:!1,ly:.6},{type:"Foundation",cx:-4490043542196287e-20,cy:-.25172016696204835,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"gZkDqHfktzoy6gJmARmspx",selected:!1},{type:"Parabolic Trough",cx:.0029931755117467013,cy:-.016245165138677214,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"gZkDqHfktzoy6gJmARmspx",foundationId:"gZkDqHfktzoy6gJmARmspx",id:"mBvFg1q8TpWjfngs6RnkZ4",selected:!1,label:"LR=8m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Parabolic Trough",cx:-.01770652380020336,cy:.008044936654478363,cz:.5000000074505806,lx:6,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:5,latusRectum:16,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"evP6wn78pnNyKDZXgNgWdE",selected:!1,label:"LR=16m",dailyYield:233.64209746690477,drawSunBeam:!0,locked:!1,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelHeight:5,labelSize:1},{type:"Foundation",cx:.08085129201298358,cy:35.3877160159791,cz:.05,lx:12,ly:35,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1}],IAn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[22.155781466338546,-55.72853752805094,9.397557668970421],panCenter:[-5.110111828219519,-15.113374046752455,0],orthographic:!1,enableRotate:!0,cameraZoom:9.753499582310592,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.99999999998951],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:9.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!0,dailyParabolicTroughYieldPanelX:-24,dailyParabolicTroughYieldPanelY:26,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:355,height:60}},zAn=1,DAn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},EAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kAn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},FAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},LAn=["Effect of latus rectum of parabolic trough"],WAn={docid:bAn,time:SAn,timestamp:TAn,userid:PAn,owner:CAn,email:RAn,world:HAn,elements:MAn,view:IAn,evolutionMethod:zAn,solarPanelArrayLayoutParams:DAn,solarPanelArrayLayoutConstraints:EAn,evolutionaryAlgorithmState:kAn,economicsParams:FAn,notes:LAn},NAn="dvN36C7J8FdfSS21QcUvBx",UAn="02/02/2023 05:16 pm",BAn=1675376211296,jAn="QWecNcxhyvP6j6sBN11hBsfZDau1",YAn=null,OAn=null,_An={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"12/1/2021 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},VAn=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:7.484195397296324,label:"L2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:7.484195397296324,label:"L3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:7.484195397296324,label:"L4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"L1",dailyYield:13.210165552148743,yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:7.484195397296324,label:"L5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:10.048739466084358,cy:.01420541284211474,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008008869365173981,cy:-.18492700121558012,cz:.5000000074505806,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"6AH8jB41hnb2DKANJAvRwV",selected:!1,dailyYield:2.263426258433755,label:"P2",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008328904339362014,cy:.007217978403519174,cz:.5000000074506161,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"aB8iEcrZaWTL6xKZKhhAXB",selected:!1,dailyYield:2.2442794871667524,label:"P3",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.008648939313550047,cy:.19936295802261844,cz:.5000000074506517,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"2meA9SG5bqFDgzeFyXtF9Q",selected:!1,dailyYield:2.2442794871667524,label:"P4",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.007688834390985949,cy:-.37707198083467935,cz:.5000000074505451,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"868aWiBhQX239e6oehaSij",selected:!1,dailyYield:13.21016555214874,label:"P1",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.00896897428773808,cy:.39150793764171776,cz:.5000000074506872,lx:17.856,ly:1.968,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"enRB3aUi95qo1iy8fc8PQq",foundationId:"enRB3aUi95qo1iy8fc8PQq",id:"oBHHZdopRmiffSiEULht6u",selected:!1,dailyYield:2.2442794871667524,label:"P5",yearlyYield:"0[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]",labelSize:.5},{type:"Foundation",cx:-10.236210959894782,cy:-.0034675956445191503,cz:.05,lx:19.1296452086662,ly:14.728928705271478,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"enRB3aUi95qo1iy8fc8PQq",selected:!1}],GAn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[22.452978407808587,-24.247050313502623,17.045911348582777],panCenter:[16.676839641041024,.697317195514167,.36124976444702794],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.651601657211317,-.19810500302601344,47.99999980190954],panCenter2D:[2.651601657211317,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-2,y:-3,width:321,height:84}},XAn={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},JAn=1,KAn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},qAn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},$An={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},QAn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ZAn=[`Effect of orientation (landscape vs. portrait) +on outputs of solar panel arrays`],e4n={docid:NAn,time:UAn,timestamp:BAn,userid:jAn,owner:YAn,email:OAn,world:_An,elements:VAn,view:GAn,graphState:XAn,evolutionMethod:JAn,solarPanelArrayLayoutParams:KAn,solarPanelArrayLayoutConstraints:qAn,evolutionaryAlgorithmState:$An,economicsParams:QAn,notes:ZAn},t4n="gtXnXouMVM8pMVHsKAhdM3",n4n="02/02/2023 12:17 pm",o4n=1675358247774,i4n="QWecNcxhyvP6j6sBN11hBsfZDau1",r4n=null,a4n=null,l4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/22/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},s4n=[{cy:.045715871759253096,normal:[0,0,1],lz:.1,ly:15,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-10.115014866732034,cz:.05,rotation:[0,0,0],lx:18.175146995703113,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640966676,cy:-.015945367160926777,cz:.5000000074506872,lx:15.744,ly:13.888,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.15,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tc8JHQj7hE233H7YfXfbjR",selected:!1,drawSunBeam:!1,label:"Block",dailyYield:103.86651140858137},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:17.598295752357192,label:"Row 2"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:17.598295752357192,label:"Row 3"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:17.598295752357192,label:"Row 4"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"Row 1",dailyYield:20.418384465308375},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:17.598295752357192,label:"Row 5"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6}],c4n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[23.00808622059582,-24.680171647342778,15.7199588387956],panCenter:[15.700578278283736,2.441435258509561,.07017002569005788],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:2,width:200,height:60}},u4n=1,d4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},f4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},h4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},p4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},g4n=["Tilt or not tilt?"],m4n={docid:t4n,time:n4n,timestamp:o4n,userid:i4n,owner:r4n,email:a4n,world:l4n,elements:s4n,view:c4n,evolutionMethod:u4n,solarPanelArrayLayoutParams:d4n,solarPanelArrayLayoutConstraints:f4n,evolutionaryAlgorithmState:h4n,economicsParams:p4n,notes:g4n},y4n="pbUQyfMqdFM4hGmWGdjXR3",A4n="05/21/2023 08:16 pm",w4n=1684714615826,v4n="QWecNcxhyvP6j6sBN11hBsfZDau1",x4n=null,b4n=null,S4n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"6/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},T4n=[{type:"Cuboid",cx:-.09073244329620422,cy:-.08928113742371785,cz:3,lx:59.802153799265035,ly:54.767587001262534,lz:6,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",selected:!1,id:"pLxvVJ1wH71Yw1QXZXh7Cg"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],vertices:[{x:-.25918798931603854,y:-.3104025744206716},{x:-.1504962518609256,y:0},{x:-.35951882388998896,y:.16433077469329674},{x:-.09002353591652279,y:.166501344234237},{x:0,y:.4564743741480465},{x:.09196993169278787,y:.16433077469329674},{x:.37624062965231403,y:.16433077469329674},{x:.15885715474208814,y:0},{x:.25918798931603854,y:-.31953206190363254},{x:0,y:-.11868333727849208}],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",selected:!1,filled:!0,selectedIndex:6,id:"rUADzqR9VSPATNniVsn3qE",opacity:.5},{type:"Human",name:"Jack",cx:-21.334148117714555,cy:-20.123968320321495,cz:3.0000000000000004,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5uAL6fK1eTHonYN5seNqZq",selected:!1},{type:"Human",name:"Jacqueline",cx:23.344921829148568,cy:-18.543851714098956,cz:2.9999999999999964,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,-.7853981633974483],parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2Xajuxftni9JrMcjA5JcTZ",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.24400225350210067,cy:-.2973806270625913,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dwDAEsrLknWSJ6wmG84FDe",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2340673494452827,cy:-.2824067173672925,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"rJPYR1ViscGwEao14Ahz8L",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.22413244538846475,cy:-.2674328076719938,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2bryRDHBS2YZ4nXPVH27oM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.21419754133164678,cy:-.25245889797669496,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oKVf1WANEaHoC28aczNAmB",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2042626372748288,cy:-.23748498828139625,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tBCicEZU2wG49eu4i6Kwm3",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.19432773321801083,cy:-.22251107858609742,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"evdaFcgrk6M4JJMyu3ZzMq",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.18439282916119284,cy:-.2075371688907986,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1sWb4XgrTSe79TQULsTE5S",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.17445792510437497,cy:-.1925632591954998,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mZffYSWU7S8PgHaRpYZeEL",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.16452302104755695,cy:-.17758934950020103,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"n5a72Z8AZCjsHvJEWEfhFF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.15458811699073896,cy:-.1626154398049022,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"mEyfc6dJNr8NgLtwNYnoHX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.14465321293392097,cy:-.14764153010960349,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wj2fWqRxszA5Gvokpup7wQ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.13471830887710307,cy:-.13266762041430463,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"bgNCkPikGZjCttLzS6w1Ei",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.12478340482028506,cy:-.11769371071900586,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pzZaWBzWNUPmQr5UmuU4EJ",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1148485007634671,cy:-.1027198010237071,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nvJ2MYXHoiz17urRs5MsVm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.3462544047278434,cy:.14995832880911858,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"dsTi2gBy3qMzkxSzEKBUKt",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.10491359670664915,cy:-.08774589132840831,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"1zkzwAySbr3kh67TymqSoa",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.29600197017289004,cy:.12090847752330136,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"nNXDQxgbGxZh1trPJqCUdP",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09497869264983118,cy:-.07277198163310952,cz:.5,lx:9.6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"fjd8Qa2TAYrApMxCXDFDpf",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.2457495356179366,cy:.0918586262374842,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"b9qhzTZxDNwEDcF7hiJX4C",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.151763002830166,cy:.015054374730769834,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2UFe7VNPDEaGQZvkWVQhfF",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.1330229162480746,cy:.020413676435490843,cz:.5,lx:20.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6azY5mJr9WGW9T4xntRtbV",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.09816732549621686,cy:.008176039664707214,cz:.5,lx:24,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7pB4XFf5JNuyyXs1dscyU9",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.04968850627849703,cy:-.01893715486872221,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cw2cYF33vM7nDrUtAQ9PtX",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0012096870607772334,cy:-.0460503494021516,cz:.5,lx:32.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aZJH3WRjsEN8q1US8B1Lga",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.041725175322164326,cy:-.06710995316331908,cz:.5,lx:34.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"viJ9kyaeaMt713J28EcCFK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.046229595226249795,cy:-.046206356470879194,cz:.5,lx:31.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tyYYXFH1cfiQ3uNpmQwaDs",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.050734015130335264,cy:-.02530275977843931,cz:.5,lx:27.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"vP1hAunDAXzhYB1S1HLKVM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05523843503442073,cy:-.004399163085999424,cz:.5,lx:25.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"u6QjEgQS4SovsxfWiwK9pS",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05234611465739277,cy:.024581126850095093,cz:.5,lx:22.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"46FxqZ3kp4K5aLnSHofoke",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04805120265582289,cy:.05509294308926524,cz:.5,lx:21.599999999999998,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"4KWK7RGJeM7J1Y4Bc2BCbo",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04375629065425305,cy:.08560475932843534,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9NexZBuAyQshnZjEyJiXpM",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.039461378652683204,cy:.11611657556760548,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"aQJdFu6WBGKc9yho8AS2xT",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.04924988203531412,cy:.13125034396973115,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3ogeckCTPTgxjp41JDKuuA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.05914913042917638,cy:.1462631870114971,cz:.5,lx:18,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"m5ZqKSj8PiDLKTSkryPkD4",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.06904837882303859,cy:.1612760300532631,cz:.5,lx:19.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"gUD4622TjboopEheHWCtM8",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.14637364805016384,cy:.10266464590659576,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3B4tjopc3V8wB73wfk3LgA",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.020601276304081376,cy:.23999877236143063,cz:.5,lx:10.799999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"j6oGKhKWfa4g28v4pveBRC",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.16516009271515278,cy:.10797332801394043,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"6uMytuxgTByw7WEXjAsAXU",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.017562115186903173,cy:.2691394015238318,cz:.5,lx:8.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"2FJtQtosDkuXdtp7KmRoYy",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.18394653738014172,cy:.11328201012128505,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"3pFwSbqooyxHrq2Jp4XADp",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.014522954069724847,cy:.298280030686233,cz:.5,lx:7.199999999999999,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5qdmnpcKFqUM9vXyTX4hi7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.20273298204513066,cy:.11859069222862975,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"tJg3jzMUi1ApjHbbN193Zz",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.011483792952546625,cy:.3274206598486342,cz:.5,lx:6,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"xxk4Md1mJ7NHchtu4BLpwH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2215194267101196,cy:.12389937433597444,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"7NmhiBzuipraDWa3kyetyj",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.008444631835368357,cy:.35656128901103534,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"f8qSHhvV7wP4nEzfo6VoDk",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.24030587137510853,cy:.12920805644331906,cz:.5,lx:4.8,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"posdSQ1dJvWZjSpgrNhZeK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.005405470718190015,cy:.3857019181734367,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"9riXPgRDkjJzGVegGVgCgw",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.25909231604009747,cy:.13451673855066373,cz:.5,lx:3.5999999999999996,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"cHZAxZtQFw1z3WZs51Lb8y",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.0023663096010117777,cy:.41484254733583786,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"oe7DbmdHbpatHjToisk5xv",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2778787607050864,cy:.1398254206580084,cz:.5,lx:2.4,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"wWLocRGwnWkKFGd13Lw2xH",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:.0006728515161664303,cy:.443983176498239,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"pLYCjrgQcBLecG9n2GBB5R",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.2966652053700753,cy:.14513410276535307,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"5cGW4T9ojh23VUkpq6dRc7",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3154516500350642,cy:.15044278487269772,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"uZGNbTxhF7wMM1ExYuxSCK",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1},{type:"Solar Panel",pvModelName:"FS-275",trackerType:"None",relativeAzimuth:.7853981633974483,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!1,poleHeight:.3,poleRadius:.05,poleSpacing:3,cx:-.3342380947000532,cy:.15575146698004247,cz:.5,lx:1.2,ly:.6,lz:.0068,showLabel:!1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],color:"#fff",frameColor:"white",parentType:"Cuboid",parentId:"pLxvVJ1wH71Yw1QXZXh7Cg",foundationId:"pLxvVJ1wH71Yw1QXZXh7Cg",id:"hpaMNd5tiDGWpzg7eQxhTm",referenceId:"rUADzqR9VSPATNniVsn3qE",selected:!1}],P4n=37,C4n={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[43.034934411209356,-77.43728686826599,60.87535152181681],panCenter:[7.125444398078178,-5.749142987156418,.5356497726578432],orthographic:!1,enableRotate:!0,cameraZoom:13.268408625781248,showInstructionPanel:!1,cameraPosition2D:[5.843642120827252,1.7570601735865479,150],panCenter2D:[5.843642120827252,1.75721018025187,26494911975471404e-22],showEvolutionPanel:!1,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:-1,y:4,width:378,height:114},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},R4n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},H4n=2,M4n={pvModelName:"FS-275",rowAxis:"East-West",orientation:"Landscape",tiltAngle:.5235987755982988,rowsPerRack:1,interRowSpacing:1,poleHeight:.3,poleSpacing:3,margin:.2},I4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},z4n={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},D4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},E4n="Unknown",k4n=null,F4n=null,L4n=null,W4n=[`Draw a polygon for the solar panel field and then use the built-in parametric design tool to -automatically layout the array.`],B4n={docid:w4n,time:v4n,timestamp:x4n,userid:b4n,owner:S4n,email:T4n,world:P4n,elements:C4n,sceneRadius:R4n,view:H4n,graphState:M4n,evolutionMethod:I4n,solarPanelArrayLayoutParams:z4n,solarPanelArrayLayoutConstraints:D4n,evolutionaryAlgorithmState:E4n,economicsParams:k4n,modelType:F4n,modelAuthor:L4n,modelLabel:W4n,modelDescription:N4n,notes:U4n},j4n="6VEXdSdGFhXnQZHfdXvgS7",Y4n="02/02/2023 05:25 pm",O4n=1675376741403,_4n="QWecNcxhyvP6j6sBN11hBsfZDau1",V4n=null,G4n=null,X4n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,solarRadiationHeatmapGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},J4n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.01492842170085762,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:8.502064537189229,type:"Foundation",cx:-18.41116088158014,selected:!1,cz:.05,lx:17.842360789303687,parentId:"Ground"},{tiltAngle:.17453292519943295,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.18343704156525936,drawSunBeam:!1,poleHeight:3,lx:15.58,relativeAzimuth:0,trackerType:"None",cx:.0181751573598281,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:3.138,poleRadius:.05,label:"A1",orientation:"Landscape",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:35.54542639501863,labelSize:1,labelHeight:1},{type:"Human",name:"Jack",cx:5.0617851423711855,cy:-3.5130800185994246,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.018913624924680107,cy:.17920253753513882,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"bqrD5jMPaBdy2VU82Pf8jX",selected:!1,dailyYield:27.191418577368122,drawSunBeam:!0,label:"A2",labelHeight:1,labelSize:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017803254641984647,cy:-.17133196101794607,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"jY1SyCfNFUJ6aZrVBG9yei",selected:!1,dailyYield:31.69613876356361,label:"B1",labelHeight:1,labelSize:1},{type:"Human",name:"Jade",cx:-2.04763165702893,cy:.5372372205223073,cz:.05000000074505717,lx:.6,ly:.6,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",id:"bh4ogCSa9KLpabxMXJSMdr",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.19617148450633917,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"aB8nn17qEG1UkLCBmN3EDg",selected:!1,dailyYield:31.695989795928103,label:"B2",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.02993684696192045,cy:-.07488211918489984,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sp1YZua8fLpGUcQPoeBUrY",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017795422816082346,cy:-.17724133449748175,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"w9uCiRPECzBHx6GziL9u7M",selected:!1,dailyYield:27.191412082396756,label:"C1",labelHeight:1,labelSize:1},{type:"Human",name:"Jett",cx:1.2692636297118085,cy:.227513847491835,cz:.05000000074505717,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",id:"icbuTBYKh2PiqbDEDzA6iB",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.18617148450633916,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"dFE6Wu3wf499uPuTFXoFR4",selected:!1,dailyYield:35.54528007836568,label:"C2",labelHeight:1,labelSize:1},{type:"Foundation",cx:18.291413493732467,cy:-.04494527222298039,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"t8NKy5QyCsnVgJWSgzdVtp",selected:!1}],K4n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[21.984836349008607,-27.120112904171,15.351212623628198],panCenter:[9.268096375789943,3.7277158588340003,2.046834497769918],orthographic:!1,enableRotate:!0,cameraZoom:84.09478170866971,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[15.041522569185233,.23774787312868362,40.00000029048154],panCenter2D:[15.041522569185233,.23778787490665898,2905048059856975e-22],showSolarRadiationHeatmap:!1,showDesignInfoPanel:!0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:3,width:229,height:64}},q4n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},$4n=1,Q4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Z4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},ewn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},twn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},nwn=["Solar canopy design"],own={docid:j4n,time:Y4n,timestamp:O4n,userid:_4n,owner:V4n,email:G4n,world:X4n,elements:J4n,view:K4n,graphState:q4n,evolutionMethod:$4n,solarPanelArrayLayoutParams:Q4n,solarPanelArrayLayoutConstraints:Z4n,evolutionaryAlgorithmState:ewn,economicsParams:twn,notes:nwn},iwn="cpQtXDN91AWfQ7C3APvJh3",rwn="02/03/2023 10:25 am",awn=1675437921671,lwn="QWecNcxhyvP6j6sBN11hBsfZDau1",swn=null,cwn=null,uwn={airAttenuationCoefficient:.01,cspTimesPerHour:4,timesPerHour:2,solarPanelVisibilityGridCellSize:.2,latitude:44.454924,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,discretization:"Approximate",date:"6/22/2022 3:30:00 PM",highestTemperatureTimeInMinutes:900,cspDaysPerYear:4,address:"550 Dorset St, South Burlington, VT 05403, USA",diurnalTemperatureModel:1,airConvectiveCoefficient:5,cspGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,sutGridCellSize:1,name:"default",dustLoss:.05,sutDaysPerYear:4,pvGridCellSize:.5,noAnimationForHeatmapSimulation:!0,sutTimesPerHour:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},daysPerYear:4,solarRadiationHeatmapGridCellSize:5,longitude:-73.177891},dwn=[{type:"Foundation",cx:179.45847099490584,cy:145.85951451290708,cz:.1,lx:46.64912192730487,ly:16.598079304638254,lz:.2,normal:[0,0,1],rotation:[0,0,.1434660645139339],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"73zFNy4Kytq2jGeHP8hybB",locked:!0,enableGroupMaster:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!0,poleHeight:4.8,poleRadius:.05,poleSpacing:5,cx:.013487121407959702,cy:-.12279534594195182,cz:.5000000074505806,lx:43.624,ly:11.506,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,.1434660645139339],color:"#fff",parentId:"73zFNy4Kytq2jGeHP8hybB",foundationId:"73zFNy4Kytq2jGeHP8hybB",id:"5B4Rr9X9rqJjgERVH84xem",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:8.339907658116347,cy:-.6016935110092154,cz:.619724807975928,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"dUwnUoWvbFx2hdh7SmwvjQ",id:"e5UykxeUAcAAsmgFcznP9J",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Jacqueline",cx:20.54897495598685,cy:-8.016956409003306,cz:.10000000149011612,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"73zFNy4Kytq2jGeHP8hybB",id:"9v3zq1A3MmHnKeqiCTkYcc",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:178.74973834889272,cy:151.23959562318993,cz:3,lx:12.107420150412665,ly:3.6361191766113197,lz:6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",selected:!1,id:"stfeWojM9fq1rRFvV8kFrw",locked:!0},{type:"Cuboid",cx:179.70526882974113,cy:148.87674866966486,cz:1.8,lx:42.703465320212665,ly:1.2033870245364555,lz:3.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"mvQonCDuxqjgZkeWBbRQ73",selected:!1,locked:!0},{type:"Cuboid",cx:179.86870093281857,cy:147.67018638185647,cz:1.5,lx:42.703465320212665,ly:1.2033870245364555,lz:3,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"nAoWaWCXnJrVeXtGcCdhsQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.03030758101804,cy:146.47434150650943,cz:1.3,lx:42.703465320212665,ly:1.2033870245364555,lz:2.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"hEEbCeJXouC5MRLwbMLUXU",selected:!1,locked:!0},{type:"Cuboid",cx:180.18731589126733,cy:145.26767530633435,cz:1.1,lx:42.703465320212665,ly:1.2033870245364555,lz:2.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"ewYiSC3NgUrSGS9bNScvyi",selected:!1,locked:!0},{type:"Cuboid",cx:180.34892253946674,cy:144.0718304309881,cz:.9,lx:42.703465320212665,ly:1.2033870245364555,lz:1.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"dUwnUoWvbFx2hdh7SmwvjQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.505930849716,cy:142.93138721769165,cz:.7,lx:42.703465320212665,ly:1.2033870245364555,lz:1.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2wek6yYK17CpmBuG1P6f8D",selected:!1,locked:!0},{type:"Cuboid",cx:180.6629391599653,cy:141.79094400439524,cz:.5,lx:42.703465320212665,ly:1.2033870245364555,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"cyVdcaHRiaSZbNdcjQVuiw",selected:!1,locked:!1},{type:"Cuboid",cx:180.8270823782518,cy:140.57464564227953,cz:.3,lx:42.703465320212665,ly:1.2033870245364555,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2io4wkR5VXLTD2R8fop411",selected:!1,locked:!1}],fwn={showYearlyFresnelReflectorYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showZenithAngle:!0,yearlyPvYieldPanelRect:{x:0,height:400,y:0,width:600},showAzimuthAngle:!0,dailyPvYieldPanelRect:{height:400,y:0,x:0,width:600},dailyUpdraftTowerYieldPanelRect:{width:640,x:0,y:0,height:550},diurnalTemperaturePanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,weatherPanelX:0,theme:"Default",enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},dailyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyHeliostatYieldPanelY:0,yearlyHeliostatYieldPanelRect:{y:0,width:600,height:400,x:0},yearlyLightSensorPanelRect:{x:0,width:600,y:0,height:500},yearlyParabolicTroughYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicDishYieldPanelX:0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},yearlyLightSensorPanelShowClearness:!1,mapPanelX:0,yearlyLightSensorPanelShowDaylight:!1,showDiurnalTemperaturePanel:!1,mapZoom:17,yearlyPvYieldPanelX:0,showElevationAngle:!0,showYearlyParabolicDishYieldPanel:!1,dailyLightSensorPanelRect:{y:0,height:360,x:0,width:600},evolutionPanelRect:{y:0,height:400,x:0,width:640},mapWeatherStations:!1,showDesignInfoPanel:!0,mapPanelY:0,showDailyParabolicTroughYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,weatherPanelY:0,showSiteInfoPanel:!0,showYearlyParabolicTroughYieldPanel:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{width:600,x:0,height:400,y:0},showMapPanel:!1,dailyParabolicTroughYieldPanelY:0,cameraPosition:[206.67769816695932,120.15082999798835,5.121281605668084],showYearlyLightSensorPanel:!1,cameraZoom:23.327015599941678,heliodonPanelY:0,autoRotate:!1,shadowEnabled:!0,showWeatherPanel:!1,yearlyFresnelReflectorYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{x:0,y:0,height:400,width:600},dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyHeliostatYieldPanelY:0,mapTilt:0,visibilityResultsPanelRect:{height:470,y:0,width:600,x:0},stickyNotePanelRect:{y:0,x:0,height:61,width:267},visibilityResultsPanelX:0,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,dailyLightSensorPanelX:0,yearlyParabolicTroughYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},panCenter2D:[183.8188163621815,139.3629304846877,-8002863814434504e-20],dailyParabolicTroughYieldPanelX:0,showDailyUpdraftTowerYieldPanel:!1,cameraPosition2D:[183.8188163621815,139.36291048379871,19.999919971295522],showYearlyHeliostatYieldPanel:!1,showEconomicsPanel:!1,heliodonPanelX:0,yearlyParabolicDishYieldPanelY:0,showDailyParabolicDishYieldPanel:!1,dailyPvYieldPanelX:0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{x:0,width:600,y:0,height:400},orthographic:!1,panCenter:[175.21189117230256,159.9366389436321,1.5458921274125108],dailyPvYieldPanelY:0,showDailyFresnelReflectorYieldPanel:!1,mapType:"hybrid",groundImage:!1,groundColor:"#16a5a5",showDailyHeliostatYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,height:400,y:0},showStickyNotePanel:!0,heliodon:!1,dailyLightSensorPanelY:0,solarRadiationHeatMapReflectionOnly:!1,showEvolutionPanel:!1,showInstructionPanel:!1,showSunAngles:!1,showYearlyPvYieldPanel:!1,dailyHeliostatYieldPanelRect:{height:400,x:0,y:0,width:600},yearlyLightSensorPanelX:0,yearlyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyFresnelReflectorYieldPanelX:0,axes:!1,visibilityResultsPanelY:0},hwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},pwn=1,gwn={orientation:"Landscape",interRowSpacing:2,pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",poleSpacing:3,rowsPerRack:1,tiltAngle:0,poleHeight:1},mwn={maximumTiltAngle:1.5707963267948966,rowAxis:"Zonal",maximumInterRowSpacing:10,maximumRowsPerRack:6,minimumInterRowSpacing:2,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,orientation:"Landscape",minimumRowsPerRack:1,poleSpacing:5,poleHeight:1},ywn={particleSwarmOptimizationParams:{objectiveFunctionType:1,socialCoefficient:.1,localSearchRadius:.1,vmax:.01,swarmSize:20,problem:"Solar Panel Tilt Angle",maximumSteps:5,inertia:.8,cognitiveCoefficient:.1,searchMethod:1,convergenceThreshold:.01},geneticAlgorithmParams:{maximumGenerations:5,mutationRate:.1,objectiveFunctionType:1,selectionRate:.5,crossoverRate:.5,localSearchRadius:.1,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,populationSize:20,convergenceThreshold:.01}},Awn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},wwn=["Solar canopy over bleachers"],vwn={docid:iwn,time:rwn,timestamp:awn,userid:lwn,owner:swn,email:cwn,world:uwn,elements:dwn,view:fwn,graphState:hwn,evolutionMethod:pwn,solarPanelArrayLayoutParams:gwn,solarPanelArrayLayoutConstraints:mwn,evolutionaryAlgorithmState:ywn,economicsParams:Awn,notes:wwn},xwn="smhvUEBkVkGKNFKH9wXerr",bwn="03/19/2023 01:40 pm",Swn=1679247607363,Twn="QWecNcxhyvP6j6sBN11hBsfZDau1",Pwn=null,Cwn=null,Rwn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 2:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Hwn=[{ly:3.258836461194841,solarUpdraftTower:{},parentId:"Ground",cx:-.0628073590395834,id:"m7AH7DcnoGzAq9kryBy4RS",cy:1.7678944590969095,type:"Foundation",solarPowerTower:{},lx:10.54713578879197,lz:.05733001510678199,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,textureType:"Foundation Texture #2"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:6.322909236616773,relativeAngle:3.141592653589793,lz:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",ly:.1,rightPoint:[-3.281902734041268,1.0926779224456118,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[3.041006502575506,1.0926779224456111,0],type:"Wall",rightRoofHeight:2.707750558185909,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:2.707750558185909,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12044811573288094,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:1.0926779224456116,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:20,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.707750558185909,rightTopPartialHeight:2.707750558185909},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:3.041006502575505,leftPoint:[3.041006502575504,-.9667719612095651,0],cy:.06295298061802335,leftRoofHeight:2.2932006042712794,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[3.041006502575506,1.0926779224456118,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:2.059449883655177,normal:[0,0,1],lz:2.2932006042712794,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",rightRoofHeight:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{lx:2.059449883655177,windows:[],lz:2.2932006042712794,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"o9MiaiNtVRQTUvRdiEBPKe",selected:!1,cy:.06295298061802335,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:2.2932006042712794,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-3.281902734041268,1.0926779224456118,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:2.707750558185909,ly:.1,cx:-3.281902734041268,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[-.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{showLabel:!1,cx:-.12044811573288094,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[3.041006502575506,-.9667719612095651,0],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-.9667719612095651,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"o9MiaiNtVRQTUvRdiEBPKe",leftPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],ly:.1,lz:2.2932006042712794,leftRoofHeight:2.2932006042712794,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:2.2932006042712794,lx:6.322909236616773,color:"#ffffff",wallStructure:"Stud",opacity:0,studSpacing:100,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{type:"Human",name:"Judd",cx:1.633148784510131,cy:-.48619735894130045,cz:.02866500802338123,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.544},{type:"Human",name:"Jade",cx:-2.4056687191409836,cy:-.7214806671440712,cz:.02866500802338123,lx:.48,ly:.48,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,flip:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9MiaiNtVRQTUvRdiEBPKe",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!0,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.013581557939684385,cy:.026013281736561093,cz:2.5548677739939563,lx:6.232,ly:2.092,lz:.046,showLabel:!1,normal:[0,-.19733348260296196,.9803364201353465],rotation:[.1986371700239986,0,0],color:"#fff",parentType:"Roof",parentId:"o9MiaiNtVRQTUvRdiEBPKe",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gcgsZpEBMDbC2MoxXfdQ5z",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.069538614907841,cy:1.7342109688811949,cz:0,lx:2.576376919790349,lz:3.4569079447673756,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9vtidDnwwZ7MMSCF9kkf1v",selected:!1},{type:"Tree",name:"Magnolia",cx:6.029325159381688,cy:1.1288413497919034,cz:0,lx:5.866636356742361,lz:7.0242541599963335,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7y5foXVbpe2pYJ2ZMcNgG1",selected:!1},{type:"Polygon",cx:-.054330031344316826,cy:-.27967892470948996,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.29711331243712213,y:-.37645814056822685},{x:-.25433003134431686,y:-.17645814056822684},{x:.14566996865568319,y:-.17645814056822684},{x:.18845324974848848,y:-.37645814056822685}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:3,id:"jFtAKqea5hrJYqvHqsXVig",fontColor:"white",text:"ELM STREET",fontSize:.2,noOutline:!0,opacity:0},{type:"Polygon",cx:-.03159943058059205,cy:-5551115123125783e-31,cz:.3151039010139313,lx:.4,ly:.4,lz:.4,filled:!0,noOutline:!0,color:"#ffffff",opacity:0,text:"ELM STREET",fontSize:.2,fontColor:"white",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999996,y:-.4200653155418168},{x:-.15721671890719469,y:-.2200653155418168},{x:.24278328109280536,y:-.2200653155418168},{x:.28556656218561066,y:-.4200653155418168}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jgt48M3TDZL99Yra6Kyr5Q",selected:!1},{type:"Human",name:"Julio",cx:.5178196751817774,cy:-.5447731101746882,cz:.02866500802338123,lx:.5,lz:1.76,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"q3FndYLdQ24MSDvkeE4ifM",selected:!1},{type:"Human",name:"June",cx:-1.7835969899126987,cy:-1.0262736798633494,cz:.0073300155767722225,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hpYMNr3jwLZFDdiKVSnVAY",selected:!1}],Mwn=11,Iwn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.4101525299496,-7.1680457550968235,2.8167371698815544],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.2469393365439706,2.7582746226325283,1.9240094094942006],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:207,height:64}},zwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Dwn=1,Ewn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},kwn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Fwn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Lwn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Wwn="Unknown",Nwn=null,Uwn=null,Bwn=null,jwn=["Solar bus stop"],Ywn={docid:xwn,time:bwn,timestamp:Swn,userid:Twn,owner:Pwn,email:Cwn,world:Rwn,elements:Hwn,sceneRadius:Mwn,view:Iwn,graphState:zwn,evolutionMethod:Dwn,solarPanelArrayLayoutParams:Ewn,solarPanelArrayLayoutConstraints:kwn,evolutionaryAlgorithmState:Fwn,economicsParams:Lwn,modelType:Wwn,modelAuthor:Nwn,modelLabel:Uwn,modelDescription:Bwn,notes:jwn},Own="ctNBPhic6sxKfpMZwUSyvY",_wn="02/04/2023 01:23 pm",Vwn=1675535030470,Gwn="QWecNcxhyvP6j6sBN11hBsfZDau1",Xwn=null,Jwn=null,Kwn={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"4/22/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},qwn=[{type:"Foundation",cx:-.05000000000000249,cy:-.07499999999999751,cz:.05,lx:50,ly:25,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!0},{type:"Wall",cx:.25,cy:10.000000000000002,cz:0,lx:43.5,ly:.3,lz:30,relativeAngle:3.141592653589793,leftPoint:[22,10,0],rightPoint:[-21.5,10.000000000000004,0],leftJoints:["vdPkX7ZYSwK7VW7fzaG511"],rightJoints:["1pJb5b6kS2mjvFyYw2rr5k"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nYSb3p1MnuhwNe2u1j3fXF",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:22,cy:2,cz:0,lx:16,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[22,-6,0],rightPoint:[22,10,0],leftJoints:["8ntQ5ns6192qHa3sbwWgfy"],rightJoints:["nYSb3p1MnuhwNe2u1j3fXF"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vdPkX7ZYSwK7VW7fzaG511",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-21.5,cy:2.0000000000000018,cz:0,lx:16.000000000000004,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-21.5,10.000000000000004,0],rightPoint:[-21.5,-6,0],leftJoints:["nYSb3p1MnuhwNe2u1j3fXF"],rightJoints:["nQCZuQBzmXXaGGKFTeJE3m"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1pJb5b6kS2mjvFyYw2rr5k",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.25,cy:-6,cz:0,lx:16.5,ly:.3,lz:30,relativeAngle:0,leftPoint:[-21.5,-6,0],rightPoint:[-5,-6,0],leftJoints:["1pJb5b6kS2mjvFyYw2rr5k"],rightJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nQCZuQBzmXXaGGKFTeJE3m",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:13.5,cy:-6,cz:0,lx:17,ly:.3,lz:30,relativeAngle:0,leftPoint:[5,-6,0],rightPoint:[22,-6,0],leftJoints:["12rbxrGaa8wVVn4DUNhY7V"],rightJoints:["vdPkX7ZYSwK7VW7fzaG511"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8ntQ5ns6192qHa3sbwWgfy",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[5,-11,0],rightPoint:[5,-6,0],leftJoints:["4gHpGdkzTfd6pDbTqPc7xa"],rightJoints:["8ntQ5ns6192qHa3sbwWgfy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"12rbxrGaa8wVVn4DUNhY7V",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-5,-6,0],rightPoint:[-5,-11,0],leftJoints:["nQCZuQBzmXXaGGKFTeJE3m"],rightJoints:["4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5ZR3fL2v4p4po3VR8oJ6H8",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:0,cy:-11,cz:0,lx:10,ly:.3,lz:30,relativeAngle:0,leftPoint:[-5,-11,0],rightPoint:[5,-11,0],leftJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],rightJoints:["12rbxrGaa8wVVn4DUNhY7V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4gHpGdkzTfd6pDbTqPc7xa",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Human",name:"Jack",cx:-.8543093326653608,cy:-11.792939085977409,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tYfANfn3oinAT4dW1rRsqr",selected:!1,ly:.42},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["12rbxrGaa8wVVn4DUNhY7V","8ntQ5ns6192qHa3sbwWgfy","vdPkX7ZYSwK7VW7fzaG511","nYSb3p1MnuhwNe2u1j3fXF","1pJb5b6kS2mjvFyYw2rr5k","nQCZuQBzmXXaGGKFTeJE3m","5ZR3fL2v4p4po3VR8oJ6H8","4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a69gMcUNAL6smrEEJWVg5m",rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.3343030303030303,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2tX22vCbk47e7Qb9jmWbuT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.12024242424242425,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rMVZd7mHmDzSsY9qJkKCYE",selected:!1,color:"#fff"},{type:"Window",cx:-.10606060606060606,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5GSyALrLv2JTFn5Jfts2K9",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3484848484848485,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"iCM8LCxtUc6mLFahJZKXiN",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0016000000000000014,cy:-23684757858670007e-30,cz:.056400000000000006,lx:3.968,ly:23.616,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qfUCcto9FYp97r1bwAkTYw",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.11858823529411765,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"15b42ktZHToFGP5MjajP8M",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.352,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:-.01802584949990571,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3PJY1VV4LwZ339b6deeXfW",selected:!1,color:"#fff"},{type:"Human",name:"Jane",cx:1.0059834215863663,cy:-11.909754621259744,cz:.05000000074506161,lx:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vFaP6sE5CTWHTpkpuqQusz",selected:!1,ly:.4},{type:"Window",cx:.1051693404634581,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bQX8o8NiMvqqkwFqX982ii",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36541889483065954,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5iqB79CbMKKaHc2jYwiL2n",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3757575757575758,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4kTQPqQyQnweHnqPDZiBg",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3742424242424242,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDkZKRTvbZchzgdEwuowBS",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242425,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vY3gwN3Dc3BUuPz4qtFxKd",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1c7fsYtocCSJ8re71u4EMD",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242414,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bHLzi4Znc3fVju7nSQfVt1",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mXRwTS9CG5axkFHpYXQb93",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.44166666666666665,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4jyHDksE16v8MGpAHgZbRq",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0035666924067298844,cy:.1,cz:.3543373547979109,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fv633U9B6zqzsfkiTeArhy",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.2583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oqAP6n2W5ZjTRthjMYEkPV",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.1583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cpcc8c1vn5nWiukQ3PxS3f",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.058333333333333307,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x1oydAUUHFagHckinEa19D",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.0416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3cgMKo42a4ASQqE8xnVK2P",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.1416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x8WkyGbyAMcWUhHRUjS5gG",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.2416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXGRiJPBepugeH5wctYQEF",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.3416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uHRUBQhmS94JcKPRt7LDmv",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!1,poleHeight:.2,poleRadius:.05,poleSpacing:3,cx:.013173838940837719,cy:.0680060264405102,cz:30.2,lx:39.36,ly:1.984,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gXW6QsEtteXYtodQNf8hx7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.013587479651289406,cy:-.039519927704392936,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rR23iB2i6JynSXag96y23e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012423446703966497,cy:-.14139419142614063,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jxhCthLZ9Lv87sCrBWn5kx",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012712080197510935,cy:.1770912519450651,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rZk9AYLNUc6CbsxJg1HEUU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012483352791167981,cy:.28984082936278965,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"69WEvUFeggtX7SkVeLfN3F",selected:!1},{type:"Flower",name:"Yellow Flower",cx:15.765812910070952,cy:-8.771551347375933,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"hhZNor6RrsErCXv6N2LCBX",selected:!1},{type:"Flower",name:"Yellow Flower",cx:7.825357530488457,cy:-8.372047787963048,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1coQpeKubKsF9M826JWhcT",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-7.686841949758485,cy:-8.502083508685182,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tBw3D4GurLA8jWoFe411qW",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.751204802860983,cy:-8.343574225207504,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"72uapoUNTci2SLYKwgBp8U",selected:!1},{type:"Flower",name:"Boxwood",cx:19.359037887762355,cy:-9.111613117711592,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vm54XJx4Xqji3E2uYkM3Bg",selected:!1},{type:"Flower",name:"Boxwood",cx:12.019561876673311,cy:-8.832301300458631,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sjqbn1oAGT3nUbPzFZ9yXN",selected:!1},{type:"Flower",name:"Boxwood",cx:-11.235438884150971,cy:-8.639820120644501,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tQx6MounMWtZzmbZeEtcYq",selected:!1},{type:"Flower",name:"Boxwood",cx:-18.29029667468214,cy:-7.990154726249322,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CG9RbukrrdXudKgMY2Jii",selected:!1},{type:"Door",cx:0,cy:0,cz:-.425,lx:.5,ly:0,lz:.15,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nJiiCKZsnQ4hdD69NEYwor",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.0010000000000000007,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[-1,12246467991473532e-32,0],rotation:[0,0,0],color:"#fff",frameColor:"white",parentType:"Wall",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uLAs5uL6WLuiZStL3dsozJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0010000000000000009,cy:2373101715136272e-29,cz:.0074666666666666735,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentType:"Wall",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oq1GewTgCJGR8EGbL6DMu7",selected:!1,color:"#fff"}],$wn={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!1,axes:!0,enableRotate:!0,weatherPanelY:0,cameraPosition:[-41.48638943484854,-53.785037218162735,15.500675823090146],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!0,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.9046368072380662,-2.718943908236788,15.500675823090146],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Default",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:3.5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:31.733468832186784,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],cameraPosition2D:[0,-.00015000666739695134,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:339,height:63},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},Qwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Zwn=1,e7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},t7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},n7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},o7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},i7n=["Building-integrated photovoltaics (BIPV)"],r7n={docid:Own,time:_wn,timestamp:Vwn,userid:Gwn,owner:Xwn,email:Jwn,world:Kwn,elements:qwn,view:$wn,graphState:Qwn,evolutionMethod:Zwn,solarPanelArrayLayoutParams:e7n,solarPanelArrayLayoutConstraints:t7n,evolutionaryAlgorithmState:n7n,economicsParams:o7n,notes:i7n},a7n="m1j5HqK6ztTDmHotnswvhm",l7n="03/19/2023 01:23 pm",s7n=1679246616189,c7n="QWecNcxhyvP6j6sBN11hBsfZDau1",u7n=null,d7n=null,f7n={solarRadiationHeatmapGridCellSize:2,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"350 Spelman Ln SW, Atlanta, GA 30314, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:33.74249063340524,noAnimationForSensorDataCollection:!1,timesPerHour:2,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-84.41325446099088,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},h7n=[{type:"Foundation",cx:-4.899281040587393,cy:-11.584454395492607,cz:.05,lx:65.19262557107372,ly:131.69230495241158,lz:.1,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fAfbfM7oEHfq1VBgchFech",enableGroupMaster:!0},{type:"Wall",cx:4.643026020738638,cy:58.19197664732871,cz:0,lx:39.00320499651278,ly:.2,lz:10,relativeAngle:3.1544124640626934,leftPoint:[24.14302602073864,58.441976647328715,.1],rightPoint:[-14.856973979261348,57.94197664732871,.1],leftJoints:["hZXuadfd8Y2gU3C4iTs3VG"],rightJoints:["sdKSXeQhAWxE6ifCs1d6RC"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"tysEJM9hUShvginx4rYC7K",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:24.39302602073864,cy:2.941976647328705,cz:0,lx:111.00112612041376,ly:.2,lz:10,relativeAngle:1.575300800833464,leftPoint:[24.643026020738645,-52.55802335267129,.1],rightPoint:[24.143026020738642,58.4419766473287,.1],leftJoints:["njXmWTSZ52XC3BH77kTEtQ"],rightJoints:["tysEJM9hUShvginx4rYC7K"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"hZXuadfd8Y2gU3C4iTs3VG",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:9.143026020738638,cy:-52.8080233526713,cz:0,lx:31.004031995854984,ly:.2,lz:10,relativeAngle:.016127633843636247,leftPoint:[-6.356973979261358,-53.05802335267129,.1],rightPoint:[24.64302602073863,-52.558023352671285,.1],leftJoints:["1sYogQ8Va73vub552Dsk1p"],rightJoints:["hZXuadfd8Y2gU3C4iTs3VG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"njXmWTSZ52XC3BH77kTEtQ",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-6.356973979261353,cy:-47.05802335267128,cz:0,lx:11.999999999999986,ly:.2,lz:10,relativeAngle:4.712388980384691,leftPoint:[-6.356973979261358,-41.05802335267129,.1],rightPoint:[-6.356973979261351,-53.058023352671285,.1],leftJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],rightJoints:["njXmWTSZ52XC3BH77kTEtQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"1sYogQ8Va73vub552Dsk1p",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-14.606973979261362,cy:8.441976647328703,cz:0,lx:99.0012626182111,ly:.2,lz:10,relativeAngle:4.717439442493762,leftPoint:[-14.856973979261348,57.94197664732871,.1],rightPoint:[-14.356973979261365,-41.05802335267131,.1],leftJoints:["tysEJM9hUShvginx4rYC7K"],rightJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"sdKSXeQhAWxE6ifCs1d6RC",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Cuboid",cx:34.8305400791776,cy:-52.42058894277254,cz:6,lx:7.619334475628514,ly:5.299339135336109,lz:12,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.5484342228590808],parentId:"Ground",selected:!1,id:"aLpgA6ukywKpo8YHkCPK9Z"},{type:"Window",cx:-.2701985741652489,cy:.1,cz:.325,lx:.44948921683564763,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"dXdqLZ7zgTd93oqrXfjWsJ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-358855390814681e-31,cy:.1,cz:-.4,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"xi8z9Sz8uH7vazDgmc3RCx",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jack",cx:.6384948916889619,cy:-.2839733771670918,cz:5.999999999999999,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"aLpgA6ukywKpo8YHkCPK9Z",id:"ddYtbAhoUpyMoKhVhaAQGE",selected:!1,ly:.42},{type:"Window",cx:0,cy:.1,cz:0,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aziCwtJpaGh65HD2YLn8fS",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:1.5252168961263317,cy:51.80939453669954,cz:0,lx:20.031488630531463,ly:.2,lz:9,leftJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],rightJoints:["nWPXmVRMzHKyjWryQf87JS"],leftPoint:[11.540961211392062,51.809394536699536,0],rightPoint:[-8.490527419139399,51.80939453669955,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qsREzsezLRHaTka6P3qi8E",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:11.7913548192737,cy:-3.284592727383899,cz:0,lx:110.1891125223151,ly:.2,lz:9,leftJoints:["dkmWHRoyM37TP1ais2mnQQ"],rightJoints:["qsREzsezLRHaTka6P3qi8E"],leftPoint:[12.041748427155346,-58.37857999146732,0],rightPoint:[11.540961211392053,51.80939453669952,0],relativeAngle:1.5753411400554025,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kuZyRXr6X1ZZLgvnEdPLQW",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-3.2436892780431448,cy:-58.47348142439061,cz:0,lx:30.571464611396937,ly:.2,lz:9,leftJoints:["ihGgAKbhoAEwWeLnpFQBfw"],rightJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],leftPoint:[-18.52912698324161,-58.568382857313914,0],rightPoint:[12.041748427155321,-58.37857999146732,0],relativeAngle:.006208537524114639,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dkmWHRoyM37TP1ais2mnQQ",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-18.52912698324161,cy:-52.1159338984573,cz:0,lx:12.904897917713235,ly:.2,lz:9,leftJoints:["qXr3hrbfNKc7RCzq91xbXK"],rightJoints:["dkmWHRoyM37TP1ais2mnQQ"],leftPoint:[-18.52912698324161,-45.66348493960068,0],rightPoint:[-18.52912698324161,-58.568382857313914,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ihGgAKbhoAEwWeLnpFQBfw",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",studSpacing:200,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-7.989740203376101,cy:3.1678562314727046,cz:0,lx:97.2882323106823,ly:.2,lz:9,leftJoints:["qsREzsezLRHaTka6P3qi8E"],rightJoints:["qXr3hrbfNKc7RCzq91xbXK"],leftPoint:[-8.490527419139399,51.80939453669955,0],rightPoint:[-7.488952987612803,-45.47368207375414,0],relativeAngle:-1.5605012263432012,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nWPXmVRMzHKyjWryQf87JS",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Default",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:2.6802301363018337,cy:-.008091723250991834,cz:.075,lx:47.100258882021336,ly:155.2816074058604,lz:.15,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s7XmQ94X6RJALjEtkckmRw",selected:!1},{type:"Wall",cx:-13.009039985427215,cy:-45.568583506677385,cz:0,lx:11.041805422196214,ly:.2,lz:9,leftJoints:["nWPXmVRMzHKyjWryQf87JS"],rightJoints:["ihGgAKbhoAEwWeLnpFQBfw"],leftPoint:[-7.488952987612821,-45.47368207375409,0],rightPoint:[-18.52912698324161,-45.66348493960068,0],relativeAngle:-3.1244023294596825,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qXr3hrbfNKc7RCzq91xbXK",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["ihGgAKbhoAEwWeLnpFQBfw","dkmWHRoyM37TP1ais2mnQQ","kuZyRXr6X1ZZLgvnEdPLQW","qsREzsezLRHaTka6P3qi8E","nWPXmVRMzHKyjWryQf87JS","qXr3hrbfNKc7RCzq91xbXK"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"715hHLBU5uPxPmY3VTjteR",sideColor:"#999999",rise:0,ceiling:!1},{type:"Wall",cx:-10.356973979261362,cy:-41.05802335267131,cz:0,lx:8.000000000000007,ly:.2,lz:10,leftJoints:["sdKSXeQhAWxE6ifCs1d6RC"],rightJoints:["1sYogQ8Va73vub552Dsk1p"],leftPoint:[-14.35697397926136,-41.05802335267131,.1],rightPoint:[-6.356973979261358,-41.05802335267129,.1],relativeAngle:35527136788004978e-31,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dfk6k28j8Rsu1Q1oCp7zKp",parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",studSpacing:200,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:1.4207056572728782,cy:46.41750725666692,cz:0,lx:18.6588866759028,ly:.2,lz:5.794050119631874,leftJoints:["jG1casp2JsBCa6isf6jPBp"],rightJoints:["tYVF4f8huJSYi3SnemH2U3"],leftPoint:[10.750148995224277,46.417507256666916,0],rightPoint:[-7.908737680678521,46.41750725666693,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hNWXBkU3b39gF1yUGHaJqP",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:5.794050119631874,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:10.983385078673063,cy:-2.9427598627993987,cz:0,lx:98.72163631495759,ly:.2,lz:5.794050119631874,leftJoints:["iFwuQS6DyWdjrRQbrM6EVe"],rightJoints:["hNWXBkU3b39gF1yUGHaJqP"],leftPoint:[11.21662116212185,-52.3030269822657,0],rightPoint:[10.750148995224274,46.4175072566669,0],relativeAngle:1.5755214703412732,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jG1casp2JsBCa6isf6jPBp",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:5.794050119631874,centerRoofHeight:[-.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:2.109769329329133,cy:-52.165708324365085,cz:0,lx:18.215774122254274,ly:.2,lz:9.013429915065354,leftJoints:["tYVF4f8huJSYi3SnemH2U3"],rightJoints:["jG1casp2JsBCa6isf6jPBp"],leftPoint:[-6.997082503463552,-52.028389666464484,0],rightPoint:[11.216621162121818,-52.30302698226569,0],relativeAngle:-.015077466364245784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iFwuQS6DyWdjrRQbrM6EVe",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:9.013429915065354,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.013429915065354,rightTopPartialHeight:9.013429915065354},{type:"Wall",cx:-7.452910092071025,cy:-2.805441204898788,cz:0,lx:98.45011800989347,ly:.2,lz:5.794050119631874,leftJoints:["hNWXBkU3b39gF1yUGHaJqP"],rightJoints:["iFwuQS6DyWdjrRQbrM6EVe"],leftPoint:[-7.908737680678497,46.41750725666691,0],rightPoint:[-6.997082503463552,-52.028389666464484,0],relativeAngle:-1.5615361224898512,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tYVF4f8huJSYi3SnemH2U3",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:9.013429915065354,centerRoofHeight:[.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Foundation",cx:-16.35434154408445,cy:-4.658194992756286,cz:.1,lx:43.87284485416718,ly:139.1211999878274,lz:.2,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aLEzp9hfrYz6biKQBY4n26",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["iFwuQS6DyWdjrRQbrM6EVe"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",id:"tknPcP8JDek1GProeixsEp",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],sideColor:"#999999",rise:0,ceiling:!1},{type:"Window",cx:0,cy:.1,cz:.325,lx:.9742789087050032,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"t2Cw4N4TZZkGP5BoLeNcKe",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0019768216134676713,cy:.1,cz:-.005731530796598517,lx:.9782325519319385,ly:.2,lz:.21146306159319703,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qwSoMqqWcK4TDa7AjgWqwH",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:4554386849898802e-32,cy:.1,cz:-.4,lx:.9742789087050032,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m3ekqWg3Hj5f3LitnJWBy1",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:.325,lx:.9729631020395402,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"gvpuFXmeNDDeRKgSmwP1CZ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:-.05,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eCbjoFBaHQiuQUKYuZoFfR",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.4,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jFDknbsuGgwqRxzvsmU4CQ",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-17.46381887736557,cy:-41.9816536072657,cz:.05,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",id:"c9HstzWD7XzAFugKNugMuy",selected:!1,ly:.55},{type:"Window",cx:-.45740372646398547,cy:.1,cz:.25,lx:.07195114798309891,ly:.2,lz:.3888888888888889,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nWPXmVRMzHKyjWryQf87JS",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wuQewUkoGaBsjuzjt5f5uH",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:2.5,poleRadius:.05,poleSpacing:5,cx:-.08476384816809007,cy:.25788159693893226,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"vqvQktRu6i8bL8ZiGaoGnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1615496100848164,cy:.25770817536556956,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wdbtnJ1XkcTwDSb8wiEMKL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08010322022532794,cy:.09848093983788882,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"32oGsayzWtjfS2sR392vRy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15821694625943433,cy:.09899040837617899,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e6f94dRNL6XBpsmcrnKDU9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1544950822019521,cy:-.05668699528465417,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wzKUNhsTS2CEWiU4WpUm2j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08173283819450536,cy:-.056114317250364976,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"mKWB3USg3dr53V5yqbCZHD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08275541478239372,cy:-.21595299989492936,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"t9dCrMhmdqRDyewscNhEss",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.060547048383927105,cy:-.3528469086181044,cz:9.2,lx:27.776,ly:3.936,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"7UbuZjpocqLztS4V8bYdKv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15077186158226766,cy:-.21881896397118786,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e5YYaGmX4NkSq53yXqBiSb",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4500000000000003,y:-.425},{x:-.4500000000000003,y:-.17499999999999996},{x:-.2833333333333334,y:-.17499999999999996},{x:-.2833333333333334,y:-.425}],parentId:"1sYogQ8Va73vub552Dsk1p",parentType:"Wall",foundationId:"fAfbfM7oEHfq1VBgchFech",selected:!1,filled:!0,selectedIndex:3,id:"mMTWwGXVY6tHrH3tFfFj84",text:"P",fontColor:"black",fontOutlineColor:"white",fontOutlineWidth:.1,fontSize:2}],p7n=106,g7n={dailyPvYieldPanelX:0,mapPanelY:158,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[16.929262825751,-28.15408933210822,-58144424349073707e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:248,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[16.929262825751,-28.154239338775618,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.677779559893043,-87.22834473506032,67.89303797087159],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:9.265824603195062,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.0532361348326695,-29.239499866887954,4.7578192072686045],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:7,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:353,height:64},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},m7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},y7n=1,A7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},w7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},v7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},x7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},b7n="Unknown",S7n=null,T7n=null,P7n=null,C7n=["Hypothetical solar canopies for a garage"],R7n={docid:a7n,time:l7n,timestamp:s7n,userid:c7n,owner:u7n,email:d7n,world:f7n,elements:h7n,sceneRadius:p7n,view:g7n,graphState:m7n,evolutionMethod:y7n,solarPanelArrayLayoutParams:A7n,solarPanelArrayLayoutConstraints:w7n,evolutionaryAlgorithmState:v7n,economicsParams:x7n,modelType:b7n,modelAuthor:S7n,modelLabel:T7n,modelDescription:P7n,notes:C7n},H7n="9FwzvKbLoEC3qk3HcYhpK3",M7n="02/04/2023 02:19 pm",I7n=1675538359367,z7n="QWecNcxhyvP6j6sBN11hBsfZDau1",D7n=null,E7n=null,k7n={noAnimationForSolarPanelSimulation:!1,latitude:37.4924685,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-121.944697,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"45500 Fremont Blvd, Fremont, CA 94538, USA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"1/1/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},F7n=[{type:"Foundation",cx:-.08114032291986462,cy:.04294942268642887,cz:.05,lx:77.18969112756628,ly:25.114558892189873,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!1},{type:"Wall",cx:16.394958493767938,cy:-6.958678279965962,cz:0,lx:34.5,ly:.3,lz:20,relativeAngle:0,leftPoint:[-.6550415062320631,-7.358678279965961,.1],rightPoint:[33.84495849376793,-7.358678279965961,.1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8BJFAiWAksi5iXqqAXG3m7",wallStructure:"Default",opacity:0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.272463768115942,cy:0,cz:.445,lx:15.6,ly:1.2,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wGRXvcE2DsAaZztwb6HksP",selected:!1},{type:"Human",name:"Jedi",cx:25.350323157691225,cy:-8.982865067578267,cz:.05000000074505806,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iDRReqKwNSn3MdzCD9xntV",selected:!1,ly:.56},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23768115942028983,cy:0,cz:-.0050000000000000044,lx:6,ly:4.8,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kDSDBXNMTiTKABtDtEoTPM",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:2960594732333751e-30,cz:.17517500000000008,lx:3.5999999999999996,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3R99UFMtSTu8MpSzhFBEzM",selected:!1,color:"#fff",drawSunBeam:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.3768115942028986,cy:0,cz:.055525000000000005,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2nC5kmMxK27nhcbuLchKpX",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.24057971014492754,cy:0,cz:.26534999999999986,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2f53rLJkYN28GAXqDH43oC",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.08115942028985497,cy:0,cz:-.03447500000000003,lx:2.4,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CLg3vw3R6Mjckp2zLGRcx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.23768115942028983,cy:0,cz:-.21465000000000006,lx:8.4,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3EcpwWTaBMzQ2Wh6WUSfZ2",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:.44517500000000004,lx:33.6,ly:1.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"afQFwUz294V81V8ekAFzoy",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.38840579710144923,cy:0,cz:.025875000000000446,lx:4.8,ly:13.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rvr7kALWbgFepgQwhgLdmn",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.47536231884057967,cy:2960594732333751e-30,cz:-.034299999999999733,lx:1.2,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"h8Kaodh1qXkhqWggo4XUhx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.21449275362318843,cy:0,cz:.02570000000000001,lx:4.8,ly:13.199999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gb2jcBuVudWuAzaQrnkX6y",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30144927536231886,cy:0,cz:-.2143,lx:1.2,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vUqRVHfCe86GnXDtKSxaw8",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.127536231884058,cy:0,cz:.05552500000000036,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uSBaFrGbhmQkQMurd3uJ8K",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.01159420289855071,cy:0,cz:.265525,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n1zXsXRnujYqMASe1WUKNR",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.11594202898550725,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1bjxTFMmzz4rPmQkK5vxos",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550721,cy:0,cz:.025,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kXtBHayvf3Tvd93XA15jDA",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:-.21447500000000003,lx:7.199999999999999,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7g2C2UieAJmWoyUM62ZQ2a",selected:!1,color:"#fff"},{type:"Wall",cx:-17.344845563783142,cy:-6.9427205539050725,cz:4.230734017714145,lx:34.5,ly:.3,lz:20,leftJoints:["gPxD8gV5byhzgQKdBBgMTy"],rightJoints:[],leftPoint:[-34.59484556378314,-6.9427205539050725,.1],rightPoint:[-.09484556378314224,-6.9427205539050725,.1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7cDw6CDEimwyt2K7C9p2yW",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",wallStructure:"Default",opacity:0,selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",cx:.255072463768116,cy:0,cz:.265,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wFqugJCgR6UNZP8KrBbWpt",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.35942028985507246,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4jWvM8cSUfsXRSp6TmJ2Gg",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.22028985507246376,cy:0,cz:.025174999999999993,lx:5.999999999999999,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"toAqeegGXNvuKLhennKVzP",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.23768115942028983,cy:0,cz:-.21447500000000003,lx:7.199999999999998,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"saA7QrRCNPT5wTdbHg5J4Z",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.44637681159420284,cy:-11842378929335004e-30,cz:.1753500000000002,lx:2.4,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1muJg2Kq7Xbc14wrpktdBf",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.42898550724637674,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"d7sb6VcbzjaYN3rbM9eNEy",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cog6ySXPfBh8EbJAcymKkb",selected:!1,color:"#fff"},{type:"Wall",cx:-34.64742278189158,cy:2.0786397230474662,cz:0,lx:18.04302697558712,ly:.3,lz:20,relativeAngle:4.718216995364466,leftPoint:[-34.7,11.100000000000001,0],rightPoint:[-34.59484556378315,-6.942720553905069,0],leftJoints:["doTJdkASNxSDmLf9c3Pegr"],rightJoints:["7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gPxD8gV5byhzgQKdBBgMTy",roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.4000000000000057,cy:11.099999999999998,cz:0,lx:68.6,ly:.3,lz:20,leftJoints:["6iADGugkaqZHafimZHuePH"],rightJoints:["gPxD8gV5byhzgQKdBBgMTy"],leftPoint:[33.89999999999999,11.099999999999996,0],rightPoint:[-34.7,11.100000000000001,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"doTJdkASNxSDmLf9c3Pegr",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:33.791618329408095,cy:2.180852804801064,cz:0,lx:17.839611349594517,ly:.3,lz:20,leftJoints:[],rightJoints:["doTJdkASNxSDmLf9c3Pegr"],leftPoint:[33.6832366588162,-6.738294390397874,0],rightPoint:[33.9,11.100000000000001,0],relativeAngle:1.5586453515816485,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"6iADGugkaqZHafimZHuePH",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Window",cx:.22463768115942012,cy:.1,cz:.15000000000000005,lx:.4782608695652177,ly:.3,lz:.6000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qQynJ4ikT8Jys2hyueRjYG",opacity:.9,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["6iADGugkaqZHafimZHuePH","doTJdkASNxSDmLf9c3Pegr","gPxD8gV5byhzgQKdBBgMTy","7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sGiZvGvnHnyEYkatVrLiX7",rise:0,ceiling:!1},{type:"Window",cx:.22463768115942023,cy:.1,cz:-.325,lx:.4782608695652175,ly:.3,lz:.3,mullionWidth:.1,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jd3R2J1QYzh9JuC9phYqVK",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#009ce0",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.8,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joey",cx:27.81441583822325,cy:-8.684480883806081,cz:.05000000074505806,lx:.462,ly:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fGLWCfzEic9oaSWyEnfb8i",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550683,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:32.4,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n8XPZ6tgzkn2e4GV2EzSXQ",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30724637681159417,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:13.2,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"ekdf8pAm7pTKeoNrT8Tsaw",selected:!1,color:"#fff"},{type:"Tree",name:"Coconut",cx:-37.29836295160464,cy:6.720238350736238,cz:.05000000074505806,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bieAeuuP4wJ8YMzJZ42ius",selected:!1},{type:"Tree",name:"Coconut",cx:-37.9321629780283,cy:-10.933241760578944,cz:.050000000745059836,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1BTxRyn2gu6uRotoQP2TPa",selected:!1},{type:"Tree",name:"Coconut",cx:36.96142302143514,cy:-12.152019969014674,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"45HuTdkFeGkSbAuGPLxP7t",selected:!1},{type:"Tree",name:"Coconut",cx:37.37981081167908,cy:8.010864765015526,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gQacj5zT5LnDR4eGQGkjvL",selected:!1},{type:"Window",cx:-.3014492753623188,cy:.1,cz:.38499999999999995,lx:.30724637681159417,ly:.3,lz:.049999999999999864,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wWxvu5H2MuoVyv6ABdSbEK",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3028985507246377,cy:.1,cz:.11749999999999998,lx:.03188405797101443,ly:.3,lz:.475,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eREbGbTDZGJcxYejLHJP9R",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09420289855072465,cy:.1,cz:.14499999999999996,lx:.031884057971014505,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rHF8v4bUPPQWeN1QG5CD8Z",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231944,cy:.1,cz:.38999999999999996,lx:.1710144927536233,ly:.3,lz:.049999999999999954,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1iamFXUWAL4NspqHjRqj9C",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231887,cy:.1,cz:.14499999999999996,lx:.16521739130434784,ly:.3,lz:.06000000000000005,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kwg8jL3PhhkSHEUBWoJRhB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.008695652173913031,cy:.1,cz:-.0975,lx:.16811594202898547,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eBcZrL2nPnHJENRw34vkgb",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:.3849999999999999,lx:.2086956521739131,ly:.3,lz:.05999999999999979,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tNMjGGfcx6yh5WH83NpPfT",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.15072463768115943,cy:.1,cz:.23249999999999998,lx:.0347826086956522,ly:.3,lz:.23500000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cSnVNjSPe2y5ibKDfks9cp",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2565217391304348,cy:.1,cz:.14500000000000002,lx:.17101449275362315,ly:.3,lz:.049999999999999975,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oQPXqj5b7fi9mxcYzLVwxU",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:-.09500000000000001,lx:.2086956521739131,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"acu7FEv3n3KgU2sbERHsq8",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32608695652173914,cy:.1,cz:.030000000000000006,lx:.03188405797101453,ly:.3,lz:.16999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"mwtc1MiJNhvF5Wp2hfBGbo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3942028985507246,cy:.1,cz:.14499999999999996,lx:.0347826086956522,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"xjxbBTagEoUGRvE4BqcQ8X",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4463768115942029,cy:.1,cz:-.0975,lx:.06376811594202897,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gopaxkwtRfTqBUgmdgUeeB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.44637681159420284,cy:.1,cz:-.09500000000000001,lx:.10434782608695652,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qtFXnqjWpK5EGFhJVApZG1",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.3850000000000001,lx:.2405797101449276,ly:.3,lz:.05999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n3FzBgTqGZAf3tAvrhJnpS",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.34347826086956523,cy:.1,cz:.11250000000000004,lx:.031884057971014484,ly:.3,lz:.4749999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wN26cpvDFmXpaVZ9fzFKx6",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.1333333333333334,cy:.1,cz:.11499999999999999,lx:.034782608695652126,ly:.3,lz:.47000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a6Zd5eVvPewZw6pi9G6fFn",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.145,lx:.17101449275362318,ly:.3,lz:.06000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jXiZzAe8xydxZFiw3kYxPd",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231873,cy:.1,cz:-.35,lx:.9304347826086955,ly:.3,lz:.09000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kWayuyUJ3NCoJ76cAXXsb2",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.30869565217391304,cy:.1,cz:-.35,lx:.37391304347826093,ly:.3,lz:.08000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4sc4zQh2e4rskEdUjC7bwE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Flower",name:"Boxwood",cx:-33.25171795779697,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2qoyCTh6RmtgUKGjienf6c",selected:!1},{type:"Flower",name:"Boxwood",cx:-30.051717957796967,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"27S95LNhtfhhNdrfhLb63X",selected:!1},{type:"Flower",name:"Boxwood",cx:-26.851717957796964,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4EzEYN7UN51NGA1h2gYf6h",selected:!1},{type:"Flower",name:"Boxwood",cx:-23.65171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aMDDZrStJb88k8cjNdHTyX",selected:!1},{type:"Flower",name:"Boxwood",cx:-20.45171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bmyWAH2NGyagaGJf2zR8wZ",selected:!1},{type:"Flower",name:"Boxwood",cx:-17.251717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qjnbGRzmuBcffGRPmRHiD4",selected:!1},{type:"Flower",name:"Boxwood",cx:-14.051717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2kbr1bEYWRM4qt64AXRioR",selected:!1},{type:"Flower",name:"Boxwood",cx:-10.851717957796957,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wPVJmyDJeSE1u47UPb87pe",selected:!1},{type:"Flower",name:"Boxwood",cx:-7.651717957796958,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7fEUD44paZGx4eApcgVBdW",selected:!1},{type:"Flower",name:"Boxwood",cx:-4.451717957796959,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iz1HshbMuyvDyuUFjjNVmm",selected:!1},{type:"Flower",name:"Boxwood",cx:-1.2517179577969584,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1HnQLoEVsBHHwYnQM4daRk",selected:!1},{type:"Flower",name:"Boxwood",cx:1.9482820422030418,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tHugAGpHLnMfQJaJDiLNgW",selected:!1},{type:"Flower",name:"Boxwood",cx:5.148282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fNGZwXhHJCEaTdeKtqi7LN",selected:!1},{type:"Flower",name:"Boxwood",cx:8.348282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"x9veDZdEDkbTP24vXAaH9a",selected:!1},{type:"Flower",name:"Boxwood",cx:11.548282042203041,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aW9z1qFcCFUJKw1kfwTUs9",selected:!1},{type:"Human",name:"Jack",cx:-36.639233371667494,cy:-11.25138408484107,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bQ8SMNuHJbe3JAwpYi8Bx3",selected:!1,ly:.42}],L7n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[-38.175932678703475,-44.876912777413864,6.961313205634463],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[7.187719821125536,18.770050283059465,6.961313205634463],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Desert",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:13.26840862578125,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.857600787569247,2.944578579032461,29447094632855078e-22],cameraPosition2D:[21.857600787569247,2.944428572365064,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},W7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},N7n=1,U7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},B7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},j7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Y7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},O7n=[],_7n={docid:H7n,time:M7n,timestamp:I7n,userid:z7n,owner:D7n,email:E7n,world:k7n,elements:F7n,view:L7n,graphState:W7n,evolutionMethod:N7n,solarPanelArrayLayoutParams:U7n,solarPanelArrayLayoutConstraints:B7n,evolutionaryAlgorithmState:j7n,economicsParams:Y7n,notes:O7n},V7n="1VPKxyH9hMKodx5PZBsKF9",G7n="02/02/2023 08:19 pm",X7n=1675387154116,J7n="QWecNcxhyvP6j6sBN11hBsfZDau1",K7n=null,q7n=null,$7n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},Q7n=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#ffffff"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.38935296591314916,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.01688904665567762,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!0,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.092,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!1,label:"Row2",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.138,selected:!1,orientation:"Landscape",cx:.013031122906363104,relativeAzimuth:0,cy:-.18800180696869379,poleHeight:1,drawSunBeam:!0,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{poleRadius:.05,type:"Solar Panel",lx:17.138,lz:.046,relativeAzimuth:0,drawSunBeam:!0,rotation:[0,0,0],ly:2.092,normal:[0,0,1],poleSpacing:3,cx:.014926747515468942,trackerType:"None",cy:.014703568726943495,label:"Row3",cz:.5000000074506161,orientation:"Landscape",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{orientation:"Landscape",lx:17.138,showLabel:!1,id:"jLa9TCA6bfQFuaoHYKZtr7",poleHeight:1,drawSunBeam:!0,cy:.18975053307599946,selected:!1,ly:1.596,label:"Row4",poleSpacing:3,cx:.012922602074816969,type:"Solar Panel",cz:.5000000074506161,rotation:[0,0,0],lz:.046,poleRadius:.05,trackerType:"None",tiltAngle:.5235987755982988,normal:[0,0,1],relativeAzimuth:0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:.011234729062103974,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.138,ly:1.596,rotation:[0,0,0],cy:.35915527919266454,drawSunBeam:!0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{type:"Human",name:"Jack",cx:-8.559844752666184,cy:-5.056987011387983,cz:.05000000074505784,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1}],Z7n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-10.001667461924015,-11.422813610974892,1.2577590090789499],panCenter:[.22138352296916342,-.3133299860057419,1.2290156417830225],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!0,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:200,height:69}},e8n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},t8n=1,n8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},o8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},i8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},r8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},a8n=["Floatovoltaics"],l8n={docid:V7n,time:G7n,timestamp:X7n,userid:J7n,owner:K7n,email:q7n,world:$7n,elements:Q7n,view:Z7n,graphState:e8n,evolutionMethod:t8n,solarPanelArrayLayoutParams:n8n,solarPanelArrayLayoutConstraints:o8n,evolutionaryAlgorithmState:i8n,economicsParams:r8n,notes:a8n},s8n="r7rAdLj2bzBDq2GS1CnPhs",c8n="12/03/2023 04:15 PM",u8n=1701638157224,d8n="QWecNcxhyvP6j6sBN11hBsfZDau1",f8n=null,h8n=null,p8n="1.5.4",g8n={latitude:21.26999081653234,pvGridCellSize:.5,timesPerHour:4,longitude:-157.79987618634874,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"4303 Diamond Head Rd, Honolulu, HI 96816, United States",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},m8n=[{cy:.9722009313455304,normal:[0,0,1],lz:.1,ly:14.358919231269399,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.3854097604402611,cz:.05,rotation:[0,0,0],lx:37.46430380942354,selected:!1,parentId:"Ground",textureType:"Foundation Texture #3"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.4001152441146478,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.2534759364667544,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.712,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:-.24807731949020181,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.712,ly:1.984,rotation:[0,0,0],cy:.3130126725192229,drawSunBeam:!1,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{type:"Foundation",cx:-.07910485276111778,cy:2.9099830956896398,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1Tke71vAoWuRt2r5v2CSYZ",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"35HtXQRVRTJqsvcy71eZBd",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fmSSfxugyyXcaFPGp5J2GH",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"r1axrjm2UGjTBQPRnRKw1U",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o6SdXUMbUBjNMc2SCs1Pqu",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nkBbAZdoKvnThFLy1td116",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"srkmySETFJsYm7J8quA3u2",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:.8963977881664541,lz:1.2127808163464167,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2kmwtuQn7hFn7tffKEXSXb",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fG9ydmQQYpah6b1GcbZ59Q",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cgtEAVRi5nWuhmKxX6g4z5",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"przZJKcdsmf3AyEn87SwPT",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wUrT7zxrNMXpZdhUKyq5x6",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wntymhbHuaV7gtGi2EKDo7",selected:!1},{type:"Human",name:"Jack",cx:3.5761554401177627,cy:10.141850723436477,cz:-3552713678800501e-30,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hYuqwxLBfjhYZrxPJu2S8L",selected:!1},{type:"Foundation",cx:.13851040605918286,cy:13.590779733945908,cz:.05,lx:38.38905435254204,ly:3.1484982131688,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"uUai6Yn6y8nHmN3tf9ahyx"},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fe3JUD33oYRwCBbynb56a6",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"b9kHqFvP9UMct1EmYHLa8B",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"4v5HJbcnyM8oRxQZgZVsFX",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"jpZJvpTbQ2E3HeJKSSDDKE",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"8uqevdQdeBV5zYzHrgq3Zh",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"ehkm6HNVcvwQd4qavWsxgH",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.1894655061100838,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"mLwM3h5i56JQA5TFe7ZiDv",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"7GwaXerEUULBZK3RvssSh4",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o51PX9nDXBoHsRrR8Uu3uf",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.764310209952872,lz:1.265757986719473,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"9F5Dsns2uqudj67bhcfCuw",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nk4dmSLi3sQsGHDhERhaBY",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"g2UDZFQDMS1tCLiVCT9tfK",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2mrMmxPqKbQr6oZ7YUWRD8",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cyqhBaUdyZEb9qiSvsXab5",selected:!1},{type:"Foundation",cx:-.07054167332229894,cy:-2.024806657915021,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{},rValue:2,id:"96KwVrDfi16QfHLR93Yusp",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"a49icarmzkr5QwqsUwcbKA",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eLvpYKupN3ZLTR6HGQMJkt",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"7rJcFKWtrJvxRyWnzd6WkS",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.0628678085816343,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"rtyCUEBjykc41yoAS8xvzF",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KPWZLD6vF24DfPuM2Sk5U",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"vmVbUtrDPqovRK9e9VXmvi",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"uZEQRAZoWqCdb9t2vARZDK",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1673145007663057,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"3kqBZrSL44dhijeAviDVUt",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"fHWcVVyZeJR1UETUCJVtfh",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"pPESS4LE2RduK16iCF4KdD",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qZrj5i9EwWchq9UModX2KJ",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1292047414746058,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"g9GCKKyuBxSMt9EkVXcwb6",selected:!1},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qi19BZSTrFFjKcH9LHmHer",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.2,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"6fapqZiLRvqTC3noQ9qV1n",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eTJ54zfhEY587nX7Gwwzrt",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"mnoQ28t4Sb3TFQnqEQMGRc",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"wfaEEGtnAgNTCdGMsUUEBg",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"aE4gaTgQS5D99ihfN5N1k6",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"iVwdm91NiMXw2bhPisFykP",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"1ZKagttn6ByMzdnHsckbRB",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4DbKV3HWjhBz2GFmeLXq5c",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"dXC8aLV5gZJNyUdCNmpiZ8",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"gi688GyqFP38jz93UfzMgz",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"d5fHKRcHkVJqL5GKmd9LDf",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"13n9gQqcnRjZGsNhYWB4CN",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4443308509644897,lz:1.3412576094365443,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KJo99ghaNG7xtsX7Kn1N3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25983646910764824,cy:.3133093731438954,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bagts7BbZy9iCcoduMfEgD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:-.2523128881468759,cy:-.049773566907739965,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pj2L9vfZSZQi8e9gAooky6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25728154613970783,cy:-.04340299144144473,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCxFDu9XteXqYUHTDEDNzj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.2576243996790015,cy:-.39678149415706165,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mnrNeCQGtprG4bege1iS2k",selected:!1},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:.3229647560258571,cy:-.024310522113242205,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"tSaXBUZ4vhyAW1v5cyaAsR",selected:!1,initialRotorAngle:.5235987755982988,pitchAngle:.20943951023931956},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:-.3557792798597688,cy:.20081385230735016,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"ihuq9s7iV15JQwWEWj6cns",selected:!1,initialRotorAngle:1.3962634015954636,pitchAngle:.20943951023931956}],y8n=24,A8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:21,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[5.592328859316375,-28.430996692941612,7.190377220372418],panCenter:[5.753820002631499,6.322778695844774,6.457742384767832],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[4.5991440976008455,6.337014925329444,150],panCenter2D:[4.5991440976008455,6.338015302774838,64403155386807335e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showMapPanel:!1,solarRadiationHeatMapMaxValue:4,showStickyNotePanel:!1,stickyNotePanelRect:{x:0,y:0,width:205,height:68},navigationView:!1},w8n=!1,v8n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},x8n=1,b8n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},S8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},T8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},P8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},C8n="Unknown",R8n=null,H8n=null,M8n=null,I8n=null,z8n=["Agrivoltaics"],D8n=3,E8n=3,k8n={docid:s8n,time:c8n,timestamp:u8n,userid:d8n,owner:f8n,email:h8n,version:p8n,world:g8n,elements:m8n,sceneRadius:y8n,view:A8n,animate24Hours:w8n,graphState:v8n,evolutionMethod:x8n,solarPanelArrayLayoutParams:b8n,solarPanelArrayLayoutConstraints:S8n,evolutionaryAlgorithmState:T8n,economicsParams:P8n,modelType:C8n,modelAuthor:R8n,modelLabel:H8n,modelDescription:M8n,designProjectType:I8n,notes:z8n,minimumNavigationMoveSpeed:D8n,minimumNavigationTurnSpeed:E8n},F8n="3kTPvbTLo3JfCvHCNFYb8C",L8n="02/02/2023 05:19 pm",W8n=1675376390119,N8n="QWecNcxhyvP6j6sBN11hBsfZDau1",U8n=null,B8n=null,j8n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/01/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},Y8n=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:20.344194814255086,label:"R22"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:20.344194814255086,label:"R23"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:20.301130494002802,label:"R24"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"R21",dailyYield:20.423474876035336},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:20.34600992389522,label:"R25"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.23276330833803774,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"oPGVYYGkGqjKAWacgXTr35",selected:!1,dailyYield:11.705639294931665,label:"R12"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"aiWW32QVkCjCBwtDMtjsXr",selected:!1,dailyYield:20.423474876035336,label:"R11"},{type:"Foundation",cx:-9.466959404203182,cy:-.00920136097199542,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7LGxrgEwehUWBo5dH7C67q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:-.09409066127900084,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"gFDw5Wxzxz1fZY32qoSLoy",selected:!1,dailyYield:11.694143838550957,label:"R13"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.044581985780036054,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"3seUSu69aBJbCMJ1QTweLi",selected:!1,dailyYield:11.705639294931665,label:"R14"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967656,cy:.18325463283907295,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"hgGFwiEpscwf16U1io4zpD",selected:!1,dailyYield:11.705639294931665,label:"R15"}],O8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[24.035965357730035,-22.736672617703796,26.412316296073463],panCenter:[14.509957884993852,2.01433946065165,2.596734324796276],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:253,height:65}},_8n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},V8n=1,G8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},X8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},J8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},K8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},q8n=["Effect of interrow spacing"],$8n={docid:F8n,time:L8n,timestamp:W8n,userid:N8n,owner:U8n,email:B8n,world:j8n,elements:Y8n,view:O8n,graphState:_8n,evolutionMethod:V8n,solarPanelArrayLayoutParams:G8n,solarPanelArrayLayoutConstraints:X8n,evolutionaryAlgorithmState:J8n,economicsParams:K8n,notes:q8n},Q8n="69tJrD9Uz8P8feZdzUtyXN",Z8n="05/20/2022 12:16 pm",evn=1653063377435,tvn="QWecNcxhyvP6j6sBN11hBsfZDau1",nvn=null,ovn=null,ivn={latitude:37.44574069680563,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-6.249946169311531,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"41800 Sanlúcar la Mayor, Seville, Spain",date:"3/22/2022 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:5,cspTimesPerHour:1,cspGridCellSize:5},rvn=[{cy:53.463080949514506,normal:[0,0,1],lz:.5,ly:806.586647395053,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:11.016365885808142,cz:.25,rotation:[0,0,0],lx:870.6680312936733,selected:!1,parentId:"Ground",locked:!1,solarPowerTower:{towerHeight:40,towerRadious:4}},{type:"Human",name:"Jack",cx:-19.167451192300774,cy:-309.3414199054706,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.0019164258394133288,cy:-.4158344145798274,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.59597205852084,yearlyYield:311.4614380820491,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.007376001317235639,cy:-.36554470178529136,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.888231364804646,yearlyYield:341.6536704139208,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.20537660531292481,cy:-.4193704100106933,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:23.314190283597984,yearlyYield:285.77957159626914,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09582112405795708,cy:-.4382290523086443,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:29.108913473883288,yearlyYield:347.0340046876023,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.054863159129938666,cy:-.464159685468327,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11037999199881661,cy:-.46023080165625374,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.112199850491424,cy:-.3934397768510106,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11802339766776783,cy:-.41308419591137624,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.15769631280660995,cy:-.4511943688884857,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.039576347792036205,cy:-.442943712883132,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.02792925343934858,cy:-.3761526880778888,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07725856743336128,cy:-.42251351706035173,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08781374669048435,cy:-.3977615490442911,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.10419247312395133,cy:-.3682949204537425,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1445933316598364,cy:-.3553296038739013,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.005363008131016386,cy:-.38597489760807163,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1314903505130629,cy:-.4657312389931562,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.12457488824115463,cy:-.36004426444838894,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16424780337999675,cy:-.38518912084565715,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16934340715929755,cy:-.4067979818120592,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04086139758121251,cy:-.3297918590954259,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05978792590432987,cy:-.38361756732082763,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.014291463589143885,cy:-.3961899955194619,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.015554215689618007,cy:-.40483353990602267,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.030306218324089352,cy:-.40876242371809585,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.18645007698980745,cy:-.40994108886171765,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1646117750785182,cy:-.42172774029793714,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.025574586243310056,cy:-.3482576130121696,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.14677716185096534,cy:-.38086734865237665,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1871780203868504,cy:-.38833222789531546,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2064685204084893,cy:-.39697577228187636,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.227942850621257,cy:-.40640509343085185,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.068887218367367,cy:-.33686384995715757,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09873289764612901,cy:-.34629317110613306,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04595700136051335,cy:-.3631873714980474,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.07815734783531385,cy:-.44765837345761983,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07980636932301162,cy:-.37300958102823034,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2483252657384603,cy:-.4201561867731079,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.09999564974660309,cy:-.4610165784186685,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.19736922794545209,cy:-.4417650477395101,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05542026552207203,cy:-.4134770842925835,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.22393916193752067,cy:-.43233572659053454,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.020285847770397398,cy:-.4260495124912175,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08890566178604883,cy:-.3231127566149015,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.034844715711256906,cy:-.3985473258067056,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1817184449090281,cy:-.4291926195408761,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.073789687453056,cy:-.4728032298548879,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.028850331530003406,cy:-.37536691131547417,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.04030429118907922,cy:-.42172774029793714,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11838736936628931,cy:-.43272861497174187,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13840581278497113,cy:-.41740596810465674,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13513006749827772,cy:-.4437294899555085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hrEeQaibYaP57iKo4xufR4",selected:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.043409199470862934,cy:-.38833222820527735,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMTdANgm4PdxeiHcfwzGxe",selected:!1},{type:"Heliostat",cx:.05923081951219652,cy:-.3989402144978749,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t2umoGg8VspP5qdugHevfe",selected:!1},{type:"Heliostat",cx:.05959479121071805,cy:-.4232992941327282,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgWhQhAtyB8sh6AEqfnLMB",selected:!1},{type:"Heliostat",cx:.05886684781367504,cy:-.44569393186154516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PiJNb4AiKgYWDFqfiLnsX",selected:!1},{type:"Heliostat",cx:.08325295161461468,cy:-.4268352895635941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJMkxjENj2xtf6Ek94NEJ",selected:!1},{type:"Heliostat",cx:.10472728182738246,cy:-.4370503874749841,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu9CszAWnNUQxfgY6e4BuN",selected:!1},{type:"Heliostat",cx:.05013152704915935,cy:-.37222380457577764,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mNvmxvTfLNasgrJJBceUa2",selected:!1},{type:"Heliostat",cx:.01773804588074696,cy:-.3392211805543633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPHMz8Zez8DHnqXVJDdKqX",selected:!1},{type:"Heliostat",cx:-.11802339766776783,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3u148SBduXqFBbKh774JFp",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.3584727112335216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dkiRia21pNiw2ZZ9ehmvPz",selected:!1},{type:"Heliostat",cx:-.20901632229813968,cy:-.3702593626697411,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCzcUVZHj8SBGWmTxeVCdH",selected:!1},{type:"Heliostat",cx:-.2290347657168215,cy:-.37968868381871645,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1A8dsYXQfAQaXjXYHYypfP",selected:!1},{type:"Heliostat",cx:-.186086105291286,cy:-.36318737180800925,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sWF3MtvJScjs42n3JPJzBs",selected:!1},{type:"Heliostat",cx:-.15988014299773887,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qJ6i6BJYiz4BtphokxmqSr",selected:!1},{type:"Heliostat",cx:-.13767786938792817,cy:-.33450651997987546,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8VArq9h668zQsZacfABpJx",selected:!1},{type:"Heliostat",cx:-.10965204860177363,cy:-.3180052079691684,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hDWFzcdWPkLhpNc2qDGY97",selected:!1},{type:"Heliostat",cx:-.07798651083040421,cy:-.3034683378644978,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3osCpGC4VNFjdLEnR9ssL",selected:!1},{type:"Heliostat",cx:-.04304522777234147,cy:-.29953945405242466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bEZH7wqmT7kFk43Sb7TJN",selected:!1},{type:"Heliostat",cx:-.060515869301372795,cy:-.3164336544443391,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KkN2FL8QnM1J53hB4Xn2H",selected:!1},{type:"Heliostat",cx:-.02521061454478851,cy:-.3168265428255464,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kDCxHQF3XiaNTHNK5V66Ez",selected:!1},{type:"Heliostat",cx:-.008467916412800107,cy:-.3022896727208758,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"crvXHP85BpYy7AfrCdfGqQ",selected:!1},{type:"Heliostat",cx:.004635064733973385,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MtreSAAK1C6J96mEDGMf5",selected:!1},{type:"Heliostat",cx:-.012107633398015015,cy:-.33332785483625366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e5jtkdQkg5vLr79YkGmJpg",selected:!1},{type:"Heliostat",cx:.02574542324821971,cy:-.3105403287262294,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YLAcSLk3xfAp4c5r9jnnW",selected:!1},{type:"Heliostat",cx:.011550527005881632,cy:-.2956105702403515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w1pjfJGLPZSQFpNzSdhVtD",selected:!1},{type:"Heliostat",cx:.03520868740977837,cy:-.33214918969263163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4HHLNX7pc8ynVjLa3M1tpQ",selected:!1},{type:"Heliostat",cx:.045035923269858516,cy:-.3510078319905826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ePKj6YLxFoSXibXbQUndAB",selected:!1},{type:"Heliostat",cx:.043944008174294044,cy:-.3046470030081197,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6nSgZWsKWCHiVuWk3E9WHV",selected:!1},{type:"Heliostat",cx:.030477055328999,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT5YZAVhbb3hZCQWannx3E",selected:!1},{type:"Heliostat",cx:.01737407418222549,cy:-.2677154951746322,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giZWyJupVbt7L3N3Exx6KE",selected:!1},{type:"Heliostat",cx:-.005556142824628219,cy:-.2783234814672297,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bzoJ5edfakL2yrcp9BQhB9",selected:!1},{type:"Heliostat",cx:-.026302529640352984,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rKs5TmBLfGe1R4gmQLWbCL",selected:!1},{type:"Heliostat",cx:-.062335727793980285,cy:-.29089590966586376,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2CFM3oUCe7xRVZWhn2bpoF",selected:!1},{type:"Heliostat",cx:-.09727701085204306,cy:-.2999323424308765,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n3zXksYZLyDrdVy3Mr5bjz",selected:!1},{type:"Heliostat",cx:-.1307624071160199,cy:-.3136834357758604,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tKTj5ruzDm2LDUQttBKZuC",selected:!1},{type:"Heliostat",cx:-.15332865242435212,cy:-.30975455196378715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8Wrax3edyeNcguwLnRGXNE",selected:!1},{type:"Heliostat",cx:-.11765942596924632,cy:-.2912887980470435,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe4keTpM3Nxqxi8VTBVkBA",selected:!1},{type:"Heliostat",cx:-.10382850142542982,cy:-.2704657138430559,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cu8vDmF3mr6d486SRs8SVM",selected:!1},{type:"Heliostat",cx:-.08453800140379099,cy:-.2779305930859948,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qVS1NQxjbM2xAQU2dHHvRU",selected:!1},{type:"Heliostat",cx:-.0641555862865877,cy:-.2637866113625315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdggQyC48dvj95izyNr5AC",selected:!1},{type:"Heliostat",cx:-.045593029661991816,cy:-.27360882089271443,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vPgz2pQL9AveqJGFTntUuC",selected:!1},{type:"Heliostat",cx:-.02448267114774558,cy:-.2598577275504585,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4WD9oiEgpbrtpGdNkRWVx7",selected:!1},{type:"Heliostat",cx:.054863159129938666,cy:-.2763590395611656,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1w2pYGTGqA6behkJEfLcAj",selected:!1},{type:"Heliostat",cx:-.13949772788053558,cy:-.2932532399530801,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8mK23ihYB6sUrakd88UX1",selected:!1},{type:"Heliostat",cx:-.17553092603416284,cy:-.3140763241570676,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gzBAFojWt7yjzaVPbVngNE",selected:!1},{type:"Heliostat",cx:-.18353830340163557,cy:-.33725673864829914,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qW18dh2SyEZXtSs5ZncgMF",selected:!1},{type:"Heliostat",cx:-.20610454870996778,cy:-.34236428760399423,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MzjLhQ1k16rfXY1x49HYf",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.28696702585376305,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"smNLCMky9o9MmdQJkRyv9F",selected:!1},{type:"Heliostat",cx:-.2516010110251537,cy:-.39068955849252135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nyYdfe47Tnu2fkkQUpKj1e",selected:!1},{type:"Heliostat",cx:.057410961019589084,cy:-.323898533687278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rZGMeCkjHUbBEScHVmXvBY",selected:!1},{type:"Heliostat",cx:.0650543666885403,cy:-.3466860597973021,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6UVpSPL6NHwkMTGMAGWMbc",selected:!1},{type:"Heliostat",cx:.06942202707079821,cy:-.3675091440012898,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vUjENc3i3UFtAwACin59Nf",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.38793933982407003,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYd2te8sj3qc6nKgdBwKUp",selected:!1},{type:"Heliostat",cx:.09053238558504442,cy:-.3682949207637044,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x5qvaDTKu24dWCcZ1x9b4h",selected:!1},{type:"Heliostat",cx:.0861647252027866,cy:-.3459002830348876,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYrumHzsSzJLGjGWnmW78L",selected:!1},{type:"Heliostat",cx:.07997720632792127,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3atSERmb5y2o1fPkn3U3Sb",selected:!1},{type:"Heliostat",cx:.06651025348262624,cy:-.2967892353839734,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8fwLHL82vQ4h4iHmsSoAx",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.2963963470027661,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rUX6PqLyYSPibFZmVVGKj1",selected:!1},{type:"Heliostat",cx:.09853976295251717,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a71RHg1a5mbtqFmRR1LeB1",selected:!1},{type:"Heliostat",cx:.10763905541555435,cy:-.34629317141609495,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rCZjDPu6hrV9hwK1sMBx7P",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.37104513943215556,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YTfKHrGkuKHP7GdujyydA",selected:!1},{type:"Heliostat",cx:.10982288560668325,cy:-.39383266554217977,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT6EXQ8Utyx3h6apaMYxSG",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.41544152650858196,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nStqgmJn2aLSvqHghG4Pbp",selected:!1},{type:"Heliostat",cx:.1287494139298006,cy:-.421727740607899,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2E7Vc7NyKu7SLYD6MSVgmr",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.44294371319309384,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iJhGibH8hVHt3XFxuZ2EVR",selected:!1},{type:"Heliostat",cx:.14003253658396672,cy:-.4547303646293133,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZA3XqcWxDfsN537EKY5vj",selected:!1},{type:"Heliostat",cx:.14913182904700392,cy:-.4311570617568746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4cKpMCMNmB9Ss7pKbSCSsB",selected:!1},{type:"Heliostat",cx:.16660247057603533,cy:-.4445152667179231,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w54968Xiwo6dPjYZQGbBrb",selected:!1},{type:"Heliostat",cx:.17278998945090057,cy:-.4213348522266917,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6dckGmumPNSkFhq8gMs3qu",selected:!1},{type:"Heliostat",cx:.1920804894725394,cy:-.4354788339501549,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cwVuAxoZiUC1H5Wje2gfod",selected:!1},{type:"Heliostat",cx:.15095168753961133,cy:-.40561931697839915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ozYpByUV6vBaKhUdY2r3nZ",selected:!1},{type:"Heliostat",cx:.13238913091501553,cy:-.39697577259181077,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3E8kv3kvDQYPCgHGrTc3BH",selected:!1},{type:"Heliostat",cx:.1316611875179725,cy:-.37379535810057923,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"umYgCpqMpXPc71s29rAX3g",selected:!1},{type:"Heliostat",cx:.1298413290253651,cy:-.35022205522814037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4yFSXLahhMtG3gK56eWGg1",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.327041640736909,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTpNU9JuuqwPxdobYW4pBR",selected:!1},{type:"Heliostat",cx:.1174662912756345,cy:-.29757501214636045,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gNvHaW33K459kqY9u7BepY",selected:!1},{type:"Heliostat",cx:.15131565923813287,cy:-.35650826932745744,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8qgkQF7DCx79d2LxBy7hix",selected:!1},{type:"Heliostat",cx:.15167963093665435,cy:-.38243890248714013,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPQfhExNEGN2zwyjRVpTpq",selected:!1},{type:"Heliostat",cx:.17388190454646504,cy:-.39540421906698137,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDgnwEkgpE6PGtyJCXjDhU",selected:!1},{type:"Heliostat",cx:.1786135366272444,cy:-.3682949207636769,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRreS1UagGBcRUbiWtwtBd",selected:!1},{type:"Heliostat",cx:.19535623475923283,cy:-.40719087050320085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s7q7X6xUdhEACPxPGQCEo9",selected:!1},{type:"Heliostat",cx:.19826800834740468,cy:-.3726166929569573,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFGfHzaaJc5xaE2fHD963c",selected:!1},{type:"Heliostat",cx:.2153746781779146,cy:-.41819174517700564,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nw8E1dCRxuQCPzw91T7NeE",selected:!1},{type:"Heliostat",cx:-.22794285062125708,cy:-.3557224925650703,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jrTEnFovS1iifhRBBxC77v",selected:!1},{type:"Heliostat",cx:-.27198342614235704,cy:-.405226428597192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1HaVkVgC69Exxa4P4AuMRU",selected:!1},{type:"Heliostat",cx:-.2483252657384603,cy:-.3565082693274851,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qspACkTkjBfrx3FAarHvtL",selected:!1},{type:"Heliostat",cx:-.23267448270203633,cy:-.32979185940538763,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7itXceUu3MAQZY9syuA2us",selected:!1},{type:"Heliostat",cx:-.21302001098187603,cy:-.30739722167657085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w8VQxzaXGr6shiYCtL94LK",selected:!1},{type:"Heliostat",cx:-.19045376567354383,cy:-.2877528026162052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mYnEgxKjquMfzKB4NWPwU3",selected:!1},{type:"Heliostat",cx:-.16424780337999675,cy:-.26850127193704687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e9bXB5WFMrZz7h5xt76LKd",selected:!1},{type:"Heliostat",cx:-.13804184108644962,cy:-.25632173211962017,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gtNeJEcTRyufHLL6AokGYa",selected:!1},{type:"Heliostat",cx:-.11074396369733809,cy:-.2464995225894373,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fwRxb24K57nabopN8NEmN",selected:!1},{type:"Heliostat",cx:-.08126225611709761,cy:-.23549864791563258,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aUiiaf5Cq9kXkR5KzivtS2",selected:!1},{type:"Heliostat",cx:-.05141657683833565,cy:-.23274842924718137,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wXCs59HycWywP6dVX3RxFD",selected:!1},{type:"Heliostat",cx:-.023390756052181078,cy:-.23156976410080404,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQNYdG6Cfa2DE4YjEyjiXC",selected:!1},{type:"Heliostat",cx:.008274781719188292,cy:-.2315697641035319,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"obhiNFSAxtYYjH2nQGrkoa",selected:!1},{type:"Heliostat",cx:.035208687409778276,cy:-.2406061968713278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iY6QUX8HJxFfcjwEAuVe3x",selected:!1},{type:"Heliostat",cx:.06177862140184686,cy:-.24846396449547406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxxQzBr3C3fZtBLQB4XzAE",selected:!1},{type:"Heliostat",cx:.0887125270924369,cy:-.26221505783772997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpt9FEDEbwRR242xB1y6tv",selected:!1},{type:"Heliostat",cx:.11528246108450549,cy:-.2802879233732664,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fPPU5HqYqZdh2QetXJ2p7A",selected:!1},{type:"Heliostat",cx:.13894062148840217,cy:-.2991465656684621,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"esagbCU76EkkhqebaZmmUf",selected:!1},{type:"Heliostat",cx:.15932303660560546,cy:-.31918387311276286,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prTqpkxvMuTWkeLJ8y2CgD",selected:!1},{type:"Heliostat",cx:.17970545172280875,cy:-.3443287295100309,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u7j14TV18gpXBNzei9H8w2",selected:!1},{type:"Heliostat",cx:.2022716970311409,cy:-.3498291668469332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JiM8J57ngXan5UMty5HT8",selected:!1},{type:"Heliostat",cx:.21937836686165088,cy:-.37968868381871645,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUofaDUcmMKbxLFL1oxkSL",selected:!1},{type:"Heliostat",cx:.23976078197885417,cy:-.38911800496769194,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uJfXK4rjScs7gFncayPnY8",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.22410999894243014,cy:-.35611538094627776,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dzS7KY8fPB4mrrF8bFf3Lo",selected:!1},{type:"Heliostat",cx:.24776815934632693,cy:-.36358026018921674,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNqpyqbCLz9tXo7A7xujcB",selected:!1},{type:"Heliostat",cx:.26997043295613765,cy:-.3726166929569849,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ko5XUjuP9RKm463DmDooY",selected:!1},{type:"Heliostat",cx:.1840731121050666,cy:-.32468431044969276,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"77xeiEQazj2KRhrDXmVzHK",selected:!1},{type:"Heliostat",cx:.20554744231783434,cy:-.3258629755933147,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQy87m9iTvmkmNKh4GrwyX",selected:!1},{type:"Heliostat",cx:.22993354611877403,cy:-.3317563013114243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeup3LyMyTrCKir2W1QKdM",selected:!1},{type:"Heliostat",cx:.25468362161823516,cy:-.3392211805543633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qrKKoaqQCswPARya6NG7Vs",selected:!1},{type:"Heliostat",cx:.27797781032361035,cy:-.3423642876040219,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pfjQmBxWC1Ae9mM7CjmUUs",selected:!1},{type:"Heliostat",cx:.16150686679673432,cy:-.2956105702403516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aCwPMcxiojnSCdYJ4wNko",selected:!1},{type:"Heliostat",cx:.1848010555021095,cy:-.29875367729001007,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"auwCCmHc32MJvNubS1T1L3",selected:!1},{type:"Heliostat",cx:.20991510270009217,cy:-.2979679005275954,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cb6NtvzZtpvN9xsruY7hxj",selected:!1},{type:"Heliostat",cx:.18334516870802356,cy:-.2696799370806689,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9tGbEHGsevbnpUXRoj68w",selected:!1},{type:"Heliostat",cx:.16041495170116993,cy:-.2724301557491201,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"woL52bcsabXgpYHzS37qFg",selected:!1},{type:"Heliostat",cx:.13821267809135915,cy:-.2743945976551566,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nJXEXXtvwSxAapdRK8NEU",selected:!1},{type:"Heliostat",cx:.11164274409929059,cy:-.25592884373841296,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dcTSduTDfjsNkLxPMwiTbk",selected:!1},{type:"Heliostat",cx:.1320251592164939,cy:-.24807107611426668,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBMKWzPqqAL7Zab4fQ5qqk",selected:!1},{type:"Heliostat",cx:.156775234715955,cy:-.24453508068340082,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQW7nfUe52sF2ZYqMceBPR",selected:!1},{type:"Heliostat",cx:.10618316862146829,cy:-.23274842924718148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gDJUNMNv2fBuCXvNz8J9xz",selected:!1},{type:"Heliostat",cx:.12947735732684348,cy:-.22449777324182785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6wJ1UkGVratdvd1YcRyf5",selected:!1},{type:"Heliostat",cx:.08398089501165754,cy:-.2402133084901204,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pnwY9vWpqTutfMQk6qVUEd",selected:!1},{type:"Heliostat",cx:.07488160254862036,cy:-.2170328939961335,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9yJRVguxm2r3mSoLCoLCTo",selected:!1},{type:"Heliostat",cx:.054135215732895585,cy:-.2276408802914864,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bcvVnYRe7XAmehyShvHG4A",selected:!1},{type:"Heliostat",cx:.09671990445990958,cy:-.20838934961232802,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dt7UVCgK4oYcArc7w2oh6S",selected:!1},{type:"Heliostat",cx:-.2708915110467926,cy:-.3631873718080094,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fP7CoUPJXXfAbKaQg7Vxiz",selected:!1},{type:"Heliostat",cx:-.29382172805364637,cy:-.3702593626697411,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q3QCtRsjU5g348zquVGT6U",selected:!1},{type:"Heliostat",cx:-.3000092469285116,cy:-.3459002830348876,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npmRnivscsJpT65RjQuyWE",selected:!1},{type:"Heliostat",cx:-.3254872658250157,cy:-.350222055228168,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aMe7m5ym2D1ye9JGywHJp4",selected:!1},{type:"Heliostat",cx:-.3061967658033769,cy:-.31643365444433913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x6jK1HT196nDZpyUbLsgr1",selected:!1},{type:"Heliostat",cx:-.28144669030391567,cy:-.31289765901347333,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFEgPjqWAT6jwNBL8DPadb",selected:!1},{type:"Heliostat",cx:-.27416725633348593,cy:-.3372567386483267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g65dCH4Q2jLJsbDZ61ZYsF",selected:!1},{type:"Heliostat",cx:-.25087306762811074,cy:-.33293496645504633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eac2nmUN2zb5BwB2jyKPsx",selected:!1},{type:"Heliostat",cx:-.2559686714074116,cy:-.3101474403450222,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2AwKtqmv9rBFEMsfpNMYmE",selected:!1},{type:"Heliostat",cx:-.2574245582014975,cy:-.28500258394775413,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CasrCRncJRWJd761ErCUY",selected:!1},{type:"Heliostat",cx:-.23158256760647195,cy:-.25828617402565685,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9ZPBVxh6yErf9tk1x8bcei",selected:!1},{type:"Heliostat",cx:-.23413036949612234,cy:-.28382391880413216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMvixKdLEKLj2KdxZ4Qc5j",selected:!1},{type:"Heliostat",cx:-.23303845440055787,cy:-.30739722167657096,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHCBTramJGKkCoc17G8w6M",selected:!1},{type:"Heliostat",cx:-.21047220909222566,cy:-.28539547232896145,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jcFjeFAEwtPS1NdpSqySNN",selected:!1},{type:"Heliostat",cx:-.2075604355040538,cy:-.2598577275504861,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"odG4uWtszFcFLXppnq6LTE",selected:!1},{type:"Heliostat",cx:-.18572213359276454,cy:-.26535816488738845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aiJA7beNej5o6BHcnWJBqC",selected:!1},{type:"Heliostat",cx:-.18171844490902817,cy:-.23707020113050004,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1VU7yTZrVeHM5DLMgFzzbW",selected:!1},{type:"Heliostat",cx:-.20464866191588185,cy:-.23353420600959607,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUYHVbTbxr4tecMfV6CqzJ",selected:!1},{type:"Heliostat",cx:-.15660439771104553,cy:-.25042840640151054,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"brUZr84cwNpf9Pv6XatvDd",selected:!1},{type:"Heliostat",cx:-.13003446371897695,cy:-.23707020144046193,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6k3sEssXxYQA6FoYB2hbhc",selected:!1},{type:"Heliostat",cx:-.10091672783725796,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpK548QXB9AsPut3M9Vcnb",selected:!1},{type:"Heliostat",cx:-.06961516176441004,cy:-.22174755457334913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtAwYocNSDA6e4Za64GAHv",selected:!1},{type:"Heliostat",cx:-.03831359569156213,cy:-.21860444752369065,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jkbGDBANcy5EkzJfgAS6kT",selected:!1},{type:"Heliostat",cx:-.009559831508364626,cy:-.21388978694920285,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJqTbavrRHEj1q5r4U8Sg",selected:!1},{type:"Heliostat",cx:.025017479851176642,cy:-.21624711723644674,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tuZYTjdonfFPX1bpg7y2ib",selected:!1},{type:"Heliostat",cx:.04430797987281548,cy:-.2056391309438493,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r4K4Z2bUpqY9FZaarCV1EY",selected:!1},{type:"Heliostat",cx:.06578231008558323,cy:-.19267381436400796,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJMsMVYvUGopRwcThFGEkr",selected:!1},{type:"Heliostat",cx:.009730668513274195,cy:-.19856714008211768,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1EfzqCs8cXPwvLAwQzbRpo",selected:!1},{type:"Heliostat",cx:-.025938557941831565,cy:-.19660269817608111,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"75CWYjqVhH1TfFGgb42qY2",selected:!1},{type:"Heliostat",cx:.028657196836391532,cy:-.1824587164526178,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tPC5C2vfzREdHf8vqzTMzw",selected:!1},{type:"Heliostat",cx:-.005920114523149727,cy:-.17892272102175202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9vv8piBWmfsjf8ThwaysgA",selected:!1},{type:"Heliostat",cx:-.04013345418416953,cy:-.17970849778692202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLA5NWUpepKR65o6v964r9",selected:!1},{type:"Heliostat",cx:-.07507473724223238,cy:-.1867804886459258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mUep51aC7r6anQJ2Y69oWq",selected:!1},{type:"Heliostat",cx:-.10783219010916623,cy:-.1950311446512794,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v8aDpwcpvGcDg3v8p4qNKb",selected:!1},{type:"Heliostat",cx:-.14240950146870754,cy:-.2009244703693891,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BebM2PFswwW6mD8cum1bR",selected:!1},{type:"Heliostat",cx:-.17407503924007692,cy:-.2162471172364743,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6RzznrEY6WFg8gVGqs15oP",selected:!1},{type:"Heliostat",cx:-.05760409571320095,cy:-.19738847493852332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aLcHwQEUZ4M4zGv7CBgFgZ",selected:!1},{type:"Heliostat",cx:-.08672183159491996,cy:-.20485335418146225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oqQfqaBV4xJeZR3tB1T2T",selected:!1},{type:"Heliostat",cx:-.12093517125593976,cy:-.21742578238009624,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5txUysL5P5gEVTjd4qAbBd",selected:!1},{type:"Heliostat",cx:-.15078085053470172,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nxjHGtH2QdDPPuNWARdYaV",selected:!1},{type:"Heliostat",cx:.08580075350426505,cy:-.18324449321506,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MqWmh3QRvAPZiVFebexdQ",selected:!1},{type:"Heliostat",cx:-.02266281265513821,cy:-.15770674843658467,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5EhLWiwwn5wwEm8Cab5Rch",selected:!1},{type:"Heliostat",cx:-.1322182939101059,cy:-.17381517206608452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jbXdsdAziZsqZTJyYSaySe",selected:!1},{type:"Heliostat",cx:-.3302995564539437,cy:-.3232776394449547,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzkMpsvKdJRAhMZuBmbsKe",selected:!1},{type:"Heliostat",cx:-.2919615095342722,cy:-.2642858401101529,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oySBSMeHYHH3hssNqfJFt4",selected:!1},{type:"Heliostat",cx:-.3097864662694538,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpTYVzTYQTHThRcwDXQgp7",selected:!1},{type:"Heliostat",cx:-.27314627742491365,cy:-.24237235713620253,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5jcBZmRyCrqNubtcJcYmJ3",selected:!1},{type:"Heliostat",cx:-.2508650815059366,cy:-.22045887416225235,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ihBmE1AmF8hgbvfU54TBod",selected:!1},{type:"Heliostat",cx:-.22660333483860592,cy:-.20175224235522163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNktHzm8eVBrmY9ceJEyKh",selected:!1},{type:"Heliostat",cx:-.20333186354545205,cy:-.1835800857426775,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aXsDLYWFiK5tzWC7G7kV8N",selected:!1},{type:"Heliostat",cx:-.17659442844267947,cy:-.16968373068602616,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wrEAnzFvbwLn8hcqMNt2T6",selected:!1},{type:"Heliostat",cx:-.15183754408826042,cy:-.1589942267962943,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aHFiestWCCRbctVu4eYUBx",selected:!1},{type:"Heliostat",cx:-.12212928286295759,cy:-.14937367329553564,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iQyvk9vYygwnymNpLwA1ob",selected:!1},{type:"Heliostat",cx:-.09242102163765474,cy:-.14349444615618318,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wU6MsDbikDwda4SfGFTpkJ",selected:!1},{type:"Heliostat",cx:-.06518844884779378,cy:-.13761521901683066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MMFkArxgEmQhKrKtjXQNe",selected:!1},{type:"Heliostat",cx:-.03647046299666775,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nMNiG48VARtnEA4MPhmCia",selected:!1},{type:"Heliostat",cx:-.0057719263971881,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juXSYXCPjT1kSTpJyz4PZH",selected:!1},{type:"Heliostat",cx:.021955784079761214,cy:-.1392186446002904,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xm44c3baqJPcnjTqQboEwN",selected:!1},{type:"Heliostat",cx:.05265432067924076,cy:-.1461668221286161,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ez6bNdTTq8NKVxiW1kxkEB",selected:!1},{type:"Heliostat",cx:.07939175578201328,cy:-.15525290043488818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jAsrrCW77dFgPQqWJowsZq",selected:!1},{type:"Heliostat",cx:.10563405319769754,cy:-.1664768795191066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6p95wM2zt7dF6VyVSYTa8Y",selected:!1},{type:"Heliostat",cx:.13286662598755838,cy:-.18251113535370433,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"urDco6achFzxwb6nW5NRE4",selected:!1},{type:"Heliostat",cx:.15811864802906586,cy:-.1980109159938155,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbH94KdABoDtfJEKfjLTiP",selected:!1},{type:"Heliostat",cx:.18089498163513137,cy:-.21244174624495343,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ovcrGPa9SJFbnrGQ2a6DuR",selected:!1},{type:"Heliostat",cx:.20218590217993174,cy:-.23328627882993053,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jA29coTpxRTwbmADu66SZT",selected:!1},{type:"Heliostat",cx:.2234768227247321,cy:-.25626871219285396,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYgH98FR9WAhRGHRksz5bD",selected:!1},{type:"Heliostat",cx:.24229205483409053,cy:-.2840614223061567,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rvQJA6SbPF1oUJTEumsFBN",selected:!1},{type:"Heliostat",cx:.26061214925636067,cy:-.30757833086356673,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xxokrXE6rBVWV3B4eJnjZt",selected:!1},{type:"Heliostat",cx:.2848738959236912,cy:-.3102507068359997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sAxtEYsJmsyoXdPfmuc1s8",selected:!1},{type:"Heliostat",cx:.31161133102646393,cy:-.3118541324194594,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8T4wmqCeWkBAqrmuSXUrRA",selected:!1},{type:"Heliostat",cx:.2932912366041937,cy:-.2824579967226693,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ai9GvKeDbhVcVvUsoTBxvk",selected:!1},{type:"Heliostat",cx:.26655380150142116,cy:-.2813890463336962,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oWG4eo4MGzPtqFQEAGgS9P",selected:!1},{type:"Heliostat",cx:.24823370707915113,cy:-.25680318738731295,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uxuSeH1NdDDYDjVawn2W68",selected:!1},{type:"Heliostat",cx:.22545737347308564,cy:-.2290104772740102,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDuuVxV3oBzq3KrPvkBjRs",selected:!1},{type:"Heliostat",cx:.20367131524119686,cy:-.20816594468903316,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rx1WFJ81DESFNcvGrHsJMP",selected:!1},{type:"Heliostat",cx:.17990470626095456,cy:-.19052826327097566,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7sGn2cqtWU3Mo7BvT3jFuk",selected:!1},{type:"Heliostat",cx:.15415754653235875,cy:-.17075268107497177,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rSmf7fDWBvbLdzxL8Xzz7s",selected:!1},{type:"Heliostat",cx:.1279152491166746,cy:-.1536494748514009,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dADXAPCfntwkJab6qq7kB9",selected:!1},{type:"Heliostat",cx:.10117781401390209,cy:-.14082207018372264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qou5NZoEiG4Sej8W4a1Evy",selected:!1},{type:"Heliostat",cx:.07097441510151088,cy:-.12959809109950424,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qF5JaFWnyFcKW3nRxNY7TE",selected:!1},{type:"Heliostat",cx:.040771016189119595,cy:-.12158096318220536,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCPi7SMXhZTpGxpiwtL6iF",selected:!1},{type:"Heliostat",cx:.009082204215463229,cy:-.11730516162631263,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWzE58GviTnatfkWEWzyMi",selected:!1},{type:"Heliostat",cx:-.022606607758193117,cy:-.11409831045939309,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRKu923infq42Wt4hBDmAr",selected:!1},{type:"Heliostat",cx:-.050829455922230794,cy:-.11677068643182602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r8JJG8wHFXqt3Yp7tKGhqZ",selected:!1},{type:"Heliostat",cx:-.08251826789588713,cy:-.11890858720977243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3m5iCgTUTpwZiaw5ii9jU",selected:!1},{type:"Heliostat",cx:-.11371194218245514,cy:-.12532228954361152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tVUTkzfhBEXpMMHQ6aFPP9",selected:!1},{type:"Heliostat",cx:-.1429250657206696,cy:-.13333941746091038,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jeTo5Man4ER6UL6bLqzkta",selected:!1},{type:"Heliostat",cx:-.17065277619761887,cy:-.14456339654512879,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1uJtuaoB5NwSgpmJn71K67",selected:!1},{type:"Heliostat",cx:-.19887562436165657,cy:-.16006317718799537,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d39qoKyMNYsyCCMsCYFgb",selected:!1},{type:"Heliostat",cx:-.2251179217773408,cy:-.17716638340883842,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c47HFaS15SjhNgAVfkMtKh",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.19373511443792277,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6Fhdsjojq36iUtNfZyfuJE",selected:!1},{type:"Heliostat",cx:-.27463169048617886,cy:-.21618307260635958,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBiw2NAG9iHHT94xeKa2u3",selected:!1},{type:"Heliostat",cx:-.29790316177933274,cy:-.23969998116376964,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5PnNPgs1h8UTrfgpBZ8T6",selected:!1},{type:"Heliostat",cx:-.3172135315757796,cy:-.2642858401101529,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtSVS5mzodLcSXkBDvsbCD",selected:!1},{type:"Heliostat",cx:-.33602876368513807,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2PEu3vmBctRcCsffaLpmHw",selected:!1},{type:"Heliostat",cx:-.3642516118491758,cy:-.2894061742510226,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8DjkoLAZDwTnx8LtXHyg96",selected:!1},{type:"Heliostat",cx:-.34395096667855213,cy:-.2621479393322064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xggSKm6cv18X25oTxPwZS6",selected:!1},{type:"Heliostat",cx:-.3241454591950169,cy:-.2343552292189037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"74PzS5xWGKsEmxZBzdP32Z",selected:!1},{type:"Heliostat",cx:-.3003788502147747,cy:-.2103038454670071,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iX6zZTVdQx5UJP9MjNZAnh",selected:!1},{type:"Heliostat",cx:-.2766122412345324,cy:-.18785588729857022,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sbLC2rgU8AGXKtdt3DXoPT",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.1654079291301334,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4JaLAH32GnHtvkVTVkWkbH",selected:!1},{type:"Heliostat",cx:-.22412764640316404,cy:-.1461668221286161,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekeh4M3jaMmHQZ3b3gvsRs",selected:!1},{type:"Heliostat",cx:-.19392424749077278,cy:-.13173599187747817,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkth3AnLMPCi7hv9DghmT5",selected:!1},{type:"Heliostat",cx:-.16372084857838157,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3q136vYQwnzoP6GsZr4LR",selected:!1},{type:"Heliostat",cx:-.13401258735307872,cy:-.10661565773660836,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Q5q7ho8EHkiogsarQwdbr",selected:!1},{type:"Heliostat",cx:-.09836267388271532,cy:-.09913300501379609,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jEaDTazLRHkWPu4uHy6TK8",selected:!1},{type:"Heliostat",cx:-.06914955034450089,cy:-.09325377787444358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSC1a2V48rvTMuzLPRYCD",selected:!1},{type:"Heliostat",cx:.0937507487075764,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hj6QoYH2tKJMaowWF4Jso4",selected:!1},{type:"Heliostat",cx:.05958624829847807,cy:-.10394328176690322,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nZGBsGGWLjxKfGS9cc7oqY",selected:!1},{type:"Heliostat",cx:.026907160950645,cy:-.09752957943033631,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8ZY8shpFLkqdci1tNW1GoZ",selected:!1},{type:"Heliostat",cx:.04869321918253367,cy:-.07668504684535922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pya46vaM37X8xjgxnFRbmD",selected:!1},{type:"Heliostat",cx:.037305052379500936,cy:-.047823386343083335,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sk9aYQ4ZatkgcWnoBw73BS",selected:!1},{type:"Heliostat",cx:.32316626777261265,cy:-.2887703826060557,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v6iF1wnA1zBqaP8XCMzytA",selected:!1},{type:"Heliostat",cx:.302689663582776,cy:-.2521615907181474,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7hRAbWEjhuuAWAcgNF2XiW",selected:!1},{type:"Heliostat",cx:-.3022663286455178,cy:-.036768285775775254,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uosW5t7FWQ4a7eUdsD1TcQ",selected:!1},{type:"Heliostat",cx:.27316237198008403,cy:-.2524973897551937,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4LmAuM9HRhZTEdxYDj2FKM",selected:!1},{type:"Heliostat",cx:.1526283445468355,cy:-.14381713160256596,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hUgdPZt8vUMBFhHDDodoRf",selected:!1},{type:"Heliostat",cx:.2526006849473534,cy:-.22571000218238366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jj8uZxps5DeUSntdLoNoRc",selected:!1},{type:"Foundation",cx:-10.492368727264438,cy:-365.24616728285855,cz:3,lx:55.33009592617107,ly:28.860277897658587,lz:6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{towerHeight:115,towerRadius:4},id:"nHq7VyAiKvgNuPDrDMejYk",selected:!1},{type:"Heliostat",cx:-.033635036707480734,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3n8DXtghY7C9fg7wtQN9mm",selected:!1},{type:"Heliostat",cx:-.0021782029294463968,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3HRyeRtdwXWAfFooG7khA8",selected:!1},{type:"Heliostat",cx:-.018309912559207595,cy:-.06910229279682685,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9dMgqBzGAqQQo74ehqtuvW",selected:!1},{type:"Heliostat",cx:-.05218650278170614,cy:-.0712789597287233,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sM7ZRjDyGbb93H3X5XLsiN",selected:!1},{type:"Heliostat",cx:-.08767626396718083,cy:-.07432629343337838,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hGv3aS4uYRq5Hg62cAQgof",selected:!1},{type:"Heliostat",cx:-.12074626870819129,cy:-.07998562745630922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knf1JFPLgyb2dGzcbU3Hfe",selected:!1},{type:"Heliostat",cx:-.15341298070845777,cy:-.09173962888855014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMVGrjZpnunqsrM98ZgPH2",selected:!1},{type:"Heliostat",cx:-.07235113981890764,cy:-.04428828977320709,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe6PEzZpz5DHRWEZokrjXg",selected:!1},{type:"Heliostat",cx:-.055412844707658386,cy:-.014685619499415072,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7T7JfLgLbNJk4NRXzvFZJj",selected:!1},{type:"Heliostat",cx:-.036861378633433015,cy:-.040805622682172714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xyTpPrGnJXHGmcyUmTs8AF",selected:!1},{type:"Heliostat",cx:.016373263144779018,cy:-.07302029327424049,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1ak6Ue1atJ663QehAMdMAS",selected:!1},{type:"Heliostat",cx:.08412644358977613,cy:-.0873862950247572,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gCkqrGtT5r5WgEKYq1za1b",selected:!1},{type:"Heliostat",cx:.11598657010855452,cy:-.09826962968423955,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"huYwsUKyEQrq59ExuTrPfF",selected:!1},{type:"Heliostat",cx:.12243925396045897,cy:-.1265662997988937,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrCktsCv7shjx1gwsg6JbF",selected:!1},{type:"Heliostat",cx:.0014456646770545306,cy:-.04437383909501622,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwcyQu2t5aJGnwR9kKd4wM",selected:!1},{type:"Heliostat",cx:-.10818001791234799,cy:-.05010814303981461,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iKhLi69geSKfMMuqgo2q5J",selected:!1},{type:"Heliostat",cx:-.1453658221387092,cy:-.05740634806046707,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzSKSvuwPWAxvfQT9qwaND",selected:!1},{type:"Heliostat",cx:-.17892963244691829,cy:-.06965690649074628,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFq75cYfVvsfdd6UUfTojE",selected:!1},{type:"Heliostat",cx:-.21249344275512747,cy:-.0842533165293234,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mrkR4hEhbnkEw1KxqSjipf",selected:!1},{type:"Heliostat",cx:-.18738095158927312,cy:-.1022381789016456,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eA11DgH7cfBxpC8D2vjzCt",selected:!1},{type:"Heliostat",cx:-.21925449806901132,cy:-.11657393876364154,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pehZwiBvURwYNmynuVV2oZ",selected:!1},{type:"Heliostat",cx:-.2460572530633366,cy:-.10145622836371855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cFxirFbRdujaw5Fc4RE5MD",selected:!1},{type:"Heliostat",cx:-.25064511202632916,cy:-.13481945131527276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ypECbseMr3f8LhqjYosMu",selected:!1},{type:"Heliostat",cx:-.2764820019758139,cy:-.15645341619792116,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1cNTjGeFgiYqFUnXdLBRx6",selected:!1},{type:"Heliostat",cx:-.27696493449823417,cy:-.12309019324636697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cW4SyxcnHNPzxbSE2LWbQ5",selected:!1},{type:"Heliostat",cx:-.30642381836587107,cy:-.14654870938417855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"17jGJ68AWAZgPARxJ6UPKN",selected:!1},{type:"Heliostat",cx:-.09514083980700053,cy:-.016484269908978957,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k736gpzLunYF9CA2xNNwgF",selected:!1},{type:"Heliostat",cx:-.13256811029457188,cy:-.02508572582617652,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bPf2FbThrjxqWcoYgrYC2A",selected:!1},{type:"Heliostat",cx:-.015939906130075388,cy:-.0141384182951978,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"th3tqLRe84Jqrqfr3ZWX4Z",selected:!1},{type:"Heliostat",cx:.021245898096285794,cy:-.01596296955036091,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snGFqY54yf3wZYGqvNzdSK",selected:!1},{type:"Heliostat",cx:.06012196615111797,cy:-.021957923674468315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1BLYib9F5TuccAF143Meb",selected:!1},{type:"Heliostat",cx:-.17023684704335335,cy:-.034469132281301135,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFbcBWFKK11qf1tsDuwKoR",selected:!1},{type:"Heliostat",cx:-.20790558379213483,cy:-.0493261925019151,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"44juECoBc4iyV5WsYrieZZ",selected:!1},{type:"Heliostat",cx:-.24243525914518455,cy:-.06652910433631024,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abfBabbkXEUrKZnAsNhn3Y",selected:!1},{type:"Heliostat",cx:-.2759990694533937,cy:-.08790241903964963,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eAEEf1jS8EeUmfDXwtgbsh",selected:!1},{type:"Heliostat",cx:-.3090799472391825,cy:-.11214288571263284,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rYpKyT7tWdyjcNbsGsDtpP",selected:!1},{type:"Heliostat",cx:-.3390217636292396,cy:-.13898985418418947,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h7WTnDPjYZa2yv9AbeqYi8",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.18027347486919182,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tpzWYwzqd7mz7PeBQzCqEF",selected:!1},{type:"Heliostat",cx:-.3273202794054188,cy:-.20565406429518426,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nV956oZbqiSHUewdzFEGwb",selected:!1},{type:"Heliostat",cx:-.35187017047069313,cy:-.23327411749405838,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eotKsPbyYbFr8f4YZHBPV5",selected:!1},{type:"Heliostat",cx:-.3729623304000133,cy:-.26388012239010805,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xcMmwR2N7YaJDgjrvx9Tg",selected:!1},{type:"Heliostat",cx:-.38229820446708945,cy:-.23140789768332368,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sfWCB3P6rkqZa4YAEd5bcf",selected:!1},{type:"Heliostat",cx:-.3594771789697922,cy:-.200428648825127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHAMJhEkjkYLc4RSjerC3B",selected:!1},{type:"Heliostat",cx:-.3328526492229454,cy:-.1713156197776651,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qTSMmo3sfM3tmeNsXwJ95x",selected:!1},{type:"Heliostat",cx:-.3674299605824867,cy:-.16832966808048952,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kijHzENJV8TJe21WNjQuUC",selected:!1},{type:"Heliostat",cx:-.3916340785341656,cy:-.19893567297653922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"49c4EBZdrrGLx2C1jkrU34",selected:!1},{type:"Heliostat",cx:-.400278406374051,cy:-.16571696034546088,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nmEdqVEsjHqXFAfs271Hv4",selected:!1},{type:"Heliostat",cx:-.3712334648320363,cy:-.13063202790364783,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXeSufYc6rqYVyGdq4x3at",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:-.05187755189064192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bevRTnppC9h4ebQw9qu31Y",selected:!1},{type:"Heliostat",cx:-.1969638155799482,cy:-.01529964360024112,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"etWFnXE45z2CNE1YXRNVxb",selected:!1},{type:"Heliostat",cx:-.11501558765783529,cy:.010080945825751317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpZi9pr2vKF4BbVGupqEXc",selected:!1},{type:"Heliostat",cx:-.40753964175955465,cy:-.12764607620647225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YdgbS7MbyK8fpmsbE8Fq6",selected:!1},{type:"Heliostat",cx:-.417912835167417,cy:-.0933076316889531,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3mPyk4qt31Y1bUaJMpdRT5",selected:!1},{type:"Heliostat",cx:-.38056933889911243,cy:-.10039926696974508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boS825hvqkSAd3EMruDUop",selected:!1},{type:"Heliostat",cx:-.35532790160664735,cy:-.07501867754375265,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6neahnPeogbncgiTuDRsB6",selected:!1},{type:"Heliostat",cx:-.32870337185980053,cy:-.05337052773647434,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6JURGXaMnDK92DSmeMdQDb",selected:!1},{type:"Heliostat",cx:-.3892136667389977,cy:-.06531433452790446,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5mdtK7mbfjWr2ZwvqtMZoW",selected:!1},{type:"Heliostat",cx:-.3608602714241738,cy:-.03956050113976511,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7iLWKe2jZRMk3NyRqmNQUd",selected:!1},{type:"Heliostat",cx:-.3318153298821592,cy:-.018658839259536052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZLXjXtPYgTp5YsiDKt92R",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.00036988511433561826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8SHGbk2vJK2DPuaoNHYXh",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:-.0197785711459769,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2SSpgdAk9FyHtarh2kemjh",selected:!1},{type:"Heliostat",cx:-.427940255461684,cy:-.05598323547423079,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cxfJsRXsJGHcRLJiW1ZC4T",selected:!1},{type:"Heliostat",cx:-.3978579945788831,cy:-.026123718502475,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"983fNrC7GvsmHKyDBU7uKS",selected:!1},{type:"Heliostat",cx:-.3660468681281051,cy:-.000743129076482581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCoTGoQTygQRfEwZWp9pEu",selected:!1},{type:"Heliostat",cx:-.24986710196004633,cy:-.005222056622245941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAPfaS9ZavWB56qRknahL4",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:.01642609318227701,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aTwzASE97BSxQ69zqRKB9",selected:!1},{type:"Heliostat",cx:-.22013061419084085,cy:.007468238090750264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d8F7whR2UWQ5Rpw6zgpoS",selected:!1},{type:"Heliostat",cx:-.24779246327847385,cy:.03135585166815488,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gs9ZBEK1748RpsjnfsZckK",selected:!1},{type:"Heliostat",cx:-.21840174862286374,cy:.042926414494710276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2QLnVz31nbfJHbaqyshx4N",selected:!1},{type:"Heliostat",cx:-.19316031133039863,cy:.019038800917305643,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bT2uoRqcV2JsvxKNXGq7Tp",selected:!1},{type:"Heliostat",cx:-.16411536978838387,cy:.029116387895273214,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wDnu6VsXGRf96DxoNbPRXh",selected:!1},{type:"Heliostat",cx:-.18797371462646742,cy:.052630757510530896,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7fXVXPkHvH4EiWQgs5X5EV",selected:!1},{type:"Heliostat",cx:-.1578914537436665,cy:.06233510052635154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iVLsKahc6Jz8H79epHER9m",selected:!1},{type:"Heliostat",cx:-.13472465513277385,cy:.03658126713821217,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W1dZKG5G4kdvvYuTKg6J8",selected:!1},{type:"Heliostat",cx:-.10637125981794995,cy:.041806682608269405,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8RbNvvwi1FQxJhzm68oxMb",selected:!1},{type:"Heliostat",cx:-.07594322582155359,cy:.04628561015403278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rv9MXPBD3e63TfH2kDubmC",selected:!1},{type:"Heliostat",cx:-.03064694794055447,cy:.016426093179521616,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eoYDEHmumqWS9SMAreWLME",selected:!1},{type:"Heliostat",cx:-.0451694187115619,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nisA2ZxiN5cGyrqqmqFcTt",selected:!1},{type:"Heliostat",cx:-.4355472639607831,cy:-.018285595297416656,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uTLgXRt31u5LbkmoNmmzh",selected:!1},{type:"Heliostat",cx:-.44280849934628674,cy:.024264216387335374,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"arUmBddCd3ZN9RM4YvwTeh",selected:!1},{type:"Heliostat",cx:-.40096995260124174,cy:.009707701863604397,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"voKSeBcj1DBKGLLTkPQVxi",selected:!1},{type:"Heliostat",cx:-.3681215068096776,cy:.038074242986772415,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"55CnZxFzVkzTP2ZZcBc3GF",selected:!1},{type:"Heliostat",cx:-.4082311879867454,cy:.05337724543479727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"72WvPCXQWgeW6smtGCDqkn",selected:!1},{type:"Heliostat",cx:-.4500697347317904,cy:.06793375995852818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2C1jZdwUGxFZt8JTCcp2dF",selected:!1},{type:"Heliostat",cx:-.40892273421393627,cy:.097793276930284,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pUaEdfwMSZ7FJNPu8MbTVu",selected:!1},{type:"Heliostat",cx:-.37192501105922715,cy:.07763810297434884,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqc5Shh25yv3QUcC5PJfr7",selected:!1},{type:"Heliostat",cx:-.3352730610181133,cy:.019412044879425033,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3cBVQbPPnpMt6C62XatwGo",selected:!1},{type:"Heliostat",cx:-.3058823463625032,cy:.03956721883536021,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8B4aaX12Cwz7SWukzQHxfu",selected:!1},{type:"Heliostat",cx:-.3359646072453042,cy:.05897590486975687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8js9abopRBUDoNq8C8Vkee",selected:!1},{type:"Heliostat",cx:-.30415348079452614,cy:.07726485901222946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wSFcW9Bi2CEV2NiqkVLGgK",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:.05748292901568581,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oEtkxCk7V55pZMXbYEUFoy",selected:!1},{type:"Heliostat",cx:-.3373476996996858,cy:.09891300881948024,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7JVKmoPwsr4YiKcdWdSdzy",selected:!1},{type:"Heliostat",cx:-.24433473214251972,cy:.06979997976653508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i7yUerNEdQNGoZikCwAKi5",selected:!1},{type:"Heliostat",cx:-.27234235434374815,cy:.09443408127096152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gK1KuDQ1xA1jepW3pkMSYy",selected:!1},{type:"Heliostat",cx:-.21321515191893256,cy:.08472973825514087,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b4J6Xf2MrSmiCKmRPp5JwY",selected:!1},{type:"Heliostat",cx:-.1807124792409637,cy:.09406083730881452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nKkV64v1XzdkrnhFcrMZoK",selected:!1},{type:"Heliostat",cx:-.24053122789297018,cy:.10787086390825154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgNnXwqvuHbn1SRpxKx5iF",selected:!1},{type:"Heliostat",cx:-.14820980656299493,cy:.10301869240034127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9437PNFcensdgYCPvaUZ9",selected:!1},{type:"Heliostat",cx:-.12573455417929308,cy:.07054646769355681,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN7BSbm2K54or4ve2veKYY",selected:!1},{type:"Heliostat",cx:-.09599806641008757,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vnVRMYugJhGEe7GvuV5yNs",selected:!1},{type:"Heliostat",cx:-.11466981454423983,cy:.1086173518325455,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bccxZepk5qSe634uWX42ei",selected:!1},{type:"Heliostat",cx:-.061766528164141625,cy:.07913107882293664,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i6mjvJmXWoNbbtScNe4jLc",selected:!1},{type:"Heliostat",cx:-.02995540171336369,cy:.07987756674723054,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kgFQrpmB4Uo3QRzYrM9z5D",selected:!1},{type:"Heliostat",cx:-.016470250283142505,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i8SzwQJPy7H5YyXTGe1xVc",selected:!1},{type:"Heliostat",cx:-.0026393257393260423,cy:.016426093182249437,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"apvcd8RadTsSXecLmteBdy",selected:!1},{type:"Heliostat",cx:.015340876167635433,cy:.046658854116152185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"12C7onFbSbSHFPJc8uUrKy",selected:!1},{type:"Heliostat",cx:.03332107807459691,cy:.07539863920146715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gb2pH6ANCuJC8qsYCvxT6m",selected:!1},{type:"Heliostat",cx:.0015099516238188731,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkeABsZCEiybQvrrxUR8jq",selected:!1},{type:"Heliostat",cx:.044731590823245536,cy:.04329965845682966,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hg9DPmH5cjxeCBJWkCFhVc",selected:!1},{type:"Heliostat",cx:.06340333895739782,cy:.07017322373140988,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oJz5XyB57AT2gBG4awFXj6",selected:!1},{type:"Heliostat",cx:.05095550686796301,cy:.10936383975683939,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tHRNmQUNj6K1TnE56YNmfY",selected:!1},{type:"Heliostat",cx:.01983592664437585,cy:.11197654749186799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpjExf4xnHsCihbG1Z3uYw",selected:!1},{type:"Heliostat",cx:-.01301251914718843,cy:.11421601126474966,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBN5FEivyAsVk4UNG51jA7",selected:!1},{type:"Heliostat",cx:-.04551519182515727,cy:.11048357164328021,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8pUZKWg5usB1LmJ4FqHgif",selected:!1},{type:"Heliostat",cx:-.08147559563908026,cy:.1112300595675741,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"23RBiRbrVGDew4P5junKUY",selected:!1},{type:"Heliostat",cx:.07446807859245108,cy:.03732775506247852,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tDUutW1fYKC3zU8km6x7oT",selected:!1},{type:"Heliostat",cx:.08172931397795467,cy:.0033625545071062956,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5hoPXGgvmAKCC98bFLoS1",selected:!1},{type:"Heliostat",cx:.07101034745649691,cy:-.05411701566352362,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ffh2ust2D3LvEonm64PhVV",selected:!1},{type:"Heliostat",cx:.09735040458634132,cy:-.0309061006268814,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1vWwMCYh2GFGH8H8yyPFj7",selected:!1},{type:"Heliostat",cx:.10692860717901208,cy:-.06523213814288877,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a7CNQPaFqLRU1KsDr6sWL1",selected:!1},{type:"Heliostat",cx:.13259819012736962,cy:-.0433131021386913,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWyjm3KRE2b2cp2DQn99im",selected:!1},{type:"Heliostat",cx:.1417932646163335,cy:-.07970697324000028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSY8QjyTYnsJg4VvVw4dF",selected:!1},{type:"Heliostat",cx:.14447516134228128,cy:-.11237874388776634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pWN8hVQSUWP9zSJ9mBA4u6",selected:!1},{type:"Heliostat",cx:.17282664101658657,cy:-.09790390879065478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vwjTwcPDdQ84YqGSgB7GCM",selected:!1},{type:"Heliostat",cx:.16899535997951837,cy:-.05944220410404414,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2uj8zbaPpR6EuihS2a1eyt",selected:!1},{type:"Heliostat",cx:.16516407894245005,cy:-.027184000173338437,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jTBqs9gubADDLHUczweTht",selected:!1},{type:"Heliostat",cx:.17704105015736168,cy:-.13098924615548113,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9rczuT28G81XBnJWyv8p47",selected:!1},{type:"Heliostat",cx:.18010607498701633,cy:-.1611796165036406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c3Mvio8y22xwBSB8LsByak",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.08136124010826916,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ir46DZVbKinR95v215bS7Z",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.11775511120957816,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"njGEA2SJu4eVEC5eQQDDW1",selected:!1},{type:"Heliostat",cx:.20615878603908072,cy:-.1537354155938268,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KeeMj5e9pcmeJWLsZy8iA",selected:!1},{type:"Heliostat",cx:.20769129845390802,cy:-.18020368548568788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fkWUtc7gCzjPcENNAC8Zy",selected:!1},{type:"Heliostat",cx:.23106211278002461,cy:-.2037769883581267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uuc6jUmEutuWsardRqMkFX",selected:!1},{type:"Heliostat",cx:.23144524088373142,cy:-.172759484578602,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sE5cQvdygFYu5rEEvgstNz",selected:!1},{type:"Heliostat",cx:.23336088140226557,cy:-.1396741472137756,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tBMpyUhxX17cCUPtBhbcxe",selected:!1},{type:"Heliostat",cx:.23451026571338607,cy:-.10493454298070795,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dqzcMfJ4ym9JvrApbs8TiH",selected:!1},{type:"Heliostat",cx:.239107802957868,cy:-.06978137203057995,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9wqmsXX7SDkbVjcEEQp2vy",selected:!1},{type:"Heliostat",cx:.263628001595105,cy:-.1322299463066897,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ca7PcPtrbnFPvGWK55EzEv",selected:!1},{type:"Heliostat",cx:.26247861728398447,cy:-.166555983822697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8xXw6WsWAYY3TxnJd1hKSR",selected:!1},{type:"Heliostat",cx:.2574979519357958,cy:-.20005488790458376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tGtL7cXW4ctq2Uq6fzc5Ri",selected:!1},{type:"Heliostat",cx:.29197948126941037,cy:-.15414898231088717,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2r3Fu8Vht4LfDNGkzD7AvK",selected:!1},{type:"Heliostat",cx:.28814820023234206,cy:-.1930242537145581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uFPPCk3ug65jVcFFKfczUf",selected:!1},{type:"Heliostat",cx:.2801025100544987,cy:-.2236281907770225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rW95SzX5M1aYg6UfYWzGAM",selected:!1},{type:"Heliostat",cx:.10462983855677109,cy:.02864750662977845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dRWphEN9DXnANHh3HGV9Tw",selected:!1},{type:"Heliostat",cx:.09505163596410039,cy:.06380067757990648,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f3KHqcW8BgK3tf3keNrHS8",selected:!1},{type:"Heliostat",cx:.12646814046806035,cy:.055942909955760275,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1mJ8JwzL5NHxUYw6Tb4Etj",selected:!1},{type:"Heliostat",cx:.13068254960883546,cy:.019135472137390887,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3pkNWKyy5jkQRFLV2tqeZu",selected:!1},{type:"Heliostat",cx:.15635213255719296,cy:.04270877500982969,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gMemMLxQbof4Hnm4rEqFfH",selected:!1},{type:"Heliostat",cx:.1513714672090042,cy:.08571971358410398,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBbkhYbWAwoxYepnBMn2ZE",selected:!1},{type:"Heliostat",cx:.1820217155055505,cy:.07124487848974785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3PFAWYvLqr3uBjfJT2HqhF",selected:!1},{type:"Heliostat",cx:.1617159260090886,cy:.005901337191487905,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wAsMtRtTkzAZzoJ2RJuqNS",selected:!1},{type:"Heliostat",cx:.1866192527500325,cy:.03030177349804736,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8Qqyi38hh2Cq2Rg8LRWsK",selected:!1},{type:"Heliostat",cx:.1881517651648598,cy:-.0065056643203219655,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTmzkSNn2tGVv3B7EjqNq9",selected:!1},{type:"Heliostat",cx:.21420447621692415,cy:.016240505117996153,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oboEC75Sh6grnL1ugtrAZQ",selected:!1},{type:"Heliostat",cx:.21267196380209683,cy:.05635647667009271,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"txMcY9WtX2FmTTTqJTDcKZ",selected:!1},{type:"Heliostat",cx:.21535386052804464,cy:-.01932623254921973,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeQUeinFn2YWLHA81FyBh1",selected:!1},{type:"Heliostat",cx:.2433222120986431,cy:-.0007157302815049064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mX9ZXrGRLU9CBRLNchW8ou",selected:!1},{type:"Heliostat",cx:.2417896996838158,cy:-.03628246794869324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rJwEb8gHQVFi61bjjyYKc7",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.0398138079904074,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XuvM5Tt9pWjTTWzyKkrHv",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.07744837924289738,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YjVMHkvo8t3pPXSKyVA2j",selected:!1},{type:"Heliostat",cx:.27205681987665525,cy:.05842431025812222,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c4jmXgazz6s47tNDfcuR2H",selected:!1},{type:"Heliostat",cx:.27320620418777575,cy:.02037617228857191,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fzYUTKuZB2g898qPKopLu6",selected:!1},{type:"Heliostat",cx:.27090743556553476,cy:-.01973979926628006,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ezm9yDFEjEYm2TtNgfysUH",selected:!1},{type:"Heliostat",cx:.26516051400993235,cy:-.053652270065227096,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8WSwg1KasTJjpUskv4dYS",selected:!1},{type:"Heliostat",cx:.29044696885458304,cy:-.07350347248412291,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ghekwWKHGiE7zrCodtNu1D",selected:!1},{type:"Heliostat",cx:.2958107623064787,cy:-.03876386825105522,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNNdsfuPqE1EPczC46MeS2",selected:!1},{type:"Heliostat",cx:.3004082995509606,cy:.00011140315261576157,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Chbg5MtX5989PatXAvQ1e",selected:!1},{type:"Heliostat",cx:.30423958058802886,cy:.0385731078392264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W9vhrDsJ8DwZBrvsuaxMH",selected:!1},{type:"Heliostat",cx:.33450670078086836,cy:.012518404664425633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eRsGbJw5AvY9EH6xgwRHFB",selected:!1},{type:"Heliostat",cx:.33297418836604104,cy:-.023875466436883364,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"83tmu295aDGPuUQDG8irif",selected:!1},{type:"Heliostat",cx:.32224660146224987,cy:-.06399143799173532,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9j8V5Vajb7oyLaPxiuJtfW",selected:!1},{type:"Heliostat",cx:.31573342369923374,cy:-.09831747550774267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"itsvnfebiYWqAJ69gutWHW",selected:!1},{type:"Heliostat",cx:.3590268994181054,cy:-.05075730304580478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wz22ek3hjYTur5JCY2Nij9",selected:!1},{type:"Heliostat",cx:.38929401961094495,cy:-.08053410667414851,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ztRUM2FUvLR438Y5J9EgX",selected:!1},{type:"Heliostat",cx:.3490655687217279,cy:-.08963257444947577,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"471Dah549XrTt5dob8iJnR",selected:!1},{type:"Heliostat",cx:.37588453598120586,cy:-.12023651151194013,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1pbcbEdVAG2P5ABxQu5Ke",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:-.12478574539960376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"47fgpHN5zioMupSTaZWDSp",selected:!1},{type:"Heliostat",cx:.3647738209737079,cy:-.15249471544264584,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pCDe1bzWHZ6jS57fAK8pwn",selected:!1},{type:"Heliostat",cx:.3295260354326796,cy:-.15828464948149043,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCcRtCsumKV9DfWxadqTW5",selected:!1},{type:"Heliostat",cx:.3574943870032782,cy:-.19219712028043748,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ayXH3c1sFzNjaSdMZ81p9c",selected:!1},{type:"Heliostat",cx:.3184153204251815,cy:-.18640718624159286,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4evv7fQdgSNSipNwTWwGwC",selected:!1},{type:"Heliostat",cx:.3437017752698323,cy:-.22156035719172085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAh8823N9Vwi6vKYFAJd2C",selected:!1},{type:"Heliostat",cx:.3122852707658723,cy:-.22280105734290184,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5PCkHADofgHMwo1pjfyL9y",selected:!1},{type:"Heliostat",cx:.3333573164697478,cy:-.2554728279906679,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3xqoNyUGDK5ydaeVXeiyKG",selected:!1},{type:"Heliostat",cx:.39810596599620196,cy:-.04538093572674829,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aW5zhg7bZS1fUR7XJst2Gi",selected:!1},{type:"Heliostat",cx:.36630633338853513,cy:-.01353629851037508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gQLhow3fXWpMkfRe8wtCzu",selected:!1},{type:"Heliostat",cx:.40883355289999307,cy:-.007332797754470145,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knRosv43m5AQ9razdiCqcM",selected:!1},{type:"Heliostat",cx:.3735857673589649,cy:.024511839459175226,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eEqU4FAzLxkJH9Tf34bQUP",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:.05304794293633799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZpNgZfZfytEBxpebNdzEb",selected:!1},{type:"Heliostat",cx:.3053889648991494,cy:.07662124580877676,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6EPw6254wjubgGXjScbc35",selected:!1},{type:"Heliostat",cx:.27129056366924165,cy:.09729958166179327,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"79MBztAVAqPVNos51gf6eg",selected:!1},{type:"Heliostat",cx:.24293908399493633,cy:.11673721736362871,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eXofdMYHTSynXhcqPKpjbV",selected:!1},{type:"Heliostat",cx:.20960693897244223,cy:.09026894747176761,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cj1HzxwMYNjCeedqVrynoE",selected:!1},{type:"Heliostat",cx:.20769129845390807,cy:.13162561917780058,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SqHt7enenNVrryGKLRHHj",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.0365052742539248,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoiTBXczJ25keVDxYZkuSh",selected:!1},{type:"Heliostat",cx:.38009894512198106,cy:.07000417833581148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7VCY1aEW3s9HeKvSty5XL2",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.088201113886466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbUybRMcP7qMoBEYqmnx6h",selected:!1},{type:"Heliostat",cx:.3444680314772459,cy:.0993674152470949,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sxsUBxLvQKPU2sAKzPcwC8",selected:!1},{type:"Heliostat",cx:.3820145856405152,cy:.12335428483659402,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5V4WAQXnKXNyTXXR6qBDXx",selected:!1},{type:"Heliostat",cx:.3069214773139766,cy:.12459498498777499,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"utggTKHEx3AjG5Z1EoMDCs",selected:!1},{type:"Heliostat",cx:.3452342876846595,cy:.14775472114315344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPUupWhDTobXtkfAk4CHMp",selected:!1},{type:"Heliostat",cx:.1758916658462413,cy:.10929301645654278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v4iP1MonNTVEo1nyN2hwab",selected:!1},{type:"Heliostat",cx:.1410270084089199,cy:.12045931781717169,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8V8hDrjxrjeZN3UkWbonBQ",selected:!1},{type:"Heliostat",cx:.118422450290217,cy:.09564531479355189,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bqVYQHX1yQnt7BZjYd9afT",selected:!1},{type:"Heliostat",cx:.08585656147513654,cy:.10308951570063785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YF4NAGXk4jm9beYYTb7SN",selected:!1},{type:"Heliostat",cx:.10999363200866677,cy:.12873065215837826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7s9yjAjPK8QCDpuAxkaDQK",selected:!1},{type:"Heliostat",cx:.13528008685331744,cy:.15892102250378232,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ueGb2uspjMAYZriJiCCScw",selected:!1},{type:"Heliostat",cx:.17091100049805252,cy:.1489954212943344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kR8wrTUausCmyTieuq4dHH",selected:!1},{type:"Heliostat",cx:.2735893322914826,cy:.14279192053842946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m8S6ZiPTBsqdQVioZbCw5M",selected:!1},{type:"Heliostat",cx:.23719216243933391,cy:.16222955624026494,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4MeKS14wCpVzh8CtWpLZum",selected:!1},{type:"Heliostat",cx:.20117812069089197,cy:.17753152477149714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fCUJrfBrQ7HRvGk8i2jeaR",selected:!1},{type:"Heliostat",cx:.310752758351045,cy:.1696737571473509,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3hbDt2ugbLLKbd29gwYrUC",selected:!1},{type:"Heliostat",cx:.38546273857387664,cy:.17008732386441117,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hvEWWKEMAmdPXEoa4V4QAu",selected:!1},{type:"Heliostat",cx:.09811666079375506,cy:.17091445729853186,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aV6CVn4L6wr2GaKZrT1Vjm",selected:!1},{type:"Heliostat",cx:.0739795902602248,cy:.13658841978252445,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r3m2DEYQLd3mBwfFtEcVau",selected:!1},{type:"Heliostat",cx:.0375824204080761,cy:.14237835382136915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Lco1rBEM6kMAUmL9NLgr",selected:!1},{type:"Heliostat",cx:.06248574714901997,cy:.1758772579032558,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"18MGWB6ff2CJeKikAUYJnL",selected:!1},{type:"Heliostat",cx:.0031008910744615347,cy:.14610045427766746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYFCkzek2ccB6Pe6iDrEb1",selected:!1},{type:"Heliostat",cx:-.029464997740618924,cy:.1469275877090603,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6K52upKmX7aSVP2ujZ9n2m",selected:!1},{type:"Heliostat",cx:-.06624529569647447,cy:.14527332084081898,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5tcTbFYhFAxjhJQRk4KSQo",selected:!1},{type:"Heliostat",cx:.02685483350428495,cy:.18084005850797985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n61CQiJbnjFcrmJ4Qd5q6E",selected:!1},{type:"Heliostat",cx:-.013373617384932066,cy:.18249432537622118,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtxr56Ffqv7oisuWAfzE9f",selected:!1},{type:"Heliostat",cx:-.05015391534078766,cy:.18290789209603692,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ssnbBpNmb57x9QcPXWiUPm",selected:!1},{type:"Heliostat",cx:-.089616110022591,cy:.18166719193937264,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abSokmDd3oxiagFbwYw4gT",selected:!1},{type:"Heliostat",cx:-.09881118451155492,cy:.14320548725548987,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wuQC7dYsNVP7PrDHN1NRGs",selected:!1},{type:"Heliostat",cx:-.12524702366732607,cy:.17753152477149722,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aJAfZK2dApF6de3TZNo36",selected:!1},{type:"Heliostat",cx:-.13827337919335825,cy:.1365884197825246,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xqsuyu9jqMNNR21mXVQ1a5",selected:!1},{type:"Heliostat",cx:-.17275490852697287,cy:.12997135230955933,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swiDJhjoNyhP63XMsVg6ur",selected:!1},{type:"Heliostat",cx:-.16087793731206115,cy:.17050089058147164,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aWi6rcrzKqVDW7CfrF1871",selected:!1},{type:"Heliostat",cx:-.19804136337162356,cy:.1618159895232047,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYUqz4sh2LFY1owPxxLGX1",selected:!1},{type:"Heliostat",cx:-.23597104563859955,cy:.14899542129433452,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vv5n4PmfmBKXSGGNbevTey",selected:!1},{type:"Heliostat",cx:-.14402030074896066,cy:.21144399557044424,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6afKxsaAMJBNRnAKoKzPU4",selected:!1},{type:"Heliostat",cx:-.18654752026041868,cy:.2039997946633583,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YsLhxgaZg9Q87hZLXmeRs",selected:!1},{type:"Heliostat",cx:-.22486033063110153,cy:.19200635986860873,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2d8xeYnZjcK5AiBTwEWzgx",selected:!1},{type:"Heliostat",cx:-.1091556433116393,cy:.21930176319459052,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vckAj7b593ahoDXTD68N3y",selected:!1},{type:"Heliostat",cx:-.07045970483724957,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6pp7NwNe4PgJKBVJsV7dGd",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1pADApoC8hWnpbvYEvM5UA",selected:!1},{type:"Heliostat",cx:.010763453148598107,cy:.2197153299116508,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PGQjGdFqm6pw32fwJZufu",selected:!1},{type:"Heliostat",cx:.04831000731186732,cy:.21847462976046983,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oR8yoN1AtfF6iLT3X2SqWy",selected:!1},{type:"Heliostat",cx:.08930471440849803,cy:.21061686213632358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nETqDwZvxQ1dJWeqM7Z2dH",selected:!1},{type:"Heliostat",cx:.12608501236435357,cy:.20151839436099633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o4tZaxHBZHKFtmG7xSce1i",selected:!1},{type:"Heliostat",cx:.16363156652762278,cy:.19117922643448812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"csmW9k51tdyoZ24jFE76GS",selected:!1},{type:"Heliostat",cx:.19543119913528956,cy:.22385099708225412,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBFBKRX26RSYKyWNZJF5qd",selected:!1},{type:"Heliostat",cx:.23336088140226563,cy:.20772189511690126,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vRw1xgf1Qf5Yz5VVToBzXd",selected:!1},{type:"Heliostat",cx:.2716736917729485,cy:.1899385262833071,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rEtpBVboMR7XjEgcux4547",selected:!1},{type:"Heliostat",cx:.3076877335213904,cy:.21888819647753016,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2FCByMFsbYZPgKoVW6ncqW",selected:!1},{type:"Heliostat",cx:.34791618441060734,cy:.19490132688803105,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7CpYfRknsBW7rVbRGTPnhL",selected:!1},{type:"Heliostat",cx:.3460005438920733,cy:.24494289965233088,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMS3yRiwnF88dhiVtoh9c5",selected:!1},{type:"Heliostat",cx:.3015576838620812,cy:.27223830297831264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dbBWX8iuPtZmjpKk4PQdKc",selected:!1},{type:"Heliostat",cx:.26937492315070755,cy:.23708513202818465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dYZSyQzqqkq28acBvqThmF",selected:!1},{type:"Heliostat",cx:.22838021605407682,cy:.2548685008617788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQGbd5QAk8pPfgDRf2pnvw",selected:!1},{type:"Heliostat",cx:.2640111296988119,cy:.29002167181190686,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gKRa4wpCCZ2YuQXE517nZ2",selected:!1},{type:"Heliostat",cx:.21880201346140607,cy:.3073914739284407,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCywX5XZ4CUAJkRyS3FniH",selected:!1},{type:"Heliostat",cx:.1858529965426188,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2UPLQMCooiMhFJtDN26CC2",selected:!1},{type:"Heliostat",cx:.15405336393495203,cy:.23584443187700366,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9gstuVGZgNt34bwx4fWbUR",selected:!1},{type:"Heliostat",cx:.14370890513486767,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4b4VML3sa7hnY6ghXF3UUH",selected:!1},{type:"Heliostat",cx:.11229240063090776,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wgdCGQw8TMgPeJVmJu1z5p",selected:!1},{type:"Heliostat",cx:.1007985575197029,cy:.2896081050948465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"waxnrKabumqfqY9nszwBCu",selected:!1},{type:"Heliostat",cx:.0728302059491044,cy:.25652276773002014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYDz76fyRaQEPaspZ2rJP4",selected:!1},{type:"Heliostat",cx:.17512540963882764,cy:.3206256088743712,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pazgCfCXnKgDa4L3VRZcx5",selected:!1},{type:"Heliostat",cx:.031452370748766875,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r7WAJSEpjF1v6Y8RpDz5PJ",selected:!1},{type:"Heliostat",cx:.05788820990453806,cy:.2991201395872341,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9eZTFADerf4QWheHy8QGKH",selected:!1},{type:"Heliostat",cx:.011912837459718613,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sNRuKArsN6PvUBVAmpBhxu",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.30821860736256135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ofECbbJ9gme6LxsuNXNjgk",selected:!1},{type:"Heliostat",cx:-.009542336347863806,cy:.2635534019200458,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v9J8DuLJH4a96cz44K2xmP",selected:!1},{type:"Heliostat",cx:-.05206955585932177,cy:.26313983520298545,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9a9woYxqpxa3DPpGkexnDn",selected:!1},{type:"Heliostat",cx:-.07505724208173149,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"btMDteQZ9ZwHR2ZJEJPqTR",selected:!1},{type:"Heliostat",cx:-.11835071780060315,cy:.30036083973841504,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3R6fjmFqnVAn6gX7NVbg6T",selected:!1},{type:"Heliostat",cx:-.09344739105965931,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"biLXxZamzgN1buUB8TsZqZ",selected:!1},{type:"Heliostat",cx:-.13520835436370363,cy:.25445493414471854,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fExb7vHaSjiVqB5MGACC4u",selected:!1},{type:"Heliostat",cx:-.16241044972688845,cy:.2958116058507515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iAmRb8oDGZX392ae33MR49",selected:!1},{type:"Heliostat",cx:-.17581993335662746,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCVU3AM9GsiHSTf2zAYpNn",selected:!1},{type:"Heliostat",cx:-.20608705354946694,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fafqHSKwkZ9Lc6KNcub1iX",selected:!1},{type:"Heliostat",cx:-.21604838424584447,cy:.23832583217936565,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5x5ryjAFNyLBQJSPDZiNxM",selected:!1},{type:"Heliostat",cx:.25404979900243435,cy:.34089037801032746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZqvYxemtzLuX56szXzxj2",selected:!1},{type:"Heliostat",cx:.2092238108687354,cy:.35784661340980095,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1xzWMVcb7QUgsZhom23ZBM",selected:!1},{type:"Heliostat",cx:.16094966980167502,cy:.3719078817898521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oP1tTsujTz46mZLAksbU8",selected:!1},{type:"Heliostat",cx:.14600767375710866,cy:.4215358878370917,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpxoJLLKw2wmcNRpjJPBjy",selected:!1},{type:"Heliostat",cx:.09543476406780727,cy:.4322886224806602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCWXPsVjzjnqeov6whWkEo",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.11420804114944189,cy:.38307418315048103,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dk9gN4h4BRr8fGtZgsJuDT",selected:!1},{type:"Heliostat",cx:.12991629340142186,cy:.3313783435179399,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2fgVoHVNeFxumUFrk5quEU",selected:!1},{type:"Heliostat",cx:.0651676438749678,cy:.38969125062344634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"it8NqwMqJ6jLPQz4dBWJb8",selected:!1},{type:"Heliostat",cx:.044861854378505865,cy:.4393192566706859,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"udHusEwmFchV5kUtJf1ukS",selected:!1},{type:"Heliostat",cx:.08240840854177511,cy:.33799541099090513,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bsUzfzqGGE9YRc9SxnYgmz",selected:!1},{type:"Heliostat",cx:-.005711055310795511,cy:.4422142236901082,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2WagAkKFSQwtBhzW9SCBZ3",selected:!1},{type:"Heliostat",cx:.01765975901532106,cy:.39465405122817027,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s4VCdFSKVUwKw3ks2MUqmg",selected:!1},{type:"Heliostat",cx:.03796554851178297,cy:.3470938787662324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h4ZiHa7nr4i5m7fVtmuGTu",selected:!1},{type:"Heliostat",cx:-.009542336347863788,cy:.3524702460880167,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5oXHCCp9pagPTxNZv7YAhZ",selected:!1},{type:"Heliostat",cx:-.0306143820517394,cy:.39217265092580833,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ksbrcBfUU1XjRMYnvbmKvL",selected:!1},{type:"Heliostat",cx:-.057433349311217394,cy:.44510919070953053,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pkwk8jYFuWA8JrrVEXSciw",selected:!1},{type:"Heliostat",cx:-.10800625900051879,cy:.4397328233877463,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"myZ6zveEJCX5Y5KUd9UqJc",selected:!1},{type:"Heliostat",cx:-.08157041984474761,cy:.39258621764286866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8N7G24rjGiwUS1qdSwqWKB",selected:!1},{type:"Heliostat",cx:-.05321894017044227,cy:.34916171235153404,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wnaxBMjLgw16qhsxW87N2s",selected:!1},{type:"Heliostat",cx:-.1597285530009407,cy:.4327021891977206,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tdAXmudejXgsfZaFTCJpea",selected:!1},{type:"Heliostat",cx:-.12869517660068752,cy:.3876234170381447,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2EGGmcigKerWkATYn21Drn",selected:!1},{type:"Heliostat",cx:-.10072682503008903,cy:.3462667453321118,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9JRkgoqFZPzpaDJN7QVEqw",selected:!1},{type:"Heliostat",cx:-.14746845368232211,cy:.3425446448785688,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cemUSZgbciSABHXVUHVMRB",selected:!1},{type:"Heliostat",cx:-.18118372680852307,cy:.38472845001872236,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Nd9N6VpCiem7PLD9aoKJQ",selected:!1},{type:"Heliostat",cx:-.22677597114963569,cy:.3748028488092745,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3vFhXc352dZa6eBcXkn8H",selected:!1},{type:"Heliostat",cx:-.1896125450900733,cy:.3330326103861812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXuuzbNe6dHacfosrcjkG6",selected:!1},{type:"Heliostat",cx:-.2401854547793747,cy:.32021204215731097,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wvrbYM3ECPeNyPcjQDEFVt",selected:!1},{type:"Heliostat",cx:-.27275134359445513,cy:.3603280137121629,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1fzbQMf2vnYzc5rpFpv9Mm",selected:!1},{type:"Heliostat",cx:-.2830958023945396,cy:.3082186073598336,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vzTr4LtFarEKYTmcYc1SSn",selected:!1},{type:"Heliostat",cx:-.24669863254239083,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bQQNRPpyECMqE968rws9s7",selected:!1},{type:"Heliostat",cx:-.2555105789276479,cy:.2234374303651939,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a1ChAzJsqXt2MPj8g71s9i",selected:!1},{type:"Heliostat",cx:-.28960898015755565,cy:.25776346788120114,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ggq4FyzZAgUPjfnxC8sMSU",selected:!1},{type:"Heliostat",cx:-.2949727736094512,cy:.20689476168278068,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2po6rWGbCxwy8HhxH4B5M3",selected:!1},{type:"Heliostat",cx:-.2624068847943708,cy:.17918579163973858,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdrrNnoWhgNP5mRf3i2NL1",selected:!1},{type:"Heliostat",cx:-.3256230219059975,cy:.2887809716607258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YMmZ4VphoH7t76dfCNrKp",selected:!1},{type:"Heliostat",cx:-.3685333695211623,cy:.26727550237358866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUtNWA5JuxbJLty1PFij2c",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:-.3294543029430657,cy:.2370851320281846,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wA8tWR4u3NMA7wqZrTD6LS",selected:!1},{type:"Heliostat",cx:-.37083213814340327,cy:.2184746297604698,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u1tc8oJuXA2enopmwuzjK2",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.19448776017097064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98Xke4ooFncN8FqBo7DDy6",selected:!1},{type:"Heliostat",cx:-.45282155233666466,cy:.11466938377832708,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3sLafsCK4ZvzmX9XjWqLu",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.14858185457727408,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fL2zFNvEirpGcgDGmSR7Q",selected:!1},{type:"Heliostat",cx:-.369299625728576,cy:.17298229088383354,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1La1dF2UsKPBp333zXfnQM",selected:!1},{type:"Heliostat",cx:-.3344349682912545,cy:.19241992658566903,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccVk8kW1m7tdavAe7fX2do",selected:!1},{type:"Heliostat",cx:-.373897162973058,cy:.12170001796835267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7dYAamQSthGA7dsTStGx64",selected:!1},{type:"Heliostat",cx:-.33520122449866824,cy:.14692758770903283,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7an2wysM5Qh3AkEZpGd37",selected:!1},{type:"Heliostat",cx:-.30071969516505365,cy:.16512452325968727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMwJPZfpHaQqaVGyt8my77",selected:!1},{type:"Heliostat",cx:-.3041678480984151,cy:.11880505094893035,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sEhiU97pJ6gWPJXqqojWa4",selected:!1},{type:"Heliostat",cx:-.2666212939351459,cy:.13493415291428323,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbZK8YX7uyaHE3smRfE1iQ",selected:!1},{type:"Heliostat",cx:-.20443321752274124,cy:.12247070829736166,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JbmNCtS7jdpAREuUBBsWM",selected:!1}],avn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[106.52962106579803,-544.1172181902157,79.8149873216779],panCenter:[.9854234887700954,-25.135454432654125,13.426370895100769],orthographic:!1,enableRotate:!0,cameraZoom:1.5388995055342627,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[16.412888127805086,-91.5557196774778,49.9998886695533],panCenter2D:[16.412888127805086,-91.55566967525533,-.00011133037453072694],solarRadiationHeatMapMaxValue:4,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1},lvn=1,svn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},cvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},uvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},dvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},fvn=[],hvn={docid:Q8n,time:Z8n,timestamp:evn,userid:tvn,owner:nvn,email:ovn,world:ivn,elements:rvn,view:avn,evolutionMethod:lvn,solarPanelArrayLayoutParams:svn,solarPanelArrayLayoutConstraints:cvn,evolutionaryAlgorithmState:uvn,economicsParams:dvn,notes:fvn},pvn="vL1ZUsNydJJmwct15vHcrF",gvn="05/19/2022 06:27 pm",mvn=1652999233628,yvn="QWecNcxhyvP6j6sBN11hBsfZDau1",Avn=null,wvn=null,vvn={name:"default",date:"9/22/2022 10:15:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.804781891550604,longitude:-114.97646752496185,address:"602 Eldorado Valley Dr, Boulder City, NV 89005, USA",timesPerHour:1,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:10,airAttenuationCoefficient:.01,cspGridCellSize:2},xvn=[{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"7L9JEMbgdkHJqyQYNhEPJq",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"irFPLxmMLT6rFDoJKoiKhb",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8eu7vDhv6KUhHi9npAWqM9",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"qipbq8ah3yAaXFiTtNqwjz",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8jsKzdYVfC5Vf4Nnu5jMbP",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"9VBTZXtWX26kqjkAsCS6nu",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"aUYdyUNGi8bnHineP3zqz5",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"bEQifGheSWzXErCQEX5jc9",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"r4v1okttD44Z3thaT999zr",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"vbsjU2syn8u3VcPEUEvfUL",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"rS9gedRi7TPFSNSehAoH5T",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"oYPRYVsGHKMvvbMQksPZAx",selected:!1,dailyYield:2167.4086752704884},{type:"Foundation",cx:-268.72128837305235,cy:192.4499625139658,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fjnWik4gwK6dVzpp4PS9CN",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"somwUXH46rWWj2iEWaBpTH",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"f6fusQGihys5Uk5wRLiqtW",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"xxRJM6MpW6jZoZtDe4gxTL",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"67cNGKEATuXayJC7fa4ov6",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"jTDbg2GsKFSXSL5kfEKwFM",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"otoVZiatBWpjEMBHcFE1vB",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"a61aJ1UFYsWt4ci4mKq9SJ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"3oeacHzGeVf2rX3iv6QkKf",selected:!1,dailyYield:2183.952515711261},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"j4UdupxMbEhx9RPqd3Kxbe",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"eU127LCRTi1gGCpMprsZjB",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"9dKhxKmMz8HYSCd8thjHfi",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"8niYJz4X5kqK7PxotD8v8w",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:-96.65608919286746,cy:194.42114792003463,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h3DXKV7Y684i3thRma6wLu",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bzpE1WucZoTcJnrQaFWosk",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"b18nYFHTAeTLPg9V3TAu6r",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"vnJbcrncrmPTTZtSNizQZx",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uuobSx6wZMqJ4o9dEx6874",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"fkkZPubbk2sVhakgHyJg8p",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"nKo71iVf2HXcRbr4UCGY4B",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"s73CuihHSMyjifPJZbc7fj",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bPUahAh6uikU5BjNj3PBL4",selected:!1,dailyYield:2184.314471867017},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uwbEdmDhH9hKvJBzSqoFEi",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"ek8zDL6MWZ5xk3JieUZvVt",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"4f3PT1Wrj5UjbZFwB43q6Q",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bV9jU3U5EG7hj1ZR9htRmc",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:76.81490256290738,cy:193.91833345117703,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fiH8AWThFS5EVx7AwfngqL",selected:!1},{type:"Parabolic Trough",cx:-.04454509140457573,cy:-.0080567453075295,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"t8xtXgJ4zQkhGJAogmq8d9",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.028178433926039068,cy:-.008139307894208355,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bUFAb96RGW7QwKBQMcxVPN",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.11348203554423389,cy:-.009985318932966891,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"6rj3ikzy3Q8n2yfz1CwRXN",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1829903788505871,cy:-.009114355848154284,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"1WNeTRgxoSTT2DQJu5yyHb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.25148985811792923,cy:-.010411589149102113,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"cWDWPkRX7GebUfNP1qoDPY",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3213430444980177,cy:-.00840045293698594,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"dC1wGpGBnzJBEAzPE8gK7z",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.38740964968714997,cy:-.009828258759322559,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jLCGM5EGeijybwhJJbzYWo",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.4537412982117307,cy:-.010542161670490834,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"fofxsexPNsKCB5DuhFZbhA",selected:!1,dailyYield:2184.249130169591},{type:"Parabolic Trough",cx:.09586378956336611,cy:-.00872263828398791,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"scR8HVKLnxMfg5qeM5Lugw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.1635491452006934,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"aJRfgV9p4QZ5EqYhzKMsGH",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.22988079372527398,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jbKhaZc18QopEFA48QhFGz",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.3002735635880945,cy:-.008008735372819492,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"gfBbYgpDbuSQ6xjoAfmVTg",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:265.415477246936,cy:192.50545738235357,cz:.05,lx:211.2723746451423,ly:400.6159826636368,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"v1v8XPTexYoFXFrbQfvcXN",selected:!1},{type:"Parabolic Trough",cx:.3626690294198999,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"kni2ZMXaAJJiwviDVB1raV",selected:!1,dailyYield:2186.372284672933},{type:"Parabolic Trough",cx:.4327954824820787,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bETGj1xEbbAb2BVse1AQM2",selected:!1,dailyYield:2207.463112852368},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"s7kVKBTAaDo2hjd87z12j1",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"2TcdonCE1i3zpYReX2SoLR",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"a2NWUVKnwbFux2PYtz5CHH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"t3XK5N3foFHRBevW4hQYeH",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"gX7yumpKKrmXnqYJweAwxw",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wydrS5X5dqpbWyrqFYtYX6",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"ko9LprY6zErxhRNVTa6b2k",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"tUbG4wALaTZBXqDzrZWjJa",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"cwror37w56snxd6Cu57GYv",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"djRCaY4JYizuqL9V1t1Ef7",selected:!1,dailyYield:2186.416326619183},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wUb1oL88fa6vEHWZxPkspJ",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"8CofMvmPY2z5bBHdRWwYyh",selected:!1,dailyYield:2184.2214642544664},{type:"Foundation",cx:-274.1742441205048,cy:-205.8730240503783,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"er6dYYMfRpcyAunmGzAVCk",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"jrgrdJiY66ubYTKCaCxqTB",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"fs8ejjGyyEChaC8Ehk8T4z",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"wXPY3K4zXtXUdVp4EU5wHC",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"woCUpwEYEVwQQqjCWLCbcb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"8fA8M4gu6FFx9kstBhM3Gh",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"vdKSaNvMHXQ6c4CUhsUbjJ",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"nfHAWXJBNrnZk4SZXBZRwQ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"oG9kEtQxTKYAx4RBkRru4e",selected:!1,dailyYield:2200.564116598536},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"eZZfAVvGcJQ4hyoRBRAHxH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"1fvahJfFg2KKz9NtwScfEZ",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"whVGRaA9vi5x7rhQNFg1yE",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"c9Dk9vaeTmZUcYmk8LG9yA",selected:!1,dailyYield:2184.142140950794},{type:"Foundation",cx:-99.03928963053315,cy:-203.22690478352843,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7yEBa2PPK1oKGZhA24cAWz",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"9xAb6RCYhCVXhVokdoTNnm",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"mQojvngU3MK9E1WnMgnuYU",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"fdpnWcCJudkZEj98eat8mA",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"eXpPJSpHuPPrV44B7sxjrT",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bKjSqKtUrMBiHDZpPLvptN",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bUtfJ12cGNMZZLy3onCpbF",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"1coPe9Q5rGuZ2WSaiij8Le",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"2yk58NVaRPhqHjxMFDwXYo",selected:!1,drawSunBeam:!0,dailyYield:2184.5259546735324},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"6x4yDGfJw4eCZ7ekCPhjNt",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"xvTNCko8YFvfGqK1kgUt12",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"gVdwmaY8duSTrt1vAsGAxn",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"nYEBq3ov1hbfwdFnEPb7Kh",selected:!1,dailyYield:2167.507403284107},{type:"Foundation",cx:75.63743844199865,cy:-205.7462806691912,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k36HZDupiVkAR6X1Ux85J2",selected:!1},{type:"Parabolic Trough",cx:-.033179547828226484,cy:-.00957350532887952,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"ezm6CU1apADueQgyTsSmZn",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.0413587397995383,cy:-.009655416682255636,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kevGPawVmfF7HkTwPXwpqF",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.1038367629054752,cy:-.011486866841637427,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"uandqWKZFgnXJhXCrgQ2QQ",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.17507963599701507,cy:-.010622773698636264,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kpSVEzPLMTEAVhEWUE8vrF",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.2452884695865472,cy:-.01190977474353469,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"xzPQyiCUDpURAjVcdpLis1",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3168847910580943,cy:-.009914501877400738,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"1oovrq6jnWYwDxtZ3cBFmK",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3846000399791258,cy:-.011331045519871718,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"royQeirmSLt4FSVKZM7K9n",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.45258694619787027,cy:-.012039317341107171,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"eHq1QWB15jeB3RweUWBig1",selected:!1,dailyYield:2183.9634444947524},{type:"Parabolic Trough",cx:.11073313390029775,cy:-.01023414590591861,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"bX6TtHS7whnu5gLA4WYDBw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.18010752800105748,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"vfvomP4GJj2bUfaeRmSTnY",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.24809443421980182,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"aKsJXH85Pv1TJFkCUcHtaj",selected:!1,dailyYield:2184.074372390822},{type:"Parabolic Trough",cx:.3202438040845918,cy:-.009525874084683014,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"5d1oEf681m2BEya8bQE3Zu",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:260.2382130043768,cy:-203.83085358802796,cz:.05,lx:206.12858677265922,ly:403.80106579029473,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tnLBLu28SYP7t6wfKCqrkm",selected:!1},{type:"Parabolic Trough",cx:.38472948235042653,cy:-.006082018282359512,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"35zz9s2izu4bSZ895qaY5m",selected:!1,dailyYield:2186.4500637242113},{type:"Parabolic Trough",cx:.45459040213804675,cy:-.0025158234685137603,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"8LPfuFyav4kWtBZ6BHp2RQ",selected:!1,dailyYield:2207.323568286619}],bvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!1,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[415.56554854788317,378.8681570116889,50.208533152612546],panCenter:[53.36331727441414,25.641045916575948,4.010932124381785],orthographic:!1,enableRotate:!0,cameraZoom:1.3888568037446718,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[7.614289529137672,-228.9673229029426,19.999771022501545],panCenter2D:[7.614289529137672,-228.96730290205363,-.00022897748026825466],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400}},Svn=1,Tvn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Pvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Cvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Rvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Hvn=[],Mvn={docid:pvn,time:gvn,timestamp:mvn,userid:yvn,owner:Avn,email:wvn,world:vvn,elements:xvn,view:bvn,evolutionMethod:Svn,solarPanelArrayLayoutParams:Tvn,solarPanelArrayLayoutConstraints:Pvn,evolutionaryAlgorithmState:Cvn,economicsParams:Rvn,notes:Hvn},Ivn="anrFxSGH61K9md1hspSx6c",zvn="02/02/2023 12:15 pm",Dvn=1675358110494,Evn="QWecNcxhyvP6j6sBN11hBsfZDau1",kvn=null,Fvn=null,Lvn={name:"default",date:"9/22/2022, 2:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:42.2844063,longitude:-71.3488548,address:"Natick, MA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},Wvn=[{type:"Foundation",cx:.08101414969184528,cy:-.061088068754476144,cz:.05,lx:30,ly:30,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"1jWhHcaUD3hYBmq8heF7Mt",textureType:"Foundation Texture #2"},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:15,relativeAzimuth:0,tiltAngle:0,structureType:2,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.0015648838470118183,cy:.002268855297546398,cz:.5000000074505806,lx:8,ly:8,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",foundationId:"1jWhHcaUD3hYBmq8heF7Mt",id:"n6Wes9AHD6Nu1BFW2ixX6c",selected:!1,dailyYield:58.654024482322484},{type:"Cuboid",cx:-.0385404512454377,cy:.14330355436037368,cz:.5,lx:1.410367011670566,ly:1.229722993301011,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"wjK4XRngAZ84SKTN23jchz"},{type:"Human",name:"Judd",cx:1.5445606997476098,cy:-3.0401084333788013,cz:.05000000074505806,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",id:"weMPyi8cZcMft87uExNbWN",selected:!1}],Nvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[-2.420183280635814,-15.878268188373001,3.8943744657694412],panCenter:[2.874525283798386,1.555148727597212,3.8943744657694412],orthographic:!1,enableRotate:!0,cameraZoom:31.733468832186784,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989623],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,showDailyParabolicDishYieldPanel:!0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,stickyNotePanelRect:{x:0,y:0,width:200,height:60},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},Uvn=1,Bvn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},jvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},Yvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Ovn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},_vn=["Parabolic dish"],Vvn={docid:Ivn,time:zvn,timestamp:Dvn,userid:Evn,owner:kvn,email:Fvn,world:Lvn,elements:Wvn,view:Nvn,evolutionMethod:Uvn,solarPanelArrayLayoutParams:Bvn,solarPanelArrayLayoutConstraints:jvn,evolutionaryAlgorithmState:Yvn,economicsParams:Ovn,notes:_vn},Gvn="7ug2PMzZs8KHaJfo9T19XG",Xvn="11/13/2022 05:52 pm",Jvn=1668379966922,Kvn="QWecNcxhyvP6j6sBN11hBsfZDau1",qvn=null,$vn=null,Qvn={name:"default",date:"5/22/2022 11:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:40.50104939260215,longitude:-112.3735469155903,address:"West Maint. & Supply Road, Tooele, UT 84074, USA",timesPerHour:1,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:5,cspGridCellSize:1,cspTimesPerHour:1},Zvn=[{type:"Foundation",cx:-47.0206360597426,cy:68.67019638501287,cz:.05,lx:46.5768885127422,ly:135.19445156274705,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:8,relativeAzimuth:0,tiltAngle:0,structureType:1,receiverRadius:.2,receiverPoleRadius:.05,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.30761593322410435,cy:.2695290878919692,cz:.5000000074505806,lx:6,ly:6,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"fopwswffzD41xMfw42A9HH",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.02814798372485404,cy:.3300697435564625,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uhQ2BDDLEGyfXHXM3T8D4J",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.015122118824723977,cy:.2725477934518696,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1hU2B3tRaXiQA6qMShWWWm",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.3100390677195005,cy:.3278398594863607,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iEABxF7nkChkFiL5Znzw6T",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.309076286400796,cy:.20865185910064502,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"6dujuDwUqfLaFeQofWwJLp",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.30842094785613033,cy:.4471386572368095,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cxNbMe5Q6mxcWpM69s2zVD",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.44914206870604134,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nvnv9aQWWLSS8NFmBnHLYH",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.021675504271373644,cy:.4499260123244368,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1XvYz7yo4kDAwFbbyEVu6r",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.39329601584788454,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iAqeVhRsv4EEemyXLxRT7n",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:-.31489342730961073,cy:.3858168453090086,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8887sGWkY9DPe6zPB7DCjw",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:.36706723440738265,cy:.33342502224319376,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"w4H13nunp4KXu5rLSjHetr",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.021675504271373644,cy:.3919490265017887,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8A9nZ4G6EMbXmR2ypdZPtC",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.3119969927541789,cy:.15179957105585468,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9xvM5C54F1GdXuQmPkbXHv",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.36852758758407417,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dWXjd19yWhBU5KYeV4ep7R",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.36852758758407417,cy:.2740571462318198,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9RH7D4KCkHBkHBB3Jq4YBh",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.019503178354798405,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"pPqHXoZxFqCJhooD9iRhGL",selected:!1,drawSunBeam:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:.029710257140191706,cy:.151618028448374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dW2wLBrURiiyxfn6F6TVAM",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38263449035227737,cy:.15356864871672385,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4FQ9iN4DZGms63ywmg5spd",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.3118902038832707,cy:.033930573598891456,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"5oj8TRyAKMqMp8sgE67FVE",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.025935666410650624,cy:.09374962715399743,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"vmGfUGiMyftJojwfX2GBR5",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3005664316946478,cy:.0924492136417643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"oYSwSfAfrKU47Vyq9eDs5P",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:.37131071816365446,cy:.09570021542996741,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"ngsGcTkVVzJ7SPc4n5EF9z",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3788598996227365,cy:.036531432615737686,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3kBsJoTshaWDzS9NKouLiE",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.029710257140191706,cy:.03523101910350445,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"o4R1QpEifXnNSRVbUJpY2N",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3043410224241887,cy:-.03499134254946713,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wg9A7xFWVB5Q2Pe6NVpsFv",selected:!1,dailyYield:55.333043889503735},{type:"Parabolic Dish",cx:.03159755250496232,cy:-.03434113579335057,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nMbKYu7cUV1STfkS1t9GBe",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.37131071816365446,cy:-.03109010201276759,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1uAa3xWKSo4ZMy4qgrtWHV",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.30245372705941853,cy:-.0954605708683097,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4W4HyJzntbsbMubTzJ5xuB",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.15202852665807323,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"hLUWjDDawa9Bq5bGdgVF6r",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2967918409651067,cy:-.2150985820013824,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"38LakMABYvqqhWZJbnchb8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.2716665697835258,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"qS3hKai5cPy6hqmvjMrrT8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.09285974384384334,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"7N2it6fkLMZs5QL5wVYmmH",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.15137835189433643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"jY7wFhgsoDdty76ov6d7Pd",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.03537214323450325,cy:-.20924675318871294,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"u2YWuzVpBajQANuw9UfAwL",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:.04292132469358527,cy:-.27101636302740917,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3S1KK6FChNE8gvYazHEnpd",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.04103402932881465,cy:-.33018517783401885,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uLmHzExRSUXhHpNKBjVRrt",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3864090810818183,cy:-.09285971185146352,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3cxdvSGi3uCkPtzjoDyARg",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.15332894017030646,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"s6fcxcWAD6NVtUZVHCQQ4L",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.21249775497691611,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"bSdLYguwQYmYpDu9RumiMQ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38452178571704776,cy:-.2697159495151761,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"2fyj3BUAEUoyYeFCWw7srW",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3901836718113594,cy:-.3295349710779023,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"sjmKi4AsX1sdYN2tTKwmA4",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.051333272176731434,cy:-.38693722362249716,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3uEbgTc72rFmahkwgqJg8W",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.059035555614381244,cy:-.44796941122274353,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nRqAdpZ4TZQVjnRmHw48uX",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.38516817470654796,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cfsJe9Yug6u3x3oBayEheP",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.4453158378488198,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wMxTgYHNjkaxthyYgYTQP9",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"i9fZCix4TrJKhgCcneBYW4",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"n7aRSWWeY5wBNzZ53XV5uA",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"jWLZDGd195KJE8SWN597fk",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"76YP5Bkbjqbnqsg1JSHTGc",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"b9eyjomDdJAvbQ4GXbRhbG",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"9soCdCwnL8Bku7MHtRFFFr",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tFv5W1XKGRjyGCtxQnPjfn",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"e5TE4DCQ6xiHjtxHX6wtr3",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"vsS27cuHcFevK1BdwYeKu3",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"hre13LuXsebRJ1ojBkKSgR",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"xrGCkZHLfRSASP6ZwrmBJr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"nCfyMKMf1W4ncpysKWy2VY",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"mNMLU3z9EypRpQKmc6xPri",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"7g2aMKZxh6mDuScjaSitCf",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"woNtmkrzdE6LQEpkJkkk15",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"gQJWvo8v2H3LF9QwKDg5pS",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"psqWbKt21osCHgusR75ZRM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"qA6D1GimsUYSX5jHTZtGrL",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"rFR9awpETFNeLqanJsWtLB",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"79pQRAYjXXzrw8FMTxx7da",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"j29brne3bouFE3K9xbRzf8",selected:!1,dailyYield:54.37088110770631},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"fEsQhg9meEj7fn6FyQr2kS",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"grDso13WfqFPnwde3tTooZ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"5znkiYKSLhmEUCEWv7SMww",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"h7EfHGkuVpHhLEE2L8UnPe",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tWy5pSLVYjou9HU9WNjk3B",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"oMmcyG29c8iK7NppnVHGcx",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"uCXv9kmZSPkBfAiRp688jH",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"2MLMRe971ACXtPr6TKkSZ9",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"m63BuQNzvckE5zp32Pnw8p",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"8HmQpAPE5ybDjjJmWPgtJy",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"pofnF8e5Bn6CnkFwwsd2mb",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-7.983643923093517,cy:68.40825112249922,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"p7X7PWYKqawwVRyKWEqpsP",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"1Kr8Pa7CfCGfY9Tn1nbTfC",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"oRpi5CP9ZYynPy6bNyVZvx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"bnjSVLBE8yuyRmD59Vpj5M",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mxrBwLk3PBAc6DLtdHY9PG",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tCEaJXp5M1wEhEUpBtW2dn",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nMM6ewc9ExA5TMPbfnv6Kz",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"n8s1FzD8MfqqBcK6r49KaJ",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nH9Zop5fMNGnprvUp4Lndb",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jkAXkFfxDNxSdMms1xtkQh",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wrcKx46bR9u7RcdSgcckCp",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wS66DR1C6Yem5chszyHNyX",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mYGta2zZcv5wvFcomHB8h7",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tK1eBhmW8y1nnsX8W3X9ga",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"8Ci425obALWeV7icrEGMh3",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"3A2AjfypMamwJFRbA3fDpb",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"iWsTN7vg5oFv8hHDnyjZDQ",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"gXTojLu2Qyb637Ho6JL7Kf",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tavpWfYoXMz3qMPdKYuYus",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"vR6bFNvW7QL6DHxH3K21u5",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jSCfJsog1e1sNpYz5PNhWW",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"eUyRyq3GvSH1aXZPres9zE",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"rDZgMEP11vSsiXW54EeeEC",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"fbaSKG8oqr7FZVwDxb6HR5",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"xAycaD99dwN2jw1eYE8Ajm",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jgSWeMLe27dY6x2hNzCmsw",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"sgwE3sAhyMWCJxEUC5V8m2",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"hNVN4iBp2cmmnSn75ekkgF",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tWdCrzBigxazk84saCEaTV",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"kQJuw3tnnSYASf2nicv61Q",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"qJWMwjmsMFnGLQ7tP8657U",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tsiY8ux1n2J8yeqE2sunzz",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wJKc8tsYNihwhLcJrfyUHp",selected:!1,dailyYield:54.794413203057466},{type:"Foundation",cx:24.06375725188695,cy:69.025369785858,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gEQRhWXA3HL6aJzGgTrAzv",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"1tz7amW9Vt4xEPqwef91Qx",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"sqvvuQJTZHqqySn6E4yYzm",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"28us4Wgm2qjx3DCcTdFLVV",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"mpqP9TF6Vrg7VCqRfcMiQu",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"f5qiT4VRUPdGpUjZXcsCx4",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"nTXZjqhzJBfTANgYD9vqjQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"rgnTEBGw6Vs7Duns1brscG",selected:!1,dailyYield:54.92515905856574},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"tGKA519iyUSWpQ8wVPNFJY",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"36gvqnTqAbkoRPjVMK7ems",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"viuvE72Bw3v6bsArR6wpDL",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"ii2gGoQHtGShTH1opfyXnJ",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"wcNvEizmbvgCX8phLyizju",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"jxCiGYqKr7CGg8yTBhpkCm",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aSt2wCgvcriyqmRzVHYc9K",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"b579K6wcGsFkd5krT6NwtR",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"2tXe7mE16iWBsHUwW9t9aQ",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aEUirhH7z57xAhv18Lb7W8",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"4dXM3M8KmCej1LF8VHJ82Q",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"h15HDWZymQfADqEotRv4LM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"x3Jjg4ZJhqJ9gBq8UJG8Yi",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qfDWqhtKKj8PExp7dtRJhP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dQzc3rdMh6sEoS53j5m6LC",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dFarDxb3HPmwwaAxStasmq",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"gJLG93xPyBxAvQZy1eFr9c",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"5gNcrnds5MDuA88znfoVWr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"7mL5Pz5pqsdiMAMyaHTbZn",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"3Uic4JFDxCdyp5oDg5ZLjd",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"14ENGCWNQVrrvGhEToEBLF",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qMfSQPipp6HAYm2FfTRsJk",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"xxoYKaPf4MobsN7VjTosNC",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"9MQxESnXS7CKvarDbKvrgD",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"cVpFdWbUmKZPYFqiQr279G",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:59.02948227812328,cy:69.3080716212459,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4cePh2t5mTkfEKXcWmB48u",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jesMtDuJVoPzLUmYETT89Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"97DnJZE3VTJfvvv6WzSRBx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"vLPycCjUNJMSVTRtdj87XE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jPB61vSkRGEcXezoyJ9S3X",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jULEb9dCHn3aTywUeHy3Qk",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"9Pa2h5sxqEBhqE3KgZbB6Y",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"se2JtcnQNE96z1Aum4EP1p",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qfZULw2aGPUTLCVySZhcyp",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qWNJdtQvxfzJj25Q9ioKpB",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bxmvcGXZuBN8ktU47D4qP6",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"aNn3VE1DQvLpKgE5hUztNH",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"4mrZamvWvRpkYyqFS7RJH7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"kiUHJLZUPqkGhKHBaWrqz7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"uGSXR3GUiGp8nT3strVk7J",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"a1tN8yxLHdTXbX8ex2fpZB",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"s5oswXys4g8p8gmSXQvhkY",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"3D6zM2RHwSJFo7RfUTRyjT",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"cAzviKAUbsLWBdNTADoifP",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"ohGxTVAnBTQUju6j187cfL",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jGoKYV4BSgv6J6296BizzQ",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"pPTV9qje8c7Wfg3GZqDMP2",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"x7uhR1kYgxibupXzAN9oWq",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"inz76DVy6KaN3KVR3CkPpG",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"dY4oZaF8y7JXdRxLLuqg9F",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gmBkncxUG8PdQJo2VaespL",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qirhM6vbtt83tpYszhnTaf",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"mRdCjwmZtRhDjNaoHZAsP7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bXjnb3U4gRd6Gra55HizMY",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gTiRGPwLKRdtjktFgKt9hU",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"fFcZ5RiAU7SbEZpodham4W",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"rtWNXEr4TFs128rHeq3GAn",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"t2MHCbHPUk4iMrfBGmBEg8",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:90.89697850456658,cy:69.75067573550228,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6ufo5pBdzXZ7dduj1GnnjN",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fBXFhCMe9NByYzvxwGHn6i",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4XR37wV3Mcb5e4xnto9S5W",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"bF47T7o7w6UzeEcadSPaEe",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"vDEGXq7dyykKUFPikw7ZQv",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"ib8cPgm3UdpJKVhC7u74X9",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fZnwkYdYn246TusSuwFy5d",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"npP5tD7NGDuPXSYzaKJSef",selected:!1,dailyYield:55.31739662509057},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fyCVrUXjd49v6w3fUmCpmi",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"aEvUZ9jmc1SE9AqaTs83sz",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"c1aNagv3k5EwQhxqv1nQKW",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3NCPuFUbbF4P3Uet9iqrKg",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"6sXkkWHPNQdQZGhmwNLthw",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dC6pSLCpcbcZtkkLTZbGAP",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"sNDitQDQ2BGYEwghGZPxAc",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3AapXAvkjJa5rztXETgT3X",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"1sKKkXtyuaMN8kgH5vX2ow",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pJSWbff7eW8x3ExEm8MBdv",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"j6c75GwBD7xrTUdv8qzwcW",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"2DRktLVHmu4BwC4tYrV1hj",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nRxkdY7Y2yR2SriqiuWofB",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"x5RkBxY41nZxXDJuxoiDZr",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pixrQQvfkddWpaEq8muTrJ",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"jnLvvVhZEPeAJ2hpXvtXHJ",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4xUoTNJFMJTerAQEErQ895",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rkAQYL64Uuf379mtTX5GQL",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rSMGuNL6giL7Nj4oWDSndP",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3mr4Yjw79aApbRSuyrtamK",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nHYzCZrgSVVxvF52MMmEG2",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"idcvngByfHJwgkBsh65JbP",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pKoUwgWmomU9tDX1avSdQc",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"7LDpCzc3zBHLv6JhymAwbQ",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dowp1omeYXWab3j1K1meZc",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-136.49179476446375,cy:-67.2349056273395,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dzMWxWAUm13nPZAnV26ojB",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dKV8idVwG1PoPzaqAJySn3",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"1ahCnzARH22rtYMg3xC75a",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"bGQnA5qfcBJLc7EFesifJ5",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6abDjWSHbyPb8tqD7whFWE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pMaHgYpvL812956oXKBJ9T",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"vxBLBNexEATeuUVFW6UUb7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"uEpK7NuFxhDZu1zciefV9E",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"adThs3Jwyt44gCESDNcupo",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"wJBFAEWUBufYWoCYyAAkDL",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6fBBqnwyNxUJ2Mv27sMzNz",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"xku6MhBdpC6odzRtL5Rhsi",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dCqY1YvNDa7QjZLsD7an8D",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6yKCwMuBAuUpAxR3UkM2qV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"9QuEw2Qd3kdbe2VGUtFG6d",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fDUJgpBZqufUYAcgUpEYy4",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7tpsaUo8qyex4qWWrRQa3Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ac73uiJL9mDwp2h2qMBea1",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pvYusR6DDwKSrhWjzrsGjq",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fUxcXs6rResj8vGRQz5ADd",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"34XDNLYmgiixgYDTAvdY6U",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"eKnBHRagP12sRw2eHV4EFo",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"cKEXyvhTD3Jnxtg5cg1jRA",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ngLd2mnBcPdF96nEdG4hH9",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"4YV65NmWmmduXoMXuWXF1E",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dS2vQTwT6npH9US2Zjk7gd",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"nMbEzttfGVfwZJkAqwxiCa",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"tj5fHasfEFBxmjBHiSYX8G",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"2EuhpNKcNgCnC7mXhnzorq",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dv9DT41y2eu8dhEh4A3yNF",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7eHHdrZwkycM3igK47ofVH",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pCMNdpEm3dUbZoYetGhdYY",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"22NmQZ1gAa9u2oawRCihVS",selected:!1,dailyYield:54.696353811426256},{type:"Foundation",cx:-105.74245630035185,cy:-67.46785516115864,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bpYaYqzqY3rwTa3pPHPzsL",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1D6qDwX2642TSZjwoFxp1o",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"79HAKLb1ozK2c7orEPVJkH",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5Vymv5eq4ELiQdmdiH3zah",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pQHHxi2uivDT6Eyv2TuxUD",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wYhFkccfy25pvdRqXmjnun",selected:!1,dailyYield:54.778765938644305},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"aPgo7xUpbQpZnXsiNJF8SA",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"rc8sJmCgWcU8UzU4JU3Kw6",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5uahGH6BqWfKU45xu5Z7hc",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nsB8mr2bSHrM3jbtnehkjJ",selected:!1,dailyYield:54.53431342709166},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"mLbDv1g21nFPG8JjeviDLa",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"jkmjUdZvVvxK9WkLnnBg8p",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ouSXNghPew3qYnTQVWfbqs",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nrR2uHdaQAetCD1csDMzph",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ckYt1vWJgk2MaNakWvCWDB",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1FbV4HWSJjuWDo48s8WtNC",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pGqN7t92fsi5d33uxuhFsb",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9L7EiSKGotVbt799fBQeRb",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bZ4hdZiNXSoXxokpbfP7nE",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9hsKHsCGSPXrbjVLVZXWCf",selected:!1,dailyYield:55.00617925073305},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wMRsqsB2mCNkXsKr5ZvPtC",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"suUFWEjxFaYuPL9peoDRUZ",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1br5Ptt8Qo5SkEHqCXrKQH",selected:!1,dailyYield:54.89247259468868},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"xeafcWLVFe1one4Js1pXaR",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"3j8HSQdHpYxreAKw5y5Bkz",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bC1ox3NKLCGdZfDSV4qRXK",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hkihnoDGLJybUfZp35LbaG",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"dYLEbK9Ss1w4eXNB1RSBGR",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ji6Bm928LBgZcFZDw5fDhy",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"gm6jD4HivZTs4uDmzromYL",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hZR3rVvnhKsbGZa4pLQ11g",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"eyyDyyuNjfTg6Y8wmcxG2q",selected:!1,dailyYield:54.42060677104729},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"7PGJWm4Bn6jqjn5Eb529RY",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-69.6352785584022,cy:-65.93887331983836,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6669FrAcRV3S1zPTB9p18F",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"iS8NizYAfM6n6dgKCGDkwv",selected:!1,dailyYield:54.74468753971649},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"5Ye58UjYKG719ktcep3oWk",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ukPSHKyKbjrFbSUb7RzBEh",selected:!1,dailyYield:55.463789745012015},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"gCVedoD7SGFMxpqX1BUzZW",selected:!1,dailyYield:55.496476208889085},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"jbPAKMEf4mqFWYPZcJDbNe",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"p7dszGFjLEqeSwRLS7YHf1",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"aT4txGfZfiz8jnLoTt526b",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"sUsodPeEocPvCNDkqZrChb",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8sk1PSP4vENQgztEKC8ci1",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wqNWA2TwVSjRxwkYLtZDGZ",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wH4wDZFpfKNiNZpVSSMhFY",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oFBt69EzGbvtWDmu6DoojJ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kVJKwRjK96o6qVyyzwvEUm",selected:!1,dailyYield:54.679314611962354},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wBrBDkpM8dEK4tQLmeUW6y",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oo6K8agu94JQM84kjwrLGA",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4irYSEA5i5W5Qi3FuQt5ih",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"af8MTE54DUeM1YcvKoYVA6",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4LjL7VHsRNfpcY2YcLMhwp",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ourSR4BHMyPDVKp3JHbdTq",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"k7JMDUAGSNprBURCCpXbTb",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"rzQQtjfoDHwc96srYFxFk9",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kbtkW68kECiya1MGK4SY4y",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"79XY6D5Gd3dVECNy7jBKbr",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8bnYakac6VrGEmETQMhGbi",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"2tr95qfXgv3jeidzJqoEEV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"1T5fYcG2xLGDVaN4z2JSWd",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"czRX6XaVxvjtAd645B3nWJ",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"vThmrfLj2hfoaoHNntpY8P",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"mCVKJe8iq8UGLRopTPrpSP",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kuonS1nfmLfp2iiXTgTfic",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"q3pJDWhsopJsaMjH8Z3EdK",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"xdV86xg96dfo2s3n5YjM1n",selected:!1,dailyYield:54.59829441979505},{type:"Foundation",cx:-37.95414195901416,cy:-67.00195609352035,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vDDupUZXQLcUBaqR8LHXzz",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"eUEn8apMEdg9tiLabGz99t",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"paR3Ac8yX4Wj7SiJJdFXph",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2Y1fnFxyWV8UXrjDxD5Hyx",selected:!1,drawSunBeam:!0,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"v8QgWidDb6xTCTfyAfsDG2",selected:!1,dailyYield:55.2676709617496},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ftqZQ7zoxGXDJ4KzFQVvaR",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2uCAP6MhpPQYVndbGTMe2B",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"8938SbXAZNkxeYq1PAuYkn",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rvoQ2mMYFP66Qhmnt8EKxF",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"f7SvtPUPo466Q4gJ9TnSPn",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"3kyNNxHidQMjQts3HyRhrm",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pxogXCDeccjCLr1EFcuCgo",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"hBNssdFnqaWt58JWz26Zha",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"heoastLWiYga5S3WuMv9kh",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"aTSKWJPxGZKnFrLPA4VLgM",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rtnU9Cenb7sZyKwXZGLfCQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2ueZ5Jrv5E5nXkCc6dxQAF",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"jqQxC81KzsmLW8AWVEDxZ5",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"dm73L8CEvXMjt8jmGDoHDz",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"wc6yJGXKbguZXGWm3uUiyz",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"5Mbqu9AgKWy9HDTcgGMTCX",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"vmwgb4DfHsDq31536bgoww",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2hsXtqWkNaFi1euvqpPnYN",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"gCnCmzsBCPWaiJfR4rk7n1",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"mF2657hxSjuxtSYkQnHSaP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pdqUKVseiHvsXYpZYBkscF",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"qAF8msFvwwguymfMBR3wwa",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7n56hxe7QepqRevx5NngGN",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"9P9xnvWAP12WSQGPWr2xtb",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ejCEMdNfsxgvQCqAEDzhBb",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ff9EG4MNoewWubqd37E7fM",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7bnM4YQJTBLfksD89FPHBy",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"t2yUPd5YBp4D1eifVJ5Nzq",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-6.040055825807073,cy:-66.303127392908,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mfej18wHzwCMqBLG9Vysw1",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"qXxaLHK5jDA7AhqzmRAQ66",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rjuAkDcMzUTa9fqXQamSY4",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"j87SthvfTm3rDWWm41tUR5",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"uh2HZmC683cEXyJZGLkwBJ",selected:!1,dailyYield:55.30035742562667},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"81esia6veGyAKewVMXNFHX",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"s14QyCHUodJj48ZcvmrHtn",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"87ZJEPRDaSsfRqqgULdNjb",selected:!1,dailyYield:54.48597969880142},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"eJdVsoPdU4es7XLBMBBB1n",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"fhL62UbzsRCcxH8gsKRMND",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8iHidnxMDDHGCmryeJeacP",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8RJziVcJjiF46EfKhhZeBN",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hyYrjR5SLCyDEXyYT3xm9u",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rJnFSCbaHKosPa2KmZE9Bu",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"txjJKa7MeCk6ee1keKR2Rt",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"sH5mM8WkA56CcEGporWH7S",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hscqrLUfgPLdvLYLhecu3y",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"veWgK95yByHQ4KaXLUaYWX",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"oXFe1NucST916GSaKbGmVx",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"vyDbfHhDVVzLr6jCioEpsj",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"dyGU6GJcmCDKizMLYr19T4",selected:!1,dailyYield:54.501626963214584},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"v2i5cyjr9QNrJ63D31A2tc",selected:!1,dailyYield:54.51866616267849},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hpHcG6Em2ns9Vehj3Lz45w",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"tvqvfScTkqwPcBBULnCSx5",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rzPF17veSWTTiShfLGYVnU",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"7WUADDEEsLzZqJqEVL3xoM",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"aMLXH9cc7xjM8uQE7opRzx",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2jBk9rtEn52EHUGX1e9utM",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"w9pxWfrZ7fBmNWnpSTPcQo",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"5qn6ZfWHFWZniAFZBD5G63",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"781z6sw1H3T6mBvH3ivKWb",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"gPpckDefdadY3m2KfYR5uB",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2GF8pwx5gfMGBNrvsV4cmE",selected:!1,dailyYield:54.82709966693454},{type:"Foundation",cx:24.942232172123894,cy:-65.13837972381286,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4r9eq18jPmAo6KNP48KE97",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"v8WDAYVaovBCxpzwf6YKeb",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"pCnVs2rYUiypfZGE44GDhJ",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"5UiMA8kgZaGL6jjafYMSVr",selected:!1,dailyYield:55.36573035338081},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dhsidTNuvFYqFyM52G8UzE",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"g7Z62RhyigqxTzLzSkQGs3",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qK59nEiAwb2wPANvX4dXSK",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"r3JeuhY8zBG7SMPQtUacQZ",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"c4ZyVQcaD3vFS8aULE9spN",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"24MgYUmNGEdTzMEVjyvfWF",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"h2bAX5kxShkvLfLaLDJQnm",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"wSzqjZ1GP4g9CcLekersFg",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"t1LDu4rZgpXXmkj2eWc9T6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"19vo4GuhGG7PWJqkt5ZWcD",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qMnf48SWj4EjJpDb7yeb5y",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qiNpaX9J1nJiB8PCJHwymU",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rSdy4au4BWa65hP34cwhoZ",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"hPCibkbgsWPQByvQM8s8hM",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"8t16ViMQHmuRQ58XsMeEsu",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"m1UycnGk9QvgoR2crWwbud",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jVNiFDPeT2ctjGPL4mv22f",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"cSWfM55n5PeKkoqEpPtaHH",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"uJwZ7KjG5UFJTZAN98LQcB",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"fBg69qhp7ssDM4U3Vakj97",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dSLRdtVjTfCKhzP9vT6G4u",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"4a2kYuMS6iygwh4hTzF2xm",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"9N9XBekvGdtNubUKdz9bn6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"tq9YQmjCLAfqC4otgQvkux",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"gfvtY6D8uZN4TPnY24yVxr",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"bPqXD8n7NUMT1fhPbkkkN5",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jZr1iAB28GDzKvvD8ExZeZ",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dFApM3YHu3Y78M2Xo4kwFU",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rmGs8zD7XyqBcjkDXAjzGQ",selected:!1,dailyYield:54.61533361925896},{type:"Foundation",cx:60.35056131261639,cy:-65.60427879145091,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kduQAydye3uLbFTr64JfDC",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kv7G6eNq8xQ9gr29A4PgeE",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1gywdTnVmZkqwtFNXrcTHj",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5DvXaqZe44KDk9xuKtfUm8",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"ixZhNJFXp4ZR66ypWaNH9v",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4LbWLkGdGxj7kuRG5UeWgn",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"fCdWydwEmsHE8uPjWYkvre",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"537SCeuwcrKy3Yf9ezzr62",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"8iemrXgtr1quNdAfyKBdCA",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"c3kXvdwXEFnYcE9YGUQyxm",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uP29oRRT6aV7MGQx7YvD6o",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1AcDNXSU7HvWkLg54AmFDz",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"voUCWzXArc2R6oHvJaWZdi",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oCzzzbWTzWQYAhZxeXvaLR",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uJ1SiuCEyFqZex6ZUex4r6",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1zp4QY7bN2mj5X1sZr69Xj",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"qpi2nj28QCtj6dALbpHWKm",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"595KUQMKKkRujsK9vxKPHq",selected:!1,dailyYield:54.94080632297891},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oSWo7sjDPAaDfzLRN5A2vW",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4yJVmHfw54xdbao6TurGH1",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5AQCSNeCEvo9GSvshqiwuv",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"iFNGVF4BnRB2CiUTeAUcpc",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uLsXN2FSFMdKv3wb2Xhtda",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"7fwh5kRqQ3ekm4dzKpbxi3",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kQtV2faB3UjVkaBSkjbaPM",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5a3j4AZWQSeQLoFe28cTFR",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"nXQKckZPXqHpq5g6AGp4mk",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"49gRZ5Q4VK9aZWKDCVqk5f",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"a6rEesiKY3XGANAtD57SGu",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"mmg6zETUeomJsq2ezeHSSw",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"6JQVhnyM7L2LNEiJt7duty",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"v8HDepiPpBYKNZPDtGgLgR",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kSEgPj4rJC7X5s13VYJGGv",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:91.09989977672836,cy:-65.83722832526995,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jQu4gCDNGHwChoQvBCFcvf",selected:!1}],exn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:17,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[169.9816352402022,-225.19055272845807,79.13890608436596],panCenter:[-50.39035725869241,30.655635102579282,0],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858744,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[45.20884161437947,-65.0727374045762,19.999927173198625],panCenter2D:[45.20884161437947,-65.07271740368721,-7282678642197909e-20],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:8,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-34,dailyParabolicTroughYieldPanelY:188,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:null,yearlyParabolicTroughYieldPanelY:null,showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},txn=1,nxn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},oxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ixn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},rxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},axn=[],lxn={docid:Gvn,time:Xvn,timestamp:Jvn,userid:Kvn,owner:qvn,email:$vn,world:Qvn,elements:Zvn,view:exn,evolutionMethod:txn,solarPanelArrayLayoutParams:nxn,solarPanelArrayLayoutConstraints:oxn,evolutionaryAlgorithmState:ixn,economicsParams:rxn,notes:axn},sxn="cNGvmw7bdpjvKSnH8CxjiH",cxn="02/02/2023 02:10 pm",uxn=1675365059016,dxn="QWecNcxhyvP6j6sBN11hBsfZDau1",fxn=null,hxn=null,pxn={name:"default",date:"6/22/2022, 3:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},gxn=[{type:"Foundation",cx:-.042674723134280335,cy:-.130761486142406,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,solarStructure:1,locked:!1,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},labelSize:1},{type:"Fresnel Reflector",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.05,cx:-.02756165965335064,cy:.003002736834484595,cz:0,lx:2,ly:30,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"vb4n6chMKJoqTfuUfT9HH9",selected:!1,dailyYield:74.96105824171634,yearlyYield:2328.274834535053,label:"8",labelHeight:1,labelSize:1},{type:"Human",name:"Jack",cx:-4.020481691228474,cy:-25.616774473884036,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:.028169913107493977,cy:.003853312047257671,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"hqQUyB5jvcbC5wykbyrwVq",selected:!1,drawSunBeam:!0,dailyYield:75.30871550026608,yearlyYield:2365.489808480604,label:"9",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.0839014858683386,cy:.004703887260030747,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"10",dailyYield:74.47712896106862,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.1396330586291832,cy:.0055544624728038235,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"11",dailyYield:72.69243415263071,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.19536463139002783,cy:.0064050376855769,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"12",dailyYield:71.32847705730514,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.2510962041508724,cy:.007255612898349976,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"13",dailyYield:69.36645769952737,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.30682777691171703,cy:.008106188111123052,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"14",dailyYield:68.18367399690828,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.36255934967256165,cy:.008956763323896128,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"15",dailyYield:66.51612857330484,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"16",dailyYield:66.9454970041269,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.08329323241419526,cy:.0021521616217115187,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"qkYArzf5uqu6DZf4wA39gd",selected:!1,drawSunBeam:!0,label:"7",dailyYield:74.46542587169182,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.13902480517503987,cy:.0013015864089384425,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gBW2TdctGGDx3xkrVbnnt2",selected:!1,drawSunBeam:!0,label:"6",dailyYield:73.42005146962971,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.1947563779358845,cy:.00045101119616536636,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"t8gE1dpvae7236xzWXFCVz",selected:!1,drawSunBeam:!0,label:"5",dailyYield:71.56039677787652,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.25048795069672913,cy:-.0003995640166077098,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"jfpJVaw3pqTBMP5EqV8WHg",selected:!1,drawSunBeam:!0,label:"4",dailyYield:69.76216278634425,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.30621952345757375,cy:-.001250139229380786,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cwXPC6JNrmx1jM5HPN3Bnj",selected:!1,drawSunBeam:!0,label:"3",dailyYield:68.34763018099684,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.36195109621841837,cy:-.002100714442153862,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"nQed4eP7gteAwQE8ekQJF7",selected:!1,drawSunBeam:!0,label:"2",dailyYield:66.89178735911106,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gGEdWUHCti1PrRxJ7JDarq",selected:!1,drawSunBeam:!0,label:"1",dailyYield:66.97552153518168,labelHeight:1,labelSize:1}],mxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-.18166570108404656,-45.01608727927176,13.053612747101962],cameraPosition2D:[0,-20000888987681265e-21,150],panCenter:[.5652994261175363,.42897477312561383,2.1550210855619265],panCenter2D:[0,0,0],cameraZoom:17.679830776572036,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:245,height:60},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:721,height:335}},yxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},Axn=1,wxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},vxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},xxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},bxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Sxn=["Linear Fresnel reflectors"],Txn={docid:sxn,time:cxn,timestamp:uxn,userid:dxn,owner:fxn,email:hxn,world:pxn,elements:gxn,view:mxn,graphState:yxn,evolutionMethod:Axn,solarPanelArrayLayoutParams:wxn,solarPanelArrayLayoutConstraints:vxn,evolutionaryAlgorithmState:xxn,economicsParams:bxn,notes:Sxn},Pxn="msDnM7uBZhbQmJD2hxtJqt",Cxn="02/03/2023 04:30 pm",Rxn=1675459824362,Hxn="QWecNcxhyvP6j6sBN11hBsfZDau1",Mxn=null,Ixn=null,zxn={name:"default",date:"6/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},Dxn=[{type:"Foundation",cx:.9362263534654288,cy:-.12687492649763793,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Human",name:"Juro",cx:5.337210314381737,cy:22.31208205622077,cz:0,lx:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"W7",dailyYield:31.890222330203017,drawSunBeam:!0,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"W6",dailyYield:31.891895315467107,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"W5",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"W4",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"W3",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"W2",dailyYield:31.794492804033993,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"W1",dailyYield:31.9307477575622,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Foundation",cx:14.471950838588711,cy:-.06574070597754514,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"1X6Dcn8HZPSPCzJkugC2rm",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"9VYUH8fPAbbYtPyjX2bXhM",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.07623689276002,labelHeight:1,labelSize:1,label:"E7"},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"oZQVT7upKS5gxcv41KySPP",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.022177742145026,label:"E6",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"fscHgrZH2yNiKzCaZR3ZeJ",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827123715972846,label:"E5",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"jnn6CBMvkkU1925yAPrHAB",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,label:"E4",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"hJhtsSd1FMChUsTYyy5v9N",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,labelHeight:1,labelSize:1,label:"E3"},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"6CbyGsZ43oQRJAfjen8bXu",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.946909343510214,label:"E2",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"rKXjH4ndrtiJLk3pNba97R",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.888037304879255,label:"E1",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.5305173175473676,cy:-.07406922653934842,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"uPxivXJTh4z2zMrqhzNvo3",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Foundation",cx:-13.207999911998343,cy:-.09629786579027738,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"qFoXmrcbqf43nhfNvsKiMV",selected:!1,solarAbsorberPipe:{absorberHeight:10}}],Exn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-3.9192694742317027,38.575338391462196,5.805467125820184],cameraPosition2D:[.0944682441377376,-20000888987681265e-21,150],panCenter:[-5.512894960875013,.5401536354068696,3.9025189352350482],panCenter2D:[.0944682441377376,0,0],cameraZoom:14.400332666460274,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:379,height:67},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:701,height:335}},kxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},Fxn=1,Lxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Wxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Nxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Uxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Bxn=["Linear Fresnel reflectors with two absorbers"],jxn={docid:Pxn,time:Cxn,timestamp:Rxn,userid:Hxn,owner:Mxn,email:Ixn,world:zxn,elements:Dxn,view:Exn,graphState:kxn,evolutionMethod:Fxn,solarPanelArrayLayoutParams:Lxn,solarPanelArrayLayoutConstraints:Wxn,evolutionaryAlgorithmState:Nxn,economicsParams:Uxn,notes:Bxn},Yxn="91fFrr9emvLvmNx1sW7PMh",Oxn="02/03/2023 04:20 pm",_xn=1675459240163,Vxn="QWecNcxhyvP6j6sBN11hBsfZDau1",Gxn=null,Xxn=null,Jxn={name:"default",date:"9/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},Kxn=[{type:"Human",name:"Jack",cx:-33.39710614584251,cy:-.9610066908384169,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:46.64633299683992,drawSunBeam:!0,label:"Lo2",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:46.68721550672282,label:"Lo1",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"Hi2",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:52.33859564683257,drawSunBeam:!0,label:"Hi1",labelHeight:4,labelSize:2}],qxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[53.11784569640703,-95.69780414866537,24.112920613071175],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3487591244720869,-.08601128946324002,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:404,height:64},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},$xn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0},Qxn=1,Zxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ebn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},tbn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},obn=["Effect of height of absorber pipe for Fresnel reflectors"],ibn={docid:Yxn,time:Oxn,timestamp:_xn,userid:Vxn,owner:Gxn,email:Xxn,world:Jxn,elements:Kxn,view:qxn,graphState:$xn,evolutionMethod:Qxn,solarPanelArrayLayoutParams:Zxn,solarPanelArrayLayoutConstraints:ebn,evolutionaryAlgorithmState:tbn,economicsParams:nbn,notes:obn},rbn="vKXC3Vu98tLTj5EYPySBoM",abn="02/03/2023 04:23 pm",lbn=1675459380199,sbn="QWecNcxhyvP6j6sBN11hBsfZDau1",cbn=null,ubn=null,dbn={name:"default",date:"9/22/2022, 11:00:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},fbn=[{type:"Human",name:"June",cx:-33.350601086935164,cy:22.419888505407727,cz:17763568394002505e-31,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"NS-E",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:52.33859564683257,label:"NS-W",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:51.241946460146316,drawSunBeam:!0,label:"EW-N",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:36.12397534329661,drawSunBeam:!0,label:"EW-S",labelHeight:4,labelSize:2}],hbn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[33.85725619257774,-80.53017579058466,26.560297986535087],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3777068394391828,-.13846137164171785,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-5,dailyFresnelReflectorYieldPanelY:2,stickyNotePanelRect:{x:0,y:0,width:362,height:61},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},pbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},gbn=1,mbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ybn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Abn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},wbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},vbn=["Effect of azimuths of Fresnel reflectors"],xbn={docid:rbn,time:abn,timestamp:lbn,userid:sbn,owner:cbn,email:ubn,world:dbn,elements:fbn,view:hbn,graphState:pbn,evolutionMethod:gbn,solarPanelArrayLayoutParams:mbn,solarPanelArrayLayoutConstraints:ybn,evolutionaryAlgorithmState:Abn,economicsParams:wbn,notes:vbn},bbn="5syPiYyaezKe2cX7XoDs2h",Sbn="05/07/2023 07:59 pm",Tbn=1683503972972,Pbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Cbn=null,Rbn=null,Hbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},Mbn=[{cy:-.041483328317633114,normal:[0,0,1],lz:.1,ly:56,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.10913665374106213,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0004895609926147317,cy:-.20737855784061227,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"S1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.54362655315038,yearlyYield:311.4614380820491,labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.000773921356256882,cy:.4327509634160523,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"N2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.83063075372236,yearlyYield:341.6536704139208,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0027886687628078007,cy:-.41384481120536054,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"S2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:23.21442400772718,yearlyYield:285.77957159626914,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.003581112158779376,cy:.2256213567639617,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"N1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:29.15082293688426,yearlyYield:347.0340046876023,labelHeight:2,labelSize:2}],Ibn=35,zbn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-59.813021886337346,-1.4084528562656211,7.556432837410264],panCenter:[-1.9086832692892528,-2.9483395065245706,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:7.169718448170838,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725703],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:8.5,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:2,y:4,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:315,height:67},solarRadiationHeatMapReflectionOnly:!1},Dbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},Ebn=1,kbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Fbn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Lbn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Wbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Nbn="Unknown",Ubn=null,Bbn=null,jbn=null,Ybn=["Cosine efficiency of heliostats"],Obn={docid:bbn,time:Sbn,timestamp:Tbn,userid:Pbn,owner:Cbn,email:Rbn,world:Hbn,elements:Mbn,sceneRadius:Ibn,view:zbn,graphState:Dbn,evolutionMethod:Ebn,solarPanelArrayLayoutParams:kbn,solarPanelArrayLayoutConstraints:Fbn,evolutionaryAlgorithmState:Lbn,economicsParams:Wbn,modelType:Nbn,modelAuthor:Ubn,modelLabel:Bbn,modelDescription:jbn,notes:Ybn},_bn="gHMiemdnJcFMUxpQfVjjPt",Vbn="05/08/2023 09:52 am",Gbn=1683553944140,Xbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Jbn=null,Kbn=null,qbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},$bn=[{cy:-.1414833283176331,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.06913665374106212,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:28.86248835017146,yearlyYield:311.4614380820491,label:"F",labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:22.075493423258955,yearlyYield:341.6536704139208,label:"D",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:17.32894620185682,yearlyYield:285.77957159626914,label:"C",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:21.79675399494804,yearlyYield:347.0340046876023,label:"E",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"B",dailyYield:14.05825681568513,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"A",dailyYield:11.010081200524054,labelSize:2,labelHeight:2}],Qbn=63,Zbn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-56.03492924888614,-3.1393903550330142,35.62950235618159],panCenter:[-1.9088390832554354,-2.9523520368213196,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,150],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:9,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:6,y:-5,width:531,height:342},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:397,height:62},solarRadiationHeatMapReflectionOnly:!0},eSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},tSn=1,nSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},oSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},iSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},rSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},aSn="Unknown",lSn=null,sSn=null,cSn=null,uSn=["Shadowing and blocking among heliostats"],dSn={docid:_bn,time:Vbn,timestamp:Gbn,userid:Xbn,owner:Jbn,email:Kbn,world:qbn,elements:$bn,sceneRadius:Qbn,view:Zbn,graphState:eSn,evolutionMethod:tSn,solarPanelArrayLayoutParams:nSn,solarPanelArrayLayoutConstraints:oSn,evolutionaryAlgorithmState:iSn,economicsParams:rSn,modelType:aSn,modelAuthor:lSn,modelLabel:sSn,modelDescription:cSn,notes:uSn},fSn="gtHUqK811PpHW2AhT3pgKh",hSn="05/07/2023 08:01 pm",pSn=1683504079394,gSn="QWecNcxhyvP6j6sBN11hBsfZDau1",mSn=null,ySn=null,ASn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},wSn=[{cy:.09432031355470513,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-23.979659433364148,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:10}},{type:"Human",name:"Jade",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.6},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:29.12957022220564,yearlyYield:311.4614380820491,label:"L6",labelHeight:4,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:12.632105204416524,yearlyYield:341.6536704139208,label:"L4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:8.640669150547245,yearlyYield:285.77957159626914,label:"L3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:15.667514658355707,yearlyYield:347.0340046876023,label:"L5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"L2",dailyYield:4.958857907473794,labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"L1",dailyYield:2.355020886123749,labelHeight:4,labelSize:2},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,lx:.6,ly:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"e6VoeQYymGEdypZkwyg1QM",selected:!1},{type:"Heliostat",cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"j3sWeAPDp1y53hV9TKpY1X",selected:!1,drawSunBeam:!0,dailyYield:28.834554606358278,label:"H6",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"txZLYrcQ93XFhrpdAsV7Mp",selected:!1,drawSunBeam:!0,dailyYield:22.049770857324166,label:"H4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"9uaB6ZaFJqdfwW82X3mBGL",selected:!1,drawSunBeam:!0,dailyYield:17.30899182389923,label:"H3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"wQcg7xgoQBPNeT1VLa2pPS",selected:!1,drawSunBeam:!0,dailyYield:21.74570231867697,label:"H5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"xcPfzQdhBUHxAytCA4wYay",selected:!1,drawSunBeam:!0,dailyYield:14.042308959831052,label:"H2",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"5otXu1RaMdbKFrMqe75zLT",selected:!1,drawSunBeam:!0,dailyYield:10.99900401218998,label:"H1",labelHeight:4,labelSize:2},{type:"Foundation",cx:23.933804465569864,cy:-.09788249795398585,cz:.05,lx:48,ly:100,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,id:"kyxcYJvhUNP9YHtYNAZTvQ",selected:!1,solarPowerTower:{towerHeight:20}}],vSn=63,xSn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-65.26004925031205,-40.981584348790705,10.926967172602236],panCenter:[-8.555794568197623,-11.649776058982166,4.3178318413222065],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725564],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:6,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:252,height:65},solarRadiationHeatMapReflectionOnly:!0},bSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},SSn=1,TSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},PSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},CSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},RSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},HSn="Unknown",MSn=null,ISn=null,zSn=null,DSn=["Effect of tower height"],ESn={docid:fSn,time:hSn,timestamp:pSn,userid:gSn,owner:mSn,email:ySn,world:ASn,elements:wSn,sceneRadius:vSn,view:xSn,graphState:bSn,evolutionMethod:SSn,solarPanelArrayLayoutParams:TSn,solarPanelArrayLayoutConstraints:PSn,evolutionaryAlgorithmState:CSn,economicsParams:RSn,modelType:HSn,modelAuthor:MSn,modelLabel:ISn,modelDescription:zSn,notes:DSn},kSn="nAyY3ZutnSxurzmrfiodKh",FSn="02/02/2023 02:25 pm",LSn=1675365924087,WSn="QWecNcxhyvP6j6sBN11hBsfZDau1",NSn=null,USn=null,BSn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"6/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},jSn=[{cy:34.18220646310374,normal:[0,0,1],lz:.5,ly:87.56100860949408,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.8683182685289808,cz:.25,rotation:[0,0,0],lx:168.62126759233155,selected:!1,parentId:"Ground",locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jamelia",cx:-3.2033162315728436,cy:-1.3034178512198427,cz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"eskWrngRsrfsVxitmEFwUG",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.65,ly:.42,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.34571115088529475,cy:-.2182979146294524,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:54.973155818694394,yearlyYield:311.4614380820491,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.1244528472135859,cy:-.060705471204835396,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:54.692955030942635,yearlyYield:341.6536704139208,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.30243530092478804,cy:-.29658463647807665,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:55.22294044579748,yearlyYield:285.77957159626914,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.00477734244411093,cy:-.22770720532833247,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:55.6028165469799,yearlyYield:347.0340046876023,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:.2323986704109312,cy:-.30954026005156543,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.246534571972845},{type:"Heliostat",cx:.17980321076544034,cy:-.22890280592338727,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.9189143477242},{type:"Heliostat",cx:-.07007093092536987,cy:-.1429741712580097,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.28401806609266},{type:"Heliostat",cx:-.12643026558915396,cy:-.19914857752993684,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.779971752065364},{type:"Heliostat",cx:-.18298718147417048,cy:-.27344375998511217,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.56772790131693},{type:"Heliostat",cx:.28321098315789156,cy:-.26509916393356936,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.94218222804658},{type:"Heliostat",cx:.06201663035944478,cy:-.01790276609260683,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12412968997117},{type:"Heliostat",cx:-.005144086859809518,cy:-.11674424075888257,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.06448667864852},{type:"Heliostat",cx:-.07326553095576034,cy:-.027001203548432953,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.30383700152939},{type:"Heliostat",cx:-.13103631875140445,cy:-.07211289731219922,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.69974218752444},{type:"Heliostat",cx:-.1817498408877485,cy:-.14097184690480072,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.61502536288546},{type:"Heliostat",cx:.18334603588670687,cy:-.11254934524412023,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28829012678498},{type:"Heliostat",cx:.22982519862747094,cy:-.18140829483672175,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28883413506117},{type:"Heliostat",cx:-.11063137798263967,cy:.05978827549506581,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62627922938169},{type:"Heliostat",cx:-.17545943143758383,cy:-.015603192528220722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.26549812503945},{type:"Heliostat",cx:-.24132724425771757,cy:-.08265006449996429,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.848591160974706},{type:"Heliostat",cx:.03729458715293578,cy:.08164735499997032,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.08288958631672},{type:"Heliostat",cx:.11635572065921955,cy:.046540137502459215,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.96978366441096},{type:"Heliostat",cx:.18181232346843626,cy:-.01341062139199849,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.07324281354023},{type:"Heliostat",cx:.23064844077878674,cy:-.07172825838065355,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.5263467357541},{type:"Heliostat",cx:.2818686549678243,cy:-.14348403247835934,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.3806127412903},{type:"Heliostat",cx:-.3082401794844816,cy:-.16518710728023572,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.09853407023647},{type:"Heliostat",cx:-.24347189333908248,cy:-.21316221673228722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.81901883725212},{type:"Heliostat",cx:-.00513145231321694,cy:.17906460190084825,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.9869366347695},{type:"Heliostat",cx:-.09086411123830242,cy:.16501351230124764,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.67185579391978},{type:"Heliostat",cx:-.17172399438050032,cy:.1304794438850842,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.424415155619826},{type:"Heliostat",cx:-.24560426470951535,cy:.057288487088492074,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.464335531506855},{type:"Heliostat",cx:-.3116400576517767,cy:-.015193358806695577,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.33972665483218},{type:"Heliostat",cx:.08972170224219679,cy:.15564611828308753,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.803611978337365},{type:"Heliostat",cx:.171198129873129,cy:.11877020207620374,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.234951957822524},{type:"Heliostat",cx:.23017733494925166,cy:.06724953811712991,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62121496362152},{type:"Heliostat",cx:.2879404739413306,cy:-8679777502193404e-20,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.104806039406704},{type:"Heliostat",cx:-.04193210541538864,cy:.08393432126519293,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.86211984880036},{type:"Heliostat",cx:-.37846374011465295,cy:-.11835014001933214,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.835251993794415},{type:"Heliostat",cx:.34465672899242206,cy:-.0914088308517547,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.60557336298944},{type:"Heliostat",cx:-.3756811771658677,cy:-.2797037551261536,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.239096027800045},{type:"Heliostat",cx:-.0055636104805840934,cy:.0022188088978148607,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.57798820659272},{type:"Heliostat",cx:-.431634308052032,cy:-.21576415823811107,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.655113036860335},{type:"Heliostat",cx:.3946630399862396,cy:-.19563113598332482,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.25718216433262},{type:"Heliostat",cx:.12498761867946595,cy:-.17981546405024668,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.07130415709169},{type:"Heliostat",cx:.07239701626792935,cy:-.14059769948158687,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.18946575400989},{type:"Heliostat",cx:-.24287237174377305,cy:-.3185781749765691,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.72330556669799},{type:"Heliostat",cx:.18153469158750113,cy:-.3291164926045614,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.045757801118675},{type:"Heliostat",cx:.12559565172148782,cy:-.27759582864548765,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.60344034574142},{type:"Heliostat",cx:.062360215351212084,cy:-.2448099515806225,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12631354865891},{type:"Heliostat",cx:-.072015086935624,cy:-.24832272412328657,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.944324146238436},{type:"Heliostat",cx:-.12856215984365912,cy:-.30569800901213173,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.723474182002164},{type:"Foundation",cx:.18915570284600136,cy:-14.72071217951015,cz:2,lx:10,ly:10,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"eskWrngRsrfsVxitmEFwUG",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jett",cx:-77.63892197350822,cy:-41.607852899711375,cz:.2499999999999991,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ipe6xTyA51gao39GpL4FGX",selected:!1,ly:.6}],YSn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-114.20211728357525,-13.511893921234794,7.261369217489994],panCenter:[-1.8505902264752938,-3.0386998652965884,7.261369217489986],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858745,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[30.004072506948148,24.229268474745034,50.000024229971295],panCenter2D:[30.004072506948148,24.2293184769675,2423000647812703e-20],solarRadiationHeatMapMaxValue:10,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:364,height:67}},OSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1},_Sn=1,VSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},GSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},XSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},JSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},KSn=["Solar power tower surrounded by heliostats"],qSn={docid:kSn,time:FSn,timestamp:LSn,userid:WSn,owner:NSn,email:USn,world:BSn,elements:jSn,view:YSn,graphState:OSn,evolutionMethod:_Sn,solarPanelArrayLayoutParams:VSn,solarPanelArrayLayoutConstraints:GSn,evolutionaryAlgorithmState:XSn,economicsParams:JSn,notes:KSn},$Sn="cyN6tPCHQrmsUsTWTWV7Bq",QSn="02/01/2023 08:28 pm",ZSn=1675301282345,eTn="QWecNcxhyvP6j6sBN11hBsfZDau1",tTn=null,nTn=null,oTn={date:"6/22/2022, 12:00:00 PM",timesPerHour:6,address:"Tucson, AZ, USA",latitude:32.2226066,longitude:-110.9747108,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},iTn=[{selected:!1,cz:0,cx:-2.454909082526056,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:-1.9037352844719955,name:"Jaye",rotation:[0,0,0],parentId:"Ground",lx:.6,ly:.6,lz:1.65},{cx:.20566332108722207,color:"gray",cz:1.3564241923192988,type:"Cuboid",lz:2.7128483846385976,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!1,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5000000000000002,cx:-.007027589631907428,cy:.03130304552555022,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Predicted (Hor.)",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!1,rotation:[0,0,0],cy:-.4999999988722324,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.021624712729279145,normal:[0,-1,0],cz:.03360969587566309,ly:.1,type:"Sensor",label:"Predicted (Ver.)",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],rTn={showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!0,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:4,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!1,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-8,showHeliodonPanel:!1,cameraPosition:[8.133880295141486,-8.174433278152733,4.6847078485248606],panCenter:[4.464757127641991,2.597260416450505,.5357741885065452],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],showMapPanel:!1,yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},stickyNotePanelRect:{x:-5,y:5,width:339,height:74}},aTn=1,lTn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},sTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},uTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dTn=["Solar radiation: Prediction vs. Measurement"],fTn={docid:$Sn,time:QSn,timestamp:ZSn,userid:eTn,owner:tTn,email:nTn,world:oTn,elements:iTn,view:rTn,evolutionMethod:aTn,solarPanelArrayLayoutParams:lTn,solarPanelArrayLayoutConstraints:sTn,evolutionaryAlgorithmState:cTn,economicsParams:uTn,notes:dTn},hTn="gbXM1tEmZzS8k1fXMr7e4c",pTn="02/04/2023 12:04 pm",gTn=1675530248432,mTn="QWecNcxhyvP6j6sBN11hBsfZDau1",yTn=null,ATn=null,wTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},vTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],xTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[7.8185785102529906,-10.621731483534056,2.062041901327996],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8531721737261184,2.5703581157054773,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-2,y:0,width:225,height:60}},bTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},STn=1,TTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},PTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},CTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},RTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},HTn=["BESTEST Case 600"],MTn={docid:hTn,time:pTn,timestamp:gTn,userid:mTn,owner:yTn,email:ATn,world:wTn,elements:vTn,view:xTn,graphState:bTn,evolutionMethod:STn,solarPanelArrayLayoutParams:TTn,solarPanelArrayLayoutConstraints:PTn,evolutionaryAlgorithmState:CTn,economicsParams:RTn,notes:HTn},ITn="rSjWfLHkJUuBXYDJVZ7K7Z",zTn="02/03/2023 07:07 pm",DTn=1675469237287,ETn="QWecNcxhyvP6j6sBN11hBsfZDau1",kTn=null,FTn=null,LTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},WTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:8,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],NTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[12.940867975227082,3.763083016970702,3785257595501958e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[12.940867975227082,3.7629330102992693,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.826418732519464,-13.023829528886234,2.75514975469418],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:713,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:41.010920913500534,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1192,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.447654823068404,9.854417213021707,.03152947137006695],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-168,y:465,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-4,y:0,width:200,height:60}},UTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},BTn=1,jTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},YTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},OTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},_Tn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},VTn=["BESTEST Case 610"],GTn={docid:ITn,time:zTn,timestamp:DTn,userid:ETn,owner:kTn,email:FTn,world:LTn,elements:WTn,view:NTn,graphState:UTn,evolutionMethod:BTn,solarPanelArrayLayoutParams:jTn,solarPanelArrayLayoutConstraints:YTn,evolutionaryAlgorithmState:OTn,economicsParams:_Tn,notes:VTn},XTn="hCJ4qTBLMgzCCrmVBvT6Er",JTn="02/04/2023 12:05 pm",KTn=1675530329920,qTn="QWecNcxhyvP6j6sBN11hBsfZDau1",$Tn=null,QTn=null,ZTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},ePn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kUbRYwVoGDc7GFwgriV2eg",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2bnQyuWKAaZeiivebKX7uN",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1}],tPn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.427289283038643,-11.277019680971108,2.795880222169619],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8699123691558452,2.578944652142625,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:-2,width:200,height:60}},nPn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},oPn=1,iPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},rPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},aPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},lPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},sPn=["BESTEST Case 620"],cPn={docid:XTn,time:JTn,timestamp:KTn,userid:qTn,owner:$Tn,email:QTn,world:ZTn,elements:ePn,view:tPn,graphState:nPn,evolutionMethod:oPn,solarPanelArrayLayoutParams:iPn,solarPanelArrayLayoutConstraints:rPn,evolutionaryAlgorithmState:aPn,economicsParams:lPn,notes:sPn},uPn="67HXdfbAHrwMfJ2uYxYEr9",dPn="02/04/2023 12:05 pm",fPn=1675530342623,hPn="QWecNcxhyvP6j6sBN11hBsfZDau1",pPn=null,gPn=null,mPn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},yPn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["kFtcq9qJ814nEePHMgSpYL"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pEW367Y1exs7be2pbQHztg",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Foundation",cx:4.561959864141299,cy:.16041396503555294,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"pVKekTH3vBaJDuKFqWJNR3",selected:!1,rValue:5.283308619189682},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["kFtcq9qJ814nEePHMgSpYL"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vX5VrXQkMJaYbWcrM1Z6Lz",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["pEW367Y1exs7be2pbQHztg"],rightJoints:["vX5VrXQkMJaYbWcrM1Z6Lz"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kFtcq9qJ814nEePHMgSpYL",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["vX5VrXQkMJaYbWcrM1Z6Lz","kFtcq9qJ814nEePHMgSpYL","pEW367Y1exs7be2pbQHztg"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",id:"sEJTDSykek3p5kyccPdUdD",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jr5eRruUgVNaMyJ4BgMJfz",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"85V2NYuPDyi8cjwzsRQJ5n",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["4vW6e4BZW3jyozPbqjnt5D"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wAZYpbu3zMiGQjV2LpAcDG",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["4vW6e4BZW3jyozPbqjnt5D"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7vsveQVeKqeZenZ1pDApJC",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["wAZYpbu3zMiGQjV2LpAcDG"],rightJoints:["7vsveQVeKqeZenZ1pDApJC"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4vW6e4BZW3jyozPbqjnt5D",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{id:"pKTG8B6HTAm7A7dtN3ZbsU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,color:"#4d4d4d",rValue:4,sideColor:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["7vsveQVeKqeZenZ1pDApJC","4vW6e4BZW3jyozPbqjnt5D","wAZYpbu3zMiGQjV2LpAcDG"],selected:!1,ceiling:!1},{type:"Foundation",cx:-4.58324969491131,cy:.09837545208621207,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"93LBsy6WnVM9PgJ49pUP7g",selected:!1,rValue:5.283308619189682},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],APn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.0768229629118022,2.7613875173197986,27683726328203026e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.0768229629118022,2.7612375106561817,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.12898513990324,-7.74877596104179,2.534986637546045],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207445,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.485245288976777,3.6907945473464463,2.058363039574734],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-1262,y:232,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-3,y:-3,width:200,height:60}},wPn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},vPn=1,xPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},SPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},TPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},PPn=["BESTEST Case 630"],CPn={docid:uPn,time:dPn,timestamp:fPn,userid:hPn,owner:pPn,email:gPn,world:mPn,elements:yPn,view:APn,graphState:wPn,evolutionMethod:vPn,solarPanelArrayLayoutParams:xPn,solarPanelArrayLayoutConstraints:bPn,evolutionaryAlgorithmState:SPn,economicsParams:TPn,notes:PPn},RPn="1mt3H85vSeLycnvzEbiGLF",HPn=1647905546466,MPn="QWecNcxhyvP6j6sBN11hBsfZDau1",IPn=null,zPn=null,DPn={latitude:39.0042841,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-3.3716443,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"13200 Manzanares, Ciudad Real, Spain",date:"6/8/2022 2:30:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},EPn=[{cy:.8227637571854691,normal:[0,0,1],lz:.5,ly:250,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.8016636577985707,cz:.05,rotation:[0,0,0],lx:250,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#cccccc",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3}},{type:"Sensor",cx:-.4159783264084858,cy:.39987868253676767,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Human",name:"Jack",cx:-101.47750420174262,cy:106.72814742414681,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"nRWqXrYCJwuMMKPznon3yj",selected:!1,ly:.6}],kPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!0,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-286.26711514248836,-379.63764367710024,88.70698003902253],panCenter:[31.318634005291777,-33.73977035496972,57.75472306965425],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:7,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!0,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},FPn=[],LPn={docid:RPn,timestamp:HPn,userid:MPn,owner:IPn,email:zPn,world:DPn,elements:EPn,view:kPn,notes:FPn},WPn="snT8RSM4bna2exT4SbrKpx",NPn=1647994374708,UPn="QWecNcxhyvP6j6sBN11hBsfZDau1",BPn=null,jPn=null,YPn={latitude:25.206789542006906,solarPanelGridCellSize:.5,timesPerHour:4,longitude:55.273800285141746,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Dubai - United Arab Emirates",date:"4/22/2022 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},OPn=[{cy:-14.779474133308753,normal:[0,0,1],lz:.5,ly:264.0330484296776,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-13.154176421163392,cz:.05,rotation:[0,0,0],lx:454.50633176715684,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#16a5a5",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3},textureType:"No Foundation Texture"},{type:"Sensor",cx:-.11120328110703694,cy:.21015039060624294,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Cuboid",cx:2.1177379727110406,cy:160.51534566937434,cz:74.09390657882601,lx:78.30098332647403,ly:55.99394288505539,lz:148.18781315765202,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.025752033646721628],parentId:"Ground",selected:!1,id:"2EhrboeXntUZKiBN3HjSix"},{type:"Cuboid",cx:50.66161337498563,cy:207.36077727687461,cz:32.43138091159533,lx:145.9842111895511,ly:125.02724353031309,lz:64.86276182319067,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"6Xn8R7eKSnxRxHnYpiNTaj",selected:!1},{type:"Cuboid",cx:-72.11151802635683,cy:193.1105351858589,cz:37.54389418882869,lx:180.92996331753585,ly:104.88750828847839,lz:75.08778837765738,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.4372817352121965],parentId:"Ground",id:"qmmFDRVBHd8n28gezjkd3v",selected:!1},{type:"Cuboid",cx:153.53794529088543,cy:135.2714939761318,cz:28.458907280218547,lx:236.41206811774626,ly:73.3973881158558,lz:56.917814560437094,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0889289069735497],parentId:"Ground",id:"6WFEHvBHfcw1hyoqbdVq2Q",selected:!1},{type:"Cuboid",cx:197.28140665982946,cy:-49.22558984875294,cz:23.43801759070747,lx:72.3188854798575,ly:208.05225786437427,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"wVZSZy2dQew3t36trixDr8",selected:!1},{type:"Cuboid",cx:-201.1839566931086,cy:103.76736037364329,cz:23.43801759070747,lx:180.92996331753585,ly:104.88750828847839,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7727363696866378],parentId:"Ground",id:"1QdVXZ9PmC9w7nnsHyZH8T",selected:!1},{type:"Cuboid",cx:-255.36665065884822,cy:-36.73723769206747,cz:18.59922423283554,lx:225.13779640089743,ly:104.62558934593119,lz:37.19844846567108,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,1.5327638573782314],parentId:"Ground",id:"raZT6wgNraS3Vp9bqR82TD",selected:!1}],_Pn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:18,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-90.01171835895659,-555.4483085712341,96.07353497556753],panCenter:[-9.153086630446868,47.334689777283224,96.07353497556753],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:5,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},VPn=[],GPn={docid:WPn,timestamp:NPn,userid:UPn,owner:BPn,email:jPn,world:YPn,elements:OPn,view:_Pn,notes:VPn},XPn="p2drrr48ZatKaiVf1mbTs1",JPn="12/03/2023 04:24 PM",KPn=1701638671232,qPn="QWecNcxhyvP6j6sBN11hBsfZDau1",$Pn=null,QPn=null,ZPn="1.5.4",eCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},tCn=[{type:"Foundation",cx:.21568850029510145,cy:.013602452212484906,cz:.05,lx:177.03060455972584,ly:35.672904101964825,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Joseph",cx:3.2599818806420906,cy:-7.518092078963932,cz:.05000000074505806,lx:.6,lz:1.88,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.8,towerHeight:25,hubRadius:1,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.43466060172200127,cy:-.14710534568960895,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:1.3089969389957472,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:.3490658503988659,showLabel:!0,label:"1-blade",labelHeight:.2,labelSize:1,numberOfBlades:1},{type:"Wind Turbine",cx:-.25646562384285493,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.08726646259971647,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"2-blades",numberOfBlades:2},{type:"Wind Turbine",cx:-.053110954803951796,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.6108652381980153,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"3-blades"},{type:"Wind Turbine",cx:.16054544137606933,cy:-.019488911573350004,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:4,pitchAngle:.3490658503988659,initialRotorAngle:.4363323129985824,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"9dzaj23koNLLEL3shaBk2K",selected:!1,label:"4-blades"},{type:"Wind Turbine",cx:.38225577893413515,cy:-.007337508433549948,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:8,pitchAngle:.3490658503988659,initialRotorAngle:.9599310885968813,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"rYsUP6fHc3t52h1tpQjudB",selected:!1,label:"8-blades"}],nCn=111,oCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.06508062441107645,3.009365144072869,3251344493198157e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.06508062441107645,3.0083647666271345,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.410142423966475,-199.0249080253237,25.806061057837795],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.0801685524133897,3.803936638871667,21.311753692834813],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:203,height:75},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},iCn=!0,rCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},aCn=1,lCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},sCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},uCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dCn="Unknown",fCn=null,hCn=null,pCn=null,gCn=null,mCn=["Effect of blade number"],yCn=3,ACn=3,wCn={docid:XPn,time:JPn,timestamp:KPn,userid:qPn,owner:$Pn,email:QPn,version:ZPn,world:eCn,elements:tCn,sceneRadius:nCn,view:oCn,animate24Hours:iCn,graphState:rCn,evolutionMethod:aCn,solarPanelArrayLayoutParams:lCn,solarPanelArrayLayoutConstraints:sCn,evolutionaryAlgorithmState:cCn,economicsParams:uCn,modelType:dCn,modelAuthor:fCn,modelLabel:hCn,modelDescription:pCn,designProjectType:gCn,notes:mCn,minimumNavigationMoveSpeed:yCn,minimumNavigationTurnSpeed:ACn},vCn="ku3aJQnNyy4yCsuFzwuDoc",xCn="12/03/2023 04:23 PM",bCn=1701638601264,SCn="QWecNcxhyvP6j6sBN11hBsfZDau1",TCn=null,PCn=null,CCn="1.5.4",RCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},HCn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Jack",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.7,towerHeight:25,hubRadius:.9,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.3778738108736008,cy:-.13041322347895162,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:2.6179938779914944,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:0,showLabel:!0,label:"Pitch 0°",labelHeight:.2,labelSize:1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°"},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.6981317007977318,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"Pitch 90°"}],MCn=59,ICn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.3091864608311454,-84.35385005104541,19.592601415556782],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.5737328988942154,.4037021816977089,14.94164829471033],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},zCn=!0,DCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ECn=1,kCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},FCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},LCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},WCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},NCn="Unknown",UCn=null,BCn=null,jCn=null,YCn=null,OCn=["Effect of pitch angle"],_Cn=3,VCn=3,GCn={docid:vCn,time:xCn,timestamp:bCn,userid:SCn,owner:TCn,email:PCn,version:CCn,world:RCn,elements:HCn,sceneRadius:MCn,view:ICn,animate24Hours:zCn,graphState:DCn,evolutionMethod:ECn,solarPanelArrayLayoutParams:kCn,solarPanelArrayLayoutConstraints:FCn,evolutionaryAlgorithmState:LCn,economicsParams:WCn,modelType:NCn,modelAuthor:UCn,modelLabel:BCn,modelDescription:jCn,designProjectType:YCn,notes:OCn,minimumNavigationMoveSpeed:_Cn,minimumNavigationTurnSpeed:VCn},XCn="prsweG46r8wQU1VCBei9bi",JCn="12/05/2023 08:19 PM",KCn=1701825553155,qCn="QWecNcxhyvP6j6sBN11hBsfZDau1",$Cn=null,QCn=null,ZCn="1.5.4",eRn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},tRn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"James",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°",birdSafe:1},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,birdSafe:2,pitchAngle:.7853981633974483,initialRotorAngle:.5235987755982988,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"uoJzz1MrpxpKH8prABoXBK",selected:!1},{type:"Wind Turbine",cx:-.40227176546914695,cy:-.08636499522843967,cz:.5000000074506517,lx:36,ly:36,lz:43,birdSafe:0,pitchAngle:.7853981633974483,initialRotorAngle:1.2217304763960306,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"oQQHDhqvAmppTTGonavtKx",selected:!1}],nRn=59,oRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.54640905238722,-83.12569705438379,19.57753232141962],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:-1,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:4,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.843815451002575,-2.517227319037223,19.577532321419607],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},iRn=!0,rRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},aRn=1,lRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},sRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},uRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dRn="Unknown",fRn=null,hRn=null,pRn=null,gRn=null,mRn=["Bird-safe blade design"],yRn=3,ARn=3,wRn={docid:XCn,time:JCn,timestamp:KCn,userid:qCn,owner:$Cn,email:QCn,version:ZCn,world:eRn,elements:tRn,sceneRadius:nRn,view:oRn,animate24Hours:iRn,graphState:rRn,evolutionMethod:aRn,solarPanelArrayLayoutParams:lRn,solarPanelArrayLayoutConstraints:sRn,evolutionaryAlgorithmState:cRn,economicsParams:uRn,modelType:dRn,modelAuthor:fRn,modelLabel:hRn,modelDescription:pRn,designProjectType:gRn,notes:mRn,minimumNavigationMoveSpeed:yRn,minimumNavigationTurnSpeed:ARn},vRn="4dviU3RawE9LMcftibfNkm",xRn="12/03/2023 04:14 PM",bRn=1701638072017,SRn="QWecNcxhyvP6j6sBN11hBsfZDau1",TRn=null,PRn=null,CRn="1.5.4",RRn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:30:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"4VF7+G3 Truro, MA, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.12379091441428,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-70.13730849064942,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},HRn=[{type:"Foundation",cx:-.03667035741752578,cy:.04882318835639765,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Wind Turbine",bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,cx:-.018046403605868733,cy:.4133982216223373,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"wjxmhdfmeJ2VqYDExGzaQP",selected:!1,relativeRotationAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.5235987755982988,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Human",name:"Jack",cx:-.32689281452861607,cy:-.7424702537660224,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Foundation",cx:.46178016174311765,cy:34.77682557793467,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"rPGPX7hqLNXxmoCP5Z3sE3",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"rPGPX7hqLNXxmoCP5Z3sE3",foundationId:"rPGPX7hqLNXxmoCP5Z3sE3",id:"wmRwaWRbnt4jyLACLBbnbR",selected:!1,initialRotorAngle:.5759586531581288,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-35.133887514480534,cy:.13131107853935997,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"5AXcGdcxuJPPmWUFFF1Mg4",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"5AXcGdcxuJPPmWUFFF1Mg4",foundationId:"5AXcGdcxuJPPmWUFFF1Mg4",id:"8zpiTHWfmH9dxxMob7gGKw",selected:!1,initialRotorAngle:.6981317007977318,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.15687726121619,cy:.08583548447972705,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"3PvdrySRRuRb4VWscpoan1",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"3PvdrySRRuRb4VWscpoan1",foundationId:"3PvdrySRRuRb4VWscpoan1",id:"jh2VLP6aEsC9MjyvMzHmnh",selected:!1,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.68380015977545,cy:35.992070115484914,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ajcMCL4iShmNZcRHJaZwqC",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ajcMCL4iShmNZcRHJaZwqC",foundationId:"ajcMCL4iShmNZcRHJaZwqC",id:"73M62UHt2cc3ePWwwXFCtp",selected:!1,initialRotorAngle:1.9198621771937625,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-36.06399520270002,cy:36.219927749176875,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"8y22r8ZxpQWom1j6cs1tYx",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"8y22r8ZxpQWom1j6cs1tYx",foundationId:"8y22r8ZxpQWom1j6cs1tYx",id:"9phSpLbBjff3RP3Gd6q3wk",selected:!1,initialRotorAngle:3.735004599267865,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-34.92135925619859,cy:-39.65568470409089,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"7omZkjhG7pVW412usas6QG",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"7omZkjhG7pVW412usas6QG",foundationId:"7omZkjhG7pVW412usas6QG",id:"n57NaRS2RhJe7aRryzjvz5",selected:!1,initialRotorAngle:2.1467549799530254,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:.28880826894608447,cy:-39.405449951382565,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ahFZR4riKJXTrcHA73mdCn",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ahFZR4riKJXTrcHA73mdCn",foundationId:"ahFZR4riKJXTrcHA73mdCn",id:"gzowsxQwP2TmUT7TdsAvgu",selected:!1,initialRotorAngle:.7504915783575618,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:37.11911004267943,cy:-35.660841265945486,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"6vng7Lgk75SDU7zgeFirDf",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"6vng7Lgk75SDU7zgeFirDf",foundationId:"6vng7Lgk75SDU7zgeFirDf",id:"8FDU4ixVHqSmgDc6imfmtZ",selected:!1,initialRotorAngle:3.001966313430247,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659}],MRn=51,IRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[8.052948084656641,-13.89445165214065,-1405165848269891e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[8.052948084656641,-13.895452029586668,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:11,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.54912751083805,-79.65990049831592,12.693759961970386],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.1471373545004715,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.443475483349762,13.626542859895423,12.693759961970372],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:400,height:300},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!0,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},zRn=!0,DRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},ERn=1,kRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},FRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},LRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},WRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},NRn="Unknown",URn=null,BRn=null,jRn=null,YRn=null,ORn=[],_Rn=3,VRn=3,GRn={docid:vRn,time:xRn,timestamp:bRn,userid:SRn,owner:TRn,email:PRn,version:CRn,world:RRn,elements:HRn,sceneRadius:MRn,view:IRn,animate24Hours:zRn,graphState:DRn,evolutionMethod:ERn,solarPanelArrayLayoutParams:kRn,solarPanelArrayLayoutConstraints:FRn,evolutionaryAlgorithmState:LRn,economicsParams:WRn,modelType:NRn,modelAuthor:URn,modelLabel:BRn,modelDescription:jRn,designProjectType:YRn,notes:ORn,minimumNavigationMoveSpeed:_Rn,minimumNavigationTurnSpeed:VRn},XRn="vW4e6RYtysT2Mk4RJsMwWK",JRn=1647108232108,KRn="QWecNcxhyvP6j6sBN11hBsfZDau1",qRn=null,$Rn=null,QRn={longitude:-110.90092954103089,solarRadiationHeatmapGridCellSize:1,discretization:"Approximate",timesPerHour:4,date:"9/22/2022 1:15:00 PM",name:"default",solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,pvGridCellSize:.5,latitude:32.15910168004556,address:"4346 E Irvington Rd, Tucson, AZ 85714, USA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},cspTimesPerHour:4,cspGridCellSize:1},ZRn=[{textureType:"No Foundation Texture",lz:.1,ly:428,cx:-12.823413575842814,locked:!1,type:"Foundation",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lx:111.22000916830105,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},rotation:[0,0,0],parentId:"Ground",cz:.05,cy:-21.37347182127145,normal:[0,0,1]},{reflectance:.9,label:"1",absorptance:.95,poleHeight:.2,selected:!1,drawSunBeam:!0,poleRadius:.05,type:"Fresnel Reflector",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cx:-.4012211769217936,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,showLabel:!1,cz:0,dailyYield:148.93207880790618,cy:.006680793972906053,opticalEfficiency:.7,moduleLength:20,lx:2.5,lz:.1,normal:[0,0,1],tiltAngle:0,thermalEfficiency:.3,rotation:[0,0,0],id:"gGEdWUHCti1PrRxJ7JDarq"},{poleRadius:.05,rotation:[0,0,0],relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,reflectance:.9,tiltAngle:0,cz:0,cx:-.3742476132399176,showLabel:!1,ly:420,normal:[0,0,1],poleHeight:.2,selected:!1,lz:.1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3xn438z3EMLSwNjb9D63WM",lx:2.5,type:"Fresnel Reflector",cy:.006680793972906053,drawSunBeam:!0},{foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,poleHeight:.2,id:"bLwgNAfScj3MbJ3LCbgVeJ",cx:.4118441240173573,rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,poleRadius:.05,reflectance:.9,cy:.006920168618473448,tiltAngle:0,cz:.5000000074505806,lz:.1,moduleLength:20,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,drawSunBeam:!0,normal:[0,0,1],lx:2.5,type:"Fresnel Reflector",selected:!1},{lz:.1,cy:.006920164646334277,cx:.38874501986607163,ly:420,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"n7GLSN9b7KQJT3M3e1Gbd6",lx:2.5,moduleLength:20,tiltAngle:0,normal:[0,0,1],parentId:"kxHYpYsUs7XEocuTYAj1Qu",receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,cz:.5000000074506161,rotation:[0,0,0],relativeAzimuth:0,drawSunBeam:!0,selected:!1,poleRadius:.05,type:"Fresnel Reflector",showLabel:!1},{selected:!1,parentId:"Ground",type:"Cuboid",color:"gray",cx:-52.4956763602033,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:2.295137859741913,ly:6.761851189958324,id:"2ef4fdCaFagjkM5oc3rwcu",faceColors:["gray","gray","gray","gray","gray","gray"],lx:17.519341460326316,rotation:[0,0,0],cy:209.0290599516856,normal:[0,0,1],lz:4.590275719483826},{ly:420,rotation:[0,0,0],poleHeight:.2,lz:.1,moduleLength:20,cz:.5000000074506517,id:"8GG67NKVFrvbH3J8prHsci",showLabel:!1,poleRadius:.05,selected:!1,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,cy:.006920160674195108,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.3629408980758779,relativeAzimuth:0,drawSunBeam:!0,lx:2.5},{lx:2.5,moduleLength:20,type:"Fresnel Reflector",relativeAzimuth:0,cy:.006920156702055938,poleHeight:.2,poleRadius:.05,cz:.5000000074506872,selected:!1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],showLabel:!1,rotation:[0,0,0],id:"iiCPQvzxSxVKeMzjiCWt4r",drawSunBeam:!0,lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.33443175864677654,ly:420,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{type:"Fresnel Reflector",normal:[0,0,1],id:"48A3HEC1e87s6pvydn6P2h",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,poleHeight:.2,selected:!1,cx:.3059226192176751,rotation:[0,0,0],tiltAngle:0,relativeAzimuth:0,lx:2.5,cy:.006920152729916776,lz:.1,moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,drawSunBeam:!0,cz:.5000000074507227,showLabel:!1,reflectance:.9,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{normal:[0,0,1],rotation:[0,0,0],poleHeight:.2,type:"Fresnel Reflector",id:"p9gJ8g2kx38fJVQXUT5Mgz",cx:.27741347978857367,moduleLength:20,relativeAzimuth:0,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cz:.5000000074507582,lx:2.5,reflectance:.9,poleRadius:.05,selected:!1,lz:.1,ly:420,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.0069201487577776055,tiltAngle:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0},{relativeAzimuth:0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074507938,selected:!1,normal:[0,0,1],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],moduleLength:20,poleRadius:.05,drawSunBeam:!0,cy:.006920144785638444,tiltAngle:0,id:"nUiryBqcmAQ2AAWDiEELcv",cx:.24890434035947226,lz:.1,ly:420,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",lx:2.5},{ly:420,reflectance:.9,poleRadius:.05,showLabel:!1,type:"Fresnel Reflector",relativeAzimuth:0,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074508293,poleHeight:.2,cx:.22039520093037082,selected:!1,tiltAngle:0,moduleLength:20,lx:2.5,rotation:[0,0,0],cy:.006920140813499274,drawSunBeam:!0,lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"c1WTMXLtugeCdJwSfZWMz9"},{poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,selected:!1,relativeAzimuth:0,cz:.5000000074508648,drawSunBeam:!0,rotation:[0,0,0],poleRadius:.05,cx:.1918860615012694,type:"Fresnel Reflector",lz:.1,id:"3Kj4GK5Z8rMjFhG7kwoBBb",tiltAngle:0,reflectance:.9,normal:[0,0,1],cy:.006920136841360104,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG"},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",relativeAzimuth:0,cx:.16337692207216795,tiltAngle:0,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,poleHeight:.2,drawSunBeam:!0,type:"Fresnel Reflector",cz:.5000000074509003,poleRadius:.05,id:"gRmwqsLeYTEckzUeWsqBhN",showLabel:!1,normal:[0,0,1],lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,reflectance:.9,lz:.1,cy:.006920132869220934,ly:420},{cz:.5000000074509359,cy:.006920128897081764,drawSunBeam:!0,type:"Fresnel Reflector",ly:420,selected:!1,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,tiltAngle:0,cx:.13486778264306654,lz:.1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,id:"joT2iHz7uZVy7UaUNMCzBF",moduleLength:20,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,lx:2.5,rotation:[0,0,0],reflectance:.9,normal:[0,0,1]},{normal:[0,0,1],id:"itX4GCN56fDPamdgJYAmwQ",selected:!1,lx:2.5,drawSunBeam:!0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074509714,cx:.10635864321396508,lz:.1,cy:.006920124924942602,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",type:"Fresnel Reflector",rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,poleRadius:.05,moduleLength:20,relativeAzimuth:0,ly:420,reflectance:.9},{type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",poleHeight:.2,cy:.00692012095280344,cz:.5000000074510069,ly:420,relativeAzimuth:0,drawSunBeam:!0,moduleLength:20,lx:2.5,showLabel:!1,id:"5e4g29VTk26fuKRVWuNgRz",parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cx:.07784950378486367,poleRadius:.05,lz:.1,tiltAngle:0,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",selected:!1,normal:[0,0,1]},{id:"sBjhkF3pMtT3cQ3g1UR96e",cz:.5000000074510424,cx:.049340364355762216,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",type:"Fresnel Reflector",ly:420,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lz:.1,cy:.006920116980664271,reflectance:.9,tiltAngle:0,moduleLength:20,rotation:[0,0,0],lx:2.5,drawSunBeam:!0,poleRadius:.05},{poleHeight:.2,poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.0069201130085251,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,showLabel:!1,ly:420,selected:!1,reflectance:.9,moduleLength:20,rotation:[0,0,0],lx:2.5,tiltAngle:0,cz:.500000007451078,type:"Fresnel Reflector",normal:[0,0,1],cx:.020831224926660816,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"h3TzeZk2YVWTGe9knmBmhc",drawSunBeam:!0,relativeAzimuth:0},{cy:.0069201090363859305,poleRadius:.05,drawSunBeam:!0,lx:2.5,normal:[0,0,1],tiltAngle:0,rotation:[0,0,0],moduleLength:20,showLabel:!1,poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,selected:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",id:"kWfcmDULgEQa34dEtRx2UT",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,reflectance:.9,cz:.5000000074511135,cx:-.007677914502440628,lz:.1,type:"Fresnel Reflector"},{reflectance:.9,rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,type:"Fresnel Reflector",normal:[0,0,1],tiltAngle:0,id:"wQ8RFzz864QiELuFRWM7ge",poleHeight:.2,cz:.500000007451149,drawSunBeam:!0,cx:-.03618705393154207,selected:!1,showLabel:!1,lz:.1,cy:.00692010506424676,moduleLength:20,lx:2.5,poleRadius:.05,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{poleHeight:.2,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.006920101092107599,id:"rCD4HDT8779Y925QdUv6gZ",cx:-.06469619336064349,drawSunBeam:!0,selected:!1,lx:2.5,poleRadius:.05,cz:.5000000074511846,relativeAzimuth:0,type:"Fresnel Reflector",normal:[0,0,1],lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,rotation:[0,0,0],ly:420,showLabel:!1,moduleLength:20},{ly:420,poleHeight:.2,normal:[0,0,1],cx:-.0932053327897449,id:"dMUsSHLikspa8gopdzHskY",poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,reflectance:.9,moduleLength:20,cy:.0069200971199684285,showLabel:!1,tiltAngle:0,rotation:[0,0,0],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,cz:.5000000074512201,selected:!1,lz:.1},{rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",cy:.006920093147829267,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,lx:2.5,relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,tiltAngle:0,poleHeight:.2,normal:[0,0,1],selected:!1,moduleLength:20,cx:-.12171447221884638,showLabel:!1,id:"rTyFuBNMkgb6TQ1G9Eh8gm",poleRadius:.05,cz:.5000000074512556,ly:420},{poleRadius:.05,normal:[0,0,1],showLabel:!1,cz:.5000000074512911,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,type:"Fresnel Reflector",selected:!1,rotation:[0,0,0],tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,id:"j5bFm4KL8wLSLUYpWvdxLo",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,cx:-.15022361164794779,lz:.1,cy:.006920089175690097,relativeAzimuth:0,poleHeight:.2,lx:2.5,reflectance:.9},{cx:-.1787327510770492,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,drawSunBeam:!0,reflectance:.9,tiltAngle:0,lz:.1,cy:.006920085203550927,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cz:.5000000074513267,relativeAzimuth:0,showLabel:!1,poleRadius:.05,selected:!1,type:"Fresnel Reflector",normal:[0,0,1],id:"4yDr3h7mFtSP1gWovYHUdL",poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,moduleLength:20},{cy:.006920081231411757,id:"cdAqNd7wifCFLgGsKrvuwz",moduleLength:20,drawSunBeam:!0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],poleHeight:.2,poleRadius:.05,relativeAzimuth:0,tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",lx:2.5,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,cz:.5000000074513622,lz:.1,type:"Fresnel Reflector",showLabel:!1,cx:-.2072418905061506,reflectance:.9,ly:420},{rotation:[0,0,0],lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074513977,moduleLength:20,reflectance:.9,relativeAzimuth:0,selected:!1,tiltAngle:0,ly:420,poleRadius:.05,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,poleHeight:.2,type:"Fresnel Reflector",cx:-.23575102993525202,parentId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],lx:2.5,id:"ptAVmbmDJoFnE5rNDPcxp1",cy:.006920077259272587},{cx:-.26426016936435354,reflectance:.9,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,poleRadius:.05,poleHeight:.2,id:"9PPkqgZe4ooTSBcdbEhq2S",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074514332,rotation:[0,0,0],moduleLength:20,cy:.006920073287133425,relativeAzimuth:0,lz:.1,showLabel:!1,selected:!1,lx:2.5,ly:420},{lx:2.5,drawSunBeam:!0,selected:!1,cx:-.29276930879345486,poleRadius:.05,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.006920069314994255,cz:.5000000074514688,relativeAzimuth:0,lz:.1,ly:420,id:"1bynbmDmRsgQT44LeFTqV2",type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],tiltAngle:0,moduleLength:20,poleHeight:.2,normal:[0,0,1],showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{id:"biqZtWn8yKbuhMZsTFnzzy",poleRadius:.05,ly:420,normal:[0,0,1],moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",showLabel:!1,reflectance:.9,cy:.006920065342855094,poleHeight:.2,cx:-.32127844822255636,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,type:"Fresnel Reflector",rotation:[0,0,0],lz:.1,cz:.5000000074515043,lx:2.5,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,drawSunBeam:!0},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,cz:.5000000074515398,tiltAngle:0,drawSunBeam:!0,cx:-.3497875876516578,poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,showLabel:!1,type:"Fresnel Reflector",reflectance:.9,selected:!1,id:"aimBT6csAE8smo4euxDmP5",lz:.1,normal:[0,0,1],relativeAzimuth:0,cy:.006920061370715923,parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0]},{solarReceiverTubePoleNumber:20,type:"Foundation",solarReceiverPipePoleNumber:20,normal:[0,0,1],rotation:[0,0,0],cx:-11.949347995041327,selected:!1,parentId:"Ground",lz:.3,lx:19.21993989325236,cy:-3.4906385434141205,id:"jbxC2ET67y7TWpMwnYUQpG",ly:480,solarStructure:1,solarReceiver:1,cz:.15,solarAbsorberPipe:{absorberHeight:30,apertureWidth:2}}],eHn={cameraZoom:1.8506178062217107,yearlyPvYieldPanelX:0,mapZoom:17,dailyFresnelReflectorYieldPanelX:-19,dailyParabolicTroughYieldPanelX:0,dailyLightSensorPanelX:0,yearlyParabolicDishYieldPanelX:0,showDailyFresnelReflectorYieldPanel:!1,enableRotate:!0,panCenter2D:[-6.944992442475207,210.55314744205262,.00021056250655402935],showStickyNotePanel:!1,groundColor:"#16cda5",showSunAngles:!1,mapWeatherStations:!1,dailyParabolicTroughYieldPanelY:0,showDailyParabolicTroughYieldPanel:!1,yearlyLightSensorPanelY:0,weatherPanelX:0,yearlyFresnelReflectorYieldPanelY:14,ambientLightIntensity:.1,dailyParabolicDishYieldPanelY:0,dailyFresnelReflectorYieldPanelY:157,showWeatherPanel:!1,theme:"Desert",showSolarPanelVisibilityResultsPanel:!1,yearlyLightSensorPanelX:0,mapPanelX:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,heliodonPanelY:0,dailyParabolicDishYieldPanelX:0,mapType:"hybrid",cameraPosition:[-11.739626637843958,-271.93399896309415,13.091291354471094],showDesignInfoPanel:!0,autoRotate:!1,panCenter:[-7.09913291540988,-65.13626844138287,2.897505917600467],yearlyFresnelReflectorYieldPanelX:-1274,stickyNotePanelX:0,visibilityResultsPanelX:0,showYearlyLightSensorPanel:!1,mapTilt:0,dailyPvYieldPanelY:0,dailyLightSensorPanelY:0,solarRadiationHeatMapMaxValue:5,heliodonPanelX:0,weatherPanelY:0,showYearlyParabolicDishYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,stickyNotePanelY:0,showDailyParabolicDishYieldPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,heliodon:!1,yearlyParabolicTroughYieldPanelX:0,yearlyPvYieldPanelY:0,showSiteInfoPanel:!0,cameraPosition2D:[-6.944992442475207,210.55312744116364,20.00021056248858],showHeliodonPanel:!1,showYearlyPvYieldPanel:!1,axes:!0,showMapPanel:!1,visibilityResultsPanelY:0,groundImage:!0,orthographic:!1,showInstructionPanel:!0,showDailyPvYieldPanel:!1,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1},tHn=[],nHn={docid:XRn,timestamp:JRn,userid:KRn,owner:qRn,email:$Rn,world:QRn,elements:ZRn,view:eHn,notes:tHn},oHn="hAq2dzLGp1A3Vt7sTTtJuZ",iHn="02/03/2023 10:55 am",rHn=1675439758247,aHn="QWecNcxhyvP6j6sBN11hBsfZDau1",lHn=null,sHn=null,cHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},uHn=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0005841111979264266,cy:-.00026543983321941996,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Angle",dailyYield:8.732880750124766,yearlyYield:102.12421657496768},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],dHn={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.289940609671005,-7.003850253956084,4.906951597024065],panCenter:[.4252296602758445,.31861282138619734,.10164740914205853],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:279,height:88}},fHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},hHn=1,pHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},gHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},mHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},yHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},AHn=[`Find the optimal tilt angle -for a single row of solar panels`],wHn={docid:oHn,time:iHn,timestamp:rHn,userid:aHn,owner:lHn,email:sHn,world:cHn,elements:uHn,view:dHn,graphState:fHn,evolutionMethod:hHn,solarPanelArrayLayoutParams:pHn,solarPanelArrayLayoutConstraints:gHn,evolutionaryAlgorithmState:mHn,economicsParams:yHn,notes:AHn},vHn="fuDyjFnfZyxqES42bpME47",xHn="02/03/2023 11:00 am",bHn=1675440031518,SHn="QWecNcxhyvP6j6sBN11hBsfZDau1",THn=null,PHn=null,CHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},RHn=[{cy:-.04544941490896341,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.968,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Row1",tiltAngle:0,poleSpacing:2,rotation:[0,0,0],lx:5.952,selected:!1,orientation:"Portrait",cx:.0013098263256093668,relativeAzimuth:0,cy:-.3333857365792726,poleHeight:1.2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG",dailyYield:3.8430599051077174,yearlyYield:87.98498978626,labelSize:.5,labelHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0013098263256093668,cy:-.1107906814186029,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qBcTvR11rnyGD32ejzSTUo",selected:!1,dailyYield:3.8430599051077174,label:"Row2",yearlyYield:88.73443715558736,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0012559240227253744,cy:.11410898246472086,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Row3",dailyYield:3.8430599051077174,yearlyYield:102.12190598796778,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0019112216145152992,cy:.33130578714934544,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kKhGuKqmYo8sGFHt2CpVtE",selected:!1,label:"Row4",dailyYield:3.8430599051077174,yearlyYield:87.95400017679898,labelHeight:1,labelSize:.5},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],HHn={yearlyPvYieldPanelX:-1274,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:3,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.323665130331175,-8.426692001879298,3.5655944521137717],panCenter:[1.684900046296442,2.3084248015304936,.043382642438776854],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:3,evolutionPanelY:4,evolutionPanelRect:{x:0,y:0,width:565,height:359},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:322,height:91}},MHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},IHn=2,zHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},DHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},EHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:20,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:20,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},FHn=[`Find optimal tilt angles -for multiple rows of solar panels`],LHn={docid:vHn,time:xHn,timestamp:bHn,userid:SHn,owner:THn,email:PHn,world:CHn,elements:RHn,view:HHn,graphState:MHn,evolutionMethod:IHn,solarPanelArrayLayoutParams:zHn,solarPanelArrayLayoutConstraints:DHn,evolutionaryAlgorithmState:EHn,economicsParams:kHn,notes:FHn},WHn="oAxppoDRPqDySUVvwUxAX9",NHn="02/08/2023 12:26 pm",UHn=1675877184356,BHn="QWecNcxhyvP6j6sBN11hBsfZDau1",jHn=null,YHn=null,OHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},_Hn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6}],VHn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[13.612389493613348,-45.59589484534075,13.195602276977187],panCenter:[14.4714120590319,-3.416758286517111,0],orthographic:!1,enableRotate:!0,cameraZoom:15.475618750000002,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902232375,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:290,height:86},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},GHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},XHn=2,JHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},KHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},qHn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},$Hn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},QHn=[`Generative design of a solar farm -in an arbitrary shape`],ZHn={docid:WHn,time:NHn,timestamp:UHn,userid:BHn,owner:jHn,email:YHn,world:OHn,elements:_Hn,view:VHn,graphState:GHn,evolutionMethod:XHn,solarPanelArrayLayoutParams:JHn,solarPanelArrayLayoutConstraints:KHn,evolutionaryAlgorithmState:qHn,economicsParams:$Hn,notes:QHn},eMn="wdLWJpkLqaNK26sDZ4kU9P",tMn="02/08/2023 12:31 pm",nMn=1675877477724,oMn="QWecNcxhyvP6j6sBN11hBsfZDau1",iMn=null,rMn=null,aMn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},lMn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6},{type:"Cuboid",cx:-.11397611677121855,cy:-3.067571806666861,cz:2,lx:5.2532346498753135,ly:4.048511424070542,lz:4,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ky59NZpXJyTcUSib43iVfq",locked:!0}],sMn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.904063706626683,-45.61046168179694,13.166442421440415],panCenter:[14.528251370304552,-3.4151425205700146,0],orthographic:!1,enableRotate:!0,cameraZoom:17.147500000000004,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902246018,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:344,height:83},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},cMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},uMn=1,dMn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},fMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:3,pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",margin:0},hMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},pMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},gMn=[`Generative design of a solar farm -in an arbitrary shape with a nearby structure`],mMn={docid:eMn,time:tMn,timestamp:nMn,userid:oMn,owner:iMn,email:rMn,world:aMn,elements:lMn,view:sMn,graphState:cMn,evolutionMethod:uMn,solarPanelArrayLayoutParams:dMn,solarPanelArrayLayoutConstraints:fMn,evolutionaryAlgorithmState:hMn,economicsParams:pMn,notes:gMn},yMn="njsXMFnx8AbzYmZZZSFsP4",AMn="02/08/2023 12:40 pm",wMn=1675878006595,vMn="QWecNcxhyvP6j6sBN11hBsfZDau1",xMn=null,bMn=null,SMn={latitude:42.58194950125034,pvGridCellSize:1.5,timesPerHour:1,longitude:-71.76008801772156,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"275 Pleasant St, Lunenburg, MA 01462, USA",date:"10/15/2021, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,daysPerYear:4},TMn=[{cy:-2.2367402479910083,normal:[0,0,1],lz:.1,ly:269.55803876661787,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:2.681119516922017,cz:.05,rotation:[0,0,0],lx:132.51400330167655,selected:!1,parentId:"Ground"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4199120685653116,y:.07319581727959533},{x:-.42368525470067964,y:.35513880940011766},{x:-.31048967063963856,y:.35699369750617377},{x:-.19729408657859754,y:.4701418719755939},{x:.015092744541472141,y:.47114157893824127},{x:.19997886517450586,y:.3116212018174194},{x:.23016435425745013,y:.06306619560590632},{x:.09432965338420088,y:.061211307499850244},{x:.10187602565493695,y:.014839104848448545},{x:.19997886517450586,y:-.033387985909009224},{x:.33581356604775514,y:-.03709776212112136},{x:.38109179967217155,y:-.27637832780235416},{x:.45655552237953223,y:-.27637832780235416},{x:.45655552237953223,y:-.408075383332335},{x:.29430851855870677,y:-.40993027143839106},{x:.29430851855870677,y:-.4451731454534563},{x:-.06414416430125659,y:-.4451731454534563},{x:-.06791735043662463,y:-.4767062432564095},{x:-.32449400764165104,y:-.4767062432564095},{x:-.25280347106965834,y:-.3190407542416437},{x:-.25657665720502637,y:-.16508504143899005},{x:-.16602018995619355,y:-.16508504143899005},{x:-.1633354113602852,y:-.09559900037150687},{x:-.3029432983689025,y:-.0937441122654508},{x:-.3406751597225829,y:.01940406220396935}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"1mf9SJGR5RjzYzk7AYxvf2",lineColor:"#f44e3b",opacity:.1},{type:"Cuboid",cx:-27.296734459596976,cy:-41.20962464677464,cz:1.25,lx:5.828598670924802,ly:8.305908945480084,lz:2.5,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"55Wp5i8LU9QiCSoSTSkhSV"}],PMn={yearlyPvYieldPanelX:-1249,autoRotate:!1,mapZoom:17,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:65,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[145.94862814334945,-106.4764934595526,163.4608323959844],panCenter:[85.94985190690319,3.43019898834619,0],orthographic:!1,enableRotate:!0,cameraZoom:9.75349958231059,showInstructionPanel:!0,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showMapPanel:!1,showEvolutionPanel:!0,showEconomicsPanel:!1,evolutionPanelX:null,evolutionPanelY:null,evolutionPanelRect:{x:0,y:0,width:640,height:400}},CMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},RMn=1,HMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},MMn={minimumInterRowSpacing:6,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},IMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},zMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},DMn=[],EMn={docid:yMn,time:AMn,timestamp:wMn,userid:vMn,owner:xMn,email:bMn,world:SMn,elements:TMn,view:PMn,graphState:CMn,evolutionMethod:RMn,solarPanelArrayLayoutParams:HMn,solarPanelArrayLayoutConstraints:MMn,evolutionaryAlgorithmState:IMn,economicsParams:zMn,notes:DMn},kMn="qzzjGfFHSUFSwo9GQJs9Mb",FMn="02/04/2023 01:27 pm",LMn=1675535240483,WMn="QWecNcxhyvP6j6sBN11hBsfZDau1",NMn=null,UMn=null,BMn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},jMn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"S",showLabel:!0,labelHeight:8.5,labelSize:.8},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Wall",cx:.10882625565358328,cy:6.456179282384522,cz:2.2408122612280286,lx:15.961175461262725,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[8.089413986284946,6.456179282384521,0],rightPoint:[-7.871761474977779,6.4561792823845225,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:8.089413986284946,cy:-.15071949165393628,cz:2.2301039869226305,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[8.089413986284942,-6.757618265692395,0],rightPoint:[8.089413986284947,6.4561792823845225,0],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:-7.871761474977779,cy:-.15071949165393628,cz:2.228839888904333,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-7.871761474977778,6.4561792823845225,0],rightPoint:[-7.871761474977779,-6.757618265692395,0],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:.10882625565358417,cy:-6.757618265692395,cz:2.268765007024547,lx:15.961175461262727,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-7.871761474977779,-6.757618265692395,0],rightPoint:[8.089413986284947,-6.757618265692395,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-13.996646874999989,cy:.06415311833261989,cz:.05,lx:21.734456249999983,ly:19.033724999999986,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:10,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"L",showLabel:!0},{type:"Door",cx:0,cy:0,cz:-.15370387000018937,lx:.12530405450738497,ly:0,lz:.6925922599996213,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"tciKLNsRDLeHZNmeb31ucG"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za"}],YMn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-23.305173327292444,-30.91478882666535,7.039269079297642],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[5.635542831447647,8.464690688330043,3.125544256683276],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-2,width:200,height:87}},OMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},_Mn=1,VMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},GMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},XMn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},JMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},KMn=[`Effect of house size -房子大小的影響`],qMn={docid:kMn,time:FMn,timestamp:LMn,userid:WMn,owner:NMn,email:UMn,world:BMn,elements:jMn,view:YMn,graphState:OMn,evolutionMethod:_Mn,solarPanelArrayLayoutParams:VMn,solarPanelArrayLayoutConstraints:GMn,evolutionaryAlgorithmState:XMn,economicsParams:JMn,notes:KMn},$Mn="6D1PNtCu8dQATzUSZDdPKf",QMn="05/22/2023 10:33 am",ZMn=1684766015061,eIn="QWecNcxhyvP6j6sBN11hBsfZDau1",tIn=null,nIn=null,oIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},iIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"SE",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#009ce0",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"SW",showLabel:!0,color:"#808080"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"3wrKU52naWH6NwzeW6vGwm"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"9C29UNsLxSuEbxTnestrd8"}],rIn=28,aIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.1651364435149425,-31.942224578560552,3.8771204506826087],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.838986266637484,1.4239280652904787,3.8771204506826087],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:0,width:269,height:92}},lIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},sIn=1,cIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},uIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},dIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},fIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},hIn="Unknown",pIn=null,gIn=null,mIn=null,yIn=[`Effect of house orientation -房屋朝向的影響`],AIn={docid:$Mn,time:QMn,timestamp:ZMn,userid:eIn,owner:tIn,email:nIn,world:oIn,elements:iIn,sceneRadius:rIn,view:aIn,graphState:lIn,evolutionMethod:sIn,solarPanelArrayLayoutParams:cIn,solarPanelArrayLayoutConstraints:uIn,evolutionaryAlgorithmState:dIn,economicsParams:fIn,modelType:hIn,modelAuthor:pIn,modelLabel:gIn,modelDescription:mIn,notes:yIn},wIn="gRqNfJd8beo5ietdqmmTM2",vIn="05/22/2023 10:35 am",xIn=1684766140952,bIn="QWecNcxhyvP6j6sBN11hBsfZDau1",SIn=null,TIn=null,PIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},CIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"👎",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:3.5222057461264544,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"👍",showLabel:!0,color:"#808080"},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.125,lx:.125,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"vNVpqbsNF7tYjDx7E7kMLR"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"xpWZ6k69MtomLyhCbBynNa"}],RIn=24,HIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-18.39191326488849,-28.88082266775545,4.500680104409036],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[9.06975830834568,5.812472797471483,4.500680104409029],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-1,width:243,height:90}},MIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},IIn=1,zIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},DIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},EIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},FIn="Unknown",LIn=null,WIn=null,NIn=null,UIn=[`Effect of insulation -房屋隔熱性的影響`],BIn={docid:wIn,time:vIn,timestamp:xIn,userid:bIn,owner:SIn,email:TIn,world:PIn,elements:CIn,sceneRadius:RIn,view:HIn,graphState:MIn,evolutionMethod:IIn,solarPanelArrayLayoutParams:zIn,solarPanelArrayLayoutConstraints:DIn,evolutionaryAlgorithmState:EIn,economicsParams:kIn,modelType:FIn,modelAuthor:LIn,modelLabel:WIn,modelDescription:NIn,notes:UIn},jIn="2b6To2exbyQMzsnyC5zQ4h",YIn="05/22/2023 10:37 am",OIn=1684766230048,_In="QWecNcxhyvP6j6sBN11hBsfZDau1",VIn=null,GIn=null,XIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},JIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:6.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:6.5,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#cccccc",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fPNsZAwsuY65jcgPGD7JxY"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"pMhyfs2o4fEnaE7UjB8PVu"}],KIn=22,qIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.301199186500163,-22.5861615760567,3.4543056235043506],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[6.0653741729769015,2.261846946588245,3.4543056235043506],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-4,width:278,height:87}},$In={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},QIn=1,ZIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ezn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},tzn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},nzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ozn="Unknown",izn=null,rzn=null,azn=null,lzn=[`Effect of roof color -屋頂顔色的影響`],szn={docid:jIn,time:YIn,timestamp:OIn,userid:_In,owner:VIn,email:GIn,world:XIn,elements:JIn,sceneRadius:KIn,view:qIn,graphState:$In,evolutionMethod:QIn,solarPanelArrayLayoutParams:ZIn,solarPanelArrayLayoutConstraints:ezn,evolutionaryAlgorithmState:tzn,economicsParams:nzn,modelType:ozn,modelAuthor:izn,modelLabel:rzn,modelDescription:azn,notes:lzn},czn="gyoLQ5RfiYexA7q1ehdofm",uzn="05/22/2023 10:45 am",dzn=1684766701791,fzn="QWecNcxhyvP6j6sBN11hBsfZDau1",hzn=null,pzn=null,gzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},mzn=[{type:"Human",name:"Jacqueline",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:7,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:7,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.8,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uPY2H1vbzdvDNNQKsQzM2R"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"qj1uppbZ68e6DUdrkgfzdA"}],yzn=22,Azn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-11.365944827281202,-27.884282052116806,4.909032289220344],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[8.512452835588759,2.1768673048896354,4.909032289220344],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:284,height:88}},wzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},vzn=1,xzn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},bzn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Szn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Tzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Pzn="Unknown",Czn=null,Rzn=null,Hzn=null,Mzn=[`Effect of eaves overhang -屋簷延申長度的影響`],Izn={docid:czn,time:uzn,timestamp:dzn,userid:fzn,owner:hzn,email:pzn,world:gzn,elements:mzn,sceneRadius:yzn,view:Azn,graphState:wzn,evolutionMethod:vzn,solarPanelArrayLayoutParams:xzn,solarPanelArrayLayoutConstraints:bzn,evolutionaryAlgorithmState:Szn,economicsParams:Tzn,modelType:Pzn,modelAuthor:Czn,modelLabel:Rzn,modelDescription:Hzn,notes:Mzn},zzn="iJM88uQ7kfN8BTPGSVD3jV",Dzn="05/22/2023 10:47 am",Ezn=1684766839823,kzn="QWecNcxhyvP6j6sBN11hBsfZDau1",Fzn=null,Lzn=null,Wzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},Nzn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#009ce0",opacity:.65,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"rRMpmcwQNzvRYmkTWpEhiw"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"jyiupxyxWNzhU4yRrTPHU1"}],Uzn=24,Bzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-16.77287507225449,-24.274336266873924,5.320155603217975],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.498836843888402,4.793969537181787,2.890808814152251],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-5,y:-1,width:421,height:65}},jzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Yzn=1,Ozn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_zn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Vzn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Gzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Xzn="Unknown",Jzn=null,Kzn=null,qzn=null,$zn=["Effect of solar heat gain coefficients (SHGC) of windows"],Qzn={docid:zzn,time:Dzn,timestamp:Ezn,userid:kzn,owner:Fzn,email:Lzn,world:Wzn,elements:Nzn,sceneRadius:Uzn,view:Bzn,graphState:jzn,evolutionMethod:Yzn,solarPanelArrayLayoutParams:Ozn,solarPanelArrayLayoutConstraints:_zn,evolutionaryAlgorithmState:Vzn,economicsParams:Gzn,modelType:Xzn,modelAuthor:Jzn,modelLabel:Kzn,modelDescription:qzn,notes:$zn},Zzn="6nLDNj8vM4d4LSQKVT9SXo",eDn="05/22/2023 10:49 am",tDn=1684766960725,nDn="QWecNcxhyvP6j6sBN11hBsfZDau1",oDn=null,iDn=null,rDn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},aDn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"20℃",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#999999"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:25},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"25℃",showLabel:!0,color:"#999999"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"1TYVF9JTXJtxWba41xgetC"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"afEtgeFVMoeDZdyxJU1psm"}],lDn=24,sDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.828926822512322,-33.873528421784314,4.788669771967834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[11.438181824994281,-4.700464851624883,4.788669771967831],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:277,height:63}},cDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},uDn=1,dDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},fDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},hDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},pDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},gDn="Unknown",mDn=null,yDn=null,ADn=null,wDn=["Effect of thermostat setpoint"],vDn={docid:Zzn,time:eDn,timestamp:tDn,userid:nDn,owner:oDn,email:iDn,world:rDn,elements:aDn,sceneRadius:lDn,view:sDn,graphState:cDn,evolutionMethod:uDn,solarPanelArrayLayoutParams:dDn,solarPanelArrayLayoutConstraints:fDn,evolutionaryAlgorithmState:hDn,economicsParams:pDn,modelType:gDn,modelAuthor:mDn,modelLabel:yDn,modelDescription:ADn,notes:wDn},xDn="uQrNcHUUR7GCUfUbuFogjq",bDn="02/04/2023 01:39 pm",SDn=1675535990373,TDn="QWecNcxhyvP6j6sBN11hBsfZDau1",PDn=null,CDn=null,RDn={solarRadiationHeatmapGridCellSize:.5,date:"7/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},HDn=[{type:"Human",name:"Jamelia",cx:-4.3683434199366005,cy:-14.38651482103353,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Foundation",cx:-13.228758971915111,cy:.10702186833261693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:9,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H",uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #6",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za",uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vLVbxQBoEhW71qxT8m1C96",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"26QzSovJr2WkHKUiErU1ER",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dZ11kEn33ciPLMqva4wYhW",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oEPM7Qer3dagcgAZgTd83X",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJe6q1fYHpVb61zzuXMiiq",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"atbMWVsRWU1gP4pFd8UmqE",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4Xcrc4Qc969xumwjdaTpEv",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9r471ngxUS5HfZPQXAbspz",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nuMh9HUjsyggQDkK4K4z9r",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5TzjYq921EthYvgGjhkd95",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"i86kfMa5D3a95EHYr74Cik",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fes2JVoykppGjYbeBaK1t6",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hRvyn5tFnyKbZGmExP8ZBN",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fHUqZ9dwKm5QsdBz4rQhkH",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hVPD3ovUCMHizYi7hHMynX",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"92r9RVUcqNvqTSSqzXVWe8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"88LWhfUeptGcLDGkhffTYu",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJyncTarX8t32trtWmHYJ8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tbGfuWPSK8hFimiixh3gnq",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,thickness:.2,rValue:2.8177645969011635,roofType:"Gable",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj"],textureType:"Roof Texture Default",color:"#333333",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"6YiUmdowinEDGE2jXwEcty",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],volumetricHeatCapacity:.2,ceiling:!1},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uPf27SYtJ3oEqK8uLnnYC4",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"41qtH3jyhy6TAYrTpcQ22r",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"c15PoZLmaL9G5281NC3Bky",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"e8J6XhFvtnTfamsfk7MdQo",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1.135652,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1Z9wCTEw4evBfgBWBx239G"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["iUbSPuuaLHTe92zf2RbbzH"],rightJoints:["b2z6LAysW1ypLiK23VhMbQ"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t5aKJuTWqFhNtovV6QcVDQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6XAyQ1Y5un66zE9fws5TBK",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Fr8WLjKhMXxtEUSo3U3cz",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bFA3kdwdbv23kgNuvqrBLu",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2peuf57tgQn8h8KDddojmU",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pRLjDR4NSZstZSY2CyZhG6",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #1",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"fRfZQadrT6sohNBtnZQnjD",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t1vsyYVv6oASAroVbtBJh8"],rightJoints:["t5aKJuTWqFhNtovV6QcVDQ"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"iUbSPuuaLHTe92zf2RbbzH",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.35833333333333334,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twjCCVvcJUWUtdX8G6XaEz",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJ9ef8TPTGwzuoD998nCxH",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"75FMXmZGkavm2QX1w7Rd2n",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"digHAxUKfqtzZ8Hf1JBrDE",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pUavBYiArb55RaZvTqEZ7s",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bMNcD6i8MyPWUstcj4RLAn",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t5aKJuTWqFhNtovV6QcVDQ"],rightJoints:["t1vsyYVv6oASAroVbtBJh8"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"b2z6LAysW1ypLiK23VhMbQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7af2qg5wEnfy5x3dVwJDa9",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8pzbRVzHdUJ21tt86EiuYq",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Rqpx9csAi6gzvsKmMevD7",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sRtEGAvWiVdZjNF7cbimyK",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cYa823h2xpVhLafAMFJLLp",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eCrrhs7nC8ZLgf3kozqASz",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["b2z6LAysW1ypLiK23VhMbQ"],rightJoints:["iUbSPuuaLHTe92zf2RbbzH"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t1vsyYVv6oASAroVbtBJh8",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xoY2sZ3zu3yaqNq4svSL83",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shVdFBTLP3GUxKo2h9rQPd",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #6",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"miHyMDSBYSuj5NSFDxZf2d",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"izobe4AEhigpZU6WX5N4k5",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o5YP1zidq8SX6PcUxxaAjL",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4GhJEysBwSqkSWJpqyaJ48",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aAGJp2q5U3FuWTdYaSVjDf",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twPsG5mQU2qWwH6PZR3MFv",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1Gwnr8y8qnWjyqse356de2",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{id:"5ujWfCT94pVpZ6u8JCHaJM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.2,wallsId:["t5aKJuTWqFhNtovV6QcVDQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,volumetricHeatCapacity:.2,ceiling:!1},{type:"Foundation",cx:13.117837499999993,cy:-.021318315185384407,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:9,labelSize:.8,showLabel:!0,id:"9Lzok59gfWu44BJHP6NeDv",selected:!1,label:"B",color:"#666666"},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!0,poleHeight:10,poleRadius:.05,poleSpacing:3,cx:.017473997824250177,cy:-.1848238594563359,cz:7.203451961471109,lx:10.906,ly:4.184,lz:.046,showLabel:!1,normal:[-25496209749856465e-33,-.3787787636615868,.9254872490742375],rotation:[.38847637916043065,0,-2220446049250313e-31],color:"#fff",frameColor:"white",parentType:"Roof",parentId:"5ujWfCT94pVpZ6u8JCHaJM",foundationId:"9Lzok59gfWu44BJHP6NeDv",id:"m7muU5PcHHSqA6qooFMWMX",selected:!1}],MDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.205706148898816,-34.501280243521734,7.541149435690317],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.9613043217859705,4.9057140700953275,7.541149435690313],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:675,height:408},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:-1091,y:218,width:775,height:342},stickyNotePanelRect:{x:-3,y:-2,width:275,height:63}},IDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zDn=1,DDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},EDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},FDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},LDn=["Effect of rooftop solar panels"],WDn={docid:xDn,time:bDn,timestamp:SDn,userid:TDn,owner:PDn,email:CDn,world:RDn,elements:HDn,view:MDn,graphState:IDn,evolutionMethod:zDn,solarPanelArrayLayoutParams:DDn,solarPanelArrayLayoutConstraints:EDn,evolutionaryAlgorithmState:kDn,economicsParams:FDn,notes:LDn},NDn="4VyiQ32UEi5Uhg2actsJ7k",UDn="05/22/2023 10:52 am",BDn=1684767120478,jDn="QWecNcxhyvP6j6sBN11hBsfZDau1",YDn=null,ODn=null,_Dn={solarRadiationHeatmapGridCellSize:.5,date:"7/1/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},VDn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"Uninsulated floor",showLabel:!0,labelHeight:7,labelSize:.5,color:"#808080",rValue:1.7611028730632272},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"Insulated floor",labelHeight:7,showLabel:!0,labelSize:.5,color:"#808080",rValue:3.5222057461264544},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3uhARcmLhJJ7AF4oGmRXFJ"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"rJ589nLaG9XWmTRZhwLvTz"}],GDn=22,XDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-17.829241192466892,-21.107034059971184,4.718921354569243],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.327600264578368,2.7041849125647666,4.718921354569243],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!0,diurnalTemperaturePanelRect:{x:-1,y:1,width:517,height:333},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:10,stickyNotePanelRect:{x:-2,y:344,width:517,height:60}},JDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},KDn=1,qDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$Dn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},QDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ZDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},eEn="Unknown",tEn=null,nEn=null,oEn=null,iEn=["Effect of ground temperature and floor insulation"],rEn={docid:NDn,time:UDn,timestamp:BDn,userid:jDn,owner:YDn,email:ODn,world:_Dn,elements:VDn,sceneRadius:GDn,view:XDn,graphState:JDn,evolutionMethod:KDn,solarPanelArrayLayoutParams:qDn,solarPanelArrayLayoutConstraints:$Dn,evolutionaryAlgorithmState:QDn,economicsParams:ZDn,modelType:eEn,modelAuthor:tEn,modelLabel:nEn,modelDescription:oEn,notes:iEn},aEn="gTE5M2QuRpvxtj7gFjQvBp",lEn="05/22/2023 10:53 am",sEn=1684767216212,cEn="QWecNcxhyvP6j6sBN11hBsfZDau1",uEn=null,dEn=null,fEn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},hEn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Tree",name:"Maple",cx:11.597557786217195,cy:-9.10270743636709,cz:0,lx:11.852806241793175,lz:12.934464914753796,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"o3k54VQM47Q54nSJAwrmEn",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"p8R6iYpCmdMa5Cs4zuS1P6"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"56LE4zBekLnvJc9jFEm7Yu"}],pEn=24,gEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-25.541858353538785,-23.926978121750373,5.679305436989464],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.47063227815913,1.5150691532035274,5.679305436989461],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:203,height:64}},mEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},yEn=1,AEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},wEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},vEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},xEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},bEn="Unknown",SEn=null,TEn=null,PEn=null,CEn=["Effect of trees"],REn={docid:aEn,time:lEn,timestamp:sEn,userid:cEn,owner:uEn,email:dEn,world:fEn,elements:hEn,sceneRadius:pEn,view:gEn,graphState:mEn,evolutionMethod:yEn,solarPanelArrayLayoutParams:AEn,solarPanelArrayLayoutConstraints:wEn,evolutionaryAlgorithmState:vEn,economicsParams:xEn,modelType:bEn,modelAuthor:SEn,modelLabel:TEn,modelDescription:PEn,notes:CEn},HEn="21TNkEaRQtmkMpHquDpRhe",MEn="03/21/2023 12:30 pm",IEn=1679416202848,zEn="QWecNcxhyvP6j6sBN11hBsfZDau1",DEn=null,EEn=null,kEn={solarRadiationHeatmapGridCellSize:.25,date:"1/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},FEn=[{type:"Human",name:"Judd",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-10.117024999999996,cy:.27838070851727714,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"No Ceiling",showLabel:!0,labelHeight:6,labelSize:.5,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.068830689450057,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.029166666666666664,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"9j89u3pSufVm3Q5kpF4NcM",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",selected:!1},{type:"Human",name:"Jena",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.695,ly:.42,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",id:"34EHkp2Lb8b2vnEKfniznR",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["rHyZXvwyEPAa7dU7nYmXpR"],rightJoints:["jvSvdwWqKHJqgaZtgavr3X"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8NQNpFkXNGAXtcTwXhtHNW",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["sb7GHiMmhgNyZJdQ71BL5y"],rightJoints:["8NQNpFkXNGAXtcTwXhtHNW"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rHyZXvwyEPAa7dU7nYmXpR",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["8NQNpFkXNGAXtcTwXhtHNW"],rightJoints:["sb7GHiMmhgNyZJdQ71BL5y"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jvSvdwWqKHJqgaZtgavr3X",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["jvSvdwWqKHJqgaZtgavr3X"],rightJoints:["rHyZXvwyEPAa7dU7nYmXpR"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sb7GHiMmhgNyZJdQ71BL5y",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Window",cx:-.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q6p3CCHJFvsqrEsXwbRh1R",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"j1XnXywfGpFArNKZPbAhkm",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:4625929269271485e-33,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"6uoZg4uoFLaTiYnPcJZ3V9",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",selected:!1},{id:"gCFHHnVKnRgFUFksjrmZCm",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!0,rise:2.068830689450057,color:"#4d4d4d",rValue:1.7611028730632272,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["sb7GHiMmhgNyZJdQ71BL5y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,ceilingRValue:3.5222057461264544},{type:"Foundation",cx:10.177578528084874,cy:.23562811833261754,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:6,labelSize:.5,showLabel:!0,id:"cfvC81ormzBEgA9Ah4eP3v",selected:!1,label:"Insulated Ceiling"}],LEn=23,WEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,.08573749999997851,4287065548240426e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,.08558749333259577,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-19.73331041183491,-15.606053038152623,2.569638957524864],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.388120187568702,1.9907625161279443,1.1720990830439746],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-2,y:3,width:510,height:354},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:2,stickyNotePanelRect:{x:-4,y:2,width:397,height:65}},NEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},UEn=1,BEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},jEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},YEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},OEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},_En="Unknown",VEn=null,GEn=null,XEn=null,JEn=["Thermal envelope vs. building envelope"],KEn={docid:HEn,time:MEn,timestamp:IEn,userid:zEn,owner:DEn,email:EEn,world:kEn,elements:FEn,sceneRadius:LEn,view:WEn,graphState:NEn,evolutionMethod:UEn,solarPanelArrayLayoutParams:BEn,solarPanelArrayLayoutConstraints:jEn,evolutionaryAlgorithmState:YEn,economicsParams:OEn,modelType:_En,modelAuthor:VEn,modelLabel:GEn,modelDescription:XEn,notes:JEn},qEn=t=>{let e;switch(t){case"sun_angles":e=fnn;break;case"insolation_and_climate":e=Hnn;break;case"solar_radiation_to_box":e=_nn;break;case"sun_beam_at_center":e=aon;break;case"thermal_vs_building_envelope":e=KEn;break;case"effect_house_size":e=qMn;break;case"effect_house_orientation":e=AIn;break;case"effect_wall_roof_insulation":e=BIn;break;case"effect_roof_color":e=szn;break;case"effect_eaves_overhang_length":e=Izn;break;case"effect_window_shgc":e=Qzn;break;case"effect_thermostat_setpoint":e=vDn;break;case"effect_solar_panels":e=WDn;break;case"effect_ground_temperature":e=rEn;break;case"effect_trees":e=REn;break;case"office_building_01":e=hyn;break;case"hotel_01":e=Myn;break;case"spanish_style_hotel":e=$yn;break;case"apartment_building_01":e=w2n;break;case"white_house":e=Mmn;break;case"bilim_mersin_turkiye":e=$mn;break;case"south_burlington_high_school":e=L2n;break;case"mescalero_apache_school":e=Z2n;break;case"heatmap_01":e=c5n;break;case"vegetative_buffer_01":e=C6n;break;case"solar_canopy_form_factors":e=own;break;case"solar_canopy_over_bleachers":e=vwn;break;case"solar_bus_stop":e=Ywn;break;case"solar_facade_tesla":e=_7n;break;case"solar_canopy_over_garage":e=R7n;break;case"bipv_01":e=r7n;break;case"floatovoltaics":e=l8n;break;case"agriculture_solar_wind_colocation":e=k8n;break;case"effect_tilt_angle_solar_panel":e=O6n;break;case"effect_azimuth_solar_panel":e=aAn;break;case"effect_azimuth_parabolic_trough":e=SAn;break;case"effect_latus_rectum_parabolic_trough":e=UAn;break;case"parabolic_dish_focus_sunlight":e=Vvn;break;case"effect_orientation_solar_panel":e=n4n;break;case"solar_panel_types":e=bon;break;case"vertical_bifacial_solar_panels":e=Xon;break;case"compare_monofacial_bifacial_solar_panels":e=Ain;break;case"why_solar_array":e=A4n;break;case"solar_panel_array_auto_layout":e=B4n;break;case"inter_row_spacing":e=$8n;break;case"rooftop_solar_panels":e=Fin;break;case"solar_panels_over_canal":e=Ran;break;case"solar_noise_barrier":e=uan;break;case"rainbow_swash_solar_farm":e=Qin;break;case"mickey_mouse_solar_farm":e=grn;break;case"solar_farm_hsat_array":e=zrn;break;case"solar_farm_aadat_array":e=Xrn;break;case"solar_trackers":e=_an;break;case"nevada_solar_one_parabolic_troughs":e=Mvn;break;case"tooele_parabolic_dish_array":e=lxn;break;case"ps10_solar_power_tower":e=hvn;break;case"linear_fresnel_reflectors":e=Txn;break;case"linear_fresnel_reflectors_two_absorbers":e=jxn;break;case"effect_absorber_pipe_height":e=ibn;break;case"effect_azimuth_fresnel_reflector":e=xbn;break;case"cosine_efficiency_heliostats":e=Obn;break;case"shadowing_blocking_heliostats":e=dSn;break;case"effect_solar_power_tower_height":e=ESn;break;case"solar_power_tower":e=qSn;break;case"solar_updraft_tower":e=LPn;break;case"solar_updraft_tower_city":e=GPn;break;case"effect_blade_number":e=wCn;break;case"effect_pitch_angle":e=GCn;break;case"bird_safe_blade_design":e=wRn;break;case"offshore_wind_farm":e=GRn;break;case"cape_cod_with_shed_dormer":e=Dln;break;case"mansard_roof_with_dormers":e=esn;break;case"t_shaped_house":e=bsn;break;case"all_roof_types":e=lln;break;case"a_frame_house":e=Chn;break;case"half_timbered_house":e=Jhn;break;case"dutch_gable_roof":e=ihn;break;case"combination_roof_vs_bonnet_roof":e=gpn;break;case"butterfly_roof_house":e=Wpn;break;case"gable_roof_vs_hip_roof":e=i1n;break;case"gable_and_valley_roof":e=P1n;break;case"clerestory_roof":e=G1n;break;case"monitor_roof":e=pgn;break;case"colonial_vs_saltbox":e=Fgn;break;case"gambrel_roof_vs_mansard_roof":e=nmn;break;case"colonial_house":e=sfn;break;case"dutch_colonial_house":e=Efn;break;case"cape_cod_with_garage":e=_sn;break;case"greenhouse":e=z5n;break;case"solarium":e=bun;break;case"pavilion":e=i9n;break;case"octagonal_pagoda":e=x9n;break;case"ocean_front":e=N9n;break;case"mosque_01":e=Uun;break;case"church_01":e=ndn;break;case"cathedral_01":e=wdn;break;case"cathedral_02":e=jdn;break;case"adobe_taos_house":e=lcn;break;case"egyptian_pyramids":e=t3n;break;case"mayan_pyramid":e=T3n;break;case"si_o_se_pol":e=j3n;break;case"stacked_cuboids":e=c6n;break;case"barn_house":e=D0n;break;case"ranch_house":e=kcn;break;case"bonnet_house":e=r0n;break;case"modern_house_01":e=eun;break;case"solar_radiation_predicted_vs_measured":e=fTn;break;case"bestest_case_600":e=MTn;break;case"bestest_case_610":e=GTn;break;case"bestest_case_620":e=cPn;break;case"bestest_case_630":e=CPn;break;case"tucson_sundt_station":e=nHn;break;case"ai_tilt_angle_one_row":e=wHn;break;case"ai_tilt_angles_multiple_rows":e=LHn;break;case"ai_solar_farm_design":e=ZHn;break;case"ai_solar_farm_design_block":e=mMn;break;case"ai_fitchburg_solar_farm":e=EMn;break}return e},OH=()=>{const t=M(dn),e=M(Mje),n=M(Ije),o=M(hp),i=Kt(),r=xe.isMac(),a=()=>{if(n&&n.length>0){const l=e();if(l.length>0){const s={name:"Paste to Point",timestamp:Date.now(),pastedElements:l.map(c=>({...c})),undo:()=>{for(const c of s.pastedElements)o(c.id,!1)},redo:()=>{t(c=>{c.elements.push(...s.pastedElements),c.selectedElement=s.pastedElements[0],c.updateElementOnRoofFlag=!0})}};M.getState().addUndoable(s)}}};return h.jsxs(tn,{onClick:a,children:[j.t("word.Paste",i),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",r?"⌘":"Ctrl","+V)"]})]})},Sf=()=>{const t=M(dn),e=M(Hje),n=M(ha),o=Kt(),i=xe.isMac(),r=()=>{const a=M.getState().selectedElement;a&&(e(a.id),n&&t(l=>{l.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:a.id,elementType:a.type}}))};return h.jsxs(tn,{onClick:r,children:[j.t("word.Copy",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",i?"⌘":"Ctrl","+C)"]})]})},Tf=()=>{const t=M(dn),e=M(hp),n=xe.isMac(),o=Kt(),i=()=>{const r=M.getState().selectedElement;if(!(!r||r.type===z.Roof))if(r.locked)hn(j.t("message.ThisElementIsLocked",o));else{const a=e(r.id,!0);if(a.length===0)return;if(xe.isElementTriggerAutoDeletion(a[0]))Ln.getState().setListenToAutoDeletionByCut(!0),ht.getState().setPrimitiveStore("selectedElementId",r.id);else{const l={name:"Cut",timestamp:Date.now(),deletedElements:a,selectedElementId:r.id,undo:()=>{const s=l.deletedElements;if(s.length===0)return;const c=s.find(u=>u.id===l.selectedElementId);c&&t(u=>{for(const d of s)u.elements.push(d);if(c.type===z.Wall){const d=c;let f=null,p=null;if(d.leftJoints.length>0&&(f=d.leftJoints[0]),d.rightJoints.length>0&&(p=d.rightJoints[0]),f||p)for(const g of u.elements)g.id===f&&g.type===z.Wall&&(g.rightJoints[0]=d.id),g.id===p&&g.type===z.Wall&&(g.leftJoints[0]=d.id)}})},redo:()=>{l.deletedElements&&l.deletedElements.length>0&&e(l.deletedElements[0].id,!0)}};M.getState().addUndoable(l)}}};return h.jsxs(tn,{onClick:i,children:[j.t("word.Cut",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",n?"⌘":"Ctrl","+X)"]})]})},Id=({selectedElement:t})=>{const e=Kt(),n=M(pwt),o=M(En),i=a=>{t&&n(t.id,a)},r=a=>{const l=a.target.checked,s={name:"Lock",timestamp:Date.now(),checked:l,selectedElementId:t==null?void 0:t.id,selectedElementType:t==null?void 0:t.type,undo:()=>{i(!s.checked)},redo:()=>{i(s.checked)}};o(s),i(l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.locked,onChange:r,children:j.t("word.Lock",e)})})},tn=({stayAfterClick:t,noPadding:e,fontWeight:n,textSelectable:o=!0,update:i,onClick:r,children:a})=>{const l=s=>{r&&r(s),t&&s.stopPropagation(),i&&ht.getState().updateContextMenu()};return h.jsx("span",{onClick:l,style:{userSelect:o?"auto":"none",display:"inline-block",fontWeight:n,width:"100%",paddingLeft:e?"0px":"24px"},children:a})},ro=({Dialog:t,noPadding:e,children:n})=>{const[o,i]=m.useState(!1),r=()=>{M.getState().setApplyCount(0),i(!0)};return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:r,children:n}),o&&h.jsx(t,{setDialogVisible:i})]})},A$e=({groupableElement:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id&&hd(r)){r.enableGroupMaster=!r.enableGroupMaster;break}i.groupActionUpdateFlag=!i.groupActionUpdateFlag})},o=i=>{const r={name:"Group Master",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.enableGroupMaster,onChange:o,children:j.t("foundationMenu.GroupMaster",e)})})},$G=({element:t,inside:e,children:n})=>{const o=M.getState().updateInsideLightsByParentId,i=()=>{const r=new Map;for(const l of M.getState().elements)l.parentId===t.id&&l.type===z.Light&&r.set(l.id,l.inside);o(t.id,e);const a={name:e?`Set All Lights on ${t.type} Inside`:`Set All Lights on ${t.type} Outside`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[l,s]of a.oldValues.entries())M.getState().updateInsideLightById(l,s)},redo:()=>{o(t.id,e)}};M.getState().addUndoable(a)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:i,children:n})},Rye=({solarCollector:t})=>{const e=M.getState().updateSolarCollectorDrawSunBeamById,n=Kt(),o=i=>{const r={name:"Show Sun Beam",timestamp:Date.now(),checked:!t.drawSunBeam,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{e(t.id,!r.checked)},redo:()=>{e(t.id,r.checked)}};M.getState().addUndoable(r),e(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.drawSunBeam,onChange:i=>o(i.target.checked),children:j.t("solarCollectorMenu.DrawSunBeam",n)})})},c7=({checked:t,onClick:e,children:n})=>h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onClick:e,children:n})}),bC=({min:t,max:e,value:n,onChange:o,children:i})=>h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[i,h.jsx(Mu,{min:t,max:e,tooltip:{open:!1},defaultValue:n,onChange:o})]}),nh=({children:t})=>h.jsx("span",{style:{paddingLeft:"2px",fontSize:9},children:t}),a2=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsx(tn,{noPadding:!0,stayAfterClick:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:o,onChange:e,children:n})})},Ere=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:n}),h.jsx(wc,{checked:o,onChange:e})]})},w$e="/aladdin/assets/map_residential_building-BlM-FtN4.png",v$e="/aladdin/assets/map_commercial_building-DgYY52Jp.png",x$e="/aladdin/assets/map_school_building-B4f7IMQ-.png",b$e="/aladdin/assets/map_tourist_attraction-qR1MEaG5.png",S$e="/aladdin/assets/map_solar_panel-DyfTsHia.png",T$e="/aladdin/assets/map_parabolic_dish-C1NBHVgm.png",P$e="/aladdin/assets/map_parabolic_trough-CCcc-zs6.png",C$e="/aladdin/assets/map_fresnel_reflector-Bzw0EMA6.png",R$e="/aladdin/assets/map_heliostat-BXje3i1H.png",H$e="/aladdin/assets/map_under_construction-fpLVLcIy.png",M$e="/aladdin/assets/map_marker-C9GhGDY6.png",I$e="/aladdin/assets/map_wind_turbine-Bw5iob8S.png",z$e="/aladdin/assets/map_colocation_projects-PrxUC05F.png";var hQ={exports:{}},D$e={};function E$e(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const n=(t=window.document)===null||t===void 0||(t=t.documentElement)===null||t===void 0?void 0:t.style;if(!n||e in n)return"";for(let o=0;oe===n.identifier)||t.changedTouches&&(0,xg.findInArray)(t.changedTouches,n=>e===n.identifier)}function Akn(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function wkn(t){if(!t)return;let e=t.getElementById("react-draggable-style-el");e||(e=t.createElement("style"),e.type="text/css",e.id="react-draggable-style-el",e.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;} +automatically layout the array.`],N4n={docid:y4n,time:A4n,timestamp:w4n,userid:v4n,owner:x4n,email:b4n,world:S4n,elements:T4n,sceneRadius:P4n,view:C4n,graphState:R4n,evolutionMethod:H4n,solarPanelArrayLayoutParams:M4n,solarPanelArrayLayoutConstraints:I4n,evolutionaryAlgorithmState:z4n,economicsParams:D4n,modelType:E4n,modelAuthor:k4n,modelLabel:F4n,modelDescription:L4n,notes:W4n},U4n="6VEXdSdGFhXnQZHfdXvgS7",B4n="02/02/2023 05:25 pm",j4n=1675376741403,Y4n="QWecNcxhyvP6j6sBN11hBsfZDau1",O4n=null,_4n=null,V4n={timesPerHour:20,address:"Natick, MA",name:"default",longitude:-71.3488548,latitude:42.2844063,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},date:"9/22/2022 12:00:00 PM",orthographic:!1,cameraZoom:43.16939043526371,solarRadiationHeatmapGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},G4n=[{lz:.1,rotation:[0,0,0],normal:[0,0,1],cy:.01492842170085762,id:"iGgGyZAWhJDDrqTBSuKY6v",ly:8.502064537189229,type:"Foundation",cx:-18.41116088158014,selected:!1,cz:.05,lx:17.842360789303687,parentId:"Ground"},{tiltAngle:.17453292519943295,normal:[0,0,1],rotation:[0,0,0],lz:.046,poleSpacing:3,selected:!1,cy:-.18343704156525936,drawSunBeam:!1,poleHeight:3,lx:15.58,relativeAzimuth:0,trackerType:"None",cx:.0181751573598281,showLabel:!0,id:"u4LjNU3fd3PVZ6QAX6aug1",ly:3.138,poleRadius:.05,label:"A1",orientation:"Landscape",cz:.5000000074506161,type:"Solar Panel",parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",pvModelName:"SPR-X21-335-BLK",dailyYield:35.54542639501863,labelSize:1,labelHeight:1},{type:"Human",name:"Jack",cx:5.0617851423711855,cy:-3.5130800185994246,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",id:"vDEckHeU6T8epe3YRNBYqh",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.018913624924680107,cy:.17920253753513882,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"iGgGyZAWhJDDrqTBSuKY6v",foundationId:"iGgGyZAWhJDDrqTBSuKY6v",id:"bqrD5jMPaBdy2VU82Pf8jX",selected:!1,dailyYield:27.191418577368122,drawSunBeam:!0,label:"A2",labelHeight:1,labelSize:1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017803254641984647,cy:-.17133196101794607,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"jY1SyCfNFUJ6aZrVBG9yei",selected:!1,dailyYield:31.69613876356361,label:"B1",labelHeight:1,labelSize:1},{type:"Human",name:"Jade",cx:-2.04763165702893,cy:.5372372205223073,cz:.05000000074505717,lx:.6,ly:.6,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",id:"bh4ogCSa9KLpabxMXJSMdr",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.19617148450633917,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"sp1YZua8fLpGUcQPoeBUrY",foundationId:"sp1YZua8fLpGUcQPoeBUrY",id:"aB8nn17qEG1UkLCBmN3EDg",selected:!1,dailyYield:31.695989795928103,label:"B2",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.02993684696192045,cy:-.07488211918489984,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"sp1YZua8fLpGUcQPoeBUrY",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.017795422816082346,cy:-.17724133449748175,cz:.5000000074506161,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:-.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"w9uCiRPECzBHx6GziL9u7M",selected:!1,dailyYield:27.191412082396756,label:"C1",labelHeight:1,labelSize:1},{type:"Human",name:"Jett",cx:1.2692636297118085,cy:.227513847491835,cz:.05000000074505717,lx:.6,ly:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",id:"icbuTBYKh2PiqbDEDzA6iB",selected:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",cx:.0178798068026682,cy:.18617148450633916,cz:.5000000074505806,lx:15.58,ly:3.138,lz:.046,trackerType:"None",tiltAngle:.17453292519943295,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:3,poleSpacing:3,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"t8NKy5QyCsnVgJWSgzdVtp",foundationId:"t8NKy5QyCsnVgJWSgzdVtp",id:"dFE6Wu3wf499uPuTFXoFR4",selected:!1,dailyYield:35.54528007836568,label:"C2",labelHeight:1,labelSize:1},{type:"Foundation",cx:18.291413493732467,cy:-.04494527222298039,cz:.05,lx:17.842360789303687,ly:8.502064537189229,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"t8NKy5QyCsnVgJWSgzdVtp",selected:!1}],X4n={weatherPanelX:0,heliodonPanelY:453,showStickyNotePanel:!0,dailyPvYieldPanelX:4,weatherPanelY:0,dailyLightSensorPanelY:525,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:-1244,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!0,mapWeatherStations:!1,dailyPvYieldPanelY:1,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:-1277,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[21.984836349008607,-27.120112904171,15.351212623628198],panCenter:[9.268096375789943,3.7277158588340003,2.046834497769918],orthographic:!1,enableRotate:!0,cameraZoom:84.09478170866971,stickyNotePanelX:5,stickyNotePanelY:2,cameraPosition2D:[15.041522569185233,.23774787312868362,40.00000029048154],panCenter2D:[15.041522569185233,.23778787490665898,2905048059856975e-22],showSolarRadiationHeatmap:!1,showDesignInfoPanel:!0,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:1,y:3,width:229,height:64}},J4n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},K4n=1,q4n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},$4n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},Q4n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Z4n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ewn=["Solar canopy design"],twn={docid:U4n,time:B4n,timestamp:j4n,userid:Y4n,owner:O4n,email:_4n,world:V4n,elements:G4n,view:X4n,graphState:J4n,evolutionMethod:K4n,solarPanelArrayLayoutParams:q4n,solarPanelArrayLayoutConstraints:$4n,evolutionaryAlgorithmState:Q4n,economicsParams:Z4n,notes:ewn},nwn="cpQtXDN91AWfQ7C3APvJh3",own="02/03/2023 10:25 am",iwn=1675437921671,rwn="QWecNcxhyvP6j6sBN11hBsfZDau1",awn=null,lwn=null,swn={airAttenuationCoefficient:.01,cspTimesPerHour:4,timesPerHour:2,solarPanelVisibilityGridCellSize:.2,latitude:44.454924,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,discretization:"Approximate",date:"6/22/2022 3:30:00 PM",highestTemperatureTimeInMinutes:900,cspDaysPerYear:4,address:"550 Dorset St, South Burlington, VT 05403, USA",diurnalTemperatureModel:1,airConvectiveCoefficient:5,cspGridCellSize:.5,noAnimationForSolarPanelSimulation:!0,sutGridCellSize:1,name:"default",dustLoss:.05,sutDaysPerYear:4,pvGridCellSize:.5,noAnimationForHeatmapSimulation:!0,sutTimesPerHour:4,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},daysPerYear:4,solarRadiationHeatmapGridCellSize:5,longitude:-73.177891},cwn=[{type:"Foundation",cx:179.45847099490584,cy:145.85951451290708,cz:.1,lx:46.64912192730487,ly:16.598079304638254,lz:.2,normal:[0,0,1],rotation:[0,0,.1434660645139339],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"73zFNy4Kytq2jGeHP8hybB",locked:!0,enableGroupMaster:!0},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!0,poleHeight:4.8,poleRadius:.05,poleSpacing:5,cx:.013487121407959702,cy:-.12279534594195182,cz:.5000000074505806,lx:43.624,ly:11.506,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,.1434660645139339],color:"#fff",parentId:"73zFNy4Kytq2jGeHP8hybB",foundationId:"73zFNy4Kytq2jGeHP8hybB",id:"5B4Rr9X9rqJjgERVH84xem",selected:!1,locked:!1},{type:"Human",name:"Jack",cx:8.339907658116347,cy:-.6016935110092154,cz:.619724807975928,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"dUwnUoWvbFx2hdh7SmwvjQ",id:"e5UykxeUAcAAsmgFcznP9J",selected:!1,locked:!1,ly:.42},{type:"Human",name:"Jacqueline",cx:20.54897495598685,cy:-8.016956409003306,cz:.10000000149011612,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"73zFNy4Kytq2jGeHP8hybB",id:"9v3zq1A3MmHnKeqiCTkYcc",selected:!1,locked:!1,ly:.6},{type:"Cuboid",cx:178.74973834889272,cy:151.23959562318993,cz:3,lx:12.107420150412665,ly:3.6361191766113197,lz:6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",selected:!1,id:"stfeWojM9fq1rRFvV8kFrw",locked:!0},{type:"Cuboid",cx:179.70526882974113,cy:148.87674866966486,cz:1.8,lx:42.703465320212665,ly:1.2033870245364555,lz:3.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"mvQonCDuxqjgZkeWBbRQ73",selected:!1,locked:!0},{type:"Cuboid",cx:179.86870093281857,cy:147.67018638185647,cz:1.5,lx:42.703465320212665,ly:1.2033870245364555,lz:3,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"nAoWaWCXnJrVeXtGcCdhsQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.03030758101804,cy:146.47434150650943,cz:1.3,lx:42.703465320212665,ly:1.2033870245364555,lz:2.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"hEEbCeJXouC5MRLwbMLUXU",selected:!1,locked:!0},{type:"Cuboid",cx:180.18731589126733,cy:145.26767530633435,cz:1.1,lx:42.703465320212665,ly:1.2033870245364555,lz:2.2,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"ewYiSC3NgUrSGS9bNScvyi",selected:!1,locked:!0},{type:"Cuboid",cx:180.34892253946674,cy:144.0718304309881,cz:.9,lx:42.703465320212665,ly:1.2033870245364555,lz:1.8,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"dUwnUoWvbFx2hdh7SmwvjQ",selected:!1,locked:!0},{type:"Cuboid",cx:180.505930849716,cy:142.93138721769165,cz:.7,lx:42.703465320212665,ly:1.2033870245364555,lz:1.4,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2wek6yYK17CpmBuG1P6f8D",selected:!1,locked:!0},{type:"Cuboid",cx:180.6629391599653,cy:141.79094400439524,cz:.5,lx:42.703465320212665,ly:1.2033870245364555,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"cyVdcaHRiaSZbNdcjQVuiw",selected:!1,locked:!1},{type:"Cuboid",cx:180.8270823782518,cy:140.57464564227953,cz:.3,lx:42.703465320212665,ly:1.2033870245364555,lz:.6,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.1434557633128617],parentId:"Ground",id:"2io4wkR5VXLTD2R8fop411",selected:!1,locked:!1}],uwn={showYearlyFresnelReflectorYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showZenithAngle:!0,yearlyPvYieldPanelRect:{x:0,height:400,y:0,width:600},showAzimuthAngle:!0,dailyPvYieldPanelRect:{height:400,y:0,x:0,width:600},dailyUpdraftTowerYieldPanelRect:{width:640,x:0,y:0,height:550},diurnalTemperaturePanelRect:{width:600,height:400,y:0,x:0},showHeliodonPanel:!1,weatherPanelX:0,theme:"Default",enableRotate:!0,dailyFresnelReflectorYieldPanelRect:{y:0,width:600,height:400,x:0},dailyHeliostatYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,dailyHeliostatYieldPanelY:0,yearlyHeliostatYieldPanelRect:{y:0,width:600,height:400,x:0},yearlyLightSensorPanelRect:{x:0,width:600,y:0,height:500},yearlyParabolicTroughYieldPanelRect:{height:400,y:0,width:600,x:0},dailyParabolicDishYieldPanelX:0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelRect:{width:600,y:0,x:0,height:400},yearlyLightSensorPanelShowClearness:!1,mapPanelX:0,yearlyLightSensorPanelShowDaylight:!1,showDiurnalTemperaturePanel:!1,mapZoom:17,yearlyPvYieldPanelX:0,showElevationAngle:!0,showYearlyParabolicDishYieldPanel:!1,dailyLightSensorPanelRect:{y:0,height:360,x:0,width:600},evolutionPanelRect:{y:0,height:400,x:0,width:640},mapWeatherStations:!1,showDesignInfoPanel:!0,mapPanelY:0,showDailyParabolicTroughYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,weatherPanelY:0,showSiteInfoPanel:!0,showYearlyParabolicTroughYieldPanel:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelRect:{width:600,x:0,height:400,y:0},showMapPanel:!1,dailyParabolicTroughYieldPanelY:0,cameraPosition:[206.67769816695932,120.15082999798835,5.121281605668084],showYearlyLightSensorPanel:!1,cameraZoom:23.327015599941678,heliodonPanelY:0,autoRotate:!1,shadowEnabled:!0,showWeatherPanel:!1,yearlyFresnelReflectorYieldPanelX:0,yearlyParabolicDishYieldPanelRect:{x:0,y:0,height:400,width:600},dailyFresnelReflectorYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyHeliostatYieldPanelY:0,mapTilt:0,visibilityResultsPanelRect:{height:470,y:0,width:600,x:0},stickyNotePanelRect:{y:0,x:0,height:61,width:267},visibilityResultsPanelX:0,showYearlyUpdraftTowerYieldPanel:!1,showDailyLightSensorPanel:!1,yearlyPvYieldPanelY:0,dailyLightSensorPanelX:0,yearlyParabolicTroughYieldPanelX:0,weatherPanelRect:{y:0,height:500,width:500,x:0},panCenter2D:[183.8188163621815,139.3629304846877,-8002863814434504e-20],dailyParabolicTroughYieldPanelX:0,showDailyUpdraftTowerYieldPanel:!1,cameraPosition2D:[183.8188163621815,139.36291048379871,19.999919971295522],showYearlyHeliostatYieldPanel:!1,showEconomicsPanel:!1,heliodonPanelX:0,yearlyParabolicDishYieldPanelY:0,showDailyParabolicDishYieldPanel:!1,dailyPvYieldPanelX:0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelRect:{x:0,width:600,y:0,height:400},orthographic:!1,panCenter:[175.21189117230256,159.9366389436321,1.5458921274125108],dailyPvYieldPanelY:0,showDailyFresnelReflectorYieldPanel:!1,mapType:"hybrid",groundImage:!1,groundColor:"#16a5a5",showDailyHeliostatYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyFresnelReflectorYieldPanelRect:{x:0,width:600,height:400,y:0},showStickyNotePanel:!0,heliodon:!1,dailyLightSensorPanelY:0,solarRadiationHeatMapReflectionOnly:!1,showEvolutionPanel:!1,showInstructionPanel:!1,showSunAngles:!1,showYearlyPvYieldPanel:!1,dailyHeliostatYieldPanelRect:{height:400,x:0,y:0,width:600},yearlyLightSensorPanelX:0,yearlyFresnelReflectorYieldPanelY:0,yearlyHeliostatYieldPanelX:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyFresnelReflectorYieldPanelX:0,axes:!1,visibilityResultsPanelY:0},dwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},fwn=1,hwn={orientation:"Landscape",interRowSpacing:2,pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",poleSpacing:3,rowsPerRack:1,tiltAngle:0,poleHeight:1},pwn={maximumTiltAngle:1.5707963267948966,rowAxis:"Zonal",maximumInterRowSpacing:10,maximumRowsPerRack:6,minimumInterRowSpacing:2,pvModelName:"CS6X-355P-FG",minimumTiltAngle:-1.5707963267948966,orientation:"Landscape",minimumRowsPerRack:1,poleSpacing:5,poleHeight:1},gwn={particleSwarmOptimizationParams:{objectiveFunctionType:1,socialCoefficient:.1,localSearchRadius:.1,vmax:.01,swarmSize:20,problem:"Solar Panel Tilt Angle",maximumSteps:5,inertia:.8,cognitiveCoefficient:.1,searchMethod:1,convergenceThreshold:.01},geneticAlgorithmParams:{maximumGenerations:5,mutationRate:.1,objectiveFunctionType:1,selectionRate:.5,crossoverRate:.5,localSearchRadius:.1,searchMethod:1,problem:"Solar Panel Tilt Angle",selectionMethod:1,populationSize:20,convergenceThreshold:.01}},mwn={electricitySellingPrice:.25,operationalCostPerUnit:.15,projectLifeSpan:25},ywn=["Solar canopy over bleachers"],Awn={docid:nwn,time:own,timestamp:iwn,userid:rwn,owner:awn,email:lwn,world:swn,elements:cwn,view:uwn,graphState:dwn,evolutionMethod:fwn,solarPanelArrayLayoutParams:hwn,solarPanelArrayLayoutConstraints:pwn,evolutionaryAlgorithmState:gwn,economicsParams:mwn,notes:ywn},wwn="smhvUEBkVkGKNFKH9wXerr",vwn="03/19/2023 01:40 pm",xwn=1679247607363,bwn="QWecNcxhyvP6j6sBN11hBsfZDau1",Swn=null,Twn=null,Pwn={solarRadiationHeatmapGridCellSize:.5,date:"4/22/2022 2:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:4,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548},Cwn=[{ly:3.258836461194841,solarUpdraftTower:{},parentId:"Ground",cx:-.0628073590395834,id:"m7AH7DcnoGzAq9kryBy4RS",cy:1.7678944590969095,type:"Foundation",solarPowerTower:{},lx:10.54713578879197,lz:.05733001510678199,solarAbsorberPipe:{},normal:[0,0,1],selected:!1,rotation:[0,0,0],cz:.05,textureType:"Foundation Texture #2"},{id:"2u4Fe7xnA6kkXXVGrQ4eyJ",selected:!1,cz:2.2408122612280286,lx:6.322909236616773,relativeAngle:3.141592653589793,lz:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",ly:.1,rightPoint:[-3.281902734041268,1.0926779224456118,0],leftJoints:["8XDG3EHsQoX26MhuzwMYUM"],rotation:[0,0,0],textureType:"Wall Texture Default",leftPoint:[3.041006502575506,1.0926779224456111,0],type:"Wall",rightRoofHeight:2.707750558185909,normal:[0,0,1],parentId:"m7AH7DcnoGzAq9kryBy4RS",leftRoofHeight:2.707750558185909,showLabel:!1,foundationId:"m7AH7DcnoGzAq9kryBy4RS",cx:-.12044811573288094,windows:[],rightJoints:["skm8dNPSkFaVkoUwiPNfq1"],cy:1.0926779224456116,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:20,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.707750558185909,rightTopPartialHeight:2.707750558185909},{type:"Wall",windows:[],parentId:"m7AH7DcnoGzAq9kryBy4RS",cx:3.041006502575505,leftPoint:[3.041006502575504,-.9667719612095651,0],cy:.06295298061802335,leftRoofHeight:2.2932006042712794,foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,rightPoint:[3.041006502575506,1.0926779224456118,0],ly:.1,id:"8XDG3EHsQoX26MhuzwMYUM",showLabel:!1,lx:2.059449883655177,normal:[0,0,1],lz:2.2932006042712794,leftJoints:["cV8MyCuhWAsvEyyFuVqVqg"],cz:2.2301039869226305,rotation:[0,0,0],rightJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],relativeAngle:1.5707963267948957,textureType:"Wall Texture Default",rightRoofHeight:2.707750558185909,roofId:"o9MiaiNtVRQTUvRdiEBPKe",color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{lx:2.059449883655177,windows:[],lz:2.2932006042712794,id:"skm8dNPSkFaVkoUwiPNfq1",roofId:"o9MiaiNtVRQTUvRdiEBPKe",selected:!1,cy:.06295298061802335,cz:2.228839888904333,showLabel:!1,leftJoints:["2u4Fe7xnA6kkXXVGrQ4eyJ"],rightPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],rotation:[0,0,0],textureType:"Wall Texture Default",rightRoofHeight:2.2932006042712794,parentId:"m7AH7DcnoGzAq9kryBy4RS",relativeAngle:-1.5707963267948966,foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftPoint:[-3.281902734041268,1.0926779224456118,0],rightJoints:["cV8MyCuhWAsvEyyFuVqVqg"],type:"Wall",leftRoofHeight:2.707750558185909,ly:.1,cx:-3.281902734041268,color:"#ffffff",opacity:.25,wallStructure:"Stud",studSpacing:100,studColor:"#ffffff",centerRoofHeight:[-.5,2.707750558185909],studWidth:.2,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{showLabel:!1,cx:-.12044811573288094,parentId:"m7AH7DcnoGzAq9kryBy4RS",rightPoint:[3.041006502575506,-.9667719612095651,0],cz:2.268765007024547,textureType:"Wall Texture Default",cy:-.9667719612095651,id:"cV8MyCuhWAsvEyyFuVqVqg",windows:[],foundationId:"m7AH7DcnoGzAq9kryBy4RS",leftJoints:["skm8dNPSkFaVkoUwiPNfq1"],rightJoints:["8XDG3EHsQoX26MhuzwMYUM"],selected:!1,type:"Wall",roofId:"o9MiaiNtVRQTUvRdiEBPKe",leftPoint:[-3.281902734041268,-.9667719612095651,0],normal:[0,0,1],ly:.1,lz:2.2932006042712794,leftRoofHeight:2.2932006042712794,relativeAngle:0,rotation:[0,0,0],rightRoofHeight:2.2932006042712794,lx:6.322909236616773,color:"#ffffff",wallStructure:"Stud",opacity:0,studSpacing:100,studColor:"#ffffff",studWidth:.2,structureSpacing:2.1,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.2932006042712794,rightTopPartialHeight:2.2932006042712794},{type:"Human",name:"Judd",cx:1.633148784510131,cy:-.48619735894130045,cz:.02866500802338123,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.544},{type:"Human",name:"Jade",cx:-2.4056687191409836,cy:-.7214806671440712,cz:.02866500802338123,lx:.48,ly:.48,lz:1.6,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"rzeLyCpDSHwygv1oZdbv2w",selected:!1,flip:!0},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.05,roofType:"Gable",roofStructure:"Rafter",wallsId:["cV8MyCuhWAsvEyyFuVqVqg"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"o9MiaiNtVRQTUvRdiEBPKe",ridgeLeftPoint:[-.5,1],ridgeRightPoint:[.5,1],rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!0,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.013581557939684385,cy:.026013281736561093,cz:2.5548677739939563,lx:6.232,ly:2.092,lz:.046,showLabel:!1,normal:[0,-.19733348260296196,.9803364201353465],rotation:[.1986371700239986,0,0],color:"#fff",parentType:"Roof",parentId:"o9MiaiNtVRQTUvRdiEBPKe",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"gcgsZpEBMDbC2MoxXfdQ5z",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.069538614907841,cy:1.7342109688811949,cz:0,lx:2.576376919790349,lz:3.4569079447673756,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"9vtidDnwwZ7MMSCF9kkf1v",selected:!1},{type:"Tree",name:"Magnolia",cx:6.029325159381688,cy:1.1288413497919034,cz:0,lx:5.866636356742361,lz:7.0242541599963335,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"7y5foXVbpe2pYJ2ZMcNgG1",selected:!1},{type:"Polygon",cx:-.054330031344316826,cy:-.27967892470948996,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.29711331243712213,y:-.37645814056822685},{x:-.25433003134431686,y:-.17645814056822684},{x:.14566996865568319,y:-.17645814056822684},{x:.18845324974848848,y:-.37645814056822685}],parentId:"skm8dNPSkFaVkoUwiPNfq1",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",selected:!1,filled:!0,selectedIndex:3,id:"jFtAKqea5hrJYqvHqsXVig",fontColor:"white",text:"ELM STREET",fontSize:.2,noOutline:!0,opacity:0},{type:"Polygon",cx:-.03159943058059205,cy:-5551115123125783e-31,cz:.3151039010139313,lx:.4,ly:.4,lz:.4,filled:!0,noOutline:!0,color:"#ffffff",opacity:0,text:"ELM STREET",fontSize:.2,fontColor:"white",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.19999999999999996,y:-.4200653155418168},{x:-.15721671890719469,y:-.2200653155418168},{x:.24278328109280536,y:-.2200653155418168},{x:.28556656218561066,y:-.4200653155418168}],parentId:"8XDG3EHsQoX26MhuzwMYUM",parentType:"Wall",foundationId:"m7AH7DcnoGzAq9kryBy4RS",id:"jgt48M3TDZL99Yra6Kyr5Q",selected:!1},{type:"Human",name:"Julio",cx:.5178196751817774,cy:-.5447731101746882,cz:.02866500802338123,lx:.5,lz:1.76,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"q3FndYLdQ24MSDvkeE4ifM",selected:!1},{type:"Human",name:"June",cx:-1.7835969899126987,cy:-1.0262736798633494,cz:.0073300155767722225,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"m7AH7DcnoGzAq9kryBy4RS",id:"hpYMNr3jwLZFDdiKVSnVAY",selected:!1}],Rwn=11,Hwn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989587],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-7.4101525299496,-7.1680457550968235,2.8167371698815544],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:25.847108697996333,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.2469393365439706,2.7582746226325283,1.9240094094942006],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!1,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,stickyNotePanelRect:{x:0,y:0,width:207,height:64}},Mwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Iwn=1,zwn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Dwn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Ewn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},kwn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Fwn="Unknown",Lwn=null,Wwn=null,Nwn=null,Uwn=["Solar bus stop"],Bwn={docid:wwn,time:vwn,timestamp:xwn,userid:bwn,owner:Swn,email:Twn,world:Pwn,elements:Cwn,sceneRadius:Rwn,view:Hwn,graphState:Mwn,evolutionMethod:Iwn,solarPanelArrayLayoutParams:zwn,solarPanelArrayLayoutConstraints:Dwn,evolutionaryAlgorithmState:Ewn,economicsParams:kwn,modelType:Fwn,modelAuthor:Lwn,modelLabel:Wwn,modelDescription:Nwn,notes:Uwn},jwn="ctNBPhic6sxKfpMZwUSyvY",Ywn="02/04/2023 01:23 pm",Own=1675535030470,_wn="QWecNcxhyvP6j6sBN11hBsfZDau1",Vwn=null,Gwn=null,Xwn={noAnimationForSolarPanelSimulation:!1,latitude:42.2844063,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-71.3488548,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"Natick, MA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"4/22/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},Jwn=[{type:"Foundation",cx:-.05000000000000249,cy:-.07499999999999751,cz:.05,lx:50,ly:25,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!0},{type:"Wall",cx:.25,cy:10.000000000000002,cz:0,lx:43.5,ly:.3,lz:30,relativeAngle:3.141592653589793,leftPoint:[22,10,0],rightPoint:[-21.5,10.000000000000004,0],leftJoints:["vdPkX7ZYSwK7VW7fzaG511"],rightJoints:["1pJb5b6kS2mjvFyYw2rr5k"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nYSb3p1MnuhwNe2u1j3fXF",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:22,cy:2,cz:0,lx:16,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[22,-6,0],rightPoint:[22,10,0],leftJoints:["8ntQ5ns6192qHa3sbwWgfy"],rightJoints:["nYSb3p1MnuhwNe2u1j3fXF"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vdPkX7ZYSwK7VW7fzaG511",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-21.5,cy:2.0000000000000018,cz:0,lx:16.000000000000004,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-21.5,10.000000000000004,0],rightPoint:[-21.5,-6,0],leftJoints:["nYSb3p1MnuhwNe2u1j3fXF"],rightJoints:["nQCZuQBzmXXaGGKFTeJE3m"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1pJb5b6kS2mjvFyYw2rr5k",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-13.25,cy:-6,cz:0,lx:16.5,ly:.3,lz:30,relativeAngle:0,leftPoint:[-21.5,-6,0],rightPoint:[-5,-6,0],leftJoints:["1pJb5b6kS2mjvFyYw2rr5k"],rightJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nQCZuQBzmXXaGGKFTeJE3m",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:13.5,cy:-6,cz:0,lx:17,ly:.3,lz:30,relativeAngle:0,leftPoint:[5,-6,0],rightPoint:[22,-6,0],leftJoints:["12rbxrGaa8wVVn4DUNhY7V"],rightJoints:["vdPkX7ZYSwK7VW7fzaG511"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8ntQ5ns6192qHa3sbwWgfy",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:1.5707963267948966,leftPoint:[5,-11,0],rightPoint:[5,-6,0],leftJoints:["4gHpGdkzTfd6pDbTqPc7xa"],rightJoints:["8ntQ5ns6192qHa3sbwWgfy"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"12rbxrGaa8wVVn4DUNhY7V",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:-5,cy:-8.5,cz:0,lx:5,ly:.3,lz:30,relativeAngle:4.71238898038469,leftPoint:[-5,-6,0],rightPoint:[-5,-11,0],leftJoints:["nQCZuQBzmXXaGGKFTeJE3m"],rightJoints:["4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5ZR3fL2v4p4po3VR8oJ6H8",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Wall",cx:0,cy:-11,cz:0,lx:10,ly:.3,lz:30,relativeAngle:0,leftPoint:[-5,-11,0],rightPoint:[5,-11,0],leftJoints:["5ZR3fL2v4p4po3VR8oJ6H8"],rightJoints:["12rbxrGaa8wVVn4DUNhY7V"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4gHpGdkzTfd6pDbTqPc7xa",roofId:"a69gMcUNAL6smrEEJWVg5m",leftRoofHeight:30,rightRoofHeight:30,color:"white",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:30,rightTopPartialHeight:30},{type:"Human",name:"Jack",cx:-.8543093326653608,cy:-11.792939085977409,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tYfANfn3oinAT4dW1rRsqr",selected:!1,ly:.42},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["12rbxrGaa8wVVn4DUNhY7V","8ntQ5ns6192qHa3sbwWgfy","vdPkX7ZYSwK7VW7fzaG511","nYSb3p1MnuhwNe2u1j3fXF","1pJb5b6kS2mjvFyYw2rr5k","nQCZuQBzmXXaGGKFTeJE3m","5ZR3fL2v4p4po3VR8oJ6H8","4gHpGdkzTfd6pDbTqPc7xa"],textureType:"No Roof Texture",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a69gMcUNAL6smrEEJWVg5m",rise:0,ceiling:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.3343030303030303,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2tX22vCbk47e7Qb9jmWbuT",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.12024242424242425,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rMVZd7mHmDzSsY9qJkKCYE",selected:!1,color:"#fff"},{type:"Window",cx:-.10606060606060606,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1.5,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#999999",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"5GSyALrLv2JTFn5Jfts2K9",mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3484848484848485,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"iCM8LCxtUc6mLFahJZKXiN",parentId:"nQCZuQBzmXXaGGKFTeJE3m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0016000000000000014,cy:-23684757858670007e-30,cz:.056400000000000006,lx:3.968,ly:23.616,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qfUCcto9FYp97r1bwAkTYw",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.11858823529411765,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"15b42ktZHToFGP5MjajP8M",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.352,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:-.01802584949990571,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3PJY1VV4LwZ339b6deeXfW",selected:!1,color:"#fff"},{type:"Human",name:"Jane",cx:1.0059834215863663,cy:-11.909754621259744,cz:.05000000074506161,lx:.4,lz:1.67,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vFaP6sE5CTWHTpkpuqQusz",selected:!1,ly:.4},{type:"Window",cx:.1051693404634581,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bQX8o8NiMvqqkwFqX982ii",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.36541889483065954,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"5iqB79CbMKKaHc2jYwiL2n",parentId:"8ntQ5ns6192qHa3sbwWgfy",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3757575757575758,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"h4kTQPqQyQnweHnqPDZiBg",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3742424242424242,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mDkZKRTvbZchzgdEwuowBS",parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242425,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"vY3gwN3Dc3BUuPz4qtFxKd",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.3,cz:.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"1c7fsYtocCSJ8re71u4EMD",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.33049242424242414,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"bHLzi4Znc3fVju7nSQfVt1",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32575757575757575,cy:.1,cz:-.008333333333333333,lx:.15151515151515152,ly:.3,lz:.9166666666666666,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"mXRwTS9CG5axkFHpYXQb93",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.44166666666666665,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"4jyHDksE16v8MGpAHgZbRq",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0035666924067298844,cy:.1,cz:.3543373547979109,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"fv633U9B6zqzsfkiTeArhy",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.2583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"oqAP6n2W5ZjTRthjMYEkPV",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.1583333333333333,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"cpcc8c1vn5nWiukQ3PxS3f",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:.058333333333333307,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x1oydAUUHFagHckinEa19D",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.0416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"3cgMKo42a4ASQqE8xnVK2P",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.1416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"x8WkyGbyAMcWUhHRUjS5gG",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.2416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"tXGRiJPBepugeH5wctYQEF",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.005747126436781609,cy:.1,cz:-.3416666666666667,lx:.9310344827586207,ly:.3,lz:.05000000000000006,mullionWidth:.1,mullionSpacing:1.5,color:"#999999",normal:[0,0,1],rotation:[0,0,0],id:"uHRUBQhmS94JcKPRt7LDmv",parentId:"nYSb3p1MnuhwNe2u1j3fXF",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#73D8FF",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullion:!0,opacity:.5,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:.08726646259971647,orientation:"Landscape",drawSunBeam:!1,poleHeight:.2,poleRadius:.05,poleSpacing:3,cx:.013173838940837719,cy:.0680060264405102,cz:30.2,lx:39.36,ly:1.984,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gXW6QsEtteXYtodQNf8hx7",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.013587479651289406,cy:-.039519927704392936,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rR23iB2i6JynSXag96y23e",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012423446703966497,cy:-.14139419142614063,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jxhCthLZ9Lv87sCrBWn5kx",selected:!1,drawSunBeam:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012712080197510935,cy:.1770912519450651,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rZk9AYLNUc6CbsxJg1HEUU",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.012483352791167981,cy:.28984082936278965,cz:30.2,lx:39.36,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"a69gMcUNAL6smrEEJWVg5m",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"69WEvUFeggtX7SkVeLfN3F",selected:!1},{type:"Flower",name:"Yellow Flower",cx:15.765812910070952,cy:-8.771551347375933,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"hhZNor6RrsErCXv6N2LCBX",selected:!1},{type:"Flower",name:"Yellow Flower",cx:7.825357530488457,cy:-8.372047787963048,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1coQpeKubKsF9M826JWhcT",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-7.686841949758485,cy:-8.502083508685182,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tBw3D4GurLA8jWoFe411qW",selected:!1},{type:"Flower",name:"Yellow Flower",cx:-14.751204802860983,cy:-8.343574225207504,cz:.05000000074505806,lx:2,lz:1.4,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"72uapoUNTci2SLYKwgBp8U",selected:!1},{type:"Flower",name:"Boxwood",cx:19.359037887762355,cy:-9.111613117711592,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vm54XJx4Xqji3E2uYkM3Bg",selected:!1},{type:"Flower",name:"Boxwood",cx:12.019561876673311,cy:-8.832301300458631,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sjqbn1oAGT3nUbPzFZ9yXN",selected:!1},{type:"Flower",name:"Boxwood",cx:-11.235438884150971,cy:-8.639820120644501,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tQx6MounMWtZzmbZeEtcYq",selected:!1},{type:"Flower",name:"Boxwood",cx:-18.29029667468214,cy:-7.990154726249322,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CG9RbukrrdXudKgMY2Jii",selected:!1},{type:"Door",cx:0,cy:0,cz:-.425,lx:.5,ly:0,lz:.15,textureType:"Door Texture #6",color:"white",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"4gHpGdkzTfd6pDbTqPc7xa",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"nJiiCKZsnQ4hdD69NEYwor",doorType:"Default",archHeight:1,filled:!0},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Portrait",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.0010000000000000007,cy:0,cz:-.009199999999999993,lx:3.968,ly:27.552,lz:.046,showLabel:!1,normal:[-1,12246467991473532e-32,0],rotation:[0,0,0],color:"#fff",frameColor:"white",parentType:"Wall",parentId:"1pJb5b6kS2mjvFyYw2rr5k",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uLAs5uL6WLuiZStL3dsozJ",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0010000000000000009,cy:2373101715136272e-29,cz:.0074666666666666735,lx:3.968,ly:27.552,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[1,0,0],rotation:[0,0,0],parentType:"Wall",parentId:"vdPkX7ZYSwK7VW7fzaG511",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oq1GewTgCJGR8EGbL6DMu7",selected:!1,color:"#fff"}],Kwn={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!1,axes:!0,enableRotate:!0,weatherPanelY:0,cameraPosition:[-41.48638943484854,-53.785037218162735,15.500675823090146],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!0,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[1.9046368072380662,-2.718943908236788,15.500675823090146],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Default",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:3.5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:31.733468832186784,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],cameraPosition2D:[0,-.00015000666739695134,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:339,height:63},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},qwn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},$wn=1,Qwn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Zwn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},e7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},t7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},n7n=["Building-integrated photovoltaics (BIPV)"],o7n={docid:jwn,time:Ywn,timestamp:Own,userid:_wn,owner:Vwn,email:Gwn,world:Xwn,elements:Jwn,view:Kwn,graphState:qwn,evolutionMethod:$wn,solarPanelArrayLayoutParams:Qwn,solarPanelArrayLayoutConstraints:Zwn,evolutionaryAlgorithmState:e7n,economicsParams:t7n,notes:n7n},i7n="m1j5HqK6ztTDmHotnswvhm",r7n="03/19/2023 01:23 pm",a7n=1679246616189,l7n="QWecNcxhyvP6j6sBN11hBsfZDau1",s7n=null,c7n=null,u7n={solarRadiationHeatmapGridCellSize:2,date:"6/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!0,cspGridCellSize:.5,dustLoss:.05,address:"350 Spelman Ln SW, Atlanta, GA 30314, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:33.74249063340524,noAnimationForSensorDataCollection:!1,timesPerHour:2,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!0,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-84.41325446099088,airConvectiveCoefficient:5,diurnalTemperatureModel:1,highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForSolarUpdraftTowerSimulation:!1},d7n=[{type:"Foundation",cx:-4.899281040587393,cy:-11.584454395492607,cz:.05,lx:65.19262557107372,ly:131.69230495241158,lz:.1,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fAfbfM7oEHfq1VBgchFech",enableGroupMaster:!0},{type:"Wall",cx:4.643026020738638,cy:58.19197664732871,cz:0,lx:39.00320499651278,ly:.2,lz:10,relativeAngle:3.1544124640626934,leftPoint:[24.14302602073864,58.441976647328715,.1],rightPoint:[-14.856973979261348,57.94197664732871,.1],leftJoints:["hZXuadfd8Y2gU3C4iTs3VG"],rightJoints:["sdKSXeQhAWxE6ifCs1d6RC"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"tysEJM9hUShvginx4rYC7K",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:24.39302602073864,cy:2.941976647328705,cz:0,lx:111.00112612041376,ly:.2,lz:10,relativeAngle:1.575300800833464,leftPoint:[24.643026020738645,-52.55802335267129,.1],rightPoint:[24.143026020738642,58.4419766473287,.1],leftJoints:["njXmWTSZ52XC3BH77kTEtQ"],rightJoints:["tysEJM9hUShvginx4rYC7K"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"hZXuadfd8Y2gU3C4iTs3VG",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:9.143026020738638,cy:-52.8080233526713,cz:0,lx:31.004031995854984,ly:.2,lz:10,relativeAngle:.016127633843636247,leftPoint:[-6.356973979261358,-53.05802335267129,.1],rightPoint:[24.64302602073863,-52.558023352671285,.1],leftJoints:["1sYogQ8Va73vub552Dsk1p"],rightJoints:["hZXuadfd8Y2gU3C4iTs3VG"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"njXmWTSZ52XC3BH77kTEtQ",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-6.356973979261353,cy:-47.05802335267128,cz:0,lx:11.999999999999986,ly:.2,lz:10,relativeAngle:4.712388980384691,leftPoint:[-6.356973979261358,-41.05802335267129,.1],rightPoint:[-6.356973979261351,-53.058023352671285,.1],leftJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],rightJoints:["njXmWTSZ52XC3BH77kTEtQ"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"1sYogQ8Va73vub552Dsk1p",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:-14.606973979261362,cy:8.441976647328703,cz:0,lx:99.0012626182111,ly:.2,lz:10,relativeAngle:4.717439442493762,leftPoint:[-14.856973979261348,57.94197664732871,.1],rightPoint:[-14.356973979261365,-41.05802335267131,.1],leftJoints:["tysEJM9hUShvginx4rYC7K"],rightJoints:["dfk6k28j8Rsu1Q1oCp7zKp"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"sdKSXeQhAWxE6ifCs1d6RC",color:"#cccccc",studSpacing:200,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Cuboid",cx:34.8305400791776,cy:-52.42058894277254,cz:6,lx:7.619334475628514,ly:5.299339135336109,lz:12,color:"#999999",faceColors:["#999999","#999999","#999999","#999999","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.5484342228590808],parentId:"Ground",selected:!1,id:"aLpgA6ukywKpo8YHkCPK9Z"},{type:"Window",cx:-.2701985741652489,cy:.1,cz:.325,lx:.44948921683564763,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"dXdqLZ7zgTd93oqrXfjWsJ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-358855390814681e-31,cy:.1,cz:-.4,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"xi8z9Sz8uH7vazDgmc3RCx",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jack",cx:.6384948916889619,cy:-.2839733771670918,cz:5.999999999999999,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"aLpgA6ukywKpo8YHkCPK9Z",id:"ddYtbAhoUpyMoKhVhaAQGE",selected:!1,ly:.42},{type:"Window",cx:0,cy:.1,cz:0,lx:.9898863651661457,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"aziCwtJpaGh65HD2YLn8fS",parentId:"sdKSXeQhAWxE6ifCs1d6RC",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Wall",cx:1.5252168961263317,cy:51.80939453669954,cz:0,lx:20.031488630531463,ly:.2,lz:9,leftJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],rightJoints:["nWPXmVRMzHKyjWryQf87JS"],leftPoint:[11.540961211392062,51.809394536699536,0],rightPoint:[-8.490527419139399,51.80939453669955,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qsREzsezLRHaTka6P3qi8E",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:11.7913548192737,cy:-3.284592727383899,cz:0,lx:110.1891125223151,ly:.2,lz:9,leftJoints:["dkmWHRoyM37TP1ais2mnQQ"],rightJoints:["qsREzsezLRHaTka6P3qi8E"],leftPoint:[12.041748427155346,-58.37857999146732,0],rightPoint:[11.540961211392053,51.80939453669952,0],relativeAngle:1.5753411400554025,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kuZyRXr6X1ZZLgvnEdPLQW",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-3.2436892780431448,cy:-58.47348142439061,cz:0,lx:30.571464611396937,ly:.2,lz:9,leftJoints:["ihGgAKbhoAEwWeLnpFQBfw"],rightJoints:["kuZyRXr6X1ZZLgvnEdPLQW"],leftPoint:[-18.52912698324161,-58.568382857313914,0],rightPoint:[12.041748427155321,-58.37857999146732,0],relativeAngle:.006208537524114639,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dkmWHRoyM37TP1ais2mnQQ",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-18.52912698324161,cy:-52.1159338984573,cz:0,lx:12.904897917713235,ly:.2,lz:9,leftJoints:["qXr3hrbfNKc7RCzq91xbXK"],rightJoints:["dkmWHRoyM37TP1ais2mnQQ"],leftPoint:[-18.52912698324161,-45.66348493960068,0],rightPoint:[-18.52912698324161,-58.568382857313914,0],relativeAngle:-1.5707963267948966,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"ihGgAKbhoAEwWeLnpFQBfw",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",studSpacing:200,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Wall",cx:-7.989740203376101,cy:3.1678562314727046,cz:0,lx:97.2882323106823,ly:.2,lz:9,leftJoints:["qsREzsezLRHaTka6P3qi8E"],rightJoints:["qXr3hrbfNKc7RCzq91xbXK"],leftPoint:[-8.490527419139399,51.80939453669955,0],rightPoint:[-7.488952987612803,-45.47368207375414,0],relativeAngle:-1.5605012263432012,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"nWPXmVRMzHKyjWryQf87JS",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Default",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Foundation",cx:2.6802301363018337,cy:-.008091723250991834,cz:.075,lx:47.100258882021336,ly:155.2816074058604,lz:.15,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"s7XmQ94X6RJALjEtkckmRw",selected:!1},{type:"Wall",cx:-13.009039985427215,cy:-45.568583506677385,cz:0,lx:11.041805422196214,ly:.2,lz:9,leftJoints:["nWPXmVRMzHKyjWryQf87JS"],rightJoints:["ihGgAKbhoAEwWeLnpFQBfw"],leftPoint:[-7.488952987612821,-45.47368207375409,0],rightPoint:[-18.52912698324161,-45.66348493960068,0],relativeAngle:-3.1244023294596825,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"qXr3hrbfNKc7RCzq91xbXK",parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",wallStructure:"Stud",studSpacing:200,opacity:0,selected:!1,roofId:"715hHLBU5uPxPmY3VTjteR",leftRoofHeight:9,rightRoofHeight:9,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9,rightTopPartialHeight:9},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["ihGgAKbhoAEwWeLnpFQBfw","dkmWHRoyM37TP1ais2mnQQ","kuZyRXr6X1ZZLgvnEdPLQW","qsREzsezLRHaTka6P3qi8E","nWPXmVRMzHKyjWryQf87JS","qXr3hrbfNKc7RCzq91xbXK"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"s7XmQ94X6RJALjEtkckmRw",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"715hHLBU5uPxPmY3VTjteR",sideColor:"#999999",rise:0,ceiling:!1},{type:"Wall",cx:-10.356973979261362,cy:-41.05802335267131,cz:0,lx:8.000000000000007,ly:.2,lz:10,leftJoints:["sdKSXeQhAWxE6ifCs1d6RC"],rightJoints:["1sYogQ8Va73vub552Dsk1p"],leftPoint:[-14.35697397926136,-41.05802335267131,.1],rightPoint:[-6.356973979261358,-41.05802335267129,.1],relativeAngle:35527136788004978e-31,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"dfk6k28j8Rsu1Q1oCp7zKp",parentId:"fAfbfM7oEHfq1VBgchFech",foundationId:"fAfbfM7oEHfq1VBgchFech",studSpacing:200,selected:!1,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:10,rightTopPartialHeight:10},{type:"Wall",cx:1.4207056572728782,cy:46.41750725666692,cz:0,lx:18.6588866759028,ly:.2,lz:5.794050119631874,leftJoints:["jG1casp2JsBCa6isf6jPBp"],rightJoints:["tYVF4f8huJSYi3SnemH2U3"],leftPoint:[10.750148995224277,46.417507256666916,0],rightPoint:[-7.908737680678521,46.41750725666693,0],relativeAngle:3.1415926535897927,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"hNWXBkU3b39gF1yUGHaJqP",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:5.794050119631874,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:10.983385078673063,cy:-2.9427598627993987,cz:0,lx:98.72163631495759,ly:.2,lz:5.794050119631874,leftJoints:["iFwuQS6DyWdjrRQbrM6EVe"],rightJoints:["hNWXBkU3b39gF1yUGHaJqP"],leftPoint:[11.21662116212185,-52.3030269822657,0],rightPoint:[10.750148995224274,46.4175072566669,0],relativeAngle:1.5755214703412732,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jG1casp2JsBCa6isf6jPBp",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:5.794050119631874,centerRoofHeight:[-.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Wall",cx:2.109769329329133,cy:-52.165708324365085,cz:0,lx:18.215774122254274,ly:.2,lz:9.013429915065354,leftJoints:["tYVF4f8huJSYi3SnemH2U3"],rightJoints:["jG1casp2JsBCa6isf6jPBp"],leftPoint:[-6.997082503463552,-52.028389666464484,0],rightPoint:[11.216621162121818,-52.30302698226569,0],relativeAngle:-.015077466364245784,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"iFwuQS6DyWdjrRQbrM6EVe",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Default",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:9.013429915065354,rightRoofHeight:9.013429915065354,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:9.013429915065354,rightTopPartialHeight:9.013429915065354},{type:"Wall",cx:-7.452910092071025,cy:-2.805441204898788,cz:0,lx:98.45011800989347,ly:.2,lz:5.794050119631874,leftJoints:["hNWXBkU3b39gF1yUGHaJqP"],rightJoints:["iFwuQS6DyWdjrRQbrM6EVe"],leftPoint:[-7.908737680678497,46.41750725666691,0],rightPoint:[-6.997082503463552,-52.028389666464484,0],relativeAngle:-1.5615361224898512,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"tYVF4f8huJSYi3SnemH2U3",parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",wallStructure:"Stud",studSpacing:200,opacity:0,roofId:"tknPcP8JDek1GProeixsEp",selected:!1,leftRoofHeight:5.794050119631874,rightRoofHeight:9.013429915065354,centerRoofHeight:[.5,9.013429915065354],structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.794050119631874,rightTopPartialHeight:5.794050119631874},{type:"Foundation",cx:-16.35434154408445,cy:-4.658194992756286,cz:.1,lx:43.87284485416718,ly:139.1211999878274,lz:.2,normal:[0,0,1],rotation:[0,0,.530395639672967],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"aLEzp9hfrYz6biKQBY4n26",selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["iFwuQS6DyWdjrRQbrM6EVe"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"aLEzp9hfrYz6biKQBY4n26",foundationId:"aLEzp9hfrYz6biKQBY4n26",id:"tknPcP8JDek1GProeixsEp",ridgeLeftPoint:[.5,1],ridgeRightPoint:[-.5,1],sideColor:"#999999",rise:0,ceiling:!1},{type:"Window",cx:0,cy:.1,cz:.325,lx:.9742789087050032,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"t2Cw4N4TZZkGP5BoLeNcKe",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.0019768216134676713,cy:.1,cz:-.005731530796598517,lx:.9782325519319385,ly:.2,lz:.21146306159319703,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"qwSoMqqWcK4TDa7AjgWqwH",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:4554386849898802e-32,cy:.1,cz:-.4,lx:.9742789087050032,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"m3ekqWg3Hj5f3LitnJWBy1",parentId:"tysEJM9hUShvginx4rYC7K",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:.325,lx:.9729631020395402,ly:.2,lz:.15,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",id:"gvpuFXmeNDDeRKgSmwP1CZ",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:3200610482948187e-32,cy:.1,cz:-.05,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"eCbjoFBaHQiuQUKYuZoFfR",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:0,cy:.1,cz:-.4,lx:.9729631020395402,ly:.2,lz:.2,mullion:!1,mullionWidth:.06,mullionSpacing:1,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jFDknbsuGgwqRxzvsmU4CQ",parentId:"hZXuadfd8Y2gU3C4iTs3VG",foundationId:"fAfbfM7oEHfq1VBgchFech",tint:"#73D8FF",opacity:0,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Jaye",cx:-17.46381887736557,cy:-41.9816536072657,cz:.05,lx:.55,lz:1.65,normal:[0,1,0],rotation:[0,0,0],parentId:"fAfbfM7oEHfq1VBgchFech",id:"c9HstzWD7XzAFugKNugMuy",selected:!1,ly:.55},{type:"Window",cx:-.45740372646398547,cy:.1,cz:.25,lx:.07195114798309891,ly:.2,lz:.3888888888888889,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!1,mullionWidth:.06,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"nWPXmVRMzHKyjWryQf87JS",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wuQewUkoGaBsjuzjt5f5uH",opacity:0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:2.5,poleRadius:.05,poleSpacing:5,cx:-.08476384816809007,cy:.25788159693893226,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],color:"#fff",parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"vqvQktRu6i8bL8ZiGaoGnt",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1615496100848164,cy:.25770817536556956,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wdbtnJ1XkcTwDSb8wiEMKL",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08010322022532794,cy:.09848093983788882,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"32oGsayzWtjfS2sR392vRy",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15821694625943433,cy:.09899040837617899,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e6f94dRNL6XBpsmcrnKDU9",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.1544950822019521,cy:-.05668699528465417,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"wzKUNhsTS2CEWiU4WpUm2j",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08173283819450536,cy:-.056114317250364976,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"mKWB3USg3dr53V5yqbCZHD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.08275541478239372,cy:-.21595299989492936,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"t9dCrMhmdqRDyewscNhEss",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.060547048383927105,cy:-.3528469086181044,cz:9.2,lx:27.776,ly:3.936,lz:.046,trackerType:"None",tiltAngle:.08726646259971647,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"7UbuZjpocqLztS4V8bYdKv",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.15077186158226766,cy:-.21881896397118786,cz:9.2,lx:5.904,ly:21.823999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:2.5,poleSpacing:5,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Roof",parentId:"715hHLBU5uPxPmY3VTjteR",foundationId:"s7XmQ94X6RJALjEtkckmRw",id:"e5YYaGmX4NkSq53yXqBiSb",selected:!1},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4500000000000003,y:-.425},{x:-.4500000000000003,y:-.17499999999999996},{x:-.2833333333333334,y:-.17499999999999996},{x:-.2833333333333334,y:-.425}],parentId:"1sYogQ8Va73vub552Dsk1p",parentType:"Wall",foundationId:"fAfbfM7oEHfq1VBgchFech",selected:!1,filled:!0,selectedIndex:3,id:"mMTWwGXVY6tHrH3tFfFj84",text:"P",fontColor:"black",fontOutlineColor:"white",fontOutlineWidth:.1,fontSize:2}],f7n=106,h7n={dailyPvYieldPanelX:0,mapPanelY:158,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[16.929262825751,-28.15408933210822,-58144424349073707e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:248,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[16.929262825751,-28.154239338775618,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-13.677779559893043,-87.22834473506032,67.89303797087159],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!0,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:9.265824603195062,mapType:"hybrid",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.0532361348326695,-29.239499866887954,4.7578192072686045],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:7,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,waterSurface:!1,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,solarPanelShiness:100,windowShiness:200,showDiurnalTemperaturePanel:!1,showEconomicsPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:353,height:64},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},p7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},g7n=1,m7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},y7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},A7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},w7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},v7n="Unknown",x7n=null,b7n=null,S7n=null,T7n=["Hypothetical solar canopies for a garage"],P7n={docid:i7n,time:r7n,timestamp:a7n,userid:l7n,owner:s7n,email:c7n,world:u7n,elements:d7n,sceneRadius:f7n,view:h7n,graphState:p7n,evolutionMethod:g7n,solarPanelArrayLayoutParams:m7n,solarPanelArrayLayoutConstraints:y7n,evolutionaryAlgorithmState:A7n,economicsParams:w7n,modelType:v7n,modelAuthor:x7n,modelLabel:b7n,modelDescription:S7n,notes:T7n},C7n="9FwzvKbLoEC3qk3HcYhpK3",R7n="02/04/2023 02:19 pm",H7n=1675538359367,M7n="QWecNcxhyvP6j6sBN11hBsfZDau1",I7n=null,z7n=null,D7n={noAnimationForSolarPanelSimulation:!1,latitude:37.4924685,cspTimesPerHour:4,timesPerHour:4,noAnimationForSensorDataCollection:!1,noAnimationForSolarUpdraftTowerSimulation:!1,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},sutGridCellSize:1,longitude:-121.944697,airConvectiveCoefficient:5,name:"default",highestTemperatureTimeInMinutes:900,sutTimesPerHour:4,diurnalTemperatureModel:1,discretization:"Approximate",address:"45500 Fremont Blvd, Fremont, CA 94538, USA",noAnimationForHeatmapSimulation:!1,solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspDaysPerYear:4,pvGridCellSize:.5,airAttenuationCoefficient:.01,sutDaysPerYear:4,date:"1/1/2022, 9:00:00 AM",cspGridCellSize:.5,dustLoss:.05,daysPerYear:12},E7n=[{type:"Foundation",cx:-.08114032291986462,cy:.04294942268642887,cz:.05,lx:77.18969112756628,ly:25.114558892189873,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"9VUxbWr6Hk1HaeGiLpEeqj",locked:!1},{type:"Wall",cx:16.394958493767938,cy:-6.958678279965962,cz:0,lx:34.5,ly:.3,lz:20,relativeAngle:0,leftPoint:[-.6550415062320631,-7.358678279965961,.1],rightPoint:[33.84495849376793,-7.358678279965961,.1],leftJoints:[],rightJoints:[],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"8BJFAiWAksi5iXqqAXG3m7",wallStructure:"Default",opacity:0,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.272463768115942,cy:0,cz:.445,lx:15.6,ly:1.2,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wGRXvcE2DsAaZztwb6HksP",selected:!1},{type:"Human",name:"Jedi",cx:25.350323157691225,cy:-8.982865067578267,cz:.05000000074505806,lx:.56,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iDRReqKwNSn3MdzCD9xntV",selected:!1,ly:.56},{type:"Solar Panel",pvModelName:"FS-497",trackerType:"None",relativeAzimuth:0,tiltAngle:0,orientation:"Landscape",drawSunBeam:!1,poleHeight:1,poleRadius:.05,poleSpacing:3,cx:-.23768115942028983,cy:0,cz:-.0050000000000000044,lx:6,ly:4.8,lz:.046,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],color:"#fff",parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kDSDBXNMTiTKABtDtEoTPM",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:2960594732333751e-30,cz:.17517500000000008,lx:3.5999999999999996,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3R99UFMtSTu8MpSzhFBEzM",selected:!1,color:"#fff",drawSunBeam:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.3768115942028986,cy:0,cz:.055525000000000005,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2nC5kmMxK27nhcbuLchKpX",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.24057971014492754,cy:0,cz:.26534999999999986,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2f53rLJkYN28GAXqDH43oC",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.08115942028985497,cy:0,cz:-.03447500000000003,lx:2.4,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1CLg3vw3R6Mjckp2zLGRcx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.23768115942028983,cy:0,cz:-.21465000000000006,lx:8.4,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"3EcpwWTaBMzQ2Wh6WUSfZ2",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:.44517500000000004,lx:33.6,ly:1.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"afQFwUz294V81V8ekAFzoy",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.38840579710144923,cy:0,cz:.025875000000000446,lx:4.8,ly:13.2,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rvr7kALWbgFepgQwhgLdmn",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.47536231884057967,cy:2960594732333751e-30,cz:-.034299999999999733,lx:1.2,ly:18,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"h8Kaodh1qXkhqWggo4XUhx",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.21449275362318843,cy:0,cz:.02570000000000001,lx:4.8,ly:13.199999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gb2jcBuVudWuAzaQrnkX6y",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30144927536231886,cy:0,cz:-.2143,lx:1.2,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"vUqRVHfCe86GnXDtKSxaw8",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.127536231884058,cy:0,cz:.05552500000000036,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"uSBaFrGbhmQkQMurd3uJ8K",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.01159420289855071,cy:0,cz:.265525,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n1zXsXRnujYqMASe1WUKNR",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.11594202898550725,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1bjxTFMmzz4rPmQkK5vxos",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550721,cy:0,cz:.025,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kXtBHayvf3Tvd93XA15jDA",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:-.005797101449275342,cy:0,cz:-.21447500000000003,lx:7.199999999999999,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7g2C2UieAJmWoyUM62ZQ2a",selected:!1,color:"#fff"},{type:"Wall",cx:-17.344845563783142,cy:-6.9427205539050725,cz:4.230734017714145,lx:34.5,ly:.3,lz:20,leftJoints:["gPxD8gV5byhzgQKdBBgMTy"],rightJoints:[],leftPoint:[-34.59484556378314,-6.9427205539050725,.1],rightPoint:[-.09484556378314224,-6.9427205539050725,.1],relativeAngle:0,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"7cDw6CDEimwyt2K7C9p2yW",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",wallStructure:"Default",opacity:0,selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,structureSpacing:2,structureWidth:.1,structureColor:"white",fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Solar Panel",pvModelName:"FS-497",cx:.255072463768116,cy:0,cz:.265,lx:6,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wFqugJCgR6UNZP8KrBbWpt",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.35942028985507246,cy:-11842378929335004e-30,cz:.05535000000000023,lx:1.2,ly:14.399999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4jWvM8cSUfsXRSp6TmJ2Gg",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.22028985507246376,cy:0,cz:.025174999999999993,lx:5.999999999999999,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"toAqeegGXNvuKLhennKVzP",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.23768115942028983,cy:0,cz:-.21447500000000003,lx:7.199999999999998,ly:3.599999999999999,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"saA7QrRCNPT5wTdbHg5J4Z",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.44637681159420284,cy:-11842378929335004e-30,cz:.1753500000000002,lx:2.4,ly:9.6,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1muJg2Kq7Xbc14wrpktdBf",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:.42898550724637674,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"d7sb6VcbzjaYN3rbM9eNEy",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.4463768115942027,cy:0,cz:-.21447500000000003,lx:3.5999999999999996,ly:3.5999999999999996,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cog6ySXPfBh8EbJAcymKkb",selected:!1,color:"#fff"},{type:"Wall",cx:-34.64742278189158,cy:2.0786397230474662,cz:0,lx:18.04302697558712,ly:.3,lz:20,relativeAngle:4.718216995364466,leftPoint:[-34.7,11.100000000000001,0],rightPoint:[-34.59484556378315,-6.942720553905069,0],leftJoints:["doTJdkASNxSDmLf9c3Pegr"],rightJoints:["7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Wall Texture",selected:!1,lineWidth:.2,lineColor:"black",windows:[],showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gPxD8gV5byhzgQKdBBgMTy",roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:-.4000000000000057,cy:11.099999999999998,cz:0,lx:68.6,ly:.3,lz:20,leftJoints:["6iADGugkaqZHafimZHuePH"],rightJoints:["gPxD8gV5byhzgQKdBBgMTy"],leftPoint:[33.89999999999999,11.099999999999996,0],rightPoint:[-34.7,11.100000000000001,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"doTJdkASNxSDmLf9c3Pegr",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Wall",cx:33.791618329408095,cy:2.180852804801064,cz:0,lx:17.839611349594517,ly:.3,lz:20,leftJoints:[],rightJoints:["doTJdkASNxSDmLf9c3Pegr"],leftPoint:[33.6832366588162,-6.738294390397874,0],rightPoint:[33.9,11.100000000000001,0],relativeAngle:1.5586453515816485,textureType:"No Wall Texture",normal:[0,0,1],rotation:[0,0,0],id:"6iADGugkaqZHafimZHuePH",parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",selected:!1,roofId:"sGiZvGvnHnyEYkatVrLiX7",leftRoofHeight:20,rightRoofHeight:20,wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",eavesLength:.3,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:20,rightTopPartialHeight:20},{type:"Window",cx:.22463768115942012,cy:.1,cz:.15000000000000005,lx:.4782608695652177,ly:.3,lz:.6000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:2,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#009ce0",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qQynJ4ikT8Jys2hyueRjYG",opacity:.9,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,thickness:.2,roofType:"Pyramid",roofStructure:"Default",wallsId:["6iADGugkaqZHafimZHuePH","doTJdkASNxSDmLf9c3Pegr","gPxD8gV5byhzgQKdBBgMTy","7cDw6CDEimwyt2K7C9p2yW"],textureType:"No Roof Texture",color:"#999999",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"sGiZvGvnHnyEYkatVrLiX7",rise:0,ceiling:!1},{type:"Window",cx:.22463768115942023,cy:.1,cz:-.325,lx:.4782608695652175,ly:.3,lz:.3,mullionWidth:.1,mullionSpacing:2,color:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],id:"jd3R2J1QYzh9JuC9phYqVK",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",tint:"#009ce0",shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,opacity:.8,mullion:!0,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Human",name:"Joey",cx:27.81441583822325,cy:-8.684480883806081,cz:.05000000074505806,lx:.462,ly:.462,lz:1.72,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fGLWCfzEic9oaSWyEnfb8i",selected:!1},{type:"Solar Panel",pvModelName:"FS-497",cx:.011594202898550683,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:32.4,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n8XPZ6tgzkn2e4GV2EzSXQ",selected:!1,color:"#fff"},{type:"Solar Panel",pvModelName:"FS-497",cx:-.30724637681159417,cy:-5921189464667502e-30,cz:-.44000000000000006,lx:13.2,ly:1.7999999999999998,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,-1,0],rotation:[0,0,0],parentType:"Wall",parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"ekdf8pAm7pTKeoNrT8Tsaw",selected:!1,color:"#fff"},{type:"Tree",name:"Coconut",cx:-37.29836295160464,cy:6.720238350736238,cz:.05000000074505806,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bieAeuuP4wJ8YMzJZ42ius",selected:!1},{type:"Tree",name:"Coconut",cx:-37.9321629780283,cy:-10.933241760578944,cz:.050000000745059836,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1BTxRyn2gu6uRotoQP2TPa",selected:!1},{type:"Tree",name:"Coconut",cx:36.96142302143514,cy:-12.152019969014674,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"45HuTdkFeGkSbAuGPLxP7t",selected:!1},{type:"Tree",name:"Coconut",cx:37.37981081167908,cy:8.010864765015526,cz:.05000000074505451,lx:3.701437012134672,lz:5.8375624371425605,normal:[0,0,1],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gQacj5zT5LnDR4eGQGkjvL",selected:!1},{type:"Window",cx:-.3014492753623188,cy:.1,cz:.38499999999999995,lx:.30724637681159417,ly:.3,lz:.049999999999999864,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wWxvu5H2MuoVyv6ABdSbEK",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.3028985507246377,cy:.1,cz:.11749999999999998,lx:.03188405797101443,ly:.3,lz:.475,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eREbGbTDZGJcxYejLHJP9R",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.09420289855072465,cy:.1,cz:.14499999999999996,lx:.031884057971014505,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"rHF8v4bUPPQWeN1QG5CD8Z",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231944,cy:.1,cz:.38999999999999996,lx:.1710144927536233,ly:.3,lz:.049999999999999954,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1iamFXUWAL4NspqHjRqj9C",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231887,cy:.1,cz:.14499999999999996,lx:.16521739130434784,ly:.3,lz:.06000000000000005,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kwg8jL3PhhkSHEUBWoJRhB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.008695652173913031,cy:.1,cz:-.0975,lx:.16811594202898547,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"eBcZrL2nPnHJENRw34vkgb",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:.3849999999999999,lx:.2086956521739131,ly:.3,lz:.05999999999999979,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tNMjGGfcx6yh5WH83NpPfT",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.15072463768115943,cy:.1,cz:.23249999999999998,lx:.0347826086956522,ly:.3,lz:.23500000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"cSnVNjSPe2y5ibKDfks9cp",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.2565217391304348,cy:.1,cz:.14500000000000002,lx:.17101449275362315,ly:.3,lz:.049999999999999975,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"oQPXqj5b7fi9mxcYzLVwxU",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.23768115942028983,cy:.1,cz:-.09500000000000001,lx:.2086956521739131,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"acu7FEv3n3KgU2sbERHsq8",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.32608695652173914,cy:.1,cz:.030000000000000006,lx:.03188405797101453,ly:.3,lz:.16999999999999998,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"mwtc1MiJNhvF5Wp2hfBGbo",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.3942028985507246,cy:.1,cz:.14499999999999996,lx:.0347826086956522,ly:.3,lz:.5399999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"xjxbBTagEoUGRvE4BqcQ8X",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.4463768115942029,cy:.1,cz:-.0975,lx:.06376811594202897,ly:.3,lz:.05500000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"gopaxkwtRfTqBUgmdgUeeB",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.44637681159420284,cy:.1,cz:-.09500000000000001,lx:.10434782608695652,ly:.3,lz:.06000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qtFXnqjWpK5EGFhJVApZG1",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.3850000000000001,lx:.2405797101449276,ly:.3,lz:.05999999999999987,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"n3FzBgTqGZAf3tAvrhJnpS",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.34347826086956523,cy:.1,cz:.11250000000000004,lx:.031884057971014484,ly:.3,lz:.4749999999999999,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wN26cpvDFmXpaVZ9fzFKx6",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.1333333333333334,cy:.1,cz:.11499999999999999,lx:.034782608695652126,ly:.3,lz:.47000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"a6Zd5eVvPewZw6pi9G6fFn",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.2391304347826087,cy:.1,cz:.145,lx:.17101449275362318,ly:.3,lz:.06000000000000001,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"jXiZzAe8xydxZFiw3kYxPd",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:.010144927536231873,cy:.1,cz:-.35,lx:.9304347826086955,ly:.3,lz:.09000000000000004,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"7cDw6CDEimwyt2K7C9p2yW",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"kWayuyUJ3NCoJ76cAXXsb2",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Window",cx:-.30869565217391304,cy:.1,cz:-.35,lx:.37391304347826093,ly:.3,lz:.08000000000000003,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullionWidth:.1,mullionSpacing:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#73D8FF",tint:"#73D8FF",normal:[0,0,1],rotation:[0,0,0],parentId:"8BJFAiWAksi5iXqqAXG3m7",foundationId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4sc4zQh2e4rskEdUjC7bwE",mullion:!0,opacity:.5,mullionColor:"white",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1},{type:"Flower",name:"Boxwood",cx:-33.25171795779697,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2qoyCTh6RmtgUKGjienf6c",selected:!1},{type:"Flower",name:"Boxwood",cx:-30.051717957796967,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"27S95LNhtfhhNdrfhLb63X",selected:!1},{type:"Flower",name:"Boxwood",cx:-26.851717957796964,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"4EzEYN7UN51NGA1h2gYf6h",selected:!1},{type:"Flower",name:"Boxwood",cx:-23.65171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aMDDZrStJb88k8cjNdHTyX",selected:!1},{type:"Flower",name:"Boxwood",cx:-20.45171795779696,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bmyWAH2NGyagaGJf2zR8wZ",selected:!1},{type:"Flower",name:"Boxwood",cx:-17.251717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"qjnbGRzmuBcffGRPmRHiD4",selected:!1},{type:"Flower",name:"Boxwood",cx:-14.051717957796956,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"2kbr1bEYWRM4qt64AXRioR",selected:!1},{type:"Flower",name:"Boxwood",cx:-10.851717957796957,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"wPVJmyDJeSE1u47UPb87pe",selected:!1},{type:"Flower",name:"Boxwood",cx:-7.651717957796958,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"7fEUD44paZGx4eApcgVBdW",selected:!1},{type:"Flower",name:"Boxwood",cx:-4.451717957796959,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"iz1HshbMuyvDyuUFjjNVmm",selected:!1},{type:"Flower",name:"Boxwood",cx:-1.2517179577969584,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"1HnQLoEVsBHHwYnQM4daRk",selected:!1},{type:"Flower",name:"Boxwood",cx:1.9482820422030418,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"tHugAGpHLnMfQJaJDiLNgW",selected:!1},{type:"Flower",name:"Boxwood",cx:5.148282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"fNGZwXhHJCEaTdeKtqi7LN",selected:!1},{type:"Flower",name:"Boxwood",cx:8.348282042203042,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"x9veDZdEDkbTP24vXAaH9a",selected:!1},{type:"Flower",name:"Boxwood",cx:11.548282042203041,cy:-10.483343820985965,cz:.05000000074505806,lx:1.6,lz:1.44,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"aW9z1qFcCFUJKw1kfwTUs9",selected:!1},{type:"Human",name:"Jack",cx:-36.639233371667494,cy:-11.25138408484107,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"9VUxbWr6Hk1HaeGiLpEeqj",id:"bQ8SMNuHJbe3JAwpYi8Bx3",selected:!1,ly:.42}],k7n={yearlyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,diurnalTemperaturePanelX:0,showInstructionPanel:!0,axes:!1,enableRotate:!0,weatherPanelY:0,cameraPosition:[-38.175932678703475,-44.876912777413864,6.961313205634463],showYearlyUpdraftTowerYieldPanel:!1,showSunAngles:!1,dailyPvYieldPanelX:0,dailyHeliostatYieldPanelY:0,showDailyHeliostatYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,showDailyLightSensorPanel:!1,solarRadiationHeatMapReflectionOnly:!1,autoRotate:!1,showWeatherPanel:!1,yearlyParabolicDishYieldPanelX:0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,yearlyPvYieldPanelX:0,mapType:"roadmap",visibilityResultsPanelX:0,heliodonPanelY:0,showYearlyParabolicTroughYieldPanel:!1,showSiteInfoPanel:!0,mapTilt:0,dailyLightSensorPanelX:0,yearlyLightSensorPanelY:0,mapPanelX:0,orthographic:!1,showDailyPvYieldPanel:!1,yearlyUpdraftTowerYieldPanelY:0,showHeliodonPanel:!1,showDailyFresnelReflectorYieldPanel:!1,heliodon:!1,showMapPanel:!1,shadowEnabled:!0,dailyFresnelReflectorYieldPanelY:0,showYearlyFresnelReflectorYieldPanel:!1,weatherPanelX:0,yearlyHeliostatYieldPanelX:0,dailyLightSensorPanelY:0,showDiurnalTemperaturePanel:!1,showDailyUpdraftTowerYieldPanel:!1,mapPanelY:0,dailyPvYieldPanelY:0,showStickyNotePanel:!1,yearlyUpdraftTowerYieldPanelX:0,yearlyFresnelReflectorYieldPanelX:0,groundColor:"#16A5A5",dailyHeliostatYieldPanelX:0,stickyNotePanelX:0,dailyUpdraftTowerYieldPanelY:0,showElevationAngle:!0,yearlyFresnelReflectorYieldPanelY:0,showYearlyHeliostatYieldPanel:!1,mapZoom:18,panCenter:[7.187719821125536,18.770050283059465,6.961313205634463],visibilityResultsPanelY:0,showZenithAngle:!0,stickyNotePanelY:0,showDesignInfoPanel:!0,yearlyPvYieldPanelY:0,dailyUpdraftTowerYieldPanelX:0,dailyParabolicDishYieldPanelY:0,showYearlyLightSensorPanel:!1,heliodonPanelX:0,theme:"Desert",yearlyLightSensorPanelShowDaylight:!1,groundImage:!1,showAzimuthAngle:!0,ambientLightIntensity:.1,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,showDailyParabolicDishYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,solarRadiationHeatMapMaxValue:5,showYearlyPvYieldPanel:!1,yearlyLightSensorPanelShowClearness:!1,showSolarPanelVisibilityResultsPanel:!1,diurnalTemperaturePanelY:0,yearlyHeliostatYieldPanelY:0,cameraZoom:13.26840862578125,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[21.857600787569247,2.944578579032461,29447094632855078e-22],cameraPosition2D:[21.857600787569247,2.944428572365064,150],yearlyLightSensorPanelX:0,showDailyParabolicTroughYieldPanel:!1,waterSurface:!1,showEconomicsPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:0,y:0,width:400,height:300},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},F7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},L7n=1,W7n={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},N7n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},U7n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},B7n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},j7n=[],Y7n={docid:C7n,time:R7n,timestamp:H7n,userid:M7n,owner:I7n,email:z7n,world:D7n,elements:E7n,view:k7n,graphState:F7n,evolutionMethod:L7n,solarPanelArrayLayoutParams:W7n,solarPanelArrayLayoutConstraints:N7n,evolutionaryAlgorithmState:U7n,economicsParams:B7n,notes:j7n},O7n="1VPKxyH9hMKodx5PZBsKF9",_7n="02/02/2023 08:19 pm",V7n=1675387154116,G7n="QWecNcxhyvP6j6sBN11hBsfZDau1",X7n=null,J7n=null,K7n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},q7n=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground",color:"#ffffff"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.38935296591314916,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:.01688904665567762,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.138,poleHeight:1,drawSunBeam:!0,ly:2.092,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:2.092,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!1,label:"Row2",tiltAngle:.5235987755982988,poleSpacing:3,rotation:[0,0,0],lx:17.138,selected:!1,orientation:"Landscape",cx:.013031122906363104,relativeAzimuth:0,cy:-.18800180696869379,poleHeight:1,drawSunBeam:!0,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{poleRadius:.05,type:"Solar Panel",lx:17.138,lz:.046,relativeAzimuth:0,drawSunBeam:!0,rotation:[0,0,0],ly:2.092,normal:[0,0,1],poleSpacing:3,cx:.014926747515468942,trackerType:"None",cy:.014703568726943495,label:"Row3",cz:.5000000074506161,orientation:"Landscape",showLabel:!1,selected:!1,poleHeight:1,tiltAngle:.5235987755982988,id:"mAv2C19w4RJA4u6knYxU3u",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X21-335-BLK"},{orientation:"Landscape",lx:17.138,showLabel:!1,id:"jLa9TCA6bfQFuaoHYKZtr7",poleHeight:1,drawSunBeam:!0,cy:.18975053307599946,selected:!1,ly:1.596,label:"Row4",poleSpacing:3,cx:.012922602074816969,type:"Solar Panel",cz:.5000000074506161,rotation:[0,0,0],lz:.046,poleRadius:.05,trackerType:"None",tiltAngle:.5235987755982988,normal:[0,0,1],relativeAzimuth:0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:.011234729062103974,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.138,ly:1.596,rotation:[0,0,0],cy:.35915527919266454,drawSunBeam:!0,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"SPR-X20-250-BLK"},{type:"Human",name:"Jack",cx:-8.559844752666184,cy:-5.056987011387983,cz:.05000000074505784,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"tmVJY65HF3sgVftctUAMHa",selected:!1}],$7n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Grassland",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"forestgreen",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-10.001667461924015,-11.422813610974892,1.2577590090789499],panCenter:[.22138352296916342,-.3133299860057419,1.2290156417830225],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},waterSurface:!0,showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:200,height:69}},Q7n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Z7n=1,e8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},t8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},n8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},o8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},i8n=["Floatovoltaics"],r8n={docid:O7n,time:_7n,timestamp:V7n,userid:G7n,owner:X7n,email:J7n,world:K7n,elements:q7n,view:$7n,graphState:Q7n,evolutionMethod:Z7n,solarPanelArrayLayoutParams:e8n,solarPanelArrayLayoutConstraints:t8n,evolutionaryAlgorithmState:n8n,economicsParams:o8n,notes:i8n},a8n="r7rAdLj2bzBDq2GS1CnPhs",l8n="12/03/2023 04:15 PM",s8n=1701638157224,c8n="QWecNcxhyvP6j6sBN11hBsfZDau1",u8n=null,d8n=null,f8n="1.5.4",h8n={latitude:21.26999081653234,pvGridCellSize:.5,timesPerHour:4,longitude:-157.79987618634874,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"4303 Diamond Head Rd, Honolulu, HI 96816, United States",date:"9/15/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},p8n=[{cy:.9722009313455304,normal:[0,0,1],lz:.1,ly:14.358919231269399,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.3854097604402611,cz:.05,rotation:[0,0,0],lx:37.46430380942354,selected:!1,parentId:"Ground",textureType:"Foundation Texture #3"},{rotation:[0,0,0],normal:[0,0,1],showLabel:!1,label:"Row1",cy:-.4001152441146478,poleRadius:.05,tiltAngle:.5235987755982988,cz:.5000000074505806,type:"Solar Panel",id:"c2J7QZr1z68dpk33yTT2Sd",orientation:"Landscape",cx:-.2534759364667544,relativeAzimuth:0,trackerType:"None",poleSpacing:3,selected:!1,lz:.046,lx:17.712,poleHeight:1,drawSunBeam:!1,ly:1.984,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{tiltAngle:.5235987755982988,id:"nWKZve3r4PVxJM4YwShMJW",relativeAzimuth:0,poleSpacing:3,poleRadius:.05,cx:-.24807731949020181,poleHeight:1,type:"Solar Panel",trackerType:"None",label:"Row5",lz:.046,normal:[0,0,1],showLabel:!1,cz:.5000000074505806,selected:!1,orientation:"Landscape",lx:17.712,ly:1.984,rotation:[0,0,0],cy:.3130126725192229,drawSunBeam:!1,parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-350P-FG"},{type:"Foundation",cx:-.07910485276111778,cy:2.9099830956896398,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"1Tke71vAoWuRt2r5v2CSYZ",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"35HtXQRVRTJqsvcy71eZBd",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fmSSfxugyyXcaFPGp5J2GH",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"r1axrjm2UGjTBQPRnRKw1U",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o6SdXUMbUBjNMc2SCs1Pqu",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nkBbAZdoKvnThFLy1td116",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"srkmySETFJsYm7J8quA3u2",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:.8963977881664541,lz:1.2127808163464167,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2kmwtuQn7hFn7tffKEXSXb",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fG9ydmQQYpah6b1GcbZ59Q",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cgtEAVRi5nWuhmKxX6g4z5",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"przZJKcdsmf3AyEn87SwPT",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wUrT7zxrNMXpZdhUKyq5x6",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"wntymhbHuaV7gtGi2EKDo7",selected:!1},{type:"Human",name:"Jack",cx:3.5761554401177627,cy:10.141850723436477,cz:-3552713678800501e-30,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"hYuqwxLBfjhYZrxPJu2S8L",selected:!1},{type:"Foundation",cx:.13851040605918286,cy:13.590779733945908,cz:.05,lx:38.38905435254204,ly:3.1484982131688,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"uUai6Yn6y8nHmN3tf9ahyx"},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"fe3JUD33oYRwCBbynb56a6",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"b9kHqFvP9UMct1EmYHLa8B",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"4v5HJbcnyM8oRxQZgZVsFX",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"jpZJvpTbQ2E3HeJKSSDDKE",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"8uqevdQdeBV5zYzHrgq3Zh",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"ehkm6HNVcvwQd4qavWsxgH",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.1894655061100838,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"mLwM3h5i56JQA5TFe7ZiDv",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"7GwaXerEUULBZK3RvssSh4",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"o51PX9nDXBoHsRrR8Uu3uf",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.764310209952872,lz:1.265757986719473,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"9F5Dsns2uqudj67bhcfCuw",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"nk4dmSLi3sQsGHDhERhaBY",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"g2UDZFQDMS1tCLiVCT9tfK",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"2mrMmxPqKbQr6oZ7YUWRD8",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"1Tke71vAoWuRt2r5v2CSYZ",id:"cyqhBaUdyZEb9qiSvsXab5",selected:!1},{type:"Foundation",cx:-.07054167332229894,cy:-2.024806657915021,cz:.15,lx:37.22589181468162,ly:2.2498532144773713,lz:.3,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #4",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{},rValue:2,id:"96KwVrDfi16QfHLR93Yusp",selected:!1},{type:"Tree",name:"Dogwood",cx:-2.3229355333414095,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"a49icarmzkr5QwqsUwcbKA",selected:!1},{type:"Tree",name:"Dogwood",cx:-17.977666816250007,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eLvpYKupN3ZLTR6HGQMJkt",selected:!1},{type:"Tree",name:"Dogwood",cx:-16.570876070305893,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"7rJcFKWtrJvxRyWnzd6WkS",selected:!1},{type:"Tree",name:"Dogwood",cx:-15.164085324361773,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.0628678085816343,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"rtyCUEBjykc41yoAS8xvzF",selected:!1},{type:"Tree",name:"Dogwood",cx:-13.757294578417655,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KPWZLD6vF24DfPuM2Sk5U",selected:!1},{type:"Tree",name:"Dogwood",cx:-12.350503832473537,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"vmVbUtrDPqovRK9e9VXmvi",selected:!1},{type:"Tree",name:"Dogwood",cx:-10.943713086529419,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"uZEQRAZoWqCdb9t2vARZDK",selected:!1},{type:"Tree",name:"Dogwood",cx:-9.536922340585301,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1673145007663057,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"3kqBZrSL44dhijeAviDVUt",selected:!1},{type:"Tree",name:"Dogwood",cx:-8.130131594641183,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"fHWcVVyZeJR1UETUCJVtfh",selected:!1},{type:"Tree",name:"Dogwood",cx:-6.723340848697064,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"pPESS4LE2RduK16iCF4KdD",selected:!1},{type:"Tree",name:"Dogwood",cx:-5.316550102752946,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qZrj5i9EwWchq9UModX2KJ",selected:!1},{type:"Tree",name:"Dogwood",cx:-3.909759356808828,cy:-.07064720678805703,cz:.15,lx:1.4067907459441182,lz:1.1292047414746058,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"g9GCKKyuBxSMt9EkVXcwb6",selected:!1},{type:"Tree",name:"Dogwood",cx:-.9161447873972912,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"qi19BZSTrFFjKcH9LHmHer",selected:!1},{type:"Tree",name:"Dogwood",cx:.490645958546827,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:1.2,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"6fapqZiLRvqTC3noQ9qV1n",selected:!1},{type:"Tree",name:"Dogwood",cx:1.8974367044909453,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"eTJ54zfhEY587nX7Gwwzrt",selected:!1},{type:"Tree",name:"Dogwood",cx:3.3042274504350635,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"mnoQ28t4Sb3TFQnqEQMGRc",selected:!1},{type:"Tree",name:"Dogwood",cx:4.7110181963791815,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"wfaEEGtnAgNTCdGMsUUEBg",selected:!1},{type:"Tree",name:"Dogwood",cx:6.1178089423232995,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"aE4gaTgQS5D99ihfN5N1k6",selected:!1},{type:"Tree",name:"Dogwood",cx:7.5245996882674175,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"iVwdm91NiMXw2bhPisFykP",selected:!1},{type:"Tree",name:"Dogwood",cx:8.931390434211536,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"1ZKagttn6ByMzdnHsckbRB",selected:!1},{type:"Tree",name:"Dogwood",cx:10.338181180155654,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4DbKV3HWjhBz2GFmeLXq5c",selected:!1},{type:"Tree",name:"Dogwood",cx:11.744971926099772,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"dXC8aLV5gZJNyUdCNmpiZ8",selected:!1},{type:"Tree",name:"Dogwood",cx:13.15176267204389,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"gi688GyqFP38jz93UfzMgz",selected:!1},{type:"Tree",name:"Dogwood",cx:14.558553417988009,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"d5fHKRcHkVJqL5GKmd9LDf",selected:!1},{type:"Tree",name:"Dogwood",cx:15.965344163932127,cy:.03525093487395026,cz:.15,lx:1.4067907459441182,lz:.8956183337957155,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"13n9gQqcnRjZGsNhYWB4CN",selected:!1},{type:"Tree",name:"Dogwood",cx:17.372134909876245,cy:.03525093487395026,cz:.15,lx:1.4443308509644897,lz:1.3412576094365443,normal:[0,1,0],rotation:[0,0,0],parentId:"96KwVrDfi16QfHLR93Yusp",id:"4KJo99ghaNG7xtsX7Kn1N3",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25983646910764824,cy:.3133093731438954,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bagts7BbZy9iCcoduMfEgD",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:-.2523128881468759,cy:-.049773566907739965,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pj2L9vfZSZQi8e9gAooky6",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.25728154613970783,cy:-.04340299144144473,cz:.5000000074517175,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCxFDu9XteXqYUHTDEDNzj",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-350P-FG",cx:.2576243996790015,cy:-.39678149415706165,cz:.5000000074505806,lx:17.712,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentType:"Foundation",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mnrNeCQGtprG4bege1iS2k",selected:!1},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:.3229647560258571,cy:-.024310522113242205,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"tSaXBUZ4vhyAW1v5cyaAsR",selected:!1,initialRotorAngle:.5235987755982988,pitchAngle:.20943951023931956},{type:"Wind Turbine",hubRadius:.75,hubLength:1,bladeRadius:8,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:2.2,maximumChordLength:.8,towerRadius:.45,towerHeight:16,cx:-.3557792798597688,cy:.20081385230735016,cz:0,lx:16,ly:16,lz:24,normal:[0,0,1],rotation:[0,0,0],parentId:"uUai6Yn6y8nHmN3tf9ahyx",foundationId:"uUai6Yn6y8nHmN3tf9ahyx",id:"ihuq9s7iV15JQwWEWj6cns",selected:!1,initialRotorAngle:1.3962634015954636,pitchAngle:.20943951023931956}],g8n=24,m8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:21,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[5.592328859316375,-28.430996692941612,7.190377220372418],panCenter:[5.753820002631499,6.322778695844774,6.457742384767832],orthographic:!1,enableRotate:!0,cameraZoom:19.000000000000004,showInstructionPanel:!1,cameraPosition2D:[4.5991440976008455,6.337014925329444,150],panCenter2D:[4.5991440976008455,6.338015302774838,64403155386807335e-22],dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showMapPanel:!1,solarRadiationHeatMapMaxValue:4,showStickyNotePanel:!1,stickyNotePanelRect:{x:0,y:0,width:205,height:68},navigationView:!1},y8n=!1,A8n={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},w8n=1,v8n={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},x8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},b8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},S8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},T8n="Unknown",P8n=null,C8n=null,R8n=null,H8n=null,M8n=["Agrivoltaics"],I8n=3,z8n=3,D8n={docid:a8n,time:l8n,timestamp:s8n,userid:c8n,owner:u8n,email:d8n,version:f8n,world:h8n,elements:p8n,sceneRadius:g8n,view:m8n,animate24Hours:y8n,graphState:A8n,evolutionMethod:w8n,solarPanelArrayLayoutParams:v8n,solarPanelArrayLayoutConstraints:x8n,evolutionaryAlgorithmState:b8n,economicsParams:S8n,modelType:T8n,modelAuthor:P8n,modelLabel:C8n,modelDescription:R8n,designProjectType:H8n,notes:M8n,minimumNavigationMoveSpeed:I8n,minimumNavigationTurnSpeed:z8n},E8n="3kTPvbTLo3JfCvHCNFYb8C",k8n="02/02/2023 05:19 pm",F8n=1675376390119,L8n="QWecNcxhyvP6j6sBN11hBsfZDau1",W8n=null,N8n=null,U8n={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"10/01/2022 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0},B8n=[{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.1827633083380377,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"snQKvKf7xPrhuT28Bo2tYv",selected:!1,dailyYield:20.344194814255086,label:"R22"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:.005909338720999285,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"s6gwZqoX59Afjq9iWzuivT",selected:!1,drawSunBeam:!1,dailyYield:20.344194814255086,label:"R23"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.19458198578003624,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pbozwPgQw2bzssDtJKTqSk",selected:!1,dailyYield:20.301130494002802,label:"R24"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"3nSBw847J9tSxs8CwWughr",selected:!1,label:"R21",dailyYield:20.423474876035336},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967653,cy:.38325463283907324,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7nkGUQpHaM9zN22MJgfSvf",foundationId:"7nkGUQpHaM9zN22MJgfSvf",id:"pu9LeYFSmjuxaejn2VSzZ1",selected:!1,dailyYield:20.34600992389522,label:"R25"},{type:"Foundation",cx:9.631391045182012,cy:-.034724141127635555,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7nkGUQpHaM9zN22MJgfSvf",selected:!1},{type:"Human",name:"Jack",cx:-.1594284211117477,cy:-6.960741063855943,cz:-17763568394002505e-31,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"d3bJG1MfPQqauwCeM9B8UL",selected:!1,ly:.6},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0001687190273044117,cy:-.23276330833803774,cz:.5000000074505806,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"oPGVYYGkGqjKAWacgXTr35",selected:!1,dailyYield:11.705639294931665,label:"R12"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0001681231182930395,cy:-.37143595539707464,cz:.5000000074505451,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"aiWW32QVkCjCBwtDMtjsXr",selected:!1,dailyYield:20.423474876035336,label:"R11"},{type:"Foundation",cx:-9.466959404203182,cy:-.00920136097199542,cz:.05,lx:18.175146995703113,ly:15,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",id:"7LGxrgEwehUWBo5dH7C67q",selected:!1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0005055611729018629,cy:-.09409066127900084,cz:.5000000074506161,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"gFDw5Wxzxz1fZY32qoSLoy",selected:!1,dailyYield:11.694143838550957,label:"R13"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0008424033184993142,cy:.044581985780036054,cz:.5000000074506517,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"3seUSu69aBJbCMJ1QTweLi",selected:!1,dailyYield:11.705639294931665,label:"R14"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0011792454640967656,cy:.18325463283907295,cz:.5000000074506872,lx:15.744,ly:1.984,lz:.046,trackerType:"None",tiltAngle:.5235987755982988,relativeAzimuth:0,orientation:"Landscape",poleRadius:.05,poleHeight:1,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"7LGxrgEwehUWBo5dH7C67q",foundationId:"7LGxrgEwehUWBo5dH7C67q",id:"hgGFwiEpscwf16U1io4zpD",selected:!1,dailyYield:11.705639294931665,label:"R15"}],j8n={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#16cda5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!0,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[24.035965357730035,-22.736672617703796,26.412316296073463],panCenter:[14.509957884993852,2.01433946065165,2.596734324796276],orthographic:!1,enableRotate:!0,cameraZoom:27.207482839996143,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],solarRadiationHeatMapMaxValue:4.5,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:253,height:65}},Y8n={dailyPvIndividualOutputs:!0,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},O8n=1,_8n={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},V8n={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right"},G8n={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},X8n={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},J8n=["Effect of interrow spacing"],K8n={docid:E8n,time:k8n,timestamp:F8n,userid:L8n,owner:W8n,email:N8n,world:U8n,elements:B8n,view:j8n,graphState:Y8n,evolutionMethod:O8n,solarPanelArrayLayoutParams:_8n,solarPanelArrayLayoutConstraints:V8n,evolutionaryAlgorithmState:G8n,economicsParams:X8n,notes:J8n},q8n="69tJrD9Uz8P8feZdzUtyXN",$8n="05/20/2022 12:16 pm",Q8n=1653063377435,Z8n="QWecNcxhyvP6j6sBN11hBsfZDau1",evn=null,tvn=null,nvn={latitude:37.44574069680563,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-6.249946169311531,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"41800 Sanlúcar la Mayor, Seville, Spain",date:"3/22/2022 11:00:00 AM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:5,cspTimesPerHour:1,cspGridCellSize:5},ovn=[{cy:53.463080949514506,normal:[0,0,1],lz:.5,ly:806.586647395053,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:11.016365885808142,cz:.25,rotation:[0,0,0],lx:870.6680312936733,selected:!1,parentId:"Ground",locked:!1,solarPowerTower:{towerHeight:40,towerRadious:4}},{type:"Human",name:"Jack",cx:-19.167451192300774,cy:-309.3414199054706,cz:0,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.0019164258394133288,cy:-.4158344145798274,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.59597205852084,yearlyYield:311.4614380820491,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.007376001317235639,cy:-.36554470178529136,cz:0,lx:12,ly:10,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.888231364804646,yearlyYield:341.6536704139208,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.20537660531292481,cy:-.4193704100106933,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:23.314190283597984,yearlyYield:285.77957159626914,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09582112405795708,cy:-.4382290523086443,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:29.108913473883288,yearlyYield:347.0340046876023,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.054863159129938666,cy:-.464159685468327,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11037999199881661,cy:-.46023080165625374,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.112199850491424,cy:-.3934397768510106,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11802339766776783,cy:-.41308419591137624,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.15769631280660995,cy:-.4511943688884857,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.039576347792036205,cy:-.442943712883132,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.02792925343934858,cy:-.3761526880778888,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07725856743336128,cy:-.42251351706035173,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08781374669048435,cy:-.3977615490442911,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.10419247312395133,cy:-.3682949204537425,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1445933316598364,cy:-.3553296038739013,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.005363008131016386,cy:-.38597489760807163,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1314903505130629,cy:-.4657312389931562,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.12457488824115463,cy:-.36004426444838894,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16424780337999675,cy:-.38518912084565715,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.16934340715929755,cy:-.4067979818120592,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04086139758121251,cy:-.3297918590954259,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05978792590432987,cy:-.38361756732082763,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.014291463589143885,cy:-.3961899955194619,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.015554215689618007,cy:-.40483353990602267,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.030306218324089352,cy:-.40876242371809585,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.18645007698980745,cy:-.40994108886171765,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1646117750785182,cy:-.42172774029793714,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.025574586243310056,cy:-.3482576130121696,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.14677716185096534,cy:-.38086734865237665,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1871780203868504,cy:-.38833222789531546,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2064685204084893,cy:-.39697577228187636,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.227942850621257,cy:-.40640509343085185,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.068887218367367,cy:-.33686384995715757,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.09873289764612901,cy:-.34629317110613306,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.04595700136051335,cy:-.3631873714980474,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.07815734783531385,cy:-.44765837345761983,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.07980636932301162,cy:-.37300958102823034,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.2483252657384603,cy:-.4201561867731079,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.09999564974660309,cy:-.4610165784186685,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.19736922794545209,cy:-.4417650477395101,cz:0,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.05542026552207203,cy:-.4134770842925835,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.22393916193752067,cy:-.43233572659053454,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.020285847770397398,cy:-.4260495124912175,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.08890566178604883,cy:-.3231127566149015,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.034844715711256906,cy:-.3985473258067056,cz:.5000000074506517,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.1817184449090281,cy:-.4291926195408761,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.073789687453056,cy:-.4728032298548879,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.028850331530003406,cy:-.37536691131547417,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:.04030429118907922,cy:-.42172774029793714,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.11838736936628931,cy:-.43272861497174187,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13840581278497113,cy:-.41740596810465674,cz:.5000000074505806,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.13513006749827772,cy:-.4437294899555085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hrEeQaibYaP57iKo4xufR4",selected:!1,towerId:"nHq7VyAiKvgNuPDrDMejYk"},{type:"Heliostat",cx:-.043409199470862934,cy:-.38833222820527735,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMTdANgm4PdxeiHcfwzGxe",selected:!1},{type:"Heliostat",cx:.05923081951219652,cy:-.3989402144978749,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t2umoGg8VspP5qdugHevfe",selected:!1},{type:"Heliostat",cx:.05959479121071805,cy:-.4232992941327282,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgWhQhAtyB8sh6AEqfnLMB",selected:!1},{type:"Heliostat",cx:.05886684781367504,cy:-.44569393186154516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PiJNb4AiKgYWDFqfiLnsX",selected:!1},{type:"Heliostat",cx:.08325295161461468,cy:-.4268352895635941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJMkxjENj2xtf6Ek94NEJ",selected:!1},{type:"Heliostat",cx:.10472728182738246,cy:-.4370503874749841,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xu9CszAWnNUQxfgY6e4BuN",selected:!1},{type:"Heliostat",cx:.05013152704915935,cy:-.37222380457577764,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mNvmxvTfLNasgrJJBceUa2",selected:!1},{type:"Heliostat",cx:.01773804588074696,cy:-.3392211805543633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPHMz8Zez8DHnqXVJDdKqX",selected:!1},{type:"Heliostat",cx:-.11802339766776783,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3u148SBduXqFBbKh774JFp",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.3584727112335216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dkiRia21pNiw2ZZ9ehmvPz",selected:!1},{type:"Heliostat",cx:-.20901632229813968,cy:-.3702593626697411,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCzcUVZHj8SBGWmTxeVCdH",selected:!1},{type:"Heliostat",cx:-.2290347657168215,cy:-.37968868381871645,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1A8dsYXQfAQaXjXYHYypfP",selected:!1},{type:"Heliostat",cx:-.186086105291286,cy:-.36318737180800925,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sWF3MtvJScjs42n3JPJzBs",selected:!1},{type:"Heliostat",cx:-.15988014299773887,cy:-.3368638502671194,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qJ6i6BJYiz4BtphokxmqSr",selected:!1},{type:"Heliostat",cx:-.13767786938792817,cy:-.33450651997987546,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8VArq9h668zQsZacfABpJx",selected:!1},{type:"Heliostat",cx:-.10965204860177363,cy:-.3180052079691684,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hDWFzcdWPkLhpNc2qDGY97",selected:!1},{type:"Heliostat",cx:-.07798651083040421,cy:-.3034683378644978,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3osCpGC4VNFjdLEnR9ssL",selected:!1},{type:"Heliostat",cx:-.04304522777234147,cy:-.29953945405242466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5bEZH7wqmT7kFk43Sb7TJN",selected:!1},{type:"Heliostat",cx:-.060515869301372795,cy:-.3164336544443391,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5KkN2FL8QnM1J53hB4Xn2H",selected:!1},{type:"Heliostat",cx:-.02521061454478851,cy:-.3168265428255464,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kDCxHQF3XiaNTHNK5V66Ez",selected:!1},{type:"Heliostat",cx:-.008467916412800107,cy:-.3022896727208758,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"crvXHP85BpYy7AfrCdfGqQ",selected:!1},{type:"Heliostat",cx:.004635064733973385,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MtreSAAK1C6J96mEDGMf5",selected:!1},{type:"Heliostat",cx:-.012107633398015015,cy:-.33332785483625366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e5jtkdQkg5vLr79YkGmJpg",selected:!1},{type:"Heliostat",cx:.02574542324821971,cy:-.3105403287262294,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YLAcSLk3xfAp4c5r9jnnW",selected:!1},{type:"Heliostat",cx:.011550527005881632,cy:-.2956105702403515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w1pjfJGLPZSQFpNzSdhVtD",selected:!1},{type:"Heliostat",cx:.03520868740977837,cy:-.33214918969263163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4HHLNX7pc8ynVjLa3M1tpQ",selected:!1},{type:"Heliostat",cx:.045035923269858516,cy:-.3510078319905826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ePKj6YLxFoSXibXbQUndAB",selected:!1},{type:"Heliostat",cx:.043944008174294044,cy:-.3046470030081197,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6nSgZWsKWCHiVuWk3E9WHV",selected:!1},{type:"Heliostat",cx:.030477055328999,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT5YZAVhbb3hZCQWannx3E",selected:!1},{type:"Heliostat",cx:.01737407418222549,cy:-.2677154951746322,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"giZWyJupVbt7L3N3Exx6KE",selected:!1},{type:"Heliostat",cx:-.005556142824628219,cy:-.2783234814672297,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bzoJ5edfakL2yrcp9BQhB9",selected:!1},{type:"Heliostat",cx:-.026302529640352984,cy:-.2865741374725833,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rKs5TmBLfGe1R4gmQLWbCL",selected:!1},{type:"Heliostat",cx:-.062335727793980285,cy:-.29089590966586376,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2CFM3oUCe7xRVZWhn2bpoF",selected:!1},{type:"Heliostat",cx:-.09727701085204306,cy:-.2999323424308765,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n3zXksYZLyDrdVy3Mr5bjz",selected:!1},{type:"Heliostat",cx:-.1307624071160199,cy:-.3136834357758604,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tKTj5ruzDm2LDUQttBKZuC",selected:!1},{type:"Heliostat",cx:-.15332865242435212,cy:-.30975455196378715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8Wrax3edyeNcguwLnRGXNE",selected:!1},{type:"Heliostat",cx:-.11765942596924632,cy:-.2912887980470435,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe4keTpM3Nxqxi8VTBVkBA",selected:!1},{type:"Heliostat",cx:-.10382850142542982,cy:-.2704657138430559,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cu8vDmF3mr6d486SRs8SVM",selected:!1},{type:"Heliostat",cx:-.08453800140379099,cy:-.2779305930859948,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qVS1NQxjbM2xAQU2dHHvRU",selected:!1},{type:"Heliostat",cx:-.0641555862865877,cy:-.2637866113625315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdggQyC48dvj95izyNr5AC",selected:!1},{type:"Heliostat",cx:-.045593029661991816,cy:-.27360882089271443,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vPgz2pQL9AveqJGFTntUuC",selected:!1},{type:"Heliostat",cx:-.02448267114774558,cy:-.2598577275504585,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4WD9oiEgpbrtpGdNkRWVx7",selected:!1},{type:"Heliostat",cx:.054863159129938666,cy:-.2763590395611656,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1w2pYGTGqA6behkJEfLcAj",selected:!1},{type:"Heliostat",cx:-.13949772788053558,cy:-.2932532399530801,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8mK23ihYB6sUrakd88UX1",selected:!1},{type:"Heliostat",cx:-.17553092603416284,cy:-.3140763241570676,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gzBAFojWt7yjzaVPbVngNE",selected:!1},{type:"Heliostat",cx:-.18353830340163557,cy:-.33725673864829914,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qW18dh2SyEZXtSs5ZncgMF",selected:!1},{type:"Heliostat",cx:-.20610454870996778,cy:-.34236428760399423,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MzjLhQ1k16rfXY1x49HYf",selected:!1},{type:"Heliostat",cx:-.16570369017408268,cy:-.28696702585376305,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"smNLCMky9o9MmdQJkRyv9F",selected:!1},{type:"Heliostat",cx:-.2516010110251537,cy:-.39068955849252135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nyYdfe47Tnu2fkkQUpKj1e",selected:!1},{type:"Heliostat",cx:.057410961019589084,cy:-.323898533687278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rZGMeCkjHUbBEScHVmXvBY",selected:!1},{type:"Heliostat",cx:.0650543666885403,cy:-.3466860597973021,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6UVpSPL6NHwkMTGMAGWMbc",selected:!1},{type:"Heliostat",cx:.06942202707079821,cy:-.3675091440012898,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vUjENc3i3UFtAwACin59Nf",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.38793933982407003,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bYd2te8sj3qc6nKgdBwKUp",selected:!1},{type:"Heliostat",cx:.09053238558504442,cy:-.3682949207637044,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x5qvaDTKu24dWCcZ1x9b4h",selected:!1},{type:"Heliostat",cx:.0861647252027866,cy:-.3459002830348876,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYrumHzsSzJLGjGWnmW78L",selected:!1},{type:"Heliostat",cx:.07997720632792127,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3atSERmb5y2o1fPkn3U3Sb",selected:!1},{type:"Heliostat",cx:.06651025348262624,cy:-.2967892353839734,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q8fwLHL82vQ4h4iHmsSoAx",selected:!1},{type:"Heliostat",cx:.09089635728356589,cy:-.2963963470027661,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rUX6PqLyYSPibFZmVVGKj1",selected:!1},{type:"Heliostat",cx:.09853976295251717,cy:-.32154120340003417,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a71RHg1a5mbtqFmRR1LeB1",selected:!1},{type:"Heliostat",cx:.10763905541555435,cy:-.34629317141609495,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rCZjDPu6hrV9hwK1sMBx7P",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.37104513943215556,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YTfKHrGkuKHP7GdujyydA",selected:!1},{type:"Heliostat",cx:.10982288560668325,cy:-.39383266554217977,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kT6EXQ8Utyx3h6apaMYxSG",selected:!1},{type:"Heliostat",cx:.11091480070224773,cy:-.41544152650858196,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nStqgmJn2aLSvqHghG4Pbp",selected:!1},{type:"Heliostat",cx:.1287494139298006,cy:-.421727740607899,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2E7Vc7NyKu7SLYD6MSVgmr",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.44294371319309384,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iJhGibH8hVHt3XFxuZ2EVR",selected:!1},{type:"Heliostat",cx:.14003253658396672,cy:-.4547303646293133,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZA3XqcWxDfsN537EKY5vj",selected:!1},{type:"Heliostat",cx:.14913182904700392,cy:-.4311570617568746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4cKpMCMNmB9Ss7pKbSCSsB",selected:!1},{type:"Heliostat",cx:.16660247057603533,cy:-.4445152667179231,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w54968Xiwo6dPjYZQGbBrb",selected:!1},{type:"Heliostat",cx:.17278998945090057,cy:-.4213348522266917,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6dckGmumPNSkFhq8gMs3qu",selected:!1},{type:"Heliostat",cx:.1920804894725394,cy:-.4354788339501549,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cwVuAxoZiUC1H5Wje2gfod",selected:!1},{type:"Heliostat",cx:.15095168753961133,cy:-.40561931697839915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ozYpByUV6vBaKhUdY2r3nZ",selected:!1},{type:"Heliostat",cx:.13238913091501553,cy:-.39697577259181077,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3E8kv3kvDQYPCgHGrTc3BH",selected:!1},{type:"Heliostat",cx:.1316611875179725,cy:-.37379535810057923,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"umYgCpqMpXPc71s29rAX3g",selected:!1},{type:"Heliostat",cx:.1298413290253651,cy:-.35022205522814037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4yFSXLahhMtG3gK56eWGg1",selected:!1},{type:"Heliostat",cx:.1251096969445857,cy:-.327041640736909,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTpNU9JuuqwPxdobYW4pBR",selected:!1},{type:"Heliostat",cx:.1174662912756345,cy:-.29757501214636045,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gNvHaW33K459kqY9u7BepY",selected:!1},{type:"Heliostat",cx:.15131565923813287,cy:-.35650826932745744,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8qgkQF7DCx79d2LxBy7hix",selected:!1},{type:"Heliostat",cx:.15167963093665435,cy:-.38243890248714013,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mPQfhExNEGN2zwyjRVpTpq",selected:!1},{type:"Heliostat",cx:.17388190454646504,cy:-.39540421906698137,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pDgnwEkgpE6PGtyJCXjDhU",selected:!1},{type:"Heliostat",cx:.1786135366272444,cy:-.3682949207636769,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cRreS1UagGBcRUbiWtwtBd",selected:!1},{type:"Heliostat",cx:.19535623475923283,cy:-.40719087050320085,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s7q7X6xUdhEACPxPGQCEo9",selected:!1},{type:"Heliostat",cx:.19826800834740468,cy:-.3726166929569573,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFGfHzaaJc5xaE2fHD963c",selected:!1},{type:"Heliostat",cx:.2153746781779146,cy:-.41819174517700564,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nw8E1dCRxuQCPzw91T7NeE",selected:!1},{type:"Heliostat",cx:-.22794285062125708,cy:-.3557224925650703,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jrTEnFovS1iifhRBBxC77v",selected:!1},{type:"Heliostat",cx:-.27198342614235704,cy:-.405226428597192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1HaVkVgC69Exxa4P4AuMRU",selected:!1},{type:"Heliostat",cx:-.2483252657384603,cy:-.3565082693274851,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qspACkTkjBfrx3FAarHvtL",selected:!1},{type:"Heliostat",cx:-.23267448270203633,cy:-.32979185940538763,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7itXceUu3MAQZY9syuA2us",selected:!1},{type:"Heliostat",cx:-.21302001098187603,cy:-.30739722167657085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w8VQxzaXGr6shiYCtL94LK",selected:!1},{type:"Heliostat",cx:-.19045376567354383,cy:-.2877528026162052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mYnEgxKjquMfzKB4NWPwU3",selected:!1},{type:"Heliostat",cx:-.16424780337999675,cy:-.26850127193704687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e9bXB5WFMrZz7h5xt76LKd",selected:!1},{type:"Heliostat",cx:-.13804184108644962,cy:-.25632173211962017,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gtNeJEcTRyufHLL6AokGYa",selected:!1},{type:"Heliostat",cx:-.11074396369733809,cy:-.2464995225894373,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fwRxb24K57nabopN8NEmN",selected:!1},{type:"Heliostat",cx:-.08126225611709761,cy:-.23549864791563258,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aUiiaf5Cq9kXkR5KzivtS2",selected:!1},{type:"Heliostat",cx:-.05141657683833565,cy:-.23274842924718137,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wXCs59HycWywP6dVX3RxFD",selected:!1},{type:"Heliostat",cx:-.023390756052181078,cy:-.23156976410080404,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQNYdG6Cfa2DE4YjEyjiXC",selected:!1},{type:"Heliostat",cx:.008274781719188292,cy:-.2315697641035319,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"obhiNFSAxtYYjH2nQGrkoa",selected:!1},{type:"Heliostat",cx:.035208687409778276,cy:-.2406061968713278,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iY6QUX8HJxFfcjwEAuVe3x",selected:!1},{type:"Heliostat",cx:.06177862140184686,cy:-.24846396449547406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gxxQzBr3C3fZtBLQB4XzAE",selected:!1},{type:"Heliostat",cx:.0887125270924369,cy:-.26221505783772997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpt9FEDEbwRR242xB1y6tv",selected:!1},{type:"Heliostat",cx:.11528246108450549,cy:-.2802879233732664,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fPPU5HqYqZdh2QetXJ2p7A",selected:!1},{type:"Heliostat",cx:.13894062148840217,cy:-.2991465656684621,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"esagbCU76EkkhqebaZmmUf",selected:!1},{type:"Heliostat",cx:.15932303660560546,cy:-.31918387311276286,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"prTqpkxvMuTWkeLJ8y2CgD",selected:!1},{type:"Heliostat",cx:.17970545172280875,cy:-.3443287295100309,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u7j14TV18gpXBNzei9H8w2",selected:!1},{type:"Heliostat",cx:.2022716970311409,cy:-.3498291668469332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JiM8J57ngXan5UMty5HT8",selected:!1},{type:"Heliostat",cx:.21937836686165088,cy:-.37968868381871645,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUofaDUcmMKbxLFL1oxkSL",selected:!1},{type:"Heliostat",cx:.23976078197885417,cy:-.38911800496769194,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uJfXK4rjScs7gFncayPnY8",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.22410999894243014,cy:-.35611538094627776,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dzS7KY8fPB4mrrF8bFf3Lo",selected:!1},{type:"Heliostat",cx:.24776815934632693,cy:-.36358026018921674,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNqpyqbCLz9tXo7A7xujcB",selected:!1},{type:"Heliostat",cx:.26997043295613765,cy:-.3726166929569849,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ko5XUjuP9RKm463DmDooY",selected:!1},{type:"Heliostat",cx:.1840731121050666,cy:-.32468431044969276,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"77xeiEQazj2KRhrDXmVzHK",selected:!1},{type:"Heliostat",cx:.20554744231783434,cy:-.3258629755933147,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQy87m9iTvmkmNKh4GrwyX",selected:!1},{type:"Heliostat",cx:.22993354611877403,cy:-.3317563013114243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeup3LyMyTrCKir2W1QKdM",selected:!1},{type:"Heliostat",cx:.25468362161823516,cy:-.3392211805543633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qrKKoaqQCswPARya6NG7Vs",selected:!1},{type:"Heliostat",cx:.27797781032361035,cy:-.3423642876040219,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pfjQmBxWC1Ae9mM7CjmUUs",selected:!1},{type:"Heliostat",cx:.16150686679673432,cy:-.2956105702403516,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aCwPMcxiojnSCdYJ4wNko",selected:!1},{type:"Heliostat",cx:.1848010555021095,cy:-.29875367729001007,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"auwCCmHc32MJvNubS1T1L3",selected:!1},{type:"Heliostat",cx:.20991510270009217,cy:-.2979679005275954,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cb6NtvzZtpvN9xsruY7hxj",selected:!1},{type:"Heliostat",cx:.18334516870802356,cy:-.2696799370806689,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9tGbEHGsevbnpUXRoj68w",selected:!1},{type:"Heliostat",cx:.16041495170116993,cy:-.2724301557491201,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"woL52bcsabXgpYHzS37qFg",selected:!1},{type:"Heliostat",cx:.13821267809135915,cy:-.2743945976551566,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3nJXEXXtvwSxAapdRK8NEU",selected:!1},{type:"Heliostat",cx:.11164274409929059,cy:-.25592884373841296,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dcTSduTDfjsNkLxPMwiTbk",selected:!1},{type:"Heliostat",cx:.1320251592164939,cy:-.24807107611426668,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBMKWzPqqAL7Zab4fQ5qqk",selected:!1},{type:"Heliostat",cx:.156775234715955,cy:-.24453508068340082,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uQW7nfUe52sF2ZYqMceBPR",selected:!1},{type:"Heliostat",cx:.10618316862146829,cy:-.23274842924718148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gDJUNMNv2fBuCXvNz8J9xz",selected:!1},{type:"Heliostat",cx:.12947735732684348,cy:-.22449777324182785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"d6wJ1UkGVratdvd1YcRyf5",selected:!1},{type:"Heliostat",cx:.08398089501165754,cy:-.2402133084901204,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pnwY9vWpqTutfMQk6qVUEd",selected:!1},{type:"Heliostat",cx:.07488160254862036,cy:-.2170328939961335,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9yJRVguxm2r3mSoLCoLCTo",selected:!1},{type:"Heliostat",cx:.054135215732895585,cy:-.2276408802914864,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bcvVnYRe7XAmehyShvHG4A",selected:!1},{type:"Heliostat",cx:.09671990445990958,cy:-.20838934961232802,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dt7UVCgK4oYcArc7w2oh6S",selected:!1},{type:"Heliostat",cx:-.2708915110467926,cy:-.3631873718080094,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fP7CoUPJXXfAbKaQg7Vxiz",selected:!1},{type:"Heliostat",cx:-.29382172805364637,cy:-.3702593626697411,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q3QCtRsjU5g348zquVGT6U",selected:!1},{type:"Heliostat",cx:-.3000092469285116,cy:-.3459002830348876,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"npmRnivscsJpT65RjQuyWE",selected:!1},{type:"Heliostat",cx:-.3254872658250157,cy:-.350222055228168,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aMe7m5ym2D1ye9JGywHJp4",selected:!1},{type:"Heliostat",cx:-.3061967658033769,cy:-.31643365444433913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"x6jK1HT196nDZpyUbLsgr1",selected:!1},{type:"Heliostat",cx:-.28144669030391567,cy:-.31289765901347333,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gFEgPjqWAT6jwNBL8DPadb",selected:!1},{type:"Heliostat",cx:-.27416725633348593,cy:-.3372567386483267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g65dCH4Q2jLJsbDZ61ZYsF",selected:!1},{type:"Heliostat",cx:-.25087306762811074,cy:-.33293496645504633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eac2nmUN2zb5BwB2jyKPsx",selected:!1},{type:"Heliostat",cx:-.2559686714074116,cy:-.3101474403450222,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2AwKtqmv9rBFEMsfpNMYmE",selected:!1},{type:"Heliostat",cx:-.2574245582014975,cy:-.28500258394775413,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5CasrCRncJRWJd761ErCUY",selected:!1},{type:"Heliostat",cx:-.23158256760647195,cy:-.25828617402565685,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9ZPBVxh6yErf9tk1x8bcei",selected:!1},{type:"Heliostat",cx:-.23413036949612234,cy:-.28382391880413216,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMvixKdLEKLj2KdxZ4Qc5j",selected:!1},{type:"Heliostat",cx:-.23303845440055787,cy:-.30739722167657096,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHCBTramJGKkCoc17G8w6M",selected:!1},{type:"Heliostat",cx:-.21047220909222566,cy:-.28539547232896145,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jcFjeFAEwtPS1NdpSqySNN",selected:!1},{type:"Heliostat",cx:-.2075604355040538,cy:-.2598577275504861,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"odG4uWtszFcFLXppnq6LTE",selected:!1},{type:"Heliostat",cx:-.18572213359276454,cy:-.26535816488738845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aiJA7beNej5o6BHcnWJBqC",selected:!1},{type:"Heliostat",cx:-.18171844490902817,cy:-.23707020113050004,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1VU7yTZrVeHM5DLMgFzzbW",selected:!1},{type:"Heliostat",cx:-.20464866191588185,cy:-.23353420600959607,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uUYHVbTbxr4tecMfV6CqzJ",selected:!1},{type:"Heliostat",cx:-.15660439771104553,cy:-.25042840640151054,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"brUZr84cwNpf9Pv6XatvDd",selected:!1},{type:"Heliostat",cx:-.13003446371897695,cy:-.23707020144046193,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6k3sEssXxYQA6FoYB2hbhc",selected:!1},{type:"Heliostat",cx:-.10091672783725796,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dpK548QXB9AsPut3M9Vcnb",selected:!1},{type:"Heliostat",cx:-.06961516176441004,cy:-.22174755457334913,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtAwYocNSDA6e4Za64GAHv",selected:!1},{type:"Heliostat",cx:-.03831359569156213,cy:-.21860444752369065,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jkbGDBANcy5EkzJfgAS6kT",selected:!1},{type:"Heliostat",cx:-.009559831508364626,cy:-.21388978694920285,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uiJqTbavrRHEj1q5r4U8Sg",selected:!1},{type:"Heliostat",cx:.025017479851176642,cy:-.21624711723644674,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tuZYTjdonfFPX1bpg7y2ib",selected:!1},{type:"Heliostat",cx:.04430797987281548,cy:-.2056391309438493,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r4K4Z2bUpqY9FZaarCV1EY",selected:!1},{type:"Heliostat",cx:.06578231008558323,cy:-.19267381436400796,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tJMsMVYvUGopRwcThFGEkr",selected:!1},{type:"Heliostat",cx:.009730668513274195,cy:-.19856714008211768,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1EfzqCs8cXPwvLAwQzbRpo",selected:!1},{type:"Heliostat",cx:-.025938557941831565,cy:-.19660269817608111,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"75CWYjqVhH1TfFGgb42qY2",selected:!1},{type:"Heliostat",cx:.028657196836391532,cy:-.1824587164526178,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tPC5C2vfzREdHf8vqzTMzw",selected:!1},{type:"Heliostat",cx:-.005920114523149727,cy:-.17892272102175202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9vv8piBWmfsjf8ThwaysgA",selected:!1},{type:"Heliostat",cx:-.04013345418416953,cy:-.17970849778692202,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pLA5NWUpepKR65o6v964r9",selected:!1},{type:"Heliostat",cx:-.07507473724223238,cy:-.1867804886459258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mUep51aC7r6anQJ2Y69oWq",selected:!1},{type:"Heliostat",cx:-.10783219010916623,cy:-.1950311446512794,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v8aDpwcpvGcDg3v8p4qNKb",selected:!1},{type:"Heliostat",cx:-.14240950146870754,cy:-.2009244703693891,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8BebM2PFswwW6mD8cum1bR",selected:!1},{type:"Heliostat",cx:-.17407503924007692,cy:-.2162471172364743,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6RzznrEY6WFg8gVGqs15oP",selected:!1},{type:"Heliostat",cx:-.05760409571320095,cy:-.19738847493852332,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aLcHwQEUZ4M4zGv7CBgFgZ",selected:!1},{type:"Heliostat",cx:-.08672183159491996,cy:-.20485335418146225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oqQfqaBV4xJeZR3tB1T2T",selected:!1},{type:"Heliostat",cx:-.12093517125593976,cy:-.21742578238009624,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5txUysL5P5gEVTjd4qAbBd",selected:!1},{type:"Heliostat",cx:-.15078085053470172,cy:-.22567643838544985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nxjHGtH2QdDPPuNWARdYaV",selected:!1},{type:"Heliostat",cx:.08580075350426505,cy:-.18324449321506,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3MqWmh3QRvAPZiVFebexdQ",selected:!1},{type:"Heliostat",cx:-.02266281265513821,cy:-.15770674843658467,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5EhLWiwwn5wwEm8Cab5Rch",selected:!1},{type:"Heliostat",cx:-.1322182939101059,cy:-.17381517206608452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jbXdsdAziZsqZTJyYSaySe",selected:!1},{type:"Heliostat",cx:-.3302995564539437,cy:-.3232776394449547,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzkMpsvKdJRAhMZuBmbsKe",selected:!1},{type:"Heliostat",cx:-.2919615095342722,cy:-.2642858401101529,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oySBSMeHYHH3hssNqfJFt4",selected:!1},{type:"Heliostat",cx:-.3097864662694538,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpTYVzTYQTHThRcwDXQgp7",selected:!1},{type:"Heliostat",cx:-.27314627742491365,cy:-.24237235713620253,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5jcBZmRyCrqNubtcJcYmJ3",selected:!1},{type:"Heliostat",cx:-.2508650815059366,cy:-.22045887416225235,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ihBmE1AmF8hgbvfU54TBod",selected:!1},{type:"Heliostat",cx:-.22660333483860592,cy:-.20175224235522163,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vNktHzm8eVBrmY9ceJEyKh",selected:!1},{type:"Heliostat",cx:-.20333186354545205,cy:-.1835800857426775,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aXsDLYWFiK5tzWC7G7kV8N",selected:!1},{type:"Heliostat",cx:-.17659442844267947,cy:-.16968373068602616,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wrEAnzFvbwLn8hcqMNt2T6",selected:!1},{type:"Heliostat",cx:-.15183754408826042,cy:-.1589942267962943,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aHFiestWCCRbctVu4eYUBx",selected:!1},{type:"Heliostat",cx:-.12212928286295759,cy:-.14937367329553564,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iQyvk9vYygwnymNpLwA1ob",selected:!1},{type:"Heliostat",cx:-.09242102163765474,cy:-.14349444615618318,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wU6MsDbikDwda4SfGFTpkJ",selected:!1},{type:"Heliostat",cx:-.06518844884779378,cy:-.13761521901683066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1MMFkArxgEmQhKrKtjXQNe",selected:!1},{type:"Heliostat",cx:-.03647046299666775,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nMNiG48VARtnEA4MPhmCia",selected:!1},{type:"Heliostat",cx:-.0057719263971881,cy:-.13547731823888426,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"juXSYXCPjT1kSTpJyz4PZH",selected:!1},{type:"Heliostat",cx:.021955784079761214,cy:-.1392186446002904,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xm44c3baqJPcnjTqQboEwN",selected:!1},{type:"Heliostat",cx:.05265432067924076,cy:-.1461668221286161,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ez6bNdTTq8NKVxiW1kxkEB",selected:!1},{type:"Heliostat",cx:.07939175578201328,cy:-.15525290043488818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jAsrrCW77dFgPQqWJowsZq",selected:!1},{type:"Heliostat",cx:.10563405319769754,cy:-.1664768795191066,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6p95wM2zt7dF6VyVSYTa8Y",selected:!1},{type:"Heliostat",cx:.13286662598755838,cy:-.18251113535370433,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"urDco6achFzxwb6nW5NRE4",selected:!1},{type:"Heliostat",cx:.15811864802906586,cy:-.1980109159938155,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nbH94KdABoDtfJEKfjLTiP",selected:!1},{type:"Heliostat",cx:.18089498163513137,cy:-.21244174624495343,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ovcrGPa9SJFbnrGQ2a6DuR",selected:!1},{type:"Heliostat",cx:.20218590217993174,cy:-.23328627882993053,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jA29coTpxRTwbmADu66SZT",selected:!1},{type:"Heliostat",cx:.2234768227247321,cy:-.25626871219285396,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wYgH98FR9WAhRGHRksz5bD",selected:!1},{type:"Heliostat",cx:.24229205483409053,cy:-.2840614223061567,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rvQJA6SbPF1oUJTEumsFBN",selected:!1},{type:"Heliostat",cx:.26061214925636067,cy:-.30757833086356673,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xxokrXE6rBVWV3B4eJnjZt",selected:!1},{type:"Heliostat",cx:.2848738959236912,cy:-.3102507068359997,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sAxtEYsJmsyoXdPfmuc1s8",selected:!1},{type:"Heliostat",cx:.31161133102646393,cy:-.3118541324194594,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8T4wmqCeWkBAqrmuSXUrRA",selected:!1},{type:"Heliostat",cx:.2932912366041937,cy:-.2824579967226693,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ai9GvKeDbhVcVvUsoTBxvk",selected:!1},{type:"Heliostat",cx:.26655380150142116,cy:-.2813890463336962,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oWG4eo4MGzPtqFQEAGgS9P",selected:!1},{type:"Heliostat",cx:.24823370707915113,cy:-.25680318738731295,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uxuSeH1NdDDYDjVawn2W68",selected:!1},{type:"Heliostat",cx:.22545737347308564,cy:-.2290104772740102,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dDuuVxV3oBzq3KrPvkBjRs",selected:!1},{type:"Heliostat",cx:.20367131524119686,cy:-.20816594468903316,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rx1WFJ81DESFNcvGrHsJMP",selected:!1},{type:"Heliostat",cx:.17990470626095456,cy:-.19052826327097566,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7sGn2cqtWU3Mo7BvT3jFuk",selected:!1},{type:"Heliostat",cx:.15415754653235875,cy:-.17075268107497177,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rSmf7fDWBvbLdzxL8Xzz7s",selected:!1},{type:"Heliostat",cx:.1279152491166746,cy:-.1536494748514009,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dADXAPCfntwkJab6qq7kB9",selected:!1},{type:"Heliostat",cx:.10117781401390209,cy:-.14082207018372264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qou5NZoEiG4Sej8W4a1Evy",selected:!1},{type:"Heliostat",cx:.07097441510151088,cy:-.12959809109950424,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qF5JaFWnyFcKW3nRxNY7TE",selected:!1},{type:"Heliostat",cx:.040771016189119595,cy:-.12158096318220536,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nCPi7SMXhZTpGxpiwtL6iF",selected:!1},{type:"Heliostat",cx:.009082204215463229,cy:-.11730516162631263,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWzE58GviTnatfkWEWzyMi",selected:!1},{type:"Heliostat",cx:-.022606607758193117,cy:-.11409831045939309,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iRKu923infq42Wt4hBDmAr",selected:!1},{type:"Heliostat",cx:-.050829455922230794,cy:-.11677068643182602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r8JJG8wHFXqt3Yp7tKGhqZ",selected:!1},{type:"Heliostat",cx:-.08251826789588713,cy:-.11890858720977243,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3m5iCgTUTpwZiaw5ii9jU",selected:!1},{type:"Heliostat",cx:-.11371194218245514,cy:-.12532228954361152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tVUTkzfhBEXpMMHQ6aFPP9",selected:!1},{type:"Heliostat",cx:-.1429250657206696,cy:-.13333941746091038,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jeTo5Man4ER6UL6bLqzkta",selected:!1},{type:"Heliostat",cx:-.17065277619761887,cy:-.14456339654512879,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1uJtuaoB5NwSgpmJn71K67",selected:!1},{type:"Heliostat",cx:-.19887562436165657,cy:-.16006317718799537,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d39qoKyMNYsyCCMsCYFgb",selected:!1},{type:"Heliostat",cx:-.2251179217773408,cy:-.17716638340883842,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c47HFaS15SjhNgAVfkMtKh",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.19373511443792277,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6Fhdsjojq36iUtNfZyfuJE",selected:!1},{type:"Heliostat",cx:-.27463169048617886,cy:-.21618307260635958,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBiw2NAG9iHHT94xeKa2u3",selected:!1},{type:"Heliostat",cx:-.29790316177933274,cy:-.23969998116376964,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u5PnNPgs1h8UTrfgpBZ8T6",selected:!1},{type:"Heliostat",cx:-.3172135315757796,cy:-.2642858401101529,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtSVS5mzodLcSXkBDvsbCD",selected:!1},{type:"Heliostat",cx:-.33602876368513807,cy:-.2904751246399958,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2PEu3vmBctRcCsffaLpmHw",selected:!1},{type:"Heliostat",cx:-.3642516118491758,cy:-.2894061742510226,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8DjkoLAZDwTnx8LtXHyg96",selected:!1},{type:"Heliostat",cx:-.34395096667855213,cy:-.2621479393322064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xggSKm6cv18X25oTxPwZS6",selected:!1},{type:"Heliostat",cx:-.3241454591950169,cy:-.2343552292189037,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"74PzS5xWGKsEmxZBzdP32Z",selected:!1},{type:"Heliostat",cx:-.3003788502147747,cy:-.2103038454670071,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iX6zZTVdQx5UJP9MjNZAnh",selected:!1},{type:"Heliostat",cx:-.2766122412345324,cy:-.18785588729857022,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sbLC2rgU8AGXKtdt3DXoPT",selected:!1},{type:"Heliostat",cx:-.2503699438188482,cy:-.1654079291301334,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4JaLAH32GnHtvkVTVkWkbH",selected:!1},{type:"Heliostat",cx:-.22412764640316404,cy:-.1461668221286161,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ekeh4M3jaMmHQZ3b3gvsRs",selected:!1},{type:"Heliostat",cx:-.19392424749077278,cy:-.13173599187747817,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkth3AnLMPCi7hv9DghmT5",selected:!1},{type:"Heliostat",cx:-.16372084857838157,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3q136vYQwnzoP6GsZr4LR",selected:!1},{type:"Heliostat",cx:-.13401258735307872,cy:-.10661565773660836,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Q5q7ho8EHkiogsarQwdbr",selected:!1},{type:"Heliostat",cx:-.09836267388271532,cy:-.09913300501379609,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jEaDTazLRHkWPu4uHy6TK8",selected:!1},{type:"Heliostat",cx:-.06914955034450089,cy:-.09325377787444358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSC1a2V48rvTMuzLPRYCD",selected:!1},{type:"Heliostat",cx:.0937507487075764,cy:-.11623621123736702,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hj6QoYH2tKJMaowWF4Jso4",selected:!1},{type:"Heliostat",cx:.05958624829847807,cy:-.10394328176690322,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nZGBsGGWLjxKfGS9cc7oqY",selected:!1},{type:"Heliostat",cx:.026907160950645,cy:-.09752957943033631,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8ZY8shpFLkqdci1tNW1GoZ",selected:!1},{type:"Heliostat",cx:.04869321918253367,cy:-.07668504684535922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pya46vaM37X8xjgxnFRbmD",selected:!1},{type:"Heliostat",cx:.037305052379500936,cy:-.047823386343083335,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sk9aYQ4ZatkgcWnoBw73BS",selected:!1},{type:"Heliostat",cx:.32316626777261265,cy:-.2887703826060557,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v6iF1wnA1zBqaP8XCMzytA",selected:!1},{type:"Heliostat",cx:.302689663582776,cy:-.2521615907181474,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7hRAbWEjhuuAWAcgNF2XiW",selected:!1},{type:"Heliostat",cx:-.3022663286455178,cy:-.036768285775775254,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uosW5t7FWQ4a7eUdsD1TcQ",selected:!1},{type:"Heliostat",cx:.27316237198008403,cy:-.2524973897551937,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4LmAuM9HRhZTEdxYDj2FKM",selected:!1},{type:"Heliostat",cx:.1526283445468355,cy:-.14381713160256596,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hUgdPZt8vUMBFhHDDodoRf",selected:!1},{type:"Heliostat",cx:.2526006849473534,cy:-.22571000218238366,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jj8uZxps5DeUSntdLoNoRc",selected:!1},{type:"Foundation",cx:-10.492368727264438,cy:-365.24616728285855,cz:3,lx:55.33009592617107,ly:28.860277897658587,lz:6,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{towerHeight:115,towerRadius:4},id:"nHq7VyAiKvgNuPDrDMejYk",selected:!1},{type:"Heliostat",cx:-.033635036707480734,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3n8DXtghY7C9fg7wtQN9mm",selected:!1},{type:"Heliostat",cx:-.0021782029294463968,cy:-.09478696259320521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3HRyeRtdwXWAfFooG7khA8",selected:!1},{type:"Heliostat",cx:-.018309912559207595,cy:-.06910229279682685,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9dMgqBzGAqQQo74ehqtuvW",selected:!1},{type:"Heliostat",cx:-.05218650278170614,cy:-.0712789597287233,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sM7ZRjDyGbb93H3X5XLsiN",selected:!1},{type:"Heliostat",cx:-.08767626396718083,cy:-.07432629343337838,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hGv3aS4uYRq5Hg62cAQgof",selected:!1},{type:"Heliostat",cx:-.12074626870819129,cy:-.07998562745630922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knf1JFPLgyb2dGzcbU3Hfe",selected:!1},{type:"Heliostat",cx:-.15341298070845777,cy:-.09173962888855014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eMVGrjZpnunqsrM98ZgPH2",selected:!1},{type:"Heliostat",cx:-.07235113981890764,cy:-.04428828977320709,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xe6PEzZpz5DHRWEZokrjXg",selected:!1},{type:"Heliostat",cx:-.055412844707658386,cy:-.014685619499415072,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7T7JfLgLbNJk4NRXzvFZJj",selected:!1},{type:"Heliostat",cx:-.036861378633433015,cy:-.040805622682172714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xyTpPrGnJXHGmcyUmTs8AF",selected:!1},{type:"Heliostat",cx:.016373263144779018,cy:-.07302029327424049,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1ak6Ue1atJ663QehAMdMAS",selected:!1},{type:"Heliostat",cx:.08412644358977613,cy:-.0873862950247572,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gCkqrGtT5r5WgEKYq1za1b",selected:!1},{type:"Heliostat",cx:.11598657010855452,cy:-.09826962968423955,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"huYwsUKyEQrq59ExuTrPfF",selected:!1},{type:"Heliostat",cx:.12243925396045897,cy:-.1265662997988937,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xrCktsCv7shjx1gwsg6JbF",selected:!1},{type:"Heliostat",cx:.0014456646770545306,cy:-.04437383909501622,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wwcyQu2t5aJGnwR9kKd4wM",selected:!1},{type:"Heliostat",cx:-.10818001791234799,cy:-.05010814303981461,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iKhLi69geSKfMMuqgo2q5J",selected:!1},{type:"Heliostat",cx:-.1453658221387092,cy:-.05740634806046707,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pzSKSvuwPWAxvfQT9qwaND",selected:!1},{type:"Heliostat",cx:-.17892963244691829,cy:-.06965690649074628,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFq75cYfVvsfdd6UUfTojE",selected:!1},{type:"Heliostat",cx:-.21249344275512747,cy:-.0842533165293234,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mrkR4hEhbnkEw1KxqSjipf",selected:!1},{type:"Heliostat",cx:-.18738095158927312,cy:-.1022381789016456,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eA11DgH7cfBxpC8D2vjzCt",selected:!1},{type:"Heliostat",cx:-.21925449806901132,cy:-.11657393876364154,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pehZwiBvURwYNmynuVV2oZ",selected:!1},{type:"Heliostat",cx:-.2460572530633366,cy:-.10145622836371855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cFxirFbRdujaw5Fc4RE5MD",selected:!1},{type:"Heliostat",cx:-.25064511202632916,cy:-.13481945131527276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4ypECbseMr3f8LhqjYosMu",selected:!1},{type:"Heliostat",cx:-.2764820019758139,cy:-.15645341619792116,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1cNTjGeFgiYqFUnXdLBRx6",selected:!1},{type:"Heliostat",cx:-.27696493449823417,cy:-.12309019324636697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cW4SyxcnHNPzxbSE2LWbQ5",selected:!1},{type:"Heliostat",cx:-.30642381836587107,cy:-.14654870938417855,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"17jGJ68AWAZgPARxJ6UPKN",selected:!1},{type:"Heliostat",cx:-.09514083980700053,cy:-.016484269908978957,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k736gpzLunYF9CA2xNNwgF",selected:!1},{type:"Heliostat",cx:-.13256811029457188,cy:-.02508572582617652,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bPf2FbThrjxqWcoYgrYC2A",selected:!1},{type:"Heliostat",cx:-.015939906130075388,cy:-.0141384182951978,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"th3tqLRe84Jqrqfr3ZWX4Z",selected:!1},{type:"Heliostat",cx:.021245898096285794,cy:-.01596296955036091,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"snGFqY54yf3wZYGqvNzdSK",selected:!1},{type:"Heliostat",cx:.06012196615111797,cy:-.021957923674468315,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1BLYib9F5TuccAF143Meb",selected:!1},{type:"Heliostat",cx:-.17023684704335335,cy:-.034469132281301135,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eFbcBWFKK11qf1tsDuwKoR",selected:!1},{type:"Heliostat",cx:-.20790558379213483,cy:-.0493261925019151,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"44juECoBc4iyV5WsYrieZZ",selected:!1},{type:"Heliostat",cx:-.24243525914518455,cy:-.06652910433631024,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abfBabbkXEUrKZnAsNhn3Y",selected:!1},{type:"Heliostat",cx:-.2759990694533937,cy:-.08790241903964963,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eAEEf1jS8EeUmfDXwtgbsh",selected:!1},{type:"Heliostat",cx:-.3090799472391825,cy:-.11214288571263284,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rYpKyT7tWdyjcNbsGsDtpP",selected:!1},{type:"Heliostat",cx:-.3390217636292396,cy:-.13898985418418947,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h7WTnDPjYZa2yv9AbeqYi8",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.18027347486919182,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tpzWYwzqd7mz7PeBQzCqEF",selected:!1},{type:"Heliostat",cx:-.3273202794054188,cy:-.20565406429518426,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nV956oZbqiSHUewdzFEGwb",selected:!1},{type:"Heliostat",cx:-.35187017047069313,cy:-.23327411749405838,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eotKsPbyYbFr8f4YZHBPV5",selected:!1},{type:"Heliostat",cx:-.3729623304000133,cy:-.26388012239010805,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4xcMmwR2N7YaJDgjrvx9Tg",selected:!1},{type:"Heliostat",cx:-.38229820446708945,cy:-.23140789768332368,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sfWCB3P6rkqZa4YAEd5bcf",selected:!1},{type:"Heliostat",cx:-.3594771789697922,cy:-.200428648825127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vHAMJhEkjkYLc4RSjerC3B",selected:!1},{type:"Heliostat",cx:-.3328526492229454,cy:-.1713156197776651,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qTSMmo3sfM3tmeNsXwJ95x",selected:!1},{type:"Heliostat",cx:-.3674299605824867,cy:-.16832966808048952,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kijHzENJV8TJe21WNjQuUC",selected:!1},{type:"Heliostat",cx:-.3916340785341656,cy:-.19893567297653922,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"49c4EBZdrrGLx2C1jkrU34",selected:!1},{type:"Heliostat",cx:-.400278406374051,cy:-.16571696034546088,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nmEdqVEsjHqXFAfs271Hv4",selected:!1},{type:"Heliostat",cx:-.3712334648320363,cy:-.13063202790364783,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iXeSufYc6rqYVyGdq4x3at",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:-.05187755189064192,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bevRTnppC9h4ebQw9qu31Y",selected:!1},{type:"Heliostat",cx:-.1969638155799482,cy:-.01529964360024112,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"etWFnXE45z2CNE1YXRNVxb",selected:!1},{type:"Heliostat",cx:-.11501558765783529,cy:.010080945825751317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpZi9pr2vKF4BbVGupqEXc",selected:!1},{type:"Heliostat",cx:-.40753964175955465,cy:-.12764607620647225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YdgbS7MbyK8fpmsbE8Fq6",selected:!1},{type:"Heliostat",cx:-.417912835167417,cy:-.0933076316889531,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3mPyk4qt31Y1bUaJMpdRT5",selected:!1},{type:"Heliostat",cx:-.38056933889911243,cy:-.10039926696974508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"boS825hvqkSAd3EMruDUop",selected:!1},{type:"Heliostat",cx:-.35532790160664735,cy:-.07501867754375265,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6neahnPeogbncgiTuDRsB6",selected:!1},{type:"Heliostat",cx:-.32870337185980053,cy:-.05337052773647434,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6JURGXaMnDK92DSmeMdQDb",selected:!1},{type:"Heliostat",cx:-.3892136667389977,cy:-.06531433452790446,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5mdtK7mbfjWr2ZwvqtMZoW",selected:!1},{type:"Heliostat",cx:-.3608602714241738,cy:-.03956050113976511,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7iLWKe2jZRMk3NyRqmNQUd",selected:!1},{type:"Heliostat",cx:-.3318153298821592,cy:-.018658839259536052,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6ZLXjXtPYgTp5YsiDKt92R",selected:!1},{type:"Heliostat",cx:-.30346193456733533,cy:-.00036988511433561826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8SHGbk2vJK2DPuaoNHYXh",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:-.0197785711459769,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2SSpgdAk9FyHtarh2kemjh",selected:!1},{type:"Heliostat",cx:-.427940255461684,cy:-.05598323547423079,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cxfJsRXsJGHcRLJiW1ZC4T",selected:!1},{type:"Heliostat",cx:-.3978579945788831,cy:-.026123718502475,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"983fNrC7GvsmHKyDBU7uKS",selected:!1},{type:"Heliostat",cx:-.3660468681281051,cy:-.000743129076482581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aCoTGoQTygQRfEwZWp9pEu",selected:!1},{type:"Heliostat",cx:-.24986710196004633,cy:-.005222056622245941,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAPfaS9ZavWB56qRknahL4",selected:!1},{type:"Heliostat",cx:-.27545431236610685,cy:.01642609318227701,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7aTwzASE97BSxQ69zqRKB9",selected:!1},{type:"Heliostat",cx:-.22013061419084085,cy:.007468238090750264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6d8F7whR2UWQ5Rpw6zgpoS",selected:!1},{type:"Heliostat",cx:-.24779246327847385,cy:.03135585166815488,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gs9ZBEK1748RpsjnfsZckK",selected:!1},{type:"Heliostat",cx:-.21840174862286374,cy:.042926414494710276,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2QLnVz31nbfJHbaqyshx4N",selected:!1},{type:"Heliostat",cx:-.19316031133039863,cy:.019038800917305643,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bT2uoRqcV2JsvxKNXGq7Tp",selected:!1},{type:"Heliostat",cx:-.16411536978838387,cy:.029116387895273214,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wDnu6VsXGRf96DxoNbPRXh",selected:!1},{type:"Heliostat",cx:-.18797371462646742,cy:.052630757510530896,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7fXVXPkHvH4EiWQgs5X5EV",selected:!1},{type:"Heliostat",cx:-.1578914537436665,cy:.06233510052635154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iVLsKahc6Jz8H79epHER9m",selected:!1},{type:"Heliostat",cx:-.13472465513277385,cy:.03658126713821217,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W1dZKG5G4kdvvYuTKg6J8",selected:!1},{type:"Heliostat",cx:-.10637125981794995,cy:.041806682608269405,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8RbNvvwi1FQxJhzm68oxMb",selected:!1},{type:"Heliostat",cx:-.07594322582155359,cy:.04628561015403278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rv9MXPBD3e63TfH2kDubmC",selected:!1},{type:"Heliostat",cx:-.03064694794055447,cy:.016426093179521616,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eoYDEHmumqWS9SMAreWLME",selected:!1},{type:"Heliostat",cx:-.0451694187115619,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nisA2ZxiN5cGyrqqmqFcTt",selected:!1},{type:"Heliostat",cx:-.4355472639607831,cy:-.018285595297416656,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9uTLgXRt31u5LbkmoNmmzh",selected:!1},{type:"Heliostat",cx:-.44280849934628674,cy:.024264216387335374,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"arUmBddCd3ZN9RM4YvwTeh",selected:!1},{type:"Heliostat",cx:-.40096995260124174,cy:.009707701863604397,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"voKSeBcj1DBKGLLTkPQVxi",selected:!1},{type:"Heliostat",cx:-.3681215068096776,cy:.038074242986772415,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"55CnZxFzVkzTP2ZZcBc3GF",selected:!1},{type:"Heliostat",cx:-.4082311879867454,cy:.05337724543479727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"72WvPCXQWgeW6smtGCDqkn",selected:!1},{type:"Heliostat",cx:-.4500697347317904,cy:.06793375995852818,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2C1jZdwUGxFZt8JTCcp2dF",selected:!1},{type:"Heliostat",cx:-.40892273421393627,cy:.097793276930284,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pUaEdfwMSZ7FJNPu8MbTVu",selected:!1},{type:"Heliostat",cx:-.37192501105922715,cy:.07763810297434884,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rqc5Shh25yv3QUcC5PJfr7",selected:!1},{type:"Heliostat",cx:-.3352730610181133,cy:.019412044879425033,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3cBVQbPPnpMt6C62XatwGo",selected:!1},{type:"Heliostat",cx:-.3058823463625032,cy:.03956721883536021,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8B4aaX12Cwz7SWukzQHxfu",selected:!1},{type:"Heliostat",cx:-.3359646072453042,cy:.05897590486975687,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8js9abopRBUDoNq8C8Vkee",selected:!1},{type:"Heliostat",cx:-.30415348079452614,cy:.07726485901222946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wSFcW9Bi2CEV2NiqkVLGgK",selected:!1},{type:"Heliostat",cx:-.2761458585932977,cy:.05748292901568581,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oEtkxCk7V55pZMXbYEUFoy",selected:!1},{type:"Heliostat",cx:-.3373476996996858,cy:.09891300881948024,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7JVKmoPwsr4YiKcdWdSdzy",selected:!1},{type:"Heliostat",cx:-.24433473214251972,cy:.06979997976653508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i7yUerNEdQNGoZikCwAKi5",selected:!1},{type:"Heliostat",cx:-.27234235434374815,cy:.09443408127096152,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gK1KuDQ1xA1jepW3pkMSYy",selected:!1},{type:"Heliostat",cx:-.21321515191893256,cy:.08472973825514087,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b4J6Xf2MrSmiCKmRPp5JwY",selected:!1},{type:"Heliostat",cx:-.1807124792409637,cy:.09406083730881452,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nKkV64v1XzdkrnhFcrMZoK",selected:!1},{type:"Heliostat",cx:-.24053122789297018,cy:.10787086390825154,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xgNnXwqvuHbn1SRpxKx5iF",selected:!1},{type:"Heliostat",cx:-.14820980656299493,cy:.10301869240034127,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h9437PNFcensdgYCPvaUZ9",selected:!1},{type:"Heliostat",cx:-.12573455417929308,cy:.07054646769355681,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mN7BSbm2K54or4ve2veKYY",selected:!1},{type:"Heliostat",cx:-.09599806641008757,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vnVRMYugJhGEe7GvuV5yNs",selected:!1},{type:"Heliostat",cx:-.11466981454423983,cy:.1086173518325455,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bccxZepk5qSe634uWX42ei",selected:!1},{type:"Heliostat",cx:-.061766528164141625,cy:.07913107882293664,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i6mjvJmXWoNbbtScNe4jLc",selected:!1},{type:"Heliostat",cx:-.02995540171336369,cy:.07987756674723054,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kgFQrpmB4Uo3QRzYrM9z5D",selected:!1},{type:"Heliostat",cx:-.016470250283142505,cy:.04889831788903389,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"i8SzwQJPy7H5YyXTGe1xVc",selected:!1},{type:"Heliostat",cx:-.0026393257393260423,cy:.016426093182249437,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"apvcd8RadTsSXecLmteBdy",selected:!1},{type:"Heliostat",cx:.015340876167635433,cy:.046658854116152185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"12C7onFbSbSHFPJc8uUrKy",selected:!1},{type:"Heliostat",cx:.03332107807459691,cy:.07539863920146715,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gb2pH6ANCuJC8qsYCvxT6m",selected:!1},{type:"Heliostat",cx:.0015099516238188731,cy:.0757718831636141,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tkeABsZCEiybQvrrxUR8jq",selected:!1},{type:"Heliostat",cx:.044731590823245536,cy:.04329965845682966,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hg9DPmH5cjxeCBJWkCFhVc",selected:!1},{type:"Heliostat",cx:.06340333895739782,cy:.07017322373140988,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oJz5XyB57AT2gBG4awFXj6",selected:!1},{type:"Heliostat",cx:.05095550686796301,cy:.10936383975683939,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tHRNmQUNj6K1TnE56YNmfY",selected:!1},{type:"Heliostat",cx:.01983592664437585,cy:.11197654749186799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpjExf4xnHsCihbG1Z3uYw",selected:!1},{type:"Heliostat",cx:-.01301251914718843,cy:.11421601126474966,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sBN5FEivyAsVk4UNG51jA7",selected:!1},{type:"Heliostat",cx:-.04551519182515727,cy:.11048357164328021,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8pUZKWg5usB1LmJ4FqHgif",selected:!1},{type:"Heliostat",cx:-.08147559563908026,cy:.1112300595675741,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"23RBiRbrVGDew4P5junKUY",selected:!1},{type:"Heliostat",cx:.07446807859245108,cy:.03732775506247852,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tDUutW1fYKC3zU8km6x7oT",selected:!1},{type:"Heliostat",cx:.08172931397795467,cy:.0033625545071062956,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"t5hoPXGgvmAKCC98bFLoS1",selected:!1},{type:"Heliostat",cx:.07101034745649691,cy:-.05411701566352362,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ffh2ust2D3LvEonm64PhVV",selected:!1},{type:"Heliostat",cx:.09735040458634132,cy:-.0309061006268814,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1vWwMCYh2GFGH8H8yyPFj7",selected:!1},{type:"Heliostat",cx:.10692860717901208,cy:-.06523213814288877,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a7CNQPaFqLRU1KsDr6sWL1",selected:!1},{type:"Heliostat",cx:.13259819012736962,cy:-.0433131021386913,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dWyjm3KRE2b2cp2DQn99im",selected:!1},{type:"Heliostat",cx:.1417932646163335,cy:-.07970697324000028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4BSY8QjyTYnsJg4VvVw4dF",selected:!1},{type:"Heliostat",cx:.14447516134228128,cy:-.11237874388776634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pWN8hVQSUWP9zSJ9mBA4u6",selected:!1},{type:"Heliostat",cx:.17282664101658657,cy:-.09790390879065478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vwjTwcPDdQ84YqGSgB7GCM",selected:!1},{type:"Heliostat",cx:.16899535997951837,cy:-.05944220410404414,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2uj8zbaPpR6EuihS2a1eyt",selected:!1},{type:"Heliostat",cx:.16516407894245005,cy:-.027184000173338437,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jTBqs9gubADDLHUczweTht",selected:!1},{type:"Heliostat",cx:.17704105015736168,cy:-.13098924615548113,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9rczuT28G81XBnJWyv8p47",selected:!1},{type:"Heliostat",cx:.18010607498701633,cy:-.1611796165036406,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c3Mvio8y22xwBSB8LsByak",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.08136124010826916,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ir46DZVbKinR95v215bS7Z",selected:!1},{type:"Heliostat",cx:.20424314552054657,cy:-.11775511120957816,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"njGEA2SJu4eVEC5eQQDDW1",selected:!1},{type:"Heliostat",cx:.20615878603908072,cy:-.1537354155938268,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9KeeMj5e9pcmeJWLsZy8iA",selected:!1},{type:"Heliostat",cx:.20769129845390802,cy:-.18020368548568788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8fkWUtc7gCzjPcENNAC8Zy",selected:!1},{type:"Heliostat",cx:.23106211278002461,cy:-.2037769883581267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uuc6jUmEutuWsardRqMkFX",selected:!1},{type:"Heliostat",cx:.23144524088373142,cy:-.172759484578602,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sE5cQvdygFYu5rEEvgstNz",selected:!1},{type:"Heliostat",cx:.23336088140226557,cy:-.1396741472137756,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tBMpyUhxX17cCUPtBhbcxe",selected:!1},{type:"Heliostat",cx:.23451026571338607,cy:-.10493454298070795,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dqzcMfJ4ym9JvrApbs8TiH",selected:!1},{type:"Heliostat",cx:.239107802957868,cy:-.06978137203057995,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9wqmsXX7SDkbVjcEEQp2vy",selected:!1},{type:"Heliostat",cx:.263628001595105,cy:-.1322299463066897,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ca7PcPtrbnFPvGWK55EzEv",selected:!1},{type:"Heliostat",cx:.26247861728398447,cy:-.166555983822697,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8xXw6WsWAYY3TxnJd1hKSR",selected:!1},{type:"Heliostat",cx:.2574979519357958,cy:-.20005488790458376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tGtL7cXW4ctq2Uq6fzc5Ri",selected:!1},{type:"Heliostat",cx:.29197948126941037,cy:-.15414898231088717,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2r3Fu8Vht4LfDNGkzD7AvK",selected:!1},{type:"Heliostat",cx:.28814820023234206,cy:-.1930242537145581,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uFPPCk3ug65jVcFFKfczUf",selected:!1},{type:"Heliostat",cx:.2801025100544987,cy:-.2236281907770225,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rW95SzX5M1aYg6UfYWzGAM",selected:!1},{type:"Heliostat",cx:.10462983855677109,cy:.02864750662977845,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dRWphEN9DXnANHh3HGV9Tw",selected:!1},{type:"Heliostat",cx:.09505163596410039,cy:.06380067757990648,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f3KHqcW8BgK3tf3keNrHS8",selected:!1},{type:"Heliostat",cx:.12646814046806035,cy:.055942909955760275,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1mJ8JwzL5NHxUYw6Tb4Etj",selected:!1},{type:"Heliostat",cx:.13068254960883546,cy:.019135472137390887,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3pkNWKyy5jkQRFLV2tqeZu",selected:!1},{type:"Heliostat",cx:.15635213255719296,cy:.04270877500982969,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gMemMLxQbof4Hnm4rEqFfH",selected:!1},{type:"Heliostat",cx:.1513714672090042,cy:.08571971358410398,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBbkhYbWAwoxYepnBMn2ZE",selected:!1},{type:"Heliostat",cx:.1820217155055505,cy:.07124487848974785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3PFAWYvLqr3uBjfJT2HqhF",selected:!1},{type:"Heliostat",cx:.1617159260090886,cy:.005901337191487905,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wAsMtRtTkzAZzoJ2RJuqNS",selected:!1},{type:"Heliostat",cx:.1866192527500325,cy:.03030177349804736,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n8Qqyi38hh2Cq2Rg8LRWsK",selected:!1},{type:"Heliostat",cx:.1881517651648598,cy:-.0065056643203219655,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aTmzkSNn2tGVv3B7EjqNq9",selected:!1},{type:"Heliostat",cx:.21420447621692415,cy:.016240505117996153,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oboEC75Sh6grnL1ugtrAZQ",selected:!1},{type:"Heliostat",cx:.21267196380209683,cy:.05635647667009271,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"txMcY9WtX2FmTTTqJTDcKZ",selected:!1},{type:"Heliostat",cx:.21535386052804464,cy:-.01932623254921973,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xeQUeinFn2YWLHA81FyBh1",selected:!1},{type:"Heliostat",cx:.2433222120986431,cy:-.0007157302815049064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mX9ZXrGRLU9CBRLNchW8ou",selected:!1},{type:"Heliostat",cx:.2417896996838158,cy:-.03628246794869324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rJwEb8gHQVFi61bjjyYKc7",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.0398138079904074,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9XuvM5Tt9pWjTTWzyKkrHv",selected:!1},{type:"Heliostat",cx:.241406571580109,cy:.07744837924289738,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YjVMHkvo8t3pPXSKyVA2j",selected:!1},{type:"Heliostat",cx:.27205681987665525,cy:.05842431025812222,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"c4jmXgazz6s47tNDfcuR2H",selected:!1},{type:"Heliostat",cx:.27320620418777575,cy:.02037617228857191,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fzYUTKuZB2g898qPKopLu6",selected:!1},{type:"Heliostat",cx:.27090743556553476,cy:-.01973979926628006,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ezm9yDFEjEYm2TtNgfysUH",selected:!1},{type:"Heliostat",cx:.26516051400993235,cy:-.053652270065227096,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a8WSwg1KasTJjpUskv4dYS",selected:!1},{type:"Heliostat",cx:.29044696885458304,cy:-.07350347248412291,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ghekwWKHGiE7zrCodtNu1D",selected:!1},{type:"Heliostat",cx:.2958107623064787,cy:-.03876386825105522,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rNNdsfuPqE1EPczC46MeS2",selected:!1},{type:"Heliostat",cx:.3004082995509606,cy:.00011140315261576157,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4Chbg5MtX5989PatXAvQ1e",selected:!1},{type:"Heliostat",cx:.30423958058802886,cy:.0385731078392264,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2W9vhrDsJ8DwZBrvsuaxMH",selected:!1},{type:"Heliostat",cx:.33450670078086836,cy:.012518404664425633,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eRsGbJw5AvY9EH6xgwRHFB",selected:!1},{type:"Heliostat",cx:.33297418836604104,cy:-.023875466436883364,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"83tmu295aDGPuUQDG8irif",selected:!1},{type:"Heliostat",cx:.32224660146224987,cy:-.06399143799173532,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9j8V5Vajb7oyLaPxiuJtfW",selected:!1},{type:"Heliostat",cx:.31573342369923374,cy:-.09831747550774267,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"itsvnfebiYWqAJ69gutWHW",selected:!1},{type:"Heliostat",cx:.3590268994181054,cy:-.05075730304580478,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wz22ek3hjYTur5JCY2Nij9",selected:!1},{type:"Heliostat",cx:.38929401961094495,cy:-.08053410667414851,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2ztRUM2FUvLR438Y5J9EgX",selected:!1},{type:"Heliostat",cx:.3490655687217279,cy:-.08963257444947577,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"471Dah549XrTt5dob8iJnR",selected:!1},{type:"Heliostat",cx:.37588453598120586,cy:-.12023651151194013,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"p1pbcbEdVAG2P5ABxQu5Ke",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:-.12478574539960376,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"47fgpHN5zioMupSTaZWDSp",selected:!1},{type:"Heliostat",cx:.3647738209737079,cy:-.15249471544264584,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pCDe1bzWHZ6jS57fAK8pwn",selected:!1},{type:"Heliostat",cx:.3295260354326796,cy:-.15828464948149043,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCcRtCsumKV9DfWxadqTW5",selected:!1},{type:"Heliostat",cx:.3574943870032782,cy:-.19219712028043748,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ayXH3c1sFzNjaSdMZ81p9c",selected:!1},{type:"Heliostat",cx:.3184153204251815,cy:-.18640718624159286,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4evv7fQdgSNSipNwTWwGwC",selected:!1},{type:"Heliostat",cx:.3437017752698323,cy:-.22156035719172085,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rAh8823N9Vwi6vKYFAJd2C",selected:!1},{type:"Heliostat",cx:.3122852707658723,cy:-.22280105734290184,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5PCkHADofgHMwo1pjfyL9y",selected:!1},{type:"Heliostat",cx:.3333573164697478,cy:-.2554728279906679,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3xqoNyUGDK5ydaeVXeiyKG",selected:!1},{type:"Heliostat",cx:.39810596599620196,cy:-.04538093572674829,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aW5zhg7bZS1fUR7XJst2Gi",selected:!1},{type:"Heliostat",cx:.36630633338853513,cy:-.01353629851037508,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gQLhow3fXWpMkfRe8wtCzu",selected:!1},{type:"Heliostat",cx:.40883355289999307,cy:-.007332797754470145,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"knRosv43m5AQ9razdiCqcM",selected:!1},{type:"Heliostat",cx:.3735857673589649,cy:.024511839459175226,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eEqU4FAzLxkJH9Tf34bQUP",selected:!1},{type:"Heliostat",cx:.3402536223364709,cy:.05304794293633799,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZpNgZfZfytEBxpebNdzEb",selected:!1},{type:"Heliostat",cx:.3053889648991494,cy:.07662124580877676,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6EPw6254wjubgGXjScbc35",selected:!1},{type:"Heliostat",cx:.27129056366924165,cy:.09729958166179327,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"79MBztAVAqPVNos51gf6eg",selected:!1},{type:"Heliostat",cx:.24293908399493633,cy:.11673721736362871,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eXofdMYHTSynXhcqPKpjbV",selected:!1},{type:"Heliostat",cx:.20960693897244223,cy:.09026894747176761,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cj1HzxwMYNjCeedqVrynoE",selected:!1},{type:"Heliostat",cx:.20769129845390807,cy:.13162561917780058,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8SqHt7enenNVrryGKLRHHj",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.0365052742539248,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoiTBXczJ25keVDxYZkuSh",selected:!1},{type:"Heliostat",cx:.38009894512198106,cy:.07000417833581148,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7VCY1aEW3s9HeKvSty5XL2",selected:!1},{type:"Heliostat",cx:.41956113980378434,cy:.088201113886466,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fbUybRMcP7qMoBEYqmnx6h",selected:!1},{type:"Heliostat",cx:.3444680314772459,cy:.0993674152470949,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sxsUBxLvQKPU2sAKzPcwC8",selected:!1},{type:"Heliostat",cx:.3820145856405152,cy:.12335428483659402,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5V4WAQXnKXNyTXXR6qBDXx",selected:!1},{type:"Heliostat",cx:.3069214773139766,cy:.12459498498777499,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"utggTKHEx3AjG5Z1EoMDCs",selected:!1},{type:"Heliostat",cx:.3452342876846595,cy:.14775472114315344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uPUupWhDTobXtkfAk4CHMp",selected:!1},{type:"Heliostat",cx:.1758916658462413,cy:.10929301645654278,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v4iP1MonNTVEo1nyN2hwab",selected:!1},{type:"Heliostat",cx:.1410270084089199,cy:.12045931781717169,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8V8hDrjxrjeZN3UkWbonBQ",selected:!1},{type:"Heliostat",cx:.118422450290217,cy:.09564531479355189,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bqVYQHX1yQnt7BZjYd9afT",selected:!1},{type:"Heliostat",cx:.08585656147513654,cy:.10308951570063785,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3YF4NAGXk4jm9beYYTb7SN",selected:!1},{type:"Heliostat",cx:.10999363200866677,cy:.12873065215837826,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7s9yjAjPK8QCDpuAxkaDQK",selected:!1},{type:"Heliostat",cx:.13528008685331744,cy:.15892102250378232,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ueGb2uspjMAYZriJiCCScw",selected:!1},{type:"Heliostat",cx:.17091100049805252,cy:.1489954212943344,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kR8wrTUausCmyTieuq4dHH",selected:!1},{type:"Heliostat",cx:.2735893322914826,cy:.14279192053842946,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"m8S6ZiPTBsqdQVioZbCw5M",selected:!1},{type:"Heliostat",cx:.23719216243933391,cy:.16222955624026494,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4MeKS14wCpVzh8CtWpLZum",selected:!1},{type:"Heliostat",cx:.20117812069089197,cy:.17753152477149714,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fCUJrfBrQ7HRvGk8i2jeaR",selected:!1},{type:"Heliostat",cx:.310752758351045,cy:.1696737571473509,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3hbDt2ugbLLKbd29gwYrUC",selected:!1},{type:"Heliostat",cx:.38546273857387664,cy:.17008732386441117,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hvEWWKEMAmdPXEoa4V4QAu",selected:!1},{type:"Heliostat",cx:.09811666079375506,cy:.17091445729853186,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aV6CVn4L6wr2GaKZrT1Vjm",selected:!1},{type:"Heliostat",cx:.0739795902602248,cy:.13658841978252445,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r3m2DEYQLd3mBwfFtEcVau",selected:!1},{type:"Heliostat",cx:.0375824204080761,cy:.14237835382136915,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e3Lco1rBEM6kMAUmL9NLgr",selected:!1},{type:"Heliostat",cx:.06248574714901997,cy:.1758772579032558,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"18MGWB6ff2CJeKikAUYJnL",selected:!1},{type:"Heliostat",cx:.0031008910744615347,cy:.14610045427766746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fYFCkzek2ccB6Pe6iDrEb1",selected:!1},{type:"Heliostat",cx:-.029464997740618924,cy:.1469275877090603,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6K52upKmX7aSVP2ujZ9n2m",selected:!1},{type:"Heliostat",cx:-.06624529569647447,cy:.14527332084081898,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5tcTbFYhFAxjhJQRk4KSQo",selected:!1},{type:"Heliostat",cx:.02685483350428495,cy:.18084005850797985,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"n61CQiJbnjFcrmJ4Qd5q6E",selected:!1},{type:"Heliostat",cx:-.013373617384932066,cy:.18249432537622118,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rtxr56Ffqv7oisuWAfzE9f",selected:!1},{type:"Heliostat",cx:-.05015391534078766,cy:.18290789209603692,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ssnbBpNmb57x9QcPXWiUPm",selected:!1},{type:"Heliostat",cx:-.089616110022591,cy:.18166719193937264,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"abSokmDd3oxiagFbwYw4gT",selected:!1},{type:"Heliostat",cx:-.09881118451155492,cy:.14320548725548987,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wuQC7dYsNVP7PrDHN1NRGs",selected:!1},{type:"Heliostat",cx:-.12524702366732607,cy:.17753152477149722,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6aJAfZK2dApF6de3TZNo36",selected:!1},{type:"Heliostat",cx:-.13827337919335825,cy:.1365884197825246,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"xqsuyu9jqMNNR21mXVQ1a5",selected:!1},{type:"Heliostat",cx:-.17275490852697287,cy:.12997135230955933,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"swiDJhjoNyhP63XMsVg6ur",selected:!1},{type:"Heliostat",cx:-.16087793731206115,cy:.17050089058147164,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aWi6rcrzKqVDW7CfrF1871",selected:!1},{type:"Heliostat",cx:-.19804136337162356,cy:.1618159895232047,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYUqz4sh2LFY1owPxxLGX1",selected:!1},{type:"Heliostat",cx:-.23597104563859955,cy:.14899542129433452,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vv5n4PmfmBKXSGGNbevTey",selected:!1},{type:"Heliostat",cx:-.14402030074896066,cy:.21144399557044424,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6afKxsaAMJBNRnAKoKzPU4",selected:!1},{type:"Heliostat",cx:-.18654752026041868,cy:.2039997946633583,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1YsLhxgaZg9Q87hZLXmeRs",selected:!1},{type:"Heliostat",cx:-.22486033063110153,cy:.19200635986860873,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2d8xeYnZjcK5AiBTwEWzgx",selected:!1},{type:"Heliostat",cx:-.1091556433116393,cy:.21930176319459052,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vckAj7b593ahoDXTD68N3y",selected:!1},{type:"Heliostat",cx:-.07045970483724957,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6pp7NwNe4PgJKBVJsV7dGd",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.22095603006283185,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1pADApoC8hWnpbvYEvM5UA",selected:!1},{type:"Heliostat",cx:.010763453148598107,cy:.2197153299116508,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4PGQjGdFqm6pw32fwJZufu",selected:!1},{type:"Heliostat",cx:.04831000731186732,cy:.21847462976046983,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oR8yoN1AtfF6iLT3X2SqWy",selected:!1},{type:"Heliostat",cx:.08930471440849803,cy:.21061686213632358,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nETqDwZvxQ1dJWeqM7Z2dH",selected:!1},{type:"Heliostat",cx:.12608501236435357,cy:.20151839436099633,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o4tZaxHBZHKFtmG7xSce1i",selected:!1},{type:"Heliostat",cx:.16363156652762278,cy:.19117922643448812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"csmW9k51tdyoZ24jFE76GS",selected:!1},{type:"Heliostat",cx:.19543119913528956,cy:.22385099708225412,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pBFBKRX26RSYKyWNZJF5qd",selected:!1},{type:"Heliostat",cx:.23336088140226563,cy:.20772189511690126,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vRw1xgf1Qf5Yz5VVToBzXd",selected:!1},{type:"Heliostat",cx:.2716736917729485,cy:.1899385262833071,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rEtpBVboMR7XjEgcux4547",selected:!1},{type:"Heliostat",cx:.3076877335213904,cy:.21888819647753016,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2FCByMFsbYZPgKoVW6ncqW",selected:!1},{type:"Heliostat",cx:.34791618441060734,cy:.19490132688803105,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7CpYfRknsBW7rVbRGTPnhL",selected:!1},{type:"Heliostat",cx:.3460005438920733,cy:.24494289965233088,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dMS3yRiwnF88dhiVtoh9c5",selected:!1},{type:"Heliostat",cx:.3015576838620812,cy:.27223830297831264,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dbBWX8iuPtZmjpKk4PQdKc",selected:!1},{type:"Heliostat",cx:.26937492315070755,cy:.23708513202818465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dYZSyQzqqkq28acBvqThmF",selected:!1},{type:"Heliostat",cx:.22838021605407682,cy:.2548685008617788,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pQGbd5QAk8pPfgDRf2pnvw",selected:!1},{type:"Heliostat",cx:.2640111296988119,cy:.29002167181190686,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gKRa4wpCCZ2YuQXE517nZ2",selected:!1},{type:"Heliostat",cx:.21880201346140607,cy:.3073914739284407,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"uCywX5XZ4CUAJkRyS3FniH",selected:!1},{type:"Heliostat",cx:.1858529965426188,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2UPLQMCooiMhFJtDN26CC2",selected:!1},{type:"Heliostat",cx:.15405336393495203,cy:.23584443187700366,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9gstuVGZgNt34bwx4fWbUR",selected:!1},{type:"Heliostat",cx:.14370890513486767,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4b4VML3sa7hnY6ghXF3UUH",selected:!1},{type:"Heliostat",cx:.11229240063090776,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wgdCGQw8TMgPeJVmJu1z5p",selected:!1},{type:"Heliostat",cx:.1007985575197029,cy:.2896081050948465,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"waxnrKabumqfqY9nszwBCu",selected:!1},{type:"Heliostat",cx:.0728302059491044,cy:.25652276773002014,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sYDz76fyRaQEPaspZ2rJP4",selected:!1},{type:"Heliostat",cx:.17512540963882764,cy:.3206256088743712,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pazgCfCXnKgDa4L3VRZcx5",selected:!1},{type:"Heliostat",cx:.031452370748766875,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"r7WAJSEpjF1v6Y8RpDz5PJ",selected:!1},{type:"Heliostat",cx:.05788820990453806,cy:.2991201395872341,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9eZTFADerf4QWheHy8QGKH",selected:!1},{type:"Heliostat",cx:.011912837459718613,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sNRuKArsN6PvUBVAmpBhxu",selected:!1},{type:"Heliostat",cx:-.03214689446656673,cy:.30821860736256135,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ofECbbJ9gme6LxsuNXNjgk",selected:!1},{type:"Heliostat",cx:-.009542336347863806,cy:.2635534019200458,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"v9J8DuLJH4a96cz44K2xmP",selected:!1},{type:"Heliostat",cx:-.05206955585932177,cy:.26313983520298545,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9a9woYxqpxa3DPpGkexnDn",selected:!1},{type:"Heliostat",cx:-.07505724208173149,cy:.3049100736260787,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"btMDteQZ9ZwHR2ZJEJPqTR",selected:!1},{type:"Heliostat",cx:-.11835071780060315,cy:.30036083973841504,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3R6fjmFqnVAn6gX7NVbg6T",selected:!1},{type:"Heliostat",cx:-.09344739105965931,cy:.2598313014665028,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"biLXxZamzgN1buUB8TsZqZ",selected:!1},{type:"Heliostat",cx:-.13520835436370363,cy:.25445493414471854,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fExb7vHaSjiVqB5MGACC4u",selected:!1},{type:"Heliostat",cx:-.16241044972688845,cy:.2958116058507515,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iAmRb8oDGZX392ae33MR49",selected:!1},{type:"Heliostat",cx:-.17581993335662746,cy:.24783786667175325,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCVU3AM9GsiHSTf2zAYpNn",selected:!1},{type:"Heliostat",cx:-.20608705354946694,cy:.28423173777306227,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"fafqHSKwkZ9Lc6KNcub1iX",selected:!1},{type:"Heliostat",cx:-.21604838424584447,cy:.23832583217936565,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5x5ryjAFNyLBQJSPDZiNxM",selected:!1},{type:"Heliostat",cx:.25404979900243435,cy:.34089037801032746,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hZqvYxemtzLuX56szXzxj2",selected:!1},{type:"Heliostat",cx:.2092238108687354,cy:.35784661340980095,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1xzWMVcb7QUgsZhom23ZBM",selected:!1},{type:"Heliostat",cx:.16094966980167502,cy:.3719078817898521,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9oP1tTsujTz46mZLAksbU8",selected:!1},{type:"Heliostat",cx:.14600767375710866,cy:.4215358878370917,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rpxoJLLKw2wmcNRpjJPBjy",selected:!1},{type:"Heliostat",cx:.09543476406780727,cy:.4322886224806602,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"mCWXPsVjzjnqeov6whWkEo",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:.11420804114944189,cy:.38307418315048103,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"dk9gN4h4BRr8fGtZgsJuDT",selected:!1},{type:"Heliostat",cx:.12991629340142186,cy:.3313783435179399,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2fgVoHVNeFxumUFrk5quEU",selected:!1},{type:"Heliostat",cx:.0651676438749678,cy:.38969125062344634,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"it8NqwMqJ6jLPQz4dBWJb8",selected:!1},{type:"Heliostat",cx:.044861854378505865,cy:.4393192566706859,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"udHusEwmFchV5kUtJf1ukS",selected:!1},{type:"Heliostat",cx:.08240840854177511,cy:.33799541099090513,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bsUzfzqGGE9YRc9SxnYgmz",selected:!1},{type:"Heliostat",cx:-.005711055310795511,cy:.4422142236901082,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2WagAkKFSQwtBhzW9SCBZ3",selected:!1},{type:"Heliostat",cx:.01765975901532106,cy:.39465405122817027,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"s4VCdFSKVUwKw3ks2MUqmg",selected:!1},{type:"Heliostat",cx:.03796554851178297,cy:.3470938787662324,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h4ZiHa7nr4i5m7fVtmuGTu",selected:!1},{type:"Heliostat",cx:-.009542336347863788,cy:.3524702460880167,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5oXHCCp9pagPTxNZv7YAhZ",selected:!1},{type:"Heliostat",cx:-.0306143820517394,cy:.39217265092580833,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ksbrcBfUU1XjRMYnvbmKvL",selected:!1},{type:"Heliostat",cx:-.057433349311217394,cy:.44510919070953053,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pkwk8jYFuWA8JrrVEXSciw",selected:!1},{type:"Heliostat",cx:-.10800625900051879,cy:.4397328233877463,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"myZ6zveEJCX5Y5KUd9UqJc",selected:!1},{type:"Heliostat",cx:-.08157041984474761,cy:.39258621764286866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"8N7G24rjGiwUS1qdSwqWKB",selected:!1},{type:"Heliostat",cx:-.05321894017044227,cy:.34916171235153404,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wnaxBMjLgw16qhsxW87N2s",selected:!1},{type:"Heliostat",cx:-.1597285530009407,cy:.4327021891977206,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"tdAXmudejXgsfZaFTCJpea",selected:!1},{type:"Heliostat",cx:-.12869517660068752,cy:.3876234170381447,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2EGGmcigKerWkATYn21Drn",selected:!1},{type:"Heliostat",cx:-.10072682503008903,cy:.3462667453321118,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9JRkgoqFZPzpaDJN7QVEqw",selected:!1},{type:"Heliostat",cx:-.14746845368232211,cy:.3425446448785688,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"cemUSZgbciSABHXVUHVMRB",selected:!1},{type:"Heliostat",cx:-.18118372680852307,cy:.38472845001872236,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7Nd9N6VpCiem7PLD9aoKJQ",selected:!1},{type:"Heliostat",cx:-.22677597114963569,cy:.3748028488092745,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o3vFhXc352dZa6eBcXkn8H",selected:!1},{type:"Heliostat",cx:-.1896125450900733,cy:.3330326103861812,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qXuuzbNe6dHacfosrcjkG6",selected:!1},{type:"Heliostat",cx:-.2401854547793747,cy:.32021204215731097,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wvrbYM3ECPeNyPcjQDEFVt",selected:!1},{type:"Heliostat",cx:-.27275134359445513,cy:.3603280137121629,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1fzbQMf2vnYzc5rpFpv9Mm",selected:!1},{type:"Heliostat",cx:-.2830958023945396,cy:.3082186073598336,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"vzTr4LtFarEKYTmcYc1SSn",selected:!1},{type:"Heliostat",cx:-.24669863254239083,cy:.2709976028271317,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bQQNRPpyECMqE968rws9s7",selected:!1},{type:"Heliostat",cx:-.2555105789276479,cy:.2234374303651939,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"a1ChAzJsqXt2MPj8g71s9i",selected:!1},{type:"Heliostat",cx:-.28960898015755565,cy:.25776346788120114,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ggq4FyzZAgUPjfnxC8sMSU",selected:!1},{type:"Heliostat",cx:-.2949727736094512,cy:.20689476168278068,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2po6rWGbCxwy8HhxH4B5M3",selected:!1},{type:"Heliostat",cx:-.2624068847943708,cy:.17918579163973858,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bdrrNnoWhgNP5mRf3i2NL1",selected:!1},{type:"Heliostat",cx:-.3256230219059975,cy:.2887809716607258,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7YMmZ4VphoH7t76dfCNrKp",selected:!1},{type:"Heliostat",cx:-.3685333695211623,cy:.26727550237358866,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wUtNWA5JuxbJLty1PFij2c",selected:!1,drawSunBeam:!0},{type:"Heliostat",cx:-.3294543029430657,cy:.2370851320281846,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wA8tWR4u3NMA7wqZrTD6LS",selected:!1},{type:"Heliostat",cx:-.37083213814340327,cy:.2184746297604698,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"u1tc8oJuXA2enopmwuzjK2",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.19448776017097064,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"98Xke4ooFncN8FqBo7DDy6",selected:!1},{type:"Heliostat",cx:-.45282155233666466,cy:.11466938377832708,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g3sLafsCK4ZvzmX9XjWqLu",selected:!1},{type:"Heliostat",cx:-.4110605890326203,cy:.14858185457727408,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6fL2zFNvEirpGcgDGmSR7Q",selected:!1},{type:"Heliostat",cx:-.369299625728576,cy:.17298229088383354,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1La1dF2UsKPBp333zXfnQM",selected:!1},{type:"Heliostat",cx:-.3344349682912545,cy:.19241992658566903,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ccVk8kW1m7tdavAe7fX2do",selected:!1},{type:"Heliostat",cx:-.373897162973058,cy:.12170001796835267,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7dYAamQSthGA7dsTStGx64",selected:!1},{type:"Heliostat",cx:-.33520122449866824,cy:.14692758770903283,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7an2wysM5Qh3AkEZpGd37",selected:!1},{type:"Heliostat",cx:-.30071969516505365,cy:.16512452325968727,cz:.5000000000000142,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qMwJPZfpHaQqaVGyt8my77",selected:!1},{type:"Heliostat",cx:-.3041678480984151,cy:.11880505094893035,cz:.5,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"sEhiU97pJ6gWPJXqqojWa4",selected:!1},{type:"Heliostat",cx:-.2666212939351459,cy:.13493415291428323,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rbZK8YX7uyaHE3smRfE1iQ",selected:!1},{type:"Heliostat",cx:-.20443321752274124,cy:.12247070829736166,cz:.5000000000000284,lx:12,ly:10,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",towerId:"nHq7VyAiKvgNuPDrDMejYk",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5JbmNCtS7jdpAREuUBBsWM",selected:!1}],ivn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:16,axes:!1,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[106.52962106579803,-544.1172181902157,79.8149873216779],panCenter:[.9854234887700954,-25.135454432654125,13.426370895100769],orthographic:!1,enableRotate:!0,cameraZoom:1.5388995055342627,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[16.412888127805086,-91.5557196774778,49.9998886695533],panCenter2D:[16.412888127805086,-91.55566967525533,-.00011133037453072694],solarRadiationHeatMapMaxValue:4,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1},rvn=1,avn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},lvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},svn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},cvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},uvn=[],dvn={docid:q8n,time:$8n,timestamp:Q8n,userid:Z8n,owner:evn,email:tvn,world:nvn,elements:ovn,view:ivn,evolutionMethod:rvn,solarPanelArrayLayoutParams:avn,solarPanelArrayLayoutConstraints:lvn,evolutionaryAlgorithmState:svn,economicsParams:cvn,notes:uvn},fvn="vL1ZUsNydJJmwct15vHcrF",hvn="05/19/2022 06:27 pm",pvn=1652999233628,gvn="QWecNcxhyvP6j6sBN11hBsfZDau1",mvn=null,yvn=null,Avn={name:"default",date:"9/22/2022 10:15:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.804781891550604,longitude:-114.97646752496185,address:"602 Eldorado Valley Dr, Boulder City, NV 89005, USA",timesPerHour:1,pvGridCellSize:.25,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:10,airAttenuationCoefficient:.01,cspGridCellSize:2},wvn=[{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"7L9JEMbgdkHJqyQYNhEPJq",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"irFPLxmMLT6rFDoJKoiKhb",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8eu7vDhv6KUhHi9npAWqM9",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"qipbq8ah3yAaXFiTtNqwjz",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"8jsKzdYVfC5Vf4Nnu5jMbP",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"9VBTZXtWX26kqjkAsCS6nu",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"aUYdyUNGi8bnHineP3zqz5",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"bEQifGheSWzXErCQEX5jc9",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"r4v1okttD44Z3thaT999zr",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"vbsjU2syn8u3VcPEUEvfUL",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"rS9gedRi7TPFSNSehAoH5T",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fjnWik4gwK6dVzpp4PS9CN",foundationId:"fjnWik4gwK6dVzpp4PS9CN",id:"oYPRYVsGHKMvvbMQksPZAx",selected:!1,dailyYield:2167.4086752704884},{type:"Foundation",cx:-268.72128837305235,cy:192.4499625139658,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fjnWik4gwK6dVzpp4PS9CN",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"somwUXH46rWWj2iEWaBpTH",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"f6fusQGihys5Uk5wRLiqtW",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"xxRJM6MpW6jZoZtDe4gxTL",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"67cNGKEATuXayJC7fa4ov6",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"jTDbg2GsKFSXSL5kfEKwFM",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"otoVZiatBWpjEMBHcFE1vB",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"a61aJ1UFYsWt4ci4mKq9SJ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"3oeacHzGeVf2rX3iv6QkKf",selected:!1,dailyYield:2183.952515711261},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"j4UdupxMbEhx9RPqd3Kxbe",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"eU127LCRTi1gGCpMprsZjB",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"9dKhxKmMz8HYSCd8thjHfi",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"h3DXKV7Y684i3thRma6wLu",foundationId:"h3DXKV7Y684i3thRma6wLu",id:"8niYJz4X5kqK7PxotD8v8w",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:-96.65608919286746,cy:194.42114792003463,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"h3DXKV7Y684i3thRma6wLu",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bzpE1WucZoTcJnrQaFWosk",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"b18nYFHTAeTLPg9V3TAu6r",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"vnJbcrncrmPTTZtSNizQZx",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uuobSx6wZMqJ4o9dEx6874",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"fkkZPubbk2sVhakgHyJg8p",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"nKo71iVf2HXcRbr4UCGY4B",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"s73CuihHSMyjifPJZbc7fj",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bPUahAh6uikU5BjNj3PBL4",selected:!1,dailyYield:2184.314471867017},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"uwbEdmDhH9hKvJBzSqoFEi",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"ek8zDL6MWZ5xk3JieUZvVt",selected:!1,dailyYield:2183.9840846216266},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"4f3PT1Wrj5UjbZFwB43q6Q",selected:!1,dailyYield:2184.0494263190526},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"fiH8AWThFS5EVx7AwfngqL",foundationId:"fiH8AWThFS5EVx7AwfngqL",id:"bV9jU3U5EG7hj1ZR9htRmc",selected:!1,dailyYield:2184.0217279415574},{type:"Foundation",cx:76.81490256290738,cy:193.91833345117703,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fiH8AWThFS5EVx7AwfngqL",selected:!1},{type:"Parabolic Trough",cx:-.04454509140457573,cy:-.0080567453075295,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"t8xtXgJ4zQkhGJAogmq8d9",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.028178433926039068,cy:-.008139307894208355,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bUFAb96RGW7QwKBQMcxVPN",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.11348203554423389,cy:-.009985318932966891,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"6rj3ikzy3Q8n2yfz1CwRXN",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1829903788505871,cy:-.009114355848154284,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"1WNeTRgxoSTT2DQJu5yyHb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.25148985811792923,cy:-.010411589149102113,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"cWDWPkRX7GebUfNP1qoDPY",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3213430444980177,cy:-.00840045293698594,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"dC1wGpGBnzJBEAzPE8gK7z",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.38740964968714997,cy:-.009828258759322559,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jLCGM5EGeijybwhJJbzYWo",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.4537412982117307,cy:-.010542161670490834,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"fofxsexPNsKCB5DuhFZbhA",selected:!1,dailyYield:2184.249130169591},{type:"Parabolic Trough",cx:.09586378956336611,cy:-.00872263828398791,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"scR8HVKLnxMfg5qeM5Lugw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.1635491452006934,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"aJRfgV9p4QZ5EqYhzKMsGH",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.22988079372527398,cy:-.0072948324616512175,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"jbKhaZc18QopEFA48QhFGz",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.3002735635880945,cy:-.008008735372819492,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"gfBbYgpDbuSQ6xjoAfmVTg",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:265.415477246936,cy:192.50545738235357,cz:.05,lx:211.2723746451423,ly:400.6159826636368,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"v1v8XPTexYoFXFrbQfvcXN",selected:!1},{type:"Parabolic Trough",cx:.3626690294198999,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"kni2ZMXaAJJiwviDVB1raV",selected:!1,dailyYield:2186.372284672933},{type:"Parabolic Trough",cx:.4327954824820787,cy:-.005427557483579055,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"v1v8XPTexYoFXFrbQfvcXN",foundationId:"v1v8XPTexYoFXFrbQfvcXN",id:"bETGj1xEbbAb2BVse1AQM2",selected:!1,dailyYield:2207.463112852368},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"s7kVKBTAaDo2hjd87z12j1",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"2TcdonCE1i3zpYReX2SoLR",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"a2NWUVKnwbFux2PYtz5CHH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"t3XK5N3foFHRBevW4hQYeH",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"gX7yumpKKrmXnqYJweAwxw",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wydrS5X5dqpbWyrqFYtYX6",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"ko9LprY6zErxhRNVTa6b2k",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"tUbG4wALaTZBXqDzrZWjJa",selected:!1,dailyYield:2225.1916629818006},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"cwror37w56snxd6Cu57GYv",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"djRCaY4JYizuqL9V1t1Ef7",selected:!1,dailyYield:2186.416326619183},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"wUb1oL88fa6vEHWZxPkspJ",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"er6dYYMfRpcyAunmGzAVCk",foundationId:"er6dYYMfRpcyAunmGzAVCk",id:"8CofMvmPY2z5bBHdRWwYyh",selected:!1,dailyYield:2184.2214642544664},{type:"Foundation",cx:-274.1742441205048,cy:-205.8730240503783,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"er6dYYMfRpcyAunmGzAVCk",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"jrgrdJiY66ubYTKCaCxqTB",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"fs8ejjGyyEChaC8Ehk8T4z",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"wXPY3K4zXtXUdVp4EU5wHC",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"woCUpwEYEVwQQqjCWLCbcb",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"8fA8M4gu6FFx9kstBhM3Gh",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"vdKSaNvMHXQ6c4CUhsUbjJ",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"nfHAWXJBNrnZk4SZXBZRwQ",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"oG9kEtQxTKYAx4RBkRru4e",selected:!1,dailyYield:2200.564116598536},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"eZZfAVvGcJQ4hyoRBRAHxH",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"1fvahJfFg2KKz9NtwScfEZ",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"whVGRaA9vi5x7rhQNFg1yE",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"7yEBa2PPK1oKGZhA24cAWz",foundationId:"7yEBa2PPK1oKGZhA24cAWz",id:"c9Dk9vaeTmZUcYmk8LG9yA",selected:!1,dailyYield:2184.142140950794},{type:"Foundation",cx:-99.03928963053315,cy:-203.22690478352843,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"7yEBa2PPK1oKGZhA24cAWz",selected:!1},{type:"Parabolic Trough",cx:.03316589475856172,cy:-.010780769866564623,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"9xAb6RCYhCVXhVokdoTNnm",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.11829771071037172,cy:-.010862875281584672,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"mQojvngU3MK9E1WnMgnuYU",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.047533262963747026,cy:-.012698664451544644,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"fdpnWcCJudkZEj98eat8mA",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.1289013135714454,cy:-.011832524127915169,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"eXpPJSpHuPPrV44B7sxjrT",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.20908836494541524,cy:-.013122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bKjSqKtUrMBiHDZpPLvptN",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.29086009671339874,cy:-.011122574292725078,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"bUtfJ12cGNMZZLy3onCpbF",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3681991702518812,cy:-.01254247396310519,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"1coPe9Q5rGuZ2WSaiij8Le",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.44584850955856004,cy:-.01325242379829521,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"2yk58NVaRPhqHjxMFDwXYo",selected:!1,drawSunBeam:!0,dailyYield:2184.5259546735324},{type:"Parabolic Trough",cx:.1975317304110644,cy:-.01144297561120463,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"6x4yDGfJw4eCZ7ekCPhjNt",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.27676575011175697,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"xvTNCko8YFvfGqK1kgUt12",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.35441508941843575,cy:-.010023075940824447,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"gVdwmaY8duSTrt1vAsGAxn",selected:!1,dailyYield:2184.0618993549374},{type:"Parabolic Trough",cx:.4368184699071563,cy:-.010733025776014468,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"k36HZDupiVkAR6X1Ux85J2",foundationId:"k36HZDupiVkAR6X1Ux85J2",id:"nYEBq3ov1hbfwdFnEPb7Kh",selected:!1,dailyYield:2167.507403284107},{type:"Foundation",cx:75.63743844199865,cy:-205.7462806691912,cz:.05,lx:180.47861093274906,ly:402.84665494366976,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"k36HZDupiVkAR6X1Ux85J2",selected:!1},{type:"Parabolic Trough",cx:-.033179547828226484,cy:-.00957350532887952,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"ezm6CU1apADueQgyTsSmZn",selected:!1,dailyYield:2184.0376473630754},{type:"Parabolic Trough",cx:.0413587397995383,cy:-.009655416682255636,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kevGPawVmfF7HkTwPXwpqF",selected:!1,dailyYield:2184.10105124523},{type:"Parabolic Trough",cx:-.1038367629054752,cy:-.011486866841637427,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"uandqWKZFgnXJhXCrgQ2QQ",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:-.17507963599701507,cy:-.010622773698636264,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"kpSVEzPLMTEAVhEWUE8vrF",selected:!1,dailyYield:2186.481668316609},{type:"Parabolic Trough",cx:-.2452884695865472,cy:-.01190977474353469,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"xzPQyiCUDpURAjVcdpLis1",selected:!1,dailyYield:2184.1530697342855},{type:"Parabolic Trough",cx:-.3168847910580943,cy:-.009914501877400738,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"1oovrq6jnWYwDxtZ3cBFmK",selected:!1,dailyYield:2183.917234353839},{type:"Parabolic Trough",cx:-.3846000399791258,cy:-.011331045519871718,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"royQeirmSLt4FSVKZM7K9n",selected:!1,dailyYield:2184.1029890605014},{type:"Parabolic Trough",cx:-.45258694619787027,cy:-.012039317341107171,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"eHq1QWB15jeB3RweUWBig1",selected:!1,dailyYield:2183.9634444947524},{type:"Parabolic Trough",cx:.11073313390029775,cy:-.01023414590591861,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"bX6TtHS7whnu5gLA4WYDBw",selected:!1,dailyYield:2184.142140950794},{type:"Parabolic Trough",cx:.18010752800105748,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"vfvomP4GJj2bUfaeRmSTnY",selected:!1,dailyYield:2183.9965576575114},{type:"Parabolic Trough",cx:.24809443421980182,cy:-.00881760226344756,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"aKsJXH85Pv1TJFkCUcHtaj",selected:!1,dailyYield:2184.074372390822},{type:"Parabolic Trough",cx:.3202438040845918,cy:-.009525874084683014,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"5d1oEf681m2BEya8bQE3Zu",selected:!1,dailyYield:2186.5619099124656},{type:"Foundation",cx:260.2382130043768,cy:-203.83085358802796,cz:.05,lx:206.12858677265922,ly:403.80106579029473,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"Foundation Texture #1",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"tnLBLu28SYP7t6wfKCqrkm",selected:!1},{type:"Parabolic Trough",cx:.38472948235042653,cy:-.006082018282359512,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"35zz9s2izu4bSZ895qaY5m",selected:!1,dailyYield:2186.4500637242113},{type:"Parabolic Trough",cx:.45459040213804675,cy:-.0025158234685137603,cz:.5000000074505806,lx:4.7,ly:390,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,absorberTubeRadius:.05,moduleLength:10,latusRectum:6,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:0,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"tnLBLu28SYP7t6wfKCqrkm",foundationId:"tnLBLu28SYP7t6wfKCqrkm",id:"8LPfuFyav4kWtBZ6BHp2RQ",selected:!1,dailyYield:2207.323568286619}],vvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:16,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!1,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[415.56554854788317,378.8681570116889,50.208533152612546],panCenter:[53.36331727441414,25.641045916575948,4.010932124381785],orthographic:!1,enableRotate:!0,cameraZoom:1.3888568037446718,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[7.614289529137672,-228.9673229029426,19.999771022501545],panCenter2D:[7.614289529137672,-228.96730290205363,-.00022897748026825466],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5.5,showSunAngles:!0,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-5,dailyParabolicTroughYieldPanelY:5,showYearlyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400}},xvn=1,bvn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Svn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Tvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Pvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Cvn=[],Rvn={docid:fvn,time:hvn,timestamp:pvn,userid:gvn,owner:mvn,email:yvn,world:Avn,elements:wvn,view:vvn,evolutionMethod:xvn,solarPanelArrayLayoutParams:bvn,solarPanelArrayLayoutConstraints:Svn,evolutionaryAlgorithmState:Tvn,economicsParams:Pvn,notes:Cvn},Hvn="anrFxSGH61K9md1hspSx6c",Mvn="02/02/2023 12:15 pm",Ivn=1675358110494,zvn="QWecNcxhyvP6j6sBN11hBsfZDau1",Dvn=null,Evn=null,kvn={name:"default",date:"9/22/2022, 2:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:42.2844063,longitude:-71.3488548,address:"Natick, MA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},Fvn=[{type:"Foundation",cx:.08101414969184528,cy:-.061088068754476144,cz:.05,lx:30,ly:30,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"1jWhHcaUD3hYBmq8heF7Mt",textureType:"Foundation Texture #2"},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:15,relativeAzimuth:0,tiltAngle:0,structureType:2,receiverRadius:.25,receiverPoleRadius:.1,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.0015648838470118183,cy:.002268855297546398,cz:.5000000074505806,lx:8,ly:8,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",foundationId:"1jWhHcaUD3hYBmq8heF7Mt",id:"n6Wes9AHD6Nu1BFW2ixX6c",selected:!1,dailyYield:58.654024482322484},{type:"Cuboid",cx:-.0385404512454377,cy:.14330355436037368,cz:.5,lx:1.410367011670566,ly:1.229722993301011,lz:1,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","#ffffff","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"wjK4XRngAZ84SKTN23jchz"},{type:"Human",name:"Judd",cx:1.5445606997476098,cy:-3.0401084333788013,cz:.05000000074505806,lx:.6,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"1jWhHcaUD3hYBmq8heF7Mt",id:"weMPyi8cZcMft87uExNbWN",selected:!1}],Lvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!0,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:18,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Default",autoRotate:!1,groundColor:"#16cda5",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!1,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"roadmap",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[-2.420183280635814,-15.878268188373001,3.8943744657694412],panCenter:[2.874525283798386,1.555148727597212,3.8943744657694412],orthographic:!1,enableRotate:!0,cameraZoom:31.733468832186784,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[0,-20000888987681265e-21,19.999999999989623],panCenter2D:[0,0,0],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:5,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!1,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,showDailyParabolicDishYieldPanel:!0,showYearlyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,stickyNotePanelRect:{x:0,y:0,width:200,height:60},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},Wvn=1,Nvn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Uvn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},Bvn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},jvn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Yvn=["Parabolic dish"],Ovn={docid:Hvn,time:Mvn,timestamp:Ivn,userid:zvn,owner:Dvn,email:Evn,world:kvn,elements:Fvn,view:Lvn,evolutionMethod:Wvn,solarPanelArrayLayoutParams:Nvn,solarPanelArrayLayoutConstraints:Uvn,evolutionaryAlgorithmState:Bvn,economicsParams:jvn,notes:Yvn},_vn="7ug2PMzZs8KHaJfo9T19XG",Vvn="11/13/2022 05:52 pm",Gvn=1668379966922,Xvn="QWecNcxhyvP6j6sBN11hBsfZDau1",Jvn=null,Kvn=null,qvn={name:"default",date:"5/22/2022 11:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:40.50104939260215,longitude:-112.3735469155903,address:"West Maint. & Supply Road, Tooele, UT 84074, USA",timesPerHour:1,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:5,cspGridCellSize:1,cspTimesPerHour:1},$vn=[{type:"Foundation",cx:-47.0206360597426,cy:68.67019638501287,cz:.05,lx:46.5768885127422,ly:135.19445156274705,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"cZGzTuNW8Aam7msowwUroB",selected:!1},{type:"Parabolic Dish",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,latusRectum:8,relativeAzimuth:0,tiltAngle:0,structureType:1,receiverRadius:.2,receiverPoleRadius:.05,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:-.30761593322410435,cy:.2695290878919692,cz:.5000000074505806,lx:6,ly:6,lz:.1,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"fopwswffzD41xMfw42A9HH",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.02814798372485404,cy:.3300697435564625,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uhQ2BDDLEGyfXHXM3T8D4J",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.015122118824723977,cy:.2725477934518696,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1hU2B3tRaXiQA6qMShWWWm",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.3100390677195005,cy:.3278398594863607,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iEABxF7nkChkFiL5Znzw6T",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.309076286400796,cy:.20865185910064502,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"6dujuDwUqfLaFeQofWwJLp",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.30842094785613033,cy:.4471386572368095,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cxNbMe5Q6mxcWpM69s2zVD",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.44914206870604134,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nvnv9aQWWLSS8NFmBnHLYH",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.021675504271373644,cy:.4499260123244368,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1XvYz7yo4kDAwFbbyEVu6r",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.3641465280539995,cy:.39329601584788454,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"iAqeVhRsv4EEemyXLxRT7n",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:-.31489342730961073,cy:.3858168453090086,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8887sGWkY9DPe6zPB7DCjw",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:.36706723440738265,cy:.33342502224319376,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"w4H13nunp4KXu5rLSjHetr",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.021675504271373644,cy:.3919490265017887,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"8A9nZ4G6EMbXmR2ypdZPtC",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.3119969927541789,cy:.15179957105585468,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9xvM5C54F1GdXuQmPkbXHv",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.36852758758407417,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dWXjd19yWhBU5KYeV4ep7R",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.36852758758407417,cy:.2740571462318198,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"9RH7D4KCkHBkHBB3Jq4YBh",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.019503178354798405,cy:.21317991744049564,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"pPqHXoZxFqCJhooD9iRhGL",selected:!1,drawSunBeam:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:.029710257140191706,cy:.151618028448374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"dW2wLBrURiiyxfn6F6TVAM",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38263449035227737,cy:.15356864871672385,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4FQ9iN4DZGms63ywmg5spd",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.3118902038832707,cy:.033930573598891456,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"5oj8TRyAKMqMp8sgE67FVE",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.025935666410650624,cy:.09374962715399743,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"vmGfUGiMyftJojwfX2GBR5",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3005664316946478,cy:.0924492136417643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"oYSwSfAfrKU47Vyq9eDs5P",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:.37131071816365446,cy:.09570021542996741,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"ngsGcTkVVzJ7SPc4n5EF9z",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3788598996227365,cy:.036531432615737686,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3kBsJoTshaWDzS9NKouLiE",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.029710257140191706,cy:.03523101910350445,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"o4R1QpEifXnNSRVbUJpY2N",selected:!1,dailyYield:54.56560795591798},{type:"Parabolic Dish",cx:-.3043410224241887,cy:-.03499134254946713,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wg9A7xFWVB5Q2Pe6NVpsFv",selected:!1,dailyYield:55.333043889503735},{type:"Parabolic Dish",cx:.03159755250496232,cy:-.03434113579335057,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nMbKYu7cUV1STfkS1t9GBe",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.37131071816365446,cy:-.03109010201276759,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"1uAa3xWKSo4ZMy4qgrtWHV",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.30245372705941853,cy:-.0954605708683097,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"4W4HyJzntbsbMubTzJ5xuB",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.15202852665807323,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"hLUWjDDawa9Bq5bGdgVF6r",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2967918409651067,cy:-.2150985820013824,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"38LakMABYvqqhWZJbnchb8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2949045456003364,cy:-.2716665697835258,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"qS3hKai5cPy6hqmvjMrrT8",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.09285974384384334,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"7N2it6fkLMZs5QL5wVYmmH",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.03159755250496217,cy:-.15137835189433643,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"jY7wFhgsoDdty76ov6d7Pd",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.03537214323450325,cy:-.20924675318871294,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"u2YWuzVpBajQANuw9UfAwL",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:.04292132469358527,cy:-.27101636302740917,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3S1KK6FChNE8gvYazHEnpd",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.04103402932881465,cy:-.33018517783401885,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"uLmHzExRSUXhHpNKBjVRrt",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3864090810818183,cy:-.09285971185146352,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3cxdvSGi3uCkPtzjoDyARg",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.15332894017030646,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"s6fcxcWAD6NVtUZVHCQQ4L",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38074719498750675,cy:-.21249775497691611,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"bSdLYguwQYmYpDu9RumiMQ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.38452178571704776,cy:-.2697159495151761,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"2fyj3BUAEUoyYeFCWw7srW",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3901836718113594,cy:-.3295349710779023,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"sjmKi4AsX1sdYN2tTKwmA4",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:.051333272176731434,cy:-.38693722362249716,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"3uEbgTc72rFmahkwgqJg8W",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.059035555614381244,cy:-.44796941122274353,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"nRqAdpZ4TZQVjnRmHw48uX",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.38516817470654796,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"cfsJe9Yug6u3x3oBayEheP",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.3902337434333181,cy:-.4453158378488198,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"cZGzTuNW8Aam7msowwUroB",foundationId:"cZGzTuNW8Aam7msowwUroB",id:"wMxTgYHNjkaxthyYgYTQP9",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"i9fZCix4TrJKhgCcneBYW4",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"n7aRSWWeY5wBNzZ53XV5uA",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"jWLZDGd195KJE8SWN597fk",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"76YP5Bkbjqbnqsg1JSHTGc",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"b9eyjomDdJAvbQ4GXbRhbG",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"9soCdCwnL8Bku7MHtRFFFr",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tFv5W1XKGRjyGCtxQnPjfn",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"e5TE4DCQ6xiHjtxHX6wtr3",selected:!1,dailyYield:54.63098088367212},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"vsS27cuHcFevK1BdwYeKu3",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"hre13LuXsebRJ1ojBkKSgR",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"xrGCkZHLfRSASP6ZwrmBJr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"nCfyMKMf1W4ncpysKWy2VY",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"mNMLU3z9EypRpQKmc6xPri",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"7g2aMKZxh6mDuScjaSitCf",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"woNtmkrzdE6LQEpkJkkk15",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"gQJWvo8v2H3LF9QwKDg5pS",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"psqWbKt21osCHgusR75ZRM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"qA6D1GimsUYSX5jHTZtGrL",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"rFR9awpETFNeLqanJsWtLB",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"79pQRAYjXXzrw8FMTxx7da",selected:!1,dailyYield:54.53292149204091},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"j29brne3bouFE3K9xbRzf8",selected:!1,dailyYield:54.37088110770631},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"fEsQhg9meEj7fn6FyQr2kS",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"grDso13WfqFPnwde3tTooZ",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"5znkiYKSLhmEUCEWv7SMww",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"h7EfHGkuVpHhLEE2L8UnPe",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"tWy5pSLVYjou9HU9WNjk3B",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"oMmcyG29c8iK7NppnVHGcx",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"uCXv9kmZSPkBfAiRp688jH",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"2MLMRe971ACXtPr6TKkSZ9",selected:!1,dailyYield:54.45190129987361},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"m63BuQNzvckE5zp32Pnw8p",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"8HmQpAPE5ybDjjJmWPgtJy",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"p7X7PWYKqawwVRyKWEqpsP",foundationId:"p7X7PWYKqawwVRyKWEqpsP",id:"pofnF8e5Bn6CnkFwwsd2mb",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-7.983643923093517,cy:68.40825112249922,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"p7X7PWYKqawwVRyKWEqpsP",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"1Kr8Pa7CfCGfY9Tn1nbTfC",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"oRpi5CP9ZYynPy6bNyVZvx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"bnjSVLBE8yuyRmD59Vpj5M",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mxrBwLk3PBAc6DLtdHY9PG",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tCEaJXp5M1wEhEUpBtW2dn",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nMM6ewc9ExA5TMPbfnv6Kz",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"n8s1FzD8MfqqBcK6r49KaJ",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"nH9Zop5fMNGnprvUp4Lndb",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jkAXkFfxDNxSdMms1xtkQh",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wrcKx46bR9u7RcdSgcckCp",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wS66DR1C6Yem5chszyHNyX",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"mYGta2zZcv5wvFcomHB8h7",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tK1eBhmW8y1nnsX8W3X9ga",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"8Ci425obALWeV7icrEGMh3",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"3A2AjfypMamwJFRbA3fDpb",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"iWsTN7vg5oFv8hHDnyjZDQ",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"gXTojLu2Qyb637Ho6JL7Kf",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tavpWfYoXMz3qMPdKYuYus",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"vR6bFNvW7QL6DHxH3K21u5",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jSCfJsog1e1sNpYz5PNhWW",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"eUyRyq3GvSH1aXZPres9zE",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"rDZgMEP11vSsiXW54EeeEC",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"fbaSKG8oqr7FZVwDxb6HR5",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"xAycaD99dwN2jw1eYE8Ajm",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"jgSWeMLe27dY6x2hNzCmsw",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"sgwE3sAhyMWCJxEUC5V8m2",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"hNVN4iBp2cmmnSn75ekkgF",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tWdCrzBigxazk84saCEaTV",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"kQJuw3tnnSYASf2nicv61Q",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"qJWMwjmsMFnGLQ7tP8657U",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"tsiY8ux1n2J8yeqE2sunzz",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"gEQRhWXA3HL6aJzGgTrAzv",foundationId:"gEQRhWXA3HL6aJzGgTrAzv",id:"wJKc8tsYNihwhLcJrfyUHp",selected:!1,dailyYield:54.794413203057466},{type:"Foundation",cx:24.06375725188695,cy:69.025369785858,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"gEQRhWXA3HL6aJzGgTrAzv",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"1tz7amW9Vt4xEPqwef91Qx",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"sqvvuQJTZHqqySn6E4yYzm",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"28us4Wgm2qjx3DCcTdFLVV",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"mpqP9TF6Vrg7VCqRfcMiQu",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"f5qiT4VRUPdGpUjZXcsCx4",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"nTXZjqhzJBfTANgYD9vqjQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"rgnTEBGw6Vs7Duns1brscG",selected:!1,dailyYield:54.92515905856574},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"tGKA519iyUSWpQ8wVPNFJY",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"36gvqnTqAbkoRPjVMK7ems",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"viuvE72Bw3v6bsArR6wpDL",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"ii2gGoQHtGShTH1opfyXnJ",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"wcNvEizmbvgCX8phLyizju",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"jxCiGYqKr7CGg8yTBhpkCm",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aSt2wCgvcriyqmRzVHYc9K",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"b579K6wcGsFkd5krT6NwtR",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"2tXe7mE16iWBsHUwW9t9aQ",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"aEUirhH7z57xAhv18Lb7W8",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"4dXM3M8KmCej1LF8VHJ82Q",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"h15HDWZymQfADqEotRv4LM",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"x3Jjg4ZJhqJ9gBq8UJG8Yi",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qfDWqhtKKj8PExp7dtRJhP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dQzc3rdMh6sEoS53j5m6LC",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"dFarDxb3HPmwwaAxStasmq",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"gJLG93xPyBxAvQZy1eFr9c",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"5gNcrnds5MDuA88znfoVWr",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"7mL5Pz5pqsdiMAMyaHTbZn",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"3Uic4JFDxCdyp5oDg5ZLjd",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"14ENGCWNQVrrvGhEToEBLF",selected:!1,dailyYield:54.59829441979505},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"qMfSQPipp6HAYm2FfTRsJk",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"xxoYKaPf4MobsN7VjTosNC",selected:!1,dailyYield:54.810060467470635},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"9MQxESnXS7CKvarDbKvrgD",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4cePh2t5mTkfEKXcWmB48u",foundationId:"4cePh2t5mTkfEKXcWmB48u",id:"cVpFdWbUmKZPYFqiQr279G",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:59.02948227812328,cy:69.3080716212459,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4cePh2t5mTkfEKXcWmB48u",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jesMtDuJVoPzLUmYETT89Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"97DnJZE3VTJfvvv6WzSRBx",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"vLPycCjUNJMSVTRtdj87XE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jPB61vSkRGEcXezoyJ9S3X",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jULEb9dCHn3aTywUeHy3Qk",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"9Pa2h5sxqEBhqE3KgZbB6Y",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"se2JtcnQNE96z1Aum4EP1p",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qfZULw2aGPUTLCVySZhcyp",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qWNJdtQvxfzJj25Q9ioKpB",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bxmvcGXZuBN8ktU47D4qP6",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"aNn3VE1DQvLpKgE5hUztNH",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"4mrZamvWvRpkYyqFS7RJH7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"kiUHJLZUPqkGhKHBaWrqz7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"uGSXR3GUiGp8nT3strVk7J",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"a1tN8yxLHdTXbX8ex2fpZB",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"s5oswXys4g8p8gmSXQvhkY",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"3D6zM2RHwSJFo7RfUTRyjT",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"cAzviKAUbsLWBdNTADoifP",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"ohGxTVAnBTQUju6j187cfL",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"jGoKYV4BSgv6J6296BizzQ",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"pPTV9qje8c7Wfg3GZqDMP2",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"x7uhR1kYgxibupXzAN9oWq",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"inz76DVy6KaN3KVR3CkPpG",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"dY4oZaF8y7JXdRxLLuqg9F",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gmBkncxUG8PdQJo2VaespL",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"qirhM6vbtt83tpYszhnTaf",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"mRdCjwmZtRhDjNaoHZAsP7",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"bXjnb3U4gRd6Gra55HizMY",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"gTiRGPwLKRdtjktFgKt9hU",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"fFcZ5RiAU7SbEZpodham4W",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"rtWNXEr4TFs128rHeq3GAn",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6ufo5pBdzXZ7dduj1GnnjN",foundationId:"6ufo5pBdzXZ7dduj1GnnjN",id:"t2MHCbHPUk4iMrfBGmBEg8",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:90.89697850456658,cy:69.75067573550228,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6ufo5pBdzXZ7dduj1GnnjN",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fBXFhCMe9NByYzvxwGHn6i",selected:!1,dailyYield:55.267670961749594},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4XR37wV3Mcb5e4xnto9S5W",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"bF47T7o7w6UzeEcadSPaEe",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"vDEGXq7dyykKUFPikw7ZQv",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"ib8cPgm3UdpJKVhC7u74X9",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fZnwkYdYn246TusSuwFy5d",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"npP5tD7NGDuPXSYzaKJSef",selected:!1,dailyYield:55.31739662509057},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"fyCVrUXjd49v6w3fUmCpmi",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"aEvUZ9jmc1SE9AqaTs83sz",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"c1aNagv3k5EwQhxqv1nQKW",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3NCPuFUbbF4P3Uet9iqrKg",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"6sXkkWHPNQdQZGhmwNLthw",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dC6pSLCpcbcZtkkLTZbGAP",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"sNDitQDQ2BGYEwghGZPxAc",selected:!1,dailyYield:54.40356757158338},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3AapXAvkjJa5rztXETgT3X",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"1sKKkXtyuaMN8kgH5vX2ow",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pJSWbff7eW8x3ExEm8MBdv",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"j6c75GwBD7xrTUdv8qzwcW",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"2DRktLVHmu4BwC4tYrV1hj",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nRxkdY7Y2yR2SriqiuWofB",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"x5RkBxY41nZxXDJuxoiDZr",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pixrQQvfkddWpaEq8muTrJ",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"jnLvvVhZEPeAJ2hpXvtXHJ",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"4xUoTNJFMJTerAQEErQ895",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rkAQYL64Uuf379mtTX5GQL",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"rSMGuNL6giL7Nj4oWDSndP",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"3mr4Yjw79aApbRSuyrtamK",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"nHYzCZrgSVVxvF52MMmEG2",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"idcvngByfHJwgkBsh65JbP",selected:!1,dailyYield:55.15396430570523},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"pKoUwgWmomU9tDX1avSdQc",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"7LDpCzc3zBHLv6JhymAwbQ",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"dzMWxWAUm13nPZAnV26ojB",foundationId:"dzMWxWAUm13nPZAnV26ojB",id:"dowp1omeYXWab3j1K1meZc",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-136.49179476446375,cy:-67.2349056273395,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"dzMWxWAUm13nPZAnV26ojB",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dKV8idVwG1PoPzaqAJySn3",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"1ahCnzARH22rtYMg3xC75a",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"bGQnA5qfcBJLc7EFesifJ5",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6abDjWSHbyPb8tqD7whFWE",selected:!1,dailyYield:55.62722206439736},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pMaHgYpvL812956oXKBJ9T",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"vxBLBNexEATeuUVFW6UUb7",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"uEpK7NuFxhDZu1zciefV9E",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"adThs3Jwyt44gCESDNcupo",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"wJBFAEWUBufYWoCYyAAkDL",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6fBBqnwyNxUJ2Mv27sMzNz",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"xku6MhBdpC6odzRtL5Rhsi",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dCqY1YvNDa7QjZLsD7an8D",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"6yKCwMuBAuUpAxR3UkM2qV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"9QuEw2Qd3kdbe2VGUtFG6d",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fDUJgpBZqufUYAcgUpEYy4",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7tpsaUo8qyex4qWWrRQa3Y",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ac73uiJL9mDwp2h2qMBea1",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pvYusR6DDwKSrhWjzrsGjq",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"fUxcXs6rResj8vGRQz5ADd",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"34XDNLYmgiixgYDTAvdY6U",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"eKnBHRagP12sRw2eHV4EFo",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"cKEXyvhTD3Jnxtg5cg1jRA",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"ngLd2mnBcPdF96nEdG4hH9",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"4YV65NmWmmduXoMXuWXF1E",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dS2vQTwT6npH9US2Zjk7gd",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"nMbEzttfGVfwZJkAqwxiCa",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"tj5fHasfEFBxmjBHiSYX8G",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"2EuhpNKcNgCnC7mXhnzorq",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"dv9DT41y2eu8dhEh4A3yNF",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"7eHHdrZwkycM3igK47ofVH",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"pCMNdpEm3dUbZoYetGhdYY",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"bpYaYqzqY3rwTa3pPHPzsL",foundationId:"bpYaYqzqY3rwTa3pPHPzsL",id:"22NmQZ1gAa9u2oawRCihVS",selected:!1,dailyYield:54.696353811426256},{type:"Foundation",cx:-105.74245630035185,cy:-67.46785516115864,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"bpYaYqzqY3rwTa3pPHPzsL",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1D6qDwX2642TSZjwoFxp1o",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"79HAKLb1ozK2c7orEPVJkH",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5Vymv5eq4ELiQdmdiH3zah",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pQHHxi2uivDT6Eyv2TuxUD",selected:!1,dailyYield:55.561849136643225},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wYhFkccfy25pvdRqXmjnun",selected:!1,dailyYield:54.778765938644305},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"aPgo7xUpbQpZnXsiNJF8SA",selected:!1,dailyYield:54.680706547013095},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"rc8sJmCgWcU8UzU4JU3Kw6",selected:!1,dailyYield:55.12127784182816},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"5uahGH6BqWfKU45xu5Z7hc",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nsB8mr2bSHrM3jbtnehkjJ",selected:!1,dailyYield:54.53431342709166},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"mLbDv1g21nFPG8JjeviDLa",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"jkmjUdZvVvxK9WkLnnBg8p",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ouSXNghPew3qYnTQVWfbqs",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"nrR2uHdaQAetCD1csDMzph",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ckYt1vWJgk2MaNakWvCWDB",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1FbV4HWSJjuWDo48s8WtNC",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"pGqN7t92fsi5d33uxuhFsb",selected:!1,dailyYield:54.97349278685597},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9L7EiSKGotVbt799fBQeRb",selected:!1,dailyYield:54.90811985910183},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bZ4hdZiNXSoXxokpbfP7nE",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"9hsKHsCGSPXrbjVLVZXWCf",selected:!1,dailyYield:55.00617925073305},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"wMRsqsB2mCNkXsKr5ZvPtC",selected:!1,dailyYield:54.9408063229789},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"suUFWEjxFaYuPL9peoDRUZ",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"1br5Ptt8Qo5SkEHqCXrKQH",selected:!1,dailyYield:54.89247259468868},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"xeafcWLVFe1one4Js1pXaR",selected:!1,dailyYield:54.90811985910184},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"3j8HSQdHpYxreAKw5y5Bkz",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"bC1ox3NKLCGdZfDSV4qRXK",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hkihnoDGLJybUfZp35LbaG",selected:!1,dailyYield:54.58264715538189},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"dYLEbK9Ss1w4eXNB1RSBGR",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"ji6Bm928LBgZcFZDw5fDhy",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"gm6jD4HivZTs4uDmzromYL",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"hZR3rVvnhKsbGZa4pLQ11g",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"eyyDyyuNjfTg6Y8wmcxG2q",selected:!1,dailyYield:54.42060677104729},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"6669FrAcRV3S1zPTB9p18F",foundationId:"6669FrAcRV3S1zPTB9p18F",id:"7PGJWm4Bn6jqjn5Eb529RY",selected:!1,dailyYield:54.58264715538189},{type:"Foundation",cx:-69.6352785584022,cy:-65.93887331983836,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"6669FrAcRV3S1zPTB9p18F",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"iS8NizYAfM6n6dgKCGDkwv",selected:!1,dailyYield:54.74468753971649},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"5Ye58UjYKG719ktcep3oWk",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ukPSHKyKbjrFbSUb7RzBEh",selected:!1,dailyYield:55.463789745012015},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"gCVedoD7SGFMxpqX1BUzZW",selected:!1,dailyYield:55.496476208889085},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"jbPAKMEf4mqFWYPZcJDbNe",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"p7dszGFjLEqeSwRLS7YHf1",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"aT4txGfZfiz8jnLoTt526b",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"sUsodPeEocPvCNDkqZrChb",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8sk1PSP4vENQgztEKC8ci1",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wqNWA2TwVSjRxwkYLtZDGZ",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wH4wDZFpfKNiNZpVSSMhFY",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oFBt69EzGbvtWDmu6DoojJ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kVJKwRjK96o6qVyyzwvEUm",selected:!1,dailyYield:54.679314611962354},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"wBrBDkpM8dEK4tQLmeUW6y",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"oo6K8agu94JQM84kjwrLGA",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4irYSEA5i5W5Qi3FuQt5ih",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"af8MTE54DUeM1YcvKoYVA6",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"4LjL7VHsRNfpcY2YcLMhwp",selected:!1,dailyYield:54.8427469313477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"ourSR4BHMyPDVKp3JHbdTq",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"k7JMDUAGSNprBURCCpXbTb",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"rzQQtjfoDHwc96srYFxFk9",selected:!1,dailyYield:54.48458776375068},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kbtkW68kECiya1MGK4SY4y",selected:!1,dailyYield:54.66366734754919},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"79XY6D5Gd3dVECNy7jBKbr",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"8bnYakac6VrGEmETQMhGbi",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"2tr95qfXgv3jeidzJqoEEV",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"1T5fYcG2xLGDVaN4z2JSWd",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"czRX6XaVxvjtAd645B3nWJ",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"vThmrfLj2hfoaoHNntpY8P",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"mCVKJe8iq8UGLRopTPrpSP",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"kuonS1nfmLfp2iiXTgTfic",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"q3pJDWhsopJsaMjH8Z3EdK",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"vDDupUZXQLcUBaqR8LHXzz",foundationId:"vDDupUZXQLcUBaqR8LHXzz",id:"xdV86xg96dfo2s3n5YjM1n",selected:!1,dailyYield:54.59829441979505},{type:"Foundation",cx:-37.95414195901416,cy:-67.00195609352035,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"vDDupUZXQLcUBaqR8LHXzz",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"eUEn8apMEdg9tiLabGz99t",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"paR3Ac8yX4Wj7SiJJdFXph",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2Y1fnFxyWV8UXrjDxD5Hyx",selected:!1,drawSunBeam:!0,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"v8QgWidDb6xTCTfyAfsDG2",selected:!1,dailyYield:55.2676709617496},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ftqZQ7zoxGXDJ4KzFQVvaR",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2uCAP6MhpPQYVndbGTMe2B",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"8938SbXAZNkxeYq1PAuYkn",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rvoQ2mMYFP66Qhmnt8EKxF",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"f7SvtPUPo466Q4gJ9TnSPn",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"3kyNNxHidQMjQts3HyRhrm",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pxogXCDeccjCLr1EFcuCgo",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"hBNssdFnqaWt58JWz26Zha",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"heoastLWiYga5S3WuMv9kh",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"aTSKWJPxGZKnFrLPA4VLgM",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"rtnU9Cenb7sZyKwXZGLfCQ",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2ueZ5Jrv5E5nXkCc6dxQAF",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"jqQxC81KzsmLW8AWVEDxZ5",selected:!1,dailyYield:54.729040275303326},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"dm73L8CEvXMjt8jmGDoHDz",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"wc6yJGXKbguZXGWm3uUiyz",selected:!1,dailyYield:54.663667347549186},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"5Mbqu9AgKWy9HDTcgGMTCX",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"vmwgb4DfHsDq31536bgoww",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"2hsXtqWkNaFi1euvqpPnYN",selected:!1,dailyYield:54.56699989096873},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"gCnCmzsBCPWaiJfR4rk7n1",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"mF2657hxSjuxtSYkQnHSaP",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"pdqUKVseiHvsXYpZYBkscF",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"qAF8msFvwwguymfMBR3wwa",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7n56hxe7QepqRevx5NngGN",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"9P9xnvWAP12WSQGPWr2xtb",selected:!1,dailyYield:54.696353811426256},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ejCEMdNfsxgvQCqAEDzhBb",selected:!1,dailyYield:54.46894049933752},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"ff9EG4MNoewWubqd37E7fM",selected:!1,dailyYield:54.630980883672116},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"7bnM4YQJTBLfksD89FPHBy",selected:!1,dailyYield:54.582647155381885},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"mfej18wHzwCMqBLG9Vysw1",foundationId:"mfej18wHzwCMqBLG9Vysw1",id:"t2yUPd5YBp4D1eifVJ5Nzq",selected:!1,dailyYield:54.663667347549186},{type:"Foundation",cx:-6.040055825807073,cy:-66.303127392908,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"mfej18wHzwCMqBLG9Vysw1",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"qXxaLHK5jDA7AhqzmRAQ66",selected:!1,dailyYield:54.615333619258955},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rjuAkDcMzUTa9fqXQamSY4",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"j87SthvfTm3rDWWm41tUR5",selected:!1,dailyYield:55.23498449787253},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"uh2HZmC683cEXyJZGLkwBJ",selected:!1,dailyYield:55.30035742562667},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"81esia6veGyAKewVMXNFHX",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"s14QyCHUodJj48ZcvmrHtn",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"87ZJEPRDaSsfRqqgULdNjb",selected:!1,dailyYield:54.48597969880142},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"eJdVsoPdU4es7XLBMBBB1n",selected:!1,dailyYield:54.85978613081161},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"fhL62UbzsRCcxH8gsKRMND",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8iHidnxMDDHGCmryeJeacP",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"8RJziVcJjiF46EfKhhZeBN",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hyYrjR5SLCyDEXyYT3xm9u",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rJnFSCbaHKosPa2KmZE9Bu",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"txjJKa7MeCk6ee1keKR2Rt",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"sH5mM8WkA56CcEGporWH7S",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hscqrLUfgPLdvLYLhecu3y",selected:!1,dailyYield:54.534313427091654},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"veWgK95yByHQ4KaXLUaYWX",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"oXFe1NucST916GSaKbGmVx",selected:!1,dailyYield:54.87543339522477},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"vyDbfHhDVVzLr6jCioEpsj",selected:!1,dailyYield:54.549960691504815},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"dyGU6GJcmCDKizMLYr19T4",selected:!1,dailyYield:54.501626963214584},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"v2i5cyjr9QNrJ63D31A2tc",selected:!1,dailyYield:54.51866616267849},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"hpHcG6Em2ns9Vehj3Lz45w",selected:!1,dailyYield:54.632372818722864},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"tvqvfScTkqwPcBBULnCSx5",selected:!1,dailyYield:54.566999890968724},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"rzPF17veSWTTiShfLGYVnU",selected:!1,dailyYield:54.761726739180396},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"7WUADDEEsLzZqJqEVL3xoM",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"aMLXH9cc7xjM8uQE7opRzx",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2jBk9rtEn52EHUGX1e9utM",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"w9pxWfrZ7fBmNWnpSTPcQo",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"5qn6ZfWHFWZniAFZBD5G63",selected:!1,dailyYield:54.599686354845794},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"781z6sw1H3T6mBvH3ivKWb",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"gPpckDefdadY3m2KfYR5uB",selected:!1,dailyYield:54.746079474767235},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"4r9eq18jPmAo6KNP48KE97",foundationId:"4r9eq18jPmAo6KNP48KE97",id:"2GF8pwx5gfMGBNrvsV4cmE",selected:!1,dailyYield:54.82709966693454},{type:"Foundation",cx:24.942232172123894,cy:-65.13837972381286,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"4r9eq18jPmAo6KNP48KE97",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"v8WDAYVaovBCxpzwf6YKeb",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"pCnVs2rYUiypfZGE44GDhJ",selected:!1,dailyYield:54.744687539716494},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"5UiMA8kgZaGL6jjafYMSVr",selected:!1,dailyYield:55.36573035338081},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dhsidTNuvFYqFyM52G8UzE",selected:!1,dailyYield:55.20229803399546},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"g7Z62RhyigqxTzLzSkQGs3",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qK59nEiAwb2wPANvX4dXSK",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"r3JeuhY8zBG7SMPQtUacQZ",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"c4ZyVQcaD3vFS8aULE9spN",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"24MgYUmNGEdTzMEVjyvfWF",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"h2bAX5kxShkvLfLaLDJQnm",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"wSzqjZ1GP4g9CcLekersFg",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"t1LDu4rZgpXXmkj2eWc9T6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"19vo4GuhGG7PWJqkt5ZWcD",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qMnf48SWj4EjJpDb7yeb5y",selected:!1,dailyYield:54.43625403546045},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"qiNpaX9J1nJiB8PCJHwymU",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rSdy4au4BWa65hP34cwhoZ",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"hPCibkbgsWPQByvQM8s8hM",selected:!1,dailyYield:54.77737400359356},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"8t16ViMQHmuRQ58XsMeEsu",selected:!1,dailyYield:54.81006046747063},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"m1UycnGk9QvgoR2crWwbud",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jVNiFDPeT2ctjGPL4mv22f",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"cSWfM55n5PeKkoqEpPtaHH",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"uJwZ7KjG5UFJTZAN98LQcB",selected:!1,dailyYield:54.69635381142626},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"fBg69qhp7ssDM4U3Vakj97",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dSLRdtVjTfCKhzP9vT6G4u",selected:!1,dailyYield:54.61533361925896},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"4a2kYuMS6iygwh4hTzF2xm",selected:!1,dailyYield:54.51727422762775},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"9N9XBekvGdtNubUKdz9bn6",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"tq9YQmjCLAfqC4otgQvkux",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"gfvtY6D8uZN4TPnY24yVxr",selected:!1,dailyYield:54.54996069150482},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"bPqXD8n7NUMT1fhPbkkkN5",selected:!1,dailyYield:54.72904027530333},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"jZr1iAB28GDzKvvD8ExZeZ",selected:!1,dailyYield:54.712001075839424},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"dFApM3YHu3Y78M2Xo4kwFU",selected:!1,dailyYield:54.50162696321459},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"kduQAydye3uLbFTr64JfDC",foundationId:"kduQAydye3uLbFTr64JfDC",id:"rmGs8zD7XyqBcjkDXAjzGQ",selected:!1,dailyYield:54.61533361925896},{type:"Foundation",cx:60.35056131261639,cy:-65.60427879145091,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"kduQAydye3uLbFTr64JfDC",selected:!1},{type:"Parabolic Dish",cx:-.22100527317131652,cy:.33100278061122,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kv7G6eNq8xQ9gr29A4PgeE",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:-.24090921965595855,cy:.2737966666151151,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1gywdTnVmZkqwtFNXrcTHj",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.29241146318514283,cy:.44942131464739804,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5DvXaqZe44KDk9xuKtfUm8",selected:!1,dailyYield:55.365730353380805},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.45020095386197445,cz:.5000000074505451,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"ixZhNJFXp4ZR66ypWaNH9v",selected:!1,dailyYield:55.300357425626665},{type:"Parabolic Dish",cx:.29241146318514283,cy:.3938818960388984,cz:.5000000074506161,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4LbWLkGdGxj7kuRG5UeWgn",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.29687439776958735,cy:.33433963644960585,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"fCdWydwEmsHE8uPjWYkvre",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.23089543291523743,cy:.3925423026150978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"537SCeuwcrKy3Yf9ezzr62",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:.2991058650618095,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"8iemrXgtr1quNdAfyKBdCA",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.2991058650618095,cy:.27529773198291246,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"c3kXvdwXEFnYcE9YGUQyxm",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:-.23421481777929223,cy:.21475476214842174,cz:.5000000074506517,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uP29oRRT6aV7MGQx7YvD6o",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.15353089138090986,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1AcDNXSU7HvWkLg54AmFDz",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.3206616726734455,cy:.15547080136712269,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"voUCWzXArc2R6oHvJaWZdi",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.2243857661955081,cy:.09598022845659912,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oCzzzbWTzWQYAhZxeXvaLR",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.30335857937601857,cy:.0979201066260928,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uJ1SiuCEyFqZex6ZUex4r6",selected:!1,dailyYield:54.90951179415258},{type:"Parabolic Dish",cx:.3148939749076366,cy:.039076202194359505,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"1zp4QY7bN2mj5X1sZr69Xj",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.21861806842969897,cy:.03778292887021764,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"qpi2nj28QCtj6dALbpHWKm",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2157342195467943,cy:-.031407225788088515,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"595KUQMKKkRujsK9vxKPHq",selected:!1,dailyYield:54.94080632297891},{type:"Parabolic Dish",cx:.30335857937601857,cy:-.028174042477733953,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"oSWo7sjDPAaDfzLRN5A2vW",selected:!1,dailyYield:55.13692510624132},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.08960452537446978,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"4yJVmHfw54xdbao6TurGH1",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.21573421954679453,cy:-.14780182496085137,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5AQCSNeCEvo9GSvshqiwuv",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:-.2099665217809854,cy:-.20535248788516208,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"iFNGVF4BnRB2CiUTeAUcpc",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1984311262493674,cy:-.26678293896517913,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"uLsXN2FSFMdKv3wb2Xhtda",selected:!1,dailyYield:54.713393010890165},{type:"Parabolic Dish",cx:-.2013149751322721,cy:-.3256268752136316,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"7fwh5kRqQ3ekm4dzKpbxi3",selected:!1,dailyYield:54.82709966693454},{type:"Parabolic Dish",cx:.32642937043925435,cy:-.08960449355775071,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kQtV2faB3UjVkaBSkjbaPM",selected:!1,dailyYield:55.02321845019695},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.1497417031303451,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"5a3j4AZWQSeQLoFe28cTFR",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3177778237905408,cy:-.20858563937879757,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"nXQKckZPXqHpq5g6AGp4mk",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3235455215563498,cy:-.2654896656410374,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"49gRZ5Q4VK9aZWKDCVqk5f",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:.3321970682050635,cy:-.3249802385515608,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"a6rEesiKY3XGANAtD57SGu",selected:!1,dailyYield:54.99053198631988},{type:"Parabolic Dish",cx:-.18557739608865548,cy:-.3820673122117616,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"mmg6zETUeomJsq2ezeHSSw",selected:!1,dailyYield:54.648020083136025},{type:"Parabolic Dish",cx:-.1738080557394403,cy:-.4427643900219344,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"6JQVhnyM7L2LNEiJt7duty",selected:!1,dailyYield:54.794413203057466},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.38030797662306093,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"v8HDepiPpBYKNZPDtGgLgR",selected:!1,dailyYield:54.94219825802965},{type:"Parabolic Dish",cx:.33227357927680473,cy:-.4401253866388834,cz:.5000000074505806,lx:6,ly:6,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,receiverRadius:.2,structureType:1,latusRectum:8,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"jQu4gCDNGHwChoQvBCFcvf",foundationId:"jQu4gCDNGHwChoQvBCFcvf",id:"kSEgPj4rJC7X5s13VYJGGv",selected:!1,dailyYield:54.99053198631988},{type:"Foundation",cx:91.09989977672836,cy:-65.83722832526995,cz:.05,lx:30.481606132911146,ly:135.9408628549677,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"jQu4gCDNGHwChoQvBCFcvf",selected:!1}],Qvn={weatherPanelX:0,heliodonPanelY:0,showStickyNotePanel:!1,dailyPvYieldPanelX:0,weatherPanelY:0,dailyLightSensorPanelY:0,mapZoom:17,showHeliodonPanel:!1,showWeatherPanel:!1,yearlyLightSensorPanelY:0,heliodonPanelX:0,theme:"Desert",autoRotate:!1,groundColor:"#999999",groundPanelY:0,heliodon:!1,axes:!0,showDailyPvYieldPanel:!1,mapWeatherStations:!1,dailyPvYieldPanelY:0,showGroundPanel:!1,mapTilt:0,yearlyLightSensorPanelX:0,showYearlyPvYieldPanel:!1,groundPanelX:0,groundImage:!0,dailyLightSensorPanelX:0,showSiteInfoPanel:!0,mapType:"hybrid",showYearlyLightSensorPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,cameraPosition:[169.9816352402022,-225.19055272845807,79.13890608436596],panCenter:[-50.39035725869241,30.655635102579282,0],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858744,stickyNotePanelX:0,stickyNotePanelY:0,cameraPosition2D:[45.20884161437947,-65.0727374045762,19.999927173198625],panCenter2D:[45.20884161437947,-65.07271740368721,-7282678642197909e-20],showSolarRadiationHeatmap:!1,showSolarPanelVisibilityResultsPanel:!1,solarRadiationHeatMapMaxValue:8,showSunAngles:!1,showMapPanel:!1,showDesignInfoPanel:!0,showInstructionPanel:!0,mapPanelX:0,mapPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:1,visibilityResultsPanelY:0,showDailyParabolicTroughYieldPanel:!1,dailyParabolicTroughYieldPanelX:-34,dailyParabolicTroughYieldPanelY:188,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicTroughYieldPanelX:null,yearlyParabolicTroughYieldPanelY:null,showDailyParabolicDishYieldPanel:!1,dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400}},Zvn=1,exn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},txn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},nxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},oxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},ixn=[],rxn={docid:_vn,time:Vvn,timestamp:Gvn,userid:Xvn,owner:Jvn,email:Kvn,world:qvn,elements:$vn,view:Qvn,evolutionMethod:Zvn,solarPanelArrayLayoutParams:exn,solarPanelArrayLayoutConstraints:txn,evolutionaryAlgorithmState:nxn,economicsParams:oxn,notes:ixn},axn="cNGvmw7bdpjvKSnH8CxjiH",lxn="02/02/2023 02:10 pm",sxn=1675365059016,cxn="QWecNcxhyvP6j6sBN11hBsfZDau1",uxn=null,dxn=null,fxn={name:"default",date:"6/22/2022, 3:30:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},hxn=[{type:"Foundation",cx:-.042674723134280335,cy:-.130761486142406,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,solarStructure:1,locked:!1,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},labelSize:1},{type:"Fresnel Reflector",reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.05,cx:-.02756165965335064,cy:.003002736834484595,cz:0,lx:2,ly:30,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"vb4n6chMKJoqTfuUfT9HH9",selected:!1,dailyYield:74.96105824171634,yearlyYield:2328.274834535053,label:"8",labelHeight:1,labelSize:1},{type:"Human",name:"Jack",cx:-4.020481691228474,cy:-25.616774473884036,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:.028169913107493977,cy:.003853312047257671,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"hqQUyB5jvcbC5wykbyrwVq",selected:!1,drawSunBeam:!0,dailyYield:75.30871550026608,yearlyYield:2365.489808480604,label:"9",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.0839014858683386,cy:.004703887260030747,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"10",dailyYield:74.47712896106862,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.1396330586291832,cy:.0055544624728038235,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"11",dailyYield:72.69243415263071,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.19536463139002783,cy:.0064050376855769,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"12",dailyYield:71.32847705730514,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.2510962041508724,cy:.007255612898349976,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"13",dailyYield:69.36645769952737,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.30682777691171703,cy:.008106188111123052,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"14",dailyYield:68.18367399690828,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.36255934967256165,cy:.008956763323896128,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"15",dailyYield:66.51612857330484,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"16",dailyYield:66.9454970041269,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.08329323241419526,cy:.0021521616217115187,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"qkYArzf5uqu6DZf4wA39gd",selected:!1,drawSunBeam:!0,label:"7",dailyYield:74.46542587169182,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.13902480517503987,cy:.0013015864089384425,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gBW2TdctGGDx3xkrVbnnt2",selected:!1,drawSunBeam:!0,label:"6",dailyYield:73.42005146962971,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.1947563779358845,cy:.00045101119616536636,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"t8gE1dpvae7236xzWXFCVz",selected:!1,drawSunBeam:!0,label:"5",dailyYield:71.56039677787652,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.25048795069672913,cy:-.0003995640166077098,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"jfpJVaw3pqTBMP5EqV8WHg",selected:!1,drawSunBeam:!0,label:"4",dailyYield:69.76216278634425,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.30621952345757375,cy:-.001250139229380786,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cwXPC6JNrmx1jM5HPN3Bnj",selected:!1,drawSunBeam:!0,label:"3",dailyYield:68.34763018099684,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.36195109621841837,cy:-.002100714442153862,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"nQed4eP7gteAwQE8ekQJF7",selected:!1,drawSunBeam:!0,label:"2",dailyYield:66.89178735911106,labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"gGEdWUHCti1PrRxJ7JDarq",selected:!1,drawSunBeam:!0,label:"1",dailyYield:66.97552153518168,labelHeight:1,labelSize:1}],pxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-.18166570108404656,-45.01608727927176,13.053612747101962],cameraPosition2D:[0,-20000888987681265e-21,150],panCenter:[.5652994261175363,.42897477312561383,2.1550210855619265],panCenter2D:[0,0,0],cameraZoom:17.679830776572036,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:245,height:60},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:721,height:335}},gxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},mxn=1,yxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Axn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},wxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},vxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},xxn=["Linear Fresnel reflectors"],bxn={docid:axn,time:lxn,timestamp:sxn,userid:cxn,owner:uxn,email:dxn,world:fxn,elements:hxn,view:pxn,graphState:gxn,evolutionMethod:mxn,solarPanelArrayLayoutParams:yxn,solarPanelArrayLayoutConstraints:Axn,evolutionaryAlgorithmState:wxn,economicsParams:vxn,notes:xxn},Sxn="msDnM7uBZhbQmJD2hxtJqt",Txn="02/03/2023 04:30 pm",Pxn=1675459824362,Cxn="QWecNcxhyvP6j6sBN11hBsfZDau1",Rxn=null,Hxn=null,Mxn={name:"default",date:"6/22/2022, 12:00:00 PM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.5},Ixn=[{type:"Foundation",cx:.9362263534654288,cy:-.12687492649763793,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Human",name:"Juro",cx:5.337210314381737,cy:22.31208205622077,cz:0,lx:.6,lz:1.9,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3QNPRzuCQDcJYCHp3jv7xP",selected:!1,label:"W7",dailyYield:31.890222330203017,drawSunBeam:!0,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"7vdajwavThEwB2PVAxNNhu",selected:!1,drawSunBeam:!0,label:"W6",dailyYield:31.891895315467107,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"ca329ZjJaCCUxbohPB9JNR",selected:!1,drawSunBeam:!0,label:"W5",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"wH1sLWUJu5DwjfBKCjHRy5",selected:!1,drawSunBeam:!0,label:"W4",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"888jdzXbxdzvyBwsKnBVQU",selected:!1,drawSunBeam:!0,label:"W3",dailyYield:31.73416130809442,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"cLuiFeXqEUWZCxdsSWep75",selected:!1,drawSunBeam:!0,label:"W2",dailyYield:31.794492804033993,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"2orgkforac6TmBbX5ogLWg",selected:!1,drawSunBeam:!0,label:"W1",dailyYield:31.9307477575622,receiverId:"1X6Dcn8HZPSPCzJkugC2rm",labelHeight:1,labelSize:1},{type:"Foundation",cx:14.471950838588711,cy:-.06574070597754514,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"1X6Dcn8HZPSPCzJkugC2rm",selected:!1,locked:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:-.35253117677918383,cy:-.011856551439747325,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"9VYUH8fPAbbYtPyjX2bXhM",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.07623689276002,labelHeight:1,labelSize:1,label:"E7"},{type:"Fresnel Reflector",cx:-.2286832373106403,cy:-.011005976226974253,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"oZQVT7upKS5gxcv41KySPP",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:32.022177742145026,label:"E6",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:-.10483529784209675,cy:-.010155401014201173,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"fscHgrZH2yNiKzCaZR3ZeJ",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827123715972846,label:"E5",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.019012641626446784,cy:-.009304825801428097,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"jnn6CBMvkkU1925yAPrHAB",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,label:"E4",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.14286058109499036,cy:-.00845425058865502,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"hJhtsSd1FMChUsTYyy5v9N",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.827443563442092,labelHeight:1,labelSize:1,label:"E3"},{type:"Fresnel Reflector",cx:.26670852056353395,cy:-.007603675375881946,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"6CbyGsZ43oQRJAfjen8bXu",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.946909343510214,label:"E2",labelHeight:1,labelSize:1},{type:"Fresnel Reflector",cx:.3905564600320776,cy:-.006753100163108869,cz:0,lx:1,ly:32,lz:.1,reflectance:.9,moduleLength:2,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"uPxivXJTh4z2zMrqhzNvo3",foundationId:"uPxivXJTh4z2zMrqhzNvo3",id:"rKXjH4ndrtiJLk3pNba97R",selected:!1,receiverId:"qFoXmrcbqf43nhfNvsKiMV",drawSunBeam:!0,dailyYield:31.888037304879255,label:"E1",labelHeight:1,labelSize:1},{type:"Foundation",cx:-.5305173175473676,cy:-.07406922653934842,cz:.05,lx:27,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",id:"uPxivXJTh4z2zMrqhzNvo3",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Foundation",cx:-13.207999911998343,cy:-.09629786579027738,cz:.25,lx:2.9789007603004762,ly:40,lz:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"qFoXmrcbqf43nhfNvsKiMV",selected:!1,solarAbsorberPipe:{absorberHeight:10}}],zxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[-3.9192694742317027,38.575338391462196,5.805467125820184],cameraPosition2D:[.0944682441377376,-20000888987681265e-21,150],panCenter:[-5.512894960875013,.5401536354068696,3.9025189352350482],panCenter2D:[.0944682441377376,0,0],cameraZoom:14.400332666460274,axes:!0,solarRadiationHeatMapMaxValue:10,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:379,height:67},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:701,height:335}},Dxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},Exn=1,kxn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Fxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Lxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Wxn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Nxn=["Linear Fresnel reflectors with two absorbers"],Uxn={docid:Sxn,time:Txn,timestamp:Pxn,userid:Cxn,owner:Rxn,email:Hxn,world:Mxn,elements:Ixn,view:zxn,graphState:Dxn,evolutionMethod:Exn,solarPanelArrayLayoutParams:kxn,solarPanelArrayLayoutConstraints:Fxn,evolutionaryAlgorithmState:Lxn,economicsParams:Wxn,notes:Nxn},Bxn="91fFrr9emvLvmNx1sW7PMh",jxn="02/03/2023 04:20 pm",Yxn=1675459240163,Oxn="QWecNcxhyvP6j6sBN11hBsfZDau1",_xn=null,Vxn=null,Gxn={name:"default",date:"9/22/2022, 10:30:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},Xxn=[{type:"Human",name:"Jack",cx:-33.39710614584251,cy:-.9610066908384169,cz:0,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:10}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:46.64633299683992,drawSunBeam:!0,label:"Lo2",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:46.68721550672282,label:"Lo1",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"Hi2",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:52.33859564683257,drawSunBeam:!0,label:"Hi1",labelHeight:4,labelSize:2}],Jxn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[53.11784569640703,-95.69780414866537,24.112920613071175],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3487591244720869,-.08601128946324002,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-19,dailyFresnelReflectorYieldPanelY:157,stickyNotePanelRect:{x:0,y:0,width:404,height:64},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},Kxn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0},qxn=1,$xn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Qxn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Zxn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ebn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},tbn=["Effect of height of absorber pipe for Fresnel reflectors"],nbn={docid:Bxn,time:jxn,timestamp:Yxn,userid:Oxn,owner:_xn,email:Vxn,world:Gxn,elements:Xxn,view:Jxn,graphState:Kxn,evolutionMethod:qxn,solarPanelArrayLayoutParams:$xn,solarPanelArrayLayoutConstraints:Qxn,evolutionaryAlgorithmState:Zxn,economicsParams:ebn,notes:tbn},obn="vKXC3Vu98tLTj5EYPySBoM",ibn="02/03/2023 04:23 pm",rbn=1675459380199,abn="QWecNcxhyvP6j6sBN11hBsfZDau1",lbn=null,sbn=null,cbn={name:"default",date:"9/22/2022, 11:00:00 AM",ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},latitude:35.6869752,longitude:-105.937799,address:"Santa Fe, NM, USA",airAttenuationCoefficient:.01,timesPerHour:4,pvGridCellSize:.5,discretization:"Approximate",solarPanelVisibilityGridCellSize:.2,solarRadiationHeatmapGridCellSize:.5,cspTimesPerHour:4,cspGridCellSize:.4},ubn=[{type:"Human",name:"June",cx:-33.350601086935164,cy:22.419888505407727,cz:17763568394002505e-31,lx:.65,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"wt2ieHLPLyg2Q2E8VLix1e",selected:!1,ly:.6},{type:"Foundation",cx:0,cy:-25.811344633762367,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"dzfAzy3H4GMkDSbVLaRN5i",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"rBPLpQDftUWGq1uWVpV2JQ",selected:!1,dailyYield:52.29842954176333,drawSunBeam:!0,label:"NS-E",yearlyYield:547.7275410650782,labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"dzfAzy3H4GMkDSbVLaRN5i",foundationId:"dzfAzy3H4GMkDSbVLaRN5i",id:"1FVTFf1Rdrpbt8TCGDL47X",selected:!1,dailyYield:52.33859564683257,label:"NS-W",drawSunBeam:!0,yearlyYield:547.8648836504849,labelHeight:4,labelSize:2},{type:"Foundation",cx:.20390682574577923,cy:26.830878562482944,cz:.05,lx:60,ly:40,lz:.1,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"Ground",textureType:"No Foundation Texture",solarStructure:1,id:"5Xds31NJFC5WSWmddVnFan",selected:!1,solarAbsorberPipe:{absorberHeight:20}},{type:"Fresnel Reflector",cx:.41829092243340626,cy:.009807338536669204,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"t7wce5cujudUUycMCvBAKg",selected:!1,dailyYield:51.241946460146316,drawSunBeam:!0,label:"EW-N",labelHeight:4,labelSize:2},{type:"Fresnel Reflector",cx:-.417682668979263,cy:-.0029512896549269384,cz:0,lx:2,ly:30,lz:.1,reflectance:.9,absorptance:.95,opticalEfficiency:.7,thermalEfficiency:.3,moduleLength:3,tiltAngle:0,relativeAzimuth:0,poleRadius:.05,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,1.5707963267948966],parentId:"5Xds31NJFC5WSWmddVnFan",foundationId:"5Xds31NJFC5WSWmddVnFan",id:"pU7aF7BDdSD7JUWEzZrwg7",selected:!1,dailyYield:36.12397534329661,drawSunBeam:!0,label:"EW-S",labelHeight:4,labelSize:2}],dbn={orthographic:!1,enableRotate:!0,ambientLightIntensity:.1,cameraPosition:[33.85725619257774,-80.53017579058466,26.560297986535087],cameraPosition2D:[0,-20000888987681265e-21,19.999999999987022],panCenter:[.3777068394391828,-.13846137164171785,0],panCenter2D:[0,0,0],cameraZoom:4.904200711979575,axes:!0,solarRadiationHeatMapMaxValue:6.5,shadowEnabled:!0,theme:"Default",heliodon:!1,showSunAngles:!1,groundImage:!1,groundColor:"#16cda5",showMapPanel:!1,showHeliodonPanel:!1,showWeatherPanel:!1,showStickyNotePanel:!0,showSiteInfoPanel:!0,showDesignInfoPanel:!1,showInstructionPanel:!1,showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!1,showDailyPvYieldPanel:!1,showYearlyPvYieldPanel:!1,showSolarPanelVisibilityResultsPanel:!1,showDailyParabolicTroughYieldPanel:!1,showYearlyParabolicTroughYieldPanel:!1,showDailyParabolicDishYieldPanel:!1,showYearlyParabolicDishYieldPanel:!1,autoRotate:!1,heliodonPanelX:0,heliodonPanelY:0,mapPanelX:0,mapPanelY:0,weatherPanelX:0,weatherPanelY:0,stickyNotePanelX:0,stickyNotePanelY:0,dailyLightSensorPanelX:0,dailyLightSensorPanelY:0,yearlyLightSensorPanelX:0,yearlyLightSensorPanelY:0,dailyPvYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyPvYieldPanelY:0,visibilityResultsPanelX:0,visibilityResultsPanelY:0,dailyParabolicTroughYieldPanelX:0,dailyParabolicTroughYieldPanelY:0,yearlyParabolicTroughYieldPanelX:0,yearlyParabolicTroughYieldPanelY:0,dailyParabolicDishYieldPanelX:0,dailyParabolicDishYieldPanelY:0,yearlyParabolicDishYieldPanelX:0,yearlyParabolicDishYieldPanelY:0,mapZoom:18,mapType:"roadmap",mapTilt:0,mapWeatherStations:!1,showDailyFresnelReflectorYieldPanel:!0,showYearlyFresnelReflectorYieldPanel:!1,yearlyFresnelReflectorYieldPanelX:-1274,yearlyFresnelReflectorYieldPanelY:14,dailyFresnelReflectorYieldPanelX:-5,dailyFresnelReflectorYieldPanelY:2,stickyNotePanelRect:{x:0,y:0,width:362,height:61},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400}},fbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!0,yearlyFresnelReflectorIndividualOutputs:!1},hbn=1,pbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},gbn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},mbn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ybn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Abn=["Effect of azimuths of Fresnel reflectors"],wbn={docid:obn,time:ibn,timestamp:rbn,userid:abn,owner:lbn,email:sbn,world:cbn,elements:ubn,view:dbn,graphState:fbn,evolutionMethod:hbn,solarPanelArrayLayoutParams:pbn,solarPanelArrayLayoutConstraints:gbn,evolutionaryAlgorithmState:mbn,economicsParams:ybn,notes:Abn},vbn="5syPiYyaezKe2cX7XoDs2h",xbn="05/07/2023 07:59 pm",bbn=1683503972972,Sbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Tbn=null,Pbn=null,Cbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},Rbn=[{cy:-.041483328317633114,normal:[0,0,1],lz:.1,ly:56,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.10913665374106213,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0004895609926147317,cy:-.20737855784061227,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"S1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:25.54362655315038,yearlyYield:311.4614380820491,labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:-.000773921356256882,cy:.4327509634160523,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,label:"N2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:28.83063075372236,yearlyYield:341.6536704139208,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0027886687628078007,cy:-.41384481120536054,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"S2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:23.21442400772718,yearlyYield:285.77957159626914,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.003581112158779376,cy:.2256213567639617,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,label:"N1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:29.15082293688426,yearlyYield:347.0340046876023,labelHeight:2,labelSize:2}],Hbn=35,Mbn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-59.813021886337346,-1.4084528562656211,7.556432837410264],panCenter:[-1.9086832692892528,-2.9483395065245706,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:7.169718448170838,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725703],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:8.5,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:2,y:4,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:315,height:67},solarRadiationHeatMapReflectionOnly:!1},Ibn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},zbn=1,Dbn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Ebn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kbn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},Fbn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Lbn="Unknown",Wbn=null,Nbn=null,Ubn=null,Bbn=["Cosine efficiency of heliostats"],jbn={docid:vbn,time:xbn,timestamp:bbn,userid:Sbn,owner:Tbn,email:Pbn,world:Cbn,elements:Rbn,sceneRadius:Hbn,view:Mbn,graphState:Ibn,evolutionMethod:zbn,solarPanelArrayLayoutParams:Dbn,solarPanelArrayLayoutConstraints:Ebn,evolutionaryAlgorithmState:kbn,economicsParams:Fbn,modelType:Lbn,modelAuthor:Wbn,modelLabel:Nbn,modelDescription:Ubn,notes:Bbn},Ybn="gHMiemdnJcFMUxpQfVjjPt",Obn="05/08/2023 09:52 am",_bn=1683553944140,Vbn="QWecNcxhyvP6j6sBN11hBsfZDau1",Gbn=null,Xbn=null,Jbn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},Kbn=[{cy:-.1414833283176331,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.06913665374106212,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:20}},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:28.86248835017146,yearlyYield:311.4614380820491,label:"F",labelHeight:2,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.1,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:22.075493423258955,yearlyYield:341.6536704139208,label:"D",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:17.32894620185682,yearlyYield:285.77957159626914,label:"C",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:21.79675399494804,yearlyYield:347.0340046876023,label:"E",labelHeight:2,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"B",dailyYield:14.05825681568513,labelHeight:2,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.1,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"A",dailyYield:11.010081200524054,labelSize:2,labelHeight:2}],qbn=63,$bn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-56.03492924888614,-3.1393903550330142,35.62950235618159],panCenter:[-1.9088390832554354,-2.9523520368213196,7.55643283741026],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,150],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:9,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:6,y:-5,width:531,height:342},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:397,height:62},solarRadiationHeatMapReflectionOnly:!0},Qbn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},Zbn=1,eSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},tSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},nSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},oSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},iSn="Unknown",rSn=null,aSn=null,lSn=null,sSn=["Shadowing and blocking among heliostats"],cSn={docid:Ybn,time:Obn,timestamp:_bn,userid:Vbn,owner:Gbn,email:Xbn,world:Jbn,elements:Kbn,sceneRadius:qbn,view:$bn,graphState:Qbn,evolutionMethod:Zbn,solarPanelArrayLayoutParams:eSn,solarPanelArrayLayoutConstraints:tSn,evolutionaryAlgorithmState:nSn,economicsParams:oSn,modelType:iSn,modelAuthor:rSn,modelLabel:aSn,modelDescription:lSn,notes:sSn},uSn="gtHUqK811PpHW2AhT3pgKh",dSn="05/07/2023 08:01 pm",fSn=1683504079394,hSn="QWecNcxhyvP6j6sBN11hBsfZDau1",pSn=null,gSn=null,mSn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},ySn=[{cy:.09432031355470513,normal:[0,0,1],lz:.1,ly:100,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-23.979659433364148,cz:.05,rotation:[0,0,0],lx:48,selected:!1,parentId:"Ground",solarStructure:2,locked:!1,solarPowerTower:{towerHeight:10}},{type:"Human",name:"Jade",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.6,ly:.6,lz:1.6},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:29.12957022220564,yearlyYield:311.4614380820491,label:"L6",labelHeight:4,labelSize:2},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!0,poleHeight:.2,poleRadius:.2,cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:12.632105204416524,yearlyYield:341.6536704139208,label:"L4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!0,dailyYield:8.640669150547245,yearlyYield:285.77957159626914,label:"L3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!0,dailyYield:15.667514658355707,yearlyYield:347.0340046876023,label:"L5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"orwNVrz2FK5fQamnSTQ7NK",selected:!1,drawSunBeam:!0,label:"L2",dailyYield:4.958857907473794,labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7KyZAKPiHLomhbx7U5u64Y",selected:!1,drawSunBeam:!0,label:"L1",dailyYield:2.355020886123749,labelHeight:4,labelSize:2},{type:"Human",name:"Jack",cx:3.2193530626125146,cy:-2.9734078597551292,cz:.05000000074505806,lx:.6,ly:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"e6VoeQYymGEdypZkwyg1QM",selected:!1},{type:"Heliostat",cx:.0016316459694108918,cy:.056499757261125036,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"j3sWeAPDp1y53hV9TKpY1X",selected:!1,drawSunBeam:!0,dailyYield:28.834554606358278,label:"H6",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001226078643743118,cy:.16634053951298922,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"txZLYrcQ93XFhrpdAsV7Mp",selected:!1,drawSunBeam:!0,dailyYield:22.049770857324166,label:"H4",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0015794497286664832,cy:.22263738972537034,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"9uaB6ZaFJqdfwW82X3mBGL",selected:!1,drawSunBeam:!0,dailyYield:17.30899182389923,label:"H3",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.001581112158779376,cy:.10634795978781855,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"wQcg7xgoQBPNeT1VLa2pPS",selected:!1,drawSunBeam:!0,dailyYield:21.74570231867697,label:"H5",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.0009487537946118556,cy:.2775217218176491,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"xcPfzQdhBUHxAytCA4wYay",selected:!1,drawSunBeam:!0,dailyYield:14.042308959831052,label:"H2",labelHeight:4,labelSize:2},{type:"Heliostat",cx:.00207089526046105,cy:.32972836846468156,cz:.5000000074505806,lx:4,ly:6,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"kyxcYJvhUNP9YHtYNAZTvQ",foundationId:"kyxcYJvhUNP9YHtYNAZTvQ",id:"5otXu1RaMdbKFrMqe75zLT",selected:!1,drawSunBeam:!0,dailyYield:10.99900401218998,label:"H1",labelHeight:4,labelSize:2},{type:"Foundation",cx:23.933804465569864,cy:-.09788249795398585,cz:.05,lx:48,ly:100,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarStructure:2,id:"kyxcYJvhUNP9YHtYNAZTvQ",selected:!1,solarPowerTower:{towerHeight:20}}],ASn=63,wSn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-65.26004925031205,-40.981584348790705,10.926967172602236],panCenter:[-8.555794568197623,-11.649776058982166,4.3178318413222065],orthographic:!1,enableRotate:!0,cameraZoom:10.266841665590098,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725564],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:6,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:252,height:65},solarRadiationHeatMapReflectionOnly:!0},vSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!0,yearlyHeliostatIndividualOutputs:!1},xSn=1,bSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},SSn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},TSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},PSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},CSn="Unknown",RSn=null,HSn=null,MSn=null,ISn=["Effect of tower height"],zSn={docid:uSn,time:dSn,timestamp:fSn,userid:hSn,owner:pSn,email:gSn,world:mSn,elements:ySn,sceneRadius:ASn,view:wSn,graphState:vSn,evolutionMethod:xSn,solarPanelArrayLayoutParams:bSn,solarPanelArrayLayoutConstraints:SSn,evolutionaryAlgorithmState:TSn,economicsParams:PSn,modelType:CSn,modelAuthor:RSn,modelLabel:HSn,modelDescription:MSn,notes:ISn},DSn="nAyY3ZutnSxurzmrfiodKh",ESn="02/02/2023 02:25 pm",kSn=1675365924087,FSn="QWecNcxhyvP6j6sBN11hBsfZDau1",LSn=null,WSn=null,NSn={latitude:33.4483771,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-112.0740373,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Phoenix, AZ, USA",date:"6/22/2022, 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:1},USn=[{cy:34.18220646310374,normal:[0,0,1],lz:.5,ly:87.56100860949408,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.8683182685289808,cz:.25,rotation:[0,0,0],lx:168.62126759233155,selected:!1,parentId:"Ground",locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jamelia",cx:-3.2033162315728436,cy:-1.3034178512198427,cz:2,normal:[0,1,0],rotation:[0,0,0],parentId:"eskWrngRsrfsVxitmEFwUG",id:"qnU7wNUFWabF7Yh9Ri8Vn5",selected:!1,lx:.65,ly:.42,lz:1.8},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.34571115088529475,cy:-.2182979146294524,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"4",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"9caRxtuWoQpc52Rcvx4m2Y",selected:!1,dailyYield:54.973155818694394,yearlyYield:311.4614380820491,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",reflectance:.9,relativeAzimuth:0,tiltAngle:0,drawSunBeam:!1,poleHeight:.2,poleRadius:.2,cx:.1244528472135859,cy:-.060705471204835396,cz:0,lx:6,ly:8,lz:.1,showLabel:!1,label:"3",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"3qHYF54uoRjqCcVSRMJa3K",selected:!1,dailyYield:54.692955030942635,yearlyYield:341.6536704139208,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.30243530092478804,cy:-.29658463647807665,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"2",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"g1F68TNqBqLxmye4TdM9aX",selected:!1,drawSunBeam:!1,dailyYield:55.22294044579748,yearlyYield:285.77957159626914,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:-.00477734244411093,cy:-.22770720532833247,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,label:"1",normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hdPEQL9d6tCZYhADdWFZfX",selected:!1,drawSunBeam:!1,dailyYield:55.6028165469799,yearlyYield:347.0340046876023,towerId:"eskWrngRsrfsVxitmEFwUG"},{type:"Heliostat",cx:.2323986704109312,cy:-.30954026005156543,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kTbu5NQZzH6fiJzt2zLCpV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.246534571972845},{type:"Heliostat",cx:.17980321076544034,cy:-.22890280592338727,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"ugqyZH3Bjuab2xu6Qr2AeU",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.9189143477242},{type:"Heliostat",cx:-.07007093092536987,cy:-.1429741712580097,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k7rmzdYXVhRoVennqPqJYd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.28401806609266},{type:"Heliostat",cx:-.12643026558915396,cy:-.19914857752993684,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jSyunViQPLX4rv6KUBXXTZ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.779971752065364},{type:"Heliostat",cx:-.18298718147417048,cy:-.27344375998511217,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"q1mgBumMQuofVfZ58dfPgn",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.56772790131693},{type:"Heliostat",cx:.28321098315789156,cy:-.26509916393356936,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"1BaYAuYZtqhDEGCFRqXDcs",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.94218222804658},{type:"Heliostat",cx:.06201663035944478,cy:-.01790276609260683,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4sC4oY8P4gCm2XiADRkgDQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12412968997117},{type:"Heliostat",cx:-.005144086859809518,cy:-.11674424075888257,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"k2hvdFozuZeFRMXA2gCxru",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.06448667864852},{type:"Heliostat",cx:-.07326553095576034,cy:-.027001203548432953,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5gLYoZoHmvvc2dfNpBoMHu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.30383700152939},{type:"Heliostat",cx:-.13103631875140445,cy:-.07211289731219922,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qoUTmK9iTzsVRu26aQmb6S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.69974218752444},{type:"Heliostat",cx:-.1817498408877485,cy:-.14097184690480072,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aaDc1Nt2XKdpoCZWcocB2i",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.61502536288546},{type:"Heliostat",cx:.18334603588670687,cy:-.11254934524412023,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bLKFf4eYJctoWDbAWu1oSp",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28829012678498},{type:"Heliostat",cx:.22982519862747094,cy:-.18140829483672175,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"svsNMecQbfU155PmYUZ3Lt",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.28883413506117},{type:"Heliostat",cx:-.11063137798263967,cy:.05978827549506581,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5WMpX8TYy1KfLhVCYdMj1p",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62627922938169},{type:"Heliostat",cx:-.17545943143758383,cy:-.015603192528220722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rLs3CXHWy1yv3CpNwWpHSg",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.26549812503945},{type:"Heliostat",cx:-.24132724425771757,cy:-.08265006449996429,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"iYKv2L4bbvL99cSYqy9g78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.848591160974706},{type:"Heliostat",cx:.03729458715293578,cy:.08164735499997032,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6h32hqP5LZJr3g6KkvENFf",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.08288958631672},{type:"Heliostat",cx:.11635572065921955,cy:.046540137502459215,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hJpPNqZeYCYBc9ZnrtL8rd",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.96978366441096},{type:"Heliostat",cx:.18181232346843626,cy:-.01341062139199849,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"oKHW4guazpWYWFUbcAtx78",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.07324281354023},{type:"Heliostat",cx:.23064844077878674,cy:-.07172825838065355,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jGpvLznPcPbkxgRNT7LmEG",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:53.5263467357541},{type:"Heliostat",cx:.2818686549678243,cy:-.14348403247835934,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7v652Vk2Y4W8Ugs74iPYyx",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.3806127412903},{type:"Heliostat",cx:-.3082401794844816,cy:-.16518710728023572,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"wmMQERU6EmYPAHq1HGq5G1",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.09853407023647},{type:"Heliostat",cx:-.24347189333908248,cy:-.21316221673228722,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qmEBaJnQ1mYuWRgutUUj45",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.81901883725212},{type:"Heliostat",cx:-.00513145231321694,cy:.17906460190084825,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"hgFFjf5NE1fWwscAHtJz9W",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.9869366347695},{type:"Heliostat",cx:-.09086411123830242,cy:.16501351230124764,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"5E44DCctaDCtPRiHgiN8Co",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.67185579391978},{type:"Heliostat",cx:-.17172399438050032,cy:.1304794438850842,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"h3FAf2Pb5iRxcMgjsAapYN",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.424415155619826},{type:"Heliostat",cx:-.24560426470951535,cy:.057288487088492074,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"phQzzL3Mgfme6Exr5WqXA9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.464335531506855},{type:"Heliostat",cx:-.3116400576517767,cy:-.015193358806695577,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"gSGxJne57KgDvvhX1w8m4S",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.33972665483218},{type:"Heliostat",cx:.08972170224219679,cy:.15564611828308753,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nvkfziKtbczLEbZ9noiReH",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.803611978337365},{type:"Heliostat",cx:.171198129873129,cy:.11877020207620374,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"e7BrgrYuxziAFGXqE8Paiu",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.234951957822524},{type:"Heliostat",cx:.23017733494925166,cy:.06724953811712991,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6E7Q93GeP3kP1LK9YLZv9E",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.62121496362152},{type:"Heliostat",cx:.2879404739413306,cy:-8679777502193404e-20,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"nSCCumTcS91dqnMuiik1qm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.104806039406704},{type:"Heliostat",cx:-.04193210541538864,cy:.08393432126519293,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"pmLUXug8LEht87AKuCxfbz",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.86211984880036},{type:"Heliostat",cx:-.37846374011465295,cy:-.11835014001933214,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o54KAWAv76mbgsJ1MBkyC5",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.835251993794415},{type:"Heliostat",cx:.34465672899242206,cy:-.0914088308517547,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"f7h8FDUa15ALkGHaRaG5Hv",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.60557336298944},{type:"Heliostat",cx:-.3756811771658677,cy:-.2797037551261536,cz:0,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"2waE2goJnuKsD2ZPsCBxqm",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.239096027800045},{type:"Heliostat",cx:-.0055636104805840934,cy:.0022188088978148607,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5ovRP3PCZ5upU3ukAjjLY",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.57798820659272},{type:"Heliostat",cx:-.431634308052032,cy:-.21576415823811107,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"jLzYFijeuhoktLs4FcLsmr",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:56.655113036860335},{type:"Heliostat",cx:.3946630399862396,cy:-.19563113598332482,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"b3S1EEPjMRL48HLhjJkhr2",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.25718216433262},{type:"Heliostat",cx:.12498761867946595,cy:-.17981546405024668,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"aqxtvZXmbpAutc5KFCX7w3",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.07130415709169},{type:"Heliostat",cx:.07239701626792935,cy:-.14059769948158687,cz:.5000000074506517,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qn5fUEqKYEJLMaMGhD5V2c",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.18946575400989},{type:"Heliostat",cx:-.24287237174377305,cy:-.3185781749765691,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"4t86vx9fAWouPiFQswUJGQ",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.72330556669799},{type:"Heliostat",cx:.18153469158750113,cy:-.3291164926045614,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"rufeUy74dsTyxkeFYKX4qa",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.045757801118675},{type:"Heliostat",cx:.12559565172148782,cy:-.27759582864548765,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"6GXoab5MEeebRm4uGu1EG9",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.60344034574142},{type:"Heliostat",cx:.062360215351212084,cy:-.2448099515806225,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"w5TEya7XNeGuhPop6Pj6Es",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:55.12631354865891},{type:"Heliostat",cx:-.072015086935624,cy:-.24832272412328657,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"eDoKDbTtFpnA5S8UAeT5JD",selected:!1,drawSunBeam:!0,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.944324146238436},{type:"Heliostat",cx:-.12856215984365912,cy:-.30569800901213173,cz:.5000000074505806,lx:6,ly:8,lz:.1,reflectance:.9,tiltAngle:0,relativeAzimuth:0,poleRadius:.2,poleHeight:.2,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"bybZmMq5HCRUCdJHjru2JV",selected:!1,drawSunBeam:!1,towerId:"eskWrngRsrfsVxitmEFwUG",dailyYield:54.723474182002164},{type:"Foundation",cx:.18915570284600136,cy:-14.72071217951015,cz:2,lx:10,ly:10,lz:4,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"eskWrngRsrfsVxitmEFwUG",solarStructure:2,locked:!0,solarPowerTower:{towerHeight:40}},{type:"Human",name:"Jett",cx:-77.63892197350822,cy:-41.607852899711375,cz:.2499999999999991,lx:.6,lz:1.85,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ipe6xTyA51gao39GpL4FGX",selected:!1,ly:.6}],BSn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Desert",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1205,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:17,groundColor:"#b3b3b3",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-114.20211728357525,-13.511893921234794,7.261369217489994],panCenter:[-1.8505902264752938,-3.0386998652965884,7.261369217489986],orthographic:!1,enableRotate:!0,cameraZoom:4.292775278858745,showInstructionPanel:!1,showMapPanel:!1,cameraPosition2D:[30.004072506948148,24.229268474745034,50.000024229971295],panCenter2D:[30.004072506948148,24.2293184769675,2423000647812703e-20],solarRadiationHeatMapMaxValue:10,showDailyHeliostatYieldPanel:!0,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:364,height:67}},jSn={dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1},YSn=1,OSn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_Sn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},VSn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},GSn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},XSn=["Solar power tower surrounded by heliostats"],JSn={docid:DSn,time:ESn,timestamp:kSn,userid:FSn,owner:LSn,email:WSn,world:NSn,elements:USn,view:BSn,graphState:jSn,evolutionMethod:YSn,solarPanelArrayLayoutParams:OSn,solarPanelArrayLayoutConstraints:_Sn,evolutionaryAlgorithmState:VSn,economicsParams:GSn,notes:XSn},KSn="cyN6tPCHQrmsUsTWTWV7Bq",qSn="02/01/2023 08:28 pm",$Sn=1675301282345,QSn="QWecNcxhyvP6j6sBN11hBsfZDau1",ZSn=null,eTn=null,tTn={date:"6/22/2022, 12:00:00 PM",timesPerHour:6,address:"Tucson, AZ, USA",latitude:32.2226066,longitude:-110.9747108,name:"default",orthographic:!1,cameraZoom:35,ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!0},nTn=[{selected:!1,cz:0,cx:-2.454909082526056,type:"Human",id:"3NsNQgPftGsbYSoSRa2zV4",normal:[0,1,0],cy:-1.9037352844719955,name:"Jaye",rotation:[0,0,0],parentId:"Ground",lx:.6,ly:.6,lz:1.65},{cx:.20566332108722207,color:"gray",cz:1.3564241923192988,type:"Cuboid",lz:2.7128483846385976,normal:[0,0,1],faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],ly:3.646712311386908,cy:.10935014088128625,rotation:[0,0,0],lx:2.2290047878920136,id:"2QtCNEmEF6Mcs3vbbR96ZT",selected:!1,parentId:"Ground"},{ly:.1,selected:!1,type:"Sensor",showLabel:!1,normal:[0,0,1],lz:.01,rotation:[0,0,0],lx:.1,cz:.5000000000000002,cx:-.007027589631907428,cy:.03130304552555022,id:"iqgmPt2Nm3r4bW8A7g6DJy",label:"Predicted (Hor.)",parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"},{lz:.01,showLabel:!1,rotation:[0,0,0],cy:-.4999999988722324,selected:!1,id:"1GCXGRbm6nuTH23uA8Yngz",cx:.021624712729279145,normal:[0,-1,0],cz:.03360969587566309,ly:.1,type:"Sensor",label:"Predicted (Ver.)",lx:.1,parentId:"2QtCNEmEF6Mcs3vbbR96ZT",foundationId:"2QtCNEmEF6Mcs3vbbR96ZT"}],oTn={showDailyLightSensorPanel:!1,showYearlyLightSensorPanel:!0,autoRotate:!1,showGroundPanel:!1,yearlyLightSensorPanelY:4,stickyNotePanelX:6,mapType:"roadmap",weatherPanelY:0,shadowEnabled:!0,theme:"Default",stickyNotePanelY:0,mapWeatherStations:!1,groundColor:"#16cda5",heliodon:!1,dailyLightSensorPanelX:-19,axes:!0,showWeatherPanel:!1,dailyLightSensorPanelY:15,mapTilt:0,heliodonPanelX:-1235,groundPanelY:0,heliodonPanelY:7,groundImage:!1,mapZoom:16,showStickyNotePanel:!0,groundPanelX:0,weatherPanelX:0,yearlyLightSensorPanelX:-8,showHeliodonPanel:!1,cameraPosition:[8.133880295141486,-8.174433278152733,4.6847078485248606],panCenter:[4.464757127641991,2.597260416450505,.5357741885065452],orthographic:!1,enableRotate:!0,cameraZoom:28.63945562104857,cameraPosition2D:[0,-4000177797536253e-20,39.99999999997991],panCenter2D:[0,0,0],showMapPanel:!1,yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},stickyNotePanelRect:{x:-5,y:5,width:339,height:74}},iTn=1,rTn={pvModelName:"CS6X-355P-FG",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},aTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},sTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cTn=["Solar radiation: Prediction vs. Measurement"],uTn={docid:KSn,time:qSn,timestamp:$Sn,userid:QSn,owner:ZSn,email:eTn,world:tTn,elements:nTn,view:oTn,evolutionMethod:iTn,solarPanelArrayLayoutParams:rTn,solarPanelArrayLayoutConstraints:aTn,evolutionaryAlgorithmState:lTn,economicsParams:sTn,notes:cTn},dTn="gbXM1tEmZzS8k1fXMr7e4c",fTn="02/04/2023 12:04 pm",hTn=1675530248432,pTn="QWecNcxhyvP6j6sBN11hBsfZDau1",gTn=null,mTn=null,yTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},ATn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],wTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[7.8185785102529906,-10.621731483534056,2.062041901327996],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8531721737261184,2.5703581157054773,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-2,y:0,width:225,height:60}},vTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},xTn=1,bTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},STn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},TTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},PTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},CTn=["BESTEST Case 600"],RTn={docid:dTn,time:fTn,timestamp:hTn,userid:pTn,owner:gTn,email:mTn,world:yTn,elements:ATn,view:wTn,graphState:vTn,evolutionMethod:xTn,solarPanelArrayLayoutParams:bTn,solarPanelArrayLayoutConstraints:STn,evolutionaryAlgorithmState:TTn,economicsParams:PTn,notes:CTn},HTn="rSjWfLHkJUuBXYDJVZ7K7Z",MTn="02/03/2023 07:07 pm",ITn=1675469237287,zTn="QWecNcxhyvP6j6sBN11hBsfZDau1",DTn=null,ETn=null,kTn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},FTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:8,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Window",cx:-.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.21,uValue:1.98,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"5cYjXS4vMUpWUASfp6LsaY"},{type:"Window",cx:.25,cy:.3,cz:0,lx:.375,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"edHVWga9uF8kxRK4efRqds",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],LTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[12.940867975227082,3.763083016970702,3785257595501958e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[12.940867975227082,3.7629330102992693,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[10.826418732519464,-13.023829528886234,2.75514975469418],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:713,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:41.010920913500534,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1192,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.447654823068404,9.854417213021707,.03152947137006695],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-168,y:465,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-4,y:0,width:200,height:60}},WTn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},NTn=1,UTn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},BTn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},jTn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},YTn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},OTn=["BESTEST Case 610"],_Tn={docid:HTn,time:MTn,timestamp:ITn,userid:zTn,owner:DTn,email:ETn,world:kTn,elements:FTn,view:LTn,graphState:WTn,evolutionMethod:NTn,solarPanelArrayLayoutParams:UTn,solarPanelArrayLayoutConstraints:BTn,evolutionaryAlgorithmState:jTn,economicsParams:YTn,notes:OTn},VTn="hCJ4qTBLMgzCCrmVBvT6Er",GTn="02/04/2023 12:05 pm",XTn=1675530329920,JTn="QWecNcxhyvP6j6sBN11hBsfZDau1",KTn=null,qTn=null,$Tn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},QTn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kUbRYwVoGDc7GFwgriV2eg",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2bnQyuWKAaZeiivebKX7uN",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1}],ZTn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-5.192350773225651,-4.0711716850268145,-4027338022569633e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-5.192350773225651,-4.071321691694211,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.427289283038643,-11.277019680971108,2.795880222169619],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:45.441463616067075,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.8699123691558452,2.578944652142625,.7819560454316943],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-277,y:233,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-2,y:5,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:-2,width:200,height:60}},ePn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},tPn=1,nPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},oPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},iPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},rPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},aPn=["BESTEST Case 620"],lPn={docid:VTn,time:GTn,timestamp:XTn,userid:JTn,owner:KTn,email:qTn,world:$Tn,elements:QTn,view:ZTn,graphState:ePn,evolutionMethod:tPn,solarPanelArrayLayoutParams:nPn,solarPanelArrayLayoutConstraints:oPn,evolutionaryAlgorithmState:iPn,economicsParams:rPn,notes:aPn},sPn="67HXdfbAHrwMfJ2uYxYEr9",cPn="02/04/2023 12:05 pm",uPn=1675530342623,dPn="QWecNcxhyvP6j6sBN11hBsfZDau1",fPn=null,hPn=null,pPn={solarRadiationHeatmapGridCellSize:.5,date:"12/22/2023, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Denver, CO, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:39.7392358,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-104.990251,diurnalTemperatureModel:2},gPn=[{type:"Human",name:"Jack",cx:-.8479752220394552,cy:-6.151925396723704,cz:0,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-.00341839393728538,cy:.6271804028246559,cz:.05,lx:10,ly:10,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:4},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"",showLabel:!1,labelHeight:8.5,labelSize:.8,rValue:5.283308619189682},{type:"Wall",cx:-2220446049250313e-31,cy:2.5,cz:2.2408122612280286,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[3.9999999999999996,2.5,0],rightPoint:[-4,2.5,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:3.999999999999999,cy:-.49999999999999956,cz:2.2301039869226305,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[3.9999999999999982,-3.499999999999999,0],rightPoint:[4,2.5,0],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:2220446049250313e-31,cy:-3.4999999999999996,cz:2.268765007024547,lx:8,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-3.9999999999999996,-3.499999999999999,0],rightPoint:[4,-3.5,0],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-4.000000000000001,cy:-.49999999999999956,cz:2.228839888904333,lx:5.999999999999999,ly:.2,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-4,2.5,0],rightPoint:[-4.000000000000002,-3.499999999999999,0],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"vBPx8vrh1SNvECDHWBPRBR",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["kFtcq9qJ814nEePHMgSpYL"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"pEW367Y1exs7be2pbQHztg",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Foundation",cx:4.561959864141299,cy:.16041396503555294,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"pVKekTH3vBaJDuKFqWJNR3",selected:!1,rValue:5.283308619189682},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["kFtcq9qJ814nEePHMgSpYL"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"vX5VrXQkMJaYbWcrM1Z6Lz",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["pEW367Y1exs7be2pbQHztg"],rightJoints:["vX5VrXQkMJaYbWcrM1Z6Lz"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"kFtcq9qJ814nEePHMgSpYL",parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"sEJTDSykek3p5kyccPdUdD",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["vX5VrXQkMJaYbWcrM1Z6Lz","kFtcq9qJ814nEePHMgSpYL","pEW367Y1exs7be2pbQHztg"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"pVKekTH3vBaJDuKFqWJNR3",foundationId:"pVKekTH3vBaJDuKFqWJNR3",id:"sEJTDSykek3p5kyccPdUdD",ceiling:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"jr5eRruUgVNaMyJ4BgMJfz",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:0,cy:.3,cz:0,lx:.5000000000000001,ly:.2,lz:.7407407407407407,uValue:1.98,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"#cccccc",frame:!1,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"85V2NYuPDyi8cjwzsRQJ5n",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.21,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:-.05384985471511783,cy:1.4780044124957141,cz:2.2408122612280286,lx:1,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:[],rightJoints:["4vW6e4BZW3jyozPbqjnt5D"],leftPoint:[.44615014528488217,1.4780044124957141,.1],rightPoint:[-.5538498547151178,1.4780044124957141,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"wAZYpbu3zMiGQjV2LpAcDG",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.05384985471511783,cy:-1.5219955875042859,cz:2.2408122612280286,lx:1.004987562112089,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["4vW6e4BZW3jyozPbqjnt5D"],rightJoints:[],leftPoint:[-.5538498547151178,-1.5219955875042859,.1],rightPoint:[.44615014528488217,-1.5219955875042859,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"7vsveQVeKqeZenZ1pDApJC",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{type:"Wall",cx:-.5538498547151178,cy:-.021995587504285874,cz:0,lx:2.9999999999999996,ly:.1,lz:2.7,rValue:2.13,volumetricHeatCapacity:.1,fill:"Empty",leftJoints:["wAZYpbu3zMiGQjV2LpAcDG"],rightJoints:["7vsveQVeKqeZenZ1pDApJC"],leftPoint:[-.5538498547151178,1.4780044124957137,.1],rightPoint:[-.5538498547151178,-1.5219955875042859,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,-3.141592653589793],id:"4vW6e4BZW3jyozPbqjnt5D",parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"pKTG8B6HTAm7A7dtN3ZbsU",leftRoofHeight:2.7,rightRoofHeight:2.7,selected:!1,eavesLength:0,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:2.7,rightTopPartialHeight:2.7},{id:"pKTG8B6HTAm7A7dtN3ZbsU",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,color:"#4d4d4d",rValue:4,sideColor:"#4d4d4d",normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"93LBsy6WnVM9PgJ49pUP7g",foundationId:"93LBsy6WnVM9PgJ49pUP7g",roofType:"Pyramid",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["7vsveQVeKqeZenZ1pDApJC","4vW6e4BZW3jyozPbqjnt5D","wAZYpbu3zMiGQjV2LpAcDG"],selected:!1,ceiling:!1},{type:"Foundation",cx:-4.58324969491131,cy:.09837545208621207,cz:.05,lx:2.922675695011217,ly:3.0478862418425114,lz:.1,normal:[0,0,1],rotation:[0,0,-3.141592653589793],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,showLabel:!1,id:"93LBsy6WnVM9PgJ49pUP7g",selected:!1,rValue:5.283308619189682},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:0,thickness:.1,rValue:4,roofType:"Pyramid",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj","wugyuZMsPdNUQJ1PdoxEGD","py4fscALBHuoNNVWKoXS9c","xi9Zz1pobWAhkAdtkZFZBZ"],textureType:"No Roof Texture",color:"#4d4d4d",sideColor:"#4d4d4d",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"vBPx8vrh1SNvECDHWBPRBR",volumetricHeatCapacity:.1,ceiling:!1}],mPn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-1.0768229629118022,2.7613875173197986,27683726328203026e-22],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-1.0768229629118022,2.7612375106561817,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[14.12898513990324,-7.74877596104179,2.534986637546045],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:453,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:75.89554049207445,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-1194,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.485245288976777,3.6907945473464463,2.058363039574734],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-1262,y:232,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!0,yearlyBuildingEnergyPanelRect:{x:-32,y:11,width:775,height:342},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-3,y:-3,width:200,height:60}},yPn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},APn=1,wPn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},vPn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},xPn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},bPn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},SPn=["BESTEST Case 630"],TPn={docid:sPn,time:cPn,timestamp:uPn,userid:dPn,owner:fPn,email:hPn,world:pPn,elements:gPn,view:mPn,graphState:yPn,evolutionMethod:APn,solarPanelArrayLayoutParams:wPn,solarPanelArrayLayoutConstraints:vPn,evolutionaryAlgorithmState:xPn,economicsParams:bPn,notes:SPn},PPn="1mt3H85vSeLycnvzEbiGLF",CPn=1647905546466,RPn="QWecNcxhyvP6j6sBN11hBsfZDau1",HPn=null,MPn=null,IPn={latitude:39.0042841,solarPanelGridCellSize:.5,timesPerHour:4,longitude:-3.3716443,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"13200 Manzanares, Ciudad Real, Spain",date:"6/8/2022 2:30:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},zPn=[{cy:.8227637571854691,normal:[0,0,1],lz:.5,ly:250,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.8016636577985707,cz:.05,rotation:[0,0,0],lx:250,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#cccccc",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3}},{type:"Sensor",cx:-.4159783264084858,cy:.39987868253676767,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Human",name:"Jack",cx:-101.47750420174262,cy:106.72814742414681,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"nRWqXrYCJwuMMKPznon3yj",selected:!1,ly:.6}],DPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:19,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!0,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[-286.26711514248836,-379.63764367710024,88.70698003902253],panCenter:[31.318634005291777,-33.73977035496972,57.75472306965425],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:7,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!0,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},EPn=[],kPn={docid:PPn,timestamp:CPn,userid:RPn,owner:HPn,email:MPn,world:IPn,elements:zPn,view:DPn,notes:EPn},FPn="snT8RSM4bna2exT4SbrKpx",LPn=1647994374708,WPn="QWecNcxhyvP6j6sBN11hBsfZDau1",NPn=null,UPn=null,BPn={latitude:25.206789542006906,solarPanelGridCellSize:.5,timesPerHour:4,longitude:55.273800285141746,ground:{albedo:.32,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Dubai - United Arab Emirates",date:"4/22/2022 1:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,solarRadiationHeatmapGridCellSize:2,sutGridCellSize:5,diurnalTemperatureModel:2,highestTemperatureTimeInMinutes:930,noAnimationForSolarUpdraftTowerSimulation:!0,noAnimationForSensorDataCollection:!0,noAnimationForHeatmapSimulation:!1,airConvectiveCoefficient:10},jPn=[{cy:-14.779474133308753,normal:[0,0,1],lz:.5,ly:264.0330484296776,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-13.154176421163392,cz:.05,rotation:[0,0,0],lx:454.50633176715684,selected:!1,parentId:"Ground",solarReceiverHeight:20,locked:!1,solarStructure:3,color:"#16a5a5",solarUpdraftTower:{collectorHeight:2,collectorRadius:122,chimneyHeight:195,chimneyRadius:5,collectorEmissivity:.9,collectorTransmissivity:.8,turbineEfficiency:.3},textureType:"No Foundation Texture"},{type:"Sensor",cx:-.11120328110703694,cy:.21015039060624294,cz:.5000000074505806,lx:.1,ly:.1,lz:.01,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"o2v8sLskiRxHNQMJYgmnf4",selected:!1},{type:"Cuboid",cx:2.1177379727110406,cy:160.51534566937434,cz:74.09390657882601,lx:78.30098332647403,ly:55.99394288505539,lz:148.18781315765202,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.025752033646721628],parentId:"Ground",selected:!1,id:"2EhrboeXntUZKiBN3HjSix"},{type:"Cuboid",cx:50.66161337498563,cy:207.36077727687461,cz:32.43138091159533,lx:145.9842111895511,ly:125.02724353031309,lz:64.86276182319067,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"6Xn8R7eKSnxRxHnYpiNTaj",selected:!1},{type:"Cuboid",cx:-72.11151802635683,cy:193.1105351858589,cz:37.54389418882869,lx:180.92996331753585,ly:104.88750828847839,lz:75.08778837765738,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.4372817352121965],parentId:"Ground",id:"qmmFDRVBHd8n28gezjkd3v",selected:!1},{type:"Cuboid",cx:153.53794529088543,cy:135.2714939761318,cz:28.458907280218547,lx:236.41206811774626,ly:73.3973881158558,lz:56.917814560437094,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-1.0889289069735497],parentId:"Ground",id:"6WFEHvBHfcw1hyoqbdVq2Q",selected:!1},{type:"Cuboid",cx:197.28140665982946,cy:-49.22558984875294,cz:23.43801759070747,lx:72.3188854798575,ly:208.05225786437427,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,-.13048951214355942],parentId:"Ground",id:"wVZSZy2dQew3t36trixDr8",selected:!1},{type:"Cuboid",cx:-201.1839566931086,cy:103.76736037364329,cz:23.43801759070747,lx:180.92996331753585,ly:104.88750828847839,lz:46.87603518141494,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,.7727363696866378],parentId:"Ground",id:"1QdVXZ9PmC9w7nnsHyZH8T",selected:!1},{type:"Cuboid",cx:-255.36665065884822,cy:-36.73723769206747,cz:18.59922423283554,lx:225.13779640089743,ly:104.62558934593119,lz:37.19844846567108,color:"#ffffff",faceColors:["#ffffff","#ffffff","#ffffff","#ffffff","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,1.5327638573782314],parentId:"Ground",id:"raZT6wgNraS3Vp9bqR82TD",selected:!1}],YPn={yearlyPvYieldPanelX:-25,autoRotate:!1,mapZoom:18,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-4,dailyLightSensorPanelY:50,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:16,yearlyLightSensorPanelX:-605,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:53,heliodonPanelX:-1226,dailyPvYieldPanelY:3,mapWeatherStations:!1,yearlyLightSensorPanelY:60,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-1231,weatherPanelX:606,heliodonPanelY:482,groundColor:"#68ccca",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[-90.01171835895659,-555.4483085712341,96.07353497556753],panCenter:[-9.153086630446868,47.334689777283224,96.07353497556753],orthographic:!1,enableRotate:!0,cameraZoom:1.8893648827547527,showInstructionPanel:!0,showMapPanel:!1,cameraPosition2D:[8.410285062152344,12.466838396919735,50.00001246725617],panCenter2D:[8.410285062152344,12.466888399142201,12467288726847116e-21],solarRadiationHeatMapMaxValue:5,showDailyHeliostatYieldPanel:!1,dailyHeliostatYieldPanelX:null,dailyHeliostatYieldPanelY:null,showYearlyHeliostatYieldPanel:!1,showDailyUpdraftTowerYieldPanel:!1,showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelX:1237,diurnalTemperaturePanelY:239,dailyUpdraftTowerYieldPanelX:-3,dailyUpdraftTowerYieldPanelY:18},OPn=[],_Pn={docid:FPn,timestamp:LPn,userid:WPn,owner:NPn,email:UPn,world:BPn,elements:jPn,view:YPn,notes:OPn},VPn="p2drrr48ZatKaiVf1mbTs1",GPn="12/03/2023 04:24 PM",XPn=1701638671232,JPn="QWecNcxhyvP6j6sBN11hBsfZDau1",KPn=null,qPn=null,$Pn="1.5.4",QPn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 12:00:00 PM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},ZPn=[{type:"Foundation",cx:.21568850029510145,cy:.013602452212484906,cz:.05,lx:177.03060455972584,ly:35.672904101964825,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Joseph",cx:3.2599818806420906,cy:-7.518092078963932,cz:.05000000074505806,lx:.6,lz:1.88,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.8,towerHeight:25,hubRadius:1,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.43466060172200127,cy:-.14710534568960895,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:1.3089969389957472,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:.3490658503988659,showLabel:!0,label:"1-blade",labelHeight:.2,labelSize:1,numberOfBlades:1},{type:"Wind Turbine",cx:-.25646562384285493,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.08726646259971647,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"2-blades",numberOfBlades:2},{type:"Wind Turbine",cx:-.053110954803951796,cy:-.01664123033462413,cz:0,lx:36,ly:36,lz:43,pitchAngle:.3490658503988659,relativeAngle:0,initialRotorAngle:.6108652381980153,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"3-blades"},{type:"Wind Turbine",cx:.16054544137606933,cy:-.019488911573350004,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:4,pitchAngle:.3490658503988659,initialRotorAngle:.4363323129985824,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"9dzaj23koNLLEL3shaBk2K",selected:!1,label:"4-blades"},{type:"Wind Turbine",cx:.38225577893413515,cy:-.007337508433549948,cz:.5000000074505806,lx:36,ly:36,lz:43,numberOfBlades:8,pitchAngle:.3490658503988659,initialRotorAngle:.9599310885968813,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:1,hubLength:1.5,towerRadius:.8,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"rYsUP6fHc3t52h1tpQjudB",selected:!1,label:"8-blades"}],eCn=111,tCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.06508062441107645,3.009365144072869,3251344493198157e-21],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.06508062441107645,3.0083647666271345,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-6.410142423966475,-199.0249080253237,25.806061057837795],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:7.547072050706145,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[1.0801685524133897,3.803936638871667,21.311753692834813],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:203,height:75},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},nCn=!0,oCn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},iCn=1,rCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},aCn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},sCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cCn="Unknown",uCn=null,dCn=null,fCn=null,hCn=null,pCn=["Effect of blade number"],gCn=3,mCn=3,yCn={docid:VPn,time:GPn,timestamp:XPn,userid:JPn,owner:KPn,email:qPn,version:$Pn,world:QPn,elements:ZPn,sceneRadius:eCn,view:tCn,animate24Hours:nCn,graphState:oCn,evolutionMethod:iCn,solarPanelArrayLayoutParams:rCn,solarPanelArrayLayoutConstraints:aCn,evolutionaryAlgorithmState:lCn,economicsParams:sCn,modelType:cCn,modelAuthor:uCn,modelLabel:dCn,modelDescription:fCn,designProjectType:hCn,notes:pCn,minimumNavigationMoveSpeed:gCn,minimumNavigationTurnSpeed:mCn},ACn="ku3aJQnNyy4yCsuFzwuDoc",wCn="12/03/2023 04:23 PM",vCn=1701638601264,xCn="QWecNcxhyvP6j6sBN11hBsfZDau1",bCn=null,SCn=null,TCn="1.5.4",PCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},CCn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"Jack",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",bladeRadius:18,towerRadius:.7,towerHeight:25,hubRadius:.9,hubLength:1.5,bladeTipWidth:.2,bladeRootRadius:.4,maximumChordRadius:4,maximumChordLength:2,cx:-.3778738108736008,cy:-.13041322347895162,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"tqD4n1WRQYmNAhR5UQzB4X",selected:!1,initialRotorAngle:2.6179938779914944,relativeAngle:0,ly:36,lx:36,lz:43,pitchAngle:0,showLabel:!0,label:"Pitch 0°",labelHeight:.2,labelSize:1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°"},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.6981317007977318,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"n62TtrmXHWgo7x1hEcdHwF",selected:!1,label:"Pitch 90°"}],RCn=59,HCn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-.3091864608311454,-84.35385005104541,19.592601415556782],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[-.5737328988942154,.4037021816977089,14.94164829471033],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},MCn=!0,ICn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zCn=1,DCn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ECn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kCn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},FCn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},LCn="Unknown",WCn=null,NCn=null,UCn=null,BCn=null,jCn=["Effect of pitch angle"],YCn=3,OCn=3,_Cn={docid:ACn,time:wCn,timestamp:vCn,userid:xCn,owner:bCn,email:SCn,version:TCn,world:PCn,elements:CCn,sceneRadius:RCn,view:HCn,animate24Hours:MCn,graphState:ICn,evolutionMethod:zCn,solarPanelArrayLayoutParams:DCn,solarPanelArrayLayoutConstraints:ECn,evolutionaryAlgorithmState:kCn,economicsParams:FCn,modelType:LCn,modelAuthor:WCn,modelLabel:NCn,modelDescription:UCn,designProjectType:BCn,notes:jCn,minimumNavigationMoveSpeed:YCn,minimumNavigationTurnSpeed:OCn},VCn="prsweG46r8wQU1VCBei9bi",GCn="12/05/2023 08:19 PM",XCn=1701825553155,JCn="QWecNcxhyvP6j6sBN11hBsfZDau1",KCn=null,qCn=null,$Cn="1.5.4",QCn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:15:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},ZCn=[{type:"Foundation",cx:-.06801975746204719,cy:-.18409539243281756,cz:.05,lx:94.71410891853054,ly:36.6174535699994,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Human",name:"James",cx:-12.16505900504582,cy:-10.984558061960229,cz:.05000000074505806,lx:.472,lz:1.75,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Wind Turbine",cx:-.044808705540805294,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,pitchAngle:.7853981633974483,relativeAngle:0,initialRotorAngle:1.9198621771937625,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"dqvYsk32e7zdsBMdPbmyPt",selected:!1,label:"Pitch 45°",birdSafe:1},{type:"Wind Turbine",cx:.3352825016833035,cy:-.0033144380074493136,cz:0,lx:36,ly:36,lz:43,birdSafe:2,pitchAngle:.7853981633974483,initialRotorAngle:.5235987755982988,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"uoJzz1MrpxpKH8prABoXBK",selected:!1},{type:"Wind Turbine",cx:-.40227176546914695,cy:-.08636499522843967,cz:.5000000074506517,lx:36,ly:36,lz:43,birdSafe:0,pitchAngle:.7853981633974483,initialRotorAngle:1.2217304763960306,maximumChordRadius:4,maximumChordLength:2,bladeRootRadius:.4,bladeTipWidth:.2,bladeRadius:18,hubRadius:.9,hubLength:1.5,towerRadius:.7,towerHeight:25,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"oQQHDhqvAmppTTGonavtKx",selected:!1}],eRn=59,tRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[.0651129818879018,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[.0651129818879018,-.0010003774460187742,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[11.54640905238722,-83.12569705438379,19.57753232141962],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:-1,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:13.966745921874999,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:4,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.843815451002575,-2.517227319037223,19.577532321419607],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:229,height:65},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!1,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},nRn=!0,oRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},iRn=1,rRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},aRn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},lRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},sRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},cRn="Unknown",uRn=null,dRn=null,fRn=null,hRn=null,pRn=["Bird-safe blade design"],gRn=3,mRn=3,yRn={docid:VCn,time:GCn,timestamp:XCn,userid:JCn,owner:KCn,email:qCn,version:$Cn,world:QCn,elements:ZCn,sceneRadius:eRn,view:tRn,animate24Hours:nRn,graphState:oRn,evolutionMethod:iRn,solarPanelArrayLayoutParams:rRn,solarPanelArrayLayoutConstraints:aRn,evolutionaryAlgorithmState:lRn,economicsParams:sRn,modelType:cRn,modelAuthor:uRn,modelLabel:dRn,modelDescription:fRn,designProjectType:hRn,notes:pRn,minimumNavigationMoveSpeed:gRn,minimumNavigationTurnSpeed:mRn},ARn="4dviU3RawE9LMcftibfNkm",wRn="12/03/2023 04:14 PM",vRn=1701638072017,xRn="QWecNcxhyvP6j6sBN11hBsfZDau1",bRn=null,SRn=null,TRn="1.5.4",PRn={solarRadiationHeatmapGridCellSize:.5,date:"6/22/2023, 8:30:00 AM",cspTimesPerHour:1,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"4VF7+G3 Truro, MA, USA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.12379091441428,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-70.13730849064942,diurnalTemperatureModel:1,countryCode:"US",airConvectiveCoefficient:5,monthlyIrradianceLosses:[.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05,.05],highestTemperatureTimeInMinutes:900,sutTimesPerHour:1,sutDaysPerYear:4,sutGridCellSize:1,noAnimationForThermalSimulation:!1,noAnimationForSolarUpdraftTowerSimulation:!1},CRn=[{type:"Foundation",cx:-.03667035741752578,cy:.04882318835639765,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"5r5yFsxaXe4eLeUDafs56x"},{type:"Wind Turbine",bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,cx:-.018046403605868733,cy:.4133982216223373,cz:0,normal:[0,0,1],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",foundationId:"5r5yFsxaXe4eLeUDafs56x",id:"wjxmhdfmeJ2VqYDExGzaQP",selected:!1,relativeRotationAngle:1.5707963267948966,relativeAngle:0,initialRotorAngle:.5235987755982988,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Human",name:"Jack",cx:-.32689281452861607,cy:-.7424702537660224,cz:.05000000074505806,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"5r5yFsxaXe4eLeUDafs56x",id:"cEA3ZhJRJKEsKPaiL6uLWd",selected:!1},{type:"Foundation",cx:.46178016174311765,cy:34.77682557793467,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"rPGPX7hqLNXxmoCP5Z3sE3",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"rPGPX7hqLNXxmoCP5Z3sE3",foundationId:"rPGPX7hqLNXxmoCP5Z3sE3",id:"wmRwaWRbnt4jyLACLBbnbR",selected:!1,initialRotorAngle:.5759586531581288,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-35.133887514480534,cy:.13131107853935997,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"5AXcGdcxuJPPmWUFFF1Mg4",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"5AXcGdcxuJPPmWUFFF1Mg4",foundationId:"5AXcGdcxuJPPmWUFFF1Mg4",id:"8zpiTHWfmH9dxxMob7gGKw",selected:!1,initialRotorAngle:.6981317007977318,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.15687726121619,cy:.08583548447972705,cz:.05,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"3PvdrySRRuRb4VWscpoan1",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"3PvdrySRRuRb4VWscpoan1",foundationId:"3PvdrySRRuRb4VWscpoan1",id:"jh2VLP6aEsC9MjyvMzHmnh",selected:!1,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:36.68380015977545,cy:35.992070115484914,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ajcMCL4iShmNZcRHJaZwqC",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ajcMCL4iShmNZcRHJaZwqC",foundationId:"ajcMCL4iShmNZcRHJaZwqC",id:"73M62UHt2cc3ePWwwXFCtp",selected:!1,initialRotorAngle:1.9198621771937625,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-36.06399520270002,cy:36.219927749176875,cz:.05000000000011369,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"8y22r8ZxpQWom1j6cs1tYx",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"8y22r8ZxpQWom1j6cs1tYx",foundationId:"8y22r8ZxpQWom1j6cs1tYx",id:"9phSpLbBjff3RP3Gd6q3wk",selected:!1,initialRotorAngle:3.735004599267865,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:-34.92135925619859,cy:-39.65568470409089,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"7omZkjhG7pVW412usas6QG",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"7omZkjhG7pVW412usas6QG",foundationId:"7omZkjhG7pVW412usas6QG",id:"n57NaRS2RhJe7aRryzjvz5",selected:!1,initialRotorAngle:2.1467549799530254,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:.28880826894608447,cy:-39.405449951382565,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"ahFZR4riKJXTrcHA73mdCn",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"ahFZR4riKJXTrcHA73mdCn",foundationId:"ahFZR4riKJXTrcHA73mdCn",id:"gzowsxQwP2TmUT7TdsAvgu",selected:!1,initialRotorAngle:.7504915783575618,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659},{type:"Foundation",cx:37.11911004267943,cy:-35.660841265945486,cz:.049999999999886316,lx:2,ly:2,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",textureType:"No Foundation Texture",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},rValue:2,id:"6vng7Lgk75SDU7zgeFirDf",selected:!1},{type:"Wind Turbine",cx:.014771633447601573,cy:-.08375719167548468,cz:0,bladeRadius:15,towerRadius:.6,towerHeight:20,hubRadius:.8,hubLength:1.2,bladeTipWidth:.2,bladeRootRadius:.2,maximumChordRadius:3.1,maximumChordLength:1.2,normal:[0,0,1],rotation:[0,0,0],parentId:"6vng7Lgk75SDU7zgeFirDf",foundationId:"6vng7Lgk75SDU7zgeFirDf",id:"8FDU4ixVHqSmgDc6imfmtZ",selected:!1,initialRotorAngle:3.001966313430247,ly:1,lx:30,lz:35,pitchAngle:.3490658503988659}],RRn=51,HRn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[8.052948084656641,-13.89445165214065,-1405165848269891e-20],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[8.052948084656641,-13.895452029586668,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:11,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[22.54912751083805,-79.65990049831592,12.693759961970386],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:0,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.30000000000000004,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:6.1471373545004715,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:0,showStickyNotePanel:!1,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16A5A5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!0,panCenter:[-6.443475483349762,13.626542859895423,12.693759961970372],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!0,axes:!0,solarRadiationHeatMapMaxValue:5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!1,directLightIntensity:3.5,dailyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:20,stickyNotePanelRect:{x:0,y:0,width:400,height:300},navigationView:!1,cameraPositionNav:[5,-30,1],cameraRotationNav:[1.5374753309166491,.16505866097993566,.005476951734475092],heatFluxColor:"gray",heatFluxWidth:.5,showAzimuthAngle:!0,showElevationAngle:!0,showZenithAngle:!0,groundImageType:"roadmap",waterSurface:!0,solarPanelShininess:100,windowShininess:200,showDailyUpdraftTowerYieldPanel:!1,showYearlyUpdraftTowerYieldPanel:!1,showEvolutionPanel:!1,weatherPanelRect:{x:0,y:0,width:500,height:500},dailyLightSensorPanelRect:{x:0,y:0,width:600,height:360},yearlyLightSensorPanelRect:{x:0,y:0,width:600,height:500},yearlyLightSensorPanelShowDaylight:!1,yearlyLightSensorPanelShowClearness:!1,dailyPvYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},visibilityResultsPanelRect:{x:0,y:0,width:600,height:470},dailyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicTroughYieldPanelRect:{x:0,y:0,width:600,height:400},dailyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyParabolicDishYieldPanelRect:{x:0,y:0,width:600,height:400},dailyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyFresnelReflectorYieldPanelRect:{x:0,y:0,width:600,height:400},dailyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},yearlyHeliostatYieldPanelRect:{x:0,y:0,width:600,height:400},dailyUpdraftTowerYieldPanelRect:{x:0,y:0,width:640,height:550},yearlyUpdraftTowerYieldPanelRect:{x:0,y:0,width:600,height:400},evolutionPanelRect:{x:0,y:0,width:640,height:400}},MRn=!0,IRn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},zRn=1,DRn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},ERn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},kRn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},FRn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},LRn="Unknown",WRn=null,NRn=null,URn=null,BRn=null,jRn=[],YRn=3,ORn=3,_Rn={docid:ARn,time:wRn,timestamp:vRn,userid:xRn,owner:bRn,email:SRn,version:TRn,world:PRn,elements:CRn,sceneRadius:RRn,view:HRn,animate24Hours:MRn,graphState:IRn,evolutionMethod:zRn,solarPanelArrayLayoutParams:DRn,solarPanelArrayLayoutConstraints:ERn,evolutionaryAlgorithmState:kRn,economicsParams:FRn,modelType:LRn,modelAuthor:WRn,modelLabel:NRn,modelDescription:URn,designProjectType:BRn,notes:jRn,minimumNavigationMoveSpeed:YRn,minimumNavigationTurnSpeed:ORn},VRn="vW4e6RYtysT2Mk4RJsMwWK",GRn=1647108232108,XRn="QWecNcxhyvP6j6sBN11hBsfZDau1",JRn=null,KRn=null,qRn={longitude:-110.90092954103089,solarRadiationHeatmapGridCellSize:1,discretization:"Approximate",timesPerHour:4,date:"9/22/2022 1:15:00 PM",name:"default",solarPanelVisibilityGridCellSize:.2,airAttenuationCoefficient:.01,pvGridCellSize:.5,latitude:32.15910168004556,address:"4346 E Irvington Rd, Tucson, AZ 85714, USA",ground:{snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0],thermalDiffusivity:.05,albedo:.3},cspTimesPerHour:4,cspGridCellSize:1},$Rn=[{textureType:"No Foundation Texture",lz:.1,ly:428,cx:-12.823413575842814,locked:!1,type:"Foundation",id:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lx:111.22000916830105,solarAbsorberPipe:{absorberHeight:16,apertureWidth:1},rotation:[0,0,0],parentId:"Ground",cz:.05,cy:-21.37347182127145,normal:[0,0,1]},{reflectance:.9,label:"1",absorptance:.95,poleHeight:.2,selected:!1,drawSunBeam:!0,poleRadius:.05,type:"Fresnel Reflector",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cx:-.4012211769217936,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,showLabel:!1,cz:0,dailyYield:148.93207880790618,cy:.006680793972906053,opticalEfficiency:.7,moduleLength:20,lx:2.5,lz:.1,normal:[0,0,1],tiltAngle:0,thermalEfficiency:.3,rotation:[0,0,0],id:"gGEdWUHCti1PrRxJ7JDarq"},{poleRadius:.05,rotation:[0,0,0],relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,reflectance:.9,tiltAngle:0,cz:0,cx:-.3742476132399176,showLabel:!1,ly:420,normal:[0,0,1],poleHeight:.2,selected:!1,lz:.1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"3xn438z3EMLSwNjb9D63WM",lx:2.5,type:"Fresnel Reflector",cy:.006680793972906053,drawSunBeam:!0},{foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,poleHeight:.2,id:"bLwgNAfScj3MbJ3LCbgVeJ",cx:.4118441240173573,rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,poleRadius:.05,reflectance:.9,cy:.006920168618473448,tiltAngle:0,cz:.5000000074505806,lz:.1,moduleLength:20,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,drawSunBeam:!0,normal:[0,0,1],lx:2.5,type:"Fresnel Reflector",selected:!1},{lz:.1,cy:.006920164646334277,cx:.38874501986607163,ly:420,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"n7GLSN9b7KQJT3M3e1Gbd6",lx:2.5,moduleLength:20,tiltAngle:0,normal:[0,0,1],parentId:"kxHYpYsUs7XEocuTYAj1Qu",receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,cz:.5000000074506161,rotation:[0,0,0],relativeAzimuth:0,drawSunBeam:!0,selected:!1,poleRadius:.05,type:"Fresnel Reflector",showLabel:!1},{selected:!1,parentId:"Ground",type:"Cuboid",color:"gray",cx:-52.4956763602033,textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],cz:2.295137859741913,ly:6.761851189958324,id:"2ef4fdCaFagjkM5oc3rwcu",faceColors:["gray","gray","gray","gray","gray","gray"],lx:17.519341460326316,rotation:[0,0,0],cy:209.0290599516856,normal:[0,0,1],lz:4.590275719483826},{ly:420,rotation:[0,0,0],poleHeight:.2,lz:.1,moduleLength:20,cz:.5000000074506517,id:"8GG67NKVFrvbH3J8prHsci",showLabel:!1,poleRadius:.05,selected:!1,reflectance:.9,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,cy:.006920160674195108,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.3629408980758779,relativeAzimuth:0,drawSunBeam:!0,lx:2.5},{lx:2.5,moduleLength:20,type:"Fresnel Reflector",relativeAzimuth:0,cy:.006920156702055938,poleHeight:.2,poleRadius:.05,cz:.5000000074506872,selected:!1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],showLabel:!1,rotation:[0,0,0],id:"iiCPQvzxSxVKeMzjiCWt4r",drawSunBeam:!0,lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cx:.33443175864677654,ly:420,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{type:"Fresnel Reflector",normal:[0,0,1],id:"48A3HEC1e87s6pvydn6P2h",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,poleHeight:.2,selected:!1,cx:.3059226192176751,rotation:[0,0,0],tiltAngle:0,relativeAzimuth:0,lx:2.5,cy:.006920152729916776,lz:.1,moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,drawSunBeam:!0,cz:.5000000074507227,showLabel:!1,reflectance:.9,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{normal:[0,0,1],rotation:[0,0,0],poleHeight:.2,type:"Fresnel Reflector",id:"p9gJ8g2kx38fJVQXUT5Mgz",cx:.27741347978857367,moduleLength:20,relativeAzimuth:0,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cz:.5000000074507582,lx:2.5,reflectance:.9,poleRadius:.05,selected:!1,lz:.1,ly:420,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.0069201487577776055,tiltAngle:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0},{relativeAzimuth:0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074507938,selected:!1,normal:[0,0,1],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],moduleLength:20,poleRadius:.05,drawSunBeam:!0,cy:.006920144785638444,tiltAngle:0,id:"nUiryBqcmAQ2AAWDiEELcv",cx:.24890434035947226,lz:.1,ly:420,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",lx:2.5},{ly:420,reflectance:.9,poleRadius:.05,showLabel:!1,type:"Fresnel Reflector",relativeAzimuth:0,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074508293,poleHeight:.2,cx:.22039520093037082,selected:!1,tiltAngle:0,moduleLength:20,lx:2.5,rotation:[0,0,0],cy:.006920140813499274,drawSunBeam:!0,lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"c1WTMXLtugeCdJwSfZWMz9"},{poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,selected:!1,relativeAzimuth:0,cz:.5000000074508648,drawSunBeam:!0,rotation:[0,0,0],poleRadius:.05,cx:.1918860615012694,type:"Fresnel Reflector",lz:.1,id:"3Kj4GK5Z8rMjFhG7kwoBBb",tiltAngle:0,reflectance:.9,normal:[0,0,1],cy:.006920136841360104,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG"},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",relativeAzimuth:0,cx:.16337692207216795,tiltAngle:0,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,poleHeight:.2,drawSunBeam:!0,type:"Fresnel Reflector",cz:.5000000074509003,poleRadius:.05,id:"gRmwqsLeYTEckzUeWsqBhN",showLabel:!1,normal:[0,0,1],lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,reflectance:.9,lz:.1,cy:.006920132869220934,ly:420},{cz:.5000000074509359,cy:.006920128897081764,drawSunBeam:!0,type:"Fresnel Reflector",ly:420,selected:!1,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,tiltAngle:0,cx:.13486778264306654,lz:.1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",showLabel:!1,id:"joT2iHz7uZVy7UaUNMCzBF",moduleLength:20,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,lx:2.5,rotation:[0,0,0],reflectance:.9,normal:[0,0,1]},{normal:[0,0,1],id:"itX4GCN56fDPamdgJYAmwQ",selected:!1,lx:2.5,drawSunBeam:!0,showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074509714,cx:.10635864321396508,lz:.1,cy:.006920124924942602,poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",type:"Fresnel Reflector",rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",tiltAngle:0,poleRadius:.05,moduleLength:20,relativeAzimuth:0,ly:420,reflectance:.9},{type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",poleHeight:.2,cy:.00692012095280344,cz:.5000000074510069,ly:420,relativeAzimuth:0,drawSunBeam:!0,moduleLength:20,lx:2.5,showLabel:!1,id:"5e4g29VTk26fuKRVWuNgRz",parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cx:.07784950378486367,poleRadius:.05,lz:.1,tiltAngle:0,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",selected:!1,normal:[0,0,1]},{id:"sBjhkF3pMtT3cQ3g1UR96e",cz:.5000000074510424,cx:.049340364355762216,receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",type:"Fresnel Reflector",ly:420,normal:[0,0,1],showLabel:!1,relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,lz:.1,cy:.006920116980664271,reflectance:.9,tiltAngle:0,moduleLength:20,rotation:[0,0,0],lx:2.5,drawSunBeam:!0,poleRadius:.05},{poleHeight:.2,poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.0069201130085251,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,showLabel:!1,ly:420,selected:!1,reflectance:.9,moduleLength:20,rotation:[0,0,0],lx:2.5,tiltAngle:0,cz:.500000007451078,type:"Fresnel Reflector",normal:[0,0,1],cx:.020831224926660816,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",id:"h3TzeZk2YVWTGe9knmBmhc",drawSunBeam:!0,relativeAzimuth:0},{cy:.0069201090363859305,poleRadius:.05,drawSunBeam:!0,lx:2.5,normal:[0,0,1],tiltAngle:0,rotation:[0,0,0],moduleLength:20,showLabel:!1,poleHeight:.2,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,selected:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",id:"kWfcmDULgEQa34dEtRx2UT",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,reflectance:.9,cz:.5000000074511135,cx:-.007677914502440628,lz:.1,type:"Fresnel Reflector"},{reflectance:.9,rotation:[0,0,0],foundationId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,type:"Fresnel Reflector",normal:[0,0,1],tiltAngle:0,id:"wQ8RFzz864QiELuFRWM7ge",poleHeight:.2,cz:.500000007451149,drawSunBeam:!0,cx:-.03618705393154207,selected:!1,showLabel:!1,lz:.1,cy:.00692010506424676,moduleLength:20,lx:2.5,poleRadius:.05,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{poleHeight:.2,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",parentId:"kxHYpYsUs7XEocuTYAj1Qu",cy:.006920101092107599,id:"rCD4HDT8779Y925QdUv6gZ",cx:-.06469619336064349,drawSunBeam:!0,selected:!1,lx:2.5,poleRadius:.05,cz:.5000000074511846,relativeAzimuth:0,type:"Fresnel Reflector",normal:[0,0,1],lz:.1,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,rotation:[0,0,0],ly:420,showLabel:!1,moduleLength:20},{ly:420,poleHeight:.2,normal:[0,0,1],cx:-.0932053327897449,id:"dMUsSHLikspa8gopdzHskY",poleRadius:.05,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,reflectance:.9,moduleLength:20,cy:.0069200971199684285,showLabel:!1,tiltAngle:0,rotation:[0,0,0],type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,cz:.5000000074512201,selected:!1,lz:.1},{rotation:[0,0,0],receiverId:"jbxC2ET67y7TWpMwnYUQpG",reflectance:.9,type:"Fresnel Reflector",cy:.006920093147829267,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",lz:.1,lx:2.5,relativeAzimuth:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,tiltAngle:0,poleHeight:.2,normal:[0,0,1],selected:!1,moduleLength:20,cx:-.12171447221884638,showLabel:!1,id:"rTyFuBNMkgb6TQ1G9Eh8gm",poleRadius:.05,cz:.5000000074512556,ly:420},{poleRadius:.05,normal:[0,0,1],showLabel:!1,cz:.5000000074512911,parentId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,type:"Fresnel Reflector",selected:!1,rotation:[0,0,0],tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,id:"j5bFm4KL8wLSLUYpWvdxLo",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",ly:420,cx:-.15022361164794779,lz:.1,cy:.006920089175690097,relativeAzimuth:0,poleHeight:.2,lx:2.5,reflectance:.9},{cx:-.1787327510770492,parentId:"kxHYpYsUs7XEocuTYAj1Qu",lx:2.5,drawSunBeam:!0,reflectance:.9,tiltAngle:0,lz:.1,cy:.006920085203550927,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],cz:.5000000074513267,relativeAzimuth:0,showLabel:!1,poleRadius:.05,selected:!1,type:"Fresnel Reflector",normal:[0,0,1],id:"4yDr3h7mFtSP1gWovYHUdL",poleHeight:.2,receiverId:"jbxC2ET67y7TWpMwnYUQpG",ly:420,moduleLength:20},{cy:.006920081231411757,id:"cdAqNd7wifCFLgGsKrvuwz",moduleLength:20,drawSunBeam:!0,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],poleHeight:.2,poleRadius:.05,relativeAzimuth:0,tiltAngle:0,receiverId:"jbxC2ET67y7TWpMwnYUQpG",lx:2.5,rotation:[0,0,0],parentId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,cz:.5000000074513622,lz:.1,type:"Fresnel Reflector",showLabel:!1,cx:-.2072418905061506,reflectance:.9,ly:420},{rotation:[0,0,0],lz:.1,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074513977,moduleLength:20,reflectance:.9,relativeAzimuth:0,selected:!1,tiltAngle:0,ly:420,poleRadius:.05,showLabel:!1,receiverId:"jbxC2ET67y7TWpMwnYUQpG",drawSunBeam:!0,poleHeight:.2,type:"Fresnel Reflector",cx:-.23575102993525202,parentId:"kxHYpYsUs7XEocuTYAj1Qu",normal:[0,0,1],lx:2.5,id:"ptAVmbmDJoFnE5rNDPcxp1",cy:.006920077259272587},{cx:-.26426016936435354,reflectance:.9,normal:[0,0,1],receiverId:"jbxC2ET67y7TWpMwnYUQpG",tiltAngle:0,type:"Fresnel Reflector",parentId:"kxHYpYsUs7XEocuTYAj1Qu",drawSunBeam:!0,poleRadius:.05,poleHeight:.2,id:"9PPkqgZe4ooTSBcdbEhq2S",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",cz:.5000000074514332,rotation:[0,0,0],moduleLength:20,cy:.006920073287133425,relativeAzimuth:0,lz:.1,showLabel:!1,selected:!1,lx:2.5,ly:420},{lx:2.5,drawSunBeam:!0,selected:!1,cx:-.29276930879345486,poleRadius:.05,reflectance:.9,receiverId:"jbxC2ET67y7TWpMwnYUQpG",cy:.006920069314994255,cz:.5000000074514688,relativeAzimuth:0,lz:.1,ly:420,id:"1bynbmDmRsgQT44LeFTqV2",type:"Fresnel Reflector",foundationId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0],tiltAngle:0,moduleLength:20,poleHeight:.2,normal:[0,0,1],showLabel:!1,parentId:"kxHYpYsUs7XEocuTYAj1Qu"},{id:"biqZtWn8yKbuhMZsTFnzzy",poleRadius:.05,ly:420,normal:[0,0,1],moduleLength:20,receiverId:"jbxC2ET67y7TWpMwnYUQpG",showLabel:!1,reflectance:.9,cy:.006920065342855094,poleHeight:.2,cx:-.32127844822255636,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",selected:!1,type:"Fresnel Reflector",rotation:[0,0,0],lz:.1,cz:.5000000074515043,lx:2.5,tiltAngle:0,parentId:"kxHYpYsUs7XEocuTYAj1Qu",relativeAzimuth:0,drawSunBeam:!0},{receiverId:"jbxC2ET67y7TWpMwnYUQpG",poleRadius:.05,cz:.5000000074515398,tiltAngle:0,drawSunBeam:!0,cx:-.3497875876516578,poleHeight:.2,ly:420,lx:2.5,foundationId:"kxHYpYsUs7XEocuTYAj1Qu",moduleLength:20,showLabel:!1,type:"Fresnel Reflector",reflectance:.9,selected:!1,id:"aimBT6csAE8smo4euxDmP5",lz:.1,normal:[0,0,1],relativeAzimuth:0,cy:.006920061370715923,parentId:"kxHYpYsUs7XEocuTYAj1Qu",rotation:[0,0,0]},{solarReceiverTubePoleNumber:20,type:"Foundation",solarReceiverPipePoleNumber:20,normal:[0,0,1],rotation:[0,0,0],cx:-11.949347995041327,selected:!1,parentId:"Ground",lz:.3,lx:19.21993989325236,cy:-3.4906385434141205,id:"jbxC2ET67y7TWpMwnYUQpG",ly:480,solarStructure:1,solarReceiver:1,cz:.15,solarAbsorberPipe:{absorberHeight:30,apertureWidth:2}}],QRn={cameraZoom:1.8506178062217107,yearlyPvYieldPanelX:0,mapZoom:17,dailyFresnelReflectorYieldPanelX:-19,dailyParabolicTroughYieldPanelX:0,dailyLightSensorPanelX:0,yearlyParabolicDishYieldPanelX:0,showDailyFresnelReflectorYieldPanel:!1,enableRotate:!0,panCenter2D:[-6.944992442475207,210.55314744205262,.00021056250655402935],showStickyNotePanel:!1,groundColor:"#16cda5",showSunAngles:!1,mapWeatherStations:!1,dailyParabolicTroughYieldPanelY:0,showDailyParabolicTroughYieldPanel:!1,yearlyLightSensorPanelY:0,weatherPanelX:0,yearlyFresnelReflectorYieldPanelY:14,ambientLightIntensity:.1,dailyParabolicDishYieldPanelY:0,dailyFresnelReflectorYieldPanelY:157,showWeatherPanel:!1,theme:"Desert",showSolarPanelVisibilityResultsPanel:!1,yearlyLightSensorPanelX:0,mapPanelX:0,showYearlyParabolicTroughYieldPanel:!1,yearlyParabolicDishYieldPanelY:0,heliodonPanelY:0,dailyParabolicDishYieldPanelX:0,mapType:"hybrid",cameraPosition:[-11.739626637843958,-271.93399896309415,13.091291354471094],showDesignInfoPanel:!0,autoRotate:!1,panCenter:[-7.09913291540988,-65.13626844138287,2.897505917600467],yearlyFresnelReflectorYieldPanelX:-1274,stickyNotePanelX:0,visibilityResultsPanelX:0,showYearlyLightSensorPanel:!1,mapTilt:0,dailyPvYieldPanelY:0,dailyLightSensorPanelY:0,solarRadiationHeatMapMaxValue:5,heliodonPanelX:0,weatherPanelY:0,showYearlyParabolicDishYieldPanel:!1,yearlyParabolicTroughYieldPanelY:0,dailyPvYieldPanelX:0,stickyNotePanelY:0,showDailyParabolicDishYieldPanel:!1,showDailyLightSensorPanel:!1,shadowEnabled:!0,heliodon:!1,yearlyParabolicTroughYieldPanelX:0,yearlyPvYieldPanelY:0,showSiteInfoPanel:!0,cameraPosition2D:[-6.944992442475207,210.55312744116364,20.00021056248858],showHeliodonPanel:!1,showYearlyPvYieldPanel:!1,axes:!0,showMapPanel:!1,visibilityResultsPanelY:0,groundImage:!0,orthographic:!1,showInstructionPanel:!0,showDailyPvYieldPanel:!1,mapPanelY:0,showYearlyFresnelReflectorYieldPanel:!1},ZRn=[],eHn={docid:VRn,timestamp:GRn,userid:XRn,owner:JRn,email:KRn,world:qRn,elements:$Rn,view:QRn,notes:ZRn},tHn="hAq2dzLGp1A3Vt7sTTtJuZ",nHn="02/03/2023 10:55 am",oHn=1675439758247,iHn="QWecNcxhyvP6j6sBN11hBsfZDau1",rHn=null,aHn=null,lHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},sHn=[{cy:.0145505850910366,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:-.0005841111979264266,cy:-.00026543983321941996,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:3,showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Angle",dailyYield:8.732880750124766,yearlyYield:102.12421657496768},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],cHn={yearlyPvYieldPanelX:-67,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:66,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[9.289940609671005,-7.003850253956084,4.906951597024065],panCenter:[.4252296602758445,.31861282138619734,.10164740914205853],orthographic:!1,enableRotate:!0,cameraZoom:45.44146361606706,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,150],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:-13,evolutionPanelY:8,evolutionPanelRect:{x:0,y:0,width:498,height:340},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:279,height:88}},uHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},dHn=1,fHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},hHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},pHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:30,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},gHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},mHn=[`Find the optimal tilt angle +for a single row of solar panels`],yHn={docid:tHn,time:nHn,timestamp:oHn,userid:iHn,owner:rHn,email:aHn,world:lHn,elements:sHn,view:cHn,graphState:uHn,evolutionMethod:dHn,solarPanelArrayLayoutParams:fHn,solarPanelArrayLayoutConstraints:hHn,evolutionaryAlgorithmState:pHn,economicsParams:gHn,notes:mHn},AHn="fuDyjFnfZyxqES42bpME47",wHn="02/03/2023 11:00 am",vHn=1675440031518,xHn="QWecNcxhyvP6j6sBN11hBsfZDau1",bHn=null,SHn=null,THn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:4,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Exact",daysPerYear:4},PHn=[{cy:-.04544941490896341,normal:[0,0,1],lz:.1,ly:13.545143032428694,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:-.011003166716293603,cz:.05,rotation:[0,0,0],lx:18.837452107330996,selected:!1,parentId:"Ground"},{lz:.046,id:"p4rL1ADSA1RFVZR7Amc4tY",ly:1.968,cz:.5000000074505806,type:"Solar Panel",poleRadius:.05,showLabel:!0,label:"Row1",tiltAngle:0,poleSpacing:2,rotation:[0,0,0],lx:5.952,selected:!1,orientation:"Portrait",cx:.0013098263256093668,relativeAzimuth:0,cy:-.3333857365792726,poleHeight:1.2,drawSunBeam:!1,normal:[0,0,1],trackerType:"None",parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",pvModelName:"CS6X-355P-FG",dailyYield:3.8430599051077174,yearlyYield:87.98498978626,labelSize:.5,labelHeight:1},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0013098263256093668,cy:-.1107906814186029,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"qBcTvR11rnyGD32ejzSTUo",selected:!1,dailyYield:3.8430599051077174,label:"Row2",yearlyYield:88.73443715558736,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0012559240227253744,cy:.11410898246472086,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"7DsYGoVdCY8aoR5rFbLhk4",selected:!1,label:"Row3",dailyYield:3.8430599051077174,yearlyYield:102.12190598796778,labelHeight:1,labelSize:.5},{type:"Solar Panel",pvModelName:"CS6X-355P-FG",cx:.0019112216145152992,cy:.33130578714934544,cz:.5000000074505806,lx:5.952,ly:1.968,lz:.046,trackerType:"None",tiltAngle:0,relativeAzimuth:0,orientation:"Portrait",poleRadius:.05,poleHeight:1.2,poleSpacing:2,showLabel:!0,normal:[0,0,1],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",id:"kKhGuKqmYo8sGFHt2CpVtE",selected:!1,label:"Row4",dailyYield:3.8430599051077174,yearlyYield:87.95400017679898,labelHeight:1,labelSize:.5},{type:"Human",name:"Jack",cx:5.511511655556145,cy:-3.5932139876710405,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"ahAnqHX5Nd7eDufkMtRUNs",selected:!1,ly:.6}],CHn={yearlyPvYieldPanelX:-1274,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!1,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:3,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.323665130331175,-8.426692001879298,3.5655944521137717],panCenter:[1.684900046296442,2.3084248015304936,.043382642438776854],orthographic:!1,enableRotate:!0,cameraZoom:33.40365140230188,showInstructionPanel:!1,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:6,evolutionPanelX:3,evolutionPanelY:4,evolutionPanelRect:{x:0,y:0,width:565,height:359},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:322,height:91}},RHn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},HHn=2,MHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},IHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966},zHn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:20,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:2,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:20,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},DHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},EHn=[`Find optimal tilt angles +for multiple rows of solar panels`],kHn={docid:AHn,time:wHn,timestamp:vHn,userid:xHn,owner:bHn,email:SHn,world:THn,elements:PHn,view:CHn,graphState:RHn,evolutionMethod:HHn,solarPanelArrayLayoutParams:MHn,solarPanelArrayLayoutConstraints:IHn,evolutionaryAlgorithmState:zHn,economicsParams:DHn,notes:EHn},FHn="oAxppoDRPqDySUVvwUxAX9",LHn="02/08/2023 12:26 pm",WHn=1675877184356,NHn="QWecNcxhyvP6j6sBN11hBsfZDau1",UHn=null,BHn=null,jHn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},YHn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6}],OHn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[13.612389493613348,-45.59589484534075,13.195602276977187],panCenter:[14.4714120590319,-3.416758286517111,0],orthographic:!1,enableRotate:!0,cameraZoom:15.475618750000002,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902232375,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:290,height:86},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},_Hn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},VHn=2,GHn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},XHn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},JHn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},KHn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},qHn=[`Generative design of a solar farm +in an arbitrary shape`],$Hn={docid:FHn,time:LHn,timestamp:WHn,userid:NHn,owner:UHn,email:BHn,world:jHn,elements:YHn,view:OHn,graphState:_Hn,evolutionMethod:VHn,solarPanelArrayLayoutParams:GHn,solarPanelArrayLayoutConstraints:XHn,evolutionaryAlgorithmState:JHn,economicsParams:KHn,notes:qHn},QHn="wdLWJpkLqaNK26sDZ4kU9P",ZHn="02/08/2023 12:31 pm",eMn=1675877477724,tMn="QWecNcxhyvP6j6sBN11hBsfZDau1",nMn=null,oMn=null,iMn={latitude:42.2844063,pvGridCellSize:.5,timesPerHour:1,longitude:-71.3488548,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"Natick, MA",date:"3/22/2022, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,discretization:"Approximate",daysPerYear:4},rMn=[{cy:.01692723373211437,normal:[0,0,1],lz:.1,ly:28.838141151400354,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:.11281543499276836,cz:.05,rotation:[0,0,0],lx:27.003966694548705,selected:!1,parentId:"Ground",textureType:"Foundation Texture #2",locked:!0},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#68ccca",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.2777369741577272,y:-.4507918846693325},{x:-.46289495692954535,y:-.3294248387968199},{x:-.46289495692954535,y:.3294248387968199},{x:-.2592211758805454,y:.46813003407969145},{x:.44437915865236355,y:.46813003407969145},{x:.44437915865236355,y:-.4507918846693325},{x:-.018515798277181816,y:-.4507918846693325},{x:-.018515798277181816,y:-.20805779292430732},{x:.11109478966309089,y:-.20805779292430732},{x:.11109478966309089,y:0},{x:-.1296105879402727,y:0},{x:-.1296105879402727,y:-.4507918846693325}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"u4ViXg39ZL8tds2AfD2o6U",textureType:"No Polygon Texture",locked:!0},{type:"Human",name:"Jack",cx:-12.151272035486986,cy:-13.311260979474763,cz:.05000000074505806,lx:.6,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"of4fAMi2p9MKmo6JDUYnfX",id:"rrK38LJKu6CVWVjf2zV1b2",selected:!1,ly:.6},{type:"Cuboid",cx:-.11397611677121855,cy:-3.067571806666861,cz:2,lx:5.2532346498753135,ly:4.048511424070542,lz:4,color:"#808080",faceColors:["#808080","#808080","#808080","#808080","#808080","#808080"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"ky59NZpXJyTcUSib43iVfq",locked:!0}],aMn={yearlyPvYieldPanelX:-1278,autoRotate:!1,mapZoom:16,axes:!0,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-1280,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:47,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-548,dailyPvYieldPanelY:11,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-14,groundColor:"#16a5a5",groundPanelY:0,groundImage:!1,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"roadmap",cameraPosition:[14.904063706626683,-45.61046168179694,13.166442421440415],panCenter:[14.528251370304552,-3.4151425205700146,0],orthographic:!1,enableRotate:!0,cameraZoom:17.147500000000004,showInstructionPanel:!1,cameraPosition2D:[4.762164053203386,1.2445149902246018,150],panCenter2D:[4.762164053203386,1.244664996889924,20723025878093974e-22],showEvolutionPanel:!0,solarRadiationHeatMapMaxValue:3.5,evolutionPanelX:-3,evolutionPanelY:5,showEconomicsPanel:!1,evolutionPanelRect:{x:0,y:0,width:520,height:318},showStickyNotePanel:!0,stickyNotePanelRect:{x:0,y:0,width:344,height:83},yearlyPvYieldPanelRect:{x:0,y:0,width:600,height:400},solarPanelShininess:0},lMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},sMn=1,cMn={pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},uMn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:3,pvModelName:"CS6X-355P-FG",rowAxis:"Left-Right",orientation:"Landscape",margin:0},dMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},fMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},hMn=[`Generative design of a solar farm +in an arbitrary shape with a nearby structure`],pMn={docid:QHn,time:ZHn,timestamp:eMn,userid:tMn,owner:nMn,email:oMn,world:iMn,elements:rMn,view:aMn,graphState:lMn,evolutionMethod:sMn,solarPanelArrayLayoutParams:cMn,solarPanelArrayLayoutConstraints:uMn,evolutionaryAlgorithmState:dMn,economicsParams:fMn,notes:hMn},gMn="njsXMFnx8AbzYmZZZSFsP4",mMn="02/08/2023 12:40 pm",yMn=1675878006595,AMn="QWecNcxhyvP6j6sBN11hBsfZDau1",wMn=null,vMn=null,xMn={latitude:42.58194950125034,pvGridCellSize:1.5,timesPerHour:1,longitude:-71.76008801772156,ground:{albedo:.3,thermalDiffusivity:.05,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},address:"275 Pleasant St, Lunenburg, MA 01462, USA",date:"10/15/2021, 12:00:00 PM",name:"default",orthographic:!1,cameraZoom:35.16173831821251,noAnimationForSolarPanelSimulation:!0,noAnimationForHeatmapSimulation:!0,daysPerYear:4},bMn=[{cy:-2.2367402479910083,normal:[0,0,1],lz:.1,ly:269.55803876661787,id:"of4fAMi2p9MKmo6JDUYnfX",type:"Foundation",cx:2.681119516922017,cz:.05,rotation:[0,0,0],lx:132.51400330167655,selected:!1,parentId:"Ground"},{type:"Polygon",cx:0,cy:0,cz:0,lx:.4,ly:.4,lz:.4,color:"#999999",normal:[0,0,1],rotation:[0,0,0],vertices:[{x:-.4199120685653116,y:.07319581727959533},{x:-.42368525470067964,y:.35513880940011766},{x:-.31048967063963856,y:.35699369750617377},{x:-.19729408657859754,y:.4701418719755939},{x:.015092744541472141,y:.47114157893824127},{x:.19997886517450586,y:.3116212018174194},{x:.23016435425745013,y:.06306619560590632},{x:.09432965338420088,y:.061211307499850244},{x:.10187602565493695,y:.014839104848448545},{x:.19997886517450586,y:-.033387985909009224},{x:.33581356604775514,y:-.03709776212112136},{x:.38109179967217155,y:-.27637832780235416},{x:.45655552237953223,y:-.27637832780235416},{x:.45655552237953223,y:-.408075383332335},{x:.29430851855870677,y:-.40993027143839106},{x:.29430851855870677,y:-.4451731454534563},{x:-.06414416430125659,y:-.4451731454534563},{x:-.06791735043662463,y:-.4767062432564095},{x:-.32449400764165104,y:-.4767062432564095},{x:-.25280347106965834,y:-.3190407542416437},{x:-.25657665720502637,y:-.16508504143899005},{x:-.16602018995619355,y:-.16508504143899005},{x:-.1633354113602852,y:-.09559900037150687},{x:-.3029432983689025,y:-.0937441122654508},{x:-.3406751597225829,y:.01940406220396935}],parentId:"of4fAMi2p9MKmo6JDUYnfX",foundationId:"of4fAMi2p9MKmo6JDUYnfX",selected:!1,filled:!0,selectedIndex:6,id:"1mf9SJGR5RjzYzk7AYxvf2",lineColor:"#f44e3b",opacity:.1},{type:"Cuboid",cx:-27.296734459596976,cy:-41.20962464677464,cz:1.25,lx:5.828598670924802,ly:8.305908945480084,lz:2.5,color:"gray",faceColors:["gray","gray","gray","gray","gray","gray"],textureTypes:["No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture","No Facade Texture"],normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",selected:!1,id:"55Wp5i8LU9QiCSoSTSkhSV"}],SMn={yearlyPvYieldPanelX:-1249,autoRotate:!1,mapZoom:17,axes:!1,theme:"Default",showSiteInfoPanel:!0,showDesignInfoPanel:!0,showWeatherPanel:!1,groundPanelX:0,dailyPvYieldPanelX:-3,dailyLightSensorPanelY:232,showDailyLightSensorPanel:!1,mapTilt:0,yearlyPvYieldPanelY:65,yearlyLightSensorPanelX:0,showGroundPanel:!1,showHeliodonPanel:!1,heliodon:!1,weatherPanelY:0,heliodonPanelX:-1175,dailyPvYieldPanelY:8,mapWeatherStations:!1,yearlyLightSensorPanelY:0,showPvDailyYieldPanel:!0,showYearlyPvYieldPanel:!1,dailyLightSensorPanelX:-240,weatherPanelX:0,heliodonPanelY:-33,groundColor:"#68ccca",groundPanelY:0,groundImage:!0,showDailyPvYieldPanel:!1,shadowEnabled:!0,showYearlyLightSensorPanel:!1,mapType:"hybrid",cameraPosition:[145.94862814334945,-106.4764934595526,163.4608323959844],panCenter:[85.94985190690319,3.43019898834619,0],orthographic:!1,enableRotate:!0,cameraZoom:9.75349958231059,showInstructionPanel:!0,cameraPosition2D:[2.68477267877577,-.19810500302601344,47.99999980190954],panCenter2D:[2.68477267877577,-.19805700089319547,5501827899659354e-22],showMapPanel:!1,showEvolutionPanel:!0,showEconomicsPanel:!1,evolutionPanelX:null,evolutionPanelY:null,evolutionPanelRect:{x:0,y:0,width:640,height:400}},TMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},PMn=1,CMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Left-Right",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},RMn={minimumInterRowSpacing:6,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:5,minimumTiltAngle:0,maximumTiltAngle:1.5707963267948966},HMn={geneticAlgorithmParams:{objectiveFunctionType:6,selectionMethod:1,searchMethod:1,populationSize:10,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"},particleSwarmOptimizationParams:{objectiveFunctionType:6,searchMethod:1,vmax:.01,swarmSize:20,maximumSteps:10,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1,problem:"Solar Panel Array"}},MMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.3},IMn=[],zMn={docid:gMn,time:mMn,timestamp:yMn,userid:AMn,owner:wMn,email:vMn,world:xMn,elements:bMn,view:SMn,graphState:TMn,evolutionMethod:PMn,solarPanelArrayLayoutParams:CMn,solarPanelArrayLayoutConstraints:RMn,evolutionaryAlgorithmState:HMn,economicsParams:MMn,notes:IMn},DMn="qzzjGfFHSUFSwo9GQJs9Mb",EMn="02/04/2023 01:27 pm",kMn=1675535240483,FMn="QWecNcxhyvP6j6sBN11hBsfZDau1",LMn=null,WMn=null,NMn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},UMn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"S",showLabel:!0,labelHeight:8.5,labelSize:.8},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#ffffff",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Wall",cx:.10882625565358328,cy:6.456179282384522,cz:2.2408122612280286,lx:15.961175461262725,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[8.089413986284946,6.456179282384521,0],rightPoint:[-7.871761474977779,6.4561792823845225,0],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:8.089413986284946,cy:-.15071949165393628,cz:2.2301039869226305,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[8.089413986284942,-6.757618265692395,0],rightPoint:[8.089413986284947,6.4561792823845225,0],relativeAngle:1.5707963267948961,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:-7.871761474977779,cy:-.15071949165393628,cz:2.228839888904333,lx:13.213797548076919,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-7.871761474977778,6.4561792823845225,0],rightPoint:[-7.871761474977779,-6.757618265692395,0],relativeAngle:-1.5707963267948968,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,centerRoofHeight:[0,8.657123351013743],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Wall",cx:.10882625565358417,cy:-6.757618265692395,cz:2.268765007024547,lx:15.961175461262727,ly:.2,lz:5.192316659049364,rValue:2.641654309594841,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-7.871761474977779,-6.757618265692395,0],rightPoint:[8.089413986284947,-6.757618265692395,0],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"#ffffff",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:5.192316659049364,rightRoofHeight:5.192316659049364,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:5.192316659049364,rightTopPartialHeight:5.192316659049364},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#808080",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-13.996646874999989,cy:.06415311833261989,cz:.05,lx:21.734456249999983,ly:19.033724999999986,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:10,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"L",showLabel:!0},{type:"Door",cx:0,cy:0,cz:-.15370387000018937,lx:.12530405450738497,ly:0,lz:.6925922599996213,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"tciKLNsRDLeHZNmeb31ucG"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za"}],BMn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-23.305173327292444,-30.91478882666535,7.039269079297642],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[5.635542831447647,8.464690688330043,3.125544256683276],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-2,width:200,height:87}},jMn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},YMn=1,OMn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},_Mn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},VMn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},GMn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},XMn=[`Effect of house size +房子大小的影響`],JMn={docid:DMn,time:EMn,timestamp:kMn,userid:FMn,owner:LMn,email:WMn,world:NMn,elements:UMn,view:BMn,graphState:jMn,evolutionMethod:YMn,solarPanelArrayLayoutParams:OMn,solarPanelArrayLayoutConstraints:_Mn,evolutionaryAlgorithmState:VMn,economicsParams:GMn,notes:XMn},KMn="6D1PNtCu8dQATzUSZDdPKf",qMn="05/22/2023 10:33 am",$Mn=1684766015061,QMn="QWecNcxhyvP6j6sBN11hBsfZDau1",ZMn=null,eIn=null,tIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},nIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"SE",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,.7853981633974483],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#009ce0",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#ffffff",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.1133234476758727,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,-.7853981633974483],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:3},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"SW",showLabel:!0,color:"#808080"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"3wrKU52naWH6NwzeW6vGwm"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"9C29UNsLxSuEbxTnestrd8"}],oIn=28,iIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!0,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[3.1651364435149425,-31.942224578560552,3.8771204506826087],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.838986266637484,1.4239280652904787,3.8771204506826087],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},weatherPanelRect:{x:0,y:0,width:500,height:500},stickyNotePanelRect:{x:-5,y:0,width:269,height:92}},rIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},aIn=1,lIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},sIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},cIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},uIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},dIn="Unknown",fIn=null,hIn=null,pIn=null,gIn=[`Effect of house orientation +房屋朝向的影響`],mIn={docid:KMn,time:qMn,timestamp:$Mn,userid:QMn,owner:ZMn,email:eIn,world:tIn,elements:nIn,sceneRadius:oIn,view:iIn,graphState:rIn,evolutionMethod:aIn,solarPanelArrayLayoutParams:lIn,solarPanelArrayLayoutConstraints:sIn,evolutionaryAlgorithmState:cIn,economicsParams:uIn,modelType:dIn,modelAuthor:fIn,modelLabel:hIn,modelDescription:pIn,notes:gIn},yIn="gRqNfJd8beo5ietdqmmTM2",AIn="05/22/2023 10:35 am",wIn=1684766140952,vIn="QWecNcxhyvP6j6sBN11hBsfZDau1",xIn=null,bIn=null,SIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},TIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"👎",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"#cccccc",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:3.5222057461264544,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"#cccccc",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"#009ce0",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:3.5222057461264544,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"👍",showLabel:!0,color:"#808080"},{type:"Door",cx:-.020833333333333332,cy:0,cz:-.125,lx:.125,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"vNVpqbsNF7tYjDx7E7kMLR"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"xpWZ6k69MtomLyhCbBynNa"}],PIn=24,CIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-18.39191326488849,-28.88082266775545,4.500680104409036],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[9.06975830834568,5.812472797471483,4.500680104409029],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-2,y:-1,width:243,height:90}},RIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},HIn=1,MIn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},IIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},zIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},DIn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},EIn="Unknown",kIn=null,FIn=null,LIn=null,WIn=[`Effect of insulation +房屋隔熱性的影響`],NIn={docid:yIn,time:AIn,timestamp:wIn,userid:vIn,owner:xIn,email:bIn,world:SIn,elements:TIn,sceneRadius:PIn,view:CIn,graphState:RIn,evolutionMethod:HIn,solarPanelArrayLayoutParams:MIn,solarPanelArrayLayoutConstraints:IIn,evolutionaryAlgorithmState:zIn,economicsParams:DIn,modelType:EIn,modelAuthor:kIn,modelLabel:FIn,modelDescription:LIn,notes:WIn},UIn="2b6To2exbyQMzsnyC5zQ4h",BIn="05/22/2023 10:37 am",jIn=1684766230048,YIn="QWecNcxhyvP6j6sBN11hBsfZDau1",OIn=null,_In=null,VIn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},GIn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:6.5,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:6.5,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#cccccc",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"fPNsZAwsuY65jcgPGD7JxY"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"pMhyfs2o4fEnaE7UjB8PVu"}],XIn=22,JIn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-12.301199186500163,-22.5861615760567,3.4543056235043506],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[6.0653741729769015,2.261846946588245,3.4543056235043506],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-4,width:278,height:87}},KIn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},qIn=1,$In={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},QIn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},ZIn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},ezn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},tzn="Unknown",nzn=null,ozn=null,izn=null,rzn=[`Effect of roof color +屋頂顔色的影響`],azn={docid:UIn,time:BIn,timestamp:jIn,userid:YIn,owner:OIn,email:_In,world:VIn,elements:GIn,sceneRadius:XIn,view:JIn,graphState:KIn,evolutionMethod:qIn,solarPanelArrayLayoutParams:$In,solarPanelArrayLayoutConstraints:QIn,evolutionaryAlgorithmState:ZIn,economicsParams:ezn,modelType:tzn,modelAuthor:nzn,modelLabel:ozn,modelDescription:izn,notes:rzn},lzn="gyoLQ5RfiYexA7q1ehdofm",szn="05/22/2023 10:45 am",czn=1684766701791,uzn="QWecNcxhyvP6j6sBN11hBsfZDau1",dzn=null,fzn=null,hzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},pzn=[{type:"Human",name:"Jacqueline",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.43,lz:1.78,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"B",showLabel:!0,labelHeight:7,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"A",labelHeight:7,showLabel:!0,labelSize:.8,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.1,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.8,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"uPY2H1vbzdvDNNQKsQzM2R"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"qj1uppbZ68e6DUdrkgfzdA"}],gzn=22,mzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-11.365944827281202,-27.884282052116806,4.909032289220344],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[8.512452835588759,2.1768673048896354,4.909032289220344],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:284,height:88}},yzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Azn=1,wzn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},vzn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},xzn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},bzn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Szn="Unknown",Tzn=null,Pzn=null,Czn=null,Rzn=[`Effect of eaves overhang +屋簷延申長度的影響`],Hzn={docid:lzn,time:szn,timestamp:czn,userid:uzn,owner:dzn,email:fzn,world:hzn,elements:pzn,sceneRadius:gzn,view:mzn,graphState:yzn,evolutionMethod:Azn,solarPanelArrayLayoutParams:wzn,solarPanelArrayLayoutConstraints:vzn,evolutionaryAlgorithmState:xzn,economicsParams:bzn,modelType:Szn,modelAuthor:Tzn,modelLabel:Pzn,modelDescription:Czn,notes:Rzn},Mzn="iJM88uQ7kfN8BTPGSVD3jV",Izn="05/22/2023 10:47 am",zzn=1684766839823,Dzn="QWecNcxhyvP6j6sBN11hBsfZDau1",Ezn=null,kzn=null,Fzn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},Lzn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#009ce0",opacity:.65,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#009ce0",opacity:.65,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#009ce0",opacity:.35,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"rRMpmcwQNzvRYmkTWpEhiw"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"jyiupxyxWNzhU4yRrTPHU1"}],Wzn=24,Nzn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-16.77287507225449,-24.274336266873924,5.320155603217975],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[10.498836843888402,4.793969537181787,2.890808814152251],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-5,y:-1,width:421,height:65}},Uzn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},Bzn=1,jzn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},Yzn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},Ozn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},_zn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},Vzn="Unknown",Gzn=null,Xzn=null,Jzn=null,Kzn=["Effect of solar heat gain coefficients (SHGC) of windows"],qzn={docid:Mzn,time:Izn,timestamp:zzn,userid:Dzn,owner:Ezn,email:kzn,world:Fzn,elements:Lzn,sceneRadius:Wzn,view:Nzn,graphState:Uzn,evolutionMethod:Bzn,solarPanelArrayLayoutParams:jzn,solarPanelArrayLayoutConstraints:Yzn,evolutionaryAlgorithmState:Ozn,economicsParams:_zn,modelType:Vzn,modelAuthor:Gzn,modelLabel:Xzn,modelDescription:Jzn,notes:Kzn},$zn="6nLDNj8vM4d4LSQKVT9SXo",Qzn="05/22/2023 10:49 am",Zzn=1684766960725,eDn="QWecNcxhyvP6j6sBN11hBsfZDau1",tDn=null,nDn=null,oDn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},iDn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"20℃",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#999999"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:25},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"25℃",showLabel:!0,color:"#999999"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"1TYVF9JTXJtxWba41xgetC"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"afEtgeFVMoeDZdyxJU1psm"}],rDn=24,aDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.828926822512322,-33.873528421784314,4.788669771967834],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[11.438181824994281,-4.700464851624883,4.788669771967831],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-1,y:0,width:277,height:63}},lDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},sDn=1,cDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},uDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},dDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},fDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},hDn="Unknown",pDn=null,gDn=null,mDn=null,yDn=["Effect of thermostat setpoint"],ADn={docid:$zn,time:Qzn,timestamp:Zzn,userid:eDn,owner:tDn,email:nDn,world:oDn,elements:iDn,sceneRadius:rDn,view:aDn,graphState:lDn,evolutionMethod:sDn,solarPanelArrayLayoutParams:cDn,solarPanelArrayLayoutConstraints:uDn,evolutionaryAlgorithmState:dDn,economicsParams:fDn,modelType:hDn,modelAuthor:pDn,modelLabel:gDn,modelDescription:mDn,notes:yDn},wDn="uQrNcHUUR7GCUfUbuFogjq",vDn="02/04/2023 01:39 pm",xDn=1675535990373,bDn="QWecNcxhyvP6j6sBN11hBsfZDau1",SDn=null,TDn=null,PDn={solarRadiationHeatmapGridCellSize:.5,date:"7/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},CDn=[{type:"Human",name:"Jamelia",cx:-4.3683434199366005,cy:-14.38651482103353,cz:0,lx:.65,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.65},{type:"Foundation",cx:-13.228758971915111,cy:.10702186833261693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:9,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"6YiUmdowinEDGE2jXwEcty",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.6,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H",uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #6",color:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"gLG7BoTZHSewPba87UV4Za",uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"vLVbxQBoEhW71qxT8m1C96",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"26QzSovJr2WkHKUiErU1ER",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"dZ11kEn33ciPLMqva4wYhW",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"oEPM7Qer3dagcgAZgTd83X",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nJe6q1fYHpVb61zzuXMiiq",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"atbMWVsRWU1gP4pFd8UmqE",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4Xcrc4Qc969xumwjdaTpEv",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9r471ngxUS5HfZPQXAbspz",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"nuMh9HUjsyggQDkK4K4z9r",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5TzjYq921EthYvgGjhkd95",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"i86kfMa5D3a95EHYr74Cik",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fes2JVoykppGjYbeBaK1t6",parentId:"wugyuZMsPdNUQJ1PdoxEGD",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hRvyn5tFnyKbZGmExP8ZBN",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fHUqZ9dwKm5QsdBz4rQhkH",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"hVPD3ovUCMHizYi7hHMynX",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"92r9RVUcqNvqTSSqzXVWe8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"88LWhfUeptGcLDGkhffTYu",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"jJyncTarX8t32trtWmHYJ8",parentId:"xi9Zz1pobWAhkAdtkZFZBZ",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"tbGfuWPSK8hFimiixh3gnq",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,thickness:.2,rValue:2.8177645969011635,roofType:"Gable",roofStructure:"Default",wallsId:["s4gNJy8vD8tdJGQTaw6DQj"],textureType:"Roof Texture Default",color:"#333333",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"6YiUmdowinEDGE2jXwEcty",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],volumetricHeatCapacity:.2,ceiling:!1},{type:"Window",cx:.375,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"uPf27SYtJ3oEqK8uLnnYC4",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.3,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"41qtH3jyhy6TAYrTpcQ22r",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"c15PoZLmaL9G5281NC3Bky",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.3,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"e8J6XhFvtnTfamsfk7MdQo",parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1.135652,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"s4gNJy8vD8tdJGQTaw6DQj",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1Z9wCTEw4evBfgBWBx239G"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["iUbSPuuaLHTe92zf2RbbzH"],rightJoints:["b2z6LAysW1ypLiK23VhMbQ"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t5aKJuTWqFhNtovV6QcVDQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"6XAyQ1Y5un66zE9fws5TBK",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"5Fr8WLjKhMXxtEUSo3U3cz",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:0,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bFA3kdwdbv23kgNuvqrBLu",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2peuf57tgQn8h8KDddojmU",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pRLjDR4NSZstZSY2CyZhG6",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:-4625929269271485e-33,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #1",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"fRfZQadrT6sohNBtnZQnjD",parentId:"t5aKJuTWqFhNtovV6QcVDQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Wall",cx:6.0818182264215075,cy:-.11406220740522244,cz:2.2301039869226305,lx:9.999999999999998,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t1vsyYVv6oASAroVbtBJh8"],rightJoints:["t5aKJuTWqFhNtovV6QcVDQ"],leftPoint:[6.0818182264215075,-5.1140622074052215,.1],rightPoint:[6.081818226421507,4.885937792594777,.1],relativeAngle:1.5707963267948968,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"iUbSPuuaLHTe92zf2RbbzH",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.35833333333333334,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twjCCVvcJUWUtdX8G6XaEz",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.35833333333333334,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"fJ9ef8TPTGwzuoD998nCxH",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"75FMXmZGkavm2QX1w7Rd2n",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"digHAxUKfqtzZ8Hf1JBrDE",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"pUavBYiArb55RaZvTqEZ7s",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bMNcD6i8MyPWUstcj4RLAn",parentId:"iUbSPuuaLHTe92zf2RbbzH",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["t5aKJuTWqFhNtovV6QcVDQ"],rightJoints:["t1vsyYVv6oASAroVbtBJh8"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"b2z6LAysW1ypLiK23VhMbQ",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,centerRoofHeight:[0,8.046374836825025],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:.3416666666666667,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"7af2qg5wEnfy5x3dVwJDa9",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8pzbRVzHdUJ21tt86EiuYq",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"9Rqpx9csAi6gzvsKmMevD7",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.3416666666666667,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"sRtEGAvWiVdZjNF7cbimyK",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.008333333333333337,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"cYa823h2xpVhLafAMFJLLp",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.30833333333333335,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"eCrrhs7nC8ZLgf3kozqASz",parentId:"b2z6LAysW1ypLiK23VhMbQ",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:6,rValue:2.1133234476758727,volumetricHeatCapacity:.25,fill:"Full",leftJoints:["b2z6LAysW1ypLiK23VhMbQ"],rightJoints:["iUbSPuuaLHTe92zf2RbbzH"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"Wall Texture Default",color:"#ffffe0",normal:[0,0,1],rotation:[0,0,0],id:"t1vsyYVv6oASAroVbtBJh8",parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"5ujWfCT94pVpZ6u8JCHaJM",leftRoofHeight:6,rightRoofHeight:6,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:6,rightTopPartialHeight:6},{type:"Window",cx:-.375,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"xoY2sZ3zu3yaqNq4svSL83",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:.2916666666666667,lx:.08333333333333337,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"shVdFBTLP3GUxKo2h9rQPd",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Door",cx:0,cy:0,cz:-.2916666666666667,lx:.16666666666666666,ly:0,lz:.4166666666666667,color:"#ffffff",textureType:"Door Texture #6",filled:!0,doorType:"Default",archHeight:1,normal:[0,1,0],rotation:[0,0,0],id:"miHyMDSBYSuj5NSFDxZf2d",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",selected:!1,uValue:1.135652},{type:"Window",cx:-.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"izobe4AEhigpZU6WX5N4k5",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:.2916666666666667,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"o5YP1zidq8SX6PcUxxaAjL",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"4GhJEysBwSqkSWJpqyaJ48",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:-.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"aAGJp2q5U3FuWTdYaSVjDf",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.16666666666666666,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"twPsG5mQU2qWwH6PZR3MFv",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{type:"Window",cx:.375,cy:.1,cz:-.2083333333333333,lx:.08333333333333333,ly:.2,lz:.24999999999999992,mullion:!0,mullionWidth:.06,mullionSpacing:.6,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"1Gwnr8y8qnWjyqse356de2",parentId:"t1vsyYVv6oASAroVbtBJh8",foundationId:"9Lzok59gfWu44BJHP6NeDv",tint:"#73D8FF",opacity:.6,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1,uValue:1.7034779999999998},{id:"5ujWfCT94pVpZ6u8JCHaJM",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.0463748368250254,color:"#333333",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"9Lzok59gfWu44BJHP6NeDv",foundationId:"9Lzok59gfWu44BJHP6NeDv",roofType:"Gable",roofStructure:"Default",textureType:"Roof Texture Default",thickness:.2,wallsId:["t5aKJuTWqFhNtovV6QcVDQ"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.8177645969011635,volumetricHeatCapacity:.2,ceiling:!1},{type:"Foundation",cx:13.117837499999993,cy:-.021318315185384407,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:9,labelSize:.8,showLabel:!0,id:"9Lzok59gfWu44BJHP6NeDv",selected:!1,label:"B",color:"#666666"},{type:"Solar Panel",pvModelName:"SPR-X21-335-BLK",trackerType:"None",relativeAzimuth:0,tiltAngle:.5235987755982988,orientation:"Landscape",drawSunBeam:!0,poleHeight:10,poleRadius:.05,poleSpacing:3,cx:.017473997824250177,cy:-.1848238594563359,cz:7.203451961471109,lx:10.906,ly:4.184,lz:.046,showLabel:!1,normal:[-25496209749856465e-33,-.3787787636615868,.9254872490742375],rotation:[.38847637916043065,0,-2220446049250313e-31],color:"#fff",frameColor:"white",parentType:"Roof",parentId:"5ujWfCT94pVpZ6u8JCHaJM",foundationId:"9Lzok59gfWu44BJHP6NeDv",id:"m7muU5PcHHSqA6qooFMWMX",selected:!1}],RDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-21.205706148898816,-34.501280243521734,7.541149435690317],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[7.9613043217859705,4.9057140700953275,7.541149435690313],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:675,height:408},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:-1091,y:218,width:775,height:342},stickyNotePanelRect:{x:-3,y:-2,width:275,height:63}},HDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},MDn=1,IDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},zDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},DDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},EDn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},kDn=["Effect of rooftop solar panels"],FDn={docid:wDn,time:vDn,timestamp:xDn,userid:bDn,owner:SDn,email:TDn,world:PDn,elements:CDn,view:RDn,graphState:HDn,evolutionMethod:MDn,solarPanelArrayLayoutParams:IDn,solarPanelArrayLayoutConstraints:zDn,evolutionaryAlgorithmState:DDn,economicsParams:EDn,notes:kDn},LDn="4VyiQ32UEi5Uhg2actsJ7k",WDn="05/22/2023 10:52 am",NDn=1684767120478,UDn="QWecNcxhyvP6j6sBN11hBsfZDau1",BDn=null,jDn=null,YDn={solarRadiationHeatmapGridCellSize:.5,date:"7/1/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},ODn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:9.345387499999994,cy:.10743784147400248,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"Uninsulated floor",showLabel:!0,labelHeight:7,labelSize:.5,color:"#808080",rValue:1.7611028730632272},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,color:"#808080",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Foundation",cx:-9.302518749999996,cy:.06403695851719249,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},id:"fbqvzYqiEy79jeL8wsadib",selected:!1,hvacSystem:{thermostatSetpoint:20},label:"Insulated floor",labelHeight:7,showLabel:!0,labelSize:.5,color:"#808080",rValue:3.5222057461264544},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,leftJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],rightJoints:["2RETAxyRMzZBEQkBGms56R"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"giYTP9Qg6uJ3yfkS1RoDqG",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,leftJoints:["beHqET5NN8aNdsuBncMpY7"],rightJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"pPpJHGJ2bGVqLdA1FpXi4V",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,leftJoints:["giYTP9Qg6uJ3yfkS1RoDqG"],rightJoints:["beHqET5NN8aNdsuBncMpY7"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"2RETAxyRMzZBEQkBGms56R",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,5.99872672326696],eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,leftJoints:["2RETAxyRMzZBEQkBGms56R"],rightJoints:["pPpJHGJ2bGVqLdA1FpXi4V"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"beHqET5NN8aNdsuBncMpY7",parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",selected:!1,roofId:"wqKadTHiLAV8a3mAejBhVp",wallStructure:"Default",structureSpacing:2,structureWidth:.1,structureColor:"white",opacity:.5,fill:"Full",rValue:2.1133234476758727,volumetricHeatCapacity:.1,leftRoofHeight:4,rightRoofHeight:4,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:1.9987267232669597,thickness:.2,roofType:"Gable",roofStructure:"Default",wallsId:["beHqET5NN8aNdsuBncMpY7"],textureType:"No Roof Texture",color:"#808080",sideColor:"#ffffff",selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,normal:[0,0,1],rotation:[0,0,0],parentId:"fbqvzYqiEy79jeL8wsadib",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"wqKadTHiLAV8a3mAejBhVp",ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"2bkzpWVFhyLy2B93eQe6LC"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"2qrmNqnNqMrnaf9yVKwntp",parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:-.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:0,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"beHqET5NN8aNdsuBncMpY7",foundationId:"fbqvzYqiEy79jeL8wsadib",id:"3uhARcmLhJJ7AF4oGmRXFJ"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #1",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"rJ589nLaG9XWmTRZhwLvTz"}],_Dn=22,VDn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-17.829241192466892,-21.107034059971184,4.718921354569243],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[4.327600264578368,2.7041849125647666,4.718921354569243],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!0,diurnalTemperaturePanelRect:{x:-1,y:1,width:517,height:333},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:10,stickyNotePanelRect:{x:-2,y:344,width:517,height:60}},GDn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},XDn=1,JDn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},KDn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},qDn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},$Dn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},QDn="Unknown",ZDn=null,eEn=null,tEn=null,nEn=["Effect of ground temperature and floor insulation"],oEn={docid:LDn,time:WDn,timestamp:NDn,userid:UDn,owner:BDn,email:jDn,world:YDn,elements:ODn,sceneRadius:_Dn,view:VDn,graphState:GDn,evolutionMethod:XDn,solarPanelArrayLayoutParams:JDn,solarPanelArrayLayoutConstraints:KDn,evolutionaryAlgorithmState:qDn,economicsParams:$Dn,modelType:QDn,modelAuthor:ZDn,modelLabel:eEn,modelDescription:tEn,notes:nEn},iEn="gTE5M2QuRpvxtj7gFjQvBp",rEn="05/22/2023 10:53 am",aEn=1684767216212,lEn="QWecNcxhyvP6j6sBN11hBsfZDau1",sEn=null,cEn=null,uEn={solarRadiationHeatmapGridCellSize:.5,date:"6/10/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:4,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},dEn=[{type:"Human",name:"Jack",cx:-6.628211467880927,cy:-10.2119938102408,cz:4440892098500626e-31,lx:.42,lz:1.8,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:11.171058971915114,cy:.06430302499558693,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"A",showLabel:!0,labelHeight:8.5,labelSize:.8,color:"#666666"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Window",cx:-.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.5,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"1KMGfKAaAbRXUc5v152G7H"},{type:"Window",cx:.2916666666666667,cy:.3,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"8WmW65wXvFqVAFHZJFWsjr",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Tree",name:"Maple",cx:11.597557786217195,cy:-9.10270743636709,cz:0,lx:11.852806241793175,lz:12.934464914753796,normal:[0,1,0],rotation:[0,0,0],parentId:"Ground",id:"o3k54VQM47Q54nSJAwrmEn",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi1N2ddsqnGWnubKQgsZki"],rightJoints:["2mKkmtjixue6mVK8C5qdJT"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"adSAr7Jscp2bREMCNnKie9",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["14k9EDHAzKUWAkBFT1miXA"],rightJoints:["adSAr7Jscp2bREMCNnKie9"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"xi1N2ddsqnGWnubKQgsZki",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["adSAr7Jscp2bREMCNnKie9"],rightJoints:["14k9EDHAzKUWAkBFT1miXA"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"2mKkmtjixue6mVK8C5qdJT",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,centerRoofHeight:[0,7.4648066919643785],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:4,rValue:1.7611028730632272,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["2mKkmtjixue6mVK8C5qdJT"],rightJoints:["xi1N2ddsqnGWnubKQgsZki"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#cccccc",normal:[0,0,1],rotation:[0,0,0],id:"14k9EDHAzKUWAkBFT1miXA",parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"w7eDFcjLuyPhMChKfhs6jB",leftRoofHeight:4,rightRoofHeight:4,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:4,rightTopPartialHeight:4},{type:"Window",cx:-.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"szq2y8vnCqxebu1Sp5dC5N",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.2916666666666667,cy:.1,cz:0,lx:.16666666666666666,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"bm2Jq3Yh33GneBgsKAvMp7",parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",tint:"#73D8FF",opacity:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{id:"w7eDFcjLuyPhMChKfhs6jB",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:3.4648066919643785,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"4TcV7zx5NzstoQTaTqoAzt",foundationId:"4TcV7zx5NzstoQTaTqoAzt",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.2,wallsId:["14k9EDHAzKUWAkBFT1miXA"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:2.641654309594841,ceiling:!1},{type:"Foundation",cx:-11.120691028084872,cy:-.06445313166738242,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20},labelHeight:8.5,labelSize:.8,id:"4TcV7zx5NzstoQTaTqoAzt",selected:!1,label:"B",showLabel:!0,color:"#666666"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"14k9EDHAzKUWAkBFT1miXA",foundationId:"4TcV7zx5NzstoQTaTqoAzt",id:"p8R6iYpCmdMa5Cs4zuS1P6"},{type:"Door",cx:0,cy:0,cz:-.125,lx:.16666666666666666,ly:0,lz:.75,doorType:"Default",filled:!0,archHeight:1,textureType:"Door Texture #14",color:"#ffffff",uValue:1,selected:!1,lineWidth:.2,lineColor:"#000000",showLabel:!1,normal:[0,1,0],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"56LE4zBekLnvJc9jFEm7Yu"}],fEn=24,hEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[-.042868749999999976,0,0],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[-.042868749999999976,-.0001500066673827405,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-25.541858353538785,-23.926978121750373,5.679305436989464],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[13.47063227815913,1.5150691532035274,5.679305436989461],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:5.5,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-5,y:7,width:600,height:360},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},stickyNotePanelRect:{x:-3,y:-2,width:203,height:64}},pEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},gEn=1,mEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},yEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},AEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},wEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},vEn="Unknown",xEn=null,bEn=null,SEn=null,TEn=["Effect of trees"],PEn={docid:iEn,time:rEn,timestamp:aEn,userid:lEn,owner:sEn,email:cEn,world:uEn,elements:dEn,sceneRadius:fEn,view:hEn,graphState:pEn,evolutionMethod:gEn,solarPanelArrayLayoutParams:mEn,solarPanelArrayLayoutConstraints:yEn,evolutionaryAlgorithmState:AEn,economicsParams:wEn,modelType:vEn,modelAuthor:xEn,modelLabel:bEn,modelDescription:SEn,notes:TEn},CEn="21TNkEaRQtmkMpHquDpRhe",REn="03/21/2023 12:30 pm",HEn=1679416202848,MEn="QWecNcxhyvP6j6sBN11hBsfZDau1",IEn=null,zEn=null,DEn={solarRadiationHeatmapGridCellSize:.25,date:"1/22/2022, 12:00:00 PM",cspTimesPerHour:4,noAnimationForHeatmapSimulation:!1,cspGridCellSize:.5,dustLoss:.05,address:"Natick, MA",cspDaysPerYear:4,ground:{thermalDiffusivity:.05,albedo:.3,snowReflectionFactors:[0,0,0,0,0,0,0,0,0,0,0,0]},daysPerYear:12,latitude:42.2844063,noAnimationForSensorDataCollection:!1,timesPerHour:1,discretization:"Approximate",airAttenuationCoefficient:.01,noAnimationForSolarPanelSimulation:!1,solarPanelVisibilityGridCellSize:.2,pvGridCellSize:.5,name:"default",longitude:-71.3488548,diurnalTemperatureModel:2},EEn=[{type:"Human",name:"Judd",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.544,lz:1.68,normal:[0,1,0],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",id:"3LYQCPYTZ6WYqLSGF4X7Lr",selected:!1,ly:.42},{type:"Foundation",cx:-10.117024999999996,cy:.27838070851727714,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},id:"iFATUUjMA7c8wHKwioiCvi",selected:!1,label:"No Ceiling",showLabel:!0,labelHeight:6,labelSize:.5,color:"#808080"},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],rightJoints:["wugyuZMsPdNUQJ1PdoxEGD"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"s4gNJy8vD8tdJGQTaw6DQj",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["py4fscALBHuoNNVWKoXS9c"],rightJoints:["s4gNJy8vD8tdJGQTaw6DQj"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"xi9Zz1pobWAhkAdtkZFZBZ",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["s4gNJy8vD8tdJGQTaw6DQj"],rightJoints:["py4fscALBHuoNNVWKoXS9c"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"wugyuZMsPdNUQJ1PdoxEGD",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["wugyuZMsPdNUQJ1PdoxEGD"],rightJoints:["xi9Zz1pobWAhkAdtkZFZBZ"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"py4fscALBHuoNNVWKoXS9c",parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"45EQZzpZDmcCPwStDm4gUQ",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{id:"45EQZzpZDmcCPwStDm4gUQ",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,rise:2.068830689450057,color:"#4d4d4d",sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"iFATUUjMA7c8wHKwioiCvi",foundationId:"iFATUUjMA7c8wHKwioiCvi",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["py4fscALBHuoNNVWKoXS9c"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,rValue:1.7611028730632272,ceiling:!1},{type:"Window",cx:-.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,selected:!1,lineWidth:.2,lineColor:"black",showLabel:!1,color:"white",tint:"#73D8FF",opacity:.55,uValue:2,normal:[0,0,1],rotation:[0,0,0],parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",id:"hQgFUEAKKCuxnfg7DfAtUD"},{type:"Window",cx:.3125,cy:.3,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"3F32WEzwgnaEKesshW1B9d",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:-.029166666666666664,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"9j89u3pSufVm3Q5kpF4NcM",parentId:"py4fscALBHuoNNVWKoXS9c",foundationId:"iFATUUjMA7c8wHKwioiCvi",selected:!1},{type:"Human",name:"Jena",cx:2.5001103094985826,cy:-6.058721988130646,cz:.030962420627473897,lx:.695,ly:.42,lz:1.6,normal:[0,1,0],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",id:"34EHkp2Lb8b2vnEKfniznR",selected:!1},{type:"Wall",cx:.08181822642150738,cy:4.8859377925947785,cz:2.2408122612280286,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["rHyZXvwyEPAa7dU7nYmXpR"],rightJoints:["jvSvdwWqKHJqgaZtgavr3X"],leftPoint:[6.081818226421507,4.885937792594777,.1],rightPoint:[-5.9181817735784925,4.8859377925947785,.1],relativeAngle:3.141592653589793,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"8NQNpFkXNGAXtcTwXhtHNW",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:6.081818226421506,cy:-.114062207405222,cz:2.2301039869226305,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["sb7GHiMmhgNyZJdQ71BL5y"],rightJoints:["8NQNpFkXNGAXtcTwXhtHNW"],leftPoint:[6.081818226421504,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,4.8859377925947785,.1],relativeAngle:1.5707963267948963,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"rHyZXvwyEPAa7dU7nYmXpR",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:-5.9181817735784925,cy:-.114062207405222,cz:2.228839888904333,lx:10,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["8NQNpFkXNGAXtcTwXhtHNW"],rightJoints:["sb7GHiMmhgNyZJdQ71BL5y"],leftPoint:[-5.918181773578492,4.8859377925947785,.1],rightPoint:[-5.9181817735784925,-5.1140622074052215,.1],relativeAngle:4.71238898038469,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"jvSvdwWqKHJqgaZtgavr3X",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,centerRoofHeight:[0,5.068830689450057],selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Wall",cx:.08181822642150782,cy:-5.1140622074052215,cz:2.268765007024547,lx:12,ly:.2,lz:3,rValue:2.1133234476758727,volumetricHeatCapacity:.1,fill:"Full",leftJoints:["jvSvdwWqKHJqgaZtgavr3X"],rightJoints:["rHyZXvwyEPAa7dU7nYmXpR"],leftPoint:[-5.9181817735784925,-5.1140622074052215,.1],rightPoint:[6.0818182264215075,-5.1140622074052215,.1],relativeAngle:0,textureType:"No Wall Texture",color:"#ffffff",normal:[0,0,1],rotation:[0,0,0],id:"sb7GHiMmhgNyZJdQ71BL5y",parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",wallStructure:"Default",structureSpacing:2,structureColor:"white",structureWidth:.1,opacity:.5,roofId:"gCFHHnVKnRgFUFksjrmZCm",leftRoofHeight:3,rightRoofHeight:3,selected:!1,eavesLength:.2,parapet:{display:!1,color:"white",textureType:"No Wall Texture",parapetHeight:1,copingsWidth:.5,copingsHeight:.1},leftUnfilledHeight:.5,rightUnfilledHeight:.5,leftTopPartialHeight:3,rightTopPartialHeight:3},{type:"Window",cx:-.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,uValue:2,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"q6p3CCHJFvsqrEsXwbRh1R",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Window",cx:.3125,cy:.1,cz:.08333333333333333,lx:.125,ly:.2,lz:.5,mullion:!0,mullionWidth:.06,mullionSpacing:1,mullionColor:"white",frame:!0,frameWidth:.1,windowType:"Default",archHeight:1,color:"white",normal:[0,0,1],rotation:[0,0,0],id:"j1XnXywfGpFArNKZPbAhkm",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",tint:"#73D8FF",opacity:.55,shutter:{showLeft:!1,showRight:!1,color:"grey",width:.5},selected:!1},{type:"Door",cx:4625929269271485e-33,cy:0,cz:-.08333333333333333,lx:.10833333333333334,ly:0,lz:.8333333333333334,color:"white",uValue:1.7034779999999998,textureType:"Door Texture #17",filled:!0,doorType:"Arched",archHeight:1,normal:[0,0,1],rotation:[0,0,0],id:"6uoZg4uoFLaTiYnPcJZ3V9",parentId:"sb7GHiMmhgNyZJdQ71BL5y",foundationId:"cfvC81ormzBEgA9Ah4eP3v",selected:!1},{id:"gCFHHnVKnRgFUFksjrmZCm",type:"Roof",cx:0,cy:0,cz:0,lx:0,ly:0,lz:0,ceiling:!0,rise:2.068830689450057,color:"#4d4d4d",rValue:1.7611028730632272,sideColor:"#ffffff",normal:[0,0,1],rotation:[0,0,0],parentId:"cfvC81ormzBEgA9Ah4eP3v",foundationId:"cfvC81ormzBEgA9Ah4eP3v",roofType:"Gable",roofStructure:"Default",textureType:"No Roof Texture",thickness:.1,wallsId:["sb7GHiMmhgNyZJdQ71BL5y"],ridgeLeftPoint:[0,1],ridgeRightPoint:[0,1],selected:!1,ceilingRValue:3.5222057461264544},{type:"Foundation",cx:10.177578528084874,cy:.23562811833261754,cz:.05,lx:16.34049294383023,ly:14.404432132963985,lz:.1,normal:[0,0,1],rotation:[0,0,0],parentId:"Ground",color:"#808080",solarUpdraftTower:{},solarAbsorberPipe:{},solarPowerTower:{},hvacSystem:{thermostatSetpoint:20,temperatureThreshold:5},labelHeight:6,labelSize:.5,showLabel:!0,id:"cfvC81ormzBEgA9Ah4eP3v",selected:!1,label:"Insulated Ceiling"}],kEn=23,FEn={dailyPvYieldPanelX:0,mapPanelY:0,dailyFresnelReflectorYieldPanelX:0,panCenter2D:[0,.08573749999997851,4287065548240426e-23],yearlyHeliostatYieldPanelY:0,mapPanelX:0,yearlyHeliostatYieldPanelX:0,cameraPosition2D:[0,.08558749333259577,150],theme:"Default",showDesignInfoPanel:!1,weatherPanelX:0,dailyParabolicTroughYieldPanelX:0,mapWeatherStations:!1,stickyNotePanelX:0,showDailyHeliostatYieldPanel:!1,mapZoom:18,showYearlyParabolicTroughYieldPanel:!1,dailyHeliostatYieldPanelX:0,showDailyParabolicDishYieldPanel:!1,cameraPosition:[-19.73331041183491,-15.606053038152623,2.569638957524864],showYearlyHeliostatYieldPanel:!1,orthographic:!1,dailyHeliostatYieldPanelY:0,dailyParabolicTroughYieldPanelY:0,heliodonPanelY:439,yearlyParabolicTroughYieldPanelY:0,showWeatherPanel:!1,groundImage:!1,yearlyLightSensorPanelX:0,ambientLightIntensity:.1,yearlyFresnelReflectorYieldPanelX:0,enableRotate:!0,dailyLightSensorPanelX:0,heliodon:!1,solarRadiationHeatMapReflectionOnly:!1,cameraZoom:23.327015599941696,mapType:"roadmap",showMapPanel:!1,yearlyParabolicDishYieldPanelY:0,showSiteInfoPanel:!0,showDailyParabolicTroughYieldPanel:!1,showDailyFresnelReflectorYieldPanel:!1,showYearlyLightSensorPanel:!1,autoRotate:!1,heliodonPanelX:-14,showStickyNotePanel:!0,showDailyLightSensorPanel:!1,visibilityResultsPanelX:0,yearlyPvYieldPanelY:0,showDailyPvYieldPanel:!1,visibilityResultsPanelY:0,showSunAngles:!1,dailyFresnelReflectorYieldPanelY:0,weatherPanelY:0,dailyLightSensorPanelY:0,groundColor:"#16a5a5",mapTilt:0,showYearlyPvYieldPanel:!1,dailyParabolicDishYieldPanelY:0,yearlyLightSensorPanelY:0,yearlyParabolicTroughYieldPanelX:0,dailyPvYieldPanelY:0,yearlyPvYieldPanelX:0,yearlyParabolicDishYieldPanelX:0,shadowEnabled:!0,showInstructionPanel:!1,panCenter:[3.388120187568702,1.9907625161279443,1.1720990830439746],yearlyFresnelReflectorYieldPanelY:0,showHeliodonPanel:!1,axes:!0,solarRadiationHeatMapMaxValue:3,dailyParabolicDishYieldPanelX:0,showSolarPanelVisibilityResultsPanel:!1,stickyNotePanelY:0,showYearlyParabolicDishYieldPanel:!1,showYearlyFresnelReflectorYieldPanel:!1,showDailyBuildingEnergyPanel:!0,directLightIntensity:1,dailyBuildingEnergyPanelRect:{x:-2,y:3,width:510,height:354},showDiurnalTemperaturePanel:!1,diurnalTemperaturePanelRect:{x:0,y:0,width:600,height:400},showYearlyBuildingEnergyPanel:!1,yearlyBuildingEnergyPanelRect:{x:0,y:0,width:600,height:400},heatFluxScaleFactor:2,stickyNotePanelRect:{x:-4,y:2,width:397,height:65}},LEn={dailyPvIndividualOutputs:!1,yearlyPvIndividualOutputs:!1,dailyParabolicDishIndividualOutputs:!1,yearlyParabolicDishIndividualOutputs:!1,dailyParabolicTroughIndividualOutputs:!1,yearlyParabolicTroughIndividualOutputs:!1,dailyFresnelReflectorIndividualOutputs:!1,yearlyFresnelReflectorIndividualOutputs:!1,dailyHeliostatIndividualOutputs:!1,yearlyHeliostatIndividualOutputs:!1,dailyUpdraftTowerIndividualOutputs:!1,yearlyUpdraftTowerIndividualOutputs:!1},WEn=1,NEn={pvModelName:"SPR-X21-335-BLK",rowAxis:"Zonal",orientation:"Landscape",tiltAngle:0,rowsPerRack:1,interRowSpacing:2,poleHeight:1,poleSpacing:3},UEn={minimumInterRowSpacing:2,maximumInterRowSpacing:10,minimumRowsPerRack:1,maximumRowsPerRack:6,minimumTiltAngle:-1.5707963267948966,maximumTiltAngle:1.5707963267948966,poleHeight:1,poleSpacing:5,orientation:"Landscape",pvModelName:"CS6X-355P-FG",rowAxis:"Zonal"},BEn={geneticAlgorithmParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,selectionMethod:1,searchMethod:1,populationSize:20,maximumGenerations:5,selectionRate:.5,crossoverRate:.5,mutationRate:.1,convergenceThreshold:.01,localSearchRadius:.1},particleSwarmOptimizationParams:{problem:"Solar Panel Tilt Angle",objectiveFunctionType:1,searchMethod:1,swarmSize:20,maximumSteps:5,vmax:.01,inertia:.8,cognitiveCoefficient:.1,socialCoefficient:.1,convergenceThreshold:.01,localSearchRadius:.1}},jEn={projectLifeSpan:25,electricitySellingPrice:.25,operationalCostPerUnit:.15},YEn="Unknown",OEn=null,_En=null,VEn=null,GEn=["Thermal envelope vs. building envelope"],XEn={docid:CEn,time:REn,timestamp:HEn,userid:MEn,owner:IEn,email:zEn,world:DEn,elements:EEn,sceneRadius:kEn,view:FEn,graphState:LEn,evolutionMethod:WEn,solarPanelArrayLayoutParams:NEn,solarPanelArrayLayoutConstraints:UEn,evolutionaryAlgorithmState:BEn,economicsParams:jEn,modelType:YEn,modelAuthor:OEn,modelLabel:_En,modelDescription:VEn,notes:GEn},JEn=t=>{let e;switch(t){case"sun_angles":e=unn;break;case"insolation_and_climate":e=Cnn;break;case"solar_radiation_to_box":e=Ynn;break;case"sun_beam_at_center":e=ion;break;case"thermal_vs_building_envelope":e=XEn;break;case"effect_house_size":e=JMn;break;case"effect_house_orientation":e=mIn;break;case"effect_wall_roof_insulation":e=NIn;break;case"effect_roof_color":e=azn;break;case"effect_eaves_overhang_length":e=Hzn;break;case"effect_window_shgc":e=qzn;break;case"effect_thermostat_setpoint":e=ADn;break;case"effect_solar_panels":e=FDn;break;case"effect_ground_temperature":e=oEn;break;case"effect_trees":e=PEn;break;case"office_building_01":e=dyn;break;case"hotel_01":e=Ryn;break;case"spanish_style_hotel":e=Kyn;break;case"apartment_building_01":e=y2n;break;case"white_house":e=Rmn;break;case"bilim_mersin_turkiye":e=Kmn;break;case"south_burlington_high_school":e=k2n;break;case"mescalero_apache_school":e=$2n;break;case"heatmap_01":e=l5n;break;case"vegetative_buffer_01":e=T6n;break;case"solar_canopy_form_factors":e=twn;break;case"solar_canopy_over_bleachers":e=Awn;break;case"solar_bus_stop":e=Bwn;break;case"solar_facade_tesla":e=Y7n;break;case"solar_canopy_over_garage":e=P7n;break;case"bipv_01":e=o7n;break;case"floatovoltaics":e=r8n;break;case"agriculture_solar_wind_colocation":e=D8n;break;case"effect_tilt_angle_solar_panel":e=j6n;break;case"effect_azimuth_solar_panel":e=iAn;break;case"effect_azimuth_parabolic_trough":e=xAn;break;case"effect_latus_rectum_parabolic_trough":e=WAn;break;case"parabolic_dish_focus_sunlight":e=Ovn;break;case"effect_orientation_solar_panel":e=e4n;break;case"solar_panel_types":e=von;break;case"vertical_bifacial_solar_panels":e=Von;break;case"compare_monofacial_bifacial_solar_panels":e=min;break;case"why_solar_array":e=m4n;break;case"solar_panel_array_auto_layout":e=N4n;break;case"inter_row_spacing":e=K8n;break;case"rooftop_solar_panels":e=Ein;break;case"solar_panels_over_canal":e=Pan;break;case"solar_noise_barrier":e=san;break;case"rainbow_swash_solar_farm":e=qin;break;case"mickey_mouse_solar_farm":e=hrn;break;case"solar_farm_hsat_array":e=Mrn;break;case"solar_farm_aadat_array":e=Vrn;break;case"solar_trackers":e=Yan;break;case"nevada_solar_one_parabolic_troughs":e=Rvn;break;case"tooele_parabolic_dish_array":e=rxn;break;case"ps10_solar_power_tower":e=dvn;break;case"linear_fresnel_reflectors":e=bxn;break;case"linear_fresnel_reflectors_two_absorbers":e=Uxn;break;case"effect_absorber_pipe_height":e=nbn;break;case"effect_azimuth_fresnel_reflector":e=wbn;break;case"cosine_efficiency_heliostats":e=jbn;break;case"shadowing_blocking_heliostats":e=cSn;break;case"effect_solar_power_tower_height":e=zSn;break;case"solar_power_tower":e=JSn;break;case"solar_updraft_tower":e=kPn;break;case"solar_updraft_tower_city":e=_Pn;break;case"effect_blade_number":e=yCn;break;case"effect_pitch_angle":e=_Cn;break;case"bird_safe_blade_design":e=yRn;break;case"offshore_wind_farm":e=_Rn;break;case"cape_cod_with_shed_dormer":e=Iln;break;case"mansard_roof_with_dormers":e=Qln;break;case"t_shaped_house":e=vsn;break;case"all_roof_types":e=rln;break;case"a_frame_house":e=Thn;break;case"half_timbered_house":e=Ghn;break;case"dutch_gable_roof":e=nhn;break;case"combination_roof_vs_bonnet_roof":e=hpn;break;case"butterfly_roof_house":e=Fpn;break;case"gable_roof_vs_hip_roof":e=n1n;break;case"gable_and_valley_roof":e=S1n;break;case"clerestory_roof":e=_1n;break;case"monitor_roof":e=fgn;break;case"colonial_vs_saltbox":e=Egn;break;case"gambrel_roof_vs_mansard_roof":e=emn;break;case"colonial_house":e=afn;break;case"dutch_colonial_house":e=zfn;break;case"cape_cod_with_garage":e=Ysn;break;case"greenhouse":e=M5n;break;case"solarium":e=vun;break;case"pavilion":e=n9n;break;case"octagonal_pagoda":e=w9n;break;case"ocean_front":e=L9n;break;case"mosque_01":e=Wun;break;case"church_01":e=edn;break;case"cathedral_01":e=ydn;break;case"cathedral_02":e=Udn;break;case"adobe_taos_house":e=rcn;break;case"egyptian_pyramids":e=Z9n;break;case"mayan_pyramid":e=b3n;break;case"si_o_se_pol":e=U3n;break;case"stacked_cuboids":e=l6n;break;case"barn_house":e=I0n;break;case"ranch_house":e=Dcn;break;case"bonnet_house":e=o0n;break;case"modern_house_01":e=Q0n;break;case"solar_radiation_predicted_vs_measured":e=uTn;break;case"bestest_case_600":e=RTn;break;case"bestest_case_610":e=_Tn;break;case"bestest_case_620":e=lPn;break;case"bestest_case_630":e=TPn;break;case"tucson_sundt_station":e=eHn;break;case"ai_tilt_angle_one_row":e=yHn;break;case"ai_tilt_angles_multiple_rows":e=kHn;break;case"ai_solar_farm_design":e=$Hn;break;case"ai_solar_farm_design_block":e=pMn;break;case"ai_fitchburg_solar_farm":e=zMn;break}return e},OH=()=>{const t=M(dn),e=M(Rje),n=M(Hje),o=M(hp),i=Kt(),r=xe.isMac(),a=()=>{if(n&&n.length>0){const l=e();if(l.length>0){const s={name:"Paste to Point",timestamp:Date.now(),pastedElements:l.map(c=>({...c})),undo:()=>{for(const c of s.pastedElements)o(c.id,!1)},redo:()=>{t(c=>{c.elements.push(...s.pastedElements),c.selectedElement=s.pastedElements[0],c.updateElementOnRoofFlag=!0})}};M.getState().addUndoable(s)}}};return h.jsxs(tn,{onClick:a,children:[j.t("word.Paste",i),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",r?"⌘":"Ctrl","+V)"]})]})},Sf=()=>{const t=M(dn),e=M(Cje),n=M(ha),o=Kt(),i=xe.isMac(),r=()=>{const a=M.getState().selectedElement;a&&(e(a.id),n&&t(l=>{l.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:a.id,elementType:a.type}}))};return h.jsxs(tn,{onClick:r,children:[j.t("word.Copy",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",i?"⌘":"Ctrl","+C)"]})]})},Tf=()=>{const t=M(dn),e=M(hp),n=xe.isMac(),o=Kt(),i=()=>{const r=M.getState().selectedElement;if(!(!r||r.type===z.Roof))if(r.locked)hn(j.t("message.ThisElementIsLocked",o));else{const a=e(r.id,!0);if(a.length===0)return;if(xe.isElementTriggerAutoDeletion(a[0]))Ln.getState().setListenToAutoDeletionByCut(!0),ht.getState().setPrimitiveStore("selectedElementId",r.id);else{const l={name:"Cut",timestamp:Date.now(),deletedElements:a,selectedElementId:r.id,undo:()=>{const s=l.deletedElements;if(s.length===0)return;const c=s.find(u=>u.id===l.selectedElementId);c&&t(u=>{for(const d of s)u.elements.push(d);if(c.type===z.Wall){const d=c;let f=null,p=null;if(d.leftJoints.length>0&&(f=d.leftJoints[0]),d.rightJoints.length>0&&(p=d.rightJoints[0]),f||p)for(const g of u.elements)g.id===f&&g.type===z.Wall&&(g.rightJoints[0]=d.id),g.id===p&&g.type===z.Wall&&(g.leftJoints[0]=d.id)}})},redo:()=>{l.deletedElements&&l.deletedElements.length>0&&e(l.deletedElements[0].id,!0)}};M.getState().addUndoable(l)}}};return h.jsxs(tn,{onClick:i,children:[j.t("word.Cut",o),h.jsxs("span",{style:{paddingLeft:"4px",fontSize:9},children:["(",n?"⌘":"Ctrl","+X)"]})]})},Id=({selectedElement:t})=>{const e=Kt(),n=M(fwt),o=M(En),i=a=>{t&&n(t.id,a)},r=a=>{const l=a.target.checked,s={name:"Lock",timestamp:Date.now(),checked:l,selectedElementId:t==null?void 0:t.id,selectedElementType:t==null?void 0:t.type,undo:()=>{i(!s.checked)},redo:()=>{i(s.checked)}};o(s),i(l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.locked,onChange:r,children:j.t("word.Lock",e)})})},tn=({stayAfterClick:t,noPadding:e,fontWeight:n,textSelectable:o=!0,update:i,onClick:r,children:a})=>{const l=s=>{r&&r(s),t&&s.stopPropagation(),i&&ht.getState().updateContextMenu()};return h.jsx("span",{onClick:l,style:{userSelect:o?"auto":"none",display:"inline-block",fontWeight:n,width:"100%",paddingLeft:e?"0px":"24px"},children:a})},io=({Dialog:t,noPadding:e,children:n})=>{const[o,i]=m.useState(!1),r=()=>{M.getState().setApplyCount(0),i(!0)};return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:r,children:n}),o&&h.jsx(t,{setDialogVisible:i})]})},m$e=({groupableElement:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id&&hd(r)){r.enableGroupMaster=!r.enableGroupMaster;break}i.groupActionUpdateFlag=!i.groupActionUpdateFlag})},o=i=>{const r={name:"Group Master",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.enableGroupMaster,onChange:o,children:j.t("foundationMenu.GroupMaster",e)})})},$G=({element:t,inside:e,children:n})=>{const o=M.getState().updateInsideLightsByParentId,i=()=>{const r=new Map;for(const l of M.getState().elements)l.parentId===t.id&&l.type===z.Light&&r.set(l.id,l.inside);o(t.id,e);const a={name:e?`Set All Lights on ${t.type} Inside`:`Set All Lights on ${t.type} Outside`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[l,s]of a.oldValues.entries())M.getState().updateInsideLightById(l,s)},redo:()=>{o(t.id,e)}};M.getState().addUndoable(a)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:i,children:n})},Rye=({solarCollector:t})=>{const e=M.getState().updateSolarCollectorDrawSunBeamById,n=Kt(),o=i=>{const r={name:"Show Sun Beam",timestamp:Date.now(),checked:!t.drawSunBeam,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{e(t.id,!r.checked)},redo:()=>{e(t.id,r.checked)}};M.getState().addUndoable(r),e(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.drawSunBeam,onChange:i=>o(i.target.checked),children:j.t("solarCollectorMenu.DrawSunBeam",n)})})},c7=({checked:t,onClick:e,children:n})=>h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onClick:e,children:n})}),bC=({min:t,max:e,value:n,onChange:o,children:i})=>h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[i,h.jsx(Mu,{min:t,max:e,tooltip:{open:!1},defaultValue:n,onChange:o})]}),nh=({children:t})=>h.jsx("span",{style:{paddingLeft:"2px",fontSize:9},children:t}),a2=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsx(tn,{noPadding:!0,stayAfterClick:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:o,onChange:e,children:n})})},Ere=({selector:t,onChange:e,children:n})=>{const o=M(t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:n}),h.jsx(wc,{checked:o,onChange:e})]})},y$e="/aladdin/assets/map_residential_building-BlM-FtN4.png",A$e="/aladdin/assets/map_commercial_building-DgYY52Jp.png",w$e="/aladdin/assets/map_school_building-B4f7IMQ-.png",v$e="/aladdin/assets/map_tourist_attraction-qR1MEaG5.png",x$e="/aladdin/assets/map_solar_panel-DyfTsHia.png",b$e="/aladdin/assets/map_parabolic_dish-C1NBHVgm.png",S$e="/aladdin/assets/map_parabolic_trough-CCcc-zs6.png",T$e="/aladdin/assets/map_fresnel_reflector-Bzw0EMA6.png",P$e="/aladdin/assets/map_heliostat-BXje3i1H.png",C$e="/aladdin/assets/map_under_construction-fpLVLcIy.png",R$e="/aladdin/assets/map_marker-C9GhGDY6.png",H$e="/aladdin/assets/map_wind_turbine-Bw5iob8S.png",M$e="/aladdin/assets/map_colocation_projects-PrxUC05F.png";var hQ={exports:{}},I$e={};function z$e(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const n=(t=window.document)===null||t===void 0||(t=t.documentElement)===null||t===void 0?void 0:t.style;if(!n||e in n)return"";for(let o=0;oe===n.identifier)||t.changedTouches&&(0,xg.findInArray)(t.changedTouches,n=>e===n.identifier)}function mkn(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function ykn(t){if(!t)return;let e=t.getElementById("react-draggable-style-el");e||(e=t.createElement("style"),e.type="text/css",e.id="react-draggable-style-el",e.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;} `,e.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;} -`,t.getElementsByTagName("head")[0].appendChild(e)),t.body&&N$e(t.body,"react-draggable-transparent-selection")}function vkn(t){if(t)try{if(t.body&&U$e(t.body,"react-draggable-transparent-selection"),t.selection)t.selection.empty();else{const e=(t.defaultView||window).getSelection();e&&e.type!=="Caret"&&e.removeAllRanges()}}catch{}}function N$e(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)")))||(t.className+=" ".concat(e))}function U$e(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g"),"")}var u3={};Object.defineProperty(u3,"__esModule",{value:!0});u3.canDragX=Skn;u3.canDragY=Tkn;u3.createCoreData=Ckn;u3.createDraggableData=Rkn;u3.getBoundPosition=xkn;u3.getControlPosition=Pkn;u3.snapToGrid=bkn;var _1=c3,qP=y0;function xkn(t,e,n){if(!t.props.bounds)return[e,n];let{bounds:o}=t.props;o=typeof o=="string"?o:Hkn(o);const i=Mye(t);if(typeof o=="string"){const{ownerDocument:r}=i,a=r.defaultView;let l;if(o==="parent"?l=i.parentNode:l=r.querySelector(o),!(l instanceof a.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');const s=l,c=a.getComputedStyle(i),u=a.getComputedStyle(s);o={left:-i.offsetLeft+(0,_1.int)(u.paddingLeft)+(0,_1.int)(c.marginLeft),top:-i.offsetTop+(0,_1.int)(u.paddingTop)+(0,_1.int)(c.marginTop),right:(0,qP.innerWidth)(s)-(0,qP.outerWidth)(i)-i.offsetLeft+(0,_1.int)(u.paddingRight)-(0,_1.int)(c.marginRight),bottom:(0,qP.innerHeight)(s)-(0,qP.outerHeight)(i)-i.offsetTop+(0,_1.int)(u.paddingBottom)-(0,_1.int)(c.marginBottom)}}return(0,_1.isNum)(o.right)&&(e=Math.min(e,o.right)),(0,_1.isNum)(o.bottom)&&(n=Math.min(n,o.bottom)),(0,_1.isNum)(o.left)&&(e=Math.max(e,o.left)),(0,_1.isNum)(o.top)&&(n=Math.max(n,o.top)),[e,n]}function bkn(t,e,n){const o=Math.round(e/t[0])*t[0],i=Math.round(n/t[1])*t[1];return[o,i]}function Skn(t){return t.props.axis==="both"||t.props.axis==="x"}function Tkn(t){return t.props.axis==="both"||t.props.axis==="y"}function Pkn(t,e,n){const o=typeof e=="number"?(0,qP.getTouch)(t,e):null;if(typeof e=="number"&&!o)return null;const i=Mye(n),r=n.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,qP.offsetXYFromParent)(o||t,r,n.props.scale)}function Ckn(t,e,n){const o=!(0,_1.isNum)(t.lastX),i=Mye(t);return o?{node:i,deltaX:0,deltaY:0,lastX:e,lastY:n,x:e,y:n}:{node:i,deltaX:e-t.lastX,deltaY:n-t.lastY,lastX:t.lastX,lastY:t.lastY,x:e,y:n}}function Rkn(t,e){const n=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/n,y:t.state.y+e.deltaY/n,deltaX:e.deltaX/n,deltaY:e.deltaY/n,lastX:t.state.x,lastY:t.state.y}}function Hkn(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function Mye(t){const e=t.findDOMNode();if(!e)throw new Error(": Unmounted during event!");return e}var pQ={},gQ={};Object.defineProperty(gQ,"__esModule",{value:!0});gQ.default=Mkn;function Mkn(){}Object.defineProperty(pQ,"__esModule",{value:!0});pQ.default=void 0;var Fre=zkn(m),Rp=Iye(fq),Ikn=Iye(Td),Of=y0,S4=u3,Lre=c3,kz=Iye(gQ);function Iye(t){return t&&t.__esModule?t:{default:t}}function B$e(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(B$e=function(o){return o?n:e})(t)}function zkn(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var n=B$e(e);if(n&&n.has(t))return n.get(t);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)){var a=i?Object.getOwnPropertyDescriptor(t,r):null;a&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=t[r]}return o.default=t,n&&n.set(t,o),o}function Yh(t,e,n){return e=Dkn(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Dkn(t){var e=Ekn(t,"string");return typeof e=="symbol"?e:String(e)}function Ekn(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const Jy={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let T4=Jy.mouse,mQ=class extends Fre.Component{constructor(){super(...arguments),Yh(this,"dragging",!1),Yh(this,"lastX",NaN),Yh(this,"lastY",NaN),Yh(this,"touchIdentifier",null),Yh(this,"mounted",!1),Yh(this,"handleDragStart",e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button=="number"&&e.button!==0)return!1;const n=this.findDOMNode();if(!n||!n.ownerDocument||!n.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:o}=n;if(this.props.disabled||!(e.target instanceof o.defaultView.Node)||this.props.handle&&!(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.handle,n)||this.props.cancel&&(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.cancel,n))return;e.type==="touchstart"&&e.preventDefault();const i=(0,Of.getTouchIdentifier)(e);this.touchIdentifier=i;const r=(0,S4.getControlPosition)(e,i,this);if(r==null)return;const{x:a,y:l}=r,s=(0,S4.createCoreData)(this,a,l);(0,kz.default)("DraggableCore: handleDragStart: %j",s),(0,kz.default)("calling",this.props.onStart),!(this.props.onStart(e,s)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,Of.addUserSelectStyles)(o),this.dragging=!0,this.lastX=a,this.lastY=l,(0,Of.addEvent)(o,T4.move,this.handleDrag),(0,Of.addEvent)(o,T4.stop,this.handleDragStop))}),Yh(this,"handleDrag",e=>{const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let l=o-this.lastX,s=i-this.lastY;if([l,s]=(0,S4.snapToGrid)(this.props.grid,l,s),!l&&!s)return;o=this.lastX+l,i=this.lastY+s}const r=(0,S4.createCoreData)(this,o,i);if((0,kz.default)("DraggableCore: handleDrag: %j",r),this.props.onDrag(e,r)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const s=document.createEvent("MouseEvents");s.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(s)}return}this.lastX=o,this.lastY=i}),Yh(this,"handleDragStop",e=>{if(!this.dragging)return;const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let s=o-this.lastX||0,c=i-this.lastY||0;[s,c]=(0,S4.snapToGrid)(this.props.grid,s,c),o=this.lastX+s,i=this.lastY+c}const r=(0,S4.createCoreData)(this,o,i);if(this.props.onStop(e,r)===!1||this.mounted===!1)return!1;const l=this.findDOMNode();l&&this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(l.ownerDocument),(0,kz.default)("DraggableCore: handleDragStop: %j",r),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,l&&((0,kz.default)("DraggableCore: Removing handlers"),(0,Of.removeEvent)(l.ownerDocument,T4.move,this.handleDrag),(0,Of.removeEvent)(l.ownerDocument,T4.stop,this.handleDragStop))}),Yh(this,"onMouseDown",e=>(T4=Jy.mouse,this.handleDragStart(e))),Yh(this,"onMouseUp",e=>(T4=Jy.mouse,this.handleDragStop(e))),Yh(this,"onTouchStart",e=>(T4=Jy.touch,this.handleDragStart(e))),Yh(this,"onTouchEnd",e=>(T4=Jy.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,Of.addEvent)(e,Jy.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:n}=e;(0,Of.removeEvent)(n,Jy.mouse.move,this.handleDrag),(0,Of.removeEvent)(n,Jy.touch.move,this.handleDrag),(0,Of.removeEvent)(n,Jy.mouse.stop,this.handleDragStop),(0,Of.removeEvent)(n,Jy.touch.stop,this.handleDragStop),(0,Of.removeEvent)(e,Jy.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(n)}}findDOMNode(){var e,n;return(e=this.props)!==null&&e!==void 0&&e.nodeRef?(n=this.props)===null||n===void 0||(n=n.nodeRef)===null||n===void 0?void 0:n.current:Ikn.default.findDOMNode(this)}render(){return Fre.cloneElement(Fre.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};pQ.default=mQ;Yh(mQ,"displayName","DraggableCore");Yh(mQ,"propTypes",{allowAnyClick:Rp.default.bool,children:Rp.default.node.isRequired,disabled:Rp.default.bool,enableUserSelectHack:Rp.default.bool,offsetParent:function(t,e){if(t[e]&&t[e].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:Rp.default.arrayOf(Rp.default.number),handle:Rp.default.string,cancel:Rp.default.string,nodeRef:Rp.default.object,onStart:Rp.default.func,onDrag:Rp.default.func,onStop:Rp.default.func,onMouseDown:Rp.default.func,scale:Rp.default.number,className:Lre.dontSetMe,style:Lre.dontSetMe,transform:Lre.dontSetMe});Yh(mQ,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return s.default}}),t.default=void 0;var e=f(m),n=u(fq),o=u(Td),i=u(QEn),r=y0,a=u3,l=c3,s=u(pQ),c=u(gQ);function u(C){return C&&C.__esModule?C:{default:C}}function d(C){if(typeof WeakMap!="function")return null;var P=new WeakMap,v=new WeakMap;return(d=function(T){return T?v:P})(C)}function f(C,P){if(C&&C.__esModule)return C;if(C===null||typeof C!="object"&&typeof C!="function")return{default:C};var v=d(P);if(v&&v.has(C))return v.get(C);var T={},y=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var S in C)if(S!=="default"&&Object.prototype.hasOwnProperty.call(C,S)){var x=y?Object.getOwnPropertyDescriptor(C,S):null;x&&(x.get||x.set)?Object.defineProperty(T,S,x):T[S]=C[S]}return T.default=C,v&&v.set(C,T),T}function p(){return p=Object.assign?Object.assign.bind():function(C){for(var P=1;P{if((0,c.default)("Draggable: onDragStart: %j",T),this.props.onStart(v,(0,a.createDraggableData)(this,T))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(v,T)=>{if(!this.state.dragging)return!1;(0,c.default)("Draggable: onDrag: %j",T);const y=(0,a.createDraggableData)(this,T),S={x:y.x,y:y.y,slackX:0,slackY:0};if(this.props.bounds){const{x:R,y:H}=S;S.x+=this.state.slackX,S.y+=this.state.slackY;const[D,k]=(0,a.getBoundPosition)(this,S.x,S.y);S.x=D,S.y=k,S.slackX=this.state.slackX+(R-S.x),S.slackY=this.state.slackY+(H-S.y),y.x=S.x,y.y=S.y,y.deltaX=S.x-this.state.x,y.deltaY=S.y-this.state.y}if(this.props.onDrag(v,y)===!1)return!1;this.setState(S)}),g(this,"onDragStop",(v,T)=>{if(!this.state.dragging||this.props.onStop(v,(0,a.createDraggableData)(this,T))===!1)return!1;(0,c.default)("Draggable: onDragStop: %j",T);const S={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:R,y:H}=this.props.position;S.x=R,S.y=H}this.setState(S)}),this.state={dragging:!1,dragged:!1,x:P.position?P.position.x:P.defaultPosition.x,y:P.position?P.position.y:P.defaultPosition.y,prevPropsPosition:{...P.position},slackX:0,slackY:0,isElementSVG:!1},P.position&&!(P.onDrag||P.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var P,v;return(P=(v=this.props)===null||v===void 0||(v=v.nodeRef)===null||v===void 0?void 0:v.current)!==null&&P!==void 0?P:o.default.findDOMNode(this)}render(){const{axis:P,bounds:v,children:T,defaultPosition:y,defaultClassName:S,defaultClassNameDragging:x,defaultClassNameDragged:R,position:H,positionOffset:D,scale:k,...W}=this.props;let N={},L=null;const U=!!!H||this.state.dragging,F=H||y,B={x:(0,a.canDragX)(this)&&U?this.state.x:F.x,y:(0,a.canDragY)(this)&&U?this.state.y:F.y};this.state.isElementSVG?L=(0,r.createSVGTransform)(B,D):N=(0,r.createCSSTransform)(B,D);const _=(0,i.default)(T.props.className||"",S,{[x]:this.state.dragging,[R]:this.state.dragged});return e.createElement(s.default,p({},W,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(T),{className:_,style:{...T.props.style,...N},transform:L}))}}t.default=b,g(b,"displayName","Draggable"),g(b,"propTypes",{...s.default.propTypes,axis:n.default.oneOf(["both","x","y","none"]),bounds:n.default.oneOfType([n.default.shape({left:n.default.number,right:n.default.number,top:n.default.number,bottom:n.default.number}),n.default.string,n.default.oneOf([!1])]),defaultClassName:n.default.string,defaultClassNameDragging:n.default.string,defaultClassNameDragged:n.default.string,defaultPosition:n.default.shape({x:n.default.number,y:n.default.number}),positionOffset:n.default.shape({x:n.default.oneOfType([n.default.number,n.default.string]),y:n.default.oneOfType([n.default.number,n.default.string])}),position:n.default.shape({x:n.default.number,y:n.default.number}),className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),g(b,"defaultProps",{...s.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(D$e);const{default:j$e,DraggableCore:kkn}=D$e;hQ.exports=j$e;hQ.exports.default=j$e;hQ.exports.DraggableCore=kkn;var Fkn=hQ.exports;const Vr=kr(Fkn),bTe=t=>{t=1831565813+(t|=0)|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296};let Lkn=class{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:n,separator:o,dictionaries:i,style:r,seed:a}=e;this.dictionaries=i,this.separator=o,this.length=n,this.style=r,this.seed=a}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries. -Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((n,o)=>{let i;e?(i=(a=>{if(typeof a=="string"){const l=a.split("").map(c=>c.charCodeAt(0)).reduce((c,u)=>c+u,1),s=Math.floor(Number(l));return bTe(s)}return bTe(a)})(e),e=4294967296*i):i=Math.random();let r=o[Math.floor(i*o.length)]||"";if(this.style==="lowerCase")r=r.toLowerCase();else if(this.style==="capital"){const[a,...l]=r.split("");r=a.toUpperCase()+l.join("")}else this.style==="upperCase"&&(r=r.toUpperCase());return n?`${n}${this.separator}${r}`:`${r}`},"")}};const STe={separator:"_",dictionaries:[]},Wkn=t=>{const e=[...t&&t.dictionaries||STe.dictionaries],n={...STe,...t,length:t&&t.length||e.length,dictionaries:e};if(!t||!t.dictionaries||!t.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new Lkn(n).generate()};var Nkn=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],Ukn=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];const{Option:k1}=Yo,Bkn=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),[i,r]=m.useState(M.getState().modelType),[a,l]=m.useState(M.getState().modelAuthor??Wkn({dictionaries:[Ukn,Nkn],separator:" ",style:"capital"})),[s,c]=m.useState(M.getState().modelLabel??M.getState().cloudFile??null),[u,d]=m.useState(M.getState().modelDescription),[f,p]=m.useState(!1),[g,A]=m.useState({left:0,top:0,bottom:0,right:0}),w=m.useRef(null),b=m.useRef(null),{TextArea:C}=ns,P={lng:o};m.useEffect(()=>{var x;(x=b.current)==null||x.focus()},[]);const v=(x,R)=>{if(w.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,k=w.current.getBoundingClientRect();A({left:-k.left+R.x,right:H-(k.right-R.x),top:-k.top+R.y,bottom:D-((k==null?void 0:k.bottom)-R.y)})}},T=()=>{t(!1)},y=()=>{ht.getState().set(x=>{x.publishOnModelsMapFlag=!0}),e(x=>{x.modelType=i,x.modelAuthor=a,x.modelLabel=s,x.modelDescription=u}),ht.getState().setChanged(!0),n&&e(x=>{x.actionInfo={name:"Publish on Map of Models",timestamp:new Date().getTime()}}),t(!1)},{t:S}=jl();return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:S("menu.file.PublishOnModelsMap",P)}),footer:[h.jsx(oo,{onClick:T,children:S("word.Cancel",P)},"Cancel"),h.jsx(oo,{type:"primary",ref:b,onClick:y,disabled:!a||!s,children:S("word.OK",P)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:x=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(R,H)=>v(R,H),children:h.jsx("div",{ref:w,children:x})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:8,children:S("shared.ModelType",P)+":"}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsxs(Yo,{style:{width:"100%"},value:i,onChange:x=>{r(x)},children:[h.jsxs(k1,{value:da.UNKNOWN,children:[h.jsx("img",{alt:"Building",width:24,src:M$e,style:{marginRight:"8px"}}),S("word.Unknown",P)]},da.UNKNOWN),h.jsxs(k1,{value:da.UNDER_CONSTRUCTION,children:[h.jsx("img",{alt:"Building",width:24,src:H$e,style:{marginRight:"8px"}}),S("word.UnderConstruction",P)]},da.UNDER_CONSTRUCTION),h.jsxs(k1,{value:da.RESIDENTIAL_BUILDING,children:[h.jsx("img",{alt:"Residential Building",width:24,src:w$e,style:{marginRight:"8px"}}),S("word.ResidentialBuilding",P)]},da.RESIDENTIAL_BUILDING),h.jsxs(k1,{value:da.COMMERCIAL_BUILDING,children:[h.jsx("img",{alt:"Commercial Building",width:24,src:v$e,style:{marginRight:"8px"}}),S("word.CommercialBuilding",P)]},da.COMMERCIAL_BUILDING),h.jsxs(k1,{value:da.SCHOOL_BUILDING,children:[h.jsx("img",{alt:"School Building",width:24,src:x$e,style:{marginRight:"8px"}}),S("word.SchoolBuilding",P)]},da.SCHOOL_BUILDING),h.jsxs(k1,{value:da.TOURIST_ATTRACTION,children:[h.jsx("img",{alt:"Tourist Attraction",width:24,src:b$e,style:{marginRight:"8px"}}),S("word.TouristAttraction",P)]},da.TOURIST_ATTRACTION),h.jsxs(k1,{value:da.PHOTOVOLTAIC,children:[h.jsx("img",{alt:"Photovoltaic",width:24,src:S$e,style:{marginRight:"8px"}}),S("word.Photovoltaic",P)]},da.PHOTOVOLTAIC),h.jsxs(k1,{value:da.PARABOLIC_DISH,children:[h.jsx("img",{alt:"Parabolic Dish",width:24,src:T$e,style:{marginRight:"8px"}}),S("shared.ParabolicDishElement",P)]},da.PARABOLIC_DISH),h.jsxs(k1,{value:da.PARABOLIC_TROUGH,children:[h.jsx("img",{alt:"Parabolic Trough",width:24,src:P$e,style:{marginRight:"8px"}}),S("shared.ParabolicTroughElement",P)]},da.PARABOLIC_TROUGH),h.jsxs(k1,{value:da.FRESNEL_REFLECTOR,children:[h.jsx("img",{alt:"Fresnel Reflector",width:24,src:C$e,style:{marginRight:"8px"}}),S("shared.FresnelReflectorElement",P)]},da.FRESNEL_REFLECTOR),h.jsxs(k1,{value:da.SOLAR_POWER_TOWER,children:[h.jsx("img",{alt:"Heliostat",width:24,src:R$e,style:{marginRight:"8px"}}),S("shared.HeliostatElement",P)]},da.SOLAR_POWER_TOWER),h.jsxs(k1,{value:da.WIND_TURBINE,children:[h.jsx("img",{alt:"Wind Turbine",width:24,src:I$e,style:{marginRight:"8px"}}),j.t("word.WindPower",P)]},da.WIND_TURBINE),h.jsxs(k1,{value:da.COLOCATION_PROJECTS,children:[h.jsx("img",{alt:"Colocation Projects",width:24,src:z$e,style:{marginRight:"8px"}}),j.t("word.ColocationProjects",P)]},da.COLOCATION_PROJECTS)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[S("word.Publisher",P),":"]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:30,style:{width:"100%"},value:a??"",onKeyDown:x=>{if(!JC.test(x.key))return x.preventDefault(),!1},onChange:x=>{l(x.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[S("word.Label",P),":"]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:s??"",onKeyDown:x=>{if(!JC.test(x.key))return x.preventDefault(),!1},onChange:x=>{c(x.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[S("word.Description",P),":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",S("word.MaximumCharacters",P),": 200)"]})]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(C,{rows:5,maxLength:200,style:{width:"100%"},value:u??"",onChange:x=>{d(x.target.value)}})})]})]})},jkn=be.memo(()=>{const t=Kt(),e=M.getState().user,n=M.getState().cloudFile,[o,i]=m.useState(!1),r=()=>{const a=new URLSearchParams(window.location.search).get("userid"),l=a===e.uid;e.uid&&n&&l?i(!0):e.uid?hn(a&&!l?j.t("menu.file.YouCannotPublishAModelThatYouDoNotOwn",t)+".":j.t("menu.file.YouMustSaveModelOnCloudBeforePublishingIt",t)+"."):hn(j.t("menu.file.YouMustLogInToPublishYourModel",t)+".")};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:r,children:[j.t("menu.file.PublishOnModelsMap",t),"..."]}),o&&h.jsx(Bkn,{setDialogVisible:i})]})}),Ykn=(t,e,n)=>{const o={lng:M.getState().language},i=M.getState().user,r=M.getState().cloudFile,a=M.getState().undoManager,l=M.getState().loggable,s=M.getState().set,c=()=>{a.clear(),ht.getState().set(b=>{b.createNewFileFlag=!0,b.openModelsMap=!1}),s(b=>{b.objectTypeToAdd=z.None,b.groupActionMode=!1,window.history.pushState({},document.title,qp),l&&(b.actionInfo={name:"Create New File",timestamp:new Date().getTime()})})},u=()=>{a.clear(),ht.getState().set(b=>{b.openLocalFileFlag=!0,b.openModelsMap=!1}),s(b=>{b.objectTypeToAdd=z.None,b.groupActionMode=!1,b.cloudFile=void 0,window.history.pushState({},document.title,qp),l&&(b.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})})},d=()=>{ht.getState().set(b=>{b.saveLocalFileDialogVisible=!0}),l&&s(b=>{b.actionInfo={name:"Save as Local File",timestamp:new Date().getTime()}})},f=()=>{ht.getState().set(b=>{b.listCloudFilesFlag=!0,b.openModelsMap=!1}),s(b=>{b.selectedFloatingWindow="cloudFilePanel"}),l&&s(b=>{b.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}})},p=()=>{ht.getState().setSaveCloudFileFlag(!0),l&&s(b=>{b.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},g=()=>{s(b=>{b.showCloudFileTitleDialogFlag=!b.showCloudFileTitleDialogFlag,b.showCloudFileTitleDialog=!0,l&&(b.actionInfo={name:"Save as Cloud File",timestamp:new Date().getTime()})})},A=()=>{n&&(Jqt("screenshot.png",n.toDataURL("image/png")),l&&s(b=>{b.actionInfo={name:"Take Screenshot",timestamp:new Date().getTime()}}),ht.getState().set(b=>{b.openModelsMap=!1}))},w=[];return t||w.push({key:"create-new-file",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[j.t("menu.file.CreateNewFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+F)"]})]})}),t||w.push({key:"open-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[j.t("menu.file.OpenLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+O)"]}),"..."]})}),w.push({key:"save-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[j.t("menu.file.SaveAsLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+S)"]}),"..."]})}),i.uid&&!t&&w.push({key:"open-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[j.t("menu.file.OpenCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+O)"]}),"..."]})}),i.uid&&r&&!t&&w.push({key:"save-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[j.t("menu.file.SaveCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+S)"]}),"..."]})}),i.uid&&!t&&w.push({key:"save-as-cloud-file",label:h.jsx(tn,{noPadding:!0,onClick:g,children:j.t("menu.file.SaveAsCloudFile",o)})}),t||w.push({key:"publish-on-model-map",label:h.jsx(jkn,{})}),w.push({key:"take-screen-shot",label:h.jsx(tn,{noPadding:!0,onClick:A,children:j.t("menu.file.TakeScreenshot",o)})}),w},{Option:Okn}=Yo,Y$e=be.memo(({saveAs:t,setDialogVisible:e})=>{const n=M(dn),o=M(ha),[i,r]=m.useState(M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY),[a,l]=m.useState(M.getState().projectState.title),[s,c]=m.useState(M.getState().projectState.description),[u,d]=m.useState(!1),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),g=m.useRef(null),{TextArea:A}=ns,w=Kt(),b=(v,T)=>{if(g.current){const{clientWidth:y,clientHeight:S}=window.document.documentElement,x=g.current.getBoundingClientRect();p({left:-x.left+T.x,right:y-(x.right-T.x),top:-x.top+T.y,bottom:S-((x==null?void 0:x.bottom)-T.y)})}},C=()=>{e(!1)},P=()=>{ht.getState().set(v=>{t?v.saveProjectAsFlag=!0:v.createProjectFlag=!0}),ht.getState().set(v=>{v.projectType=i,v.projectTitle=a,v.projectDescription=s}),o&&n(v=>{v.actionInfo={name:t?"Save Project as":"Create New Project",timestamp:new Date().getTime()}}),e(!1)};return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>d(!0),onMouseOut:()=>d(!1),children:`${j.t(t?"menu.project.SaveProjectAs":"menu.project.CreateNewProject",w)}`}),footer:[h.jsx(oo,{onClick:C,children:`${j.t("word.Cancel",w)}`},"Cancel"),h.jsx(oo,{type:"primary",onClick:P,disabled:!a,children:`${j.t("word.OK",w)}`},"OK")],onCancel:()=>{e(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:v=>h.jsx(Vr,{disabled:!u,bounds:f,onStart:(T,y)=>b(T,y),children:h.jsx("div",{ref:g,children:v})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:8,children:j.t("projectPanel.ProjectType",w)+":"}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(Yo,{disabled:t,style:{width:"100%"},value:i,onChange:v=>{r(v)},children:h.jsx(Okn,{value:Tr.SOLAR_PANEL_ARRAY,children:`${j.t("projectPanel.SolarPanelArray",w)}`},Tr.SOLAR_PANEL_ARRAY)})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[`${j.t("word.Title",w)}`,":"]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:a??"",onKeyDown:v=>{if(!JC.test(v.key))return v.preventDefault(),!1},onChange:v=>{l(v.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[`${j.t("word.Description",w)}`,":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",`${j.t("word.MaximumCharacters",w)}`,": 200)"]})]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(A,{rows:5,maxLength:200,style:{width:"100%"},value:s??"",onChange:v=>{c(v.target.value)}})})]})]})}),_kn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{if(!M.getState().user.uid){hn(j.t("menu.project.YouMustLogInToCreateProject",n)+".");return}e(!0),ht.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Create New Project",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[j.t("menu.project.CreateNewProject",n),"..."]}),t&&h.jsx(Y$e,{saveAs:!1,setDialogVisible:e})]})},Vkn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{e(!0),ht.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Save Project As",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[j.t("menu.project.SaveProjectAs",n),"..."]}),t&&h.jsx(Y$e,{saveAs:!0,setDialogVisible:e})]})},Gkn=()=>{const t={lng:M.getState().language},e=M.getState().user,n=M.getState().loggable,o=M.getState().projectState,i=M.getState().projectView,r=M.getState().set,a=()=>{if(!e.uid){hn(j.t("menu.project.YouMustLogInToOpenProject",t)+".");return}ht.getState().set(s=>{s.showProjectsFlag=!0,s.openModelsMap=!1}),r(s=>{s.selectedFloatingWindow="projectListPanel"}),n&&r(s=>{s.actionInfo={name:"Open Project",timestamp:new Date().getTime()}})},l=[];return l.push({key:"create-new-project",label:h.jsx(_kn,{})}),l.push({key:"list-project",label:h.jsxs(tn,{noPadding:!0,onClick:a,children:[j.t("menu.project.OpenProject",t),"..."]})}),i&&o.title&&e.uid&&l.push({key:"save-project-as",label:h.jsx(Vkn,{})}),l},Xkn=(t,e,n,o)=>{const i={lng:M.getState().language},r=M.getState().loggable,a=M.getState().set,l=()=>{t&&(M.getState().copyElementById(t.id),r&&a(p=>{p.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:t.id,elementType:t.type}}))},s=()=>{if(!(!t||t.type===z.Roof))if(t.locked)hn(j.t("message.ThisElementIsLocked",i));else{const p=M.getState().removeElementById(t.id,!0);if(p.length===0)return;if(xe.isElementTriggerAutoDeletion(p[0]))Ln.getState().setListenToAutoDeletionByCut(!0),ht.getState().setPrimitiveStore("selectedElementId",t.id);else{const g={name:"Cut",timestamp:Date.now(),deletedElements:p,selectedElementId:t.id,undo:()=>{const A=g.deletedElements;if(A.length===0)return;const w=A.find(b=>b.id===g.selectedElementId);w&&a(b=>{for(const C of A)b.elements.push(C);if(w.type===z.Wall){const C=w;let P=null,v=null;if(C.leftJoints.length>0&&(P=C.leftJoints[0]),C.rightJoints.length>0&&(v=C.rightJoints[0]),P||v)for(const T of b.elements)T.id===P&&T.type===z.Wall&&(T.rightJoints[0]=C.id),T.id===v&&T.type===z.Wall&&(T.leftJoints[0]=C.id)}})},redo:()=>{g.deletedElements&&g.deletedElements.length>0&&M.getState().removeElementById(g.deletedElements[0].id,!0)}};M.getState().addUndoable(g)}}},c=()=>{const p=M.getState().elementsToPaste;if(p&&p.length>0){const g=M.getState().pasteElementsByKey();if(g.length>0){const A={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(g)),undo:()=>{for(const w of A.pastedElements)M.getState().removeElementById(w.id,!1)},redo:()=>{a(w=>{w.elements.push(...A.pastedElements),w.selectedElement=A.pastedElements[0]})}};M.getState().addUndoable(A)}}},u=()=>{if(n.hasUndo()){const p=n.undo();p&&hn(j.t("menu.edit.Undo",i)+": "+p,QV),r&&a(g=>{g.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}},d=()=>{if(n.hasRedo()){const p=n.redo();p&&hn(j.t("menu.edit.Redo",i)+": "+p,QV),r&&a(g=>{g.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}},f=[];return t&&f.push({key:"cut",label:h.jsxs(tn,{noPadding:!0,onClick:s,children:[j.t("word.Cut",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+X)"]})]})}),t&&f.push({key:"copy",label:h.jsxs(tn,{noPadding:!0,onClick:l,children:[j.t("word.Copy",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+C)"]})]})}),e&&f.push({key:"paste",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[j.t("word.Paste",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+V)"]})]})}),n.hasUndo()&&f.push({key:"undo",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[j.t("menu.edit.Undo",i)+": "+n.getLastUndoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Z)"]})]})}),n.hasRedo()&&f.push({key:"redo",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[j.t("menu.edit.Redo",i)+": "+n.getLastRedoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Y)"]})]})}),f};var zye={},yQ={};Object.defineProperty(yQ,"__esModule",{value:!0});yQ.default=void 0;var Jkn={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};yQ.default=Jkn;var AQ={},eN={},wQ={};Object.defineProperty(wQ,"__esModule",{value:!0});wQ.default=void 0;var Kkn={locale:"zh_CN",yearFormat:"YYYY年",cellDateFormat:"D",cellMeridiemFormat:"A",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪"};wQ.default=Kkn;var tN={};Object.defineProperty(tN,"__esModule",{value:!0});tN.default=void 0;const qkn={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};tN.default=qkn;var O$e=Cd.default;Object.defineProperty(eN,"__esModule",{value:!0});eN.default=void 0;var $kn=O$e(wQ),Qkn=O$e(tN);const _$e={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},$kn.default),timePickerLocale:Object.assign({},Qkn.default)};_$e.lang.ok="确定";eN.default=_$e;var Zkn=Cd.default;Object.defineProperty(AQ,"__esModule",{value:!0});AQ.default=void 0;var eFn=Zkn(eN);AQ.default=eFn.default;var vQ=Cd.default;Object.defineProperty(zye,"__esModule",{value:!0});var V$e=zye.default=void 0,tFn=vQ(yQ),nFn=vQ(AQ),oFn=vQ(eN),iFn=vQ(tN);const F1="${label}不是一个有效的${type}",rFn={locale:"zh-cn",Pagination:tFn.default,DatePicker:oFn.default,TimePicker:iFn.default,Calendar:nFn.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckall:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:F1,method:F1,array:F1,object:F1,number:F1,date:F1,boolean:F1,integer:F1,float:F1,regexp:F1,email:F1,url:F1,hex:F1},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无"}};V$e=zye.default=rFn;var Dye={},xQ={};Object.defineProperty(xQ,"__esModule",{value:!0});xQ.default=void 0;var aFn={items_per_page:"條/頁",jump_to:"跳至",jump_to_confirm:"確定",page:"頁",prev_page:"上一頁",next_page:"下一頁",prev_5:"向前 5 頁",next_5:"向後 5 頁",prev_3:"向前 3 頁",next_3:"向後 3 頁",page_size:"頁碼"};xQ.default=aFn;var bQ={},nN={},SQ={};Object.defineProperty(SQ,"__esModule",{value:!0});SQ.default=void 0;var lFn={locale:"zh_TW",today:"今天",now:"此刻",backToToday:"返回今天",ok:"確定",timeSelect:"選擇時間",dateSelect:"選擇日期",weekSelect:"選擇周",clear:"清除",month:"月",year:"年",previousMonth:"上個月 (翻頁上鍵)",nextMonth:"下個月 (翻頁下鍵)",monthSelect:"選擇月份",yearSelect:"選擇年份",decadeSelect:"選擇年代",yearFormat:"YYYY年",dayFormat:"D",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"上一年 (Control鍵加左方向鍵)",nextYear:"下一年 (Control鍵加右方向鍵)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世紀",nextCentury:"下一世紀"};SQ.default=lFn;var oN={};Object.defineProperty(oN,"__esModule",{value:!0});oN.default=void 0;const sFn={placeholder:"請選擇時間"};oN.default=sFn;var G$e=Cd.default;Object.defineProperty(nN,"__esModule",{value:!0});nN.default=void 0;var cFn=G$e(SQ),uFn=G$e(oN);const X$e={lang:Object.assign({placeholder:"請選擇日期",yearPlaceholder:"請選擇年份",quarterPlaceholder:"請選擇季度",monthPlaceholder:"請選擇月份",weekPlaceholder:"請選擇周",rangePlaceholder:["開始日期","結束日期"],rangeYearPlaceholder:["開始年份","結束年份"],rangeMonthPlaceholder:["開始月份","結束月份"],rangeQuarterPlaceholder:["開始季度","結束季度"],rangeWeekPlaceholder:["開始周","結束周"]},cFn.default),timePickerLocale:Object.assign({},uFn.default)};X$e.lang.ok="確 定";nN.default=X$e;var dFn=Cd.default;Object.defineProperty(bQ,"__esModule",{value:!0});bQ.default=void 0;var fFn=dFn(nN);bQ.default=fFn.default;var TQ=Cd.default;Object.defineProperty(Dye,"__esModule",{value:!0});var J$e=Dye.default=void 0,hFn=TQ(xQ),pFn=TQ(bQ),gFn=TQ(nN),mFn=TQ(oN);const L1="${label}不是一個有效的${type}",yFn={locale:"zh-tw",Pagination:hFn.default,DatePicker:gFn.default,TimePicker:mFn.default,Calendar:pFn.default,global:{placeholder:"請選擇"},Table:{filterTitle:"篩選器",filterConfirm:"確定",filterReset:"重置",filterEmptyText:"無篩選項",filterCheckall:"全選",filterSearchPlaceholder:"在篩選項中搜尋",emptyText:"暫無數據",selectAll:"全部選取",selectInvert:"反向選取",selectNone:"清空所有",selectionAll:"全選所有",sortTitle:"排序",expand:"展開行",collapse:"關閉行",triggerDesc:"點擊降序",triggerAsc:"點擊升序",cancelSort:"取消排序"},Modal:{okText:"確定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"結束導覽"},Popconfirm:{okText:"確定",cancelText:"取消"},Transfer:{titles:["",""],searchPlaceholder:"搜尋資料",itemUnit:"項目",itemsUnit:"項目",remove:"删除",selectCurrent:"全選當頁",removeCurrent:"删除當頁",selectAll:"全選所有",removeAll:"删除全部",selectInvert:"反選當頁"},Upload:{uploading:"正在上傳...",removeFile:"刪除檔案",uploadError:"上傳失敗",previewFile:"檔案預覽",downloadFile:"下载文件"},Empty:{description:"無此資料"},Icon:{icon:"圖標"},Text:{edit:"編輯",copy:"複製",copied:"複製成功",expand:"展開"},Form:{optional:"(可選)",defaultValidateMessages:{default:"字段驗證錯誤${label}",required:"請輸入${label}",enum:"${label}必須是其中一個[${enum}]",whitespace:"${label}不能為空字符",date:{format:"${label}日期格式無效",parse:"${label}不能轉換為日期",invalid:"${label}是一個無效日期"},types:{string:L1,method:L1,array:L1,object:L1,number:L1,date:L1,boolean:L1,integer:L1,float:L1,regexp:L1,email:L1,url:L1,hex:L1},string:{len:"${label}須為${len}個字符",min:"${label}最少${min}個字符",max:"${label}最多${max}個字符",range:"${label}須在${min}-${max}字符之間"},number:{len:"${label}必須等於${len}",min:"${label}最小值為${min}",max:"${label}最大值為${max}",range:"${label}須在${min}-${max}之間"},array:{len:"須為${len}個${label}",min:"最少${min}個${label}",max:"最多${max}個${label}",range:"${label}數量須在${min}-${max}之間"},pattern:{mismatch:"${label}與模式不匹配${pattern}"}}},Image:{preview:"預覽"},QRCode:{expired:"二維碼過期",refresh:"點擊刷新",scanned:"已掃描"}};J$e=Dye.default=yFn;var Eye={},PQ={};Object.defineProperty(PQ,"__esModule",{value:!0});PQ.default=void 0;var AFn={items_per_page:"/ página",jump_to:"Ir a",jump_to_confirm:"confirmar",page:"Página",prev_page:"Página anterior",next_page:"Página siguiente",prev_5:"5 páginas previas",next_5:"5 páginas siguientes",prev_3:"3 páginas previas",next_3:"3 páginas siguientes",page_size:"tamaño de página"};PQ.default=AFn;var CQ={},iN={},RQ={};Object.defineProperty(RQ,"__esModule",{value:!0});RQ.default=void 0;var wFn={locale:"es_ES",today:"Hoy",now:"Ahora",backToToday:"Volver a hoy",ok:"Aceptar",clear:"Limpiar",month:"Mes",year:"Año",timeSelect:"Seleccionar hora",dateSelect:"Seleccionar fecha",monthSelect:"Elegir un mes",yearSelect:"Elegir un año",decadeSelect:"Elegir una década",yearFormat:"YYYY",dateFormat:"D/M/YYYY",dayFormat:"D",dateTimeFormat:"D/M/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Mes anterior (PageUp)",nextMonth:"Mes siguiente (PageDown)",previousYear:"Año anterior (Control + left)",nextYear:"Año siguiente (Control + right)",previousDecade:"Década anterior",nextDecade:"Década siguiente",previousCentury:"Siglo anterior",nextCentury:"Siglo siguiente"};RQ.default=wFn;var rN={};Object.defineProperty(rN,"__esModule",{value:!0});rN.default=void 0;const vFn={placeholder:"Seleccionar hora"};rN.default=vFn;var K$e=Cd.default;Object.defineProperty(iN,"__esModule",{value:!0});iN.default=void 0;var xFn=K$e(RQ),bFn=K$e(rN);const SFn={lang:Object.assign({placeholder:"Seleccionar fecha",rangePlaceholder:["Fecha inicial","Fecha final"],shortWeekDays:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"]},xFn.default),timePickerLocale:Object.assign({},bFn.default)};iN.default=SFn;var TFn=Cd.default;Object.defineProperty(CQ,"__esModule",{value:!0});CQ.default=void 0;var PFn=TFn(iN);CQ.default=PFn.default;var HQ=Cd.default;Object.defineProperty(Eye,"__esModule",{value:!0});var q$e=Eye.default=void 0,CFn=HQ(PQ),RFn=HQ(CQ),HFn=HQ(iN),MFn=HQ(rN);const W1="${label} no es un ${type} válido",IFn={locale:"es",Pagination:CFn.default,DatePicker:HFn.default,TimePicker:MFn.default,Calendar:RFn.default,global:{placeholder:"Seleccione"},Table:{filterTitle:"Filtrar menú",filterConfirm:"Aceptar",filterReset:"Reiniciar",filterEmptyText:"Sin filtros",filterCheckall:"Seleccionar todo",filterSearchPlaceholder:"Buscar en filtros",emptyText:"Sin datos",selectAll:"Seleccionar todo",selectInvert:"Invertir selección",selectNone:"Vacíe todo",selectionAll:"Seleccionar todos los datos",sortTitle:"Ordenar",expand:"Expandir fila",collapse:"Colapsar fila",triggerDesc:"Click para ordenar en orden descendente",triggerAsc:"Click para ordenar en orden ascendente",cancelSort:"Click para cancelar ordenamiento"},Modal:{okText:"Aceptar",cancelText:"Cancelar",justOkText:"Aceptar"},Popconfirm:{okText:"Aceptar",cancelText:"Cancelar"},Transfer:{titles:["",""],searchPlaceholder:"Buscar aquí",itemUnit:"elemento",itemsUnit:"elementos",remove:"Eliminar",selectCurrent:"Seleccionar página actual",removeCurrent:"Remover página actual",selectAll:"Seleccionar todos los datos",removeAll:"Eliminar todos los datos",selectInvert:"Invertir página actual"},Upload:{uploading:"Subiendo...",removeFile:"Eliminar archivo",uploadError:"Error al subir el archivo",previewFile:"Vista previa",downloadFile:"Descargar archivo"},Empty:{description:"No hay datos"},Icon:{icon:"ícono"},Text:{edit:"Editar",copy:"Copiar",copied:"Copiado",expand:"Expandir"},Form:{optional:"(opcional)",defaultValidateMessages:{default:"Error de validación del campo ${label}",required:"Por favor ingresar ${label}",enum:"${label} debe ser uno de [${enum}]",whitespace:"${label} no puede ser un carácter en blanco",date:{format:"El formato de fecha de ${label} es inválido",parse:"${label} no se puede convertir a una fecha",invalid:"${label} es una fecha inválida"},types:{string:W1,method:W1,array:W1,object:W1,number:W1,date:W1,boolean:W1,integer:W1,float:W1,regexp:W1,email:W1,url:W1,hex:W1},string:{len:"${label} debe tener ${len} caracteres",min:"${label} debe tener al menos ${min} caracteres",max:"${label} debe tener hasta ${max} caracteres",range:"${label} debe tener entre ${min}-${max} caracteres"},number:{len:"${label} debe ser igual a ${len}",min:"${label} valor mínimo es ${min}",max:"${label} valor máximo es ${max}",range:"${label} debe estar entre ${min}-${max}"},array:{len:"Debe ser ${len} ${label}",min:"Al menos ${min} ${label}",max:"A lo mucho ${max} ${label}",range:"El monto de ${label} debe estar entre ${min}-${max}"},pattern:{mismatch:"${label} no coincide con el patrón ${pattern}"}}},Image:{preview:"Previsualización"}};q$e=Eye.default=IFn;var kye={},MQ={};Object.defineProperty(MQ,"__esModule",{value:!0});MQ.default=void 0;var zFn={items_per_page:"/ sayfa",jump_to:"Git",jump_to_confirm:"onayla",page:"Sayfa",prev_page:"Önceki Sayfa",next_page:"Sonraki Sayfa",prev_5:"Önceki 5 Sayfa",next_5:"Sonraki 5 Sayfa",prev_3:"Önceki 3 Sayfa",next_3:"Sonraki 3 Sayfa",page_size:"sayfa boyutu"};MQ.default=zFn;var IQ={},aN={},zQ={};Object.defineProperty(zQ,"__esModule",{value:!0});zQ.default=void 0;var DFn={locale:"tr_TR",today:"Bugün",now:"Şimdi",backToToday:"Bugüne Geri Dön",ok:"Tamam",clear:"Temizle",month:"Ay",year:"Yıl",timeSelect:"Zaman Seç",dateSelect:"Tarih Seç",monthSelect:"Ay Seç",yearSelect:"Yıl Seç",decadeSelect:"On Yıl Seç",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Önceki Ay (PageUp)",nextMonth:"Sonraki Ay (PageDown)",previousYear:"Önceki Yıl (Control + Sol)",nextYear:"Sonraki Yıl (Control + Sağ)",previousDecade:"Önceki On Yıl",nextDecade:"Sonraki On Yıl",previousCentury:"Önceki Yüzyıl",nextCentury:"Sonraki Yüzyıl"};zQ.default=DFn;var lN={};Object.defineProperty(lN,"__esModule",{value:!0});lN.default=void 0;const EFn={placeholder:"Zaman seç",rangePlaceholder:["Başlangıç zamanı","Bitiş zamanı"]};lN.default=EFn;var $$e=Cd.default;Object.defineProperty(aN,"__esModule",{value:!0});aN.default=void 0;var kFn=$$e(zQ),FFn=$$e(lN);const LFn={lang:Object.assign({placeholder:"Tarih seç",yearPlaceholder:"Yıl seç",quarterPlaceholder:"Çeyrek seç",monthPlaceholder:"Ay seç",weekPlaceholder:"Hafta seç",rangePlaceholder:["Başlangıç tarihi","Bitiş tarihi"],rangeYearPlaceholder:["Başlangıç yılı","Bitiş yılı"],rangeMonthPlaceholder:["Başlangıç ayı","Bitiş ayı"],rangeWeekPlaceholder:["Başlangıç haftası","Bitiş haftası"]},kFn.default),timePickerLocale:Object.assign({},FFn.default)};aN.default=LFn;var WFn=Cd.default;Object.defineProperty(IQ,"__esModule",{value:!0});IQ.default=void 0;var NFn=WFn(aN);IQ.default=NFn.default;var DQ=Cd.default;Object.defineProperty(kye,"__esModule",{value:!0});var Q$e=kye.default=void 0,UFn=DQ(MQ),BFn=DQ(IQ),jFn=DQ(aN),YFn=DQ(lN);const N1="${label} geçerli bir ${type} değil",OFn={locale:"tr",Pagination:UFn.default,DatePicker:jFn.default,TimePicker:YFn.default,Calendar:BFn.default,global:{placeholder:"Lütfen seçiniz"},Table:{filterTitle:"Filtre menüsü",filterConfirm:"Tamam",filterReset:"Sıfırla",filterEmptyText:"Filtre yok",selectAll:"Tüm sayfayı seç",selectInvert:"Tersini seç",selectionAll:"Tümünü seç",sortTitle:"Sırala",expand:"Satırı genişlet",collapse:"Satırı daralt",triggerDesc:"Azalan düzende sırala",triggerAsc:"Artan düzende sırala",cancelSort:"Sıralamayı kaldır"},Modal:{okText:"Tamam",cancelText:"İptal",justOkText:"Tamam"},Popconfirm:{okText:"Tamam",cancelText:"İptal"},Transfer:{titles:["",""],searchPlaceholder:"Arama",itemUnit:"Öğe",itemsUnit:"Öğeler",remove:"Kaldır",selectCurrent:"Tüm sayfayı seç",removeCurrent:"Sayfayı kaldır",selectAll:"Tümünü seç",removeAll:"Tümünü kaldır",selectInvert:"Tersini seç"},Upload:{uploading:"Yükleniyor...",removeFile:"Dosyayı kaldır",uploadError:"Yükleme hatası",previewFile:"Dosyayı önizle",downloadFile:"Dosyayı indir"},Empty:{description:"Veri Yok"},Icon:{icon:"ikon"},Text:{edit:"Düzenle",copy:"Kopyala",copied:"Kopyalandı",expand:"Genişlet"},Form:{optional:"(opsiyonel)",defaultValidateMessages:{default:"Alan doğrulama hatası ${label}",required:"${label} gerekli bir alan",enum:"${label} şunlardan biri olmalı: [${enum}]",whitespace:"${label} sadece boşluk olamaz",date:{format:"${label} tarih biçimi geçersiz",parse:"${label} bir tarihe dönüştürülemedi",invalid:"${label} geçersiz bir tarih"},types:{string:N1,method:N1,array:N1,object:N1,number:N1,date:N1,boolean:N1,integer:N1,float:N1,regexp:N1,email:N1,url:N1,hex:N1},string:{len:"${label} ${len} karakter olmalı",min:"${label} en az ${min} karakter olmalı",max:"${label} en çok ${max} karakter olmalı",range:"${label} ${min}-${max} karakter arası olmalı"},number:{len:"${label} ${len} olmalı",min:"${label} en az ${min} olmalı",max:"${label} en çok ${max} olmalı",range:"${label} ${min}-${max} arası olmalı"},array:{len:"${label} sayısı ${len} olmalı",min:"${label} sayısı en az ${min} olmalı",max:"${label} sayısı en çok ${max} olmalı",range:"${label} sayısı ${min}-${max} arası olmalı"},pattern:{mismatch:"${label} şu kalıpla eşleşmeli: ${pattern}"}}},Image:{preview:"Önizleme"}};Q$e=kye.default=OFn;var Fye={},EQ={};Object.defineProperty(EQ,"__esModule",{value:!0});EQ.default=void 0;var _Fn={items_per_page:"/ сторінці",jump_to:"Перейти",jump_to_confirm:"підтвердити",page:"",prev_page:"Попередня сторінка",next_page:"Наступна сторінка",prev_5:"Попередні 5 сторінок",next_5:"Наступні 5 сторінок",prev_3:"Попередні 3 сторінки",next_3:"Наступні 3 сторінки",page_size:"Page Size"};EQ.default=_Fn;var kQ={},sN={},FQ={};Object.defineProperty(FQ,"__esModule",{value:!0});FQ.default=void 0;var VFn={locale:"uk_UA",today:"Сьогодні",now:"Зараз",backToToday:"Поточна дата",ok:"OK",clear:"Очистити",month:"Місяць",year:"Рік",timeSelect:"Обрати час",dateSelect:"Обрати дату",monthSelect:"Обрати місяць",yearSelect:"Обрати рік",decadeSelect:"Обрати десятиріччя",yearFormat:"YYYY",dateFormat:"D-M-YYYY",dayFormat:"D",dateTimeFormat:"D-M-YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Попередній місяць (PageUp)",nextMonth:"Наступний місяць (PageDown)",previousYear:"Попередній рік (Control + left)",nextYear:"Наступний рік (Control + right)",previousDecade:"Попереднє десятиріччя",nextDecade:"Наступне десятиріччя",previousCentury:"Попереднє століття",nextCentury:"Наступне століття"};FQ.default=VFn;var cN={};Object.defineProperty(cN,"__esModule",{value:!0});cN.default=void 0;const GFn={placeholder:"Оберіть час"};cN.default=GFn;var Z$e=Cd.default;Object.defineProperty(sN,"__esModule",{value:!0});sN.default=void 0;var XFn=Z$e(FQ),JFn=Z$e(cN);const KFn={lang:Object.assign({placeholder:"Оберіть дату",rangePlaceholder:["Початкова дата","Кінцева дата"]},XFn.default),timePickerLocale:Object.assign({},JFn.default)};sN.default=KFn;var qFn=Cd.default;Object.defineProperty(kQ,"__esModule",{value:!0});kQ.default=void 0;var $Fn=qFn(sN);kQ.default=$Fn.default;var LQ=Cd.default;Object.defineProperty(Fye,"__esModule",{value:!0});var eQe=Fye.default=void 0,QFn=LQ(EQ),ZFn=LQ(kQ),eLn=LQ(sN),tLn=LQ(cN);const U1="${label} не є типом ${type}",nLn={locale:"uk",Pagination:QFn.default,DatePicker:eLn.default,TimePicker:tLn.default,Calendar:ZFn.default,global:{placeholder:"Будь ласка, оберіть"},Table:{filterTitle:"Фільтрувати",filterConfirm:"OK",filterReset:"Скинути",filterEmptyText:"Фільтри відсутні",filterCheckall:"Обрати всі",filterSearchPlaceholder:"Пошук у фільтрах",emptyText:"Даних немає",selectAll:"Обрати всі на сторінці",selectInvert:"Інвертувати вибір",selectNone:"Очистити вибір",selectionAll:"Обрати всі",sortTitle:"Сортувати",expand:"Розгорнути рядок",collapse:"Згорнути рядок",triggerDesc:"Сортувати за спаданням",triggerAsc:"Сортувати за зростанням",cancelSort:"Відмінити сортування"},Tour:{Next:"Далі",Previous:"Назад",Finish:"Завершити"},Modal:{okText:"Гаразд",cancelText:"Скасувати",justOkText:"Гаразд"},Popconfirm:{okText:"Гаразд",cancelText:"Скасувати"},Transfer:{titles:["",""],searchPlaceholder:"Введіть текст для пошуку",itemUnit:"елем.",itemsUnit:"елем.",remove:"Видалити",selectCurrent:"Вибрати поточну сторінку",removeCurrent:"Скасувати вибір на сторінці",selectAll:"Вибрати всі дані",removeAll:"Скасувати вибір",selectInvert:"Інвертувати поточну сторінку"},Upload:{uploading:"Завантаження ...",removeFile:"Видалити файл",uploadError:"Помилка завантаження",previewFile:"Попередній перегляд файлу",downloadFile:"Завантажити файл"},Empty:{description:"Даних немає"},Icon:{icon:"іконка"},Text:{edit:"Редагувати",copy:"Скопіювати",copied:"Скопійовано",expand:"Розширити"},Form:{optional:"(опціонально)",defaultValidateMessages:{default:"Помилка валідації для поля ${label}",required:"Будь ласка, заповніть ${label}",enum:"Лише одне зі значень [${enum}] доступне для ${label}",whitespace:"Значення у полі ${label} не може бути пробілом",date:{format:"Не валідний формат дати у ${label}",parse:"Значення ${label} не може бути приведене до дати",invalid:"Не валідна дата у ${label}"},types:{string:U1,method:U1,array:U1,object:U1,number:U1,date:U1,boolean:U1,integer:U1,float:U1,regexp:U1,email:U1,url:U1,hex:U1},string:{len:"${label} має містити ${len} символів",min:"${label} має містити не менш, ніж ${min} символів",max:"${label} має містити не більш, ніж ${max} символів",range:"${label} має містити ${min}-${max} символів"},number:{len:"${label} має дорівнювати ${len}",min:"${label} має бути не менш, ніж ${min}",max:"${label} має бути не більш, ніж ${max}",range:"${label} має бути в межах ${min}-${max}"},array:{len:"${label} має містити ${len} елементи",min:"${label} має містити не менш, ніж ${min} елементи",max:"${label} має містити не більш, ніж ${max} елементи",range:"Кількість елементів в ${label} має бути в межах ${min}-${max}"},pattern:{mismatch:"${label} не відповідає шаблону ${pattern}"}}},Image:{preview:"Попередній перегляд"},QRCode:{expired:"QR-код закінчився",refresh:"Оновити"}};eQe=Fye.default=nLn;const oLn=be.memo(()=>{const t=M.getState().language,e=n=>{M.getState().set(o=>{switch(o.language=n.target.value,o.language){case"zh_cn":o.locale=V$e;break;case"zh_tw":o.locale=J$e;break;case"es":o.locale=q$e;break;case"tr":o.locale=Q$e;break;case"ua":o.locale=eQe;break;default:o.locale=Npe}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Be.Group,{value:t,style:{height:"170px"},onChange:e,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:"en",children:Z5.English}),h.jsx(Be,{style:{width:"100%"},value:"es",children:Z5.Spanish}),h.jsx(Be,{style:{width:"100%"},value:"zh_cn",children:Z5.ChineseSimplified}),h.jsx(Be,{style:{width:"100%"},value:"zh_tw",children:Z5.ChineseTraditional}),h.jsx(Be,{style:{width:"100%"},value:"tr",children:Z5.Turkish}),h.jsx(Be,{style:{width:"100%"},value:"ua",children:Z5.Ukrainian})]})})})}),iLn=(t,e,n)=>{const o={lng:M.getState().language},i=()=>{ht.getState().set(l=>{l.showModelsGallery=!0,l.leaderboardFlag=!0,l.openModelsMap=!1})},r=()=>{ht.getState().set(l=>{l.modelsMapFlag=!0,l.modelsMapWeatherStations=!1,l.openModelsMap=!0,l.showModelsGallery=!1}),M.getState().loggable&&M.getState().set(l=>{l.actionInfo={name:"Open Models Map",timestamp:new Date().getTime()}})},a=[];return t&&!e&&a.push({key:"my-models",label:h.jsxs(tn,{noPadding:!0,onClick:i,children:[j.t("menu.ModelsGallery",o),"..."]})}),n||a.push({key:"models-map",label:h.jsxs(tn,{noPadding:!0,onClick:r,children:[j.t("menu.ModelsMap",o),"..."]})}),a},QG=()=>{const t=Ln.getState().orbitControlsRef;if(t!=null&&t.current){const e=Math.min(50,M.getState().sceneRadius*4);t.current.object.position.set(e,e,e),t.current.target.set(0,0,0),t.current.update(),M.getState().set(n=>{const o=n.viewState;o.cameraPosition=[e,e,e],o.panCenter=[0,0,0]})}},ZG=t=>{if(M.getState().viewState.orthographic){const e=M.getState().viewState.cameraZoom??20,n=e,o=e/t,i={name:"Zoom",timestamp:Date.now(),oldValue:n,newValue:o,undo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.oldValue})},redo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.newValue})}};M.getState().addUndoable(i),M.getState().set(r=>{r.viewState.cameraZoom=o})}else{const e=Ln.getState().orbitControlsRef;if(e!=null&&e.current){const n=e.current.object.position,o=n.x*t,i=n.y*t,r=n.z*t,a={name:"Zoom",timestamp:Date.now(),oldCameraPosition:[n.x,n.y,n.z],newCameraPosition:[o,i,r],undo:()=>{var u,d;const l=a.oldCameraPosition[0],s=a.oldCameraPosition[1],c=a.oldCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})},redo:()=>{var u,d;const l=a.newCameraPosition[0],s=a.newCameraPosition[1],c=a.newCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})}};M.getState().addUndoable(a),e.current.object.position.set(o,i,r),e.current.update(),M.getState().set(l=>{l.viewState.cameraPosition=[o,i,r]})}}},rLn=(t,e)=>{const n={lng:M.getState().language},o=M.getState().viewState.orthographic,i=M.getState().viewState.cameraPosition,r=M.getState().viewState.panCenter,a=i[0]===i[1]&&i[1]===i[2]&&r[0]===0&&r[1]===0&&r[2]===0,l=()=>{const C={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...i],oldPanCenter:[...r],undo:()=>{const P=Ln.getState().orbitControlsRef;P!=null&&P.current&&(P.current.object.position.set(C.oldCameraPosition[0],C.oldCameraPosition[1],C.oldCameraPosition[2]),P.current.target.set(C.oldPanCenter[0],C.oldPanCenter[1],C.oldPanCenter[2]),P.current.update(),M.getState().set(v=>{const T=v.viewState;T.cameraPosition=[...C.oldCameraPosition],T.panCenter=[...C.oldPanCenter]}))},redo:()=>{QG()}};M.getState().addUndoable(C),QG(),M.getState().set(P=>{P.objectTypeToAdd=z.None,P.groupActionMode=!1,P.viewState.orthographic=!1})},s=()=>{ZG(1.1)},c=()=>{ZG(.9)},u=C=>{const P=M.getState().setNavigationView,v={name:"Toggle Navigation View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{P(!v.checked)},redo:()=>{P(v.checked)}};M.getState().addUndoable(v),M.getState().set(T=>{T.viewState.autoRotate=!1}),P(C.target.checked)},d=C=>{const P=M.getState().set2DView,v={name:"Toggle 2D View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{P(!v.checked)},redo:()=>{P(v.checked)}};M.getState().addUndoable(v),P(C.target.checked),M.getState().set(T=>{T.viewState.autoRotate=!1})},f=C=>{if(!M.getState().viewState.orthographic){const P={name:"Auto Rotate",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!P.checked})},redo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=P.checked})}};M.getState().addUndoable(P),M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!v.viewState.autoRotate})}},p=C=>{const P=C.target.checked,v={name:"Show Axes",timestamp:Date.now(),checked:P,undo:()=>{M.getState().set(T=>{T.viewState.axes=!v.checked})},redo:()=>{M.getState().set(T=>{T.viewState.axes=v.checked})}};M.getState().addUndoable(v),M.getState().set(T=>{T.viewState.axes=P})},g=C=>{const P={name:"Show Shadow",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=!P.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},redo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=P.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})}};M.getState().addUndoable(P),M.getState().set(v=>{v.viewState.shadowEnabled=C.target.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},A=C=>{const P=C.target.checked?Jm:0,v={name:"Set Surface Shininess",timestamp:Date.now(),oldValue:M.getState().viewState.solarPanelShininess??Jm,newValue:P,undo:()=>{M.getState().set(T=>{T.viewState.solarPanelShininess=v.oldValue})},redo:()=>{M.getState().set(T=>{T.viewState.solarPanelShininess=v.newValue})}};M.getState().addUndoable(v),M.getState().set(T=>{T.viewState.solarPanelShininess=P})},w=C=>{const P=M.getState().floatingWindowOpacity,v=C.target.checked?m0:1,T={name:"Floating Window Opacity",timestamp:Date.now(),oldValue:P,newValue:v,undo:()=>{M.getState().set(y=>{y.floatingWindowOpacity=T.oldValue})},redo:()=>{M.getState().set(y=>{y.floatingWindowOpacity=T.newValue})}};M.getState().addUndoable(T),M.getState().set(y=>{y.floatingWindowOpacity=v})},b=[];return!o&&!a&&b.push({key:"reset-view",label:h.jsxs(tn,{onClick:l,children:[j.t("menu.view.ResetView",n),h.jsxs(nh,{children:["(",t,")"]})]})}),b.push({key:"zoom-out-view",label:h.jsxs(tn,{onClick:s,children:[j.t("menu.view.ZoomOut",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+])"]})]})}),b.push({key:"zoom-in-view",label:h.jsxs(tn,{onClick:c,children:[j.t("menu.view.ZoomIn",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+[)"]})]})}),b.push({key:"navigation-view-check-box",label:h.jsxs(a2,{selector:hq,onChange:u,children:[j.t("menu.view.NavigationView",n),h.jsxs(nh,{children:["(",Goe,"+Q)"]})]})}),b.push({key:"orthographic-check-box",label:h.jsxs(a2,{selector:hu,onChange:d,children:[j.t("menu.view.TwoDimensionalView",n),h.jsxs(nh,{children:["(",Goe,"+B)"]})]})}),o||b.push({key:"auto-rotate-check-box",label:h.jsxs(a2,{selector:vBe,onChange:f,children:[j.t("menu.view.AutoRotate",n),h.jsxs(nh,{children:["(",Goe,"+M)"]})]})}),b.push({key:"axes-check-box",label:h.jsx(a2,{selector:Y1e,onChange:p,children:j.t("skyMenu.Axes",n)})}),b.push({key:"shadow-check-box",label:h.jsx(a2,{selector:ss,onChange:g,children:j.t("menu.view.ShowShadow",n)})}),b.push({key:"shininess-check-box",label:h.jsx(a2,{selector:C=>C.viewState.solarPanelShininess===void 0||C.viewState.solarPanelShininess>0,onChange:A,children:j.t("menu.view.ShowSurfaceShininess",n)})}),b.push({key:"translucency-check-box",label:h.jsx(a2,{selector:C=>C.floatingWindowOpacity<1,onChange:w,children:j.t("menu.view.TranslucentFloatingWindows",n)})}),b},aLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=M.getState().viewState.showHeliodonPanel,i=M.getState().viewState.showMapPanel,r=M.getState().viewState.showWeatherPanel,a=M.getState().viewState.showDiurnalTemperaturePanel,l=ht.getState().showEconomicsPanel,s=ht.getState().showNavigationPanel,c=ht.getState().showShadowSettings,u=M.getState().loggable,d=()=>{const P={name:"Open Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showHeliodonPanel=!1})},redo:()=>{e(v=>{v.viewState.showHeliodonPanel=!0})}};n(P),e(v=>{v.viewState.showHeliodonPanel=!0,v.selectedFloatingWindow="heliodonPanel"})},f=()=>{const P={name:"Open Maps",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showMapPanel=!1})},redo:()=>{e(v=>{v.viewState.showMapPanel=!0})}};n(P),e(v=>{v.viewState.showMapPanel=!0,v.selectedFloatingWindow="mapPanel"})},p=()=>{const P={name:"Open Weather Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showWeatherPanel=!1})},redo:()=>{e(v=>{v.viewState.showWeatherPanel=!0})}};n(P),e(v=>{v.viewState.showWeatherPanel=!0,v.selectedFloatingWindow="weatherPanel"})},g=()=>{const P={name:"Open Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!1})},redo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!0})}};n(P),e(v=>{v.viewState.showDiurnalTemperaturePanel=!0,v.selectedFloatingWindow="diurnalTemperaturePanel"})},A=()=>{ht.getState().set(P=>{P.showEconomicsPanel=!0}),u&&e(P=>{P.actionInfo={name:"Open Economics Panel",timestamp:new Date().getTime()}})},w=()=>{ht.getState().set(P=>{P.showNavigationPanel=!0}),u&&e(P=>{P.actionInfo={name:"Open Navigation Panel",timestamp:new Date().getTime()}})},b=()=>{ht.getState().set(P=>{P.showShadowSettings=!0}),u&&e(P=>{P.actionInfo={name:"Open Shadow Settings",timestamp:new Date().getTime()}})},C=[];return o||C.push({key:"sun-time",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[j.t("menu.settings.SunAndTime",t),"..."]})}),i||C.push({key:"show-map-panel",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[j.t("word.Location",t),"..."]})}),r||C.push({key:"weather-panel",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[j.t("menu.settings.WeatherData",t),"..."]})}),a||C.push({key:"diurnal-temperature-panel",label:h.jsxs(tn,{noPadding:!0,onClick:g,children:[j.t("menu.settings.DiurnalTemperature",t),"..."]})}),l||C.push({key:"economics-panel",label:h.jsxs(tn,{noPadding:!0,onClick:A,children:[j.t("economicsPanel.EconomicsParameters",t),"..."]})}),s||C.push({key:"navigation-panel",label:h.jsxs(tn,{noPadding:!0,onClick:w,children:[j.t("navigationPanel.NavigationParameters",t),"..."]})}),c||C.push({key:"shadow-settings",label:h.jsxs(tn,{noPadding:!0,onClick:b,children:[j.t("shadowSettingsPanel.ShadowSettings",t),"..."]})}),C},lLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=s=>{const c=s.target.checked,u={name:"Show Site Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showSiteInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showSiteInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showSiteInfoPanel=c})},i=s=>{const c=s.target.checked,u={name:"Show Design Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showDesignInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showDesignInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showDesignInfoPanel=!d.viewState.showDesignInfoPanel})},r=s=>{const c={name:"Show Instruction Panel",timestamp:Date.now(),checked:s.target.checked,undo:()=>{e(u=>{u.viewState.showInstructionPanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showInstructionPanel=c.checked})}};n(c),e(u=>{u.viewState.showInstructionPanel=!u.viewState.showInstructionPanel})},a=s=>{const c={name:"Show Sticky Note",timestamp:Date.now(),checked:s.target.value,undo:()=>{e(u=>{u.viewState.showStickyNotePanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showStickyNotePanel=c.checked})}};n(c),e(u=>{u.viewState.showStickyNotePanel=!u.viewState.showStickyNotePanel})};return[{key:"site-info-panel-check-box",label:h.jsx(a2,{selector:_1e,onChange:o,children:j.t("menu.view.accessories.SiteInformation",t)})},{key:"design-info-panel-check-box",label:h.jsx(a2,{selector:mq,onChange:i,children:j.t("menu.view.accessories.DesignInformation",t)})},{key:"instruction-panel-check-box",label:h.jsx(a2,{selector:RBe,onChange:r,children:j.t("menu.view.accessories.Instruction",t)})},{key:"sticky-note-panel-check-box",label:h.jsx(a2,{selector:MBe,onChange:a,children:j.t("menu.view.accessories.StickyNote",t)})}]};var tg=(t=>(t[t.NO_BUILDING=3]="NO_BUILDING",t[t.AT_LEAST_ONE_BAD_NO_GOOD=2]="AT_LEAST_ONE_BAD_NO_GOOD",t[t.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD=1]="AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD",t[t.OK=0]="OK",t))(tg||{});const aO=50,eX=(t,e,n)=>{if(e(z.Foundation)===0)return{status:3};let i=!1,r=!1,a;for(const l of t)if(l.type===z.Foundation){const s=l;if(s.notBuilding)continue;if(n(z.Wall,s.id).length>0){const u=xe.getBuildingCompletionStatus(s,t);u===Uc.COMPLETE?i=!0:(r=!0,a=u)}else r=!0}return r&&!i?{status:2,buildingCompletion:a}:r&&i?{status:1}:{status:0}},G8=t=>{if(!t.color)return .5;const e=t.color.toLowerCase();if(e==="white")return .05;if(e==="black")return .95;const n=parseInt(t.color.substring(1),16),o=n>>16&255,i=n>>8&255,r=n&255;let a=Math.min(o,i);a=Math.min(a,r);let l=Math.max(o,i);return l=Math.max(l,r),Math.min(.95,Math.max(.05,1-(a+l)/510))},lO=(t,e,n,o)=>e<0&&t.low>=n-o||e>0&&t.high<=n+o?0:e,Xx=(t,e,n,o,i,r)=>{if(n===d2.Sinusoidal)return .5*(t+e)-.5*(t-e)*Math.cos(Mue*(r-(o-720)));const a=.5*(t+e),l=.5*(t-e),s=i.daylight();if(r>i.sunrise&&ri.sunset){const p=r-i.sunset;return e+(u-e)*Math.exp(-d*p/c)}const f=r+23*60-i.sunset;return e+(u-e)*Math.exp(-d*f/c)},Jx=(t,e,n)=>{const o=t.getFullYear(),i=t.getMonth(),r=t.getDate(),l=xe.daysOfMonth(i,o)/2;let s,c,u;if(r11&&(c=0);const p=xe.daysOfMonth(c,o)/2,g=l+p;u=(r-l)/g}const d=e[s]+(e[c]-e[s])*u,f=n[s]+(n[c]-n[s])*u;return{low:d,high:f}},sLn=(t,e,n,o,i,r)=>{const a=n.length;let l=0,s=-1e3,c=1e3,u=-1e3,d=1e3;for(let g=0;go[g]&&(c=o[g]),d>n[g]&&(d=n[g]);l/=2*a;const f=.25*(s-c+u-d),p=r*Math.sqrt(Sre/(2*i));return t>0?l-f*Math.exp(-p)*Math.cos(Sre*(e-Zbe)-p):l-f*Math.exp(-p)*Math.cos(Math.PI+Sre*(e-Zbe)-p)},tQe=(t,e,n,o,i,r,a,l,s)=>sLn(t,e,o,i,l,s)-Math.exp(-s*Math.sqrt(Mue/(2*l)))*a*Math.cos(Mue*(n-(r-720)-p$t)),{Option:X8}=Yo,WQ=be.memo(({type:t})=>{const e=M(WBe),n=M(s4t),o=M(u4t),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.option.SamplingFrequency",i)+":"}),h.jsxs(Yo,{style:{width:"72px"},value:r??4,onChange:a=>{M.getState().set(l=>{switch(t){case Ql.CSP:l.world.cspTimesPerHour=a;break;case Ql.SUT:l.world.sutTimesPerHour=a;break;default:l.world.timesPerHour=a;break}})},children:[h.jsx(X8,{value:1,children:"1"},1),h.jsx(X8,{value:2,children:"2"},2),h.jsx(X8,{value:3,children:"3"},3),h.jsx(X8,{value:4,children:"4"},4),h.jsx(X8,{value:6,children:"6"},6),h.jsx(X8,{value:12,children:"12"},12),h.jsx(X8,{value:30,children:"30"},30)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("menu.option.TimesPerHour",i)})]})}),{Option:Wre}=Yo,NQ=be.memo(({type:t})=>{const e=M(mH),n=M(qL),o=M(UBe),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsxs(Yo,{style:{marginLeft:"150px",width:"72px"},value:r??6,onChange:a=>{switch(t){case Ql.BUILDING:M.getState().set(l=>{l.world.daysPerYear=a});break;case Ql.PV:M.getState().set(l=>{l.world.daysPerYear=a}),Sn.setState({yearlyPvYield:[]});break;case Ql.CSP:M.getState().set(l=>{l.world.cspDaysPerYear=a}),Sn.setState({yearlyParabolicTroughYield:[],yearlyParabolicDishYield:[],yearlyFresnelReflectorYield:[],yearlyHeliostatYield:[]});break;case Ql.SUT:M.getState().set(l=>{l.world.sutDaysPerYear=a}),Sn.setState({yearlyUpdraftTowerYield:[]});break}},children:[h.jsx(Wre,{value:4,children:"4"},4),h.jsx(Wre,{value:6,children:"6"},6),h.jsx(Wre,{value:12,children:"12"},12)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("menu.option.DaysPerYear",i)})]})}),uN=be.memo(({type:t})=>{const e=M(r4t),n=M(a4t),o=M(c4t),i=M(d4t),r=Kt(),a=m.useMemo(()=>{switch(t){case Ql.PV:return n;case Ql.CSP:return o;case Ql.SUT:return i;default:return e}},[t,n,o,i,e]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.option.GridCellSize",r)+":"}),h.jsx(Hn,{min:.1,max:5,step:.05,style:{width:72},precision:2,value:a??.5,onChange:l=>{l!==null&&M.getState().set(s=>{switch(t){case Ql.PV:s.world.pvGridCellSize=l;break;case Ql.CSP:s.world.cspGridCellSize=l;break;case Ql.SUT:s.world.sutGridCellSize=l;break;default:s.world.solarRadiationHeatmapGridCellSize=l;break}})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("word.MeterAbbreviation",r)})]})}),cLn=()=>[{key:"building-energy-simulation-sampling-frequency",label:h.jsx(WQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-sampling-days",label:h.jsx(NQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}],{Option:TTe}=Yo,uLn=be.memo(()=>{const t=Kt(),e=M(i4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.solarPanel.PanelDiscretization",t)+":"}),h.jsxs(Yo,{style:{width:"165px"},value:e??Hm.APPROXIMATE,onChange:n=>{M.getState().set(o=>{o.world.discretization=n})},children:[h.jsx(TTe,{value:Hm.EXACT,children:j.t("menu.solarPanel.Exact",t)},Hm.EXACT),h.jsx(TTe,{value:Hm.APPROXIMATE,children:j.t("menu.solarPanel.Approximate",t)},Hm.APPROXIMATE)]})]})}),dLn=be.memo(()=>{const t=Kt(),e=M(K1e);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:j.t("menu.solarPanel.SolarPanelSimulationNoAnimation",t)+":"}),h.jsx(wc,{checked:e,onChange:n=>{M.getState().set(o=>{o.world.noAnimationForSolarPanelSimulation=n})}})]})}),fLn=t=>{const e=M.getState().world.discretization,n=[{key:"solar-panel-simulation-sampling-frequency",label:h.jsx(WQ,{type:Ql.PV})},{key:"solar-panel-simulation-sampling-days",label:h.jsx(NQ,{type:Ql.PV})},{key:"solar-panel-discretization",label:h.jsx(uLn,{})}];return(!e||e===Hm.APPROXIMATE)&&n.push({key:"solar-panel-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.PV})}),t||n.push({key:"solar-panel-simulation-no-animation",label:h.jsx(dLn,{})}),n},sO=t=>[{key:`${t}-simulation-sampling-frequency`,label:h.jsx(WQ,{type:Ql.CSP})},{key:`${t}-simulation-sampling-days`,label:h.jsx(NQ,{type:Ql.CSP})},{key:`${t}-simulation-grid-cell-size`,label:h.jsx(uN,{type:Ql.CSP})}],hLn=be.memo(()=>{const t=Kt(),e=M(wf);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:j.t("menu.physics.SolarRadiationHeatmapMaxValue",t)+":"}),h.jsx(Hn,{min:.5,max:50,step:.5,style:{width:60},precision:1,value:e??5,onChange:n=>{M.getState().set(o=>{n!==null&&(o.viewState.solarRadiationHeatMapMaxValue=n)})}})]})}),pLn=be.memo(()=>{const t=Kt(),e=M(WBe);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.option.SamplingFrequency",t)+":"}),h.jsx(Hn,{min:1,max:60,step:1,style:{width:60},precision:0,value:e,formatter:n=>Number(n).toFixed(0),onChange:n=>{n!==null&&M.getState().set(o=>{o.world.timesPerHour=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("menu.option.TimesPerHour",t)})]})}),gLn=be.memo(()=>{const t=Kt(),e=M(l4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{paddingRight:"10px"},children:j.t("menu.solarPanel.VisibilityGridCellSize",t)+":"}),h.jsx(Hn,{min:.1,max:5,step:.1,style:{width:60},precision:1,value:e??.2,onChange:n=>{n!==null&&M.getState().set(o=>{o.world.solarPanelVisibilityGridCellSize=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("word.MeterAbbreviation",t)})]})}),mLn=()=>[{key:"sut-simulation-sampling-frequency",label:h.jsx(WQ,{type:Ql.SUT})},{key:"sut-simulation-sampling-days",label:h.jsx(NQ,{type:Ql.SUT})},{key:"sut-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.SUT})}],yLn=t=>{const e={lng:M.getState().language},n=ht.getState().setPrimitiveStore,o=M.getState().set,i=M.getState().selectNone,r=M.getState().countElementsByType,a=M.getState().countHeatmapCells,l=ht.getState().runDynamicSimulation,s=ht.getState().runStaticSimulation,c=M.getState().world.noAnimationForHeatmapSimulation,u=M.getState().elements,d=M.getState().loggable,f=xe.hasMovingParts(u),p=[],g=()=>{s||hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runStaticSimulation",!s),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()}})},100)},A=()=>{l||hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runDynamicSimulation",!l),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()}})},100)},w=()=>{a()>tUe?_r.confirm({title:j.t("message.CalculationMayBeSlowDoYouWantToContinue",e)+" ("+j.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",e)+")",icon:h.jsx(WW,{}),onOk:()=>{b()},onCancel:()=>{},okText:`${j.t("word.Yes",e)}`,cancelText:`${j.t("word.No",e)}`}):b()},b=()=>{!c||f?A():g()},C=()=>{if(r(z.Sensor)===0){hn(j.t("analysisManager.NoSensorForCollectingData",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(O=>{O.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()}}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailyLightSensor=!0})},100)},P=()=>{if(r(z.Sensor)===0){hn(j.t("analysisManager.NoSensorForCollectingData",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(O=>{O.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()}}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlyLightSensor=!0})},100)},v=()=>{const Y=eX(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let O;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:O=j.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:O=j.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:O=j.t("message.BuildingRoofMissing",e);break;default:O=j.t("message.UnknownErrors",e)}Do(j.t("message.SimulationWillNotStartDueToErrors",e)+": "+O);return}Y.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",e)),hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),d&&o(O=>{O.actionInfo={name:"Analyze Daily Building Energy",timestamp:new Date().getTime()}}),ht.getState().set(O=>{O.runDailyThermalSimulation=!0,O.simulationInProgress=!0})},100)},T=()=>{const Y=eX(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let O;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:O=j.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:O=j.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:O=j.t("message.BuildingRoofMissing",e);break;default:O=j.t("message.UnknownErrors",e)}Do(j.t("message.SimulationWillNotStartDueToErrors",e)+": "+O);return}Y.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",e)),hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),ht.getState().set(O=>{O.runYearlyThermalSimulation=!0,O.simulationInProgress=!0}),d&&o(O=>{O.actionInfo={name:"Analyze Yearly Building Energy",timestamp:new Date().getTime()}})},100)},y=()=>{if(r(z.SolarPanel)===0){hn(j.t("analysisManager.NoSolarPanelForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyPvIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForSolarPanels=!0})},100)},S=()=>{if(r(z.SolarPanel)===0){hn(j.t("analysisManager.NoSolarPanelForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyPvIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForSolarPanels=!0})},100)},x=()=>{if(M.getState().countObservers()===0){hn(j.t("analysisManager.NoObserverForVisibilityAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{ht.getState().set(O=>{O.runSolarPanelVisibilityAnalysis=!O.runSolarPanelVisibilityAnalysis,O.simulationInProgress=!0}),d&&o(O=>{O.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()}})},100)},R=()=>{if(r(z.ParabolicTrough)===0){hn(j.t("analysisManager.NoParabolicTroughForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyParabolicTroughIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForParabolicTroughs=!0})},100)},H=()=>{if(r(z.ParabolicTrough)===0){hn(j.t("analysisManager.NoParabolicTroughForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyParabolicTroughIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForParabolicTroughs=!0})},100)},D=()=>{if(r(z.ParabolicDish)===0){hn(j.t("analysisManager.NoParabolicDishForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyParabolicDishIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForParabolicDishes=!0})},100)},k=()=>{if(r(z.ParabolicDish)===0){hn(j.t("analysisManager.NoParabolicDishForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyParabolicDishIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForParabolicDishes=!0})},100)},W=()=>{if(r(z.FresnelReflector)===0){hn(j.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyFresnelReflectorIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForFresnelReflectors=!0})},100)},N=()=>{if(r(z.FresnelReflector)===0){hn(j.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyFresnelReflectorIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForFresnelReflectors=!0})},100)},L=()=>{if(r(z.Heliostat)===0){hn(j.t("analysisManager.NoHeliostatForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyHeliostatIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForHeliostats=!0})},100)},E=()=>{if(r(z.Heliostat)===0){hn(j.t("analysisManager.NoHeliostatForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyHeliostatIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForHeliostats=!0})},100)},U=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){hn(j.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyUpdraftTowerIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForUpdraftTower=!0})},100)},F=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){hn(j.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyUpdraftTowerIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForUpdraftTower=!0})},100)},B=[];B.push({key:"solar-radiation-heatmap-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}),B.push({key:"solar-radiation-heatmap-max-value",label:h.jsx(hLn,{})}),xe.hasHeliostatOrFresnelReflectors(u)&&B.push({key:"solar-radiation-heatmap-reflection-only",label:h.jsx(Ere,{selector:j1e,onChange:Y=>{M.getState().set(O=>{O.world.noAnimationForHeatmapSimulation=Y})},children:j.t("menu.physics.ReflectionHeatmap",e)+":"})}),f||B.push({key:"solar-radiation-heatmap-no-animation",label:h.jsx(Ere,{selector:X1e,onChange:Y=>{M.getState().set(O=>{O.world.noAnimationForHeatmapSimulation=Y})},children:j.t("menu.physics.SolarRadiationHeatmapNoAnimation",e)+":"})}),p.push({key:"physics-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.physicsSubMenu",e)}),children:[{key:"daily-solar-radiation-heatmap",label:h.jsx(tn,{noPadding:!0,onClick:w,children:j.t("menu.physics.DailySolarRadiationHeatmap",e)})},{key:"solar-radiation-heatmap-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.physics.SolarRadiationHeatmapOptions",e)}),children:B}]});const _=[];return _.push({key:"sensor-simulation-sampling-frequency",label:h.jsx(pLn,{})}),f||_.push({key:"sensor-simulation-no-animation",label:h.jsx(Ere,{selector:J1e,onChange:Y=>{M.getState().set(O=>{O.world.noAnimationForSensorDataCollection=Y})},children:j.t("menu.sensor.SensorSimulationNoAnimation",e)+":"})}),t.sensorCount>0&&p.push({key:"sensor-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.sensorSubMenu",e)}),children:[{key:"sensor-collect-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:C,children:j.t("menu.sensor.CollectDailyData",e)})},{key:"sensor-collect-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:P,children:j.t("menu.sensor.CollectYearlyData",e)})},{key:"sensor-simulation-options-submenu-2",label:h.jsx(tn,{noPadding:!0,children:j.t("word.Options",e)}),children:_}]}),t.wallCount>0&&p.push({key:"buildings-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingSubMenu",e)}),children:[{key:"building-energy-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:v,children:j.t("menu.building.AnalyzeDailyBuildingEnergy",e)})},{key:"building-energy-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:T,children:j.t("menu.building.AnalyzeYearlyBuildingEnergy",e)})},{key:"building-energy-analysis-options-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.building.EnergyAnalysisOptions",e)}),children:cLn()}]}),t.solarPanelCount>0&&p.push({key:"solar-panels-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarPanelSubMenu",e)}),children:[{key:"solar-panel-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:y,children:j.t("menu.solarPanel.AnalyzeDailyYield",e)})},{key:"solar-panel-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:S,children:j.t("menu.solarPanel.AnalyzeYearlyYield",e)})},{key:"solar-panel-energy-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarPanel.EnergyAnalysisOptions",e)}),children:fLn(f)},{key:"solar-panel-visibility",label:h.jsx(tn,{noPadding:!0,onClick:x,children:j.t("menu.solarPanel.AnalyzeVisibility",e)})},{key:"solar-panel-visibility-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarPanel.VisibilityAnalysisOptions",e)}),children:[{key:"solar-panel-visibility-grid-cell-size",label:h.jsx(gLn,{})}]}]}),t.parabolicTroughCount>0&&p.push({key:"parabolic-troughs-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.parabolicTroughSubMenu",e)}),children:[{key:"parabolic-trough-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:R,children:j.t("menu.parabolicTrough.AnalyzeDailyYield",e)})},{key:"parabolic-trough-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:H,children:j.t("menu.parabolicTrough.AnalyzeYearlyYield",e)})},{key:"parabolic-trough-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("parabolic-trough")}]}),t.parabolicDishCount>0&&p.push({key:"parabolic-dishes-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.parabolicDishSubMenu",e)}),children:[{key:"parabolic-dish-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:D,children:j.t("menu.parabolicDish.AnalyzeDailyYield",e)})},{key:"parabolic-dish-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:k,children:j.t("menu.parabolicDish.AnalyzeYearlyYield",e)})},{key:"parabolic-dish-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("parabolic-dish")}]}),t.fresnelReflectorCount>0&&p.push({key:"fresnel-reflector-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.fresnelReflectorSubMenu",e)}),children:[{key:"fresnel-reflector-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:W,children:j.t("menu.fresnelReflector.AnalyzeDailyYield",e)})},{key:"fresnel-reflector-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:N,children:j.t("menu.fresnelReflector.AnalyzeYearlyYield",e)})},{key:"fresnel-reflector-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("fresnel-reflector")}]}),t.heliostatCount>0&&p.push({key:"heliostat-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.heliostatSubMenu",e)}),children:[{key:"heliostat-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:L,children:j.t("menu.heliostat.AnalyzeDailyYield",e)})},{key:"heliostat-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:E,children:j.t("menu.heliostat.AnalyzeYearlyYield",e)})},{key:"heliostat-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("heliostat-analysis")}]}),t.solarUpdraftTowerCount>0&&p.push({key:"solar-updraft-tower-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarUpdraftTowerSubMenu",e)}),children:[{key:"solar-updraft-tower-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:U,children:j.t("menu.solarUpdraftTower.AnalyzeDailyYield",e)})},{key:"solar-updraft-tower-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:F,children:j.t("menu.solarUpdraftTower.AnalyzeYearlyYield",e)})},{key:"solar-updraft-tower-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:mLn()}]}),p};/** +`,t.getElementsByTagName("head")[0].appendChild(e)),t.body&&L$e(t.body,"react-draggable-transparent-selection")}function Akn(t){if(t)try{if(t.body&&W$e(t.body,"react-draggable-transparent-selection"),t.selection)t.selection.empty();else{const e=(t.defaultView||window).getSelection();e&&e.type!=="Caret"&&e.removeAllRanges()}}catch{}}function L$e(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)")))||(t.className+=" ".concat(e))}function W$e(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g"),"")}var u3={};Object.defineProperty(u3,"__esModule",{value:!0});u3.canDragX=xkn;u3.canDragY=bkn;u3.createCoreData=Tkn;u3.createDraggableData=Pkn;u3.getBoundPosition=wkn;u3.getControlPosition=Skn;u3.snapToGrid=vkn;var _1=c3,qP=y0;function wkn(t,e,n){if(!t.props.bounds)return[e,n];let{bounds:o}=t.props;o=typeof o=="string"?o:Ckn(o);const i=Mye(t);if(typeof o=="string"){const{ownerDocument:r}=i,a=r.defaultView;let l;if(o==="parent"?l=i.parentNode:l=r.querySelector(o),!(l instanceof a.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');const s=l,c=a.getComputedStyle(i),u=a.getComputedStyle(s);o={left:-i.offsetLeft+(0,_1.int)(u.paddingLeft)+(0,_1.int)(c.marginLeft),top:-i.offsetTop+(0,_1.int)(u.paddingTop)+(0,_1.int)(c.marginTop),right:(0,qP.innerWidth)(s)-(0,qP.outerWidth)(i)-i.offsetLeft+(0,_1.int)(u.paddingRight)-(0,_1.int)(c.marginRight),bottom:(0,qP.innerHeight)(s)-(0,qP.outerHeight)(i)-i.offsetTop+(0,_1.int)(u.paddingBottom)-(0,_1.int)(c.marginBottom)}}return(0,_1.isNum)(o.right)&&(e=Math.min(e,o.right)),(0,_1.isNum)(o.bottom)&&(n=Math.min(n,o.bottom)),(0,_1.isNum)(o.left)&&(e=Math.max(e,o.left)),(0,_1.isNum)(o.top)&&(n=Math.max(n,o.top)),[e,n]}function vkn(t,e,n){const o=Math.round(e/t[0])*t[0],i=Math.round(n/t[1])*t[1];return[o,i]}function xkn(t){return t.props.axis==="both"||t.props.axis==="x"}function bkn(t){return t.props.axis==="both"||t.props.axis==="y"}function Skn(t,e,n){const o=typeof e=="number"?(0,qP.getTouch)(t,e):null;if(typeof e=="number"&&!o)return null;const i=Mye(n),r=n.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,qP.offsetXYFromParent)(o||t,r,n.props.scale)}function Tkn(t,e,n){const o=!(0,_1.isNum)(t.lastX),i=Mye(t);return o?{node:i,deltaX:0,deltaY:0,lastX:e,lastY:n,x:e,y:n}:{node:i,deltaX:e-t.lastX,deltaY:n-t.lastY,lastX:t.lastX,lastY:t.lastY,x:e,y:n}}function Pkn(t,e){const n=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/n,y:t.state.y+e.deltaY/n,deltaX:e.deltaX/n,deltaY:e.deltaY/n,lastX:t.state.x,lastY:t.state.y}}function Ckn(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function Mye(t){const e=t.findDOMNode();if(!e)throw new Error(": Unmounted during event!");return e}var pQ={},gQ={};Object.defineProperty(gQ,"__esModule",{value:!0});gQ.default=Rkn;function Rkn(){}Object.defineProperty(pQ,"__esModule",{value:!0});pQ.default=void 0;var Fre=Mkn(m),Rp=Iye(fq),Hkn=Iye(Td),Of=y0,S4=u3,Lre=c3,kz=Iye(gQ);function Iye(t){return t&&t.__esModule?t:{default:t}}function N$e(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(N$e=function(o){return o?n:e})(t)}function Mkn(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var n=N$e(e);if(n&&n.has(t))return n.get(t);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)){var a=i?Object.getOwnPropertyDescriptor(t,r):null;a&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=t[r]}return o.default=t,n&&n.set(t,o),o}function Yh(t,e,n){return e=Ikn(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ikn(t){var e=zkn(t,"string");return typeof e=="symbol"?e:String(e)}function zkn(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const Jy={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let T4=Jy.mouse,mQ=class extends Fre.Component{constructor(){super(...arguments),Yh(this,"dragging",!1),Yh(this,"lastX",NaN),Yh(this,"lastY",NaN),Yh(this,"touchIdentifier",null),Yh(this,"mounted",!1),Yh(this,"handleDragStart",e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button=="number"&&e.button!==0)return!1;const n=this.findDOMNode();if(!n||!n.ownerDocument||!n.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:o}=n;if(this.props.disabled||!(e.target instanceof o.defaultView.Node)||this.props.handle&&!(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.handle,n)||this.props.cancel&&(0,Of.matchesSelectorAndParentsTo)(e.target,this.props.cancel,n))return;e.type==="touchstart"&&e.preventDefault();const i=(0,Of.getTouchIdentifier)(e);this.touchIdentifier=i;const r=(0,S4.getControlPosition)(e,i,this);if(r==null)return;const{x:a,y:l}=r,s=(0,S4.createCoreData)(this,a,l);(0,kz.default)("DraggableCore: handleDragStart: %j",s),(0,kz.default)("calling",this.props.onStart),!(this.props.onStart(e,s)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,Of.addUserSelectStyles)(o),this.dragging=!0,this.lastX=a,this.lastY=l,(0,Of.addEvent)(o,T4.move,this.handleDrag),(0,Of.addEvent)(o,T4.stop,this.handleDragStop))}),Yh(this,"handleDrag",e=>{const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let l=o-this.lastX,s=i-this.lastY;if([l,s]=(0,S4.snapToGrid)(this.props.grid,l,s),!l&&!s)return;o=this.lastX+l,i=this.lastY+s}const r=(0,S4.createCoreData)(this,o,i);if((0,kz.default)("DraggableCore: handleDrag: %j",r),this.props.onDrag(e,r)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const s=document.createEvent("MouseEvents");s.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(s)}return}this.lastX=o,this.lastY=i}),Yh(this,"handleDragStop",e=>{if(!this.dragging)return;const n=(0,S4.getControlPosition)(e,this.touchIdentifier,this);if(n==null)return;let{x:o,y:i}=n;if(Array.isArray(this.props.grid)){let s=o-this.lastX||0,c=i-this.lastY||0;[s,c]=(0,S4.snapToGrid)(this.props.grid,s,c),o=this.lastX+s,i=this.lastY+c}const r=(0,S4.createCoreData)(this,o,i);if(this.props.onStop(e,r)===!1||this.mounted===!1)return!1;const l=this.findDOMNode();l&&this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(l.ownerDocument),(0,kz.default)("DraggableCore: handleDragStop: %j",r),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,l&&((0,kz.default)("DraggableCore: Removing handlers"),(0,Of.removeEvent)(l.ownerDocument,T4.move,this.handleDrag),(0,Of.removeEvent)(l.ownerDocument,T4.stop,this.handleDragStop))}),Yh(this,"onMouseDown",e=>(T4=Jy.mouse,this.handleDragStart(e))),Yh(this,"onMouseUp",e=>(T4=Jy.mouse,this.handleDragStop(e))),Yh(this,"onTouchStart",e=>(T4=Jy.touch,this.handleDragStart(e))),Yh(this,"onTouchEnd",e=>(T4=Jy.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,Of.addEvent)(e,Jy.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:n}=e;(0,Of.removeEvent)(n,Jy.mouse.move,this.handleDrag),(0,Of.removeEvent)(n,Jy.touch.move,this.handleDrag),(0,Of.removeEvent)(n,Jy.mouse.stop,this.handleDragStop),(0,Of.removeEvent)(n,Jy.touch.stop,this.handleDragStop),(0,Of.removeEvent)(e,Jy.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,Of.removeUserSelectStyles)(n)}}findDOMNode(){var e,n;return(e=this.props)!==null&&e!==void 0&&e.nodeRef?(n=this.props)===null||n===void 0||(n=n.nodeRef)===null||n===void 0?void 0:n.current:Hkn.default.findDOMNode(this)}render(){return Fre.cloneElement(Fre.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};pQ.default=mQ;Yh(mQ,"displayName","DraggableCore");Yh(mQ,"propTypes",{allowAnyClick:Rp.default.bool,children:Rp.default.node.isRequired,disabled:Rp.default.bool,enableUserSelectHack:Rp.default.bool,offsetParent:function(t,e){if(t[e]&&t[e].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:Rp.default.arrayOf(Rp.default.number),handle:Rp.default.string,cancel:Rp.default.string,nodeRef:Rp.default.object,onStart:Rp.default.func,onDrag:Rp.default.func,onStop:Rp.default.func,onMouseDown:Rp.default.func,scale:Rp.default.number,className:Lre.dontSetMe,style:Lre.dontSetMe,transform:Lre.dontSetMe});Yh(mQ,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return s.default}}),t.default=void 0;var e=f(m),n=u(fq),o=u(Td),i=u(qEn),r=y0,a=u3,l=c3,s=u(pQ),c=u(gQ);function u(C){return C&&C.__esModule?C:{default:C}}function d(C){if(typeof WeakMap!="function")return null;var P=new WeakMap,v=new WeakMap;return(d=function(T){return T?v:P})(C)}function f(C,P){if(C&&C.__esModule)return C;if(C===null||typeof C!="object"&&typeof C!="function")return{default:C};var v=d(P);if(v&&v.has(C))return v.get(C);var T={},y=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var S in C)if(S!=="default"&&Object.prototype.hasOwnProperty.call(C,S)){var x=y?Object.getOwnPropertyDescriptor(C,S):null;x&&(x.get||x.set)?Object.defineProperty(T,S,x):T[S]=C[S]}return T.default=C,v&&v.set(C,T),T}function p(){return p=Object.assign?Object.assign.bind():function(C){for(var P=1;P{if((0,c.default)("Draggable: onDragStart: %j",T),this.props.onStart(v,(0,a.createDraggableData)(this,T))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(v,T)=>{if(!this.state.dragging)return!1;(0,c.default)("Draggable: onDrag: %j",T);const y=(0,a.createDraggableData)(this,T),S={x:y.x,y:y.y,slackX:0,slackY:0};if(this.props.bounds){const{x:R,y:H}=S;S.x+=this.state.slackX,S.y+=this.state.slackY;const[D,k]=(0,a.getBoundPosition)(this,S.x,S.y);S.x=D,S.y=k,S.slackX=this.state.slackX+(R-S.x),S.slackY=this.state.slackY+(H-S.y),y.x=S.x,y.y=S.y,y.deltaX=S.x-this.state.x,y.deltaY=S.y-this.state.y}if(this.props.onDrag(v,y)===!1)return!1;this.setState(S)}),g(this,"onDragStop",(v,T)=>{if(!this.state.dragging||this.props.onStop(v,(0,a.createDraggableData)(this,T))===!1)return!1;(0,c.default)("Draggable: onDragStop: %j",T);const S={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:R,y:H}=this.props.position;S.x=R,S.y=H}this.setState(S)}),this.state={dragging:!1,dragged:!1,x:P.position?P.position.x:P.defaultPosition.x,y:P.position?P.position.y:P.defaultPosition.y,prevPropsPosition:{...P.position},slackX:0,slackY:0,isElementSVG:!1},P.position&&!(P.onDrag||P.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var P,v;return(P=(v=this.props)===null||v===void 0||(v=v.nodeRef)===null||v===void 0?void 0:v.current)!==null&&P!==void 0?P:o.default.findDOMNode(this)}render(){const{axis:P,bounds:v,children:T,defaultPosition:y,defaultClassName:S,defaultClassNameDragging:x,defaultClassNameDragged:R,position:H,positionOffset:D,scale:k,...W}=this.props;let N={},L=null;const U=!!!H||this.state.dragging,F=H||y,B={x:(0,a.canDragX)(this)&&U?this.state.x:F.x,y:(0,a.canDragY)(this)&&U?this.state.y:F.y};this.state.isElementSVG?L=(0,r.createSVGTransform)(B,D):N=(0,r.createCSSTransform)(B,D);const _=(0,i.default)(T.props.className||"",S,{[x]:this.state.dragging,[R]:this.state.dragged});return e.createElement(s.default,p({},W,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(T),{className:_,style:{...T.props.style,...N},transform:L}))}}t.default=b,g(b,"displayName","Draggable"),g(b,"propTypes",{...s.default.propTypes,axis:n.default.oneOf(["both","x","y","none"]),bounds:n.default.oneOfType([n.default.shape({left:n.default.number,right:n.default.number,top:n.default.number,bottom:n.default.number}),n.default.string,n.default.oneOf([!1])]),defaultClassName:n.default.string,defaultClassNameDragging:n.default.string,defaultClassNameDragged:n.default.string,defaultPosition:n.default.shape({x:n.default.number,y:n.default.number}),positionOffset:n.default.shape({x:n.default.oneOfType([n.default.number,n.default.string]),y:n.default.oneOfType([n.default.number,n.default.string])}),position:n.default.shape({x:n.default.number,y:n.default.number}),className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),g(b,"defaultProps",{...s.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(I$e);const{default:U$e,DraggableCore:Dkn}=I$e;hQ.exports=U$e;hQ.exports.default=U$e;hQ.exports.DraggableCore=Dkn;var Ekn=hQ.exports;const Vr=kr(Ekn),bTe=t=>{t=1831565813+(t|=0)|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296};let kkn=class{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:n,separator:o,dictionaries:i,style:r,seed:a}=e;this.dictionaries=i,this.separator=o,this.length=n,this.style=r,this.seed=a}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries. +Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((n,o)=>{let i;e?(i=(a=>{if(typeof a=="string"){const l=a.split("").map(c=>c.charCodeAt(0)).reduce((c,u)=>c+u,1),s=Math.floor(Number(l));return bTe(s)}return bTe(a)})(e),e=4294967296*i):i=Math.random();let r=o[Math.floor(i*o.length)]||"";if(this.style==="lowerCase")r=r.toLowerCase();else if(this.style==="capital"){const[a,...l]=r.split("");r=a.toUpperCase()+l.join("")}else this.style==="upperCase"&&(r=r.toUpperCase());return n?`${n}${this.separator}${r}`:`${r}`},"")}};const STe={separator:"_",dictionaries:[]},Fkn=t=>{const e=[...t&&t.dictionaries||STe.dictionaries],n={...STe,...t,length:t&&t.length||e.length,dictionaries:e};if(!t||!t.dictionaries||!t.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new kkn(n).generate()};var Lkn=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],Wkn=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];const{Option:k1}=Yo,Nkn=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),[i,r]=m.useState(M.getState().modelType),[a,l]=m.useState(M.getState().modelAuthor??Fkn({dictionaries:[Wkn,Lkn],separator:" ",style:"capital"})),[s,c]=m.useState(M.getState().modelLabel??M.getState().cloudFile??null),[u,d]=m.useState(M.getState().modelDescription),[f,p]=m.useState(!1),[g,A]=m.useState({left:0,top:0,bottom:0,right:0}),w=m.useRef(null),b=m.useRef(null),{TextArea:C}=ns,P={lng:o};m.useEffect(()=>{var x;(x=b.current)==null||x.focus()},[]);const v=(x,R)=>{if(w.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,k=w.current.getBoundingClientRect();A({left:-k.left+R.x,right:H-(k.right-R.x),top:-k.top+R.y,bottom:D-((k==null?void 0:k.bottom)-R.y)})}},T=()=>{t(!1)},y=()=>{ht.getState().set(x=>{x.publishOnModelsMapFlag=!0}),e(x=>{x.modelType=i,x.modelAuthor=a,x.modelLabel=s,x.modelDescription=u}),ht.getState().setChanged(!0),n&&e(x=>{x.actionInfo={name:"Publish on Map of Models",timestamp:new Date().getTime()}}),t(!1)},{t:S}=jl();return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:S("menu.file.PublishOnModelsMap",P)}),footer:[h.jsx(no,{onClick:T,children:S("word.Cancel",P)},"Cancel"),h.jsx(no,{type:"primary",ref:b,onClick:y,disabled:!a||!s,children:S("word.OK",P)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:x=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(R,H)=>v(R,H),children:h.jsx("div",{ref:w,children:x})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:8,children:S("shared.ModelType",P)+":"}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsxs(Yo,{style:{width:"100%"},value:i,onChange:x=>{r(x)},children:[h.jsxs(k1,{value:da.UNKNOWN,children:[h.jsx("img",{alt:"Building",width:24,src:R$e,style:{marginRight:"8px"}}),S("word.Unknown",P)]},da.UNKNOWN),h.jsxs(k1,{value:da.UNDER_CONSTRUCTION,children:[h.jsx("img",{alt:"Building",width:24,src:C$e,style:{marginRight:"8px"}}),S("word.UnderConstruction",P)]},da.UNDER_CONSTRUCTION),h.jsxs(k1,{value:da.RESIDENTIAL_BUILDING,children:[h.jsx("img",{alt:"Residential Building",width:24,src:y$e,style:{marginRight:"8px"}}),S("word.ResidentialBuilding",P)]},da.RESIDENTIAL_BUILDING),h.jsxs(k1,{value:da.COMMERCIAL_BUILDING,children:[h.jsx("img",{alt:"Commercial Building",width:24,src:A$e,style:{marginRight:"8px"}}),S("word.CommercialBuilding",P)]},da.COMMERCIAL_BUILDING),h.jsxs(k1,{value:da.SCHOOL_BUILDING,children:[h.jsx("img",{alt:"School Building",width:24,src:w$e,style:{marginRight:"8px"}}),S("word.SchoolBuilding",P)]},da.SCHOOL_BUILDING),h.jsxs(k1,{value:da.TOURIST_ATTRACTION,children:[h.jsx("img",{alt:"Tourist Attraction",width:24,src:v$e,style:{marginRight:"8px"}}),S("word.TouristAttraction",P)]},da.TOURIST_ATTRACTION),h.jsxs(k1,{value:da.PHOTOVOLTAIC,children:[h.jsx("img",{alt:"Photovoltaic",width:24,src:x$e,style:{marginRight:"8px"}}),S("word.Photovoltaic",P)]},da.PHOTOVOLTAIC),h.jsxs(k1,{value:da.PARABOLIC_DISH,children:[h.jsx("img",{alt:"Parabolic Dish",width:24,src:b$e,style:{marginRight:"8px"}}),S("shared.ParabolicDishElement",P)]},da.PARABOLIC_DISH),h.jsxs(k1,{value:da.PARABOLIC_TROUGH,children:[h.jsx("img",{alt:"Parabolic Trough",width:24,src:S$e,style:{marginRight:"8px"}}),S("shared.ParabolicTroughElement",P)]},da.PARABOLIC_TROUGH),h.jsxs(k1,{value:da.FRESNEL_REFLECTOR,children:[h.jsx("img",{alt:"Fresnel Reflector",width:24,src:T$e,style:{marginRight:"8px"}}),S("shared.FresnelReflectorElement",P)]},da.FRESNEL_REFLECTOR),h.jsxs(k1,{value:da.SOLAR_POWER_TOWER,children:[h.jsx("img",{alt:"Heliostat",width:24,src:P$e,style:{marginRight:"8px"}}),S("shared.HeliostatElement",P)]},da.SOLAR_POWER_TOWER),h.jsxs(k1,{value:da.WIND_TURBINE,children:[h.jsx("img",{alt:"Wind Turbine",width:24,src:H$e,style:{marginRight:"8px"}}),j.t("word.WindPower",P)]},da.WIND_TURBINE),h.jsxs(k1,{value:da.COLOCATION_PROJECTS,children:[h.jsx("img",{alt:"Colocation Projects",width:24,src:M$e,style:{marginRight:"8px"}}),j.t("word.ColocationProjects",P)]},da.COLOCATION_PROJECTS)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[S("word.Publisher",P),":"]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:30,style:{width:"100%"},value:a??"",onKeyDown:x=>{if(!JC.test(x.key))return x.preventDefault(),!1},onChange:x=>{l(x.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[S("word.Label",P),":"]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:s??"",onKeyDown:x=>{if(!JC.test(x.key))return x.preventDefault(),!1},onChange:x=>{c(x.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[S("word.Description",P),":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",S("word.MaximumCharacters",P),": 200)"]})]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(C,{rows:5,maxLength:200,style:{width:"100%"},value:u??"",onChange:x=>{d(x.target.value)}})})]})]})},Ukn=be.memo(()=>{const t=Kt(),e=M.getState().user,n=M.getState().cloudFile,[o,i]=m.useState(!1),r=()=>{const a=new URLSearchParams(window.location.search).get("userid"),l=a===e.uid;e.uid&&n&&l?i(!0):e.uid?hn(a&&!l?j.t("menu.file.YouCannotPublishAModelThatYouDoNotOwn",t)+".":j.t("menu.file.YouMustSaveModelOnCloudBeforePublishingIt",t)+"."):hn(j.t("menu.file.YouMustLogInToPublishYourModel",t)+".")};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:r,children:[j.t("menu.file.PublishOnModelsMap",t),"..."]}),o&&h.jsx(Nkn,{setDialogVisible:i})]})}),Bkn=(t,e,n)=>{const o={lng:M.getState().language},i=M.getState().user,r=M.getState().cloudFile,a=M.getState().undoManager,l=M.getState().loggable,s=M.getState().set,c=()=>{a.clear(),ht.getState().set(b=>{b.createNewFileFlag=!0,b.openModelsMap=!1}),s(b=>{b.objectTypeToAdd=z.None,b.groupActionMode=!1,window.history.pushState({},document.title,qp),l&&(b.actionInfo={name:"Create New File",timestamp:new Date().getTime()})})},u=()=>{a.clear(),ht.getState().set(b=>{b.openLocalFileFlag=!0,b.openModelsMap=!1}),s(b=>{b.objectTypeToAdd=z.None,b.groupActionMode=!1,b.cloudFile=void 0,window.history.pushState({},document.title,qp),l&&(b.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})})},d=()=>{ht.getState().set(b=>{b.saveLocalFileDialogVisible=!0}),l&&s(b=>{b.actionInfo={name:"Save as Local File",timestamp:new Date().getTime()}})},f=()=>{ht.getState().set(b=>{b.listCloudFilesFlag=!0,b.openModelsMap=!1}),s(b=>{b.selectedFloatingWindow="cloudFilePanel"}),l&&s(b=>{b.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}})},p=()=>{ht.getState().setSaveCloudFileFlag(!0),l&&s(b=>{b.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},g=()=>{s(b=>{b.showCloudFileTitleDialogFlag=!b.showCloudFileTitleDialogFlag,b.showCloudFileTitleDialog=!0,l&&(b.actionInfo={name:"Save as Cloud File",timestamp:new Date().getTime()})})},A=()=>{n&&(Gqt("screenshot.png",n.toDataURL("image/png")),l&&s(b=>{b.actionInfo={name:"Take Screenshot",timestamp:new Date().getTime()}}),ht.getState().set(b=>{b.openModelsMap=!1}))},w=[];return t||w.push({key:"create-new-file",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[j.t("menu.file.CreateNewFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+F)"]})]})}),t||w.push({key:"open-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[j.t("menu.file.OpenLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+O)"]}),"..."]})}),w.push({key:"save-local-file",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[j.t("menu.file.SaveAsLocalFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+S)"]}),"..."]})}),i.uid&&!t&&w.push({key:"open-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[j.t("menu.file.OpenCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+O)"]}),"..."]})}),i.uid&&r&&!t&&w.push({key:"save-cloud-file",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[j.t("menu.file.SaveCloudFile",o),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+Shift+S)"]}),"..."]})}),i.uid&&!t&&w.push({key:"save-as-cloud-file",label:h.jsx(tn,{noPadding:!0,onClick:g,children:j.t("menu.file.SaveAsCloudFile",o)})}),t||w.push({key:"publish-on-model-map",label:h.jsx(Ukn,{})}),w.push({key:"take-screen-shot",label:h.jsx(tn,{noPadding:!0,onClick:A,children:j.t("menu.file.TakeScreenshot",o)})}),w},{Option:jkn}=Yo,B$e=be.memo(({saveAs:t,setDialogVisible:e})=>{const n=M(dn),o=M(ha),[i,r]=m.useState(M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY),[a,l]=m.useState(M.getState().projectState.title),[s,c]=m.useState(M.getState().projectState.description),[u,d]=m.useState(!1),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),g=m.useRef(null),{TextArea:A}=ns,w=Kt(),b=(v,T)=>{if(g.current){const{clientWidth:y,clientHeight:S}=window.document.documentElement,x=g.current.getBoundingClientRect();p({left:-x.left+T.x,right:y-(x.right-T.x),top:-x.top+T.y,bottom:S-((x==null?void 0:x.bottom)-T.y)})}},C=()=>{e(!1)},P=()=>{ht.getState().set(v=>{t?v.saveProjectAsFlag=!0:v.createProjectFlag=!0}),ht.getState().set(v=>{v.projectType=i,v.projectTitle=a,v.projectDescription=s}),o&&n(v=>{v.actionInfo={name:t?"Save Project as":"Create New Project",timestamp:new Date().getTime()}}),e(!1)};return h.jsxs(_r,{width:560,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>d(!0),onMouseOut:()=>d(!1),children:`${j.t(t?"menu.project.SaveProjectAs":"menu.project.CreateNewProject",w)}`}),footer:[h.jsx(no,{onClick:C,children:`${j.t("word.Cancel",w)}`},"Cancel"),h.jsx(no,{type:"primary",onClick:P,disabled:!a,children:`${j.t("word.OK",w)}`},"OK")],onCancel:()=>{e(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:v=>h.jsx(Vr,{disabled:!u,bounds:f,onStart:(T,y)=>b(T,y),children:h.jsx("div",{ref:g,children:v})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:8,children:j.t("projectPanel.ProjectType",w)+":"}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(Yo,{disabled:t,style:{width:"100%"},value:i,onChange:v=>{r(v)},children:h.jsx(jkn,{value:Tr.SOLAR_PANEL_ARRAY,children:`${j.t("projectPanel.SolarPanelArray",w)}`},Tr.SOLAR_PANEL_ARRAY)})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[`${j.t("word.Title",w)}`,":"]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(ns,{maxLength:50,style:{width:"100%"},value:a??"",onKeyDown:v=>{if(!JC.test(v.key))return v.preventDefault(),!1},onChange:v=>{l(v.target.value)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsxs(it,{className:"gutter-row",span:8,children:[`${j.t("word.Description",w)}`,":",h.jsx("br",{}),h.jsxs("span",{style:{fontSize:"10px"},children:["(",`${j.t("word.MaximumCharacters",w)}`,": 200)"]})]}),h.jsx(it,{className:"gutter-row",span:16,children:h.jsx(A,{rows:5,maxLength:200,style:{width:"100%"},value:s??"",onChange:v=>{c(v.target.value)}})})]})]})}),Ykn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{if(!M.getState().user.uid){hn(j.t("menu.project.YouMustLogInToCreateProject",n)+".");return}e(!0),ht.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Create New Project",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[j.t("menu.project.CreateNewProject",n),"..."]}),t&&h.jsx(B$e,{saveAs:!1,setDialogVisible:e})]})},Okn=()=>{const[t,e]=m.useState(!1),n=Kt(),o=()=>{e(!0),ht.getState().set(i=>{i.openModelsMap=!1}),M.getState().loggable&&M.getState().set(i=>{i.actionInfo={name:"Save Project As",timestamp:new Date().getTime()}})};return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:!0,onClick:o,children:[j.t("menu.project.SaveProjectAs",n),"..."]}),t&&h.jsx(B$e,{saveAs:!0,setDialogVisible:e})]})},_kn=()=>{const t={lng:M.getState().language},e=M.getState().user,n=M.getState().loggable,o=M.getState().projectState,i=M.getState().projectView,r=M.getState().set,a=()=>{if(!e.uid){hn(j.t("menu.project.YouMustLogInToOpenProject",t)+".");return}ht.getState().set(s=>{s.showProjectsFlag=!0,s.openModelsMap=!1}),r(s=>{s.selectedFloatingWindow="projectListPanel"}),n&&r(s=>{s.actionInfo={name:"Open Project",timestamp:new Date().getTime()}})},l=[];return l.push({key:"create-new-project",label:h.jsx(Ykn,{})}),l.push({key:"list-project",label:h.jsxs(tn,{noPadding:!0,onClick:a,children:[j.t("menu.project.OpenProject",t),"..."]})}),i&&o.title&&e.uid&&l.push({key:"save-project-as",label:h.jsx(Okn,{})}),l},Vkn=(t,e,n,o)=>{const i={lng:M.getState().language},r=M.getState().loggable,a=M.getState().set,l=()=>{t&&(M.getState().copyElementById(t.id),r&&a(p=>{p.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:t.id,elementType:t.type}}))},s=()=>{if(!(!t||t.type===z.Roof))if(t.locked)hn(j.t("message.ThisElementIsLocked",i));else{const p=M.getState().removeElementById(t.id,!0);if(p.length===0)return;if(xe.isElementTriggerAutoDeletion(p[0]))Ln.getState().setListenToAutoDeletionByCut(!0),ht.getState().setPrimitiveStore("selectedElementId",t.id);else{const g={name:"Cut",timestamp:Date.now(),deletedElements:p,selectedElementId:t.id,undo:()=>{const A=g.deletedElements;if(A.length===0)return;const w=A.find(b=>b.id===g.selectedElementId);w&&a(b=>{for(const C of A)b.elements.push(C);if(w.type===z.Wall){const C=w;let P=null,v=null;if(C.leftJoints.length>0&&(P=C.leftJoints[0]),C.rightJoints.length>0&&(v=C.rightJoints[0]),P||v)for(const T of b.elements)T.id===P&&T.type===z.Wall&&(T.rightJoints[0]=C.id),T.id===v&&T.type===z.Wall&&(T.leftJoints[0]=C.id)}})},redo:()=>{g.deletedElements&&g.deletedElements.length>0&&M.getState().removeElementById(g.deletedElements[0].id,!0)}};M.getState().addUndoable(g)}}},c=()=>{const p=M.getState().elementsToPaste;if(p&&p.length>0){const g=M.getState().pasteElementsByKey();if(g.length>0){const A={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(g)),undo:()=>{for(const w of A.pastedElements)M.getState().removeElementById(w.id,!1)},redo:()=>{a(w=>{w.elements.push(...A.pastedElements),w.selectedElement=A.pastedElements[0]})}};M.getState().addUndoable(A)}}},u=()=>{if(n.hasUndo()){const p=n.undo();p&&hn(j.t("menu.edit.Undo",i)+": "+p,QV),r&&a(g=>{g.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}},d=()=>{if(n.hasRedo()){const p=n.redo();p&&hn(j.t("menu.edit.Redo",i)+": "+p,QV),r&&a(g=>{g.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}},f=[];return t&&f.push({key:"cut",label:h.jsxs(tn,{noPadding:!0,onClick:s,children:[j.t("word.Cut",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+X)"]})]})}),t&&f.push({key:"copy",label:h.jsxs(tn,{noPadding:!0,onClick:l,children:[j.t("word.Copy",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+C)"]})]})}),e&&f.push({key:"paste",label:h.jsxs(tn,{noPadding:!0,onClick:c,children:[j.t("word.Paste",i),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+V)"]})]})}),n.hasUndo()&&f.push({key:"undo",label:h.jsxs(tn,{noPadding:!0,onClick:u,children:[j.t("menu.edit.Undo",i)+": "+n.getLastUndoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Z)"]})]})}),n.hasRedo()&&f.push({key:"redo",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[j.t("menu.edit.Redo",i)+": "+n.getLastRedoName(),h.jsxs(nh,{children:["(",o?"⌘":"Ctrl","+Y)"]})]})}),f};var zye={},yQ={};Object.defineProperty(yQ,"__esModule",{value:!0});yQ.default=void 0;var Gkn={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};yQ.default=Gkn;var AQ={},eN={},wQ={};Object.defineProperty(wQ,"__esModule",{value:!0});wQ.default=void 0;var Xkn={locale:"zh_CN",yearFormat:"YYYY年",cellDateFormat:"D",cellMeridiemFormat:"A",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪"};wQ.default=Xkn;var tN={};Object.defineProperty(tN,"__esModule",{value:!0});tN.default=void 0;const Jkn={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};tN.default=Jkn;var j$e=Cd.default;Object.defineProperty(eN,"__esModule",{value:!0});eN.default=void 0;var Kkn=j$e(wQ),qkn=j$e(tN);const Y$e={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},Kkn.default),timePickerLocale:Object.assign({},qkn.default)};Y$e.lang.ok="确定";eN.default=Y$e;var $kn=Cd.default;Object.defineProperty(AQ,"__esModule",{value:!0});AQ.default=void 0;var Qkn=$kn(eN);AQ.default=Qkn.default;var vQ=Cd.default;Object.defineProperty(zye,"__esModule",{value:!0});var O$e=zye.default=void 0,Zkn=vQ(yQ),eFn=vQ(AQ),tFn=vQ(eN),nFn=vQ(tN);const F1="${label}不是一个有效的${type}",oFn={locale:"zh-cn",Pagination:Zkn.default,DatePicker:tFn.default,TimePicker:nFn.default,Calendar:eFn.default,global:{placeholder:"请选择"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckall:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:F1,method:F1,array:F1,object:F1,number:F1,date:F1,boolean:F1,integer:F1,float:F1,regexp:F1,email:F1,url:F1,hex:F1},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无"}};O$e=zye.default=oFn;var Dye={},xQ={};Object.defineProperty(xQ,"__esModule",{value:!0});xQ.default=void 0;var iFn={items_per_page:"條/頁",jump_to:"跳至",jump_to_confirm:"確定",page:"頁",prev_page:"上一頁",next_page:"下一頁",prev_5:"向前 5 頁",next_5:"向後 5 頁",prev_3:"向前 3 頁",next_3:"向後 3 頁",page_size:"頁碼"};xQ.default=iFn;var bQ={},nN={},SQ={};Object.defineProperty(SQ,"__esModule",{value:!0});SQ.default=void 0;var rFn={locale:"zh_TW",today:"今天",now:"此刻",backToToday:"返回今天",ok:"確定",timeSelect:"選擇時間",dateSelect:"選擇日期",weekSelect:"選擇周",clear:"清除",month:"月",year:"年",previousMonth:"上個月 (翻頁上鍵)",nextMonth:"下個月 (翻頁下鍵)",monthSelect:"選擇月份",yearSelect:"選擇年份",decadeSelect:"選擇年代",yearFormat:"YYYY年",dayFormat:"D",dateFormat:"YYYY年M月D日",dateTimeFormat:"YYYY年M月D日 HH時mm分ss秒",previousYear:"上一年 (Control鍵加左方向鍵)",nextYear:"下一年 (Control鍵加右方向鍵)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世紀",nextCentury:"下一世紀"};SQ.default=rFn;var oN={};Object.defineProperty(oN,"__esModule",{value:!0});oN.default=void 0;const aFn={placeholder:"請選擇時間"};oN.default=aFn;var _$e=Cd.default;Object.defineProperty(nN,"__esModule",{value:!0});nN.default=void 0;var lFn=_$e(SQ),sFn=_$e(oN);const V$e={lang:Object.assign({placeholder:"請選擇日期",yearPlaceholder:"請選擇年份",quarterPlaceholder:"請選擇季度",monthPlaceholder:"請選擇月份",weekPlaceholder:"請選擇周",rangePlaceholder:["開始日期","結束日期"],rangeYearPlaceholder:["開始年份","結束年份"],rangeMonthPlaceholder:["開始月份","結束月份"],rangeQuarterPlaceholder:["開始季度","結束季度"],rangeWeekPlaceholder:["開始周","結束周"]},lFn.default),timePickerLocale:Object.assign({},sFn.default)};V$e.lang.ok="確 定";nN.default=V$e;var cFn=Cd.default;Object.defineProperty(bQ,"__esModule",{value:!0});bQ.default=void 0;var uFn=cFn(nN);bQ.default=uFn.default;var TQ=Cd.default;Object.defineProperty(Dye,"__esModule",{value:!0});var G$e=Dye.default=void 0,dFn=TQ(xQ),fFn=TQ(bQ),hFn=TQ(nN),pFn=TQ(oN);const L1="${label}不是一個有效的${type}",gFn={locale:"zh-tw",Pagination:dFn.default,DatePicker:hFn.default,TimePicker:pFn.default,Calendar:fFn.default,global:{placeholder:"請選擇"},Table:{filterTitle:"篩選器",filterConfirm:"確定",filterReset:"重置",filterEmptyText:"無篩選項",filterCheckall:"全選",filterSearchPlaceholder:"在篩選項中搜尋",emptyText:"暫無數據",selectAll:"全部選取",selectInvert:"反向選取",selectNone:"清空所有",selectionAll:"全選所有",sortTitle:"排序",expand:"展開行",collapse:"關閉行",triggerDesc:"點擊降序",triggerAsc:"點擊升序",cancelSort:"取消排序"},Modal:{okText:"確定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"結束導覽"},Popconfirm:{okText:"確定",cancelText:"取消"},Transfer:{titles:["",""],searchPlaceholder:"搜尋資料",itemUnit:"項目",itemsUnit:"項目",remove:"删除",selectCurrent:"全選當頁",removeCurrent:"删除當頁",selectAll:"全選所有",removeAll:"删除全部",selectInvert:"反選當頁"},Upload:{uploading:"正在上傳...",removeFile:"刪除檔案",uploadError:"上傳失敗",previewFile:"檔案預覽",downloadFile:"下载文件"},Empty:{description:"無此資料"},Icon:{icon:"圖標"},Text:{edit:"編輯",copy:"複製",copied:"複製成功",expand:"展開"},Form:{optional:"(可選)",defaultValidateMessages:{default:"字段驗證錯誤${label}",required:"請輸入${label}",enum:"${label}必須是其中一個[${enum}]",whitespace:"${label}不能為空字符",date:{format:"${label}日期格式無效",parse:"${label}不能轉換為日期",invalid:"${label}是一個無效日期"},types:{string:L1,method:L1,array:L1,object:L1,number:L1,date:L1,boolean:L1,integer:L1,float:L1,regexp:L1,email:L1,url:L1,hex:L1},string:{len:"${label}須為${len}個字符",min:"${label}最少${min}個字符",max:"${label}最多${max}個字符",range:"${label}須在${min}-${max}字符之間"},number:{len:"${label}必須等於${len}",min:"${label}最小值為${min}",max:"${label}最大值為${max}",range:"${label}須在${min}-${max}之間"},array:{len:"須為${len}個${label}",min:"最少${min}個${label}",max:"最多${max}個${label}",range:"${label}數量須在${min}-${max}之間"},pattern:{mismatch:"${label}與模式不匹配${pattern}"}}},Image:{preview:"預覽"},QRCode:{expired:"二維碼過期",refresh:"點擊刷新",scanned:"已掃描"}};G$e=Dye.default=gFn;var Eye={},PQ={};Object.defineProperty(PQ,"__esModule",{value:!0});PQ.default=void 0;var mFn={items_per_page:"/ página",jump_to:"Ir a",jump_to_confirm:"confirmar",page:"Página",prev_page:"Página anterior",next_page:"Página siguiente",prev_5:"5 páginas previas",next_5:"5 páginas siguientes",prev_3:"3 páginas previas",next_3:"3 páginas siguientes",page_size:"tamaño de página"};PQ.default=mFn;var CQ={},iN={},RQ={};Object.defineProperty(RQ,"__esModule",{value:!0});RQ.default=void 0;var yFn={locale:"es_ES",today:"Hoy",now:"Ahora",backToToday:"Volver a hoy",ok:"Aceptar",clear:"Limpiar",month:"Mes",year:"Año",timeSelect:"Seleccionar hora",dateSelect:"Seleccionar fecha",monthSelect:"Elegir un mes",yearSelect:"Elegir un año",decadeSelect:"Elegir una década",yearFormat:"YYYY",dateFormat:"D/M/YYYY",dayFormat:"D",dateTimeFormat:"D/M/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Mes anterior (PageUp)",nextMonth:"Mes siguiente (PageDown)",previousYear:"Año anterior (Control + left)",nextYear:"Año siguiente (Control + right)",previousDecade:"Década anterior",nextDecade:"Década siguiente",previousCentury:"Siglo anterior",nextCentury:"Siglo siguiente"};RQ.default=yFn;var rN={};Object.defineProperty(rN,"__esModule",{value:!0});rN.default=void 0;const AFn={placeholder:"Seleccionar hora"};rN.default=AFn;var X$e=Cd.default;Object.defineProperty(iN,"__esModule",{value:!0});iN.default=void 0;var wFn=X$e(RQ),vFn=X$e(rN);const xFn={lang:Object.assign({placeholder:"Seleccionar fecha",rangePlaceholder:["Fecha inicial","Fecha final"],shortWeekDays:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"]},wFn.default),timePickerLocale:Object.assign({},vFn.default)};iN.default=xFn;var bFn=Cd.default;Object.defineProperty(CQ,"__esModule",{value:!0});CQ.default=void 0;var SFn=bFn(iN);CQ.default=SFn.default;var HQ=Cd.default;Object.defineProperty(Eye,"__esModule",{value:!0});var J$e=Eye.default=void 0,TFn=HQ(PQ),PFn=HQ(CQ),CFn=HQ(iN),RFn=HQ(rN);const W1="${label} no es un ${type} válido",HFn={locale:"es",Pagination:TFn.default,DatePicker:CFn.default,TimePicker:RFn.default,Calendar:PFn.default,global:{placeholder:"Seleccione"},Table:{filterTitle:"Filtrar menú",filterConfirm:"Aceptar",filterReset:"Reiniciar",filterEmptyText:"Sin filtros",filterCheckall:"Seleccionar todo",filterSearchPlaceholder:"Buscar en filtros",emptyText:"Sin datos",selectAll:"Seleccionar todo",selectInvert:"Invertir selección",selectNone:"Vacíe todo",selectionAll:"Seleccionar todos los datos",sortTitle:"Ordenar",expand:"Expandir fila",collapse:"Colapsar fila",triggerDesc:"Click para ordenar en orden descendente",triggerAsc:"Click para ordenar en orden ascendente",cancelSort:"Click para cancelar ordenamiento"},Modal:{okText:"Aceptar",cancelText:"Cancelar",justOkText:"Aceptar"},Popconfirm:{okText:"Aceptar",cancelText:"Cancelar"},Transfer:{titles:["",""],searchPlaceholder:"Buscar aquí",itemUnit:"elemento",itemsUnit:"elementos",remove:"Eliminar",selectCurrent:"Seleccionar página actual",removeCurrent:"Remover página actual",selectAll:"Seleccionar todos los datos",removeAll:"Eliminar todos los datos",selectInvert:"Invertir página actual"},Upload:{uploading:"Subiendo...",removeFile:"Eliminar archivo",uploadError:"Error al subir el archivo",previewFile:"Vista previa",downloadFile:"Descargar archivo"},Empty:{description:"No hay datos"},Icon:{icon:"ícono"},Text:{edit:"Editar",copy:"Copiar",copied:"Copiado",expand:"Expandir"},Form:{optional:"(opcional)",defaultValidateMessages:{default:"Error de validación del campo ${label}",required:"Por favor ingresar ${label}",enum:"${label} debe ser uno de [${enum}]",whitespace:"${label} no puede ser un carácter en blanco",date:{format:"El formato de fecha de ${label} es inválido",parse:"${label} no se puede convertir a una fecha",invalid:"${label} es una fecha inválida"},types:{string:W1,method:W1,array:W1,object:W1,number:W1,date:W1,boolean:W1,integer:W1,float:W1,regexp:W1,email:W1,url:W1,hex:W1},string:{len:"${label} debe tener ${len} caracteres",min:"${label} debe tener al menos ${min} caracteres",max:"${label} debe tener hasta ${max} caracteres",range:"${label} debe tener entre ${min}-${max} caracteres"},number:{len:"${label} debe ser igual a ${len}",min:"${label} valor mínimo es ${min}",max:"${label} valor máximo es ${max}",range:"${label} debe estar entre ${min}-${max}"},array:{len:"Debe ser ${len} ${label}",min:"Al menos ${min} ${label}",max:"A lo mucho ${max} ${label}",range:"El monto de ${label} debe estar entre ${min}-${max}"},pattern:{mismatch:"${label} no coincide con el patrón ${pattern}"}}},Image:{preview:"Previsualización"}};J$e=Eye.default=HFn;var kye={},MQ={};Object.defineProperty(MQ,"__esModule",{value:!0});MQ.default=void 0;var MFn={items_per_page:"/ sayfa",jump_to:"Git",jump_to_confirm:"onayla",page:"Sayfa",prev_page:"Önceki Sayfa",next_page:"Sonraki Sayfa",prev_5:"Önceki 5 Sayfa",next_5:"Sonraki 5 Sayfa",prev_3:"Önceki 3 Sayfa",next_3:"Sonraki 3 Sayfa",page_size:"sayfa boyutu"};MQ.default=MFn;var IQ={},aN={},zQ={};Object.defineProperty(zQ,"__esModule",{value:!0});zQ.default=void 0;var IFn={locale:"tr_TR",today:"Bugün",now:"Şimdi",backToToday:"Bugüne Geri Dön",ok:"Tamam",clear:"Temizle",month:"Ay",year:"Yıl",timeSelect:"Zaman Seç",dateSelect:"Tarih Seç",monthSelect:"Ay Seç",yearSelect:"Yıl Seç",decadeSelect:"On Yıl Seç",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Önceki Ay (PageUp)",nextMonth:"Sonraki Ay (PageDown)",previousYear:"Önceki Yıl (Control + Sol)",nextYear:"Sonraki Yıl (Control + Sağ)",previousDecade:"Önceki On Yıl",nextDecade:"Sonraki On Yıl",previousCentury:"Önceki Yüzyıl",nextCentury:"Sonraki Yüzyıl"};zQ.default=IFn;var lN={};Object.defineProperty(lN,"__esModule",{value:!0});lN.default=void 0;const zFn={placeholder:"Zaman seç",rangePlaceholder:["Başlangıç zamanı","Bitiş zamanı"]};lN.default=zFn;var K$e=Cd.default;Object.defineProperty(aN,"__esModule",{value:!0});aN.default=void 0;var DFn=K$e(zQ),EFn=K$e(lN);const kFn={lang:Object.assign({placeholder:"Tarih seç",yearPlaceholder:"Yıl seç",quarterPlaceholder:"Çeyrek seç",monthPlaceholder:"Ay seç",weekPlaceholder:"Hafta seç",rangePlaceholder:["Başlangıç tarihi","Bitiş tarihi"],rangeYearPlaceholder:["Başlangıç yılı","Bitiş yılı"],rangeMonthPlaceholder:["Başlangıç ayı","Bitiş ayı"],rangeWeekPlaceholder:["Başlangıç haftası","Bitiş haftası"]},DFn.default),timePickerLocale:Object.assign({},EFn.default)};aN.default=kFn;var FFn=Cd.default;Object.defineProperty(IQ,"__esModule",{value:!0});IQ.default=void 0;var LFn=FFn(aN);IQ.default=LFn.default;var DQ=Cd.default;Object.defineProperty(kye,"__esModule",{value:!0});var q$e=kye.default=void 0,WFn=DQ(MQ),NFn=DQ(IQ),UFn=DQ(aN),BFn=DQ(lN);const N1="${label} geçerli bir ${type} değil",jFn={locale:"tr",Pagination:WFn.default,DatePicker:UFn.default,TimePicker:BFn.default,Calendar:NFn.default,global:{placeholder:"Lütfen seçiniz"},Table:{filterTitle:"Filtre menüsü",filterConfirm:"Tamam",filterReset:"Sıfırla",filterEmptyText:"Filtre yok",selectAll:"Tüm sayfayı seç",selectInvert:"Tersini seç",selectionAll:"Tümünü seç",sortTitle:"Sırala",expand:"Satırı genişlet",collapse:"Satırı daralt",triggerDesc:"Azalan düzende sırala",triggerAsc:"Artan düzende sırala",cancelSort:"Sıralamayı kaldır"},Modal:{okText:"Tamam",cancelText:"İptal",justOkText:"Tamam"},Popconfirm:{okText:"Tamam",cancelText:"İptal"},Transfer:{titles:["",""],searchPlaceholder:"Arama",itemUnit:"Öğe",itemsUnit:"Öğeler",remove:"Kaldır",selectCurrent:"Tüm sayfayı seç",removeCurrent:"Sayfayı kaldır",selectAll:"Tümünü seç",removeAll:"Tümünü kaldır",selectInvert:"Tersini seç"},Upload:{uploading:"Yükleniyor...",removeFile:"Dosyayı kaldır",uploadError:"Yükleme hatası",previewFile:"Dosyayı önizle",downloadFile:"Dosyayı indir"},Empty:{description:"Veri Yok"},Icon:{icon:"ikon"},Text:{edit:"Düzenle",copy:"Kopyala",copied:"Kopyalandı",expand:"Genişlet"},Form:{optional:"(opsiyonel)",defaultValidateMessages:{default:"Alan doğrulama hatası ${label}",required:"${label} gerekli bir alan",enum:"${label} şunlardan biri olmalı: [${enum}]",whitespace:"${label} sadece boşluk olamaz",date:{format:"${label} tarih biçimi geçersiz",parse:"${label} bir tarihe dönüştürülemedi",invalid:"${label} geçersiz bir tarih"},types:{string:N1,method:N1,array:N1,object:N1,number:N1,date:N1,boolean:N1,integer:N1,float:N1,regexp:N1,email:N1,url:N1,hex:N1},string:{len:"${label} ${len} karakter olmalı",min:"${label} en az ${min} karakter olmalı",max:"${label} en çok ${max} karakter olmalı",range:"${label} ${min}-${max} karakter arası olmalı"},number:{len:"${label} ${len} olmalı",min:"${label} en az ${min} olmalı",max:"${label} en çok ${max} olmalı",range:"${label} ${min}-${max} arası olmalı"},array:{len:"${label} sayısı ${len} olmalı",min:"${label} sayısı en az ${min} olmalı",max:"${label} sayısı en çok ${max} olmalı",range:"${label} sayısı ${min}-${max} arası olmalı"},pattern:{mismatch:"${label} şu kalıpla eşleşmeli: ${pattern}"}}},Image:{preview:"Önizleme"}};q$e=kye.default=jFn;var Fye={},EQ={};Object.defineProperty(EQ,"__esModule",{value:!0});EQ.default=void 0;var YFn={items_per_page:"/ сторінці",jump_to:"Перейти",jump_to_confirm:"підтвердити",page:"",prev_page:"Попередня сторінка",next_page:"Наступна сторінка",prev_5:"Попередні 5 сторінок",next_5:"Наступні 5 сторінок",prev_3:"Попередні 3 сторінки",next_3:"Наступні 3 сторінки",page_size:"Page Size"};EQ.default=YFn;var kQ={},sN={},FQ={};Object.defineProperty(FQ,"__esModule",{value:!0});FQ.default=void 0;var OFn={locale:"uk_UA",today:"Сьогодні",now:"Зараз",backToToday:"Поточна дата",ok:"OK",clear:"Очистити",month:"Місяць",year:"Рік",timeSelect:"Обрати час",dateSelect:"Обрати дату",monthSelect:"Обрати місяць",yearSelect:"Обрати рік",decadeSelect:"Обрати десятиріччя",yearFormat:"YYYY",dateFormat:"D-M-YYYY",dayFormat:"D",dateTimeFormat:"D-M-YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Попередній місяць (PageUp)",nextMonth:"Наступний місяць (PageDown)",previousYear:"Попередній рік (Control + left)",nextYear:"Наступний рік (Control + right)",previousDecade:"Попереднє десятиріччя",nextDecade:"Наступне десятиріччя",previousCentury:"Попереднє століття",nextCentury:"Наступне століття"};FQ.default=OFn;var cN={};Object.defineProperty(cN,"__esModule",{value:!0});cN.default=void 0;const _Fn={placeholder:"Оберіть час"};cN.default=_Fn;var $$e=Cd.default;Object.defineProperty(sN,"__esModule",{value:!0});sN.default=void 0;var VFn=$$e(FQ),GFn=$$e(cN);const XFn={lang:Object.assign({placeholder:"Оберіть дату",rangePlaceholder:["Початкова дата","Кінцева дата"]},VFn.default),timePickerLocale:Object.assign({},GFn.default)};sN.default=XFn;var JFn=Cd.default;Object.defineProperty(kQ,"__esModule",{value:!0});kQ.default=void 0;var KFn=JFn(sN);kQ.default=KFn.default;var LQ=Cd.default;Object.defineProperty(Fye,"__esModule",{value:!0});var Q$e=Fye.default=void 0,qFn=LQ(EQ),$Fn=LQ(kQ),QFn=LQ(sN),ZFn=LQ(cN);const U1="${label} не є типом ${type}",eLn={locale:"uk",Pagination:qFn.default,DatePicker:QFn.default,TimePicker:ZFn.default,Calendar:$Fn.default,global:{placeholder:"Будь ласка, оберіть"},Table:{filterTitle:"Фільтрувати",filterConfirm:"OK",filterReset:"Скинути",filterEmptyText:"Фільтри відсутні",filterCheckall:"Обрати всі",filterSearchPlaceholder:"Пошук у фільтрах",emptyText:"Даних немає",selectAll:"Обрати всі на сторінці",selectInvert:"Інвертувати вибір",selectNone:"Очистити вибір",selectionAll:"Обрати всі",sortTitle:"Сортувати",expand:"Розгорнути рядок",collapse:"Згорнути рядок",triggerDesc:"Сортувати за спаданням",triggerAsc:"Сортувати за зростанням",cancelSort:"Відмінити сортування"},Tour:{Next:"Далі",Previous:"Назад",Finish:"Завершити"},Modal:{okText:"Гаразд",cancelText:"Скасувати",justOkText:"Гаразд"},Popconfirm:{okText:"Гаразд",cancelText:"Скасувати"},Transfer:{titles:["",""],searchPlaceholder:"Введіть текст для пошуку",itemUnit:"елем.",itemsUnit:"елем.",remove:"Видалити",selectCurrent:"Вибрати поточну сторінку",removeCurrent:"Скасувати вибір на сторінці",selectAll:"Вибрати всі дані",removeAll:"Скасувати вибір",selectInvert:"Інвертувати поточну сторінку"},Upload:{uploading:"Завантаження ...",removeFile:"Видалити файл",uploadError:"Помилка завантаження",previewFile:"Попередній перегляд файлу",downloadFile:"Завантажити файл"},Empty:{description:"Даних немає"},Icon:{icon:"іконка"},Text:{edit:"Редагувати",copy:"Скопіювати",copied:"Скопійовано",expand:"Розширити"},Form:{optional:"(опціонально)",defaultValidateMessages:{default:"Помилка валідації для поля ${label}",required:"Будь ласка, заповніть ${label}",enum:"Лише одне зі значень [${enum}] доступне для ${label}",whitespace:"Значення у полі ${label} не може бути пробілом",date:{format:"Не валідний формат дати у ${label}",parse:"Значення ${label} не може бути приведене до дати",invalid:"Не валідна дата у ${label}"},types:{string:U1,method:U1,array:U1,object:U1,number:U1,date:U1,boolean:U1,integer:U1,float:U1,regexp:U1,email:U1,url:U1,hex:U1},string:{len:"${label} має містити ${len} символів",min:"${label} має містити не менш, ніж ${min} символів",max:"${label} має містити не більш, ніж ${max} символів",range:"${label} має містити ${min}-${max} символів"},number:{len:"${label} має дорівнювати ${len}",min:"${label} має бути не менш, ніж ${min}",max:"${label} має бути не більш, ніж ${max}",range:"${label} має бути в межах ${min}-${max}"},array:{len:"${label} має містити ${len} елементи",min:"${label} має містити не менш, ніж ${min} елементи",max:"${label} має містити не більш, ніж ${max} елементи",range:"Кількість елементів в ${label} має бути в межах ${min}-${max}"},pattern:{mismatch:"${label} не відповідає шаблону ${pattern}"}}},Image:{preview:"Попередній перегляд"},QRCode:{expired:"QR-код закінчився",refresh:"Оновити"}};Q$e=Fye.default=eLn;const tLn=be.memo(()=>{const t=M.getState().language,e=n=>{M.getState().set(o=>{switch(o.language=n.target.value,o.language){case"zh_cn":o.locale=O$e;break;case"zh_tw":o.locale=G$e;break;case"es":o.locale=J$e;break;case"tr":o.locale=q$e;break;case"ua":o.locale=Q$e;break;default:o.locale=Npe}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Be.Group,{value:t,style:{height:"170px"},onChange:e,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:"en",children:Z5.English}),h.jsx(Be,{style:{width:"100%"},value:"es",children:Z5.Spanish}),h.jsx(Be,{style:{width:"100%"},value:"zh_cn",children:Z5.ChineseSimplified}),h.jsx(Be,{style:{width:"100%"},value:"zh_tw",children:Z5.ChineseTraditional}),h.jsx(Be,{style:{width:"100%"},value:"tr",children:Z5.Turkish}),h.jsx(Be,{style:{width:"100%"},value:"ua",children:Z5.Ukrainian})]})})})}),nLn=(t,e,n)=>{const o={lng:M.getState().language},i=()=>{ht.getState().set(l=>{l.showModelsGallery=!0,l.leaderboardFlag=!0,l.openModelsMap=!1})},r=()=>{ht.getState().set(l=>{l.modelsMapFlag=!0,l.modelsMapWeatherStations=!1,l.openModelsMap=!0,l.showModelsGallery=!1}),M.getState().loggable&&M.getState().set(l=>{l.actionInfo={name:"Open Models Map",timestamp:new Date().getTime()}})},a=[];return t&&!e&&a.push({key:"my-models",label:h.jsxs(tn,{noPadding:!0,onClick:i,children:[j.t("menu.ModelsGallery",o),"..."]})}),n||a.push({key:"models-map",label:h.jsxs(tn,{noPadding:!0,onClick:r,children:[j.t("menu.ModelsMap",o),"..."]})}),a},QG=()=>{const t=Ln.getState().orbitControlsRef;if(t!=null&&t.current){const e=Math.min(50,M.getState().sceneRadius*4);t.current.object.position.set(e,e,e),t.current.target.set(0,0,0),t.current.update(),M.getState().set(n=>{const o=n.viewState;o.cameraPosition=[e,e,e],o.panCenter=[0,0,0]})}},ZG=t=>{if(M.getState().viewState.orthographic){const e=M.getState().viewState.cameraZoom??20,n=e,o=e/t,i={name:"Zoom",timestamp:Date.now(),oldValue:n,newValue:o,undo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.oldValue})},redo:()=>{M.getState().set(r=>{r.viewState.cameraZoom=i.newValue})}};M.getState().addUndoable(i),M.getState().set(r=>{r.viewState.cameraZoom=o})}else{const e=Ln.getState().orbitControlsRef;if(e!=null&&e.current){const n=e.current.object.position,o=n.x*t,i=n.y*t,r=n.z*t,a={name:"Zoom",timestamp:Date.now(),oldCameraPosition:[n.x,n.y,n.z],newCameraPosition:[o,i,r],undo:()=>{var u,d;const l=a.oldCameraPosition[0],s=a.oldCameraPosition[1],c=a.oldCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})},redo:()=>{var u,d;const l=a.newCameraPosition[0],s=a.newCameraPosition[1],c=a.newCameraPosition[2];(u=e.current)==null||u.object.position.set(l,s,c),(d=e.current)==null||d.update(),M.getState().set(f=>{f.viewState.cameraPosition=[l,s,c]})}};M.getState().addUndoable(a),e.current.object.position.set(o,i,r),e.current.update(),M.getState().set(l=>{l.viewState.cameraPosition=[o,i,r]})}}},oLn=(t,e)=>{const n={lng:M.getState().language},o=M.getState().viewState.orthographic,i=M.getState().viewState.cameraPosition,r=M.getState().viewState.panCenter,a=i[0]===i[1]&&i[1]===i[2]&&r[0]===0&&r[1]===0&&r[2]===0,l=()=>{const C={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...i],oldPanCenter:[...r],undo:()=>{const P=Ln.getState().orbitControlsRef;P!=null&&P.current&&(P.current.object.position.set(C.oldCameraPosition[0],C.oldCameraPosition[1],C.oldCameraPosition[2]),P.current.target.set(C.oldPanCenter[0],C.oldPanCenter[1],C.oldPanCenter[2]),P.current.update(),M.getState().set(v=>{const T=v.viewState;T.cameraPosition=[...C.oldCameraPosition],T.panCenter=[...C.oldPanCenter]}))},redo:()=>{QG()}};M.getState().addUndoable(C),QG(),M.getState().set(P=>{P.objectTypeToAdd=z.None,P.groupActionMode=!1,P.viewState.orthographic=!1})},s=()=>{ZG(1.1)},c=()=>{ZG(.9)},u=C=>{const P=M.getState().setNavigationView,v={name:"Toggle Navigation View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{P(!v.checked)},redo:()=>{P(v.checked)}};M.getState().addUndoable(v),M.getState().set(T=>{T.viewState.autoRotate=!1}),P(C.target.checked)},d=C=>{const P=M.getState().set2DView,v={name:"Toggle 2D View",timestamp:Date.now(),checked:C.target.checked,undo:()=>{P(!v.checked)},redo:()=>{P(v.checked)}};M.getState().addUndoable(v),P(C.target.checked),M.getState().set(T=>{T.viewState.autoRotate=!1})},f=C=>{if(!M.getState().viewState.orthographic){const P={name:"Auto Rotate",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!P.checked})},redo:()=>{M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=P.checked})}};M.getState().addUndoable(P),M.getState().set(v=>{v.objectTypeToAdd=z.None,v.groupActionMode=!1,v.viewState.autoRotate=!v.viewState.autoRotate})}},p=C=>{const P=C.target.checked,v={name:"Show Axes",timestamp:Date.now(),checked:P,undo:()=>{M.getState().set(T=>{T.viewState.axes=!v.checked})},redo:()=>{M.getState().set(T=>{T.viewState.axes=v.checked})}};M.getState().addUndoable(v),M.getState().set(T=>{T.viewState.axes=P})},g=C=>{const P={name:"Show Shadow",timestamp:Date.now(),checked:C.target.checked,undo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=!P.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},redo:()=>{M.getState().set(v=>{v.viewState.shadowEnabled=P.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})}};M.getState().addUndoable(P),M.getState().set(v=>{v.viewState.shadowEnabled=C.target.checked,v.viewState.shadowEnabled&&v.updateSceneRadius()})},A=C=>{const P=C.target.checked?Jm:0,v={name:"Set Surface Shininess",timestamp:Date.now(),oldValue:M.getState().viewState.solarPanelShininess??Jm,newValue:P,undo:()=>{M.getState().set(T=>{T.viewState.solarPanelShininess=v.oldValue})},redo:()=>{M.getState().set(T=>{T.viewState.solarPanelShininess=v.newValue})}};M.getState().addUndoable(v),M.getState().set(T=>{T.viewState.solarPanelShininess=P})},w=C=>{const P=M.getState().floatingWindowOpacity,v=C.target.checked?m0:1,T={name:"Floating Window Opacity",timestamp:Date.now(),oldValue:P,newValue:v,undo:()=>{M.getState().set(y=>{y.floatingWindowOpacity=T.oldValue})},redo:()=>{M.getState().set(y=>{y.floatingWindowOpacity=T.newValue})}};M.getState().addUndoable(T),M.getState().set(y=>{y.floatingWindowOpacity=v})},b=[];return!o&&!a&&b.push({key:"reset-view",label:h.jsxs(tn,{onClick:l,children:[j.t("menu.view.ResetView",n),h.jsxs(nh,{children:["(",t,")"]})]})}),b.push({key:"zoom-out-view",label:h.jsxs(tn,{onClick:s,children:[j.t("menu.view.ZoomOut",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+])"]})]})}),b.push({key:"zoom-in-view",label:h.jsxs(tn,{onClick:c,children:[j.t("menu.view.ZoomIn",n),h.jsxs(nh,{children:["(",e?"⌘":"Ctrl","+[)"]})]})}),b.push({key:"navigation-view-check-box",label:h.jsxs(a2,{selector:hq,onChange:u,children:[j.t("menu.view.NavigationView",n),h.jsxs(nh,{children:["(",Goe,"+Q)"]})]})}),b.push({key:"orthographic-check-box",label:h.jsxs(a2,{selector:hu,onChange:d,children:[j.t("menu.view.TwoDimensionalView",n),h.jsxs(nh,{children:["(",Goe,"+B)"]})]})}),o||b.push({key:"auto-rotate-check-box",label:h.jsxs(a2,{selector:ABe,onChange:f,children:[j.t("menu.view.AutoRotate",n),h.jsxs(nh,{children:["(",Goe,"+M)"]})]})}),b.push({key:"axes-check-box",label:h.jsx(a2,{selector:Y1e,onChange:p,children:j.t("skyMenu.Axes",n)})}),b.push({key:"shadow-check-box",label:h.jsx(a2,{selector:ss,onChange:g,children:j.t("menu.view.ShowShadow",n)})}),b.push({key:"shininess-check-box",label:h.jsx(a2,{selector:C=>C.viewState.solarPanelShininess===void 0||C.viewState.solarPanelShininess>0,onChange:A,children:j.t("menu.view.ShowSurfaceShininess",n)})}),b.push({key:"translucency-check-box",label:h.jsx(a2,{selector:C=>C.floatingWindowOpacity<1,onChange:w,children:j.t("menu.view.TranslucentFloatingWindows",n)})}),b},iLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=M.getState().viewState.showHeliodonPanel,i=M.getState().viewState.showMapPanel,r=M.getState().viewState.showWeatherPanel,a=M.getState().viewState.showDiurnalTemperaturePanel,l=ht.getState().showEconomicsPanel,s=ht.getState().showNavigationPanel,c=ht.getState().showShadowSettings,u=M.getState().loggable,d=()=>{const P={name:"Open Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showHeliodonPanel=!1})},redo:()=>{e(v=>{v.viewState.showHeliodonPanel=!0})}};n(P),e(v=>{v.viewState.showHeliodonPanel=!0,v.selectedFloatingWindow="heliodonPanel"})},f=()=>{const P={name:"Open Maps",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showMapPanel=!1})},redo:()=>{e(v=>{v.viewState.showMapPanel=!0})}};n(P),e(v=>{v.viewState.showMapPanel=!0,v.selectedFloatingWindow="mapPanel"})},p=()=>{const P={name:"Open Weather Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showWeatherPanel=!1})},redo:()=>{e(v=>{v.viewState.showWeatherPanel=!0})}};n(P),e(v=>{v.viewState.showWeatherPanel=!0,v.selectedFloatingWindow="weatherPanel"})},g=()=>{const P={name:"Open Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!1})},redo:()=>{e(v=>{v.viewState.showDiurnalTemperaturePanel=!0})}};n(P),e(v=>{v.viewState.showDiurnalTemperaturePanel=!0,v.selectedFloatingWindow="diurnalTemperaturePanel"})},A=()=>{ht.getState().set(P=>{P.showEconomicsPanel=!0}),u&&e(P=>{P.actionInfo={name:"Open Economics Panel",timestamp:new Date().getTime()}})},w=()=>{ht.getState().set(P=>{P.showNavigationPanel=!0}),u&&e(P=>{P.actionInfo={name:"Open Navigation Panel",timestamp:new Date().getTime()}})},b=()=>{ht.getState().set(P=>{P.showShadowSettings=!0}),u&&e(P=>{P.actionInfo={name:"Open Shadow Settings",timestamp:new Date().getTime()}})},C=[];return o||C.push({key:"sun-time",label:h.jsxs(tn,{noPadding:!0,onClick:d,children:[j.t("menu.settings.SunAndTime",t),"..."]})}),i||C.push({key:"show-map-panel",label:h.jsxs(tn,{noPadding:!0,onClick:f,children:[j.t("word.Location",t),"..."]})}),r||C.push({key:"weather-panel",label:h.jsxs(tn,{noPadding:!0,onClick:p,children:[j.t("menu.settings.WeatherData",t),"..."]})}),a||C.push({key:"diurnal-temperature-panel",label:h.jsxs(tn,{noPadding:!0,onClick:g,children:[j.t("menu.settings.DiurnalTemperature",t),"..."]})}),l||C.push({key:"economics-panel",label:h.jsxs(tn,{noPadding:!0,onClick:A,children:[j.t("economicsPanel.EconomicsParameters",t),"..."]})}),s||C.push({key:"navigation-panel",label:h.jsxs(tn,{noPadding:!0,onClick:w,children:[j.t("navigationPanel.NavigationParameters",t),"..."]})}),c||C.push({key:"shadow-settings",label:h.jsxs(tn,{noPadding:!0,onClick:b,children:[j.t("shadowSettingsPanel.ShadowSettings",t),"..."]})}),C},rLn=()=>{const t={lng:M.getState().language},e=M.getState().set,n=M.getState().addUndoable,o=s=>{const c=s.target.checked,u={name:"Show Site Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showSiteInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showSiteInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showSiteInfoPanel=c})},i=s=>{const c=s.target.checked,u={name:"Show Design Information",timestamp:Date.now(),checked:c,undo:()=>{e(d=>{d.viewState.showDesignInfoPanel=!u.checked})},redo:()=>{e(d=>{d.viewState.showDesignInfoPanel=u.checked})}};n(u),e(d=>{d.viewState.showDesignInfoPanel=!d.viewState.showDesignInfoPanel})},r=s=>{const c={name:"Show Instruction Panel",timestamp:Date.now(),checked:s.target.checked,undo:()=>{e(u=>{u.viewState.showInstructionPanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showInstructionPanel=c.checked})}};n(c),e(u=>{u.viewState.showInstructionPanel=!u.viewState.showInstructionPanel})},a=s=>{const c={name:"Show Sticky Note",timestamp:Date.now(),checked:s.target.value,undo:()=>{e(u=>{u.viewState.showStickyNotePanel=!c.checked})},redo:()=>{e(u=>{u.viewState.showStickyNotePanel=c.checked})}};n(c),e(u=>{u.viewState.showStickyNotePanel=!u.viewState.showStickyNotePanel})};return[{key:"site-info-panel-check-box",label:h.jsx(a2,{selector:_1e,onChange:o,children:j.t("menu.view.accessories.SiteInformation",t)})},{key:"design-info-panel-check-box",label:h.jsx(a2,{selector:mq,onChange:i,children:j.t("menu.view.accessories.DesignInformation",t)})},{key:"instruction-panel-check-box",label:h.jsx(a2,{selector:PBe,onChange:r,children:j.t("menu.view.accessories.Instruction",t)})},{key:"sticky-note-panel-check-box",label:h.jsx(a2,{selector:RBe,onChange:a,children:j.t("menu.view.accessories.StickyNote",t)})}]};var tg=(t=>(t[t.NO_BUILDING=3]="NO_BUILDING",t[t.AT_LEAST_ONE_BAD_NO_GOOD=2]="AT_LEAST_ONE_BAD_NO_GOOD",t[t.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD=1]="AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD",t[t.OK=0]="OK",t))(tg||{});const aO=50,eX=(t,e,n)=>{if(e(z.Foundation)===0)return{status:3};let i=!1,r=!1,a;for(const l of t)if(l.type===z.Foundation){const s=l;if(s.notBuilding)continue;if(n(z.Wall,s.id).length>0){const u=xe.getBuildingCompletionStatus(s,t);u===Uc.COMPLETE?i=!0:(r=!0,a=u)}else r=!0}return r&&!i?{status:2,buildingCompletion:a}:r&&i?{status:1}:{status:0}},G8=t=>{if(!t.color)return .5;const e=t.color.toLowerCase();if(e==="white")return .05;if(e==="black")return .95;const n=parseInt(t.color.substring(1),16),o=n>>16&255,i=n>>8&255,r=n&255;let a=Math.min(o,i);a=Math.min(a,r);let l=Math.max(o,i);return l=Math.max(l,r),Math.min(.95,Math.max(.05,1-(a+l)/510))},lO=(t,e,n,o)=>e<0&&t.low>=n-o||e>0&&t.high<=n+o?0:e,Xx=(t,e,n,o,i,r)=>{if(n===d2.Sinusoidal)return .5*(t+e)-.5*(t-e)*Math.cos(Mue*(r-(o-720)));const a=.5*(t+e),l=.5*(t-e),s=i.daylight();if(r>i.sunrise&&ri.sunset){const p=r-i.sunset;return e+(u-e)*Math.exp(-d*p/c)}const f=r+23*60-i.sunset;return e+(u-e)*Math.exp(-d*f/c)},Jx=(t,e,n)=>{const o=t.getFullYear(),i=t.getMonth(),r=t.getDate(),l=xe.daysOfMonth(i,o)/2;let s,c,u;if(r11&&(c=0);const p=xe.daysOfMonth(c,o)/2,g=l+p;u=(r-l)/g}const d=e[s]+(e[c]-e[s])*u,f=n[s]+(n[c]-n[s])*u;return{low:d,high:f}},aLn=(t,e,n,o,i,r)=>{const a=n.length;let l=0,s=-1e3,c=1e3,u=-1e3,d=1e3;for(let g=0;go[g]&&(c=o[g]),d>n[g]&&(d=n[g]);l/=2*a;const f=.25*(s-c+u-d),p=r*Math.sqrt(Sre/(2*i));return t>0?l-f*Math.exp(-p)*Math.cos(Sre*(e-Zbe)-p):l-f*Math.exp(-p)*Math.cos(Math.PI+Sre*(e-Zbe)-p)},Z$e=(t,e,n,o,i,r,a,l,s)=>aLn(t,e,o,i,l,s)-Math.exp(-s*Math.sqrt(Mue/(2*l)))*a*Math.cos(Mue*(n-(r-720)-f$t)),{Option:X8}=Yo,WQ=be.memo(({type:t})=>{const e=M(FBe),n=M(a4t),o=M(s4t),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.option.SamplingFrequency",i)+":"}),h.jsxs(Yo,{style:{width:"72px"},value:r??4,onChange:a=>{M.getState().set(l=>{switch(t){case Ql.CSP:l.world.cspTimesPerHour=a;break;case Ql.SUT:l.world.sutTimesPerHour=a;break;default:l.world.timesPerHour=a;break}})},children:[h.jsx(X8,{value:1,children:"1"},1),h.jsx(X8,{value:2,children:"2"},2),h.jsx(X8,{value:3,children:"3"},3),h.jsx(X8,{value:4,children:"4"},4),h.jsx(X8,{value:6,children:"6"},6),h.jsx(X8,{value:12,children:"12"},12),h.jsx(X8,{value:30,children:"30"},30)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("menu.option.TimesPerHour",i)})]})}),{Option:Wre}=Yo,NQ=be.memo(({type:t})=>{const e=M(mH),n=M(qL),o=M(WBe),i=Kt(),r=m.useMemo(()=>{switch(t){case Ql.CSP:return n;case Ql.SUT:return o;default:return e}},[t,e,n,o]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsxs(Yo,{style:{marginLeft:"150px",width:"72px"},value:r??6,onChange:a=>{switch(t){case Ql.BUILDING:M.getState().set(l=>{l.world.daysPerYear=a});break;case Ql.PV:M.getState().set(l=>{l.world.daysPerYear=a}),Sn.setState({yearlyPvYield:[]});break;case Ql.CSP:M.getState().set(l=>{l.world.cspDaysPerYear=a}),Sn.setState({yearlyParabolicTroughYield:[],yearlyParabolicDishYield:[],yearlyFresnelReflectorYield:[],yearlyHeliostatYield:[]});break;case Ql.SUT:M.getState().set(l=>{l.world.sutDaysPerYear=a}),Sn.setState({yearlyUpdraftTowerYield:[]});break}},children:[h.jsx(Wre,{value:4,children:"4"},4),h.jsx(Wre,{value:6,children:"6"},6),h.jsx(Wre,{value:12,children:"12"},12)]}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("menu.option.DaysPerYear",i)})]})}),uN=be.memo(({type:t})=>{const e=M(o4t),n=M(i4t),o=M(l4t),i=M(c4t),r=Kt(),a=m.useMemo(()=>{switch(t){case Ql.PV:return n;case Ql.CSP:return o;case Ql.SUT:return i;default:return e}},[t,n,o,i,e]);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.option.GridCellSize",r)+":"}),h.jsx(Hn,{min:.1,max:5,step:.05,style:{width:72},precision:2,value:a??.5,onChange:l=>{l!==null&&M.getState().set(s=>{switch(t){case Ql.PV:s.world.pvGridCellSize=l;break;case Ql.CSP:s.world.cspGridCellSize=l;break;case Ql.SUT:s.world.sutGridCellSize=l;break;default:s.world.solarRadiationHeatmapGridCellSize=l;break}})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("word.MeterAbbreviation",r)})]})}),lLn=()=>[{key:"building-energy-simulation-sampling-frequency",label:h.jsx(WQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-sampling-days",label:h.jsx(NQ,{type:Ql.BUILDING})},{key:"building-energy-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}],{Option:TTe}=Yo,sLn=be.memo(()=>{const t=Kt(),e=M(n4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.solarPanel.PanelDiscretization",t)+":"}),h.jsxs(Yo,{style:{width:"165px"},value:e??Hm.APPROXIMATE,onChange:n=>{M.getState().set(o=>{o.world.discretization=n})},children:[h.jsx(TTe,{value:Hm.EXACT,children:j.t("menu.solarPanel.Exact",t)},Hm.EXACT),h.jsx(TTe,{value:Hm.APPROXIMATE,children:j.t("menu.solarPanel.Approximate",t)},Hm.APPROXIMATE)]})]})}),cLn=be.memo(()=>{const t=Kt(),e=M(K1e);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:j.t("menu.solarPanel.SolarPanelSimulationNoAnimation",t)+":"}),h.jsx(wc,{checked:e,onChange:n=>{M.getState().set(o=>{o.world.noAnimationForSolarPanelSimulation=n})}})]})}),uLn=t=>{const e=M.getState().world.discretization,n=[{key:"solar-panel-simulation-sampling-frequency",label:h.jsx(WQ,{type:Ql.PV})},{key:"solar-panel-simulation-sampling-days",label:h.jsx(NQ,{type:Ql.PV})},{key:"solar-panel-discretization",label:h.jsx(sLn,{})}];return(!e||e===Hm.APPROXIMATE)&&n.push({key:"solar-panel-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.PV})}),t||n.push({key:"solar-panel-simulation-no-animation",label:h.jsx(cLn,{})}),n},sO=t=>[{key:`${t}-simulation-sampling-frequency`,label:h.jsx(WQ,{type:Ql.CSP})},{key:`${t}-simulation-sampling-days`,label:h.jsx(NQ,{type:Ql.CSP})},{key:`${t}-simulation-grid-cell-size`,label:h.jsx(uN,{type:Ql.CSP})}],dLn=be.memo(()=>{const t=Kt(),e=M(wf);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"280px"},children:j.t("menu.physics.SolarRadiationHeatmapMaxValue",t)+":"}),h.jsx(Hn,{min:.5,max:50,step:.5,style:{width:60},precision:1,value:e??5,onChange:n=>{M.getState().set(o=>{n!==null&&(o.viewState.solarRadiationHeatMapMaxValue=n)})}})]})}),fLn=be.memo(()=>{const t=Kt(),e=M(FBe);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{width:"150px"},children:j.t("menu.option.SamplingFrequency",t)+":"}),h.jsx(Hn,{min:1,max:60,step:1,style:{width:60},precision:0,value:e,formatter:n=>Number(n).toFixed(0),onChange:n=>{n!==null&&M.getState().set(o=>{o.world.timesPerHour=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("menu.option.TimesPerHour",t)})]})}),hLn=be.memo(()=>{const t=Kt(),e=M(r4t);return h.jsxs(tn,{noPadding:!0,stayAfterClick:!0,children:[h.jsx(en,{style:{paddingRight:"10px"},children:j.t("menu.solarPanel.VisibilityGridCellSize",t)+":"}),h.jsx(Hn,{min:.1,max:5,step:.1,style:{width:60},precision:1,value:e??.2,onChange:n=>{n!==null&&M.getState().set(o=>{o.world.solarPanelVisibilityGridCellSize=n})}}),h.jsx(en,{style:{paddingLeft:"10px"},children:j.t("word.MeterAbbreviation",t)})]})}),pLn=()=>[{key:"sut-simulation-sampling-frequency",label:h.jsx(WQ,{type:Ql.SUT})},{key:"sut-simulation-sampling-days",label:h.jsx(NQ,{type:Ql.SUT})},{key:"sut-simulation-grid-cell-size",label:h.jsx(uN,{type:Ql.SUT})}],gLn=t=>{const e={lng:M.getState().language},n=ht.getState().setPrimitiveStore,o=M.getState().set,i=M.getState().selectNone,r=M.getState().countElementsByType,a=M.getState().countHeatmapCells,l=ht.getState().runDynamicSimulation,s=ht.getState().runStaticSimulation,c=M.getState().world.noAnimationForHeatmapSimulation,u=M.getState().elements,d=M.getState().loggable,f=xe.hasMovingParts(u),p=[],g=()=>{s||hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runStaticSimulation",!s),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()}})},100)},A=()=>{l||hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),n("runDynamicSimulation",!l),d&&o(Y=>{Y.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()}})},100)},w=()=>{a()>ZNe?_r.confirm({title:j.t("message.CalculationMayBeSlowDoYouWantToContinue",e)+" ("+j.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",e)+")",icon:h.jsx(WW,{}),onOk:()=>{b()},onCancel:()=>{},okText:`${j.t("word.Yes",e)}`,cancelText:`${j.t("word.No",e)}`}):b()},b=()=>{!c||f?A():g()},C=()=>{if(r(z.Sensor)===0){hn(j.t("analysisManager.NoSensorForCollectingData",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(O=>{O.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()}}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailyLightSensor=!0})},100)},P=()=>{if(r(z.Sensor)===0){hn(j.t("analysisManager.NoSensorForCollectingData",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{d&&o(O=>{O.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()}}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlyLightSensor=!0})},100)},v=()=>{const Y=eX(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let O;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:O=j.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:O=j.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:O=j.t("message.BuildingRoofMissing",e);break;default:O=j.t("message.UnknownErrors",e)}Do(j.t("message.SimulationWillNotStartDueToErrors",e)+": "+O);return}Y.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",e)),hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),d&&o(O=>{O.actionInfo={name:"Analyze Daily Building Energy",timestamp:new Date().getTime()}}),ht.getState().set(O=>{O.runDailyThermalSimulation=!0,O.simulationInProgress=!0})},100)},T=()=>{const Y=eX(u,M.getState().countElementsByType,M.getState().getChildrenOfType);if(Y.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",e));return}if(Y.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let O;switch(Y.buildingCompletion){case Uc.WALL_DISJOINED:O=j.t("message.WallsAreNotConnected",e);break;case Uc.WALL_EMPTY:O=j.t("message.BuildingContainsEmptyWall",e);break;case Uc.ROOF_MISSING:O=j.t("message.BuildingRoofMissing",e);break;default:O=j.t("message.UnknownErrors",e)}Do(j.t("message.SimulationWillNotStartDueToErrors",e)+": "+O);return}Y.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",e)),hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{i(),ht.getState().set(O=>{O.runYearlyThermalSimulation=!0,O.simulationInProgress=!0}),d&&o(O=>{O.actionInfo={name:"Analyze Yearly Building Energy",timestamp:new Date().getTime()}})},100)},y=()=>{if(r(z.SolarPanel)===0){hn(j.t("analysisManager.NoSolarPanelForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyPvIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForSolarPanels=!0})},100)},S=()=>{if(r(z.SolarPanel)===0){hn(j.t("analysisManager.NoSolarPanelForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyPvIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForSolarPanels=!0})},100)},x=()=>{if(M.getState().countObservers()===0){hn(j.t("analysisManager.NoObserverForVisibilityAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{ht.getState().set(O=>{O.runSolarPanelVisibilityAnalysis=!O.runSolarPanelVisibilityAnalysis,O.simulationInProgress=!0}),d&&o(O=>{O.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()}})},100)},R=()=>{if(r(z.ParabolicTrough)===0){hn(j.t("analysisManager.NoParabolicTroughForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyParabolicTroughIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForParabolicTroughs=!0})},100)},H=()=>{if(r(z.ParabolicTrough)===0){hn(j.t("analysisManager.NoParabolicTroughForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyParabolicTroughIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForParabolicTroughs=!0})},100)},D=()=>{if(r(z.ParabolicDish)===0){hn(j.t("analysisManager.NoParabolicDishForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyParabolicDishIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForParabolicDishes=!0})},100)},k=()=>{if(r(z.ParabolicDish)===0){hn(j.t("analysisManager.NoParabolicDishForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyParabolicDishIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForParabolicDishes=!0})},100)},W=()=>{if(r(z.FresnelReflector)===0){hn(j.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyFresnelReflectorIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForFresnelReflectors=!0})},100)},N=()=>{if(r(z.FresnelReflector)===0){hn(j.t("analysisManager.NoFresnelReflectorForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyFresnelReflectorIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForFresnelReflectors=!0})},100)},L=()=>{if(r(z.Heliostat)===0){hn(j.t("analysisManager.NoHeliostatForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyHeliostatIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForHeliostats=!0})},100)},E=()=>{if(r(z.Heliostat)===0){hn(j.t("analysisManager.NoHeliostatForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyHeliostatIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForHeliostats=!0})},100)},U=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){hn(j.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyUpdraftTowerIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Daily Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForUpdraftTower=!0})},100)},F=()=>{if(M.getState().countSolarStructuresByType(zn.UpdraftTower)===0){hn(j.t("analysisManager.NoSolarUpdraftTowerForAnalysis",e));return}hn(j.t("message.SimulationStarted",e)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.yearlyUpdraftTowerIndividualOutputs=!1),d&&(O.actionInfo={name:"Run Yearly Simulation for Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runYearlySimulationForUpdraftTower=!0})},100)},B=[];B.push({key:"solar-radiation-heatmap-grid-cell-size",label:h.jsx(uN,{type:Ql.BUILDING})}),B.push({key:"solar-radiation-heatmap-max-value",label:h.jsx(dLn,{})}),xe.hasHeliostatOrFresnelReflectors(u)&&B.push({key:"solar-radiation-heatmap-reflection-only",label:h.jsx(Ere,{selector:j1e,onChange:Y=>{M.getState().set(O=>{O.world.noAnimationForHeatmapSimulation=Y})},children:j.t("menu.physics.ReflectionHeatmap",e)+":"})}),f||B.push({key:"solar-radiation-heatmap-no-animation",label:h.jsx(Ere,{selector:X1e,onChange:Y=>{M.getState().set(O=>{O.world.noAnimationForHeatmapSimulation=Y})},children:j.t("menu.physics.SolarRadiationHeatmapNoAnimation",e)+":"})}),p.push({key:"physics-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.physicsSubMenu",e)}),children:[{key:"daily-solar-radiation-heatmap",label:h.jsx(tn,{noPadding:!0,onClick:w,children:j.t("menu.physics.DailySolarRadiationHeatmap",e)})},{key:"solar-radiation-heatmap-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.physics.SolarRadiationHeatmapOptions",e)}),children:B}]});const _=[];return _.push({key:"sensor-simulation-sampling-frequency",label:h.jsx(fLn,{})}),f||_.push({key:"sensor-simulation-no-animation",label:h.jsx(Ere,{selector:J1e,onChange:Y=>{M.getState().set(O=>{O.world.noAnimationForSensorDataCollection=Y})},children:j.t("menu.sensor.SensorSimulationNoAnimation",e)+":"})}),t.sensorCount>0&&p.push({key:"sensor-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.sensorSubMenu",e)}),children:[{key:"sensor-collect-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:C,children:j.t("menu.sensor.CollectDailyData",e)})},{key:"sensor-collect-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:P,children:j.t("menu.sensor.CollectYearlyData",e)})},{key:"sensor-simulation-options-submenu-2",label:h.jsx(tn,{noPadding:!0,children:j.t("word.Options",e)}),children:_}]}),t.wallCount>0&&p.push({key:"buildings-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingSubMenu",e)}),children:[{key:"building-energy-daily-data",label:h.jsx(tn,{noPadding:!0,onClick:v,children:j.t("menu.building.AnalyzeDailyBuildingEnergy",e)})},{key:"building-energy-yearly-data",label:h.jsx(tn,{noPadding:!0,onClick:T,children:j.t("menu.building.AnalyzeYearlyBuildingEnergy",e)})},{key:"building-energy-analysis-options-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.building.EnergyAnalysisOptions",e)}),children:lLn()}]}),t.solarPanelCount>0&&p.push({key:"solar-panels-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarPanelSubMenu",e)}),children:[{key:"solar-panel-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:y,children:j.t("menu.solarPanel.AnalyzeDailyYield",e)})},{key:"solar-panel-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:S,children:j.t("menu.solarPanel.AnalyzeYearlyYield",e)})},{key:"solar-panel-energy-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarPanel.EnergyAnalysisOptions",e)}),children:uLn(f)},{key:"solar-panel-visibility",label:h.jsx(tn,{noPadding:!0,onClick:x,children:j.t("menu.solarPanel.AnalyzeVisibility",e)})},{key:"solar-panel-visibility-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarPanel.VisibilityAnalysisOptions",e)}),children:[{key:"solar-panel-visibility-grid-cell-size",label:h.jsx(hLn,{})}]}]}),t.parabolicTroughCount>0&&p.push({key:"parabolic-troughs-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.parabolicTroughSubMenu",e)}),children:[{key:"parabolic-trough-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:R,children:j.t("menu.parabolicTrough.AnalyzeDailyYield",e)})},{key:"parabolic-trough-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:H,children:j.t("menu.parabolicTrough.AnalyzeYearlyYield",e)})},{key:"parabolic-trough-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("parabolic-trough")}]}),t.parabolicDishCount>0&&p.push({key:"parabolic-dishes-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.parabolicDishSubMenu",e)}),children:[{key:"parabolic-dish-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:D,children:j.t("menu.parabolicDish.AnalyzeDailyYield",e)})},{key:"parabolic-dish-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:k,children:j.t("menu.parabolicDish.AnalyzeYearlyYield",e)})},{key:"parabolic-dish-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("parabolic-dish")}]}),t.fresnelReflectorCount>0&&p.push({key:"fresnel-reflector-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.fresnelReflectorSubMenu",e)}),children:[{key:"fresnel-reflector-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:W,children:j.t("menu.fresnelReflector.AnalyzeDailyYield",e)})},{key:"fresnel-reflector-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:N,children:j.t("menu.fresnelReflector.AnalyzeYearlyYield",e)})},{key:"fresnel-reflector-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("fresnel-reflector")}]}),t.heliostatCount>0&&p.push({key:"heliostat-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.heliostatSubMenu",e)}),children:[{key:"heliostat-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:L,children:j.t("menu.heliostat.AnalyzeDailyYield",e)})},{key:"heliostat-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:E,children:j.t("menu.heliostat.AnalyzeYearlyYield",e)})},{key:"heliostat-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:sO("heliostat-analysis")}]}),t.solarUpdraftTowerCount>0&&p.push({key:"solar-updraft-tower-submenu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarUpdraftTowerSubMenu",e)}),children:[{key:"solar-updraft-tower-daily-yield",label:h.jsx(tn,{noPadding:!0,onClick:U,children:j.t("menu.solarUpdraftTower.AnalyzeDailyYield",e)})},{key:"solar-updraft-tower-yearly-yield",label:h.jsx(tn,{noPadding:!0,onClick:F,children:j.t("menu.solarUpdraftTower.AnalyzeYearlyYield",e)})},{key:"solar-updraft-tower-analysis-options",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.AnalysisOptions",e)}),children:pLn()}]}),p};/** * @license * Copyright 2017 Google LLC * @@ -4913,7 +4913,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var nQe={NODE_CLIENT:!1,NODE_ADMIN:!1,SDK_VERSION:"${JSCORE_VERSION}"};/** + */var eQe={NODE_CLIENT:!1,NODE_ADMIN:!1,SDK_VERSION:"${JSCORE_VERSION}"};/** * @license * Copyright 2017 Google LLC * @@ -4928,7 +4928,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ei=function(t,e){if(!t)throw _H(e)},_H=function(t){return new Error("Firebase Database ("+nQe.SDK_VERSION+") INTERNAL ASSERT FAILED: "+t)};/** + */var ei=function(t,e){if(!t)throw _H(e)},_H=function(t){return new Error("Firebase Database ("+eQe.SDK_VERSION+") INTERNAL ASSERT FAILED: "+t)};/** * @license * Copyright 2017 Google LLC * @@ -4943,7 +4943,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var oQe=function(t){for(var e=[],n=0,o=0;o>6|192,e[n++]=i&63|128):(i&64512)===55296&&o+1>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},ALn=function(t){for(var e=[],n=0,o=0;n191&&i<224){var r=t[n++];e[o++]=String.fromCharCode((i&31)<<6|r&63)}else if(i>239&&i<365){var r=t[n++],a=t[n++],l=t[n++],s=((i&7)<<18|(r&63)<<12|(a&63)<<6|l&63)-65536;e[o++]=String.fromCharCode(55296+(s>>10)),e[o++]=String.fromCharCode(56320+(s&1023))}else{var r=t[n++],a=t[n++];e[o++]=String.fromCharCode((i&15)<<12|(r&63)<<6|a&63)}}return e.join("")},Lye={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray:function(t,e){if(!Array.isArray(t))throw Error("encodeByteArray takes an array as a parameter");this.init_();for(var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,o=[],i=0;i>2,d=(r&3)<<4|l>>4,f=(l&15)<<2|c>>6,p=c&63;s||(p=64,a||(f=64)),o.push(n[u],n[d],n[f],n[p])}return o.join("")},encodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(t):this.encodeByteArray(oQe(t),e)},decodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(t):ALn(this.decodeStringToByteArray(t,e))},decodeStringToByteArray:function(t,e){this.init_();for(var n=e?this.charToByteMapWebSafe_:this.charToByteMap_,o=[],i=0;i>4;if(o.push(f),c!==64){var p=l<<4&240|c>>2;if(o.push(p),d!==64){var g=c<<6&192|d;o.push(g)}}}return o},init_:function(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(var t=0;t=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(t)]=t,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(t)]=t)}}},iQe=function(t){var e=oQe(t);return Lye.encodeByteArray(e,!0)},PTe=function(t){return iQe(t).replace(/\./g,"")},CTe=function(t){try{return Lye.decodeString(t,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/** + */var tQe=function(t){for(var e=[],n=0,o=0;o>6|192,e[n++]=i&63|128):(i&64512)===55296&&o+1>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},mLn=function(t){for(var e=[],n=0,o=0;n191&&i<224){var r=t[n++];e[o++]=String.fromCharCode((i&31)<<6|r&63)}else if(i>239&&i<365){var r=t[n++],a=t[n++],l=t[n++],s=((i&7)<<18|(r&63)<<12|(a&63)<<6|l&63)-65536;e[o++]=String.fromCharCode(55296+(s>>10)),e[o++]=String.fromCharCode(56320+(s&1023))}else{var r=t[n++],a=t[n++];e[o++]=String.fromCharCode((i&15)<<12|(r&63)<<6|a&63)}}return e.join("")},Lye={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray:function(t,e){if(!Array.isArray(t))throw Error("encodeByteArray takes an array as a parameter");this.init_();for(var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,o=[],i=0;i>2,d=(r&3)<<4|l>>4,f=(l&15)<<2|c>>6,p=c&63;s||(p=64,a||(f=64)),o.push(n[u],n[d],n[f],n[p])}return o.join("")},encodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(t):this.encodeByteArray(tQe(t),e)},decodeString:function(t,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(t):mLn(this.decodeStringToByteArray(t,e))},decodeStringToByteArray:function(t,e){this.init_();for(var n=e?this.charToByteMapWebSafe_:this.charToByteMap_,o=[],i=0;i>4;if(o.push(f),c!==64){var p=l<<4&240|c>>2;if(o.push(p),d!==64){var g=c<<6&192|d;o.push(g)}}}return o},init_:function(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(var t=0;t=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(t)]=t,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(t)]=t)}}},nQe=function(t){var e=tQe(t);return Lye.encodeByteArray(e,!0)},PTe=function(t){return nQe(t).replace(/\./g,"")},CTe=function(t){try{return Lye.decodeString(t,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/** * @license * Copyright 2017 Google LLC * @@ -4958,7 +4958,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function rQe(t){return iF(void 0,t)}function iF(t,e){if(!(e instanceof Object))return e;switch(e.constructor){case Date:var n=e;return new Date(n.getTime());case Object:t===void 0&&(t={});break;case Array:t=[];break;default:return e}for(var o in e)!e.hasOwnProperty(o)||!wLn(o)||(t[o]=iF(t[o],e[o]));return t}function wLn(t){return t!=="__proto__"}/** + */function oQe(t){return iF(void 0,t)}function iF(t,e){if(!(e instanceof Object))return e;switch(e.constructor){case Date:var n=e;return new Date(n.getTime());case Object:t===void 0&&(t={});break;case Array:t=[];break;default:return e}for(var o in e)!e.hasOwnProperty(o)||!yLn(o)||(t[o]=iF(t[o],e[o]));return t}function yLn(t){return t!=="__proto__"}/** * @license * Copyright 2017 Google LLC * @@ -5003,7 +5003,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Kx(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function Nye(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Kx())}function aQe(){try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function vLn(){return typeof self=="object"&&self.self===self}function xLn(){var t=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof t=="object"&&t.id!==void 0}function lQe(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function bLn(){return Kx().indexOf("Electron/")>=0}function SLn(){var t=Kx();return t.indexOf("MSIE ")>=0||t.indexOf("Trident/")>=0}function TLn(){return Kx().indexOf("MSAppHost/")>=0}function sQe(){return nQe.NODE_ADMIN===!0}function PLn(){return!aQe()&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}/** + */function Kx(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function Nye(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Kx())}function iQe(){try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function ALn(){return typeof self=="object"&&self.self===self}function wLn(){var t=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof t=="object"&&t.id!==void 0}function rQe(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function vLn(){return Kx().indexOf("Electron/")>=0}function xLn(){var t=Kx();return t.indexOf("MSIE ")>=0||t.indexOf("Trident/")>=0}function bLn(){return Kx().indexOf("MSAppHost/")>=0}function aQe(){return eQe.NODE_ADMIN===!0}function SLn(){return!iQe()&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}/** * @license * Copyright 2017 Google LLC * @@ -5018,7 +5018,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var CLn="FirebaseError",cQe=function(t){Ti(e,t);function e(n,o,i){var r=t.call(this,o)||this;return r.code=n,r.customData=i,r.name=CLn,Object.setPrototypeOf(r,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(r,Uye.prototype.create),r}return e}(Error),Uye=function(){function t(e,n,o){this.service=e,this.serviceName=n,this.errors=o}return t.prototype.create=function(e){for(var n=[],o=1;o"})}var HLn=/\{\$([^}]+)}/g;/** + */var TLn="FirebaseError",lQe=function(t){Ti(e,t);function e(n,o,i){var r=t.call(this,o)||this;return r.code=n,r.customData=i,r.name=TLn,Object.setPrototypeOf(r,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(r,Uye.prototype.create),r}return e}(Error),Uye=function(){function t(e,n,o){this.service=e,this.serviceName=n,this.errors=o}return t.prototype.create=function(e){for(var n=[],o=1;o"})}var CLn=/\{\$([^}]+)}/g;/** * @license * Copyright 2017 Google LLC * @@ -5048,7 +5048,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var uQe=function(t){var e={},n={},o={},i="";try{var r=t.split(".");e=rF(CTe(r[0])||""),n=rF(CTe(r[1])||""),i=r[2],o=n.d||{},delete n.d}catch{}return{header:e,claims:n,data:o,signature:i}},MLn=function(t){var e=uQe(t),n=e.claims;return!!n&&typeof n=="object"&&n.hasOwnProperty("iat")},ILn=function(t){var e=uQe(t).claims;return typeof e=="object"&&e.admin===!0};/** + */var sQe=function(t){var e={},n={},o={},i="";try{var r=t.split(".");e=rF(CTe(r[0])||""),n=rF(CTe(r[1])||""),i=r[2],o=n.d||{},delete n.d}catch{}return{header:e,claims:n,data:o,signature:i}},RLn=function(t){var e=sQe(t),n=e.claims;return!!n&&typeof n=="object"&&n.hasOwnProperty("iat")},HLn=function(t){var e=sQe(t).claims;return typeof e=="object"&&e.admin===!0};/** * @license * Copyright 2017 Google LLC * @@ -5078,7 +5078,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function zLn(t){for(var e=[],n=function(s,c){Array.isArray(c)?c.forEach(function(u){e.push(encodeURIComponent(s)+"="+encodeURIComponent(u))}):e.push(encodeURIComponent(s)+"="+encodeURIComponent(c))},o=0,i=Object.entries(t);o>>31)&4294967295}for(var a=this.chain_[0],l=this.chain_[1],s=this.chain_[2],c=this.chain_[3],u=this.chain_[4],d,f,i=0;i<80;i++){i<40?i<20?(d=c^l&(s^c),f=1518500249):(d=l^s^c,f=1859775393):i<60?(d=l&s|c&(l|s),f=2400959708):(d=l^s^c,f=3395469782);var r=(a<<5|a>>>27)+d+u+f+o[i]&4294967295;u=c,c=s,s=(l<<30|l>>>2)&4294967295,l=a,a=r}this.chain_[0]=this.chain_[0]+a&4294967295,this.chain_[1]=this.chain_[1]+l&4294967295,this.chain_[2]=this.chain_[2]+s&4294967295,this.chain_[3]=this.chain_[3]+c&4294967295,this.chain_[4]=this.chain_[4]+u&4294967295},t.prototype.update=function(e,n){if(e!=null){n===void 0&&(n=e.length);for(var o=n-this.blockSize,i=0,r=this.buf_,a=this.inbuf_;i=56;o--)this.buf_[o]=n&255,n/=256;this.compress_(this.buf_);for(var i=0,o=0;o<5;o++)for(var r=24;r>=0;r-=8)e[i]=this.chain_[o]>>r&255,++i;return e},t}();function ELn(t,e){var n=new kLn(t,e);return n.subscribe.bind(n)}var kLn=function(){function t(e,n){var o=this;this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=n,this.task.then(function(){e(o)}).catch(function(i){o.error(i)})}return t.prototype.next=function(e){this.forEachObserver(function(n){n.next(e)})},t.prototype.error=function(e){this.forEachObserver(function(n){n.error(e)}),this.close(e)},t.prototype.complete=function(){this.forEachObserver(function(e){e.complete()}),this.close()},t.prototype.subscribe=function(e,n,o){var i=this,r;if(e===void 0&&n===void 0&&o===void 0)throw new Error("Missing Observer.");FLn(e,["next","error","complete"])?r=e:r={next:e,error:n,complete:o},r.next===void 0&&(r.next=Nre),r.error===void 0&&(r.error=Nre),r.complete===void 0&&(r.complete=Nre);var a=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(function(){try{i.finalError?r.error(i.finalError):r.complete()}catch{}}),this.observers.push(r),a},t.prototype.unsubscribeOne=function(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))},t.prototype.forEachObserver=function(e){if(!this.finalized)for(var n=0;n>>31)&4294967295}for(var a=this.chain_[0],l=this.chain_[1],s=this.chain_[2],c=this.chain_[3],u=this.chain_[4],d,f,i=0;i<80;i++){i<40?i<20?(d=c^l&(s^c),f=1518500249):(d=l^s^c,f=1859775393):i<60?(d=l&s|c&(l|s),f=2400959708):(d=l^s^c,f=3395469782);var r=(a<<5|a>>>27)+d+u+f+o[i]&4294967295;u=c,c=s,s=(l<<30|l>>>2)&4294967295,l=a,a=r}this.chain_[0]=this.chain_[0]+a&4294967295,this.chain_[1]=this.chain_[1]+l&4294967295,this.chain_[2]=this.chain_[2]+s&4294967295,this.chain_[3]=this.chain_[3]+c&4294967295,this.chain_[4]=this.chain_[4]+u&4294967295},t.prototype.update=function(e,n){if(e!=null){n===void 0&&(n=e.length);for(var o=n-this.blockSize,i=0,r=this.buf_,a=this.inbuf_;i=56;o--)this.buf_[o]=n&255,n/=256;this.compress_(this.buf_);for(var i=0,o=0;o<5;o++)for(var r=24;r>=0;r-=8)e[i]=this.chain_[o]>>r&255,++i;return e},t}();function zLn(t,e){var n=new DLn(t,e);return n.subscribe.bind(n)}var DLn=function(){function t(e,n){var o=this;this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=n,this.task.then(function(){e(o)}).catch(function(i){o.error(i)})}return t.prototype.next=function(e){this.forEachObserver(function(n){n.next(e)})},t.prototype.error=function(e){this.forEachObserver(function(n){n.error(e)}),this.close(e)},t.prototype.complete=function(){this.forEachObserver(function(e){e.complete()}),this.close()},t.prototype.subscribe=function(e,n,o){var i=this,r;if(e===void 0&&n===void 0&&o===void 0)throw new Error("Missing Observer.");ELn(e,["next","error","complete"])?r=e:r={next:e,error:n,complete:o},r.next===void 0&&(r.next=Nre),r.error===void 0&&(r.error=Nre),r.complete===void 0&&(r.complete=Nre);var a=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(function(){try{i.finalError?r.error(i.finalError):r.complete()}catch{}}),this.observers.push(r),a},t.prototype.unsubscribeOne=function(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))},t.prototype.forEachObserver=function(e){if(!this.finalized)for(var n=0;n=55296&&i<=56319){var r=i-55296;o++,ei(o>6|192,e[n++]=i&63|128):i<65536?(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},UQ=function(t){for(var e=0,n=0;n=55296&&o<=56319?(e+=4,n++):e+=3}return e};/** + */var kLn=function(t){for(var e=[],n=0,o=0;o=55296&&i<=56319){var r=i-55296;o++,ei(o>6|192,e[n++]=i&63|128):i<65536?(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=i&63|128):(e[n++]=i>>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=i&63|128)}return e},UQ=function(t){for(var e=0,n=0;n=55296&&o<=56319?(e+=4,n++):e+=3}return e};/** * @license * Copyright 2021 Google LLC * @@ -5168,7 +5168,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var dQe=function(){function t(e,n){this.name=e,this.container=n,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}return t.prototype.get=function(e){var n=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(n)){var o=new Lp;if(this.instancesDeferred.set(n,o),this.isInitialized(n)||this.shouldAutoInitialize())try{var i=this.getOrInitializeService({instanceIdentifier:n});i&&o.resolve(i)}catch{}}return this.instancesDeferred.get(n).promise},t.prototype.getImmediate=function(e){var n,o=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),i=(n=e==null?void 0:e.optional)!==null&&n!==void 0?n:!1;if(this.isInitialized(o)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:o})}catch(r){if(i)return null;throw r}else{if(i)return null;throw Error("Service "+this.name+" is not available")}},t.prototype.getComponent=function(){return this.component},t.prototype.setComponent=function(e){var n,o;if(e.name!==this.name)throw Error("Mismatching Component "+e.name+" for Provider "+this.name+".");if(this.component)throw Error("Component for "+this.name+" has already been provided");if(this.component=e,!!this.shouldAutoInitialize()){if(NLn(e))try{this.getOrInitializeService({instanceIdentifier:cv})}catch{}try{for(var i=vg(this.instancesDeferred.entries()),r=i.next();!r.done;r=i.next()){var a=tp(r.value,2),l=a[0],s=a[1],c=this.normalizeInstanceIdentifier(l);try{var u=this.getOrInitializeService({instanceIdentifier:c});s.resolve(u)}catch{}}}catch(d){n={error:d}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}},t.prototype.clearInstance=function(e){e===void 0&&(e=cv),this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)},t.prototype.delete=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return e=Array.from(this.instances.values()),[4,Promise.all(pl(pl([],tp(e.filter(function(o){return"INTERNAL"in o}).map(function(o){return o.INTERNAL.delete()}))),tp(e.filter(function(o){return"_delete"in o}).map(function(o){return o._delete()}))))];case 1:return n.sent(),[2]}})})},t.prototype.isComponentSet=function(){return this.component!=null},t.prototype.isInitialized=function(e){return e===void 0&&(e=cv),this.instances.has(e)},t.prototype.getOptions=function(e){return e===void 0&&(e=cv),this.instancesOptions.get(e)||{}},t.prototype.initialize=function(e){var n,o;e===void 0&&(e={});var i=e.options,r=i===void 0?{}:i,a=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(a))throw Error(this.name+"("+a+") has already been initialized");if(!this.isComponentSet())throw Error("Component "+this.name+" has not been registered yet");var l=this.getOrInitializeService({instanceIdentifier:a,options:r});try{for(var s=vg(this.instancesDeferred.entries()),c=s.next();!c.done;c=s.next()){var u=tp(c.value,2),d=u[0],f=u[1],p=this.normalizeInstanceIdentifier(d);a===p&&f.resolve(l)}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return l},t.prototype.onInit=function(e,n){var o,i=this.normalizeInstanceIdentifier(n),r=(o=this.onInitCallbacks.get(i))!==null&&o!==void 0?o:new Set;r.add(e),this.onInitCallbacks.set(i,r);var a=this.instances.get(i);return a&&e(a,i),function(){r.delete(e)}},t.prototype.invokeOnInitCallbacks=function(e,n){var o,i,r=this.onInitCallbacks.get(n);if(r)try{for(var a=vg(r),l=a.next();!l.done;l=a.next()){var s=l.value;try{s(e,n)}catch{}}}catch(c){o={error:c}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},t.prototype.getOrInitializeService=function(e){var n=e.instanceIdentifier,o=e.options,i=o===void 0?{}:o,r=this.instances.get(n);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:WLn(n),options:i}),this.instances.set(n,r),this.instancesOptions.set(n,i),this.invokeOnInitCallbacks(r,n),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,n,r)}catch{}return r||null},t.prototype.normalizeInstanceIdentifier=function(e){return e===void 0&&(e=cv),this.component?this.component.multipleInstances?e:cv:e},t.prototype.shouldAutoInitialize=function(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"},t}();function WLn(t){return t===cv?void 0:t}function NLn(t){return t.instantiationMode==="EAGER"}/** + */var cQe=function(){function t(e,n){this.name=e,this.container=n,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}return t.prototype.get=function(e){var n=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(n)){var o=new Lp;if(this.instancesDeferred.set(n,o),this.isInitialized(n)||this.shouldAutoInitialize())try{var i=this.getOrInitializeService({instanceIdentifier:n});i&&o.resolve(i)}catch{}}return this.instancesDeferred.get(n).promise},t.prototype.getImmediate=function(e){var n,o=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),i=(n=e==null?void 0:e.optional)!==null&&n!==void 0?n:!1;if(this.isInitialized(o)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:o})}catch(r){if(i)return null;throw r}else{if(i)return null;throw Error("Service "+this.name+" is not available")}},t.prototype.getComponent=function(){return this.component},t.prototype.setComponent=function(e){var n,o;if(e.name!==this.name)throw Error("Mismatching Component "+e.name+" for Provider "+this.name+".");if(this.component)throw Error("Component for "+this.name+" has already been provided");if(this.component=e,!!this.shouldAutoInitialize()){if(LLn(e))try{this.getOrInitializeService({instanceIdentifier:cv})}catch{}try{for(var i=vg(this.instancesDeferred.entries()),r=i.next();!r.done;r=i.next()){var a=tp(r.value,2),l=a[0],s=a[1],c=this.normalizeInstanceIdentifier(l);try{var u=this.getOrInitializeService({instanceIdentifier:c});s.resolve(u)}catch{}}}catch(d){n={error:d}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}},t.prototype.clearInstance=function(e){e===void 0&&(e=cv),this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)},t.prototype.delete=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return e=Array.from(this.instances.values()),[4,Promise.all(pl(pl([],tp(e.filter(function(o){return"INTERNAL"in o}).map(function(o){return o.INTERNAL.delete()}))),tp(e.filter(function(o){return"_delete"in o}).map(function(o){return o._delete()}))))];case 1:return n.sent(),[2]}})})},t.prototype.isComponentSet=function(){return this.component!=null},t.prototype.isInitialized=function(e){return e===void 0&&(e=cv),this.instances.has(e)},t.prototype.getOptions=function(e){return e===void 0&&(e=cv),this.instancesOptions.get(e)||{}},t.prototype.initialize=function(e){var n,o;e===void 0&&(e={});var i=e.options,r=i===void 0?{}:i,a=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(a))throw Error(this.name+"("+a+") has already been initialized");if(!this.isComponentSet())throw Error("Component "+this.name+" has not been registered yet");var l=this.getOrInitializeService({instanceIdentifier:a,options:r});try{for(var s=vg(this.instancesDeferred.entries()),c=s.next();!c.done;c=s.next()){var u=tp(c.value,2),d=u[0],f=u[1],p=this.normalizeInstanceIdentifier(d);a===p&&f.resolve(l)}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return l},t.prototype.onInit=function(e,n){var o,i=this.normalizeInstanceIdentifier(n),r=(o=this.onInitCallbacks.get(i))!==null&&o!==void 0?o:new Set;r.add(e),this.onInitCallbacks.set(i,r);var a=this.instances.get(i);return a&&e(a,i),function(){r.delete(e)}},t.prototype.invokeOnInitCallbacks=function(e,n){var o,i,r=this.onInitCallbacks.get(n);if(r)try{for(var a=vg(r),l=a.next();!l.done;l=a.next()){var s=l.value;try{s(e,n)}catch{}}}catch(c){o={error:c}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(o)throw o.error}}},t.prototype.getOrInitializeService=function(e){var n=e.instanceIdentifier,o=e.options,i=o===void 0?{}:o,r=this.instances.get(n);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:FLn(n),options:i}),this.instances.set(n,r),this.instancesOptions.set(n,i),this.invokeOnInitCallbacks(r,n),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,n,r)}catch{}return r||null},t.prototype.normalizeInstanceIdentifier=function(e){return e===void 0&&(e=cv),this.component?this.component.multipleInstances?e:cv:e},t.prototype.shouldAutoInitialize=function(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"},t}();function FLn(t){return t===cv?void 0:t}function LLn(t){return t.instantiationMode==="EAGER"}/** * @license * Copyright 2019 Google LLC * @@ -5183,7 +5183,7 @@ Length provided: ${this.length}. Number of dictionaries provided: ${this.diction * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var fQe=function(){function t(e){this.name=e,this.providers=new Map}return t.prototype.addComponent=function(e){var n=this.getProvider(e.name);if(n.isComponentSet())throw new Error("Component "+e.name+" has already been registered with "+this.name);n.setComponent(e)},t.prototype.addOrOverwriteComponent=function(e){var n=this.getProvider(e.name);n.isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)},t.prototype.getProvider=function(e){if(this.providers.has(e))return this.providers.get(e);var n=new dQe(e,this);return this.providers.set(e,n),n},t.prototype.getProviders=function(){return Array.from(this.providers.values())},t}();/*! ***************************************************************************** + */var uQe=function(){function t(e){this.name=e,this.providers=new Map}return t.prototype.addComponent=function(e){var n=this.getProvider(e.name);if(n.isComponentSet())throw new Error("Component "+e.name+" has already been registered with "+this.name);n.setComponent(e)},t.prototype.addOrOverwriteComponent=function(e){var n=this.getProvider(e.name);n.isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)},t.prototype.getProvider=function(e){if(this.providers.has(e))return this.providers.get(e);var n=new cQe(e,this);return this.providers.set(e,n),n},t.prototype.getProviders=function(){return Array.from(this.providers.values())},t}();/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the @@ -5211,7 +5211,7 @@ and limitations under the License. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var J8,Bye=[],Sl;(function(t){t[t.DEBUG=0]="DEBUG",t[t.VERBOSE=1]="VERBOSE",t[t.INFO=2]="INFO",t[t.WARN=3]="WARN",t[t.ERROR=4]="ERROR",t[t.SILENT=5]="SILENT"})(Sl||(Sl={}));var hQe={debug:Sl.DEBUG,verbose:Sl.VERBOSE,info:Sl.INFO,warn:Sl.WARN,error:Sl.ERROR,silent:Sl.SILENT},ULn=Sl.INFO,BLn=(J8={},J8[Sl.DEBUG]="log",J8[Sl.VERBOSE]="log",J8[Sl.INFO]="info",J8[Sl.WARN]="warn",J8[Sl.ERROR]="error",J8),jLn=function(t,e){for(var n=[],o=2;o=(l??s.logLevel)&&t({level:Sl[c].toLowerCase(),message:f,args:u,type:s.name})}},o=0,i=Bye;o=(l??s.logLevel)&&t({level:Sl[c].toLowerCase(),message:f,args:u,type:s.name})}},o=0,i=Bye;o=0&&yR.warn(` Warning: You are trying to load Firebase while using Firebase Performance standalone script. You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code. - `)}var uWn=Yye.initializeApp;Yye.initializeApp=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}var hWn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Oi,Oye=Oye||{},Qr=hWn||self;function oX(){}function que(t){var e=typeof t;return e=e!="object"?e:t?Array.isArray(t)?"array":e:"null",e=="array"||e=="object"&&typeof t.length=="number"}function BQ(t){var e=typeof t;return e=="object"&&t!=null||e=="function"}function pWn(t){return Object.prototype.hasOwnProperty.call(t,Ure)&&t[Ure]||(t[Ure]=++gWn)}var Ure="closure_uid_"+(1e9*Math.random()>>>0),gWn=0;function mWn(t,e,n){return t.call.apply(t.bind,arguments)}function yWn(t,e,n){if(!t)throw Error();if(2e?null:typeof t=="string"?t.charAt(e):t[e]}function MTe(t){return Array.prototype.concat.apply([],arguments)}function _ye(t){var e=t.length;if(0e?1:0}var qh;e:{var zTe=Qr.navigator;if(zTe){var DTe=zTe.userAgent;if(DTe){qh=DTe;break e}}qh=""}function Vye(t,e,n){for(var o in t)e.call(n,t[o],o,t)}function vQe(t){var e={};for(var n in t)e[n]=t[n];return e}var ETe="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function xQe(t,e){for(var n,o,i=1;iparseFloat(jre)){rX=String(Ore);break e}}rX=jre}var SWn={};function TWn(){return vWn(function(){for(var t=0,e=ITe(String(rX)).split("."),n=ITe("9").split("."),o=Math.max(e.length,n.length),i=0;t==0&&i>>0);function HQe(t){return typeof t=="function"?t:(t[Vre]||(t[Vre]=function(e){return t.handleEvent(e)}),t[Vre])}function Pd(){N7.call(this),this.i=new OQ(this),this.P=this,this.I=null}Pf(Pd,N7);Pd.prototype[jQ]=!0;Pd.prototype.removeEventListener=function(t,e,n,o){CQe(this,t,e,n,o)};function df(t,e){var n,o=t.I;if(o)for(n=[];o;o=o.I)n.push(o);if(t=t.P,o=e.type||e,typeof e=="string")e=new uh(e,t);else if(e instanceof uh)e.target=e.target||t;else{var i=e;e=new uh(o,t),xQe(e,i)}if(i=!0,n)for(var r=n.length-1;0<=r;r--){var a=e.g=n[r];i=uO(a,o,!0,e)&&i}if(a=e.g=t,i=uO(a,o,!0,e)&&i,i=uO(a,o,!1,e)&&i,n)for(r=0;re.h&&(e.h++,t.next=e.g,e.g=t)}nde=!1}function _Q(t,e){Pd.call(this),this.h=t||1,this.g=e||Qr,this.j=uf(this.kb,this),this.l=Date.now()}Pf(_Q,Pd);Oi=_Q.prototype;Oi.da=!1;Oi.S=null;Oi.kb=function(){if(this.da){var t=Date.now()-this.l;0=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}var dWn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Oi,Oye=Oye||{},Qr=dWn||self;function oX(){}function que(t){var e=typeof t;return e=e!="object"?e:t?Array.isArray(t)?"array":e:"null",e=="array"||e=="object"&&typeof t.length=="number"}function BQ(t){var e=typeof t;return e=="object"&&t!=null||e=="function"}function fWn(t){return Object.prototype.hasOwnProperty.call(t,Ure)&&t[Ure]||(t[Ure]=++hWn)}var Ure="closure_uid_"+(1e9*Math.random()>>>0),hWn=0;function pWn(t,e,n){return t.call.apply(t.bind,arguments)}function gWn(t,e,n){if(!t)throw Error();if(2e?null:typeof t=="string"?t.charAt(e):t[e]}function MTe(t){return Array.prototype.concat.apply([],arguments)}function _ye(t){var e=t.length;if(0e?1:0}var qh;e:{var zTe=Qr.navigator;if(zTe){var DTe=zTe.userAgent;if(DTe){qh=DTe;break e}}qh=""}function Vye(t,e,n){for(var o in t)e.call(n,t[o],o,t)}function AQe(t){var e={};for(var n in t)e[n]=t[n];return e}var ETe="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function wQe(t,e){for(var n,o,i=1;iparseFloat(jre)){rX=String(Ore);break e}}rX=jre}var xWn={};function bWn(){return AWn(function(){for(var t=0,e=ITe(String(rX)).split("."),n=ITe("9").split("."),o=Math.max(e.length,n.length),i=0;t==0&&i>>0);function CQe(t){return typeof t=="function"?t:(t[Vre]||(t[Vre]=function(e){return t.handleEvent(e)}),t[Vre])}function Pd(){N7.call(this),this.i=new OQ(this),this.P=this,this.I=null}Pf(Pd,N7);Pd.prototype[jQ]=!0;Pd.prototype.removeEventListener=function(t,e,n,o){TQe(this,t,e,n,o)};function df(t,e){var n,o=t.I;if(o)for(n=[];o;o=o.I)n.push(o);if(t=t.P,o=e.type||e,typeof e=="string")e=new uh(e,t);else if(e instanceof uh)e.target=e.target||t;else{var i=e;e=new uh(o,t),wQe(e,i)}if(i=!0,n)for(var r=n.length-1;0<=r;r--){var a=e.g=n[r];i=uO(a,o,!0,e)&&i}if(a=e.g=t,i=uO(a,o,!0,e)&&i,i=uO(a,o,!1,e)&&i,n)for(r=0;re.h&&(e.h++,t.next=e.g,e.g=t)}nde=!1}function _Q(t,e){Pd.call(this),this.h=t||1,this.g=e||Qr,this.j=uf(this.kb,this),this.l=Date.now()}Pf(_Q,Pd);Oi=_Q.prototype;Oi.da=!1;Oi.S=null;Oi.kb=function(){if(this.da){var t=Date.now()-this.l;0o.length)){var i=o[1];if(Array.isArray(i)&&!(1>i.length)){var r=i[0];if(r!="noop"&&r!="stop"&&r!="close")for(var a=1;ae)&&(e!=3||$ue||this.g&&(this.h.h||this.g.ga()||jTe(this.g)))){this.I||e!=4||n==7||(n==8||0>=o?sF(3):sF(2)),KQ(this);var i=this.g.ba();this.N=i;t:if(jQe(this)){var r=jTe(this.g);t="";var a=r.length,l=m6(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){jv(this),wE(this);var s="";break t}this.h.i=new Qr.TextDecoder}for(n=0;ne.length?aX:(e=e.substr(o,n),t.C=o+n,e)))}Oi.cancel=function(){this.I=!0,jv(this)};function pN(t){t.Y=Date.now()+t.P,OQe(t,t.P)}function OQe(t,e){if(t.B!=null)throw Error("WatchDog timer not null");t.B=dN(uf(t.eb,t),e)}function KQ(t){t.B&&(Qr.clearTimeout(t.B),t.B=null)}Oi.eb=function(){this.B=null;var t=Date.now();0<=t-this.Y?(YWn(this.j,this.A),this.K!=2&&(sF(),np(17)),jv(this),this.o=2,wE(this)):OQe(this,this.Y-t)};function wE(t){t.l.G==0||t.I||cZe(t.l,t)}function jv(t){KQ(t);var e=t.L;e&&typeof e.na=="function"&&e.na(),t.L=null,Qye(t.W),EQe(t.V),t.g&&(e=t.g,t.g=null,e.abort(),e.na())}function ade(t,e){try{var n=t.l;if(n.G!=0&&(n.g==t||lde(n.i,t))){if(n.I=t.N,!t.J&&lde(n.i,t)&&n.G==3){try{var o=n.Ca.g.parse(e)}catch{o=null}if(Array.isArray(o)&&o.length==3){var i=o;if(i[0]==0){e:if(!n.u){if(n.g)if(n.g.F+3e3i[2]&&n.N&&n.A==0&&!n.v&&(n.v=dN(uf(n.ab,n),6e3));if(1>=qQe(n.i)&&n.ka){try{n.ka()}catch{}n.ka=void 0}}else Yv(n,11)}else if((t.J||n.g==t)&&uX(n),!iX(e))for(i=n.Ca.g.parse(e),e=0;ee)throw Error("Bad port number "+e);t.m=e}else t.m=null}function NTe(t,e,n){e instanceof cF?(t.h=e,tNn(t.h,t.g)):(n||(e=CD(e,ZWn)),t.h=new cF(e,t.g))}function Bc(t,e,n){t.h.set(e,n)}function qQ(t){return Bc(t,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),t}function JWn(t){return t instanceof Qx?Q6(t):new Qx(t,void 0)}function KWn(t,e,n,o){var i=new Qx(null,void 0);return t&&lX(i,t),e&&sX(i,e),n&&cX(i,n),o&&(i.l=o),i}function vE(t,e){return t?e?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function CD(t,e,n){return typeof t=="string"?(t=encodeURI(t).replace(e,qWn),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function qWn(t){return t=t.charCodeAt(0),"%"+(t>>4&15).toString(16)+(t&15).toString(16)}var UTe=/[#\/\?@]/g,$Wn=/[#\?:]/g,QWn=/[#\?]/g,ZWn=/[#\?@]/g,eNn=/#/g;function cF(t,e){this.h=this.g=null,this.i=t||null,this.j=!!e}function U7(t){t.g||(t.g=new VH,t.h=0,t.i&&XWn(t.i,function(e,n){t.add(decodeURIComponent(e.replace(/\+/g," ")),n)}))}Oi=cF.prototype;Oi.add=function(t,e){U7(this),this.i=null,t=GH(this,t);var n=this.g.get(t);return n||this.g.set(t,n=[]),n.push(e),this.h+=1,this};function VQe(t,e){U7(t),e=GH(t,e),$x(t.g.h,e)&&(t.i=null,t.h-=t.g.get(e).length,t=t.g,$x(t.h,e)&&(delete t.h[e],t.i--,t.g.length>2*t.i&&i2e(t)))}function GQe(t,e){return U7(t),e=GH(t,e),$x(t.g.h,e)}Oi.forEach=function(t,e){U7(this),this.g.forEach(function(n,o){wQe(n,function(i){t.call(e,i,o,this)},this)},this)};Oi.T=function(){U7(this);for(var t=this.g.R(),e=this.g.T(),n=[],o=0;o=t.j:!1}function qQe(t){return t.h?1:t.g?t.g.size:0}function lde(t,e){return t.h?t.h==e:t.g?t.g.has(e):!1}function r2e(t,e){t.g?t.g.add(e):t.h=e}function $Qe(t,e){t.h&&t.h==e?t.h=null:t.g&&t.g.has(e)&&t.g.delete(e)}JQe.prototype.cancel=function(){var t,e;if(this.i=QQe(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){try{for(var n=yQe(this.g.values()),o=n.next();!o.done;o=n.next()){var i=o.value;i.cancel()}}catch(r){t={error:r}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.g.clear()}};function QQe(t){var e,n;if(t.h!=null)return t.i.concat(t.h.D);if(t.g!=null&&t.g.size!==0){var o=t.i;try{for(var i=yQe(t.g.values()),r=i.next();!r.done;r=i.next()){var a=r.value;o=o.concat(a.D)}}catch(l){e={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}return _ye(t.i)}function a2e(){}a2e.prototype.stringify=function(t){return Qr.JSON.stringify(t,void 0)};a2e.prototype.parse=function(t){return Qr.JSON.parse(t,void 0)};function iNn(){this.g=new a2e}function rNn(t,e,n){var o=n||"";try{o2e(t,function(i,r){var a=i;BQ(i)&&(a=qye(i)),e.push(o+r+"="+encodeURIComponent(a))})}catch(i){throw e.push(o+"type="+encodeURIComponent("_badmap")),i}}function aNn(t,e){var n=new VQ;if(Qr.Image){var o=new Image;o.onload=cO(dO,n,o,"TestLoadImage: loaded",!0,e),o.onerror=cO(dO,n,o,"TestLoadImage: error",!1,e),o.onabort=cO(dO,n,o,"TestLoadImage: abort",!1,e),o.ontimeout=cO(dO,n,o,"TestLoadImage: timeout",!1,e),Qr.setTimeout(function(){o.ontimeout&&o.ontimeout()},1e4),o.src=t}else e(!1)}function dO(t,e,n,o,i){try{e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,i(o)}catch{}}function gN(t){this.l=t.$b||null,this.j=t.ib||!1}Pf(gN,e2e);gN.prototype.g=function(){return new $Q(this.l,this.j)};gN.prototype.i=function(t){return function(){return t}}({});function $Q(t,e){Pd.call(this),this.D=t,this.u=e,this.m=void 0,this.readyState=l2e,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C="GET",this.B="",this.g=!1,this.A=this.j=this.l=null}Pf($Q,Pd);var l2e=0;Oi=$Q.prototype;Oi.open=function(t,e){if(this.readyState!=l2e)throw this.abort(),Error("Error reopening a connection");this.C=t,this.B=e,this.readyState=1,uF(this)};Oi.send=function(t){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;var e={headers:this.v,method:this.C,credentials:this.m,cache:void 0};t&&(e.body=t),(this.D||Qr).fetch(new Request(this.B,e)).then(this.Va.bind(this),this.ha.bind(this))};Oi.abort=function(){this.response=this.responseText="",this.v=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted."),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,mN(this)),this.readyState=l2e};Oi.Va=function(t){if(this.g&&(this.l=t,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=t.headers,this.readyState=2,uF(this)),this.g&&(this.readyState=3,uF(this),this.g)))if(this.responseType==="arraybuffer")t.arrayBuffer().then(this.Ta.bind(this),this.ha.bind(this));else if(typeof Qr.ReadableStream<"u"&&"body"in t){if(this.j=t.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.A=new TextDecoder;ZQe(this)}else t.text().then(this.Ua.bind(this),this.ha.bind(this))};function ZQe(t){t.j.read().then(t.Sa.bind(t)).catch(t.ha.bind(t))}Oi.Sa=function(t){if(this.g){if(this.u&&t.value)this.response.push(t.value);else if(!this.u){var e=t.value?t.value:new Uint8Array(0);(e=this.A.decode(e,{stream:!t.done}))&&(this.response=this.responseText+=e)}t.done?mN(this):uF(this),this.readyState==3&&ZQe(this)}};Oi.Ua=function(t){this.g&&(this.response=this.responseText=t,mN(this))};Oi.Ta=function(t){this.g&&(this.response=t,mN(this))};Oi.ha=function(){this.g&&mN(this)};function mN(t){t.readyState=4,t.l=null,t.j=null,t.A=null,uF(t)}Oi.setRequestHeader=function(t,e){this.v.append(t,e)};Oi.getResponseHeader=function(t){return this.h&&this.h.get(t.toLowerCase())||""};Oi.getAllResponseHeaders=function(){if(!this.h)return"";for(var t=[],e=this.h.entries(),n=e.next();!n.done;)n=n.value,t.push(n[0]+": "+n[1]),n=e.next();return t.join(`\r -`)};function uF(t){t.onreadystatechange&&t.onreadystatechange.call(t)}Object.defineProperty($Q.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(t){this.m=t?"include":"same-origin"}});var lNn=Qr.JSON.parse;function fu(t){Pd.call(this),this.headers=new VH,this.u=t||null,this.h=!1,this.C=this.g=null,this.H="",this.m=0,this.j="",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=eZe,this.K=this.L=!1}Pf(fu,Pd);var eZe="",sNn=/^https?$/i,cNn=["POST","PUT"];Oi=fu.prototype;Oi.ea=function(t,e,n,o){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.H+"; newUri="+t);e=e?e.toUpperCase():"GET",this.H=t,this.j="",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():ode.g(),this.C=this.u?WTe(this.u):WTe(ode),this.g.onreadystatechange=uf(this.Fa,this);try{this.F=!0,this.g.open(e,String(t),!0),this.F=!1}catch(r){BTe(this,r);return}t=n||"";var i=new VH(this.headers);o&&o2e(o,function(r,a){i.set(a,r)}),o=wWn(i.T()),n=Qr.FormData&&t instanceof Qr.FormData,!(0<=AQe(cNn,e))||o||n||i.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),i.forEach(function(r,a){this.g.setRequestHeader(a,r)},this),this.J&&(this.g.responseType=this.J),"withCredentials"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{oZe(this),0=t.i.j-(t.m?1:0)?!1:t.m?(t.l=e.D.concat(t.l),!0):t.G==1||t.G==2||t.C>=(t.Xa?0:t.Ya)?!1:(t.m=dN(uf(t.Ha,t,e),uZe(t,t.C)),t.C++,!0)}Oi.Ha=function(t){if(this.m)if(this.m=null,this.G==1){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var e=new hN(this,this.h,t,void 0),n=this.s;if(this.P&&(n?(n=vQe(n),xQe(n,this.P)):n=this.P),this.o===null&&(e.H=n),this.ja)e:{for(var o=0,i=0;ic)r=Math.max(0,i[s].h-100),l=!1;else try{rNn(u,a,"req"+c+"_")}catch{o&&o(u)}}if(l){o=a.join("&");break e}}return t=t.l.splice(0,n),e.D=t,o}function lZe(t){t.g||t.u||(t.Y=1,$ye(t.Ga,t),t.A=0)}function u2e(t){return t.g||t.u||3<=t.A?!1:(t.Y++,t.u=dN(uf(t.Ga,t),uZe(t,t.A)),t.A++,!0)}Oi.Ga=function(){if(this.u=null,sZe(this),this.$&&!(this.L||this.g==null||0>=this.O)){var t=2*this.O;this.h.info("BP detection timer enabled: "+t),this.B=dN(uf(this.bb,this),t)}};Oi.bb=function(){this.B&&(this.B=null,this.h.info("BP detection timeout reached."),this.h.info("Buffering proxy detected and switch to long-polling!"),this.N=!1,this.L=!0,np(10),ZQ(this),sZe(this))};function d2e(t){t.B!=null&&(Qr.clearTimeout(t.B),t.B=null)}function sZe(t){t.g=new hN(t,t.h,"rpc",t.Y),t.o===null&&(t.g.H=t.s),t.g.O=0;var e=Q6(t.oa);Bc(e,"RID","rpc"),Bc(e,"SID",t.J),Bc(e,"CI",t.N?"0":"1"),Bc(e,"AID",t.U),yN(t,e),Bc(e,"TYPE","xmlhttp"),t.o&&t.s&&s2e(e,t.o,t.s),t.K&&t.g.setTimeout(t.K);var n=t.g;t=t.la,n.K=1,n.v=qQ(Q6(e)),n.s=null,n.U=!0,BQe(n,t)}Oi.ab=function(){this.v!=null&&(this.v=null,ZQ(this),u2e(this),np(19))};function uX(t){t.v!=null&&(Qr.clearTimeout(t.v),t.v=null)}function cZe(t,e){var n=null;if(t.g==e){uX(t),d2e(t),t.g=null;var o=2}else if(lde(t.i,e))n=e.D,$Qe(t.i,e),o=1;else return;if(t.I=e.N,t.G!=0){if(e.i)if(o==1){n=e.s?e.s.length:0,e=Date.now()-e.F;var i=t.C;o=GQ(),df(o,new LQe(o,n)),eZ(t)}else lZe(t);else if(i=e.o,i==3||i==0&&0o.length)){var i=o[1];if(Array.isArray(i)&&!(1>i.length)){var r=i[0];if(r!="noop"&&r!="stop"&&r!="close")for(var a=1;ae)&&(e!=3||$ue||this.g&&(this.h.h||this.g.ga()||jTe(this.g)))){this.I||e!=4||n==7||(n==8||0>=o?sF(3):sF(2)),KQ(this);var i=this.g.ba();this.N=i;t:if(UQe(this)){var r=jTe(this.g);t="";var a=r.length,l=m6(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){jv(this),wE(this);var s="";break t}this.h.i=new Qr.TextDecoder}for(n=0;ne.length?aX:(e=e.substr(o,n),t.C=o+n,e)))}Oi.cancel=function(){this.I=!0,jv(this)};function pN(t){t.Y=Date.now()+t.P,jQe(t,t.P)}function jQe(t,e){if(t.B!=null)throw Error("WatchDog timer not null");t.B=dN(uf(t.eb,t),e)}function KQ(t){t.B&&(Qr.clearTimeout(t.B),t.B=null)}Oi.eb=function(){this.B=null;var t=Date.now();0<=t-this.Y?(BWn(this.j,this.A),this.K!=2&&(sF(),np(17)),jv(this),this.o=2,wE(this)):jQe(this,this.Y-t)};function wE(t){t.l.G==0||t.I||lZe(t.l,t)}function jv(t){KQ(t);var e=t.L;e&&typeof e.na=="function"&&e.na(),t.L=null,Qye(t.W),zQe(t.V),t.g&&(e=t.g,t.g=null,e.abort(),e.na())}function ade(t,e){try{var n=t.l;if(n.G!=0&&(n.g==t||lde(n.i,t))){if(n.I=t.N,!t.J&&lde(n.i,t)&&n.G==3){try{var o=n.Ca.g.parse(e)}catch{o=null}if(Array.isArray(o)&&o.length==3){var i=o;if(i[0]==0){e:if(!n.u){if(n.g)if(n.g.F+3e3i[2]&&n.N&&n.A==0&&!n.v&&(n.v=dN(uf(n.ab,n),6e3));if(1>=JQe(n.i)&&n.ka){try{n.ka()}catch{}n.ka=void 0}}else Yv(n,11)}else if((t.J||n.g==t)&&uX(n),!iX(e))for(i=n.Ca.g.parse(e),e=0;ee)throw Error("Bad port number "+e);t.m=e}else t.m=null}function NTe(t,e,n){e instanceof cF?(t.h=e,ZWn(t.h,t.g)):(n||(e=CD(e,$Wn)),t.h=new cF(e,t.g))}function Bc(t,e,n){t.h.set(e,n)}function qQ(t){return Bc(t,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),t}function GWn(t){return t instanceof Qx?Q6(t):new Qx(t,void 0)}function XWn(t,e,n,o){var i=new Qx(null,void 0);return t&&lX(i,t),e&&sX(i,e),n&&cX(i,n),o&&(i.l=o),i}function vE(t,e){return t?e?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function CD(t,e,n){return typeof t=="string"?(t=encodeURI(t).replace(e,JWn),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function JWn(t){return t=t.charCodeAt(0),"%"+(t>>4&15).toString(16)+(t&15).toString(16)}var UTe=/[#\/\?@]/g,KWn=/[#\?:]/g,qWn=/[#\?]/g,$Wn=/[#\?@]/g,QWn=/#/g;function cF(t,e){this.h=this.g=null,this.i=t||null,this.j=!!e}function U7(t){t.g||(t.g=new VH,t.h=0,t.i&&VWn(t.i,function(e,n){t.add(decodeURIComponent(e.replace(/\+/g," ")),n)}))}Oi=cF.prototype;Oi.add=function(t,e){U7(this),this.i=null,t=GH(this,t);var n=this.g.get(t);return n||this.g.set(t,n=[]),n.push(e),this.h+=1,this};function OQe(t,e){U7(t),e=GH(t,e),$x(t.g.h,e)&&(t.i=null,t.h-=t.g.get(e).length,t=t.g,$x(t.h,e)&&(delete t.h[e],t.i--,t.g.length>2*t.i&&i2e(t)))}function _Qe(t,e){return U7(t),e=GH(t,e),$x(t.g.h,e)}Oi.forEach=function(t,e){U7(this),this.g.forEach(function(n,o){yQe(n,function(i){t.call(e,i,o,this)},this)},this)};Oi.T=function(){U7(this);for(var t=this.g.R(),e=this.g.T(),n=[],o=0;o=t.j:!1}function JQe(t){return t.h?1:t.g?t.g.size:0}function lde(t,e){return t.h?t.h==e:t.g?t.g.has(e):!1}function r2e(t,e){t.g?t.g.add(e):t.h=e}function KQe(t,e){t.h&&t.h==e?t.h=null:t.g&&t.g.has(e)&&t.g.delete(e)}GQe.prototype.cancel=function(){var t,e;if(this.i=qQe(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){try{for(var n=gQe(this.g.values()),o=n.next();!o.done;o=n.next()){var i=o.value;i.cancel()}}catch(r){t={error:r}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.g.clear()}};function qQe(t){var e,n;if(t.h!=null)return t.i.concat(t.h.D);if(t.g!=null&&t.g.size!==0){var o=t.i;try{for(var i=gQe(t.g.values()),r=i.next();!r.done;r=i.next()){var a=r.value;o=o.concat(a.D)}}catch(l){e={error:l}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}return _ye(t.i)}function a2e(){}a2e.prototype.stringify=function(t){return Qr.JSON.stringify(t,void 0)};a2e.prototype.parse=function(t){return Qr.JSON.parse(t,void 0)};function nNn(){this.g=new a2e}function oNn(t,e,n){var o=n||"";try{o2e(t,function(i,r){var a=i;BQ(i)&&(a=qye(i)),e.push(o+r+"="+encodeURIComponent(a))})}catch(i){throw e.push(o+"type="+encodeURIComponent("_badmap")),i}}function iNn(t,e){var n=new VQ;if(Qr.Image){var o=new Image;o.onload=cO(dO,n,o,"TestLoadImage: loaded",!0,e),o.onerror=cO(dO,n,o,"TestLoadImage: error",!1,e),o.onabort=cO(dO,n,o,"TestLoadImage: abort",!1,e),o.ontimeout=cO(dO,n,o,"TestLoadImage: timeout",!1,e),Qr.setTimeout(function(){o.ontimeout&&o.ontimeout()},1e4),o.src=t}else e(!1)}function dO(t,e,n,o,i){try{e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,i(o)}catch{}}function gN(t){this.l=t.$b||null,this.j=t.ib||!1}Pf(gN,e2e);gN.prototype.g=function(){return new $Q(this.l,this.j)};gN.prototype.i=function(t){return function(){return t}}({});function $Q(t,e){Pd.call(this),this.D=t,this.u=e,this.m=void 0,this.readyState=l2e,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C="GET",this.B="",this.g=!1,this.A=this.j=this.l=null}Pf($Q,Pd);var l2e=0;Oi=$Q.prototype;Oi.open=function(t,e){if(this.readyState!=l2e)throw this.abort(),Error("Error reopening a connection");this.C=t,this.B=e,this.readyState=1,uF(this)};Oi.send=function(t){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;var e={headers:this.v,method:this.C,credentials:this.m,cache:void 0};t&&(e.body=t),(this.D||Qr).fetch(new Request(this.B,e)).then(this.Va.bind(this),this.ha.bind(this))};Oi.abort=function(){this.response=this.responseText="",this.v=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted."),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,mN(this)),this.readyState=l2e};Oi.Va=function(t){if(this.g&&(this.l=t,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=t.headers,this.readyState=2,uF(this)),this.g&&(this.readyState=3,uF(this),this.g)))if(this.responseType==="arraybuffer")t.arrayBuffer().then(this.Ta.bind(this),this.ha.bind(this));else if(typeof Qr.ReadableStream<"u"&&"body"in t){if(this.j=t.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.A=new TextDecoder;$Qe(this)}else t.text().then(this.Ua.bind(this),this.ha.bind(this))};function $Qe(t){t.j.read().then(t.Sa.bind(t)).catch(t.ha.bind(t))}Oi.Sa=function(t){if(this.g){if(this.u&&t.value)this.response.push(t.value);else if(!this.u){var e=t.value?t.value:new Uint8Array(0);(e=this.A.decode(e,{stream:!t.done}))&&(this.response=this.responseText+=e)}t.done?mN(this):uF(this),this.readyState==3&&$Qe(this)}};Oi.Ua=function(t){this.g&&(this.response=this.responseText=t,mN(this))};Oi.Ta=function(t){this.g&&(this.response=t,mN(this))};Oi.ha=function(){this.g&&mN(this)};function mN(t){t.readyState=4,t.l=null,t.j=null,t.A=null,uF(t)}Oi.setRequestHeader=function(t,e){this.v.append(t,e)};Oi.getResponseHeader=function(t){return this.h&&this.h.get(t.toLowerCase())||""};Oi.getAllResponseHeaders=function(){if(!this.h)return"";for(var t=[],e=this.h.entries(),n=e.next();!n.done;)n=n.value,t.push(n[0]+": "+n[1]),n=e.next();return t.join(`\r +`)};function uF(t){t.onreadystatechange&&t.onreadystatechange.call(t)}Object.defineProperty($Q.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(t){this.m=t?"include":"same-origin"}});var rNn=Qr.JSON.parse;function fu(t){Pd.call(this),this.headers=new VH,this.u=t||null,this.h=!1,this.C=this.g=null,this.H="",this.m=0,this.j="",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=QQe,this.K=this.L=!1}Pf(fu,Pd);var QQe="",aNn=/^https?$/i,lNn=["POST","PUT"];Oi=fu.prototype;Oi.ea=function(t,e,n,o){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.H+"; newUri="+t);e=e?e.toUpperCase():"GET",this.H=t,this.j="",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():ode.g(),this.C=this.u?WTe(this.u):WTe(ode),this.g.onreadystatechange=uf(this.Fa,this);try{this.F=!0,this.g.open(e,String(t),!0),this.F=!1}catch(r){BTe(this,r);return}t=n||"";var i=new VH(this.headers);o&&o2e(o,function(r,a){i.set(a,r)}),o=yWn(i.T()),n=Qr.FormData&&t instanceof Qr.FormData,!(0<=mQe(lNn,e))||o||n||i.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),i.forEach(function(r,a){this.g.setRequestHeader(a,r)},this),this.J&&(this.g.responseType=this.J),"withCredentials"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{tZe(this),0=t.i.j-(t.m?1:0)?!1:t.m?(t.l=e.D.concat(t.l),!0):t.G==1||t.G==2||t.C>=(t.Xa?0:t.Ya)?!1:(t.m=dN(uf(t.Ha,t,e),sZe(t,t.C)),t.C++,!0)}Oi.Ha=function(t){if(this.m)if(this.m=null,this.G==1){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var e=new hN(this,this.h,t,void 0),n=this.s;if(this.P&&(n?(n=AQe(n),wQe(n,this.P)):n=this.P),this.o===null&&(e.H=n),this.ja)e:{for(var o=0,i=0;ic)r=Math.max(0,i[s].h-100),l=!1;else try{oNn(u,a,"req"+c+"_")}catch{o&&o(u)}}if(l){o=a.join("&");break e}}return t=t.l.splice(0,n),e.D=t,o}function rZe(t){t.g||t.u||(t.Y=1,$ye(t.Ga,t),t.A=0)}function u2e(t){return t.g||t.u||3<=t.A?!1:(t.Y++,t.u=dN(uf(t.Ga,t),sZe(t,t.A)),t.A++,!0)}Oi.Ga=function(){if(this.u=null,aZe(this),this.$&&!(this.L||this.g==null||0>=this.O)){var t=2*this.O;this.h.info("BP detection timer enabled: "+t),this.B=dN(uf(this.bb,this),t)}};Oi.bb=function(){this.B&&(this.B=null,this.h.info("BP detection timeout reached."),this.h.info("Buffering proxy detected and switch to long-polling!"),this.N=!1,this.L=!0,np(10),ZQ(this),aZe(this))};function d2e(t){t.B!=null&&(Qr.clearTimeout(t.B),t.B=null)}function aZe(t){t.g=new hN(t,t.h,"rpc",t.Y),t.o===null&&(t.g.H=t.s),t.g.O=0;var e=Q6(t.oa);Bc(e,"RID","rpc"),Bc(e,"SID",t.J),Bc(e,"CI",t.N?"0":"1"),Bc(e,"AID",t.U),yN(t,e),Bc(e,"TYPE","xmlhttp"),t.o&&t.s&&s2e(e,t.o,t.s),t.K&&t.g.setTimeout(t.K);var n=t.g;t=t.la,n.K=1,n.v=qQ(Q6(e)),n.s=null,n.U=!0,NQe(n,t)}Oi.ab=function(){this.v!=null&&(this.v=null,ZQ(this),u2e(this),np(19))};function uX(t){t.v!=null&&(Qr.clearTimeout(t.v),t.v=null)}function lZe(t,e){var n=null;if(t.g==e){uX(t),d2e(t),t.g=null;var o=2}else if(lde(t.i,e))n=e.D,KQe(t.i,e),o=1;else return;if(t.I=e.N,t.G!=0){if(e.i)if(o==1){n=e.s?e.s.length:0,e=Date.now()-e.F;var i=t.C;o=GQ(),df(o,new kQe(o,n)),eZ(t)}else rZe(t);else if(i=e.o,i==3||i==0&&0e?1:0}function wR(t,e,n){return t.length===e.length&&t.every(function(o,i){return n(o,e[i])})}function AZe(t){return t+"\0"}/** + */var gZe=function(){function t(){}return t.u=function(){for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=Math.floor(256/e.length)*e.length,o="";o.length<20;)for(var i=wNn(40),r=0;re?1:0}function wR(t,e,n){return t.length===e.length&&t.every(function(o,i){return n(o,e[i])})}function mZe(t){return t+"\0"}/** * @license * Copyright 2017 Google LLC * @@ -5519,7 +5519,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function _Te(t){var e=0;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e++;return e}function Nb(t,e){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e(n,t[n])}function wZe(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}/** + */function _Te(t){var e=0;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e++;return e}function Nb(t,e){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e(n,t[n])}function yZe(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}/** * @license * Copyright 2017 Google LLC * @@ -5534,7 +5534,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vZe=function(){function t(e,n,o){n===void 0?n=0:n>e.length&&or(),o===void 0?o=e.length-n:o>e.length-n&&or(),this.segments=e,this.offset=n,this.len=o}return Object.defineProperty(t.prototype,"length",{get:function(){return this.len},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return t.comparator(this,e)===0},t.prototype.child=function(e){var n=this.segments.slice(this.offset,this.limit());return e instanceof t?e.forEach(function(o){n.push(o)}):n.push(e),this.construct(n)},t.prototype.limit=function(){return this.offset+this.length},t.prototype.popFirst=function(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)},t.prototype.popLast=function(){return this.construct(this.segments,this.offset,this.length-1)},t.prototype.firstSegment=function(){return this.segments[this.offset]},t.prototype.lastSegment=function(){return this.get(this.length-1)},t.prototype.get=function(e){return this.segments[this.offset+e]},t.prototype.isEmpty=function(){return this.length===0},t.prototype.isPrefixOf=function(e){if(e.lengtha)return 1}return e.lengthn.length?1:0},t}(),Ul=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.prototype.canonicalString=function(){return this.toArray().join("/")},e.prototype.toString=function(){return this.canonicalString()},e.fromString=function(){for(var n=[],o=0;o=0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid segment ("+l+"). Paths must not contain // in them.");i.push.apply(i,l.split("/").filter(function(s){return s.length>0}))}return new e(i)},e.emptyPath=function(){return new e([])},e}(vZe),bNn=/^[_a-zA-Z][_a-zA-Z0-9]*$/,B2=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.isValidIdentifier=function(n){return bNn.test(n)},e.prototype.canonicalString=function(){return this.toArray().map(function(n){return n=n.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e.isValidIdentifier(n)||(n="`"+n+"`"),n}).join(".")},e.prototype.toString=function(){return this.canonicalString()},e.prototype.isKeyField=function(){return this.length===1&&this.get(0)==="__name__"},e.keyField=function(){return new e(["__name__"])},e.fromServerFormat=function(n){for(var o=[],i="",r=0,a=function(){if(i.length===0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid field path ("+n+"). Paths must not be empty, begin with '.', end with '.', or contain '..'");o.push(i),i=""},l=!1;re.length&&or(),o===void 0?o=e.length-n:o>e.length-n&&or(),this.segments=e,this.offset=n,this.len=o}return Object.defineProperty(t.prototype,"length",{get:function(){return this.len},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return t.comparator(this,e)===0},t.prototype.child=function(e){var n=this.segments.slice(this.offset,this.limit());return e instanceof t?e.forEach(function(o){n.push(o)}):n.push(e),this.construct(n)},t.prototype.limit=function(){return this.offset+this.length},t.prototype.popFirst=function(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)},t.prototype.popLast=function(){return this.construct(this.segments,this.offset,this.length-1)},t.prototype.firstSegment=function(){return this.segments[this.offset]},t.prototype.lastSegment=function(){return this.get(this.length-1)},t.prototype.get=function(e){return this.segments[this.offset+e]},t.prototype.isEmpty=function(){return this.length===0},t.prototype.isPrefixOf=function(e){if(e.lengtha)return 1}return e.lengthn.length?1:0},t}(),Ul=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.prototype.canonicalString=function(){return this.toArray().join("/")},e.prototype.toString=function(){return this.canonicalString()},e.fromString=function(){for(var n=[],o=0;o=0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid segment ("+l+"). Paths must not contain // in them.");i.push.apply(i,l.split("/").filter(function(s){return s.length>0}))}return new e(i)},e.emptyPath=function(){return new e([])},e}(AZe),vNn=/^[_a-zA-Z][_a-zA-Z0-9]*$/,B2=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.construct=function(n,o,i){return new e(n,o,i)},e.isValidIdentifier=function(n){return vNn.test(n)},e.prototype.canonicalString=function(){return this.toArray().map(function(n){return n=n.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e.isValidIdentifier(n)||(n="`"+n+"`"),n}).join(".")},e.prototype.toString=function(){return this.canonicalString()},e.prototype.isKeyField=function(){return this.length===1&&this.get(0)==="__name__"},e.keyField=function(){return new e(["__name__"])},e.fromServerFormat=function(n){for(var o=[],i="",r=0,a=function(){if(i.length===0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid field path ("+n+"). Paths must not be empty, begin with '.', end with '.', or contain '..'");o.push(i),i=""},l=!1;r=Number.MIN_SAFE_INTEGER}/** + */function Ub(t){return t==null}function hX(t){return t===0&&1/t==-1/0}function vZe(t){return typeof t=="number"&&Number.isInteger(t)&&!hX(t)&&t<=Number.MAX_SAFE_INTEGER&&t>=Number.MIN_SAFE_INTEGER}/** * @license * Copyright 2017 Google LLC * @@ -5609,7 +5609,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var sg=function(){function t(e){this.value=e}return t.empty=function(){return new t({mapValue:{}})},t.prototype.field=function(e){if(e.isEmpty())return this.value;for(var n=this.value,o=0;o":return n>0;case">=":return n>=0;default:return or()}},e.prototype.g=function(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0},e}(function(){}),PNn=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,i)||this).key=sr.fromName(i.referenceValue),r}return Ti(e,t),e.prototype.matches=function(n){var o=sr.comparator(n.key,this.key);return this.m(o)},e}(gg),CNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"in",o)||this).keys=TZe("in",o),i}return Ti(e,t),e.prototype.matches=function(n){return this.keys.some(function(o){return o.isEqual(n.key)})},e}(gg),RNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"not-in",o)||this).keys=TZe("not-in",o),i}return Ti(e,t),e.prototype.matches=function(n){return!this.keys.some(function(o){return o.isEqual(n.key)})},e}(gg);function TZe(t,e){var n;return(((n=e.arrayValue)===null||n===void 0?void 0:n.values)||[]).map(function(o){return sr.fromName(o.referenceValue)})}var HNn=function(t){function e(n,o){return t.call(this,n,"array-contains",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return g2e(o)&&fF(o.arrayValue,this.value)},e}(gg),MNn=function(t){function e(n,o){return t.call(this,n,"in",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return o!==null&&fF(this.value.arrayValue,o)},e}(gg),INn=function(t){function e(n,o){return t.call(this,n,"not-in",o)||this}return Ti(e,t),e.prototype.matches=function(n){if(fF(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;var o=n.data.field(this.field);return o!==null&&!fF(this.value.arrayValue,o)},e}(gg),zNn=function(t){function e(n,o){return t.call(this,n,"array-contains-any",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=this,i=n.data.field(this.field);return!(!g2e(i)||!i.arrayValue.values)&&i.arrayValue.values.some(function(r){return fF(o.value.arrayValue,r)})},e}(gg),hF=function(t,e){this.position=t,this.before=e};function mX(t){return(t.before?"b":"a")+":"+t.position.map(function(e){return p2e(e)}).join(",")}var SC=function(t,e){e===void 0&&(e="asc"),this.field=t,this.dir=e};function DNn(t,e){return t.dir===e.dir&&t.field.isEqual(e.field)}function KTe(t,e,n){for(var o=0,i=0;i":return n>0;case">=":return n>=0;default:return or()}},e.prototype.g=function(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0},e}(function(){}),SNn=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,i)||this).key=sr.fromName(i.referenceValue),r}return Ti(e,t),e.prototype.matches=function(n){var o=sr.comparator(n.key,this.key);return this.m(o)},e}(gg),TNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"in",o)||this).keys=bZe("in",o),i}return Ti(e,t),e.prototype.matches=function(n){return this.keys.some(function(o){return o.isEqual(n.key)})},e}(gg),PNn=function(t){function e(n,o){var i=this;return(i=t.call(this,n,"not-in",o)||this).keys=bZe("not-in",o),i}return Ti(e,t),e.prototype.matches=function(n){return!this.keys.some(function(o){return o.isEqual(n.key)})},e}(gg);function bZe(t,e){var n;return(((n=e.arrayValue)===null||n===void 0?void 0:n.values)||[]).map(function(o){return sr.fromName(o.referenceValue)})}var CNn=function(t){function e(n,o){return t.call(this,n,"array-contains",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return g2e(o)&&fF(o.arrayValue,this.value)},e}(gg),RNn=function(t){function e(n,o){return t.call(this,n,"in",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=n.data.field(this.field);return o!==null&&fF(this.value.arrayValue,o)},e}(gg),HNn=function(t){function e(n,o){return t.call(this,n,"not-in",o)||this}return Ti(e,t),e.prototype.matches=function(n){if(fF(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;var o=n.data.field(this.field);return o!==null&&!fF(this.value.arrayValue,o)},e}(gg),MNn=function(t){function e(n,o){return t.call(this,n,"array-contains-any",o)||this}return Ti(e,t),e.prototype.matches=function(n){var o=this,i=n.data.field(this.field);return!(!g2e(i)||!i.arrayValue.values)&&i.arrayValue.values.some(function(r){return fF(o.value.arrayValue,r)})},e}(gg),hF=function(t,e){this.position=t,this.before=e};function mX(t){return(t.before?"b":"a")+":"+t.position.map(function(e){return p2e(e)}).join(",")}var SC=function(t,e){e===void 0&&(e="asc"),this.field=t,this.dir=e};function INn(t,e){return t.dir===e.dir&&t.field.isEqual(e.field)}function KTe(t,e,n){for(var o=0,i=0;i0?t.explicitOrderBy[0].field:null}function y2e(t){for(var e=0,n=t.filters;e0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";e.p.push(new SC(B2.keyField(),s))}}}return e.p}function W9(t){var e=Ri(t);if(!e.T)if(e.limitType==="F")e.T=JTe(e.path,e.collectionGroup,SR(e),e.filters,e.limit,e.startAt,e.endAt);else{for(var n=[],o=0,i=SR(e);o0&&(n+=", orderBy: ["+e.orderBy.map(function(o){return function(i){return i.field.canonicalString()+" ("+i.dir+")"}(o)}).join(", ")+"]"),e.startAt&&(n+=", startAt: "+mX(e.startAt)),e.endAt&&(n+=", endAt: "+mX(e.endAt)),"Target("+n+")"}(W9(t))+"; limitType="+t.limitType+")"}function xN(t,e){return e.isFoundDocument()&&function(n,o){var i=o.key.path;return n.collectionGroup!==null?o.key.hasCollectionId(n.collectionGroup)&&n.path.isPrefixOf(i):sr.isDocumentKey(n.path)?n.path.isEqual(i):n.path.isImmediateParentOf(i)}(t,e)&&function(n,o){for(var i=0,r=n.explicitOrderBy;i0?t.explicitOrderBy[0].field:null}function y2e(t){for(var e=0,n=t.filters;e0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";e.p.push(new SC(B2.keyField(),s))}}}return e.p}function W9(t){var e=Ri(t);if(!e.T)if(e.limitType==="F")e.T=JTe(e.path,e.collectionGroup,SR(e),e.filters,e.limit,e.startAt,e.endAt);else{for(var n=[],o=0,i=SR(e);o0&&(n+=", orderBy: ["+e.orderBy.map(function(o){return function(i){return i.field.canonicalString()+" ("+i.dir+")"}(o)}).join(", ")+"]"),e.startAt&&(n+=", startAt: "+mX(e.startAt)),e.endAt&&(n+=", endAt: "+mX(e.endAt)),"Target("+n+")"}(W9(t))+"; limitType="+t.limitType+")"}function xN(t,e){return e.isFoundDocument()&&function(n,o){var i=o.key.path;return n.collectionGroup!==null?o.key.hasCollectionId(n.collectionGroup)&&n.path.isPrefixOf(i):sr.isDocumentKey(n.path)?n.path.isEqual(i):n.path.isImmediateParentOf(i)}(t,e)&&function(n,o){for(var i=0,r=n.explicitOrderBy;i=0)return;n(i.key)}},t.prototype.forEachWhile=function(e,n){var o;for(o=n!==void 0?this.data.getIteratorFrom(n):this.data.getIterator();o.hasNext();)if(!e(o.getNext().key))return},t.prototype.firstAfterOrEqual=function(e){var n=this.data.getIteratorFrom(e);return n.hasNext()?n.getNext().key:null},t.prototype.getIterator=function(){return new nPe(this.data.getIterator())},t.prototype.getIteratorFrom=function(e){return new nPe(this.data.getIteratorFrom(e))},t.prototype.add=function(e){return this.copy(this.data.remove(e).insert(e,!0))},t.prototype.delete=function(e){return this.has(e)?this.copy(this.data.remove(e)):this},t.prototype.isEmpty=function(){return this.data.isEmpty()},t.prototype.unionWith=function(e){var n=this;return n.size=0)return;n(i.key)}},t.prototype.forEachWhile=function(e,n){var o;for(o=n!==void 0?this.data.getIteratorFrom(n):this.data.getIterator();o.hasNext();)if(!e(o.getNext().key))return},t.prototype.firstAfterOrEqual=function(e){var n=this.data.getIteratorFrom(e);return n.hasNext()?n.getNext().key:null},t.prototype.getIterator=function(){return new nPe(this.data.getIterator())},t.prototype.getIteratorFrom=function(e){return new nPe(this.data.getIteratorFrom(e))},t.prototype.add=function(e){return this.copy(this.data.remove(e).insert(e,!0))},t.prototype.delete=function(e){return this.has(e)?this.copy(this.data.remove(e)):this},t.prototype.isEmpty=function(){return this.data.isEmpty()},t.prototype.unionWith=function(e){var n=this;return n.size0&&(this.k=!0,this.C=e)},t.prototype.M=function(){var e=_s(),n=_s(),o=_s();return this.D.forEach(function(i,r){switch(r){case 0:e=e.add(i);break;case 2:n=n.add(i);break;case 1:o=o.add(i);break;default:or()}}),new x2e(this.C,this.N,e,n,o)},t.prototype.L=function(){this.k=!1,this.D=rPe()},t.prototype.B=function(e,n){this.k=!0,this.D=this.D.insert(e,n)},t.prototype.q=function(e){this.k=!0,this.D=this.D.remove(e)},t.prototype.U=function(){this.S+=1},t.prototype.K=function(){this.S-=1},t.prototype.j=function(){this.k=!0,this.N=!0},t}(),GNn=function(){function t(e){this.W=e,this.G=new Map,this.H=D2(),this.J=iPe(),this.Y=new Nu(Ga)}return t.prototype.X=function(e){for(var n=0,o=e.v;n0?e.targetIds.forEach(n):this.G.forEach(function(i,r){o.st(r)&&n(r)})},t.prototype.rt=function(e){var n=e.targetId,o=e.V.count,i=this.ot(n);if(i){var r=i.target;if(gX(r))if(o===0){var a=new sr(r.path);this.tt(n,a,ph.newNoDocument(a,Ea.min()))}else Nr(o===1);else this.ct(n)!==o&&(this.it(n),this.Y=this.Y.add(n))}},t.prototype.ut=function(e){var n=this,o=new Map;this.G.forEach(function(a,l){var s=n.ot(l);if(s){if(a.current&&gX(s.target)){var c=new sr(s.target.path);n.H.get(c)!==null||n.at(l,c)||n.tt(l,c,ph.newNoDocument(c,e))}a.$&&(o.set(l,a.M()),a.L())}});var i=_s();this.J.forEach(function(a,l){var s=!0;l.forEachWhile(function(c){var u=n.ot(c);return!u||u.purpose===2||(s=!1,!1)}),s&&(i=i.add(a))});var r=new v2e(e,o,this.Y,this.H,i);return this.H=D2(),this.J=iPe(),this.Y=new Nu(Ga),r},t.prototype.Z=function(e,n){if(this.st(e)){var o=this.at(e,n.key)?2:0;this.nt(e).B(n.key,o),this.H=this.H.insert(n.key,n),this.J=this.J.insert(n.key,this.ht(n.key).add(e))}},t.prototype.tt=function(e,n,o){if(this.st(e)){var i=this.nt(e);this.at(e,n)?i.B(n,1):i.q(n),this.J=this.J.insert(n,this.ht(n).delete(e)),o&&(this.H=this.H.insert(n,o))}},t.prototype.removeTarget=function(e){this.G.delete(e)},t.prototype.ct=function(e){var n=this.nt(e).M();return this.W.getRemoteKeysForTarget(e).size+n.addedDocuments.size-n.removedDocuments.size},t.prototype.U=function(e){this.nt(e).U()},t.prototype.nt=function(e){var n=this.G.get(e);return n||(n=new oPe,this.G.set(e,n)),n},t.prototype.ht=function(e){var n=this.J.get(e);return n||(n=new Nu(Ga),this.J=this.J.insert(e,n)),n},t.prototype.st=function(e){var n=this.ot(e)!==null;return n||li("WatchChangeAggregator","Detected inactive target",e),n},t.prototype.ot=function(e){var n=this.G.get(e);return n&&n.F?null:this.W.lt(e)},t.prototype.it=function(e){var n=this;this.G.set(e,new oPe),this.W.getRemoteKeysForTarget(e).forEach(function(o){n.tt(e,o,null)})},t.prototype.at=function(e,n){return this.W.getRemoteKeysForTarget(e).has(n)},t}();function iPe(){return new xh(sr.comparator)}function rPe(){return new xh(sr.comparator)}/** + */var v2e=function(){function t(e,n,o,i,r){this.snapshotVersion=e,this.targetChanges=n,this.targetMismatches=o,this.documentUpdates=i,this.resolvedLimboDocuments=r}return t.createSynthesizedRemoteEventForCurrentChange=function(e,n){var o=new Map;return o.set(e,x2e.createSynthesizedTargetChangeForCurrentChange(e,n)),new t(Ea.min(),o,iZ(),D2(),_s())},t}(),x2e=function(){function t(e,n,o,i,r){this.resumeToken=e,this.current=n,this.addedDocuments=o,this.modifiedDocuments=i,this.removedDocuments=r}return t.createSynthesizedTargetChangeForCurrentChange=function(e,n){return new t(Zp.EMPTY_BYTE_STRING,n,_s(),_s(),_s())},t}(),Q_=function(t,e,n,o){this.v=t,this.removedTargetIds=e,this.key=n,this.P=o},WZe=function(t,e){this.targetId=t,this.V=e},NZe=function(t,e,n,o){n===void 0&&(n=Zp.EMPTY_BYTE_STRING),o===void 0&&(o=null),this.state=t,this.targetIds=e,this.resumeToken=n,this.cause=o},oPe=function(){function t(){this.S=0,this.D=rPe(),this.C=Zp.EMPTY_BYTE_STRING,this.N=!1,this.k=!0}return Object.defineProperty(t.prototype,"current",{get:function(){return this.N},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"resumeToken",{get:function(){return this.C},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"F",{get:function(){return this.S!==0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"$",{get:function(){return this.k},enumerable:!1,configurable:!0}),t.prototype.O=function(e){e.approximateByteSize()>0&&(this.k=!0,this.C=e)},t.prototype.M=function(){var e=_s(),n=_s(),o=_s();return this.D.forEach(function(i,r){switch(r){case 0:e=e.add(i);break;case 2:n=n.add(i);break;case 1:o=o.add(i);break;default:or()}}),new x2e(this.C,this.N,e,n,o)},t.prototype.L=function(){this.k=!1,this.D=rPe()},t.prototype.B=function(e,n){this.k=!0,this.D=this.D.insert(e,n)},t.prototype.q=function(e){this.k=!0,this.D=this.D.remove(e)},t.prototype.U=function(){this.S+=1},t.prototype.K=function(){this.S-=1},t.prototype.j=function(){this.k=!0,this.N=!0},t}(),_Nn=function(){function t(e){this.W=e,this.G=new Map,this.H=D2(),this.J=iPe(),this.Y=new Nu(Ga)}return t.prototype.X=function(e){for(var n=0,o=e.v;n0?e.targetIds.forEach(n):this.G.forEach(function(i,r){o.st(r)&&n(r)})},t.prototype.rt=function(e){var n=e.targetId,o=e.V.count,i=this.ot(n);if(i){var r=i.target;if(gX(r))if(o===0){var a=new sr(r.path);this.tt(n,a,ph.newNoDocument(a,Ea.min()))}else Nr(o===1);else this.ct(n)!==o&&(this.it(n),this.Y=this.Y.add(n))}},t.prototype.ut=function(e){var n=this,o=new Map;this.G.forEach(function(a,l){var s=n.ot(l);if(s){if(a.current&&gX(s.target)){var c=new sr(s.target.path);n.H.get(c)!==null||n.at(l,c)||n.tt(l,c,ph.newNoDocument(c,e))}a.$&&(o.set(l,a.M()),a.L())}});var i=_s();this.J.forEach(function(a,l){var s=!0;l.forEachWhile(function(c){var u=n.ot(c);return!u||u.purpose===2||(s=!1,!1)}),s&&(i=i.add(a))});var r=new v2e(e,o,this.Y,this.H,i);return this.H=D2(),this.J=iPe(),this.Y=new Nu(Ga),r},t.prototype.Z=function(e,n){if(this.st(e)){var o=this.at(e,n.key)?2:0;this.nt(e).B(n.key,o),this.H=this.H.insert(n.key,n),this.J=this.J.insert(n.key,this.ht(n.key).add(e))}},t.prototype.tt=function(e,n,o){if(this.st(e)){var i=this.nt(e);this.at(e,n)?i.B(n,1):i.q(n),this.J=this.J.insert(n,this.ht(n).delete(e)),o&&(this.H=this.H.insert(n,o))}},t.prototype.removeTarget=function(e){this.G.delete(e)},t.prototype.ct=function(e){var n=this.nt(e).M();return this.W.getRemoteKeysForTarget(e).size+n.addedDocuments.size-n.removedDocuments.size},t.prototype.U=function(e){this.nt(e).U()},t.prototype.nt=function(e){var n=this.G.get(e);return n||(n=new oPe,this.G.set(e,n)),n},t.prototype.ht=function(e){var n=this.J.get(e);return n||(n=new Nu(Ga),this.J=this.J.insert(e,n)),n},t.prototype.st=function(e){var n=this.ot(e)!==null;return n||li("WatchChangeAggregator","Detected inactive target",e),n},t.prototype.ot=function(e){var n=this.G.get(e);return n&&n.F?null:this.W.lt(e)},t.prototype.it=function(e){var n=this;this.G.set(e,new oPe),this.W.getRemoteKeysForTarget(e).forEach(function(o){n.tt(e,o,null)})},t.prototype.at=function(e,n){return this.W.getRemoteKeysForTarget(e).has(n)},t}();function iPe(){return new xh(sr.comparator)}function rPe(){return new xh(sr.comparator)}/** * @license * Copyright 2017 Google LLC * @@ -5744,7 +5744,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var XNn={asc:"ASCENDING",desc:"DESCENDING"},JNn={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},KNn=function(t,e){this.databaseId=t,this.I=e};function pF(t,e){return t.I?new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")+"."+("000000000"+e.nanoseconds).slice(-9)+"Z":{seconds:""+e.seconds,nanos:e.nanoseconds}}function jZe(t,e){return t.I?e.toBase64():e.toUint8Array()}function qNn(t,e){return pF(t,e.toTimestamp())}function op(t){return Nr(!!t),Ea.fromTimestamp(function(e){var n=u7(e);return new Jp(n.seconds,n.nanos)}(t))}function b2e(t,e){return function(n){return new Ul(["projects",n.projectId,"databases",n.database])}(t).child("documents").child(e).canonicalString()}function YZe(t){var e=Ul.fromString(t);return Nr(KZe(e)),e}function gF(t,e){return b2e(t.databaseId,e.path)}function H6(t,e){var n=YZe(e);if(n.get(1)!==t.databaseId.projectId)throw new Fo(Yn.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+n.get(1)+" vs "+t.databaseId.projectId);if(n.get(3)!==t.databaseId.database)throw new Fo(Yn.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+n.get(3)+" vs "+t.databaseId.database);return new sr(_Ze(n))}function pde(t,e){return b2e(t.databaseId,e)}function OZe(t){var e=YZe(t);return e.length===4?Ul.emptyPath():_Ze(e)}function mF(t){return new Ul(["projects",t.databaseId.projectId,"databases",t.databaseId.database]).canonicalString()}function _Ze(t){return Nr(t.length>4&&t.get(4)==="documents"),t.popFirst(5)}function aPe(t,e,n){return{name:gF(t,e),fields:n.value.mapValue.fields}}function $Nn(t,e,n){var o=H6(t,e.name),i=op(e.updateTime),r=new sg({mapValue:{fields:e.fields}}),a=ph.newFoundDocument(o,i,r);return n&&a.setHasCommittedMutations(),n?a.setHasCommittedMutations():a}function AX(t,e){var n;if(e instanceof SN)n={update:aPe(t,e.key,e.value)};else if(e instanceof TN)n={delete:gF(t,e.key)};else if(e instanceof B7)n={update:aPe(t,e.key,e.data),updateMask:nUn(e.fieldMask)};else{if(!(e instanceof w2e))return or();n={verify:gF(t,e.key)}}return e.fieldTransforms.length>0&&(n.updateTransforms=e.fieldTransforms.map(function(o){return function(i,r){var a=r.transform;if(a instanceof TR)return{fieldPath:r.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(a instanceof eb)return{fieldPath:r.field.canonicalString(),appendMissingElements:{values:a.elements}};if(a instanceof tb)return{fieldPath:r.field.canonicalString(),removeAllFromArray:{values:a.elements}};if(a instanceof PR)return{fieldPath:r.field.canonicalString(),increment:a.A};throw or()}(0,o)})),e.precondition.isNone||(n.currentDocument=function(o,i){return i.updateTime!==void 0?{updateTime:qNn(o,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:or()}(t,e.precondition)),n}function lPe(t,e){var n=e.currentDocument?function(c){return c.updateTime!==void 0?sh.updateTime(op(c.updateTime)):c.exists!==void 0?sh.exists(c.exists):sh.none()}(e.currentDocument):sh.none(),o=e.updateTransforms?e.updateTransforms.map(function(c){return function(u,d){var f=null;if("setToServerValue"in d)Nr(d.setToServerValue==="REQUEST_TIME"),f=new TR;else if("appendMissingElements"in d){var p=d.appendMissingElements.values||[];f=new eb(p)}else if("removeAllFromArray"in d){var g=d.removeAllFromArray.values||[];f=new tb(g)}else"increment"in d?f=new PR(u,d.increment):or();var A=B2.fromServerFormat(d.fieldPath);return new bN(A,f)}(t,c)}):[];if(e.update){e.update.name;var i=H6(t,e.update.name),r=new sg({mapValue:{fields:e.update.fields}});if(e.updateMask){var a=function(c){var u=c.fieldPaths||[];return new vR(u.map(function(d){return B2.fromServerFormat(d)}))}(e.updateMask);return new B7(i,r,a,n,o)}return new SN(i,r,n,o)}if(e.delete){var l=H6(t,e.delete);return new TN(l,n)}if(e.verify){var s=H6(t,e.verify);return new w2e(s,n)}return or()}function VZe(t,e){return{documents:[pde(t,e.path)]}}function GZe(t,e){var n={structuredQuery:{}},o=e.path;e.collectionGroup!==null?(n.parent=pde(t,o),n.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n.parent=pde(t,o.popLast()),n.structuredQuery.from=[{collectionId:o.lastSegment()}]);var i=function(l){if(l.length!==0){var s=l.map(function(c){return function(u){if(u.op==="=="){if(XTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NAN"}};if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NULL"}}}else if(u.op==="!="){if(XTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NAN"}};if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:WT(u.field),op:ZNn(u.op),value:u.value}}}(c)});return s.length===1?s[0]:{compositeFilter:{op:"AND",filters:s}}}}(e.filters);i&&(n.structuredQuery.where=i);var r=function(l){if(l.length!==0)return l.map(function(s){return function(c){return{field:WT(c.field),direction:QNn(c.dir)}}(s)})}(e.orderBy);r&&(n.structuredQuery.orderBy=r);var a=function(l,s){return l.I||Ub(s)?s:{value:s}}(t,e.limit);return a!==null&&(n.structuredQuery.limit=a),e.startAt&&(n.structuredQuery.startAt=sPe(e.startAt)),e.endAt&&(n.structuredQuery.endAt=sPe(e.endAt)),n}function XZe(t){var e=OZe(t.parent),n=t.structuredQuery,o=n.from?n.from.length:0,i=null;if(o>0){Nr(o===1);var r=n.from[0];r.allDescendants?i=r.collectionId:e=e.child(r.collectionId)}var a=[];n.where&&(a=JZe(n.where));var l=[];n.orderBy&&(l=n.orderBy.map(function(d){return function(f){return new SC(QP(f.field),function(p){switch(p){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(f.direction))}(d)}));var s=null;n.limit&&(s=function(d){var f;return Ub(f=typeof d=="object"?d.value:d)?null:f}(n.limit));var c=null;n.startAt&&(c=cPe(n.startAt));var u=null;return n.endAt&&(u=cPe(n.endAt)),PZe(e,i,l,a,s,"F",c,u)}function JZe(t){return t?t.unaryFilter!==void 0?[tUn(t)]:t.fieldFilter!==void 0?[eUn(t)]:t.compositeFilter!==void 0?t.compositeFilter.filters.map(function(e){return JZe(e)}).reduce(function(e,n){return e.concat(n)}):or():[]}function sPe(t){return{before:t.before,values:t.position}}function cPe(t){var e=!!t.before,n=t.values||[];return new hF(n,e)}function QNn(t){return XNn[t]}function ZNn(t){return JNn[t]}function WT(t){return{fieldPath:t.canonicalString()}}function QP(t){return B2.fromServerFormat(t.fieldPath)}function eUn(t){return gg.create(QP(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":default:return or()}}(t.fieldFilter.op),t.fieldFilter.value)}function tUn(t){switch(t.unaryFilter.op){case"IS_NAN":var e=QP(t.unaryFilter.field);return gg.create(e,"==",{doubleValue:NaN});case"IS_NULL":var n=QP(t.unaryFilter.field);return gg.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":var o=QP(t.unaryFilter.field);return gg.create(o,"!=",{doubleValue:NaN});case"IS_NOT_NULL":var i=QP(t.unaryFilter.field);return gg.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":default:return or()}}function nUn(t){var e=[];return t.fields.forEach(function(n){return e.push(n.canonicalString())}),{fieldPaths:e}}function KZe(t){return t.length>=4&&t.get(0)==="projects"&&t.get(2)==="databases"}/** + */var VNn={asc:"ASCENDING",desc:"DESCENDING"},GNn={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},XNn=function(t,e){this.databaseId=t,this.I=e};function pF(t,e){return t.I?new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")+"."+("000000000"+e.nanoseconds).slice(-9)+"Z":{seconds:""+e.seconds,nanos:e.nanoseconds}}function UZe(t,e){return t.I?e.toBase64():e.toUint8Array()}function JNn(t,e){return pF(t,e.toTimestamp())}function op(t){return Nr(!!t),Ea.fromTimestamp(function(e){var n=u7(e);return new Jp(n.seconds,n.nanos)}(t))}function b2e(t,e){return function(n){return new Ul(["projects",n.projectId,"databases",n.database])}(t).child("documents").child(e).canonicalString()}function BZe(t){var e=Ul.fromString(t);return Nr(XZe(e)),e}function gF(t,e){return b2e(t.databaseId,e.path)}function H6(t,e){var n=BZe(e);if(n.get(1)!==t.databaseId.projectId)throw new Fo(Yn.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+n.get(1)+" vs "+t.databaseId.projectId);if(n.get(3)!==t.databaseId.database)throw new Fo(Yn.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+n.get(3)+" vs "+t.databaseId.database);return new sr(YZe(n))}function pde(t,e){return b2e(t.databaseId,e)}function jZe(t){var e=BZe(t);return e.length===4?Ul.emptyPath():YZe(e)}function mF(t){return new Ul(["projects",t.databaseId.projectId,"databases",t.databaseId.database]).canonicalString()}function YZe(t){return Nr(t.length>4&&t.get(4)==="documents"),t.popFirst(5)}function aPe(t,e,n){return{name:gF(t,e),fields:n.value.mapValue.fields}}function KNn(t,e,n){var o=H6(t,e.name),i=op(e.updateTime),r=new sg({mapValue:{fields:e.fields}}),a=ph.newFoundDocument(o,i,r);return n&&a.setHasCommittedMutations(),n?a.setHasCommittedMutations():a}function AX(t,e){var n;if(e instanceof SN)n={update:aPe(t,e.key,e.value)};else if(e instanceof TN)n={delete:gF(t,e.key)};else if(e instanceof B7)n={update:aPe(t,e.key,e.data),updateMask:eUn(e.fieldMask)};else{if(!(e instanceof w2e))return or();n={verify:gF(t,e.key)}}return e.fieldTransforms.length>0&&(n.updateTransforms=e.fieldTransforms.map(function(o){return function(i,r){var a=r.transform;if(a instanceof TR)return{fieldPath:r.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(a instanceof eb)return{fieldPath:r.field.canonicalString(),appendMissingElements:{values:a.elements}};if(a instanceof tb)return{fieldPath:r.field.canonicalString(),removeAllFromArray:{values:a.elements}};if(a instanceof PR)return{fieldPath:r.field.canonicalString(),increment:a.A};throw or()}(0,o)})),e.precondition.isNone||(n.currentDocument=function(o,i){return i.updateTime!==void 0?{updateTime:JNn(o,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:or()}(t,e.precondition)),n}function lPe(t,e){var n=e.currentDocument?function(c){return c.updateTime!==void 0?sh.updateTime(op(c.updateTime)):c.exists!==void 0?sh.exists(c.exists):sh.none()}(e.currentDocument):sh.none(),o=e.updateTransforms?e.updateTransforms.map(function(c){return function(u,d){var f=null;if("setToServerValue"in d)Nr(d.setToServerValue==="REQUEST_TIME"),f=new TR;else if("appendMissingElements"in d){var p=d.appendMissingElements.values||[];f=new eb(p)}else if("removeAllFromArray"in d){var g=d.removeAllFromArray.values||[];f=new tb(g)}else"increment"in d?f=new PR(u,d.increment):or();var A=B2.fromServerFormat(d.fieldPath);return new bN(A,f)}(t,c)}):[];if(e.update){e.update.name;var i=H6(t,e.update.name),r=new sg({mapValue:{fields:e.update.fields}});if(e.updateMask){var a=function(c){var u=c.fieldPaths||[];return new vR(u.map(function(d){return B2.fromServerFormat(d)}))}(e.updateMask);return new B7(i,r,a,n,o)}return new SN(i,r,n,o)}if(e.delete){var l=H6(t,e.delete);return new TN(l,n)}if(e.verify){var s=H6(t,e.verify);return new w2e(s,n)}return or()}function OZe(t,e){return{documents:[pde(t,e.path)]}}function _Ze(t,e){var n={structuredQuery:{}},o=e.path;e.collectionGroup!==null?(n.parent=pde(t,o),n.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n.parent=pde(t,o.popLast()),n.structuredQuery.from=[{collectionId:o.lastSegment()}]);var i=function(l){if(l.length!==0){var s=l.map(function(c){return function(u){if(u.op==="=="){if(XTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NAN"}};if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NULL"}}}else if(u.op==="!="){if(XTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NAN"}};if(GTe(u.value))return{unaryFilter:{field:WT(u.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:WT(u.field),op:$Nn(u.op),value:u.value}}}(c)});return s.length===1?s[0]:{compositeFilter:{op:"AND",filters:s}}}}(e.filters);i&&(n.structuredQuery.where=i);var r=function(l){if(l.length!==0)return l.map(function(s){return function(c){return{field:WT(c.field),direction:qNn(c.dir)}}(s)})}(e.orderBy);r&&(n.structuredQuery.orderBy=r);var a=function(l,s){return l.I||Ub(s)?s:{value:s}}(t,e.limit);return a!==null&&(n.structuredQuery.limit=a),e.startAt&&(n.structuredQuery.startAt=sPe(e.startAt)),e.endAt&&(n.structuredQuery.endAt=sPe(e.endAt)),n}function VZe(t){var e=jZe(t.parent),n=t.structuredQuery,o=n.from?n.from.length:0,i=null;if(o>0){Nr(o===1);var r=n.from[0];r.allDescendants?i=r.collectionId:e=e.child(r.collectionId)}var a=[];n.where&&(a=GZe(n.where));var l=[];n.orderBy&&(l=n.orderBy.map(function(d){return function(f){return new SC(QP(f.field),function(p){switch(p){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(f.direction))}(d)}));var s=null;n.limit&&(s=function(d){var f;return Ub(f=typeof d=="object"?d.value:d)?null:f}(n.limit));var c=null;n.startAt&&(c=cPe(n.startAt));var u=null;return n.endAt&&(u=cPe(n.endAt)),SZe(e,i,l,a,s,"F",c,u)}function GZe(t){return t?t.unaryFilter!==void 0?[ZNn(t)]:t.fieldFilter!==void 0?[QNn(t)]:t.compositeFilter!==void 0?t.compositeFilter.filters.map(function(e){return GZe(e)}).reduce(function(e,n){return e.concat(n)}):or():[]}function sPe(t){return{before:t.before,values:t.position}}function cPe(t){var e=!!t.before,n=t.values||[];return new hF(n,e)}function qNn(t){return VNn[t]}function $Nn(t){return GNn[t]}function WT(t){return{fieldPath:t.canonicalString()}}function QP(t){return B2.fromServerFormat(t.fieldPath)}function QNn(t){return gg.create(QP(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":default:return or()}}(t.fieldFilter.op),t.fieldFilter.value)}function ZNn(t){switch(t.unaryFilter.op){case"IS_NAN":var e=QP(t.unaryFilter.field);return gg.create(e,"==",{doubleValue:NaN});case"IS_NULL":var n=QP(t.unaryFilter.field);return gg.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":var o=QP(t.unaryFilter.field);return gg.create(o,"!=",{doubleValue:NaN});case"IS_NOT_NULL":var i=QP(t.unaryFilter.field);return gg.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":default:return or()}}function eUn(t){var e=[];return t.fields.forEach(function(n){return e.push(n.canonicalString())}),{fieldPaths:e}}function XZe(t){return t.length>=4&&t.get(0)==="projects"&&t.get(2)==="databases"}/** * @license * Copyright 2017 Google LLC * @@ -5759,7 +5759,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function E2(t){for(var e="",n=0;n0&&(e=uPe(e)),e=oUn(t.get(n),e);return uPe(e)}function oUn(t,e){for(var n=e,o=t.length,i=0;i=2),e===2)return Nr(t.charAt(0)===""&&t.charAt(1)===""),Ul.emptyPath();for(var n=e-2,o=[],i="",r=0;rn)&&or(),t.charAt(a+1)){case"":var l=t.substring(r,a),s=void 0;i.length===0?s=l:(s=i+=l,i=""),o.push(s);break;case"":i+=t.substring(r,a),i+="\0";break;case"":i+=t.substring(r,a+1);break;default:or()}r=a+2}return new Ul(o)}/** + */function E2(t){for(var e="",n=0;n0&&(e=uPe(e)),e=tUn(t.get(n),e);return uPe(e)}function tUn(t,e){for(var n=e,o=t.length,i=0;i=2),e===2)return Nr(t.charAt(0)===""&&t.charAt(1)===""),Ul.emptyPath();for(var n=e-2,o=[],i="",r=0;rn)&&or(),t.charAt(a+1)){case"":var l=t.substring(r,a),s=void 0;i.length===0?s=l:(s=i+=l,i=""),o.push(s);break;case"":i+=t.substring(r,a),i+="\0";break;case"":i+=t.substring(r,a+1);break;default:or()}r=a+2}return new Ul(o)}/** * @license * Copyright 2017 Google LLC * @@ -5774,7 +5774,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var iUn=function(t,e){this.seconds=t,this.nanoseconds=e},q1=function(t,e,n){this.ownerId=t,this.allowTabSynchronization=e,this.leaseTimestampMs=n};q1.store="owner",q1.key="owner";var Nw=function(t,e,n){this.userId=t,this.lastAcknowledgedBatchId=e,this.lastStreamToken=n};Nw.store="mutationQueues",Nw.keyPath="userId";var uc=function(t,e,n,o,i){this.userId=t,this.batchId=e,this.localWriteTimeMs=n,this.baseMutations=o,this.mutations=i};uc.store="mutations",uc.keyPath="batchId",uc.userMutationsIndex="userMutationsIndex",uc.userMutationsKeyPath=["userId","batchId"];var oh=function(){function t(){}return t.prefixForUser=function(e){return[e]},t.prefixForPath=function(e,n){return[e,E2(n)]},t.key=function(e,n,o){return[e,E2(n),o]},t}();oh.store="documentMutations",oh.PLACEHOLDER=new oh;var rUn=function(t,e){this.path=t,this.readTime=e},aUn=function(t,e){this.path=t,this.version=e},d0=function(t,e,n,o,i,r){this.unknownDocument=t,this.noDocument=e,this.document=n,this.hasCommittedMutations=o,this.readTime=i,this.parentPath=r};d0.store="remoteDocuments",d0.readTimeIndex="readTimeIndex",d0.readTimeIndexPath="readTime",d0.collectionReadTimeIndex="collectionReadTimeIndex",d0.collectionReadTimeIndexPath=["parentPath","readTime"];var s9=function(t){this.byteSize=t};s9.store="remoteDocumentGlobal",s9.key="remoteDocumentGlobalKey";var Yp=function(t,e,n,o,i,r,a){this.targetId=t,this.canonicalId=e,this.readTime=n,this.resumeToken=o,this.lastListenSequenceNumber=i,this.lastLimboFreeSnapshotVersion=r,this.query=a};Yp.store="targets",Yp.keyPath="targetId",Yp.queryTargetsIndexName="queryTargetsIndex",Yp.queryTargetsKeyPath=["canonicalId","targetId"];var rf=function(t,e,n){this.targetId=t,this.path=e,this.sequenceNumber=n};rf.store="targetDocuments",rf.keyPath=["targetId","path"],rf.documentTargetsIndex="documentTargetsIndex",rf.documentTargetsKeyPath=["path","targetId"];var ng=function(t,e,n,o){this.highestTargetId=t,this.highestListenSequenceNumber=e,this.lastRemoteSnapshotVersion=n,this.targetCount=o};ng.key="targetGlobalKey",ng.store="targetGlobal";var wx=function(t,e){this.collectionId=t,this.parent=e};wx.store="collectionParents",wx.keyPath=["collectionId","parent"];var M6=function(t,e,n,o){this.clientId=t,this.updateTimeMs=e,this.networkEnabled=n,this.inForeground=o};M6.store="clientMetadata",M6.keyPath="clientId";var CR=function(t,e,n){this.bundleId=t,this.createTime=e,this.version=n};CR.store="bundles",CR.keyPath="bundleId";var RR=function(t,e,n){this.name=t,this.readTime=e,this.bundledQuery=n};RR.store="namedQueries",RR.keyPath="name";var lUn=pl(pl([],pl(pl([],pl(pl([],pl(pl([],[Nw.store,uc.store,oh.store,d0.store,Yp.store,q1.store,ng.store,rf.store]),[M6.store])),[s9.store])),[wx.store])),[CR.store,RR.store]),qZe="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",$Ze=function(){function t(){this.onCommittedListeners=[]}return t.prototype.addOnCommittedListener=function(e){this.onCommittedListeners.push(e)},t.prototype.raiseOnCommittedEvent=function(){this.onCommittedListeners.forEach(function(e){return e()})},t}(),e1=function(){var t=this;this.promise=new Promise(function(e,n){t.resolve=e,t.reject=n})},_o=function(){function t(e){var n=this;this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(function(o){n.isDone=!0,n.result=o,n.nextCallback&&n.nextCallback(o)},function(o){n.isDone=!0,n.error=o,n.catchCallback&&n.catchCallback(o)})}return t.prototype.catch=function(e){return this.next(void 0,e)},t.prototype.next=function(e,n){var o=this;return this.callbackAttached&&or(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(n,this.error):this.wrapSuccess(e,this.result):new t(function(i,r){o.nextCallback=function(a){o.wrapSuccess(e,a).next(i,r)},o.catchCallback=function(a){o.wrapFailure(n,a).next(i,r)}})},t.prototype.toPromise=function(){var e=this;return new Promise(function(n,o){e.next(n,o)})},t.prototype.wrapUserFunction=function(e){try{var n=e();return n instanceof t?n:t.resolve(n)}catch(o){return t.reject(o)}},t.prototype.wrapSuccess=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.resolve(n)},t.prototype.wrapFailure=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.reject(n)},t.resolve=function(e){return new t(function(n,o){n(e)})},t.reject=function(e){return new t(function(n,o){o(e)})},t.waitFor=function(e){return new t(function(n,o){var i=0,r=0,a=!1;e.forEach(function(l){++i,l.next(function(){++r,a&&r===i&&n()},function(s){return o(s)})}),a=!0,r===i&&n()})},t.or=function(e){for(var n=t.resolve(!1),o=function(a){n=n.next(function(l){return l?t.resolve(l):a()})},i=0,r=e;i"u")return!1;if(t.gt())return!0;var e=Kx(),n=t._t(e),o=00||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||o||r)},t.gt=function(){var e;return typeof process<"u"&&((e=vNn)===null||e===void 0?void 0:e.Tt)==="YES"},t.It=function(e,n){return e.store(n)},t._t=function(e){var n=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),o=n?n[1].split("_").slice(0,2).join("."):"-1";return Number(o)},t.Et=function(e){var n=e.match(/Android ([\d.]+)/i),o=n?n[1].split(".").slice(0,2).join("."):"-1";return Number(o)},t.prototype.At=function(e){return Ao(this,void 0,void 0,function(){var n,o=this;return ho(this,function(i){switch(i.label){case 0:return this.db?[3,2]:(li("SimpleDb","Opening database:",this.name),n=this,[4,new Promise(function(r,a){var l=indexedDB.open(o.name,o.version);l.onsuccess=function(s){var c=s.target.result;r(c)},l.onblocked=function(){a(new bE(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},l.onerror=function(s){var c=s.target.error;c.name==="VersionError"?a(new Fo(Yn.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):a(new bE(e,c))},l.onupgradeneeded=function(s){li("SimpleDb",'Database "'+o.name+'" requires upgrade from version:',s.oldVersion);var c=s.target.result;o.wt.Rt(c,l.transaction,s.oldVersion,o.version).next(function(){li("SimpleDb","Database upgrade to version "+o.version+" complete")})}})]);case 1:n.db=i.sent(),i.label=2;case 2:return[2,(this.bt&&(this.db.onversionchange=function(r){return o.bt(r)}),this.db)]}})})},t.prototype.vt=function(e){this.bt=e,this.db&&(this.db.onversionchange=function(n){return e(n)})},t.prototype.runTransaction=function(e,n,o,i){return Ao(this,void 0,void 0,function(){var r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:r=n==="readonly",a=0,l=function(){var d,f,p,g,A;return ho(this,function(w){switch(w.label){case 0:++a,w.label=1;case 1:return w.trys.push([1,4,,5]),[4,s.At(e)];case 2:return s.db=w.sent(),d=QZe.open(s.db,e,r?"readonly":"readwrite",o),f=i(d).catch(function(b){return d.abort(b),_o.reject(b)}).toPromise(),p={},f.catch(function(){}),[4,d.dt];case 3:return[2,(p.value=(w.sent(),f),p)];case 4:return g=w.sent(),A=g.name!=="FirebaseError"&&a<3,li("SimpleDb","Transaction failed with error:",g.message,"Retrying:",A),s.close(),A?[3,5]:[2,{value:Promise.reject(g)}];case 5:return[2]}})},s=this,u.label=1;case 1:return[5,l()];case 2:if(typeof(c=u.sent())=="object")return[2,c.value];u.label=3;case 3:return[3,1];case 4:return[2]}})})},t.prototype.close=function(){this.db&&this.db.close(),this.db=void 0},t}(),sUn=function(){function t(e){this.Pt=e,this.Vt=!1,this.St=null}return Object.defineProperty(t.prototype,"isDone",{get:function(){return this.Vt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Dt",{get:function(){return this.St},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cursor",{set:function(e){this.Pt=e},enumerable:!1,configurable:!0}),t.prototype.done=function(){this.Vt=!0},t.prototype.Ct=function(e){this.St=e},t.prototype.delete=function(){return vv(this.Pt.delete())},t}(),bE=function(t){function e(n,o){var i=this;return(i=t.call(this,Yn.UNAVAILABLE,"IndexedDB transaction '"+n+"' failed: "+o)||this).name="IndexedDbTransactionError",i}return Ti(e,t),e}(Fo);function Bb(t){return t.name==="IndexedDbTransactionError"}var cUn=function(){function t(e){this.store=e}return t.prototype.put=function(e,n){var o;return n!==void 0?(li("SimpleDb","PUT",this.store.name,e,n),o=this.store.put(n,e)):(li("SimpleDb","PUT",this.store.name,"",e),o=this.store.put(e)),vv(o)},t.prototype.add=function(e){return li("SimpleDb","ADD",this.store.name,e,e),vv(this.store.add(e))},t.prototype.get=function(e){var n=this;return vv(this.store.get(e)).next(function(o){return o===void 0&&(o=null),li("SimpleDb","GET",n.store.name,e,o),o})},t.prototype.delete=function(e){return li("SimpleDb","DELETE",this.store.name,e),vv(this.store.delete(e))},t.prototype.count=function(){return li("SimpleDb","COUNT",this.store.name),vv(this.store.count())},t.prototype.Nt=function(e,n){var o=this.cursor(this.options(e,n)),i=[];return this.xt(o,function(r,a){i.push(a)}).next(function(){return i})},t.prototype.kt=function(e,n){li("SimpleDb","DELETE ALL",this.store.name);var o=this.options(e,n);o.Ft=!1;var i=this.cursor(o);return this.xt(i,function(r,a,l){return l.delete()})},t.prototype.$t=function(e,n){var o;n?o=e:(o={},n=e);var i=this.cursor(o);return this.xt(i,n)},t.prototype.Ot=function(e){var n=this.cursor({});return new _o(function(o,i){n.onerror=function(r){var a=S2e(r.target.error);i(a)},n.onsuccess=function(r){var a=r.target.result;a?e(a.primaryKey,a.value).next(function(l){l?a.continue():o()}):o()}})},t.prototype.xt=function(e,n){var o=[];return new _o(function(i,r){e.onerror=function(a){r(a.target.error)},e.onsuccess=function(a){var l=a.target.result;if(l){var s=new sUn(l),c=n(l.primaryKey,l.value,s);if(c instanceof _o){var u=c.catch(function(d){return s.done(),_o.reject(d)});o.push(u)}s.isDone?i():s.Dt===null?l.continue():l.continue(s.Dt)}else i()}}).next(function(){return _o.waitFor(o)})},t.prototype.options=function(e,n){var o;return e!==void 0&&(typeof e=="string"?o=e:n=e),{index:o,range:n}},t.prototype.cursor=function(e){var n="next";if(e.reverse&&(n="prev"),e.index){var o=this.store.index(e.index);return e.Ft?o.openKeyCursor(e.range,n):o.openCursor(e.range,n)}return this.store.openCursor(e.range,n)},t}();function vv(t){return new _o(function(e,n){t.onsuccess=function(o){var i=o.target.result;e(i)},t.onerror=function(o){var i=S2e(o.target.error);n(i)}})}var dPe=!1;function S2e(t){var e=HR._t(Kx());if(e>=12.2&&e<13){var n="An internal error was encountered in the Indexed Database server";if(t.message.indexOf(n)>=0){var o=new Fo("internal","IOS_INDEXEDDB_BUG1: IndexedDb has thrown '"+n+"'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.");return dPe||(dPe=!0,setTimeout(function(){throw o},0)),o}}return t}/** + */var nUn=function(t,e){this.seconds=t,this.nanoseconds=e},q1=function(t,e,n){this.ownerId=t,this.allowTabSynchronization=e,this.leaseTimestampMs=n};q1.store="owner",q1.key="owner";var Nw=function(t,e,n){this.userId=t,this.lastAcknowledgedBatchId=e,this.lastStreamToken=n};Nw.store="mutationQueues",Nw.keyPath="userId";var uc=function(t,e,n,o,i){this.userId=t,this.batchId=e,this.localWriteTimeMs=n,this.baseMutations=o,this.mutations=i};uc.store="mutations",uc.keyPath="batchId",uc.userMutationsIndex="userMutationsIndex",uc.userMutationsKeyPath=["userId","batchId"];var oh=function(){function t(){}return t.prefixForUser=function(e){return[e]},t.prefixForPath=function(e,n){return[e,E2(n)]},t.key=function(e,n,o){return[e,E2(n),o]},t}();oh.store="documentMutations",oh.PLACEHOLDER=new oh;var oUn=function(t,e){this.path=t,this.readTime=e},iUn=function(t,e){this.path=t,this.version=e},d0=function(t,e,n,o,i,r){this.unknownDocument=t,this.noDocument=e,this.document=n,this.hasCommittedMutations=o,this.readTime=i,this.parentPath=r};d0.store="remoteDocuments",d0.readTimeIndex="readTimeIndex",d0.readTimeIndexPath="readTime",d0.collectionReadTimeIndex="collectionReadTimeIndex",d0.collectionReadTimeIndexPath=["parentPath","readTime"];var s9=function(t){this.byteSize=t};s9.store="remoteDocumentGlobal",s9.key="remoteDocumentGlobalKey";var Yp=function(t,e,n,o,i,r,a){this.targetId=t,this.canonicalId=e,this.readTime=n,this.resumeToken=o,this.lastListenSequenceNumber=i,this.lastLimboFreeSnapshotVersion=r,this.query=a};Yp.store="targets",Yp.keyPath="targetId",Yp.queryTargetsIndexName="queryTargetsIndex",Yp.queryTargetsKeyPath=["canonicalId","targetId"];var rf=function(t,e,n){this.targetId=t,this.path=e,this.sequenceNumber=n};rf.store="targetDocuments",rf.keyPath=["targetId","path"],rf.documentTargetsIndex="documentTargetsIndex",rf.documentTargetsKeyPath=["path","targetId"];var ng=function(t,e,n,o){this.highestTargetId=t,this.highestListenSequenceNumber=e,this.lastRemoteSnapshotVersion=n,this.targetCount=o};ng.key="targetGlobalKey",ng.store="targetGlobal";var wx=function(t,e){this.collectionId=t,this.parent=e};wx.store="collectionParents",wx.keyPath=["collectionId","parent"];var M6=function(t,e,n,o){this.clientId=t,this.updateTimeMs=e,this.networkEnabled=n,this.inForeground=o};M6.store="clientMetadata",M6.keyPath="clientId";var CR=function(t,e,n){this.bundleId=t,this.createTime=e,this.version=n};CR.store="bundles",CR.keyPath="bundleId";var RR=function(t,e,n){this.name=t,this.readTime=e,this.bundledQuery=n};RR.store="namedQueries",RR.keyPath="name";var rUn=pl(pl([],pl(pl([],pl(pl([],pl(pl([],[Nw.store,uc.store,oh.store,d0.store,Yp.store,q1.store,ng.store,rf.store]),[M6.store])),[s9.store])),[wx.store])),[CR.store,RR.store]),JZe="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.",KZe=function(){function t(){this.onCommittedListeners=[]}return t.prototype.addOnCommittedListener=function(e){this.onCommittedListeners.push(e)},t.prototype.raiseOnCommittedEvent=function(){this.onCommittedListeners.forEach(function(e){return e()})},t}(),e1=function(){var t=this;this.promise=new Promise(function(e,n){t.resolve=e,t.reject=n})},_o=function(){function t(e){var n=this;this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(function(o){n.isDone=!0,n.result=o,n.nextCallback&&n.nextCallback(o)},function(o){n.isDone=!0,n.error=o,n.catchCallback&&n.catchCallback(o)})}return t.prototype.catch=function(e){return this.next(void 0,e)},t.prototype.next=function(e,n){var o=this;return this.callbackAttached&&or(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(n,this.error):this.wrapSuccess(e,this.result):new t(function(i,r){o.nextCallback=function(a){o.wrapSuccess(e,a).next(i,r)},o.catchCallback=function(a){o.wrapFailure(n,a).next(i,r)}})},t.prototype.toPromise=function(){var e=this;return new Promise(function(n,o){e.next(n,o)})},t.prototype.wrapUserFunction=function(e){try{var n=e();return n instanceof t?n:t.resolve(n)}catch(o){return t.reject(o)}},t.prototype.wrapSuccess=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.resolve(n)},t.prototype.wrapFailure=function(e,n){return e?this.wrapUserFunction(function(){return e(n)}):t.reject(n)},t.resolve=function(e){return new t(function(n,o){n(e)})},t.reject=function(e){return new t(function(n,o){o(e)})},t.waitFor=function(e){return new t(function(n,o){var i=0,r=0,a=!1;e.forEach(function(l){++i,l.next(function(){++r,a&&r===i&&n()},function(s){return o(s)})}),a=!0,r===i&&n()})},t.or=function(e){for(var n=t.resolve(!1),o=function(a){n=n.next(function(l){return l?t.resolve(l):a()})},i=0,r=e;i"u")return!1;if(t.gt())return!0;var e=Kx(),n=t._t(e),o=00||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||o||r)},t.gt=function(){var e;return typeof process<"u"&&((e=ANn)===null||e===void 0?void 0:e.Tt)==="YES"},t.It=function(e,n){return e.store(n)},t._t=function(e){var n=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),o=n?n[1].split("_").slice(0,2).join("."):"-1";return Number(o)},t.Et=function(e){var n=e.match(/Android ([\d.]+)/i),o=n?n[1].split(".").slice(0,2).join("."):"-1";return Number(o)},t.prototype.At=function(e){return Ao(this,void 0,void 0,function(){var n,o=this;return ho(this,function(i){switch(i.label){case 0:return this.db?[3,2]:(li("SimpleDb","Opening database:",this.name),n=this,[4,new Promise(function(r,a){var l=indexedDB.open(o.name,o.version);l.onsuccess=function(s){var c=s.target.result;r(c)},l.onblocked=function(){a(new bE(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},l.onerror=function(s){var c=s.target.error;c.name==="VersionError"?a(new Fo(Yn.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):a(new bE(e,c))},l.onupgradeneeded=function(s){li("SimpleDb",'Database "'+o.name+'" requires upgrade from version:',s.oldVersion);var c=s.target.result;o.wt.Rt(c,l.transaction,s.oldVersion,o.version).next(function(){li("SimpleDb","Database upgrade to version "+o.version+" complete")})}})]);case 1:n.db=i.sent(),i.label=2;case 2:return[2,(this.bt&&(this.db.onversionchange=function(r){return o.bt(r)}),this.db)]}})})},t.prototype.vt=function(e){this.bt=e,this.db&&(this.db.onversionchange=function(n){return e(n)})},t.prototype.runTransaction=function(e,n,o,i){return Ao(this,void 0,void 0,function(){var r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:r=n==="readonly",a=0,l=function(){var d,f,p,g,A;return ho(this,function(w){switch(w.label){case 0:++a,w.label=1;case 1:return w.trys.push([1,4,,5]),[4,s.At(e)];case 2:return s.db=w.sent(),d=qZe.open(s.db,e,r?"readonly":"readwrite",o),f=i(d).catch(function(b){return d.abort(b),_o.reject(b)}).toPromise(),p={},f.catch(function(){}),[4,d.dt];case 3:return[2,(p.value=(w.sent(),f),p)];case 4:return g=w.sent(),A=g.name!=="FirebaseError"&&a<3,li("SimpleDb","Transaction failed with error:",g.message,"Retrying:",A),s.close(),A?[3,5]:[2,{value:Promise.reject(g)}];case 5:return[2]}})},s=this,u.label=1;case 1:return[5,l()];case 2:if(typeof(c=u.sent())=="object")return[2,c.value];u.label=3;case 3:return[3,1];case 4:return[2]}})})},t.prototype.close=function(){this.db&&this.db.close(),this.db=void 0},t}(),aUn=function(){function t(e){this.Pt=e,this.Vt=!1,this.St=null}return Object.defineProperty(t.prototype,"isDone",{get:function(){return this.Vt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Dt",{get:function(){return this.St},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cursor",{set:function(e){this.Pt=e},enumerable:!1,configurable:!0}),t.prototype.done=function(){this.Vt=!0},t.prototype.Ct=function(e){this.St=e},t.prototype.delete=function(){return vv(this.Pt.delete())},t}(),bE=function(t){function e(n,o){var i=this;return(i=t.call(this,Yn.UNAVAILABLE,"IndexedDB transaction '"+n+"' failed: "+o)||this).name="IndexedDbTransactionError",i}return Ti(e,t),e}(Fo);function Bb(t){return t.name==="IndexedDbTransactionError"}var lUn=function(){function t(e){this.store=e}return t.prototype.put=function(e,n){var o;return n!==void 0?(li("SimpleDb","PUT",this.store.name,e,n),o=this.store.put(n,e)):(li("SimpleDb","PUT",this.store.name,"",e),o=this.store.put(e)),vv(o)},t.prototype.add=function(e){return li("SimpleDb","ADD",this.store.name,e,e),vv(this.store.add(e))},t.prototype.get=function(e){var n=this;return vv(this.store.get(e)).next(function(o){return o===void 0&&(o=null),li("SimpleDb","GET",n.store.name,e,o),o})},t.prototype.delete=function(e){return li("SimpleDb","DELETE",this.store.name,e),vv(this.store.delete(e))},t.prototype.count=function(){return li("SimpleDb","COUNT",this.store.name),vv(this.store.count())},t.prototype.Nt=function(e,n){var o=this.cursor(this.options(e,n)),i=[];return this.xt(o,function(r,a){i.push(a)}).next(function(){return i})},t.prototype.kt=function(e,n){li("SimpleDb","DELETE ALL",this.store.name);var o=this.options(e,n);o.Ft=!1;var i=this.cursor(o);return this.xt(i,function(r,a,l){return l.delete()})},t.prototype.$t=function(e,n){var o;n?o=e:(o={},n=e);var i=this.cursor(o);return this.xt(i,n)},t.prototype.Ot=function(e){var n=this.cursor({});return new _o(function(o,i){n.onerror=function(r){var a=S2e(r.target.error);i(a)},n.onsuccess=function(r){var a=r.target.result;a?e(a.primaryKey,a.value).next(function(l){l?a.continue():o()}):o()}})},t.prototype.xt=function(e,n){var o=[];return new _o(function(i,r){e.onerror=function(a){r(a.target.error)},e.onsuccess=function(a){var l=a.target.result;if(l){var s=new aUn(l),c=n(l.primaryKey,l.value,s);if(c instanceof _o){var u=c.catch(function(d){return s.done(),_o.reject(d)});o.push(u)}s.isDone?i():s.Dt===null?l.continue():l.continue(s.Dt)}else i()}}).next(function(){return _o.waitFor(o)})},t.prototype.options=function(e,n){var o;return e!==void 0&&(typeof e=="string"?o=e:n=e),{index:o,range:n}},t.prototype.cursor=function(e){var n="next";if(e.reverse&&(n="prev"),e.index){var o=this.store.index(e.index);return e.Ft?o.openKeyCursor(e.range,n):o.openCursor(e.range,n)}return this.store.openCursor(e.range,n)},t}();function vv(t){return new _o(function(e,n){t.onsuccess=function(o){var i=o.target.result;e(i)},t.onerror=function(o){var i=S2e(o.target.error);n(i)}})}var dPe=!1;function S2e(t){var e=HR._t(Kx());if(e>=12.2&&e<13){var n="An internal error was encountered in the Indexed Database server";if(t.message.indexOf(n)>=0){var o=new Fo("internal","IOS_INDEXEDDB_BUG1: IndexedDb has thrown '"+n+"'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.");return dPe||(dPe=!0,setTimeout(function(){throw o},0)),o}}return t}/** * @license * Copyright 2020 Google LLC * @@ -5789,7 +5789,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var fPe=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).Mt=n,i.currentSequenceNumber=o,i}return Ti(e,t),e}($Ze);function c1(t,e){var n=Ri(t);return HR.It(n.Mt,e)}/** + */var fPe=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).Mt=n,i.currentSequenceNumber=o,i}return Ti(e,t),e}(KZe);function c1(t,e){var n=Ri(t);return HR.It(n.Mt,e)}/** * @license * Copyright 2017 Google LLC * @@ -5804,7 +5804,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var T2e=function(){function t(e,n,o,i){this.batchId=e,this.localWriteTime=n,this.baseMutations=o,this.mutations=i}return t.prototype.applyToRemoteDocument=function(e,n){for(var o=n.mutationResults,i=0;i=i),a=oP(o.R,s)),c.done()}).next(function(){return a})},t.prototype.getHighestUnacknowledgedBatchId=function(e){var n=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]),o=-1;return C4(e).$t({index:uc.userMutationsIndex,range:n,reverse:!0},function(i,r,a){o=r.batchId,a.done()}).next(function(){return o})},t.prototype.getAllMutationBatches=function(e){var n=this,o=IDBKeyRange.bound([this.userId,-1],[this.userId,Number.POSITIVE_INFINITY]);return C4(e).Nt(uc.userMutationsIndex,o).next(function(i){return i.map(function(r){return oP(n.R,r)})})},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=oh.prefixForPath(this.userId,n.path),r=IDBKeyRange.lowerBound(i),a=[];return iP(e).$t({range:r},function(l,s,c){var u=l[0],d=l[1],f=l[2],p=y6(d);if(u===o.userId&&n.path.isEqual(p))return C4(e).get(f).next(function(g){if(!g)throw or();Nr(g.userId===o.userId),a.push(oP(o.R,g))});c.done()}).next(function(){return a})},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga),r=[];return n.forEach(function(a){var l=oh.prefixForPath(o.userId,a.path),s=IDBKeyRange.lowerBound(l),c=iP(e).$t({range:s},function(u,d,f){var p=u[0],g=u[1],A=u[2],w=y6(g);p===o.userId&&a.path.isEqual(w)?i=i.add(A):f.done()});r.push(c)}),_o.waitFor(r).next(function(){return o.Wt(e,i)})},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=this,i=n.path,r=i.length+1,a=oh.prefixForPath(this.userId,i),l=IDBKeyRange.lowerBound(a),s=new Nu(Ga);return iP(e).$t({range:l},function(c,u,d){var f=c[0],p=c[1],g=c[2],A=y6(p);f===o.userId&&i.isPrefixOf(A)?A.length===r&&(s=s.add(g)):d.done()}).next(function(){return o.Wt(e,s)})},t.prototype.Wt=function(e,n){var o=this,i=[],r=[];return n.forEach(function(a){r.push(C4(e).get(a).next(function(l){if(l===null)throw or();Nr(l.userId===o.userId),i.push(oP(o.R,l))}))}),_o.waitFor(r).next(function(){return i})},t.prototype.removeMutationBatch=function(e,n){var o=this;return oet(e.Mt,this.userId,n).next(function(i){return e.addOnCommittedListener(function(){o.Gt(n.batchId)}),_o.forEach(i,function(r){return o.referenceDelegate.markPotentiallyOrphaned(e,r)})})},t.prototype.Gt=function(e){delete this.Kt[e]},t.prototype.performConsistencyCheck=function(e){var n=this;return this.checkEmpty(e).next(function(o){if(!o)return _o.resolve();var i=IDBKeyRange.lowerBound(oh.prefixForUser(n.userId)),r=[];return iP(e).$t({range:i},function(a,l,s){if(a[0]===n.userId){var c=y6(a[1]);r.push(c)}else s.done()}).next(function(){Nr(r.length===0)})})},t.prototype.containsKey=function(e,n){return iet(e,this.userId,n)},t.prototype.zt=function(e){var n=this;return ret(e).get(this.userId).next(function(o){return o||new Nw(n.userId,-1,"")})},t}();function iet(t,e,n){var o=oh.prefixForPath(e,n.path),i=o[1],r=IDBKeyRange.lowerBound(o),a=!1;return iP(t).$t({range:r,Ft:!0},function(l,s,c){var u=l[0],d=l[1];l[2],u===e&&d===i&&(a=!0),c.done()}).next(function(){return a})}function C4(t){return c1(t,uc.store)}function iP(t){return c1(t,oh.store)}function ret(t){return c1(t,Nw.store)}/** + */G5.DEFAULT_COLLECTION_PERCENTILE=10,G5.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,G5.DEFAULT=new G5(41943040,G5.DEFAULT_COLLECTION_PERCENTILE,G5.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),G5.DISABLED=new G5(-1,0,0);var fUn=function(){function t(e,n,o,i){this.userId=e,this.R=n,this.Ut=o,this.referenceDelegate=i,this.Kt={}}return t.Qt=function(e,n,o,i){return Nr(e.uid!==""),new t(e.isAuthenticated()?e.uid:"",n,o,i)},t.prototype.checkEmpty=function(e){var n=!0,o=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return C4(e).$t({index:uc.userMutationsIndex,range:o},function(i,r,a){n=!1,a.done()}).next(function(){return n})},t.prototype.addMutationBatch=function(e,n,o,i){var r=this,a=iP(e),l=C4(e);return l.add({}).next(function(s){Nr(typeof s=="number");for(var c=new T2e(s,n,o,i),u=function(b,C,P){var v=P.baseMutations.map(function(y){return AX(b.Lt,y)}),T=P.mutations.map(function(y){return AX(b.Lt,y)});return new uc(C,P.batchId,P.localWriteTime.toMillis(),v,T)}(r.R,r.userId,c),d=[],f=new Nu(function(b,C){return Ga(b.canonicalString(),C.canonicalString())}),p=0,g=i;p=i),a=oP(o.R,s)),c.done()}).next(function(){return a})},t.prototype.getHighestUnacknowledgedBatchId=function(e){var n=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]),o=-1;return C4(e).$t({index:uc.userMutationsIndex,range:n,reverse:!0},function(i,r,a){o=r.batchId,a.done()}).next(function(){return o})},t.prototype.getAllMutationBatches=function(e){var n=this,o=IDBKeyRange.bound([this.userId,-1],[this.userId,Number.POSITIVE_INFINITY]);return C4(e).Nt(uc.userMutationsIndex,o).next(function(i){return i.map(function(r){return oP(n.R,r)})})},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=oh.prefixForPath(this.userId,n.path),r=IDBKeyRange.lowerBound(i),a=[];return iP(e).$t({range:r},function(l,s,c){var u=l[0],d=l[1],f=l[2],p=y6(d);if(u===o.userId&&n.path.isEqual(p))return C4(e).get(f).next(function(g){if(!g)throw or();Nr(g.userId===o.userId),a.push(oP(o.R,g))});c.done()}).next(function(){return a})},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga),r=[];return n.forEach(function(a){var l=oh.prefixForPath(o.userId,a.path),s=IDBKeyRange.lowerBound(l),c=iP(e).$t({range:s},function(u,d,f){var p=u[0],g=u[1],A=u[2],w=y6(g);p===o.userId&&a.path.isEqual(w)?i=i.add(A):f.done()});r.push(c)}),_o.waitFor(r).next(function(){return o.Wt(e,i)})},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=this,i=n.path,r=i.length+1,a=oh.prefixForPath(this.userId,i),l=IDBKeyRange.lowerBound(a),s=new Nu(Ga);return iP(e).$t({range:l},function(c,u,d){var f=c[0],p=c[1],g=c[2],A=y6(p);f===o.userId&&i.isPrefixOf(A)?A.length===r&&(s=s.add(g)):d.done()}).next(function(){return o.Wt(e,s)})},t.prototype.Wt=function(e,n){var o=this,i=[],r=[];return n.forEach(function(a){r.push(C4(e).get(a).next(function(l){if(l===null)throw or();Nr(l.userId===o.userId),i.push(oP(o.R,l))}))}),_o.waitFor(r).next(function(){return i})},t.prototype.removeMutationBatch=function(e,n){var o=this;return tet(e.Mt,this.userId,n).next(function(i){return e.addOnCommittedListener(function(){o.Gt(n.batchId)}),_o.forEach(i,function(r){return o.referenceDelegate.markPotentiallyOrphaned(e,r)})})},t.prototype.Gt=function(e){delete this.Kt[e]},t.prototype.performConsistencyCheck=function(e){var n=this;return this.checkEmpty(e).next(function(o){if(!o)return _o.resolve();var i=IDBKeyRange.lowerBound(oh.prefixForUser(n.userId)),r=[];return iP(e).$t({range:i},function(a,l,s){if(a[0]===n.userId){var c=y6(a[1]);r.push(c)}else s.done()}).next(function(){Nr(r.length===0)})})},t.prototype.containsKey=function(e,n){return net(e,this.userId,n)},t.prototype.zt=function(e){var n=this;return oet(e).get(this.userId).next(function(o){return o||new Nw(n.userId,-1,"")})},t}();function net(t,e,n){var o=oh.prefixForPath(e,n.path),i=o[1],r=IDBKeyRange.lowerBound(o),a=!1;return iP(t).$t({range:r,Ft:!0},function(l,s,c){var u=l[0],d=l[1];l[2],u===e&&d===i&&(a=!0),c.done()}).next(function(){return a})}function C4(t){return c1(t,uc.store)}function iP(t){return c1(t,oh.store)}function oet(t){return c1(t,Nw.store)}/** * @license * Copyright 2017 Google LLC * @@ -5894,7 +5894,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vX=function(){function t(e){this.Ht=e}return t.prototype.next=function(){return this.Ht+=2,this.Ht},t.Jt=function(){return new t(0)},t.Yt=function(){return new t(-1)},t}(),gUn=function(){function t(e,n){this.referenceDelegate=e,this.R=n}return t.prototype.allocateTargetId=function(e){var n=this;return this.Xt(e).next(function(o){var i=new vX(o.highestTargetId);return o.highestTargetId=i.next(),n.Zt(e,o).next(function(){return o.highestTargetId})})},t.prototype.getLastRemoteSnapshotVersion=function(e){return this.Xt(e).next(function(n){return Ea.fromTimestamp(new Jp(n.lastRemoteSnapshotVersion.seconds,n.lastRemoteSnapshotVersion.nanoseconds))})},t.prototype.getHighestSequenceNumber=function(e){return this.Xt(e).next(function(n){return n.highestListenSequenceNumber})},t.prototype.setTargetsMetadata=function(e,n,o){var i=this;return this.Xt(e).next(function(r){return r.highestListenSequenceNumber=n,o&&(r.lastRemoteSnapshotVersion=o.toTimestamp()),n>r.highestListenSequenceNumber&&(r.highestListenSequenceNumber=n),i.Zt(e,r)})},t.prototype.addTargetData=function(e,n){var o=this;return this.te(e,n).next(function(){return o.Xt(e).next(function(i){return i.targetCount+=1,o.ee(n,i),o.Zt(e,i)})})},t.prototype.updateTargetData=function(e,n){return this.te(e,n)},t.prototype.removeTargetData=function(e,n){var o=this;return this.removeMatchingKeysForTargetId(e,n.targetId).next(function(){return NT(e).delete(n.targetId)}).next(function(){return o.Xt(e)}).next(function(i){return Nr(i.targetCount>0),i.targetCount-=1,o.Zt(e,i)})},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return NT(e).$t(function(l,s){var c=RD(s);c.sequenceNumber<=n&&o.get(c.targetId)===null&&(r++,a.push(i.removeTargetData(e,c)))}).next(function(){return _o.waitFor(a)}).next(function(){return r})},t.prototype.forEachTarget=function(e,n){return NT(e).$t(function(o,i){var r=RD(i);n(r)})},t.prototype.Xt=function(e){return APe(e).get(ng.key).next(function(n){return Nr(n!==null),n})},t.prototype.Zt=function(e,n){return APe(e).put(ng.key,n)},t.prototype.te=function(e,n){return NT(e).put(tet(this.R,n))},t.prototype.ee=function(e,n){var o=!1;return e.targetId>n.highestTargetId&&(n.highestTargetId=e.targetId,o=!0),e.sequenceNumber>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=e.sequenceNumber,o=!0),o},t.prototype.getTargetCount=function(e){return this.Xt(e).next(function(n){return n.targetCount})},t.prototype.getTargetData=function(e,n){var o=AN(n),i=IDBKeyRange.bound([o,Number.NEGATIVE_INFINITY],[o,Number.POSITIVE_INFINITY]),r=null;return NT(e).$t({range:i,index:Yp.queryTargetsIndexName},function(a,l,s){var c=RD(l);tZ(n,c.target)&&(r=c,s.done())}).next(function(){return r})},t.prototype.addMatchingKeys=function(e,n,o){var i=this,r=[],a=tw(e);return n.forEach(function(l){var s=E2(l.path);r.push(a.put(new rf(o,s))),r.push(i.referenceDelegate.addReference(e,o,l))}),_o.waitFor(r)},t.prototype.removeMatchingKeys=function(e,n,o){var i=this,r=tw(e);return _o.forEach(n,function(a){var l=E2(a.path);return _o.waitFor([r.delete([o,l]),i.referenceDelegate.removeReference(e,o,a)])})},t.prototype.removeMatchingKeysForTargetId=function(e,n){var o=tw(e),i=IDBKeyRange.bound([n],[n+1],!1,!0);return o.delete(i)},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=IDBKeyRange.bound([n],[n+1],!1,!0),i=tw(e),r=_s();return i.$t({range:o,Ft:!0},function(a,l,s){var c=y6(a[1]),u=new sr(c);r=r.add(u)}).next(function(){return r})},t.prototype.containsKey=function(e,n){var o=E2(n.path),i=IDBKeyRange.bound([o],[AZe(o)],!1,!0),r=0;return tw(e).$t({index:rf.documentTargetsIndex,Ft:!0,range:i},function(a,l,s){var c=a[0];a[1],c!==0&&(r++,s.done())}).next(function(){return r>0})},t.prototype.lt=function(e,n){return NT(e).get(n).next(function(o){return o?RD(o):null})},t}();/** + */var vX=function(){function t(e){this.Ht=e}return t.prototype.next=function(){return this.Ht+=2,this.Ht},t.Jt=function(){return new t(0)},t.Yt=function(){return new t(-1)},t}(),hUn=function(){function t(e,n){this.referenceDelegate=e,this.R=n}return t.prototype.allocateTargetId=function(e){var n=this;return this.Xt(e).next(function(o){var i=new vX(o.highestTargetId);return o.highestTargetId=i.next(),n.Zt(e,o).next(function(){return o.highestTargetId})})},t.prototype.getLastRemoteSnapshotVersion=function(e){return this.Xt(e).next(function(n){return Ea.fromTimestamp(new Jp(n.lastRemoteSnapshotVersion.seconds,n.lastRemoteSnapshotVersion.nanoseconds))})},t.prototype.getHighestSequenceNumber=function(e){return this.Xt(e).next(function(n){return n.highestListenSequenceNumber})},t.prototype.setTargetsMetadata=function(e,n,o){var i=this;return this.Xt(e).next(function(r){return r.highestListenSequenceNumber=n,o&&(r.lastRemoteSnapshotVersion=o.toTimestamp()),n>r.highestListenSequenceNumber&&(r.highestListenSequenceNumber=n),i.Zt(e,r)})},t.prototype.addTargetData=function(e,n){var o=this;return this.te(e,n).next(function(){return o.Xt(e).next(function(i){return i.targetCount+=1,o.ee(n,i),o.Zt(e,i)})})},t.prototype.updateTargetData=function(e,n){return this.te(e,n)},t.prototype.removeTargetData=function(e,n){var o=this;return this.removeMatchingKeysForTargetId(e,n.targetId).next(function(){return NT(e).delete(n.targetId)}).next(function(){return o.Xt(e)}).next(function(i){return Nr(i.targetCount>0),i.targetCount-=1,o.Zt(e,i)})},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return NT(e).$t(function(l,s){var c=RD(s);c.sequenceNumber<=n&&o.get(c.targetId)===null&&(r++,a.push(i.removeTargetData(e,c)))}).next(function(){return _o.waitFor(a)}).next(function(){return r})},t.prototype.forEachTarget=function(e,n){return NT(e).$t(function(o,i){var r=RD(i);n(r)})},t.prototype.Xt=function(e){return APe(e).get(ng.key).next(function(n){return Nr(n!==null),n})},t.prototype.Zt=function(e,n){return APe(e).put(ng.key,n)},t.prototype.te=function(e,n){return NT(e).put(ZZe(this.R,n))},t.prototype.ee=function(e,n){var o=!1;return e.targetId>n.highestTargetId&&(n.highestTargetId=e.targetId,o=!0),e.sequenceNumber>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=e.sequenceNumber,o=!0),o},t.prototype.getTargetCount=function(e){return this.Xt(e).next(function(n){return n.targetCount})},t.prototype.getTargetData=function(e,n){var o=AN(n),i=IDBKeyRange.bound([o,Number.NEGATIVE_INFINITY],[o,Number.POSITIVE_INFINITY]),r=null;return NT(e).$t({range:i,index:Yp.queryTargetsIndexName},function(a,l,s){var c=RD(l);tZ(n,c.target)&&(r=c,s.done())}).next(function(){return r})},t.prototype.addMatchingKeys=function(e,n,o){var i=this,r=[],a=tw(e);return n.forEach(function(l){var s=E2(l.path);r.push(a.put(new rf(o,s))),r.push(i.referenceDelegate.addReference(e,o,l))}),_o.waitFor(r)},t.prototype.removeMatchingKeys=function(e,n,o){var i=this,r=tw(e);return _o.forEach(n,function(a){var l=E2(a.path);return _o.waitFor([r.delete([o,l]),i.referenceDelegate.removeReference(e,o,a)])})},t.prototype.removeMatchingKeysForTargetId=function(e,n){var o=tw(e),i=IDBKeyRange.bound([n],[n+1],!1,!0);return o.delete(i)},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=IDBKeyRange.bound([n],[n+1],!1,!0),i=tw(e),r=_s();return i.$t({range:o,Ft:!0},function(a,l,s){var c=y6(a[1]),u=new sr(c);r=r.add(u)}).next(function(){return r})},t.prototype.containsKey=function(e,n){var o=E2(n.path),i=IDBKeyRange.bound([o],[mZe(o)],!1,!0),r=0;return tw(e).$t({index:rf.documentTargetsIndex,Ft:!0,range:i},function(a,l,s){var c=a[0];a[1],c!==0&&(r++,s.done())}).next(function(){return r>0})},t.prototype.lt=function(e,n){return NT(e).get(n).next(function(o){return o?RD(o):null})},t}();/** * @license * Copyright 2017 Google LLC * @@ -5924,7 +5924,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function jb(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){if(t.code!==Yn.FAILED_PRECONDITION||t.message!==qZe)throw t;return li("LocalStore","Unexpectedly lost primary lease"),[2]})})}/** + */function jb(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){if(t.code!==Yn.FAILED_PRECONDITION||t.message!==JZe)throw t;return li("LocalStore","Unexpectedly lost primary lease"),[2]})})}/** * @license * Copyright 2020 Google LLC * @@ -5939,12 +5939,12 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function wPe(t,e){var n=t[0],o=t[1],i=e[0],r=e[1],a=Ga(n,i);return a===0?Ga(o,r):a}var mUn=function(){function t(e){this.ne=e,this.buffer=new Nu(wPe),this.se=0}return t.prototype.ie=function(){return++this.se},t.prototype.re=function(e){var n=[e,this.ie()];if(this.buffer.sizeu.params.maximumSequenceNumbersToCollect?(li("LruGarbageCollector","Capping sequence numbers to collect down to the maximum of "+u.params.maximumSequenceNumbersToCollect+" from "+f),i=u.params.maximumSequenceNumbersToCollect):i=f,a=Date.now(),u.nthSequenceNumber(e,i)}).next(function(f){return o=f,l=Date.now(),u.removeTargets(e,o,n)}).next(function(f){return r=f,s=Date.now(),u.removeOrphanedDocuments(e,o)}).next(function(f){return c=Date.now(),sde()<=Sl.DEBUG&&li("LruGarbageCollector",`LRU Garbage Collection + */function wPe(t,e){var n=t[0],o=t[1],i=e[0],r=e[1],a=Ga(n,i);return a===0?Ga(o,r):a}var pUn=function(){function t(e){this.ne=e,this.buffer=new Nu(wPe),this.se=0}return t.prototype.ie=function(){return++this.se},t.prototype.re=function(e){var n=[e,this.ie()];if(this.buffer.sizeu.params.maximumSequenceNumbersToCollect?(li("LruGarbageCollector","Capping sequence numbers to collect down to the maximum of "+u.params.maximumSequenceNumbersToCollect+" from "+f),i=u.params.maximumSequenceNumbersToCollect):i=f,a=Date.now(),u.nthSequenceNumber(e,i)}).next(function(f){return o=f,l=Date.now(),u.removeTargets(e,o,n)}).next(function(f){return r=f,s=Date.now(),u.removeOrphanedDocuments(e,o)}).next(function(f){return c=Date.now(),sde()<=Sl.DEBUG&&li("LruGarbageCollector",`LRU Garbage Collection Counted targets in `+(a-d)+`ms Determined least recently used `+i+" in "+(l-a)+`ms Removed `+r+" targets in "+(s-l)+`ms Removed `+f+" documents in "+(c-s)+`ms -Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:r,documentsRemoved:f})})},t}(),wUn=function(){function t(e,n){this.db=e,this.garbageCollector=function(o,i){return new AUn(o,i)}(this,n)}return t.prototype.he=function(e){var n=this.de(e);return this.db.getTargetCache().getTargetCount(e).next(function(o){return n.next(function(i){return o+i})})},t.prototype.de=function(e){var n=0;return this.le(e,function(o){n++}).next(function(){return n})},t.prototype.forEachTarget=function(e,n){return this.db.getTargetCache().forEachTarget(e,n)},t.prototype.le=function(e,n){return this.we(e,function(o,i){return n(i)})},t.prototype.addReference=function(e,n,o){return pO(e,o)},t.prototype.removeReference=function(e,n,o){return pO(e,o)},t.prototype.removeTargets=function(e,n,o){return this.db.getTargetCache().removeTargets(e,n,o)},t.prototype.markPotentiallyOrphaned=function(e,n){return pO(e,n)},t.prototype._e=function(e,n){return function(o,i){var r=!1;return ret(o).Ot(function(a){return iet(o,a,i).next(function(l){return l&&(r=!0),_o.resolve(!l)})}).next(function(){return r})}(e,n)},t.prototype.removeOrphanedDocuments=function(e,n){var o=this,i=this.db.getRemoteDocumentCache().newChangeBuffer(),r=[],a=0;return this.we(e,function(l,s){if(s<=n){var c=o._e(e,l).next(function(u){if(!u)return a++,i.getEntry(e,l).next(function(){return i.removeEntry(l),tw(e).delete([0,E2(l.path)])})});r.push(c)}}).next(function(){return _o.waitFor(r)}).next(function(){return i.apply(e)}).next(function(){return a})},t.prototype.removeTarget=function(e,n){var o=n.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,o)},t.prototype.updateLimboDocument=function(e,n){return pO(e,n)},t.prototype.we=function(e,n){var o,i=tw(e),r=pg.o;return i.$t({index:rf.documentTargetsIndex},function(a,l){var s=a[0];a[1];var c=l.path,u=l.sequenceNumber;s===0?(r!==pg.o&&n(new sr(y6(o)),r),r=u,o=c):r=pg.o}).next(function(){r!==pg.o&&n(new sr(y6(o)),r)})},t.prototype.getCacheSize=function(e){return this.db.getRemoteDocumentCache().getSize(e)},t}();function pO(t,e){return tw(t).put(function(n,o){return new rf(0,E2(n.path),o)}(e,t.currentSequenceNumber))}/** +Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,targetsRemoved:r,documentsRemoved:f})})},t}(),yUn=function(){function t(e,n){this.db=e,this.garbageCollector=function(o,i){return new mUn(o,i)}(this,n)}return t.prototype.he=function(e){var n=this.de(e);return this.db.getTargetCache().getTargetCount(e).next(function(o){return n.next(function(i){return o+i})})},t.prototype.de=function(e){var n=0;return this.le(e,function(o){n++}).next(function(){return n})},t.prototype.forEachTarget=function(e,n){return this.db.getTargetCache().forEachTarget(e,n)},t.prototype.le=function(e,n){return this.we(e,function(o,i){return n(i)})},t.prototype.addReference=function(e,n,o){return pO(e,o)},t.prototype.removeReference=function(e,n,o){return pO(e,o)},t.prototype.removeTargets=function(e,n,o){return this.db.getTargetCache().removeTargets(e,n,o)},t.prototype.markPotentiallyOrphaned=function(e,n){return pO(e,n)},t.prototype._e=function(e,n){return function(o,i){var r=!1;return oet(o).Ot(function(a){return net(o,a,i).next(function(l){return l&&(r=!0),_o.resolve(!l)})}).next(function(){return r})}(e,n)},t.prototype.removeOrphanedDocuments=function(e,n){var o=this,i=this.db.getRemoteDocumentCache().newChangeBuffer(),r=[],a=0;return this.we(e,function(l,s){if(s<=n){var c=o._e(e,l).next(function(u){if(!u)return a++,i.getEntry(e,l).next(function(){return i.removeEntry(l),tw(e).delete([0,E2(l.path)])})});r.push(c)}}).next(function(){return _o.waitFor(r)}).next(function(){return i.apply(e)}).next(function(){return a})},t.prototype.removeTarget=function(e,n){var o=n.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,o)},t.prototype.updateLimboDocument=function(e,n){return pO(e,n)},t.prototype.we=function(e,n){var o,i=tw(e),r=pg.o;return i.$t({index:rf.documentTargetsIndex},function(a,l){var s=a[0];a[1];var c=l.path,u=l.sequenceNumber;s===0?(r!==pg.o&&n(new sr(y6(o)),r),r=u,o=c):r=pg.o}).next(function(){r!==pg.o&&n(new sr(y6(o)),r)})},t.prototype.getCacheSize=function(e){return this.db.getRemoteDocumentCache().getSize(e)},t}();function pO(t,e){return tw(t).put(function(n,o){return new rf(0,E2(n.path),o)}(e,t.currentSequenceNumber))}/** * @license * Copyright 2017 Google LLC * @@ -5959,7 +5959,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var JH=function(){function t(e,n){this.mapKeyFn=e,this.equalsFn=n,this.inner={}}return t.prototype.get=function(e){var n=this.mapKeyFn(e),o=this.inner[n];if(o!==void 0)for(var i=0,r=o;i=0&&i<=11);var a=new QZe("createOrUpgrade",n);o<1&&i>=1&&(function(s){s.createObjectStore(q1.store)}(e),function(s){s.createObjectStore(Nw.store,{keyPath:Nw.keyPath}),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0}),s.createObjectStore(oh.store)}(e),xPe(e),function(s){s.createObjectStore(d0.store)}(e));var l=_o.resolve();return o<3&&i>=3&&(o!==0&&(function(s){s.deleteObjectStore(rf.store),s.deleteObjectStore(Yp.store),s.deleteObjectStore(ng.store)}(e),xPe(e)),l=l.next(function(){return function(s){var c=s.store(ng.store),u=new ng(0,0,Ea.min().toTimestamp(),0);return c.put(ng.key,u)}(a)})),o<4&&i>=4&&(o!==0&&(l=l.next(function(){return function(s,c){return c.store(uc.store).Nt().next(function(u){s.deleteObjectStore(uc.store),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0});var d=c.store(uc.store),f=u.map(function(p){return d.put(p)});return _o.waitFor(f)})}(e,a)})),l=l.next(function(){(function(s){s.createObjectStore(M6.store,{keyPath:M6.keyPath})})(e)})),o<5&&i>=5&&(l=l.next(function(){return r.Re(a)})),o<6&&i>=6&&(l=l.next(function(){return function(s){s.createObjectStore(s9.store)}(e),r.be(a)})),o<7&&i>=7&&(l=l.next(function(){return r.ve(a)})),o<8&&i>=8&&(l=l.next(function(){return r.Pe(e,a)})),o<9&&i>=9&&(l=l.next(function(){(function(s){s.objectStoreNames.contains("remoteDocumentChanges")&&s.deleteObjectStore("remoteDocumentChanges")})(e),function(s){var c=s.objectStore(d0.store);c.createIndex(d0.readTimeIndex,d0.readTimeIndexPath,{unique:!1}),c.createIndex(d0.collectionReadTimeIndex,d0.collectionReadTimeIndexPath,{unique:!1})}(n)})),o<10&&i>=10&&(l=l.next(function(){return r.Ve(a)})),o<11&&i>=11&&(l=l.next(function(){(function(s){s.createObjectStore(CR.store,{keyPath:CR.keyPath})})(e),function(s){s.createObjectStore(RR.store,{keyPath:RR.keyPath})}(e)})),l},t.prototype.be=function(e){var n=0;return e.store(d0.store).$t(function(o,i){n+=wX(i)}).next(function(){var o=new s9(n);return e.store(s9.store).put(s9.key,o)})},t.prototype.Re=function(e){var n=this,o=e.store(Nw.store),i=e.store(uc.store);return o.Nt().next(function(r){return _o.forEach(r,function(a){var l=IDBKeyRange.bound([a.userId,-1],[a.userId,a.lastAcknowledgedBatchId]);return i.Nt(uc.userMutationsIndex,l).next(function(s){return _o.forEach(s,function(c){Nr(c.userId===a.userId);var u=oP(n.R,c);return oet(e,a.userId,u).next(function(){})})})})})},t.prototype.ve=function(e){var n=e.store(rf.store),o=e.store(d0.store);return e.store(ng.store).get(ng.key).next(function(i){var r=[];return o.$t(function(a,l){var s=new Ul(a),c=function(u){return[0,E2(u)]}(s);r.push(n.get(c).next(function(u){return u?_o.resolve():function(d){return n.put(new rf(0,E2(d),i.highestListenSequenceNumber))}(s)}))}).next(function(){return _o.waitFor(r)})})},t.prototype.Pe=function(e,n){e.createObjectStore(wx.store,{keyPath:wx.keyPath});var o=n.store(wx.store),i=new C2e,r=function(a){if(i.add(a)){var l=a.lastSegment(),s=a.popLast();return o.put({collectionId:l,parent:E2(s)})}};return n.store(d0.store).$t({Ft:!0},function(a,l){var s=new Ul(a);return r(s.popLast())}).next(function(){return n.store(oh.store).$t({Ft:!0},function(a,l){a[0];var s=a[1];a[2];var c=y6(s);return r(c.popLast())})})},t.prototype.Ve=function(e){var n=this,o=e.store(Yp.store);return o.$t(function(i,r){var a=RD(r),l=tet(n.R,a);return o.put(l)})},t}();function xPe(t){t.createObjectStore(rf.store,{keyPath:rf.keyPath}).createIndex(rf.documentTargetsIndex,rf.documentTargetsKeyPath,{unique:!0}),t.createObjectStore(Yp.store,{keyPath:Yp.keyPath}).createIndex(Yp.queryTargetsIndexName,Yp.queryTargetsKeyPath,{unique:!0}),t.createObjectStore(ng.store)}var Jre="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.",SUn=function(){function t(e,n,o,i,r,a,l,s,c,u){if(this.allowTabSynchronization=e,this.persistenceKey=n,this.clientId=o,this.Se=r,this.window=a,this.document=l,this.De=c,this.Ce=u,this.Ne=null,this.xe=!1,this.isPrimary=!1,this.networkEnabled=!0,this.ke=null,this.inForeground=!1,this.Fe=null,this.$e=null,this.Oe=Number.NEGATIVE_INFINITY,this.Me=function(d){return Promise.resolve()},!t.yt())throw new Fo(Yn.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new wUn(this,i),this.Le=n+"main",this.R=new ZZe(s),this.Be=new HR(this.Le,11,new bUn(this.R)),this.qe=new gUn(this.referenceDelegate,this.R),this.Ut=new hUn,this.Ue=function(d,f){return new vUn(d,f)}(this.R,this.Ut),this.Ke=new dUn,this.window&&this.window.localStorage?this.Qe=this.window.localStorage:(this.Qe=null,u===!1&&lu("IndexedDbPersistence","LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}return t.prototype.start=function(){var e=this;return this.je().then(function(){if(!e.isPrimary&&!e.allowTabSynchronization)throw new Fo(Yn.FAILED_PRECONDITION,Jre);return e.We(),e.Ge(),e.ze(),e.runTransaction("getHighestListenSequenceNumber","readonly",function(n){return e.qe.getHighestSequenceNumber(n)})}).then(function(n){e.Ne=new pg(n,e.De)}).then(function(){e.xe=!0}).catch(function(n){return e.Be&&e.Be.close(),Promise.reject(n)})},t.prototype.He=function(e){var n=this;return this.Me=function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){return this.started?[2,e(o)]:[2]})})},e(this.isPrimary)},t.prototype.setDatabaseDeletedListener=function(e){var n=this;this.Be.vt(function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return o.newVersion===null?[4,e()]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})})},t.prototype.setNetworkEnabled=function(e){var n=this;this.networkEnabled!==e&&(this.networkEnabled=e,this.Se.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.started?[4,this.je()]:[3,2];case 1:o.sent(),o.label=2;case 2:return[2]}})})}))},t.prototype.je=function(){var e=this;return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",function(n){return mO(n).put(new M6(e.clientId,Date.now(),e.networkEnabled,e.inForeground)).next(function(){if(e.isPrimary)return e.Je(n).next(function(o){o||(e.isPrimary=!1,e.Se.enqueueRetryable(function(){return e.Me(!1)}))})}).next(function(){return e.Ye(n)}).next(function(o){return e.isPrimary&&!o?e.Xe(n).next(function(){return!1}):!!o&&e.Ze(n).next(function(){return!0})})}).catch(function(n){if(Bb(n))return li("IndexedDbPersistence","Failed to extend owner lease: ",n),e.isPrimary;if(!e.allowTabSynchronization)throw n;return li("IndexedDbPersistence","Releasing owner lease after error during lease refresh",n),!1}).then(function(n){e.isPrimary!==n&&e.Se.enqueueRetryable(function(){return e.Me(n)}),e.isPrimary=n})},t.prototype.Je=function(e){var n=this;return Lz(e).get(q1.key).next(function(o){return _o.resolve(n.tn(o))})},t.prototype.en=function(e){return mO(e).delete(this.clientId)},t.prototype.nn=function(){return Ao(this,void 0,void 0,function(){var e,n,o,i,r=this;return ho(this,function(a){switch(a.label){case 0:return!this.isPrimary||this.sn(this.Oe,18e5)?[3,2]:(this.Oe=Date.now(),[4,this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",function(l){var s=c1(l,M6.store);return s.Nt().next(function(c){var u=r.rn(c,18e5),d=c.filter(function(f){return u.indexOf(f)===-1});return _o.forEach(d,function(f){return s.delete(f.clientId)}).next(function(){return d})})}).catch(function(){return[]})]);case 1:if(e=a.sent(),this.Qe)for(n=0,o=e;no&&(lu("Detected an update time that is in the future: "+e+" > "+o),1))},t.prototype.We=function(){var e=this;this.document!==null&&typeof this.document.addEventListener=="function"&&(this.Fe=function(){e.Se.enqueueAndForget(function(){return e.inForeground=e.document.visibilityState==="visible",e.je()})},this.document.addEventListener("visibilitychange",this.Fe),this.inForeground=this.document.visibilityState==="visible")},t.prototype.an=function(){this.Fe&&(this.document.removeEventListener("visibilitychange",this.Fe),this.Fe=null)},t.prototype.Ge=function(){var e,n=this;typeof((e=this.window)===null||e===void 0?void 0:e.addEventListener)=="function"&&(this.ke=function(){n.un(),PLn()&&navigator.appVersion.match("Version/14")&&n.Se.enterRestrictedMode(!0),n.Se.enqueueAndForget(function(){return n.shutdown()})},this.window.addEventListener("pagehide",this.ke))},t.prototype.hn=function(){this.ke&&(this.window.removeEventListener("pagehide",this.ke),this.ke=null)},t.prototype.cn=function(e){var n;try{var o=((n=this.Qe)===null||n===void 0?void 0:n.getItem(this.on(e)))!==null;return li("IndexedDbPersistence","Client '"+e+"' "+(o?"is":"is not")+" zombied in LocalStorage"),o}catch(i){return lu("IndexedDbPersistence","Failed to get zombied client id.",i),!1}},t.prototype.un=function(){if(this.Qe)try{this.Qe.setItem(this.on(this.clientId),String(Date.now()))}catch(e){lu("Failed to set zombie client id.",e)}},t.prototype.ln=function(){if(this.Qe)try{this.Qe.removeItem(this.on(this.clientId))}catch{}},t.prototype.on=function(e){return"firestore_zombie_"+this.persistenceKey+"_"+e},t}();function Lz(t){return c1(t,q1.store)}function mO(t){return c1(t,M6.store)}function R2e(t,e){var n=t.projectId;return t.isDefaultDatabase||(n+="."+t.database),"firestore/"+e+"/"+n+"/"}var set=function(){function t(e,n,o){this.Ue=e,this._n=n,this.Ut=o}return t.prototype.mn=function(e,n){var o=this;return this._n.getAllMutationBatchesAffectingDocumentKey(e,n).next(function(i){return o.yn(e,n,i)})},t.prototype.yn=function(e,n,o){return this.Ue.getEntry(e,n).next(function(i){for(var r=0,a=o;r0)},t.prototype.Dn=function(e,n){return sde()<=Sl.DEBUG&&li("QueryEngine","Using full collection scan to execute query:",dde(n)),this.Sn.getDocumentsMatchingQuery(e,n,Ea.min())},t}(),PUn=function(){function t(e,n,o,i){this.persistence=e,this.xn=n,this.R=i,this.kn=new xh(Ga),this.Fn=new JH(function(r){return AN(r)},tZ),this.$n=Ea.min(),this._n=e.getMutationQueue(o),this.On=e.getRemoteDocumentCache(),this.qe=e.getTargetCache(),this.Mn=new set(this.On,this._n,this.persistence.getIndexManager()),this.Ke=e.getBundleCache(),this.xn.Vn(this.Mn)}return t.prototype.collectGarbage=function(e){var n=this;return this.persistence.runTransaction("Collect garbage","readwrite-primary",function(o){return e.collect(o,n.kn)})},t}();/** + */var vUn=function(){function t(e){this.R=e}return t.prototype.Rt=function(e,n,o,i){var r=this;Nr(o=0&&i<=11);var a=new qZe("createOrUpgrade",n);o<1&&i>=1&&(function(s){s.createObjectStore(q1.store)}(e),function(s){s.createObjectStore(Nw.store,{keyPath:Nw.keyPath}),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0}),s.createObjectStore(oh.store)}(e),xPe(e),function(s){s.createObjectStore(d0.store)}(e));var l=_o.resolve();return o<3&&i>=3&&(o!==0&&(function(s){s.deleteObjectStore(rf.store),s.deleteObjectStore(Yp.store),s.deleteObjectStore(ng.store)}(e),xPe(e)),l=l.next(function(){return function(s){var c=s.store(ng.store),u=new ng(0,0,Ea.min().toTimestamp(),0);return c.put(ng.key,u)}(a)})),o<4&&i>=4&&(o!==0&&(l=l.next(function(){return function(s,c){return c.store(uc.store).Nt().next(function(u){s.deleteObjectStore(uc.store),s.createObjectStore(uc.store,{keyPath:uc.keyPath,autoIncrement:!0}).createIndex(uc.userMutationsIndex,uc.userMutationsKeyPath,{unique:!0});var d=c.store(uc.store),f=u.map(function(p){return d.put(p)});return _o.waitFor(f)})}(e,a)})),l=l.next(function(){(function(s){s.createObjectStore(M6.store,{keyPath:M6.keyPath})})(e)})),o<5&&i>=5&&(l=l.next(function(){return r.Re(a)})),o<6&&i>=6&&(l=l.next(function(){return function(s){s.createObjectStore(s9.store)}(e),r.be(a)})),o<7&&i>=7&&(l=l.next(function(){return r.ve(a)})),o<8&&i>=8&&(l=l.next(function(){return r.Pe(e,a)})),o<9&&i>=9&&(l=l.next(function(){(function(s){s.objectStoreNames.contains("remoteDocumentChanges")&&s.deleteObjectStore("remoteDocumentChanges")})(e),function(s){var c=s.objectStore(d0.store);c.createIndex(d0.readTimeIndex,d0.readTimeIndexPath,{unique:!1}),c.createIndex(d0.collectionReadTimeIndex,d0.collectionReadTimeIndexPath,{unique:!1})}(n)})),o<10&&i>=10&&(l=l.next(function(){return r.Ve(a)})),o<11&&i>=11&&(l=l.next(function(){(function(s){s.createObjectStore(CR.store,{keyPath:CR.keyPath})})(e),function(s){s.createObjectStore(RR.store,{keyPath:RR.keyPath})}(e)})),l},t.prototype.be=function(e){var n=0;return e.store(d0.store).$t(function(o,i){n+=wX(i)}).next(function(){var o=new s9(n);return e.store(s9.store).put(s9.key,o)})},t.prototype.Re=function(e){var n=this,o=e.store(Nw.store),i=e.store(uc.store);return o.Nt().next(function(r){return _o.forEach(r,function(a){var l=IDBKeyRange.bound([a.userId,-1],[a.userId,a.lastAcknowledgedBatchId]);return i.Nt(uc.userMutationsIndex,l).next(function(s){return _o.forEach(s,function(c){Nr(c.userId===a.userId);var u=oP(n.R,c);return tet(e,a.userId,u).next(function(){})})})})})},t.prototype.ve=function(e){var n=e.store(rf.store),o=e.store(d0.store);return e.store(ng.store).get(ng.key).next(function(i){var r=[];return o.$t(function(a,l){var s=new Ul(a),c=function(u){return[0,E2(u)]}(s);r.push(n.get(c).next(function(u){return u?_o.resolve():function(d){return n.put(new rf(0,E2(d),i.highestListenSequenceNumber))}(s)}))}).next(function(){return _o.waitFor(r)})})},t.prototype.Pe=function(e,n){e.createObjectStore(wx.store,{keyPath:wx.keyPath});var o=n.store(wx.store),i=new C2e,r=function(a){if(i.add(a)){var l=a.lastSegment(),s=a.popLast();return o.put({collectionId:l,parent:E2(s)})}};return n.store(d0.store).$t({Ft:!0},function(a,l){var s=new Ul(a);return r(s.popLast())}).next(function(){return n.store(oh.store).$t({Ft:!0},function(a,l){a[0];var s=a[1];a[2];var c=y6(s);return r(c.popLast())})})},t.prototype.Ve=function(e){var n=this,o=e.store(Yp.store);return o.$t(function(i,r){var a=RD(r),l=ZZe(n.R,a);return o.put(l)})},t}();function xPe(t){t.createObjectStore(rf.store,{keyPath:rf.keyPath}).createIndex(rf.documentTargetsIndex,rf.documentTargetsKeyPath,{unique:!0}),t.createObjectStore(Yp.store,{keyPath:Yp.keyPath}).createIndex(Yp.queryTargetsIndexName,Yp.queryTargetsKeyPath,{unique:!0}),t.createObjectStore(ng.store)}var Jre="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.",xUn=function(){function t(e,n,o,i,r,a,l,s,c,u){if(this.allowTabSynchronization=e,this.persistenceKey=n,this.clientId=o,this.Se=r,this.window=a,this.document=l,this.De=c,this.Ce=u,this.Ne=null,this.xe=!1,this.isPrimary=!1,this.networkEnabled=!0,this.ke=null,this.inForeground=!1,this.Fe=null,this.$e=null,this.Oe=Number.NEGATIVE_INFINITY,this.Me=function(d){return Promise.resolve()},!t.yt())throw new Fo(Yn.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new yUn(this,i),this.Le=n+"main",this.R=new $Ze(s),this.Be=new HR(this.Le,11,new vUn(this.R)),this.qe=new hUn(this.referenceDelegate,this.R),this.Ut=new dUn,this.Ue=function(d,f){return new AUn(d,f)}(this.R,this.Ut),this.Ke=new cUn,this.window&&this.window.localStorage?this.Qe=this.window.localStorage:(this.Qe=null,u===!1&&lu("IndexedDbPersistence","LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}return t.prototype.start=function(){var e=this;return this.je().then(function(){if(!e.isPrimary&&!e.allowTabSynchronization)throw new Fo(Yn.FAILED_PRECONDITION,Jre);return e.We(),e.Ge(),e.ze(),e.runTransaction("getHighestListenSequenceNumber","readonly",function(n){return e.qe.getHighestSequenceNumber(n)})}).then(function(n){e.Ne=new pg(n,e.De)}).then(function(){e.xe=!0}).catch(function(n){return e.Be&&e.Be.close(),Promise.reject(n)})},t.prototype.He=function(e){var n=this;return this.Me=function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){return this.started?[2,e(o)]:[2]})})},e(this.isPrimary)},t.prototype.setDatabaseDeletedListener=function(e){var n=this;this.Be.vt(function(o){return Ao(n,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return o.newVersion===null?[4,e()]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})})},t.prototype.setNetworkEnabled=function(e){var n=this;this.networkEnabled!==e&&(this.networkEnabled=e,this.Se.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.started?[4,this.je()]:[3,2];case 1:o.sent(),o.label=2;case 2:return[2]}})})}))},t.prototype.je=function(){var e=this;return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",function(n){return mO(n).put(new M6(e.clientId,Date.now(),e.networkEnabled,e.inForeground)).next(function(){if(e.isPrimary)return e.Je(n).next(function(o){o||(e.isPrimary=!1,e.Se.enqueueRetryable(function(){return e.Me(!1)}))})}).next(function(){return e.Ye(n)}).next(function(o){return e.isPrimary&&!o?e.Xe(n).next(function(){return!1}):!!o&&e.Ze(n).next(function(){return!0})})}).catch(function(n){if(Bb(n))return li("IndexedDbPersistence","Failed to extend owner lease: ",n),e.isPrimary;if(!e.allowTabSynchronization)throw n;return li("IndexedDbPersistence","Releasing owner lease after error during lease refresh",n),!1}).then(function(n){e.isPrimary!==n&&e.Se.enqueueRetryable(function(){return e.Me(n)}),e.isPrimary=n})},t.prototype.Je=function(e){var n=this;return Lz(e).get(q1.key).next(function(o){return _o.resolve(n.tn(o))})},t.prototype.en=function(e){return mO(e).delete(this.clientId)},t.prototype.nn=function(){return Ao(this,void 0,void 0,function(){var e,n,o,i,r=this;return ho(this,function(a){switch(a.label){case 0:return!this.isPrimary||this.sn(this.Oe,18e5)?[3,2]:(this.Oe=Date.now(),[4,this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",function(l){var s=c1(l,M6.store);return s.Nt().next(function(c){var u=r.rn(c,18e5),d=c.filter(function(f){return u.indexOf(f)===-1});return _o.forEach(d,function(f){return s.delete(f.clientId)}).next(function(){return d})})}).catch(function(){return[]})]);case 1:if(e=a.sent(),this.Qe)for(n=0,o=e;no&&(lu("Detected an update time that is in the future: "+e+" > "+o),1))},t.prototype.We=function(){var e=this;this.document!==null&&typeof this.document.addEventListener=="function"&&(this.Fe=function(){e.Se.enqueueAndForget(function(){return e.inForeground=e.document.visibilityState==="visible",e.je()})},this.document.addEventListener("visibilitychange",this.Fe),this.inForeground=this.document.visibilityState==="visible")},t.prototype.an=function(){this.Fe&&(this.document.removeEventListener("visibilitychange",this.Fe),this.Fe=null)},t.prototype.Ge=function(){var e,n=this;typeof((e=this.window)===null||e===void 0?void 0:e.addEventListener)=="function"&&(this.ke=function(){n.un(),SLn()&&navigator.appVersion.match("Version/14")&&n.Se.enterRestrictedMode(!0),n.Se.enqueueAndForget(function(){return n.shutdown()})},this.window.addEventListener("pagehide",this.ke))},t.prototype.hn=function(){this.ke&&(this.window.removeEventListener("pagehide",this.ke),this.ke=null)},t.prototype.cn=function(e){var n;try{var o=((n=this.Qe)===null||n===void 0?void 0:n.getItem(this.on(e)))!==null;return li("IndexedDbPersistence","Client '"+e+"' "+(o?"is":"is not")+" zombied in LocalStorage"),o}catch(i){return lu("IndexedDbPersistence","Failed to get zombied client id.",i),!1}},t.prototype.un=function(){if(this.Qe)try{this.Qe.setItem(this.on(this.clientId),String(Date.now()))}catch(e){lu("Failed to set zombie client id.",e)}},t.prototype.ln=function(){if(this.Qe)try{this.Qe.removeItem(this.on(this.clientId))}catch{}},t.prototype.on=function(e){return"firestore_zombie_"+this.persistenceKey+"_"+e},t}();function Lz(t){return c1(t,q1.store)}function mO(t){return c1(t,M6.store)}function R2e(t,e){var n=t.projectId;return t.isDefaultDatabase||(n+="."+t.database),"firestore/"+e+"/"+n+"/"}var ret=function(){function t(e,n,o){this.Ue=e,this._n=n,this.Ut=o}return t.prototype.mn=function(e,n){var o=this;return this._n.getAllMutationBatchesAffectingDocumentKey(e,n).next(function(i){return o.yn(e,n,i)})},t.prototype.yn=function(e,n,o){return this.Ue.getEntry(e,n).next(function(i){for(var r=0,a=o;r0)},t.prototype.Dn=function(e,n){return sde()<=Sl.DEBUG&&li("QueryEngine","Using full collection scan to execute query:",dde(n)),this.Sn.getDocumentsMatchingQuery(e,n,Ea.min())},t}(),SUn=function(){function t(e,n,o,i){this.persistence=e,this.xn=n,this.R=i,this.kn=new xh(Ga),this.Fn=new JH(function(r){return AN(r)},tZ),this.$n=Ea.min(),this._n=e.getMutationQueue(o),this.On=e.getRemoteDocumentCache(),this.qe=e.getTargetCache(),this.Mn=new ret(this.On,this._n,this.persistence.getIndexManager()),this.Ke=e.getBundleCache(),this.xn.Vn(this.Mn)}return t.prototype.collectGarbage=function(e){var n=this;return this.persistence.runTransaction("Collect garbage","readwrite-primary",function(o){return e.collect(o,n.kn)})},t}();/** * @license * Copyright 2017 Google LLC * @@ -6004,7 +6004,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function uet(t,e,n,o){return new PUn(t,e,n,o)}function det(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r;return ho(this,function(a){switch(a.label){case 0:return n=Ri(t),o=n._n,i=n.Mn,[4,n.persistence.runTransaction("Handle user change","readonly",function(l){var s;return n._n.getAllMutationBatches(l).next(function(c){return s=c,o=n.persistence.getMutationQueue(e),i=new set(n.On,o,n.persistence.getIndexManager()),o.getAllMutationBatches(l)}).next(function(c){for(var u=[],d=[],f=_s(),p=0,g=s;p0){var g=f.withResumeToken(p,o).withSequenceNumber(r.currentSequenceNumber);i=i.insert(d,g),function(A,w,b){return Nr(w.resumeToken.approximateByteSize()>0),A.resumeToken.approximateByteSize()===0||w.snapshotVersion.toMicroseconds()-A.snapshotVersion.toMicroseconds()>=3e8||b.addedDocuments.size+b.modifiedDocuments.size+b.removedDocuments.size>0}(f,g,u)&&l.push(n.qe.updateTargetData(r,g))}}});var s=D2();if(e.documentUpdates.forEach(function(u,d){e.resolvedLimboDocuments.has(u)&&l.push(n.persistence.referenceDelegate.updateLimboDocument(r,u))}),l.push(HUn(r,a,e.documentUpdates,o).next(function(u){s=u})),!o.isEqual(Ea.min())){var c=n.qe.getLastRemoteSnapshotVersion(r).next(function(u){return n.qe.setTargetsMetadata(r,r.currentSequenceNumber,o)});l.push(c)}return _o.waitFor(l).next(function(){return a.apply(r)}).next(function(){return n.Mn.En(r,s)}).next(function(){return s})}).then(function(r){return n.kn=i,r})}function HUn(t,e,n,o,i){var r=_s();return n.forEach(function(a){return r=r.add(a)}),e.getEntries(t,r).next(function(a){var l=D2();return n.forEach(function(s,c){var u=a.get(s),d=o;c.isNoDocument()&&c.version.isEqual(Ea.min())?(e.removeEntry(s,d),l=l.insert(s,c)):!u.isValidDocument()||c.version.compareTo(u.version)>0||c.version.compareTo(u.version)===0&&u.hasPendingWrites?(e.addEntry(c,d),l=l.insert(s,c)):li("LocalStore","Ignoring outdated watch update for ",s,". Current version:",u.version," Watch version:",c.version)}),l})}function MUn(t,e){var n=Ri(t);return n.persistence.runTransaction("Get next mutation batch","readonly",function(o){return e===void 0&&(e=-1),n._n.getNextMutationBatchAfterBatchId(o,e)})}function xX(t,e){var n=Ri(t);return n.persistence.runTransaction("Allocate target","readwrite",function(o){var i;return n.qe.getTargetData(o,e).next(function(r){return r?(i=r,_o.resolve(i)):n.qe.allocateTargetId(o).next(function(a){return i=new rZ(e,a,0,o.currentSequenceNumber),n.qe.addTargetData(o,i).next(function(){return i})})})}).then(function(o){var i=n.kn.get(o.targetId);return(i===null||o.snapshotVersion.compareTo(i.snapshotVersion)>0)&&(n.kn=n.kn.insert(o.targetId,o),n.Fn.set(e,o.targetId)),o})}function zR(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=Ri(t),i=o.kn.get(e),r=n?"readwrite":"readwrite-primary",l.label=1;case 1:return l.trys.push([1,4,,5]),n?[3,3]:[4,o.persistence.runTransaction("Release target",r,function(s){return o.persistence.referenceDelegate.removeTarget(s,i)})];case 2:l.sent(),l.label=3;case 3:return[3,5];case 4:if(!Bb(a=l.sent()))throw a;return li("LocalStore","Failed to update sequence numbers for target "+e+": "+a),[3,5];case 5:return o.kn=o.kn.remove(e),o.Fn.delete(i.target),[2]}})})}function bX(t,e,n){var o=Ri(t),i=Ea.min(),r=_s();return o.persistence.runTransaction("Execute query","readonly",function(a){return function(l,s,c){var u=Ri(l),d=u.Fn.get(c);return d!==void 0?_o.resolve(u.kn.get(d)):u.qe.getTargetData(s,c)}(o,a,W9(e)).next(function(l){if(l)return i=l.lastLimboFreeSnapshotVersion,o.qe.getMatchingKeysForTargetId(a,l.targetId).next(function(s){r=s})}).next(function(){return o.xn.getDocumentsMatchingQuery(a,e,n?i:Ea.min(),n?r:_s())}).next(function(l){return{documents:l,Bn:r}})})}function het(t,e){var n=Ri(t),o=Ri(n.qe),i=n.kn.get(e);return i?Promise.resolve(i.target):n.persistence.runTransaction("Get target data","readonly",function(r){return o.lt(r,e).next(function(a){return a?a.target:null})})}function pet(t){var e=Ri(t);return e.persistence.runTransaction("Get new document changes","readonly",function(n){return function(o,i,r){var a=Ri(o),l=D2(),s=P2e(r),c=V4(i),u=IDBKeyRange.lowerBound(s,!0);return c.$t({index:d0.readTimeIndex,range:u},function(d,f){var p=gde(a.R,f);l=l.insert(p.key,p),s=f.readTime}).next(function(){return{wn:l,readTime:eet(s)}})}(e.On,n,e.$n)}).then(function(n){var o=n.wn,i=n.readTime;return e.$n=i,o})}function IUn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){return[2,(e=Ri(t)).persistence.runTransaction("Synchronize last document change read time","readonly",function(o){return function(i){var r=V4(i),a=Ea.min();return r.$t({index:d0.readTimeIndex,reverse:!0},function(l,s,c){s.readTime&&(a=eet(s.readTime)),c.done()}).next(function(){return a})}(o)}).then(function(o){e.$n=o})]})})}/** + */function set(t,e,n,o){return new SUn(t,e,n,o)}function cet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r;return ho(this,function(a){switch(a.label){case 0:return n=Ri(t),o=n._n,i=n.Mn,[4,n.persistence.runTransaction("Handle user change","readonly",function(l){var s;return n._n.getAllMutationBatches(l).next(function(c){return s=c,o=n.persistence.getMutationQueue(e),i=new ret(n.On,o,n.persistence.getIndexManager()),o.getAllMutationBatches(l)}).next(function(c){for(var u=[],d=[],f=_s(),p=0,g=s;p0){var g=f.withResumeToken(p,o).withSequenceNumber(r.currentSequenceNumber);i=i.insert(d,g),function(A,w,b){return Nr(w.resumeToken.approximateByteSize()>0),A.resumeToken.approximateByteSize()===0||w.snapshotVersion.toMicroseconds()-A.snapshotVersion.toMicroseconds()>=3e8||b.addedDocuments.size+b.modifiedDocuments.size+b.removedDocuments.size>0}(f,g,u)&&l.push(n.qe.updateTargetData(r,g))}}});var s=D2();if(e.documentUpdates.forEach(function(u,d){e.resolvedLimboDocuments.has(u)&&l.push(n.persistence.referenceDelegate.updateLimboDocument(r,u))}),l.push(CUn(r,a,e.documentUpdates,o).next(function(u){s=u})),!o.isEqual(Ea.min())){var c=n.qe.getLastRemoteSnapshotVersion(r).next(function(u){return n.qe.setTargetsMetadata(r,r.currentSequenceNumber,o)});l.push(c)}return _o.waitFor(l).next(function(){return a.apply(r)}).next(function(){return n.Mn.En(r,s)}).next(function(){return s})}).then(function(r){return n.kn=i,r})}function CUn(t,e,n,o,i){var r=_s();return n.forEach(function(a){return r=r.add(a)}),e.getEntries(t,r).next(function(a){var l=D2();return n.forEach(function(s,c){var u=a.get(s),d=o;c.isNoDocument()&&c.version.isEqual(Ea.min())?(e.removeEntry(s,d),l=l.insert(s,c)):!u.isValidDocument()||c.version.compareTo(u.version)>0||c.version.compareTo(u.version)===0&&u.hasPendingWrites?(e.addEntry(c,d),l=l.insert(s,c)):li("LocalStore","Ignoring outdated watch update for ",s,". Current version:",u.version," Watch version:",c.version)}),l})}function RUn(t,e){var n=Ri(t);return n.persistence.runTransaction("Get next mutation batch","readonly",function(o){return e===void 0&&(e=-1),n._n.getNextMutationBatchAfterBatchId(o,e)})}function xX(t,e){var n=Ri(t);return n.persistence.runTransaction("Allocate target","readwrite",function(o){var i;return n.qe.getTargetData(o,e).next(function(r){return r?(i=r,_o.resolve(i)):n.qe.allocateTargetId(o).next(function(a){return i=new rZ(e,a,0,o.currentSequenceNumber),n.qe.addTargetData(o,i).next(function(){return i})})})}).then(function(o){var i=n.kn.get(o.targetId);return(i===null||o.snapshotVersion.compareTo(i.snapshotVersion)>0)&&(n.kn=n.kn.insert(o.targetId,o),n.Fn.set(e,o.targetId)),o})}function zR(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=Ri(t),i=o.kn.get(e),r=n?"readwrite":"readwrite-primary",l.label=1;case 1:return l.trys.push([1,4,,5]),n?[3,3]:[4,o.persistence.runTransaction("Release target",r,function(s){return o.persistence.referenceDelegate.removeTarget(s,i)})];case 2:l.sent(),l.label=3;case 3:return[3,5];case 4:if(!Bb(a=l.sent()))throw a;return li("LocalStore","Failed to update sequence numbers for target "+e+": "+a),[3,5];case 5:return o.kn=o.kn.remove(e),o.Fn.delete(i.target),[2]}})})}function bX(t,e,n){var o=Ri(t),i=Ea.min(),r=_s();return o.persistence.runTransaction("Execute query","readonly",function(a){return function(l,s,c){var u=Ri(l),d=u.Fn.get(c);return d!==void 0?_o.resolve(u.kn.get(d)):u.qe.getTargetData(s,c)}(o,a,W9(e)).next(function(l){if(l)return i=l.lastLimboFreeSnapshotVersion,o.qe.getMatchingKeysForTargetId(a,l.targetId).next(function(s){r=s})}).next(function(){return o.xn.getDocumentsMatchingQuery(a,e,n?i:Ea.min(),n?r:_s())}).next(function(l){return{documents:l,Bn:r}})})}function det(t,e){var n=Ri(t),o=Ri(n.qe),i=n.kn.get(e);return i?Promise.resolve(i.target):n.persistence.runTransaction("Get target data","readonly",function(r){return o.lt(r,e).next(function(a){return a?a.target:null})})}function fet(t){var e=Ri(t);return e.persistence.runTransaction("Get new document changes","readonly",function(n){return function(o,i,r){var a=Ri(o),l=D2(),s=P2e(r),c=V4(i),u=IDBKeyRange.lowerBound(s,!0);return c.$t({index:d0.readTimeIndex,range:u},function(d,f){var p=gde(a.R,f);l=l.insert(p.key,p),s=f.readTime}).next(function(){return{wn:l,readTime:QZe(s)}})}(e.On,n,e.$n)}).then(function(n){var o=n.wn,i=n.readTime;return e.$n=i,o})}function HUn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){return[2,(e=Ri(t)).persistence.runTransaction("Synchronize last document change read time","readonly",function(o){return function(i){var r=V4(i),a=Ea.min();return r.$t({index:d0.readTimeIndex,reverse:!0},function(l,s,c){s.readTime&&(a=QZe(s.readTime)),c.done()}).next(function(){return a})}(o)}).then(function(o){e.$n=o})]})})}/** * @license * Copyright 2020 Google LLC * @@ -6019,7 +6019,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var zUn=function(){function t(e){this.R=e,this.Qn=new Map,this.jn=new Map}return t.prototype.getBundleMetadata=function(e,n){return _o.resolve(this.Qn.get(n))},t.prototype.saveBundleMetadata=function(e,n){var o;return this.Qn.set(n.id,{id:(o=n).id,version:o.version,createTime:op(o.createTime)}),_o.resolve()},t.prototype.getNamedQuery=function(e,n){return _o.resolve(this.jn.get(n))},t.prototype.saveNamedQuery=function(e,n){return this.jn.set(n.name,function(o){return{name:o.name,query:net(o.bundledQuery),readTime:op(o.readTime)}}(n)),_o.resolve()},t}(),H2e=function(){function t(){this.Wn=new Nu(pd.Gn),this.zn=new Nu(pd.Hn)}return t.prototype.isEmpty=function(){return this.Wn.isEmpty()},t.prototype.addReference=function(e,n){var o=new pd(e,n);this.Wn=this.Wn.add(o),this.zn=this.zn.add(o)},t.prototype.Jn=function(e,n){var o=this;e.forEach(function(i){return o.addReference(i,n)})},t.prototype.removeReference=function(e,n){this.Yn(new pd(e,n))},t.prototype.Xn=function(e,n){var o=this;e.forEach(function(i){return o.removeReference(i,n)})},t.prototype.Zn=function(e){var n=this,o=new sr(new Ul([])),i=new pd(o,e),r=new pd(o,e+1),a=[];return this.zn.forEachInRange([i,r],function(l){n.Yn(l),a.push(l.key)}),a},t.prototype.ts=function(){var e=this;this.Wn.forEach(function(n){return e.Yn(n)})},t.prototype.Yn=function(e){this.Wn=this.Wn.delete(e),this.zn=this.zn.delete(e)},t.prototype.es=function(e){var n=new sr(new Ul([])),o=new pd(n,e),i=new pd(n,e+1),r=_s();return this.zn.forEachInRange([o,i],function(a){r=r.add(a.key)}),r},t.prototype.containsKey=function(e){var n=new pd(e,0),o=this.Wn.firstAfterOrEqual(n);return o!==null&&e.isEqual(o.key)},t}(),pd=function(){function t(e,n){this.key=e,this.ns=n}return t.Gn=function(e,n){return sr.comparator(e.key,n.key)||Ga(e.ns,n.ns)},t.Hn=function(e,n){return Ga(e.ns,n.ns)||sr.comparator(e.key,n.key)},t}(),DUn=function(){function t(e,n){this.Ut=e,this.referenceDelegate=n,this._n=[],this.ss=1,this.rs=new Nu(pd.Gn)}return t.prototype.checkEmpty=function(e){return _o.resolve(this._n.length===0)},t.prototype.addMutationBatch=function(e,n,o,i){var r=this.ss;this.ss++,this._n.length>0&&this._n[this._n.length-1];var a=new T2e(r,n,o,i);this._n.push(a);for(var l=0,s=i;lr?this._n[r]:null)},t.prototype.getHighestUnacknowledgedBatchId=function(){return _o.resolve(this._n.length===0?-1:this.ss-1)},t.prototype.getAllMutationBatches=function(e){return _o.resolve(this._n.slice())},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=new pd(n,0),r=new pd(n,Number.POSITIVE_INFINITY),a=[];return this.rs.forEachInRange([i,r],function(l){var s=o.os(l.ns);a.push(s)}),_o.resolve(a)},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga);return n.forEach(function(r){var a=new pd(r,0),l=new pd(r,Number.POSITIVE_INFINITY);o.rs.forEachInRange([a,l],function(s){i=i.add(s.ns)})}),_o.resolve(this.us(i))},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=n.path,i=o.length+1,r=o;sr.isDocumentKey(r)||(r=r.child(""));var a=new pd(new sr(r),0),l=new Nu(Ga);return this.rs.forEachWhile(function(s){var c=s.key.path;return!!o.isPrefixOf(c)&&(c.length===i&&(l=l.add(s.ns)),!0)},a),_o.resolve(this.us(l))},t.prototype.us=function(e){var n=this,o=[];return e.forEach(function(i){var r=n.os(i);r!==null&&o.push(r)}),o},t.prototype.removeMutationBatch=function(e,n){var o=this;Nr(this.hs(n.batchId,"removed")===0),this._n.shift();var i=this.rs;return _o.forEach(n.mutations,function(r){var a=new pd(r.key,n.batchId);return i=i.delete(a),o.referenceDelegate.markPotentiallyOrphaned(e,r.key)}).next(function(){o.rs=i})},t.prototype.Gt=function(e){},t.prototype.containsKey=function(e,n){var o=new pd(n,0),i=this.rs.firstAfterOrEqual(o);return _o.resolve(n.isEqual(i&&i.key))},t.prototype.performConsistencyCheck=function(e){return this._n.length,_o.resolve()},t.prototype.hs=function(e,n){return this.cs(e)},t.prototype.cs=function(e){return this._n.length===0?0:e-this._n[0].batchId},t.prototype.os=function(e){var n=this.cs(e);return n<0||n>=this._n.length?null:this._n[n]},t}(),EUn=function(){function t(e,n){this.Ut=e,this.ls=n,this.docs=new xh(sr.comparator),this.size=0}return t.prototype.addEntry=function(e,n,o){var i=n.key,r=this.docs.get(i),a=r?r.size:0,l=this.ls(n);return this.docs=this.docs.insert(i,{document:n.clone(),size:l,readTime:o}),this.size+=l-a,this.Ut.addToCollectionParentIndex(e,i.path.popLast())},t.prototype.removeEntry=function(e){var n=this.docs.get(e);n&&(this.docs=this.docs.remove(e),this.size-=n.size)},t.prototype.getEntry=function(e,n){var o=this.docs.get(n);return _o.resolve(o?o.document.clone():ph.newInvalidDocument(n))},t.prototype.getEntries=function(e,n){var o=this,i=D2();return n.forEach(function(r){var a=o.docs.get(r);i=i.insert(r,a?a.document.clone():ph.newInvalidDocument(r))}),_o.resolve(i)},t.prototype.getDocumentsMatchingQuery=function(e,n,o){for(var i=D2(),r=new sr(n.path.child("")),a=this.docs.getIteratorFrom(r);a.hasNext();){var l=a.getNext(),s=l.key,c=l.value,u=c.document,d=c.readTime;if(!n.path.isPrefixOf(s.path))break;d.compareTo(o)<=0||xN(n,u)&&(i=i.insert(u.key,u.clone()))}return _o.resolve(i)},t.prototype.fs=function(e,n){return _o.forEach(this.docs,function(o){return n(o)})},t.prototype.newChangeBuffer=function(e){return new kUn(this)},t.prototype.getSize=function(e){return _o.resolve(this.size)},t}(),kUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).Ie=n,o}return Ti(e,t),e.prototype.applyChanges=function(n){var o=this,i=[];return this.changes.forEach(function(r,a){a.document.isValidDocument()?i.push(o.Ie.addEntry(n,a.document,o.getReadTime(r))):o.Ie.removeEntry(r)}),_o.waitFor(i)},e.prototype.getFromCache=function(n,o){return this.Ie.getEntry(n,o)},e.prototype.getAllFromCache=function(n,o){return this.Ie.getEntries(n,o)},e}(aet),FUn=function(){function t(e){this.persistence=e,this.ds=new JH(function(n){return AN(n)},tZ),this.lastRemoteSnapshotVersion=Ea.min(),this.highestTargetId=0,this.ws=0,this._s=new H2e,this.targetCount=0,this.ys=vX.Jt()}return t.prototype.forEachTarget=function(e,n){return this.ds.forEach(function(o,i){return n(i)}),_o.resolve()},t.prototype.getLastRemoteSnapshotVersion=function(e){return _o.resolve(this.lastRemoteSnapshotVersion)},t.prototype.getHighestSequenceNumber=function(e){return _o.resolve(this.ws)},t.prototype.allocateTargetId=function(e){return this.highestTargetId=this.ys.next(),_o.resolve(this.highestTargetId)},t.prototype.setTargetsMetadata=function(e,n,o){return o&&(this.lastRemoteSnapshotVersion=o),n>this.ws&&(this.ws=n),_o.resolve()},t.prototype.te=function(e){this.ds.set(e.target,e);var n=e.targetId;n>this.highestTargetId&&(this.ys=new vX(n),this.highestTargetId=n),e.sequenceNumber>this.ws&&(this.ws=e.sequenceNumber)},t.prototype.addTargetData=function(e,n){return this.te(n),this.targetCount+=1,_o.resolve()},t.prototype.updateTargetData=function(e,n){return this.te(n),_o.resolve()},t.prototype.removeTargetData=function(e,n){return this.ds.delete(n.target),this._s.Zn(n.targetId),this.targetCount-=1,_o.resolve()},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return this.ds.forEach(function(l,s){s.sequenceNumber<=n&&o.get(s.targetId)===null&&(i.ds.delete(l),a.push(i.removeMatchingKeysForTargetId(e,s.targetId)),r++)}),_o.waitFor(a).next(function(){return r})},t.prototype.getTargetCount=function(e){return _o.resolve(this.targetCount)},t.prototype.getTargetData=function(e,n){var o=this.ds.get(n)||null;return _o.resolve(o)},t.prototype.addMatchingKeys=function(e,n,o){return this._s.Jn(n,o),_o.resolve()},t.prototype.removeMatchingKeys=function(e,n,o){this._s.Xn(n,o);var i=this.persistence.referenceDelegate,r=[];return i&&n.forEach(function(a){r.push(i.markPotentiallyOrphaned(e,a))}),_o.waitFor(r)},t.prototype.removeMatchingKeysForTargetId=function(e,n){return this._s.Zn(n),_o.resolve()},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=this._s.es(n);return _o.resolve(o)},t.prototype.containsKey=function(e,n){return _o.resolve(this._s.containsKey(n))},t}(),LUn=function(){function t(e,n){var o=this;this.gs={},this.Ne=new pg(0),this.xe=!1,this.xe=!0,this.referenceDelegate=e(this),this.qe=new FUn(this),this.Ut=new fUn,this.Ue=function(i,r){return new EUn(i,function(a){return o.referenceDelegate.ps(a)})}(this.Ut),this.R=new ZZe(n),this.Ke=new zUn(this.R)}return t.prototype.start=function(){return Promise.resolve()},t.prototype.shutdown=function(){return this.xe=!1,Promise.resolve()},Object.defineProperty(t.prototype,"started",{get:function(){return this.xe},enumerable:!1,configurable:!0}),t.prototype.setDatabaseDeletedListener=function(){},t.prototype.setNetworkEnabled=function(){},t.prototype.getIndexManager=function(){return this.Ut},t.prototype.getMutationQueue=function(e){var n=this.gs[e.toKey()];return n||(n=new DUn(this.Ut,this.referenceDelegate),this.gs[e.toKey()]=n),n},t.prototype.getTargetCache=function(){return this.qe},t.prototype.getRemoteDocumentCache=function(){return this.Ue},t.prototype.getBundleCache=function(){return this.Ke},t.prototype.runTransaction=function(e,n,o){var i=this;li("MemoryPersistence","Starting transaction:",e);var r=new WUn(this.Ne.next());return this.referenceDelegate.Es(),o(r).next(function(a){return i.referenceDelegate.Ts(r).next(function(){return a})}).toPromise().then(function(a){return r.raiseOnCommittedEvent(),a})},t.prototype.Is=function(e,n){return _o.or(Object.values(this.gs).map(function(o){return function(){return o.containsKey(e,n)}}))},t}(),WUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).currentSequenceNumber=n,o}return Ti(e,t),e}($Ze),NUn=function(){function t(e){this.persistence=e,this.As=new H2e,this.Rs=null}return t.bs=function(e){return new t(e)},Object.defineProperty(t.prototype,"vs",{get:function(){if(this.Rs)return this.Rs;throw or()},enumerable:!1,configurable:!0}),t.prototype.addReference=function(e,n,o){return this.As.addReference(o,n),this.vs.delete(o.toString()),_o.resolve()},t.prototype.removeReference=function(e,n,o){return this.As.removeReference(o,n),this.vs.add(o.toString()),_o.resolve()},t.prototype.markPotentiallyOrphaned=function(e,n){return this.vs.add(n.toString()),_o.resolve()},t.prototype.removeTarget=function(e,n){var o=this;this.As.Zn(n.targetId).forEach(function(r){return o.vs.add(r.toString())});var i=this.persistence.getTargetCache();return i.getMatchingKeysForTargetId(e,n.targetId).next(function(r){r.forEach(function(a){return o.vs.add(a.toString())})}).next(function(){return i.removeTargetData(e,n)})},t.prototype.Es=function(){this.Rs=new Set},t.prototype.Ts=function(e){var n=this,o=this.persistence.getRemoteDocumentCache().newChangeBuffer();return _o.forEach(this.vs,function(i){var r=sr.fromPath(i);return n.Ps(e,r).next(function(a){a||o.removeEntry(r)})}).next(function(){return n.Rs=null,o.apply(e)})},t.prototype.updateLimboDocument=function(e,n){var o=this;return this.Ps(e,n).next(function(i){i?o.vs.delete(n.toString()):o.vs.add(n.toString())})},t.prototype.ps=function(e){return 0},t.prototype.Ps=function(e,n){var o=this;return _o.or([function(){return _o.resolve(o.As.containsKey(n))},function(){return o.persistence.getTargetCache().containsKey(e,n)},function(){return o.persistence.Is(e,n)}])},t}(),ef=function(){function t(e){this.uid=e}return t.prototype.isAuthenticated=function(){return this.uid!=null},t.prototype.toKey=function(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"},t.prototype.isEqual=function(e){return e.uid===this.uid},t}();/** + */var MUn=function(){function t(e){this.R=e,this.Qn=new Map,this.jn=new Map}return t.prototype.getBundleMetadata=function(e,n){return _o.resolve(this.Qn.get(n))},t.prototype.saveBundleMetadata=function(e,n){var o;return this.Qn.set(n.id,{id:(o=n).id,version:o.version,createTime:op(o.createTime)}),_o.resolve()},t.prototype.getNamedQuery=function(e,n){return _o.resolve(this.jn.get(n))},t.prototype.saveNamedQuery=function(e,n){return this.jn.set(n.name,function(o){return{name:o.name,query:eet(o.bundledQuery),readTime:op(o.readTime)}}(n)),_o.resolve()},t}(),H2e=function(){function t(){this.Wn=new Nu(pd.Gn),this.zn=new Nu(pd.Hn)}return t.prototype.isEmpty=function(){return this.Wn.isEmpty()},t.prototype.addReference=function(e,n){var o=new pd(e,n);this.Wn=this.Wn.add(o),this.zn=this.zn.add(o)},t.prototype.Jn=function(e,n){var o=this;e.forEach(function(i){return o.addReference(i,n)})},t.prototype.removeReference=function(e,n){this.Yn(new pd(e,n))},t.prototype.Xn=function(e,n){var o=this;e.forEach(function(i){return o.removeReference(i,n)})},t.prototype.Zn=function(e){var n=this,o=new sr(new Ul([])),i=new pd(o,e),r=new pd(o,e+1),a=[];return this.zn.forEachInRange([i,r],function(l){n.Yn(l),a.push(l.key)}),a},t.prototype.ts=function(){var e=this;this.Wn.forEach(function(n){return e.Yn(n)})},t.prototype.Yn=function(e){this.Wn=this.Wn.delete(e),this.zn=this.zn.delete(e)},t.prototype.es=function(e){var n=new sr(new Ul([])),o=new pd(n,e),i=new pd(n,e+1),r=_s();return this.zn.forEachInRange([o,i],function(a){r=r.add(a.key)}),r},t.prototype.containsKey=function(e){var n=new pd(e,0),o=this.Wn.firstAfterOrEqual(n);return o!==null&&e.isEqual(o.key)},t}(),pd=function(){function t(e,n){this.key=e,this.ns=n}return t.Gn=function(e,n){return sr.comparator(e.key,n.key)||Ga(e.ns,n.ns)},t.Hn=function(e,n){return Ga(e.ns,n.ns)||sr.comparator(e.key,n.key)},t}(),IUn=function(){function t(e,n){this.Ut=e,this.referenceDelegate=n,this._n=[],this.ss=1,this.rs=new Nu(pd.Gn)}return t.prototype.checkEmpty=function(e){return _o.resolve(this._n.length===0)},t.prototype.addMutationBatch=function(e,n,o,i){var r=this.ss;this.ss++,this._n.length>0&&this._n[this._n.length-1];var a=new T2e(r,n,o,i);this._n.push(a);for(var l=0,s=i;lr?this._n[r]:null)},t.prototype.getHighestUnacknowledgedBatchId=function(){return _o.resolve(this._n.length===0?-1:this.ss-1)},t.prototype.getAllMutationBatches=function(e){return _o.resolve(this._n.slice())},t.prototype.getAllMutationBatchesAffectingDocumentKey=function(e,n){var o=this,i=new pd(n,0),r=new pd(n,Number.POSITIVE_INFINITY),a=[];return this.rs.forEachInRange([i,r],function(l){var s=o.os(l.ns);a.push(s)}),_o.resolve(a)},t.prototype.getAllMutationBatchesAffectingDocumentKeys=function(e,n){var o=this,i=new Nu(Ga);return n.forEach(function(r){var a=new pd(r,0),l=new pd(r,Number.POSITIVE_INFINITY);o.rs.forEachInRange([a,l],function(s){i=i.add(s.ns)})}),_o.resolve(this.us(i))},t.prototype.getAllMutationBatchesAffectingQuery=function(e,n){var o=n.path,i=o.length+1,r=o;sr.isDocumentKey(r)||(r=r.child(""));var a=new pd(new sr(r),0),l=new Nu(Ga);return this.rs.forEachWhile(function(s){var c=s.key.path;return!!o.isPrefixOf(c)&&(c.length===i&&(l=l.add(s.ns)),!0)},a),_o.resolve(this.us(l))},t.prototype.us=function(e){var n=this,o=[];return e.forEach(function(i){var r=n.os(i);r!==null&&o.push(r)}),o},t.prototype.removeMutationBatch=function(e,n){var o=this;Nr(this.hs(n.batchId,"removed")===0),this._n.shift();var i=this.rs;return _o.forEach(n.mutations,function(r){var a=new pd(r.key,n.batchId);return i=i.delete(a),o.referenceDelegate.markPotentiallyOrphaned(e,r.key)}).next(function(){o.rs=i})},t.prototype.Gt=function(e){},t.prototype.containsKey=function(e,n){var o=new pd(n,0),i=this.rs.firstAfterOrEqual(o);return _o.resolve(n.isEqual(i&&i.key))},t.prototype.performConsistencyCheck=function(e){return this._n.length,_o.resolve()},t.prototype.hs=function(e,n){return this.cs(e)},t.prototype.cs=function(e){return this._n.length===0?0:e-this._n[0].batchId},t.prototype.os=function(e){var n=this.cs(e);return n<0||n>=this._n.length?null:this._n[n]},t}(),zUn=function(){function t(e,n){this.Ut=e,this.ls=n,this.docs=new xh(sr.comparator),this.size=0}return t.prototype.addEntry=function(e,n,o){var i=n.key,r=this.docs.get(i),a=r?r.size:0,l=this.ls(n);return this.docs=this.docs.insert(i,{document:n.clone(),size:l,readTime:o}),this.size+=l-a,this.Ut.addToCollectionParentIndex(e,i.path.popLast())},t.prototype.removeEntry=function(e){var n=this.docs.get(e);n&&(this.docs=this.docs.remove(e),this.size-=n.size)},t.prototype.getEntry=function(e,n){var o=this.docs.get(n);return _o.resolve(o?o.document.clone():ph.newInvalidDocument(n))},t.prototype.getEntries=function(e,n){var o=this,i=D2();return n.forEach(function(r){var a=o.docs.get(r);i=i.insert(r,a?a.document.clone():ph.newInvalidDocument(r))}),_o.resolve(i)},t.prototype.getDocumentsMatchingQuery=function(e,n,o){for(var i=D2(),r=new sr(n.path.child("")),a=this.docs.getIteratorFrom(r);a.hasNext();){var l=a.getNext(),s=l.key,c=l.value,u=c.document,d=c.readTime;if(!n.path.isPrefixOf(s.path))break;d.compareTo(o)<=0||xN(n,u)&&(i=i.insert(u.key,u.clone()))}return _o.resolve(i)},t.prototype.fs=function(e,n){return _o.forEach(this.docs,function(o){return n(o)})},t.prototype.newChangeBuffer=function(e){return new DUn(this)},t.prototype.getSize=function(e){return _o.resolve(this.size)},t}(),DUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).Ie=n,o}return Ti(e,t),e.prototype.applyChanges=function(n){var o=this,i=[];return this.changes.forEach(function(r,a){a.document.isValidDocument()?i.push(o.Ie.addEntry(n,a.document,o.getReadTime(r))):o.Ie.removeEntry(r)}),_o.waitFor(i)},e.prototype.getFromCache=function(n,o){return this.Ie.getEntry(n,o)},e.prototype.getAllFromCache=function(n,o){return this.Ie.getEntries(n,o)},e}(iet),EUn=function(){function t(e){this.persistence=e,this.ds=new JH(function(n){return AN(n)},tZ),this.lastRemoteSnapshotVersion=Ea.min(),this.highestTargetId=0,this.ws=0,this._s=new H2e,this.targetCount=0,this.ys=vX.Jt()}return t.prototype.forEachTarget=function(e,n){return this.ds.forEach(function(o,i){return n(i)}),_o.resolve()},t.prototype.getLastRemoteSnapshotVersion=function(e){return _o.resolve(this.lastRemoteSnapshotVersion)},t.prototype.getHighestSequenceNumber=function(e){return _o.resolve(this.ws)},t.prototype.allocateTargetId=function(e){return this.highestTargetId=this.ys.next(),_o.resolve(this.highestTargetId)},t.prototype.setTargetsMetadata=function(e,n,o){return o&&(this.lastRemoteSnapshotVersion=o),n>this.ws&&(this.ws=n),_o.resolve()},t.prototype.te=function(e){this.ds.set(e.target,e);var n=e.targetId;n>this.highestTargetId&&(this.ys=new vX(n),this.highestTargetId=n),e.sequenceNumber>this.ws&&(this.ws=e.sequenceNumber)},t.prototype.addTargetData=function(e,n){return this.te(n),this.targetCount+=1,_o.resolve()},t.prototype.updateTargetData=function(e,n){return this.te(n),_o.resolve()},t.prototype.removeTargetData=function(e,n){return this.ds.delete(n.target),this._s.Zn(n.targetId),this.targetCount-=1,_o.resolve()},t.prototype.removeTargets=function(e,n,o){var i=this,r=0,a=[];return this.ds.forEach(function(l,s){s.sequenceNumber<=n&&o.get(s.targetId)===null&&(i.ds.delete(l),a.push(i.removeMatchingKeysForTargetId(e,s.targetId)),r++)}),_o.waitFor(a).next(function(){return r})},t.prototype.getTargetCount=function(e){return _o.resolve(this.targetCount)},t.prototype.getTargetData=function(e,n){var o=this.ds.get(n)||null;return _o.resolve(o)},t.prototype.addMatchingKeys=function(e,n,o){return this._s.Jn(n,o),_o.resolve()},t.prototype.removeMatchingKeys=function(e,n,o){this._s.Xn(n,o);var i=this.persistence.referenceDelegate,r=[];return i&&n.forEach(function(a){r.push(i.markPotentiallyOrphaned(e,a))}),_o.waitFor(r)},t.prototype.removeMatchingKeysForTargetId=function(e,n){return this._s.Zn(n),_o.resolve()},t.prototype.getMatchingKeysForTargetId=function(e,n){var o=this._s.es(n);return _o.resolve(o)},t.prototype.containsKey=function(e,n){return _o.resolve(this._s.containsKey(n))},t}(),kUn=function(){function t(e,n){var o=this;this.gs={},this.Ne=new pg(0),this.xe=!1,this.xe=!0,this.referenceDelegate=e(this),this.qe=new EUn(this),this.Ut=new uUn,this.Ue=function(i,r){return new zUn(i,function(a){return o.referenceDelegate.ps(a)})}(this.Ut),this.R=new $Ze(n),this.Ke=new MUn(this.R)}return t.prototype.start=function(){return Promise.resolve()},t.prototype.shutdown=function(){return this.xe=!1,Promise.resolve()},Object.defineProperty(t.prototype,"started",{get:function(){return this.xe},enumerable:!1,configurable:!0}),t.prototype.setDatabaseDeletedListener=function(){},t.prototype.setNetworkEnabled=function(){},t.prototype.getIndexManager=function(){return this.Ut},t.prototype.getMutationQueue=function(e){var n=this.gs[e.toKey()];return n||(n=new IUn(this.Ut,this.referenceDelegate),this.gs[e.toKey()]=n),n},t.prototype.getTargetCache=function(){return this.qe},t.prototype.getRemoteDocumentCache=function(){return this.Ue},t.prototype.getBundleCache=function(){return this.Ke},t.prototype.runTransaction=function(e,n,o){var i=this;li("MemoryPersistence","Starting transaction:",e);var r=new FUn(this.Ne.next());return this.referenceDelegate.Es(),o(r).next(function(a){return i.referenceDelegate.Ts(r).next(function(){return a})}).toPromise().then(function(a){return r.raiseOnCommittedEvent(),a})},t.prototype.Is=function(e,n){return _o.or(Object.values(this.gs).map(function(o){return function(){return o.containsKey(e,n)}}))},t}(),FUn=function(t){function e(n){var o=this;return(o=t.call(this)||this).currentSequenceNumber=n,o}return Ti(e,t),e}(KZe),LUn=function(){function t(e){this.persistence=e,this.As=new H2e,this.Rs=null}return t.bs=function(e){return new t(e)},Object.defineProperty(t.prototype,"vs",{get:function(){if(this.Rs)return this.Rs;throw or()},enumerable:!1,configurable:!0}),t.prototype.addReference=function(e,n,o){return this.As.addReference(o,n),this.vs.delete(o.toString()),_o.resolve()},t.prototype.removeReference=function(e,n,o){return this.As.removeReference(o,n),this.vs.add(o.toString()),_o.resolve()},t.prototype.markPotentiallyOrphaned=function(e,n){return this.vs.add(n.toString()),_o.resolve()},t.prototype.removeTarget=function(e,n){var o=this;this.As.Zn(n.targetId).forEach(function(r){return o.vs.add(r.toString())});var i=this.persistence.getTargetCache();return i.getMatchingKeysForTargetId(e,n.targetId).next(function(r){r.forEach(function(a){return o.vs.add(a.toString())})}).next(function(){return i.removeTargetData(e,n)})},t.prototype.Es=function(){this.Rs=new Set},t.prototype.Ts=function(e){var n=this,o=this.persistence.getRemoteDocumentCache().newChangeBuffer();return _o.forEach(this.vs,function(i){var r=sr.fromPath(i);return n.Ps(e,r).next(function(a){a||o.removeEntry(r)})}).next(function(){return n.Rs=null,o.apply(e)})},t.prototype.updateLimboDocument=function(e,n){var o=this;return this.Ps(e,n).next(function(i){i?o.vs.delete(n.toString()):o.vs.add(n.toString())})},t.prototype.ps=function(e){return 0},t.prototype.Ps=function(e,n){var o=this;return _o.or([function(){return _o.resolve(o.As.containsKey(n))},function(){return o.persistence.getTargetCache().containsKey(e,n)},function(){return o.persistence.Is(e,n)}])},t}(),ef=function(){function t(e){this.uid=e}return t.prototype.isAuthenticated=function(){return this.uid!=null},t.prototype.toKey=function(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"},t.prototype.isEqual=function(e){return e.uid===this.uid},t}();/** * @license * Copyright 2017 Google LLC * @@ -6034,7 +6034,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function bPe(t,e){return"firestore_clients_"+t+"_"+e}function SPe(t,e,n){var o="firestore_mutations_"+t+"_"+n;return e.isAuthenticated()&&(o+="_"+e.uid),o}function Kre(t,e){return"firestore_targets_"+t+"_"+e}ef.UNAUTHENTICATED=new ef(null),ef.GOOGLE_CREDENTIALS=new ef("google-credentials-uid"),ef.FIRST_PARTY=new ef("first-party-uid"),ef.MOCK_USER=new ef("mock-user");var TPe=function(){function t(e,n,o,i){this.user=e,this.batchId=n,this.state=o,this.error=i}return t.Vs=function(e,n,o){var i,r=JSON.parse(o),a=typeof r=="object"&&["pending","acknowledged","rejected"].indexOf(r.state)!==-1&&(r.error===void 0||typeof r.error=="object");return a&&r.error&&(a=typeof r.error.message=="string"&&typeof r.error.code=="string")&&(i=new Fo(r.error.code,r.error.message)),a?new t(e,n,r.state,i):(lu("SharedClientState","Failed to parse mutation state for ID '"+n+"': "+o),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),qre=function(){function t(e,n,o){this.targetId=e,this.state=n,this.error=o}return t.Vs=function(e,n){var o,i=JSON.parse(n),r=typeof i=="object"&&["not-current","current","rejected"].indexOf(i.state)!==-1&&(i.error===void 0||typeof i.error=="object");return r&&i.error&&(r=typeof i.error.message=="string"&&typeof i.error.code=="string")&&(o=new Fo(i.error.code,i.error.message)),r?new t(e,i.state,o):(lu("SharedClientState","Failed to parse target state for ID '"+e+"': "+n),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),PPe=function(){function t(e,n){this.clientId=e,this.activeTargetIds=n}return t.Vs=function(e,n){for(var o=JSON.parse(n),i=typeof o=="object"&&o.activeTargetIds instanceof Array,r=iZ(),a=0;i&&a0){var f=s.getResponseJson().error;if(f&&f.status&&f.message){var p=function(g){var A=g.toLowerCase().replace(/_/g,"-");return Object.values(Yn).indexOf(A)>=0?A:Yn.UNKNOWN}(f.status);l(new Fo(p,f.message))}else l(new Fo(Yn.UNKNOWN,"Server responded with status "+s.getStatus()))}else l(new Fo(Yn.UNAVAILABLE,"Connection failed."));break;default:or()}}finally{li("Connection",'RPC "'+n+'" completed.')}});var c=JSON.stringify(r);s.send(o,"POST",c,i,15)})},e.prototype.Oi=function(n,o){var i=[this.Di,"/","google.firestore.v1.Firestore","/",n,"/channel"],r=pNn(),a=gNn(),l={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:"projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling};this.useFetchStreams&&(l.xmlHttpFactory=new ANn({})),this.ki(l.initMessageHeaders,o),Nye()||lQe()||bLn()||SLn()||TLn()||xLn()||(l.httpHeadersOverwriteParam="$httpHeaders");var s=i.join("");li("Connection","Creating WebChannel: "+s,l);var c=r.createWebChannel(s,l),u=!1,d=!1,f=new YUn({Ei:function(g){d?li("Connection","Not sending because WebChannel is closed:",g):(u||(li("Connection","Opening WebChannel transport."),c.open(),u=!0),li("Connection","WebChannel sending:",g),c.send(g))},Ti:function(){return c.close()}}),p=function(g,A,w){g.listen(A,function(b){try{w(b)}catch(C){setTimeout(function(){throw C},0)}})};return p(c,fO.EventType.OPEN,function(){d||li("Connection","WebChannel transport opened.")}),p(c,fO.EventType.CLOSE,function(){d||(d=!0,li("Connection","WebChannel transport closed"),f.Vi())}),p(c,fO.EventType.ERROR,function(g){d||(d=!0,fX("Connection","WebChannel transport errored:",g),f.Vi(new Fo(Yn.UNAVAILABLE,"The operation could not be completed")))}),p(c,fO.EventType.MESSAGE,function(g){var A;if(!d){var w=g.data[0];Nr(!!w);var b=w,C=b.error||((A=b[0])===null||A===void 0?void 0:A.error);if(C){li("Connection","WebChannel received error:",C);var P=C.status,v=function(y){var S=Z0[y];if(S!==void 0)return NZe(S)}(P),T=C.message;v===void 0&&(v=Yn.INTERNAL,T="Unknown error status: "+P+" with message "+C.message),d=!0,f.Vi(new Fo(v,T)),c.close()}else li("Connection","WebChannel received:",w),f.Si(w)}}),p(a,yNn.STAT_EVENT,function(g){g.stat===OTe.PROXY?li("Connection","Detected buffering proxy"):g.stat===OTe.NOPROXY&&li("Connection","Detected no buffering proxy")}),setTimeout(function(){f.Pi()},0),f},e}(function(){function t(e){this.databaseInfo=e,this.databaseId=e.databaseId;var n=e.ssl?"https":"http";this.Di=n+"://"+e.host,this.Ci="projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database+"/documents"}return t.prototype.Ni=function(e,n,o,i){var r=this.xi(e,n);li("RestConnection","Sending: ",r,o);var a={};return this.ki(a,i),this.Fi(e,r,a,o).then(function(l){return li("RestConnection","Received: ",l),l},function(l){throw fX("RestConnection",e+" failed with error: ",l,"url: ",r,"request:",o),l})},t.prototype.$i=function(e,n,o,i){return this.Ni(e,n,o,i)},t.prototype.ki=function(e,n){if(e["X-Goog-Api-Client"]="gl-js/ fire/8.10.1",e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),n)for(var o in n.authHeaders)n.authHeaders.hasOwnProperty(o)&&(e[o]=n.authHeaders[o])},t.prototype.xi=function(e,n){var o=jUn[e];return this.Di+"/v1/"+n+":"+o},t}());/** + */function bPe(t,e){return"firestore_clients_"+t+"_"+e}function SPe(t,e,n){var o="firestore_mutations_"+t+"_"+n;return e.isAuthenticated()&&(o+="_"+e.uid),o}function Kre(t,e){return"firestore_targets_"+t+"_"+e}ef.UNAUTHENTICATED=new ef(null),ef.GOOGLE_CREDENTIALS=new ef("google-credentials-uid"),ef.FIRST_PARTY=new ef("first-party-uid"),ef.MOCK_USER=new ef("mock-user");var TPe=function(){function t(e,n,o,i){this.user=e,this.batchId=n,this.state=o,this.error=i}return t.Vs=function(e,n,o){var i,r=JSON.parse(o),a=typeof r=="object"&&["pending","acknowledged","rejected"].indexOf(r.state)!==-1&&(r.error===void 0||typeof r.error=="object");return a&&r.error&&(a=typeof r.error.message=="string"&&typeof r.error.code=="string")&&(i=new Fo(r.error.code,r.error.message)),a?new t(e,n,r.state,i):(lu("SharedClientState","Failed to parse mutation state for ID '"+n+"': "+o),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),qre=function(){function t(e,n,o){this.targetId=e,this.state=n,this.error=o}return t.Vs=function(e,n){var o,i=JSON.parse(n),r=typeof i=="object"&&["not-current","current","rejected"].indexOf(i.state)!==-1&&(i.error===void 0||typeof i.error=="object");return r&&i.error&&(r=typeof i.error.message=="string"&&typeof i.error.code=="string")&&(o=new Fo(i.error.code,i.error.message)),r?new t(e,i.state,o):(lu("SharedClientState","Failed to parse target state for ID '"+e+"': "+n),null)},t.prototype.Ss=function(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)},t}(),PPe=function(){function t(e,n){this.clientId=e,this.activeTargetIds=n}return t.Vs=function(e,n){for(var o=JSON.parse(n),i=typeof o=="object"&&o.activeTargetIds instanceof Array,r=iZ(),a=0;i&&a0){var f=s.getResponseJson().error;if(f&&f.status&&f.message){var p=function(g){var A=g.toLowerCase().replace(/_/g,"-");return Object.values(Yn).indexOf(A)>=0?A:Yn.UNKNOWN}(f.status);l(new Fo(p,f.message))}else l(new Fo(Yn.UNKNOWN,"Server responded with status "+s.getStatus()))}else l(new Fo(Yn.UNAVAILABLE,"Connection failed."));break;default:or()}}finally{li("Connection",'RPC "'+n+'" completed.')}});var c=JSON.stringify(r);s.send(o,"POST",c,i,15)})},e.prototype.Oi=function(n,o){var i=[this.Di,"/","google.firestore.v1.Firestore","/",n,"/channel"],r=fNn(),a=hNn(),l={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:"projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling};this.useFetchStreams&&(l.xmlHttpFactory=new mNn({})),this.ki(l.initMessageHeaders,o),Nye()||rQe()||vLn()||xLn()||bLn()||wLn()||(l.httpHeadersOverwriteParam="$httpHeaders");var s=i.join("");li("Connection","Creating WebChannel: "+s,l);var c=r.createWebChannel(s,l),u=!1,d=!1,f=new BUn({Ei:function(g){d?li("Connection","Not sending because WebChannel is closed:",g):(u||(li("Connection","Opening WebChannel transport."),c.open(),u=!0),li("Connection","WebChannel sending:",g),c.send(g))},Ti:function(){return c.close()}}),p=function(g,A,w){g.listen(A,function(b){try{w(b)}catch(C){setTimeout(function(){throw C},0)}})};return p(c,fO.EventType.OPEN,function(){d||li("Connection","WebChannel transport opened.")}),p(c,fO.EventType.CLOSE,function(){d||(d=!0,li("Connection","WebChannel transport closed"),f.Vi())}),p(c,fO.EventType.ERROR,function(g){d||(d=!0,fX("Connection","WebChannel transport errored:",g),f.Vi(new Fo(Yn.UNAVAILABLE,"The operation could not be completed")))}),p(c,fO.EventType.MESSAGE,function(g){var A;if(!d){var w=g.data[0];Nr(!!w);var b=w,C=b.error||((A=b[0])===null||A===void 0?void 0:A.error);if(C){li("Connection","WebChannel received error:",C);var P=C.status,v=function(y){var S=Z0[y];if(S!==void 0)return LZe(S)}(P),T=C.message;v===void 0&&(v=Yn.INTERNAL,T="Unknown error status: "+P+" with message "+C.message),d=!0,f.Vi(new Fo(v,T)),c.close()}else li("Connection","WebChannel received:",w),f.Si(w)}}),p(a,gNn.STAT_EVENT,function(g){g.stat===OTe.PROXY?li("Connection","Detected buffering proxy"):g.stat===OTe.NOPROXY&&li("Connection","Detected no buffering proxy")}),setTimeout(function(){f.Pi()},0),f},e}(function(){function t(e){this.databaseInfo=e,this.databaseId=e.databaseId;var n=e.ssl?"https":"http";this.Di=n+"://"+e.host,this.Ci="projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database+"/documents"}return t.prototype.Ni=function(e,n,o,i){var r=this.xi(e,n);li("RestConnection","Sending: ",r,o);var a={};return this.ki(a,i),this.Fi(e,r,a,o).then(function(l){return li("RestConnection","Received: ",l),l},function(l){throw fX("RestConnection",e+" failed with error: ",l,"url: ",r,"request:",o),l})},t.prototype.$i=function(e,n,o,i){return this.Ni(e,n,o,i)},t.prototype.ki=function(e,n){if(e["X-Goog-Api-Client"]="gl-js/ fire/8.10.1",e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),n)for(var o in n.authHeaders)n.authHeaders.hasOwnProperty(o)&&(e[o]=n.authHeaders[o])},t.prototype.xi=function(e,n){var o=UUn[e];return this.Di+"/v1/"+n+":"+o},t}());/** * @license * Copyright 2020 Google LLC * @@ -6064,7 +6064,7 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function met(){return typeof window<"u"?window:null}function Z_(){return typeof document<"u"?document:null}/** + */function pet(){return typeof window<"u"?window:null}function Z_(){return typeof document<"u"?document:null}/** * @license * Copyright 2020 Google LLC * @@ -6079,8 +6079,8 @@ Total Duration: `+(c-d)+"ms"),_o.resolve({didRun:!0,sequenceNumbersCollected:i,t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function aZ(t){return new KNn(t,!0)}var M2e=function(){function t(e,n,o,i,r){o===void 0&&(o=1e3),i===void 0&&(i=1.5),r===void 0&&(r=6e4),this.Se=e,this.timerId=n,this.Mi=o,this.Li=i,this.Bi=r,this.qi=0,this.Ui=null,this.Ki=Date.now(),this.reset()}return t.prototype.reset=function(){this.qi=0},t.prototype.Qi=function(){this.qi=this.Bi},t.prototype.ji=function(e){var n=this;this.cancel();var o=Math.floor(this.qi+this.Wi()),i=Math.max(0,Date.now()-this.Ki),r=Math.max(0,o-i);r>0&&li("ExponentialBackoff","Backing off for "+r+" ms (base delay: "+this.qi+" ms, delay with jitter: "+o+" ms, last attempt: "+i+" ms ago)"),this.Ui=this.Se.enqueueAfterDelay(this.timerId,r,function(){return n.Ki=Date.now(),e()}),this.qi*=this.Li,this.qithis.Bi&&(this.qi=this.Bi)},t.prototype.Gi=function(){this.Ui!==null&&(this.Ui.skipDelay(),this.Ui=null)},t.prototype.cancel=function(){this.Ui!==null&&(this.Ui.cancel(),this.Ui=null)},t.prototype.Wi=function(){return(Math.random()-.5)*this.qi},t}(),yet=function(){function t(e,n,o,i,r,a){this.Se=e,this.zi=o,this.Hi=i,this.Ji=r,this.listener=a,this.state=0,this.Yi=0,this.Xi=null,this.stream=null,this.Zi=new M2e(e,n)}return t.prototype.tr=function(){return this.state===1||this.state===2||this.state===4},t.prototype.er=function(){return this.state===2},t.prototype.start=function(){this.state!==3?this.auth():this.nr()},t.prototype.stop=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return this.tr()?[4,this.close(0)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}})})},t.prototype.sr=function(){this.state=0,this.Zi.reset()},t.prototype.ir=function(){var e=this;this.er()&&this.Xi===null&&(this.Xi=this.Se.enqueueAfterDelay(this.zi,6e4,function(){return e.rr()}))},t.prototype.cr=function(e){this.ur(),this.stream.send(e)},t.prototype.rr=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return this.er()?[2,this.close(0)]:[2]})})},t.prototype.ur=function(){this.Xi&&(this.Xi.cancel(),this.Xi=null)},t.prototype.close=function(e,n){return Ao(this,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.ur(),this.Zi.cancel(),this.Yi++,e!==3?this.Zi.reset():n&&n.code===Yn.RESOURCE_EXHAUSTED?(lu(n.toString()),lu("Using maximum backoff delay to prevent overloading the backend."),this.Zi.Qi()):n&&n.code===Yn.UNAUTHENTICATED&&this.Ji.invalidateToken(),this.stream!==null&&(this.ar(),this.stream.close(),this.stream=null),this.state=e,[4,this.listener.Ri(n)];case 1:return o.sent(),[2]}})})},t.prototype.ar=function(){},t.prototype.auth=function(){var e=this;this.state=1;var n=this.hr(this.Yi),o=this.Yi;this.Ji.getToken().then(function(i){e.Yi===o&&e.lr(i)},function(i){n(function(){var r=new Fo(Yn.UNKNOWN,"Fetching auth token failed: "+i.message);return e.dr(r)})})},t.prototype.lr=function(e){var n=this,o=this.hr(this.Yi);this.stream=this.wr(e),this.stream.Ii(function(){o(function(){return n.state=2,n.listener.Ii()})}),this.stream.Ri(function(i){o(function(){return n.dr(i)})}),this.stream.onMessage(function(i){o(function(){return n.onMessage(i)})})},t.prototype.nr=function(){var e=this;this.state=4,this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){return ho(this,function(n){return this.state=0,this.start(),[2]})})})},t.prototype.dr=function(e){return li("PersistentStream","close with error: "+e),this.stream=null,this.close(3,e)},t.prototype.hr=function(e){var n=this;return function(o){n.Se.enqueueAndForget(function(){return n.Yi===e?o():(li("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())})}},t}(),_Un=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"listen_stream_connection_backoff","listen_stream_idle",o,i,a)||this).R=r,l}return Ti(e,t),e.prototype.wr=function(n){return this.Hi.Oi("Listen",n)},e.prototype.onMessage=function(n){this.Zi.reset();var o=function(r,a){var l;if("targetChange"in a){a.targetChange;var s=function(w){return w==="NO_CHANGE"?0:w==="ADD"?1:w==="REMOVE"?2:w==="CURRENT"?3:w==="RESET"?4:or()}(a.targetChange.targetChangeType||"NO_CHANGE"),c=a.targetChange.targetIds||[],u=function(w,b){return w.I?(Nr(b===void 0||typeof b=="string"),Zp.fromBase64String(b||"")):(Nr(b===void 0||b instanceof Uint8Array),Zp.fromUint8Array(b||new Uint8Array))}(r,a.targetChange.resumeToken),d=(f=a.targetChange.cause)&&function(w){var b=w.code===void 0?Yn.UNKNOWN:NZe(w.code);return new Fo(b,w.message||"")}(f);l=new BZe(s,c,u,d||null)}else if("documentChange"in a){a.documentChange,(s=a.documentChange).document,s.document.name,s.document.updateTime,c=H6(r,s.document.name),u=op(s.document.updateTime);var f=new sg({mapValue:{fields:s.document.fields}}),p=(d=ph.newFoundDocument(c,u,f),s.targetIds||[]),g=s.removedTargetIds||[];l=new Q_(p,g,d.key,d)}else if("documentDelete"in a)a.documentDelete,(s=a.documentDelete).document,c=H6(r,s.document),u=s.readTime?op(s.readTime):Ea.min(),f=ph.newNoDocument(c,u),d=s.removedTargetIds||[],l=new Q_([],d,f.key,f);else if("documentRemove"in a)a.documentRemove,(s=a.documentRemove).document,c=H6(r,s.document),u=s.removedTargetIds||[],l=new Q_([],u,c,null);else{if(!("filter"in a))return or();a.filter;var A=a.filter;A.targetId,s=A.count||0,c=new UNn(s),u=A.targetId,l=new UZe(u,c)}return l}(this.R,n),i=function(r){if(!("targetChange"in r))return Ea.min();var a=r.targetChange;return a.targetIds&&a.targetIds.length?Ea.min():a.readTime?op(a.readTime):Ea.min()}(n);return this.listener._r(o,i)},e.prototype.mr=function(n){var o={};o.database=mF(this.R),o.addTarget=function(r,a){var l,s=a.target;return(l=gX(s)?{documents:VZe(r,s)}:{query:GZe(r,s)}).targetId=a.targetId,a.resumeToken.approximateByteSize()>0?l.resumeToken=jZe(r,a.resumeToken):a.snapshotVersion.compareTo(Ea.min())>0&&(l.readTime=pF(r,a.snapshotVersion.toTimestamp())),l}(this.R,n);var i=function(r,a){var l=function(s,c){switch(c){case 0:return null;case 1:return"existence-filter-mismatch";case 2:return"limbo-document";default:return or()}}(0,a.purpose);return l==null?null:{"goog-listen-tags":l}}(this.R,n);i&&(o.labels=i),this.cr(o)},e.prototype.yr=function(n){var o={};o.database=mF(this.R),o.removeTarget=n,this.cr(o)},e}(yet),VUn=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"write_stream_connection_backoff","write_stream_idle",o,i,a)||this).R=r,l.gr=!1,l}return Ti(e,t),Object.defineProperty(e.prototype,"pr",{get:function(){return this.gr},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.gr=!1,this.lastStreamToken=void 0,t.prototype.start.call(this)},e.prototype.ar=function(){this.gr&&this.Er([])},e.prototype.wr=function(n){return this.Hi.Oi("Write",n)},e.prototype.onMessage=function(n){if(Nr(!!n.streamToken),this.lastStreamToken=n.streamToken,this.gr){this.Zi.reset();var o=function(r,a){return r&&r.length>0?(Nr(a!==void 0),r.map(function(l){return function(s,c){var u=s.updateTime?op(s.updateTime):op(c);return u.isEqual(Ea.min())&&(u=op(c)),new LNn(u,s.transformResults||[])}(l,a)})):[]}(n.writeResults,n.commitTime),i=op(n.commitTime);return this.listener.Tr(i,o)}return Nr(!n.writeResults||n.writeResults.length===0),this.gr=!0,this.listener.Ir()},e.prototype.Ar=function(){var n={};n.database=mF(this.R),this.cr(n)},e.prototype.Er=function(n){var o=this,i={streamToken:this.lastStreamToken,writes:n.map(function(r){return AX(o.R,r)})};this.cr(i)},e}(yet),GUn=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).credentials=n,r.Hi=o,r.R=i,r.Rr=!1,r}return Ti(e,t),e.prototype.br=function(){if(this.Rr)throw new Fo(Yn.FAILED_PRECONDITION,"The client has already been terminated.")},e.prototype.Ni=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.Ni(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===Yn.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new Fo(Yn.UNKNOWN,a.toString())})},e.prototype.$i=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.$i(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===Yn.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new Fo(Yn.UNKNOWN,a.toString())})},e.prototype.terminate=function(){this.Rr=!0},e}(function(){}),XUn=function(){function t(e,n){this.asyncQueue=e,this.onlineStateHandler=n,this.state="Unknown",this.vr=0,this.Pr=null,this.Vr=!0}return t.prototype.Sr=function(){var e=this;this.vr===0&&(this.Dr("Unknown"),this.Pr=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,function(){return e.Pr=null,e.Cr("Backend didn't respond within 10 seconds."),e.Dr("Offline"),Promise.resolve()}))},t.prototype.Nr=function(e){this.state==="Online"?this.Dr("Unknown"):(this.vr++,this.vr>=1&&(this.kr(),this.Cr("Connection failed 1 times. Most recent error: "+e.toString()),this.Dr("Offline")))},t.prototype.set=function(e){this.kr(),this.vr=0,e==="Online"&&(this.Vr=!1),this.Dr(e)},t.prototype.Dr=function(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))},t.prototype.Cr=function(e){var n="Could not reach Cloud Firestore backend. "+e+` -This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.Vr?(lu(n),this.Vr=!1):li("OnlineStateTracker",n)},t.prototype.kr=function(){this.Pr!==null&&(this.Pr.cancel(),this.Pr=null)},t}(),JUn=function(t,e,n,o,i){var r=this;this.localStore=t,this.datastore=e,this.asyncQueue=n,this.remoteSyncer={},this.Fr=[],this.$r=new Map,this.Or=new Set,this.Mr=[],this.Lr=i,this.Lr.di(function(a){n.enqueueAndForget(function(){return Ao(r,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return j7(this)?(li("RemoteStore","Restarting streams for network reachability change."),[4,function(s){return Ao(this,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return(c=Ri(s)).Or.add(4),[4,KH(c)];case 1:return u.sent(),c.Br.set("Unknown"),c.Or.delete(4),[4,PN(c)];case 2:return u.sent(),[2]}})})}(this)]):[3,2];case 1:l.sent(),l.label=2;case 2:return[2]}})})})}),this.Br=new XUn(n,o)};/** + */function aZ(t){return new XNn(t,!0)}var M2e=function(){function t(e,n,o,i,r){o===void 0&&(o=1e3),i===void 0&&(i=1.5),r===void 0&&(r=6e4),this.Se=e,this.timerId=n,this.Mi=o,this.Li=i,this.Bi=r,this.qi=0,this.Ui=null,this.Ki=Date.now(),this.reset()}return t.prototype.reset=function(){this.qi=0},t.prototype.Qi=function(){this.qi=this.Bi},t.prototype.ji=function(e){var n=this;this.cancel();var o=Math.floor(this.qi+this.Wi()),i=Math.max(0,Date.now()-this.Ki),r=Math.max(0,o-i);r>0&&li("ExponentialBackoff","Backing off for "+r+" ms (base delay: "+this.qi+" ms, delay with jitter: "+o+" ms, last attempt: "+i+" ms ago)"),this.Ui=this.Se.enqueueAfterDelay(this.timerId,r,function(){return n.Ki=Date.now(),e()}),this.qi*=this.Li,this.qithis.Bi&&(this.qi=this.Bi)},t.prototype.Gi=function(){this.Ui!==null&&(this.Ui.skipDelay(),this.Ui=null)},t.prototype.cancel=function(){this.Ui!==null&&(this.Ui.cancel(),this.Ui=null)},t.prototype.Wi=function(){return(Math.random()-.5)*this.qi},t}(),get=function(){function t(e,n,o,i,r,a){this.Se=e,this.zi=o,this.Hi=i,this.Ji=r,this.listener=a,this.state=0,this.Yi=0,this.Xi=null,this.stream=null,this.Zi=new M2e(e,n)}return t.prototype.tr=function(){return this.state===1||this.state===2||this.state===4},t.prototype.er=function(){return this.state===2},t.prototype.start=function(){this.state!==3?this.auth():this.nr()},t.prototype.stop=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return this.tr()?[4,this.close(0)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}})})},t.prototype.sr=function(){this.state=0,this.Zi.reset()},t.prototype.ir=function(){var e=this;this.er()&&this.Xi===null&&(this.Xi=this.Se.enqueueAfterDelay(this.zi,6e4,function(){return e.rr()}))},t.prototype.cr=function(e){this.ur(),this.stream.send(e)},t.prototype.rr=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return this.er()?[2,this.close(0)]:[2]})})},t.prototype.ur=function(){this.Xi&&(this.Xi.cancel(),this.Xi=null)},t.prototype.close=function(e,n){return Ao(this,void 0,void 0,function(){return ho(this,function(o){switch(o.label){case 0:return this.ur(),this.Zi.cancel(),this.Yi++,e!==3?this.Zi.reset():n&&n.code===Yn.RESOURCE_EXHAUSTED?(lu(n.toString()),lu("Using maximum backoff delay to prevent overloading the backend."),this.Zi.Qi()):n&&n.code===Yn.UNAUTHENTICATED&&this.Ji.invalidateToken(),this.stream!==null&&(this.ar(),this.stream.close(),this.stream=null),this.state=e,[4,this.listener.Ri(n)];case 1:return o.sent(),[2]}})})},t.prototype.ar=function(){},t.prototype.auth=function(){var e=this;this.state=1;var n=this.hr(this.Yi),o=this.Yi;this.Ji.getToken().then(function(i){e.Yi===o&&e.lr(i)},function(i){n(function(){var r=new Fo(Yn.UNKNOWN,"Fetching auth token failed: "+i.message);return e.dr(r)})})},t.prototype.lr=function(e){var n=this,o=this.hr(this.Yi);this.stream=this.wr(e),this.stream.Ii(function(){o(function(){return n.state=2,n.listener.Ii()})}),this.stream.Ri(function(i){o(function(){return n.dr(i)})}),this.stream.onMessage(function(i){o(function(){return n.onMessage(i)})})},t.prototype.nr=function(){var e=this;this.state=4,this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){return ho(this,function(n){return this.state=0,this.start(),[2]})})})},t.prototype.dr=function(e){return li("PersistentStream","close with error: "+e),this.stream=null,this.close(3,e)},t.prototype.hr=function(e){var n=this;return function(o){n.Se.enqueueAndForget(function(){return n.Yi===e?o():(li("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())})}},t}(),YUn=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"listen_stream_connection_backoff","listen_stream_idle",o,i,a)||this).R=r,l}return Ti(e,t),e.prototype.wr=function(n){return this.Hi.Oi("Listen",n)},e.prototype.onMessage=function(n){this.Zi.reset();var o=function(r,a){var l;if("targetChange"in a){a.targetChange;var s=function(w){return w==="NO_CHANGE"?0:w==="ADD"?1:w==="REMOVE"?2:w==="CURRENT"?3:w==="RESET"?4:or()}(a.targetChange.targetChangeType||"NO_CHANGE"),c=a.targetChange.targetIds||[],u=function(w,b){return w.I?(Nr(b===void 0||typeof b=="string"),Zp.fromBase64String(b||"")):(Nr(b===void 0||b instanceof Uint8Array),Zp.fromUint8Array(b||new Uint8Array))}(r,a.targetChange.resumeToken),d=(f=a.targetChange.cause)&&function(w){var b=w.code===void 0?Yn.UNKNOWN:LZe(w.code);return new Fo(b,w.message||"")}(f);l=new NZe(s,c,u,d||null)}else if("documentChange"in a){a.documentChange,(s=a.documentChange).document,s.document.name,s.document.updateTime,c=H6(r,s.document.name),u=op(s.document.updateTime);var f=new sg({mapValue:{fields:s.document.fields}}),p=(d=ph.newFoundDocument(c,u,f),s.targetIds||[]),g=s.removedTargetIds||[];l=new Q_(p,g,d.key,d)}else if("documentDelete"in a)a.documentDelete,(s=a.documentDelete).document,c=H6(r,s.document),u=s.readTime?op(s.readTime):Ea.min(),f=ph.newNoDocument(c,u),d=s.removedTargetIds||[],l=new Q_([],d,f.key,f);else if("documentRemove"in a)a.documentRemove,(s=a.documentRemove).document,c=H6(r,s.document),u=s.removedTargetIds||[],l=new Q_([],u,c,null);else{if(!("filter"in a))return or();a.filter;var A=a.filter;A.targetId,s=A.count||0,c=new WNn(s),u=A.targetId,l=new WZe(u,c)}return l}(this.R,n),i=function(r){if(!("targetChange"in r))return Ea.min();var a=r.targetChange;return a.targetIds&&a.targetIds.length?Ea.min():a.readTime?op(a.readTime):Ea.min()}(n);return this.listener._r(o,i)},e.prototype.mr=function(n){var o={};o.database=mF(this.R),o.addTarget=function(r,a){var l,s=a.target;return(l=gX(s)?{documents:OZe(r,s)}:{query:_Ze(r,s)}).targetId=a.targetId,a.resumeToken.approximateByteSize()>0?l.resumeToken=UZe(r,a.resumeToken):a.snapshotVersion.compareTo(Ea.min())>0&&(l.readTime=pF(r,a.snapshotVersion.toTimestamp())),l}(this.R,n);var i=function(r,a){var l=function(s,c){switch(c){case 0:return null;case 1:return"existence-filter-mismatch";case 2:return"limbo-document";default:return or()}}(0,a.purpose);return l==null?null:{"goog-listen-tags":l}}(this.R,n);i&&(o.labels=i),this.cr(o)},e.prototype.yr=function(n){var o={};o.database=mF(this.R),o.removeTarget=n,this.cr(o)},e}(get),OUn=function(t){function e(n,o,i,r,a){var l=this;return(l=t.call(this,n,"write_stream_connection_backoff","write_stream_idle",o,i,a)||this).R=r,l.gr=!1,l}return Ti(e,t),Object.defineProperty(e.prototype,"pr",{get:function(){return this.gr},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.gr=!1,this.lastStreamToken=void 0,t.prototype.start.call(this)},e.prototype.ar=function(){this.gr&&this.Er([])},e.prototype.wr=function(n){return this.Hi.Oi("Write",n)},e.prototype.onMessage=function(n){if(Nr(!!n.streamToken),this.lastStreamToken=n.streamToken,this.gr){this.Zi.reset();var o=function(r,a){return r&&r.length>0?(Nr(a!==void 0),r.map(function(l){return function(s,c){var u=s.updateTime?op(s.updateTime):op(c);return u.isEqual(Ea.min())&&(u=op(c)),new kNn(u,s.transformResults||[])}(l,a)})):[]}(n.writeResults,n.commitTime),i=op(n.commitTime);return this.listener.Tr(i,o)}return Nr(!n.writeResults||n.writeResults.length===0),this.gr=!0,this.listener.Ir()},e.prototype.Ar=function(){var n={};n.database=mF(this.R),this.cr(n)},e.prototype.Er=function(n){var o=this,i={streamToken:this.lastStreamToken,writes:n.map(function(r){return AX(o.R,r)})};this.cr(i)},e}(get),_Un=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).credentials=n,r.Hi=o,r.R=i,r.Rr=!1,r}return Ti(e,t),e.prototype.br=function(){if(this.Rr)throw new Fo(Yn.FAILED_PRECONDITION,"The client has already been terminated.")},e.prototype.Ni=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.Ni(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===Yn.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new Fo(Yn.UNKNOWN,a.toString())})},e.prototype.$i=function(n,o,i){var r=this;return this.br(),this.credentials.getToken().then(function(a){return r.Hi.$i(n,o,i,a)}).catch(function(a){throw a.name==="FirebaseError"?(a.code===Yn.UNAUTHENTICATED&&r.credentials.invalidateToken(),a):new Fo(Yn.UNKNOWN,a.toString())})},e.prototype.terminate=function(){this.Rr=!0},e}(function(){}),VUn=function(){function t(e,n){this.asyncQueue=e,this.onlineStateHandler=n,this.state="Unknown",this.vr=0,this.Pr=null,this.Vr=!0}return t.prototype.Sr=function(){var e=this;this.vr===0&&(this.Dr("Unknown"),this.Pr=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,function(){return e.Pr=null,e.Cr("Backend didn't respond within 10 seconds."),e.Dr("Offline"),Promise.resolve()}))},t.prototype.Nr=function(e){this.state==="Online"?this.Dr("Unknown"):(this.vr++,this.vr>=1&&(this.kr(),this.Cr("Connection failed 1 times. Most recent error: "+e.toString()),this.Dr("Offline")))},t.prototype.set=function(e){this.kr(),this.vr=0,e==="Online"&&(this.Vr=!1),this.Dr(e)},t.prototype.Dr=function(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))},t.prototype.Cr=function(e){var n="Could not reach Cloud Firestore backend. "+e+` +This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.Vr?(lu(n),this.Vr=!1):li("OnlineStateTracker",n)},t.prototype.kr=function(){this.Pr!==null&&(this.Pr.cancel(),this.Pr=null)},t}(),GUn=function(t,e,n,o,i){var r=this;this.localStore=t,this.datastore=e,this.asyncQueue=n,this.remoteSyncer={},this.Fr=[],this.$r=new Map,this.Or=new Set,this.Mr=[],this.Lr=i,this.Lr.di(function(a){n.enqueueAndForget(function(){return Ao(r,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return j7(this)?(li("RemoteStore","Restarting streams for network reachability change."),[4,function(s){return Ao(this,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return(c=Ri(s)).Or.add(4),[4,KH(c)];case 1:return u.sent(),c.Br.set("Unknown"),c.Or.delete(4),[4,PN(c)];case 2:return u.sent(),[2]}})})}(this)]):[3,2];case 1:l.sent(),l.label=2;case 2:return[2]}})})})}),this.Br=new VUn(n,o)};/** * @license * Copyright 2017 Google LLC * @@ -6095,7 +6095,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function PN(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:if(!j7(t))return[3,4];e=0,n=t.Mr,o.label=1;case 1:return e0}function j7(t){return Ri(t).Or.size===0}function wet(t){t.qr=void 0}function KUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return t.$r.forEach(function(n,o){I2e(t,n)}),[2]})})}function qUn(t,e){return Ao(this,void 0,void 0,function(){return ho(this,function(n){return wet(t),D2e(t)?(t.Br.Nr(e),z2e(t)):t.Br.set("Unknown"),[2]})})}function $Un(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r;return ho(this,function(a){switch(a.label){case 0:if(t.Br.set("Online"),!(e instanceof BZe&&e.state===2&&e.cause))return[3,6];a.label=1;case 1:return a.trys.push([1,3,,5]),[4,function(l,s){return Ao(this,void 0,void 0,function(){var c,u,d,f;return ho(this,function(p){switch(p.label){case 0:c=s.cause,u=0,d=s.targetIds,p.label=1;case 1:return u=0?[4,function(l,s){var c=l.qr.ut(s);return c.targetChanges.forEach(function(u,d){if(u.resumeToken.approximateByteSize()>0){var f=l.$r.get(d);f&&l.$r.set(d,f.withResumeToken(u.resumeToken,s))}}),c.targetMismatches.forEach(function(u){var d=l.$r.get(u);if(d){l.$r.set(u,d.withResumeToken(Zp.EMPTY_BYTE_STRING,d.snapshotVersion)),Aet(l,u);var f=new rZ(d.target,u,1,d.sequenceNumber);I2e(l,f)}}),l.remoteSyncer.applyRemoteEvent(c)}(t,n)]:[3,10];case 9:a.sent(),a.label=10;case 10:return[3,13];case 11:return li("RemoteStore","Failed to raise snapshot:",r=a.sent()),[4,SX(t,r)];case 12:return a.sent(),[3,13];case 13:return[2]}})})}function SX(t,e,n){return Ao(this,void 0,void 0,function(){var o=this;return ho(this,function(i){switch(i.label){case 0:if(!Bb(e))throw e;return t.Or.add(1),[4,KH(t)];case 1:return i.sent(),t.Br.set("Offline"),n||(n=function(){return fet(t.localStore)}),t.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(r){switch(r.label){case 0:return li("RemoteStore","Retrying IndexedDB access"),[4,n()];case 1:return r.sent(),t.Or.delete(1),[4,PN(t)];case 2:return r.sent(),[2]}})})}),[2]}})})}function vet(t,e){return e().catch(function(n){return SX(t,n,e)})}function qH(t){return Ao(this,void 0,void 0,function(){var e,n,o,i,r;return ho(this,function(a){switch(a.label){case 0:e=Ri(t),n=d7(e),o=e.Fr.length>0?e.Fr[e.Fr.length-1].batchId:-1,a.label=1;case 1:if(!function(l){return j7(l)&&l.Fr.length<10}(e))return[3,7];a.label=2;case 2:return a.trys.push([2,4,,6]),[4,MUn(e.localStore,o)];case 3:return(i=a.sent())===null?(e.Fr.length===0&&n.ir(),[3,7]):(o=i.batchId,function(l,s){l.Fr.push(s);var c=d7(l);c.er()&&c.pr&&c.Er(s.mutations)}(e,i),[3,6]);case 4:return r=a.sent(),[4,SX(e,r)];case 5:return a.sent(),[3,6];case 6:return[3,1];case 7:return xet(e)&&bet(e),[2]}})})}function xet(t){return j7(t)&&!d7(t).tr()&&t.Fr.length>0}function bet(t){d7(t).start()}function QUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return d7(t).Ar(),[2]})})}function ZUn(t){return Ao(this,void 0,void 0,function(){var e,n,o,i;return ho(this,function(r){for(e=d7(t),n=0,o=t.Fr;n0&&(li("RemoteStore","Stopping write stream with "+t.Fr.length+" pending writes"),t.Fr=[]),o.label=4;case 4:return[2]}})})})),t.Kr}var nBn=function(){function t(e,n,o,i,r){this.asyncQueue=e,this.timerId=n,this.targetTimeMs=o,this.op=i,this.removalCallback=r,this.deferred=new e1,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(function(a){})}return t.createAndSchedule=function(e,n,o,i,r){var a=new t(e,n,Date.now()+o,i,r);return a.start(o),a},t.prototype.start=function(e){var n=this;this.timerHandle=setTimeout(function(){return n.handleDelayElapsed()},e)},t.prototype.skipDelay=function(){return this.handleDelayElapsed()},t.prototype.cancel=function(e){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new Fo(Yn.CANCELLED,"Operation cancelled"+(e?": "+e:""))))},t.prototype.handleDelayElapsed=function(){var e=this;this.asyncQueue.enqueueAndForget(function(){return e.timerHandle!==null?(e.clearTimeout(),e.op().then(function(n){return e.deferred.resolve(n)})):Promise.resolve()})},t.prototype.clearTimeout=function(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)},t}();function QH(t,e){if(lu("AsyncQueue",e+": "+t),Bb(t))return new Fo(Yn.UNAVAILABLE,e+": "+t);throw t}/** + */function PN(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:if(!j7(t))return[3,4];e=0,n=t.Mr,o.label=1;case 1:return e0}function j7(t){return Ri(t).Or.size===0}function yet(t){t.qr=void 0}function XUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return t.$r.forEach(function(n,o){I2e(t,n)}),[2]})})}function JUn(t,e){return Ao(this,void 0,void 0,function(){return ho(this,function(n){return yet(t),D2e(t)?(t.Br.Nr(e),z2e(t)):t.Br.set("Unknown"),[2]})})}function KUn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r;return ho(this,function(a){switch(a.label){case 0:if(t.Br.set("Online"),!(e instanceof NZe&&e.state===2&&e.cause))return[3,6];a.label=1;case 1:return a.trys.push([1,3,,5]),[4,function(l,s){return Ao(this,void 0,void 0,function(){var c,u,d,f;return ho(this,function(p){switch(p.label){case 0:c=s.cause,u=0,d=s.targetIds,p.label=1;case 1:return u=0?[4,function(l,s){var c=l.qr.ut(s);return c.targetChanges.forEach(function(u,d){if(u.resumeToken.approximateByteSize()>0){var f=l.$r.get(d);f&&l.$r.set(d,f.withResumeToken(u.resumeToken,s))}}),c.targetMismatches.forEach(function(u){var d=l.$r.get(u);if(d){l.$r.set(u,d.withResumeToken(Zp.EMPTY_BYTE_STRING,d.snapshotVersion)),met(l,u);var f=new rZ(d.target,u,1,d.sequenceNumber);I2e(l,f)}}),l.remoteSyncer.applyRemoteEvent(c)}(t,n)]:[3,10];case 9:a.sent(),a.label=10;case 10:return[3,13];case 11:return li("RemoteStore","Failed to raise snapshot:",r=a.sent()),[4,SX(t,r)];case 12:return a.sent(),[3,13];case 13:return[2]}})})}function SX(t,e,n){return Ao(this,void 0,void 0,function(){var o=this;return ho(this,function(i){switch(i.label){case 0:if(!Bb(e))throw e;return t.Or.add(1),[4,KH(t)];case 1:return i.sent(),t.Br.set("Offline"),n||(n=function(){return uet(t.localStore)}),t.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(r){switch(r.label){case 0:return li("RemoteStore","Retrying IndexedDB access"),[4,n()];case 1:return r.sent(),t.Or.delete(1),[4,PN(t)];case 2:return r.sent(),[2]}})})}),[2]}})})}function Aet(t,e){return e().catch(function(n){return SX(t,n,e)})}function qH(t){return Ao(this,void 0,void 0,function(){var e,n,o,i,r;return ho(this,function(a){switch(a.label){case 0:e=Ri(t),n=d7(e),o=e.Fr.length>0?e.Fr[e.Fr.length-1].batchId:-1,a.label=1;case 1:if(!function(l){return j7(l)&&l.Fr.length<10}(e))return[3,7];a.label=2;case 2:return a.trys.push([2,4,,6]),[4,RUn(e.localStore,o)];case 3:return(i=a.sent())===null?(e.Fr.length===0&&n.ir(),[3,7]):(o=i.batchId,function(l,s){l.Fr.push(s);var c=d7(l);c.er()&&c.pr&&c.Er(s.mutations)}(e,i),[3,6]);case 4:return r=a.sent(),[4,SX(e,r)];case 5:return a.sent(),[3,6];case 6:return[3,1];case 7:return wet(e)&&vet(e),[2]}})})}function wet(t){return j7(t)&&!d7(t).tr()&&t.Fr.length>0}function vet(t){d7(t).start()}function qUn(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return d7(t).Ar(),[2]})})}function $Un(t){return Ao(this,void 0,void 0,function(){var e,n,o,i;return ho(this,function(r){for(e=d7(t),n=0,o=t.Fr;n0&&(li("RemoteStore","Stopping write stream with "+t.Fr.length+" pending writes"),t.Fr=[]),o.label=4;case 4:return[2]}})})})),t.Kr}var eBn=function(){function t(e,n,o,i,r){this.asyncQueue=e,this.timerId=n,this.targetTimeMs=o,this.op=i,this.removalCallback=r,this.deferred=new e1,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(function(a){})}return t.createAndSchedule=function(e,n,o,i,r){var a=new t(e,n,Date.now()+o,i,r);return a.start(o),a},t.prototype.start=function(e){var n=this;this.timerHandle=setTimeout(function(){return n.handleDelayElapsed()},e)},t.prototype.skipDelay=function(){return this.handleDelayElapsed()},t.prototype.cancel=function(e){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new Fo(Yn.CANCELLED,"Operation cancelled"+(e?": "+e:""))))},t.prototype.handleDelayElapsed=function(){var e=this;this.asyncQueue.enqueueAndForget(function(){return e.timerHandle!==null?(e.clearTimeout(),e.op().then(function(n){return e.deferred.resolve(n)})):Promise.resolve()})},t.prototype.clearTimeout=function(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)},t}();function QH(t,e){if(lu("AsyncQueue",e+": "+t),Bb(t))return new Fo(Yn.UNAVAILABLE,e+": "+t);throw t}/** * @license * Copyright 2017 Google LLC * @@ -6110,10 +6110,10 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Tet=function(){function t(e){this.comparator=e?function(n,o){return e(n,o)||sr.comparator(n.key,o.key)}:function(n,o){return sr.comparator(n.key,o.key)},this.keyedMap=hde(),this.sortedSet=new xh(this.comparator)}return t.emptySet=function(e){return new t(e.comparator)},t.prototype.has=function(e){return this.keyedMap.get(e)!=null},t.prototype.get=function(e){return this.keyedMap.get(e)},t.prototype.first=function(){return this.sortedSet.minKey()},t.prototype.last=function(){return this.sortedSet.maxKey()},t.prototype.isEmpty=function(){return this.sortedSet.isEmpty()},t.prototype.indexOf=function(e){var n=this.keyedMap.get(e);return n?this.sortedSet.indexOf(n):-1},Object.defineProperty(t.prototype,"size",{get:function(){return this.sortedSet.size},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e){this.sortedSet.inorderTraversal(function(n,o){return e(n),!1})},t.prototype.add=function(e){var n=this.delete(e.key);return n.copy(n.keyedMap.insert(e.key,e),n.sortedSet.insert(e,null))},t.prototype.delete=function(e){var n=this.get(e);return n?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(n)):this},t.prototype.isEqual=function(e){if(!(e instanceof t)||this.size!==e.size)return!1;for(var n=this.sortedSet.getIterator(),o=e.sortedSet.getIterator();n.hasNext();){var i=n.getNext().key,r=o.getNext().key;if(!i.isEqual(r))return!1}return!0},t.prototype.toString=function(){var e=[];return this.forEach(function(n){e.push(n.toString())}),e.length===0?"DocumentSet ()":`DocumentSet ( + */var xet=function(){function t(e){this.comparator=e?function(n,o){return e(n,o)||sr.comparator(n.key,o.key)}:function(n,o){return sr.comparator(n.key,o.key)},this.keyedMap=hde(),this.sortedSet=new xh(this.comparator)}return t.emptySet=function(e){return new t(e.comparator)},t.prototype.has=function(e){return this.keyedMap.get(e)!=null},t.prototype.get=function(e){return this.keyedMap.get(e)},t.prototype.first=function(){return this.sortedSet.minKey()},t.prototype.last=function(){return this.sortedSet.maxKey()},t.prototype.isEmpty=function(){return this.sortedSet.isEmpty()},t.prototype.indexOf=function(e){var n=this.keyedMap.get(e);return n?this.sortedSet.indexOf(n):-1},Object.defineProperty(t.prototype,"size",{get:function(){return this.sortedSet.size},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e){this.sortedSet.inorderTraversal(function(n,o){return e(n),!1})},t.prototype.add=function(e){var n=this.delete(e.key);return n.copy(n.keyedMap.insert(e.key,e),n.sortedSet.insert(e,null))},t.prototype.delete=function(e){var n=this.get(e);return n?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(n)):this},t.prototype.isEqual=function(e){if(!(e instanceof t)||this.size!==e.size)return!1;for(var n=this.sortedSet.getIterator(),o=e.sortedSet.getIterator();n.hasNext();){var i=n.getNext().key,r=o.getNext().key;if(!i.isEqual(r))return!1}return!0},t.prototype.toString=function(){var e=[];return this.forEach(function(n){e.push(n.toString())}),e.length===0?"DocumentSet ()":`DocumentSet ( `+e.join(` `)+` -)`},t.prototype.copy=function(e,n){var o=new t;return o.comparator=this.comparator,o.keyedMap=e,o.sortedSet=n,o},t}(),RPe=function(){function t(){this.Qr=new xh(sr.comparator)}return t.prototype.track=function(e){var n=e.doc.key,o=this.Qr.get(n);o?e.type!==0&&o.type===3?this.Qr=this.Qr.insert(n,e):e.type===3&&o.type!==1?this.Qr=this.Qr.insert(n,{type:o.type,doc:e.doc}):e.type===2&&o.type===2?this.Qr=this.Qr.insert(n,{type:2,doc:e.doc}):e.type===2&&o.type===0?this.Qr=this.Qr.insert(n,{type:0,doc:e.doc}):e.type===1&&o.type===0?this.Qr=this.Qr.remove(n):e.type===1&&o.type===2?this.Qr=this.Qr.insert(n,{type:1,doc:o.doc}):e.type===0&&o.type===1?this.Qr=this.Qr.insert(n,{type:2,doc:e.doc}):or():this.Qr=this.Qr.insert(n,e)},t.prototype.jr=function(){var e=[];return this.Qr.inorderTraversal(function(n,o){e.push(o)}),e},t}(),TX=function(){function t(e,n,o,i,r,a,l,s){this.query=e,this.docs=n,this.oldDocs=o,this.docChanges=i,this.mutatedKeys=r,this.fromCache=a,this.syncStateChanged=l,this.excludesMetadataChanges=s}return t.fromInitialDocuments=function(e,n,o,i){var r=[];return n.forEach(function(a){r.push({type:0,doc:a})}),new t(e,n,Tet.emptySet(n),r,o,i,!0,!1)},Object.defineProperty(t.prototype,"hasPendingWrites",{get:function(){return!this.mutatedKeys.isEmpty()},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){if(!(this.fromCache===e.fromCache&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&vN(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;var n=this.docChanges,o=e.docChanges;if(n.length!==o.length)return!1;for(var i=0;i=0&&(r.listeners.splice(a,1),i=r.listeners.length===0),i?[2,(n.queries.delete(o),n.onUnlisten(o))]:[2]})})}function rBn(t,e){for(var n=Ri(t),o=!1,i=0,r=e;i0)return!0;var n=this.Xr&&this.Xr.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!n)&&this.options.includeMetadataChanges===!0},t.prototype.no=function(e){e=TX.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache),this.Yr=!0,this.Jr.next(e)},t}();/** + */function E2e(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l,s;return ho(this,function(c){switch(c.label){case 0:if(n=Ri(t),o=e.query,i=!1,(r=n.queries.get(o))||(i=!0,r=new tBn),!i)return[3,4];c.label=1;case 1:return c.trys.push([1,3,,4]),a=r,[4,n.onListen(o)];case 2:return a.Wr=c.sent(),[3,4];case 3:return l=c.sent(),s=QH(l,"Initialization of query '"+dde(e.query)+"' failed"),[2,void e.onError(s)];case 4:return n.queries.set(o,r),r.listeners.push(e),e.zr(n.onlineState),r.Wr&&e.Hr(r.Wr)&&F2e(n),[2]}})})}function k2e(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a;return ho(this,function(l){return n=Ri(t),o=e.query,i=!1,(r=n.queries.get(o))&&(a=r.listeners.indexOf(e))>=0&&(r.listeners.splice(a,1),i=r.listeners.length===0),i?[2,(n.queries.delete(o),n.onUnlisten(o))]:[2]})})}function oBn(t,e){for(var n=Ri(t),o=!1,i=0,r=e;i0)return!0;var n=this.Xr&&this.Xr.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!n)&&this.options.includeMetadataChanges===!0},t.prototype.no=function(e){e=TX.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache),this.Yr=!0,this.Jr.next(e)},t}();/** * @license * Copyright 2017 Google LLC * @@ -6143,7 +6143,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Pet=function(t){this.key=t},Cet=function(t){this.key=t},Ret=function(){function t(e,n){this.query=e,this.uo=n,this.ao=null,this.current=!1,this.ho=_s(),this.mutatedKeys=_s(),this.lo=HZe(e),this.fo=new Tet(this.lo)}return Object.defineProperty(t.prototype,"wo",{get:function(){return this.uo},enumerable:!1,configurable:!0}),t.prototype._o=function(e,n){var o=this,i=n?n.mo:new RPe,r=n?n.fo:this.fo,a=n?n.mutatedKeys:this.mutatedKeys,l=r,s=!1,c=q_(this.query)&&r.size===this.query.limit?r.last():null,u=yX(this.query)&&r.size===this.query.limit?r.first():null;if(e.inorderTraversal(function(f,p){var g=r.get(f),A=xN(o.query,p)?p:null,w=!!g&&o.mutatedKeys.has(g.key),b=!!A&&(A.hasLocalMutations||o.mutatedKeys.has(A.key)&&A.hasCommittedMutations),C=!1;g&&A?g.data.isEqual(A.data)?w!==b&&(i.track({type:3,doc:A}),C=!0):o.yo(g,A)||(i.track({type:2,doc:A}),C=!0,(c&&o.lo(A,c)>0||u&&o.lo(A,u)<0)&&(s=!0)):!g&&A?(i.track({type:0,doc:A}),C=!0):g&&!A&&(i.track({type:1,doc:g}),C=!0,(c||u)&&(s=!0)),C&&(A?(l=l.add(A),a=b?a.add(f):a.delete(f)):(l=l.delete(f),a=a.delete(f)))}),q_(this.query)||yX(this.query))for(;l.size>this.query.limit;){var d=q_(this.query)?l.last():l.first();l=l.delete(d.key),a=a.delete(d.key),i.track({type:1,doc:d})}return{fo:l,mo:i,Nn:s,mutatedKeys:a}},t.prototype.yo=function(e,n){return e.hasLocalMutations&&n.hasCommittedMutations&&!n.hasLocalMutations},t.prototype.applyChanges=function(e,n,o){var i=this,r=this.fo;this.fo=e.fo,this.mutatedKeys=e.mutatedKeys;var a=e.mo.jr();a.sort(function(u,d){return function(f,p){var g=function(A){switch(A){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return or()}};return g(f)-g(p)}(u.type,d.type)||i.lo(u.doc,d.doc)}),this.po(o);var l=n?this.Eo():[],s=this.ho.size===0&&this.current?1:0,c=s!==this.ao;return this.ao=s,a.length!==0||c?{snapshot:new TX(this.query,e.fo,r,a,e.mutatedKeys,s===0,c,!1),To:l}:{To:l}},t.prototype.zr=function(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({fo:this.fo,mo:new RPe,mutatedKeys:this.mutatedKeys,Nn:!1},!1)):{To:[]}},t.prototype.Io=function(e){return!this.uo.has(e)&&!!this.fo.has(e)&&!this.fo.get(e).hasLocalMutations},t.prototype.po=function(e){var n=this;e&&(e.addedDocuments.forEach(function(o){return n.uo=n.uo.add(o)}),e.modifiedDocuments.forEach(function(o){}),e.removedDocuments.forEach(function(o){return n.uo=n.uo.delete(o)}),this.current=e.current)},t.prototype.Eo=function(){var e=this;if(!this.current)return[];var n=this.ho;this.ho=_s(),this.fo.forEach(function(i){e.Io(i.key)&&(e.ho=e.ho.add(i.key))});var o=[];return n.forEach(function(i){e.ho.has(i)||o.push(new Cet(i))}),this.ho.forEach(function(i){n.has(i)||o.push(new Pet(i))}),o},t.prototype.Ao=function(e){this.uo=e.Bn,this.ho=_s();var n=this._o(e.documents);return this.applyChanges(n,!0)},t.prototype.Ro=function(){return TX.fromInitialDocuments(this.query,this.fo,this.mutatedKeys,this.ao===0)},t}(),lBn=function(t,e,n){this.query=t,this.targetId=e,this.view=n},sBn=function(t){this.key=t,this.bo=!1},cBn=function(){function t(e,n,o,i,r,a){this.localStore=e,this.remoteStore=n,this.eventManager=o,this.sharedClientState=i,this.currentUser=r,this.maxConcurrentLimboResolutions=a,this.vo={},this.Po=new JH(function(l){return RZe(l)},vN),this.Vo=new Map,this.So=new Set,this.Do=new xh(sr.comparator),this.Co=new Map,this.No=new H2e,this.xo={},this.ko=new Map,this.Fo=vX.Yt(),this.onlineState="Unknown",this.$o=void 0}return Object.defineProperty(t.prototype,"isPrimaryClient",{get:function(){return this.$o===!0},enumerable:!1,configurable:!0}),t}();function uBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l;return ho(this,function(s){switch(s.label){case 0:return n=j2e(t),(r=n.Po.get(e))?(o=r.targetId,n.sharedClientState.addLocalQueryTarget(o),i=r.view.Ro(),[3,4]):[3,1];case 1:return[4,xX(n.localStore,W9(e))];case 2:return a=s.sent(),l=n.sharedClientState.addLocalQueryTarget(a.targetId),o=a.targetId,[4,W2e(n,e,o,l==="current")];case 3:i=s.sent(),n.isPrimaryClient&&lZ(n.remoteStore,a),s.label=4;case 4:return[2,i]}})})}function W2e(t,e,n,o){return Ao(this,void 0,void 0,function(){var i,r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:return t.Oo=function(d,f,p){return function(g,A,w,b){return Ao(this,void 0,void 0,function(){var C,P,v;return ho(this,function(T){switch(T.label){case 0:return C=A.view._o(w),C.Nn?[4,bX(g.localStore,A.query,!1).then(function(y){var S=y.documents;return A.view._o(S,C)})]:[3,2];case 1:C=T.sent(),T.label=2;case 2:return P=b&&b.targetChanges.get(A.targetId),v=A.view.applyChanges(C,g.isPrimaryClient,P),[2,(Ade(g,A.targetId,v.To),v.snapshot)]}})})}(t,d,f,p)},[4,bX(t.localStore,e,!0)];case 1:return i=u.sent(),r=new Ret(e,i.Bn),a=r._o(i.documents),l=x2e.createSynthesizedTargetChangeForCurrentChange(n,o&&t.onlineState!=="Offline"),s=r.applyChanges(a,t.isPrimaryClient,l),Ade(t,n,s.To),c=new lBn(e,n,r),[2,(t.Po.set(e,c),t.Vo.has(n)?t.Vo.get(n).push(e):t.Vo.set(n,[e]),s.snapshot)]}})})}function dBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return n=Ri(t),o=n.Po.get(e),(i=n.Vo.get(o.targetId)).length>1?[2,(n.Vo.set(o.targetId,i.filter(function(a){return!vN(a,e)})),void n.Po.delete(e))]:n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(o.targetId),n.sharedClientState.isActiveQueryTarget(o.targetId)?[3,2]:[4,zR(n.localStore,o.targetId,!1).then(function(){n.sharedClientState.clearQueryState(o.targetId),yF(n.remoteStore,o.targetId),DR(n,o.targetId)}).catch(jb)]):[3,3];case 1:r.sent(),r.label=2;case 2:return[3,5];case 3:return DR(n,o.targetId),[4,zR(n.localStore,o.targetId,!0)];case 4:r.sent(),r.label=5;case 5:return[2]}})})}function fBn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=Y2e(t),l.label=1;case 1:return l.trys.push([1,5,,6]),[4,function(s,c){var u,d=Ri(s),f=Jp.now(),p=c.reduce(function(g,A){return g.add(A.key)},_s());return d.persistence.runTransaction("Locally write mutations","readwrite",function(g){return d.Mn.pn(g,p).next(function(A){u=A;for(var w=[],b=0,C=c;b0?l.bo=!0:r.modifiedDocuments.size>0?Nr(l.bo):r.removedDocuments.size>0&&(Nr(l.bo),l.bo=!1))}),[4,Y7(n,o,e)];case 3:return i.sent(),[3,6];case 4:return[4,jb(i.sent())];case 5:return i.sent(),[3,6];case 6:return[2]}})})}function HPe(t,e,n){var o=Ri(t);if(o.isPrimaryClient&&n===0||!o.isPrimaryClient&&n===1){var i=[];o.Po.forEach(function(r,a){var l=a.view.zr(e);l.snapshot&&i.push(l.snapshot)}),function(r,a){var l=Ri(r);l.onlineState=a;var s=!1;l.queries.forEach(function(c,u){for(var d=0,f=u.listeners;d0&&t.Do.size0||u&&o.lo(A,u)<0)&&(s=!0)):!g&&A?(i.track({type:0,doc:A}),C=!0):g&&!A&&(i.track({type:1,doc:g}),C=!0,(c||u)&&(s=!0)),C&&(A?(l=l.add(A),a=b?a.add(f):a.delete(f)):(l=l.delete(f),a=a.delete(f)))}),q_(this.query)||yX(this.query))for(;l.size>this.query.limit;){var d=q_(this.query)?l.last():l.first();l=l.delete(d.key),a=a.delete(d.key),i.track({type:1,doc:d})}return{fo:l,mo:i,Nn:s,mutatedKeys:a}},t.prototype.yo=function(e,n){return e.hasLocalMutations&&n.hasCommittedMutations&&!n.hasLocalMutations},t.prototype.applyChanges=function(e,n,o){var i=this,r=this.fo;this.fo=e.fo,this.mutatedKeys=e.mutatedKeys;var a=e.mo.jr();a.sort(function(u,d){return function(f,p){var g=function(A){switch(A){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return or()}};return g(f)-g(p)}(u.type,d.type)||i.lo(u.doc,d.doc)}),this.po(o);var l=n?this.Eo():[],s=this.ho.size===0&&this.current?1:0,c=s!==this.ao;return this.ao=s,a.length!==0||c?{snapshot:new TX(this.query,e.fo,r,a,e.mutatedKeys,s===0,c,!1),To:l}:{To:l}},t.prototype.zr=function(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({fo:this.fo,mo:new RPe,mutatedKeys:this.mutatedKeys,Nn:!1},!1)):{To:[]}},t.prototype.Io=function(e){return!this.uo.has(e)&&!!this.fo.has(e)&&!this.fo.get(e).hasLocalMutations},t.prototype.po=function(e){var n=this;e&&(e.addedDocuments.forEach(function(o){return n.uo=n.uo.add(o)}),e.modifiedDocuments.forEach(function(o){}),e.removedDocuments.forEach(function(o){return n.uo=n.uo.delete(o)}),this.current=e.current)},t.prototype.Eo=function(){var e=this;if(!this.current)return[];var n=this.ho;this.ho=_s(),this.fo.forEach(function(i){e.Io(i.key)&&(e.ho=e.ho.add(i.key))});var o=[];return n.forEach(function(i){e.ho.has(i)||o.push(new Tet(i))}),this.ho.forEach(function(i){n.has(i)||o.push(new bet(i))}),o},t.prototype.Ao=function(e){this.uo=e.Bn,this.ho=_s();var n=this._o(e.documents);return this.applyChanges(n,!0)},t.prototype.Ro=function(){return TX.fromInitialDocuments(this.query,this.fo,this.mutatedKeys,this.ao===0)},t}(),rBn=function(t,e,n){this.query=t,this.targetId=e,this.view=n},aBn=function(t){this.key=t,this.bo=!1},lBn=function(){function t(e,n,o,i,r,a){this.localStore=e,this.remoteStore=n,this.eventManager=o,this.sharedClientState=i,this.currentUser=r,this.maxConcurrentLimboResolutions=a,this.vo={},this.Po=new JH(function(l){return PZe(l)},vN),this.Vo=new Map,this.So=new Set,this.Do=new xh(sr.comparator),this.Co=new Map,this.No=new H2e,this.xo={},this.ko=new Map,this.Fo=vX.Yt(),this.onlineState="Unknown",this.$o=void 0}return Object.defineProperty(t.prototype,"isPrimaryClient",{get:function(){return this.$o===!0},enumerable:!1,configurable:!0}),t}();function sBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l;return ho(this,function(s){switch(s.label){case 0:return n=j2e(t),(r=n.Po.get(e))?(o=r.targetId,n.sharedClientState.addLocalQueryTarget(o),i=r.view.Ro(),[3,4]):[3,1];case 1:return[4,xX(n.localStore,W9(e))];case 2:return a=s.sent(),l=n.sharedClientState.addLocalQueryTarget(a.targetId),o=a.targetId,[4,W2e(n,e,o,l==="current")];case 3:i=s.sent(),n.isPrimaryClient&&lZ(n.remoteStore,a),s.label=4;case 4:return[2,i]}})})}function W2e(t,e,n,o){return Ao(this,void 0,void 0,function(){var i,r,a,l,s,c;return ho(this,function(u){switch(u.label){case 0:return t.Oo=function(d,f,p){return function(g,A,w,b){return Ao(this,void 0,void 0,function(){var C,P,v;return ho(this,function(T){switch(T.label){case 0:return C=A.view._o(w),C.Nn?[4,bX(g.localStore,A.query,!1).then(function(y){var S=y.documents;return A.view._o(S,C)})]:[3,2];case 1:C=T.sent(),T.label=2;case 2:return P=b&&b.targetChanges.get(A.targetId),v=A.view.applyChanges(C,g.isPrimaryClient,P),[2,(Ade(g,A.targetId,v.To),v.snapshot)]}})})}(t,d,f,p)},[4,bX(t.localStore,e,!0)];case 1:return i=u.sent(),r=new Pet(e,i.Bn),a=r._o(i.documents),l=x2e.createSynthesizedTargetChangeForCurrentChange(n,o&&t.onlineState!=="Offline"),s=r.applyChanges(a,t.isPrimaryClient,l),Ade(t,n,s.To),c=new rBn(e,n,r),[2,(t.Po.set(e,c),t.Vo.has(n)?t.Vo.get(n).push(e):t.Vo.set(n,[e]),s.snapshot)]}})})}function cBn(t,e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return n=Ri(t),o=n.Po.get(e),(i=n.Vo.get(o.targetId)).length>1?[2,(n.Vo.set(o.targetId,i.filter(function(a){return!vN(a,e)})),void n.Po.delete(e))]:n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(o.targetId),n.sharedClientState.isActiveQueryTarget(o.targetId)?[3,2]:[4,zR(n.localStore,o.targetId,!1).then(function(){n.sharedClientState.clearQueryState(o.targetId),yF(n.remoteStore,o.targetId),DR(n,o.targetId)}).catch(jb)]):[3,3];case 1:r.sent(),r.label=2;case 2:return[3,5];case 3:return DR(n,o.targetId),[4,zR(n.localStore,o.targetId,!0)];case 4:r.sent(),r.label=5;case 5:return[2]}})})}function uBn(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:o=Y2e(t),l.label=1;case 1:return l.trys.push([1,5,,6]),[4,function(s,c){var u,d=Ri(s),f=Jp.now(),p=c.reduce(function(g,A){return g.add(A.key)},_s());return d.persistence.runTransaction("Locally write mutations","readwrite",function(g){return d.Mn.pn(g,p).next(function(A){u=A;for(var w=[],b=0,C=c;b0?l.bo=!0:r.modifiedDocuments.size>0?Nr(l.bo):r.removedDocuments.size>0&&(Nr(l.bo),l.bo=!1))}),[4,Y7(n,o,e)];case 3:return i.sent(),[3,6];case 4:return[4,jb(i.sent())];case 5:return i.sent(),[3,6];case 6:return[2]}})})}function HPe(t,e,n){var o=Ri(t);if(o.isPrimaryClient&&n===0||!o.isPrimaryClient&&n===1){var i=[];o.Po.forEach(function(r,a){var l=a.view.zr(e);l.snapshot&&i.push(l.snapshot)}),function(r,a){var l=Ri(r);l.onlineState=a;var s=!1;l.queries.forEach(function(c,u){for(var d=0,f=u.listeners;d0&&t.Do.size0)throw new Fo(Yn.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes.");return[4,function(r,a){return Ao(this,void 0,void 0,function(){var l,s,c,u,d,f;return ho(this,function(p){switch(p.label){case 0:return l=Ri(r),s=mF(l.R)+"/documents",c={documents:a.map(function(g){return gF(l.R,g)})},[4,l.$i("BatchGetDocuments",s,c)];case 1:return u=p.sent(),d=new Map,u.forEach(function(g){var A=function(w,b){return"found"in b?function(C,P){Nr(!!P.found),P.found.name,P.found.updateTime;var v=H6(C,P.found.name),T=op(P.found.updateTime),y=new sg({mapValue:{fields:P.found.fields}});return ph.newFoundDocument(v,T,y)}(w,b):"missing"in b?function(C,P){Nr(!!P.missing),Nr(!!P.readTime);var v=H6(C,P.missing),T=op(P.readTime);return ph.newNoDocument(v,T)}(w,b):or()}(l.R,g);d.set(A.key.toString(),A)}),f=[],[2,(a.forEach(function(g){var A=d.get(g.toString());Nr(!!A),f.push(A)}),f)]}})})}(this.datastore,e)];case 1:return[2,((n=i.sent()).forEach(function(r){return o.recordVersion(r)}),n)]}})})},t.prototype.set=function(e,n){this.write(n.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.update=function(e,n){try{this.write(n.toMutation(e,this.preconditionForUpdate(e)))}catch(o){this.lastWriteError=o}this.writtenDocs.add(e.toString())},t.prototype.delete=function(e){this.write(new TN(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.commit=function(){return Ao(this,void 0,void 0,function(){var e,n=this;return ho(this,function(o){switch(o.label){case 0:if(this.ensureCommitNotCalled(),this.lastWriteError)throw this.lastWriteError;return e=this.readVersions,this.mutations.forEach(function(i){e.delete(i.key.toString())}),e.forEach(function(i,r){var a=sr.fromPath(r);n.mutations.push(new w2e(a,n.precondition(a)))}),[4,function(i,r){return Ao(this,void 0,void 0,function(){var a,l,s;return ho(this,function(c){switch(c.label){case 0:return a=Ri(i),l=mF(a.R)+"/documents",s={writes:r.map(function(u){return AX(a.R,u)})},[4,a.Ni("Commit",l,s)];case 1:return c.sent(),[2]}})})}(this.datastore,this.mutations)];case 1:return o.sent(),this.committed=!0,[2]}})})},t.prototype.recordVersion=function(e){var n;if(e.isFoundDocument())n=e.version;else{if(!e.isNoDocument())throw or();n=Ea.min()}var o=this.readVersions.get(e.key.toString());if(o){if(!n.isEqual(o))throw new Fo(Yn.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),n)},t.prototype.precondition=function(e){var n=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&n?sh.updateTime(n):sh.none()},t.prototype.preconditionForUpdate=function(e){var n=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&n){if(n.isEqual(Ea.min()))throw new Fo(Yn.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return sh.updateTime(n)}return sh.exists(!0)},t.prototype.write=function(e){this.ensureCommitNotCalled(),this.mutations.push(e)},t.prototype.ensureCommitNotCalled=function(){},t}(),MBn=function(){function t(e,n,o,i){this.asyncQueue=e,this.datastore=n,this.updateFunction=o,this.deferred=i,this.ec=5,this.Zi=new M2e(this.asyncQueue,"transaction_retry")}return t.prototype.run=function(){this.ec-=1,this.nc()},t.prototype.nc=function(){var e=this;this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){return n=new HBn(this.datastore),(o=this.sc(n))&&o.then(function(a){i.asyncQueue.enqueueAndForget(function(){return n.commit().then(function(){i.deferred.resolve(a)}).catch(function(l){i.ic(l)})})}).catch(function(a){i.ic(a)}),[2]})})})},t.prototype.sc=function(e){try{var n=this.updateFunction(e);return!Ub(n)&&n.catch&&n.then?n:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(o){return this.deferred.reject(o),null}},t.prototype.ic=function(e){var n=this;this.ec>0&&this.rc(e)?(this.ec-=1,this.asyncQueue.enqueueAndForget(function(){return n.nc(),Promise.resolve()})):this.deferred.reject(e)},t.prototype.rc=function(e){if(e.name==="FirebaseError"){var n=e.code;return n==="aborted"||n==="failed-precondition"||!WZe(n)}return!1},t}(),IBn=function(){function t(e,n,o){var i=this;this.credentials=e,this.asyncQueue=n,this.databaseInfo=o,this.user=ef.UNAUTHENTICATED,this.clientId=yZe.u(),this.credentialListener=function(){return Promise.resolve()},this.credentials.setChangeListener(n,function(r){return Ao(i,void 0,void 0,function(){return ho(this,function(a){switch(a.label){case 0:return li("FirestoreClient","Received user=",r.uid),[4,this.credentialListener(r)];case 1:return a.sent(),this.user=r,[2]}})})})}return t.prototype.getConfiguration=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return[2,{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,credentials:this.credentials,initialUser:this.user,maxConcurrentLimboResolutions:100}]})})},t.prototype.setCredentialChangeListener=function(e){this.credentialListener=e},t.prototype.verifyNotTerminated=function(){if(this.asyncQueue.isShuttingDown)throw new Fo(Yn.FAILED_PRECONDITION,"The client has already been terminated.")},t.prototype.terminate=function(){var e=this;this.asyncQueue.enterRestrictedMode();var n=new e1;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(e,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return r.trys.push([0,5,,6]),this.onlineComponents?[4,this.onlineComponents.terminate()]:[3,2];case 1:r.sent(),r.label=2;case 2:return this.offlineComponents?[4,this.offlineComponents.terminate()]:[3,4];case 3:r.sent(),r.label=4;case 4:return this.credentials.removeChangeListener(),n.resolve(),[3,6];case 5:return o=r.sent(),i=QH(o,"Failed to shutdown persistence"),n.reject(i),[3,6];case 6:return[2]}})})}),n.promise},t}();/** + */var sZ=function(){function t(e){this.observer=e,this.muted=!1}return t.prototype.next=function(e){this.observer.next&&this.jo(this.observer.next,e)},t.prototype.error=function(e){this.observer.error?this.jo(this.observer.error,e):console.error("Uncaught Error in snapshot listener:",e)},t.prototype.Wo=function(){this.muted=!0},t.prototype.jo=function(e,n){var o=this;this.muted||setTimeout(function(){o.muted||e(n)},0)},t}(),CBn=function(){function t(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastWriteError=null,this.writtenDocs=new Set}return t.prototype.lookup=function(e){return Ao(this,void 0,void 0,function(){var n,o=this;return ho(this,function(i){switch(i.label){case 0:if(this.ensureCommitNotCalled(),this.mutations.length>0)throw new Fo(Yn.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes.");return[4,function(r,a){return Ao(this,void 0,void 0,function(){var l,s,c,u,d,f;return ho(this,function(p){switch(p.label){case 0:return l=Ri(r),s=mF(l.R)+"/documents",c={documents:a.map(function(g){return gF(l.R,g)})},[4,l.$i("BatchGetDocuments",s,c)];case 1:return u=p.sent(),d=new Map,u.forEach(function(g){var A=function(w,b){return"found"in b?function(C,P){Nr(!!P.found),P.found.name,P.found.updateTime;var v=H6(C,P.found.name),T=op(P.found.updateTime),y=new sg({mapValue:{fields:P.found.fields}});return ph.newFoundDocument(v,T,y)}(w,b):"missing"in b?function(C,P){Nr(!!P.missing),Nr(!!P.readTime);var v=H6(C,P.missing),T=op(P.readTime);return ph.newNoDocument(v,T)}(w,b):or()}(l.R,g);d.set(A.key.toString(),A)}),f=[],[2,(a.forEach(function(g){var A=d.get(g.toString());Nr(!!A),f.push(A)}),f)]}})})}(this.datastore,e)];case 1:return[2,((n=i.sent()).forEach(function(r){return o.recordVersion(r)}),n)]}})})},t.prototype.set=function(e,n){this.write(n.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.update=function(e,n){try{this.write(n.toMutation(e,this.preconditionForUpdate(e)))}catch(o){this.lastWriteError=o}this.writtenDocs.add(e.toString())},t.prototype.delete=function(e){this.write(new TN(e,this.precondition(e))),this.writtenDocs.add(e.toString())},t.prototype.commit=function(){return Ao(this,void 0,void 0,function(){var e,n=this;return ho(this,function(o){switch(o.label){case 0:if(this.ensureCommitNotCalled(),this.lastWriteError)throw this.lastWriteError;return e=this.readVersions,this.mutations.forEach(function(i){e.delete(i.key.toString())}),e.forEach(function(i,r){var a=sr.fromPath(r);n.mutations.push(new w2e(a,n.precondition(a)))}),[4,function(i,r){return Ao(this,void 0,void 0,function(){var a,l,s;return ho(this,function(c){switch(c.label){case 0:return a=Ri(i),l=mF(a.R)+"/documents",s={writes:r.map(function(u){return AX(a.R,u)})},[4,a.Ni("Commit",l,s)];case 1:return c.sent(),[2]}})})}(this.datastore,this.mutations)];case 1:return o.sent(),this.committed=!0,[2]}})})},t.prototype.recordVersion=function(e){var n;if(e.isFoundDocument())n=e.version;else{if(!e.isNoDocument())throw or();n=Ea.min()}var o=this.readVersions.get(e.key.toString());if(o){if(!n.isEqual(o))throw new Fo(Yn.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),n)},t.prototype.precondition=function(e){var n=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&n?sh.updateTime(n):sh.none()},t.prototype.preconditionForUpdate=function(e){var n=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&n){if(n.isEqual(Ea.min()))throw new Fo(Yn.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return sh.updateTime(n)}return sh.exists(!0)},t.prototype.write=function(e){this.ensureCommitNotCalled(),this.mutations.push(e)},t.prototype.ensureCommitNotCalled=function(){},t}(),RBn=function(){function t(e,n,o,i){this.asyncQueue=e,this.datastore=n,this.updateFunction=o,this.deferred=i,this.ec=5,this.Zi=new M2e(this.asyncQueue,"transaction_retry")}return t.prototype.run=function(){this.ec-=1,this.nc()},t.prototype.nc=function(){var e=this;this.Zi.ji(function(){return Ao(e,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){return n=new CBn(this.datastore),(o=this.sc(n))&&o.then(function(a){i.asyncQueue.enqueueAndForget(function(){return n.commit().then(function(){i.deferred.resolve(a)}).catch(function(l){i.ic(l)})})}).catch(function(a){i.ic(a)}),[2]})})})},t.prototype.sc=function(e){try{var n=this.updateFunction(e);return!Ub(n)&&n.catch&&n.then?n:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(o){return this.deferred.reject(o),null}},t.prototype.ic=function(e){var n=this;this.ec>0&&this.rc(e)?(this.ec-=1,this.asyncQueue.enqueueAndForget(function(){return n.nc(),Promise.resolve()})):this.deferred.reject(e)},t.prototype.rc=function(e){if(e.name==="FirebaseError"){var n=e.code;return n==="aborted"||n==="failed-precondition"||!FZe(n)}return!1},t}(),HBn=function(){function t(e,n,o){var i=this;this.credentials=e,this.asyncQueue=n,this.databaseInfo=o,this.user=ef.UNAUTHENTICATED,this.clientId=gZe.u(),this.credentialListener=function(){return Promise.resolve()},this.credentials.setChangeListener(n,function(r){return Ao(i,void 0,void 0,function(){return ho(this,function(a){switch(a.label){case 0:return li("FirestoreClient","Received user=",r.uid),[4,this.credentialListener(r)];case 1:return a.sent(),this.user=r,[2]}})})})}return t.prototype.getConfiguration=function(){return Ao(this,void 0,void 0,function(){return ho(this,function(e){return[2,{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,credentials:this.credentials,initialUser:this.user,maxConcurrentLimboResolutions:100}]})})},t.prototype.setCredentialChangeListener=function(e){this.credentialListener=e},t.prototype.verifyNotTerminated=function(){if(this.asyncQueue.isShuttingDown)throw new Fo(Yn.FAILED_PRECONDITION,"The client has already been terminated.")},t.prototype.terminate=function(){var e=this;this.asyncQueue.enterRestrictedMode();var n=new e1;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(e,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return r.trys.push([0,5,,6]),this.onlineComponents?[4,this.onlineComponents.terminate()]:[3,2];case 1:r.sent(),r.label=2;case 2:return this.offlineComponents?[4,this.offlineComponents.terminate()]:[3,4];case 3:r.sent(),r.label=4;case 4:return this.credentials.removeChangeListener(),n.resolve(),[3,6];case 5:return o=r.sent(),i=QH(o,"Failed to shutdown persistence"),n.reject(i),[3,6];case 6:return[2]}})})}),n.promise},t}();/** * @license * Copyright 2020 Google LLC * @@ -6188,7 +6188,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Eet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){switch(r.label){case 0:return t.asyncQueue.verifyOperationInProgress(),li("FirestoreClient","Initializing OfflineComponentProvider"),[4,t.getConfiguration()];case 1:return n=r.sent(),[4,e.initialize(n)];case 2:return r.sent(),o=n.initialUser,t.setCredentialChangeListener(function(a){return Ao(i,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return o.isEqual(a)?[3,2]:[4,det(e.localStore,a)];case 1:l.sent(),o=a,l.label=2;case 2:return[2]}})})}),e.persistence.setDatabaseDeletedListener(function(){return t.terminate()}),t.offlineComponents=e,[2]}})})}function ket(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return t.asyncQueue.verifyOperationInProgress(),[4,O2e(t)];case 1:return n=i.sent(),li("FirestoreClient","Initializing OnlineComponentProvider"),[4,t.getConfiguration()];case 2:return o=i.sent(),[4,e.initialize(n,o)];case 3:return i.sent(),t.setCredentialChangeListener(function(r){return function(a,l){return Ao(this,void 0,void 0,function(){var s,c;return ho(this,function(u){switch(u.label){case 0:return(s=Ri(a)).asyncQueue.verifyOperationInProgress(),li("RemoteStore","RemoteStore received new credentials"),c=j7(s),s.Or.add(3),[4,KH(s)];case 1:return u.sent(),c&&s.Br.set("Unknown"),[4,s.remoteSyncer.handleCredentialChange(l)];case 2:return u.sent(),s.Or.delete(3),[4,PN(s)];case 3:return u.sent(),[2]}})})}(e.remoteStore,r)}),t.onlineComponents=e,[2]}})})}function O2e(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.offlineComponents?[3,2]:(li("FirestoreClient","Using default OfflineComponentProvider"),[4,Eet(t,new zet)]);case 1:e.sent(),e.label=2;case 2:return[2,t.offlineComponents]}})})}function cZ(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.onlineComponents?[3,2]:(li("FirestoreClient","Using default OnlineComponentProvider"),[4,ket(t,new wde)]);case 1:e.sent(),e.label=2;case 2:return[2,t.onlineComponents]}})})}function IPe(t){return O2e(t).then(function(e){return e.persistence})}function Fet(t){return O2e(t).then(function(e){return e.localStore})}function zPe(t){return cZ(t).then(function(e){return e.remoteStore})}function Let(t){return cZ(t).then(function(e){return e.syncEngine})}function ER(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return[4,cZ(t)];case 1:return e=o.sent(),[2,((n=e.eventManager).onListen=uBn.bind(null,e.syncEngine),n.onUnlisten=dBn.bind(null,e.syncEngine),n)]}})})}function DPe(t,e,n){var o=this;n===void 0&&(n={});var i=new e1;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new sZ({next:function(g){s.enqueueAndForget(function(){return k2e(l,p)});var A=g.docs.has(c);!A&&g.fromCache?d.reject(new Fo(Yn.UNAVAILABLE,"Failed to get document because the client is offline.")):A&&g.fromCache&&u&&u.source==="server"?d.reject(new Fo(Yn.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new L2e(wN(c.path),f,{includeMetadataChanges:!0,so:!0});return E2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}function EPe(t,e,n){var o=this;n===void 0&&(n={});var i=new e1;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new sZ({next:function(g){s.enqueueAndForget(function(){return k2e(l,p)}),g.fromCache&&u.source==="server"?d.reject(new Fo(Yn.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new L2e(c,f,{includeMetadataChanges:!0,so:!0});return E2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}var zBn=function(t,e,n,o,i,r,a,l){this.databaseId=t,this.appId=e,this.persistenceKey=n,this.host=o,this.ssl=i,this.forceLongPolling=r,this.autoDetectLongPolling=a,this.useFetchStreams=l},PX=function(){function t(e,n){this.projectId=e,this.database=n||"(default)"}return Object.defineProperty(t.prototype,"isDefaultDatabase",{get:function(){return this.database==="(default)"},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return e instanceof t&&e.projectId===this.projectId&&e.database===this.database},t}(),kPe=new Map,Wet=function(t,e){this.user=e,this.type="OAuth",this.authHeaders={},this.authHeaders.Authorization="Bearer "+t},FPe=function(){function t(){this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(null)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){this.changeListener=n,e.enqueueRetryable(function(){return n(ef.UNAUTHENTICATED)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),DBn=function(){function t(e){this.token=e,this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(this.token)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){var o=this;this.changeListener=n,e.enqueueRetryable(function(){return n(o.token.user)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),EBn=function(){function t(e){var n=this;this.currentUser=ef.UNAUTHENTICATED,this.oc=new e1,this.cc=0,this.forceRefresh=!1,this.auth=null,this.asyncQueue=null,this.uc=function(){n.cc++,n.currentUser=n.ac(),n.oc.resolve(),n.changeListener&&n.asyncQueue.enqueueRetryable(function(){return n.changeListener(n.currentUser)})};var o=function(i){li("FirebaseCredentialsProvider","Auth detected"),n.auth=i,n.auth.addAuthTokenListener(n.uc)};e.onInit(function(i){return o(i)}),setTimeout(function(){if(!n.auth){var i=e.getImmediate({optional:!0});i?o(i):(li("FirebaseCredentialsProvider","Auth not yet detected"),n.oc.resolve())}},0)}return t.prototype.getToken=function(){var e=this,n=this.cc,o=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(o).then(function(i){return e.cc!==n?(li("FirebaseCredentialsProvider","getToken aborted due to token change."),e.getToken()):i?(Nr(typeof i.accessToken=="string"),new Wet(i.accessToken,e.currentUser)):null}):Promise.resolve(null)},t.prototype.invalidateToken=function(){this.forceRefresh=!0},t.prototype.setChangeListener=function(e,n){var o=this;this.asyncQueue=e,this.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return[4,this.oc.promise];case 1:return i.sent(),[4,n(this.currentUser)];case 2:return i.sent(),this.changeListener=n,[2]}})})})},t.prototype.removeChangeListener=function(){this.auth&&this.auth.removeAuthTokenListener(this.uc),this.changeListener=function(){return Promise.resolve()}},t.prototype.ac=function(){var e=this.auth&&this.auth.getUid();return Nr(e===null||typeof e=="string"),new ef(e)},t}(),kBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o,this.type="FirstParty",this.user=ef.FIRST_PARTY}return Object.defineProperty(t.prototype,"authHeaders",{get:function(){var e={"X-Goog-AuthUser":this.lc},n=this.hc.auth.getAuthHeaderValueForFirstParty([]);return n&&(e.Authorization=n),this.fc&&(e["X-Goog-Iam-Authorization-Token"]=this.fc),e},enumerable:!1,configurable:!0}),t}(),FBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o}return t.prototype.getToken=function(){return Promise.resolve(new kBn(this.hc,this.lc,this.fc))},t.prototype.setChangeListener=function(e,n){e.enqueueRetryable(function(){return n(ef.FIRST_PARTY)})},t.prototype.removeChangeListener=function(){},t.prototype.invalidateToken=function(){},t}();/** + */function zet(t,e){return Ao(this,void 0,void 0,function(){var n,o,i=this;return ho(this,function(r){switch(r.label){case 0:return t.asyncQueue.verifyOperationInProgress(),li("FirestoreClient","Initializing OfflineComponentProvider"),[4,t.getConfiguration()];case 1:return n=r.sent(),[4,e.initialize(n)];case 2:return r.sent(),o=n.initialUser,t.setCredentialChangeListener(function(a){return Ao(i,void 0,void 0,function(){return ho(this,function(l){switch(l.label){case 0:return o.isEqual(a)?[3,2]:[4,cet(e.localStore,a)];case 1:l.sent(),o=a,l.label=2;case 2:return[2]}})})}),e.persistence.setDatabaseDeletedListener(function(){return t.terminate()}),t.offlineComponents=e,[2]}})})}function Det(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return t.asyncQueue.verifyOperationInProgress(),[4,O2e(t)];case 1:return n=i.sent(),li("FirestoreClient","Initializing OnlineComponentProvider"),[4,t.getConfiguration()];case 2:return o=i.sent(),[4,e.initialize(n,o)];case 3:return i.sent(),t.setCredentialChangeListener(function(r){return function(a,l){return Ao(this,void 0,void 0,function(){var s,c;return ho(this,function(u){switch(u.label){case 0:return(s=Ri(a)).asyncQueue.verifyOperationInProgress(),li("RemoteStore","RemoteStore received new credentials"),c=j7(s),s.Or.add(3),[4,KH(s)];case 1:return u.sent(),c&&s.Br.set("Unknown"),[4,s.remoteSyncer.handleCredentialChange(l)];case 2:return u.sent(),s.Or.delete(3),[4,PN(s)];case 3:return u.sent(),[2]}})})}(e.remoteStore,r)}),t.onlineComponents=e,[2]}})})}function O2e(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.offlineComponents?[3,2]:(li("FirestoreClient","Using default OfflineComponentProvider"),[4,zet(t,new Met)]);case 1:e.sent(),e.label=2;case 2:return[2,t.offlineComponents]}})})}function cZ(t){return Ao(this,void 0,void 0,function(){return ho(this,function(e){switch(e.label){case 0:return t.onlineComponents?[3,2]:(li("FirestoreClient","Using default OnlineComponentProvider"),[4,Det(t,new wde)]);case 1:e.sent(),e.label=2;case 2:return[2,t.onlineComponents]}})})}function IPe(t){return O2e(t).then(function(e){return e.persistence})}function Eet(t){return O2e(t).then(function(e){return e.localStore})}function zPe(t){return cZ(t).then(function(e){return e.remoteStore})}function ket(t){return cZ(t).then(function(e){return e.syncEngine})}function ER(t){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return[4,cZ(t)];case 1:return e=o.sent(),[2,((n=e.eventManager).onListen=sBn.bind(null,e.syncEngine),n.onUnlisten=cBn.bind(null,e.syncEngine),n)]}})})}function DPe(t,e,n){var o=this;n===void 0&&(n={});var i=new e1;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new sZ({next:function(g){s.enqueueAndForget(function(){return k2e(l,p)});var A=g.docs.has(c);!A&&g.fromCache?d.reject(new Fo(Yn.UNAVAILABLE,"Failed to get document because the client is offline.")):A&&g.fromCache&&u&&u.source==="server"?d.reject(new Fo(Yn.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new L2e(wN(c.path),f,{includeMetadataChanges:!0,so:!0});return E2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}function EPe(t,e,n){var o=this;n===void 0&&(n={});var i=new e1;return t.asyncQueue.enqueueAndForget(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return r=function(l,s,c,u,d){var f=new sZ({next:function(g){s.enqueueAndForget(function(){return k2e(l,p)}),g.fromCache&&u.source==="server"?d.reject(new Fo(Yn.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):d.resolve(g)},error:function(g){return d.reject(g)}}),p=new L2e(c,f,{includeMetadataChanges:!0,so:!0});return E2e(l,p)},[4,ER(t)];case 1:return[2,r.apply(void 0,[a.sent(),t.asyncQueue,e,n,i])]}})})}),i.promise}var MBn=function(t,e,n,o,i,r,a,l){this.databaseId=t,this.appId=e,this.persistenceKey=n,this.host=o,this.ssl=i,this.forceLongPolling=r,this.autoDetectLongPolling=a,this.useFetchStreams=l},PX=function(){function t(e,n){this.projectId=e,this.database=n||"(default)"}return Object.defineProperty(t.prototype,"isDefaultDatabase",{get:function(){return this.database==="(default)"},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return e instanceof t&&e.projectId===this.projectId&&e.database===this.database},t}(),kPe=new Map,Fet=function(t,e){this.user=e,this.type="OAuth",this.authHeaders={},this.authHeaders.Authorization="Bearer "+t},FPe=function(){function t(){this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(null)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){this.changeListener=n,e.enqueueRetryable(function(){return n(ef.UNAUTHENTICATED)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),IBn=function(){function t(e){this.token=e,this.changeListener=null}return t.prototype.getToken=function(){return Promise.resolve(this.token)},t.prototype.invalidateToken=function(){},t.prototype.setChangeListener=function(e,n){var o=this;this.changeListener=n,e.enqueueRetryable(function(){return n(o.token.user)})},t.prototype.removeChangeListener=function(){this.changeListener=null},t}(),zBn=function(){function t(e){var n=this;this.currentUser=ef.UNAUTHENTICATED,this.oc=new e1,this.cc=0,this.forceRefresh=!1,this.auth=null,this.asyncQueue=null,this.uc=function(){n.cc++,n.currentUser=n.ac(),n.oc.resolve(),n.changeListener&&n.asyncQueue.enqueueRetryable(function(){return n.changeListener(n.currentUser)})};var o=function(i){li("FirebaseCredentialsProvider","Auth detected"),n.auth=i,n.auth.addAuthTokenListener(n.uc)};e.onInit(function(i){return o(i)}),setTimeout(function(){if(!n.auth){var i=e.getImmediate({optional:!0});i?o(i):(li("FirebaseCredentialsProvider","Auth not yet detected"),n.oc.resolve())}},0)}return t.prototype.getToken=function(){var e=this,n=this.cc,o=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(o).then(function(i){return e.cc!==n?(li("FirebaseCredentialsProvider","getToken aborted due to token change."),e.getToken()):i?(Nr(typeof i.accessToken=="string"),new Fet(i.accessToken,e.currentUser)):null}):Promise.resolve(null)},t.prototype.invalidateToken=function(){this.forceRefresh=!0},t.prototype.setChangeListener=function(e,n){var o=this;this.asyncQueue=e,this.asyncQueue.enqueueRetryable(function(){return Ao(o,void 0,void 0,function(){return ho(this,function(i){switch(i.label){case 0:return[4,this.oc.promise];case 1:return i.sent(),[4,n(this.currentUser)];case 2:return i.sent(),this.changeListener=n,[2]}})})})},t.prototype.removeChangeListener=function(){this.auth&&this.auth.removeAuthTokenListener(this.uc),this.changeListener=function(){return Promise.resolve()}},t.prototype.ac=function(){var e=this.auth&&this.auth.getUid();return Nr(e===null||typeof e=="string"),new ef(e)},t}(),DBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o,this.type="FirstParty",this.user=ef.FIRST_PARTY}return Object.defineProperty(t.prototype,"authHeaders",{get:function(){var e={"X-Goog-AuthUser":this.lc},n=this.hc.auth.getAuthHeaderValueForFirstParty([]);return n&&(e.Authorization=n),this.fc&&(e["X-Goog-Iam-Authorization-Token"]=this.fc),e},enumerable:!1,configurable:!0}),t}(),EBn=function(){function t(e,n,o){this.hc=e,this.lc=n,this.fc=o}return t.prototype.getToken=function(){return Promise.resolve(new DBn(this.hc,this.lc,this.fc))},t.prototype.setChangeListener=function(e,n){e.enqueueRetryable(function(){return n(ef.FIRST_PARTY)})},t.prototype.removeChangeListener=function(){},t.prototype.invalidateToken=function(){},t}();/** * @license * Copyright 2017 Google LLC * @@ -6203,7 +6203,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function _2e(t,e,n){if(!n)throw new Fo(Yn.INVALID_ARGUMENT,"Function "+t+"() cannot be called with an empty "+e+".")}function V2e(t,e){if(e===void 0)return{merge:!1};if(e.mergeFields!==void 0&&e.merge!==void 0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid options passed to function "+t+'(): You cannot specify both "merge" and "mergeFields".');return e}function Net(t,e,n,o){if(e===!0&&o===!0)throw new Fo(Yn.INVALID_ARGUMENT,t+" and "+n+" cannot be used together.")}function LPe(t){if(!sr.isDocumentKey(t))throw new Fo(Yn.INVALID_ARGUMENT,"Invalid document reference. Document references must have an even number of segments, but "+t+" has "+t.length+".")}function WPe(t){if(sr.isDocumentKey(t))throw new Fo(Yn.INVALID_ARGUMENT,"Invalid collection reference. Collection references must have an odd number of segments, but "+t+" has "+t.length+".")}function uZ(t){if(t===void 0)return"undefined";if(t===null)return"null";if(typeof t=="string")return t.length>20&&(t=t.substring(0,20)+"..."),JSON.stringify(t);if(typeof t=="number"||typeof t=="boolean")return""+t;if(typeof t=="object"){if(t instanceof Array)return"an array";var e=function(n){if(n.constructor){var o=/function\s+([^\s(]+)\s*\(/.exec(n.constructor.toString());if(o&&o.length>1)return o[1]}return null}(t);return e?"a custom "+e+" object":"an object"}return typeof t=="function"?"a function":or()}function $l(t,e){if("_delegate"in t&&(t=t._delegate),!(t instanceof e)){if(e.name===t.constructor.name)throw new Fo(Yn.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var n=uZ(t);throw new Fo(Yn.INVALID_ARGUMENT,"Expected type '"+e.name+"', but it was: "+n)}return t}function NPe(t,e){if(e<=0)throw new Fo(Yn.INVALID_ARGUMENT,"Function "+t+"() requires a positive number, but it was: "+e+".")}/** + */function _2e(t,e,n){if(!n)throw new Fo(Yn.INVALID_ARGUMENT,"Function "+t+"() cannot be called with an empty "+e+".")}function V2e(t,e){if(e===void 0)return{merge:!1};if(e.mergeFields!==void 0&&e.merge!==void 0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid options passed to function "+t+'(): You cannot specify both "merge" and "mergeFields".');return e}function Let(t,e,n,o){if(e===!0&&o===!0)throw new Fo(Yn.INVALID_ARGUMENT,t+" and "+n+" cannot be used together.")}function LPe(t){if(!sr.isDocumentKey(t))throw new Fo(Yn.INVALID_ARGUMENT,"Invalid document reference. Document references must have an even number of segments, but "+t+" has "+t.length+".")}function WPe(t){if(sr.isDocumentKey(t))throw new Fo(Yn.INVALID_ARGUMENT,"Invalid collection reference. Collection references must have an odd number of segments, but "+t+" has "+t.length+".")}function uZ(t){if(t===void 0)return"undefined";if(t===null)return"null";if(typeof t=="string")return t.length>20&&(t=t.substring(0,20)+"..."),JSON.stringify(t);if(typeof t=="number"||typeof t=="boolean")return""+t;if(typeof t=="object"){if(t instanceof Array)return"an array";var e=function(n){if(n.constructor){var o=/function\s+([^\s(]+)\s*\(/.exec(n.constructor.toString());if(o&&o.length>1)return o[1]}return null}(t);return e?"a custom "+e+" object":"an object"}return typeof t=="function"?"a function":or()}function $l(t,e){if("_delegate"in t&&(t=t._delegate),!(t instanceof e)){if(e.name===t.constructor.name)throw new Fo(Yn.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var n=uZ(t);throw new Fo(Yn.INVALID_ARGUMENT,"Expected type '"+e.name+"', but it was: "+n)}return t}function NPe(t,e){if(e<=0)throw new Fo(Yn.INVALID_ARGUMENT,"Function "+t+"() requires a positive number, but it was: "+e+".")}/** * @license * Copyright 2020 Google LLC * @@ -6218,7 +6218,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var UPe=function(){function t(e){var n;if(e.host===void 0){if(e.ssl!==void 0)throw new Fo(Yn.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=(n=e.ssl)===null||n===void 0||n;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,e.cacheSizeBytes===void 0)this.cacheSizeBytes=41943040;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<1048576)throw new Fo(Yn.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.useFetchStreams=!!e.useFetchStreams,Net("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling)}return t.prototype.isEqual=function(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams},t}(),AF=function(){function t(e,n){this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new UPe({}),this._settingsFrozen=!1,e instanceof PX?(this._databaseId=e,this._credentials=new FPe):(this._app=e,this._databaseId=function(o){if(!Object.prototype.hasOwnProperty.apply(o.options,["projectId"]))throw new Fo(Yn.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new PX(o.options.projectId)}(e),this._credentials=new EBn(n))}return Object.defineProperty(t.prototype,"app",{get:function(){if(!this._app)throw new Fo(Yn.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_initialized",{get:function(){return this._settingsFrozen},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_terminated",{get:function(){return this._terminateTask!==void 0},enumerable:!1,configurable:!0}),t.prototype._setSettings=function(e){if(this._settingsFrozen)throw new Fo(Yn.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new UPe(e),e.credentials!==void 0&&(this._credentials=function(n){if(!n)return new FPe;switch(n.type){case"gapi":var o=n.client;return Nr(!(typeof o!="object"||o===null||!o.auth||!o.auth.getAuthHeaderValueForFirstParty)),new FBn(o,n.sessionIndex||"0",n.iamToken||null);case"provider":return n.client;default:throw new Fo(Yn.INVALID_ARGUMENT,"makeCredentialsProvider failed due to invalid credential type")}}(e.credentials))},t.prototype._getSettings=function(){return this._settings},t.prototype._freezeSettings=function(){return this._settingsFrozen=!0,this._settings},t.prototype._delete=function(){return this._terminateTask||(this._terminateTask=this._terminate()),this._terminateTask},t.prototype.toJSON=function(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}},t.prototype._terminate=function(){return e=this,(n=kPe.get(e))&&(li("ComponentProvider","Removing Datastore"),kPe.delete(e),n.terminate()),Promise.resolve();var e,n},t}(),e0=function(){function t(e,n,o){this.converter=n,this._key=o,this.type="document",this.firestore=e}return Object.defineProperty(t.prototype,"_path",{get:function(){return this._key.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._key.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return new Uw(this.firestore,this.converter,this._key.path.popLast())},enumerable:!1,configurable:!0}),t.prototype.withConverter=function(e){return new t(this.firestore,e,this._key)},t}(),bg=function(){function t(e,n,o){this.converter=n,this._query=o,this.type="query",this.firestore=e}return t.prototype.withConverter=function(e){return new t(this.firestore,e,this._query)},t}(),Uw=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,wN(i))||this)._path=i,r.type="collection",r}return Ti(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this._query.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this._query.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){var n=this._path.popLast();return n.isEmpty()?null:new e0(this.firestore,null,new sr(n))},enumerable:!1,configurable:!0}),e.prototype.withConverter=function(n){return new e(this.firestore,n,this._path)},e}(bg);/** + */var UPe=function(){function t(e){var n;if(e.host===void 0){if(e.ssl!==void 0)throw new Fo(Yn.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=(n=e.ssl)===null||n===void 0||n;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,e.cacheSizeBytes===void 0)this.cacheSizeBytes=41943040;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<1048576)throw new Fo(Yn.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.useFetchStreams=!!e.useFetchStreams,Let("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling)}return t.prototype.isEqual=function(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams},t}(),AF=function(){function t(e,n){this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new UPe({}),this._settingsFrozen=!1,e instanceof PX?(this._databaseId=e,this._credentials=new FPe):(this._app=e,this._databaseId=function(o){if(!Object.prototype.hasOwnProperty.apply(o.options,["projectId"]))throw new Fo(Yn.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new PX(o.options.projectId)}(e),this._credentials=new zBn(n))}return Object.defineProperty(t.prototype,"app",{get:function(){if(!this._app)throw new Fo(Yn.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_initialized",{get:function(){return this._settingsFrozen},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_terminated",{get:function(){return this._terminateTask!==void 0},enumerable:!1,configurable:!0}),t.prototype._setSettings=function(e){if(this._settingsFrozen)throw new Fo(Yn.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new UPe(e),e.credentials!==void 0&&(this._credentials=function(n){if(!n)return new FPe;switch(n.type){case"gapi":var o=n.client;return Nr(!(typeof o!="object"||o===null||!o.auth||!o.auth.getAuthHeaderValueForFirstParty)),new EBn(o,n.sessionIndex||"0",n.iamToken||null);case"provider":return n.client;default:throw new Fo(Yn.INVALID_ARGUMENT,"makeCredentialsProvider failed due to invalid credential type")}}(e.credentials))},t.prototype._getSettings=function(){return this._settings},t.prototype._freezeSettings=function(){return this._settingsFrozen=!0,this._settings},t.prototype._delete=function(){return this._terminateTask||(this._terminateTask=this._terminate()),this._terminateTask},t.prototype.toJSON=function(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}},t.prototype._terminate=function(){return e=this,(n=kPe.get(e))&&(li("ComponentProvider","Removing Datastore"),kPe.delete(e),n.terminate()),Promise.resolve();var e,n},t}(),e0=function(){function t(e,n,o){this.converter=n,this._key=o,this.type="document",this.firestore=e}return Object.defineProperty(t.prototype,"_path",{get:function(){return this._key.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return this._key.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return new Uw(this.firestore,this.converter,this._key.path.popLast())},enumerable:!1,configurable:!0}),t.prototype.withConverter=function(e){return new t(this.firestore,e,this._key)},t}(),bg=function(){function t(e,n,o){this.converter=n,this._query=o,this.type="query",this.firestore=e}return t.prototype.withConverter=function(e){return new t(this.firestore,e,this._query)},t}(),Uw=function(t){function e(n,o,i){var r=this;return(r=t.call(this,n,o,wN(i))||this)._path=i,r.type="collection",r}return Ti(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this._query.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this._query.path.canonicalString()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){var n=this._path.popLast();return n.isEmpty()?null:new e0(this.firestore,null,new sr(n))},enumerable:!1,configurable:!0}),e.prototype.withConverter=function(n){return new e(this.firestore,n,this._path)},e}(bg);/** * @license * Copyright 2020 Google LLC * @@ -6233,8 +6233,8 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Uet(t,e){for(var n,o=[],i=2;i0&&this.Zi.ji(function(){return n.bc()}),o.label=5;case 5:return[2]}})})},t.prototype.Rc=function(e){var n=this,o=this.dc.then(function(){return n.gc=!0,e().catch(function(i){throw n.yc=i,n.gc=!1,lu("INTERNAL UNHANDLED ERROR: ",function(r){var a=r.message||"";return r.stack&&(a=r.stack.includes(r.message)?r.stack:r.message+` -`+r.stack),a}(i)),i}).then(function(i){return n.gc=!1,i})});return this.dc=o,o},t.prototype.enqueueAfterDelay=function(e,n,o){var i=this;this.Ac(),this.Tc.indexOf(e)>-1&&(n=0);var r=nBn.createAndSchedule(this,e,n,o,function(a){return i.vc(a)});return this.mc.push(r),r},t.prototype.Ac=function(){this.yc&&or()},t.prototype.verifyOperationInProgress=function(){},t.prototype.Pc=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return[4,e=this.dc];case 1:n.sent(),n.label=2;case 2:if(e!==this.dc)return[3,0];n.label=3;case 3:return[2]}})})},t.prototype.Vc=function(e){for(var n=0,o=this.mc;n0&&this.Zi.ji(function(){return n.bc()}),o.label=5;case 5:return[2]}})})},t.prototype.Rc=function(e){var n=this,o=this.dc.then(function(){return n.gc=!0,e().catch(function(i){throw n.yc=i,n.gc=!1,lu("INTERNAL UNHANDLED ERROR: ",function(r){var a=r.message||"";return r.stack&&(a=r.stack.includes(r.message)?r.stack:r.message+` +`+r.stack),a}(i)),i}).then(function(i){return n.gc=!1,i})});return this.dc=o,o},t.prototype.enqueueAfterDelay=function(e,n,o){var i=this;this.Ac(),this.Tc.indexOf(e)>-1&&(n=0);var r=eBn.createAndSchedule(this,e,n,o,function(a){return i.vc(a)});return this.mc.push(r),r},t.prototype.Ac=function(){this.yc&&or()},t.prototype.verifyOperationInProgress=function(){},t.prototype.Pc=function(){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return[4,e=this.dc];case 1:n.sent(),n.label=2;case 2:if(e!==this.dc)return[3,0];n.label=3;case 3:return[2]}})})},t.prototype.Vc=function(e){for(var n=0,o=this.mc;n90)throw new Fo(Yn.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(n)||n<-180||n>180)throw new Fo(Yn.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+n);this._lat=e,this._long=n}return Object.defineProperty(t.prototype,"latitude",{get:function(){return this._lat},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"longitude",{get:function(){return this._long},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return this._lat===e._lat&&this._long===e._long},t.prototype.toJSON=function(){return{latitude:this._lat,longitude:this._long}},t.prototype._compareTo=function(e){return Ga(this._lat,e._lat)||Ga(this._long,e._long)},t}(),NBn=/^__.*__$/,UBn=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return this.fieldMask!==null?new B7(e,this.data,this.fieldMask,n,this.fieldTransforms):new SN(e,this.data,n,this.fieldTransforms)},t}(),Oet=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return new B7(e,this.data,this.fieldMask,n,this.fieldTransforms)},t}();/** + */var v9=function(){function t(){for(var e=[],n=0;n90)throw new Fo(Yn.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(n)||n<-180||n>180)throw new Fo(Yn.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+n);this._lat=e,this._long=n}return Object.defineProperty(t.prototype,"latitude",{get:function(){return this._lat},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"longitude",{get:function(){return this._long},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){return this._lat===e._lat&&this._long===e._long},t.prototype.toJSON=function(){return{latitude:this._lat,longitude:this._long}},t.prototype._compareTo=function(e){return Ga(this._lat,e._lat)||Ga(this._long,e._long)},t}(),LBn=/^__.*__$/,WBn=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return this.fieldMask!==null?new B7(e,this.data,this.fieldMask,n,this.fieldTransforms):new SN(e,this.data,n,this.fieldTransforms)},t}(),jet=function(){function t(e,n,o){this.data=e,this.fieldMask=n,this.fieldTransforms=o}return t.prototype.toMutation=function(e,n){return new B7(e,this.data,this.fieldMask,n,this.fieldTransforms)},t}();/** * @license * Copyright 2020 Google LLC * @@ -6279,7 +6279,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function _et(t){switch(t){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw or()}}var Vet=function(){function t(e,n,o,i,r,a){this.settings=e,this.databaseId=n,this.R=o,this.ignoreUndefinedProperties=i,r===void 0&&this.Cc(),this.fieldTransforms=r||[],this.fieldMask=a||[]}return Object.defineProperty(t.prototype,"path",{get:function(){return this.settings.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Nc",{get:function(){return this.settings.Nc},enumerable:!1,configurable:!0}),t.prototype.xc=function(e){return new t(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.R,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)},t.prototype.kc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.$c(e),i},t.prototype.Oc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.Cc(),i},t.prototype.Mc=function(e){return this.xc({path:void 0,Fc:!0})},t.prototype.Lc=function(e){return CX(e,this.settings.methodName,this.settings.Bc||!1,this.path,this.settings.qc)},t.prototype.contains=function(e){return this.fieldMask.find(function(n){return e.isPrefixOf(n)})!==void 0||this.fieldTransforms.find(function(n){return e.isPrefixOf(n.field)})!==void 0},t.prototype.Cc=function(){if(this.path)for(var e=0;e=0;--f)if(!qet(u,l[f])){var p=l[f],g=s[f];g=va(g);var A=a.Oc(p);if(g instanceof G2e)u.push(p);else{var w=_b(g,A);w!=null&&(u.push(p),d.set(p,w))}}var b=new vR(u);return new Oet(d,b,a.fieldTransforms)}function Xet(t,e,n,o){return o===void 0&&(o=!1),_b(n,t.Uc(o?4:3,e))}function _b(t,e){if(Ket(t=va(t)))return K2e("Unsupported field value:",e,t),Jet(t,e);if(t instanceof Yb)return function(n,o){if(!_et(o.Nc))throw o.Lc(n._methodName+"() can only be used with update() and set()");if(!o.path)throw o.Lc(n._methodName+"() is not currently supported inside arrays");var i=n._toFieldTransform(o);i&&o.fieldTransforms.push(i)}(t,e),null;if(t===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),t instanceof Array){if(e.settings.Fc&&e.Nc!==4)throw e.Lc("Nested arrays are not supported");return function(n,o){for(var i=[],r=0,a=0,l=n;a0&&e.fieldMask.push(e.path):Nb(t,function(o,i){var r=_b(i,e.kc(o));r!=null&&(n[o]=r)}),{mapValue:{fields:n}}}function Ket(t){return!(typeof t!="object"||t===null||t instanceof Array||t instanceof Date||t instanceof Jp||t instanceof dZ||t instanceof nb||t instanceof e0||t instanceof Yb)}function K2e(t,e,n){if(!Ket(n)||!function(i){return typeof i=="object"&&i!==null&&(Object.getPrototypeOf(i)===Object.prototype||Object.getPrototypeOf(i)===null)}(n)){var o=uZ(n);throw o==="an object"?e.Lc(t+" a custom object"):e.Lc(t+" "+o)}}function vde(t,e,n){if((e=va(e))instanceof v9)return e._internalPath;if(typeof e=="string")return q2e(t,e);throw CX("Field path arguments must be of type string or FieldPath.",t,!1,void 0,n)}var VBn=new RegExp("[~\\*/\\[\\]]");function q2e(t,e,n){if(e.search(VBn)>=0)throw CX("Invalid field path ("+e+"). Paths must not contain '~', '*', '/', '[', or ']'",t,!1,void 0,n);try{return new(v9.bind.apply(v9,pl([void 0],e.split("."))))()._internalPath}catch{throw CX("Invalid field path ("+e+"). Paths must not be empty, begin with '.', end with '.', or contain '..'",t,!1,void 0,n)}}function CX(t,e,n,o,i){var r=o&&!o.isEmpty(),a=i!==void 0,l="Function "+e+"() called with invalid data";n&&(l+=" (via `toFirestore()`)");var s="";return(r||a)&&(s+=" (found",r&&(s+=" in field "+o),a&&(s+=" in document "+i),s+=")"),new Fo(Yn.INVALID_ARGUMENT,(l+=". ")+t+s)}function qet(t,e){return t.some(function(n){return n.isEqual(e)})}/** + */function Yet(t){switch(t){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw or()}}var Oet=function(){function t(e,n,o,i,r,a){this.settings=e,this.databaseId=n,this.R=o,this.ignoreUndefinedProperties=i,r===void 0&&this.Cc(),this.fieldTransforms=r||[],this.fieldMask=a||[]}return Object.defineProperty(t.prototype,"path",{get:function(){return this.settings.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"Nc",{get:function(){return this.settings.Nc},enumerable:!1,configurable:!0}),t.prototype.xc=function(e){return new t(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.R,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)},t.prototype.kc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.$c(e),i},t.prototype.Oc=function(e){var n,o=(n=this.path)===null||n===void 0?void 0:n.child(e),i=this.xc({path:o,Fc:!1});return i.Cc(),i},t.prototype.Mc=function(e){return this.xc({path:void 0,Fc:!0})},t.prototype.Lc=function(e){return CX(e,this.settings.methodName,this.settings.Bc||!1,this.path,this.settings.qc)},t.prototype.contains=function(e){return this.fieldMask.find(function(n){return e.isPrefixOf(n)})!==void 0||this.fieldTransforms.find(function(n){return e.isPrefixOf(n.field)})!==void 0},t.prototype.Cc=function(){if(this.path)for(var e=0;e=0;--f)if(!Jet(u,l[f])){var p=l[f],g=s[f];g=va(g);var A=a.Oc(p);if(g instanceof G2e)u.push(p);else{var w=_b(g,A);w!=null&&(u.push(p),d.set(p,w))}}var b=new vR(u);return new jet(d,b,a.fieldTransforms)}function Vet(t,e,n,o){return o===void 0&&(o=!1),_b(n,t.Uc(o?4:3,e))}function _b(t,e){if(Xet(t=va(t)))return K2e("Unsupported field value:",e,t),Get(t,e);if(t instanceof Yb)return function(n,o){if(!Yet(o.Nc))throw o.Lc(n._methodName+"() can only be used with update() and set()");if(!o.path)throw o.Lc(n._methodName+"() is not currently supported inside arrays");var i=n._toFieldTransform(o);i&&o.fieldTransforms.push(i)}(t,e),null;if(t===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),t instanceof Array){if(e.settings.Fc&&e.Nc!==4)throw e.Lc("Nested arrays are not supported");return function(n,o){for(var i=[],r=0,a=0,l=n;a0&&e.fieldMask.push(e.path):Nb(t,function(o,i){var r=_b(i,e.kc(o));r!=null&&(n[o]=r)}),{mapValue:{fields:n}}}function Xet(t){return!(typeof t!="object"||t===null||t instanceof Array||t instanceof Date||t instanceof Jp||t instanceof dZ||t instanceof nb||t instanceof e0||t instanceof Yb)}function K2e(t,e,n){if(!Xet(n)||!function(i){return typeof i=="object"&&i!==null&&(Object.getPrototypeOf(i)===Object.prototype||Object.getPrototypeOf(i)===null)}(n)){var o=uZ(n);throw o==="an object"?e.Lc(t+" a custom object"):e.Lc(t+" "+o)}}function vde(t,e,n){if((e=va(e))instanceof v9)return e._internalPath;if(typeof e=="string")return q2e(t,e);throw CX("Field path arguments must be of type string or FieldPath.",t,!1,void 0,n)}var OBn=new RegExp("[~\\*/\\[\\]]");function q2e(t,e,n){if(e.search(OBn)>=0)throw CX("Invalid field path ("+e+"). Paths must not contain '~', '*', '/', '[', or ']'",t,!1,void 0,n);try{return new(v9.bind.apply(v9,pl([void 0],e.split("."))))()._internalPath}catch{throw CX("Invalid field path ("+e+"). Paths must not be empty, begin with '.', end with '.', or contain '..'",t,!1,void 0,n)}}function CX(t,e,n,o,i){var r=o&&!o.isEmpty(),a=i!==void 0,l="Function "+e+"() called with invalid data";n&&(l+=" (via `toFirestore()`)");var s="";return(r||a)&&(s+=" (found",r&&(s+=" in field "+o),a&&(s+=" in document "+i),s+=")"),new Fo(Yn.INVALID_ARGUMENT,(l+=". ")+t+s)}function Jet(t,e){return t.some(function(n){return n.isEqual(e)})}/** * @license * Copyright 2020 Google LLC * @@ -6294,7 +6294,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var wF=function(){function t(e,n,o,i,r){this._firestore=e,this._userDataWriter=n,this._key=o,this._document=i,this._converter=r}return Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new e0(this._firestore,this._converter,this._key)},enumerable:!1,configurable:!0}),t.prototype.exists=function(){return this._document!==null},t.prototype.data=function(){if(this._document){if(this._converter){var e=new GBn(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}},t.prototype.get=function(e){if(this._document){var n=this._document.data.field(RX("DocumentSnapshot.get",e));if(n!==null)return this._userDataWriter.convertValue(n)}},t}(),GBn=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(){return t.prototype.data.call(this)},e}(wF);function RX(t,e){return typeof e=="string"?q2e(t,e):e instanceof v9?e._internalPath:e._delegate._internalPath}/** + */var wF=function(){function t(e,n,o,i,r){this._firestore=e,this._userDataWriter=n,this._key=o,this._document=i,this._converter=r}return Object.defineProperty(t.prototype,"id",{get:function(){return this._key.path.lastSegment()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new e0(this._firestore,this._converter,this._key)},enumerable:!1,configurable:!0}),t.prototype.exists=function(){return this._document!==null},t.prototype.data=function(){if(this._document){if(this._converter){var e=new _Bn(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}},t.prototype.get=function(e){if(this._document){var n=this._document.data.field(RX("DocumentSnapshot.get",e));if(n!==null)return this._userDataWriter.convertValue(n)}},t}(),_Bn=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(){return t.prototype.data.call(this)},e}(wF);function RX(t,e){return typeof e=="string"?q2e(t,e):e instanceof v9?e._internalPath:e._delegate._internalPath}/** * @license * Copyright 2020 Google LLC * @@ -6309,7 +6309,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Ov=function(){function t(e,n){this.hasPendingWrites=e,this.fromCache=n}return t.prototype.isEqual=function(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache},t}(),I6=function(t){function e(n,o,i,r,a,l){var s=this;return(s=t.call(this,n,o,i,r,l)||this)._firestore=n,s._firestoreImpl=n,s.metadata=a,s}return Ti(e,t),e.prototype.exists=function(){return t.prototype.exists.call(this)},e.prototype.data=function(n){if(n===void 0&&(n={}),this._document){if(this._converter){var o=new SE(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(o,n)}return this._userDataWriter.convertValue(this._document.data.value,n.serverTimestamps)}},e.prototype.get=function(n,o){if(o===void 0&&(o={}),this._document){var i=this._document.data.field(RX("DocumentSnapshot.get",n));if(i!==null)return this._userDataWriter.convertValue(i,o.serverTimestamps)}},e}(wF),SE=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(n){return n===void 0&&(n={}),t.prototype.data.call(this,n)},e}(I6),nw=function(){function t(e,n,o,i){this._firestore=e,this._userDataWriter=n,this._snapshot=i,this.metadata=new Ov(i.hasPendingWrites,i.fromCache),this.query=o}return Object.defineProperty(t.prototype,"docs",{get:function(){var e=[];return this.forEach(function(n){return e.push(n)}),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._snapshot.docs.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return this.size===0},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e,n){var o=this;this._snapshot.docs.forEach(function(i){e.call(n,new SE(o._firestore,o._userDataWriter,i.key,i,new Ov(o._snapshot.mutatedKeys.has(i.key),o._snapshot.fromCache),o.query.converter))})},t.prototype.docChanges=function(e){e===void 0&&(e={});var n=!!e.includeMetadataChanges;if(n&&this._snapshot.excludesMetadataChanges)throw new Fo(Yn.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===n||(this._cachedChanges=function(o,i){if(o._snapshot.oldDocs.isEmpty()){var r=0;return o._snapshot.docChanges.map(function(l){return{type:"added",doc:new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),oldIndex:-1,newIndex:r++}})}var a=o._snapshot.oldDocs;return o._snapshot.docChanges.filter(function(l){return i||l.type!==3}).map(function(l){var s=new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),c=-1,u=-1;return l.type!==0&&(c=a.indexOf(l.doc.key),a=a.delete(l.doc.key)),l.type!==1&&(u=(a=a.add(l.doc)).indexOf(l.doc.key)),{type:XBn(l.type),doc:s,oldIndex:c,newIndex:u}})}(this,n),this._cachedChangesIncludeMetadataChanges=n),this._cachedChanges},t}();function XBn(t){switch(t){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return or()}}function $et(t,e){return t instanceof I6&&e instanceof I6?t._firestore===e._firestore&&t._key.isEqual(e._key)&&(t._document===null?e._document===null:t._document.isEqual(e._document))&&t._converter===e._converter:t instanceof nw&&e instanceof nw&&t._firestore===e._firestore&&jet(t.query,e.query)&&t.metadata.isEqual(e.metadata)&&t._snapshot.isEqual(e._snapshot)}/** + */var Ov=function(){function t(e,n){this.hasPendingWrites=e,this.fromCache=n}return t.prototype.isEqual=function(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache},t}(),I6=function(t){function e(n,o,i,r,a,l){var s=this;return(s=t.call(this,n,o,i,r,l)||this)._firestore=n,s._firestoreImpl=n,s.metadata=a,s}return Ti(e,t),e.prototype.exists=function(){return t.prototype.exists.call(this)},e.prototype.data=function(n){if(n===void 0&&(n={}),this._document){if(this._converter){var o=new SE(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(o,n)}return this._userDataWriter.convertValue(this._document.data.value,n.serverTimestamps)}},e.prototype.get=function(n,o){if(o===void 0&&(o={}),this._document){var i=this._document.data.field(RX("DocumentSnapshot.get",n));if(i!==null)return this._userDataWriter.convertValue(i,o.serverTimestamps)}},e}(wF),SE=function(t){function e(){return t!==null&&t.apply(this,arguments)||this}return Ti(e,t),e.prototype.data=function(n){return n===void 0&&(n={}),t.prototype.data.call(this,n)},e}(I6),nw=function(){function t(e,n,o,i){this._firestore=e,this._userDataWriter=n,this._snapshot=i,this.metadata=new Ov(i.hasPendingWrites,i.fromCache),this.query=o}return Object.defineProperty(t.prototype,"docs",{get:function(){var e=[];return this.forEach(function(n){return e.push(n)}),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._snapshot.docs.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return this.size===0},enumerable:!1,configurable:!0}),t.prototype.forEach=function(e,n){var o=this;this._snapshot.docs.forEach(function(i){e.call(n,new SE(o._firestore,o._userDataWriter,i.key,i,new Ov(o._snapshot.mutatedKeys.has(i.key),o._snapshot.fromCache),o.query.converter))})},t.prototype.docChanges=function(e){e===void 0&&(e={});var n=!!e.includeMetadataChanges;if(n&&this._snapshot.excludesMetadataChanges)throw new Fo(Yn.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===n||(this._cachedChanges=function(o,i){if(o._snapshot.oldDocs.isEmpty()){var r=0;return o._snapshot.docChanges.map(function(l){return{type:"added",doc:new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),oldIndex:-1,newIndex:r++}})}var a=o._snapshot.oldDocs;return o._snapshot.docChanges.filter(function(l){return i||l.type!==3}).map(function(l){var s=new SE(o._firestore,o._userDataWriter,l.doc.key,l.doc,new Ov(o._snapshot.mutatedKeys.has(l.doc.key),o._snapshot.fromCache),o.query.converter),c=-1,u=-1;return l.type!==0&&(c=a.indexOf(l.doc.key),a=a.delete(l.doc.key)),l.type!==1&&(u=(a=a.add(l.doc)).indexOf(l.doc.key)),{type:VBn(l.type),doc:s,oldIndex:c,newIndex:u}})}(this,n),this._cachedChangesIncludeMetadataChanges=n),this._cachedChanges},t}();function VBn(t){switch(t){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return or()}}function Ket(t,e){return t instanceof I6&&e instanceof I6?t._firestore===e._firestore&&t._key.isEqual(e._key)&&(t._document===null?e._document===null:t._document.isEqual(e._document))&&t._converter===e._converter:t instanceof nw&&e instanceof nw&&t._firestore===e._firestore&&Uet(t.query,e.query)&&t.metadata.isEqual(e.metadata)&&t._snapshot.isEqual(e._snapshot)}/** * @license * Copyright 2020 Google LLC * @@ -6324,7 +6324,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Qet(t){if(yX(t)&&t.explicitOrderBy.length===0)throw new Fo(Yn.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}var CN=function(){};function R4(t){for(var e=[],n=1;n, or >=) must be on the same field. But you have inequality filters on '"+v.toString()+"' and '"+P.field.toString()+"'");var T=m2e(C);T!==null&&ett(C,P.field,T)}var y=function(S,x){for(var R=0,H=S.filters;R=0)return D.op}return null}(C,function(S){switch(S){case"!=":return["!=","not-in"];case"array-contains":return["array-contains","array-contains-any","not-in"];case"in":return["array-contains-any","in","not-in"];case"array-contains-any":return["array-contains","array-contains-any","in","not-in"];case"not-in":return["array-contains","array-contains-any","in","not-in","!="];default:return[]}}(P.op));if(y!==null)throw y===P.op?new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You cannot use more than one '"+P.op.toString()+"' filter."):new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You cannot use '"+P.op.toString()+"' filters with '"+y.toString()+"' filters.")}(r,b),b}(n._query,0,o,n.firestore._databaseId,this.jc,this.Wc,this.Gc);return new bg(n.firestore,n.converter,function(r,a){var l=r.filters.concat([a]);return new gA(r.path,r.collectionGroup,r.explicitOrderBy.slice(),l,r.limit,r.limitType,r.startAt,r.endAt)}(n._query,i))},e}(CN),KBn=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).jc=n,i.zc=o,i.type="orderBy",i}return Ti(e,t),e.prototype._apply=function(n){var o=function(i,r,a){if(i.startAt!==null)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(i.endAt!==null)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");var l=new SC(r,a);return function(s,c){if(m2e(s)===null){var u=y2e(s);u!==null&&ett(s,u,c.field)}}(i,l),l}(n._query,this.jc,this.zc);return new bg(n.firestore,n.converter,function(i,r){var a=i.explicitOrderBy.concat([r]);return new gA(i.path,i.collectionGroup,a,i.filters.slice(),i.limit,i.limitType,i.startAt,i.endAt)}(n._query,o))},e}(CN),YPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Hc=o,r.Jc=i,r}return Ti(e,t),e.prototype._apply=function(n){return new bg(n.firestore,n.converter,CZe(n._query,this.Hc,this.Jc))},e}(CN),OPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=Zet(n,this.type,this.Yc,this.Xc);return new bg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,r,i.endAt)}(n._query,o))},e}(CN),_Pe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=Zet(n,this.type,this.Yc,this.Xc);return new bg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,i.startAt,r)}(n._query,o))},e}(CN);function Zet(t,e,n,o){if(n[0]=va(n[0]),n[0]instanceof wF)return function(r,a,l,s,c){if(!s)throw new Fo(Yn.NOT_FOUND,"Can't use a DocumentSnapshot that doesn't exist for "+l+"().");for(var u=[],d=0,f=SR(r);dd.length)throw new Fo(Yn.INVALID_ARGUMENT,"Too many arguments provided to "+s+"(). The number of arguments must be less than or equal to the number of orderBy() clauses");for(var f=[],p=0;p10)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid Query. '"+e.toString()+"' filters support a maximum of 10 elements in the value array.")}function ett(t,e,n){if(!n.isEqual(e))throw new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '"+e.toString()+"' and so you must also use '"+e.toString()+"' as your first argument to orderBy(), but your first orderBy() is on field '"+n.toString()+"' instead.")}/** + */function qet(t){if(yX(t)&&t.explicitOrderBy.length===0)throw new Fo(Yn.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}var CN=function(){};function R4(t){for(var e=[],n=1;n, or >=) must be on the same field. But you have inequality filters on '"+v.toString()+"' and '"+P.field.toString()+"'");var T=m2e(C);T!==null&&Qet(C,P.field,T)}var y=function(S,x){for(var R=0,H=S.filters;R=0)return D.op}return null}(C,function(S){switch(S){case"!=":return["!=","not-in"];case"array-contains":return["array-contains","array-contains-any","not-in"];case"in":return["array-contains-any","in","not-in"];case"array-contains-any":return["array-contains","array-contains-any","in","not-in"];case"not-in":return["array-contains","array-contains-any","in","not-in","!="];default:return[]}}(P.op));if(y!==null)throw y===P.op?new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You cannot use more than one '"+P.op.toString()+"' filter."):new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You cannot use '"+P.op.toString()+"' filters with '"+y.toString()+"' filters.")}(r,b),b}(n._query,0,o,n.firestore._databaseId,this.jc,this.Wc,this.Gc);return new bg(n.firestore,n.converter,function(r,a){var l=r.filters.concat([a]);return new gA(r.path,r.collectionGroup,r.explicitOrderBy.slice(),l,r.limit,r.limitType,r.startAt,r.endAt)}(n._query,i))},e}(CN),XBn=function(t){function e(n,o){var i=this;return(i=t.call(this)||this).jc=n,i.zc=o,i.type="orderBy",i}return Ti(e,t),e.prototype._apply=function(n){var o=function(i,r,a){if(i.startAt!==null)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(i.endAt!==null)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");var l=new SC(r,a);return function(s,c){if(m2e(s)===null){var u=y2e(s);u!==null&&Qet(s,u,c.field)}}(i,l),l}(n._query,this.jc,this.zc);return new bg(n.firestore,n.converter,function(i,r){var a=i.explicitOrderBy.concat([r]);return new gA(i.path,i.collectionGroup,a,i.filters.slice(),i.limit,i.limitType,i.startAt,i.endAt)}(n._query,o))},e}(CN),YPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Hc=o,r.Jc=i,r}return Ti(e,t),e.prototype._apply=function(n){return new bg(n.firestore,n.converter,TZe(n._query,this.Hc,this.Jc))},e}(CN),OPe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=$et(n,this.type,this.Yc,this.Xc);return new bg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,r,i.endAt)}(n._query,o))},e}(CN),_Pe=function(t){function e(n,o,i){var r=this;return(r=t.call(this)||this).type=n,r.Yc=o,r.Xc=i,r}return Ti(e,t),e.prototype._apply=function(n){var o=$et(n,this.type,this.Yc,this.Xc);return new bg(n.firestore,n.converter,function(i,r){return new gA(i.path,i.collectionGroup,i.explicitOrderBy.slice(),i.filters.slice(),i.limit,i.limitType,i.startAt,r)}(n._query,o))},e}(CN);function $et(t,e,n,o){if(n[0]=va(n[0]),n[0]instanceof wF)return function(r,a,l,s,c){if(!s)throw new Fo(Yn.NOT_FOUND,"Can't use a DocumentSnapshot that doesn't exist for "+l+"().");for(var u=[],d=0,f=SR(r);dd.length)throw new Fo(Yn.INVALID_ARGUMENT,"Too many arguments provided to "+s+"(). The number of arguments must be less than or equal to the number of orderBy() clauses");for(var f=[],p=0;p10)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid Query. '"+e.toString()+"' filters support a maximum of 10 elements in the value array.")}function Qet(t,e,n){if(!n.isEqual(e))throw new Fo(Yn.INVALID_ARGUMENT,"Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '"+e.toString()+"' and so you must also use '"+e.toString()+"' as your first argument to orderBy(), but your first orderBy() is on field '"+n.toString()+"' instead.")}/** * @license * Copyright 2020 Google LLC * @@ -6339,7 +6339,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var $2e=function(){function t(){}return t.prototype.convertValue=function(e,n){switch(n===void 0&&(n="none"),Zx(e)){case 0:return null;case 1:return e.booleanValue;case 2:return tu(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,n);case 5:return e.stringValue;case 6:return this.convertBytes(xR(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,n);case 10:return this.convertObject(e.mapValue,n);default:throw or()}},t.prototype.convertObject=function(e,n){var o=this,i={};return Nb(e.fields,function(r,a){i[r]=o.convertValue(a,n)}),i},t.prototype.convertGeoPoint=function(e){return new dZ(tu(e.latitude),tu(e.longitude))},t.prototype.convertArray=function(e,n){var o=this;return(e.values||[]).map(function(i){return o.convertValue(i,n)})},t.prototype.convertServerTimestamp=function(e,n){switch(n){case"previous":var o=xZe(e);return o==null?null:this.convertValue(o,n);case"estimate":return this.convertTimestamp(dF(e));default:return null}},t.prototype.convertTimestamp=function(e){var n=u7(e);return new Jp(n.seconds,n.nanos)},t.prototype.convertDocumentKey=function(e,n){var o=Ul.fromString(e);Nr(KZe(o));var i=new PX(o.get(1),o.get(3)),r=new sr(o.popFirst(5));return i.isEqual(n)||lu("Document "+r+" contains a document reference within a different database ("+i.projectId+"/"+i.database+") which is not supported. It will be treated as a reference in the current database ("+n.projectId+"/"+n.database+") instead."),r},t}();/** + */var $2e=function(){function t(){}return t.prototype.convertValue=function(e,n){switch(n===void 0&&(n="none"),Zx(e)){case 0:return null;case 1:return e.booleanValue;case 2:return tu(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,n);case 5:return e.stringValue;case 6:return this.convertBytes(xR(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,n);case 10:return this.convertObject(e.mapValue,n);default:throw or()}},t.prototype.convertObject=function(e,n){var o=this,i={};return Nb(e.fields,function(r,a){i[r]=o.convertValue(a,n)}),i},t.prototype.convertGeoPoint=function(e){return new dZ(tu(e.latitude),tu(e.longitude))},t.prototype.convertArray=function(e,n){var o=this;return(e.values||[]).map(function(i){return o.convertValue(i,n)})},t.prototype.convertServerTimestamp=function(e,n){switch(n){case"previous":var o=wZe(e);return o==null?null:this.convertValue(o,n);case"estimate":return this.convertTimestamp(dF(e));default:return null}},t.prototype.convertTimestamp=function(e){var n=u7(e);return new Jp(n.seconds,n.nanos)},t.prototype.convertDocumentKey=function(e,n){var o=Ul.fromString(e);Nr(XZe(o));var i=new PX(o.get(1),o.get(3)),r=new sr(o.popFirst(5));return i.isEqual(n)||lu("Document "+r+" contains a document reference within a different database ("+i.projectId+"/"+i.database+") which is not supported. It will be treated as a reference in the current database ("+n.projectId+"/"+n.database+") instead."),r},t}();/** * @license * Copyright 2020 Google LLC * @@ -6354,7 +6354,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function hZ(t,e,n){return t?n&&(n.merge||n.mergeFields)?t.toFirestore(e,n):t.toFirestore(e):e}var qBn=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new nb(n)},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return new e0(this.firestore,null,o)},e}($2e),$Bn=function(){function t(e,n){this._firestore=e,this._commitHandler=n,this._mutations=[],this._committed=!1,this._dataReader=Ob(e)}return t.prototype.set=function(e,n,o){this._verifyNotCommitted();var i=ow(e,this._firestore),r=hZ(i.converter,n,o),a=fZ(this._dataReader,"WriteBatch.set",i._key,r,i.converter!==null,o);return this._mutations.push(a.toMutation(i._key,sh.none())),this},t.prototype.update=function(e,n,o){for(var i=[],r=3;r0?this._commitHandler(this._mutations):Promise.resolve()},t.prototype._verifyNotCommitted=function(){if(this._committed)throw new Fo(Yn.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")},t}();/** + */function hZ(t,e,n){return t?n&&(n.merge||n.mergeFields)?t.toFirestore(e,n):t.toFirestore(e):e}var JBn=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new nb(n)},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return new e0(this.firestore,null,o)},e}($2e),KBn=function(){function t(e,n){this._firestore=e,this._commitHandler=n,this._mutations=[],this._committed=!1,this._dataReader=Ob(e)}return t.prototype.set=function(e,n,o){this._verifyNotCommitted();var i=ow(e,this._firestore),r=hZ(i.converter,n,o),a=fZ(this._dataReader,"WriteBatch.set",i._key,r,i.converter!==null,o);return this._mutations.push(a.toMutation(i._key,sh.none())),this},t.prototype.update=function(e,n,o){for(var i=[],r=3;r0?this._commitHandler(this._mutations):Promise.resolve()},t.prototype._verifyNotCommitted=function(){if(this._committed)throw new Fo(Yn.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")},t}();/** * @license * Copyright 2020 Google LLC * @@ -6384,7 +6384,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vx=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new nb(n)},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return new e0(this.firestore,null,o)},e}($2e);function XPe(t,e,n){t=$l(t,e0);var o=$l(t.firestore,Fu),i=hZ(t.converter,e,n);return RN(o,[fZ(Ob(o),"setDoc",t._key,i,t.converter!==null,n).toMutation(t._key,sh.none())])}function JPe(t,e,n){for(var o=[],i=3;i"u")throw new Fo(Yn.UNIMPLEMENTED,"Uint8Arrays are not available in this environment.")}function qPe(){if(typeof atob>"u")throw new Fo(Yn.UNIMPLEMENTED,"Blobs are unavailable in Firestore in this environment.")}var ntt=function(){function t(e){this._delegate=e}return t.fromBase64String=function(e){return qPe(),new t(nb.fromBase64String(e))},t.fromUint8Array=function(e){return KPe(),new t(nb.fromUint8Array(e))},t.prototype.toBase64=function(){return qPe(),this._delegate.toBase64()},t.prototype.toUint8Array=function(){return KPe(),this._delegate.toUint8Array()},t.prototype.isEqual=function(e){return this._delegate.isEqual(e._delegate)},t.prototype.toString=function(){return"Blob(base64: "+this.toBase64()+")"},t}(),ZBn=function(){function t(){}return t.prototype.enableIndexedDbPersistence=function(e,n){return function(o,i){jPe(o=$l(o,Fu));var r=ih(o),a=o._freezeSettings(),l=new wde;return BPe(r,l,new Det(l,a.cacheSizeBytes,i==null?void 0:i.forceOwnership))}(e._delegate,{forceOwnership:n})},t.prototype.enableMultiTabIndexedDbPersistence=function(e){return function(n){jPe(n=$l(n,Fu));var o=ih(n),i=n._freezeSettings(),r=new wde;return BPe(o,r,new RBn(r,i.cacheSizeBytes))}(e._delegate)},t.prototype.clearIndexedDbPersistence=function(e){return function(n){var o=this;if(n._initialized&&!n._terminated)throw new Fo(Yn.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");var i=new e1;return n._queue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,function(l){return Ao(this,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return HR.yt()?(s=l+"main",[4,HR.delete(s)]):[2,Promise.resolve()];case 1:return c.sent(),[2]}})})}(R2e(n._databaseId,n._persistenceKey))];case 1:return a.sent(),i.resolve(),[3,3];case 2:return r=a.sent(),i.reject(r),[3,3];case 3:return[2]}})})}),i.promise}(e._delegate)},t}(),ott=function(){function t(e,n,o){var i=this;this._delegate=n,this.Zc=o,this.INTERNAL={delete:function(){return i.terminate()}},e instanceof PX||(this.tu=e)}return Object.defineProperty(t.prototype,"_databaseId",{get:function(){return this._delegate._databaseId},enumerable:!1,configurable:!0}),t.prototype.settings=function(e){var n=this._delegate._getSettings();e.merge||n.host===e.host||fX("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e=Object.assign(Object.assign({},n),e)).merge,this._delegate._setSettings(e)},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),function(i,r,a,l){var s;l===void 0&&(l={});var c=(i=$l(i,AF))._getSettings();if(c.host!=="firestore.googleapis.com"&&c.host!==r&&fX("Host has been set in both settings() and useEmulator(), emulator host will be used"),i._setSettings(Object.assign(Object.assign({},c),{host:r+":"+a,ssl:!1})),l.mockUserToken){var u,d;if(typeof l.mockUserToken=="string")u=l.mockUserToken,d=ef.MOCK_USER;else{u=Wye(l.mockUserToken,(s=i._app)===null||s===void 0?void 0:s.options.projectId);var f=l.mockUserToken.sub||l.mockUserToken.user_id;if(!f)throw new Fo(Yn.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");d=new ef(f)}i._credentials=new DBn(new Wet(u,d))}}(this._delegate,e,n,o)},t.prototype.enableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,IPe(e)];case 1:return o=r.sent(),[4,zPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!0),function(a){var l=Ri(a);return l.Or.delete(0),PN(l)}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.disableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,IPe(e)];case 1:return o=r.sent(),[4,zPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!1),function(a){return Ao(this,void 0,void 0,function(){var l;return ho(this,function(s){switch(s.label){case 0:return(l=Ri(a)).Or.add(0),[4,KH(l)];case 1:return s.sent(),l.Br.set("Offline"),[2]}})})}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.enablePersistence=function(e){var n=!1,o=!1;return e&&Net("synchronizeTabs",n=!!e.synchronizeTabs,"experimentalForceOwningTab",o=!!e.experimentalForceOwningTab),n?this.Zc.enableMultiTabIndexedDbPersistence(this):this.Zc.enableIndexedDbPersistence(this,o)},t.prototype.clearPersistence=function(){return this.Zc.clearIndexedDbPersistence(this)},t.prototype.terminate=function(){return this.tu&&(this.tu._removeServiceInstance("firestore"),this.tu._removeServiceInstance("firestore-exp")),this._delegate._delete()},t.prototype.waitForPendingWrites=function(){return function(e){var n=this,o=new e1;return e.asyncQueue.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){var i;return ho(this,function(r){switch(r.label){case 0:return i=mBn,[4,Let(e)];case 1:return[2,i.apply(void 0,[r.sent(),o])]}})})}),o.promise}(ih($l(this._delegate,Fu)))},t.prototype.onSnapshotsInSync=function(e){return function(n,o){return function(i,r){var a=this,l=new sZ(r);return i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.add(d),d.next()},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})}),function(){l.Wo(),i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.delete(d)},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})})}}(ih(n=$l(n,Fu)),kR(o)?o:{next:o})}(this._delegate,e)},Object.defineProperty(t.prototype,"app",{get:function(){if(!this.tu)throw new Fo(Yn.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this.tu},enumerable:!1,configurable:!0}),t.prototype.collection=function(e){try{return new HX(this,Uet(this._delegate,e))}catch(n){throw Gh(n,"collection()","Firestore.collection()")}},t.prototype.doc=function(e){try{return new xx(this,eV(this._delegate,e))}catch(n){throw Gh(n,"doc()","Firestore.doc()")}},t.prototype.collectionGroup=function(e){try{return new mZ(this,function(n,o){if(n=$l(n,AF),_2e("collectionGroup","collection id",o),o.indexOf("/")>=0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid collection ID '"+o+"' passed to function collectionGroup(). Collection IDs must not contain '/'.");return new bg(n,null,function(i){return new gA(Ul.emptyPath(),i)}(o))}(this._delegate,e))}catch(n){throw Gh(n,"collectionGroup()","Firestore.collectionGroup()")}},t.prototype.runTransaction=function(e){var n=this;return function(o,i){return function(r,a){var l=this,s=new e1;return r.asyncQueue.enqueueAndForget(function(){return Ao(l,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return[4,function(d){return cZ(d).then(function(f){return f.datastore})}(r)];case 1:return c=u.sent(),new MBn(r.asyncQueue,c,a,s).run(),[2]}})})}),s.promise}(ih(o),function(r){return i(new QBn(o,r))})}(this._delegate,function(o){return e(new itt(n,o))})},t.prototype.batch=function(){var e=this;return ih(this._delegate),new rtt(new $Bn(this._delegate,function(n){return RN(e._delegate,n)}))},t.prototype.loadBundle=function(e){throw new Fo(Yn.FAILED_PRECONDITION,'"loadBundle()" does not exist, have you imported "firebase/firestore/bundle"?')},t.prototype.namedQuery=function(e){throw new Fo(Yn.FAILED_PRECONDITION,'"namedQuery()" does not exist, have you imported "firebase/firestore/bundle"?')},t}(),pZ=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new ntt(new nb(n))},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return xx.eu(o,this.firestore,null)},e}($2e);function ejn(t){var e;e=t,z2.setLogLevel(e)}var itt=function(){function t(e,n){this._firestore=e,this._delegate=n,this._userDataWriter=new pZ(e)}return t.prototype.get=function(e){var n=this,o=_v(e);return this._delegate.get(o).then(function(i){return new vF(n._firestore,new I6(n._firestore._delegate,n._userDataWriter,i._key,i._document,i.metadata,o.converter))})},t.prototype.set=function(e,n,o){var i=_v(e);return o?(V2e("Transaction.set",o),this._delegate.set(i,n,o)):this._delegate.set(i,n),this},t.prototype.update=function(e,n,o){for(var i,r=[],a=3;a"u")throw new Fo(Yn.UNIMPLEMENTED,"Uint8Arrays are not available in this environment.")}function qPe(){if(typeof atob>"u")throw new Fo(Yn.UNIMPLEMENTED,"Blobs are unavailable in Firestore in this environment.")}var ett=function(){function t(e){this._delegate=e}return t.fromBase64String=function(e){return qPe(),new t(nb.fromBase64String(e))},t.fromUint8Array=function(e){return KPe(),new t(nb.fromUint8Array(e))},t.prototype.toBase64=function(){return qPe(),this._delegate.toBase64()},t.prototype.toUint8Array=function(){return KPe(),this._delegate.toUint8Array()},t.prototype.isEqual=function(e){return this._delegate.isEqual(e._delegate)},t.prototype.toString=function(){return"Blob(base64: "+this.toBase64()+")"},t}(),$Bn=function(){function t(){}return t.prototype.enableIndexedDbPersistence=function(e,n){return function(o,i){jPe(o=$l(o,Fu));var r=ih(o),a=o._freezeSettings(),l=new wde;return BPe(r,l,new Iet(l,a.cacheSizeBytes,i==null?void 0:i.forceOwnership))}(e._delegate,{forceOwnership:n})},t.prototype.enableMultiTabIndexedDbPersistence=function(e){return function(n){jPe(n=$l(n,Fu));var o=ih(n),i=n._freezeSettings(),r=new wde;return BPe(o,r,new PBn(r,i.cacheSizeBytes))}(e._delegate)},t.prototype.clearIndexedDbPersistence=function(e){return function(n){var o=this;if(n._initialized&&!n._terminated)throw new Fo(Yn.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");var i=new e1;return n._queue.enqueueAndForgetEvenWhileRestricted(function(){return Ao(o,void 0,void 0,function(){var r;return ho(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,function(l){return Ao(this,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return HR.yt()?(s=l+"main",[4,HR.delete(s)]):[2,Promise.resolve()];case 1:return c.sent(),[2]}})})}(R2e(n._databaseId,n._persistenceKey))];case 1:return a.sent(),i.resolve(),[3,3];case 2:return r=a.sent(),i.reject(r),[3,3];case 3:return[2]}})})}),i.promise}(e._delegate)},t}(),ttt=function(){function t(e,n,o){var i=this;this._delegate=n,this.Zc=o,this.INTERNAL={delete:function(){return i.terminate()}},e instanceof PX||(this.tu=e)}return Object.defineProperty(t.prototype,"_databaseId",{get:function(){return this._delegate._databaseId},enumerable:!1,configurable:!0}),t.prototype.settings=function(e){var n=this._delegate._getSettings();e.merge||n.host===e.host||fX("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e=Object.assign(Object.assign({},n),e)).merge,this._delegate._setSettings(e)},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),function(i,r,a,l){var s;l===void 0&&(l={});var c=(i=$l(i,AF))._getSettings();if(c.host!=="firestore.googleapis.com"&&c.host!==r&&fX("Host has been set in both settings() and useEmulator(), emulator host will be used"),i._setSettings(Object.assign(Object.assign({},c),{host:r+":"+a,ssl:!1})),l.mockUserToken){var u,d;if(typeof l.mockUserToken=="string")u=l.mockUserToken,d=ef.MOCK_USER;else{u=Wye(l.mockUserToken,(s=i._app)===null||s===void 0?void 0:s.options.projectId);var f=l.mockUserToken.sub||l.mockUserToken.user_id;if(!f)throw new Fo(Yn.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");d=new ef(f)}i._credentials=new IBn(new Fet(u,d))}}(this._delegate,e,n,o)},t.prototype.enableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,IPe(e)];case 1:return o=r.sent(),[4,zPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!0),function(a){var l=Ri(a);return l.Or.delete(0),PN(l)}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.disableNetwork=function(){return function(e){var n=this;return e.asyncQueue.enqueue(function(){return Ao(n,void 0,void 0,function(){var o,i;return ho(this,function(r){switch(r.label){case 0:return[4,IPe(e)];case 1:return o=r.sent(),[4,zPe(e)];case 2:return i=r.sent(),[2,(o.setNetworkEnabled(!1),function(a){return Ao(this,void 0,void 0,function(){var l;return ho(this,function(s){switch(s.label){case 0:return(l=Ri(a)).Or.add(0),[4,KH(l)];case 1:return s.sent(),l.Br.set("Offline"),[2]}})})}(i))]}})})})}(ih($l(this._delegate,Fu)))},t.prototype.enablePersistence=function(e){var n=!1,o=!1;return e&&Let("synchronizeTabs",n=!!e.synchronizeTabs,"experimentalForceOwningTab",o=!!e.experimentalForceOwningTab),n?this.Zc.enableMultiTabIndexedDbPersistence(this):this.Zc.enableIndexedDbPersistence(this,o)},t.prototype.clearPersistence=function(){return this.Zc.clearIndexedDbPersistence(this)},t.prototype.terminate=function(){return this.tu&&(this.tu._removeServiceInstance("firestore"),this.tu._removeServiceInstance("firestore-exp")),this._delegate._delete()},t.prototype.waitForPendingWrites=function(){return function(e){var n=this,o=new e1;return e.asyncQueue.enqueueAndForget(function(){return Ao(n,void 0,void 0,function(){var i;return ho(this,function(r){switch(r.label){case 0:return i=pBn,[4,ket(e)];case 1:return[2,i.apply(void 0,[r.sent(),o])]}})})}),o.promise}(ih($l(this._delegate,Fu)))},t.prototype.onSnapshotsInSync=function(e){return function(n,o){return function(i,r){var a=this,l=new sZ(r);return i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.add(d),d.next()},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})}),function(){l.Wo(),i.asyncQueue.enqueueAndForget(function(){return Ao(a,void 0,void 0,function(){var s;return ho(this,function(c){switch(c.label){case 0:return s=function(u,d){Ri(u).Gr.delete(d)},[4,ER(i)];case 1:return[2,s.apply(void 0,[c.sent(),l])]}})})})}}(ih(n=$l(n,Fu)),kR(o)?o:{next:o})}(this._delegate,e)},Object.defineProperty(t.prototype,"app",{get:function(){if(!this.tu)throw new Fo(Yn.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this.tu},enumerable:!1,configurable:!0}),t.prototype.collection=function(e){try{return new HX(this,Wet(this._delegate,e))}catch(n){throw Gh(n,"collection()","Firestore.collection()")}},t.prototype.doc=function(e){try{return new xx(this,eV(this._delegate,e))}catch(n){throw Gh(n,"doc()","Firestore.doc()")}},t.prototype.collectionGroup=function(e){try{return new mZ(this,function(n,o){if(n=$l(n,AF),_2e("collectionGroup","collection id",o),o.indexOf("/")>=0)throw new Fo(Yn.INVALID_ARGUMENT,"Invalid collection ID '"+o+"' passed to function collectionGroup(). Collection IDs must not contain '/'.");return new bg(n,null,function(i){return new gA(Ul.emptyPath(),i)}(o))}(this._delegate,e))}catch(n){throw Gh(n,"collectionGroup()","Firestore.collectionGroup()")}},t.prototype.runTransaction=function(e){var n=this;return function(o,i){return function(r,a){var l=this,s=new e1;return r.asyncQueue.enqueueAndForget(function(){return Ao(l,void 0,void 0,function(){var c;return ho(this,function(u){switch(u.label){case 0:return[4,function(d){return cZ(d).then(function(f){return f.datastore})}(r)];case 1:return c=u.sent(),new RBn(r.asyncQueue,c,a,s).run(),[2]}})})}),s.promise}(ih(o),function(r){return i(new qBn(o,r))})}(this._delegate,function(o){return e(new ntt(n,o))})},t.prototype.batch=function(){var e=this;return ih(this._delegate),new ott(new KBn(this._delegate,function(n){return RN(e._delegate,n)}))},t.prototype.loadBundle=function(e){throw new Fo(Yn.FAILED_PRECONDITION,'"loadBundle()" does not exist, have you imported "firebase/firestore/bundle"?')},t.prototype.namedQuery=function(e){throw new Fo(Yn.FAILED_PRECONDITION,'"namedQuery()" does not exist, have you imported "firebase/firestore/bundle"?')},t}(),pZ=function(t){function e(n){var o=this;return(o=t.call(this)||this).firestore=n,o}return Ti(e,t),e.prototype.convertBytes=function(n){return new ett(new nb(n))},e.prototype.convertReference=function(n){var o=this.convertDocumentKey(n,this.firestore._databaseId);return xx.eu(o,this.firestore,null)},e}($2e);function QBn(t){var e;e=t,z2.setLogLevel(e)}var ntt=function(){function t(e,n){this._firestore=e,this._delegate=n,this._userDataWriter=new pZ(e)}return t.prototype.get=function(e){var n=this,o=_v(e);return this._delegate.get(o).then(function(i){return new vF(n._firestore,new I6(n._firestore._delegate,n._userDataWriter,i._key,i._document,i.metadata,o.converter))})},t.prototype.set=function(e,n,o){var i=_v(e);return o?(V2e("Transaction.set",o),this._delegate.set(i,n,o)):this._delegate.set(i,n),this},t.prototype.update=function(e,n,o){for(var i,r=[],a=3;a>6,128|o&63);else if((o&64512)===55296){var i=n>18,128|o>>12&63,128|o>>6&63,128|o&63)}}else(o&64512)===56320?e.push(239,191,189):e.push(224|o>>12,128|o>>6&63,128|o&63)}return new Uint8Array(e)}function vjn(t){var e;try{e=decodeURIComponent(t)}catch{throw TE(Fm.DATA_URL,"Malformed data URL.")}return gtt(e)}function mtt(t,e){switch(t){case Fm.BASE64:{var n=e.indexOf("-")!==-1,o=e.indexOf("_")!==-1;if(n||o){var i=n?"-":"_";throw TE(t,"Invalid character '"+i+"' found: is it base64url encoded?")}break}case Fm.BASE64URL:{var r=e.indexOf("+")!==-1,a=e.indexOf("/")!==-1;if(r||a){var i=r?"+":"/";throw TE(t,"Invalid character '"+i+"' found: is it base64 encoded?")}e=e.replace(/-/g,"+").replace(/_/g,"/");break}}var l;try{l=wjn(e)}catch{throw TE(t,"Invalid character found")}for(var s=new Uint8Array(l.length),c=0;c][;base64],");var o=n[1]||null;o!=null&&(this.base64=Sjn(o,";base64"),this.contentType=this.base64?o.substring(0,o.length-7):o),this.rest=e.substring(e.indexOf(",")+1)}return t}();function xjn(t){var e=new ytt(t);return e.base64?mtt(Fm.BASE64,e.rest):vjn(e.rest)}function bjn(t){var e=new ytt(t);return e.contentType}function Sjn(t,e){var n=t.length>=e.length;return n?t.substring(t.length-e.length)===e:!1}/** + */var Fm={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"},Zre=function(){function t(e,n){this.data=e,this.contentType=n||null}return t}();function ftt(t,e){switch(t){case Fm.RAW:return new Zre(htt(e));case Fm.BASE64:case Fm.BASE64URL:return new Zre(ptt(t,e));case Fm.DATA_URL:return new Zre(wjn(e),vjn(e))}throw Q2e()}function htt(t){for(var e=[],n=0;n>6,128|o&63);else if((o&64512)===55296){var i=n>18,128|o>>12&63,128|o>>6&63,128|o&63)}}else(o&64512)===56320?e.push(239,191,189):e.push(224|o>>12,128|o>>6&63,128|o&63)}return new Uint8Array(e)}function Ajn(t){var e;try{e=decodeURIComponent(t)}catch{throw TE(Fm.DATA_URL,"Malformed data URL.")}return htt(e)}function ptt(t,e){switch(t){case Fm.BASE64:{var n=e.indexOf("-")!==-1,o=e.indexOf("_")!==-1;if(n||o){var i=n?"-":"_";throw TE(t,"Invalid character '"+i+"' found: is it base64url encoded?")}break}case Fm.BASE64URL:{var r=e.indexOf("+")!==-1,a=e.indexOf("/")!==-1;if(r||a){var i=r?"+":"/";throw TE(t,"Invalid character '"+i+"' found: is it base64 encoded?")}e=e.replace(/-/g,"+").replace(/_/g,"/");break}}var l;try{l=yjn(e)}catch{throw TE(t,"Invalid character found")}for(var s=new Uint8Array(l.length),c=0;c][;base64],");var o=n[1]||null;o!=null&&(this.base64=xjn(o,";base64"),this.contentType=this.base64?o.substring(0,o.length-7):o),this.rest=e.substring(e.indexOf(",")+1)}return t}();function wjn(t){var e=new gtt(t);return e.base64?ptt(Fm.BASE64,e.rest):Ajn(e.rest)}function vjn(t){var e=new gtt(t);return e.contentType}function xjn(t,e){var n=t.length>=e.length;return n?t.substring(t.length-e.length)===e:!1}/** * @license * Copyright 2017 Google LLC * @@ -6505,7 +6505,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Tjn={STATE_CHANGED:"state_changed"},Xh={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function eae(t){switch(t){case"running":case"pausing":case"canceling":return Xh.RUNNING;case"paused":return Xh.PAUSED;case"success":return Xh.SUCCESS;case"canceled":return Xh.CANCELED;case"error":return Xh.ERROR;default:return Xh.ERROR}}/** + */var bjn={STATE_CHANGED:"state_changed"},Xh={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function eae(t){switch(t){case"running":case"pausing":case"canceling":return Xh.RUNNING;case"paused":return Xh.PAUSED;case"success":return Xh.SUCCESS;case"canceled":return Xh.CANCELED;case"error":return Xh.ERROR;default:return Xh.ERROR}}/** * @license * Copyright 2017 Google LLC * @@ -6535,7 +6535,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Pjn=function(){function t(){var e=this;this.sent_=!1,this.xhr_=new XMLHttpRequest,this.errorCode_=bx.NO_ERROR,this.sendPromise_=new Promise(function(n){e.xhr_.addEventListener("abort",function(){e.errorCode_=bx.ABORT,n()}),e.xhr_.addEventListener("error",function(){e.errorCode_=bx.NETWORK_ERROR,n()}),e.xhr_.addEventListener("load",function(){n()})})}return t.prototype.send=function(e,n,o,i){if(this.sent_)throw yO("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(n,e,!0),i!==void 0)for(var r in i)i.hasOwnProperty(r)&&this.xhr_.setRequestHeader(r,i[r].toString());return o!==void 0?this.xhr_.send(o):this.xhr_.send(),this.sendPromise_},t.prototype.getErrorCode=function(){if(!this.sent_)throw yO("cannot .getErrorCode() before sending");return this.errorCode_},t.prototype.getStatus=function(){if(!this.sent_)throw yO("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}},t.prototype.getResponseText=function(){if(!this.sent_)throw yO("cannot .getResponseText() before sending");return this.xhr_.responseText},t.prototype.abort=function(){this.xhr_.abort()},t.prototype.getResponseHeader=function(e){return this.xhr_.getResponseHeader(e)},t.prototype.addUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)},t.prototype.removeUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)},t}();function Cjn(){return new Pjn}/** + */var Sjn=function(){function t(){var e=this;this.sent_=!1,this.xhr_=new XMLHttpRequest,this.errorCode_=bx.NO_ERROR,this.sendPromise_=new Promise(function(n){e.xhr_.addEventListener("abort",function(){e.errorCode_=bx.ABORT,n()}),e.xhr_.addEventListener("error",function(){e.errorCode_=bx.NETWORK_ERROR,n()}),e.xhr_.addEventListener("load",function(){n()})})}return t.prototype.send=function(e,n,o,i){if(this.sent_)throw yO("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(n,e,!0),i!==void 0)for(var r in i)i.hasOwnProperty(r)&&this.xhr_.setRequestHeader(r,i[r].toString());return o!==void 0?this.xhr_.send(o):this.xhr_.send(),this.sendPromise_},t.prototype.getErrorCode=function(){if(!this.sent_)throw yO("cannot .getErrorCode() before sending");return this.errorCode_},t.prototype.getStatus=function(){if(!this.sent_)throw yO("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}},t.prototype.getResponseText=function(){if(!this.sent_)throw yO("cannot .getResponseText() before sending");return this.xhr_.responseText},t.prototype.abort=function(){this.xhr_.abort()},t.prototype.getResponseHeader=function(e){return this.xhr_.getResponseHeader(e)},t.prototype.addUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)},t.prototype.removeUploadProgressListener=function(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)},t}();function Tjn(){return new Sjn}/** * @license * Copyright 2017 Google LLC * @@ -6550,7 +6550,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Rjn=function(){function t(){}return t.prototype.createConnection=function(){return Cjn()},t}();/** + */var Pjn=function(){function t(){}return t.prototype.createConnection=function(){return Tjn()},t}();/** * @license * Copyright 2017 Google LLC * @@ -6565,7 +6565,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Lm=function(){function t(e,n){this.bucket=e,this.path_=n}return Object.defineProperty(t.prototype,"path",{get:function(){return this.path_},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isRoot",{get:function(){return this.path.length===0},enumerable:!1,configurable:!0}),t.prototype.fullServerUrl=function(){var e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o/"+e(this.path)},t.prototype.bucketOnlyServerUrl=function(){var e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o"},t.makeFromBucketSpec=function(e,n){var o;try{o=t.makeFromUrl(e,n)}catch{return new t(e,"")}if(o.path==="")return o;throw gjn(e)},t.makeFromUrl=function(e,n){var o=null,i="([A-Za-z0-9.\\-_]+)";function r(R){R.path.charAt(R.path.length-1)==="/"&&(R.path_=R.path_.slice(0,-1))}var a="(/(.*))?$",l=new RegExp("^gs://"+i+a,"i"),s={bucket:1,path:3};function c(R){R.path_=decodeURIComponent(R.path)}for(var u="v[A-Za-z0-9_]+",d=n.replace(/[.]/g,"\\."),f="(/([^?#]*).*)?$",p=new RegExp("^https?://"+d+"/"+u+"/b/"+i+"/o"+f,"i"),g={bucket:1,path:3},A=n===stt?"(?:storage.googleapis.com|storage.cloud.google.com)":n,w="([^?#]*)",b=new RegExp("^https?://"+A+"/"+i+"/"+w,"i"),C={bucket:1,path:2},P=[{regex:l,indices:s,postModify:r},{regex:p,indices:g,postModify:c},{regex:b,indices:C,postModify:c}],v=0;vn)throw TC("Invalid value for '"+t+"'. Expected "+n+" or less.")}/** + */function Mjn(t){return t!==void 0}function Ijn(t){return typeof t=="function"}function zjn(t){return typeof t=="object"&&!Array.isArray(t)}function yZ(t){return typeof t=="string"||t instanceof String}function $Pe(t){return Z2e()&&t instanceof Blob}function Z2e(){return typeof Blob<"u"}function Sde(t,e,n,o){if(on)throw TC("Invalid value for '"+t+"'. Expected "+n+" or less.")}/** * @license * Copyright 2017 Google LLC * @@ -6610,7 +6610,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function O7(t,e){var n=e.match(/^(\w+):\/\/.+/),o=n==null?void 0:n[1],i=e;return o==null&&(i="https://"+e),i+"/v0"+t}function Att(t){var e=encodeURIComponent,n="?";for(var o in t)if(t.hasOwnProperty(o)){var i=e(o)+"="+e(t[o]);n=n+i+"&"}return n=n.slice(0,-1),n}/** + */function O7(t,e){var n=e.match(/^(\w+):\/\/.+/),o=n==null?void 0:n[1],i=e;return o==null&&(i="https://"+e),i+"/v0"+t}function mtt(t){var e=encodeURIComponent,n="?";for(var o in t)if(t.hasOwnProperty(o)){var i=e(o)+"="+e(t[o]);n=n+i+"&"}return n=n.slice(0,-1),n}/** * @license * Copyright 2017 Google LLC * @@ -6625,7 +6625,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var kjn=function(){function t(e,n,o,i,r,a,l,s,c,u,d){var f=this;this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.url_=e,this.method_=n,this.headers_=o,this.body_=i,this.successCodes_=r.slice(),this.additionalRetryCodes_=a.slice(),this.callback_=l,this.errorCallback_=s,this.progressCallback_=u,this.timeout_=c,this.pool_=d,this.promise_=new Promise(function(p,g){f.resolve_=p,f.reject_=g,f.start_()})}return t.prototype.start_=function(){var e=this;function n(i,r){if(r){i(!1,new AO(!1,null,!0));return}var a=e.pool_.createConnection();e.pendingConnection_=a;function l(s){var c=s.loaded,u=s.lengthComputable?s.total:-1;e.progressCallback_!==null&&e.progressCallback_(c,u)}e.progressCallback_!==null&&a.addUploadProgressListener(l),a.send(e.url_,e.method_,e.body_,e.headers_).then(function(){e.progressCallback_!==null&&a.removeUploadProgressListener(l),e.pendingConnection_=null;var s=a.getErrorCode()===bx.NO_ERROR,c=a.getStatus();if(!s||e.isRetryStatusCode_(c)){var u=a.getErrorCode()===bx.ABORT;i(!1,new AO(!1,null,u));return}var d=e.successCodes_.indexOf(c)!==-1;i(!0,new AO(d,a))})}function o(i,r){var a=e.resolve_,l=e.reject_,s=r.connection;if(r.wasSuccessCode)try{var c=e.callback_(s,s.getResponseText());zjn(c)?a(c):a()}catch(d){l(d)}else if(s!==null){var u=Q2e();u.serverResponse=s.getResponseText(),e.errorCallback_?l(e.errorCallback_(s,u)):l(u)}else if(r.canceled){var u=e.appDelete_?ftt():utt();l(u)}else{var u=hjn();l(u)}}this.canceled_?o(!1,new AO(!1,null,!0)):this.backoffId_=Mjn(n,o,this.timeout_)},t.prototype.getPromise=function(){return this.promise_},t.prototype.cancel=function(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&Ijn(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()},t.prototype.isRetryStatusCode_=function(e){var n=e>=500&&e<600,o=[408,429],i=o.indexOf(e)!==-1,r=this.additionalRetryCodes_.indexOf(e)!==-1;return n||i||r},t}(),AO=function(){function t(e,n,o){this.wasSuccessCode=e,this.connection=n,this.canceled=!!o}return t}();function Fjn(t,e){e!==null&&e.length>0&&(t.Authorization="Firebase "+e)}function Ljn(t,e){t["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function Wjn(t,e){e&&(t["X-Firebase-GMPID"]=e)}function Njn(t,e){e!==null&&(t["X-Firebase-AppCheck"]=e)}function Ujn(t,e,n,o,i,r){var a=Att(t.urlParams),l=t.url+a,s=Object.assign({},t.headers);return Wjn(s,e),Fjn(s,n),Ljn(s,r),Njn(s,o),new kjn(l,t.method,s,t.body,t.successCodes,t.additionalRetryCodes,t.handler,t.errorHandler,t.timeout,t.progressCallback,i)}/** + */var Djn=function(){function t(e,n,o,i,r,a,l,s,c,u,d){var f=this;this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.url_=e,this.method_=n,this.headers_=o,this.body_=i,this.successCodes_=r.slice(),this.additionalRetryCodes_=a.slice(),this.callback_=l,this.errorCallback_=s,this.progressCallback_=u,this.timeout_=c,this.pool_=d,this.promise_=new Promise(function(p,g){f.resolve_=p,f.reject_=g,f.start_()})}return t.prototype.start_=function(){var e=this;function n(i,r){if(r){i(!1,new AO(!1,null,!0));return}var a=e.pool_.createConnection();e.pendingConnection_=a;function l(s){var c=s.loaded,u=s.lengthComputable?s.total:-1;e.progressCallback_!==null&&e.progressCallback_(c,u)}e.progressCallback_!==null&&a.addUploadProgressListener(l),a.send(e.url_,e.method_,e.body_,e.headers_).then(function(){e.progressCallback_!==null&&a.removeUploadProgressListener(l),e.pendingConnection_=null;var s=a.getErrorCode()===bx.NO_ERROR,c=a.getStatus();if(!s||e.isRetryStatusCode_(c)){var u=a.getErrorCode()===bx.ABORT;i(!1,new AO(!1,null,u));return}var d=e.successCodes_.indexOf(c)!==-1;i(!0,new AO(d,a))})}function o(i,r){var a=e.resolve_,l=e.reject_,s=r.connection;if(r.wasSuccessCode)try{var c=e.callback_(s,s.getResponseText());Mjn(c)?a(c):a()}catch(d){l(d)}else if(s!==null){var u=Q2e();u.serverResponse=s.getResponseText(),e.errorCallback_?l(e.errorCallback_(s,u)):l(u)}else if(r.canceled){var u=e.appDelete_?utt():stt();l(u)}else{var u=djn();l(u)}}this.canceled_?o(!1,new AO(!1,null,!0)):this.backoffId_=Rjn(n,o,this.timeout_)},t.prototype.getPromise=function(){return this.promise_},t.prototype.cancel=function(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&Hjn(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()},t.prototype.isRetryStatusCode_=function(e){var n=e>=500&&e<600,o=[408,429],i=o.indexOf(e)!==-1,r=this.additionalRetryCodes_.indexOf(e)!==-1;return n||i||r},t}(),AO=function(){function t(e,n,o){this.wasSuccessCode=e,this.connection=n,this.canceled=!!o}return t}();function Ejn(t,e){e!==null&&e.length>0&&(t.Authorization="Firebase "+e)}function kjn(t,e){t["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function Fjn(t,e){e&&(t["X-Firebase-GMPID"]=e)}function Ljn(t,e){e!==null&&(t["X-Firebase-AppCheck"]=e)}function Wjn(t,e,n,o,i,r){var a=mtt(t.urlParams),l=t.url+a,s=Object.assign({},t.headers);return Fjn(s,e),Ejn(s,n),kjn(s,r),Ljn(s,o),new Djn(l,t.method,s,t.body,t.successCodes,t.additionalRetryCodes,t.handler,t.errorHandler,t.timeout,t.progressCallback,i)}/** * @license * Copyright 2017 Google LLC * @@ -6640,7 +6640,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Bjn(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}function jjn(){for(var t=[],e=0;e0}).join("/");return t.length===0?n:t+"/"+n}function wtt(t){var e=t.lastIndexOf("/",t.length-2);return e===-1?t:t.slice(e+1)}/** + */function jjn(t){if(t.length===0)return null;var e=t.lastIndexOf("/");if(e===-1)return"";var n=t.slice(0,e);return n}function Yjn(t,e){var n=e.split("/").filter(function(o){return o.length>0}).join("/");return t.length===0?n:t+"/"+n}function ytt(t){var e=t.lastIndexOf("/",t.length-2);return e===-1?t:t.slice(e+1)}/** * @license * Copyright 2017 Google LLC * @@ -6700,7 +6700,7 @@ This typically indicates that your device does not have a healthy Internet conne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Vjn(t,e){return e}var Wh=function(){function t(e,n,o,i){this.server=e,this.local=n||e,this.writable=!!o,this.xform=i||Vjn}return t}(),wO=null;function Gjn(t){return!yZ(t)||t.length<2?t:wtt(t)}function AZ(){if(wO)return wO;var t=[];t.push(new Wh("bucket")),t.push(new Wh("generation")),t.push(new Wh("metageneration")),t.push(new Wh("name","fullPath",!0));function e(r,a){return Gjn(a)}var n=new Wh("name");n.xform=e,t.push(n);function o(r,a){return a!==void 0?Number(a):a}var i=new Wh("size");return i.xform=o,t.push(i),t.push(new Wh("timeCreated")),t.push(new Wh("updated")),t.push(new Wh("md5Hash",null,!0)),t.push(new Wh("cacheControl",null,!0)),t.push(new Wh("contentDisposition",null,!0)),t.push(new Wh("contentEncoding",null,!0)),t.push(new Wh("contentLanguage",null,!0)),t.push(new Wh("contentType",null,!0)),t.push(new Wh("metadata","customMetadata",!0)),wO=t,wO}function Xjn(t,e){function n(){var o=t.bucket,i=t.fullPath,r=new Lm(o,i);return e._makeStorageReference(r)}Object.defineProperty(t,"ref",{get:n})}function Jjn(t,e,n){var o={};o.type="file";for(var i=n.length,r=0;r0&&(r.delimiter=n),o&&(r.pageToken=o),i&&(r.maxResults=i);var a=e.bucketOnlyServerUrl(),l=O7(a,t.host),s="GET",c=t.maxOperationRetryTime,u=new mA(l,s,Qjn(t,e.bucket),c);return u.urlParams=r,u.errorHandler=ZH(e),u}function tYn(t,e,n){var o=e.fullServerUrl(),i=O7(o,t.host),r="GET",a=t.maxOperationRetryTime,l=new mA(i,r,Zjn(t,n),a);return l.errorHandler=vZ(e),l}function nYn(t,e,n,o){var i=e.fullServerUrl(),r=O7(i,t.host),a="PATCH",l=n5e(n,o),s={"Content-Type":"application/json; charset=utf-8"},c=t.maxOperationRetryTime,u=new mA(r,a,wZ(t,o),c);return u.headers=s,u.body=l,u.errorHandler=vZ(e),u}function oYn(t,e){var n=e.fullServerUrl(),o=O7(n,t.host),i="DELETE",r=t.maxOperationRetryTime;function a(s,c){}var l=new mA(o,i,a,r);return l.successCodes=[200,204],l.errorHandler=vZ(e),l}function iYn(t,e){return t&&t.contentType||e&&e.type()||"application/octet-stream"}function btt(t,e,n){var o=Object.assign({},n);return o.fullPath=t.path,o.size=e.size(),o.contentType||(o.contentType=iYn(null,e)),o}function rYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function l(){for(var P="",v=0;v<2;v++)P=P+Math.random().toString().slice(2);return P}var s=l();a["Content-Type"]="multipart/related; boundary="+s;var c=btt(e,o,i),u=n5e(c,n),d="--"+s+`\r + */function x9(t){if(!t)throw Q2e()}function wZ(t,e){function n(o,i){var r=Att(t,i,e);return x9(r!==null),r}return n}function qjn(t,e){function n(o,i){var r=Kjn(t,e,i);return x9(r!==null),r}return n}function $jn(t,e){function n(o,i){var r=Att(t,i,e);return x9(r!==null),Xjn(r,i,t.host)}return n}function ZH(t){function e(n,o){var i;return n.getStatus()===401?n.getResponseText().includes("Firebase App Check token is invalid")?i=cjn():i=sjn():n.getStatus()===402?i=ljn(t.bucket):n.getStatus()===403?i=ujn(t.path):i=o,i.serverResponse=o.serverResponse,i}return e}function vZ(t){var e=ZH(t);function n(o,i){var r=e(o,i);return o.getStatus()===404&&(r=ajn(t.path)),r.serverResponse=i.serverResponse,r}return n}function wtt(t,e,n){var o=e.fullServerUrl(),i=O7(o,t.host),r="GET",a=t.maxOperationRetryTime,l=new mA(i,r,wZ(t,n),a);return l.errorHandler=vZ(e),l}function Qjn(t,e,n,o,i){var r={};e.isRoot?r.prefix="":r.prefix=e.path+"/",n.length>0&&(r.delimiter=n),o&&(r.pageToken=o),i&&(r.maxResults=i);var a=e.bucketOnlyServerUrl(),l=O7(a,t.host),s="GET",c=t.maxOperationRetryTime,u=new mA(l,s,qjn(t,e.bucket),c);return u.urlParams=r,u.errorHandler=ZH(e),u}function Zjn(t,e,n){var o=e.fullServerUrl(),i=O7(o,t.host),r="GET",a=t.maxOperationRetryTime,l=new mA(i,r,$jn(t,n),a);return l.errorHandler=vZ(e),l}function eYn(t,e,n,o){var i=e.fullServerUrl(),r=O7(i,t.host),a="PATCH",l=n5e(n,o),s={"Content-Type":"application/json; charset=utf-8"},c=t.maxOperationRetryTime,u=new mA(r,a,wZ(t,o),c);return u.headers=s,u.body=l,u.errorHandler=vZ(e),u}function tYn(t,e){var n=e.fullServerUrl(),o=O7(n,t.host),i="DELETE",r=t.maxOperationRetryTime;function a(s,c){}var l=new mA(o,i,a,r);return l.successCodes=[200,204],l.errorHandler=vZ(e),l}function nYn(t,e){return t&&t.contentType||e&&e.type()||"application/octet-stream"}function vtt(t,e,n){var o=Object.assign({},n);return o.fullPath=t.path,o.size=e.size(),o.contentType||(o.contentType=nYn(null,e)),o}function oYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function l(){for(var P="",v=0;v<2;v++)P=P+Math.random().toString().slice(2);return P}var s=l();a["Content-Type"]="multipart/related; boundary="+s;var c=vtt(e,o,i),u=n5e(c,n),d="--"+s+`\r Content-Type: application/json; charset=utf-8\r \r `+u+`\r @@ -6738,7 +6738,7 @@ Content-Type: application/json; charset=utf-8\r Content-Type: `+c.contentType+`\r \r `,f=`\r ---`+s+"--",p=e5e.getBlob(d,o,f);if(p===null)throw dtt();var g={name:c.fullPath},A=O7(r,t.host),w="POST",b=t.maxUploadRetryTime,C=new mA(A,w,wZ(t,n),b);return C.urlParams=g,C.headers=a,C.body=p.uploadData(),C.errorHandler=ZH(e),C}var MX=function(){function t(e,n,o,i){this.current=e,this.total=n,this.finalized=!!o,this.metadata=i||null}return t}();function o5e(t,e){var n=null;try{n=t.getResponseHeader("X-Goog-Upload-Status")}catch{x9(!1)}var o=e||["active"];return x9(!!n&&o.indexOf(n)!==-1),n}function aYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a=btt(e,o,i),l={name:a.fullPath},s=O7(r,t.host),c="POST",u={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":""+o.size(),"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},d=n5e(a,n),f=t.maxUploadRetryTime;function p(A){o5e(A);var w;try{w=A.getResponseHeader("X-Goog-Upload-URL")}catch{x9(!1)}return x9(yZ(w)),w}var g=new mA(s,c,p,f);return g.urlParams=l,g.headers=u,g.body=d,g.errorHandler=ZH(e),g}function lYn(t,e,n,o){var i={"X-Goog-Upload-Command":"query"};function r(c){var u=o5e(c,["active","final"]),d=null;try{d=c.getResponseHeader("X-Goog-Upload-Size-Received")}catch{x9(!1)}d||x9(!1);var f=Number(d);return x9(!isNaN(f)),new MX(f,o.size(),u==="final")}var a="POST",l=t.maxUploadRetryTime,s=new mA(n,a,r,l);return s.headers=i,s.errorHandler=ZH(e),s}var eCe=256*1024;function sYn(t,e,n,o,i,r,a,l){var s=new MX(0,0);if(a?(s.current=a.current,s.total=a.total):(s.current=0,s.total=o.size()),o.size()!==s.total)throw yjn();var c=s.total-s.current,u=c;i>0&&(u=Math.min(u,i));var d=s.current,f=d+u,p=u===c?"upload, finalize":"upload",g={"X-Goog-Upload-Command":p,"X-Goog-Upload-Offset":""+s.current},A=o.slice(d,f);if(A===null)throw dtt();function w(v,T){var y=o5e(v,["active","final"]),S=s.current+u,x=o.size(),R;return y==="final"?R=wZ(e,r)(v,T):R=null,new MX(S,x,y==="final",R)}var b="POST",C=e.maxUploadRetryTime,P=new mA(n,b,w,C);return P.headers=g,P.body=A.uploadData(),P.progressCallback=l||null,P.errorHandler=ZH(t),P}/** +--`+s+"--",p=e5e.getBlob(d,o,f);if(p===null)throw ctt();var g={name:c.fullPath},A=O7(r,t.host),w="POST",b=t.maxUploadRetryTime,C=new mA(A,w,wZ(t,n),b);return C.urlParams=g,C.headers=a,C.body=p.uploadData(),C.errorHandler=ZH(e),C}var MX=function(){function t(e,n,o,i){this.current=e,this.total=n,this.finalized=!!o,this.metadata=i||null}return t}();function o5e(t,e){var n=null;try{n=t.getResponseHeader("X-Goog-Upload-Status")}catch{x9(!1)}var o=e||["active"];return x9(!!n&&o.indexOf(n)!==-1),n}function iYn(t,e,n,o,i){var r=e.bucketOnlyServerUrl(),a=vtt(e,o,i),l={name:a.fullPath},s=O7(r,t.host),c="POST",u={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":""+o.size(),"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},d=n5e(a,n),f=t.maxUploadRetryTime;function p(A){o5e(A);var w;try{w=A.getResponseHeader("X-Goog-Upload-URL")}catch{x9(!1)}return x9(yZ(w)),w}var g=new mA(s,c,p,f);return g.urlParams=l,g.headers=u,g.body=d,g.errorHandler=ZH(e),g}function rYn(t,e,n,o){var i={"X-Goog-Upload-Command":"query"};function r(c){var u=o5e(c,["active","final"]),d=null;try{d=c.getResponseHeader("X-Goog-Upload-Size-Received")}catch{x9(!1)}d||x9(!1);var f=Number(d);return x9(!isNaN(f)),new MX(f,o.size(),u==="final")}var a="POST",l=t.maxUploadRetryTime,s=new mA(n,a,r,l);return s.headers=i,s.errorHandler=ZH(e),s}var eCe=256*1024;function aYn(t,e,n,o,i,r,a,l){var s=new MX(0,0);if(a?(s.current=a.current,s.total=a.total):(s.current=0,s.total=o.size()),o.size()!==s.total)throw gjn();var c=s.total-s.current,u=c;i>0&&(u=Math.min(u,i));var d=s.current,f=d+u,p=u===c?"upload, finalize":"upload",g={"X-Goog-Upload-Command":p,"X-Goog-Upload-Offset":""+s.current},A=o.slice(d,f);if(A===null)throw ctt();function w(v,T){var y=o5e(v,["active","final"]),S=s.current+u,x=o.size(),R;return y==="final"?R=wZ(e,r)(v,T):R=null,new MX(S,x,y==="final",R)}var b="POST",C=e.maxUploadRetryTime,P=new mA(n,b,w,C);return P.headers=g,P.body=A.uploadData(),P.progressCallback=l||null,P.errorHandler=ZH(t),P}/** * @license * Copyright 2017 Google LLC * @@ -6753,7 +6753,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var cYn=function(){function t(e,n,o){var i=Djn(e)||n!=null||o!=null;if(i)this.next=e,this.error=n,this.complete=o;else{var r=e;this.next=r.next,this.error=r.error,this.complete=r.complete}}return t}();/** + */var lYn=function(){function t(e,n,o){var i=Ijn(e)||n!=null||o!=null;if(i)this.next=e,this.error=n,this.complete=o;else{var r=e;this.next=r.next,this.error=r.error,this.complete=r.complete}}return t}();/** * @license * Copyright 2017 Google LLC * @@ -6783,7 +6783,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Stt=function(){function t(e,n,o){var i=this;o===void 0&&(o=null),this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=n,this._metadata=o,this._mappings=AZ(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=function(r){i._request=void 0,i._chunkMultiplier=1,r._codeEquals("canceled")?(i._needToFetchStatus=!0,i.completeTransitions_()):(i._error=r,i._transition("error"))},this._metadataErrorHandler=function(r){i._request=void 0,r._codeEquals("canceled")?i.completeTransitions_():(i._error=r,i._transition("error"))},this._promise=new Promise(function(r,a){i._resolve=r,i._reject=a,i._start()}),this._promise.then(null,function(){})}return t.prototype._makeProgressCallback=function(){var e=this,n=this._transferred;return function(o){return e._updateProgress(n+o)}},t.prototype._shouldDoResumable=function(e){return e.size()>256*1024},t.prototype._start=function(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this._continueUpload():this._oneShotUpload())},t.prototype._resolveToken=function(e){var n=this;Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(function(o){var i=o[0],r=o[1];switch(n._state){case"running":e(i,r);break;case"canceling":n._transition("canceled");break;case"pausing":n._transition("paused");break}})},t.prototype._createResumable=function(){var e=this;this._resolveToken(function(n,o){var i=aYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._uploadUrl=a,e._needToFetchStatus=!1,e.completeTransitions_()},e._errorHandler)})},t.prototype._fetchStatus=function(){var e=this,n=this._uploadUrl;this._resolveToken(function(o,i){var r=lYn(e._ref.storage,e._ref._location,n,e._blob),a=e._ref.storage._makeRequest(r,o,i);e._request=a,a.getPromise().then(function(l){l=l,e._request=void 0,e._updateProgress(l.current),e._needToFetchStatus=!1,l.finalized&&(e._needToFetchMetadata=!0),e.completeTransitions_()},e._errorHandler)})},t.prototype._continueUpload=function(){var e=this,n=eCe*this._chunkMultiplier,o=new MX(this._transferred,this._blob.size()),i=this._uploadUrl;this._resolveToken(function(r,a){var l;try{l=sYn(e._ref._location,e._ref.storage,i,e._blob,n,e._mappings,o,e._makeProgressCallback())}catch(c){e._error=c,e._transition("error");return}var s=e._ref.storage._makeRequest(l,r,a);e._request=s,s.getPromise().then(function(c){e._increaseMultiplier(),e._request=void 0,e._updateProgress(c.current),c.finalized?(e._metadata=c.metadata,e._transition("success")):e.completeTransitions_()},e._errorHandler)})},t.prototype._increaseMultiplier=function(){var e=eCe*this._chunkMultiplier;e<32*1024*1024&&(this._chunkMultiplier*=2)},t.prototype._fetchMetadata=function(){var e=this;this._resolveToken(function(n,o){var i=xtt(e._ref.storage,e._ref._location,e._mappings),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._transition("success")},e._metadataErrorHandler)})},t.prototype._oneShotUpload=function(){var e=this;this._resolveToken(function(n,o){var i=rYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._updateProgress(e._blob.size()),e._transition("success")},e._errorHandler)})},t.prototype._updateProgress=function(e){var n=this._transferred;this._transferred=e,this._transferred!==n&&this._notifyObservers()},t.prototype._transition=function(e){if(this._state!==e)switch(e){case"canceling":this._state=e,this._request!==void 0&&this._request.cancel();break;case"pausing":this._state=e,this._request!==void 0&&this._request.cancel();break;case"running":var n=this._state==="paused";this._state=e,n&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=utt(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}},t.prototype.completeTransitions_=function(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}},Object.defineProperty(t.prototype,"snapshot",{get:function(){var e=eae(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}},enumerable:!1,configurable:!0}),t.prototype.on=function(e,n,o,i){var r=this,a=new cYn(n,o,i);return this._addObserver(a),function(){r._removeObserver(a)}},t.prototype.then=function(e,n){return this._promise.then(e,n)},t.prototype.catch=function(e){return this.then(null,e)},t.prototype._addObserver=function(e){this._observers.push(e),this._notifyObserver(e)},t.prototype._removeObserver=function(e){var n=this._observers.indexOf(e);n!==-1&&this._observers.splice(n,1)},t.prototype._notifyObservers=function(){var e=this;this._finishPromise();var n=this._observers.slice();n.forEach(function(o){e._notifyObserver(o)})},t.prototype._finishPromise=function(){if(this._resolve!==void 0){var e=!0;switch(eae(this._state)){case Xh.SUCCESS:UT(this._resolve.bind(null,this.snapshot))();break;case Xh.CANCELED:case Xh.ERROR:var n=this._reject;UT(n.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}},t.prototype._notifyObserver=function(e){var n=eae(this._state);switch(n){case Xh.RUNNING:case Xh.PAUSED:e.next&&UT(e.next.bind(e,this.snapshot))();break;case Xh.SUCCESS:e.complete&&UT(e.complete.bind(e))();break;case Xh.CANCELED:case Xh.ERROR:e.error&&UT(e.error.bind(e,this._error))();break;default:e.error&&UT(e.error.bind(e,this._error))()}},t.prototype.resume=function(){var e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e},t.prototype.pause=function(){var e=this._state==="running";return e&&this._transition("pausing"),e},t.prototype.cancel=function(){var e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e},t}();/** + */var xtt=function(){function t(e,n,o){var i=this;o===void 0&&(o=null),this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=n,this._metadata=o,this._mappings=AZ(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=function(r){i._request=void 0,i._chunkMultiplier=1,r._codeEquals("canceled")?(i._needToFetchStatus=!0,i.completeTransitions_()):(i._error=r,i._transition("error"))},this._metadataErrorHandler=function(r){i._request=void 0,r._codeEquals("canceled")?i.completeTransitions_():(i._error=r,i._transition("error"))},this._promise=new Promise(function(r,a){i._resolve=r,i._reject=a,i._start()}),this._promise.then(null,function(){})}return t.prototype._makeProgressCallback=function(){var e=this,n=this._transferred;return function(o){return e._updateProgress(n+o)}},t.prototype._shouldDoResumable=function(e){return e.size()>256*1024},t.prototype._start=function(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this._continueUpload():this._oneShotUpload())},t.prototype._resolveToken=function(e){var n=this;Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(function(o){var i=o[0],r=o[1];switch(n._state){case"running":e(i,r);break;case"canceling":n._transition("canceled");break;case"pausing":n._transition("paused");break}})},t.prototype._createResumable=function(){var e=this;this._resolveToken(function(n,o){var i=iYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._uploadUrl=a,e._needToFetchStatus=!1,e.completeTransitions_()},e._errorHandler)})},t.prototype._fetchStatus=function(){var e=this,n=this._uploadUrl;this._resolveToken(function(o,i){var r=rYn(e._ref.storage,e._ref._location,n,e._blob),a=e._ref.storage._makeRequest(r,o,i);e._request=a,a.getPromise().then(function(l){l=l,e._request=void 0,e._updateProgress(l.current),e._needToFetchStatus=!1,l.finalized&&(e._needToFetchMetadata=!0),e.completeTransitions_()},e._errorHandler)})},t.prototype._continueUpload=function(){var e=this,n=eCe*this._chunkMultiplier,o=new MX(this._transferred,this._blob.size()),i=this._uploadUrl;this._resolveToken(function(r,a){var l;try{l=aYn(e._ref._location,e._ref.storage,i,e._blob,n,e._mappings,o,e._makeProgressCallback())}catch(c){e._error=c,e._transition("error");return}var s=e._ref.storage._makeRequest(l,r,a);e._request=s,s.getPromise().then(function(c){e._increaseMultiplier(),e._request=void 0,e._updateProgress(c.current),c.finalized?(e._metadata=c.metadata,e._transition("success")):e.completeTransitions_()},e._errorHandler)})},t.prototype._increaseMultiplier=function(){var e=eCe*this._chunkMultiplier;e<32*1024*1024&&(this._chunkMultiplier*=2)},t.prototype._fetchMetadata=function(){var e=this;this._resolveToken(function(n,o){var i=wtt(e._ref.storage,e._ref._location,e._mappings),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._transition("success")},e._metadataErrorHandler)})},t.prototype._oneShotUpload=function(){var e=this;this._resolveToken(function(n,o){var i=oYn(e._ref.storage,e._ref._location,e._mappings,e._blob,e._metadata),r=e._ref.storage._makeRequest(i,n,o);e._request=r,r.getPromise().then(function(a){e._request=void 0,e._metadata=a,e._updateProgress(e._blob.size()),e._transition("success")},e._errorHandler)})},t.prototype._updateProgress=function(e){var n=this._transferred;this._transferred=e,this._transferred!==n&&this._notifyObservers()},t.prototype._transition=function(e){if(this._state!==e)switch(e){case"canceling":this._state=e,this._request!==void 0&&this._request.cancel();break;case"pausing":this._state=e,this._request!==void 0&&this._request.cancel();break;case"running":var n=this._state==="paused";this._state=e,n&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=stt(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}},t.prototype.completeTransitions_=function(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}},Object.defineProperty(t.prototype,"snapshot",{get:function(){var e=eae(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}},enumerable:!1,configurable:!0}),t.prototype.on=function(e,n,o,i){var r=this,a=new lYn(n,o,i);return this._addObserver(a),function(){r._removeObserver(a)}},t.prototype.then=function(e,n){return this._promise.then(e,n)},t.prototype.catch=function(e){return this.then(null,e)},t.prototype._addObserver=function(e){this._observers.push(e),this._notifyObserver(e)},t.prototype._removeObserver=function(e){var n=this._observers.indexOf(e);n!==-1&&this._observers.splice(n,1)},t.prototype._notifyObservers=function(){var e=this;this._finishPromise();var n=this._observers.slice();n.forEach(function(o){e._notifyObserver(o)})},t.prototype._finishPromise=function(){if(this._resolve!==void 0){var e=!0;switch(eae(this._state)){case Xh.SUCCESS:UT(this._resolve.bind(null,this.snapshot))();break;case Xh.CANCELED:case Xh.ERROR:var n=this._reject;UT(n.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}},t.prototype._notifyObserver=function(e){var n=eae(this._state);switch(n){case Xh.RUNNING:case Xh.PAUSED:e.next&&UT(e.next.bind(e,this.snapshot))();break;case Xh.SUCCESS:e.complete&&UT(e.complete.bind(e))();break;case Xh.CANCELED:case Xh.ERROR:e.error&&UT(e.error.bind(e,this._error))();break;default:e.error&&UT(e.error.bind(e,this._error))()}},t.prototype.resume=function(){var e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e},t.prototype.pause=function(){var e=this._state==="running";return e&&this._transition("pausing"),e},t.prototype.cancel=function(){var e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e},t}();/** * @license * Copyright 2019 Google LLC * @@ -6798,7 +6798,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var xZ=function(){function t(e,n){this._service=e,n instanceof Lm?this._location=n:this._location=Lm.makeFromUrl(n,e.host)}return t.prototype.toString=function(){return"gs://"+this._location.bucket+"/"+this._location.path},t.prototype._newRef=function(e,n){return new t(e,n)},Object.defineProperty(t.prototype,"root",{get:function(){var e=new Lm(this._location.bucket,"");return this._newRef(this._service,e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._location.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._location.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return wtt(this._location.path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"storage",{get:function(){return this._service},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=Ojn(this._location.path);if(e===null)return null;var n=new Lm(this._location.bucket,e);return new t(this._service,n)},enumerable:!1,configurable:!0}),t.prototype._throwIfRoot=function(e){if(this._location.path==="")throw htt(e)},t}();function uYn(t,e,n){return t._throwIfRoot("uploadBytesResumable"),new Stt(t,new e5e(e),n)}function dYn(t){var e={prefixes:[],items:[]};return Ttt(t,e).then(function(){return e})}function Ttt(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:return o={pageToken:n},[4,Ptt(t,o)];case 1:return i=l.sent(),(r=e.prefixes).push.apply(r,i.prefixes),(a=e.items).push.apply(a,i.items),i.nextPageToken==null?[3,3]:[4,Ttt(t,e,i.nextPageToken)];case 2:l.sent(),l.label=3;case 3:return[2]}})})}function Ptt(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return e!=null&&typeof e.maxResults=="number"&&Sde("options.maxResults",1,1e3,e.maxResults),n=e||{},o=eYn(t.storage,t._location,"/",n.pageToken,n.maxResults),[4,t.storage.makeRequestWithTokens(o)];case 1:return[2,i.sent().getPromise()]}})})}function fYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getMetadata"),e=xtt(t.storage,t._location,AZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function hYn(t,e){return Ao(this,void 0,void 0,function(){var n;return ho(this,function(o){switch(o.label){case 0:return t._throwIfRoot("updateMetadata"),n=nYn(t.storage,t._location,e,AZ()),[4,t.storage.makeRequestWithTokens(n)];case 1:return[2,o.sent().getPromise()]}})})}function pYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getDownloadURL"),e=tYn(t.storage,t._location,AZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise().then(function(o){if(o===null)throw Ajn();return o})]}})})}function gYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("deleteObject"),e=oYn(t.storage,t._location),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function Ctt(t,e){var n=_jn(t._location.path,e),o=new Lm(t._location.bucket,n);return new xZ(t.storage,o)}/** + */var xZ=function(){function t(e,n){this._service=e,n instanceof Lm?this._location=n:this._location=Lm.makeFromUrl(n,e.host)}return t.prototype.toString=function(){return"gs://"+this._location.bucket+"/"+this._location.path},t.prototype._newRef=function(e,n){return new t(e,n)},Object.defineProperty(t.prototype,"root",{get:function(){var e=new Lm(this._location.bucket,"");return this._newRef(this._service,e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._location.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._location.path},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return ytt(this._location.path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"storage",{get:function(){return this._service},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=jjn(this._location.path);if(e===null)return null;var n=new Lm(this._location.bucket,e);return new t(this._service,n)},enumerable:!1,configurable:!0}),t.prototype._throwIfRoot=function(e){if(this._location.path==="")throw dtt(e)},t}();function sYn(t,e,n){return t._throwIfRoot("uploadBytesResumable"),new xtt(t,new e5e(e),n)}function cYn(t){var e={prefixes:[],items:[]};return btt(t,e).then(function(){return e})}function btt(t,e,n){return Ao(this,void 0,void 0,function(){var o,i,r,a;return ho(this,function(l){switch(l.label){case 0:return o={pageToken:n},[4,Stt(t,o)];case 1:return i=l.sent(),(r=e.prefixes).push.apply(r,i.prefixes),(a=e.items).push.apply(a,i.items),i.nextPageToken==null?[3,3]:[4,btt(t,e,i.nextPageToken)];case 2:l.sent(),l.label=3;case 3:return[2]}})})}function Stt(t,e){return Ao(this,void 0,void 0,function(){var n,o;return ho(this,function(i){switch(i.label){case 0:return e!=null&&typeof e.maxResults=="number"&&Sde("options.maxResults",1,1e3,e.maxResults),n=e||{},o=Qjn(t.storage,t._location,"/",n.pageToken,n.maxResults),[4,t.storage.makeRequestWithTokens(o)];case 1:return[2,i.sent().getPromise()]}})})}function uYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getMetadata"),e=wtt(t.storage,t._location,AZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function dYn(t,e){return Ao(this,void 0,void 0,function(){var n;return ho(this,function(o){switch(o.label){case 0:return t._throwIfRoot("updateMetadata"),n=eYn(t.storage,t._location,e,AZ()),[4,t.storage.makeRequestWithTokens(n)];case 1:return[2,o.sent().getPromise()]}})})}function fYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("getDownloadURL"),e=Zjn(t.storage,t._location,AZ()),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise().then(function(o){if(o===null)throw mjn();return o})]}})})}function hYn(t){return Ao(this,void 0,void 0,function(){var e;return ho(this,function(n){switch(n.label){case 0:return t._throwIfRoot("deleteObject"),e=tYn(t.storage,t._location),[4,t.storage.makeRequestWithTokens(e)];case 1:return[2,n.sent().getPromise()]}})})}function Ttt(t,e){var n=Yjn(t._location.path,e),o=new Lm(t._location.bucket,n);return new xZ(t.storage,o)}/** * @license * Copyright 2017 Google LLC * @@ -6813,7 +6813,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function Tde(t){return/^[A-Za-z]+:\/\//.test(t)}function mYn(t,e){return new xZ(t,e)}function Rtt(t,e){if(t instanceof bZ){var n=t;if(n._bucket==null)throw mjn();var o=new xZ(n,n._bucket);return e!=null?Rtt(o,e):o}else return e!==void 0?Ctt(t,e):t}function yYn(t,e){if(e&&Tde(e)){if(t instanceof bZ)return mYn(t,e);throw TC("To use ref(service, url), the first argument must be a Storage instance.")}else return Rtt(t,e)}function tCe(t,e){var n=e==null?void 0:e[ctt];return n==null?null:Lm.makeFromBucketSpec(n,t)}function AYn(t,e,n,o){o===void 0&&(o={}),t.host="http://"+e+":"+n;var i=o.mockUserToken;i&&(t._overrideAuthToken=typeof i=="string"?i:Wye(i,t.app.options.projectId))}var bZ=function(){function t(e,n,o,i,r,a){this.app=e,this._authProvider=n,this._appCheckProvider=o,this._pool=i,this._url=r,this._firebaseVersion=a,this._bucket=null,this._host=stt,this._appId=null,this._deleted=!1,this._maxOperationRetryTime=ajn,this._maxUploadRetryTime=ljn,this._requests=new Set,r!=null?this._bucket=Lm.makeFromBucketSpec(r,this._host):this._bucket=tCe(this._host,this.app.options)}return Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){this._host=e,this._url!=null?this._bucket=Lm.makeFromBucketSpec(this._url,e):this._bucket=tCe(e,this.app.options)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._maxUploadRetryTime},set:function(e){Sde("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._maxOperationRetryTime},set:function(e){Sde("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e},enumerable:!1,configurable:!0}),t.prototype._getAuthToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return this._overrideAuthToken?[2,this._overrideAuthToken]:(e=this._authProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2]);case 1:if(n=o.sent(),n!==null)return[2,n.accessToken];o.label=2;case 2:return[2,null]}})})},t.prototype._getAppCheckToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return e=this._appCheckProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2];case 1:return n=o.sent(),[2,n.token];case 2:return[2,null]}})})},t.prototype._delete=function(){return this._deleted||(this._deleted=!0,this._requests.forEach(function(e){return e.cancel()}),this._requests.clear()),Promise.resolve()},t.prototype._makeStorageReference=function(e){return new xZ(this,e)},t.prototype._makeRequest=function(e,n,o){var i=this;if(this._deleted)return new Hjn(ftt());var r=Ujn(e,this._appId,n,o,this._pool,this._firebaseVersion);return this._requests.add(r),r.getPromise().then(function(){return i._requests.delete(r)},function(){return i._requests.delete(r)}),r},t.prototype.makeRequestWithTokens=function(e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return[4,Promise.all([this._getAuthToken(),this._getAppCheckToken()])];case 1:return n=r.sent(),o=n[0],i=n[1],[2,this._makeRequest(e,o,i)]}})})},t}();/** + */function Tde(t){return/^[A-Za-z]+:\/\//.test(t)}function pYn(t,e){return new xZ(t,e)}function Ptt(t,e){if(t instanceof bZ){var n=t;if(n._bucket==null)throw pjn();var o=new xZ(n,n._bucket);return e!=null?Ptt(o,e):o}else return e!==void 0?Ttt(t,e):t}function gYn(t,e){if(e&&Tde(e)){if(t instanceof bZ)return pYn(t,e);throw TC("To use ref(service, url), the first argument must be a Storage instance.")}else return Ptt(t,e)}function tCe(t,e){var n=e==null?void 0:e[ltt];return n==null?null:Lm.makeFromBucketSpec(n,t)}function mYn(t,e,n,o){o===void 0&&(o={}),t.host="http://"+e+":"+n;var i=o.mockUserToken;i&&(t._overrideAuthToken=typeof i=="string"?i:Wye(i,t.app.options.projectId))}var bZ=function(){function t(e,n,o,i,r,a){this.app=e,this._authProvider=n,this._appCheckProvider=o,this._pool=i,this._url=r,this._firebaseVersion=a,this._bucket=null,this._host=att,this._appId=null,this._deleted=!1,this._maxOperationRetryTime=ijn,this._maxUploadRetryTime=rjn,this._requests=new Set,r!=null?this._bucket=Lm.makeFromBucketSpec(r,this._host):this._bucket=tCe(this._host,this.app.options)}return Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){this._host=e,this._url!=null?this._bucket=Lm.makeFromBucketSpec(this._url,e):this._bucket=tCe(e,this.app.options)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._maxUploadRetryTime},set:function(e){Sde("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._maxOperationRetryTime},set:function(e){Sde("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e},enumerable:!1,configurable:!0}),t.prototype._getAuthToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return this._overrideAuthToken?[2,this._overrideAuthToken]:(e=this._authProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2]);case 1:if(n=o.sent(),n!==null)return[2,n.accessToken];o.label=2;case 2:return[2,null]}})})},t.prototype._getAppCheckToken=function(){return Ao(this,void 0,void 0,function(){var e,n;return ho(this,function(o){switch(o.label){case 0:return e=this._appCheckProvider.getImmediate({optional:!0}),e?[4,e.getToken()]:[3,2];case 1:return n=o.sent(),[2,n.token];case 2:return[2,null]}})})},t.prototype._delete=function(){return this._deleted||(this._deleted=!0,this._requests.forEach(function(e){return e.cancel()}),this._requests.clear()),Promise.resolve()},t.prototype._makeStorageReference=function(e){return new xZ(this,e)},t.prototype._makeRequest=function(e,n,o){var i=this;if(this._deleted)return new Cjn(utt());var r=Wjn(e,this._appId,n,o,this._pool,this._firebaseVersion);return this._requests.add(r),r.getPromise().then(function(){return i._requests.delete(r)},function(){return i._requests.delete(r)}),r},t.prototype.makeRequestWithTokens=function(e){return Ao(this,void 0,void 0,function(){var n,o,i;return ho(this,function(r){switch(r.label){case 0:return[4,Promise.all([this._getAuthToken(),this._getAppCheckToken()])];case 1:return n=r.sent(),o=n[0],i=n[1],[2,this._makeRequest(e,o,i)]}})})},t}();/** * @license * Copyright 2020 Google LLC * @@ -6828,7 +6828,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function wYn(t,e,n){return t=va(t),uYn(t,e,n)}function vYn(t){return t=va(t),fYn(t)}function xYn(t,e){return t=va(t),hYn(t,e)}function bYn(t,e){return t=va(t),Ptt(t,e)}function SYn(t){return t=va(t),dYn(t)}function TYn(t){return t=va(t),pYn(t)}function PYn(t){return t=va(t),gYn(t)}function nCe(t,e){return t=va(t),yYn(t,e)}function CYn(t,e){return Ctt(t,e)}function RYn(t,e,n,o){o===void 0&&(o={}),AYn(t,e,n,o)}/** + */function yYn(t,e,n){return t=va(t),sYn(t,e,n)}function AYn(t){return t=va(t),uYn(t)}function wYn(t,e){return t=va(t),dYn(t,e)}function vYn(t,e){return t=va(t),Stt(t,e)}function xYn(t){return t=va(t),cYn(t)}function bYn(t){return t=va(t),fYn(t)}function SYn(t){return t=va(t),hYn(t)}function nCe(t,e){return t=va(t),gYn(t,e)}function TYn(t,e){return Ttt(t,e)}function PYn(t,e,n,o){o===void 0&&(o={}),mYn(t,e,n,o)}/** * @license * Copyright 2020 Google LLC * @@ -6873,7 +6873,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var bF=function(){function t(e,n){this._delegate=e,this.storage=n}return Object.defineProperty(t.prototype,"name",{get:function(){return this._delegate.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._delegate.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._delegate.fullPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this._delegate.toString()},t.prototype.child=function(e){var n=CYn(this._delegate,e);return new t(n,this.storage)},Object.defineProperty(t.prototype,"root",{get:function(){return new t(this._delegate.root,this.storage)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=this._delegate.parent;return e==null?null:new t(e,this.storage)},enumerable:!1,configurable:!0}),t.prototype.put=function(e,n){return this._throwIfRoot("put"),new oCe(wYn(this._delegate,e,n),this)},t.prototype.putString=function(e,n,o){n===void 0&&(n=Fm.RAW),this._throwIfRoot("putString");var i=ptt(n,e),r=N0({},o);return r.contentType==null&&i.contentType!=null&&(r.contentType=i.contentType),new oCe(new Stt(this._delegate,new e5e(i.data,!0),r),this)},t.prototype.listAll=function(){var e=this;return SYn(this._delegate).then(function(n){return new iCe(n,e.storage)})},t.prototype.list=function(e){var n=this;return bYn(this._delegate,e||void 0).then(function(o){return new iCe(o,n.storage)})},t.prototype.getMetadata=function(){return vYn(this._delegate)},t.prototype.updateMetadata=function(e){return xYn(this._delegate,e)},t.prototype.getDownloadURL=function(){return TYn(this._delegate)},t.prototype.delete=function(){return this._throwIfRoot("delete"),PYn(this._delegate)},t.prototype._throwIfRoot=function(e){if(this._delegate._location.path==="")throw htt(e)},t}();/** + */var bF=function(){function t(e,n){this._delegate=e,this.storage=n}return Object.defineProperty(t.prototype,"name",{get:function(){return this._delegate.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bucket",{get:function(){return this._delegate.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fullPath",{get:function(){return this._delegate.fullPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this._delegate.toString()},t.prototype.child=function(e){var n=TYn(this._delegate,e);return new t(n,this.storage)},Object.defineProperty(t.prototype,"root",{get:function(){return new t(this._delegate.root,this.storage)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){var e=this._delegate.parent;return e==null?null:new t(e,this.storage)},enumerable:!1,configurable:!0}),t.prototype.put=function(e,n){return this._throwIfRoot("put"),new oCe(yYn(this._delegate,e,n),this)},t.prototype.putString=function(e,n,o){n===void 0&&(n=Fm.RAW),this._throwIfRoot("putString");var i=ftt(n,e),r=N0({},o);return r.contentType==null&&i.contentType!=null&&(r.contentType=i.contentType),new oCe(new xtt(this._delegate,new e5e(i.data,!0),r),this)},t.prototype.listAll=function(){var e=this;return xYn(this._delegate).then(function(n){return new iCe(n,e.storage)})},t.prototype.list=function(e){var n=this;return vYn(this._delegate,e||void 0).then(function(o){return new iCe(o,n.storage)})},t.prototype.getMetadata=function(){return AYn(this._delegate)},t.prototype.updateMetadata=function(e){return wYn(this._delegate,e)},t.prototype.getDownloadURL=function(){return bYn(this._delegate)},t.prototype.delete=function(){return this._throwIfRoot("delete"),SYn(this._delegate)},t.prototype._throwIfRoot=function(e){if(this._delegate._location.path==="")throw dtt(e)},t}();/** * @license * Copyright 2020 Google LLC * @@ -6888,7 +6888,7 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var HYn=function(){function t(e,n){this.app=e,this._delegate=n}return Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._delegate.maxOperationRetryTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._delegate.maxUploadRetryTime},enumerable:!1,configurable:!0}),t.prototype.ref=function(e){if(Tde(e))throw TC("ref() expected a child path but got a URL, use refFromURL instead.");return new bF(nCe(this._delegate,e),this)},t.prototype.refFromURL=function(e){if(!Tde(e))throw TC("refFromURL() expected a full URL but got a child path, use ref() instead.");try{Lm.makeFromUrl(e,this._delegate.host)}catch{throw TC("refFromUrl() expected a valid full URL but got an invalid one.")}return new bF(nCe(this._delegate,e),this)},t.prototype.setMaxUploadRetryTime=function(e){this._delegate.maxUploadRetryTime=e},t.prototype.setMaxOperationRetryTime=function(e){this._delegate.maxOperationRetryTime=e},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),RYn(this._delegate,e,n,o)},t}(),MYn="@firebase/storage",IYn="0.7.1";/** + */var CYn=function(){function t(e,n){this.app=e,this._delegate=n}return Object.defineProperty(t.prototype,"maxOperationRetryTime",{get:function(){return this._delegate.maxOperationRetryTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxUploadRetryTime",{get:function(){return this._delegate.maxUploadRetryTime},enumerable:!1,configurable:!0}),t.prototype.ref=function(e){if(Tde(e))throw TC("ref() expected a child path but got a URL, use refFromURL instead.");return new bF(nCe(this._delegate,e),this)},t.prototype.refFromURL=function(e){if(!Tde(e))throw TC("refFromURL() expected a full URL but got a child path, use ref() instead.");try{Lm.makeFromUrl(e,this._delegate.host)}catch{throw TC("refFromUrl() expected a valid full URL but got an invalid one.")}return new bF(nCe(this._delegate,e),this)},t.prototype.setMaxUploadRetryTime=function(e){this._delegate.maxUploadRetryTime=e},t.prototype.setMaxOperationRetryTime=function(e){this._delegate.maxOperationRetryTime=e},t.prototype.useEmulator=function(e,n,o){o===void 0&&(o={}),PYn(this._delegate,e,n,o)},t}(),RYn="@firebase/storage",HYn="0.7.1";/** * @license * Copyright 2020 Google LLC * @@ -6903,9 +6903,9 @@ Content-Type: `+c.contentType+`\r * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var zYn="storage";function DYn(t,e){var n=e.instanceIdentifier,o=t.getProvider("app").getImmediate(),i=t.getProvider("auth-internal"),r=t.getProvider("app-check-internal"),a=new HYn(o,new bZ(o,i,r,new Rjn,n,qn.SDK_VERSION));return a}function EYn(t){var e={TaskState:Xh,TaskEvent:Tjn,StringFormat:Fm,Storage:bZ,Reference:bF};t.INTERNAL.registerComponent(new Lb(zYn,DYn,"PUBLIC").setServiceProps(e).setMultipleInstances(!0)),t.registerVersion(MYn,IYn)}EYn(qn);const tae=async(t,e,n)=>{try{return(await qn.firestore().collection("users").doc(t).collection("projects").doc(e).get()).exists}catch(o){n(o)}},Htt=async(t,e,n)=>{const o={lng:M.getState().language};await qn.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{const r=i.data();r?n({owner:t,title:i.id,timestamp:r.timestamp,description:r.description,dataColoring:r.dataColoring??n9.ALL,type:r.type,designs:r.designs,ranges:r.ranges??[],filters:r.filters??[],hiddenParameters:r.hiddenParameters,counter:r.counter??0,selectedProperty:r.selectedProperty,sortDescending:r.sortDescending,xAxisNameScatterPlot:r.xAxisNameScatterPlot,yAxisNameScatterPlot:r.yAxisNameScatterPlot,dotSizeScatterPlot:r.dotSizeScatterPlot,thumbnailWidth:r.thumbnailWidth}):Do(j.t("message.CannotOpenProject",o)+": "+e)}).catch(i=>{Do(j.t("message.CannotOpenProject",o)+": "+i)})},kYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:qn.firestore.FieldValue.arrayRemove(n)}).then(()=>{ht.getState().set(i=>{i.updateProjectsFlag=!0}),qn.firestore().collection("users").doc(t).collection("designs").doc(n.title).delete().then(()=>{M.getState().set(i=>{n.title===i.cloudFile&&(i.cloudFile=void 0)}),hn(j.t("message.DesignRemovedFromProject",o)+".")}).catch(i=>{Do(j.t("message.CannotDeleteCloudFile",o)+": "+i)})})}catch(i){Do(j.t("message.CannotRemoveDesignFromProject",o)+": "+i)}},FYn=async(t,e,n,o)=>{const i={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({hiddenParameters:o?qn.firestore.FieldValue.arrayUnion(n):qn.firestore.FieldValue.arrayRemove(n)})}catch(r){Do(j.t("message.CannotUpdateProject",i)+": "+r)}},xO=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:qn.firestore.FieldValue.arrayUnion(n)})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},rCe=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},LYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({description:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},WYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({dataColoring:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},NYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({selectedProperty:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},UYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({xAxisNameScatterPlot:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},BYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({yAxisNameScatterPlot:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},jYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({dotSizeScatterPlot:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},YYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({thumbnailWidth:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},Mtt=(t,e,n)=>{let o={timestamp:Date.now(),title:e,thumbnail:n,excluded:!1};switch(t){case Tr.SOLAR_PANEL_ARRAY:{const i=M.getState().world.latitude,r=xe.countAllSolarPanels(),a=xe.countAllSolarPanelDailyYields(),l=xe.countAllSolarPanelYearlyYields(),s=M.getState().economicsParams,c=s.operationalCostPerUnit,u=s.electricitySellingPrice;o={latitude:i,unitCost:c,sellingPrice:u,panelCount:r,dailyYield:a,yearlyYield:l,...o,...M.getState().solarPanelArrayLayoutParams};break}case Tr.SOLAR_PANEL_TILT_ANGLE:break}return o},aCe=(t,e)=>{if(!e)return null;const n=[];for(const o of e){const i={...o};i.title=OYn(t,o.title),i.timestamp=Date.now(),n.push(i)}return n},OYn=(t,e)=>{const n=e.lastIndexOf(" ");return t+e.substring(n)},_Yn=t=>{const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.drawImage(t,1,1),e.toDataURL()},lCe=(t,e,n,o)=>{const i={lng:M.getState().language};qn.firestore().collection("users").doc(n??o).collection("designs").doc(t).get().then(r=>{if(r.exists){const a=r.data();a&&qn.firestore().collection("users").doc(o).collection("designs").doc(e).set(a).then(()=>{hn(j.t("message.CloudFileCopied",i)+": "+e)}).catch(l=>{Do(j.t("message.CannotWriteCloudFile",i)+": "+l)})}else Do(j.t("message.CannotReadCloudFile",i))}).catch(r=>{Do(j.t("message.CannotReadCloudFile",i)+": "+r)})},VYn=(t,e,n)=>{const o={lng:M.getState().language};qn.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{if(i.exists){const r=i.data();if(r){const a=[];a.push(...r.designs);let l=-1;for(const[s,c]of a.entries())if(c.title===n.title){l=s;break}l>=0&&(a[l].invisible=!n.invisible,qn.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:a}).then(()=>{}).catch(s=>{Do(j.t("message.CannotUpdateProject",o)+": "+s)}))}}}).catch(i=>{Do(j.t("message.CannotFetchProjectData",o)+": "+i)}).finally(()=>{})},GYn=async(t,e,n,o,i,r)=>{const a={lng:M.getState().language};if(ht.getState().set(l=>{l.waiting=!0}),await qn.firestore().collection("users").doc(t).collection("designs").doc(i).set(M.getState().exportContent()),ht.getState().setChanged(!1),r){const l=xe.resizeCanvas(r,o).toDataURL();qn.firestore().collection("users").doc(t).collection("projects").doc(n).get().then(s=>{if(s.exists){const c=s.data();if(c){const u=[];u.push(...c.designs);let d=-1;for(const[f,p]of u.entries())if(p.title===i){d=f;break}d>=0&&(u[d]=Mtt(e,i,l),qn.firestore().collection("users").doc(t).collection("projects").doc(n).update({designs:u}).then(()=>{}).catch(f=>{Do(j.t("message.CannotUpdateProject",a)+": "+f)}).finally(()=>{M.getState().set(f=>{f.projectState.designs=u}),ht.getState().set(f=>{f.updateProjectsFlag=!0,f.waiting=!1})}))}}}).catch(s=>{Do(j.t("message.CannotFetchProjectData",a)+": "+s)}).finally(()=>{})}},sCe=async(t,e,n)=>{try{return(await qn.firestore().collection("users").doc(t).collection("files").doc(e).get()).exists}catch(o){n(o)}},cCe=async(t,e)=>{await qn.firestore().collection("users").doc(t).update({fileList:qn.firestore.FieldValue.arrayUnion(e)}).then(()=>{}).catch(n=>{console.log(n)})},uCe=async(t,e)=>{await qn.firestore().collection("users").doc(t).update({fileList:qn.firestore.FieldValue.arrayRemove(e)}).then(()=>{}).catch(n=>{console.log(n)})},IX=async(t,e,n,o,i)=>{const r={lng:M.getState().language};M.getState().undoManager.clear(),ht.getState().set(a=>{a.waiting=!0});try{const l=(await qn.firestore().collection("users").doc(t).collection(n?"designs":"files").doc(e).get()).data();if(l?M.getState().importContent(l,e):(hn(j.t("message.CloudFileNotFound",r)+": "+e),M.getState().set(s=>{s.cloudFile=void 0}),ht.getState().set(s=>{s.waiting=!1})),!o&&!i){const s=qp+"?client=web&userid="+t+"&title="+encodeURIComponent(e);window.history.pushState({},document.title,s)}}catch(a){Do(j.t("message.CannotOpenCloudFile",r)+": "+a),ht.getState().set(l=>{l.waiting=!1})}},H4=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:j.t(e,{lng:M.getState().language})})}),XYn=t=>{const e={lng:M.getState().language},n=M.getState().set,o=a=>{n(l=>{l.projectState={...a},l.projectImages.clear(),l.projectView=!0}),ht.getState().set(l=>{l.projectImagesUpdateFlag=!l.projectImagesUpdateFlag,l.updateProjectsFlag=!0})},i=(a,l)=>{const s="QWecNcxhyvP6j6sBN11hBsfZDau1";a&&s&&(Htt(s,a,o).then(()=>{IX(s,a+" "+l,!0,!0,t).then(()=>{})}),ht.getState().set(c=>{c.openModelsMap=!1}),M.getState().loggable&&n(c=>{c.actionInfo={name:"Open Example: "+a,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))};return[{key:"solar-energy-science",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarEnergyScienceSubMenu",e)}),children:[{key:"sun_angles",label:"menu.solarEnergyScienceTutorials.SunAngles"},{key:"insolation_and_climate",label:"menu.solarEnergyScienceTutorials.InsolationAndClimate"},{key:"solar_radiation_to_box",label:"menu.solarEnergyScienceTutorials.SolarRadiationToBox"},{key:"sun_beam_at_center",label:"menu.solarEnergyExamples.SunBeamAndHeliodon"}].map(H4)},{key:"building-science",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingScienceSubMenu",e)}),children:[{key:"thermal_vs_building_envelope",label:"menu.buildingScienceTutorials.ThermalEnvelopeVsBuildingEnvelope"},{key:"effect_house_size",label:"menu.buildingScienceTutorials.EffectOfSizeOnBuildingEnergy"},{key:"effect_house_orientation",label:"menu.buildingScienceTutorials.EffectOfOrientationOnBuildingEnergy"},{key:"effect_wall_roof_insulation",label:"menu.buildingScienceTutorials.EffectOfInsulationOnBuildingEnergy"},{key:"effect_roof_color",label:"menu.buildingScienceTutorials.EffectOfRoofColorOnBuildingEnergy"},{key:"effect_eaves_overhang_length",label:"menu.buildingScienceTutorials.EffectOfEavesOverhangLengthOnBuildingEnergy"},{key:"effect_window_shgc",label:"menu.buildingScienceTutorials.EffectOfWindowSHGCOnBuildingEnergy"},{key:"effect_thermostat_setpoint",label:"menu.buildingScienceTutorials.EffectOfThermostatSetpointOnBuildingEnergy"},{key:"effect_solar_panels",label:"menu.buildingScienceTutorials.EffectOfSolarPanelsOnBuildingEnergy"},{key:"effect_ground_temperature",label:"menu.buildingScienceTutorials.EffectOfGroundTemperatureOnBuildingEnergy"},{key:"effect_trees",label:"menu.buildingScienceTutorials.EffectOfTreesOnBuildingEnergy"}].map(H4)},{key:"building-design",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingDesignSubMenu",e)}),children:[{key:"cape_cod_with_shed_dormer",label:"menu.buildingDesignTutorials.CapeCodStyleHouseWithShedDormer"},{key:"mansard_roof_with_dormers",label:"menu.buildingDesignTutorials.MansardRoofWithDormers"},{key:"gable_roof_vs_hip_roof",label:"menu.buildingDesignTutorials.GableRoofVsHipRoof"},{key:"colonial_vs_saltbox",label:"menu.buildingDesignTutorials.ColonialVsSaltbox"},{key:"gambrel_roof_vs_mansard_roof",label:"menu.buildingDesignTutorials.GambrelRoofVsMansardRoof"},{key:"combination_roof_vs_bonnet_roof",label:"menu.buildingDesignTutorials.CombinationRoofVsBonnetRoof"},{key:"dutch_gable_roof",label:"menu.buildingDesignTutorials.DutchGableRoof"},{key:"gable_and_valley_roof",label:"menu.buildingDesignTutorials.GableAndValleyRoof"},{key:"clerestory_roof",label:"menu.buildingDesignTutorials.ClerestoryRoof"},{key:"monitor_roof",label:"menu.buildingDesignTutorials.MonitorRoof"},{key:"a_frame_house",label:"menu.buildingDesignTutorials.AFrameHouse"},{key:"half_timbered_house",label:"menu.buildingDesignTutorials.HalfTimberedHouse"},{key:"all_roof_types",label:"menu.buildingDesignTutorials.AllBasicRoofTypes"}].map(H4)},{key:"photovoltaic-solar-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.photovoltaicSolarPowerSubMenu",e)}),children:[{key:"effect_tilt_angle_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfTiltAngleOfSolarPanel"},{key:"effect_azimuth_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfAzimuthOfSolarPanel"},{key:"solar_panel_types",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelTypes"},{key:"vertical_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.VerticalBifacialSolarPanels"},{key:"compare_monofacial_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.CompareMonofacialAndBifacialSolarPanels"},{key:"solar_trackers",label:"menu.photovoltaicSolarPowerTutorials.SolarTrackers"},{key:"why_solar_array",label:"menu.photovoltaicSolarPowerTutorials.CoveringGroundWithSolarPanels"},{key:"inter_row_spacing",label:"menu.photovoltaicSolarPowerTutorials.InterRowSpacingOfSolarPanelArray"},{key:"effect_orientation_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfOrientationOfSolarPanels"},{key:"solar_panel_array_auto_layout",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelArrayAutomaticLayout"},{key:"rooftop_solar_panels",label:"menu.solarEnergyExamples.RooftopSolarPanels"},{key:"solar_canopy_form_factors",label:"menu.solarEnergyExamples.SolarCanopyFormFactors"},{key:"bipv_01",label:"menu.solarEnergyExamples.BuildingIntegratedPhotovoltaics"}].map(H4)},{key:"concentrated-solar-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.concentratedSolarPowerSubMenu",e)}),children:[{key:"parabolic_dish_focus_sunlight",label:"menu.concentratedSolarPowerTutorials.FocusSunlightWithParabolicDish"},{key:"effect_azimuth_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfParabolicTrough"},{key:"effect_latus_rectum_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfLatusRectumOfParabolicTrough"},{key:"linear_fresnel_reflectors",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectors"},{key:"effect_absorber_pipe_height",label:"menu.concentratedSolarPowerTutorials.EffectOfAbsorberPipeHeightForLinearFresnelReflectors"},{key:"effect_azimuth_fresnel_reflector",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfLinearFresnelReflectors"},{key:"linear_fresnel_reflectors_two_absorbers",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectorsWithTwoAbsorbers"},{key:"solar_power_tower",label:"menu.concentratedSolarPowerTutorials.SolarPowerTower"},{key:"cosine_efficiency_heliostats",label:"menu.concentratedSolarPowerTutorials.CosineEfficiencyOfHeliostats"},{key:"shadowing_blocking_heliostats",label:"menu.concentratedSolarPowerTutorials.ShadowingAndBlockingOfHeliostats"},{key:"effect_solar_power_tower_height",label:"menu.concentratedSolarPowerTutorials.EffectSolarPowerTowerHeight"}].map(H4)},{key:"other-types-of-solar-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.otherTypesOfSolarPowerSubMenu",e)}),children:[{key:"solar_updraft_tower",label:"menu.otherTypesOfSolarPowerTutorials.SolarUpdraftTower"}].map(H4)},{key:"wind-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.windPowerSubMenu",e)}),children:[{key:"effect_blade_number",label:"menu.windPowerTutorials.EffectOfBladeNumberOfWindTurbine"},{key:"effect_pitch_angle",label:"menu.windPowerTutorials.EffectOfPitchAngleOfWindTurbineBlades"},{key:"bird_safe_blade_design",label:"menu.windPowerTutorials.BirdSafeBladeDesign"},{key:"offshore_wind_farm",label:"menu.windPowerTutorials.OffshoreWindFarm"}].map(H4)},{key:"colocation",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.colocationSubMenu",e)}),children:[{key:"agriculture_solar_wind_colocation",label:"menu.colocationTutorials.AgricultureSolarWindColocation"}].map(H4)},{key:"generative-design",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.generativeDesignSubMenu",e)}),children:[{key:"Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Tilt Angle",48),children:j.t("menu.generativeDesignTutorials.MonofacialSolarPanelArrayTiltAngle",e)})},{key:"Bifacial Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Bifacial Tilt Angle",50),children:j.t("menu.generativeDesignTutorials.BifacialSolarPanelArrayTiltAngle",e)})},{key:"Latitude",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Latitude",0),children:j.t("menu.generativeDesignTutorials.OutputOfSolarPanelArrayInDifferentPlaces",e)})},{key:"Pareto Front",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Pareto Front",0),children:j.t("menu.generativeDesignTutorials.SimpleSolarFarmParetoFront",e)})}]}]},B5=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:j.t(e,{lng:M.getState().language})})}),JYn=()=>{const t={lng:M.getState().language};return[{key:"solar-energy",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarEnergySubMenu",t)}),children:[{key:"photovoltaic-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.photovoltaicSolarPowerSubMenu",t)}),children:[{key:"vegetative_buffer_01",label:"menu.solarEnergyExamples.VegetativeBuffer"},{key:"solar_canopy_over_bleachers",label:"menu.solarEnergyExamples.SolarCanopyOverBleachers"},{key:"solar_canopy_over_garage",label:"menu.solarEnergyExamples.SolarCanopyOverGarage"},{key:"solar_bus_stop",label:"menu.solarEnergyExamples.SolarBusStop"},{key:"solar_facade_tesla",label:"menu.solarEnergyExamples.SolarFacadeTesla"},{key:"floatovoltaics",label:"menu.solarEnergyExamples.Floatovoltaics"},{key:"rainbow_swash_solar_farm",label:"menu.solarEnergyExamples.RainbowSwashSolarFarmBostonMA"},{key:"mickey_mouse_solar_farm",label:"menu.solarEnergyExamples.MickeyMouseSolarFarmOrlandoFL"},{key:"solar_panels_over_canal",label:"menu.solarEnergyExamples.SolarPanelsOverCanalBakersfieldCA"},{key:"solar_noise_barrier",label:"menu.solarEnergyExamples.SolarNoiseBarrierLexingtonMA"},{key:"solar_farm_hsat_array",label:"menu.solarEnergyExamples.HSATSolarTrackersRaleighNC"},{key:"solar_farm_aadat_array",label:"menu.solarEnergyExamples.AADATSolarTrackersLancasterCA"}].map(B5)},{key:"concentrated-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.concentratedSolarPowerSubMenu",t)}),children:[{key:"nevada_solar_one_parabolic_troughs",label:"menu.solarEnergyExamples.NevadaSolarOneParabolicTroughArray"},{key:"tooele_parabolic_dish_array",label:"menu.solarEnergyExamples.TooeleParabolicDishArray"},{key:"tucson_sundt_station",label:"menu.solarEnergyExamples.TucsonLinearFresnelReflectors"},{key:"ps10_solar_power_tower",label:"menu.solarEnergyExamples.PS10SolarPowerTower"}].map(B5)},{key:"other-types-of-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.otherTypesOfSolarPowerSubMenu",t)}),children:[{key:"solar_updraft_tower_city",label:"menu.solarEnergyExamples.SolarUpdraftTowerInCity"}].map(B5)}]},{key:"built-environment",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.builtEnvironmentSubMenu",t)}),children:[{key:"residential_buildings",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.residentialBuildingsSubMenu",t)}),children:[{key:"colonial_house",label:"menu.residentialBuildingExamples.ColonialHouse"},{key:"dutch_colonial_house",label:"menu.residentialBuildingExamples.DutchColonialHouse"},{key:"t_shaped_house",label:"menu.residentialBuildingExamples.TShapedHouse"},{key:"cape_cod_with_garage",label:"menu.residentialBuildingExamples.CapeCodHouseWithGarage"},{key:"solarium",label:"menu.residentialBuildingExamples.Solarium"},{key:"butterfly_roof_house",label:"menu.residentialBuildingExamples.ButterflyRoofHouse"},{key:"adobe_taos_house",label:"menu.residentialBuildingExamples.AdobeTaosHouse"},{key:"ranch_house",label:"menu.residentialBuildingExamples.RanchHouse"},{key:"bonnet_house",label:"menu.residentialBuildingExamples.BonnetHouse"},{key:"barn_house",label:"menu.residentialBuildingExamples.BarnStyleHouse"},{key:"modern_house_01",label:"menu.residentialBuildingExamples.ModernHouse"}].map(B5)},{key:"commercial_buildings",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.commercialBuildingsSubMenu",t)}),children:[{key:"white_house",label:"menu.commercialBuildingExamples.WhiteHouse"},{key:"bilim_mersin_turkiye",label:"menu.commercialBuildingExamples.BilimMersinTurkiye"},{key:"spanish_style_hotel",label:"menu.commercialBuildingExamples.SpanishStyleHotel"},{key:"apartment_building_01",label:"menu.commercialBuildingExamples.ApartmentBuilding"},{key:"office_building_01",label:"menu.commercialBuildingExamples.OfficeBuilding"},{key:"hotel_01",label:"menu.commercialBuildingExamples.Hotel"}].map(B5)},{key:"other_buildings",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.otherBuildingsSubMenu",t)}),children:[{key:"greenhouse",label:"menu.otherBuildingExamples.Greenhouse"},{key:"church_01",label:"menu.residentialBuildingExamples.Church1"},{key:"cathedral_01",label:"menu.residentialBuildingExamples.Cathedral1"},{key:"cathedral_02",label:"menu.residentialBuildingExamples.Cathedral2"},{key:"mosque_01",label:"menu.residentialBuildingExamples.Mosque1"},{key:"pavilion",label:"menu.otherBuildingExamples.Pavilion"},{key:"octagonal_pagoda",label:"menu.otherBuildingExamples.OctagonalPagoda"},{key:"ocean_front",label:"menu.otherBuildingExamples.OceanFront"},{key:"egyptian_pyramids",label:"menu.otherBuildingExamples.EgyptianPyramids"},{key:"mayan_pyramid",label:"menu.otherBuildingExamples.MayanPyramid"},{key:"si_o_se_pol",label:"menu.otherBuildingExamples.SiOSePol"},{key:"stacked_cuboids",label:"menu.otherBuildingExamples.StackedCuboids"}].map(B5)},{key:"building_complexes",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingComplexesSubMenu",t)}),children:[{key:"south_burlington_high_school",label:"menu.buildingComplexExamples.SouthBurlingtonHighSchoolVermont"},{key:"mescalero_apache_school",label:"menu.buildingComplexExamples.MescaleroApacheSchoolNewMexico"}].map(B5)},{key:"urban_planning",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.urbanPlanningSubMenu",t)}),children:[{key:"heatmap_01",label:"menu.urbanPlanningExamples.Heatmap1"}].map(B5)}]},{key:"artificial-intelligence",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.artificialIntelligenceSubMenu",t)}),children:[{key:"ai_tilt_angle_one_row",label:"menu.artificialIntelligenceExamples.OptimizingTiltAngleOfOneSolarPanelRow"},{key:"ai_tilt_angles_multiple_rows",label:"menu.artificialIntelligenceExamples.OptimizingTiltAnglesOfMultipleSolarPanelRows"},{key:"ai_solar_farm_design",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesign"},{key:"ai_solar_farm_design_block",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesignWithBlock"},{key:"ai_fitchburg_solar_farm",label:"menu.artificialIntelligenceExamples.FitchburgSolarFarmGenerativeDesign"}].map(B5)},{key:"benchmarks",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.benchmarksSubMenu",t)}),children:[{key:"solar_radiation_predicted_vs_measured",label:"menu.benchmarks.SolarRadiationPredictionVsMeasurement"},{key:"bestest_case_600",label:"menu.benchmarks.BESTESTCase600"},{key:"bestest_case_610",label:"menu.benchmarks.BESTESTCase610"},{key:"bestest_case_620",label:"menu.benchmarks.BESTESTCase620"},{key:"bestest_case_630",label:"menu.benchmarks.BESTESTCase630"}].map(B5)}]},KYn=Ho.div` + */var MYn="storage";function IYn(t,e){var n=e.instanceIdentifier,o=t.getProvider("app").getImmediate(),i=t.getProvider("auth-internal"),r=t.getProvider("app-check-internal"),a=new CYn(o,new bZ(o,i,r,new Pjn,n,ro.SDK_VERSION));return a}function zYn(t){var e={TaskState:Xh,TaskEvent:bjn,StringFormat:Fm,Storage:bZ,Reference:bF};t.INTERNAL.registerComponent(new Lb(MYn,IYn,"PUBLIC").setServiceProps(e).setMultipleInstances(!0)),t.registerVersion(RYn,HYn)}zYn(ro);const tae=async(t,e,n)=>{try{return(await ro.firestore().collection("users").doc(t).collection("projects").doc(e).get()).exists}catch(o){n(o)}},Ctt=async(t,e,n)=>{const o={lng:M.getState().language};await ro.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{const r=i.data();r?n({owner:t,title:i.id,timestamp:r.timestamp,description:r.description,dataColoring:r.dataColoring??n9.ALL,type:r.type,designs:r.designs,ranges:r.ranges??[],filters:r.filters??[],hiddenParameters:r.hiddenParameters,counter:r.counter??0,selectedProperty:r.selectedProperty,sortDescending:r.sortDescending,xAxisNameScatterPlot:r.xAxisNameScatterPlot,yAxisNameScatterPlot:r.yAxisNameScatterPlot,dotSizeScatterPlot:r.dotSizeScatterPlot,thumbnailWidth:r.thumbnailWidth}):Do(j.t("message.CannotOpenProject",o)+": "+e)}).catch(i=>{Do(j.t("message.CannotOpenProject",o)+": "+i)})},DYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:ro.firestore.FieldValue.arrayRemove(n)}).then(()=>{ht.getState().set(i=>{i.updateProjectsFlag=!0}),ro.firestore().collection("users").doc(t).collection("designs").doc(n.title).delete().then(()=>{M.getState().set(i=>{n.title===i.cloudFile&&(i.cloudFile=void 0)}),hn(j.t("message.DesignRemovedFromProject",o)+".")}).catch(i=>{Do(j.t("message.CannotDeleteCloudFile",o)+": "+i)})})}catch(i){Do(j.t("message.CannotRemoveDesignFromProject",o)+": "+i)}},EYn=async(t,e,n,o)=>{const i={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({hiddenParameters:o?ro.firestore.FieldValue.arrayUnion(n):ro.firestore.FieldValue.arrayRemove(n)})}catch(r){Do(j.t("message.CannotUpdateProject",i)+": "+r)}},xO=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:ro.firestore.FieldValue.arrayUnion(n)})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},rCe=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({ranges:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},kYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({description:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},FYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({dataColoring:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},LYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({selectedProperty:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},WYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({xAxisNameScatterPlot:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},NYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({yAxisNameScatterPlot:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},UYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({dotSizeScatterPlot:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},BYn=async(t,e,n)=>{const o={lng:M.getState().language};try{await ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({thumbnailWidth:n})}catch(i){Do(j.t("message.CannotUpdateProject",o)+": "+i)}},Rtt=(t,e,n)=>{let o={timestamp:Date.now(),title:e,thumbnail:n,excluded:!1};switch(t){case Tr.SOLAR_PANEL_ARRAY:{const i=M.getState().world.latitude,r=xe.countAllSolarPanels(),a=xe.countAllSolarPanelDailyYields(),l=xe.countAllSolarPanelYearlyYields(),s=M.getState().economicsParams,c=s.operationalCostPerUnit,u=s.electricitySellingPrice;o={latitude:i,unitCost:c,sellingPrice:u,panelCount:r,dailyYield:a,yearlyYield:l,...o,...M.getState().solarPanelArrayLayoutParams};break}case Tr.SOLAR_PANEL_TILT_ANGLE:break}return o},aCe=(t,e)=>{if(!e)return null;const n=[];for(const o of e){const i={...o};i.title=jYn(t,o.title),i.timestamp=Date.now(),n.push(i)}return n},jYn=(t,e)=>{const n=e.lastIndexOf(" ");return t+e.substring(n)},YYn=t=>{const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.drawImage(t,1,1),e.toDataURL()},lCe=(t,e,n,o)=>{const i={lng:M.getState().language};ro.firestore().collection("users").doc(n??o).collection("designs").doc(t).get().then(r=>{if(r.exists){const a=r.data();a&&ro.firestore().collection("users").doc(o).collection("designs").doc(e).set(a).then(()=>{hn(j.t("message.CloudFileCopied",i)+": "+e)}).catch(l=>{Do(j.t("message.CannotWriteCloudFile",i)+": "+l)})}else Do(j.t("message.CannotReadCloudFile",i))}).catch(r=>{Do(j.t("message.CannotReadCloudFile",i)+": "+r)})},OYn=(t,e,n)=>{const o={lng:M.getState().language};ro.firestore().collection("users").doc(t).collection("projects").doc(e).get().then(i=>{if(i.exists){const r=i.data();if(r){const a=[];a.push(...r.designs);let l=-1;for(const[s,c]of a.entries())if(c.title===n.title){l=s;break}l>=0&&(a[l].invisible=!n.invisible,ro.firestore().collection("users").doc(t).collection("projects").doc(e).update({designs:a}).then(()=>{}).catch(s=>{Do(j.t("message.CannotUpdateProject",o)+": "+s)}))}}}).catch(i=>{Do(j.t("message.CannotFetchProjectData",o)+": "+i)}).finally(()=>{})},_Yn=async(t,e,n,o,i,r)=>{const a={lng:M.getState().language};if(ht.getState().set(l=>{l.waiting=!0}),await ro.firestore().collection("users").doc(t).collection("designs").doc(i).set(M.getState().exportContent()),ht.getState().setChanged(!1),r){const l=xe.resizeCanvas(r,o).toDataURL();ro.firestore().collection("users").doc(t).collection("projects").doc(n).get().then(s=>{if(s.exists){const c=s.data();if(c){const u=[];u.push(...c.designs);let d=-1;for(const[f,p]of u.entries())if(p.title===i){d=f;break}d>=0&&(u[d]=Rtt(e,i,l),ro.firestore().collection("users").doc(t).collection("projects").doc(n).update({designs:u}).then(()=>{}).catch(f=>{Do(j.t("message.CannotUpdateProject",a)+": "+f)}).finally(()=>{M.getState().set(f=>{f.projectState.designs=u}),ht.getState().set(f=>{f.updateProjectsFlag=!0,f.waiting=!1})}))}}}).catch(s=>{Do(j.t("message.CannotFetchProjectData",a)+": "+s)}).finally(()=>{})}},sCe=async(t,e,n)=>{try{return(await ro.firestore().collection("users").doc(t).collection("files").doc(e).get()).exists}catch(o){n(o)}},IX=async(t,e,n,o,i)=>{const r={lng:M.getState().language};M.getState().undoManager.clear(),ht.getState().set(a=>{a.waiting=!0});try{const l=(await ro.firestore().collection("users").doc(t).collection(n?"designs":"files").doc(e).get()).data();if(l?M.getState().importContent(l,e):(hn(j.t("message.CloudFileNotFound",r)+": "+e),M.getState().set(s=>{s.cloudFile=void 0}),ht.getState().set(s=>{s.waiting=!1})),!o&&!i){const s=qp+"?client=web&userid="+t+"&title="+encodeURIComponent(e);window.history.pushState({},document.title,s)}}catch(a){Do(j.t("message.CannotOpenCloudFile",r)+": "+a),ht.getState().set(l=>{l.waiting=!1})}},H4=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:j.t(e,{lng:M.getState().language})})}),VYn=t=>{const e={lng:M.getState().language},n=M.getState().set,o=a=>{n(l=>{l.projectState={...a},l.projectImages.clear(),l.projectView=!0}),ht.getState().set(l=>{l.projectImagesUpdateFlag=!l.projectImagesUpdateFlag,l.updateProjectsFlag=!0})},i=(a,l)=>{const s="QWecNcxhyvP6j6sBN11hBsfZDau1";a&&s&&(Ctt(s,a,o).then(()=>{IX(s,a+" "+l,!0,!0,t).then(()=>{})}),ht.getState().set(c=>{c.openModelsMap=!1}),M.getState().loggable&&n(c=>{c.actionInfo={name:"Open Example: "+a,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))};return[{key:"solar-energy-science",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarEnergyScienceSubMenu",e)}),children:[{key:"sun_angles",label:"menu.solarEnergyScienceTutorials.SunAngles"},{key:"insolation_and_climate",label:"menu.solarEnergyScienceTutorials.InsolationAndClimate"},{key:"solar_radiation_to_box",label:"menu.solarEnergyScienceTutorials.SolarRadiationToBox"},{key:"sun_beam_at_center",label:"menu.solarEnergyExamples.SunBeamAndHeliodon"}].map(H4)},{key:"building-science",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingScienceSubMenu",e)}),children:[{key:"thermal_vs_building_envelope",label:"menu.buildingScienceTutorials.ThermalEnvelopeVsBuildingEnvelope"},{key:"effect_house_size",label:"menu.buildingScienceTutorials.EffectOfSizeOnBuildingEnergy"},{key:"effect_house_orientation",label:"menu.buildingScienceTutorials.EffectOfOrientationOnBuildingEnergy"},{key:"effect_wall_roof_insulation",label:"menu.buildingScienceTutorials.EffectOfInsulationOnBuildingEnergy"},{key:"effect_roof_color",label:"menu.buildingScienceTutorials.EffectOfRoofColorOnBuildingEnergy"},{key:"effect_eaves_overhang_length",label:"menu.buildingScienceTutorials.EffectOfEavesOverhangLengthOnBuildingEnergy"},{key:"effect_window_shgc",label:"menu.buildingScienceTutorials.EffectOfWindowSHGCOnBuildingEnergy"},{key:"effect_thermostat_setpoint",label:"menu.buildingScienceTutorials.EffectOfThermostatSetpointOnBuildingEnergy"},{key:"effect_solar_panels",label:"menu.buildingScienceTutorials.EffectOfSolarPanelsOnBuildingEnergy"},{key:"effect_ground_temperature",label:"menu.buildingScienceTutorials.EffectOfGroundTemperatureOnBuildingEnergy"},{key:"effect_trees",label:"menu.buildingScienceTutorials.EffectOfTreesOnBuildingEnergy"}].map(H4)},{key:"building-design",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingDesignSubMenu",e)}),children:[{key:"cape_cod_with_shed_dormer",label:"menu.buildingDesignTutorials.CapeCodStyleHouseWithShedDormer"},{key:"mansard_roof_with_dormers",label:"menu.buildingDesignTutorials.MansardRoofWithDormers"},{key:"gable_roof_vs_hip_roof",label:"menu.buildingDesignTutorials.GableRoofVsHipRoof"},{key:"colonial_vs_saltbox",label:"menu.buildingDesignTutorials.ColonialVsSaltbox"},{key:"gambrel_roof_vs_mansard_roof",label:"menu.buildingDesignTutorials.GambrelRoofVsMansardRoof"},{key:"combination_roof_vs_bonnet_roof",label:"menu.buildingDesignTutorials.CombinationRoofVsBonnetRoof"},{key:"dutch_gable_roof",label:"menu.buildingDesignTutorials.DutchGableRoof"},{key:"gable_and_valley_roof",label:"menu.buildingDesignTutorials.GableAndValleyRoof"},{key:"clerestory_roof",label:"menu.buildingDesignTutorials.ClerestoryRoof"},{key:"monitor_roof",label:"menu.buildingDesignTutorials.MonitorRoof"},{key:"a_frame_house",label:"menu.buildingDesignTutorials.AFrameHouse"},{key:"half_timbered_house",label:"menu.buildingDesignTutorials.HalfTimberedHouse"},{key:"all_roof_types",label:"menu.buildingDesignTutorials.AllBasicRoofTypes"}].map(H4)},{key:"photovoltaic-solar-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.photovoltaicSolarPowerSubMenu",e)}),children:[{key:"effect_tilt_angle_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfTiltAngleOfSolarPanel"},{key:"effect_azimuth_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfAzimuthOfSolarPanel"},{key:"solar_panel_types",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelTypes"},{key:"vertical_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.VerticalBifacialSolarPanels"},{key:"compare_monofacial_bifacial_solar_panels",label:"menu.photovoltaicSolarPowerTutorials.CompareMonofacialAndBifacialSolarPanels"},{key:"solar_trackers",label:"menu.photovoltaicSolarPowerTutorials.SolarTrackers"},{key:"why_solar_array",label:"menu.photovoltaicSolarPowerTutorials.CoveringGroundWithSolarPanels"},{key:"inter_row_spacing",label:"menu.photovoltaicSolarPowerTutorials.InterRowSpacingOfSolarPanelArray"},{key:"effect_orientation_solar_panel",label:"menu.photovoltaicSolarPowerTutorials.EffectOfOrientationOfSolarPanels"},{key:"solar_panel_array_auto_layout",label:"menu.photovoltaicSolarPowerTutorials.SolarPanelArrayAutomaticLayout"},{key:"rooftop_solar_panels",label:"menu.solarEnergyExamples.RooftopSolarPanels"},{key:"solar_canopy_form_factors",label:"menu.solarEnergyExamples.SolarCanopyFormFactors"},{key:"bipv_01",label:"menu.solarEnergyExamples.BuildingIntegratedPhotovoltaics"}].map(H4)},{key:"concentrated-solar-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.concentratedSolarPowerSubMenu",e)}),children:[{key:"parabolic_dish_focus_sunlight",label:"menu.concentratedSolarPowerTutorials.FocusSunlightWithParabolicDish"},{key:"effect_azimuth_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfParabolicTrough"},{key:"effect_latus_rectum_parabolic_trough",label:"menu.concentratedSolarPowerTutorials.EffectOfLatusRectumOfParabolicTrough"},{key:"linear_fresnel_reflectors",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectors"},{key:"effect_absorber_pipe_height",label:"menu.concentratedSolarPowerTutorials.EffectOfAbsorberPipeHeightForLinearFresnelReflectors"},{key:"effect_azimuth_fresnel_reflector",label:"menu.concentratedSolarPowerTutorials.EffectOfAzimuthOfLinearFresnelReflectors"},{key:"linear_fresnel_reflectors_two_absorbers",label:"menu.concentratedSolarPowerTutorials.LinearFresnelReflectorsWithTwoAbsorbers"},{key:"solar_power_tower",label:"menu.concentratedSolarPowerTutorials.SolarPowerTower"},{key:"cosine_efficiency_heliostats",label:"menu.concentratedSolarPowerTutorials.CosineEfficiencyOfHeliostats"},{key:"shadowing_blocking_heliostats",label:"menu.concentratedSolarPowerTutorials.ShadowingAndBlockingOfHeliostats"},{key:"effect_solar_power_tower_height",label:"menu.concentratedSolarPowerTutorials.EffectSolarPowerTowerHeight"}].map(H4)},{key:"other-types-of-solar-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.otherTypesOfSolarPowerSubMenu",e)}),children:[{key:"solar_updraft_tower",label:"menu.otherTypesOfSolarPowerTutorials.SolarUpdraftTower"}].map(H4)},{key:"wind-power",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.windPowerSubMenu",e)}),children:[{key:"effect_blade_number",label:"menu.windPowerTutorials.EffectOfBladeNumberOfWindTurbine"},{key:"effect_pitch_angle",label:"menu.windPowerTutorials.EffectOfPitchAngleOfWindTurbineBlades"},{key:"bird_safe_blade_design",label:"menu.windPowerTutorials.BirdSafeBladeDesign"},{key:"offshore_wind_farm",label:"menu.windPowerTutorials.OffshoreWindFarm"}].map(H4)},{key:"colocation",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.colocationSubMenu",e)}),children:[{key:"agriculture_solar_wind_colocation",label:"menu.colocationTutorials.AgricultureSolarWindColocation"}].map(H4)},{key:"generative-design",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.generativeDesignSubMenu",e)}),children:[{key:"Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Tilt Angle",48),children:j.t("menu.generativeDesignTutorials.MonofacialSolarPanelArrayTiltAngle",e)})},{key:"Bifacial Tilt Angle",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Bifacial Tilt Angle",50),children:j.t("menu.generativeDesignTutorials.BifacialSolarPanelArrayTiltAngle",e)})},{key:"Latitude",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Latitude",0),children:j.t("menu.generativeDesignTutorials.OutputOfSolarPanelArrayInDifferentPlaces",e)})},{key:"Pareto Front",label:h.jsx(tn,{noPadding:!0,onClick:()=>i("Pareto Front",0),children:j.t("menu.generativeDesignTutorials.SimpleSolarFarmParetoFront",e)})}]}]},B5=({key:t,label:e})=>({key:t,label:h.jsx(tn,{noPadding:!0,children:j.t(e,{lng:M.getState().language})})}),GYn=()=>{const t={lng:M.getState().language};return[{key:"solar-energy",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.solarEnergySubMenu",t)}),children:[{key:"photovoltaic-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.photovoltaicSolarPowerSubMenu",t)}),children:[{key:"vegetative_buffer_01",label:"menu.solarEnergyExamples.VegetativeBuffer"},{key:"solar_canopy_over_bleachers",label:"menu.solarEnergyExamples.SolarCanopyOverBleachers"},{key:"solar_canopy_over_garage",label:"menu.solarEnergyExamples.SolarCanopyOverGarage"},{key:"solar_bus_stop",label:"menu.solarEnergyExamples.SolarBusStop"},{key:"solar_facade_tesla",label:"menu.solarEnergyExamples.SolarFacadeTesla"},{key:"floatovoltaics",label:"menu.solarEnergyExamples.Floatovoltaics"},{key:"rainbow_swash_solar_farm",label:"menu.solarEnergyExamples.RainbowSwashSolarFarmBostonMA"},{key:"mickey_mouse_solar_farm",label:"menu.solarEnergyExamples.MickeyMouseSolarFarmOrlandoFL"},{key:"solar_panels_over_canal",label:"menu.solarEnergyExamples.SolarPanelsOverCanalBakersfieldCA"},{key:"solar_noise_barrier",label:"menu.solarEnergyExamples.SolarNoiseBarrierLexingtonMA"},{key:"solar_farm_hsat_array",label:"menu.solarEnergyExamples.HSATSolarTrackersRaleighNC"},{key:"solar_farm_aadat_array",label:"menu.solarEnergyExamples.AADATSolarTrackersLancasterCA"}].map(B5)},{key:"concentrated-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.concentratedSolarPowerSubMenu",t)}),children:[{key:"nevada_solar_one_parabolic_troughs",label:"menu.solarEnergyExamples.NevadaSolarOneParabolicTroughArray"},{key:"tooele_parabolic_dish_array",label:"menu.solarEnergyExamples.TooeleParabolicDishArray"},{key:"tucson_sundt_station",label:"menu.solarEnergyExamples.TucsonLinearFresnelReflectors"},{key:"ps10_solar_power_tower",label:"menu.solarEnergyExamples.PS10SolarPowerTower"}].map(B5)},{key:"other-types-of-solar-power-examples",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.otherTypesOfSolarPowerSubMenu",t)}),children:[{key:"solar_updraft_tower_city",label:"menu.solarEnergyExamples.SolarUpdraftTowerInCity"}].map(B5)}]},{key:"built-environment",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.builtEnvironmentSubMenu",t)}),children:[{key:"residential_buildings",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.residentialBuildingsSubMenu",t)}),children:[{key:"colonial_house",label:"menu.residentialBuildingExamples.ColonialHouse"},{key:"dutch_colonial_house",label:"menu.residentialBuildingExamples.DutchColonialHouse"},{key:"t_shaped_house",label:"menu.residentialBuildingExamples.TShapedHouse"},{key:"cape_cod_with_garage",label:"menu.residentialBuildingExamples.CapeCodHouseWithGarage"},{key:"solarium",label:"menu.residentialBuildingExamples.Solarium"},{key:"butterfly_roof_house",label:"menu.residentialBuildingExamples.ButterflyRoofHouse"},{key:"adobe_taos_house",label:"menu.residentialBuildingExamples.AdobeTaosHouse"},{key:"ranch_house",label:"menu.residentialBuildingExamples.RanchHouse"},{key:"bonnet_house",label:"menu.residentialBuildingExamples.BonnetHouse"},{key:"barn_house",label:"menu.residentialBuildingExamples.BarnStyleHouse"},{key:"modern_house_01",label:"menu.residentialBuildingExamples.ModernHouse"}].map(B5)},{key:"commercial_buildings",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.commercialBuildingsSubMenu",t)}),children:[{key:"white_house",label:"menu.commercialBuildingExamples.WhiteHouse"},{key:"bilim_mersin_turkiye",label:"menu.commercialBuildingExamples.BilimMersinTurkiye"},{key:"spanish_style_hotel",label:"menu.commercialBuildingExamples.SpanishStyleHotel"},{key:"apartment_building_01",label:"menu.commercialBuildingExamples.ApartmentBuilding"},{key:"office_building_01",label:"menu.commercialBuildingExamples.OfficeBuilding"},{key:"hotel_01",label:"menu.commercialBuildingExamples.Hotel"}].map(B5)},{key:"other_buildings",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.otherBuildingsSubMenu",t)}),children:[{key:"greenhouse",label:"menu.otherBuildingExamples.Greenhouse"},{key:"church_01",label:"menu.residentialBuildingExamples.Church1"},{key:"cathedral_01",label:"menu.residentialBuildingExamples.Cathedral1"},{key:"cathedral_02",label:"menu.residentialBuildingExamples.Cathedral2"},{key:"mosque_01",label:"menu.residentialBuildingExamples.Mosque1"},{key:"pavilion",label:"menu.otherBuildingExamples.Pavilion"},{key:"octagonal_pagoda",label:"menu.otherBuildingExamples.OctagonalPagoda"},{key:"ocean_front",label:"menu.otherBuildingExamples.OceanFront"},{key:"egyptian_pyramids",label:"menu.otherBuildingExamples.EgyptianPyramids"},{key:"mayan_pyramid",label:"menu.otherBuildingExamples.MayanPyramid"},{key:"si_o_se_pol",label:"menu.otherBuildingExamples.SiOSePol"},{key:"stacked_cuboids",label:"menu.otherBuildingExamples.StackedCuboids"}].map(B5)},{key:"building_complexes",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.buildingComplexesSubMenu",t)}),children:[{key:"south_burlington_high_school",label:"menu.buildingComplexExamples.SouthBurlingtonHighSchoolVermont"},{key:"mescalero_apache_school",label:"menu.buildingComplexExamples.MescaleroApacheSchoolNewMexico"}].map(B5)},{key:"urban_planning",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.urbanPlanningSubMenu",t)}),children:[{key:"heatmap_01",label:"menu.urbanPlanningExamples.Heatmap1"}].map(B5)}]},{key:"artificial-intelligence",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.artificialIntelligenceSubMenu",t)}),children:[{key:"ai_tilt_angle_one_row",label:"menu.artificialIntelligenceExamples.OptimizingTiltAngleOfOneSolarPanelRow"},{key:"ai_tilt_angles_multiple_rows",label:"menu.artificialIntelligenceExamples.OptimizingTiltAnglesOfMultipleSolarPanelRows"},{key:"ai_solar_farm_design",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesign"},{key:"ai_solar_farm_design_block",label:"menu.artificialIntelligenceExamples.SolarFarmGenerativeDesignWithBlock"},{key:"ai_fitchburg_solar_farm",label:"menu.artificialIntelligenceExamples.FitchburgSolarFarmGenerativeDesign"}].map(B5)},{key:"benchmarks",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.benchmarksSubMenu",t)}),children:[{key:"solar_radiation_predicted_vs_measured",label:"menu.benchmarks.SolarRadiationPredictionVsMeasurement"},{key:"bestest_case_600",label:"menu.benchmarks.BESTESTCase600"},{key:"bestest_case_610",label:"menu.benchmarks.BESTESTCase610"},{key:"bestest_case_620",label:"menu.benchmarks.BESTESTCase620"},{key:"bestest_case_630",label:"menu.benchmarks.BESTESTCase630"}].map(B5)}]},XYn=Ho.div` width: 100px; -`,qYn=Ho.img` +`,JYn=Ho.img` position: absolute; top: 10px; left: 10px; @@ -6918,7 +6918,7 @@ Content-Type: `+c.contentType+`\r &:hover { opacity: 0.5; } -`,$Yn=Ho.div` +`,KYn=Ho.div` position: absolute; top: 54px; left: 0; @@ -6928,15 +6928,15 @@ Content-Type: `+c.contentType+`\r align-items: center; user-select: none; z-index: 9; -`,dCe="tutorials-submenu",fCe="examples-submenu",QYn=be.memo(({viewOnly:t,canvas:e})=>{const n=M(dn),o=M(ege),i=ht(Aq),r=M.getState().loggable,a=M.getState().language,l=M.getState().undoManager,s=ht.getState().changed,c=M.getState().cloudFile,u=M.getState().user,d=M.getState().elementsToPaste,f=M.getState().selectedElement;ht(N=>N.contextMenuFlag);const[p,g]=m.useState(!1),[A,w]=m.useState(!1),b=N=>{N&&w(!A)},{t:C}=jl(),P=m.useMemo(()=>({lng:a}),[a]),v=m.useMemo(()=>xe.isMac(),[]),T=m.useMemo(()=>{const N=xe.getOS();return N&&(N.includes("OS X")||N.includes("Chrome"))?"Ctrl+Alt+H":"Ctrl+Home"},[]),y=N=>{N.keyPath.find(L=>L===dCe||L===fCe)&&S(N.key)},S=N=>{const L=qEn(N);L&&(ht.getState().set(E=>{E.openModelsMap=!1}),!t&&s?_r.confirm({title:C("message.DoYouWantToSaveChanges",P),icon:h.jsx($m,{}),onOk:()=>x(L),onCancel:()=>{ht.getState().set(E=>{E.waiting=!0}),setTimeout(()=>{o(L)},10)},okText:C("word.Yes",P),cancelText:C("word.No",P)}):(ht.getState().set(E=>{E.waiting=!0}),setTimeout(()=>{o(L)},10)),r&&n(E=>{E.actionInfo={name:"Open Example: "+N,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))},x=N=>{c?(n(L=>{L.localContentToImportAfterCloudFileUpdate=N}),ht.getState().setSaveCloudFileFlag(!0)):u.uid?n(L=>{L.localContentToImportAfterCloudFileUpdate=N,L.showCloudFileTitleDialogFlag=!L.showCloudFileTitleDialogFlag,L.showCloudFileTitleDialog=!0}):hn(C("menu.file.ToSaveYourWorkPleaseSignIn",P))},R=()=>{g(!0)},H=()=>{g(!1)},D=d&&d.length>0,k=M.getState().countAllElementsByType(),W=[];return i||W.push({key:"file-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.fileSubMenu",P)}),children:Ykn(t,v,e)}),!i&&!t&&u.uid&&W.push({key:"project-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.projectSubMenu",P)}),children:Gkn()}),(f||D||l.hasUndo()||l.hasRedo())&&!i&&W.push({key:"edit-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.editSubMenu",P)}),children:Xkn(f,D,l,v)}),i||W.push({key:"view-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.viewSubMenu",P)}),children:rLn(T,v)}),i||W.push({key:"settings-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.settingsSubMenu",P)}),children:aLn()}),i||W.push({key:"accessories-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.view.accessoriesSubMenu",P)}),children:lLn()}),!i&&k.gotSome()&&W.push({key:"analysis-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.analysisSubMenu",P)}),children:yLn(k)}),W.push({key:dCe,label:h.jsx(tn,{noPadding:!0,children:j.t("menu.tutorialsSubMenu",P)}),children:XYn(t)}),W.push({key:fCe,label:h.jsx(tn,{noPadding:!0,children:j.t("menu.examplesSubMenu",P)}),children:JYn()}),W.push({key:"public-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.publicSubMenu",P)}),children:iLn(u.uid,t,i)}),W.push({key:"language-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.languageSubMenu",P)}),children:[{key:"language-radio-group",label:h.jsx(oLn,{}),style:{backgroundColor:"white"}}]}),W.push({key:"about-us-window",label:h.jsxs(tn,{noPadding:!0,onClick:R,children:[j.t("menu.AboutUs",P),"..."]})}),h.jsxs(h.Fragment,{children:[h.jsx(W7,{menu:{items:W,onClick:y},trigger:["click"],onOpenChange:b,children:h.jsxs(KYn,{children:[h.jsx(qYn,{src:ken,title:C("tooltip.clickToOpenMenu",P)}),h.jsx($Yn,{children:h.jsx("span",{style:{fontSize:"10px",alignContent:"center",cursor:"pointer"},children:C("menu.mainMenu",P)})})]})}),p&&h.jsx(Wen,{close:H})]})});var Itt={exports:{}};/*! +`,cCe="tutorials-submenu",uCe="examples-submenu",qYn=be.memo(({viewOnly:t,canvas:e})=>{const n=M(dn),o=M(ege),i=ht(Aq),r=M.getState().loggable,a=M.getState().language,l=M.getState().undoManager,s=ht.getState().changed,c=M.getState().cloudFile,u=M.getState().user,d=M.getState().elementsToPaste,f=M.getState().selectedElement;ht(N=>N.contextMenuFlag);const[p,g]=m.useState(!1),[A,w]=m.useState(!1),b=N=>{N&&w(!A)},{t:C}=jl(),P=m.useMemo(()=>({lng:a}),[a]),v=m.useMemo(()=>xe.isMac(),[]),T=m.useMemo(()=>{const N=xe.getOS();return N&&(N.includes("OS X")||N.includes("Chrome"))?"Ctrl+Alt+H":"Ctrl+Home"},[]),y=N=>{N.keyPath.find(L=>L===cCe||L===uCe)&&S(N.key)},S=N=>{const L=JEn(N);L&&(ht.getState().set(E=>{E.openModelsMap=!1}),!t&&s?_r.confirm({title:C("message.DoYouWantToSaveChanges",P),icon:h.jsx($m,{}),onOk:()=>x(L),onCancel:()=>{ht.getState().set(E=>{E.waiting=!0}),setTimeout(()=>{o(L)},10)},okText:C("word.Yes",P),cancelText:C("word.No",P)}):(ht.getState().set(E=>{E.waiting=!0}),setTimeout(()=>{o(L)},10)),r&&n(E=>{E.actionInfo={name:"Open Example: "+N,timestamp:new Date().getTime()}}),t||window.history.pushState({},document.title,qp))},x=N=>{c?(n(L=>{L.localContentToImportAfterCloudFileUpdate=N}),ht.getState().setSaveCloudFileFlag(!0)):u.uid?n(L=>{L.localContentToImportAfterCloudFileUpdate=N,L.showCloudFileTitleDialogFlag=!L.showCloudFileTitleDialogFlag,L.showCloudFileTitleDialog=!0}):hn(C("menu.file.ToSaveYourWorkPleaseSignIn",P))},R=()=>{g(!0)},H=()=>{g(!1)},D=d&&d.length>0,k=M.getState().countAllElementsByType(),W=[];return i||W.push({key:"file-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.fileSubMenu",P)}),children:Bkn(t,v,e)}),!i&&!t&&u.uid&&W.push({key:"project-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.projectSubMenu",P)}),children:_kn()}),(f||D||l.hasUndo()||l.hasRedo())&&!i&&W.push({key:"edit-sub-menu",label:h.jsx(tn,{noPadding:!0,children:C("menu.editSubMenu",P)}),children:Vkn(f,D,l,v)}),i||W.push({key:"view-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.viewSubMenu",P)}),children:oLn(T,v)}),i||W.push({key:"settings-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.settingsSubMenu",P)}),children:iLn()}),i||W.push({key:"accessories-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.view.accessoriesSubMenu",P)}),children:rLn()}),!i&&k.gotSome()&&W.push({key:"analysis-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.analysisSubMenu",P)}),children:gLn(k)}),W.push({key:cCe,label:h.jsx(tn,{noPadding:!0,children:j.t("menu.tutorialsSubMenu",P)}),children:VYn(t)}),W.push({key:uCe,label:h.jsx(tn,{noPadding:!0,children:j.t("menu.examplesSubMenu",P)}),children:GYn()}),W.push({key:"public-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.publicSubMenu",P)}),children:nLn(u.uid,t,i)}),W.push({key:"language-sub-menu",label:h.jsx(tn,{noPadding:!0,children:j.t("menu.languageSubMenu",P)}),children:[{key:"language-radio-group",label:h.jsx(tLn,{}),style:{backgroundColor:"white"}}]}),W.push({key:"about-us-window",label:h.jsxs(tn,{noPadding:!0,onClick:R,children:[j.t("menu.AboutUs",P),"..."]})}),h.jsxs(h.Fragment,{children:[h.jsx(W7,{menu:{items:W,onClick:y},trigger:["click"],onOpenChange:b,children:h.jsxs(XYn,{children:[h.jsx(JYn,{src:Den,title:C("tooltip.clickToOpenMenu",P)}),h.jsx(KYn,{children:h.jsx("span",{style:{fontSize:"10px",alignContent:"center",cursor:"pointer"},children:C("menu.mainMenu",P)})})]})}),p&&h.jsx(Fen,{close:H})]})});var Htt={exports:{}};/*! * JavaScript Cookie v2.2.1 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license - */(function(t,e){(function(n){var o;if(t.exports=n(),o=!0,!o){var i=window.Cookies,r=window.Cookies=n();r.noConflict=function(){return window.Cookies=i,r}}})(function(){function n(){for(var r=0,a={};r"u")){d=n({path:"/"},a.defaults,d),typeof d.expires=="number"&&(d.expires=new Date(new Date*1+d.expires*864e5)),d.expires=d.expires?d.expires.toUTCString():"";try{var f=JSON.stringify(u);/^[\{\[]/.test(f)&&(u=f)}catch{}u=r.write?r.write(u,c):encodeURIComponent(String(u)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),c=encodeURIComponent(String(c)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var p="";for(var g in d)d[g]&&(p+="; "+g,d[g]!==!0&&(p+="="+d[g].split(";")[0]));return document.cookie=c+"="+u+p}}function s(c,u){if(!(typeof document>"u")){for(var d={},f=document.cookie?document.cookie.split("; "):[],p=0;p=0)&&(n[i]=t[i]);return n}var Cde={TOP:"top",BOTTOM:"bottom",NONE:"none"},DX;(function(t){t.STRICT="strict",t.LAX="lax",t.NONE="none"})(DX||(DX={}));var Rde={HIDDEN:"hidden",SHOW:"show",BY_COOKIE_VALUE:"byCookieValue"},ztt="CookieConsent",oOn=["children"],iOn=function(e){var n=e.children,o=nOn(e,oOn);return be.createElement("button",Object.assign({},o),n)},HD={disableStyles:!1,hideOnAccept:!0,hideOnDecline:!0,location:Cde.BOTTOM,visible:Rde.BY_COOKIE_VALUE,onAccept:function(e){},onDecline:function(){},cookieName:ztt,cookieValue:"true",declineCookieValue:"false",setDeclineCookie:!0,buttonText:"I understand",declineButtonText:"I decline",debug:!1,expires:365,containerClasses:"CookieConsent",contentClasses:"",buttonClasses:"",buttonWrapperClasses:"",declineButtonClasses:"",buttonId:"rcc-confirm-button",declineButtonId:"rcc-decline-button",extraCookieOptions:{},disableButtonStyles:!1,enableDeclineButton:!1,flipButtons:!1,sameSite:DX.LAX,ButtonComponent:iOn,overlay:!1,overlayClasses:"",onOverlayClick:function(){},acceptOnOverlayClick:!1,ariaAcceptLabel:"Accept cookies",ariaDeclineLabel:"Decline cookies",acceptOnScroll:!1,acceptOnScrollPercentage:25,customContentAttributes:{},customContainerAttributes:{},customButtonProps:{},customDeclineButtonProps:{},customButtonWrapperAttributes:{},style:{},buttonStyle:{},declineButtonStyle:{},contentStyle:{},overlayStyle:{}},rOn={visible:!1,style:{alignItems:"baseline",background:"#353535",color:"white",display:"flex",flexWrap:"wrap",justifyContent:"space-between",left:"0",position:"fixed",width:"100%",zIndex:"999"},buttonStyle:{background:"#ffd42d",border:"0",borderRadius:"0px",boxShadow:"none",color:"black",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},declineButtonStyle:{background:"#c12a2a",border:"0",borderRadius:"0px",boxShadow:"none",color:"#e5e5e5",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},contentStyle:{flex:"1 0 300px",margin:"15px"},overlayStyle:{position:"fixed",left:0,top:0,width:"100%",height:"100%",zIndex:"999",backgroundColor:"rgba(0,0,0,0.3)"}},aOn=function(e){e===void 0&&(e=ztt);var n=zX.get(e);return n===void 0?zX.get(Dtt(e)):n},Dtt=function(e){return e+"-legacy"},Ett=function(t){tOn(e,t);function e(){var o;return o=t.apply(this,arguments)||this,o.state=rOn,o.handleScroll=function(){var i=mm({},HD,o.props),r=i.acceptOnScrollPercentage,a=document.documentElement,l=document.body,s="scrollTop",c="scrollHeight",u=(a[s]||l[s])/((a[c]||l[c])-a.clientHeight)*100;u>r&&o.accept(!0)},o.removeScrollListener=function(){var i=o.props.acceptOnScroll;i&&window.removeEventListener("scroll",o.handleScroll)},o}var n=e.prototype;return n.componentDidMount=function(){var i=this.props.debug;(this.getCookieValue()===void 0||i)&&(this.setState({visible:!0}),this.props.acceptOnScroll&&window.addEventListener("scroll",this.handleScroll,{passive:!0}))},n.componentWillUnmount=function(){this.removeScrollListener()},n.accept=function(i){var r;i===void 0&&(i=!1);var a=mm({},HD,this.props),l=a.cookieName,s=a.cookieValue,c=a.hideOnAccept,u=a.onAccept;this.setCookie(l,s),u((r=i)!=null?r:!1),c&&(this.setState({visible:!1}),this.removeScrollListener())},n.overlayClick=function(){var i=mm({},HD,this.props),r=i.acceptOnOverlayClick,a=i.onOverlayClick;r&&this.accept(),a()},n.decline=function(){var i=mm({},HD,this.props),r=i.cookieName,a=i.declineCookieValue,l=i.hideOnDecline,s=i.onDecline,c=i.setDeclineCookie;c&&this.setCookie(r,a),s(),l&&this.setState({visible:!1})},n.setCookie=function(i,r){var a=this.props,l=a.extraCookieOptions,s=a.expires,c=a.sameSite,u=this.props.cookieSecurity;u===void 0&&(u=window.location?window.location.protocol==="https:":!0);var d=mm({expires:s},l,{sameSite:c,secure:u});c===DX.NONE&&zX.set(Dtt(i),r,d),zX.set(i,r,d)},n.getCookieValue=function(){var i=this.props.cookieName;return aOn(i)},n.render=function(){var i=this;switch(this.props.visible){case Rde.HIDDEN:return null;case Rde.BY_COOKIE_VALUE:if(!this.state.visible)return null;break}var r=this.props,a=r.location,l=r.style,s=r.buttonStyle,c=r.declineButtonStyle,u=r.contentStyle,d=r.disableStyles,f=r.buttonText,p=r.declineButtonText,g=r.containerClasses,A=r.contentClasses,w=r.buttonClasses,b=r.buttonWrapperClasses,C=r.declineButtonClasses,P=r.buttonId,v=r.declineButtonId,T=r.disableButtonStyles,y=r.enableDeclineButton,S=r.flipButtons,x=r.ButtonComponent,R=r.overlay,H=r.overlayClasses,D=r.overlayStyle,k=r.ariaAcceptLabel,W=r.ariaDeclineLabel,N=r.customContainerAttributes,L=r.customContentAttributes,E=r.customButtonProps,U=r.customDeclineButtonProps,F=r.customButtonWrapperAttributes,B={},_={},Y={},O={},J={};switch(d?(B=Object.assign({},l),_=Object.assign({},s),Y=Object.assign({},c),O=Object.assign({},u),J=Object.assign({},D)):(B=Object.assign({},mm({},this.state.style,l)),O=Object.assign({},mm({},this.state.contentStyle,u)),J=Object.assign({},mm({},this.state.overlayStyle,D)),T?(_=Object.assign({},s),Y=Object.assign({},c)):(_=Object.assign({},mm({},this.state.buttonStyle,s)),Y=Object.assign({},mm({},this.state.declineButtonStyle,c)))),a){case Cde.TOP:B.top="0";break;case Cde.BOTTOM:B.bottom="0";break}var Z=[];return y&&Z.push(be.createElement(x,Object.assign({key:"declineButton",style:Y,className:C,id:v,"aria-label":W,onClick:function(){i.decline()}},U),p)),Z.push(be.createElement(x,Object.assign({key:"acceptButton",style:_,className:w,id:P,"aria-label":k,onClick:function(){i.accept()}},E),f)),S&&Z.reverse(),be.createElement(eOn,{condition:R,wrapper:function(ee){return be.createElement("div",{style:J,className:H,onClick:function(){i.overlayClick()}},ee)}},be.createElement("div",Object.assign({className:""+g,style:B},N),be.createElement("div",Object.assign({style:O,className:A},L),this.props.children),be.createElement("div",Object.assign({className:""+b},F),Z.map(function(ie){return ie}))))},e}(m.Component);Ett.defaultProps=HD;const lOn=be.memo(()=>{const t=Kt();return h.jsx(Ett,{location:"bottom",buttonText:j.t("cookie.Accept",t),cookieName:"AladdinCookieName",style:{background:"#2B373B",textAlign:"center",zIndex:99999},buttonStyle:{color:"#4e503b",fontSize:"12px"},expires:150,children:j.t("cookie.Statement",t)})}),sOn=.7,cOn=42.2845513,uOn=sOn/Math.cos(xe.toRadians(cOn)),dOn=be.memo(()=>{const t=M(dn),e=M(Xs),n=M(wb),o=M(O1e),i=M(CBe),r=m.useRef(null),a=Ab(i==="satellite"||i==="hybrid"?Gqt(640,e,n,o):Xqt(640,e,n,o));let l;o===21?l=.5:o===20?l=1:l=Math.pow(2,20-o);const s=uOn*Math.cos(xe.toRadians(e))*l,c=u=>{u.intersections.length>0&&u.intersections[0].object===r.current&&t(f=>{mx.selectNone(f),f.pastePoint.copy(u.intersections[0].point),f.clickObjectType=z.Ground,f.contextMenuObjectType=z.Ground,f.pasteNormal=Po})};return a?h.jsxs("mesh",{rotation:[0,0,0],position:[0,0,0],renderOrder:-1,scale:[s,s,1],receiveShadow:!0,ref:r,onContextMenu:c,children:[h.jsx("planeGeometry",{args:[100,100]}),h.jsx("meshStandardMaterial",{attach:"material",depthTest:!1,side:ji,map:a,opacity:1})]}):h.jsx(h.Fragment,{})}),fOn=({foundation:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id){r.notBuilding=!r.notBuilding;break}})},o=i=>{const r={name:"Building",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!t.notBuilding,onChange:o,children:j.t("word.Building",e)})})},hCe=({foundation:t,lock:e,count:n})=>{const o=Kt(),i=e?"foundationMenu.LockAllUnlockedElementsOnThisFoundation":"foundationMenu.UnlockAllLockedElementsOnThisFoundation",r=()=>{const a=new Map;for(const c of M.getState().elements)(c.foundationId===t.id||c.id===t.id)&&a.set(c.id,!!c.locked);const s={name:e?"Lock All Unlocked Offsprings":"Unlock All Locked Offsprings",timestamp:Date.now(),oldValues:a,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{M.getState().updateElementLockByFoundationId(t.id,e)}};M.getState().addUndoable(s),M.getState().updateElementLockByFoundationId(t.id,e)};return h.jsxs(tn,{noPadding:!0,onClick:r,children:[j.t(i,o)," (",n,")"]})},nae=({foundation:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllElementsOnFoundationByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.foundationId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Foundation`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})},hOn=({foundation:t})=>{const e=M.getState().set,n=Kt(),o=()=>{e(a=>{a.objectTypeToAdd=z.Polygon});const i=M.getState().addElement(t,new re(t.cx,t.cy,t.lz),Po),r={name:"Add",timestamp:Date.now(),addedElement:i,undo:()=>{M.getState().removeElementById(r.addedElement.id,!1)},redo:()=>{e(a=>{a.elements.push(r.addedElement),a.selectedElement=r.addedElement})}};M.getState().addUndoable(r),e(a=>{a.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:o,children:j.t("foundationMenu.AddPolygon",n)})},pOn=({foundation:t})=>{var a;const[e,n]=m.useState((a=t==null?void 0:t.hvacSystem)==null?void 0:a.id),o=l=>{let s=l.target.value;s.trim().length===0&&(s=void 0),n(s)},i=(l,s)=>{M.getState().set(c=>{for(const u of c.elements)if(u.type===z.Foundation&&u.id===l){const d=u;d.hvacSystem?d.hvacSystem.id=s:d.hvacSystem={thermostatSetpoint:20,temperatureThreshold:3,id:s};break}})},r=l=>{var d;const s=(d=t.hvacSystem)==null?void 0:d.id,c=l&&l.trim().length>0?l:void 0,u={name:"Change HVAC ID",timestamp:Date.now(),oldValue:s,newValue:c,undo:()=>{i(t.id,u.oldValue)},redo:()=>{i(t.id,u.newValue)}};M.getState().addUndoable(u),i(t.id,c)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"40px",paddingLeft:"0px",textAlign:"left"},children:"ID:"}),h.jsx(ns,{style:{width:"180px"},value:e,onChange:o,onPressEnter:()=>r(e),onBlur:()=>r(e)})]})},gOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.thermostatSetpoint=a:c.hvacSystem={thermostatSetpoint:a,temperatureThreshold:3};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.thermostatSetpoint)??20,l=r,s={name:"Change Thermostat Setpoint",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"160px"},children:j.t("word.ThermostatSetpoint",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.thermostatSetpoint)??20,onChange:o})]})},mOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.temperatureThreshold=a:c.hvacSystem={thermostatSetpoint:20,temperatureThreshold:a};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.temperatureThreshold)??3,l=r,s={name:"Change Temperature Tolerance Threshold",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{title:j.t("word.TemperatureToleranceThresholdExplanation",e),style:{width:"160px"},children:j.t("word.TemperatureToleranceThreshold",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.temperatureThreshold)??3,onChange:o}),h.jsx(en,{style:{paddingLeft:"10px"},children:"°C"})]})},yOn=({foundation:t})=>{const e=Kt(),n=(t==null?void 0:t.solarStructure)??zn.None,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r&&!s.locked){s.solarStructure=a;break}})},i=r=>{const a=t.solarStructure,l=r.target.value,s={name:"Select Solar Structure for Selected Foundation",timestamp:Date.now(),oldValue:a,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{o(s.changedElementId,s.oldValue)},redo:()=>{o(s.changedElementId,s.newValue)}};M.getState().addUndoable(s),o(t.id,l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:n,onChange:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:zn.None,children:j.t("word.None",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusPipe,children:j.t("solarAbsorberPipeMenu.AbsorberPipeForFresnelReflectors",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusTower,children:j.t("solarPowerTowerMenu.ReceiverTowerForHeliostats",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.UpdraftTower,children:j.t("solarUpdraftTowerMenu.SolarUpdraftTower",e)})]})})})},ktt="/aladdin/assets/foundation_01_menu-DJ2ZRFYJ.png",Ftt="/aladdin/assets/foundation_02_menu-D6HXceyz.png",Ltt="/aladdin/assets/foundation_03_menu-BFLw0RU7.png",Wtt="/aladdin/assets/foundation_04_menu-DtGEusM9.png",Ntt="/aladdin/assets/foundation_05_menu-BGUU1Wal.png",Utt="/aladdin/assets/foundation_06_menu-hg_Rf0EG.png",Btt="/aladdin/assets/foundation_07_menu-BM9bFpzu.png",jtt=t=>{const[e,n]=m.useState((t==null?void 0:t.label)??"");return m.useEffect(()=>{t!=null&&t.label&&n(t.label)},[t==null?void 0:t.id]),{labelText:e,setLabelText:n}},Ytt=t=>{const e=M(En),n=M(ywt);return()=>{if(t){const o={name:"Show Label for "+t.type,timestamp:Date.now(),checked:!t.showLabel,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!o.checked)},redo:()=>{n(t.id,o.checked)}};e(o),n(t.id,!t.showLabel)}}},Ott=(t,e)=>{const n=M(mwt),o=M(En);return()=>{if(t){const i=t.label,r={name:"Set Label for "+t.type,timestamp:Date.now(),oldValue:i,newValue:e,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};o(r),n(t.id,e)}}},AOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelFontSize=i;break}})};return i=>{if(t){const r=t.labelFontSize??20,a=i,l={name:"Set Label Font Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},wOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelSize=i;break}})};return i=>{if(t){const r=t.labelSize??.2,a=i,l={name:"Set Label Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},vOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelColor=i;break}})};return i=>{if(t){const r=t.labelColor??"white",a=i,l={name:"Set Label Color for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},xOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelHeight=i;break}})};return i=>{if(t){const r=t.labelHeight??t.lz/2+.2,a=i,l={name:"Set Label Height for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},co=t=>M(e=>{if(!e.selectedElement)return;const n=e.elements.find(o=>{var i;return o.id===((i=e.selectedElement)==null?void 0:i.id)});if(!n||!t||n.type===t)return n}),SZ=t=>{const[e,n]=m.useState(t);return[e,i=>{n(i.hex)}]},lo=({width:t,title:e,rejectedMessage:n,onApply:o,onClose:i,onClickOk:r,onClickCancel:a,children:l})=>{const s=M(io),c=M(ca),{t:u}=jl(),d=Kt(),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),[g,A]=m.useState(!1),w=m.useRef(null),b=(T,y)=>{if(w.current){const{clientWidth:S,clientHeight:x}=window.document.documentElement,R=w.current.getBoundingClientRect();p({left:-R.left+y.x,right:S-(R.right-y.x),top:-R.top+y.y,bottom:x-((R==null?void 0:R.bottom)-y.y)})}},C=m.useCallback(()=>{r?r():(o(),i(),s(0))},[o,r,i,s]),P=()=>{a?a():(i(),c())};m.useEffect(()=>{const T=y=>{y.key==="Enter"&&C()};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[C]);const v=!!n&&n.length>0;return h.jsxs(_r,{width:t,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:[e,v&&h.jsx("span",{style:{color:"red",fontWeight:"bold"},children:n})]}),footer:[h.jsx(oo,{onClick:o,children:u("word.Apply",d)},"Apply"),h.jsx(oo,{onClick:P,children:u("word.Cancel",d)},"Cancel"),h.jsx(oo,{type:"primary",onClick:C,children:u("word.OK",d)},"OK")],onCancel:i,maskClosable:!1,destroyOnClose:!1,modalRender:T=>h.jsx(Vr,{disabled:!g,bounds:f,onStart:(y,S)=>b(y,S),children:h.jsx("div",{ref:w,children:T})}),children:[h.jsx(Vve,{}),l,h.jsx(Vve,{})]})},bOn=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.textureType)??Or.NoTexture),d=Kt(),{Option:f}=Yo,p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){S.textureType=T;break}})},g=v=>{e(T=>{for(const y of T.elements)y.type===z.Foundation&&!y.locked&&(y.textureType=v)})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&v!==T.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&v!==T.textureType)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0}return!1},w=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&v.has(S.id))if(T!==void 0)S.textureType=T;else{const x=v.get(S.id);x!==void 0&&(S.textureType=x)}})},b=v=>{if(s&&A(v)){switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,S.textureType??Or.NoTexture);const y={name:"Set Texture for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{w(y.oldValues)},redo:()=>{w(y.oldValues,y.newValue)}};i(y),w(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)S.type===z.Foundation&&T.set(S.id,S.textureType??Or.NoTexture);const y={name:"Set Texture for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T?T.textureType:s.textureType,S={name:"Set Texture of Selected Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),p(s.id,v),l(a+1);break}}e(T=>{T.actionState.foundationTexture=v})}},C=()=>{t(!1)},P=()=>{b(c)};return h.jsx(lo,{width:500,title:j.t("word.Texture",d),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:Or.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},Or.NoTexture),h.jsxs(f,{value:Or.Texture01,children:[h.jsx("img",{alt:Or.Texture01,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture01",d)]},Or.Texture01),h.jsxs(f,{value:Or.Texture02,children:[h.jsx("img",{alt:Or.Texture02,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture02",d)]},Or.Texture02),h.jsxs(f,{value:Or.Texture03,children:[h.jsx("img",{alt:Or.Texture03,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture03",d)]},Or.Texture03),h.jsxs(f,{value:Or.Texture04,children:[h.jsx("img",{alt:Or.Texture04,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture04",d)]},Or.Texture04),h.jsxs(f,{value:Or.Texture05,children:[h.jsx("img",{alt:Or.Texture05,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture05",d)]},Or.Texture05),h.jsxs(f,{value:Or.Texture06,children:[h.jsx("img",{alt:Or.Texture06,src:Utt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture06",d)]},Or.Texture06),h.jsxs(f,{value:Or.Texture07,children:[h.jsx("img",{alt:Or.Texture07,src:Btt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture07",d)]},Or.Texture07)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})};var Mm={},HN={},SOn=typeof mc=="object"&&mc&&mc.Object===Object&&mc,_tt=SOn,TOn=_tt,POn=typeof self=="object"&&self&&self.Object===Object&&self,COn=TOn||POn||Function("return this")(),Z2=COn,ROn=Z2,HOn=ROn.Symbol,eM=HOn,pCe=eM,Vtt=Object.prototype,MOn=Vtt.hasOwnProperty,IOn=Vtt.toString,Wz=pCe?pCe.toStringTag:void 0;function zOn(t){var e=MOn.call(t,Wz),n=t[Wz];try{t[Wz]=void 0;var o=!0}catch{}var i=IOn.call(t);return o&&(e?t[Wz]=n:delete t[Wz]),i}var DOn=zOn,EOn=Object.prototype,kOn=EOn.toString;function FOn(t){return kOn.call(t)}var LOn=FOn,gCe=eM,WOn=DOn,NOn=LOn,UOn="[object Null]",BOn="[object Undefined]",mCe=gCe?gCe.toStringTag:void 0;function jOn(t){return t==null?t===void 0?BOn:UOn:mCe&&mCe in Object(t)?WOn(t):NOn(t)}var yA=jOn,YOn=Array.isArray,mp=YOn;function OOn(t){return t!=null&&typeof t=="object"}var e5=OOn,_On=yA,VOn=mp,GOn=e5,XOn="[object String]";function JOn(t){return typeof t=="string"||!VOn(t)&&GOn(t)&&_On(t)==XOn}var Gtt=JOn;const MN=kr(Gtt);function KOn(t){return function(e,n,o){for(var i=-1,r=Object(e),a=o(e),l=a.length;l--;){var s=a[t?l:++i];if(n(r[s],s,r)===!1)break}return e}}var qOn=KOn,$On=qOn,QOn=$On(),ZOn=QOn;function e_n(t,e){for(var n=-1,o=Array(t);++n-1&&t%1==0&&t-1&&t%1==0&&t<=m_n}var l5e=y_n,A_n=yA,w_n=l5e,v_n=e5,x_n="[object Arguments]",b_n="[object Array]",S_n="[object Boolean]",T_n="[object Date]",P_n="[object Error]",C_n="[object Function]",R_n="[object Map]",H_n="[object Number]",M_n="[object Object]",I_n="[object RegExp]",z_n="[object Set]",D_n="[object String]",E_n="[object WeakMap]",k_n="[object ArrayBuffer]",F_n="[object DataView]",L_n="[object Float32Array]",W_n="[object Float64Array]",N_n="[object Int8Array]",U_n="[object Int16Array]",B_n="[object Int32Array]",j_n="[object Uint8Array]",Y_n="[object Uint8ClampedArray]",O_n="[object Uint16Array]",__n="[object Uint32Array]",sc={};sc[L_n]=sc[W_n]=sc[N_n]=sc[U_n]=sc[B_n]=sc[j_n]=sc[Y_n]=sc[O_n]=sc[__n]=!0;sc[x_n]=sc[b_n]=sc[k_n]=sc[S_n]=sc[F_n]=sc[T_n]=sc[P_n]=sc[C_n]=sc[R_n]=sc[H_n]=sc[M_n]=sc[I_n]=sc[z_n]=sc[D_n]=sc[E_n]=!1;function V_n(t){return v_n(t)&&w_n(t.length)&&!!sc[A_n(t)]}var G_n=V_n;function X_n(t){return function(e){return t(e)}}var TZ=X_n,kX={exports:{}};kX.exports;(function(t,e){var n=_tt,o=e&&!e.nodeType&&e,i=o&&!0&&t&&!t.nodeType&&t,r=i&&i.exports===o,a=r&&n.process,l=function(){try{var s=i&&i.require&&i.require("util").types;return s||a&&a.binding&&a.binding("util")}catch{}}();t.exports=l})(kX,kX.exports);var s5e=kX.exports,J_n=G_n,K_n=TZ,ACe=s5e,wCe=ACe&&ACe.isTypedArray,q_n=wCe?K_n(wCe):J_n,Jtt=q_n,$_n=t_n,Q_n=i5e,Z_n=mp,eVn=r5e,tVn=a5e,nVn=Jtt,oVn=Object.prototype,iVn=oVn.hasOwnProperty;function rVn(t,e){var n=Z_n(t),o=!n&&Q_n(t),i=!n&&!o&&eVn(t),r=!n&&!o&&!i&&nVn(t),a=n||o||i||r,l=a?$_n(t.length,String):[],s=l.length;for(var c in t)(e||iVn.call(t,c))&&!(a&&(c=="length"||i&&(c=="offset"||c=="parent")||r&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||tVn(c,s)))&&l.push(c);return l}var Ktt=rVn,aVn=Object.prototype;function lVn(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||aVn;return t===n}var c5e=lVn;function sVn(t,e){return function(n){return t(e(n))}}var qtt=sVn,cVn=qtt,uVn=cVn(Object.keys,Object),dVn=uVn,fVn=c5e,hVn=dVn,pVn=Object.prototype,gVn=pVn.hasOwnProperty;function mVn(t){if(!fVn(t))return hVn(t);var e=[];for(var n in Object(t))gVn.call(t,n)&&n!="constructor"&&e.push(n);return e}var yVn=mVn;function AVn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var t5=AVn;const tM=kr(t5);var wVn=yA,vVn=t5,xVn="[object AsyncFunction]",bVn="[object Function]",SVn="[object GeneratorFunction]",TVn="[object Proxy]";function PVn(t){if(!vVn(t))return!1;var e=wVn(t);return e==bVn||e==SVn||e==xVn||e==TVn}var u5e=PVn;const Aa=kr(u5e);var CVn=u5e,RVn=l5e;function HVn(t){return t!=null&&RVn(t.length)&&!CVn(t)}var nM=HVn,MVn=Ktt,IVn=yVn,zVn=nM;function DVn(t){return zVn(t)?MVn(t):IVn(t)}var oM=DVn,EVn=ZOn,kVn=oM;function FVn(t,e){return t&&EVn(t,e,kVn)}var d5e=FVn;function LVn(t){return t}var Vb=LVn,WVn=Vb;function NVn(t){return typeof t=="function"?t:WVn}var UVn=NVn,BVn=d5e,jVn=UVn;function YVn(t,e){return t&&BVn(t,jVn(e))}var f5e=YVn,OVn=qtt,_Vn=OVn(Object.getPrototypeOf,Object),h5e=_Vn,VVn=yA,GVn=h5e,XVn=e5,JVn="[object Object]",KVn=Function.prototype,qVn=Object.prototype,$tt=KVn.toString,$Vn=qVn.hasOwnProperty,QVn=$tt.call(Object);function ZVn(t){if(!XVn(t)||VVn(t)!=JVn)return!1;var e=GVn(t);if(e===null)return!0;var n=$Vn.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&$tt.call(n)==QVn}var Qtt=ZVn;const eGn=kr(Qtt);function tGn(t,e){for(var n=-1,o=t==null?0:t.length,i=Array(o);++n-1}var yGn=mGn,AGn=CZ;function wGn(t,e){var n=this.__data__,o=AGn(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}var vGn=wGn,xGn=oGn,bGn=dGn,SGn=pGn,TGn=yGn,PGn=vGn;function iM(t){var e=-1,n=t==null?0:t.length;for(this.clear();++el))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&kJn?new IJn:void 0;for(r.set(t,e),r.set(e,t);++d0&&arguments[0]!==void 0?arguments[0]:[],n=[];return(0,mQn.default)(e,function(o){Array.isArray(o)?t(o).map(function(i){return n.push(i)}):(0,pQn.default)(o)?(0,fQn.default)(o,function(i,r){i===!0&&n.push(r),n.push(r+"-"+i)}):(0,uQn.default)(o)&&n.push(o)}),n};HN.default=yQn;var IN={};function AQn(t,e){for(var n=-1,o=t==null?0:t.length;++n1&&arguments[1]!==void 0?arguments[1]:[],o=e.default&&(0,Wto.default)(e.default)||{};return n.map(function(i){var r=e[i];return r&&(0,Fto.default)(r,function(a,l){o[l]||(o[l]={}),o[l]=Nto({},o[l],r[l])}),i}),o};IN.default=Uto;var zN={};Object.defineProperty(zN,"__esModule",{value:!0});zN.autoprefix=void 0;var Bto=f5e,ZCe=Yto(Bto),jto=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){Kto(i,o);function i(){var r,a,l,s;Jto(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){tno(i,o);function i(){var r,a,l,s;eno(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:!0;o[a]=l};return e===0&&i("first-child"),e===n-1&&i("last-child"),(e===0||e%2===0)&&i("even"),Math.abs(e%2)===1&&i("odd"),i("nth-child",e),o};M5e.default=ono;Object.defineProperty(Mm,"__esModule",{value:!0});Mm.ReactCSS=Mm.loop=Mm.handleActive=I5e=Mm.handleHover=Mm.hover=void 0;var ino=HN,rno=uM(ino),ano=IN,lno=uM(ano),sno=zN,cno=uM(sno),uno=DN,Hnt=uM(uno),dno=EN,fno=uM(dno),hno=M5e,pno=uM(hno);function uM(t){return t&&t.__esModule?t:{default:t}}Mm.hover=Hnt.default;var I5e=Mm.handleHover=Hnt.default;Mm.handleActive=fno.default;Mm.loop=pno.default;var gno=Mm.ReactCSS=function(e){for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;il?f=1:f=Math.round(d*100/l)/100,n.a!==f)return{h:n.h,s:n.s,l:n.l,a:f,source:"rgb"}}else{var p=void 0;if(u<0?p=0:u>a?p=1:p=Math.round(u*100/a)/100,i!==p)return{h:n.h,s:n.s,l:n.l,a:p,source:"rgb"}}return null},sae={},yno=function(e,n,o,i){if(typeof document>"u"&&!i)return null;var r=i?new i:document.createElement("canvas");r.width=o*2,r.height=o*2;var a=r.getContext("2d");return a?(a.fillStyle=e,a.fillRect(0,0,r.width,r.height),a.fillStyle=n,a.fillRect(0,0,o,o),a.translate(o,o),a.fillRect(0,0,o,o),r.toDataURL()):null},Ano=function(e,n,o,i){var r=e+"-"+n+"-"+o+(i?"-server":"");if(sae[r])return sae[r];var a=yno(e,n,o,i);return sae[r]=a,a},nRe=Object.assign||function(t){for(var e=1;e"u")){d=n({path:"/"},a.defaults,d),typeof d.expires=="number"&&(d.expires=new Date(new Date*1+d.expires*864e5)),d.expires=d.expires?d.expires.toUTCString():"";try{var f=JSON.stringify(u);/^[\{\[]/.test(f)&&(u=f)}catch{}u=r.write?r.write(u,c):encodeURIComponent(String(u)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),c=encodeURIComponent(String(c)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var p="";for(var g in d)d[g]&&(p+="; "+g,d[g]!==!0&&(p+="="+d[g].split(";")[0]));return document.cookie=c+"="+u+p}}function s(c,u){if(!(typeof document>"u")){for(var d={},f=document.cookie?document.cookie.split("; "):[],p=0;p=0)&&(n[i]=t[i]);return n}var Cde={TOP:"top",BOTTOM:"bottom",NONE:"none"},DX;(function(t){t.STRICT="strict",t.LAX="lax",t.NONE="none"})(DX||(DX={}));var Rde={HIDDEN:"hidden",SHOW:"show",BY_COOKIE_VALUE:"byCookieValue"},Mtt="CookieConsent",tOn=["children"],nOn=function(e){var n=e.children,o=eOn(e,tOn);return be.createElement("button",Object.assign({},o),n)},HD={disableStyles:!1,hideOnAccept:!0,hideOnDecline:!0,location:Cde.BOTTOM,visible:Rde.BY_COOKIE_VALUE,onAccept:function(e){},onDecline:function(){},cookieName:Mtt,cookieValue:"true",declineCookieValue:"false",setDeclineCookie:!0,buttonText:"I understand",declineButtonText:"I decline",debug:!1,expires:365,containerClasses:"CookieConsent",contentClasses:"",buttonClasses:"",buttonWrapperClasses:"",declineButtonClasses:"",buttonId:"rcc-confirm-button",declineButtonId:"rcc-decline-button",extraCookieOptions:{},disableButtonStyles:!1,enableDeclineButton:!1,flipButtons:!1,sameSite:DX.LAX,ButtonComponent:nOn,overlay:!1,overlayClasses:"",onOverlayClick:function(){},acceptOnOverlayClick:!1,ariaAcceptLabel:"Accept cookies",ariaDeclineLabel:"Decline cookies",acceptOnScroll:!1,acceptOnScrollPercentage:25,customContentAttributes:{},customContainerAttributes:{},customButtonProps:{},customDeclineButtonProps:{},customButtonWrapperAttributes:{},style:{},buttonStyle:{},declineButtonStyle:{},contentStyle:{},overlayStyle:{}},oOn={visible:!1,style:{alignItems:"baseline",background:"#353535",color:"white",display:"flex",flexWrap:"wrap",justifyContent:"space-between",left:"0",position:"fixed",width:"100%",zIndex:"999"},buttonStyle:{background:"#ffd42d",border:"0",borderRadius:"0px",boxShadow:"none",color:"black",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},declineButtonStyle:{background:"#c12a2a",border:"0",borderRadius:"0px",boxShadow:"none",color:"#e5e5e5",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},contentStyle:{flex:"1 0 300px",margin:"15px"},overlayStyle:{position:"fixed",left:0,top:0,width:"100%",height:"100%",zIndex:"999",backgroundColor:"rgba(0,0,0,0.3)"}},iOn=function(e){e===void 0&&(e=Mtt);var n=zX.get(e);return n===void 0?zX.get(Itt(e)):n},Itt=function(e){return e+"-legacy"},ztt=function(t){ZYn(e,t);function e(){var o;return o=t.apply(this,arguments)||this,o.state=oOn,o.handleScroll=function(){var i=mm({},HD,o.props),r=i.acceptOnScrollPercentage,a=document.documentElement,l=document.body,s="scrollTop",c="scrollHeight",u=(a[s]||l[s])/((a[c]||l[c])-a.clientHeight)*100;u>r&&o.accept(!0)},o.removeScrollListener=function(){var i=o.props.acceptOnScroll;i&&window.removeEventListener("scroll",o.handleScroll)},o}var n=e.prototype;return n.componentDidMount=function(){var i=this.props.debug;(this.getCookieValue()===void 0||i)&&(this.setState({visible:!0}),this.props.acceptOnScroll&&window.addEventListener("scroll",this.handleScroll,{passive:!0}))},n.componentWillUnmount=function(){this.removeScrollListener()},n.accept=function(i){var r;i===void 0&&(i=!1);var a=mm({},HD,this.props),l=a.cookieName,s=a.cookieValue,c=a.hideOnAccept,u=a.onAccept;this.setCookie(l,s),u((r=i)!=null?r:!1),c&&(this.setState({visible:!1}),this.removeScrollListener())},n.overlayClick=function(){var i=mm({},HD,this.props),r=i.acceptOnOverlayClick,a=i.onOverlayClick;r&&this.accept(),a()},n.decline=function(){var i=mm({},HD,this.props),r=i.cookieName,a=i.declineCookieValue,l=i.hideOnDecline,s=i.onDecline,c=i.setDeclineCookie;c&&this.setCookie(r,a),s(),l&&this.setState({visible:!1})},n.setCookie=function(i,r){var a=this.props,l=a.extraCookieOptions,s=a.expires,c=a.sameSite,u=this.props.cookieSecurity;u===void 0&&(u=window.location?window.location.protocol==="https:":!0);var d=mm({expires:s},l,{sameSite:c,secure:u});c===DX.NONE&&zX.set(Itt(i),r,d),zX.set(i,r,d)},n.getCookieValue=function(){var i=this.props.cookieName;return iOn(i)},n.render=function(){var i=this;switch(this.props.visible){case Rde.HIDDEN:return null;case Rde.BY_COOKIE_VALUE:if(!this.state.visible)return null;break}var r=this.props,a=r.location,l=r.style,s=r.buttonStyle,c=r.declineButtonStyle,u=r.contentStyle,d=r.disableStyles,f=r.buttonText,p=r.declineButtonText,g=r.containerClasses,A=r.contentClasses,w=r.buttonClasses,b=r.buttonWrapperClasses,C=r.declineButtonClasses,P=r.buttonId,v=r.declineButtonId,T=r.disableButtonStyles,y=r.enableDeclineButton,S=r.flipButtons,x=r.ButtonComponent,R=r.overlay,H=r.overlayClasses,D=r.overlayStyle,k=r.ariaAcceptLabel,W=r.ariaDeclineLabel,N=r.customContainerAttributes,L=r.customContentAttributes,E=r.customButtonProps,U=r.customDeclineButtonProps,F=r.customButtonWrapperAttributes,B={},_={},Y={},O={},J={};switch(d?(B=Object.assign({},l),_=Object.assign({},s),Y=Object.assign({},c),O=Object.assign({},u),J=Object.assign({},D)):(B=Object.assign({},mm({},this.state.style,l)),O=Object.assign({},mm({},this.state.contentStyle,u)),J=Object.assign({},mm({},this.state.overlayStyle,D)),T?(_=Object.assign({},s),Y=Object.assign({},c)):(_=Object.assign({},mm({},this.state.buttonStyle,s)),Y=Object.assign({},mm({},this.state.declineButtonStyle,c)))),a){case Cde.TOP:B.top="0";break;case Cde.BOTTOM:B.bottom="0";break}var Z=[];return y&&Z.push(be.createElement(x,Object.assign({key:"declineButton",style:Y,className:C,id:v,"aria-label":W,onClick:function(){i.decline()}},U),p)),Z.push(be.createElement(x,Object.assign({key:"acceptButton",style:_,className:w,id:P,"aria-label":k,onClick:function(){i.accept()}},E),f)),S&&Z.reverse(),be.createElement(QYn,{condition:R,wrapper:function(ee){return be.createElement("div",{style:J,className:H,onClick:function(){i.overlayClick()}},ee)}},be.createElement("div",Object.assign({className:""+g,style:B},N),be.createElement("div",Object.assign({style:O,className:A},L),this.props.children),be.createElement("div",Object.assign({className:""+b},F),Z.map(function(ie){return ie}))))},e}(m.Component);ztt.defaultProps=HD;const rOn=be.memo(()=>{const t=Kt();return h.jsx(ztt,{location:"bottom",buttonText:j.t("cookie.Accept",t),cookieName:"AladdinCookieName",style:{background:"#2B373B",textAlign:"center",zIndex:99999},buttonStyle:{color:"#4e503b",fontSize:"12px"},expires:150,children:j.t("cookie.Statement",t)})}),aOn=.7,lOn=42.2845513,sOn=aOn/Math.cos(xe.toRadians(lOn)),cOn=be.memo(()=>{const t=M(dn),e=M(Xs),n=M(wb),o=M(O1e),i=M(TBe),r=m.useRef(null),a=Ab(i==="satellite"||i==="hybrid"?_qt(640,e,n,o):Vqt(640,e,n,o));let l;o===21?l=.5:o===20?l=1:l=Math.pow(2,20-o);const s=sOn*Math.cos(xe.toRadians(e))*l,c=u=>{u.intersections.length>0&&u.intersections[0].object===r.current&&t(f=>{mx.selectNone(f),f.pastePoint.copy(u.intersections[0].point),f.clickObjectType=z.Ground,f.contextMenuObjectType=z.Ground,f.pasteNormal=Po})};return a?h.jsxs("mesh",{rotation:[0,0,0],position:[0,0,0],renderOrder:-1,scale:[s,s,1],receiveShadow:!0,ref:r,onContextMenu:c,children:[h.jsx("planeGeometry",{args:[100,100]}),h.jsx("meshStandardMaterial",{attach:"material",depthTest:!1,side:ji,map:a,opacity:1})]}):h.jsx(h.Fragment,{})}),uOn=({foundation:t})=>{const e=Kt(),n=()=>{M.getState().set(i=>{for(const r of i.elements)if(r.id===t.id){r.notBuilding=!r.notBuilding;break}})},o=i=>{const r={name:"Building",timestamp:Date.now(),checked:i.target.checked,selectedElementId:t.id,selectedElementType:t.type,undo:()=>n(),redo:()=>n()};M.getState().addUndoable(r),n()};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!t.notBuilding,onChange:o,children:j.t("word.Building",e)})})},dCe=({foundation:t,lock:e,count:n})=>{const o=Kt(),i=e?"foundationMenu.LockAllUnlockedElementsOnThisFoundation":"foundationMenu.UnlockAllLockedElementsOnThisFoundation",r=()=>{const a=new Map;for(const c of M.getState().elements)(c.foundationId===t.id||c.id===t.id)&&a.set(c.id,!!c.locked);const s={name:e?"Lock All Unlocked Offsprings":"Unlock All Locked Offsprings",timestamp:Date.now(),oldValues:a,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{M.getState().updateElementLockByFoundationId(t.id,e)}};M.getState().addUndoable(s),M.getState().updateElementLockByFoundationId(t.id,e)};return h.jsxs(tn,{noPadding:!0,onClick:r,children:[j.t(i,o)," (",n,")"]})},nae=({foundation:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllElementsOnFoundationByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.foundationId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Foundation`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})},dOn=({foundation:t})=>{const e=M.getState().set,n=Kt(),o=()=>{e(a=>{a.objectTypeToAdd=z.Polygon});const i=M.getState().addElement(t,new re(t.cx,t.cy,t.lz),Po),r={name:"Add",timestamp:Date.now(),addedElement:i,undo:()=>{M.getState().removeElementById(r.addedElement.id,!1)},redo:()=>{e(a=>{a.elements.push(r.addedElement),a.selectedElement=r.addedElement})}};M.getState().addUndoable(r),e(a=>{a.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:o,children:j.t("foundationMenu.AddPolygon",n)})},fOn=({foundation:t})=>{var a;const[e,n]=m.useState((a=t==null?void 0:t.hvacSystem)==null?void 0:a.id),o=l=>{let s=l.target.value;s.trim().length===0&&(s=void 0),n(s)},i=(l,s)=>{M.getState().set(c=>{for(const u of c.elements)if(u.type===z.Foundation&&u.id===l){const d=u;d.hvacSystem?d.hvacSystem.id=s:d.hvacSystem={thermostatSetpoint:20,temperatureThreshold:3,id:s};break}})},r=l=>{var d;const s=(d=t.hvacSystem)==null?void 0:d.id,c=l&&l.trim().length>0?l:void 0,u={name:"Change HVAC ID",timestamp:Date.now(),oldValue:s,newValue:c,undo:()=>{i(t.id,u.oldValue)},redo:()=>{i(t.id,u.newValue)}};M.getState().addUndoable(u),i(t.id,c)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"40px",paddingLeft:"0px",textAlign:"left"},children:"ID:"}),h.jsx(ns,{style:{width:"180px"},value:e,onChange:o,onPressEnter:()=>r(e),onBlur:()=>r(e)})]})},hOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.thermostatSetpoint=a:c.hvacSystem={thermostatSetpoint:a,temperatureThreshold:3};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.thermostatSetpoint)??20,l=r,s={name:"Change Thermostat Setpoint",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{style:{width:"160px"},children:j.t("word.ThermostatSetpoint",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.thermostatSetpoint)??20,onChange:o})]})},pOn=({foundation:t})=>{var i;const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r){const c=s;c.hvacSystem?c.hvacSystem.temperatureThreshold=a:c.hvacSystem={thermostatSetpoint:20,temperatureThreshold:a};break}})},o=r=>{var c;if(r===null)return;const a=((c=t.hvacSystem)==null?void 0:c.temperatureThreshold)??3,l=r,s={name:"Change Temperature Tolerance Threshold",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(t.id,s.oldValue)},redo:()=>{n(t.id,s.newValue)}};M.getState().addUndoable(s),n(t.id,l)};return h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(en,{title:j.t("word.TemperatureToleranceThresholdExplanation",e),style:{width:"160px"},children:j.t("word.TemperatureToleranceThreshold",e)+":"}),h.jsx(Hn,{min:0,max:30,step:1,style:{width:60},precision:1,value:((i=t.hvacSystem)==null?void 0:i.temperatureThreshold)??3,onChange:o}),h.jsx(en,{style:{paddingLeft:"10px"},children:"°C"})]})},gOn=({foundation:t})=>{const e=Kt(),n=(t==null?void 0:t.solarStructure)??zn.None,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Foundation&&s.id===r&&!s.locked){s.solarStructure=a;break}})},i=r=>{const a=t.solarStructure,l=r.target.value,s={name:"Select Solar Structure for Selected Foundation",timestamp:Date.now(),oldValue:a,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{o(s.changedElementId,s.oldValue)},redo:()=>{o(s.changedElementId,s.newValue)}};M.getState().addUndoable(s),o(t.id,l)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:n,onChange:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:zn.None,children:j.t("word.None",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusPipe,children:j.t("solarAbsorberPipeMenu.AbsorberPipeForFresnelReflectors",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.FocusTower,children:j.t("solarPowerTowerMenu.ReceiverTowerForHeliostats",e)}),h.jsx(Be,{style:{width:"100%"},value:zn.UpdraftTower,children:j.t("solarUpdraftTowerMenu.SolarUpdraftTower",e)})]})})})},Dtt="/aladdin/assets/foundation_01_menu-DJ2ZRFYJ.png",Ett="/aladdin/assets/foundation_02_menu-D6HXceyz.png",ktt="/aladdin/assets/foundation_03_menu-BFLw0RU7.png",Ftt="/aladdin/assets/foundation_04_menu-DtGEusM9.png",Ltt="/aladdin/assets/foundation_05_menu-BGUU1Wal.png",Wtt="/aladdin/assets/foundation_06_menu-hg_Rf0EG.png",Ntt="/aladdin/assets/foundation_07_menu-BM9bFpzu.png",Utt=t=>{const[e,n]=m.useState((t==null?void 0:t.label)??"");return m.useEffect(()=>{t!=null&&t.label&&n(t.label)},[t==null?void 0:t.id]),{labelText:e,setLabelText:n}},Btt=t=>{const e=M(En),n=M(gwt);return()=>{if(t){const o={name:"Show Label for "+t.type,timestamp:Date.now(),checked:!t.showLabel,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!o.checked)},redo:()=>{n(t.id,o.checked)}};e(o),n(t.id,!t.showLabel)}}},jtt=(t,e)=>{const n=M(pwt),o=M(En);return()=>{if(t){const i=t.label,r={name:"Set Label for "+t.type,timestamp:Date.now(),oldValue:i,newValue:e,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};o(r),n(t.id,e)}}},mOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelFontSize=i;break}})};return i=>{if(t){const r=t.labelFontSize??20,a=i,l={name:"Set Label Font Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},yOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelSize=i;break}})};return i=>{if(t){const r=t.labelSize??.2,a=i,l={name:"Set Label Size for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},AOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelColor=i;break}})};return i=>{if(t){const r=t.labelColor??"white",a=i,l={name:"Set Label Color for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},wOn=t=>{const e=M(dn),n=M(En),o=i=>{e(r=>{for(const a of r.elements)if(a.id===(t==null?void 0:t.id)){a.labelHeight=i;break}})};return i=>{if(t){const r=t.labelHeight??t.lz/2+.2,a=i,l={name:"Set Label Height for "+t.type,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{o(l.oldValue)},redo:()=>{o(l.newValue)}};n(l),o(a)}}},co=t=>M(e=>{if(!e.selectedElement)return;const n=e.elements.find(o=>{var i;return o.id===((i=e.selectedElement)==null?void 0:i.id)});if(!n||!t||n.type===t)return n}),SZ=t=>{const[e,n]=m.useState(t);return[e,i=>{n(i.hex)}]},lo=({width:t,title:e,rejectedMessage:n,onApply:o,onClose:i,onClickOk:r,onClickCancel:a,children:l})=>{const s=M(oo),c=M(ca),{t:u}=jl(),d=Kt(),[f,p]=m.useState({left:0,top:0,bottom:0,right:0}),[g,A]=m.useState(!1),w=m.useRef(null),b=(T,y)=>{if(w.current){const{clientWidth:S,clientHeight:x}=window.document.documentElement,R=w.current.getBoundingClientRect();p({left:-R.left+y.x,right:S-(R.right-y.x),top:-R.top+y.y,bottom:x-((R==null?void 0:R.bottom)-y.y)})}},C=m.useCallback(()=>{r?r():(o(),i(),s(0))},[o,r,i,s]),P=()=>{a?a():(i(),c())};m.useEffect(()=>{const T=y=>{y.key==="Enter"&&C()};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[C]);const v=!!n&&n.length>0;return h.jsxs(_r,{width:t,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:[e,v&&h.jsx("span",{style:{color:"red",fontWeight:"bold"},children:n})]}),footer:[h.jsx(no,{onClick:o,children:u("word.Apply",d)},"Apply"),h.jsx(no,{onClick:P,children:u("word.Cancel",d)},"Cancel"),h.jsx(no,{type:"primary",onClick:C,children:u("word.OK",d)},"OK")],onCancel:i,maskClosable:!1,destroyOnClose:!1,modalRender:T=>h.jsx(Vr,{disabled:!g,bounds:f,onStart:(y,S)=>b(y,S),children:h.jsx("div",{ref:w,children:T})}),children:[h.jsx(Vve,{}),l,h.jsx(Vve,{})]})},vOn=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.textureType)??Or.NoTexture),d=Kt(),{Option:f}=Yo,p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){S.textureType=T;break}})},g=v=>{e(T=>{for(const y of T.elements)y.type===z.Foundation&&!y.locked&&(y.textureType=v)})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&v!==T.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&v!==T.textureType)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0}return!1},w=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&v.has(S.id))if(T!==void 0)S.textureType=T;else{const x=v.get(S.id);x!==void 0&&(S.textureType=x)}})},b=v=>{if(s&&A(v)){switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,S.textureType??Or.NoTexture);const y={name:"Set Texture for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{w(y.oldValues)},redo:()=>{w(y.oldValues,y.newValue)}};i(y),w(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)S.type===z.Foundation&&T.set(S.id,S.textureType??Or.NoTexture);const y={name:"Set Texture for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T?T.textureType:s.textureType,S={name:"Set Texture of Selected Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),p(s.id,v),l(a+1);break}}e(T=>{T.actionState.foundationTexture=v})}},C=()=>{t(!1)},P=()=>{b(c)};return h.jsx(lo,{width:500,title:j.t("word.Texture",d),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:Or.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},Or.NoTexture),h.jsxs(f,{value:Or.Texture01,children:[h.jsx("img",{alt:Or.Texture01,src:Dtt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture01",d)]},Or.Texture01),h.jsxs(f,{value:Or.Texture02,children:[h.jsx("img",{alt:Or.Texture02,src:Ett,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture02",d)]},Or.Texture02),h.jsxs(f,{value:Or.Texture03,children:[h.jsx("img",{alt:Or.Texture03,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture03",d)]},Or.Texture03),h.jsxs(f,{value:Or.Texture04,children:[h.jsx("img",{alt:Or.Texture04,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture04",d)]},Or.Texture04),h.jsxs(f,{value:Or.Texture05,children:[h.jsx("img",{alt:Or.Texture05,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture05",d)]},Or.Texture05),h.jsxs(f,{value:Or.Texture06,children:[h.jsx("img",{alt:Or.Texture06,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture06",d)]},Or.Texture06),h.jsxs(f,{value:Or.Texture07,children:[h.jsx("img",{alt:Or.Texture07,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("foundationMenu.Texture07",d)]},Or.Texture07)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})};var Mm={},HN={},xOn=typeof mc=="object"&&mc&&mc.Object===Object&&mc,Ytt=xOn,bOn=Ytt,SOn=typeof self=="object"&&self&&self.Object===Object&&self,TOn=bOn||SOn||Function("return this")(),Z2=TOn,POn=Z2,COn=POn.Symbol,eM=COn,fCe=eM,Ott=Object.prototype,ROn=Ott.hasOwnProperty,HOn=Ott.toString,Wz=fCe?fCe.toStringTag:void 0;function MOn(t){var e=ROn.call(t,Wz),n=t[Wz];try{t[Wz]=void 0;var o=!0}catch{}var i=HOn.call(t);return o&&(e?t[Wz]=n:delete t[Wz]),i}var IOn=MOn,zOn=Object.prototype,DOn=zOn.toString;function EOn(t){return DOn.call(t)}var kOn=EOn,hCe=eM,FOn=IOn,LOn=kOn,WOn="[object Null]",NOn="[object Undefined]",pCe=hCe?hCe.toStringTag:void 0;function UOn(t){return t==null?t===void 0?NOn:WOn:pCe&&pCe in Object(t)?FOn(t):LOn(t)}var yA=UOn,BOn=Array.isArray,mp=BOn;function jOn(t){return t!=null&&typeof t=="object"}var e5=jOn,YOn=yA,OOn=mp,_On=e5,VOn="[object String]";function GOn(t){return typeof t=="string"||!OOn(t)&&_On(t)&&YOn(t)==VOn}var _tt=GOn;const MN=kr(_tt);function XOn(t){return function(e,n,o){for(var i=-1,r=Object(e),a=o(e),l=a.length;l--;){var s=a[t?l:++i];if(n(r[s],s,r)===!1)break}return e}}var JOn=XOn,KOn=JOn,qOn=KOn(),$On=qOn;function QOn(t,e){for(var n=-1,o=Array(t);++n-1&&t%1==0&&t-1&&t%1==0&&t<=p_n}var l5e=g_n,m_n=yA,y_n=l5e,A_n=e5,w_n="[object Arguments]",v_n="[object Array]",x_n="[object Boolean]",b_n="[object Date]",S_n="[object Error]",T_n="[object Function]",P_n="[object Map]",C_n="[object Number]",R_n="[object Object]",H_n="[object RegExp]",M_n="[object Set]",I_n="[object String]",z_n="[object WeakMap]",D_n="[object ArrayBuffer]",E_n="[object DataView]",k_n="[object Float32Array]",F_n="[object Float64Array]",L_n="[object Int8Array]",W_n="[object Int16Array]",N_n="[object Int32Array]",U_n="[object Uint8Array]",B_n="[object Uint8ClampedArray]",j_n="[object Uint16Array]",Y_n="[object Uint32Array]",sc={};sc[k_n]=sc[F_n]=sc[L_n]=sc[W_n]=sc[N_n]=sc[U_n]=sc[B_n]=sc[j_n]=sc[Y_n]=!0;sc[w_n]=sc[v_n]=sc[D_n]=sc[x_n]=sc[E_n]=sc[b_n]=sc[S_n]=sc[T_n]=sc[P_n]=sc[C_n]=sc[R_n]=sc[H_n]=sc[M_n]=sc[I_n]=sc[z_n]=!1;function O_n(t){return A_n(t)&&y_n(t.length)&&!!sc[m_n(t)]}var __n=O_n;function V_n(t){return function(e){return t(e)}}var TZ=V_n,kX={exports:{}};kX.exports;(function(t,e){var n=Ytt,o=e&&!e.nodeType&&e,i=o&&!0&&t&&!t.nodeType&&t,r=i&&i.exports===o,a=r&&n.process,l=function(){try{var s=i&&i.require&&i.require("util").types;return s||a&&a.binding&&a.binding("util")}catch{}}();t.exports=l})(kX,kX.exports);var s5e=kX.exports,G_n=__n,X_n=TZ,mCe=s5e,yCe=mCe&&mCe.isTypedArray,J_n=yCe?X_n(yCe):G_n,Gtt=J_n,K_n=ZOn,q_n=i5e,$_n=mp,Q_n=r5e,Z_n=a5e,eVn=Gtt,tVn=Object.prototype,nVn=tVn.hasOwnProperty;function oVn(t,e){var n=$_n(t),o=!n&&q_n(t),i=!n&&!o&&Q_n(t),r=!n&&!o&&!i&&eVn(t),a=n||o||i||r,l=a?K_n(t.length,String):[],s=l.length;for(var c in t)(e||nVn.call(t,c))&&!(a&&(c=="length"||i&&(c=="offset"||c=="parent")||r&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Z_n(c,s)))&&l.push(c);return l}var Xtt=oVn,iVn=Object.prototype;function rVn(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||iVn;return t===n}var c5e=rVn;function aVn(t,e){return function(n){return t(e(n))}}var Jtt=aVn,lVn=Jtt,sVn=lVn(Object.keys,Object),cVn=sVn,uVn=c5e,dVn=cVn,fVn=Object.prototype,hVn=fVn.hasOwnProperty;function pVn(t){if(!uVn(t))return dVn(t);var e=[];for(var n in Object(t))hVn.call(t,n)&&n!="constructor"&&e.push(n);return e}var gVn=pVn;function mVn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var t5=mVn;const tM=kr(t5);var yVn=yA,AVn=t5,wVn="[object AsyncFunction]",vVn="[object Function]",xVn="[object GeneratorFunction]",bVn="[object Proxy]";function SVn(t){if(!AVn(t))return!1;var e=yVn(t);return e==vVn||e==xVn||e==wVn||e==bVn}var u5e=SVn;const Aa=kr(u5e);var TVn=u5e,PVn=l5e;function CVn(t){return t!=null&&PVn(t.length)&&!TVn(t)}var nM=CVn,RVn=Xtt,HVn=gVn,MVn=nM;function IVn(t){return MVn(t)?RVn(t):HVn(t)}var oM=IVn,zVn=$On,DVn=oM;function EVn(t,e){return t&&zVn(t,e,DVn)}var d5e=EVn;function kVn(t){return t}var Vb=kVn,FVn=Vb;function LVn(t){return typeof t=="function"?t:FVn}var WVn=LVn,NVn=d5e,UVn=WVn;function BVn(t,e){return t&&NVn(t,UVn(e))}var f5e=BVn,jVn=Jtt,YVn=jVn(Object.getPrototypeOf,Object),h5e=YVn,OVn=yA,_Vn=h5e,VVn=e5,GVn="[object Object]",XVn=Function.prototype,JVn=Object.prototype,Ktt=XVn.toString,KVn=JVn.hasOwnProperty,qVn=Ktt.call(Object);function $Vn(t){if(!VVn(t)||OVn(t)!=GVn)return!1;var e=_Vn(t);if(e===null)return!0;var n=KVn.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Ktt.call(n)==qVn}var qtt=$Vn;const QVn=kr(qtt);function ZVn(t,e){for(var n=-1,o=t==null?0:t.length,i=Array(o);++n-1}var gGn=pGn,mGn=CZ;function yGn(t,e){var n=this.__data__,o=mGn(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}var AGn=yGn,wGn=tGn,vGn=cGn,xGn=fGn,bGn=gGn,SGn=AGn;function iM(t){var e=-1,n=t==null?0:t.length;for(this.clear();++el))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&DJn?new HJn:void 0;for(r.set(t,e),r.set(e,t);++d0&&arguments[0]!==void 0?arguments[0]:[],n=[];return(0,pQn.default)(e,function(o){Array.isArray(o)?t(o).map(function(i){return n.push(i)}):(0,fQn.default)(o)?(0,uQn.default)(o,function(i,r){i===!0&&n.push(r),n.push(r+"-"+i)}):(0,sQn.default)(o)&&n.push(o)}),n};HN.default=gQn;var IN={};function mQn(t,e){for(var n=-1,o=t==null?0:t.length;++n1&&arguments[1]!==void 0?arguments[1]:[],o=e.default&&(0,Fto.default)(e.default)||{};return n.map(function(i){var r=e[i];return r&&(0,Eto.default)(r,function(a,l){o[l]||(o[l]={}),o[l]=Lto({},o[l],r[l])}),i}),o};IN.default=Wto;var zN={};Object.defineProperty(zN,"__esModule",{value:!0});zN.autoprefix=void 0;var Nto=f5e,$Ce=Bto(Nto),Uto=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){Xto(i,o);function i(){var r,a,l,s;Gto(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){Zto(i,o);function i(){var r,a,l,s;Qto(this,i);for(var c=arguments.length,u=Array(c),d=0;d1&&arguments[1]!==void 0?arguments[1]:!0;o[a]=l};return e===0&&i("first-child"),e===n-1&&i("last-child"),(e===0||e%2===0)&&i("even"),Math.abs(e%2)===1&&i("odd"),i("nth-child",e),o};M5e.default=tno;Object.defineProperty(Mm,"__esModule",{value:!0});Mm.ReactCSS=Mm.loop=Mm.handleActive=I5e=Mm.handleHover=Mm.hover=void 0;var nno=HN,ono=uM(nno),ino=IN,rno=uM(ino),ano=zN,lno=uM(ano),sno=DN,Cnt=uM(sno),cno=EN,uno=uM(cno),dno=M5e,fno=uM(dno);function uM(t){return t&&t.__esModule?t:{default:t}}Mm.hover=Cnt.default;var I5e=Mm.handleHover=Cnt.default;Mm.handleActive=uno.default;Mm.loop=fno.default;var hno=Mm.ReactCSS=function(e){for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;il?f=1:f=Math.round(d*100/l)/100,n.a!==f)return{h:n.h,s:n.s,l:n.l,a:f,source:"rgb"}}else{var p=void 0;if(u<0?p=0:u>a?p=1:p=Math.round(u*100/a)/100,i!==p)return{h:n.h,s:n.s,l:n.l,a:p,source:"rgb"}}return null},sae={},gno=function(e,n,o,i){if(typeof document>"u"&&!i)return null;var r=i?new i:document.createElement("canvas");r.width=o*2,r.height=o*2;var a=r.getContext("2d");return a?(a.fillStyle=e,a.fillRect(0,0,r.width,r.height),a.fillStyle=n,a.fillRect(0,0,o,o),a.translate(o,o),a.fillRect(0,0,o,o),r.toDataURL()):null},mno=function(e,n,o,i){var r=e+"-"+n+"-"+o+(i?"-server":"");if(sae[r])return sae[r];var a=gno(e,n,o,i);return sae[r]=a,a},eRe=Object.assign||function(t){for(var e=1;e-1},Dno=function(e){return Number(String(e).replace(/%/g,""))},Eno=1,al=function(t){Rno(e,t);function e(n){Pno(this,e);var o=Cno(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return o.handleBlur=function(){o.state.blurValue&&o.setState({value:o.state.blurValue,blurValue:null})},o.handleChange=function(i){o.setUpdatedValue(i.target.value,i)},o.handleKeyDown=function(i){var r=Dno(i.target.value);if(!isNaN(r)&&zno(i.keyCode)){var a=o.getArrowOffset(),l=i.keyCode===Mnt?r+a:r-a;o.setUpdatedValue(l,i)}},o.handleDrag=function(i){if(o.props.dragLabel){var r=Math.round(o.props.value+i.movementX);r>=0&&r<=o.props.dragMax&&o.props.onChange&&o.props.onChange(o.getValueObjectWithLabel(r),i)}},o.handleMouseDown=function(i){o.props.dragLabel&&(i.preventDefault(),o.handleDrag(i),window.addEventListener("mousemove",o.handleDrag),window.addEventListener("mouseup",o.handleMouseUp))},o.handleMouseUp=function(){o.unbindEventListeners()},o.unbindEventListeners=function(){window.removeEventListener("mousemove",o.handleDrag),window.removeEventListener("mouseup",o.handleMouseUp)},o.state={value:String(n.value).toUpperCase(),blurValue:String(n.value).toUpperCase()},o.inputId="rc-editable-input-"+Eno++,o}return Sno(e,[{key:"componentDidUpdate",value:function(o,i){this.props.value!==this.state.value&&(o.value!==this.props.value||i.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(o){return Tno({},this.props.label,o)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Hno}},{key:"setUpdatedValue",value:function(o,i){var r=this.props.label?this.getValueObjectWithLabel(o):o;this.props.onChange&&this.props.onChange(r,i),this.setState({value:o})}},{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return be.createElement("div",{style:i.wrap},be.createElement("input",{id:this.inputId,style:i.input,ref:function(a){return o.input=a},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?be.createElement("label",{htmlFor:this.inputId,style:i.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(m.PureComponent||m.Component),kno=function(e,n,o,i){var r=i.clientWidth,a=i.clientHeight,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(i.getBoundingClientRect().left+window.pageXOffset),u=s-(i.getBoundingClientRect().top+window.pageYOffset);if(n==="vertical"){var d=void 0;if(u<0)d=359;else if(u>a)d=0;else{var f=-(u*100/a)+100;d=360*f/100}if(o.h!==d)return{h:d,s:o.s,l:o.l,a:o.a,source:"hsl"}}else{var p=void 0;if(c<0)p=0;else if(c>r)p=359;else{var g=c*100/r;p=360*g/100}if(o.h!==p)return{h:p,s:o.s,l:o.l,a:o.a,source:"hsl"}}return null},Fno=function(){function t(e,n){for(var o=0;o-1},Ino=function(e){return Number(String(e).replace(/%/g,""))},zno=1,al=function(t){Pno(e,t);function e(n){Sno(this,e);var o=Tno(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return o.handleBlur=function(){o.state.blurValue&&o.setState({value:o.state.blurValue,blurValue:null})},o.handleChange=function(i){o.setUpdatedValue(i.target.value,i)},o.handleKeyDown=function(i){var r=Ino(i.target.value);if(!isNaN(r)&&Mno(i.keyCode)){var a=o.getArrowOffset(),l=i.keyCode===Rnt?r+a:r-a;o.setUpdatedValue(l,i)}},o.handleDrag=function(i){if(o.props.dragLabel){var r=Math.round(o.props.value+i.movementX);r>=0&&r<=o.props.dragMax&&o.props.onChange&&o.props.onChange(o.getValueObjectWithLabel(r),i)}},o.handleMouseDown=function(i){o.props.dragLabel&&(i.preventDefault(),o.handleDrag(i),window.addEventListener("mousemove",o.handleDrag),window.addEventListener("mouseup",o.handleMouseUp))},o.handleMouseUp=function(){o.unbindEventListeners()},o.unbindEventListeners=function(){window.removeEventListener("mousemove",o.handleDrag),window.removeEventListener("mouseup",o.handleMouseUp)},o.state={value:String(n.value).toUpperCase(),blurValue:String(n.value).toUpperCase()},o.inputId="rc-editable-input-"+zno++,o}return xno(e,[{key:"componentDidUpdate",value:function(o,i){this.props.value!==this.state.value&&(o.value!==this.props.value||i.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(o){return bno({},this.props.label,o)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Cno}},{key:"setUpdatedValue",value:function(o,i){var r=this.props.label?this.getValueObjectWithLabel(o):o;this.props.onChange&&this.props.onChange(r,i),this.setState({value:o})}},{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return be.createElement("div",{style:i.wrap},be.createElement("input",{id:this.inputId,style:i.input,ref:function(a){return o.input=a},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?be.createElement("label",{htmlFor:this.inputId,style:i.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(m.PureComponent||m.Component),Dno=function(e,n,o,i){var r=i.clientWidth,a=i.clientHeight,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(i.getBoundingClientRect().left+window.pageXOffset),u=s-(i.getBoundingClientRect().top+window.pageYOffset);if(n==="vertical"){var d=void 0;if(u<0)d=359;else if(u>a)d=0;else{var f=-(u*100/a)+100;d=360*f/100}if(o.h!==d)return{h:d,s:o.s,l:o.l,a:o.a,source:"hsl"}}else{var p=void 0;if(c<0)p=0;else if(c>r)p=359;else{var g=c*100/r;p=360*g/100}if(o.h!==p)return{h:p,s:o.s,l:o.l,a:o.a,source:"hsl"}}return null},Eno=function(){function t(e,n){for(var o=0;o-1}function _no(t,e){var n=this.__data__,o=kZ(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}function AA(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=$oo}function hM(t){return t!=null&&F5e(t.length)&&!D5e(t)}function Qoo(t){return h7(t)&&hM(t)}function Zoo(){return!1}var Wnt=typeof yg=="object"&&yg&&!yg.nodeType&&yg,dRe=Wnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,eio=dRe&&dRe.exports===Wnt,fRe=eio?n5.Buffer:void 0,tio=fRe?fRe.isBuffer:void 0,BX=tio||Zoo,nio="[object Object]",oio=Function.prototype,iio=Object.prototype,Nnt=oio.toString,rio=iio.hasOwnProperty,aio=Nnt.call(Object);function lio(t){if(!h7(t)||Xb(t)!=nio)return!1;var e=Fnt(t);if(e===null)return!0;var n=rio.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Nnt.call(n)==aio}var sio="[object Arguments]",cio="[object Array]",uio="[object Boolean]",dio="[object Date]",fio="[object Error]",hio="[object Function]",pio="[object Map]",gio="[object Number]",mio="[object Object]",yio="[object RegExp]",Aio="[object Set]",wio="[object String]",vio="[object WeakMap]",xio="[object ArrayBuffer]",bio="[object DataView]",Sio="[object Float32Array]",Tio="[object Float64Array]",Pio="[object Int8Array]",Cio="[object Int16Array]",Rio="[object Int32Array]",Hio="[object Uint8Array]",Mio="[object Uint8ClampedArray]",Iio="[object Uint16Array]",zio="[object Uint32Array]",cc={};cc[Sio]=cc[Tio]=cc[Pio]=cc[Cio]=cc[Rio]=cc[Hio]=cc[Mio]=cc[Iio]=cc[zio]=!0;cc[sio]=cc[cio]=cc[xio]=cc[uio]=cc[bio]=cc[dio]=cc[fio]=cc[hio]=cc[pio]=cc[gio]=cc[mio]=cc[yio]=cc[Aio]=cc[wio]=cc[vio]=!1;function Dio(t){return h7(t)&&F5e(t.length)&&!!cc[Xb(t)]}function Eio(t){return function(e){return t(e)}}var Unt=typeof yg=="object"&&yg&&!yg.nodeType&&yg,PE=Unt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,kio=PE&&PE.exports===Unt,uae=kio&&Int.process,hRe=function(){try{var t=PE&&PE.require&&PE.require("util").types;return t||uae&&uae.binding&&uae.binding("util")}catch{}}(),pRe=hRe&&hRe.isTypedArray,L5e=pRe?Eio(pRe):Dio;function kde(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Fio=Object.prototype,Lio=Fio.hasOwnProperty;function Wio(t,e,n){var o=t[e];(!(Lio.call(t,e)&&kN(o,n))||n===void 0&&!(e in t))&&E5e(t,e,n)}function Nio(t,e,n,o){var i=!n;n||(n={});for(var r=-1,a=e.length;++r-1&&t%1==0&&t0){if(++e>=ero)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var iro=oro(Zio);function rro(t,e){return iro($io(t,e,LZ),t+"")}function aro(t,e,n){if(!Qm(n))return!1;var o=typeof e;return(o=="number"?hM(n)&&W5e(e,n.length):o=="string"&&e in n)?kN(n[e],t):!1}function lro(t){return rro(function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(r=t.length>3&&typeof r=="function"?(i--,r):void 0,a&&aro(n[0],n[1],a)&&(r=i<3?void 0:r,i=1),e=Object(e);++o=e||S<0||d&&x>=r}function b(){var y=dae();if(w(y))return C(y);l=setTimeout(b,A(y))}function C(y){return l=void 0,f&&o?p(y):(o=i=void 0,a)}function P(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(dae())}function T(){var y=dae(),S=w(y);if(o=arguments,i=this,s=y,S){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(b,e),p(s)}return l===void 0&&(l=setTimeout(b,e)),a}return T.cancel=P,T.flush=v,T}var vro="Expected a function";function xro(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(vro);return Qm(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Ont(t,e,{leading:o,maxWait:e,trailing:i})}var bro=function(e,n,o){var i=o.getBoundingClientRect(),r=i.width,a=i.height,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(o.getBoundingClientRect().left+window.pageXOffset),u=s-(o.getBoundingClientRect().top+window.pageYOffset);c<0?c=0:c>r&&(c=r),u<0?u=0:u>a&&(u=a);var d=c/r,f=1-u/a;return{h:n.h,s:d,v:f,a:n.a,source:"hsv"}},Sro=function(){function t(e,n){for(var o=0;o-1}function Yno(t,e){var n=this.__data__,o=kZ(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}function AA(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Koo}function hM(t){return t!=null&&F5e(t.length)&&!D5e(t)}function qoo(t){return h7(t)&&hM(t)}function $oo(){return!1}var Fnt=typeof yg=="object"&&yg&&!yg.nodeType&&yg,cRe=Fnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,Qoo=cRe&&cRe.exports===Fnt,uRe=Qoo?n5.Buffer:void 0,Zoo=uRe?uRe.isBuffer:void 0,BX=Zoo||$oo,eio="[object Object]",tio=Function.prototype,nio=Object.prototype,Lnt=tio.toString,oio=nio.hasOwnProperty,iio=Lnt.call(Object);function rio(t){if(!h7(t)||Xb(t)!=eio)return!1;var e=Ent(t);if(e===null)return!0;var n=oio.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&Lnt.call(n)==iio}var aio="[object Arguments]",lio="[object Array]",sio="[object Boolean]",cio="[object Date]",uio="[object Error]",dio="[object Function]",fio="[object Map]",hio="[object Number]",pio="[object Object]",gio="[object RegExp]",mio="[object Set]",yio="[object String]",Aio="[object WeakMap]",wio="[object ArrayBuffer]",vio="[object DataView]",xio="[object Float32Array]",bio="[object Float64Array]",Sio="[object Int8Array]",Tio="[object Int16Array]",Pio="[object Int32Array]",Cio="[object Uint8Array]",Rio="[object Uint8ClampedArray]",Hio="[object Uint16Array]",Mio="[object Uint32Array]",cc={};cc[xio]=cc[bio]=cc[Sio]=cc[Tio]=cc[Pio]=cc[Cio]=cc[Rio]=cc[Hio]=cc[Mio]=!0;cc[aio]=cc[lio]=cc[wio]=cc[sio]=cc[vio]=cc[cio]=cc[uio]=cc[dio]=cc[fio]=cc[hio]=cc[pio]=cc[gio]=cc[mio]=cc[yio]=cc[Aio]=!1;function Iio(t){return h7(t)&&F5e(t.length)&&!!cc[Xb(t)]}function zio(t){return function(e){return t(e)}}var Wnt=typeof yg=="object"&&yg&&!yg.nodeType&&yg,PE=Wnt&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,Dio=PE&&PE.exports===Wnt,uae=Dio&&Hnt.process,dRe=function(){try{var t=PE&&PE.require&&PE.require("util").types;return t||uae&&uae.binding&&uae.binding("util")}catch{}}(),fRe=dRe&&dRe.isTypedArray,L5e=fRe?zio(fRe):Iio;function kde(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Eio=Object.prototype,kio=Eio.hasOwnProperty;function Fio(t,e,n){var o=t[e];(!(kio.call(t,e)&&kN(o,n))||n===void 0&&!(e in t))&&E5e(t,e,n)}function Lio(t,e,n,o){var i=!n;n||(n={});for(var r=-1,a=e.length;++r-1&&t%1==0&&t0){if(++e>=Qio)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var nro=tro($io);function oro(t,e){return nro(Kio(t,e,LZ),t+"")}function iro(t,e,n){if(!Qm(n))return!1;var o=typeof e;return(o=="number"?hM(n)&&W5e(e,n.length):o=="string"&&e in n)?kN(n[e],t):!1}function rro(t){return oro(function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(r=t.length>3&&typeof r=="function"?(i--,r):void 0,a&&iro(n[0],n[1],a)&&(r=i<3?void 0:r,i=1),e=Object(e);++o=e||S<0||d&&x>=r}function b(){var y=dae();if(w(y))return C(y);l=setTimeout(b,A(y))}function C(y){return l=void 0,f&&o?p(y):(o=i=void 0,a)}function P(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(dae())}function T(){var y=dae(),S=w(y);if(o=arguments,i=this,s=y,S){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(b,e),p(s)}return l===void 0&&(l=setTimeout(b,e)),a}return T.cancel=P,T.flush=v,T}var Aro="Expected a function";function wro(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(Aro);return Qm(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),jnt(t,e,{leading:o,maxWait:e,trailing:i})}var vro=function(e,n,o){var i=o.getBoundingClientRect(),r=i.width,a=i.height,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,s=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=l-(o.getBoundingClientRect().left+window.pageXOffset),u=s-(o.getBoundingClientRect().top+window.pageYOffset);c<0?c=0:c>r&&(c=r),u<0?u=0:u>a&&(u=a);var d=c/r,f=1-u/a;return{h:n.h,s:d,v:f,a:n.a,source:"hsv"}},xro=function(){function t(e,n){for(var o=0;o=0,r=!n&&i&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return r?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return er(this.toString())},_applyModification:function(e,n){var o=e.apply(null,[this].concat([].slice.call(n)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(Gro,arguments)},brighten:function(){return this._applyModification(Xro,arguments)},darken:function(){return this._applyModification(Jro,arguments)},desaturate:function(){return this._applyModification(Oro,arguments)},saturate:function(){return this._applyModification(_ro,arguments)},greyscale:function(){return this._applyModification(Vro,arguments)},spin:function(){return this._applyModification(Kro,arguments)},_applyCombination:function(e,n){return e.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(Qro,arguments)},complement:function(){return this._applyCombination(qro,arguments)},monochromatic:function(){return this._applyCombination(Zro,arguments)},splitcomplement:function(){return this._applyCombination($ro,arguments)},triad:function(){return this._applyCombination(bRe,[3])},tetrad:function(){return this._applyCombination(bRe,[4])}};er.fromRatio=function(t,e){if(jX(t)=="object"){var n={};for(var o in t)t.hasOwnProperty(o)&&(o==="a"?n[o]=t[o]:n[o]=MD(t[o]));t=n}return er(t,e)};function Nro(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=iao(t)),jX(t)=="object"&&(e6(t.r)&&e6(t.g)&&e6(t.b)?(e=Uro(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):e6(t.h)&&e6(t.s)&&e6(t.v)?(o=MD(t.s),i=MD(t.v),e=jro(t.h,o,i),a=!0,l="hsv"):e6(t.h)&&e6(t.s)&&e6(t.l)&&(o=MD(t.s),r=MD(t.l),e=Bro(t.h,o,r),a=!0,l="hsl"),t.hasOwnProperty("a")&&(n=t.a)),n=Vnt(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}function Uro(t,e,n){return{r:Wc(t,255)*255,g:Wc(e,255)*255,b:Wc(n,255)*255}}function ARe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=(o+i)/2;if(o==i)r=a=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(d-=1),d<1/6?c+(u-c)*6*d:d<1/2?u:d<2/3?c+(u-c)*(2/3-d)*6:c}if(e===0)o=i=r=n;else{var l=n<.5?n*(1+e):n+e-n*e,s=2*n-l;o=a(s,l,t+1/3),i=a(s,l,t),r=a(s,l,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function wRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=o,s=o-i;if(a=o===0?0:s/o,o==i)r=0;else{switch(o){case t:r=(e-n)/s+(e>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(er(o));return r}function Zro(t,e){e=e||6;for(var n=er(t).toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(er({h:o,s:i,v:r})),r=(r+l)%1;return a}er.mix=function(t,e,n){n=n===0?0:n||50;var o=er(t).toRgb(),i=er(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return er(a)};er.readability=function(t,e){var n=er(t),o=er(e);return(Math.max(n.getLuminance(),o.getLuminance())+.05)/(Math.min(n.getLuminance(),o.getLuminance())+.05)};er.isReadable=function(t,e,n){var o=er.readability(t,e),i,r;switch(r=!1,i=rao(n),i.level+i.size){case"AAsmall":case"AAAlarge":r=o>=4.5;break;case"AAlarge":r=o>=3;break;case"AAAsmall":r=o>=7;break}return r};er.mostReadable=function(t,e,n){var o=null,i=0,r,a,l,s;n=n||{},a=n.includeFallbackColors,l=n.level,s=n.size;for(var c=0;ci&&(i=r,o=er(e[c]));return er.isReadable(t,o,{level:l,size:s})||!a?o:(n.includeFallbackColors=!1,er.mostReadable(t,["#fff","#000"],n))};var Fde=er.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},eao=er.hexNames=tao(Fde);function tao(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}function Vnt(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Wc(t,e){nao(t)&&(t="100%");var n=oao(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function UZ(t){return Math.min(1,Math.max(0,t))}function V1(t){return parseInt(t,16)}function nao(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function oao(t){return typeof t=="string"&&t.indexOf("%")!=-1}function w2(t){return t.length==1?"0"+t:""+t}function MD(t){return t<=1&&(t=t*100+"%"),t}function Gnt(t){return Math.round(parseFloat(t)*255).toString(16)}function SRe(t){return V1(t)/255}var qy=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",n="(?:"+e+")|(?:"+t+")",o="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",i="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+i),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+i),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function e6(t){return!!qy.CSS_UNIT.exec(t)}function iao(t){t=t.replace(Lro,"").replace(Wro,"").toLowerCase();var e=!1;if(Fde[t])t=Fde[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n;return(n=qy.rgb.exec(t))?{r:n[1],g:n[2],b:n[3]}:(n=qy.rgba.exec(t))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=qy.hsl.exec(t))?{h:n[1],s:n[2],l:n[3]}:(n=qy.hsla.exec(t))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=qy.hsv.exec(t))?{h:n[1],s:n[2],v:n[3]}:(n=qy.hsva.exec(t))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=qy.hex8.exec(t))?{r:V1(n[1]),g:V1(n[2]),b:V1(n[3]),a:SRe(n[4]),format:e?"name":"hex8"}:(n=qy.hex6.exec(t))?{r:V1(n[1]),g:V1(n[2]),b:V1(n[3]),format:e?"name":"hex"}:(n=qy.hex4.exec(t))?{r:V1(n[1]+""+n[1]),g:V1(n[2]+""+n[2]),b:V1(n[3]+""+n[3]),a:SRe(n[4]+""+n[4]),format:e?"name":"hex8"}:(n=qy.hex3.exec(t))?{r:V1(n[1]+""+n[1]),g:V1(n[2]+""+n[2]),b:V1(n[3]+""+n[3]),format:e?"name":"hex"}:!1}function rao(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),n!=="small"&&n!=="large"&&(n="small"),{level:e,size:n}}var TRe=function(e){var n=["r","g","b","a","h","s","l","v"],o=0,i=0;return Fro(n,function(r){if(e[r]&&(o+=1,isNaN(e[r])||(i+=1),r==="s"||r==="l")){var a=/^\d+%$/;a.test(e[r])&&(i+=1)}}),o===i?e:!1},ID=function(e,n){var o=e.hex?er(e.hex):er(e),i=o.toHsl(),r=o.toHsv(),a=o.toRgb(),l=o.toHex();i.s===0&&(i.h=n||0,r.h=n||0);var s=l==="000000"&&a.a===0;return{hsl:i,hex:s?"transparent":"#"+l,rgb:a,hsv:r,oldHue:e.h||n||i.h,source:e.source}},V7=function(e){if(e==="transparent")return!0;var n=String(e).charAt(0)==="#"?1:0;return e.length!==4+n&&e.length<7+n&&er(e).isValid()},U5e=function(e){if(!e)return"#fff";var n=ID(e);if(n.hex==="transparent")return"rgba(0,0,0,0.4)";var o=(n.rgb.r*299+n.rgb.g*587+n.rgb.b*114)/1e3;return o>=128?"#000":"#fff"},fae=function(e,n){var o=e.replace("°","");return er(n+" ("+o+")")._ok},Uz=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){hao(i,o);function i(){var r,a,l,s;fao(this,i);for(var c=arguments.length,u=Array(c),d=0;dl))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&Pao?new YX:void 0;for(r.set(t,e),r.set(e,t);++d=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var TO=24,jlo=not.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?TO:o,r=t.height,a=r===void 0?TO:r,l=t.style,s=l===void 0?{}:l,c=Blo(t,["fill","width","height","style"]);return YRe.default.createElement("svg",jRe({viewBox:"0 0 "+TO+" "+TO,style:jRe({fill:n,width:i,height:a},s)},c),YRe.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Ylo=function(){function t(e,n){for(var o=0;o1&&(i.a=1),o.props.onChange({h:o.props.hsl.h,s:o.props.hsl.s,l:o.props.hsl.l,a:Math.round(i.a*100)/100,source:"rgb"},r)):(i.h||i.s||i.l)&&(typeof i.s=="string"&&i.s.includes("%")&&(i.s=i.s.replace("%","")),typeof i.l=="string"&&i.l.includes("%")&&(i.l=i.l.replace("%","")),i.s==1?i.s=.01:i.l==1&&(i.l=.01),o.props.onChange({h:i.h||o.props.hsl.h,s:Number(BRe(i.s)?o.props.hsl.s:i.s),l:Number(BRe(i.l)?o.props.hsl.l:i.l),source:"hsl"},r))},o.showHighlight=function(i){i.currentTarget.style.background="#eee"},o.hideHighlight=function(i){i.currentTarget.style.background="transparent"},n.hsl.a!==1&&n.view==="hex"?o.state={view:"rgb"}:o.state={view:n.view},o}return Ylo(e,[{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),r=void 0;return this.state.view==="hex"?r=be.createElement("div",{style:i.fields,className:"flexbox-fix"},be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?r=be.createElement("div",{style:i.fields,className:"flexbox-fix"},be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),be.createElement("div",{style:i.alpha},be.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(r=be.createElement("div",{style:i.fields,className:"flexbox-fix"},be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),be.createElement("div",{style:i.alpha},be.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),be.createElement("div",{style:i.wrap,className:"flexbox-fix"},r,be.createElement("div",{style:i.toggle},be.createElement("div",{style:i.icon,onClick:this.toggleViews,ref:function(l){return o.icon=l}},be.createElement(jlo,{style:i.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.hsl.a!==1&&i.view==="hex"?{view:"rgb"}:null}}]),e}(be.Component);oot.defaultProps={view:"hex"};var ORe=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return be.createElement("div",{style:e.picker})},Glo=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return be.createElement("div",{style:e.picker})},V5e=function(e){var n=e.width,o=e.onChange,i=e.disableAlpha,r=e.rgb,a=e.hsl,l=e.hsv,s=e.hex,c=e.renderers,u=e.styles,d=u===void 0?{}:u,f=e.className,p=f===void 0?"":f,g=e.defaultView,A=Jr(u1({default:{picker:{width:n,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},d),{disableAlpha:i});return be.createElement("div",{style:A.picker,className:"chrome-picker "+p},be.createElement("div",{style:A.saturation},be.createElement(NZ,{style:A.Saturation,hsl:a,hsv:l,pointer:Glo,onChange:o})),be.createElement("div",{style:A.body},be.createElement("div",{style:A.controls,className:"flexbox-fix"},be.createElement("div",{style:A.color},be.createElement("div",{style:A.swatch},be.createElement("div",{style:A.active}),be.createElement(dM,{renderers:c}))),be.createElement("div",{style:A.toggles},be.createElement("div",{style:A.hue},be.createElement(fM,{style:A.Hue,hsl:a,pointer:ORe,onChange:o})),be.createElement("div",{style:A.alpha},be.createElement(z5e,{style:A.Alpha,rgb:r,hsl:a,pointer:ORe,renderers:c,onChange:o})))),be.createElement(oot,{rgb:r,hsl:a,hex:s,view:g,onChange:o,disableAlpha:i})))};V5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),disableAlpha:fo.bool,styles:fo.object,defaultView:fo.oneOf(["hex","rgb","hsl"])};V5e.defaultProps={width:225,disableAlpha:!1,styles:{}};d1(V5e);var Xlo=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.active,l=Jr({default:{color:{background:n,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:U5e(n),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:a,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return be.createElement(qb,{style:l.color,color:n,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},be.createElement("div",{style:l.dot}))},Jlo=function(e){var n=e.hex,o=e.rgb,i=e.onChange,r=Jr({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:n},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),a=function(s,c){s.r||s.g||s.b?i({r:s.r||o.r,g:s.g||o.g,b:s.b||o.b,source:"rgb"},c):i({hex:s.hex,source:"hex"},c)};return be.createElement("div",{style:r.fields,className:"flexbox-fix"},be.createElement("div",{style:r.active}),be.createElement(al,{style:{wrap:r.HEXwrap,input:r.HEXinput,label:r.HEXlabel},label:"hex",value:n,onChange:a}),be.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"r",value:o.r,onChange:a}),be.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"g",value:o.g,onChange:a}),be.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"b",value:o.b,onChange:a}))},G5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.colors,r=e.hex,a=e.rgb,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(u1({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},s)),f=function(g,A){g.hex?V7(g.hex)&&n({hex:g.hex,source:"hex"},A):n(g,A)};return be.createElement(FN,{style:d.Compact,styles:s},be.createElement("div",{style:d.compact,className:"compact-picker "+u},be.createElement("div",null,$b(i,function(p){return be.createElement(Xlo,{key:p,color:p,active:p.toLowerCase()===r,onClick:f,onSwatchHover:o})}),be.createElement("div",{style:d.clear})),be.createElement(Jlo,{hex:r,rgb:a,onChange:f})))};G5e.propTypes={colors:fo.arrayOf(fo.string),styles:fo.object};G5e.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};const Cf=d1(G5e);var Klo=function(e){var n=e.hover,o=e.color,i=e.onClick,r=e.onSwatchHover,a={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},l=Jr({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:a}},{hover:n});return be.createElement("div",{style:l.swatch},be.createElement(qb,{color:o,onClick:i,onHover:r,focusStyle:a}))};const qlo=I5e(Klo);var X5e=function(e){var n=e.width,o=e.colors,i=e.onChange,r=e.onSwatchHover,a=e.triangle,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(u1({default:{card:{width:n,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},s),{"hide-triangle":a==="hide","top-left-triangle":a==="top-left","top-right-triangle":a==="top-right","bottom-left-triangle":a==="bottom-left","bottom-right-triangle":a==="bottom-right"}),f=function(g,A){return i({hex:g,source:"hex"},A)};return be.createElement("div",{style:d.card,className:"github-picker "+u},be.createElement("div",{style:d.triangleShadow}),be.createElement("div",{style:d.triangle}),$b(o,function(p){return be.createElement(qlo,{color:p,key:p,onClick:f,onSwatchHover:r})}))};X5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.string),triangle:fo.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:fo.object};X5e.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};d1(X5e);var $lo=function(e){var n=e.direction,o=Jr({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:n==="vertical"});return be.createElement("div",{style:o.picker})},Qlo=Object.assign||function(t){for(var e=1;e.5});return be.createElement("div",{style:o.picker})},nso=function(){var e=Jr({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return be.createElement("div",{style:e.pointer},be.createElement("div",{style:e.left},be.createElement("div",{style:e.leftInside})),be.createElement("div",{style:e.right},be.createElement("div",{style:e.rightInside})))},_Re=function(e){var n=e.onClick,o=e.label,i=e.children,r=e.active,a=Jr({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:r});return be.createElement("div",{style:a.button,onClick:n},o||i)},oso=function(e){var n=e.rgb,o=e.currentColor,i=Jr({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+n.r+","+n.g+", "+n.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:o,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return be.createElement("div",null,be.createElement("div",{style:i.label},"new"),be.createElement("div",{style:i.swatches},be.createElement("div",{style:i.new}),be.createElement("div",{style:i.current})),be.createElement("div",{style:i.label},"current"))},iso=function(){function t(e,n){for(var o=0;o100&&(u.a=100),u.a/=100,n({h:i.h,s:i.s,l:i.l,a:u.a,source:"rgb"},d))};return be.createElement("div",{style:l.fields,className:"flexbox-fix"},be.createElement("div",{style:l.double},be.createElement(al,{style:{input:l.input,label:l.label},label:"hex",value:r.replace("#",""),onChange:s})),be.createElement("div",{style:l.single},be.createElement(al,{style:{input:l.input,label:l.label},label:"r",value:o.r,onChange:s,dragLabel:"true",dragMax:"255"})),be.createElement("div",{style:l.single},be.createElement(al,{style:{input:l.input,label:l.label},label:"g",value:o.g,onChange:s,dragLabel:"true",dragMax:"255"})),be.createElement("div",{style:l.single},be.createElement(al,{style:{input:l.input,label:l.label},label:"b",value:o.b,onChange:s,dragLabel:"true",dragMax:"255"})),be.createElement("div",{style:l.alpha},be.createElement(al,{style:{input:l.input,label:l.label},label:"a",value:Math.round(o.a*100),onChange:s,dragLabel:"true",dragMax:"100"})))},cso=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var PO=24,mso=rot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?PO:o,r=t.height,a=r===void 0?PO:r,l=t.style,s=l===void 0?{}:l,c=gso(t,["fill","width","height","style"]);return GRe.default.createElement("svg",VRe({viewBox:"0 0 "+PO+" "+PO,style:VRe({fill:n,width:i,height:a},s)},c),GRe.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},yso=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.first,l=e.last,s=e.active,c=Jr({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:n,marginBottom:"1px"},check:{color:U5e(n),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:a,last:l,active:s,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return be.createElement(qb,{color:n,style:c.color,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},be.createElement("div",{style:c.check},be.createElement(mso,null)))},Aso=function(e){var n=e.onClick,o=e.onSwatchHover,i=e.group,r=e.active,a=Jr({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return be.createElement("div",{style:a.group},$b(i,function(l,s){return be.createElement(yso,{key:l,color:l,active:l.toLowerCase()===r,first:s===0,last:s===i.length-1,onClick:n,onSwatchHover:o})}))},Q5e=function(e){var n=e.width,o=e.height,i=e.onChange,r=e.onSwatchHover,a=e.colors,l=e.hex,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(u1({default:{picker:{width:n,height:o},overflow:{height:o,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},c)),p=function(A,w){return i({hex:A,source:"hex"},w)};return be.createElement("div",{style:f.picker,className:"swatches-picker "+d},be.createElement(FN,null,be.createElement("div",{style:f.overflow},be.createElement("div",{style:f.body},$b(a,function(g){return be.createElement(Aso,{key:g.toString(),group:g,active:l,onClick:p,onSwatchHover:r})}),be.createElement("div",{style:f.clear})))))};Q5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),height:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.arrayOf(fo.string)),styles:fo.object};Q5e.defaultProps={width:320,height:240,colors:[[rP[900],rP[700],rP[500],rP[300],rP[100]],[aP[900],aP[700],aP[500],aP[300],aP[100]],[lP[900],lP[700],lP[500],lP[300],lP[100]],[sP[900],sP[700],sP[500],sP[300],sP[100]],[cP[900],cP[700],cP[500],cP[300],cP[100]],[uP[900],uP[700],uP[500],uP[300],uP[100]],[dP[900],dP[700],dP[500],dP[300],dP[100]],[fP[900],fP[700],fP[500],fP[300],fP[100]],[hP[900],hP[700],hP[500],hP[300],hP[100]],["#194D33",zD[700],zD[500],zD[300],zD[100]],[pP[900],pP[700],pP[500],pP[300],pP[100]],[gP[900],gP[700],gP[500],gP[300],gP[100]],[mP[900],mP[700],mP[500],mP[300],mP[100]],[yP[900],yP[700],yP[500],yP[300],yP[100]],[AP[900],AP[700],AP[500],AP[300],AP[100]],[wP[900],wP[700],wP[500],wP[300],wP[100]],[vP[900],vP[700],vP[500],vP[300],vP[100]],[xP[900],xP[700],xP[500],xP[300],xP[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};d1(Q5e);var Z5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.hex,r=e.colors,a=e.width,l=e.triangle,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(u1({default:{card:{width:a,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},c),{"hide-triangle":l==="hide","top-left-triangle":l==="top-left","top-right-triangle":l==="top-right"}),p=function(A,w){V7(A)&&n({hex:A,source:"hex"},w)};return be.createElement("div",{style:f.card,className:"twitter-picker "+d},be.createElement("div",{style:f.triangleShadow}),be.createElement("div",{style:f.triangle}),be.createElement("div",{style:f.body},$b(r,function(g,A){return be.createElement(qb,{key:A,color:g,hex:g,style:f.swatch,onClick:p,onHover:o,focusStyle:{boxShadow:"0 0 4px "+g}})}),be.createElement("div",{style:f.hash},"#"),be.createElement(al,{label:null,style:{input:f.input},value:i.replace("#",""),onChange:p}),be.createElement("div",{style:f.clear})))};Z5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),triangle:fo.oneOf(["hide","top-left","top-right"]),colors:fo.arrayOf(fo.string),styles:fo.object};Z5e.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};d1(Z5e);var e9e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return be.createElement("div",{style:n.picker})};e9e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};e9e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var t9e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return be.createElement("div",{style:n.picker})};t9e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};t9e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var wso=function(e){var n=e.onChange,o=e.rgb,i=e.hsl,r=e.hex,a=e.hsv,l=function(p,g){if(p.hex)V7(p.hex)&&n({hex:p.hex,source:"hex"},g);else if(p.rgb){var A=p.rgb.split(",");fae(p.rgb,"rgb")&&n({r:A[0],g:A[1],b:A[2],a:1,source:"rgb"},g)}else if(p.hsv){var w=p.hsv.split(",");fae(p.hsv,"hsv")&&(w[2]=w[2].replace("%",""),w[1]=w[1].replace("%",""),w[0]=w[0].replace("°",""),w[1]==1?w[1]=.01:w[2]==1&&(w[2]=.01),n({h:Number(w[0]),s:Number(w[1]),v:Number(w[2]),source:"hsv"},g))}else if(p.hsl){var b=p.hsl.split(",");fae(p.hsl,"hsl")&&(b[2]=b[2].replace("%",""),b[1]=b[1].replace("%",""),b[0]=b[0].replace("°",""),d[1]==1?d[1]=.01:d[2]==1&&(d[2]=.01),n({h:Number(b[0]),s:Number(b[1]),v:Number(b[2]),source:"hsl"},g))}},s=Jr({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),c=o.r+", "+o.g+", "+o.b,u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.l*100)+"%",d=Math.round(a.h)+"°, "+Math.round(a.s*100)+"%, "+Math.round(a.v*100)+"%";return be.createElement("div",{style:s.wrap,className:"flexbox-fix"},be.createElement("div",{style:s.fields},be.createElement("div",{style:s.double},be.createElement(al,{style:{input:s.input,label:s.label},label:"hex",value:r,onChange:l})),be.createElement("div",{style:s.column},be.createElement("div",{style:s.single},be.createElement(al,{style:{input:s.input2,label:s.label2},label:"rgb",value:c,onChange:l})),be.createElement("div",{style:s.single},be.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsv",value:d,onChange:l})),be.createElement("div",{style:s.single},be.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsl",value:u,onChange:l})))))},n9e=function(e){var n=e.width,o=e.onChange,i=e.rgb,r=e.hsl,a=e.hsv,l=e.hex,s=e.header,c=e.styles,u=c===void 0?{}:c,d=e.className,f=d===void 0?"":d,p=Jr(u1({default:{picker:{width:n,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+i.r+", "+i.g+", "+i.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},u));return be.createElement("div",{style:p.picker,className:"google-picker "+f},be.createElement("div",{style:p.head},s),be.createElement("div",{style:p.swatch}),be.createElement("div",{style:p.saturation},be.createElement(NZ,{hsl:r,hsv:a,pointer:e9e,onChange:o})),be.createElement("div",{style:p.body},be.createElement("div",{style:p.controls,className:"flexbox-fix"},be.createElement("div",{style:p.hue},be.createElement(fM,{style:p.Hue,hsl:r,radius:"4px",pointer:t9e,onChange:o}))),be.createElement(wso,{rgb:i,hsl:r,hex:l,hsv:a,onChange:o})))};n9e.propTypes={width:fo.oneOfType([fo.string,fo.number]),styles:fo.object,header:fo.string};n9e.defaultProps={width:652,styles:{},header:"Color picker"};d1(n9e);const vso=({setDialogVisible:t})=>{const e=M(dn),n=M(tje),o=M(Vn),i=M(nje),r=M(En),a=M(Js),l=M(io),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.color)??"#808080"),d=Kt(),f=b=>{switch(a){case ue.AllSelectedObjectsOfThisType:{for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&M.getState().selectedElementIdSet.has(C.id)&&b!==C.color)return!0;break}case ue.AllObjectsOfThisType:for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&b!==C.color)return!0;break;default:if(b!==(s==null?void 0:s.color))return!0}return!1},p=(b,C)=>{M.getState().set(P=>{for(const v of P.elements)if(v.type===z.Foundation&&b.has(v.id))if(C!==void 0)v.color=C;else{const T=b.get(v.id);T!==void 0&&(v.color=T)}})},g=b=>{if(s&&f(b)){switch(a){case ue.AllSelectedObjectsOfThisType:{const C=new Map;for(const v of M.getState().elements)v.type===z.Foundation&&M.getState().selectedElementIdSet.has(v.id)&&C.set(v.id,v.color??"#808080");const P={name:"Set Color for Selected Foundations",timestamp:Date.now(),oldValues:C,newValue:b,undo:()=>{p(P.oldValues)},redo:()=>{p(P.oldValues,P.newValue)}};r(P),p(C,b),l(M.getState().applyCount+1);break}case ue.AllObjectsOfThisType:{const C=new Map;for(const v of M.getState().elements)v.type===z.Foundation&&C.set(v.id,v.color??"#808080");const P={name:"Set Color for All Foundations",timestamp:Date.now(),oldValues:C,newValue:b,undo:()=>{for(const[v,T]of P.oldValues.entries())n(v,T)},redo:()=>{i(z.Foundation,P.newValue)}};r(P),i(z.Foundation,b),l(M.getState().applyCount+1);break}default:{const C=o(s.id),P=C?C.color:s.color,v={name:"Set Color of Selected Foundation",timestamp:Date.now(),oldValue:P,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{n(v.changedElementId,v.oldValue)},redo:()=>{n(v.changedElementId,v.newValue)}};r(v),n(s.id,b),l(M.getState().applyCount+1);break}}e(C=>{C.actionState.foundationColor=b})}},A=()=>{g(c)},w=()=>{t(!1)};return h.jsx(lo,{width:600,title:j.t("word.Color",d),onApply:A,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:b=>M.getState().setFoundationActionScope(b.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},xso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(ZBe),i=M(t3),r=M(eW),a=M(H7),l=M(vH),s=M(e3),c=M(En),u=M(Js),d=M(dn),f=M(ao),p=M(io),g=M(ca),A=co(z.Foundation),[w,b]=m.useState((A==null?void 0:A.lx)??.1),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=ae=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const ne of e)if(ne.type===z.Foundation&&M.getState().selectedElementIdSet.has(ne.id)){const se=ne,le=l(se.id);if(le.length>0&&!xe.doesNewSizeContainAllChildren(se,le,ae,se.ly))return!1}break}case ue.AllObjectsOfThisType:{for(const ne of e)if(ne.type===z.Foundation){const se=ne,le=l(se.id);if(le.length>0&&!xe.doesNewSizeContainAllChildren(se,le,ae,se.ly))return!1}break}default:{const ne=l(A.id);if(ne.length>0)return xe.doesNewSizeContainAllChildren(A,ne,ae,A.ly);break}}return!0}},N=ae=>!W(ae),L=ae=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:for(const ne of e)if(ne.type===z.Foundation&&!ne.locked&&M.getState().selectedElementIdSet.has(ne.id)&&Math.abs(ne.lx-ae)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const ne of e)if(ne.type===z.Foundation&&!ne.locked&&Math.abs(ne.lx-ae)>Dt)return!0;break;default:if(Math.abs((A==null?void 0:A.lx)-ae)>Dt)return!0}return!1}},E=(ae,ne)=>{if(ae==null)return null;for(const se of ae.children)if(se.name.includes(`${ne}`))return se;return null},U=(ae,ne,se)=>{var le,te;if(ae){for(const he of ae.children)if(he.name.includes(`${se.id}`)){(te=(le=Ln.getState().contentRef)==null?void 0:le.current)==null||te.add(he);break}d(he=>{for(const pe of he.elements)if(pe.id===se.id){pe.parentId=Zo;const fe=new Gt(pe.cx,pe.cy).rotateAround(wr,ne.rotation[2]).add(new Gt(ne.cx,ne.cy));pe.cx=fe.x,pe.cy=fe.y,pe.cz=0,T.current.set(pe.id,new re(fe.x,fe.y,0)),P.current.set(pe.id,Zo);break}})}},F=(ae,ne)=>{const se=l(ae.id),le=ae.rotation[2];if(y.current.clear(),R.current.clear(),se.length>0)for(const te of se)switch(te.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=new Gt(te.cx*ae.lx,te.cy*ae.ly).rotateAround(wr,le);y.current.set(te.id,he),v.current.set(te.id,new re(te.cx,te.cy));break}case z.Polygon:{const he=te,pe=[];for(const fe of he.vertices)pe.push(new Gt(fe.x*ae.lx,fe.y*ae.ly).rotateAround(wr,le));R.current.set(te.id,pe),S.current.set(te.id,he.vertices.map(fe=>({...fe})));break}case z.Human:case z.Tree:{v.current.set(te.id,new re(te.cx,te.cy,te.cz));break}}if(i(ae.id,ne),se.length>0)for(const te of se)switch(te.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=y.current.get(te.id);if(he){const fe=new Gt(he.x,he.y).rotateAround(wr,-le).x/ne;o(te.id,fe),T.current.set(te.id,new re(fe,te.cy))}break}case z.Polygon:{const he=R.current.get(te.id);if(he){const pe=[];for(const fe of he){const $=fe.rotateAround(wr,-le),de=$.x/ne,Se=$.y/ae.ly;pe.push({x:de,y:Se})}a(te.id,pe),x.current.set(te.id,pe.map(fe=>({...fe})))}break}case z.Human:case z.Tree:{if(T.current.set(te.id,new re(te.cx,te.cy,te.cz)),C.current.set(te.id,ae.id),Math.abs(te.cz-ae.lz/2)0){const he=Ln.getState().contentRef,pe=E(he==null?void 0:he.current,ae.id);U(pe,ae,te)}}else if(Math.abs(Math.abs(te.cx)-ae.lx/2)0?ne:-ne)/2;o(te.id,he),T.current.set(te.id,new re(he,te.cy,te.cz))}break}}},B=(ae,ne,se)=>{if(!ae||!ne)return;const le=Ln.getState().contentRef,te=E(le==null?void 0:le.current,ne),he=E(ne===Zo?le==null?void 0:le.current:te,se);if(he&&(le!=null&&le.current)){if(ae===Zo)le.current.add(he);else{const pe=E(le.current,ae);pe==null||pe.add(he)}Zh()}},_=(ae,ne)=>{ae&&d(se=>{for(const le of se.elements)if(le.id===ne){le.parentId=ae;break}})},Y=(ae,ne)=>{M.getState().set(se=>{for(const le of se.elements)if(ae.has(le.id))if(ne!==void 0)le.lx=ne;else{const te=ae.get(le.id);te!==void 0&&(le.lx=te)}})},O=ae=>{if(!A||!L(ae))return;const ne=n(A.id),se=ne?ne.lx:A.lx;if(D.current=void 0,H.current=N(ae),H.current)D.current=ae,b(se);else switch(v.current.clear(),T.current.clear(),S.current.clear(),x.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const le=new Map;for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&le.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&F(he,ae);const te={name:"Set Length for Selected Foundations",timestamp:Date.now(),oldSizes:le,newSize:ae,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;if(Y(te.oldSizes),te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(de,Se,fe),_(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())a(fe,$)},redo:()=>{var he,pe;if(Y(te.oldSizes,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(Se,de,fe),_(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())a(fe,$)}};c(te),p(f+1);break}case ue.AllObjectsOfThisType:{const le=new Map;for(const he of e)he.type===z.Foundation&&le.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&F(he,ae);const te={name:"Set Length for All Foundations",timestamp:Date.now(),oldSizes:le,newSize:ae,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;for(const[fe,$]of te.oldSizes.entries())i(fe,$);if(te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(de,Se,fe),_(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())a(fe,$)},redo:()=>{var he,pe;if(r(z.Foundation,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(Se,de,fe),_(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())a(fe,$)}};c(te),p(f+1);break}default:{F(A,ae);const le={name:"Set Foundation Length",timestamp:Date.now(),oldSize:se,newSize:ae,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var te,he;if(i(A.id,le.oldSize),le.oldChildrenPositionsMap&&le.oldChildrenPositionsMap.size>0)for(const[pe,fe]of le.oldChildrenPositionsMap.entries()){s(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B($,de,pe),_($,pe))}if(le.oldChildrenVerticesMap&&le.oldChildrenVerticesMap.size>0)for(const[pe,fe]of le.oldChildrenVerticesMap.entries())a(pe,fe)},redo:()=>{var te,he;if(i(A.id,le.newSize),le.newChildrenPositionsMap&&le.newChildrenPositionsMap.size>0)for(const[pe,fe]of le.newChildrenPositionsMap.entries()){s(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B(de,$,pe),_(de,pe))}if(le.newChildrenVerticesMap&&le.newChildrenVerticesMap.size>0)for(const[pe,fe]of le.newChildrenVerticesMap.entries())a(pe,fe)}};c(le),p(f+1);break}}},J=()=>{t(!1)},Z=()=>{J(),g()},ie=()=>{O(w),H.current||(t(!1),p(0))},ee=()=>{O(w)},q=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Length",k),rejectedMessage:q,onApply:ee,onClose:J,onClickCancel:Z,onClickOk:ie,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:w,onChange:ae=>{ae!==null&&b(ae)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 1000] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:ae=>M.getState().setFoundationActionScope(ae.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",k)})]})})})]})})},bso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(e3),i=M(eje),r=M(R7),a=M(tW),l=M(H7),s=M(vH),c=M(En),u=M(Js),d=M(dn),f=M(ao),p=M(io),g=M(ca),A=co(z.Foundation),[w,b]=m.useState((A==null?void 0:A.ly)??.1),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=q=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const ae of e)if(ae.type===z.Foundation&&M.getState().selectedElementIdSet.has(ae.id)){const ne=ae,se=s(ne.id);if(se.length>0&&!xe.doesNewSizeContainAllChildren(ne,se,ne.lx,q))return!1}break}case ue.AllObjectsOfThisType:{for(const ae of e)if(ae.type===z.Foundation){const ne=ae,se=s(ne.id);if(se.length>0&&!xe.doesNewSizeContainAllChildren(ne,se,ne.lx,q))return!1}break}default:{const ae=s(A.id);if(ae.length>0)return xe.doesNewSizeContainAllChildren(A,ae,A.lx,q);break}}return!0}},N=q=>!W(q),L=q=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:for(const ae of e)if(ae.type===z.Foundation&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.ly-q)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const ae of e)if(ae.type===z.Foundation&&!ae.locked&&Math.abs(ae.ly-q)>Dt)return!0;break;default:if(Math.abs((A==null?void 0:A.ly)-q)>Dt)return!0}return!1}},E=(q,ae)=>{if(q==null)return null;for(const ne of q.children)if(ne.name.includes(`${ae}`))return ne;return null},U=(q,ae,ne)=>{var se,le;if(q){for(const te of q.children)if(te.name.includes(`${ne.id}`)){(le=(se=Ln.getState().contentRef)==null?void 0:se.current)==null||le.add(te);break}d(te=>{for(const he of te.elements)if(he.id===ne.id){he.parentId=Zo;const pe=new Gt(he.cx,he.cy).rotateAround(wr,ae.rotation[2]).add(new Gt(ae.cx,ae.cy));he.cx=pe.x,he.cy=pe.y,he.cz=0,T.current.set(he.id,new re(pe.x,pe.y,0)),P.current.set(he.id,Zo);break}})}},F=(q,ae)=>{const ne=s(q.id),se=q.rotation[2];if(y.current.clear(),R.current.clear(),ne.length>0)for(const le of ne)switch(le.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const te=new Gt(le.cx*q.lx,le.cy*q.ly).rotateAround(wr,se);y.current.set(le.id,te),v.current.set(le.id,new re(le.cx,le.cy));break}case z.Polygon:{const te=le,he=[];for(const pe of te.vertices)he.push(new Gt(pe.x*q.lx,pe.y*q.ly).rotateAround(wr,se));R.current.set(le.id,he),S.current.set(le.id,te.vertices.map(pe=>({...pe})));break}case z.Human:case z.Tree:{v.current.set(le.id,new re(le.cx,le.cy,le.cz));break}}if(r(q.id,ae),ne.length>0)for(const le of ne)switch(le.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const te=y.current.get(le.id);if(te){const pe=new Gt(te.x,te.y).rotateAround(wr,-se).y/ae;i(le.id,pe),T.current.set(le.id,new re(le.cx,pe))}break}case z.Polygon:{const te=R.current.get(le.id);if(te){const he=[];for(const pe of te){const fe=pe.rotateAround(wr,-se),$=fe.x/q.lx,de=fe.y/ae;he.push({x:$,y:de})}l(le.id,he),x.current.set(le.id,he.map(pe=>({...pe})))}break}case z.Human:case z.Tree:{if(T.current.set(le.id,new re(le.cx,le.cy,le.cz)),C.current.set(le.id,q.id),Math.abs(le.cz-q.lz/2)0){const te=Ln.getState().contentRef,he=E(te==null?void 0:te.current,q.id);U(he,q,le)}}else if(Math.abs(Math.abs(le.cy)-q.ly/2)0?ae:-ae)/2;i(le.id,te),T.current.set(le.id,new re(le.cz,te,le.cz))}break}}},B=(q,ae,ne)=>{if(!q||!ae)return;const se=Ln.getState().contentRef,le=E(se==null?void 0:se.current,ae),te=E(ae===Zo?se==null?void 0:se.current:le,ne);if(te&&(se!=null&&se.current)){if(q===Zo)se.current.add(te);else{const he=E(se.current,q);he==null||he.add(te)}Zh()}},_=(q,ae)=>{q&&d(ne=>{for(const se of ne.elements)if(se.id===ae){se.parentId=q;break}})},Y=q=>{if(!A||!L(q))return;const ae=n(A.id),ne=ae?ae.ly:A.ly;if(D.current=void 0,H.current=N(q),H.current)D.current=q,b(ne);else switch(v.current.clear(),T.current.clear(),S.current.clear(),x.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const se=new Map;for(const te of e)te.type===z.Foundation&&M.getState().selectedElementIdSet.has(te.id)&&se.set(te.id,te.ly);for(const te of e)te.type===z.Foundation&&M.getState().selectedElementIdSet.has(te.id)&&F(te,q);const le={name:"Set Width for Selected Foundations",timestamp:Date.now(),oldSizes:se,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var te,he;for(const[pe,fe]of le.oldSizes.entries())r(pe,fe);if(le.oldChildrenPositionsMap&&le.oldChildrenPositionsMap.size>0)for(const[pe,fe]of le.oldChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B($,de,pe),_($,pe))}if(le.oldChildrenVerticesMap&&le.oldChildrenVerticesMap.size>0)for(const[pe,fe]of le.oldChildrenVerticesMap.entries())l(pe,fe)},redo:()=>{var te,he;for(const[pe,fe]of le.oldSizes.entries())r(pe,le.newSize);if(le.newChildrenPositionsMap&&le.newChildrenPositionsMap.size>0)for(const[pe,fe]of le.newChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B(de,$,pe),_(de,pe))}if(le.newChildrenVerticesMap&&le.newChildrenVerticesMap.size>0)for(const[pe,fe]of le.newChildrenVerticesMap.entries())l(pe,fe)}};c(le),p(f+1);break}case ue.AllObjectsOfThisType:{const se=new Map;for(const te of e)te.type===z.Foundation&&se.set(te.id,te.ly);for(const te of e)te.type===z.Foundation&&F(te,q);const le={name:"Set Width for All Foundations",timestamp:Date.now(),oldSizes:se,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var te,he;for(const[pe,fe]of le.oldSizes.entries())r(pe,fe);if(le.oldChildrenPositionsMap&&le.oldChildrenPositionsMap.size>0)for(const[pe,fe]of le.oldChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B($,de,pe),_($,pe))}if(le.oldChildrenVerticesMap&&le.oldChildrenVerticesMap.size>0)for(const[pe,fe]of le.oldChildrenVerticesMap.entries())l(pe,fe)},redo:()=>{var te,he;if(a(z.Foundation,le.newSize),le.newChildrenPositionsMap&&le.newChildrenPositionsMap.size>0)for(const[pe,fe]of le.newChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B(de,$,pe),_(de,pe))}if(le.newChildrenVerticesMap&&le.newChildrenVerticesMap.size>0)for(const[pe,fe]of le.newChildrenVerticesMap.entries())l(pe,fe)}};c(le),p(f+1);break}default:{F(A,q);const se={name:"Set Foundation Width",timestamp:Date.now(),oldSize:ne,newSize:q,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var le,te;if(r(A.id,se.oldSize),se.oldChildrenPositionsMap&&se.oldChildrenPositionsMap.size>0)for(const[he,pe]of se.oldChildrenPositionsMap.entries()){o(he,pe.x,pe.y,pe.z);const fe=(le=se.oldChildrenParentIdMap)==null?void 0:le.get(he),$=(te=se.newChildrenParentIdMap)==null?void 0:te.get(he);fe&&$&&fe!==$&&(B(fe,$,he),_(fe,he))}if(se.oldChildrenVerticesMap&&se.oldChildrenVerticesMap.size>0)for(const[he,pe]of se.oldChildrenVerticesMap.entries())l(he,pe)},redo:()=>{var le,te;if(r(A.id,se.newSize),se.newChildrenPositionsMap&&se.newChildrenPositionsMap.size>0)for(const[he,pe]of se.newChildrenPositionsMap.entries()){o(he,pe.x,pe.y,pe.z);const fe=(le=se.oldChildrenParentIdMap)==null?void 0:le.get(he),$=(te=se.newChildrenParentIdMap)==null?void 0:te.get(he);fe&&$&&fe!==$&&(B($,fe,he),_($,he))}if(se.newChildrenVerticesMap&&se.newChildrenVerticesMap.size>0)for(const[he,pe]of se.newChildrenVerticesMap.entries())l(he,pe)}};c(se),p(f+1);break}}},O=()=>{t(!1)},J=()=>{O(),g()},Z=()=>{Y(w),H.current||(t(!1),p(0))},ie=()=>{Y(w)},ee=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Width",k),rejectedMessage:ee,onApply:ie,onClickCancel:J,onClickOk:Z,onClose:O,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:w,onChange:q=>{q!==null&&b(q)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 1000] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:q=>M.getState().setFoundationActionScope(q.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",k)})]})})})]})})},Sso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(e3),l=M(ao),s=M(io),c=co(z.Foundation),[u,d]=m.useState((c==null?void 0:c.lz)??.1),f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map),A=m.useRef(new Map),w=Kt(),b=(W,N)=>{e(L=>{const E=L.elements.find(U=>U.id===W);E&&(E.lz=N,E.cz=N/2)})},C=(W,N)=>{e(L=>{for(const E of L.elements)E.type===W&&!E.locked&&(E.lz=N,E.cz=N/2)})},P=W=>{if(c){switch(r){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.Foundation&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.lz-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:for(const N of n)if(N.type===z.Foundation&&!N.locked&&Math.abs(N.lz-W)>Dt)return!0;break;default:if(Math.abs((c==null?void 0:c.lz)-W)>Dt)return!0}return!1}},v=(W,N)=>{if(W==null)return null;for(const L of W.children)if(L.name.includes(`${N}`))return L;return null},T=(W,N,L)=>{var E,U;if(W){for(const B of W.children)if(B.name.includes(`${L.id}`)){(U=(E=Ln.getState().contentRef)==null?void 0:E.current)==null||U.add(B);break}L.parentId=Zo;const F=new Gt(L.cx,L.cy).rotateAround(wr,-N.rotation[2]).add(new Gt(N.cx,N.cy));L.cx=F.x,L.cy=F.y,L.cz=0,A.current.set(L.id,new re(F.x,F.y,0)),p.current.set(L.id,Zo)}},y=(W,N)=>{e(L=>{for(const E of L.elements)if(E.parentId===W.id&&(f.current.set(E.id,W.id),g.current.set(E.id,new re(E.cx,E.cy,E.cz)),xe.isPlantOrHuman(E)))if(Math.abs(E.cz-W.lz/2)N/2){const F=Ln.getState().contentRef,B=v(F==null?void 0:F.current,W.id);T(B,W,E)}else E.cz=U,A.current.set(E.id,new re(E.cx,E.cy,U))}})},S=(W,N,L)=>{if(!W||!N)return;const E=Ln.getState().contentRef,U=v(E==null?void 0:E.current,N),F=v(N===Zo?E==null?void 0:E.current:U,L);if(F&&(E!=null&&E.current)){if(W===Zo)E.current.add(F);else{const B=v(E.current,W);B==null||B.add(F)}Zh()}},x=(W,N)=>{W&&e(L=>{for(const E of L.elements)if(E.id===N){E.parentId=W;break}})},R=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)if(W.has(E.id))if(N!==void 0)E.lz=N,E.cz=N/2;else{const U=W.get(E.id);U!==void 0&&(E.lz=U,E.cz=U/2)}})},H=W=>{if(c&&P(W)){switch(r){case ue.AllSelectedObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.Foundation&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.lz);for(const E of n)E.type===z.Foundation&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&y(E,W);const L={name:"Set Height for Selected Foundations",timestamp:Date.now(),oldValues:N,newValue:W,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(A.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var E,U;if(R(L.oldValues),L.oldChildrenPositionsMap&&L.oldChildrenPositionsMap.size>0)for(const[F,B]of L.oldChildrenPositionsMap.entries()){a(F,B.x,B.y,B.z);const _=(E=L.oldChildrenParentIdMap)==null?void 0:E.get(F),Y=(U=L.newChildrenParentIdMap)==null?void 0:U.get(F);_&&Y&&_!==Y&&(S(_,Y,F),x(_,F))}},redo:()=>{var U,F;const E=L.newValue;if(R(L.oldValues,E),L.newChildrenPositionsMap&&L.newChildrenPositionsMap.size>0)for(const[B,_]of L.newChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=L.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=L.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(O,Y,B),x(O,B))}}};i(L),R(N,W),s(l+1);break}case ue.AllObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.Foundation&&N.set(E.id,E.lz);for(const E of n)E.type===z.Foundation&&y(E,W);const L={name:"Set Height for All Foundations",timestamp:Date.now(),oldValues:N,newValue:W,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(A.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var E,U;for(const[F,B]of L.oldValues.entries())b(F,B);if(L.oldChildrenPositionsMap&&L.oldChildrenPositionsMap.size>0)for(const[F,B]of L.oldChildrenPositionsMap.entries()){a(F,B.x,B.y,B.z);const _=(E=L.oldChildrenParentIdMap)==null?void 0:E.get(F),Y=(U=L.newChildrenParentIdMap)==null?void 0:U.get(F);_&&Y&&_!==Y&&(S(_,Y,F),x(_,F))}},redo:()=>{var U,F;const E=L.newValue;if(C(z.Foundation,E),L.newChildrenPositionsMap&&L.newChildrenPositionsMap.size>0)for(const[B,_]of L.newChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=L.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=L.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(O,Y,B),x(O,B))}}};i(L),C(z.Foundation,W),s(l+1);break}default:{const N=o(c.id),L=N?N.lz:c.lz;y(c,W),b(c.id,W);const E={name:"Set Foundation Height",timestamp:Date.now(),oldValue:L,newValue:W,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(A.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),changedElementId:c.id,changedElementType:c.type,undo:()=>{var U,F;if(b(E.changedElementId,E.oldValue),E.oldChildrenPositionsMap&&E.oldChildrenPositionsMap.size>0)for(const[B,_]of E.oldChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=E.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=E.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(Y,O,B),x(Y,B))}},redo:()=>{var U,F;if(b(E.changedElementId,E.newValue),E.newChildrenPositionsMap&&E.newChildrenPositionsMap.size>0)for(const[B,_]of E.newChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=E.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=E.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(O,Y,B),x(O,B))}}};i(E),s(l+1);break}}e(N=>{N.actionState.foundationHeight=W})}},D=()=>{t(!1)},k=()=>{H(u)};return h.jsx(lo,{width:550,title:j.t("word.Height",w),onApply:k,onClose:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:.1,precision:2,value:u,onChange:W=>{W!==null&&d(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",w),": [0.1, 10] ",j.t("word.MeterAbbreviation",w)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",w)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W=>M.getState().setFoundationActionScope(W.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",w)})]})})})]})})},Tso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(age),i=M(zwt),r=M(En),a=M(Js),l=M(ao),s=M(io),c=co(z.Foundation),[u,d]=m.useState(c?-(c==null?void 0:c.rotation[2]):0),f=Kt(),p=C=>{if(c){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const P of e)if(P.type===z.Foundation&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&Math.abs(-P.rotation[2]-C)>Dt)return!0;break}case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Foundation&&!P.locked&&Math.abs(-P.rotation[2]-C)>Dt)return!0;break;default:if(Math.abs(-(c==null?void 0:c.rotation[2])-C)>Dt)return!0}return!1}},g=(C,P)=>{M.getState().set(v=>{for(const T of v.elements)if(C.has(T.id))if(P!==void 0)T.rotation[2]=P;else{const y=C.get(T.id);y!==void 0&&(T.rotation[2]=-y)}})},A=C=>{if(c&&p(C))switch(a){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)&&P.set(T.id,-T.rotation[2]);const v={name:"Set Azimuth for All Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{g(v.oldValues)},redo:()=>{g(v.oldValues,-v.newValue)}};r(v),g(P,-C),s(l+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Foundation&&P.set(T.id,-T.rotation[2]);const v={name:"Set Azimuth for All Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{for(const[T,y]of v.oldValues.entries())o(T,0,0,-y)},redo:()=>{i(z.Foundation,0,0,-v.newValue)}};r(v),i(z.Foundation,0,0,-C),s(l+1);break}default:{const P=n(c.id),v=P?-P.rotation[2]:-c.rotation[2],T={name:"Set Foundation Azimuth",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(T.changedElementId,0,0,-T.oldValue)},redo:()=>{o(T.changedElementId,0,0,-T.newValue)}};r(T),o(c.id,0,0,-C),s(l+1);break}}},w=()=>{t(!1)},b=()=>{A(u)};return h.jsx(lo,{width:500,title:j.t("word.Azimuth",f),onApply:b,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(xe.toDegrees(u).toFixed(2)),formatter:C=>`${C}°`,onChange:C=>{C!==null&&d(xe.toRadians(C))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),j.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Pso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Z9),o=M(En),i=M(Js),r=M(Dwt),a=M(ao),l=M(io),s=M(ca),c=M(Vn),u=M(dn),d=M(E=>{if(n){for(const U of E.elements)if(U.id===n.id)return U}return null}),[f,p]=m.useState((d==null?void 0:d.rValue)??Q4),[g,A]=m.useState(xe.toRValueInUS(f)),[w,b]=m.useState(!1),[C,P]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),T=Kt();m.useEffect(()=>{d&&p((d==null?void 0:d.rValue)??Q4)},[d==null?void 0:d.rValue]);const y=E=>{switch(i){case ue.AllObjectsOfThisType:for(const U of e)if(U.type===z.Foundation&&!U.locked){const F=U;if(F.rValue===void 0||Math.abs(F.rValue-E)>Dt)return!0}break;default:if((d==null?void 0:d.rValue)===void 0||Math.abs((d==null?void 0:d.rValue)-E)>Dt)return!0}return!1},S=(E,U)=>{u(F=>{for(const B of F.elements)if(B.id===E){B.rValue=U;break}})},x=E=>{for(const[U,F]of E.entries())S(U,F)},R=(E,U)=>{for(const F of E.keys())S(F,U)},H=E=>{if(d&&y(E)){switch(i){case ue.AllObjectsOfThisType:{const U=new Map;u(B=>{for(const _ of B.elements)if(_.type===z.Foundation&&!_.locked){const Y=_;U.set(_.id,Y.rValue??Q4),Y.rValue=E}});const F={name:"Set R-Value for All Ground Floors",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{x(F.oldValues)},redo:()=>{R(F.oldValues,F.newValue)}};o(F),l(a+1);break}default:{if(d){const F=c(d.id).rValue??d.rValue??Q4,B={name:"Set Ground Floor R-Value",timestamp:Date.now(),oldValue:F,newValue:E,changedElementId:d.id,changedElementType:d.type,undo:()=>{S(B.changedElementId,B.oldValue)},redo:()=>{S(B.changedElementId,B.newValue)}};o(B),S(d.id,E),l(a+1)}break}}u(U=>{U.actionState.groundFloorRValue=E})}},D=(E,U)=>{if(v.current){const{clientWidth:F,clientHeight:B}=window.document.documentElement,_=v.current.getBoundingClientRect();P({left:-_.left+U.x,right:F-(_.right-U.x),top:-_.top+U.y,bottom:B-((_==null?void 0:_.bottom)-U.y)})}},k=()=>{p((d==null?void 0:d.rValue)??Q4),t(!1)},W=()=>{k(),s()},N=()=>{H(f),t(!1),l(0)},L=()=>{H(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>b(!0),onMouseOut:()=>b(!1),children:[j.t("word.RValue",T)+" ","(",j.t("word.ThermalResistance",T),")"]}),footer:[h.jsx(oo,{onClick:L,children:j.t("word.Apply",T)},"Apply"),h.jsx(oo,{onClick:W,children:j.t("word.Cancel",T)},"Cancel"),h.jsx(oo,{type:"primary",onClick:N,children:j.t("word.OK",T)},"OK")],onCancel:k,maskClosable:!1,destroyOnClose:!1,modalRender:E=>h.jsx(Vr,{disabled:!w,bounds:C,onStart:(U,F)=>D(U,F),children:h.jsx("div",{ref:v,children:E})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:E=>Number(E).toFixed(2),onChange:E=>{E!==null&&(p(E),A(xe.toRValueInUS(E)))},onPressEnter:N}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",T),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:E=>Number(E).toFixed(2),onChange:E=>{E!==null&&(A(E),p(xe.toRValueInSI(E)))},onPressEnter:N}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",T),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:E=>r(E.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisGroundFloor",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllGroundFloors",T)})]})})})]})})})},Cso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberHeight)??10),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberHeight=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberHeight=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberHeight=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberHeight===void 0||Math.abs(y.solarAbsorberPipe.absorberHeight-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberHeight===void 0||Math.abs(y.solarAbsorberPipe.absorberHeight-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberHeight)===void 0||Math.abs((c==null?void 0:c.absorberHeight)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberHeight??10)}const y={name:"Set Absorber Height for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberHeight??10)}const y={name:"Set Absorber Height for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberHeight??10:c.absorberHeight??10;p(s.id,v);const S={name:"Set Absorber Height on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarAbsorberPipeMenu.AbsorberHeight",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:50,style:{width:120},step:.5,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [1, 50] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Rso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.apertureWidth)??.6),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.apertureWidth=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.apertureWidth=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.apertureWidth=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.apertureWidth===void 0||Math.abs(y.solarAbsorberPipe.apertureWidth-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.apertureWidth===void 0||Math.abs(y.solarAbsorberPipe.apertureWidth-v)>Dt))return!0}break;default:if((c==null?void 0:c.apertureWidth)===void 0||Math.abs((c==null?void 0:c.apertureWidth)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.apertureWidth??.6)}const y={name:"Set Absorber Aperture Width for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.apertureWidth??.6)}const y={name:"Set Absorber Aperture Width for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.apertureWidth??.6:c.apertureWidth??.6;p(s.id,v);const S={name:"Set Absorber Aperture Width on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarAbsorberPipeMenu.AbsorberApertureWidth",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0.1, 2] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Hso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.poleNumber)??5),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.poleNumber=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.poleNumber=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.poleNumber=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.poleNumber===void 0||y.solarAbsorberPipe.poleNumber!==v))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.poleNumber===void 0||y.solarAbsorberPipe.poleNumber!==v))return!0}break;default:if((c==null?void 0:c.poleNumber)===void 0||(c==null?void 0:c.poleNumber)!==v)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.poleNumber??5)}const y={name:"Set Absorber Pipe Pole Number for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.poleNumber??5)}const y={name:"Set Absorber Pipe Pole Number for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.poleNumber??5:c.poleNumber??5;p(s.id,v);const S={name:"Set Absorber Pipe Pole Number on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:1,precision:0,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [1, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Mso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberAbsorptance)??.95),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberAbsorptance=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberAbsorptance=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberAbsorptance=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(y.solarAbsorberPipe.absorberAbsorptance-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(y.solarAbsorberPipe.absorberAbsorptance-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberAbsorptance)===void 0||Math.abs((c==null?void 0:c.absorberAbsorptance)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberAbsorptance??.95)}const y={name:"Set Absorber Pipe Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberAbsorptance??.95)}const y={name:"Set Absorber Pipe Absorptance for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberAbsorptance??.95:c.absorberAbsorptance??.95;p(s.id,v);const S={name:"Set Absorber Pipe Absorptance on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarAbsorberPipeMenu.AbsorberAbsorptance",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Iso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberOpticalEfficiency)??.7),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberOpticalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberOpticalEfficiency=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberOpticalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberOpticalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberOpticalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberOpticalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const y={name:"Set Absorber Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const y={name:"Set Absorber Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberOpticalEfficiency??.7:c.absorberOpticalEfficiency??.7;p(s.id,v);const S={name:"Set Absorber Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},zso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberThermalEfficiency)??.3),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberThermalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberThermalEfficiency=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberThermalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberThermalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberThermalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberThermalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberThermalEfficiency??.3)}const y={name:"Set Absorber Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberThermalEfficiency??.3)}const y={name:"Set Absorber Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberThermalEfficiency??.3:c.absorberThermalEfficiency??.3;p(s.id,v);const S={name:"Set Absorber Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Dso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerHeight)??20),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerHeight=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.towerHeight=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerHeight=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerHeight===void 0||Math.abs(y.solarPowerTower.towerHeight-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerHeight===void 0||Math.abs(y.solarPowerTower.towerHeight-v)>Dt))return!0}break;default:if((c==null?void 0:c.towerHeight)===void 0||Math.abs((c==null?void 0:c.towerHeight)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerHeight??20)}const y={name:"Set Tower Height for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerHeight??20)}const y={name:"Set Tower Height for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.towerHeight??20:c.towerHeight??20;p(s.id,v);const S={name:"Set Tower Height on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarPowerTowerMenu.ReceiverTowerHeight",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:10,max:500,style:{width:120},step:1,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [10, 500] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Eso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerRadius)??1),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerRadius=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.towerRadius=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerRadius=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerRadius===void 0||Math.abs(y.solarPowerTower.towerRadius-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerRadius===void 0||Math.abs(y.solarPowerTower.towerRadius-v)>Dt))return!0}break;default:if((c==null?void 0:c.towerRadius)===void 0||Math.abs((c==null?void 0:c.towerRadius)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerRadius??1)}const y={name:"Set Tower Radius for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerRadius??1)}const y={name:"Set Tower Radius for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.towerRadius??1:c.towerRadius??1;p(s.id,v);const S={name:"Set Tower Radius on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarPowerTowerMenu.ReceiverTowerRadius",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:10,style:{width:120},step:.5,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0.5, 10] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},kso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverAbsorptance)??.95),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverAbsorptance=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.receiverAbsorptance=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverAbsorptance=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverAbsorptance===void 0||Math.abs(y.solarPowerTower.receiverAbsorptance-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverAbsorptance===void 0||Math.abs(y.solarPowerTower.receiverAbsorptance-v)>Dt))return!0}break;default:if((c==null?void 0:c.receiverAbsorptance)===void 0||Math.abs((c==null?void 0:c.receiverAbsorptance)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverAbsorptance??.95)}const y={name:"Set Receiver Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverAbsorptance??.95)}const y={name:"Set Receiver Absorptance for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.receiverAbsorptance??.95:c.receiverAbsorptance??.95;p(s.id,v);const S={name:"Set Receiver Absorptance on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarPowerTowerMenu.ReceiverAbsorptance",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Fso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverThermalEfficiency)??.3),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverThermalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.receiverThermalEfficiency=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverThermalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverThermalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverThermalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.receiverThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverThermalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverThermalEfficiency??.3)}const y={name:"Set Receiver Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverThermalEfficiency??.3)}const y={name:"Set Receiver Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.receiverThermalEfficiency??.3:c.receiverThermalEfficiency??.3;p(s.id,v);const S={name:"Set Receiver Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarPowerTowerMenu.ReceiverThermalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Lso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverOpticalEfficiency)??.7),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverOpticalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.receiverOpticalEfficiency=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverOpticalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverOpticalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverOpticalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.receiverOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverOpticalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverOpticalEfficiency??.7)}const y={name:"Set Receiver Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverOpticalEfficiency??.7)}const y={name:"Set Receiver Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.receiverOpticalEfficiency??.7:c.receiverOpticalEfficiency??.7;p(s.id,v);const S={name:"Set Receiver Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Wso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.chimneyHeight)??Math.max((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0)),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyHeight=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.chimneyHeight=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyHeight=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyHeight===void 0||Math.abs(y.solarUpdraftTower.chimneyHeight-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyHeight===void 0||Math.abs(y.solarUpdraftTower.chimneyHeight-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyHeight===void 0||Math.abs(s.solarUpdraftTower.chimneyHeight-v)>Dt))return!0}return!1},w=v=>{var T,y;if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((T=H.solarUpdraftTower)==null?void 0:T.chimneyHeight)??Math.max(H.lx,H.ly))}const x={name:"Set Solar Chimney Height for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{g(x.oldValues,x.newValue)}};i(x),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((y=H.solarUpdraftTower)==null?void 0:y.chimneyHeight)??Math.max(H.lx,H.ly))}const x={name:"Set Solar Chimney Height for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};i(x),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),x=S&&S.solarUpdraftTower?S.solarUpdraftTower.chimneyHeight??Math.max(S.lx,S.ly):s.solarUpdraftTower.chimneyHeight??Math.max(s.lx,s.ly);f(s.id,v);const R={name:"Set Solar Chimney Height on Foundation",timestamp:Date.now(),oldValue:x,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [1, 1000] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Nso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.chimneyRadius)??Math.max(1,.025*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyRadius=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.chimneyRadius=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyRadius=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyRadius===void 0||Math.abs(y.solarUpdraftTower.chimneyRadius-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyRadius===void 0||Math.abs(y.solarUpdraftTower.chimneyRadius-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyRadius===void 0||Math.abs(s.solarUpdraftTower.chimneyRadius-v)>Dt))return!0}return!1},w=v=>{var T,y;if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((T=H.solarUpdraftTower)==null?void 0:T.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const x={name:"Set Solar Chimney Radius for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{g(x.oldValues,x.newValue)}};i(x),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((y=H.solarUpdraftTower)==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const x={name:"Set Solar Chimney Radius for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};i(x),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),x=S&&S.solarUpdraftTower?S.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(S.lx,S.ly)):s.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(s.lx,s.ly));f(s.id,v);const R={name:"Set Solar Chimney Radius on Foundation",timestamp:Date.now(),oldValue:x,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.1, 10] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Uso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=co(z.Foundation),[l,s]=m.useState(((b=a==null?void 0:a.solarUpdraftTower)==null?void 0:b.collectorHeight)??Math.max(3,10*((a==null?void 0:a.lz)??0))),c=Kt(),u=(C,P)=>{e(v=>{for(const T of v.elements)if(T.type===z.Foundation&&T.id===C&&!T.locked){const y=T;y.solarStructure===zn.UpdraftTower&&(y.solarUpdraftTower||(y.solarUpdraftTower={}),y.solarUpdraftTower.collectorHeight=P);break}})},d=C=>{e(P=>{for(const v of P.elements)if(v.type===z.Foundation&&!v.locked){const T=v;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorHeight=C)}})},f=(C,P)=>{e(v=>{for(const T of v.elements)if(T.type===z.Foundation&&!T.locked&&C.has(T.id)){const y=T;y.solarStructure===zn.UpdraftTower&&(y.solarUpdraftTower||(y.solarUpdraftTower={}),y.solarUpdraftTower.collectorHeight=P)}})},p=C=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Foundation&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const v=P;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Foundation&&!P.locked){const v=P;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>Dt))return!0}break;default:if(a&&a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower&&(a.solarUpdraftTower.collectorHeight===void 0||Math.abs(a.solarUpdraftTower.collectorHeight-C)>Dt))return!0}return!1},g=C=>{if(a&&p(C))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const y=T;y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&P.set(T.id,y.solarUpdraftTower.collectorHeight??Math.max(3,10*y.lz))}const v={name:"Set Solar Collector Height for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{for(const[T,y]of v.oldValues.entries())u(T,y)},redo:()=>{f(v.oldValues,v.newValue)}};i(v),f(P,C);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const T of n)if(T.type===z.Foundation){const y=T;y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&P.set(T.id,y.solarUpdraftTower.collectorHeight??Math.max(3,10*y.lz))}const v={name:"Set Solar Collector Height for All Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{for(const[T,y]of v.oldValues.entries())u(T,y)},redo:()=>{d(v.newValue)}};i(v),d(C);break}default:{if(a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower){const P=o(a.id),v=P&&P.solarUpdraftTower?P.solarUpdraftTower.collectorHeight??Math.max(3,10*P.lz):a.solarUpdraftTower.collectorHeight??Math.max(3,10*a.lz);u(a.id,C);const T={name:"Set Solar Collector Height on Foundation",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:a.id,changedElementType:a.type,undo:()=>{u(T.changedElementId,T.oldValue)},redo:()=>{u(T.changedElementId,T.newValue)}};i(T)}break}}},A=()=>{t(!1)},w=()=>{g(l)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",c),onApply:w,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:20,style:{width:120},step:1,precision:1,value:l,onChange:C=>{C!==null&&s(C)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",c),": [0.1, 20] ",j.t("word.MeterAbbreviation",c)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",c)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",c)})]})})})]})})},Bso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.collectorRadius)??Math.max(10,.5*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorRadius=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorRadius=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorRadius=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorRadius===void 0||Math.abs(y.solarUpdraftTower.collectorRadius-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorRadius===void 0||Math.abs(y.solarUpdraftTower.collectorRadius-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorRadius===void 0||Math.abs(s.solarUpdraftTower.collectorRadius-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(x.lx,x.ly)))}const y={name:"Set Solar Collector Radius for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(x.lx,x.ly)))}const y={name:"Set Solar Collector Radius for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(T.lx,T.ly)):s.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(s.lx,s.ly));f(s.id,v);const S={name:"Set Solar Collector Radius on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [1, 1000] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},jso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.collectorTransmissivity)??.9),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorTransmissivity=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorTransmissivity=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorTransmissivity=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorTransmissivity-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorTransmissivity-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorTransmissivity-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorTransmissivity??.9)}const y={name:"Set Solar Collector Transmissivity for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorTransmissivity??.9)}const y={name:"Set Solar Collector Transmissivity for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.collectorTransmissivity??.9:s.solarUpdraftTower.collectorTransmissivity??.9;f(s.id,v);const S={name:"Set Solar Collector Transmissivity on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Yso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.collectorEmissivity)??.95),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorEmissivity=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorEmissivity=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorEmissivity=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorEmissivity-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorEmissivity-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorEmissivity-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorEmissivity??.95)}const y={name:"Set Solar Collector Emissivity for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorEmissivity??.95)}const y={name:"Set Solar Collector Emissivity for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.collectorEmissivity??.95:s.solarUpdraftTower.collectorEmissivity??.95;f(s.id,v);const S={name:"Set Solar Collector Emissivity on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Oso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.dischargeCoefficient)??.65),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.dischargeCoefficient=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.dischargeCoefficient=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.dischargeCoefficient=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(y.solarUpdraftTower.dischargeCoefficient-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(y.solarUpdraftTower.dischargeCoefficient-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(s.solarUpdraftTower.dischargeCoefficient-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.dischargeCoefficient??.65)}const y={name:"Set Solar Chimney Discharge Coefficient for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.dischargeCoefficient??.65)}const y={name:"Set Solar Chimney Discharge Coefficient for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.dischargeCoefficient??.65:s.solarUpdraftTower.dischargeCoefficient??.65;f(s.id,v);const S={name:"Set Solar Chimney Discharge Coefficient on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.65,max:.7,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.65, 0.70]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},_so=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(io),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.turbineEfficiency)??.3),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.turbineEfficiency=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.turbineEfficiency=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.turbineEfficiency=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(y.solarUpdraftTower.turbineEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(y.solarUpdraftTower.turbineEfficiency-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(s.solarUpdraftTower.turbineEfficiency-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.turbineEfficiency??.3)}const y={name:"Set Solar Updraft Tower Turbine Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.turbineEfficiency??.3)}const y={name:"Set Solar Updraft Tower Turbine Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.turbineEfficiency??.3:s.solarUpdraftTower.turbineEfficiency??.3;f(s.id,v);const S={name:"Set Solar Updraft Tower Turbine Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.2,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.2, 1.0]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},{Option:BT}=Yo,Vso=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=M(pA).geneticAlgorithmParams,p=m.useRef(f.selectionMethod),g=m.useRef(f.searchMethod),A=m.useRef(Math.min(f.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),w=m.useRef(f.populationSize),b=m.useRef(f.maximumGenerations),C=m.useRef(f.mutationRate),P=m.useRef(f.selectionRate??.5),v=m.useRef(f.crossoverRate??.5),T=m.useRef(f.convergenceThreshold),y=m.useRef(f.localSearchRadius),S=m.useRef(null);m.useEffect(()=>{var W;(W=S.current)==null||W.focus()},[]);const x={lng:o},R=(W,N)=>{if(d.current){const{clientWidth:L,clientHeight:E}=window.document.documentElement,U=d.current.getBoundingClientRect();u({left:-U.left+N.x,right:L-(U.right-N.x),top:-U.top+N.y,bottom:E-((U==null?void 0:U.bottom)-N.y)})}},H=()=>{e(W=>{W.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,W.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=A.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=p.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=g.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=w.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=b.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=P.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=v.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=C.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=T.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=y.current})},D=()=>{i||hn(k("message.EvolutionStarted",x)),H(),setTimeout(()=>{ht.getState().set(W=>{W.runEvolution=!W.runEvolution}),e(W=>{W.evolutionMethod=Bs.GENETIC_ALGORITHM,W.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(W.actionInfo={name:"Run Genetic Algorithm for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:k}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:[k("optimizationMenu.SolarPanelTiltAngleOptimization",x)+": ",k("optimizationMenu.GeneticAlgorithmSettings",x)]}),footer:[h.jsx(oo,{onClick:()=>{t(!1)},children:k("word.Cancel",x)},"Cancel"),h.jsx(oo,{type:"primary",ref:S,onClick:()=>{D(),t(!1)},children:k("word.Run",x)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:W=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(N,L)=>R(N,L),children:h.jsx("div",{ref:d,children:W})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.Objective",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:A.current,style:{width:"100%"},value:A.current,onChange:W=>{A.current=W,a(!r)},children:[h.jsx(BT,{value:xo.DAILY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionDailyTotalYield",x)},xo.DAILY_TOTAL_OUTPUT),h.jsx(BT,{value:xo.YEARLY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionYearlyTotalYield",x)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.GeneticAlgorithmSelectionMethod",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:W=>{p.current=W,a(!r)},children:[h.jsx(BT,{value:zm.ROULETTE_WHEEL,children:k("optimizationMenu.RouletteWheel",x)},zm.ROULETTE_WHEEL),h.jsx(BT,{value:zm.TOURNAMENT,children:k("optimizationMenu.Tournament",x)},zm.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.PopulationSize",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,formatter:W=>Number(W).toFixed(0),value:w.current,step:1,onChange:W=>{W!==null&&(w.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MaximumGenerations",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,formatter:W=>Number(W).toFixed(0),value:b.current,onChange:W=>{W!==null&&(b.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SelectionRate",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:P.current,step:.01,onChange:W=>{W!==null&&(P.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.CrossoverRate",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:W=>{W!==null&&(v.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MutationRate",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:W=>{W!==null&&(C.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.ConvergenceThreshold",x)+" [0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:T.current,step:.001,onChange:W=>{W!==null&&(T.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SearchMethod",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:W=>{g.current=Number(W),a(!r)},children:[h.jsx(BT,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:k("optimizationMenu.GlobalSearchUniformSelection",x)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(BT,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:k("optimizationMenu.LocalSearchRandomOptimization",x)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.LocalSearchRadius",x)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:y.current,step:.01,onChange:W=>{W!==null&&(y.current=Number(W),a(!r))}})})]})]})})},{Option:CO}=Yo,Gso=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),r=M(pA).particleSwarmOptimizationParams,[a,l]=m.useState(!1),[s,c]=m.useState(!1),[u,d]=m.useState({left:0,top:0,bottom:0,right:0}),f=m.useRef(null),p=m.useRef(Math.min(r.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),g=m.useRef(r.searchMethod),A=m.useRef(r.swarmSize),w=m.useRef(r.maximumSteps),b=m.useRef(r.vmax??.01),C=m.useRef(r.inertia??.8),P=m.useRef(r.cognitiveCoefficient??.1),v=m.useRef(r.socialCoefficient??.1),T=m.useRef(r.convergenceThreshold),y=m.useRef(r.localSearchRadius),S=m.useRef(null);m.useEffect(()=>{var W;(W=S.current)==null||W.focus()},[]);const x={lng:o},R=(W,N)=>{if(f.current){const{clientWidth:L,clientHeight:E}=window.document.documentElement,U=f.current.getBoundingClientRect();d({left:-U.left+N.x,right:L-(U.right-N.x),top:-U.top+N.y,bottom:E-((U==null?void 0:U.bottom)-N.y)})}},H=()=>{e(W=>{W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=p.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=g.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=A.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=w.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=P.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=v.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=b.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=C.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=T.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=y.current})},D=()=>{i||hn(k("message.EvolutionStarted",x)),H(),setTimeout(()=>{ht.getState().set(W=>{W.runEvolution=!W.runEvolution}),e(W=>{W.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(W.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:k}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>c(!0),onMouseOut:()=>c(!1),children:[k("optimizationMenu.SolarPanelTiltAngleOptimization",x)+": ",k("optimizationMenu.ParticleSwarmOptimizationSettings",x)]}),footer:[h.jsx(oo,{onClick:()=>{t(!1)},children:k("word.Cancel",x)},"Cancel"),h.jsx(oo,{type:"primary",ref:S,onClick:()=>{D(),t(!1)},children:k("word.Run",x)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:W=>h.jsx(Vr,{disabled:!s,bounds:u,onStart:(N,L)=>R(N,L),children:h.jsx("div",{ref:f,children:W})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.Objective",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:W=>{p.current=W,l(!a)},children:[h.jsx(CO,{value:xo.DAILY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionDailyTotalYield",x)},xo.DAILY_TOTAL_OUTPUT),h.jsx(CO,{value:xo.YEARLY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionYearlyTotalYield",x)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SwarmSize",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:A.current,step:1,formatter:W=>Number(W).toFixed(0),onChange:W=>{A.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MaximumSteps",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:w.current,formatter:W=>Number(W).toFixed(0),onChange:W=>{w.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.CognitiveCoefficient",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:P.current,step:.01,onChange:W=>{P.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SocialCoefficient",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:W=>{v.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.InertiaWeight",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:W=>{C.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MaximumVelocity",x)+" [0.001, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:b.current,step:.001,onChange:W=>{b.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.ConvergenceThreshold",x)+" [0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:T.current,step:.001,onChange:W=>{T.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SearchMethod",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:W=>{g.current=Number(W),l(!a)},children:[h.jsx(CO,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:k("optimizationMenu.GlobalSearchUniformSelection",x)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(CO,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:k("optimizationMenu.LocalSearchRandomOptimization",x)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.LocalSearchRadius",x)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:y.current,step:.01,onChange:W=>{y.current=Number(W),l(!a)}})})]})]})})},ay=({children:t,width:e="90px"})=>h.jsx("div",{style:{width:e},children:t}),Xso=({element:t})=>{const e=Ytt(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!(t!=null&&t.showLabel),onChange:e,children:j.t("labelSubMenu.KeepShowingLabel",n)})})},Jso=({element:t})=>{const{labelText:e,setLabelText:n}=jtt(t),o=Ott(t,e),i=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelText",i)+":"}),value:e,onChange:r=>n(r.target.value),onPressEnter:o,onBlur:o})})},Kso=({element:t})=>{const e=xOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelHeight",n)+":"}),min:t.lz/2+.2,max:100,step:1,precision:1,value:t.labelHeight??t.lz/2+.2,onChange:o=>e(o)})})},qso=({element:t})=>{const e=AOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelFontSize",n)+":"}),min:10,max:100,step:1,precision:0,value:t.labelFontSize??20,onChange:o=>e(o)})})},$so=({element:t})=>{const e=wOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelSize",n)+":"}),min:.2,max:5,step:.1,precision:1,value:t.labelSize??.2,onChange:o=>e(o)})})},Qso=({element:t})=>{const e=vOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelColor",n)+":"}),value:t.labelColor??"#ffffff",onChange:o=>e(o.target.value)})})},vA=t=>[{key:`${t.type}-show-label`,label:h.jsx(Xso,{element:t})},{key:`${t.type}-label-text`,label:h.jsx(Jso,{element:t})},{key:`${t.type}-label-height`,label:h.jsx(Kso,{element:t})},{key:`${t.type}-label-font-size`,label:h.jsx(qso,{element:t})},{key:`${t.type}-label-size`,label:h.jsx($so,{element:t})},{key:`${t.type}-label-color`,label:h.jsx(Qso,{element:t})}],Zso=[{key:"windowCount",objectType:z.Window},{key:"doorCount",objectType:z.Door},{key:"sensorCount",objectType:z.Sensor},{key:"outsideLightCount",objectType:z.Light},{key:"parabolicTroughCount",objectType:z.ParabolicTrough},{key:"parabolicDishCount",objectType:z.ParabolicDish},{key:"fresnelReflectorCount",objectType:z.FresnelReflector},{key:"heliostatCount",objectType:z.Heliostat},{key:"windTurbineCount",objectType:z.WindTurbine},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower}],XRe=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Wall:{o=`${j.t("foundationMenu.RemoveAllUnlockedWalls",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllWallsOnFoundation",n)} (${e} ${j.t("foundationMenu.Walls",n)})`;break}case z.Window:{o=`${j.t("foundationMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllWindowsOnFoundation",n)} (${e} ${j.t("foundationMenu.Windows",n)})`;break}case z.Door:{o=`${j.t("foundationMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllDoorsOnFoundation",n)} (${e} ${j.t("foundationMenu.Doors",n)})`;break}case z.Sensor:{o=`${j.t("foundationMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllSensorsOnFoundation",n)} (${e} ${j.t("foundationMenu.Sensors",n)})`;break}case z.Light:{o=`${j.t("foundationMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllLightsOnFoundation",n)} (${e} ${j.t("foundationMenu.Lights",n)})`;break}case z.ParabolicTrough:{o=`${j.t("foundationMenu.RemoveAllUnlockedParabolicTroughs",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation",n)} (${e} ${j.t("foundationMenu.ParabolicTroughs",n)})`;break}case z.ParabolicDish:{o=`${j.t("foundationMenu.RemoveAllUnlockedParabolicDishes",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicDishesOnFoundation",n)} (${e} ${j.t("foundationMenu.ParabolicDishes",n)})`;break}case z.FresnelReflector:{o=`${j.t("foundationMenu.RemoveAllUnlockedFresnelReflectors",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation",n)} (${e} ${j.t("foundationMenu.FresnelReflectors",n)})`;break}case z.Heliostat:{o=`${j.t("foundationMenu.RemoveAllUnlockedHeliostats",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllHeliostatsOnFoundation",n)} (${e} ${j.t("foundationMenu.Heliostats",n)})`;break}case z.WindTurbine:{o=`${j.t("foundationMenu.RemoveAllUnlockedWindTurbines",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllWindTurbinesOnFoundation",n)} (${e} ${j.t("foundationMenu.WindTurbines",n)})`;break}case z.Polygon:{o=`${j.t("foundationMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllPolygonsOnFoundation",n)} (${e} ${j.t("foundationMenu.Polygons",n)})`;break}case z.Human:{o=`${j.t("foundationMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllHumansOnFoundation",n)} (${e} ${j.t("foundationMenu.Humans",n)})`;break}case z.Tree:{o=`${j.t("foundationMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllTreesOnFoundation",n)} (${e} ${j.t("foundationMenu.Trees",n)})`;break}case z.Flower:{o=`${j.t("foundationMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllFlowersOnFoundation",n)} (${e} ${j.t("foundationMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},eco=(t,e,n)=>n===z.Light?t.insideLightCount+t.outsideLightCount:t[e],tco=t=>{const e=M.getState().set,n=new Set;M.getState().elements.forEach(a=>{!a.locked&&a.type===z.Wall&&(a.parentId===t.id||a.foundationId===t.id)&&n.add(a.id)});const o=M.getState().elements.filter(a=>n.has(a.id)||n.has(a.parentId));e(a=>{a.elements=a.elements.filter(l=>!n.has(l.id)&&!n.has(l.parentId))});const i=JSON.parse(JSON.stringify(o)),r={name:"Remove All Walls on Foundation",timestamp:Date.now(),parentId:t.id,removedElements:i,undo:()=>{e(a=>{a.elements.push(...r.removedElements),a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},redo:()=>{const a=new Set;M.getState().elements.forEach(l=>{!l.locked&&l.type===z.Wall&&l.parentId===r.parentId&&a.add(l.id)}),e(l=>{l.elements=l.elements.filter(s=>!a.has(s.id)&&!a.has(s.parentId))})}};M.getState().addUndoable(r)},nco=(t,e,n)=>{const o=[],i={lng:M.getState().language};if(e.unlockedCount>0&&o.push({key:"lock-all-offsprings",label:h.jsx(hCe,{foundation:t,lock:!0,count:e.unlockedCount})}),e.lockedCount>0&&o.push({key:"unlock-all-offsprings",label:h.jsx(hCe,{foundation:t,lock:!1,count:e.lockedCount})}),n.wallCount>0){const{itemLabel:r,modalTitle:a}=XRe(z.Wall,n.wallCount);o.push({key:"remove-all-walls-on-foundation",label:h.jsx(nae,{foundation:t,objectType:z.Wall,modalTitle:a,onClickOk:()=>tco(t),children:r})})}if(n.solarPanelCount>0){const r=j.t("foundationMenu.DoYouReallyWantToRemoveAllSolarPanelsOnFoundation",i)+" ("+n.solarPanelModuleCount+" "+j.t("foundationMenu.SolarPanels",i)+", "+n.solarPanelCount+" "+j.t("foundationMenu.Racks",i)+")?";o.push({key:"remove-all-solar-panels-on-foundation",label:h.jsxs(nae,{foundation:t,objectType:z.SolarPanel,modalTitle:r,children:[j.t("foundationMenu.RemoveAllUnlockedSolarPanels",i),"  (",n.solarPanelModuleCount," ",j.t("foundationMenu.SolarPanels",i),", ",n.solarPanelCount," ",j.t("foundationMenu.Racks",i),")"]})})}return Zso.forEach(({key:r,objectType:a})=>{const l=eco(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=XRe(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-foundation`,label:h.jsx(nae,{foundation:t,objectType:a,modalTitle:c,children:s})})}}),o},oco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.Light||e.type===z.SolarPanel||e.type===z.WaterHeater||e.type===z.ParabolicDish||e.type===z.Heliostat||e.type===z.FresnelReflector||e.type===z.ParabolicTrough||e.type===z.WindTurbine||e.type===z.Wall)return!0}return!1},ico=t=>{const e=[];if(t.type!==z.Foundation)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked,r=!n.notBuilding&&xe.getBuildingCompletionStatus(n,M.getState().elements)===Uc.COMPLETE,a=M.getState().countAllOffspringsByTypeAtOnce(n.id,!0),l=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1);return oco()&&e.push({key:"foundation-paste",label:h.jsx(OH,{})}),e.push({key:"foundation-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"foundation-cut",label:h.jsx(Tf,{})}),e.push({key:"foundation-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"foundation-group-master",label:h.jsx(A$e,{groupableElement:n})}),e.push({key:"building",label:h.jsx(fOn,{foundation:n})}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-foundation",label:h.jsx(tn,{children:j.t("word.Elements",o)}),children:nco(n,a,l)}),i&&((!n.textureType||n.textureType===Or.NoTexture)&&e.push({key:"foundation-color",label:h.jsxs(ro,{Dialog:vso,children:[j.t("word.Color",o)," ..."]})}),e.push({key:"foundation-texture",label:h.jsxs(ro,{Dialog:bOn,children:[j.t("word.Texture",o)," ..."]})}),e.push({key:"foundation-length",label:h.jsxs(ro,{Dialog:xso,children:[j.t("word.Length",o)," ..."]})}),e.push({key:"foundation-width",label:h.jsxs(ro,{Dialog:bso,children:[j.t("word.Width",o)," ..."]})}),e.push({key:"foundation-height",label:h.jsxs(ro,{Dialog:Sso,children:[j.t("word.Height",o)," ..."]})}),e.push({key:"foundation-azimuth",label:h.jsxs(ro,{Dialog:Tso,children:[j.t("word.Azimuth",o)," ..."]})}),r&&e.push({key:"ground-floor-r-value",label:h.jsxs(ro,{Dialog:Pso,children:[j.t("foundationMenu.GroundFloorRValue",o)," ..."]})})),e.push({key:"add-polygon-on-foundation",label:h.jsx(hOn,{foundation:n})}),!n.notBuilding&&a.wallCount>0&&e.push({key:"building-hvac-system",label:h.jsx(tn,{children:j.t("word.BuildingHVACSystem",o)}),children:[{key:"hvac-system-id",label:h.jsx(pOn,{foundation:n})},{key:"thermostat-temperature",label:h.jsx(gOn,{foundation:n})},{key:"tolerance-threshold",label:h.jsx(mOn,{foundation:n})}]}),i&&(e.push({key:"select-solar-structure",label:h.jsx(tn,{children:j.t("foundationMenu.SolarStructure",o)}),children:[{key:"select-solar-structure-submenu",label:h.jsx(yOn,{foundation:n}),style:{backgroundColor:"white"}}]}),n.solarStructure===zn.FocusPipe&&e.push({key:"solar-absorber-pipe-physical-properties",label:h.jsx(tn,{children:j.t("solarAbsorberPipeMenu.AbsorberPipePhysicalProperties",o)}),children:[{key:"solar-absorber-pipe-height",label:h.jsxs(ro,{noPadding:!0,Dialog:Cso,children:[j.t("solarAbsorberPipeMenu.AbsorberHeight",o)," ..."]})},{key:"solar-absorber-pipe-aperture-width",label:h.jsxs(ro,{noPadding:!0,Dialog:Rso,children:[j.t("solarAbsorberPipeMenu.AbsorberApertureWidth",o)," ..."]})},{key:"foundation-solar-receiver-pipe-pole-number",label:h.jsxs(ro,{noPadding:!0,Dialog:Hso,children:[j.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",o)," ..."]})},{key:"solar-absorber-pipe-absorptance",label:h.jsxs(ro,{noPadding:!0,Dialog:Mso,children:[j.t("solarAbsorberPipeMenu.AbsorberAbsorptance",o)," ..."]})},{key:"solar-absorber-optical-efficiency",label:h.jsxs(ro,{noPadding:!0,Dialog:Iso,children:[j.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",o)," ..."]})},{key:"solar-absorber-thermal-efficiency",label:h.jsxs(ro,{noPadding:!0,Dialog:zso,children:[j.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.FocusTower&&e.push({key:"solar-power-tower-physical-properties",label:h.jsx(tn,{children:j.t("solarPowerTowerMenu.ReceiverTowerPhysicalProperties",o)}),children:[{key:"solar-power-tower-height",label:h.jsxs(ro,{noPadding:!0,Dialog:Dso,children:[j.t("solarPowerTowerMenu.ReceiverTowerHeight",o)," ..."]})},{key:"solar-power-tower-radius",label:h.jsxs(ro,{noPadding:!0,Dialog:Eso,children:[j.t("solarPowerTowerMenu.ReceiverTowerRadius",o)," ..."]})},{key:"solar-power-tower-receiver-absorptance",label:h.jsxs(ro,{noPadding:!0,Dialog:kso,children:[j.t("solarPowerTowerMenu.ReceiverAbsorptance",o)," ..."]})},{key:"solar-power-tower-receiver-optical-efficiency",label:h.jsxs(ro,{noPadding:!0,Dialog:Lso,children:[j.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",o)," ..."]})},{key:"solar-power-tower-receiver-thermal-efficiency",label:h.jsxs(ro,{noPadding:!0,Dialog:Fso,children:[j.t("solarPowerTowerMenu.ReceiverThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.UpdraftTower&&e.push({key:"solar-updraft-tower-physical-properties",label:h.jsx(tn,{children:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerPhysicalProperties",o)}),children:[{key:"solar-updraft-tower-chimney-height",label:h.jsxs(ro,{noPadding:!0,Dialog:Wso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",o)," ..."]})},{key:"solar-updraft-tower-chimney-radius",label:h.jsxs(ro,{noPadding:!0,Dialog:Nso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-height",label:h.jsxs(ro,{noPadding:!0,Dialog:Uso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",o)," ..."]})},{key:"solar-updraft-tower-collector-radius",label:h.jsxs(ro,{noPadding:!0,Dialog:Bso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-transmissivity",label:h.jsxs(ro,{noPadding:!0,Dialog:jso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",o)," ..."]})},{key:"solar-updraft-tower-collector-emissivity",label:h.jsxs(ro,{noPadding:!0,Dialog:Yso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",o)," ..."]})},{key:"solar-updraft-tower-discharge-coefficient",label:h.jsxs(ro,{noPadding:!0,Dialog:Oso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",o)," ..."]})},{key:"solar-updraft-tower-turbine-efficiency",label:h.jsxs(ro,{noPadding:!0,Dialog:_so,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",o)," ..."]})}]})),e.push({key:"optimization",label:h.jsx(tn,{children:j.t("optimizationMenu.Optimization",o)}),children:[{key:"genetic-algorithms",label:h.jsx(tn,{noPadding:!0,children:j.t("optimizationMenu.GeneticAlgorithm",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-ga-optimizer",label:h.jsxs(ro,{noPadding:!0,Dialog:Vso,children:[j.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]},{key:"particle-swarm-optimization",label:h.jsx(tn,{noPadding:!0,children:j.t("optimizationMenu.ParticleSwarmOptimization",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-pso-optimizer",label:h.jsxs(ro,{noPadding:!0,Dialog:Gso,children:[j.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]}]}),i&&e.push({key:"foundation-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},rco=be.memo(({cuboid:t})=>{const e=Kt(),n=()=>{M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Cuboid){const r=i,a=!r.stackable;r.stackable=a,o.actionState.cuboidStackable=a;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.stackable,onChange:n,children:j.t("cuboidMenu.Stackable",e)})})}),aco=be.memo(({cuboid:t,selectedSideIndex:e})=>{const n=Kt(),o=M.getState().set,i=()=>{o(c=>{c.objectTypeToAdd=z.Polygon});const{pos:r}=xe.getWorldDataById(t.id);let a;switch(e){case 0:a=Np;break;case 1:a=Up;break;case 2:a=Yc;break;case 3:a=Bp;break;default:a=Po,r.z=t.lz}const l=M.getState().addElement(t,r,a),s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{o(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s),o(c=>{c.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:i,children:j.t("cuboidMenu.AddPolygon",n)})}),JRe=be.memo(({cuboid:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Cuboid`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})}),lco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(QBe),l=M(ao),s=M(io),c=co(z.Cuboid),[u,d]=m.useState((c==null?void 0:c.color)??"#808080"),[f,p]=m.useState(!1),g=Kt();m.useEffect(()=>{P()},[c,a]);const A=(R,H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.Cuboid&&W.id===H&&!W.locked){const N=W;N.faceColors||(N.faceColors=new Array(6),N.faceColors.fill(N.color??D)),N.faceColors[R]=D;break}})},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.Cuboid&&k.id===R&&!k.locked){k.color=H;const W=k;W.faceColors||(W.faceColors=new Array(6));for(let N=0;N<4;N++)W.faceColors[N]=H;break}})},b=R=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&!D.locked){D.color=R;const k=D;k.faceColors||(k.faceColors=new Array(6));for(let W=0;W<4;W++)k.faceColors[W]=R}})},C=R=>{r(R.target.value),p(!f)},P=()=>{c&&(a>=0&&c.faceColors?d(c.faceColors[a]):d(c.color??"#808080"))},v=R=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)){const D=H;if(D.faceColors){for(let k=0;k<4;k++)if(R!==D.faceColors[k])return!0}else if(R!==D.color)return!0}break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked){const D=H;if(D.faceColors){for(let k=0;k<4;k++)if(R!==D.faceColors[k])return!0}else if(R!==D.color)return!0}break;case ue.OnlyThisObject:if(c.faceColors){for(let H=0;H<4;H++)if(R!==c.faceColors[H])return!0}else if(R!==(c==null?void 0:c.color))return!0;break;default:if(a>=0){const H=c!=null&&c.faceColors?c==null?void 0:c.faceColors[a]:c==null?void 0:c.color;if(R!==H)return!0}else if(R!==(c==null?void 0:c.color))return!0}return!1}},T=R=>{if(c&&v(R)){switch(i){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)if(k.type===z.Cuboid&&M.getState().selectedElementIdSet.has(k.id)){const W=k;if(W.faceColors)H.set(k.id,[...W.faceColors]);else{const N=W.color??"#808080";H.set(k.id,[N,N,N,N,N,N])}}const D={name:"Set Color for Selected Cuboids",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())if(W&&Array.isArray(W))for(let N=0;N{for(const[k,W]of D.oldValues.entries())if(W&&Array.isArray(W))for(let N=0;N{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let W=0;W<4;W++)k.actionState.cuboidFaceColors[W]=R});break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)if(k.type===z.Cuboid){const W=k;if(W.faceColors)H.set(k.id,[...W.faceColors]);else{const N=W.color??"#808080";H.set(k.id,[N,N,N,N,N,N])}}const D={name:"Set Color for All Cuboids",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())if(W&&Array.isArray(W))for(let N=0;N{b(D.newValue)}};o(D),b(R),s(l+1),e(k=>{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let W=0;W<4;W++)k.actionState.cuboidFaceColors[W]=R});break}case ue.OnlyThisObject:{let H;if(c.faceColors)H=[...c.faceColors];else{const k=c.color??"#808080";H=[k,k,k,k,k,k]}const D={name:"Set Color for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(D.oldValue&&Array.isArray(D.oldValue))for(let k=0;k{w(D.changedElementId,D.newValue)}};o(D),w(c.id,R),s(l+1),e(k=>{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let W=0;W<4;W++)k.actionState.cuboidFaceColors[W]=R});break}default:{if(a>=0){const H=c.faceColors?c.faceColors[a]:c.color,D={name:"Set Color for Selected Side of Cuboid",timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{D.changedSideIndex!==void 0&&A(D.changedSideIndex,D.changedElementId,D.oldValue)},redo:()=>{D.changedSideIndex!==void 0&&A(D.changedSideIndex,D.changedElementId,D.newValue)}};o(D),A(a,c.id,R),s(l+1),e(k=>{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]),k.actionState.cuboidFaceColors[a]=R})}break}}p(!f)}},y=()=>{P(),t(!1)},S=()=>{T(u),t(!1),s(0)},x=a>=0&&(c!=null&&c.faceColors)?c.faceColors[a]:(c==null?void 0:c.color)??"#808080";return h.jsx(lo,{width:600,title:j.t("word.Color",g),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:u??x,onChangeComplete:R=>{d(R.hex),p(!f)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("cuboidMenu.OnlyThisSide",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.AllSidesOfThisCuboid",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfSelectedCuboids",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfAllCuboids",g)})]})})})]})})},sco="/aladdin/assets/building_facade_01_menu-BAm4EVGn.png",cco="/aladdin/assets/building_facade_02_menu-BylQ9E0j.png",uco="/aladdin/assets/building_facade_03_menu-DfU_cdlP.png",dco="/aladdin/assets/building_facade_04_menu-Bz2bcbq0.png",fco="/aladdin/assets/building_facade_05_menu-hF6OsAF0.png",hco="/aladdin/assets/building_facade_06_menu-CUmtyI19.png",pco="/aladdin/assets/building_facade_07_menu-B8_DYqYz.png",gco="/aladdin/assets/building_facade_08_menu-CTA_rxim.png",mco="/aladdin/assets/building_facade_09_menu-BpQDoLbY.png",yco="/aladdin/assets/building_facade_10_menu-z_jZrQMT.png",Aco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(QBe),l=M(ao),s=M(io),c=co(z.Cuboid),[u,d]=m.useState(c&&c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture),f=Kt(),{Option:p}=Yo;m.useEffect(()=>{c&&d(c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture)},[c,a]);const g=(S,x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&D.id===x&&!D.locked){const k=D;k.textureTypes||(k.textureTypes=new Array(6),k.textureTypes.fill(Co.NoTexture)),k.textureTypes[S]=R;break}})},A=(S,x)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&H.id===S&&!H.locked){const D=H;D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture));for(let k=0;k<4;k++)D.textureTypes[k]=x;break}})},w=(S,x)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&!H.locked&&S.has(H.id)){const D=H;if(D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture)),x!==void 0)for(let k=0;k<4;k++)D.textureTypes[k]=x;else{const k=S.get(H.id);if(k&&k.length>=4)for(let W=0;W<4;W++)D.textureTypes[W]=k[W]}}})},b=S=>{e(x=>{for(const R of x.elements)if(R.type===z.Cuboid&&!R.locked){const H=R;H.textureTypes||(H.textureTypes=new Array(6),H.textureTypes.fill(Co.NoTexture));for(let D=0;D<4;D++)H.textureTypes[D]=S}})},C=S=>{r(S.target.value)},P=S=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.Cuboid&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;if(R.textureTypes){for(let H=0;H<4;H++)if(S!==R.textureTypes[H])return!0}}break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.Cuboid&&!x.locked){const R=x;if(R.textureTypes){for(let H=0;H<4;H++)if(S!==R.textureTypes[H])return!0}}break;case ue.OnlyThisObject:if(c.textureTypes){for(let x=0;x<4;x++)if(S!==c.textureTypes[x])return!0}break;default:if(a>=0&&c.textureTypes&&S!==c.textureTypes[a])return!0}return!1}},v=S=>{if(c&&P(S))switch(i){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)if(H.type===z.Cuboid&&M.getState().selectedElementIdSet.has(H.id)){const D=H;x.set(H.id,D.textureTypes?[...D.textureTypes]:void 0)}const R={name:"Set Texture for Selected Cuboids",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())if(D&&Array.isArray(D))for(let k=0;k{w(R.oldValues,R.newValue)}};o(R),w(x,S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=S});break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)if(H.type===z.Cuboid){const D=H;x.set(H.id,D.textureTypes?[...D.textureTypes]:void 0)}const R={name:"Set Texture for All Cuboids",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())if(D&&Array.isArray(D))for(let k=0;k{b(R.newValue)}};o(R),b(S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=S});break}case ue.OnlyThisObject:{const x=c.textureTypes?[...c.textureTypes]:void 0,R={name:"Set Texture for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(R.oldValue&&Array.isArray(R.oldValue))for(let H=0;H{A(R.changedElementId,R.newValue)}};o(R),A(c.id,S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=S});break}default:{if(a>=0){const x=c.textureTypes?c.textureTypes[a]:Co.NoTexture,R={name:"Set Texture for Selected Side of Cuboid",timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{R.changedSideIndex!==void 0&&g(R.changedSideIndex,R.changedElementId,R.oldValue)},redo:()=>{R.changedSideIndex!==void 0&&g(R.changedSideIndex,R.changedElementId,R.newValue)}};o(R),g(a,c.id,S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]),H.actionState.cuboidFaceTextures[a]=S})}break}}},T=()=>{c!=null&&c.textureTypes&&a>=0&&d(c.textureTypes[a]),t(!1)},y=()=>{v(u)};return h.jsx(lo,{width:600,title:j.t("word.Texture",f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(p,{value:Co.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",f)]},Co.NoTexture),h.jsxs(p,{value:Co.Facade01,children:[h.jsx("img",{alt:Co.Facade01,src:sco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture01",f)]},Co.Facade01),h.jsxs(p,{value:Co.Facade02,children:[h.jsx("img",{alt:Co.Facade02,src:cco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture02",f)]},Co.Facade02),h.jsxs(p,{value:Co.Facade03,children:[h.jsx("img",{alt:Co.Facade03,src:uco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture03",f)]},Co.Facade03),h.jsxs(p,{value:Co.Facade04,children:[h.jsx("img",{alt:Co.Facade04,src:dco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture04",f)]},Co.Facade04),h.jsxs(p,{value:Co.Facade05,children:[h.jsx("img",{alt:Co.Facade05,src:fco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture05",f)]},Co.Facade05),h.jsxs(p,{value:Co.Facade06,children:[h.jsx("img",{alt:Co.Facade06,src:hco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture06",f)]},Co.Facade06),h.jsxs(p,{value:Co.Facade07,children:[h.jsx("img",{alt:Co.Facade07,src:pco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture07",f)]},Co.Facade07),h.jsxs(p,{value:Co.Facade08,children:[h.jsx("img",{alt:Co.Facade08,src:gco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture08",f)]},Co.Facade08),h.jsxs(p,{value:Co.Facade09,children:[h.jsx("img",{alt:Co.Facade09,src:mco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture09",f)]},Co.Facade09),h.jsxs(p,{value:Co.Facade10,children:[h.jsx("img",{alt:Co.Facade10,src:yco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture10",f)]},Co.Facade10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("cuboidMenu.OnlyThisSide",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.AllSidesOfThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfAllCuboids",f)})]})})})]})})},wco=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(vH),i=M(ZBe),r=M(t3),a=M(H7),l=M(e3),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ao),p=M(io),g=M(ca),A=co(z.Cuboid),[w,b]=m.useState((A==null?void 0:A.lx)??0),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=ne=>{u(ne.target.value)},N=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid&&M.getState().selectedElementIdSet.has(se.id)){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,ne,le.ly))return!1}break}case ue.AllObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,ne,le.ly))return!1}break}default:{const se=o(A.id);if(se.length>0)return xe.doesNewSizeContainAllChildren(A,se,ne,A.ly);break}}return!0}},L=ne=>!N(ne),E=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:for(const se of e)if(se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&Math.abs(se.lx-ne)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const se of e)if(se.type===z.Cuboid&&!se.locked&&Math.abs(se.lx-ne)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const se of e)if(se.type===z.Cuboid&&se.parentId===(A==null?void 0:A.parentId)&&!se.locked&&Math.abs(se.lx-ne)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((A==null?void 0:A.lx)-ne)>Dt)return!0}return!1}},U=(ne,se)=>{if(ne==null)return null;for(const le of ne.children)if(le.name.includes(`${se}`))return le;return null},F=(ne,se,le)=>{var te,he;if(ne){for(const pe of ne.children)if(pe.name.includes(`${le.id}`)){(he=(te=Ln.getState().contentRef)==null?void 0:te.current)==null||he.add(pe);break}d(pe=>{for(const fe of pe.elements)if(fe.id===le.id){fe.parentId=Zo;const $=new Gt(fe.cx,fe.cy).rotateAround(wr,se.rotation[2]).add(new Gt(se.cx,se.cy));fe.cx=$.x,fe.cy=$.y,fe.cz=0,T.current.set(fe.id,new re($.x,$.y,0)),P.current.set(fe.id,Zo);break}})}},B=ne=>{for(const se of e)se.type===z.Cuboid&&!se.locked&&se.parentId===(A==null?void 0:A.parentId)&&_(se,ne)},_=(ne,se)=>{const le=o(ne.id),te=ne.rotation[2];if(y.current.clear(),R.current.clear(),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=new Gt(he.cx*ne.lx,he.cy*ne.ly).rotateAround(wr,te);y.current.set(he.id,pe),v.current.set(he.id,new re(he.cx,he.cy));break}case z.Polygon:{const pe=he,fe=[];for(const $ of pe.vertices)fe.push(new Gt($.x*ne.lx,$.y*ne.ly).rotateAround(wr,te));R.current.set(he.id,fe),S.current.set(he.id,pe.vertices.map($=>({...$})));break}}xe.isPlantOrHuman(he)&&v.current.set(he.id,new re(he.cx,he.cy,he.cz))}if(r(ne.id,se),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=y.current.get(he.id);if(pe){const $=new Gt(pe.x,pe.y).rotateAround(wr,-te).x/se;i(he.id,$),T.current.set(he.id,new re($,he.cy))}break}case z.Polygon:{const pe=R.current.get(he.id);if(pe){const fe=[];for(const $ of pe){const de=$.rotateAround(wr,-te),Se=de.x/se,Ce=de.y/ne.ly;fe.push({x:Se,y:Ce})}a(he.id,fe),x.current.set(he.id,fe.map($=>({...$})))}break}}if(xe.isPlantOrHuman(he)){if(T.current.set(he.id,new re(he.cx,he.cy,he.cz)),C.current.set(he.id,ne.id),Math.abs(he.cz-ne.lz/2)0){const pe=Ln.getState().contentRef,fe=U(pe==null?void 0:pe.current,ne.id);F(fe,ne,he)}}else if(Math.abs(Math.abs(he.cx)-ne.lx/2)0?se:-se)/2;i(he.id,pe),T.current.set(he.id,new re(pe,he.cy,he.cz))}}}},Y=(ne,se,le)=>{if(!ne||!se)return;const te=Ln.getState().contentRef,he=U(te==null?void 0:te.current,se),pe=U(se===Zo?te==null?void 0:te.current:he,le);if(pe&&(te!=null&&te.current)){if(ne===Zo)te.current.add(pe);else{const fe=U(te.current,ne);fe==null||fe.add(pe)}Zh()}},O=(ne,se)=>{ne&&d(le=>{for(const te of le.elements)if(te.id===se){te.parentId=ne;break}})},J=ne=>{if(!A||!E(ne))return;const se=n(A.id),le=se?se.lx:A.lx;if(D.current=void 0,H.current=L(ne),H.current)D.current=ne,b(le);else switch(c){case ue.AllSelectedObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&(te.set(pe.id,pe.lx),_(pe,ne));const he={name:"Set Length for Selected Cuboids",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())a($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())a($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&pe.parentId===A.parentId&&!pe.locked&&(te.set(pe.id,pe.lx),_(pe,ne));const he={name:"Set Length for All Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())a($,de)},redo:()=>{var pe,fe;if(B(he.newSize),he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())a($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&(te.set(pe.id,pe.lx),_(pe,ne));const he={name:"Set Length for All Cuboids",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())a($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())a($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:{_(A,ne);const te={name:"Set Cuboid Length",timestamp:Date.now(),oldSize:le,newSize:ne,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;if(r(A.id,te.oldSize),te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){l(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(de,Se,fe),O(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())a(fe,$)},redo:()=>{var he,pe;if(r(A.id,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){l(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(Se,de,fe),O(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())a(fe,$)}};s(te),p(f+1);break}}},Z=()=>{t(!1)},ie=()=>{Z(),g()},ee=()=>{J(w),H.current||(t(!1),p(0))},q=()=>{J(w)},ae=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Length",k),rejectedMessage:ae,onApply:q,onClose:Z,onClickCancel:ie,onClickOk:ee,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:w,onChange:ne=>{ne!==null&&b(ne)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 500] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",k)})]})})})]})})},vco=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(vH),i=M(e3),r=M(eje),a=M(R7),l=M(H7),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ao),p=M(io),g=M(ca),A=co(z.Cuboid),[w,b]=m.useState((A==null?void 0:A.ly)??0),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=ne=>{u(ne.target.value)},N=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid&&M.getState().selectedElementIdSet.has(se.id)){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,le.lx,ne))return!1}break}case ue.AllObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,le.lx,ne))return!1}break}default:{const se=o(A.id);if(se.length>0)return xe.doesNewSizeContainAllChildren(A,se,A.lx,ne);break}}return!0}},L=ne=>!N(ne),E=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:for(const se of e)if(se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&Math.abs(se.ly-ne)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const se of e)if(se.type===z.Cuboid&&se.parentId===(A==null?void 0:A.parentId)&&!se.locked&&Math.abs(se.ly-ne)>Dt)return!0;break;case ue.AllObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid&&!se.locked&&Math.abs(se.ly-ne)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((A==null?void 0:A.ly)-ne)>Dt)return!0}return!1}},U=(ne,se)=>{if(ne==null)return null;for(const le of ne.children)if(le.name.includes(`${se}`))return le;return null},F=(ne,se,le)=>{var te,he;if(ne){for(const pe of ne.children)if(pe.name.includes(`${le.id}`)){(he=(te=Ln.getState().contentRef)==null?void 0:te.current)==null||he.add(pe);break}d(pe=>{for(const fe of pe.elements)if(fe.id===le.id){fe.parentId=Zo;const $=new Gt(fe.cx,fe.cy).rotateAround(wr,se.rotation[2]).add(new Gt(se.cx,se.cy));fe.cx=$.x,fe.cy=$.y,fe.cz=0,T.current.set(fe.id,new re($.x,$.y,0)),P.current.set(fe.id,Zo);break}})}},B=ne=>{for(const se of e)se.type===z.Cuboid&&!se.locked&&se.parentId===(A==null?void 0:A.parentId)&&_(se,ne)},_=(ne,se)=>{const le=o(ne.id),te=ne.rotation[2];if(y.current.clear(),R.current.clear(),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=new Gt(he.cx*ne.lx,he.cy*ne.ly).rotateAround(wr,te);y.current.set(he.id,pe),v.current.set(he.id,new re(he.cx,he.cy));break}case z.Polygon:{const pe=he,fe=[];for(const $ of pe.vertices)fe.push(new Gt($.x*ne.lx,$.y*ne.ly).rotateAround(wr,te));R.current.set(he.id,fe),S.current.set(he.id,pe.vertices.map($=>({...$})));break}}xe.isPlantOrHuman(he)&&v.current.set(he.id,new re(he.cx,he.cy,he.cz))}if(a(ne.id,se),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=y.current.get(he.id);if(pe){const $=new Gt(pe.x,pe.y).rotateAround(wr,-te).y/se;r(he.id,$),T.current.set(he.id,new re(he.cx,$))}break}case z.Polygon:{const pe=R.current.get(he.id);if(pe){const fe=[];for(const $ of pe){const de=$.rotateAround(wr,-te),Se=de.x/ne.lx,Ce=de.y/se;fe.push({x:Se,y:Ce})}l(he.id,fe),x.current.set(he.id,fe.map($=>({...$})))}break}}if(xe.isPlantOrHuman(he)){if(T.current.set(he.id,new re(he.cx,he.cy,he.cz)),C.current.set(he.id,ne.id),Math.abs(he.cz-ne.lz/2)0){const pe=Ln.getState().contentRef,fe=U(pe==null?void 0:pe.current,ne.id);F(fe,ne,he)}}else if(Math.abs(Math.abs(he.cy)-ne.ly/2)0?se:-se)/2;r(he.id,pe),T.current.set(he.id,new re(he.cz,pe,he.cz))}}}},Y=(ne,se,le)=>{if(!ne||!se)return;const te=Ln.getState().contentRef,he=U(te==null?void 0:te.current,se),pe=U(se===Zo?te==null?void 0:te.current:he,le);if(pe&&(te!=null&&te.current)){if(ne===Zo)te.current.add(pe);else{const fe=U(te.current,ne);fe==null||fe.add(pe)}Zh()}},O=(ne,se)=>{ne&&d(le=>{for(const te of le.elements)if(te.id===se){te.parentId=ne;break}})},J=ne=>{if(!A||!E(ne))return;const se=n(A.id),le=se?se.ly:A.ly;if(D.current=void 0,H.current=L(ne),H.current)D.current=ne,b(le);else switch(v.current.clear(),T.current.clear(),S.current.clear(),x.current.clear(),c){case ue.AllSelectedObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&(te.set(pe.id,pe.ly),_(pe,ne));const he={name:"Set Width for Selected Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())l($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())l($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&pe.parentId===A.parentId&&!pe.locked&&(te.set(pe.id,pe.ly),_(pe,ne));const he={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())l($,de)},redo:()=>{var pe,fe;if(B(he.newSize),he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())l($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&(te.set(pe.id,pe.ly),_(pe,ne));const he={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())l($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())l($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:{_(A,ne);const te={name:"Set Cuboid Width",timestamp:Date.now(),oldSize:le,newSize:ne,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;if(a(A.id,te.oldSize),te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){i(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(de,Se,fe),O(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())l(fe,$)},redo:()=>{var he,pe;if(a(A.id,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){i(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(Se,de,fe),O(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())l(fe,$)}};s(te),p(f+1);break}}},Z=()=>{t(!1)},ie=()=>{Z(),g()},ee=()=>{J(w),H.current||(t(!1),p(0))},q=()=>{J(w)},ae=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Width",k),rejectedMessage:ae,onApply:q,onClose:Z,onClickCancel:ie,onClickOk:ee,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:w,onChange:ne=>{ne!==null&&b(ne)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 500] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",k)})]})})})]})})},xco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(Vn),r=M(rge),a=M(Awt),l=M(vwt),s=M(wwt),c=M(En),u=M(SH),d=M(TH),f=M(e3),p=M(ao),g=M(io),A=co(z.Cuboid),[w,b]=m.useState((A==null?void 0:A.lz)??0),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=Kt(),S=Y=>{d(Y.target.value)},x=(Y,O)=>{r(Y,O),a(Y,O/2)},R=Y=>{if(!A)return;const O=o(A);if(O)for(const J of n)J.type===z.Cuboid&&!J.locked&&J.parentId===O.id&&(r(J.id,Y),a(J.id,Y/2))},H=Y=>{if(!A)return;const O=xe.getBaseId(A.id);if(O)for(const J of n)J.type===z.Cuboid&&!J.locked&&xe.getBaseId(J.id)===O&&(r(J.id,Y),a(J.id,Y/2))},D=Y=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const O of n)if(O.type===z.Cuboid&&!O.locked&&M.getState().selectedElementIdSet.has(O.id)&&Math.abs(O.lz-Y)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const O of n)if(O.type===z.Cuboid&&!O.locked&&Math.abs(O.lz-Y)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{const O=xe.getBaseId(A==null?void 0:A.id);if(O&&O!==Zo){for(const J of n)if(J.type===z.Cuboid&&J.parentId&&J.parentId!==Zo&&!J.locked){const Z=J;if(O===xe.getBaseId(Z.id)&&Math.abs(Z.lz-Y)>Dt)return!0}}break}case ue.AllObjectsOfThisTypeOnSurface:{for(const O of n)if(O.type===z.Cuboid&&O.parentId!==Zo&&O.parentId===(A==null?void 0:A.parentId)&&!O.locked&&Math.abs(O.lz-Y)>Dt)return!0;break}default:{if(Math.abs((A==null?void 0:A.lz)-Y)>Dt)return!0;break}}return!1}},k=(Y,O)=>{if(Y==null)return null;for(const J of Y.children)if(J.name.includes(`${O}`))return J;return null},W=(Y,O,J)=>{var Z,ie;if(Y){for(const q of Y.children)if(q.name.includes(`${J.id}`)){(ie=(Z=Ln.getState().contentRef)==null?void 0:Z.current)==null||ie.add(q);break}J.parentId=Zo;const ee=new Gt(J.cx,J.cy).rotateAround(wr,-O.rotation[2]).add(new Gt(O.cx,O.cy));J.cx=ee.x,J.cy=ee.y,J.cz=0,T.current.set(J.id,new re(ee.x,ee.y,0)),P.current.set(J.id,Zo)}},N=(Y,O)=>{e(J=>{for(const Z of J.elements)if(Z.parentId===Y.id&&(C.current.set(Z.id,Y.id),v.current.set(Z.id,new re(Z.cx,Z.cy,Z.cz)),xe.isPlantOrHuman(Z)))if(Math.abs(Z.cz-Y.lz/2)O/2){const ee=Ln.getState().contentRef,q=k(ee==null?void 0:ee.current,Y.id);W(q,Y,Z)}else Z.cz=ie,T.current.set(Z.id,new re(Z.cx,Z.cy,ie))}})},L=(Y,O,J)=>{if(!Y||!O)return;const Z=Ln.getState().contentRef,ie=k(Z==null?void 0:Z.current,O),ee=k(O===Zo?Z==null?void 0:Z.current:ie,J);if(ee&&(Z!=null&&Z.current)){if(Y===Zo)Z.current.add(ee);else{const q=k(Z.current,Y);q==null||q.add(ee)}Zh()}},E=(Y,O)=>{Y&&e(J=>{for(const Z of J.elements)if(Z.id===O){Z.parentId=Y;break}})},U=(Y,O)=>{M.getState().set(J=>{for(const Z of J.elements)if(Y.has(Z.id))if(O!==void 0)Z.lz=O,Z.cz=O/2;else{const ie=Y.get(Z.id);ie!==void 0&&(Z.lz=ie,Z.cz=ie/2)}})},F=Y=>{if(A&&D(Y)){switch(u){case ue.AllSelectedObjectsOfThisType:{const O=new Map;for(const Z of n)Z.type===z.Cuboid&&M.getState().selectedElementIdSet.has(Z.id)&&(O.set(Z.id,Z.lz),N(Z,Y));const J={name:"Set Height for Selected Cuboids",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var Z,ie;if(U(J.oldValues),J.oldChildrenPositionsMap&&J.oldChildrenPositionsMap.size>0)for(const[ee,q]of J.oldChildrenPositionsMap.entries()){f(ee,q.x,q.y,q.z);const ae=(Z=J.oldChildrenParentIdMap)==null?void 0:Z.get(ee),ne=(ie=J.newChildrenParentIdMap)==null?void 0:ie.get(ee);ae&&ne&&ae!==ne&&(L(ae,ne,ee),E(ae,ee))}},redo:()=>{var ie,ee;const Z=J.newValue;if(U(J.oldValues,Z),J.newChildrenPositionsMap&&J.newChildrenPositionsMap.size>0)for(const[q,ae]of J.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=J.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=J.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(J),U(O,Y),g(p+1);break}case ue.AllObjectsOfThisType:{const O=new Map;for(const Z of n)Z.type===z.Cuboid&&(O.set(Z.id,Z.lz),N(Z,Y));const J={name:"Set Height for All Cuboids",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var Z,ie;for(const[ee,q]of J.oldValues.entries())x(ee,q);if(J.oldChildrenPositionsMap&&J.oldChildrenPositionsMap.size>0)for(const[ee,q]of J.oldChildrenPositionsMap.entries()){f(ee,q.x,q.y,q.z);const ae=(Z=J.oldChildrenParentIdMap)==null?void 0:Z.get(ee),ne=(ie=J.newChildrenParentIdMap)==null?void 0:ie.get(ee);ae&&ne&&ae!==ne&&(L(ae,ne,ee),E(ae,ee))}},redo:()=>{var ie,ee;const Z=J.newValue;if(l(z.Cuboid,Z),s(z.Cuboid,Z/2),J.newChildrenPositionsMap&&J.newChildrenPositionsMap.size>0)for(const[q,ae]of J.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=J.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=J.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(J),l(z.Cuboid,Y),s(z.Cuboid,Y/2),g(p+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{const O=new Map,J=xe.getBaseId(A.id);for(const ie of n)ie.type===z.Cuboid&&xe.getBaseId(ie.id)===J&&(O.set(ie.id,ie.lz),N(ie,Y));const Z={name:"Set Height for All Cuboids Above Same Base",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var ie,ee;for(const[q,ae]of Z.oldValues.entries())x(q,ae);if(Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[q,ae]of Z.oldChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=Z.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=Z.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(ne,se,q),E(ne,q))}},redo:()=>{var ee,q;const ie=Z.newValue;if(H(ie),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[ae,ne]of Z.newChildrenPositionsMap.entries()){f(ae,ne.x,ne.y,ne.z);const se=(ee=Z.oldChildrenParentIdMap)==null?void 0:ee.get(ae),le=(q=Z.newChildrenParentIdMap)==null?void 0:q.get(ae);se&&le&&se!==le&&(L(le,se,ae),E(le,ae))}}};c(Z),H(Y),g(p+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const O=new Map;for(const Z of n)Z.type===z.Cuboid&&Z.parentId===A.parentId&&(O.set(Z.id,Z.lz),N(Z,Y));const J={name:"Set Height for All Cuboids on Same Surface",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var Z,ie;for(const[ee,q]of J.oldValues.entries())x(ee,q);if(J.oldChildrenPositionsMap&&J.oldChildrenPositionsMap.size>0)for(const[ee,q]of J.oldChildrenPositionsMap.entries()){f(ee,q.x,q.y,q.z);const ae=(Z=J.oldChildrenParentIdMap)==null?void 0:Z.get(ee),ne=(ie=J.newChildrenParentIdMap)==null?void 0:ie.get(ee);ae&&ne&&ae!==ne&&(L(ae,ne,ee),E(ae,ee))}},redo:()=>{var ie,ee;const Z=J.newValue;if(R(Z),J.newChildrenPositionsMap&&J.newChildrenPositionsMap.size>0)for(const[q,ae]of J.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=J.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=J.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(J),R(Y),g(p+1);break}default:{const O=i(A.id),J=O?O.lz:A.lz;N(A,Y),x(A.id,Y);const Z={name:"Set Cuboid Width",timestamp:Date.now(),oldValue:J,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),changedElementId:A.id,changedElementType:A.type,undo:()=>{var ie,ee;if(x(Z.changedElementId,Z.oldValue),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[q,ae]of Z.oldChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=Z.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=Z.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(ne,se,q),E(ne,q))}},redo:()=>{var ie,ee;if(x(Z.changedElementId,Z.newValue),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[q,ae]of Z.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=Z.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=Z.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(Z),g(p+1);break}}e(O=>{O.actionState.cuboidHeight=Y})}},B=()=>{t(!1)},_=()=>{F(w)};return h.jsx(lo,{width:550,title:j.t("word.Height",y),onApply:_,onClose:B,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:w,onChange:Y=>{Y!==null&&b(Y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",y),": [0.1, 1000] ",j.t("word.MeterAbbreviation",y)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",y)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",y)}),(A==null?void 0:A.parentId)!==Zo&&h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("cuboidMenu.AllCuboidsAboveSameBase",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",y)})]})})})]})})},bco=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(age),i=M(En),r=M(SH),a=M(TH),l=M(ao),s=M(io),c=co(z.Cuboid),[u,d]=m.useState(c?-c.rotation[2]:0),f=Kt(),p=v=>{a(v.target.value)},g=v=>{for(const T of e)T.type===z.Cuboid&&!T.locked&&T.parentId===(c==null?void 0:c.parentId)&&o(T.id,0,0,-v)},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Cuboid&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(-T.rotation[2]-v)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const T of e)if(T.type===z.Cuboid&&T.parentId===(c==null?void 0:c.parentId)&&!T.locked&&Math.abs(-T.rotation[2]-v)>Dt)return!0;break;case ue.AllObjectsOfThisType:{for(const T of e)if(T.type===z.Cuboid&&!T.locked&&Math.abs(-T.rotation[2]-v)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((c?-c.rotation[2]:0)-v)>Dt)return!0}return!1},w=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(v.has(S.id))if(T!==void 0)S.rotation[2]=T;else{const x=v.get(S.id);x!==void 0&&(S.rotation[2]=-x)}})},b=v=>{if(c&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Cuboid&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,-S.rotation[2]);const y={name:"Set Azimuth for Selected Cuboids",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{w(y.oldValues)},redo:()=>{w(y.oldValues,-y.newValue)}};i(y),w(T,-v),s(l+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const T=new Map;for(const S of e)S.type===z.Cuboid&&S.parentId===c.parentId&&!S.locked&&T.set(S.id,-S.rotation[2]);const y={name:"Set Azimuth for All Cuboids on Surface",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())o(S,0,0,-x)},redo:()=>{g(y.newValue)}};i(y),g(v),s(l+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Cuboid&&!S.locked&&T.set(S.id,-S.rotation[2]);const y={name:"Set Azimuth for All Cuboids",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{w(y.oldValues)},redo:()=>{w(y.oldValues,-y.newValue)}};i(y),w(T,-v),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:{const T=n(c.id),y=T?-T.rotation[2]:-c.rotation[2],S={name:"Set Cuboid Azimuth",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(S.changedElementId,0,0,-S.oldValue)},redo:()=>{o(S.changedElementId,0,0,-S.newValue)}};i(S),o(c.id,0,0,-v),s(l+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("word.Azimuth",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(xe.toDegrees(u).toFixed(2)),formatter:v=>`${v}°`,onChange:v=>{v!==null&&d(xe.toRadians(v))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),j.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:p,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",f)})]})})})]})})},Sco=[{key:"sensorCount",objectType:z.Sensor},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower},{key:"outsideLightCount",objectType:z.Light}],Tco=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Light:{o=`${j.t("cuboidMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllLightsOnCuboid",n)} (${e} ${j.t("cuboidMenu.Lights",n)})`;break}case z.Sensor:{o=`${j.t("cuboidMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllSensorsOnCuboid",n)} (${e} ${j.t("cuboidMenu.Sensors",n)})`;break}case z.Polygon:{o=`${j.t("cuboidMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllPolygonsOnCuboid",n)} (${e} ${j.t("cuboidMenu.Polygons",n)})`;break}case z.Human:{o=`${j.t("cuboidMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllHumansOnCuboid",n)} (${e} ${j.t("cuboidMenu.Humans",n)})`;break}case z.Tree:{o=`${j.t("cuboidMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllTreesOnCuboid",n)} (${e} ${j.t("cuboidMenu.Trees",n)})`;break}case z.Flower:{o=`${j.t("cuboidMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllFlowersOnCuboid",n)} (${e} ${j.t("cuboidMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},Pco=(t,e)=>{const n=[],o={lng:M.getState().language};if(e.solarPanelCount>0){const i=j.t("cuboidMenu.DoYouReallyWantToRemoveAllSolarPanelsOnCuboid",o)+" ("+e.solarPanelModuleCount+" "+j.t("cuboidMenu.SolarPanels",o)+", "+e.solarPanelCount+" "+j.t("cuboidMenu.Racks",o)+")?";n.push({key:"remove-all-solar-panels-on-cuboid",label:h.jsxs(JRe,{cuboid:t,objectType:z.SolarPanel,modalTitle:i,children:[j.t("cuboidMenu.RemoveAllUnlockedSolarPanels",o),"  (",e.solarPanelModuleCount," ",j.t("cuboidMenu.SolarPanels",o),",",e.solarPanelCount," ",j.t("cuboidMenu.Racks",o),")"]})})}return Sco.forEach(({key:i,objectType:r})=>{const a=e[i];if(typeof a=="number"&&a>0){const{itemLabel:l,modalTitle:s}=Tco(r,a),c=r.replaceAll(" ","");n.push({key:`remove-all-${c}s-on-cuboid`,label:h.jsx(JRe,{cuboid:t,objectType:r,modalTitle:s,children:l})})}}),n},Cco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.SolarPanel||e.type===z.Cuboid)return!0}return!1},Rco=t=>{const e=[];if(t.type!==z.Cuboid)return{items:e};const n=t,o=M.getState().selectedSideIndex,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1),a=!(n!=null&&n.locked),l=!n.textureTypes||o>=0&&n.textureTypes[o]===Co.NoTexture;return Cco()&&e.push({key:"cuboid-paste",label:h.jsx(OH,{})}),e.push({key:"cuboid-copy",label:h.jsx(Sf,{})}),a&&e.push({key:"cuboid-cut",label:h.jsx(Tf,{})}),e.push({key:"cuboid-lock",label:h.jsx(Id,{selectedElement:n})}),e.push({key:"cuboid-group-master",label:h.jsx(A$e,{groupableElement:n})}),e.push({key:"cuboid-stackable",label:h.jsx(rco,{cuboid:n})}),r.gotSome()&&e.push({key:"cuboid-clear",label:h.jsx(tn,{children:j.t("word.Clear",i)}),children:Pco(n,r)}),a&&(l&&e.push({key:"cuboid-color",label:h.jsxs(ro,{Dialog:lco,children:[j.t("word.Color",i)," ..."]})}),e.push({key:"cuboid-texture",label:h.jsxs(ro,{Dialog:Aco,children:[j.t("word.Texture",i)," ..."]})}),e.push({key:"cuboid-length",label:h.jsxs(ro,{Dialog:wco,children:[j.t("word.Length",i)," ..."]})}),e.push({key:"cuboid-width",label:h.jsxs(ro,{Dialog:vco,children:[j.t("word.Width",i)," ..."]})}),e.push({key:"cuboid-height",label:h.jsxs(ro,{Dialog:xco,children:[j.t("word.Height",i)," ..."]})}),e.push({key:"cuboid-azimuth",label:h.jsxs(ro,{Dialog:bco,children:[j.t("word.Azimuth",i)," ..."]})})),e.push({key:"add-polygon-on-cuboid",label:h.jsx(aco,{cuboid:n,selectedSideIndex:o})}),a&&e.push({key:"cuboid-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",i)}),children:vA(n)}),{items:e}},Hco=()=>{const t=M(sA),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.groundImage=i,r.viewState.groundImageType=r.viewState.mapType})},o=i=>{const r=i.target.checked,a={name:"Show Ground Image",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("groundMenu.ImageOnGround",e)})})},Mco=()=>{const t=M(SBe),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.waterSurface=i})},o=i=>{const r=i.target.checked,a={name:"Water Surface",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("groundMenu.WaterSurface",e)})})},Ico=()=>{const t=M(bBe),e=o=>{M.getState().set(i=>{i.viewState.groundColor=o})},n=o=>{const i=t,r=o.hex,a={name:"Set Ground Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{e(a.oldValue)},redo:()=>{e(a.newValue)}};M.getState().addUndoable(a),e(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:t,onChangeComplete:n})})},zco=()=>{const t=M(V1e)??cq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear1=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 1",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:j.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(1-150)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:1,max:150,step:1,precision:0,value:t,onChange:r})})},Dco=()=>{const t=M(G1e)??uq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear2=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 2",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:j.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(215-365)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:215,max:365,step:1,precision:0,value:t,onChange:r})})},KRe=({monthIndex:t})=>{const e=M(r=>r.world.monthlyIrradianceLosses?r.world.monthlyIrradianceLosses[t]:.05)??.05,n=Kt(),o=r=>{M.getState().set(a=>{a.world.monthlyIrradianceLosses||(a.world.monthlyIrradianceLosses=new Array(12).fill(.05)),a.world.monthlyIrradianceLosses[t]=r})},i=r=>{if(r===null)return;const a=e,l=r,s={name:"Set Irradiance Loss in "+Rwe[t],timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{o(s.oldValue)},redo:()=>{o(s.newValue)}};M.getState().addUndoable(s),o(l)};return h.jsx(Hn,{addonBefore:h.jsx("span",{style:{fontFamily:"monospace"},children:j.t(`month.${Rwe[t]}`,n)}),style:{width:"120px"},min:0,max:1,step:.01,precision:2,value:e,onChange:i})},Eco=()=>{const t=M(i=>i.world.ground.albedo),e=Kt(),n=i=>{M.getState().set(r=>{r.world.ground.albedo=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ground Albedo",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[j.t("groundMenu.Albedo",e),":"]}),h.jsx(Hn,{min:.05,max:1,step:.01,precision:2,value:t,onChange:o})]})},kco=({itemLabel:t,modalTitle:e,objectType:n})=>{const o=M.getState().removeElementsByType,i=()=>{const a=M.getState().elements.filter(c=>!c.locked&&c.type===n);o(n);const l=JSON.parse(JSON.stringify(a)),s={name:"Remove All "+n+"s",timestamp:Date.now(),removedElements:l,undo:()=>{M.getState().set(c=>{c.elements.push(...s.removedElements)})},redo:()=>{o(n)}};M.getState().addUndoable(s),ht.getState().updateContextMenu()},r=()=>{_r.confirm({title:e,onOk:i,icon:h.jsx($m,{})})};return h.jsx(tn,{onClick:r,children:t})},qRe=({lock:t,count:e,label:n})=>{const o=M.getState().updateAllElementLocks,i=()=>{const r=new Map;for(const c of M.getState().elements)r.set(c.id,!!c.locked);const s={name:`${t?"Lock":"Unlock"} All ${t?"Unlocked":"Locked"} Elements`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{o(t)}};M.getState().addUndoable(s),o(t)};return h.jsxs(tn,{update:!0,onClick:i,children:[n," (",e,")"]})},Fco=[{key:"humanCount",type:z.Human,itemLabel:"groundMenu.RemoveAllUnlockedPeople",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllPeople"},{key:"treeCount",type:z.Tree,itemLabel:"groundMenu.RemoveAllUnlockedTrees",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllTrees"},{key:"flowerCount",type:z.Flower,itemLabel:"groundMenu.RemoveAllUnlockedFlowers",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFlowers"},{key:"solarPanelCount",type:z.SolarPanel,itemLabel:"groundMenu.RemoveAllUnlockedSolarPanels",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllSolarPanels"},{key:"foundationCount",type:z.Foundation,itemLabel:"groundMenu.RemoveAllUnlockedFoundations",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFoundations"},{key:"cuboidCount",type:z.Cuboid,itemLabel:"groundMenu.RemoveAllUnlockedCuboids",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllCuboids"}],Lco=()=>{const t=M.getState().elementsToPaste;if(!t||t.length===0)return!1;const e=t[0];return e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Cuboid||e.type===z.Foundation},Wco=()=>Ps.slice().reduce((t,e,n,o)=>(t&&n%2!==0&&t.push({key:`${o[n-1]}-${o[n]}`,label:h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(KRe,{monthIndex:n-1}),h.jsx(KRe,{monthIndex:n})]})}),t),[]),Nco=()=>{const t={lng:M.getState().language},e=M.getState().countAllElementsByType(!0),n=[];return Lco()&&n.push({key:"ground-paste",label:h.jsx(OH,{})}),Fco.forEach(({key:o,type:i,itemLabel:r,modalTitle:a})=>{const l=e[o];typeof l=="number"&&l>0&&n.push({key:`ground-remove-all-${i}s`,label:h.jsx(kco,{objectType:i,itemLabel:`${j.t(r,t)} (${l})`,modalTitle:`${j.t(a,t)} (${l})?`})})}),e.unlockedCount>0&&n.push({key:"lock-all-elements",label:h.jsx(qRe,{lock:!0,count:e.unlockedCount,label:j.t("groundMenu.LockAllUnlockedElements",t)})}),e.lockedCount>0&&M.getState().elements.length>0&&n.push({key:"unlock-all-elements",label:h.jsx(qRe,{lock:!1,count:e.lockedCount,label:j.t("groundMenu.UnlockAllLockedElements",t)})}),n.push({key:"image-on-ground",label:h.jsx(Hco,{})}),n.push({key:"water-surface",label:h.jsx(Mco,{})}),M.getState().viewState.waterSurface||n.push({key:"ground-color-submenu",label:h.jsx(tn,{children:j.t("word.Color",t)}),children:[{key:"ground-color-picker",label:h.jsx(Ico,{}),style:{backgroundColor:"white"}}]}),n.push({key:"vegetation-submenu",label:h.jsx(tn,{children:j.t("groundMenu.Vegetation",t)}),children:[{key:"leaf-out-day",label:h.jsx(zco,{})},{key:"leaf-shed-day",label:h.jsx(Dco,{})}]}),n.push({key:"monthly-irradiance-loss-submenu",label:h.jsx(tn,{children:j.t("groundMenu.MonthlyIrradianceLoss",t)}),children:Wco()}),n.push({key:"ground-albedo",label:h.jsx(Eco,{})}),{items:n}};var CE={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 1-Math.cos(t*Math.PI/2)},Out:function(t){return Math.sin(t*Math.PI/2)},InOut:function(t){return .5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return t===0?0:Math.pow(1024,t-1)},Out:function(t){return t===1?1:1-Math.pow(2,-10*t)},InOut:function(t){return t===0?0:t===1?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return t===0?0:t===1?1:-Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI)},Out:function(t){return t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t-.1)*5*Math.PI)+1},InOut:function(t){return t===0?0:t===1?1:(t*=2,t<1?-.5*Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI):.5*Math.pow(2,-10*(t-1))*Math.sin((t-1.1)*5*Math.PI)+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?.5*(t*t*((e+1)*t-e)):.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-CE.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?CE.Bounce.In(t*2)*.5:CE.Bounce.Out(t*2-1)*.5+.5}}},DD;typeof self>"u"&&typeof process<"u"&&process.hrtime?DD=function(){var t=process.hrtime();return t[0]*1e3+t[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?DD=self.performance.now.bind(self.performance):Date.now!==void 0?DD=Date.now:DD=function(){return new Date().getTime()};var bP=DD,Uco=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(n){return e._tweens[n]})},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},t.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},t.prototype.update=function(e,n){e===void 0&&(e=bP()),n===void 0&&(n=!1);var o=Object.keys(this._tweens);if(o.length===0)return!1;for(;o.length>0;){this._tweensAddedDuringUpdate={};for(var i=0;i1?r(t[n],t[n-1],n-o):r(t[i],t[i+1>n?n:i+1],o-i)},Bezier:function(t,e){for(var n=0,o=t.length-1,i=Math.pow,r=ED.Utils.Bernstein,a=0;a<=o;a++)n+=i(1-e,o-a)*i(e,a)*t[a]*r(o,a);return n},CatmullRom:function(t,e){var n=t.length-1,o=n*e,i=Math.floor(o),r=ED.Utils.CatmullRom;return t[0]===t[n]?(e<0&&(i=Math.floor(o=n*(1+e))),r(t[(i-1+n)%n],t[i],t[(i+1)%n],t[(i+2)%n],o-i)):e<0?t[0]-(r(t[0],t[0],t[1],t[1],-o)-t[0]):e>1?t[n]-(r(t[n],t[n],t[n-1],t[n-1],o-n)-t[n]):r(t[i?i-1:0],t[i],t[n1;o--)n*=o;return t[e]=n,n}}(),CatmullRom:function(t,e,n,o,i){var r=(n-t)*.5,a=(o-e)*.5,l=i*i,s=i*l;return(2*e-2*n+r+a)*s+(-3*e+3*n-2*r-a)*l+r*i+e}}},Bco=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),aot=new Uco,jco=function(){function t(e,n){n===void 0&&(n=aot),this._object=e,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=CE.Linear.None,this._interpolationFunction=ED.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Bco.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.to=function(e,n){return this._valuesEnd=Object.create(e),n!==void 0&&(this._duration=n),this},t.prototype.duration=function(e){return this._duration=e,this},t.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e!==void 0?typeof e=="string"?bP()+parseFloat(e):e:bP(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},t.prototype._setupProperties=function(e,n,o,i){for(var r in o){var a=e[r],l=Array.isArray(a),s=l?"array":typeof a,c=!l&&Array.isArray(o[r]);if(!(s==="undefined"||s==="function")){if(c){var u=o[r];if(u.length===0)continue;u=u.map(this._handleRelativeValue.bind(this,a)),o[r]=[a].concat(u)}if((s==="object"||l)&&a&&!c){n[r]=l?[]:{};for(var d in a)n[r][d]=a[d];i[r]=l?[]:{},this._setupProperties(a,n[r],o[r],i[r])}else typeof n[r]>"u"&&(n[r]=a),l||(n[r]*=1),c?i[r]=o[r].slice().reverse():i[r]=n[r]||0}}},t.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},t.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},t.prototype.pause=function(e){return e===void 0&&(e=bP()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this),this)},t.prototype.resume=function(e){return e===void 0&&(e=bP()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},t.prototype.stopChainedTweens=function(){for(var e=0,n=this._chainedTweens.length;er)return!1;n&&this.start(e)}if(this._goToEnd=!1,e1?1:i;var a=this._easingFunction(i);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,i),i===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(o in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[o]=="string"&&(this._valuesStartRepeat[o]=this._valuesStartRepeat[o]+parseFloat(this._valuesEnd[o])),this._yoyo&&this._swapEndStartRepeatValues(o),this._valuesStart[o]=this._valuesStartRepeat[o];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var l=0,s=this._chainedTweens.length;l{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&(l.type===z.Human||l.type===z.Tree||l.type===z.Flower)){const s=l;s.flip=r;break}})},o=i=>{const r=i.target.checked,a={name:`Flip ${t.type}`,timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.flip,onChange:o,children:j.t("peopleMenu.Flip",e)})})}),Oco=be.memo(({human:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Human&&l.id===i){l.observer=r;break}})},o=i=>{const r=i.target.checked,a={name:"Set Observer",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.observer,onChange:o,children:j.t("peopleMenu.Observer",e)})})}),_co=be.memo(({human:t})=>{const e=Kt(),[n,o]=m.useState(!1),i=m.useRef(0),r=m.useRef(-1),a=m.useRef(!0),l=m.useRef(!1);m.useEffect(()=>{if(l.current){if(a.current)return i.current=requestAnimationFrame(c),u(),()=>{cancelAnimationFrame(i.current)};a.current=!0}},[n]);const s=(f,p,g)=>{const A=Ln.getState().orbitControlsRef;A!=null&&A.current&&(A.current.object.position.set(f,p,g),A.current.update(),M.getState().set(w=>{const b=w.viewState;b.cameraPosition=[f,p,g]}))},c=()=>{requestAnimationFrame(c);const f=Date.now();f-r.current>100&&(Yco(),r.current=f)},u=()=>{if(!t)return;let f=t.cx,p=t.cy,g=t.cz+t.lz;const A=M.getState().getParent(t);if(A){const C=xe.absoluteHumanOrTreeCoordinates(f,p,g,A);f=C.x,p=C.y,g=C.z}const w=M.getState().cameraDirection.clone().normalize().multiplyScalar(.5);f+=w.x,p+=w.y;const b=[...M.getState().viewState.cameraPosition];new jco(b).to([f,p,g],1e3).easing(CE.Quadratic.In).onUpdate(C=>{s(C[0],C[1],C[2])}).onComplete(()=>{M.getState().selectNone()}).start()},d=()=>{o(!n),l.current=!0};return h.jsx(tn,{onClick:d,children:j.t("peopleMenu.ViewFromThisPerson",e)})}),Vco=be.memo(({tree:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Tree&&l.id===i){l.showModel=r;break}})},o=i=>{const r={name:"Show Tree Model",timestamp:Date.now(),checked:i,selectedElementId:t.id,selectedElementType:z.Tree,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:(t==null?void 0:t.showModel)&&(t==null?void 0:t.type)===z.Tree,onChange:i=>o(i.target.checked),children:j.t("treeMenu.ShowModel",e)})})}),Gco=be.memo(({tree:t})=>{const e=M.getState().updateElementLxById,n=Kt(),o=t.lx??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Spread",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeSpread=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[j.t("treeMenu.Spread",n)+" ("+j.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:50,step:1,precision:1,value:o,onChange:i})]})}),Xco=be.memo(({tree:t})=>{const e=M.getState().updateElementLzById,n=Kt(),o=t.lz??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Height",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeHeight=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[j.t("word.Height",n)+" ("+j.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:30,step:1,precision:1,value:o,onChange:i})]})}),{Option:_a}=Yo,Jco=be.memo(({human:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Human&&u.id===l){const d=u;d.name=s,d.lx=Ip.fetchWidth(s),d.lz=Ip.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"140px"},value:(t==null?void 0:t.name)??Yt.Jack,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change People",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.humanName=l}),i(!o)}}},children:[h.jsxs(_a,{value:Yt.Jack,children:[h.jsx("img",{alt:Yt.Jack,src:xUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jack",r)]},Yt.Jack),h.jsxs(_a,{value:Yt.Jacob,children:[h.jsx("img",{alt:Yt.Jacob,src:bUe,height:20,style:{paddingRight:"16px"}})," ",j.t("people.Jacob",r)]},Yt.Jacob),h.jsxs(_a,{value:Yt.Jacqueline,children:[h.jsx("img",{alt:Yt.Jacqueline,src:SUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jacqueline",r)]},Yt.Jacqueline),h.jsxs(_a,{value:Yt.Jaah,children:[h.jsx("img",{alt:Yt.Jaah,src:vUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jaah",r)]},Yt.Jaah),h.jsxs(_a,{value:Yt.Jade,children:[h.jsx("img",{alt:Yt.Jade,src:TUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jade",r)]},Yt.Jade),h.jsxs(_a,{value:Yt.Jamelia,children:[h.jsx("img",{alt:Yt.Jamelia,src:PUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jamelia",r)]},Yt.Jamelia),h.jsxs(_a,{value:Yt.James,children:[h.jsx("img",{alt:Yt.James,src:CUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.James",r)]},Yt.James),h.jsxs(_a,{value:Yt.Jane,children:[h.jsx("img",{alt:Yt.Jane,src:RUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jane",r)]},Yt.Jane),h.jsxs(_a,{value:Yt.Jaya,children:[h.jsx("img",{alt:Yt.Jaya,src:HUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jaya",r)]},Yt.Jaya),h.jsxs(_a,{value:Yt.Jaye,children:[h.jsx("img",{alt:Yt.Jaye,src:MUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jaye",r)]},Yt.Jaye),h.jsxs(_a,{value:Yt.Jeanette,children:[h.jsx("img",{alt:Yt.Jeanette,src:IUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jeanette",r)]},Yt.Jeanette),h.jsxs(_a,{value:Yt.Jedi,children:[h.jsx("img",{alt:Yt.Jedi,src:zUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jedi",r)]},Yt.Jedi),h.jsxs(_a,{value:Yt.Jeff,children:[h.jsx("img",{alt:Yt.Jeff,src:DUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jeff",r)]},Yt.Jeff),h.jsxs(_a,{value:Yt.Jena,children:[h.jsx("img",{alt:Yt.Jena,src:EUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jena",r)]},Yt.Jena),h.jsxs(_a,{value:Yt.Jennifer,children:[h.jsx("img",{alt:Yt.Jennifer,src:kUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jennifer",r)]},Yt.Jennifer),h.jsxs(_a,{value:Yt.Jess,children:[h.jsx("img",{alt:Yt.Jess,src:FUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jess",r)]},Yt.Jess),h.jsxs(_a,{value:Yt.Jett,children:[h.jsx("img",{alt:Yt.Jett,src:LUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jett",r)]},Yt.Jett),h.jsxs(_a,{value:Yt.Jill,children:[h.jsx("img",{alt:Yt.Jill,src:WUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jill",r)]},Yt.Jill),h.jsxs(_a,{value:Yt.Jiya,children:[h.jsx("img",{alt:Yt.Jiya,src:NUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jiya",r)]},Yt.Jiya),h.jsxs(_a,{value:Yt.Joan,children:[h.jsx("img",{alt:Yt.Joan,src:UUe,height:20,style:{paddingRight:"8px"}})," ",j.t("people.Joan",r)]},Yt.Joan),h.jsxs(_a,{value:Yt.Jocelyn,children:[h.jsx("img",{alt:Yt.Jocelyn,src:BUe,height:20,style:{paddingRight:"23px"}})," ",j.t("people.Jocelyn",r)]},Yt.Jocelyn),h.jsxs(_a,{value:Yt.Joel,children:[h.jsx("img",{alt:Yt.Joel,src:jUe,height:20,style:{paddingRight:"7px"}})," ",j.t("people.Joel",r)]},Yt.Joel),h.jsxs(_a,{value:Yt.Joey,children:[h.jsx("img",{alt:Yt.Joey,src:YUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Joey",r)]},Yt.Joey),h.jsxs(_a,{value:Yt.John,children:[h.jsx("img",{alt:Yt.John,src:OUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.John",r)]},Yt.John),h.jsxs(_a,{value:Yt.Jonathon,children:[h.jsx("img",{alt:Yt.Jonathon,src:_Ue,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jonathon",r)]},Yt.Jonathon),h.jsxs(_a,{value:Yt.Jose,children:[h.jsx("img",{alt:Yt.Jose,src:VUe,height:20,style:{paddingRight:"5px"}})," ",j.t("people.Jose",r)]},Yt.Jose),h.jsxs(_a,{value:Yt.Joseph,children:[h.jsx("img",{alt:Yt.Joseph,src:GUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Joseph",r)]},Yt.Joseph),h.jsxs(_a,{value:Yt.Joshua,children:[h.jsx("img",{alt:Yt.Joshua,src:XUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Joshua",r)]},Yt.Joshua),h.jsxs(_a,{value:Yt.Judd,children:[h.jsx("img",{alt:Yt.Judd,src:JUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Judd",r)]},Yt.Judd),h.jsxs(_a,{value:Yt.Judy,children:[h.jsx("img",{alt:Yt.Judy,src:KUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Judy",r)]},Yt.Judy),h.jsxs(_a,{value:Yt.Julia,children:[h.jsx("img",{alt:Yt.Julia,src:qUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Julia",r)]},Yt.Julia),h.jsxs(_a,{value:Yt.Julio,children:[h.jsx("img",{alt:Yt.Julio,src:$Ue,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Julio",r)]},Yt.Julio),h.jsxs(_a,{value:Yt.Jumapili,children:[h.jsx("img",{alt:Yt.Jumapili,src:QUe,height:20,style:{paddingRight:"16px"}})," ",j.t("people.Jumapili",r)]},Yt.Jumapili),h.jsxs(_a,{value:Yt.June,children:[h.jsx("img",{alt:Yt.June,src:ZUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.June",r)]},Yt.June),h.jsxs(_a,{value:Yt.Juro,children:[h.jsx("img",{alt:Yt.Juro,src:eBe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Juro",r)]},Yt.Juro),h.jsxs(_a,{value:Yt.Justin,children:[h.jsx("img",{alt:Yt.Justin,src:tBe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Justin",r)]},Yt.Justin)]})}),Kco=t=>{const e=[];if(t.type!==z.Human)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().viewState.orthographic??!1;return e.push({key:"human-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"human-cut",label:h.jsx(Tf,{})}),e.push({key:"human-lock",label:h.jsx(Id,{selectedElement:n})}),o&&e.push({key:"human-flip",label:h.jsx(o9e,{billboardModel:n})}),r||e.push({key:"human-move-view",label:h.jsx(_co,{human:n})}),o&&(e.push({key:"human-obserber",label:h.jsx(Oco,{human:n})}),e.push({key:"human-selection",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"120px"},children:[j.t("peopleMenu.ChangePerson",i),": "]}),h.jsx(Jco,{human:n})]})})),{items:e}},{Option:Xd}=Yo,qco=be.memo(({flower:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Flower&&u.id===l){const d=u;d.name=s,d.lx=cw.fetchSpread(s),d.lz=cw.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"200px"},value:(t==null?void 0:t.name)??Qn.WhiteFlower,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Flower",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.flowerType=l}),i(!o)}}},children:[h.jsxs(Xd,{value:Qn.WhiteFlower,children:[h.jsx("img",{alt:Qn.WhiteFlower,src:dBe,height:20,style:{paddingRight:"17px"}})," ",j.t("flower.WhiteFlower",r)]},Qn.WhiteFlower),h.jsxs(Xd,{value:Qn.YellowFlower,children:[h.jsx("img",{alt:Qn.YellowFlower,src:fBe,height:20,style:{paddingRight:"16px"}})," ",j.t("flower.YellowFlower",r)]},Qn.YellowFlower),h.jsxs(Xd,{value:Qn.Hibiscus,children:[h.jsx("img",{alt:Qn.Hibiscus,src:oBe,height:20,style:{paddingRight:"19px"}})," ",j.t("flower.Hibiscus",r)]},Qn.Hibiscus),h.jsxs(Xd,{value:Qn.Hydrangea,children:[h.jsx("img",{alt:Qn.Hydrangea,src:iBe,height:20,style:{paddingRight:"18px"}})," ",j.t("flower.Hydrangea",r)]},Qn.Hydrangea),h.jsxs(Xd,{value:Qn.Spirea,children:[h.jsx("img",{alt:Qn.Spirea,src:sBe,height:20,style:{paddingRight:"18px"}})," ",j.t("flower.Spirea",r)]},Qn.Spirea),h.jsxs(Xd,{value:Qn.Hosta,children:[h.jsx("img",{alt:Qn.Hosta,src:rBe,height:20,style:{paddingRight:"18px"}})," ",j.t("flower.Hosta",r)]},Qn.Hosta),h.jsxs(Xd,{value:Qn.Peony,children:[h.jsx("img",{alt:Qn.Peony,src:aBe,height:20,style:{paddingRight:"17px"}})," ",j.t("flower.Peony",r)]},Qn.Peony),h.jsxs(Xd,{value:Qn.Boxwood,children:[h.jsx("img",{alt:Qn.Boxwood,src:gce,height:20,style:{paddingRight:"23px"}})," ",j.t("flower.Boxwood",r)]},Qn.Boxwood),h.jsxs(Xd,{value:Qn.TallBush,children:[h.jsx("img",{alt:Qn.TallBush,src:vce,height:20,style:{paddingRight:"32px"}})," ",j.t("flower.TallBush",r)]},Qn.TallBush),h.jsxs(Xd,{value:Qn.CactusCombo1,children:[h.jsx("img",{alt:Qn.CactusCombo1,src:mce,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo1",r)]},Qn.CactusCombo1),h.jsxs(Xd,{value:Qn.CactusCombo2,children:[h.jsx("img",{alt:Qn.CactusCombo2,src:yce,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo2",r)]},Qn.CactusCombo2),h.jsxs(Xd,{value:Qn.CactusCombo3,children:[h.jsx("img",{alt:Qn.CactusCombo3,src:Ace,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo3",r)]},Qn.CactusCombo3),h.jsxs(Xd,{value:Qn.CactusCombo4,children:[h.jsx("img",{alt:Qn.CactusCombo4,src:wce,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo4",r)]},Qn.CactusCombo4),h.jsxs(Xd,{value:Qn.RedRose,children:[h.jsx("img",{alt:Qn.RedRose,src:lBe,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.RedRose",r)]},Qn.RedRose),h.jsxs(Xd,{value:Qn.Bellflower,children:[h.jsx("img",{alt:Qn.Bellflower,src:nBe,height:20,style:{paddingRight:"20px"}})," ",j.t("flower.Bellflower",r)]},Qn.Bellflower),h.jsxs(Xd,{value:Qn.Sunflower,children:[h.jsx("img",{alt:Qn.Sunflower,src:cBe,height:20,style:{paddingRight:"32px"}})," ",j.t("flower.Sunflower",r)]},Qn.Sunflower),h.jsxs(Xd,{value:Qn.Tulip,children:[h.jsx("img",{alt:Qn.Tulip,src:uBe,height:20,style:{paddingRight:"24px"}})," ",j.t("flower.Tulip",r)]},Qn.Tulip)]})}),$co=t=>{const e=[];if(t.type!==z.Flower)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"flower-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"flower-cut",label:h.jsx(Tf,{})}),e.push({key:"flower-lock",label:h.jsx(Id,{selectedElement:n})}),o&&e.push({key:"flower-flip",label:h.jsx(o9e,{billboardModel:n})}),o&&e.push({key:"flower-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[j.t("flowerMenu.Type",i),": "]}),h.jsx(qco,{flower:n})]})}),{items:e}},Qco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.filled=r;break}})},o=i=>{const r={name:"Fill Polygon",timestamp:Date.now(),checked:!t.filled,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.filled,onChange:o,children:j.t("polygonMenu.Filled",e)})})},Zco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.shininess=r;break}})},o=i=>{const a={name:"Shiny Polygon",timestamp:Date.now(),checked:((t==null?void 0:t.shininess)??0)>0,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,a.checked?0:100)},redo:()=>{n(t.id,a.checked?100:0)}};M.getState().addUndoable(a),n(t.id,i.target.checked?100:0)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.shininess,onChange:o,children:j.t("polygonMenu.Shiny",e)})})},e0o=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.noOutline=r;break}})},o=i=>{const r={name:"No Outline for Polygon",timestamp:Date.now(),checked:!t.noOutline,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.noOutline,onChange:o,children:j.t("polygonMenu.NoOutline",e)})})},t0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.text)??""),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.text=l);break}})},r=()=>{const a={name:"Set Text for Polygon",timestamp:Date.now(),oldValue:t.text??"",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("word.Text",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},n0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontSize)??1),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontSize=l);break}})},r=()=>{const a={name:"Set Font Size for Polygon",timestamp:Date.now(),oldValue:t.fontSize??1,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("word.FontSize",e),":"]}),min:.1,max:5,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},o0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontColor=l);break}})},r=()=>{const a={name:"Set Font Color for Polygon",timestamp:Date.now(),oldValue:t.fontColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("word.FontColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},i0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineColor)??"white"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineColor=l);break}})},r=()=>{const a={name:"Set Font Outline Color for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineColor??"white",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontOutlineColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},r0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineWidth=l);break}})},r=()=>{const a={name:"Set Font Outline Width for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontOutlineWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},a0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeColor=l);break}})},r=()=>{const a={name:"Set Font Stroke Color for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontStrokeColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},l0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeWidth=l);break}})},r=()=>{const a={name:"Set Font Stroke Width for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontStrokeWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},s0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(rr),i=M(Swt),r=M(Twt),a=M(Pwt),l=M(Cwt),s=M(En),c=M(xH),u=M(bH),d=M(ao),f=M(io),p=co(z.Polygon),[g,A]=m.useState((p==null?void 0:p.lineColor)??"black"),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&S!==x.lineColor)return!0;break;case ue.AllObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&S!==x.lineColor)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const x of e)if(x.type===z.Polygon&&x.parentId===p.parentId&&xe.isIdentical(x.normal,p.normal)&&!x.locked&&x.lineColor!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of e)if(x.type===z.Polygon&&x.foundationId===(p==null?void 0:p.foundationId)&&!x.locked&&x.lineColor!==S)return!0;break;default:if(S!==(p==null?void 0:p.lineColor))return!0}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&S.has(H.id)&&(H.lineColor=x)})},v=S=>{if(p&&C(S))switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for Selected Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&x.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,S),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&xe.isIdentical(D.normal,p.normal)&&R.set(D.id,D.lineColor??"gray");const H={name:"Set Line Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:S,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,S),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&x.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,S),f(d+1)}break}default:{const x=n(p.id),R=x?x.lineColor:p.lineColor,H={name:"Set Line Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}},T=()=>{t(!1)},y=()=>{v(g)};return h.jsx(lo,{width:600,title:j.t("polygonMenu.LineColor",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.lineColor)??"black",onChangeComplete:S=>{A(S.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",w)})]})})})]})})},c0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ao),c=M(io),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.lineStyle)??Oh.Solid),p=Kt(),{Option:g}=Yo,A=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.Polygon&&k.id===R){k.lineStyle=H;break}})},w=(R,H,D)=>{e(k=>{for(const W of k.elements)W.type===z.Polygon&&W.parentId===R&&xe.isIdentical(W.normal,H)&&!W.locked&&(W.lineStyle=D)})},b=(R,H)=>{e(D=>{for(const k of D.elements)k.type===z.Polygon&&k.foundationId===R&&!k.locked&&(k.lineStyle=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.lineStyle=R)})},P=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&xe.isIdentical(H.normal,u.normal)&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&R!==H.lineStyle)return!0;break;default:if(R!==(u==null?void 0:u.lineStyle))return!0}return!1}},T=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)k.type===z.Polygon&&!k.locked&&R.has(k.id)&&(k.lineStyle=H)})},y=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.lineStyle??Oh.Solid);const D={name:"Set Line Style for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{T(D.oldValues,D.newValue)}};r(D),T(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&H.set(k.id,k.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const W of n)W.type===z.Polygon&&W.parentId===u.parentId&&xe.isIdentical(W.normal,u.normal)&&D.set(W.id,W.lineStyle??Oh.Solid);const k={name:"Set Line Style for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[W,N]of k.oldValues.entries())A(W,N)},redo:()=>{k.groupId&&w(k.groupId,k.normal,k.newValue)}};r(k),w(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.Polygon&&k.foundationId===u.foundationId&&H.set(k.id,k.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};r(D),b(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.lineStyle:u.lineStyle,k={name:"Set Line Style of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(k.changedElementId,k.oldValue)},redo:()=>{A(k.changedElementId,k.newValue)}};r(k),A(u.id,R),c(s+1);break}}},S=()=>{t(!1)},x=()=>{y(d)};return h.jsx(lo,{width:600,title:j.t("polygonMenu.LineStyle",p),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:Oh.Solid,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px solid dimGray"},children:" "}),j.t("polygonMenu.SolidLine",p)]},Oh.Solid),h.jsxs(g,{value:Oh.Dashed,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dashed dimGray"},children:" "}),j.t("polygonMenu.DashedLine",p)]},Oh.Dashed),h.jsxs(g,{value:Oh.Dotted,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dotted dimGray"},children:" "}),j.t("polygonMenu.DottedLine",p)]},Oh.Dotted)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",p)})]})})})]})})},u0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(rr),i=M(Rwt),r=M(Hwt),a=M(Mwt),l=M(Iwt),s=M(En),c=M(xH),u=M(bH),d=M(ao),f=M(io),p=co(z.Polygon),[g,A]=m.useState((p==null?void 0:p.lineWidth)??1),w=Kt(),{Option:b}=Yo,C=x=>{u(x.target.value)},P=x=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&x!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&x!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const R of e)if(R.type===z.Polygon&&R.parentId===p.parentId&&xe.isIdentical(R.normal,p.normal)&&!R.locked&&R.lineWidth!==x)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Polygon&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&R.lineWidth!==x)return!0;break;default:if(x!==(p==null?void 0:p.lineWidth))return!0}return!1}},v=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&x.has(D.id)&&(D.lineWidth=R)})},T=x=>{if(p&&P(x))switch(c){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for Selected Polygons",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{v(H.oldValues,H.newValue)}};s(H),v(R,x),f(d+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{l(z.Polygon,H.newValue)}};s(H),l(z.Polygon,x),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const H=new Map;for(const k of e)k.type===z.Polygon&&k.parentId===p.parentId&&xe.isIdentical(k.normal,p.normal)&&H.set(k.id,k.lineWidth??1);const D={name:"Set Line Width for All Polygons on Same Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[k,W]of D.oldValues.entries())i(k,W)},redo:()=>{D.groupId&&r(z.Polygon,D.groupId,D.normal,D.newValue)}};s(D),r(z.Polygon,p.parentId,p.normal,x),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const R=new Map;for(const D of e)D.type===z.Polygon&&D.foundationId===p.foundationId&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:p.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{H.groupId&&a(z.Polygon,H.groupId,H.newValue)}};s(H),a(z.Polygon,p.foundationId,x),f(d+1)}break}default:{const R=n(p.id),H=R?R.lineWidth:p.lineWidth,D={name:"Set Line Width of Selected Polygon",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(D.changedElementId,D.oldValue)},redo:()=>{i(D.changedElementId,D.newValue)}};s(D),i(p.id,x),f(d+1);break}}},y=()=>{t(!1)},S=()=>{T(g),t(!1),f(0)};return h.jsx(lo,{width:560,title:j.t("polygonMenu.LineWidth",w),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:g,onChange:x=>A(x),children:[h.jsx(b,{value:Vy.One,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"1px solid dimGray"}})},Vy.One),h.jsx(b,{value:Vy.Two,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"2px solid dimGray"}})},Vy.Two),h.jsx(b,{value:Vy.Three,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"3px solid dimGray"}})},Vy.Three),h.jsx(b,{value:Vy.Four,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"4px solid dimGray"}})},Vy.Four),h.jsx(b,{value:Vy.Five,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"5px solid dimGray"}})},Vy.Five)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:C,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",w)})]})})})]})})},d0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(rr),i=M(tje),r=M(xwt),a=M(bwt),l=M(nje),s=M(En),c=M(xH),u=M(bH),d=M(ao),f=M(io),p=co(z.Polygon),[g,A]=m.useState((p==null?void 0:p.color)??"gray"),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&S!==x.color)return!0;break;case ue.AllObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&S!==x.color)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of e)if(x.type===z.Polygon&&x.foundationId===p.foundationId&&!x.locked&&x.color!==S)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const x of e)if(x.type===z.Polygon&&x.parentId===p.parentId&&xe.isIdentical(x.normal,p.normal)&&!x.locked&&x.color!==S)return!0;break;default:if(S!==p.color)return!0}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&S.has(H.id)&&(H.color=x)})},v=S=>{if(p&&C(S))switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.color??"gray");const R={name:"Set Fill Color for Selected Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&x.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,S),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&x.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,S),f(d+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&xe.isIdentical(D.normal,p.normal)&&R.set(D.id,D.color??"gray");const H={name:"Set Fill Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:S,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,S),f(d+1)}break}default:{const x=n(p.id),R=x?x.color:p.color,H={name:"Set Fill Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}},T=()=>{t(!1)},y=()=>{v(g)};return h.jsx(lo,{width:600,title:j.t("polygonMenu.FillColor",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.color)??"gray",onChangeComplete:S=>{A(S.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",w)})]})})})]})})},f0o="/aladdin/assets/polygon_08_menu-RpvWW3pg.png",h0o="/aladdin/assets/polygon_09_menu-CCH8lYni.png",p0o="/aladdin/assets/polygon_10_menu-BYFeRpsw.png",g0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ao),c=M(io),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.textureType)??qi.NoTexture),p=Kt(),{Option:g}=Yo,A=(R,H)=>{e(D=>{for(const k of D.elements)if(k.id===R&&k.type===z.Polygon&&!k.locked){k.textureType=H;break}})},w=(R,H,D)=>{e(k=>{for(const W of k.elements)W.type===z.Polygon&&W.parentId===R&&xe.isIdentical(W.normal,H)&&!W.locked&&(W.textureType=D)})},b=(R,H)=>{e(D=>{for(const k of D.elements)k.type===z.Polygon&&k.foundationId===R&&!k.locked&&(k.textureType=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.textureType=R)})},P=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&xe.isIdentical(H.normal,u.normal)&&!H.locked&&H.textureType!==R)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===u.foundationId&&!H.locked&&H.textureType!==R)return!0;break;default:if(R!==(u==null?void 0:u.textureType))return!0}return!1}},T=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)k.type===z.Polygon&&!k.locked&&R.has(k.id)&&(k.textureType=H)})},y=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.textureType??qi.NoTexture);const D={name:"Set Texture for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{T(D.oldValues,D.newValue)}};r(D),T(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&H.set(k.id,k.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const W of n)W.type===z.Polygon&&W.parentId===u.parentId&&xe.isIdentical(W.normal,u.normal)&&D.set(W.id,W.textureType??qi.NoTexture);const k={name:"Set Texture for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[W,N]of k.oldValues.entries())A(W,N)},redo:()=>{k.groupId&&w(k.groupId,k.normal,k.newValue)}};r(k),w(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.Polygon&&k.foundationId===u.foundationId&&H.set(k.id,k.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};r(D),b(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.textureType:u.textureType,k={name:"Set Texture of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(k.changedElementId,k.oldValue)},redo:()=>{A(k.changedElementId,k.newValue)}};r(k),A(u.id,R),c(s+1);break}}},S=()=>{t(!1)},x=()=>{y(d)};return h.jsx(lo,{width:500,title:j.t("polygonMenu.FillTexture",p),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:qi.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",p)]},qi.NoTexture),h.jsxs(g,{value:qi.Texture01,children:[h.jsx("img",{alt:qi.Texture01,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture01",p)]},qi.Texture01),h.jsxs(g,{value:qi.Texture02,children:[h.jsx("img",{alt:qi.Texture02,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture02",p)]},qi.Texture02),h.jsxs(g,{value:qi.Texture03,children:[h.jsx("img",{alt:qi.Texture03,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture03",p)]},qi.Texture03),h.jsxs(g,{value:qi.Texture04,children:[h.jsx("img",{alt:qi.Texture04,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture04",p)]},qi.Texture04),h.jsxs(g,{value:qi.Texture05,children:[h.jsx("img",{alt:qi.Texture05,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture05",p)]},qi.Texture05),h.jsxs(g,{value:qi.Texture06,children:[h.jsx("img",{alt:qi.Texture06,src:Utt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture06",p)]},qi.Texture06),h.jsxs(g,{value:qi.Texture07,children:[h.jsx("img",{alt:qi.Texture07,src:Btt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture07",p)]},qi.Texture07),h.jsxs(g,{value:qi.Texture08,children:[h.jsx("img",{alt:qi.Texture08,src:f0o,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture08",p)]},qi.Texture08),h.jsxs(g,{value:qi.Texture09,children:[h.jsx("img",{alt:qi.Texture09,src:h0o,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture09",p)]},qi.Texture09),h.jsxs(g,{value:qi.Texture10,children:[h.jsx("img",{alt:qi.Texture10,src:p0o,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture10",p)]},qi.Texture10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",p)})]})})})]})})},m0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(xH),i=M(bH),r=M(ao),a=M(io),l=M(Vn),s=M(dn),c=co(z.Polygon),[u,d]=m.useState((c==null?void 0:c.opacity)!==void 0?c.opacity:1),f=Kt(),p=(v,T)=>{s(y=>{for(const S of y.elements)if(S.id===v){S.opacity=T;break}})},g=v=>{for(const[T,y]of v.entries())p(T,y)},A=(v,T)=>{for(const y of v.keys())p(y,T)},w=v=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Polygon&&v!==T.opacity&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Polygon&&v!==T.opacity&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Polygon&&T.foundationId===c.foundationId&&v!==T.opacity&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const T of e)if(T.type===z.Polygon&&T.parentId===c.parentId&&xe.isIdentical(T.normal,c.normal)&&v!==T.opacity&&!T.locked)return!0;break;default:if(v!==(c==null?void 0:c.opacity))return!0;break}return!1}},b=v=>{if(c&&w(v))switch(o){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of e)if(S.type===z.Polygon&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for Selected Polygons",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of e)if(S.type===z.Polygon&&!S.locked){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for All Polygons",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(c.foundationId){const T=new Map;for(const S of e)if(S.type===z.Polygon&&S.foundationId===c.foundationId&&!S.locked){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:c.foundationId,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(c.parentId){const T=new Map;for(const S of e)if(S.type===z.Polygon&&S.parentId===c.parentId&&xe.isIdentical(S.normal,c.normal)&&!S.locked){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:c.foundationId,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1)}break}default:if(c){const T=l(c.id),y=T.opacity!==void 0?T.opacity:c.opacity!==void 0?c.opacity:1,S={name:"Set Polygon Opacity",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};n(S),p(c.id,v),a(r+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("polygonMenu.Opacity",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.1,precision:1,value:u,formatter:v=>Number(v).toFixed(1),onChange:v=>d(v)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>i(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",f)})]})})})]})})};class FR{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=xe.calculatePolygonBounds(e.vertices),g=(i===ui.portrait?o.length:o.width)*a;if(s===Rl.upDown){const A=Math.floor(((p.maxX()-p.minX())*n.lx-g)/l),w=p.minX()+g/(2*n.lx)+d/n.lx,b=l/n.lx,C=.5*Math.abs(Math.cos(r))*g/n.lx,P={x:0,y:-.5},v={x:0,y:.5},T="rotation"in n?n.rotation:void 0;for(let y=0;y<=A;y++){const S=w+y*b;P.x=v.x=S-C;const x=xe.polygonIntersections(P,v,e.vertices).sort((D,k)=>D.y-k.y);P.x=v.x=S+C;const R=xe.polygonIntersections(P,v,e.vertices).sort((D,k)=>D.y-k.y),H=Math.max(x.length,R.length)/2;if(H>0)for(let D=0;DD.x-k.x);P.y=v.y=S+C;const R=xe.polygonIntersections(P,v,e.vertices).sort((D,k)=>D.x-k.x),H=Math.max(x.length,R.length)/2;if(H>0)for(let D=0;D0)return rl.makeSolarPanel(s,c,a,(A+w)/2,s.type===z.Cuboid?.5:s.lz,ui.portrait,d,f,u,Vt,Po,r,void 0,b*s.ly,l)}static makeLeftRightSegment(e,n,o,i,r,a,l,s,c,u,d,f,p){const g=Math.abs(e.x-n.x)0)return rl.makeSolarPanel(s,c,(A+w)/2,a,s.type===z.Cuboid?.5:s.lz,ui.portrait,d,f,u,0,Po,r,void 0,b*s.lx,l)}}class y0o{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=!xe.isZero(n.rotation[2]),g=[];for(const P of e.vertices)g.push({x:P.x*n.lx+n.cx,y:P.y*n.ly+n.cy});const A=p?xe.rotatePolygon(g,n.cx,n.cy,n.rotation[2]):g,w=xe.calculatePolygonBounds(A),b=(i===ui.portrait?o.length:o.width)*a,C=.5*Math.abs(Math.cos(r))*b;if(s===Rl.eastWest){const P=w.maxY()-w.minY(),v=Math.floor((P-2*d-b)/l),T=w.minY()+b/2+d,y={x:w.minX(),y:0},S={x:w.maxX(),y:0};for(let x=0;x<=v;x++){const R=T+x*l;y.y=S.y=R-C;const H=xe.polygonIntersections(y,S,A).sort((W,N)=>W.x-N.x);y.y=S.y=R+C;const D=xe.polygonIntersections(y,S,A).sort((W,N)=>W.x-N.x),k=Math.max(H.length,D.length)/2;if(k>0)for(let W=0;W0){const ie=xe.relativeCoordinates((_+Y)/2,R,0,n),ee=rl.makeSolarPanel(n,o,ie.x,ie.y,n.type===z.Cuboid?.5:n.lz,ui.portrait,c,u,r,-n.rotation[2],Po,n.rotation,void 0,Z,b);ee.referenceId=e.id,xe.changeOrientation(ee,o,i),f.push(ee)}}}}else if(s===Rl.northSouth){const P=w.maxX()-w.minX(),v=Math.floor((P-2*d-b)/l),T=w.minX()+b/2+d,y={x:0,y:w.minY()},S={x:0,y:w.maxY()};for(let x=0;x<=v;x++){const R=T+x*l;y.x=S.x=R-C;const H=xe.polygonIntersections(y,S,A).sort((W,N)=>W.y-N.y);y.x=S.x=R+C;const D=xe.polygonIntersections(y,S,A).sort((W,N)=>W.y-N.y),k=Math.max(H.length,D.length)/2;if(k>0)for(let W=0;W0){const ie=xe.relativeCoordinates(R,(O+J)/2,0,n),ee=rl.makeSolarPanel(n,o,ie.x,ie.y,n.type===z.Cuboid?.5:n.lz,ui.portrait,c,u,r,-n.rotation[2]+Vt,Po,n.rotation,void 0,Z,b);ee.referenceId=e.id,xe.changeOrientation(ee,o,i),f.push(ee)}}}}return f}}const{Option:K8}=Yo,A0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M.getState().solarPanelArrayLayoutParams,i=M(xb),r=M(rr),a=M(C7),l=M(J2),s=M(gwt),c=M(_wt),u=M(cge),d=M(Owt),f=M(En),p=M(ao),g=M(io),A=M(ca),[w,b]=m.useState(!1),[C,P]=m.useState(!1),[v,T]=m.useState(!1),[y,S]=m.useState({left:0,top:0,bottom:0,right:0}),x=m.useRef(null),R=m.useRef(!0),H=m.useRef(null),D=m.useRef(null),k=m.useRef(!1),W=m.useRef(M(Z6t)),N=m.useRef(M(eAt)),L=m.useRef(M(lAt)),E=m.useRef(M(aAt)),U=m.useRef(M(tAt)),F=m.useRef(M(nAt)),B=m.useRef(M(oAt)??0),_=m.useRef(M(iAt)),Y=m.useRef(M(rAt)),O=Kt(),J=l(W.current),Z=i();m.useEffect(()=>{var de;(de=H.current)==null||de.focus()},[]),m.useEffect(()=>{var de;C&&((de=D.current)==null||de.focus())},[C]);const ie=(de,Se)=>{if(x.current){const{clientWidth:Ce,clientHeight:ve}=window.document.documentElement,Ie=x.current.getBoundingClientRect();S({left:-Ie.left+Se.x,right:Ce-(Ie.right-Se.x),top:-Ie.top+Se.y,bottom:ve-((Ie==null?void 0:Ie.bottom)-Se.y)})}},ee=()=>{const de=(L.current===ui.portrait?J.length:J.width)*U.current;return .5*(de*Math.abs(Math.sin(E.current)))>_.current?(Do(j.t("message.SolarPanelsCannotIntersectWithGround",O)),!1):de>F.current?(Do(j.t("message.SolarPanelsCannotOverlapWithOneAnother",O)),!1):!0},q=de=>{const Se=n.filter(Ce=>Ce.type===z.SolarPanel&&Ce.parentId===de.parentId);if(Se.length>0)for(const Ce of Se)Ce.referenceId!==de.id&&xe.isPointInside(Ce.cx,Ce.cy,de.vertices)&&s(Ce.id,de.id)},ae=()=>{if((Z==null?void 0:Z.type)===z.Polygon){const de=r(Z);if(de){const Se=[],ve=N.current===Rl.eastWest||N.current===Rl.northSouth?y0o.create(Z,de,J,L.current,E.current,U.current,F.current,N.current,_.current,Y.current,B.current):FR.create(Z,de,J,L.current,E.current,U.current,F.current,N.current,_.current,Y.current,B.current);if(ve.length>0){for(const ze of ve)Se.push(JSON.parse(JSON.stringify(ze))),e(ye=>{ye.elements.push(ze)});const Ie={name:"Solar Panel Array Layout",timestamp:Date.now(),oldElements:M.getState().deletedElements,newElements:Se,oldParams:{pvModelName:o.pvModelName,rowAxis:o.rowAxis,orientation:o.orientation,tiltAngle:o.tiltAngle,rowsPerRack:o.rowsPerRack,interRowSpacing:o.interRowSpacing,poleHeight:o.poleHeight,poleSpacing:o.poleSpacing,margin:o.margin},newParams:{pvModelName:W.current,rowAxis:N.current,orientation:L.current,tiltAngle:E.current,rowsPerRack:U.current,interRowSpacing:F.current,poleHeight:_.current,poleSpacing:Y.current,margin:B.current},referenceId:Z.id,undo:()=>{u(Ie.referenceId,!1),Ie.oldElements.length>0&&e(ze=>{for(const ye of Ie.oldElements)ze.elements.push(ye)}),ne(Ie.oldParams),se()},redo:()=>{u(Ie.referenceId,!1),Ie.newElements.length>0&&e(ze=>{for(const ye of Ie.newElements)ze.elements.push(ye)}),ne(Ie.newParams),se()}};f(Ie),g(p+1)}}R.current=!1,se()}},ne=de=>{W.current=de.pvModelName,N.current=de.rowAxis,L.current=de.orientation,E.current=de.tiltAngle,U.current=de.rowsPerRack,F.current=de.interRowSpacing,_.current=de.poleHeight,Y.current=de.poleSpacing,B.current=de.margin??0},se=()=>{e(de=>{de.solarPanelArrayLayoutParams.pvModelName=W.current,de.solarPanelArrayLayoutParams.rowAxis=N.current,de.solarPanelArrayLayoutParams.orientation=L.current,de.solarPanelArrayLayoutParams.tiltAngle=E.current,de.solarPanelArrayLayoutParams.rowsPerRack=U.current,de.solarPanelArrayLayoutParams.interRowSpacing=F.current,de.solarPanelArrayLayoutParams.poleHeight=_.current,de.solarPanelArrayLayoutParams.poleSpacing=Y.current,de.solarPanelArrayLayoutParams.margin=B.current})},le=()=>{R.current&&(ee()?Z&&(q(Z),c(Z.id)>0?P(!0):(d(),ae())):Do(j.t("polygonMenu.LayoutNotAcceptedCheckYourParameters",O)))},te=()=>{le(),k.current=!1},he=()=>{t(!1),A(),R.current=!0,k.current=!1},pe=()=>{R.current?(le(),k.current=!0):t(!1)},fe=()=>{P(!1)},$=()=>{Z&&(u(Z.id,!0),ae(),k.current&&(t(!1),g(0))),P(!1)};return h.jsxs(h.Fragment,{children:[C&&h.jsx(_r,{width:400,open:C,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>T(!0),onMouseOut:()=>T(!1),children:j.t("word.Reminder",O)}),footer:[h.jsx(oo,{onClick:fe,children:j.t("word.Cancel",O)},"Cancel"),h.jsx(oo,{type:"primary",ref:D,onClick:$,children:j.t("word.OK",O)},"OK")],children:j.t("message.ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout",O)+" "+j.t("message.DoYouWantToContinue",O)}),h.jsxs(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>T(!0),onMouseOut:()=>T(!1),children:j.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",O)}),footer:[h.jsx(oo,{disabled:!R.current,onClick:te,children:j.t("word.Apply",O)},"Apply"),h.jsx(oo,{onClick:he,children:j.t("word.Cancel",O)},"Cancel"),h.jsx(oo,{type:"primary",ref:H,onClick:pe,children:j.t("word.OK",O)},"OK")],onCancel:()=>{t(!1),R.current=!0},maskClosable:!1,destroyOnClose:!1,modalRender:de=>h.jsx(Vr,{disabled:!v,bounds:y,onStart:(Se,Ce)=>ie(Se,Ce),children:h.jsx("div",{ref:x,children:de})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayModel",O)+" ("+Object.keys(a).length+" "+j.t("word.Options",O)+"):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:W.current,onChange:de=>{de!==null&&(W.current=de,R.current=!0,b(!w))},children:Object.keys(a).map(de=>h.jsx(K8,{value:de,children:de+(a[de].bifacialityFactor>0?" ("+j.t("pvModelPanel.Bifacial",O)+")":"")},de))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayRowAxis",O)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:N.current,onChange:de=>{de!==null&&(N.current=de,R.current=!0,b(!w))},children:[h.jsx(K8,{value:Rl.leftRight,children:j.t("polygonMenu.SolarPanelArrayLeftRightRowAxis",O)},Rl.leftRight),h.jsx(K8,{value:Rl.upDown,children:j.t("polygonMenu.SolarPanelArrayUpDownRowAxis",O)},Rl.upDown),h.jsx(K8,{value:Rl.eastWest,children:j.t("polygonMenu.SolarPanelArrayEastWestRowAxis",O)},Rl.eastWest),h.jsx(K8,{value:Rl.northSouth,children:j.t("polygonMenu.SolarPanelArrayNorthSouthRowAxis",O)},Rl.northSouth)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayOrientation",O)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:L.current,onChange:de=>{de!==null&&(L.current=de,R.current=!0,b(!w))},children:[h.jsx(K8,{value:ui.portrait,children:j.t("solarPanelMenu.Portrait",O)},ui.portrait),h.jsx(K8,{value:ui.landscape,children:j.t("solarPanelMenu.Landscape",O)},ui.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayTiltAngle",O)+" ([-90°, 90°]): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:-90,max:90,style:{width:"100%"},precision:2,value:parseFloat(xe.toDegrees(E.current).toFixed(2)),step:1,formatter:de=>`${de}°`,onChange:de=>{de!==null&&(E.current=xe.toRadians(de),R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayRowWidth",O)+" ([1-100] "+j.t("solarPanelMenu.Panels",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:100,step:1,style:{width:"100%"},precision:0,formatter:de=>Number(de).toFixed(0),value:U.current,onChange:de=>{de!==null&&(U.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayInterRowSpacing",O)+" ([1, 20] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:20,style:{width:"100%"},precision:2,value:F.current,step:.5,onChange:de=>{de!==null&&(F.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayMargin",O)+" ([0, 5] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:5,style:{width:"100%"},precision:1,value:B.current,step:.1,onChange:de=>{de!==null&&(B.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayPoleHeight",O)+" ([0, 10] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:10,style:{width:"100%"},precision:2,value:_.current,step:.1,onChange:de=>{de!==null&&(_.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayPoleSpacing",O)+" ([2, 50] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:2,max:50,style:{width:"100%"},precision:2,value:Y.current,step:.5,onChange:de=>{de!==null&&(Y.current=de,R.current=!0,b(!w))}})})]})]})]})},{Option:Nh}=Yo,{TabPane:pae}=FW,w0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).geneticAlgorithmParams,u=M(kq),d=M(J8t),f=M(zq),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),v=m.useRef(c.objectiveFunctionType),T=m.useRef(c.selectionMethod),y=m.useRef(c.searchMethod),S=m.useRef(c.populationSize),x=m.useRef(c.maximumGenerations),R=m.useRef(c.mutationRate),H=m.useRef(c.selectionRate??.5),D=m.useRef(c.crossoverRate??.5),k=m.useRef(c.convergenceThreshold),W=m.useRef(c.localSearchRadius),N=m.useRef(u.minimumTiltAngle??-Vt),L=m.useRef(u.maximumTiltAngle??Vt),E=m.useRef(u.minimumRowsPerRack),U=m.useRef(u.maximumRowsPerRack),F=m.useRef(u.minimumInterRowSpacing),B=m.useRef(u.maximumInterRowSpacing),_=m.useRef(null);m.useEffect(()=>{var $;($=_.current)==null||$.focus()},[]);const Y={lng:o},O=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Z=J?s(z.SolarPanel,J.id):void 0,ie=m.useRef(Z&&Z.length>0?Z[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),ee=m.useRef(Z&&Z.length>0?Z[0].orientation:u.orientation??ui.landscape),q=m.useRef(Z&&Z.length>0?Z[0].poleHeight:u.poleHeight??1),ae=m.useRef(Z&&Z.length>0?Z[0].poleSpacing:u.poleSpacing??3),ne=m.useRef(u.margin??0),se=m.useRef(f.electricitySellingPrice),le=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{se.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{le.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const te=($,de)=>{if(P.current){const{clientWidth:Se,clientHeight:Ce}=window.document.documentElement,ve=P.current.getBoundingClientRect();C({left:-ve.left+de.x,right:Se-(ve.right-de.x),top:-ve.top+de.y,bottom:Ce-((ve==null?void 0:ve.bottom)-de.y)})}},he=()=>{e($=>{$.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_ARRAY,$.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=v.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=T.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=y.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=S.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=x.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=H.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=D.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=R.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=k.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=W.current,$.solarPanelArrayLayoutConstraints||($.solarPanelArrayLayoutConstraints=new XG),$.solarPanelArrayLayoutConstraints.minimumRowsPerRack=E.current,$.solarPanelArrayLayoutConstraints.maximumRowsPerRack=U.current,$.solarPanelArrayLayoutConstraints.minimumTiltAngle=N.current,$.solarPanelArrayLayoutConstraints.maximumTiltAngle=L.current,$.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=F.current,$.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=B.current,$.solarPanelArrayLayoutConstraints.poleHeight=q.current,$.solarPanelArrayLayoutConstraints.poleSpacing=ae.current,$.solarPanelArrayLayoutConstraints.pvModelName=ie.current,$.solarPanelArrayLayoutConstraints.rowAxis=O.current,$.solarPanelArrayLayoutConstraints.orientation=ee.current,$.solarPanelArrayLayoutConstraints.margin=ne.current,$.economicsParams.operationalCostPerUnit=le.current,$.economicsParams.electricitySellingPrice=se.current})},pe=()=>{i||hn(fe("message.EvolutionStarted",Y)),he(),setTimeout(()=>{ht.getState().set($=>{$.runEvolution=!$.runEvolution}),e($=>{$.evolutionMethod=Bs.GENETIC_ALGORITHM,n&&($.actionInfo={name:"Run Genetic Algorithm for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:fe}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:fe("optimizationMenu.SolarPanelArrayLayout",Y)+": "+fe("optimizationMenu.GeneticAlgorithmSettings",Y)}),footer:[h.jsx(oo,{onClick:()=>{t(!1)},children:fe("word.Cancel",Y)},"Cancel"),h.jsx(oo,{type:"primary",ref:_,onClick:()=>{pe(),t(!1)},children:fe("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:$=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(de,Se)=>te(de,Se),children:h.jsx("div",{ref:P,children:$})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:$=>{e(de=>{de.geneticAlgorithmWizardSelectedTab=$})},children:[h.jsxs(pae,{tab:fe("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.Objective",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:$=>{v.current=$,g(!p)},children:[h.jsx(Nh,{value:xo.DAILY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.DAILY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.DAILY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(Nh,{value:xo.YEARLY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.GeneticAlgorithmSelectionMethod",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:T.current,style:{width:"100%"},value:T.current,onChange:$=>{T.current=$,g(!p)},children:[h.jsx(Nh,{value:zm.ROULETTE_WHEEL,children:fe("optimizationMenu.RouletteWheel",Y)},zm.ROULETTE_WHEEL),h.jsx(Nh,{value:zm.TOURNAMENT,children:fe("optimizationMenu.Tournament",Y)},zm.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.PopulationSize",Y)+" [10, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:S.current,step:1,formatter:$=>Number($).toFixed(0),onChange:$=>{$!==null&&(S.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MaximumGenerations",Y)+" [5, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:x.current,formatter:$=>Number($).toFixed(0),onChange:$=>{$!==null&&(x.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SelectionRate",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:$=>{$!==null&&(H.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.CrossoverRate",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:$=>{$!==null&&(D.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MutationRate",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:$=>{$!==null&&(R.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:k.current,step:.001,onChange:$=>{$!==null&&(k.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:y.current,style:{width:"100%"},value:y.current,onChange:$=>{y.current=Number($),g(!p)},children:[h.jsx(Nh,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:fe("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(Nh,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:fe("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),y.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:W.current,step:.01,onChange:$=>{$!==null&&(W.current=Number($),g(!p))}})})]})]},"1"),h.jsxs(pae,{tab:fe("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{N.current=xe.toRadians($[0]),L.current=xe.toRadians($[1]),g(!p)},min:-90,max:90,defaultValue:[xe.toDegrees(N.current),xe.toDegrees(L.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{E.current=$[0],U.current=$[1],g(!p)},min:1,max:9,defaultValue:[E.current,U.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{F.current=$[0],B.current=$[1],g(!p)},min:1,max:10,defaultValue:[F.current,B.current],marks:{1:{style:{fontSize:"10px"},label:"1m"},3:{style:{fontSize:"10px"},label:"3m"},5:{style:{fontSize:"10px"},label:"5m"},7:{style:{fontSize:"10px"},label:"7m"},9:{style:{fontSize:"10px"},label:"9m"}}})})]})]},"2"),h.jsxs(pae,{tab:fe("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+fe("word.Options",Y)+"):"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ie.current,onChange:$=>{ie.current=$,g(!p)},children:Object.keys(r).map($=>h.jsx(Nh,{value:$,children:$+(r[$].bifacialityFactor>0?" ("+fe("pvModelPanel.Bifacial",Y)+")":"")},$))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:O.current,onChange:$=>{O.current=$,g(!p)},children:[h.jsx(Nh,{value:Rl.leftRight,children:fe("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(Nh,{value:Rl.upDown,children:fe("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:ee.current,onChange:$=>{ee.current=$,g(!p)},children:[h.jsx(Nh,{value:ui.portrait,children:fe("solarPanelMenu.Portrait",Y)},ui.portrait),h.jsx(Nh,{value:ui.landscape,children:fe("solarPanelMenu.Landscape",Y)},ui.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ne.current=$,g(!p)},min:0,max:5,step:.1,defaultValue:ne.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{q.current=$,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ae.current=$,g(!p)},min:2,max:10,step:.1,defaultValue:ae.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{le.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:le.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{se.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:se.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},{Option:B1}=Yo,{TabPane:gae}=FW,v0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).particleSwarmOptimizationParams,u=M(kq),d=M(K8t),f=M(zq),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),v=m.useRef(c.objectiveFunctionType),T=m.useRef(c.searchMethod),y=m.useRef(c.swarmSize),S=m.useRef(c.maximumSteps),x=m.useRef(c.vmax??.01),R=m.useRef(c.inertia??.8),H=m.useRef(c.cognitiveCoefficient??.1),D=m.useRef(c.socialCoefficient??.1),k=m.useRef(c.convergenceThreshold),W=m.useRef(c.localSearchRadius),N=m.useRef(u.minimumTiltAngle??-Vt),L=m.useRef(u.maximumTiltAngle??Vt),E=m.useRef(u.minimumRowsPerRack),U=m.useRef(u.maximumRowsPerRack),F=m.useRef(u.minimumInterRowSpacing),B=m.useRef(u.maximumInterRowSpacing),_=m.useRef(null);m.useEffect(()=>{var $;($=_.current)==null||$.focus()},[]);const Y={lng:o},O=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Z=J?s(z.SolarPanel,J.id):void 0,ie=m.useRef(Z&&Z.length>0?Z[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),ee=m.useRef(Z&&Z.length>0?Z[0].orientation:u.orientation??ui.landscape),q=m.useRef(Z&&Z.length>0?Z[0].poleHeight:u.poleHeight??1),ae=m.useRef(Z&&Z.length>0?Z[0].poleSpacing:u.poleSpacing??3),ne=m.useRef(u.margin??0),se=m.useRef(f.electricitySellingPrice),le=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{se.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{le.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const te=($,de)=>{if(P.current){const{clientWidth:Se,clientHeight:Ce}=window.document.documentElement,ve=P.current.getBoundingClientRect();C({left:-ve.left+de.x,right:Se-(ve.right-de.x),top:-ve.top+de.y,bottom:Ce-((ve==null?void 0:ve.bottom)-de.y)})}},he=()=>{e($=>{$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_ARRAY,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=v.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=T.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=y.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=S.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=H.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=D.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=x.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=R.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=k.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=W.current,$.solarPanelArrayLayoutConstraints||($.solarPanelArrayLayoutConstraints=new XG),$.solarPanelArrayLayoutConstraints.minimumRowsPerRack=E.current,$.solarPanelArrayLayoutConstraints.maximumRowsPerRack=U.current,$.solarPanelArrayLayoutConstraints.minimumTiltAngle=N.current,$.solarPanelArrayLayoutConstraints.maximumTiltAngle=L.current,$.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=F.current,$.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=B.current,$.solarPanelArrayLayoutConstraints.poleHeight=q.current,$.solarPanelArrayLayoutConstraints.poleSpacing=ae.current,$.solarPanelArrayLayoutConstraints.pvModelName=ie.current,$.solarPanelArrayLayoutConstraints.rowAxis=O.current,$.solarPanelArrayLayoutConstraints.orientation=ee.current,$.solarPanelArrayLayoutConstraints.margin=ne.current,$.economicsParams.operationalCostPerUnit=le.current,$.economicsParams.electricitySellingPrice=se.current})},pe=()=>{i||hn(fe("message.EvolutionStarted",Y)),he(),setTimeout(()=>{ht.getState().set($=>{$.runEvolution=!$.runEvolution}),e($=>{$.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,n&&($.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:fe}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:fe("optimizationMenu.SolarPanelArrayLayout",Y)+": "+fe("optimizationMenu.ParticleSwarmOptimizationSettings",Y)}),footer:[h.jsx(oo,{onClick:()=>{t(!1)},children:fe("word.Cancel",Y)},"Cancel"),h.jsx(oo,{type:"primary",ref:_,onClick:()=>{pe(),t(!1)},children:fe("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:$=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(de,Se)=>te(de,Se),children:h.jsx("div",{ref:P,children:$})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:$=>{e(de=>{de.particleSwarmOptimizationWizardSelectedTab=$})},children:[h.jsxs(gae,{tab:fe("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.Objective",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:$=>{v.current=$,g(!p)},children:[h.jsx(B1,{value:xo.DAILY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(B1,{value:xo.YEARLY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(B1,{value:xo.DAILY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(B1,{value:xo.YEARLY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(B1,{value:xo.DAILY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(B1,{value:xo.YEARLY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SwarmSize",Y)+" [10, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:y.current,step:1,formatter:$=>Number($).toFixed(0),onChange:$=>{y.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MaximumSteps",Y)+" [5, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:S.current,formatter:$=>Number($).toFixed(0),onChange:$=>{S.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.CognitiveCoefficient",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:$=>{H.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SocialCoefficient",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:$=>{D.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.InertiaWeight",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:$=>{R.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MaximumVelocity",Y)+" [0.001, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:x.current,step:.001,onChange:$=>{x.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:k.current,step:.001,onChange:$=>{k.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:T.current,style:{width:"100%"},value:T.current,onChange:$=>{T.current=Number($),g(!p)},children:[h.jsx(B1,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:fe("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(B1,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:fe("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),T.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:W.current,step:.01,onChange:$=>{W.current=Number($),g(!p)}})})]})]},"1"),h.jsxs(gae,{tab:fe("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{N.current=xe.toRadians($[0]),L.current=xe.toRadians($[1]),g(!p)},min:-90,max:90,defaultValue:[xe.toDegrees(N.current),xe.toDegrees(L.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{E.current=$[0],U.current=$[1],g(!p)},min:1,max:9,defaultValue:[E.current,U.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{F.current=$[0],B.current=$[1],g(!p)},min:2,max:10,defaultValue:[F.current,B.current],marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]})]},"2"),h.jsxs(gae,{tab:fe("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+fe("word.Options",Y)+"):"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ie.current,onChange:$=>{ie.current=$,g(!p)},children:Object.keys(r).map($=>h.jsx(B1,{value:$,children:$+(r[$].bifacialityFactor>0?" ("+fe("pvModelPanel.Bifacial",Y)+")":"")},$))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:O.current,onChange:$=>{O.current=$,g(!p)},children:[h.jsx(B1,{value:Rl.leftRight,children:fe("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(B1,{value:Rl.upDown,children:fe("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:ee.current,onChange:$=>{ee.current=$,g(!p)},children:[h.jsx(B1,{value:ui.portrait,children:fe("solarPanelMenu.Portrait",Y)},ui.portrait),h.jsx(B1,{value:ui.landscape,children:fe("solarPanelMenu.Landscape",Y)},ui.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ne.current=$,g(!p)},min:0,max:5,step:.1,defaultValue:ne.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{q.current=$,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ae.current=$,g(!p)},min:2,max:10,step:.1,defaultValue:ae.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{le.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:le.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{se.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:se.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},x0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o=M.getState().getParent(n),i={lng:M.getState().language},r=!n.locked;return e.push({key:"polygon-paste",label:h.jsx(OH,{})}),e.push({key:"polygon-copy",label:h.jsx(Sf,{})}),r&&e.push({key:"polygon-cut",label:h.jsx(Tf,{})}),o&&(o.type===z.Foundation||o.type===z.Cuboid)&&e.push({key:"polygon-layout-submenu",label:h.jsx(tn,{children:j.t("polygonMenu.Layout",i)}),children:[{key:"solar-panel-layout-wizard",label:h.jsxs(ro,{noPadding:!0,Dialog:A0o,children:[j.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",i)," ..."]})},{key:"solar-panel-layout-ai",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.SolarPanelArrayLayoutGenerativeDesign",i)}),children:[{key:"solar-panel-layout-ga",label:h.jsxs(ro,{noPadding:!0,Dialog:w0o,children:[j.t("optimizationMenu.GeneticAlgorithm",i)," ..."]})},{key:"solar-panel-layout-pso",label:h.jsxs(ro,{noPadding:!0,Dialog:v0o,children:[j.t("optimizationMenu.ParticleSwarmOptimization",i)," ..."]})}]}]}),e.push({key:"polygon-lock",label:h.jsx(Id,{selectedElement:n})}),r&&(e.push({key:"polygon-filled",label:h.jsx(Qco,{polygon:n})}),n.filled&&e.push({key:"polygon-shiny",label:h.jsx(Zco,{polygon:n})}),e.push({key:"polygon-no-outline",label:h.jsx(e0o,{polygon:n})})),r&&(e.push({key:"polygon-line-color",label:h.jsxs(ro,{Dialog:s0o,children:[j.t("polygonMenu.LineColor",i)," ..."]})},{key:"polygon-line-style",label:h.jsxs(ro,{Dialog:c0o,children:[j.t("polygonMenu.LineStyle",i)," ..."]})},{key:"polygon-line-width",label:h.jsxs(ro,{Dialog:u0o,children:[j.t("polygonMenu.LineWidth",i)," ..."]})}),n.filled&&((!n.textureType||n.textureType===qi.NoTexture)&&e.push({key:"polygon-fill-color",label:h.jsxs(ro,{Dialog:d0o,children:[j.t("polygonMenu.FillColor",i)," ..."]})}),e.push({key:"polygon-texture",label:h.jsxs(ro,{Dialog:g0o,children:[j.t("polygonMenu.FillTexture",i)," ..."]})},{key:"polygon-opacity",label:h.jsxs(ro,{Dialog:m0o,children:[j.t("polygonMenu.Opacity",i)," ..."]})})),e.push({key:"polygon-text-box",label:h.jsx(tn,{children:j.t("polygonMenu.TextBox",i)}),children:[{key:"polygon-text",label:h.jsx(t0o,{polygon:n})},{key:"polygon-font-size",label:h.jsx(n0o,{polygon:n})},{key:"polygon-font-color",label:h.jsx(o0o,{polygon:n})},{key:"polygon-font-outline-color",label:h.jsx(i0o,{polygon:n})},{key:"polygon-font-outline-width",label:h.jsx(r0o,{polygon:n})},{key:"polygon-font-stroke-color",label:h.jsx(a0o,{polygon:n})},{key:"polygon-font-stroke-width",label:h.jsx(l0o,{polygon:n})}]})),{items:e}},b0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){o.vertices.splice(e,1);break}})},S0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>0&&e{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>=0&&e{if(t.selectedIndex>=0){const n=t.vertices.map(r=>({...r}));switch(e){case ix.Delete:b0o(t.id,t.selectedIndex);break;case ix.InsertBeforeIndex:S0o(t.id,t.selectedIndex);break;case ix.InsertAfterIndex:T0o(t.id,t.selectedIndex);break}const o=M.getState().getElementById(t.id).vertices.map(r=>({...r})),i={name:e,timestamp:Date.now(),changedElementId:t.id,changedElementType:t.type,oldValue:n,newValue:o,undo:()=>{i.oldValue&&Array.isArray(i.oldValue)&&M.getState().updatePolygonVerticesById(i.changedElementId,n)},redo:()=>{M.getState().updatePolygonVerticesById(i.changedElementId,o)}};M.getState().addUndoable(i)}},P0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o={lng:M.getState().language};return e.push({key:"polygon-vertex-insert-before-index",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.InsertVertexBeforeIndex",o)})},{key:"polygon-vertex-insert-after-index",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.InsertVertexAfterIndex",o)})}),n.vertices.length>3&&e.push({key:"polygon-vertex-delete",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.DeleteVertex",o)})}),{items:e,onClick:({key:r})=>{switch(r){case"polygon-vertex-insert-before-index":mae(n,ix.InsertBeforeIndex);break;case"polygon-vertex-insert-after-index":mae(n,ix.InsertAfterIndex);break;case"polygon-vertex-delete":mae(n,ix.Delete);break}}}},C0o=({sensor:t})=>{const e=Kt(),n=Ytt(t);return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.showLabel,onChange:n,children:j.t("labelSubMenu.KeepShowingLabel",e)})})},R0o=({sensor:t})=>{const e=Kt(),{labelText:n,setLabelText:o}=jtt(t),i=Ott(t,n);return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"80px"},children:j.t("labelSubMenu.LabelText",e)+":"}),h.jsx(ns,{style:{width:"150px"},value:n,onChange:r=>o(r.target.value),onPressEnter:i,onBlur:i})]})},H0o=t=>{const e=[];if(t.type!==z.Sensor)return{items:e};const n=t,o=!n.locked;return e.push({key:"sensor-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"sensor-cut",label:h.jsx(Tf,{})}),e.push({key:"sensor-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"sensor-show-label",label:h.jsx(C0o,{sensor:n})}),e.push({key:"sensor-label-text",label:h.jsx(R0o,{sensor:n})})),{items:e}},M0o=({light:t})=>{const e=Kt(),n=M.getState().updateInsideLightById,o=i=>{const r=i.target.checked,a={name:"Inside Light",timestamp:Date.now(),checked:r,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.inside,onChange:o,children:j.t("lightMenu.Inside",e)})})},I0o=({light:t})=>{const e=Kt(),n=t.intensity??3,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.intensity=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Intensity",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightIntensity=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[j.t("lightMenu.Intensity",e),":"]}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:1,value:n,onChange:i})]})},z0o=({light:t})=>{const e=Kt(),n=t.distance??5,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.distance=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Distance",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightDistance=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[j.t("lightMenu.MaximumDistance",e),":"]}),h.jsx(Hn,{min:1,max:10,step:1,precision:1,value:n,onChange:i})]})},D0o=({light:t})=>{const e=t.color??"#ffff99",n=(o,i)=>{M.getState().set(r=>{for(const a of r.elements)if(a.type===z.Light&&a.id===o){a.color=i;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:e,onChangeComplete:o=>{const i=t.color,r=o.hex,a={name:"Set Light Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{n(t.id,a.oldValue)},redo:()=>{n(t.id,a.newValue)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.lightColor=r})}})})},E0o=t=>{const e=[];if(t.type!==z.Light)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=n.parentId?M.getState().getParent(n):void 0;return e.push({key:"light-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"light-cut",label:h.jsx(Tf,{})}),e.push({key:"light-lock",label:h.jsx(Id,{selectedElement:n})}),o&&r&&(r.type===z.Roof||r.type===z.Wall)&&e.push({key:"light-inside",label:h.jsx(M0o,{light:n})}),o&&e.push({key:"light-intensity",label:h.jsx(I0o,{light:n})},{key:"light-distance",label:h.jsx(z0o,{light:n})},{key:"light-color",label:h.jsx(tn,{children:j.t("word.Color",i)}),children:[{key:"light-color-picker",label:h.jsx(D0o,{light:n}),style:{backgroundColor:"white"}}]}),{items:e}},k0o=()=>{const t=M(Y1e),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.axes=i})},o=i=>{const r=i.target.checked,a={name:"Show Axes",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.Axes",e)})})},F0o=()=>{const t=M(mBe),e=Kt(),n=r=>{M.getState().set(a=>{a.viewState.theme=r})},o=r=>{const a=t,l=r.target.value,s={name:"Select Theme",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(s.oldValue)},redo:()=>{n(s.newValue)}};M.getState().addUndoable(s),n(l)},i=[{value:Ns.Default,label:"skyMenu.ThemeDefault"},{value:Ns.Desert,label:"skyMenu.ThemeDesert"},{value:Ns.Dune,label:"skyMenu.ThemeDune"},{value:Ns.Forest,label:"skyMenu.ThemeForest"},{value:Ns.Grassland,label:"skyMenu.ThemeGrassland"},{value:Ns.Hill,label:"skyMenu.ThemeHill"},{value:Ns.Lake,label:"skyMenu.ThemeLake"},{value:Ns.Mountain,label:"skyMenu.ThemeMountain"},{value:Ns.Rural,label:"skyMenu.ThemeRural"}];return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t,onChange:o,children:h.jsx(en,{direction:"vertical",children:i.map((r,a)=>h.jsx(Be,{style:{width:"100%"},value:r.value,children:j.t(r.label,e)},`${a}-${r.value}`))})})})},L0o=()=>{const t=M(yBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showAzimuthAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Azimuth Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.ShowAzimuthAngle",e)})})},W0o=()=>{const t=M(ABe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showElevationAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Elevation Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.ShowElevationAngle",e)})})},N0o=()=>{const t=M(wBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showZenithAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Zenith Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.ShowZenithAngle",e)})})},U0o=()=>{const t=M(gBe)??3.5,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.directLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Direct Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.DirectLightBrightnessAtNoon",e)+" [0.1-10]:"}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:2,value:t,onChange:o})]})},B0o=()=>{const t=M(pBe)??.2,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.ambientLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ambient Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.AmbientLightBrightnessAtNoon",e)+" [0.01-1]:"}),h.jsx(Hn,{min:.01,max:1,step:.01,precision:2,value:t,onChange:o})]})},j0o=()=>{const t=M(n4t)??.01,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airAttenuationCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Sunlight Attenuation Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.SunlightAttenuationCoefficientInAir",e)+":"}),h.jsx(Hn,{min:0,max:.1,step:.001,precision:3,value:t,onChange:o})]})},Y0o=()=>{const t=M(o4t)??5,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airConvectiveCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Convective Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.ConvectiveCoefficientOfAir",e)+" [W/(m²×K)]:"}),h.jsx(Hn,{min:2.5,max:20,step:.1,precision:2,value:t,onChange:o})]})},O0o=()=>{const t=M(KL)??900,e=M.getState().world,n=Kt(),o=m.useMemo(()=>sl(new Date(e.date),e.latitude),[e.date,e.latitude]),i=a=>{M.getState().set(l=>{l.world.highestTemperatureTimeInMinutes=a})},r=a=>{if(a===null)return;const l=t,s=a,c={name:"Set Time of Highest Temperature in Minutes",timestamp:Date.now(),oldValue:l,newValue:s,undo:()=>{i(c.oldValue)},redo:()=>{i(c.newValue)}};M.getState().addUndoable(c),i(s)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.HighestTemperatureTimeInMinutes",n)+":"}),h.jsx(Hn,{min:720,max:o.sunset,step:5,precision:0,value:t,onChange:r})]})},_0o=()=>{const t={lng:M.getState().language},e=[];return e.push({key:"axes",label:h.jsx(k0o,{})}),e.push({key:"theme-submenu",label:h.jsx(tn,{children:j.t("skyMenu.Theme",t)}),children:[{key:"theme-radio-group",label:h.jsx(F0o,{}),style:{backgroundColor:"white"}}]}),e.push({key:"sun-angles-submenu",label:h.jsx(tn,{children:j.t("skyMenu.SelectSunAnglesToShow",t)}),children:[{key:"show-azimuth-angle",label:h.jsx(L0o,{})},{key:"ShowElevationAngle",label:h.jsx(W0o,{})},{key:"ShowZenithAngle",label:h.jsx(N0o,{})}]}),e.push({key:"direct-light-intensity",label:h.jsx(U0o,{})}),e.push({key:"ambient-light-intensity",label:h.jsx(B0o,{})}),e.push({key:"air-attenuation-coefficient",label:h.jsx(j0o,{})}),e.push({key:"air-convective-coefficient",label:h.jsx(Y0o,{})}),e.push({key:"highest-temperature-time-in-minutes",label:h.jsx(O0o,{})}),{items:e}},nK=class nK{constructor(){this.n=14,this.nominalStrings=new Array(this.n),this.nominalWidths=new Array(this.n),this.nominalHeights=new Array(this.n),this.cellNx=new Array(this.n),this.cellNy=new Array(this.n),this.nominalWidths[0]=.99,this.nominalHeights[0]=1.65,this.cellNx[0]=6,this.cellNy[0]=10,this.nominalWidths[1]=.99,this.nominalHeights[1]=1.96,this.cellNx[1]=6,this.cellNy[1]=12,this.nominalWidths[2]=1.05,this.nominalHeights[2]=1.56,this.cellNx[2]=8,this.cellNy[2]=12,this.nominalWidths[3]=1.31,this.nominalHeights[3]=1.96,this.cellNx[3]=8,this.cellNy[3]=12,this.nominalWidths[4]=1.07,this.nominalHeights[4]=2.07,this.cellNx[4]=8,this.cellNy[4]=16,this.nominalWidths[5]=.6,this.nominalHeights[5]=1.2,this.cellNx[5]=10,this.cellNy[5]=20,this.nominalWidths[6]=1.2,this.nominalHeights[6]=2,this.cellNx[6]=10,this.cellNy[6]=20,this.nominalWidths[7]=1,this.nominalHeights[7]=2.07,this.cellNx[7]=6,this.cellNy[7]=12,this.nominalWidths[8]=.8,this.nominalHeights[8]=1.56,this.cellNx[8]=6,this.cellNy[8]=12,this.nominalWidths[9]=.83,this.nominalHeights[9]=1.58,this.cellNx[9]=6,this.cellNy[9]=12,this.nominalWidths[10]=.99,this.nominalHeights[10]=1.31,this.cellNx[10]=6,this.cellNy[10]=8,this.nominalWidths[11]=.99,this.nominalHeights[11]=1.5,this.cellNx[11]=6,this.cellNy[11]=9,this.nominalWidths[12]=1.05,this.nominalHeights[12]=1.81,this.cellNx[12]=8,this.cellNy[12]=14,this.nominalWidths[13]=1.05,this.nominalHeights[13]=1.69,this.cellNx[13]=8,this.cellNy[13]=13;for(let e=0;e{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(C7),a=M(J2),l=M(En),s=M(r1),c=M(a1),u=M(ao),d=M(io),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.pvModelName)??"SPR-X21-335-BLK"),[A,w]=m.useState(),b=Kt(),C=a(p??"SPR-X21-335-BLK");m.useEffect(()=>{w(C.nominalWidth.toFixed(2)+"m×"+C.nominalLength.toFixed(2)+"m ("+C.n+"×"+C.m+" "+j.t("pvModelPanel.Cells",b)+")")},[C]);const P=(W,N)=>{e(L=>{for(const E of L.elements)if(E.type===z.SolarPanel&&E.id===W&&!E.locked){const U=E;U.pvModelName=N;const F=L.pvModules[N];if(U.orientation===ui.portrait){const B=Math.max(1,Math.round(U.lx/F.width)),_=Math.max(1,Math.round(U.ly/F.length));U.lx=B*F.width,U.ly=_*F.length}else{const B=Math.max(1,Math.round(U.lx/F.length)),_=Math.max(1,Math.round(U.ly/F.width));U.lx=B*F.length,U.ly=_*F.width}break}})},v=(W,N)=>{e(L=>{const E=L.pvModules[N];for(const U of L.elements)if(U.type===z.SolarPanel&&U.foundationId===W&&!U.locked){const F=U;if(F.pvModelName=N,F.orientation===ui.portrait){const B=Math.max(1,Math.round(F.lx/E.width)),_=Math.max(1,Math.round(F.ly/E.length));F.lx=B*E.width,F.ly=_*E.length}else{const B=Math.max(1,Math.round(F.lx/E.length)),_=Math.max(1,Math.round(F.ly/E.width));F.lx=B*E.length,F.ly=_*E.width}}})},T=(W,N,L)=>{e(E=>{const U=E.pvModules[L];for(const F of E.elements)if(F.type===z.SolarPanel&&!F.locked){let B;if(N?B=F.parentId===W&&xe.isIdentical(F.normal,N):B=F.parentId===W,B){const _=F;if(_.pvModelName=L,_.orientation===ui.portrait){const Y=Math.max(1,Math.round(_.lx/U.width)),O=Math.max(1,Math.round(_.ly/U.length));_.lx=Y*U.width,_.ly=O*U.length}else{const Y=Math.max(1,Math.round(_.lx/U.length)),O=Math.max(1,Math.round(_.ly/U.width));_.lx=Y*U.length,_.ly=O*U.width}}}})},y=W=>{e(N=>{const L=N.pvModules[W];for(const E of N.elements)if(E.type===z.SolarPanel&&!E.locked){const U=E;if(U.pvModelName=W,U.orientation===ui.portrait){const F=Math.max(1,Math.round(U.lx/L.width)),B=Math.max(1,Math.round(U.ly/L.length));U.lx=F*L.width,U.ly=B*L.length}else{const F=Math.max(1,Math.round(U.lx/L.length)),B=Math.max(1,Math.round(U.ly/L.width));U.lx=F*L.length,U.ly=B*L.width}}})},S=(W,N)=>{M.getState().set(L=>{const E=L.pvModules[N];for(const U of L.elements)if(U.type===z.SolarPanel&&!U.locked&&W.has(U.id)){const F=U;if(F.pvModelName=N,F.orientation===ui.portrait){const B=Math.max(1,Math.round(F.lx/E.width)),_=Math.max(1,Math.round(F.ly/E.length));F.lx=B*E.width,F.ly=_*E.length}else{const B=Math.max(1,Math.round(F.lx/E.length)),_=Math.max(1,Math.round(F.ly/E.width));F.lx=B*E.length,F.ly=_*E.width}}})},x=W=>{c(W.target.value)},R=W=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.SolarPanel&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&N.pvModelName!==W)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.SolarPanel&&!N.locked&&N.pvModelName!==W)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.SolarPanel&&N.foundationId===(f==null?void 0:f.foundationId)&&!N.locked&&N.pvModelName!==W)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const N=i(f);if(N){if(N.type===z.Cuboid){for(const E of n)if(E.type===z.SolarPanel&&E.parentId===f.parentId&&xe.isIdentical(E.normal,f.normal)&&!E.locked&&E.pvModelName!==W)return!0}else for(const E of n)if(E.type===z.SolarPanel&&E.parentId===f.parentId&&!E.locked&&E.pvModelName!==W)return!0}break}default:{if((f==null?void 0:f.pvModelName)!==W)return!0;break}}return!1}},H=W=>{if(f&&R(W)){switch(s){case ue.AllSelectedObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.pvModelName);const L={name:"Set Model for Selected Solar Panels",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())P(E,U)},redo:()=>{S(L.oldValues,L.newValue)}};l(L),S(N,W),d(u+1);break}case ue.AllObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.SolarPanel&&N.set(E.id,E.pvModelName);const L={name:"Set Model for All Solar Panels",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())P(E,U)},redo:()=>{y(L.newValue)}};l(L),y(W),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const N=new Map;for(const E of n)E.type===z.SolarPanel&&E.foundationId===f.foundationId&&N.set(E.id,E.pvModelName);const L={name:"Set Model for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:f.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())P(E,U)},redo:()=>{L.groupId&&v(L.groupId,L.newValue)}};l(L),v(f.foundationId,W),d(u+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const N=i(f);if(N){const L=new Map,E=N.type===z.Cuboid;if(E)for(const B of n)B.type===z.SolarPanel&&B.parentId===f.parentId&&xe.isIdentical(B.normal,f.normal)&&L.set(B.id,B.pvModelName);else for(const B of n)B.type===z.SolarPanel&&B.parentId===f.parentId&&L.set(B.id,B.pvModelName);const U=E?f.normal:void 0,F={name:"Set Model for All Solar Panels on Surface",timestamp:Date.now(),oldValues:L,newValue:W,groupId:f.parentId,normal:U,undo:()=>{for(const[B,_]of F.oldValues.entries())P(B,_)},redo:()=>{F.groupId&&T(F.groupId,F.normal,F.newValue)}};l(F),T(f.parentId,U,W),d(u+1)}break}default:{const N=o(f.id),L=N?N.pvModelName:f.pvModelName,E={name:"Set Model for Selected Solar Panel",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:f.id,changedElementType:f.type,undo:()=>{P(E.changedElementId,E.oldValue)},redo:()=>{P(E.changedElementId,E.newValue)}};l(E),P(f.id,W),d(u+1);break}}e(N=>{N.actionState.solarPanelModelName=W})}},D=()=>{t(!1)},k=()=>{H(p)};return h.jsxs(lo,{width:640,title:j.t("pvModelPanel.SolarPanelSpecs",b),onApply:k,onClose:D,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.Model",b)+" ("+Object.keys(r).length+" "+j.t("word.Options",b)+"):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:p,onChange:g,children:Object.keys(r).map(W=>h.jsx(q8,{value:W,children:W+(r[W].bifacialityFactor>0?" ("+j.t("pvModelPanel.Bifacial",b)+")":"")},W))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.PanelSize",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Yo,{disabled:!0,style:{width:"100%"},value:A,onChange:W=>{},children:Bde.instance.nominalStrings.map(W=>h.jsx(q8,{value:W,children:W},W))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.CellType",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.cellType,onChange:W=>{},children:[h.jsx(q8,{value:"Monocrystalline",children:j.t("pvModelPanel.Monocrystalline",b)},"Monocrystalline"),h.jsx(q8,{value:"Polycrystalline",children:j.t("pvModelPanel.Polycrystalline",b)},"Polycrystalline"),h.jsx(q8,{value:"Thin Film",children:j.t("pvModelPanel.ThinFilm",b)},"Thin Film")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.BifacialityFactor",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:C.bifacialityFactor,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("word.Color",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.color,onChange:W=>{},children:[h.jsx(q8,{value:"Black",children:j.t("pvModelPanel.Black",b)},"Black"),h.jsx(q8,{value:"Blue",children:j.t("pvModelPanel.Blue",b)},"Blue")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.SolarCellEfficiency",b)+" (%):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:100*C.efficiency,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.NominalOperatingCellTemperature",b)+" (°C):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:1,value:C.noct,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.TemperatureCoefficientOfPmax",b)+" (%/°C):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(ns,{disabled:!0,style:{width:"100%"},value:C.pmaxTC,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},children:[h.jsx(it,{className:"gutter-row",span:3,children:j.t("word.ApplyTo",b)+":"}),h.jsx(it,{className:"gutter-row",span:21,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})]})},{Option:$Re}=Yo,G0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(J2),r=M(rr),a=M(ige),l=M(En),s=M(r1),c=M(a1),u=M(ao),d=M(io),f=M(ca),p=co(z.SolarPanel),[g,A]=m.useState((p==null?void 0:p.orientation)??ui.portrait),w=m.useRef(!1),b=m.useRef(),C=Kt(),P=(B,_)=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&O.id===B&&!O.locked){const J=O,Z=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Z,_);break}})},v=(B,_)=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&O.foundationId===B&&!O.locked){const J=O,Z=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Z,_)}})},T=(B,_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&!J.locked){let Z;if(_?Z=J.parentId===B&&xe.isIdentical(J.normal,_):Z=J.parentId===B,Z){const ie=J,ee=O.pvModules[ie.pvModelName];O.setSolarPanelOrientation(ie,ee,Y)}}})},y=B=>{e(_=>{for(const Y of _.elements)if(Y.type===z.SolarPanel&&!Y.locked){const O=Y,J=_.pvModules[O.pvModelName];_.setSolarPanelOrientation(O,J,B)}})},S=(B,_)=>{M.getState().set(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked&&B.has(O.id)){const J=O,Z=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Z,_)}})},x=B=>{c(B.target.value)},R=B=>{if(p){const _=i(p.pvModelName);if(B===ui.portrait){const Y=Math.max(1,Math.round(p.lx/_.width)),O=Math.max(1,Math.round(p.ly/_.length));a(p.id,Y*_.width,O*_.length)}else{const Y=Math.max(1,Math.round(p.lx/_.length)),O=Math.max(1,Math.round(p.ly/_.width));a(p.id,Y*_.length,O*_.width)}P(p.id,B)}},H=(B,_)=>{const Y=r(B);if(Y){if(Y.type===z.Cuboid&&!xe.isIdentical(B.normal,o0))return!0;const O=JSON.parse(JSON.stringify(B));O.orientation=_;const J=i(O.pvModelName);if(_===ui.portrait){const Z=Math.max(1,Math.round(O.lx/J.width)),ie=Math.max(1,Math.round(O.ly/J.length));O.lx=Z*J.width,O.ly=ie*J.length}else{const Z=Math.max(1,Math.round(O.lx/J.length)),ie=Math.max(1,Math.round(O.ly/J.width));O.lx=Z*J.length,O.ly=ie*J.width}return Y.type===z.Wall?xe.checkElementOnWallState(O,Y)===fc.Valid:Y.type===z.Roof?xe.checkElementOnRoofState(O,Y)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(O,Y)}return!1},D=(B,_)=>!H(B,_),k=B=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:{for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&M.getState().selectedElementIdSet.has(_.id)&&_.orientation!==B)return!0;break}case ue.AllObjectsOfThisType:{for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&_.orientation!==B)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===(p==null?void 0:p.foundationId)&&!_.locked&&_.orientation!==B)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const _=r(p);if(_){if(_.type===z.Cuboid){for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&xe.isIdentical(O.normal,p.normal)&&!O.locked&&O.orientation!==B)return!0}else for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&!O.locked&&O.orientation!==B)return!0}break}default:{if((p==null?void 0:p.orientation)!==B)return!0;break}}return!1}},W=B=>{if(p&&k(B)){switch(b.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const _ of n)if(_.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(_.id)&&D(_,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const _=new Map;for(const O of n)O.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(O.id)&&_.set(O.id,O.orientation);const Y={name:"Set Orientation for Selected Solar Panels",timestamp:Date.now(),oldValues:_,newValue:B,undo:()=>{for(const[O,J]of Y.oldValues.entries())P(O,J)},redo:()=>{S(Y.oldValues,Y.newValue)}};l(Y),S(_,B),d(u+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const _ of n)if(_.type===z.SolarPanel&&D(_,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const _=new Map;for(const O of n)O.type===z.SolarPanel&&_.set(O.id,O.orientation);const Y={name:"Set Orientation for All Solar Panels",timestamp:Date.now(),oldValues:_,newValue:B,undo:()=>{for(const[O,J]of Y.oldValues.entries())P(O,J)},redo:()=>{y(Y.newValue)}};l(Y),y(B),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){w.current=!1;for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===p.foundationId&&D(_,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const _=new Map;for(const O of n)O.type===z.SolarPanel&&O.foundationId===p.foundationId&&_.set(O.id,O.orientation);const Y={name:"Set Orientation for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:_,newValue:B,groupId:p.foundationId,undo:()=>{for(const[O,J]of Y.oldValues.entries())P(O,J)},redo:()=>{Y.groupId&&v(Y.groupId,Y.newValue)}};l(Y),v(p.foundationId,B),d(u+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const _=r(p);if(_){if(w.current=!1,_.type===z.Cuboid){for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&xe.isIdentical(O.normal,p.normal)&&D(O,B)){w.current=!0;break}}else for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&D(O,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const O=new Map,J=_.type===z.Cuboid;if(J)for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===p.parentId&&xe.isIdentical(ee.normal,p.normal)&&O.set(ee.id,ee.orientation);else for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===p.parentId&&O.set(ee.id,ee.orientation);const Z=J?p.normal:void 0,ie={name:"Set Orientation for All Solar Panels on Surface",timestamp:Date.now(),oldValues:O,newValue:B,groupId:p.parentId,normal:Z,undo:()=>{for(const[ee,q]of ie.oldValues.entries())P(ee,q)},redo:()=>{ie.groupId&&T(ie.groupId,ie.normal,ie.newValue)}};l(ie),T(p.parentId,Z,B),d(u+1)}}break}default:{const _=o(p.id),Y=_?_.orientation:p.orientation;if(w.current=D(p,B),w.current)b.current=B,A(Y);else{const O={name:"Set Orientation of Selected Solar Panel",timestamp:Date.now(),oldValue:Y,newValue:B,changedElementId:p.id,changedElementType:p.type,undo:()=>{R(O.oldValue)},redo:()=>{R(O.newValue)}};l(O),R(B),d(u+1)}break}}e(_=>{_.actionState.solarPanelOrientation=B})}},N=()=>{p&&(A(p.orientation),w.current=!1,t(!1))},L=()=>{N(),f()},E=()=>{W(g),w.current||(t(!1),d(0))},U=()=>{W(g)},F=w.current?": "+j.t("message.NotApplicableToSelectedAction",C)+(b.current?" ("+(b.current===ui.portrait?j.t("solarPanelMenu.Portrait",C):j.t("solarPanelMenu.Landscape",C))+")":""):"";return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.Orientation",C),rejectedMessage:F,onApply:U,onClose:N,onClickCancel:L,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsxs(Yo,{style:{width:"150px"},value:g,onChange:B=>A(B),children:[h.jsx($Re,{value:ui.portrait,children:j.t("solarPanelMenu.Portrait",C)},ui.portrait),h.jsx($Re,{value:ui.landscape,children:j.t("solarPanelMenu.Landscape",C)},ui.landscape)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",C)})]})})})]})})},X0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(J2),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(io),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.lx)??1),[A,w]=m.useState(0),b=m.useRef(!1),C=m.useRef(),P=Kt();m.useEffect(()=>{if(f){const _=i(f.pvModelName)??i("SPR-X21-335-BLK");w(f.orientation===ui.portrait?_.width:_.length)}},[f]);const v=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.id===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.lx=xe.panelizeLx(Z,ie,Y);break}})},T=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.foundationId===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.lx=xe.panelizeLx(Z,ie,Y)}})},y=(_,Y,O)=>{e(J=>{for(const Z of J.elements)if(Z.type===z.SolarPanel&&!Z.locked){let ie;if(Y?ie=Z.parentId===_&&xe.isIdentical(Z.normal,Y):ie=Z.parentId===_,ie){const ee=Z,q=J.getPvModule(ee.pvModelName);Z.lx=xe.panelizeLx(ee,q,O)}}})},S=_=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked){const J=O,Z=Y.getPvModule(J.pvModelName);O.lx=xe.panelizeLx(J,Z,_)}})},x=(_,Y)=>{M.getState().set(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&!J.locked&&_.has(J.id)){const Z=J,ie=O.getPvModule(Z.pvModelName);J.lx=xe.panelizeLx(Z,ie,Y)}})},R=_=>{s(_.target.value)},H=(_,Y)=>{const O=r(_);if(O){if(O.type===z.Cuboid&&!xe.isIdentical(_.normal,o0))return!0;const J=JSON.parse(JSON.stringify(_));return J.lx=Y,O.type===z.Wall?xe.checkElementOnWallState(J,O)===fc.Valid:O.type===z.Roof?xe.checkElementOnRoofState(J,O)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(J,O)}return!1},D=(_,Y)=>!H(_,Y),k=_=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&M.getState().selectedElementIdSet.has(Y.id)&&Math.abs(Y.lx-_)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&Math.abs(Y.lx-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===(f==null?void 0:f.foundationId)&&!Y.locked&&Math.abs(Y.lx-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.lx-_)>Dt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.lx-_)>Dt)return!0}break}default:{if(Math.abs((f==null?void 0:f.lx)-_)>Dt)return!0;break}}return!1}},W=_=>{if(f&&k(_))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.lx);const O={name:"Set Length for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{x(O.oldValues,O.newValue)}};a(O),x(Y,_),u(c+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.lx);const O={name:"Set Length for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{S(O.newValue)}};a(O),S(_),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===f.foundationId&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&J.foundationId===f.foundationId&&Y.set(J.id,J.lx);const O={name:"Set Length for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Y,newValue:_,groupId:f.foundationId,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{O.groupId&&T(O.groupId,O.newValue)}};a(O),T(f.foundationId,_),u(c+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(b.current=!1,Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&D(J,_)){b.current=!0;break}}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&D(J,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const J=new Map,Z=Y.type===z.Cuboid;if(Z)for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&xe.isIdentical(q.normal,f.normal)&&J.set(q.id,q.lx);else for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&J.set(q.id,q.lx);const ie=Z?f.normal:void 0,ee={name:"Set Length for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:J,newValue:_,groupId:f.parentId,normal:ie,undo:()=>{for(const[q,ae]of ee.oldValues.entries())v(q,ae)},redo:()=>{ee.groupId&&y(ee.groupId,ee.normal,ee.newValue)}};a(ee),y(f.parentId,ie,_),u(c+1)}}break}default:{const Y=o(f.id),O=Y?Y.lx:f.lx;if(b.current=D(f,_),b.current)C.current=_,g(O);else{const J={name:"Set Solar Panel Array Length",timestamp:Date.now(),oldValue:O,newValue:_,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(J.changedElementId,J.oldValue)},redo:()=>{v(J.changedElementId,J.newValue)}};a(J),v(f.id,_),u(c+1)}break}}},N=_=>{let Y=_??1;return Y=Math.max(1,Math.ceil((Y-A/2)/A))*A,Y},L=()=>{b.current=!1,t(!1)},E=()=>{L(),d()},U=()=>{W(p),b.current||(t(!1),u(0))},F=()=>{W(p)},B=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Length",P),rejectedMessage:B,onApply:F,onClose:L,onClickCancel:E,onClickOk:U,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:A,max:100*A,step:A,style:{width:120},precision:2,value:p,onChange:_=>{_!==null&&g(N(_))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/A)+" "+j.t("solarPanelMenu.PanelsWide",P),h.jsx("br",{}),j.t("word.MaximumNumber",P),": 100 ",j.t("solarPanelMenu.Panels",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},J0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(J2),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(io),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.ly)??2),[A,w]=m.useState(0),b=m.useRef(!1),C=m.useRef(),P=Kt();m.useEffect(()=>{if(f){const _=i(f.pvModelName)??i("SPR-X21-335-BLK");w(f.orientation===ui.portrait?_.length:_.width),g(f.ly)}},[f]);const v=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.id===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.ly=xe.panelizeLy(Z,ie,Y);break}})},T=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.foundationId===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.ly=xe.panelizeLy(Z,ie,Y)}})},y=(_,Y,O)=>{e(J=>{for(const Z of J.elements)if(Z.type===z.SolarPanel&&!Z.locked){let ie;if(Y?ie=Z.parentId===_&&xe.isIdentical(Z.normal,Y):ie=Z.parentId===_,ie){const ee=Z,q=J.getPvModule(ee.pvModelName);Z.ly=xe.panelizeLy(ee,q,O)}}})},S=_=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked){const J=O,Z=Y.getPvModule(J.pvModelName);O.ly=xe.panelizeLy(J,Z,_)}})},x=(_,Y)=>{M.getState().set(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&!J.locked&&_.has(J.id)){const Z=J,ie=O.getPvModule(Z.pvModelName);J.ly=xe.panelizeLy(Z,ie,Y)}})},R=_=>{s(_.target.value)},H=(_,Y)=>{const O=r(_);if(O){if(O.type===z.Cuboid&&!xe.isIdentical(_.normal,o0))return!0;const J=JSON.parse(JSON.stringify(_));return J.ly=Y,O.type===z.Wall?xe.checkElementOnWallState(J,O)===fc.Valid:O.type===z.Roof?xe.checkElementOnRoofState(J,O)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(J,O)}return!1},D=(_,Y)=>_.tiltAngle!==0&&.5*Y*Math.abs(Math.sin(_.tiltAngle))>_.poleHeight||!H(_,Y),k=_=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&M.getState().selectedElementIdSet.has(Y.id)&&Math.abs(Y.ly-_)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&Math.abs(Y.ly-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===(f==null?void 0:f.foundationId)&&!Y.locked&&Math.abs(Y.ly-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.ly-_)>Dt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.ly-_)>Dt)return!0}break}default:{if(Math.abs((f==null?void 0:f.ly)-_)>Dt)return!0;break}}return!1}},W=_=>{if(f&&k(_))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.ly);const O={name:"Set Width for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{x(O.oldValues,O.newValue)}};a(O),x(Y,_),u(c+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&Y.set(J.id,J.ly);const O={name:"Set Width for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{S(O.newValue)}};a(O),S(_),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===f.foundationId&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&J.foundationId===f.foundationId&&Y.set(J.id,J.ly);const O={name:"Set Width for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Y,newValue:_,groupId:f.foundationId,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{O.groupId&&T(O.groupId,O.newValue)}};a(O),T(f.foundationId,_),u(c+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(b.current=!1,Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&D(J,_)){b.current=!0;break}}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&D(J,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const J=new Map,Z=Y.type===z.Cuboid;if(Z)for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&xe.isIdentical(q.normal,f.normal)&&J.set(q.id,q.ly);else for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&J.set(q.id,q.ly);const ie=Z?f.normal:void 0,ee={name:"Set Width for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:J,newValue:_,groupId:f.parentId,normal:ie,undo:()=>{for(const[q,ae]of ee.oldValues.entries())v(q,ae)},redo:()=>{ee.groupId&&y(ee.groupId,ee.normal,ee.newValue)}};a(ee),y(f.parentId,ie,_),u(c+1)}}break}default:{const Y=o(f.id),O=Y?Y.ly:f.ly;if(b.current=D(f,_),b.current)C.current=_,g(O);else{const J={name:"Set Solar Panel Array Width",timestamp:Date.now(),oldValue:O,newValue:_,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(J.changedElementId,J.oldValue)},redo:()=>{v(J.changedElementId,J.newValue)}};a(J),v(f.id,_),u(c+1)}break}}},N=()=>{b.current=!1,t(!1)},L=()=>{N(),d()},E=()=>{W(p),b.current||(t(!1),u(0))},U=_=>{let Y=_??1;return Y=Math.max(1,Math.ceil((Y-A/2)/A))*A,Y},F=()=>{W(p)},B=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Width",P),rejectedMessage:B,onApply:F,onClose:N,onClickCancel:L,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:A,max:100*A,step:A,style:{width:120},precision:2,value:p,onChange:_=>{_!==null&&g(U(_))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/A)+" "+j.t("solarPanelMenu.PanelsLong",P),h.jsx("br",{}),j.t("word.MaximumNumber",P),": 100 ",j.t("solarPanelMenu.Panels",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},K0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(io),u=M(x=>x.elements.find(R=>R.selected&&R.type===z.SolarPanel)),[d,f]=m.useState((u==null?void 0:u.inverterEfficiency)??.95),p=Kt(),g=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===x&&!D.locked){D.inverterEfficiency=R;break}})},A=(x,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===x&&!D.locked&&(D.inverterEfficiency=R)})},w=(x,R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&!k.locked){let W;R?W=k.parentId===x&&xe.isIdentical(k.normal,R):W=k.parentId===x,W&&(k.inverterEfficiency=H)}})},b=x=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.inverterEfficiency=x)})},C=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&x.has(D.id)&&(D.inverterEfficiency=R)})},P=x=>{l(x.target.value)},v=x=>{switch(a){case ue.AllSelectedObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs((R.inverterEfficiency??.95)-x)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&Math.abs((R.inverterEfficiency??.95)-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const R of n)if(R.type===z.SolarPanel&&R.foundationId===(u==null?void 0:u.foundationId)&&!R.locked&&Math.abs((R.inverterEfficiency??.95)-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&xe.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-x)>Dt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-x)>Dt)return!0}break}default:{if(Math.abs(((u==null?void 0:u.inverterEfficiency)??.95)-x)>Dt)return!0;break}}return!1},T=x=>{if(u&&v(x))switch(a){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.inverterEfficiency??.95);const H={name:"Set Inverter Efficiency for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{C(H.oldValues,H.newValue)}};r(H),C(R,x),c(s+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&R.set(D.id,D.inverterEfficiency??.95);const H={name:"Set Inverter Efficiency for All Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{b(H.newValue)}};r(H),b(x),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const R=new Map;for(const D of n)D.type===z.SolarPanel&&D.foundationId===u.foundationId&&R.set(D.id,D.inverterEfficiency??.95);const H={name:"Set Inverter Efficiency for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:u.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{H.groupId&&A(H.groupId,H.newValue)}};r(H),A(u.foundationId,x),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){const H=new Map,D=R.type===z.Cuboid;if(D)for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&xe.isIdentical(N.normal,u.normal)&&H.set(N.id,N.inverterEfficiency??.95);else for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&H.set(N.id,N.inverterEfficiency??.95);const k=D?u.normal:void 0,W={name:"Set Inverter Efficiency for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:u.parentId,normal:k,undo:()=>{for(const[N,L]of W.oldValues.entries())g(N,L)},redo:()=>{W.groupId&&w(W.groupId,W.normal,W.newValue)}};r(W),w(u.parentId,k,x),c(s+1)}break}default:{const R=o(u.id),H=R?R.inverterEfficiency??.95:u.inverterEfficiency??.95,D={name:"Set Solar Panel Array Inverter Efficiency",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};r(D),g(u.id,x),c(s+1);break}}},y=()=>{t(!1)},S=()=>{T(d)};return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.InverterEfficiency",p),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:1,step:.01,style:{width:120},precision:2,value:d,onChange:x=>{x!==null&&f(x)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[0.5, 1.0]",h.jsx("br",{}),j.t("solarPanelMenu.InverterEfficiencyExplained",p)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Sc),o=M(Jn),i=M(Vn),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(io),d=M(ca),f=M(F=>F.elements.find(B=>B.selected&&B.type===z.SolarPanel)),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),v=m.useRef((f==null?void 0:f.dcToAcRatio)??1),T={lng:n};m.useEffect(()=>{f&&(v.current=f.dcToAcRatio??1)},[f.dcToAcRatio]);const y=(F,B)=>{e(_=>{for(const Y of _.elements)if(Y.type===z.SolarPanel&&Y.id===F&&!Y.locked){Y.dcToAcRatio=B;break}})},S=(F,B)=>{e(_=>{for(const Y of _.elements)Y.type===z.SolarPanel&&Y.foundationId===F&&!Y.locked&&(Y.dcToAcRatio=B)})},x=(F,B,_)=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked){let J;B?J=O.parentId===F&&xe.isIdentical(O.normal,B):J=O.parentId===F,J&&(O.dcToAcRatio=_)}})},R=F=>{e(B=>{for(const _ of B.elements)_.type===z.SolarPanel&&!_.locked&&(_.dcToAcRatio=F)})},H=(F,B)=>{M.getState().set(_=>{for(const Y of _.elements)Y.type===z.SolarPanel&&!Y.locked&&F.has(Y.id)&&(Y.dcToAcRatio=B)})},D=F=>{s(F.target.value),g(!p)},k=F=>{switch(l){case ue.AllSelectedObjectsOfThisType:{for(const B of o)if(B.type===z.SolarPanel&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)&&Math.abs((B.dcToAcRatio??1)-F)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const B of o)if(B.type===z.SolarPanel&&!B.locked&&Math.abs((B.dcToAcRatio??1)-F)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const B of o)if(B.type===z.SolarPanel&&B.foundationId===(f==null?void 0:f.foundationId)&&!B.locked&&Math.abs((B.dcToAcRatio??1)-F)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const B=r(f);if(B){if(B.type===z.Cuboid){for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&xe.isIdentical(Y.normal,f.normal)&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-F)>Dt)return!0}else for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-F)>Dt)return!0}break}default:{if(Math.abs(((f==null?void 0:f.dcToAcRatio)??1)-F)>Dt)return!0;break}}return!1},W=F=>{if(f&&k(F)){switch(l){case ue.AllSelectedObjectsOfThisType:{const B=new Map;for(const Y of o)Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&B.set(Y.id,Y.dcToAcRatio??1);const _={name:"Set DC-AC Ratio for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())y(Y,O)},redo:()=>{H(_.oldValues,_.newValue)}};a(_),H(B,F),u(c+1);break}case ue.AllObjectsOfThisType:{const B=new Map;for(const Y of o)Y.type===z.SolarPanel&&B.set(Y.id,Y.dcToAcRatio??1);const _={name:"Set DC-AC Ratio for All Solar Panel Arrays",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())y(Y,O)},redo:()=>{R(_.newValue)}};a(_),R(F),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const B=new Map;for(const Y of o)Y.type===z.SolarPanel&&Y.foundationId===f.foundationId&&B.set(Y.id,Y.dcToAcRatio??1);const _={name:"Set DC-AC Ratio for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:B,newValue:F,groupId:f.foundationId,undo:()=>{for(const[Y,O]of _.oldValues.entries())y(Y,O)},redo:()=>{_.groupId&&S(_.groupId,_.newValue)}};a(_),S(f.foundationId,F),u(c+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const B=r(f);if(B){const _=new Map,Y=B.type===z.Cuboid;if(Y)for(const Z of o)Z.type===z.SolarPanel&&Z.parentId===f.parentId&&xe.isIdentical(Z.normal,f.normal)&&_.set(Z.id,Z.dcToAcRatio??1);else for(const Z of o)Z.type===z.SolarPanel&&Z.parentId===f.parentId&&_.set(Z.id,Z.dcToAcRatio??1);const O=Y?f.normal:void 0,J={name:"Set DC-AC Ratio for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:_,newValue:F,groupId:f.parentId,normal:O,undo:()=>{for(const[Z,ie]of J.oldValues.entries())y(Z,ie)},redo:()=>{J.groupId&&x(J.groupId,J.normal,J.newValue)}};a(J),x(f.parentId,O,F),u(c+1)}break}default:{const B=i(f.id),_=B?B.dcToAcRatio??1:f.dcToAcRatio??1,Y={name:"Set Solar Panel Array DC-AC Ratio",timestamp:Date.now(),oldValue:_,newValue:F,changedElementId:f.id,changedElementType:f.type,undo:()=>{y(Y.changedElementId,Y.oldValue)},redo:()=>{y(Y.changedElementId,Y.newValue)}};a(Y),y(f.id,F),u(c+1);break}}g(!p)}},N=(F,B)=>{if(P.current){const{clientWidth:_,clientHeight:Y}=window.document.documentElement,O=P.current.getBoundingClientRect();C({left:-O.left+B.x,right:_-(O.right-B.x),top:-O.top+B.y,bottom:Y-((O==null?void 0:O.bottom)-B.y)})}},L=()=>{v.current=f.dcToAcRatio??1,t(!1)},E=()=>{L(),d()},U=()=>{W(v.current),t(!1),u(0)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:j.t("solarPanelMenu.DcToAcSizeRatio",T)}),footer:[h.jsx(oo,{onClick:()=>{W(v.current)},children:j.t("word.Apply",T)},"Apply"),h.jsx(oo,{onClick:E,children:j.t("word.Cancel",T)},"Cancel"),h.jsx(oo,{type:"primary",onClick:U,children:j.t("word.OK",T)},"OK")],onCancel:L,maskClosable:!1,destroyOnClose:!1,modalRender:F=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(B,_)=>N(B,_),children:h.jsx("div",{ref:P,children:F})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:2,step:.01,style:{width:120},precision:2,value:v.current,onChange:F=>{F!==null&&(v.current=F,g(!p))},onPressEnter:U}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[1.0, 2.0]",h.jsx("br",{}),j.t("solarPanelMenu.DcToAcSizeRatioExplained",T)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:D,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",T)})]})})})]})})})},QRe=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(lge),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(io),d=M(ca),f=co(z.SolarPanel),p=(f==null?void 0:f.tiltAngle)??0,g=(f==null?void 0:f.parentType)===z.Wall,[A,w]=m.useState(g?-p:p),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=(E,U,F)=>{e(B=>{for(const _ of B.elements)if(_.type===z.SolarPanel&&_.foundationId===E&&!_.locked){const Y=_;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,F?-U:U):Y.tiltAngle=U}})},T=(E,U,F)=>{e(B=>{for(const _ of B.elements)if(_.type===z.SolarPanel&&!_.locked){let Y;if(U?Y=_.parentId===E&&xe.isIdentical(_.normal,U):Y=_.parentId===E,Y){const O=_;O.tiltAngle=F}}})},y=(E,U)=>{e(F=>{for(const B of F.elements)if(B.type===z.SolarPanel&&!B.locked){const _=B;_.parentType===z.Wall?_.tiltAngle=Math.min(0,U?-E:E):_.tiltAngle=E}})},S=(E,U,F)=>{M.getState().set(B=>{for(const _ of B.elements)if(_.type===z.SolarPanel&&!_.locked&&E.has(_.id)){const Y=_;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,F?-U:U):Y.tiltAngle=U}})},x=E=>{s(E.target.value)},R=E=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:{for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)&&Math.abs(U.tiltAngle-E)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&Math.abs(U.tiltAngle-E)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===(f==null?void 0:f.foundationId)&&!U.locked&&Math.abs(U.tiltAngle-E)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const U=r(f);if(U){if(U.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&xe.isIdentical(B.normal,f.normal)&&!B.locked&&Math.abs(B.tiltAngle-E)>Dt)return!0}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&!B.locked&&Math.abs(B.tiltAngle-E)>Dt)return!0}break}default:{if(Math.abs((f==null?void 0:f.tiltAngle)-E)>Dt)return!0;break}}return!1}},H=E=>{if(g&&(E=-E),!!f&&R(E)){switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(U.id)&&.5*U.ly*Math.abs(Math.sin(E))>U.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(B.id)&&U.set(B.id,B.tiltAngle);const F={name:"Set Tilt Angle for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,_)},redo:()=>{S(F.oldValues,F.newValue,!g)}};a(F),S(U,E,!g),u(c+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&.5*U.ly*Math.abs(Math.sin(E))>U.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&U.set(B.id,B.tiltAngle);const F={name:"Set Tilt Angle for All Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,_)},redo:()=>{y(F.newValue,!g)}};a(F),y(E,!g),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){b.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===f.foundationId&&U.parentType!==z.Wall&&.5*U.ly*Math.abs(Math.sin(E))>U.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.foundationId===f.foundationId&&U.set(B.id,B.tiltAngle);const F={name:"Set Tilt Angle for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:U,newValue:E,groupId:f.foundationId,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,_)},redo:()=>{F.groupId&&v(F.groupId,F.newValue,!g)}};a(F),v(f.foundationId,E,!g),u(c+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const U=r(f);if(U){b.current=!1;const F=U.type===z.Cuboid;if(F){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&xe.isIdentical(B.normal,f.normal)&&.5*B.ly*Math.abs(Math.sin(E))>B.poleHeight){b.current=!0;break}}else if(f.parentType===z.Wall)b.current=!1;else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&.5*B.ly*Math.abs(Math.sin(E))>B.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const B=new Map;if(F)for(const O of n)O.type===z.SolarPanel&&O.parentId===f.parentId&&xe.isIdentical(O.normal,f.normal)&&B.set(O.id,O.tiltAngle);else for(const O of n)O.type===z.SolarPanel&&O.parentId===f.parentId&&B.set(O.id,O.tiltAngle);const _=F?f.normal:void 0,Y={name:"Set Tilt Angle for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:B,newValue:E,groupId:f.parentId,normal:_,undo:()=>{for(const[O,J]of Y.oldValues.entries())i(O,J)},redo:()=>{Y.groupId&&T(Y.groupId,Y.normal,Y.newValue)}};a(Y),T(f.parentId,_,E),u(c+1)}}break}default:{const U=o(f.id),F=U?U.tiltAngle:f.tiltAngle;if(b.current=.5*f.ly*Math.abs(Math.sin(E))>f.poleHeight,f.parentType===z.Wall&&(b.current=!1),b.current)C.current=E,w(F);else{const B={name:"Set Solar Panel Array Tilt Angle",timestamp:Date.now(),oldValue:F,newValue:E,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(B.changedElementId,B.oldValue)},redo:()=>{i(B.changedElementId,B.newValue)}};a(B),i(f.id,E),u(c+1)}break}}e(U=>{U.actionState.solarPanelTiltAngle=E})}},D=()=>{b.current=!1,t(!1)},k=()=>{D(),d()},W=()=>{H(A),b.current||(t(!1),u(0))},N=()=>{H(A)},L=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+xe.toDegrees(C.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.TiltAngle",P),rejectedMessage:L,onApply:N,onClose:D,onClickCancel:k,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:g?0:-90,max:90,style:{width:120},precision:2,value:parseFloat(xe.toDegrees(A).toFixed(2)),step:1,formatter:E=>`${E}°`,onChange:E=>{E!==null&&w(xe.toRadians(E))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [",g?"0°":"-90°",", 90°]",h.jsx("br",{}),j.t("solarPanelMenu.SouthFacingIsPositive",P)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:x,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},$0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(sge),r=M(Ewt),a=M(kwt),l=M(Fwt),s=M(rr),c=M(En),u=M(r1),d=M(a1),f=M(ao),p=M(io),g=M(ca),A=co(z.SolarPanel),w=m.useRef(!1),b=m.useRef(),[C,P]=m.useState(A?-A.relativeAzimuth:0),v=Kt(),T=E=>{d(E.target.value)},y=(E,U)=>{const F=s(E);if(F){if(F.type===z.Cuboid&&!xe.isIdentical(E.normal,o0))return!0;const B=JSON.parse(JSON.stringify(E));return B.relativeAzimuth=-U,F.type===z.Roof?xe.checkElementOnRoofState(B,F)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(B,F)}return!1},S=(E,U)=>!y(E,U),x=E=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&U.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(U.id)&&Math.abs(-U.relativeAzimuth-E)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&U.parentType!==z.Wall&&Math.abs(-U.relativeAzimuth-E)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===(A==null?void 0:A.foundationId)&&!U.locked&&U.parentType!==z.Wall&&Math.abs(-U.relativeAzimuth-E)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(A!=null&&A.parentId){const U=s(A);if(U){if(U.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&xe.isIdentical(B.normal,A.normal)&&!B.locked&&Math.abs(-B.relativeAzimuth-E)>Dt)return!0}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&!B.locked&&Math.abs(-B.relativeAzimuth-E)>Dt)return!0}}break;default:if(Math.abs(-(A==null?void 0:A.relativeAzimuth)-E)>Dt)return!0}return!1}},R=(E,U)=>{M.getState().set(F=>{for(const B of F.elements)if(B.type===z.SolarPanel&&!B.locked&&E.has(B.id)){const _=B;_.relativeAzimuth=U}})},H=E=>{if(A&&x(E)){switch(b.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(U.id)&&S(U,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(B.id)&&U.set(B.id,-B.relativeAzimuth);const F={name:"Set Relative Azimuth for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,-_)},redo:()=>{R(F.oldValues,F.newValue)}};c(F),R(U,-E),p(f+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&S(U,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.parentType!==z.Wall&&U.set(B.id,-B.relativeAzimuth);const F={name:"Set Relative Azimuth for All Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,-_)},redo:()=>{l(z.SolarPanel,-F.newValue)}};c(F),l(z.SolarPanel,-E),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(A.foundationId){w.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===A.foundationId&&U.parentType!==z.Wall&&S(U,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.foundationId===A.foundationId&&B.parentType!==z.Wall&&U.set(B.id,-B.relativeAzimuth);const F={name:"Set Relative Azimuth for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:U,newValue:E,groupId:A.foundationId,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,-_)},redo:()=>{F.groupId&&a(z.SolarPanel,F.groupId,-F.newValue)}};c(F),a(z.SolarPanel,A.foundationId,-E),p(f+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{if(A.parentId){const U=s(A);if(U){if(w.current=!1,U.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&xe.isIdentical(B.normal,A.normal)&&S(B,E)){w.current=!0;break}}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&S(B,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const B=new Map,_=U.type===z.Cuboid;if(_)for(const J of n)J.type===z.SolarPanel&&J.parentId===A.parentId&&xe.isIdentical(J.normal,A.normal)&&B.set(J.id,-J.relativeAzimuth);else for(const J of n)J.type===z.SolarPanel&&J.parentId===A.parentId&&B.set(J.id,-J.relativeAzimuth);const Y=_?A.normal:void 0,O={name:"Set Relative Azimuth for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:B,newValue:E,groupId:A.parentId,normal:Y,undo:()=>{for(const[J,Z]of O.oldValues.entries())i(J,-Z)},redo:()=>{O.groupId&&r(z.SolarPanel,O.groupId,O.normal,-O.newValue)}};c(O),r(z.SolarPanel,A.parentId,Y,-E),p(f+1)}}}break}default:{const U=o(A.id),F=U?-U.relativeAzimuth:-A.relativeAzimuth;if(w.current=S(A,E),w.current)b.current=E,P(F);else{const B={name:"Set Solar Panel Array Relative Azimuth",timestamp:Date.now(),oldValue:F,newValue:E,changedElementId:A.id,changedElementType:A.type,undo:()=>{i(B.changedElementId,-B.oldValue)},redo:()=>{i(B.changedElementId,-B.newValue)}};c(B),i(A.id,-E),p(f+1)}break}}e(U=>{U.actionState.solarPanelRelativeAzimuth=-E})}},D=()=>{w.current=!1,t(!1)},k=()=>{D(),g()},W=()=>{H(C),w.current||(t(!1),p(0))},N=()=>{H(C)},L=w.current?": "+j.t("message.NotApplicableToSelectedAction",v)+(b.current!==void 0?" ("+xe.toDegrees(b.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.RelativeAzimuth",v),rejectedMessage:L,onApply:N,onClose:D,onClickCancel:k,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(xe.toDegrees(C).toFixed(2)),formatter:E=>`${E}°`,onChange:E=>{E!==null&&P(xe.toRadians(E))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",v),": [-180°, 180°]",h.jsx("br",{}),j.t("message.AzimuthOfNorthIsZero",v),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",v)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:T,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},Q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(io),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.trackerType)??Ma.NO_TRACKER),p=Kt(),{Option:g}=Yo,A=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&k.id===R&&!k.locked){k.trackerType=H;break}})},w=(R,H)=>{e(D=>{for(const k of D.elements)k.type===z.SolarPanel&&k.foundationId===R&&!k.locked&&(k.trackerType=H)})},b=(R,H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.SolarPanel&&!W.locked){let N;H?N=W.parentId===R&&xe.isIdentical(W.normal,H):N=W.parentId===R,N&&(W.trackerType=D)}})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&(D.trackerType=R)})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)k.type===z.SolarPanel&&!k.locked&&R.has(k.id)&&(k.trackerType=H)})},v=R=>{l(R.target.value)},T=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&H.trackerType!==R)return!0;break}case ue.AllObjectsOfThisType:{for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&H.trackerType!==R)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&H.trackerType!==R)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const H=i(u);if(H){if(H.type===z.Cuboid){for(const k of n)if(k.type===z.SolarPanel&&k.parentId===u.parentId&&xe.isIdentical(k.normal,u.normal)&&!k.locked&&k.trackerType!==R)return!0}else for(const k of n)if(k.type===z.SolarPanel&&k.parentId===u.parentId&&!k.locked&&k.trackerType!==R)return!0}break}default:{if((u==null?void 0:u.trackerType)!==R)return!0;break}}return!1}},y=R=>{if(u&&T(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.trackerType);const D={name:"Set Tracker Type for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};r(D),P(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.SolarPanel&&H.set(k.id,k.trackerType);const D={name:"Set Tracker Type for All Solar Panel Arrays",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.SolarPanel&&k.foundationId===u.foundationId&&H.set(k.id,k.trackerType);const D={name:"Set Tracker Type for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{D.groupId&&w(D.groupId,D.newValue)}};r(D),w(u.foundationId,R),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const H=i(u);if(H){const D=new Map,k=H.type===z.Cuboid;if(k)for(const L of n)L.type===z.SolarPanel&&L.parentId===u.parentId&&xe.isIdentical(L.normal,u.normal)&&D.set(L.id,L.trackerType);else for(const L of n)L.type===z.SolarPanel&&L.parentId===u.parentId&&D.set(L.id,L.trackerType);const W=k?u.normal:void 0,N={name:"Set Tracker Type for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:W,undo:()=>{for(const[L,E]of N.oldValues.entries())A(L,E)},redo:()=>{N.groupId&&b(N.groupId,N.normal,N.newValue)}};r(N),b(u.parentId,W,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.trackerType:u.trackerType,k={name:"Set Solar Panel Array Tracker Type",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(k.changedElementId,k.oldValue)},redo:()=>{A(k.changedElementId,k.newValue)}};r(k),A(u.id,R),c(s+1);break}}},S=()=>{t(!1)},x=()=>{y(d)};return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.Tracker",p),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsxs(Yo,{style:{width:"120px"},value:d,onChange:R=>f(R),children:[h.jsx(g,{value:Ma.NO_TRACKER,title:j.t("solarPanelMenu.NoTracker",p),children:j.t("word.None",p)},"NONE"),h.jsx(g,{value:Ma.HORIZONTAL_SINGLE_AXIS_TRACKER,title:j.t("solarPanelMenu.HorizontalSingleAxisTracker",p),children:"HSAT"},"HSAT"),h.jsx(g,{value:Ma.VERTICAL_SINGLE_AXIS_TRACKER,title:j.t("solarPanelMenu.VerticalSingleAxisTracker",p),children:"VSAT"},"VSAT"),h.jsx(g,{value:Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER,title:j.t("solarPanelMenu.AltazimuthDualAxisTracker",p),children:"AADAT"},"AADAT")]}),h.jsx("div",{style:{paddingTop:"20px",paddingRight:"10px",textAlign:"left",fontSize:"11px"},children:j.t("solarPanelMenu.SolarTrackerFollowsSun",p)})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},Z0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(io),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.frameColor)??"white"),p=Kt(),g=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===x&&!D.locked){D.frameColor=R;break}})},A=(x,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===x&&!D.locked&&(D.frameColor=R)})},w=(x,R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&!k.locked){let W;R?W=k.parentId===x&&xe.isIdentical(k.normal,R):W=k.parentId===x,W&&(k.frameColor=H)}})},b=x=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.frameColor=x)})},C=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&x.has(D.id)&&(D.frameColor=R)})},P=x=>{l(x.target.value)},v=x=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&R.frameColor!==x)return!0;break}case ue.AllObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&R.frameColor!==x)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const R of n)if(R.type===z.SolarPanel&&R.foundationId===(u==null?void 0:u.foundationId)&&!R.locked&&R.frameColor!==x)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&xe.isIdentical(D.normal,u.normal)&&!D.locked&&D.frameColor!==x)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&D.frameColor!==x)return!0}break}default:{if((u==null?void 0:u.frameColor)!==x)return!0;break}}return!1}},T=x=>{if(u&&v(x)){switch(a){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.frameColor??"white");const H={name:"Set Frame Color for Selected Solar Panels",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{C(H.oldValues,H.newValue)}};r(H),C(R,x),c(s+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&R.set(D.id,D.frameColor??"white");const H={name:"Set Frame Color for All Solar Panels",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{b(H.newValue)}};r(H),b(x),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const R=new Map;for(const D of n)D.type===z.SolarPanel&&D.foundationId===u.foundationId&&R.set(D.id,D.frameColor??"white");const H={name:"Set Frame Color for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:u.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{H.groupId&&A(H.groupId,H.newValue)}};r(H),A(u.foundationId,x),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){const H=new Map,D=R.type===z.Cuboid;if(D)for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&xe.isIdentical(N.normal,u.normal)&&H.set(N.id,N.frameColor??"white");else for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&H.set(N.id,N.frameColor??"white");const k=D?u.normal:void 0,W={name:"Set Frame Color for All Solar Panels on Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:u.parentId,normal:k,undo:()=>{for(const[N,L]of W.oldValues.entries())g(N,L)},redo:()=>{W.groupId&&w(W.groupId,W.normal,W.newValue)}};r(W),w(u.parentId,k,x),c(s+1)}break}default:{const R=o(u.id),H=R?R.frameColor:u.frameColor,D={name:"Set Frame Color of Selected Solar Panel",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(u.id,D.oldValue)},redo:()=>{g(u.id,D.newValue)}};r(D),g(u.id,x),c(s+1);break}}e(R=>{R.actionState.solarPanelFrameColor=x})}},y=()=>{t(!1)},S=()=>{T(d)};return h.jsx(lo,{width:680,title:j.t("solarPanelMenu.FrameColor",p),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsx(Cf,{color:d??(u==null?void 0:u.color)??"white",onChangeComplete:x=>{f(x.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},euo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(Ywt),a=M(rW),l=M(aW),s=M(rr),c=M(En),u=M(r1),d=M(a1),f=M(ao),p=M(io),g=M(ca),A=co(z.SolarPanel),[w,b]=m.useState((A==null?void 0:A.poleHeight)??0),C=m.useRef(!1),P=m.useRef(),v=Kt(),T=N=>{d(N.target.value)},y=N=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===(A==null?void 0:A.foundationId)&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const L=s(A);if(L){if(L.type===z.Cuboid){for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&xe.isIdentical(U.normal,A.normal)&&!U.locked&&Math.abs(U.poleHeight-N)>Dt)return!0}else for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&!U.locked&&Math.abs(U.poleHeight-N)>Dt)return!0}break}default:{if(Math.abs((A==null?void 0:A.poleHeight)-N)>Dt)return!0;break}}return!1}},S=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)if(U.type===z.SolarPanel&&!U.locked&&N.has(U.id)){const F=U;F.poleHeight=L}})},x=N=>{if(A&&y(N)){switch(P.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{C.current=!1;for(const L of n)if(L.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(L.id)&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const L=new Map;for(const U of n)U.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(U.id)&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{S(E.oldValues,E.newValue)}};c(E),S(L,N),p(f+1)}break}case ue.AllObjectsOfThisType:{C.current=!1;for(const L of n)if(L.type===z.SolarPanel&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const L=new Map;for(const U of n)U.type===z.SolarPanel&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{l(z.SolarPanel,E.newValue)}};c(E),l(z.SolarPanel,N),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(A.foundationId){C.current=!1;for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===A.foundationId&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const L=new Map;for(const U of n)U.type===z.SolarPanel&&U.foundationId===A.foundationId&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:L,newValue:N,groupId:A.foundationId,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{E.groupId&&a(z.SolarPanel,E.groupId,E.newValue)}};c(E),a(z.SolarPanel,A.foundationId,N),p(f+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const L=s(A);if(L){if(C.current=!1,L.type===z.Cuboid){for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&xe.isIdentical(U.normal,A.normal)&&.5*U.ly*Math.abs(Math.sin(U.tiltAngle))>N){C.current=!0;break}}else for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&.5*U.ly*Math.abs(Math.sin(U.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const U=new Map,F=L.type===z.Cuboid;if(F)for(const Y of n)Y.type===z.SolarPanel&&Y.parentId===A.parentId&&xe.isIdentical(Y.normal,A.normal)&&U.set(Y.id,Y.poleHeight);else for(const Y of n)Y.type===z.SolarPanel&&Y.parentId===A.parentId&&U.set(Y.id,Y.poleHeight);const B=F?A.normal:void 0,_={name:"Set Pole Height for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:U,newValue:N,groupId:A.parentId,normal:B,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O)},redo:()=>{_.groupId&&r(z.SolarPanel,_.groupId,_.normal,_.newValue)}};c(_),r(z.SolarPanel,A.parentId,B,N),p(f+1)}}break}default:{const L=o(A.id),E=L?L.poleHeight:A.poleHeight;if(C.current=.5*A.ly*Math.abs(Math.sin(A.tiltAngle))>N,C.current)P.current=N,b(E);else{const U={name:"Set Solar Panel Array Pole Height",timestamp:Date.now(),oldValue:E,newValue:N,changedElementId:A.id,changedElementType:A.type,undo:()=>{i(U.changedElementId,U.oldValue)},redo:()=>{i(U.changedElementId,U.newValue)}};c(U),i(A.id,N),p(f+1)}break}}e(L=>{L.actionState.solarPanelPoleHeight=N})}},R=()=>{C.current=!1,t(!1)},H=()=>{R(),g()},D=()=>{x(w),C.current||(t(!1),p(0))},k=()=>{x(w)},W=C.current?": "+j.t("message.NotApplicableToSelectedAction",v)+(P.current!==void 0?" ("+P.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.PoleHeight",v),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:10,style:{width:120},step:.1,precision:2,value:w,onChange:N=>{N!==null&&b(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",v),": [0, 10] ",j.t("word.MeterAbbreviation",v)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",v)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},tuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(io),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.poleSpacing)??0),p=Kt(),g=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===x&&!D.locked){const k=D;k.poleSpacing=R;break}})},A=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.foundationId===x&&!D.locked){const k=D;k.poleSpacing=R}})},w=(x,R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&!k.locked){let W;if(R?W=k.parentId===x&&xe.isIdentical(k.normal,R):W=k.parentId===x,W){const N=k;N.poleSpacing=H}}})},b=x=>{e(R=>{for(const H of R.elements)if(H.type===z.SolarPanel&&!H.locked){const D=H;D.poleSpacing=x}})},C=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&!D.locked&&x.has(D.id)){const k=D;k.poleSpacing=R}})},P=x=>{l(x.target.value)},v=x=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs(R.poleSpacing-x)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&Math.abs(R.poleSpacing-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const R of n)if(R.type===z.SolarPanel&&R.foundationId===(u==null?void 0:u.foundationId)&&!R.locked&&Math.abs(R.poleSpacing-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&xe.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs(D.poleSpacing-x)>Dt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs(D.poleSpacing-x)>Dt)return!0}break}default:{if(Math.abs((u==null?void 0:u.poleSpacing)-x)>Dt)return!0;break}}return!1}},T=x=>{if(u&&v(x)){switch(a){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.poleSpacing);const H={name:"Set Pole Spacing for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{C(H.oldValues,H.newValue)}};r(H),C(R,x),c(s+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&R.set(D.id,D.poleSpacing);const H={name:"Set Pole Spacing for All Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{b(H.newValue)}};r(H),b(x),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const R=new Map;for(const D of n)D.type===z.SolarPanel&&D.foundationId===u.foundationId&&R.set(D.id,D.poleSpacing);const H={name:"Set Pole Spacing for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:u.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{H.groupId&&A(H.groupId,H.newValue)}};r(H),A(u.foundationId,x),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){const H=new Map,D=R.type===z.Cuboid;if(D)for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&xe.isIdentical(N.normal,u.normal)&&H.set(N.id,N.poleSpacing);else for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&H.set(N.id,N.poleSpacing);const k=D?u.normal:void 0,W={name:"Set Pole Spacing for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:u.parentId,normal:k,undo:()=>{for(const[N,L]of W.oldValues.entries())g(N,L)},redo:()=>{W.groupId&&w(W.groupId,W.normal,W.newValue)}};r(W),w(u.parentId,k,x),c(s+1)}break}default:{const R=o(u.id),H=R?R.poleSpacing:u.poleSpacing,D={name:"Set Solar Panel Array Pole Spacing",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};r(D),g(u.id,x),c(s+1);break}}e(R=>{R.actionState.solarPanelPoleSpacing=x})}},y=()=>{t(!1)},S=()=>{T(d),t(!1),c(0)};return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.PoleSpacing",p),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:1,style:{width:120},precision:2,value:d,onChange:x=>{x!==null&&f(x)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [1, 10] ",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},nuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(Vn),r=M(Lwt),a=M(Wwt),l=M(Nwt),s=M(En),c=M(r1),u=M(a1),d=M(ao),f=M(io),p=M(ca),g=co(z.SolarPanel),[A,w]=m.useState((g==null?void 0:g.cx)??0),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=N=>{u(N.target.value)},T=N=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&Math.abs(L.cx-N)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.cx-N)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===(g==null?void 0:g.foundationId)&&!L.locked&&Math.abs(L.cx-N)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.cx)-N)>Dt)return!0}return!1}},y=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)if(U.type===z.SolarPanel&&!U.locked&&N.has(U.id)){const F=U;F.cx=L}})},S=(N,L,E)=>N+.5*L/E<.5&&N-.5*L/E>-.5,x=N=>{if(!g||!T(N))return;C.current=void 0;const L=o(g);if(L){switch(c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(E.id)&&!S(N,g.lx,L.lx)){b.current=!0;break}if(b.current)C.current=N,w(g.cx);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.cx);const U={name:"Set Center X for Selected Solar Panel",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{y(U.oldValues,U.newValue)}};s(U),y(E,N),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&!S(N,g.lx,L.lx)){b.current=!0;break}if(b.current)C.current=N,w(g.cx);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&E.set(F.id,F.cx);const U={name:"Set Center X for All Solar Panels",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{l(z.SolarPanel,U.newValue)}};s(U),l(z.SolarPanel,N),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&E.foundationId===g.foundationId&&!S(N,g.lx,L.lx)){b.current=!0;break}if(b.current)C.current=N,w(g.cx);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===g.foundationId&&E.set(F.id,F.cx);const U={name:"Set Center X for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:E,newValue:N,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{U.groupId&&a(z.SolarPanel,U.groupId,U.newValue)}};s(U),a(z.SolarPanel,g.foundationId,N),f(d+1)}}break}default:{const E=i(g.id),U=E?E.cx:g.cx;if(b.current=!S(N,g.lx,L.lx),b.current)C.current=N,w(U);else{const F={name:"Set Solar Panel Center X",timestamp:Date.now(),oldValue:U,newValue:N,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(F.changedElementId,F.oldValue)},redo:()=>{r(F.changedElementId,F.newValue)}};s(F),r(g.id,N),f(d+1)}break}}e(E=>{E.actionState.solarPanelCx=N})}},R=()=>{b.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{x(A),b.current||(t(!1),f(0))},k=()=>{x(A)},W=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.RelativeXCoordinateOfCenter",P),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:A,onChange:N=>{N!==null&&w(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [-0.5, 0.5]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},ouo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(Vn),r=M(Uwt),a=M(Bwt),l=M(jwt),s=M(En),c=M(r1),u=M(a1),d=M(ao),f=M(io),p=M(ca),g=co(z.SolarPanel),[A,w]=m.useState((g==null?void 0:g.cy)??0),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=N=>{u(N.target.value)},T=N=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&Math.abs(L.cy-N)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.cy-N)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===(g==null?void 0:g.foundationId)&&!L.locked&&Math.abs(L.cy-N)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.cy)-N)>Dt)return!0}return!1}},y=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)if(U.type===z.SolarPanel&&!U.locked&&N.has(U.id)){const F=U;F.cy=L}})},S=(N,L,E)=>N+.5*L/E<.5&&N-.5*L/E>-.5,x=N=>{if(!g||!T(N))return;C.current=void 0;const L=o(g);if(L){switch(c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(E.id)&&!S(N,g.ly,L.ly)){b.current=!0;break}if(b.current)C.current=N,w(g.cy);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.cy);const U={name:"Set Center Y for Selected Solar Panel",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{y(U.oldValues,U.newValue)}};s(U),y(E,N),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&!S(N,g.ly,L.ly)){b.current=!0;break}if(b.current)C.current=N,w(g.cy);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&E.set(F.id,F.cy);const U={name:"Set Center Y for All Solar Panels",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{l(z.SolarPanel,U.newValue)}};s(U),l(z.SolarPanel,N),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&E.foundationId===g.foundationId&&!S(N,g.ly,L.ly)){b.current=!0;break}if(b.current)C.current=N,w(g.cy);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===g.foundationId&&E.set(F.id,F.cy);const U={name:"Set Center Y for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:E,newValue:N,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{U.groupId&&a(z.SolarPanel,U.groupId,U.newValue)}};s(U),a(z.SolarPanel,g.foundationId,N),f(d+1)}}break}default:{const E=i(g.id),U=E?E.cy:g.cy;if(b.current=!S(N,g.ly,L.ly),b.current)C.current=N,w(U);else{const F={name:"Set Solar Panel Center Y",timestamp:Date.now(),oldValue:U,newValue:N,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(F.changedElementId,F.oldValue)},redo:()=>{r(F.changedElementId,F.newValue)}};s(F),r(g.id,N),f(d+1)}break}}e(E=>{E.actionState.solarPanelCy=N})}},R=()=>{b.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{x(A),b.current||(t(!1),f(0))},k=()=>{x(A)},W=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.RelativeYCoordinateOfCenter",P),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:A,onChange:N=>{N!==null&&w(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [-0.5, 0.5]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},iuo=t=>{const e=[];if(t.type!==z.SolarPanel)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=xe.isIdentical(n.normal,o0);return e.push({key:"solar-panel-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"solar-panel-cut",label:h.jsx(Tf,{})}),e.push({key:"solar-panel-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"solar-panel-model-change",label:h.jsxs(ro,{Dialog:V0o,children:[j.t("solarPanelMenu.ChangePvModel",i)," (",n.pvModelName,") ..."]})},{key:"solar-panel-orientation",label:h.jsxs(ro,{Dialog:G0o,children:[j.t("solarPanelMenu.Orientation",i)," ..."]})},{key:"solar-panel-length",label:h.jsxs(ro,{Dialog:X0o,children:[j.t("word.Length",i)," ..."]})},{key:"solar-panel-width",label:h.jsxs(ro,{Dialog:J0o,children:[j.t("word.Width",i)," ..."]})}),e.push({key:"solar-panel-coordinates-submenu",label:h.jsx(tn,{children:j.t("solarCollectorMenu.Coordinates",i)}),children:[{key:"solar-panel-center-x",label:h.jsxs(ro,{Dialog:nuo,children:[j.t("solarCollectorMenu.RelativeXCoordinateOfCenter",i)," ..."]})},{key:"solar-panel-center-y",label:h.jsxs(ro,{Dialog:ouo,children:[j.t("solarCollectorMenu.RelativeYCoordinateOfCenter",i)," ..."]})}]}),n.parentType===z.Wall&&e.push({key:"solar-panel-tilt-angle-on-wall",label:h.jsxs(ro,{Dialog:QRe,children:[j.t("solarPanelMenu.TiltAngle",i)," ..."]})}),r&&(n.trackerType===Ma.NO_TRACKER&&e.push({key:"solar-panel-tilt-angle",label:h.jsxs(ro,{Dialog:QRe,children:[j.t("solarPanelMenu.TiltAngle",i)," ..."]})}),e.push({key:"solar-panel-relative-azimuth",label:h.jsxs(ro,{Dialog:$0o,children:[j.t("solarCollectorMenu.RelativeAzimuth",i)," ..."]})}),n.parentType!==z.Roof&&e.push({key:"solar-panel-tracker",label:h.jsxs(ro,{Dialog:Q0o,children:[j.t("solarPanelMenu.Tracker",i)," ..."]})})),e.push({key:"solar-panel-frame-color",label:h.jsxs(ro,{Dialog:Z0o,children:[j.t("solarPanelMenu.FrameColor",i)," ..."]})}),e.push({key:"solar-panel-draw-sun-beam",label:h.jsx(Rye,{solarCollector:n})}),e.push({key:"solar-panel-electrical-submenu",label:h.jsx(tn,{children:j.t("solarPanelMenu.ElectricalProperties",i)}),children:[{key:"solar-panel-inverter-efficiency",label:h.jsxs(ro,{Dialog:K0o,children:[j.t("solarPanelMenu.InverterEfficiency",i)," ..."]})},{key:"solar-panel-dc-ac-ratio",label:h.jsxs(ro,{Dialog:q0o,children:[j.t("solarPanelMenu.DcToAcSizeRatio",i)," ..."]})}]}),e.push({key:"solar-panel-pole-submenu",label:h.jsx(tn,{children:j.t("solarCollectorMenu.Pole",i)}),children:[{key:"solar-panel-pole-height",label:h.jsxs(ro,{noPadding:!0,Dialog:euo,children:[j.t("solarCollectorMenu.PoleHeight",i)," ..."]})},{key:"solar-panel-pole-spacing",label:h.jsxs(ro,{noPadding:!0,Dialog:tuo,children:[j.t("solarPanelMenu.PoleSpacing",i)," ..."]})}]}),e.push({key:"solar-panel-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",i)}),children:vA(n)})),{items:e}},ruo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(R7),i=M(Sq),r=M(tW),a=M(rr),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(io),f=M(ca),p=co(z.ParabolicTrough),[g,A]=m.useState((p==null?void 0:p.ly)??9),w=m.useRef(!1),b=m.useRef(),C=Kt(),P=L=>{c(L.target.value)},v=(L,E)=>{const U=a(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.ly=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},T=(L,E)=>!v(L,E),y=L=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const E of e)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of e)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of e)if(E.type===z.ParabolicTrough&&E.foundationId===(p==null?void 0:p.foundationId)&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-L)>Dt)return!0}return!1}},S=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.ly=E)})},x=L=>{if(p&&y(L))switch(b.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.ly);const U={name:"Set Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{S(U.oldValues,U.newValue)}};l(U),S(E,L),d(u+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.ParabolicTrough&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.ParabolicTrough&&E.set(F.id,F.ly);const U={name:"Set Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{r(z.ParabolicTrough,U.newValue)}};l(U),r(z.ParabolicTrough,L),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){w.current=!1;for(const E of e)if(E.type===z.ParabolicTrough&&E.foundationId===p.foundationId&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.ParabolicTrough&&F.foundationId===p.foundationId&&E.set(F.id,F.ly);const U={name:"Set Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:p.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{U.groupId&&i(z.ParabolicTrough,U.groupId,U.newValue)}};l(U),i(z.ParabolicTrough,p.foundationId,L),d(u+1)}}break}default:{const E=n(p.id),U=E?E.ly:p.ly;if(w.current=T(p,L),w.current)b.current=L,A(U);else{const F={name:"Set Parabolic Trough Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(F.changedElementId,F.oldValue)},redo:()=>{o(F.changedElementId,F.newValue)}};l(F),o(p.id,L),d(u+1)}break}}},R=()=>{w.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{x(g),w.current||(t(!1),d(0))},k=L=>{if(!p)return 1;let E=L??1;return E=Math.max(1,Math.ceil((E-p.moduleLength/2)/p.moduleLength))*p.moduleLength,E},W=()=>{x(g)};if((p==null?void 0:p.type)!==z.ParabolicTrough)return null;const N=w.current?": "+j.t("message.NotApplicableToSelectedAction",C)+(b.current!==void 0?" ("+b.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Length",C),rejectedMessage:N,onApply:W,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:100*p.moduleLength,step:p.moduleLength,precision:2,style:{width:120},value:g,onChange:L=>{A(k(L))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("parabolicTroughMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+j.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+j.t("parabolicTroughMenu.ModulesLong",C),h.jsx("br",{}),j.t("word.Maximum",C),": 100 ",j.t("parabolicTroughMenu.Modules",C)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",C)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",C)})]})})})]})})},auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(bq),a=M(eW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(io),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.lx)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.lx=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.lx=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.lx);const U={name:"Set Width for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&E.set(F.id,F.lx);const U={name:"Set Width for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicTrough,U.newValue)}};s(U),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&F.foundationId===g.foundationId&&E.set(F.id,F.lx);const U={name:"Set Width for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicTrough,U.groupId,U.newValue)}};s(U),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.lx:g.lx;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Trough Width",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicTroughWidth=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Width",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Pje),r=M(Cje),a=M(Rje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(io),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.moduleLength)??3),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.moduleLength=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.moduleLength=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicTrough,U.newValue)}};s(U),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&F.foundationId===g.foundationId&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicTrough,U.groupId,U.newValue)}};s(U),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.moduleLength:g.moduleLength;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Trough Module Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicTroughModuleLength=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicTroughMenu.LatusRectum",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},suo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(bje),r=M(Sje),a=M(Tje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(io),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.latusRectum)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.latusRectum=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.latusRectum=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicTrough,U.newValue)}};s(U),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&F.foundationId===g.foundationId&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicTrough,U.groupId,U.newValue)}};s(U),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.latusRectum:g.latusRectum;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Trough Latus Rectum",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicTroughLatusRectum=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicTroughMenu.LatusRectum",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},cuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(io),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=W=>{u(W.target.value)},T=W=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicTrough&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicTrough&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.ParabolicTrough&&N.foundationId===(g==null?void 0:g.foundationId)&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const L of n)if(L.type===z.ParabolicTrough&&L.parentId===g.parentId&&!L.locked&&Math.abs(L.poleHeight-W)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-W)>Dt)return!0;break}}return!1}},y=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)E.type===z.ParabolicTrough&&!E.locked&&W.has(E.id)&&(E.tiltAngle=N)})},S=W=>{if(g&&T(W)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(N.id)&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{y(L.oldValues,L.newValue)}};s(L),y(N,W),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicTrough&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicTrough&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Troughs",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{a(z.ParabolicTrough,L.newValue)}};s(L),a(z.ParabolicTrough,W),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const N of n)if(N.type===z.ParabolicTrough&&N.foundationId===g.foundationId&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:g.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{L.groupId&&r(z.ParabolicTrough,L.groupId,L.newValue)}};s(L),r(z.ParabolicTrough,g.foundationId,W),f(d+1)}}break}default:{const N=o(g.id),L=N?N.poleHeight:g.poleHeight;if(b.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>W,b.current)C.current=W,w(L);else{const E={name:"Set Parabolic Trough Pole Height",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(E.changedElementId,E.oldValue)},redo:()=>{i(E.changedElementId,E.newValue)}};s(E),i(g.id,W),f(d+1)}break}}e(N=>{N.actionState.parabolicTroughPoleHeight=W})}},x=()=>{b.current=!1,t(!1)},R=()=>{x(),p()},H=()=>{S(A),b.current||(t(!1),f(0))},D=()=>{S(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const k=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",P),rejectedMessage:k,onApply:D,onClose:x,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:W=>{W!==null&&w(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [0, 5] ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(io),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Parabolic Trough Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},duo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(uje),r=M(dje),a=M(fje),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(io),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.absorptance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.absorptance:f.absorptance,R={name:"Set Parabolic Trough Absorptance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughAbsorptance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},fuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(hje),r=M(pje),a=M(gje),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(io),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.opticalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Trough Optical Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughOpticalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},huo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(mje),r=M(yje),a=M(Aje),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(io),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.thermalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Trough Thermal Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughThermalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},puo=t=>{const e=[];if(t.type!==z.ParabolicTrough)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-trough-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-trough-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-trough-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"parabolic-trough-length",label:h.jsxs(ro,{Dialog:ruo,children:[j.t("word.Length",o)," ..."]})},{key:"parabolic-trough-width",label:h.jsxs(ro,{Dialog:auo,children:[j.t("word.Width",o)," ..."]})},{key:"parabolic-trough-module-length",label:h.jsxs(ro,{Dialog:luo,children:[j.t("parabolicTroughMenu.ModuleLength",o)," ..."]})},{key:"parabolic-trough-latus-rectum",label:h.jsxs(ro,{Dialog:suo,children:[j.t("parabolicTroughMenu.LatusRectum",o)," ..."]})},{key:"parabolic-trough-pole-height",label:h.jsxs(ro,{Dialog:cuo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-trough-reflectance",label:h.jsxs(ro,{Dialog:uuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-trough-absorptance",label:h.jsxs(ro,{Dialog:duo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-trough-optical-efficiency",label:h.jsxs(ro,{Dialog:fuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-trough-thermal-efficiency",label:h.jsxs(ro,{Dialog:huo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Rye,{solarCollector:n})},{key:"parabolic-trough-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},guo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(R7),a=M(bq),l=M(Sq),s=M(eW),c=M(tW),u=M(rr),d=M(En),f=M(fA),p=M(hA),g=M(ao),A=M(io),w=M(ca),b=co(z.ParabolicDish),[C,P]=m.useState((b==null?void 0:b.lx)??2),v=m.useRef(!1),T=m.useRef(),y=Kt(),S=F=>{p(F.target.value)},x=(F,B)=>{const _=u(F);if(_){const Y=JSON.parse(JSON.stringify(F));return Y.lx=B,xe.isSolarCollectorWithinHorizontalSurface(Y,_)}return!1},R=(F,B)=>!x(F,B),H=F=>{if(b){switch(f){case ue.AllSelectedObjectsOfThisType:for(const B of n)if(B.type===z.ParabolicDish&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)&&Math.abs(B.lx-F)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const B of n)if(B.type===z.ParabolicDish&&!B.locked&&Math.abs(B.lx-F)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of n)if(B.type===z.ParabolicDish&&B.foundationId===(b==null?void 0:b.foundationId)&&!B.locked&&Math.abs(B.lx-F)>Dt)return!0;break;default:if(Math.abs((b==null?void 0:b.lx)-F)>Dt)return!0}return!1}},D=(F,B)=>{M.getState().set(_=>{for(const Y of _.elements)Y.type===z.ParabolicDish&&!Y.locked&&F.has(Y.id)&&(Y.lx=B,Y.ly=B)})},k=F=>{if(b&&H(F)){switch(T.current=void 0,f){case ue.AllSelectedObjectsOfThisType:{v.current=!1;for(const B of n)if(B.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(B.id)&&R(B,F)){v.current=!0;break}if(v.current)T.current=F,P(b.lx);else{const B=new Map;for(const Y of n)Y.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(Y.id)&&B.set(Y.id,Y.lx);const _={name:"Set Diameter for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O),r(Y,O)},redo:()=>{D(_.oldValues,_.newValue)}};d(_),D(B,F),A(g+1)}break}case ue.AllObjectsOfThisType:{v.current=!1;for(const B of n)if(B.type===z.ParabolicDish&&R(B,F)){v.current=!0;break}if(v.current)T.current=F,P(b.lx);else{const B=new Map;for(const Y of n)Y.type===z.ParabolicDish&&B.set(Y.id,Y.lx);const _={name:"Set Diameter for All Parabolic Dishes",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O),r(Y,O)},redo:()=>{s(z.ParabolicDish,_.newValue),c(z.ParabolicDish,_.newValue)}};d(_),s(z.ParabolicDish,F),c(z.ParabolicDish,F),A(g+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(b.foundationId){v.current=!1;for(const B of n)if(B.type===z.ParabolicDish&&B.foundationId===b.foundationId&&R(B,F)){v.current=!0;break}if(v.current)T.current=F,P(b.lx);else{const B=new Map;for(const Y of n)Y.type===z.ParabolicDish&&Y.foundationId===b.foundationId&&B.set(Y.id,Y.lx);const _={name:"Set Diameter for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:B,newValue:F,groupId:b.foundationId,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O),r(Y,O)},redo:()=>{_.groupId&&(a(z.ParabolicDish,_.groupId,_.newValue),l(z.ParabolicDish,_.groupId,_.newValue))}};d(_),a(z.ParabolicDish,b.foundationId,F),l(z.ParabolicDish,b.foundationId,F),A(g+1)}}break}default:{const B=o(b.id),_=B?B.lx:b.lx;if(v.current=R(b,F),v.current)T.current=F,P(_);else{const Y={name:"Set Parabolic Dish Diameter",timestamp:Date.now(),oldValue:_,newValue:F,changedElementId:b.id,changedElementType:b.type,undo:()=>{i(Y.changedElementId,Y.oldValue),r(Y.changedElementId,Y.oldValue)},redo:()=>{i(Y.changedElementId,Y.newValue),r(Y.changedElementId,Y.newValue)}};d(Y),i(b.id,F),r(b.id,F),A(g+1)}break}}e(B=>{B.actionState.parabolicDishRimDiameter=F})}},W=()=>{v.current=!1,t(!1)},N=()=>{W(),w()},L=()=>{k(C),v.current||(t(!1),A(0))},E=()=>{k(C)};if((b==null?void 0:b.type)!==z.ParabolicDish)return null;const U=v.current?": "+j.t("message.NotApplicableToSelectedAction",y)+(T.current!==void 0?" ("+T.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicDishMenu.RimDiameter",y),rejectedMessage:U,onApply:E,onClose:W,onClickCancel:N,onClickOk:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:C,onChange:F=>{F!==null&&P(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",y),": 1 ",j.t("word.MeterAbbreviation",y),h.jsx("br",{}),j.t("word.MaximumValue",y),": 10 ",j.t("word.MeterAbbreviation",y)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",y)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:f,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(bje),r=M(Sje),a=M(Tje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ao),f=M(io),p=M(ca),g=co(z.ParabolicDish),[A,w]=m.useState((g==null?void 0:g.latusRectum)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.latusRectum=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicDish&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicDish&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicDish&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicDish&&!F.locked&&L.has(F.id)&&(F.latusRectum=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicDish&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicDish&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Dishes",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicDish,U.newValue)}};s(U),a(z.ParabolicDish,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicDish&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicDish&&F.foundationId===g.foundationId&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicDish,U.groupId,U.newValue)}};s(U),r(z.ParabolicDish,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.latusRectum:g.latusRectum;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Dish Latus Rectum",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicDishLatusRectum=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicDishMenu.LatusRectum",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",P)})]})})})]})})},yuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(fA),a=M(hA),l=M(ao),s=M(io),c=co(z.ParabolicDish),[u,d]=m.useState((c==null?void 0:c.structureType)??tf.CentralPole),f=Kt(),{Option:p}=Yo,g=(S,x)=>{e(R=>{for(const H of R.elements)if(H.id===S&&!H.locked&&H.type===z.ParabolicDish){H.structureType=x;break}})},A=(S,x)=>{e(R=>{for(const H of R.elements)H.foundationId===S&&!H.locked&&H.type===z.ParabolicDish&&(H.structureType=x)})},w=S=>{e(x=>{for(const R of x.elements)R.locked||R.type===z.ParabolicDish&&(R.structureType=S)})},b=S=>{a(S.target.value)},C=S=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x.structureType!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&x.structureType!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of n)if(x.type===z.ParabolicDish&&x.foundationId===(c==null?void 0:c.foundationId)&&!x.locked&&x.structureType!==S)return!0;break;default:if((c==null?void 0:c.structureType)!==S)return!0}return!1},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&S.has(H.id)&&(H.structureType=x)})},v=S=>{if(c&&C(S)){switch(r){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.structureType);const R={name:"Set Structure Type for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())g(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};i(R),P(x,S),s(l+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&x.set(H.id,H.structureType);const R={name:"Set Structure Type for All Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())g(H,D)},redo:()=>{w(R.newValue)}};i(R),w(S),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(c.foundationId){const x=new Map;for(const H of n)H.type===z.ParabolicDish&&H.foundationId===c.foundationId&&x.set(H.id,H.structureType);const R={name:"Set Structure Type for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())g(H,D)},redo:()=>{R.groupId&&A(R.groupId,R.newValue)}};i(R),A(c.foundationId,S),s(l+1)}break}default:{const x=o(c.id),R=x?x.structureType:c.structureType,H={name:"Set Parabolic Dish Structure Type",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(H.changedElementId,H.oldValue)},redo:()=>{g(H.changedElementId,H.newValue)}};i(H),g(c.id,S),s(l+1);break}}e(x=>{x.actionState.parabolicDishReceiverStructure=S})}},T=()=>{t(!1)},y=()=>{v(u)};return(c==null?void 0:c.type)!==z.ParabolicDish?null:h.jsx(lo,{width:640,title:j.t("parabolicDishMenu.ReceiverStructure",f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsxs(Yo,{value:u,onChange:S=>d(S),children:[h.jsx(p,{value:tf.CentralPole,children:j.t("parabolicDishMenu.CentralPole",f)},tf.CentralPole),h.jsx(p,{value:tf.CentralPoleWithTripod,children:j.t("parabolicDishMenu.CentralPoleWithTripod",f)},tf.CentralPoleWithTripod),h.jsx(p,{value:tf.Quadrupod,children:j.t("parabolicDishMenu.Quadrupod",f)},tf.Quadrupod)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:b,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",f)})]})})})]})})},Auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ao),f=M(io),p=M(ca),g=co(z.ParabolicDish),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=W=>{u(W.target.value)},T=W=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.ParabolicDish&&N.foundationId===(g==null?void 0:g.foundationId)&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const L of n)if(L.type===z.ParabolicDish&&L.parentId===g.parentId&&!L.locked&&Math.abs(L.poleHeight-W)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-W)>Dt)return!0;break}}return!1}},y=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)E.type===z.ParabolicDish&&!E.locked&&W.has(E.id)&&(E.tiltAngle=N)})},S=W=>{if(g&&T(W)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(N.id)&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{y(L.oldValues,L.newValue)}};s(L),y(N,W),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicDish&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicDish&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Dishes",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{a(z.ParabolicDish,L.newValue)}};s(L),a(z.ParabolicDish,W),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const N of n)if(N.type===z.ParabolicDish&&N.foundationId===g.foundationId&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===g.foundationId&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:g.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{L.groupId&&r(z.ParabolicDish,L.groupId,L.newValue)}};s(L),r(z.ParabolicDish,g.foundationId,W),f(d+1)}}break}default:{const N=o(g.id),L=N?N.poleHeight:g.poleHeight;if(b.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>W,b.current)C.current=W,w(L);else{const E={name:"Set Parabolic Dish Pole Height",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(E.changedElementId,E.oldValue)},redo:()=>{i(E.changedElementId,E.newValue)}};s(E),i(g.id,W),f(d+1)}break}}e(N=>{N.actionState.parabolicDishPoleHeight=W})}},x=()=>{b.current=!1,t(!1)},R=()=>{x(),p()},H=()=>{S(A),b.current||(t(!1),f(0))},D=()=>{S(A)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const k=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicDishMenu.ExtraPoleHeightInAdditionToRadius",P),rejectedMessage:k,onApply:D,onClose:x,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:W=>{W!==null&&w(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [0, 5] ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",P)})]})})})]})})},wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(lje),r=M(sje),a=M(cje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ao),f=M(io),p=co(z.ParabolicDish),[g,A]=m.useState((p==null?void 0:p.poleRadius)??.1),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of n)if(x.type===z.ParabolicDish&&x.foundationId===(p==null?void 0:p.foundationId)&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(p)){for(const R of n)if(R.type===z.ParabolicDish&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-S)>Dt)return!0}break}default:{if(Math.abs((p==null?void 0:p.poleRadius)-S)>Dt)return!0;break}}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&S.has(H.id)&&(H.poleRadius=x)})},v=S=>{if(p&&C(S)){switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.ParabolicDish,R.newValue)}};s(R),a(z.ParabolicDish,S),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of n)H.type===z.ParabolicDish&&H.foundationId===p.foundationId&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.ParabolicDish,R.groupId,R.newValue)}};s(R),r(z.ParabolicDish,p.foundationId,S),f(d+1)}break}default:{const x=o(p.id),R=x?x.poleRadius:p.poleRadius,H={name:"Set Parabolic Dish Pole Radius",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}e(x=>{x.actionState.parabolicDishPoleRadius=S})}},T=()=>{t(!1)},y=()=>{v(g)};return(p==null?void 0:p.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.PoleRadius",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:S=>{S!==null&&A(S)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",w),": [0.1, 0.5] ",j.t("word.MeterAbbreviation",w)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",w)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",w)})]})})})]})})},vuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(io),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Parabolic Dish Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},xuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(uje),r=M(dje),a=M(fje),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(io),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.absorptance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.absorptance:f.absorptance,R={name:"Set Parabolic Dish Absorptance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishAbsorptance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},buo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(hje),r=M(pje),a=M(gje),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(io),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.opticalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Dish Optical Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishOpticalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},Suo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(mje),r=M(yje),a=M(Aje),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(io),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.thermalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Dish Thermal Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishThermalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},Tuo=t=>{const e=[];if(t.type!==z.ParabolicDish)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-dish-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-dish-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-dish-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"parabolic-dish-radius",label:h.jsxs(ro,{Dialog:guo,children:[j.t("parabolicDishMenu.RimDiameter",o)," ..."]})},{key:"parabolic-dish-latus-rectum",label:h.jsxs(ro,{Dialog:muo,children:[j.t("parabolicDishMenu.LatusRectum",o)," ..."]})},{key:"parabolic-dish-structure-type",label:h.jsxs(ro,{Dialog:yuo,children:[j.t("parabolicDishMenu.ReceiverStructure",o)," ..."]})},{key:"parabolic-dish-pole-height",label:h.jsxs(ro,{Dialog:Auo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-dish-pole-radius",label:h.jsxs(ro,{Dialog:wuo,children:[j.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"parabolic-dish-reflectance",label:h.jsxs(ro,{Dialog:vuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-dish-absorptance",label:h.jsxs(ro,{Dialog:xuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-dish-optical-efficiency",label:h.jsxs(ro,{Dialog:buo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-dish-thermal-efficiency",label:h.jsxs(ro,{Dialog:Suo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Rye,{solarCollector:n})},{key:"parabolic-dish-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Puo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(ije),i=M(rje),r=M(aje),a=M(En),l=M(bb),s=M(Sb),c=M(ao),u=M(io),d=co(z.FresnelReflector),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),A=T=>{s(T.target.value)},w=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.FresnelReflector&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.FresnelReflector&&!y.locked&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.FresnelReflector&&y.foundationId===(d==null?void 0:d.foundationId)&&!y.locked&&y.drawSunBeam!==T)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==T)return!0}return!1},b=(T,y)=>{M.getState().set(S=>{for(const x of S.elements)xe.isSolarCollectorType(x.type)&&!x.locked&&x.type===z.FresnelReflector&&T.has(x.id)&&(x.drawSunBeam=y)})},C=T=>{if(d&&w(T))switch(l){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{b(S.oldValues,S.newValue)}};a(S),b(y,T),u(c+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.FresnelReflector&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Fresnel Reflectors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{r(z.FresnelReflector,S.newValue)}};a(S),r(z.FresnelReflector,T),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const y=new Map;for(const x of e)x.type===z.FresnelReflector&&x.foundationId===d.foundationId&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:d.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{S.groupId&&i(z.FresnelReflector,S.groupId,S.newValue)}};a(S),i(z.FresnelReflector,d.foundationId,T),u(c+1)}break}default:{const y=n(d.id),S=y?y.drawSunBeam:d.drawSunBeam,x={name:"Draw Sun Beam for Fresnel Reflector",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(x.changedElementId,x.oldValue)},redo:()=>{o(x.changedElementId,x.newValue)}};a(x),o(d.id,T),u(c+1);break}}},P=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.FresnelReflector?null:h.jsx(lo,{width:500,title:j.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:T=>{p(T)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:A,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",g)})]})})})]})})},{Option:Cuo}=Yo,Ruo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(wje),r=M(vje),a=M(xje),l=M(En),s=M(bb),c=M(Sb),u=M(ao),d=M(io),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.receiverId)??"None"),A=Kt(),w=m.useMemo(()=>{const S=[];for(const x of n)if(x.type===z.Foundation){const R=x;R.solarStructure===zn.FocusPipe&&S.push(R.id)}return S},[n]);m.useEffect(()=>{if(g("None"),f)if(f.receiverId)g(f.receiverId);else{const S=o(f.parentId);S&&S.type===z.Foundation&&S.solarStructure===zn.FocusPipe&&g(S.id)}},[f]);const b=S=>{c(S.target.value)},C=S=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.FresnelReflector&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x.receiverId!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.FresnelReflector&&!x.locked&&x.receiverId!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of n)if(x.type===z.FresnelReflector&&x.foundationId===(f==null?void 0:f.foundationId)&&!x.locked&&x.receiverId!==S)return!0;break;default:if((f==null?void 0:f.receiverId)!==S)return!0}return!1},P=(S,x)=>{e(R=>{for(const H of R.elements)xe.isHeliostatOrFresnelReflector(H.type)&&!H.locked&&S.has(H.id)&&(H.type===z.Heliostat?H.towerId=x:H.type===z.FresnelReflector&&(H.receiverId=x))})},v=S=>{if(f&&C(S)){switch(s){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.receiverId);const R={name:"Set Receiver for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};l(R),P(x,S),d(u+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.FresnelReflector&&x.set(H.id,H.receiverId);const R={name:"Set Receiver for All Fresnel Reflectors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.FresnelReflector,R.newValue)}};l(R),a(z.FresnelReflector,S),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const x=new Map;for(const H of n)H.type===z.FresnelReflector&&H.foundationId===f.foundationId&&x.set(H.id,H.receiverId);const R={name:"Set Receiver for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:f.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.FresnelReflector,R.groupId,R.newValue)}};l(R),r(z.FresnelReflector,f.foundationId,S),d(u+1)}break}default:{const x=o(f.id),R=x?x.receiverId:f.receiverId,H={name:"Set Receiver for Fresnel Reflector",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,S),d(u+1);break}}e(x=>{x.actionState.fresnelReflectorReceiver=S})}},T=()=>{t(!1)},y=()=>{p&&v(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:640,title:j.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",A),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsx(Yo,{style:{width:"160px"},value:p,onChange:S=>{g(S)},children:w.map((S,x)=>h.jsx(Cuo,{value:S,children:j.t("fresnelReflectorMenu.AbsorberPipe",A)+" "+(x+1)},x))})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",A)})]})})})]})})},Huo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(R7),i=M(Sq),r=M(tW),a=M(rr),l=M(En),s=M(bb),c=M(Sb),u=M(ao),d=M(io),f=M(ca),p=co(z.FresnelReflector),[g,A]=m.useState((p==null?void 0:p.ly)??9),w=m.useRef(!1),b=m.useRef(),C=Kt(),P=L=>{c(L.target.value)},v=(L,E)=>{const U=a(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.ly=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},T=(L,E)=>!v(L,E),y=L=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const E of e)if(E.type===z.FresnelReflector&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of e)if(E.type===z.FresnelReflector&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of e)if(E.type===z.FresnelReflector&&E.foundationId===(p==null?void 0:p.foundationId)&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-L)>Dt)return!0}return!1}},S=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.FresnelReflector&&!F.locked&&L.has(F.id)&&(F.ly=E)})},x=L=>{if(p&&y(L))switch(b.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.ly);const U={name:"Set Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{S(U.oldValues,U.newValue)}};l(U),S(E,L),d(u+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.FresnelReflector&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.FresnelReflector&&E.set(F.id,F.ly);const U={name:"Set Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{r(z.FresnelReflector,U.newValue)}};l(U),r(z.FresnelReflector,L),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){w.current=!1;for(const E of e)if(E.type===z.FresnelReflector&&E.foundationId===p.foundationId&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.FresnelReflector&&F.foundationId===p.foundationId&&E.set(F.id,F.ly);const U={name:"Set Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:p.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{U.groupId&&i(z.FresnelReflector,U.groupId,U.newValue)}};l(U),i(z.FresnelReflector,p.foundationId,L),d(u+1)}}break}default:{const E=n(p.id),U=E?E.ly:p.ly;if(w.current=T(p,L),w.current)b.current=L,A(U);else{const F={name:"Set Fresnel Reflector Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(F.changedElementId,F.oldValue)},redo:()=>{o(F.changedElementId,F.newValue)}};l(F),o(p.id,L),d(u+1)}break}}},R=()=>{w.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{x(g),w.current||(t(!1),d(0))},k=L=>{if(!p)return 1;let E=L??1;return E=Math.max(1,Math.ceil((E-p.moduleLength/2)/p.moduleLength))*p.moduleLength,E},W=()=>{x(g)};if((p==null?void 0:p.type)!==z.FresnelReflector)return null;const N=w.current?": "+j.t("message.NotApplicableToSelectedAction",C)+(b.current!==void 0?" ("+b.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Length",C),rejectedMessage:N,onApply:W,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:200*p.moduleLength,step:p.moduleLength,style:{width:120},precision:2,value:g,onChange:L=>{L!==null&&A(k(L))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("fresnelReflectorMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+j.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+j.t("fresnelReflectorMenu.ModulesLong",C),h.jsx("br",{}),j.t("word.Maximum",C),": 200 ",j.t("fresnelReflectorMenu.Modules",C)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",C)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",C)})]})})})]})})},Muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(bq),a=M(eW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ao),f=M(io),p=M(ca),g=co(z.FresnelReflector),[A,w]=m.useState((g==null?void 0:g.lx)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.lx=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.FresnelReflector&&!F.locked&&L.has(F.id)&&(F.lx=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.lx);const U={name:"Set Width for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&E.set(F.id,F.lx);const U={name:"Set Width for All Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.FresnelReflector,U.newValue)}};s(U),a(z.FresnelReflector,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&F.foundationId===g.foundationId&&E.set(F.id,F.lx);const U={name:"Set Width for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.FresnelReflector,U.groupId,U.newValue)}};s(U),r(z.FresnelReflector,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.lx:g.lx;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Fresnel Reflector Width",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.fresnelReflectorWidth=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Width",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",P)})]})})})]})})},Iuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Pje),r=M(Cje),a=M(Rje),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ao),f=M(io),p=M(ca),g=co(z.FresnelReflector),[A,w]=m.useState((g==null?void 0:g.moduleLength)??3),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.moduleLength=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.FresnelReflector&&!F.locked&&L.has(F.id)&&(F.moduleLength=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.FresnelReflector,U.newValue)}};s(U),a(z.FresnelReflector,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&F.foundationId===g.foundationId&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.FresnelReflector,U.groupId,U.newValue)}};s(U),r(z.FresnelReflector,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.moduleLength:g.moduleLength;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Fresnel Reflector Module Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.fresnelReflectorModuleLength=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("fresnelReflectorMenu.ModuleLength",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",P)})]})})})]})})},zuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ao),f=M(io),p=M(ca),g=co(z.FresnelReflector),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=m.useRef((g==null?void 0:g.poleHeight)??1),v=Kt(),T=N=>{u(N.target.value)},y=N=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const L of n)if(L.type===z.FresnelReflector&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const L of n)if(L.type===z.FresnelReflector&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const L of n)if(L.type===z.FresnelReflector&&L.foundationId===(g==null?void 0:g.foundationId)&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const E of n)if(E.type===z.FresnelReflector&&E.parentId===g.parentId&&!E.locked&&Math.abs(E.poleHeight-N)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-N)>Dt)return!0;break}}return!1}},S=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)U.type===z.FresnelReflector&&!U.locked&&N.has(U.id)&&(U.poleHeight=L)})},x=N=>{if(g&&y(N)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const L of n)if(L.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(L.id)&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){b.current=!0;break}if(b.current)C.current=N,P.current=g.poleHeight;else{const L=new Map;for(const U of n)U.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(U.id)&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{S(E.oldValues,E.newValue)}};s(E),S(L,N),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const L of n)if(L.type===z.FresnelReflector&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){b.current=!0;break}if(b.current)C.current=N,P.current=g.poleHeight;else{const L=new Map;for(const U of n)U.type===z.FresnelReflector&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Fresnel Reflectors",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{a(z.FresnelReflector,E.newValue)}};s(E),a(z.FresnelReflector,N),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const L of n)if(L.type===z.FresnelReflector&&L.foundationId===g.foundationId&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){b.current=!0;break}if(b.current)C.current=N,P.current=g.poleHeight;else{const L=new Map;for(const U of n)U.type===z.FresnelReflector&&U.foundationId===g.foundationId&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:L,newValue:N,groupId:g.foundationId,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{E.groupId&&r(z.FresnelReflector,E.groupId,E.newValue)}};s(E),r(z.FresnelReflector,g.foundationId,N),f(d+1)}}break}default:{const L=o(g.id),E=L?L.poleHeight:g.poleHeight;if(b.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>N,b.current)C.current=N,P.current=E;else{const U={name:"Set Fresnel Reflector Pole Height",timestamp:Date.now(),oldValue:E,newValue:N,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(U.changedElementId,U.oldValue)},redo:()=>{i(U.changedElementId,U.newValue)}};s(U),i(g.id,N),f(d+1)}break}}e(L=>{L.actionState.fresnelReflectorPoleHeight=N})}},R=()=>{t(!1)},H=()=>{R(),p()},D=()=>{x(A),b.current||(t(!1),f(0))},k=()=>{x(A)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const W=b.current?": "+j.t("message.NotApplicableToSelectedAction",v)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",v),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:N=>{N!==null&&w(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",v),": [0, 5] ",j.t("word.MeterAbbreviation",v)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",v)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",v)})]})})})]})})},Duo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(bb),c=M(Sb),u=M(ao),d=M(io),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.FresnelReflector&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.FresnelReflector&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.FresnelReflector&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.FresnelReflector&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.FresnelReflector&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Fresnel Reflectors",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.FresnelReflector,x.newValue)}};l(x),a(z.FresnelReflector,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.FresnelReflector&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.FresnelReflector,x.groupId,x.newValue)}};l(x),r(z.FresnelReflector,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Fresnel Reflector Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.fresnelReflectorReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,value:p,step:.01,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",A)})]})})})]})})},Euo=t=>{const e=[];if(t.type!==z.FresnelReflector)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"fresnel-reflector-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"fresnel-reflector-cut",label:h.jsx(Tf,{})}),e.push({key:"fresnel-reflector-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"fresnel-reflector-receiver",label:h.jsxs(ro,{Dialog:Ruo,children:[j.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",o)," ..."]})},{key:"fresnel-reflector-length",label:h.jsxs(ro,{Dialog:Huo,children:[j.t("word.Length",o)," ..."]})},{key:"fresnel-reflector-width",label:h.jsxs(ro,{Dialog:Muo,children:[j.t("word.Width",o)," ..."]})},{key:"fresnel-reflector-module-length",label:h.jsxs(ro,{Dialog:Iuo,children:[j.t("fresnelReflectorMenu.ModuleLength",o)," ..."]})},{key:"fresnel-reflector-pole-height",label:h.jsxs(ro,{Dialog:zuo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"fresnel-reflector-reflectance",label:h.jsxs(ro,{Dialog:Duo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"fresnel-reflector-draw-sun-beam",label:h.jsxs(ro,{Dialog:Puo,children:[j.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"fresnel-reflector-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},kuo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(ije),i=M(rje),r=M(aje),a=M(En),l=M(Tb),s=M(Pb),c=M(ao),u=M(io),d=co(z.Heliostat),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),A=T=>{s(T.target.value)},w=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Heliostat&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Heliostat&&!y.locked&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Heliostat&&y.foundationId===(d==null?void 0:d.foundationId)&&!y.locked&&y.drawSunBeam!==T)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==T)return!0}return!1},b=(T,y)=>{M.getState().set(S=>{for(const x of S.elements)x.type===z.Heliostat&&!x.locked&&T.has(x.id)&&(x.drawSunBeam=y)})},C=T=>{if(d&&w(T))switch(l){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.Heliostat&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for Selected Heliostats",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{b(S.oldValues,S.newValue)}};a(S),b(y,T),u(c+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.Heliostat&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Heliostats",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{r(z.Heliostat,S.newValue)}};a(S),r(z.Heliostat,T),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const y=new Map;for(const x of e)x.type===z.Heliostat&&x.foundationId===d.foundationId&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:d.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{S.groupId&&i(z.Heliostat,S.groupId,S.newValue)}};a(S),i(z.Heliostat,d.foundationId,T),u(c+1)}break}default:{const y=n(d.id),S=y?y.drawSunBeam:d.drawSunBeam,x={name:"Draw Sun Beam for Heliostat",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(x.changedElementId,x.oldValue)},redo:()=>{o(x.changedElementId,x.newValue)}};a(x),o(d.id,T),u(c+1);break}}},P=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.Heliostat?null:h.jsx(lo,{width:500,title:j.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:p})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:A,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",g)})]})})})]})})},{Option:Fuo}=Yo,Luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(wje),r=M(vje),a=M(xje),l=M(En),s=M(Tb),c=M(Pb),u=M(ao),d=M(io),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.towerId)??"None"),A=Kt(),w=m.useMemo(()=>{const S=[];for(const x of n)if(x.type===z.Foundation){const R=x;R.solarStructure===zn.FocusTower&&S.push(R.id)}return S},[n]);m.useEffect(()=>{if(g("None"),f)if(f.towerId)g(f.towerId);else{const S=o(f.parentId);S&&S.type===z.Foundation&&S.solarStructure===zn.FocusTower&&g(S.id)}},[f]);const b=S=>{c(S.target.value)},C=S=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.Heliostat&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x.towerId!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.Heliostat&&!x.locked&&x.towerId!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of n)if(x.type===z.Heliostat&&x.foundationId===(f==null?void 0:f.foundationId)&&!x.locked&&x.towerId!==S)return!0;break;default:if((f==null?void 0:f.towerId)!==S)return!0}return!1},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&S.has(H.id)&&(H.towerId=x)})},v=S=>{if(f&&C(S)){switch(s){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.towerId);const R={name:"Set Tower for Selected Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};l(R),P(x,S),d(u+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&x.set(H.id,H.towerId);const R={name:"Set Tower for All Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.Heliostat,R.newValue)}};l(R),a(z.Heliostat,S),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const x=new Map;for(const H of n)H.type===z.Heliostat&&H.foundationId===f.foundationId&&x.set(H.id,H.towerId);const R={name:"Set Tower for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:f.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.Heliostat,R.groupId,R.newValue)}};l(R),r(z.Heliostat,f.foundationId,S),d(u+1)}break}default:{const x=o(f.id),R=x?x.towerId:f.towerId,H={name:"Set Tower for Heliostat",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,S),d(u+1);break}}e(x=>{x.actionState.heliostatTower=S})}},T=()=>{t(!1)},y=()=>{p&&v(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:j.t("heliostatMenu.SelectTowerToReflectSunlightTo",A),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"120px"},value:p,onChange:g,children:w.map((S,x)=>h.jsx(Fuo,{value:S,children:j.t("heliostatMenu.Tower",A)+" "+(x+1)},x))})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",A)})]})})})]})})},Wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(bq),a=M(eW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(io),p=M(ca),g=co(z.Heliostat),[A,w]=m.useState((g==null?void 0:g.lx)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.lx=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.Heliostat&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.Heliostat&&!F.locked&&L.has(F.id)&&(F.lx=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.lx);const U={name:"Set Length for Selected Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&E.set(F.id,F.lx);const U={name:"Set Length for All Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.Heliostat,U.newValue)}};s(U),a(z.Heliostat,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.Heliostat&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&F.foundationId===g.foundationId&&E.set(F.id,F.lx);const U={name:"Set Length for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.Heliostat,U.groupId,U.newValue)}};s(U),r(z.Heliostat,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.lx:g.lx;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Heliostat Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.heliostatLength=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Length",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",P)})]})})})]})})},Nuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(R7),r=M(Sq),a=M(tW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(io),p=M(ca),g=co(z.Heliostat),[A,w]=m.useState((g==null?void 0:g.ly)??4),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.ly=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.Heliostat&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.ly)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.Heliostat&&!F.locked&&L.has(F.id)&&(F.ly=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.ly);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.ly);const U={name:"Set Width for Selected Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.ly);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&E.set(F.id,F.ly);const U={name:"Set Width for All Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.Heliostat,U.newValue)}};s(U),a(z.Heliostat,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.Heliostat&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.ly);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&F.foundationId===g.foundationId&&E.set(F.id,F.ly);const U={name:"Set Width for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.Heliostat,U.groupId,U.newValue)}};s(U),r(z.Heliostat,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.ly:g.ly;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Heliostat Width",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.heliostatWidth=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Width",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",P)})]})})})]})})},Uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(io),p=M(ca),g=co(z.Heliostat),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=W=>{u(W.target.value)},T=W=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.Heliostat&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.Heliostat&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.Heliostat&&N.foundationId===(g==null?void 0:g.foundationId)&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const L of n)if(L.type===z.Heliostat&&L.parentId===g.parentId&&!L.locked&&Math.abs(L.poleHeight-W)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-W)>Dt)return!0;break}}return!1}},y=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)E.type===z.Heliostat&&!E.locked&&W.has(E.id)&&(E.poleHeight=N)})},S=W=>{if(g&&T(W)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.Heliostat&&M.getState().selectedElementIdSet.has(N.id)&&.5*Math.max(N.lx,N.ly)*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for Selected Heliostats",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{y(L.oldValues,L.newValue)}};s(L),y(N,W),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.Heliostat&&.5*Math.max(N.lx,N.ly)*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.Heliostat&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Heliostats",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{a(z.Heliostat,L.newValue)}};s(L),a(z.Heliostat,W),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const N of n)if(N.type===z.Heliostat&&N.foundationId===g.foundationId&&.5*Math.max(N.lx,N.ly)*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.Heliostat&&E.foundationId===g.foundationId&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:g.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{L.groupId&&r(z.Heliostat,L.groupId,L.newValue)}};s(L),r(z.Heliostat,g.foundationId,W),f(d+1)}}break}default:{const N=o(g.id),L=N?N.poleHeight:g.poleHeight;if(b.current=.5*Math.max(g.lx,g.ly)*Math.abs(Math.sin(g.tiltAngle))>W,b.current)C.current=W,w(L);else{const E={name:"Set Heliostat Pole Height",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(E.changedElementId,E.oldValue)},redo:()=>{i(E.changedElementId,E.newValue)}};s(E),i(g.id,W),f(d+1)}break}}e(N=>{N.actionState.heliostatPoleHeight=W})}},x=()=>{b.current=!1,t(!1)},R=()=>{x(),p()},H=()=>{S(A),b.current||(t(!1),f(0))},D=()=>{S(A)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const k=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",P),rejectedMessage:k,onApply:D,onClose:x,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:W=>{W!==null&&w(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [0, 5] ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",P)})]})})})]})})},Buo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(lje),r=M(sje),a=M(cje),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(io),p=co(z.Heliostat),[g,A]=m.useState((p==null?void 0:p.poleRadius)??.1),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const x of n)if(x.type===z.Heliostat&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const x of n)if(x.type===z.Heliostat&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of n)if(x.type===z.Heliostat&&x.foundationId===(p==null?void 0:p.foundationId)&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(p)){for(const R of n)if(R.type===z.Heliostat&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-S)>Dt)return!0}break}default:{if(Math.abs((p==null?void 0:p.poleRadius)-S)>Dt)return!0;break}}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&S.has(H.id)&&(H.poleRadius=x)})},v=S=>{if(p&&C(S)){switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for Selected Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.Heliostat,R.newValue)}};s(R),a(z.Heliostat,S),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of n)H.type===z.Heliostat&&H.foundationId===p.foundationId&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.Heliostat,R.groupId,R.newValue)}};s(R),r(z.Heliostat,p.foundationId,S),f(d+1)}break}default:{const x=o(p.id),R=x?x.poleRadius:p.poleRadius,H={name:"Set Heliostat Pole Radius",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}e(x=>{x.actionState.heliostatPoleRadius=S})}},T=()=>{t(!1)},y=()=>{v(g)};return(p==null?void 0:p.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.PoleRadius",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:S=>{S!==null&&A(S)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",w),": [0.1, 0.5] ",j.t("word.MeterAbbreviation",w)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",w)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",w)})]})})})]})})},juo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(Tb),c=M(Pb),u=M(ao),d=M(io),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Heliostat&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Heliostat&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.Heliostat&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.Heliostat&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Heliostat&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Heliostats",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Heliostat&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Heliostats",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.Heliostat,x.newValue)}};l(x),a(z.Heliostat,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.Heliostat&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.Heliostat,x.groupId,x.newValue)}};l(x),r(z.Heliostat,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Heliostat Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.heliostatReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",A)})]})})})]})})},Yuo=t=>{const e=[];if(t.type!==z.Heliostat)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"heliostat-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"heliostat-cut",label:h.jsx(Tf,{})}),e.push({key:"heliostat-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"heliostat-tower",label:h.jsxs(ro,{Dialog:Luo,children:[j.t("heliostatMenu.SelectTowerToReflectSunlightTo",o)," ..."]})},{key:"heliostat-length",label:h.jsxs(ro,{Dialog:Wuo,children:[j.t("word.Length",o)," ..."]})},{key:"heliostat-width",label:h.jsxs(ro,{Dialog:Nuo,children:[j.t("word.Width",o)," ..."]})},{key:"heliostat-pole-height",label:h.jsxs(ro,{Dialog:Uuo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"heliostat-pole-radius",label:h.jsxs(ro,{Dialog:Buo,children:[j.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"heliostat-reflectance",label:h.jsxs(ro,{Dialog:juo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"heliostat-draw-sun-beam",label:h.jsxs(ro,{Dialog:kuo,children:[j.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"heliostat-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},{Option:fm}=Yo,Ouo=be.memo(({tree:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Tree&&u.id===l){u.name=s;break}})};return h.jsxs(Yo,{style:{width:"160px"},value:(t==null?void 0:t.name)??fi.Pine,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Tree",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.treeType=l}),i(!o)}}},children:[h.jsxs(fm,{value:fi.Apple,children:[h.jsx("img",{alt:fi.Apple,src:Due,height:20,style:{paddingRight:"8px"}})," ",j.t("tree.Apple",r)]},fi.Apple),h.jsxs(fm,{value:fi.Birch,children:[h.jsx("img",{alt:fi.Birch,src:Eue,height:20,style:{paddingRight:"20px"}})," ",j.t("tree.Birch",r)]},fi.Birch),h.jsxs(fm,{value:fi.Coconut,children:[h.jsx("img",{alt:fi.Coconut,src:Yqe,height:20,style:{paddingRight:"18px"}})," ",j.t("tree.Coconut",r)]},fi.Coconut),h.jsxs(fm,{value:fi.Dogwood,children:[h.jsx("img",{alt:fi.Dogwood,src:kue,height:20,style:{paddingRight:"10px"}})," ",j.t("tree.Dogwood",r)]},fi.Dogwood),h.jsxs(fm,{value:fi.Elm,children:[h.jsx("img",{alt:fi.Elm,src:Fue,height:20,style:{paddingRight:"20px"}}),j.t("tree.Elm",r)]},fi.Elm),h.jsxs(fm,{value:fi.FanPalm,children:[h.jsx("img",{alt:fi.FanPalm,src:Oqe,height:20,style:{paddingRight:"18px"}})," ",j.t("tree.FanPalm",r)]},fi.FanPalm),h.jsxs(fm,{value:fi.Linden,children:[h.jsx("img",{alt:fi.Linden,src:Lue,height:20,style:{paddingRight:"10px"}})," ",j.t("tree.Linden",r)]},fi.Linden),h.jsxs(fm,{value:fi.Magnolia,children:[h.jsx("img",{alt:fi.Magnolia,src:Wue,height:20,style:{paddingRight:"10px"}})," ",j.t("tree.Magnolia",r)]},fi.Magnolia),h.jsxs(fm,{value:fi.Maple,children:[h.jsx("img",{alt:fi.Maple,src:Nue,height:20,style:{paddingRight:"12px"}})," ",j.t("tree.Maple",r)]},fi.Maple),h.jsxs(fm,{value:fi.Oak,children:[h.jsx("img",{alt:fi.Oak,src:Uue,height:20,style:{paddingRight:"17px"}}),j.t("tree.Oak",r)]},fi.Oak),h.jsxs(fm,{value:fi.Pine,children:[h.jsx("img",{alt:fi.Pine,src:_qe,height:20,style:{paddingRight:"18px"}})," ",j.t("tree.Pine",r)]},fi.Pine),h.jsxs(fm,{value:fi.Spruce,children:[h.jsx("img",{alt:fi.Spruce,src:Vqe,height:20,style:{paddingRight:"20px"}})," ",j.t("tree.Spruce",r)]},fi.Spruce)]})}),_uo=t=>{const e=[];if(t.type!==z.Tree)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"tree-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"tree-cut",label:h.jsx(Tf,{})}),e.push({key:"tree-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"tree-show-model",label:h.jsx(Vco,{tree:n})},{key:"tree-flip",label:h.jsx(o9e,{billboardModel:n})}),e.push({key:"tree-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[j.t("treeMenu.Type",i),": "]}),h.jsx(Ouo,{tree:n})]})},{key:"tree-spread",label:h.jsx(Gco,{tree:n})},{key:"tree-height",label:h.jsx(Xco,{tree:n})},{key:"tree-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",i)}),children:vA(n)})),{items:e}},Vuo=({wall:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Wall`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},ZRe=({wall:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Wall`:`Unlock All Locked ${l} on Wall`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},Guo=({wall:t})=>{const e=Kt(),n=M.getState().set,o=(r,a)=>{n(l=>{const s=l.elements.find(c=>c.id===r&&c.type===z.Wall);s&&(s.parapet.display=a)})},i=r=>{const a=r.target.checked,l={name:"Parapet",timestamp:Date.now(),checked:a,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{o(t.id,!l.checked)},redo:()=>{o(t.id,l.checked)}};M.getState().addUndoable(l),o(t.id,a),n(s=>{s.actionState.wallParapet.display=a})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.parapet.display,onChange:i,children:j.t("wallMenu.Parapet",e)})})},Xuo=({wall:t})=>{const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.id===r&&s.type===z.Wall){const c=s;c.wallStructure=a,(a===hc.Stud||a===hc.Pillar)&&(c.opacity=0);break}})},o=r=>{const a={name:"Select Wall Structure",timestamp:Date.now(),oldValue:t.wallStructure,newValue:r.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(a.changedElementId,a.oldValue)},redo:()=>{n(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),n(t.id,r.target.value),M.getState().set(l=>{l.actionState.wallStructure=r.target.value,(l.actionState.wallStructure===hc.Stud||l.actionState.wallStructure===hc.Pillar)&&(l.actionState.wallOpacity=0)})},i=t.wallStructure??hc.Default;return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:i,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:hc.Default,children:j.t("wallMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Stud,children:j.t("wallMenu.StudStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Pillar,children:j.t("wallMenu.PillarStructure",e)})]})})})},Juo=({wall:t})=>{const e=M.getState().set,n=Kt(),o=(r,a,l)=>{const{cx:s,cy:c,cz:u}=a,d=l?l.rotation[2]+a.relativeAngle:a.relativeAngle;if(l&&d!==void 0){const f=xe.wallAbsolutePosition(new re(s,c,u),l).setZ(a.lz/2+l.lz);return new re().subVectors(r,f).applyEuler(new Qt(0,0,-d))}return new re},i=()=>{const r=M.getState().getFoundation(t);if(!r)return;const a=o(M.getState().pastePoint,t,r),l=rl.makePolygon(t,-a.x/t.lx,0,-a.z/t.lz,new re(0,0,1),[0,0,0],z.Wall);e(c=>{c.elements.push(l),c.objectTypeToAdd=z.None});const s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{e(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s)};return h.jsx(tn,{onClick:i,children:j.t("foundationMenu.AddPolygon",n)})},Kuo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.fill=r;break}})},o=i=>{const r={name:"Select Wall Fill",timestamp:Date.now(),oldValue:t.fill,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.fill,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:Hl.Full,children:j.t("wallMenu.Full",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Partial,children:j.t("wallMenu.Partial",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Empty,children:j.t("wallMenu.Empty",e)})]})})})},quo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.openToOutside=r;break}})},o=i=>{const r={name:"Set Open to Outside",timestamp:Date.now(),oldValue:!!t.openToOutside,newValue:i.target.checked,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.openToOutside,onChange:o,children:j.t("wallMenu.OpenToOutside",e)})})},yae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"doorCount",lockedKey:"lockedDoorCount",objectType:z.Door},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"polygonCount",lockedKey:"lockedPolygonCount",objectType:z.Polygon},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],$uo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${j.t("wallMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisWall",n)} (${e} ${j.t("wallMenu.SolarPanels",n)})`;break}case z.Window:{o=`${j.t("wallMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllWindowsOnThisWall",n)} (${e} ${j.t("wallMenu.Windows",n)})`;break}case z.Door:{o=`${j.t("wallMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllDoorsOnThisWall",n)} (${e} ${j.t("wallMenu.Doors",n)})`;break}case z.Sensor:{o=`${j.t("wallMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllSensorsOnThisWall",n)} (${e} ${j.t("wallMenu.Sensors",n)})`;break}case z.Light:{o=`${j.t("wallMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllLightsOnThisWall",n)} (${e} ${j.t("wallMenu.Lights",n)})`;break}case z.Polygon:{o=`${j.t("wallMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllPolygonsOnThisWall",n)} (${e} ${j.t("wallMenu.Polygons",n)})`;break}}return{itemLabel:o,modalTitle:i}},Aae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],Quo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return yae.forEach(({key:r,objectType:a})=>{const l=Aae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=$uo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-wall`,label:h.jsx(Vuo,{wall:t,objectType:a,modalTitle:c,children:s})})}}),yae.forEach(({key:r,objectType:a})=>{const l=Aae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-wall`,label:h.jsxs(ZRe,{wall:t,objectType:a,lock:!0,children:[j.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),yae.forEach(({lockedKey:r,objectType:a})=>{const l=Aae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(ZRe,{wall:t,objectType:a,lock:!1,children:[j.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!0,children:[j.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!1,children:[j.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},Zuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(io),l=M(Vn),s=co(z.Wall),c=Kt(),[u,d]=SZ((s==null?void 0:s.parapet.color)??"#ffffff"),f=(T,y)=>{e(S=>{for(const x of S.elements)if(x.id===T&&x.type===z.Wall&&!x.locked){x.parapet.color=y;break}})},p=T=>{if(!s)return;const y=xe.getAllConnectedWalls(s);y.length!==0&&e(S=>{for(const x of y)if(!x.locked)for(const R of S.elements)R.id===x.id&&R.type===z.Wall&&(R.parapet.color=T)})},g=(T,y)=>{e(S=>{for(const x of S.elements)x.parentId===T&&x.type===z.Wall&&!x.locked&&(x.parapet.color=y)})},A=T=>{e(y=>{for(const S of y.elements)S.type===z.Wall&&!S.locked&&(S.parapet.color=T)})},w=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&T.has(x.id)&&(x.parapet.color=y)})},b=T=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.parapet.color&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.parapet.color&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of n)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.parapet.color&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.parapet.color&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.parapet.color))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(i){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.parapet.color??"#ffffff");const S={name:"Set Parapet Color for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{w(S.oldValues,S.newValue)}};o(S),w(y,T),a(r+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&y.set(x.id,x.parapet.color??"#ffffff");const S={name:"Set Parapet Color for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{A(S.newValue)}};o(S),A(T),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;for(const x of n)x.type===z.Wall&&x.foundationId===s.foundationId&&y.set(x.id,x.parapet.color??"#ffffff");const S={name:"Set Parapet Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{S.groupId&&g(S.groupId,S.newValue)}};o(S),g(s.foundationId,T),a(r+1)}break;case ue.AllConnectedObjects:if(s){const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)S.set(R.id,R.color??"#ffffff");const x={name:"Set Parapet Color for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};o(x),p(T),a(r+1)}break;default:if(s){const y=l(s.id),S=(y==null?void 0:y.parapet.color)??s.parapet.color??"#ffffff",x={name:"Set Parapet Color of Selected Wall",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(x.changedElementId,x.oldValue)},redo:()=>{f(x.changedElementId,x.newValue)}};o(x),f(s.id,T),a(r+1)}}e(y=>{y.actionState.wallParapet.color=T})}},P=()=>{C(u)},v=()=>{t(!1)};return h.jsx(lo,{width:640,title:j.t("wallMenu.ParapetColor",c),onApply:P,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",c)})]})})})]})})},lot="/aladdin/assets/wall_01_menu-BlJdKfby.png",sot="/aladdin/assets/wall_02_menu-DfsmvvWJ.png",cot="/aladdin/assets/wall_03_menu-B95_FEuA.png",uot="/aladdin/assets/wall_04_menu-D-Kn25E7.png",dot="/aladdin/assets/wall_05_menu-DGgjaMY9.png",fot="/aladdin/assets/wall_06_menu-EOIch2eu.png",hot="/aladdin/assets/wall_07_menu-DvXS_qn2.png",pot="/aladdin/assets/wall_08_menu-CfftE2pF.png",got="/aladdin/assets/wall_09_menu-_O8A0WOE.png",mot="/aladdin/assets/wall_10_menu-B5QfhD3g.png",edo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(io),l=M(Vn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.parapet.textureType)??No.Default),d=Kt(),{Option:f}=Yo,p=(y,S)=>{e(x=>{for(const R of x.elements)if(R.type===z.Wall&&R.id===y&&!R.locked){R.parapet.textureType=S;break}})},g=y=>{if(!s)return;const S=xe.getAllConnectedWalls(s);S.length!==0&&e(x=>{for(const R of S)if(!R.locked)for(const H of x.elements)H.id===R.id&&H.type===z.Wall&&(H.parapet.textureType=y)})},A=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&R.foundationId===y&&!R.locked&&(R.parapet.textureType=S)})},w=y=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&(x.parapet.textureType=y)})},b=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&!R.locked&&y.has(R.id)&&(R.parapet.textureType=S)})},C=y=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.parapet.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break}case ue.AllObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.parapet.textureType&&!S.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const S of n)if(S.type===z.Wall&&S.foundationId===s.foundationId&&y!==S.parapet.textureType&&!S.locked)return!0;break}case ue.AllConnectedObjects:{const S=xe.getAllConnectedWalls(s);for(const x of S)if(y!==x.parapet.textureType&&!x.locked)return!0;break}default:{if(y!==(s==null?void 0:s.parapet.textureType))return!0;break}}return!1}},P=y=>{if(s&&C(y)){switch(i){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.parapet.textureType??No.Default);const x={name:"Set Parapet Texture for Selected Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{b(x.oldValues,x.newValue)}};o(x),b(S,y),a(r+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&S.set(R.id,R.parapet.textureType??No.Default);const x={name:"Set Parapet Texture for All Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{w(x.newValue)}};o(x),w(y),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const S=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===s.foundationId&&!R.locked&&S.set(R.id,R.parapet.textureType);const x={name:"Set Parapet Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:s.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{x.groupId&&A(x.groupId,x.newValue)}};o(x),A(s.foundationId,y),a(r+1)}break;case ue.AllConnectedObjects:if(s){const S=xe.getAllConnectedWalls(s),x=new Map;for(const H of S)x.set(H.id,H.parapet.textureType);const R={name:"Set Parapet Texture for All Connected Walls",timestamp:Date.now(),oldValues:x,newValue:y,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(y),a(r+1)}break;default:if(s){const S=l(s.id),x=(S==null?void 0:S.parapet.textureType)??s.parapet.textureType,R={name:"Set Parapet Texture of Selected Wall",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(s.id,y),a(r+1)}}e(S=>{S.actionState.wallParapet.textureType=y})}},v=()=>{t(!1)},T=()=>{P(c)};return h.jsx(lo,{width:550,title:j.t("word.Texture",d),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:iye,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.TextureDefault",d)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture01",d)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture02",d)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture03",d)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture04",d)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture05",d)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture06",d)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture07",d)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture08",d)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:got,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture09",d)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:mot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture10",d)]},No.Texture10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:y=>M.getState().setWallActionScope(y.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",d)})]})})})]})})},wae=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ao),d=M(io),f=M(dn),p=m.useRef(t.parapet[n]),g=Kt(),A=R=>{f(H=>{switch(n){case"copingsHeight":H.actionState.wallParapet.copingsHeight=R;break;case"copingsWidth":H.actionState.wallParapet.copingsWidth=R;break;case"parapetHeight":H.actionState.wallParapet.parapetHeight=R;break}})},w=(R,H)=>{f(D=>{for(const k of D.elements)if(k.id===R&&k.type===z.Wall&&!k.locked){k.parapet[n]=H;break}}),A(H)},b=R=>{const H=xe.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const k of H)if(!k.locked)for(const W of D.elements)W.id===k.id&&W.type===z.Wall&&(W.parapet[n]=R)}),A(R))},C=(R,H)=>{f(D=>{for(const k of D.elements)k.parentId===R&&k.type===z.Wall&&!k.locked&&(k.parapet[n]=H)}),A(H)},P=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D.parapet[n]=R)}),A(R)},v=(R,H)=>{f(D=>{for(const k of D.elements)k.type===z.Wall&&!k.locked&&R.has(k.id)&&(k.parapet[n]=H)}),A(H)},T=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H.parapet[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break}case ue.AllObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H.parapet[n]&&!H.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const H of l)if(H.type===z.Wall&&H.foundationId===t.foundationId&&R!==H.parapet[n]&&!H.locked)return!0;break}case ue.AllConnectedObjects:{const H=xe.getAllConnectedWalls(t);for(const D of H)if(R!==D.parapet[n]&&!D.locked)return!0;break}default:{if(R!==t.parapet[n])return!0;break}}return!1},y=R=>{if(t&&T(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.parapet[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&H.set(k.id,k.parapet[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.newValue)}};s(D),P(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const k of l)k.type===z.Wall&&k.foundationId===t.foundationId&&H.set(k.id,k.parapet[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=xe.getAllConnectedWalls(t),D=new Map;for(const W of H)D.set(W.id,W.parapet[n]);const k={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[W,N]of k.oldValues.entries())w(W,N)},redo:()=>{b(k.newValue)}};s(k),b(R),d(u+1)}break;default:if(t){const H=t.parapet[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{w(D.changedElementId,D.oldValue)},redo:()=>{w(D.changedElementId,D.newValue)}};s(D),w(t.id,R),d(u+1)}}},S=()=>{a(!1)},x=()=>{y(p.current)};return h.jsx(lo,{width:550,title:j.t(`wallMenu.${e}`,g),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t.parapet[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",g)})]})})})]})})};var nV=(t=>(t.ParapetHeight="ParapetHeight",t.CopingsHeight="CopingsHeight",t.CopingsWidth="CopingsWidth",t))(nV||{});const tdo={ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},vae=({Dialog:t,wall:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=()=>{M.getState().setApplyCount(0),a(!0)},s=tdo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,onClick:l,children:o}),r&&h.jsx(t,{wall:e,dataType:n,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?j.t(s.unit,i):void 0,setDialogVisible:a})]})},ndo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"parapet-checkbox",label:h.jsx(Guo,{wall:t})}),t.parapet.display&&n.push({type:"divider"},{key:"parapet-color",label:h.jsxs(ro,{noPadding:!0,Dialog:Zuo,children:[j.t("wallMenu.ParapetColor",e)," ..."]})},{key:"parapet-texture",label:h.jsxs(ro,{noPadding:!0,Dialog:edo,children:[j.t("wallMenu.ParapetTexture",e)," ..."]})},{key:"parapet-height",label:h.jsxs(vae,{wall:t,dataType:nV.ParapetHeight,Dialog:wae,children:[j.t("wallMenu.ParapetHeight",e)," ..."]})},{key:"copings-height",label:h.jsxs(vae,{wall:t,dataType:nV.CopingsHeight,Dialog:wae,children:[j.t("wallMenu.CopingsHeight",e)," ..."]})},{key:"copings-width",label:h.jsxs(vae,{wall:t,dataType:nV.CopingsWidth,Dialog:wae,children:[j.t("wallMenu.CopingsWidth",e)," ..."]})}),n},ZP=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ao),d=M(io),f=M(dn),p=m.useRef(t[n]),g=Kt(),A=R=>{f(H=>{switch(n){case"ly":H.actionState.wallThickness=R;break;case"lz":H.actionState.wallHeight=R;break;case"opacity":H.actionState.wallOpacity=R;break;case"structureSpacing":H.actionState.wallStructureSpacing=R;break;case"structureWidth":H.actionState.wallStructureWidth=R;break;case"eavesLength":H.actionState.wallEavesLength=R;break}})},w=(R,H)=>{f(D=>{for(const k of D.elements)if(k.id===R&&k.type===z.Wall&&!k.locked){k[n]=H;break}}),A(H)},b=R=>{const H=xe.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const k of H)if(!k.locked)for(const W of D.elements)W.id===k.id&&W.type===z.Wall&&(W[n]=R)}),A(R))},C=(R,H)=>{f(D=>{for(const k of D.elements)k.parentId===R&&k.type===z.Wall&&!k.locked&&(k[n]=H)}),A(H)},P=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D[n]=R)}),A(R)},v=(R,H)=>{f(D=>{for(const k of D.elements)k.type===z.Wall&&!k.locked&&R.has(k.id)&&(k[n]=H)}),A(H)},T=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break}case ue.AllObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H[n]&&!H.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const H of l)if(H.type===z.Wall&&H.foundationId===t.foundationId&&R!==H[n]&&!H.locked)return!0;break}case ue.AllConnectedObjects:{const H=xe.getAllConnectedWalls(t);for(const D of H)if(R!==D[n]&&!D.locked)return!0;break}default:{if(R!==t[n])return!0;break}}return!1},y=R=>{if(t&&T(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.newValue)}};s(D),P(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const k of l)k.type===z.Wall&&k.foundationId===t.foundationId&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=xe.getAllConnectedWalls(t),D=new Map;for(const W of H)D.set(W.id,W[n]);const k={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[W,N]of k.oldValues.entries())w(W,N)},redo:()=>{b(k.newValue)}};s(k),b(R),d(u+1)}break;default:if(t){const H=t[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{w(D.changedElementId,D.oldValue)},redo:()=>{w(D.changedElementId,D.newValue)}};s(D),w(t.id,R),d(u+1)}}},S=()=>{p.current=t[n],a(!1)},x=()=>{y(p.current)};return h.jsx(lo,{width:550,title:j.t(`wallMenu.${e}`,g),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",g)})]})})})]})})},eC=({Dialog:t,noPadding:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=co(z.Wall),s=()=>{M.getState().setApplyCount(0),a(!0)},c=udo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:s,children:o}),r&&l&&h.jsx(t,{wall:l,dataType:n,attributeKey:c.attributeKey,range:c.range,step:c.step,unit:c.unit?j.t(c.unit,i):void 0,setDialogVisible:a})]})},odo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(io),l=M(Vn),s=co(z.Wall),[c,u]=SZ((s==null?void 0:s.structureColor)??"#ffffff"),d=Kt(),f=(T,y)=>{e(S=>{for(const x of S.elements)if(x.id===T&&x.type===z.Wall&&!x.locked){x.structureColor=y;break}})},p=T=>{if(!s)return;const y=xe.getAllConnectedWalls(s);y.length!==0&&e(S=>{for(const x of y)if(!x.locked)for(const R of S.elements)R.id===x.id&&R.type===z.Wall&&(R.structureColor=T)})},g=(T,y)=>{e(S=>{for(const x of S.elements)x.parentId===T&&x.type===z.Wall&&!x.locked&&(x.structureColor=y)})},A=T=>{e(y=>{for(const S of y.elements)S.type===z.Wall&&!S.locked&&(S.structureColor=T)})},w=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&T.has(x.id)&&(x.color=y)})},b=T=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.structureColor&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.structureColor&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of n)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.structureColor&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.structureColor&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.structureColor))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(i){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.structureColor??"#ffffff");const S={name:"Set Structure Color for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{w(S.oldValues,S.newValue)}};o(S),w(y,T),a(r+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&y.set(x.id,x.structureColor??"#ffffff");const S={name:"Set Structure Color for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{A(S.newValue)}};o(S),A(T),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;for(const x of n)x.type===z.Wall&&x.foundationId===s.foundationId&&y.set(x.id,x.structureColor??"#ffffff");const S={name:"Set Structure Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{S.groupId&&g(S.groupId,S.newValue)}};o(S),g(s.foundationId,T),a(r+1)}break;case ue.AllConnectedObjects:if(s){const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)S.set(R.id,R.color??"#ffffff");const x={name:"Set Structure Color for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};o(x),p(T),a(r+1)}break;default:if(s){const y=l(s.id),S=(y==null?void 0:y.structureColor)??s.structureColor??"#ffffff",x={name:"Set Structure Color of Selected Wall",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(x.changedElementId,x.oldValue)},redo:()=>{f(x.changedElementId,x.newValue)}};o(x),f(s.id,T),a(r+1)}}e(y=>{y.actionState.wallStructureColor=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:640,title:j.t("wallMenu.StructureColor",d),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:u})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",d)})]})})})]})})};var $1=(t=>(t.Height="Height",t.Opacity="Opacity",t.StructureSpacing="StructureSpacing",t.StructureWidth="StructureWidth",t.Thickness="Thickness",t.EavesLength="EavesLength",t))($1||{});const ido=t=>{const e=[],n={lng:M.getState().language};return e.push({key:"wall-structure-submenu-radio-group",label:h.jsx(Xuo,{wall:t}),style:{backgroundColor:"white"}}),t.wallStructure!==hc.Default&&e.push({type:"divider"},{key:"wall-structure-spacing",label:h.jsxs(eC,{noPadding:!0,dataType:$1.StructureSpacing,Dialog:ZP,children:[j.t(`wallMenu.${$1.StructureSpacing}`,n)," ..."]})},{key:"wall-structure-width",label:h.jsxs(eC,{noPadding:!0,dataType:$1.StructureWidth,Dialog:ZP,children:[j.t(`wallMenu.${$1.StructureWidth}`,n)," ..."]})},{key:"wall-structure-color",label:h.jsxs(ro,{noPadding:!0,Dialog:odo,children:[j.t("wallMenu.StructureColor",n)," ..."]})}),e},rdo=t=>{const e=[];return e.push({key:"wall-fill-radio-group",label:h.jsx(Kuo,{wall:t}),style:{backgroundColor:"white"}}),t.fill!==Hl.Full&&e.push({type:"divider"},{key:"wall-open-to-outside-checkbox",label:h.jsx(quo,{wall:t})}),e},ado=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.rValue)??i6),[d,f]=m.useState(xe.toRValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.rValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:{for(const y of e)if(y.type===z.Wall&&T!==y.rValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of e)if(y.type===z.Wall&&T!==y.rValue&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of e)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.rValue&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.rValue&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.rValue))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Wall&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;y.set(x.id,R.rValue??i6),g(R.id,T)}const S={name:"Set R-Value for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Wall&&!x.locked){const R=x;y.set(x.id,R.rValue??i6),g(R.id,T)}const S={name:"Set R-Value for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s!=null&&s.foundationId){const y=new Map;for(const x of e)if(x.type===z.Wall&&x.foundationId===s.foundationId&&!x.locked){const R=x;y.set(x.id,R.rValue??i6),g(R.id,T)}const S={name:"Set R-Value for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.AllConnectedObjects:if(s){const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)if(!R.locked){const H=R;S.set(R.id,H.rValue??i6),g(H.id,T)}const x={name:"Set R-Value for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{A(x.oldValues)},redo:()=>{w(x.oldValues,x.newValue)}};n(x),r(i+1)}break;default:if(s){const S=a(s.id).rValue??s.rValue??i6,x={name:"Set Wall R-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}}l(y=>{y.actionState.wallRValue=T})}},P=()=>{u((s==null?void 0:s.rValue)??i6),t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("word.RValue",p)+" "}(${j.t("word.ThermalResistance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toRValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toRValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",p)})]})})})]})})},ldo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.volumetricHeatCapacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&P!==T.volumetricHeatCapacity&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&P!==T.volumetricHeatCapacity&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Wall&&T.foundationId===s.foundationId&&P!==T.volumetricHeatCapacity&&!T.locked)return!0;break;case ue.AllConnectedObjects:const v=xe.getAllConnectedWalls(s);for(const T of v)if(P!==T.volumetricHeatCapacity&&!T.locked)return!0;break;default:if(P!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Wall&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)){const S=y;v.set(y.id,S.volumetricHeatCapacity??.5),f(S.id,P)}const T={name:"Set Volumetric Heat Capacity for Selected Walls",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Wall&&!y.locked){const S=y;v.set(y.id,S.volumetricHeatCapacity??.5),f(S.id,P)}const T={name:"Set Volumetric Heat Capacity for All Walls",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(s!=null&&s.foundationId){const v=new Map;for(const y of e)if(y.type===z.Wall&&y.foundationId===s.foundationId&&!y.locked){const S=y;v.set(y.id,S.volumetricHeatCapacity??.5),f(S.id,P)}const T={name:"Set Volumetric Heat Capacity for All Walls Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break}case ue.AllConnectedObjects:{if(s){const v=xe.getAllConnectedWalls(s),T=new Map;for(const S of v)if(!S.locked){const x=S;T.set(S.id,x.volumetricHeatCapacity??.5),f(x.id,P)}const y={name:"Set Volumetric Heat Capacity for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:P,undo:()=>{p(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),r(i+1)}break}default:{if(s){const T=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,y={name:"Set Volumetric Heat Capacity of Wall",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}break}}l(v=>{v.actionState.wallVolumetricHeatCapacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>{P!==null&&u(P)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setWallActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",d)})]})})})]})})},sdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(io),l=M(Vn),s=Kt(),c=co(z.Wall),[u,d]=m.useState((c==null?void 0:c.textureType)??No.Default),{Option:f}=Yo,p=(y,S)=>{e(x=>{for(const R of x.elements)if(R.type===z.Wall&&R.id===y&&!R.locked){R.textureType=S;break}})},g=y=>{if(!c)return;const S=xe.getAllConnectedWalls(c);S.length!==0&&e(x=>{for(const R of S)if(!R.locked)for(const H of x.elements)H.id===R.id&&H.type===z.Wall&&(H.textureType=y)})},A=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&R.foundationId===y&&!R.locked&&(R.textureType=S)})},w=y=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&(x.textureType=y)})},b=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&!R.locked&&y.has(R.id)&&(R.textureType=S)})},C=y=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break}case ue.AllObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.textureType&&!S.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const S of n)if(S.type===z.Wall&&S.foundationId===c.foundationId&&y!==S.textureType&&!S.locked)return!0;break}case ue.AllConnectedObjects:{const S=xe.getAllConnectedWalls(c);for(const x of S)if(y!==x.textureType&&!x.locked)return!0;break}default:{if(y!==(c==null?void 0:c.textureType))return!0;break}}return!1}},P=y=>{if(c&&C(y)){switch(i){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.textureType??No.Default);const x={name:"Set Texture for Selected Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{b(x.oldValues,x.newValue)}};o(x),b(S,y),a(r+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&S.set(R.id,R.textureType??No.Default);const x={name:"Set Texture for All Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{w(x.newValue)}};o(x),w(y),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const S=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===c.foundationId&&!R.locked&&S.set(R.id,R.textureType);const x={name:"Set Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:c.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{x.groupId&&A(x.groupId,x.newValue)}};o(x),A(c.foundationId,y),a(r+1)}break;case ue.AllConnectedObjects:if(c){const S=xe.getAllConnectedWalls(c),x=new Map;for(const H of S)x.set(H.id,H.textureType);const R={name:"Set Texture for All Connected Walls",timestamp:Date.now(),oldValues:x,newValue:y,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(y),a(r+1)}break;default:if(c){const S=l(c.id),x=(S==null?void 0:S.textureType)??c.textureType,R={name:"Set Texture of Selected Wall",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(c.id,y),a(r+1)}}e(S=>{S.actionState.wallTexture=y})}},v=()=>{t(!1)},T=()=>{P(u)};return h.jsx(lo,{width:550,title:j.t("word.Texture",s),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",s)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:iye,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.TextureDefault",s)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture01",s)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture02",s)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture03",s)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture04",s)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture05",s)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture06",s)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture07",s)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture08",s)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:got,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture09",s)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:mot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture10",s)]},No.Texture10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:y=>M.getState().setWallActionScope(y.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",s)})]})})})]})})},cdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(io),l=M(Vn),s=co(z.Wall),c=Kt(),[u,d]=SZ((s==null?void 0:s.color)??"#ffffff"),f=(T,y)=>{e(S=>{for(const x of S.elements)if(x.type===z.Wall&&x.id===T&&!x.locked){x.color=y;break}})},p=T=>{if(!s)return;const y=xe.getAllConnectedWalls(s);y.length!==0&&e(S=>{for(const x of y)if(!x.locked)for(const R of S.elements)R.id===x.id&&R.type===z.Wall&&(R.color=T)})},g=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&x.foundationId===T&&!x.locked&&(x.color=y)})},A=T=>{e(y=>{for(const S of y.elements)S.type===z.Wall&&!S.locked&&(S.color=T)})},w=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&T.has(x.id)&&(x.color=y)})},b=T=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.color&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.color&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of n)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.color&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.color&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.color))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(i){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.color??"#ffffff");const S={name:"Set Color for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{w(S.oldValues,S.newValue)}};o(S),w(y,T),a(r+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&y.set(x.id,x.color??"#ffffff");const S={name:"Set Color for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{A(S.newValue)}};o(S),A(T),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(s.foundationId){const y=new Map;for(const x of n)x.type===z.Wall&&x.foundationId===s.foundationId&&y.set(x.id,x.color??"#ffffff");const S={name:"Set Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{S.groupId&&g(S.groupId,S.newValue)}};o(S),g(s.foundationId,T),a(r+1)}break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)S.set(R.id,R.color??"#ffffff");const x={name:"Set Color for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};o(x),p(T),a(r+1);break}default:{if(s){const y=l(s.id),S=(y==null?void 0:y.color)??s.color??"#ffffff",x={name:"Set Color of Selected Wall",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(x.changedElementId,x.oldValue)},redo:()=>{f(x.changedElementId,x.newValue)}};o(x),f(s.id,T),a(r+1)}break}}e(y=>{y.actionState.wallColor=T})}},P=()=>{t(!1)},v=()=>{C(u)};return h.jsx(lo,{width:640,title:j.t("wallMenu.Color",c),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",c)})]})})})]})})},udo={Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation"},Opacity:{attributeKey:"opacity",range:[0,1],step:.01},StructureSpacing:{attributeKey:"structureSpacing",range:[.1,1e3],step:.1,unit:"word.MeterAbbreviation"},StructureWidth:{attributeKey:"structureWidth",range:[.01,1],step:.1,unit:"word.MeterAbbreviation"},Thickness:{attributeKey:"ly",range:[.1,1],step:.01,unit:"word.MeterAbbreviation"},EavesLength:{attributeKey:"eavesLength",range:[-.1,5],step:.01,unit:"word.MeterAbbreviation"},ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},ddo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(xe.isLegalOnWall(e.type))return!0}return!1},fdo=t=>{const e=[];if(t.type!==z.Wall)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1);return ddo()&&e.push({key:"wall-paste",label:h.jsx(OH,{})}),e.push({key:"wall-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"wall-cut",label:h.jsx(Tf,{})}),e.push({key:"wall-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(a.gotSome()&&e.push({key:"lock-unlock-clear-on-wall",label:h.jsx(tn,{children:j.t("word.Elements",i)}),children:Quo(n,a,l)}),e.push({key:"wall-parapet",label:h.jsx(tn,{children:j.t("wallMenu.Parapet",i)}),children:ndo(n)}),e.push({key:"wall-structure",label:h.jsx(tn,{children:j.t("wallMenu.WallStructure",i)}),children:ido(n)}),n.wallStructure!==hc.Default&&e.push({key:"wall-opacity",label:h.jsxs(eC,{dataType:$1.Opacity,Dialog:ZP,children:[j.t(`wallMenu.${$1.Opacity}`,i)," ..."]})}),e.push({key:"wall-fill",label:h.jsx(tn,{children:j.t("wallMenu.Fill",i)}),children:rdo(n)},{key:"add-polygon-on-wall",label:h.jsx(Juo,{wall:n})},{key:"wall-thickness",label:h.jsxs(eC,{dataType:$1.Thickness,Dialog:ZP,children:[j.t(`wallMenu.${$1.Thickness}`,i)," ..."]})},{key:"wall-height",label:h.jsxs(eC,{dataType:$1.Height,Dialog:ZP,children:[j.t(`wallMenu.${$1.Height}`,i)," ..."]})},{key:"wall-eaves-length",label:h.jsxs(eC,{dataType:$1.EavesLength,Dialog:ZP,children:[j.t(`wallMenu.${$1.EavesLength}`,i)," ..."]})},{key:"wall-r-value",label:h.jsxs(ro,{Dialog:ado,children:[j.t("word.RValue",i)," ..."]})},{key:"wall-heat-capacity",label:h.jsxs(ro,{Dialog:ldo,children:[j.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"wall-texture",label:h.jsxs(ro,{Dialog:sdo,children:[j.t("wallMenu.Texture",i)," ..."]})},{key:"wall-color",label:h.jsxs(ro,{Dialog:cdo,children:[j.t("wallMenu.Color",i)," ..."]})})),{items:e}},hdo=be.memo(({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.filled=r;break}})},o=i=>{const r=i.target.checked,a={name:"Filled Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorFilled=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.filled,onChange:o,children:j.t("doorMenu.Filled",e)})})}),pdo=be.memo(({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.interior,onChange:o,children:j.t("doorMenu.Interior",e)})})}),gdo=be.memo(({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.doorType=r;break}})},o=i=>{const r={name:"Select Door Type",timestamp:Date.now(),oldValue:t.doorType,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.doorType=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.doorType,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:Sd.Default,children:j.t("doorMenu.Default",e)}),h.jsx(Be,{style:{width:"100%"},value:Sd.Arched,children:j.t("doorMenu.Arched",e)})]})})})}),mdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const S=c?c.lx:1,x=c?s(c):null;return x?S*x.lx:S},[c==null?void 0:c.lx]),[d,f]=m.useState(u),p=Kt(),g=(S,x)=>{l(R=>{for(const H of R.elements)if(H.id===S&&H.type===z.Door){const D=H,k=s(D);D.lx=k?x/k.lx:x;break}})},A=S=>{for(const[x,R]of S.entries())g(x,R)},w=(S,x)=>{for(const R of S.keys())g(R,x)},b=S=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}case ue.AllObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of e)if(x.type===z.Door&&x.foundationId===c.foundationId&&!x.locked){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}case ue.OnlyThisSide:{for(const x of e)if(x.type===z.Door&&x.parentId===c.parentId&&!x.locked){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}default:{const x=s(c);if(x&&S!==c.lx*x.lx)return!0;break}}return!1}},C=S=>{if(c&&b(S))switch(o){case ue.AllSelectedObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for Selected Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for All Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for All Doors Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.foundationId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for All Doors On the Same Wall",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.parentId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const x=a(c.id),R=c?s(x):null,H=(x.lx??c.lx??.1)*(R?R.lx:1),D={name:"Set Door Width",timestamp:Date.now(),oldValue:H,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,S),r(i+1)}}},P=()=>{t(!1)},v=()=>{C(d)},T=c?s(c):null,y=T&&c?2*T.lx*Math.min(Math.abs(.5-c.cx),Math.abs(-.5-c.cx)):100;return h.jsx(lo,{width:550,title:j.t("word.Width",p),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:y,style:{width:120},step:.1,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>f(S)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.1, ",y.toFixed(1),"]",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setDoorActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",p)})]})})})]})})},ydo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const S=c?c.lz:1,x=c?s(c):null;return x?S*x.lz:S},[c==null?void 0:c.lz]),[d,f]=m.useState(u),p=Kt(),g=(S,x)=>{l(R=>{for(const H of R.elements)if(H.id===S&&H.type===z.Door){const D=H,k=s(D);D.lz=k?x/k.lz:x,k&&(D.cz=-(k.lz-x)/(2*k.lz));break}})},A=S=>{for(const[x,R]of S.entries())g(x,R)},w=(S,x)=>{for(const R of S.keys())g(R,x)},b=S=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}case ue.AllObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of e)if(x.type===z.Door&&x.foundationId===c.foundationId&&!x.locked){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}case ue.OnlyThisSide:{for(const x of e)if(x.type===z.Door&&x.parentId===c.parentId&&!x.locked){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}default:{const x=s(c);if(x&&S!==c.lz*x.lz)return!0;break}}return!1}},C=S=>{if(c&&b(S))switch(o){case ue.AllSelectedObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for Selected Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for All Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for All Doors Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.foundationId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for All Doors On the Same Wall",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.parentId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const x=a(c.id),R=c?s(x):null,H=(x.lz??c.lz??.2)*(R?R.lz:1),D={name:"Set Door Height",timestamp:Date.now(),oldValue:H,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,S),r(i+1)}}},P=()=>{f(u),t(!1)},v=()=>{C(d)},T=c?s(c):null,y=(T==null?void 0:T.lz)??20;return h.jsx(lo,{width:550,title:j.t("word.Height",p),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:y,style:{width:120},step:.1,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&f(S)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.1, ",y.toFixed(1),"]",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setDoorActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",p)})]})})})]})})},Ado=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.opacity)??1),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.opacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===s.foundationId&&P!==v.opacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===s.parentId&&P!==v.opacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.opacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.foundationId===s.foundationId&&!S.locked){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.parentId===s.parentId&&!S.locked){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).opacity??s.opacity??1,y={name:"Set Opacity of Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.doorOpacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("wallMenu.Opacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},wdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.uValue)??j4),[d,f]=m.useState(xe.toUValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.uValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Door&&T!==y.uValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Door&&T!==y.uValue&&!y.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Door&&y.foundationId===s.foundationId&&T!==y.uValue&&!y.locked)return!0;break;case ue.OnlyThisSide:for(const y of e)if(y.type===z.Door&&y.parentId===s.parentId&&T!==y.uValue&&!y.locked)return!0;break;default:if(T!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for Selected Doors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for All Doors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&R.foundationId===s.foundationId&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for All Doors Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&R.parentId===s.parentId&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for All Doors On the Same Wall",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.parentId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).uValue??s.uValue??j4,x={name:"Set Door U-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}}l(y=>{y.actionState.doorUValue=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("word.UValue",p)+" "}(${j.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toUValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toUValueInUS(.01),max:xe.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toUValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toUValueInUS(.01).toFixed(3),", ",xe.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setDoorActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",p)})]})})})]})})},vdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.volumetricHeatCapacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.foundationId===s.foundationId&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.parentId===s.parentId&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,y={name:"Set Volumetric Heat Capacity of Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.doorVolumetricHeatCapacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>{P!==null&&u(P)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},xdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(io),a=M(dn),l=M(Vn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.textureType)??ri.Default),d=Kt(),{Option:f}=Yo,p=(v,T)=>{a(y=>{for(const S of y.elements)if(S.id===v){S.locked||(S.textureType=T);break}})},g=(v,T)=>{for(const y of v.keys())p(y,T)},A=v=>{for(const[T,y]of v.entries())p(T,y)},w=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Door&&v!==T.textureType&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Door&&v!==T.textureType&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Door&&T.foundationId===s.foundationId&&v!==T.textureType&&!T.locked)return!0;break;case ue.OnlyThisSide:for(const T of e)if(T.type===z.Door&&T.parentId===s.parentId&&v!==T.textureType&&!T.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},b=v=>{if(s&&w(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,S.textureType??ri.Default);const y={name:"Set Texture for Selected Doors",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&!S.locked&&T.set(S.id,S.textureType??ri.Default);const y={name:"Set Texture for All Doors",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&S.foundationId===s.foundationId&&!S.locked&&T.set(S.id,S.textureType);const y={name:"Set Texture for All Doors Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:s.foundationId,undo:()=>{A(y.oldValues)},redo:()=>{y.groupId&&g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&S.parentId===s.parentId&&!S.locked&&T.set(S.id,S.textureType);const y={name:"Set Texture for All Doors On the Same Wall",timestamp:Date.now(),oldValues:T,newValue:v,groupId:s.parentId,undo:()=>{A(y.oldValues)},redo:()=>{y.groupId&&g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1)}break;default:if(s){const T=l(s.id),y=T?T.textureType:s.textureType,S={name:"Set Texture of Selected Door",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};n(S),p(s.id,v),r(i+1)}}a(T=>{T.actionState.doorTexture=v})}},C=()=>{t(!1)},P=()=>{b(c)};return h.jsx(lo,{width:550,title:j.t("word.Texture",d),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:ri.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},ri.NoTexture),h.jsxs(f,{value:ri.Default,children:[h.jsx("img",{alt:ri.Default,src:gqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.TextureDefault",d)]},ri.Default),h.jsxs(f,{value:ri.Texture01,children:[h.jsx("img",{alt:ri.Texture01,src:mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture01",d)]},ri.Texture01),h.jsxs(f,{value:ri.Texture02,children:[h.jsx("img",{alt:ri.Texture02,src:zue,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture02",d)]},ri.Texture02),h.jsxs(f,{value:ri.Texture03,children:[h.jsx("img",{alt:ri.Texture03,src:yqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture03",d)]},ri.Texture03),h.jsxs(f,{value:ri.Texture04,children:[h.jsx("img",{alt:ri.Texture04,src:Aqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture04",d)]},ri.Texture04),h.jsxs(f,{value:ri.Texture05,children:[h.jsx("img",{alt:ri.Texture05,src:wqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture05",d)]},ri.Texture05),h.jsxs(f,{value:ri.Texture06,children:[h.jsx("img",{alt:ri.Texture06,src:vqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture06",d)]},ri.Texture06),h.jsxs(f,{value:ri.Texture07,children:[h.jsx("img",{alt:ri.Texture07,src:xqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture07",d)]},ri.Texture07),h.jsxs(f,{value:ri.Texture08,children:[h.jsx("img",{alt:ri.Texture08,src:bqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture08",d)]},ri.Texture08),h.jsxs(f,{value:ri.Texture09,children:[h.jsx("img",{alt:ri.Texture09,src:Sqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture09",d)]},ri.Texture09),h.jsxs(f,{value:ri.Texture10,children:[h.jsx("img",{alt:ri.Texture10,src:Tqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture10",d)]},ri.Texture10),h.jsxs(f,{value:ri.Texture11,children:[h.jsx("img",{alt:ri.Texture11,src:Pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture11",d)]},ri.Texture11),h.jsxs(f,{value:ri.Texture12,children:[h.jsx("img",{alt:ri.Texture12,src:Cqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture12",d)]},ri.Texture12),h.jsxs(f,{value:ri.Texture13,children:[h.jsx("img",{alt:ri.Texture13,src:Rqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture13",d)]},ri.Texture13),h.jsxs(f,{value:ri.Texture14,children:[h.jsx("img",{alt:ri.Texture14,src:Hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture14",d)]},ri.Texture14),h.jsxs(f,{value:ri.Texture15,children:[h.jsx("img",{alt:ri.Texture15,src:Mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture15",d)]},ri.Texture15),h.jsxs(f,{value:ri.Texture16,children:[h.jsx("img",{alt:ri.Texture16,src:Iqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture16",d)]},ri.Texture16),h.jsxs(f,{value:ri.Texture17,children:[h.jsx("img",{alt:ri.Texture17,src:zqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture17",d)]},ri.Texture17)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setDoorActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},bdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ao),a=M(io),l=M(Vn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.color=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&P!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&P!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&P!==v.color&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&P!==v.color&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.color))return!0;break}return!1},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.parentId===s.parentId&&!s.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.color:s.color)??"#ffffff",y={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}e(v=>{v.actionState.doorColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("word.Color",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},Sdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ao),a=M(io),l=M(Vn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.frameColor)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){!y.locked&&y.type===z.Door&&(y.frameColor=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&M.getState().selectedElementIdSet.has(v.id)&&P!==v.frameColor)return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&P!==v.frameColor)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&!v.locked&&P!==v.frameColor)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&!v.locked&&P!==v.frameColor)return!0;break;default:if(P!==(s==null?void 0:s.frameColor))return!0;break}return!1},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.parentId===s.parentId&&!s.locked&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.frameColor:s.frameColor)??"#ffffff",y={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}e(v=>{v.actionState.doorColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("doorMenu.FrameColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.frameColor)??"#ffffff",onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},Tdo=t=>{const e=[];if(t.type!==z.Door)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"door-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"door-cut",label:h.jsx(Tf,{})}),e.push({key:"door-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"door-filled",label:h.jsx(hdo,{door:n})},{key:"door-interior",label:h.jsx(pdo,{door:n})}),e.push({key:"door-type-submenu",label:h.jsx(tn,{children:j.t("doorMenu.DoorType",i)}),children:[{key:"door-type-radio-group",label:h.jsx(gdo,{door:n}),style:{backgroundColor:"white"}}]},{key:"door-width",label:h.jsxs(ro,{Dialog:mdo,children:[j.t("word.Width",i)," ..."]})},{key:"door-height",label:h.jsxs(ro,{Dialog:ydo,children:[j.t("word.Height",i)," ..."]})}),n.filled&&(e.push({key:"door-u-value",label:h.jsxs(ro,{Dialog:wdo,children:[j.t("word.UValue",i)," ..."]})},{key:"door-heat-capacity",label:h.jsxs(ro,{Dialog:vdo,children:[j.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"door-texture",label:h.jsxs(ro,{Dialog:xdo,children:[j.t("word.Texture",i)," ..."]})},{key:"door-color",label:h.jsxs(ro,{Dialog:bdo,children:[j.t("word.Color",i)," ..."]})},{key:"door-frame-color",label:h.jsxs(ro,{Dialog:Sdo,children:[j.t("doorMenu.FrameColor",i)," ..."]})}),(n.textureType===ri.Default||n.textureType===ri.NoTexture)&&e.push({key:"door-opacity",label:h.jsxs(ro,{Dialog:Ado,children:[j.t("wallMenu.Opacity",i)," ..."]})}))),{items:e}},Pdo=({windowModel:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,note:a,digit:l,setDialogVisible:s})=>{const c=M(Jn),u=M(En),d=M(cW),f=M(ao),p=M(io),g=M(dn),A=M(rr),w=m.useMemo(()=>{const L=t[n],E=A(t);if(E&&t.parentType!==z.Roof){if(n==="lx")return L*E.lx;if(n==="lz")return L*E.lz}return n==="sillWidth"&&L===void 0?.2:L},[n,t]),[b,C]=m.useState(w),P=Kt(),v=(L,E,U)=>{const F=A(L);F&&(E==="lx"||E==="lz")?L.parentType===z.Roof?L[E]=U:L[E]=U/F[E]:L[E]=U},T=(L,E)=>{g(U=>{for(const F of U.elements)if(F.id===L){!F.locked&&F.type===z.Window&&v(F,n,E);break}})},y=(L,E)=>{L&&g(U=>{for(const F of U.elements)!F.locked&&F.type===z.Window&&F.parentId===L&&v(F,n,E)})},S=(L,E)=>{L&&g(U=>{for(const F of U.elements)!F.locked&&F.type===z.Window&&F.foundationId===L&&v(F,n,E)})},x=L=>{g(E=>{for(const U of E.elements)!U.locked&&U.type===z.Window&&v(U,n,L)})},R=(L,E)=>{g(U=>{for(const F of U.elements)!F.locked&&F.type===z.Window&&L.has(F.id)&&v(F,n,E)})},H=L=>{for(const[E,U]of L.entries())T(E,U)},D=L=>{switch(d){case ue.AllSelectedObjectsOfThisType:{for(const E of c)if(E.type===z.Window&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}case ue.AllObjectsOfThisType:{for(const E of c)if(E.type===z.Window&&!E.locked){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const E of c)if(E.type===z.Window&&E.foundationId===t.foundationId&&!E.locked){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}case ue.OnlyThisSide:{for(const E of c)if(E.type===z.Window&&E.parentId===t.parentId&&!E.locked){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}default:{const E=A(t);if(E&&t.parentType!==z.Roof){if(n==="lx"){if(L!==t[n]*E.lx)return!0}else if(n==="lz"){if(L!==t[n]*E.lz)return!0}else if(L!==t[n])return!0}else if(L!==t[n])return!0;break}}return!1},k=L=>{if(t&&D(L)){switch(d){case ue.AllSelectedObjectsOfThisType:{const E=new Map;for(const F of c)if(F.type===z.Window&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{H(U.oldValues)},redo:()=>{R(U.oldValues,U.newValue)}};u(U),R(E,L),p(f+1);break}case ue.AllObjectsOfThisType:{const E=new Map;for(const F of c)if(F.type===z.Window&&!F.locked){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{H(U.oldValues)},redo:()=>{x(U.newValue)}};u(U),x(L),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const E=new Map;for(const F of c)if(F.type===z.Window&&F.foundationId===t.foundationId&&!F.locked){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:E,newValue:L,groupId:t.foundationId,undo:()=>{H(U.oldValues)},redo:()=>{S(t.foundationId,U.newValue)}};u(U),S(t.foundationId,L),p(f+1)}break;case ue.OnlyThisSide:if(t.parentId){const E=new Map;for(const F of c)if(F.type===z.Window&&F.parentId===t.parentId&&!F.locked){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for All Windows On the Same Parent`,timestamp:Date.now(),oldValues:E,newValue:L,groupId:t.parentId,undo:()=>{H(U.oldValues)},redo:()=>{y(t.parentId,U.newValue)}};u(U),y(t.parentId,L),p(f+1)}break;default:if(t){let E=t[n];const U=A(t);U&&t.parentType!==z.Roof&&(n==="lx"?E*=U.lx:n==="lz"&&(E*=U.lz));const F={name:`Set Window ${e}`,timestamp:Date.now(),oldValue:E,newValue:L,changedElementId:t.id,changedElementType:t.type,undo:()=>{T(F.changedElementId,F.oldValue)},redo:()=>{T(F.changedElementId,F.newValue)}};u(F),T(t.id,L),p(f+1)}}g(E=>{switch(e){case Jh.Width:E.actionState.windowWidth=L;break;case Jh.Height:E.actionState.windowHeight=L;break;case Jh.Opacity:E.actionState.windowOpacity=L;break;case Jh.FrameWidth:E.actionState.windowFrameWidth=L;break;case Jh.SillWidth:E.actionState.windowSillWidth=L;break;case Jh.HorizontalMullionSpacing:E.actionState.windowHorizontalMullionSpacing=L;break;case Jh.VerticalMullionSpacing:E.actionState.windowVerticalMullionSpacing=L;break;case Jh.MullionWidth:E.actionState.windowMullionWidth=L;break}})}},W=()=>{s(!1)},N=()=>{k(b)};return h.jsx(lo,{width:550,title:j.t(`windowMenu.${e}`,P),onApply:N,onClose:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,value:b,formatter:L=>Number(L).toFixed(2),onChange:L=>{L!==null&&C(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [",o[0].toFixed(o[0]===0?0:l??0),","," ",o[1].toFixed(l??0),"] ",r," ",h.jsx("br",{}),h.jsx("br",{})," ",a]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L=>M.getState().setWindowActionScope(L.target.value),value:d,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",P)})]})})})]})})},Cdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ao),c=M(io),[u,d]=SZ(t[n]??"#ffffff"),f=Kt(),p=(S,x)=>{r(R=>{for(const H of R.elements)if(H.id===S){!H.locked&&H.type===z.Window&&(H[n]=x);break}})},g=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===S&&(H[n]=x)})},A=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===S&&(H[n]=x)})},w=S=>{r(x=>{for(const R of x.elements)!R.locked&&R.type===z.Window&&(R[n]=S)})},b=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&S.has(H.id)&&(H[n]=x)})},C=S=>{for(const[x,R]of S.entries())p(x,R)},P=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const x of i)if(x.type===z.Window&&S!==x[n]&&!x.locked&&M.getState().selectedElementIdSet.has(x.id))return!0;break;case ue.AllObjectsOfThisType:for(const x of i)if(x.type===z.Window&&S!==x[n]&&!x.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of i)if(x.type===z.Window&&x.foundationId===t.foundationId&&S!==x[n]&&!x.locked)return!0;break;case ue.OnlyThisSide:for(const x of i)if(x.type===z.Window&&x.parentId===t.parentId&&S!==x[n]&&!x.locked)return!0;break;default:if(S!==t[n])return!0;break}return!1},v=S=>{if(t&&P(S)){switch(l){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{b(R.oldValues,R.newValue)}};a(R),b(x,S),c(s+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{w(R.newValue)}};a(R),w(S),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(t.foundationId){const x=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{A(R.groupId,R.newValue)}};a(R),A(t.foundationId,S),c(s+1)}break}case ue.OnlyThisSide:{if(t.parentId){const x=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,S),c(s+1)}break}default:{if(t){const x=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,S),c(s+1)}break}}r(x=>{switch(e){case Jh.Tint:x.actionState.windowTint=S;break;case Jh.MullionColor:x.actionState.windowMullionColor=S;break;case Jh.Color:x.actionState.windowColor=S;break}})}},T=()=>{o()},y=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:640,title:j.t(`windowMenu.${e}`,f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??"#73D8FF",onChangeComplete:d})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWindowActionScope(S.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",f)})]})})})]})})},Rdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ao),c=M(io),[u,d]=m.useState(t[n]),f=Kt(),p=(S,x)=>{r(R=>{for(const H of R.elements)if(H.id===S&&!H.locked&&H.type===z.Window){H[n]=x;break}})},g=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===S&&(H[n]=x)})},A=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===S&&(H[n]=x)})},w=S=>{r(x=>{for(const R of x.elements)!R.locked&&R.type===z.Window&&(R[n]=S)})},b=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&S.has(H.id)&&(H[n]=x)})},C=S=>{for(const[x,R]of S.entries())p(x,R)},P=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const x of i)if(x.type===z.Window&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x[n]!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of i)if(x.type===z.Window&&!x.locked&&x[n]!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of i)if(x.type===z.Window&&x.foundationId===t.foundationId&&!x.locked&&x[n]!==S)return!0;break;case ue.OnlyThisSide:for(const x of i)if(x.type===z.Window&&x.parentId===t.parentId&&!x.locked&&x[n]!==S)return!0;break;default:if(t[n]!==S)return!0;break}return!1},v=S=>{if(t&&P(S))switch(l){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{b(R.oldValues,R.newValue)}};a(R),b(x,S),c(s+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{w(R.newValue)}};a(R),w(S),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(t.foundationId){const x=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{A(R.groupId,R.newValue)}};a(R),A(t.foundationId,S),c(s+1)}break}case ue.OnlyThisSide:{if(t.parentId){const x=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,S),c(s+1)}break}default:{if(t){const x=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,S),c(s+1)}break}}},T=()=>{o()},y=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:500,title:j.t(`windowMenu.${e}`,f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:u,onChange:S=>{d(S)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWindowActionScope(S.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",f)})]})})})]})})},{Option:Hdo}=Yo,Mdo=({window:t,dataType:e,attributeKey:n,options:o,optionsText:i,setDialogVisible:r})=>{const a=M(Jn),l=M(dn),s=M(En),c=M(cW),u=M(ao),d=M(io),[f,p]=m.useState(t[n]),g=Kt(),A=(R,H)=>{l(D=>{for(const k of D.elements)if(k.id===R){!k.locked&&k.type===z.Window&&(k[n]=H);break}})},w=(R,H)=>{l(D=>{for(const k of D.elements)!k.locked&&k.type===z.Window&&k.parentId===R&&(k[n]=H)})},b=(R,H)=>{l(D=>{for(const k of D.elements)!k.locked&&k.type===z.Window&&k.foundationId===R&&(k[n]=H)})},C=R=>{l(H=>{for(const D of H.elements)!D.locked&&D.type===z.Window&&(D[n]=R)})},P=(R,H)=>{l(D=>{for(const k of D.elements)!k.locked&&k.type===z.Window&&R.has(k.id)&&(k[n]=H)})},v=R=>{for(const[H,D]of R.entries())A(H,D)},T=R=>{if(t){switch(c){case ue.AllSelectedObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break;case ue.AllObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of a)if(H.type===z.Window&&H.foundationId===t.foundationId&&R!==H[n]&&!H.locked)return!0;break;case ue.OnlyThisSide:for(const H of a)if(H.type===z.Window&&H.parentId===t.parentId&&R!==H[n]&&!H.locked)return!0;break;default:if(R!==t[n])return!0;break}return!1}},y=R=>{if(t&&T(R)){switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of a)k.type===z.Window&&!k.locked&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k[n]);const D={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{P(D.oldValues,D.newValue)}};s(D),P(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of a)k.type===z.Window&&!k.locked&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{C(D.newValue)}};s(D),C(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(t.foundationId){const H=new Map;for(const k of a)k.type===z.Window&&k.foundationId===t.foundationId&&!t.locked&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{v(D.oldValues)},redo:()=>{b(D.groupId,D.newValue)}};s(D),b(t.foundationId,R),d(u+1)}break}case ue.OnlyThisSide:{if(t.parentId){const H=new Map;for(const k of a)k.type===z.Window&&k.parentId===t.parentId&&!k.locked&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.parentId,undo:()=>{v(D.oldValues)},redo:()=>{w(t.parentId,D.newValue)}};s(D),w(t.parentId,R),d(u+1)}break}default:{if(t){const H=t[n],D={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{A(D.changedElementId,D.oldValue)},redo:()=>{A(D.changedElementId,D.newValue)}};s(D),A(t.id,R),d(u+1)}break}}l(H=>{switch(e){case Jh.Tint:H.actionState.windowTint=R;break;case Jh.MullionColor:H.actionState.windowMullionColor=R;break;case Jh.Color:H.actionState.windowColor=R;break}})}},S=()=>{r()},x=()=>{y(f)};return h.jsx(lo,{width:560,title:j.t(`windowMenu.${e}`,g),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"150px"},value:f,onChange:R=>p(R),children:o.map((R,H)=>h.jsx(Hdo,{value:R,children:i[H]},R))})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWindowActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",g)})]})})})]})})};var mg=(t=>(t.Opacity="Opacity",t.Width="Width",t.Height="Height",t.Setback="Setback",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionWidth="MullionWidth",t.SillWidth="SillWidth",t.FrameWidth="FrameWidth",t.ShutterWidth="ShutterWidth",t))(mg||{}),LN=(t=>(t.ShutterColor="ShutterColor",t.Color="Color",t.MullionColor="MullionColor",t.Tint="Tint",t))(LN||{}),LR=(t=>(t.Frame="Frame",t.LeftShutter="LeftShutter",t.RightShutter="RightShutter",t.HorizontalMullion="HorizontalMullion",t.VerticalMullion="VerticalMullion",t))(LR||{}),yot=(t=>(t.WindowType="WindowType",t))(yot||{});const c9=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=r?M.getState().getParent(r):null,l=()=>{M.getState().setApplyCount(0),i(!0)},s=Bdo[t];return t===mg.Width?s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lx*Math.min(Math.abs(.5-r.cx),Math.abs(-.5-r.cx)):100:t===mg.Height&&(s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lz*Math.min(Math.abs(.5-r.cz),Math.abs(-.5-r.cz)):100),h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:l,children:[j.t(`windowMenu.${t}`,n)," ..."]}),o&&s&&r&&h.jsx(Pdo,{windowModel:r,dataType:t,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?j.t(s.unit,n):void 0,note:s.note?j.t(s.note,n):void 0,digit:s.digit??0,setDialogVisible:i})]})},jZ=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Wdo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[j.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Cdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},PF=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Ndo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[j.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Rdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},Ido=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),i(!0)},l=Udo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[j.t(`windowMenu.${t}`,n)," ..."]}),o&&l&&r&&h.jsx(Mdo,{window:r,dataType:t,attributeKey:l.attributeKey,options:[Sr.Default,Sr.Arched,Sr.Polygonal],optionsText:[j.t("windowMenu.Default",n),j.t("windowMenu.Arched",n),j.t("windowMenu.Polygonal",n)],setDialogVisible:()=>i(!1)})]})},zdo=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.empty=r;break}})},o=i=>{const r=i.target.checked,a={name:"Empty Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowEmpty=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.empty,onChange:o,children:j.t("windowMenu.Empty",e)})})},Ddo=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.interior,onChange:o,children:j.t("windowMenu.Interior",e)})})},Edo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(cW),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Window),[c,u]=m.useState((s==null?void 0:s.uValue)??B4),[d,f]=m.useState(xe.toUValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.uValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Window&&T!==y.uValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Window&&T!==y.uValue&&!y.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Window&&y.foundationId===s.foundationId&&T!==y.uValue&&!y.locked)return!0;break;case ue.OnlyThisSide:for(const y of e)if(y.type===z.Window&&y.parentId===s.parentId&&T!==y.uValue&&!y.locked)return!0;break;default:if(T!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Window&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for Selected Windows",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Window&&!x.locked){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for All Windows",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(s.foundationId){const y=new Map;for(const x of e)if(x.type===z.Window&&x.foundationId===s.foundationId&&!x.locked){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for All Windows Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break}case ue.OnlyThisSide:{if(s.parentId){const y=new Map;for(const x of e)if(x.type===z.Window&&x.parentId===s.parentId&&!x.locked){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for All Windows On the Same Wall",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.parentId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break}default:{if(s){const S=a(s.id).uValue??s.uValue??B4,x={name:"Set Window U-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}break}}l(y=>{y.actionState.windowUValue=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("word.UValue",p)+" "}(${j.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toUValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toUValueInUS(.01),max:xe.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toUValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toUValueInUS(.01).toFixed(3),", ",xe.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWindowActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",p)})]})})})]})})},kdo=t=>{const e=[];return e.push({key:"window-frame-boolean",label:h.jsx(PF,{noPadding:!0,dataType:LR.Frame})}),t.frame&&e.push({type:"divider"},{key:"window-frame-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.FrameWidth})},{key:"window-sill-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.SillWidth})},{key:"window-frame-color",label:h.jsx(jZ,{noPadding:!0,dataType:LN.Color})}),e},Fdo=t=>{const e=[];return e.push({key:"window-horizontal-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.HorizontalMullion})},{key:"window-vertical-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.VerticalMullion})}),(t.horizontalMullion||t.verticalMullion)&&(e.push({type:"divider"},{key:"window-mullion-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.MullionWidth})},{key:"window-mullion-color",label:h.jsx(jZ,{noPadding:!0,dataType:LN.MullionColor})}),t.horizontalMullion&&e.push({key:"window-horizontal-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:mg.HorizontalMullionSpacing})}),t.verticalMullion&&e.push({key:"window-vertical-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:mg.VerticalMullionSpacing})})),e},Ldo=t=>{const e=[];return e.push({key:"window-left-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.LeftShutter})},{key:"window-right-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.RightShutter})}),(t.leftShutter||t.rightShutter)&&e.push({type:"divider"},{key:"window-shutter-color",label:h.jsx(jZ,{noPadding:!0,dataType:LN.ShutterColor})},{key:"window-shutter-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.ShutterWidth})}),e};var Jh=(t=>(t.Color="Color",t.Tint="Tint",t.Opacity="Opacity",t.WindowType="WindowType",t.MullionWidth="MullionWidth",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionColor="MullionColor",t.Frame="Frame",t.FrameWidth="FrameWidth",t.SillWidth="SillWidth",t.Width="Width",t.Height="Height",t))(Jh||{});const Wdo={Tint:{attributeKey:"tint"},Color:{attributeKey:"color"},MullionColor:{attributeKey:"mullionColor"},ShutterColor:{attributeKey:"shutterColor"}},Ndo={HorizontalMullion:{attributeKey:"horizontalMullion"},VerticalMullion:{attributeKey:"verticalMullion"},Frame:{attributeKey:"frame"},LeftShutter:{attributeKey:"leftShutter"},RightShutter:{attributeKey:"rightShutter"}},Udo={WindowType:{attributeKey:"windowType",options:[Sr.Default,Sr.Arched,Sr.Polygonal]}},Bdo={Opacity:{attributeKey:"opacity",range:[0,.9],step:.1,note:"windowMenu.SolarHeatGainCoefficient",digit:1},Width:{attributeKey:"lx",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Setback:{attributeKey:"cy",range:[0,1],step:.01,unit:"",digit:0,note:"windowMenu.RelativeToWallThickness"},MullionWidth:{attributeKey:"mullionWidth",range:[0,.2],step:.1,unit:"word.MeterAbbreviation",digit:1},ShutterWidth:{attributeKey:"shutterWidth",range:[0,.5],step:.01,unit:"",digit:1},HorizontalMullionSpacing:{attributeKey:"horizontalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},VerticalMullionSpacing:{attributeKey:"verticalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},FrameWidth:{attributeKey:"frameWidth",range:[.05,.2],step:.01,unit:"word.MeterAbbreviation",digit:2},SillWidth:{attributeKey:"sillWidth",range:[0,.5],step:.01,unit:"word.MeterAbbreviation",digit:2}},jdo=t=>{const e=[];if(t.type!==z.Window)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"window-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"window-cut",label:h.jsx(Tf,{})}),e.push({key:"window-lock",label:h.jsx(Id,{selectedElement:n})}),o&&e.push({key:"window-empty",label:h.jsx(zdo,{window:n})},{key:"window-interior",label:h.jsx(Ddo,{window:n})}),o&&e.push({key:"window-type",label:h.jsx(Ido,{dataType:yot.WindowType})},{key:"window-width",label:h.jsx(c9,{dataType:mg.Width})},{key:"window-height",label:h.jsx(c9,{dataType:mg.Height})},{key:"window-setback",label:h.jsx(c9,{dataType:mg.Setback})},{key:"window-opacity",label:h.jsx(c9,{dataType:mg.Opacity})},{key:"window-tint",label:h.jsx(jZ,{dataType:LN.Tint})},{key:"window-u-value",label:h.jsxs(ro,{Dialog:Edo,children:[j.t("word.UValue",i)," ..."]})},{key:"window-mullion-submenu",label:h.jsx(tn,{children:j.t("windowMenu.Mullion",i)}),children:Fdo(n)},{key:"window-frame-submenu",label:h.jsx(tn,{children:j.t("windowMenu.Frame",i)}),children:kdo(n)},{key:"window-shutter-submenu",label:h.jsx(tn,{children:j.t("windowMenu.Shutter",i)}),children:Ldo(n)}),{items:e}},Ydo=({roof:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{const l=a.elements.find(s=>s.id===i&&s.type===z.Roof);l&&(l.ceiling=r,a.actionState.roofCeiling=r)})},o=i=>{const r=i.target.checked,a={name:"Roof Ceiling",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.ceiling,onChange:o,children:j.t("roofMenu.Ceiling",e)})})},Odo=({roof:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Roof`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},eHe=({roof:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Roof`:`Unlock All Locked ${l} on Roof`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},_do=({roof:t})=>{const e=Kt(),n=M.getState().updateRoofStructureById,o=i=>{const r={name:"Select Roof Structure",timestamp:Date.now(),oldValue:t.roofStructure??yc.Default,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.roofStructure=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.roofStructure??yc.Default,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:yc.Default,children:j.t("roofMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Rafter,children:j.t("roofMenu.RafterStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Glass,children:j.t("roofMenu.GlassStructure",e)})]})})})},xae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],Vdo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${j.t("roofMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof",n)} (${e} ${j.t("roofMenu.SolarPanels",n)})`;break}case z.Window:{o=`${j.t("roofMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllWindowsOnThisRoof",n)} (${e} ${j.t("roofMenu.Windows",n)})`;break}case z.Sensor:{o=`${j.t("roofMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllSensorsOnThisRoof",n)} (${e} ${j.t("roofMenu.Sensors",n)})`;break}case z.Light:{o=`${j.t("roofMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllLightsOnThisRoof",n)} (${e} ${j.t("roofMenu.Lights",n)})`;break}}return{itemLabel:o,modalTitle:i}},bae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],Gdo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return xae.forEach(({key:r,objectType:a})=>{const l=bae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=Vdo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-roof`,label:h.jsx(Odo,{roof:t,objectType:a,modalTitle:c,children:s})})}}),xae.forEach(({key:r,objectType:a})=>{const l=bae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-roof`,label:h.jsxs(eHe,{roof:t,objectType:a,lock:!0,children:[j.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),xae.forEach(({lockedKey:r,objectType:a})=>{const l=bae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(eHe,{roof:t,objectType:a,lock:!1,children:[j.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!0,children:[j.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!1,children:[j.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},Xdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.thickness)??.4),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)y.id===P&&(y.thickness=v,T.updateElementOnRoofFlag=!0),y.parentId===P&&y.type===z.Window&&(y.ly=v)})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.thickness&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.thickness&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.thickness&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.thickness))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)){const S=y;v.set(y.id,S.thickness),f(S.id,P)}const T={name:"Set Thickness for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked){const S=y;v.set(y.id,S.thickness),f(S.id,P)}const T={name:"Set Thickness for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)if(y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked){const S=y;v.set(y.id,S.thickness),f(S.id,P)}const T={name:"Set Thickness for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).thickness??s.thickness??.4,y={name:"Set Roof Thickness",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.roofThickness=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.Thickness",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.05,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.05, 1] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},Jdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(Vn),l=co(z.Roof),[s,c]=m.useState((l==null?void 0:l.rise)??0),u=Kt(),d=(C,P)=>{M.getState().updateRoofRiseById(C,P),M.getState().set(v=>{v.updateElementOnRoofFlag=!0})},f=C=>{for(const[P,v]of C.entries())d(P,v)},p=(C,P)=>{for(const v of C.keys())d(v,P)},g=C=>{if(l){switch(o){case ue.AllSelectedObjectsOfThisType:for(const P of e)if(P.type===z.Roof&&C!==P.rise&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Roof&&C!==P.rise&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of e)if(P.type===z.Roof&&P.foundationId===l.foundationId&&C!==P.rise&&!P.locked)return!0;break;default:if(C!==(l==null?void 0:l.rise))return!0;break}return!1}},A=C=>{if(l&&g(C))switch(M.getState().roofActionScope){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&(P.set(T.id,T.rise),d(T.id,C));const v={name:"Set Rise for Selected Roofs",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&(P.set(T.id,T.rise),d(T.id,C));const v={name:"Set Rise for All Roofs",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(l.foundationId){const P=new Map;for(const T of e)T.type===z.Roof&&T.foundationId===l.foundationId&&!T.locked&&(P.set(T.id,T.rise),d(T.id,C));const v={name:"Set Rise for All Roofs Above Foundation",timestamp:Date.now(),oldValues:P,newValue:C,groupId:l.foundationId,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1)}break;default:if(l){const P=a(l.id),v=(P==null?void 0:P.rise)??(l==null?void 0:l.rise)??0,T={name:"Set Roof Rise",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:l.id,changedElementType:l.type,undo:()=>{d(T.changedElementId,T.oldValue)},redo:()=>{d(T.changedElementId,T.newValue)}};n(T),d(l.id,C),r(i+1)}}},w=()=>{t(!1)},b=()=>{A(s)};return h.jsx(lo,{width:550,title:j.t("roofMenu.Rise",u),onApply:b,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:200,style:{width:120},step:.1,precision:2,value:s,formatter:C=>Number(C).toFixed(2),onChange:C=>c(C)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",u),": [0, 200] ",j.t("word.MeterAbbreviation",u)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",u)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setRoofActionScope(C.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",u)})]})})})]})})},Kdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rValue)??Z4),[d,f]=m.useState(xe.toRValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.rValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Roof&&T!==y.rValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Roof&&T!==y.rValue&&!y.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Roof&&y.foundationId===s.foundationId&&T!==y.rValue&&!y.locked)return!0;break;default:if(T!==(s==null?void 0:s.rValue))return!0;break}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Roof&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;y.set(x.id,R.rValue??Z4),g(R.id,T)}const S={name:"Set R-Value for Selected Roofs",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Roof&&!x.locked){const R=x;y.set(x.id,R.rValue??Z4),g(R.id,T)}const S={name:"Set R-Value for All Roofs",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;for(const x of e)if(x.type===z.Roof&&x.foundationId===s.foundationId&&!x.locked){const R=x;y.set(x.id,R.rValue??Z4),g(R.id,T)}const S={name:"Set R-Value for All Roofs Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).rValue??s.rValue??Z4,x={name:"Set Roof R-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}}l(y=>{y.actionState.roofRValue=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("roofMenu.RoofRValue",p)+" "}(${j.t("word.ThermalResistance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toRValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toRValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setRoofActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",p)})]})})})]})})},qdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.volumetricHeatCapacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Roof&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Roof&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Roof&&S.foundationId===s.foundationId&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,y={name:"Set Volumetric Heat Capacity of Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.roofVolumetricHeatCapacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},$do="/aladdin/assets/roof_edge-DBy_1Q5D.png",Qdo="/aladdin/assets/roof_01-BwuyLpwq.png",Zdo="/aladdin/assets/roof_02-DAbYjnV7.png",efo="/aladdin/assets/roof_03-haZGIixv.png",tfo="/aladdin/assets/roof_04-DDuwUcDr.png",nfo="/aladdin/assets/roof_05-CtBb5xIW.png",ofo="/aladdin/assets/roof_06-DuyyebV8.png",ifo="/aladdin/assets/roof_07-DXWGQN8a.png",rfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(dn),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.textureType)??Ui.Default),d=Kt(),{Option:f}=Yo,p=(v,T)=>{a(y=>{for(const S of y.elements)if(S.id===v){S.locked||(S.textureType=T);break}})},g=(v,T)=>{for(const y of v.keys())p(y,T)},A=v=>{for(const[T,y]of v.entries())p(T,y)},w=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Roof&&v!==T.textureType&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Roof&&v!==T.textureType&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Roof&&T.foundationId===s.foundationId&&v!==T.textureType&&!T.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},b=v=>{if(s&&w(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,S.textureType??Ui.Default);const y={name:"Set Texture for Selected Roofs",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&T.set(S.id,S.textureType??Ui.Default);const y={name:"Set Texture for All Roofs",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const T=new Map;for(const S of e)S.type===z.Roof&&S.foundationId===s.foundationId&&!S.locked&&T.set(S.id,S.textureType);const y={name:"Set Texture for All Roofs Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:s.foundationId,undo:()=>{A(y.oldValues)},redo:()=>{y.groupId&&g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1)}break;default:if(s){const T=l(s.id),y=T?T.textureType:s.textureType,S={name:"Set Texture of Selected Roof",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};n(S),p(s.id,v),r(i+1)}}a(T=>{T.actionState.roofTexture=v})}},C=()=>{t(!1)},P=()=>{b(c)};return h.jsx(lo,{width:550,title:j.t("word.Texture",d),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:Ui.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},Ui.NoTexture),h.jsxs(f,{value:Ui.Default,children:[h.jsx("img",{alt:Ui.Default,src:$do,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.TextureDefault",d)]},Ui.Default),h.jsxs(f,{value:Ui.Texture01,children:[h.jsx("img",{alt:Ui.Texture01,src:Qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture01",d)]},Ui.Texture01),h.jsxs(f,{value:Ui.Texture02,children:[h.jsx("img",{alt:Ui.Texture02,src:Zdo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture02",d)]},Ui.Texture02),h.jsxs(f,{value:Ui.Texture03,children:[h.jsx("img",{alt:Ui.Texture03,src:efo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture03",d)]},Ui.Texture03),h.jsxs(f,{value:Ui.Texture04,children:[h.jsx("img",{alt:Ui.Texture04,src:tfo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture04",d)]},Ui.Texture04),h.jsxs(f,{value:Ui.Texture05,children:[h.jsx("img",{alt:Ui.Texture05,src:nfo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture05",d)]},Ui.Texture05),h.jsxs(f,{value:Ui.Texture06,children:[h.jsx("img",{alt:Ui.Texture06,src:ofo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture06",d)]},Ui.Texture06),h.jsxs(f,{value:Ui.Texture07,children:[h.jsx("img",{alt:Ui.Texture07,src:ifo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture07",d)]},Ui.Texture07)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setRoofActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},afo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ny),r=M(ao),a=M(io),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.color=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.color&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.color))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of n)y.type===z.Roof&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.color:s.color)??"#ffffff",y={name:"Set Color of Selected Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}e(v=>{v.actionState.roofColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("roofMenu.RoofColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},lfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(dn),o=M(En),i=M(ny),r=M(ao),a=M(io),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.sideColor)??"#ffffff"),d=Kt(),f=(P,v)=>{n(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.sideColor=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.sideColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.sideColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.sideColor&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.sideColor))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.sideColor??"#ffffff");const T={name:"Set Side Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&v.set(y.id,y.sideColor??"#ffffff");const T={name:"Set Side Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)y.type===z.Roof&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.sideColor??"#ffffff");const T={name:"Set Side Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.sideColor:s.sideColor)??"#ffffff",y={name:"Set Side Color of Selected Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}n(v=>{v.actionState.roofSideColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("roofMenu.RoofSideColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.sideColor)??"#ffffff",onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},sfo=({setDialogVisible:t})=>{const e=M(Sc),n=M(Z9),o=M(En),i=M(ny),r=M(gYe),a=M(ao),l=M(io),s=M(ca),c=M(Vn),u=M(dn),d=M(L=>{if(n){for(const E of L.elements)if(E.id===n.id)return E}return null}),[f,p]=m.useState((d==null?void 0:d.ceilingRValue)??c6),[g,A]=m.useState(xe.toRValueInUS(f)),[w,b]=m.useState(!1),[C,P]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),T={lng:e};m.useEffect(()=>{d&&p((d==null?void 0:d.ceilingRValue)??c6)},[d==null?void 0:d.ceilingRValue]);const y=(L,E)=>{u(U=>{for(const F of U.elements)if(F.id===L){F.ceilingRValue=E;break}})},S=L=>{for(const[E,U]of L.entries())y(E,U)},x=(L,E)=>{for(const U of L.keys())y(U,E)},R=L=>{if(d){switch(i){case ue.AllObjectsOfThisType:{const E=new Map;u(F=>{for(const B of F.elements)if(B.type===z.Roof&&!B.locked){const _=B;E.set(B.id,_.ceilingRValue??c6),_.ceilingRValue=L}});const U={name:"Set R-Value for All Ceilings",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{S(U.oldValues)},redo:()=>{x(U.oldValues,U.newValue)}};o(U),l(a+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const E=new Map;u(F=>{for(const B of F.elements)if(B.type===z.Roof&&B.foundationId===d.foundationId&&!B.locked){const _=B;E.set(B.id,_.ceilingRValue??c6),_.ceilingRValue=L}});const U={name:"Set R-Value for All Ceilings Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:d.foundationId,undo:()=>{S(U.oldValues)},redo:()=>{x(U.oldValues,U.newValue)}};o(U),l(a+1)}break}default:{if(d){const U=c(d.id).ceilingRValue??d.ceilingRValue??c6,F={name:"Set Ceiling R-Value",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:d.id,changedElementType:d.type,undo:()=>{y(F.changedElementId,F.oldValue)},redo:()=>{y(F.changedElementId,F.newValue)}};o(F),y(d.id,L),l(a+1)}break}}u(E=>{E.actionState.roofRValue=L})}},H=(L,E)=>{if(v.current){const{clientWidth:U,clientHeight:F}=window.document.documentElement,B=v.current.getBoundingClientRect();P({left:-B.left+E.x,right:U-(B.right-E.x),top:-B.top+E.y,bottom:F-((B==null?void 0:B.bottom)-E.y)})}},D=()=>{p((d==null?void 0:d.ceilingRValue)??c6),t(!1)},k=()=>{D(),s()},W=()=>{R(f),t(!1),l(0)},N=()=>{R(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>b(!0),onMouseOut:()=>b(!1),children:[j.t("roofMenu.CeilingRValue",T)+" ","(",j.t("word.ThermalResistance",T),")"]}),footer:[h.jsx(oo,{onClick:N,children:j.t("word.Apply",T)},"Apply"),h.jsx(oo,{onClick:k,children:j.t("word.Cancel",T)},"Cancel"),h.jsx(oo,{type:"primary",onClick:W,children:j.t("word.OK",T)},"OK")],onCancel:D,maskClosable:!1,destroyOnClose:!1,modalRender:L=>h.jsx(Vr,{disabled:!w,bounds:C,onStart:(E,U)=>H(E,U),children:h.jsx("div",{ref:v,children:L})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:L=>Number(L).toFixed(2),onChange:L=>{L!==null&&(p(L),A(xe.toRValueInUS(L)))},onPressEnter:W}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",T),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:L=>Number(L).toFixed(2),onChange:L=>{L!==null&&(A(L),p(xe.toRValueInSI(L)))},onPressEnter:W}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",T),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L=>r(L.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisCeiling",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllCeilingsAboveFoundation",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllCeilings",T)})]})})})]})})})},cfo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-ceiling",label:h.jsx(Ydo,{roof:t})}),t.ceiling&&n.push({type:"divider"},{key:"ceiling-r-value",label:h.jsxs(ro,{noPadding:!0,Dialog:sfo,children:[j.t("roofMenu.CeilingRValue",e)," ..."]})}),n},ufo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ny),r=M(ao),a=M(io),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterColor)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.rafterColor=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.rafterColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.rafterColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.rafterColor&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.rafterColor))return!0;break}return!1}},w=P=>{if(s&&A(P))switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.rafterColor??"#ffffff");const T={name:"Set Rafter Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&v.set(y.id,y.rafterColor??"#ffffff");const T={name:"Set Rafter Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of n)y.type===z.Roof&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.rafterColor??"#ffffff");const T={name:"Set Rafter Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.rafterColor:s.rafterColor)??"#ffffff",y={name:"Set Rafter Color of Selected Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("roofMenu.RoofColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},dfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterSpacing)??1),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.rafterSpacing=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterSpacing&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterSpacing&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.rafterSpacing&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.rafterSpacing))return!0;break}return!1}},w=P=>{if(s&&A(P))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&(v.set(y.id,y.rafterSpacing??1),f(y.id,P));const T={name:"Set Rafter Spacing for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&(v.set(y.id,y.rafterSpacing??1),f(y.id,P));const T={name:"Set Rafter Spacing for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked&&(v.set(y.id,y.rafterSpacing??1),f(y.id,P));const T={name:"Set Rafter Spacing for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).rafterSpacing??s.rafterSpacing??1,y={name:"Set Roof Rafter Spacing",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("roofMenu.RafterSpacing",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:100,style:{width:120},step:.1,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.1, 100] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},ffo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterWidth)??.1),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.rafterWidth=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterWidth&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterWidth&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.rafterWidth&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.rafterWidth))return!0;break}return!1}},w=P=>{if(s&&A(P))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&(v.set(y.id,y.rafterWidth??.1),f(y.id,P));const T={name:"Set Rafter Width for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&(v.set(y.id,y.rafterWidth??.1),f(y.id,P));const T={name:"Set Rafter Width for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked&&(v.set(y.id,y.rafterWidth??.1),f(y.id,P));const T={name:"Set Rafter Width for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).rafterWidth??s.rafterWidth??.1,y={name:"Set Roof Rafter Width",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("roofMenu.RafterWidth",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.01, 1] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},hfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Z9),o=M(En),i=M(ny),r=M(gYe),a=M(ao),l=M(io),s=M(ca),c=M(Vn),[u,d]=m.useState((n==null?void 0:n.glassTint)??"#73D8FF"),[f,p]=m.useState(!1),[g,A]=m.useState({left:0,top:0,bottom:0,right:0}),w=m.useRef(null),b=m.useRef(null);m.useEffect(()=>{var k;(k=b.current)==null||k.focus()});const C=Kt();m.useEffect(()=>{n&&d((n==null?void 0:n.glassTint)??"#73D8FF")},[n]);const P=(k,W)=>{e(N=>{for(const L of N.elements)if(L.id===k){L.locked||(L.glassTint=W);break}})},v=(k,W)=>{for(const N of k.keys())P(N,W)},T=k=>{for(const[W,N]of k.entries())P(W,N)},y=k=>{if(n)switch(i){case ue.AllObjectsOfThisType:{const W=new Map;for(const L of M.getState().elements)L.type===z.Roof&&!L.locked&&W.set(L.id,L.glassTint??"#73D8FF");const N={name:"Set Glass Tint for All Roofs",timestamp:Date.now(),oldValues:W,newValue:k,undo:()=>{T(N.oldValues)},redo:()=>{v(N.oldValues,N.newValue)}};o(N),v(W,k),l(a+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(n.foundationId){const W=new Map;for(const L of M.getState().elements)L.type===z.Roof&&L.foundationId===n.foundationId&&!n.locked&&W.set(L.id,L.glassTint??"#73D8FF");const N={name:"Set Glass Tint for All Roofs Above Foundation",timestamp:Date.now(),oldValues:W,newValue:k,groupId:n.foundationId,undo:()=>{T(N.oldValues)},redo:()=>{N.groupId&&v(N.oldValues,N.newValue)}};o(N),v(W,k),l(a+1)}break}default:{if(n){const W=c(n.id),N=(W?W.glassTint:n.glassTint)??"#73D8FF",L={name:"Set Glass Tint of Selected Roof",timestamp:Date.now(),oldValue:N,newValue:k,changedElementId:n.id,changedElementType:n.type,undo:()=>{P(L.changedElementId,L.oldValue)},redo:()=>{P(L.changedElementId,L.newValue)}};o(L),P(n.id,k),l(a+1)}break}}},S=(k,W)=>{if(w.current){const{clientWidth:N,clientHeight:L}=window.document.documentElement,E=w.current.getBoundingClientRect();A({left:-E.left+W.x,right:N-(E.right-W.x),top:-E.top+W.y,bottom:L-((E==null?void 0:E.bottom)-W.y)})}},x=()=>{n!=null&&n.glassTint&&d(n.glassTint),t(!1)},R=()=>{x(),s()},H=()=>{const k=c(n.id);k&&k.glassTint!==u&&y(u),t(!1),l(0)},D=()=>{y(u)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:j.t("roofMenu.GlassTint",C)}),footer:[h.jsx(oo,{onClick:D,children:j.t("word.Apply",C)},"Apply"),h.jsx(oo,{onClick:R,children:j.t("word.Cancel",C)},"Cancel"),h.jsx(oo,{type:"primary",ref:b,onClick:H,children:j.t("word.OK",C)},"OK")],onCancel:x,maskClosable:!1,destroyOnClose:!1,modalRender:k=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(W,N)=>S(W,N),children:h.jsx("div",{ref:w,children:k})}),children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??(n==null?void 0:n.glassTint)??"#73D8FF",onChangeComplete:k=>{d(k.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:k=>r(k.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",C)})]})})})]})})})},pfo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-structure-radio-group",label:h.jsx(_do,{roof:t}),style:{backgroundColor:"white"}}),t.roofStructure===yc.Rafter&&n.push({type:"divider"},{key:"roof-rafter-spacing",label:h.jsxs(ro,{noPadding:!0,Dialog:dfo,children:[j.t("roofMenu.RafterSpacing",e)," ..."]})},{key:"roof-rafter-width",label:h.jsxs(ro,{noPadding:!0,Dialog:ffo,children:[j.t("roofMenu.RafterWidth",e)," ..."]})},{key:"roof-rafter-color",label:h.jsxs(ro,{noPadding:!0,Dialog:ufo,children:[j.t("roofMenu.RafterColor",e)," ..."]})}),t.roofStructure===yc.Glass&&n.push({type:"divider"},{key:"roof-glass-tint-selection",label:h.jsxs(ro,{noPadding:!0,Dialog:hfo,children:[j.t("roofMenu.GlassTint",e)," ..."]})}),n},gfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(io),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.opacity)!==void 0?s.opacity:.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.opacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.opacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.opacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked){const S=y;v.set(y.id,S.opacity),f(S.id,P)}const T={name:"Set Opacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked){const S=y;v.set(y.id,S.opacity),f(S.id,P)}const T={name:"Set Opacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)if(y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked){const S=y;v.set(y.id,S.opacity),f(S.id,P)}const T={name:"Set Opacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const v=a(s.id),T=v.opacity!==void 0?v.opacity:s.opacity!==void 0?s.opacity:.5,y={name:"Set Roof Opacity",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.roofGlassOpacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("roofMenu.Opacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},mfo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0)switch(t[0].type){case z.Window:case z.SolarPanel:case z.Sensor:case z.Light:return!0}return!1},yfo=t=>{const e=[];if(t.type!==z.Roof)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1),s=n.roofStructure!==yc.Rafter||n.opacity===void 0||n.opacity>0;return mfo()&&e.push({key:"roof-paste",label:h.jsx(OH,{})}),e.push({key:"roof-lock",label:h.jsx(Id,{selectedElement:n})}),n.rise>0&&e.push({key:"roof-ceiling-submenu",label:h.jsx(tn,{children:j.t("roofMenu.Ceiling",i)}),children:cfo(n)}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-roof",label:h.jsx(tn,{children:j.t("word.Elements",i)}),children:Gdo(n,a,l)}),o&&(n.roofType===Vo.Gable&&(e.push({key:"roof-structure-submenu",label:h.jsx(tn,{children:j.t("roofMenu.RoofStructure",i)}),children:pfo(n)}),(n.roofStructure===yc.Rafter||n.roofStructure===yc.Glass)&&e.push({key:"opacity",label:h.jsxs(ro,{Dialog:gfo,children:[j.t("roofMenu.Opacity",i)," ..."]})})),e.push({key:"roof-thickness",label:h.jsxs(ro,{Dialog:Xdo,children:[j.t(n.roofStructure===yc.Rafter?"roofMenu.RafterThickness":"word.Thickness",i)," ","..."]})}),e.push({key:"roof-rise",label:h.jsxs(ro,{Dialog:Jdo,children:[j.t("roofMenu.Rise",i)," ..."]})}),s&&(e.push({key:"roof-r-value",label:h.jsxs(ro,{Dialog:Kdo,children:[j.t("roofMenu.RoofRValue",i)," ..."]})},{key:"roof-heat-capacity",label:h.jsxs(ro,{Dialog:qdo,children:[j.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"roof-texture",label:h.jsxs(ro,{Dialog:rfo,children:[j.t("word.Texture",i)," ..."]})}),(n.textureType===Ui.NoTexture||n.textureType===Ui.Default)&&e.push({key:"roof-color",label:h.jsxs(ro,{Dialog:afo,children:[j.t("roofMenu.RoofColor",i)," ..."]})}),e.push({key:"roof-side-color",label:h.jsxs(ro,{Dialog:lfo,children:[j.t("roofMenu.RoofSideColor",i)," ..."]})}))),{items:e}},Afo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.relativeYawAngle)??0),p=Kt(),g=R=>{a(R.target.value)},A=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.relativeYawAngle??0)-R)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.relativeYawAngle)??0)-R)>Dt)return!0}return!1}},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.id===R&&!k.locked){const W=k;W.relativeYawAngle=H;break}})},b=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.foundationId===R&&!k.locked){const W=k;W.relativeYawAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const k=D;k.relativeYawAngle=R}})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked&&R.has(k.id)){const W=k;W.relativeYawAngle=H}})},v=R=>{if(u&&A(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.relativeYawAngle);const D={name:"Set Relative Yaw Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};i(D),P(H,R),s(l+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&H.set(k.id,k.relativeYawAngle);const D={name:"Set Relative Yaw Angle for All Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{C(D.newValue)}};i(D),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.WindTurbine&&k.foundationId===u.foundationId&&H.set(k.id,k.relativeYawAngle);const D={name:"Set Relative Yaw Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};i(D),b(u.foundationId,R),s(l+1)}break}default:{const H=o(u.id),D=H?H.relativeYawAngle:u.relativeYawAngle,k={name:"Set Wind Turbine Relative Yaw Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(k.changedElementId,k.oldValue)},redo:()=>{w(k.changedElementId,k.newValue)}};i(k),w(u.id,R),s(l+1);break}}e(H=>{H.actionState.windTurbineRelativeYawAngle=R})}},T=()=>{t(!1)},y=()=>{T(),c()},S=()=>{v(d),t(!1),s(0)},x=()=>{v(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RelativeYawAngle",p),onApply:x,onClose:T,onClickCancel:y,onClickOk:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(xe.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(xe.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [-180°, 180°]",h.jsx("br",{}),j.t("message.SouthFacingIsZero",p),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",p)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},wfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.numberOfBlades)??3),p=Kt(),{Option:g}=Yo,A=H=>{a(H.target.value)},w=H=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(u==null?void 0:u.foundationId)&&!D.locked&&Math.abs((D.numberOfBlades??0)-H)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.numberOfBlades)??0)-H)>Dt)return!0}return!1}},b=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.id===H&&!W.locked){const N=W;N.numberOfBlades=D;break}})},C=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.foundationId===H&&!W.locked){const N=W;N.numberOfBlades=D}})},P=H=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked){const W=k;W.numberOfBlades=H}})},v=(H,D)=>{M.getState().set(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&!W.locked&&H.has(W.id)){const N=W;N.numberOfBlades=D}})},T=H=>{if(u&&w(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&D.set(W.id,W.numberOfBlades??3);const k={name:"Select Blade Number for Selected Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{v(k.oldValues,k.newValue)}};i(k),v(D,H),s(l+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&D.set(W.id,W.numberOfBlades??3);const k={name:"Select Blade Number for All Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{P(k.newValue)}};i(k),P(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const D=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===u.foundationId&&D.set(W.id,W.numberOfBlades??3);const k={name:"Select Blade Number for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:D,newValue:H,groupId:u.foundationId,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{k.groupId&&C(k.groupId,k.newValue)}};i(k),C(u.foundationId,H),s(l+1)}break}default:{const D=o(u.id),k=D?D.numberOfBlades??3:u.numberOfBlades??3,W={name:"Select Wind Turbine Blade Number",timestamp:Date.now(),oldValue:k,newValue:H,changedElementId:u.id,changedElementType:u.type,undo:()=>{b(W.changedElementId,W.oldValue)},redo:()=>{b(W.changedElementId,W.newValue)}};i(W),b(u.id,H),s(l+1);break}}e(D=>{D.actionState.windTurbineNumberOfBlades=H})}},y=()=>{t(!1)},S=()=>{y(),c()},x=()=>{T(d),t(!1),s(0)},R=()=>{T(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.BladeNumber",p),onApply:R,onClose:y,onClickCancel:S,onClickOk:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsxs(Yo,{style:{width:"60px"},value:d,onChange:H=>{H!==null&&f(H)},children:[h.jsx(g,{value:1,children:"1"},1),h.jsx(g,{value:2,children:"2"},2),h.jsx(g,{value:3,children:"3"},3),h.jsx(g,{value:4,children:"4"},4),h.jsx(g,{value:8,children:"8"},8)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},vfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.initialRotorAngle)??0),p=Kt(),g=R=>{a(R.target.value)},A=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.initialRotorAngle??0)-R)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.initialRotorAngle)??0)-R)>Dt)return!0}return!1}},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.id===R&&!k.locked){const W=k;W.initialRotorAngle=H;break}})},b=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.foundationId===R&&!k.locked){const W=k;W.initialRotorAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const k=D;k.initialRotorAngle=R}})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked&&R.has(k.id)){const W=k;W.initialRotorAngle=H}})},v=R=>{if(u&&A(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.initialRotorAngle);const D={name:"Set Rotor Initial Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};i(D),P(H,R),s(l+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&H.set(k.id,k.initialRotorAngle);const D={name:"Set Rotor Initial Angle for All Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{C(D.newValue)}};i(D),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.WindTurbine&&k.foundationId===u.foundationId&&H.set(k.id,k.initialRotorAngle);const D={name:"Set Rotor Initial Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};i(D),b(u.foundationId,R),s(l+1)}break}default:{const H=o(u.id),D=H?H.initialRotorAngle:u.initialRotorAngle,k={name:"Set Wind Turbine Rotor Initial Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(k.changedElementId,k.oldValue)},redo:()=>{w(k.changedElementId,k.newValue)}};i(k),w(u.id,R),s(l+1);break}}e(H=>{H.actionState.windTurbineInitialRotorAngle=R})}},T=()=>{t(!1)},y=()=>{T(),c()},S=()=>{v(d),t(!1),s(0)},x=()=>{v(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RotorInitialAngle",p),onApply:x,onClose:T,onClickCancel:y,onClickOk:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:360,style:{width:120},precision:1,step:1,value:parseFloat(xe.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(xe.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0°, 360°]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},xfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=xe.toRadians(10),d=co(z.WindTurbine),[f,p]=m.useState((d==null?void 0:d.pitchAngle)??u),g=Kt(),A=H=>{a(H.target.value)},w=H=>{if(d){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(d==null?void 0:d.foundationId)&&!D.locked&&Math.abs((D.pitchAngle??u)-H)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>Dt)return!0;break;default:if(Math.abs(((d==null?void 0:d.pitchAngle)??u)-H)>Dt)return!0}return!1}},b=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.id===H&&!W.locked){const N=W;N.pitchAngle=D;break}})},C=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.foundationId===H&&!W.locked){const N=W;N.pitchAngle=D}})},P=H=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked){const W=k;W.pitchAngle=H}})},v=(H,D)=>{M.getState().set(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&!W.locked&&H.has(W.id)){const N=W;N.pitchAngle=D}})},T=H=>{if(d&&w(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&D.set(W.id,W.pitchAngle);const k={name:"Set Pitch Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{v(k.oldValues,k.newValue)}};i(k),v(D,H),s(l+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&D.set(W.id,W.pitchAngle);const k={name:"Set Pitch Angle for All Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{P(k.newValue)}};i(k),P(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const D=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===d.foundationId&&D.set(W.id,W.pitchAngle);const k={name:"Set Pitch Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:D,newValue:H,groupId:d.foundationId,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{k.groupId&&C(k.groupId,k.newValue)}};i(k),C(d.foundationId,H),s(l+1)}break}default:{const D=o(d.id),k=D?D.pitchAngle:d.pitchAngle,W={name:"Set Wind Turbine Pitch Angle",timestamp:Date.now(),oldValue:k,newValue:H,changedElementId:d.id,changedElementType:d.type,undo:()=>{b(W.changedElementId,W.oldValue)},redo:()=>{b(W.changedElementId,W.newValue)}};i(W),b(d.id,H),s(l+1);break}}e(D=>{D.actionState.windTurbinePitchAngle=H})}},y=()=>{t(!1)},S=()=>{y(),c()},x=()=>{T(f),t(!1),s(0)},R=()=>{T(f)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RotorBladePitchAngle",g),onApply:R,onClose:y,onClickCancel:S,onClickOk:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(xe.toDegrees(f).toFixed(2)),formatter:H=>`${H}°`,onChange:H=>{H!==null&&p(xe.toRadians(H))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",g),": [-180°, 180°]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",g)})]})})})]})})},bfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRadius)??0),p=m.useRef(!1),g=m.useRef(),A=Kt(),w=k=>{a(k.target.value)},b=k=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.bladeRadius-k)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===(u==null?void 0:u.foundationId)&&!W.locked&&Math.abs(W.bladeRadius-k)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.bladeRadius-k)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.bladeRadius)-k)>Dt)return!0}return!1}},C=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.id===k&&!L.locked){const E=L;E.bladeRadius=W,E.lx=E.ly=W*2,E.lz=E.towerHeight+W;break}})},P=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.foundationId===k&&!L.locked){const E=L;E.bladeRadius=W,E.lx=E.ly=W*2,E.lz=E.towerHeight+W}})},v=k=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&!N.locked){const L=N;L.bladeRadius=k,L.lx=L.ly=k*2,L.lz=L.towerHeight+k}})},T=(k,W)=>{M.getState().set(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&!L.locked&&k.has(L.id)){const E=L;E.bladeRadius=W,E.lx=E.ly=W*2,E.lz=E.towerHeight+W}})},y=k=>{if(u&&b(k)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&W.towerHeight{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{T(N.oldValues,N.newValue)}};i(N),T(W,k),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.towerHeight{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{v(N.newValue)}};i(N),v(k),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===u.foundationId&&W.towerHeight{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{N.groupId&&P(N.groupId,N.newValue)}};i(N),P(u.foundationId,k),s(l+1)}}break}default:{const W=o(u.id),N=W?W.bladeRadius:u.bladeRadius;if(p.current=u.towerHeight{C(L.changedElementId,L.oldValue)},redo:()=>{C(L.changedElementId,L.newValue)}};i(L),C(u.id,k),s(l+1)}break}}e(W=>{W.actionState.windTurbineBladeRadius=k})}},S=()=>{p.current=!1,t(!1)},x=()=>{S(),c()},R=()=>{y(d),p.current||(t(!1),s(0))},H=()=>{y(d)},D=p.current?": "+j.t("message.NotApplicableToSelectedAction",A)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RotorBladeRadius",A),rejectedMessage:D,onApply:H,onClose:S,onClickCancel:x,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:k=>{k!==null&&f(k)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [1, 100] ",j.t("word.MeterAbbreviation",A)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",A)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",A)})]})})})]})})},Sfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRootRadius)??.3),[p,g]=m.useState((u==null?void 0:u.maximumChordLength)??1),[A,w]=m.useState((u==null?void 0:u.maximumChordRadius)??3),b=m.useRef(null),C=Kt(),P=555;m.useEffect(()=>{if(!b.current||!u)return;const q=b.current.getContext("2d");if(!q)return;const ae=b.current.width,ne=b.current.height,se=20,le=ne*.7;q.clearRect(0,0,ae,ne),q.setLineDash([]),q.strokeStyle="gray",q.lineWidth=1,q.rect(0,0,ae,ne),q.stroke();const te=(ae-se*2)/u.bladeRadius,he=te*u.bladeTipWidth,pe=te*A,fe=te*p,$=te*u.bladeRadius,de=te*d,Se=fe-de,Ce=$-pe/3,ve=[];ve.push(new Gt(se,le-de)),ve.push(new Gt(se+$-Ce,le-Se/2)),ve.push(new Gt(se+pe,le-Se)),ve.push(new Gt(se+$,le+de-he));const ze=new XK(ve).getPoints(50);q.beginPath(),q.moveTo(ze[0].x,ze[0].y);for(let ye=1;ye{a(q.target.value)},T=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.bladeRootRadius-q)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const ae of n)if(ae.type===z.WindTurbine&&ae.foundationId===(u==null?void 0:u.foundationId)&&!ae.locked&&Math.abs(ae.bladeRootRadius-q)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.bladeRootRadius-q)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.bladeRootRadius)??.3)-q)>Dt)return!0}return!1}},y=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.id===q&&!se.locked){const le=se;le.bladeRootRadius=ae;break}})},S=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.foundationId===q&&!se.locked){const le=se;le.bladeRootRadius=ae}})},x=q=>{e(ae=>{for(const ne of ae.elements)if(ne.type===z.WindTurbine&&!ne.locked){const se=ne;se.bladeRootRadius=q}})},R=(q,ae)=>{M.getState().set(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&!se.locked&&q.has(se.id)){const le=se;le.bladeRootRadius=ae}})},H=q=>{if(u&&T(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(se.id)&&ae.set(se.id,se.bladeRootRadius);const ne={name:"Set Root Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())y(se,le)},redo:()=>{R(ne.oldValues,ne.newValue)}};i(ne),R(ae,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&ae.set(se.id,se.bladeRootRadius);const ne={name:"Set Root Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())y(se,le)},redo:()=>{x(ne.newValue)}};i(ne),x(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const ae=new Map;for(const se of n)se.type===z.WindTurbine&&se.foundationId===u.foundationId&&ae.set(se.id,se.bladeRootRadius);const ne={name:"Set Root Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ae,newValue:q,groupId:u.foundationId,undo:()=>{for(const[se,le]of ne.oldValues.entries())y(se,le)},redo:()=>{ne.groupId&&S(ne.groupId,ne.newValue)}};i(ne),S(u.foundationId,q),s(l+1)}break}default:{const ae=o(u.id),ne=ae?ae.bladeRootRadius:u.bladeRootRadius,se={name:"Set Wind Turbine Root Radius",timestamp:Date.now(),oldValue:ne,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(se.changedElementId,se.oldValue)},redo:()=>{y(se.changedElementId,se.newValue)}};i(se),y(u.id,q),s(l+1);break}}e(ae=>{ae.actionState.windTurbineBladeRootRadius=q})}},D=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordLength-q)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const ae of n)if(ae.type===z.WindTurbine&&ae.foundationId===(u==null?void 0:u.foundationId)&&!ae.locked&&Math.abs(ae.maximumChordLength-q)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordLength-q)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordLength)-q)>Dt)return!0}return!1}},k=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.id===q&&!se.locked){const le=se;le.maximumChordLength=ae;break}})},W=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.foundationId===q&&!se.locked){const le=se;le.maximumChordLength=ae}})},N=q=>{e(ae=>{for(const ne of ae.elements)if(ne.type===z.WindTurbine&&!ne.locked){const se=ne;se.maximumChordLength=q}})},L=(q,ae)=>{M.getState().set(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&!se.locked&&q.has(se.id)){const le=se;le.maximumChordLength=ae}})},E=q=>{if(u&&D(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(se.id)&&ae.set(se.id,se.maximumChordLength);const ne={name:"Set Chord Length for Selected Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())k(se,le)},redo:()=>{L(ne.oldValues,ne.newValue)}};i(ne),L(ae,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&ae.set(se.id,se.maximumChordLength);const ne={name:"Set Chord Length for All Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())k(se,le)},redo:()=>{N(ne.newValue)}};i(ne),N(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const ae=new Map;for(const se of n)se.type===z.WindTurbine&&se.foundationId===u.foundationId&&ae.set(se.id,se.maximumChordLength);const ne={name:"Set Chord Length for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ae,newValue:q,groupId:u.foundationId,undo:()=>{for(const[se,le]of ne.oldValues.entries())k(se,le)},redo:()=>{ne.groupId&&W(ne.groupId,ne.newValue)}};i(ne),W(u.foundationId,q),s(l+1)}break}default:{const ae=o(u.id),ne=ae?ae.maximumChordLength:u.maximumChordLength,se={name:"Set Wind Turbine Chord Length",timestamp:Date.now(),oldValue:ne,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{k(se.changedElementId,se.oldValue)},redo:()=>{k(se.changedElementId,se.newValue)}};i(se),k(u.id,q),s(l+1);break}}e(ae=>{ae.actionState.windTurbineBladeMaximumChordLength=q})}},U=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordRadius-q)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const ae of n)if(ae.type===z.WindTurbine&&ae.foundationId===(u==null?void 0:u.foundationId)&&!ae.locked&&Math.abs(ae.maximumChordRadius-q)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordRadius-q)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordRadius)-q)>Dt)return!0}return!1}},F=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.id===q&&!se.locked){const le=se;le.maximumChordRadius=ae;break}})},B=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.foundationId===q&&!se.locked){const le=se;le.maximumChordRadius=ae}})},_=q=>{e(ae=>{for(const ne of ae.elements)if(ne.type===z.WindTurbine&&!ne.locked){const se=ne;se.maximumChordRadius=q}})},Y=(q,ae)=>{M.getState().set(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&!se.locked&&q.has(se.id)){const le=se;le.maximumChordRadius=ae}})},O=q=>{if(u&&U(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(se.id)&&ae.set(se.id,se.maximumChordRadius);const ne={name:"Set Chord Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())F(se,le)},redo:()=>{Y(ne.oldValues,ne.newValue)}};i(ne),Y(ae,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&ae.set(se.id,se.maximumChordRadius);const ne={name:"Set Chord Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())F(se,le)},redo:()=>{_(ne.newValue)}};i(ne),_(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const ae=new Map;for(const se of n)se.type===z.WindTurbine&&se.foundationId===u.foundationId&&ae.set(se.id,se.maximumChordRadius);const ne={name:"Set Chord Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ae,newValue:q,groupId:u.foundationId,undo:()=>{for(const[se,le]of ne.oldValues.entries())F(se,le)},redo:()=>{ne.groupId&&B(ne.groupId,ne.newValue)}};i(ne),B(u.foundationId,q),s(l+1)}break}default:{const ae=o(u.id),ne=ae?ae.maximumChordRadius:u.maximumChordRadius,se={name:"Set Wind Turbine Chord Radius",timestamp:Date.now(),oldValue:ne,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{F(se.changedElementId,se.oldValue)},redo:()=>{F(se.changedElementId,se.newValue)}};i(se),F(u.id,q),s(l+1);break}}e(ae=>{ae.actionState.windTurbineBladeMaximumChordRadius=q})}},J=()=>{t(!1)},Z=()=>{J(),c()},ie=()=>{E(p),O(A),H(d),t(!1),s(0)},ee=()=>{E(p),O(A),H(d)};return h.jsxs(lo,{width:600,title:j.t("windTurbineMenu.RotorBladeDesign",C),onApply:ee,onClose:J,onClickCancel:Z,onClickOk:ie,children:[h.jsx(nn,{children:h.jsx(it,{span:24,children:h.jsx("canvas",{ref:b,id:"blade-design-canvas",width:P,height:P*.25,style:{paddingBottom:"12px"}})})}),h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(it,{style:{textAlign:"center",fontStyle:"italic"},children:"A: "}),h.jsx(it,{children:h.jsx(Hn,{min:.1,max:1,style:{width:"70px"},step:.01,precision:2,value:d,onChange:q=>{q&&f(q)}})}),h.jsxs(it,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.1, 1] ",j.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(it,{style:{textAlign:"center",fontStyle:"italic"},children:"C: "}),h.jsx(it,{children:h.jsx(Hn,{min:.5,max:2,style:{width:"70px"},step:.01,precision:2,value:p,onChange:q=>{q&&g(q)}})}),h.jsxs(it,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.5, 2] ",j.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{style:{textAlign:"center",fontStyle:"italic"},children:"D:"}),h.jsx(it,{children:h.jsx(Hn,{min:2,max:((u==null?void 0:u.bladeRadius)??10)/2,style:{width:70},step:.01,precision:2,value:A,onChange:q=>{q&&w(q)}})}),h.jsxs(it,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[2, ",((u==null?void 0:u.bladeRadius)??10)/2,"] ",j.t("word.MeterAbbreviation",C)]})]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",C)})]})})})]})]})},Tfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.hubRadius)??0),[p,g]=m.useState((u==null?void 0:u.hubLength)??0),A=Kt(),w=D=>{a(D.target.value)},b=(D,k)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)){const N=W;if(Math.abs(N.hubRadius-D)>Dt||Math.abs(N.hubLength-k)>Dt)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===(u==null?void 0:u.foundationId)&&!W.locked){const N=W;if(Math.abs(N.hubRadius-D)>Dt||Math.abs(N.hubLength-k)>Dt)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)){const N=W;if(Math.abs(N.hubRadius-D)>Dt||Math.abs(N.hubLength-k)>Dt)return!0}break;default:if(Math.abs((u==null?void 0:u.hubRadius)-D)>Dt||Math.abs((u==null?void 0:u.hubLength)-k)>Dt)return!0}return!1}},C=(D,k)=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&N.id===D&&!N.locked){const L=N;L.hubRadius=k[0],L.hubLength=k[1];break}})},P=(D,k)=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&N.foundationId===D&&!N.locked){const L=N;L.hubRadius=k[0],L.hubLength=k[1]}})},v=D=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&!W.locked){const N=W;N.hubRadius=D[0],N.hubLength=D[1]}})},T=(D,k)=>{M.getState().set(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&!N.locked&&D.has(N.id)){const L=N;L.hubRadius=k[0],L.hubLength=k[1]}})},y=D=>{if(u&&b(D[0],D[1])){switch(r){case ue.AllSelectedObjectsOfThisType:{const k=new Map;for(const N of n)if(N.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(N.id)){const L=N;k.set(N.id,[L.hubRadius,L.hubLength])}const W={name:"Set Hub Parameters for Selected Wind Turbines",timestamp:Date.now(),oldValues:k,newValue:D,undo:()=>{for(const[N,L]of W.oldValues.entries())C(N,L)},redo:()=>{T(W.oldValues,W.newValue)}};i(W),T(k,D),s(l+1);break}case ue.AllObjectsOfThisType:{const k=new Map;for(const N of n)if(N.type===z.WindTurbine){const L=N;k.set(N.id,[L.hubRadius,L.hubLength])}const W={name:"Set Hub Parameters for All Wind Turbines",timestamp:Date.now(),oldValues:k,newValue:D,undo:()=>{for(const[N,L]of W.oldValues.entries())C(N,L)},redo:()=>{v(W.newValue)}};i(W),v(D),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const k=new Map;for(const N of n)if(N.type===z.WindTurbine&&N.foundationId===u.foundationId){const L=N;k.set(N.id,[L.hubRadius,L.hubLength])}const W={name:"Set Hub Parameters for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:k,newValue:D,groupId:u.foundationId,undo:()=>{for(const[N,L]of W.oldValues.entries())C(N,L)},redo:()=>{W.groupId&&P(W.groupId,W.newValue)}};i(W),P(u.foundationId,D),s(l+1)}break}default:{const k=o(u.id),W=k?k.hubRadius:u.hubRadius,N=k?k.hubLength:u.hubLength,L={name:"Set Wind Turbine Hub Parameters",timestamp:Date.now(),oldValue:[W,N],newValue:D,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(L.changedElementId,L.oldValue)},redo:()=>{C(L.changedElementId,L.newValue)}};i(L),C(u.id,D),s(l+1);break}}e(k=>{k.actionState.windTurbineHubRadius=D[0],k.actionState.windTurbineHubLength=D[1]})}},S=()=>{t(!1)},x=()=>{S(),c()},R=()=>{y([d,p]),t(!1),s(0)},H=()=>{y([d,p])};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.HubDesign",A),onApply:H,onClose:S,onClickCancel:x,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx("div",{style:{marginTop:"-20px",textAlign:"left",fontSize:"12px"},children:j.t("windTurbineMenu.HubRadius",A)}),h.jsx(Hn,{min:.5,max:5,style:{width:120},step:.01,precision:2,value:d,onChange:D=>{D!==null&&f(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0.5, 5] ",j.t("word.MeterAbbreviation",A)]}),h.jsx("div",{style:{paddingTop:"10px",textAlign:"left",fontSize:"12px"},children:j.t("windTurbineMenu.HubLength",A)}),h.jsx(Hn,{min:1,max:10,style:{width:120},step:.01,precision:2,value:p,onChange:D=>{D!==null&&g(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [1, 10] ",j.t("word.MeterAbbreviation",A)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",A)})]})})})]})})},Pfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.birdSafe)??lc.None),[p,g]=m.useState((u==null?void 0:u.bladeColor)??X5),[A,w]=m.useState((u==null?void 0:u.stripeColor)??J5),b=Kt(),{Option:C}=Yo,P=N=>{a(N.target.value)},v=(N,L,E)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const U of n)if(U.type===z.WindTurbine&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)){const F=U;if((F.birdSafe??lc.None)!==N||(F.bladeColor??X5)!==L||(F.stripeColor??J5)!==E)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const U of n)if(U.type===z.WindTurbine&&U.foundationId===(u==null?void 0:u.foundationId)&&!U.locked){const F=U;if((F.birdSafe??lc.None)!==N||(F.bladeColor??X5)!==L||(F.stripeColor??J5)!==E)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const U of n)if(U.type===z.WindTurbine&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)){const F=U;if((F.birdSafe??lc.None)!==N||(F.bladeColor??X5)!==L||(F.stripeColor??J5)!==E)return!0}break;default:if((u.birdSafe??lc.None)!==N||(u.bladeColor??X5)!==L||(u.stripeColor??J5)!==E)return!0}return!1}},T=(N,L,E,U)=>{e(F=>{for(const B of F.elements)if(B.type===z.WindTurbine&&B.id===N&&!B.locked){const _=B;_.birdSafe=L,_.bladeColor=E,_.stripeColor=U;break}})},y=(N,L,E,U)=>{e(F=>{for(const B of F.elements)if(B.type===z.WindTurbine&&B.foundationId===N&&!B.locked){const _=B;_.birdSafe=L,_.bladeColor=E,_.stripeColor=U}})},S=(N,L,E)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&!F.locked){const B=F;B.birdSafe=N,B.bladeColor=L,B.stripeColor=E}})},x=(N,L,E,U)=>{M.getState().set(F=>{for(const B of F.elements)if(B.type===z.WindTurbine&&!B.locked&&N.has(B.id)){const _=B;_.birdSafe=L,_.bladeColor=E,_.stripeColor=U}})},R=(N,L,E)=>{if(u&&v(N,L,E)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const B of n)if(B.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(B.id)){const _=B;U.set(B.id,[(_.birdSafe??lc.None).toString(),_.bladeColor,_.stripeColor])}const F={name:"Select Bird-Safe Design for Selected Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:[N.toString(),L,E],undo:()=>{for(const[B,_]of F.oldValues.entries()){const Y=_;T(B,Number(Y[0]),Y[1],Y[2])}},redo:()=>{const B=F.newValue;x(F.oldValues,Number(B[0]),B[1],B[2])}};i(F),x(U,N,L,E),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const B of n)if(B.type===z.WindTurbine){const _=B;U.set(B.id,[(_.birdSafe??lc.None).toString(),_.bladeColor,_.stripeColor])}const F={name:"Select Bird-Safe Design for All Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:[N.toString(),L,E],undo:()=>{for(const[B,_]of F.oldValues.entries()){const Y=_;T(B,Number(Y[0]),Y[1],Y[2])}},redo:()=>{const B=F.newValue;S(Number(B[0]),B[1],B[2])}};i(F),S(N,L,E),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const U=new Map;for(const B of n)if(B.type===z.WindTurbine&&B.foundationId===u.foundationId){const _=B;U.set(B.id,[(_.birdSafe??lc.None).toString(),_.bladeColor,_.stripeColor])}const F={name:"Select Bird-Safe Design for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:U,newValue:[N.toString(),L,E],groupId:u.foundationId,undo:()=>{for(const[B,_]of F.oldValues.entries()){const Y=_;T(B,Number(Y[0]),Y[1],Y[2])}},redo:()=>{if(F.groupId){const B=F.newValue;y(F.groupId,Number(B[0]),B[1],B[2])}}};i(F),y(u.foundationId,N,L,E),s(l+1)}break}default:{const U=o(u.id),F=U?U.birdSafe??lc.None:u.birdSafe??lc.None,B=U?U.bladeColor??X5:u.bladeColor??X5,_=U?U.stripeColor??J5:u.stripeColor??J5,Y=[F.toString(),B,_],O={name:"Select Bird-Safe Design for Wind Turbine",timestamp:Date.now(),oldValue:Y,newValue:[N.toString(),L,E],changedElementId:u.id,changedElementType:u.type,undo:()=>{const J=O.oldValue;T(O.changedElementId,Number(J[0]),J[1],J[2])},redo:()=>{T(O.changedElementId,N,L,E)}};i(O),T(u.id,N,L,E),s(l+1);break}}e(U=>{U.actionState.windTurbineBirdSafeDesign=N,U.actionState.windTurbineBladeColor=L,U.actionState.windTurbineStripeColor=E})}},H=()=>{t(!1)},D=()=>{H(),c()},k=()=>{R(d,p,A),t(!1),s(0)},W=()=>{R(d,p,A)};return h.jsx(lo,{width:600,title:j.t("windTurbineMenu.BirdSafeDesign",b),onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsxs("span",{children:[j.t("word.Pattern",b),": "]}),h.jsxs(Yo,{style:{width:"116px"},value:d,onChange:N=>{N!==null&&f(N)},children:[h.jsx(C,{value:lc.None,children:j.t("windTurbineMenu.BirdSafeNone",b)},lc.None),h.jsx(C,{value:lc.Bicolor,children:j.t("windTurbineMenu.BirdSafeBicolor",b)},lc.Bicolor),h.jsx(C,{value:lc.Striped,children:j.t("windTurbineMenu.BirdSafeStriped",b)},lc.Striped)]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[j.t("word.Color",b)," 1: "]}),h.jsx("input",{type:"color",value:p,onChange:N=>{g(N.target.value)}})]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[j.t("word.Color",b)," 2: "]}),h.jsx("input",{type:"color",value:A,onChange:N=>{w(N.target.value)}})]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:P,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",b)})]})})})]})})},Cfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerHeight)??0),p=m.useRef(!1),g=m.useRef(),A=Kt(),w=k=>{a(k.target.value)},b=k=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.towerHeight-k)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===(u==null?void 0:u.foundationId)&&!W.locked&&Math.abs(W.towerHeight-k)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.towerHeight-k)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerHeight)-k)>Dt)return!0}return!1}},C=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.id===k&&!L.locked){const E=L;E.towerHeight=W,E.lz=W+E.bladeRadius;break}})},P=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.foundationId===k&&!L.locked){const E=L;E.towerHeight=W,E.lz=W+E.bladeRadius}})},v=k=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&!N.locked){const L=N;L.towerHeight=k,L.lz=k+L.bladeRadius}})},T=(k,W)=>{M.getState().set(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&!L.locked&&k.has(L.id)){const E=L;E.towerHeight=W,E.lz=W+E.bladeRadius}})},y=k=>{if(u&&b(k)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&W.bladeRadius>k){p.current=!0;break}if(p.current)g.current=k,f(u.towerHeight);else{const W=new Map;for(const L of n)L.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(L.id)&&W.set(L.id,L.towerHeight);const N={name:"Set Tower Height for Selected Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:k,undo:()=>{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{T(N.oldValues,N.newValue)}};i(N),T(W,k),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.bladeRadius>k){p.current=!0;break}if(p.current)g.current=k,f(u.towerHeight);else{const W=new Map;for(const L of n)L.type===z.WindTurbine&&W.set(L.id,L.towerHeight);const N={name:"Set Tower Height for All Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:k,undo:()=>{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{v(N.newValue)}};i(N),v(k),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===u.foundationId&&W.bladeRadius>k){p.current=!0;break}if(p.current)g.current=k,f(u.towerHeight);else{const W=new Map;for(const L of n)L.type===z.WindTurbine&&L.foundationId===u.foundationId&&W.set(L.id,L.towerHeight);const N={name:"Set Tower Height for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:W,newValue:k,groupId:u.foundationId,undo:()=>{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{N.groupId&&P(N.groupId,N.newValue)}};i(N),P(u.foundationId,k),s(l+1)}}break}default:{const W=o(u.id),N=W?W.towerHeight:u.towerHeight;if(p.current=u.bladeRadius>k,p.current)g.current=k,f(N);else{const L={name:"Set Wind Turbine Tower Height",timestamp:Date.now(),oldValue:N,newValue:k,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(L.changedElementId,L.oldValue)},redo:()=>{C(L.changedElementId,L.newValue)}};i(L),C(u.id,k),s(l+1)}break}}e(W=>{W.actionState.windTurbineTowerHeight=k})}},S=()=>{p.current=!1,t(!1)},x=()=>{S(),c()},R=()=>{y(d),p.current||(t(!1),s(0))},H=()=>{y(d)},D=p.current?": "+j.t("message.NotApplicableToSelectedAction",A)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.TowerHeight",A),rejectedMessage:D,onApply:H,onClose:S,onClickCancel:x,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:k=>{k!==null&&f(k)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [1, 100] ",j.t("word.MeterAbbreviation",A)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",A)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",A)})]})})})]})})},Rfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(io),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerRadius)??0),p=Kt(),g=R=>{a(R.target.value)},A=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs(H.towerRadius-R)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerRadius)-R)>Dt)return!0}return!1}},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.id===R&&!k.locked){const W=k;W.towerRadius=H;break}})},b=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.foundationId===R&&!k.locked){const W=k;W.towerRadius=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const k=D;k.towerRadius=R}})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked&&R.has(k.id)){const W=k;W.towerRadius=H}})},v=R=>{if(u&&A(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.towerRadius);const D={name:"Set Tower Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};i(D),P(H,R),s(l+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&H.set(k.id,k.towerRadius);const D={name:"Set Tower Radius for All Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{C(D.newValue)}};i(D),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.WindTurbine&&k.foundationId===u.foundationId&&H.set(k.id,k.towerRadius);const D={name:"Set Tower Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};i(D),b(u.foundationId,R),s(l+1)}break}default:{const H=o(u.id),D=H?H.towerRadius:u.towerRadius,k={name:"Set Wind Turbine Tower Radius",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(k.changedElementId,k.oldValue)},redo:()=>{w(k.changedElementId,k.newValue)}};i(k),w(u.id,R),s(l+1);break}}e(H=>{H.actionState.windTurbineTowerRadius=R})}},T=()=>{t(!1)},y=()=>{T(),c()},S=()=>{v(d),t(!1),s(0)},x=()=>{v(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.TowerRadius",p),onApply:x,onClose:T,onClickCancel:y,onClickOk:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:d,onChange:R=>{R!==null&&f(R)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.1, 2] ",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Hfo=t=>{const e=[];if(t.type!==z.WindTurbine)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"wind-turbine-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"wind-turbine-cut",label:h.jsx(Tf,{})}),e.push({key:"wind-turbine-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"wind-turbine-relative-yaw-angle",label:h.jsxs(ro,{Dialog:Afo,children:[j.t("windTurbineMenu.RelativeYawAngle",o)," ..."]})},{key:"wind-turbine-rotor-submenu",label:h.jsx(tn,{children:j.t("windTurbineMenu.Rotor",o)}),children:[{key:"wind-turbine-rotor-blade-number",label:h.jsxs(ro,{noPadding:!0,Dialog:wfo,children:[j.t("windTurbineMenu.BladeNumber",o)," ..."]})},{key:"wind-turbine-rotor-initial-angle",label:h.jsxs(ro,{noPadding:!0,Dialog:vfo,children:[j.t("windTurbineMenu.RotorInitialAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-pitch-angle",label:h.jsxs(ro,{noPadding:!0,Dialog:xfo,children:[j.t("windTurbineMenu.RotorBladePitchAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-radius",label:h.jsxs(ro,{noPadding:!0,Dialog:bfo,children:[j.t("windTurbineMenu.RotorBladeRadius",o)," ..."]})},{key:"wind-turbine-rotor-blade-design",label:h.jsxs(ro,{noPadding:!0,Dialog:Sfo,children:[j.t("windTurbineMenu.RotorBladeDesign",o)," ..."]})},{key:"wind-turbine-hub-design",label:h.jsxs(ro,{noPadding:!0,Dialog:Tfo,children:[j.t("windTurbineMenu.HubDesign",o)," ..."]})},{key:"wind-turbine-bird-safe-blade",label:h.jsxs(ro,{noPadding:!0,Dialog:Pfo,children:[j.t("windTurbineMenu.BirdSafeDesign",o)," ..."]})}]},{key:"wind-turbine-tower-submenu",label:h.jsx(tn,{children:j.t("windTurbineMenu.Tower",o)}),children:[{key:"wind-turbine-tower-height",label:h.jsxs(ro,{noPadding:!0,Dialog:Cfo,children:[j.t("windTurbineMenu.TowerHeight",o)," ..."]})},{key:"wind-turbine-tower-radius",label:h.jsxs(ro,{noPadding:!0,Dialog:Rfo,children:[j.t("windTurbineMenu.TowerRadius",o)," ..."]})}]},{key:"wind-turbine-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Mfo=()=>{const t=M($wt),e=co(),n=m.useRef(t),o=m.useRef(e);return t!==null?(n.current=t,o.current=e):setTimeout(()=>{n.current=t,o.current=t===null?void 0:e},200),[n.current,o.current]},Ifo=({children:t})=>{ht(i=>i.contextMenuFlag);const[e,n]=Mfo(),o=()=>{if(!n)return e===z.Ground?Nco():e===z.Sky?_0o():{items:[]};switch(e){case z.Foundation:return ico(n);case z.Cuboid:return Rco(n);case z.Wall:return fdo(n);case z.Roof:return yfo(n);case z.SolarPanel:return iuo(n);case z.Window:return jdo(n);case z.Door:return Tdo(n);case z.Sensor:return H0o(n);case z.Light:return E0o(n);case z.Human:return Kco(n);case z.Tree:return _uo(n);case z.Flower:return $co(n);case z.ParabolicTrough:return puo(n);case z.ParabolicDish:return Tuo(n);case z.FresnelReflector:return Euo(n);case z.Heliostat:return Yuo(n);case z.Polygon:return x0o(n);case z.PolygonVertex:return P0o(n);case z.WindTurbine:return Hfo(n);default:return{items:[]}}};return h.jsx(W7,{trigger:["contextMenu"],menu:o(),overlayClassName:"my-overlay",children:t})},zfo=be.memo(Ifo);(function(){var t,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(I,V,ce){I!=Array.prototype&&I!=Object.prototype&&(I[V]=ce.value)};function n(I){I=[typeof window=="object"&&window,typeof self=="object"&&self,typeof global=="object"&&global,I];for(var V=0;V>>0),P=0;function v(I,V,ce){return I.call.apply(I.bind,arguments)}function T(I,V,ce){if(!I)throw Error();if(2I.b&&(I.b++,V.next=I.a,I.a=V)}function J(){this.b=this.a=null}var Z=new Y(function(){return new ee},function(I){I.reset()});J.prototype.add=function(I,V){var ce=Z.get();ce.set(I,V),this.b?this.b.next=ce:this.a=ce,this.b=ce};function ie(){var I=go,V=null;return I.a&&(V=I.a,I.a=I.a.next,I.a||(I.b=null),V.next=null),V}function ee(){this.next=this.b=this.a=null}ee.prototype.set=function(I,V){this.a=I,this.b=V,this.next=null},ee.prototype.reset=function(){this.next=this.b=this.a=null};var q=Array.prototype.indexOf?function(I,V){return Array.prototype.indexOf.call(I,V,void 0)}:function(I,V){if(typeof I=="string")return typeof V!="string"||V.length!=1?-1:I.indexOf(V,0);for(var ce=0;ceV?null:typeof I=="string"?I.charAt(V):I[V]}function pe(I,V){return 0<=q(I,V)}function fe(I,V){V=q(I,V);var ce;return(ce=0<=V)&&Array.prototype.splice.call(I,V,1),ce}function $(I,V){var ce=0;ne(I,function(Re,Xe){V.call(void 0,Re,Xe,I)&&Array.prototype.splice.call(I,Xe,1).length==1&&ce++})}function de(I){return Array.prototype.concat.apply([],arguments)}function Se(I){var V=I.length;if(0/g,ye=/"/g,oe=/'/g,ge=/\x00/g,Ae=/[\x00&<>"']/;function me(I,V){return I.indexOf(V)!=-1}function Pe(I,V){return IV?1:0}var Me;e:{var Te=s.navigator;if(Te){var De=Te.userAgent;if(De){Me=De;break e}}Me=""}function Ue(I){return me(Me,I)}function Oe(I,V){for(var ce in I)V.call(void 0,I[ce],ce,I)}function Le(I){for(var V in I)return!1;return!0}function $e(I){var V={},ce;for(ce in I)V[ce]=I[ce];return V}var We="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Ee(I,V){for(var ce,Re,Xe=1;Xe"}else vt=I===void 0?"undefined":I===null?"null":typeof I;_("Argument is not a %s (or a non-Element, non-Location mock); got: %s",V,vt)}}function Ge(I,V){this.a=I===xt&&V||"",this.b=Ve}Ge.prototype.ta=!0,Ge.prototype.sa=function(){return this.a},Ge.prototype.toString=function(){return"Const{"+this.a+"}"};function rt(I){return I instanceof Ge&&I.constructor===Ge&&I.b===Ve?I.a:(_("expected object of type Const, got '"+I+"'"),"type_error:Const")}var Ve={},xt={},dt;function Qe(){if(dt===void 0){var I=null,V=s.trustedTypes;if(V&&V.createPolicy){try{I=V.createPolicy("goog#html",{createHTML:R,createScript:R,createScriptURL:R})}catch(ce){s.console&&s.console.error(ce.message)}dt=I}else dt=I}return dt}function ut(I,V){this.a=V===_e?I:""}ut.prototype.ta=!0,ut.prototype.sa=function(){return this.a.toString()},ut.prototype.toString=function(){return"TrustedResourceUrl{"+this.a+"}"};function ft(I){return I instanceof ut&&I.constructor===ut?I.a:(_("expected object of type TrustedResourceUrl, got '"+I+"' of type "+p(I)),"type_error:TrustedResourceUrl")}function at(I,V){var ce=rt(I);if(!et.test(ce))throw Error("Invalid TrustedResourceUrl format: "+ce);return I=ce.replace(ot,function(Re,Xe){if(!Object.prototype.hasOwnProperty.call(V,Xe))throw Error('Found marker, "'+Xe+'", in format string, "'+ce+'", but no valid label mapping found in args: '+JSON.stringify(V));return Re=V[Xe],Re instanceof Ge?rt(Re):encodeURIComponent(String(Re))}),nt(I)}var ot=/%{(\w+)}/g,et=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,_e={};function nt(I){var V=Qe();return I=V?V.createScriptURL(I):I,new ut(I,_e)}function yt(I,V){this.a=V===Ke?I:""}yt.prototype.ta=!0,yt.prototype.sa=function(){return this.a.toString()},yt.prototype.toString=function(){return"SafeUrl{"+this.a+"}"};function Tt(I){return I instanceof yt&&I.constructor===yt?I.a:(_("expected object of type SafeUrl, got '"+I+"' of type "+p(I)),"type_error:SafeUrl")}var Rt=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,Wt=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,Ct=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function At(I){if(I instanceof yt)return I;if(I=typeof I=="object"&&I.ta?I.sa():String(I),Ct.test(I))I=new yt(I,Ke);else{I=String(I),I=I.replace(/(%0A|%0D)/g,"");var V=I.match(Wt);I=V&&Rt.test(V[1])?new yt(I,Ke):null}return I}function Ft(I){return I instanceof yt?I:(I=typeof I=="object"&&I.ta?I.sa():String(I),Ct.test(I)||(I="about:invalid#zClosurez"),new yt(I,Ke))}var Ke={},Je=new yt("about:invalid#zClosurez",Ke);function ct(I,V,ce){this.a=ce===Ne?I:""}ct.prototype.ta=!0,ct.prototype.sa=function(){return this.a.toString()},ct.prototype.toString=function(){return"SafeHtml{"+this.a+"}"};function Pt(I){return I instanceof ct&&I.constructor===ct?I.a:(_("expected object of type SafeHtml, got '"+I+"' of type "+p(I)),"type_error:SafeHtml")}var Ne={};function lt(I,V){Fe(I,"HTMLScriptElement"),I.src=ft(V),(V=I.ownerDocument&&I.ownerDocument.defaultView)&&V!=s?V=d(V.document):(u===null&&(u=d(s.document)),V=u),V&&I.setAttribute("nonce",V)}function Ye(I,V,ce,Re){return I=I instanceof yt?I:Ft(I),V=V||s,ce=ce instanceof Ge?rt(ce):ce||"",V.open(Tt(I),ce,Re,void 0)}function st(I,V){for(var ce=I.split("%s"),Re="",Xe=Array.prototype.slice.call(arguments,1);Xe.length&&1")!=-1&&(I=I.replace(ze,">")),I.indexOf('"')!=-1&&(I=I.replace(ye,""")),I.indexOf("'")!=-1&&(I=I.replace(oe,"'")),I.indexOf("\0")!=-1&&(I=I.replace(ge,"�"))),I}function mt(I){return mt[" "](I),I}mt[" "]=f;function Ht(I,V){var ce=Ai;return Object.prototype.hasOwnProperty.call(ce,I)?ce[I]:ce[I]=V(I)}var wt=Ue("Opera"),It=Ue("Trident")||Ue("MSIE"),Et=Ue("Edge"),zt=Et||It,ln=Ue("Gecko")&&!(me(Me.toLowerCase(),"webkit")&&!Ue("Edge"))&&!(Ue("Trident")||Ue("MSIE"))&&!Ue("Edge"),Xt=me(Me.toLowerCase(),"webkit")&&!Ue("Edge");function fn(){var I=s.document;return I?I.documentMode:void 0}var rn;e:{var bn="",Tn=function(){var I=Me;if(ln)return/rv:([^\);]+)(\)|;)/.exec(I);if(Et)return/Edge\/([\d\.]+)/.exec(I);if(It)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(I);if(Xt)return/WebKit\/(\S+)/.exec(I);if(wt)return/(?:Version)[ \/]?(\S+)/.exec(I)}();if(Tn&&(bn=Tn?Tn[1]:""),It){var Un=fn();if(Un!=null&&Un>parseFloat(bn)){rn=String(Un);break e}}rn=bn}var Ai={};function vo(I){return Ht(I,function(){for(var V=0,ce=Ce(String(rn)).split("."),Re=Ce(String(I)).split("."),Xe=Math.max(ce.length,Re.length),vt=0;V==0&&vt"),vt=vt.join("")}return vt=yn(Xe,vt),kt&&(typeof kt=="string"?vt.className=kt:Array.isArray(kt)?vt.className=kt.join(" "):qo(vt,kt)),2"u"&&typeof window<"u"&&window.postMessage&&window.addEventListener&&!Ue("Presto")&&(I=function(){var Xe=yn(document,"IFRAME");Xe.style.display="none",document.documentElement.appendChild(Xe);var vt=Xe.contentWindow;Xe=vt.document,Xe.open(),Xe.close();var kt="callImmediate"+Math.random(),sn=vt.location.protocol=="file:"?"*":vt.location.protocol+"//"+vt.location.host;Xe=y(function(eo){(sn=="*"||eo.origin==sn)&&eo.data==kt&&this.port1.onmessage()},this),vt.addEventListener("message",Xe,!1),this.port1={},this.port2={postMessage:function(){vt.postMessage(kt,sn)}}}),typeof I<"u"&&!Ue("Trident")&&!Ue("MSIE")){var V=new I,ce={},Re=ce;return V.port1.onmessage=function(){if(ce.next!==void 0){ce=ce.next;var Xe=ce.Hb;ce.Hb=null,Xe()}},function(Xe){Re.next={Hb:Xe},Re=Re.next,V.port2.postMessage(0)}}return function(Xe){s.setTimeout(Xe,0)}}function Lo(I,V){bo||Ro(),oi||(bo(),oi=!0),go.add(I,V)}var bo;function Ro(){if(s.Promise&&s.Promise.resolve){var I=s.Promise.resolve(void 0);bo=function(){I.then(So)}}else bo=function(){var V=So;!A(s.setImmediate)||s.Window&&s.Window.prototype&&!Ue("Edge")&&s.Window.prototype.setImmediate==s.setImmediate?(Eo||(Eo=ni()),Eo(V)):s.setImmediate(V)}}var oi=!1,go=new J;function So(){for(var I;I=ie();){try{I.a.call(I.b)}catch(V){no(V)}O(Z,I)}oi=!1}function Uo(I,V){if(this.a=_i,this.i=void 0,this.f=this.b=this.c=null,this.g=this.h=!1,I!=f)try{var ce=this;I.call(V,function(Re){Pc(ce,Qo,Re)},function(Re){if(!(Re instanceof mu))try{throw Re instanceof Error?Re:Error("Promise rejected.")}catch{}Pc(ce,ar,Re)})}catch(Re){Pc(this,ar,Re)}}var _i=0,Qo=2,ar=3;function ur(){this.next=this.f=this.b=this.g=this.a=null,this.c=!1}ur.prototype.reset=function(){this.f=this.b=this.g=this.a=null,this.c=!1};var $o=new Y(function(){return new ur},function(I){I.reset()});function ba(I,V,ce){var Re=$o.get();return Re.g=I,Re.b=V,Re.f=ce,Re}function Mo(I){if(I instanceof Uo)return I;var V=new Uo(f);return Pc(V,Qo,I),V}function $i(I){return new Uo(function(V,ce){ce(I)})}function Za(I,V,ce){Is(I,V,ce,null)||Lo(S(V,I))}function ti(I){return new Uo(function(V,ce){var Re=I.length,Xe=[];if(Re)for(var vt=function(Io,Hr){Re--,Xe[Io]=Hr,Re==0&&V(Xe)},kt=function(Io){ce(Io)},sn=0,eo;sn=I.keyCode)&&(I.keyCode=-1)}catch{}},St.prototype.g=function(){return this.a};var Jt="closure_listenable_"+(1e6*Math.random()|0),an=0;function gn(I,V,ce,Re,Xe){this.listener=I,this.proxy=null,this.src=V,this.type=ce,this.capture=!!Re,this.Wa=Xe,this.key=++an,this.wa=this.Qa=!1}function mn(I){I.wa=!0,I.listener=null,I.proxy=null,I.src=null,I.Wa=null}function vn(I){this.src=I,this.a={},this.b=0}vn.prototype.add=function(I,V,ce,Re,Xe){var vt=I.toString();I=this.a[vt],I||(I=this.a[vt]=[],this.b++);var kt=jn(I,V,Re,Xe);return-1Re.keyCode||Re.returnValue!=null)){e:{var Xe=!1;if(Re.keyCode==0)try{Re.keyCode=-1;break e}catch{Xe=!0}(Xe||Re.returnValue==null)&&(Re.returnValue=!0)}for(Re=[],Xe=V.b;Xe;Xe=Xe.parentNode)Re.push(Xe);for(I=I.type,Xe=Re.length-1;0<=Xe;Xe--){V.b=Re[Xe];var vt=Ju(Re[Xe],I,!0,V);ce=ce&&vt}for(Xe=0;Xe>>0);function Hf(I){return A(I)?I:(I[qu]||(I[qu]=function(V){return I.handleEvent(V)}),I[qu])}function Ol(){cn.call(this),this.v=new vn(this),this.bc=this,this.hb=null}x(Ol,cn),Ol.prototype[Jt]=!0,Ol.prototype.addEventListener=function(I,V,ce,Re){Xn(this,I,V,ce,Re)},Ol.prototype.removeEventListener=function(I,V,ce,Re){Vi(this,I,V,ce,Re)},Ol.prototype.dispatchEvent=function(I){var V,ce=this.hb;if(ce)for(V=[];ce;ce=ce.hb)V.push(ce);ce=this.bc;var Re=I.type||I;if(typeof I=="string")I=new Nt(I,ce);else if(I instanceof Nt)I.target=I.target||ce;else{var Xe=I;I=new Nt(Re,ce),Ee(I,Xe)}if(Xe=!0,V)for(var vt=V.length-1;0<=vt;vt--){var kt=I.b=V[vt];Xe=yp(kt,Re,!0,I)&&Xe}if(kt=I.b=ce,Xe=yp(kt,Re,!0,I)&&Xe,Xe=yp(kt,Re,!1,I)&&Xe,V)for(vt=0;vtV)throw Error("Bad port number "+V);I.g=V}else I.g=null}function Ug(I,V,ce){V instanceof Bg?(I.b=V,Q7(I.b,I.i)):(ce||(V=Rh(V,Hh)),I.b=new Bg(V,I.i))}function el(I,V,ce){I.b.set(V,ce)}function Ed(I,V){return I.b.get(V)}function wu(I){return I instanceof zs?new zs(I):new zs(I,void 0)}function a5(I,V,ce,Re){var Xe=new zs(null,void 0);return I&&$s(Xe,I),V&&(Xe.a=V),ce&&yl(Xe,ce),Re&&(Xe.f=Re),Xe}function fy(I,V){return I?V?decodeURI(I.replace(/%25/g,"%2525")):decodeURIComponent(I):""}function Rh(I,V,ce){return typeof I=="string"?(I=encodeURI(I).replace(V,g3),ce&&(I=I.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),I):null}function g3(I){return I=I.charCodeAt(0),"%"+(I>>4&15).toString(16)+(I&15).toString(16)}var hy=/[#\/\?@]/g,m3=/[#\?:]/g,l5=/[#\?]/g,Hh=/[#\?@]/g,y3=/#/g;function Bg(I,V){this.b=this.a=null,this.c=I||null,this.f=!!V}function kd(I){I.a||(I.a=new O0,I.b=0,I.c&&Au(I.c,function(V,ce){I.add(decodeURIComponent(V.replace(/\+/g," ")),ce)}))}function $7(I){var V=f1(I);if(typeof V>"u")throw Error("Keys are undefined");var ce=new Bg(null,void 0);I=yu(I);for(var Re=0;Re2*I.c&&Ch(I)))}t.clear=function(){this.a=this.c=null,this.b=0};function hs(I,V){return kd(I),V=vu(I,V),Ng(I.a.b,V)}t.forEach=function(I,V){kd(this),this.a.forEach(function(ce,Re){ae(ce,function(Xe){I.call(V,Xe,Re,this)},this)},this)},t.Y=function(){kd(this);for(var I=this.a.X(),V=this.a.Y(),ce=[],Re=0;ReI?!1:!It||!po||9',I=(Re=Qe())?Re.createHTML(I):I,I=new ct(I,null,Ne),Re=kt.document)&&(Re.write(Pt(I)),Re.close())):(kt=Ye(V,Re,ce,kt))&&I.noopener&&(kt.opener=null),kt)try{kt.focus()}catch{}return kt}function jg(I){return new Uo(function(V){function ce(){Gc(2e3).then(function(){if(!I||I.closed)V();else return ce()})}return ce()})}var A3=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,s5=/^[^@]+@[^@]+$/;function Ds(){var I=null;return new Uo(function(V){s.document.readyState=="complete"?V():(I=function(){V()},Kr(window,"load",I))}).o(function(V){throw Vi(window,"load",I),V})}function c5(){return La(void 0)?Ds().then(function(){return new Uo(function(I,V){var ce=s.document,Re=setTimeout(function(){V(Error("Cordova framework is not ready."))},1e3);ce.addEventListener("deviceready",function(){clearTimeout(Re),I()},!1)})}):$i(Error("Cordova must run in an Android or iOS file scheme."))}function La(I){return I=I||Qs(),!(Fd()!=="file:"&&Fd()!=="ionic:"||!I.toLowerCase().match(/iphone|ipad|ipod|android/))}function w3(){var I=s.window;try{return!(!I||I==I.top)}catch{return!1}}function Rc(){return typeof s.WorkerGlobalScope<"u"&&typeof s.importScripts=="function"}function Es(){return qn.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":qn.INTERNAL.hasOwnProperty("node")?"Node":Rc()?"Worker":"Browser"}function Yg(){var I=Es();return I==="ReactNative"||I==="Node"}function PA(){for(var I=50,V=[];0"u"?null:my(I)}function g5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&I[ce]!==null&&I[ce]!==void 0&&(V[ce]=I[ce]);return V}function yy(I){if(I!==null)return JSON.parse(I)}function _g(I){return I||Math.floor(1e9*Math.random()).toString()}function m5(I){return I=I||Qs(),!($u(I)=="Safari"||I.toLowerCase().match(/iphone|ipad|ipod/))}function y5(){var I=s.___jsl;if(I&&I.H){for(var V in I.H)if(I.H[V].r=I.H[V].r||[],I.H[V].L=I.H[V].L||[],I.H[V].r=I.H[V].L.concat(),I.CP)for(var ce=0;ceV)throw Error("Short delay should be less than long delay!");this.a=I,this.c=V,I=Qs(),V=Es(),this.b=Jc(I)||V==="ReactNative"}Mf.prototype.get=function(){var I=s.navigator;return!(I&&typeof I.onLine=="boolean"&&(p5()||Fd()==="chrome-extension:"||typeof I.connection<"u"))||I.onLine?this.b?this.c:this.a:Math.min(5e3,this.a)};function CA(){var I=s.document;return I&&typeof I.visibilityState<"u"?I.visibilityState=="visible":!0}function Z7(){var I=s.document,V=null;return CA()||!I?Mo():new Uo(function(ce){V=function(){CA()&&(I.removeEventListener("visibilitychange",V,!1),ce())},I.addEventListener("visibilitychange",V,!1)}).o(function(ce){throw I.removeEventListener("visibilitychange",V,!1),ce})}function v3(I){try{var V=new Date(parseInt(I,10));if(!isNaN(V.getTime())&&!/[^0-9]/.test(I))return V.toUTCString()}catch{}return null}function e8(){return!(!_l("fireauth.oauthhelper",s)&&!_l("fireauth.iframe",s))}function Kc(){var I=s.navigator;return I&&I.serviceWorker&&I.serviceWorker.controller||null}function V0(){var I=s.navigator;return I&&I.serviceWorker?Mo().then(function(){return I.serviceWorker.ready}).then(function(V){return V.active||null}).o(function(){return null}):Mo(null)}var t8={};function RA(I){t8[I]||(t8[I]=!0,typeof console<"u"&&typeof console.warn=="function"&&console.warn(I))}var x3;try{var HA={};Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:1}),Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:2}),x3=HA.abcd==2}catch{x3=!1}function Pi(I,V,ce){x3?Object.defineProperty(I,V,{configurable:!0,enumerable:!0,value:ce}):I[V]=ce}function qc(I,V){if(V)for(var ce in V)V.hasOwnProperty(ce)&&Pi(I,ce,V[ce])}function If(I){var V={};return qc(V,I),V}function A5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&(V[ce]=I[ce]);return V}function Ay(I,V){if(!V||!V.length)return!0;if(!I)return!1;for(var ce=0;ce"u")throw new H("missing-continue-uri");if(typeof V!="string"||typeof V=="string"&&!V.length)throw new H("invalid-continue-uri");this.h=V,this.b=this.a=null,this.g=!1;var ce=I[r8];if(ce&&typeof ce=="object"){V=ce[l8];var Re=ce[A1];if(ce=ce[WA],typeof V=="string"&&V.length){if(this.a=V,typeof Re<"u"&&typeof Re!="boolean")throw new H("argument-error",A1+" property must be a boolean when specified.");if(this.g=!!Re,typeof ce<"u"&&(typeof ce!="string"||typeof ce=="string"&&!ce.length))throw new H("argument-error",WA+" property must be a non empty string when specified.");this.b=ce||null}else{if(typeof V<"u")throw new H("argument-error",l8+" property must be a non empty string when specified.");if(typeof Re<"u"||typeof ce<"u")throw new H("missing-android-pkg-name")}}else if(typeof ce<"u")throw new H("argument-error",r8+" property must be a non null object when specified.");if(this.f=null,(V=I[a8])&&typeof V=="object"){if(V=V[Hc],typeof V=="string"&&V.length)this.f=V;else if(typeof V<"u")throw new H("argument-error",Hc+" property must be a non empty string when specified.")}else if(typeof V<"u")throw new H("argument-error",a8+" property must be a non null object when specified.");if(V=I[FA],typeof V<"u"&&typeof V!="boolean")throw new H("argument-error",FA+" property must be a boolean when specified.");if(this.c=!!V,I=I[kA],typeof I<"u"&&(typeof I!="string"||typeof I=="string"&&!I.length))throw new H("argument-error",kA+" property must be a non empty string when specified.");this.i=I||null}var r8="android",kA="dynamicLinkDomain",FA="handleCodeInApp",a8="iOS",LA="url",A1="installApp",WA="minimumVersion",l8="packageName",Hc="bundleId";function NA(I){var V={};V.continueUrl=I.h,V.canHandleCodeInApp=I.c,(V.androidPackageName=I.a)&&(V.androidMinimumVersion=I.b,V.androidInstallApp=I.g),V.iOSBundleId=I.f,V.dynamicLinkDomain=I.i;for(var ce in V)V[ce]===null&&delete V[ce];return V}function HM(I){return le(I,function(V){return V=V.toString(16),1>4),kt!=64&&(V(vt<<4&240|kt>>2),sn!=64&&V(kt<<6&192|sn))}}function mi(){if(!Vg){Vg={};for(var I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),V=["+/=","+/","-_=","-_.","-_"],ce=0;5>ce;ce++)for(var Re=I.concat(V[ce].split("")),Xe=0;Xethis.a?this.a:I),this.b=V.provider_id||V.firebase&&V.firebase.sign_in_provider||null,this.f=V.firebase&&V.firebase.tenant||null,this.c=!!V.is_anonymous||this.b=="anonymous"}Gg.prototype.T=function(){return this.f},Gg.prototype.l=function(){return this.c},Gg.prototype.toString=function(){return this.h};function v5(I){try{return new Gg(I)}catch{return null}}function s8(I){if(!I||(I=I.split("."),I.length!=3))return null;I=I[1];for(var V=(4-I.length%4)%4,ce=0;ceXe)I[ce++]=String.fromCharCode(Xe);else if(191Xe){var vt=Re[V++];I[ce++]=String.fromCharCode((Xe&31)<<6|vt&63)}else if(239Xe){vt=Re[V++];var kt=Re[V++],sn=Re[V++],eo=((Xe&7)<<18|(vt&63)<<12|(kt&63)<<6|sn&63)-65536;I[ce++]=String.fromCharCode(55296+(eo>>10)),I[ce++]=String.fromCharCode(56320+(eo&1023))}else vt=Re[V++],kt=Re[V++],I[ce++]=String.fromCharCode((Xe&15)<<12|(vt&63)<<6|kt&63)}return JSON.parse(I.join(""))}catch{}return null}var UA="oauth_consumer_key oauth_nonce oauth_signature oauth_signature_method oauth_timestamp oauth_token oauth_version".split(" "),td=["client_id","response_type","scope","redirect_uri","state"],vp={nd:{Ja:"locale",va:700,ua:600,fa:"facebook.com",Ya:td},pd:{Ja:null,va:500,ua:750,fa:"github.com",Ya:td},qd:{Ja:"hl",va:515,ua:680,fa:"google.com",Ya:td},wd:{Ja:"lang",va:485,ua:705,fa:"twitter.com",Ya:UA},kd:{Ja:"locale",va:640,ua:600,fa:"apple.com",Ya:[]}};function P3(I){for(var V in vp)if(vp[V].fa==I)return vp[V];return null}function BA(I){var V={};V["facebook.com"]=nd,V["google.com"]=C3,V["github.com"]=YA,V["twitter.com"]=OA;var ce=I&&I[zh];try{if(ce)return V[ce]?new V[ce](I):new w0(I);if(typeof I[jA]<"u")return new x5(I)}catch{}return null}var jA="idToken",zh="providerId";function x5(I){var V=I[zh];if(!V&&I[jA]){var ce=v5(I[jA]);ce&&ce.b&&(V=ce.b)}if(!V)throw Error("Invalid additional user info!");(V=="anonymous"||V=="custom")&&(V=null),ce=!1,typeof I.isNewUser<"u"?ce=!!I.isNewUser:I.kind==="identitytoolkit#SignupNewUserResponse"&&(ce=!0),Pi(this,"providerId",V),Pi(this,"isNewUser",ce)}function w0(I){x5.call(this,I),I=yy(I.rawUserInfo||"{}"),Pi(this,"profile",p1(I||{}))}x(w0,x5);function nd(I){if(w0.call(this,I),this.providerId!="facebook.com")throw Error("Invalid provider ID!")}x(nd,w0);function YA(I){if(w0.call(this,I),this.providerId!="github.com")throw Error("Invalid provider ID!");Pi(this,"username",this.profile&&this.profile.login||null)}x(YA,w0);function C3(I){if(w0.call(this,I),this.providerId!="google.com")throw Error("Invalid provider ID!")}x(C3,w0);function OA(I){if(w0.call(this,I),this.providerId!="twitter.com")throw Error("Invalid provider ID!");Pi(this,"username",I.screenName||null)}x(OA,w0);function Xg(I){var V=wu(I),ce=Ed(V,"link"),Re=Ed(wu(ce),"link");return V=Ed(V,"deep_link_id"),Ed(wu(V),"link")||V||Re||ce||I}function od(I,V){if(!I&&!V)throw new H("internal-error","Internal assert: no raw session string available");if(I&&V)throw new H("internal-error","Internal assert: unable to determine the session type");this.a=I||null,this.b=V||null,this.type=this.a?b5:_A}var b5="enroll",_A="signin";od.prototype.Ha=function(){return this.a?Mo(this.a):Mo(this.b)},od.prototype.w=function(){return this.type==b5?{multiFactorSession:{idToken:this.a}}:{multiFactorSession:{pendingCredential:this.b}}};function xp(){}xp.prototype.ka=function(){},xp.prototype.b=function(){},xp.prototype.c=function(){},xp.prototype.w=function(){};function vy(I,V){return I.then(function(ce){if(ce[Zt]){var Re=v5(ce[Zt]);if(!Re||V!=Re.i)throw new H("user-mismatch");return ce}throw new H("user-mismatch")}).o(function(ce){throw ce&&ce.code&&ce.code==k+"user-not-found"?new H("user-mismatch"):ce})}function w1(I,V){if(V)this.a=V;else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",I)}w1.prototype.ka=function(I){return AS(I,Mc(this))},w1.prototype.b=function(I,V){var ce=Mc(this);return ce.idToken=V,q0(I,ce)},w1.prototype.c=function(I,V){return vy(EM(I,Mc(this)),V)};function Mc(I){return{pendingToken:I.a,requestUri:"http://localhost"}}w1.prototype.w=function(){return{providerId:this.providerId,signInMethod:this.signInMethod,pendingToken:this.a}};function S5(I){if(I&&I.providerId&&I.signInMethod&&I.providerId.indexOf("saml.")==0&&I.pendingToken)try{return new w1(I.providerId,I.pendingToken)}catch{}return null}function Wd(I,V,ce){if(this.a=null,V.idToken||V.accessToken)V.idToken&&Pi(this,"idToken",V.idToken),V.accessToken&&Pi(this,"accessToken",V.accessToken),V.nonce&&!V.pendingToken&&Pi(this,"nonce",V.nonce),V.pendingToken&&(this.a=V.pendingToken);else if(V.oauthToken&&V.oauthTokenSecret)Pi(this,"accessToken",V.oauthToken),Pi(this,"secret",V.oauthTokenSecret);else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",ce)}Wd.prototype.ka=function(I){return AS(I,bu(this))},Wd.prototype.b=function(I,V){var ce=bu(this);return ce.idToken=V,q0(I,ce)},Wd.prototype.c=function(I,V){var ce=bu(this);return vy(EM(I,ce),V)};function bu(I){var V={};return I.idToken&&(V.id_token=I.idToken),I.accessToken&&(V.access_token=I.accessToken),I.secret&&(V.oauth_token_secret=I.secret),V.providerId=I.providerId,I.nonce&&!I.a&&(V.nonce=I.nonce),V={postBody:$7(V).toString(),requestUri:"http://localhost"},I.a&&(delete V.postBody,V.pendingToken=I.a),V}Wd.prototype.w=function(){var I={providerId:this.providerId,signInMethod:this.signInMethod};return this.idToken&&(I.oauthIdToken=this.idToken),this.accessToken&&(I.oauthAccessToken=this.accessToken),this.secret&&(I.oauthTokenSecret=this.secret),this.nonce&&(I.nonce=this.nonce),this.a&&(I.pendingToken=this.a),I};function T5(I){if(I&&I.providerId&&I.signInMethod){var V={idToken:I.oauthIdToken,accessToken:I.oauthTokenSecret?null:I.oauthAccessToken,oauthTokenSecret:I.oauthTokenSecret,oauthToken:I.oauthTokenSecret&&I.oauthAccessToken,nonce:I.nonce,pendingToken:I.pendingToken};try{return new Wd(I.providerId,V,I.signInMethod)}catch{}}return null}function Nd(I,V){this.Qc=V||[],qc(this,{providerId:I,isOAuthProvider:!0}),this.Jb={},this.qb=(P3(I)||{}).Ja||null,this.pb=null}Nd.prototype.Ka=function(I){return this.Jb=$e(I),this};function zf(I){if(typeof I!="string"||I.indexOf("saml.")!=0)throw new H("argument-error",'SAML provider IDs must be prefixed with "saml."');Nd.call(this,I,[])}x(zf,Nd);function X0(I){Nd.call(this,I,td),this.a=[]}x(X0,Nd),X0.prototype.Ca=function(I){return pe(this.a,I)||this.a.push(I),this},X0.prototype.Rb=function(){return Se(this.a)},X0.prototype.credential=function(I,V){var ce;if(w(I)?ce={idToken:I.idToken||null,accessToken:I.accessToken||null,nonce:I.rawNonce||null}:ce={idToken:I||null,accessToken:V||null},!ce.idToken&&!ce.accessToken)throw new H("argument-error","credential failed: must provide the ID token and/or the access token.");return new Wd(this.providerId,ce,this.providerId)};function xs(){X0.call(this,"facebook.com")}x(xs,X0),Pi(xs,"PROVIDER_ID","facebook.com"),Pi(xs,"FACEBOOK_SIGN_IN_METHOD","facebook.com");function P5(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return w(I)&&(V=I.accessToken),new xs().credential({accessToken:V})}function Jg(){X0.call(this,"github.com")}x(Jg,X0),Pi(Jg,"PROVIDER_ID","github.com"),Pi(Jg,"GITHUB_SIGN_IN_METHOD","github.com");function VA(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return w(I)&&(V=I.accessToken),new Jg().credential({accessToken:V})}function xy(){X0.call(this,"google.com"),this.Ca("profile")}x(xy,X0),Pi(xy,"PROVIDER_ID","google.com"),Pi(xy,"GOOGLE_SIGN_IN_METHOD","google.com");function by(I,V){var ce=I;return w(I)&&(ce=I.idToken,V=I.accessToken),new xy().credential({idToken:ce,accessToken:V})}function Kg(){Nd.call(this,"twitter.com",UA)}x(Kg,Nd),Pi(Kg,"PROVIDER_ID","twitter.com"),Pi(Kg,"TWITTER_SIGN_IN_METHOD","twitter.com");function Vl(I,V){var ce=I;if(w(ce)||(ce={oauthToken:I,oauthTokenSecret:V}),!ce.oauthToken||!ce.oauthTokenSecret)throw new H("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");return new Wd("twitter.com",ce,"twitter.com")}function Cr(I,V,ce){this.a=I,this.f=V,Pi(this,"providerId","password"),Pi(this,"signInMethod",ce===tl.EMAIL_LINK_SIGN_IN_METHOD?tl.EMAIL_LINK_SIGN_IN_METHOD:tl.EMAIL_PASSWORD_SIGN_IN_METHOD)}Cr.prototype.ka=function(I){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,Ey,{email:this.a,oobCode:this.f}):Da(I,BM,{email:this.a,password:this.f})},Cr.prototype.b=function(I,V){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,_d,{idToken:V,email:this.a,oobCode:this.f}):Da(I,WM,{idToken:V,email:this.a,password:this.f})},Cr.prototype.c=function(I,V){return vy(this.ka(I),V)},Cr.prototype.w=function(){return{email:this.a,password:this.f,signInMethod:this.signInMethod}};function Ic(I){return I&&I.email&&I.password?new Cr(I.email,I.password,I.signInMethod):null}function tl(){qc(this,{providerId:"password",isOAuthProvider:!1})}function Fs(I,V){if(V=Su(V),!V)throw new H("argument-error","Invalid email link!");return new Cr(I,V.code,tl.EMAIL_LINK_SIGN_IN_METHOD)}function Su(I){return I=Xg(I),(I=T3(I))&&I.operation===m1?I:null}qc(tl,{PROVIDER_ID:"password"}),qc(tl,{EMAIL_LINK_SIGN_IN_METHOD:"emailLink"}),qc(tl,{EMAIL_PASSWORD_SIGN_IN_METHOD:"password"});function Ud(I){if(!(I.fb&&I.eb||I.La&&I.ea))throw new H("internal-error");this.a=I,Pi(this,"providerId","phone"),this.fa="phone",Pi(this,"signInMethod","phone")}Ud.prototype.ka=function(I){return I.gb(bp(this))},Ud.prototype.b=function(I,V){var ce=bp(this);return ce.idToken=V,Da(I,gU,ce)},Ud.prototype.c=function(I,V){var ce=bp(this);return ce.operation="REAUTH",I=Da(I,om,ce),vy(I,V)},Ud.prototype.w=function(){var I={providerId:"phone"};return this.a.fb&&(I.verificationId=this.a.fb),this.a.eb&&(I.verificationCode=this.a.eb),this.a.La&&(I.temporaryProof=this.a.La),this.a.ea&&(I.phoneNumber=this.a.ea),I};function Zs(I){if(I&&I.providerId==="phone"&&(I.verificationId&&I.verificationCode||I.temporaryProof&&I.phoneNumber)){var V={};return ae(["verificationId","verificationCode","temporaryProof","phoneNumber"],function(ce){I[ce]&&(V[ce]=I[ce])}),new Ud(V)}return null}function bp(I){return I.a.La&&I.a.ea?{temporaryProof:I.a.La,phoneNumber:I.a.ea}:{sessionInfo:I.a.fb,code:I.a.eb}}function id(I){try{this.a=I||qn.auth()}catch{throw new H("argument-error","Either an instance of firebase.auth.Auth must be passed as an argument to the firebase.auth.PhoneAuthProvider constructor, or the default firebase App instance must be initialized via firebase.initializeApp().")}qc(this,{providerId:"phone",isOAuthProvider:!1})}id.prototype.gb=function(I,V){var ce=this.a.a;return Mo(V.verify()).then(function(Re){if(typeof Re!="string")throw new H("argument-error","An implementation of firebase.auth.ApplicationVerifier.prototype.verify() must return a firebase.Promise that resolves with a string.");switch(V.type){case"recaptcha":var Xe=w(I)?I.session:null,vt=w(I)?I.phoneNumber:I,kt;return Xe&&Xe.type==b5?kt=Xe.Ha().then(function(sn){return e4(ce,{idToken:sn,phoneEnrollmentInfo:{phoneNumber:vt,recaptchaToken:Re}})}):Xe&&Xe.type==_A?kt=Xe.Ha().then(function(sn){return mS(ce,{mfaPendingCredential:sn,mfaEnrollmentId:I.multiFactorHint&&I.multiFactorHint.uid||I.multiFactorUid,phoneSignInInfo:{recaptchaToken:Re}})}):kt=ZA(ce,{phoneNumber:vt,recaptchaToken:Re}),kt.then(function(sn){return typeof V.reset=="function"&&V.reset(),sn},function(sn){throw typeof V.reset=="function"&&V.reset(),sn});default:throw new H("argument-error",'Only firebase.auth.ApplicationVerifiers with type="recaptcha" are currently supported.')}})};function R3(I,V){if(!I)throw new H("missing-verification-id");if(!V)throw new H("missing-verification-code");return new Ud({fb:I,eb:V})}qc(id,{PROVIDER_ID:"phone"}),qc(id,{PHONE_SIGN_IN_METHOD:"phone"});function H3(I){if(I.temporaryProof&&I.phoneNumber)return new Ud({La:I.temporaryProof,ea:I.phoneNumber});var V=I&&I.providerId;if(!V||V==="password")return null;var ce=I&&I.oauthAccessToken,Re=I&&I.oauthTokenSecret,Xe=I&&I.nonce,vt=I&&I.oauthIdToken,kt=I&&I.pendingToken;try{switch(V){case"google.com":return by(vt,ce);case"facebook.com":return P5(ce);case"github.com":return VA(ce);case"twitter.com":return Vl(ce,Re);default:return ce||Re||vt||kt?kt?V.indexOf("saml.")==0?new w1(V,kt):new Wd(V,{pendingToken:kt,idToken:I.oauthIdToken,accessToken:I.oauthAccessToken},V):new X0(V).credential({idToken:vt,accessToken:ce,rawNonce:Xe}):null}}catch{return null}}function qg(I){if(!I.isOAuthProvider)throw new H("invalid-oauth-provider")}function Gl(I,V,ce,Re,Xe,vt,kt){if(this.c=I,this.b=V||null,this.g=ce||null,this.f=Re||null,this.i=vt||null,this.h=kt||null,this.a=Xe||null,this.g||this.a){if(this.g&&this.a)throw new H("invalid-auth-event");if(this.g&&!this.f)throw new H("invalid-auth-event")}else throw new H("invalid-auth-event")}Gl.prototype.getUid=function(){var I=[];return I.push(this.c),this.b&&I.push(this.b),this.f&&I.push(this.f),this.h&&I.push(this.h),I.join("-")},Gl.prototype.T=function(){return this.h},Gl.prototype.w=function(){return{type:this.c,eventId:this.b,urlResponse:this.g,sessionId:this.f,postBody:this.i,tenantId:this.h,error:this.a&&this.a.w()}};function GA(I){return I=I||{},I.type?new Gl(I.type,I.eventId,I.urlResponse,I.sessionId,I.error&&D(I.error),I.postBody,I.tenantId):null}function M3(){this.b=null,this.a=[]}var v1=null;function I3(I){var V=v1;V.a.push(I),V.b||(V.b=function(ce){for(var Re=0;Re Auth section -> Sign in method tab.",I):Re=="http"||Re=="https"?ce=st("This domain (%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",I):V="operation-not-supported-in-this-environment",H.call(this,V,ce)}x(C5,H);function Tu(I,V,ce){H.call(this,I,ce),I=V||{},I.Kb&&Pi(this,"email",I.Kb),I.ea&&Pi(this,"phoneNumber",I.ea),I.credential&&Pi(this,"credential",I.credential),I.$b&&Pi(this,"tenantId",I.$b)}x(Tu,H),Tu.prototype.w=function(){var I={code:this.code,message:this.message};this.email&&(I.email=this.email),this.phoneNumber&&(I.phoneNumber=this.phoneNumber),this.tenantId&&(I.tenantId=this.tenantId);var V=this.credential&&this.credential.w();return V&&Ee(I,V),I},Tu.prototype.toJSON=function(){return this.w()};function Sy(I){if(I.code){var V=I.code||"";V.indexOf(k)==0&&(V=V.substring(k.length));var ce={credential:H3(I),$b:I.tenantId};if(I.email)ce.Kb=I.email;else if(I.phoneNumber)ce.ea=I.phoneNumber;else if(!ce.credential)return new H(V,I.message||void 0);return new Tu(V,ce,I.message)}return null}function Bd(){}Bd.prototype.c=null;function R5(I){return I.c||(I.c=I.b())}var Ty;function Py(){}x(Py,Bd),Py.prototype.a=function(){var I=z3(this);return I?new ActiveXObject(I):new XMLHttpRequest},Py.prototype.b=function(){var I={};return z3(this)&&(I[0]=!0,I[1]=!0),I};function z3(I){if(!I.f&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var V=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],ce=0;ce=b1(this).value)for(A(V)&&(V=V()),I=new rd(I,String(V),this.f),ce&&(I.a=ce),ce=this;ce;)ce=ce.a};var XA={},J0=null;function E3(I){J0||(J0=new $g(""),XA[""]=J0,J0.c=Cy);var V;if(!(V=XA[I])){V=new $g(I);var ce=I.lastIndexOf("."),Re=I.substr(ce+1);ce=E3(I.substr(0,ce)),ce.b||(ce.b={}),ce.b[Re]=V,V.a=ce,XA[I]=V}return V}function ec(I,V){I&&I.log(gS,V,void 0)}function Ry(I){this.f=I}x(Ry,Bd),Ry.prototype.a=function(){return new H5(this.f)},Ry.prototype.b=function(I){return function(){return I}}({});function H5(I){Ol.call(this),this.u=I,this.h=void 0,this.readyState=M5,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.l=new Headers,this.b=null,this.s="GET",this.f="",this.a=!1,this.i=E3("goog.net.FetchXmlHttp"),this.m=this.c=this.g=null}x(H5,Ol);var M5=0;t=H5.prototype,t.open=function(I,V){if(this.readyState!=M5)throw this.abort(),Error("Error reopening a connection");this.s=I,this.f=V,this.readyState=1,Hy(this)},t.send=function(I){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.a=!0;var V={headers:this.l,method:this.s,credentials:this.h,cache:void 0};I&&(V.body=I),this.u.fetch(new Request(this.f,V)).then(this.uc.bind(this),this.Va.bind(this))},t.abort=function(){this.response=this.responseText="",this.l=new Headers,this.status=0,this.c&&this.c.cancel("Request was aborted."),1<=this.readyState&&this.a&&this.readyState!=4&&(this.a=!1,Ef(this)),this.readyState=M5},t.uc=function(I){this.a&&(this.g=I,this.b||(this.status=this.g.status,this.statusText=this.g.statusText,this.b=I.headers,this.readyState=2,Hy(this)),this.a&&(this.readyState=3,Hy(this),this.a&&(this.responseType==="arraybuffer"?I.arrayBuffer().then(this.sc.bind(this),this.Va.bind(this)):typeof s.ReadableStream<"u"&&"body"in I?(this.response=this.responseText="",this.c=I.body.getReader(),this.m=new TextDecoder,x0(this)):I.text().then(this.tc.bind(this),this.Va.bind(this)))))};function x0(I){I.c.read().then(I.pc.bind(I)).catch(I.Va.bind(I))}t.pc=function(I){if(this.a){var V=this.m.decode(I.value?I.value:new Uint8Array(0),{stream:!I.done});V&&(this.response=this.responseText+=V),I.done?Ef(this):Hy(this),this.readyState==3&&x0(this)}},t.tc=function(I){this.a&&(this.response=this.responseText=I,Ef(this))},t.sc=function(I){this.a&&(this.response=I,Ef(this))},t.Va=function(I){var V=this.i;V&&V.log(D3,"Failed to fetch url "+this.f,I instanceof Error?I:Error(I)),this.a&&Ef(this)};function Ef(I){I.readyState=4,I.g=null,I.c=null,I.m=null,Hy(I)}t.setRequestHeader=function(I,V){this.l.append(I,V)},t.getResponseHeader=function(I){return this.b?this.b.get(I.toLowerCase())||"":((I=this.i)&&I.log(D3,"Attempting to get response header but no headers have been received for url: "+this.f,void 0),"")},t.getAllResponseHeaders=function(){if(!this.b){var I=this.i;return I&&I.log(D3,"Attempting to get all response headers but no headers have been received for url: "+this.f,void 0),""}I=[];for(var V=this.b.entries(),ce=V.next();!ce.done;)ce=ce.value,I.push(ce[0]+": "+ce[1]),ce=V.next();return I.join(`\r -`)};function Hy(I){I.onreadystatechange&&I.onreadystatechange.call(I)}Object.defineProperty(H5.prototype,"withCredentials",{get:function(){return this.h==="include"},set:function(I){this.h=I?"include":"same-origin"}});function My(I){Ol.call(this),this.headers=new O0,this.D=I||null,this.c=!1,this.C=this.a=null,this.h=this.P=this.l="",this.f=this.N=this.i=this.J=!1,this.g=0,this.s=null,this.m=I5,this.u=this.S=!1}x(My,Ol);var I5="";My.prototype.b=E3("goog.net.XhrIo");var Qg=/^https?$/i,u8=["POST","PUT"];function Zg(I,V,ce,Re,Xe){if(I.a)throw Error("[goog.net.XhrIo] Object is active with another request="+I.l+"; newUri="+V);ce=ce?ce.toUpperCase():"GET",I.l=V,I.h="",I.P=ce,I.J=!1,I.c=!0,I.a=I.D?I.D.a():Ty.a(),I.C=I.D?R5(I.D):R5(Ty),I.a.onreadystatechange=y(I.Wb,I);try{ec(I.b,Dh(I,"Opening Xhr")),I.N=!0,I.a.open(ce,String(V),!0),I.N=!1}catch(kt){ec(I.b,Dh(I,"Error opening Xhr: "+kt.message)),S1(I,kt);return}V=Re||"";var vt=new O0(I.headers);Xe&&h1(Xe,function(kt,sn){vt.set(sn,kt)}),Xe=he(vt.Y()),Re=s.FormData&&V instanceof s.FormData,!pe(u8,ce)||Xe||Re||vt.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),vt.forEach(function(kt,sn){this.a.setRequestHeader(sn,kt)},I),I.m&&(I.a.responseType=I.m),"withCredentials"in I.a&&I.a.withCredentials!==I.S&&(I.a.withCredentials=I.S);try{KA(I),0=V.l&&V.cancel())}this.u?this.u.call(this.s,this):this.v=!0,this.a||(I=new z5,Iy(this),jd(this,!1,I))}},tm.prototype.m=function(I,V){this.i=!1,jd(this,I,V)};function jd(I,V,ce){I.a=!0,I.c=ce,I.f=!V,Yd(I)}function Iy(I){if(I.a){if(!I.v)throw new $A;I.v=!1}}function nm(I,V){zy(I,null,V,void 0)}function zy(I,V,ce,Re){I.g.push([V,ce,Re]),I.a&&Yd(I)}tm.prototype.then=function(I,V,ce){var Re,Xe,vt=new Uo(function(kt,sn){Re=kt,Xe=sn});return zy(this,Re,function(kt){kt instanceof z5?vt.cancel():Xe(kt)}),vt.then(I,V,ce)},tm.prototype.$goog_Thenable=!0;function b0(I){return te(I.g,function(V){return A(V[1])})}function Yd(I){if(I.h&&I.a&&b0(I)){var V=I.h,ce=Sp[V];ce&&(s.clearTimeout(ce.a),delete Sp[V]),I.h=0}I.b&&(I.b.l--,delete I.b),V=I.c;for(var Re=ce=!1;I.g.length&&!I.i;){var Xe=I.g.shift(),vt=Xe[0],kt=Xe[1];if(Xe=Xe[2],vt=I.f?kt:vt)try{var sn=vt.call(Xe||I.s,V);sn!==void 0&&(I.f=I.f&&(sn==V||sn instanceof Error),I.c=V=sn),(U(V)||typeof s.Promise=="function"&&V instanceof s.Promise)&&(Re=!0,I.i=!0)}catch(eo){V=eo,I.f=!0,b0(I)||(ce=!0)}}I.c=V,Re&&(sn=y(I.m,I,!0),Re=y(I.m,I,!1),V instanceof tm?(zy(V,sn,Re),V.C=!0):V.then(sn,Re)),ce&&(V=new D5(V),Sp[V.a]=V,I.h=V.a)}function $A(){F.call(this)}x($A,F),$A.prototype.message="Deferred has already fired",$A.prototype.name="AlreadyCalledError";function z5(){F.call(this)}x(z5,F),z5.prototype.message="Deferred was canceled",z5.prototype.name="CanceledError";function D5(I){this.a=s.setTimeout(y(this.c,this),0),this.b=I}D5.prototype.c=function(){throw delete Sp[this.a],this.b};var Sp={};function F3(I){var V={},ce=V.document||document,Re=ft(I).toString(),Xe=yn(document,"SCRIPT"),vt={Xb:Xe,Ma:void 0},kt=new tm(vt),sn=null,eo=V.timeout!=null?V.timeout:5e3;return 0"u"||typeof s.Headers>"u"||typeof s.Request>"u"))throw new H("operation-not-supported-in-this-environment","fetch, Headers and Request native APIs or equivalent Polyfills must be available to support HTTP requests from a Worker environment.");var kt=new My(this.f);if(vt){kt.g=Math.max(0,vt);var sn=setTimeout(function(){kt.dispatchEvent("timeout")},vt)}Y0(kt,"complete",function(){sn&&clearTimeout(sn);var eo=null;try{eo=JSON.parse(kf(this))||null}catch{eo=null}V&&V(eo)}),Ph(kt,"ready",function(){sn&&clearTimeout(sn),jt(this)}),Ph(kt,"timeout",function(){sn&&clearTimeout(sn),jt(this),V&&V(null)}),Zg(kt,I,ce,Re,Xe)};var Od=new Ge(xt,"https://apis.google.com/js/client.js?onload=%{onload}"),Dn="__fcb"+Math.floor(1e6*Math.random()).toString();function Rn(I,V){if(((window.gapi||{}).client||{}).request)I();else{s[Dn]=function(){((window.gapi||{}).client||{}).request?I():V(Error("CORS_UNSUPPORTED"))};var ce=at(Od,{onload:Dn});nm(F3(ce),function(){V(Error("CORS_UNSUPPORTED"))})}}qe.prototype.s=function(I,V,ce,Re,Xe){var vt=this;pt.then(function(){window.gapi.client.setApiKey(vt.c);var kt=window.gapi.auth.getToken();window.gapi.auth.setToken(null),window.gapi.client.request({path:I,method:ce,body:Re,headers:Xe,authType:"none",callback:function(sn){window.gapi.auth.setToken(kt),V&&V(sn)}})}).o(function(kt){V&&V({error:{message:kt&&kt.message||"CORS_UNSUPPORTED"}})})};function On(I,V){return new Uo(function(ce,Re){V.grant_type=="refresh_token"&&V.refresh_token||V.grant_type=="authorization_code"&&V.code?S0(I,I.l+"?key="+encodeURIComponent(I.c),function(Xe){Xe?Xe.error?Re(YM(Xe)):Xe.access_token&&Xe.refresh_token?ce(Xe):Re(new H("internal-error")):Re(new H("network-request-failed"))},"POST",$7(V).toString(),I.g,I.m.get()):Re(new H("internal-error"))})}function xi(I,V,ce,Re,Xe,vt,kt){var sn=wu(V+ce);el(sn,"key",I.c),kt&&el(sn,"cb",Date.now().toString());var eo=Re=="GET";if(eo)for(var Io in Xe)Xe.hasOwnProperty(Io)&&el(sn,Io,Xe[Io]);return new Uo(function(Hr,Al){S0(I,sn.toString(),function(fl){fl?fl.error?Al(YM(fl,vt||{})):Hr(fl):Al(new H("network-request-failed"))},Re,eo?void 0:my(g5(Xe)),I.a,I.v.get())})}function zi(I){if(I=I.email,typeof I!="string"||!s5.test(I))throw new H("invalid-email")}function qr(I){"email"in I&&zi(I)}function Yr(I,V){return Da(I,Zee,{identifier:V,continueUri:p5()?dr():"http://localhost"}).then(function(ce){return ce.signinMethods||[]})}function ea(I){return Da(I,uU,{}).then(function(V){return V.authorizedDomains||[]})}function Wa(I){if(!I[Zt])throw I.mfaPendingCredential?new H("multi-factor-auth-required",null,$e(I)):new H("internal-error")}function Sa(I){if(I.phoneNumber||I.temporaryProof){if(!I.phoneNumber||!I.temporaryProof)throw new H("internal-error")}else{if(!I.sessionInfo)throw new H("missing-verification-id");if(!I.code)throw new H("missing-verification-code")}}qe.prototype.Ab=function(){return Da(this,fU,{})},qe.prototype.Cb=function(I,V){return Da(this,dU,{idToken:I,email:V})},qe.prototype.Db=function(I,V){return Da(this,WM,{idToken:I,password:V})};var Tp={displayName:"DISPLAY_NAME",photoUrl:"PHOTO_URL"};t=qe.prototype,t.Eb=function(I,V){var ce={idToken:I},Re=[];return Oe(Tp,function(Xe,vt){var kt=V[vt];kt===null?Re.push(Xe):vt in V&&(ce[vt]=kt)}),Re.length&&(ce.deleteAttribute=Re),Da(this,dU,ce)},t.wb=function(I,V){return I={requestType:"PASSWORD_RESET",email:I},Ee(I,V),Da(this,cU,I)},t.xb=function(I,V){return I={requestType:"EMAIL_SIGNIN",email:I},Ee(I,V),Da(this,ote,I)},t.vb=function(I,V){return I={requestType:"VERIFY_EMAIL",idToken:I},Ee(I,V),Da(this,ite,I)},t.Fb=function(I,V,ce){return I={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:I,newEmail:V},Ee(I,ce),Da(this,f8,I)};function ZA(I,V){return Da(I,lte,V)}t.gb=function(I){return Da(this,wS,I)};function e4(I,V){return Da(I,ste,V).then(function(ce){return ce.phoneSessionInfo.sessionInfo})}function yr(I){if(!I.phoneVerificationInfo)throw new H("internal-error");if(!I.phoneVerificationInfo.sessionInfo)throw new H("missing-verification-id");if(!I.phoneVerificationInfo.code)throw new H("missing-verification-code")}function mS(I,V){return Da(I,NM,V).then(function(ce){return ce.phoneResponseInfo.sessionInfo})}function zM(I,V,ce){return Da(I,tte,{idToken:V,deleteProvider:ce})}function Dy(I){if(!I.requestUri||!I.sessionId&&!I.postBody&&!I.pendingToken)throw new H("internal-error")}function DM(I,V){return V.oauthIdToken&&V.providerId&&V.providerId.indexOf("oidc.")==0&&!V.pendingToken&&(I.sessionId?V.nonce=I.sessionId:I.postBody&&(I=new Bg(I.postBody),hs(I,"nonce")&&(V.nonce=I.get("nonce")))),V}function yS(I){var V=null;if(I.needConfirmation?(I.code="account-exists-with-different-credential",V=Sy(I)):I.errorMessage=="FEDERATED_USER_ID_ALREADY_LINKED"?(I.code="credential-already-in-use",V=Sy(I)):I.errorMessage=="EMAIL_EXISTS"?(I.code="email-already-in-use",V=Sy(I)):I.errorMessage&&(V=jM(I.errorMessage)),V)throw V;Wa(I)}function AS(I,V){return V.returnIdpCredential=!0,Da(I,hU,V)}function q0(I,V){return V.returnIdpCredential=!0,Da(I,UM,V)}function EM(I,V){return V.returnIdpCredential=!0,V.autoCreate=!1,Da(I,h8,V)}function kM(I){if(!I.oobCode)throw new H("invalid-action-code")}t.ob=function(I,V){return Da(this,ate,{oobCode:I,newPassword:V})},t.Sa=function(I){return Da(this,Qee,{oobCode:I})},t.kb=function(I){return Da(this,lU,{oobCode:I})};var lU={endpoint:"setAccountInfo",A:kM,Z:"email",B:!0},Qee={endpoint:"resetPassword",A:kM,G:function(I){var V=I.requestType;if(!V||!I.email&&V!="EMAIL_SIGNIN"&&V!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},B:!0},sU={endpoint:"signupNewUser",A:function(I){if(zi(I),!I.password)throw new H("weak-password")},G:Wa,V:!0,B:!0},Zee={endpoint:"createAuthUri",B:!0},ete={endpoint:"deleteAccount",O:["idToken"]},tte={endpoint:"setAccountInfo",O:["idToken","deleteProvider"],A:function(I){if(!Array.isArray(I.deleteProvider))throw new H("internal-error")}},Ey={endpoint:"emailLinkSignin",O:["email","oobCode"],A:zi,G:Wa,V:!0,B:!0},_d={endpoint:"emailLinkSignin",O:["idToken","email","oobCode"],A:zi,G:Wa,V:!0},FM={endpoint:"accounts/mfaEnrollment:finalize",O:["idToken","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},nte={endpoint:"accounts/mfaSignIn:finalize",O:["mfaPendingCredential","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},LM={endpoint:"getAccountInfo"},ote={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="EMAIL_SIGNIN")throw new H("internal-error");zi(I)},Z:"email",B:!0},ite={endpoint:"getOobConfirmationCode",O:["idToken","requestType"],A:function(I){if(I.requestType!="VERIFY_EMAIL")throw new H("internal-error")},Z:"email",B:!0},f8={endpoint:"getOobConfirmationCode",O:["idToken","newEmail","requestType"],A:function(I){if(I.requestType!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},Z:"email",B:!0},cU={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="PASSWORD_RESET")throw new H("internal-error");zi(I)},Z:"email",B:!0},uU={mb:!0,endpoint:"getProjectConfig",Vb:"GET"},rte={mb:!0,endpoint:"getRecaptchaParam",Vb:"GET",G:function(I){if(!I.recaptchaSiteKey)throw new H("internal-error")}},ate={endpoint:"resetPassword",A:kM,Z:"email",B:!0},lte={endpoint:"sendVerificationCode",O:["phoneNumber","recaptchaToken"],Z:"sessionInfo",B:!0},dU={endpoint:"setAccountInfo",O:["idToken"],A:qr,V:!0},WM={endpoint:"setAccountInfo",O:["idToken"],A:function(I){if(qr(I),!I.password)throw new H("weak-password")},G:Wa,V:!0},fU={endpoint:"signupNewUser",G:Wa,V:!0,B:!0},ste={endpoint:"accounts/mfaEnrollment:start",O:["idToken","phoneEnrollmentInfo"],A:function(I){if(!I.phoneEnrollmentInfo)throw new H("internal-error");if(!I.phoneEnrollmentInfo.phoneNumber)throw new H("missing-phone-number");if(!I.phoneEnrollmentInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneSessionInfo||!I.phoneSessionInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},NM={endpoint:"accounts/mfaSignIn:start",O:["mfaPendingCredential","mfaEnrollmentId","phoneSignInInfo"],A:function(I){if(!I.phoneSignInInfo||!I.phoneSignInInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneResponseInfo||!I.phoneResponseInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},hU={endpoint:"verifyAssertion",A:Dy,Za:DM,G:yS,V:!0,B:!0},h8={endpoint:"verifyAssertion",A:Dy,Za:DM,G:function(I){if(I.errorMessage&&I.errorMessage=="USER_NOT_FOUND")throw new H("user-not-found");if(I.errorMessage)throw jM(I.errorMessage);Wa(I)},V:!0,B:!0},UM={endpoint:"verifyAssertion",A:function(I){if(Dy(I),!I.idToken)throw new H("internal-error")},Za:DM,G:yS,V:!0},pU={endpoint:"verifyCustomToken",A:function(I){if(!I.token)throw new H("invalid-custom-token")},G:Wa,V:!0,B:!0},BM={endpoint:"verifyPassword",A:function(I){if(zi(I),!I.password)throw new H("wrong-password")},G:Wa,V:!0,B:!0},wS={endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},gU={endpoint:"verifyPhoneNumber",A:function(I){if(!I.idToken)throw new H("internal-error");Sa(I)},G:function(I){if(I.temporaryProof)throw I.code="credential-already-in-use",Sy(I);Wa(I)}},om={Ib:{USER_NOT_FOUND:"user-not-found"},endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},W3={endpoint:"accounts/mfaEnrollment:withdraw",O:["idToken","mfaEnrollmentId"],G:function(I){if(!!I[Zt]^!!I.refreshToken)throw new H("internal-error")},B:!0,Na:!0};function Da(I,V,ce){if(!Ay(ce,V.O))return $i(new H("internal-error"));var Re=!!V.Na,Xe=V.Vb||"POST",vt;return Mo(ce).then(V.A).then(function(){return V.V&&(ce.returnSecureToken=!0),V.B&&I.b&&typeof ce.tenantId>"u"&&(ce.tenantId=I.b),Re?xi(I,I.i,V.endpoint,Xe,ce,V.Ib,V.mb||!1):xi(I,I.h,V.endpoint,Xe,ce,V.Ib,V.mb||!1)}).then(function(kt){return vt=kt,V.Za?V.Za(ce,vt):vt}).then(V.G).then(function(){if(!V.Z)return vt;if(!(V.Z in vt))throw new H("internal-error");return vt[V.Z]})}function jM(I){return YM({error:{errors:[{message:I}],code:400,message:I}})}function YM(I,V){var ce=(I.error&&I.error.errors&&I.error.errors[0]||{}).reason||"",Re={keyInvalid:"invalid-api-key",ipRefererBlocked:"app-not-authorized"};if(ce=Re[ce]?new H(Re[ce]):null)return ce;ce=I.error&&I.error.message||"",Re={INVALID_CUSTOM_TOKEN:"invalid-custom-token",CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_EMAIL:"invalid-email",INVALID_PASSWORD:"wrong-password",USER_DISABLED:"user-disabled",MISSING_PASSWORD:"internal-error",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_OR_INVALID_NONCE:"missing-or-invalid-nonce",INVALID_MESSAGE_PAYLOAD:"invalid-message-payload",INVALID_RECIPIENT_EMAIL:"invalid-recipient-email",INVALID_SENDER:"invalid-sender",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",INVALID_PROVIDER_ID:"invalid-provider-id",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",CORS_UNSUPPORTED:"cors-unsupported",DYNAMIC_LINK_NOT_ACTIVATED:"dynamic-link-not-activated",INVALID_APP_ID:"invalid-app-id",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",WEAK_PASSWORD:"weak-password",OPERATION_NOT_ALLOWED:"operation-not-allowed",USER_CANCELLED:"user-cancelled",CAPTCHA_CHECK_FAILED:"captcha-check-failed",INVALID_APP_CREDENTIAL:"invalid-app-credential",INVALID_CODE:"invalid-verification-code",INVALID_PHONE_NUMBER:"invalid-phone-number",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_APP_CREDENTIAL:"missing-app-credential",MISSING_CODE:"missing-verification-code",MISSING_PHONE_NUMBER:"missing-phone-number",MISSING_SESSION_INFO:"missing-verification-id",QUOTA_EXCEEDED:"quota-exceeded",SESSION_EXPIRED:"code-expired",REJECTED_CREDENTIAL:"rejected-credential",INVALID_CONTINUE_URI:"invalid-continue-uri",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",MISSING_IOS_BUNDLE_ID:"missing-ios-bundle-id",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_DYNAMIC_LINK_DOMAIN:"invalid-dynamic-link-domain",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",INVALID_CERT_HASH:"invalid-cert-hash",UNSUPPORTED_TENANT_OPERATION:"unsupported-tenant-operation",INVALID_TENANT_ID:"invalid-tenant-id",TENANT_ID_MISMATCH:"tenant-id-mismatch",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",EMAIL_CHANGE_NEEDS_VERIFICATION:"email-change-needs-verification",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",UNSUPPORTED_FIRST_FACTOR:"unsupported-first-factor",UNVERIFIED_EMAIL:"unverified-email"},Ee(Re,V||{}),V=(V=ce.match(/^[^\s]+\s*:\s*([\s\S]*)$/))&&1"u"&&delete sn[eo]}),I.ports[0].postMessage({status:"done",eventId:ce,eventType:V,response:kt})})}};function Eh(I,V,ce){Le(I.a)&&I.b.addEventListener("message",I.f),typeof I.a[V]>"u"&&(I.a[V]=[]),I.a[V].push(ce)}function SU(I){this.a=I}SU.prototype.postMessage=function(I,V){this.a.postMessage(I,V)};function TU(I){this.c=I,this.b=!1,this.a=[]}function PU(I,V,ce,Re){var Xe,vt=ce||{},kt,sn,eo,Io=null;if(I.b)return $i(Error("connection_unavailable"));var Hr=Re?800:50,Al=typeof MessageChannel<"u"?new MessageChannel:null;return new Uo(function(fl,$0){Al?(Xe=Math.floor(Math.random()*Math.pow(10,20)).toString(),Al.port1.start(),sn=setTimeout(function(){$0(Error("unsupported_event"))},Hr),kt=function(Ly){Ly.data.eventId===Xe&&(Ly.data.status==="ack"?(clearTimeout(sn),eo=setTimeout(function(){$0(Error("timeout"))},3e3)):Ly.data.status==="done"?(clearTimeout(eo),typeof Ly.data.response<"u"?fl(Ly.data.response):$0(Error("unknown_error"))):(clearTimeout(sn),clearTimeout(eo),$0(Error("invalid_response"))))},Io={messageChannel:Al,onMessage:kt},I.a.push(Io),Al.port1.addEventListener("message",kt),I.c.postMessage({eventType:V,eventId:Xe,data:vt},[Al.port2])):$0(Error("connection_unavailable"))}).then(function(fl){return SS(I,Io),fl}).o(function(fl){throw SS(I,Io),fl})}function SS(I,V){if(V){var ce=V.messageChannel,Re=V.onMessage;ce&&(ce.port1.removeEventListener("message",Re),ce.port1.close()),$(I.a,function(Xe){return Xe==V})}}TU.prototype.close=function(){for(;0"u"&&(Re=null);var Xe=s.localStorage.getItem(ce);Xe!==Re&&(this.b[ce]=Xe,this.nb(ce))}else if(V.indexOf("firebase:")==0&&this.a[V]){if(typeof I.a.a<"u"?N3(this,"local").ia(this.f):$M(this),this.m){if(ce=s.localStorage.getItem(V),Re=I.a.newValue,Re!==ce)Re!==null?s.localStorage.setItem(V,Re):s.localStorage.removeItem(V);else if(this.b[V]===Re&&typeof I.a.a>"u")return}var vt=this;ce=function(){(typeof I.a.a<"u"||vt.b[V]!==s.localStorage.getItem(V))&&(vt.b[V]=s.localStorage.getItem(V),vt.nb(V))},It&&po&&po==10&&s.localStorage.getItem(V)!==I.a.newValue&&I.a.newValue!==I.a.oldValue?setTimeout(ce,10):ce()}}else ae(I,y(this.nb,this))},t.nb=function(I){this.a[I]&&ae(this.a[I],function(V){V()})};function Ite(I){this.a=I,this.b=A8()}var QM={name:"authEvent",F:"local"};function zte(I){return I.b.get(QM,I.a).then(function(V){return GA(V)})}function Dte(){this.a=A8()}function Ete(){this.b=-1}function CS(I,V){this.b=LU,this.f=s.Uint8Array?new Uint8Array(this.b):Array(this.b),this.g=this.c=0,this.a=[],this.i=I,this.h=V,this.l=s.Int32Array?new Int32Array(64):Array(64),RS===void 0&&(s.Int32Array?RS=new Int32Array(nI):RS=nI),this.reset()}var RS;x(CS,Ete);for(var LU=64,kte=LU-1,WU=[],ZM=0;ZMV;V++){Xe=ce[V-15]|0,Re=ce[V-2]|0;var vt=(ce[V-16]|0)+((Xe>>>7|Xe<<25)^(Xe>>>18|Xe<<14)^Xe>>>3)|0,kt=(ce[V-7]|0)+((Re>>>17|Re<<15)^(Re>>>19|Re<<13)^Re>>>10)|0;ce[V]=vt+kt|0}Re=I.a[0]|0,Xe=I.a[1]|0;var sn=I.a[2]|0,eo=I.a[3]|0,Io=I.a[4]|0,Hr=I.a[5]|0,Al=I.a[6]|0;for(vt=I.a[7]|0,V=0;64>V;V++){var fl=((Re>>>2|Re<<30)^(Re>>>13|Re<<19)^(Re>>>22|Re<<10))+(Re&Xe^Re&sn^Xe&sn)|0;kt=Io&Hr^~Io&Al,vt=vt+((Io>>>6|Io<<26)^(Io>>>11|Io<<21)^(Io>>>25|Io<<7))|0,kt=kt+(RS[V]|0)|0,kt=vt+(kt+(ce[V]|0)|0)|0,vt=Al,Al=Hr,Hr=Io,Io=eo+kt|0,eo=sn,sn=Xe,Xe=Re,Re=kt+fl|0}I.a[0]=I.a[0]+Re|0,I.a[1]=I.a[1]+Xe|0,I.a[2]=I.a[2]+sn|0,I.a[3]=I.a[3]+eo|0,I.a[4]=I.a[4]+Io|0,I.a[5]=I.a[5]+Hr|0,I.a[6]=I.a[6]+Al|0,I.a[7]=I.a[7]+vt|0}function tI(I,V,ce){ce===void 0&&(ce=V.length);var Re=0,Xe=I.c;if(typeof V=="string")for(;Re=vt&&vt==(vt|0)))throw Error("message must be a byte array");I.f[Xe++]=vt,Xe==I.b&&(eI(I),Xe=0)}else throw Error("message must be string or array");I.c=Xe,I.g+=ce}var nI=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function oI(){CS.call(this,8,Fte)}x(oI,CS);var Fte=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function UU(I,V,ce,Re,Xe,vt){this.v=I,this.i=V,this.l=ce,this.m=Re||null,this.u=Xe||null,this.s=vt,this.h=V+":"+ce,this.C=new Dte,this.g=new Ite(this.h),this.f=null,this.b=[],this.a=this.c=null}function HS(I){return new H("invalid-cordova-configuration",I)}t=UU.prototype,t.ma=function(){return this.Ia?this.Ia:this.Ia=c5().then(function(){if(typeof _l("universalLinks.subscribe",s)!="function")throw HS("cordova-universal-links-plugin-fix is not installed");if(typeof _l("BuildInfo.packageName",s)>"u")throw HS("cordova-plugin-buildinfo is not installed");if(typeof _l("cordova.plugins.browsertab.openUrl",s)!="function")throw HS("cordova-plugin-browsertab is not installed");if(typeof _l("cordova.InAppBrowser.open",s)!="function")throw HS("cordova-plugin-inappbrowser is not installed")},function(){throw new H("cordova-not-ready")})};function Lte(){for(var I=20,V=[];0V.c?tI(V,NU,56-V.c):tI(V,NU,V.b-(V.c-56));for(var Re=63;56<=Re;Re--)V.f[Re]=ce&255,ce/=256;for(eI(V),Re=ce=0;Re>Xe&255;return HM(I)}t.Pb=function(I,V){return V(new H("operation-not-supported-in-this-environment")),Mo()},t.Nb=function(){return $i(new H("operation-not-supported-in-this-environment"))},t.ac=function(){return!1},t.Yb=function(){return!0},t.Ub=function(){return!0},t.Ob=function(I,V,ce,Re){if(this.c)return $i(new H("redirect-operation-pending"));var Xe=this,vt=s.document,kt=null,sn=null,eo=null,Io=null;return this.c=Mo().then(function(){return qg(V),jU(Xe)}).then(function(){return Wte(Xe,I,V,ce,Re)}).then(function(){return new Uo(function(Hr,Al){sn=function(){var fl=_l("cordova.plugins.browsertab.close",s);return Hr(),typeof fl=="function"&&fl(),Xe.a&&typeof Xe.a.close=="function"&&(Xe.a.close(),Xe.a=null),!1},Xe.Ea(sn),eo=function(){kt||(kt=Gc(2e3).then(function(){Al(new H("redirect-cancelled-by-user"))}))},Io=function(){CA()&&eo()},vt.addEventListener("resume",eo,!1),Qs().toLowerCase().match(/android/)||vt.addEventListener("visibilitychange",Io,!1)}).o(function(Hr){return iI(Xe).then(function(){throw Hr})})}).oa(function(){eo&&vt.removeEventListener("resume",eo,!1),Io&&vt.removeEventListener("visibilitychange",Io,!1),kt&&kt.cancel(),sn&&Xe.Ta(sn),Xe.c=null})};function Wte(I,V,ce,Re,Xe){var vt=Lte(),kt=new Gl(V,Re,null,vt,new H("no-auth-event"),null,Xe),sn=_l("BuildInfo.packageName",s);if(typeof sn!="string")throw new H("invalid-cordova-configuration");var eo=_l("BuildInfo.displayName",s),Io={};if(Qs().toLowerCase().match(/iphone|ipad|ipod/))Io.ibi=sn;else if(Qs().toLowerCase().match(/android/))Io.apn=sn;else return $i(new H("operation-not-supported-in-this-environment"));eo&&(Io.appDisplayName=eo),vt=MS(vt),Io.sessionId=vt;var Hr=t4(I.v,I.i,I.l,V,ce,null,Re,I.m,Io,I.u,Xe,I.s);return I.ma().then(function(){var Al=I.h;return I.C.a.set(QM,kt.w(),Al)}).then(function(){var Al=_l("cordova.plugins.browsertab.isAvailable",s);if(typeof Al!="function")throw new H("invalid-cordova-configuration");var fl=null;Al(function($0){if($0){if(fl=_l("cordova.plugins.browsertab.openUrl",s),typeof fl!="function")throw new H("invalid-cordova-configuration");fl(Hr)}else{if(fl=_l("cordova.InAppBrowser.open",s),typeof fl!="function")throw new H("invalid-cordova-configuration");$0=Qs(),I.a=fl(Hr,$0.match(/(iPad|iPhone|iPod).*OS 7_\d/i)||$0.match(/(iPad|iPhone|iPod).*OS 8_\d/i)?"_blank":"_system","location=yes")}})})}function BU(I,V){for(var ce=0;ceI.f&&(I.a=I.f),V)}function gI(I,V){I.stop(),I.b=Gc(Jte(I,V)).then(function(){return Z7()}).then(function(){return I.h()}).then(function(){gI(I,!0)}).o(function(ce){I.i(ce)&&gI(I,!1)})}pI.prototype.stop=function(){this.b&&(this.b.cancel(),this.b=null)};function S8(I){this.f=I,this.b=this.a=null,this.c=Date.now()}S8.prototype.w=function(){return{apiKey:this.f.c,refreshToken:this.a,accessToken:this.b&&this.b.toString(),expirationTime:this.c}};function eB(I,V){typeof V>"u"&&(I.b?(V=I.b,V=V.a-V.g):V=0),I.c=Date.now()+1e3*V}function rm(I,V){I.b=v5(V[Zt]||""),I.a=V.refreshToken,V=V.expiresIn,eB(I,typeof V<"u"?Number(V):void 0)}function tB(I,V){I.b=V.b,I.a=V.a,I.c=V.c}function kS(I,V){return On(I.f,V).then(function(ce){return I.b=v5(ce.access_token),I.a=ce.refresh_token,eB(I,ce.expires_in),{accessToken:I.b.toString(),refreshToken:I.a}}).o(function(ce){throw ce.code=="auth/user-token-expired"&&(I.a=null),ce})}S8.prototype.getToken=function(I){return I=!!I,this.b&&!this.a?$i(new H("user-token-expired")):I||!this.b||Date.now()>this.c-3e4?this.a?kS(this,{grant_type:"refresh_token",refresh_token:this.a}):Mo(null):Mo({accessToken:this.b.toString(),refreshToken:this.a})};function gs(I,V){this.a=I||null,this.b=V||null,qc(this,{lastSignInTime:v3(V||null),creationTime:v3(I||null)})}function Dc(I){return new gs(I.a,I.b)}gs.prototype.w=function(){return{lastLoginAt:this.b,createdAt:this.a}};function nB(I,V,ce,Re,Xe,vt){qc(this,{uid:I,displayName:Re||null,photoURL:Xe||null,email:ce||null,phoneNumber:vt||null,providerId:V})}function kh(I,V,ce){this.N=[],this.l=I.apiKey,this.m=I.appName,this.s=I.authDomain||null;var Re=qn.SDK_VERSION?Og(qn.SDK_VERSION):null;this.a=new qe(this.l,L(E),Re),(this.u=I.emulatorConfig||null)&&Ji(this.a,this.u),this.h=new S8(this.a),WS(this,V[Zt]),rm(this.h,V),Pi(this,"refreshToken",this.h.a),oB(this,ce||{}),Ol.call(this),this.P=!1,this.s&&Qu()&&(this.b=i4(this.s,this.l,this.m,this.u)),this.W=[],this.i=null,this.D=P8(this),this.ba=y(this.ib,this);var Xe=this;this.za=null,this.Pa=function(vt){Xe.xa(vt.h)},this.qa=null,this.Ba=function(vt){mI(Xe,vt.c)},this.$=null,this.aa=[],this.Oa=function(vt){T8(Xe,vt.f)},this.ja=null,this.S=new im(this,ce),Pi(this,"multiFactor",this.S)}x(kh,Ol),kh.prototype.xa=function(I){this.za=I,Dr(this.a,I)};function mI(I,V){I.u=V,Ji(I.a,V),I.b&&(V=I.b,I.b=i4(I.s,I.l,I.m,I.u),I.P&&(x8(V,I),v8(I.b,I)))}kh.prototype.la=function(){return this.za};function yI(I,V){I.qa&&Vi(I.qa,"languageCodeChanged",I.Pa),(I.qa=V)&&Xn(V,"languageCodeChanged",I.Pa)}function AI(I,V){I.$&&Vi(I.$,"emulatorConfigChanged",I.Ba),(I.$=V)&&Xn(V,"emulatorConfigChanged",I.Ba)}function T8(I,V){I.aa=V,Gi(I.a,qn.SDK_VERSION?Og(qn.SDK_VERSION,I.aa):null)}kh.prototype.Ga=function(){return Se(this.aa)};function wI(I,V){I.ja&&Vi(I.ja,"frameworkChanged",I.Oa),(I.ja=V)&&Xn(V,"frameworkChanged",I.Oa)}kh.prototype.ib=function(){this.D.b&&(this.D.stop(),this.D.start())};function FS(I){try{return qn.app(I.m).auth()}catch{throw new H("internal-error","No firebase.auth.Auth instance is available for the Firebase App '"+I.m+"'!")}}function P8(I){return new pI(function(){return I.I(!0)},function(V){return!!(V&&V.code=="auth/network-request-failed")},function(){var V=I.h.c-Date.now()-3e5;return 0"u"||Le(I)?{}:NA(new xu(I))}).then(function(Re){return V.a.vb(ce,Re)}).then(function(Re){if(V.email!=Re)return V.reload()}).then(function(){}))},t.Fb=function(I,V){var ce=this,Re=null;return P0(this,this.I().then(function(Xe){return Re=Xe,typeof V>"u"||Le(V)?{}:NA(new xu(V))}).then(function(Xe){return ce.a.Fb(Re,I,Xe)}).then(function(Xe){if(ce.email!=Xe)return ce.reload()}).then(function(){}))};function P0(I,V,ce){var Re=qte(I,V,ce);return I.N.push(Re),Re.oa(function(){fe(I.N,Re)}),Re.o(function(Xe){var vt=null;throw Xe&&Xe.code==="auth/multi-factor-auth-required"&&(vt=ZU(Xe.w(),FS(I),y(I.jc,I))),vt||Xe})}t.jc=function(I){var V=null,ce=this;return I=vy(Mo(I),ce.uid).then(function(Re){return V=C8(ce,Re,"reauthenticate"),$c(ce,Re),ce.i=null,ce.reload()}).then(function(){return V}),P0(this,I,!0)};function qte(I,V,ce){return I.i&&!ce?(V.cancel(),$i(I.i)):V.o(function(Re){throw!Re||Re.code!="auth/user-disabled"&&Re.code!="auth/user-token-expired"||(I.i||I.dispatchEvent(new a4("userInvalidated")),I.i=Re),Re})}t.toJSON=function(){return this.w()},t.w=function(){var I={uid:this.uid,displayName:this.displayName,photoURL:this.photoURL,email:this.email,emailVerified:this.emailVerified,phoneNumber:this.phoneNumber,isAnonymous:this.isAnonymous,tenantId:this.tenantId,providerData:[],apiKey:this.l,appName:this.m,authDomain:this.s,stsTokenManager:this.h.w(),redirectEventId:this.ga||null};return this.metadata&&Ee(I,this.metadata.w()),ae(this.providerData,function(V){I.providerData.push(A5(V))}),Ee(I,this.S.w()),I};function sB(I){if(!I.apiKey)return null;var V={apiKey:I.apiKey,authDomain:I.authDomain,appName:I.appName,emulatorConfig:I.emulatorConfig},ce={};if(I.stsTokenManager&&I.stsTokenManager.accessToken){ce[Zt]=I.stsTokenManager.accessToken,ce.refreshToken=I.stsTokenManager.refreshToken||null;var Re=I.stsTokenManager.expirationTime;Re&&(ce.expiresIn=(Re-Date.now())/1e3)}else return null;var Xe=new kh(V,ce,I);return I.providerData&&ae(I.providerData,function(vt){vt&&SI(Xe,If(vt))}),I.redirectEventId&&(Xe.ga=I.redirectEventId),Xe}function $te(I,V,ce,Re){var Xe=new kh(I,V);return ce&&(Xe.ha=ce),Re&&T8(Xe,Re),Xe.reload().then(function(){return Xe})}function Qte(I,V,ce,Re){var Xe=I.h,vt={};return vt[Zt]=Xe.b&&Xe.b.toString(),vt.refreshToken=Xe.a,V=new kh(V||{apiKey:I.l,authDomain:I.s,appName:I.m},vt),ce&&(V.ha=ce),Re&&T8(V,Re),Gr(V,I),V}function Zte(I){this.a=I,this.b=A8()}var CI={name:"redirectUser",F:"session"};function cB(I){return ky(I.b,CI,I.a)}function ene(I,V){return I.b.get(CI,I.a).then(function(ce){return ce&&V&&(ce.authDomain=V),sB(ce||{})})}function RI(I){this.a=I,this.b=A8(),this.c=null,this.f=MI(this),this.b.addListener(Cp("local"),this.a,y(this.g,this))}RI.prototype.g=function(){var I=this,V=Cp("local");R0(this,function(){return Mo().then(function(){return I.c&&I.c.F!="local"?I.b.get(V,I.a):null}).then(function(ce){if(ce)return HI(I,"local").then(function(){I.c=V})})})};function HI(I,V){var ce=[],Re;for(Re in o4)o4[Re]!==V&&ce.push(ky(I.b,Cp(o4[Re]),I.a));return ce.push(ky(I.b,II,I.a)),ti(ce)}function MI(I){var V=Cp("local"),ce=Cp("session"),Re=Cp("none");return Hte(I.b,V,I.a).then(function(){return I.b.get(ce,I.a)}).then(function(Xe){return Xe?ce:I.b.get(Re,I.a).then(function(vt){return vt?Re:I.b.get(V,I.a).then(function(kt){return kt?V:I.b.get(II,I.a).then(function(sn){return sn?Cp(sn):V})})})}).then(function(Xe){return I.c=Xe,HI(I,Xe.F)}).o(function(){I.c||(I.c=V)})}var II={name:"persistence",F:"session"};function Cp(I){return{name:"authUser",F:I}}RI.prototype.yb=function(I){var V=null,ce=this;return Rte(I),R0(this,function(){return I!=ce.c.F?ce.b.get(ce.c,ce.a).then(function(Re){return V=Re,HI(ce,I)}).then(function(){if(ce.c=Cp(I),V)return ce.b.set(ce.c,V,ce.a)}):Mo()})};function tne(I){return R0(I,function(){return I.b.set(II,I.c.F,I.a)})}function uB(I,V){return R0(I,function(){return I.b.set(I.c,V.w(),I.a)})}function dB(I){return R0(I,function(){return ky(I.b,I.c,I.a)})}function C0(I,V,ce){return R0(I,function(){return I.b.get(I.c,I.a).then(function(Re){return Re&&V&&(Re.authDomain=V),Re&&ce&&(Re.emulatorConfig=ce),sB(Re||{})})})}function R0(I,V){return I.f=I.f.then(V,V),I.f}function P1(I){if(this.l=!1,Pi(this,"settings",new $U),Pi(this,"app",I),Xl(this).options&&Xl(this).options.apiKey)I=qn.SDK_VERSION?Og(qn.SDK_VERSION):null,this.a=new qe(Xl(this).options&&Xl(this).options.apiKey,L(E),I);else throw new H("invalid-api-key");this.P=[],this.s=[],this.N=[],this.Pa=qn.INTERNAL.createSubscribe(y(this.zc,this)),this.W=void 0,this.ib=qn.INTERNAL.createSubscribe(y(this.Ac,this)),l4(this,null),this.i=new RI(Xl(this).options.apiKey+":"+Xl(this).name),this.D=new Zte(Xl(this).options.apiKey+":"+Xl(this).name),this.$=Ec(this,yB(this)),this.h=Ec(this,rne(this)),this.ba=!1,this.ja=y(this.Zc,this),this.Ba=y(this.da,this),this.qa=y(this.mc,this),this.za=y(this.wc,this),this.Aa=y(this.xc,this),this.b=null,pB(this),this.INTERNAL={},this.INTERNAL.delete=y(this.delete,this),this.INTERNAL.logFramework=y(this.Gc,this),this.u=0,Ol.call(this),one(this),this.J=[],this.R=null}x(P1,Ol);function fB(I){Nt.call(this,"languageCodeChanged"),this.h=I}x(fB,Nt);function hB(I){Nt.call(this,"emulatorConfigChanged"),this.c=I}x(hB,Nt);function zI(I){Nt.call(this,"frameworkChanged"),this.f=I}x(zI,Nt),t=P1.prototype,t.yb=function(I){return I=this.i.yb(I),Ec(this,I)},t.xa=function(I){this.aa===I||this.l||(this.aa=I,Dr(this.a,this.aa),this.dispatchEvent(new fB(this.la())))},t.la=function(){return this.aa},t.fd=function(){var I=s.navigator;this.xa(I&&(I.languages&&I.languages[0]||I.language||I.userLanguage)||null)},t.gd=function(I,V){if(!this.R){if(!/^https?:\/\//.test(I))throw new H("argument-error","Emulator URL must start with a valid scheme (http:// or https://).");V=V?!!V.disableWarnings:!1,nne(V),this.R={url:I,ec:V},this.settings.jb=!0,Ji(this.a,this.R),this.dispatchEvent(new hB(this.R))}};function nne(I){typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),s.document&&!I&&Ds().then(function(){var V=s.document.createElement("div");V.innerText="Running in emulator mode. Do not use with production credentials.",V.style.position="fixed",V.style.width="100%",V.style.backgroundColor="#ffffff",V.style.border=".1em solid #000000",V.style.color="#b50000",V.style.bottom="0px",V.style.left="0px",V.style.margin="0px",V.style.zIndex=1e4,V.style.textAlign="center",V.classList.add("firebase-emulator-warning"),s.document.body.appendChild(V)})}t.Gc=function(I){this.J.push(I),Gi(this.a,qn.SDK_VERSION?Og(qn.SDK_VERSION,this.J):null),this.dispatchEvent(new zI(this.J))},t.Ga=function(){return Se(this.J)},t.zb=function(I){this.S===I||this.l||(this.S=I,this.a.b=this.S)},t.T=function(){return this.S};function one(I){Object.defineProperty(I,"lc",{get:function(){return this.la()},set:function(V){this.xa(V)},enumerable:!1}),I.aa=null,Object.defineProperty(I,"ti",{get:function(){return this.T()},set:function(V){this.zb(V)},enumerable:!1}),I.S=null,Object.defineProperty(I,"emulatorConfig",{get:function(){if(this.R){var V=wu(this.R.url);V=If({protocol:V.c,host:V.a,port:V.g,options:If({disableWarnings:this.R.ec})})}else V=null;return V},enumerable:!1})}t.toJSON=function(){return{apiKey:Xl(this).options.apiKey,authDomain:Xl(this).options.authDomain,appName:Xl(this).name,currentUser:aa(this)&&aa(this).w()}};function DI(I){return I.Oa||$i(new H("auth-domain-config-required"))}function pB(I){var V=Xl(I).options.authDomain,ce=Xl(I).options.apiKey;V&&Qu()&&(I.Oa=I.$.then(function(){if(!I.l){if(I.b=i4(V,ce,Xl(I).name,I.R),v8(I.b,I),aa(I)&&am(aa(I)),I.m){am(I.m);var Re=I.m;Re.xa(I.la()),yI(Re,I),Re=I.m,T8(Re,I.J),wI(Re,I),Re=I.m,mI(Re,I.R),AI(Re,I),I.m=null}return I.b}}))}t.Gb=function(I,V){switch(I){case"unknown":case"signInViaRedirect":return!0;case"signInViaPopup":return this.g==V&&!!this.f;default:return!1}},t.na=function(I,V,ce,Re){I=="signInViaPopup"&&this.g==Re&&(ce&&this.C?this.C(ce):V&&!ce&&this.f&&this.f(V),this.c&&(this.c.cancel(),this.c=null),delete this.f,delete this.C)},t.Fa=function(I,V){return I=="signInViaRedirect"||I=="signInViaPopup"&&this.g==V&&this.f?y(this.ic,this):null},t.ic=function(I,V,ce,Re){var Xe=this,vt={requestUri:I,postBody:Re,sessionId:V,tenantId:ce};return this.c&&(this.c.cancel(),this.c=null),Xe.$.then(function(){return j3(Xe,AS(Xe.a,vt))})},t.Xc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=P3(I.providerId),Re=_g(),Xe=null;(!Zu()||w3())&&Xl(this).options.authDomain&&I.isOAuthProvider&&(Xe=t4(Xl(this).options.authDomain,Xl(this).options.apiKey,Xl(this).name,"signInViaPopup",I,null,Re,qn.SDK_VERSION||null,null,null,this.T(),this.R));var vt=_0(Xe,ce&&ce.va,ce&&ce.ua);return ce=DI(this).then(function(kt){return sI(kt,vt,"signInViaPopup",I,Re,!!Xe,V.T())}).then(function(){return new Uo(function(kt,sn){V.na("signInViaPopup",null,new H("cancelled-popup-request"),V.g),V.f=kt,V.C=sn,V.g=Re,V.c=GU(V.b,V,"signInViaPopup",vt,Re)})}).then(function(kt){return vt&&ps(vt),kt?If(kt):null}).o(function(kt){throw vt&&ps(vt),kt}),Ec(this,ce)},t.Yc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=DI(this).then(function(){return tne(V.i)}).then(function(){return VU(V.b,"signInViaRedirect",I,void 0,V.T())});return Ec(this,ce)};function gB(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=DI(I).then(function(){return I.b.ra()}).then(function(ce){return ce?If(ce):null});return Ec(I,V)}t.ra=function(){var I=this;return gB(this).then(function(V){return I.b&&r4(I.b.b),V}).o(function(V){throw I.b&&r4(I.b.b),V})},t.dd=function(I){if(!I)return $i(new H("null-user"));if(this.S!=I.tenantId)return $i(new H("tenant-id-mismatch"));var V=this,ce={};ce.apiKey=Xl(this).options.apiKey,ce.authDomain=Xl(this).options.authDomain,ce.appName=Xl(this).name;var Re=Qte(I,ce,V.D,V.Ga());return Ec(this,this.h.then(function(){if(Xl(V).options.apiKey!=I.l)return Re.reload()}).then(function(){return aa(V)&&I.uid==aa(V).uid?(Gr(aa(V),I),V.da(I)):(l4(V,Re),am(Re),V.da(Re))}).then(function(){H8(V)}))};function ine(I,V){var ce={};return ce.apiKey=Xl(I).options.apiKey,ce.authDomain=Xl(I).options.authDomain,ce.appName=Xl(I).name,I.R&&(ce.emulatorConfig=I.R),I.$.then(function(){return $te(ce,V,I.D,I.Ga())}).then(function(Re){return aa(I)&&Re.uid==aa(I).uid?(Gr(aa(I),Re),I.da(Re)):(l4(I,Re),am(Re),I.da(Re))}).then(function(){H8(I)})}function l4(I,V){aa(I)&&(NS(aa(I),I.Ba),Vi(aa(I),"tokenChanged",I.qa),Vi(aa(I),"userDeleted",I.za),Vi(aa(I),"userInvalidated",I.Aa),vI(aa(I))),V&&(V.W.push(I.Ba),Xn(V,"tokenChanged",I.qa),Xn(V,"userDeleted",I.za),Xn(V,"userInvalidated",I.Aa),0this.u&&(this.u=0),this.u==0&&aa(this)&&vI(aa(this)),this.removeAuthTokenListener(I)},t.addAuthTokenListener=function(I){var V=this;this.s.push(I),Ec(this,this.h.then(function(){V.l||pe(V.s,I)&&I(Fy(V))}))},t.removeAuthTokenListener=function(I){$(this.s,function(V){return V==I})};function ane(I,V){I.N.push(V),Ec(I,I.h.then(function(){!I.l&&pe(I.N,V)&&I.W!==I.getUid()&&(I.W=I.getUid(),V(Fy(I)))}))}t.delete=function(){this.l=!0;for(var I=0;I"u"||Le(V)?{}:NA(new xu(V))}).then(function(Re){return ce.a.wb(I,Re)}).then(function(){}))},t.Wc=function(I,V){return Ec(this,dI(this,I,V,y(this.ab,this)))},t.Vc=function(I,V){var ce=this;return Ec(this,Mo().then(function(){var Re=V||dr(),Xe=Fs(I,Re);if(Re=Su(Re),!Re)throw new H("argument-error","Invalid email link!");if(Re.tenantId!==ce.T())throw new H("tenant-id-mismatch");return ce.ab(Xe)}))};function M8(){}M8.prototype.render=function(){},M8.prototype.reset=function(){},M8.prototype.getResponse=function(){},M8.prototype.execute=function(){};function s4(){this.a={},this.b=1e12}var BS=null;s4.prototype.render=function(I,V){return this.a[this.b.toString()]=new YS(I,V),this.b++},s4.prototype.reset=function(I){var V=jS(this,I);I=AB(I),V&&I&&(V.delete(),delete this.a[I])},s4.prototype.getResponse=function(I){return(I=jS(this,I))?I.getResponse():null},s4.prototype.execute=function(I){(I=jS(this,I))&&I.execute()};function jS(I,V){return(V=AB(V))&&I.a[V]||null}function AB(I){return(I=typeof I>"u"?1e12:I)?I.toString():null}function YS(I,V){this.g=!1,this.c=V,this.a=this.b=null,this.h=this.c.size!=="invisible",this.f=uo(I);var ce=this;this.i=function(){ce.execute()},this.h?this.execute():Xn(this.f,"click",this.i)}YS.prototype.getResponse=function(){return EI(this),this.b},YS.prototype.execute=function(){EI(this);var I=this;this.a||(this.a=setTimeout(function(){I.b=PA();var V=I.c.callback,ce=I.c["expired-callback"];if(V)try{V(I.b)}catch{}I.a=setTimeout(function(){if(I.a=null,I.b=null,ce)try{ce()}catch{}I.h&&I.execute()},6e4)},500))},YS.prototype.delete=function(){EI(this),this.g=!0,clearTimeout(this.a),this.a=null,Vi(this.f,"click",this.i)};function EI(I){if(I.g)throw Error("reCAPTCHA mock was already deleted!")}function kI(){}Pi(kI,"FACTOR_ID","phone");function FI(){}FI.prototype.g=function(){return BS||(BS=new s4),Mo(BS)},FI.prototype.c=function(){};var LI=null;function WI(){this.b=s.grecaptcha?1/0:0,this.f=null,this.a="__rcb"+Math.floor(1e6*Math.random()).toString()}var lne=new Ge(xt,"https://www.google.com/recaptcha/api.js?onload=%{onload}&render=explicit&hl=%{hl}"),sne=new Mf(3e4,6e4);WI.prototype.g=function(I){var V=this;return new Uo(function(ce,Re){var Xe=setTimeout(function(){Re(new H("network-request-failed"))},sne.get());if(!s.grecaptcha||I!==V.f&&!V.b){s[V.a]=function(){if(s.grecaptcha){V.f=I;var kt=s.grecaptcha.render;s.grecaptcha.render=function(sn,eo){return sn=kt(sn,eo),V.b++,sn},clearTimeout(Xe),ce(s.grecaptcha)}else clearTimeout(Xe),Re(new H("internal-error"));delete s[V.a]};var vt=at(lne,{onload:V.a,hl:I||""});Mo(F3(vt)).o(function(){clearTimeout(Xe),Re(new H("internal-error","Unable to load external reCAPTCHA dependencies!"))})}else clearTimeout(Xe),ce(s.grecaptcha)})},WI.prototype.c=function(){this.b--};var NI=null;function UI(I,V,ce,Re,Xe,vt,kt){if(Pi(this,"type","recaptcha"),this.c=this.f=null,this.J=!1,this.v=V,this.g=null,kt?(LI||(LI=new FI),kt=LI):(NI||(NI=new WI),kt=NI),this.m=kt,this.a=ce||{theme:"light",type:"image"},this.h=[],this.a[xB])throw new H("argument-error","sitekey should not be provided for reCAPTCHA as one is automatically provisioned for the current project.");if(this.i=this.a[cne]==="invisible",!s.document)throw new H("operation-not-supported-in-this-environment","RecaptchaVerifier is only supported in a browser HTTP/HTTPS environment with DOM support.");if(!uo(V)||!this.i&&uo(V).hasChildNodes())throw new H("argument-error","reCAPTCHA container is either not found or already contains inner elements!");this.s=new qe(I,vt||null,Xe||null),this.u=Re||function(){return null};var sn=this;this.l=[];var eo=this.a[wB];this.a[wB]=function(Hr){if(bB(sn,Hr),typeof eo=="function")eo(Hr);else if(typeof eo=="string"){var Al=_l(eo,s);typeof Al=="function"&&Al(Hr)}};var Io=this.a[vB];this.a[vB]=function(){if(bB(sn,null),typeof Io=="function")Io();else if(typeof Io=="string"){var Hr=_l(Io,s);typeof Hr=="function"&&Hr()}}}var wB="callback",vB="expired-callback",xB="sitekey",cne="size";function bB(I,V){for(var ce=0;ceXe||Xe>=TB.length)throw new H("internal-error","Argument validator received an unsupported number of arguments.");ce=TB[Xe],Re=(Re?"":ce+" argument ")+(V.name?'"'+V.name+'" ':"")+"must be "+V.K+".";break e}Re=null}}if(Re)throw new H("argument-error",I+" failed: "+Re)}var TB="First Second Third Fourth Fifth Sixth Seventh Eighth Ninth".split(" ");function Ni(I,V){return{name:I||"",K:"a valid string",optional:!!V,M:function(ce){return typeof ce=="string"}}}function YI(I,V){return{name:I||"",K:"a boolean",optional:!!V,M:function(ce){return typeof ce=="boolean"}}}function s0(I,V){return{name:I||"",K:"a valid object",optional:!!V,M:w}}function k5(I,V){return{name:I||"",K:"a function",optional:!!V,M:function(ce){return typeof ce=="function"}}}function C1(I,V){return{name:I||"",K:"null",optional:!!V,M:function(ce){return ce===null}}}function PB(){return{name:"",K:"an HTML element",optional:!1,M:function(I){return!!(I&&I instanceof Element)}}}function dne(){return{name:"auth",K:"an instance of Firebase Auth",optional:!0,M:function(I){return!!(I&&I instanceof P1)}}}function fne(){return{name:"app",K:"an instance of Firebase App",optional:!0,M:function(I){return!!(I&&I instanceof qn.app.App)}}}function F5(I){return{name:I?I+"Credential":"credential",K:I?"a valid "+I+" credential":"a valid credential",optional:!1,M:function(V){if(!V)return!1;var ce=!I||V.providerId===I;return!(!V.ka||!ce)}}}function _S(){return{name:"multiFactorAssertion",K:"a valid multiFactorAssertion",optional:!1,M:function(I){return I?!!I.tb:!1}}}function c4(){return{name:"authProvider",K:"a valid Auth provider",optional:!1,M:function(I){return!!(I&&I.providerId&&I.hasOwnProperty&&I.hasOwnProperty("isOAuthProvider"))}}}function OI(I,V){return w(I)&&typeof I.type=="string"&&I.type===V&&typeof I.Ha=="function"}function CB(I){return w(I)&&typeof I.uid=="string"}function Pu(){return{name:"applicationVerifier",K:"an implementation of firebase.auth.ApplicationVerifier",optional:!1,M:function(I){return!(!I||typeof I.type!="string"||typeof I.verify!="function")}}}function tc(I,V,ce,Re){return{name:ce||"",K:I.K+" or "+V.K,optional:!!Re,M:function(Xe){return I.M(Xe)||V.M(Xe)}}}function nc(I,V){for(var ce in V){var Re=V[ce].name;I[Re]=HB(Re,I[ce],V[ce].j)}}function RB(I,V){for(var ce in V){var Re=V[ce].name;Re!==ce&&Object.defineProperty(I,Re,{get:S(function(Xe){return this[Xe]},ce),set:S(function(Xe,vt,kt,sn){SB(Xe,[kt],[sn],!0),this[vt]=sn},Re,ce,V[ce].lb),enumerable:!0})}}function Qc(I,V,ce,Re){I[V]=HB(V,ce,Re)}function HB(I,V,ce){function Re(){var kt=Array.prototype.slice.call(arguments);return SB(Xe,ce,kt),V.apply(this,kt)}if(!ce)return V;var Xe=_I(I),vt;for(vt in V)Re[vt]=V[vt];for(vt in V.prototype)Re.prototype[vt]=V.prototype[vt];return Re}function _I(I){return I=I.split("."),I[I.length-1]}nc(P1.prototype,{kb:{name:"applyActionCode",j:[Ni("code")]},Sa:{name:"checkActionCode",j:[Ni("code")]},ob:{name:"confirmPasswordReset",j:[Ni("code"),Ni("newPassword")]},dc:{name:"createUserWithEmailAndPassword",j:[Ni("email"),Ni("password")]},hc:{name:"fetchSignInMethodsForEmail",j:[Ni("email")]},ra:{name:"getRedirectResult",j:[]},Bc:{name:"isSignInWithEmailLink",j:[Ni("emailLink")]},Hc:{name:"onAuthStateChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},Ic:{name:"onIdTokenChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},wb:{name:"sendPasswordResetEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),C1(null,!0),"opt_actionCodeSettings",!0)]},xb:{name:"sendSignInLinkToEmail",j:[Ni("email"),s0("actionCodeSettings")]},yb:{name:"setPersistence",j:[Ni("persistence")]},Sc:{name:"signInAndRetrieveDataWithCredential",j:[F5()]},Ab:{name:"signInAnonymously",j:[]},ab:{name:"signInWithCredential",j:[F5()]},Tc:{name:"signInWithCustomToken",j:[Ni("token")]},Uc:{name:"signInWithEmailAndPassword",j:[Ni("email"),Ni("password")]},Vc:{name:"signInWithEmailLink",j:[Ni("email"),Ni("emailLink",!0)]},Wc:{name:"signInWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Xc:{name:"signInWithPopup",j:[c4()]},Yc:{name:"signInWithRedirect",j:[c4()]},dd:{name:"updateCurrentUser",j:[tc(function(I){return{name:"user",K:"an instance of Firebase User",optional:!!I,M:function(V){return!!(V&&V instanceof kh)}}}(),C1(),"user")]},Bb:{name:"signOut",j:[]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},fd:{name:"useDeviceLanguage",j:[]},gd:{name:"useEmulator",j:[Ni("url"),s0("options",!0)]},jd:{name:"verifyPasswordResetCode",j:[Ni("code")]}}),RB(P1.prototype,{lc:{name:"languageCode",lb:tc(Ni(),C1(),"languageCode")},ti:{name:"tenantId",lb:tc(Ni(),C1(),"tenantId")}}),P1.Persistence=o4,P1.Persistence.LOCAL="local",P1.Persistence.SESSION="session",P1.Persistence.NONE="none",nc(kh.prototype,{delete:{name:"delete",j:[]},oc:{name:"getIdTokenResult",j:[YI("opt_forceRefresh",!0)]},I:{name:"getIdToken",j:[YI("opt_forceRefresh",!0)]},Cc:{name:"linkAndRetrieveDataWithCredential",j:[F5()]},rb:{name:"linkWithCredential",j:[F5()]},Dc:{name:"linkWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Ec:{name:"linkWithPopup",j:[c4()]},Fc:{name:"linkWithRedirect",j:[c4()]},Lc:{name:"reauthenticateAndRetrieveDataWithCredential",j:[F5()]},ub:{name:"reauthenticateWithCredential",j:[F5()]},Mc:{name:"reauthenticateWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Nc:{name:"reauthenticateWithPopup",j:[c4()]},Oc:{name:"reauthenticateWithRedirect",j:[c4()]},reload:{name:"reload",j:[]},vb:{name:"sendEmailVerification",j:[tc(s0("opt_actionCodeSettings",!0),C1(null,!0),"opt_actionCodeSettings",!0)]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},cd:{name:"unlink",j:[Ni("provider")]},Cb:{name:"updateEmail",j:[Ni("email")]},Db:{name:"updatePassword",j:[Ni("password")]},ed:{name:"updatePhoneNumber",j:[F5("phone")]},Eb:{name:"updateProfile",j:[s0("profile")]},Fb:{name:"verifyBeforeUpdateEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),C1(null,!0),"opt_actionCodeSettings",!0)]}}),nc(s4.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(M8.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(Uo.prototype,{oa:{name:"finally"},o:{name:"catch"},then:{name:"then"}}),RB($U.prototype,{appVerificationDisabled:{name:"appVerificationDisabledForTesting",lb:YI("appVerificationDisabledForTesting")}}),nc(uI.prototype,{confirm:{name:"confirm",j:[Ni("verificationCode")]}}),Qc(xp,"fromJSON",function(I){I=typeof I=="string"?JSON.parse(I):I;for(var V,ce=[T5,Ic,Zs,S5],Re=0;Re=0,r=!n&&i&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return r?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(o=this.toRgbString()),e==="prgb"&&(o=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(o=this.toHexString()),e==="hex3"&&(o=this.toHexString(!0)),e==="hex4"&&(o=this.toHex8String(!0)),e==="hex8"&&(o=this.toHex8String()),e==="name"&&(o=this.toName()),e==="hsl"&&(o=this.toHslString()),e==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return er(this.toString())},_applyModification:function(e,n){var o=e.apply(null,[this].concat([].slice.call(n)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(_ro,arguments)},brighten:function(){return this._applyModification(Vro,arguments)},darken:function(){return this._applyModification(Gro,arguments)},desaturate:function(){return this._applyModification(jro,arguments)},saturate:function(){return this._applyModification(Yro,arguments)},greyscale:function(){return this._applyModification(Oro,arguments)},spin:function(){return this._applyModification(Xro,arguments)},_applyCombination:function(e,n){return e.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(qro,arguments)},complement:function(){return this._applyCombination(Jro,arguments)},monochromatic:function(){return this._applyCombination($ro,arguments)},splitcomplement:function(){return this._applyCombination(Kro,arguments)},triad:function(){return this._applyCombination(vRe,[3])},tetrad:function(){return this._applyCombination(vRe,[4])}};er.fromRatio=function(t,e){if(jX(t)=="object"){var n={};for(var o in t)t.hasOwnProperty(o)&&(o==="a"?n[o]=t[o]:n[o]=MD(t[o]));t=n}return er(t,e)};function Lro(t){var e={r:0,g:0,b:0},n=1,o=null,i=null,r=null,a=!1,l=!1;return typeof t=="string"&&(t=nao(t)),jX(t)=="object"&&(e6(t.r)&&e6(t.g)&&e6(t.b)?(e=Wro(t.r,t.g,t.b),a=!0,l=String(t.r).substr(-1)==="%"?"prgb":"rgb"):e6(t.h)&&e6(t.s)&&e6(t.v)?(o=MD(t.s),i=MD(t.v),e=Uro(t.h,o,i),a=!0,l="hsv"):e6(t.h)&&e6(t.s)&&e6(t.l)&&(o=MD(t.s),r=MD(t.l),e=Nro(t.h,o,r),a=!0,l="hsl"),t.hasOwnProperty("a")&&(n=t.a)),n=Ont(n),{ok:a,format:t.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:n}}function Wro(t,e,n){return{r:Wc(t,255)*255,g:Wc(e,255)*255,b:Wc(n,255)*255}}function mRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=(o+i)/2;if(o==i)r=a=0;else{var s=o-i;switch(a=l>.5?s/(2-o-i):s/(o+i),o){case t:r=(e-n)/s+(e1&&(d-=1),d<1/6?c+(u-c)*6*d:d<1/2?u:d<2/3?c+(u-c)*(2/3-d)*6:c}if(e===0)o=i=r=n;else{var l=n<.5?n*(1+e):n+e-n*e,s=2*n-l;o=a(s,l,t+1/3),i=a(s,l,t),r=a(s,l,t-1/3)}return{r:o*255,g:i*255,b:r*255}}function yRe(t,e,n){t=Wc(t,255),e=Wc(e,255),n=Wc(n,255);var o=Math.max(t,e,n),i=Math.min(t,e,n),r,a,l=o,s=o-i;if(a=o===0?0:s/o,o==i)r=0;else{switch(o){case t:r=(e-n)/s+(e>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(er(o));return r}function $ro(t,e){e=e||6;for(var n=er(t).toHsv(),o=n.h,i=n.s,r=n.v,a=[],l=1/e;e--;)a.push(er({h:o,s:i,v:r})),r=(r+l)%1;return a}er.mix=function(t,e,n){n=n===0?0:n||50;var o=er(t).toRgb(),i=er(e).toRgb(),r=n/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return er(a)};er.readability=function(t,e){var n=er(t),o=er(e);return(Math.max(n.getLuminance(),o.getLuminance())+.05)/(Math.min(n.getLuminance(),o.getLuminance())+.05)};er.isReadable=function(t,e,n){var o=er.readability(t,e),i,r;switch(r=!1,i=oao(n),i.level+i.size){case"AAsmall":case"AAAlarge":r=o>=4.5;break;case"AAlarge":r=o>=3;break;case"AAAsmall":r=o>=7;break}return r};er.mostReadable=function(t,e,n){var o=null,i=0,r,a,l,s;n=n||{},a=n.includeFallbackColors,l=n.level,s=n.size;for(var c=0;ci&&(i=r,o=er(e[c]));return er.isReadable(t,o,{level:l,size:s})||!a?o:(n.includeFallbackColors=!1,er.mostReadable(t,["#fff","#000"],n))};var Fde=er.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Qro=er.hexNames=Zro(Fde);function Zro(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}function Ont(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function Wc(t,e){eao(t)&&(t="100%");var n=tao(t);return t=Math.min(e,Math.max(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),Math.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function UZ(t){return Math.min(1,Math.max(0,t))}function V1(t){return parseInt(t,16)}function eao(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function tao(t){return typeof t=="string"&&t.indexOf("%")!=-1}function w2(t){return t.length==1?"0"+t:""+t}function MD(t){return t<=1&&(t=t*100+"%"),t}function _nt(t){return Math.round(parseFloat(t)*255).toString(16)}function xRe(t){return V1(t)/255}var qy=function(){var t="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",n="(?:"+e+")|(?:"+t+")",o="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?",i="[\\s|\\(]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")[,|\\s]+("+n+")\\s*\\)?";return{CSS_UNIT:new RegExp(n),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+i),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+i),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function e6(t){return!!qy.CSS_UNIT.exec(t)}function nao(t){t=t.replace(kro,"").replace(Fro,"").toLowerCase();var e=!1;if(Fde[t])t=Fde[t],e=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n;return(n=qy.rgb.exec(t))?{r:n[1],g:n[2],b:n[3]}:(n=qy.rgba.exec(t))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=qy.hsl.exec(t))?{h:n[1],s:n[2],l:n[3]}:(n=qy.hsla.exec(t))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=qy.hsv.exec(t))?{h:n[1],s:n[2],v:n[3]}:(n=qy.hsva.exec(t))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=qy.hex8.exec(t))?{r:V1(n[1]),g:V1(n[2]),b:V1(n[3]),a:xRe(n[4]),format:e?"name":"hex8"}:(n=qy.hex6.exec(t))?{r:V1(n[1]),g:V1(n[2]),b:V1(n[3]),format:e?"name":"hex"}:(n=qy.hex4.exec(t))?{r:V1(n[1]+""+n[1]),g:V1(n[2]+""+n[2]),b:V1(n[3]+""+n[3]),a:xRe(n[4]+""+n[4]),format:e?"name":"hex8"}:(n=qy.hex3.exec(t))?{r:V1(n[1]+""+n[1]),g:V1(n[2]+""+n[2]),b:V1(n[3]+""+n[3]),format:e?"name":"hex"}:!1}function oao(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),n!=="small"&&n!=="large"&&(n="small"),{level:e,size:n}}var bRe=function(e){var n=["r","g","b","a","h","s","l","v"],o=0,i=0;return Ero(n,function(r){if(e[r]&&(o+=1,isNaN(e[r])||(i+=1),r==="s"||r==="l")){var a=/^\d+%$/;a.test(e[r])&&(i+=1)}}),o===i?e:!1},ID=function(e,n){var o=e.hex?er(e.hex):er(e),i=o.toHsl(),r=o.toHsv(),a=o.toRgb(),l=o.toHex();i.s===0&&(i.h=n||0,r.h=n||0);var s=l==="000000"&&a.a===0;return{hsl:i,hex:s?"transparent":"#"+l,rgb:a,hsv:r,oldHue:e.h||n||i.h,source:e.source}},V7=function(e){if(e==="transparent")return!0;var n=String(e).charAt(0)==="#"?1:0;return e.length!==4+n&&e.length<7+n&&er(e).isValid()},U5e=function(e){if(!e)return"#fff";var n=ID(e);if(n.hex==="transparent")return"rgba(0,0,0,0.4)";var o=(n.rgb.r*299+n.rgb.g*587+n.rgb.b*114)/1e3;return o>=128?"#000":"#fff"},fae=function(e,n){var o=e.replace("°","");return er(n+" ("+o+")")._ok},Uz=Object.assign||function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){dao(i,o);function i(){var r,a,l,s;uao(this,i);for(var c=arguments.length,u=Array(c),d=0;dl))return!1;var c=r.get(t),u=r.get(e);if(c&&u)return c==e&&u==t;var d=-1,f=!0,p=n&Sao?new YX:void 0;for(r.set(t,e),r.set(e,t);++d=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var TO=24,Ulo=eot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?TO:o,r=t.height,a=r===void 0?TO:r,l=t.style,s=l===void 0?{}:l,c=Nlo(t,["fill","width","height","style"]);return BRe.default.createElement("svg",URe({viewBox:"0 0 "+TO+" "+TO,style:URe({fill:n,width:i,height:a},s)},c),BRe.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))},Blo=function(){function t(e,n){for(var o=0;o1&&(i.a=1),o.props.onChange({h:o.props.hsl.h,s:o.props.hsl.s,l:o.props.hsl.l,a:Math.round(i.a*100)/100,source:"rgb"},r)):(i.h||i.s||i.l)&&(typeof i.s=="string"&&i.s.includes("%")&&(i.s=i.s.replace("%","")),typeof i.l=="string"&&i.l.includes("%")&&(i.l=i.l.replace("%","")),i.s==1?i.s=.01:i.l==1&&(i.l=.01),o.props.onChange({h:i.h||o.props.hsl.h,s:Number(NRe(i.s)?o.props.hsl.s:i.s),l:Number(NRe(i.l)?o.props.hsl.l:i.l),source:"hsl"},r))},o.showHighlight=function(i){i.currentTarget.style.background="#eee"},o.hideHighlight=function(i){i.currentTarget.style.background="transparent"},n.hsl.a!==1&&n.view==="hex"?o.state={view:"rgb"}:o.state={view:n.view},o}return Blo(e,[{key:"render",value:function(){var o=this,i=Jr({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),r=void 0;return this.state.view==="hex"?r=be.createElement("div",{style:i.fields,className:"flexbox-fix"},be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?r=be.createElement("div",{style:i.fields,className:"flexbox-fix"},be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),be.createElement("div",{style:i.alpha},be.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(r=be.createElement("div",{style:i.fields,className:"flexbox-fix"},be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),be.createElement("div",{style:i.field},be.createElement(al,{style:{input:i.input,label:i.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),be.createElement("div",{style:i.alpha},be.createElement(al,{style:{input:i.input,label:i.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),be.createElement("div",{style:i.wrap,className:"flexbox-fix"},r,be.createElement("div",{style:i.toggle},be.createElement("div",{style:i.icon,onClick:this.toggleViews,ref:function(l){return o.icon=l}},be.createElement(Ulo,{style:i.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.hsl.a!==1&&i.view==="hex"?{view:"rgb"}:null}}]),e}(be.Component);tot.defaultProps={view:"hex"};var jRe=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return be.createElement("div",{style:e.picker})},_lo=function(){var e=Jr({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return be.createElement("div",{style:e.picker})},V5e=function(e){var n=e.width,o=e.onChange,i=e.disableAlpha,r=e.rgb,a=e.hsl,l=e.hsv,s=e.hex,c=e.renderers,u=e.styles,d=u===void 0?{}:u,f=e.className,p=f===void 0?"":f,g=e.defaultView,A=Jr(u1({default:{picker:{width:n,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},d),{disableAlpha:i});return be.createElement("div",{style:A.picker,className:"chrome-picker "+p},be.createElement("div",{style:A.saturation},be.createElement(NZ,{style:A.Saturation,hsl:a,hsv:l,pointer:_lo,onChange:o})),be.createElement("div",{style:A.body},be.createElement("div",{style:A.controls,className:"flexbox-fix"},be.createElement("div",{style:A.color},be.createElement("div",{style:A.swatch},be.createElement("div",{style:A.active}),be.createElement(dM,{renderers:c}))),be.createElement("div",{style:A.toggles},be.createElement("div",{style:A.hue},be.createElement(fM,{style:A.Hue,hsl:a,pointer:jRe,onChange:o})),be.createElement("div",{style:A.alpha},be.createElement(z5e,{style:A.Alpha,rgb:r,hsl:a,pointer:jRe,renderers:c,onChange:o})))),be.createElement(tot,{rgb:r,hsl:a,hex:s,view:g,onChange:o,disableAlpha:i})))};V5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),disableAlpha:fo.bool,styles:fo.object,defaultView:fo.oneOf(["hex","rgb","hsl"])};V5e.defaultProps={width:225,disableAlpha:!1,styles:{}};d1(V5e);var Vlo=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.active,l=Jr({default:{color:{background:n,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:U5e(n),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:a,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return be.createElement(qb,{style:l.color,color:n,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},be.createElement("div",{style:l.dot}))},Glo=function(e){var n=e.hex,o=e.rgb,i=e.onChange,r=Jr({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:n},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),a=function(s,c){s.r||s.g||s.b?i({r:s.r||o.r,g:s.g||o.g,b:s.b||o.b,source:"rgb"},c):i({hex:s.hex,source:"hex"},c)};return be.createElement("div",{style:r.fields,className:"flexbox-fix"},be.createElement("div",{style:r.active}),be.createElement(al,{style:{wrap:r.HEXwrap,input:r.HEXinput,label:r.HEXlabel},label:"hex",value:n,onChange:a}),be.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"r",value:o.r,onChange:a}),be.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"g",value:o.g,onChange:a}),be.createElement(al,{style:{wrap:r.RGBwrap,input:r.RGBinput,label:r.RGBlabel},label:"b",value:o.b,onChange:a}))},G5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.colors,r=e.hex,a=e.rgb,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(u1({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},s)),f=function(g,A){g.hex?V7(g.hex)&&n({hex:g.hex,source:"hex"},A):n(g,A)};return be.createElement(FN,{style:d.Compact,styles:s},be.createElement("div",{style:d.compact,className:"compact-picker "+u},be.createElement("div",null,$b(i,function(p){return be.createElement(Vlo,{key:p,color:p,active:p.toLowerCase()===r,onClick:f,onSwatchHover:o})}),be.createElement("div",{style:d.clear})),be.createElement(Glo,{hex:r,rgb:a,onChange:f})))};G5e.propTypes={colors:fo.arrayOf(fo.string),styles:fo.object};G5e.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};const Cf=d1(G5e);var Xlo=function(e){var n=e.hover,o=e.color,i=e.onClick,r=e.onSwatchHover,a={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},l=Jr({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:a}},{hover:n});return be.createElement("div",{style:l.swatch},be.createElement(qb,{color:o,onClick:i,onHover:r,focusStyle:a}))};const Jlo=I5e(Xlo);var X5e=function(e){var n=e.width,o=e.colors,i=e.onChange,r=e.onSwatchHover,a=e.triangle,l=e.styles,s=l===void 0?{}:l,c=e.className,u=c===void 0?"":c,d=Jr(u1({default:{card:{width:n,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},s),{"hide-triangle":a==="hide","top-left-triangle":a==="top-left","top-right-triangle":a==="top-right","bottom-left-triangle":a==="bottom-left","bottom-right-triangle":a==="bottom-right"}),f=function(g,A){return i({hex:g,source:"hex"},A)};return be.createElement("div",{style:d.card,className:"github-picker "+u},be.createElement("div",{style:d.triangleShadow}),be.createElement("div",{style:d.triangle}),$b(o,function(p){return be.createElement(Jlo,{color:p,key:p,onClick:f,onSwatchHover:r})}))};X5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.string),triangle:fo.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:fo.object};X5e.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};d1(X5e);var Klo=function(e){var n=e.direction,o=Jr({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:n==="vertical"});return be.createElement("div",{style:o.picker})},qlo=Object.assign||function(t){for(var e=1;e.5});return be.createElement("div",{style:o.picker})},eso=function(){var e=Jr({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return be.createElement("div",{style:e.pointer},be.createElement("div",{style:e.left},be.createElement("div",{style:e.leftInside})),be.createElement("div",{style:e.right},be.createElement("div",{style:e.rightInside})))},YRe=function(e){var n=e.onClick,o=e.label,i=e.children,r=e.active,a=Jr({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:r});return be.createElement("div",{style:a.button,onClick:n},o||i)},tso=function(e){var n=e.rgb,o=e.currentColor,i=Jr({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+n.r+","+n.g+", "+n.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:o,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return be.createElement("div",null,be.createElement("div",{style:i.label},"new"),be.createElement("div",{style:i.swatches},be.createElement("div",{style:i.new}),be.createElement("div",{style:i.current})),be.createElement("div",{style:i.label},"current"))},nso=function(){function t(e,n){for(var o=0;o100&&(u.a=100),u.a/=100,n({h:i.h,s:i.s,l:i.l,a:u.a,source:"rgb"},d))};return be.createElement("div",{style:l.fields,className:"flexbox-fix"},be.createElement("div",{style:l.double},be.createElement(al,{style:{input:l.input,label:l.label},label:"hex",value:r.replace("#",""),onChange:s})),be.createElement("div",{style:l.single},be.createElement(al,{style:{input:l.input,label:l.label},label:"r",value:o.r,onChange:s,dragLabel:"true",dragMax:"255"})),be.createElement("div",{style:l.single},be.createElement(al,{style:{input:l.input,label:l.label},label:"g",value:o.g,onChange:s,dragLabel:"true",dragMax:"255"})),be.createElement("div",{style:l.single},be.createElement(al,{style:{input:l.input,label:l.label},label:"b",value:o.b,onChange:s,dragLabel:"true",dragMax:"255"})),be.createElement("div",{style:l.alpha},be.createElement(al,{style:{input:l.input,label:l.label},label:"a",value:Math.round(o.a*100),onChange:s,dragLabel:"true",dragMax:"100"})))},lso=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n}var PO=24,pso=oot.default=function(t){var e=t.fill,n=e===void 0?"currentColor":e,o=t.width,i=o===void 0?PO:o,r=t.height,a=r===void 0?PO:r,l=t.style,s=l===void 0?{}:l,c=hso(t,["fill","width","height","style"]);return _Re.default.createElement("svg",ORe({viewBox:"0 0 "+PO+" "+PO,style:ORe({fill:n,width:i,height:a},s)},c),_Re.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},gso=function(e){var n=e.color,o=e.onClick,i=o===void 0?function(){}:o,r=e.onSwatchHover,a=e.first,l=e.last,s=e.active,c=Jr({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:n,marginBottom:"1px"},check:{color:U5e(n),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:a,last:l,active:s,"color-#FFFFFF":n==="#FFFFFF",transparent:n==="transparent"});return be.createElement(qb,{color:n,style:c.color,onClick:i,onHover:r,focusStyle:{boxShadow:"0 0 4px "+n}},be.createElement("div",{style:c.check},be.createElement(pso,null)))},mso=function(e){var n=e.onClick,o=e.onSwatchHover,i=e.group,r=e.active,a=Jr({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return be.createElement("div",{style:a.group},$b(i,function(l,s){return be.createElement(gso,{key:l,color:l,active:l.toLowerCase()===r,first:s===0,last:s===i.length-1,onClick:n,onSwatchHover:o})}))},Q5e=function(e){var n=e.width,o=e.height,i=e.onChange,r=e.onSwatchHover,a=e.colors,l=e.hex,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(u1({default:{picker:{width:n,height:o},overflow:{height:o,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},c)),p=function(A,w){return i({hex:A,source:"hex"},w)};return be.createElement("div",{style:f.picker,className:"swatches-picker "+d},be.createElement(FN,null,be.createElement("div",{style:f.overflow},be.createElement("div",{style:f.body},$b(a,function(g){return be.createElement(mso,{key:g.toString(),group:g,active:l,onClick:p,onSwatchHover:r})}),be.createElement("div",{style:f.clear})))))};Q5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),height:fo.oneOfType([fo.string,fo.number]),colors:fo.arrayOf(fo.arrayOf(fo.string)),styles:fo.object};Q5e.defaultProps={width:320,height:240,colors:[[rP[900],rP[700],rP[500],rP[300],rP[100]],[aP[900],aP[700],aP[500],aP[300],aP[100]],[lP[900],lP[700],lP[500],lP[300],lP[100]],[sP[900],sP[700],sP[500],sP[300],sP[100]],[cP[900],cP[700],cP[500],cP[300],cP[100]],[uP[900],uP[700],uP[500],uP[300],uP[100]],[dP[900],dP[700],dP[500],dP[300],dP[100]],[fP[900],fP[700],fP[500],fP[300],fP[100]],[hP[900],hP[700],hP[500],hP[300],hP[100]],["#194D33",zD[700],zD[500],zD[300],zD[100]],[pP[900],pP[700],pP[500],pP[300],pP[100]],[gP[900],gP[700],gP[500],gP[300],gP[100]],[mP[900],mP[700],mP[500],mP[300],mP[100]],[yP[900],yP[700],yP[500],yP[300],yP[100]],[AP[900],AP[700],AP[500],AP[300],AP[100]],[wP[900],wP[700],wP[500],wP[300],wP[100]],[vP[900],vP[700],vP[500],vP[300],vP[100]],[xP[900],xP[700],xP[500],xP[300],xP[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};d1(Q5e);var Z5e=function(e){var n=e.onChange,o=e.onSwatchHover,i=e.hex,r=e.colors,a=e.width,l=e.triangle,s=e.styles,c=s===void 0?{}:s,u=e.className,d=u===void 0?"":u,f=Jr(u1({default:{card:{width:a,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},c),{"hide-triangle":l==="hide","top-left-triangle":l==="top-left","top-right-triangle":l==="top-right"}),p=function(A,w){V7(A)&&n({hex:A,source:"hex"},w)};return be.createElement("div",{style:f.card,className:"twitter-picker "+d},be.createElement("div",{style:f.triangleShadow}),be.createElement("div",{style:f.triangle}),be.createElement("div",{style:f.body},$b(r,function(g,A){return be.createElement(qb,{key:A,color:g,hex:g,style:f.swatch,onClick:p,onHover:o,focusStyle:{boxShadow:"0 0 4px "+g}})}),be.createElement("div",{style:f.hash},"#"),be.createElement(al,{label:null,style:{input:f.input},value:i.replace("#",""),onChange:p}),be.createElement("div",{style:f.clear})))};Z5e.propTypes={width:fo.oneOfType([fo.string,fo.number]),triangle:fo.oneOf(["hide","top-left","top-right"]),colors:fo.arrayOf(fo.string),styles:fo.object};Z5e.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};d1(Z5e);var e9e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return be.createElement("div",{style:n.picker})};e9e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};e9e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var t9e=function(e){var n=Jr({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return be.createElement("div",{style:n.picker})};t9e.propTypes={hsl:fo.shape({h:fo.number,s:fo.number,l:fo.number,a:fo.number})};t9e.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var yso=function(e){var n=e.onChange,o=e.rgb,i=e.hsl,r=e.hex,a=e.hsv,l=function(p,g){if(p.hex)V7(p.hex)&&n({hex:p.hex,source:"hex"},g);else if(p.rgb){var A=p.rgb.split(",");fae(p.rgb,"rgb")&&n({r:A[0],g:A[1],b:A[2],a:1,source:"rgb"},g)}else if(p.hsv){var w=p.hsv.split(",");fae(p.hsv,"hsv")&&(w[2]=w[2].replace("%",""),w[1]=w[1].replace("%",""),w[0]=w[0].replace("°",""),w[1]==1?w[1]=.01:w[2]==1&&(w[2]=.01),n({h:Number(w[0]),s:Number(w[1]),v:Number(w[2]),source:"hsv"},g))}else if(p.hsl){var b=p.hsl.split(",");fae(p.hsl,"hsl")&&(b[2]=b[2].replace("%",""),b[1]=b[1].replace("%",""),b[0]=b[0].replace("°",""),d[1]==1?d[1]=.01:d[2]==1&&(d[2]=.01),n({h:Number(b[0]),s:Number(b[1]),v:Number(b[2]),source:"hsl"},g))}},s=Jr({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),c=o.r+", "+o.g+", "+o.b,u=Math.round(i.h)+"°, "+Math.round(i.s*100)+"%, "+Math.round(i.l*100)+"%",d=Math.round(a.h)+"°, "+Math.round(a.s*100)+"%, "+Math.round(a.v*100)+"%";return be.createElement("div",{style:s.wrap,className:"flexbox-fix"},be.createElement("div",{style:s.fields},be.createElement("div",{style:s.double},be.createElement(al,{style:{input:s.input,label:s.label},label:"hex",value:r,onChange:l})),be.createElement("div",{style:s.column},be.createElement("div",{style:s.single},be.createElement(al,{style:{input:s.input2,label:s.label2},label:"rgb",value:c,onChange:l})),be.createElement("div",{style:s.single},be.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsv",value:d,onChange:l})),be.createElement("div",{style:s.single},be.createElement(al,{style:{input:s.input2,label:s.label2},label:"hsl",value:u,onChange:l})))))},n9e=function(e){var n=e.width,o=e.onChange,i=e.rgb,r=e.hsl,a=e.hsv,l=e.hex,s=e.header,c=e.styles,u=c===void 0?{}:c,d=e.className,f=d===void 0?"":d,p=Jr(u1({default:{picker:{width:n,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+i.r+", "+i.g+", "+i.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},u));return be.createElement("div",{style:p.picker,className:"google-picker "+f},be.createElement("div",{style:p.head},s),be.createElement("div",{style:p.swatch}),be.createElement("div",{style:p.saturation},be.createElement(NZ,{hsl:r,hsv:a,pointer:e9e,onChange:o})),be.createElement("div",{style:p.body},be.createElement("div",{style:p.controls,className:"flexbox-fix"},be.createElement("div",{style:p.hue},be.createElement(fM,{style:p.Hue,hsl:r,radius:"4px",pointer:t9e,onChange:o}))),be.createElement(yso,{rgb:i,hsl:r,hex:l,hsv:a,onChange:o})))};n9e.propTypes={width:fo.oneOfType([fo.string,fo.number]),styles:fo.object,header:fo.string};n9e.defaultProps={width:652,styles:{},header:"Color picker"};d1(n9e);const Aso=({setDialogVisible:t})=>{const e=M(dn),n=M(ZBe),o=M(Vn),i=M(eje),r=M(En),a=M(Js),l=M(oo),s=co(z.Foundation),[c,u]=m.useState((s==null?void 0:s.color)??"#808080"),d=Kt(),f=b=>{switch(a){case ue.AllSelectedObjectsOfThisType:{for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&M.getState().selectedElementIdSet.has(C.id)&&b!==C.color)return!0;break}case ue.AllObjectsOfThisType:for(const C of M.getState().elements)if(C.type===z.Foundation&&!C.locked&&b!==C.color)return!0;break;default:if(b!==(s==null?void 0:s.color))return!0}return!1},p=(b,C)=>{M.getState().set(P=>{for(const v of P.elements)if(v.type===z.Foundation&&b.has(v.id))if(C!==void 0)v.color=C;else{const T=b.get(v.id);T!==void 0&&(v.color=T)}})},g=b=>{if(s&&f(b)){switch(a){case ue.AllSelectedObjectsOfThisType:{const C=new Map;for(const v of M.getState().elements)v.type===z.Foundation&&M.getState().selectedElementIdSet.has(v.id)&&C.set(v.id,v.color??"#808080");const P={name:"Set Color for Selected Foundations",timestamp:Date.now(),oldValues:C,newValue:b,undo:()=>{p(P.oldValues)},redo:()=>{p(P.oldValues,P.newValue)}};r(P),p(C,b),l(M.getState().applyCount+1);break}case ue.AllObjectsOfThisType:{const C=new Map;for(const v of M.getState().elements)v.type===z.Foundation&&C.set(v.id,v.color??"#808080");const P={name:"Set Color for All Foundations",timestamp:Date.now(),oldValues:C,newValue:b,undo:()=>{for(const[v,T]of P.oldValues.entries())n(v,T)},redo:()=>{i(z.Foundation,P.newValue)}};r(P),i(z.Foundation,b),l(M.getState().applyCount+1);break}default:{const C=o(s.id),P=C?C.color:s.color,v={name:"Set Color of Selected Foundation",timestamp:Date.now(),oldValue:P,newValue:b,changedElementId:s.id,changedElementType:s.type,undo:()=>{n(v.changedElementId,v.oldValue)},redo:()=>{n(v.changedElementId,v.newValue)}};r(v),n(s.id,b),l(M.getState().applyCount+1);break}}e(C=>{C.actionState.foundationColor=b})}},A=()=>{g(c)},w=()=>{t(!1)};return h.jsx(lo,{width:600,title:j.t("word.Color",d),onApply:A,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:c,onChangeComplete:b=>{u(b.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:b=>M.getState().setFoundationActionScope(b.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},wso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M($Be),i=M(t3),r=M(eW),a=M(H7),l=M(vH),s=M(e3),c=M(En),u=M(Js),d=M(dn),f=M(ao),p=M(oo),g=M(ca),A=co(z.Foundation),[w,b]=m.useState((A==null?void 0:A.lx)??.1),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=ae=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const ne of e)if(ne.type===z.Foundation&&M.getState().selectedElementIdSet.has(ne.id)){const se=ne,le=l(se.id);if(le.length>0&&!xe.doesNewSizeContainAllChildren(se,le,ae,se.ly))return!1}break}case ue.AllObjectsOfThisType:{for(const ne of e)if(ne.type===z.Foundation){const se=ne,le=l(se.id);if(le.length>0&&!xe.doesNewSizeContainAllChildren(se,le,ae,se.ly))return!1}break}default:{const ne=l(A.id);if(ne.length>0)return xe.doesNewSizeContainAllChildren(A,ne,ae,A.ly);break}}return!0}},N=ae=>!W(ae),L=ae=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:for(const ne of e)if(ne.type===z.Foundation&&!ne.locked&&M.getState().selectedElementIdSet.has(ne.id)&&Math.abs(ne.lx-ae)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const ne of e)if(ne.type===z.Foundation&&!ne.locked&&Math.abs(ne.lx-ae)>Dt)return!0;break;default:if(Math.abs((A==null?void 0:A.lx)-ae)>Dt)return!0}return!1}},E=(ae,ne)=>{if(ae==null)return null;for(const se of ae.children)if(se.name.includes(`${ne}`))return se;return null},U=(ae,ne,se)=>{var le,te;if(ae){for(const he of ae.children)if(he.name.includes(`${se.id}`)){(te=(le=Ln.getState().contentRef)==null?void 0:le.current)==null||te.add(he);break}d(he=>{for(const pe of he.elements)if(pe.id===se.id){pe.parentId=Zo;const fe=new Gt(pe.cx,pe.cy).rotateAround(wr,ne.rotation[2]).add(new Gt(ne.cx,ne.cy));pe.cx=fe.x,pe.cy=fe.y,pe.cz=0,T.current.set(pe.id,new re(fe.x,fe.y,0)),P.current.set(pe.id,Zo);break}})}},F=(ae,ne)=>{const se=l(ae.id),le=ae.rotation[2];if(y.current.clear(),R.current.clear(),se.length>0)for(const te of se)switch(te.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=new Gt(te.cx*ae.lx,te.cy*ae.ly).rotateAround(wr,le);y.current.set(te.id,he),v.current.set(te.id,new re(te.cx,te.cy));break}case z.Polygon:{const he=te,pe=[];for(const fe of he.vertices)pe.push(new Gt(fe.x*ae.lx,fe.y*ae.ly).rotateAround(wr,le));R.current.set(te.id,pe),S.current.set(te.id,he.vertices.map(fe=>({...fe})));break}case z.Human:case z.Tree:{v.current.set(te.id,new re(te.cx,te.cy,te.cz));break}}if(i(ae.id,ne),se.length>0)for(const te of se)switch(te.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const he=y.current.get(te.id);if(he){const fe=new Gt(he.x,he.y).rotateAround(wr,-le).x/ne;o(te.id,fe),T.current.set(te.id,new re(fe,te.cy))}break}case z.Polygon:{const he=R.current.get(te.id);if(he){const pe=[];for(const fe of he){const $=fe.rotateAround(wr,-le),de=$.x/ne,Se=$.y/ae.ly;pe.push({x:de,y:Se})}a(te.id,pe),x.current.set(te.id,pe.map(fe=>({...fe})))}break}case z.Human:case z.Tree:{if(T.current.set(te.id,new re(te.cx,te.cy,te.cz)),C.current.set(te.id,ae.id),Math.abs(te.cz-ae.lz/2)0){const he=Ln.getState().contentRef,pe=E(he==null?void 0:he.current,ae.id);U(pe,ae,te)}}else if(Math.abs(Math.abs(te.cx)-ae.lx/2)0?ne:-ne)/2;o(te.id,he),T.current.set(te.id,new re(he,te.cy,te.cz))}break}}},B=(ae,ne,se)=>{if(!ae||!ne)return;const le=Ln.getState().contentRef,te=E(le==null?void 0:le.current,ne),he=E(ne===Zo?le==null?void 0:le.current:te,se);if(he&&(le!=null&&le.current)){if(ae===Zo)le.current.add(he);else{const pe=E(le.current,ae);pe==null||pe.add(he)}Zh()}},_=(ae,ne)=>{ae&&d(se=>{for(const le of se.elements)if(le.id===ne){le.parentId=ae;break}})},Y=(ae,ne)=>{M.getState().set(se=>{for(const le of se.elements)if(ae.has(le.id))if(ne!==void 0)le.lx=ne;else{const te=ae.get(le.id);te!==void 0&&(le.lx=te)}})},O=ae=>{if(!A||!L(ae))return;const ne=n(A.id),se=ne?ne.lx:A.lx;if(D.current=void 0,H.current=N(ae),H.current)D.current=ae,b(se);else switch(v.current.clear(),T.current.clear(),S.current.clear(),x.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const le=new Map;for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&le.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&M.getState().selectedElementIdSet.has(he.id)&&F(he,ae);const te={name:"Set Length for Selected Foundations",timestamp:Date.now(),oldSizes:le,newSize:ae,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;if(Y(te.oldSizes),te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(de,Se,fe),_(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())a(fe,$)},redo:()=>{var he,pe;if(Y(te.oldSizes,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(Se,de,fe),_(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())a(fe,$)}};c(te),p(f+1);break}case ue.AllObjectsOfThisType:{const le=new Map;for(const he of e)he.type===z.Foundation&&le.set(he.id,he.lx);for(const he of e)he.type===z.Foundation&&F(he,ae);const te={name:"Set Length for All Foundations",timestamp:Date.now(),oldSizes:le,newSize:ae,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;for(const[fe,$]of te.oldSizes.entries())i(fe,$);if(te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(de,Se,fe),_(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())a(fe,$)},redo:()=>{var he,pe;if(r(z.Foundation,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){s(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(B(Se,de,fe),_(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())a(fe,$)}};c(te),p(f+1);break}default:{F(A,ae);const le={name:"Set Foundation Length",timestamp:Date.now(),oldSize:se,newSize:ae,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var te,he;if(i(A.id,le.oldSize),le.oldChildrenPositionsMap&&le.oldChildrenPositionsMap.size>0)for(const[pe,fe]of le.oldChildrenPositionsMap.entries()){s(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B($,de,pe),_($,pe))}if(le.oldChildrenVerticesMap&&le.oldChildrenVerticesMap.size>0)for(const[pe,fe]of le.oldChildrenVerticesMap.entries())a(pe,fe)},redo:()=>{var te,he;if(i(A.id,le.newSize),le.newChildrenPositionsMap&&le.newChildrenPositionsMap.size>0)for(const[pe,fe]of le.newChildrenPositionsMap.entries()){s(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B(de,$,pe),_(de,pe))}if(le.newChildrenVerticesMap&&le.newChildrenVerticesMap.size>0)for(const[pe,fe]of le.newChildrenVerticesMap.entries())a(pe,fe)}};c(le),p(f+1);break}}},J=()=>{t(!1)},Z=()=>{J(),g()},ie=()=>{O(w),H.current||(t(!1),p(0))},ee=()=>{O(w)},q=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Length",k),rejectedMessage:q,onApply:ee,onClose:J,onClickCancel:Z,onClickOk:ie,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:w,onChange:ae=>{ae!==null&&b(ae)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 1000] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:ae=>M.getState().setFoundationActionScope(ae.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",k)})]})})})]})})},vso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(e3),i=M(QBe),r=M(R7),a=M(tW),l=M(H7),s=M(vH),c=M(En),u=M(Js),d=M(dn),f=M(ao),p=M(oo),g=M(ca),A=co(z.Foundation),[w,b]=m.useState((A==null?void 0:A.ly)??.1),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=q=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const ae of e)if(ae.type===z.Foundation&&M.getState().selectedElementIdSet.has(ae.id)){const ne=ae,se=s(ne.id);if(se.length>0&&!xe.doesNewSizeContainAllChildren(ne,se,ne.lx,q))return!1}break}case ue.AllObjectsOfThisType:{for(const ae of e)if(ae.type===z.Foundation){const ne=ae,se=s(ne.id);if(se.length>0&&!xe.doesNewSizeContainAllChildren(ne,se,ne.lx,q))return!1}break}default:{const ae=s(A.id);if(ae.length>0)return xe.doesNewSizeContainAllChildren(A,ae,A.lx,q);break}}return!0}},N=q=>!W(q),L=q=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:for(const ae of e)if(ae.type===z.Foundation&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.ly-q)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const ae of e)if(ae.type===z.Foundation&&!ae.locked&&Math.abs(ae.ly-q)>Dt)return!0;break;default:if(Math.abs((A==null?void 0:A.ly)-q)>Dt)return!0}return!1}},E=(q,ae)=>{if(q==null)return null;for(const ne of q.children)if(ne.name.includes(`${ae}`))return ne;return null},U=(q,ae,ne)=>{var se,le;if(q){for(const te of q.children)if(te.name.includes(`${ne.id}`)){(le=(se=Ln.getState().contentRef)==null?void 0:se.current)==null||le.add(te);break}d(te=>{for(const he of te.elements)if(he.id===ne.id){he.parentId=Zo;const pe=new Gt(he.cx,he.cy).rotateAround(wr,ae.rotation[2]).add(new Gt(ae.cx,ae.cy));he.cx=pe.x,he.cy=pe.y,he.cz=0,T.current.set(he.id,new re(pe.x,pe.y,0)),P.current.set(he.id,Zo);break}})}},F=(q,ae)=>{const ne=s(q.id),se=q.rotation[2];if(y.current.clear(),R.current.clear(),ne.length>0)for(const le of ne)switch(le.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const te=new Gt(le.cx*q.lx,le.cy*q.ly).rotateAround(wr,se);y.current.set(le.id,te),v.current.set(le.id,new re(le.cx,le.cy));break}case z.Polygon:{const te=le,he=[];for(const pe of te.vertices)he.push(new Gt(pe.x*q.lx,pe.y*q.ly).rotateAround(wr,se));R.current.set(le.id,he),S.current.set(le.id,te.vertices.map(pe=>({...pe})));break}case z.Human:case z.Tree:{v.current.set(le.id,new re(le.cx,le.cy,le.cz));break}}if(r(q.id,ae),ne.length>0)for(const le of ne)switch(le.type){case z.Wall:break;case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:case z.Sensor:{const te=y.current.get(le.id);if(te){const pe=new Gt(te.x,te.y).rotateAround(wr,-se).y/ae;i(le.id,pe),T.current.set(le.id,new re(le.cx,pe))}break}case z.Polygon:{const te=R.current.get(le.id);if(te){const he=[];for(const pe of te){const fe=pe.rotateAround(wr,-se),$=fe.x/q.lx,de=fe.y/ae;he.push({x:$,y:de})}l(le.id,he),x.current.set(le.id,he.map(pe=>({...pe})))}break}case z.Human:case z.Tree:{if(T.current.set(le.id,new re(le.cx,le.cy,le.cz)),C.current.set(le.id,q.id),Math.abs(le.cz-q.lz/2)0){const te=Ln.getState().contentRef,he=E(te==null?void 0:te.current,q.id);U(he,q,le)}}else if(Math.abs(Math.abs(le.cy)-q.ly/2)0?ae:-ae)/2;i(le.id,te),T.current.set(le.id,new re(le.cz,te,le.cz))}break}}},B=(q,ae,ne)=>{if(!q||!ae)return;const se=Ln.getState().contentRef,le=E(se==null?void 0:se.current,ae),te=E(ae===Zo?se==null?void 0:se.current:le,ne);if(te&&(se!=null&&se.current)){if(q===Zo)se.current.add(te);else{const he=E(se.current,q);he==null||he.add(te)}Zh()}},_=(q,ae)=>{q&&d(ne=>{for(const se of ne.elements)if(se.id===ae){se.parentId=q;break}})},Y=q=>{if(!A||!L(q))return;const ae=n(A.id),ne=ae?ae.ly:A.ly;if(D.current=void 0,H.current=N(q),H.current)D.current=q,b(ne);else switch(v.current.clear(),T.current.clear(),S.current.clear(),x.current.clear(),u){case ue.AllSelectedObjectsOfThisType:{const se=new Map;for(const te of e)te.type===z.Foundation&&M.getState().selectedElementIdSet.has(te.id)&&se.set(te.id,te.ly);for(const te of e)te.type===z.Foundation&&M.getState().selectedElementIdSet.has(te.id)&&F(te,q);const le={name:"Set Width for Selected Foundations",timestamp:Date.now(),oldSizes:se,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var te,he;for(const[pe,fe]of le.oldSizes.entries())r(pe,fe);if(le.oldChildrenPositionsMap&&le.oldChildrenPositionsMap.size>0)for(const[pe,fe]of le.oldChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B($,de,pe),_($,pe))}if(le.oldChildrenVerticesMap&&le.oldChildrenVerticesMap.size>0)for(const[pe,fe]of le.oldChildrenVerticesMap.entries())l(pe,fe)},redo:()=>{var te,he;for(const[pe,fe]of le.oldSizes.entries())r(pe,le.newSize);if(le.newChildrenPositionsMap&&le.newChildrenPositionsMap.size>0)for(const[pe,fe]of le.newChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B(de,$,pe),_(de,pe))}if(le.newChildrenVerticesMap&&le.newChildrenVerticesMap.size>0)for(const[pe,fe]of le.newChildrenVerticesMap.entries())l(pe,fe)}};c(le),p(f+1);break}case ue.AllObjectsOfThisType:{const se=new Map;for(const te of e)te.type===z.Foundation&&se.set(te.id,te.ly);for(const te of e)te.type===z.Foundation&&F(te,q);const le={name:"Set Width for All Foundations",timestamp:Date.now(),oldSizes:se,newSize:q,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var te,he;for(const[pe,fe]of le.oldSizes.entries())r(pe,fe);if(le.oldChildrenPositionsMap&&le.oldChildrenPositionsMap.size>0)for(const[pe,fe]of le.oldChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B($,de,pe),_($,pe))}if(le.oldChildrenVerticesMap&&le.oldChildrenVerticesMap.size>0)for(const[pe,fe]of le.oldChildrenVerticesMap.entries())l(pe,fe)},redo:()=>{var te,he;if(a(z.Foundation,le.newSize),le.newChildrenPositionsMap&&le.newChildrenPositionsMap.size>0)for(const[pe,fe]of le.newChildrenPositionsMap.entries()){o(pe,fe.x,fe.y,fe.z);const $=(te=le.oldChildrenParentIdMap)==null?void 0:te.get(pe),de=(he=le.newChildrenParentIdMap)==null?void 0:he.get(pe);$&&de&&$!==de&&(B(de,$,pe),_(de,pe))}if(le.newChildrenVerticesMap&&le.newChildrenVerticesMap.size>0)for(const[pe,fe]of le.newChildrenVerticesMap.entries())l(pe,fe)}};c(le),p(f+1);break}default:{F(A,q);const se={name:"Set Foundation Width",timestamp:Date.now(),oldSize:ne,newSize:q,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var le,te;if(r(A.id,se.oldSize),se.oldChildrenPositionsMap&&se.oldChildrenPositionsMap.size>0)for(const[he,pe]of se.oldChildrenPositionsMap.entries()){o(he,pe.x,pe.y,pe.z);const fe=(le=se.oldChildrenParentIdMap)==null?void 0:le.get(he),$=(te=se.newChildrenParentIdMap)==null?void 0:te.get(he);fe&&$&&fe!==$&&(B(fe,$,he),_(fe,he))}if(se.oldChildrenVerticesMap&&se.oldChildrenVerticesMap.size>0)for(const[he,pe]of se.oldChildrenVerticesMap.entries())l(he,pe)},redo:()=>{var le,te;if(r(A.id,se.newSize),se.newChildrenPositionsMap&&se.newChildrenPositionsMap.size>0)for(const[he,pe]of se.newChildrenPositionsMap.entries()){o(he,pe.x,pe.y,pe.z);const fe=(le=se.oldChildrenParentIdMap)==null?void 0:le.get(he),$=(te=se.newChildrenParentIdMap)==null?void 0:te.get(he);fe&&$&&fe!==$&&(B($,fe,he),_($,he))}if(se.newChildrenVerticesMap&&se.newChildrenVerticesMap.size>0)for(const[he,pe]of se.newChildrenVerticesMap.entries())l(he,pe)}};c(se),p(f+1);break}}},O=()=>{t(!1)},J=()=>{O(),g()},Z=()=>{Y(w),H.current||(t(!1),p(0))},ie=()=>{Y(w)},ee=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Width",k),rejectedMessage:ee,onApply:ie,onClickCancel:J,onClickOk:Z,onClose:O,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:w,onChange:q=>{q!==null&&b(q)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 1000] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:q=>M.getState().setFoundationActionScope(q.target.value),value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",k)})]})})})]})})},xso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(e3),l=M(ao),s=M(oo),c=co(z.Foundation),[u,d]=m.useState((c==null?void 0:c.lz)??.1),f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map),A=m.useRef(new Map),w=Kt(),b=(W,N)=>{e(L=>{const E=L.elements.find(U=>U.id===W);E&&(E.lz=N,E.cz=N/2)})},C=(W,N)=>{e(L=>{for(const E of L.elements)E.type===W&&!E.locked&&(E.lz=N,E.cz=N/2)})},P=W=>{if(c){switch(r){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.Foundation&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.lz-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:for(const N of n)if(N.type===z.Foundation&&!N.locked&&Math.abs(N.lz-W)>Dt)return!0;break;default:if(Math.abs((c==null?void 0:c.lz)-W)>Dt)return!0}return!1}},v=(W,N)=>{if(W==null)return null;for(const L of W.children)if(L.name.includes(`${N}`))return L;return null},T=(W,N,L)=>{var E,U;if(W){for(const B of W.children)if(B.name.includes(`${L.id}`)){(U=(E=Ln.getState().contentRef)==null?void 0:E.current)==null||U.add(B);break}L.parentId=Zo;const F=new Gt(L.cx,L.cy).rotateAround(wr,-N.rotation[2]).add(new Gt(N.cx,N.cy));L.cx=F.x,L.cy=F.y,L.cz=0,A.current.set(L.id,new re(F.x,F.y,0)),p.current.set(L.id,Zo)}},y=(W,N)=>{e(L=>{for(const E of L.elements)if(E.parentId===W.id&&(f.current.set(E.id,W.id),g.current.set(E.id,new re(E.cx,E.cy,E.cz)),xe.isPlantOrHuman(E)))if(Math.abs(E.cz-W.lz/2)N/2){const F=Ln.getState().contentRef,B=v(F==null?void 0:F.current,W.id);T(B,W,E)}else E.cz=U,A.current.set(E.id,new re(E.cx,E.cy,U))}})},S=(W,N,L)=>{if(!W||!N)return;const E=Ln.getState().contentRef,U=v(E==null?void 0:E.current,N),F=v(N===Zo?E==null?void 0:E.current:U,L);if(F&&(E!=null&&E.current)){if(W===Zo)E.current.add(F);else{const B=v(E.current,W);B==null||B.add(F)}Zh()}},x=(W,N)=>{W&&e(L=>{for(const E of L.elements)if(E.id===N){E.parentId=W;break}})},R=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)if(W.has(E.id))if(N!==void 0)E.lz=N,E.cz=N/2;else{const U=W.get(E.id);U!==void 0&&(E.lz=U,E.cz=U/2)}})},H=W=>{if(c&&P(W)){switch(r){case ue.AllSelectedObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.Foundation&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.lz);for(const E of n)E.type===z.Foundation&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&y(E,W);const L={name:"Set Height for Selected Foundations",timestamp:Date.now(),oldValues:N,newValue:W,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(A.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var E,U;if(R(L.oldValues),L.oldChildrenPositionsMap&&L.oldChildrenPositionsMap.size>0)for(const[F,B]of L.oldChildrenPositionsMap.entries()){a(F,B.x,B.y,B.z);const _=(E=L.oldChildrenParentIdMap)==null?void 0:E.get(F),Y=(U=L.newChildrenParentIdMap)==null?void 0:U.get(F);_&&Y&&_!==Y&&(S(_,Y,F),x(_,F))}},redo:()=>{var U,F;const E=L.newValue;if(R(L.oldValues,E),L.newChildrenPositionsMap&&L.newChildrenPositionsMap.size>0)for(const[B,_]of L.newChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=L.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=L.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(O,Y,B),x(O,B))}}};i(L),R(N,W),s(l+1);break}case ue.AllObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.Foundation&&N.set(E.id,E.lz);for(const E of n)E.type===z.Foundation&&y(E,W);const L={name:"Set Height for All Foundations",timestamp:Date.now(),oldValues:N,newValue:W,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(A.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),undo:()=>{var E,U;for(const[F,B]of L.oldValues.entries())b(F,B);if(L.oldChildrenPositionsMap&&L.oldChildrenPositionsMap.size>0)for(const[F,B]of L.oldChildrenPositionsMap.entries()){a(F,B.x,B.y,B.z);const _=(E=L.oldChildrenParentIdMap)==null?void 0:E.get(F),Y=(U=L.newChildrenParentIdMap)==null?void 0:U.get(F);_&&Y&&_!==Y&&(S(_,Y,F),x(_,F))}},redo:()=>{var U,F;const E=L.newValue;if(C(z.Foundation,E),L.newChildrenPositionsMap&&L.newChildrenPositionsMap.size>0)for(const[B,_]of L.newChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=L.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=L.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(O,Y,B),x(O,B))}}};i(L),C(z.Foundation,W),s(l+1);break}default:{const N=o(c.id),L=N?N.lz:c.lz;y(c,W),b(c.id,W);const E={name:"Set Foundation Height",timestamp:Date.now(),oldValue:L,newValue:W,oldChildrenPositionsMap:new Map(g.current),newChildrenPositionsMap:new Map(A.current),oldChildrenParentIdMap:new Map(f.current),newChildrenParentIdMap:new Map(p.current),changedElementId:c.id,changedElementType:c.type,undo:()=>{var U,F;if(b(E.changedElementId,E.oldValue),E.oldChildrenPositionsMap&&E.oldChildrenPositionsMap.size>0)for(const[B,_]of E.oldChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=E.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=E.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(Y,O,B),x(Y,B))}},redo:()=>{var U,F;if(b(E.changedElementId,E.newValue),E.newChildrenPositionsMap&&E.newChildrenPositionsMap.size>0)for(const[B,_]of E.newChildrenPositionsMap.entries()){a(B,_.x,_.y,_.z);const Y=(U=E.oldChildrenParentIdMap)==null?void 0:U.get(B),O=(F=E.newChildrenParentIdMap)==null?void 0:F.get(B);Y&&O&&Y!==O&&(S(O,Y,B),x(O,B))}}};i(E),s(l+1);break}}e(N=>{N.actionState.foundationHeight=W})}},D=()=>{t(!1)},k=()=>{H(u)};return h.jsx(lo,{width:550,title:j.t("word.Height",w),onApply:k,onClose:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:.1,precision:2,value:u,onChange:W=>{W!==null&&d(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",w),": [0.1, 10] ",j.t("word.MeterAbbreviation",w)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",w)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W=>M.getState().setFoundationActionScope(W.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",w)})]})})})]})})},bso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(age),i=M(Mwt),r=M(En),a=M(Js),l=M(ao),s=M(oo),c=co(z.Foundation),[u,d]=m.useState(c?-(c==null?void 0:c.rotation[2]):0),f=Kt(),p=C=>{if(c){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const P of e)if(P.type===z.Foundation&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)&&Math.abs(-P.rotation[2]-C)>Dt)return!0;break}case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Foundation&&!P.locked&&Math.abs(-P.rotation[2]-C)>Dt)return!0;break;default:if(Math.abs(-(c==null?void 0:c.rotation[2])-C)>Dt)return!0}return!1}},g=(C,P)=>{M.getState().set(v=>{for(const T of v.elements)if(C.has(T.id))if(P!==void 0)T.rotation[2]=P;else{const y=C.get(T.id);y!==void 0&&(T.rotation[2]=-y)}})},A=C=>{if(c&&p(C))switch(a){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)&&P.set(T.id,-T.rotation[2]);const v={name:"Set Azimuth for All Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{g(v.oldValues)},redo:()=>{g(v.oldValues,-v.newValue)}};r(v),g(P,-C),s(l+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Foundation&&P.set(T.id,-T.rotation[2]);const v={name:"Set Azimuth for All Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{for(const[T,y]of v.oldValues.entries())o(T,0,0,-y)},redo:()=>{i(z.Foundation,0,0,-v.newValue)}};r(v),i(z.Foundation,0,0,-C),s(l+1);break}default:{const P=n(c.id),v=P?-P.rotation[2]:-c.rotation[2],T={name:"Set Foundation Azimuth",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(T.changedElementId,0,0,-T.oldValue)},redo:()=>{o(T.changedElementId,0,0,-T.newValue)}};r(T),o(c.id,0,0,-C),s(l+1);break}}},w=()=>{t(!1)},b=()=>{A(u)};return h.jsx(lo,{width:500,title:j.t("word.Azimuth",f),onApply:b,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(xe.toDegrees(u).toFixed(2)),formatter:C=>`${C}°`,onChange:C=>{C!==null&&d(xe.toRadians(C))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),j.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Sso=({setDialogVisible:t})=>{const e=M(Jn),n=M(Z9),o=M(En),i=M(Js),r=M(Iwt),a=M(ao),l=M(oo),s=M(ca),c=M(Vn),u=M(dn),d=M(E=>{if(n){for(const U of E.elements)if(U.id===n.id)return U}return null}),[f,p]=m.useState((d==null?void 0:d.rValue)??Q4),[g,A]=m.useState(xe.toRValueInUS(f)),[w,b]=m.useState(!1),[C,P]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),T=Kt();m.useEffect(()=>{d&&p((d==null?void 0:d.rValue)??Q4)},[d==null?void 0:d.rValue]);const y=E=>{switch(i){case ue.AllObjectsOfThisType:for(const U of e)if(U.type===z.Foundation&&!U.locked){const F=U;if(F.rValue===void 0||Math.abs(F.rValue-E)>Dt)return!0}break;default:if((d==null?void 0:d.rValue)===void 0||Math.abs((d==null?void 0:d.rValue)-E)>Dt)return!0}return!1},S=(E,U)=>{u(F=>{for(const B of F.elements)if(B.id===E){B.rValue=U;break}})},x=E=>{for(const[U,F]of E.entries())S(U,F)},R=(E,U)=>{for(const F of E.keys())S(F,U)},H=E=>{if(d&&y(E)){switch(i){case ue.AllObjectsOfThisType:{const U=new Map;u(B=>{for(const _ of B.elements)if(_.type===z.Foundation&&!_.locked){const Y=_;U.set(_.id,Y.rValue??Q4),Y.rValue=E}});const F={name:"Set R-Value for All Ground Floors",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{x(F.oldValues)},redo:()=>{R(F.oldValues,F.newValue)}};o(F),l(a+1);break}default:{if(d){const F=c(d.id).rValue??d.rValue??Q4,B={name:"Set Ground Floor R-Value",timestamp:Date.now(),oldValue:F,newValue:E,changedElementId:d.id,changedElementType:d.type,undo:()=>{S(B.changedElementId,B.oldValue)},redo:()=>{S(B.changedElementId,B.newValue)}};o(B),S(d.id,E),l(a+1)}break}}u(U=>{U.actionState.groundFloorRValue=E})}},D=(E,U)=>{if(v.current){const{clientWidth:F,clientHeight:B}=window.document.documentElement,_=v.current.getBoundingClientRect();P({left:-_.left+U.x,right:F-(_.right-U.x),top:-_.top+U.y,bottom:B-((_==null?void 0:_.bottom)-U.y)})}},k=()=>{p((d==null?void 0:d.rValue)??Q4),t(!1)},W=()=>{k(),s()},N=()=>{H(f),t(!1),l(0)},L=()=>{H(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>b(!0),onMouseOut:()=>b(!1),children:[j.t("word.RValue",T)+" ","(",j.t("word.ThermalResistance",T),")"]}),footer:[h.jsx(no,{onClick:L,children:j.t("word.Apply",T)},"Apply"),h.jsx(no,{onClick:W,children:j.t("word.Cancel",T)},"Cancel"),h.jsx(no,{type:"primary",onClick:N,children:j.t("word.OK",T)},"OK")],onCancel:k,maskClosable:!1,destroyOnClose:!1,modalRender:E=>h.jsx(Vr,{disabled:!w,bounds:C,onStart:(U,F)=>D(U,F),children:h.jsx("div",{ref:v,children:E})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:E=>Number(E).toFixed(2),onChange:E=>{E!==null&&(p(E),A(xe.toRValueInUS(E)))},onPressEnter:N}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",T),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:E=>Number(E).toFixed(2),onChange:E=>{E!==null&&(A(E),p(xe.toRValueInSI(E)))},onPressEnter:N}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",T),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:E=>r(E.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisGroundFloor",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllGroundFloors",T)})]})})})]})})})},Tso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberHeight)??10),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberHeight=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberHeight=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberHeight=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberHeight===void 0||Math.abs(y.solarAbsorberPipe.absorberHeight-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberHeight===void 0||Math.abs(y.solarAbsorberPipe.absorberHeight-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberHeight)===void 0||Math.abs((c==null?void 0:c.absorberHeight)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberHeight??10)}const y={name:"Set Absorber Height for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberHeight??10)}const y={name:"Set Absorber Height for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberHeight??10:c.absorberHeight??10;p(s.id,v);const S={name:"Set Absorber Height on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarAbsorberPipeMenu.AbsorberHeight",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:50,style:{width:120},step:.5,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [1, 50] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Pso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.apertureWidth)??.6),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.apertureWidth=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.apertureWidth=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.apertureWidth=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.apertureWidth===void 0||Math.abs(y.solarAbsorberPipe.apertureWidth-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.apertureWidth===void 0||Math.abs(y.solarAbsorberPipe.apertureWidth-v)>Dt))return!0}break;default:if((c==null?void 0:c.apertureWidth)===void 0||Math.abs((c==null?void 0:c.apertureWidth)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.apertureWidth??.6)}const y={name:"Set Absorber Aperture Width for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.apertureWidth??.6)}const y={name:"Set Absorber Aperture Width for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.apertureWidth??.6:c.apertureWidth??.6;p(s.id,v);const S={name:"Set Absorber Aperture Width on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarAbsorberPipeMenu.AbsorberApertureWidth",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0.1, 2] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Cso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.poleNumber)??5),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.poleNumber=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.poleNumber=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.poleNumber=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.poleNumber===void 0||y.solarAbsorberPipe.poleNumber!==v))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.poleNumber===void 0||y.solarAbsorberPipe.poleNumber!==v))return!0}break;default:if((c==null?void 0:c.poleNumber)===void 0||(c==null?void 0:c.poleNumber)!==v)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.poleNumber??5)}const y={name:"Set Absorber Pipe Pole Number for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.poleNumber??5)}const y={name:"Set Absorber Pipe Pole Number for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.poleNumber??5:c.poleNumber??5;p(s.id,v);const S={name:"Set Absorber Pipe Pole Number on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:1,precision:0,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [1, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Rso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberAbsorptance)??.95),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberAbsorptance=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberAbsorptance=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberAbsorptance=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(y.solarAbsorberPipe.absorberAbsorptance-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberAbsorptance===void 0||Math.abs(y.solarAbsorberPipe.absorberAbsorptance-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberAbsorptance)===void 0||Math.abs((c==null?void 0:c.absorberAbsorptance)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberAbsorptance??.95)}const y={name:"Set Absorber Pipe Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberAbsorptance??.95)}const y={name:"Set Absorber Pipe Absorptance for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberAbsorptance??.95:c.absorberAbsorptance??.95;p(s.id,v);const S={name:"Set Absorber Pipe Absorptance on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarAbsorberPipeMenu.AbsorberAbsorptance",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Hso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberOpticalEfficiency)??.7),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberOpticalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberOpticalEfficiency=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberOpticalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberOpticalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberOpticalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberOpticalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberOpticalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const y={name:"Set Absorber Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberOpticalEfficiency??.7)}const y={name:"Set Absorber Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberOpticalEfficiency??.7:c.absorberOpticalEfficiency??.7;p(s.id,v);const S={name:"Set Absorber Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Mso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarAbsorberPipe,[u,d]=m.useState((c==null?void 0:c.absorberThermalEfficiency)??.3),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberThermalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusPipe&&(S.solarAbsorberPipe||(S.solarAbsorberPipe={}),S.solarAbsorberPipe.absorberThermalEfficiency=v)}})},A=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusPipe&&(x.solarAbsorberPipe||(x.solarAbsorberPipe={}),x.solarAbsorberPipe.absorberThermalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberThermalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusPipe&&y.solarAbsorberPipe&&(y.solarAbsorberPipe.absorberThermalEfficiency===void 0||Math.abs(y.solarAbsorberPipe.absorberThermalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.absorberThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.absorberThermalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberThermalEfficiency??.3)}const y={name:"Set Absorber Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarAbsorberPipe&&T.set(S.id,x.solarAbsorberPipe.absorberThermalEfficiency??.3)}const y={name:"Set Absorber Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarAbsorberPipe?T.solarAbsorberPipe.absorberThermalEfficiency??.3:c.absorberThermalEfficiency??.3;p(s.id,v);const S={name:"Set Absorber Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Iso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerHeight)??20),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerHeight=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.towerHeight=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerHeight=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerHeight===void 0||Math.abs(y.solarPowerTower.towerHeight-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerHeight===void 0||Math.abs(y.solarPowerTower.towerHeight-v)>Dt))return!0}break;default:if((c==null?void 0:c.towerHeight)===void 0||Math.abs((c==null?void 0:c.towerHeight)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerHeight??20)}const y={name:"Set Tower Height for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerHeight??20)}const y={name:"Set Tower Height for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.towerHeight??20:c.towerHeight??20;p(s.id,v);const S={name:"Set Tower Height on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarPowerTowerMenu.ReceiverTowerHeight",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:10,max:500,style:{width:120},step:1,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [10, 500] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},zso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.towerRadius)??1),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerRadius=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.towerRadius=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.towerRadius=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerRadius===void 0||Math.abs(y.solarPowerTower.towerRadius-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.towerRadius===void 0||Math.abs(y.solarPowerTower.towerRadius-v)>Dt))return!0}break;default:if((c==null?void 0:c.towerRadius)===void 0||Math.abs((c==null?void 0:c.towerRadius)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerRadius??1)}const y={name:"Set Tower Radius for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.towerRadius??1)}const y={name:"Set Tower Radius for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.towerRadius??1:c.towerRadius??1;p(s.id,v);const S={name:"Set Tower Radius on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarPowerTowerMenu.ReceiverTowerRadius",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:10,style:{width:120},step:.5,precision:1,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0.5, 10] ",j.t("word.MeterAbbreviation",f)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",f)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Dso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverAbsorptance)??.95),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverAbsorptance=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.receiverAbsorptance=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverAbsorptance=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverAbsorptance===void 0||Math.abs(y.solarPowerTower.receiverAbsorptance-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverAbsorptance===void 0||Math.abs(y.solarPowerTower.receiverAbsorptance-v)>Dt))return!0}break;default:if((c==null?void 0:c.receiverAbsorptance)===void 0||Math.abs((c==null?void 0:c.receiverAbsorptance)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverAbsorptance??.95)}const y={name:"Set Receiver Absorptance for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverAbsorptance??.95)}const y={name:"Set Receiver Absorptance for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.receiverAbsorptance??.95:c.receiverAbsorptance??.95;p(s.id,v);const S={name:"Set Receiver Absorptance on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarPowerTowerMenu.ReceiverAbsorptance",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Eso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverThermalEfficiency)??.3),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverThermalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.receiverThermalEfficiency=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverThermalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverThermalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverThermalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverThermalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.receiverThermalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverThermalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverThermalEfficiency??.3)}const y={name:"Set Receiver Thermal Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverThermalEfficiency??.3)}const y={name:"Set Receiver Thermal Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.receiverThermalEfficiency??.3:c.receiverThermalEfficiency??.3;p(s.id,v);const S={name:"Set Receiver Thermal Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("solarPowerTowerMenu.ReceiverThermalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},kso=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),c=s==null?void 0:s.solarPowerTower,[u,d]=m.useState((c==null?void 0:c.receiverOpticalEfficiency)??.7),f=Kt(),p=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverOpticalEfficiency=T);break}})},g=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.FocusTower&&(S.solarPowerTower||(S.solarPowerTower={}),S.solarPowerTower.receiverOpticalEfficiency=v)}})},A=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.FocusTower&&(x.solarPowerTower||(x.solarPowerTower={}),x.solarPowerTower.receiverOpticalEfficiency=T)}})},w=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverOpticalEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.FocusTower&&y.solarPowerTower&&(y.solarPowerTower.receiverOpticalEfficiency===void 0||Math.abs(y.solarPowerTower.receiverOpticalEfficiency-v)>Dt))return!0}break;default:if((c==null?void 0:c.receiverOpticalEfficiency)===void 0||Math.abs((c==null?void 0:c.receiverOpticalEfficiency)-v)>Dt)return!0}return!1},b=v=>{if(!(!s||!c)&&w(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverOpticalEfficiency??.7)}const y={name:"Set Receiver Optical Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{A(y.oldValues,y.newValue)}};i(y),A(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarPowerTower&&T.set(S.id,x.solarPowerTower.receiverOpticalEfficiency??.7)}const y={name:"Set Receiver Optical Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())p(S,x)},redo:()=>{g(y.newValue)}};i(y),g(v),l(a+1);break}default:{const T=o(s.id),y=T&&T.solarPowerTower?T.solarPowerTower.receiverOpticalEfficiency??.7:c.receiverOpticalEfficiency??.7;p(s.id,v);const S={name:"Set Receiver Optical Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};i(S),l(a+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:500,title:j.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:u,onChange:v=>{v!==null&&d(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",f)})]})})})]})})},Fso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.chimneyHeight)??Math.max((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0)),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyHeight=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.chimneyHeight=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyHeight=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyHeight===void 0||Math.abs(y.solarUpdraftTower.chimneyHeight-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyHeight===void 0||Math.abs(y.solarUpdraftTower.chimneyHeight-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyHeight===void 0||Math.abs(s.solarUpdraftTower.chimneyHeight-v)>Dt))return!0}return!1},w=v=>{var T,y;if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((T=H.solarUpdraftTower)==null?void 0:T.chimneyHeight)??Math.max(H.lx,H.ly))}const x={name:"Set Solar Chimney Height for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{g(x.oldValues,x.newValue)}};i(x),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((y=H.solarUpdraftTower)==null?void 0:y.chimneyHeight)??Math.max(H.lx,H.ly))}const x={name:"Set Solar Chimney Height for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};i(x),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),x=S&&S.solarUpdraftTower?S.solarUpdraftTower.chimneyHeight??Math.max(S.lx,S.ly):s.solarUpdraftTower.chimneyHeight??Math.max(s.lx,s.ly);f(s.id,v);const R={name:"Set Solar Chimney Height on Foundation",timestamp:Date.now(),oldValue:x,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [1, 1000] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Lso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.chimneyRadius)??Math.max(1,.025*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyRadius=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.chimneyRadius=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.chimneyRadius=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyRadius===void 0||Math.abs(y.solarUpdraftTower.chimneyRadius-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.chimneyRadius===void 0||Math.abs(y.solarUpdraftTower.chimneyRadius-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.chimneyRadius===void 0||Math.abs(s.solarUpdraftTower.chimneyRadius-v)>Dt))return!0}return!1},w=v=>{var T,y;if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation&&M.getState().selectedElementIdSet.has(R.id)){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((T=H.solarUpdraftTower)==null?void 0:T.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const x={name:"Set Solar Chimney Radius for Selected Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{g(x.oldValues,x.newValue)}};i(x),g(S,v),l(a+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)if(R.type===z.Foundation){const H=R;H.solarStructure===zn.UpdraftTower&&H.solarUpdraftTower&&S.set(R.id,((y=H.solarUpdraftTower)==null?void 0:y.chimneyRadius)??Math.max(1,.025*Math.min(H.lx,H.ly)))}const x={name:"Set Solar Chimney Radius for All Foundations",timestamp:Date.now(),oldValues:S,newValue:v,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};i(x),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const S=o(s.id),x=S&&S.solarUpdraftTower?S.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(S.lx,S.ly)):s.solarUpdraftTower.chimneyRadius??Math.max(1,.025*Math.min(s.lx,s.ly));f(s.id,v);const R={name:"Set Solar Chimney Radius on Foundation",timestamp:Date.now(),oldValue:x,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(R.changedElementId,R.oldValue)},redo:()=>{f(R.changedElementId,R.newValue)}};i(R),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:10,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.1, 10] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Wso=({setDialogVisible:t})=>{var b;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=co(z.Foundation),[l,s]=m.useState(((b=a==null?void 0:a.solarUpdraftTower)==null?void 0:b.collectorHeight)??Math.max(3,10*((a==null?void 0:a.lz)??0))),c=Kt(),u=(C,P)=>{e(v=>{for(const T of v.elements)if(T.type===z.Foundation&&T.id===C&&!T.locked){const y=T;y.solarStructure===zn.UpdraftTower&&(y.solarUpdraftTower||(y.solarUpdraftTower={}),y.solarUpdraftTower.collectorHeight=P);break}})},d=C=>{e(P=>{for(const v of P.elements)if(v.type===z.Foundation&&!v.locked){const T=v;T.solarStructure===zn.UpdraftTower&&(T.solarUpdraftTower||(T.solarUpdraftTower={}),T.solarUpdraftTower.collectorHeight=C)}})},f=(C,P)=>{e(v=>{for(const T of v.elements)if(T.type===z.Foundation&&!T.locked&&C.has(T.id)){const y=T;y.solarStructure===zn.UpdraftTower&&(y.solarUpdraftTower||(y.solarUpdraftTower={}),y.solarUpdraftTower.collectorHeight=P)}})},p=C=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const P of n)if(P.type===z.Foundation&&!P.locked&&M.getState().selectedElementIdSet.has(P.id)){const v=P;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const P of n)if(P.type===z.Foundation&&!P.locked){const v=P;if(v.solarStructure===zn.UpdraftTower&&v.solarUpdraftTower&&(v.solarUpdraftTower.collectorHeight===void 0||Math.abs(v.solarUpdraftTower.collectorHeight-C)>Dt))return!0}break;default:if(a&&a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower&&(a.solarUpdraftTower.collectorHeight===void 0||Math.abs(a.solarUpdraftTower.collectorHeight-C)>Dt))return!0}return!1},g=C=>{if(a&&p(C))switch(r){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const T of n)if(T.type===z.Foundation&&M.getState().selectedElementIdSet.has(T.id)){const y=T;y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&P.set(T.id,y.solarUpdraftTower.collectorHeight??Math.max(3,10*y.lz))}const v={name:"Set Solar Collector Height for Selected Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{for(const[T,y]of v.oldValues.entries())u(T,y)},redo:()=>{f(v.oldValues,v.newValue)}};i(v),f(P,C);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const T of n)if(T.type===z.Foundation){const y=T;y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&P.set(T.id,y.solarUpdraftTower.collectorHeight??Math.max(3,10*y.lz))}const v={name:"Set Solar Collector Height for All Foundations",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{for(const[T,y]of v.oldValues.entries())u(T,y)},redo:()=>{d(v.newValue)}};i(v),d(C);break}default:{if(a.solarStructure===zn.UpdraftTower&&a.solarUpdraftTower){const P=o(a.id),v=P&&P.solarUpdraftTower?P.solarUpdraftTower.collectorHeight??Math.max(3,10*P.lz):a.solarUpdraftTower.collectorHeight??Math.max(3,10*a.lz);u(a.id,C);const T={name:"Set Solar Collector Height on Foundation",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:a.id,changedElementType:a.type,undo:()=>{u(T.changedElementId,T.oldValue)},redo:()=>{u(T.changedElementId,T.newValue)}};i(T)}break}}},A=()=>{t(!1)},w=()=>{g(l)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",c),onApply:w,onClose:A,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:20,style:{width:120},step:1,precision:1,value:l,onChange:C=>{C!==null&&s(C)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",c),": [0.1, 20] ",j.t("word.MeterAbbreviation",c)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",c)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:C=>M.getState().setFoundationActionScope(C.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",c)})]})})})]})})},Nso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.collectorRadius)??Math.max(10,.5*Math.min((s==null?void 0:s.lx)??0,(s==null?void 0:s.ly)??0))),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorRadius=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorRadius=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorRadius=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorRadius===void 0||Math.abs(y.solarUpdraftTower.collectorRadius-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorRadius===void 0||Math.abs(y.solarUpdraftTower.collectorRadius-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorRadius===void 0||Math.abs(s.solarUpdraftTower.collectorRadius-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(x.lx,x.ly)))}const y={name:"Set Solar Collector Radius for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(x.lx,x.ly)))}const y={name:"Set Solar Collector Radius for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(T.lx,T.ly)):s.solarUpdraftTower.collectorRadius??Math.max(10,.5*Math.min(s.lx,s.ly));f(s.id,v);const S={name:"Set Solar Collector Radius on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:1e3,style:{width:120},step:1,precision:1,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [1, 1000] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Uso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.collectorTransmissivity)??.9),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorTransmissivity=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorTransmissivity=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorTransmissivity=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorTransmissivity-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorTransmissivity-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorTransmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorTransmissivity-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorTransmissivity??.9)}const y={name:"Set Solar Collector Transmissivity for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorTransmissivity??.9)}const y={name:"Set Solar Collector Transmissivity for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.collectorTransmissivity??.9:s.solarUpdraftTower.collectorTransmissivity??.9;f(s.id,v);const S={name:"Set Solar Collector Transmissivity on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Bso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.collectorEmissivity)??.95),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorEmissivity=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.collectorEmissivity=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.collectorEmissivity=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorEmissivity-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(y.solarUpdraftTower.collectorEmissivity-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.collectorEmissivity===void 0||Math.abs(s.solarUpdraftTower.collectorEmissivity-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorEmissivity??.95)}const y={name:"Set Solar Collector Emissivity for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.collectorEmissivity??.95)}const y={name:"Set Solar Collector Emissivity for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.collectorEmissivity??.95:s.solarUpdraftTower.collectorEmissivity??.95;f(s.id,v);const S={name:"Set Solar Collector Emissivity on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},jso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.dischargeCoefficient)??.65),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.dischargeCoefficient=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.dischargeCoefficient=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.dischargeCoefficient=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(y.solarUpdraftTower.dischargeCoefficient-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(y.solarUpdraftTower.dischargeCoefficient-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.dischargeCoefficient===void 0||Math.abs(s.solarUpdraftTower.dischargeCoefficient-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.dischargeCoefficient??.65)}const y={name:"Set Solar Chimney Discharge Coefficient for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.dischargeCoefficient??.65)}const y={name:"Set Solar Chimney Discharge Coefficient for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.dischargeCoefficient??.65:s.solarUpdraftTower.dischargeCoefficient??.65;f(s.id,v);const S={name:"Set Solar Chimney Discharge Coefficient on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.65,max:.7,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.65, 0.70]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},Yso=({setDialogVisible:t})=>{var P;const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(Js),a=M(ao),l=M(oo),s=co(z.Foundation),[c,u]=m.useState(((P=s==null?void 0:s.solarUpdraftTower)==null?void 0:P.turbineEfficiency)??.3),d=Kt(),f=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&S.id===v&&!S.locked){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.turbineEfficiency=T);break}})},p=v=>{e(T=>{for(const y of T.elements)if(y.type===z.Foundation&&!y.locked){const S=y;S.solarStructure===zn.UpdraftTower&&(S.solarUpdraftTower||(S.solarUpdraftTower={}),S.solarUpdraftTower.turbineEfficiency=v)}})},g=(v,T)=>{e(y=>{for(const S of y.elements)if(S.type===z.Foundation&&!S.locked&&v.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&(x.solarUpdraftTower||(x.solarUpdraftTower={}),x.solarUpdraftTower.turbineEfficiency=T)}})},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(y.solarUpdraftTower.turbineEfficiency-v)>Dt))return!0}break;case ue.AllObjectsOfThisType:for(const T of n)if(T.type===z.Foundation&&!T.locked){const y=T;if(y.solarStructure===zn.UpdraftTower&&y.solarUpdraftTower&&(y.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(y.solarUpdraftTower.turbineEfficiency-v)>Dt))return!0}break;default:if(s&&s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower&&(s.solarUpdraftTower.turbineEfficiency===void 0||Math.abs(s.solarUpdraftTower.turbineEfficiency-v)>Dt))return!0}return!1},w=v=>{if(s&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation&&M.getState().selectedElementIdSet.has(S.id)){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.turbineEfficiency??.3)}const y={name:"Set Solar Updraft Tower Turbine Efficiency for Selected Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{g(y.oldValues,y.newValue)}};i(y),g(T,v),l(a+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of n)if(S.type===z.Foundation){const x=S;x.solarStructure===zn.UpdraftTower&&x.solarUpdraftTower&&T.set(S.id,x.solarUpdraftTower.turbineEfficiency??.3)}const y={name:"Set Solar Updraft Tower Turbine Efficiency for All Foundations",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())f(S,x)},redo:()=>{p(y.newValue)}};i(y),p(v),l(a+1);break}default:{if(s.solarStructure===zn.UpdraftTower&&s.solarUpdraftTower){const T=o(s.id),y=T&&T.solarUpdraftTower?T.solarUpdraftTower.turbineEfficiency??.3:s.solarUpdraftTower.turbineEfficiency??.3;f(s.id,v);const S={name:"Set Solar Updraft Tower Turbine Efficiency on Foundation",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(S.changedElementId,S.oldValue)},redo:()=>{f(S.changedElementId,S.newValue)}};i(S),l(a+1)}break}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:540,title:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.2,max:1,style:{width:120},step:.01,precision:2,value:c,onChange:v=>{v!==null&&u(v)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.2, 1.0]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",marginLeft:"16px",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>M.getState().setFoundationActionScope(v.target.value),value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("foundationMenu.OnlyThisFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("foundationMenu.AllSelectedFoundations",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("foundationMenu.AllFoundations",d)})]})})})]})})},{Option:BT}=Yo,Oso=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=M(pA).geneticAlgorithmParams,p=m.useRef(f.selectionMethod),g=m.useRef(f.searchMethod),A=m.useRef(Math.min(f.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),w=m.useRef(f.populationSize),b=m.useRef(f.maximumGenerations),C=m.useRef(f.mutationRate),P=m.useRef(f.selectionRate??.5),v=m.useRef(f.crossoverRate??.5),T=m.useRef(f.convergenceThreshold),y=m.useRef(f.localSearchRadius),S=m.useRef(null);m.useEffect(()=>{var W;(W=S.current)==null||W.focus()},[]);const x={lng:o},R=(W,N)=>{if(d.current){const{clientWidth:L,clientHeight:E}=window.document.documentElement,U=d.current.getBoundingClientRect();u({left:-U.left+N.x,right:L-(U.right-N.x),top:-U.top+N.y,bottom:E-((U==null?void 0:U.bottom)-N.y)})}},H=()=>{e(W=>{W.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,W.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=A.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=p.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=g.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=w.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=b.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=P.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=v.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=C.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=T.current,W.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=y.current})},D=()=>{i||hn(k("message.EvolutionStarted",x)),H(),setTimeout(()=>{ht.getState().set(W=>{W.runEvolution=!W.runEvolution}),e(W=>{W.evolutionMethod=Bs.GENETIC_ALGORITHM,W.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(W.actionInfo={name:"Run Genetic Algorithm for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:k}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:[k("optimizationMenu.SolarPanelTiltAngleOptimization",x)+": ",k("optimizationMenu.GeneticAlgorithmSettings",x)]}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:k("word.Cancel",x)},"Cancel"),h.jsx(no,{type:"primary",ref:S,onClick:()=>{D(),t(!1)},children:k("word.Run",x)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:W=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(N,L)=>R(N,L),children:h.jsx("div",{ref:d,children:W})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.Objective",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:A.current,style:{width:"100%"},value:A.current,onChange:W=>{A.current=W,a(!r)},children:[h.jsx(BT,{value:xo.DAILY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionDailyTotalYield",x)},xo.DAILY_TOTAL_OUTPUT),h.jsx(BT,{value:xo.YEARLY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionYearlyTotalYield",x)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.GeneticAlgorithmSelectionMethod",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:W=>{p.current=W,a(!r)},children:[h.jsx(BT,{value:zm.ROULETTE_WHEEL,children:k("optimizationMenu.RouletteWheel",x)},zm.ROULETTE_WHEEL),h.jsx(BT,{value:zm.TOURNAMENT,children:k("optimizationMenu.Tournament",x)},zm.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.PopulationSize",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,formatter:W=>Number(W).toFixed(0),value:w.current,step:1,onChange:W=>{W!==null&&(w.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MaximumGenerations",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,formatter:W=>Number(W).toFixed(0),value:b.current,onChange:W=>{W!==null&&(b.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SelectionRate",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:P.current,step:.01,onChange:W=>{W!==null&&(P.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.CrossoverRate",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:W=>{W!==null&&(v.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MutationRate",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:W=>{W!==null&&(C.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.ConvergenceThreshold",x)+" [0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:T.current,step:.001,onChange:W=>{W!==null&&(T.current=Number(W),a(!r))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SearchMethod",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:W=>{g.current=Number(W),a(!r)},children:[h.jsx(BT,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:k("optimizationMenu.GlobalSearchUniformSelection",x)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(BT,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:k("optimizationMenu.LocalSearchRandomOptimization",x)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.LocalSearchRadius",x)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:y.current,step:.01,onChange:W=>{W!==null&&(y.current=Number(W),a(!r))}})})]})]})})},{Option:CO}=Yo,_so=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),r=M(pA).particleSwarmOptimizationParams,[a,l]=m.useState(!1),[s,c]=m.useState(!1),[u,d]=m.useState({left:0,top:0,bottom:0,right:0}),f=m.useRef(null),p=m.useRef(Math.min(r.objectiveFunctionType,xo.YEARLY_TOTAL_OUTPUT)),g=m.useRef(r.searchMethod),A=m.useRef(r.swarmSize),w=m.useRef(r.maximumSteps),b=m.useRef(r.vmax??.01),C=m.useRef(r.inertia??.8),P=m.useRef(r.cognitiveCoefficient??.1),v=m.useRef(r.socialCoefficient??.1),T=m.useRef(r.convergenceThreshold),y=m.useRef(r.localSearchRadius),S=m.useRef(null);m.useEffect(()=>{var W;(W=S.current)==null||W.focus()},[]);const x={lng:o},R=(W,N)=>{if(f.current){const{clientWidth:L,clientHeight:E}=window.document.documentElement,U=f.current.getBoundingClientRect();d({left:-U.left+N.x,right:L-(U.right-N.x),top:-U.top+N.y,bottom:E-((U==null?void 0:U.bottom)-N.y)})}},H=()=>{e(W=>{W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=p.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=g.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=A.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=w.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=P.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=v.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=b.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=C.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=T.current,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=y.current})},D=()=>{i||hn(k("message.EvolutionStarted",x)),H(),setTimeout(()=>{ht.getState().set(W=>{W.runEvolution=!W.runEvolution}),e(W=>{W.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,W.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_TILT_ANGLE,n&&(W.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Tilt Angle",timestamp:new Date().getTime()})})},100)},{t:k}=jl();return h.jsx(h.Fragment,{children:h.jsxs(_r,{width:640,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>c(!0),onMouseOut:()=>c(!1),children:[k("optimizationMenu.SolarPanelTiltAngleOptimization",x)+": ",k("optimizationMenu.ParticleSwarmOptimizationSettings",x)]}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:k("word.Cancel",x)},"Cancel"),h.jsx(no,{type:"primary",ref:S,onClick:()=>{D(),t(!1)},children:k("word.Run",x)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:W=>h.jsx(Vr,{disabled:!s,bounds:u,onStart:(N,L)=>R(N,L),children:h.jsx("div",{ref:f,children:W})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.Objective",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:p.current,style:{width:"100%"},value:p.current,onChange:W=>{p.current=W,l(!a)},children:[h.jsx(CO,{value:xo.DAILY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionDailyTotalYield",x)},xo.DAILY_TOTAL_OUTPUT),h.jsx(CO,{value:xo.YEARLY_TOTAL_OUTPUT,children:k("optimizationMenu.ObjectiveFunctionYearlyTotalYield",x)},xo.YEARLY_TOTAL_OUTPUT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SwarmSize",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:A.current,step:1,formatter:W=>Number(W).toFixed(0),onChange:W=>{A.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MaximumSteps",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:w.current,formatter:W=>Number(W).toFixed(0),onChange:W=>{w.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.CognitiveCoefficient",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:P.current,step:.01,onChange:W=>{P.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SocialCoefficient",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:v.current,step:.01,onChange:W=>{v.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.InertiaWeight",x)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:C.current,step:.01,onChange:W=>{C.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.MaximumVelocity",x)+" [0.001, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:b.current,step:.001,onChange:W=>{b.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.ConvergenceThreshold",x)+" [0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:T.current,step:.001,onChange:W=>{T.current=Number(W),l(!a)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.SearchMethod",x)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:g.current,style:{width:"100%"},value:g.current,onChange:W=>{g.current=Number(W),l(!a)},children:[h.jsx(CO,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:k("optimizationMenu.GlobalSearchUniformSelection",x)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(CO,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:k("optimizationMenu.LocalSearchRandomOptimization",x)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),g.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:k("optimizationMenu.LocalSearchRadius",x)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:y.current,step:.01,onChange:W=>{y.current=Number(W),l(!a)}})})]})]})})},ay=({children:t,width:e="90px"})=>h.jsx("div",{style:{width:e},children:t}),Vso=({element:t})=>{const e=Btt(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!(t!=null&&t.showLabel),onChange:e,children:j.t("labelSubMenu.KeepShowingLabel",n)})})},Gso=({element:t})=>{const{labelText:e,setLabelText:n}=Utt(t),o=jtt(t,e),i=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelText",i)+":"}),value:e,onChange:r=>n(r.target.value),onPressEnter:o,onBlur:o})})},Xso=({element:t})=>{const e=wOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelHeight",n)+":"}),min:t.lz/2+.2,max:100,step:1,precision:1,value:t.labelHeight??t.lz/2+.2,onChange:o=>e(o)})})},Jso=({element:t})=>{const e=mOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelFontSize",n)+":"}),min:10,max:100,step:1,precision:0,value:t.labelFontSize??20,onChange:o=>e(o)})})},Kso=({element:t})=>{const e=yOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelSize",n)+":"}),min:.2,max:5,step:.1,precision:1,value:t.labelSize??.2,onChange:o=>e(o)})})},qso=({element:t})=>{const e=AOn(t),n=Kt();return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsx(ay,{children:j.t("labelSubMenu.LabelColor",n)+":"}),value:t.labelColor??"#ffffff",onChange:o=>e(o.target.value)})})},vA=t=>[{key:`${t.type}-show-label`,label:h.jsx(Vso,{element:t})},{key:`${t.type}-label-text`,label:h.jsx(Gso,{element:t})},{key:`${t.type}-label-height`,label:h.jsx(Xso,{element:t})},{key:`${t.type}-label-font-size`,label:h.jsx(Jso,{element:t})},{key:`${t.type}-label-size`,label:h.jsx(Kso,{element:t})},{key:`${t.type}-label-color`,label:h.jsx(qso,{element:t})}],$so=[{key:"windowCount",objectType:z.Window},{key:"doorCount",objectType:z.Door},{key:"sensorCount",objectType:z.Sensor},{key:"outsideLightCount",objectType:z.Light},{key:"parabolicTroughCount",objectType:z.ParabolicTrough},{key:"parabolicDishCount",objectType:z.ParabolicDish},{key:"fresnelReflectorCount",objectType:z.FresnelReflector},{key:"heliostatCount",objectType:z.Heliostat},{key:"windTurbineCount",objectType:z.WindTurbine},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower}],VRe=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Wall:{o=`${j.t("foundationMenu.RemoveAllUnlockedWalls",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllWallsOnFoundation",n)} (${e} ${j.t("foundationMenu.Walls",n)})`;break}case z.Window:{o=`${j.t("foundationMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllWindowsOnFoundation",n)} (${e} ${j.t("foundationMenu.Windows",n)})`;break}case z.Door:{o=`${j.t("foundationMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllDoorsOnFoundation",n)} (${e} ${j.t("foundationMenu.Doors",n)})`;break}case z.Sensor:{o=`${j.t("foundationMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllSensorsOnFoundation",n)} (${e} ${j.t("foundationMenu.Sensors",n)})`;break}case z.Light:{o=`${j.t("foundationMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllLightsOnFoundation",n)} (${e} ${j.t("foundationMenu.Lights",n)})`;break}case z.ParabolicTrough:{o=`${j.t("foundationMenu.RemoveAllUnlockedParabolicTroughs",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicTroughsOnFoundation",n)} (${e} ${j.t("foundationMenu.ParabolicTroughs",n)})`;break}case z.ParabolicDish:{o=`${j.t("foundationMenu.RemoveAllUnlockedParabolicDishes",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllParabolicDishesOnFoundation",n)} (${e} ${j.t("foundationMenu.ParabolicDishes",n)})`;break}case z.FresnelReflector:{o=`${j.t("foundationMenu.RemoveAllUnlockedFresnelReflectors",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllFresnelReflectorsOnFoundation",n)} (${e} ${j.t("foundationMenu.FresnelReflectors",n)})`;break}case z.Heliostat:{o=`${j.t("foundationMenu.RemoveAllUnlockedHeliostats",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllHeliostatsOnFoundation",n)} (${e} ${j.t("foundationMenu.Heliostats",n)})`;break}case z.WindTurbine:{o=`${j.t("foundationMenu.RemoveAllUnlockedWindTurbines",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllWindTurbinesOnFoundation",n)} (${e} ${j.t("foundationMenu.WindTurbines",n)})`;break}case z.Polygon:{o=`${j.t("foundationMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllPolygonsOnFoundation",n)} (${e} ${j.t("foundationMenu.Polygons",n)})`;break}case z.Human:{o=`${j.t("foundationMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllHumansOnFoundation",n)} (${e} ${j.t("foundationMenu.Humans",n)})`;break}case z.Tree:{o=`${j.t("foundationMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllTreesOnFoundation",n)} (${e} ${j.t("foundationMenu.Trees",n)})`;break}case z.Flower:{o=`${j.t("foundationMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${j.t("foundationMenu.DoYouReallyWantToRemoveAllFlowersOnFoundation",n)} (${e} ${j.t("foundationMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},Qso=(t,e,n)=>n===z.Light?t.insideLightCount+t.outsideLightCount:t[e],Zso=t=>{const e=M.getState().set,n=new Set;M.getState().elements.forEach(a=>{!a.locked&&a.type===z.Wall&&(a.parentId===t.id||a.foundationId===t.id)&&n.add(a.id)});const o=M.getState().elements.filter(a=>n.has(a.id)||n.has(a.parentId));e(a=>{a.elements=a.elements.filter(l=>!n.has(l.id)&&!n.has(l.parentId))});const i=JSON.parse(JSON.stringify(o)),r={name:"Remove All Walls on Foundation",timestamp:Date.now(),parentId:t.id,removedElements:i,undo:()=>{e(a=>{a.elements.push(...r.removedElements),a.updateWallMapOnFoundationFlag=!a.updateWallMapOnFoundationFlag})},redo:()=>{const a=new Set;M.getState().elements.forEach(l=>{!l.locked&&l.type===z.Wall&&l.parentId===r.parentId&&a.add(l.id)}),e(l=>{l.elements=l.elements.filter(s=>!a.has(s.id)&&!a.has(s.parentId))})}};M.getState().addUndoable(r)},eco=(t,e,n)=>{const o=[],i={lng:M.getState().language};if(e.unlockedCount>0&&o.push({key:"lock-all-offsprings",label:h.jsx(dCe,{foundation:t,lock:!0,count:e.unlockedCount})}),e.lockedCount>0&&o.push({key:"unlock-all-offsprings",label:h.jsx(dCe,{foundation:t,lock:!1,count:e.lockedCount})}),n.wallCount>0){const{itemLabel:r,modalTitle:a}=VRe(z.Wall,n.wallCount);o.push({key:"remove-all-walls-on-foundation",label:h.jsx(nae,{foundation:t,objectType:z.Wall,modalTitle:a,onClickOk:()=>Zso(t),children:r})})}if(n.solarPanelCount>0){const r=j.t("foundationMenu.DoYouReallyWantToRemoveAllSolarPanelsOnFoundation",i)+" ("+n.solarPanelModuleCount+" "+j.t("foundationMenu.SolarPanels",i)+", "+n.solarPanelCount+" "+j.t("foundationMenu.Racks",i)+")?";o.push({key:"remove-all-solar-panels-on-foundation",label:h.jsxs(nae,{foundation:t,objectType:z.SolarPanel,modalTitle:r,children:[j.t("foundationMenu.RemoveAllUnlockedSolarPanels",i),"  (",n.solarPanelModuleCount," ",j.t("foundationMenu.SolarPanels",i),", ",n.solarPanelCount," ",j.t("foundationMenu.Racks",i),")"]})})}return $so.forEach(({key:r,objectType:a})=>{const l=Qso(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=VRe(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-foundation`,label:h.jsx(nae,{foundation:t,objectType:a,modalTitle:c,children:s})})}}),o},tco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.Light||e.type===z.SolarPanel||e.type===z.WaterHeater||e.type===z.ParabolicDish||e.type===z.Heliostat||e.type===z.FresnelReflector||e.type===z.ParabolicTrough||e.type===z.WindTurbine||e.type===z.Wall)return!0}return!1},nco=t=>{const e=[];if(t.type!==z.Foundation)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked,r=!n.notBuilding&&xe.getBuildingCompletionStatus(n,M.getState().elements)===Uc.COMPLETE,a=M.getState().countAllOffspringsByTypeAtOnce(n.id,!0),l=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1);return tco()&&e.push({key:"foundation-paste",label:h.jsx(OH,{})}),e.push({key:"foundation-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"foundation-cut",label:h.jsx(Tf,{})}),e.push({key:"foundation-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"foundation-group-master",label:h.jsx(m$e,{groupableElement:n})}),e.push({key:"building",label:h.jsx(uOn,{foundation:n})}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-foundation",label:h.jsx(tn,{children:j.t("word.Elements",o)}),children:eco(n,a,l)}),i&&((!n.textureType||n.textureType===Or.NoTexture)&&e.push({key:"foundation-color",label:h.jsxs(io,{Dialog:Aso,children:[j.t("word.Color",o)," ..."]})}),e.push({key:"foundation-texture",label:h.jsxs(io,{Dialog:vOn,children:[j.t("word.Texture",o)," ..."]})}),e.push({key:"foundation-length",label:h.jsxs(io,{Dialog:wso,children:[j.t("word.Length",o)," ..."]})}),e.push({key:"foundation-width",label:h.jsxs(io,{Dialog:vso,children:[j.t("word.Width",o)," ..."]})}),e.push({key:"foundation-height",label:h.jsxs(io,{Dialog:xso,children:[j.t("word.Height",o)," ..."]})}),e.push({key:"foundation-azimuth",label:h.jsxs(io,{Dialog:bso,children:[j.t("word.Azimuth",o)," ..."]})}),r&&e.push({key:"ground-floor-r-value",label:h.jsxs(io,{Dialog:Sso,children:[j.t("foundationMenu.GroundFloorRValue",o)," ..."]})})),e.push({key:"add-polygon-on-foundation",label:h.jsx(dOn,{foundation:n})}),!n.notBuilding&&a.wallCount>0&&e.push({key:"building-hvac-system",label:h.jsx(tn,{children:j.t("word.BuildingHVACSystem",o)}),children:[{key:"hvac-system-id",label:h.jsx(fOn,{foundation:n})},{key:"thermostat-temperature",label:h.jsx(hOn,{foundation:n})},{key:"tolerance-threshold",label:h.jsx(pOn,{foundation:n})}]}),i&&(e.push({key:"select-solar-structure",label:h.jsx(tn,{children:j.t("foundationMenu.SolarStructure",o)}),children:[{key:"select-solar-structure-submenu",label:h.jsx(gOn,{foundation:n}),style:{backgroundColor:"white"}}]}),n.solarStructure===zn.FocusPipe&&e.push({key:"solar-absorber-pipe-physical-properties",label:h.jsx(tn,{children:j.t("solarAbsorberPipeMenu.AbsorberPipePhysicalProperties",o)}),children:[{key:"solar-absorber-pipe-height",label:h.jsxs(io,{noPadding:!0,Dialog:Tso,children:[j.t("solarAbsorberPipeMenu.AbsorberHeight",o)," ..."]})},{key:"solar-absorber-pipe-aperture-width",label:h.jsxs(io,{noPadding:!0,Dialog:Pso,children:[j.t("solarAbsorberPipeMenu.AbsorberApertureWidth",o)," ..."]})},{key:"foundation-solar-receiver-pipe-pole-number",label:h.jsxs(io,{noPadding:!0,Dialog:Cso,children:[j.t("solarAbsorberPipeMenu.AbsorberPipePoleNumber",o)," ..."]})},{key:"solar-absorber-pipe-absorptance",label:h.jsxs(io,{noPadding:!0,Dialog:Rso,children:[j.t("solarAbsorberPipeMenu.AbsorberAbsorptance",o)," ..."]})},{key:"solar-absorber-optical-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Hso,children:[j.t("solarAbsorberPipeMenu.AbsorberOpticalEfficiency",o)," ..."]})},{key:"solar-absorber-thermal-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Mso,children:[j.t("solarAbsorberPipeMenu.AbsorberThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.FocusTower&&e.push({key:"solar-power-tower-physical-properties",label:h.jsx(tn,{children:j.t("solarPowerTowerMenu.ReceiverTowerPhysicalProperties",o)}),children:[{key:"solar-power-tower-height",label:h.jsxs(io,{noPadding:!0,Dialog:Iso,children:[j.t("solarPowerTowerMenu.ReceiverTowerHeight",o)," ..."]})},{key:"solar-power-tower-radius",label:h.jsxs(io,{noPadding:!0,Dialog:zso,children:[j.t("solarPowerTowerMenu.ReceiverTowerRadius",o)," ..."]})},{key:"solar-power-tower-receiver-absorptance",label:h.jsxs(io,{noPadding:!0,Dialog:Dso,children:[j.t("solarPowerTowerMenu.ReceiverAbsorptance",o)," ..."]})},{key:"solar-power-tower-receiver-optical-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:kso,children:[j.t("solarPowerTowerMenu.ReceiverOpticalEfficiency",o)," ..."]})},{key:"solar-power-tower-receiver-thermal-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Eso,children:[j.t("solarPowerTowerMenu.ReceiverThermalEfficiency",o)," ..."]})}]}),n.solarStructure===zn.UpdraftTower&&e.push({key:"solar-updraft-tower-physical-properties",label:h.jsx(tn,{children:j.t("solarUpdraftTowerMenu.SolarUpdraftTowerPhysicalProperties",o)}),children:[{key:"solar-updraft-tower-chimney-height",label:h.jsxs(io,{noPadding:!0,Dialog:Fso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyHeight",o)," ..."]})},{key:"solar-updraft-tower-chimney-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Lso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerChimneyRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-height",label:h.jsxs(io,{noPadding:!0,Dialog:Wso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorHeight",o)," ..."]})},{key:"solar-updraft-tower-collector-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Nso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorRadius",o)," ..."]})},{key:"solar-updraft-tower-collector-transmissivity",label:h.jsxs(io,{noPadding:!0,Dialog:Uso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorTransmissivity",o)," ..."]})},{key:"solar-updraft-tower-collector-emissivity",label:h.jsxs(io,{noPadding:!0,Dialog:Bso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerCollectorEmissivity",o)," ..."]})},{key:"solar-updraft-tower-discharge-coefficient",label:h.jsxs(io,{noPadding:!0,Dialog:jso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerDischargeCoefficient",o)," ..."]})},{key:"solar-updraft-tower-turbine-efficiency",label:h.jsxs(io,{noPadding:!0,Dialog:Yso,children:[j.t("solarUpdraftTowerMenu.SolarUpdraftTowerTurbineEfficiency",o)," ..."]})}]})),e.push({key:"optimization",label:h.jsx(tn,{children:j.t("optimizationMenu.Optimization",o)}),children:[{key:"genetic-algorithms",label:h.jsx(tn,{noPadding:!0,children:j.t("optimizationMenu.GeneticAlgorithm",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-ga-optimizer",label:h.jsxs(io,{noPadding:!0,Dialog:Oso,children:[j.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]},{key:"particle-swarm-optimization",label:h.jsx(tn,{noPadding:!0,children:j.t("optimizationMenu.ParticleSwarmOptimization",o)}),disabled:l.solarPanelCount===0,children:[{key:"solar-panel-tilt-angle-pso-optimizer",label:h.jsxs(io,{noPadding:!0,Dialog:_so,children:[j.t("optimizationMenu.SolarPanelTiltAngleOptimization",o),"..."]})}]}]}),i&&e.push({key:"foundation-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},oco=be.memo(({cuboid:t})=>{const e=Kt(),n=()=>{M.getState().set(o=>{for(const i of o.elements)if(i.id===t.id&&i.type===z.Cuboid){const r=i,a=!r.stackable;r.stackable=a,o.actionState.cuboidStackable=a;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.stackable,onChange:n,children:j.t("cuboidMenu.Stackable",e)})})}),ico=be.memo(({cuboid:t,selectedSideIndex:e})=>{const n=Kt(),o=M.getState().set,i=()=>{o(c=>{c.objectTypeToAdd=z.Polygon});const{pos:r}=xe.getWorldDataById(t.id);let a;switch(e){case 0:a=Np;break;case 1:a=Up;break;case 2:a=Yc;break;case 3:a=Bp;break;default:a=Po,r.z=t.lz}const l=M.getState().addElement(t,r,a),s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{o(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s),o(c=>{c.objectTypeToAdd=z.None})};return h.jsx(tn,{onClick:i,children:j.t("cuboidMenu.AddPolygon",n)})}),GRe=be.memo(({cuboid:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Cuboid`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{noPadding:!0,onClick:l,children:i})}),rco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(qBe),l=M(ao),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState((c==null?void 0:c.color)??"#808080"),[f,p]=m.useState(!1),g=Kt();m.useEffect(()=>{P()},[c,a]);const A=(R,H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.Cuboid&&W.id===H&&!W.locked){const N=W;N.faceColors||(N.faceColors=new Array(6),N.faceColors.fill(N.color??D)),N.faceColors[R]=D;break}})},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.Cuboid&&k.id===R&&!k.locked){k.color=H;const W=k;W.faceColors||(W.faceColors=new Array(6));for(let N=0;N<4;N++)W.faceColors[N]=H;break}})},b=R=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&!D.locked){D.color=R;const k=D;k.faceColors||(k.faceColors=new Array(6));for(let W=0;W<4;W++)k.faceColors[W]=R}})},C=R=>{r(R.target.value),p(!f)},P=()=>{c&&(a>=0&&c.faceColors?d(c.faceColors[a]):d(c.color??"#808080"))},v=R=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)){const D=H;if(D.faceColors){for(let k=0;k<4;k++)if(R!==D.faceColors[k])return!0}else if(R!==D.color)return!0}break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Cuboid&&!H.locked){const D=H;if(D.faceColors){for(let k=0;k<4;k++)if(R!==D.faceColors[k])return!0}else if(R!==D.color)return!0}break;case ue.OnlyThisObject:if(c.faceColors){for(let H=0;H<4;H++)if(R!==c.faceColors[H])return!0}else if(R!==(c==null?void 0:c.color))return!0;break;default:if(a>=0){const H=c!=null&&c.faceColors?c==null?void 0:c.faceColors[a]:c==null?void 0:c.color;if(R!==H)return!0}else if(R!==(c==null?void 0:c.color))return!0}return!1}},T=R=>{if(c&&v(R)){switch(i){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)if(k.type===z.Cuboid&&M.getState().selectedElementIdSet.has(k.id)){const W=k;if(W.faceColors)H.set(k.id,[...W.faceColors]);else{const N=W.color??"#808080";H.set(k.id,[N,N,N,N,N,N])}}const D={name:"Set Color for Selected Cuboids",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())if(W&&Array.isArray(W))for(let N=0;N{for(const[k,W]of D.oldValues.entries())if(W&&Array.isArray(W))for(let N=0;N{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let W=0;W<4;W++)k.actionState.cuboidFaceColors[W]=R});break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)if(k.type===z.Cuboid){const W=k;if(W.faceColors)H.set(k.id,[...W.faceColors]);else{const N=W.color??"#808080";H.set(k.id,[N,N,N,N,N,N])}}const D={name:"Set Color for All Cuboids",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())if(W&&Array.isArray(W))for(let N=0;N{b(D.newValue)}};o(D),b(R),s(l+1),e(k=>{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let W=0;W<4;W++)k.actionState.cuboidFaceColors[W]=R});break}case ue.OnlyThisObject:{let H;if(c.faceColors)H=[...c.faceColors];else{const k=c.color??"#808080";H=[k,k,k,k,k,k]}const D={name:"Set Color for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(D.oldValue&&Array.isArray(D.oldValue))for(let k=0;k{w(D.changedElementId,D.newValue)}};o(D),w(c.id,R),s(l+1),e(k=>{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]);for(let W=0;W<4;W++)k.actionState.cuboidFaceColors[W]=R});break}default:{if(a>=0){const H=c.faceColors?c.faceColors[a]:c.color,D={name:"Set Color for Selected Side of Cuboid",timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{D.changedSideIndex!==void 0&&A(D.changedSideIndex,D.changedElementId,D.oldValue)},redo:()=>{D.changedSideIndex!==void 0&&A(D.changedSideIndex,D.changedElementId,D.newValue)}};o(D),A(a,c.id,R),s(l+1),e(k=>{k.actionState.cuboidFaceColors||(k.actionState.cuboidFaceColors=["#808080","#808080","#808080","#808080","#808080","#808080"]),k.actionState.cuboidFaceColors[a]=R})}break}}p(!f)}},y=()=>{P(),t(!1)},S=()=>{T(u),t(!1),s(0)},x=a>=0&&(c!=null&&c.faceColors)?c.faceColors[a]:(c==null?void 0:c.color)??"#808080";return h.jsx(lo,{width:600,title:j.t("word.Color",g),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:u??x,onChangeComplete:R=>{d(R.hex),p(!f)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("cuboidMenu.OnlyThisSide",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.AllSidesOfThisCuboid",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfSelectedCuboids",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfAllCuboids",g)})]})})})]})})},aco="/aladdin/assets/building_facade_01_menu-BAm4EVGn.png",lco="/aladdin/assets/building_facade_02_menu-BylQ9E0j.png",sco="/aladdin/assets/building_facade_03_menu-DfU_cdlP.png",cco="/aladdin/assets/building_facade_04_menu-Bz2bcbq0.png",uco="/aladdin/assets/building_facade_05_menu-hF6OsAF0.png",dco="/aladdin/assets/building_facade_06_menu-CUmtyI19.png",fco="/aladdin/assets/building_facade_07_menu-B8_DYqYz.png",hco="/aladdin/assets/building_facade_08_menu-CTA_rxim.png",pco="/aladdin/assets/building_facade_09_menu-BpQDoLbY.png",gco="/aladdin/assets/building_facade_10_menu-z_jZrQMT.png",mco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(SH),r=M(TH),a=M(qBe),l=M(ao),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState(c&&c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture),f=Kt(),{Option:p}=Yo;m.useEffect(()=>{c&&d(c.textureTypes&&a>=0?c.textureTypes[a]:Co.NoTexture)},[c,a]);const g=(S,x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.Cuboid&&D.id===x&&!D.locked){const k=D;k.textureTypes||(k.textureTypes=new Array(6),k.textureTypes.fill(Co.NoTexture)),k.textureTypes[S]=R;break}})},A=(S,x)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&H.id===S&&!H.locked){const D=H;D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture));for(let k=0;k<4;k++)D.textureTypes[k]=x;break}})},w=(S,x)=>{e(R=>{for(const H of R.elements)if(H.type===z.Cuboid&&!H.locked&&S.has(H.id)){const D=H;if(D.textureTypes||(D.textureTypes=new Array(6),D.textureTypes.fill(Co.NoTexture)),x!==void 0)for(let k=0;k<4;k++)D.textureTypes[k]=x;else{const k=S.get(H.id);if(k&&k.length>=4)for(let W=0;W<4;W++)D.textureTypes[W]=k[W]}}})},b=S=>{e(x=>{for(const R of x.elements)if(R.type===z.Cuboid&&!R.locked){const H=R;H.textureTypes||(H.textureTypes=new Array(6),H.textureTypes.fill(Co.NoTexture));for(let D=0;D<4;D++)H.textureTypes[D]=S}})},C=S=>{r(S.target.value)},P=S=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.Cuboid&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;if(R.textureTypes){for(let H=0;H<4;H++)if(S!==R.textureTypes[H])return!0}}break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.Cuboid&&!x.locked){const R=x;if(R.textureTypes){for(let H=0;H<4;H++)if(S!==R.textureTypes[H])return!0}}break;case ue.OnlyThisObject:if(c.textureTypes){for(let x=0;x<4;x++)if(S!==c.textureTypes[x])return!0}break;default:if(a>=0&&c.textureTypes&&S!==c.textureTypes[a])return!0}return!1}},v=S=>{if(c&&P(S))switch(i){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)if(H.type===z.Cuboid&&M.getState().selectedElementIdSet.has(H.id)){const D=H;x.set(H.id,D.textureTypes?[...D.textureTypes]:void 0)}const R={name:"Set Texture for Selected Cuboids",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())if(D&&Array.isArray(D))for(let k=0;k{w(R.oldValues,R.newValue)}};o(R),w(x,S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=S});break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)if(H.type===z.Cuboid){const D=H;x.set(H.id,D.textureTypes?[...D.textureTypes]:void 0)}const R={name:"Set Texture for All Cuboids",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())if(D&&Array.isArray(D))for(let k=0;k{b(R.newValue)}};o(R),b(S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=S});break}case ue.OnlyThisObject:{const x=c.textureTypes?[...c.textureTypes]:void 0,R={name:"Set Texture for All Sides of Selected Cuboid",timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{if(R.oldValue&&Array.isArray(R.oldValue))for(let H=0;H{A(R.changedElementId,R.newValue)}};o(R),A(c.id,S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]);for(let D=0;D<4;D++)H.actionState.cuboidFaceTextures[D]=S});break}default:{if(a>=0){const x=c.textureTypes?c.textureTypes[a]:Co.NoTexture,R={name:"Set Texture for Selected Side of Cuboid",timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:c.id,changedElementType:c.type,changedSideIndex:a,undo:()=>{R.changedSideIndex!==void 0&&g(R.changedSideIndex,R.changedElementId,R.oldValue)},redo:()=>{R.changedSideIndex!==void 0&&g(R.changedSideIndex,R.changedElementId,R.newValue)}};o(R),g(a,c.id,S),s(l+1),e(H=>{H.actionState.cuboidFaceTextures||(H.actionState.cuboidFaceTextures=[Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture,Co.NoTexture]),H.actionState.cuboidFaceTextures[a]=S})}break}}},T=()=>{c!=null&&c.textureTypes&&a>=0&&d(c.textureTypes[a]),t(!1)},y=()=>{v(u)};return h.jsx(lo,{width:600,title:j.t("word.Texture",f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(p,{value:Co.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",f)]},Co.NoTexture),h.jsxs(p,{value:Co.Facade01,children:[h.jsx("img",{alt:Co.Facade01,src:aco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture01",f)]},Co.Facade01),h.jsxs(p,{value:Co.Facade02,children:[h.jsx("img",{alt:Co.Facade02,src:lco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture02",f)]},Co.Facade02),h.jsxs(p,{value:Co.Facade03,children:[h.jsx("img",{alt:Co.Facade03,src:sco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture03",f)]},Co.Facade03),h.jsxs(p,{value:Co.Facade04,children:[h.jsx("img",{alt:Co.Facade04,src:cco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture04",f)]},Co.Facade04),h.jsxs(p,{value:Co.Facade05,children:[h.jsx("img",{alt:Co.Facade05,src:uco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture05",f)]},Co.Facade05),h.jsxs(p,{value:Co.Facade06,children:[h.jsx("img",{alt:Co.Facade06,src:dco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture06",f)]},Co.Facade06),h.jsxs(p,{value:Co.Facade07,children:[h.jsx("img",{alt:Co.Facade07,src:fco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture07",f)]},Co.Facade07),h.jsxs(p,{value:Co.Facade08,children:[h.jsx("img",{alt:Co.Facade08,src:hco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture08",f)]},Co.Facade08),h.jsxs(p,{value:Co.Facade09,children:[h.jsx("img",{alt:Co.Facade09,src:pco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture09",f)]},Co.Facade09),h.jsxs(p,{value:Co.Facade10,children:[h.jsx("img",{alt:Co.Facade10,src:gco,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("cuboidMenu.Texture10",f)]},Co.Facade10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:C,value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("cuboidMenu.OnlyThisSide",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.AllSidesOfThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllSidesOfAllCuboids",f)})]})})})]})})},yco=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(vH),i=M($Be),r=M(t3),a=M(H7),l=M(e3),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ao),p=M(oo),g=M(ca),A=co(z.Cuboid),[w,b]=m.useState((A==null?void 0:A.lx)??0),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=ne=>{u(ne.target.value)},N=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid&&M.getState().selectedElementIdSet.has(se.id)){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,ne,le.ly))return!1}break}case ue.AllObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,ne,le.ly))return!1}break}default:{const se=o(A.id);if(se.length>0)return xe.doesNewSizeContainAllChildren(A,se,ne,A.ly);break}}return!0}},L=ne=>!N(ne),E=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:for(const se of e)if(se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&Math.abs(se.lx-ne)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const se of e)if(se.type===z.Cuboid&&!se.locked&&Math.abs(se.lx-ne)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const se of e)if(se.type===z.Cuboid&&se.parentId===(A==null?void 0:A.parentId)&&!se.locked&&Math.abs(se.lx-ne)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((A==null?void 0:A.lx)-ne)>Dt)return!0}return!1}},U=(ne,se)=>{if(ne==null)return null;for(const le of ne.children)if(le.name.includes(`${se}`))return le;return null},F=(ne,se,le)=>{var te,he;if(ne){for(const pe of ne.children)if(pe.name.includes(`${le.id}`)){(he=(te=Ln.getState().contentRef)==null?void 0:te.current)==null||he.add(pe);break}d(pe=>{for(const fe of pe.elements)if(fe.id===le.id){fe.parentId=Zo;const $=new Gt(fe.cx,fe.cy).rotateAround(wr,se.rotation[2]).add(new Gt(se.cx,se.cy));fe.cx=$.x,fe.cy=$.y,fe.cz=0,T.current.set(fe.id,new re($.x,$.y,0)),P.current.set(fe.id,Zo);break}})}},B=ne=>{for(const se of e)se.type===z.Cuboid&&!se.locked&&se.parentId===(A==null?void 0:A.parentId)&&_(se,ne)},_=(ne,se)=>{const le=o(ne.id),te=ne.rotation[2];if(y.current.clear(),R.current.clear(),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=new Gt(he.cx*ne.lx,he.cy*ne.ly).rotateAround(wr,te);y.current.set(he.id,pe),v.current.set(he.id,new re(he.cx,he.cy));break}case z.Polygon:{const pe=he,fe=[];for(const $ of pe.vertices)fe.push(new Gt($.x*ne.lx,$.y*ne.ly).rotateAround(wr,te));R.current.set(he.id,fe),S.current.set(he.id,pe.vertices.map($=>({...$})));break}}xe.isPlantOrHuman(he)&&v.current.set(he.id,new re(he.cx,he.cy,he.cz))}if(r(ne.id,se),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=y.current.get(he.id);if(pe){const $=new Gt(pe.x,pe.y).rotateAround(wr,-te).x/se;i(he.id,$),T.current.set(he.id,new re($,he.cy))}break}case z.Polygon:{const pe=R.current.get(he.id);if(pe){const fe=[];for(const $ of pe){const de=$.rotateAround(wr,-te),Se=de.x/se,Ce=de.y/ne.ly;fe.push({x:Se,y:Ce})}a(he.id,fe),x.current.set(he.id,fe.map($=>({...$})))}break}}if(xe.isPlantOrHuman(he)){if(T.current.set(he.id,new re(he.cx,he.cy,he.cz)),C.current.set(he.id,ne.id),Math.abs(he.cz-ne.lz/2)0){const pe=Ln.getState().contentRef,fe=U(pe==null?void 0:pe.current,ne.id);F(fe,ne,he)}}else if(Math.abs(Math.abs(he.cx)-ne.lx/2)0?se:-se)/2;i(he.id,pe),T.current.set(he.id,new re(pe,he.cy,he.cz))}}}},Y=(ne,se,le)=>{if(!ne||!se)return;const te=Ln.getState().contentRef,he=U(te==null?void 0:te.current,se),pe=U(se===Zo?te==null?void 0:te.current:he,le);if(pe&&(te!=null&&te.current)){if(ne===Zo)te.current.add(pe);else{const fe=U(te.current,ne);fe==null||fe.add(pe)}Zh()}},O=(ne,se)=>{ne&&d(le=>{for(const te of le.elements)if(te.id===se){te.parentId=ne;break}})},J=ne=>{if(!A||!E(ne))return;const se=n(A.id),le=se?se.lx:A.lx;if(D.current=void 0,H.current=L(ne),H.current)D.current=ne,b(le);else switch(c){case ue.AllSelectedObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&(te.set(pe.id,pe.lx),_(pe,ne));const he={name:"Set Length for Selected Cuboids",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())a($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())a($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&pe.parentId===A.parentId&&!pe.locked&&(te.set(pe.id,pe.lx),_(pe,ne));const he={name:"Set Length for All Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())a($,de)},redo:()=>{var pe,fe;if(B(he.newSize),he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())a($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&(te.set(pe.id,pe.lx),_(pe,ne));const he={name:"Set Length for All Cuboids",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())a($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())r($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){l($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())a($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:{_(A,ne);const te={name:"Set Cuboid Length",timestamp:Date.now(),oldSize:le,newSize:ne,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;if(r(A.id,te.oldSize),te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){l(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(de,Se,fe),O(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())a(fe,$)},redo:()=>{var he,pe;if(r(A.id,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){l(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(Se,de,fe),O(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())a(fe,$)}};s(te),p(f+1);break}}},Z=()=>{t(!1)},ie=()=>{Z(),g()},ee=()=>{J(w),H.current||(t(!1),p(0))},q=()=>{J(w)},ae=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Length",k),rejectedMessage:ae,onApply:q,onClose:Z,onClickCancel:ie,onClickOk:ee,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:w,onChange:ne=>{ne!==null&&b(ne)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 500] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",k)})]})})})]})})},Aco=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(vH),i=M(e3),r=M(QBe),a=M(R7),l=M(H7),s=M(En),c=M(SH),u=M(TH),d=M(dn),f=M(ao),p=M(oo),g=M(ca),A=co(z.Cuboid),[w,b]=m.useState((A==null?void 0:A.ly)??0),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new Map),H=m.useRef(!1),D=m.useRef(),k=Kt(),W=ne=>{u(ne.target.value)},N=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid&&M.getState().selectedElementIdSet.has(se.id)){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,le.lx,ne))return!1}break}case ue.AllObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid){const le=se,te=o(le.id);if(te.length>0&&!xe.doesNewSizeContainAllChildren(le,te,le.lx,ne))return!1}break}default:{const se=o(A.id);if(se.length>0)return xe.doesNewSizeContainAllChildren(A,se,A.lx,ne);break}}return!0}},L=ne=>!N(ne),E=ne=>{if(A){switch(c){case ue.AllSelectedObjectsOfThisType:for(const se of e)if(se.type===z.Cuboid&&!se.locked&&M.getState().selectedElementIdSet.has(se.id)&&Math.abs(se.ly-ne)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const se of e)if(se.type===z.Cuboid&&se.parentId===(A==null?void 0:A.parentId)&&!se.locked&&Math.abs(se.ly-ne)>Dt)return!0;break;case ue.AllObjectsOfThisType:{for(const se of e)if(se.type===z.Cuboid&&!se.locked&&Math.abs(se.ly-ne)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((A==null?void 0:A.ly)-ne)>Dt)return!0}return!1}},U=(ne,se)=>{if(ne==null)return null;for(const le of ne.children)if(le.name.includes(`${se}`))return le;return null},F=(ne,se,le)=>{var te,he;if(ne){for(const pe of ne.children)if(pe.name.includes(`${le.id}`)){(he=(te=Ln.getState().contentRef)==null?void 0:te.current)==null||he.add(pe);break}d(pe=>{for(const fe of pe.elements)if(fe.id===le.id){fe.parentId=Zo;const $=new Gt(fe.cx,fe.cy).rotateAround(wr,se.rotation[2]).add(new Gt(se.cx,se.cy));fe.cx=$.x,fe.cy=$.y,fe.cz=0,T.current.set(fe.id,new re($.x,$.y,0)),P.current.set(fe.id,Zo);break}})}},B=ne=>{for(const se of e)se.type===z.Cuboid&&!se.locked&&se.parentId===(A==null?void 0:A.parentId)&&_(se,ne)},_=(ne,se)=>{const le=o(ne.id),te=ne.rotation[2];if(y.current.clear(),R.current.clear(),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=new Gt(he.cx*ne.lx,he.cy*ne.ly).rotateAround(wr,te);y.current.set(he.id,pe),v.current.set(he.id,new re(he.cx,he.cy));break}case z.Polygon:{const pe=he,fe=[];for(const $ of pe.vertices)fe.push(new Gt($.x*ne.lx,$.y*ne.ly).rotateAround(wr,te));R.current.set(he.id,fe),S.current.set(he.id,pe.vertices.map($=>({...$})));break}}xe.isPlantOrHuman(he)&&v.current.set(he.id,new re(he.cx,he.cy,he.cz))}if(a(ne.id,se),le.length>0)for(const he of le){if(xe.isIdentical(he.normal,o0))switch(he.type){case z.SolarPanel:case z.Sensor:{const pe=y.current.get(he.id);if(pe){const $=new Gt(pe.x,pe.y).rotateAround(wr,-te).y/se;r(he.id,$),T.current.set(he.id,new re(he.cx,$))}break}case z.Polygon:{const pe=R.current.get(he.id);if(pe){const fe=[];for(const $ of pe){const de=$.rotateAround(wr,-te),Se=de.x/ne.lx,Ce=de.y/se;fe.push({x:Se,y:Ce})}l(he.id,fe),x.current.set(he.id,fe.map($=>({...$})))}break}}if(xe.isPlantOrHuman(he)){if(T.current.set(he.id,new re(he.cx,he.cy,he.cz)),C.current.set(he.id,ne.id),Math.abs(he.cz-ne.lz/2)0){const pe=Ln.getState().contentRef,fe=U(pe==null?void 0:pe.current,ne.id);F(fe,ne,he)}}else if(Math.abs(Math.abs(he.cy)-ne.ly/2)0?se:-se)/2;r(he.id,pe),T.current.set(he.id,new re(he.cz,pe,he.cz))}}}},Y=(ne,se,le)=>{if(!ne||!se)return;const te=Ln.getState().contentRef,he=U(te==null?void 0:te.current,se),pe=U(se===Zo?te==null?void 0:te.current:he,le);if(pe&&(te!=null&&te.current)){if(ne===Zo)te.current.add(pe);else{const fe=U(te.current,ne);fe==null||fe.add(pe)}Zh()}},O=(ne,se)=>{ne&&d(le=>{for(const te of le.elements)if(te.id===se){te.parentId=ne;break}})},J=ne=>{if(!A||!E(ne))return;const se=n(A.id),le=se?se.ly:A.ly;if(D.current=void 0,H.current=L(ne),H.current)D.current=ne,b(le);else switch(v.current.clear(),T.current.clear(),S.current.clear(),x.current.clear(),c){case ue.AllSelectedObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&M.getState().selectedElementIdSet.has(pe.id)&&(te.set(pe.id,pe.ly),_(pe,ne));const he={name:"Set Width for Selected Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())l($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())l($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&pe.parentId===A.parentId&&!pe.locked&&(te.set(pe.id,pe.ly),_(pe,ne));const he={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())l($,de)},redo:()=>{var pe,fe;if(B(he.newSize),he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())l($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisType:{const te=new Map;for(const pe of e)pe.type===z.Cuboid&&!pe.locked&&(te.set(pe.id,pe.ly),_(pe,ne));const he={name:"Set Width for All Cuboids on Surface",timestamp:Date.now(),oldSizes:te,newSize:ne,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,de);if(he.oldChildrenPositionsMap&&he.oldChildrenPositionsMap.size>0)for(const[$,de]of he.oldChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Se,Ce,$),O(Se,$))}if(he.oldChildrenVerticesMap&&he.oldChildrenVerticesMap.size>0)for(const[$,de]of he.oldChildrenVerticesMap.entries())l($,de)},redo:()=>{var pe,fe;for(const[$,de]of he.oldSizes.entries())a($,he.newSize);if(he.newChildrenPositionsMap&&he.newChildrenPositionsMap.size>0)for(const[$,de]of he.newChildrenPositionsMap.entries()){i($,de.x,de.y,de.z);const Se=(pe=he.oldChildrenParentIdMap)==null?void 0:pe.get($),Ce=(fe=he.newChildrenParentIdMap)==null?void 0:fe.get($);Se&&Ce&&Se!==Ce&&(Y(Ce,Se,$),O(Ce,$))}if(he.newChildrenVerticesMap&&he.newChildrenVerticesMap.size>0)for(const[$,de]of he.newChildrenVerticesMap.entries())l($,de)}};s(he),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:{_(A,ne);const te={name:"Set Cuboid Width",timestamp:Date.now(),oldSize:le,newSize:ne,resizedElementId:A.id,resizedElementType:A.type,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenVerticesMap:new Map(S.current),newChildrenVerticesMap:new Map(x.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var he,pe;if(a(A.id,te.oldSize),te.oldChildrenPositionsMap&&te.oldChildrenPositionsMap.size>0)for(const[fe,$]of te.oldChildrenPositionsMap.entries()){i(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(de,Se,fe),O(de,fe))}if(te.oldChildrenVerticesMap&&te.oldChildrenVerticesMap.size>0)for(const[fe,$]of te.oldChildrenVerticesMap.entries())l(fe,$)},redo:()=>{var he,pe;if(a(A.id,te.newSize),te.newChildrenPositionsMap&&te.newChildrenPositionsMap.size>0)for(const[fe,$]of te.newChildrenPositionsMap.entries()){i(fe,$.x,$.y,$.z);const de=(he=te.oldChildrenParentIdMap)==null?void 0:he.get(fe),Se=(pe=te.newChildrenParentIdMap)==null?void 0:pe.get(fe);de&&Se&&de!==Se&&(Y(Se,de,fe),O(Se,fe))}if(te.newChildrenVerticesMap&&te.newChildrenVerticesMap.size>0)for(const[fe,$]of te.newChildrenVerticesMap.entries())l(fe,$)}};s(te),p(f+1);break}}},Z=()=>{t(!1)},ie=()=>{Z(),g()},ee=()=>{J(w),H.current||(t(!1),p(0))},q=()=>{J(w)},ae=H.current?": "+j.t("message.NotApplicableToSelectedAction",k)+(D.current!==void 0?" ("+D.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Width",k),rejectedMessage:ae,onApply:q,onClose:Z,onClickCancel:ie,onClickOk:ee,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:500,style:{width:120},step:.5,precision:2,value:w,onChange:ne=>{ne!==null&&b(ne)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",k),": [0.1, 500] ",j.t("word.MeterAbbreviation",k)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",k)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:W,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",k)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",k)})]})})})]})})},wco=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(Vn),r=M(rge),a=M(mwt),l=M(Awt),s=M(ywt),c=M(En),u=M(SH),d=M(TH),f=M(e3),p=M(ao),g=M(oo),A=co(z.Cuboid),[w,b]=m.useState((A==null?void 0:A.lz)??0),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=Kt(),S=Y=>{d(Y.target.value)},x=(Y,O)=>{r(Y,O),a(Y,O/2)},R=Y=>{if(!A)return;const O=o(A);if(O)for(const J of n)J.type===z.Cuboid&&!J.locked&&J.parentId===O.id&&(r(J.id,Y),a(J.id,Y/2))},H=Y=>{if(!A)return;const O=xe.getBaseId(A.id);if(O)for(const J of n)J.type===z.Cuboid&&!J.locked&&xe.getBaseId(J.id)===O&&(r(J.id,Y),a(J.id,Y/2))},D=Y=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const O of n)if(O.type===z.Cuboid&&!O.locked&&M.getState().selectedElementIdSet.has(O.id)&&Math.abs(O.lz-Y)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const O of n)if(O.type===z.Cuboid&&!O.locked&&Math.abs(O.lz-Y)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{const O=xe.getBaseId(A==null?void 0:A.id);if(O&&O!==Zo){for(const J of n)if(J.type===z.Cuboid&&J.parentId&&J.parentId!==Zo&&!J.locked){const Z=J;if(O===xe.getBaseId(Z.id)&&Math.abs(Z.lz-Y)>Dt)return!0}}break}case ue.AllObjectsOfThisTypeOnSurface:{for(const O of n)if(O.type===z.Cuboid&&O.parentId!==Zo&&O.parentId===(A==null?void 0:A.parentId)&&!O.locked&&Math.abs(O.lz-Y)>Dt)return!0;break}default:{if(Math.abs((A==null?void 0:A.lz)-Y)>Dt)return!0;break}}return!1}},k=(Y,O)=>{if(Y==null)return null;for(const J of Y.children)if(J.name.includes(`${O}`))return J;return null},W=(Y,O,J)=>{var Z,ie;if(Y){for(const q of Y.children)if(q.name.includes(`${J.id}`)){(ie=(Z=Ln.getState().contentRef)==null?void 0:Z.current)==null||ie.add(q);break}J.parentId=Zo;const ee=new Gt(J.cx,J.cy).rotateAround(wr,-O.rotation[2]).add(new Gt(O.cx,O.cy));J.cx=ee.x,J.cy=ee.y,J.cz=0,T.current.set(J.id,new re(ee.x,ee.y,0)),P.current.set(J.id,Zo)}},N=(Y,O)=>{e(J=>{for(const Z of J.elements)if(Z.parentId===Y.id&&(C.current.set(Z.id,Y.id),v.current.set(Z.id,new re(Z.cx,Z.cy,Z.cz)),xe.isPlantOrHuman(Z)))if(Math.abs(Z.cz-Y.lz/2)O/2){const ee=Ln.getState().contentRef,q=k(ee==null?void 0:ee.current,Y.id);W(q,Y,Z)}else Z.cz=ie,T.current.set(Z.id,new re(Z.cx,Z.cy,ie))}})},L=(Y,O,J)=>{if(!Y||!O)return;const Z=Ln.getState().contentRef,ie=k(Z==null?void 0:Z.current,O),ee=k(O===Zo?Z==null?void 0:Z.current:ie,J);if(ee&&(Z!=null&&Z.current)){if(Y===Zo)Z.current.add(ee);else{const q=k(Z.current,Y);q==null||q.add(ee)}Zh()}},E=(Y,O)=>{Y&&e(J=>{for(const Z of J.elements)if(Z.id===O){Z.parentId=Y;break}})},U=(Y,O)=>{M.getState().set(J=>{for(const Z of J.elements)if(Y.has(Z.id))if(O!==void 0)Z.lz=O,Z.cz=O/2;else{const ie=Y.get(Z.id);ie!==void 0&&(Z.lz=ie,Z.cz=ie/2)}})},F=Y=>{if(A&&D(Y)){switch(u){case ue.AllSelectedObjectsOfThisType:{const O=new Map;for(const Z of n)Z.type===z.Cuboid&&M.getState().selectedElementIdSet.has(Z.id)&&(O.set(Z.id,Z.lz),N(Z,Y));const J={name:"Set Height for Selected Cuboids",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var Z,ie;if(U(J.oldValues),J.oldChildrenPositionsMap&&J.oldChildrenPositionsMap.size>0)for(const[ee,q]of J.oldChildrenPositionsMap.entries()){f(ee,q.x,q.y,q.z);const ae=(Z=J.oldChildrenParentIdMap)==null?void 0:Z.get(ee),ne=(ie=J.newChildrenParentIdMap)==null?void 0:ie.get(ee);ae&&ne&&ae!==ne&&(L(ae,ne,ee),E(ae,ee))}},redo:()=>{var ie,ee;const Z=J.newValue;if(U(J.oldValues,Z),J.newChildrenPositionsMap&&J.newChildrenPositionsMap.size>0)for(const[q,ae]of J.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=J.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=J.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(J),U(O,Y),g(p+1);break}case ue.AllObjectsOfThisType:{const O=new Map;for(const Z of n)Z.type===z.Cuboid&&(O.set(Z.id,Z.lz),N(Z,Y));const J={name:"Set Height for All Cuboids",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var Z,ie;for(const[ee,q]of J.oldValues.entries())x(ee,q);if(J.oldChildrenPositionsMap&&J.oldChildrenPositionsMap.size>0)for(const[ee,q]of J.oldChildrenPositionsMap.entries()){f(ee,q.x,q.y,q.z);const ae=(Z=J.oldChildrenParentIdMap)==null?void 0:Z.get(ee),ne=(ie=J.newChildrenParentIdMap)==null?void 0:ie.get(ee);ae&&ne&&ae!==ne&&(L(ae,ne,ee),E(ae,ee))}},redo:()=>{var ie,ee;const Z=J.newValue;if(l(z.Cuboid,Z),s(z.Cuboid,Z/2),J.newChildrenPositionsMap&&J.newChildrenPositionsMap.size>0)for(const[q,ae]of J.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=J.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=J.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(J),l(z.Cuboid,Y),s(z.Cuboid,Y/2),g(p+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{const O=new Map,J=xe.getBaseId(A.id);for(const ie of n)ie.type===z.Cuboid&&xe.getBaseId(ie.id)===J&&(O.set(ie.id,ie.lz),N(ie,Y));const Z={name:"Set Height for All Cuboids Above Same Base",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var ie,ee;for(const[q,ae]of Z.oldValues.entries())x(q,ae);if(Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[q,ae]of Z.oldChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=Z.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=Z.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(ne,se,q),E(ne,q))}},redo:()=>{var ee,q;const ie=Z.newValue;if(H(ie),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[ae,ne]of Z.newChildrenPositionsMap.entries()){f(ae,ne.x,ne.y,ne.z);const se=(ee=Z.oldChildrenParentIdMap)==null?void 0:ee.get(ae),le=(q=Z.newChildrenParentIdMap)==null?void 0:q.get(ae);se&&le&&se!==le&&(L(le,se,ae),E(le,ae))}}};c(Z),H(Y),g(p+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const O=new Map;for(const Z of n)Z.type===z.Cuboid&&Z.parentId===A.parentId&&(O.set(Z.id,Z.lz),N(Z,Y));const J={name:"Set Height for All Cuboids on Same Surface",timestamp:Date.now(),oldValues:O,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),undo:()=>{var Z,ie;for(const[ee,q]of J.oldValues.entries())x(ee,q);if(J.oldChildrenPositionsMap&&J.oldChildrenPositionsMap.size>0)for(const[ee,q]of J.oldChildrenPositionsMap.entries()){f(ee,q.x,q.y,q.z);const ae=(Z=J.oldChildrenParentIdMap)==null?void 0:Z.get(ee),ne=(ie=J.newChildrenParentIdMap)==null?void 0:ie.get(ee);ae&&ne&&ae!==ne&&(L(ae,ne,ee),E(ae,ee))}},redo:()=>{var ie,ee;const Z=J.newValue;if(R(Z),J.newChildrenPositionsMap&&J.newChildrenPositionsMap.size>0)for(const[q,ae]of J.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=J.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=J.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(J),R(Y),g(p+1);break}default:{const O=i(A.id),J=O?O.lz:A.lz;N(A,Y),x(A.id,Y);const Z={name:"Set Cuboid Width",timestamp:Date.now(),oldValue:J,newValue:Y,oldChildrenPositionsMap:new Map(v.current),newChildrenPositionsMap:new Map(T.current),oldChildrenParentIdMap:new Map(C.current),newChildrenParentIdMap:new Map(P.current),changedElementId:A.id,changedElementType:A.type,undo:()=>{var ie,ee;if(x(Z.changedElementId,Z.oldValue),Z.oldChildrenPositionsMap&&Z.oldChildrenPositionsMap.size>0)for(const[q,ae]of Z.oldChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=Z.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=Z.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(ne,se,q),E(ne,q))}},redo:()=>{var ie,ee;if(x(Z.changedElementId,Z.newValue),Z.newChildrenPositionsMap&&Z.newChildrenPositionsMap.size>0)for(const[q,ae]of Z.newChildrenPositionsMap.entries()){f(q,ae.x,ae.y,ae.z);const ne=(ie=Z.oldChildrenParentIdMap)==null?void 0:ie.get(q),se=(ee=Z.newChildrenParentIdMap)==null?void 0:ee.get(q);ne&&se&&ne!==se&&(L(se,ne,q),E(se,q))}}};c(Z),g(p+1);break}}e(O=>{O.actionState.cuboidHeight=Y})}},B=()=>{t(!1)},_=()=>{F(w)};return h.jsx(lo,{width:550,title:j.t("word.Height",y),onApply:_,onClose:B,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:1e3,style:{width:120},step:.5,precision:2,value:w,onChange:Y=>{Y!==null&&b(Y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",y),": [0.1, 1000] ",j.t("word.MeterAbbreviation",y)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",y)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",y)}),(A==null?void 0:A.parentId)!==Zo&&h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("cuboidMenu.AllCuboidsAboveSameBase",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",y)})]})})})]})})},vco=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(age),i=M(En),r=M(SH),a=M(TH),l=M(ao),s=M(oo),c=co(z.Cuboid),[u,d]=m.useState(c?-c.rotation[2]:0),f=Kt(),p=v=>{a(v.target.value)},g=v=>{for(const T of e)T.type===z.Cuboid&&!T.locked&&T.parentId===(c==null?void 0:c.parentId)&&o(T.id,0,0,-v)},A=v=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Cuboid&&!T.locked&&M.getState().selectedElementIdSet.has(T.id)&&Math.abs(-T.rotation[2]-v)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const T of e)if(T.type===z.Cuboid&&T.parentId===(c==null?void 0:c.parentId)&&!T.locked&&Math.abs(-T.rotation[2]-v)>Dt)return!0;break;case ue.AllObjectsOfThisType:{for(const T of e)if(T.type===z.Cuboid&&!T.locked&&Math.abs(-T.rotation[2]-v)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:if(Math.abs((c?-c.rotation[2]:0)-v)>Dt)return!0}return!1},w=(v,T)=>{M.getState().set(y=>{for(const S of y.elements)if(v.has(S.id))if(T!==void 0)S.rotation[2]=T;else{const x=v.get(S.id);x!==void 0&&(S.rotation[2]=-x)}})},b=v=>{if(c&&A(v))switch(r){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Cuboid&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,-S.rotation[2]);const y={name:"Set Azimuth for Selected Cuboids",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{w(y.oldValues)},redo:()=>{w(y.oldValues,-y.newValue)}};i(y),w(T,-v),s(l+1);break}case ue.AllObjectsOfThisTypeOnSurface:{const T=new Map;for(const S of e)S.type===z.Cuboid&&S.parentId===c.parentId&&!S.locked&&T.set(S.id,-S.rotation[2]);const y={name:"Set Azimuth for All Cuboids on Surface",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{for(const[S,x]of y.oldValues.entries())o(S,0,0,-x)},redo:()=>{g(y.newValue)}};i(y),g(v),s(l+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Cuboid&&!S.locked&&T.set(S.id,-S.rotation[2]);const y={name:"Set Azimuth for All Cuboids",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{w(y.oldValues)},redo:()=>{w(y.oldValues,-y.newValue)}};i(y),w(T,-v),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:break;default:{const T=n(c.id),y=T?-T.rotation[2]:-c.rotation[2],S={name:"Set Cuboid Azimuth",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{o(S.changedElementId,0,0,-S.oldValue)},redo:()=>{o(S.changedElementId,0,0,-S.newValue)}};i(S),o(c.id,0,0,-v),s(l+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("word.Azimuth",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},step:.5,precision:2,value:parseFloat(xe.toDegrees(u).toFixed(2)),formatter:v=>`${v}°`,onChange:v=>{v!==null&&d(xe.toRadians(v))}}),h.jsxs("div",{style:{paddingTop:"20px",paddingRight:"6px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [-180°, 180°]",h.jsx("br",{}),j.t("message.AzimuthOfNorthIsZero",f),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",f)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:p,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("cuboidMenu.OnlyThisCuboid",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("cuboidMenu.AllCuboidsOnSameSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("cuboidMenu.AllSelectedCuboids",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("cuboidMenu.AllCuboids",f)})]})})})]})})},xco=[{key:"sensorCount",objectType:z.Sensor},{key:"polygonCount",objectType:z.Polygon},{key:"humanCount",objectType:z.Human},{key:"treeCount",objectType:z.Tree},{key:"flowerCount",objectType:z.Flower},{key:"outsideLightCount",objectType:z.Light}],bco=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.Light:{o=`${j.t("cuboidMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllLightsOnCuboid",n)} (${e} ${j.t("cuboidMenu.Lights",n)})`;break}case z.Sensor:{o=`${j.t("cuboidMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllSensorsOnCuboid",n)} (${e} ${j.t("cuboidMenu.Sensors",n)})`;break}case z.Polygon:{o=`${j.t("cuboidMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllPolygonsOnCuboid",n)} (${e} ${j.t("cuboidMenu.Polygons",n)})`;break}case z.Human:{o=`${j.t("cuboidMenu.RemoveAllUnlockedHumans",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllHumansOnCuboid",n)} (${e} ${j.t("cuboidMenu.Humans",n)})`;break}case z.Tree:{o=`${j.t("cuboidMenu.RemoveAllUnlockedTrees",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllTreesOnCuboid",n)} (${e} ${j.t("cuboidMenu.Trees",n)})`;break}case z.Flower:{o=`${j.t("cuboidMenu.RemoveAllUnlockedFlowers",n)} (${e})`,i=`${j.t("cuboidMenu.DoYouReallyWantToRemoveAllFlowersOnCuboid",n)} (${e} ${j.t("cuboidMenu.Flowers",n)})`;break}}return{itemLabel:o,modalTitle:i}},Sco=(t,e)=>{const n=[],o={lng:M.getState().language};if(e.solarPanelCount>0){const i=j.t("cuboidMenu.DoYouReallyWantToRemoveAllSolarPanelsOnCuboid",o)+" ("+e.solarPanelModuleCount+" "+j.t("cuboidMenu.SolarPanels",o)+", "+e.solarPanelCount+" "+j.t("cuboidMenu.Racks",o)+")?";n.push({key:"remove-all-solar-panels-on-cuboid",label:h.jsxs(GRe,{cuboid:t,objectType:z.SolarPanel,modalTitle:i,children:[j.t("cuboidMenu.RemoveAllUnlockedSolarPanels",o),"  (",e.solarPanelModuleCount," ",j.t("cuboidMenu.SolarPanels",o),",",e.solarPanelCount," ",j.t("cuboidMenu.Racks",o),")"]})})}return xco.forEach(({key:i,objectType:r})=>{const a=e[i];if(typeof a=="number"&&a>0){const{itemLabel:l,modalTitle:s}=bco(r,a),c=r.replaceAll(" ","");n.push({key:`remove-all-${c}s-on-cuboid`,label:h.jsx(GRe,{cuboid:t,objectType:r,modalTitle:s,children:l})})}}),n},Tco=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Polygon||e.type===z.Sensor||e.type===z.SolarPanel||e.type===z.Cuboid)return!0}return!1},Pco=t=>{const e=[];if(t.type!==z.Cuboid)return{items:e};const n=t,o=M.getState().selectedSideIndex,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce(n.id,!1),a=!(n!=null&&n.locked),l=!n.textureTypes||o>=0&&n.textureTypes[o]===Co.NoTexture;return Tco()&&e.push({key:"cuboid-paste",label:h.jsx(OH,{})}),e.push({key:"cuboid-copy",label:h.jsx(Sf,{})}),a&&e.push({key:"cuboid-cut",label:h.jsx(Tf,{})}),e.push({key:"cuboid-lock",label:h.jsx(Id,{selectedElement:n})}),e.push({key:"cuboid-group-master",label:h.jsx(m$e,{groupableElement:n})}),e.push({key:"cuboid-stackable",label:h.jsx(oco,{cuboid:n})}),r.gotSome()&&e.push({key:"cuboid-clear",label:h.jsx(tn,{children:j.t("word.Clear",i)}),children:Sco(n,r)}),a&&(l&&e.push({key:"cuboid-color",label:h.jsxs(io,{Dialog:rco,children:[j.t("word.Color",i)," ..."]})}),e.push({key:"cuboid-texture",label:h.jsxs(io,{Dialog:mco,children:[j.t("word.Texture",i)," ..."]})}),e.push({key:"cuboid-length",label:h.jsxs(io,{Dialog:yco,children:[j.t("word.Length",i)," ..."]})}),e.push({key:"cuboid-width",label:h.jsxs(io,{Dialog:Aco,children:[j.t("word.Width",i)," ..."]})}),e.push({key:"cuboid-height",label:h.jsxs(io,{Dialog:wco,children:[j.t("word.Height",i)," ..."]})}),e.push({key:"cuboid-azimuth",label:h.jsxs(io,{Dialog:vco,children:[j.t("word.Azimuth",i)," ..."]})})),e.push({key:"add-polygon-on-cuboid",label:h.jsx(ico,{cuboid:n,selectedSideIndex:o})}),a&&e.push({key:"cuboid-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",i)}),children:vA(n)}),{items:e}},Cco=()=>{const t=M(sA),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.groundImage=i,r.viewState.groundImageType=r.viewState.mapType})},o=i=>{const r=i.target.checked,a={name:"Show Ground Image",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("groundMenu.ImageOnGround",e)})})},Rco=()=>{const t=M(xBe),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.waterSurface=i})},o=i=>{const r=i.target.checked,a={name:"Water Surface",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,update:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("groundMenu.WaterSurface",e)})})},Hco=()=>{const t=M(vBe),e=o=>{M.getState().set(i=>{i.viewState.groundColor=o})},n=o=>{const i=t,r=o.hex,a={name:"Set Ground Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{e(a.oldValue)},redo:()=>{e(a.newValue)}};M.getState().addUndoable(a),e(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:t,onChangeComplete:n})})},Mco=()=>{const t=M(V1e)??cq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear1=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 1",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:j.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(1-150)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:1,max:150,step:1,precision:0,value:t,onChange:r})})},Ico=()=>{const t=M(G1e)??uq,n=M(Xs)>0,o=Kt(),i=s=>{M.getState().set(c=>{c.world.leafDayOfYear2=s})},r=s=>{if(s===null)return;const c=t,u=s,d={name:"Set Leaf Day 2",timestamp:Date.now(),oldValue:c,newValue:u,undo:()=>{i(d.oldValue)},redo:()=>{i(d.newValue)}};M.getState().addUndoable(d),i(u)},a=()=>h.jsx("div",{style:{width:"80px"},children:j.t(n?"groundMenu.LeafOffDay":"groundMenu.LeafOutDay",o)}),l=()=>h.jsx("div",{style:{width:"60px"},children:"(215-365)"});return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsx(a,{}),addonAfter:h.jsx(l,{}),style:{width:"300px"},min:215,max:365,step:1,precision:0,value:t,onChange:r})})},XRe=({monthIndex:t})=>{const e=M(r=>r.world.monthlyIrradianceLosses?r.world.monthlyIrradianceLosses[t]:.05)??.05,n=Kt(),o=r=>{M.getState().set(a=>{a.world.monthlyIrradianceLosses||(a.world.monthlyIrradianceLosses=new Array(12).fill(.05)),a.world.monthlyIrradianceLosses[t]=r})},i=r=>{if(r===null)return;const a=e,l=r,s={name:"Set Irradiance Loss in "+Rwe[t],timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{o(s.oldValue)},redo:()=>{o(s.newValue)}};M.getState().addUndoable(s),o(l)};return h.jsx(Hn,{addonBefore:h.jsx("span",{style:{fontFamily:"monospace"},children:j.t(`month.${Rwe[t]}`,n)}),style:{width:"120px"},min:0,max:1,step:.01,precision:2,value:e,onChange:i})},zco=()=>{const t=M(i=>i.world.ground.albedo),e=Kt(),n=i=>{M.getState().set(r=>{r.world.ground.albedo=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ground Albedo",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[j.t("groundMenu.Albedo",e),":"]}),h.jsx(Hn,{min:.05,max:1,step:.01,precision:2,value:t,onChange:o})]})},Dco=({itemLabel:t,modalTitle:e,objectType:n})=>{const o=M.getState().removeElementsByType,i=()=>{const a=M.getState().elements.filter(c=>!c.locked&&c.type===n);o(n);const l=JSON.parse(JSON.stringify(a)),s={name:"Remove All "+n+"s",timestamp:Date.now(),removedElements:l,undo:()=>{M.getState().set(c=>{c.elements.push(...s.removedElements)})},redo:()=>{o(n)}};M.getState().addUndoable(s),ht.getState().updateContextMenu()},r=()=>{_r.confirm({title:e,onOk:i,icon:h.jsx($m,{})})};return h.jsx(tn,{onClick:r,children:t})},JRe=({lock:t,count:e,label:n})=>{const o=M.getState().updateAllElementLocks,i=()=>{const r=new Map;for(const c of M.getState().elements)r.set(c.id,!!c.locked);const s={name:`${t?"Lock":"Unlock"} All ${t?"Unlocked":"Locked"} Elements`,timestamp:Date.now(),oldValues:r,newValue:!0,undo:()=>{for(const[c,u]of s.oldValues.entries())M.getState().updateElementLockById(c,u)},redo:()=>{o(t)}};M.getState().addUndoable(s),o(t)};return h.jsxs(tn,{update:!0,onClick:i,children:[n," (",e,")"]})},Eco=[{key:"humanCount",type:z.Human,itemLabel:"groundMenu.RemoveAllUnlockedPeople",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllPeople"},{key:"treeCount",type:z.Tree,itemLabel:"groundMenu.RemoveAllUnlockedTrees",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllTrees"},{key:"flowerCount",type:z.Flower,itemLabel:"groundMenu.RemoveAllUnlockedFlowers",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFlowers"},{key:"solarPanelCount",type:z.SolarPanel,itemLabel:"groundMenu.RemoveAllUnlockedSolarPanels",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllSolarPanels"},{key:"foundationCount",type:z.Foundation,itemLabel:"groundMenu.RemoveAllUnlockedFoundations",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllFoundations"},{key:"cuboidCount",type:z.Cuboid,itemLabel:"groundMenu.RemoveAllUnlockedCuboids",modalTitle:"groundMenu.DoYouReallyWantToRemoveAllCuboids"}],kco=()=>{const t=M.getState().elementsToPaste;if(!t||t.length===0)return!1;const e=t[0];return e.type===z.Human||e.type===z.Tree||e.type===z.Flower||e.type===z.Cuboid||e.type===z.Foundation},Fco=()=>Ps.slice().reduce((t,e,n,o)=>(t&&n%2!==0&&t.push({key:`${o[n-1]}-${o[n]}`,label:h.jsxs(tn,{stayAfterClick:!0,noPadding:!0,children:[h.jsx(XRe,{monthIndex:n-1}),h.jsx(XRe,{monthIndex:n})]})}),t),[]),Lco=()=>{const t={lng:M.getState().language},e=M.getState().countAllElementsByType(!0),n=[];return kco()&&n.push({key:"ground-paste",label:h.jsx(OH,{})}),Eco.forEach(({key:o,type:i,itemLabel:r,modalTitle:a})=>{const l=e[o];typeof l=="number"&&l>0&&n.push({key:`ground-remove-all-${i}s`,label:h.jsx(Dco,{objectType:i,itemLabel:`${j.t(r,t)} (${l})`,modalTitle:`${j.t(a,t)} (${l})?`})})}),e.unlockedCount>0&&n.push({key:"lock-all-elements",label:h.jsx(JRe,{lock:!0,count:e.unlockedCount,label:j.t("groundMenu.LockAllUnlockedElements",t)})}),e.lockedCount>0&&M.getState().elements.length>0&&n.push({key:"unlock-all-elements",label:h.jsx(JRe,{lock:!1,count:e.lockedCount,label:j.t("groundMenu.UnlockAllLockedElements",t)})}),n.push({key:"image-on-ground",label:h.jsx(Cco,{})}),n.push({key:"water-surface",label:h.jsx(Rco,{})}),M.getState().viewState.waterSurface||n.push({key:"ground-color-submenu",label:h.jsx(tn,{children:j.t("word.Color",t)}),children:[{key:"ground-color-picker",label:h.jsx(Hco,{}),style:{backgroundColor:"white"}}]}),n.push({key:"vegetation-submenu",label:h.jsx(tn,{children:j.t("groundMenu.Vegetation",t)}),children:[{key:"leaf-out-day",label:h.jsx(Mco,{})},{key:"leaf-shed-day",label:h.jsx(Ico,{})}]}),n.push({key:"monthly-irradiance-loss-submenu",label:h.jsx(tn,{children:j.t("groundMenu.MonthlyIrradianceLoss",t)}),children:Fco()}),n.push({key:"ground-albedo",label:h.jsx(zco,{})}),{items:n}};var CE={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 1-Math.cos(t*Math.PI/2)},Out:function(t){return Math.sin(t*Math.PI/2)},InOut:function(t){return .5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return t===0?0:Math.pow(1024,t-1)},Out:function(t){return t===1?1:1-Math.pow(2,-10*t)},InOut:function(t){return t===0?0:t===1?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(-Math.pow(2,-10*(t-1))+2)}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return t===0?0:t===1?1:-Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI)},Out:function(t){return t===0?0:t===1?1:Math.pow(2,-10*t)*Math.sin((t-.1)*5*Math.PI)+1},InOut:function(t){return t===0?0:t===1?1:(t*=2,t<1?-.5*Math.pow(2,10*(t-1))*Math.sin((t-1.1)*5*Math.PI):.5*Math.pow(2,-10*(t-1))*Math.sin((t-1.1)*5*Math.PI)+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?.5*(t*t*((e+1)*t-e)):.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-CE.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?CE.Bounce.In(t*2)*.5:CE.Bounce.Out(t*2-1)*.5+.5}}},DD;typeof self>"u"&&typeof process<"u"&&process.hrtime?DD=function(){var t=process.hrtime();return t[0]*1e3+t[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?DD=self.performance.now.bind(self.performance):Date.now!==void 0?DD=Date.now:DD=function(){return new Date().getTime()};var bP=DD,Wco=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(n){return e._tweens[n]})},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},t.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},t.prototype.update=function(e,n){e===void 0&&(e=bP()),n===void 0&&(n=!1);var o=Object.keys(this._tweens);if(o.length===0)return!1;for(;o.length>0;){this._tweensAddedDuringUpdate={};for(var i=0;i1?r(t[n],t[n-1],n-o):r(t[i],t[i+1>n?n:i+1],o-i)},Bezier:function(t,e){for(var n=0,o=t.length-1,i=Math.pow,r=ED.Utils.Bernstein,a=0;a<=o;a++)n+=i(1-e,o-a)*i(e,a)*t[a]*r(o,a);return n},CatmullRom:function(t,e){var n=t.length-1,o=n*e,i=Math.floor(o),r=ED.Utils.CatmullRom;return t[0]===t[n]?(e<0&&(i=Math.floor(o=n*(1+e))),r(t[(i-1+n)%n],t[i],t[(i+1)%n],t[(i+2)%n],o-i)):e<0?t[0]-(r(t[0],t[0],t[1],t[1],-o)-t[0]):e>1?t[n]-(r(t[n],t[n],t[n-1],t[n-1],o-n)-t[n]):r(t[i?i-1:0],t[i],t[n1;o--)n*=o;return t[e]=n,n}}(),CatmullRom:function(t,e,n,o,i){var r=(n-t)*.5,a=(o-e)*.5,l=i*i,s=i*l;return(2*e-2*n+r+a)*s+(-3*e+3*n-2*r-a)*l+r*i+e}}},Nco=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),iot=new Wco,Uco=function(){function t(e,n){n===void 0&&(n=iot),this._object=e,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=CE.Linear.None,this._interpolationFunction=ED.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Nco.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.to=function(e,n){return this._valuesEnd=Object.create(e),n!==void 0&&(this._duration=n),this},t.prototype.duration=function(e){return this._duration=e,this},t.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e!==void 0?typeof e=="string"?bP()+parseFloat(e):e:bP(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},t.prototype._setupProperties=function(e,n,o,i){for(var r in o){var a=e[r],l=Array.isArray(a),s=l?"array":typeof a,c=!l&&Array.isArray(o[r]);if(!(s==="undefined"||s==="function")){if(c){var u=o[r];if(u.length===0)continue;u=u.map(this._handleRelativeValue.bind(this,a)),o[r]=[a].concat(u)}if((s==="object"||l)&&a&&!c){n[r]=l?[]:{};for(var d in a)n[r][d]=a[d];i[r]=l?[]:{},this._setupProperties(a,n[r],o[r],i[r])}else typeof n[r]>"u"&&(n[r]=a),l||(n[r]*=1),c?i[r]=o[r].slice().reverse():i[r]=n[r]||0}}},t.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},t.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},t.prototype.pause=function(e){return e===void 0&&(e=bP()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this),this)},t.prototype.resume=function(e){return e===void 0&&(e=bP()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},t.prototype.stopChainedTweens=function(){for(var e=0,n=this._chainedTweens.length;er)return!1;n&&this.start(e)}if(this._goToEnd=!1,e1?1:i;var a=this._easingFunction(i);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,i),i===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(o in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[o]=="string"&&(this._valuesStartRepeat[o]=this._valuesStartRepeat[o]+parseFloat(this._valuesEnd[o])),this._yoyo&&this._swapEndStartRepeatValues(o),this._valuesStart[o]=this._valuesStartRepeat[o];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var l=0,s=this._chainedTweens.length;l{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&(l.type===z.Human||l.type===z.Tree||l.type===z.Flower)){const s=l;s.flip=r;break}})},o=i=>{const r=i.target.checked,a={name:`Flip ${t.type}`,timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.flip,onChange:o,children:j.t("peopleMenu.Flip",e)})})}),jco=be.memo(({human:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Human&&l.id===i){l.observer=r;break}})},o=i=>{const r=i.target.checked,a={name:"Set Observer",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:z.Human,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.observer,onChange:o,children:j.t("peopleMenu.Observer",e)})})}),Yco=be.memo(({human:t})=>{const e=Kt(),[n,o]=m.useState(!1),i=m.useRef(0),r=m.useRef(-1),a=m.useRef(!0),l=m.useRef(!1);m.useEffect(()=>{if(l.current){if(a.current)return i.current=requestAnimationFrame(c),u(),()=>{cancelAnimationFrame(i.current)};a.current=!0}},[n]);const s=(f,p,g)=>{const A=Ln.getState().orbitControlsRef;A!=null&&A.current&&(A.current.object.position.set(f,p,g),A.current.update(),M.getState().set(w=>{const b=w.viewState;b.cameraPosition=[f,p,g]}))},c=()=>{requestAnimationFrame(c);const f=Date.now();f-r.current>100&&(Bco(),r.current=f)},u=()=>{if(!t)return;let f=t.cx,p=t.cy,g=t.cz+t.lz;const A=M.getState().getParent(t);if(A){const C=xe.absoluteHumanOrTreeCoordinates(f,p,g,A);f=C.x,p=C.y,g=C.z}const w=M.getState().cameraDirection.clone().normalize().multiplyScalar(.5);f+=w.x,p+=w.y;const b=[...M.getState().viewState.cameraPosition];new Uco(b).to([f,p,g],1e3).easing(CE.Quadratic.In).onUpdate(C=>{s(C[0],C[1],C[2])}).onComplete(()=>{M.getState().selectNone()}).start()},d=()=>{o(!n),l.current=!0};return h.jsx(tn,{onClick:d,children:j.t("peopleMenu.ViewFromThisPerson",e)})}),Oco=be.memo(({tree:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Tree&&l.id===i){l.showModel=r;break}})},o=i=>{const r={name:"Show Tree Model",timestamp:Date.now(),checked:i,selectedElementId:t.id,selectedElementType:z.Tree,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:(t==null?void 0:t.showModel)&&(t==null?void 0:t.type)===z.Tree,onChange:i=>o(i.target.checked),children:j.t("treeMenu.ShowModel",e)})})}),_co=be.memo(({tree:t})=>{const e=M.getState().updateElementLxById,n=Kt(),o=t.lx??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Spread",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeSpread=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[j.t("treeMenu.Spread",n)+" ("+j.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:50,step:1,precision:1,value:o,onChange:i})]})}),Vco=be.memo(({tree:t})=>{const e=M.getState().updateElementLzById,n=Kt(),o=t.lz??1,i=r=>{if(r===null||r===o)return;const a={name:"Set Tree Height",timestamp:Date.now(),oldValue:o,newValue:r,changedElementId:t.id,changedElementType:t.type,undo:()=>{e(a.changedElementId,a.oldValue)},redo:()=>{e(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),e(t.id,r),M.getState().set(l=>{l.actionState.treeHeight=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[j.t("word.Height",n)+" ("+j.t("word.MeterAbbreviation",n)+")",":"]}),h.jsx(Hn,{style:{width:"160px"},min:1,max:30,step:1,precision:1,value:o,onChange:i})]})}),{Option:_a}=Yo,Gco=be.memo(({human:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Human&&u.id===l){const d=u;d.name=s,d.lx=Ip.fetchWidth(s),d.lz=Ip.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"140px"},value:(t==null?void 0:t.name)??Yt.Jack,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change People",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.humanName=l}),i(!o)}}},children:[h.jsxs(_a,{value:Yt.Jack,children:[h.jsx("img",{alt:Yt.Jack,src:wUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jack",r)]},Yt.Jack),h.jsxs(_a,{value:Yt.Jacob,children:[h.jsx("img",{alt:Yt.Jacob,src:vUe,height:20,style:{paddingRight:"16px"}})," ",j.t("people.Jacob",r)]},Yt.Jacob),h.jsxs(_a,{value:Yt.Jacqueline,children:[h.jsx("img",{alt:Yt.Jacqueline,src:xUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jacqueline",r)]},Yt.Jacqueline),h.jsxs(_a,{value:Yt.Jaah,children:[h.jsx("img",{alt:Yt.Jaah,src:AUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jaah",r)]},Yt.Jaah),h.jsxs(_a,{value:Yt.Jade,children:[h.jsx("img",{alt:Yt.Jade,src:bUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jade",r)]},Yt.Jade),h.jsxs(_a,{value:Yt.Jamelia,children:[h.jsx("img",{alt:Yt.Jamelia,src:SUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jamelia",r)]},Yt.Jamelia),h.jsxs(_a,{value:Yt.James,children:[h.jsx("img",{alt:Yt.James,src:TUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.James",r)]},Yt.James),h.jsxs(_a,{value:Yt.Jane,children:[h.jsx("img",{alt:Yt.Jane,src:PUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jane",r)]},Yt.Jane),h.jsxs(_a,{value:Yt.Jaya,children:[h.jsx("img",{alt:Yt.Jaya,src:CUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jaya",r)]},Yt.Jaya),h.jsxs(_a,{value:Yt.Jaye,children:[h.jsx("img",{alt:Yt.Jaye,src:RUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jaye",r)]},Yt.Jaye),h.jsxs(_a,{value:Yt.Jeanette,children:[h.jsx("img",{alt:Yt.Jeanette,src:HUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jeanette",r)]},Yt.Jeanette),h.jsxs(_a,{value:Yt.Jedi,children:[h.jsx("img",{alt:Yt.Jedi,src:MUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jedi",r)]},Yt.Jedi),h.jsxs(_a,{value:Yt.Jeff,children:[h.jsx("img",{alt:Yt.Jeff,src:IUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jeff",r)]},Yt.Jeff),h.jsxs(_a,{value:Yt.Jena,children:[h.jsx("img",{alt:Yt.Jena,src:zUe,height:20,style:{paddingRight:"19px"}})," ",j.t("people.Jena",r)]},Yt.Jena),h.jsxs(_a,{value:Yt.Jennifer,children:[h.jsx("img",{alt:Yt.Jennifer,src:DUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jennifer",r)]},Yt.Jennifer),h.jsxs(_a,{value:Yt.Jess,children:[h.jsx("img",{alt:Yt.Jess,src:EUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jess",r)]},Yt.Jess),h.jsxs(_a,{value:Yt.Jett,children:[h.jsx("img",{alt:Yt.Jett,src:kUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Jett",r)]},Yt.Jett),h.jsxs(_a,{value:Yt.Jill,children:[h.jsx("img",{alt:Yt.Jill,src:FUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jill",r)]},Yt.Jill),h.jsxs(_a,{value:Yt.Jiya,children:[h.jsx("img",{alt:Yt.Jiya,src:LUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jiya",r)]},Yt.Jiya),h.jsxs(_a,{value:Yt.Joan,children:[h.jsx("img",{alt:Yt.Joan,src:WUe,height:20,style:{paddingRight:"8px"}})," ",j.t("people.Joan",r)]},Yt.Joan),h.jsxs(_a,{value:Yt.Jocelyn,children:[h.jsx("img",{alt:Yt.Jocelyn,src:NUe,height:20,style:{paddingRight:"23px"}})," ",j.t("people.Jocelyn",r)]},Yt.Jocelyn),h.jsxs(_a,{value:Yt.Joel,children:[h.jsx("img",{alt:Yt.Joel,src:UUe,height:20,style:{paddingRight:"7px"}})," ",j.t("people.Joel",r)]},Yt.Joel),h.jsxs(_a,{value:Yt.Joey,children:[h.jsx("img",{alt:Yt.Joey,src:BUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Joey",r)]},Yt.Joey),h.jsxs(_a,{value:Yt.John,children:[h.jsx("img",{alt:Yt.John,src:jUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.John",r)]},Yt.John),h.jsxs(_a,{value:Yt.Jonathon,children:[h.jsx("img",{alt:Yt.Jonathon,src:YUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Jonathon",r)]},Yt.Jonathon),h.jsxs(_a,{value:Yt.Jose,children:[h.jsx("img",{alt:Yt.Jose,src:OUe,height:20,style:{paddingRight:"5px"}})," ",j.t("people.Jose",r)]},Yt.Jose),h.jsxs(_a,{value:Yt.Joseph,children:[h.jsx("img",{alt:Yt.Joseph,src:_Ue,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Joseph",r)]},Yt.Joseph),h.jsxs(_a,{value:Yt.Joshua,children:[h.jsx("img",{alt:Yt.Joshua,src:VUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Joshua",r)]},Yt.Joshua),h.jsxs(_a,{value:Yt.Judd,children:[h.jsx("img",{alt:Yt.Judd,src:GUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Judd",r)]},Yt.Judd),h.jsxs(_a,{value:Yt.Judy,children:[h.jsx("img",{alt:Yt.Judy,src:XUe,height:20,style:{paddingRight:"21px"}})," ",j.t("people.Judy",r)]},Yt.Judy),h.jsxs(_a,{value:Yt.Julia,children:[h.jsx("img",{alt:Yt.Julia,src:JUe,height:20,style:{paddingRight:"22px"}})," ",j.t("people.Julia",r)]},Yt.Julia),h.jsxs(_a,{value:Yt.Julio,children:[h.jsx("img",{alt:Yt.Julio,src:KUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Julio",r)]},Yt.Julio),h.jsxs(_a,{value:Yt.Jumapili,children:[h.jsx("img",{alt:Yt.Jumapili,src:qUe,height:20,style:{paddingRight:"16px"}})," ",j.t("people.Jumapili",r)]},Yt.Jumapili),h.jsxs(_a,{value:Yt.June,children:[h.jsx("img",{alt:Yt.June,src:$Ue,height:20,style:{paddingRight:"20px"}})," ",j.t("people.June",r)]},Yt.June),h.jsxs(_a,{value:Yt.Juro,children:[h.jsx("img",{alt:Yt.Juro,src:QUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Juro",r)]},Yt.Juro),h.jsxs(_a,{value:Yt.Justin,children:[h.jsx("img",{alt:Yt.Justin,src:ZUe,height:20,style:{paddingRight:"20px"}})," ",j.t("people.Justin",r)]},Yt.Justin)]})}),Xco=t=>{const e=[];if(t.type!==z.Human)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().viewState.orthographic??!1;return e.push({key:"human-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"human-cut",label:h.jsx(Tf,{})}),e.push({key:"human-lock",label:h.jsx(Id,{selectedElement:n})}),o&&e.push({key:"human-flip",label:h.jsx(o9e,{billboardModel:n})}),r||e.push({key:"human-move-view",label:h.jsx(Yco,{human:n})}),o&&(e.push({key:"human-obserber",label:h.jsx(jco,{human:n})}),e.push({key:"human-selection",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"120px"},children:[j.t("peopleMenu.ChangePerson",i),": "]}),h.jsx(Gco,{human:n})]})})),{items:e}},{Option:Xd}=Yo,Jco=be.memo(({flower:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Flower&&u.id===l){const d=u;d.name=s,d.lx=cw.fetchSpread(s),d.lz=cw.fetchHeight(s);break}})};return h.jsxs(Yo,{style:{width:"200px"},value:(t==null?void 0:t.name)??$n.WhiteFlower,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Flower",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.flowerType=l}),i(!o)}}},children:[h.jsxs(Xd,{value:$n.WhiteFlower,children:[h.jsx("img",{alt:$n.WhiteFlower,src:cBe,height:20,style:{paddingRight:"17px"}})," ",j.t("flower.WhiteFlower",r)]},$n.WhiteFlower),h.jsxs(Xd,{value:$n.YellowFlower,children:[h.jsx("img",{alt:$n.YellowFlower,src:uBe,height:20,style:{paddingRight:"16px"}})," ",j.t("flower.YellowFlower",r)]},$n.YellowFlower),h.jsxs(Xd,{value:$n.Hibiscus,children:[h.jsx("img",{alt:$n.Hibiscus,src:tBe,height:20,style:{paddingRight:"19px"}})," ",j.t("flower.Hibiscus",r)]},$n.Hibiscus),h.jsxs(Xd,{value:$n.Hydrangea,children:[h.jsx("img",{alt:$n.Hydrangea,src:nBe,height:20,style:{paddingRight:"18px"}})," ",j.t("flower.Hydrangea",r)]},$n.Hydrangea),h.jsxs(Xd,{value:$n.Spirea,children:[h.jsx("img",{alt:$n.Spirea,src:aBe,height:20,style:{paddingRight:"18px"}})," ",j.t("flower.Spirea",r)]},$n.Spirea),h.jsxs(Xd,{value:$n.Hosta,children:[h.jsx("img",{alt:$n.Hosta,src:oBe,height:20,style:{paddingRight:"18px"}})," ",j.t("flower.Hosta",r)]},$n.Hosta),h.jsxs(Xd,{value:$n.Peony,children:[h.jsx("img",{alt:$n.Peony,src:iBe,height:20,style:{paddingRight:"17px"}})," ",j.t("flower.Peony",r)]},$n.Peony),h.jsxs(Xd,{value:$n.Boxwood,children:[h.jsx("img",{alt:$n.Boxwood,src:gce,height:20,style:{paddingRight:"23px"}})," ",j.t("flower.Boxwood",r)]},$n.Boxwood),h.jsxs(Xd,{value:$n.TallBush,children:[h.jsx("img",{alt:$n.TallBush,src:vce,height:20,style:{paddingRight:"32px"}})," ",j.t("flower.TallBush",r)]},$n.TallBush),h.jsxs(Xd,{value:$n.CactusCombo1,children:[h.jsx("img",{alt:$n.CactusCombo1,src:mce,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo1",r)]},$n.CactusCombo1),h.jsxs(Xd,{value:$n.CactusCombo2,children:[h.jsx("img",{alt:$n.CactusCombo2,src:yce,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo2",r)]},$n.CactusCombo2),h.jsxs(Xd,{value:$n.CactusCombo3,children:[h.jsx("img",{alt:$n.CactusCombo3,src:Ace,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo3",r)]},$n.CactusCombo3),h.jsxs(Xd,{value:$n.CactusCombo4,children:[h.jsx("img",{alt:$n.CactusCombo4,src:wce,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.CactusCombo4",r)]},$n.CactusCombo4),h.jsxs(Xd,{value:$n.RedRose,children:[h.jsx("img",{alt:$n.RedRose,src:rBe,height:20,style:{paddingRight:"26px"}})," ",j.t("flower.RedRose",r)]},$n.RedRose),h.jsxs(Xd,{value:$n.Bellflower,children:[h.jsx("img",{alt:$n.Bellflower,src:eBe,height:20,style:{paddingRight:"20px"}})," ",j.t("flower.Bellflower",r)]},$n.Bellflower),h.jsxs(Xd,{value:$n.Sunflower,children:[h.jsx("img",{alt:$n.Sunflower,src:lBe,height:20,style:{paddingRight:"32px"}})," ",j.t("flower.Sunflower",r)]},$n.Sunflower),h.jsxs(Xd,{value:$n.Tulip,children:[h.jsx("img",{alt:$n.Tulip,src:sBe,height:20,style:{paddingRight:"24px"}})," ",j.t("flower.Tulip",r)]},$n.Tulip)]})}),Kco=t=>{const e=[];if(t.type!==z.Flower)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"flower-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"flower-cut",label:h.jsx(Tf,{})}),e.push({key:"flower-lock",label:h.jsx(Id,{selectedElement:n})}),o&&e.push({key:"flower-flip",label:h.jsx(o9e,{billboardModel:n})}),o&&e.push({key:"flower-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"60px"},children:[j.t("flowerMenu.Type",i),": "]}),h.jsx(Jco,{flower:n})]})}),{items:e}},qco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.filled=r;break}})},o=i=>{const r={name:"Fill Polygon",timestamp:Date.now(),checked:!t.filled,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.filled,onChange:o,children:j.t("polygonMenu.Filled",e)})})},$co=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.shininess=r;break}})},o=i=>{const a={name:"Shiny Polygon",timestamp:Date.now(),checked:((t==null?void 0:t.shininess)??0)>0,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,a.checked?0:100)},redo:()=>{n(t.id,a.checked?100:0)}};M.getState().addUndoable(a),n(t.id,i.target.checked?100:0)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.shininess,onChange:o,children:j.t("polygonMenu.Shiny",e)})})},Qco=({polygon:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.type===z.Polygon&&l.id===i){l.noOutline=r;break}})},o=i=>{const r={name:"No Outline for Polygon",timestamp:Date.now(),checked:!t.noOutline,selectedElementId:t.id,selectedElementType:z.Polygon,undo:()=>{n(t.id,!r.checked)},redo:()=>{n(t.id,r.checked)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.noOutline,onChange:o,children:j.t("polygonMenu.NoOutline",e)})})},Zco=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.text)??""),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.text=l);break}})},r=()=>{const a={name:"Set Text for Polygon",timestamp:Date.now(),oldValue:t.text??"",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("word.Text",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},e0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontSize)??1),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontSize=l);break}})},r=()=>{const a={name:"Set Font Size for Polygon",timestamp:Date.now(),oldValue:t.fontSize??1,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("word.FontSize",e),":"]}),min:.1,max:5,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},t0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontColor=l);break}})},r=()=>{const a={name:"Set Font Color for Polygon",timestamp:Date.now(),oldValue:t.fontColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("word.FontColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},n0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineColor)??"white"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineColor=l);break}})},r=()=>{const a={name:"Set Font Outline Color for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineColor??"white",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontOutlineColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},o0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontOutlineWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontOutlineWidth=l);break}})},r=()=>{const a={name:"Set Font Outline Width for Polygon",timestamp:Date.now(),oldValue:t.fontOutlineWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontOutlineWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},i0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeColor)??"black"),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeColor=l);break}})},r=()=>{const a={name:"Set Font Stroke Color for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeColor??"black",newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(ns,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontStrokeColor",e),":"]}),value:n,onChange:a=>o(a.target.value),onPressEnter:r,onBlur:r})})},r0o=({polygon:t})=>{const e=Kt(),[n,o]=m.useState((t==null?void 0:t.fontStrokeWidth)??0),i=(a,l)=>{M.getState().set(s=>{for(const c of s.elements)if(c.id===a){!c.locked&&c.type===z.Polygon&&(c.fontStrokeWidth=l);break}})},r=()=>{const a={name:"Set Font Stroke Width for Polygon",timestamp:Date.now(),oldValue:t.fontStrokeWidth??0,newValue:n,changedElementId:t.id,changedElementType:z.Polygon,undo:()=>{i(t.id,a.oldValue)},redo:()=>{i(t.id,a.newValue)}};M.getState().addUndoable(a),i(t.id,n)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Hn,{addonBefore:h.jsxs(ay,{width:"120px",children:[j.t("polygonMenu.FontStrokeWidth",e),":"]}),min:0,max:1,step:.01,precision:2,value:n,onChange:a=>o(a),onPressEnter:r,onBlur:r})})},a0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(rr),i=M(xwt),r=M(bwt),a=M(Swt),l=M(Twt),s=M(En),c=M(xH),u=M(bH),d=M(ao),f=M(oo),p=co(z.Polygon),[g,A]=m.useState((p==null?void 0:p.lineColor)??"black"),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&S!==x.lineColor)return!0;break;case ue.AllObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&S!==x.lineColor)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const x of e)if(x.type===z.Polygon&&x.parentId===p.parentId&&xe.isIdentical(x.normal,p.normal)&&!x.locked&&x.lineColor!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of e)if(x.type===z.Polygon&&x.foundationId===(p==null?void 0:p.foundationId)&&!x.locked&&x.lineColor!==S)return!0;break;default:if(S!==(p==null?void 0:p.lineColor))return!0}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&S.has(H.id)&&(H.lineColor=x)})},v=S=>{if(p&&C(S))switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for Selected Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&x.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,S),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&xe.isIdentical(D.normal,p.normal)&&R.set(D.id,D.lineColor??"gray");const H={name:"Set Line Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:S,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,S),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&x.set(H.id,H.lineColor??"black");const R={name:"Set Line Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,S),f(d+1)}break}default:{const x=n(p.id),R=x?x.lineColor:p.lineColor,H={name:"Set Line Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}},T=()=>{t(!1)},y=()=>{v(g)};return h.jsx(lo,{width:600,title:j.t("polygonMenu.LineColor",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.lineColor)??"black",onChangeComplete:S=>{A(S.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",w)})]})})})]})})},l0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ao),c=M(oo),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.lineStyle)??Oh.Solid),p=Kt(),{Option:g}=Yo,A=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.Polygon&&k.id===R){k.lineStyle=H;break}})},w=(R,H,D)=>{e(k=>{for(const W of k.elements)W.type===z.Polygon&&W.parentId===R&&xe.isIdentical(W.normal,H)&&!W.locked&&(W.lineStyle=D)})},b=(R,H)=>{e(D=>{for(const k of D.elements)k.type===z.Polygon&&k.foundationId===R&&!k.locked&&(k.lineStyle=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.lineStyle=R)})},P=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&xe.isIdentical(H.normal,u.normal)&&!H.locked&&R!==H.lineStyle)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&R!==H.lineStyle)return!0;break;default:if(R!==(u==null?void 0:u.lineStyle))return!0}return!1}},T=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)k.type===z.Polygon&&!k.locked&&R.has(k.id)&&(k.lineStyle=H)})},y=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.lineStyle??Oh.Solid);const D={name:"Set Line Style for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{T(D.oldValues,D.newValue)}};r(D),T(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&H.set(k.id,k.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const W of n)W.type===z.Polygon&&W.parentId===u.parentId&&xe.isIdentical(W.normal,u.normal)&&D.set(W.id,W.lineStyle??Oh.Solid);const k={name:"Set Line Style for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[W,N]of k.oldValues.entries())A(W,N)},redo:()=>{k.groupId&&w(k.groupId,k.normal,k.newValue)}};r(k),w(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.Polygon&&k.foundationId===u.foundationId&&H.set(k.id,k.lineStyle??Oh.Solid);const D={name:"Set Line Style for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};r(D),b(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.lineStyle:u.lineStyle,k={name:"Set Line Style of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(k.changedElementId,k.oldValue)},redo:()=>{A(k.changedElementId,k.newValue)}};r(k),A(u.id,R),c(s+1);break}}},S=()=>{t(!1)},x=()=>{y(d)};return h.jsx(lo,{width:600,title:j.t("polygonMenu.LineStyle",p),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:Oh.Solid,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px solid dimGray"},children:" "}),j.t("polygonMenu.SolidLine",p)]},Oh.Solid),h.jsxs(g,{value:Oh.Dashed,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dashed dimGray"},children:" "}),j.t("polygonMenu.DashedLine",p)]},Oh.Dashed),h.jsxs(g,{value:Oh.Dotted,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"48px",height:"1px",border:"1px dotted dimGray"},children:" "}),j.t("polygonMenu.DottedLine",p)]},Oh.Dotted)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",p)})]})})})]})})},s0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(rr),i=M(Pwt),r=M(Cwt),a=M(Rwt),l=M(Hwt),s=M(En),c=M(xH),u=M(bH),d=M(ao),f=M(oo),p=co(z.Polygon),[g,A]=m.useState((p==null?void 0:p.lineWidth)??1),w=Kt(),{Option:b}=Yo,C=x=>{u(x.target.value)},P=x=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&x!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisType:for(const R of e)if(R.type===z.Polygon&&!R.locked&&x!==R.lineWidth)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const R of e)if(R.type===z.Polygon&&R.parentId===p.parentId&&xe.isIdentical(R.normal,p.normal)&&!R.locked&&R.lineWidth!==x)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const R of e)if(R.type===z.Polygon&&R.foundationId===(p==null?void 0:p.foundationId)&&!R.locked&&R.lineWidth!==x)return!0;break;default:if(x!==(p==null?void 0:p.lineWidth))return!0}return!1}},v=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&x.has(D.id)&&(D.lineWidth=R)})},T=x=>{if(p&&P(x))switch(c){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for Selected Polygons",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{v(H.oldValues,H.newValue)}};s(H),v(R,x),f(d+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of e)D.type===z.Polygon&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{l(z.Polygon,H.newValue)}};s(H),l(z.Polygon,x),f(d+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const H=new Map;for(const k of e)k.type===z.Polygon&&k.parentId===p.parentId&&xe.isIdentical(k.normal,p.normal)&&H.set(k.id,k.lineWidth??1);const D={name:"Set Line Width for All Polygons on Same Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[k,W]of D.oldValues.entries())i(k,W)},redo:()=>{D.groupId&&r(z.Polygon,D.groupId,D.normal,D.newValue)}};s(D),r(z.Polygon,p.parentId,p.normal,x),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const R=new Map;for(const D of e)D.type===z.Polygon&&D.foundationId===p.foundationId&&R.set(D.id,D.lineWidth??1);const H={name:"Set Line Width for All Polygons Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:p.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{H.groupId&&a(z.Polygon,H.groupId,H.newValue)}};s(H),a(z.Polygon,p.foundationId,x),f(d+1)}break}default:{const R=n(p.id),H=R?R.lineWidth:p.lineWidth,D={name:"Set Line Width of Selected Polygon",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(D.changedElementId,D.oldValue)},redo:()=>{i(D.changedElementId,D.newValue)}};s(D),i(p.id,x),f(d+1);break}}},y=()=>{t(!1)},S=()=>{T(g),t(!1),f(0)};return h.jsx(lo,{width:560,title:j.t("polygonMenu.LineWidth",w),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"200px"},value:g,onChange:x=>A(x),children:[h.jsx(b,{value:Vy.One,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"1px solid dimGray"}})},Vy.One),h.jsx(b,{value:Vy.Two,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"2px solid dimGray"}})},Vy.Two),h.jsx(b,{value:Vy.Three,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"3px solid dimGray"}})},Vy.Three),h.jsx(b,{value:Vy.Four,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"4px solid dimGray"}})},Vy.Four),h.jsx(b,{value:Vy.Five,children:h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"24px",width:"100%",height:"1px",border:"5px solid dimGray"}})},Vy.Five)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:C,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",w)})]})})})]})})},c0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(rr),i=M(ZBe),r=M(wwt),a=M(vwt),l=M(eje),s=M(En),c=M(xH),u=M(bH),d=M(ao),f=M(oo),p=co(z.Polygon),[g,A]=m.useState((p==null?void 0:p.color)??"gray"),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&S!==x.color)return!0;break;case ue.AllObjectsOfThisType:for(const x of e)if(x.type===z.Polygon&&!x.locked&&S!==x.color)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of e)if(x.type===z.Polygon&&x.foundationId===p.foundationId&&!x.locked&&x.color!==S)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const x of e)if(x.type===z.Polygon&&x.parentId===p.parentId&&xe.isIdentical(x.normal,p.normal)&&!x.locked&&x.color!==S)return!0;break;default:if(S!==p.color)return!0}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Polygon&&!H.locked&&S.has(H.id)&&(H.color=x)})},v=S=>{if(p&&C(S))switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.color??"gray");const R={name:"Set Fill Color for Selected Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of e)H.type===z.Polygon&&x.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{l(z.Polygon,R.newValue)}};s(R),l(z.Polygon,S),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of e)H.type===z.Polygon&&H.foundationId===p.foundationId&&x.set(H.id,H.color??"gray");const R={name:"Set Fill Color for All Polygons Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&a(z.Polygon,R.groupId,R.newValue)}};s(R),a(z.Polygon,p.foundationId,S),f(d+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(o(p)){const R=new Map;for(const D of e)D.type===z.Polygon&&D.parentId===p.parentId&&xe.isIdentical(D.normal,p.normal)&&R.set(D.id,D.color??"gray");const H={name:"Set Fill Color for All Polygons on Same Surface",timestamp:Date.now(),oldValues:R,newValue:S,groupId:p.parentId,normal:p.normal,undo:()=>{for(const[D,k]of H.oldValues.entries())i(D,k)},redo:()=>{H.groupId&&r(z.Polygon,H.groupId,H.normal,H.newValue)}};s(H),r(z.Polygon,p.parentId,p.normal,S),f(d+1)}break}default:{const x=n(p.id),R=x?x.color:p.color,H={name:"Set Fill Color of Selected Polygon",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}},T=()=>{t(!1)},y=()=>{v(g)};return h.jsx(lo,{width:600,title:j.t("polygonMenu.FillColor",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Cf,{color:g??(p==null?void 0:p.color)??"gray",onChangeComplete:S=>{A(S.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:12,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",w)})]})})})]})})},u0o="/aladdin/assets/polygon_08_menu-RpvWW3pg.png",d0o="/aladdin/assets/polygon_09_menu-CCH8lYni.png",f0o="/aladdin/assets/polygon_10_menu-BYFeRpsw.png",h0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(xH),l=M(bH),s=M(ao),c=M(oo),u=co(z.Polygon),[d,f]=m.useState((u==null?void 0:u.textureType)??qi.NoTexture),p=Kt(),{Option:g}=Yo,A=(R,H)=>{e(D=>{for(const k of D.elements)if(k.id===R&&k.type===z.Polygon&&!k.locked){k.textureType=H;break}})},w=(R,H,D)=>{e(k=>{for(const W of k.elements)W.type===z.Polygon&&W.parentId===R&&xe.isIdentical(W.normal,H)&&!W.locked&&(W.textureType=D)})},b=(R,H)=>{e(D=>{for(const k of D.elements)k.type===z.Polygon&&k.foundationId===R&&!k.locked&&(k.textureType=H)})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.Polygon&&!D.locked&&(D.textureType=R)})},P=R=>{l(R.target.value)},v=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.Polygon&&!H.locked&&R!==H.textureType)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const H of n)if(H.type===z.Polygon&&H.parentId===u.parentId&&xe.isIdentical(H.normal,u.normal)&&!H.locked&&H.textureType!==R)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.Polygon&&H.foundationId===u.foundationId&&!H.locked&&H.textureType!==R)return!0;break;default:if(R!==(u==null?void 0:u.textureType))return!0}return!1}},T=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)k.type===z.Polygon&&!k.locked&&R.has(k.id)&&(k.textureType=H)})},y=R=>{if(u&&v(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.textureType??qi.NoTexture);const D={name:"Set Texture for Selected Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{T(D.oldValues,D.newValue)}};r(D),T(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.Polygon&&H.set(k.id,k.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeOnSurface:{if(i(u)){const D=new Map;for(const W of n)W.type===z.Polygon&&W.parentId===u.parentId&&xe.isIdentical(W.normal,u.normal)&&D.set(W.id,W.textureType??qi.NoTexture);const k={name:"Set Texture for All Polygons on Same Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:u.normal,undo:()=>{for(const[W,N]of k.oldValues.entries())A(W,N)},redo:()=>{k.groupId&&w(k.groupId,k.normal,k.newValue)}};r(k),w(u.parentId,u.normal,R),c(s+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.Polygon&&k.foundationId===u.foundationId&&H.set(k.id,k.textureType??qi.NoTexture);const D={name:"Set Texture for All Polygons Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};r(D),b(u.foundationId,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.textureType:u.textureType,k={name:"Set Texture of Selected Polygon",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(k.changedElementId,k.oldValue)},redo:()=>{A(k.changedElementId,k.newValue)}};r(k),A(u.id,R),c(s+1);break}}},S=()=>{t(!1)},x=()=>{y(d)};return h.jsx(lo,{width:500,title:j.t("polygonMenu.FillTexture",p),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsxs(Yo,{style:{width:"150px"},value:d,onChange:R=>f(R),children:[h.jsxs(g,{value:qi.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",p)]},qi.NoTexture),h.jsxs(g,{value:qi.Texture01,children:[h.jsx("img",{alt:qi.Texture01,src:Dtt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture01",p)]},qi.Texture01),h.jsxs(g,{value:qi.Texture02,children:[h.jsx("img",{alt:qi.Texture02,src:Ett,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture02",p)]},qi.Texture02),h.jsxs(g,{value:qi.Texture03,children:[h.jsx("img",{alt:qi.Texture03,src:ktt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture03",p)]},qi.Texture03),h.jsxs(g,{value:qi.Texture04,children:[h.jsx("img",{alt:qi.Texture04,src:Ftt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture04",p)]},qi.Texture04),h.jsxs(g,{value:qi.Texture05,children:[h.jsx("img",{alt:qi.Texture05,src:Ltt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture05",p)]},qi.Texture05),h.jsxs(g,{value:qi.Texture06,children:[h.jsx("img",{alt:qi.Texture06,src:Wtt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture06",p)]},qi.Texture06),h.jsxs(g,{value:qi.Texture07,children:[h.jsx("img",{alt:qi.Texture07,src:Ntt,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture07",p)]},qi.Texture07),h.jsxs(g,{value:qi.Texture08,children:[h.jsx("img",{alt:qi.Texture08,src:u0o,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture08",p)]},qi.Texture08),h.jsxs(g,{value:qi.Texture09,children:[h.jsx("img",{alt:qi.Texture09,src:d0o,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture09",p)]},qi.Texture09),h.jsxs(g,{value:qi.Texture10,children:[h.jsx("img",{alt:qi.Texture10,src:f0o,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("polygonMenu.Texture10",p)]},qi.Texture10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",p)})]})})})]})})},p0o=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(xH),i=M(bH),r=M(ao),a=M(oo),l=M(Vn),s=M(dn),c=co(z.Polygon),[u,d]=m.useState((c==null?void 0:c.opacity)!==void 0?c.opacity:1),f=Kt(),p=(v,T)=>{s(y=>{for(const S of y.elements)if(S.id===v){S.opacity=T;break}})},g=v=>{for(const[T,y]of v.entries())p(T,y)},A=(v,T)=>{for(const y of v.keys())p(y,T)},w=v=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Polygon&&v!==T.opacity&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Polygon&&v!==T.opacity&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Polygon&&T.foundationId===c.foundationId&&v!==T.opacity&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:for(const T of e)if(T.type===z.Polygon&&T.parentId===c.parentId&&xe.isIdentical(T.normal,c.normal)&&v!==T.opacity&&!T.locked)return!0;break;default:if(v!==(c==null?void 0:c.opacity))return!0;break}return!1}},b=v=>{if(c&&w(v))switch(o){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of e)if(S.type===z.Polygon&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for Selected Polygons",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of e)if(S.type===z.Polygon&&!S.locked){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for All Polygons",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(c.foundationId){const T=new Map;for(const S of e)if(S.type===z.Polygon&&S.foundationId===c.foundationId&&!S.locked){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:c.foundationId,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{if(c.parentId){const T=new Map;for(const S of e)if(S.type===z.Polygon&&S.parentId===c.parentId&&xe.isIdentical(S.normal,c.normal)&&!S.locked){const x=S;T.set(S.id,x.opacity),p(x.id,v)}const y={name:"Set Opacity for All Polygons Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:c.foundationId,undo:()=>{g(y.oldValues)},redo:()=>{A(y.oldValues,y.newValue)}};n(y),a(r+1)}break}default:if(c){const T=l(c.id),y=T.opacity!==void 0?T.opacity:c.opacity!==void 0?c.opacity:1,S={name:"Set Polygon Opacity",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};n(S),p(c.id,v),a(r+1);break}}},C=()=>{t(!1)},P=()=>{b(u)};return h.jsx(lo,{width:550,title:j.t("polygonMenu.Opacity",f),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.1,precision:1,value:u,formatter:v=>Number(v).toFixed(1),onChange:v=>d(v)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",f),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v=>i(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("polygonMenu.OnlyThisPolygon",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("polygonMenu.AllPolygonsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("polygonMenu.AllPolygonsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("polygonMenu.AllSelectedPolygons",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("polygonMenu.AllPolygons",f)})]})})})]})})};class FR{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=xe.calculatePolygonBounds(e.vertices),g=(i===ui.portrait?o.length:o.width)*a;if(s===Rl.upDown){const A=Math.floor(((p.maxX()-p.minX())*n.lx-g)/l),w=p.minX()+g/(2*n.lx)+d/n.lx,b=l/n.lx,C=.5*Math.abs(Math.cos(r))*g/n.lx,P={x:0,y:-.5},v={x:0,y:.5},T="rotation"in n?n.rotation:void 0;for(let y=0;y<=A;y++){const S=w+y*b;P.x=v.x=S-C;const x=xe.polygonIntersections(P,v,e.vertices).sort((D,k)=>D.y-k.y);P.x=v.x=S+C;const R=xe.polygonIntersections(P,v,e.vertices).sort((D,k)=>D.y-k.y),H=Math.max(x.length,R.length)/2;if(H>0)for(let D=0;DD.x-k.x);P.y=v.y=S+C;const R=xe.polygonIntersections(P,v,e.vertices).sort((D,k)=>D.x-k.x),H=Math.max(x.length,R.length)/2;if(H>0)for(let D=0;D0)return rl.makeSolarPanel(s,c,a,(A+w)/2,s.type===z.Cuboid?.5:s.lz,ui.portrait,d,f,u,Vt,Po,r,void 0,b*s.ly,l)}static makeLeftRightSegment(e,n,o,i,r,a,l,s,c,u,d,f,p){const g=Math.abs(e.x-n.x)0)return rl.makeSolarPanel(s,c,(A+w)/2,a,s.type===z.Cuboid?.5:s.lz,ui.portrait,d,f,u,0,Po,r,void 0,b*s.lx,l)}}class g0o{static create(e,n,o,i,r,a,l,s,c,u,d){if(n.type!==z.Foundation&&n.type!==z.Cuboid)throw new Error("base must be a foundation or cuboid");const f=[],p=!xe.isZero(n.rotation[2]),g=[];for(const P of e.vertices)g.push({x:P.x*n.lx+n.cx,y:P.y*n.ly+n.cy});const A=p?xe.rotatePolygon(g,n.cx,n.cy,n.rotation[2]):g,w=xe.calculatePolygonBounds(A),b=(i===ui.portrait?o.length:o.width)*a,C=.5*Math.abs(Math.cos(r))*b;if(s===Rl.eastWest){const P=w.maxY()-w.minY(),v=Math.floor((P-2*d-b)/l),T=w.minY()+b/2+d,y={x:w.minX(),y:0},S={x:w.maxX(),y:0};for(let x=0;x<=v;x++){const R=T+x*l;y.y=S.y=R-C;const H=xe.polygonIntersections(y,S,A).sort((W,N)=>W.x-N.x);y.y=S.y=R+C;const D=xe.polygonIntersections(y,S,A).sort((W,N)=>W.x-N.x),k=Math.max(H.length,D.length)/2;if(k>0)for(let W=0;W0){const ie=xe.relativeCoordinates((_+Y)/2,R,0,n),ee=rl.makeSolarPanel(n,o,ie.x,ie.y,n.type===z.Cuboid?.5:n.lz,ui.portrait,c,u,r,-n.rotation[2],Po,n.rotation,void 0,Z,b);ee.referenceId=e.id,xe.changeOrientation(ee,o,i),f.push(ee)}}}}else if(s===Rl.northSouth){const P=w.maxX()-w.minX(),v=Math.floor((P-2*d-b)/l),T=w.minX()+b/2+d,y={x:0,y:w.minY()},S={x:0,y:w.maxY()};for(let x=0;x<=v;x++){const R=T+x*l;y.x=S.x=R-C;const H=xe.polygonIntersections(y,S,A).sort((W,N)=>W.y-N.y);y.x=S.x=R+C;const D=xe.polygonIntersections(y,S,A).sort((W,N)=>W.y-N.y),k=Math.max(H.length,D.length)/2;if(k>0)for(let W=0;W0){const ie=xe.relativeCoordinates(R,(O+J)/2,0,n),ee=rl.makeSolarPanel(n,o,ie.x,ie.y,n.type===z.Cuboid?.5:n.lz,ui.portrait,c,u,r,-n.rotation[2]+Vt,Po,n.rotation,void 0,Z,b);ee.referenceId=e.id,xe.changeOrientation(ee,o,i),f.push(ee)}}}}return f}}const{Option:K8}=Yo,m0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M.getState().solarPanelArrayLayoutParams,i=M(xb),r=M(rr),a=M(C7),l=M(J2),s=M(hwt),c=M(Ywt),u=M(cge),d=M(jwt),f=M(En),p=M(ao),g=M(oo),A=M(ca),[w,b]=m.useState(!1),[C,P]=m.useState(!1),[v,T]=m.useState(!1),[y,S]=m.useState({left:0,top:0,bottom:0,right:0}),x=m.useRef(null),R=m.useRef(!0),H=m.useRef(null),D=m.useRef(null),k=m.useRef(!1),W=m.useRef(M($6t)),N=m.useRef(M(Q6t)),L=m.useRef(M(rAt)),E=m.useRef(M(iAt)),U=m.useRef(M(Z6t)),F=m.useRef(M(eAt)),B=m.useRef(M(tAt)??0),_=m.useRef(M(nAt)),Y=m.useRef(M(oAt)),O=Kt(),J=l(W.current),Z=i();m.useEffect(()=>{var de;(de=H.current)==null||de.focus()},[]),m.useEffect(()=>{var de;C&&((de=D.current)==null||de.focus())},[C]);const ie=(de,Se)=>{if(x.current){const{clientWidth:Ce,clientHeight:ve}=window.document.documentElement,Ie=x.current.getBoundingClientRect();S({left:-Ie.left+Se.x,right:Ce-(Ie.right-Se.x),top:-Ie.top+Se.y,bottom:ve-((Ie==null?void 0:Ie.bottom)-Se.y)})}},ee=()=>{const de=(L.current===ui.portrait?J.length:J.width)*U.current;return .5*(de*Math.abs(Math.sin(E.current)))>_.current?(Do(j.t("message.SolarPanelsCannotIntersectWithGround",O)),!1):de>F.current?(Do(j.t("message.SolarPanelsCannotOverlapWithOneAnother",O)),!1):!0},q=de=>{const Se=n.filter(Ce=>Ce.type===z.SolarPanel&&Ce.parentId===de.parentId);if(Se.length>0)for(const Ce of Se)Ce.referenceId!==de.id&&xe.isPointInside(Ce.cx,Ce.cy,de.vertices)&&s(Ce.id,de.id)},ae=()=>{if((Z==null?void 0:Z.type)===z.Polygon){const de=r(Z);if(de){const Se=[],ve=N.current===Rl.eastWest||N.current===Rl.northSouth?g0o.create(Z,de,J,L.current,E.current,U.current,F.current,N.current,_.current,Y.current,B.current):FR.create(Z,de,J,L.current,E.current,U.current,F.current,N.current,_.current,Y.current,B.current);if(ve.length>0){for(const ze of ve)Se.push(JSON.parse(JSON.stringify(ze))),e(ye=>{ye.elements.push(ze)});const Ie={name:"Solar Panel Array Layout",timestamp:Date.now(),oldElements:M.getState().deletedElements,newElements:Se,oldParams:{pvModelName:o.pvModelName,rowAxis:o.rowAxis,orientation:o.orientation,tiltAngle:o.tiltAngle,rowsPerRack:o.rowsPerRack,interRowSpacing:o.interRowSpacing,poleHeight:o.poleHeight,poleSpacing:o.poleSpacing,margin:o.margin},newParams:{pvModelName:W.current,rowAxis:N.current,orientation:L.current,tiltAngle:E.current,rowsPerRack:U.current,interRowSpacing:F.current,poleHeight:_.current,poleSpacing:Y.current,margin:B.current},referenceId:Z.id,undo:()=>{u(Ie.referenceId,!1),Ie.oldElements.length>0&&e(ze=>{for(const ye of Ie.oldElements)ze.elements.push(ye)}),ne(Ie.oldParams),se()},redo:()=>{u(Ie.referenceId,!1),Ie.newElements.length>0&&e(ze=>{for(const ye of Ie.newElements)ze.elements.push(ye)}),ne(Ie.newParams),se()}};f(Ie),g(p+1)}}R.current=!1,se()}},ne=de=>{W.current=de.pvModelName,N.current=de.rowAxis,L.current=de.orientation,E.current=de.tiltAngle,U.current=de.rowsPerRack,F.current=de.interRowSpacing,_.current=de.poleHeight,Y.current=de.poleSpacing,B.current=de.margin??0},se=()=>{e(de=>{de.solarPanelArrayLayoutParams.pvModelName=W.current,de.solarPanelArrayLayoutParams.rowAxis=N.current,de.solarPanelArrayLayoutParams.orientation=L.current,de.solarPanelArrayLayoutParams.tiltAngle=E.current,de.solarPanelArrayLayoutParams.rowsPerRack=U.current,de.solarPanelArrayLayoutParams.interRowSpacing=F.current,de.solarPanelArrayLayoutParams.poleHeight=_.current,de.solarPanelArrayLayoutParams.poleSpacing=Y.current,de.solarPanelArrayLayoutParams.margin=B.current})},le=()=>{R.current&&(ee()?Z&&(q(Z),c(Z.id)>0?P(!0):(d(),ae())):Do(j.t("polygonMenu.LayoutNotAcceptedCheckYourParameters",O)))},te=()=>{le(),k.current=!1},he=()=>{t(!1),A(),R.current=!0,k.current=!1},pe=()=>{R.current?(le(),k.current=!0):t(!1)},fe=()=>{P(!1)},$=()=>{Z&&(u(Z.id,!0),ae(),k.current&&(t(!1),g(0))),P(!1)};return h.jsxs(h.Fragment,{children:[C&&h.jsx(_r,{width:400,open:C,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>T(!0),onMouseOut:()=>T(!1),children:j.t("word.Reminder",O)}),footer:[h.jsx(no,{onClick:fe,children:j.t("word.Cancel",O)},"Cancel"),h.jsx(no,{type:"primary",ref:D,onClick:$,children:j.t("word.OK",O)},"OK")],children:j.t("message.ExistingSolarPanelsWillBeRemovedBeforeApplyingNewLayout",O)+" "+j.t("message.DoYouWantToContinue",O)}),h.jsxs(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>T(!0),onMouseOut:()=>T(!1),children:j.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",O)}),footer:[h.jsx(no,{disabled:!R.current,onClick:te,children:j.t("word.Apply",O)},"Apply"),h.jsx(no,{onClick:he,children:j.t("word.Cancel",O)},"Cancel"),h.jsx(no,{type:"primary",ref:H,onClick:pe,children:j.t("word.OK",O)},"OK")],onCancel:()=>{t(!1),R.current=!0},maskClosable:!1,destroyOnClose:!1,modalRender:de=>h.jsx(Vr,{disabled:!v,bounds:y,onStart:(Se,Ce)=>ie(Se,Ce),children:h.jsx("div",{ref:x,children:de})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayModel",O)+" ("+Object.keys(a).length+" "+j.t("word.Options",O)+"):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:W.current,onChange:de=>{de!==null&&(W.current=de,R.current=!0,b(!w))},children:Object.keys(a).map(de=>h.jsx(K8,{value:de,children:de+(a[de].bifacialityFactor>0?" ("+j.t("pvModelPanel.Bifacial",O)+")":"")},de))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayRowAxis",O)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:N.current,onChange:de=>{de!==null&&(N.current=de,R.current=!0,b(!w))},children:[h.jsx(K8,{value:Rl.leftRight,children:j.t("polygonMenu.SolarPanelArrayLeftRightRowAxis",O)},Rl.leftRight),h.jsx(K8,{value:Rl.upDown,children:j.t("polygonMenu.SolarPanelArrayUpDownRowAxis",O)},Rl.upDown),h.jsx(K8,{value:Rl.eastWest,children:j.t("polygonMenu.SolarPanelArrayEastWestRowAxis",O)},Rl.eastWest),h.jsx(K8,{value:Rl.northSouth,children:j.t("polygonMenu.SolarPanelArrayNorthSouthRowAxis",O)},Rl.northSouth)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayOrientation",O)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{style:{width:"100%"},value:L.current,onChange:de=>{de!==null&&(L.current=de,R.current=!0,b(!w))},children:[h.jsx(K8,{value:ui.portrait,children:j.t("solarPanelMenu.Portrait",O)},ui.portrait),h.jsx(K8,{value:ui.landscape,children:j.t("solarPanelMenu.Landscape",O)},ui.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayTiltAngle",O)+" ([-90°, 90°]): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:-90,max:90,style:{width:"100%"},precision:2,value:parseFloat(xe.toDegrees(E.current).toFixed(2)),step:1,formatter:de=>`${de}°`,onChange:de=>{de!==null&&(E.current=xe.toRadians(de),R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayRowWidth",O)+" ([1-100] "+j.t("solarPanelMenu.Panels",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:100,step:1,style:{width:"100%"},precision:0,formatter:de=>Number(de).toFixed(0),value:U.current,onChange:de=>{de!==null&&(U.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayInterRowSpacing",O)+" ([1, 20] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:1,max:20,style:{width:"100%"},precision:2,value:F.current,step:.5,onChange:de=>{de!==null&&(F.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayMargin",O)+" ([0, 5] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:5,style:{width:"100%"},precision:1,value:B.current,step:.1,onChange:de=>{de!==null&&(B.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayPoleHeight",O)+" ([0, 10] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:0,max:10,style:{width:"100%"},precision:2,value:_.current,step:.1,onChange:de=>{de!==null&&(_.current=de,R.current=!0,b(!w))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("polygonMenu.SolarPanelArrayPoleSpacing",O)+" ([2, 50] "+j.t("word.MeterAbbreviation",O)+"): "}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{min:2,max:50,style:{width:"100%"},precision:2,value:Y.current,step:.5,onChange:de=>{de!==null&&(Y.current=de,R.current=!0,b(!w))}})})]})]})]})},{Option:Nh}=Yo,{TabPane:pae}=FW,y0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).geneticAlgorithmParams,u=M(kq),d=M(G8t),f=M(zq),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),v=m.useRef(c.objectiveFunctionType),T=m.useRef(c.selectionMethod),y=m.useRef(c.searchMethod),S=m.useRef(c.populationSize),x=m.useRef(c.maximumGenerations),R=m.useRef(c.mutationRate),H=m.useRef(c.selectionRate??.5),D=m.useRef(c.crossoverRate??.5),k=m.useRef(c.convergenceThreshold),W=m.useRef(c.localSearchRadius),N=m.useRef(u.minimumTiltAngle??-Vt),L=m.useRef(u.maximumTiltAngle??Vt),E=m.useRef(u.minimumRowsPerRack),U=m.useRef(u.maximumRowsPerRack),F=m.useRef(u.minimumInterRowSpacing),B=m.useRef(u.maximumInterRowSpacing),_=m.useRef(null);m.useEffect(()=>{var $;($=_.current)==null||$.focus()},[]);const Y={lng:o},O=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Z=J?s(z.SolarPanel,J.id):void 0,ie=m.useRef(Z&&Z.length>0?Z[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),ee=m.useRef(Z&&Z.length>0?Z[0].orientation:u.orientation??ui.landscape),q=m.useRef(Z&&Z.length>0?Z[0].poleHeight:u.poleHeight??1),ae=m.useRef(Z&&Z.length>0?Z[0].poleSpacing:u.poleSpacing??3),ne=m.useRef(u.margin??0),se=m.useRef(f.electricitySellingPrice),le=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{se.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{le.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const te=($,de)=>{if(P.current){const{clientWidth:Se,clientHeight:Ce}=window.document.documentElement,ve=P.current.getBoundingClientRect();C({left:-ve.left+de.x,right:Se-(ve.right-de.x),top:-ve.top+de.y,bottom:Ce-((ve==null?void 0:ve.bottom)-de.y)})}},he=()=>{e($=>{$.evolutionaryAlgorithmState.geneticAlgorithmParams.problem=Tr.SOLAR_PANEL_ARRAY,$.evolutionaryAlgorithmState.geneticAlgorithmParams.objectiveFunctionType=v.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionMethod=T.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.searchMethod=y.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.populationSize=S.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.maximumGenerations=x.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.selectionRate=H.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.crossoverRate=D.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.mutationRate=R.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.convergenceThreshold=k.current,$.evolutionaryAlgorithmState.geneticAlgorithmParams.localSearchRadius=W.current,$.solarPanelArrayLayoutConstraints||($.solarPanelArrayLayoutConstraints=new XG),$.solarPanelArrayLayoutConstraints.minimumRowsPerRack=E.current,$.solarPanelArrayLayoutConstraints.maximumRowsPerRack=U.current,$.solarPanelArrayLayoutConstraints.minimumTiltAngle=N.current,$.solarPanelArrayLayoutConstraints.maximumTiltAngle=L.current,$.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=F.current,$.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=B.current,$.solarPanelArrayLayoutConstraints.poleHeight=q.current,$.solarPanelArrayLayoutConstraints.poleSpacing=ae.current,$.solarPanelArrayLayoutConstraints.pvModelName=ie.current,$.solarPanelArrayLayoutConstraints.rowAxis=O.current,$.solarPanelArrayLayoutConstraints.orientation=ee.current,$.solarPanelArrayLayoutConstraints.margin=ne.current,$.economicsParams.operationalCostPerUnit=le.current,$.economicsParams.electricitySellingPrice=se.current})},pe=()=>{i||hn(fe("message.EvolutionStarted",Y)),he(),setTimeout(()=>{ht.getState().set($=>{$.runEvolution=!$.runEvolution}),e($=>{$.evolutionMethod=Bs.GENETIC_ALGORITHM,n&&($.actionInfo={name:"Run Genetic Algorithm for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:fe}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:fe("optimizationMenu.SolarPanelArrayLayout",Y)+": "+fe("optimizationMenu.GeneticAlgorithmSettings",Y)}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:fe("word.Cancel",Y)},"Cancel"),h.jsx(no,{type:"primary",ref:_,onClick:()=>{pe(),t(!1)},children:fe("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:$=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(de,Se)=>te(de,Se),children:h.jsx("div",{ref:P,children:$})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:$=>{e(de=>{de.geneticAlgorithmWizardSelectedTab=$})},children:[h.jsxs(pae,{tab:fe("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.Objective",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:$=>{v.current=$,g(!p)},children:[h.jsx(Nh,{value:xo.DAILY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(Nh,{value:xo.DAILY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.YEARLY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(Nh,{value:xo.DAILY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(Nh,{value:xo.YEARLY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.GeneticAlgorithmSelectionMethod",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:T.current,style:{width:"100%"},value:T.current,onChange:$=>{T.current=$,g(!p)},children:[h.jsx(Nh,{value:zm.ROULETTE_WHEEL,children:fe("optimizationMenu.RouletteWheel",Y)},zm.ROULETTE_WHEEL),h.jsx(Nh,{value:zm.TOURNAMENT,children:fe("optimizationMenu.Tournament",Y)},zm.TOURNAMENT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.PopulationSize",Y)+" [10, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:S.current,step:1,formatter:$=>Number($).toFixed(0),onChange:$=>{$!==null&&(S.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MaximumGenerations",Y)+" [5, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:x.current,formatter:$=>Number($).toFixed(0),onChange:$=>{$!==null&&(x.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SelectionRate",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:$=>{$!==null&&(H.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.CrossoverRate",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:$=>{$!==null&&(D.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MutationRate",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:$=>{$!==null&&(R.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:k.current,step:.001,onChange:$=>{$!==null&&(k.current=Number($),g(!p))}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:y.current,style:{width:"100%"},value:y.current,onChange:$=>{y.current=Number($),g(!p)},children:[h.jsx(Nh,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:fe("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(Nh,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:fe("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),y.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:W.current,step:.01,onChange:$=>{$!==null&&(W.current=Number($),g(!p))}})})]})]},"1"),h.jsxs(pae,{tab:fe("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{N.current=xe.toRadians($[0]),L.current=xe.toRadians($[1]),g(!p)},min:-90,max:90,defaultValue:[xe.toDegrees(N.current),xe.toDegrees(L.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{E.current=$[0],U.current=$[1],g(!p)},min:1,max:9,defaultValue:[E.current,U.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{F.current=$[0],B.current=$[1],g(!p)},min:1,max:10,defaultValue:[F.current,B.current],marks:{1:{style:{fontSize:"10px"},label:"1m"},3:{style:{fontSize:"10px"},label:"3m"},5:{style:{fontSize:"10px"},label:"5m"},7:{style:{fontSize:"10px"},label:"7m"},9:{style:{fontSize:"10px"},label:"9m"}}})})]})]},"2"),h.jsxs(pae,{tab:fe("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+fe("word.Options",Y)+"):"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ie.current,onChange:$=>{ie.current=$,g(!p)},children:Object.keys(r).map($=>h.jsx(Nh,{value:$,children:$+(r[$].bifacialityFactor>0?" ("+fe("pvModelPanel.Bifacial",Y)+")":"")},$))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:O.current,onChange:$=>{O.current=$,g(!p)},children:[h.jsx(Nh,{value:Rl.leftRight,children:fe("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(Nh,{value:Rl.upDown,children:fe("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:ee.current,onChange:$=>{ee.current=$,g(!p)},children:[h.jsx(Nh,{value:ui.portrait,children:fe("solarPanelMenu.Portrait",Y)},ui.portrait),h.jsx(Nh,{value:ui.landscape,children:fe("solarPanelMenu.Landscape",Y)},ui.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ne.current=$,g(!p)},min:0,max:5,step:.1,defaultValue:ne.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{q.current=$,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ae.current=$,g(!p)},min:2,max:10,step:.1,defaultValue:ae.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{le.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:le.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{se.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:se.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},{Option:B1}=Yo,{TabPane:gae}=FW,A0o=({setDialogVisible:t})=>{const e=M(dn),n=M(ha),o=M(Sc),i=ht(K2),r=M(C7),a=M(Z9),l=M(rr),s=M(Q9),c=M(pA).particleSwarmOptimizationParams,u=M(kq),d=M(X8t),f=M(zq),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),v=m.useRef(c.objectiveFunctionType),T=m.useRef(c.searchMethod),y=m.useRef(c.swarmSize),S=m.useRef(c.maximumSteps),x=m.useRef(c.vmax??.01),R=m.useRef(c.inertia??.8),H=m.useRef(c.cognitiveCoefficient??.1),D=m.useRef(c.socialCoefficient??.1),k=m.useRef(c.convergenceThreshold),W=m.useRef(c.localSearchRadius),N=m.useRef(u.minimumTiltAngle??-Vt),L=m.useRef(u.maximumTiltAngle??Vt),E=m.useRef(u.minimumRowsPerRack),U=m.useRef(u.maximumRowsPerRack),F=m.useRef(u.minimumInterRowSpacing),B=m.useRef(u.maximumInterRowSpacing),_=m.useRef(null);m.useEffect(()=>{var $;($=_.current)==null||$.focus()},[]);const Y={lng:o},O=m.useRef(u.rowAxis??Rl.leftRight),J=a?l(a):void 0,Z=J?s(z.SolarPanel,J.id):void 0,ie=m.useRef(Z&&Z.length>0?Z[0].pvModelName:u.pvModelName??"CS6X-355P-FG"),ee=m.useRef(Z&&Z.length>0?Z[0].orientation:u.orientation??ui.landscape),q=m.useRef(Z&&Z.length>0?Z[0].poleHeight:u.poleHeight??1),ae=m.useRef(Z&&Z.length>0?Z[0].poleSpacing:u.poleSpacing??3),ne=m.useRef(u.margin??0),se=m.useRef(f.electricitySellingPrice),le=m.useRef(f.operationalCostPerUnit);m.useEffect(()=>{se.current=f.electricitySellingPrice},[f.electricitySellingPrice]),m.useEffect(()=>{le.current=f.operationalCostPerUnit},[f.operationalCostPerUnit]);const te=($,de)=>{if(P.current){const{clientWidth:Se,clientHeight:Ce}=window.document.documentElement,ve=P.current.getBoundingClientRect();C({left:-ve.left+de.x,right:Se-(ve.right-de.x),top:-ve.top+de.y,bottom:Ce-((ve==null?void 0:ve.bottom)-de.y)})}},he=()=>{e($=>{$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.problem=Tr.SOLAR_PANEL_ARRAY,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.objectiveFunctionType=v.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.searchMethod=T.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.swarmSize=y.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.maximumSteps=S.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.cognitiveCoefficient=H.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.socialCoefficient=D.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.vmax=x.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.inertia=R.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.convergenceThreshold=k.current,$.evolutionaryAlgorithmState.particleSwarmOptimizationParams.localSearchRadius=W.current,$.solarPanelArrayLayoutConstraints||($.solarPanelArrayLayoutConstraints=new XG),$.solarPanelArrayLayoutConstraints.minimumRowsPerRack=E.current,$.solarPanelArrayLayoutConstraints.maximumRowsPerRack=U.current,$.solarPanelArrayLayoutConstraints.minimumTiltAngle=N.current,$.solarPanelArrayLayoutConstraints.maximumTiltAngle=L.current,$.solarPanelArrayLayoutConstraints.minimumInterRowSpacing=F.current,$.solarPanelArrayLayoutConstraints.maximumInterRowSpacing=B.current,$.solarPanelArrayLayoutConstraints.poleHeight=q.current,$.solarPanelArrayLayoutConstraints.poleSpacing=ae.current,$.solarPanelArrayLayoutConstraints.pvModelName=ie.current,$.solarPanelArrayLayoutConstraints.rowAxis=O.current,$.solarPanelArrayLayoutConstraints.orientation=ee.current,$.solarPanelArrayLayoutConstraints.margin=ne.current,$.economicsParams.operationalCostPerUnit=le.current,$.economicsParams.electricitySellingPrice=se.current})},pe=()=>{i||hn(fe("message.EvolutionStarted",Y)),he(),setTimeout(()=>{ht.getState().set($=>{$.runEvolution=!$.runEvolution}),e($=>{$.evolutionMethod=Bs.PARTICLE_SWARM_OPTIMIZATION,n&&($.actionInfo={name:"Run Particle Swarm Optimization for Solar Panel Array Layout",timestamp:new Date().getTime()})})},100)},{t:fe}=jl();return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:fe("optimizationMenu.SolarPanelArrayLayout",Y)+": "+fe("optimizationMenu.ParticleSwarmOptimizationSettings",Y)}),footer:[h.jsx(no,{onClick:()=>{t(!1)},children:fe("word.Cancel",Y)},"Cancel"),h.jsx(no,{type:"primary",ref:_,onClick:()=>{pe(),t(!1)},children:fe("word.Run",Y)},"Run")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:$=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(de,Se)=>te(de,Se),children:h.jsx("div",{ref:P,children:$})}),children:h.jsxs(FW,{defaultActiveKey:d,type:"card",onChange:$=>{e(de=>{de.particleSwarmOptimizationWizardSelectedTab=$})},children:[h.jsxs(gae,{tab:fe("optimizationMenu.Parameters",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.Objective",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:v.current,style:{width:"100%"},value:v.current,onChange:$=>{v.current=$,g(!p)},children:[h.jsx(B1,{value:xo.DAILY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyTotalYield",Y)},xo.DAILY_TOTAL_OUTPUT),h.jsx(B1,{value:xo.YEARLY_TOTAL_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyTotalYield",Y)},xo.YEARLY_TOTAL_OUTPUT),h.jsx(B1,{value:xo.DAILY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionDailyMeanYield",Y)},xo.DAILY_AVERAGE_OUTPUT),h.jsx(B1,{value:xo.YEARLY_AVERAGE_OUTPUT,children:fe("optimizationMenu.ObjectiveFunctionYearlyMeanYield",Y)},xo.YEARLY_AVERAGE_OUTPUT),h.jsx(B1,{value:xo.DAILY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionDailyProfit",Y)},xo.DAILY_PROFIT),h.jsx(B1,{value:xo.YEARLY_PROFIT,children:fe("optimizationMenu.ObjectiveFunctionYearlyProfit",Y)},xo.YEARLY_PROFIT)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SwarmSize",Y)+" [10, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:10,max:100,style:{width:"100%"},precision:0,value:y.current,step:1,formatter:$=>Number($).toFixed(0),onChange:$=>{y.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MaximumSteps",Y)+" [5, 100]:"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:5,max:100,step:1,style:{width:"100%"},precision:0,value:S.current,formatter:$=>Number($).toFixed(0),onChange:$=>{S.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.CognitiveCoefficient",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:H.current,step:.01,onChange:$=>{H.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SocialCoefficient",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:D.current,step:.01,onChange:$=>{D.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.InertiaWeight",Y)+" [0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:R.current,step:.01,onChange:$=>{R.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.MaximumVelocity",Y)+" [0.001, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:x.current,step:.001,onChange:$=>{x.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.ConvergenceThreshold",Y)+" (0, 0.1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:.001,max:.1,style:{width:"100%"},precision:3,value:k.current,step:.001,onChange:$=>{k.current=Number($),g(!p)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.SearchMethod",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{defaultValue:T.current,style:{width:"100%"},value:T.current,onChange:$=>{T.current=Number($),g(!p)},children:[h.jsx(B1,{value:as.GLOBAL_SEARCH_UNIFORM_SELECTION,children:fe("optimizationMenu.GlobalSearchUniformSelection",Y)},as.GLOBAL_SEARCH_UNIFORM_SELECTION),h.jsx(B1,{value:as.LOCAL_SEARCH_RANDOM_OPTIMIZATION,children:fe("optimizationMenu.LocalSearchRandomOptimization",Y)},as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)]})})]}),T.current===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION&&h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.LocalSearchRadius",Y)+" ([0, 1]: "}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Hn,{min:0,max:1,style:{width:"100%"},precision:2,value:W.current,step:.01,onChange:$=>{W.current=Number($),g(!p)}})})]})]},"1"),h.jsxs(gae,{tab:fe("optimizationMenu.Variables",Y),children:[h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.TiltAngleRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{N.current=xe.toRadians($[0]),L.current=xe.toRadians($[1]),g(!p)},min:-90,max:90,defaultValue:[xe.toDegrees(N.current),xe.toDegrees(L.current)],marks:{"-90":{style:{fontSize:"10px"},label:"-90°"},"-45":{style:{fontSize:"10px"},label:"-45°"},0:{style:{fontSize:"10px"},label:"0°"},45:{style:{fontSize:"10px"},label:"45°"},90:{style:{fontSize:"10px"},label:"90°"}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.RowsPerRackRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{E.current=$[0],U.current=$[1],g(!p)},min:1,max:9,defaultValue:[E.current,U.current],marks:{1:{style:{fontSize:"10px"},label:1},2:{style:{fontSize:"10px"},label:2},3:{style:{fontSize:"10px"},label:3},4:{style:{fontSize:"10px"},label:4},5:{style:{fontSize:"10px"},label:5},6:{style:{fontSize:"10px"},label:6},7:{style:{fontSize:"10px"},label:7},8:{style:{fontSize:"10px"},label:8},9:{style:{fontSize:"10px"},label:9}}})})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("optimizationMenu.InterRowSpacingRange",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{range:!0,onChange:$=>{F.current=$[0],B.current=$[1],g(!p)},min:2,max:10,defaultValue:[F.current,B.current],marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]})]},"2"),h.jsxs(gae,{tab:fe("optimizationMenu.Constants",Y),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"0px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayModel",Y)+" ("+Object.keys(r).length+" "+fe("word.Options",Y)+"):"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:ie.current,onChange:$=>{ie.current=$,g(!p)},children:Object.keys(r).map($=>h.jsx(B1,{value:$,children:$+(r[$].bifacialityFactor>0?" ("+fe("pvModelPanel.Bifacial",Y)+")":"")},$))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayRowAxis",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:O.current,onChange:$=>{O.current=$,g(!p)},children:[h.jsx(B1,{value:Rl.leftRight,children:fe("polygonMenu.SolarPanelArrayLeftRightRowAxis",Y)},Rl.leftRight),h.jsx(B1,{value:Rl.upDown,children:fe("polygonMenu.SolarPanelArrayUpDownRowAxis",Y)},Rl.upDown)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"6px",paddingTop:"8px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayOrientation",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsxs(Yo,{style:{width:"100%"},value:ee.current,onChange:$=>{ee.current=$,g(!p)},children:[h.jsx(B1,{value:ui.portrait,children:fe("solarPanelMenu.Portrait",Y)},ui.portrait),h.jsx(B1,{value:ui.landscape,children:fe("solarPanelMenu.Landscape",Y)},ui.landscape)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("polygonMenu.SolarPanelArrayMargin",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ne.current=$,g(!p)},min:0,max:5,step:.1,defaultValue:ne.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},1:{style:{fontSize:"10px"},label:"1m"},2:{style:{fontSize:"10px"},label:"2m"},3:{style:{fontSize:"10px"},label:"3m"},4:{style:{fontSize:"10px"},label:"4m"},5:{style:{fontSize:"10px"},label:"5m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarCollectorMenu.PoleHeight",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{q.current=$,g(!p)},min:0,max:10,step:.1,defaultValue:q.current,marks:{0:{style:{fontSize:"10px"},label:"0m"},2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("solarPanelMenu.PoleSpacing",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{ae.current=$,g(!p)},min:2,max:10,step:.1,defaultValue:ae.current,marks:{2:{style:{fontSize:"10px"},label:"2m"},4:{style:{fontSize:"10px"},label:"4m"},6:{style:{fontSize:"10px"},label:"6m"},8:{style:{fontSize:"10px"},label:"8m"},10:{style:{fontSize:"10px"},label:"10m"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.OperationalCostPerUnit",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{le.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:le.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"0px",paddingTop:"12px"},children:[h.jsx(it,{className:"gutter-row",span:12,children:fe("economicsPanel.ElectricitySellingPrice",Y)+":"}),h.jsx(it,{className:"gutter-row",span:12,children:h.jsx(Mu,{style:{paddingBottom:0,paddingTop:0,marginTop:"16px",marginBottom:"16px"},onChange:$=>{se.current=$,g(!p)},min:.1,max:1,step:.01,defaultValue:se.current,marks:{.1:{style:{fontSize:"10px"},label:"10¢"},.3:{style:{fontSize:"10px"},label:"30¢"},.5:{style:{fontSize:"10px"},label:"50¢"},.7:{style:{fontSize:"10px"},label:"70¢"},.9:{style:{fontSize:"10px"},label:"90¢"}}})})]})]},"3")]})})})},w0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o=M.getState().getParent(n),i={lng:M.getState().language},r=!n.locked;return e.push({key:"polygon-paste",label:h.jsx(OH,{})}),e.push({key:"polygon-copy",label:h.jsx(Sf,{})}),r&&e.push({key:"polygon-cut",label:h.jsx(Tf,{})}),o&&(o.type===z.Foundation||o.type===z.Cuboid)&&e.push({key:"polygon-layout-submenu",label:h.jsx(tn,{children:j.t("polygonMenu.Layout",i)}),children:[{key:"solar-panel-layout-wizard",label:h.jsxs(io,{noPadding:!0,Dialog:m0o,children:[j.t("polygonMenu.SolarPanelArrayLayoutParametricDesign",i)," ..."]})},{key:"solar-panel-layout-ai",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.SolarPanelArrayLayoutGenerativeDesign",i)}),children:[{key:"solar-panel-layout-ga",label:h.jsxs(io,{noPadding:!0,Dialog:y0o,children:[j.t("optimizationMenu.GeneticAlgorithm",i)," ..."]})},{key:"solar-panel-layout-pso",label:h.jsxs(io,{noPadding:!0,Dialog:A0o,children:[j.t("optimizationMenu.ParticleSwarmOptimization",i)," ..."]})}]}]}),e.push({key:"polygon-lock",label:h.jsx(Id,{selectedElement:n})}),r&&(e.push({key:"polygon-filled",label:h.jsx(qco,{polygon:n})}),n.filled&&e.push({key:"polygon-shiny",label:h.jsx($co,{polygon:n})}),e.push({key:"polygon-no-outline",label:h.jsx(Qco,{polygon:n})})),r&&(e.push({key:"polygon-line-color",label:h.jsxs(io,{Dialog:a0o,children:[j.t("polygonMenu.LineColor",i)," ..."]})},{key:"polygon-line-style",label:h.jsxs(io,{Dialog:l0o,children:[j.t("polygonMenu.LineStyle",i)," ..."]})},{key:"polygon-line-width",label:h.jsxs(io,{Dialog:s0o,children:[j.t("polygonMenu.LineWidth",i)," ..."]})}),n.filled&&((!n.textureType||n.textureType===qi.NoTexture)&&e.push({key:"polygon-fill-color",label:h.jsxs(io,{Dialog:c0o,children:[j.t("polygonMenu.FillColor",i)," ..."]})}),e.push({key:"polygon-texture",label:h.jsxs(io,{Dialog:h0o,children:[j.t("polygonMenu.FillTexture",i)," ..."]})},{key:"polygon-opacity",label:h.jsxs(io,{Dialog:p0o,children:[j.t("polygonMenu.Opacity",i)," ..."]})})),e.push({key:"polygon-text-box",label:h.jsx(tn,{children:j.t("polygonMenu.TextBox",i)}),children:[{key:"polygon-text",label:h.jsx(Zco,{polygon:n})},{key:"polygon-font-size",label:h.jsx(e0o,{polygon:n})},{key:"polygon-font-color",label:h.jsx(t0o,{polygon:n})},{key:"polygon-font-outline-color",label:h.jsx(n0o,{polygon:n})},{key:"polygon-font-outline-width",label:h.jsx(o0o,{polygon:n})},{key:"polygon-font-stroke-color",label:h.jsx(i0o,{polygon:n})},{key:"polygon-font-stroke-width",label:h.jsx(r0o,{polygon:n})}]})),{items:e}},v0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){o.vertices.splice(e,1);break}})},x0o=(t,e)=>{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>0&&e{M.getState().set(n=>{for(const o of n.elements)if(o.type===z.Polygon&&o.id===t){const i=o,r=i.vertices.length;if(e>=0&&e{if(t.selectedIndex>=0){const n=t.vertices.map(r=>({...r}));switch(e){case ix.Delete:v0o(t.id,t.selectedIndex);break;case ix.InsertBeforeIndex:x0o(t.id,t.selectedIndex);break;case ix.InsertAfterIndex:b0o(t.id,t.selectedIndex);break}const o=M.getState().getElementById(t.id).vertices.map(r=>({...r})),i={name:e,timestamp:Date.now(),changedElementId:t.id,changedElementType:t.type,oldValue:n,newValue:o,undo:()=>{i.oldValue&&Array.isArray(i.oldValue)&&M.getState().updatePolygonVerticesById(i.changedElementId,n)},redo:()=>{M.getState().updatePolygonVerticesById(i.changedElementId,o)}};M.getState().addUndoable(i)}},S0o=t=>{const e=[];if(t.type!==z.Polygon)return{items:e};const n=t,o={lng:M.getState().language};return e.push({key:"polygon-vertex-insert-before-index",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.InsertVertexBeforeIndex",o)})},{key:"polygon-vertex-insert-after-index",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.InsertVertexAfterIndex",o)})}),n.vertices.length>3&&e.push({key:"polygon-vertex-delete",label:h.jsx(tn,{noPadding:!0,children:j.t("polygonMenu.DeleteVertex",o)})}),{items:e,onClick:({key:r})=>{switch(r){case"polygon-vertex-insert-before-index":mae(n,ix.InsertBeforeIndex);break;case"polygon-vertex-insert-after-index":mae(n,ix.InsertAfterIndex);break;case"polygon-vertex-delete":mae(n,ix.Delete);break}}}},T0o=({sensor:t})=>{const e=Kt(),n=Btt(t);return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.showLabel,onChange:n,children:j.t("labelSubMenu.KeepShowingLabel",e)})})},P0o=({sensor:t})=>{const e=Kt(),{labelText:n,setLabelText:o}=Utt(t),i=jtt(t,n);return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"80px"},children:j.t("labelSubMenu.LabelText",e)+":"}),h.jsx(ns,{style:{width:"150px"},value:n,onChange:r=>o(r.target.value),onPressEnter:i,onBlur:i})]})},C0o=t=>{const e=[];if(t.type!==z.Sensor)return{items:e};const n=t,o=!n.locked;return e.push({key:"sensor-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"sensor-cut",label:h.jsx(Tf,{})}),e.push({key:"sensor-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"sensor-show-label",label:h.jsx(T0o,{sensor:n})}),e.push({key:"sensor-label-text",label:h.jsx(P0o,{sensor:n})})),{items:e}},R0o=({light:t})=>{const e=Kt(),n=M.getState().updateInsideLightById,o=i=>{const r=i.target.checked,a={name:"Inside Light",timestamp:Date.now(),checked:r,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.inside,onChange:o,children:j.t("lightMenu.Inside",e)})})},H0o=({light:t})=>{const e=Kt(),n=t.intensity??3,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.intensity=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Intensity",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightIntensity=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[j.t("lightMenu.Intensity",e),":"]}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:1,value:n,onChange:i})]})},M0o=({light:t})=>{const e=Kt(),n=t.distance??5,o=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.type===z.Light&&s.id===r){s.distance=a;break}})},i=r=>{if(r===null||r===n)return;const a={name:"Set Light Distance",timestamp:Date.now(),oldValue:n,newValue:r,changedElementId:t.id,undo:()=>{o(a.changedElementId,a.oldValue)},redo:()=>{o(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),o(t.id,r),M.getState().set(l=>{l.actionState.lightDistance=r})};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"80px"},children:[j.t("lightMenu.MaximumDistance",e),":"]}),h.jsx(Hn,{min:1,max:10,step:1,precision:1,value:n,onChange:i})]})},I0o=({light:t})=>{const e=t.color??"#ffff99",n=(o,i)=>{M.getState().set(r=>{for(const a of r.elements)if(a.type===z.Light&&a.id===o){a.color=i;break}})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Cf,{color:e,onChangeComplete:o=>{const i=t.color,r=o.hex,a={name:"Set Light Color",timestamp:Date.now(),oldValue:i,newValue:r,undo:()=>{n(t.id,a.oldValue)},redo:()=>{n(t.id,a.newValue)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.lightColor=r})}})})},z0o=t=>{const e=[];if(t.type!==z.Light)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=n.parentId?M.getState().getParent(n):void 0;return e.push({key:"light-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"light-cut",label:h.jsx(Tf,{})}),e.push({key:"light-lock",label:h.jsx(Id,{selectedElement:n})}),o&&r&&(r.type===z.Roof||r.type===z.Wall)&&e.push({key:"light-inside",label:h.jsx(R0o,{light:n})}),o&&e.push({key:"light-intensity",label:h.jsx(H0o,{light:n})},{key:"light-distance",label:h.jsx(M0o,{light:n})},{key:"light-color",label:h.jsx(tn,{children:j.t("word.Color",i)}),children:[{key:"light-color-picker",label:h.jsx(I0o,{light:n}),style:{backgroundColor:"white"}}]}),{items:e}},D0o=()=>{const t=M(Y1e),e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.axes=i})},o=i=>{const r=i.target.checked,a={name:"Show Axes",timestamp:Date.now(),checked:r,undo:()=>{n(!a.checked)},redo:()=>{n(a.checked)}};M.getState().addUndoable(a),n(r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.Axes",e)})})},E0o=()=>{const t=M(pBe),e=Kt(),n=r=>{M.getState().set(a=>{a.viewState.theme=r})},o=r=>{const a=t,l=r.target.value,s={name:"Select Theme",timestamp:Date.now(),oldValue:a,newValue:l,undo:()=>{n(s.oldValue)},redo:()=>{n(s.newValue)}};M.getState().addUndoable(s),n(l)},i=[{value:Ns.Default,label:"skyMenu.ThemeDefault"},{value:Ns.Desert,label:"skyMenu.ThemeDesert"},{value:Ns.Dune,label:"skyMenu.ThemeDune"},{value:Ns.Forest,label:"skyMenu.ThemeForest"},{value:Ns.Grassland,label:"skyMenu.ThemeGrassland"},{value:Ns.Hill,label:"skyMenu.ThemeHill"},{value:Ns.Lake,label:"skyMenu.ThemeLake"},{value:Ns.Mountain,label:"skyMenu.ThemeMountain"},{value:Ns.Rural,label:"skyMenu.ThemeRural"}];return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t,onChange:o,children:h.jsx(en,{direction:"vertical",children:i.map((r,a)=>h.jsx(Be,{style:{width:"100%"},value:r.value,children:j.t(r.label,e)},`${a}-${r.value}`))})})})},k0o=()=>{const t=M(gBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showAzimuthAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Azimuth Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.ShowAzimuthAngle",e)})})},F0o=()=>{const t=M(mBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showElevationAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Elevation Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.ShowElevationAngle",e)})})},L0o=()=>{const t=M(yBe)??!0,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.showZenithAngle=i})},o=i=>{const r=t,a=i.target.checked,l={name:"Show Zenith Angle "+a,timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t,onChange:o,children:j.t("skyMenu.ShowZenithAngle",e)})})},W0o=()=>{const t=M(hBe)??3.5,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.directLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Direct Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.DirectLightBrightnessAtNoon",e)+" [0.1-10]:"}),h.jsx(Hn,{min:.1,max:10,step:.1,precision:2,value:t,onChange:o})]})},N0o=()=>{const t=M(fBe)??.2,e=Kt(),n=i=>{M.getState().set(r=>{r.viewState.ambientLightIntensity=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Ambient Light Intensity",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.AmbientLightBrightnessAtNoon",e)+" [0.01-1]:"}),h.jsx(Hn,{min:.01,max:1,step:.01,precision:2,value:t,onChange:o})]})},U0o=()=>{const t=M(e4t)??.01,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airAttenuationCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Sunlight Attenuation Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.SunlightAttenuationCoefficientInAir",e)+":"}),h.jsx(Hn,{min:0,max:.1,step:.001,precision:3,value:t,onChange:o})]})},B0o=()=>{const t=M(t4t)??5,e=Kt(),n=i=>{M.getState().set(r=>{r.world.airConvectiveCoefficient=i})},o=i=>{if(i===null)return;const r=t,a=i,l={name:"Set Convective Coefficient of Air",timestamp:Date.now(),oldValue:r,newValue:a,undo:()=>{n(l.oldValue)},redo:()=>{n(l.newValue)}};M.getState().addUndoable(l),n(a)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.ConvectiveCoefficientOfAir",e)+" [W/(m²×K)]:"}),h.jsx(Hn,{min:2.5,max:20,step:.1,precision:2,value:t,onChange:o})]})},j0o=()=>{const t=M(KL)??900,e=M.getState().world,n=Kt(),o=m.useMemo(()=>sl(new Date(e.date),e.latitude),[e.date,e.latitude]),i=a=>{M.getState().set(l=>{l.world.highestTemperatureTimeInMinutes=a})},r=a=>{if(a===null)return;const l=t,s=a,c={name:"Set Time of Highest Temperature in Minutes",timestamp:Date.now(),oldValue:l,newValue:s,undo:()=>{i(c.oldValue)},redo:()=>{i(c.newValue)}};M.getState().addUndoable(c),i(s)};return h.jsxs(tn,{stayAfterClick:!0,children:[h.jsx(en,{style:{width:"270px"},children:j.t("skyMenu.HighestTemperatureTimeInMinutes",n)+":"}),h.jsx(Hn,{min:720,max:o.sunset,step:5,precision:0,value:t,onChange:r})]})},Y0o=()=>{const t={lng:M.getState().language},e=[];return e.push({key:"axes",label:h.jsx(D0o,{})}),e.push({key:"theme-submenu",label:h.jsx(tn,{children:j.t("skyMenu.Theme",t)}),children:[{key:"theme-radio-group",label:h.jsx(E0o,{}),style:{backgroundColor:"white"}}]}),e.push({key:"sun-angles-submenu",label:h.jsx(tn,{children:j.t("skyMenu.SelectSunAnglesToShow",t)}),children:[{key:"show-azimuth-angle",label:h.jsx(k0o,{})},{key:"ShowElevationAngle",label:h.jsx(F0o,{})},{key:"ShowZenithAngle",label:h.jsx(L0o,{})}]}),e.push({key:"direct-light-intensity",label:h.jsx(W0o,{})}),e.push({key:"ambient-light-intensity",label:h.jsx(N0o,{})}),e.push({key:"air-attenuation-coefficient",label:h.jsx(U0o,{})}),e.push({key:"air-convective-coefficient",label:h.jsx(B0o,{})}),e.push({key:"highest-temperature-time-in-minutes",label:h.jsx(j0o,{})}),{items:e}},nK=class nK{constructor(){this.n=14,this.nominalStrings=new Array(this.n),this.nominalWidths=new Array(this.n),this.nominalHeights=new Array(this.n),this.cellNx=new Array(this.n),this.cellNy=new Array(this.n),this.nominalWidths[0]=.99,this.nominalHeights[0]=1.65,this.cellNx[0]=6,this.cellNy[0]=10,this.nominalWidths[1]=.99,this.nominalHeights[1]=1.96,this.cellNx[1]=6,this.cellNy[1]=12,this.nominalWidths[2]=1.05,this.nominalHeights[2]=1.56,this.cellNx[2]=8,this.cellNy[2]=12,this.nominalWidths[3]=1.31,this.nominalHeights[3]=1.96,this.cellNx[3]=8,this.cellNy[3]=12,this.nominalWidths[4]=1.07,this.nominalHeights[4]=2.07,this.cellNx[4]=8,this.cellNy[4]=16,this.nominalWidths[5]=.6,this.nominalHeights[5]=1.2,this.cellNx[5]=10,this.cellNy[5]=20,this.nominalWidths[6]=1.2,this.nominalHeights[6]=2,this.cellNx[6]=10,this.cellNy[6]=20,this.nominalWidths[7]=1,this.nominalHeights[7]=2.07,this.cellNx[7]=6,this.cellNy[7]=12,this.nominalWidths[8]=.8,this.nominalHeights[8]=1.56,this.cellNx[8]=6,this.cellNy[8]=12,this.nominalWidths[9]=.83,this.nominalHeights[9]=1.58,this.cellNx[9]=6,this.cellNy[9]=12,this.nominalWidths[10]=.99,this.nominalHeights[10]=1.31,this.cellNx[10]=6,this.cellNy[10]=8,this.nominalWidths[11]=.99,this.nominalHeights[11]=1.5,this.cellNx[11]=6,this.cellNy[11]=9,this.nominalWidths[12]=1.05,this.nominalHeights[12]=1.81,this.cellNx[12]=8,this.cellNy[12]=14,this.nominalWidths[13]=1.05,this.nominalHeights[13]=1.69,this.cellNx[13]=8,this.cellNy[13]=13;for(let e=0;e{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(C7),a=M(J2),l=M(En),s=M(r1),c=M(a1),u=M(ao),d=M(oo),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.pvModelName)??"SPR-X21-335-BLK"),[A,w]=m.useState(),b=Kt(),C=a(p??"SPR-X21-335-BLK");m.useEffect(()=>{w(C.nominalWidth.toFixed(2)+"m×"+C.nominalLength.toFixed(2)+"m ("+C.n+"×"+C.m+" "+j.t("pvModelPanel.Cells",b)+")")},[C]);const P=(W,N)=>{e(L=>{for(const E of L.elements)if(E.type===z.SolarPanel&&E.id===W&&!E.locked){const U=E;U.pvModelName=N;const F=L.pvModules[N];if(U.orientation===ui.portrait){const B=Math.max(1,Math.round(U.lx/F.width)),_=Math.max(1,Math.round(U.ly/F.length));U.lx=B*F.width,U.ly=_*F.length}else{const B=Math.max(1,Math.round(U.lx/F.length)),_=Math.max(1,Math.round(U.ly/F.width));U.lx=B*F.length,U.ly=_*F.width}break}})},v=(W,N)=>{e(L=>{const E=L.pvModules[N];for(const U of L.elements)if(U.type===z.SolarPanel&&U.foundationId===W&&!U.locked){const F=U;if(F.pvModelName=N,F.orientation===ui.portrait){const B=Math.max(1,Math.round(F.lx/E.width)),_=Math.max(1,Math.round(F.ly/E.length));F.lx=B*E.width,F.ly=_*E.length}else{const B=Math.max(1,Math.round(F.lx/E.length)),_=Math.max(1,Math.round(F.ly/E.width));F.lx=B*E.length,F.ly=_*E.width}}})},T=(W,N,L)=>{e(E=>{const U=E.pvModules[L];for(const F of E.elements)if(F.type===z.SolarPanel&&!F.locked){let B;if(N?B=F.parentId===W&&xe.isIdentical(F.normal,N):B=F.parentId===W,B){const _=F;if(_.pvModelName=L,_.orientation===ui.portrait){const Y=Math.max(1,Math.round(_.lx/U.width)),O=Math.max(1,Math.round(_.ly/U.length));_.lx=Y*U.width,_.ly=O*U.length}else{const Y=Math.max(1,Math.round(_.lx/U.length)),O=Math.max(1,Math.round(_.ly/U.width));_.lx=Y*U.length,_.ly=O*U.width}}}})},y=W=>{e(N=>{const L=N.pvModules[W];for(const E of N.elements)if(E.type===z.SolarPanel&&!E.locked){const U=E;if(U.pvModelName=W,U.orientation===ui.portrait){const F=Math.max(1,Math.round(U.lx/L.width)),B=Math.max(1,Math.round(U.ly/L.length));U.lx=F*L.width,U.ly=B*L.length}else{const F=Math.max(1,Math.round(U.lx/L.length)),B=Math.max(1,Math.round(U.ly/L.width));U.lx=F*L.length,U.ly=B*L.width}}})},S=(W,N)=>{M.getState().set(L=>{const E=L.pvModules[N];for(const U of L.elements)if(U.type===z.SolarPanel&&!U.locked&&W.has(U.id)){const F=U;if(F.pvModelName=N,F.orientation===ui.portrait){const B=Math.max(1,Math.round(F.lx/E.width)),_=Math.max(1,Math.round(F.ly/E.length));F.lx=B*E.width,F.ly=_*E.length}else{const B=Math.max(1,Math.round(F.lx/E.length)),_=Math.max(1,Math.round(F.ly/E.width));F.lx=B*E.length,F.ly=_*E.width}}})},x=W=>{c(W.target.value)},R=W=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.SolarPanel&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&N.pvModelName!==W)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.SolarPanel&&!N.locked&&N.pvModelName!==W)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.SolarPanel&&N.foundationId===(f==null?void 0:f.foundationId)&&!N.locked&&N.pvModelName!==W)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const N=i(f);if(N){if(N.type===z.Cuboid){for(const E of n)if(E.type===z.SolarPanel&&E.parentId===f.parentId&&xe.isIdentical(E.normal,f.normal)&&!E.locked&&E.pvModelName!==W)return!0}else for(const E of n)if(E.type===z.SolarPanel&&E.parentId===f.parentId&&!E.locked&&E.pvModelName!==W)return!0}break}default:{if((f==null?void 0:f.pvModelName)!==W)return!0;break}}return!1}},H=W=>{if(f&&R(W)){switch(s){case ue.AllSelectedObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.pvModelName);const L={name:"Set Model for Selected Solar Panels",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())P(E,U)},redo:()=>{S(L.oldValues,L.newValue)}};l(L),S(N,W),d(u+1);break}case ue.AllObjectsOfThisType:{const N=new Map;for(const E of n)E.type===z.SolarPanel&&N.set(E.id,E.pvModelName);const L={name:"Set Model for All Solar Panels",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())P(E,U)},redo:()=>{y(L.newValue)}};l(L),y(W),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const N=new Map;for(const E of n)E.type===z.SolarPanel&&E.foundationId===f.foundationId&&N.set(E.id,E.pvModelName);const L={name:"Set Model for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:f.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())P(E,U)},redo:()=>{L.groupId&&v(L.groupId,L.newValue)}};l(L),v(f.foundationId,W),d(u+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const N=i(f);if(N){const L=new Map,E=N.type===z.Cuboid;if(E)for(const B of n)B.type===z.SolarPanel&&B.parentId===f.parentId&&xe.isIdentical(B.normal,f.normal)&&L.set(B.id,B.pvModelName);else for(const B of n)B.type===z.SolarPanel&&B.parentId===f.parentId&&L.set(B.id,B.pvModelName);const U=E?f.normal:void 0,F={name:"Set Model for All Solar Panels on Surface",timestamp:Date.now(),oldValues:L,newValue:W,groupId:f.parentId,normal:U,undo:()=>{for(const[B,_]of F.oldValues.entries())P(B,_)},redo:()=>{F.groupId&&T(F.groupId,F.normal,F.newValue)}};l(F),T(f.parentId,U,W),d(u+1)}break}default:{const N=o(f.id),L=N?N.pvModelName:f.pvModelName,E={name:"Set Model for Selected Solar Panel",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:f.id,changedElementType:f.type,undo:()=>{P(E.changedElementId,E.oldValue)},redo:()=>{P(E.changedElementId,E.newValue)}};l(E),P(f.id,W),d(u+1);break}}e(N=>{N.actionState.solarPanelModelName=W})}},D=()=>{t(!1)},k=()=>{H(p)};return h.jsxs(lo,{width:640,title:j.t("pvModelPanel.SolarPanelSpecs",b),onApply:k,onClose:D,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.Model",b)+" ("+Object.keys(r).length+" "+j.t("word.Options",b)+"):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Yo,{defaultValue:"Custom",style:{width:"100%"},value:p,onChange:g,children:Object.keys(r).map(W=>h.jsx(q8,{value:W,children:W+(r[W].bifacialityFactor>0?" ("+j.t("pvModelPanel.Bifacial",b)+")":"")},W))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.PanelSize",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Yo,{disabled:!0,style:{width:"100%"},value:A,onChange:W=>{},children:Bde.instance.nominalStrings.map(W=>h.jsx(q8,{value:W,children:W},W))})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.CellType",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.cellType,onChange:W=>{},children:[h.jsx(q8,{value:"Monocrystalline",children:j.t("pvModelPanel.Monocrystalline",b)},"Monocrystalline"),h.jsx(q8,{value:"Polycrystalline",children:j.t("pvModelPanel.Polycrystalline",b)},"Polycrystalline"),h.jsx(q8,{value:"Thin Film",children:j.t("pvModelPanel.ThinFilm",b)},"Thin Film")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.BifacialityFactor",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:C.bifacialityFactor,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("word.Color",b)+":"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsxs(Yo,{disabled:!0,style:{width:"100%"},value:C.color,onChange:W=>{},children:[h.jsx(q8,{value:"Black",children:j.t("pvModelPanel.Black",b)},"Black"),h.jsx(q8,{value:"Blue",children:j.t("pvModelPanel.Blue",b)},"Blue")]})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.SolarCellEfficiency",b)+" (%):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:2,value:100*C.efficiency,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.NominalOperatingCellTemperature",b)+" (°C):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Hn,{disabled:!0,style:{width:"100%"},precision:1,value:C.noct,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:13,children:j.t("pvModelPanel.TemperatureCoefficientOfPmax",b)+" (%/°C):"}),h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(ns,{disabled:!0,style:{width:"100%"},value:C.pmaxTC,onChange:W=>{}})})]}),h.jsxs(nn,{gutter:6,style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},children:[h.jsx(it,{className:"gutter-row",span:3,children:j.t("word.ApplyTo",b)+":"}),h.jsx(it,{className:"gutter-row",span:21,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",b)})]})})})]})]})},{Option:KRe}=Yo,_0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(J2),r=M(rr),a=M(ige),l=M(En),s=M(r1),c=M(a1),u=M(ao),d=M(oo),f=M(ca),p=co(z.SolarPanel),[g,A]=m.useState((p==null?void 0:p.orientation)??ui.portrait),w=m.useRef(!1),b=m.useRef(),C=Kt(),P=(B,_)=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&O.id===B&&!O.locked){const J=O,Z=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Z,_);break}})},v=(B,_)=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&O.foundationId===B&&!O.locked){const J=O,Z=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Z,_)}})},T=(B,_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&!J.locked){let Z;if(_?Z=J.parentId===B&&xe.isIdentical(J.normal,_):Z=J.parentId===B,Z){const ie=J,ee=O.pvModules[ie.pvModelName];O.setSolarPanelOrientation(ie,ee,Y)}}})},y=B=>{e(_=>{for(const Y of _.elements)if(Y.type===z.SolarPanel&&!Y.locked){const O=Y,J=_.pvModules[O.pvModelName];_.setSolarPanelOrientation(O,J,B)}})},S=(B,_)=>{M.getState().set(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked&&B.has(O.id)){const J=O,Z=Y.pvModules[J.pvModelName];Y.setSolarPanelOrientation(J,Z,_)}})},x=B=>{c(B.target.value)},R=B=>{if(p){const _=i(p.pvModelName);if(B===ui.portrait){const Y=Math.max(1,Math.round(p.lx/_.width)),O=Math.max(1,Math.round(p.ly/_.length));a(p.id,Y*_.width,O*_.length)}else{const Y=Math.max(1,Math.round(p.lx/_.length)),O=Math.max(1,Math.round(p.ly/_.width));a(p.id,Y*_.length,O*_.width)}P(p.id,B)}},H=(B,_)=>{const Y=r(B);if(Y){if(Y.type===z.Cuboid&&!xe.isIdentical(B.normal,o0))return!0;const O=JSON.parse(JSON.stringify(B));O.orientation=_;const J=i(O.pvModelName);if(_===ui.portrait){const Z=Math.max(1,Math.round(O.lx/J.width)),ie=Math.max(1,Math.round(O.ly/J.length));O.lx=Z*J.width,O.ly=ie*J.length}else{const Z=Math.max(1,Math.round(O.lx/J.length)),ie=Math.max(1,Math.round(O.ly/J.width));O.lx=Z*J.length,O.ly=ie*J.width}return Y.type===z.Wall?xe.checkElementOnWallState(O,Y)===fc.Valid:Y.type===z.Roof?xe.checkElementOnRoofState(O,Y)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(O,Y)}return!1},D=(B,_)=>!H(B,_),k=B=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:{for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&M.getState().selectedElementIdSet.has(_.id)&&_.orientation!==B)return!0;break}case ue.AllObjectsOfThisType:{for(const _ of n)if(_.type===z.SolarPanel&&!_.locked&&_.orientation!==B)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===(p==null?void 0:p.foundationId)&&!_.locked&&_.orientation!==B)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const _=r(p);if(_){if(_.type===z.Cuboid){for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&xe.isIdentical(O.normal,p.normal)&&!O.locked&&O.orientation!==B)return!0}else for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&!O.locked&&O.orientation!==B)return!0}break}default:{if((p==null?void 0:p.orientation)!==B)return!0;break}}return!1}},W=B=>{if(p&&k(B)){switch(b.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const _ of n)if(_.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(_.id)&&D(_,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const _=new Map;for(const O of n)O.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(O.id)&&_.set(O.id,O.orientation);const Y={name:"Set Orientation for Selected Solar Panels",timestamp:Date.now(),oldValues:_,newValue:B,undo:()=>{for(const[O,J]of Y.oldValues.entries())P(O,J)},redo:()=>{S(Y.oldValues,Y.newValue)}};l(Y),S(_,B),d(u+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const _ of n)if(_.type===z.SolarPanel&&D(_,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const _=new Map;for(const O of n)O.type===z.SolarPanel&&_.set(O.id,O.orientation);const Y={name:"Set Orientation for All Solar Panels",timestamp:Date.now(),oldValues:_,newValue:B,undo:()=>{for(const[O,J]of Y.oldValues.entries())P(O,J)},redo:()=>{y(Y.newValue)}};l(Y),y(B),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){w.current=!1;for(const _ of n)if(_.type===z.SolarPanel&&_.foundationId===p.foundationId&&D(_,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const _=new Map;for(const O of n)O.type===z.SolarPanel&&O.foundationId===p.foundationId&&_.set(O.id,O.orientation);const Y={name:"Set Orientation for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:_,newValue:B,groupId:p.foundationId,undo:()=>{for(const[O,J]of Y.oldValues.entries())P(O,J)},redo:()=>{Y.groupId&&v(Y.groupId,Y.newValue)}};l(Y),v(p.foundationId,B),d(u+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const _=r(p);if(_){if(w.current=!1,_.type===z.Cuboid){for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&xe.isIdentical(O.normal,p.normal)&&D(O,B)){w.current=!0;break}}else for(const O of n)if(O.type===z.SolarPanel&&O.parentId===p.parentId&&D(O,B)){w.current=!0;break}if(w.current)b.current=B,A(p.orientation);else{const O=new Map,J=_.type===z.Cuboid;if(J)for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===p.parentId&&xe.isIdentical(ee.normal,p.normal)&&O.set(ee.id,ee.orientation);else for(const ee of n)ee.type===z.SolarPanel&&ee.parentId===p.parentId&&O.set(ee.id,ee.orientation);const Z=J?p.normal:void 0,ie={name:"Set Orientation for All Solar Panels on Surface",timestamp:Date.now(),oldValues:O,newValue:B,groupId:p.parentId,normal:Z,undo:()=>{for(const[ee,q]of ie.oldValues.entries())P(ee,q)},redo:()=>{ie.groupId&&T(ie.groupId,ie.normal,ie.newValue)}};l(ie),T(p.parentId,Z,B),d(u+1)}}break}default:{const _=o(p.id),Y=_?_.orientation:p.orientation;if(w.current=D(p,B),w.current)b.current=B,A(Y);else{const O={name:"Set Orientation of Selected Solar Panel",timestamp:Date.now(),oldValue:Y,newValue:B,changedElementId:p.id,changedElementType:p.type,undo:()=>{R(O.oldValue)},redo:()=>{R(O.newValue)}};l(O),R(B),d(u+1)}break}}e(_=>{_.actionState.solarPanelOrientation=B})}},N=()=>{p&&(A(p.orientation),w.current=!1,t(!1))},L=()=>{N(),f()},E=()=>{W(g),w.current||(t(!1),d(0))},U=()=>{W(g)},F=w.current?": "+j.t("message.NotApplicableToSelectedAction",C)+(b.current?" ("+(b.current===ui.portrait?j.t("solarPanelMenu.Portrait",C):j.t("solarPanelMenu.Landscape",C))+")":""):"";return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.Orientation",C),rejectedMessage:F,onApply:U,onClose:N,onClickCancel:L,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsxs(Yo,{style:{width:"150px"},value:g,onChange:B=>A(B),children:[h.jsx(KRe,{value:ui.portrait,children:j.t("solarPanelMenu.Portrait",C)},ui.portrait),h.jsx(KRe,{value:ui.landscape,children:j.t("solarPanelMenu.Landscape",C)},ui.landscape)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:x,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",C)})]})})})]})})},V0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(J2),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(oo),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.lx)??1),[A,w]=m.useState(0),b=m.useRef(!1),C=m.useRef(),P=Kt();m.useEffect(()=>{if(f){const _=i(f.pvModelName)??i("SPR-X21-335-BLK");w(f.orientation===ui.portrait?_.width:_.length)}},[f]);const v=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.id===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.lx=xe.panelizeLx(Z,ie,Y);break}})},T=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.foundationId===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.lx=xe.panelizeLx(Z,ie,Y)}})},y=(_,Y,O)=>{e(J=>{for(const Z of J.elements)if(Z.type===z.SolarPanel&&!Z.locked){let ie;if(Y?ie=Z.parentId===_&&xe.isIdentical(Z.normal,Y):ie=Z.parentId===_,ie){const ee=Z,q=J.getPvModule(ee.pvModelName);Z.lx=xe.panelizeLx(ee,q,O)}}})},S=_=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked){const J=O,Z=Y.getPvModule(J.pvModelName);O.lx=xe.panelizeLx(J,Z,_)}})},x=(_,Y)=>{M.getState().set(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&!J.locked&&_.has(J.id)){const Z=J,ie=O.getPvModule(Z.pvModelName);J.lx=xe.panelizeLx(Z,ie,Y)}})},R=_=>{s(_.target.value)},H=(_,Y)=>{const O=r(_);if(O){if(O.type===z.Cuboid&&!xe.isIdentical(_.normal,o0))return!0;const J=JSON.parse(JSON.stringify(_));return J.lx=Y,O.type===z.Wall?xe.checkElementOnWallState(J,O)===fc.Valid:O.type===z.Roof?xe.checkElementOnRoofState(J,O)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(J,O)}return!1},D=(_,Y)=>!H(_,Y),k=_=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&M.getState().selectedElementIdSet.has(Y.id)&&Math.abs(Y.lx-_)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&Math.abs(Y.lx-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===(f==null?void 0:f.foundationId)&&!Y.locked&&Math.abs(Y.lx-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.lx-_)>Dt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.lx-_)>Dt)return!0}break}default:{if(Math.abs((f==null?void 0:f.lx)-_)>Dt)return!0;break}}return!1}},W=_=>{if(f&&k(_))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.lx);const O={name:"Set Length for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{x(O.oldValues,O.newValue)}};a(O),x(Y,_),u(c+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.lx);const O={name:"Set Length for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{S(O.newValue)}};a(O),S(_),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===f.foundationId&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&J.foundationId===f.foundationId&&Y.set(J.id,J.lx);const O={name:"Set Length for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Y,newValue:_,groupId:f.foundationId,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{O.groupId&&T(O.groupId,O.newValue)}};a(O),T(f.foundationId,_),u(c+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(b.current=!1,Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&D(J,_)){b.current=!0;break}}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&D(J,_)){b.current=!0;break}if(b.current)C.current=_,g(f.lx);else{const J=new Map,Z=Y.type===z.Cuboid;if(Z)for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&xe.isIdentical(q.normal,f.normal)&&J.set(q.id,q.lx);else for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&J.set(q.id,q.lx);const ie=Z?f.normal:void 0,ee={name:"Set Length for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:J,newValue:_,groupId:f.parentId,normal:ie,undo:()=>{for(const[q,ae]of ee.oldValues.entries())v(q,ae)},redo:()=>{ee.groupId&&y(ee.groupId,ee.normal,ee.newValue)}};a(ee),y(f.parentId,ie,_),u(c+1)}}break}default:{const Y=o(f.id),O=Y?Y.lx:f.lx;if(b.current=D(f,_),b.current)C.current=_,g(O);else{const J={name:"Set Solar Panel Array Length",timestamp:Date.now(),oldValue:O,newValue:_,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(J.changedElementId,J.oldValue)},redo:()=>{v(J.changedElementId,J.newValue)}};a(J),v(f.id,_),u(c+1)}break}}},N=_=>{let Y=_??1;return Y=Math.max(1,Math.ceil((Y-A/2)/A))*A,Y},L=()=>{b.current=!1,t(!1)},E=()=>{L(),d()},U=()=>{W(p),b.current||(t(!1),u(0))},F=()=>{W(p)},B=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Length",P),rejectedMessage:B,onApply:F,onClose:L,onClickCancel:E,onClickOk:U,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:A,max:100*A,step:A,style:{width:120},precision:2,value:p,onChange:_=>{_!==null&&g(N(_))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/A)+" "+j.t("solarPanelMenu.PanelsWide",P),h.jsx("br",{}),j.t("word.MaximumNumber",P),": 100 ",j.t("solarPanelMenu.Panels",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},G0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(J2),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(oo),d=M(ca),f=co(z.SolarPanel),[p,g]=m.useState((f==null?void 0:f.ly)??2),[A,w]=m.useState(0),b=m.useRef(!1),C=m.useRef(),P=Kt();m.useEffect(()=>{if(f){const _=i(f.pvModelName)??i("SPR-X21-335-BLK");w(f.orientation===ui.portrait?_.length:_.width),g(f.ly)}},[f]);const v=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.id===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.ly=xe.panelizeLy(Z,ie,Y);break}})},T=(_,Y)=>{e(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&J.foundationId===_&&!J.locked){const Z=J,ie=O.getPvModule(Z.pvModelName);J.ly=xe.panelizeLy(Z,ie,Y)}})},y=(_,Y,O)=>{e(J=>{for(const Z of J.elements)if(Z.type===z.SolarPanel&&!Z.locked){let ie;if(Y?ie=Z.parentId===_&&xe.isIdentical(Z.normal,Y):ie=Z.parentId===_,ie){const ee=Z,q=J.getPvModule(ee.pvModelName);Z.ly=xe.panelizeLy(ee,q,O)}}})},S=_=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked){const J=O,Z=Y.getPvModule(J.pvModelName);O.ly=xe.panelizeLy(J,Z,_)}})},x=(_,Y)=>{M.getState().set(O=>{for(const J of O.elements)if(J.type===z.SolarPanel&&!J.locked&&_.has(J.id)){const Z=J,ie=O.getPvModule(Z.pvModelName);J.ly=xe.panelizeLy(Z,ie,Y)}})},R=_=>{s(_.target.value)},H=(_,Y)=>{const O=r(_);if(O){if(O.type===z.Cuboid&&!xe.isIdentical(_.normal,o0))return!0;const J=JSON.parse(JSON.stringify(_));return J.ly=Y,O.type===z.Wall?xe.checkElementOnWallState(J,O)===fc.Valid:O.type===z.Roof?xe.checkElementOnRoofState(J,O)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(J,O)}return!1},D=(_,Y)=>_.tiltAngle!==0&&.5*Y*Math.abs(Math.sin(_.tiltAngle))>_.poleHeight||!H(_,Y),k=_=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&M.getState().selectedElementIdSet.has(Y.id)&&Math.abs(Y.ly-_)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const Y of n)if(Y.type===z.SolarPanel&&!Y.locked&&Math.abs(Y.ly-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===(f==null?void 0:f.foundationId)&&!Y.locked&&Math.abs(Y.ly-_)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&!J.locked&&Math.abs(J.ly-_)>Dt)return!0}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&!J.locked&&Math.abs(J.ly-_)>Dt)return!0}break}default:{if(Math.abs((f==null?void 0:f.ly)-_)>Dt)return!0;break}}return!1}},W=_=>{if(f&&k(_))switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(J.id)&&Y.set(J.id,J.ly);const O={name:"Set Width for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{x(O.oldValues,O.newValue)}};a(O),x(Y,_),u(c+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&Y.set(J.id,J.ly);const O={name:"Set Width for All Solar Panel Arrays",timestamp:Date.now(),oldValues:Y,newValue:_,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{S(O.newValue)}};a(O),S(_),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){b.current=!1;for(const Y of n)if(Y.type===z.SolarPanel&&Y.foundationId===f.foundationId&&D(Y,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const Y=new Map;for(const J of n)J.type===z.SolarPanel&&J.foundationId===f.foundationId&&Y.set(J.id,J.ly);const O={name:"Set Width for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:Y,newValue:_,groupId:f.foundationId,undo:()=>{for(const[J,Z]of O.oldValues.entries())v(J,Z)},redo:()=>{O.groupId&&T(O.groupId,O.newValue)}};a(O),T(f.foundationId,_),u(c+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const Y=r(f);if(Y){if(b.current=!1,Y.type===z.Cuboid){for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&xe.isIdentical(J.normal,f.normal)&&D(J,_)){b.current=!0;break}}else for(const J of n)if(J.type===z.SolarPanel&&J.parentId===f.parentId&&D(J,_)){b.current=!0;break}if(b.current)C.current=_,g(f.ly);else{const J=new Map,Z=Y.type===z.Cuboid;if(Z)for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&xe.isIdentical(q.normal,f.normal)&&J.set(q.id,q.ly);else for(const q of n)q.type===z.SolarPanel&&q.parentId===f.parentId&&J.set(q.id,q.ly);const ie=Z?f.normal:void 0,ee={name:"Set Width for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:J,newValue:_,groupId:f.parentId,normal:ie,undo:()=>{for(const[q,ae]of ee.oldValues.entries())v(q,ae)},redo:()=>{ee.groupId&&y(ee.groupId,ee.normal,ee.newValue)}};a(ee),y(f.parentId,ie,_),u(c+1)}}break}default:{const Y=o(f.id),O=Y?Y.ly:f.ly;if(b.current=D(f,_),b.current)C.current=_,g(O);else{const J={name:"Set Solar Panel Array Width",timestamp:Date.now(),oldValue:O,newValue:_,changedElementId:f.id,changedElementType:f.type,undo:()=>{v(J.changedElementId,J.oldValue)},redo:()=>{v(J.changedElementId,J.newValue)}};a(J),v(f.id,_),u(c+1)}break}}},N=()=>{b.current=!1,t(!1)},L=()=>{N(),d()},E=()=>{W(p),b.current||(t(!1),u(0))},U=_=>{let Y=_??1;return Y=Math.max(1,Math.ceil((Y-A/2)/A))*A,Y},F=()=>{W(p)},B=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("word.Width",P),rejectedMessage:B,onApply:F,onClose:N,onClickCancel:L,onClickOk:E,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:A,max:100*A,step:A,style:{width:120},precision:2,value:p,onChange:_=>{_!==null&&g(U(_))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[Math.round(p/A)+" "+j.t("solarPanelMenu.PanelsLong",P),h.jsx("br",{}),j.t("word.MaximumNumber",P),": 100 ",j.t("solarPanelMenu.Panels",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},X0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(oo),u=M(x=>x.elements.find(R=>R.selected&&R.type===z.SolarPanel)),[d,f]=m.useState((u==null?void 0:u.inverterEfficiency)??.95),p=Kt(),g=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===x&&!D.locked){D.inverterEfficiency=R;break}})},A=(x,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===x&&!D.locked&&(D.inverterEfficiency=R)})},w=(x,R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&!k.locked){let W;R?W=k.parentId===x&&xe.isIdentical(k.normal,R):W=k.parentId===x,W&&(k.inverterEfficiency=H)}})},b=x=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.inverterEfficiency=x)})},C=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&x.has(D.id)&&(D.inverterEfficiency=R)})},P=x=>{l(x.target.value)},v=x=>{switch(a){case ue.AllSelectedObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs((R.inverterEfficiency??.95)-x)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&Math.abs((R.inverterEfficiency??.95)-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const R of n)if(R.type===z.SolarPanel&&R.foundationId===(u==null?void 0:u.foundationId)&&!R.locked&&Math.abs((R.inverterEfficiency??.95)-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&xe.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-x)>Dt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs((D.inverterEfficiency??.95)-x)>Dt)return!0}break}default:{if(Math.abs(((u==null?void 0:u.inverterEfficiency)??.95)-x)>Dt)return!0;break}}return!1},T=x=>{if(u&&v(x))switch(a){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.inverterEfficiency??.95);const H={name:"Set Inverter Efficiency for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{C(H.oldValues,H.newValue)}};r(H),C(R,x),c(s+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&R.set(D.id,D.inverterEfficiency??.95);const H={name:"Set Inverter Efficiency for All Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{b(H.newValue)}};r(H),b(x),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const R=new Map;for(const D of n)D.type===z.SolarPanel&&D.foundationId===u.foundationId&&R.set(D.id,D.inverterEfficiency??.95);const H={name:"Set Inverter Efficiency for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:u.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{H.groupId&&A(H.groupId,H.newValue)}};r(H),A(u.foundationId,x),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){const H=new Map,D=R.type===z.Cuboid;if(D)for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&xe.isIdentical(N.normal,u.normal)&&H.set(N.id,N.inverterEfficiency??.95);else for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&H.set(N.id,N.inverterEfficiency??.95);const k=D?u.normal:void 0,W={name:"Set Inverter Efficiency for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:u.parentId,normal:k,undo:()=>{for(const[N,L]of W.oldValues.entries())g(N,L)},redo:()=>{W.groupId&&w(W.groupId,W.normal,W.newValue)}};r(W),w(u.parentId,k,x),c(s+1)}break}default:{const R=o(u.id),H=R?R.inverterEfficiency??.95:u.inverterEfficiency??.95,D={name:"Set Solar Panel Array Inverter Efficiency",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};r(D),g(u.id,x),c(s+1);break}}},y=()=>{t(!1)},S=()=>{T(d)};return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.InverterEfficiency",p),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.5,max:1,step:.01,style:{width:120},precision:2,value:d,onChange:x=>{x!==null&&f(x)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[0.5, 1.0]",h.jsx("br",{}),j.t("solarPanelMenu.InverterEfficiencyExplained",p)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},J0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Sc),o=M(Jn),i=M(Vn),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(oo),d=M(ca),f=M(F=>F.elements.find(B=>B.selected&&B.type===z.SolarPanel)),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),P=m.useRef(null),v=m.useRef((f==null?void 0:f.dcToAcRatio)??1),T={lng:n};m.useEffect(()=>{f&&(v.current=f.dcToAcRatio??1)},[f.dcToAcRatio]);const y=(F,B)=>{e(_=>{for(const Y of _.elements)if(Y.type===z.SolarPanel&&Y.id===F&&!Y.locked){Y.dcToAcRatio=B;break}})},S=(F,B)=>{e(_=>{for(const Y of _.elements)Y.type===z.SolarPanel&&Y.foundationId===F&&!Y.locked&&(Y.dcToAcRatio=B)})},x=(F,B,_)=>{e(Y=>{for(const O of Y.elements)if(O.type===z.SolarPanel&&!O.locked){let J;B?J=O.parentId===F&&xe.isIdentical(O.normal,B):J=O.parentId===F,J&&(O.dcToAcRatio=_)}})},R=F=>{e(B=>{for(const _ of B.elements)_.type===z.SolarPanel&&!_.locked&&(_.dcToAcRatio=F)})},H=(F,B)=>{M.getState().set(_=>{for(const Y of _.elements)Y.type===z.SolarPanel&&!Y.locked&&F.has(Y.id)&&(Y.dcToAcRatio=B)})},D=F=>{s(F.target.value),g(!p)},k=F=>{switch(l){case ue.AllSelectedObjectsOfThisType:{for(const B of o)if(B.type===z.SolarPanel&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)&&Math.abs((B.dcToAcRatio??1)-F)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const B of o)if(B.type===z.SolarPanel&&!B.locked&&Math.abs((B.dcToAcRatio??1)-F)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const B of o)if(B.type===z.SolarPanel&&B.foundationId===(f==null?void 0:f.foundationId)&&!B.locked&&Math.abs((B.dcToAcRatio??1)-F)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const B=r(f);if(B){if(B.type===z.Cuboid){for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&xe.isIdentical(Y.normal,f.normal)&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-F)>Dt)return!0}else for(const Y of o)if(Y.type===z.SolarPanel&&Y.parentId===f.parentId&&!Y.locked&&Math.abs((Y.dcToAcRatio??1)-F)>Dt)return!0}break}default:{if(Math.abs(((f==null?void 0:f.dcToAcRatio)??1)-F)>Dt)return!0;break}}return!1},W=F=>{if(f&&k(F)){switch(l){case ue.AllSelectedObjectsOfThisType:{const B=new Map;for(const Y of o)Y.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(Y.id)&&B.set(Y.id,Y.dcToAcRatio??1);const _={name:"Set DC-AC Ratio for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())y(Y,O)},redo:()=>{H(_.oldValues,_.newValue)}};a(_),H(B,F),u(c+1);break}case ue.AllObjectsOfThisType:{const B=new Map;for(const Y of o)Y.type===z.SolarPanel&&B.set(Y.id,Y.dcToAcRatio??1);const _={name:"Set DC-AC Ratio for All Solar Panel Arrays",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())y(Y,O)},redo:()=>{R(_.newValue)}};a(_),R(F),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const B=new Map;for(const Y of o)Y.type===z.SolarPanel&&Y.foundationId===f.foundationId&&B.set(Y.id,Y.dcToAcRatio??1);const _={name:"Set DC-AC Ratio for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:B,newValue:F,groupId:f.foundationId,undo:()=>{for(const[Y,O]of _.oldValues.entries())y(Y,O)},redo:()=>{_.groupId&&S(_.groupId,_.newValue)}};a(_),S(f.foundationId,F),u(c+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const B=r(f);if(B){const _=new Map,Y=B.type===z.Cuboid;if(Y)for(const Z of o)Z.type===z.SolarPanel&&Z.parentId===f.parentId&&xe.isIdentical(Z.normal,f.normal)&&_.set(Z.id,Z.dcToAcRatio??1);else for(const Z of o)Z.type===z.SolarPanel&&Z.parentId===f.parentId&&_.set(Z.id,Z.dcToAcRatio??1);const O=Y?f.normal:void 0,J={name:"Set DC-AC Ratio for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:_,newValue:F,groupId:f.parentId,normal:O,undo:()=>{for(const[Z,ie]of J.oldValues.entries())y(Z,ie)},redo:()=>{J.groupId&&x(J.groupId,J.normal,J.newValue)}};a(J),x(f.parentId,O,F),u(c+1)}break}default:{const B=i(f.id),_=B?B.dcToAcRatio??1:f.dcToAcRatio??1,Y={name:"Set Solar Panel Array DC-AC Ratio",timestamp:Date.now(),oldValue:_,newValue:F,changedElementId:f.id,changedElementType:f.type,undo:()=>{y(Y.changedElementId,Y.oldValue)},redo:()=>{y(Y.changedElementId,Y.newValue)}};a(Y),y(f.id,F),u(c+1);break}}g(!p)}},N=(F,B)=>{if(P.current){const{clientWidth:_,clientHeight:Y}=window.document.documentElement,O=P.current.getBoundingClientRect();C({left:-O.left+B.x,right:_-(O.right-B.x),top:-O.top+B.y,bottom:Y-((O==null?void 0:O.bottom)-B.y)})}},L=()=>{v.current=f.dcToAcRatio??1,t(!1)},E=()=>{L(),d()},U=()=>{W(v.current),t(!1),u(0)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:j.t("solarPanelMenu.DcToAcSizeRatio",T)}),footer:[h.jsx(no,{onClick:()=>{W(v.current)},children:j.t("word.Apply",T)},"Apply"),h.jsx(no,{onClick:E,children:j.t("word.Cancel",T)},"Cancel"),h.jsx(no,{type:"primary",onClick:U,children:j.t("word.OK",T)},"OK")],onCancel:L,maskClosable:!1,destroyOnClose:!1,modalRender:F=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(B,_)=>N(B,_),children:h.jsx("div",{ref:P,children:F})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:2,step:.01,style:{width:120},precision:2,value:v.current,onChange:F=>{F!==null&&(v.current=F,g(!p))},onPressEnter:U}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:["[1.0, 2.0]",h.jsx("br",{}),j.t("solarPanelMenu.DcToAcSizeRatioExplained",T)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:D,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",T)})]})})})]})})})},qRe=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(lge),r=M(rr),a=M(En),l=M(r1),s=M(a1),c=M(ao),u=M(oo),d=M(ca),f=co(z.SolarPanel),p=(f==null?void 0:f.tiltAngle)??0,g=(f==null?void 0:f.parentType)===z.Wall,[A,w]=m.useState(g?-p:p),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=(E,U,F)=>{e(B=>{for(const _ of B.elements)if(_.type===z.SolarPanel&&_.foundationId===E&&!_.locked){const Y=_;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,F?-U:U):Y.tiltAngle=U}})},T=(E,U,F)=>{e(B=>{for(const _ of B.elements)if(_.type===z.SolarPanel&&!_.locked){let Y;if(U?Y=_.parentId===E&&xe.isIdentical(_.normal,U):Y=_.parentId===E,Y){const O=_;O.tiltAngle=F}}})},y=(E,U)=>{e(F=>{for(const B of F.elements)if(B.type===z.SolarPanel&&!B.locked){const _=B;_.parentType===z.Wall?_.tiltAngle=Math.min(0,U?-E:E):_.tiltAngle=E}})},S=(E,U,F)=>{M.getState().set(B=>{for(const _ of B.elements)if(_.type===z.SolarPanel&&!_.locked&&E.has(_.id)){const Y=_;Y.parentType===z.Wall?Y.tiltAngle=Math.min(0,F?-U:U):Y.tiltAngle=U}})},x=E=>{s(E.target.value)},R=E=>{if(f){switch(l){case ue.AllSelectedObjectsOfThisType:{for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)&&Math.abs(U.tiltAngle-E)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&Math.abs(U.tiltAngle-E)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===(f==null?void 0:f.foundationId)&&!U.locked&&Math.abs(U.tiltAngle-E)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const U=r(f);if(U){if(U.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&xe.isIdentical(B.normal,f.normal)&&!B.locked&&Math.abs(B.tiltAngle-E)>Dt)return!0}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&!B.locked&&Math.abs(B.tiltAngle-E)>Dt)return!0}break}default:{if(Math.abs((f==null?void 0:f.tiltAngle)-E)>Dt)return!0;break}}return!1}},H=E=>{if(g&&(E=-E),!!f&&R(E)){switch(C.current=void 0,l){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(U.id)&&.5*U.ly*Math.abs(Math.sin(E))>U.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(B.id)&&U.set(B.id,B.tiltAngle);const F={name:"Set Tilt Angle for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,_)},redo:()=>{S(F.oldValues,F.newValue,!g)}};a(F),S(U,E,!g),u(c+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&.5*U.ly*Math.abs(Math.sin(E))>U.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&U.set(B.id,B.tiltAngle);const F={name:"Set Tilt Angle for All Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,_)},redo:()=>{y(F.newValue,!g)}};a(F),y(E,!g),u(c+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){b.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===f.foundationId&&U.parentType!==z.Wall&&.5*U.ly*Math.abs(Math.sin(E))>U.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.foundationId===f.foundationId&&U.set(B.id,B.tiltAngle);const F={name:"Set Tilt Angle for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:U,newValue:E,groupId:f.foundationId,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,_)},redo:()=>{F.groupId&&v(F.groupId,F.newValue,!g)}};a(F),v(f.foundationId,E,!g),u(c+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const U=r(f);if(U){b.current=!1;const F=U.type===z.Cuboid;if(F){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&xe.isIdentical(B.normal,f.normal)&&.5*B.ly*Math.abs(Math.sin(E))>B.poleHeight){b.current=!0;break}}else if(f.parentType===z.Wall)b.current=!1;else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===f.parentId&&.5*B.ly*Math.abs(Math.sin(E))>B.poleHeight){b.current=!0;break}if(b.current)C.current=E,w(f.tiltAngle);else{const B=new Map;if(F)for(const O of n)O.type===z.SolarPanel&&O.parentId===f.parentId&&xe.isIdentical(O.normal,f.normal)&&B.set(O.id,O.tiltAngle);else for(const O of n)O.type===z.SolarPanel&&O.parentId===f.parentId&&B.set(O.id,O.tiltAngle);const _=F?f.normal:void 0,Y={name:"Set Tilt Angle for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:B,newValue:E,groupId:f.parentId,normal:_,undo:()=>{for(const[O,J]of Y.oldValues.entries())i(O,J)},redo:()=>{Y.groupId&&T(Y.groupId,Y.normal,Y.newValue)}};a(Y),T(f.parentId,_,E),u(c+1)}}break}default:{const U=o(f.id),F=U?U.tiltAngle:f.tiltAngle;if(b.current=.5*f.ly*Math.abs(Math.sin(E))>f.poleHeight,f.parentType===z.Wall&&(b.current=!1),b.current)C.current=E,w(F);else{const B={name:"Set Solar Panel Array Tilt Angle",timestamp:Date.now(),oldValue:F,newValue:E,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(B.changedElementId,B.oldValue)},redo:()=>{i(B.changedElementId,B.newValue)}};a(B),i(f.id,E),u(c+1)}break}}e(U=>{U.actionState.solarPanelTiltAngle=E})}},D=()=>{b.current=!1,t(!1)},k=()=>{D(),d()},W=()=>{H(A),b.current||(t(!1),u(0))},N=()=>{H(A)},L=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+xe.toDegrees(C.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.TiltAngle",P),rejectedMessage:L,onApply:N,onClose:D,onClickCancel:k,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:g?0:-90,max:90,style:{width:120},precision:2,value:parseFloat(xe.toDegrees(A).toFixed(2)),step:1,formatter:E=>`${E}°`,onChange:E=>{E!==null&&w(xe.toRadians(E))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [",g?"0°":"-90°",", 90°]",h.jsx("br",{}),j.t("solarPanelMenu.SouthFacingIsPositive",P)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:x,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},K0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(sge),r=M(zwt),a=M(Dwt),l=M(Ewt),s=M(rr),c=M(En),u=M(r1),d=M(a1),f=M(ao),p=M(oo),g=M(ca),A=co(z.SolarPanel),w=m.useRef(!1),b=m.useRef(),[C,P]=m.useState(A?-A.relativeAzimuth:0),v=Kt(),T=E=>{d(E.target.value)},y=(E,U)=>{const F=s(E);if(F){if(F.type===z.Cuboid&&!xe.isIdentical(E.normal,o0))return!0;const B=JSON.parse(JSON.stringify(E));return B.relativeAzimuth=-U,F.type===z.Roof?xe.checkElementOnRoofState(B,F)===fc.Valid:xe.isSolarCollectorWithinHorizontalSurface(B,F)}return!1},S=(E,U)=>!y(E,U),x=E=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&U.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(U.id)&&Math.abs(-U.relativeAzimuth-E)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const U of n)if(U.type===z.SolarPanel&&!U.locked&&U.parentType!==z.Wall&&Math.abs(-U.relativeAzimuth-E)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===(A==null?void 0:A.foundationId)&&!U.locked&&U.parentType!==z.Wall&&Math.abs(-U.relativeAzimuth-E)>Dt)return!0;break;case ue.AllObjectsOfThisTypeOnSurface:if(A!=null&&A.parentId){const U=s(A);if(U){if(U.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&xe.isIdentical(B.normal,A.normal)&&!B.locked&&Math.abs(-B.relativeAzimuth-E)>Dt)return!0}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&!B.locked&&Math.abs(-B.relativeAzimuth-E)>Dt)return!0}}break;default:if(Math.abs(-(A==null?void 0:A.relativeAzimuth)-E)>Dt)return!0}return!1}},R=(E,U)=>{M.getState().set(F=>{for(const B of F.elements)if(B.type===z.SolarPanel&&!B.locked&&E.has(B.id)){const _=B;_.relativeAzimuth=U}})},H=E=>{if(A&&x(E)){switch(b.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(U.id)&&S(U,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.parentType!==z.Wall&&M.getState().selectedElementIdSet.has(B.id)&&U.set(B.id,-B.relativeAzimuth);const F={name:"Set Relative Azimuth for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,-_)},redo:()=>{R(F.oldValues,F.newValue)}};c(F),R(U,-E),p(f+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.parentType!==z.Wall&&S(U,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.parentType!==z.Wall&&U.set(B.id,-B.relativeAzimuth);const F={name:"Set Relative Azimuth for All Solar Panel Arrays",timestamp:Date.now(),oldValues:U,newValue:E,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,-_)},redo:()=>{l(z.SolarPanel,-F.newValue)}};c(F),l(z.SolarPanel,-E),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(A.foundationId){w.current=!1;for(const U of n)if(U.type===z.SolarPanel&&U.foundationId===A.foundationId&&U.parentType!==z.Wall&&S(U,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const U=new Map;for(const B of n)B.type===z.SolarPanel&&B.foundationId===A.foundationId&&B.parentType!==z.Wall&&U.set(B.id,-B.relativeAzimuth);const F={name:"Set Relative Azimuth for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:U,newValue:E,groupId:A.foundationId,undo:()=>{for(const[B,_]of F.oldValues.entries())i(B,-_)},redo:()=>{F.groupId&&a(z.SolarPanel,F.groupId,-F.newValue)}};c(F),a(z.SolarPanel,A.foundationId,-E),p(f+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{if(A.parentId){const U=s(A);if(U){if(w.current=!1,U.type===z.Cuboid){for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&xe.isIdentical(B.normal,A.normal)&&S(B,E)){w.current=!0;break}}else for(const B of n)if(B.type===z.SolarPanel&&B.parentId===A.parentId&&S(B,E)){w.current=!0;break}if(w.current)b.current=E,P(-A.relativeAzimuth);else{const B=new Map,_=U.type===z.Cuboid;if(_)for(const J of n)J.type===z.SolarPanel&&J.parentId===A.parentId&&xe.isIdentical(J.normal,A.normal)&&B.set(J.id,-J.relativeAzimuth);else for(const J of n)J.type===z.SolarPanel&&J.parentId===A.parentId&&B.set(J.id,-J.relativeAzimuth);const Y=_?A.normal:void 0,O={name:"Set Relative Azimuth for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:B,newValue:E,groupId:A.parentId,normal:Y,undo:()=>{for(const[J,Z]of O.oldValues.entries())i(J,-Z)},redo:()=>{O.groupId&&r(z.SolarPanel,O.groupId,O.normal,-O.newValue)}};c(O),r(z.SolarPanel,A.parentId,Y,-E),p(f+1)}}}break}default:{const U=o(A.id),F=U?-U.relativeAzimuth:-A.relativeAzimuth;if(w.current=S(A,E),w.current)b.current=E,P(F);else{const B={name:"Set Solar Panel Array Relative Azimuth",timestamp:Date.now(),oldValue:F,newValue:E,changedElementId:A.id,changedElementType:A.type,undo:()=>{i(B.changedElementId,-B.oldValue)},redo:()=>{i(B.changedElementId,-B.newValue)}};c(B),i(A.id,-E),p(f+1)}break}}e(U=>{U.actionState.solarPanelRelativeAzimuth=-E})}},D=()=>{w.current=!1,t(!1)},k=()=>{D(),g()},W=()=>{H(C),w.current||(t(!1),p(0))},N=()=>{H(C)},L=w.current?": "+j.t("message.NotApplicableToSelectedAction",v)+(b.current!==void 0?" ("+xe.toDegrees(b.current).toFixed(1)+"°)":null):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.RelativeAzimuth",v),rejectedMessage:L,onApply:N,onClose:D,onClickCancel:k,onClickOk:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(xe.toDegrees(C).toFixed(2)),formatter:E=>`${E}°`,onChange:E=>{E!==null&&P(xe.toRadians(E))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",v),": [-180°, 180°]",h.jsx("br",{}),j.t("message.AzimuthOfNorthIsZero",v),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",v)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:18,children:h.jsx(Be.Group,{onChange:T,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.trackerType)??Ma.NO_TRACKER),p=Kt(),{Option:g}=Yo,A=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&k.id===R&&!k.locked){k.trackerType=H;break}})},w=(R,H)=>{e(D=>{for(const k of D.elements)k.type===z.SolarPanel&&k.foundationId===R&&!k.locked&&(k.trackerType=H)})},b=(R,H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.SolarPanel&&!W.locked){let N;H?N=W.parentId===R&&xe.isIdentical(W.normal,H):N=W.parentId===R,N&&(W.trackerType=D)}})},C=R=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&(D.trackerType=R)})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)k.type===z.SolarPanel&&!k.locked&&R.has(k.id)&&(k.trackerType=H)})},v=R=>{l(R.target.value)},T=R=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&H.trackerType!==R)return!0;break}case ue.AllObjectsOfThisType:{for(const H of n)if(H.type===z.SolarPanel&&!H.locked&&H.trackerType!==R)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const H of n)if(H.type===z.SolarPanel&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&H.trackerType!==R)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const H=i(u);if(H){if(H.type===z.Cuboid){for(const k of n)if(k.type===z.SolarPanel&&k.parentId===u.parentId&&xe.isIdentical(k.normal,u.normal)&&!k.locked&&k.trackerType!==R)return!0}else for(const k of n)if(k.type===z.SolarPanel&&k.parentId===u.parentId&&!k.locked&&k.trackerType!==R)return!0}break}default:{if((u==null?void 0:u.trackerType)!==R)return!0;break}}return!1}},y=R=>{if(u&&T(R))switch(a){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.trackerType);const D={name:"Set Tracker Type for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};r(D),P(H,R),c(s+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.SolarPanel&&H.set(k.id,k.trackerType);const D={name:"Set Tracker Type for All Solar Panel Arrays",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{C(D.newValue)}};r(D),C(R),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.SolarPanel&&k.foundationId===u.foundationId&&H.set(k.id,k.trackerType);const D={name:"Set Tracker Type for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())A(k,W)},redo:()=>{D.groupId&&w(D.groupId,D.newValue)}};r(D),w(u.foundationId,R),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const H=i(u);if(H){const D=new Map,k=H.type===z.Cuboid;if(k)for(const L of n)L.type===z.SolarPanel&&L.parentId===u.parentId&&xe.isIdentical(L.normal,u.normal)&&D.set(L.id,L.trackerType);else for(const L of n)L.type===z.SolarPanel&&L.parentId===u.parentId&&D.set(L.id,L.trackerType);const W=k?u.normal:void 0,N={name:"Set Tracker Type for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:D,newValue:R,groupId:u.parentId,normal:W,undo:()=>{for(const[L,E]of N.oldValues.entries())A(L,E)},redo:()=>{N.groupId&&b(N.groupId,N.normal,N.newValue)}};r(N),b(u.parentId,W,R),c(s+1)}break}default:{const H=o(u.id),D=H?H.trackerType:u.trackerType,k={name:"Set Solar Panel Array Tracker Type",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{A(k.changedElementId,k.oldValue)},redo:()=>{A(k.changedElementId,k.newValue)}};r(k),A(u.id,R),c(s+1);break}}},S=()=>{t(!1)},x=()=>{y(d)};return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.Tracker",p),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsxs(Yo,{style:{width:"120px"},value:d,onChange:R=>f(R),children:[h.jsx(g,{value:Ma.NO_TRACKER,title:j.t("solarPanelMenu.NoTracker",p),children:j.t("word.None",p)},"NONE"),h.jsx(g,{value:Ma.HORIZONTAL_SINGLE_AXIS_TRACKER,title:j.t("solarPanelMenu.HorizontalSingleAxisTracker",p),children:"HSAT"},"HSAT"),h.jsx(g,{value:Ma.VERTICAL_SINGLE_AXIS_TRACKER,title:j.t("solarPanelMenu.VerticalSingleAxisTracker",p),children:"VSAT"},"VSAT"),h.jsx(g,{value:Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER,title:j.t("solarPanelMenu.AltazimuthDualAxisTracker",p),children:"AADAT"},"AADAT")]}),h.jsx("div",{style:{paddingTop:"20px",paddingRight:"10px",textAlign:"left",fontSize:"11px"},children:j.t("solarPanelMenu.SolarTrackerFollowsSun",p)})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},$0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.frameColor)??"white"),p=Kt(),g=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===x&&!D.locked){D.frameColor=R;break}})},A=(x,R)=>{e(H=>{for(const D of H.elements)D.type===z.SolarPanel&&D.foundationId===x&&!D.locked&&(D.frameColor=R)})},w=(x,R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&!k.locked){let W;R?W=k.parentId===x&&xe.isIdentical(k.normal,R):W=k.parentId===x,W&&(k.frameColor=H)}})},b=x=>{e(R=>{for(const H of R.elements)H.type===z.SolarPanel&&!H.locked&&(H.frameColor=x)})},C=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)D.type===z.SolarPanel&&!D.locked&&x.has(D.id)&&(D.frameColor=R)})},P=x=>{l(x.target.value)},v=x=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&R.frameColor!==x)return!0;break}case ue.AllObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&R.frameColor!==x)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const R of n)if(R.type===z.SolarPanel&&R.foundationId===(u==null?void 0:u.foundationId)&&!R.locked&&R.frameColor!==x)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&xe.isIdentical(D.normal,u.normal)&&!D.locked&&D.frameColor!==x)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&D.frameColor!==x)return!0}break}default:{if((u==null?void 0:u.frameColor)!==x)return!0;break}}return!1}},T=x=>{if(u&&v(x)){switch(a){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.frameColor??"white");const H={name:"Set Frame Color for Selected Solar Panels",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{C(H.oldValues,H.newValue)}};r(H),C(R,x),c(s+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&R.set(D.id,D.frameColor??"white");const H={name:"Set Frame Color for All Solar Panels",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{b(H.newValue)}};r(H),b(x),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const R=new Map;for(const D of n)D.type===z.SolarPanel&&D.foundationId===u.foundationId&&R.set(D.id,D.frameColor??"white");const H={name:"Set Frame Color for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:u.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{H.groupId&&A(H.groupId,H.newValue)}};r(H),A(u.foundationId,x),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){const H=new Map,D=R.type===z.Cuboid;if(D)for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&xe.isIdentical(N.normal,u.normal)&&H.set(N.id,N.frameColor??"white");else for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&H.set(N.id,N.frameColor??"white");const k=D?u.normal:void 0,W={name:"Set Frame Color for All Solar Panels on Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:u.parentId,normal:k,undo:()=>{for(const[N,L]of W.oldValues.entries())g(N,L)},redo:()=>{W.groupId&&w(W.groupId,W.normal,W.newValue)}};r(W),w(u.parentId,k,x),c(s+1)}break}default:{const R=o(u.id),H=R?R.frameColor:u.frameColor,D={name:"Set Frame Color of Selected Solar Panel",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(u.id,D.oldValue)},redo:()=>{g(u.id,D.newValue)}};r(D),g(u.id,x),c(s+1);break}}e(R=>{R.actionState.solarPanelFrameColor=x})}},y=()=>{t(!1)},S=()=>{T(d)};return h.jsx(lo,{width:680,title:j.t("solarPanelMenu.FrameColor",p),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:10,children:h.jsx(Cf,{color:d??(u==null?void 0:u.color)??"white",onChangeComplete:x=>{f(x.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:14,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},Q0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(Bwt),a=M(rW),l=M(aW),s=M(rr),c=M(En),u=M(r1),d=M(a1),f=M(ao),p=M(oo),g=M(ca),A=co(z.SolarPanel),[w,b]=m.useState((A==null?void 0:A.poleHeight)??0),C=m.useRef(!1),P=m.useRef(),v=Kt(),T=N=>{d(N.target.value)},y=N=>{if(A){switch(u){case ue.AllSelectedObjectsOfThisType:{for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===(A==null?void 0:A.foundationId)&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const L=s(A);if(L){if(L.type===z.Cuboid){for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&xe.isIdentical(U.normal,A.normal)&&!U.locked&&Math.abs(U.poleHeight-N)>Dt)return!0}else for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&!U.locked&&Math.abs(U.poleHeight-N)>Dt)return!0}break}default:{if(Math.abs((A==null?void 0:A.poleHeight)-N)>Dt)return!0;break}}return!1}},S=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)if(U.type===z.SolarPanel&&!U.locked&&N.has(U.id)){const F=U;F.poleHeight=L}})},x=N=>{if(A&&y(N)){switch(P.current=void 0,u){case ue.AllSelectedObjectsOfThisType:{C.current=!1;for(const L of n)if(L.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(L.id)&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const L=new Map;for(const U of n)U.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(U.id)&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{S(E.oldValues,E.newValue)}};c(E),S(L,N),p(f+1)}break}case ue.AllObjectsOfThisType:{C.current=!1;for(const L of n)if(L.type===z.SolarPanel&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const L=new Map;for(const U of n)U.type===z.SolarPanel&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Solar Panel Arrays",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{l(z.SolarPanel,E.newValue)}};c(E),l(z.SolarPanel,N),p(f+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(A.foundationId){C.current=!1;for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===A.foundationId&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const L=new Map;for(const U of n)U.type===z.SolarPanel&&U.foundationId===A.foundationId&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:L,newValue:N,groupId:A.foundationId,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{E.groupId&&a(z.SolarPanel,E.groupId,E.newValue)}};c(E),a(z.SolarPanel,A.foundationId,N),p(f+1)}}break}case ue.AllObjectsOfThisTypeOnSurface:{const L=s(A);if(L){if(C.current=!1,L.type===z.Cuboid){for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&xe.isIdentical(U.normal,A.normal)&&.5*U.ly*Math.abs(Math.sin(U.tiltAngle))>N){C.current=!0;break}}else for(const U of n)if(U.type===z.SolarPanel&&U.parentId===A.parentId&&.5*U.ly*Math.abs(Math.sin(U.tiltAngle))>N){C.current=!0;break}if(C.current)P.current=N,b(A.poleHeight);else{const U=new Map,F=L.type===z.Cuboid;if(F)for(const Y of n)Y.type===z.SolarPanel&&Y.parentId===A.parentId&&xe.isIdentical(Y.normal,A.normal)&&U.set(Y.id,Y.poleHeight);else for(const Y of n)Y.type===z.SolarPanel&&Y.parentId===A.parentId&&U.set(Y.id,Y.poleHeight);const B=F?A.normal:void 0,_={name:"Set Pole Height for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:U,newValue:N,groupId:A.parentId,normal:B,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O)},redo:()=>{_.groupId&&r(z.SolarPanel,_.groupId,_.normal,_.newValue)}};c(_),r(z.SolarPanel,A.parentId,B,N),p(f+1)}}break}default:{const L=o(A.id),E=L?L.poleHeight:A.poleHeight;if(C.current=.5*A.ly*Math.abs(Math.sin(A.tiltAngle))>N,C.current)P.current=N,b(E);else{const U={name:"Set Solar Panel Array Pole Height",timestamp:Date.now(),oldValue:E,newValue:N,changedElementId:A.id,changedElementType:A.type,undo:()=>{i(U.changedElementId,U.oldValue)},redo:()=>{i(U.changedElementId,U.newValue)}};c(U),i(A.id,N),p(f+1)}break}}e(L=>{L.actionState.solarPanelPoleHeight=N})}},R=()=>{C.current=!1,t(!1)},H=()=>{R(),g()},D=()=>{x(w),C.current||(t(!1),p(0))},k=()=>{x(w)},W=C.current?": "+j.t("message.NotApplicableToSelectedAction",v)+(P.current!==void 0?" ("+P.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.PoleHeight",v),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:10,style:{width:120},step:.1,precision:2,value:w,onChange:N=>{N!==null&&b(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",v),": [0, 10] ",j.t("word.MeterAbbreviation",v)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",v)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:u,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",v)})]})})})]})})},Z0o=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rr),r=M(En),a=M(r1),l=M(a1),s=M(ao),c=M(oo),u=co(z.SolarPanel),[d,f]=m.useState((u==null?void 0:u.poleSpacing)??0),p=Kt(),g=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.id===x&&!D.locked){const k=D;k.poleSpacing=R;break}})},A=(x,R)=>{e(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&D.foundationId===x&&!D.locked){const k=D;k.poleSpacing=R}})},w=(x,R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.SolarPanel&&!k.locked){let W;if(R?W=k.parentId===x&&xe.isIdentical(k.normal,R):W=k.parentId===x,W){const N=k;N.poleSpacing=H}}})},b=x=>{e(R=>{for(const H of R.elements)if(H.type===z.SolarPanel&&!H.locked){const D=H;D.poleSpacing=x}})},C=(x,R)=>{M.getState().set(H=>{for(const D of H.elements)if(D.type===z.SolarPanel&&!D.locked&&x.has(D.id)){const k=D;k.poleSpacing=R}})},P=x=>{l(x.target.value)},v=x=>{if(u){switch(a){case ue.AllSelectedObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&Math.abs(R.poleSpacing-x)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const R of n)if(R.type===z.SolarPanel&&!R.locked&&Math.abs(R.poleSpacing-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const R of n)if(R.type===z.SolarPanel&&R.foundationId===(u==null?void 0:u.foundationId)&&!R.locked&&Math.abs(R.poleSpacing-x)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){if(R.type===z.Cuboid){for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&xe.isIdentical(D.normal,u.normal)&&!D.locked&&Math.abs(D.poleSpacing-x)>Dt)return!0}else for(const D of n)if(D.type===z.SolarPanel&&D.parentId===u.parentId&&!D.locked&&Math.abs(D.poleSpacing-x)>Dt)return!0}break}default:{if(Math.abs((u==null?void 0:u.poleSpacing)-x)>Dt)return!0;break}}return!1}},T=x=>{if(u&&v(x)){switch(a){case ue.AllSelectedObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(D.id)&&R.set(D.id,D.poleSpacing);const H={name:"Set Pole Spacing for Selected Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{C(H.oldValues,H.newValue)}};r(H),C(R,x),c(s+1);break}case ue.AllObjectsOfThisType:{const R=new Map;for(const D of n)D.type===z.SolarPanel&&R.set(D.id,D.poleSpacing);const H={name:"Set Pole Spacing for All Solar Panel Arrays",timestamp:Date.now(),oldValues:R,newValue:x,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{b(H.newValue)}};r(H),b(x),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const R=new Map;for(const D of n)D.type===z.SolarPanel&&D.foundationId===u.foundationId&&R.set(D.id,D.poleSpacing);const H={name:"Set Pole Spacing for All Solar Panel Arrays Above Foundation",timestamp:Date.now(),oldValues:R,newValue:x,groupId:u.foundationId,undo:()=>{for(const[D,k]of H.oldValues.entries())g(D,k)},redo:()=>{H.groupId&&A(H.groupId,H.newValue)}};r(H),A(u.foundationId,x),c(s+1)}break}case ue.AllObjectsOfThisTypeOnSurface:{const R=i(u);if(R){const H=new Map,D=R.type===z.Cuboid;if(D)for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&xe.isIdentical(N.normal,u.normal)&&H.set(N.id,N.poleSpacing);else for(const N of n)N.type===z.SolarPanel&&N.parentId===u.parentId&&H.set(N.id,N.poleSpacing);const k=D?u.normal:void 0,W={name:"Set Pole Spacing for All Solar Panel Arrays on Surface",timestamp:Date.now(),oldValues:H,newValue:x,groupId:u.parentId,normal:k,undo:()=>{for(const[N,L]of W.oldValues.entries())g(N,L)},redo:()=>{W.groupId&&w(W.groupId,W.normal,W.newValue)}};r(W),w(u.parentId,k,x),c(s+1)}break}default:{const R=o(u.id),H=R?R.poleSpacing:u.poleSpacing,D={name:"Set Solar Panel Array Pole Spacing",timestamp:Date.now(),oldValue:H,newValue:x,changedElementId:u.id,changedElementType:u.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};r(D),g(u.id,x),c(s+1);break}}e(R=>{R.actionState.solarPanelPoleSpacing=x})}},y=()=>{t(!1)},S=()=>{T(d),t(!1),c(0)};return h.jsx(lo,{width:550,title:j.t("solarPanelMenu.PoleSpacing",p),onApply:S,onClose:y,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:1,style:{width:120},precision:2,value:d,onChange:x=>{x!==null&&f(x)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [1, 10] ",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:a,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeOnSurface,children:j.t("solarPanelMenu.AllSolarPanelsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",p)})]})})})]})})},euo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(Vn),r=M(kwt),a=M(Fwt),l=M(Lwt),s=M(En),c=M(r1),u=M(a1),d=M(ao),f=M(oo),p=M(ca),g=co(z.SolarPanel),[A,w]=m.useState((g==null?void 0:g.cx)??0),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=N=>{u(N.target.value)},T=N=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&Math.abs(L.cx-N)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.cx-N)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===(g==null?void 0:g.foundationId)&&!L.locked&&Math.abs(L.cx-N)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.cx)-N)>Dt)return!0}return!1}},y=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)if(U.type===z.SolarPanel&&!U.locked&&N.has(U.id)){const F=U;F.cx=L}})},S=(N,L,E)=>N+.5*L/E<.5&&N-.5*L/E>-.5,x=N=>{if(!g||!T(N))return;C.current=void 0;const L=o(g);if(L){switch(c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(E.id)&&!S(N,g.lx,L.lx)){b.current=!0;break}if(b.current)C.current=N,w(g.cx);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.cx);const U={name:"Set Center X for Selected Solar Panel",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{y(U.oldValues,U.newValue)}};s(U),y(E,N),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&!S(N,g.lx,L.lx)){b.current=!0;break}if(b.current)C.current=N,w(g.cx);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&E.set(F.id,F.cx);const U={name:"Set Center X for All Solar Panels",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{l(z.SolarPanel,U.newValue)}};s(U),l(z.SolarPanel,N),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&E.foundationId===g.foundationId&&!S(N,g.lx,L.lx)){b.current=!0;break}if(b.current)C.current=N,w(g.cx);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===g.foundationId&&E.set(F.id,F.cx);const U={name:"Set Center X for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:E,newValue:N,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{U.groupId&&a(z.SolarPanel,U.groupId,U.newValue)}};s(U),a(z.SolarPanel,g.foundationId,N),f(d+1)}}break}default:{const E=i(g.id),U=E?E.cx:g.cx;if(b.current=!S(N,g.lx,L.lx),b.current)C.current=N,w(U);else{const F={name:"Set Solar Panel Center X",timestamp:Date.now(),oldValue:U,newValue:N,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(F.changedElementId,F.oldValue)},redo:()=>{r(F.changedElementId,F.newValue)}};s(F),r(g.id,N),f(d+1)}break}}e(E=>{E.actionState.solarPanelCx=N})}},R=()=>{b.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{x(A),b.current||(t(!1),f(0))},k=()=>{x(A)},W=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.RelativeXCoordinateOfCenter",P),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:A,onChange:N=>{N!==null&&w(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [-0.5, 0.5]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},tuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(rr),i=M(Vn),r=M(Wwt),a=M(Nwt),l=M(Uwt),s=M(En),c=M(r1),u=M(a1),d=M(ao),f=M(oo),p=M(ca),g=co(z.SolarPanel),[A,w]=m.useState((g==null?void 0:g.cy)??0),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=N=>{u(N.target.value)},T=N=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&Math.abs(L.cy-N)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const L of n)if(L.type===z.SolarPanel&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.cy-N)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const L of n)if(L.type===z.SolarPanel&&L.foundationId===(g==null?void 0:g.foundationId)&&!L.locked&&Math.abs(L.cy-N)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.cy)-N)>Dt)return!0}return!1}},y=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)if(U.type===z.SolarPanel&&!U.locked&&N.has(U.id)){const F=U;F.cy=L}})},S=(N,L,E)=>N+.5*L/E<.5&&N-.5*L/E>-.5,x=N=>{if(!g||!T(N))return;C.current=void 0;const L=o(g);if(L){switch(c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(E.id)&&!S(N,g.ly,L.ly)){b.current=!0;break}if(b.current)C.current=N,w(g.cy);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.cy);const U={name:"Set Center Y for Selected Solar Panel",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{y(U.oldValues,U.newValue)}};s(U),y(E,N),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&!S(N,g.ly,L.ly)){b.current=!0;break}if(b.current)C.current=N,w(g.cy);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&E.set(F.id,F.cy);const U={name:"Set Center Y for All Solar Panels",timestamp:Date.now(),oldValues:E,newValue:N,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{l(z.SolarPanel,U.newValue)}};s(U),l(z.SolarPanel,N),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.SolarPanel&&E.foundationId===g.foundationId&&!S(N,g.ly,L.ly)){b.current=!0;break}if(b.current)C.current=N,w(g.cy);else{const E=new Map;for(const F of n)F.type===z.SolarPanel&&F.foundationId===g.foundationId&&E.set(F.id,F.cy);const U={name:"Set Center Y for All Solar Panels Above Foundation",timestamp:Date.now(),oldValues:E,newValue:N,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())r(F,B)},redo:()=>{U.groupId&&a(z.SolarPanel,U.groupId,U.newValue)}};s(U),a(z.SolarPanel,g.foundationId,N),f(d+1)}}break}default:{const E=i(g.id),U=E?E.cy:g.cy;if(b.current=!S(N,g.ly,L.ly),b.current)C.current=N,w(U);else{const F={name:"Set Solar Panel Center Y",timestamp:Date.now(),oldValue:U,newValue:N,changedElementId:g.id,changedElementType:g.type,undo:()=>{r(F.changedElementId,F.oldValue)},redo:()=>{r(F.changedElementId,F.newValue)}};s(F),r(g.id,N),f(d+1)}break}}e(E=>{E.actionState.solarPanelCy=N})}},R=()=>{b.current=!1,t(!1)},H=()=>{R(),p()},D=()=>{x(A),b.current||(t(!1),f(0))},k=()=>{x(A)},W=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("solarCollectorMenu.RelativeYCoordinateOfCenter",P),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-.5,max:.5,style:{width:120},step:.01,precision:2,value:A,onChange:N=>{N!==null&&w(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [-0.5, 0.5]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("solarPanelMenu.OnlyThisSolarPanel",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("solarPanelMenu.AllSolarPanelsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("solarPanelMenu.AllSelectedSolarPanels",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("solarPanelMenu.AllSolarPanels",P)})]})})})]})})},nuo=t=>{const e=[];if(t.type!==z.SolarPanel)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=xe.isIdentical(n.normal,o0);return e.push({key:"solar-panel-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"solar-panel-cut",label:h.jsx(Tf,{})}),e.push({key:"solar-panel-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"solar-panel-model-change",label:h.jsxs(io,{Dialog:O0o,children:[j.t("solarPanelMenu.ChangePvModel",i)," (",n.pvModelName,") ..."]})},{key:"solar-panel-orientation",label:h.jsxs(io,{Dialog:_0o,children:[j.t("solarPanelMenu.Orientation",i)," ..."]})},{key:"solar-panel-length",label:h.jsxs(io,{Dialog:V0o,children:[j.t("word.Length",i)," ..."]})},{key:"solar-panel-width",label:h.jsxs(io,{Dialog:G0o,children:[j.t("word.Width",i)," ..."]})}),e.push({key:"solar-panel-coordinates-submenu",label:h.jsx(tn,{children:j.t("solarCollectorMenu.Coordinates",i)}),children:[{key:"solar-panel-center-x",label:h.jsxs(io,{Dialog:euo,children:[j.t("solarCollectorMenu.RelativeXCoordinateOfCenter",i)," ..."]})},{key:"solar-panel-center-y",label:h.jsxs(io,{Dialog:tuo,children:[j.t("solarCollectorMenu.RelativeYCoordinateOfCenter",i)," ..."]})}]}),n.parentType===z.Wall&&e.push({key:"solar-panel-tilt-angle-on-wall",label:h.jsxs(io,{Dialog:qRe,children:[j.t("solarPanelMenu.TiltAngle",i)," ..."]})}),r&&(n.trackerType===Ma.NO_TRACKER&&e.push({key:"solar-panel-tilt-angle",label:h.jsxs(io,{Dialog:qRe,children:[j.t("solarPanelMenu.TiltAngle",i)," ..."]})}),e.push({key:"solar-panel-relative-azimuth",label:h.jsxs(io,{Dialog:K0o,children:[j.t("solarCollectorMenu.RelativeAzimuth",i)," ..."]})}),n.parentType!==z.Roof&&e.push({key:"solar-panel-tracker",label:h.jsxs(io,{Dialog:q0o,children:[j.t("solarPanelMenu.Tracker",i)," ..."]})})),e.push({key:"solar-panel-frame-color",label:h.jsxs(io,{Dialog:$0o,children:[j.t("solarPanelMenu.FrameColor",i)," ..."]})}),e.push({key:"solar-panel-draw-sun-beam",label:h.jsx(Rye,{solarCollector:n})}),e.push({key:"solar-panel-electrical-submenu",label:h.jsx(tn,{children:j.t("solarPanelMenu.ElectricalProperties",i)}),children:[{key:"solar-panel-inverter-efficiency",label:h.jsxs(io,{Dialog:X0o,children:[j.t("solarPanelMenu.InverterEfficiency",i)," ..."]})},{key:"solar-panel-dc-ac-ratio",label:h.jsxs(io,{Dialog:J0o,children:[j.t("solarPanelMenu.DcToAcSizeRatio",i)," ..."]})}]}),e.push({key:"solar-panel-pole-submenu",label:h.jsx(tn,{children:j.t("solarCollectorMenu.Pole",i)}),children:[{key:"solar-panel-pole-height",label:h.jsxs(io,{noPadding:!0,Dialog:Q0o,children:[j.t("solarCollectorMenu.PoleHeight",i)," ..."]})},{key:"solar-panel-pole-spacing",label:h.jsxs(io,{noPadding:!0,Dialog:Z0o,children:[j.t("solarPanelMenu.PoleSpacing",i)," ..."]})}]}),e.push({key:"solar-panel-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",i)}),children:vA(n)})),{items:e}},ouo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(R7),i=M(Sq),r=M(tW),a=M(rr),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(oo),f=M(ca),p=co(z.ParabolicTrough),[g,A]=m.useState((p==null?void 0:p.ly)??9),w=m.useRef(!1),b=m.useRef(),C=Kt(),P=L=>{c(L.target.value)},v=(L,E)=>{const U=a(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.ly=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},T=(L,E)=>!v(L,E),y=L=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const E of e)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of e)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of e)if(E.type===z.ParabolicTrough&&E.foundationId===(p==null?void 0:p.foundationId)&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-L)>Dt)return!0}return!1}},S=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.ly=E)})},x=L=>{if(p&&y(L))switch(b.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.ly);const U={name:"Set Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{S(U.oldValues,U.newValue)}};l(U),S(E,L),d(u+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.ParabolicTrough&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.ParabolicTrough&&E.set(F.id,F.ly);const U={name:"Set Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{r(z.ParabolicTrough,U.newValue)}};l(U),r(z.ParabolicTrough,L),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){w.current=!1;for(const E of e)if(E.type===z.ParabolicTrough&&E.foundationId===p.foundationId&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.ParabolicTrough&&F.foundationId===p.foundationId&&E.set(F.id,F.ly);const U={name:"Set Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:p.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{U.groupId&&i(z.ParabolicTrough,U.groupId,U.newValue)}};l(U),i(z.ParabolicTrough,p.foundationId,L),d(u+1)}}break}default:{const E=n(p.id),U=E?E.ly:p.ly;if(w.current=T(p,L),w.current)b.current=L,A(U);else{const F={name:"Set Parabolic Trough Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(F.changedElementId,F.oldValue)},redo:()=>{o(F.changedElementId,F.newValue)}};l(F),o(p.id,L),d(u+1)}break}}},R=()=>{w.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{x(g),w.current||(t(!1),d(0))},k=L=>{if(!p)return 1;let E=L??1;return E=Math.max(1,Math.ceil((E-p.moduleLength/2)/p.moduleLength))*p.moduleLength,E},W=()=>{x(g)};if((p==null?void 0:p.type)!==z.ParabolicTrough)return null;const N=w.current?": "+j.t("message.NotApplicableToSelectedAction",C)+(b.current!==void 0?" ("+b.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Length",C),rejectedMessage:N,onApply:W,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:100*p.moduleLength,step:p.moduleLength,precision:2,style:{width:120},value:g,onChange:L=>{A(k(L))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("parabolicTroughMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+j.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+j.t("parabolicTroughMenu.ModulesLong",C),h.jsx("br",{}),j.t("word.Maximum",C),": 100 ",j.t("parabolicTroughMenu.Modules",C)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",C)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",C)})]})})})]})})},iuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(bq),a=M(eW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.lx)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.lx=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.lx=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.lx);const U={name:"Set Width for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&E.set(F.id,F.lx);const U={name:"Set Width for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicTrough,U.newValue)}};s(U),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&F.foundationId===g.foundationId&&E.set(F.id,F.lx);const U={name:"Set Width for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicTrough,U.groupId,U.newValue)}};s(U),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.lx:g.lx;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Trough Width",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicTroughWidth=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Width",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},ruo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Sje),r=M(Tje),a=M(Pje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.moduleLength)??3),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.moduleLength=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.moduleLength=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicTrough,U.newValue)}};s(U),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&F.foundationId===g.foundationId&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicTrough,U.groupId,U.newValue)}};s(U),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.moduleLength:g.moduleLength;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Trough Module Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicTroughModuleLength=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicTroughMenu.LatusRectum",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(vje),r=M(xje),a=M(bje),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.latusRectum)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.latusRectum=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicTrough&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicTrough&&!F.locked&&L.has(F.id)&&(F.latusRectum=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Troughs",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicTrough,U.newValue)}};s(U),a(z.ParabolicTrough,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicTrough&&F.foundationId===g.foundationId&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicTrough,U.groupId,U.newValue)}};s(U),r(z.ParabolicTrough,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.latusRectum:g.latusRectum;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Trough Latus Rectum",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicTroughLatusRectum=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicTroughMenu.LatusRectum",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(uA),u=M(dA),d=M(ao),f=M(oo),p=M(ca),g=co(z.ParabolicTrough),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=W=>{u(W.target.value)},T=W=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicTrough&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicTrough&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.ParabolicTrough&&N.foundationId===(g==null?void 0:g.foundationId)&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const L of n)if(L.type===z.ParabolicTrough&&L.parentId===g.parentId&&!L.locked&&Math.abs(L.poleHeight-W)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-W)>Dt)return!0;break}}return!1}},y=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)E.type===z.ParabolicTrough&&!E.locked&&W.has(E.id)&&(E.tiltAngle=N)})},S=W=>{if(g&&T(W)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(N.id)&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{y(L.oldValues,L.newValue)}};s(L),y(N,W),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicTrough&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicTrough&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Troughs",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{a(z.ParabolicTrough,L.newValue)}};s(L),a(z.ParabolicTrough,W),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const N of n)if(N.type===z.ParabolicTrough&&N.foundationId===g.foundationId&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicTrough&&E.foundationId===g.foundationId&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:g.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{L.groupId&&r(z.ParabolicTrough,L.groupId,L.newValue)}};s(L),r(z.ParabolicTrough,g.foundationId,W),f(d+1)}}break}default:{const N=o(g.id),L=N?N.poleHeight:g.poleHeight;if(b.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>W,b.current)C.current=W,w(L);else{const E={name:"Set Parabolic Trough Pole Height",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(E.changedElementId,E.oldValue)},redo:()=>{i(E.changedElementId,E.newValue)}};s(E),i(g.id,W),f(d+1)}break}}e(N=>{N.actionState.parabolicTroughPoleHeight=W})}},x=()=>{b.current=!1,t(!1)},R=()=>{x(),p()},H=()=>{S(A),b.current||(t(!1),f(0))},D=()=>{S(A)};if((g==null?void 0:g.type)!==z.ParabolicTrough)return null;const k=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",P),rejectedMessage:k,onApply:D,onClose:x,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:W=>{W!==null&&w(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [0, 5] ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",P)})]})})})]})})},suo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Parabolic Trough Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},cuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(sje),r=M(cje),a=M(uje),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.absorptance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.absorptance:f.absorptance,R={name:"Set Parabolic Trough Absorptance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughAbsorptance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(dje),r=M(fje),a=M(hje),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.opticalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Trough Optical Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughOpticalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},duo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(pje),r=M(gje),a=M(mje),l=M(En),s=M(uA),c=M(dA),u=M(ao),d=M(oo),f=co(z.ParabolicTrough),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicTrough&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicTrough&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicTrough&&!R.locked&&y.has(R.id)&&(R.thermalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for Selected Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Troughs",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicTrough,x.newValue)}};l(x),a(z.ParabolicTrough,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicTrough&&R.foundationId===f.foundationId&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Troughs Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicTrough,x.groupId,x.newValue)}};l(x),r(z.ParabolicTrough,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Trough Thermal Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicTroughThermalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicTrough?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicTroughMenu.OnlyThisParabolicTrough",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicTroughMenu.AllParabolicTroughsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicTroughMenu.AllSelectedParabolicTroughs",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicTroughMenu.AllParabolicTroughs",A)})]})})})]})})},fuo=t=>{const e=[];if(t.type!==z.ParabolicTrough)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-trough-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-trough-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-trough-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"parabolic-trough-length",label:h.jsxs(io,{Dialog:ouo,children:[j.t("word.Length",o)," ..."]})},{key:"parabolic-trough-width",label:h.jsxs(io,{Dialog:iuo,children:[j.t("word.Width",o)," ..."]})},{key:"parabolic-trough-module-length",label:h.jsxs(io,{Dialog:ruo,children:[j.t("parabolicTroughMenu.ModuleLength",o)," ..."]})},{key:"parabolic-trough-latus-rectum",label:h.jsxs(io,{Dialog:auo,children:[j.t("parabolicTroughMenu.LatusRectum",o)," ..."]})},{key:"parabolic-trough-pole-height",label:h.jsxs(io,{Dialog:luo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-trough-reflectance",label:h.jsxs(io,{Dialog:suo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-trough-absorptance",label:h.jsxs(io,{Dialog:cuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-trough-optical-efficiency",label:h.jsxs(io,{Dialog:uuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-trough-thermal-efficiency",label:h.jsxs(io,{Dialog:duo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Rye,{solarCollector:n})},{key:"parabolic-trough-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},huo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(R7),a=M(bq),l=M(Sq),s=M(eW),c=M(tW),u=M(rr),d=M(En),f=M(fA),p=M(hA),g=M(ao),A=M(oo),w=M(ca),b=co(z.ParabolicDish),[C,P]=m.useState((b==null?void 0:b.lx)??2),v=m.useRef(!1),T=m.useRef(),y=Kt(),S=F=>{p(F.target.value)},x=(F,B)=>{const _=u(F);if(_){const Y=JSON.parse(JSON.stringify(F));return Y.lx=B,xe.isSolarCollectorWithinHorizontalSurface(Y,_)}return!1},R=(F,B)=>!x(F,B),H=F=>{if(b){switch(f){case ue.AllSelectedObjectsOfThisType:for(const B of n)if(B.type===z.ParabolicDish&&!B.locked&&M.getState().selectedElementIdSet.has(B.id)&&Math.abs(B.lx-F)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const B of n)if(B.type===z.ParabolicDish&&!B.locked&&Math.abs(B.lx-F)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const B of n)if(B.type===z.ParabolicDish&&B.foundationId===(b==null?void 0:b.foundationId)&&!B.locked&&Math.abs(B.lx-F)>Dt)return!0;break;default:if(Math.abs((b==null?void 0:b.lx)-F)>Dt)return!0}return!1}},D=(F,B)=>{M.getState().set(_=>{for(const Y of _.elements)Y.type===z.ParabolicDish&&!Y.locked&&F.has(Y.id)&&(Y.lx=B,Y.ly=B)})},k=F=>{if(b&&H(F)){switch(T.current=void 0,f){case ue.AllSelectedObjectsOfThisType:{v.current=!1;for(const B of n)if(B.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(B.id)&&R(B,F)){v.current=!0;break}if(v.current)T.current=F,P(b.lx);else{const B=new Map;for(const Y of n)Y.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(Y.id)&&B.set(Y.id,Y.lx);const _={name:"Set Diameter for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O),r(Y,O)},redo:()=>{D(_.oldValues,_.newValue)}};d(_),D(B,F),A(g+1)}break}case ue.AllObjectsOfThisType:{v.current=!1;for(const B of n)if(B.type===z.ParabolicDish&&R(B,F)){v.current=!0;break}if(v.current)T.current=F,P(b.lx);else{const B=new Map;for(const Y of n)Y.type===z.ParabolicDish&&B.set(Y.id,Y.lx);const _={name:"Set Diameter for All Parabolic Dishes",timestamp:Date.now(),oldValues:B,newValue:F,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O),r(Y,O)},redo:()=>{s(z.ParabolicDish,_.newValue),c(z.ParabolicDish,_.newValue)}};d(_),s(z.ParabolicDish,F),c(z.ParabolicDish,F),A(g+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(b.foundationId){v.current=!1;for(const B of n)if(B.type===z.ParabolicDish&&B.foundationId===b.foundationId&&R(B,F)){v.current=!0;break}if(v.current)T.current=F,P(b.lx);else{const B=new Map;for(const Y of n)Y.type===z.ParabolicDish&&Y.foundationId===b.foundationId&&B.set(Y.id,Y.lx);const _={name:"Set Diameter for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:B,newValue:F,groupId:b.foundationId,undo:()=>{for(const[Y,O]of _.oldValues.entries())i(Y,O),r(Y,O)},redo:()=>{_.groupId&&(a(z.ParabolicDish,_.groupId,_.newValue),l(z.ParabolicDish,_.groupId,_.newValue))}};d(_),a(z.ParabolicDish,b.foundationId,F),l(z.ParabolicDish,b.foundationId,F),A(g+1)}}break}default:{const B=o(b.id),_=B?B.lx:b.lx;if(v.current=R(b,F),v.current)T.current=F,P(_);else{const Y={name:"Set Parabolic Dish Diameter",timestamp:Date.now(),oldValue:_,newValue:F,changedElementId:b.id,changedElementType:b.type,undo:()=>{i(Y.changedElementId,Y.oldValue),r(Y.changedElementId,Y.oldValue)},redo:()=>{i(Y.changedElementId,Y.newValue),r(Y.changedElementId,Y.newValue)}};d(Y),i(b.id,F),r(b.id,F),A(g+1)}break}}e(B=>{B.actionState.parabolicDishRimDiameter=F})}},W=()=>{v.current=!1,t(!1)},N=()=>{W(),w()},L=()=>{k(C),v.current||(t(!1),A(0))},E=()=>{k(C)};if((b==null?void 0:b.type)!==z.ParabolicDish)return null;const U=v.current?": "+j.t("message.NotApplicableToSelectedAction",y)+(T.current!==void 0?" ("+T.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicDishMenu.RimDiameter",y),rejectedMessage:U,onApply:E,onClose:W,onClickCancel:N,onClickOk:L,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,precision:2,style:{width:120},value:C,onChange:F=>{F!==null&&P(F)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",y),": 1 ",j.t("word.MeterAbbreviation",y),h.jsx("br",{}),j.t("word.MaximumValue",y),": 10 ",j.t("word.MeterAbbreviation",y)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",y)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S,value:f,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",y)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",y)})]})})})]})})},puo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(vje),r=M(xje),a=M(bje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ao),f=M(oo),p=M(ca),g=co(z.ParabolicDish),[A,w]=m.useState((g==null?void 0:g.latusRectum)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.latusRectum=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicDish&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.ParabolicDish&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.ParabolicDish&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.latusRectum-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.latusRectum)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.ParabolicDish&&!F.locked&&L.has(F.id)&&(F.latusRectum=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.ParabolicDish&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicDish&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Dishes",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.ParabolicDish,U.newValue)}};s(U),a(z.ParabolicDish,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.ParabolicDish&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.latusRectum);else{const E=new Map;for(const F of n)F.type===z.ParabolicDish&&F.foundationId===g.foundationId&&E.set(F.id,F.latusRectum);const U={name:"Set Latus Rectum for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.ParabolicDish,U.groupId,U.newValue)}};s(U),r(z.ParabolicDish,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.latusRectum:g.latusRectum;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Parabolic Dish Latus Rectum",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.parabolicDishLatusRectum=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicDishMenu.LatusRectum",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",P)})]})})})]})})},guo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(fA),a=M(hA),l=M(ao),s=M(oo),c=co(z.ParabolicDish),[u,d]=m.useState((c==null?void 0:c.structureType)??tf.CentralPole),f=Kt(),{Option:p}=Yo,g=(S,x)=>{e(R=>{for(const H of R.elements)if(H.id===S&&!H.locked&&H.type===z.ParabolicDish){H.structureType=x;break}})},A=(S,x)=>{e(R=>{for(const H of R.elements)H.foundationId===S&&!H.locked&&H.type===z.ParabolicDish&&(H.structureType=x)})},w=S=>{e(x=>{for(const R of x.elements)R.locked||R.type===z.ParabolicDish&&(R.structureType=S)})},b=S=>{a(S.target.value)},C=S=>{switch(r){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x.structureType!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&x.structureType!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of n)if(x.type===z.ParabolicDish&&x.foundationId===(c==null?void 0:c.foundationId)&&!x.locked&&x.structureType!==S)return!0;break;default:if((c==null?void 0:c.structureType)!==S)return!0}return!1},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&S.has(H.id)&&(H.structureType=x)})},v=S=>{if(c&&C(S)){switch(r){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.structureType);const R={name:"Set Structure Type for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())g(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};i(R),P(x,S),s(l+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&x.set(H.id,H.structureType);const R={name:"Set Structure Type for All Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())g(H,D)},redo:()=>{w(R.newValue)}};i(R),w(S),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(c.foundationId){const x=new Map;for(const H of n)H.type===z.ParabolicDish&&H.foundationId===c.foundationId&&x.set(H.id,H.structureType);const R={name:"Set Structure Type for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())g(H,D)},redo:()=>{R.groupId&&A(R.groupId,R.newValue)}};i(R),A(c.foundationId,S),s(l+1)}break}default:{const x=o(c.id),R=x?x.structureType:c.structureType,H={name:"Set Parabolic Dish Structure Type",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(H.changedElementId,H.oldValue)},redo:()=>{g(H.changedElementId,H.newValue)}};i(H),g(c.id,S),s(l+1);break}}e(x=>{x.actionState.parabolicDishReceiverStructure=S})}},T=()=>{t(!1)},y=()=>{v(u)};return(c==null?void 0:c.type)!==z.ParabolicDish?null:h.jsx(lo,{width:640,title:j.t("parabolicDishMenu.ReceiverStructure",f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsxs(Yo,{value:u,onChange:S=>d(S),children:[h.jsx(p,{value:tf.CentralPole,children:j.t("parabolicDishMenu.CentralPole",f)},tf.CentralPole),h.jsx(p,{value:tf.CentralPoleWithTripod,children:j.t("parabolicDishMenu.CentralPoleWithTripod",f)},tf.CentralPoleWithTripod),h.jsx(p,{value:tf.Quadrupod,children:j.t("parabolicDishMenu.Quadrupod",f)},tf.Quadrupod)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:b,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",f)})]})})})]})})},muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ao),f=M(oo),p=M(ca),g=co(z.ParabolicDish),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=W=>{u(W.target.value)},T=W=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.ParabolicDish&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.ParabolicDish&&N.foundationId===(g==null?void 0:g.foundationId)&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const L of n)if(L.type===z.ParabolicDish&&L.parentId===g.parentId&&!L.locked&&Math.abs(L.poleHeight-W)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-W)>Dt)return!0;break}}return!1}},y=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)E.type===z.ParabolicDish&&!E.locked&&W.has(E.id)&&(E.tiltAngle=N)})},S=W=>{if(g&&T(W)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(N.id)&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{y(L.oldValues,L.newValue)}};s(L),y(N,W),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.ParabolicDish&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicDish&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Dishes",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{a(z.ParabolicDish,L.newValue)}};s(L),a(z.ParabolicDish,W),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const N of n)if(N.type===z.ParabolicDish&&N.foundationId===g.foundationId&&.5*N.ly*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.ParabolicDish&&E.foundationId===g.foundationId&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:g.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{L.groupId&&r(z.ParabolicDish,L.groupId,L.newValue)}};s(L),r(z.ParabolicDish,g.foundationId,W),f(d+1)}}break}default:{const N=o(g.id),L=N?N.poleHeight:g.poleHeight;if(b.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>W,b.current)C.current=W,w(L);else{const E={name:"Set Parabolic Dish Pole Height",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(E.changedElementId,E.oldValue)},redo:()=>{i(E.changedElementId,E.newValue)}};s(E),i(g.id,W),f(d+1)}break}}e(N=>{N.actionState.parabolicDishPoleHeight=W})}},x=()=>{b.current=!1,t(!1)},R=()=>{x(),p()},H=()=>{S(A),b.current||(t(!1),f(0))},D=()=>{S(A)};if((g==null?void 0:g.type)!==z.ParabolicDish)return null;const k=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("parabolicDishMenu.ExtraPoleHeightInAdditionToRadius",P),rejectedMessage:k,onApply:D,onClose:x,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:W=>{W!==null&&w(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [0, 5] ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",P)})]})})})]})})},yuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rje),r=M(aje),a=M(lje),l=M(rr),s=M(En),c=M(fA),u=M(hA),d=M(ao),f=M(oo),p=co(z.ParabolicDish),[g,A]=m.useState((p==null?void 0:p.poleRadius)??.1),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const x of n)if(x.type===z.ParabolicDish&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of n)if(x.type===z.ParabolicDish&&x.foundationId===(p==null?void 0:p.foundationId)&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(p)){for(const R of n)if(R.type===z.ParabolicDish&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-S)>Dt)return!0}break}default:{if(Math.abs((p==null?void 0:p.poleRadius)-S)>Dt)return!0;break}}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.ParabolicDish&&!H.locked&&S.has(H.id)&&(H.poleRadius=x)})},v=S=>{if(p&&C(S)){switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.ParabolicDish&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Parabolic Dishes",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.ParabolicDish,R.newValue)}};s(R),a(z.ParabolicDish,S),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of n)H.type===z.ParabolicDish&&H.foundationId===p.foundationId&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.ParabolicDish,R.groupId,R.newValue)}};s(R),r(z.ParabolicDish,p.foundationId,S),f(d+1)}break}default:{const x=o(p.id),R=x?x.poleRadius:p.poleRadius,H={name:"Set Parabolic Dish Pole Radius",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}e(x=>{x.actionState.parabolicDishPoleRadius=S})}},T=()=>{t(!1)},y=()=>{v(g)};return(p==null?void 0:p.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.PoleRadius",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:S=>{S!==null&&A(S)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",w),": [0.1, 0.5] ",j.t("word.MeterAbbreviation",w)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",w)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",w)})]})})})]})})},Auo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Parabolic Dish Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(sje),r=M(cje),a=M(uje),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.absorptance)??.95),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.absorptance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.absorptance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.absorptance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.absorptance);const x={name:"Set Absorptance for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.absorptance:f.absorptance,R={name:"Set Parabolic Dish Absorptance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishAbsorptance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},vuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(dje),r=M(fje),a=M(hje),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.opticalEfficiency)??.7),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.opticalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.opticalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.opticalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.opticalEfficiency);const x={name:"Set Optical Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.opticalEfficiency:f.opticalEfficiency,R={name:"Set Parabolic Dish Optical Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishOpticalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},xuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(pje),r=M(gje),a=M(mje),l=M(En),s=M(fA),c=M(hA),u=M(ao),d=M(oo),f=co(z.ParabolicDish),[p,g]=m.useState((f==null?void 0:f.thermalEfficiency)??.3),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.ParabolicDish&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.ParabolicDish&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.thermalEfficiency-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.thermalEfficiency)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.ParabolicDish&&!R.locked&&y.has(R.id)&&(R.thermalEfficiency=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for Selected Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.ParabolicDish&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Dishes",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.ParabolicDish,x.newValue)}};l(x),a(z.ParabolicDish,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.ParabolicDish&&R.foundationId===f.foundationId&&S.set(R.id,R.thermalEfficiency);const x={name:"Set Thermal Efficiency for All Parabolic Dishes Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.ParabolicDish,x.groupId,x.newValue)}};l(x),r(z.ParabolicDish,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.thermalEfficiency:f.thermalEfficiency,R={name:"Set Parabolic Dish Thermal Efficiency",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.parabolicDishThermalEfficiency=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.ParabolicDish?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("parabolicDishMenu.OnlyThisParabolicDish",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("parabolicDishMenu.AllParabolicDishesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("parabolicDishMenu.AllSelectedParabolicDishes",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("parabolicDishMenu.AllParabolicDishes",A)})]})})})]})})},buo=t=>{const e=[];if(t.type!==z.ParabolicDish)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"parabolic-dish-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"parabolic-dish-cut",label:h.jsx(Tf,{})}),e.push({key:"parabolic-dish-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"parabolic-dish-radius",label:h.jsxs(io,{Dialog:huo,children:[j.t("parabolicDishMenu.RimDiameter",o)," ..."]})},{key:"parabolic-dish-latus-rectum",label:h.jsxs(io,{Dialog:puo,children:[j.t("parabolicDishMenu.LatusRectum",o)," ..."]})},{key:"parabolic-dish-structure-type",label:h.jsxs(io,{Dialog:guo,children:[j.t("parabolicDishMenu.ReceiverStructure",o)," ..."]})},{key:"parabolic-dish-pole-height",label:h.jsxs(io,{Dialog:muo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"parabolic-dish-pole-radius",label:h.jsxs(io,{Dialog:yuo,children:[j.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"parabolic-dish-reflectance",label:h.jsxs(io,{Dialog:Auo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"parabolic-dish-absorptance",label:h.jsxs(io,{Dialog:wuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverAbsorptance",o)," ..."]})},{key:"parabolic-dish-optical-efficiency",label:h.jsxs(io,{Dialog:vuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorOpticalEfficiency",o)," ..."]})},{key:"parabolic-dish-thermal-efficiency",label:h.jsxs(io,{Dialog:xuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReceiverThermalEfficiency",o)," ..."]})},{key:"parabolic-dish-draw-sun-beam",label:h.jsx(Rye,{solarCollector:n})},{key:"parabolic-dish-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Suo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(nje),i=M(oje),r=M(ije),a=M(En),l=M(bb),s=M(Sb),c=M(ao),u=M(oo),d=co(z.FresnelReflector),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),A=T=>{s(T.target.value)},w=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.FresnelReflector&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.FresnelReflector&&!y.locked&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.FresnelReflector&&y.foundationId===(d==null?void 0:d.foundationId)&&!y.locked&&y.drawSunBeam!==T)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==T)return!0}return!1},b=(T,y)=>{M.getState().set(S=>{for(const x of S.elements)xe.isSolarCollectorType(x.type)&&!x.locked&&x.type===z.FresnelReflector&&T.has(x.id)&&(x.drawSunBeam=y)})},C=T=>{if(d&&w(T))switch(l){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{b(S.oldValues,S.newValue)}};a(S),b(y,T),u(c+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.FresnelReflector&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Fresnel Reflectors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{r(z.FresnelReflector,S.newValue)}};a(S),r(z.FresnelReflector,T),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const y=new Map;for(const x of e)x.type===z.FresnelReflector&&x.foundationId===d.foundationId&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:d.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{S.groupId&&i(z.FresnelReflector,S.groupId,S.newValue)}};a(S),i(z.FresnelReflector,d.foundationId,T),u(c+1)}break}default:{const y=n(d.id),S=y?y.drawSunBeam:d.drawSunBeam,x={name:"Draw Sun Beam for Fresnel Reflector",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(x.changedElementId,x.oldValue)},redo:()=>{o(x.changedElementId,x.newValue)}};a(x),o(d.id,T),u(c+1);break}}},P=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.FresnelReflector?null:h.jsx(lo,{width:500,title:j.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:T=>{p(T)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:A,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",g)})]})})})]})})},{Option:Tuo}=Yo,Puo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(yje),r=M(Aje),a=M(wje),l=M(En),s=M(bb),c=M(Sb),u=M(ao),d=M(oo),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.receiverId)??"None"),A=Kt(),w=m.useMemo(()=>{const S=[];for(const x of n)if(x.type===z.Foundation){const R=x;R.solarStructure===zn.FocusPipe&&S.push(R.id)}return S},[n]);m.useEffect(()=>{if(g("None"),f)if(f.receiverId)g(f.receiverId);else{const S=o(f.parentId);S&&S.type===z.Foundation&&S.solarStructure===zn.FocusPipe&&g(S.id)}},[f]);const b=S=>{c(S.target.value)},C=S=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.FresnelReflector&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x.receiverId!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.FresnelReflector&&!x.locked&&x.receiverId!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of n)if(x.type===z.FresnelReflector&&x.foundationId===(f==null?void 0:f.foundationId)&&!x.locked&&x.receiverId!==S)return!0;break;default:if((f==null?void 0:f.receiverId)!==S)return!0}return!1},P=(S,x)=>{e(R=>{for(const H of R.elements)xe.isHeliostatOrFresnelReflector(H.type)&&!H.locked&&S.has(H.id)&&(H.type===z.Heliostat?H.towerId=x:H.type===z.FresnelReflector&&(H.receiverId=x))})},v=S=>{if(f&&C(S)){switch(s){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.receiverId);const R={name:"Set Receiver for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};l(R),P(x,S),d(u+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.FresnelReflector&&x.set(H.id,H.receiverId);const R={name:"Set Receiver for All Fresnel Reflectors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.FresnelReflector,R.newValue)}};l(R),a(z.FresnelReflector,S),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const x=new Map;for(const H of n)H.type===z.FresnelReflector&&H.foundationId===f.foundationId&&x.set(H.id,H.receiverId);const R={name:"Set Receiver for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:f.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.FresnelReflector,R.groupId,R.newValue)}};l(R),r(z.FresnelReflector,f.foundationId,S),d(u+1)}break}default:{const x=o(f.id),R=x?x.receiverId:f.receiverId,H={name:"Set Receiver for Fresnel Reflector",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,S),d(u+1);break}}e(x=>{x.actionState.fresnelReflectorReceiver=S})}},T=()=>{t(!1)},y=()=>{p&&v(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:640,title:j.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",A),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsx(Yo,{style:{width:"160px"},value:p,onChange:S=>{g(S)},children:w.map((S,x)=>h.jsx(Tuo,{value:S,children:j.t("fresnelReflectorMenu.AbsorberPipe",A)+" "+(x+1)},x))})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",A)})]})})})]})})},Cuo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(R7),i=M(Sq),r=M(tW),a=M(rr),l=M(En),s=M(bb),c=M(Sb),u=M(ao),d=M(oo),f=M(ca),p=co(z.FresnelReflector),[g,A]=m.useState((p==null?void 0:p.ly)??9),w=m.useRef(!1),b=m.useRef(),C=Kt(),P=L=>{c(L.target.value)},v=(L,E)=>{const U=a(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.ly=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},T=(L,E)=>!v(L,E),y=L=>{if(p){switch(s){case ue.AllSelectedObjectsOfThisType:for(const E of e)if(E.type===z.FresnelReflector&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of e)if(E.type===z.FresnelReflector&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of e)if(E.type===z.FresnelReflector&&E.foundationId===(p==null?void 0:p.foundationId)&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;default:if(Math.abs((p==null?void 0:p.ly)-L)>Dt)return!0}return!1}},S=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.FresnelReflector&&!F.locked&&L.has(F.id)&&(F.ly=E)})},x=L=>{if(p&&y(L))switch(b.current=void 0,s){case ue.AllSelectedObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.ly);const U={name:"Set Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{S(U.oldValues,U.newValue)}};l(U),S(E,L),d(u+1)}break}case ue.AllObjectsOfThisType:{w.current=!1;for(const E of e)if(E.type===z.FresnelReflector&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.FresnelReflector&&E.set(F.id,F.ly);const U={name:"Set Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{r(z.FresnelReflector,U.newValue)}};l(U),r(z.FresnelReflector,L),d(u+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){w.current=!1;for(const E of e)if(E.type===z.FresnelReflector&&E.foundationId===p.foundationId&&T(E,L)){w.current=!0;break}if(w.current)b.current=L,A(p.ly);else{const E=new Map;for(const F of e)F.type===z.FresnelReflector&&F.foundationId===p.foundationId&&E.set(F.id,F.ly);const U={name:"Set Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:p.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())o(F,B)},redo:()=>{U.groupId&&i(z.FresnelReflector,U.groupId,U.newValue)}};l(U),i(z.FresnelReflector,p.foundationId,L),d(u+1)}}break}default:{const E=n(p.id),U=E?E.ly:p.ly;if(w.current=T(p,L),w.current)b.current=L,A(U);else{const F={name:"Set Fresnel Reflector Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:p.id,changedElementType:p.type,undo:()=>{o(F.changedElementId,F.oldValue)},redo:()=>{o(F.changedElementId,F.newValue)}};l(F),o(p.id,L),d(u+1)}break}}},R=()=>{w.current=!1,t(!1)},H=()=>{R(),f()},D=()=>{x(g),w.current||(t(!1),d(0))},k=L=>{if(!p)return 1;let E=L??1;return E=Math.max(1,Math.ceil((E-p.moduleLength/2)/p.moduleLength))*p.moduleLength,E},W=()=>{x(g)};if((p==null?void 0:p.type)!==z.FresnelReflector)return null;const N=w.current?": "+j.t("message.NotApplicableToSelectedAction",C)+(b.current!==void 0?" ("+b.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Length",C),rejectedMessage:N,onApply:W,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:p.moduleLength,max:200*p.moduleLength,step:p.moduleLength,style:{width:120},precision:2,value:g,onChange:L=>{L!==null&&A(k(L))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("fresnelReflectorMenu.ModuleLength",C)+": "+p.moduleLength.toFixed(1)+" "+j.t("word.MeterAbbreviation",C),h.jsx("br",{}),Math.round(g/p.moduleLength)+" "+j.t("fresnelReflectorMenu.ModulesLong",C),h.jsx("br",{}),j.t("word.Maximum",C),": 200 ",j.t("fresnelReflectorMenu.Modules",C)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",C)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",C)})]})})})]})})},Ruo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(bq),a=M(eW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ao),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[A,w]=m.useState((g==null?void 0:g.lx)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.lx=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.FresnelReflector&&!F.locked&&L.has(F.id)&&(F.lx=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.lx);const U={name:"Set Width for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&E.set(F.id,F.lx);const U={name:"Set Width for All Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.FresnelReflector,U.newValue)}};s(U),a(z.FresnelReflector,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&F.foundationId===g.foundationId&&E.set(F.id,F.lx);const U={name:"Set Width for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.FresnelReflector,U.groupId,U.newValue)}};s(U),r(z.FresnelReflector,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.lx:g.lx;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Fresnel Reflector Width",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.fresnelReflectorWidth=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Width",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:10,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",P)})]})})})]})})},Huo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Sje),r=M(Tje),a=M(Pje),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ao),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[A,w]=m.useState((g==null?void 0:g.moduleLength)??3),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.moduleLength=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.FresnelReflector&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.moduleLength-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.moduleLength)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.FresnelReflector&&!F.locked&&L.has(F.id)&&(F.moduleLength=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Fresnel Reflectors",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.FresnelReflector,U.newValue)}};s(U),a(z.FresnelReflector,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.FresnelReflector&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.moduleLength);else{const E=new Map;for(const F of n)F.type===z.FresnelReflector&&F.foundationId===g.foundationId&&E.set(F.id,F.moduleLength);const U={name:"Set Module Length for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.FresnelReflector,U.groupId,U.newValue)}};s(U),r(z.FresnelReflector,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.moduleLength:g.moduleLength;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Fresnel Reflector Module Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.fresnelReflectorModuleLength=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("fresnelReflectorMenu.ModuleLength",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 10 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",P)})]})})})]})})},Muo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(bb),u=M(Sb),d=M(ao),f=M(oo),p=M(ca),g=co(z.FresnelReflector),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=m.useRef((g==null?void 0:g.poleHeight)??1),v=Kt(),T=N=>{u(N.target.value)},y=N=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const L of n)if(L.type===z.FresnelReflector&&!L.locked&&M.getState().selectedElementIdSet.has(L.id)&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const L of n)if(L.type===z.FresnelReflector&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const L of n)if(L.type===z.FresnelReflector&&L.foundationId===(g==null?void 0:g.foundationId)&&!L.locked&&Math.abs(L.poleHeight-N)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const E of n)if(E.type===z.FresnelReflector&&E.parentId===g.parentId&&!E.locked&&Math.abs(E.poleHeight-N)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-N)>Dt)return!0;break}}return!1}},S=(N,L)=>{M.getState().set(E=>{for(const U of E.elements)U.type===z.FresnelReflector&&!U.locked&&N.has(U.id)&&(U.poleHeight=L)})},x=N=>{if(g&&y(N)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const L of n)if(L.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(L.id)&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){b.current=!0;break}if(b.current)C.current=N,P.current=g.poleHeight;else{const L=new Map;for(const U of n)U.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(U.id)&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{S(E.oldValues,E.newValue)}};s(E),S(L,N),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const L of n)if(L.type===z.FresnelReflector&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){b.current=!0;break}if(b.current)C.current=N,P.current=g.poleHeight;else{const L=new Map;for(const U of n)U.type===z.FresnelReflector&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Fresnel Reflectors",timestamp:Date.now(),oldValues:L,newValue:N,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{a(z.FresnelReflector,E.newValue)}};s(E),a(z.FresnelReflector,N),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const L of n)if(L.type===z.FresnelReflector&&L.foundationId===g.foundationId&&.5*L.ly*Math.abs(Math.sin(L.tiltAngle))>N){b.current=!0;break}if(b.current)C.current=N,P.current=g.poleHeight;else{const L=new Map;for(const U of n)U.type===z.FresnelReflector&&U.foundationId===g.foundationId&&L.set(U.id,U.poleHeight);const E={name:"Set Pole Height for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:L,newValue:N,groupId:g.foundationId,undo:()=>{for(const[U,F]of E.oldValues.entries())i(U,F)},redo:()=>{E.groupId&&r(z.FresnelReflector,E.groupId,E.newValue)}};s(E),r(z.FresnelReflector,g.foundationId,N),f(d+1)}}break}default:{const L=o(g.id),E=L?L.poleHeight:g.poleHeight;if(b.current=.5*g.lx*Math.abs(Math.sin(g.tiltAngle))>N,b.current)C.current=N,P.current=E;else{const U={name:"Set Fresnel Reflector Pole Height",timestamp:Date.now(),oldValue:E,newValue:N,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(U.changedElementId,U.oldValue)},redo:()=>{i(U.changedElementId,U.newValue)}};s(U),i(g.id,N),f(d+1)}break}}e(L=>{L.actionState.fresnelReflectorPoleHeight=N})}},R=()=>{t(!1)},H=()=>{R(),p()},D=()=>{x(A),b.current||(t(!1),f(0))},k=()=>{x(A)};if((g==null?void 0:g.type)!==z.FresnelReflector)return null;const W=b.current?": "+j.t("message.NotApplicableToSelectedAction",v)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",v),rejectedMessage:W,onApply:k,onClose:R,onClickCancel:H,onClickOk:D,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:N=>{N!==null&&w(N)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",v),": [0, 5] ",j.t("word.MeterAbbreviation",v)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",v)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",v)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",v)})]})})})]})})},Iuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(bb),c=M(Sb),u=M(ao),d=M(oo),f=co(z.FresnelReflector),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.FresnelReflector&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.FresnelReflector&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.FresnelReflector&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.FresnelReflector&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.FresnelReflector&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Fresnel Reflectors",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.FresnelReflector&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Fresnel Reflectors",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.FresnelReflector,x.newValue)}};l(x),a(z.FresnelReflector,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.FresnelReflector&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Fresnel Reflectors Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.FresnelReflector,x.groupId,x.newValue)}};l(x),r(z.FresnelReflector,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Fresnel Reflector Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.fresnelReflectorReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p)};return(f==null?void 0:f.type)!==z.FresnelReflector?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,value:p,step:.01,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("fresnelReflectorMenu.OnlyThisFresnelReflector",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("fresnelReflectorMenu.AllFresnelReflectorsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllSelectedFresnelReflectors",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("fresnelReflectorMenu.AllFresnelReflectors",A)})]})})})]})})},zuo=t=>{const e=[];if(t.type!==z.FresnelReflector)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"fresnel-reflector-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"fresnel-reflector-cut",label:h.jsx(Tf,{})}),e.push({key:"fresnel-reflector-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"fresnel-reflector-receiver",label:h.jsxs(io,{Dialog:Puo,children:[j.t("fresnelReflectorMenu.SelectAbsorberToReflectSunlightTo",o)," ..."]})},{key:"fresnel-reflector-length",label:h.jsxs(io,{Dialog:Cuo,children:[j.t("word.Length",o)," ..."]})},{key:"fresnel-reflector-width",label:h.jsxs(io,{Dialog:Ruo,children:[j.t("word.Width",o)," ..."]})},{key:"fresnel-reflector-module-length",label:h.jsxs(io,{Dialog:Huo,children:[j.t("fresnelReflectorMenu.ModuleLength",o)," ..."]})},{key:"fresnel-reflector-pole-height",label:h.jsxs(io,{Dialog:Muo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"fresnel-reflector-reflectance",label:h.jsxs(io,{Dialog:Iuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"fresnel-reflector-draw-sun-beam",label:h.jsxs(io,{Dialog:Suo,children:[j.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"fresnel-reflector-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Duo=({setDialogVisible:t})=>{const e=M(Jn),n=M(Vn),o=M(nje),i=M(oje),r=M(ije),a=M(En),l=M(Tb),s=M(Pb),c=M(ao),u=M(oo),d=co(z.Heliostat),[f,p]=m.useState(!!(d!=null&&d.drawSunBeam)),g=Kt(),A=T=>{s(T.target.value)},w=T=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Heliostat&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Heliostat&&!y.locked&&y.drawSunBeam!==T)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Heliostat&&y.foundationId===(d==null?void 0:d.foundationId)&&!y.locked&&y.drawSunBeam!==T)return!0;break;default:if((d==null?void 0:d.drawSunBeam)!==T)return!0}return!1},b=(T,y)=>{M.getState().set(S=>{for(const x of S.elements)x.type===z.Heliostat&&!x.locked&&T.has(x.id)&&(x.drawSunBeam=y)})},C=T=>{if(d&&w(T))switch(l){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.Heliostat&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for Selected Heliostats",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{b(S.oldValues,S.newValue)}};a(S),b(y,T),u(c+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)x.type===z.Heliostat&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Heliostats",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{r(z.Heliostat,S.newValue)}};a(S),r(z.Heliostat,T),u(c+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const y=new Map;for(const x of e)x.type===z.Heliostat&&x.foundationId===d.foundationId&&y.set(x.id,x.drawSunBeam);const S={name:"Draw Sun Beam for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:d.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())o(x,R)},redo:()=>{S.groupId&&i(z.Heliostat,S.groupId,S.newValue)}};a(S),i(z.Heliostat,d.foundationId,T),u(c+1)}break}default:{const y=n(d.id),S=y?y.drawSunBeam:d.drawSunBeam,x={name:"Draw Sun Beam for Heliostat",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:d.id,changedElementType:d.type,undo:()=>{o(x.changedElementId,x.oldValue)},redo:()=>{o(x.changedElementId,x.newValue)}};a(x),o(d.id,T),u(c+1);break}}},P=()=>{t(!1)},v=()=>{C(f)};return(d==null?void 0:d.type)!==z.Heliostat?null:h.jsx(lo,{width:500,title:j.t("solarCollectorMenu.DrawSunBeam",g),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:f,onChange:p})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:A,value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",g)})]})})})]})})},{Option:Euo}=Yo,kuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(yje),r=M(Aje),a=M(wje),l=M(En),s=M(Tb),c=M(Pb),u=M(ao),d=M(oo),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.towerId)??"None"),A=Kt(),w=m.useMemo(()=>{const S=[];for(const x of n)if(x.type===z.Foundation){const R=x;R.solarStructure===zn.FocusTower&&S.push(R.id)}return S},[n]);m.useEffect(()=>{if(g("None"),f)if(f.towerId)g(f.towerId);else{const S=o(f.parentId);S&&S.type===z.Foundation&&S.solarStructure===zn.FocusTower&&g(S.id)}},[f]);const b=S=>{c(S.target.value)},C=S=>{switch(s){case ue.AllSelectedObjectsOfThisType:for(const x of n)if(x.type===z.Heliostat&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x.towerId!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of n)if(x.type===z.Heliostat&&!x.locked&&x.towerId!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of n)if(x.type===z.Heliostat&&x.foundationId===(f==null?void 0:f.foundationId)&&!x.locked&&x.towerId!==S)return!0;break;default:if((f==null?void 0:f.towerId)!==S)return!0}return!1},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&S.has(H.id)&&(H.towerId=x)})},v=S=>{if(f&&C(S)){switch(s){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.towerId);const R={name:"Set Tower for Selected Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};l(R),P(x,S),d(u+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&x.set(H.id,H.towerId);const R={name:"Set Tower for All Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.Heliostat,R.newValue)}};l(R),a(z.Heliostat,S),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const x=new Map;for(const H of n)H.type===z.Heliostat&&H.foundationId===f.foundationId&&x.set(H.id,H.towerId);const R={name:"Set Tower for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:f.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.Heliostat,R.groupId,R.newValue)}};l(R),r(z.Heliostat,f.foundationId,S),d(u+1)}break}default:{const x=o(f.id),R=x?x.towerId:f.towerId,H={name:"Set Tower for Heliostat",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};l(H),i(f.id,S),d(u+1);break}}e(x=>{x.actionState.heliostatTower=S})}},T=()=>{t(!1)},y=()=>{p&&v(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:j.t("heliostatMenu.SelectTowerToReflectSunlightTo",A),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"120px"},value:p,onChange:g,children:w.map((S,x)=>h.jsx(Euo,{value:S,children:j.t("heliostatMenu.Tower",A)+" "+(x+1)},x))})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:b,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",A)})]})})})]})})},Fuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(t3),r=M(bq),a=M(eW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(oo),p=M(ca),g=co(z.Heliostat),[A,w]=m.useState((g==null?void 0:g.lx)??2),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.lx=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.Heliostat&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.lx-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.lx)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.Heliostat&&!F.locked&&L.has(F.id)&&(F.lx=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.lx);const U={name:"Set Length for Selected Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&E.set(F.id,F.lx);const U={name:"Set Length for All Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.Heliostat,U.newValue)}};s(U),a(z.Heliostat,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.Heliostat&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.lx);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&F.foundationId===g.foundationId&&E.set(F.id,F.lx);const U={name:"Set Length for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.Heliostat,U.groupId,U.newValue)}};s(U),r(z.Heliostat,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.lx:g.lx;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Heliostat Length",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.heliostatLength=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Length",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,style:{width:120},precision:2,value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",P)})]})})})]})})},Luo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(R7),r=M(Sq),a=M(tW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(oo),p=M(ca),g=co(z.Heliostat),[A,w]=m.useState((g==null?void 0:g.ly)??4),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=L=>{u(L.target.value)},T=(L,E)=>{const U=l(L);if(U){const F=JSON.parse(JSON.stringify(L));return F.ly=E,xe.isSolarCollectorWithinHorizontalSurface(F,U)}return!1},y=(L,E)=>!T(L,E),S=L=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const E of n)if(E.type===z.Heliostat&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const E of n)if(E.type===z.Heliostat&&E.foundationId===(g==null?void 0:g.foundationId)&&!E.locked&&Math.abs(E.ly-L)>Dt)return!0;break;default:if(Math.abs((g==null?void 0:g.ly)-L)>Dt)return!0}return!1}},x=(L,E)=>{M.getState().set(U=>{for(const F of U.elements)F.type===z.Heliostat&&!F.locked&&L.has(F.id)&&(F.ly=E)})},R=L=>{if(g&&S(L)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.ly);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&M.getState().selectedElementIdSet.has(F.id)&&E.set(F.id,F.ly);const U={name:"Set Width for Selected Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{x(U.oldValues,U.newValue)}};s(U),x(E,L),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const E of n)if(E.type===z.Heliostat&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.ly);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&E.set(F.id,F.ly);const U={name:"Set Width for All Heliostats",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{a(z.Heliostat,U.newValue)}};s(U),a(z.Heliostat,L),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const E of n)if(E.type===z.Heliostat&&E.foundationId===g.foundationId&&y(E,L)){b.current=!0;break}if(b.current)C.current=L,w(g.ly);else{const E=new Map;for(const F of n)F.type===z.Heliostat&&F.foundationId===g.foundationId&&E.set(F.id,F.ly);const U={name:"Set Width for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:g.foundationId,undo:()=>{for(const[F,B]of U.oldValues.entries())i(F,B)},redo:()=>{U.groupId&&r(z.Heliostat,U.groupId,U.newValue)}};s(U),r(z.Heliostat,g.foundationId,L),f(d+1)}}break}default:{const E=o(g.id),U=E?E.ly:g.ly;if(b.current=y(g,L),b.current)C.current=L,w(U);else{const F={name:"Set Heliostat Width",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(F.changedElementId,F.oldValue)},redo:()=>{i(F.changedElementId,F.newValue)}};s(F),i(g.id,L),f(d+1)}break}}e(E=>{E.actionState.heliostatWidth=L})}},H=()=>{b.current=!1,t(!1)},D=()=>{H(),p()},k=()=>{R(A),b.current||(t(!1),f(0))},W=()=>{R(A)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const N=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("word.Width",P),rejectedMessage:N,onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:20,step:.5,precision:2,style:{width:120},value:A,onChange:L=>{L!==null&&w(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.MinimumValue",P),": 1 ",j.t("word.MeterAbbreviation",P),h.jsx("br",{}),j.t("word.MaximumValue",P),": 20 ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",P)})]})})})]})})},Wuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(iW),r=M(rW),a=M(aW),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(oo),p=M(ca),g=co(z.Heliostat),[A,w]=m.useState((g==null?void 0:g.poleHeight)??1),b=m.useRef(!1),C=m.useRef(),P=Kt(),v=W=>{u(W.target.value)},T=W=>{if(g){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const N of n)if(N.type===z.Heliostat&&!N.locked&&M.getState().selectedElementIdSet.has(N.id)&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const N of n)if(N.type===z.Heliostat&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const N of n)if(N.type===z.Heliostat&&N.foundationId===(g==null?void 0:g.foundationId)&&!N.locked&&Math.abs(N.poleHeight-W)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(g)){for(const L of n)if(L.type===z.Heliostat&&L.parentId===g.parentId&&!L.locked&&Math.abs(L.poleHeight-W)>Dt)return!0}break}default:{if(Math.abs((g==null?void 0:g.poleHeight)-W)>Dt)return!0;break}}return!1}},y=(W,N)=>{M.getState().set(L=>{for(const E of L.elements)E.type===z.Heliostat&&!E.locked&&W.has(E.id)&&(E.poleHeight=N)})},S=W=>{if(g&&T(W)){switch(C.current=void 0,c){case ue.AllSelectedObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.Heliostat&&M.getState().selectedElementIdSet.has(N.id)&&.5*Math.max(N.lx,N.ly)*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.Heliostat&&M.getState().selectedElementIdSet.has(E.id)&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for Selected Heliostats",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{y(L.oldValues,L.newValue)}};s(L),y(N,W),f(d+1)}break}case ue.AllObjectsOfThisType:{b.current=!1;for(const N of n)if(N.type===z.Heliostat&&.5*Math.max(N.lx,N.ly)*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.Heliostat&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Heliostats",timestamp:Date.now(),oldValues:N,newValue:W,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{a(z.Heliostat,L.newValue)}};s(L),a(z.Heliostat,W),f(d+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(g.foundationId){b.current=!1;for(const N of n)if(N.type===z.Heliostat&&N.foundationId===g.foundationId&&.5*Math.max(N.lx,N.ly)*Math.abs(Math.sin(N.tiltAngle))>W){b.current=!0;break}if(b.current)C.current=W,w(g.poleHeight);else{const N=new Map;for(const E of n)E.type===z.Heliostat&&E.foundationId===g.foundationId&&N.set(E.id,E.poleHeight);const L={name:"Set Pole Height for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:N,newValue:W,groupId:g.foundationId,undo:()=>{for(const[E,U]of L.oldValues.entries())i(E,U)},redo:()=>{L.groupId&&r(z.Heliostat,L.groupId,L.newValue)}};s(L),r(z.Heliostat,g.foundationId,W),f(d+1)}}break}default:{const N=o(g.id),L=N?N.poleHeight:g.poleHeight;if(b.current=.5*Math.max(g.lx,g.ly)*Math.abs(Math.sin(g.tiltAngle))>W,b.current)C.current=W,w(L);else{const E={name:"Set Heliostat Pole Height",timestamp:Date.now(),oldValue:L,newValue:W,changedElementId:g.id,changedElementType:g.type,undo:()=>{i(E.changedElementId,E.oldValue)},redo:()=>{i(E.changedElementId,E.newValue)}};s(E),i(g.id,W),f(d+1)}break}}e(N=>{N.actionState.heliostatPoleHeight=W})}},x=()=>{b.current=!1,t(!1)},R=()=>{x(),p()},H=()=>{S(A),b.current||(t(!1),f(0))},D=()=>{S(A)};if((g==null?void 0:g.type)!==z.Heliostat)return null;const k=b.current?": "+j.t("message.NotApplicableToSelectedAction",P)+(C.current!==void 0?" ("+C.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.ExtraPoleHeightInAdditionToHalfWidth",P),rejectedMessage:k,onApply:D,onClose:x,onClickCancel:R,onClickOk:H,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:5,style:{width:120},step:.1,precision:2,value:A,onChange:W=>{W!==null&&w(W)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [0, 5] ",j.t("word.MeterAbbreviation",P)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",P)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:v,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",P)})]})})})]})})},Nuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(rje),r=M(aje),a=M(lje),l=M(rr),s=M(En),c=M(Tb),u=M(Pb),d=M(ao),f=M(oo),p=co(z.Heliostat),[g,A]=m.useState((p==null?void 0:p.poleRadius)??.1),w=Kt(),b=S=>{u(S.target.value)},C=S=>{if(p){switch(c){case ue.AllSelectedObjectsOfThisType:{for(const x of n)if(x.type===z.Heliostat&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisType:{for(const x of n)if(x.type===z.Heliostat&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of n)if(x.type===z.Heliostat&&x.foundationId===(p==null?void 0:p.foundationId)&&!x.locked&&Math.abs(x.poleRadius-S)>Dt)return!0;break}case ue.AllObjectsOfThisTypeOnSurface:{if(l(p)){for(const R of n)if(R.type===z.Heliostat&&R.parentId===p.parentId&&!R.locked&&Math.abs(R.poleRadius-S)>Dt)return!0}break}default:{if(Math.abs((p==null?void 0:p.poleRadius)-S)>Dt)return!0;break}}return!1}},P=(S,x)=>{M.getState().set(R=>{for(const H of R.elements)H.type===z.Heliostat&&!H.locked&&S.has(H.id)&&(H.poleRadius=x)})},v=S=>{if(p&&C(S)){switch(c){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for Selected Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{P(R.oldValues,R.newValue)}};s(R),P(x,S),f(d+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of n)H.type===z.Heliostat&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Heliostats",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{a(z.Heliostat,R.newValue)}};s(R),a(z.Heliostat,S),f(d+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(p.foundationId){const x=new Map;for(const H of n)H.type===z.Heliostat&&H.foundationId===p.foundationId&&x.set(H.id,H.poleRadius);const R={name:"Set Pole Radius for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:p.foundationId,undo:()=>{for(const[H,D]of R.oldValues.entries())i(H,D)},redo:()=>{R.groupId&&r(z.Heliostat,R.groupId,R.newValue)}};s(R),r(z.Heliostat,p.foundationId,S),f(d+1)}break}default:{const x=o(p.id),R=x?x.poleRadius:p.poleRadius,H={name:"Set Heliostat Pole Radius",timestamp:Date.now(),oldValue:R,newValue:S,changedElementId:p.id,changedElementType:p.type,undo:()=>{i(H.changedElementId,H.oldValue)},redo:()=>{i(H.changedElementId,H.newValue)}};s(H),i(p.id,S),f(d+1);break}}e(x=>{x.actionState.heliostatPoleRadius=S})}},T=()=>{t(!1)},y=()=>{v(g)};return(p==null?void 0:p.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:j.t("solarCollectorMenu.PoleRadius",w),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:.5,style:{width:120},step:.01,precision:2,value:g,onChange:S=>{S!==null&&A(S)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",w),": [0.1, 0.5] ",j.t("word.MeterAbbreviation",w)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",w)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:b,value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",w)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",w)})]})})})]})})},Uuo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(Tq),r=M(Pq),a=M(Cq),l=M(En),s=M(Tb),c=M(Pb),u=M(ao),d=M(oo),f=co(z.Heliostat),[p,g]=m.useState((f==null?void 0:f.reflectance)??.9),A=Kt(),w=y=>{c(y.target.value)},b=y=>{if(f){switch(s){case ue.AllSelectedObjectsOfThisType:for(const S of n)if(S.type===z.Heliostat&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisType:for(const S of n)if(S.type===z.Heliostat&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const S of n)if(S.type===z.Heliostat&&S.foundationId===(f==null?void 0:f.foundationId)&&!S.locked&&Math.abs(S.reflectance-y)>Dt)return!0;break;default:if(Math.abs((f==null?void 0:f.reflectance)-y)>Dt)return!0}return!1}},C=(y,S)=>{M.getState().set(x=>{for(const R of x.elements)R.type===z.Heliostat&&!R.locked&&y.has(R.id)&&(R.reflectance=S)})},P=y=>{if(f&&b(y)){switch(s){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Heliostat&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for Selected Heliostats",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{C(x.oldValues,x.newValue)}};l(x),C(S,y),d(u+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Heliostat&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Heliostats",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{a(z.Heliostat,x.newValue)}};l(x),a(z.Heliostat,y),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(f.foundationId){const S=new Map;for(const R of n)R.type===z.Heliostat&&R.foundationId===f.foundationId&&S.set(R.id,R.reflectance);const x={name:"Set Reflectance for All Heliostats Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:f.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())i(R,H)},redo:()=>{x.groupId&&r(z.Heliostat,x.groupId,x.newValue)}};l(x),r(z.Heliostat,f.foundationId,y),d(u+1)}break}default:{const S=o(f.id),x=S?S.reflectance:f.reflectance,R={name:"Set Heliostat Reflectance",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:f.id,changedElementType:f.type,undo:()=>{i(R.changedElementId,R.oldValue)},redo:()=>{i(R.changedElementId,R.newValue)}};l(R),i(f.id,y),d(u+1);break}}e(S=>{S.actionState.heliostatReflectance=y})}},v=()=>{t(!1)},T=()=>{P(p),t(!1),d(0)};return(f==null?void 0:f.type)!==z.Heliostat?null:h.jsx(lo,{width:600,title:j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",A),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},precision:2,step:.01,value:p,onChange:y=>{y!==null&&g(y)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:s,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("heliostatMenu.OnlyThisHeliostat",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("heliostatMenu.AllHeliostatsAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("heliostatMenu.AllSelectedHeliostats",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("heliostatMenu.AllHeliostats",A)})]})})})]})})},Buo=t=>{const e=[];if(t.type!==z.Heliostat)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"heliostat-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"heliostat-cut",label:h.jsx(Tf,{})}),e.push({key:"heliostat-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"heliostat-tower",label:h.jsxs(io,{Dialog:kuo,children:[j.t("heliostatMenu.SelectTowerToReflectSunlightTo",o)," ..."]})},{key:"heliostat-length",label:h.jsxs(io,{Dialog:Fuo,children:[j.t("word.Length",o)," ..."]})},{key:"heliostat-width",label:h.jsxs(io,{Dialog:Luo,children:[j.t("word.Width",o)," ..."]})},{key:"heliostat-pole-height",label:h.jsxs(io,{Dialog:Wuo,children:[j.t("solarCollectorMenu.ExtraPoleHeight",o)," ..."]})},{key:"heliostat-pole-radius",label:h.jsxs(io,{Dialog:Nuo,children:[j.t("solarCollectorMenu.PoleRadius",o)," ..."]})},{key:"heliostat-reflectance",label:h.jsxs(io,{Dialog:Uuo,children:[j.t("concentratedSolarPowerCollectorMenu.ReflectorReflectance",o)," ..."]})},{key:"heliostat-draw-sun-beam",label:h.jsxs(io,{Dialog:Duo,children:[j.t("solarCollectorMenu.DrawSunBeam",o)," ..."]})},{key:"heliostat-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},{Option:fm}=Yo,juo=be.memo(({tree:t})=>{const e=M(dn),n=M(En),[o,i]=m.useState(!1),r=Kt(),a=(l,s)=>{e(c=>{for(const u of c.elements)if(u.type===z.Tree&&u.id===l){u.name=s;break}})};return h.jsxs(Yo,{style:{width:"160px"},value:(t==null?void 0:t.name)??fi.Pine,onChange:l=>{if(t){const s=t.name;if(s!==l){const c={name:"Change Tree",timestamp:Date.now(),oldValue:s,newValue:l,changedElementId:t.id,changedElementType:t.type,undo:()=>{a(c.changedElementId,c.oldValue)},redo:()=>{a(c.changedElementId,c.newValue)}};n(c),a(t.id,l),e(u=>{u.actionState.treeType=l}),i(!o)}}},children:[h.jsxs(fm,{value:fi.Apple,children:[h.jsx("img",{alt:fi.Apple,src:Due,height:20,style:{paddingRight:"8px"}})," ",j.t("tree.Apple",r)]},fi.Apple),h.jsxs(fm,{value:fi.Birch,children:[h.jsx("img",{alt:fi.Birch,src:Eue,height:20,style:{paddingRight:"20px"}})," ",j.t("tree.Birch",r)]},fi.Birch),h.jsxs(fm,{value:fi.Coconut,children:[h.jsx("img",{alt:fi.Coconut,src:Bqe,height:20,style:{paddingRight:"18px"}})," ",j.t("tree.Coconut",r)]},fi.Coconut),h.jsxs(fm,{value:fi.Dogwood,children:[h.jsx("img",{alt:fi.Dogwood,src:kue,height:20,style:{paddingRight:"10px"}})," ",j.t("tree.Dogwood",r)]},fi.Dogwood),h.jsxs(fm,{value:fi.Elm,children:[h.jsx("img",{alt:fi.Elm,src:Fue,height:20,style:{paddingRight:"20px"}}),j.t("tree.Elm",r)]},fi.Elm),h.jsxs(fm,{value:fi.FanPalm,children:[h.jsx("img",{alt:fi.FanPalm,src:jqe,height:20,style:{paddingRight:"18px"}})," ",j.t("tree.FanPalm",r)]},fi.FanPalm),h.jsxs(fm,{value:fi.Linden,children:[h.jsx("img",{alt:fi.Linden,src:Lue,height:20,style:{paddingRight:"10px"}})," ",j.t("tree.Linden",r)]},fi.Linden),h.jsxs(fm,{value:fi.Magnolia,children:[h.jsx("img",{alt:fi.Magnolia,src:Wue,height:20,style:{paddingRight:"10px"}})," ",j.t("tree.Magnolia",r)]},fi.Magnolia),h.jsxs(fm,{value:fi.Maple,children:[h.jsx("img",{alt:fi.Maple,src:Nue,height:20,style:{paddingRight:"12px"}})," ",j.t("tree.Maple",r)]},fi.Maple),h.jsxs(fm,{value:fi.Oak,children:[h.jsx("img",{alt:fi.Oak,src:Uue,height:20,style:{paddingRight:"17px"}}),j.t("tree.Oak",r)]},fi.Oak),h.jsxs(fm,{value:fi.Pine,children:[h.jsx("img",{alt:fi.Pine,src:Yqe,height:20,style:{paddingRight:"18px"}})," ",j.t("tree.Pine",r)]},fi.Pine),h.jsxs(fm,{value:fi.Spruce,children:[h.jsx("img",{alt:fi.Spruce,src:Oqe,height:20,style:{paddingRight:"20px"}})," ",j.t("tree.Spruce",r)]},fi.Spruce)]})}),Yuo=t=>{const e=[];if(t.type!==z.Tree)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"tree-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"tree-cut",label:h.jsx(Tf,{})}),e.push({key:"tree-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"tree-show-model",label:h.jsx(Oco,{tree:n})},{key:"tree-flip",label:h.jsx(o9e,{billboardModel:n})}),e.push({key:"tree-change-type",label:h.jsxs(tn,{stayAfterClick:!0,children:[h.jsxs(en,{style:{width:"100px"},children:[j.t("treeMenu.Type",i),": "]}),h.jsx(juo,{tree:n})]})},{key:"tree-spread",label:h.jsx(_co,{tree:n})},{key:"tree-height",label:h.jsx(Vco,{tree:n})},{key:"tree-label-submenu",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",i)}),children:vA(n)})),{items:e}},Ouo=({wall:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Wall`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},$Re=({wall:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Wall`:`Unlock All Locked ${l} on Wall`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},_uo=({wall:t})=>{const e=Kt(),n=M.getState().set,o=(r,a)=>{n(l=>{const s=l.elements.find(c=>c.id===r&&c.type===z.Wall);s&&(s.parapet.display=a)})},i=r=>{const a=r.target.checked,l={name:"Parapet",timestamp:Date.now(),checked:a,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{o(t.id,!l.checked)},redo:()=>{o(t.id,l.checked)}};M.getState().addUndoable(l),o(t.id,a),n(s=>{s.actionState.wallParapet.display=a})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.parapet.display,onChange:i,children:j.t("wallMenu.Parapet",e)})})},Vuo=({wall:t})=>{const e=Kt(),n=(r,a)=>{M.getState().set(l=>{for(const s of l.elements)if(s.id===r&&s.type===z.Wall){const c=s;c.wallStructure=a,(a===hc.Stud||a===hc.Pillar)&&(c.opacity=0);break}})},o=r=>{const a={name:"Select Wall Structure",timestamp:Date.now(),oldValue:t.wallStructure,newValue:r.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(a.changedElementId,a.oldValue)},redo:()=>{n(a.changedElementId,a.newValue)}};M.getState().addUndoable(a),n(t.id,r.target.value),M.getState().set(l=>{l.actionState.wallStructure=r.target.value,(l.actionState.wallStructure===hc.Stud||l.actionState.wallStructure===hc.Pillar)&&(l.actionState.wallOpacity=0)})},i=t.wallStructure??hc.Default;return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:i,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:hc.Default,children:j.t("wallMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Stud,children:j.t("wallMenu.StudStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:hc.Pillar,children:j.t("wallMenu.PillarStructure",e)})]})})})},Guo=({wall:t})=>{const e=M.getState().set,n=Kt(),o=(r,a,l)=>{const{cx:s,cy:c,cz:u}=a,d=l?l.rotation[2]+a.relativeAngle:a.relativeAngle;if(l&&d!==void 0){const f=xe.wallAbsolutePosition(new re(s,c,u),l).setZ(a.lz/2+l.lz);return new re().subVectors(r,f).applyEuler(new Qt(0,0,-d))}return new re},i=()=>{const r=M.getState().getFoundation(t);if(!r)return;const a=o(M.getState().pastePoint,t,r),l=rl.makePolygon(t,-a.x/t.lx,0,-a.z/t.lz,new re(0,0,1),[0,0,0],z.Wall);e(c=>{c.elements.push(l),c.objectTypeToAdd=z.None});const s={name:"Add",timestamp:Date.now(),addedElement:l,undo:()=>{M.getState().removeElementById(s.addedElement.id,!1)},redo:()=>{e(c=>{c.elements.push(s.addedElement),c.selectedElement=s.addedElement})}};M.getState().addUndoable(s)};return h.jsx(tn,{onClick:i,children:j.t("foundationMenu.AddPolygon",n)})},Xuo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.fill=r;break}})},o=i=>{const r={name:"Select Wall Fill",timestamp:Date.now(),oldValue:t.fill,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.fill,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:Hl.Full,children:j.t("wallMenu.Full",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Partial,children:j.t("wallMenu.Partial",e)}),h.jsx(Be,{style:{width:"100%"},value:Hl.Empty,children:j.t("wallMenu.Empty",e)})]})})})},Juo=({wall:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Wall){l.openToOutside=r;break}})},o=i=>{const r={name:"Set Open to Outside",timestamp:Date.now(),oldValue:!!t.openToOutside,newValue:i.target.checked,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.checked)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.openToOutside,onChange:o,children:j.t("wallMenu.OpenToOutside",e)})})},yae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"doorCount",lockedKey:"lockedDoorCount",objectType:z.Door},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"polygonCount",lockedKey:"lockedPolygonCount",objectType:z.Polygon},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],Kuo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${j.t("wallMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisWall",n)} (${e} ${j.t("wallMenu.SolarPanels",n)})`;break}case z.Window:{o=`${j.t("wallMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllWindowsOnThisWall",n)} (${e} ${j.t("wallMenu.Windows",n)})`;break}case z.Door:{o=`${j.t("wallMenu.RemoveAllUnlockedDoors",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllDoorsOnThisWall",n)} (${e} ${j.t("wallMenu.Doors",n)})`;break}case z.Sensor:{o=`${j.t("wallMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllSensorsOnThisWall",n)} (${e} ${j.t("wallMenu.Sensors",n)})`;break}case z.Light:{o=`${j.t("wallMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllLightsOnThisWall",n)} (${e} ${j.t("wallMenu.Lights",n)})`;break}case z.Polygon:{o=`${j.t("wallMenu.RemoveAllUnlockedPolygons",n)} (${e})`,i=`${j.t("wallMenu.DoYouReallyWantToRemoveAllPolygonsOnThisWall",n)} (${e} ${j.t("wallMenu.Polygons",n)})`;break}}return{itemLabel:o,modalTitle:i}},Aae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],quo=(t,e,n)=>{const o=[],i={lng:M.getState().language};return yae.forEach(({key:r,objectType:a})=>{const l=Aae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=Kuo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-wall`,label:h.jsx(Ouo,{wall:t,objectType:a,modalTitle:c,children:s})})}}),yae.forEach(({key:r,objectType:a})=>{const l=Aae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-wall`,label:h.jsxs($Re,{wall:t,objectType:a,lock:!0,children:[j.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),yae.forEach(({lockedKey:r,objectType:a})=>{const l=Aae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs($Re,{wall:t,objectType:a,lock:!1,children:[j.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!0,children:[j.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!1,children:[j.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},$uo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Wall),c=Kt(),[u,d]=SZ((s==null?void 0:s.parapet.color)??"#ffffff"),f=(T,y)=>{e(S=>{for(const x of S.elements)if(x.id===T&&x.type===z.Wall&&!x.locked){x.parapet.color=y;break}})},p=T=>{if(!s)return;const y=xe.getAllConnectedWalls(s);y.length!==0&&e(S=>{for(const x of y)if(!x.locked)for(const R of S.elements)R.id===x.id&&R.type===z.Wall&&(R.parapet.color=T)})},g=(T,y)=>{e(S=>{for(const x of S.elements)x.parentId===T&&x.type===z.Wall&&!x.locked&&(x.parapet.color=y)})},A=T=>{e(y=>{for(const S of y.elements)S.type===z.Wall&&!S.locked&&(S.parapet.color=T)})},w=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&T.has(x.id)&&(x.parapet.color=y)})},b=T=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.parapet.color&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.parapet.color&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of n)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.parapet.color&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.parapet.color&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.parapet.color))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(i){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.parapet.color??"#ffffff");const S={name:"Set Parapet Color for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{w(S.oldValues,S.newValue)}};o(S),w(y,T),a(r+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&y.set(x.id,x.parapet.color??"#ffffff");const S={name:"Set Parapet Color for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{A(S.newValue)}};o(S),A(T),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;for(const x of n)x.type===z.Wall&&x.foundationId===s.foundationId&&y.set(x.id,x.parapet.color??"#ffffff");const S={name:"Set Parapet Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{S.groupId&&g(S.groupId,S.newValue)}};o(S),g(s.foundationId,T),a(r+1)}break;case ue.AllConnectedObjects:if(s){const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)S.set(R.id,R.color??"#ffffff");const x={name:"Set Parapet Color for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};o(x),p(T),a(r+1)}break;default:if(s){const y=l(s.id),S=(y==null?void 0:y.parapet.color)??s.parapet.color??"#ffffff",x={name:"Set Parapet Color of Selected Wall",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(x.changedElementId,x.oldValue)},redo:()=>{f(x.changedElementId,x.newValue)}};o(x),f(s.id,T),a(r+1)}}e(y=>{y.actionState.wallParapet.color=T})}},P=()=>{C(u)},v=()=>{t(!1)};return h.jsx(lo,{width:640,title:j.t("wallMenu.ParapetColor",c),onApply:P,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",c)})]})})})]})})},rot="/aladdin/assets/wall_01_menu-BlJdKfby.png",aot="/aladdin/assets/wall_02_menu-DfsmvvWJ.png",lot="/aladdin/assets/wall_03_menu-B95_FEuA.png",sot="/aladdin/assets/wall_04_menu-D-Kn25E7.png",cot="/aladdin/assets/wall_05_menu-DGgjaMY9.png",uot="/aladdin/assets/wall_06_menu-EOIch2eu.png",dot="/aladdin/assets/wall_07_menu-DvXS_qn2.png",fot="/aladdin/assets/wall_08_menu-CfftE2pF.png",hot="/aladdin/assets/wall_09_menu-_O8A0WOE.png",pot="/aladdin/assets/wall_10_menu-B5QfhD3g.png",Quo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.parapet.textureType)??No.Default),d=Kt(),{Option:f}=Yo,p=(y,S)=>{e(x=>{for(const R of x.elements)if(R.type===z.Wall&&R.id===y&&!R.locked){R.parapet.textureType=S;break}})},g=y=>{if(!s)return;const S=xe.getAllConnectedWalls(s);S.length!==0&&e(x=>{for(const R of S)if(!R.locked)for(const H of x.elements)H.id===R.id&&H.type===z.Wall&&(H.parapet.textureType=y)})},A=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&R.foundationId===y&&!R.locked&&(R.parapet.textureType=S)})},w=y=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&(x.parapet.textureType=y)})},b=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&!R.locked&&y.has(R.id)&&(R.parapet.textureType=S)})},C=y=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.parapet.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break}case ue.AllObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.parapet.textureType&&!S.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const S of n)if(S.type===z.Wall&&S.foundationId===s.foundationId&&y!==S.parapet.textureType&&!S.locked)return!0;break}case ue.AllConnectedObjects:{const S=xe.getAllConnectedWalls(s);for(const x of S)if(y!==x.parapet.textureType&&!x.locked)return!0;break}default:{if(y!==(s==null?void 0:s.parapet.textureType))return!0;break}}return!1}},P=y=>{if(s&&C(y)){switch(i){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.parapet.textureType??No.Default);const x={name:"Set Parapet Texture for Selected Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{b(x.oldValues,x.newValue)}};o(x),b(S,y),a(r+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&S.set(R.id,R.parapet.textureType??No.Default);const x={name:"Set Parapet Texture for All Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{w(x.newValue)}};o(x),w(y),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const S=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===s.foundationId&&!R.locked&&S.set(R.id,R.parapet.textureType);const x={name:"Set Parapet Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:s.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{x.groupId&&A(x.groupId,x.newValue)}};o(x),A(s.foundationId,y),a(r+1)}break;case ue.AllConnectedObjects:if(s){const S=xe.getAllConnectedWalls(s),x=new Map;for(const H of S)x.set(H.id,H.parapet.textureType);const R={name:"Set Parapet Texture for All Connected Walls",timestamp:Date.now(),oldValues:x,newValue:y,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(y),a(r+1)}break;default:if(s){const S=l(s.id),x=(S==null?void 0:S.parapet.textureType)??s.parapet.textureType,R={name:"Set Parapet Texture of Selected Wall",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(s.id,y),a(r+1)}}e(S=>{S.actionState.wallParapet.textureType=y})}},v=()=>{t(!1)},T=()=>{P(c)};return h.jsx(lo,{width:550,title:j.t("word.Texture",d),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:u,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:iye,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.TextureDefault",d)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:rot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture01",d)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:aot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture02",d)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture03",d)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture04",d)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture05",d)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture06",d)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture07",d)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture08",d)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture09",d)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture10",d)]},No.Texture10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:y=>M.getState().setWallActionScope(y.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",d)})]})})})]})})},wae=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ao),d=M(oo),f=M(dn),p=m.useRef(t.parapet[n]),g=Kt(),A=R=>{f(H=>{switch(n){case"copingsHeight":H.actionState.wallParapet.copingsHeight=R;break;case"copingsWidth":H.actionState.wallParapet.copingsWidth=R;break;case"parapetHeight":H.actionState.wallParapet.parapetHeight=R;break}})},w=(R,H)=>{f(D=>{for(const k of D.elements)if(k.id===R&&k.type===z.Wall&&!k.locked){k.parapet[n]=H;break}}),A(H)},b=R=>{const H=xe.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const k of H)if(!k.locked)for(const W of D.elements)W.id===k.id&&W.type===z.Wall&&(W.parapet[n]=R)}),A(R))},C=(R,H)=>{f(D=>{for(const k of D.elements)k.parentId===R&&k.type===z.Wall&&!k.locked&&(k.parapet[n]=H)}),A(H)},P=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D.parapet[n]=R)}),A(R)},v=(R,H)=>{f(D=>{for(const k of D.elements)k.type===z.Wall&&!k.locked&&R.has(k.id)&&(k.parapet[n]=H)}),A(H)},T=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H.parapet[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break}case ue.AllObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H.parapet[n]&&!H.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const H of l)if(H.type===z.Wall&&H.foundationId===t.foundationId&&R!==H.parapet[n]&&!H.locked)return!0;break}case ue.AllConnectedObjects:{const H=xe.getAllConnectedWalls(t);for(const D of H)if(R!==D.parapet[n]&&!D.locked)return!0;break}default:{if(R!==t.parapet[n])return!0;break}}return!1},y=R=>{if(t&&T(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.parapet[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&H.set(k.id,k.parapet[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.newValue)}};s(D),P(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const k of l)k.type===z.Wall&&k.foundationId===t.foundationId&&H.set(k.id,k.parapet[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=xe.getAllConnectedWalls(t),D=new Map;for(const W of H)D.set(W.id,W.parapet[n]);const k={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[W,N]of k.oldValues.entries())w(W,N)},redo:()=>{b(k.newValue)}};s(k),b(R),d(u+1)}break;default:if(t){const H=t.parapet[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{w(D.changedElementId,D.oldValue)},redo:()=>{w(D.changedElementId,D.newValue)}};s(D),w(t.id,R),d(u+1)}}},S=()=>{a(!1)},x=()=>{y(p.current)};return h.jsx(lo,{width:550,title:j.t(`wallMenu.${e}`,g),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t.parapet[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",g)})]})})})]})})};var nV=(t=>(t.ParapetHeight="ParapetHeight",t.CopingsHeight="CopingsHeight",t.CopingsWidth="CopingsWidth",t))(nV||{});const Zuo={ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},vae=({Dialog:t,wall:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=()=>{M.getState().setApplyCount(0),a(!0)},s=Zuo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,onClick:l,children:o}),r&&h.jsx(t,{wall:e,dataType:n,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?j.t(s.unit,i):void 0,setDialogVisible:a})]})},edo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"parapet-checkbox",label:h.jsx(_uo,{wall:t})}),t.parapet.display&&n.push({type:"divider"},{key:"parapet-color",label:h.jsxs(io,{noPadding:!0,Dialog:$uo,children:[j.t("wallMenu.ParapetColor",e)," ..."]})},{key:"parapet-texture",label:h.jsxs(io,{noPadding:!0,Dialog:Quo,children:[j.t("wallMenu.ParapetTexture",e)," ..."]})},{key:"parapet-height",label:h.jsxs(vae,{wall:t,dataType:nV.ParapetHeight,Dialog:wae,children:[j.t("wallMenu.ParapetHeight",e)," ..."]})},{key:"copings-height",label:h.jsxs(vae,{wall:t,dataType:nV.CopingsHeight,Dialog:wae,children:[j.t("wallMenu.CopingsHeight",e)," ..."]})},{key:"copings-width",label:h.jsxs(vae,{wall:t,dataType:nV.CopingsWidth,Dialog:wae,children:[j.t("wallMenu.CopingsWidth",e)," ..."]})}),n},ZP=({wall:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,setDialogVisible:a})=>{const l=M(Jn),s=M(En),c=M(r3),u=M(ao),d=M(oo),f=M(dn),p=m.useRef(t[n]),g=Kt(),A=R=>{f(H=>{switch(n){case"ly":H.actionState.wallThickness=R;break;case"lz":H.actionState.wallHeight=R;break;case"opacity":H.actionState.wallOpacity=R;break;case"structureSpacing":H.actionState.wallStructureSpacing=R;break;case"structureWidth":H.actionState.wallStructureWidth=R;break;case"eavesLength":H.actionState.wallEavesLength=R;break}})},w=(R,H)=>{f(D=>{for(const k of D.elements)if(k.id===R&&k.type===z.Wall&&!k.locked){k[n]=H;break}}),A(H)},b=R=>{const H=xe.getAllConnectedWalls(t);H.length!==0&&(f(D=>{for(const k of H)if(!k.locked)for(const W of D.elements)W.id===k.id&&W.type===z.Wall&&(W[n]=R)}),A(R))},C=(R,H)=>{f(D=>{for(const k of D.elements)k.parentId===R&&k.type===z.Wall&&!k.locked&&(k[n]=H)}),A(H)},P=R=>{f(H=>{for(const D of H.elements)D.type===z.Wall&&!D.locked&&(D[n]=R)}),A(R)},v=(R,H)=>{f(D=>{for(const k of D.elements)k.type===z.Wall&&!k.locked&&R.has(k.id)&&(k[n]=H)}),A(H)},T=R=>{switch(c){case ue.AllSelectedObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break}case ue.AllObjectsOfThisType:{for(const H of l)if(H.type===z.Wall&&R!==H[n]&&!H.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const H of l)if(H.type===z.Wall&&H.foundationId===t.foundationId&&R!==H[n]&&!H.locked)return!0;break}case ue.AllConnectedObjects:{const H=xe.getAllConnectedWalls(t);for(const D of H)if(R!==D[n]&&!D.locked)return!0;break}default:{if(R!==t[n])return!0;break}}return!1},y=R=>{if(t&&T(R))switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k[n]);const D={name:`Set ${e} for Selected Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{v(D.oldValues,D.newValue)}};s(D),v(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of l)k.type===z.Wall&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Walls`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.newValue)}};s(D),P(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const H=new Map;for(const k of l)k.type===z.Wall&&k.foundationId===t.foundationId&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Walls Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&C(D.groupId,D.newValue)}};s(D),C(t.foundationId,R),d(u+1)}break;case ue.AllConnectedObjects:if(t){const H=xe.getAllConnectedWalls(t),D=new Map;for(const W of H)D.set(W.id,W[n]);const k={name:`Set ${e} for All Connected Walls`,timestamp:Date.now(),oldValues:D,newValue:R,undo:()=>{for(const[W,N]of k.oldValues.entries())w(W,N)},redo:()=>{b(k.newValue)}};s(k),b(R),d(u+1)}break;default:if(t){const H=t[n],D={name:`Set Wall ${e}`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{w(D.changedElementId,D.oldValue)},redo:()=>{w(D.changedElementId,D.newValue)}};s(D),w(t.id,R),d(u+1)}}},S=()=>{p.current=t[n],a(!1)},x=()=>{y(p.current)};return h.jsx(lo,{width:550,title:j.t(`wallMenu.${e}`,g),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,defaultValue:t[n],onChange:R=>p.current=R}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",g),": [",o.toString(),"] ",r]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r??" "}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWallActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",g)})]})})})]})})},eC=({Dialog:t,noPadding:e,dataType:n,children:o})=>{const i=Kt(),[r,a]=m.useState(!1),l=co(z.Wall),s=()=>{M.getState().setApplyCount(0),a(!0)},c=sdo[n];return h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:e,onClick:s,children:o}),r&&l&&h.jsx(t,{wall:l,dataType:n,attributeKey:c.attributeKey,range:c.range,step:c.step,unit:c.unit?j.t(c.unit,i):void 0,setDialogVisible:a})]})},tdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Wall),[c,u]=SZ((s==null?void 0:s.structureColor)??"#ffffff"),d=Kt(),f=(T,y)=>{e(S=>{for(const x of S.elements)if(x.id===T&&x.type===z.Wall&&!x.locked){x.structureColor=y;break}})},p=T=>{if(!s)return;const y=xe.getAllConnectedWalls(s);y.length!==0&&e(S=>{for(const x of y)if(!x.locked)for(const R of S.elements)R.id===x.id&&R.type===z.Wall&&(R.structureColor=T)})},g=(T,y)=>{e(S=>{for(const x of S.elements)x.parentId===T&&x.type===z.Wall&&!x.locked&&(x.structureColor=y)})},A=T=>{e(y=>{for(const S of y.elements)S.type===z.Wall&&!S.locked&&(S.structureColor=T)})},w=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&T.has(x.id)&&(x.color=y)})},b=T=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.structureColor&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.structureColor&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of n)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.structureColor&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.structureColor&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.structureColor))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(i){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.structureColor??"#ffffff");const S={name:"Set Structure Color for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{w(S.oldValues,S.newValue)}};o(S),w(y,T),a(r+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&y.set(x.id,x.structureColor??"#ffffff");const S={name:"Set Structure Color for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{A(S.newValue)}};o(S),A(T),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;for(const x of n)x.type===z.Wall&&x.foundationId===s.foundationId&&y.set(x.id,x.structureColor??"#ffffff");const S={name:"Set Structure Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{S.groupId&&g(S.groupId,S.newValue)}};o(S),g(s.foundationId,T),a(r+1)}break;case ue.AllConnectedObjects:if(s){const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)S.set(R.id,R.color??"#ffffff");const x={name:"Set Structure Color for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};o(x),p(T),a(r+1)}break;default:if(s){const y=l(s.id),S=(y==null?void 0:y.structureColor)??s.structureColor??"#ffffff",x={name:"Set Structure Color of Selected Wall",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(x.changedElementId,x.oldValue)},redo:()=>{f(x.changedElementId,x.newValue)}};o(x),f(s.id,T),a(r+1)}}e(y=>{y.actionState.wallStructureColor=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:640,title:j.t("wallMenu.StructureColor",d),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:u})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",d)})]})})})]})})};var $1=(t=>(t.Height="Height",t.Opacity="Opacity",t.StructureSpacing="StructureSpacing",t.StructureWidth="StructureWidth",t.Thickness="Thickness",t.EavesLength="EavesLength",t))($1||{});const ndo=t=>{const e=[],n={lng:M.getState().language};return e.push({key:"wall-structure-submenu-radio-group",label:h.jsx(Vuo,{wall:t}),style:{backgroundColor:"white"}}),t.wallStructure!==hc.Default&&e.push({type:"divider"},{key:"wall-structure-spacing",label:h.jsxs(eC,{noPadding:!0,dataType:$1.StructureSpacing,Dialog:ZP,children:[j.t(`wallMenu.${$1.StructureSpacing}`,n)," ..."]})},{key:"wall-structure-width",label:h.jsxs(eC,{noPadding:!0,dataType:$1.StructureWidth,Dialog:ZP,children:[j.t(`wallMenu.${$1.StructureWidth}`,n)," ..."]})},{key:"wall-structure-color",label:h.jsxs(io,{noPadding:!0,Dialog:tdo,children:[j.t("wallMenu.StructureColor",n)," ..."]})}),e},odo=t=>{const e=[];return e.push({key:"wall-fill-radio-group",label:h.jsx(Xuo,{wall:t}),style:{backgroundColor:"white"}}),t.fill!==Hl.Full&&e.push({type:"divider"},{key:"wall-open-to-outside-checkbox",label:h.jsx(Juo,{wall:t})}),e},ido=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.rValue)??i6),[d,f]=m.useState(xe.toRValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.rValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:{for(const y of e)if(y.type===z.Wall&&T!==y.rValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of e)if(y.type===z.Wall&&T!==y.rValue&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of e)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.rValue&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.rValue&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.rValue))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Wall&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;y.set(x.id,R.rValue??i6),g(R.id,T)}const S={name:"Set R-Value for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Wall&&!x.locked){const R=x;y.set(x.id,R.rValue??i6),g(R.id,T)}const S={name:"Set R-Value for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s!=null&&s.foundationId){const y=new Map;for(const x of e)if(x.type===z.Wall&&x.foundationId===s.foundationId&&!x.locked){const R=x;y.set(x.id,R.rValue??i6),g(R.id,T)}const S={name:"Set R-Value for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.AllConnectedObjects:if(s){const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)if(!R.locked){const H=R;S.set(R.id,H.rValue??i6),g(H.id,T)}const x={name:"Set R-Value for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{A(x.oldValues)},redo:()=>{w(x.oldValues,x.newValue)}};n(x),r(i+1)}break;default:if(s){const S=a(s.id).rValue??s.rValue??i6,x={name:"Set Wall R-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}}l(y=>{y.actionState.wallRValue=T})}},P=()=>{u((s==null?void 0:s.rValue)??i6),t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("word.RValue",p)+" "}(${j.t("word.ThermalResistance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toRValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toRValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",p)})]})})})]})})},rdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Wall),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.volumetricHeatCapacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&P!==T.volumetricHeatCapacity&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Wall&&P!==T.volumetricHeatCapacity&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Wall&&T.foundationId===s.foundationId&&P!==T.volumetricHeatCapacity&&!T.locked)return!0;break;case ue.AllConnectedObjects:const v=xe.getAllConnectedWalls(s);for(const T of v)if(P!==T.volumetricHeatCapacity&&!T.locked)return!0;break;default:if(P!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Wall&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)){const S=y;v.set(y.id,S.volumetricHeatCapacity??.5),f(S.id,P)}const T={name:"Set Volumetric Heat Capacity for Selected Walls",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Wall&&!y.locked){const S=y;v.set(y.id,S.volumetricHeatCapacity??.5),f(S.id,P)}const T={name:"Set Volumetric Heat Capacity for All Walls",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(s!=null&&s.foundationId){const v=new Map;for(const y of e)if(y.type===z.Wall&&y.foundationId===s.foundationId&&!y.locked){const S=y;v.set(y.id,S.volumetricHeatCapacity??.5),f(S.id,P)}const T={name:"Set Volumetric Heat Capacity for All Walls Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break}case ue.AllConnectedObjects:{if(s){const v=xe.getAllConnectedWalls(s),T=new Map;for(const S of v)if(!S.locked){const x=S;T.set(S.id,x.volumetricHeatCapacity??.5),f(x.id,P)}const y={name:"Set Volumetric Heat Capacity for All Connected Walls",timestamp:Date.now(),oldValues:T,newValue:P,undo:()=>{p(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),r(i+1)}break}default:{if(s){const T=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,y={name:"Set Volumetric Heat Capacity of Wall",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}break}}l(v=>{v.actionState.wallVolumetricHeatCapacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>{P!==null&&u(P)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setWallActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",d)})]})})})]})})},ado=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(oo),l=M(Vn),s=Kt(),c=co(z.Wall),[u,d]=m.useState((c==null?void 0:c.textureType)??No.Default),{Option:f}=Yo,p=(y,S)=>{e(x=>{for(const R of x.elements)if(R.type===z.Wall&&R.id===y&&!R.locked){R.textureType=S;break}})},g=y=>{if(!c)return;const S=xe.getAllConnectedWalls(c);S.length!==0&&e(x=>{for(const R of S)if(!R.locked)for(const H of x.elements)H.id===R.id&&H.type===z.Wall&&(H.textureType=y)})},A=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&R.foundationId===y&&!R.locked&&(R.textureType=S)})},w=y=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&(x.textureType=y)})},b=(y,S)=>{e(x=>{for(const R of x.elements)R.type===z.Wall&&!R.locked&&y.has(R.id)&&(R.textureType=S)})},C=y=>{if(c){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.textureType&&!S.locked&&M.getState().selectedElementIdSet.has(S.id))return!0;break}case ue.AllObjectsOfThisType:{for(const S of n)if(S.type===z.Wall&&y!==S.textureType&&!S.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const S of n)if(S.type===z.Wall&&S.foundationId===c.foundationId&&y!==S.textureType&&!S.locked)return!0;break}case ue.AllConnectedObjects:{const S=xe.getAllConnectedWalls(c);for(const x of S)if(y!==x.textureType&&!x.locked)return!0;break}default:{if(y!==(c==null?void 0:c.textureType))return!0;break}}return!1}},P=y=>{if(c&&C(y)){switch(i){case ue.AllSelectedObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&M.getState().selectedElementIdSet.has(R.id)&&S.set(R.id,R.textureType??No.Default);const x={name:"Set Texture for Selected Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{b(x.oldValues,x.newValue)}};o(x),b(S,y),a(r+1);break}case ue.AllObjectsOfThisType:{const S=new Map;for(const R of n)R.type===z.Wall&&!R.locked&&S.set(R.id,R.textureType??No.Default);const x={name:"Set Texture for All Walls",timestamp:Date.now(),oldValues:S,newValue:y,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{w(x.newValue)}};o(x),w(y),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const S=new Map;for(const R of n)R.type===z.Wall&&R.foundationId===c.foundationId&&!R.locked&&S.set(R.id,R.textureType);const x={name:"Set Texture for All Walls Above Foundation",timestamp:Date.now(),oldValues:S,newValue:y,groupId:c.foundationId,undo:()=>{for(const[R,H]of x.oldValues.entries())p(R,H)},redo:()=>{x.groupId&&A(x.groupId,x.newValue)}};o(x),A(c.foundationId,y),a(r+1)}break;case ue.AllConnectedObjects:if(c){const S=xe.getAllConnectedWalls(c),x=new Map;for(const H of S)x.set(H.id,H.textureType);const R={name:"Set Texture for All Connected Walls",timestamp:Date.now(),oldValues:x,newValue:y,undo:()=>{for(const[H,D]of R.oldValues.entries())p(H,D)},redo:()=>{g(R.newValue)}};o(R),g(y),a(r+1)}break;default:if(c){const S=l(c.id),x=(S==null?void 0:S.textureType)??c.textureType,R={name:"Set Texture of Selected Wall",timestamp:Date.now(),oldValue:x,newValue:y,changedElementId:c.id,changedElementType:c.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};o(R),p(c.id,y),a(r+1)}}e(S=>{S.actionState.wallTexture=y})}},v=()=>{t(!1)},T=()=>{P(u)};return h.jsx(lo,{width:550,title:j.t("word.Texture",s),onApply:T,onClose:v,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:u,onChange:d,children:[h.jsxs(f,{value:No.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",s)]},No.NoTexture),h.jsxs(f,{value:No.Default,children:[h.jsx("img",{alt:No.Default,src:iye,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.TextureDefault",s)]},No.Default),h.jsxs(f,{value:No.Texture01,children:[h.jsx("img",{alt:No.Texture01,src:rot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture01",s)]},No.Texture01),h.jsxs(f,{value:No.Texture02,children:[h.jsx("img",{alt:No.Texture02,src:aot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture02",s)]},No.Texture02),h.jsxs(f,{value:No.Texture03,children:[h.jsx("img",{alt:No.Texture03,src:lot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture03",s)]},No.Texture03),h.jsxs(f,{value:No.Texture04,children:[h.jsx("img",{alt:No.Texture04,src:sot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture04",s)]},No.Texture04),h.jsxs(f,{value:No.Texture05,children:[h.jsx("img",{alt:No.Texture05,src:cot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture05",s)]},No.Texture05),h.jsxs(f,{value:No.Texture06,children:[h.jsx("img",{alt:No.Texture06,src:uot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture06",s)]},No.Texture06),h.jsxs(f,{value:No.Texture07,children:[h.jsx("img",{alt:No.Texture07,src:dot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture07",s)]},No.Texture07),h.jsxs(f,{value:No.Texture08,children:[h.jsx("img",{alt:No.Texture08,src:fot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture08",s)]},No.Texture08),h.jsxs(f,{value:No.Texture09,children:[h.jsx("img",{alt:No.Texture09,src:hot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture09",s)]},No.Texture09),h.jsxs(f,{value:No.Texture10,children:[h.jsx("img",{alt:No.Texture10,src:pot,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("wallMenu.Texture10",s)]},No.Texture10)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:y=>M.getState().setWallActionScope(y.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",s)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",s)})]})})})]})})},ldo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(r3),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Wall),c=Kt(),[u,d]=SZ((s==null?void 0:s.color)??"#ffffff"),f=(T,y)=>{e(S=>{for(const x of S.elements)if(x.type===z.Wall&&x.id===T&&!x.locked){x.color=y;break}})},p=T=>{if(!s)return;const y=xe.getAllConnectedWalls(s);y.length!==0&&e(S=>{for(const x of y)if(!x.locked)for(const R of S.elements)R.id===x.id&&R.type===z.Wall&&(R.color=T)})},g=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&x.foundationId===T&&!x.locked&&(x.color=y)})},A=T=>{e(y=>{for(const S of y.elements)S.type===z.Wall&&!S.locked&&(S.color=T)})},w=(T,y)=>{e(S=>{for(const x of S.elements)x.type===z.Wall&&!x.locked&&T.has(x.id)&&(x.color=y)})},b=T=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.color&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break}case ue.AllObjectsOfThisType:{for(const y of n)if(y.type===z.Wall&&T!==y.color&&!y.locked)return!0;break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const y of n)if(y.type===z.Wall&&y.foundationId===s.foundationId&&T!==y.color&&!y.locked)return!0;break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s);for(const S of y)if(T!==S.color&&!S.locked)return!0;break}default:{if(T!==(s==null?void 0:s.color))return!0;break}}return!1}},C=T=>{if(s&&b(T)){switch(i){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&M.getState().selectedElementIdSet.has(x.id)&&y.set(x.id,x.color??"#ffffff");const S={name:"Set Color for Selected Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{w(S.oldValues,S.newValue)}};o(S),w(y,T),a(r+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of n)x.type===z.Wall&&y.set(x.id,x.color??"#ffffff");const S={name:"Set Color for All Walls",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{A(S.newValue)}};o(S),A(T),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(s.foundationId){const y=new Map;for(const x of n)x.type===z.Wall&&x.foundationId===s.foundationId&&y.set(x.id,x.color??"#ffffff");const S={name:"Set Color for All Walls Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{for(const[x,R]of S.oldValues.entries())f(x,R)},redo:()=>{S.groupId&&g(S.groupId,S.newValue)}};o(S),g(s.foundationId,T),a(r+1)}break}case ue.AllConnectedObjects:{const y=xe.getAllConnectedWalls(s),S=new Map;for(const R of y)S.set(R.id,R.color??"#ffffff");const x={name:"Set Color for All Connected Walls",timestamp:Date.now(),oldValues:S,newValue:T,undo:()=>{for(const[R,H]of x.oldValues.entries())f(R,H)},redo:()=>{p(x.newValue)}};o(x),p(T),a(r+1);break}default:{if(s){const y=l(s.id),S=(y==null?void 0:y.color)??s.color??"#ffffff",x={name:"Set Color of Selected Wall",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(x.changedElementId,x.oldValue)},redo:()=>{f(x.changedElementId,x.newValue)}};o(x),f(s.id,T),a(r+1)}break}}e(y=>{y.actionState.wallColor=T})}},P=()=>{t(!1)},v=()=>{C(u)};return h.jsx(lo,{width:640,title:j.t("wallMenu.Color",c),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u,onChangeComplete:d})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWallActionScope(T.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("wallMenu.OnlyThisWall",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllConnectedObjects,children:j.t("wallMenu.AllConnectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("wallMenu.AllWallsAboveFoundation",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("wallMenu.AllSelectedWalls",c)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("wallMenu.AllWalls",c)})]})})})]})})},sdo={Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation"},Opacity:{attributeKey:"opacity",range:[0,1],step:.01},StructureSpacing:{attributeKey:"structureSpacing",range:[.1,1e3],step:.1,unit:"word.MeterAbbreviation"},StructureWidth:{attributeKey:"structureWidth",range:[.01,1],step:.1,unit:"word.MeterAbbreviation"},Thickness:{attributeKey:"ly",range:[.1,1],step:.01,unit:"word.MeterAbbreviation"},EavesLength:{attributeKey:"eavesLength",range:[-.1,5],step:.01,unit:"word.MeterAbbreviation"},ParapetHeight:{attributeKey:"parapetHeight",range:[0,5],step:.01,unit:"word.MeterAbbreviation"},CopingsHeight:{attributeKey:"copingsHeight",range:[0,1],step:.01,unit:"word.MeterAbbreviation"},CopingsWidth:{attributeKey:"copingsWidth",range:[0,3],step:.01,unit:"word.MeterAbbreviation"}},cdo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0){const e=t[0];if(xe.isLegalOnWall(e.type))return!0}return!1},udo=t=>{const e=[];if(t.type!==z.Wall)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1);return cdo()&&e.push({key:"wall-paste",label:h.jsx(OH,{})}),e.push({key:"wall-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"wall-cut",label:h.jsx(Tf,{})}),e.push({key:"wall-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(a.gotSome()&&e.push({key:"lock-unlock-clear-on-wall",label:h.jsx(tn,{children:j.t("word.Elements",i)}),children:quo(n,a,l)}),e.push({key:"wall-parapet",label:h.jsx(tn,{children:j.t("wallMenu.Parapet",i)}),children:edo(n)}),e.push({key:"wall-structure",label:h.jsx(tn,{children:j.t("wallMenu.WallStructure",i)}),children:ndo(n)}),n.wallStructure!==hc.Default&&e.push({key:"wall-opacity",label:h.jsxs(eC,{dataType:$1.Opacity,Dialog:ZP,children:[j.t(`wallMenu.${$1.Opacity}`,i)," ..."]})}),e.push({key:"wall-fill",label:h.jsx(tn,{children:j.t("wallMenu.Fill",i)}),children:odo(n)},{key:"add-polygon-on-wall",label:h.jsx(Guo,{wall:n})},{key:"wall-thickness",label:h.jsxs(eC,{dataType:$1.Thickness,Dialog:ZP,children:[j.t(`wallMenu.${$1.Thickness}`,i)," ..."]})},{key:"wall-height",label:h.jsxs(eC,{dataType:$1.Height,Dialog:ZP,children:[j.t(`wallMenu.${$1.Height}`,i)," ..."]})},{key:"wall-eaves-length",label:h.jsxs(eC,{dataType:$1.EavesLength,Dialog:ZP,children:[j.t(`wallMenu.${$1.EavesLength}`,i)," ..."]})},{key:"wall-r-value",label:h.jsxs(io,{Dialog:ido,children:[j.t("word.RValue",i)," ..."]})},{key:"wall-heat-capacity",label:h.jsxs(io,{Dialog:rdo,children:[j.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"wall-texture",label:h.jsxs(io,{Dialog:ado,children:[j.t("wallMenu.Texture",i)," ..."]})},{key:"wall-color",label:h.jsxs(io,{Dialog:ldo,children:[j.t("wallMenu.Color",i)," ..."]})})),{items:e}},ddo=be.memo(({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.filled=r;break}})},o=i=>{const r=i.target.checked,a={name:"Filled Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorFilled=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.filled,onChange:o,children:j.t("doorMenu.Filled",e)})})}),fdo=be.memo(({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Door",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.doorInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.interior,onChange:o,children:j.t("doorMenu.Interior",e)})})}),hdo=be.memo(({door:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Door){l.doorType=r;break}})},o=i=>{const r={name:"Select Door Type",timestamp:Date.now(),oldValue:t.doorType,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.doorType=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.doorType,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:Sd.Default,children:j.t("doorMenu.Default",e)}),h.jsx(Be,{style:{width:"100%"},value:Sd.Arched,children:j.t("doorMenu.Arched",e)})]})})})}),pdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const S=c?c.lx:1,x=c?s(c):null;return x?S*x.lx:S},[c==null?void 0:c.lx]),[d,f]=m.useState(u),p=Kt(),g=(S,x)=>{l(R=>{for(const H of R.elements)if(H.id===S&&H.type===z.Door){const D=H,k=s(D);D.lx=k?x/k.lx:x;break}})},A=S=>{for(const[x,R]of S.entries())g(x,R)},w=(S,x)=>{for(const R of S.keys())g(R,x)},b=S=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}case ue.AllObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of e)if(x.type===z.Door&&x.foundationId===c.foundationId&&!x.locked){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}case ue.OnlyThisSide:{for(const x of e)if(x.type===z.Door&&x.parentId===c.parentId&&!x.locked){const R=s(x);if(R&&S!==x.lx*R.lx)return!0}break}default:{const x=s(c);if(x&&S!==c.lx*x.lx)return!0;break}}return!1}},C=S=>{if(c&&b(S))switch(o){case ue.AllSelectedObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for Selected Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for All Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for All Doors Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.foundationId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lx*(W?W.lx:1)),k.lx=W?S/W.lx:S}});const R={name:"Set Width for All Doors On the Same Wall",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.parentId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const x=a(c.id),R=c?s(x):null,H=(x.lx??c.lx??.1)*(R?R.lx:1),D={name:"Set Door Width",timestamp:Date.now(),oldValue:H,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,S),r(i+1)}}},P=()=>{t(!1)},v=()=>{C(d)},T=c?s(c):null,y=T&&c?2*T.lx*Math.min(Math.abs(.5-c.cx),Math.abs(-.5-c.cx)):100;return h.jsx(lo,{width:550,title:j.t("word.Width",p),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:y,style:{width:120},step:.1,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>f(S)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.1, ",y.toFixed(1),"]",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setDoorActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",p)})]})})})]})})},gdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=M(rr),c=co(z.Door),u=m.useMemo(()=>{const S=c?c.lz:1,x=c?s(c):null;return x?S*x.lz:S},[c==null?void 0:c.lz]),[d,f]=m.useState(u),p=Kt(),g=(S,x)=>{l(R=>{for(const H of R.elements)if(H.id===S&&H.type===z.Door){const D=H,k=s(D);D.lz=k?x/k.lz:x,k&&(D.cz=-(k.lz-x)/(2*k.lz));break}})},A=S=>{for(const[x,R]of S.entries())g(x,R)},w=(S,x)=>{for(const R of S.keys())g(R,x)},b=S=>{if(c){switch(o){case ue.AllSelectedObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}case ue.AllObjectsOfThisType:{for(const x of e)if(x.type===z.Door&&!x.locked){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const x of e)if(x.type===z.Door&&x.foundationId===c.foundationId&&!x.locked){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}case ue.OnlyThisSide:{for(const x of e)if(x.type===z.Door&&x.parentId===c.parentId&&!x.locked){const R=s(x);if(R&&S!==x.lz*R.lz)return!0}break}default:{const x=s(c);if(x&&S!==c.lz*x.lz)return!0;break}}return!1}},C=S=>{if(c&&b(S))switch(o){case ue.AllSelectedObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for Selected Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisType:{const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for All Doors",timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(c.foundationId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.foundationId===c.foundationId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for All Doors Above Foundation",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.foundationId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;case ue.OnlyThisSide:if(c.parentId){const x=new Map;l(H=>{for(const D of H.elements)if(D.type===z.Door&&D.parentId===c.parentId&&!D.locked){const k=D,W=k?s(k):null;x.set(D.id,k.lz*(W?W.lz:1)),k.lz=W?S/W.lz:S,W&&(k.cz=-(W.lz-S)/(2*W.lz))}});const R={name:"Set Height for All Doors On the Same Wall",timestamp:Date.now(),oldValues:x,newValue:S,groupId:c.parentId,undo:()=>{A(R.oldValues)},redo:()=>{w(R.oldValues,R.newValue)}};n(R),r(i+1)}break;default:if(c){const x=a(c.id),R=c?s(x):null,H=(x.lz??c.lz??.2)*(R?R.lz:1),D={name:"Set Door Height",timestamp:Date.now(),oldValue:H,newValue:S,changedElementId:c.id,changedElementType:c.type,undo:()=>{g(D.changedElementId,D.oldValue)},redo:()=>{g(D.changedElementId,D.newValue)}};n(D),g(c.id,S),r(i+1)}}},P=()=>{f(u),t(!1)},v=()=>{C(d)},T=c?s(c):null,y=(T==null?void 0:T.lz)??20;return h.jsx(lo,{width:550,title:j.t("word.Height",p),onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:y,style:{width:120},step:.1,precision:2,value:d,formatter:S=>Number(S).toFixed(2),onChange:S=>{S!==null&&f(S)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.1, ",y.toFixed(1),"]",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:S=>M.getState().setDoorActionScope(S.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",p)})]})})})]})})},mdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.opacity)??1),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.opacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===s.foundationId&&P!==v.opacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===s.parentId&&P!==v.opacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.opacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.foundationId===s.foundationId&&!S.locked){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.parentId===s.parentId&&!S.locked){const x=S;v.set(S.id,x.opacity??1),x.opacity=P}});const T={name:"Set Opacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).opacity??s.opacity??1,y={name:"Set Opacity of Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.doorOpacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("wallMenu.Opacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},ydo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.uValue)??j4),[d,f]=m.useState(xe.toUValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.uValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Door&&T!==y.uValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Door&&T!==y.uValue&&!y.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Door&&y.foundationId===s.foundationId&&T!==y.uValue&&!y.locked)return!0;break;case ue.OnlyThisSide:for(const y of e)if(y.type===z.Door&&y.parentId===s.parentId&&T!==y.uValue&&!y.locked)return!0;break;default:if(T!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for Selected Doors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for All Doors",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&R.foundationId===s.foundationId&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for All Doors Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const y=new Map;l(x=>{for(const R of x.elements)if(R.type===z.Door&&R.parentId===s.parentId&&!R.locked){const H=R;y.set(R.id,H.uValue??j4),H.uValue=T}});const S={name:"Set U-Value for All Doors On the Same Wall",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.parentId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).uValue??s.uValue??j4,x={name:"Set Door U-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}}l(y=>{y.actionState.doorUValue=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("word.UValue",p)+" "}(${j.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toUValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toUValueInUS(.01),max:xe.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toUValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toUValueInUS(.01).toFixed(3),", ",xe.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setDoorActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",p)})]})})})]})})},Ado=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.volumetricHeatCapacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Door&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of e)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.foundationId===s.foundationId&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Door&&S.parentId===s.parentId&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,y={name:"Set Volumetric Heat Capacity of Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.doorVolumetricHeatCapacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>{P!==null&&u(P)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},wdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(I7),i=M(ao),r=M(oo),a=M(dn),l=M(Vn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.textureType)??ri.Default),d=Kt(),{Option:f}=Yo,p=(v,T)=>{a(y=>{for(const S of y.elements)if(S.id===v){S.locked||(S.textureType=T);break}})},g=(v,T)=>{for(const y of v.keys())p(y,T)},A=v=>{for(const[T,y]of v.entries())p(T,y)},w=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Door&&v!==T.textureType&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Door&&v!==T.textureType&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Door&&T.foundationId===s.foundationId&&v!==T.textureType&&!T.locked)return!0;break;case ue.OnlyThisSide:for(const T of e)if(T.type===z.Door&&T.parentId===s.parentId&&v!==T.textureType&&!T.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},b=v=>{if(s&&w(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,S.textureType??ri.Default);const y={name:"Set Texture for Selected Doors",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&!S.locked&&T.set(S.id,S.textureType??ri.Default);const y={name:"Set Texture for All Doors",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&S.foundationId===s.foundationId&&!S.locked&&T.set(S.id,S.textureType);const y={name:"Set Texture for All Doors Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:s.foundationId,undo:()=>{A(y.oldValues)},redo:()=>{y.groupId&&g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1)}break;case ue.OnlyThisSide:if(s.parentId){const T=new Map;for(const S of M.getState().elements)S.type===z.Door&&S.parentId===s.parentId&&!S.locked&&T.set(S.id,S.textureType);const y={name:"Set Texture for All Doors On the Same Wall",timestamp:Date.now(),oldValues:T,newValue:v,groupId:s.parentId,undo:()=>{A(y.oldValues)},redo:()=>{y.groupId&&g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1)}break;default:if(s){const T=l(s.id),y=T?T.textureType:s.textureType,S={name:"Set Texture of Selected Door",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};n(S),p(s.id,v),r(i+1)}}a(T=>{T.actionState.doorTexture=v})}},C=()=>{t(!1)},P=()=>{b(c)};return h.jsx(lo,{width:550,title:j.t("word.Texture",d),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:ri.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},ri.NoTexture),h.jsxs(f,{value:ri.Default,children:[h.jsx("img",{alt:ri.Default,src:hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.TextureDefault",d)]},ri.Default),h.jsxs(f,{value:ri.Texture01,children:[h.jsx("img",{alt:ri.Texture01,src:pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture01",d)]},ri.Texture01),h.jsxs(f,{value:ri.Texture02,children:[h.jsx("img",{alt:ri.Texture02,src:zue,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture02",d)]},ri.Texture02),h.jsxs(f,{value:ri.Texture03,children:[h.jsx("img",{alt:ri.Texture03,src:gqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture03",d)]},ri.Texture03),h.jsxs(f,{value:ri.Texture04,children:[h.jsx("img",{alt:ri.Texture04,src:mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture04",d)]},ri.Texture04),h.jsxs(f,{value:ri.Texture05,children:[h.jsx("img",{alt:ri.Texture05,src:yqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture05",d)]},ri.Texture05),h.jsxs(f,{value:ri.Texture06,children:[h.jsx("img",{alt:ri.Texture06,src:Aqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture06",d)]},ri.Texture06),h.jsxs(f,{value:ri.Texture07,children:[h.jsx("img",{alt:ri.Texture07,src:wqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture07",d)]},ri.Texture07),h.jsxs(f,{value:ri.Texture08,children:[h.jsx("img",{alt:ri.Texture08,src:vqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture08",d)]},ri.Texture08),h.jsxs(f,{value:ri.Texture09,children:[h.jsx("img",{alt:ri.Texture09,src:xqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture09",d)]},ri.Texture09),h.jsxs(f,{value:ri.Texture10,children:[h.jsx("img",{alt:ri.Texture10,src:bqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture10",d)]},ri.Texture10),h.jsxs(f,{value:ri.Texture11,children:[h.jsx("img",{alt:ri.Texture11,src:Sqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture11",d)]},ri.Texture11),h.jsxs(f,{value:ri.Texture12,children:[h.jsx("img",{alt:ri.Texture12,src:Tqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture12",d)]},ri.Texture12),h.jsxs(f,{value:ri.Texture13,children:[h.jsx("img",{alt:ri.Texture13,src:Pqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture13",d)]},ri.Texture13),h.jsxs(f,{value:ri.Texture14,children:[h.jsx("img",{alt:ri.Texture14,src:Cqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture14",d)]},ri.Texture14),h.jsxs(f,{value:ri.Texture15,children:[h.jsx("img",{alt:ri.Texture15,src:Rqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture15",d)]},ri.Texture15),h.jsxs(f,{value:ri.Texture16,children:[h.jsx("img",{alt:ri.Texture16,src:Hqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture16",d)]},ri.Texture16),h.jsxs(f,{value:ri.Texture17,children:[h.jsx("img",{alt:ri.Texture17,src:Mqe,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("doorMenu.Texture17",d)]},ri.Texture17)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setDoorActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},vdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.color=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&P!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&P!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&P!==v.color&&!v.locked)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&P!==v.color&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.color))return!0;break}return!1},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.parentId===s.parentId&&!s.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.color:s.color)??"#ffffff",y={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}e(v=>{v.actionState.doorColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("word.Color",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},xdo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(I7),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Door),[c,u]=m.useState((s==null?void 0:s.frameColor)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){!y.locked&&y.type===z.Door&&(y.frameColor=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&M.getState().selectedElementIdSet.has(v.id)&&P!==v.frameColor)return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Door&&!v.locked&&P!==v.frameColor)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Door&&v.foundationId===(s==null?void 0:s.foundationId)&&!v.locked&&P!==v.frameColor)return!0;break;case ue.OnlyThisSide:for(const v of n)if(v.type===z.Door&&v.parentId===(s==null?void 0:s.parentId)&&!v.locked&&P!==v.frameColor)return!0;break;default:if(P!==(s==null?void 0:s.frameColor))return!0;break}return!1},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for Selected Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&!y.locked&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for All Doors",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for All Doors Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;case ue.OnlyThisSide:if(s.parentId){const v=new Map;for(const y of M.getState().elements)y.type===z.Door&&y.parentId===s.parentId&&!s.locked&&v.set(y.id,y.frameColor??"#ffffff");const T={name:"Set Color for All Doors On the Same Wall",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.parentId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.frameColor:s.frameColor)??"#ffffff",y={name:"Set Color of Selected Door",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}e(v=>{v.actionState.doorColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("doorMenu.FrameColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.frameColor)??"#ffffff",onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setDoorActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("doorMenu.OnlyThisDoor",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("doorMenu.AllDoorsOnWall",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("doorMenu.AllDoorsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("doorMenu.AllSelectedDoors",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("doorMenu.AllDoors",d)})]})})})]})})},bdo=t=>{const e=[];if(t.type!==z.Door)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"door-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"door-cut",label:h.jsx(Tf,{})}),e.push({key:"door-lock",label:h.jsx(Id,{selectedElement:n})}),o&&(e.push({key:"door-filled",label:h.jsx(ddo,{door:n})},{key:"door-interior",label:h.jsx(fdo,{door:n})}),e.push({key:"door-type-submenu",label:h.jsx(tn,{children:j.t("doorMenu.DoorType",i)}),children:[{key:"door-type-radio-group",label:h.jsx(hdo,{door:n}),style:{backgroundColor:"white"}}]},{key:"door-width",label:h.jsxs(io,{Dialog:pdo,children:[j.t("word.Width",i)," ..."]})},{key:"door-height",label:h.jsxs(io,{Dialog:gdo,children:[j.t("word.Height",i)," ..."]})}),n.filled&&(e.push({key:"door-u-value",label:h.jsxs(io,{Dialog:ydo,children:[j.t("word.UValue",i)," ..."]})},{key:"door-heat-capacity",label:h.jsxs(io,{Dialog:Ado,children:[j.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"door-texture",label:h.jsxs(io,{Dialog:wdo,children:[j.t("word.Texture",i)," ..."]})},{key:"door-color",label:h.jsxs(io,{Dialog:vdo,children:[j.t("word.Color",i)," ..."]})},{key:"door-frame-color",label:h.jsxs(io,{Dialog:xdo,children:[j.t("doorMenu.FrameColor",i)," ..."]})}),(n.textureType===ri.Default||n.textureType===ri.NoTexture)&&e.push({key:"door-opacity",label:h.jsxs(io,{Dialog:mdo,children:[j.t("wallMenu.Opacity",i)," ..."]})}))),{items:e}},Sdo=({windowModel:t,dataType:e,attributeKey:n,range:o,step:i,unit:r,note:a,digit:l,setDialogVisible:s})=>{const c=M(Jn),u=M(En),d=M(cW),f=M(ao),p=M(oo),g=M(dn),A=M(rr),w=m.useMemo(()=>{const L=t[n],E=A(t);if(E&&t.parentType!==z.Roof){if(n==="lx")return L*E.lx;if(n==="lz")return L*E.lz}return n==="sillWidth"&&L===void 0?.2:L},[n,t]),[b,C]=m.useState(w),P=Kt(),v=(L,E,U)=>{const F=A(L);F&&(E==="lx"||E==="lz")?L.parentType===z.Roof?L[E]=U:L[E]=U/F[E]:L[E]=U},T=(L,E)=>{g(U=>{for(const F of U.elements)if(F.id===L){!F.locked&&F.type===z.Window&&v(F,n,E);break}})},y=(L,E)=>{L&&g(U=>{for(const F of U.elements)!F.locked&&F.type===z.Window&&F.parentId===L&&v(F,n,E)})},S=(L,E)=>{L&&g(U=>{for(const F of U.elements)!F.locked&&F.type===z.Window&&F.foundationId===L&&v(F,n,E)})},x=L=>{g(E=>{for(const U of E.elements)!U.locked&&U.type===z.Window&&v(U,n,L)})},R=(L,E)=>{g(U=>{for(const F of U.elements)!F.locked&&F.type===z.Window&&L.has(F.id)&&v(F,n,E)})},H=L=>{for(const[E,U]of L.entries())T(E,U)},D=L=>{switch(d){case ue.AllSelectedObjectsOfThisType:{for(const E of c)if(E.type===z.Window&&!E.locked&&M.getState().selectedElementIdSet.has(E.id)){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}case ue.AllObjectsOfThisType:{for(const E of c)if(E.type===z.Window&&!E.locked){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}case ue.AllObjectsOfThisTypeAboveFoundation:{for(const E of c)if(E.type===z.Window&&E.foundationId===t.foundationId&&!E.locked){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}case ue.OnlyThisSide:{for(const E of c)if(E.type===z.Window&&E.parentId===t.parentId&&!E.locked){const U=E,F=A(U);if(F&&U.parentType!==z.Roof){if(n==="lx"){if(L!==U[n]*F.lx)return!0}else if(n==="lz"){if(L!==U[n]*F.lz)return!0}else if(L!==U[n])return!0}else if(L!==U[n])return!0}break}default:{const E=A(t);if(E&&t.parentType!==z.Roof){if(n==="lx"){if(L!==t[n]*E.lx)return!0}else if(n==="lz"){if(L!==t[n]*E.lz)return!0}else if(L!==t[n])return!0}else if(L!==t[n])return!0;break}}return!1},k=L=>{if(t&&D(L)){switch(d){case ue.AllSelectedObjectsOfThisType:{const E=new Map;for(const F of c)if(F.type===z.Window&&!F.locked&&M.getState().selectedElementIdSet.has(F.id)){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{H(U.oldValues)},redo:()=>{R(U.oldValues,U.newValue)}};u(U),R(E,L),p(f+1);break}case ue.AllObjectsOfThisType:{const E=new Map;for(const F of c)if(F.type===z.Window&&!F.locked){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{H(U.oldValues)},redo:()=>{x(U.newValue)}};u(U),x(L),p(f+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(t.foundationId){const E=new Map;for(const F of c)if(F.type===z.Window&&F.foundationId===t.foundationId&&!F.locked){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:E,newValue:L,groupId:t.foundationId,undo:()=>{H(U.oldValues)},redo:()=>{S(t.foundationId,U.newValue)}};u(U),S(t.foundationId,L),p(f+1)}break;case ue.OnlyThisSide:if(t.parentId){const E=new Map;for(const F of c)if(F.type===z.Window&&F.parentId===t.parentId&&!F.locked){const B=F,_=A(B);let Y=B[n];_&&B.parentType!==z.Roof&&(n==="lx"?Y*=_.lx:n==="lz"&&(Y*=_.lz)),E.set(F.id,Y)}const U={name:`Set ${e} for All Windows On the Same Parent`,timestamp:Date.now(),oldValues:E,newValue:L,groupId:t.parentId,undo:()=>{H(U.oldValues)},redo:()=>{y(t.parentId,U.newValue)}};u(U),y(t.parentId,L),p(f+1)}break;default:if(t){let E=t[n];const U=A(t);U&&t.parentType!==z.Roof&&(n==="lx"?E*=U.lx:n==="lz"&&(E*=U.lz));const F={name:`Set Window ${e}`,timestamp:Date.now(),oldValue:E,newValue:L,changedElementId:t.id,changedElementType:t.type,undo:()=>{T(F.changedElementId,F.oldValue)},redo:()=>{T(F.changedElementId,F.newValue)}};u(F),T(t.id,L),p(f+1)}}g(E=>{switch(e){case Jh.Width:E.actionState.windowWidth=L;break;case Jh.Height:E.actionState.windowHeight=L;break;case Jh.Opacity:E.actionState.windowOpacity=L;break;case Jh.FrameWidth:E.actionState.windowFrameWidth=L;break;case Jh.SillWidth:E.actionState.windowSillWidth=L;break;case Jh.HorizontalMullionSpacing:E.actionState.windowHorizontalMullionSpacing=L;break;case Jh.VerticalMullionSpacing:E.actionState.windowVerticalMullionSpacing=L;break;case Jh.MullionWidth:E.actionState.windowMullionWidth=L;break}})}},W=()=>{s(!1)},N=()=>{k(b)};return h.jsx(lo,{width:550,title:j.t(`windowMenu.${e}`,P),onApply:N,onClose:W,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:o[0],max:o[1],style:{width:120},step:i,precision:2,value:b,formatter:L=>Number(L).toFixed(2),onChange:L=>{L!==null&&C(L)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",P),": [",o[0].toFixed(o[0]===0?0:l??0),","," ",o[1].toFixed(l??0),"] ",r," ",h.jsx("br",{}),h.jsx("br",{})," ",a]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:r}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L=>M.getState().setWindowActionScope(L.target.value),value:d,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",P)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",P)})]})})})]})})},Tdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ao),c=M(oo),[u,d]=SZ(t[n]??"#ffffff"),f=Kt(),p=(S,x)=>{r(R=>{for(const H of R.elements)if(H.id===S){!H.locked&&H.type===z.Window&&(H[n]=x);break}})},g=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===S&&(H[n]=x)})},A=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===S&&(H[n]=x)})},w=S=>{r(x=>{for(const R of x.elements)!R.locked&&R.type===z.Window&&(R[n]=S)})},b=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&S.has(H.id)&&(H[n]=x)})},C=S=>{for(const[x,R]of S.entries())p(x,R)},P=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const x of i)if(x.type===z.Window&&S!==x[n]&&!x.locked&&M.getState().selectedElementIdSet.has(x.id))return!0;break;case ue.AllObjectsOfThisType:for(const x of i)if(x.type===z.Window&&S!==x[n]&&!x.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of i)if(x.type===z.Window&&x.foundationId===t.foundationId&&S!==x[n]&&!x.locked)return!0;break;case ue.OnlyThisSide:for(const x of i)if(x.type===z.Window&&x.parentId===t.parentId&&S!==x[n]&&!x.locked)return!0;break;default:if(S!==t[n])return!0;break}return!1},v=S=>{if(t&&P(S)){switch(l){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{b(R.oldValues,R.newValue)}};a(R),b(x,S),c(s+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{w(R.newValue)}};a(R),w(S),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(t.foundationId){const x=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{A(R.groupId,R.newValue)}};a(R),A(t.foundationId,S),c(s+1)}break}case ue.OnlyThisSide:{if(t.parentId){const x=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,S),c(s+1)}break}default:{if(t){const x=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,S),c(s+1)}break}}r(x=>{switch(e){case Jh.Tint:x.actionState.windowTint=S;break;case Jh.MullionColor:x.actionState.windowMullionColor=S;break;case Jh.Color:x.actionState.windowColor=S;break}})}},T=()=>{o()},y=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:640,title:j.t(`windowMenu.${e}`,f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??"#73D8FF",onChangeComplete:d})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWindowActionScope(S.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",f)})]})})})]})})},Pdo=({window:t,dataType:e,attributeKey:n,setDialogVisible:o})=>{const i=M(Jn),r=M(dn),a=M(En),l=M(cW),s=M(ao),c=M(oo),[u,d]=m.useState(t[n]),f=Kt(),p=(S,x)=>{r(R=>{for(const H of R.elements)if(H.id===S&&!H.locked&&H.type===z.Window){H[n]=x;break}})},g=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.parentId===S&&(H[n]=x)})},A=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&H.foundationId===S&&(H[n]=x)})},w=S=>{r(x=>{for(const R of x.elements)!R.locked&&R.type===z.Window&&(R[n]=S)})},b=(S,x)=>{r(R=>{for(const H of R.elements)!H.locked&&H.type===z.Window&&S.has(H.id)&&(H[n]=x)})},C=S=>{for(const[x,R]of S.entries())p(x,R)},P=S=>{switch(l){case ue.AllSelectedObjectsOfThisType:for(const x of i)if(x.type===z.Window&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)&&x[n]!==S)return!0;break;case ue.AllObjectsOfThisType:for(const x of i)if(x.type===z.Window&&!x.locked&&x[n]!==S)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const x of i)if(x.type===z.Window&&x.foundationId===t.foundationId&&!x.locked&&x[n]!==S)return!0;break;case ue.OnlyThisSide:for(const x of i)if(x.type===z.Window&&x.parentId===t.parentId&&!x.locked&&x[n]!==S)return!0;break;default:if(t[n]!==S)return!0;break}return!1},v=S=>{if(t&&P(S))switch(l){case ue.AllSelectedObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&x.set(H.id,H[n]);const R={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{b(R.oldValues,R.newValue)}};a(R),b(x,S),c(s+1);break}case ue.AllObjectsOfThisType:{const x=new Map;for(const H of i)H.type===z.Window&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:x,newValue:S,undo:()=>{C(R.oldValues)},redo:()=>{w(R.newValue)}};a(R),w(S),c(s+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(t.foundationId){const x=new Map;for(const H of i)H.type===z.Window&&H.foundationId===t.foundationId&&!t.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.foundationId,undo:()=>{C(R.oldValues)},redo:()=>{A(R.groupId,R.newValue)}};a(R),A(t.foundationId,S),c(s+1)}break}case ue.OnlyThisSide:{if(t.parentId){const x=new Map;for(const H of i)H.type===z.Window&&H.parentId===t.parentId&&!H.locked&&x.set(H.id,H[n]);const R={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:x,newValue:S,groupId:t.parentId,undo:()=>{C(R.oldValues)},redo:()=>{g(t.parentId,R.newValue)}};a(R),g(t.parentId,S),c(s+1)}break}default:{if(t){const x=t[n],R={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:x,newValue:S,changedElementId:t.id,changedElementType:t.type,undo:()=>{p(R.changedElementId,R.oldValue)},redo:()=>{p(R.changedElementId,R.newValue)}};a(R),p(t.id,S),c(s+1)}break}}},T=()=>{o()},y=()=>{t[n]!==u&&v(u)};return h.jsx(lo,{width:500,title:j.t(`windowMenu.${e}`,f),onApply:y,onClose:T,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsx(wc,{checked:u,onChange:S=>{d(S)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:S=>M.getState().setWindowActionScope(S.target.value),value:l,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",f)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",f)})]})})})]})})},{Option:Cdo}=Yo,Rdo=({window:t,dataType:e,attributeKey:n,options:o,optionsText:i,setDialogVisible:r})=>{const a=M(Jn),l=M(dn),s=M(En),c=M(cW),u=M(ao),d=M(oo),[f,p]=m.useState(t[n]),g=Kt(),A=(R,H)=>{l(D=>{for(const k of D.elements)if(k.id===R){!k.locked&&k.type===z.Window&&(k[n]=H);break}})},w=(R,H)=>{l(D=>{for(const k of D.elements)!k.locked&&k.type===z.Window&&k.parentId===R&&(k[n]=H)})},b=(R,H)=>{l(D=>{for(const k of D.elements)!k.locked&&k.type===z.Window&&k.foundationId===R&&(k[n]=H)})},C=R=>{l(H=>{for(const D of H.elements)!D.locked&&D.type===z.Window&&(D[n]=R)})},P=(R,H)=>{l(D=>{for(const k of D.elements)!k.locked&&k.type===z.Window&&R.has(k.id)&&(k[n]=H)})},v=R=>{for(const[H,D]of R.entries())A(H,D)},T=R=>{if(t){switch(c){case ue.AllSelectedObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked&&M.getState().selectedElementIdSet.has(H.id))return!0;break;case ue.AllObjectsOfThisType:for(const H of a)if(H.type===z.Window&&R!==H[n]&&!H.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of a)if(H.type===z.Window&&H.foundationId===t.foundationId&&R!==H[n]&&!H.locked)return!0;break;case ue.OnlyThisSide:for(const H of a)if(H.type===z.Window&&H.parentId===t.parentId&&R!==H[n]&&!H.locked)return!0;break;default:if(R!==t[n])return!0;break}return!1}},y=R=>{if(t&&T(R)){switch(c){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of a)k.type===z.Window&&!k.locked&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k[n]);const D={name:`Set ${e} for Selected Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{P(D.oldValues,D.newValue)}};s(D),P(H,R),d(u+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of a)k.type===z.Window&&!k.locked&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Windows`,timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{v(D.oldValues)},redo:()=>{C(D.newValue)}};s(D),C(R),d(u+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(t.foundationId){const H=new Map;for(const k of a)k.type===z.Window&&k.foundationId===t.foundationId&&!t.locked&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Windows Above Foundation`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.foundationId,undo:()=>{v(D.oldValues)},redo:()=>{b(D.groupId,D.newValue)}};s(D),b(t.foundationId,R),d(u+1)}break}case ue.OnlyThisSide:{if(t.parentId){const H=new Map;for(const k of a)k.type===z.Window&&k.parentId===t.parentId&&!k.locked&&H.set(k.id,k[n]);const D={name:`Set ${e} for All Windows On the Same Wall`,timestamp:Date.now(),oldValues:H,newValue:R,groupId:t.parentId,undo:()=>{v(D.oldValues)},redo:()=>{w(t.parentId,D.newValue)}};s(D),w(t.parentId,R),d(u+1)}break}default:{if(t){const H=t[n],D={name:`Set ${e} of Selected window`,timestamp:Date.now(),oldValue:H,newValue:R,changedElementId:t.id,changedElementType:t.type,undo:()=>{A(D.changedElementId,D.oldValue)},redo:()=>{A(D.changedElementId,D.newValue)}};s(D),A(t.id,R),d(u+1)}break}}l(H=>{switch(e){case Jh.Tint:H.actionState.windowTint=R;break;case Jh.MullionColor:H.actionState.windowMullionColor=R;break;case Jh.Color:H.actionState.windowColor=R;break}})}},S=()=>{r()},x=()=>{y(f)};return h.jsx(lo,{width:560,title:j.t(`windowMenu.${e}`,g),onApply:x,onClose:S,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Yo,{style:{width:"150px"},value:f,onChange:R=>p(R),children:o.map((R,H)=>h.jsx(Cdo,{value:R,children:i[H]},R))})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:R=>M.getState().setWindowActionScope(R.target.value),value:c,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",g)})]})})})]})})};var mg=(t=>(t.Opacity="Opacity",t.Width="Width",t.Height="Height",t.Setback="Setback",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionWidth="MullionWidth",t.SillWidth="SillWidth",t.FrameWidth="FrameWidth",t.ShutterWidth="ShutterWidth",t))(mg||{}),LN=(t=>(t.ShutterColor="ShutterColor",t.Color="Color",t.MullionColor="MullionColor",t.Tint="Tint",t))(LN||{}),LR=(t=>(t.Frame="Frame",t.LeftShutter="LeftShutter",t.RightShutter="RightShutter",t.HorizontalMullion="HorizontalMullion",t.VerticalMullion="VerticalMullion",t))(LR||{}),got=(t=>(t.WindowType="WindowType",t))(got||{});const c9=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=r?M.getState().getParent(r):null,l=()=>{M.getState().setApplyCount(0),i(!0)},s=Ndo[t];return t===mg.Width?s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lx*Math.min(Math.abs(.5-r.cx),Math.abs(-.5-r.cx)):100:t===mg.Height&&(s.range[1]=a&&r&&r.parentType!==z.Roof?2*a.lz*Math.min(Math.abs(.5-r.cz),Math.abs(-.5-r.cz)):100),h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:l,children:[j.t(`windowMenu.${t}`,n)," ..."]}),o&&s&&r&&h.jsx(Sdo,{windowModel:r,dataType:t,attributeKey:s.attributeKey,range:s.range,step:s.step,unit:s.unit?j.t(s.unit,n):void 0,note:s.note?j.t(s.note,n):void 0,digit:s.digit??0,setDialogVisible:i})]})},jZ=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Fdo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[j.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Tdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},PF=({dataType:t,noPadding:e})=>{const[n,o]=m.useState(!1),i=Kt(),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),o(!0)},l=Ldo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[j.t(`windowMenu.${t}`,i)," ..."]}),n&&l&&r&&h.jsx(Pdo,{window:r,dataType:t,attributeKey:l.attributeKey,setDialogVisible:()=>o(!1)})]})},Hdo=({dataType:t,noPadding:e})=>{const n=Kt(),[o,i]=m.useState(!1),r=co(z.Window),a=()=>{M.getState().setApplyCount(0),i(!0)},l=Wdo[t];return h.jsxs(h.Fragment,{children:[h.jsxs(tn,{noPadding:e,onClick:a,children:[j.t(`windowMenu.${t}`,n)," ..."]}),o&&l&&r&&h.jsx(Rdo,{window:r,dataType:t,attributeKey:l.attributeKey,options:[Sr.Default,Sr.Arched,Sr.Polygonal],optionsText:[j.t("windowMenu.Default",n),j.t("windowMenu.Arched",n),j.t("windowMenu.Polygonal",n)],setDialogVisible:()=>i(!1)})]})},Mdo=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.empty=r;break}})},o=i=>{const r=i.target.checked,a={name:"Empty Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowEmpty=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.empty,onChange:o,children:j.t("windowMenu.Empty",e)})})},Ido=({window:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{for(const l of a.elements)if(l.id===i&&l.type===z.Window){l.interior=r;break}})},o=i=>{const r=i.target.checked,a={name:"Interior Window",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r),M.getState().set(l=>{l.actionState.windowInterior=r})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:!!t.interior,onChange:o,children:j.t("windowMenu.Interior",e)})})},zdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(cW),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Window),[c,u]=m.useState((s==null?void 0:s.uValue)??B4),[d,f]=m.useState(xe.toUValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.uValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Window&&T!==y.uValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Window&&T!==y.uValue&&!y.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Window&&y.foundationId===s.foundationId&&T!==y.uValue&&!y.locked)return!0;break;case ue.OnlyThisSide:for(const y of e)if(y.type===z.Window&&y.parentId===s.parentId&&T!==y.uValue&&!y.locked)return!0;break;default:if(T!==(s==null?void 0:s.uValue))return!0;break}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Window&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for Selected Windows",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Window&&!x.locked){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for All Windows",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(s.foundationId){const y=new Map;for(const x of e)if(x.type===z.Window&&x.foundationId===s.foundationId&&!x.locked){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for All Windows Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break}case ue.OnlyThisSide:{if(s.parentId){const y=new Map;for(const x of e)if(x.type===z.Window&&x.parentId===s.parentId&&!x.locked){const R=x;y.set(x.id,R.uValue??B4),g(R.id,T)}const S={name:"Set U-Value for All Windows On the Same Wall",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.parentId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break}default:{if(s){const S=a(s.id).uValue??s.uValue??B4,x={name:"Set Window U-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}break}}l(y=>{y.actionState.windowUValue=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("word.UValue",p)+" "}(${j.t("word.ThermalTransmittance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toUValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": W/(m²·℃)"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toUValueInUS(.01),max:xe.toUValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toUValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toUValueInUS(.01).toFixed(3),", ",xe.toUValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": Btu/(h·ft²·℉)"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setWindowActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windowMenu.OnlyThisWindow",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisSide,children:j.t("windowMenu.AllWindowsOnSurface",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windowMenu.AllWindowsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windowMenu.AllSelectedWindows",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windowMenu.AllWindows",p)})]})})})]})})},Ddo=t=>{const e=[];return e.push({key:"window-frame-boolean",label:h.jsx(PF,{noPadding:!0,dataType:LR.Frame})}),t.frame&&e.push({type:"divider"},{key:"window-frame-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.FrameWidth})},{key:"window-sill-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.SillWidth})},{key:"window-frame-color",label:h.jsx(jZ,{noPadding:!0,dataType:LN.Color})}),e},Edo=t=>{const e=[];return e.push({key:"window-horizontal-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.HorizontalMullion})},{key:"window-vertical-mullion",label:h.jsx(PF,{noPadding:!0,dataType:LR.VerticalMullion})}),(t.horizontalMullion||t.verticalMullion)&&(e.push({type:"divider"},{key:"window-mullion-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.MullionWidth})},{key:"window-mullion-color",label:h.jsx(jZ,{noPadding:!0,dataType:LN.MullionColor})}),t.horizontalMullion&&e.push({key:"window-horizontal-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:mg.HorizontalMullionSpacing})}),t.verticalMullion&&e.push({key:"window-vertical-mullion-spacing",label:h.jsx(c9,{noPadding:!0,dataType:mg.VerticalMullionSpacing})})),e},kdo=t=>{const e=[];return e.push({key:"window-left-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.LeftShutter})},{key:"window-right-shutter",label:h.jsx(PF,{noPadding:!0,dataType:LR.RightShutter})}),(t.leftShutter||t.rightShutter)&&e.push({type:"divider"},{key:"window-shutter-color",label:h.jsx(jZ,{noPadding:!0,dataType:LN.ShutterColor})},{key:"window-shutter-width",label:h.jsx(c9,{noPadding:!0,dataType:mg.ShutterWidth})}),e};var Jh=(t=>(t.Color="Color",t.Tint="Tint",t.Opacity="Opacity",t.WindowType="WindowType",t.MullionWidth="MullionWidth",t.HorizontalMullionSpacing="HorizontalMullionSpacing",t.VerticalMullionSpacing="VerticalMullionSpacing",t.MullionColor="MullionColor",t.Frame="Frame",t.FrameWidth="FrameWidth",t.SillWidth="SillWidth",t.Width="Width",t.Height="Height",t))(Jh||{});const Fdo={Tint:{attributeKey:"tint"},Color:{attributeKey:"color"},MullionColor:{attributeKey:"mullionColor"},ShutterColor:{attributeKey:"shutterColor"}},Ldo={HorizontalMullion:{attributeKey:"horizontalMullion"},VerticalMullion:{attributeKey:"verticalMullion"},Frame:{attributeKey:"frame"},LeftShutter:{attributeKey:"leftShutter"},RightShutter:{attributeKey:"rightShutter"}},Wdo={WindowType:{attributeKey:"windowType",options:[Sr.Default,Sr.Arched,Sr.Polygonal]}},Ndo={Opacity:{attributeKey:"opacity",range:[0,.9],step:.1,note:"windowMenu.SolarHeatGainCoefficient",digit:1},Width:{attributeKey:"lx",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Height:{attributeKey:"lz",range:[.1,100],step:.1,unit:"word.MeterAbbreviation",digit:1},Setback:{attributeKey:"cy",range:[0,1],step:.01,unit:"",digit:0,note:"windowMenu.RelativeToWallThickness"},MullionWidth:{attributeKey:"mullionWidth",range:[0,.2],step:.1,unit:"word.MeterAbbreviation",digit:1},ShutterWidth:{attributeKey:"shutterWidth",range:[0,.5],step:.01,unit:"",digit:1},HorizontalMullionSpacing:{attributeKey:"horizontalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},VerticalMullionSpacing:{attributeKey:"verticalMullionSpacing",range:[.1,5],step:.01,unit:"word.MeterAbbreviation",digit:1},FrameWidth:{attributeKey:"frameWidth",range:[.05,.2],step:.01,unit:"word.MeterAbbreviation",digit:2},SillWidth:{attributeKey:"sillWidth",range:[0,.5],step:.01,unit:"word.MeterAbbreviation",digit:2}},Udo=t=>{const e=[];if(t.type!==z.Window)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language};return e.push({key:"window-copy",label:h.jsx(Sf,{})}),o&&e.push({key:"window-cut",label:h.jsx(Tf,{})}),e.push({key:"window-lock",label:h.jsx(Id,{selectedElement:n})}),o&&e.push({key:"window-empty",label:h.jsx(Mdo,{window:n})},{key:"window-interior",label:h.jsx(Ido,{window:n})}),o&&e.push({key:"window-type",label:h.jsx(Hdo,{dataType:got.WindowType})},{key:"window-width",label:h.jsx(c9,{dataType:mg.Width})},{key:"window-height",label:h.jsx(c9,{dataType:mg.Height})},{key:"window-setback",label:h.jsx(c9,{dataType:mg.Setback})},{key:"window-opacity",label:h.jsx(c9,{dataType:mg.Opacity})},{key:"window-tint",label:h.jsx(jZ,{dataType:LN.Tint})},{key:"window-u-value",label:h.jsxs(io,{Dialog:zdo,children:[j.t("word.UValue",i)," ..."]})},{key:"window-mullion-submenu",label:h.jsx(tn,{children:j.t("windowMenu.Mullion",i)}),children:Edo(n)},{key:"window-frame-submenu",label:h.jsx(tn,{children:j.t("windowMenu.Frame",i)}),children:Ddo(n)},{key:"window-shutter-submenu",label:h.jsx(tn,{children:j.t("windowMenu.Shutter",i)}),children:kdo(n)}),{items:e}},Bdo=({roof:t})=>{const e=Kt(),n=(i,r)=>{M.getState().set(a=>{const l=a.elements.find(s=>s.id===i&&s.type===z.Roof);l&&(l.ceiling=r,a.actionState.roofCeiling=r)})},o=i=>{const r=i.target.checked,a={name:"Roof Ceiling",timestamp:Date.now(),checked:r,selectedElementId:t.id,selectedElementType:t.type,undo:()=>{n(t.id,!a.checked)},redo:()=>{n(t.id,a.checked)}};M.getState().addUndoable(a),n(t.id,r)};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Wr,{style:{width:"100%"},checked:t.ceiling,onChange:o,children:j.t("roofMenu.Ceiling",e)})})},jdo=({roof:t,objectType:e,modalTitle:n,onClickOk:o,children:i})=>{const r=M.getState().removeAllChildElementsByType,a=()=>{const s=M.getState().elements.filter(d=>!d.locked&&d.type===e&&d.parentId===t.id);r(t.id,e);const c=JSON.parse(JSON.stringify(s)),u={name:`Remove All ${e}s on Roof`,timestamp:Date.now(),parentId:t.id,removedElements:c,undo:()=>{M.getState().set(d=>{d.elements.push(...u.removedElements)})},redo:()=>{r(u.parentId,e)}};M.getState().addUndoable(u)},l=()=>{const s=o??a;_r.confirm({title:n,icon:h.jsx($m,{}),onOk:s})};return h.jsx(tn,{update:!0,noPadding:!0,onClick:l,children:i})},QRe=({roof:t,objectType:e,lock:n,children:o})=>{const i=M.getState().updateElementLockById,r=M.getState().updateElementLockByParentId,a=()=>{const l=e.replaceAll(" ",""),s=new Map;for(const d of M.getState().elements)d.parentId===t.id&&d.type===e&&s.set(d.id,!!d.locked);r(t.id,e,n);const u={name:n?`Lock All Unlocked ${l} on Roof`:`Unlock All Locked ${l} on Roof`,timestamp:Date.now(),oldValues:s,newValue:!0,undo:()=>{for(const[d,f]of u.oldValues.entries())i(d,f)},redo:()=>{r(t.id,e,n)}};M.getState().addUndoable(u)};return h.jsx(tn,{stayAfterClick:!0,update:!0,noPadding:!0,onClick:a,children:o})},Ydo=({roof:t})=>{const e=Kt(),n=M.getState().updateRoofStructureById,o=i=>{const r={name:"Select Roof Structure",timestamp:Date.now(),oldValue:t.roofStructure??yc.Default,newValue:i.target.value,changedElementId:t.id,changedElementType:t.type,undo:()=>{n(r.changedElementId,r.oldValue)},redo:()=>{n(r.changedElementId,r.newValue)}};M.getState().addUndoable(r),n(t.id,i.target.value),M.getState().set(a=>{a.actionState.roofStructure=i.target.value})};return h.jsx(tn,{stayAfterClick:!0,noPadding:!0,children:h.jsx(Be.Group,{value:t.roofStructure??yc.Default,onChange:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:yc.Default,children:j.t("roofMenu.DefaultStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Rafter,children:j.t("roofMenu.RafterStructure",e)}),h.jsx(Be,{style:{width:"100%"},value:yc.Glass,children:j.t("roofMenu.GlassStructure",e)})]})})})},xae=[{key:"solarPanelCount",lockedKey:"lockedSolarPanelCount",objectType:z.SolarPanel},{key:"windowCount",lockedKey:"lockedWindowCount",objectType:z.Window},{key:"sensorCount",lockedKey:"lockedSensorCount",objectType:z.Sensor},{key:"outsideLightCount",lockedKey:"lockedLightCount",objectType:z.Light}],Odo=(t,e)=>{const n={lng:M.getState().language};let o="",i="";switch(t){case z.SolarPanel:{o=`${j.t("roofMenu.RemoveAllUnlockedSolarPanels",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllSolarPanelsOnThisRoof",n)} (${e} ${j.t("roofMenu.SolarPanels",n)})`;break}case z.Window:{o=`${j.t("roofMenu.RemoveAllUnlockedWindows",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllWindowsOnThisRoof",n)} (${e} ${j.t("roofMenu.Windows",n)})`;break}case z.Sensor:{o=`${j.t("roofMenu.RemoveAllUnlockedSensors",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllSensorsOnThisRoof",n)} (${e} ${j.t("roofMenu.Sensors",n)})`;break}case z.Light:{o=`${j.t("roofMenu.RemoveAllUnlockedLights",n)} (${e})`,i=`${j.t("roofMenu.DoYouReallyWantToRemoveAllLightsOnThisRoof",n)} (${e} ${j.t("roofMenu.Lights",n)})`;break}}return{itemLabel:o,modalTitle:i}},bae=(t,e,n,o)=>n===z.Light?o?t.lockedLightCount:t.insideLightCount+t.outsideLightCount:t[e],_do=(t,e,n)=>{const o=[],i={lng:M.getState().language};return xae.forEach(({key:r,objectType:a})=>{const l=bae(n,r,a);if(typeof l=="number"&&l>0){const{itemLabel:s,modalTitle:c}=Odo(a,l),u=a.replaceAll(" ","");o.push({key:`remove-all-${u}s-on-roof`,label:h.jsx(jdo,{roof:t,objectType:a,modalTitle:c,children:s})})}}),xae.forEach(({key:r,objectType:a})=>{const l=bae(n,r,a);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`lock-all-${s}s-on-roof`,label:h.jsxs(QRe,{roof:t,objectType:a,lock:!0,children:[j.t(`wallMenu.LockAllUnlocked${s}s`,i)," (",l,")"]})})}}),xae.forEach(({lockedKey:r,objectType:a})=>{const l=bae(e,r,a,!0);if(typeof l=="number"&&l>0){const s=a.replaceAll(" ","");o.push({key:`unlock-all-${s}s-on-wall`,label:h.jsxs(QRe,{roof:t,objectType:a,lock:!1,children:[j.t(`wallMenu.UnlockAllLocked${s}s`,i)," (",l,")"]})})}}),e.outsideLightCount>0&&o.push({key:"inside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!0,children:[j.t("wallMenu.AllLightsOnWallInside",i)," (",e.outsideLightCount,")"]})}),e.insideLightCount>0&&o.push({key:"outside-lights-on-wall",label:h.jsxs($G,{element:t,inside:!1,children:[j.t("wallMenu.AllLightsOnWallOutside",i)," (",e.insideLightCount,")"]})}),o},Vdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.thickness)??.4),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)y.id===P&&(y.thickness=v,T.updateElementOnRoofFlag=!0),y.parentId===P&&y.type===z.Window&&(y.ly=v)})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.thickness&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.thickness&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.thickness&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.thickness))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)){const S=y;v.set(y.id,S.thickness),f(S.id,P)}const T={name:"Set Thickness for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked){const S=y;v.set(y.id,S.thickness),f(S.id,P)}const T={name:"Set Thickness for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)if(y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked){const S=y;v.set(y.id,S.thickness),f(S.id,P)}const T={name:"Set Thickness for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).thickness??s.thickness??.4,y={name:"Set Roof Thickness",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.roofThickness=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.Thickness",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.05,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.05, 1] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},Gdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(Vn),l=co(z.Roof),[s,c]=m.useState((l==null?void 0:l.rise)??0),u=Kt(),d=(C,P)=>{M.getState().updateRoofRiseById(C,P),M.getState().set(v=>{v.updateElementOnRoofFlag=!0})},f=C=>{for(const[P,v]of C.entries())d(P,v)},p=(C,P)=>{for(const v of C.keys())d(v,P)},g=C=>{if(l){switch(o){case ue.AllSelectedObjectsOfThisType:for(const P of e)if(P.type===z.Roof&&C!==P.rise&&!P.locked&&M.getState().selectedElementIdSet.has(P.id))return!0;break;case ue.AllObjectsOfThisType:for(const P of e)if(P.type===z.Roof&&C!==P.rise&&!P.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const P of e)if(P.type===z.Roof&&P.foundationId===l.foundationId&&C!==P.rise&&!P.locked)return!0;break;default:if(C!==(l==null?void 0:l.rise))return!0;break}return!1}},A=C=>{if(l&&g(C))switch(M.getState().roofActionScope){case ue.AllSelectedObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&(P.set(T.id,T.rise),d(T.id,C));const v={name:"Set Rise for Selected Roofs",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisType:{const P=new Map;for(const T of e)T.type===z.Roof&&!T.locked&&(P.set(T.id,T.rise),d(T.id,C));const v={name:"Set Rise for All Roofs",timestamp:Date.now(),oldValues:P,newValue:C,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(l.foundationId){const P=new Map;for(const T of e)T.type===z.Roof&&T.foundationId===l.foundationId&&!T.locked&&(P.set(T.id,T.rise),d(T.id,C));const v={name:"Set Rise for All Roofs Above Foundation",timestamp:Date.now(),oldValues:P,newValue:C,groupId:l.foundationId,undo:()=>{f(v.oldValues)},redo:()=>{p(v.oldValues,v.newValue)}};n(v),r(i+1)}break;default:if(l){const P=a(l.id),v=(P==null?void 0:P.rise)??(l==null?void 0:l.rise)??0,T={name:"Set Roof Rise",timestamp:Date.now(),oldValue:v,newValue:C,changedElementId:l.id,changedElementType:l.type,undo:()=>{d(T.changedElementId,T.oldValue)},redo:()=>{d(T.changedElementId,T.newValue)}};n(T),d(l.id,C),r(i+1)}}},w=()=>{t(!1)},b=()=>{A(s)};return h.jsx(lo,{width:550,title:j.t("roofMenu.Rise",u),onApply:b,onClose:w,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:200,style:{width:120},step:.1,precision:2,value:s,formatter:C=>Number(C).toFixed(2),onChange:C=>c(C)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",u),": [0, 200] ",j.t("word.MeterAbbreviation",u)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",u)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:C=>M.getState().setRoofActionScope(C.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",u)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",u)})]})})})]})})},Xdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rValue)??Z4),[d,f]=m.useState(xe.toRValueInUS(c)),p=Kt(),g=(T,y)=>{l(S=>{for(const x of S.elements)if(x.id===T){x.rValue=y;break}})},A=T=>{for(const[y,S]of T.entries())g(y,S)},w=(T,y)=>{for(const S of T.keys())g(S,y)},b=T=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const y of e)if(y.type===z.Roof&&T!==y.rValue&&!y.locked&&M.getState().selectedElementIdSet.has(y.id))return!0;break;case ue.AllObjectsOfThisType:for(const y of e)if(y.type===z.Roof&&T!==y.rValue&&!y.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const y of e)if(y.type===z.Roof&&y.foundationId===s.foundationId&&T!==y.rValue&&!y.locked)return!0;break;default:if(T!==(s==null?void 0:s.rValue))return!0;break}return!1}},C=T=>{if(s&&b(T)){switch(o){case ue.AllSelectedObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Roof&&!x.locked&&M.getState().selectedElementIdSet.has(x.id)){const R=x;y.set(x.id,R.rValue??Z4),g(R.id,T)}const S={name:"Set R-Value for Selected Roofs",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisType:{const y=new Map;for(const x of e)if(x.type===z.Roof&&!x.locked){const R=x;y.set(x.id,R.rValue??Z4),g(R.id,T)}const S={name:"Set R-Value for All Roofs",timestamp:Date.now(),oldValues:y,newValue:T,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const y=new Map;for(const x of e)if(x.type===z.Roof&&x.foundationId===s.foundationId&&!x.locked){const R=x;y.set(x.id,R.rValue??Z4),g(R.id,T)}const S={name:"Set R-Value for All Roofs Above Foundation",timestamp:Date.now(),oldValues:y,newValue:T,groupId:s.foundationId,undo:()=>{A(S.oldValues)},redo:()=>{w(S.oldValues,S.newValue)}};n(S),r(i+1)}break;default:if(s){const S=a(s.id).rValue??s.rValue??Z4,x={name:"Set Roof R-Value",timestamp:Date.now(),oldValue:S,newValue:T,changedElementId:s.id,changedElementType:s.type,undo:()=>{g(x.changedElementId,x.oldValue)},redo:()=>{g(x.changedElementId,x.newValue)}};n(x),g(s.id,T),r(i+1)}}l(y=>{y.actionState.roofRValue=T})}},P=()=>{t(!1)},v=()=>{C(c)};return h.jsx(lo,{width:550,title:`${j.t("roofMenu.RoofRValue",p)+" "}(${j.t("word.ThermalResistance",p)})`,onApply:v,onClose:P,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(u(T),f(xe.toRValueInUS(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",p),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:d,formatter:T=>Number(T).toFixed(2),onChange:T=>{T!==null&&(f(T),u(xe.toRValueInSI(T)))}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",p),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:T=>M.getState().setRoofActionScope(T.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",p)})]})})})]})})},Jdo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(r3),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.volumetricHeatCapacity)??.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.volumetricHeatCapacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.volumetricHeatCapacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.volumetricHeatCapacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.volumetricHeatCapacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Roof&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Roof&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;l(y=>{for(const S of y.elements)if(S.type===z.Roof&&S.foundationId===s.foundationId&&!S.locked){const x=S;v.set(S.id,x.volumetricHeatCapacity??.5),x.volumetricHeatCapacity=P}});const T={name:"Set Volumetric Heat Capacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).volumetricHeatCapacity??s.volumetricHeatCapacity??.5,y={name:"Set Volumetric Heat Capacity of Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.roofVolumetricHeatCapacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("word.VolumetricHeatCapacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:["kWh/(m³·℃)",h.jsx("br",{}),h.jsx("br",{}),j.t("word.Range",d),": [0.01, 100]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},Kdo="/aladdin/assets/roof_edge-DBy_1Q5D.png",qdo="/aladdin/assets/roof_01-BwuyLpwq.png",$do="/aladdin/assets/roof_02-DAbYjnV7.png",Qdo="/aladdin/assets/roof_03-haZGIixv.png",Zdo="/aladdin/assets/roof_04-DDuwUcDr.png",efo="/aladdin/assets/roof_05-CtBb5xIW.png",tfo="/aladdin/assets/roof_06-DuyyebV8.png",nfo="/aladdin/assets/roof_07-DXWGQN8a.png",ofo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(dn),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.textureType)??Ui.Default),d=Kt(),{Option:f}=Yo,p=(v,T)=>{a(y=>{for(const S of y.elements)if(S.id===v){S.locked||(S.textureType=T);break}})},g=(v,T)=>{for(const y of v.keys())p(y,T)},A=v=>{for(const[T,y]of v.entries())p(T,y)},w=v=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const T of e)if(T.type===z.Roof&&v!==T.textureType&&!T.locked&&M.getState().selectedElementIdSet.has(T.id))return!0;break;case ue.AllObjectsOfThisType:for(const T of e)if(T.type===z.Roof&&v!==T.textureType&&!T.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const T of e)if(T.type===z.Roof&&T.foundationId===s.foundationId&&v!==T.textureType&&!T.locked)return!0;break;default:if(v!==(s==null?void 0:s.textureType))return!0;break}return!1}},b=v=>{if(s&&w(v)){switch(o){case ue.AllSelectedObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&M.getState().selectedElementIdSet.has(S.id)&&T.set(S.id,S.textureType??Ui.Default);const y={name:"Set Texture for Selected Roofs",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisType:{const T=new Map;for(const S of e)S.type===z.Roof&&!S.locked&&T.set(S.id,S.textureType??Ui.Default);const y={name:"Set Texture for All Roofs",timestamp:Date.now(),oldValues:T,newValue:v,undo:()=>{A(y.oldValues)},redo:()=>{g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const T=new Map;for(const S of e)S.type===z.Roof&&S.foundationId===s.foundationId&&!S.locked&&T.set(S.id,S.textureType);const y={name:"Set Texture for All Roofs Above Foundation",timestamp:Date.now(),oldValues:T,newValue:v,groupId:s.foundationId,undo:()=>{A(y.oldValues)},redo:()=>{y.groupId&&g(y.oldValues,y.newValue)}};n(y),g(T,v),r(i+1)}break;default:if(s){const T=l(s.id),y=T?T.textureType:s.textureType,S={name:"Set Texture of Selected Roof",timestamp:Date.now(),oldValue:y,newValue:v,changedElementId:s.id,changedElementType:s.type,undo:()=>{p(S.changedElementId,S.oldValue)},redo:()=>{p(S.changedElementId,S.newValue)}};n(S),p(s.id,v),r(i+1)}}a(T=>{T.actionState.roofTexture=v})}},C=()=>{t(!1)},P=()=>{b(c)};return h.jsx(lo,{width:550,title:j.t("word.Texture",d),onApply:P,onClose:C,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:9,children:h.jsxs(Yo,{style:{width:"150px"},value:c,onChange:v=>u(v),children:[h.jsxs(f,{value:Ui.NoTexture,children:[h.jsx("div",{style:{display:"inline-block",verticalAlign:"middle",marginRight:"12px",width:"32px",height:"20px",border:"1px dashed dimGray"},children:" "}),j.t("shared.NoTexture",d)]},Ui.NoTexture),h.jsxs(f,{value:Ui.Default,children:[h.jsx("img",{alt:Ui.Default,src:Kdo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.TextureDefault",d)]},Ui.Default),h.jsxs(f,{value:Ui.Texture01,children:[h.jsx("img",{alt:Ui.Texture01,src:qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture01",d)]},Ui.Texture01),h.jsxs(f,{value:Ui.Texture02,children:[h.jsx("img",{alt:Ui.Texture02,src:$do,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture02",d)]},Ui.Texture02),h.jsxs(f,{value:Ui.Texture03,children:[h.jsx("img",{alt:Ui.Texture03,src:Qdo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture03",d)]},Ui.Texture03),h.jsxs(f,{value:Ui.Texture04,children:[h.jsx("img",{alt:Ui.Texture04,src:Zdo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture04",d)]},Ui.Texture04),h.jsxs(f,{value:Ui.Texture05,children:[h.jsx("img",{alt:Ui.Texture05,src:efo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture05",d)]},Ui.Texture05),h.jsxs(f,{value:Ui.Texture06,children:[h.jsx("img",{alt:Ui.Texture06,src:tfo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture06",d)]},Ui.Texture06),h.jsxs(f,{value:Ui.Texture07,children:[h.jsx("img",{alt:Ui.Texture07,src:nfo,height:20,width:40,style:{paddingRight:"8px"}})," ",j.t("roofMenu.Texture07",d)]},Ui.Texture07)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:15,children:h.jsx(Be.Group,{onChange:v=>M.getState().setRoofActionScope(v.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},ifo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ny),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.color)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.color=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.color&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.color&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.color&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.color))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of n)y.type===z.Roof&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.color??"#ffffff");const T={name:"Set Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.color:s.color)??"#ffffff",y={name:"Set Color of Selected Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}e(v=>{v.actionState.roofColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("roofMenu.RoofColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},rfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(dn),o=M(En),i=M(ny),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.sideColor)??"#ffffff"),d=Kt(),f=(P,v)=>{n(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.sideColor=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.sideColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.sideColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.sideColor&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.sideColor))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.sideColor??"#ffffff");const T={name:"Set Side Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&v.set(y.id,y.sideColor??"#ffffff");const T={name:"Set Side Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)y.type===z.Roof&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.sideColor??"#ffffff");const T={name:"Set Side Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.sideColor:s.sideColor)??"#ffffff",y={name:"Set Side Color of Selected Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}n(v=>{v.actionState.roofSideColor=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("roofMenu.RoofSideColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c??(s==null?void 0:s.sideColor)??"#ffffff",onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},afo=({setDialogVisible:t})=>{const e=M(Sc),n=M(Z9),o=M(En),i=M(ny),r=M(hYe),a=M(ao),l=M(oo),s=M(ca),c=M(Vn),u=M(dn),d=M(L=>{if(n){for(const E of L.elements)if(E.id===n.id)return E}return null}),[f,p]=m.useState((d==null?void 0:d.ceilingRValue)??c6),[g,A]=m.useState(xe.toRValueInUS(f)),[w,b]=m.useState(!1),[C,P]=m.useState({left:0,top:0,bottom:0,right:0}),v=m.useRef(null),T={lng:e};m.useEffect(()=>{d&&p((d==null?void 0:d.ceilingRValue)??c6)},[d==null?void 0:d.ceilingRValue]);const y=(L,E)=>{u(U=>{for(const F of U.elements)if(F.id===L){F.ceilingRValue=E;break}})},S=L=>{for(const[E,U]of L.entries())y(E,U)},x=(L,E)=>{for(const U of L.keys())y(U,E)},R=L=>{if(d){switch(i){case ue.AllObjectsOfThisType:{const E=new Map;u(F=>{for(const B of F.elements)if(B.type===z.Roof&&!B.locked){const _=B;E.set(B.id,_.ceilingRValue??c6),_.ceilingRValue=L}});const U={name:"Set R-Value for All Ceilings",timestamp:Date.now(),oldValues:E,newValue:L,undo:()=>{S(U.oldValues)},redo:()=>{x(U.oldValues,U.newValue)}};o(U),l(a+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const E=new Map;u(F=>{for(const B of F.elements)if(B.type===z.Roof&&B.foundationId===d.foundationId&&!B.locked){const _=B;E.set(B.id,_.ceilingRValue??c6),_.ceilingRValue=L}});const U={name:"Set R-Value for All Ceilings Above Foundation",timestamp:Date.now(),oldValues:E,newValue:L,groupId:d.foundationId,undo:()=>{S(U.oldValues)},redo:()=>{x(U.oldValues,U.newValue)}};o(U),l(a+1)}break}default:{if(d){const U=c(d.id).ceilingRValue??d.ceilingRValue??c6,F={name:"Set Ceiling R-Value",timestamp:Date.now(),oldValue:U,newValue:L,changedElementId:d.id,changedElementType:d.type,undo:()=>{y(F.changedElementId,F.oldValue)},redo:()=>{y(F.changedElementId,F.newValue)}};o(F),y(d.id,L),l(a+1)}break}}u(E=>{E.actionState.roofRValue=L})}},H=(L,E)=>{if(v.current){const{clientWidth:U,clientHeight:F}=window.document.documentElement,B=v.current.getBoundingClientRect();P({left:-B.left+E.x,right:U-(B.right-E.x),top:-B.top+E.y,bottom:F-((B==null?void 0:B.bottom)-E.y)})}},D=()=>{p((d==null?void 0:d.ceilingRValue)??c6),t(!1)},k=()=>{D(),s()},W=()=>{R(f),t(!1),l(0)},N=()=>{R(f)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:550,open:!0,title:h.jsxs("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>b(!0),onMouseOut:()=>b(!1),children:[j.t("roofMenu.CeilingRValue",T)+" ","(",j.t("word.ThermalResistance",T),")"]}),footer:[h.jsx(no,{onClick:N,children:j.t("word.Apply",T)},"Apply"),h.jsx(no,{onClick:k,children:j.t("word.Cancel",T)},"Cancel"),h.jsx(no,{type:"primary",onClick:W,children:j.t("word.OK",T)},"OK")],onCancel:D,maskClosable:!1,destroyOnClose:!1,modalRender:L=>h.jsx(Vr,{disabled:!w,bounds:C,onStart:(E,U)=>H(E,U),children:h.jsx("div",{ref:v,children:L})}),children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:.01,max:100,style:{width:120},step:.05,precision:2,value:f,formatter:L=>Number(L).toFixed(2),onChange:L=>{L!==null&&(p(L),A(xe.toRValueInUS(L)))},onPressEnter:W}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [0.01, 100]",h.jsx("br",{}),j.t("word.SIUnit",T),": m²·℃/W"]}),h.jsx("br",{}),h.jsx(Hn,{min:xe.toRValueInUS(.01),max:xe.toRValueInUS(100),style:{width:120},step:.01,precision:2,value:g,formatter:L=>Number(L).toFixed(2),onChange:L=>{L!==null&&(A(L),p(xe.toRValueInSI(L)))},onPressEnter:W}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",T),": [",xe.toRValueInUS(.01).toFixed(3),", ",xe.toRValueInUS(100).toFixed(1),"]",h.jsx("br",{}),j.t("word.USUnit",T),": h·ft²·℉/Btu"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:L=>r(L.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisCeiling",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllCeilingsAboveFoundation",T)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllCeilings",T)})]})})})]})})})},lfo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-ceiling",label:h.jsx(Bdo,{roof:t})}),t.ceiling&&n.push({type:"divider"},{key:"ceiling-r-value",label:h.jsxs(io,{noPadding:!0,Dialog:afo,children:[j.t("roofMenu.CeilingRValue",e)," ..."]})}),n},sfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(En),i=M(ny),r=M(ao),a=M(oo),l=M(Vn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterColor)??"#ffffff"),d=Kt(),f=(P,v)=>{e(T=>{for(const y of T.elements)if(y.id===P){y.locked||(y.rafterColor=v);break}})},p=(P,v)=>{for(const T of P.keys())f(T,v)},g=P=>{for(const[v,T]of P.entries())f(v,T)},A=P=>{if(s){switch(i){case ue.AllSelectedObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.rafterColor&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of n)if(v.type===z.Roof&&P!==v.rafterColor&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of n)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.rafterColor&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.rafterColor))return!0;break}return!1}},w=P=>{if(s&&A(P))switch(i){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&v.set(y.id,y.rafterColor??"#ffffff");const T={name:"Set Rafter Color for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of n)y.type===z.Roof&&!y.locked&&v.set(y.id,y.rafterColor??"#ffffff");const T={name:"Set Rafter Color for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{g(T.oldValues)},redo:()=>{p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of n)y.type===z.Roof&&y.foundationId===s.foundationId&&!s.locked&&v.set(y.id,y.rafterColor??"#ffffff");const T={name:"Set Rafter Color for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{g(T.oldValues)},redo:()=>{T.groupId&&p(T.oldValues,T.newValue)}};o(T),p(v,P),a(r+1)}break;default:if(s){const v=l(s.id),T=(v?v.rafterColor:s.rafterColor)??"#ffffff",y={name:"Set Rafter Color of Selected Roof",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};o(y),f(s.id,P),a(r+1)}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:640,title:j.t("roofMenu.RoofColor",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:c,onChangeComplete:P=>{u(P.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},cfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterSpacing)??1),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.rafterSpacing=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterSpacing&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterSpacing&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.rafterSpacing&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.rafterSpacing))return!0;break}return!1}},w=P=>{if(s&&A(P))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&(v.set(y.id,y.rafterSpacing??1),f(y.id,P));const T={name:"Set Rafter Spacing for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&(v.set(y.id,y.rafterSpacing??1),f(y.id,P));const T={name:"Set Rafter Spacing for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked&&(v.set(y.id,y.rafterSpacing??1),f(y.id,P));const T={name:"Set Rafter Spacing for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).rafterSpacing??s.rafterSpacing??1,y={name:"Set Roof Rafter Spacing",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("roofMenu.RafterSpacing",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:100,style:{width:120},step:.1,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.1, 100] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},ufo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.rafterWidth)??.1),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.rafterWidth=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterWidth&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.rafterWidth&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.rafterWidth&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.rafterWidth))return!0;break}return!1}},w=P=>{if(s&&A(P))switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&M.getState().selectedElementIdSet.has(y.id)&&(v.set(y.id,y.rafterWidth??.1),f(y.id,P));const T={name:"Set Rafter Width for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)y.type===z.Roof&&!y.locked&&(v.set(y.id,y.rafterWidth??.1),f(y.id,P));const T={name:"Set Rafter Width for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked&&(v.set(y.id,y.rafterWidth??.1),f(y.id,P));const T={name:"Set Rafter Width for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const T=a(s.id).rafterWidth??s.rafterWidth??.1,y={name:"Set Roof Rafter Width",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("roofMenu.RafterWidth",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.01,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0.01, 1] ",j.t("word.MeterAbbreviation",d)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",d)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},dfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Z9),o=M(En),i=M(ny),r=M(hYe),a=M(ao),l=M(oo),s=M(ca),c=M(Vn),[u,d]=m.useState((n==null?void 0:n.glassTint)??"#73D8FF"),[f,p]=m.useState(!1),[g,A]=m.useState({left:0,top:0,bottom:0,right:0}),w=m.useRef(null),b=m.useRef(null);m.useEffect(()=>{var k;(k=b.current)==null||k.focus()});const C=Kt();m.useEffect(()=>{n&&d((n==null?void 0:n.glassTint)??"#73D8FF")},[n]);const P=(k,W)=>{e(N=>{for(const L of N.elements)if(L.id===k){L.locked||(L.glassTint=W);break}})},v=(k,W)=>{for(const N of k.keys())P(N,W)},T=k=>{for(const[W,N]of k.entries())P(W,N)},y=k=>{if(n)switch(i){case ue.AllObjectsOfThisType:{const W=new Map;for(const L of M.getState().elements)L.type===z.Roof&&!L.locked&&W.set(L.id,L.glassTint??"#73D8FF");const N={name:"Set Glass Tint for All Roofs",timestamp:Date.now(),oldValues:W,newValue:k,undo:()=>{T(N.oldValues)},redo:()=>{v(N.oldValues,N.newValue)}};o(N),v(W,k),l(a+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(n.foundationId){const W=new Map;for(const L of M.getState().elements)L.type===z.Roof&&L.foundationId===n.foundationId&&!n.locked&&W.set(L.id,L.glassTint??"#73D8FF");const N={name:"Set Glass Tint for All Roofs Above Foundation",timestamp:Date.now(),oldValues:W,newValue:k,groupId:n.foundationId,undo:()=>{T(N.oldValues)},redo:()=>{N.groupId&&v(N.oldValues,N.newValue)}};o(N),v(W,k),l(a+1)}break}default:{if(n){const W=c(n.id),N=(W?W.glassTint:n.glassTint)??"#73D8FF",L={name:"Set Glass Tint of Selected Roof",timestamp:Date.now(),oldValue:N,newValue:k,changedElementId:n.id,changedElementType:n.type,undo:()=>{P(L.changedElementId,L.oldValue)},redo:()=>{P(L.changedElementId,L.newValue)}};o(L),P(n.id,k),l(a+1)}break}}},S=(k,W)=>{if(w.current){const{clientWidth:N,clientHeight:L}=window.document.documentElement,E=w.current.getBoundingClientRect();A({left:-E.left+W.x,right:N-(E.right-W.x),top:-E.top+W.y,bottom:L-((E==null?void 0:E.bottom)-W.y)})}},x=()=>{n!=null&&n.glassTint&&d(n.glassTint),t(!1)},R=()=>{x(),s()},H=()=>{const k=c(n.id);k&&k.glassTint!==u&&y(u),t(!1),l(0)},D=()=>{y(u)};return h.jsx(h.Fragment,{children:h.jsx(_r,{width:640,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:j.t("roofMenu.GlassTint",C)}),footer:[h.jsx(no,{onClick:D,children:j.t("word.Apply",C)},"Apply"),h.jsx(no,{onClick:R,children:j.t("word.Cancel",C)},"Cancel"),h.jsx(no,{type:"primary",ref:b,onClick:H,children:j.t("word.OK",C)},"OK")],onCancel:x,maskClosable:!1,destroyOnClose:!1,modalRender:k=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(W,N)=>S(W,N),children:h.jsx("div",{ref:w,children:k})}),children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:11,children:h.jsx(Cf,{color:u??(n==null?void 0:n.glassTint)??"#73D8FF",onChangeComplete:k=>{d(k.hex)}})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:13,children:h.jsx(Be.Group,{onChange:k=>r(k.target.value),value:i,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",C)})]})})})]})})})},ffo=t=>{const e={lng:M.getState().language},n=[];return n.push({key:"roof-structure-radio-group",label:h.jsx(Ydo,{roof:t}),style:{backgroundColor:"white"}}),t.roofStructure===yc.Rafter&&n.push({type:"divider"},{key:"roof-rafter-spacing",label:h.jsxs(io,{noPadding:!0,Dialog:cfo,children:[j.t("roofMenu.RafterSpacing",e)," ..."]})},{key:"roof-rafter-width",label:h.jsxs(io,{noPadding:!0,Dialog:ufo,children:[j.t("roofMenu.RafterWidth",e)," ..."]})},{key:"roof-rafter-color",label:h.jsxs(io,{noPadding:!0,Dialog:sfo,children:[j.t("roofMenu.RafterColor",e)," ..."]})}),t.roofStructure===yc.Glass&&n.push({type:"divider"},{key:"roof-glass-tint-selection",label:h.jsxs(io,{noPadding:!0,Dialog:dfo,children:[j.t("roofMenu.GlassTint",e)," ..."]})}),n},hfo=({setDialogVisible:t})=>{const e=M(Jn),n=M(En),o=M(ny),i=M(ao),r=M(oo),a=M(Vn),l=M(dn),s=co(z.Roof),[c,u]=m.useState((s==null?void 0:s.opacity)!==void 0?s.opacity:.5),d=Kt(),f=(P,v)=>{l(T=>{for(const y of T.elements)if(y.id===P){y.opacity=v;break}})},p=P=>{for(const[v,T]of P.entries())f(v,T)},g=(P,v)=>{for(const T of P.keys())f(T,v)},A=P=>{if(s){switch(o){case ue.AllSelectedObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.opacity&&!v.locked&&M.getState().selectedElementIdSet.has(v.id))return!0;break;case ue.AllObjectsOfThisType:for(const v of e)if(v.type===z.Roof&&P!==v.opacity&&!v.locked)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const v of e)if(v.type===z.Roof&&v.foundationId===s.foundationId&&P!==v.opacity&&!v.locked)return!0;break;default:if(P!==(s==null?void 0:s.opacity))return!0;break}return!1}},w=P=>{if(s&&A(P)){switch(o){case ue.AllSelectedObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked){const S=y;v.set(y.id,S.opacity),f(S.id,P)}const T={name:"Set Opacity for Selected Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisType:{const v=new Map;for(const y of e)if(y.type===z.Roof&&!y.locked){const S=y;v.set(y.id,S.opacity),f(S.id,P)}const T={name:"Set Opacity for All Roofs",timestamp:Date.now(),oldValues:v,newValue:P,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:if(s.foundationId){const v=new Map;for(const y of e)if(y.type===z.Roof&&y.foundationId===s.foundationId&&!y.locked){const S=y;v.set(y.id,S.opacity),f(S.id,P)}const T={name:"Set Opacity for All Roofs Above Foundation",timestamp:Date.now(),oldValues:v,newValue:P,groupId:s.foundationId,undo:()=>{p(T.oldValues)},redo:()=>{g(T.oldValues,T.newValue)}};n(T),r(i+1)}break;default:if(s){const v=a(s.id),T=v.opacity!==void 0?v.opacity:s.opacity!==void 0?s.opacity:.5,y={name:"Set Roof Opacity",timestamp:Date.now(),oldValue:T,newValue:P,changedElementId:s.id,changedElementType:s.type,undo:()=>{f(y.changedElementId,y.oldValue)},redo:()=>{f(y.changedElementId,y.newValue)}};n(y),f(s.id,P),r(i+1)}}l(v=>{v.actionState.roofGlassOpacity=P})}},b=()=>{t(!1)},C=()=>{w(c)};return h.jsx(lo,{width:550,title:j.t("roofMenu.Opacity",d),onApply:C,onClose:b,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx(Hn,{min:0,max:1,style:{width:120},step:.01,precision:2,value:c,formatter:P=>Number(P).toFixed(2),onChange:P=>u(P)}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",d),": [0, 1]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:P=>M.getState().setRoofActionScope(P.target.value),value:o,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("roofMenu.OnlyThisRoof",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("roofMenu.AllRoofsAboveFoundation",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("roofMenu.AllSelectedRoofs",d)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("roofMenu.AllRoofs",d)})]})})})]})})},pfo=()=>{const t=M.getState().elementsToPaste;if(t&&t.length>0)switch(t[0].type){case z.Window:case z.SolarPanel:case z.Sensor:case z.Light:return!0}return!1},gfo=t=>{const e=[];if(t.type!==z.Roof)return{items:e};const n=t,o=!n.locked,i={lng:M.getState().language},r=M.getState().countAllOffspringsByTypeAtOnce,a=r(n.id,!0),l=r(n.id,!1),s=n.roofStructure!==yc.Rafter||n.opacity===void 0||n.opacity>0;return pfo()&&e.push({key:"roof-paste",label:h.jsx(OH,{})}),e.push({key:"roof-lock",label:h.jsx(Id,{selectedElement:n})}),n.rise>0&&e.push({key:"roof-ceiling-submenu",label:h.jsx(tn,{children:j.t("roofMenu.Ceiling",i)}),children:lfo(n)}),a.gotSome()&&e.push({key:"lock-unlock-clear-on-roof",label:h.jsx(tn,{children:j.t("word.Elements",i)}),children:_do(n,a,l)}),o&&(n.roofType===Vo.Gable&&(e.push({key:"roof-structure-submenu",label:h.jsx(tn,{children:j.t("roofMenu.RoofStructure",i)}),children:ffo(n)}),(n.roofStructure===yc.Rafter||n.roofStructure===yc.Glass)&&e.push({key:"opacity",label:h.jsxs(io,{Dialog:hfo,children:[j.t("roofMenu.Opacity",i)," ..."]})})),e.push({key:"roof-thickness",label:h.jsxs(io,{Dialog:Vdo,children:[j.t(n.roofStructure===yc.Rafter?"roofMenu.RafterThickness":"word.Thickness",i)," ","..."]})}),e.push({key:"roof-rise",label:h.jsxs(io,{Dialog:Gdo,children:[j.t("roofMenu.Rise",i)," ..."]})}),s&&(e.push({key:"roof-r-value",label:h.jsxs(io,{Dialog:Xdo,children:[j.t("roofMenu.RoofRValue",i)," ..."]})},{key:"roof-heat-capacity",label:h.jsxs(io,{Dialog:Jdo,children:[j.t("word.VolumetricHeatCapacity",i)," ..."]})},{key:"roof-texture",label:h.jsxs(io,{Dialog:ofo,children:[j.t("word.Texture",i)," ..."]})}),(n.textureType===Ui.NoTexture||n.textureType===Ui.Default)&&e.push({key:"roof-color",label:h.jsxs(io,{Dialog:ifo,children:[j.t("roofMenu.RoofColor",i)," ..."]})}),e.push({key:"roof-side-color",label:h.jsxs(io,{Dialog:rfo,children:[j.t("roofMenu.RoofSideColor",i)," ..."]})}))),{items:e}},mfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.relativeYawAngle)??0),p=Kt(),g=R=>{a(R.target.value)},A=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.relativeYawAngle??0)-R)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.relativeYawAngle??0)-R)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.relativeYawAngle)??0)-R)>Dt)return!0}return!1}},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.id===R&&!k.locked){const W=k;W.relativeYawAngle=H;break}})},b=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.foundationId===R&&!k.locked){const W=k;W.relativeYawAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const k=D;k.relativeYawAngle=R}})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked&&R.has(k.id)){const W=k;W.relativeYawAngle=H}})},v=R=>{if(u&&A(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.relativeYawAngle);const D={name:"Set Relative Yaw Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};i(D),P(H,R),s(l+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&H.set(k.id,k.relativeYawAngle);const D={name:"Set Relative Yaw Angle for All Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{C(D.newValue)}};i(D),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.WindTurbine&&k.foundationId===u.foundationId&&H.set(k.id,k.relativeYawAngle);const D={name:"Set Relative Yaw Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};i(D),b(u.foundationId,R),s(l+1)}break}default:{const H=o(u.id),D=H?H.relativeYawAngle:u.relativeYawAngle,k={name:"Set Wind Turbine Relative Yaw Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(k.changedElementId,k.oldValue)},redo:()=>{w(k.changedElementId,k.newValue)}};i(k),w(u.id,R),s(l+1);break}}e(H=>{H.actionState.windTurbineRelativeYawAngle=R})}},T=()=>{t(!1)},y=()=>{T(),c()},S=()=>{v(d),t(!1),s(0)},x=()=>{v(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RelativeYawAngle",p),onApply:x,onClose:T,onClickCancel:y,onClickOk:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(xe.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(xe.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [-180°, 180°]",h.jsx("br",{}),j.t("message.SouthFacingIsZero",p),h.jsx("br",{}),j.t("message.CounterclockwiseAzimuthIsPositive",p)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},yfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.numberOfBlades)??3),p=Kt(),{Option:g}=Yo,A=H=>{a(H.target.value)},w=H=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(u==null?void 0:u.foundationId)&&!D.locked&&Math.abs((D.numberOfBlades??0)-H)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.numberOfBlades??0)-H)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.numberOfBlades)??0)-H)>Dt)return!0}return!1}},b=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.id===H&&!W.locked){const N=W;N.numberOfBlades=D;break}})},C=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.foundationId===H&&!W.locked){const N=W;N.numberOfBlades=D}})},P=H=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked){const W=k;W.numberOfBlades=H}})},v=(H,D)=>{M.getState().set(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&!W.locked&&H.has(W.id)){const N=W;N.numberOfBlades=D}})},T=H=>{if(u&&w(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&D.set(W.id,W.numberOfBlades??3);const k={name:"Select Blade Number for Selected Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{v(k.oldValues,k.newValue)}};i(k),v(D,H),s(l+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&D.set(W.id,W.numberOfBlades??3);const k={name:"Select Blade Number for All Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{P(k.newValue)}};i(k),P(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const D=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===u.foundationId&&D.set(W.id,W.numberOfBlades??3);const k={name:"Select Blade Number for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:D,newValue:H,groupId:u.foundationId,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{k.groupId&&C(k.groupId,k.newValue)}};i(k),C(u.foundationId,H),s(l+1)}break}default:{const D=o(u.id),k=D?D.numberOfBlades??3:u.numberOfBlades??3,W={name:"Select Wind Turbine Blade Number",timestamp:Date.now(),oldValue:k,newValue:H,changedElementId:u.id,changedElementType:u.type,undo:()=>{b(W.changedElementId,W.oldValue)},redo:()=>{b(W.changedElementId,W.newValue)}};i(W),b(u.id,H),s(l+1);break}}e(D=>{D.actionState.windTurbineNumberOfBlades=H})}},y=()=>{t(!1)},S=()=>{y(),c()},x=()=>{T(d),t(!1),s(0)},R=()=>{T(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.BladeNumber",p),onApply:R,onClose:y,onClickCancel:S,onClickOk:x,children:h.jsxs(nn,{gutter:6,children:[h.jsx(it,{className:"gutter-row",span:4,children:h.jsxs(Yo,{style:{width:"60px"},value:d,onChange:H=>{H!==null&&f(H)},children:[h.jsx(g,{value:1,children:"1"},1),h.jsx(g,{value:2,children:"2"},2),h.jsx(g,{value:3,children:"3"},3),h.jsx(g,{value:4,children:"4"},4),h.jsx(g,{value:8,children:"8"},8)]})}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:20,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Afo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.initialRotorAngle)??0),p=Kt(),g=R=>{a(R.target.value)},A=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs((H.initialRotorAngle??0)-R)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs((H.initialRotorAngle??0)-R)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.initialRotorAngle)??0)-R)>Dt)return!0}return!1}},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.id===R&&!k.locked){const W=k;W.initialRotorAngle=H;break}})},b=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.foundationId===R&&!k.locked){const W=k;W.initialRotorAngle=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const k=D;k.initialRotorAngle=R}})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked&&R.has(k.id)){const W=k;W.initialRotorAngle=H}})},v=R=>{if(u&&A(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.initialRotorAngle);const D={name:"Set Rotor Initial Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};i(D),P(H,R),s(l+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&H.set(k.id,k.initialRotorAngle);const D={name:"Set Rotor Initial Angle for All Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{C(D.newValue)}};i(D),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.WindTurbine&&k.foundationId===u.foundationId&&H.set(k.id,k.initialRotorAngle);const D={name:"Set Rotor Initial Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};i(D),b(u.foundationId,R),s(l+1)}break}default:{const H=o(u.id),D=H?H.initialRotorAngle:u.initialRotorAngle,k={name:"Set Wind Turbine Rotor Initial Angle",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(k.changedElementId,k.oldValue)},redo:()=>{w(k.changedElementId,k.newValue)}};i(k),w(u.id,R),s(l+1);break}}e(H=>{H.actionState.windTurbineInitialRotorAngle=R})}},T=()=>{t(!1)},y=()=>{T(),c()},S=()=>{v(d),t(!1),s(0)},x=()=>{v(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RotorInitialAngle",p),onApply:x,onClose:T,onClickCancel:y,onClickOk:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:0,max:360,style:{width:120},precision:1,step:1,value:parseFloat(xe.toDegrees(d).toFixed(2)),formatter:R=>`${R}°`,onChange:R=>{R!==null&&f(xe.toRadians(R))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0°, 360°]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},wfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=xe.toRadians(10),d=co(z.WindTurbine),[f,p]=m.useState((d==null?void 0:d.pitchAngle)??u),g=Kt(),A=H=>{a(H.target.value)},w=H=>{if(d){switch(r){case ue.AllObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const D of n)if(D.type===z.WindTurbine&&D.foundationId===(d==null?void 0:d.foundationId)&&!D.locked&&Math.abs((D.pitchAngle??u)-H)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const D of n)if(D.type===z.WindTurbine&&!D.locked&&M.getState().selectedElementIdSet.has(D.id)&&Math.abs((D.pitchAngle??u)-H)>Dt)return!0;break;default:if(Math.abs(((d==null?void 0:d.pitchAngle)??u)-H)>Dt)return!0}return!1}},b=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.id===H&&!W.locked){const N=W;N.pitchAngle=D;break}})},C=(H,D)=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&W.foundationId===H&&!W.locked){const N=W;N.pitchAngle=D}})},P=H=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked){const W=k;W.pitchAngle=H}})},v=(H,D)=>{M.getState().set(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&!W.locked&&H.has(W.id)){const N=W;N.pitchAngle=D}})},T=H=>{if(d&&w(H)){switch(r){case ue.AllSelectedObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&D.set(W.id,W.pitchAngle);const k={name:"Set Pitch Angle for Selected Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{v(k.oldValues,k.newValue)}};i(k),v(D,H),s(l+1);break}case ue.AllObjectsOfThisType:{const D=new Map;for(const W of n)W.type===z.WindTurbine&&D.set(W.id,W.pitchAngle);const k={name:"Set Pitch Angle for All Wind Turbines",timestamp:Date.now(),oldValues:D,newValue:H,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{P(k.newValue)}};i(k),P(H),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(d.foundationId){const D=new Map;for(const W of n)W.type===z.WindTurbine&&W.foundationId===d.foundationId&&D.set(W.id,W.pitchAngle);const k={name:"Set Pitch Angle for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:D,newValue:H,groupId:d.foundationId,undo:()=>{for(const[W,N]of k.oldValues.entries())b(W,N)},redo:()=>{k.groupId&&C(k.groupId,k.newValue)}};i(k),C(d.foundationId,H),s(l+1)}break}default:{const D=o(d.id),k=D?D.pitchAngle:d.pitchAngle,W={name:"Set Wind Turbine Pitch Angle",timestamp:Date.now(),oldValue:k,newValue:H,changedElementId:d.id,changedElementType:d.type,undo:()=>{b(W.changedElementId,W.oldValue)},redo:()=>{b(W.changedElementId,W.newValue)}};i(W),b(d.id,H),s(l+1);break}}e(D=>{D.actionState.windTurbinePitchAngle=H})}},y=()=>{t(!1)},S=()=>{y(),c()},x=()=>{T(f),t(!1),s(0)},R=()=>{T(f)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RotorBladePitchAngle",g),onApply:R,onClose:y,onClickCancel:S,onClickOk:x,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:-180,max:180,style:{width:120},precision:2,step:1,value:parseFloat(xe.toDegrees(f).toFixed(2)),formatter:H=>`${H}°`,onChange:H=>{H!==null&&p(xe.toRadians(H))}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",g),": [-180°, 180°]"]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:A,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",g)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",g)})]})})})]})})},vfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRadius)??0),p=m.useRef(!1),g=m.useRef(),A=Kt(),w=k=>{a(k.target.value)},b=k=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.bladeRadius-k)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===(u==null?void 0:u.foundationId)&&!W.locked&&Math.abs(W.bladeRadius-k)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.bladeRadius-k)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.bladeRadius)-k)>Dt)return!0}return!1}},C=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.id===k&&!L.locked){const E=L;E.bladeRadius=W,E.lx=E.ly=W*2,E.lz=E.towerHeight+W;break}})},P=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.foundationId===k&&!L.locked){const E=L;E.bladeRadius=W,E.lx=E.ly=W*2,E.lz=E.towerHeight+W}})},v=k=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&!N.locked){const L=N;L.bladeRadius=k,L.lx=L.ly=k*2,L.lz=L.towerHeight+k}})},T=(k,W)=>{M.getState().set(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&!L.locked&&k.has(L.id)){const E=L;E.bladeRadius=W,E.lx=E.ly=W*2,E.lz=E.towerHeight+W}})},y=k=>{if(u&&b(k)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&W.towerHeight{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{T(N.oldValues,N.newValue)}};i(N),T(W,k),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.towerHeight{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{v(N.newValue)}};i(N),v(k),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===u.foundationId&&W.towerHeight{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{N.groupId&&P(N.groupId,N.newValue)}};i(N),P(u.foundationId,k),s(l+1)}}break}default:{const W=o(u.id),N=W?W.bladeRadius:u.bladeRadius;if(p.current=u.towerHeight{C(L.changedElementId,L.oldValue)},redo:()=>{C(L.changedElementId,L.newValue)}};i(L),C(u.id,k),s(l+1)}break}}e(W=>{W.actionState.windTurbineBladeRadius=k})}},S=()=>{p.current=!1,t(!1)},x=()=>{S(),c()},R=()=>{y(d),p.current||(t(!1),s(0))},H=()=>{y(d)},D=p.current?": "+j.t("message.NotApplicableToSelectedAction",A)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.RotorBladeRadius",A),rejectedMessage:D,onApply:H,onClose:S,onClickCancel:x,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:k=>{k!==null&&f(k)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [1, 100] ",j.t("word.MeterAbbreviation",A)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",A)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",A)})]})})})]})})},xfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.bladeRootRadius)??.3),[p,g]=m.useState((u==null?void 0:u.maximumChordLength)??1),[A,w]=m.useState((u==null?void 0:u.maximumChordRadius)??3),b=m.useRef(null),C=Kt(),P=555;m.useEffect(()=>{if(!b.current||!u)return;const q=b.current.getContext("2d");if(!q)return;const ae=b.current.width,ne=b.current.height,se=20,le=ne*.7;q.clearRect(0,0,ae,ne),q.setLineDash([]),q.strokeStyle="gray",q.lineWidth=1,q.rect(0,0,ae,ne),q.stroke();const te=(ae-se*2)/u.bladeRadius,he=te*u.bladeTipWidth,pe=te*A,fe=te*p,$=te*u.bladeRadius,de=te*d,Se=fe-de,Ce=$-pe/3,ve=[];ve.push(new Gt(se,le-de)),ve.push(new Gt(se+$-Ce,le-Se/2)),ve.push(new Gt(se+pe,le-Se)),ve.push(new Gt(se+$,le+de-he));const ze=new XK(ve).getPoints(50);q.beginPath(),q.moveTo(ze[0].x,ze[0].y);for(let ye=1;ye{a(q.target.value)},T=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.bladeRootRadius-q)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const ae of n)if(ae.type===z.WindTurbine&&ae.foundationId===(u==null?void 0:u.foundationId)&&!ae.locked&&Math.abs(ae.bladeRootRadius-q)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.bladeRootRadius-q)>Dt)return!0;break;default:if(Math.abs(((u==null?void 0:u.bladeRootRadius)??.3)-q)>Dt)return!0}return!1}},y=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.id===q&&!se.locked){const le=se;le.bladeRootRadius=ae;break}})},S=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.foundationId===q&&!se.locked){const le=se;le.bladeRootRadius=ae}})},x=q=>{e(ae=>{for(const ne of ae.elements)if(ne.type===z.WindTurbine&&!ne.locked){const se=ne;se.bladeRootRadius=q}})},R=(q,ae)=>{M.getState().set(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&!se.locked&&q.has(se.id)){const le=se;le.bladeRootRadius=ae}})},H=q=>{if(u&&T(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(se.id)&&ae.set(se.id,se.bladeRootRadius);const ne={name:"Set Root Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())y(se,le)},redo:()=>{R(ne.oldValues,ne.newValue)}};i(ne),R(ae,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&ae.set(se.id,se.bladeRootRadius);const ne={name:"Set Root Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())y(se,le)},redo:()=>{x(ne.newValue)}};i(ne),x(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const ae=new Map;for(const se of n)se.type===z.WindTurbine&&se.foundationId===u.foundationId&&ae.set(se.id,se.bladeRootRadius);const ne={name:"Set Root Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ae,newValue:q,groupId:u.foundationId,undo:()=>{for(const[se,le]of ne.oldValues.entries())y(se,le)},redo:()=>{ne.groupId&&S(ne.groupId,ne.newValue)}};i(ne),S(u.foundationId,q),s(l+1)}break}default:{const ae=o(u.id),ne=ae?ae.bladeRootRadius:u.bladeRootRadius,se={name:"Set Wind Turbine Root Radius",timestamp:Date.now(),oldValue:ne,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{y(se.changedElementId,se.oldValue)},redo:()=>{y(se.changedElementId,se.newValue)}};i(se),y(u.id,q),s(l+1);break}}e(ae=>{ae.actionState.windTurbineBladeRootRadius=q})}},D=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordLength-q)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const ae of n)if(ae.type===z.WindTurbine&&ae.foundationId===(u==null?void 0:u.foundationId)&&!ae.locked&&Math.abs(ae.maximumChordLength-q)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordLength-q)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordLength)-q)>Dt)return!0}return!1}},k=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.id===q&&!se.locked){const le=se;le.maximumChordLength=ae;break}})},W=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.foundationId===q&&!se.locked){const le=se;le.maximumChordLength=ae}})},N=q=>{e(ae=>{for(const ne of ae.elements)if(ne.type===z.WindTurbine&&!ne.locked){const se=ne;se.maximumChordLength=q}})},L=(q,ae)=>{M.getState().set(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&!se.locked&&q.has(se.id)){const le=se;le.maximumChordLength=ae}})},E=q=>{if(u&&D(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(se.id)&&ae.set(se.id,se.maximumChordLength);const ne={name:"Set Chord Length for Selected Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())k(se,le)},redo:()=>{L(ne.oldValues,ne.newValue)}};i(ne),L(ae,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&ae.set(se.id,se.maximumChordLength);const ne={name:"Set Chord Length for All Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())k(se,le)},redo:()=>{N(ne.newValue)}};i(ne),N(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const ae=new Map;for(const se of n)se.type===z.WindTurbine&&se.foundationId===u.foundationId&&ae.set(se.id,se.maximumChordLength);const ne={name:"Set Chord Length for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ae,newValue:q,groupId:u.foundationId,undo:()=>{for(const[se,le]of ne.oldValues.entries())k(se,le)},redo:()=>{ne.groupId&&W(ne.groupId,ne.newValue)}};i(ne),W(u.foundationId,q),s(l+1)}break}default:{const ae=o(u.id),ne=ae?ae.maximumChordLength:u.maximumChordLength,se={name:"Set Wind Turbine Chord Length",timestamp:Date.now(),oldValue:ne,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{k(se.changedElementId,se.oldValue)},redo:()=>{k(se.changedElementId,se.newValue)}};i(se),k(u.id,q),s(l+1);break}}e(ae=>{ae.actionState.windTurbineBladeMaximumChordLength=q})}},U=q=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordRadius-q)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const ae of n)if(ae.type===z.WindTurbine&&ae.foundationId===(u==null?void 0:u.foundationId)&&!ae.locked&&Math.abs(ae.maximumChordRadius-q)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const ae of n)if(ae.type===z.WindTurbine&&!ae.locked&&M.getState().selectedElementIdSet.has(ae.id)&&Math.abs(ae.maximumChordRadius-q)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.maximumChordRadius)-q)>Dt)return!0}return!1}},F=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.id===q&&!se.locked){const le=se;le.maximumChordRadius=ae;break}})},B=(q,ae)=>{e(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&se.foundationId===q&&!se.locked){const le=se;le.maximumChordRadius=ae}})},_=q=>{e(ae=>{for(const ne of ae.elements)if(ne.type===z.WindTurbine&&!ne.locked){const se=ne;se.maximumChordRadius=q}})},Y=(q,ae)=>{M.getState().set(ne=>{for(const se of ne.elements)if(se.type===z.WindTurbine&&!se.locked&&q.has(se.id)){const le=se;le.maximumChordRadius=ae}})},O=q=>{if(u&&U(q)){switch(r){case ue.AllSelectedObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(se.id)&&ae.set(se.id,se.maximumChordRadius);const ne={name:"Set Chord Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())F(se,le)},redo:()=>{Y(ne.oldValues,ne.newValue)}};i(ne),Y(ae,q),s(l+1);break}case ue.AllObjectsOfThisType:{const ae=new Map;for(const se of n)se.type===z.WindTurbine&&ae.set(se.id,se.maximumChordRadius);const ne={name:"Set Chord Radius for All Wind Turbines",timestamp:Date.now(),oldValues:ae,newValue:q,undo:()=>{for(const[se,le]of ne.oldValues.entries())F(se,le)},redo:()=>{_(ne.newValue)}};i(ne),_(q),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const ae=new Map;for(const se of n)se.type===z.WindTurbine&&se.foundationId===u.foundationId&&ae.set(se.id,se.maximumChordRadius);const ne={name:"Set Chord Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:ae,newValue:q,groupId:u.foundationId,undo:()=>{for(const[se,le]of ne.oldValues.entries())F(se,le)},redo:()=>{ne.groupId&&B(ne.groupId,ne.newValue)}};i(ne),B(u.foundationId,q),s(l+1)}break}default:{const ae=o(u.id),ne=ae?ae.maximumChordRadius:u.maximumChordRadius,se={name:"Set Wind Turbine Chord Radius",timestamp:Date.now(),oldValue:ne,newValue:q,changedElementId:u.id,changedElementType:u.type,undo:()=>{F(se.changedElementId,se.oldValue)},redo:()=>{F(se.changedElementId,se.newValue)}};i(se),F(u.id,q),s(l+1);break}}e(ae=>{ae.actionState.windTurbineBladeMaximumChordRadius=q})}},J=()=>{t(!1)},Z=()=>{J(),c()},ie=()=>{E(p),O(A),H(d),t(!1),s(0)},ee=()=>{E(p),O(A),H(d)};return h.jsxs(lo,{width:600,title:j.t("windTurbineMenu.RotorBladeDesign",C),onApply:ee,onClose:J,onClickCancel:Z,onClickOk:ie,children:[h.jsx(nn,{children:h.jsx(it,{span:24,children:h.jsx("canvas",{ref:b,id:"blade-design-canvas",width:P,height:P*.25,style:{paddingBottom:"12px"}})})}),h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(it,{style:{textAlign:"center",fontStyle:"italic"},children:"A: "}),h.jsx(it,{children:h.jsx(Hn,{min:.1,max:1,style:{width:"70px"},step:.01,precision:2,value:d,onChange:q=>{q&&f(q)}})}),h.jsxs(it,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.1, 1] ",j.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(it,{style:{textAlign:"center",fontStyle:"italic"},children:"C: "}),h.jsx(it,{children:h.jsx(Hn,{min:.5,max:2,style:{width:"70px"},step:.01,precision:2,value:p,onChange:q=>{q&&g(q)}})}),h.jsxs(it,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[0.5, 2] ",j.t("word.MeterAbbreviation",C)]})]}),h.jsxs(nn,{gutter:6,children:[h.jsx(it,{style:{textAlign:"center",fontStyle:"italic"},children:"D:"}),h.jsx(it,{children:h.jsx(Hn,{min:2,max:((u==null?void 0:u.bladeRadius)??10)/2,style:{width:70},step:.01,precision:2,value:A,onChange:q=>{q&&w(q)}})}),h.jsxs(it,{style:{paddingTop:"5px",textAlign:"left",fontSize:"11px"},children:["[2, ",((u==null?void 0:u.bladeRadius)??10)/2,"] ",j.t("word.MeterAbbreviation",C)]})]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:v,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",C)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",C)})]})})})]})]})},bfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.hubRadius)??0),[p,g]=m.useState((u==null?void 0:u.hubLength)??0),A=Kt(),w=D=>{a(D.target.value)},b=(D,k)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)){const N=W;if(Math.abs(N.hubRadius-D)>Dt||Math.abs(N.hubLength-k)>Dt)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===(u==null?void 0:u.foundationId)&&!W.locked){const N=W;if(Math.abs(N.hubRadius-D)>Dt||Math.abs(N.hubLength-k)>Dt)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)){const N=W;if(Math.abs(N.hubRadius-D)>Dt||Math.abs(N.hubLength-k)>Dt)return!0}break;default:if(Math.abs((u==null?void 0:u.hubRadius)-D)>Dt||Math.abs((u==null?void 0:u.hubLength)-k)>Dt)return!0}return!1}},C=(D,k)=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&N.id===D&&!N.locked){const L=N;L.hubRadius=k[0],L.hubLength=k[1];break}})},P=(D,k)=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&N.foundationId===D&&!N.locked){const L=N;L.hubRadius=k[0],L.hubLength=k[1]}})},v=D=>{e(k=>{for(const W of k.elements)if(W.type===z.WindTurbine&&!W.locked){const N=W;N.hubRadius=D[0],N.hubLength=D[1]}})},T=(D,k)=>{M.getState().set(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&!N.locked&&D.has(N.id)){const L=N;L.hubRadius=k[0],L.hubLength=k[1]}})},y=D=>{if(u&&b(D[0],D[1])){switch(r){case ue.AllSelectedObjectsOfThisType:{const k=new Map;for(const N of n)if(N.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(N.id)){const L=N;k.set(N.id,[L.hubRadius,L.hubLength])}const W={name:"Set Hub Parameters for Selected Wind Turbines",timestamp:Date.now(),oldValues:k,newValue:D,undo:()=>{for(const[N,L]of W.oldValues.entries())C(N,L)},redo:()=>{T(W.oldValues,W.newValue)}};i(W),T(k,D),s(l+1);break}case ue.AllObjectsOfThisType:{const k=new Map;for(const N of n)if(N.type===z.WindTurbine){const L=N;k.set(N.id,[L.hubRadius,L.hubLength])}const W={name:"Set Hub Parameters for All Wind Turbines",timestamp:Date.now(),oldValues:k,newValue:D,undo:()=>{for(const[N,L]of W.oldValues.entries())C(N,L)},redo:()=>{v(W.newValue)}};i(W),v(D),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const k=new Map;for(const N of n)if(N.type===z.WindTurbine&&N.foundationId===u.foundationId){const L=N;k.set(N.id,[L.hubRadius,L.hubLength])}const W={name:"Set Hub Parameters for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:k,newValue:D,groupId:u.foundationId,undo:()=>{for(const[N,L]of W.oldValues.entries())C(N,L)},redo:()=>{W.groupId&&P(W.groupId,W.newValue)}};i(W),P(u.foundationId,D),s(l+1)}break}default:{const k=o(u.id),W=k?k.hubRadius:u.hubRadius,N=k?k.hubLength:u.hubLength,L={name:"Set Wind Turbine Hub Parameters",timestamp:Date.now(),oldValue:[W,N],newValue:D,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(L.changedElementId,L.oldValue)},redo:()=>{C(L.changedElementId,L.newValue)}};i(L),C(u.id,D),s(l+1);break}}e(k=>{k.actionState.windTurbineHubRadius=D[0],k.actionState.windTurbineHubLength=D[1]})}},S=()=>{t(!1)},x=()=>{S(),c()},R=()=>{y([d,p]),t(!1),s(0)},H=()=>{y([d,p])};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.HubDesign",A),onApply:H,onClose:S,onClickCancel:x,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:7,children:[h.jsx("div",{style:{marginTop:"-20px",textAlign:"left",fontSize:"12px"},children:j.t("windTurbineMenu.HubRadius",A)}),h.jsx(Hn,{min:.5,max:5,style:{width:120},step:.01,precision:2,value:d,onChange:D=>{D!==null&&f(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [0.5, 5] ",j.t("word.MeterAbbreviation",A)]}),h.jsx("div",{style:{paddingTop:"10px",textAlign:"left",fontSize:"12px"},children:j.t("windTurbineMenu.HubLength",A)}),h.jsx(Hn,{min:1,max:10,style:{width:120},step:.01,precision:2,value:p,onChange:D=>{D!==null&&g(D)}}),h.jsxs("div",{style:{paddingTop:"4px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [1, 10] ",j.t("word.MeterAbbreviation",A)]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",A)})]})})})]})})},Sfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.birdSafe)??lc.None),[p,g]=m.useState((u==null?void 0:u.bladeColor)??X5),[A,w]=m.useState((u==null?void 0:u.stripeColor)??J5),b=Kt(),{Option:C}=Yo,P=N=>{a(N.target.value)},v=(N,L,E)=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const U of n)if(U.type===z.WindTurbine&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)){const F=U;if((F.birdSafe??lc.None)!==N||(F.bladeColor??X5)!==L||(F.stripeColor??J5)!==E)return!0}break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const U of n)if(U.type===z.WindTurbine&&U.foundationId===(u==null?void 0:u.foundationId)&&!U.locked){const F=U;if((F.birdSafe??lc.None)!==N||(F.bladeColor??X5)!==L||(F.stripeColor??J5)!==E)return!0}break;case ue.AllSelectedObjectsOfThisType:for(const U of n)if(U.type===z.WindTurbine&&!U.locked&&M.getState().selectedElementIdSet.has(U.id)){const F=U;if((F.birdSafe??lc.None)!==N||(F.bladeColor??X5)!==L||(F.stripeColor??J5)!==E)return!0}break;default:if((u.birdSafe??lc.None)!==N||(u.bladeColor??X5)!==L||(u.stripeColor??J5)!==E)return!0}return!1}},T=(N,L,E,U)=>{e(F=>{for(const B of F.elements)if(B.type===z.WindTurbine&&B.id===N&&!B.locked){const _=B;_.birdSafe=L,_.bladeColor=E,_.stripeColor=U;break}})},y=(N,L,E,U)=>{e(F=>{for(const B of F.elements)if(B.type===z.WindTurbine&&B.foundationId===N&&!B.locked){const _=B;_.birdSafe=L,_.bladeColor=E,_.stripeColor=U}})},S=(N,L,E)=>{e(U=>{for(const F of U.elements)if(F.type===z.WindTurbine&&!F.locked){const B=F;B.birdSafe=N,B.bladeColor=L,B.stripeColor=E}})},x=(N,L,E,U)=>{M.getState().set(F=>{for(const B of F.elements)if(B.type===z.WindTurbine&&!B.locked&&N.has(B.id)){const _=B;_.birdSafe=L,_.bladeColor=E,_.stripeColor=U}})},R=(N,L,E)=>{if(u&&v(N,L,E)){switch(r){case ue.AllSelectedObjectsOfThisType:{const U=new Map;for(const B of n)if(B.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(B.id)){const _=B;U.set(B.id,[(_.birdSafe??lc.None).toString(),_.bladeColor,_.stripeColor])}const F={name:"Select Bird-Safe Design for Selected Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:[N.toString(),L,E],undo:()=>{for(const[B,_]of F.oldValues.entries()){const Y=_;T(B,Number(Y[0]),Y[1],Y[2])}},redo:()=>{const B=F.newValue;x(F.oldValues,Number(B[0]),B[1],B[2])}};i(F),x(U,N,L,E),s(l+1);break}case ue.AllObjectsOfThisType:{const U=new Map;for(const B of n)if(B.type===z.WindTurbine){const _=B;U.set(B.id,[(_.birdSafe??lc.None).toString(),_.bladeColor,_.stripeColor])}const F={name:"Select Bird-Safe Design for All Wind Turbines",timestamp:Date.now(),oldValues:U,newValue:[N.toString(),L,E],undo:()=>{for(const[B,_]of F.oldValues.entries()){const Y=_;T(B,Number(Y[0]),Y[1],Y[2])}},redo:()=>{const B=F.newValue;S(Number(B[0]),B[1],B[2])}};i(F),S(N,L,E),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const U=new Map;for(const B of n)if(B.type===z.WindTurbine&&B.foundationId===u.foundationId){const _=B;U.set(B.id,[(_.birdSafe??lc.None).toString(),_.bladeColor,_.stripeColor])}const F={name:"Select Bird-Safe Design for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:U,newValue:[N.toString(),L,E],groupId:u.foundationId,undo:()=>{for(const[B,_]of F.oldValues.entries()){const Y=_;T(B,Number(Y[0]),Y[1],Y[2])}},redo:()=>{if(F.groupId){const B=F.newValue;y(F.groupId,Number(B[0]),B[1],B[2])}}};i(F),y(u.foundationId,N,L,E),s(l+1)}break}default:{const U=o(u.id),F=U?U.birdSafe??lc.None:u.birdSafe??lc.None,B=U?U.bladeColor??X5:u.bladeColor??X5,_=U?U.stripeColor??J5:u.stripeColor??J5,Y=[F.toString(),B,_],O={name:"Select Bird-Safe Design for Wind Turbine",timestamp:Date.now(),oldValue:Y,newValue:[N.toString(),L,E],changedElementId:u.id,changedElementType:u.type,undo:()=>{const J=O.oldValue;T(O.changedElementId,Number(J[0]),J[1],J[2])},redo:()=>{T(O.changedElementId,N,L,E)}};i(O),T(u.id,N,L,E),s(l+1);break}}e(U=>{U.actionState.windTurbineBirdSafeDesign=N,U.actionState.windTurbineBladeColor=L,U.actionState.windTurbineStripeColor=E})}},H=()=>{t(!1)},D=()=>{H(),c()},k=()=>{R(d,p,A),t(!1),s(0)},W=()=>{R(d,p,A)};return h.jsx(lo,{width:600,title:j.t("windTurbineMenu.BirdSafeDesign",b),onApply:W,onClose:H,onClickCancel:D,onClickOk:k,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:8,children:[h.jsxs("span",{children:[j.t("word.Pattern",b),": "]}),h.jsxs(Yo,{style:{width:"116px"},value:d,onChange:N=>{N!==null&&f(N)},children:[h.jsx(C,{value:lc.None,children:j.t("windTurbineMenu.BirdSafeNone",b)},lc.None),h.jsx(C,{value:lc.Bicolor,children:j.t("windTurbineMenu.BirdSafeBicolor",b)},lc.Bicolor),h.jsx(C,{value:lc.Striped,children:j.t("windTurbineMenu.BirdSafeStriped",b)},lc.Striped)]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[j.t("word.Color",b)," 1: "]}),h.jsx("input",{type:"color",value:p,onChange:N=>{g(N.target.value)}})]}),h.jsxs("div",{style:{marginTop:"10px"},children:[h.jsxs("span",{children:[j.t("word.Color",b)," 2: "]}),h.jsx("input",{type:"color",value:A,onChange:N=>{w(N.target.value)}})]})]}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:16,children:h.jsx(Be.Group,{onChange:P,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",b)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",b)})]})})})]})})},Tfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerHeight)??0),p=m.useRef(!1),g=m.useRef(),A=Kt(),w=k=>{a(k.target.value)},b=k=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.towerHeight-k)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===(u==null?void 0:u.foundationId)&&!W.locked&&Math.abs(W.towerHeight-k)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const W of n)if(W.type===z.WindTurbine&&!W.locked&&M.getState().selectedElementIdSet.has(W.id)&&Math.abs(W.towerHeight-k)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerHeight)-k)>Dt)return!0}return!1}},C=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.id===k&&!L.locked){const E=L;E.towerHeight=W,E.lz=W+E.bladeRadius;break}})},P=(k,W)=>{e(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&L.foundationId===k&&!L.locked){const E=L;E.towerHeight=W,E.lz=W+E.bladeRadius}})},v=k=>{e(W=>{for(const N of W.elements)if(N.type===z.WindTurbine&&!N.locked){const L=N;L.towerHeight=k,L.lz=k+L.bladeRadius}})},T=(k,W)=>{M.getState().set(N=>{for(const L of N.elements)if(L.type===z.WindTurbine&&!L.locked&&k.has(L.id)){const E=L;E.towerHeight=W,E.lz=W+E.bladeRadius}})},y=k=>{if(u&&b(k)){switch(g.current=void 0,r){case ue.AllSelectedObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(W.id)&&W.bladeRadius>k){p.current=!0;break}if(p.current)g.current=k,f(u.towerHeight);else{const W=new Map;for(const L of n)L.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(L.id)&&W.set(L.id,L.towerHeight);const N={name:"Set Tower Height for Selected Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:k,undo:()=>{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{T(N.oldValues,N.newValue)}};i(N),T(W,k),s(l+1)}break}case ue.AllObjectsOfThisType:{p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.bladeRadius>k){p.current=!0;break}if(p.current)g.current=k,f(u.towerHeight);else{const W=new Map;for(const L of n)L.type===z.WindTurbine&&W.set(L.id,L.towerHeight);const N={name:"Set Tower Height for All Wind Turbines",timestamp:Date.now(),oldValues:W,newValue:k,undo:()=>{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{v(N.newValue)}};i(N),v(k),s(l+1)}break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){p.current=!1;for(const W of n)if(W.type===z.WindTurbine&&W.foundationId===u.foundationId&&W.bladeRadius>k){p.current=!0;break}if(p.current)g.current=k,f(u.towerHeight);else{const W=new Map;for(const L of n)L.type===z.WindTurbine&&L.foundationId===u.foundationId&&W.set(L.id,L.towerHeight);const N={name:"Set Tower Height for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:W,newValue:k,groupId:u.foundationId,undo:()=>{for(const[L,E]of N.oldValues.entries())C(L,E)},redo:()=>{N.groupId&&P(N.groupId,N.newValue)}};i(N),P(u.foundationId,k),s(l+1)}}break}default:{const W=o(u.id),N=W?W.towerHeight:u.towerHeight;if(p.current=u.bladeRadius>k,p.current)g.current=k,f(N);else{const L={name:"Set Wind Turbine Tower Height",timestamp:Date.now(),oldValue:N,newValue:k,changedElementId:u.id,changedElementType:u.type,undo:()=>{C(L.changedElementId,L.oldValue)},redo:()=>{C(L.changedElementId,L.newValue)}};i(L),C(u.id,k),s(l+1)}break}}e(W=>{W.actionState.windTurbineTowerHeight=k})}},S=()=>{p.current=!1,t(!1)},x=()=>{S(),c()},R=()=>{y(d),p.current||(t(!1),s(0))},H=()=>{y(d)},D=p.current?": "+j.t("message.NotApplicableToSelectedAction",A)+(g.current!==void 0?" ("+g.current.toFixed(2)+")":""):null;return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.TowerHeight",A),rejectedMessage:D,onApply:H,onClose:S,onClickCancel:x,onClickOk:R,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:1,max:100,style:{width:120},step:.1,precision:1,value:d,onChange:k=>{k!==null&&f(k)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",A),": [1, 100] ",j.t("word.MeterAbbreviation",A)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",A)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:w,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",A)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",A)})]})})})]})})},Pfo=({setDialogVisible:t})=>{const e=M(dn),n=M(Jn),o=M(Vn),i=M(En),r=M(n3),a=M(o3),l=M(ao),s=M(oo),c=M(ca),u=co(z.WindTurbine),[d,f]=m.useState((u==null?void 0:u.towerRadius)??0),p=Kt(),g=R=>{a(R.target.value)},A=R=>{if(u){switch(r){case ue.AllObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>Dt)return!0;break;case ue.AllObjectsOfThisTypeAboveFoundation:for(const H of n)if(H.type===z.WindTurbine&&H.foundationId===(u==null?void 0:u.foundationId)&&!H.locked&&Math.abs(H.towerRadius-R)>Dt)return!0;break;case ue.AllSelectedObjectsOfThisType:for(const H of n)if(H.type===z.WindTurbine&&!H.locked&&M.getState().selectedElementIdSet.has(H.id)&&Math.abs(H.towerRadius-R)>Dt)return!0;break;default:if(Math.abs((u==null?void 0:u.towerRadius)-R)>Dt)return!0}return!1}},w=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.id===R&&!k.locked){const W=k;W.towerRadius=H;break}})},b=(R,H)=>{e(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&k.foundationId===R&&!k.locked){const W=k;W.towerRadius=H}})},C=R=>{e(H=>{for(const D of H.elements)if(D.type===z.WindTurbine&&!D.locked){const k=D;k.towerRadius=R}})},P=(R,H)=>{M.getState().set(D=>{for(const k of D.elements)if(k.type===z.WindTurbine&&!k.locked&&R.has(k.id)){const W=k;W.towerRadius=H}})},v=R=>{if(u&&A(R)){switch(r){case ue.AllSelectedObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&M.getState().selectedElementIdSet.has(k.id)&&H.set(k.id,k.towerRadius);const D={name:"Set Tower Radius for Selected Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{P(D.oldValues,D.newValue)}};i(D),P(H,R),s(l+1);break}case ue.AllObjectsOfThisType:{const H=new Map;for(const k of n)k.type===z.WindTurbine&&H.set(k.id,k.towerRadius);const D={name:"Set Tower Radius for All Wind Turbines",timestamp:Date.now(),oldValues:H,newValue:R,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{C(D.newValue)}};i(D),C(R),s(l+1);break}case ue.AllObjectsOfThisTypeAboveFoundation:{if(u.foundationId){const H=new Map;for(const k of n)k.type===z.WindTurbine&&k.foundationId===u.foundationId&&H.set(k.id,k.towerRadius);const D={name:"Set Tower Radius for All Wind Turbines Above Foundation",timestamp:Date.now(),oldValues:H,newValue:R,groupId:u.foundationId,undo:()=>{for(const[k,W]of D.oldValues.entries())w(k,W)},redo:()=>{D.groupId&&b(D.groupId,D.newValue)}};i(D),b(u.foundationId,R),s(l+1)}break}default:{const H=o(u.id),D=H?H.towerRadius:u.towerRadius,k={name:"Set Wind Turbine Tower Radius",timestamp:Date.now(),oldValue:D,newValue:R,changedElementId:u.id,changedElementType:u.type,undo:()=>{w(k.changedElementId,k.oldValue)},redo:()=>{w(k.changedElementId,k.newValue)}};i(k),w(u.id,R),s(l+1);break}}e(H=>{H.actionState.windTurbineTowerRadius=R})}},T=()=>{t(!1)},y=()=>{T(),c()},S=()=>{v(d),t(!1),s(0)},x=()=>{v(d)};return h.jsx(lo,{width:550,title:j.t("windTurbineMenu.TowerRadius",p),onApply:x,onClose:T,onClickCancel:y,onClickOk:S,children:h.jsxs(nn,{gutter:6,children:[h.jsxs(it,{className:"gutter-row",span:6,children:[h.jsx(Hn,{min:.1,max:2,style:{width:120},step:.01,precision:2,value:d,onChange:R=>{R!==null&&f(R)}}),h.jsxs("div",{style:{paddingTop:"20px",textAlign:"left",fontSize:"11px"},children:[j.t("word.Range",p),": [0.1, 2] ",j.t("word.MeterAbbreviation",p)]})]}),h.jsx(it,{className:"gutter-row",span:1,style:{verticalAlign:"middle",paddingTop:"6px"},children:j.t("word.MeterAbbreviation",p)}),h.jsx(it,{className:"gutter-row",style:{border:"2px dashed #ccc",paddingTop:"8px",paddingLeft:"12px",paddingBottom:"8px"},span:17,children:h.jsx(Be.Group,{onChange:g,value:r,children:h.jsxs(en,{direction:"vertical",children:[h.jsx(Be,{style:{width:"100%"},value:ue.OnlyThisObject,children:j.t("windTurbineMenu.OnlyThisWindTurbine",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisTypeAboveFoundation,children:j.t("windTurbineMenu.AllWindTurbinesAboveFoundation",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllSelectedObjectsOfThisType,children:j.t("windTurbineMenu.AllSelectedWindTurbines",p)}),h.jsx(Be,{style:{width:"100%"},value:ue.AllObjectsOfThisType,children:j.t("windTurbineMenu.AllWindTurbines",p)})]})})})]})})},Cfo=t=>{const e=[];if(t.type!==z.WindTurbine)return{items:e};const n=t,o={lng:M.getState().language},i=!n.locked;return e.push({key:"wind-turbine-copy",label:h.jsx(Sf,{})}),i&&e.push({key:"wind-turbine-cut",label:h.jsx(Tf,{})}),e.push({key:"wind-turbine-lock",label:h.jsx(Id,{selectedElement:n})}),i&&e.push({key:"wind-turbine-relative-yaw-angle",label:h.jsxs(io,{Dialog:mfo,children:[j.t("windTurbineMenu.RelativeYawAngle",o)," ..."]})},{key:"wind-turbine-rotor-submenu",label:h.jsx(tn,{children:j.t("windTurbineMenu.Rotor",o)}),children:[{key:"wind-turbine-rotor-blade-number",label:h.jsxs(io,{noPadding:!0,Dialog:yfo,children:[j.t("windTurbineMenu.BladeNumber",o)," ..."]})},{key:"wind-turbine-rotor-initial-angle",label:h.jsxs(io,{noPadding:!0,Dialog:Afo,children:[j.t("windTurbineMenu.RotorInitialAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-pitch-angle",label:h.jsxs(io,{noPadding:!0,Dialog:wfo,children:[j.t("windTurbineMenu.RotorBladePitchAngle",o)," ..."]})},{key:"wind-turbine-rotor-blade-radius",label:h.jsxs(io,{noPadding:!0,Dialog:vfo,children:[j.t("windTurbineMenu.RotorBladeRadius",o)," ..."]})},{key:"wind-turbine-rotor-blade-design",label:h.jsxs(io,{noPadding:!0,Dialog:xfo,children:[j.t("windTurbineMenu.RotorBladeDesign",o)," ..."]})},{key:"wind-turbine-hub-design",label:h.jsxs(io,{noPadding:!0,Dialog:bfo,children:[j.t("windTurbineMenu.HubDesign",o)," ..."]})},{key:"wind-turbine-bird-safe-blade",label:h.jsxs(io,{noPadding:!0,Dialog:Sfo,children:[j.t("windTurbineMenu.BirdSafeDesign",o)," ..."]})}]},{key:"wind-turbine-tower-submenu",label:h.jsx(tn,{children:j.t("windTurbineMenu.Tower",o)}),children:[{key:"wind-turbine-tower-height",label:h.jsxs(io,{noPadding:!0,Dialog:Tfo,children:[j.t("windTurbineMenu.TowerHeight",o)," ..."]})},{key:"wind-turbine-tower-radius",label:h.jsxs(io,{noPadding:!0,Dialog:Pfo,children:[j.t("windTurbineMenu.TowerRadius",o)," ..."]})}]},{key:"wind-turbine-label",label:h.jsx(tn,{children:j.t("labelSubMenu.Label",o)}),children:vA(n)}),{items:e}},Rfo=()=>{const t=M(Kwt),e=co(),n=m.useRef(t),o=m.useRef(e);return t!==null?(n.current=t,o.current=e):setTimeout(()=>{n.current=t,o.current=t===null?void 0:e},200),[n.current,o.current]},Hfo=({children:t})=>{ht(i=>i.contextMenuFlag);const[e,n]=Rfo(),o=()=>{if(!n)return e===z.Ground?Lco():e===z.Sky?Y0o():{items:[]};switch(e){case z.Foundation:return nco(n);case z.Cuboid:return Pco(n);case z.Wall:return udo(n);case z.Roof:return gfo(n);case z.SolarPanel:return nuo(n);case z.Window:return Udo(n);case z.Door:return bdo(n);case z.Sensor:return C0o(n);case z.Light:return z0o(n);case z.Human:return Xco(n);case z.Tree:return Yuo(n);case z.Flower:return Kco(n);case z.ParabolicTrough:return fuo(n);case z.ParabolicDish:return buo(n);case z.FresnelReflector:return zuo(n);case z.Heliostat:return Buo(n);case z.Polygon:return w0o(n);case z.PolygonVertex:return S0o(n);case z.WindTurbine:return Cfo(n);default:return{items:[]}}};return h.jsx(W7,{trigger:["contextMenu"],menu:o(),overlayClassName:"my-overlay",children:t})},Mfo=be.memo(Hfo);(function(){var t,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(I,V,ce){I!=Array.prototype&&I!=Object.prototype&&(I[V]=ce.value)};function n(I){I=[typeof window=="object"&&window,typeof self=="object"&&self,typeof global=="object"&&global,I];for(var V=0;V>>0),P=0;function v(I,V,ce){return I.call.apply(I.bind,arguments)}function T(I,V,ce){if(!I)throw Error();if(2I.b&&(I.b++,V.next=I.a,I.a=V)}function J(){this.b=this.a=null}var Z=new Y(function(){return new ee},function(I){I.reset()});J.prototype.add=function(I,V){var ce=Z.get();ce.set(I,V),this.b?this.b.next=ce:this.a=ce,this.b=ce};function ie(){var I=go,V=null;return I.a&&(V=I.a,I.a=I.a.next,I.a||(I.b=null),V.next=null),V}function ee(){this.next=this.b=this.a=null}ee.prototype.set=function(I,V){this.a=I,this.b=V,this.next=null},ee.prototype.reset=function(){this.next=this.b=this.a=null};var q=Array.prototype.indexOf?function(I,V){return Array.prototype.indexOf.call(I,V,void 0)}:function(I,V){if(typeof I=="string")return typeof V!="string"||V.length!=1?-1:I.indexOf(V,0);for(var ce=0;ceV?null:typeof I=="string"?I.charAt(V):I[V]}function pe(I,V){return 0<=q(I,V)}function fe(I,V){V=q(I,V);var ce;return(ce=0<=V)&&Array.prototype.splice.call(I,V,1),ce}function $(I,V){var ce=0;ne(I,function(Re,Xe){V.call(void 0,Re,Xe,I)&&Array.prototype.splice.call(I,Xe,1).length==1&&ce++})}function de(I){return Array.prototype.concat.apply([],arguments)}function Se(I){var V=I.length;if(0/g,ye=/"/g,oe=/'/g,ge=/\x00/g,Ae=/[\x00&<>"']/;function me(I,V){return I.indexOf(V)!=-1}function Pe(I,V){return IV?1:0}var Me;e:{var Te=s.navigator;if(Te){var De=Te.userAgent;if(De){Me=De;break e}}Me=""}function Ne(I){return me(Me,I)}function Ye(I,V){for(var ce in I)V.call(void 0,I[ce],ce,I)}function Le(I){for(var V in I)return!1;return!0}function $e(I){var V={},ce;for(ce in I)V[ce]=I[ce];return V}var We="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Ee(I,V){for(var ce,Re,Xe=1;Xe"}else vt=I===void 0?"undefined":I===null?"null":typeof I;_("Argument is not a %s (or a non-Element, non-Location mock); got: %s",V,vt)}}function Ge(I,V){this.a=I===xt&&V||"",this.b=_e}Ge.prototype.ta=!0,Ge.prototype.sa=function(){return this.a},Ge.prototype.toString=function(){return"Const{"+this.a+"}"};function rt(I){return I instanceof Ge&&I.constructor===Ge&&I.b===_e?I.a:(_("expected object of type Const, got '"+I+"'"),"type_error:Const")}var _e={},xt={},dt;function Qe(){if(dt===void 0){var I=null,V=s.trustedTypes;if(V&&V.createPolicy){try{I=V.createPolicy("goog#html",{createHTML:R,createScript:R,createScriptURL:R})}catch(ce){s.console&&s.console.error(ce.message)}dt=I}else dt=I}return dt}function ct(I,V){this.a=V===Oe?I:""}ct.prototype.ta=!0,ct.prototype.sa=function(){return this.a.toString()},ct.prototype.toString=function(){return"TrustedResourceUrl{"+this.a+"}"};function ft(I){return I instanceof ct&&I.constructor===ct?I.a:(_("expected object of type TrustedResourceUrl, got '"+I+"' of type "+p(I)),"type_error:TrustedResourceUrl")}function at(I,V){var ce=rt(I);if(!et.test(ce))throw Error("Invalid TrustedResourceUrl format: "+ce);return I=ce.replace(ot,function(Re,Xe){if(!Object.prototype.hasOwnProperty.call(V,Xe))throw Error('Found marker, "'+Xe+'", in format string, "'+ce+'", but no valid label mapping found in args: '+JSON.stringify(V));return Re=V[Xe],Re instanceof Ge?rt(Re):encodeURIComponent(String(Re))}),nt(I)}var ot=/%{(\w+)}/g,et=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,Oe={};function nt(I){var V=Qe();return I=V?V.createScriptURL(I):I,new ct(I,Oe)}function mt(I,V){this.a=V===qe?I:""}mt.prototype.ta=!0,mt.prototype.sa=function(){return this.a.toString()},mt.prototype.toString=function(){return"SafeUrl{"+this.a+"}"};function Tt(I){return I instanceof mt&&I.constructor===mt?I.a:(_("expected object of type SafeUrl, got '"+I+"' of type "+p(I)),"type_error:SafeUrl")}var Rt=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,Wt=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,Ct=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function wt(I){if(I instanceof mt)return I;if(I=typeof I=="object"&&I.ta?I.sa():String(I),Ct.test(I))I=new mt(I,qe);else{I=String(I),I=I.replace(/(%0A|%0D)/g,"");var V=I.match(Wt);I=V&&Rt.test(V[1])?new mt(I,qe):null}return I}function kt(I){return I instanceof mt?I:(I=typeof I=="object"&&I.ta?I.sa():String(I),Ct.test(I)||(I="about:invalid#zClosurez"),new mt(I,qe))}var qe={},Je=new mt("about:invalid#zClosurez",qe);function st(I,V,ce){this.a=ce===Ue?I:""}st.prototype.ta=!0,st.prototype.sa=function(){return this.a.toString()},st.prototype.toString=function(){return"SafeHtml{"+this.a+"}"};function Pt(I){return I instanceof st&&I.constructor===st?I.a:(_("expected object of type SafeHtml, got '"+I+"' of type "+p(I)),"type_error:SafeHtml")}var Ue={};function lt(I,V){Fe(I,"HTMLScriptElement"),I.src=ft(V),(V=I.ownerDocument&&I.ownerDocument.defaultView)&&V!=s?V=d(V.document):(u===null&&(u=d(s.document)),V=u),V&&I.setAttribute("nonce",V)}function Ve(I,V,ce,Re){return I=I instanceof mt?I:kt(I),V=V||s,ce=ce instanceof Ge?rt(ce):ce||"",V.open(Tt(I),ce,Re,void 0)}function ut(I,V){for(var ce=I.split("%s"),Re="",Xe=Array.prototype.slice.call(arguments,1);Xe.length&&1")!=-1&&(I=I.replace(ze,">")),I.indexOf('"')!=-1&&(I=I.replace(ye,""")),I.indexOf("'")!=-1&&(I=I.replace(oe,"'")),I.indexOf("\0")!=-1&&(I=I.replace(ge,"�"))),I}function yt(I){return yt[" "](I),I}yt[" "]=f;function Ht(I,V){var ce=Ai;return Object.prototype.hasOwnProperty.call(ce,I)?ce[I]:ce[I]=V(I)}var At=Ne("Opera"),It=Ne("Trident")||Ne("MSIE"),zt=Ne("Edge"),Ft=zt||It,ln=Ne("Gecko")&&!(me(Me.toLowerCase(),"webkit")&&!Ne("Edge"))&&!(Ne("Trident")||Ne("MSIE"))&&!Ne("Edge"),Xt=me(Me.toLowerCase(),"webkit")&&!Ne("Edge");function fn(){var I=s.document;return I?I.documentMode:void 0}var rn;e:{var bn="",Tn=function(){var I=Me;if(ln)return/rv:([^\);]+)(\)|;)/.exec(I);if(zt)return/Edge\/([\d\.]+)/.exec(I);if(It)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(I);if(Xt)return/WebKit\/(\S+)/.exec(I);if(At)return/(?:Version)[ \/]?(\S+)/.exec(I)}();if(Tn&&(bn=Tn?Tn[1]:""),It){var Un=fn();if(Un!=null&&Un>parseFloat(bn)){rn=String(Un);break e}}rn=bn}var Ai={};function vo(I){return Ht(I,function(){for(var V=0,ce=Ce(String(rn)).split("."),Re=Ce(String(I)).split("."),Xe=Math.max(ce.length,Re.length),vt=0;V==0&&vt"),vt=vt.join("")}return vt=yn(Xe,vt),Et&&(typeof Et=="string"?vt.className=Et:Array.isArray(Et)?vt.className=Et.join(" "):qo(vt,Et)),2"u"&&typeof window<"u"&&window.postMessage&&window.addEventListener&&!Ne("Presto")&&(I=function(){var Xe=yn(document,"IFRAME");Xe.style.display="none",document.documentElement.appendChild(Xe);var vt=Xe.contentWindow;Xe=vt.document,Xe.open(),Xe.close();var Et="callImmediate"+Math.random(),sn=vt.location.protocol=="file:"?"*":vt.location.protocol+"//"+vt.location.host;Xe=y(function(Zn){(sn=="*"||Zn.origin==sn)&&Zn.data==Et&&this.port1.onmessage()},this),vt.addEventListener("message",Xe,!1),this.port1={},this.port2={postMessage:function(){vt.postMessage(Et,sn)}}}),typeof I<"u"&&!Ne("Trident")&&!Ne("MSIE")){var V=new I,ce={},Re=ce;return V.port1.onmessage=function(){if(ce.next!==void 0){ce=ce.next;var Xe=ce.Hb;ce.Hb=null,Xe()}},function(Xe){Re.next={Hb:Xe},Re=Re.next,V.port2.postMessage(0)}}return function(Xe){s.setTimeout(Xe,0)}}function Lo(I,V){bo||Ro(),oi||(bo(),oi=!0),go.add(I,V)}var bo;function Ro(){if(s.Promise&&s.Promise.resolve){var I=s.Promise.resolve(void 0);bo=function(){I.then(So)}}else bo=function(){var V=So;!A(s.setImmediate)||s.Window&&s.Window.prototype&&!Ne("Edge")&&s.Window.prototype.setImmediate==s.setImmediate?(Eo||(Eo=ni()),Eo(V)):s.setImmediate(V)}}var oi=!1,go=new J;function So(){for(var I;I=ie();){try{I.a.call(I.b)}catch(V){to(V)}O(Z,I)}oi=!1}function Uo(I,V){if(this.a=_i,this.i=void 0,this.f=this.b=this.c=null,this.g=this.h=!1,I!=f)try{var ce=this;I.call(V,function(Re){Pc(ce,Qo,Re)},function(Re){if(!(Re instanceof mu))try{throw Re instanceof Error?Re:Error("Promise rejected.")}catch{}Pc(ce,ar,Re)})}catch(Re){Pc(this,ar,Re)}}var _i=0,Qo=2,ar=3;function ur(){this.next=this.f=this.b=this.g=this.a=null,this.c=!1}ur.prototype.reset=function(){this.f=this.b=this.g=this.a=null,this.c=!1};var $o=new Y(function(){return new ur},function(I){I.reset()});function ba(I,V,ce){var Re=$o.get();return Re.g=I,Re.b=V,Re.f=ce,Re}function Mo(I){if(I instanceof Uo)return I;var V=new Uo(f);return Pc(V,Qo,I),V}function $i(I){return new Uo(function(V,ce){ce(I)})}function Za(I,V,ce){Is(I,V,ce,null)||Lo(S(V,I))}function ti(I){return new Uo(function(V,ce){var Re=I.length,Xe=[];if(Re)for(var vt=function(Io,Hr){Re--,Xe[Io]=Hr,Re==0&&V(Xe)},Et=function(Io){ce(Io)},sn=0,Zn;sn=I.keyCode)&&(I.keyCode=-1)}catch{}},St.prototype.g=function(){return this.a};var Jt="closure_listenable_"+(1e6*Math.random()|0),an=0;function gn(I,V,ce,Re,Xe){this.listener=I,this.proxy=null,this.src=V,this.type=ce,this.capture=!!Re,this.Wa=Xe,this.key=++an,this.wa=this.Qa=!1}function mn(I){I.wa=!0,I.listener=null,I.proxy=null,I.src=null,I.Wa=null}function vn(I){this.src=I,this.a={},this.b=0}vn.prototype.add=function(I,V,ce,Re,Xe){var vt=I.toString();I=this.a[vt],I||(I=this.a[vt]=[],this.b++);var Et=jn(I,V,Re,Xe);return-1Re.keyCode||Re.returnValue!=null)){e:{var Xe=!1;if(Re.keyCode==0)try{Re.keyCode=-1;break e}catch{Xe=!0}(Xe||Re.returnValue==null)&&(Re.returnValue=!0)}for(Re=[],Xe=V.b;Xe;Xe=Xe.parentNode)Re.push(Xe);for(I=I.type,Xe=Re.length-1;0<=Xe;Xe--){V.b=Re[Xe];var vt=Ju(Re[Xe],I,!0,V);ce=ce&&vt}for(Xe=0;Xe>>0);function Hf(I){return A(I)?I:(I[qu]||(I[qu]=function(V){return I.handleEvent(V)}),I[qu])}function Ol(){cn.call(this),this.v=new vn(this),this.bc=this,this.hb=null}x(Ol,cn),Ol.prototype[Jt]=!0,Ol.prototype.addEventListener=function(I,V,ce,Re){Xn(this,I,V,ce,Re)},Ol.prototype.removeEventListener=function(I,V,ce,Re){Vi(this,I,V,ce,Re)},Ol.prototype.dispatchEvent=function(I){var V,ce=this.hb;if(ce)for(V=[];ce;ce=ce.hb)V.push(ce);ce=this.bc;var Re=I.type||I;if(typeof I=="string")I=new Nt(I,ce);else if(I instanceof Nt)I.target=I.target||ce;else{var Xe=I;I=new Nt(Re,ce),Ee(I,Xe)}if(Xe=!0,V)for(var vt=V.length-1;0<=vt;vt--){var Et=I.b=V[vt];Xe=yp(Et,Re,!0,I)&&Xe}if(Et=I.b=ce,Xe=yp(Et,Re,!0,I)&&Xe,Xe=yp(Et,Re,!1,I)&&Xe,V)for(vt=0;vtV)throw Error("Bad port number "+V);I.g=V}else I.g=null}function Ug(I,V,ce){V instanceof Bg?(I.b=V,Q7(I.b,I.i)):(ce||(V=Rh(V,Hh)),I.b=new Bg(V,I.i))}function el(I,V,ce){I.b.set(V,ce)}function Ed(I,V){return I.b.get(V)}function wu(I){return I instanceof zs?new zs(I):new zs(I,void 0)}function a5(I,V,ce,Re){var Xe=new zs(null,void 0);return I&&$s(Xe,I),V&&(Xe.a=V),ce&&yl(Xe,ce),Re&&(Xe.f=Re),Xe}function fy(I,V){return I?V?decodeURI(I.replace(/%25/g,"%2525")):decodeURIComponent(I):""}function Rh(I,V,ce){return typeof I=="string"?(I=encodeURI(I).replace(V,g3),ce&&(I=I.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),I):null}function g3(I){return I=I.charCodeAt(0),"%"+(I>>4&15).toString(16)+(I&15).toString(16)}var hy=/[#\/\?@]/g,m3=/[#\?:]/g,l5=/[#\?]/g,Hh=/[#\?@]/g,y3=/#/g;function Bg(I,V){this.b=this.a=null,this.c=I||null,this.f=!!V}function kd(I){I.a||(I.a=new O0,I.b=0,I.c&&Au(I.c,function(V,ce){I.add(decodeURIComponent(V.replace(/\+/g," ")),ce)}))}function $7(I){var V=f1(I);if(typeof V>"u")throw Error("Keys are undefined");var ce=new Bg(null,void 0);I=yu(I);for(var Re=0;Re2*I.c&&Ch(I)))}t.clear=function(){this.a=this.c=null,this.b=0};function hs(I,V){return kd(I),V=vu(I,V),Ng(I.a.b,V)}t.forEach=function(I,V){kd(this),this.a.forEach(function(ce,Re){ae(ce,function(Xe){I.call(V,Xe,Re,this)},this)},this)},t.Y=function(){kd(this);for(var I=this.a.X(),V=this.a.Y(),ce=[],Re=0;ReI?!1:!It||!po||9',I=(Re=Qe())?Re.createHTML(I):I,I=new st(I,null,Ue),Re=Et.document)&&(Re.write(Pt(I)),Re.close())):(Et=Ve(V,Re,ce,Et))&&I.noopener&&(Et.opener=null),Et)try{Et.focus()}catch{}return Et}function jg(I){return new Uo(function(V){function ce(){Gc(2e3).then(function(){if(!I||I.closed)V();else return ce()})}return ce()})}var A3=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,s5=/^[^@]+@[^@]+$/;function Ds(){var I=null;return new Uo(function(V){s.document.readyState=="complete"?V():(I=function(){V()},Kr(window,"load",I))}).o(function(V){throw Vi(window,"load",I),V})}function c5(){return La(void 0)?Ds().then(function(){return new Uo(function(I,V){var ce=s.document,Re=setTimeout(function(){V(Error("Cordova framework is not ready."))},1e3);ce.addEventListener("deviceready",function(){clearTimeout(Re),I()},!1)})}):$i(Error("Cordova must run in an Android or iOS file scheme."))}function La(I){return I=I||Qs(),!(Fd()!=="file:"&&Fd()!=="ionic:"||!I.toLowerCase().match(/iphone|ipad|ipod|android/))}function w3(){var I=s.window;try{return!(!I||I==I.top)}catch{return!1}}function Rc(){return typeof s.WorkerGlobalScope<"u"&&typeof s.importScripts=="function"}function Es(){return ro.INTERNAL.hasOwnProperty("reactNative")?"ReactNative":ro.INTERNAL.hasOwnProperty("node")?"Node":Rc()?"Worker":"Browser"}function Yg(){var I=Es();return I==="ReactNative"||I==="Node"}function PA(){for(var I=50,V=[];0"u"?null:my(I)}function g5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&I[ce]!==null&&I[ce]!==void 0&&(V[ce]=I[ce]);return V}function yy(I){if(I!==null)return JSON.parse(I)}function _g(I){return I||Math.floor(1e9*Math.random()).toString()}function m5(I){return I=I||Qs(),!($u(I)=="Safari"||I.toLowerCase().match(/iphone|ipad|ipod/))}function y5(){var I=s.___jsl;if(I&&I.H){for(var V in I.H)if(I.H[V].r=I.H[V].r||[],I.H[V].L=I.H[V].L||[],I.H[V].r=I.H[V].L.concat(),I.CP)for(var ce=0;ceV)throw Error("Short delay should be less than long delay!");this.a=I,this.c=V,I=Qs(),V=Es(),this.b=Jc(I)||V==="ReactNative"}Mf.prototype.get=function(){var I=s.navigator;return!(I&&typeof I.onLine=="boolean"&&(p5()||Fd()==="chrome-extension:"||typeof I.connection<"u"))||I.onLine?this.b?this.c:this.a:Math.min(5e3,this.a)};function CA(){var I=s.document;return I&&typeof I.visibilityState<"u"?I.visibilityState=="visible":!0}function Z7(){var I=s.document,V=null;return CA()||!I?Mo():new Uo(function(ce){V=function(){CA()&&(I.removeEventListener("visibilitychange",V,!1),ce())},I.addEventListener("visibilitychange",V,!1)}).o(function(ce){throw I.removeEventListener("visibilitychange",V,!1),ce})}function v3(I){try{var V=new Date(parseInt(I,10));if(!isNaN(V.getTime())&&!/[^0-9]/.test(I))return V.toUTCString()}catch{}return null}function e8(){return!(!_l("fireauth.oauthhelper",s)&&!_l("fireauth.iframe",s))}function Kc(){var I=s.navigator;return I&&I.serviceWorker&&I.serviceWorker.controller||null}function V0(){var I=s.navigator;return I&&I.serviceWorker?Mo().then(function(){return I.serviceWorker.ready}).then(function(V){return V.active||null}).o(function(){return null}):Mo(null)}var t8={};function RA(I){t8[I]||(t8[I]=!0,typeof console<"u"&&typeof console.warn=="function"&&console.warn(I))}var x3;try{var HA={};Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:1}),Object.defineProperty(HA,"abcd",{configurable:!0,enumerable:!0,value:2}),x3=HA.abcd==2}catch{x3=!1}function Pi(I,V,ce){x3?Object.defineProperty(I,V,{configurable:!0,enumerable:!0,value:ce}):I[V]=ce}function qc(I,V){if(V)for(var ce in V)V.hasOwnProperty(ce)&&Pi(I,ce,V[ce])}function If(I){var V={};return qc(V,I),V}function A5(I){var V={},ce;for(ce in I)I.hasOwnProperty(ce)&&(V[ce]=I[ce]);return V}function Ay(I,V){if(!V||!V.length)return!0;if(!I)return!1;for(var ce=0;ce"u")throw new H("missing-continue-uri");if(typeof V!="string"||typeof V=="string"&&!V.length)throw new H("invalid-continue-uri");this.h=V,this.b=this.a=null,this.g=!1;var ce=I[r8];if(ce&&typeof ce=="object"){V=ce[l8];var Re=ce[A1];if(ce=ce[WA],typeof V=="string"&&V.length){if(this.a=V,typeof Re<"u"&&typeof Re!="boolean")throw new H("argument-error",A1+" property must be a boolean when specified.");if(this.g=!!Re,typeof ce<"u"&&(typeof ce!="string"||typeof ce=="string"&&!ce.length))throw new H("argument-error",WA+" property must be a non empty string when specified.");this.b=ce||null}else{if(typeof V<"u")throw new H("argument-error",l8+" property must be a non empty string when specified.");if(typeof Re<"u"||typeof ce<"u")throw new H("missing-android-pkg-name")}}else if(typeof ce<"u")throw new H("argument-error",r8+" property must be a non null object when specified.");if(this.f=null,(V=I[a8])&&typeof V=="object"){if(V=V[Hc],typeof V=="string"&&V.length)this.f=V;else if(typeof V<"u")throw new H("argument-error",Hc+" property must be a non empty string when specified.")}else if(typeof V<"u")throw new H("argument-error",a8+" property must be a non null object when specified.");if(V=I[FA],typeof V<"u"&&typeof V!="boolean")throw new H("argument-error",FA+" property must be a boolean when specified.");if(this.c=!!V,I=I[kA],typeof I<"u"&&(typeof I!="string"||typeof I=="string"&&!I.length))throw new H("argument-error",kA+" property must be a non empty string when specified.");this.i=I||null}var r8="android",kA="dynamicLinkDomain",FA="handleCodeInApp",a8="iOS",LA="url",A1="installApp",WA="minimumVersion",l8="packageName",Hc="bundleId";function NA(I){var V={};V.continueUrl=I.h,V.canHandleCodeInApp=I.c,(V.androidPackageName=I.a)&&(V.androidMinimumVersion=I.b,V.androidInstallApp=I.g),V.iOSBundleId=I.f,V.dynamicLinkDomain=I.i;for(var ce in V)V[ce]===null&&delete V[ce];return V}function HM(I){return le(I,function(V){return V=V.toString(16),1>4),Et!=64&&(V(vt<<4&240|Et>>2),sn!=64&&V(Et<<6&192|sn))}}function mi(){if(!Vg){Vg={};for(var I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),V=["+/=","+/","-_=","-_.","-_"],ce=0;5>ce;ce++)for(var Re=I.concat(V[ce].split("")),Xe=0;Xethis.a?this.a:I),this.b=V.provider_id||V.firebase&&V.firebase.sign_in_provider||null,this.f=V.firebase&&V.firebase.tenant||null,this.c=!!V.is_anonymous||this.b=="anonymous"}Gg.prototype.T=function(){return this.f},Gg.prototype.l=function(){return this.c},Gg.prototype.toString=function(){return this.h};function v5(I){try{return new Gg(I)}catch{return null}}function s8(I){if(!I||(I=I.split("."),I.length!=3))return null;I=I[1];for(var V=(4-I.length%4)%4,ce=0;ceXe)I[ce++]=String.fromCharCode(Xe);else if(191Xe){var vt=Re[V++];I[ce++]=String.fromCharCode((Xe&31)<<6|vt&63)}else if(239Xe){vt=Re[V++];var Et=Re[V++],sn=Re[V++],Zn=((Xe&7)<<18|(vt&63)<<12|(Et&63)<<6|sn&63)-65536;I[ce++]=String.fromCharCode(55296+(Zn>>10)),I[ce++]=String.fromCharCode(56320+(Zn&1023))}else vt=Re[V++],Et=Re[V++],I[ce++]=String.fromCharCode((Xe&15)<<12|(vt&63)<<6|Et&63)}return JSON.parse(I.join(""))}catch{}return null}var UA="oauth_consumer_key oauth_nonce oauth_signature oauth_signature_method oauth_timestamp oauth_token oauth_version".split(" "),td=["client_id","response_type","scope","redirect_uri","state"],vp={nd:{Ja:"locale",va:700,ua:600,fa:"facebook.com",Ya:td},pd:{Ja:null,va:500,ua:750,fa:"github.com",Ya:td},qd:{Ja:"hl",va:515,ua:680,fa:"google.com",Ya:td},wd:{Ja:"lang",va:485,ua:705,fa:"twitter.com",Ya:UA},kd:{Ja:"locale",va:640,ua:600,fa:"apple.com",Ya:[]}};function P3(I){for(var V in vp)if(vp[V].fa==I)return vp[V];return null}function BA(I){var V={};V["facebook.com"]=nd,V["google.com"]=C3,V["github.com"]=YA,V["twitter.com"]=OA;var ce=I&&I[zh];try{if(ce)return V[ce]?new V[ce](I):new w0(I);if(typeof I[jA]<"u")return new x5(I)}catch{}return null}var jA="idToken",zh="providerId";function x5(I){var V=I[zh];if(!V&&I[jA]){var ce=v5(I[jA]);ce&&ce.b&&(V=ce.b)}if(!V)throw Error("Invalid additional user info!");(V=="anonymous"||V=="custom")&&(V=null),ce=!1,typeof I.isNewUser<"u"?ce=!!I.isNewUser:I.kind==="identitytoolkit#SignupNewUserResponse"&&(ce=!0),Pi(this,"providerId",V),Pi(this,"isNewUser",ce)}function w0(I){x5.call(this,I),I=yy(I.rawUserInfo||"{}"),Pi(this,"profile",p1(I||{}))}x(w0,x5);function nd(I){if(w0.call(this,I),this.providerId!="facebook.com")throw Error("Invalid provider ID!")}x(nd,w0);function YA(I){if(w0.call(this,I),this.providerId!="github.com")throw Error("Invalid provider ID!");Pi(this,"username",this.profile&&this.profile.login||null)}x(YA,w0);function C3(I){if(w0.call(this,I),this.providerId!="google.com")throw Error("Invalid provider ID!")}x(C3,w0);function OA(I){if(w0.call(this,I),this.providerId!="twitter.com")throw Error("Invalid provider ID!");Pi(this,"username",I.screenName||null)}x(OA,w0);function Xg(I){var V=wu(I),ce=Ed(V,"link"),Re=Ed(wu(ce),"link");return V=Ed(V,"deep_link_id"),Ed(wu(V),"link")||V||Re||ce||I}function od(I,V){if(!I&&!V)throw new H("internal-error","Internal assert: no raw session string available");if(I&&V)throw new H("internal-error","Internal assert: unable to determine the session type");this.a=I||null,this.b=V||null,this.type=this.a?b5:_A}var b5="enroll",_A="signin";od.prototype.Ha=function(){return this.a?Mo(this.a):Mo(this.b)},od.prototype.w=function(){return this.type==b5?{multiFactorSession:{idToken:this.a}}:{multiFactorSession:{pendingCredential:this.b}}};function xp(){}xp.prototype.ka=function(){},xp.prototype.b=function(){},xp.prototype.c=function(){},xp.prototype.w=function(){};function vy(I,V){return I.then(function(ce){if(ce[Zt]){var Re=v5(ce[Zt]);if(!Re||V!=Re.i)throw new H("user-mismatch");return ce}throw new H("user-mismatch")}).o(function(ce){throw ce&&ce.code&&ce.code==k+"user-not-found"?new H("user-mismatch"):ce})}function w1(I,V){if(V)this.a=V;else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",I)}w1.prototype.ka=function(I){return AS(I,Mc(this))},w1.prototype.b=function(I,V){var ce=Mc(this);return ce.idToken=V,q0(I,ce)},w1.prototype.c=function(I,V){return vy(EM(I,Mc(this)),V)};function Mc(I){return{pendingToken:I.a,requestUri:"http://localhost"}}w1.prototype.w=function(){return{providerId:this.providerId,signInMethod:this.signInMethod,pendingToken:this.a}};function S5(I){if(I&&I.providerId&&I.signInMethod&&I.providerId.indexOf("saml.")==0&&I.pendingToken)try{return new w1(I.providerId,I.pendingToken)}catch{}return null}function Wd(I,V,ce){if(this.a=null,V.idToken||V.accessToken)V.idToken&&Pi(this,"idToken",V.idToken),V.accessToken&&Pi(this,"accessToken",V.accessToken),V.nonce&&!V.pendingToken&&Pi(this,"nonce",V.nonce),V.pendingToken&&(this.a=V.pendingToken);else if(V.oauthToken&&V.oauthTokenSecret)Pi(this,"accessToken",V.oauthToken),Pi(this,"secret",V.oauthTokenSecret);else throw new H("internal-error","failed to construct a credential");Pi(this,"providerId",I),Pi(this,"signInMethod",ce)}Wd.prototype.ka=function(I){return AS(I,bu(this))},Wd.prototype.b=function(I,V){var ce=bu(this);return ce.idToken=V,q0(I,ce)},Wd.prototype.c=function(I,V){var ce=bu(this);return vy(EM(I,ce),V)};function bu(I){var V={};return I.idToken&&(V.id_token=I.idToken),I.accessToken&&(V.access_token=I.accessToken),I.secret&&(V.oauth_token_secret=I.secret),V.providerId=I.providerId,I.nonce&&!I.a&&(V.nonce=I.nonce),V={postBody:$7(V).toString(),requestUri:"http://localhost"},I.a&&(delete V.postBody,V.pendingToken=I.a),V}Wd.prototype.w=function(){var I={providerId:this.providerId,signInMethod:this.signInMethod};return this.idToken&&(I.oauthIdToken=this.idToken),this.accessToken&&(I.oauthAccessToken=this.accessToken),this.secret&&(I.oauthTokenSecret=this.secret),this.nonce&&(I.nonce=this.nonce),this.a&&(I.pendingToken=this.a),I};function T5(I){if(I&&I.providerId&&I.signInMethod){var V={idToken:I.oauthIdToken,accessToken:I.oauthTokenSecret?null:I.oauthAccessToken,oauthTokenSecret:I.oauthTokenSecret,oauthToken:I.oauthTokenSecret&&I.oauthAccessToken,nonce:I.nonce,pendingToken:I.pendingToken};try{return new Wd(I.providerId,V,I.signInMethod)}catch{}}return null}function Nd(I,V){this.Qc=V||[],qc(this,{providerId:I,isOAuthProvider:!0}),this.Jb={},this.qb=(P3(I)||{}).Ja||null,this.pb=null}Nd.prototype.Ka=function(I){return this.Jb=$e(I),this};function zf(I){if(typeof I!="string"||I.indexOf("saml.")!=0)throw new H("argument-error",'SAML provider IDs must be prefixed with "saml."');Nd.call(this,I,[])}x(zf,Nd);function X0(I){Nd.call(this,I,td),this.a=[]}x(X0,Nd),X0.prototype.Ca=function(I){return pe(this.a,I)||this.a.push(I),this},X0.prototype.Rb=function(){return Se(this.a)},X0.prototype.credential=function(I,V){var ce;if(w(I)?ce={idToken:I.idToken||null,accessToken:I.accessToken||null,nonce:I.rawNonce||null}:ce={idToken:I||null,accessToken:V||null},!ce.idToken&&!ce.accessToken)throw new H("argument-error","credential failed: must provide the ID token and/or the access token.");return new Wd(this.providerId,ce,this.providerId)};function xs(){X0.call(this,"facebook.com")}x(xs,X0),Pi(xs,"PROVIDER_ID","facebook.com"),Pi(xs,"FACEBOOK_SIGN_IN_METHOD","facebook.com");function P5(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return w(I)&&(V=I.accessToken),new xs().credential({accessToken:V})}function Jg(){X0.call(this,"github.com")}x(Jg,X0),Pi(Jg,"PROVIDER_ID","github.com"),Pi(Jg,"GITHUB_SIGN_IN_METHOD","github.com");function VA(I){if(!I)throw new H("argument-error","credential failed: expected 1 argument (the OAuth access token).");var V=I;return w(I)&&(V=I.accessToken),new Jg().credential({accessToken:V})}function xy(){X0.call(this,"google.com"),this.Ca("profile")}x(xy,X0),Pi(xy,"PROVIDER_ID","google.com"),Pi(xy,"GOOGLE_SIGN_IN_METHOD","google.com");function by(I,V){var ce=I;return w(I)&&(ce=I.idToken,V=I.accessToken),new xy().credential({idToken:ce,accessToken:V})}function Kg(){Nd.call(this,"twitter.com",UA)}x(Kg,Nd),Pi(Kg,"PROVIDER_ID","twitter.com"),Pi(Kg,"TWITTER_SIGN_IN_METHOD","twitter.com");function Vl(I,V){var ce=I;if(w(ce)||(ce={oauthToken:I,oauthTokenSecret:V}),!ce.oauthToken||!ce.oauthTokenSecret)throw new H("argument-error","credential failed: expected 2 arguments (the OAuth access token and secret).");return new Wd("twitter.com",ce,"twitter.com")}function Cr(I,V,ce){this.a=I,this.f=V,Pi(this,"providerId","password"),Pi(this,"signInMethod",ce===tl.EMAIL_LINK_SIGN_IN_METHOD?tl.EMAIL_LINK_SIGN_IN_METHOD:tl.EMAIL_PASSWORD_SIGN_IN_METHOD)}Cr.prototype.ka=function(I){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,Ey,{email:this.a,oobCode:this.f}):Da(I,BM,{email:this.a,password:this.f})},Cr.prototype.b=function(I,V){return this.signInMethod==tl.EMAIL_LINK_SIGN_IN_METHOD?Da(I,_d,{idToken:V,email:this.a,oobCode:this.f}):Da(I,WM,{idToken:V,email:this.a,password:this.f})},Cr.prototype.c=function(I,V){return vy(this.ka(I),V)},Cr.prototype.w=function(){return{email:this.a,password:this.f,signInMethod:this.signInMethod}};function Ic(I){return I&&I.email&&I.password?new Cr(I.email,I.password,I.signInMethod):null}function tl(){qc(this,{providerId:"password",isOAuthProvider:!1})}function Fs(I,V){if(V=Su(V),!V)throw new H("argument-error","Invalid email link!");return new Cr(I,V.code,tl.EMAIL_LINK_SIGN_IN_METHOD)}function Su(I){return I=Xg(I),(I=T3(I))&&I.operation===m1?I:null}qc(tl,{PROVIDER_ID:"password"}),qc(tl,{EMAIL_LINK_SIGN_IN_METHOD:"emailLink"}),qc(tl,{EMAIL_PASSWORD_SIGN_IN_METHOD:"password"});function Ud(I){if(!(I.fb&&I.eb||I.La&&I.ea))throw new H("internal-error");this.a=I,Pi(this,"providerId","phone"),this.fa="phone",Pi(this,"signInMethod","phone")}Ud.prototype.ka=function(I){return I.gb(bp(this))},Ud.prototype.b=function(I,V){var ce=bp(this);return ce.idToken=V,Da(I,gU,ce)},Ud.prototype.c=function(I,V){var ce=bp(this);return ce.operation="REAUTH",I=Da(I,om,ce),vy(I,V)},Ud.prototype.w=function(){var I={providerId:"phone"};return this.a.fb&&(I.verificationId=this.a.fb),this.a.eb&&(I.verificationCode=this.a.eb),this.a.La&&(I.temporaryProof=this.a.La),this.a.ea&&(I.phoneNumber=this.a.ea),I};function Zs(I){if(I&&I.providerId==="phone"&&(I.verificationId&&I.verificationCode||I.temporaryProof&&I.phoneNumber)){var V={};return ae(["verificationId","verificationCode","temporaryProof","phoneNumber"],function(ce){I[ce]&&(V[ce]=I[ce])}),new Ud(V)}return null}function bp(I){return I.a.La&&I.a.ea?{temporaryProof:I.a.La,phoneNumber:I.a.ea}:{sessionInfo:I.a.fb,code:I.a.eb}}function id(I){try{this.a=I||ro.auth()}catch{throw new H("argument-error","Either an instance of firebase.auth.Auth must be passed as an argument to the firebase.auth.PhoneAuthProvider constructor, or the default firebase App instance must be initialized via firebase.initializeApp().")}qc(this,{providerId:"phone",isOAuthProvider:!1})}id.prototype.gb=function(I,V){var ce=this.a.a;return Mo(V.verify()).then(function(Re){if(typeof Re!="string")throw new H("argument-error","An implementation of firebase.auth.ApplicationVerifier.prototype.verify() must return a firebase.Promise that resolves with a string.");switch(V.type){case"recaptcha":var Xe=w(I)?I.session:null,vt=w(I)?I.phoneNumber:I,Et;return Xe&&Xe.type==b5?Et=Xe.Ha().then(function(sn){return e4(ce,{idToken:sn,phoneEnrollmentInfo:{phoneNumber:vt,recaptchaToken:Re}})}):Xe&&Xe.type==_A?Et=Xe.Ha().then(function(sn){return mS(ce,{mfaPendingCredential:sn,mfaEnrollmentId:I.multiFactorHint&&I.multiFactorHint.uid||I.multiFactorUid,phoneSignInInfo:{recaptchaToken:Re}})}):Et=ZA(ce,{phoneNumber:vt,recaptchaToken:Re}),Et.then(function(sn){return typeof V.reset=="function"&&V.reset(),sn},function(sn){throw typeof V.reset=="function"&&V.reset(),sn});default:throw new H("argument-error",'Only firebase.auth.ApplicationVerifiers with type="recaptcha" are currently supported.')}})};function R3(I,V){if(!I)throw new H("missing-verification-id");if(!V)throw new H("missing-verification-code");return new Ud({fb:I,eb:V})}qc(id,{PROVIDER_ID:"phone"}),qc(id,{PHONE_SIGN_IN_METHOD:"phone"});function H3(I){if(I.temporaryProof&&I.phoneNumber)return new Ud({La:I.temporaryProof,ea:I.phoneNumber});var V=I&&I.providerId;if(!V||V==="password")return null;var ce=I&&I.oauthAccessToken,Re=I&&I.oauthTokenSecret,Xe=I&&I.nonce,vt=I&&I.oauthIdToken,Et=I&&I.pendingToken;try{switch(V){case"google.com":return by(vt,ce);case"facebook.com":return P5(ce);case"github.com":return VA(ce);case"twitter.com":return Vl(ce,Re);default:return ce||Re||vt||Et?Et?V.indexOf("saml.")==0?new w1(V,Et):new Wd(V,{pendingToken:Et,idToken:I.oauthIdToken,accessToken:I.oauthAccessToken},V):new X0(V).credential({idToken:vt,accessToken:ce,rawNonce:Xe}):null}}catch{return null}}function qg(I){if(!I.isOAuthProvider)throw new H("invalid-oauth-provider")}function Gl(I,V,ce,Re,Xe,vt,Et){if(this.c=I,this.b=V||null,this.g=ce||null,this.f=Re||null,this.i=vt||null,this.h=Et||null,this.a=Xe||null,this.g||this.a){if(this.g&&this.a)throw new H("invalid-auth-event");if(this.g&&!this.f)throw new H("invalid-auth-event")}else throw new H("invalid-auth-event")}Gl.prototype.getUid=function(){var I=[];return I.push(this.c),this.b&&I.push(this.b),this.f&&I.push(this.f),this.h&&I.push(this.h),I.join("-")},Gl.prototype.T=function(){return this.h},Gl.prototype.w=function(){return{type:this.c,eventId:this.b,urlResponse:this.g,sessionId:this.f,postBody:this.i,tenantId:this.h,error:this.a&&this.a.w()}};function GA(I){return I=I||{},I.type?new Gl(I.type,I.eventId,I.urlResponse,I.sessionId,I.error&&D(I.error),I.postBody,I.tenantId):null}function M3(){this.b=null,this.a=[]}var v1=null;function I3(I){var V=v1;V.a.push(I),V.b||(V.b=function(ce){for(var Re=0;Re Auth section -> Sign in method tab.",I):Re=="http"||Re=="https"?ce=ut("This domain (%s) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab.",I):V="operation-not-supported-in-this-environment",H.call(this,V,ce)}x(C5,H);function Tu(I,V,ce){H.call(this,I,ce),I=V||{},I.Kb&&Pi(this,"email",I.Kb),I.ea&&Pi(this,"phoneNumber",I.ea),I.credential&&Pi(this,"credential",I.credential),I.$b&&Pi(this,"tenantId",I.$b)}x(Tu,H),Tu.prototype.w=function(){var I={code:this.code,message:this.message};this.email&&(I.email=this.email),this.phoneNumber&&(I.phoneNumber=this.phoneNumber),this.tenantId&&(I.tenantId=this.tenantId);var V=this.credential&&this.credential.w();return V&&Ee(I,V),I},Tu.prototype.toJSON=function(){return this.w()};function Sy(I){if(I.code){var V=I.code||"";V.indexOf(k)==0&&(V=V.substring(k.length));var ce={credential:H3(I),$b:I.tenantId};if(I.email)ce.Kb=I.email;else if(I.phoneNumber)ce.ea=I.phoneNumber;else if(!ce.credential)return new H(V,I.message||void 0);return new Tu(V,ce,I.message)}return null}function Bd(){}Bd.prototype.c=null;function R5(I){return I.c||(I.c=I.b())}var Ty;function Py(){}x(Py,Bd),Py.prototype.a=function(){var I=z3(this);return I?new ActiveXObject(I):new XMLHttpRequest},Py.prototype.b=function(){var I={};return z3(this)&&(I[0]=!0,I[1]=!0),I};function z3(I){if(!I.f&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var V=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],ce=0;ce=b1(this).value)for(A(V)&&(V=V()),I=new rd(I,String(V),this.f),ce&&(I.a=ce),ce=this;ce;)ce=ce.a};var XA={},J0=null;function E3(I){J0||(J0=new $g(""),XA[""]=J0,J0.c=Cy);var V;if(!(V=XA[I])){V=new $g(I);var ce=I.lastIndexOf("."),Re=I.substr(ce+1);ce=E3(I.substr(0,ce)),ce.b||(ce.b={}),ce.b[Re]=V,V.a=ce,XA[I]=V}return V}function ec(I,V){I&&I.log(gS,V,void 0)}function Ry(I){this.f=I}x(Ry,Bd),Ry.prototype.a=function(){return new H5(this.f)},Ry.prototype.b=function(I){return function(){return I}}({});function H5(I){Ol.call(this),this.u=I,this.h=void 0,this.readyState=M5,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.l=new Headers,this.b=null,this.s="GET",this.f="",this.a=!1,this.i=E3("goog.net.FetchXmlHttp"),this.m=this.c=this.g=null}x(H5,Ol);var M5=0;t=H5.prototype,t.open=function(I,V){if(this.readyState!=M5)throw this.abort(),Error("Error reopening a connection");this.s=I,this.f=V,this.readyState=1,Hy(this)},t.send=function(I){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.a=!0;var V={headers:this.l,method:this.s,credentials:this.h,cache:void 0};I&&(V.body=I),this.u.fetch(new Request(this.f,V)).then(this.uc.bind(this),this.Va.bind(this))},t.abort=function(){this.response=this.responseText="",this.l=new Headers,this.status=0,this.c&&this.c.cancel("Request was aborted."),1<=this.readyState&&this.a&&this.readyState!=4&&(this.a=!1,Ef(this)),this.readyState=M5},t.uc=function(I){this.a&&(this.g=I,this.b||(this.status=this.g.status,this.statusText=this.g.statusText,this.b=I.headers,this.readyState=2,Hy(this)),this.a&&(this.readyState=3,Hy(this),this.a&&(this.responseType==="arraybuffer"?I.arrayBuffer().then(this.sc.bind(this),this.Va.bind(this)):typeof s.ReadableStream<"u"&&"body"in I?(this.response=this.responseText="",this.c=I.body.getReader(),this.m=new TextDecoder,x0(this)):I.text().then(this.tc.bind(this),this.Va.bind(this)))))};function x0(I){I.c.read().then(I.pc.bind(I)).catch(I.Va.bind(I))}t.pc=function(I){if(this.a){var V=this.m.decode(I.value?I.value:new Uint8Array(0),{stream:!I.done});V&&(this.response=this.responseText+=V),I.done?Ef(this):Hy(this),this.readyState==3&&x0(this)}},t.tc=function(I){this.a&&(this.response=this.responseText=I,Ef(this))},t.sc=function(I){this.a&&(this.response=I,Ef(this))},t.Va=function(I){var V=this.i;V&&V.log(D3,"Failed to fetch url "+this.f,I instanceof Error?I:Error(I)),this.a&&Ef(this)};function Ef(I){I.readyState=4,I.g=null,I.c=null,I.m=null,Hy(I)}t.setRequestHeader=function(I,V){this.l.append(I,V)},t.getResponseHeader=function(I){return this.b?this.b.get(I.toLowerCase())||"":((I=this.i)&&I.log(D3,"Attempting to get response header but no headers have been received for url: "+this.f,void 0),"")},t.getAllResponseHeaders=function(){if(!this.b){var I=this.i;return I&&I.log(D3,"Attempting to get all response headers but no headers have been received for url: "+this.f,void 0),""}I=[];for(var V=this.b.entries(),ce=V.next();!ce.done;)ce=ce.value,I.push(ce[0]+": "+ce[1]),ce=V.next();return I.join(`\r +`)};function Hy(I){I.onreadystatechange&&I.onreadystatechange.call(I)}Object.defineProperty(H5.prototype,"withCredentials",{get:function(){return this.h==="include"},set:function(I){this.h=I?"include":"same-origin"}});function My(I){Ol.call(this),this.headers=new O0,this.D=I||null,this.c=!1,this.C=this.a=null,this.h=this.P=this.l="",this.f=this.N=this.i=this.J=!1,this.g=0,this.s=null,this.m=I5,this.u=this.S=!1}x(My,Ol);var I5="";My.prototype.b=E3("goog.net.XhrIo");var Qg=/^https?$/i,u8=["POST","PUT"];function Zg(I,V,ce,Re,Xe){if(I.a)throw Error("[goog.net.XhrIo] Object is active with another request="+I.l+"; newUri="+V);ce=ce?ce.toUpperCase():"GET",I.l=V,I.h="",I.P=ce,I.J=!1,I.c=!0,I.a=I.D?I.D.a():Ty.a(),I.C=I.D?R5(I.D):R5(Ty),I.a.onreadystatechange=y(I.Wb,I);try{ec(I.b,Dh(I,"Opening Xhr")),I.N=!0,I.a.open(ce,String(V),!0),I.N=!1}catch(Et){ec(I.b,Dh(I,"Error opening Xhr: "+Et.message)),S1(I,Et);return}V=Re||"";var vt=new O0(I.headers);Xe&&h1(Xe,function(Et,sn){vt.set(sn,Et)}),Xe=he(vt.Y()),Re=s.FormData&&V instanceof s.FormData,!pe(u8,ce)||Xe||Re||vt.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),vt.forEach(function(Et,sn){this.a.setRequestHeader(sn,Et)},I),I.m&&(I.a.responseType=I.m),"withCredentials"in I.a&&I.a.withCredentials!==I.S&&(I.a.withCredentials=I.S);try{KA(I),0=V.l&&V.cancel())}this.u?this.u.call(this.s,this):this.v=!0,this.a||(I=new z5,Iy(this),jd(this,!1,I))}},tm.prototype.m=function(I,V){this.i=!1,jd(this,I,V)};function jd(I,V,ce){I.a=!0,I.c=ce,I.f=!V,Yd(I)}function Iy(I){if(I.a){if(!I.v)throw new $A;I.v=!1}}function nm(I,V){zy(I,null,V,void 0)}function zy(I,V,ce,Re){I.g.push([V,ce,Re]),I.a&&Yd(I)}tm.prototype.then=function(I,V,ce){var Re,Xe,vt=new Uo(function(Et,sn){Re=Et,Xe=sn});return zy(this,Re,function(Et){Et instanceof z5?vt.cancel():Xe(Et)}),vt.then(I,V,ce)},tm.prototype.$goog_Thenable=!0;function b0(I){return te(I.g,function(V){return A(V[1])})}function Yd(I){if(I.h&&I.a&&b0(I)){var V=I.h,ce=Sp[V];ce&&(s.clearTimeout(ce.a),delete Sp[V]),I.h=0}I.b&&(I.b.l--,delete I.b),V=I.c;for(var Re=ce=!1;I.g.length&&!I.i;){var Xe=I.g.shift(),vt=Xe[0],Et=Xe[1];if(Xe=Xe[2],vt=I.f?Et:vt)try{var sn=vt.call(Xe||I.s,V);sn!==void 0&&(I.f=I.f&&(sn==V||sn instanceof Error),I.c=V=sn),(U(V)||typeof s.Promise=="function"&&V instanceof s.Promise)&&(Re=!0,I.i=!0)}catch(Zn){V=Zn,I.f=!0,b0(I)||(ce=!0)}}I.c=V,Re&&(sn=y(I.m,I,!0),Re=y(I.m,I,!1),V instanceof tm?(zy(V,sn,Re),V.C=!0):V.then(sn,Re)),ce&&(V=new D5(V),Sp[V.a]=V,I.h=V.a)}function $A(){F.call(this)}x($A,F),$A.prototype.message="Deferred has already fired",$A.prototype.name="AlreadyCalledError";function z5(){F.call(this)}x(z5,F),z5.prototype.message="Deferred was canceled",z5.prototype.name="CanceledError";function D5(I){this.a=s.setTimeout(y(this.c,this),0),this.b=I}D5.prototype.c=function(){throw delete Sp[this.a],this.b};var Sp={};function F3(I){var V={},ce=V.document||document,Re=ft(I).toString(),Xe=yn(document,"SCRIPT"),vt={Xb:Xe,Ma:void 0},Et=new tm(vt),sn=null,Zn=V.timeout!=null?V.timeout:5e3;return 0"u"||typeof s.Headers>"u"||typeof s.Request>"u"))throw new H("operation-not-supported-in-this-environment","fetch, Headers and Request native APIs or equivalent Polyfills must be available to support HTTP requests from a Worker environment.");var Et=new My(this.f);if(vt){Et.g=Math.max(0,vt);var sn=setTimeout(function(){Et.dispatchEvent("timeout")},vt)}Y0(Et,"complete",function(){sn&&clearTimeout(sn);var Zn=null;try{Zn=JSON.parse(kf(this))||null}catch{Zn=null}V&&V(Zn)}),Ph(Et,"ready",function(){sn&&clearTimeout(sn),jt(this)}),Ph(Et,"timeout",function(){sn&&clearTimeout(sn),jt(this),V&&V(null)}),Zg(Et,I,ce,Re,Xe)};var Od=new Ge(xt,"https://apis.google.com/js/client.js?onload=%{onload}"),Dn="__fcb"+Math.floor(1e6*Math.random()).toString();function Rn(I,V){if(((window.gapi||{}).client||{}).request)I();else{s[Dn]=function(){((window.gapi||{}).client||{}).request?I():V(Error("CORS_UNSUPPORTED"))};var ce=at(Od,{onload:Dn});nm(F3(ce),function(){V(Error("CORS_UNSUPPORTED"))})}}Ke.prototype.s=function(I,V,ce,Re,Xe){var vt=this;pt.then(function(){window.gapi.client.setApiKey(vt.c);var Et=window.gapi.auth.getToken();window.gapi.auth.setToken(null),window.gapi.client.request({path:I,method:ce,body:Re,headers:Xe,authType:"none",callback:function(sn){window.gapi.auth.setToken(Et),V&&V(sn)}})}).o(function(Et){V&&V({error:{message:Et&&Et.message||"CORS_UNSUPPORTED"}})})};function On(I,V){return new Uo(function(ce,Re){V.grant_type=="refresh_token"&&V.refresh_token||V.grant_type=="authorization_code"&&V.code?S0(I,I.l+"?key="+encodeURIComponent(I.c),function(Xe){Xe?Xe.error?Re(YM(Xe)):Xe.access_token&&Xe.refresh_token?ce(Xe):Re(new H("internal-error")):Re(new H("network-request-failed"))},"POST",$7(V).toString(),I.g,I.m.get()):Re(new H("internal-error"))})}function xi(I,V,ce,Re,Xe,vt,Et){var sn=wu(V+ce);el(sn,"key",I.c),Et&&el(sn,"cb",Date.now().toString());var Zn=Re=="GET";if(Zn)for(var Io in Xe)Xe.hasOwnProperty(Io)&&el(sn,Io,Xe[Io]);return new Uo(function(Hr,Al){S0(I,sn.toString(),function(fl){fl?fl.error?Al(YM(fl,vt||{})):Hr(fl):Al(new H("network-request-failed"))},Re,Zn?void 0:my(g5(Xe)),I.a,I.v.get())})}function zi(I){if(I=I.email,typeof I!="string"||!s5.test(I))throw new H("invalid-email")}function qr(I){"email"in I&&zi(I)}function Yr(I,V){return Da(I,Zee,{identifier:V,continueUri:p5()?dr():"http://localhost"}).then(function(ce){return ce.signinMethods||[]})}function ea(I){return Da(I,uU,{}).then(function(V){return V.authorizedDomains||[]})}function Wa(I){if(!I[Zt])throw I.mfaPendingCredential?new H("multi-factor-auth-required",null,$e(I)):new H("internal-error")}function Sa(I){if(I.phoneNumber||I.temporaryProof){if(!I.phoneNumber||!I.temporaryProof)throw new H("internal-error")}else{if(!I.sessionInfo)throw new H("missing-verification-id");if(!I.code)throw new H("missing-verification-code")}}Ke.prototype.Ab=function(){return Da(this,fU,{})},Ke.prototype.Cb=function(I,V){return Da(this,dU,{idToken:I,email:V})},Ke.prototype.Db=function(I,V){return Da(this,WM,{idToken:I,password:V})};var Tp={displayName:"DISPLAY_NAME",photoUrl:"PHOTO_URL"};t=Ke.prototype,t.Eb=function(I,V){var ce={idToken:I},Re=[];return Ye(Tp,function(Xe,vt){var Et=V[vt];Et===null?Re.push(Xe):vt in V&&(ce[vt]=Et)}),Re.length&&(ce.deleteAttribute=Re),Da(this,dU,ce)},t.wb=function(I,V){return I={requestType:"PASSWORD_RESET",email:I},Ee(I,V),Da(this,cU,I)},t.xb=function(I,V){return I={requestType:"EMAIL_SIGNIN",email:I},Ee(I,V),Da(this,ote,I)},t.vb=function(I,V){return I={requestType:"VERIFY_EMAIL",idToken:I},Ee(I,V),Da(this,ite,I)},t.Fb=function(I,V,ce){return I={requestType:"VERIFY_AND_CHANGE_EMAIL",idToken:I,newEmail:V},Ee(I,ce),Da(this,f8,I)};function ZA(I,V){return Da(I,lte,V)}t.gb=function(I){return Da(this,wS,I)};function e4(I,V){return Da(I,ste,V).then(function(ce){return ce.phoneSessionInfo.sessionInfo})}function yr(I){if(!I.phoneVerificationInfo)throw new H("internal-error");if(!I.phoneVerificationInfo.sessionInfo)throw new H("missing-verification-id");if(!I.phoneVerificationInfo.code)throw new H("missing-verification-code")}function mS(I,V){return Da(I,NM,V).then(function(ce){return ce.phoneResponseInfo.sessionInfo})}function zM(I,V,ce){return Da(I,tte,{idToken:V,deleteProvider:ce})}function Dy(I){if(!I.requestUri||!I.sessionId&&!I.postBody&&!I.pendingToken)throw new H("internal-error")}function DM(I,V){return V.oauthIdToken&&V.providerId&&V.providerId.indexOf("oidc.")==0&&!V.pendingToken&&(I.sessionId?V.nonce=I.sessionId:I.postBody&&(I=new Bg(I.postBody),hs(I,"nonce")&&(V.nonce=I.get("nonce")))),V}function yS(I){var V=null;if(I.needConfirmation?(I.code="account-exists-with-different-credential",V=Sy(I)):I.errorMessage=="FEDERATED_USER_ID_ALREADY_LINKED"?(I.code="credential-already-in-use",V=Sy(I)):I.errorMessage=="EMAIL_EXISTS"?(I.code="email-already-in-use",V=Sy(I)):I.errorMessage&&(V=jM(I.errorMessage)),V)throw V;Wa(I)}function AS(I,V){return V.returnIdpCredential=!0,Da(I,hU,V)}function q0(I,V){return V.returnIdpCredential=!0,Da(I,UM,V)}function EM(I,V){return V.returnIdpCredential=!0,V.autoCreate=!1,Da(I,h8,V)}function kM(I){if(!I.oobCode)throw new H("invalid-action-code")}t.ob=function(I,V){return Da(this,ate,{oobCode:I,newPassword:V})},t.Sa=function(I){return Da(this,Qee,{oobCode:I})},t.kb=function(I){return Da(this,lU,{oobCode:I})};var lU={endpoint:"setAccountInfo",A:kM,Z:"email",B:!0},Qee={endpoint:"resetPassword",A:kM,G:function(I){var V=I.requestType;if(!V||!I.email&&V!="EMAIL_SIGNIN"&&V!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},B:!0},sU={endpoint:"signupNewUser",A:function(I){if(zi(I),!I.password)throw new H("weak-password")},G:Wa,V:!0,B:!0},Zee={endpoint:"createAuthUri",B:!0},ete={endpoint:"deleteAccount",O:["idToken"]},tte={endpoint:"setAccountInfo",O:["idToken","deleteProvider"],A:function(I){if(!Array.isArray(I.deleteProvider))throw new H("internal-error")}},Ey={endpoint:"emailLinkSignin",O:["email","oobCode"],A:zi,G:Wa,V:!0,B:!0},_d={endpoint:"emailLinkSignin",O:["idToken","email","oobCode"],A:zi,G:Wa,V:!0},FM={endpoint:"accounts/mfaEnrollment:finalize",O:["idToken","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},nte={endpoint:"accounts/mfaSignIn:finalize",O:["mfaPendingCredential","phoneVerificationInfo"],A:yr,G:Wa,B:!0,Na:!0},LM={endpoint:"getAccountInfo"},ote={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="EMAIL_SIGNIN")throw new H("internal-error");zi(I)},Z:"email",B:!0},ite={endpoint:"getOobConfirmationCode",O:["idToken","requestType"],A:function(I){if(I.requestType!="VERIFY_EMAIL")throw new H("internal-error")},Z:"email",B:!0},f8={endpoint:"getOobConfirmationCode",O:["idToken","newEmail","requestType"],A:function(I){if(I.requestType!="VERIFY_AND_CHANGE_EMAIL")throw new H("internal-error")},Z:"email",B:!0},cU={endpoint:"getOobConfirmationCode",O:["requestType"],A:function(I){if(I.requestType!="PASSWORD_RESET")throw new H("internal-error");zi(I)},Z:"email",B:!0},uU={mb:!0,endpoint:"getProjectConfig",Vb:"GET"},rte={mb:!0,endpoint:"getRecaptchaParam",Vb:"GET",G:function(I){if(!I.recaptchaSiteKey)throw new H("internal-error")}},ate={endpoint:"resetPassword",A:kM,Z:"email",B:!0},lte={endpoint:"sendVerificationCode",O:["phoneNumber","recaptchaToken"],Z:"sessionInfo",B:!0},dU={endpoint:"setAccountInfo",O:["idToken"],A:qr,V:!0},WM={endpoint:"setAccountInfo",O:["idToken"],A:function(I){if(qr(I),!I.password)throw new H("weak-password")},G:Wa,V:!0},fU={endpoint:"signupNewUser",G:Wa,V:!0,B:!0},ste={endpoint:"accounts/mfaEnrollment:start",O:["idToken","phoneEnrollmentInfo"],A:function(I){if(!I.phoneEnrollmentInfo)throw new H("internal-error");if(!I.phoneEnrollmentInfo.phoneNumber)throw new H("missing-phone-number");if(!I.phoneEnrollmentInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneSessionInfo||!I.phoneSessionInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},NM={endpoint:"accounts/mfaSignIn:start",O:["mfaPendingCredential","mfaEnrollmentId","phoneSignInInfo"],A:function(I){if(!I.phoneSignInInfo||!I.phoneSignInInfo.recaptchaToken)throw new H("missing-app-credential")},G:function(I){if(!I.phoneResponseInfo||!I.phoneResponseInfo.sessionInfo)throw new H("internal-error")},B:!0,Na:!0},hU={endpoint:"verifyAssertion",A:Dy,Za:DM,G:yS,V:!0,B:!0},h8={endpoint:"verifyAssertion",A:Dy,Za:DM,G:function(I){if(I.errorMessage&&I.errorMessage=="USER_NOT_FOUND")throw new H("user-not-found");if(I.errorMessage)throw jM(I.errorMessage);Wa(I)},V:!0,B:!0},UM={endpoint:"verifyAssertion",A:function(I){if(Dy(I),!I.idToken)throw new H("internal-error")},Za:DM,G:yS,V:!0},pU={endpoint:"verifyCustomToken",A:function(I){if(!I.token)throw new H("invalid-custom-token")},G:Wa,V:!0,B:!0},BM={endpoint:"verifyPassword",A:function(I){if(zi(I),!I.password)throw new H("wrong-password")},G:Wa,V:!0,B:!0},wS={endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},gU={endpoint:"verifyPhoneNumber",A:function(I){if(!I.idToken)throw new H("internal-error");Sa(I)},G:function(I){if(I.temporaryProof)throw I.code="credential-already-in-use",Sy(I);Wa(I)}},om={Ib:{USER_NOT_FOUND:"user-not-found"},endpoint:"verifyPhoneNumber",A:Sa,G:Wa,B:!0},W3={endpoint:"accounts/mfaEnrollment:withdraw",O:["idToken","mfaEnrollmentId"],G:function(I){if(!!I[Zt]^!!I.refreshToken)throw new H("internal-error")},B:!0,Na:!0};function Da(I,V,ce){if(!Ay(ce,V.O))return $i(new H("internal-error"));var Re=!!V.Na,Xe=V.Vb||"POST",vt;return Mo(ce).then(V.A).then(function(){return V.V&&(ce.returnSecureToken=!0),V.B&&I.b&&typeof ce.tenantId>"u"&&(ce.tenantId=I.b),Re?xi(I,I.i,V.endpoint,Xe,ce,V.Ib,V.mb||!1):xi(I,I.h,V.endpoint,Xe,ce,V.Ib,V.mb||!1)}).then(function(Et){return vt=Et,V.Za?V.Za(ce,vt):vt}).then(V.G).then(function(){if(!V.Z)return vt;if(!(V.Z in vt))throw new H("internal-error");return vt[V.Z]})}function jM(I){return YM({error:{errors:[{message:I}],code:400,message:I}})}function YM(I,V){var ce=(I.error&&I.error.errors&&I.error.errors[0]||{}).reason||"",Re={keyInvalid:"invalid-api-key",ipRefererBlocked:"app-not-authorized"};if(ce=Re[ce]?new H(Re[ce]):null)return ce;ce=I.error&&I.error.message||"",Re={INVALID_CUSTOM_TOKEN:"invalid-custom-token",CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_EMAIL:"invalid-email",INVALID_PASSWORD:"wrong-password",USER_DISABLED:"user-disabled",MISSING_PASSWORD:"internal-error",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_OR_INVALID_NONCE:"missing-or-invalid-nonce",INVALID_MESSAGE_PAYLOAD:"invalid-message-payload",INVALID_RECIPIENT_EMAIL:"invalid-recipient-email",INVALID_SENDER:"invalid-sender",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",INVALID_PROVIDER_ID:"invalid-provider-id",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",CORS_UNSUPPORTED:"cors-unsupported",DYNAMIC_LINK_NOT_ACTIVATED:"dynamic-link-not-activated",INVALID_APP_ID:"invalid-app-id",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",WEAK_PASSWORD:"weak-password",OPERATION_NOT_ALLOWED:"operation-not-allowed",USER_CANCELLED:"user-cancelled",CAPTCHA_CHECK_FAILED:"captcha-check-failed",INVALID_APP_CREDENTIAL:"invalid-app-credential",INVALID_CODE:"invalid-verification-code",INVALID_PHONE_NUMBER:"invalid-phone-number",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_APP_CREDENTIAL:"missing-app-credential",MISSING_CODE:"missing-verification-code",MISSING_PHONE_NUMBER:"missing-phone-number",MISSING_SESSION_INFO:"missing-verification-id",QUOTA_EXCEEDED:"quota-exceeded",SESSION_EXPIRED:"code-expired",REJECTED_CREDENTIAL:"rejected-credential",INVALID_CONTINUE_URI:"invalid-continue-uri",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",MISSING_IOS_BUNDLE_ID:"missing-ios-bundle-id",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_DYNAMIC_LINK_DOMAIN:"invalid-dynamic-link-domain",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",INVALID_CERT_HASH:"invalid-cert-hash",UNSUPPORTED_TENANT_OPERATION:"unsupported-tenant-operation",INVALID_TENANT_ID:"invalid-tenant-id",TENANT_ID_MISMATCH:"tenant-id-mismatch",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",EMAIL_CHANGE_NEEDS_VERIFICATION:"email-change-needs-verification",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",UNSUPPORTED_FIRST_FACTOR:"unsupported-first-factor",UNVERIFIED_EMAIL:"unverified-email"},Ee(Re,V||{}),V=(V=ce.match(/^[^\s]+\s*:\s*([\s\S]*)$/))&&1"u"&&delete sn[Zn]}),I.ports[0].postMessage({status:"done",eventId:ce,eventType:V,response:Et})})}};function Eh(I,V,ce){Le(I.a)&&I.b.addEventListener("message",I.f),typeof I.a[V]>"u"&&(I.a[V]=[]),I.a[V].push(ce)}function SU(I){this.a=I}SU.prototype.postMessage=function(I,V){this.a.postMessage(I,V)};function TU(I){this.c=I,this.b=!1,this.a=[]}function PU(I,V,ce,Re){var Xe,vt=ce||{},Et,sn,Zn,Io=null;if(I.b)return $i(Error("connection_unavailable"));var Hr=Re?800:50,Al=typeof MessageChannel<"u"?new MessageChannel:null;return new Uo(function(fl,$0){Al?(Xe=Math.floor(Math.random()*Math.pow(10,20)).toString(),Al.port1.start(),sn=setTimeout(function(){$0(Error("unsupported_event"))},Hr),Et=function(Ly){Ly.data.eventId===Xe&&(Ly.data.status==="ack"?(clearTimeout(sn),Zn=setTimeout(function(){$0(Error("timeout"))},3e3)):Ly.data.status==="done"?(clearTimeout(Zn),typeof Ly.data.response<"u"?fl(Ly.data.response):$0(Error("unknown_error"))):(clearTimeout(sn),clearTimeout(Zn),$0(Error("invalid_response"))))},Io={messageChannel:Al,onMessage:Et},I.a.push(Io),Al.port1.addEventListener("message",Et),I.c.postMessage({eventType:V,eventId:Xe,data:vt},[Al.port2])):$0(Error("connection_unavailable"))}).then(function(fl){return SS(I,Io),fl}).o(function(fl){throw SS(I,Io),fl})}function SS(I,V){if(V){var ce=V.messageChannel,Re=V.onMessage;ce&&(ce.port1.removeEventListener("message",Re),ce.port1.close()),$(I.a,function(Xe){return Xe==V})}}TU.prototype.close=function(){for(;0"u"&&(Re=null);var Xe=s.localStorage.getItem(ce);Xe!==Re&&(this.b[ce]=Xe,this.nb(ce))}else if(V.indexOf("firebase:")==0&&this.a[V]){if(typeof I.a.a<"u"?N3(this,"local").ia(this.f):$M(this),this.m){if(ce=s.localStorage.getItem(V),Re=I.a.newValue,Re!==ce)Re!==null?s.localStorage.setItem(V,Re):s.localStorage.removeItem(V);else if(this.b[V]===Re&&typeof I.a.a>"u")return}var vt=this;ce=function(){(typeof I.a.a<"u"||vt.b[V]!==s.localStorage.getItem(V))&&(vt.b[V]=s.localStorage.getItem(V),vt.nb(V))},It&&po&&po==10&&s.localStorage.getItem(V)!==I.a.newValue&&I.a.newValue!==I.a.oldValue?setTimeout(ce,10):ce()}}else ae(I,y(this.nb,this))},t.nb=function(I){this.a[I]&&ae(this.a[I],function(V){V()})};function Ite(I){this.a=I,this.b=A8()}var QM={name:"authEvent",F:"local"};function zte(I){return I.b.get(QM,I.a).then(function(V){return GA(V)})}function Dte(){this.a=A8()}function Ete(){this.b=-1}function CS(I,V){this.b=LU,this.f=s.Uint8Array?new Uint8Array(this.b):Array(this.b),this.g=this.c=0,this.a=[],this.i=I,this.h=V,this.l=s.Int32Array?new Int32Array(64):Array(64),RS===void 0&&(s.Int32Array?RS=new Int32Array(nI):RS=nI),this.reset()}var RS;x(CS,Ete);for(var LU=64,kte=LU-1,WU=[],ZM=0;ZMV;V++){Xe=ce[V-15]|0,Re=ce[V-2]|0;var vt=(ce[V-16]|0)+((Xe>>>7|Xe<<25)^(Xe>>>18|Xe<<14)^Xe>>>3)|0,Et=(ce[V-7]|0)+((Re>>>17|Re<<15)^(Re>>>19|Re<<13)^Re>>>10)|0;ce[V]=vt+Et|0}Re=I.a[0]|0,Xe=I.a[1]|0;var sn=I.a[2]|0,Zn=I.a[3]|0,Io=I.a[4]|0,Hr=I.a[5]|0,Al=I.a[6]|0;for(vt=I.a[7]|0,V=0;64>V;V++){var fl=((Re>>>2|Re<<30)^(Re>>>13|Re<<19)^(Re>>>22|Re<<10))+(Re&Xe^Re&sn^Xe&sn)|0;Et=Io&Hr^~Io&Al,vt=vt+((Io>>>6|Io<<26)^(Io>>>11|Io<<21)^(Io>>>25|Io<<7))|0,Et=Et+(RS[V]|0)|0,Et=vt+(Et+(ce[V]|0)|0)|0,vt=Al,Al=Hr,Hr=Io,Io=Zn+Et|0,Zn=sn,sn=Xe,Xe=Re,Re=Et+fl|0}I.a[0]=I.a[0]+Re|0,I.a[1]=I.a[1]+Xe|0,I.a[2]=I.a[2]+sn|0,I.a[3]=I.a[3]+Zn|0,I.a[4]=I.a[4]+Io|0,I.a[5]=I.a[5]+Hr|0,I.a[6]=I.a[6]+Al|0,I.a[7]=I.a[7]+vt|0}function tI(I,V,ce){ce===void 0&&(ce=V.length);var Re=0,Xe=I.c;if(typeof V=="string")for(;Re=vt&&vt==(vt|0)))throw Error("message must be a byte array");I.f[Xe++]=vt,Xe==I.b&&(eI(I),Xe=0)}else throw Error("message must be string or array");I.c=Xe,I.g+=ce}var nI=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function oI(){CS.call(this,8,Fte)}x(oI,CS);var Fte=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function UU(I,V,ce,Re,Xe,vt){this.v=I,this.i=V,this.l=ce,this.m=Re||null,this.u=Xe||null,this.s=vt,this.h=V+":"+ce,this.C=new Dte,this.g=new Ite(this.h),this.f=null,this.b=[],this.a=this.c=null}function HS(I){return new H("invalid-cordova-configuration",I)}t=UU.prototype,t.ma=function(){return this.Ia?this.Ia:this.Ia=c5().then(function(){if(typeof _l("universalLinks.subscribe",s)!="function")throw HS("cordova-universal-links-plugin-fix is not installed");if(typeof _l("BuildInfo.packageName",s)>"u")throw HS("cordova-plugin-buildinfo is not installed");if(typeof _l("cordova.plugins.browsertab.openUrl",s)!="function")throw HS("cordova-plugin-browsertab is not installed");if(typeof _l("cordova.InAppBrowser.open",s)!="function")throw HS("cordova-plugin-inappbrowser is not installed")},function(){throw new H("cordova-not-ready")})};function Lte(){for(var I=20,V=[];0V.c?tI(V,NU,56-V.c):tI(V,NU,V.b-(V.c-56));for(var Re=63;56<=Re;Re--)V.f[Re]=ce&255,ce/=256;for(eI(V),Re=ce=0;Re>Xe&255;return HM(I)}t.Pb=function(I,V){return V(new H("operation-not-supported-in-this-environment")),Mo()},t.Nb=function(){return $i(new H("operation-not-supported-in-this-environment"))},t.ac=function(){return!1},t.Yb=function(){return!0},t.Ub=function(){return!0},t.Ob=function(I,V,ce,Re){if(this.c)return $i(new H("redirect-operation-pending"));var Xe=this,vt=s.document,Et=null,sn=null,Zn=null,Io=null;return this.c=Mo().then(function(){return qg(V),jU(Xe)}).then(function(){return Wte(Xe,I,V,ce,Re)}).then(function(){return new Uo(function(Hr,Al){sn=function(){var fl=_l("cordova.plugins.browsertab.close",s);return Hr(),typeof fl=="function"&&fl(),Xe.a&&typeof Xe.a.close=="function"&&(Xe.a.close(),Xe.a=null),!1},Xe.Ea(sn),Zn=function(){Et||(Et=Gc(2e3).then(function(){Al(new H("redirect-cancelled-by-user"))}))},Io=function(){CA()&&Zn()},vt.addEventListener("resume",Zn,!1),Qs().toLowerCase().match(/android/)||vt.addEventListener("visibilitychange",Io,!1)}).o(function(Hr){return iI(Xe).then(function(){throw Hr})})}).oa(function(){Zn&&vt.removeEventListener("resume",Zn,!1),Io&&vt.removeEventListener("visibilitychange",Io,!1),Et&&Et.cancel(),sn&&Xe.Ta(sn),Xe.c=null})};function Wte(I,V,ce,Re,Xe){var vt=Lte(),Et=new Gl(V,Re,null,vt,new H("no-auth-event"),null,Xe),sn=_l("BuildInfo.packageName",s);if(typeof sn!="string")throw new H("invalid-cordova-configuration");var Zn=_l("BuildInfo.displayName",s),Io={};if(Qs().toLowerCase().match(/iphone|ipad|ipod/))Io.ibi=sn;else if(Qs().toLowerCase().match(/android/))Io.apn=sn;else return $i(new H("operation-not-supported-in-this-environment"));Zn&&(Io.appDisplayName=Zn),vt=MS(vt),Io.sessionId=vt;var Hr=t4(I.v,I.i,I.l,V,ce,null,Re,I.m,Io,I.u,Xe,I.s);return I.ma().then(function(){var Al=I.h;return I.C.a.set(QM,Et.w(),Al)}).then(function(){var Al=_l("cordova.plugins.browsertab.isAvailable",s);if(typeof Al!="function")throw new H("invalid-cordova-configuration");var fl=null;Al(function($0){if($0){if(fl=_l("cordova.plugins.browsertab.openUrl",s),typeof fl!="function")throw new H("invalid-cordova-configuration");fl(Hr)}else{if(fl=_l("cordova.InAppBrowser.open",s),typeof fl!="function")throw new H("invalid-cordova-configuration");$0=Qs(),I.a=fl(Hr,$0.match(/(iPad|iPhone|iPod).*OS 7_\d/i)||$0.match(/(iPad|iPhone|iPod).*OS 8_\d/i)?"_blank":"_system","location=yes")}})})}function BU(I,V){for(var ce=0;ceI.f&&(I.a=I.f),V)}function gI(I,V){I.stop(),I.b=Gc(Jte(I,V)).then(function(){return Z7()}).then(function(){return I.h()}).then(function(){gI(I,!0)}).o(function(ce){I.i(ce)&&gI(I,!1)})}pI.prototype.stop=function(){this.b&&(this.b.cancel(),this.b=null)};function S8(I){this.f=I,this.b=this.a=null,this.c=Date.now()}S8.prototype.w=function(){return{apiKey:this.f.c,refreshToken:this.a,accessToken:this.b&&this.b.toString(),expirationTime:this.c}};function eB(I,V){typeof V>"u"&&(I.b?(V=I.b,V=V.a-V.g):V=0),I.c=Date.now()+1e3*V}function rm(I,V){I.b=v5(V[Zt]||""),I.a=V.refreshToken,V=V.expiresIn,eB(I,typeof V<"u"?Number(V):void 0)}function tB(I,V){I.b=V.b,I.a=V.a,I.c=V.c}function kS(I,V){return On(I.f,V).then(function(ce){return I.b=v5(ce.access_token),I.a=ce.refresh_token,eB(I,ce.expires_in),{accessToken:I.b.toString(),refreshToken:I.a}}).o(function(ce){throw ce.code=="auth/user-token-expired"&&(I.a=null),ce})}S8.prototype.getToken=function(I){return I=!!I,this.b&&!this.a?$i(new H("user-token-expired")):I||!this.b||Date.now()>this.c-3e4?this.a?kS(this,{grant_type:"refresh_token",refresh_token:this.a}):Mo(null):Mo({accessToken:this.b.toString(),refreshToken:this.a})};function gs(I,V){this.a=I||null,this.b=V||null,qc(this,{lastSignInTime:v3(V||null),creationTime:v3(I||null)})}function Dc(I){return new gs(I.a,I.b)}gs.prototype.w=function(){return{lastLoginAt:this.b,createdAt:this.a}};function nB(I,V,ce,Re,Xe,vt){qc(this,{uid:I,displayName:Re||null,photoURL:Xe||null,email:ce||null,phoneNumber:vt||null,providerId:V})}function kh(I,V,ce){this.N=[],this.l=I.apiKey,this.m=I.appName,this.s=I.authDomain||null;var Re=ro.SDK_VERSION?Og(ro.SDK_VERSION):null;this.a=new Ke(this.l,L(E),Re),(this.u=I.emulatorConfig||null)&&Ji(this.a,this.u),this.h=new S8(this.a),WS(this,V[Zt]),rm(this.h,V),Pi(this,"refreshToken",this.h.a),oB(this,ce||{}),Ol.call(this),this.P=!1,this.s&&Qu()&&(this.b=i4(this.s,this.l,this.m,this.u)),this.W=[],this.i=null,this.D=P8(this),this.ba=y(this.ib,this);var Xe=this;this.za=null,this.Pa=function(vt){Xe.xa(vt.h)},this.qa=null,this.Ba=function(vt){mI(Xe,vt.c)},this.$=null,this.aa=[],this.Oa=function(vt){T8(Xe,vt.f)},this.ja=null,this.S=new im(this,ce),Pi(this,"multiFactor",this.S)}x(kh,Ol),kh.prototype.xa=function(I){this.za=I,Dr(this.a,I)};function mI(I,V){I.u=V,Ji(I.a,V),I.b&&(V=I.b,I.b=i4(I.s,I.l,I.m,I.u),I.P&&(x8(V,I),v8(I.b,I)))}kh.prototype.la=function(){return this.za};function yI(I,V){I.qa&&Vi(I.qa,"languageCodeChanged",I.Pa),(I.qa=V)&&Xn(V,"languageCodeChanged",I.Pa)}function AI(I,V){I.$&&Vi(I.$,"emulatorConfigChanged",I.Ba),(I.$=V)&&Xn(V,"emulatorConfigChanged",I.Ba)}function T8(I,V){I.aa=V,Gi(I.a,ro.SDK_VERSION?Og(ro.SDK_VERSION,I.aa):null)}kh.prototype.Ga=function(){return Se(this.aa)};function wI(I,V){I.ja&&Vi(I.ja,"frameworkChanged",I.Oa),(I.ja=V)&&Xn(V,"frameworkChanged",I.Oa)}kh.prototype.ib=function(){this.D.b&&(this.D.stop(),this.D.start())};function FS(I){try{return ro.app(I.m).auth()}catch{throw new H("internal-error","No firebase.auth.Auth instance is available for the Firebase App '"+I.m+"'!")}}function P8(I){return new pI(function(){return I.I(!0)},function(V){return!!(V&&V.code=="auth/network-request-failed")},function(){var V=I.h.c-Date.now()-3e5;return 0"u"||Le(I)?{}:NA(new xu(I))}).then(function(Re){return V.a.vb(ce,Re)}).then(function(Re){if(V.email!=Re)return V.reload()}).then(function(){}))},t.Fb=function(I,V){var ce=this,Re=null;return P0(this,this.I().then(function(Xe){return Re=Xe,typeof V>"u"||Le(V)?{}:NA(new xu(V))}).then(function(Xe){return ce.a.Fb(Re,I,Xe)}).then(function(Xe){if(ce.email!=Xe)return ce.reload()}).then(function(){}))};function P0(I,V,ce){var Re=qte(I,V,ce);return I.N.push(Re),Re.oa(function(){fe(I.N,Re)}),Re.o(function(Xe){var vt=null;throw Xe&&Xe.code==="auth/multi-factor-auth-required"&&(vt=ZU(Xe.w(),FS(I),y(I.jc,I))),vt||Xe})}t.jc=function(I){var V=null,ce=this;return I=vy(Mo(I),ce.uid).then(function(Re){return V=C8(ce,Re,"reauthenticate"),$c(ce,Re),ce.i=null,ce.reload()}).then(function(){return V}),P0(this,I,!0)};function qte(I,V,ce){return I.i&&!ce?(V.cancel(),$i(I.i)):V.o(function(Re){throw!Re||Re.code!="auth/user-disabled"&&Re.code!="auth/user-token-expired"||(I.i||I.dispatchEvent(new a4("userInvalidated")),I.i=Re),Re})}t.toJSON=function(){return this.w()},t.w=function(){var I={uid:this.uid,displayName:this.displayName,photoURL:this.photoURL,email:this.email,emailVerified:this.emailVerified,phoneNumber:this.phoneNumber,isAnonymous:this.isAnonymous,tenantId:this.tenantId,providerData:[],apiKey:this.l,appName:this.m,authDomain:this.s,stsTokenManager:this.h.w(),redirectEventId:this.ga||null};return this.metadata&&Ee(I,this.metadata.w()),ae(this.providerData,function(V){I.providerData.push(A5(V))}),Ee(I,this.S.w()),I};function sB(I){if(!I.apiKey)return null;var V={apiKey:I.apiKey,authDomain:I.authDomain,appName:I.appName,emulatorConfig:I.emulatorConfig},ce={};if(I.stsTokenManager&&I.stsTokenManager.accessToken){ce[Zt]=I.stsTokenManager.accessToken,ce.refreshToken=I.stsTokenManager.refreshToken||null;var Re=I.stsTokenManager.expirationTime;Re&&(ce.expiresIn=(Re-Date.now())/1e3)}else return null;var Xe=new kh(V,ce,I);return I.providerData&&ae(I.providerData,function(vt){vt&&SI(Xe,If(vt))}),I.redirectEventId&&(Xe.ga=I.redirectEventId),Xe}function $te(I,V,ce,Re){var Xe=new kh(I,V);return ce&&(Xe.ha=ce),Re&&T8(Xe,Re),Xe.reload().then(function(){return Xe})}function Qte(I,V,ce,Re){var Xe=I.h,vt={};return vt[Zt]=Xe.b&&Xe.b.toString(),vt.refreshToken=Xe.a,V=new kh(V||{apiKey:I.l,authDomain:I.s,appName:I.m},vt),ce&&(V.ha=ce),Re&&T8(V,Re),Gr(V,I),V}function Zte(I){this.a=I,this.b=A8()}var CI={name:"redirectUser",F:"session"};function cB(I){return ky(I.b,CI,I.a)}function ene(I,V){return I.b.get(CI,I.a).then(function(ce){return ce&&V&&(ce.authDomain=V),sB(ce||{})})}function RI(I){this.a=I,this.b=A8(),this.c=null,this.f=MI(this),this.b.addListener(Cp("local"),this.a,y(this.g,this))}RI.prototype.g=function(){var I=this,V=Cp("local");R0(this,function(){return Mo().then(function(){return I.c&&I.c.F!="local"?I.b.get(V,I.a):null}).then(function(ce){if(ce)return HI(I,"local").then(function(){I.c=V})})})};function HI(I,V){var ce=[],Re;for(Re in o4)o4[Re]!==V&&ce.push(ky(I.b,Cp(o4[Re]),I.a));return ce.push(ky(I.b,II,I.a)),ti(ce)}function MI(I){var V=Cp("local"),ce=Cp("session"),Re=Cp("none");return Hte(I.b,V,I.a).then(function(){return I.b.get(ce,I.a)}).then(function(Xe){return Xe?ce:I.b.get(Re,I.a).then(function(vt){return vt?Re:I.b.get(V,I.a).then(function(Et){return Et?V:I.b.get(II,I.a).then(function(sn){return sn?Cp(sn):V})})})}).then(function(Xe){return I.c=Xe,HI(I,Xe.F)}).o(function(){I.c||(I.c=V)})}var II={name:"persistence",F:"session"};function Cp(I){return{name:"authUser",F:I}}RI.prototype.yb=function(I){var V=null,ce=this;return Rte(I),R0(this,function(){return I!=ce.c.F?ce.b.get(ce.c,ce.a).then(function(Re){return V=Re,HI(ce,I)}).then(function(){if(ce.c=Cp(I),V)return ce.b.set(ce.c,V,ce.a)}):Mo()})};function tne(I){return R0(I,function(){return I.b.set(II,I.c.F,I.a)})}function uB(I,V){return R0(I,function(){return I.b.set(I.c,V.w(),I.a)})}function dB(I){return R0(I,function(){return ky(I.b,I.c,I.a)})}function C0(I,V,ce){return R0(I,function(){return I.b.get(I.c,I.a).then(function(Re){return Re&&V&&(Re.authDomain=V),Re&&ce&&(Re.emulatorConfig=ce),sB(Re||{})})})}function R0(I,V){return I.f=I.f.then(V,V),I.f}function P1(I){if(this.l=!1,Pi(this,"settings",new $U),Pi(this,"app",I),Xl(this).options&&Xl(this).options.apiKey)I=ro.SDK_VERSION?Og(ro.SDK_VERSION):null,this.a=new Ke(Xl(this).options&&Xl(this).options.apiKey,L(E),I);else throw new H("invalid-api-key");this.P=[],this.s=[],this.N=[],this.Pa=ro.INTERNAL.createSubscribe(y(this.zc,this)),this.W=void 0,this.ib=ro.INTERNAL.createSubscribe(y(this.Ac,this)),l4(this,null),this.i=new RI(Xl(this).options.apiKey+":"+Xl(this).name),this.D=new Zte(Xl(this).options.apiKey+":"+Xl(this).name),this.$=Ec(this,yB(this)),this.h=Ec(this,rne(this)),this.ba=!1,this.ja=y(this.Zc,this),this.Ba=y(this.da,this),this.qa=y(this.mc,this),this.za=y(this.wc,this),this.Aa=y(this.xc,this),this.b=null,pB(this),this.INTERNAL={},this.INTERNAL.delete=y(this.delete,this),this.INTERNAL.logFramework=y(this.Gc,this),this.u=0,Ol.call(this),one(this),this.J=[],this.R=null}x(P1,Ol);function fB(I){Nt.call(this,"languageCodeChanged"),this.h=I}x(fB,Nt);function hB(I){Nt.call(this,"emulatorConfigChanged"),this.c=I}x(hB,Nt);function zI(I){Nt.call(this,"frameworkChanged"),this.f=I}x(zI,Nt),t=P1.prototype,t.yb=function(I){return I=this.i.yb(I),Ec(this,I)},t.xa=function(I){this.aa===I||this.l||(this.aa=I,Dr(this.a,this.aa),this.dispatchEvent(new fB(this.la())))},t.la=function(){return this.aa},t.fd=function(){var I=s.navigator;this.xa(I&&(I.languages&&I.languages[0]||I.language||I.userLanguage)||null)},t.gd=function(I,V){if(!this.R){if(!/^https?:\/\//.test(I))throw new H("argument-error","Emulator URL must start with a valid scheme (http:// or https://).");V=V?!!V.disableWarnings:!1,nne(V),this.R={url:I,ec:V},this.settings.jb=!0,Ji(this.a,this.R),this.dispatchEvent(new hB(this.R))}};function nne(I){typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),s.document&&!I&&Ds().then(function(){var V=s.document.createElement("div");V.innerText="Running in emulator mode. Do not use with production credentials.",V.style.position="fixed",V.style.width="100%",V.style.backgroundColor="#ffffff",V.style.border=".1em solid #000000",V.style.color="#b50000",V.style.bottom="0px",V.style.left="0px",V.style.margin="0px",V.style.zIndex=1e4,V.style.textAlign="center",V.classList.add("firebase-emulator-warning"),s.document.body.appendChild(V)})}t.Gc=function(I){this.J.push(I),Gi(this.a,ro.SDK_VERSION?Og(ro.SDK_VERSION,this.J):null),this.dispatchEvent(new zI(this.J))},t.Ga=function(){return Se(this.J)},t.zb=function(I){this.S===I||this.l||(this.S=I,this.a.b=this.S)},t.T=function(){return this.S};function one(I){Object.defineProperty(I,"lc",{get:function(){return this.la()},set:function(V){this.xa(V)},enumerable:!1}),I.aa=null,Object.defineProperty(I,"ti",{get:function(){return this.T()},set:function(V){this.zb(V)},enumerable:!1}),I.S=null,Object.defineProperty(I,"emulatorConfig",{get:function(){if(this.R){var V=wu(this.R.url);V=If({protocol:V.c,host:V.a,port:V.g,options:If({disableWarnings:this.R.ec})})}else V=null;return V},enumerable:!1})}t.toJSON=function(){return{apiKey:Xl(this).options.apiKey,authDomain:Xl(this).options.authDomain,appName:Xl(this).name,currentUser:aa(this)&&aa(this).w()}};function DI(I){return I.Oa||$i(new H("auth-domain-config-required"))}function pB(I){var V=Xl(I).options.authDomain,ce=Xl(I).options.apiKey;V&&Qu()&&(I.Oa=I.$.then(function(){if(!I.l){if(I.b=i4(V,ce,Xl(I).name,I.R),v8(I.b,I),aa(I)&&am(aa(I)),I.m){am(I.m);var Re=I.m;Re.xa(I.la()),yI(Re,I),Re=I.m,T8(Re,I.J),wI(Re,I),Re=I.m,mI(Re,I.R),AI(Re,I),I.m=null}return I.b}}))}t.Gb=function(I,V){switch(I){case"unknown":case"signInViaRedirect":return!0;case"signInViaPopup":return this.g==V&&!!this.f;default:return!1}},t.na=function(I,V,ce,Re){I=="signInViaPopup"&&this.g==Re&&(ce&&this.C?this.C(ce):V&&!ce&&this.f&&this.f(V),this.c&&(this.c.cancel(),this.c=null),delete this.f,delete this.C)},t.Fa=function(I,V){return I=="signInViaRedirect"||I=="signInViaPopup"&&this.g==V&&this.f?y(this.ic,this):null},t.ic=function(I,V,ce,Re){var Xe=this,vt={requestUri:I,postBody:Re,sessionId:V,tenantId:ce};return this.c&&(this.c.cancel(),this.c=null),Xe.$.then(function(){return j3(Xe,AS(Xe.a,vt))})},t.Xc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=P3(I.providerId),Re=_g(),Xe=null;(!Zu()||w3())&&Xl(this).options.authDomain&&I.isOAuthProvider&&(Xe=t4(Xl(this).options.authDomain,Xl(this).options.apiKey,Xl(this).name,"signInViaPopup",I,null,Re,ro.SDK_VERSION||null,null,null,this.T(),this.R));var vt=_0(Xe,ce&&ce.va,ce&&ce.ua);return ce=DI(this).then(function(Et){return sI(Et,vt,"signInViaPopup",I,Re,!!Xe,V.T())}).then(function(){return new Uo(function(Et,sn){V.na("signInViaPopup",null,new H("cancelled-popup-request"),V.g),V.f=Et,V.C=sn,V.g=Re,V.c=GU(V.b,V,"signInViaPopup",vt,Re)})}).then(function(Et){return vt&&ps(vt),Et?If(Et):null}).o(function(Et){throw vt&&ps(vt),Et}),Ec(this,ce)},t.Yc=function(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=this,ce=DI(this).then(function(){return tne(V.i)}).then(function(){return VU(V.b,"signInViaRedirect",I,void 0,V.T())});return Ec(this,ce)};function gB(I){if(!Qu())return $i(new H("operation-not-supported-in-this-environment"));var V=DI(I).then(function(){return I.b.ra()}).then(function(ce){return ce?If(ce):null});return Ec(I,V)}t.ra=function(){var I=this;return gB(this).then(function(V){return I.b&&r4(I.b.b),V}).o(function(V){throw I.b&&r4(I.b.b),V})},t.dd=function(I){if(!I)return $i(new H("null-user"));if(this.S!=I.tenantId)return $i(new H("tenant-id-mismatch"));var V=this,ce={};ce.apiKey=Xl(this).options.apiKey,ce.authDomain=Xl(this).options.authDomain,ce.appName=Xl(this).name;var Re=Qte(I,ce,V.D,V.Ga());return Ec(this,this.h.then(function(){if(Xl(V).options.apiKey!=I.l)return Re.reload()}).then(function(){return aa(V)&&I.uid==aa(V).uid?(Gr(aa(V),I),V.da(I)):(l4(V,Re),am(Re),V.da(Re))}).then(function(){H8(V)}))};function ine(I,V){var ce={};return ce.apiKey=Xl(I).options.apiKey,ce.authDomain=Xl(I).options.authDomain,ce.appName=Xl(I).name,I.R&&(ce.emulatorConfig=I.R),I.$.then(function(){return $te(ce,V,I.D,I.Ga())}).then(function(Re){return aa(I)&&Re.uid==aa(I).uid?(Gr(aa(I),Re),I.da(Re)):(l4(I,Re),am(Re),I.da(Re))}).then(function(){H8(I)})}function l4(I,V){aa(I)&&(NS(aa(I),I.Ba),Vi(aa(I),"tokenChanged",I.qa),Vi(aa(I),"userDeleted",I.za),Vi(aa(I),"userInvalidated",I.Aa),vI(aa(I))),V&&(V.W.push(I.Ba),Xn(V,"tokenChanged",I.qa),Xn(V,"userDeleted",I.za),Xn(V,"userInvalidated",I.Aa),0this.u&&(this.u=0),this.u==0&&aa(this)&&vI(aa(this)),this.removeAuthTokenListener(I)},t.addAuthTokenListener=function(I){var V=this;this.s.push(I),Ec(this,this.h.then(function(){V.l||pe(V.s,I)&&I(Fy(V))}))},t.removeAuthTokenListener=function(I){$(this.s,function(V){return V==I})};function ane(I,V){I.N.push(V),Ec(I,I.h.then(function(){!I.l&&pe(I.N,V)&&I.W!==I.getUid()&&(I.W=I.getUid(),V(Fy(I)))}))}t.delete=function(){this.l=!0;for(var I=0;I"u"||Le(V)?{}:NA(new xu(V))}).then(function(Re){return ce.a.wb(I,Re)}).then(function(){}))},t.Wc=function(I,V){return Ec(this,dI(this,I,V,y(this.ab,this)))},t.Vc=function(I,V){var ce=this;return Ec(this,Mo().then(function(){var Re=V||dr(),Xe=Fs(I,Re);if(Re=Su(Re),!Re)throw new H("argument-error","Invalid email link!");if(Re.tenantId!==ce.T())throw new H("tenant-id-mismatch");return ce.ab(Xe)}))};function M8(){}M8.prototype.render=function(){},M8.prototype.reset=function(){},M8.prototype.getResponse=function(){},M8.prototype.execute=function(){};function s4(){this.a={},this.b=1e12}var BS=null;s4.prototype.render=function(I,V){return this.a[this.b.toString()]=new YS(I,V),this.b++},s4.prototype.reset=function(I){var V=jS(this,I);I=AB(I),V&&I&&(V.delete(),delete this.a[I])},s4.prototype.getResponse=function(I){return(I=jS(this,I))?I.getResponse():null},s4.prototype.execute=function(I){(I=jS(this,I))&&I.execute()};function jS(I,V){return(V=AB(V))&&I.a[V]||null}function AB(I){return(I=typeof I>"u"?1e12:I)?I.toString():null}function YS(I,V){this.g=!1,this.c=V,this.a=this.b=null,this.h=this.c.size!=="invisible",this.f=uo(I);var ce=this;this.i=function(){ce.execute()},this.h?this.execute():Xn(this.f,"click",this.i)}YS.prototype.getResponse=function(){return EI(this),this.b},YS.prototype.execute=function(){EI(this);var I=this;this.a||(this.a=setTimeout(function(){I.b=PA();var V=I.c.callback,ce=I.c["expired-callback"];if(V)try{V(I.b)}catch{}I.a=setTimeout(function(){if(I.a=null,I.b=null,ce)try{ce()}catch{}I.h&&I.execute()},6e4)},500))},YS.prototype.delete=function(){EI(this),this.g=!0,clearTimeout(this.a),this.a=null,Vi(this.f,"click",this.i)};function EI(I){if(I.g)throw Error("reCAPTCHA mock was already deleted!")}function kI(){}Pi(kI,"FACTOR_ID","phone");function FI(){}FI.prototype.g=function(){return BS||(BS=new s4),Mo(BS)},FI.prototype.c=function(){};var LI=null;function WI(){this.b=s.grecaptcha?1/0:0,this.f=null,this.a="__rcb"+Math.floor(1e6*Math.random()).toString()}var lne=new Ge(xt,"https://www.google.com/recaptcha/api.js?onload=%{onload}&render=explicit&hl=%{hl}"),sne=new Mf(3e4,6e4);WI.prototype.g=function(I){var V=this;return new Uo(function(ce,Re){var Xe=setTimeout(function(){Re(new H("network-request-failed"))},sne.get());if(!s.grecaptcha||I!==V.f&&!V.b){s[V.a]=function(){if(s.grecaptcha){V.f=I;var Et=s.grecaptcha.render;s.grecaptcha.render=function(sn,Zn){return sn=Et(sn,Zn),V.b++,sn},clearTimeout(Xe),ce(s.grecaptcha)}else clearTimeout(Xe),Re(new H("internal-error"));delete s[V.a]};var vt=at(lne,{onload:V.a,hl:I||""});Mo(F3(vt)).o(function(){clearTimeout(Xe),Re(new H("internal-error","Unable to load external reCAPTCHA dependencies!"))})}else clearTimeout(Xe),ce(s.grecaptcha)})},WI.prototype.c=function(){this.b--};var NI=null;function UI(I,V,ce,Re,Xe,vt,Et){if(Pi(this,"type","recaptcha"),this.c=this.f=null,this.J=!1,this.v=V,this.g=null,Et?(LI||(LI=new FI),Et=LI):(NI||(NI=new WI),Et=NI),this.m=Et,this.a=ce||{theme:"light",type:"image"},this.h=[],this.a[xB])throw new H("argument-error","sitekey should not be provided for reCAPTCHA as one is automatically provisioned for the current project.");if(this.i=this.a[cne]==="invisible",!s.document)throw new H("operation-not-supported-in-this-environment","RecaptchaVerifier is only supported in a browser HTTP/HTTPS environment with DOM support.");if(!uo(V)||!this.i&&uo(V).hasChildNodes())throw new H("argument-error","reCAPTCHA container is either not found or already contains inner elements!");this.s=new Ke(I,vt||null,Xe||null),this.u=Re||function(){return null};var sn=this;this.l=[];var Zn=this.a[wB];this.a[wB]=function(Hr){if(bB(sn,Hr),typeof Zn=="function")Zn(Hr);else if(typeof Zn=="string"){var Al=_l(Zn,s);typeof Al=="function"&&Al(Hr)}};var Io=this.a[vB];this.a[vB]=function(){if(bB(sn,null),typeof Io=="function")Io();else if(typeof Io=="string"){var Hr=_l(Io,s);typeof Hr=="function"&&Hr()}}}var wB="callback",vB="expired-callback",xB="sitekey",cne="size";function bB(I,V){for(var ce=0;ceXe||Xe>=TB.length)throw new H("internal-error","Argument validator received an unsupported number of arguments.");ce=TB[Xe],Re=(Re?"":ce+" argument ")+(V.name?'"'+V.name+'" ':"")+"must be "+V.K+".";break e}Re=null}}if(Re)throw new H("argument-error",I+" failed: "+Re)}var TB="First Second Third Fourth Fifth Sixth Seventh Eighth Ninth".split(" ");function Ni(I,V){return{name:I||"",K:"a valid string",optional:!!V,M:function(ce){return typeof ce=="string"}}}function YI(I,V){return{name:I||"",K:"a boolean",optional:!!V,M:function(ce){return typeof ce=="boolean"}}}function s0(I,V){return{name:I||"",K:"a valid object",optional:!!V,M:w}}function k5(I,V){return{name:I||"",K:"a function",optional:!!V,M:function(ce){return typeof ce=="function"}}}function C1(I,V){return{name:I||"",K:"null",optional:!!V,M:function(ce){return ce===null}}}function PB(){return{name:"",K:"an HTML element",optional:!1,M:function(I){return!!(I&&I instanceof Element)}}}function dne(){return{name:"auth",K:"an instance of Firebase Auth",optional:!0,M:function(I){return!!(I&&I instanceof P1)}}}function fne(){return{name:"app",K:"an instance of Firebase App",optional:!0,M:function(I){return!!(I&&I instanceof ro.app.App)}}}function F5(I){return{name:I?I+"Credential":"credential",K:I?"a valid "+I+" credential":"a valid credential",optional:!1,M:function(V){if(!V)return!1;var ce=!I||V.providerId===I;return!(!V.ka||!ce)}}}function _S(){return{name:"multiFactorAssertion",K:"a valid multiFactorAssertion",optional:!1,M:function(I){return I?!!I.tb:!1}}}function c4(){return{name:"authProvider",K:"a valid Auth provider",optional:!1,M:function(I){return!!(I&&I.providerId&&I.hasOwnProperty&&I.hasOwnProperty("isOAuthProvider"))}}}function OI(I,V){return w(I)&&typeof I.type=="string"&&I.type===V&&typeof I.Ha=="function"}function CB(I){return w(I)&&typeof I.uid=="string"}function Pu(){return{name:"applicationVerifier",K:"an implementation of firebase.auth.ApplicationVerifier",optional:!1,M:function(I){return!(!I||typeof I.type!="string"||typeof I.verify!="function")}}}function tc(I,V,ce,Re){return{name:ce||"",K:I.K+" or "+V.K,optional:!!Re,M:function(Xe){return I.M(Xe)||V.M(Xe)}}}function nc(I,V){for(var ce in V){var Re=V[ce].name;I[Re]=HB(Re,I[ce],V[ce].j)}}function RB(I,V){for(var ce in V){var Re=V[ce].name;Re!==ce&&Object.defineProperty(I,Re,{get:S(function(Xe){return this[Xe]},ce),set:S(function(Xe,vt,Et,sn){SB(Xe,[Et],[sn],!0),this[vt]=sn},Re,ce,V[ce].lb),enumerable:!0})}}function Qc(I,V,ce,Re){I[V]=HB(V,ce,Re)}function HB(I,V,ce){function Re(){var Et=Array.prototype.slice.call(arguments);return SB(Xe,ce,Et),V.apply(this,Et)}if(!ce)return V;var Xe=_I(I),vt;for(vt in V)Re[vt]=V[vt];for(vt in V.prototype)Re.prototype[vt]=V.prototype[vt];return Re}function _I(I){return I=I.split("."),I[I.length-1]}nc(P1.prototype,{kb:{name:"applyActionCode",j:[Ni("code")]},Sa:{name:"checkActionCode",j:[Ni("code")]},ob:{name:"confirmPasswordReset",j:[Ni("code"),Ni("newPassword")]},dc:{name:"createUserWithEmailAndPassword",j:[Ni("email"),Ni("password")]},hc:{name:"fetchSignInMethodsForEmail",j:[Ni("email")]},ra:{name:"getRedirectResult",j:[]},Bc:{name:"isSignInWithEmailLink",j:[Ni("emailLink")]},Hc:{name:"onAuthStateChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},Ic:{name:"onIdTokenChanged",j:[tc(s0(),k5(),"nextOrObserver"),k5("opt_error",!0),k5("opt_completed",!0)]},wb:{name:"sendPasswordResetEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),C1(null,!0),"opt_actionCodeSettings",!0)]},xb:{name:"sendSignInLinkToEmail",j:[Ni("email"),s0("actionCodeSettings")]},yb:{name:"setPersistence",j:[Ni("persistence")]},Sc:{name:"signInAndRetrieveDataWithCredential",j:[F5()]},Ab:{name:"signInAnonymously",j:[]},ab:{name:"signInWithCredential",j:[F5()]},Tc:{name:"signInWithCustomToken",j:[Ni("token")]},Uc:{name:"signInWithEmailAndPassword",j:[Ni("email"),Ni("password")]},Vc:{name:"signInWithEmailLink",j:[Ni("email"),Ni("emailLink",!0)]},Wc:{name:"signInWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Xc:{name:"signInWithPopup",j:[c4()]},Yc:{name:"signInWithRedirect",j:[c4()]},dd:{name:"updateCurrentUser",j:[tc(function(I){return{name:"user",K:"an instance of Firebase User",optional:!!I,M:function(V){return!!(V&&V instanceof kh)}}}(),C1(),"user")]},Bb:{name:"signOut",j:[]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},fd:{name:"useDeviceLanguage",j:[]},gd:{name:"useEmulator",j:[Ni("url"),s0("options",!0)]},jd:{name:"verifyPasswordResetCode",j:[Ni("code")]}}),RB(P1.prototype,{lc:{name:"languageCode",lb:tc(Ni(),C1(),"languageCode")},ti:{name:"tenantId",lb:tc(Ni(),C1(),"tenantId")}}),P1.Persistence=o4,P1.Persistence.LOCAL="local",P1.Persistence.SESSION="session",P1.Persistence.NONE="none",nc(kh.prototype,{delete:{name:"delete",j:[]},oc:{name:"getIdTokenResult",j:[YI("opt_forceRefresh",!0)]},I:{name:"getIdToken",j:[YI("opt_forceRefresh",!0)]},Cc:{name:"linkAndRetrieveDataWithCredential",j:[F5()]},rb:{name:"linkWithCredential",j:[F5()]},Dc:{name:"linkWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Ec:{name:"linkWithPopup",j:[c4()]},Fc:{name:"linkWithRedirect",j:[c4()]},Lc:{name:"reauthenticateAndRetrieveDataWithCredential",j:[F5()]},ub:{name:"reauthenticateWithCredential",j:[F5()]},Mc:{name:"reauthenticateWithPhoneNumber",j:[Ni("phoneNumber"),Pu()]},Nc:{name:"reauthenticateWithPopup",j:[c4()]},Oc:{name:"reauthenticateWithRedirect",j:[c4()]},reload:{name:"reload",j:[]},vb:{name:"sendEmailVerification",j:[tc(s0("opt_actionCodeSettings",!0),C1(null,!0),"opt_actionCodeSettings",!0)]},toJSON:{name:"toJSON",j:[Ni(null,!0)]},cd:{name:"unlink",j:[Ni("provider")]},Cb:{name:"updateEmail",j:[Ni("email")]},Db:{name:"updatePassword",j:[Ni("password")]},ed:{name:"updatePhoneNumber",j:[F5("phone")]},Eb:{name:"updateProfile",j:[s0("profile")]},Fb:{name:"verifyBeforeUpdateEmail",j:[Ni("email"),tc(s0("opt_actionCodeSettings",!0),C1(null,!0),"opt_actionCodeSettings",!0)]}}),nc(s4.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(M8.prototype,{execute:{name:"execute"},render:{name:"render"},reset:{name:"reset"},getResponse:{name:"getResponse"}}),nc(Uo.prototype,{oa:{name:"finally"},o:{name:"catch"},then:{name:"then"}}),RB($U.prototype,{appVerificationDisabled:{name:"appVerificationDisabledForTesting",lb:YI("appVerificationDisabledForTesting")}}),nc(uI.prototype,{confirm:{name:"confirm",j:[Ni("verificationCode")]}}),Qc(xp,"fromJSON",function(I){I=typeof I=="string"?JSON.parse(I):I;for(var V,ce=[T5,Ic,Zs,S5],Re=0;Re{const i=M(dn),r=M(o1),a=M(bc),l=()=>{const B=[];for(const[_,Y]of t.entries())B.push({...Y,key:_});return B},[s,c]=m.useState({x:0,y:0}),[u,d]=m.useState(!1),[f,p]=m.useState(!1),[g,A]=m.useState({left:0,top:0,bottom:0,right:0}),[w,b]=m.useState(!1),C=m.useRef(l()),P=m.useRef(),v=m.useRef(),T=be.useRef(null),y=m.useRef(null),S=m.useRef(null),x=S.current?S.current.clientWidth+40:680,R=S.current?S.current.clientHeight+100:600,{Search:H}=ns,D=Kt();m.useEffect(()=>{const B=()=>{c({x:Math.max(0,x-window.innerWidth),y:Math.min(0,window.innerHeight-R)})};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}},[]),m.useEffect(()=>{t&&(C.current=l(),b(!w))},[t]);const k=(B,_)=>{c({x:Math.max(_.x,x-window.innerWidth),y:Math.min(_.y,window.innerHeight-R)})},W=(B,_)=>{},N=()=>{ht.getState().set(B=>{B.showCloudFilePanel=!1})},L=B=>{_r.confirm({title:F("cloudFilePanel.DoYouReallyWantToDelete",D)+' "'+B+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(qG,{style:{marginRight:"6px"}}),F("word.Warning",D)+": "+F("message.ThisCannotBeUndone",D)]}),icon:h.jsx(WW,{}),onOk:()=>{n(B);const _=new URLSearchParams(window.location.search);_.get("title")===B&&_.get("userid")===r.uid&&window.history.pushState({},document.title,qp)}})},E=()=>{P.current&&v.current&&(o(P.current,v.current),v.current=void 0),d(!1)},U=(B,_)=>{if(y.current){const{clientWidth:Y,clientHeight:O}=window.document.documentElement,J=y.current.getBoundingClientRect();A({left:-J.left+_.x,right:Y-(J.right-_.x),top:-J.top+_.y,bottom:O-((J==null?void 0:J.bottom)-_.y)})}},{t:F}=jl();return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:F("word.Rename",D)}),open:u,onOk:E,onCancel:()=>{d(!1),v.current=void 0},modalRender:B=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(_,Y)=>U(_,Y),children:h.jsx("div",{ref:y,children:B})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:v.current?v.current:P.current,onPressEnter:E,onKeyDown:B=>{if(!JC.test(B.key))return B.preventDefault(),!1},onChange:B=>{v.current=B.target.value,b(!w)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(qG,{style:{marginRight:"4px"}}),F("word.Caution",D)+": "+F("cloudFilePanel.IfSharedOrPublishedRenamingFileBreaksExistingLinks",D),"."]})]})}),h.jsx(Vr,{nodeRef:T,handle:".handle",bounds:"parent",axis:"both",position:s,onDrag:k,onStop:W,onMouseDown:()=>{i(B=>{B.selectedFloatingWindow="cloudFilePanel"})},children:h.jsx(kfo,{ref:T,style:{zIndex:a==="cloudFilePanel"?xc:14},children:h.jsxs(Ffo,{ref:S,children:[h.jsxs(Lfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:F("cloudFilePanel.MyCloudFiles",D)+" ("+C.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{N()},onTouchStart:()=>{N()},children:F("word.Close",D)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(H,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:F("cloudFilePanel.SearchByTitle",D),allowClear:!0,size:"small",enterButton:!0,onSearch:B=>{var _;if(t){C.current=[];for(const[Y,O]of t.entries())(_=O.title)!=null&&_.toLowerCase().includes(B.toLowerCase())&&C.current.push({...O,key:Y});b(!w)}}})}),h.jsxs(Hd,{size:"small",style:{width:"100%",direction:"ltr"},dataSource:C.current,scroll:{y:390},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(Sae,{title:`${F("word.Title",D)}`,dataIndex:"title",width:"56%",sortDirections:["ascend","descend","ascend"],sorter:(B,_)=>B.title.localeCompare(_.title),render:B=>h.jsx(C6.Text,{style:{fontSize:"12px",cursor:"pointer"},title:F("word.Open",D),children:B}),onCell:B=>({onClick:()=>{const _=window.getSelection();_&&_.toString().length>0||e(B.title)}})},"title"),h.jsx(Sae,{title:`${F("word.Time",D)}`,dataIndex:"timestamp",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(B,_)=>B.timestamp-_.timestamp,render:B=>h.jsx(C6.Text,{style:{fontSize:"12px"},children:gc(new Date(B)).format("MM/DD/YYYY hh:mm A")})},"timestamp"),h.jsx(Sae,{width:"19%",title:`${F("word.Action",D)}`,render:B=>h.jsxs(en,{size:"middle",children:[h.jsx("img",{title:F("word.Delete",D),alt:"Delete",src:Aot,onClick:()=>{L(B.title)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:F("word.Rename",D),alt:"Rename",src:Dfo,onClick:()=>{P.current=B.title,d(!0)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx(VJe,{title:F("cloudFilePanel.CopyTitle",D),alt:"Copy Title",onClick:()=>{navigator.clipboard.writeText(B.title).then(()=>y2(F("cloudFilePanel.TitleCopiedToClipBoard",D)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:F("cloudFilePanel.GenerateLink",D),alt:"Link",src:Efo,onClick:()=>{const _=qp+"?client=web&userid="+B.userid+"&title="+encodeURIComponent(B.title);navigator.clipboard.writeText(_).then(()=>y2(F("cloudFilePanel.LinkGeneratedInClipBoard",D)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}})]})},"action")]})]})})})]})}),{Column:Nfo}=Hd,Ufo=Ho.div` +`,Ffo=be.memo(({cloudFileArray:t,openCloudFile:e,deleteCloudFile:n,renameCloudFile:o})=>{const i=M(dn),r=M(o1),a=M(bc),l=()=>{const B=[];for(const[_,Y]of t.entries())B.push({...Y,key:_});return B},[s,c]=m.useState({x:0,y:0}),[u,d]=m.useState(!1),[f,p]=m.useState(!1),[g,A]=m.useState({left:0,top:0,bottom:0,right:0}),[w,b]=m.useState(!1),C=m.useRef(l()),P=m.useRef(),v=m.useRef(),T=be.useRef(null),y=m.useRef(null),S=m.useRef(null),x=S.current?S.current.clientWidth+40:680,R=S.current?S.current.clientHeight+100:600,{Search:H}=ns,D=Kt();m.useEffect(()=>{const B=()=>{c({x:Math.max(0,x-window.innerWidth),y:Math.min(0,window.innerHeight-R)})};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}},[]),m.useEffect(()=>{t&&(C.current=l(),b(!w))},[t]);const k=(B,_)=>{c({x:Math.max(_.x,x-window.innerWidth),y:Math.min(_.y,window.innerHeight-R)})},W=(B,_)=>{},N=()=>{ht.getState().set(B=>{B.showCloudFilePanel=!1})},L=B=>{_r.confirm({title:F("cloudFilePanel.DoYouReallyWantToDelete",D)+' "'+B+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(qG,{style:{marginRight:"6px"}}),F("word.Warning",D)+": "+F("message.ThisCannotBeUndone",D)]}),icon:h.jsx(WW,{}),onOk:()=>{n(B);const _=new URLSearchParams(window.location.search);_.get("title")===B&&_.get("userid")===r.uid&&window.history.pushState({},document.title,qp)}})},E=()=>{P.current&&v.current&&(o(P.current,v.current),v.current=void 0),d(!1)},U=(B,_)=>{if(y.current){const{clientWidth:Y,clientHeight:O}=window.document.documentElement,J=y.current.getBoundingClientRect();A({left:-J.left+_.x,right:Y-(J.right-_.x),top:-J.top+_.y,bottom:O-((J==null?void 0:J.bottom)-_.y)})}},{t:F}=jl();return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>p(!0),onMouseOut:()=>p(!1),children:F("word.Rename",D)}),open:u,onOk:E,onCancel:()=>{d(!1),v.current=void 0},modalRender:B=>h.jsx(Vr,{disabled:!f,bounds:g,onStart:(_,Y)=>U(_,Y),children:h.jsx("div",{ref:y,children:B})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:v.current?v.current:P.current,onPressEnter:E,onKeyDown:B=>{if(!JC.test(B.key))return B.preventDefault(),!1},onChange:B=>{v.current=B.target.value,b(!w)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(qG,{style:{marginRight:"4px"}}),F("word.Caution",D)+": "+F("cloudFilePanel.IfSharedOrPublishedRenamingFileBreaksExistingLinks",D),"."]})]})}),h.jsx(Vr,{nodeRef:T,handle:".handle",bounds:"parent",axis:"both",position:s,onDrag:k,onStop:W,onMouseDown:()=>{i(B=>{B.selectedFloatingWindow="cloudFilePanel"})},children:h.jsx(Dfo,{ref:T,style:{zIndex:a==="cloudFilePanel"?xc:14},children:h.jsxs(Efo,{ref:S,children:[h.jsxs(kfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:F("cloudFilePanel.MyCloudFiles",D)+" ("+C.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{N()},onTouchStart:()=>{N()},children:F("word.Close",D)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(H,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:F("cloudFilePanel.SearchByTitle",D),allowClear:!0,size:"small",enterButton:!0,onSearch:B=>{var _;if(t){C.current=[];for(const[Y,O]of t.entries())(_=O.title)!=null&&_.toLowerCase().includes(B.toLowerCase())&&C.current.push({...O,key:Y});b(!w)}}})}),h.jsxs(Hd,{size:"small",style:{width:"100%",direction:"ltr"},dataSource:C.current,scroll:{y:390},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(Sae,{title:`${F("word.Title",D)}`,dataIndex:"title",width:"56%",sortDirections:["ascend","descend","ascend"],sorter:(B,_)=>B.title.localeCompare(_.title),render:B=>h.jsx(C6.Text,{style:{fontSize:"12px",cursor:"pointer"},title:F("word.Open",D),children:B}),onCell:B=>({onClick:()=>{const _=window.getSelection();_&&_.toString().length>0||e(B.title)}})},"title"),h.jsx(Sae,{title:`${F("word.Time",D)}`,dataIndex:"timestamp",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(B,_)=>B.timestamp-_.timestamp,render:B=>h.jsx(C6.Text,{style:{fontSize:"12px"},children:gc(new Date(B)).format("MM/DD/YYYY hh:mm A")})},"timestamp"),h.jsx(Sae,{width:"19%",title:`${F("word.Action",D)}`,render:B=>h.jsxs(en,{size:"middle",children:[h.jsx("img",{title:F("word.Delete",D),alt:"Delete",src:mot,onClick:()=>{L(B.title)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:F("word.Rename",D),alt:"Rename",src:Ifo,onClick:()=>{P.current=B.title,d(!0)},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx(OJe,{title:F("cloudFilePanel.CopyTitle",D),alt:"Copy Title",onClick:()=>{navigator.clipboard.writeText(B.title).then(()=>y2(F("cloudFilePanel.TitleCopiedToClipBoard",D)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}}),h.jsx("img",{title:F("cloudFilePanel.GenerateLink",D),alt:"Link",src:zfo,onClick:()=>{const _=qp+"?client=web&userid="+B.userid+"&title="+encodeURIComponent(B.title);navigator.clipboard.writeText(_).then(()=>y2(F("cloudFilePanel.LinkGeneratedInClipBoard",D)+"."))},height:16,width:16,style:{cursor:"pointer",verticalAlign:"middle"}})]})},"action")]})]})})})]})}),{Column:Lfo}=Hd,Wfo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -7010,7 +7010,7 @@ Content-Type: `+c.contentType+`\r align-items: center; padding: 16px; z-index: 1001; -`,Bfo=Ho.div` +`,Nfo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7030,7 +7030,7 @@ Content-Type: `+c.contentType+`\r overflow-y: hidden; resize: both; direction: rtl; -`,jfo=Ho.div` +`,Ufo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7041,7 +7041,7 @@ Content-Type: `+c.contentType+`\r justify-content: space-between; align-items: center; cursor: move; -`,Yfo=be.memo(({likesArray:t,openCloudFile:e})=>{const n=be.useRef(null),o=m.useRef(null),i=o.current?o.current.clientWidth+40:680,r=o.current?o.current.clientHeight+100:600,[a,l]=m.useState({x:0,y:0}),s=Kt(),{t:c}=jl();m.useEffect(()=>{const p=()=>{l({x:Math.max(0,i-window.innerWidth),y:Math.min(0,window.innerHeight-r)})};return window.addEventListener("resize",p),()=>{window.removeEventListener("resize",p)}},[]);const u=(p,g)=>{l({x:Math.max(g.x,i-window.innerWidth),y:Math.min(g.y,window.innerHeight-r)})},d=(p,g)=>{},f=()=>{ht.getState().set(p=>{p.showLikesPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:n,handle:".handle",bounds:"parent",axis:"both",position:a,onDrag:u,onStop:d,children:h.jsx(Ufo,{ref:n,children:h.jsxs(Bfo,{ref:o,children:[h.jsxs(jfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:c("cloudFilePanel.MyLikes",s)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{f()},onTouchStart:()=>{f()},children:c("word.Close",s)})]}),h.jsx(Hd,{rowKey:p=>p,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Nfo,{title:`${c("word.Title",s)}`,render:(p,g)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{const A=g,w=A.lastIndexOf(", ");w>=0&&(ht.getState().set(b=>{b.openModelsMap=!1}),e(A.substring(w+2),A.substring(0,w)))},children:g.substring(0,g.lastIndexOf(", "))},g)},"title")})]})})})})}),{Column:Ofo}=Hd,_fo=Ho.div` +`,Bfo=be.memo(({likesArray:t,openCloudFile:e})=>{const n=be.useRef(null),o=m.useRef(null),i=o.current?o.current.clientWidth+40:680,r=o.current?o.current.clientHeight+100:600,[a,l]=m.useState({x:0,y:0}),s=Kt(),{t:c}=jl();m.useEffect(()=>{const p=()=>{l({x:Math.max(0,i-window.innerWidth),y:Math.min(0,window.innerHeight-r)})};return window.addEventListener("resize",p),()=>{window.removeEventListener("resize",p)}},[]);const u=(p,g)=>{l({x:Math.max(g.x,i-window.innerWidth),y:Math.min(g.y,window.innerHeight-r)})},d=(p,g)=>{},f=()=>{ht.getState().set(p=>{p.showLikesPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:n,handle:".handle",bounds:"parent",axis:"both",position:a,onDrag:u,onStop:d,children:h.jsx(Wfo,{ref:n,children:h.jsxs(Nfo,{ref:o,children:[h.jsxs(Ufo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:c("cloudFilePanel.MyLikes",s)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{f()},onTouchStart:()=>{f()},children:c("word.Close",s)})]}),h.jsx(Hd,{rowKey:p=>p,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Lfo,{title:`${c("word.Title",s)}`,render:(p,g)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{const A=g,w=A.lastIndexOf(", ");w>=0&&(ht.getState().set(b=>{b.openModelsMap=!1}),e(A.substring(w+2),A.substring(0,w)))},children:g.substring(0,g.lastIndexOf(", "))},g)},"title")})]})})})})}),{Column:jfo}=Hd,Yfo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -7050,7 +7050,7 @@ Content-Type: `+c.contentType+`\r align-items: center; padding: 16px; z-index: 1001; -`,Vfo=Ho.div` +`,Ofo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7070,7 +7070,7 @@ Content-Type: `+c.contentType+`\r overflow-y: hidden; resize: both; direction: rtl; -`,Gfo=Ho.div` +`,_fo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7081,7 +7081,7 @@ Content-Type: `+c.contentType+`\r justify-content: space-between; align-items: center; cursor: move; -`,Xfo=be.memo(({publishedModels:t,openCloudFile:e})=>{const n=M(o1),o=be.useRef(null),i=m.useRef(null),r=i.current?i.current.clientWidth+40:680,a=i.current?i.current.clientHeight+100:600,[l,s]=m.useState({x:0,y:0}),c=Kt(),{t:u}=jl();m.useEffect(()=>{const g=()=>{s({x:Math.max(0,r-window.innerWidth),y:Math.min(0,window.innerHeight-a)})};return window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)}},[]);const d=(g,A)=>{s({x:Math.max(A.x,r-window.innerWidth),y:Math.min(A.y,window.innerHeight-a)})},f=(g,A)=>{},p=()=>{ht.getState().set(g=>{g.showPublishedModelsPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:o,handle:".handle",bounds:"parent",axis:"both",position:l,onDrag:d,onStop:f,children:h.jsx(_fo,{ref:o,children:h.jsxs(Vfo,{ref:i,children:[h.jsxs(Gfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:u("modelsMap.MyPublishedModels",c)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{p()},onTouchStart:()=>{p()},children:u("word.Close",c)})]}),h.jsx(Hd,{rowKey:g=>g,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(Ofo,{title:`${u("word.Title",c)}`,render:(g,A)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n.uid&&(ht.getState().set(w=>{w.openModelsMap=!1}),e(n.uid,A))},children:A},A)},"title")})]})})})})}),{Option:Vf}=Yo,Jfo=Ho.div` +`,Vfo=be.memo(({publishedModels:t,openCloudFile:e})=>{const n=M(o1),o=be.useRef(null),i=m.useRef(null),r=i.current?i.current.clientWidth+40:680,a=i.current?i.current.clientHeight+100:600,[l,s]=m.useState({x:0,y:0}),c=Kt(),{t:u}=jl();m.useEffect(()=>{const g=()=>{s({x:Math.max(0,r-window.innerWidth),y:Math.min(0,window.innerHeight-a)})};return window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)}},[]);const d=(g,A)=>{s({x:Math.max(A.x,r-window.innerWidth),y:Math.min(A.y,window.innerHeight-a)})},f=(g,A)=>{},p=()=>{ht.getState().set(g=>{g.showPublishedModelsPanel=!1})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:o,handle:".handle",bounds:"parent",axis:"both",position:l,onDrag:d,onStop:f,children:h.jsx(Yfo,{ref:o,children:h.jsxs(Ofo,{ref:i,children:[h.jsxs(_fo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:u("modelsMap.MyPublishedModels",c)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{p()},onTouchStart:()=>{p()},children:u("word.Close",c)})]}),h.jsx(Hd,{rowKey:g=>g,size:"small",style:{width:"100%",direction:"ltr"},dataSource:t,scroll:{y:300},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:h.jsx(jfo,{title:`${u("word.Title",c)}`,render:(g,A)=>h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n.uid&&(ht.getState().set(w=>{w.openModelsMap=!1}),e(n.uid,A))},children:A},A)},"title")})]})})})})}),{Option:Vf}=Yo,Gfo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -7090,7 +7090,7 @@ Content-Type: `+c.contentType+`\r align-items: center; padding: 16px; z-index: 1000; -`,Kfo=Ho.div` +`,Xfo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7111,7 +7111,7 @@ Content-Type: `+c.contentType+`\r overflow-y: auto; resize: both; direction: rtl; -`,qfo=Ho.div` +`,Jfo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7122,7 +7122,7 @@ Content-Type: `+c.contentType+`\r justify-content: space-between; align-items: center; cursor: move; -`,$fo=be.memo(({openCloudFile:t})=>{var y,S,x;const e=M(dn),n=ht(Ah),o=M(o1),i=ht(h4t),r=ht(m7t),a=ht(y7t),l=be.useRef(null),s=m.useRef(null),c=m.useRef(o.schoolID??rc.UNKNOWN),u=m.useRef(o.classID??Ua.UNKNOWN),d=s.current?s.current.clientWidth+40:640,f=s.current?s.current.clientHeight+100:600,[p,g]=m.useState({x:0,y:0}),A=Kt();m.useEffect(()=>{const R=()=>{g({x:Math.max(0,d-window.innerWidth),y:Math.min(0,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[]);const w=(R,H)=>{g({x:Math.max(H.x,d-window.innerWidth),y:Math.min(H.y,window.innerHeight-f)})},b=(R,H)=>{},C=()=>{ht.getState().set(R=>{R.showAccountSettingsPanel=!1})},P=o&&o.email&&o.email.endsWith("intofuture.org"),v=!1,{t:T}=jl();return h.jsxs(h.Fragment,{children:[r&&h.jsx(Yfo,{likesArray:o.likes??[],openCloudFile:t}),a&&h.jsx(Xfo,{publishedModels:o.published??[],openCloudFile:t}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:w,onStop:b,children:h.jsx(Jfo,{ref:l,children:h.jsxs(Kfo,{ref:s,children:[h.jsxs(qfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:T("accountSettingsPanel.MyAccountSettings",A)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:T("word.Close",A)})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,onClick:()=>{o.uid&&navigator.clipboard.writeText(o.uid).then(()=>y2(T("accountSettingsPanel.IDInClipBoard",A)))},children:h.jsx(oo,{title:T("accountSettingsPanel.ClickToCopyMyID",A),style:{cursor:"copy",borderRadius:"8px"},children:T("accountSettingsPanel.MyID",A)})}),h.jsx(it,{style:{paddingTop:"8px"},span:18,children:o.uid})]}),v,h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{style:{paddingTop:"8px"},span:6,children:T("accountSettingsPanel.SchoolID",A)}),h.jsx(it,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:c.current,onChange:R=>{c.current=R,e(H=>{H.user.schoolID=R}),ht.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:rc.UNKNOWN,children:rc.UNKNOWN},rc.UNKNOWN),h.jsx(Vf,{value:rc.SCHOOL1,children:rc.SCHOOL1},rc.SCHOOL1),h.jsx(Vf,{value:rc.SCHOOL2,children:rc.SCHOOL2},rc.SCHOOL2),h.jsx(Vf,{value:rc.SCHOOL3,children:rc.SCHOOL3},rc.SCHOOL3),h.jsx(Vf,{value:rc.SCHOOL4,children:rc.SCHOOL4},rc.SCHOOL4),h.jsx(Vf,{value:rc.SCHOOL5,children:rc.SCHOOL5},rc.SCHOOL5)]})})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{style:{paddingTop:"8px"},span:6,children:T("accountSettingsPanel.ClassID",A)}),h.jsx(it,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:u.current,onChange:R=>{u.current=R,e(H=>{H.user.classID=R}),ht.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:Ua.UNKNOWN,children:Ua.UNKNOWN},Ua.UNKNOWN),h.jsx(Vf,{value:Ua.CLASS1,children:Ua.CLASS1},Ua.CLASS1),h.jsx(Vf,{value:Ua.CLASS2,children:Ua.CLASS2},Ua.CLASS2),h.jsx(Vf,{value:Ua.CLASS3,children:Ua.CLASS3},Ua.CLASS3),h.jsx(Vf,{value:Ua.CLASS4,children:Ua.CLASS4},Ua.CLASS4),h.jsx(Vf,{value:Ua.CLASS5,children:Ua.CLASS5},Ua.CLASS5),h.jsx(Vf,{value:Ua.CLASS6,children:Ua.CLASS6},Ua.CLASS6),h.jsx(Vf,{value:Ua.CLASS7,children:Ua.CLASS7},Ua.CLASS7),h.jsx(Vf,{value:Ua.CLASS8,children:Ua.CLASS8},Ua.CLASS8),h.jsx(Vf,{value:Ua.CLASS9,children:Ua.CLASS9},Ua.CLASS9)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,children:T("accountSettingsPanel.AllPublished",A)}),h.jsx(it,{span:18,children:h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n("showPublishedModelsPanel",!0)},children:((y=o.published)==null?void 0:y.length)??0})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,children:T("accountSettingsPanel.PublishedUnderAliases",A)}),h.jsx(it,{span:18,children:h.jsx("span",{style:{fontSize:"10px"},children:(S=o.aliases)==null?void 0:S.map((R,H)=>o.aliases?R+(H{n("showLikesPanel",!0)},children:((x=o.likes)==null?void 0:x.length)??0})})]}),P&&h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,children:T("accountSettingsPanel.UserCount",A)}),h.jsx(it,{span:18,children:i})]})]})})})]})});/*! ***************************************************************************** +`,Kfo=be.memo(({openCloudFile:t})=>{var y,S,x;const e=M(dn),n=ht(Ah),o=M(o1),i=ht(d4t),r=ht(p7t),a=ht(g7t),l=be.useRef(null),s=m.useRef(null),c=m.useRef(o.schoolID??rc.UNKNOWN),u=m.useRef(o.classID??Ua.UNKNOWN),d=s.current?s.current.clientWidth+40:640,f=s.current?s.current.clientHeight+100:600,[p,g]=m.useState({x:0,y:0}),A=Kt();m.useEffect(()=>{const R=()=>{g({x:Math.max(0,d-window.innerWidth),y:Math.min(0,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[]);const w=(R,H)=>{g({x:Math.max(H.x,d-window.innerWidth),y:Math.min(H.y,window.innerHeight-f)})},b=(R,H)=>{},C=()=>{ht.getState().set(R=>{R.showAccountSettingsPanel=!1})},P=o&&o.email&&o.email.endsWith("intofuture.org"),v=!1,{t:T}=jl();return h.jsxs(h.Fragment,{children:[r&&h.jsx(Bfo,{likesArray:o.likes??[],openCloudFile:t}),a&&h.jsx(Vfo,{publishedModels:o.published??[],openCloudFile:t}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:w,onStop:b,children:h.jsx(Gfo,{ref:l,children:h.jsxs(Xfo,{ref:s,children:[h.jsxs(Jfo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:T("accountSettingsPanel.MyAccountSettings",A)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:T("word.Close",A)})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,onClick:()=>{o.uid&&navigator.clipboard.writeText(o.uid).then(()=>y2(T("accountSettingsPanel.IDInClipBoard",A)))},children:h.jsx(no,{title:T("accountSettingsPanel.ClickToCopyMyID",A),style:{cursor:"copy",borderRadius:"8px"},children:T("accountSettingsPanel.MyID",A)})}),h.jsx(it,{style:{paddingTop:"8px"},span:18,children:o.uid})]}),v,h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{style:{paddingTop:"8px"},span:6,children:T("accountSettingsPanel.SchoolID",A)}),h.jsx(it,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:c.current,onChange:R=>{c.current=R,e(H=>{H.user.schoolID=R}),ht.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:rc.UNKNOWN,children:rc.UNKNOWN},rc.UNKNOWN),h.jsx(Vf,{value:rc.SCHOOL1,children:rc.SCHOOL1},rc.SCHOOL1),h.jsx(Vf,{value:rc.SCHOOL2,children:rc.SCHOOL2},rc.SCHOOL2),h.jsx(Vf,{value:rc.SCHOOL3,children:rc.SCHOOL3},rc.SCHOOL3),h.jsx(Vf,{value:rc.SCHOOL4,children:rc.SCHOOL4},rc.SCHOOL4),h.jsx(Vf,{value:rc.SCHOOL5,children:rc.SCHOOL5},rc.SCHOOL5)]})})]}),h.jsxs(nn,{gutter:20,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{style:{paddingTop:"8px"},span:6,children:T("accountSettingsPanel.ClassID",A)}),h.jsx(it,{span:18,children:h.jsxs(Yo,{style:{width:"90%"},value:u.current,onChange:R=>{u.current=R,e(H=>{H.user.classID=R}),ht.getState().set(H=>{H.saveAccountSettingsFlag=!0})},children:[h.jsx(Vf,{value:Ua.UNKNOWN,children:Ua.UNKNOWN},Ua.UNKNOWN),h.jsx(Vf,{value:Ua.CLASS1,children:Ua.CLASS1},Ua.CLASS1),h.jsx(Vf,{value:Ua.CLASS2,children:Ua.CLASS2},Ua.CLASS2),h.jsx(Vf,{value:Ua.CLASS3,children:Ua.CLASS3},Ua.CLASS3),h.jsx(Vf,{value:Ua.CLASS4,children:Ua.CLASS4},Ua.CLASS4),h.jsx(Vf,{value:Ua.CLASS5,children:Ua.CLASS5},Ua.CLASS5),h.jsx(Vf,{value:Ua.CLASS6,children:Ua.CLASS6},Ua.CLASS6),h.jsx(Vf,{value:Ua.CLASS7,children:Ua.CLASS7},Ua.CLASS7),h.jsx(Vf,{value:Ua.CLASS8,children:Ua.CLASS8},Ua.CLASS8),h.jsx(Vf,{value:Ua.CLASS9,children:Ua.CLASS9},Ua.CLASS9)]})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,children:T("accountSettingsPanel.AllPublished",A)}),h.jsx(it,{span:18,children:h.jsx("span",{style:{cursor:"pointer"},onClick:()=>{n("showPublishedModelsPanel",!0)},children:((y=o.published)==null?void 0:y.length)??0})})]}),h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,children:T("accountSettingsPanel.PublishedUnderAliases",A)}),h.jsx(it,{span:18,children:h.jsx("span",{style:{fontSize:"10px"},children:(S=o.aliases)==null?void 0:S.map((R,H)=>o.aliases?R+(H{n("showLikesPanel",!0)},children:((x=o.likes)==null?void 0:x.length)??0})})]}),P&&h.jsxs(nn,{gutter:6,style:{paddingTop:"20px",paddingLeft:"20px",direction:"ltr"},children:[h.jsx(it,{span:6,children:T("accountSettingsPanel.UserCount",A)}),h.jsx(it,{span:18,children:i})]})]})})})]})});/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -7135,15 +7135,15 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var jde=function(t,e){return jde=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])},jde(t,e)};function Ms(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");jde(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var cr=function(){return cr=Object.assign||function(e){for(var n,o=1,i=arguments.length;o0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]0&&r.innerText.includes(".gm-")}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)})},n.injectScript=function(){n.props.preventGoogleFontsLoading&&r9e(),B0(!!n.props.id,'LoadScript requires "id" prop to be a string: %s',n.props.id);var o={id:n.props.id,nonce:n.props.nonce,url:bot(n.props)};xot(o).then(function(){n.props.onLoad&&n.props.onLoad(),n.setState(function(){return{loaded:!0}})}).catch(function(i){n.props.onError&&n.props.onError(i),console.error(` +`,"").indexOf(".gm-style")===0?(t.innerHTML="",!0):t.tagName.toLowerCase()==="style"&&!t.styleSheet&&!t.innerHTML}function r9e(){var t=document.getElementsByTagName("head")[0];if(t){var e=t.insertBefore.bind(t);t.insertBefore=function(i,r){return tHe(i)||Reflect.apply(e,t,[i,r]),i};var n=t.appendChild.bind(t);t.appendChild=function(i){return tHe(i)||Reflect.apply(n,t,[i]),i}}}function vot(t){var e=t.googleMapsApiKey,n=t.googleMapsClientId,o=t.version,i=o===void 0?"weekly":o,r=t.language,a=t.region,l=t.libraries,s=t.channel,c=t.mapIds,u=t.authReferrerPolicy,d=[];return B0(e&&n||!(e&&n),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),e?d.push("key=".concat(e)):n&&d.push("client=".concat(n)),i&&d.push("v=".concat(i)),r&&d.push("language=".concat(r)),a&&d.push("region=".concat(a)),l&&l.length&&d.push("libraries=".concat(l.sort().join(","))),s&&d.push("channel=".concat(s)),c&&c.length&&d.push("map_ids=".concat(c.join(","))),u&&d.push("auth_referrer_policy=".concat(u)),d.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?".concat(d.join("&"))}var jz=!1;function xot(){return h.jsx("div",{children:"Loading..."})}var CF={id:"script-loader",version:"weekly"};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.check=m.createRef(),n.state={loaded:!1},n.cleanupCallback=function(){delete window.google.maps,n.injectScript()},n.isCleaningUp=function(){return qfo(n,void 0,void 0,function(){function o(i){if(!jz)i();else if(yw)var r=window.setInterval(function(){jz||(window.clearInterval(r),i())},1)}return $fo(this,function(i){return[2,new Promise(o)]})})},n.cleanup=function(){jz=!0;var o=document.getElementById(n.props.id);o&&o.parentNode&&o.parentNode.removeChild(o),Array.prototype.slice.call(document.getElementsByTagName("script")).filter(function(r){return typeof r.src=="string"&&r.src.includes("maps.googleapis")}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)}),Array.prototype.slice.call(document.getElementsByTagName("link")).filter(function(r){return r.href==="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)}),Array.prototype.slice.call(document.getElementsByTagName("style")).filter(function(r){return r.innerText!==void 0&&r.innerText.length>0&&r.innerText.includes(".gm-")}).forEach(function(r){r.parentNode&&r.parentNode.removeChild(r)})},n.injectScript=function(){n.props.preventGoogleFontsLoading&&r9e(),B0(!!n.props.id,'LoadScript requires "id" prop to be a string: %s',n.props.id);var o={id:n.props.id,nonce:n.props.nonce,url:vot(n.props)};wot(o).then(function(){n.props.onLoad&&n.props.onLoad(),n.setState(function(){return{loaded:!0}})}).catch(function(i){n.props.onError&&n.props.onError(i),console.error(` There has been an Error with loading Google Maps API script, please check that you provided correct google API key (`.concat(n.props.googleMapsApiKey||"-",") or Client ID (").concat(n.props.googleMapsClientId||"-",`) to Otherwise it is a Network issue. - `))})},n}return e.prototype.componentDidMount=function(){if(yw){if(window.google&&window.google.maps&&!jz){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(o){console.error("Error at injecting script after cleaning up: ",o)})}},e.prototype.componentDidUpdate=function(n){this.props.libraries!==n.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),yw&&n.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))},e.prototype.componentWillUnmount=function(){var n=this;if(yw){this.cleanup();var o=function(){n.check.current||(delete window.google,jz=!1)};window.setTimeout(o,1),this.props.onUnmount&&this.props.onUnmount()}},e.prototype.render=function(){return h.jsxs(h.Fragment,{children:[h.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||h.jsx(Sot,{})]})},e.defaultProps=CF,e})(m.PureComponent);var iHe;function cho(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.googleMapsClientId,s=t.language,c=t.region,u=t.libraries,d=t.preventGoogleFontsLoading,f=t.channel,p=t.mapIds,g=t.authReferrerPolicy,A=m.useRef(!1),w=m.useState(!1),b=w[0],C=w[1],P=m.useState(void 0),v=P[0],T=P[1];m.useEffect(function(){return A.current=!0,function(){A.current=!1}},[]),m.useEffect(function(){yw&&d&&r9e()},[d]),m.useEffect(function(){b&&B0(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[b]);var y=bot({version:i,googleMapsApiKey:a,googleMapsClientId:l,language:s,region:c,libraries:u,channel:f,mapIds:p,authReferrerPolicy:g});m.useEffect(function(){if(!yw)return;function R(){A.current&&(C(!0),iHe=y)}if(window.google&&window.google.maps&&iHe===y){R();return}xot({id:n,url:y,nonce:r}).then(R).catch(function(D){A.current&&T(D),console.warn(` + `))})},n}return e.prototype.componentDidMount=function(){if(yw){if(window.google&&window.google.maps&&!jz){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(o){console.error("Error at injecting script after cleaning up: ",o)})}},e.prototype.componentDidUpdate=function(n){this.props.libraries!==n.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),yw&&n.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))},e.prototype.componentWillUnmount=function(){var n=this;if(yw){this.cleanup();var o=function(){n.check.current||(delete window.google,jz=!1)};window.setTimeout(o,1),this.props.onUnmount&&this.props.onUnmount()}},e.prototype.render=function(){return h.jsxs(h.Fragment,{children:[h.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||h.jsx(xot,{})]})},e.defaultProps=CF,e})(m.PureComponent);var nHe;function lho(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.googleMapsClientId,s=t.language,c=t.region,u=t.libraries,d=t.preventGoogleFontsLoading,f=t.channel,p=t.mapIds,g=t.authReferrerPolicy,A=m.useRef(!1),w=m.useState(!1),b=w[0],C=w[1],P=m.useState(void 0),v=P[0],T=P[1];m.useEffect(function(){return A.current=!0,function(){A.current=!1}},[]),m.useEffect(function(){yw&&d&&r9e()},[d]),m.useEffect(function(){b&&B0(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[b]);var y=vot({version:i,googleMapsApiKey:a,googleMapsClientId:l,language:s,region:c,libraries:u,channel:f,mapIds:p,authReferrerPolicy:g});m.useEffect(function(){if(!yw)return;function R(){A.current&&(C(!0),nHe=y)}if(window.google&&window.google.maps&&nHe===y){R();return}wot({id:n,url:y,nonce:r}).then(R).catch(function(D){A.current&&T(D),console.warn(` There has been an Error with loading Google Maps API script, please check that you provided correct google API key (`.concat(a||"-",") or Client ID (").concat(l||"-",`) Otherwise it is a Network issue. - `)),console.error(D)})},[n,y,r]);var S=m.useRef();return m.useEffect(function(){S.current&&u!==S.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),S.current=u},[u]),{isLoaded:b,loadError:v,url:y}}var uho=h.jsx(Sot,{});function dho(t){var e=t.loadingElement,n=t.onLoad,o=t.onError,i=t.onUnmount,r=t.children,a=i9e(t,["loadingElement","onLoad","onError","onUnmount","children"]),l=cho(a),s=l.isLoaded,c=l.loadError;return m.useEffect(function(){s&&typeof n=="function"&&n()},[s,n]),m.useEffect(function(){c&&typeof o=="function"&&o(c)},[c,o]),m.useEffect(function(){return function(){i&&i()}},[i]),s?r:e||uho}m.memo(dho);/*! ***************************************************************************** + `)),console.error(D)})},[n,y,r]);var S=m.useRef();return m.useEffect(function(){S.current&&u!==S.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),S.current=u},[u]),{isLoaded:b,loadError:v,url:y}}var sho=h.jsx(xot,{});function cho(t){var e=t.loadingElement,n=t.onLoad,o=t.onError,i=t.onUnmount,r=t.children,a=i9e(t,["loadingElement","onLoad","onError","onUnmount","children"]),l=lho(a),s=l.isLoaded,c=l.loadError;return m.useEffect(function(){s&&typeof n=="function"&&n()},[s,n]),m.useEffect(function(){c&&typeof o=="function"&&o(c)},[c,o]),m.useEffect(function(){return function(){i&&i()}},[i]),s?r:e||sho}m.memo(cho);/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -7156,7 +7156,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */function fho(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,[])).next())})}var hho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n};const rHe="__googleMapsScriptId";var tC;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(tC||(tC={}));class xv{constructor({apiKey:e,authReferrerPolicy:n,channel:o,client:i,id:r=rHe,language:a,libraries:l=[],mapIds:s,nonce:c,region:u,retries:d=3,url:f="https://maps.googleapis.com/maps/api/js",version:p}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=n,this.channel=o,this.client=i,this.id=r||rHe,this.language=a,this.libraries=l,this.mapIds=s,this.nonce=c,this.region=u,this.retries=d,this.url=f,this.version=p,xv.instance){if(!hho(this.options,xv.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(xv.instance.options)}`);return xv.instance}xv.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?tC.FAILURE:this.done?tC.SUCCESS:this.loading?tC.LOADING:tC.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,n)=>{this.loadCallback(o=>{o?n(o.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,n;if(document.getElementById(this.id)){this.callback();return}const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach(r=>!o[r]&&delete o[r]),!((n=(e=window==null?void 0:window.google)===null||e===void 0?void 0:e.maps)===null||n===void 0)&&n.importLibrary||(r=>{let a,l,s,c="The Google Maps JavaScript API",u="google",d="importLibrary",f="__ib__",p=document,g=window;g=g[u]||(g[u]={});const A=g.maps||(g.maps={}),w=new Set,b=new URLSearchParams,C=()=>a||(a=new Promise((P,v)=>fho(this,void 0,void 0,function*(){var T;yield l=p.createElement("script"),l.id=this.id,b.set("libraries",[...w]+"");for(s in r)b.set(s.replace(/[A-Z]/g,y=>"_"+y[0].toLowerCase()),r[s]);b.set("callback",u+".maps."+f),l.src=this.url+"?"+b,A[f]=P,l.onerror=()=>a=v(Error(c+" could not load.")),l.nonce=this.nonce||((T=p.querySelector("script[nonce]"))===null||T===void 0?void 0:T.nonce)||"",p.head.append(l)})));A[d]?console.warn(c+" only loads once. Ignoring:",r):A[d]=(P,...v)=>w.add(P)&&C().then(()=>A[d](P,...v))})(o);const i=this.libraries.map(r=>this.importLibrary(r));i.length||i.push(this.importLibrary("core")),Promise.all(i).then(()=>this.callback(),r=>{const a=new ErrorEvent("error",{error:r});this.loadErrorCallback(a)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const n=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${n} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},n)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}var pho=["maps"];function Tot(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.language,s=t.region,c=t.libraries,u=c===void 0?pho:c,d=t.preventGoogleFontsLoading,f=t.mapIds,p=t.authReferrerPolicy,g=m.useRef(!1),A=m.useState(!1),w=A[0],b=A[1],C=m.useState(void 0),P=C[0],v=C[1];m.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var T=m.useMemo(function(){return new xv({id:n,apiKey:a,version:i,libraries:u,language:l||"en",region:s||"US",mapIds:f||[],nonce:r||"",authReferrerPolicy:p||"origin"})},[n,a,i,u,l,s,f,r,p]);m.useEffect(function(){w||T.load().then(function(){g.current&&b(!0)}).catch(function(x){v(x)})},[]),m.useEffect(function(){yw&&d&&r9e()},[d]);var y=m.useRef();return m.useEffect(function(){y.current&&u!==y.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),y.current=u},[u]),{isLoaded:w,loadError:P}}var aHe={},lHe={options:function(t,e){t.setOptions(e)}};function gho(t){var e=t.options,n=t.onLoad,o=t.onUnmount,i=m.useContext(xa),r=m.useState(null),a=r[0],l=r[1];return m.useEffect(function(){a!==null&&a.setMap(i)},[i]),m.useEffect(function(){e&&a!==null&&a.setOptions(e)},[a,e]),m.useEffect(function(){var s=new google.maps.TrafficLayer(cr(cr({},e||{}),{map:i}));return l(s),n&&n(s),function(){a!==null&&(o&&o(a),a.setMap(null))}},[]),null}m.memo(gho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={trafficLayer:null},n.setTrafficLayerCallback=function(){n.state.trafficLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.trafficLayer)},n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=new google.maps.TrafficLayer(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{trafficLayer:n}},this.setTrafficLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.trafficLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:n,nextProps:this.props,instance:this.state.trafficLayer}))},e.prototype.componentWillUnmount=function(){this.state.trafficLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),ja(this.registeredEvents),this.state.trafficLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function mho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.BicyclingLayer;return a(l),l.setMap(o),e&&e(l),function(){l!==null&&(n&&n(l),l.setMap(null))}},[]),null}m.memo(mho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={bicyclingLayer:null},n.setBicyclingLayerCallback=function(){n.state.bicyclingLayer!==null&&(n.state.bicyclingLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.bicyclingLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.BicyclingLayer;this.setState(function(){return{bicyclingLayer:n}},this.setBicyclingLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.bicyclingLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function yho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.TransitLayer;return a(l),l.setMap(o),e&&e(l),function(){r!==null&&(n&&n(r),r.setMap(null))}},[]),null}m.memo(yho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={transitLayer:null},n.setTransitLayerCallback=function(){n.state.transitLayer!==null&&(n.state.transitLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.transitLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:n}},this.setTransitLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.transitLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var sHe={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},cHe={drawingMode:function(t,e){t.setDrawingMode(e)},options:function(t,e){t.setOptions(e)}};function Aho(t){var e=t.options,n=t.drawingMode,o=t.onCircleComplete,i=t.onMarkerComplete,r=t.onOverlayComplete,a=t.onPolygonComplete,l=t.onPolylineComplete,s=t.onRectangleComplete,c=t.onLoad,u=t.onUnmount,d=m.useContext(xa),f=m.useState(null),p=f[0],g=f[1],A=m.useState(null),w=A[0],b=A[1],C=m.useState(null),P=C[0],v=C[1],T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1];return m.useEffect(function(){p!==null&&p.setMap(d)},[d]),m.useEffect(function(){e&&p!==null&&p.setOptions(e)},[p,e]),m.useEffect(function(){n&&p!==null&&p.setDrawingMode(n)},[p,n]),m.useEffect(function(){p&&o&&(w!==null&&google.maps.event.removeListener(w),b(google.maps.event.addListener(p,"circlecomplete",o)))},[p,o]),m.useEffect(function(){p&&i&&(P!==null&&google.maps.event.removeListener(P),v(google.maps.event.addListener(p,"markercomplete",i)))},[p,i]),m.useEffect(function(){p&&r&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(p,"overlaycomplete",r)))},[p,r]),m.useEffect(function(){p&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(p,"polygoncomplete",a)))},[p,a]),m.useEffect(function(){p&&l&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(p,"polylinecomplete",l)))},[p,l]),m.useEffect(function(){p&&s&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(p,"rectanglecomplete",s)))},[p,s]),m.useEffect(function(){B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var U=new google.maps.drawing.DrawingManager(cr(cr({},e||{}),{map:d}));return n&&U.setDrawingMode(n),o&&b(google.maps.event.addListener(U,"circlecomplete",o)),i&&v(google.maps.event.addListener(U,"markercomplete",i)),r&&S(google.maps.event.addListener(U,"overlaycomplete",r)),a&&H(google.maps.event.addListener(U,"polygoncomplete",a)),l&&W(google.maps.event.addListener(U,"polylinecomplete",l)),s&&E(google.maps.event.addListener(U,"rectanglecomplete",s)),g(U),c&&c(U),function(){p!==null&&(w&&google.maps.event.removeListener(w),P&&google.maps.event.removeListener(P),y&&google.maps.event.removeListener(y),R&&google.maps.event.removeListener(R),k&&google.maps.event.removeListener(k),L&&google.maps.event.removeListener(L),u&&u(p),p.setMap(null))}},[]),null}m.memo(Aho);(function(t){Ms(e,t);function e(n){var o=t.call(this,n)||this;return o.registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){o.state.drawingManager!==null&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing),o}return e.prototype.componentDidMount=function(){var n=new google.maps.drawing.DrawingManager(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:cHe,eventMap:sHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{drawingManager:n}},this.setDrawingManagerCallback)},e.prototype.componentDidUpdate=function(n){this.state.drawingManager!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:cHe,eventMap:sHe,prevProps:n,nextProps:this.props,instance:this.state.drawingManager}))},e.prototype.componentWillUnmount=function(){this.state.drawingManager!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),ja(this.registeredEvents),this.state.drawingManager.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var uHe={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},dHe={animation:function(t,e){t.setAnimation(e)},clickable:function(t,e){t.setClickable(e)},cursor:function(t,e){t.setCursor(e)},draggable:function(t,e){t.setDraggable(e)},icon:function(t,e){t.setIcon(e)},label:function(t,e){t.setLabel(e)},map:function(t,e){t.setMap(e)},opacity:function(t,e){t.setOpacity(e)},options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},shape:function(t,e){t.setShape(e)},title:function(t,e){t.setTitle(e)},visible:function(t,e){t.setVisible(e)},zIndex:function(t,e){t.setZIndex(e)}},OX={};function who(t){var e=t.position,n=t.options,o=t.clusterer,i=t.noClustererRedraw,r=t.children,a=t.draggable,l=t.visible,s=t.animation,c=t.clickable,u=t.cursor,d=t.icon,f=t.label,p=t.opacity,g=t.shape,A=t.title,w=t.zIndex,b=t.onClick,C=t.onDblClick,P=t.onDrag,v=t.onDragEnd,T=t.onDragStart,y=t.onMouseOut,S=t.onMouseOver,x=t.onMouseUp,R=t.onMouseDown,H=t.onRightClick,D=t.onClickableChanged,k=t.onCursorChanged,W=t.onAnimationChanged,N=t.onDraggableChanged,L=t.onFlatChanged,E=t.onIconChanged,U=t.onPositionChanged,F=t.onShapeChanged,B=t.onTitleChanged,_=t.onVisibleChanged,Y=t.onZindexChanged,O=t.onLoad,J=t.onUnmount,Z=m.useContext(xa),ie=m.useState(null),ee=ie[0],q=ie[1],ae=m.useState(null),ne=ae[0],se=ae[1],le=m.useState(null),te=le[0],he=le[1],pe=m.useState(null),fe=pe[0],$=pe[1],de=m.useState(null),Se=de[0],Ce=de[1],ve=m.useState(null),Ie=ve[0],ze=ve[1],ye=m.useState(null),oe=ye[0],ge=ye[1],Ae=m.useState(null),me=Ae[0],Pe=Ae[1],Me=m.useState(null),Te=Me[0],De=Me[1],Ue=m.useState(null),Oe=Ue[0],Le=Ue[1],$e=m.useState(null),We=$e[0],Ee=$e[1],Fe=m.useState(null),Ge=Fe[0],rt=Fe[1],Ve=m.useState(null),xt=Ve[0],dt=Ve[1],Qe=m.useState(null),ut=Qe[0],ft=Qe[1],at=m.useState(null),ot=at[0],et=at[1],_e=m.useState(null),nt=_e[0],yt=_e[1],Tt=m.useState(null),Rt=Tt[0],Wt=Tt[1],Ct=m.useState(null),At=Ct[0],Ft=Ct[1],Ke=m.useState(null),Je=Ke[0],ct=Ke[1],Pt=m.useState(null),Ne=Pt[0],lt=Pt[1],Ye=m.useState(null),st=Ye[0],je=Ye[1],mt=m.useState(null),Ht=mt[0],wt=mt[1];m.useEffect(function(){ee!==null&&ee.setMap(Z)},[Z]),m.useEffect(function(){typeof n<"u"&&ee!==null&&ee.setOptions(n)},[ee,n]),m.useEffect(function(){typeof a<"u"&&ee!==null&&ee.setDraggable(a)},[ee,a]),m.useEffect(function(){e&&ee!==null&&ee.setPosition(e)},[ee,e]),m.useEffect(function(){typeof l<"u"&&ee!==null&&ee.setVisible(l)},[ee,l]),m.useEffect(function(){ee==null||ee.setAnimation(s)},[ee,s]),m.useEffect(function(){ee&&C&&(ne!==null&&google.maps.event.removeListener(ne),se(google.maps.event.addListener(ee,"dblclick",C)))},[C]),m.useEffect(function(){ee&&v&&(te!==null&&google.maps.event.removeListener(te),he(google.maps.event.addListener(ee,"dragend",v)))},[v]),m.useEffect(function(){ee&&T&&(fe!==null&&google.maps.event.removeListener(fe),$(google.maps.event.addListener(ee,"dragstart",T)))},[T]),m.useEffect(function(){ee&&R&&(Se!==null&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(ee,"mousedown",R)))},[R]),m.useEffect(function(){ee&&y&&(Ie!==null&&google.maps.event.removeListener(Ie),ze(google.maps.event.addListener(ee,"mouseout",y)))},[y]),m.useEffect(function(){ee&&S&&(oe!==null&&google.maps.event.removeListener(oe),ge(google.maps.event.addListener(ee,"mouseover",S)))},[S]),m.useEffect(function(){ee&&x&&(me!==null&&google.maps.event.removeListener(me),Pe(google.maps.event.addListener(ee,"mouseup",x)))},[x]),m.useEffect(function(){ee&&H&&(Te!==null&&google.maps.event.removeListener(Te),De(google.maps.event.addListener(ee,"rightclick",H)))},[H]),m.useEffect(function(){ee&&b&&(Oe!==null&&google.maps.event.removeListener(Oe),Le(google.maps.event.addListener(ee,"click",b)))},[b]),m.useEffect(function(){ee&&P&&(We!==null&&google.maps.event.removeListener(We),Ee(google.maps.event.addListener(ee,"drag",P)))},[P]),m.useEffect(function(){ee&&D&&(Ge!==null&&google.maps.event.removeListener(Ge),rt(google.maps.event.addListener(ee,"clickable_changed",D)))},[D]),m.useEffect(function(){ee&&k&&(xt!==null&&google.maps.event.removeListener(xt),dt(google.maps.event.addListener(ee,"cursor_changed",k)))},[k]),m.useEffect(function(){ee&&W&&(ut!==null&&google.maps.event.removeListener(ut),ft(google.maps.event.addListener(ee,"animation_changed",W)))},[W]),m.useEffect(function(){ee&&N&&(ot!==null&&google.maps.event.removeListener(ot),et(google.maps.event.addListener(ee,"draggable_changed",N)))},[N]),m.useEffect(function(){ee&&L&&(nt!==null&&google.maps.event.removeListener(nt),yt(google.maps.event.addListener(ee,"flat_changed",L)))},[L]),m.useEffect(function(){ee&&E&&(Rt!==null&&google.maps.event.removeListener(Rt),Wt(google.maps.event.addListener(ee,"icon_changed",E)))},[E]),m.useEffect(function(){ee&&U&&(At!==null&&google.maps.event.removeListener(At),Ft(google.maps.event.addListener(ee,"position_changed",U)))},[U]),m.useEffect(function(){ee&&F&&(Je!==null&&google.maps.event.removeListener(Je),ct(google.maps.event.addListener(ee,"shape_changed",F)))},[F]),m.useEffect(function(){ee&&B&&(Ne!==null&&google.maps.event.removeListener(Ne),lt(google.maps.event.addListener(ee,"title_changed",B)))},[B]),m.useEffect(function(){ee&&_&&(st!==null&&google.maps.event.removeListener(st),je(google.maps.event.addListener(ee,"visible_changed",_)))},[_]),m.useEffect(function(){ee&&Y&&(Ht!==null&&google.maps.event.removeListener(Ht),wt(google.maps.event.addListener(ee,"zindex_changed",Y)))},[Y]),m.useEffect(function(){var Et=cr(cr(cr({},n||OX),o?OX:{map:Z}),{position:e}),zt=new google.maps.Marker(Et);return o?o.addMarker(zt,!!i):zt.setMap(Z),e&&zt.setPosition(e),typeof l<"u"&&zt.setVisible(l),typeof a<"u"&&zt.setDraggable(a),typeof c<"u"&&zt.setClickable(c),typeof u=="string"&&zt.setCursor(u),d&&zt.setIcon(d),typeof f<"u"&&zt.setLabel(f),typeof p<"u"&&zt.setOpacity(p),g&&zt.setShape(g),typeof A=="string"&&zt.setTitle(A),typeof w=="number"&&zt.setZIndex(w),C&&se(google.maps.event.addListener(zt,"dblclick",C)),v&&he(google.maps.event.addListener(zt,"dragend",v)),T&&$(google.maps.event.addListener(zt,"dragstart",T)),R&&Ce(google.maps.event.addListener(zt,"mousedown",R)),y&&ze(google.maps.event.addListener(zt,"mouseout",y)),S&&ge(google.maps.event.addListener(zt,"mouseover",S)),x&&Pe(google.maps.event.addListener(zt,"mouseup",x)),H&&De(google.maps.event.addListener(zt,"rightclick",H)),b&&Le(google.maps.event.addListener(zt,"click",b)),P&&Ee(google.maps.event.addListener(zt,"drag",P)),D&&rt(google.maps.event.addListener(zt,"clickable_changed",D)),k&&dt(google.maps.event.addListener(zt,"cursor_changed",k)),W&&ft(google.maps.event.addListener(zt,"animation_changed",W)),N&&et(google.maps.event.addListener(zt,"draggable_changed",N)),L&&yt(google.maps.event.addListener(zt,"flat_changed",L)),E&&Wt(google.maps.event.addListener(zt,"icon_changed",E)),U&&Ft(google.maps.event.addListener(zt,"position_changed",U)),F&&ct(google.maps.event.addListener(zt,"shape_changed",F)),B&<(google.maps.event.addListener(zt,"title_changed",B)),_&&je(google.maps.event.addListener(zt,"visible_changed",_)),Y&&wt(google.maps.event.addListener(zt,"zindex_changed",Y)),q(zt),O&&O(zt),function(){ne!==null&&google.maps.event.removeListener(ne),te!==null&&google.maps.event.removeListener(te),fe!==null&&google.maps.event.removeListener(fe),Se!==null&&google.maps.event.removeListener(Se),Ie!==null&&google.maps.event.removeListener(Ie),oe!==null&&google.maps.event.removeListener(oe),me!==null&&google.maps.event.removeListener(me),Te!==null&&google.maps.event.removeListener(Te),Oe!==null&&google.maps.event.removeListener(Oe),Ge!==null&&google.maps.event.removeListener(Ge),xt!==null&&google.maps.event.removeListener(xt),ut!==null&&google.maps.event.removeListener(ut),ot!==null&&google.maps.event.removeListener(ot),nt!==null&&google.maps.event.removeListener(nt),Rt!==null&&google.maps.event.removeListener(Rt),At!==null&&google.maps.event.removeListener(At),Ne!==null&&google.maps.event.removeListener(Ne),st!==null&&google.maps.event.removeListener(st),Ht!==null&&google.maps.event.removeListener(Ht),J&&J(zt),o?o.removeMarker(zt,!!i):zt&&zt.setMap(null)}},[]);var It=m.useMemo(function(){return r?m.Children.map(r,function(Et){if(!m.isValidElement(Et))return Et;var zt=Et;return m.cloneElement(zt,{anchor:ee})}):null},[r,ee]);return h.jsx(h.Fragment,{children:It})||null}m.memo(who);var fHe=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=cr(cr(cr({},this.props.options||OX),this.props.clusterer?OX:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(n),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=Fa({updaterMap:dHe,eventMap:uHe,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)},e.prototype.componentDidUpdate=function(n){this.marker&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:dHe,eventMap:uHe,prevProps:n,nextProps:this.props,instance:this.marker}))},e.prototype.componentWillUnmount=function(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),ja(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))},e.prototype.render=function(){var n=this,o=null;return this.props.children&&(o=m.Children.map(this.props.children,function(i){if(!m.isValidElement(i))return i;var r=i;return m.cloneElement(r,{anchor:n.marker})})),o||null},e.contextType=xa,e}(m.PureComponent),vho=function(){function t(e,n){e.getClusterer().extend(t,google.maps.OverlayView),this.cluster=e,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(e.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return t.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},t.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},t.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var n=this.cluster.getClusterer();if(google.maps.event.trigger(n,"click",this.cluster),google.maps.event.trigger(n,"clusterclick",this.cluster),n.getZoomOnClick()){var o=n.getMaxZoom(),i=this.cluster.getBounds(),r=n.getMap();r!==null&&"fitBounds"in r&&r.fitBounds(i),this.timeOut=window.setTimeout(function(){var a=n.getMap();if(a!==null){"fitBounds"in a&&a.fitBounds(i);var l=a.getZoom()||0;o!==null&&l>o&&a.setZoom(o+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},t.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},t.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},t.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),(e=this.getPanes())===null||e===void 0||e.overlayMouseTarget.appendChild(this.div);var n=this.getMap();n!==null&&(this.boundsChangedListener=google.maps.event.addListener(n,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),this.boundsChangedListener!==null&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),this.timeOut!==null&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},t.prototype.draw=function(){if(this.visible&&this.div!==null&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=e!==null?"".concat(e.y,"px"):"0",this.div.style.left=e!==null?"".concat(e.x,"px"):"0"}},t.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},t.prototype.show=function(){var e,n,o,i,r,a;if(this.div&&this.center){var l=this.sums===null||typeof this.sums.title>"u"||this.sums.title===""?this.cluster.getClusterer().getTitle():this.sums.title,s=this.backgroundPosition.split(" "),c=parseInt(((e=s[0])===null||e===void 0?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),u=parseInt(((n=s[1])===null||n===void 0?void 0:n.replace(/^\s+|\s+$/g,""))||"0",10),d=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(d!==null?"".concat(d.y,"px"):"0","; left: ").concat(d!==null?"".concat(d.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var f=document.createElement("img");f.alt=l,f.src=this.url,f.width=this.width,f.height=this.height,f.setAttribute("style","position: absolute; top: ".concat(u,"px; left: ").concat(c,"px")),this.cluster.getClusterer().enableRetinaIcons||(f.style.clip="rect(-".concat(u,"px, -").concat(c+this.width,"px, -").concat(u+this.height,", -").concat(c,")"));var p=document.createElement("div");p.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),!((o=this.sums)===null||o===void 0)&&o.text&&(p.innerText="".concat((i=this.sums)===null||i===void 0?void 0:i.text)),!((r=this.sums)===null||r===void 0)&&r.html&&(p.innerHTML="".concat((a=this.sums)===null||a===void 0?void 0:a.html)),this.div.innerHTML="",this.div.appendChild(f),this.div.appendChild(p),this.div.title=l,this.div.style.display=""}this.visible=!0},t.prototype.useStyle=function(e){this.sums=e;var n=this.cluster.getClusterer().getStyles(),o=n[Math.min(n.length-1,Math.max(0,e.index-1))];o&&(this.url=o.url,this.height=o.height,this.width=o.width,o.className&&(this.className="".concat(this.clusterClassName," ").concat(o.className)),this.anchorText=o.anchorText||[0,0],this.anchorIcon=o.anchorIcon||[this.height/2,this.width/2],this.textColor=o.textColor||"black",this.textSize=o.textSize||11,this.textDecoration=o.textDecoration||"none",this.fontWeight=o.fontWeight||"bold",this.fontStyle=o.fontStyle||"normal",this.fontFamily=o.fontFamily||"Arial,sans-serif",this.backgroundPosition=o.backgroundPosition||"0 0")},t.prototype.setCenter=function(e){this.center=e},t.prototype.getPosFromLatLng=function(e){var n=this.getProjection().fromLatLngToDivPixel(e);return n!==null&&(n.x-=this.anchorIcon[1],n.y-=this.anchorIcon[0]),n},t}(),xho=function(){function t(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new vho(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return t.prototype.getSize=function(){return this.markers.length},t.prototype.getMarkers=function(){return this.markers},t.prototype.getCenter=function(){return this.center},t.prototype.getMap=function(){return this.map},t.prototype.getClusterer=function(){return this.markerClusterer},t.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),n=this.getMarkers(),o=0,i=n;oa)e.getMap()!==this.map&&e.setMap(this.map);else if(ro){this.clusterIcon.hide();return}if(n0))for(var e=0;e3?new google.maps.LatLngBounds(i==null?void 0:i.getSouthWest(),i==null?void 0:i.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),l=this.getExtendedBounds(a),s=Math.min(e+this.batchSize,this.markers.length),c=e;c"u"&&(typeof e.isHidden>"u"?e.visible=!0:e.visible=!e.isHidden),this.isHidden=!e.visible,this.alignBottom=e.alignBottom||!1,this.pane=e.pane||"floatPane",this.enableEventPropagation=e.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return t.prototype.createInfoBoxDiv=function(){var e=this,n=function(c){c.returnValue=!1,c.preventDefault&&c.preventDefault(),e.enableEventPropagation||hHe(c)};if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),typeof this.content=="string"?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var o=this.getPanes();if(o!==null&&o[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(this.maxWidth!==0&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var i=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-i.left-i.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var r=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],a=0,l=r;al&&(o=w.x+d+c+p-l),this.alignBottom?w.y<-u+g+f?i=w.y+u-g-f:w.y+u+g>s&&(i=w.y+u+g-s):w.y<-u+g?i=w.y+u-g:w.y+f+u+g>s&&(i=w.y+f+u+g-s)),o===0&&i===0||n.panBy(o,i)}}},t.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(this.div.style[n]=e[n]);if(this.div.style.webkitTransform="translateZ(0)",typeof this.div.style.opacity<"u"&&this.div.style.opacity!==""){var o=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+o*100+')"',this.div.style.filter="alpha(opacity="+o*100+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",this.zIndex!==null&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},t.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var n=this.div.ownerDocument,o=n&&n.defaultView?n.defaultView.getComputedStyle(this.div,""):null;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var i=this.div.currentStyle;i&&(e.top=parseInt(i.borderTopWidth||"",10)||0,e.bottom=parseInt(i.borderBottomWidth||"",10)||0,e.left=parseInt(i.borderLeftWidth||"",10)||0,e.right=parseInt(i.borderRightWidth||"",10)||0)}return e},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},t.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection(),n=e.fromLatLngToDivPixel(this.position);n!==null&&(this.div.style.left=n.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(n.y+this.pixelOffset.height)+"px":this.div.style.top=n.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},t.prototype.setOptions=function(e){e===void 0&&(e={}),typeof e.boxClass<"u"&&(this.boxClass=e.boxClass,this.setBoxStyle()),typeof e.boxStyle<"u"&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),typeof e.content<"u"&&this.setContent(e.content),typeof e.disableAutoPan<"u"&&(this.disableAutoPan=e.disableAutoPan),typeof e.maxWidth<"u"&&(this.maxWidth=e.maxWidth),typeof e.pixelOffset<"u"&&(this.pixelOffset=e.pixelOffset),typeof e.alignBottom<"u"&&(this.alignBottom=e.alignBottom),typeof e.position<"u"&&this.setPosition(e.position),typeof e.zIndex<"u"&&this.setZIndex(e.zIndex),typeof e.closeBoxMargin<"u"&&(this.closeBoxMargin=e.closeBoxMargin),typeof e.closeBoxURL<"u"&&(this.closeBoxURL=e.closeBoxURL),typeof e.infoBoxClearance<"u"&&(this.infoBoxClearance=e.infoBoxClearance),typeof e.isHidden<"u"&&(this.isHidden=e.isHidden),typeof e.visible<"u"&&(this.isHidden=!e.visible),typeof e.enableEventPropagation<"u"&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},t.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px",typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},t.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},t.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},t.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},t.prototype.getContent=function(){return this.content},t.prototype.getPosition=function(){return this.position},t.prototype.getZIndex=function(){return this.zIndex},t.prototype.getVisible=function(){var e=this.getMap();return typeof e>"u"||e===null?!1:!this.isHidden},t.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},t.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},t.prototype.open=function(e,n){var o=this;n&&(this.position=n.getPosition(),this.moveListener=google.maps.event.addListener(n,"position_changed",function(){var i=n.getPosition();o.setPosition(i)}),this.mapListener=google.maps.event.addListener(n,"map_changed",function(){o.setMap(n.map)})),this.setMap(e),this.div&&this.panBox()},t.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,n=this.eventListeners;e."),d&&d(Y)}return function(){A!==null&&(C&&google.maps.event.removeListener(C),x&&google.maps.event.removeListener(x),T&&google.maps.event.removeListener(T),D&&google.maps.event.removeListener(D),N&&google.maps.event.removeListener(N),f&&f(A),A.close())}},[]),E.current?Td.createPortal(m.Children.only(e),E.current):null}m.memo(Eho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoBox:null},n.open=function(o,i){i?n.context!==null&&o.open(n.context,i):o.getPosition()?n.context!==null&&o.open(n.context):B0(!1,"You must provide either an anchor or a position prop for .")},n.setInfoBoxCallback=function(){n.state.infoBox!==null&&n.containerElement!==null&&(n.state.infoBox.setContent(n.containerElement),n.open(n.state.infoBox,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoBox))},n}return e.prototype.componentDidMount=function(){var n=this.props.options||{},o=n.position,i=i9e(n,["position"]),r;o&&!(o instanceof google.maps.LatLng)&&(r=new google.maps.LatLng(o.lat,o.lng));var a=new Cot(cr(cr({},i),r?{position:r}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:gHe,eventMap:pHe,prevProps:{},nextProps:this.props,instance:a}),this.setState({infoBox:a},this.setInfoBoxCallback)},e.prototype.componentDidUpdate=function(n){var o=this.state.infoBox;o!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:gHe,eventMap:pHe,prevProps:n,nextProps:this.props,instance:o}))},e.prototype.componentWillUnmount=function(){var n=this.props.onUnmount,o=this.state.infoBox;o!==null&&(n&&n(o),ja(this.registeredEvents),o.close())},e.prototype.render=function(){return this.containerElement?Td.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e})(m.PureComponent);var kho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n},mHe=wot(kho);const yHe=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Tae=1,Yz=8;class a9e{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[n,o]=new Uint8Array(e,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const i=o>>4;if(i!==Tae)throw new Error(`Got v${i} data when expected v${Tae}.`);const r=yHe[o&15];if(!r)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(e,2,1),[l]=new Uint32Array(e,4,1);return new a9e(l,a,r,e)}constructor(e,n=64,o=Float64Array,i){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=o,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const r=yHe.indexOf(this.ArrayType),a=e*2*this.ArrayType.BYTES_PER_ELEMENT,l=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-l%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${o}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Yz+a+l+s),this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(Tae<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=e)}add(e,n){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=e,this.coords[this._pos++]=n,o}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Yde(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,n,o,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:a,nodeSize:l}=this,s=[0,r.length-1,0],c=[];for(;s.length;){const u=s.pop()||0,d=s.pop()||0,f=s.pop()||0;if(d-f<=l){for(let w=f;w<=d;w++){const b=a[2*w],C=a[2*w+1];b>=e&&b<=o&&C>=n&&C<=i&&c.push(r[w])}continue}const p=f+d>>1,g=a[2*p],A=a[2*p+1];g>=e&&g<=o&&A>=n&&A<=i&&c.push(r[p]),(u===0?e<=g:n<=A)&&(s.push(f),s.push(p-1),s.push(1-u)),(u===0?o>=g:i>=A)&&(s.push(p+1),s.push(d),s.push(1-u))}return c}within(e,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:r,nodeSize:a}=this,l=[0,i.length-1,0],s=[],c=o*o;for(;l.length;){const u=l.pop()||0,d=l.pop()||0,f=l.pop()||0;if(d-f<=a){for(let w=f;w<=d;w++)AHe(r[2*w],r[2*w+1],e,n)<=c&&s.push(i[w]);continue}const p=f+d>>1,g=r[2*p],A=r[2*p+1];AHe(g,A,e,n)<=c&&s.push(i[p]),(u===0?e-o<=g:n-o<=A)&&(l.push(f),l.push(p-1),l.push(1-u)),(u===0?e+o>=g:n+o>=A)&&(l.push(p+1),l.push(d),l.push(1-u))}return s}}function Yde(t,e,n,o,i,r){if(i-o<=n)return;const a=o+i>>1;Rot(t,e,a,o,i,r),Yde(t,e,n,o,a-1,1-r),Yde(t,e,n,a+1,i,1-r)}function Rot(t,e,n,o,i,r){for(;i>o;){if(i-o>600){const c=i-o+1,u=n-o+1,d=Math.log(c),f=.5*Math.exp(2*d/3),p=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),g=Math.max(o,Math.floor(n-u*f/c+p)),A=Math.min(i,Math.floor(n+(c-u)*f/c+p));Rot(t,e,n,g,A,r)}const a=e[2*n+r];let l=o,s=i;for(Oz(t,e,o,n),e[2*i+r]>a&&Oz(t,e,o,i);la;)s--}e[2*o+r]===a?Oz(t,e,o,s):(s++,Oz(t,e,s,i)),s<=n&&(o=s+1),n<=s&&(i=s-1)}}function Oz(t,e,n,o){Pae(t,n,o),Pae(e,2*n,2*o),Pae(e,2*n+1,2*o+1)}function Pae(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function AHe(t,e,n,o){const i=t-n,r=e-o;return i*i+r*r}const Fho={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},wHe=Math.fround||(t=>e=>(t[0]=+e,t[0]))(new Float32Array(1)),$8=2,X4=3,Cae=4,F4=5,Hot=6;class Lho{constructor(e){this.options=Object.assign(Object.create(Fho),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:n,minZoom:o,maxZoom:i}=this.options;n&&console.time("total time");const r=`prepare ${e.length} points`;n&&console.time(r),this.points=e;const a=[];for(let s=0;s=o;s--){const c=+Date.now();l=this.trees[s]=this._createTree(this._cluster(l,s)),n&&console.log("z%d: %d clusters in %dms",s,l.numItems,+Date.now()-c)}return n&&console.timeEnd("total time"),this}getClusters(e,n){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let r=e[2]===180?180:((e[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,r=180;else if(o>r){const d=this.getClusters([o,i,180,a],n),f=this.getClusters([-180,i,r,a],n);return d.concat(f)}const l=this.trees[this._limitZoom(n)],s=l.range(RO(o),HO(a),RO(r),HO(i)),c=l.data,u=[];for(const d of s){const f=this.stride*d;u.push(c[f+F4]>1?vHe(c,f,this.clusterProps):this.points[c[f+X4]])}return u}getChildren(e){const n=this._getOriginId(e),o=this._getOriginZoom(e),i="No cluster with the specified id.",r=this.trees[o];if(!r)throw new Error(i);const a=r.data;if(n*this.stride>=a.length)throw new Error(i);const l=this.options.radius/(this.options.extent*Math.pow(2,o-1)),s=a[n*this.stride],c=a[n*this.stride+1],u=r.within(s,c,l),d=[];for(const f of u){const p=f*this.stride;a[p+Cae]===e&&d.push(a[p+F4]>1?vHe(a,p,this.clusterProps):this.points[a[p+X4]])}if(d.length===0)throw new Error(i);return d}getLeaves(e,n,o){n=n||10,o=o||0;const i=[];return this._appendLeaves(i,e,n,o,0),i}getTile(e,n,o){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:a,radius:l}=this.options,s=l/a,c=(o-s)/r,u=(o+1+s)/r,d={features:[]};return this._addTileFeatures(i.range((n-s)/r,c,(n+1+s)/r,u),i.data,n,o,r,d),n===0&&this._addTileFeatures(i.range(1-s/r,c,1,u),i.data,r,o,r,d),n===r-1&&this._addTileFeatures(i.range(0,c,s/r,u),i.data,-1,o,r,d),d.features.length?d:null}getClusterExpansionZoom(e){let n=this._getOriginZoom(e)-1;for(;n<=this.options.maxZoom;){const o=this.getChildren(e);if(n++,o.length!==1)break;e=o[0].properties.cluster_id}return n}_appendLeaves(e,n,o,i,r){const a=this.getChildren(n);for(const l of a){const s=l.properties;if(s&&s.cluster?r+s.point_count<=i?r+=s.point_count:r=this._appendLeaves(e,s.cluster_id,o,i,r):r1;let u,d,f;if(c)u=Mot(n,s,this.clusterProps),d=n[s],f=n[s+1];else{const A=this.points[n[s+X4]];u=A.properties;const[w,b]=A.geometry.coordinates;d=RO(w),f=HO(b)}const p={type:1,geometry:[[Math.round(this.options.extent*(d*r-o)),Math.round(this.options.extent*(f*r-i))]],tags:u};let g;c||this.options.generateId?g=n[s+X4]:g=this.points[n[s+X4]].id,g!==void 0&&(p.id=g),a.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,n){const{radius:o,extent:i,reduce:r,minPoints:a}=this.options,l=o/(i*Math.pow(2,n)),s=e.data,c=[],u=this.stride;for(let d=0;dn&&(w+=s[C+F4])}if(w>A&&w>=a){let b=f*A,C=p*A,P,v=-1;const T=((d/u|0)<<5)+(n+1)+this.points.length;for(const y of g){const S=y*u;if(s[S+$8]<=n)continue;s[S+$8]=n;const x=s[S+F4];b+=s[S]*x,C+=s[S+1]*x,s[S+Cae]=T,r&&(P||(P=this._map(s,d,!0),v=this.clusterProps.length,this.clusterProps.push(P)),r(P,this._map(s,S)))}s[d+Cae]=T,c.push(b/w,C/w,1/0,T,-1,w),r&&c.push(v)}else{for(let b=0;b1)for(const b of g){const C=b*u;if(!(s[C+$8]<=n)){s[C+$8]=n;for(let P=0;P>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,n,o){if(e[n+F4]>1){const a=this.clusterProps[e[n+Hot]];return o?Object.assign({},a):a}const i=this.points[e[n+X4]].properties,r=this.options.map(i);return o&&r===i?Object.assign({},r):r}}function vHe(t,e,n){return{type:"Feature",id:t[e+X4],properties:Mot(t,e,n),geometry:{type:"Point",coordinates:[Who(t[e]),Nho(t[e+1])]}}}function Mot(t,e,n){const o=t[e+F4],i=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?`${Math.round(o/100)/10}k`:o,r=t[e+Hot],a=r===-1?{}:Object.assign({},n[r]);return Object.assign(a,{cluster:!0,cluster_id:t[e+X4],point_count:o,point_count_abbreviated:i})}function RO(t){return t/360+.5}function HO(t){const e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function Who(t){return(t-.5)*360}function Nho(t){const e=(180-t*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}/*! ***************************************************************************** +***************************************************************************** */function uho(t,e,n,o){function i(r){return r instanceof n?r:new n(function(a){a(r)})}return new(n||(n=Promise))(function(r,a){function l(u){try{c(o.next(u))}catch(d){a(d)}}function s(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?r(u.value):i(u.value).then(l,s)}c((o=o.apply(t,[])).next())})}var dho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n};const oHe="__googleMapsScriptId";var tC;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(tC||(tC={}));class xv{constructor({apiKey:e,authReferrerPolicy:n,channel:o,client:i,id:r=oHe,language:a,libraries:l=[],mapIds:s,nonce:c,region:u,retries:d=3,url:f="https://maps.googleapis.com/maps/api/js",version:p}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=n,this.channel=o,this.client=i,this.id=r||oHe,this.language=a,this.libraries=l,this.mapIds=s,this.nonce=c,this.region=u,this.retries=d,this.url=f,this.version=p,xv.instance){if(!dho(this.options,xv.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(xv.instance.options)}`);return xv.instance}xv.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?tC.FAILURE:this.done?tC.SUCCESS:this.loading?tC.LOADING:tC.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,n)=>{this.loadCallback(o=>{o?n(o.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,n;if(document.getElementById(this.id)){this.callback();return}const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach(r=>!o[r]&&delete o[r]),!((n=(e=window==null?void 0:window.google)===null||e===void 0?void 0:e.maps)===null||n===void 0)&&n.importLibrary||(r=>{let a,l,s,c="The Google Maps JavaScript API",u="google",d="importLibrary",f="__ib__",p=document,g=window;g=g[u]||(g[u]={});const A=g.maps||(g.maps={}),w=new Set,b=new URLSearchParams,C=()=>a||(a=new Promise((P,v)=>uho(this,void 0,void 0,function*(){var T;yield l=p.createElement("script"),l.id=this.id,b.set("libraries",[...w]+"");for(s in r)b.set(s.replace(/[A-Z]/g,y=>"_"+y[0].toLowerCase()),r[s]);b.set("callback",u+".maps."+f),l.src=this.url+"?"+b,A[f]=P,l.onerror=()=>a=v(Error(c+" could not load.")),l.nonce=this.nonce||((T=p.querySelector("script[nonce]"))===null||T===void 0?void 0:T.nonce)||"",p.head.append(l)})));A[d]?console.warn(c+" only loads once. Ignoring:",r):A[d]=(P,...v)=>w.add(P)&&C().then(()=>A[d](P,...v))})(o);const i=this.libraries.map(r=>this.importLibrary(r));i.length||i.push(this.importLibrary("core")),Promise.all(i).then(()=>this.callback(),r=>{const a=new ErrorEvent("error",{error:r});this.loadErrorCallback(a)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const n=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${n} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},n)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}var fho=["maps"];function bot(t){var e=t.id,n=e===void 0?CF.id:e,o=t.version,i=o===void 0?CF.version:o,r=t.nonce,a=t.googleMapsApiKey,l=t.language,s=t.region,c=t.libraries,u=c===void 0?fho:c,d=t.preventGoogleFontsLoading,f=t.mapIds,p=t.authReferrerPolicy,g=m.useRef(!1),A=m.useState(!1),w=A[0],b=A[1],C=m.useState(void 0),P=C[0],v=C[1];m.useEffect(function(){return g.current=!0,function(){g.current=!1}},[]);var T=m.useMemo(function(){return new xv({id:n,apiKey:a,version:i,libraries:u,language:l||"en",region:s||"US",mapIds:f||[],nonce:r||"",authReferrerPolicy:p||"origin"})},[n,a,i,u,l,s,f,r,p]);m.useEffect(function(){w||T.load().then(function(){g.current&&b(!0)}).catch(function(x){v(x)})},[]),m.useEffect(function(){yw&&d&&r9e()},[d]);var y=m.useRef();return m.useEffect(function(){y.current&&u!==y.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),y.current=u},[u]),{isLoaded:w,loadError:P}}var iHe={},rHe={options:function(t,e){t.setOptions(e)}};function hho(t){var e=t.options,n=t.onLoad,o=t.onUnmount,i=m.useContext(xa),r=m.useState(null),a=r[0],l=r[1];return m.useEffect(function(){a!==null&&a.setMap(i)},[i]),m.useEffect(function(){e&&a!==null&&a.setOptions(e)},[a,e]),m.useEffect(function(){var s=new google.maps.TrafficLayer(cr(cr({},e||{}),{map:i}));return l(s),n&&n(s),function(){a!==null&&(o&&o(a),a.setMap(null))}},[]),null}m.memo(hho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={trafficLayer:null},n.setTrafficLayerCallback=function(){n.state.trafficLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.trafficLayer)},n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=new google.maps.TrafficLayer(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:rHe,eventMap:iHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{trafficLayer:n}},this.setTrafficLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.trafficLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:rHe,eventMap:iHe,prevProps:n,nextProps:this.props,instance:this.state.trafficLayer}))},e.prototype.componentWillUnmount=function(){this.state.trafficLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),ja(this.registeredEvents),this.state.trafficLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function pho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.BicyclingLayer;return a(l),l.setMap(o),e&&e(l),function(){l!==null&&(n&&n(l),l.setMap(null))}},[]),null}m.memo(pho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={bicyclingLayer:null},n.setBicyclingLayerCallback=function(){n.state.bicyclingLayer!==null&&(n.state.bicyclingLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.bicyclingLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.BicyclingLayer;this.setState(function(){return{bicyclingLayer:n}},this.setBicyclingLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.bicyclingLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function gho(t){var e=t.onLoad,n=t.onUnmount,o=m.useContext(xa),i=m.useState(null),r=i[0],a=i[1];return m.useEffect(function(){r!==null&&r.setMap(o)},[o]),m.useEffect(function(){var l=new google.maps.TransitLayer;return a(l),l.setMap(o),e&&e(l),function(){r!==null&&(n&&n(r),r.setMap(null))}},[]),null}m.memo(gho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={transitLayer:null},n.setTransitLayerCallback=function(){n.state.transitLayer!==null&&(n.state.transitLayer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.transitLayer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:n}},this.setTransitLayerCallback)},e.prototype.componentWillUnmount=function(){this.state.transitLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var aHe={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},lHe={drawingMode:function(t,e){t.setDrawingMode(e)},options:function(t,e){t.setOptions(e)}};function mho(t){var e=t.options,n=t.drawingMode,o=t.onCircleComplete,i=t.onMarkerComplete,r=t.onOverlayComplete,a=t.onPolygonComplete,l=t.onPolylineComplete,s=t.onRectangleComplete,c=t.onLoad,u=t.onUnmount,d=m.useContext(xa),f=m.useState(null),p=f[0],g=f[1],A=m.useState(null),w=A[0],b=A[1],C=m.useState(null),P=C[0],v=C[1],T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1];return m.useEffect(function(){p!==null&&p.setMap(d)},[d]),m.useEffect(function(){e&&p!==null&&p.setOptions(e)},[p,e]),m.useEffect(function(){n&&p!==null&&p.setDrawingMode(n)},[p,n]),m.useEffect(function(){p&&o&&(w!==null&&google.maps.event.removeListener(w),b(google.maps.event.addListener(p,"circlecomplete",o)))},[p,o]),m.useEffect(function(){p&&i&&(P!==null&&google.maps.event.removeListener(P),v(google.maps.event.addListener(p,"markercomplete",i)))},[p,i]),m.useEffect(function(){p&&r&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(p,"overlaycomplete",r)))},[p,r]),m.useEffect(function(){p&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(p,"polygoncomplete",a)))},[p,a]),m.useEffect(function(){p&&l&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(p,"polylinecomplete",l)))},[p,l]),m.useEffect(function(){p&&s&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(p,"rectanglecomplete",s)))},[p,s]),m.useEffect(function(){B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var U=new google.maps.drawing.DrawingManager(cr(cr({},e||{}),{map:d}));return n&&U.setDrawingMode(n),o&&b(google.maps.event.addListener(U,"circlecomplete",o)),i&&v(google.maps.event.addListener(U,"markercomplete",i)),r&&S(google.maps.event.addListener(U,"overlaycomplete",r)),a&&H(google.maps.event.addListener(U,"polygoncomplete",a)),l&&W(google.maps.event.addListener(U,"polylinecomplete",l)),s&&E(google.maps.event.addListener(U,"rectanglecomplete",s)),g(U),c&&c(U),function(){p!==null&&(w&&google.maps.event.removeListener(w),P&&google.maps.event.removeListener(P),y&&google.maps.event.removeListener(y),R&&google.maps.event.removeListener(R),k&&google.maps.event.removeListener(k),L&&google.maps.event.removeListener(L),u&&u(p),p.setMap(null))}},[]),null}m.memo(mho);(function(t){Ms(e,t);function e(n){var o=t.call(this,n)||this;return o.registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){o.state.drawingManager!==null&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},B0(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing),o}return e.prototype.componentDidMount=function(){var n=new google.maps.drawing.DrawingManager(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{drawingManager:n}},this.setDrawingManagerCallback)},e.prototype.componentDidUpdate=function(n){this.state.drawingManager!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:lHe,eventMap:aHe,prevProps:n,nextProps:this.props,instance:this.state.drawingManager}))},e.prototype.componentWillUnmount=function(){this.state.drawingManager!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),ja(this.registeredEvents),this.state.drawingManager.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var sHe={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},cHe={animation:function(t,e){t.setAnimation(e)},clickable:function(t,e){t.setClickable(e)},cursor:function(t,e){t.setCursor(e)},draggable:function(t,e){t.setDraggable(e)},icon:function(t,e){t.setIcon(e)},label:function(t,e){t.setLabel(e)},map:function(t,e){t.setMap(e)},opacity:function(t,e){t.setOpacity(e)},options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},shape:function(t,e){t.setShape(e)},title:function(t,e){t.setTitle(e)},visible:function(t,e){t.setVisible(e)},zIndex:function(t,e){t.setZIndex(e)}},OX={};function yho(t){var e=t.position,n=t.options,o=t.clusterer,i=t.noClustererRedraw,r=t.children,a=t.draggable,l=t.visible,s=t.animation,c=t.clickable,u=t.cursor,d=t.icon,f=t.label,p=t.opacity,g=t.shape,A=t.title,w=t.zIndex,b=t.onClick,C=t.onDblClick,P=t.onDrag,v=t.onDragEnd,T=t.onDragStart,y=t.onMouseOut,S=t.onMouseOver,x=t.onMouseUp,R=t.onMouseDown,H=t.onRightClick,D=t.onClickableChanged,k=t.onCursorChanged,W=t.onAnimationChanged,N=t.onDraggableChanged,L=t.onFlatChanged,E=t.onIconChanged,U=t.onPositionChanged,F=t.onShapeChanged,B=t.onTitleChanged,_=t.onVisibleChanged,Y=t.onZindexChanged,O=t.onLoad,J=t.onUnmount,Z=m.useContext(xa),ie=m.useState(null),ee=ie[0],q=ie[1],ae=m.useState(null),ne=ae[0],se=ae[1],le=m.useState(null),te=le[0],he=le[1],pe=m.useState(null),fe=pe[0],$=pe[1],de=m.useState(null),Se=de[0],Ce=de[1],ve=m.useState(null),Ie=ve[0],ze=ve[1],ye=m.useState(null),oe=ye[0],ge=ye[1],Ae=m.useState(null),me=Ae[0],Pe=Ae[1],Me=m.useState(null),Te=Me[0],De=Me[1],Ne=m.useState(null),Ye=Ne[0],Le=Ne[1],$e=m.useState(null),We=$e[0],Ee=$e[1],Fe=m.useState(null),Ge=Fe[0],rt=Fe[1],_e=m.useState(null),xt=_e[0],dt=_e[1],Qe=m.useState(null),ct=Qe[0],ft=Qe[1],at=m.useState(null),ot=at[0],et=at[1],Oe=m.useState(null),nt=Oe[0],mt=Oe[1],Tt=m.useState(null),Rt=Tt[0],Wt=Tt[1],Ct=m.useState(null),wt=Ct[0],kt=Ct[1],qe=m.useState(null),Je=qe[0],st=qe[1],Pt=m.useState(null),Ue=Pt[0],lt=Pt[1],Ve=m.useState(null),ut=Ve[0],je=Ve[1],yt=m.useState(null),Ht=yt[0],At=yt[1];m.useEffect(function(){ee!==null&&ee.setMap(Z)},[Z]),m.useEffect(function(){typeof n<"u"&&ee!==null&&ee.setOptions(n)},[ee,n]),m.useEffect(function(){typeof a<"u"&&ee!==null&&ee.setDraggable(a)},[ee,a]),m.useEffect(function(){e&&ee!==null&&ee.setPosition(e)},[ee,e]),m.useEffect(function(){typeof l<"u"&&ee!==null&&ee.setVisible(l)},[ee,l]),m.useEffect(function(){ee==null||ee.setAnimation(s)},[ee,s]),m.useEffect(function(){ee&&C&&(ne!==null&&google.maps.event.removeListener(ne),se(google.maps.event.addListener(ee,"dblclick",C)))},[C]),m.useEffect(function(){ee&&v&&(te!==null&&google.maps.event.removeListener(te),he(google.maps.event.addListener(ee,"dragend",v)))},[v]),m.useEffect(function(){ee&&T&&(fe!==null&&google.maps.event.removeListener(fe),$(google.maps.event.addListener(ee,"dragstart",T)))},[T]),m.useEffect(function(){ee&&R&&(Se!==null&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(ee,"mousedown",R)))},[R]),m.useEffect(function(){ee&&y&&(Ie!==null&&google.maps.event.removeListener(Ie),ze(google.maps.event.addListener(ee,"mouseout",y)))},[y]),m.useEffect(function(){ee&&S&&(oe!==null&&google.maps.event.removeListener(oe),ge(google.maps.event.addListener(ee,"mouseover",S)))},[S]),m.useEffect(function(){ee&&x&&(me!==null&&google.maps.event.removeListener(me),Pe(google.maps.event.addListener(ee,"mouseup",x)))},[x]),m.useEffect(function(){ee&&H&&(Te!==null&&google.maps.event.removeListener(Te),De(google.maps.event.addListener(ee,"rightclick",H)))},[H]),m.useEffect(function(){ee&&b&&(Ye!==null&&google.maps.event.removeListener(Ye),Le(google.maps.event.addListener(ee,"click",b)))},[b]),m.useEffect(function(){ee&&P&&(We!==null&&google.maps.event.removeListener(We),Ee(google.maps.event.addListener(ee,"drag",P)))},[P]),m.useEffect(function(){ee&&D&&(Ge!==null&&google.maps.event.removeListener(Ge),rt(google.maps.event.addListener(ee,"clickable_changed",D)))},[D]),m.useEffect(function(){ee&&k&&(xt!==null&&google.maps.event.removeListener(xt),dt(google.maps.event.addListener(ee,"cursor_changed",k)))},[k]),m.useEffect(function(){ee&&W&&(ct!==null&&google.maps.event.removeListener(ct),ft(google.maps.event.addListener(ee,"animation_changed",W)))},[W]),m.useEffect(function(){ee&&N&&(ot!==null&&google.maps.event.removeListener(ot),et(google.maps.event.addListener(ee,"draggable_changed",N)))},[N]),m.useEffect(function(){ee&&L&&(nt!==null&&google.maps.event.removeListener(nt),mt(google.maps.event.addListener(ee,"flat_changed",L)))},[L]),m.useEffect(function(){ee&&E&&(Rt!==null&&google.maps.event.removeListener(Rt),Wt(google.maps.event.addListener(ee,"icon_changed",E)))},[E]),m.useEffect(function(){ee&&U&&(wt!==null&&google.maps.event.removeListener(wt),kt(google.maps.event.addListener(ee,"position_changed",U)))},[U]),m.useEffect(function(){ee&&F&&(Je!==null&&google.maps.event.removeListener(Je),st(google.maps.event.addListener(ee,"shape_changed",F)))},[F]),m.useEffect(function(){ee&&B&&(Ue!==null&&google.maps.event.removeListener(Ue),lt(google.maps.event.addListener(ee,"title_changed",B)))},[B]),m.useEffect(function(){ee&&_&&(ut!==null&&google.maps.event.removeListener(ut),je(google.maps.event.addListener(ee,"visible_changed",_)))},[_]),m.useEffect(function(){ee&&Y&&(Ht!==null&&google.maps.event.removeListener(Ht),At(google.maps.event.addListener(ee,"zindex_changed",Y)))},[Y]),m.useEffect(function(){var zt=cr(cr(cr({},n||OX),o?OX:{map:Z}),{position:e}),Ft=new google.maps.Marker(zt);return o?o.addMarker(Ft,!!i):Ft.setMap(Z),e&&Ft.setPosition(e),typeof l<"u"&&Ft.setVisible(l),typeof a<"u"&&Ft.setDraggable(a),typeof c<"u"&&Ft.setClickable(c),typeof u=="string"&&Ft.setCursor(u),d&&Ft.setIcon(d),typeof f<"u"&&Ft.setLabel(f),typeof p<"u"&&Ft.setOpacity(p),g&&Ft.setShape(g),typeof A=="string"&&Ft.setTitle(A),typeof w=="number"&&Ft.setZIndex(w),C&&se(google.maps.event.addListener(Ft,"dblclick",C)),v&&he(google.maps.event.addListener(Ft,"dragend",v)),T&&$(google.maps.event.addListener(Ft,"dragstart",T)),R&&Ce(google.maps.event.addListener(Ft,"mousedown",R)),y&&ze(google.maps.event.addListener(Ft,"mouseout",y)),S&&ge(google.maps.event.addListener(Ft,"mouseover",S)),x&&Pe(google.maps.event.addListener(Ft,"mouseup",x)),H&&De(google.maps.event.addListener(Ft,"rightclick",H)),b&&Le(google.maps.event.addListener(Ft,"click",b)),P&&Ee(google.maps.event.addListener(Ft,"drag",P)),D&&rt(google.maps.event.addListener(Ft,"clickable_changed",D)),k&&dt(google.maps.event.addListener(Ft,"cursor_changed",k)),W&&ft(google.maps.event.addListener(Ft,"animation_changed",W)),N&&et(google.maps.event.addListener(Ft,"draggable_changed",N)),L&&mt(google.maps.event.addListener(Ft,"flat_changed",L)),E&&Wt(google.maps.event.addListener(Ft,"icon_changed",E)),U&&kt(google.maps.event.addListener(Ft,"position_changed",U)),F&&st(google.maps.event.addListener(Ft,"shape_changed",F)),B&<(google.maps.event.addListener(Ft,"title_changed",B)),_&&je(google.maps.event.addListener(Ft,"visible_changed",_)),Y&&At(google.maps.event.addListener(Ft,"zindex_changed",Y)),q(Ft),O&&O(Ft),function(){ne!==null&&google.maps.event.removeListener(ne),te!==null&&google.maps.event.removeListener(te),fe!==null&&google.maps.event.removeListener(fe),Se!==null&&google.maps.event.removeListener(Se),Ie!==null&&google.maps.event.removeListener(Ie),oe!==null&&google.maps.event.removeListener(oe),me!==null&&google.maps.event.removeListener(me),Te!==null&&google.maps.event.removeListener(Te),Ye!==null&&google.maps.event.removeListener(Ye),Ge!==null&&google.maps.event.removeListener(Ge),xt!==null&&google.maps.event.removeListener(xt),ct!==null&&google.maps.event.removeListener(ct),ot!==null&&google.maps.event.removeListener(ot),nt!==null&&google.maps.event.removeListener(nt),Rt!==null&&google.maps.event.removeListener(Rt),wt!==null&&google.maps.event.removeListener(wt),Ue!==null&&google.maps.event.removeListener(Ue),ut!==null&&google.maps.event.removeListener(ut),Ht!==null&&google.maps.event.removeListener(Ht),J&&J(Ft),o?o.removeMarker(Ft,!!i):Ft&&Ft.setMap(null)}},[]);var It=m.useMemo(function(){return r?m.Children.map(r,function(zt){if(!m.isValidElement(zt))return zt;var Ft=zt;return m.cloneElement(Ft,{anchor:ee})}):null},[r,ee]);return h.jsx(h.Fragment,{children:It})||null}m.memo(yho);var uHe=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n}return e.prototype.componentDidMount=function(){var n=cr(cr(cr({},this.props.options||OX),this.props.clusterer?OX:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(n),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=Fa({updaterMap:cHe,eventMap:sHe,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)},e.prototype.componentDidUpdate=function(n){this.marker&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:cHe,eventMap:sHe,prevProps:n,nextProps:this.props,instance:this.marker}))},e.prototype.componentWillUnmount=function(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),ja(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))},e.prototype.render=function(){var n=this,o=null;return this.props.children&&(o=m.Children.map(this.props.children,function(i){if(!m.isValidElement(i))return i;var r=i;return m.cloneElement(r,{anchor:n.marker})})),o||null},e.contextType=xa,e}(m.PureComponent),Aho=function(){function t(e,n){e.getClusterer().extend(t,google.maps.OverlayView),this.cluster=e,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(e.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return t.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},t.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},t.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var n=this.cluster.getClusterer();if(google.maps.event.trigger(n,"click",this.cluster),google.maps.event.trigger(n,"clusterclick",this.cluster),n.getZoomOnClick()){var o=n.getMaxZoom(),i=this.cluster.getBounds(),r=n.getMap();r!==null&&"fitBounds"in r&&r.fitBounds(i),this.timeOut=window.setTimeout(function(){var a=n.getMap();if(a!==null){"fitBounds"in a&&a.fitBounds(i);var l=a.getZoom()||0;o!==null&&l>o&&a.setZoom(o+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},t.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},t.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},t.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),(e=this.getPanes())===null||e===void 0||e.overlayMouseTarget.appendChild(this.div);var n=this.getMap();n!==null&&(this.boundsChangedListener=google.maps.event.addListener(n,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),this.boundsChangedListener!==null&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),this.timeOut!==null&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},t.prototype.draw=function(){if(this.visible&&this.div!==null&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=e!==null?"".concat(e.y,"px"):"0",this.div.style.left=e!==null?"".concat(e.x,"px"):"0"}},t.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},t.prototype.show=function(){var e,n,o,i,r,a;if(this.div&&this.center){var l=this.sums===null||typeof this.sums.title>"u"||this.sums.title===""?this.cluster.getClusterer().getTitle():this.sums.title,s=this.backgroundPosition.split(" "),c=parseInt(((e=s[0])===null||e===void 0?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),u=parseInt(((n=s[1])===null||n===void 0?void 0:n.replace(/^\s+|\s+$/g,""))||"0",10),d=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(d!==null?"".concat(d.y,"px"):"0","; left: ").concat(d!==null?"".concat(d.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var f=document.createElement("img");f.alt=l,f.src=this.url,f.width=this.width,f.height=this.height,f.setAttribute("style","position: absolute; top: ".concat(u,"px; left: ").concat(c,"px")),this.cluster.getClusterer().enableRetinaIcons||(f.style.clip="rect(-".concat(u,"px, -").concat(c+this.width,"px, -").concat(u+this.height,", -").concat(c,")"));var p=document.createElement("div");p.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),!((o=this.sums)===null||o===void 0)&&o.text&&(p.innerText="".concat((i=this.sums)===null||i===void 0?void 0:i.text)),!((r=this.sums)===null||r===void 0)&&r.html&&(p.innerHTML="".concat((a=this.sums)===null||a===void 0?void 0:a.html)),this.div.innerHTML="",this.div.appendChild(f),this.div.appendChild(p),this.div.title=l,this.div.style.display=""}this.visible=!0},t.prototype.useStyle=function(e){this.sums=e;var n=this.cluster.getClusterer().getStyles(),o=n[Math.min(n.length-1,Math.max(0,e.index-1))];o&&(this.url=o.url,this.height=o.height,this.width=o.width,o.className&&(this.className="".concat(this.clusterClassName," ").concat(o.className)),this.anchorText=o.anchorText||[0,0],this.anchorIcon=o.anchorIcon||[this.height/2,this.width/2],this.textColor=o.textColor||"black",this.textSize=o.textSize||11,this.textDecoration=o.textDecoration||"none",this.fontWeight=o.fontWeight||"bold",this.fontStyle=o.fontStyle||"normal",this.fontFamily=o.fontFamily||"Arial,sans-serif",this.backgroundPosition=o.backgroundPosition||"0 0")},t.prototype.setCenter=function(e){this.center=e},t.prototype.getPosFromLatLng=function(e){var n=this.getProjection().fromLatLngToDivPixel(e);return n!==null&&(n.x-=this.anchorIcon[1],n.y-=this.anchorIcon[0]),n},t}(),who=function(){function t(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new Aho(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return t.prototype.getSize=function(){return this.markers.length},t.prototype.getMarkers=function(){return this.markers},t.prototype.getCenter=function(){return this.center},t.prototype.getMap=function(){return this.map},t.prototype.getClusterer=function(){return this.markerClusterer},t.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),n=this.getMarkers(),o=0,i=n;oa)e.getMap()!==this.map&&e.setMap(this.map);else if(ro){this.clusterIcon.hide();return}if(n0))for(var e=0;e3?new google.maps.LatLngBounds(i==null?void 0:i.getSouthWest(),i==null?void 0:i.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),l=this.getExtendedBounds(a),s=Math.min(e+this.batchSize,this.markers.length),c=e;c"u"&&(typeof e.isHidden>"u"?e.visible=!0:e.visible=!e.isHidden),this.isHidden=!e.visible,this.alignBottom=e.alignBottom||!1,this.pane=e.pane||"floatPane",this.enableEventPropagation=e.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return t.prototype.createInfoBoxDiv=function(){var e=this,n=function(c){c.returnValue=!1,c.preventDefault&&c.preventDefault(),e.enableEventPropagation||dHe(c)};if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),typeof this.content=="string"?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var o=this.getPanes();if(o!==null&&o[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(this.maxWidth!==0&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var i=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-i.left-i.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var r=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],a=0,l=r;al&&(o=w.x+d+c+p-l),this.alignBottom?w.y<-u+g+f?i=w.y+u-g-f:w.y+u+g>s&&(i=w.y+u+g-s):w.y<-u+g?i=w.y+u-g:w.y+f+u+g>s&&(i=w.y+f+u+g-s)),o===0&&i===0||n.panBy(o,i)}}},t.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(this.div.style[n]=e[n]);if(this.div.style.webkitTransform="translateZ(0)",typeof this.div.style.opacity<"u"&&this.div.style.opacity!==""){var o=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+o*100+')"',this.div.style.filter="alpha(opacity="+o*100+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",this.zIndex!==null&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},t.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var n=this.div.ownerDocument,o=n&&n.defaultView?n.defaultView.getComputedStyle(this.div,""):null;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var i=this.div.currentStyle;i&&(e.top=parseInt(i.borderTopWidth||"",10)||0,e.bottom=parseInt(i.borderBottomWidth||"",10)||0,e.left=parseInt(i.borderLeftWidth||"",10)||0,e.right=parseInt(i.borderRightWidth||"",10)||0)}return e},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},t.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection(),n=e.fromLatLngToDivPixel(this.position);n!==null&&(this.div.style.left=n.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(n.y+this.pixelOffset.height)+"px":this.div.style.top=n.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},t.prototype.setOptions=function(e){e===void 0&&(e={}),typeof e.boxClass<"u"&&(this.boxClass=e.boxClass,this.setBoxStyle()),typeof e.boxStyle<"u"&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),typeof e.content<"u"&&this.setContent(e.content),typeof e.disableAutoPan<"u"&&(this.disableAutoPan=e.disableAutoPan),typeof e.maxWidth<"u"&&(this.maxWidth=e.maxWidth),typeof e.pixelOffset<"u"&&(this.pixelOffset=e.pixelOffset),typeof e.alignBottom<"u"&&(this.alignBottom=e.alignBottom),typeof e.position<"u"&&this.setPosition(e.position),typeof e.zIndex<"u"&&this.setZIndex(e.zIndex),typeof e.closeBoxMargin<"u"&&(this.closeBoxMargin=e.closeBoxMargin),typeof e.closeBoxURL<"u"&&(this.closeBoxURL=e.closeBoxURL),typeof e.infoBoxClearance<"u"&&(this.infoBoxClearance=e.infoBoxClearance),typeof e.isHidden<"u"&&(this.isHidden=e.isHidden),typeof e.visible<"u"&&(this.isHidden=!e.visible),typeof e.enableEventPropagation<"u"&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},t.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px",typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},t.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},t.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},t.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},t.prototype.getContent=function(){return this.content},t.prototype.getPosition=function(){return this.position},t.prototype.getZIndex=function(){return this.zIndex},t.prototype.getVisible=function(){var e=this.getMap();return typeof e>"u"||e===null?!1:!this.isHidden},t.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},t.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},t.prototype.open=function(e,n){var o=this;n&&(this.position=n.getPosition(),this.moveListener=google.maps.event.addListener(n,"position_changed",function(){var i=n.getPosition();o.setPosition(i)}),this.mapListener=google.maps.event.addListener(n,"map_changed",function(){o.setMap(n.map)})),this.setMap(e),this.div&&this.panBox()},t.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,n=this.eventListeners;e."),d&&d(Y)}return function(){A!==null&&(C&&google.maps.event.removeListener(C),x&&google.maps.event.removeListener(x),T&&google.maps.event.removeListener(T),D&&google.maps.event.removeListener(D),N&&google.maps.event.removeListener(N),f&&f(A),A.close())}},[]),E.current?Td.createPortal(m.Children.only(e),E.current):null}m.memo(zho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoBox:null},n.open=function(o,i){i?n.context!==null&&o.open(n.context,i):o.getPosition()?n.context!==null&&o.open(n.context):B0(!1,"You must provide either an anchor or a position prop for .")},n.setInfoBoxCallback=function(){n.state.infoBox!==null&&n.containerElement!==null&&(n.state.infoBox.setContent(n.containerElement),n.open(n.state.infoBox,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoBox))},n}return e.prototype.componentDidMount=function(){var n=this.props.options||{},o=n.position,i=i9e(n,["position"]),r;o&&!(o instanceof google.maps.LatLng)&&(r=new google.maps.LatLng(o.lat,o.lng));var a=new Tot(cr(cr({},i),r?{position:r}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:hHe,eventMap:fHe,prevProps:{},nextProps:this.props,instance:a}),this.setState({infoBox:a},this.setInfoBoxCallback)},e.prototype.componentDidUpdate=function(n){var o=this.state.infoBox;o!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:hHe,eventMap:fHe,prevProps:n,nextProps:this.props,instance:o}))},e.prototype.componentWillUnmount=function(){var n=this.props.onUnmount,o=this.state.infoBox;o!==null&&(n&&n(o),ja(this.registeredEvents),o.close())},e.prototype.render=function(){return this.containerElement?Td.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e})(m.PureComponent);var Dho=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var o,i,r;if(Array.isArray(e)){if(o=e.length,o!=n.length)return!1;for(i=o;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(r=Object.keys(e),o=r.length,o!==Object.keys(n).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=o;i--!==0;){var a=r[i];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n},pHe=yot(Dho);const gHe=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Tae=1,Yz=8;class a9e{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[n,o]=new Uint8Array(e,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const i=o>>4;if(i!==Tae)throw new Error(`Got v${i} data when expected v${Tae}.`);const r=gHe[o&15];if(!r)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(e,2,1),[l]=new Uint32Array(e,4,1);return new a9e(l,a,r,e)}constructor(e,n=64,o=Float64Array,i){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=o,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const r=gHe.indexOf(this.ArrayType),a=e*2*this.ArrayType.BYTES_PER_ELEMENT,l=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-l%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${o}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Yz+a+l+s),this.ids=new this.IndexArrayType(this.data,Yz,e),this.coords=new this.ArrayType(this.data,Yz+l+s,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(Tae<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=e)}add(e,n){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=e,this.coords[this._pos++]=n,o}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Yde(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,n,o,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:a,nodeSize:l}=this,s=[0,r.length-1,0],c=[];for(;s.length;){const u=s.pop()||0,d=s.pop()||0,f=s.pop()||0;if(d-f<=l){for(let w=f;w<=d;w++){const b=a[2*w],C=a[2*w+1];b>=e&&b<=o&&C>=n&&C<=i&&c.push(r[w])}continue}const p=f+d>>1,g=a[2*p],A=a[2*p+1];g>=e&&g<=o&&A>=n&&A<=i&&c.push(r[p]),(u===0?e<=g:n<=A)&&(s.push(f),s.push(p-1),s.push(1-u)),(u===0?o>=g:i>=A)&&(s.push(p+1),s.push(d),s.push(1-u))}return c}within(e,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:r,nodeSize:a}=this,l=[0,i.length-1,0],s=[],c=o*o;for(;l.length;){const u=l.pop()||0,d=l.pop()||0,f=l.pop()||0;if(d-f<=a){for(let w=f;w<=d;w++)mHe(r[2*w],r[2*w+1],e,n)<=c&&s.push(i[w]);continue}const p=f+d>>1,g=r[2*p],A=r[2*p+1];mHe(g,A,e,n)<=c&&s.push(i[p]),(u===0?e-o<=g:n-o<=A)&&(l.push(f),l.push(p-1),l.push(1-u)),(u===0?e+o>=g:n+o>=A)&&(l.push(p+1),l.push(d),l.push(1-u))}return s}}function Yde(t,e,n,o,i,r){if(i-o<=n)return;const a=o+i>>1;Pot(t,e,a,o,i,r),Yde(t,e,n,o,a-1,1-r),Yde(t,e,n,a+1,i,1-r)}function Pot(t,e,n,o,i,r){for(;i>o;){if(i-o>600){const c=i-o+1,u=n-o+1,d=Math.log(c),f=.5*Math.exp(2*d/3),p=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),g=Math.max(o,Math.floor(n-u*f/c+p)),A=Math.min(i,Math.floor(n+(c-u)*f/c+p));Pot(t,e,n,g,A,r)}const a=e[2*n+r];let l=o,s=i;for(Oz(t,e,o,n),e[2*i+r]>a&&Oz(t,e,o,i);la;)s--}e[2*o+r]===a?Oz(t,e,o,s):(s++,Oz(t,e,s,i)),s<=n&&(o=s+1),n<=s&&(i=s-1)}}function Oz(t,e,n,o){Pae(t,n,o),Pae(e,2*n,2*o),Pae(e,2*n+1,2*o+1)}function Pae(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function mHe(t,e,n,o){const i=t-n,r=e-o;return i*i+r*r}const Eho={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},yHe=Math.fround||(t=>e=>(t[0]=+e,t[0]))(new Float32Array(1)),$8=2,X4=3,Cae=4,F4=5,Cot=6;class kho{constructor(e){this.options=Object.assign(Object.create(Eho),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:n,minZoom:o,maxZoom:i}=this.options;n&&console.time("total time");const r=`prepare ${e.length} points`;n&&console.time(r),this.points=e;const a=[];for(let s=0;s=o;s--){const c=+Date.now();l=this.trees[s]=this._createTree(this._cluster(l,s)),n&&console.log("z%d: %d clusters in %dms",s,l.numItems,+Date.now()-c)}return n&&console.timeEnd("total time"),this}getClusters(e,n){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let r=e[2]===180?180:((e[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,r=180;else if(o>r){const d=this.getClusters([o,i,180,a],n),f=this.getClusters([-180,i,r,a],n);return d.concat(f)}const l=this.trees[this._limitZoom(n)],s=l.range(RO(o),HO(a),RO(r),HO(i)),c=l.data,u=[];for(const d of s){const f=this.stride*d;u.push(c[f+F4]>1?AHe(c,f,this.clusterProps):this.points[c[f+X4]])}return u}getChildren(e){const n=this._getOriginId(e),o=this._getOriginZoom(e),i="No cluster with the specified id.",r=this.trees[o];if(!r)throw new Error(i);const a=r.data;if(n*this.stride>=a.length)throw new Error(i);const l=this.options.radius/(this.options.extent*Math.pow(2,o-1)),s=a[n*this.stride],c=a[n*this.stride+1],u=r.within(s,c,l),d=[];for(const f of u){const p=f*this.stride;a[p+Cae]===e&&d.push(a[p+F4]>1?AHe(a,p,this.clusterProps):this.points[a[p+X4]])}if(d.length===0)throw new Error(i);return d}getLeaves(e,n,o){n=n||10,o=o||0;const i=[];return this._appendLeaves(i,e,n,o,0),i}getTile(e,n,o){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:a,radius:l}=this.options,s=l/a,c=(o-s)/r,u=(o+1+s)/r,d={features:[]};return this._addTileFeatures(i.range((n-s)/r,c,(n+1+s)/r,u),i.data,n,o,r,d),n===0&&this._addTileFeatures(i.range(1-s/r,c,1,u),i.data,r,o,r,d),n===r-1&&this._addTileFeatures(i.range(0,c,s/r,u),i.data,-1,o,r,d),d.features.length?d:null}getClusterExpansionZoom(e){let n=this._getOriginZoom(e)-1;for(;n<=this.options.maxZoom;){const o=this.getChildren(e);if(n++,o.length!==1)break;e=o[0].properties.cluster_id}return n}_appendLeaves(e,n,o,i,r){const a=this.getChildren(n);for(const l of a){const s=l.properties;if(s&&s.cluster?r+s.point_count<=i?r+=s.point_count:r=this._appendLeaves(e,s.cluster_id,o,i,r):r1;let u,d,f;if(c)u=Rot(n,s,this.clusterProps),d=n[s],f=n[s+1];else{const A=this.points[n[s+X4]];u=A.properties;const[w,b]=A.geometry.coordinates;d=RO(w),f=HO(b)}const p={type:1,geometry:[[Math.round(this.options.extent*(d*r-o)),Math.round(this.options.extent*(f*r-i))]],tags:u};let g;c||this.options.generateId?g=n[s+X4]:g=this.points[n[s+X4]].id,g!==void 0&&(p.id=g),a.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,n){const{radius:o,extent:i,reduce:r,minPoints:a}=this.options,l=o/(i*Math.pow(2,n)),s=e.data,c=[],u=this.stride;for(let d=0;dn&&(w+=s[C+F4])}if(w>A&&w>=a){let b=f*A,C=p*A,P,v=-1;const T=((d/u|0)<<5)+(n+1)+this.points.length;for(const y of g){const S=y*u;if(s[S+$8]<=n)continue;s[S+$8]=n;const x=s[S+F4];b+=s[S]*x,C+=s[S+1]*x,s[S+Cae]=T,r&&(P||(P=this._map(s,d,!0),v=this.clusterProps.length,this.clusterProps.push(P)),r(P,this._map(s,S)))}s[d+Cae]=T,c.push(b/w,C/w,1/0,T,-1,w),r&&c.push(v)}else{for(let b=0;b1)for(const b of g){const C=b*u;if(!(s[C+$8]<=n)){s[C+$8]=n;for(let P=0;P>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,n,o){if(e[n+F4]>1){const a=this.clusterProps[e[n+Cot]];return o?Object.assign({},a):a}const i=this.points[e[n+X4]].properties,r=this.options.map(i);return o&&r===i?Object.assign({},r):r}}function AHe(t,e,n){return{type:"Feature",id:t[e+X4],properties:Rot(t,e,n),geometry:{type:"Point",coordinates:[Fho(t[e]),Lho(t[e+1])]}}}function Rot(t,e,n){const o=t[e+F4],i=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?`${Math.round(o/100)/10}k`:o,r=t[e+Cot],a=r===-1?{}:Object.assign({},n[r]);return Object.assign(a,{cluster:!0,cluster_id:t[e+X4],point_count:o,point_count_abbreviated:i})}function RO(t){return t/360+.5}function HO(t){const e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function Fho(t){return(t-.5)*360}function Lho(t){const e=(180-t*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -7169,12 +7169,12 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */function Uho(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);iog.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(og.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Bho{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return jho(e)}}const jho=t=>t.map(n=>new Ode({position:og.getPosition(n),markers:[n]}));class Yho extends Bho{constructor(e){var{maxZoom:n,radius:o=60}=e,i=Uho(e,["maxZoom","radius"]);super({maxZoom:n}),this.state={zoom:-1},this.superCluster=new Lho(Object.assign({maxZoom:this.maxZoom,radius:o},i))}calculate(e){let n=!1;const o={zoom:e.map.getZoom()};if(!mHe(e.markers,this.markers)){n=!0,this.markers=[...e.markers];const i=this.markers.map(r=>{const a=og.getPosition(r);return{type:"Feature",geometry:{type:"Point",coordinates:[a.lng(),a.lat()]},properties:{marker:r}}});this.superCluster.load(i)}return n||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(n=!mHe(this.state,o)),this.state=o,n&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:n}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(n=>this.transformCluster(n))}transformCluster({geometry:{coordinates:[e,n]},properties:o}){if(o.cluster)return new Ode({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(r=>r.properties.marker),position:{lat:n,lng:e}});const i=o.marker;return new Ode({markers:[i],position:og.getPosition(i)})}}class Oho{constructor(e,n){this.markers={sum:e.length};const o=n.map(r=>r.count),i=o.reduce((r,a)=>r+a,0);this.clusters={count:n.length,markers:{mean:i/n.length,sum:i,min:Math.min(...o),max:Math.max(...o)}}}}class _ho{render({count:e,position:n},o,i){const a=` +***************************************************************************** */function Who(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,o=Object.getOwnPropertySymbols(t);iog.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(og.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Nho{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Uho(e)}}const Uho=t=>t.map(n=>new Ode({position:og.getPosition(n),markers:[n]}));class Bho extends Nho{constructor(e){var{maxZoom:n,radius:o=60}=e,i=Who(e,["maxZoom","radius"]);super({maxZoom:n}),this.state={zoom:-1},this.superCluster=new kho(Object.assign({maxZoom:this.maxZoom,radius:o},i))}calculate(e){let n=!1;const o={zoom:e.map.getZoom()};if(!pHe(e.markers,this.markers)){n=!0,this.markers=[...e.markers];const i=this.markers.map(r=>{const a=og.getPosition(r);return{type:"Feature",geometry:{type:"Point",coordinates:[a.lng(),a.lat()]},properties:{marker:r}}});this.superCluster.load(i)}return n||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(n=!pHe(this.state,o)),this.state=o,n&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:n}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(n=>this.transformCluster(n))}transformCluster({geometry:{coordinates:[e,n]},properties:o}){if(o.cluster)return new Ode({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(r=>r.properties.marker),position:{lat:n,lng:e}});const i=o.marker;return new Ode({markers:[i],position:og.getPosition(i)})}}class jho{constructor(e,n){this.markers={sum:e.length};const o=n.map(r=>r.count),i=o.reduce((r,a)=>r+a,0);this.clusters={count:n.length,markers:{mean:i/n.length,sum:i,min:Math.min(...o),max:Math.max(...o)}}}}class Yho{render({count:e,position:n},o,i){const a=` ${e} -`,l=`Cluster of ${e} markers`,s=Number(google.maps.Marker.MAX_ZINDEX)+e;if(og.isAdvancedMarkerAvailable(i)){const u=document.createElement("div");u.innerHTML=a;const d=u.firstElementChild;d.setAttribute("transform","translate(0 25)");const f={map:i,position:n,zIndex:s,title:l,content:d};return new google.maps.marker.AdvancedMarkerElement(f)}const c={position:n,zIndex:s,title:l,icon:{url:`data:image/svg+xml;base64,${btoa(a)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(c)}}function Vho(t,e){for(let n in e.prototype)t.prototype[n]=e.prototype[n]}class l9e{constructor(){Vho(l9e,google.maps.OverlayView)}}var RE;(function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"})(RE||(RE={}));const Gho=(t,e,n)=>{n.fitBounds(e.bounds)};class Xho extends l9e{constructor({map:e,markers:n=[],algorithmOptions:o={},algorithm:i=new Yho(o),renderer:r=new _ho,onClusterClick:a=Gho}){super(),this.markers=[...n],this.clusters=[],this.algorithm=i,this.renderer=r,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,n){this.markers.includes(e)||(this.markers.push(e),n||this.render())}addMarkers(e,n){e.forEach(o=>{this.addMarker(o,!0)}),n||this.render()}removeMarker(e,n){const o=this.markers.indexOf(e);return o===-1?!1:(og.setMap(e,null),this.markers.splice(o,1),n||this.render(),!0)}removeMarkers(e,n){let o=!1;return e.forEach(i=>{o=this.removeMarker(i,!0)||o}),o&&!n&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,RE.CLUSTERING_BEGIN,this);const{clusters:n,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||o==null){const i=new Set;for(const a of n)a.markers.length==1&&i.add(a.markers[0]);const r=[];for(const a of this.clusters)a.marker!=null&&(a.markers.length==1?i.has(a.marker)||og.setMap(a.marker,null):r.push(a.marker));this.clusters=n,this.renderClusters(),requestAnimationFrame(()=>r.forEach(a=>og.setMap(a,null)))}google.maps.event.trigger(this,RE.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>og.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new Oho(this.markers,this.clusters),n=this.getMap();this.clusters.forEach(o=>{o.markers.length===1?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,n),o.markers.forEach(i=>og.setMap(i,null)),this.onClusterClick&&o.marker.addListener("click",i=>{google.maps.event.trigger(this,RE.CLUSTER_CLICK,o),this.onClusterClick(i,o,n)})),og.setMap(o.marker,n)})}}function Jho(t){var e=nho(),n=m.useState(null),o=n[0],i=n[1];return m.useEffect(function(){if(e&&o===null){var r=new Xho(cr(cr({},t),{map:e}));i(r)}},[e]),o}function Kho(t){var e=t.children,n=t.options,o=Jho(n);return o!==null?e(o):null}m.memo(Kho);var xHe={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},bHe={options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},zIndex:function(t,e){t.setZIndex(e)}};function qho(t){var e=t.children,n=t.anchor,o=t.options,i=t.position,r=t.zIndex,a=t.onCloseClick,l=t.onDomReady,s=t.onContentChanged,c=t.onPositionChanged,u=t.onZindexChanged,d=t.onLoad,f=t.onUnmount,p=m.useContext(xa),g=m.useState(null),A=g[0],w=g[1],b=m.useState(null),C=b[0],P=b[1],v=m.useState(null),T=v[0],y=v[1],S=m.useState(null),x=S[0],R=S[1],H=m.useState(null),D=H[0],k=H[1],W=m.useState(null),N=W[0],L=W[1],E=m.useRef(null);return m.useEffect(function(){A!==null&&(A.close(),n?A.open(p,n):A.getPosition()&&A.open(p))},[p,A,n]),m.useEffect(function(){o&&A!==null&&A.setOptions(o)},[A,o]),m.useEffect(function(){i&&A!==null&&A.setPosition(i)},[i]),m.useEffect(function(){typeof r=="number"&&A!==null&&A.setZIndex(r)},[r]),m.useEffect(function(){A&&a&&(C!==null&&google.maps.event.removeListener(C),P(google.maps.event.addListener(A,"closeclick",a)))},[a]),m.useEffect(function(){A&&l&&(T!==null&&google.maps.event.removeListener(T),y(google.maps.event.addListener(A,"domready",l)))},[l]),m.useEffect(function(){A&&s&&(x!==null&&google.maps.event.removeListener(x),R(google.maps.event.addListener(A,"content_changed",s)))},[s]),m.useEffect(function(){A&&c&&(D!==null&&google.maps.event.removeListener(D),k(google.maps.event.addListener(A,"position_changed",c)))},[c]),m.useEffect(function(){A&&u&&(N!==null&&google.maps.event.removeListener(N),L(google.maps.event.addListener(A,"zindex_changed",u)))},[u]),m.useEffect(function(){var U=new google.maps.InfoWindow(cr({},o||{}));return w(U),E.current=document.createElement("div"),a&&P(google.maps.event.addListener(U,"closeclick",a)),l&&y(google.maps.event.addListener(U,"domready",l)),s&&R(google.maps.event.addListener(U,"content_changed",s)),c&&k(google.maps.event.addListener(U,"position_changed",c)),u&&L(google.maps.event.addListener(U,"zindex_changed",u)),U.setContent(E.current),i&&U.setPosition(i),r&&U.setZIndex(r),n?U.open(p,n):U.getPosition()?U.open(p):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for ."),d&&d(U),function(){C&&google.maps.event.removeListener(C),x&&google.maps.event.removeListener(x),T&&google.maps.event.removeListener(T),D&&google.maps.event.removeListener(D),N&&google.maps.event.removeListener(N),f&&f(U),U.close()}},[]),E.current?Td.createPortal(m.Children.only(e),E.current):null}m.memo(qho);var $ho=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoWindow:null},n.open=function(o,i){i?o.open(n.context,i):o.getPosition()?o.open(n.context):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for .")},n.setInfoWindowCallback=function(){n.state.infoWindow!==null&&n.containerElement!==null&&(n.state.infoWindow.setContent(n.containerElement),n.open(n.state.infoWindow,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoWindow))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.InfoWindow(cr({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{infoWindow:n}},this.setInfoWindowCallback)},e.prototype.componentDidUpdate=function(n){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:n,nextProps:this.props,instance:this.state.infoWindow}))},e.prototype.componentWillUnmount=function(){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},e.prototype.render=function(){return this.containerElement?Td.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e}(m.PureComponent),SHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},THe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},visible:function(t,e){t.setVisible(e)}},Qho={};function Zho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,A=t.onClick,w=t.onDrag,b=t.onLoad,C=t.onUnmount,P=m.useContext(xa),v=m.useState(null),T=v[0],y=v[1],S=m.useState(null),x=S[0],R=S[1],H=m.useState(null),D=H[0],k=H[1],W=m.useState(null),N=W[0],L=W[1],E=m.useState(null),U=E[0],F=E[1],B=m.useState(null),_=B[0],Y=B[1],O=m.useState(null),J=O[0],Z=O[1],ie=m.useState(null),ee=ie[0],q=ie[1],ae=m.useState(null),ne=ae[0],se=ae[1],le=m.useState(null),te=le[0],he=le[1],pe=m.useState(null),fe=pe[0],$=pe[1],de=m.useState(null),Se=de[0],Ce=de[1];return m.useEffect(function(){T!==null&&T.setMap(P)},[P]),m.useEffect(function(){typeof e<"u"&&T!==null&&T.setOptions(e)},[T,e]),m.useEffect(function(){typeof n<"u"&&T!==null&&T.setDraggable(n)},[T,n]),m.useEffect(function(){typeof o<"u"&&T!==null&&T.setEditable(o)},[T,o]),m.useEffect(function(){typeof i<"u"&&T!==null&&T.setVisible(i)},[T,i]),m.useEffect(function(){typeof r<"u"&&T!==null&&T.setPath(r)},[T,r]),m.useEffect(function(){T&&a&&(x!==null&&google.maps.event.removeListener(x),R(google.maps.event.addListener(T,"dblclick",a)))},[a]),m.useEffect(function(){T&&l&&(D!==null&&google.maps.event.removeListener(D),k(google.maps.event.addListener(T,"dragend",l)))},[l]),m.useEffect(function(){T&&s&&(N!==null&&google.maps.event.removeListener(N),L(google.maps.event.addListener(T,"dragstart",s)))},[s]),m.useEffect(function(){T&&c&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(T,"mousedown",c)))},[c]),m.useEffect(function(){T&&u&&(_!==null&&google.maps.event.removeListener(_),Y(google.maps.event.addListener(T,"mousemove",u)))},[u]),m.useEffect(function(){T&&d&&(J!==null&&google.maps.event.removeListener(J),Z(google.maps.event.addListener(T,"mouseout",d)))},[d]),m.useEffect(function(){T&&f&&(ee!==null&&google.maps.event.removeListener(ee),q(google.maps.event.addListener(T,"mouseover",f)))},[f]),m.useEffect(function(){T&&p&&(ne!==null&&google.maps.event.removeListener(ne),se(google.maps.event.addListener(T,"mouseup",p)))},[p]),m.useEffect(function(){T&&g&&(te!==null&&google.maps.event.removeListener(te),he(google.maps.event.addListener(T,"rightclick",g)))},[g]),m.useEffect(function(){T&&A&&(fe!==null&&google.maps.event.removeListener(fe),$(google.maps.event.addListener(T,"click",A)))},[A]),m.useEffect(function(){T&&w&&(Se!==null&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(T,"drag",w)))},[w]),m.useEffect(function(){var ve=new google.maps.Polyline(cr(cr({},e||Qho),{map:P}));return r&&ve.setPath(r),typeof i<"u"&&ve.setVisible(i),typeof o<"u"&&ve.setEditable(o),typeof n<"u"&&ve.setDraggable(n),a&&R(google.maps.event.addListener(ve,"dblclick",a)),l&&k(google.maps.event.addListener(ve,"dragend",l)),s&&L(google.maps.event.addListener(ve,"dragstart",s)),c&&F(google.maps.event.addListener(ve,"mousedown",c)),u&&Y(google.maps.event.addListener(ve,"mousemove",u)),d&&Z(google.maps.event.addListener(ve,"mouseout",d)),f&&q(google.maps.event.addListener(ve,"mouseover",f)),p&&se(google.maps.event.addListener(ve,"mouseup",p)),g&&he(google.maps.event.addListener(ve,"rightclick",g)),A&&$(google.maps.event.addListener(ve,"click",A)),w&&Ce(google.maps.event.addListener(ve,"drag",w)),y(ve),b&&b(ve),function(){x!==null&&google.maps.event.removeListener(x),D!==null&&google.maps.event.removeListener(D),N!==null&&google.maps.event.removeListener(N),U!==null&&google.maps.event.removeListener(U),_!==null&&google.maps.event.removeListener(_),J!==null&&google.maps.event.removeListener(J),ee!==null&&google.maps.event.removeListener(ee),ne!==null&&google.maps.event.removeListener(ne),te!==null&&google.maps.event.removeListener(te),fe!==null&&google.maps.event.removeListener(fe),C&&C(ve),ve.setMap(null)}},[]),null}m.memo(Zho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polyline:null},n.setPolylineCallback=function(){n.state.polyline!==null&&n.props.onLoad&&n.props.onLoad(n.state.polyline)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polyline(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polyline:n}},this.setPolylineCallback)},e.prototype.componentDidUpdate=function(n){this.state.polyline!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:n,nextProps:this.props,instance:this.state.polyline}))},e.prototype.componentWillUnmount=function(){this.state.polyline!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),ja(this.registeredEvents),this.state.polyline.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var PHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},CHe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},paths:function(t,e){t.setPaths(e)},visible:function(t,e){t.setVisible(e)}};function epo(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.paths,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,A=t.onRightClick,w=t.onClick,b=t.onDrag,C=t.onLoad,P=t.onUnmount,v=m.useContext(xa),T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1],U=m.useState(null),F=U[0],B=U[1],_=m.useState(null),Y=_[0],O=_[1],J=m.useState(null),Z=J[0],ie=J[1],ee=m.useState(null),q=ee[0],ae=ee[1],ne=m.useState(null),se=ne[0],le=ne[1],te=m.useState(null),he=te[0],pe=te[1],fe=m.useState(null),$=fe[0],de=fe[1],Se=m.useState(null),Ce=Se[0],ve=Se[1];return m.useEffect(function(){y!==null&&y.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&y!==null&&y.setOptions(e)},[y,e]),m.useEffect(function(){typeof n<"u"&&y!==null&&y.setDraggable(n)},[y,n]),m.useEffect(function(){typeof o<"u"&&y!==null&&y.setEditable(o)},[y,o]),m.useEffect(function(){typeof i<"u"&&y!==null&&y.setVisible(i)},[y,i]),m.useEffect(function(){typeof r<"u"&&y!==null&&y.setPath(r)},[y,r]),m.useEffect(function(){typeof a<"u"&&y!==null&&y.setPaths(a)},[y,a]),m.useEffect(function(){y&&l&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(y,"dblclick",l)))},[l]),m.useEffect(function(){y&&s&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(y,"dragend",s)))},[s]),m.useEffect(function(){y&&c&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(y,"dragstart",c)))},[c]),m.useEffect(function(){y&&u&&(F!==null&&google.maps.event.removeListener(F),B(google.maps.event.addListener(y,"mousedown",u)))},[u]),m.useEffect(function(){y&&d&&(Y!==null&&google.maps.event.removeListener(Y),O(google.maps.event.addListener(y,"mousemove",d)))},[d]),m.useEffect(function(){y&&f&&(Z!==null&&google.maps.event.removeListener(Z),ie(google.maps.event.addListener(y,"mouseout",f)))},[f]),m.useEffect(function(){y&&p&&(q!==null&&google.maps.event.removeListener(q),ae(google.maps.event.addListener(y,"mouseover",p)))},[p]),m.useEffect(function(){y&&g&&(se!==null&&google.maps.event.removeListener(se),le(google.maps.event.addListener(y,"mouseup",g)))},[g]),m.useEffect(function(){y&&A&&(he!==null&&google.maps.event.removeListener(he),pe(google.maps.event.addListener(y,"rightclick",A)))},[A]),m.useEffect(function(){y&&w&&($!==null&&google.maps.event.removeListener($),de(google.maps.event.addListener(y,"click",w)))},[w]),m.useEffect(function(){y&&b&&(Ce!==null&&google.maps.event.removeListener(Ce),ve(google.maps.event.addListener(y,"drag",b)))},[b]),m.useEffect(function(){var Ie=new google.maps.Polygon(cr(cr({},e||{}),{map:v}));return r&&Ie.setPath(r),a&&Ie.setPaths(a),typeof i<"u"&&Ie.setVisible(i),typeof o<"u"&&Ie.setEditable(o),typeof n<"u"&&Ie.setDraggable(n),l&&H(google.maps.event.addListener(Ie,"dblclick",l)),s&&W(google.maps.event.addListener(Ie,"dragend",s)),c&&E(google.maps.event.addListener(Ie,"dragstart",c)),u&&B(google.maps.event.addListener(Ie,"mousedown",u)),d&&O(google.maps.event.addListener(Ie,"mousemove",d)),f&&ie(google.maps.event.addListener(Ie,"mouseout",f)),p&&ae(google.maps.event.addListener(Ie,"mouseover",p)),g&&le(google.maps.event.addListener(Ie,"mouseup",g)),A&&pe(google.maps.event.addListener(Ie,"rightclick",A)),w&&de(google.maps.event.addListener(Ie,"click",w)),b&&ve(google.maps.event.addListener(Ie,"drag",b)),S(Ie),C&&C(Ie),function(){R!==null&&google.maps.event.removeListener(R),k!==null&&google.maps.event.removeListener(k),L!==null&&google.maps.event.removeListener(L),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Z!==null&&google.maps.event.removeListener(Z),q!==null&&google.maps.event.removeListener(q),se!==null&&google.maps.event.removeListener(se),he!==null&&google.maps.event.removeListener(he),$!==null&&google.maps.event.removeListener($),P&&P(Ie),Ie.setMap(null)}},[]),null}m.memo(epo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polygon:null},n.setPolygonCallback=function(){n.state.polygon!==null&&n.props.onLoad&&n.props.onLoad(n.state.polygon)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polygon(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polygon:n}},this.setPolygonCallback)},e.prototype.componentDidUpdate=function(n){this.state.polygon!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:n,nextProps:this.props,instance:this.state.polygon}))},e.prototype.componentWillUnmount=function(){this.state.polygon!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),ja(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var RHe={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},HHe={bounds:function(t,e){t.setBounds(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},visible:function(t,e){t.setVisible(e)}};function tpo(t){var e=t.options,n=t.bounds,o=t.draggable,i=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,A=t.onClick,w=t.onDrag,b=t.onBoundsChanged,C=t.onLoad,P=t.onUnmount,v=m.useContext(xa),T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1],U=m.useState(null),F=U[0],B=U[1],_=m.useState(null),Y=_[0],O=_[1],J=m.useState(null),Z=J[0],ie=J[1],ee=m.useState(null),q=ee[0],ae=ee[1],ne=m.useState(null),se=ne[0],le=ne[1],te=m.useState(null),he=te[0],pe=te[1],fe=m.useState(null),$=fe[0],de=fe[1],Se=m.useState(null),Ce=Se[0],ve=Se[1],Ie=m.useState(null),ze=Ie[0],ye=Ie[1];return m.useEffect(function(){y!==null&&y.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&y!==null&&y.setOptions(e)},[y,e]),m.useEffect(function(){typeof o<"u"&&y!==null&&y.setDraggable(o)},[y,o]),m.useEffect(function(){typeof i<"u"&&y!==null&&y.setEditable(i)},[y,i]),m.useEffect(function(){typeof r<"u"&&y!==null&&y.setVisible(r)},[y,r]),m.useEffect(function(){typeof n<"u"&&y!==null&&y.setBounds(n)},[y,n]),m.useEffect(function(){y&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(y,"dblclick",a)))},[a]),m.useEffect(function(){y&&l&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(y,"dragend",l)))},[l]),m.useEffect(function(){y&&s&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(y,"dragstart",s)))},[s]),m.useEffect(function(){y&&c&&(F!==null&&google.maps.event.removeListener(F),B(google.maps.event.addListener(y,"mousedown",c)))},[c]),m.useEffect(function(){y&&u&&(Y!==null&&google.maps.event.removeListener(Y),O(google.maps.event.addListener(y,"mousemove",u)))},[u]),m.useEffect(function(){y&&d&&(Z!==null&&google.maps.event.removeListener(Z),ie(google.maps.event.addListener(y,"mouseout",d)))},[d]),m.useEffect(function(){y&&f&&(q!==null&&google.maps.event.removeListener(q),ae(google.maps.event.addListener(y,"mouseover",f)))},[f]),m.useEffect(function(){y&&p&&(se!==null&&google.maps.event.removeListener(se),le(google.maps.event.addListener(y,"mouseup",p)))},[p]),m.useEffect(function(){y&&g&&(he!==null&&google.maps.event.removeListener(he),pe(google.maps.event.addListener(y,"rightclick",g)))},[g]),m.useEffect(function(){y&&A&&($!==null&&google.maps.event.removeListener($),de(google.maps.event.addListener(y,"click",A)))},[A]),m.useEffect(function(){y&&w&&(Ce!==null&&google.maps.event.removeListener(Ce),ve(google.maps.event.addListener(y,"drag",w)))},[w]),m.useEffect(function(){y&&b&&(ze!==null&&google.maps.event.removeListener(ze),ye(google.maps.event.addListener(y,"bounds_changed",b)))},[b]),m.useEffect(function(){var oe=new google.maps.Rectangle(cr(cr({},e||{}),{map:v}));return typeof r<"u"&&oe.setVisible(r),typeof i<"u"&&oe.setEditable(i),typeof o<"u"&&oe.setDraggable(o),typeof n<"u"&&oe.setBounds(n),a&&H(google.maps.event.addListener(oe,"dblclick",a)),l&&W(google.maps.event.addListener(oe,"dragend",l)),s&&E(google.maps.event.addListener(oe,"dragstart",s)),c&&B(google.maps.event.addListener(oe,"mousedown",c)),u&&O(google.maps.event.addListener(oe,"mousemove",u)),d&&ie(google.maps.event.addListener(oe,"mouseout",d)),f&&ae(google.maps.event.addListener(oe,"mouseover",f)),p&&le(google.maps.event.addListener(oe,"mouseup",p)),g&&pe(google.maps.event.addListener(oe,"rightclick",g)),A&&de(google.maps.event.addListener(oe,"click",A)),w&&ve(google.maps.event.addListener(oe,"drag",w)),b&&ye(google.maps.event.addListener(oe,"bounds_changed",b)),S(oe),C&&C(oe),function(){R!==null&&google.maps.event.removeListener(R),k!==null&&google.maps.event.removeListener(k),L!==null&&google.maps.event.removeListener(L),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Z!==null&&google.maps.event.removeListener(Z),q!==null&&google.maps.event.removeListener(q),se!==null&&google.maps.event.removeListener(se),he!==null&&google.maps.event.removeListener(he),$!==null&&google.maps.event.removeListener($),Ce!==null&&google.maps.event.removeListener(Ce),ze!==null&&google.maps.event.removeListener(ze),P&&P(oe),oe.setMap(null)}},[]),null}m.memo(tpo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={rectangle:null},n.setRectangleCallback=function(){n.state.rectangle!==null&&n.props.onLoad&&n.props.onLoad(n.state.rectangle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Rectangle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{rectangle:n}},this.setRectangleCallback)},e.prototype.componentDidUpdate=function(n){this.state.rectangle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:n,nextProps:this.props,instance:this.state.rectangle}))},e.prototype.componentWillUnmount=function(){this.state.rectangle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),ja(this.registeredEvents),this.state.rectangle.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var MHe={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},IHe={center:function(t,e){t.setCenter(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},radius:function(t,e){t.setRadius(e)},visible:function(t,e){t.setVisible(e)}},npo={};function opo(t){var e=t.options,n=t.center,o=t.radius,i=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,A=t.onRightClick,w=t.onClick,b=t.onDrag,C=t.onCenterChanged,P=t.onRadiusChanged,v=t.onLoad,T=t.onUnmount,y=m.useContext(xa),S=m.useState(null),x=S[0],R=S[1],H=m.useState(null),D=H[0],k=H[1],W=m.useState(null),N=W[0],L=W[1],E=m.useState(null),U=E[0],F=E[1],B=m.useState(null),_=B[0],Y=B[1],O=m.useState(null),J=O[0],Z=O[1],ie=m.useState(null),ee=ie[0],q=ie[1],ae=m.useState(null),ne=ae[0],se=ae[1],le=m.useState(null),te=le[0],he=le[1],pe=m.useState(null),fe=pe[0],$=pe[1],de=m.useState(null),Se=de[0],Ce=de[1],ve=m.useState(null),Ie=ve[0],ze=ve[1],ye=m.useState(null),oe=ye[0],ge=ye[1],Ae=m.useState(null),me=Ae[0],Pe=Ae[1];return m.useEffect(function(){x!==null&&x.setMap(y)},[y]),m.useEffect(function(){typeof e<"u"&&x!==null&&x.setOptions(e)},[x,e]),m.useEffect(function(){typeof i<"u"&&x!==null&&x.setDraggable(i)},[x,i]),m.useEffect(function(){typeof r<"u"&&x!==null&&x.setEditable(r)},[x,r]),m.useEffect(function(){typeof a<"u"&&x!==null&&x.setVisible(a)},[x,a]),m.useEffect(function(){typeof o=="number"&&x!==null&&x.setRadius(o)},[x,o]),m.useEffect(function(){typeof n<"u"&&x!==null&&x.setCenter(n)},[x,n]),m.useEffect(function(){x&&l&&(D!==null&&google.maps.event.removeListener(D),k(google.maps.event.addListener(x,"dblclick",l)))},[l]),m.useEffect(function(){x&&s&&(N!==null&&google.maps.event.removeListener(N),L(google.maps.event.addListener(x,"dragend",s)))},[s]),m.useEffect(function(){x&&c&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(x,"dragstart",c)))},[c]),m.useEffect(function(){x&&u&&(_!==null&&google.maps.event.removeListener(_),Y(google.maps.event.addListener(x,"mousedown",u)))},[u]),m.useEffect(function(){x&&d&&(J!==null&&google.maps.event.removeListener(J),Z(google.maps.event.addListener(x,"mousemove",d)))},[d]),m.useEffect(function(){x&&f&&(ee!==null&&google.maps.event.removeListener(ee),q(google.maps.event.addListener(x,"mouseout",f)))},[f]),m.useEffect(function(){x&&p&&(ne!==null&&google.maps.event.removeListener(ne),se(google.maps.event.addListener(x,"mouseover",p)))},[p]),m.useEffect(function(){x&&g&&(te!==null&&google.maps.event.removeListener(te),he(google.maps.event.addListener(x,"mouseup",g)))},[g]),m.useEffect(function(){x&&A&&(fe!==null&&google.maps.event.removeListener(fe),$(google.maps.event.addListener(x,"rightclick",A)))},[A]),m.useEffect(function(){x&&w&&(Se!==null&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(x,"click",w)))},[w]),m.useEffect(function(){x&&b&&(Ie!==null&&google.maps.event.removeListener(Ie),ze(google.maps.event.addListener(x,"drag",b)))},[b]),m.useEffect(function(){x&&C&&(oe!==null&&google.maps.event.removeListener(oe),ge(google.maps.event.addListener(x,"center_changed",C)))},[w]),m.useEffect(function(){x&&P&&(me!==null&&google.maps.event.removeListener(me),Pe(google.maps.event.addListener(x,"radius_changed",P)))},[P]),m.useEffect(function(){var Me=new google.maps.Circle(cr(cr({},e||npo),{map:y}));return typeof o=="number"&&Me.setRadius(o),typeof n<"u"&&Me.setCenter(n),typeof o=="number"&&Me.setRadius(o),typeof a<"u"&&Me.setVisible(a),typeof r<"u"&&Me.setEditable(r),typeof i<"u"&&Me.setDraggable(i),l&&k(google.maps.event.addListener(Me,"dblclick",l)),s&&L(google.maps.event.addListener(Me,"dragend",s)),c&&F(google.maps.event.addListener(Me,"dragstart",c)),u&&Y(google.maps.event.addListener(Me,"mousedown",u)),d&&Z(google.maps.event.addListener(Me,"mousemove",d)),f&&q(google.maps.event.addListener(Me,"mouseout",f)),p&&se(google.maps.event.addListener(Me,"mouseover",p)),g&&he(google.maps.event.addListener(Me,"mouseup",g)),A&&$(google.maps.event.addListener(Me,"rightclick",A)),w&&Ce(google.maps.event.addListener(Me,"click",w)),b&&ze(google.maps.event.addListener(Me,"drag",b)),C&&ge(google.maps.event.addListener(Me,"center_changed",C)),P&&Pe(google.maps.event.addListener(Me,"radius_changed",P)),R(Me),v&&v(Me),function(){D!==null&&google.maps.event.removeListener(D),N!==null&&google.maps.event.removeListener(N),U!==null&&google.maps.event.removeListener(U),_!==null&&google.maps.event.removeListener(_),J!==null&&google.maps.event.removeListener(J),ee!==null&&google.maps.event.removeListener(ee),ne!==null&&google.maps.event.removeListener(ne),te!==null&&google.maps.event.removeListener(te),fe!==null&&google.maps.event.removeListener(fe),Se!==null&&google.maps.event.removeListener(Se),oe!==null&&google.maps.event.removeListener(oe),me!==null&&google.maps.event.removeListener(me),T&&T(Me),Me.setMap(null)}},[]),null}m.memo(opo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={circle:null},n.setCircleCallback=function(){n.state.circle!==null&&n.props.onLoad&&n.props.onLoad(n.state.circle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Circle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{circle:n}},this.setCircleCallback)},e.prototype.componentDidUpdate=function(n){this.state.circle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:n,nextProps:this.props,instance:this.state.circle}))},e.prototype.componentWillUnmount=function(){var n;this.state.circle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),ja(this.registeredEvents),(n=this.state.circle)===null||n===void 0||n.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var zHe={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},DHe={add:function(t,e){t.add(e)},addgeojson:function(t,e,n){t.addGeoJson(e,n)},contains:function(t,e){t.contains(e)},foreach:function(t,e){t.forEach(e)},loadgeojson:function(t,e,n,o){t.loadGeoJson(e,n,o)},overridestyle:function(t,e,n){t.overrideStyle(e,n)},remove:function(t,e){t.remove(e)},revertstyle:function(t,e){t.revertStyle(e)},controlposition:function(t,e){t.setControlPosition(e)},controls:function(t,e){t.setControls(e)},drawingmode:function(t,e){t.setDrawingMode(e)},map:function(t,e){t.setMap(e)},style:function(t,e){t.setStyle(e)},togeojson:function(t,e){t.toGeoJson(e)}};function ipo(t){var e=t.options,n=t.onClick,o=t.onDblClick,i=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,s=t.onMouseUp,c=t.onRightClick,u=t.onAddFeature,d=t.onRemoveFeature,f=t.onRemoveProperty,p=t.onSetGeometry,g=t.onSetProperty,A=t.onLoad,w=t.onUnmount,b=m.useContext(xa),C=m.useState(null),P=C[0],v=C[1],T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1],U=m.useState(null),F=U[0],B=U[1],_=m.useState(null),Y=_[0],O=_[1],J=m.useState(null),Z=J[0],ie=J[1],ee=m.useState(null),q=ee[0],ae=ee[1],ne=m.useState(null),se=ne[0],le=ne[1],te=m.useState(null),he=te[0],pe=te[1],fe=m.useState(null),$=fe[0],de=fe[1],Se=m.useState(null),Ce=Se[0],ve=Se[1],Ie=m.useState(null),ze=Ie[0],ye=Ie[1];return m.useEffect(function(){P!==null&&P.setMap(b)},[b]),m.useEffect(function(){P&&o&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(P,"dblclick",o)))},[o]),m.useEffect(function(){P&&i&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(P,"mousedown",i)))},[i]),m.useEffect(function(){P&&r&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(P,"mousemove",r)))},[r]),m.useEffect(function(){P&&a&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(P,"mouseout",a)))},[a]),m.useEffect(function(){P&&l&&(F!==null&&google.maps.event.removeListener(F),B(google.maps.event.addListener(P,"mouseover",l)))},[l]),m.useEffect(function(){P&&s&&(Y!==null&&google.maps.event.removeListener(Y),O(google.maps.event.addListener(P,"mouseup",s)))},[s]),m.useEffect(function(){P&&c&&(Z!==null&&google.maps.event.removeListener(Z),ie(google.maps.event.addListener(P,"rightclick",c)))},[c]),m.useEffect(function(){P&&n&&(q!==null&&google.maps.event.removeListener(q),ae(google.maps.event.addListener(P,"click",n)))},[n]),m.useEffect(function(){P&&u&&(se!==null&&google.maps.event.removeListener(se),le(google.maps.event.addListener(P,"addfeature",u)))},[u]),m.useEffect(function(){P&&d&&(he!==null&&google.maps.event.removeListener(he),pe(google.maps.event.addListener(P,"removefeature",d)))},[d]),m.useEffect(function(){P&&f&&($!==null&&google.maps.event.removeListener($),de(google.maps.event.addListener(P,"removeproperty",f)))},[f]),m.useEffect(function(){P&&p&&(Ce!==null&&google.maps.event.removeListener(Ce),ve(google.maps.event.addListener(P,"setgeometry",p)))},[p]),m.useEffect(function(){P&&g&&(ze!==null&&google.maps.event.removeListener(ze),ye(google.maps.event.addListener(P,"setproperty",g)))},[g]),m.useEffect(function(){if(b!==null){var oe=new google.maps.Data(cr(cr({},e||{}),{map:b}));o&&S(google.maps.event.addListener(oe,"dblclick",o)),i&&H(google.maps.event.addListener(oe,"mousedown",i)),r&&W(google.maps.event.addListener(oe,"mousemove",r)),a&&E(google.maps.event.addListener(oe,"mouseout",a)),l&&B(google.maps.event.addListener(oe,"mouseover",l)),s&&O(google.maps.event.addListener(oe,"mouseup",s)),c&&ie(google.maps.event.addListener(oe,"rightclick",c)),n&&ae(google.maps.event.addListener(oe,"click",n)),u&&le(google.maps.event.addListener(oe,"addfeature",u)),d&&pe(google.maps.event.addListener(oe,"removefeature",d)),f&&de(google.maps.event.addListener(oe,"removeproperty",f)),p&&ve(google.maps.event.addListener(oe,"setgeometry",p)),g&&ye(google.maps.event.addListener(oe,"setproperty",g)),v(oe),A&&A(oe)}return function(){P&&(y!==null&&google.maps.event.removeListener(y),R!==null&&google.maps.event.removeListener(R),k!==null&&google.maps.event.removeListener(k),L!==null&&google.maps.event.removeListener(L),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Z!==null&&google.maps.event.removeListener(Z),q!==null&&google.maps.event.removeListener(q),se!==null&&google.maps.event.removeListener(se),he!==null&&google.maps.event.removeListener(he),$!==null&&google.maps.event.removeListener($),Ce!==null&&google.maps.event.removeListener(Ce),ze!==null&&google.maps.event.removeListener(ze),w&&w(P),P.setMap(null))}},[]),null}m.memo(ipo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={data:null},n.setDataCallback=function(){n.state.data!==null&&n.props.onLoad&&n.props.onLoad(n.state.data)},n}return e.prototype.componentDidMount=function(){if(this.context!==null){var n=new google.maps.Data(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:DHe,eventMap:zHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{data:n}},this.setDataCallback)}},e.prototype.componentDidUpdate=function(n){this.state.data!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:DHe,eventMap:zHe,prevProps:n,nextProps:this.props,instance:this.state.data}))},e.prototype.componentWillUnmount=function(){this.state.data!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),ja(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var EHe={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},kHe={options:function(t,e){t.setOptions(e)},url:function(t,e){t.setUrl(e)},zIndex:function(t,e){t.setZIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={kmlLayer:null},n.setKmlLayerCallback=function(){n.state.kmlLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.kmlLayer)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.KmlLayer(cr(cr({},this.props.options),{map:this.context}));this.registeredEvents=Fa({updaterMap:kHe,eventMap:EHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{kmlLayer:n}},this.setKmlLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.kmlLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:kHe,eventMap:EHe,prevProps:n,nextProps:this.props,instance:this.state.kmlLayer}))},e.prototype.componentWillUnmount=function(){this.state.kmlLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),ja(this.registeredEvents),this.state.kmlLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function Iot(t,e){return typeof e=="function"?e(t.offsetWidth,t.offsetHeight):{x:0,y:0}}function rpo(t,e){return new e(t.lat,t.lng)}function apo(t,e){return new e(new google.maps.LatLng(t.ne.lat,t.ne.lng),new google.maps.LatLng(t.sw.lat,t.sw.lng))}function lpo(t,e,n){return t instanceof e?t:n(t,e)}function spo(t,e,n){return t instanceof e?t:n(t,e)}function cpo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n.getNorthEast()),i=t&&t.fromLatLngToDivPixel(n.getSouthWest());return o&&i?{left:"".concat(i.x+e.x,"px"),top:"".concat(o.y+e.y,"px"),width:"".concat(o.x-i.x-e.x,"px"),height:"".concat(i.y-o.y-e.y,"px")}:{left:"-9999px",top:"-9999px"}}function upo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n);if(o){var i=o.x,r=o.y;return{left:"".concat(i+e.x,"px"),top:"".concat(r+e.y,"px")}}return{left:"-9999px",top:"-9999px"}}function zot(t,e,n,o){return n!==void 0?cpo(t,e,spo(n,google.maps.LatLngBounds,apo)):upo(t,e,lpo(o,google.maps.LatLng,rpo))}function dpo(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.height&&t.height===e.height}function fpo(t,e,n,o,i){var r=function(a){Ms(l,a);function l(s,c,u,d){var f=a.call(this)||this;return f.container=s,f.pane=c,f.position=u,f.bounds=d,f}return l.prototype.onAdd=function(){var s,c=(s=this.getPanes())===null||s===void 0?void 0:s[this.pane];c==null||c.appendChild(this.container)},l.prototype.draw=function(){for(var s=this.getProjection(),c=cr({},this.container?Iot(this.container,i):{x:0,y:0}),u=zot(s,c,this.bounds,this.position),d=0,f=Object.entries(u);d? %s',google.maps.visualization),B0(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var n=new google.maps.visualization.HeatmapLayer(cr(cr({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{heatmapLayer:n}},this.setHeatmapLayerCallback)},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:n,nextProps:this.props,instance:this.state.heatmapLayer})},e.prototype.componentWillUnmount=function(){this.state.heatmapLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),ja(this.registeredEvents),this.state.heatmapLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var jHe={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},YHe={register:function(t,e,n){t.registerPanoProvider(e,n)},links:function(t,e){t.setLinks(e)},motionTracking:function(t,e){t.setMotionTracking(e)},options:function(t,e){t.setOptions(e)},pano:function(t,e){t.setPano(e)},position:function(t,e){t.setPosition(e)},pov:function(t,e){t.setPov(e)},visible:function(t,e){t.setVisible(e)},zoom:function(t,e){t.setZoom(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={streetViewPanorama:null},n.setStreetViewPanoramaCallback=function(){n.state.streetViewPanorama!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewPanorama)},n}return e.prototype.componentDidMount=function(){var n,o,i=(o=(n=this.context)===null||n===void 0?void 0:n.getStreetView())!==null&&o!==void 0?o:null;this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{streetViewPanorama:i}},this.setStreetViewPanoramaCallback)},e.prototype.componentDidUpdate=function(n){this.state.streetViewPanorama!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:n,nextProps:this.props,instance:this.state.streetViewPanorama}))},e.prototype.componentWillUnmount=function(){this.state.streetViewPanorama!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),ja(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={streetViewService:null},n.setStreetViewServiceCallback=function(){n.state.streetViewService!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewService)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:n}},this.setStreetViewServiceCallback)},e.prototype.componentWillUnmount=function(){this.state.streetViewService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={directionsService:null},n.setDirectionsServiceCallback=function(){n.state.directionsService!==null&&n.props.onLoad&&n.props.onLoad(n.state.directionsService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var n=new google.maps.DirectionsService;this.setState(function(){return{directionsService:n}},this.setDirectionsServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.directionsService!==null&&this.state.directionsService.route(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.directionsService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},e.prototype.render=function(){return null},e})(m.PureComponent);var OHe={onDirectionsChanged:"directions_changed"},_He={directions:function(t,e){t.setDirections(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},panel:function(t,e){t.setPanel(e)},routeIndex:function(t,e){t.setRouteIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={directionsRenderer:null},n.setDirectionsRendererCallback=function(){n.state.directionsRenderer!==null&&(n.state.directionsRenderer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.directionsRenderer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{directionsRenderer:n}},this.setDirectionsRendererCallback)},e.prototype.componentDidUpdate=function(n){this.state.directionsRenderer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:n,nextProps:this.props,instance:this.state.directionsRenderer}))},e.prototype.componentWillUnmount=function(){this.state.directionsRenderer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),ja(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},e.prototype.render=function(){return h.jsx(h.Fragment,{})},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={distanceMatrixService:null},n.setDistanceMatrixServiceCallback=function(){n.state.distanceMatrixService!==null&&n.props.onLoad&&n.props.onLoad(n.state.distanceMatrixService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var n=new google.maps.DistanceMatrixService;this.setState(function(){return{distanceMatrixService:n}},this.setDistanceMatrixServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.distanceMatrixService!==null&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.distanceMatrixService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},e.prototype.render=function(){return null},e})(m.PureComponent);var VHe={onPlacesChanged:"places_changed"},GHe={bounds:function(t,e){t.setBounds(e)}},Dot=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={searchBox:null},n.setSearchBoxCallback=function(){n.state.searchBox!==null&&n.props.onLoad&&n.props.onLoad(n.state.searchBox)},n}return e.prototype.componentDidMount=function(){if(B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places),this.containerElement!==null&&this.containerElement.current!==null){var n=this.containerElement.current.querySelector("input");if(n!==null){var o=new google.maps.places.SearchBox(n,this.props.options);this.registeredEvents=Fa({updaterMap:GHe,eventMap:VHe,prevProps:{},nextProps:this.props,instance:o}),this.setState(function(){return{searchBox:o}},this.setSearchBoxCallback)}}},e.prototype.componentDidUpdate=function(n){this.state.searchBox!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:GHe,eventMap:VHe,prevProps:n,nextProps:this.props,instance:this.state.searchBox}))},e.prototype.componentWillUnmount=function(){this.state.searchBox!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),ja(this.registeredEvents))},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,children:m.Children.only(this.props.children)})},e.contextType=xa,e}(m.PureComponent),XHe={onPlaceChanged:"place_changed"},JHe={bounds:function(t,e){t.setBounds(e)},restrictions:function(t,e){t.setComponentRestrictions(e)},fields:function(t,e){t.setFields(e)},options:function(t,e){t.setOptions(e)},types:function(t,e){t.setTypes(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={autocomplete:null},n.setAutocompleteCallback=function(){n.state.autocomplete!==null&&n.props.onLoad&&n.props.onLoad(n.state.autocomplete)},n}return e.prototype.componentDidMount=function(){var n;B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places);var o=(n=this.containerElement.current)===null||n===void 0?void 0:n.querySelector("input");if(o){var i=new google.maps.places.Autocomplete(o,this.props.options);this.registeredEvents=Fa({updaterMap:JHe,eventMap:XHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{autocomplete:i}},this.setAutocompleteCallback)}},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:JHe,eventMap:XHe,prevProps:n,nextProps:this.props,instance:this.state.autocomplete})},e.prototype.componentWillUnmount=function(){this.state.autocomplete!==null&&ja(this.registeredEvents)},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,className:this.props.className,children:m.Children.only(this.props.children)})},e.defaultProps={className:""},e.contextType=xa,e})(m.PureComponent);const KHe="/aladdin/assets/empty_heart-B57-2tMp.png",ypo="/aladdin/assets/red_heart-BaAtCixH.png",Apo="/aladdin/assets/open_file-B6scZwPU.png",wpo="/aladdin/assets/export_link-Dxa4UObV.png",vpo="/aladdin/assets/click_count-BZx6BgQJ.png";function MO(t){const e=new Date(t);if(!Number.isNaN(e.valueOf()))return e;const n=String(t).match(/\d+/g);if(n==null||n.length<=2)return e;{const[o,i,...r]=n.map(s=>parseInt(s)),a=[o,i-1,...r];return new Date(Date.UTC(...a))}}function qHe(t,e,n){const o=t!==1?e+"s":e;return t+" "+o+" "+n}function _de(){return _de=Object.assign?Object.assign.bind():function(t){for(var e=1;eDate.now();function bpo({date:t,formatter:e=qHe,component:n="time",live:o=!0,minPeriod:i=0,maxPeriod:r=IO,title:a,now:l=xpo,...s}){const[c,u]=m.useState(l());m.useEffect(()=>{if(!o)return;const T=(()=>{const y=MO(t).valueOf();if(!y)return console.warn("[react-timeago] Invalid Date provided"),0;const S=Math.round(Math.abs(c-y)/1e3),x=S{u(l())},R):0})();return()=>{T&&clearTimeout(T)}},[t,o,r,i,l,c]);const d=n,f=MO(t).valueOf();if(!f)return null;const p=Math.round(Math.abs(c-f)/1e3),g=f"u"?typeof t=="string"?t:MO(t).toISOString().substr(0,16).replace("T"," "):a,C=d==="time"?{...s,dateTime:MO(t).toISOString()}:s,P=qHe.bind(null,A,w,g);return m.createElement(d,_de({},C,{title:b}),e(A,w,g,f,P,l))}function _X(){return _X=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}var Tpo=["cdnSuffix","cdnUrl","countryCode","style","svg"],Ppo="https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/",Cpo="svg",Rpo=127397,Eot=function(e){var n=e.cdnSuffix,o=n===void 0?Cpo:n,i=e.cdnUrl,r=i===void 0?Ppo:i,a=e.countryCode,l=e.style,s=e.svg,c=s===void 0?!1:s,u=Spo(e,Tpo);if(typeof a!="string")return null;if(c){var d=""+r+a.toLowerCase()+"."+o;return m.createElement("img",Object.assign({},u,{src:d,style:_X({display:"inline-block",width:"1em",height:"1em",verticalAlign:"middle"},l)}))}var f=a.toUpperCase().replace(/./g,function(p){return String.fromCodePoint(p.charCodeAt(0)+Rpo)});return m.createElement("span",Object.assign({role:"img"},u,{style:_X({display:"inline-block",fontSize:"1em",lineHeight:"1em",verticalAlign:"middle"},l)}),f)};const kot=t=>{switch(t.type){case da.PHOTOVOLTAIC:return S$e;case da.PARABOLIC_DISH:return T$e;case da.PARABOLIC_TROUGH:return P$e;case da.FRESNEL_REFLECTOR:return C$e;case da.SOLAR_POWER_TOWER:return R$e;case da.WIND_TURBINE:return I$e;case da.COLOCATION_PROJECTS:return z$e;case da.RESIDENTIAL_BUILDING:return w$e;case da.COMMERCIAL_BUILDING:return v$e;case da.SCHOOL_BUILDING:return x$e;case da.TOURIST_ATTRACTION:return b$e;case da.UNDER_CONSTRUCTION:return H$e}return M$e},{Panel:Hpo}=zme,Mpo=be.memo(({latRef:t,lngRef:e,selectAuthor:n,closeMap:o,openModel:i,deleteModel:r,likeModel:a,pinModel:l})=>{var pe;const s=M.getState().user,c=M(dn),u=M(En),d=M(F4t)??ZNe,f=M(L4t)??0,p=M(Z1e)??"roadmap",g=M(fge),A=ht(OBe),w=M(VBe),[b,C]=m.useState(null),[P,v]=m.useState(null),[T,y]=m.useState(null),[S,x]=m.useState(!0),[R,H]=m.useState(!1),D=m.useRef(null),k=m.useRef([]),W=m.useRef(-1),N=m.useRef([]),L=Kt(),E=14,U=(pe=s.email)==null?void 0:pe.endsWith("@intofuture.org"),F=()=>{N.current.length=0;for(const fe in g)if(Object.hasOwn(g,fe)){const $=g[fe],de=new google.maps.LatLng($.latitude,$.longitude);N.current.push(de)}},B=m.useCallback(fe=>{C(fe),F(),fe.setMapTypeId(p)},[p]),_=m.useCallback(function(){C(null)},[]),Y=()=>{if(b){const fe=b.getCenter();if(fe){const $=fe.lat(),de=fe.lng();if($!==t.current||de!==e.current){const Se={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:t.current,newLatitude:$,oldLongitude:e.current,newLongitude:de,undo:()=>{t.current=Se.oldLatitude,e.current=Se.oldLongitude},redo:()=>{t.current=Se.newLatitude,e.current=Se.newLongitude}};u(Se),t.current=$,e.current=de}}}},O=()=>{if(b){const fe=b.getZoom();if(fe!==void 0&&fe!==d){const $={name:"Zoom Model Map",timestamp:Date.now(),oldValue:d,newValue:fe,undo:()=>{c(de=>{de.modelsMapZoom=$.oldValue})},redo:()=>{c(de=>{de.modelsMapZoom=$.newValue})}};u($),c(de=>{de.modelsMapZoom=fe})}}},J=()=>{if(b){const fe=b.getTilt();if(fe!==void 0&&fe!==f){const $={name:"Tilt Model Map",timestamp:Date.now(),oldValue:f,newValue:fe,undo:()=>{c(de=>{de.modelsMapTilt=$.oldValue})},redo:()=>{c(de=>{de.modelsMapTilt=$.newValue})}};u($),c(de=>{de.modelsMapTilt=fe})}}},Z=()=>{if(b){const fe=b.getMapTypeId();if(fe!==void 0&&fe!==p){const $={name:"Change Model Map Type",timestamp:Date.now(),oldValue:p,newValue:fe,undo:()=>{c(de=>{de.modelsMapType=$.oldValue})},redo:()=>{c(de=>{de.modelsMapType=$.newValue})}};u($),c(de=>{de.modelsMapType=fe})}}},ie={styles:[{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels",stylers:[{visibility:"off"}]}]},ee=fe=>{fe.userid&&fe.title?(i(fe),o()):Do(j.t("message.ModelNotFound",L))},q=fe=>{if(fe.userid&&fe.title){const $=qp+"?client=web&userid="+fe.userid+"&title="+encodeURIComponent(fe.title);navigator.clipboard.writeText($).then(()=>y2(j.t("cloudFilePanel.LinkGeneratedInClipBoard",L)+"."))}else Do(j.t("message.ModelNotFound",L))},ae=fe=>{_r.confirm({title:j.t("message.DoYouWantToDeleteModelFromMap",L),icon:h.jsx($m,{}),onOk:()=>{r(fe,()=>{c($=>{var de,Se;if($.modelSites){const Ce=$.modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if(Ce){let ve;for(const[Ie,ze]of Ce)if(ze.userid===fe.userid&&ze.title===fe.title){ve=Ie;break}ve&&(Ce.delete(ve),Ce.size===0&&((Se=(de=k.current[W.current])==null?void 0:de.marker)==null||Se.setMap(null)))}}}),v(null),y(null)})},onCancel:()=>{},okText:j.t("word.Yes",L),cancelText:j.t("word.No",L)})},ne=fe=>{var $;if(fe.userid&&fe.title){const de=xe.getModelKey(fe),Se=!!(($=s.likes)!=null&&$.includes(de));a(fe,!Se,()=>{c(Ce=>{if(Ce.user)if(Ce.user.likes||(Ce.user.likes=[]),Ce.user.likes.includes(de)){const ve=Ce.user.likes.indexOf(de);ve>=0&&Ce.user.likes.splice(ve,1)}else Ce.user.likes.push(de);if(Ce.modelSites){const ve=Ce.modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if(ve){for(const Ie of ve.values())if(Ie.userid===fe.userid&&Ie.title===fe.title){Ie.likeCount===void 0&&(Ie.likeCount=0),Ie.likeCount+=Se?-1:1;break}}}}),H(!R)})}},se=fe=>{const $=M.getState().modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if($){for(const de of $.values())if(de.userid===fe.userid&&de.title===fe.title)return de.likeCount??0}return 0},le=fe=>{const $=M.getState().modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if($){for(const de of $.values())if(de.userid===fe.userid&&de.title===fe.title)return de.clickCount??0}return 0},te=fe=>{const $=M.getState().modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if($){for(const de of $.values())if(de.userid===fe.userid&&de.title===fe.title)return de.pinned}return!1},he=(fe,$)=>{fe.userid&&fe.title&&l(fe,$,()=>{c(de=>{if(de.modelSites){const Se=de.modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if(Se){for(const Ce of Se.values())if(Ce.userid===fe.userid&&Ce.title===fe.title){Ce.pinned=$,H(!R);break}}}})})};return h.jsx(vot,{mapContainerStyle:{border:"1px solid",width:"100%",height:"100%"},mapTypeId:p,options:ie,center:{lat:t.current,lng:e.current},zoom:d,tilt:f,onLoad:B,onUnmount:_,onCenterChanged:Y,onZoomChanged:O,onTiltChanged:J,onMapTypeIdChanged:Z,children:h.jsxs(h.Fragment,{children:[A&&N.current.map((fe,$)=>{const de=.2*d;return h.jsx(fHe,{icon:{path:google.maps.SymbolPath.CIRCLE,strokeColor:"red",strokeWeight:de+2,scale:de},position:fe},$)}),P&&P.size&&T&&h.jsx($ho,{position:{lat:T.lat(),lng:T.lng()},children:h.jsxs("div",{style:{border:"2px solid gainsboro",maxHeight:"400px",overflowY:"auto"},onMouseLeave:()=>{v(null),y(null)},children:[P.size>1?h.jsxs("div",{style:{background:"#dddddd",textAlign:"left",borderBottom:"1px solid gainsboro",paddingBottom:"4px",marginBottom:"4px"},children:[S?h.jsx(ntn,{title:j.t("modelsMap.SortFromNewestToOldest",L),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{x(!1)}}):h.jsx(Ytn,{title:j.t("modelsMap.SortFromOldestToNewest",L),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{x(!0)}}),h.jsxs("span",{style:{fontSize:"10px"},children:[P.size," ",j.t("modelsMap.ModelsFoundOnThisSite",L)]}),T&&h.jsxs("span",{style:{fontSize:"10px"},children:[" —"," ",j.t("word.Coordinates",L)+": ("+T.lat().toFixed(sw)+"°, "+T.lng().toFixed(sw)+"°)"]})]}):"",[...P.keys()].sort((fe,$)=>{const de=P.get(fe),Se=P.get($);return de!=null&&de.pinned&&!(Se!=null&&Se.pinned)?-1:Se!=null&&Se.pinned&&!(de!=null&&de.pinned)?1:(S?1:-1)*(((de==null?void 0:de.timeCreated)??0)-((Se==null?void 0:Se.timeCreated)??0))}).map((fe,$)=>{const de=P.get(fe);return de?h.jsxs("div",{style:{padding:(P==null?void 0:P.size)>1?"5px 5px 20px 5px":"5px",background:$%2===0?"white":"#eeeeee"},children:[$===0&&h.jsxs("div",{style:{fontSize:"12px",display:"block",paddingBottom:"6px"},children:[de.countryCode&&h.jsx(Eot,{countryCode:de.countryCode,style:{marginRight:"6px",width:"20px"},svg:!0}),de.address??"Unknown",P.size===1&&h.jsx("span",{style:{fontSize:"10px",display:"block",paddingTop:"10px"},children:j.t("word.Coordinates",L)+": ("+T.lat().toFixed(sw)+"°, "+T.lng().toFixed(sw)+"°)"})]}),h.jsx(zme,{style:{background:te(de)?"#FEF9EC":$%2===0?"white":"#eeeeee",width:"400px"},bordered:!1,ghost:!0,defaultActiveKey:["0"],children:h.jsx(Hpo,{header:h.jsxs(h.Fragment,{children:[de.label,te(de)&&h.jsx(wTe,{style:{marginLeft:"8px"}})]}),style:{fontSize:"12px"},children:h.jsx("div",{style:{fontSize:"10px",display:"block",textAlign:"left"},children:h.jsxs(en,{align:"start",children:[de.thumbnailUrl&&h.jsx("img",{alt:de.label,title:j.t("word.Open",L),src:de.thumbnailUrl,style:{border:"1px solid #222",cursor:"pointer"},onClick:()=>ee(de)}),h.jsxs("div",{children:[de.description&&de.description.trim()!==""?de.description:""," —  By"," ",h.jsx("span",{style:{cursor:"pointer"},title:j.t("modelsMap.ShowModelsPublishedByThisAuthor",L),onClick:()=>{n(de.author)},children:!de.author||de.author===""?j.t("word.Anonymous",L):de.author}),", ",de.timeCreated&&h.jsx(bpo,{date:new Date(de.timeCreated)})]})]})})},$)}),h.jsxs("div",{style:{marginTop:"10px",fontSize:"11px"},children:[U&&h.jsx(h.Fragment,{children:te(de)?h.jsx(btn,{style:{cursor:"pointer"},title:j.t("word.Unpin",L),onClick:()=>he(de,!1)}):h.jsx(wTe,{style:{cursor:"pointer"},title:j.t("word.Pin",L),onClick:()=>he(de,!0)})}),h.jsx("img",{alt:"Open",onClick:()=>ee(de),style:{marginLeft:"10px",cursor:"pointer"},title:j.t("word.Open",L),src:Apo,height:E,width:E}),h.jsx("img",{alt:"Export link",onClick:()=>q(de),style:{marginLeft:"5px",cursor:"pointer"},title:j.t("word.Share",L),src:wpo,height:E,width:E}),de.userid===s.uid&&h.jsx("img",{alt:"Delete",onClick:()=>ae(de),style:{marginLeft:"5px",cursor:"pointer"},title:j.t("word.Delete",L),src:Aot,height:E,width:E}),s.uid?h.jsx(h.Fragment,{children:s.likes&&s.likes.includes(xe.getModelKey(de))?h.jsx("img",{alt:"Like",onClick:()=>ne(de),style:{marginLeft:"10px",cursor:"pointer"},title:j.t("word.AlreadyLike",L),src:ypo,height:E,width:E}):h.jsx("img",{alt:"Like",onClick:()=>ne(de),style:{marginLeft:"10px",cursor:"pointer"},title:j.t("word.Like",L),src:KHe,height:E,width:E})}):h.jsx(h.Fragment,{children:h.jsx("img",{alt:"Like",style:{marginLeft:"10px",opacity:.5},title:j.t("word.MustLogInToLike",L),src:KHe,height:E,width:E})}),"   ",se(de),h.jsx("img",{alt:"Click counter",style:{marginLeft:"10px"},title:j.t("word.ClickCount",L),src:vpo,height:E,width:E}),"   ",le(de)]})]},$):null})]})}),!!w&&!!w.size&&h.jsx(zho,{children:fe=>h.jsx("div",{children:[...w.keys()].map(($,de)=>{const Se=w.get($);if(!Se||!Se.size)return null;const Ce=[...Se.keys()].sort((ze,ye)=>{const oe=Se.get(ze),ge=Se.get(ye);return oe!=null&&oe.pinned&&!(ge!=null&&ge.pinned)?-1:ge!=null&&ge.pinned&&!(oe!=null&&oe.pinned)?1:(S?1:-1)*(((oe==null?void 0:oe.timeCreated)??0)-((ge==null?void 0:ge.timeCreated)??0))}),ve=Se.get(Ce[0]);if(!ve)return null;const Ie=kot(ve);return h.jsx(fHe,{ref:ze=>k.current[de]=ze,clusterer:fe,icon:Ie?{url:Ie}:void 0,position:{lat:ve.latitude,lng:ve.longitude},onClick:()=>ee(ve),onMouseOver:()=>{D.current=P,W.current=de,v(Se);const ze=$.split(", ");y(new google.maps.LatLng(Number.parseFloat(ze[0]),Number.parseFloat(ze[1])))},onMouseOut:()=>{P===D.current&&(v(null),y(null))}},de)})})})]})})}),Ipo="/aladdin/assets/image_load_failure-HGDkwC0S.png",Fot=be.memo(({latRef:t,lngRef:e,author:n,models:o,closeCallback:i,openCloudFile:r})=>{const a=M(o1),l=M(Sc),s=M(dn),c=M(Z1e),u=m.useRef(o?new Map(o):new Map),[d,f]=m.useState(!1),[p,g]=m.useState(),[A,w]=m.useState(!1),{Search:b}=ns,C=m.useMemo(()=>({lng:l}),[l]);m.useEffect(()=>{o&&(u.current=new Map(o),f(!d))},[o]);const P=m.useMemo(()=>{let T=0;for(const y of u.current.values())(n||y.userid===a.uid)&&T++;return T},[u.current,n,a.uid,d]),v=n&&c!=="roadmap";return u.current.size===0?h.jsx(Y0e,{mask:!1,styles:{header:{height:"40px",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",background:v?"#6A6B6E":"whitesmoke"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},style:{scrollbarColor:v?"#6A6B6E":"whitesmoke"},title:(n??j.t("modelsMap.MyPublishedModels",C))+" (0)",placement:"bottom",open:!0,height:"150px",onClose:()=>{i()},children:h.jsx(lg,{image:lg.PRESENTED_IMAGE_SIMPLE,style:{color:v?"lightgray":"dimgray"}})}):h.jsx(Y0e,{extra:h.jsxs(en,{children:[A?h.jsx(htn,{title:j.t("modelsMap.SortFromNewestToOldest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{w(!1)}}):h.jsx(y$e,{title:j.t("modelsMap.SortFromOldestToNewest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{w(!0)}}),h.jsx(b,{title:j.t("modelsMap.SearchByLabel",C),allowClear:!0,size:"small",enterButton:!0,onSearch:T=>{var y;if(o){u.current.clear();for(const[S,x]of o)(y=x.label)!=null&&y.toLowerCase().includes(T.toLowerCase())&&u.current.set(S,x);f(!d)}}})]}),mask:!1,styles:{header:{height:"40px",color:v?"white":"black",background:v?"#6A6B6E":"whitesmoke",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",border:"none"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},title:(n??j.t("modelsMap.MyPublishedModels",C))+" ("+P+")",placement:"bottom",open:!0,height:"164px",onClose:()=>{g(void 0),i()},children:h.jsx("table",{children:h.jsx("tbody",{children:h.jsx("tr",{children:[...u.current.keys()].sort((T,y)=>{const S=u.current.get(T),x=u.current.get(y);return!S||!x?0:(A?-1:1)*((x.timeCreated??0)-(S.timeCreated??0))}).map((T,y)=>{const S=u.current.get(T);return!S||!n&&S.userid!==a.uid?null:h.jsx("td",{children:h.jsxs("div",{style:{display:"block",marginTop:"4px"},children:[h.jsx("img",{loading:"lazy",height:"100px",width:"auto",onError:x=>{x.target.src=Ipo},alt:S.label,title:S.label,src:S.thumbnailUrl,style:{cursor:"pointer",borderRadius:p===S?"0":"10px",border:p===S?"2px solid "+(v?"goldenrod":"red"):"none",marginRight:"4px"},onClick:()=>{g(S),r?r(S.userid,S.title):s(x=>{S&&(x.modelsMapLatitude=S.latitude,x.modelsMapLongitude=S.longitude,x.modelsMapZoom=17,t&&(t.current=S.latitude),e&&(e.current=S.longitude))})}}),h.jsxs("div",{children:[h.jsx("img",{alt:S.type,src:kot(S),style:{position:"relative",left:"8px",bottom:"28px",width:"16px",height:"16px"}}),h.jsx("span",{style:{position:"relative",left:"16px",bottom:"24px",color:"white",fontSize:"8px",fontWeight:"bold"},children:S.label?S.label.length>30?S.label.substring(0,30)+"...":S.label:"Unknown"})]})]})},y)})})})})})}),zpo=["places"],Dpo=Ho.div` +`,l=`Cluster of ${e} markers`,s=Number(google.maps.Marker.MAX_ZINDEX)+e;if(og.isAdvancedMarkerAvailable(i)){const u=document.createElement("div");u.innerHTML=a;const d=u.firstElementChild;d.setAttribute("transform","translate(0 25)");const f={map:i,position:n,zIndex:s,title:l,content:d};return new google.maps.marker.AdvancedMarkerElement(f)}const c={position:n,zIndex:s,title:l,icon:{url:`data:image/svg+xml;base64,${btoa(a)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(c)}}function Oho(t,e){for(let n in e.prototype)t.prototype[n]=e.prototype[n]}class l9e{constructor(){Oho(l9e,google.maps.OverlayView)}}var RE;(function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"})(RE||(RE={}));const _ho=(t,e,n)=>{n.fitBounds(e.bounds)};class Vho extends l9e{constructor({map:e,markers:n=[],algorithmOptions:o={},algorithm:i=new Bho(o),renderer:r=new Yho,onClusterClick:a=_ho}){super(),this.markers=[...n],this.clusters=[],this.algorithm=i,this.renderer=r,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,n){this.markers.includes(e)||(this.markers.push(e),n||this.render())}addMarkers(e,n){e.forEach(o=>{this.addMarker(o,!0)}),n||this.render()}removeMarker(e,n){const o=this.markers.indexOf(e);return o===-1?!1:(og.setMap(e,null),this.markers.splice(o,1),n||this.render(),!0)}removeMarkers(e,n){let o=!1;return e.forEach(i=>{o=this.removeMarker(i,!0)||o}),o&&!n&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,RE.CLUSTERING_BEGIN,this);const{clusters:n,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||o==null){const i=new Set;for(const a of n)a.markers.length==1&&i.add(a.markers[0]);const r=[];for(const a of this.clusters)a.marker!=null&&(a.markers.length==1?i.has(a.marker)||og.setMap(a.marker,null):r.push(a.marker));this.clusters=n,this.renderClusters(),requestAnimationFrame(()=>r.forEach(a=>og.setMap(a,null)))}google.maps.event.trigger(this,RE.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>og.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new jho(this.markers,this.clusters),n=this.getMap();this.clusters.forEach(o=>{o.markers.length===1?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,n),o.markers.forEach(i=>og.setMap(i,null)),this.onClusterClick&&o.marker.addListener("click",i=>{google.maps.event.trigger(this,RE.CLUSTER_CLICK,o),this.onClusterClick(i,o,n)})),og.setMap(o.marker,n)})}}function Gho(t){var e=eho(),n=m.useState(null),o=n[0],i=n[1];return m.useEffect(function(){if(e&&o===null){var r=new Vho(cr(cr({},t),{map:e}));i(r)}},[e]),o}function Xho(t){var e=t.children,n=t.options,o=Gho(n);return o!==null?e(o):null}m.memo(Xho);var wHe={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},vHe={options:function(t,e){t.setOptions(e)},position:function(t,e){t.setPosition(e)},zIndex:function(t,e){t.setZIndex(e)}};function Jho(t){var e=t.children,n=t.anchor,o=t.options,i=t.position,r=t.zIndex,a=t.onCloseClick,l=t.onDomReady,s=t.onContentChanged,c=t.onPositionChanged,u=t.onZindexChanged,d=t.onLoad,f=t.onUnmount,p=m.useContext(xa),g=m.useState(null),A=g[0],w=g[1],b=m.useState(null),C=b[0],P=b[1],v=m.useState(null),T=v[0],y=v[1],S=m.useState(null),x=S[0],R=S[1],H=m.useState(null),D=H[0],k=H[1],W=m.useState(null),N=W[0],L=W[1],E=m.useRef(null);return m.useEffect(function(){A!==null&&(A.close(),n?A.open(p,n):A.getPosition()&&A.open(p))},[p,A,n]),m.useEffect(function(){o&&A!==null&&A.setOptions(o)},[A,o]),m.useEffect(function(){i&&A!==null&&A.setPosition(i)},[i]),m.useEffect(function(){typeof r=="number"&&A!==null&&A.setZIndex(r)},[r]),m.useEffect(function(){A&&a&&(C!==null&&google.maps.event.removeListener(C),P(google.maps.event.addListener(A,"closeclick",a)))},[a]),m.useEffect(function(){A&&l&&(T!==null&&google.maps.event.removeListener(T),y(google.maps.event.addListener(A,"domready",l)))},[l]),m.useEffect(function(){A&&s&&(x!==null&&google.maps.event.removeListener(x),R(google.maps.event.addListener(A,"content_changed",s)))},[s]),m.useEffect(function(){A&&c&&(D!==null&&google.maps.event.removeListener(D),k(google.maps.event.addListener(A,"position_changed",c)))},[c]),m.useEffect(function(){A&&u&&(N!==null&&google.maps.event.removeListener(N),L(google.maps.event.addListener(A,"zindex_changed",u)))},[u]),m.useEffect(function(){var U=new google.maps.InfoWindow(cr({},o||{}));return w(U),E.current=document.createElement("div"),a&&P(google.maps.event.addListener(U,"closeclick",a)),l&&y(google.maps.event.addListener(U,"domready",l)),s&&R(google.maps.event.addListener(U,"content_changed",s)),c&&k(google.maps.event.addListener(U,"position_changed",c)),u&&L(google.maps.event.addListener(U,"zindex_changed",u)),U.setContent(E.current),i&&U.setPosition(i),r&&U.setZIndex(r),n?U.open(p,n):U.getPosition()?U.open(p):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for ."),d&&d(U),function(){C&&google.maps.event.removeListener(C),x&&google.maps.event.removeListener(x),T&&google.maps.event.removeListener(T),D&&google.maps.event.removeListener(D),N&&google.maps.event.removeListener(N),f&&f(U),U.close()}},[]),E.current?Td.createPortal(m.Children.only(e),E.current):null}m.memo(Jho);var Kho=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=null,n.state={infoWindow:null},n.open=function(o,i){i?o.open(n.context,i):o.getPosition()?o.open(n.context):B0(!1,"You must provide either an anchor (typically render it inside a ) or a position props for .")},n.setInfoWindowCallback=function(){n.state.infoWindow!==null&&n.containerElement!==null&&(n.state.infoWindow.setContent(n.containerElement),n.open(n.state.infoWindow,n.props.anchor),n.props.onLoad&&n.props.onLoad(n.state.infoWindow))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.InfoWindow(cr({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=Fa({updaterMap:vHe,eventMap:wHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{infoWindow:n}},this.setInfoWindowCallback)},e.prototype.componentDidUpdate=function(n){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:vHe,eventMap:wHe,prevProps:n,nextProps:this.props,instance:this.state.infoWindow}))},e.prototype.componentWillUnmount=function(){this.state.infoWindow!==null&&(ja(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},e.prototype.render=function(){return this.containerElement?Td.createPortal(m.Children.only(this.props.children),this.containerElement):null},e.contextType=xa,e}(m.PureComponent),xHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},bHe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},visible:function(t,e){t.setVisible(e)}},qho={};function $ho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,A=t.onClick,w=t.onDrag,b=t.onLoad,C=t.onUnmount,P=m.useContext(xa),v=m.useState(null),T=v[0],y=v[1],S=m.useState(null),x=S[0],R=S[1],H=m.useState(null),D=H[0],k=H[1],W=m.useState(null),N=W[0],L=W[1],E=m.useState(null),U=E[0],F=E[1],B=m.useState(null),_=B[0],Y=B[1],O=m.useState(null),J=O[0],Z=O[1],ie=m.useState(null),ee=ie[0],q=ie[1],ae=m.useState(null),ne=ae[0],se=ae[1],le=m.useState(null),te=le[0],he=le[1],pe=m.useState(null),fe=pe[0],$=pe[1],de=m.useState(null),Se=de[0],Ce=de[1];return m.useEffect(function(){T!==null&&T.setMap(P)},[P]),m.useEffect(function(){typeof e<"u"&&T!==null&&T.setOptions(e)},[T,e]),m.useEffect(function(){typeof n<"u"&&T!==null&&T.setDraggable(n)},[T,n]),m.useEffect(function(){typeof o<"u"&&T!==null&&T.setEditable(o)},[T,o]),m.useEffect(function(){typeof i<"u"&&T!==null&&T.setVisible(i)},[T,i]),m.useEffect(function(){typeof r<"u"&&T!==null&&T.setPath(r)},[T,r]),m.useEffect(function(){T&&a&&(x!==null&&google.maps.event.removeListener(x),R(google.maps.event.addListener(T,"dblclick",a)))},[a]),m.useEffect(function(){T&&l&&(D!==null&&google.maps.event.removeListener(D),k(google.maps.event.addListener(T,"dragend",l)))},[l]),m.useEffect(function(){T&&s&&(N!==null&&google.maps.event.removeListener(N),L(google.maps.event.addListener(T,"dragstart",s)))},[s]),m.useEffect(function(){T&&c&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(T,"mousedown",c)))},[c]),m.useEffect(function(){T&&u&&(_!==null&&google.maps.event.removeListener(_),Y(google.maps.event.addListener(T,"mousemove",u)))},[u]),m.useEffect(function(){T&&d&&(J!==null&&google.maps.event.removeListener(J),Z(google.maps.event.addListener(T,"mouseout",d)))},[d]),m.useEffect(function(){T&&f&&(ee!==null&&google.maps.event.removeListener(ee),q(google.maps.event.addListener(T,"mouseover",f)))},[f]),m.useEffect(function(){T&&p&&(ne!==null&&google.maps.event.removeListener(ne),se(google.maps.event.addListener(T,"mouseup",p)))},[p]),m.useEffect(function(){T&&g&&(te!==null&&google.maps.event.removeListener(te),he(google.maps.event.addListener(T,"rightclick",g)))},[g]),m.useEffect(function(){T&&A&&(fe!==null&&google.maps.event.removeListener(fe),$(google.maps.event.addListener(T,"click",A)))},[A]),m.useEffect(function(){T&&w&&(Se!==null&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(T,"drag",w)))},[w]),m.useEffect(function(){var ve=new google.maps.Polyline(cr(cr({},e||qho),{map:P}));return r&&ve.setPath(r),typeof i<"u"&&ve.setVisible(i),typeof o<"u"&&ve.setEditable(o),typeof n<"u"&&ve.setDraggable(n),a&&R(google.maps.event.addListener(ve,"dblclick",a)),l&&k(google.maps.event.addListener(ve,"dragend",l)),s&&L(google.maps.event.addListener(ve,"dragstart",s)),c&&F(google.maps.event.addListener(ve,"mousedown",c)),u&&Y(google.maps.event.addListener(ve,"mousemove",u)),d&&Z(google.maps.event.addListener(ve,"mouseout",d)),f&&q(google.maps.event.addListener(ve,"mouseover",f)),p&&se(google.maps.event.addListener(ve,"mouseup",p)),g&&he(google.maps.event.addListener(ve,"rightclick",g)),A&&$(google.maps.event.addListener(ve,"click",A)),w&&Ce(google.maps.event.addListener(ve,"drag",w)),y(ve),b&&b(ve),function(){x!==null&&google.maps.event.removeListener(x),D!==null&&google.maps.event.removeListener(D),N!==null&&google.maps.event.removeListener(N),U!==null&&google.maps.event.removeListener(U),_!==null&&google.maps.event.removeListener(_),J!==null&&google.maps.event.removeListener(J),ee!==null&&google.maps.event.removeListener(ee),ne!==null&&google.maps.event.removeListener(ne),te!==null&&google.maps.event.removeListener(te),fe!==null&&google.maps.event.removeListener(fe),C&&C(ve),ve.setMap(null)}},[]),null}m.memo($ho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polyline:null},n.setPolylineCallback=function(){n.state.polyline!==null&&n.props.onLoad&&n.props.onLoad(n.state.polyline)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polyline(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polyline:n}},this.setPolylineCallback)},e.prototype.componentDidUpdate=function(n){this.state.polyline!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:bHe,eventMap:xHe,prevProps:n,nextProps:this.props,instance:this.state.polyline}))},e.prototype.componentWillUnmount=function(){this.state.polyline!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),ja(this.registeredEvents),this.state.polyline.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var SHe={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},THe={draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},path:function(t,e){t.setPath(e)},paths:function(t,e){t.setPaths(e)},visible:function(t,e){t.setVisible(e)}};function Qho(t){var e=t.options,n=t.draggable,o=t.editable,i=t.visible,r=t.path,a=t.paths,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,A=t.onRightClick,w=t.onClick,b=t.onDrag,C=t.onLoad,P=t.onUnmount,v=m.useContext(xa),T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1],U=m.useState(null),F=U[0],B=U[1],_=m.useState(null),Y=_[0],O=_[1],J=m.useState(null),Z=J[0],ie=J[1],ee=m.useState(null),q=ee[0],ae=ee[1],ne=m.useState(null),se=ne[0],le=ne[1],te=m.useState(null),he=te[0],pe=te[1],fe=m.useState(null),$=fe[0],de=fe[1],Se=m.useState(null),Ce=Se[0],ve=Se[1];return m.useEffect(function(){y!==null&&y.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&y!==null&&y.setOptions(e)},[y,e]),m.useEffect(function(){typeof n<"u"&&y!==null&&y.setDraggable(n)},[y,n]),m.useEffect(function(){typeof o<"u"&&y!==null&&y.setEditable(o)},[y,o]),m.useEffect(function(){typeof i<"u"&&y!==null&&y.setVisible(i)},[y,i]),m.useEffect(function(){typeof r<"u"&&y!==null&&y.setPath(r)},[y,r]),m.useEffect(function(){typeof a<"u"&&y!==null&&y.setPaths(a)},[y,a]),m.useEffect(function(){y&&l&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(y,"dblclick",l)))},[l]),m.useEffect(function(){y&&s&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(y,"dragend",s)))},[s]),m.useEffect(function(){y&&c&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(y,"dragstart",c)))},[c]),m.useEffect(function(){y&&u&&(F!==null&&google.maps.event.removeListener(F),B(google.maps.event.addListener(y,"mousedown",u)))},[u]),m.useEffect(function(){y&&d&&(Y!==null&&google.maps.event.removeListener(Y),O(google.maps.event.addListener(y,"mousemove",d)))},[d]),m.useEffect(function(){y&&f&&(Z!==null&&google.maps.event.removeListener(Z),ie(google.maps.event.addListener(y,"mouseout",f)))},[f]),m.useEffect(function(){y&&p&&(q!==null&&google.maps.event.removeListener(q),ae(google.maps.event.addListener(y,"mouseover",p)))},[p]),m.useEffect(function(){y&&g&&(se!==null&&google.maps.event.removeListener(se),le(google.maps.event.addListener(y,"mouseup",g)))},[g]),m.useEffect(function(){y&&A&&(he!==null&&google.maps.event.removeListener(he),pe(google.maps.event.addListener(y,"rightclick",A)))},[A]),m.useEffect(function(){y&&w&&($!==null&&google.maps.event.removeListener($),de(google.maps.event.addListener(y,"click",w)))},[w]),m.useEffect(function(){y&&b&&(Ce!==null&&google.maps.event.removeListener(Ce),ve(google.maps.event.addListener(y,"drag",b)))},[b]),m.useEffect(function(){var Ie=new google.maps.Polygon(cr(cr({},e||{}),{map:v}));return r&&Ie.setPath(r),a&&Ie.setPaths(a),typeof i<"u"&&Ie.setVisible(i),typeof o<"u"&&Ie.setEditable(o),typeof n<"u"&&Ie.setDraggable(n),l&&H(google.maps.event.addListener(Ie,"dblclick",l)),s&&W(google.maps.event.addListener(Ie,"dragend",s)),c&&E(google.maps.event.addListener(Ie,"dragstart",c)),u&&B(google.maps.event.addListener(Ie,"mousedown",u)),d&&O(google.maps.event.addListener(Ie,"mousemove",d)),f&&ie(google.maps.event.addListener(Ie,"mouseout",f)),p&&ae(google.maps.event.addListener(Ie,"mouseover",p)),g&&le(google.maps.event.addListener(Ie,"mouseup",g)),A&&pe(google.maps.event.addListener(Ie,"rightclick",A)),w&&de(google.maps.event.addListener(Ie,"click",w)),b&&ve(google.maps.event.addListener(Ie,"drag",b)),S(Ie),C&&C(Ie),function(){R!==null&&google.maps.event.removeListener(R),k!==null&&google.maps.event.removeListener(k),L!==null&&google.maps.event.removeListener(L),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Z!==null&&google.maps.event.removeListener(Z),q!==null&&google.maps.event.removeListener(q),se!==null&&google.maps.event.removeListener(se),he!==null&&google.maps.event.removeListener(he),$!==null&&google.maps.event.removeListener($),P&&P(Ie),Ie.setMap(null)}},[]),null}m.memo(Qho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={polygon:null},n.setPolygonCallback=function(){n.state.polygon!==null&&n.props.onLoad&&n.props.onLoad(n.state.polygon)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Polygon(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{polygon:n}},this.setPolygonCallback)},e.prototype.componentDidUpdate=function(n){this.state.polygon!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:THe,eventMap:SHe,prevProps:n,nextProps:this.props,instance:this.state.polygon}))},e.prototype.componentWillUnmount=function(){this.state.polygon!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),ja(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var PHe={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},CHe={bounds:function(t,e){t.setBounds(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},visible:function(t,e){t.setVisible(e)}};function Zho(t){var e=t.options,n=t.bounds,o=t.draggable,i=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,s=t.onDragStart,c=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,f=t.onMouseOver,p=t.onMouseUp,g=t.onRightClick,A=t.onClick,w=t.onDrag,b=t.onBoundsChanged,C=t.onLoad,P=t.onUnmount,v=m.useContext(xa),T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1],U=m.useState(null),F=U[0],B=U[1],_=m.useState(null),Y=_[0],O=_[1],J=m.useState(null),Z=J[0],ie=J[1],ee=m.useState(null),q=ee[0],ae=ee[1],ne=m.useState(null),se=ne[0],le=ne[1],te=m.useState(null),he=te[0],pe=te[1],fe=m.useState(null),$=fe[0],de=fe[1],Se=m.useState(null),Ce=Se[0],ve=Se[1],Ie=m.useState(null),ze=Ie[0],ye=Ie[1];return m.useEffect(function(){y!==null&&y.setMap(v)},[v]),m.useEffect(function(){typeof e<"u"&&y!==null&&y.setOptions(e)},[y,e]),m.useEffect(function(){typeof o<"u"&&y!==null&&y.setDraggable(o)},[y,o]),m.useEffect(function(){typeof i<"u"&&y!==null&&y.setEditable(i)},[y,i]),m.useEffect(function(){typeof r<"u"&&y!==null&&y.setVisible(r)},[y,r]),m.useEffect(function(){typeof n<"u"&&y!==null&&y.setBounds(n)},[y,n]),m.useEffect(function(){y&&a&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(y,"dblclick",a)))},[a]),m.useEffect(function(){y&&l&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(y,"dragend",l)))},[l]),m.useEffect(function(){y&&s&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(y,"dragstart",s)))},[s]),m.useEffect(function(){y&&c&&(F!==null&&google.maps.event.removeListener(F),B(google.maps.event.addListener(y,"mousedown",c)))},[c]),m.useEffect(function(){y&&u&&(Y!==null&&google.maps.event.removeListener(Y),O(google.maps.event.addListener(y,"mousemove",u)))},[u]),m.useEffect(function(){y&&d&&(Z!==null&&google.maps.event.removeListener(Z),ie(google.maps.event.addListener(y,"mouseout",d)))},[d]),m.useEffect(function(){y&&f&&(q!==null&&google.maps.event.removeListener(q),ae(google.maps.event.addListener(y,"mouseover",f)))},[f]),m.useEffect(function(){y&&p&&(se!==null&&google.maps.event.removeListener(se),le(google.maps.event.addListener(y,"mouseup",p)))},[p]),m.useEffect(function(){y&&g&&(he!==null&&google.maps.event.removeListener(he),pe(google.maps.event.addListener(y,"rightclick",g)))},[g]),m.useEffect(function(){y&&A&&($!==null&&google.maps.event.removeListener($),de(google.maps.event.addListener(y,"click",A)))},[A]),m.useEffect(function(){y&&w&&(Ce!==null&&google.maps.event.removeListener(Ce),ve(google.maps.event.addListener(y,"drag",w)))},[w]),m.useEffect(function(){y&&b&&(ze!==null&&google.maps.event.removeListener(ze),ye(google.maps.event.addListener(y,"bounds_changed",b)))},[b]),m.useEffect(function(){var oe=new google.maps.Rectangle(cr(cr({},e||{}),{map:v}));return typeof r<"u"&&oe.setVisible(r),typeof i<"u"&&oe.setEditable(i),typeof o<"u"&&oe.setDraggable(o),typeof n<"u"&&oe.setBounds(n),a&&H(google.maps.event.addListener(oe,"dblclick",a)),l&&W(google.maps.event.addListener(oe,"dragend",l)),s&&E(google.maps.event.addListener(oe,"dragstart",s)),c&&B(google.maps.event.addListener(oe,"mousedown",c)),u&&O(google.maps.event.addListener(oe,"mousemove",u)),d&&ie(google.maps.event.addListener(oe,"mouseout",d)),f&&ae(google.maps.event.addListener(oe,"mouseover",f)),p&&le(google.maps.event.addListener(oe,"mouseup",p)),g&&pe(google.maps.event.addListener(oe,"rightclick",g)),A&&de(google.maps.event.addListener(oe,"click",A)),w&&ve(google.maps.event.addListener(oe,"drag",w)),b&&ye(google.maps.event.addListener(oe,"bounds_changed",b)),S(oe),C&&C(oe),function(){R!==null&&google.maps.event.removeListener(R),k!==null&&google.maps.event.removeListener(k),L!==null&&google.maps.event.removeListener(L),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Z!==null&&google.maps.event.removeListener(Z),q!==null&&google.maps.event.removeListener(q),se!==null&&google.maps.event.removeListener(se),he!==null&&google.maps.event.removeListener(he),$!==null&&google.maps.event.removeListener($),Ce!==null&&google.maps.event.removeListener(Ce),ze!==null&&google.maps.event.removeListener(ze),P&&P(oe),oe.setMap(null)}},[]),null}m.memo(Zho);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={rectangle:null},n.setRectangleCallback=function(){n.state.rectangle!==null&&n.props.onLoad&&n.props.onLoad(n.state.rectangle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Rectangle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{rectangle:n}},this.setRectangleCallback)},e.prototype.componentDidUpdate=function(n){this.state.rectangle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:CHe,eventMap:PHe,prevProps:n,nextProps:this.props,instance:this.state.rectangle}))},e.prototype.componentWillUnmount=function(){this.state.rectangle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),ja(this.registeredEvents),this.state.rectangle.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var RHe={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},HHe={center:function(t,e){t.setCenter(e)},draggable:function(t,e){t.setDraggable(e)},editable:function(t,e){t.setEditable(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},radius:function(t,e){t.setRadius(e)},visible:function(t,e){t.setVisible(e)}},epo={};function tpo(t){var e=t.options,n=t.center,o=t.radius,i=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,s=t.onDragEnd,c=t.onDragStart,u=t.onMouseDown,d=t.onMouseMove,f=t.onMouseOut,p=t.onMouseOver,g=t.onMouseUp,A=t.onRightClick,w=t.onClick,b=t.onDrag,C=t.onCenterChanged,P=t.onRadiusChanged,v=t.onLoad,T=t.onUnmount,y=m.useContext(xa),S=m.useState(null),x=S[0],R=S[1],H=m.useState(null),D=H[0],k=H[1],W=m.useState(null),N=W[0],L=W[1],E=m.useState(null),U=E[0],F=E[1],B=m.useState(null),_=B[0],Y=B[1],O=m.useState(null),J=O[0],Z=O[1],ie=m.useState(null),ee=ie[0],q=ie[1],ae=m.useState(null),ne=ae[0],se=ae[1],le=m.useState(null),te=le[0],he=le[1],pe=m.useState(null),fe=pe[0],$=pe[1],de=m.useState(null),Se=de[0],Ce=de[1],ve=m.useState(null),Ie=ve[0],ze=ve[1],ye=m.useState(null),oe=ye[0],ge=ye[1],Ae=m.useState(null),me=Ae[0],Pe=Ae[1];return m.useEffect(function(){x!==null&&x.setMap(y)},[y]),m.useEffect(function(){typeof e<"u"&&x!==null&&x.setOptions(e)},[x,e]),m.useEffect(function(){typeof i<"u"&&x!==null&&x.setDraggable(i)},[x,i]),m.useEffect(function(){typeof r<"u"&&x!==null&&x.setEditable(r)},[x,r]),m.useEffect(function(){typeof a<"u"&&x!==null&&x.setVisible(a)},[x,a]),m.useEffect(function(){typeof o=="number"&&x!==null&&x.setRadius(o)},[x,o]),m.useEffect(function(){typeof n<"u"&&x!==null&&x.setCenter(n)},[x,n]),m.useEffect(function(){x&&l&&(D!==null&&google.maps.event.removeListener(D),k(google.maps.event.addListener(x,"dblclick",l)))},[l]),m.useEffect(function(){x&&s&&(N!==null&&google.maps.event.removeListener(N),L(google.maps.event.addListener(x,"dragend",s)))},[s]),m.useEffect(function(){x&&c&&(U!==null&&google.maps.event.removeListener(U),F(google.maps.event.addListener(x,"dragstart",c)))},[c]),m.useEffect(function(){x&&u&&(_!==null&&google.maps.event.removeListener(_),Y(google.maps.event.addListener(x,"mousedown",u)))},[u]),m.useEffect(function(){x&&d&&(J!==null&&google.maps.event.removeListener(J),Z(google.maps.event.addListener(x,"mousemove",d)))},[d]),m.useEffect(function(){x&&f&&(ee!==null&&google.maps.event.removeListener(ee),q(google.maps.event.addListener(x,"mouseout",f)))},[f]),m.useEffect(function(){x&&p&&(ne!==null&&google.maps.event.removeListener(ne),se(google.maps.event.addListener(x,"mouseover",p)))},[p]),m.useEffect(function(){x&&g&&(te!==null&&google.maps.event.removeListener(te),he(google.maps.event.addListener(x,"mouseup",g)))},[g]),m.useEffect(function(){x&&A&&(fe!==null&&google.maps.event.removeListener(fe),$(google.maps.event.addListener(x,"rightclick",A)))},[A]),m.useEffect(function(){x&&w&&(Se!==null&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(x,"click",w)))},[w]),m.useEffect(function(){x&&b&&(Ie!==null&&google.maps.event.removeListener(Ie),ze(google.maps.event.addListener(x,"drag",b)))},[b]),m.useEffect(function(){x&&C&&(oe!==null&&google.maps.event.removeListener(oe),ge(google.maps.event.addListener(x,"center_changed",C)))},[w]),m.useEffect(function(){x&&P&&(me!==null&&google.maps.event.removeListener(me),Pe(google.maps.event.addListener(x,"radius_changed",P)))},[P]),m.useEffect(function(){var Me=new google.maps.Circle(cr(cr({},e||epo),{map:y}));return typeof o=="number"&&Me.setRadius(o),typeof n<"u"&&Me.setCenter(n),typeof o=="number"&&Me.setRadius(o),typeof a<"u"&&Me.setVisible(a),typeof r<"u"&&Me.setEditable(r),typeof i<"u"&&Me.setDraggable(i),l&&k(google.maps.event.addListener(Me,"dblclick",l)),s&&L(google.maps.event.addListener(Me,"dragend",s)),c&&F(google.maps.event.addListener(Me,"dragstart",c)),u&&Y(google.maps.event.addListener(Me,"mousedown",u)),d&&Z(google.maps.event.addListener(Me,"mousemove",d)),f&&q(google.maps.event.addListener(Me,"mouseout",f)),p&&se(google.maps.event.addListener(Me,"mouseover",p)),g&&he(google.maps.event.addListener(Me,"mouseup",g)),A&&$(google.maps.event.addListener(Me,"rightclick",A)),w&&Ce(google.maps.event.addListener(Me,"click",w)),b&&ze(google.maps.event.addListener(Me,"drag",b)),C&&ge(google.maps.event.addListener(Me,"center_changed",C)),P&&Pe(google.maps.event.addListener(Me,"radius_changed",P)),R(Me),v&&v(Me),function(){D!==null&&google.maps.event.removeListener(D),N!==null&&google.maps.event.removeListener(N),U!==null&&google.maps.event.removeListener(U),_!==null&&google.maps.event.removeListener(_),J!==null&&google.maps.event.removeListener(J),ee!==null&&google.maps.event.removeListener(ee),ne!==null&&google.maps.event.removeListener(ne),te!==null&&google.maps.event.removeListener(te),fe!==null&&google.maps.event.removeListener(fe),Se!==null&&google.maps.event.removeListener(Se),oe!==null&&google.maps.event.removeListener(oe),me!==null&&google.maps.event.removeListener(me),T&&T(Me),Me.setMap(null)}},[]),null}m.memo(tpo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={circle:null},n.setCircleCallback=function(){n.state.circle!==null&&n.props.onLoad&&n.props.onLoad(n.state.circle)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.Circle(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{circle:n}},this.setCircleCallback)},e.prototype.componentDidUpdate=function(n){this.state.circle!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:HHe,eventMap:RHe,prevProps:n,nextProps:this.props,instance:this.state.circle}))},e.prototype.componentWillUnmount=function(){var n;this.state.circle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),ja(this.registeredEvents),(n=this.state.circle)===null||n===void 0||n.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var MHe={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},IHe={add:function(t,e){t.add(e)},addgeojson:function(t,e,n){t.addGeoJson(e,n)},contains:function(t,e){t.contains(e)},foreach:function(t,e){t.forEach(e)},loadgeojson:function(t,e,n,o){t.loadGeoJson(e,n,o)},overridestyle:function(t,e,n){t.overrideStyle(e,n)},remove:function(t,e){t.remove(e)},revertstyle:function(t,e){t.revertStyle(e)},controlposition:function(t,e){t.setControlPosition(e)},controls:function(t,e){t.setControls(e)},drawingmode:function(t,e){t.setDrawingMode(e)},map:function(t,e){t.setMap(e)},style:function(t,e){t.setStyle(e)},togeojson:function(t,e){t.toGeoJson(e)}};function npo(t){var e=t.options,n=t.onClick,o=t.onDblClick,i=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,s=t.onMouseUp,c=t.onRightClick,u=t.onAddFeature,d=t.onRemoveFeature,f=t.onRemoveProperty,p=t.onSetGeometry,g=t.onSetProperty,A=t.onLoad,w=t.onUnmount,b=m.useContext(xa),C=m.useState(null),P=C[0],v=C[1],T=m.useState(null),y=T[0],S=T[1],x=m.useState(null),R=x[0],H=x[1],D=m.useState(null),k=D[0],W=D[1],N=m.useState(null),L=N[0],E=N[1],U=m.useState(null),F=U[0],B=U[1],_=m.useState(null),Y=_[0],O=_[1],J=m.useState(null),Z=J[0],ie=J[1],ee=m.useState(null),q=ee[0],ae=ee[1],ne=m.useState(null),se=ne[0],le=ne[1],te=m.useState(null),he=te[0],pe=te[1],fe=m.useState(null),$=fe[0],de=fe[1],Se=m.useState(null),Ce=Se[0],ve=Se[1],Ie=m.useState(null),ze=Ie[0],ye=Ie[1];return m.useEffect(function(){P!==null&&P.setMap(b)},[b]),m.useEffect(function(){P&&o&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(P,"dblclick",o)))},[o]),m.useEffect(function(){P&&i&&(R!==null&&google.maps.event.removeListener(R),H(google.maps.event.addListener(P,"mousedown",i)))},[i]),m.useEffect(function(){P&&r&&(k!==null&&google.maps.event.removeListener(k),W(google.maps.event.addListener(P,"mousemove",r)))},[r]),m.useEffect(function(){P&&a&&(L!==null&&google.maps.event.removeListener(L),E(google.maps.event.addListener(P,"mouseout",a)))},[a]),m.useEffect(function(){P&&l&&(F!==null&&google.maps.event.removeListener(F),B(google.maps.event.addListener(P,"mouseover",l)))},[l]),m.useEffect(function(){P&&s&&(Y!==null&&google.maps.event.removeListener(Y),O(google.maps.event.addListener(P,"mouseup",s)))},[s]),m.useEffect(function(){P&&c&&(Z!==null&&google.maps.event.removeListener(Z),ie(google.maps.event.addListener(P,"rightclick",c)))},[c]),m.useEffect(function(){P&&n&&(q!==null&&google.maps.event.removeListener(q),ae(google.maps.event.addListener(P,"click",n)))},[n]),m.useEffect(function(){P&&u&&(se!==null&&google.maps.event.removeListener(se),le(google.maps.event.addListener(P,"addfeature",u)))},[u]),m.useEffect(function(){P&&d&&(he!==null&&google.maps.event.removeListener(he),pe(google.maps.event.addListener(P,"removefeature",d)))},[d]),m.useEffect(function(){P&&f&&($!==null&&google.maps.event.removeListener($),de(google.maps.event.addListener(P,"removeproperty",f)))},[f]),m.useEffect(function(){P&&p&&(Ce!==null&&google.maps.event.removeListener(Ce),ve(google.maps.event.addListener(P,"setgeometry",p)))},[p]),m.useEffect(function(){P&&g&&(ze!==null&&google.maps.event.removeListener(ze),ye(google.maps.event.addListener(P,"setproperty",g)))},[g]),m.useEffect(function(){if(b!==null){var oe=new google.maps.Data(cr(cr({},e||{}),{map:b}));o&&S(google.maps.event.addListener(oe,"dblclick",o)),i&&H(google.maps.event.addListener(oe,"mousedown",i)),r&&W(google.maps.event.addListener(oe,"mousemove",r)),a&&E(google.maps.event.addListener(oe,"mouseout",a)),l&&B(google.maps.event.addListener(oe,"mouseover",l)),s&&O(google.maps.event.addListener(oe,"mouseup",s)),c&&ie(google.maps.event.addListener(oe,"rightclick",c)),n&&ae(google.maps.event.addListener(oe,"click",n)),u&&le(google.maps.event.addListener(oe,"addfeature",u)),d&&pe(google.maps.event.addListener(oe,"removefeature",d)),f&&de(google.maps.event.addListener(oe,"removeproperty",f)),p&&ve(google.maps.event.addListener(oe,"setgeometry",p)),g&&ye(google.maps.event.addListener(oe,"setproperty",g)),v(oe),A&&A(oe)}return function(){P&&(y!==null&&google.maps.event.removeListener(y),R!==null&&google.maps.event.removeListener(R),k!==null&&google.maps.event.removeListener(k),L!==null&&google.maps.event.removeListener(L),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Z!==null&&google.maps.event.removeListener(Z),q!==null&&google.maps.event.removeListener(q),se!==null&&google.maps.event.removeListener(se),he!==null&&google.maps.event.removeListener(he),$!==null&&google.maps.event.removeListener($),Ce!==null&&google.maps.event.removeListener(Ce),ze!==null&&google.maps.event.removeListener(ze),w&&w(P),P.setMap(null))}},[]),null}m.memo(npo);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={data:null},n.setDataCallback=function(){n.state.data!==null&&n.props.onLoad&&n.props.onLoad(n.state.data)},n}return e.prototype.componentDidMount=function(){if(this.context!==null){var n=new google.maps.Data(cr(cr({},this.props.options||{}),{map:this.context}));this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{data:n}},this.setDataCallback)}},e.prototype.componentDidUpdate=function(n){this.state.data!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:IHe,eventMap:MHe,prevProps:n,nextProps:this.props,instance:this.state.data}))},e.prototype.componentWillUnmount=function(){this.state.data!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),ja(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var zHe={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},DHe={options:function(t,e){t.setOptions(e)},url:function(t,e){t.setUrl(e)},zIndex:function(t,e){t.setZIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={kmlLayer:null},n.setKmlLayerCallback=function(){n.state.kmlLayer!==null&&n.props.onLoad&&n.props.onLoad(n.state.kmlLayer)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.KmlLayer(cr(cr({},this.props.options),{map:this.context}));this.registeredEvents=Fa({updaterMap:DHe,eventMap:zHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{kmlLayer:n}},this.setKmlLayerCallback)},e.prototype.componentDidUpdate=function(n){this.state.kmlLayer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:DHe,eventMap:zHe,prevProps:n,nextProps:this.props,instance:this.state.kmlLayer}))},e.prototype.componentWillUnmount=function(){this.state.kmlLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),ja(this.registeredEvents),this.state.kmlLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);function Hot(t,e){return typeof e=="function"?e(t.offsetWidth,t.offsetHeight):{x:0,y:0}}function opo(t,e){return new e(t.lat,t.lng)}function ipo(t,e){return new e(new google.maps.LatLng(t.ne.lat,t.ne.lng),new google.maps.LatLng(t.sw.lat,t.sw.lng))}function rpo(t,e,n){return t instanceof e?t:n(t,e)}function apo(t,e,n){return t instanceof e?t:n(t,e)}function lpo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n.getNorthEast()),i=t&&t.fromLatLngToDivPixel(n.getSouthWest());return o&&i?{left:"".concat(i.x+e.x,"px"),top:"".concat(o.y+e.y,"px"),width:"".concat(o.x-i.x-e.x,"px"),height:"".concat(i.y-o.y-e.y,"px")}:{left:"-9999px",top:"-9999px"}}function spo(t,e,n){var o=t&&t.fromLatLngToDivPixel(n);if(o){var i=o.x,r=o.y;return{left:"".concat(i+e.x,"px"),top:"".concat(r+e.y,"px")}}return{left:"-9999px",top:"-9999px"}}function Mot(t,e,n,o){return n!==void 0?lpo(t,e,apo(n,google.maps.LatLngBounds,ipo)):spo(t,e,rpo(o,google.maps.LatLng,opo))}function cpo(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.height&&t.height===e.height}function upo(t,e,n,o,i){var r=function(a){Ms(l,a);function l(s,c,u,d){var f=a.call(this)||this;return f.container=s,f.pane=c,f.position=u,f.bounds=d,f}return l.prototype.onAdd=function(){var s,c=(s=this.getPanes())===null||s===void 0?void 0:s[this.pane];c==null||c.appendChild(this.container)},l.prototype.draw=function(){for(var s=this.getProjection(),c=cr({},this.container?Hot(this.container,i):{x:0,y:0}),u=Mot(s,c,this.bounds,this.position),d=0,f=Object.entries(u);d? %s',google.maps.visualization),B0(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var n=new google.maps.visualization.HeatmapLayer(cr(cr({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=Fa({updaterMap:NHe,eventMap:WHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{heatmapLayer:n}},this.setHeatmapLayerCallback)},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:NHe,eventMap:WHe,prevProps:n,nextProps:this.props,instance:this.state.heatmapLayer})},e.prototype.componentWillUnmount=function(){this.state.heatmapLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),ja(this.registeredEvents),this.state.heatmapLayer.setMap(null))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);var UHe={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},BHe={register:function(t,e,n){t.registerPanoProvider(e,n)},links:function(t,e){t.setLinks(e)},motionTracking:function(t,e){t.setMotionTracking(e)},options:function(t,e){t.setOptions(e)},pano:function(t,e){t.setPano(e)},position:function(t,e){t.setPosition(e)},pov:function(t,e){t.setPov(e)},visible:function(t,e){t.setVisible(e)},zoom:function(t,e){t.setZoom(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={streetViewPanorama:null},n.setStreetViewPanoramaCallback=function(){n.state.streetViewPanorama!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewPanorama)},n}return e.prototype.componentDidMount=function(){var n,o,i=(o=(n=this.context)===null||n===void 0?void 0:n.getStreetView())!==null&&o!==void 0?o:null;this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{streetViewPanorama:i}},this.setStreetViewPanoramaCallback)},e.prototype.componentDidUpdate=function(n){this.state.streetViewPanorama!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:BHe,eventMap:UHe,prevProps:n,nextProps:this.props,instance:this.state.streetViewPanorama}))},e.prototype.componentWillUnmount=function(){this.state.streetViewPanorama!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),ja(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={streetViewService:null},n.setStreetViewServiceCallback=function(){n.state.streetViewService!==null&&n.props.onLoad&&n.props.onLoad(n.state.streetViewService)},n}return e.prototype.componentDidMount=function(){var n=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:n}},this.setStreetViewServiceCallback)},e.prototype.componentWillUnmount=function(){this.state.streetViewService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},e.prototype.render=function(){return null},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={directionsService:null},n.setDirectionsServiceCallback=function(){n.state.directionsService!==null&&n.props.onLoad&&n.props.onLoad(n.state.directionsService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var n=new google.maps.DirectionsService;this.setState(function(){return{directionsService:n}},this.setDirectionsServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.directionsService!==null&&this.state.directionsService.route(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.directionsService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},e.prototype.render=function(){return null},e})(m.PureComponent);var jHe={onDirectionsChanged:"directions_changed"},YHe={directions:function(t,e){t.setDirections(e)},map:function(t,e){t.setMap(e)},options:function(t,e){t.setOptions(e)},panel:function(t,e){t.setPanel(e)},routeIndex:function(t,e){t.setRouteIndex(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.state={directionsRenderer:null},n.setDirectionsRendererCallback=function(){n.state.directionsRenderer!==null&&(n.state.directionsRenderer.setMap(n.context),n.props.onLoad&&n.props.onLoad(n.state.directionsRenderer))},n}return e.prototype.componentDidMount=function(){var n=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{directionsRenderer:n}},this.setDirectionsRendererCallback)},e.prototype.componentDidUpdate=function(n){this.state.directionsRenderer!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:YHe,eventMap:jHe,prevProps:n,nextProps:this.props,instance:this.state.directionsRenderer}))},e.prototype.componentWillUnmount=function(){this.state.directionsRenderer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),ja(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},e.prototype.render=function(){return h.jsx(h.Fragment,{})},e.contextType=xa,e})(m.PureComponent);(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={distanceMatrixService:null},n.setDistanceMatrixServiceCallback=function(){n.state.distanceMatrixService!==null&&n.props.onLoad&&n.props.onLoad(n.state.distanceMatrixService)},n}return e.prototype.componentDidMount=function(){B0(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var n=new google.maps.DistanceMatrixService;this.setState(function(){return{distanceMatrixService:n}},this.setDistanceMatrixServiceCallback)},e.prototype.componentDidUpdate=function(){this.state.distanceMatrixService!==null&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},e.prototype.componentWillUnmount=function(){this.state.distanceMatrixService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},e.prototype.render=function(){return null},e})(m.PureComponent);var OHe={onPlacesChanged:"places_changed"},_He={bounds:function(t,e){t.setBounds(e)}},Iot=function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={searchBox:null},n.setSearchBoxCallback=function(){n.state.searchBox!==null&&n.props.onLoad&&n.props.onLoad(n.state.searchBox)},n}return e.prototype.componentDidMount=function(){if(B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places),this.containerElement!==null&&this.containerElement.current!==null){var n=this.containerElement.current.querySelector("input");if(n!==null){var o=new google.maps.places.SearchBox(n,this.props.options);this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:{},nextProps:this.props,instance:o}),this.setState(function(){return{searchBox:o}},this.setSearchBoxCallback)}}},e.prototype.componentDidUpdate=function(n){this.state.searchBox!==null&&(ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:_He,eventMap:OHe,prevProps:n,nextProps:this.props,instance:this.state.searchBox}))},e.prototype.componentWillUnmount=function(){this.state.searchBox!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),ja(this.registeredEvents))},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,children:m.Children.only(this.props.children)})},e.contextType=xa,e}(m.PureComponent),VHe={onPlaceChanged:"place_changed"},GHe={bounds:function(t,e){t.setBounds(e)},restrictions:function(t,e){t.setComponentRestrictions(e)},fields:function(t,e){t.setFields(e)},options:function(t,e){t.setOptions(e)},types:function(t,e){t.setTypes(e)}};(function(t){Ms(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.registeredEvents=[],n.containerElement=m.createRef(),n.state={autocomplete:null},n.setAutocompleteCallback=function(){n.state.autocomplete!==null&&n.props.onLoad&&n.props.onLoad(n.state.autocomplete)},n}return e.prototype.componentDidMount=function(){var n;B0(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places);var o=(n=this.containerElement.current)===null||n===void 0?void 0:n.querySelector("input");if(o){var i=new google.maps.places.Autocomplete(o,this.props.options);this.registeredEvents=Fa({updaterMap:GHe,eventMap:VHe,prevProps:{},nextProps:this.props,instance:i}),this.setState(function(){return{autocomplete:i}},this.setAutocompleteCallback)}},e.prototype.componentDidUpdate=function(n){ja(this.registeredEvents),this.registeredEvents=Fa({updaterMap:GHe,eventMap:VHe,prevProps:n,nextProps:this.props,instance:this.state.autocomplete})},e.prototype.componentWillUnmount=function(){this.state.autocomplete!==null&&ja(this.registeredEvents)},e.prototype.render=function(){return h.jsx("div",{ref:this.containerElement,className:this.props.className,children:m.Children.only(this.props.children)})},e.defaultProps={className:""},e.contextType=xa,e})(m.PureComponent);const XHe="/aladdin/assets/empty_heart-B57-2tMp.png",gpo="/aladdin/assets/red_heart-BaAtCixH.png",mpo="/aladdin/assets/open_file-B6scZwPU.png",ypo="/aladdin/assets/export_link-Dxa4UObV.png",Apo="/aladdin/assets/click_count-BZx6BgQJ.png";function MO(t){const e=new Date(t);if(!Number.isNaN(e.valueOf()))return e;const n=String(t).match(/\d+/g);if(n==null||n.length<=2)return e;{const[o,i,...r]=n.map(s=>parseInt(s)),a=[o,i-1,...r];return new Date(Date.UTC(...a))}}function JHe(t,e,n){const o=t!==1?e+"s":e;return t+" "+o+" "+n}function _de(){return _de=Object.assign?Object.assign.bind():function(t){for(var e=1;eDate.now();function vpo({date:t,formatter:e=JHe,component:n="time",live:o=!0,minPeriod:i=0,maxPeriod:r=IO,title:a,now:l=wpo,...s}){const[c,u]=m.useState(l());m.useEffect(()=>{if(!o)return;const T=(()=>{const y=MO(t).valueOf();if(!y)return console.warn("[react-timeago] Invalid Date provided"),0;const S=Math.round(Math.abs(c-y)/1e3),x=S{u(l())},R):0})();return()=>{T&&clearTimeout(T)}},[t,o,r,i,l,c]);const d=n,f=MO(t).valueOf();if(!f)return null;const p=Math.round(Math.abs(c-f)/1e3),g=f"u"?typeof t=="string"?t:MO(t).toISOString().substr(0,16).replace("T"," "):a,C=d==="time"?{...s,dateTime:MO(t).toISOString()}:s,P=JHe.bind(null,A,w,g);return m.createElement(d,_de({},C,{title:b}),e(A,w,g,f,P,l))}function _X(){return _X=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(n[i]=t[i]);return n}var bpo=["cdnSuffix","cdnUrl","countryCode","style","svg"],Spo="https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/",Tpo="svg",Ppo=127397,zot=function(e){var n=e.cdnSuffix,o=n===void 0?Tpo:n,i=e.cdnUrl,r=i===void 0?Spo:i,a=e.countryCode,l=e.style,s=e.svg,c=s===void 0?!1:s,u=xpo(e,bpo);if(typeof a!="string")return null;if(c){var d=""+r+a.toLowerCase()+"."+o;return m.createElement("img",Object.assign({},u,{src:d,style:_X({display:"inline-block",width:"1em",height:"1em",verticalAlign:"middle"},l)}))}var f=a.toUpperCase().replace(/./g,function(p){return String.fromCodePoint(p.charCodeAt(0)+Ppo)});return m.createElement("span",Object.assign({role:"img"},u,{style:_X({display:"inline-block",fontSize:"1em",lineHeight:"1em",verticalAlign:"middle"},l)}),f)};const Dot=t=>{switch(t.type){case da.PHOTOVOLTAIC:return x$e;case da.PARABOLIC_DISH:return b$e;case da.PARABOLIC_TROUGH:return S$e;case da.FRESNEL_REFLECTOR:return T$e;case da.SOLAR_POWER_TOWER:return P$e;case da.WIND_TURBINE:return H$e;case da.COLOCATION_PROJECTS:return M$e;case da.RESIDENTIAL_BUILDING:return y$e;case da.COMMERCIAL_BUILDING:return A$e;case da.SCHOOL_BUILDING:return w$e;case da.TOURIST_ATTRACTION:return v$e;case da.UNDER_CONSTRUCTION:return C$e}return R$e},{Panel:Cpo}=zme,Rpo=be.memo(({latRef:t,lngRef:e,selectAuthor:n,closeMap:o,openModel:i,deleteModel:r,likeModel:a,pinModel:l})=>{var pe;const s=M.getState().user,c=M(dn),u=M(En),d=M(E4t)??$Ne,f=M(k4t)??0,p=M(Z1e)??"roadmap",g=M(fge),A=ht(jBe),w=M(OBe),[b,C]=m.useState(null),[P,v]=m.useState(null),[T,y]=m.useState(null),[S,x]=m.useState(!0),[R,H]=m.useState(!1),D=m.useRef(null),k=m.useRef([]),W=m.useRef(-1),N=m.useRef([]),L=Kt(),E=14,U=(pe=s.email)==null?void 0:pe.endsWith("@intofuture.org"),F=()=>{N.current.length=0;for(const fe in g)if(Object.hasOwn(g,fe)){const $=g[fe],de=new google.maps.LatLng($.latitude,$.longitude);N.current.push(de)}},B=m.useCallback(fe=>{C(fe),F(),fe.setMapTypeId(p)},[p]),_=m.useCallback(function(){C(null)},[]),Y=()=>{if(b){const fe=b.getCenter();if(fe){const $=fe.lat(),de=fe.lng();if($!==t.current||de!==e.current){const Se={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:t.current,newLatitude:$,oldLongitude:e.current,newLongitude:de,undo:()=>{t.current=Se.oldLatitude,e.current=Se.oldLongitude},redo:()=>{t.current=Se.newLatitude,e.current=Se.newLongitude}};u(Se),t.current=$,e.current=de}}}},O=()=>{if(b){const fe=b.getZoom();if(fe!==void 0&&fe!==d){const $={name:"Zoom Model Map",timestamp:Date.now(),oldValue:d,newValue:fe,undo:()=>{c(de=>{de.modelsMapZoom=$.oldValue})},redo:()=>{c(de=>{de.modelsMapZoom=$.newValue})}};u($),c(de=>{de.modelsMapZoom=fe})}}},J=()=>{if(b){const fe=b.getTilt();if(fe!==void 0&&fe!==f){const $={name:"Tilt Model Map",timestamp:Date.now(),oldValue:f,newValue:fe,undo:()=>{c(de=>{de.modelsMapTilt=$.oldValue})},redo:()=>{c(de=>{de.modelsMapTilt=$.newValue})}};u($),c(de=>{de.modelsMapTilt=fe})}}},Z=()=>{if(b){const fe=b.getMapTypeId();if(fe!==void 0&&fe!==p){const $={name:"Change Model Map Type",timestamp:Date.now(),oldValue:p,newValue:fe,undo:()=>{c(de=>{de.modelsMapType=$.oldValue})},redo:()=>{c(de=>{de.modelsMapType=$.newValue})}};u($),c(de=>{de.modelsMapType=fe})}}},ie={styles:[{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"transit",elementType:"labels",stylers:[{visibility:"off"}]}]},ee=fe=>{fe.userid&&fe.title?(i(fe),o()):Do(j.t("message.ModelNotFound",L))},q=fe=>{if(fe.userid&&fe.title){const $=qp+"?client=web&userid="+fe.userid+"&title="+encodeURIComponent(fe.title);navigator.clipboard.writeText($).then(()=>y2(j.t("cloudFilePanel.LinkGeneratedInClipBoard",L)+"."))}else Do(j.t("message.ModelNotFound",L))},ae=fe=>{_r.confirm({title:j.t("message.DoYouWantToDeleteModelFromMap",L),icon:h.jsx($m,{}),onOk:()=>{r(fe,()=>{c($=>{var de,Se;if($.modelSites){const Ce=$.modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if(Ce){let ve;for(const[Ie,ze]of Ce)if(ze.userid===fe.userid&&ze.title===fe.title){ve=Ie;break}ve&&(Ce.delete(ve),Ce.size===0&&((Se=(de=k.current[W.current])==null?void 0:de.marker)==null||Se.setMap(null)))}}}),v(null),y(null)})},onCancel:()=>{},okText:j.t("word.Yes",L),cancelText:j.t("word.No",L)})},ne=fe=>{var $;if(fe.userid&&fe.title){const de=xe.getModelKey(fe),Se=!!(($=s.likes)!=null&&$.includes(de));a(fe,!Se,()=>{c(Ce=>{if(Ce.user)if(Ce.user.likes||(Ce.user.likes=[]),Ce.user.likes.includes(de)){const ve=Ce.user.likes.indexOf(de);ve>=0&&Ce.user.likes.splice(ve,1)}else Ce.user.likes.push(de);if(Ce.modelSites){const ve=Ce.modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if(ve){for(const Ie of ve.values())if(Ie.userid===fe.userid&&Ie.title===fe.title){Ie.likeCount===void 0&&(Ie.likeCount=0),Ie.likeCount+=Se?-1:1;break}}}}),H(!R)})}},se=fe=>{const $=M.getState().modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if($){for(const de of $.values())if(de.userid===fe.userid&&de.title===fe.title)return de.likeCount??0}return 0},le=fe=>{const $=M.getState().modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if($){for(const de of $.values())if(de.userid===fe.userid&&de.title===fe.title)return de.clickCount??0}return 0},te=fe=>{const $=M.getState().modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if($){for(const de of $.values())if(de.userid===fe.userid&&de.title===fe.title)return de.pinned}return!1},he=(fe,$)=>{fe.userid&&fe.title&&l(fe,$,()=>{c(de=>{if(de.modelSites){const Se=de.modelSites.get(xe.getLatLngKey(fe.latitude,fe.longitude));if(Se){for(const Ce of Se.values())if(Ce.userid===fe.userid&&Ce.title===fe.title){Ce.pinned=$,H(!R);break}}}})})};return h.jsx(Aot,{mapContainerStyle:{border:"1px solid",width:"100%",height:"100%"},mapTypeId:p,options:ie,center:{lat:t.current,lng:e.current},zoom:d,tilt:f,onLoad:B,onUnmount:_,onCenterChanged:Y,onZoomChanged:O,onTiltChanged:J,onMapTypeIdChanged:Z,children:h.jsxs(h.Fragment,{children:[A&&N.current.map((fe,$)=>{const de=.2*d;return h.jsx(uHe,{icon:{path:google.maps.SymbolPath.CIRCLE,strokeColor:"red",strokeWeight:de+2,scale:de},position:fe},$)}),P&&P.size&&T&&h.jsx(Kho,{position:{lat:T.lat(),lng:T.lng()},children:h.jsxs("div",{style:{border:"2px solid gainsboro",maxHeight:"400px",overflowY:"auto"},onMouseLeave:()=>{v(null),y(null)},children:[P.size>1?h.jsxs("div",{style:{background:"#dddddd",textAlign:"left",borderBottom:"1px solid gainsboro",paddingBottom:"4px",marginBottom:"4px"},children:[S?h.jsx(etn,{title:j.t("modelsMap.SortFromNewestToOldest",L),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{x(!1)}}):h.jsx(Btn,{title:j.t("modelsMap.SortFromOldestToNewest",L),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{x(!0)}}),h.jsxs("span",{style:{fontSize:"10px"},children:[P.size," ",j.t("modelsMap.ModelsFoundOnThisSite",L)]}),T&&h.jsxs("span",{style:{fontSize:"10px"},children:[" —"," ",j.t("word.Coordinates",L)+": ("+T.lat().toFixed(sw)+"°, "+T.lng().toFixed(sw)+"°)"]})]}):"",[...P.keys()].sort((fe,$)=>{const de=P.get(fe),Se=P.get($);return de!=null&&de.pinned&&!(Se!=null&&Se.pinned)?-1:Se!=null&&Se.pinned&&!(de!=null&&de.pinned)?1:(S?1:-1)*(((de==null?void 0:de.timeCreated)??0)-((Se==null?void 0:Se.timeCreated)??0))}).map((fe,$)=>{const de=P.get(fe);return de?h.jsxs("div",{style:{padding:(P==null?void 0:P.size)>1?"5px 5px 20px 5px":"5px",background:$%2===0?"white":"#eeeeee"},children:[$===0&&h.jsxs("div",{style:{fontSize:"12px",display:"block",paddingBottom:"6px"},children:[de.countryCode&&h.jsx(zot,{countryCode:de.countryCode,style:{marginRight:"6px",width:"20px"},svg:!0}),de.address??"Unknown",P.size===1&&h.jsx("span",{style:{fontSize:"10px",display:"block",paddingTop:"10px"},children:j.t("word.Coordinates",L)+": ("+T.lat().toFixed(sw)+"°, "+T.lng().toFixed(sw)+"°)"})]}),h.jsx(zme,{style:{background:te(de)?"#FEF9EC":$%2===0?"white":"#eeeeee",width:"400px"},bordered:!1,ghost:!0,defaultActiveKey:["0"],children:h.jsx(Cpo,{header:h.jsxs(h.Fragment,{children:[de.label,te(de)&&h.jsx(wTe,{style:{marginLeft:"8px"}})]}),style:{fontSize:"12px"},children:h.jsx("div",{style:{fontSize:"10px",display:"block",textAlign:"left"},children:h.jsxs(en,{align:"start",children:[de.thumbnailUrl&&h.jsx("img",{alt:de.label,title:j.t("word.Open",L),src:de.thumbnailUrl,style:{border:"1px solid #222",cursor:"pointer"},onClick:()=>ee(de)}),h.jsxs("div",{children:[de.description&&de.description.trim()!==""?de.description:""," —  By"," ",h.jsx("span",{style:{cursor:"pointer"},title:j.t("modelsMap.ShowModelsPublishedByThisAuthor",L),onClick:()=>{n(de.author)},children:!de.author||de.author===""?j.t("word.Anonymous",L):de.author}),", ",de.timeCreated&&h.jsx(vpo,{date:new Date(de.timeCreated)})]})]})})},$)}),h.jsxs("div",{style:{marginTop:"10px",fontSize:"11px"},children:[U&&h.jsx(h.Fragment,{children:te(de)?h.jsx(vtn,{style:{cursor:"pointer"},title:j.t("word.Unpin",L),onClick:()=>he(de,!1)}):h.jsx(wTe,{style:{cursor:"pointer"},title:j.t("word.Pin",L),onClick:()=>he(de,!0)})}),h.jsx("img",{alt:"Open",onClick:()=>ee(de),style:{marginLeft:"10px",cursor:"pointer"},title:j.t("word.Open",L),src:mpo,height:E,width:E}),h.jsx("img",{alt:"Export link",onClick:()=>q(de),style:{marginLeft:"5px",cursor:"pointer"},title:j.t("word.Share",L),src:ypo,height:E,width:E}),de.userid===s.uid&&h.jsx("img",{alt:"Delete",onClick:()=>ae(de),style:{marginLeft:"5px",cursor:"pointer"},title:j.t("word.Delete",L),src:mot,height:E,width:E}),s.uid?h.jsx(h.Fragment,{children:s.likes&&s.likes.includes(xe.getModelKey(de))?h.jsx("img",{alt:"Like",onClick:()=>ne(de),style:{marginLeft:"10px",cursor:"pointer"},title:j.t("word.AlreadyLike",L),src:gpo,height:E,width:E}):h.jsx("img",{alt:"Like",onClick:()=>ne(de),style:{marginLeft:"10px",cursor:"pointer"},title:j.t("word.Like",L),src:XHe,height:E,width:E})}):h.jsx(h.Fragment,{children:h.jsx("img",{alt:"Like",style:{marginLeft:"10px",opacity:.5},title:j.t("word.MustLogInToLike",L),src:XHe,height:E,width:E})}),"   ",se(de),h.jsx("img",{alt:"Click counter",style:{marginLeft:"10px"},title:j.t("word.ClickCount",L),src:Apo,height:E,width:E}),"   ",le(de)]})]},$):null})]})}),!!w&&!!w.size&&h.jsx(Mho,{children:fe=>h.jsx("div",{children:[...w.keys()].map(($,de)=>{const Se=w.get($);if(!Se||!Se.size)return null;const Ce=[...Se.keys()].sort((ze,ye)=>{const oe=Se.get(ze),ge=Se.get(ye);return oe!=null&&oe.pinned&&!(ge!=null&&ge.pinned)?-1:ge!=null&&ge.pinned&&!(oe!=null&&oe.pinned)?1:(S?1:-1)*(((oe==null?void 0:oe.timeCreated)??0)-((ge==null?void 0:ge.timeCreated)??0))}),ve=Se.get(Ce[0]);if(!ve)return null;const Ie=Dot(ve);return h.jsx(uHe,{ref:ze=>k.current[de]=ze,clusterer:fe,icon:Ie?{url:Ie}:void 0,position:{lat:ve.latitude,lng:ve.longitude},onClick:()=>ee(ve),onMouseOver:()=>{D.current=P,W.current=de,v(Se);const ze=$.split(", ");y(new google.maps.LatLng(Number.parseFloat(ze[0]),Number.parseFloat(ze[1])))},onMouseOut:()=>{P===D.current&&(v(null),y(null))}},de)})})})]})})}),Hpo="/aladdin/assets/image_load_failure-HGDkwC0S.png",Eot=be.memo(({latRef:t,lngRef:e,author:n,models:o,closeCallback:i,openCloudFile:r})=>{const a=M(o1),l=M(Sc),s=M(dn),c=M(Z1e),u=m.useRef(o?new Map(o):new Map),[d,f]=m.useState(!1),[p,g]=m.useState(),[A,w]=m.useState(!1),{Search:b}=ns,C=m.useMemo(()=>({lng:l}),[l]);m.useEffect(()=>{o&&(u.current=new Map(o),f(!d))},[o]);const P=m.useMemo(()=>{let T=0;for(const y of u.current.values())(n||y.userid===a.uid)&&T++;return T},[u.current,n,a.uid,d]),v=n&&c!=="roadmap";return u.current.size===0?h.jsx(Y0e,{mask:!1,styles:{header:{height:"40px",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",background:v?"#6A6B6E":"whitesmoke"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},style:{scrollbarColor:v?"#6A6B6E":"whitesmoke"},title:(n??j.t("modelsMap.MyPublishedModels",C))+" (0)",placement:"bottom",open:!0,height:"150px",onClose:()=>{i()},children:h.jsx(lg,{image:lg.PRESENTED_IMAGE_SIMPLE,style:{color:v?"lightgray":"dimgray"}})}):h.jsx(Y0e,{extra:h.jsxs(en,{children:[A?h.jsx(dtn,{title:j.t("modelsMap.SortFromNewestToOldest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{w(!1)}}):h.jsx(g$e,{title:j.t("modelsMap.SortFromOldestToNewest",C),style:{cursor:"pointer",marginLeft:"2px",marginRight:"6px"},onClick:()=>{w(!0)}}),h.jsx(b,{title:j.t("modelsMap.SearchByLabel",C),allowClear:!0,size:"small",enterButton:!0,onSearch:T=>{var y;if(o){u.current.clear();for(const[S,x]of o)(y=x.label)!=null&&y.toLowerCase().includes(T.toLowerCase())&&u.current.set(S,x);f(!d)}}})]}),mask:!1,styles:{header:{height:"40px",color:v?"white":"black",background:v?"#6A6B6E":"whitesmoke",paddingLeft:"1px",paddingRight:"1px",paddingTop:"16px",paddingBottom:"12px",border:"none"},body:{padding:"0px 4px 0px 4px",overflowY:"hidden",background:v?"#2A2B2E":"white"}},title:(n??j.t("modelsMap.MyPublishedModels",C))+" ("+P+")",placement:"bottom",open:!0,height:"164px",onClose:()=>{g(void 0),i()},children:h.jsx("table",{children:h.jsx("tbody",{children:h.jsx("tr",{children:[...u.current.keys()].sort((T,y)=>{const S=u.current.get(T),x=u.current.get(y);return!S||!x?0:(A?-1:1)*((x.timeCreated??0)-(S.timeCreated??0))}).map((T,y)=>{const S=u.current.get(T);return!S||!n&&S.userid!==a.uid?null:h.jsx("td",{children:h.jsxs("div",{style:{display:"block",marginTop:"4px"},children:[h.jsx("img",{loading:"lazy",height:"100px",width:"auto",onError:x=>{x.target.src=Hpo},alt:S.label,title:S.label,src:S.thumbnailUrl,style:{cursor:"pointer",borderRadius:p===S?"0":"10px",border:p===S?"2px solid "+(v?"goldenrod":"red"):"none",marginRight:"4px"},onClick:()=>{g(S),r?r(S.userid,S.title):s(x=>{S&&(x.modelsMapLatitude=S.latitude,x.modelsMapLongitude=S.longitude,x.modelsMapZoom=17,t&&(t.current=S.latitude),e&&(e.current=S.longitude))})}}),h.jsxs("div",{children:[h.jsx("img",{alt:S.type,src:Dot(S),style:{position:"relative",left:"8px",bottom:"28px",width:"16px",height:"16px"}}),h.jsx("span",{style:{position:"relative",left:"16px",bottom:"24px",color:"white",fontSize:"8px",fontWeight:"bold"},children:S.label?S.label.length>30?S.label.substring(0,30)+"...":S.label:"Unknown"})]})]})},y)})})})})})}),Mpo=["places"],Ipo=Ho.div` position: absolute; top: 70px; left: 0; @@ -7186,8 +7186,8 @@ PERFORMANCE OF THIS SOFTWARE. z-index: 999; tab-index: 0; background: white; -`,ZHe=be.memo(({openCloudFile:t,deleteModelFromMap:e,likeModelFromMap:n,pinModelFromMap:o})=>{var Y;const i=M(o1),r=M(dn),a=M(En),l=M(Z1e),s=M(E4t),c=s!==void 0?s:42.2844063,u=M(k4t),d=u!==void 0?u:-71.3488548,f=M.getState().modelsMapAddress??$V,p=ht(OBe),g=ht(J4t),A=M(N4t),w=M(VBe),b=M(GBe),C=m.useRef(b?new Map(b):new Map),[P,v]=m.useState(),[T,y]=m.useState(!1),S=m.useRef(),x=m.useRef(),R=m.useRef(c),H=m.useRef(d),D=Kt(),{Search:k}=ns;m.useEffect(()=>{C.current=b?new Map(b):new Map,P&&(S.current=b.get(P)),y(!T)},[b,P]);const W=O=>{v(O),ht.getState().set(J=>{J.showLeaderboard||(J.leaderboardFlag=!0),O&&(S.current=C.current.get(O))})},{isLoaded:N,loadError:L}=Tot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:zpo}),E=()=>{ht.getState().set(O=>{O.openModelsMap=!1}),r(O=>{O.modelsMapLatitude=R.current,O.modelsMapLongitude=H.current})},U=O=>{x.current=O},F=()=>{var J;const O=(J=x.current)==null?void 0:J.getPlaces();if(O&&O.length>0){const Z=O[0].geometry;if(Z&&Z.location){const ie={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:c,newLatitude:Z.location.lat(),oldLongitude:d,newLongitude:Z.location.lng(),oldAddress:f,newAddress:O[0].formatted_address,undo:()=>{r(ee=>{ee.modelsMapLatitude=ie.oldLatitude,ee.modelsMapLongitude=ie.oldLongitude,ee.modelsMapAddress=ie.oldAddress,R.current=ee.modelsMapLatitude,H.current=ee.modelsMapLongitude})},redo:()=>{r(ee=>{ee.modelsMapLatitude=ie.newLatitude,ee.modelsMapLongitude=ie.newLongitude,ee.modelsMapAddress=ie.newAddress,R.current=ee.modelsMapLatitude,H.current=ee.modelsMapLongitude})}};a(ie),r(ee=>{Z.location&&(ee.modelsMapLatitude=Z.location.lat(),ee.modelsMapLongitude=Z.location.lng(),R.current=ee.modelsMapLatitude,H.current=ee.modelsMapLongitude),ee.modelsMapAddress=O[0].formatted_address})}}},B=(Y=i.email)==null?void 0:Y.endsWith("@intofuture.org"),_=m.useMemo(()=>{if(!w||!w.size)return 0;let O=0;for(const J of w.values())O+=J.size??0;return O},[w]);return h.jsxs(Dpo,{onKeyDown:O=>{O.key==="Escape"&&E()},children:[N&&h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-40px",left:"40%",width:"20%",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray"},children:h.jsx(Dot,{onLoad:U,onPlacesChanged:F,children:h.jsx("input",{type:"text",placeholder:f,style:{boxSizing:"border-box",border:"1px solid transparent",width:"100%",height:"100%",fontSize:"14px",paddingLeft:"8px",paddingRight:"8px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),N?h.jsx(Mpo,{latRef:R,lngRef:H,selectAuthor:W,closeMap:E,openModel:t,deleteModel:e,likeModel:n,pinModel:o}):h.jsx(fQ,{}),L&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})}),h.jsxs(h.Fragment,{children:[P&&h.jsx(Fot,{latRef:R,lngRef:H,author:P,models:S.current,closeCallback:()=>{v(void 0),S.current=void 0}}),g&&!P&&h.jsx("div",{style:{position:"absolute",fontSize:"10px",color:"black",bottom:"33px",left:"5px",width:"180px",height:"360px",overflowY:"auto",padding:"6px 6px 6px 6px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",textAlign:"left"},children:h.jsxs(en,{direction:"vertical",children:[h.jsx(k,{title:j.t("modelsMap.SearchByPublisher",D),allowClear:!0,size:"small",enterButton:!0,onSearch:O=>{if(b){C.current.clear();for(const[J,Z]of b)J.toLowerCase().includes(O.toLowerCase())&&C.current.set(J,Z);y(!T)}}}),C.current.size===0?h.jsx(lg,{image:lg.PRESENTED_IMAGE_SIMPLE}):h.jsx("table",{children:h.jsx("tbody",{children:[...C.current.keys()].sort((O,J)=>{const Z=C.current.get(O),ie=C.current.get(J);return(ie?ie.size:0)-(Z?Z.size:0)}).map((O,J)=>{if(J>50)return null;const Z=C.current.get(O);return(Z==null?void 0:Z.size)===void 0||(Z==null?void 0:Z.size)===0?null:h.jsxs("tr",{style:{width:"180px"},children:[h.jsx("td",{style:{width:"150px"},children:h.jsx(UJe,{icon:h.jsx(Vtn,{}),color:(Z==null?void 0:Z.size)>10?"gold":(Z==null?void 0:Z.size)>5?"lime":(Z==null?void 0:Z.size)>1?"blue":"magenta",style:{cursor:"pointer",fontSize:"10px",fontWeight:"bold",width:"130px"},onClick:()=>v(O),title:O,children:O.length>16?O.substring(0,15)+"...":O})}),h.jsx("td",{children:Z==null?void 0:Z.size})]},J)})})})]})}),h.jsx(en,{children:h.jsxs("div",{title:j.t("modelsMap.TotalNumberOfUserPublishedModels",D)+": "+_,style:{position:"absolute",fontSize:"14px",color:"black",bottom:"6px",left:"5px",width:"180px",height:"25px",paddingTop:"4px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",cursor:"pointer",userSelect:"none"},onClick:()=>{ht.getState().set(O=>{O.showLeaderboard||(O.leaderboardFlag=!0),O.showLeaderboard=!O.showLeaderboard})},children:[g?h.jsx(Jtn,{title:j.t("word.Close",D),style:{marginRight:"8px"}}):h.jsx(DDt,{title:j.t("word.Open",D),style:{marginRight:"8px"}}),j.t("word.Leaderboard",D)]})}),A&&h.jsx(en,{children:h.jsxs("div",{style:{position:"absolute",fontSize:"10px",color:l==="roadmap"?"black":"white",bottom:"6px",left:"188px",height:"25x",padding:"6px 6px 2px 6px",cursor:"pointer"},onClick:()=>{r(O=>{A&&(O.modelsMapLatitude=A.latitude,O.modelsMapLongitude=A.longitude,O.modelsMapZoom=20,R.current=O.modelsMapLatitude,H.current=O.modelsMapLongitude)})},children:[j.t("word.Latest",D)+": ",A.countryCode&&h.jsx(Eot,{countryCode:A.countryCode,style:{marginLeft:"2px",marginRight:"4px",width:"20px"},svg:!0}),A.title+", by "+A.author]})}),h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:i.uid?"60px":"100px",width:"64px",height:"28px",background:"orange",boxShadow:"1px 1px 1px 1px gray",paddingTop:"4px"},onMouseDown:()=>{E()},children:j.t("word.Close",D)})}),B&&h.jsx(en,{children:h.jsx(Wr,{checked:p,style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:"130px",width:"160px",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray",paddingLeft:"4px"},onChange:()=>{ht.getState().set(O=>{O.modelsMapWeatherStations=!O.modelsMapWeatherStations})},children:p?h.jsx("span",{title:j.t("mapPanel.WeatherStationsNote",D),children:j.t("mapPanel.WeatherStations",D)}):h.jsx("span",{children:j.t("mapPanel.WeatherStations",D)})})})]})]})}),Epo="/aladdin/assets/tiny_lock-DSfuZD8Y.png",kpo="/aladdin/assets/select-C-gZZ0yB.png",eMe="/aladdin/assets/foundation-Bf2d60AT.png",tMe="/aladdin/assets/cuboid-C70KMDTq.png",nMe="/aladdin/assets/sensor-BZ9UhBbW.png",Vde="/aladdin/assets/solar-panel-BLllvFhu.png",oMe="/aladdin/assets/wall-Dcb0OCnD.png",iMe="/aladdin/assets/window-uls1fTpz.png",rMe="/aladdin/assets/door-DmvdjDKR.png",aMe="/aladdin/assets/pyramid_roof-CRzRVezC.png",lMe="/aladdin/assets/hip_roof-gO3gEx_s.png",sMe="/aladdin/assets/gambrel_roof-BKCAWDsb.png",cMe="/aladdin/assets/mansard_roof-DRTaI5DY.png",uMe="/aladdin/assets/gable_roof-9fruWngj.png",dMe="/aladdin/assets/tree-BUu2qyTB.png",fMe="/aladdin/assets/flower-DErmZ90Q.png",hMe="/aladdin/assets/human-EToF5YZi.png",pMe="/aladdin/assets/parabolic_trough-CSR3V81L.png",gMe="/aladdin/assets/parabolic_dish-BYGRlVcr.png",mMe="/aladdin/assets/fresnel_reflector-CBKiWWxR.png",Gde="/aladdin/assets/heliostat-Kq0JVQG1.png",yMe="/aladdin/assets/wind_turbine-D02sl9A9.png",Fpo="/aladdin/assets/vertical_axis_wind_turbine-C-KZaZtD.png",AMe="/aladdin/assets/led_light-D7hmM4q6.png",Lpo="/aladdin/assets/group-BuZ9lmWH.png",Wpo="/aladdin/assets/clear-BZ83yweM.png",Npo="/aladdin/assets/heliodon-CPHdpxt2.png",Upo="/aladdin/assets/analyze-CgmQCUK0.png",M4=({...t})=>h.jsx("div",{style:{verticalAlign:"top",display:"inline-block",marginTop:"4px",marginRight:"8px"},children:t.children}),dv="invert(41%) sepia(0%) saturate(0%) hue-rotate(224deg) brightness(93%) contrast(81%)",jT="invert(93%) sepia(3%) saturate(1955%) hue-rotate(26deg) brightness(113%) contrast(96%)",z0=({objectType:t,srcImg:e,setFlag:n,replacingText:o})=>{const i=a=>{M.getState().set(l=>{l.objectTypeToAdd=a,l.groupActionMode=!1,l.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),M.getState().selectNone()},r=Kt();return h.jsxs(tn,{noPadding:!0,textSelectable:!1,onClick:()=>{n(t),i(t)},children:[h.jsx("img",{alt:t,src:e,height:36,width:36,style:{filter:dv,verticalAlign:"middle",marginRight:"10px"}}),j.t(`toolbar.Add${o??t.replaceAll(" ","")}`,r)]})},Bpo=be.memo(()=>{const t=M(dn),e=ht(Ah),n=M(ha),o=M(Jn),i=M(Sc),r=M(lW),a=M(Gwt),l=M(HBe),s=M(X1e),c=ht(cs),u=M(nwt),d=M(Rq),f=M(Mq),p=M(Iq),g=M(dYe),A=M(O8t),w=M(_8t),b=M(En),C=ht(ZL),P=ht(tge),v=M(pYe),T=M(q8t),[y,S]=m.useState(z.Foundation),[x,R]=m.useState(z.Wall),[H,D]=m.useState(z.SolarPanel),k=m.useMemo(()=>({lng:i}),[i]),W=()=>{t(le=>{le.objectTypeToAdd=z.None,le.groupActionMode=!1,le.actionModeLock=!1})},N=()=>{t(le=>{le.groupActionMode||(le.objectTypeToAdd=z.None),le.groupActionMode=!le.groupActionMode})},L=()=>{_r.confirm({title:j.t("toolbar.DoYouReallyWantToClearContent",k)+"?",icon:h.jsx($m,{}),onOk:()=>{const le=JSON.parse(JSON.stringify(M.getState().elements));u();const te={name:"Clear Scene",timestamp:Date.now(),removedElements:le,undo:()=>{t(he=>{he.elements.push(...te.removedElements)})},redo:()=>{u()}};b(te)}}),W()},E=()=>{const le={name:"Show Sun and Time Settings Panel",timestamp:Date.now(),checked:!l,undo:()=>{t(te=>{te.viewState.showHeliodonPanel=!le.checked})},redo:()=>{t(te=>{te.viewState.showHeliodonPanel=le.checked})}};b(le),t(te=>{te.viewState.showHeliodonPanel=!te.viewState.showHeliodonPanel,te.viewState.showHeliodonPanel&&(te.selectedFloatingWindow="heliodonPanel")})},U=()=>{P||hn(j.t("message.SimulationStarted",k)),setTimeout(()=>{r(),e("runStaticSimulation",!P),t(le=>{n&&(le.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()})})},100)},F=()=>{C||hn(j.t("message.SimulationStarted",k)),setTimeout(()=>{r(),e("runDynamicSimulation",!C),t(le=>{n&&(le.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()})})},100)},B=le=>{t(te=>{te.objectTypeToAdd=le,te.groupActionMode=!1,te.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),r()},_=le=>{switch(le){case z.Human:case z.Tree:case z.Flower:case z.Sensor:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.VerticalAxisWindTurbine:case z.Light:case z.Wall:case z.Window:return!0;default:return!1}},Y=(le,te,he,pe)=>{const fe=_(le);return h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t(`toolbar.Add${pe??le.replaceAll(" ","")}`,k)+(fe?` -`+(a?j.t("toolbar.ClickToUnlockThisModeForNextAction",k):j.t("toolbar.DoubleClickToLockThisModeForNextAction",k)):""),alt:le,src:te,height:36,width:36,style:{filter:d===le||he?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{B(le)},onDoubleClick:()=>{fe&&t($=>{$.actionModeLock=!0})}}),(d===le||he)&&fe&&a&&h.jsx("img",{alt:"Tiny lock",src:Epo,style:{marginLeft:"-2px",filter:d===le||he?jT:dv,verticalAlign:"top"}})]})},O=le=>h.jsx(W7,{menu:le,trigger:["click"],children:h.jsx("span",{title:j.t("toolbar.ClickForMoreButtons",k),style:{cursor:"pointer",verticalAlign:"middle",fontSize:"10px",marginLeft:"4px",width:"10px",height:"36px",color:"#666666",fontWeight:"bold"},children:"▼"})}),J=[{key:"add-foundation",label:h.jsx(z0,{objectType:z.Foundation,srcImg:eMe,setFlag:S})},{key:"add-cuboid",label:h.jsx(z0,{objectType:z.Cuboid,srcImg:tMe,setFlag:S})},{key:"add-tree",label:h.jsx(z0,{objectType:z.Tree,srcImg:dMe,setFlag:S})},{key:"add-flower",label:h.jsx(z0,{objectType:z.Flower,srcImg:fMe,setFlag:S})},{key:"add-human",label:h.jsx(z0,{objectType:z.Human,srcImg:hMe,setFlag:S,replacingText:"People"})}],Z=[{key:"add-wall",label:h.jsx(z0,{objectType:z.Wall,srcImg:oMe,setFlag:R})},{key:"add-window",label:h.jsx(z0,{objectType:z.Window,srcImg:iMe,setFlag:R})},{key:"add-door",label:h.jsx(z0,{objectType:z.Door,srcImg:rMe,setFlag:R})},{key:"add-pyramid-roof",label:h.jsx(z0,{objectType:z.PyramidRoof,srcImg:aMe,setFlag:R})},{key:"add-hip-roof",label:h.jsx(z0,{objectType:z.HipRoof,srcImg:lMe,setFlag:R})},{key:"add-gable-roof",label:h.jsx(z0,{objectType:z.GableRoof,srcImg:uMe,setFlag:R})},{key:"add-gambrel-roof",label:h.jsx(z0,{objectType:z.GambrelRoof,srcImg:sMe,setFlag:R})},{key:"add-mansard-roof",label:h.jsx(z0,{objectType:z.MansardRoof,srcImg:cMe,setFlag:R})}],ie=[{key:"add-solar-panel",label:h.jsx(z0,{objectType:z.SolarPanel,srcImg:Vde,setFlag:D})},{key:"add-parabolic-trough",label:h.jsx(z0,{objectType:z.ParabolicTrough,srcImg:pMe,setFlag:D})},{key:"add-parabolic-dish",label:h.jsx(z0,{objectType:z.ParabolicDish,srcImg:gMe,setFlag:D})},{key:"add-fresnel-reflector",label:h.jsx(z0,{objectType:z.FresnelReflector,srcImg:mMe,setFlag:D})},{key:"add-heliostat",label:h.jsx(z0,{objectType:z.Heliostat,srcImg:Gde,setFlag:D})},{key:"add-wind-turbine",label:h.jsx(z0,{objectType:z.WindTurbine,srcImg:yMe,setFlag:D})},{key:"add-sensor",label:h.jsx(z0,{objectType:z.Sensor,srcImg:nMe,setFlag:D})},{key:"add-light",label:h.jsx(z0,{objectType:z.Light,srcImg:AMe,setFlag:D})}],ee=le=>{switch(le){case z.Foundation:return Y(le,eMe,M.getState().addedFoundationId);case z.Cuboid:return Y(le,tMe,M.getState().addedCuboidId);case z.Tree:return Y(le,dMe);case z.Flower:return Y(le,fMe);case z.Human:return Y(le,hMe,void 0,"People")}},q=le=>{switch(le){case z.Wall:return Y(le,oMe,M.getState().addedWallId);case z.Window:return Y(le,iMe,M.getState().addedWindowId);case z.Door:return Y(le,rMe,M.getState().addedDoorId);case z.PyramidRoof:return Y(z.PyramidRoof,aMe);case z.HipRoof:return Y(z.HipRoof,lMe);case z.GableRoof:return Y(z.GableRoof,uMe);case z.GambrelRoof:return Y(z.GambrelRoof,sMe);case z.MansardRoof:return Y(z.MansardRoof,cMe)}},ae=le=>{switch(le){case z.SolarPanel:return Y(le,Vde);case z.ParabolicTrough:return Y(le,pMe);case z.ParabolicDish:return Y(le,gMe);case z.FresnelReflector:return Y(le,mMe);case z.Heliostat:return Y(le,Gde);case z.Sensor:return Y(le,nMe);case z.WindTurbine:return Y(le,yMe);case z.VerticalAxisWindTurbine:return Y(le,Fpo);case z.Light:return Y(le,AMe)}},ne=()=>d===z.None&&!f&&!p&&!g&&!A&&!w&&!v,se=()=>{!s||xe.hasMovingParts(o)?F():U()};return h.jsxs("div",{children:[h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.Select",k),alt:"Select",src:kpo,height:36,width:36,style:{filter:ne()?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:W})}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.ManipulateGroup",k),alt:"Group",src:Lpo,height:36,width:36,style:{filter:v?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:N})}),h.jsxs(M4,{children:[ee(y),O({items:J})]}),h.jsxs(M4,{children:[q(x),O({items:Z})]}),h.jsxs(M4,{children:[ae(H),O({items:ie})]}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.ClearScene",k),alt:"Clear",src:Wpo,height:36,width:36,color:"#666666",style:{cursor:"pointer"},onClick:L})}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.SpatialAnalysisOfEnergy",k),alt:"Spatial analysis",src:Upo,height:36,width:36,color:"#666666",style:{filter:c?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{c?ht.getState().set(le=>{le.showSolarRadiationHeatmap=!1,le.showHeatFluxes=!1}):T()>tUe?_r.confirm({title:j.t("message.CalculationMayBeSlowDoYouWantToContinue",k)+" ("+j.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",k)+")",icon:h.jsx(WW,{}),onOk:()=>{se()},onCancel:()=>{},okText:`${j.t("word.Yes",k)}`,cancelText:`${j.t("word.No",k)}`}):se()}})}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.ShowSunAndTimeSettings",k),alt:"Heliodon",src:Npo,height:36,width:36,color:"#666666",style:{filter:l?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:E})})]})}),jpo=Ho.div` +`,$He=be.memo(({openCloudFile:t,deleteModelFromMap:e,likeModelFromMap:n,pinModelFromMap:o})=>{var Y;const i=M(o1),r=M(dn),a=M(En),l=M(Z1e),s=M(z4t),c=s!==void 0?s:42.2844063,u=M(D4t),d=u!==void 0?u:-71.3488548,f=M.getState().modelsMapAddress??$V,p=ht(jBe),g=ht(G4t),A=M(L4t),w=M(OBe),b=M(_Be),C=m.useRef(b?new Map(b):new Map),[P,v]=m.useState(),[T,y]=m.useState(!1),S=m.useRef(),x=m.useRef(),R=m.useRef(c),H=m.useRef(d),D=Kt(),{Search:k}=ns;m.useEffect(()=>{C.current=b?new Map(b):new Map,P&&(S.current=b.get(P)),y(!T)},[b,P]);const W=O=>{v(O),ht.getState().set(J=>{J.showLeaderboard||(J.leaderboardFlag=!0),O&&(S.current=C.current.get(O))})},{isLoaded:N,loadError:L}=bot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:Mpo}),E=()=>{ht.getState().set(O=>{O.openModelsMap=!1}),r(O=>{O.modelsMapLatitude=R.current,O.modelsMapLongitude=H.current})},U=O=>{x.current=O},F=()=>{var J;const O=(J=x.current)==null?void 0:J.getPlaces();if(O&&O.length>0){const Z=O[0].geometry;if(Z&&Z.location){const ie={name:"Set Model Map Location",timestamp:Date.now(),oldLatitude:c,newLatitude:Z.location.lat(),oldLongitude:d,newLongitude:Z.location.lng(),oldAddress:f,newAddress:O[0].formatted_address,undo:()=>{r(ee=>{ee.modelsMapLatitude=ie.oldLatitude,ee.modelsMapLongitude=ie.oldLongitude,ee.modelsMapAddress=ie.oldAddress,R.current=ee.modelsMapLatitude,H.current=ee.modelsMapLongitude})},redo:()=>{r(ee=>{ee.modelsMapLatitude=ie.newLatitude,ee.modelsMapLongitude=ie.newLongitude,ee.modelsMapAddress=ie.newAddress,R.current=ee.modelsMapLatitude,H.current=ee.modelsMapLongitude})}};a(ie),r(ee=>{Z.location&&(ee.modelsMapLatitude=Z.location.lat(),ee.modelsMapLongitude=Z.location.lng(),R.current=ee.modelsMapLatitude,H.current=ee.modelsMapLongitude),ee.modelsMapAddress=O[0].formatted_address})}}},B=(Y=i.email)==null?void 0:Y.endsWith("@intofuture.org"),_=m.useMemo(()=>{if(!w||!w.size)return 0;let O=0;for(const J of w.values())O+=J.size??0;return O},[w]);return h.jsxs(Ipo,{onKeyDown:O=>{O.key==="Escape"&&E()},children:[N&&h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-40px",left:"40%",width:"20%",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray"},children:h.jsx(Iot,{onLoad:U,onPlacesChanged:F,children:h.jsx("input",{type:"text",placeholder:f,style:{boxSizing:"border-box",border:"1px solid transparent",width:"100%",height:"100%",fontSize:"14px",paddingLeft:"8px",paddingRight:"8px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),N?h.jsx(Rpo,{latRef:R,lngRef:H,selectAuthor:W,closeMap:E,openModel:t,deleteModel:e,likeModel:n,pinModel:o}):h.jsx(fQ,{}),L&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})}),h.jsxs(h.Fragment,{children:[P&&h.jsx(Eot,{latRef:R,lngRef:H,author:P,models:S.current,closeCallback:()=>{v(void 0),S.current=void 0}}),g&&!P&&h.jsx("div",{style:{position:"absolute",fontSize:"10px",color:"black",bottom:"33px",left:"5px",width:"180px",height:"360px",overflowY:"auto",padding:"6px 6px 6px 6px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",textAlign:"left"},children:h.jsxs(en,{direction:"vertical",children:[h.jsx(k,{title:j.t("modelsMap.SearchByPublisher",D),allowClear:!0,size:"small",enterButton:!0,onSearch:O=>{if(b){C.current.clear();for(const[J,Z]of b)J.toLowerCase().includes(O.toLowerCase())&&C.current.set(J,Z);y(!T)}}}),C.current.size===0?h.jsx(lg,{image:lg.PRESENTED_IMAGE_SIMPLE}):h.jsx("table",{children:h.jsx("tbody",{children:[...C.current.keys()].sort((O,J)=>{const Z=C.current.get(O),ie=C.current.get(J);return(ie?ie.size:0)-(Z?Z.size:0)}).map((O,J)=>{if(J>50)return null;const Z=C.current.get(O);return(Z==null?void 0:Z.size)===void 0||(Z==null?void 0:Z.size)===0?null:h.jsxs("tr",{style:{width:"180px"},children:[h.jsx("td",{style:{width:"150px"},children:h.jsx(WJe,{icon:h.jsx(Otn,{}),color:(Z==null?void 0:Z.size)>10?"gold":(Z==null?void 0:Z.size)>5?"lime":(Z==null?void 0:Z.size)>1?"blue":"magenta",style:{cursor:"pointer",fontSize:"10px",fontWeight:"bold",width:"130px"},onClick:()=>v(O),title:O,children:O.length>16?O.substring(0,15)+"...":O})}),h.jsx("td",{children:Z==null?void 0:Z.size})]},J)})})})]})}),h.jsx(en,{children:h.jsxs("div",{title:j.t("modelsMap.TotalNumberOfUserPublishedModels",D)+": "+_,style:{position:"absolute",fontSize:"14px",color:"black",bottom:"6px",left:"5px",width:"180px",height:"25px",paddingTop:"4px",background:"whitesmoke",boxShadow:"1px 1px 1px 1px gray",cursor:"pointer",userSelect:"none"},onClick:()=>{ht.getState().set(O=>{O.showLeaderboard||(O.leaderboardFlag=!0),O.showLeaderboard=!O.showLeaderboard})},children:[g?h.jsx(Gtn,{title:j.t("word.Close",D),style:{marginRight:"8px"}}):h.jsx(IDt,{title:j.t("word.Open",D),style:{marginRight:"8px"}}),j.t("word.Leaderboard",D)]})}),A&&h.jsx(en,{children:h.jsxs("div",{style:{position:"absolute",fontSize:"10px",color:l==="roadmap"?"black":"white",bottom:"6px",left:"188px",height:"25x",padding:"6px 6px 2px 6px",cursor:"pointer"},onClick:()=>{r(O=>{A&&(O.modelsMapLatitude=A.latitude,O.modelsMapLongitude=A.longitude,O.modelsMapZoom=20,R.current=O.modelsMapLatitude,H.current=O.modelsMapLongitude)})},children:[j.t("word.Latest",D)+": ",A.countryCode&&h.jsx(zot,{countryCode:A.countryCode,style:{marginLeft:"2px",marginRight:"4px",width:"20px"},svg:!0}),A.title+", by "+A.author]})}),h.jsx(en,{children:h.jsx("div",{style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:i.uid?"60px":"100px",width:"64px",height:"28px",background:"orange",boxShadow:"1px 1px 1px 1px gray",paddingTop:"4px"},onMouseDown:()=>{E()},children:j.t("word.Close",D)})}),B&&h.jsx(en,{children:h.jsx(Wr,{checked:p,style:{position:"absolute",fontSize:"medium",color:"black",cursor:"pointer",top:"-52px",right:"130px",width:"160px",height:"28px",background:"white",boxShadow:"1px 1px 1px 1px gray",paddingLeft:"4px"},onChange:()=>{ht.getState().set(O=>{O.modelsMapWeatherStations=!O.modelsMapWeatherStations})},children:p?h.jsx("span",{title:j.t("mapPanel.WeatherStationsNote",D),children:j.t("mapPanel.WeatherStations",D)}):h.jsx("span",{children:j.t("mapPanel.WeatherStations",D)})})})]})]})}),zpo="/aladdin/assets/tiny_lock-DSfuZD8Y.png",Dpo="/aladdin/assets/select-C-gZZ0yB.png",QHe="/aladdin/assets/foundation-Bf2d60AT.png",ZHe="/aladdin/assets/cuboid-C70KMDTq.png",eMe="/aladdin/assets/sensor-BZ9UhBbW.png",Vde="/aladdin/assets/solar-panel-BLllvFhu.png",tMe="/aladdin/assets/wall-Dcb0OCnD.png",nMe="/aladdin/assets/window-uls1fTpz.png",oMe="/aladdin/assets/door-DmvdjDKR.png",iMe="/aladdin/assets/pyramid_roof-CRzRVezC.png",rMe="/aladdin/assets/hip_roof-gO3gEx_s.png",aMe="/aladdin/assets/gambrel_roof-BKCAWDsb.png",lMe="/aladdin/assets/mansard_roof-DRTaI5DY.png",sMe="/aladdin/assets/gable_roof-9fruWngj.png",cMe="/aladdin/assets/tree-BUu2qyTB.png",uMe="/aladdin/assets/flower-DErmZ90Q.png",dMe="/aladdin/assets/human-EToF5YZi.png",fMe="/aladdin/assets/parabolic_trough-CSR3V81L.png",hMe="/aladdin/assets/parabolic_dish-BYGRlVcr.png",pMe="/aladdin/assets/fresnel_reflector-CBKiWWxR.png",Gde="/aladdin/assets/heliostat-Kq0JVQG1.png",gMe="/aladdin/assets/wind_turbine-D02sl9A9.png",Epo="/aladdin/assets/vertical_axis_wind_turbine-C-KZaZtD.png",mMe="/aladdin/assets/led_light-D7hmM4q6.png",kpo="/aladdin/assets/group-BuZ9lmWH.png",Fpo="/aladdin/assets/clear-BZ83yweM.png",Lpo="/aladdin/assets/heliodon-CPHdpxt2.png",Wpo="/aladdin/assets/analyze-CgmQCUK0.png",M4=({...t})=>h.jsx("div",{style:{verticalAlign:"top",display:"inline-block",marginTop:"4px",marginRight:"8px"},children:t.children}),dv="invert(41%) sepia(0%) saturate(0%) hue-rotate(224deg) brightness(93%) contrast(81%)",jT="invert(93%) sepia(3%) saturate(1955%) hue-rotate(26deg) brightness(113%) contrast(96%)",z0=({objectType:t,srcImg:e,setFlag:n,replacingText:o})=>{const i=a=>{M.getState().set(l=>{l.objectTypeToAdd=a,l.groupActionMode=!1,l.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),M.getState().selectNone()},r=Kt();return h.jsxs(tn,{noPadding:!0,textSelectable:!1,onClick:()=>{n(t),i(t)},children:[h.jsx("img",{alt:t,src:e,height:36,width:36,style:{filter:dv,verticalAlign:"middle",marginRight:"10px"}}),j.t(`toolbar.Add${o??t.replaceAll(" ","")}`,r)]})},Npo=be.memo(()=>{const t=M(dn),e=ht(Ah),n=M(ha),o=M(Jn),i=M(Sc),r=M(lW),a=M(_wt),l=M(CBe),s=M(X1e),c=ht(cs),u=M(ewt),d=M(Rq),f=M(Mq),p=M(Iq),g=M(cYe),A=M(j8t),w=M(Y8t),b=M(En),C=ht(ZL),P=ht(tge),v=M(fYe),T=M(J8t),[y,S]=m.useState(z.Foundation),[x,R]=m.useState(z.Wall),[H,D]=m.useState(z.SolarPanel),k=m.useMemo(()=>({lng:i}),[i]),W=()=>{t(le=>{le.objectTypeToAdd=z.None,le.groupActionMode=!1,le.actionModeLock=!1})},N=()=>{t(le=>{le.groupActionMode||(le.objectTypeToAdd=z.None),le.groupActionMode=!le.groupActionMode})},L=()=>{_r.confirm({title:j.t("toolbar.DoYouReallyWantToClearContent",k)+"?",icon:h.jsx($m,{}),onOk:()=>{const le=JSON.parse(JSON.stringify(M.getState().elements));u();const te={name:"Clear Scene",timestamp:Date.now(),removedElements:le,undo:()=>{t(he=>{he.elements.push(...te.removedElements)})},redo:()=>{u()}};b(te)}}),W()},E=()=>{const le={name:"Show Sun and Time Settings Panel",timestamp:Date.now(),checked:!l,undo:()=>{t(te=>{te.viewState.showHeliodonPanel=!le.checked})},redo:()=>{t(te=>{te.viewState.showHeliodonPanel=le.checked})}};b(le),t(te=>{te.viewState.showHeliodonPanel=!te.viewState.showHeliodonPanel,te.viewState.showHeliodonPanel&&(te.selectedFloatingWindow="heliodonPanel")})},U=()=>{P||hn(j.t("message.SimulationStarted",k)),setTimeout(()=>{r(),e("runStaticSimulation",!P),t(le=>{n&&(le.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Static)",timestamp:new Date().getTime()})})},100)},F=()=>{C||hn(j.t("message.SimulationStarted",k)),setTimeout(()=>{r(),e("runDynamicSimulation",!C),t(le=>{n&&(le.actionInfo={name:"Generate Daily Solar Radiation Heatmap (Dynamic)",timestamp:new Date().getTime()})})},100)},B=le=>{t(te=>{te.objectTypeToAdd=le,te.groupActionMode=!1,te.actionModeLock=!1}),Ln.getState().setEnableOrbitController(!1),r()},_=le=>{switch(le){case z.Human:case z.Tree:case z.Flower:case z.Sensor:case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:case z.WindTurbine:case z.VerticalAxisWindTurbine:case z.Light:case z.Wall:case z.Window:return!0;default:return!1}},Y=(le,te,he,pe)=>{const fe=_(le);return h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t(`toolbar.Add${pe??le.replaceAll(" ","")}`,k)+(fe?` +`+(a?j.t("toolbar.ClickToUnlockThisModeForNextAction",k):j.t("toolbar.DoubleClickToLockThisModeForNextAction",k)):""),alt:le,src:te,height:36,width:36,style:{filter:d===le||he?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{B(le)},onDoubleClick:()=>{fe&&t($=>{$.actionModeLock=!0})}}),(d===le||he)&&fe&&a&&h.jsx("img",{alt:"Tiny lock",src:zpo,style:{marginLeft:"-2px",filter:d===le||he?jT:dv,verticalAlign:"top"}})]})},O=le=>h.jsx(W7,{menu:le,trigger:["click"],children:h.jsx("span",{title:j.t("toolbar.ClickForMoreButtons",k),style:{cursor:"pointer",verticalAlign:"middle",fontSize:"10px",marginLeft:"4px",width:"10px",height:"36px",color:"#666666",fontWeight:"bold"},children:"▼"})}),J=[{key:"add-foundation",label:h.jsx(z0,{objectType:z.Foundation,srcImg:QHe,setFlag:S})},{key:"add-cuboid",label:h.jsx(z0,{objectType:z.Cuboid,srcImg:ZHe,setFlag:S})},{key:"add-tree",label:h.jsx(z0,{objectType:z.Tree,srcImg:cMe,setFlag:S})},{key:"add-flower",label:h.jsx(z0,{objectType:z.Flower,srcImg:uMe,setFlag:S})},{key:"add-human",label:h.jsx(z0,{objectType:z.Human,srcImg:dMe,setFlag:S,replacingText:"People"})}],Z=[{key:"add-wall",label:h.jsx(z0,{objectType:z.Wall,srcImg:tMe,setFlag:R})},{key:"add-window",label:h.jsx(z0,{objectType:z.Window,srcImg:nMe,setFlag:R})},{key:"add-door",label:h.jsx(z0,{objectType:z.Door,srcImg:oMe,setFlag:R})},{key:"add-pyramid-roof",label:h.jsx(z0,{objectType:z.PyramidRoof,srcImg:iMe,setFlag:R})},{key:"add-hip-roof",label:h.jsx(z0,{objectType:z.HipRoof,srcImg:rMe,setFlag:R})},{key:"add-gable-roof",label:h.jsx(z0,{objectType:z.GableRoof,srcImg:sMe,setFlag:R})},{key:"add-gambrel-roof",label:h.jsx(z0,{objectType:z.GambrelRoof,srcImg:aMe,setFlag:R})},{key:"add-mansard-roof",label:h.jsx(z0,{objectType:z.MansardRoof,srcImg:lMe,setFlag:R})}],ie=[{key:"add-solar-panel",label:h.jsx(z0,{objectType:z.SolarPanel,srcImg:Vde,setFlag:D})},{key:"add-parabolic-trough",label:h.jsx(z0,{objectType:z.ParabolicTrough,srcImg:fMe,setFlag:D})},{key:"add-parabolic-dish",label:h.jsx(z0,{objectType:z.ParabolicDish,srcImg:hMe,setFlag:D})},{key:"add-fresnel-reflector",label:h.jsx(z0,{objectType:z.FresnelReflector,srcImg:pMe,setFlag:D})},{key:"add-heliostat",label:h.jsx(z0,{objectType:z.Heliostat,srcImg:Gde,setFlag:D})},{key:"add-wind-turbine",label:h.jsx(z0,{objectType:z.WindTurbine,srcImg:gMe,setFlag:D})},{key:"add-sensor",label:h.jsx(z0,{objectType:z.Sensor,srcImg:eMe,setFlag:D})},{key:"add-light",label:h.jsx(z0,{objectType:z.Light,srcImg:mMe,setFlag:D})}],ee=le=>{switch(le){case z.Foundation:return Y(le,QHe,M.getState().addedFoundationId);case z.Cuboid:return Y(le,ZHe,M.getState().addedCuboidId);case z.Tree:return Y(le,cMe);case z.Flower:return Y(le,uMe);case z.Human:return Y(le,dMe,void 0,"People")}},q=le=>{switch(le){case z.Wall:return Y(le,tMe,M.getState().addedWallId);case z.Window:return Y(le,nMe,M.getState().addedWindowId);case z.Door:return Y(le,oMe,M.getState().addedDoorId);case z.PyramidRoof:return Y(z.PyramidRoof,iMe);case z.HipRoof:return Y(z.HipRoof,rMe);case z.GableRoof:return Y(z.GableRoof,sMe);case z.GambrelRoof:return Y(z.GambrelRoof,aMe);case z.MansardRoof:return Y(z.MansardRoof,lMe)}},ae=le=>{switch(le){case z.SolarPanel:return Y(le,Vde);case z.ParabolicTrough:return Y(le,fMe);case z.ParabolicDish:return Y(le,hMe);case z.FresnelReflector:return Y(le,pMe);case z.Heliostat:return Y(le,Gde);case z.Sensor:return Y(le,eMe);case z.WindTurbine:return Y(le,gMe);case z.VerticalAxisWindTurbine:return Y(le,Epo);case z.Light:return Y(le,mMe)}},ne=()=>d===z.None&&!f&&!p&&!g&&!A&&!w&&!v,se=()=>{!s||xe.hasMovingParts(o)?F():U()};return h.jsxs("div",{children:[h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.Select",k),alt:"Select",src:Dpo,height:36,width:36,style:{filter:ne()?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:W})}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.ManipulateGroup",k),alt:"Group",src:kpo,height:36,width:36,style:{filter:v?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:N})}),h.jsxs(M4,{children:[ee(y),O({items:J})]}),h.jsxs(M4,{children:[q(x),O({items:Z})]}),h.jsxs(M4,{children:[ae(H),O({items:ie})]}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.ClearScene",k),alt:"Clear",src:Fpo,height:36,width:36,color:"#666666",style:{cursor:"pointer"},onClick:L})}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.SpatialAnalysisOfEnergy",k),alt:"Spatial analysis",src:Wpo,height:36,width:36,color:"#666666",style:{filter:c?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:()=>{c?ht.getState().set(le=>{le.showSolarRadiationHeatmap=!1,le.showHeatFluxes=!1}):T()>ZNe?_r.confirm({title:j.t("message.CalculationMayBeSlowDoYouWantToContinue",k)+" ("+j.t("message.IncreaseSolarRadiationHeatmapGridCellSizeToSpeedUp",k)+")",icon:h.jsx(WW,{}),onOk:()=>{se()},onCancel:()=>{},okText:`${j.t("word.Yes",k)}`,cancelText:`${j.t("word.No",k)}`}):se()}})}),h.jsx(M4,{children:h.jsx("img",{title:j.t("toolbar.ShowSunAndTimeSettings",k),alt:"Heliodon",src:Lpo,height:36,width:36,color:"#666666",style:{filter:l?jT:dv,cursor:"pointer",verticalAlign:"middle"},onClick:E})})]})}),Upo=Ho.div` position: absolute; top: 0; right: 10px; @@ -7199,7 +7199,7 @@ PERFORMANCE OF THIS SOFTWARE. align-items: center; user-select: none; z-index: 9; -`,Ypo=be.memo(({signIn:t,signOut:e})=>{const n=M(o1),o=ht(Aq),i=Kt(),r=[{key:"account",label:h.jsx(tn,{noPadding:!0,onClick:()=>{ht.getState().set(a=>{a.showAccountSettingsPanel=!0})},children:j.t("avatarMenu.AccountSettings",i)})},{key:"signOut",label:h.jsx(tn,{noPadding:!0,onClick:e,children:j.t("avatarMenu.SignOut",i)})}];return h.jsx(jpo,{children:h.jsxs(en,{direction:"horizontal",children:[!o&&h.jsx(Bpo,{}),h.jsx("div",{style:{verticalAlign:"top"},children:n.displayName?h.jsx(W7,{menu:{items:r},trigger:["click"],children:h.jsx("a",{className:"ant-dropdown-link",onClick:a=>a.preventDefault(),title:j.t("tooltip.clickToAccessAccountSettings",i),children:h.jsx(VVe,{size:32,src:n.photoURL,alt:n.displayName})})}):h.jsx(gl,{title:h.jsx("div",{onClick:a=>a.stopPropagation(),children:j.t("avatarMenu.PrivacyStatementTitle",i)}),content:h.jsxs("div",{style:{width:"280px",fontSize:"12px"},children:[j.t("avatarMenu.PrivacyStatement",i),h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",children:j.t("aboutUs.PrivacyPolicy",i)}),"."]}),children:h.jsx(oo,{type:"primary",onClick:t,children:j.t("avatarMenu.SignIn",i)})})})]})})}),Opo=be.memo(({saveToCloud:t,isLoading:e,setTitle:n,getTitle:o,setTitleDialogVisible:i,isTitleDialogVisible:r})=>{const a=M(dn),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=Kt(),p=(w,b)=>{if(d.current){const{clientWidth:C,clientHeight:P}=window.document.documentElement,v=d.current.getBoundingClientRect();u({left:-v.left+b.x,right:C-(v.right-b.x),top:-v.top+b.y,bottom:P-((v==null?void 0:v.bottom)-b.y)})}},g=()=>{t(o(),!1,!0),a(w=>{w.showCloudFileTitleDialogFlag=!w.showCloudFileTitleDialogFlag,w.showCloudFileTitleDialog=!1})},A=()=>{i(!1),a(w=>{w.showCloudFileTitleDialogFlag=!w.showCloudFileTitleDialogFlag,w.showCloudFileTitleDialog=!1})};return h.jsx(_r,{width:500,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:j.t("menu.file.SaveAsCloudFile",f)}),open:r(),footer:[h.jsx(oo,{onClick:A,children:j.t("word.Cancel",f)},"Cancel"),h.jsx(oo,{type:"primary",onClick:g,disabled:!o(),children:j.t("word.OK",f)},"OK")],confirmLoading:e(),onCancel:A,modalRender:w=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(b,C)=>p(b,C),children:h.jsx("div",{ref:d,children:w})}),children:h.jsxs(en,{direction:"horizontal",children:[h.jsxs("span",{children:[j.t("word.Title",f),":"]}),h.jsx(ns,{style:{width:"400px"},placeholder:"Title",value:o(),onPressEnter:g,onKeyDown:w=>{if(!JC.test(w.key))return w.preventDefault(),!1},onChange:w=>{n(w.target.value)}})]})})}),{Column:Rae}=Hd,_po=Ho.div` +`,Bpo=be.memo(({signIn:t,signOut:e})=>{const n=M(o1),o=ht(Aq),i=Kt(),r=[{key:"account",label:h.jsx(tn,{noPadding:!0,onClick:()=>{ht.getState().set(a=>{a.showAccountSettingsPanel=!0})},children:j.t("avatarMenu.AccountSettings",i)})},{key:"signOut",label:h.jsx(tn,{noPadding:!0,onClick:e,children:j.t("avatarMenu.SignOut",i)})}];return h.jsx(Upo,{children:h.jsxs(en,{direction:"horizontal",children:[!o&&h.jsx(Npo,{}),h.jsx("div",{style:{verticalAlign:"top"},children:n.displayName?h.jsx(W7,{menu:{items:r},trigger:["click"],children:h.jsx("a",{className:"ant-dropdown-link",onClick:a=>a.preventDefault(),title:j.t("tooltip.clickToAccessAccountSettings",i),children:h.jsx(OVe,{size:32,src:n.photoURL,alt:n.displayName})})}):h.jsx(gl,{title:h.jsx("div",{onClick:a=>a.stopPropagation(),children:j.t("avatarMenu.PrivacyStatementTitle",i)}),content:h.jsxs("div",{style:{width:"280px",fontSize:"12px"},children:[j.t("avatarMenu.PrivacyStatement",i),h.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://intofuture.org/aladdin-privacy.html",children:j.t("aboutUs.PrivacyPolicy",i)}),"."]}),children:h.jsx(no,{type:"primary",onClick:t,children:j.t("avatarMenu.SignIn",i)})})})]})})}),jpo=be.memo(({saveToCloud:t,isLoading:e,setTitle:n,getTitle:o,setTitleDialogVisible:i,isTitleDialogVisible:r})=>{const a=M(dn),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=Kt(),p=(w,b)=>{if(d.current){const{clientWidth:C,clientHeight:P}=window.document.documentElement,v=d.current.getBoundingClientRect();u({left:-v.left+b.x,right:C-(v.right-b.x),top:-v.top+b.y,bottom:P-((v==null?void 0:v.bottom)-b.y)})}},g=()=>{t(o(),!1,!0),a(w=>{w.showCloudFileTitleDialogFlag=!w.showCloudFileTitleDialogFlag,w.showCloudFileTitleDialog=!1})},A=()=>{i(!1),a(w=>{w.showCloudFileTitleDialogFlag=!w.showCloudFileTitleDialogFlag,w.showCloudFileTitleDialog=!1})};return h.jsx(_r,{width:500,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:j.t("menu.file.SaveAsCloudFile",f)}),open:r(),footer:[h.jsx(no,{onClick:A,children:j.t("word.Cancel",f)},"Cancel"),h.jsx(no,{type:"primary",onClick:g,disabled:!o(),children:j.t("word.OK",f)},"OK")],confirmLoading:e(),onCancel:A,modalRender:w=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(b,C)=>p(b,C),children:h.jsx("div",{ref:d,children:w})}),children:h.jsxs(en,{direction:"horizontal",children:[h.jsxs("span",{children:[j.t("word.Title",f),":"]}),h.jsx(ns,{style:{width:"400px"},placeholder:"Title",value:o(),onPressEnter:g,onKeyDown:w=>{if(!JC.test(w.key))return w.preventDefault(),!1},onChange:w=>{n(w.target.value)}})]})})}),{Column:Rae}=Hd,Ypo=Ho.div` position: fixed; top: 90px; right: 40px; @@ -7208,7 +7208,7 @@ PERFORMANCE OF THIS SOFTWARE. align-items: center; padding: 16px; z-index: 14; -`,Vpo=Ho.div` +`,Opo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -7228,7 +7228,7 @@ PERFORMANCE OF THIS SOFTWARE. overflow-y: hidden; resize: both; direction: rtl; -`,Gpo=Ho.div` +`,_po=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -7239,7 +7239,7 @@ PERFORMANCE OF THIS SOFTWARE. justify-content: space-between; align-items: center; cursor: move; -`,Xpo=be.memo(({projects:t,setProjectState:e,deleteProject:n,renameProject:o})=>{const i=M(o1),r=M(dn),a=M(bc),l=be.useRef(null),s=m.useRef(null),c=s.current?s.current.clientWidth+40:680,u=s.current?s.current.clientHeight+100:600,[d,f]=m.useState({x:0,y:0}),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),[P,v]=m.useState(),[T,y]=m.useState(),S=m.useRef(null),x=m.useRef([...t]),[R,H]=m.useState(!1),[D,k]=m.useState(-1),{Search:W}=ns,{t:N}=jl(),L=Kt();m.useEffect(()=>{const O=()=>{f({x:Math.max(0,c-window.innerWidth),y:Math.min(0,window.innerHeight-u)})};return window.addEventListener("resize",O),()=>{window.removeEventListener("resize",O)}},[]),m.useEffect(()=>{t&&(x.current=[...t],H(!R))},[t]);const E=(O,J)=>{f({x:Math.max(J.x,c-window.innerWidth),y:Math.min(J.y,window.innerHeight-u)})},U=(O,J)=>{},F=()=>{ht.getState().set(O=>{O.showProjectListPanel=!1})},B=O=>{_r.confirm({title:N("projectListPanel.DoYouReallyWantToDeleteProject",L)+' "'+O+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(qG,{style:{marginRight:"6px"}}),N("word.Warning",L)+": "+N("message.ThisCannotBeUndone",L)]}),icon:h.jsx(WW,{}),onOk:()=>{n(O)}})},_=()=>{P&&T&&(o(P,T),y(void 0),H(!R)),g(!1)},Y=(O,J)=>{if(S.current){const{clientWidth:Z,clientHeight:ie}=window.document.documentElement,ee=S.current.getBoundingClientRect();C({left:-ee.left+J.x,right:Z-(ee.right-J.x),top:-ee.top+J.y,bottom:ie-((ee==null?void 0:ee.bottom)-J.y)})}};return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:N("word.Rename",L)}),open:p,onOk:_,onCancel:()=>{g(!1),y(void 0)},modalRender:O=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(J,Z)=>Y(J,Z),children:h.jsx("div",{ref:S,children:O})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:T||P,onPressEnter:_,onKeyDown:O=>{if(!JC.test(O.key))return O.preventDefault(),!1},onChange:O=>{y(O.target.value)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(qG,{style:{marginRight:"4px"}}),N("word.Caution",L)+": "+N("projectListPanel.IfSharedOrPublishedRenamingProjectBreaksExistingLinks",L),"."]})]})}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:E,onStop:U,onMouseDown:()=>{r(O=>{O.selectedFloatingWindow="projectListPanel"})},children:h.jsx(_po,{ref:l,style:{zIndex:a==="projectListPanel"?xc:14},children:h.jsxs(Vpo,{ref:s,children:[h.jsxs(Gpo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:N("projectListPanel.MyProjects",L)+" ("+x.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{F()},onTouchStart:()=>{F()},children:N("word.Close",L)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(W,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:N("projectListPanel.SearchByTitle",L),allowClear:!0,size:"small",enterButton:!0,onSearch:O=>{var J;if(t){x.current=[];for(const Z of t)(J=Z.title)!=null&&J.toLowerCase().includes(O.toLowerCase())&&x.current.push(Z);H(!R)}}})}),h.jsxs(Hd,{size:"small",style:{width:"100%",direction:"ltr",verticalAlign:"top"},dataSource:x.current,scroll:{y:360},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(Rae,{title:`${N("word.Title",L)}`,dataIndex:"title",width:"50%",sortDirections:["ascend","descend","ascend"],sorter:(O,J)=>O.title.localeCompare(J.title),render:(O,J,Z)=>{const ie=[{key:"project-title",label:h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,fontWeight:"bold",children:O}),h.jsx("hr",{})]})},{key:"open-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>e(J),children:N("word.Open",L)})},{key:"copy-title-to-clip-board",label:h.jsx(tn,{noPadding:!0,onClick:()=>{navigator.clipboard.writeText(O).then(()=>y2(N("projectListPanel.TitleCopiedToClipBoard",L)+"."))},children:N("projectListPanel.CopyTitle",L)})},{key:"rename-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>{v(O),g(!0)},children:N("word.Rename",L)})},{key:"delete-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>B(O),children:N("word.Delete",L)})},{key:"generate-project-link",label:h.jsx(tn,{noPadding:!0,onClick:()=>{const ee=qp+"?client=web&userid="+i.uid+"&project="+encodeURIComponent(O);navigator.clipboard.writeText(ee).then(()=>y2(N("projectListPanel.ProjectLinkGeneratedInClipBoard",L)+"."))},children:N("projectListPanel.GenerateProjectLink",L)})}];return h.jsxs(en,{style:{width:"100%"},children:[h.jsx(W7,{menu:{items:ie},trigger:["hover"],children:h.jsx(FJe,{style:{fontSize:"12px",cursor:"pointer"},onMouseEnter:()=>{Z!==void 0&&k(Z)},onMouseLeave:()=>{k(-1)}})}),h.jsx(C6.Text,{title:N("word.Open",L),style:{fontSize:"12px",cursor:"pointer",verticalAlign:"top"},onClick:()=>{const ee=window.getSelection();ee&&ee.toString().length>0||e(J)},children:O})]})},onCell:(O,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"title"),h.jsx(Rae,{title:`${N("word.Type",L)}`,dataIndex:"type",width:"25%",render:O=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:O}),onCell:(O,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"type"),h.jsx(Rae,{title:`${N("word.Time",L)}`,dataIndex:"time",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(O,J)=>O.timestamp-J.timestamp,render:O=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:O}),onCell:(O,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"time")]})]})})})]})}),Yy=(t,e,n)=>{m.useEffect(()=>{t&&(e(),n())},[t])},Jpo=be.memo(({viewOnly:t=!1,canvas:e})=>{const n=M(dn),o=ht(Ah),i=M(o1),r=M(Xs),a=M(wb),l=M(yq),s=M(t4t),c=M(JBe),u=ht(e7t),d=ht(h7t),f=ht(p7t),p=ht(g7t),g=ht(Aq),A=M(yH),w=ht(U4t),b=ht(B4t),C=ht(G4t),P=ht(X4t),v=ht(K4t),T=ht(q4t),y=M(W4t),S=M(_Be),x=M(ege),R=M(KBe),H=ht(YBe),D=M($4t),k=M(GBe),W=ht(j4t),N=ht(Y4t),L=ht(O4t),E=ht(_4t),U=ht(V4t),[F,B]=m.useState(!1),[_,Y]=m.useState(!1),[O,J]=m.useState(A??"My Aladdin File"),[Z,ie]=m.useState(!1),ee=m.useRef(),q=m.useRef(),[ae,ne]=m.useState([]),[se,le]=m.useState(!1),te=m.useRef(),[he,pe]=m.useState([]),[fe,$]=m.useState(!1),de=Kt();Yy(w,oe,()=>o("saveAccountSettingsFlag",!1)),Yy(b,et,()=>o("saveCloudFileFlag",!1)),Yy(C,_e,()=>o("modelsMapFlag",!1)),Yy(P,nt,()=>o("leaderboardFlag",!1)),Yy(v,yt,()=>o("publishOnModelsMapFlag",!1)),Yy(W,Tt,()=>o("createProjectFlag",!1)),Yy(N,Rt,()=>o("saveProjectAsFlag",!1)),Yy(E,At,()=>o("showProjectsFlag",!1)),Yy(U,Ft,()=>o("updateProjectsFlag",!1)),Yy(T,Ct,()=>o("listCloudFilesFlag",!1)),Yy(L,Wt,()=>o("curateDesignToProjectFlag",!1)),m.useEffect(()=>{const Ke={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-316017.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let Je=qn.apps.length===0;return qn.apps.length===1&&qn.apps[0].name===KV.LOG_DATA&&(Je=!0),Je?qn.initializeApp(Ke):qn.app(),qn.auth().onAuthStateChanged(ct=>{const Ne=new URLSearchParams(window.location.search).get("title");n(ct?lt=>{lt.user&&(lt.user.uid=ct.uid,lt.user.displayName=ct.displayName,lt.user.email=ct.email,lt.user.photoURL=ct.photoURL),lt.cloudFile=Ne??void 0}:lt=>{lt.cloudFile=Ne??void 0})}),Ce(),window.addEventListener("popstate",Se),()=>{window.removeEventListener("popstate",Se)}},[]);const Se=()=>{if(t)return;const Ke=new URLSearchParams(window.location.search),Je=Ke.get("userid"),ct=Ke.get("title");Je&&ct&&ut(Je,ct,!0)};m.useEffect(()=>{if(se){if(q.current&&i.uid){const Ke=[];q.current.forEach((Je,ct)=>{Ke.push({title:Je.title,timestamp:Je.timestamp})}),Ke.sort((Je,ct)=>ct.timestamp-Je.timestamp),ne(Ke)}le(!1)}},[se]),m.useEffect(()=>{if(fe){if(te.current){const Ke=[];te.current.forEach((Je,ct)=>{Ke.push({key:ct.toString(),owner:Je.owner,title:Je.title,time:gc(new Date(Je.timestamp)).format("MM/DD/YYYY hh:mm A"),timestamp:Je.timestamp,description:Je.description,dataColoring:Je.dataColoring,selectedProperty:Je.selectedProperty,sortDescending:Je.sortDescending,xAxisNameScatterPlot:Je.xAxisNameScatterPlot,yAxisNameScatterPlot:Je.yAxisNameScatterPlot,dotSizeScatterPlot:Je.dotSizeScatterPlot,thumbnailWidth:Je.thumbnailWidth,type:Je.type,designs:Je.designs,ranges:Je.ranges??[],filters:Je.filters??[],hiddenParameters:Je.hiddenParameters??dd.getDefaultHiddenParameters(Je.type),counter:Je.counter,action:""})}),Ke.sort((Je,ct)=>ct.timestamp-Je.timestamp),pe(Ke)}$(!1)}},[fe]),m.useEffect(()=>{if(ee.current=new Map,i.aliases&&i.aliases.length>0){for(const Ke of i.aliases)if(Ke!==i.displayName){const Je=k.get(Ke);Je&&(ee.current=new Map([...ee.current,...Je]))}}if(i.displayName){const Ke=k.get(i.displayName);Ke&&(ee.current=new Map([...ee.current,...Ke]))}},[k,i.displayName,i.aliases]),m.useEffect(()=>{ie(y)},[S]),m.useEffect(()=>{J(A??"My Aladdin File")},[A]);const Ce=()=>{const Ke=new URLSearchParams(window.location.search),Je=Ke.get("userid");if(Je){const ct=Ke.get("title"),Pt=Ke.get("project");Pt?(B(!0),Htt(Je,Pt,We).finally(()=>{B(!1)}),ct&&Ee(Je,ct)):ct&&ut(Je,ct)}else n(ct=>{ct.cloudFile=void 0})},ve=()=>{n(Ke=>{Ke.objectTypeToAdd=z.None,Ke.groupActionMode=!1})},Ie=()=>{const Ke=new qn.auth.GoogleAuthProvider;qn.auth().signInWithPopup(Ke).then(Je=>{n(ct=>{Je.user&&(ct.user.uid=Je.user.uid,ct.user.email=Je.user.email,ct.user.displayName=Je.user.displayName,ct.user.photoURL=Je.user.photoURL,ze({...ct.user}).then(()=>{}))})}).catch(Je=>{Je.code!=="auth/popup-closed-by-user"&&Je.code!=="auth/cancelled-popup-request"&&Do(j.t("message.CannotSignIn",de)+": "+Je)}),ve()},ze=async Ke=>{const Je=qn.firestore();let ct=!1,Pt=!1,Ne=rc.UNKNOWN,lt=Ua.UNKNOWN,Ye=[],st=[],je=[],mt=[],Ht=!1,wt=0;Ke.uid!==null&&(Ke&&Ke.email==="charles@intofuture.org"&&await Je.collection("users").get().then(Et=>{wt=Et.size}),Ht=await Je.collection("users").doc(Ke.uid).get().then(Et=>{const zt=Et.data();return zt?(ct=!!zt.signFile,Pt=!!zt.noLogging,Ne=zt.schoolID?zt.schoolID:rc.UNKNOWN,lt=zt.classID?zt.classID:Ua.UNKNOWN,zt.fileList&&(Ye=zt.fileList),zt.likes&&(st=zt.likes),zt.published&&(je=zt.published),zt.aliases&&(mt=zt.aliases),!0):!1})),Ht?(n(It=>{It.user.signFile=ct,It.user.noLogging=Pt,It.user.schoolID=Ne,It.user.classID=lt,It.user.fileList=Ye,It.user.likes=st,It.user.published=je,It.user.aliases=mt}),ht.getState().set(It=>{It.userCount=wt}),Ke.signFile=ct,Ke.noLogging=Pt,Ke.schoolID=Ne,Ke.classID=lt,Ke.fileList=Ye,Ke.likes=st,Ke.published=je,Ke.aliases=mt):Ke.uid&&Je.collection("users").doc(Ke.uid).set({uid:Ke.uid,signFile:!!Ke.signFile,noLogging:!!Ke.noLogging,schoolID:Ke.schoolID??rc.UNKNOWN,classID:Ke.classID??Ua.UNKNOWN,since:gc(new Date).format("MM/DD/YYYY hh:mm A"),os:xe.getOS()}).then(()=>{hn(j.t("message.YourAccountWasCreated",de))}).catch(It=>{Do(j.t("message.CannotCreateAccount",de)+": "+It)})},ye=()=>{qn.auth().signOut().then(()=>{n(Ke=>{Ke.user.uid=null,Ke.user.email=null,Ke.user.displayName=null,Ke.user.photoURL=null,Ke.user.signFile=!1,Ke.user.fileList=[],Ke.user.likes=[],Ke.user.published=[],Ke.user.aliases=[],Ke.cloudFile=void 0}),ht.getState().set(Ke=>{Ke.showCloudFilePanel=!1,Ke.showAccountSettingsPanel=!1,Ke.showModelsGallery=!1,Ke.showProjectListPanel=!1})}).catch(Ke=>{Do(j.t("message.CannotSignOut",de)+": "+Ke)})};function oe(){i.uid&&qn.firestore().collection("users").doc(i.uid).update({signFile:!!i.signFile,schoolID:i.schoolID??rc.UNKNOWN,classID:i.classID??Ua.UNKNOWN}).then(()=>{hn(j.t("message.YourAccountSettingsWereSaved",de))}).catch(Je=>{Do(j.t("message.CannotSaveYourAccountSettings",de)+": "+Je)})}const ge=async()=>{B(!0),await qn.firestore().collection("models").get().then(Ke=>{const Je=new Map;return Ke.forEach(ct=>{var Ne;const Pt=ct.data();if(Pt){const lt=new Map;for(const Ye in Pt)Pt[Ye].countryCode||(Ne=Pt[Ye].address)!=null&&Ne.endsWith("USA")&&(Pt[Ye].countryCode="US"),lt.set(Ye,Pt[Ye]);Je.set(ct.id,lt)}}),n(ct=>{ct.modelSites=Je}),Je}).catch(Ke=>{Do(j.t("message.CannotLoadModelsOnMap",de)+": "+Ke)}).finally(()=>{B(!1)})},Ae=async()=>{await qn.firestore().collection("board").doc("info").get().then(Ke=>{if(Ke.exists){const Je=Ke.data();Je&&Je.latestModel&&n(ct=>{var lt;let Pt=!1;const Ne=Je.latestModel;Ne.author&&(Pt=!!((lt=ct.peopleModels.get(Ne.author))!=null&<.get(xe.getModelKey(Ne)))),ct.latestModelSite=Pt?Ne:void 0})}}).catch(Ke=>{console.log(Ke)})},me=async()=>{B(!0),await qn.firestore().collection("board").doc("people").get().then(Ke=>{const Je=Ke.data();if(Je){const ct=new Map;for(const Pt in Je)ct.set(Pt,new Map(Object.entries(Je[Pt])));n(Pt=>{Pt.peopleModels=ct})}}).catch(Ke=>{Do(j.t("message.CannotLoadLeaderboard",de)+": "+Ke)}).finally(()=>{B(!1)})},Pe=(Ke,Je)=>{i&&i.uid&&(qn.firestore().collection("models").doc(xe.getLatLngKey(Ke.latitude,Ke.longitude)).update({[xe.getModelKey(Ke)]:qn.firestore.FieldValue.delete()}).then(()=>{y2(j.t("message.ModelDeletedFromMap",de)),Je&&Je()}).catch(ct=>{Do(j.t("message.CannotDeleteModelFromMap",de)+": "+ct)}),qn.firestore().collection("board").doc("people").update({[(Ke.author??"Anonymous")+"."+xe.getModelKey(Ke)]:qn.firestore.FieldValue.delete()}).then(()=>{n(ct=>{ct.peopleModels&&(ct.peopleModels.delete(xe.getModelKey(Ke)),ht.getState().set(Pt=>{Pt.leaderboardFlag=!0}))})}),qn.firestore().collection("users").doc(i.uid).update({published:qn.firestore.FieldValue.arrayRemove(Ke.title)}).then(()=>{n(ct=>{if(ct.user&&ct.user.published&&ct.user.published.includes(Ke.title)){const Pt=ct.user.published.indexOf(Ke.title);Pt>=0&&ct.user.published.splice(Pt,1)}})}))},Me=(Ke,Je,ct)=>{if(i&&i.uid){const Pt=xe.getModelKey(Ke);qn.firestore().collection("users").doc(i.uid).update(Je?{likes:qn.firestore.FieldValue.arrayUnion(Pt)}:{likes:qn.firestore.FieldValue.arrayRemove(Pt)}).then(()=>{}).catch(lt=>{Do(j.t("message.CannotLikeModelFromMap",de)+": "+lt)});const Ne=Pt+".likeCount";qn.firestore().collection("models").doc(xe.getLatLngKey(Ke.latitude,Ke.longitude)).update(Je?{[Ne]:qn.firestore.FieldValue.increment(1)}:{[Ne]:qn.firestore.FieldValue.increment(-1)}).then(()=>{ct&&ct()}).catch(lt=>{Do(j.t("message.CannotLikeModelFromMap",de)+": "+lt)})}},Te=(Ke,Je,ct)=>{i&&i.uid&&qn.firestore().collection("models").doc(xe.getLatLngKey(Ke.latitude,Ke.longitude)).update({[xe.getModelKey(Ke)+".pinned"]:Je}).then(()=>{ct&&ct()}).catch(()=>{})},De=Ke=>{i&&i.uid&&qn.firestore().collection("models").doc(xe.getLatLngKey(Ke.latitude,Ke.longitude)).update({[xe.getModelKey(Ke)+".clickCount"]:qn.firestore.FieldValue.increment(1)}).then(()=>{}).catch(()=>{})},Ue=async Ke=>{i.uid&&(Ke||B(!0),te.current=await qn.firestore().collection("users").doc(i.uid).collection("projects").get().then(Je=>{const ct=[];return Je.forEach(Pt=>{const Ne=Pt.data();ct.push({owner:i.uid,title:Pt.id,timestamp:Ne.timestamp,description:Ne.description,dataColoring:Ne.dataColoring,selectedProperty:Ne.selectedProperty,sortDescending:Ne.sortDescending,xAxisNameScatterPlot:Ne.xAxisNameScatterPlot,yAxisNameScatterPlot:Ne.yAxisNameScatterPlot,dotSizeScatterPlot:Ne.dotSizeScatterPlot,thumbnailWidth:Ne.thumbnailWidth,type:Ne.type,designs:Ne.designs??[],ranges:Ne.ranges??[],filters:Ne.filters??[],hiddenParameters:Ne.hiddenParameters??dd.getDefaultHiddenParameters(Ne.type),counter:Ne.counter??0})}),ct}).catch(Je=>{Do(j.t("message.CannotOpenYourProjects",de)+": "+Je)}).finally(()=>{Ke||B(!1),$(!0)}))},Oe=Ke=>{i.uid&&Ue(!Ke).then(()=>{Ke&&ht.getState().set(Je=>{Je.showProjectListPanel=!0})})},Le=Ke=>{i.uid&&qn.firestore().collection("users").doc(i.uid).collection("projects").doc(Ke).delete().then(()=>{if(te.current&&i.uid){for(const Je of te.current)if(Je.title===Ke&&Je.designs){for(const ct of Je.designs)n(Pt=>{ct.title===Pt.cloudFile&&(Pt.cloudFile=void 0)}),qn.firestore().collection("users").doc(i.uid).collection("designs").doc(ct.title).delete().then(()=>{}).catch(Pt=>{Do(j.t("message.CannotDeleteCloudFile",de)+": "+Pt)});$(!0);break}te.current=te.current.filter(Je=>Je.title!==Ke),Y(!_)}n(Je=>{Ke===Je.projectState.title&&(Je.projectState.title=null,Je.projectState.description=null,Je.projectState.dataColoring=n9.ALL,Je.projectState.selectedProperty=null,Je.projectState.sortDescending=!1,Je.projectState.xAxisNameScatterPlot=null,Je.projectState.yAxisNameScatterPlot=null,Je.projectState.dotSizeScatterPlot=5,Je.projectState.thumbnailWidth=200,Je.projectState.counter=0,Je.projectState.designs=[],Je.projectState.ranges=[],Je.projectState.filters=[],Je.projectState.hiddenParameters=dd.getDefaultHiddenParameters(Je.projectState.type),Je.designProjectType=null,Je.projectView=!1)})}).catch(Je=>{Do(j.t("message.CannotDeleteProject",de)+": "+Je)})},$e=(Ke,Je)=>{const ct=i.uid;ct&&tae(ct,Je,Pt=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+Pt)}).then(Pt=>{if(Pt)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+Je);else{const Ne=qn.firestore().collection("users").doc(ct).collection("projects");Ne.doc(Ke).get().then(lt=>{if(lt.exists){const Ye=lt.data();if(Ye){const st={...Ye};if(Ye.designs&&Ye.designs.length>0){const je=aCe(Je,Ye.designs)??[];for(const[mt,Ht]of Ye.designs.entries())lCe(Ht.title,je[mt].title,Ye.owner,ct);st.designs=je,n(mt=>{mt.projectState.designs=je})}Ne.doc(Je).set(st).then(()=>{if(Ne.doc(Ke).delete().then(()=>{}),te.current){const je=[];for(const mt of te.current)mt.title===Ke?je.push({owner:mt.owner,timestamp:mt.timestamp,title:Je,description:mt.description,type:mt.type,designs:mt.designs,ranges:mt.ranges??null,filters:mt.filters??null,hiddenParameters:mt.hiddenParameters,counter:mt.counter}):je.push(mt);te.current=je,Y(!_),$(!0)}n(je=>{je.projectState.title===Ke&&(je.projectState.title=Je)})})}}}).catch(lt=>{Do(j.t("message.CannotRenameProject",de)+": "+lt)})}})},We=Ke=>{n(Je=>{Je.projectState={...Ke},Je.projectImages.clear(),Je.projectView=!0}),ht.getState().set(Je=>{Je.projectImagesUpdateFlag=!Je.projectImagesUpdateFlag,Je.updateProjectsFlag=!0})},Ee=(Ke,Je)=>{Ke&&Je&&(B(!0),IX(Ke,Je,!0,!0,t).finally(()=>{B(!1)}))},Fe=(Ke,Je,ct,Pt)=>{if(!i.uid||!e)return;const Ne=xe.resizeCanvas(e,Pt).toDataURL(),lt=Mtt(Ke,ct,Ne);qn.firestore().collection("users").doc(i.uid).collection("projects").doc(Je).update({designs:qn.firestore.FieldValue.arrayUnion(lt),counter:qn.firestore.FieldValue.increment(1)}).then(()=>{n(Ye=>{var st;(st=Ye.projectState.designs)==null||st.push(lt),Ye.projectState.counter++,Ye.designProjectType=Ye.projectState.type,Ye.cloudFile=lt.title}),xt(ct,!0,!0)}).catch(Ye=>{Do(j.t("message.CannotAddDesignToProject",de)+": "+Ye)}).finally(()=>{B(!1)})},Ge=(Ke,Je,ct)=>{if(!i.uid)return;const Pt=Ke.trim();if(Pt.length===0){Do(j.t("menu.file.SavingAbortedMustHaveValidTitle",de)+".");return}B(!0),ct?sCe(i.uid,Ke,Ne=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+Ne)}).then(Ne=>{Ne?(B(!1),_r.confirm({title:`${j.t("message.CloudFileWithTitleExistsDoYouWantToOverwrite",de)}`,icon:h.jsx(WW,{}),onOk:()=>{xt(Pt,Je)},onCancel:()=>{n(lt=>{lt.showCloudFileTitleDialogFlag=!lt.showCloudFileTitleDialogFlag,lt.showCloudFileTitleDialog=!0})},okText:`${j.t("word.Yes",de)}`,cancelText:`${j.t("word.No",de)}`})):xt(Pt,Je)}):xt(Pt,Je),ie(!1)},rt=(Ke,Je)=>{if(q.current){let ct=-1;for(const[Pt,Ne]of q.current.entries())if(Ne.title===Je){ct=Pt,uCe(Ke,Ne);break}ct!==-1&&q.current.splice(ct,1)}},Ve=(Ke,Je,ct)=>{if(q.current){let Pt=-1,Ne=null,lt=null;for(const[Ye,st]of q.current.entries())if(st.title===Je){Pt=Ye,Ne={title:Je,timestamp:st.timestamp},lt={title:ct,timestamp:st.timestamp};break}Pt!==-1&<&&Ne&&(q.current.splice(Pt,1),q.current.push(lt),uCe(Ke,Ne),cCe(Ke,lt))}},xt=(Ke,Je,ct)=>{const Pt=i.uid;if(Pt)try{const Ne=qn.firestore().collection("users").doc(Pt);if(Ne){D&&ht.getState().set(Ye=>{Ye.waiting=!0});const lt=Ne.collection(ct?"designs":"files").doc(Ke);lt.set(c()).then(()=>{if(Je||(n(Ye=>{Ye.cloudFile=Ke}),ht.getState().setChanged(!1)),D)D==="CREATE_NEW_FILE"?R():x(D);else if(!ct){const Ye=qp+"?client=web&userid="+Pt+"&title="+encodeURIComponent(Ke);window.history.pushState({},document.title,Ye)}lt.get().then(Ye=>{const st=Ye.data();if(st&&q.current){rt(Pt,Ke);const je={timestamp:st.timestamp,title:Ke};q.current.push(je),cCe(Pt,je),le(!0)}})}).catch(Ye=>{Do(j.t("message.CannotSaveYourFileToCloud",de)+": "+Ye)}).finally(()=>{B(!1)})}}catch(Ne){Do(j.t("message.CannotSaveYourFileToCloud",de)+": "+Ne),B(!1)}},dt=(Ke,Je)=>{H?_r.confirm({title:`${j.t("message.DoYouWantToSaveChanges",de)}`,icon:h.jsx($m,{}),onOk:()=>{A?(Ge(A,!0,!1),ut(Ke,Je)):n(ct=>{ct.showCloudFileTitleDialogFlag=!ct.showCloudFileTitleDialogFlag,ct.showCloudFileTitleDialog=!0})},onCancel:()=>{ut(Ke,Je)},okText:`${j.t("word.Yes",de)}`,cancelText:`${j.t("word.No",de)}`}):ut(Ke,Je)},Qe=Ke=>{H?_r.confirm({title:`${j.t("message.DoYouWantToSaveChanges",de)}`,icon:h.jsx($m,{}),onOk:()=>{A?(Ge(A,!0,!1),ut(Ke.userid,Ke.title),De(Ke)):n(Je=>{Je.showCloudFileTitleDialogFlag=!Je.showCloudFileTitleDialogFlag,Je.showCloudFileTitleDialog=!0})},onCancel:()=>{ut(Ke.userid,Ke.title),De(Ke)},okText:`${j.t("word.Yes",de)}`,cancelText:`${j.t("word.No",de)}`}):(ut(Ke.userid,Ke.title),De(Ke))},ut=(Ke,Je,ct)=>{Ke&&Je&&(B(!0),IX(Ke,Je,!1,ct,t).finally(()=>{B(!1)}))},ft=async()=>{const Ke=i.uid;Ke&&(B(!0),q.current=[],await qn.firestore().collection("users").doc(Ke).get().then(async Je=>{var Pt,Ne;const ct=(Pt=Je.data())==null?void 0:Pt.fileList;ct&&ct.length>0?(Ne=q.current)==null||Ne.push(...ct):await qn.firestore().collection("users").doc(Ke).collection("files").get().then(lt=>{lt.forEach(Ye=>{var je;const st=Ye.data();(je=q.current)==null||je.push({timestamp:st.timestamp,title:Ye.id})})}).catch(lt=>{Do(j.t("message.CannotOpenCloudFolder",de)+": "+lt)}).finally(()=>{qn.firestore().collection("users").doc(Ke).update({fileList:q.current}).then(()=>{}).catch(lt=>{console.log(lt)})})}).finally(()=>{B(!1),le(!0)}))},at=(Ke,Je)=>{qn.firestore().collection("users").doc(Ke).collection("files").doc(Je).delete().then(()=>{rt(Ke,Je),ne(ae.filter(ct=>ct.title!==Je)),n(ct=>{Je===ct.cloudFile&&(ct.cloudFile=void 0)})}).catch(ct=>{Do(j.t("message.CannotDeleteCloudFile",de)+": "+ct)})},ot=(Ke,Je,ct)=>{sCe(Ke,ct,Pt=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+Pt)}).then(Pt=>{if(Pt)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+ct);else{const Ne=qn.firestore().collection("users").doc(Ke).collection("files");Ne.doc(Je).get().then(lt=>{if(lt.exists){const Ye=lt.data();Ye&&Ne.doc(ct).set(Ye).then(()=>{Ne.doc(Je).delete().then(()=>{}).catch(je=>{Do(j.t("message.CannotDeleteCloudFile",de)+" "+Je+": "+je)});for(const je of ae)if(je.title===Je){je.title=ct;break}ne([...ae]),Ve(Ke,Je,ct),n(je=>{je.cloudFile===Je&&(je.cloudFile=ct)});const st=new URLSearchParams(window.location.search);if(st.get("title")===Je&&st.get("userid")===i.uid){const je=qp+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(ct);window.history.pushState({},document.title,je)}})}}).catch(lt=>{Do(j.t("message.CannotRenameCloudFile",de)+": "+lt)})}})};function et(){A&&(Ge(A,!1,!1),J(A))}function _e(){ge().then(()=>{Ae().then(()=>{})})}function nt(){me().then(()=>{Ae().then(()=>{})})}function yt(){if(i&&i.uid&&O){const Ke=new URLSearchParams(window.location.search);if(Ke.get("userid")===i.uid&&Ke.get("title")===O){const Je={latitude:r,longitude:a,address:l??null,countryCode:s??null,type:M.getState().modelType,author:M.getState().modelAuthor??i.displayName,userid:i.uid,title:O,label:M.getState().modelLabel,description:M.getState().modelDescription,timeCreated:Date.now()},ct=xe.getModelKey(Je),Pt=qn.firestore().collection("models");if(Pt){const Ne=qn.storage().ref();e&&xe.resizeCanvas(e,200).toBlob(Ye=>{if(Ye){const st={contentType:"image/png"},je=Ne.child("images/"+ct+".png").put(Ye,st);je.on(qn.storage.TaskEvent.STATE_CHANGED,mt=>{const Ht=mt.bytesTransferred/mt.totalBytes*100;Ht>0&&hn(j.t("word.Upload",de)+": "+Ht+"%")},mt=>{Do("Storage: "+mt)},()=>{je.snapshot.ref.getDownloadURL().then(mt=>{const Ht={...Je,thumbnailUrl:mt},wt=Pt.doc(xe.getLatLngKey(r,a));wt.get().then(It=>{if(It.exists){const Et=It.data();Et&&Et[ct]?wt.set({[ct]:Ht},{merge:!0}).then(()=>{y2(j.t("menu.file.UpdatedOnModelsMap",de)+".")}):wt.set({[ct]:Ht},{merge:!0}).then(()=>{y2(j.t("menu.file.PublishedOnModelsMap",de)+".")})}else wt.set({[ct]:Ht},{merge:!0}).then(()=>{y2(j.t("menu.file.PublishedOnModelsMap",de)+".")})}).catch(It=>{Do(j.t("message.CannotPublishModelOnMap",de)+": "+It)}),qn.firestore().collection("board").doc("people").update({[(Ht.author??"Anonymous")+"."+xe.getModelKey(Ht)]:Ht}).then(()=>{n(It=>{if(It.peopleModels){const Et=It.peopleModels.get(Ht.author??"Anonymous");Et&&Et.set(xe.getModelKey(Ht),Ht)}})}),qn.firestore().collection("board").doc("info").set({latestModel:Ht},{merge:!0}).then(()=>{})})})}})}qn.firestore().collection("users").doc(i.uid).update(M.getState().modelAuthor===i.displayName?{published:qn.firestore.FieldValue.arrayUnion(O)}:{published:qn.firestore.FieldValue.arrayUnion(O),aliases:qn.firestore.FieldValue.arrayUnion(M.getState().modelAuthor)}).then(()=>{n(Ne=>{Ne.user&&(Ne.user.published||(Ne.user.published=[]),Ne.user.published.includes(O)||Ne.user.published.push(O),Ne.user.aliases||(Ne.user.aliases=[]),Ne.modelAuthor&&!Ne.user.aliases.includes(Ne.modelAuthor)&&Ne.modelAuthor!==i.displayName&&Ne.user.aliases.push(Ne.modelAuthor))})})}}}function Tt(){if(!i||!i.uid)return;const Ke=ht.getState().projectTitle;if(!Ke){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}const Je=Ke.trim();if(Je.length===0){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}tae(i.uid,Je,ct=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+ct)}).then(ct=>{if(ct)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+Je);else if(i&&i.uid){const Pt=ht.getState().projectType??Tr.SOLAR_PANEL_ARRAY,Ne=ht.getState().projectDescription??null,lt=new Date().getTime();qn.firestore().collection("users").doc(i.uid).collection("projects").doc(Je).set({owner:i.uid,timestamp:lt,type:Pt,description:Ne,counter:0,designs:[],hiddenParameters:dd.getDefaultHiddenParameters(Pt)}).then(()=>{n(st=>{st.projectView=!0,st.projectState.owner=i.uid,st.projectState.type=Pt,st.projectState.title=Ke,st.projectState.description=Ne,st.projectState.counter=0,st.projectState.dataColoring=n9.ALL,st.projectState.selectedProperty=null,st.projectState.sortDescending=!1,st.projectState.xAxisNameScatterPlot=null,st.projectState.yAxisNameScatterPlot=null,st.projectState.dotSizeScatterPlot=5,st.projectState.thumbnailWidth=200,st.projectState.designs=[],st.projectState.ranges=[],st.projectState.filters=[],st.projectState.hiddenParameters=dd.getDefaultHiddenParameters(st.projectState.type)})}).catch(st=>{Do(j.t("message.CannotCreateNewProject",de)+": "+st)}).finally(()=>{d&&Ue(!1).then(()=>{Y(!_)}),B(!1)})}}).finally(()=>{B(!1)})}function Rt(){if(!i||!i.uid)return;const Ke=ht.getState().projectTitle;if(!Ke){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}const Je=Ke.trim();if(Je.length===0){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}tae(i.uid,Je,ct=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+ct)}).then(ct=>{if(ct)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+Je);else if(i&&i.uid){const Pt=M.getState().projectState.designs;if(Pt){const Ne=ht.getState().projectType,lt=ht.getState().projectDescription,Ye=M.getState().projectState.owner,st=new Date().getTime(),je=M.getState().projectState.counter,mt=M.getState().projectState.dataColoring??null,Ht=M.getState().projectState.selectedProperty??null,wt=!!M.getState().projectState.sortDescending,It=M.getState().projectState.xAxisNameScatterPlot??"rowWidth",Et=M.getState().projectState.yAxisNameScatterPlot??"rowWidth",zt=M.getState().projectState.dotSizeScatterPlot??5,ln=M.getState().projectState.thumbnailWidth??200,Xt=aCe(Je,Pt)??[];for(const[rn,bn]of Pt.entries())lCe(bn.title,Xt[rn].title,Ye,i.uid);const fn=M.getState().projectImages;if(fn&&fn.size>0){for(const[rn,bn]of Pt.entries()){const Tn=fn.get(bn.title);Tn&&(Xt[rn].thumbnail=_Yn(Tn))}qn.firestore().collection("users").doc(i.uid).collection("projects").doc(Je).set({owner:i.uid,timestamp:st,type:Ne,description:lt,counter:je,dataColoring:mt,selectedProperty:Ht,sortDescending:wt,xAxisNameScatterPlot:It,yAxisNameScatterPlot:Et,dotSizeScatterPlot:zt,thumbnailWidth:ln,designs:Xt,ranges:M.getState().projectState.ranges??null,filters:M.getState().projectState.filters??null,hiddenParameters:M.getState().projectState.hiddenParameters}).then(()=>{n(rn=>{rn.projectView=!0,rn.projectState.owner=i.uid,rn.projectState.type=Ne,rn.projectState.title=Ke,rn.projectState.description=lt,rn.projectState.designs=Xt})}).catch(rn=>{Do(j.t("message.CannotCreateNewProject",de)+": "+rn)}).finally(()=>{d&&Ue(!1).then(()=>{Y(!_)}),B(!1)})}}}})}function Wt(){const Ke=M.getState().projectState.owner;if(i.uid!==Ke)hn(j.t("message.CannotAddDesignToProjectOwnedByOthers",de));else{const Je=M.getState().projectState.title;if(Je){B(!0);const ct=M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY,Pt=M.getState().projectState.thumbnailWidth??200,Ne=M.getState().projectState.counter??0;Fe(ct,Je,Je+" "+Ne,Pt)}}}function Ct(){i.uid&&ft().then(()=>{ht.getState().set(Ke=>{Ke.showCloudFilePanel=!0})})}function At(){Oe(!0)}function Ft(){Oe(!1),Y(!_)}return t?h.jsx(h.Fragment,{children:g&&h.jsx(ZHe,{openCloudFile:Qe,deleteModelFromMap:Pe,likeModelFromMap:Me,pinModelFromMap:Te})}):h.jsxs(h.Fragment,{children:[F&&h.jsx(fQ,{}),h.jsx(Opo,{saveToCloud:Ge,isLoading:()=>F,setTitle:J,getTitle:()=>O,setTitleDialogVisible:ie,isTitleDialogVisible:()=>Z}),h.jsx(Ypo,{signIn:Ie,signOut:ye}),u&&q.current&&h.jsx(Wfo,{cloudFileArray:ae,openCloudFile:Ke=>{i.uid&&dt(i.uid,Ke)},deleteCloudFile:Ke=>{i.uid&&at(i.uid,Ke)},renameCloudFile:(Ke,Je)=>{i.uid&&ot(i.uid,Ke,Je)}}),d&&te.current&&h.jsx(Xpo,{projects:he,setProjectState:We,deleteProject:Le,renameProject:$e}),f&&h.jsx(Fot,{author:void 0,models:ee.current,openCloudFile:dt,closeCallback:()=>{o("showModelsGallery",!1),ee.current=void 0}}),p&&h.jsx($fo,{openCloudFile:ut}),g&&h.jsx(ZHe,{openCloudFile:Qe,deleteModelFromMap:Pe,likeModelFromMap:Me,pinModelFromMap:Te})]})});var Kpo={},qpo="@firebase/database",$po="0.11.0";/** +`,Vpo=be.memo(({projects:t,setProjectState:e,deleteProject:n,renameProject:o})=>{const i=M(o1),r=M(dn),a=M(bc),l=be.useRef(null),s=m.useRef(null),c=s.current?s.current.clientWidth+40:680,u=s.current?s.current.clientHeight+100:600,[d,f]=m.useState({x:0,y:0}),[p,g]=m.useState(!1),[A,w]=m.useState(!1),[b,C]=m.useState({left:0,top:0,bottom:0,right:0}),[P,v]=m.useState(),[T,y]=m.useState(),S=m.useRef(null),x=m.useRef([...t]),[R,H]=m.useState(!1),[D,k]=m.useState(-1),{Search:W}=ns,{t:N}=jl(),L=Kt();m.useEffect(()=>{const O=()=>{f({x:Math.max(0,c-window.innerWidth),y:Math.min(0,window.innerHeight-u)})};return window.addEventListener("resize",O),()=>{window.removeEventListener("resize",O)}},[]),m.useEffect(()=>{t&&(x.current=[...t],H(!R))},[t]);const E=(O,J)=>{f({x:Math.max(J.x,c-window.innerWidth),y:Math.min(J.y,window.innerHeight-u)})},U=(O,J)=>{},F=()=>{ht.getState().set(O=>{O.showProjectListPanel=!1})},B=O=>{_r.confirm({title:N("projectListPanel.DoYouReallyWantToDeleteProject",L)+' "'+O+'"?',content:h.jsxs("span",{style:{color:"red",fontWeight:"bold"},children:[h.jsx(qG,{style:{marginRight:"6px"}}),N("word.Warning",L)+": "+N("message.ThisCannotBeUndone",L)]}),icon:h.jsx(WW,{}),onOk:()=>{n(O)}})},_=()=>{P&&T&&(o(P,T),y(void 0),H(!R)),g(!1)},Y=(O,J)=>{if(S.current){const{clientWidth:Z,clientHeight:ie}=window.document.documentElement,ee=S.current.getBoundingClientRect();C({left:-ee.left+J.x,right:Z-(ee.right-J.x),top:-ee.top+J.y,bottom:ie-((ee==null?void 0:ee.bottom)-J.y)})}};return h.jsxs(h.Fragment,{children:[h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>w(!0),onMouseOut:()=>w(!1),children:N("word.Rename",L)}),open:p,onOk:_,onCancel:()=>{g(!1),y(void 0)},modalRender:O=>h.jsx(Vr,{disabled:!A,bounds:b,onStart:(J,Z)=>Y(J,Z),children:h.jsx("div",{ref:S,children:O})}),children:h.jsxs(en,{direction:"vertical",style:{width:"100%"},children:[h.jsx(ns,{placeholder:"Title",value:T||P,onPressEnter:_,onKeyDown:O=>{if(!JC.test(O.key))return O.preventDefault(),!1},onChange:O=>{y(O.target.value)}}),h.jsxs("span",{style:{fontSize:"11px",color:"red"},children:[h.jsx(qG,{style:{marginRight:"4px"}}),N("word.Caution",L)+": "+N("projectListPanel.IfSharedOrPublishedRenamingProjectBreaksExistingLinks",L),"."]})]})}),h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:E,onStop:U,onMouseDown:()=>{r(O=>{O.selectedFloatingWindow="projectListPanel"})},children:h.jsx(Ypo,{ref:l,style:{zIndex:a==="projectListPanel"?xc:14},children:h.jsxs(Opo,{ref:s,children:[h.jsxs(_po,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:N("projectListPanel.MyProjects",L)+" ("+x.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{F()},onTouchStart:()=>{F()},children:N("word.Close",L)})]}),h.jsx("span",{style:{direction:"ltr"},children:h.jsx(W,{style:{width:"50%",paddingTop:"8px",paddingBottom:"8px"},title:N("projectListPanel.SearchByTitle",L),allowClear:!0,size:"small",enterButton:!0,onSearch:O=>{var J;if(t){x.current=[];for(const Z of t)(J=Z.title)!=null&&J.toLowerCase().includes(O.toLowerCase())&&x.current.push(Z);H(!R)}}})}),h.jsxs(Hd,{size:"small",style:{width:"100%",direction:"ltr",verticalAlign:"top"},dataSource:x.current,scroll:{y:360},pagination:{defaultPageSize:10,showSizeChanger:!0,position:["bottomCenter"],pageSizeOptions:["10","20","50"]},children:[h.jsx(Rae,{title:`${N("word.Title",L)}`,dataIndex:"title",width:"50%",sortDirections:["ascend","descend","ascend"],sorter:(O,J)=>O.title.localeCompare(J.title),render:(O,J,Z)=>{const ie=[{key:"project-title",label:h.jsxs(h.Fragment,{children:[h.jsx(tn,{noPadding:!0,fontWeight:"bold",children:O}),h.jsx("hr",{})]})},{key:"open-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>e(J),children:N("word.Open",L)})},{key:"copy-title-to-clip-board",label:h.jsx(tn,{noPadding:!0,onClick:()=>{navigator.clipboard.writeText(O).then(()=>y2(N("projectListPanel.TitleCopiedToClipBoard",L)+"."))},children:N("projectListPanel.CopyTitle",L)})},{key:"rename-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>{v(O),g(!0)},children:N("word.Rename",L)})},{key:"delete-project",label:h.jsx(tn,{noPadding:!0,onClick:()=>B(O),children:N("word.Delete",L)})},{key:"generate-project-link",label:h.jsx(tn,{noPadding:!0,onClick:()=>{const ee=qp+"?client=web&userid="+i.uid+"&project="+encodeURIComponent(O);navigator.clipboard.writeText(ee).then(()=>y2(N("projectListPanel.ProjectLinkGeneratedInClipBoard",L)+"."))},children:N("projectListPanel.GenerateProjectLink",L)})}];return h.jsxs(en,{style:{width:"100%"},children:[h.jsx(W7,{menu:{items:ie},trigger:["hover"],children:h.jsx(EJe,{style:{fontSize:"12px",cursor:"pointer"},onMouseEnter:()=>{Z!==void 0&&k(Z)},onMouseLeave:()=>{k(-1)}})}),h.jsx(C6.Text,{title:N("word.Open",L),style:{fontSize:"12px",cursor:"pointer",verticalAlign:"top"},onClick:()=>{const ee=window.getSelection();ee&&ee.toString().length>0||e(J)},children:O})]})},onCell:(O,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"title"),h.jsx(Rae,{title:`${N("word.Type",L)}`,dataIndex:"type",width:"25%",render:O=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:O}),onCell:(O,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"type"),h.jsx(Rae,{title:`${N("word.Time",L)}`,dataIndex:"time",width:"25%",defaultSortOrder:"descend",sortDirections:["ascend","descend","ascend"],sorter:(O,J)=>O.timestamp-J.timestamp,render:O=>h.jsx(C6.Text,{style:{fontSize:"12px",verticalAlign:"top"},children:O}),onCell:(O,J)=>({style:{background:D===J?"lightskyblue":J!==void 0&&J%2===0?"beige":"gainsboro"}})},"time")]})]})})})]})}),Yy=(t,e,n)=>{m.useEffect(()=>{t&&(e(),n())},[t])},Gpo=be.memo(({viewOnly:t=!1,canvas:e})=>{const n=M(dn),o=ht(Ah),i=M(o1),r=M(Xs),a=M(wb),l=M(yq),s=M(ZAt),c=M(GBe),u=ht(Qwt),d=ht(d7t),f=ht(f7t),p=ht(h7t),g=ht(Aq),A=M(yH),w=ht(W4t),b=ht(N4t),C=ht(_4t),P=ht(V4t),v=ht(X4t),T=ht(J4t),y=M(F4t),S=M(YBe),x=M(ege),R=M(XBe),H=ht(BBe),D=M(K4t),k=M(_Be),W=ht(U4t),N=ht(B4t),L=ht(j4t),E=ht(Y4t),U=ht(O4t),[F,B]=m.useState(!1),[_,Y]=m.useState(!1),[O,J]=m.useState(A??"My Aladdin File"),[Z,ie]=m.useState(!1),ee=m.useRef(),q=m.useRef(),[ae,ne]=m.useState([]),[se,le]=m.useState(!1),te=m.useRef(),[he,pe]=m.useState([]),[fe,$]=m.useState(!1),de=Kt();Yy(w,oe,()=>o("saveAccountSettingsFlag",!1)),Yy(b,et,()=>o("saveCloudFileFlag",!1)),Yy(C,Oe,()=>o("modelsMapFlag",!1)),Yy(P,nt,()=>o("leaderboardFlag",!1)),Yy(v,mt,()=>o("publishOnModelsMapFlag",!1)),Yy(W,Tt,()=>o("createProjectFlag",!1)),Yy(N,Rt,()=>o("saveProjectAsFlag",!1)),Yy(E,wt,()=>o("showProjectsFlag",!1)),Yy(U,kt,()=>o("updateProjectsFlag",!1)),Yy(T,Ct,()=>o("listCloudFilesFlag",!1)),Yy(L,Wt,()=>o("curateDesignToProjectFlag",!1)),m.useEffect(()=>{const qe={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-316017.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let Je=ro.apps.length===0;return ro.apps.length===1&&ro.apps[0].name===KV.LOG_DATA&&(Je=!0),Je?ro.initializeApp(qe):ro.app(),ro.auth().onAuthStateChanged(st=>{const Ue=new URLSearchParams(window.location.search).get("title");n(st?lt=>{lt.user&&(lt.user.uid=st.uid,lt.user.displayName=st.displayName,lt.user.email=st.email,lt.user.photoURL=st.photoURL),lt.cloudFile=Ue??void 0}:lt=>{lt.cloudFile=Ue??void 0})}),Ce(),window.addEventListener("popstate",Se),()=>{window.removeEventListener("popstate",Se)}},[]);const Se=()=>{if(t)return;const qe=new URLSearchParams(window.location.search),Je=qe.get("userid"),st=qe.get("title");Je&&st&&ct(Je,st,!0)};m.useEffect(()=>{if(se){if(q.current&&i.uid){const qe=[];q.current.forEach((Je,st)=>{qe.push({title:Je.title,timestamp:Je.timestamp})}),qe.sort((Je,st)=>st.timestamp-Je.timestamp),ne(qe)}le(!1)}},[se]),m.useEffect(()=>{if(fe){if(te.current){const qe=[];te.current.forEach((Je,st)=>{qe.push({key:st.toString(),owner:Je.owner,title:Je.title,time:gc(new Date(Je.timestamp)).format("MM/DD/YYYY hh:mm A"),timestamp:Je.timestamp,description:Je.description,dataColoring:Je.dataColoring,selectedProperty:Je.selectedProperty,sortDescending:Je.sortDescending,xAxisNameScatterPlot:Je.xAxisNameScatterPlot,yAxisNameScatterPlot:Je.yAxisNameScatterPlot,dotSizeScatterPlot:Je.dotSizeScatterPlot,thumbnailWidth:Je.thumbnailWidth,type:Je.type,designs:Je.designs,ranges:Je.ranges??[],filters:Je.filters??[],hiddenParameters:Je.hiddenParameters??dd.getDefaultHiddenParameters(Je.type),counter:Je.counter,action:""})}),qe.sort((Je,st)=>st.timestamp-Je.timestamp),pe(qe)}$(!1)}},[fe]),m.useEffect(()=>{if(ee.current=new Map,i.aliases&&i.aliases.length>0){for(const qe of i.aliases)if(qe!==i.displayName){const Je=k.get(qe);Je&&(ee.current=new Map([...ee.current,...Je]))}}if(i.displayName){const qe=k.get(i.displayName);qe&&(ee.current=new Map([...ee.current,...qe]))}},[k,i.displayName,i.aliases]),m.useEffect(()=>{ie(y)},[S]),m.useEffect(()=>{J(A??"My Aladdin File")},[A]);const Ce=()=>{const qe=new URLSearchParams(window.location.search),Je=qe.get("userid");if(Je){const st=qe.get("title"),Pt=qe.get("project");Pt?(B(!0),Ctt(Je,Pt,We).finally(()=>{B(!1)}),st&&Ee(Je,st)):st&&ct(Je,st)}else n(st=>{st.cloudFile=void 0})},ve=()=>{n(qe=>{qe.objectTypeToAdd=z.None,qe.groupActionMode=!1})},Ie=()=>{const qe=new ro.auth.GoogleAuthProvider;ro.auth().signInWithPopup(qe).then(Je=>{n(st=>{Je.user&&(st.user.uid=Je.user.uid,st.user.email=Je.user.email,st.user.displayName=Je.user.displayName,st.user.photoURL=Je.user.photoURL,ze({...st.user}).then(()=>{}))})}).catch(Je=>{Je.code!=="auth/popup-closed-by-user"&&Je.code!=="auth/cancelled-popup-request"&&Do(j.t("message.CannotSignIn",de)+": "+Je)}),ve()},ze=async qe=>{const Je=ro.firestore();let st=!1,Pt=!1,Ue=rc.UNKNOWN,lt=Ua.UNKNOWN,Ve=[],ut=[],je=[],yt=!1,Ht=0;qe.uid!==null&&(qe&&qe.email==="charles@intofuture.org"&&await Je.collection("users").get().then(It=>{Ht=It.size}),yt=await Je.collection("users").doc(qe.uid).get().then(It=>{const zt=It.data();return zt?(st=!!zt.signFile,Pt=!!zt.noLogging,Ue=zt.schoolID?zt.schoolID:rc.UNKNOWN,lt=zt.classID?zt.classID:Ua.UNKNOWN,zt.likes&&(Ve=zt.likes),zt.published&&(ut=zt.published),zt.aliases&&(je=zt.aliases),!0):!1})),yt?(n(At=>{At.user.signFile=st,At.user.noLogging=Pt,At.user.schoolID=Ue,At.user.classID=lt,At.user.likes=Ve,At.user.published=ut,At.user.aliases=je}),ht.getState().set(At=>{At.userCount=Ht}),qe.signFile=st,qe.noLogging=Pt,qe.schoolID=Ue,qe.classID=lt,qe.likes=Ve,qe.published=ut,qe.aliases=je):qe.uid&&Je.collection("users").doc(qe.uid).set({uid:qe.uid,signFile:!!qe.signFile,noLogging:!!qe.noLogging,schoolID:qe.schoolID??rc.UNKNOWN,classID:qe.classID??Ua.UNKNOWN,since:gc(new Date).format("MM/DD/YYYY hh:mm A"),os:xe.getOS()}).then(()=>{hn(j.t("message.YourAccountWasCreated",de))}).catch(At=>{Do(j.t("message.CannotCreateAccount",de)+": "+At)})},ye=()=>{ro.auth().signOut().then(()=>{n(qe=>{qe.user.uid=null,qe.user.email=null,qe.user.displayName=null,qe.user.photoURL=null,qe.user.signFile=!1,qe.user.likes=[],qe.user.published=[],qe.user.aliases=[],qe.cloudFile=void 0}),ht.getState().set(qe=>{qe.showCloudFilePanel=!1,qe.showAccountSettingsPanel=!1,qe.showModelsGallery=!1,qe.showProjectListPanel=!1})}).catch(qe=>{Do(j.t("message.CannotSignOut",de)+": "+qe)})};function oe(){i.uid&&ro.firestore().collection("users").doc(i.uid).update({signFile:!!i.signFile,schoolID:i.schoolID??rc.UNKNOWN,classID:i.classID??Ua.UNKNOWN}).then(()=>{hn(j.t("message.YourAccountSettingsWereSaved",de))}).catch(Je=>{Do(j.t("message.CannotSaveYourAccountSettings",de)+": "+Je)})}const ge=async()=>{B(!0),await ro.firestore().collection("models").get().then(qe=>{const Je=new Map;return qe.forEach(st=>{var Ue;const Pt=st.data();if(Pt){const lt=new Map;for(const Ve in Pt)Pt[Ve].countryCode||(Ue=Pt[Ve].address)!=null&&Ue.endsWith("USA")&&(Pt[Ve].countryCode="US"),lt.set(Ve,Pt[Ve]);Je.set(st.id,lt)}}),n(st=>{st.modelSites=Je}),Je}).catch(qe=>{Do(j.t("message.CannotLoadModelsOnMap",de)+": "+qe)}).finally(()=>{B(!1)})},Ae=async()=>{await ro.firestore().collection("board").doc("info").get().then(qe=>{if(qe.exists){const Je=qe.data();Je&&Je.latestModel&&n(st=>{var lt;let Pt=!1;const Ue=Je.latestModel;Ue.author&&(Pt=!!((lt=st.peopleModels.get(Ue.author))!=null&<.get(xe.getModelKey(Ue)))),st.latestModelSite=Pt?Ue:void 0})}}).catch(qe=>{console.log(qe)})},me=async()=>{B(!0),await ro.firestore().collection("board").doc("people").get().then(qe=>{const Je=qe.data();if(Je){const st=new Map;for(const Pt in Je)st.set(Pt,new Map(Object.entries(Je[Pt])));n(Pt=>{Pt.peopleModels=st})}}).catch(qe=>{Do(j.t("message.CannotLoadLeaderboard",de)+": "+qe)}).finally(()=>{B(!1)})},Pe=(qe,Je)=>{i&&i.uid&&(ro.firestore().collection("models").doc(xe.getLatLngKey(qe.latitude,qe.longitude)).update({[xe.getModelKey(qe)]:ro.firestore.FieldValue.delete()}).then(()=>{y2(j.t("message.ModelDeletedFromMap",de)),Je&&Je()}).catch(st=>{Do(j.t("message.CannotDeleteModelFromMap",de)+": "+st)}),ro.firestore().collection("board").doc("people").update({[(qe.author??"Anonymous")+"."+xe.getModelKey(qe)]:ro.firestore.FieldValue.delete()}).then(()=>{n(st=>{st.peopleModels&&(st.peopleModels.delete(xe.getModelKey(qe)),ht.getState().set(Pt=>{Pt.leaderboardFlag=!0}))})}),ro.firestore().collection("users").doc(i.uid).update({published:ro.firestore.FieldValue.arrayRemove(qe.title)}).then(()=>{n(st=>{if(st.user&&st.user.published&&st.user.published.includes(qe.title)){const Pt=st.user.published.indexOf(qe.title);Pt>=0&&st.user.published.splice(Pt,1)}})}))},Me=(qe,Je,st)=>{if(i&&i.uid){const Pt=xe.getModelKey(qe);ro.firestore().collection("users").doc(i.uid).update(Je?{likes:ro.firestore.FieldValue.arrayUnion(Pt)}:{likes:ro.firestore.FieldValue.arrayRemove(Pt)}).then(()=>{}).catch(lt=>{Do(j.t("message.CannotLikeModelFromMap",de)+": "+lt)});const Ue=Pt+".likeCount";ro.firestore().collection("models").doc(xe.getLatLngKey(qe.latitude,qe.longitude)).update(Je?{[Ue]:ro.firestore.FieldValue.increment(1)}:{[Ue]:ro.firestore.FieldValue.increment(-1)}).then(()=>{st&&st()}).catch(lt=>{Do(j.t("message.CannotLikeModelFromMap",de)+": "+lt)})}},Te=(qe,Je,st)=>{i&&i.uid&&ro.firestore().collection("models").doc(xe.getLatLngKey(qe.latitude,qe.longitude)).update({[xe.getModelKey(qe)+".pinned"]:Je}).then(()=>{st&&st()}).catch(()=>{})},De=qe=>{i&&i.uid&&ro.firestore().collection("models").doc(xe.getLatLngKey(qe.latitude,qe.longitude)).update({[xe.getModelKey(qe)+".clickCount"]:ro.firestore.FieldValue.increment(1)}).then(()=>{}).catch(()=>{})},Ne=async qe=>{i.uid&&(qe||B(!0),te.current=await ro.firestore().collection("users").doc(i.uid).collection("projects").get().then(Je=>{const st=[];return Je.forEach(Pt=>{const Ue=Pt.data();st.push({owner:i.uid,title:Pt.id,timestamp:Ue.timestamp,description:Ue.description,dataColoring:Ue.dataColoring,selectedProperty:Ue.selectedProperty,sortDescending:Ue.sortDescending,xAxisNameScatterPlot:Ue.xAxisNameScatterPlot,yAxisNameScatterPlot:Ue.yAxisNameScatterPlot,dotSizeScatterPlot:Ue.dotSizeScatterPlot,thumbnailWidth:Ue.thumbnailWidth,type:Ue.type,designs:Ue.designs??[],ranges:Ue.ranges??[],filters:Ue.filters??[],hiddenParameters:Ue.hiddenParameters??dd.getDefaultHiddenParameters(Ue.type),counter:Ue.counter??0})}),st}).catch(Je=>{Do(j.t("message.CannotOpenYourProjects",de)+": "+Je)}).finally(()=>{qe||B(!1),$(!0)}))},Ye=qe=>{i.uid&&Ne(!qe).then(()=>{qe&&ht.getState().set(Je=>{Je.showProjectListPanel=!0})})},Le=qe=>{i.uid&&ro.firestore().collection("users").doc(i.uid).collection("projects").doc(qe).delete().then(()=>{if(te.current&&i.uid){for(const Je of te.current)if(Je.title===qe&&Je.designs){for(const st of Je.designs)n(Pt=>{st.title===Pt.cloudFile&&(Pt.cloudFile=void 0)}),ro.firestore().collection("users").doc(i.uid).collection("designs").doc(st.title).delete().then(()=>{}).catch(Pt=>{Do(j.t("message.CannotDeleteCloudFile",de)+": "+Pt)});$(!0);break}te.current=te.current.filter(Je=>Je.title!==qe),Y(!_)}n(Je=>{qe===Je.projectState.title&&(Je.projectState.title=null,Je.projectState.description=null,Je.projectState.dataColoring=n9.ALL,Je.projectState.selectedProperty=null,Je.projectState.sortDescending=!1,Je.projectState.xAxisNameScatterPlot=null,Je.projectState.yAxisNameScatterPlot=null,Je.projectState.dotSizeScatterPlot=5,Je.projectState.thumbnailWidth=200,Je.projectState.counter=0,Je.projectState.designs=[],Je.projectState.ranges=[],Je.projectState.filters=[],Je.projectState.hiddenParameters=dd.getDefaultHiddenParameters(Je.projectState.type),Je.designProjectType=null,Je.projectView=!1)})}).catch(Je=>{Do(j.t("message.CannotDeleteProject",de)+": "+Je)})},$e=(qe,Je)=>{const st=i.uid;st&&tae(st,Je,Pt=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+Pt)}).then(Pt=>{if(Pt)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+Je);else{const Ue=ro.firestore().collection("users").doc(st).collection("projects");Ue.doc(qe).get().then(lt=>{if(lt.exists){const Ve=lt.data();if(Ve){const ut={...Ve};if(Ve.designs&&Ve.designs.length>0){const je=aCe(Je,Ve.designs)??[];for(const[yt,Ht]of Ve.designs.entries())lCe(Ht.title,je[yt].title,Ve.owner,st);ut.designs=je,n(yt=>{yt.projectState.designs=je})}Ue.doc(Je).set(ut).then(()=>{if(Ue.doc(qe).delete().then(()=>{}),te.current){const je=[];for(const yt of te.current)yt.title===qe?je.push({owner:yt.owner,timestamp:yt.timestamp,title:Je,description:yt.description,type:yt.type,designs:yt.designs,ranges:yt.ranges??null,filters:yt.filters??null,hiddenParameters:yt.hiddenParameters,counter:yt.counter}):je.push(yt);te.current=je,Y(!_),$(!0)}n(je=>{je.projectState.title===qe&&(je.projectState.title=Je)})})}}}).catch(lt=>{Do(j.t("message.CannotRenameProject",de)+": "+lt)})}})},We=qe=>{n(Je=>{Je.projectState={...qe},Je.projectImages.clear(),Je.projectView=!0}),ht.getState().set(Je=>{Je.projectImagesUpdateFlag=!Je.projectImagesUpdateFlag,Je.updateProjectsFlag=!0})},Ee=(qe,Je)=>{qe&&Je&&(B(!0),IX(qe,Je,!0,!0,t).finally(()=>{B(!1)}))},Fe=(qe,Je,st,Pt)=>{if(!i.uid||!e)return;const Ue=xe.resizeCanvas(e,Pt).toDataURL(),lt=Rtt(qe,st,Ue);ro.firestore().collection("users").doc(i.uid).collection("projects").doc(Je).update({designs:ro.firestore.FieldValue.arrayUnion(lt),counter:ro.firestore.FieldValue.increment(1)}).then(()=>{n(Ve=>{var ut;(ut=Ve.projectState.designs)==null||ut.push(lt),Ve.projectState.counter++,Ve.designProjectType=Ve.projectState.type,Ve.cloudFile=lt.title}),xt(st,!0,!0)}).catch(Ve=>{Do(j.t("message.CannotAddDesignToProject",de)+": "+Ve)}).finally(()=>{B(!1)})},Ge=(qe,Je,st)=>{if(!i.uid)return;const Pt=qe.trim();if(Pt.length===0){Do(j.t("menu.file.SavingAbortedMustHaveValidTitle",de)+".");return}B(!0),st?sCe(i.uid,qe,Ue=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+Ue)}).then(Ue=>{Ue?(B(!1),_r.confirm({title:`${j.t("message.CloudFileWithTitleExistsDoYouWantToOverwrite",de)}`,icon:h.jsx(WW,{}),onOk:()=>{xt(Pt,Je)},onCancel:()=>{n(lt=>{lt.showCloudFileTitleDialogFlag=!lt.showCloudFileTitleDialogFlag,lt.showCloudFileTitleDialog=!0})},okText:`${j.t("word.Yes",de)}`,cancelText:`${j.t("word.No",de)}`})):xt(Pt,Je)}):xt(Pt,Je),ie(!1)},rt=qe=>{if(q.current){let Je=-1;for(const[st,Pt]of q.current.entries())if(Pt.title===qe){Je=st;break}Je!==-1&&q.current.splice(Je,1)}},_e=(qe,Je)=>{if(q.current){let st=-1,Pt=null;for(const[Ue,lt]of q.current.entries())if(lt.title===qe){st=Ue,Pt={title:Je,timestamp:lt.timestamp};break}st!==-1&&Pt&&(q.current.splice(st,1),q.current.push(Pt))}},xt=(qe,Je,st)=>{if(i.uid)try{const Pt=ro.firestore().collection("users").doc(i.uid);if(Pt){D&&ht.getState().set(lt=>{lt.waiting=!0});const Ue=Pt.collection(st?"designs":"files").doc(qe);Ue.set(c()).then(()=>{if(Je||(n(lt=>{lt.cloudFile=qe}),ht.getState().setChanged(!1)),D)D==="CREATE_NEW_FILE"?R():x(D);else if(!st){const lt=qp+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(qe);window.history.pushState({},document.title,lt)}Ue.get().then(lt=>{const Ve=lt.data();Ve&&q.current&&(rt(qe),q.current.push({timestamp:Ve.timestamp,title:qe}),le(!0))})}).catch(lt=>{Do(j.t("message.CannotSaveYourFileToCloud",de)+": "+lt)}).finally(()=>{B(!1)})}}catch(Pt){Do(j.t("message.CannotSaveYourFileToCloud",de)+": "+Pt),B(!1)}},dt=(qe,Je)=>{H?_r.confirm({title:`${j.t("message.DoYouWantToSaveChanges",de)}`,icon:h.jsx($m,{}),onOk:()=>{A?(Ge(A,!0,!1),ct(qe,Je)):n(st=>{st.showCloudFileTitleDialogFlag=!st.showCloudFileTitleDialogFlag,st.showCloudFileTitleDialog=!0})},onCancel:()=>{ct(qe,Je)},okText:`${j.t("word.Yes",de)}`,cancelText:`${j.t("word.No",de)}`}):ct(qe,Je)},Qe=qe=>{H?_r.confirm({title:`${j.t("message.DoYouWantToSaveChanges",de)}`,icon:h.jsx($m,{}),onOk:()=>{A?(Ge(A,!0,!1),ct(qe.userid,qe.title),De(qe)):n(Je=>{Je.showCloudFileTitleDialogFlag=!Je.showCloudFileTitleDialogFlag,Je.showCloudFileTitleDialog=!0})},onCancel:()=>{ct(qe.userid,qe.title),De(qe)},okText:`${j.t("word.Yes",de)}`,cancelText:`${j.t("word.No",de)}`}):(ct(qe.userid,qe.title),De(qe))},ct=(qe,Je,st)=>{qe&&Je&&(B(!0),IX(qe,Je,!1,st,t).finally(()=>{B(!1)}))},ft=async()=>{i.uid&&(B(!0),q.current=[],await ro.firestore().collection("users").doc(i.uid).collection("files").get().then(qe=>{qe.forEach(Je=>{var Pt;const st=Je.data();(Pt=q.current)==null||Pt.push({timestamp:st.timestamp,title:Je.id})})}).catch(qe=>{Do(j.t("message.CannotOpenCloudFolder",de)+": "+qe)}).finally(()=>{B(!1),le(!0)}))},at=(qe,Je)=>{ro.firestore().collection("users").doc(qe).collection("files").doc(Je).delete().then(()=>{rt(Je),ne(ae.filter(st=>st.title!==Je)),n(st=>{Je===st.cloudFile&&(st.cloudFile=void 0)})}).catch(st=>{Do(j.t("message.CannotDeleteCloudFile",de)+": "+st)})},ot=(qe,Je,st)=>{sCe(qe,st,Pt=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+Pt)}).then(Pt=>{if(Pt)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+st);else{const Ue=ro.firestore().collection("users").doc(qe).collection("files");Ue.doc(Je).get().then(lt=>{if(lt.exists){const Ve=lt.data();Ve&&Ue.doc(st).set(Ve).then(()=>{Ue.doc(Je).delete().then(()=>{}).catch(je=>{Do(j.t("message.CannotDeleteCloudFile",de)+" "+Je+": "+je)});for(const je of ae)if(je.title===Je){je.title=st;break}ne([...ae]),_e(Je,st),n(je=>{je.cloudFile===Je&&(je.cloudFile=st)});const ut=new URLSearchParams(window.location.search);if(ut.get("title")===Je&&ut.get("userid")===i.uid){const je=qp+"?client=web&userid="+i.uid+"&title="+encodeURIComponent(st);window.history.pushState({},document.title,je)}})}}).catch(lt=>{Do(j.t("message.CannotRenameCloudFile",de)+": "+lt)})}})};function et(){A&&(Ge(A,!1,!1),J(A))}function Oe(){ge().then(()=>{Ae().then(()=>{})})}function nt(){me().then(()=>{Ae().then(()=>{})})}function mt(){if(i&&i.uid&&O){const qe=new URLSearchParams(window.location.search);if(qe.get("userid")===i.uid&&qe.get("title")===O){const Je={latitude:r,longitude:a,address:l??null,countryCode:s??null,type:M.getState().modelType,author:M.getState().modelAuthor??i.displayName,userid:i.uid,title:O,label:M.getState().modelLabel,description:M.getState().modelDescription,timeCreated:Date.now()},st=xe.getModelKey(Je),Pt=ro.firestore().collection("models");if(Pt){const Ue=ro.storage().ref();e&&xe.resizeCanvas(e,200).toBlob(Ve=>{if(Ve){const ut={contentType:"image/png"},je=Ue.child("images/"+st+".png").put(Ve,ut);je.on(ro.storage.TaskEvent.STATE_CHANGED,yt=>{const Ht=yt.bytesTransferred/yt.totalBytes*100;Ht>0&&hn(j.t("word.Upload",de)+": "+Ht+"%")},yt=>{Do("Storage: "+yt)},()=>{je.snapshot.ref.getDownloadURL().then(yt=>{const Ht={...Je,thumbnailUrl:yt},At=Pt.doc(xe.getLatLngKey(r,a));At.get().then(It=>{if(It.exists){const zt=It.data();zt&&zt[st]?At.set({[st]:Ht},{merge:!0}).then(()=>{y2(j.t("menu.file.UpdatedOnModelsMap",de)+".")}):At.set({[st]:Ht},{merge:!0}).then(()=>{y2(j.t("menu.file.PublishedOnModelsMap",de)+".")})}else At.set({[st]:Ht},{merge:!0}).then(()=>{y2(j.t("menu.file.PublishedOnModelsMap",de)+".")})}).catch(It=>{Do(j.t("message.CannotPublishModelOnMap",de)+": "+It)}),ro.firestore().collection("board").doc("people").update({[(Ht.author??"Anonymous")+"."+xe.getModelKey(Ht)]:Ht}).then(()=>{n(It=>{if(It.peopleModels){const zt=It.peopleModels.get(Ht.author??"Anonymous");zt&&zt.set(xe.getModelKey(Ht),Ht)}})}),ro.firestore().collection("board").doc("info").set({latestModel:Ht},{merge:!0}).then(()=>{})})})}})}ro.firestore().collection("users").doc(i.uid).update(M.getState().modelAuthor===i.displayName?{published:ro.firestore.FieldValue.arrayUnion(O)}:{published:ro.firestore.FieldValue.arrayUnion(O),aliases:ro.firestore.FieldValue.arrayUnion(M.getState().modelAuthor)}).then(()=>{n(Ue=>{Ue.user&&(Ue.user.published||(Ue.user.published=[]),Ue.user.published.includes(O)||Ue.user.published.push(O),Ue.user.aliases||(Ue.user.aliases=[]),Ue.modelAuthor&&!Ue.user.aliases.includes(Ue.modelAuthor)&&Ue.modelAuthor!==i.displayName&&Ue.user.aliases.push(Ue.modelAuthor))})})}}}function Tt(){if(!i||!i.uid)return;const qe=ht.getState().projectTitle;if(!qe){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}const Je=qe.trim();if(Je.length===0){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}tae(i.uid,Je,st=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+st)}).then(st=>{if(st)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+Je);else if(i&&i.uid){const Pt=ht.getState().projectType??Tr.SOLAR_PANEL_ARRAY,Ue=ht.getState().projectDescription??null,lt=new Date().getTime();ro.firestore().collection("users").doc(i.uid).collection("projects").doc(Je).set({owner:i.uid,timestamp:lt,type:Pt,description:Ue,counter:0,designs:[],hiddenParameters:dd.getDefaultHiddenParameters(Pt)}).then(()=>{n(ut=>{ut.projectView=!0,ut.projectState.owner=i.uid,ut.projectState.type=Pt,ut.projectState.title=qe,ut.projectState.description=Ue,ut.projectState.counter=0,ut.projectState.dataColoring=n9.ALL,ut.projectState.selectedProperty=null,ut.projectState.sortDescending=!1,ut.projectState.xAxisNameScatterPlot=null,ut.projectState.yAxisNameScatterPlot=null,ut.projectState.dotSizeScatterPlot=5,ut.projectState.thumbnailWidth=200,ut.projectState.designs=[],ut.projectState.ranges=[],ut.projectState.filters=[],ut.projectState.hiddenParameters=dd.getDefaultHiddenParameters(ut.projectState.type)})}).catch(ut=>{Do(j.t("message.CannotCreateNewProject",de)+": "+ut)}).finally(()=>{d&&Ne(!1).then(()=>{Y(!_)}),B(!1)})}}).finally(()=>{B(!1)})}function Rt(){if(!i||!i.uid)return;const qe=ht.getState().projectTitle;if(!qe){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}const Je=qe.trim();if(Je.length===0){Do(j.t("message.CannotCreateNewProjectWithoutTitle",de)+".");return}tae(i.uid,Je,st=>{Do(j.t("message.CannotOpenCloudFile",de)+": "+st)}).then(st=>{if(st)hn(j.t("message.TitleUsedChooseDifferentOne",de)+": "+Je);else if(i&&i.uid){const Pt=M.getState().projectState.designs;if(Pt){const Ue=ht.getState().projectType,lt=ht.getState().projectDescription,Ve=M.getState().projectState.owner,ut=new Date().getTime(),je=M.getState().projectState.counter,yt=M.getState().projectState.dataColoring??null,Ht=M.getState().projectState.selectedProperty??null,At=!!M.getState().projectState.sortDescending,It=M.getState().projectState.xAxisNameScatterPlot??"rowWidth",zt=M.getState().projectState.yAxisNameScatterPlot??"rowWidth",Ft=M.getState().projectState.dotSizeScatterPlot??5,ln=M.getState().projectState.thumbnailWidth??200,Xt=aCe(Je,Pt)??[];for(const[rn,bn]of Pt.entries())lCe(bn.title,Xt[rn].title,Ve,i.uid);const fn=M.getState().projectImages;if(fn&&fn.size>0){for(const[rn,bn]of Pt.entries()){const Tn=fn.get(bn.title);Tn&&(Xt[rn].thumbnail=YYn(Tn))}ro.firestore().collection("users").doc(i.uid).collection("projects").doc(Je).set({owner:i.uid,timestamp:ut,type:Ue,description:lt,counter:je,dataColoring:yt,selectedProperty:Ht,sortDescending:At,xAxisNameScatterPlot:It,yAxisNameScatterPlot:zt,dotSizeScatterPlot:Ft,thumbnailWidth:ln,designs:Xt,ranges:M.getState().projectState.ranges??null,filters:M.getState().projectState.filters??null,hiddenParameters:M.getState().projectState.hiddenParameters}).then(()=>{n(rn=>{rn.projectView=!0,rn.projectState.owner=i.uid,rn.projectState.type=Ue,rn.projectState.title=qe,rn.projectState.description=lt,rn.projectState.designs=Xt})}).catch(rn=>{Do(j.t("message.CannotCreateNewProject",de)+": "+rn)}).finally(()=>{d&&Ne(!1).then(()=>{Y(!_)}),B(!1)})}}}})}function Wt(){const qe=M.getState().projectState.owner;if(i.uid!==qe)hn(j.t("message.CannotAddDesignToProjectOwnedByOthers",de));else{const Je=M.getState().projectState.title;if(Je){B(!0);const st=M.getState().projectState.type??Tr.SOLAR_PANEL_ARRAY,Pt=M.getState().projectState.thumbnailWidth??200,Ue=M.getState().projectState.counter??0;Fe(st,Je,Je+" "+Ue,Pt)}}}function Ct(){i.uid&&ft().then(()=>{ht.getState().set(qe=>{qe.showCloudFilePanel=!0})})}function wt(){Ye(!0)}function kt(){Ye(!1),Y(!_)}return t?h.jsx(h.Fragment,{children:g&&h.jsx($He,{openCloudFile:Qe,deleteModelFromMap:Pe,likeModelFromMap:Me,pinModelFromMap:Te})}):h.jsxs(h.Fragment,{children:[F&&h.jsx(fQ,{}),h.jsx(jpo,{saveToCloud:Ge,isLoading:()=>F,setTitle:J,getTitle:()=>O,setTitleDialogVisible:ie,isTitleDialogVisible:()=>Z}),h.jsx(Bpo,{signIn:Ie,signOut:ye}),u&&q.current&&h.jsx(Ffo,{cloudFileArray:ae,openCloudFile:qe=>{i.uid&&dt(i.uid,qe)},deleteCloudFile:qe=>{i.uid&&at(i.uid,qe)},renameCloudFile:(qe,Je)=>{i.uid&&ot(i.uid,qe,Je)}}),d&&te.current&&h.jsx(Vpo,{projects:he,setProjectState:We,deleteProject:Le,renameProject:$e}),f&&h.jsx(Eot,{author:void 0,models:ee.current,openCloudFile:dt,closeCallback:()=>{o("showModelsGallery",!1),ee.current=void 0}}),p&&h.jsx(Kfo,{openCloudFile:ct}),g&&h.jsx($He,{openCloudFile:Qe,deleteModelFromMap:Pe,likeModelFromMap:Me,pinModelFromMap:Te})]})});var Xpo={},Jpo="@firebase/database",Kpo="0.11.0";/** * @license * Copyright 2019 Google LLC * @@ -7254,7 +7254,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Lot="";function Wot(t){Lot=t}/** + */var kot="";function Fot(t){kot=t}/** * @license * Copyright 2017 Google LLC * @@ -7269,7 +7269,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Qpo=function(){function t(e){this.domStorage_=e,this.prefix_="firebase:"}return t.prototype.set=function(e,n){n==null?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),Du(n))},t.prototype.get=function(e){var n=this.domStorage_.getItem(this.prefixedName_(e));return n==null?null:rF(n)},t.prototype.remove=function(e){this.domStorage_.removeItem(this.prefixedName_(e))},t.prototype.prefixedName_=function(e){return this.prefix_+e},t.prototype.toString=function(){return this.domStorage_.toString()},t}();/** + */var qpo=function(){function t(e){this.domStorage_=e,this.prefix_="firebase:"}return t.prototype.set=function(e,n){n==null?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),Du(n))},t.prototype.get=function(e){var n=this.domStorage_.getItem(this.prefixedName_(e));return n==null?null:rF(n)},t.prototype.remove=function(e){this.domStorage_.removeItem(this.prefixedName_(e))},t.prototype.prefixedName_=function(e){return this.prefix_+e},t.prototype.toString=function(){return this.domStorage_.toString()},t}();/** * @license * Copyright 2017 Google LLC * @@ -7284,7 +7284,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Zpo=function(){function t(){this.cache_={},this.isInMemoryStorage=!0}return t.prototype.set=function(e,n){n==null?delete this.cache_[e]:this.cache_[e]=n},t.prototype.get=function(e){return Mg(this.cache_,e)?this.cache_[e]:null},t.prototype.remove=function(e){delete this.cache_[e]},t}();/** + */var $po=function(){function t(){this.cache_={},this.isInMemoryStorage=!0}return t.prototype.set=function(e,n){n==null?delete this.cache_[e]:this.cache_[e]=n},t.prototype.get=function(e){return Mg(this.cache_,e)?this.cache_[e]:null},t.prototype.remove=function(e){delete this.cache_[e]},t}();/** * @license * Copyright 2017 Google LLC * @@ -7299,7 +7299,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Not=function(t){try{if(typeof window<"u"&&typeof window[t]<"u"){var e=window[t];return e.setItem("firebase:sentinel","cache"),e.removeItem("firebase:sentinel"),new Qpo(e)}}catch{}return new Zpo},Vv=Not("localStorage"),Xde=Not("sessionStorage");/** + */var Lot=function(t){try{if(typeof window<"u"&&typeof window[t]<"u"){var e=window[t];return e.setItem("firebase:sentinel","cache"),e.removeItem("firebase:sentinel"),new qpo(e)}}catch{}return new $po},Vv=Lot("localStorage"),Xde=Lot("sessionStorage");/** * @license * Copyright 2017 Google LLC * @@ -7314,7 +7314,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var CC=new jye("@firebase/database"),Uot=function(){var t=1;return function(){return t++}}(),Bot=function(t){var e=LLn(t),n=new DLn;n.update(e);var o=n.digest();return Lye.encodeByteArray(o)},WN=function(){for(var t=[],e=0;en?o.push(t.substring(i,n)):o.push(t.substring(i,i+e));return o};function Vu(t,e){for(var n in t)t.hasOwnProperty(n)&&e(n,t[n])}var Oot=function(t){ei(!YZ(t),"Invalid JSON number");var e=11,n=52,o=(1<=Math.pow(2,1-o)?(l=Math.min(Math.floor(Math.log(t)/Math.LN2),o),r=l+o,a=Math.round(t*Math.pow(2,n-l)-Math.pow(2,n))):(r=0,a=Math.round(t/Math.pow(2,1-o-n))));var c=[];for(s=n;s;s-=1)c.push(a%2?1:0),a=Math.floor(a/2);for(s=e;s;s-=1)c.push(r%2?1:0),r=Math.floor(r/2);c.push(i?1:0),c.reverse();var u=c.join(""),d="";for(s=0;s<64;s+=8){var f=parseInt(u.substr(s,8),2).toString(16);f.length===1&&(f="0"+f),d=d+f}return d.toLowerCase()},o1o=function(){return!!(typeof window=="object"&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href))},i1o=function(){return typeof Windows=="object"&&typeof Windows.UI=="object"};function r1o(t,e){var n="Unknown Error";t==="too_big"?n="The data requested exceeds the maximum size that can be accessed with a single request.":t==="permission_denied"?n="Client doesn't have permission to access the desired data.":t==="unavailable"&&(n="The service is unavailable");var o=new Error(t+" at "+e._path.toString()+": "+n);return o.code=t.toUpperCase(),o}var a1o=new RegExp("^-?(0*)\\d{1,10}$"),_ot=-2147483648,c9e=2147483647,VX=function(t){if(a1o.test(t)){var e=Number(t);if(e>=_ot&&e<=c9e)return e}return null},pM=function(t){try{t()}catch(e){setTimeout(function(){var n=e.stack||"";throw ff("Exception was thrown by user callback.",n),e},Math.floor(0))}},l1o=function(){var t=typeof window=="object"&&window.navigator&&window.navigator.userAgent||"";return t.search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i)>=0},HE=function(t,e){var n=setTimeout(t,e);return typeof n=="object"&&n.unref&&n.unref(),n};/** + */var CC=new jye("@firebase/database"),Wot=function(){var t=1;return function(){return t++}}(),Not=function(t){var e=kLn(t),n=new ILn;n.update(e);var o=n.digest();return Lye.encodeByteArray(o)},WN=function(){for(var t=[],e=0;en?o.push(t.substring(i,n)):o.push(t.substring(i,i+e));return o};function Vu(t,e){for(var n in t)t.hasOwnProperty(n)&&e(n,t[n])}var jot=function(t){ei(!YZ(t),"Invalid JSON number");var e=11,n=52,o=(1<=Math.pow(2,1-o)?(l=Math.min(Math.floor(Math.log(t)/Math.LN2),o),r=l+o,a=Math.round(t*Math.pow(2,n-l)-Math.pow(2,n))):(r=0,a=Math.round(t/Math.pow(2,1-o-n))));var c=[];for(s=n;s;s-=1)c.push(a%2?1:0),a=Math.floor(a/2);for(s=e;s;s-=1)c.push(r%2?1:0),r=Math.floor(r/2);c.push(i?1:0),c.reverse();var u=c.join(""),d="";for(s=0;s<64;s+=8){var f=parseInt(u.substr(s,8),2).toString(16);f.length===1&&(f="0"+f),d=d+f}return d.toLowerCase()},t1o=function(){return!!(typeof window=="object"&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href))},n1o=function(){return typeof Windows=="object"&&typeof Windows.UI=="object"};function o1o(t,e){var n="Unknown Error";t==="too_big"?n="The data requested exceeds the maximum size that can be accessed with a single request.":t==="permission_denied"?n="Client doesn't have permission to access the desired data.":t==="unavailable"&&(n="The service is unavailable");var o=new Error(t+" at "+e._path.toString()+": "+n);return o.code=t.toUpperCase(),o}var i1o=new RegExp("^-?(0*)\\d{1,10}$"),Yot=-2147483648,c9e=2147483647,VX=function(t){if(i1o.test(t)){var e=Number(t);if(e>=Yot&&e<=c9e)return e}return null},pM=function(t){try{t()}catch(e){setTimeout(function(){var n=e.stack||"";throw ff("Exception was thrown by user callback.",n),e},Math.floor(0))}},r1o=function(){var t=typeof window=="object"&&window.navigator&&window.navigator.userAgent||"";return t.search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i)>=0},HE=function(t,e){var n=setTimeout(t,e);return typeof n=="object"&&n.unref&&n.unref(),n};/** * @license * Copyright 2021 Google LLC * @@ -7329,7 +7329,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var s1o=function(){function t(e,n){var o=this;this.appName_=e,this.appCheckProvider=n,this.appCheck=n==null?void 0:n.getImmediate({optional:!0}),this.appCheck||n==null||n.get().then(function(i){return o.appCheck=i})}return t.prototype.getToken=function(e){var n=this;return this.appCheck?this.appCheck.getToken(e):new Promise(function(o,i){setTimeout(function(){n.appCheck?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){var n;(n=this.appCheckProvider)===null||n===void 0||n.get().then(function(o){return o.addTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){ff('Provided AppCheck credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly.')},t}();/** + */var a1o=function(){function t(e,n){var o=this;this.appName_=e,this.appCheckProvider=n,this.appCheck=n==null?void 0:n.getImmediate({optional:!0}),this.appCheck||n==null||n.get().then(function(i){return o.appCheck=i})}return t.prototype.getToken=function(e){var n=this;return this.appCheck?this.appCheck.getToken(e):new Promise(function(o,i){setTimeout(function(){n.appCheck?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){var n;(n=this.appCheckProvider)===null||n===void 0||n.get().then(function(o){return o.addTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){ff('Provided AppCheck credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly.')},t}();/** * @license * Copyright 2017 Google LLC * @@ -7344,7 +7344,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var c1o=function(){function t(e,n,o){var i=this;this.appName_=e,this.firebaseOptions_=n,this.authProvider_=o,this.auth_=null,this.auth_=o.getImmediate({optional:!0}),this.auth_||o.onInit(function(r){return i.auth_=r})}return t.prototype.getToken=function(e){var n=this;return this.auth_?this.auth_.getToken(e).catch(function(o){return o&&o.code==="auth/token-not-initialized"?(vd("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(o)}):new Promise(function(o,i){setTimeout(function(){n.auth_?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){this.auth_?this.auth_.addAuthTokenListener(e):this.authProvider_.get().then(function(n){return n.addAuthTokenListener(e)})},t.prototype.removeTokenChangeListener=function(e){this.authProvider_.get().then(function(n){return n.removeAuthTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){var e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',ff(e)},t}(),ME=function(){function t(e){this.accessToken=e}return t.prototype.getToken=function(e){return Promise.resolve({accessToken:this.accessToken})},t.prototype.addTokenChangeListener=function(e){e(this.accessToken)},t.prototype.removeTokenChangeListener=function(e){},t.prototype.notifyForInvalidToken=function(){},t.OWNER="owner",t}();/** + */var l1o=function(){function t(e,n,o){var i=this;this.appName_=e,this.firebaseOptions_=n,this.authProvider_=o,this.auth_=null,this.auth_=o.getImmediate({optional:!0}),this.auth_||o.onInit(function(r){return i.auth_=r})}return t.prototype.getToken=function(e){var n=this;return this.auth_?this.auth_.getToken(e).catch(function(o){return o&&o.code==="auth/token-not-initialized"?(vd("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(o)}):new Promise(function(o,i){setTimeout(function(){n.auth_?n.getToken(e).then(o,i):o(null)},0)})},t.prototype.addTokenChangeListener=function(e){this.auth_?this.auth_.addAuthTokenListener(e):this.authProvider_.get().then(function(n){return n.addAuthTokenListener(e)})},t.prototype.removeTokenChangeListener=function(e){this.authProvider_.get().then(function(n){return n.removeAuthTokenListener(e)})},t.prototype.notifyForInvalidToken=function(){var e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',ff(e)},t}(),ME=function(){function t(e){this.accessToken=e}return t.prototype.getToken=function(e){return Promise.resolve({accessToken:this.accessToken})},t.prototype.addTokenChangeListener=function(e){e(this.accessToken)},t.prototype.removeTokenChangeListener=function(e){},t.prototype.notifyForInvalidToken=function(){},t.OWNER="owner",t}();/** * @license * Copyright 2017 Google LLC * @@ -7359,7 +7359,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var u9e="5",Vot="v",Got="s",Xot="r",Jot="f",Kot=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,qot="ls",u1o="p",Kde="ac",$ot="websocket",Qot="long_polling";/** + */var u9e="5",Oot="v",_ot="s",Vot="r",Got="f",Xot=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Jot="ls",s1o="p",Kde="ac",Kot="websocket",qot="long_polling";/** * @license * Copyright 2017 Google LLC * @@ -7374,7 +7374,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var d9e=function(){function t(e,n,o,i,r,a,l){r===void 0&&(r=!1),a===void 0&&(a=""),l===void 0&&(l=!1),this.secure=n,this.namespace=o,this.webSocketOnly=i,this.nodeAdmin=r,this.persistenceKey=a,this.includeNamespaceInQueryParams=l,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=Vv.get("host:"+e)||this._host}return t.prototype.isCacheableHost=function(){return this.internalHost.substr(0,2)==="s-"},t.prototype.isCustomHost=function(){return this._domain!=="firebaseio.com"&&this._domain!=="firebaseio-demo.com"},Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost()&&Vv.set("host:"+this._host,this.internalHost))},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e},t.prototype.toURLString=function(){var e=this.secure?"https://":"http://",n=this.includeNamespaceInQueryParams?"?ns="+this.namespace:"";return""+e+this.host+"/"+n},t}();function d1o(t){return t.host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams}function Zot(t,e,n){ei(typeof e=="string","typeof type must == string"),ei(typeof n=="object","typeof params must == object");var o;if(e===$ot)o=(t.secure?"wss://":"ws://")+t.internalHost+"/.ws?";else if(e===Qot)o=(t.secure?"https://":"http://")+t.internalHost+"/.lp?";else throw new Error("Unknown connection type: "+e);d1o(t)&&(n.ns=t.namespace);var i=[];return Vu(n,function(r,a){i.push(r+"="+a)}),o+i.join("&")}/** + */var d9e=function(){function t(e,n,o,i,r,a,l){r===void 0&&(r=!1),a===void 0&&(a=""),l===void 0&&(l=!1),this.secure=n,this.namespace=o,this.webSocketOnly=i,this.nodeAdmin=r,this.persistenceKey=a,this.includeNamespaceInQueryParams=l,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=Vv.get("host:"+e)||this._host}return t.prototype.isCacheableHost=function(){return this.internalHost.substr(0,2)==="s-"},t.prototype.isCustomHost=function(){return this._domain!=="firebaseio.com"&&this._domain!=="firebaseio-demo.com"},Object.defineProperty(t.prototype,"host",{get:function(){return this._host},set:function(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost()&&Vv.set("host:"+this._host,this.internalHost))},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e},t.prototype.toURLString=function(){var e=this.secure?"https://":"http://",n=this.includeNamespaceInQueryParams?"?ns="+this.namespace:"";return""+e+this.host+"/"+n},t}();function c1o(t){return t.host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams}function $ot(t,e,n){ei(typeof e=="string","typeof type must == string"),ei(typeof n=="object","typeof params must == object");var o;if(e===Kot)o=(t.secure?"wss://":"ws://")+t.internalHost+"/.ws?";else if(e===qot)o=(t.secure?"https://":"http://")+t.internalHost+"/.lp?";else throw new Error("Unknown connection type: "+e);c1o(t)&&(n.ns=t.namespace);var i=[];return Vu(n,function(r,a){i.push(r+"="+a)}),o+i.join("&")}/** * @license * Copyright 2017 Google LLC * @@ -7389,7 +7389,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var f1o=function(){function t(){this.counters_={}}return t.prototype.incrementCounter=function(e,n){n===void 0&&(n=1),Mg(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=n},t.prototype.get=function(){return rQe(this.counters_)},t}();/** + */var u1o=function(){function t(){this.counters_={}}return t.prototype.incrementCounter=function(e,n){n===void 0&&(n=1),Mg(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=n},t.prototype.get=function(){return oQe(this.counters_)},t}();/** * @license * Copyright 2017 Google LLC * @@ -7404,7 +7404,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Hae={},Mae={};function f9e(t){var e=t.toString();return Hae[e]||(Hae[e]=new f1o),Hae[e]}function h1o(t,e){var n=t.toString();return Mae[n]||(Mae[n]=e()),Mae[n]}/** + */var Hae={},Mae={};function f9e(t){var e=t.toString();return Hae[e]||(Hae[e]=new u1o),Hae[e]}function d1o(t,e){var n=t.toString();return Mae[n]||(Mae[n]=e()),Mae[n]}/** * @license * Copyright 2017 Google LLC * @@ -7419,7 +7419,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var p1o=function(){function t(e){this.onMessage_=e,this.pendingResponses=[],this.currentResponseNum=0,this.closeAfterResponse=-1,this.onClose=null}return t.prototype.closeAfter=function(e,n){this.closeAfterResponse=e,this.onClose=n,this.closeAfterResponsedocument.domain="'+a+'";<\/script>'}var l=""+r+"";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(l),this.myIFrame.doc.close()}catch(s){vd("frame writing exception"),s.stack&&vd(s.stack),vd(s)}}}return t.createIFrame_=function(){var e=document.createElement("iframe");if(e.style.display="none",document.body){document.body.appendChild(e);try{var n=e.contentWindow.document;n||vd("No IE domain setting required")}catch{var o=document.domain;e.src="javascript:void((function(){document.open();document.domain='"+o+"';document.close();})())"}}else throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";return e.contentDocument?e.doc=e.contentDocument:e.contentWindow?e.doc=e.contentWindow.document:e.document&&(e.doc=e.document),e},t.prototype.close=function(){var e=this;this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.innerHTML="",setTimeout(function(){e.myIFrame!==null&&(document.body.removeChild(e.myIFrame),e.myIFrame=null)},Math.floor(0)));var n=this.onDisconnect;n&&(this.onDisconnect=null,n())},t.prototype.startLongPoll=function(e,n){for(this.myID=e,this.myPW=n,this.alive=!0;this.newRequest_(););},t.prototype.newRequest_=function(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(this.pendingSegs.length>0?2:1)){this.currentSerial++;var e={};e[eit]=this.myID,e[tit]=this.myPW,e[nit]=this.currentSerial;for(var n=this.urlFn(e),o="",i=0;this.pendingSegs.length>0;){var r=this.pendingSegs[0];if(r.d.length+iit+o.length<=oit){var a=this.pendingSegs.shift();o=o+"&"+w1o+i+"="+a.seg+"&"+v1o+i+"="+a.ts+"&"+x1o+i+"="+a.d,i++}else break}return n=n+o,this.addLongPollTag_(n,this.currentSerial),!0}else return!1},t.prototype.enqueueSegment=function(e,n,o){this.pendingSegs.push({seg:e,ts:n,d:o}),this.alive&&this.newRequest_()},t.prototype.addLongPollTag_=function(e,n){var o=this;this.outstandingRequests.add(n);var i=function(){o.outstandingRequests.delete(n),o.newRequest_()},r=setTimeout(i,Math.floor(T1o)),a=function(){clearTimeout(r),i()};this.addTag(e,a)},t.prototype.addTag=function(e,n){var o=this;setTimeout(function(){try{if(!o.sendNewPolls)return;var i=o.myIFrame.doc.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.onload=i.onreadystatechange=function(){var r=i.readyState;(!r||r==="loaded"||r==="complete")&&(i.onload=i.onreadystatechange=null,i.parentNode&&i.parentNode.removeChild(i),n())},i.onerror=function(){vd("Long-poll script failed to load: "+e),o.sendNewPolls=!1,o.close()},o.myIFrame.doc.body.appendChild(i)}catch{}},Math.floor(1))},t}();/** + */var AMe="start",h1o="close",p1o="pLPCommand",g1o="pRTLPCB",Qot="id",Zot="pw",eit="ser",m1o="cb",y1o="seg",A1o="ts",w1o="d",v1o="dframe",tit=1870,nit=30,x1o=tit-nit,b1o=25e3,S1o=3e4,h9e=function(){function t(e,n,o,i,r,a,l){var s=this;this.connId=e,this.repoInfo=n,this.applicationId=o,this.appCheckToken=i,this.authToken=r,this.transportSessionId=a,this.lastSessionId=l,this.bytesSent=0,this.bytesReceived=0,this.everConnected_=!1,this.log_=NN(e),this.stats_=f9e(n),this.urlFn=function(c){return s.appCheckToken&&(c[Kde]=s.appCheckToken),$ot(n,qot,c)}}return t.prototype.open=function(e,n){var o=this;this.curSegmentNum=0,this.onDisconnect_=n,this.myPacketOrderer=new f1o(e),this.isClosed_=!1,this.connectTimeoutTimer_=setTimeout(function(){o.log_("Timed out trying to connect."),o.onClosed_(),o.connectTimeoutTimer_=null},Math.floor(S1o)),Zpo(function(){if(!o.isClosed_){o.scriptTagHolder=new T1o(function(){for(var a=[],l=0;ldocument.domain="'+a+'";<\/script>'}var l=""+r+"";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(l),this.myIFrame.doc.close()}catch(s){vd("frame writing exception"),s.stack&&vd(s.stack),vd(s)}}}return t.createIFrame_=function(){var e=document.createElement("iframe");if(e.style.display="none",document.body){document.body.appendChild(e);try{var n=e.contentWindow.document;n||vd("No IE domain setting required")}catch{var o=document.domain;e.src="javascript:void((function(){document.open();document.domain='"+o+"';document.close();})())"}}else throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";return e.contentDocument?e.doc=e.contentDocument:e.contentWindow?e.doc=e.contentWindow.document:e.document&&(e.doc=e.document),e},t.prototype.close=function(){var e=this;this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.innerHTML="",setTimeout(function(){e.myIFrame!==null&&(document.body.removeChild(e.myIFrame),e.myIFrame=null)},Math.floor(0)));var n=this.onDisconnect;n&&(this.onDisconnect=null,n())},t.prototype.startLongPoll=function(e,n){for(this.myID=e,this.myPW=n,this.alive=!0;this.newRequest_(););},t.prototype.newRequest_=function(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(this.pendingSegs.length>0?2:1)){this.currentSerial++;var e={};e[Qot]=this.myID,e[Zot]=this.myPW,e[eit]=this.currentSerial;for(var n=this.urlFn(e),o="",i=0;this.pendingSegs.length>0;){var r=this.pendingSegs[0];if(r.d.length+nit+o.length<=tit){var a=this.pendingSegs.shift();o=o+"&"+y1o+i+"="+a.seg+"&"+A1o+i+"="+a.ts+"&"+w1o+i+"="+a.d,i++}else break}return n=n+o,this.addLongPollTag_(n,this.currentSerial),!0}else return!1},t.prototype.enqueueSegment=function(e,n,o){this.pendingSegs.push({seg:e,ts:n,d:o}),this.alive&&this.newRequest_()},t.prototype.addLongPollTag_=function(e,n){var o=this;this.outstandingRequests.add(n);var i=function(){o.outstandingRequests.delete(n),o.newRequest_()},r=setTimeout(i,Math.floor(b1o)),a=function(){clearTimeout(r),i()};this.addTag(e,a)},t.prototype.addTag=function(e,n){var o=this;setTimeout(function(){try{if(!o.sendNewPolls)return;var i=o.myIFrame.doc.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.onload=i.onreadystatechange=function(){var r=i.readyState;(!r||r==="loaded"||r==="complete")&&(i.onload=i.onreadystatechange=null,i.parentNode&&i.parentNode.removeChild(i),n())},i.onerror=function(){vd("Long-poll script failed to load: "+e),o.sendNewPolls=!1,o.close()},o.myIFrame.doc.body.appendChild(i)}catch{}},Math.floor(1))},t}();/** * @license * Copyright 2017 Google LLC * @@ -7449,7 +7449,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var R1o=16384,H1o=45e3,GX=null;typeof MozWebSocket<"u"?GX=MozWebSocket:typeof WebSocket<"u"&&(GX=WebSocket);var bv=function(){function t(e,n,o,i,r,a,l){this.connId=e,this.applicationId=o,this.appCheckToken=i,this.authToken=r,this.keepaliveTimer=null,this.frames=null,this.totalFrames=0,this.bytesSent=0,this.bytesReceived=0,this.log_=NN(this.connId),this.stats_=f9e(n),this.connURL=t.connectionURL_(n,a,l,i),this.nodeAdmin=n.nodeAdmin}return t.connectionURL_=function(e,n,o,i){var r={};return r[Vot]=u9e,typeof location<"u"&&location.hostname&&Kot.test(location.hostname)&&(r[Xot]=Jot),n&&(r[Got]=n),o&&(r[qot]=o),i&&(r[Kde]=i),Zot(e,$ot,r)},t.prototype.open=function(e,n){var o=this;this.onDisconnect=n,this.onMessage=e,this.log_("Websocket connecting to "+this.connURL),this.everConnected_=!1,Vv.set("previous_websocket_failure",!0);try{var i,r,a,l;if(!sQe()){var r={headers:{"X-Firebase-GMPID":this.applicationId||"","X-Firebase-AppCheck":this.appCheckToken||""}};this.mySock=new GX(this.connURL,[],r)}}catch(c){this.log_("Error instantiating WebSocket.");var s=c.message||c.data;s&&this.log_(s),this.onClosed_();return}this.mySock.onopen=function(){o.log_("Websocket connected."),o.everConnected_=!0},this.mySock.onclose=function(){o.log_("Websocket connection was disconnected."),o.mySock=null,o.onClosed_()},this.mySock.onmessage=function(c){o.handleIncomingFrame(c)},this.mySock.onerror=function(c){o.log_("WebSocket error. Closing connection.");var u=c.message||c.data;u&&o.log_(u),o.onClosed_()}},t.prototype.start=function(){},t.forceDisallow=function(){t.forceDisallow_=!0},t.isAvailable=function(){var e=!1;if(typeof navigator<"u"&&navigator.userAgent){var n=/Android ([0-9]{0,}\.[0-9]{0,})/,o=navigator.userAgent.match(n);o&&o.length>1&&parseFloat(o[1])<4.4&&(e=!0)}return!e&&GX!==null&&!t.forceDisallow_},t.previouslyFailed=function(){return Vv.isInMemoryStorage||Vv.get("previous_websocket_failure")===!0},t.prototype.markConnectionHealthy=function(){Vv.remove("previous_websocket_failure")},t.prototype.appendFrame_=function(e){if(this.frames.push(e),this.frames.length===this.totalFrames){var n=this.frames.join("");this.frames=null;var o=rF(n);this.onMessage(o)}},t.prototype.handleNewFrameCount_=function(e){this.totalFrames=e,this.frames=[]},t.prototype.extractFrameCount_=function(e){if(ei(this.frames===null,"We already have a frame buffer"),e.length<=6){var n=Number(e);if(!isNaN(n))return this.handleNewFrameCount_(n),null}return this.handleNewFrameCount_(1),e},t.prototype.handleIncomingFrame=function(e){if(this.mySock!==null){var n=e.data;if(this.bytesReceived+=n.length,this.stats_.incrementCounter("bytes_received",n.length),this.resetKeepAlive(),this.frames!==null)this.appendFrame_(n);else{var o=this.extractFrameCount_(n);o!==null&&this.appendFrame_(o)}}},t.prototype.send=function(e){this.resetKeepAlive();var n=Du(e);this.bytesSent+=n.length,this.stats_.incrementCounter("bytes_sent",n.length);var o=Yot(n,R1o);o.length>1&&this.sendString_(String(o.length));for(var i=0;i1&&parseFloat(o[1])<4.4&&(e=!0)}return!e&&GX!==null&&!t.forceDisallow_},t.previouslyFailed=function(){return Vv.isInMemoryStorage||Vv.get("previous_websocket_failure")===!0},t.prototype.markConnectionHealthy=function(){Vv.remove("previous_websocket_failure")},t.prototype.appendFrame_=function(e){if(this.frames.push(e),this.frames.length===this.totalFrames){var n=this.frames.join("");this.frames=null;var o=rF(n);this.onMessage(o)}},t.prototype.handleNewFrameCount_=function(e){this.totalFrames=e,this.frames=[]},t.prototype.extractFrameCount_=function(e){if(ei(this.frames===null,"We already have a frame buffer"),e.length<=6){var n=Number(e);if(!isNaN(n))return this.handleNewFrameCount_(n),null}return this.handleNewFrameCount_(1),e},t.prototype.handleIncomingFrame=function(e){if(this.mySock!==null){var n=e.data;if(this.bytesReceived+=n.length,this.stats_.incrementCounter("bytes_received",n.length),this.resetKeepAlive(),this.frames!==null)this.appendFrame_(n);else{var o=this.extractFrameCount_(n);o!==null&&this.appendFrame_(o)}}},t.prototype.send=function(e){this.resetKeepAlive();var n=Du(e);this.bytesSent+=n.length,this.stats_.incrementCounter("bytes_sent",n.length);var o=Bot(n,P1o);o.length>1&&this.sendString_(String(o.length));for(var i=0;i0)return this.transports_[0];throw new Error("No transports available")},t.prototype.upgradeTransport=function(){return this.transports_.length>1?this.transports_[1]:null},t}();/** + */var R1o=function(){function t(e){this.initTransports_(e)}return Object.defineProperty(t,"ALL_TRANSPORTS",{get:function(){return[h9e,bv]},enumerable:!1,configurable:!0}),t.prototype.initTransports_=function(e){var n,o,i=bv&&bv.isAvailable(),r=i&&!bv.previouslyFailed();if(e.webSocketOnly&&(i||ff("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),r=!0),r)this.transports_=[bv];else{var a=this.transports_=[];try{for(var l=vg(t.ALL_TRANSPORTS),s=l.next();!s.done;s=l.next()){var c=s.value;c&&c.isAvailable()&&a.push(c)}}catch(u){n={error:u}}finally{try{s&&!s.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}}},t.prototype.initialTransport=function(){if(this.transports_.length>0)return this.transports_[0];throw new Error("No transports available")},t.prototype.upgradeTransport=function(){return this.transports_.length>1?this.transports_[1]:null},t}();/** * @license * Copyright 2017 Google LLC * @@ -7479,7 +7479,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var I1o=6e4,z1o=5e3,D1o=10*1024,E1o=100*1024,Iae="t",xMe="d",k1o="s",bMe="r",F1o="e",SMe="o",TMe="a",PMe="n",CMe="p",L1o="h",rit=function(){function t(e,n,o,i,r,a,l,s,c,u){this.id=e,this.repoInfo_=n,this.applicationId_=o,this.appCheckToken_=i,this.authToken_=r,this.onMessage_=a,this.onReady_=l,this.onDisconnect_=s,this.onKill_=c,this.lastSessionId=u,this.connectionCount=0,this.pendingDataMessages=[],this.state_=0,this.log_=NN("c:"+this.id+":"),this.transportManager_=new M1o(n),this.log_("Connection created"),this.start_()}return t.prototype.start_=function(){var e=this,n=this.transportManager_.initialTransport();this.conn_=new n(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,null,this.lastSessionId),this.primaryResponsesRequired_=n.responsesRequiredToBeHealthy||0;var o=this.connReceiver_(this.conn_),i=this.disconnReceiver_(this.conn_);this.tx_=this.conn_,this.rx_=this.conn_,this.secondaryConn_=null,this.isHealthy_=!1,setTimeout(function(){e.conn_&&e.conn_.open(o,i)},Math.floor(0));var r=n.healthyTimeout||0;r>0&&(this.healthyTimeout_=HE(function(){e.healthyTimeout_=null,e.isHealthy_||(e.conn_&&e.conn_.bytesReceived>E1o?(e.log_("Connection exceeded healthy timeout but has received "+e.conn_.bytesReceived+" bytes. Marking connection healthy."),e.isHealthy_=!0,e.conn_.markConnectionHealthy()):e.conn_&&e.conn_.bytesSent>D1o?e.log_("Connection exceeded healthy timeout but has sent "+e.conn_.bytesSent+" bytes. Leaving connection alive."):(e.log_("Closing unhealthy connection after timeout."),e.close()))},Math.floor(r)))},t.prototype.nextTransportId_=function(){return"c:"+this.id+":"+this.connectionCount++},t.prototype.disconnReceiver_=function(e){var n=this;return function(o){e===n.conn_?n.onConnectionLost_(o):e===n.secondaryConn_?(n.log_("Secondary connection lost."),n.onSecondaryConnectionLost_()):n.log_("closing an old connection")}},t.prototype.connReceiver_=function(e){var n=this;return function(o){n.state_!==2&&(e===n.rx_?n.onPrimaryMessageReceived_(o):e===n.secondaryConn_?n.onSecondaryMessageReceived_(o):n.log_("message on old connection"))}},t.prototype.sendRequest=function(e){var n={t:"d",d:e};this.sendData_(n)},t.prototype.tryCleanupConnection=function(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)},t.prototype.onSecondaryControl_=function(e){if(Iae in e){var n=e[Iae];n===TMe?this.upgradeIfSecondaryHealthy_():n===bMe?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),(this.tx_===this.secondaryConn_||this.rx_===this.secondaryConn_)&&this.close()):n===SMe&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_())}},t.prototype.onSecondaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);if(n==="c")this.onSecondaryControl_(o);else if(n==="d")this.pendingDataMessages.push(o);else throw new Error("Unknown protocol layer: "+n)},t.prototype.upgradeIfSecondaryHealthy_=function(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:CMe,d:{}}}))},t.prototype.proceedWithUpgrade_=function(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:TMe,d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:PMe,d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()},t.prototype.onPrimaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);n==="c"?this.onControl_(o):n==="d"&&this.onDataMessage_(o)},t.prototype.onDataMessage_=function(e){this.onPrimaryResponse_(),this.onMessage_(e)},t.prototype.onPrimaryResponse_=function(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))},t.prototype.onControl_=function(e){var n=_z(Iae,e);if(xMe in e){var o=e[xMe];if(n===L1o)this.onHandshake_(o);else if(n===PMe){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(var i=0;i0&&(this.healthyTimeout_=HE(function(){e.healthyTimeout_=null,e.isHealthy_||(e.conn_&&e.conn_.bytesReceived>z1o?(e.log_("Connection exceeded healthy timeout but has received "+e.conn_.bytesReceived+" bytes. Marking connection healthy."),e.isHealthy_=!0,e.conn_.markConnectionHealthy()):e.conn_&&e.conn_.bytesSent>I1o?e.log_("Connection exceeded healthy timeout but has sent "+e.conn_.bytesSent+" bytes. Leaving connection alive."):(e.log_("Closing unhealthy connection after timeout."),e.close()))},Math.floor(r)))},t.prototype.nextTransportId_=function(){return"c:"+this.id+":"+this.connectionCount++},t.prototype.disconnReceiver_=function(e){var n=this;return function(o){e===n.conn_?n.onConnectionLost_(o):e===n.secondaryConn_?(n.log_("Secondary connection lost."),n.onSecondaryConnectionLost_()):n.log_("closing an old connection")}},t.prototype.connReceiver_=function(e){var n=this;return function(o){n.state_!==2&&(e===n.rx_?n.onPrimaryMessageReceived_(o):e===n.secondaryConn_?n.onSecondaryMessageReceived_(o):n.log_("message on old connection"))}},t.prototype.sendRequest=function(e){var n={t:"d",d:e};this.sendData_(n)},t.prototype.tryCleanupConnection=function(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)},t.prototype.onSecondaryControl_=function(e){if(Iae in e){var n=e[Iae];n===bMe?this.upgradeIfSecondaryHealthy_():n===vMe?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),(this.tx_===this.secondaryConn_||this.rx_===this.secondaryConn_)&&this.close()):n===xMe&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_())}},t.prototype.onSecondaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);if(n==="c")this.onSecondaryControl_(o);else if(n==="d")this.pendingDataMessages.push(o);else throw new Error("Unknown protocol layer: "+n)},t.prototype.upgradeIfSecondaryHealthy_=function(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:TMe,d:{}}}))},t.prototype.proceedWithUpgrade_=function(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:bMe,d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:SMe,d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()},t.prototype.onPrimaryMessageReceived_=function(e){var n=_z("t",e),o=_z("d",e);n==="c"?this.onControl_(o):n==="d"&&this.onDataMessage_(o)},t.prototype.onDataMessage_=function(e){this.onPrimaryResponse_(),this.onMessage_(e)},t.prototype.onPrimaryResponse_=function(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))},t.prototype.onControl_=function(e){var n=_z(Iae,e);if(wMe in e){var o=e[wMe];if(n===k1o)this.onHandshake_(o);else if(n===SMe){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(var i=0;i0,"Requires a non-empty array")}return t.prototype.trigger=function(e){for(var n=[],o=1;o0,"Requires a non-empty array")}return t.prototype.trigger=function(e){for(var n=[],o=1;o0&&(this.pieces_[o]=this.pieces_[i],o++);this.pieces_.length=o,this.pieceNum_=0}else this.pieces_=e,this.pieceNum_=n}return t.prototype.toString=function(){for(var e="",n=this.pieceNum_;n=t.pieces_.length?null:t.pieces_[t.pieceNum_]}function p7(t){return t.pieces_.length-t.pieceNum_}function bs(t){var e=t.pieceNum_;return e=t.pieces_.length)return null;for(var e=[],n=t.pieceNum_;n0&&n.push(i[o]);return new os(n,0)}function Ha(t){return t.pieceNum_>=t.pieces_.length}function ip(t,e){var n=Ra(t),o=Ra(e);if(n===null)return e;if(n===o)return ip(bs(t),bs(e));throw new Error("INTERNAL ERROR: innerPath ("+e+") is not within outerPath ("+t+")")}function N1o(t,e){for(var n=RF(t,0),o=RF(e,0),i=0;ip7(e))return!1;for(;n0&&(t.byteLength_+=1),t.parts_.push(e),t.byteLength_+=UQ(e),cit(t)}function j1o(t){var e=t.parts_.pop();t.byteLength_-=UQ(e),t.parts_.length>0&&(t.byteLength_-=1)}function cit(t){if(t.byteLength_>MMe)throw new Error(t.errorPrefix_+"has a key path longer than "+MMe+" bytes ("+t.byteLength_+").");if(t.parts_.length>HMe)throw new Error(t.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+HMe+") or object contains a cycle "+fv(t))}function fv(t){return t.parts_.length===0?"":"in property '"+t.parts_.join(".")+"'"}/** + */var CMe=32,RMe=768,os=function(){function t(e,n){if(n===void 0){this.pieces_=e.split("/");for(var o=0,i=0;i0&&(this.pieces_[o]=this.pieces_[i],o++);this.pieces_.length=o,this.pieceNum_=0}else this.pieces_=e,this.pieceNum_=n}return t.prototype.toString=function(){for(var e="",n=this.pieceNum_;n=t.pieces_.length?null:t.pieces_[t.pieceNum_]}function p7(t){return t.pieces_.length-t.pieceNum_}function bs(t){var e=t.pieceNum_;return e=t.pieces_.length)return null;for(var e=[],n=t.pieceNum_;n0&&n.push(i[o]);return new os(n,0)}function Ha(t){return t.pieceNum_>=t.pieces_.length}function ip(t,e){var n=Ra(t),o=Ra(e);if(n===null)return e;if(n===o)return ip(bs(t),bs(e));throw new Error("INTERNAL ERROR: innerPath ("+e+") is not within outerPath ("+t+")")}function L1o(t,e){for(var n=RF(t,0),o=RF(e,0),i=0;ip7(e))return!1;for(;n0&&(t.byteLength_+=1),t.parts_.push(e),t.byteLength_+=UQ(e),lit(t)}function U1o(t){var e=t.parts_.pop();t.byteLength_-=UQ(e),t.parts_.length>0&&(t.byteLength_-=1)}function lit(t){if(t.byteLength_>RMe)throw new Error(t.errorPrefix_+"has a key path longer than "+RMe+" bytes ("+t.byteLength_+").");if(t.parts_.length>CMe)throw new Error(t.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+CMe+") or object contains a cycle "+fv(t))}function fv(t){return t.parts_.length===0?"":"in property '"+t.parts_.join(".")+"'"}/** * @license * Copyright 2017 Google LLC * @@ -7554,7 +7554,7 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Y1o=function(t){Ti(e,t);function e(){var n=t.call(this,["visible"])||this,o,i;return typeof document<"u"&&typeof document.addEventListener<"u"&&(typeof document.hidden<"u"?(i="visibilitychange",o="hidden"):typeof document.mozHidden<"u"?(i="mozvisibilitychange",o="mozHidden"):typeof document.msHidden<"u"?(i="msvisibilitychange",o="msHidden"):typeof document.webkitHidden<"u"&&(i="webkitvisibilitychange",o="webkitHidden")),n.visible_=!0,i&&document.addEventListener(i,function(){var r=!document[o];r!==n.visible_&&(n.visible_=r,n.trigger("visible",r))},!1),n}return e.getInstance=function(){return new e},e.prototype.getInitialEvent=function(n){return ei(n==="visible","Unknown event type: "+n),[this.visible_]},e}(lit);/** + */var B1o=function(t){Ti(e,t);function e(){var n=t.call(this,["visible"])||this,o,i;return typeof document<"u"&&typeof document.addEventListener<"u"&&(typeof document.hidden<"u"?(i="visibilitychange",o="hidden"):typeof document.mozHidden<"u"?(i="mozvisibilitychange",o="mozHidden"):typeof document.msHidden<"u"?(i="msvisibilitychange",o="msHidden"):typeof document.webkitHidden<"u"&&(i="webkitvisibilitychange",o="webkitHidden")),n.visible_=!0,i&&document.addEventListener(i,function(){var r=!document[o];r!==n.visible_&&(n.visible_=r,n.trigger("visible",r))},!1),n}return e.getInstance=function(){return new e},e.prototype.getInitialEvent=function(n){return ei(n==="visible","Unknown event type: "+n),[this.visible_]},e}(rit);/** * @license * Copyright 2017 Google LLC * @@ -7569,10 +7569,10 @@ PERFORMANCE OF THIS SOFTWARE. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Vz=1e3,O1o=60*5*1e3,_1o=3*1e3,IMe=30*1e3,V1o=1.3,G1o=3e4,X1o="server_kill",zMe=3,Tx=function(t){Ti(e,t);function e(n,o,i,r,a,l,s,c){var u=t.call(this)||this;if(u.repoInfo_=n,u.applicationId_=o,u.onDataUpdate_=i,u.onConnectStatus_=r,u.onServerInfoUpdate_=a,u.authTokenProvider_=l,u.appCheckTokenProvider_=s,u.authOverride_=c,u.id=e.nextPersistentConnectionId_++,u.log_=NN("p:"+u.id+":"),u.interruptReasons_={},u.listens=new Map,u.outstandingPuts_=[],u.outstandingGets_=[],u.outstandingPutCount_=0,u.outstandingGetCount_=0,u.onDisconnectRequestQueue_=[],u.connected_=!1,u.reconnectDelay_=Vz,u.maxReconnectDelay_=O1o,u.securityDebugCallback_=null,u.lastSessionId=null,u.establishConnectionTimer_=null,u.visible_=!1,u.requestCBHash_={},u.requestNumber_=0,u.realtime_=null,u.authToken_=null,u.appCheckToken_=null,u.forceTokenRefresh_=!1,u.invalidAuthTokenCount_=0,u.invalidAppCheckTokenCount_=0,u.firstConnection_=!0,u.lastConnectionAttemptTime_=null,u.lastConnectionEstablishedTime_=null,c&&!sQe())throw new Error("Auth override specified in options, but not supported on non Node.js platforms");return Y1o.getInstance().on("visible",u.onVisible_,u),n.host.indexOf("fblocal")===-1&&RMe.getInstance().on("online",u.onOnline_,u),u}return e.prototype.sendRequest=function(n,o,i){var r=++this.requestNumber_,a={r,a:n,b:o};this.log_(Du(a)),ei(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(a),i&&(this.requestCBHash_[r]=i)},e.prototype.get=function(n){var o=this;this.initConnection_();var i=new Lp,r={p:n._path.toString(),q:n._queryObject},a={action:"g",request:r,onComplete:function(s){var c=s.d;s.s==="ok"?(o.onDataUpdate_(r.p,c,!1,null),i.resolve(c)):i.reject(c)}};this.outstandingGets_.push(a),this.outstandingGetCount_++;var l=this.outstandingGets_.length-1;return this.connected_||setTimeout(function(){var s=o.outstandingGets_[l];s===void 0||a!==s||(delete o.outstandingGets_[l],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),o.log_("get "+l+" timed out on connection"),i.reject(new Error("Client is offline.")))},_1o),this.connected_&&this.sendGet_(l),i.promise},e.prototype.listen=function(n,o,i,r){this.initConnection_();var a=n._queryIdentifier,l=n._path.toString();this.log_("Listen called for "+l+" "+a),this.listens.has(l)||this.listens.set(l,new Map),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"listen() called for non-default but complete query"),ei(!this.listens.get(l).has(a),"listen() called twice for same path/queryId.");var s={onComplete:r,hashFn:o,query:n,tag:i};this.listens.get(l).set(a,s),this.connected_&&this.sendListen_(s)},e.prototype.sendGet_=function(n){var o=this,i=this.outstandingGets_[n];this.sendRequest("g",i.request,function(r){delete o.outstandingGets_[n],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),i.onComplete&&i.onComplete(r)})},e.prototype.sendListen_=function(n){var o=this,i=n.query,r=i._path.toString(),a=i._queryIdentifier;this.log_("Listen on "+r+" for "+a);var l={p:r},s="q";n.tag&&(l.q=i._queryObject,l.t=n.tag),l.h=n.hashFn(),this.sendRequest(s,l,function(c){var u=c.d,d=c.s;e.warnOnListenWarnings_(u,i);var f=o.listens.get(r)&&o.listens.get(r).get(a);f===n&&(o.log_("listen response",c),d!=="ok"&&o.removeListen_(r,a),n.onComplete&&n.onComplete(d,u))})},e.warnOnListenWarnings_=function(n,o){if(n&&typeof n=="object"&&Mg(n,"w")){var i=qx(n,"w");if(Array.isArray(i)&&~i.indexOf("no_index")){var r='".indexOn": "'+o._queryParams.getIndex().toString()+'"',a=o._path.toString();ff("Using an unspecified index. Your data will be downloaded and "+("filtered on the client. Consider adding "+r+" at ")+(a+" to your security rules for better performance."))}}},e.prototype.refreshAuthToken=function(n){this.authToken_=n,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},function(){}),this.reduceReconnectDelayIfAdminCredential_(n)},e.prototype.reduceReconnectDelayIfAdminCredential_=function(n){var o=n&&n.length===40;(o||ILn(n))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=IMe)},e.prototype.refreshAppCheckToken=function(n){this.appCheckToken_=n,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},function(){})},e.prototype.tryAuth=function(){var n=this;if(this.connected_&&this.authToken_){var o=this.authToken_,i=MLn(o)?"auth":"gauth",r={cred:o};this.authOverride_===null?r.noauth=!0:typeof this.authOverride_=="object"&&(r.authvar=this.authOverride_),this.sendRequest(i,r,function(a){var l=a.s,s=a.d||"error";n.authToken_===o&&(l==="ok"?n.invalidAuthTokenCount_=0:n.onAuthRevoked_(l,s))})}},e.prototype.tryAppCheck=function(){var n=this;this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},function(o){var i=o.s,r=o.d||"error";i==="ok"?n.invalidAppCheckTokenCount_=0:n.onAppCheckRevoked_(i,r)})},e.prototype.unlisten=function(n,o){var i=n._path.toString(),r=n._queryIdentifier;this.log_("Unlisten called for "+i+" "+r),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"unlisten() called for non-default but complete query");var a=this.removeListen_(i,r);a&&this.connected_&&this.sendUnlisten_(i,r,n._queryObject,o)},e.prototype.sendUnlisten_=function(n,o,i,r){this.log_("Unlisten on "+n+" for "+o);var a={p:n},l="n";r&&(a.q=i,a.t=r),this.sendRequest(l,a)},e.prototype.onDisconnectPut=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"o",data:o,onComplete:i})},e.prototype.onDisconnectMerge=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"om",data:o,onComplete:i})},e.prototype.onDisconnectCancel=function(n,o){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",n,null,o):this.onDisconnectRequestQueue_.push({pathString:n,action:"oc",data:null,onComplete:o})},e.prototype.sendOnDisconnect_=function(n,o,i,r){var a={p:o,d:i};this.log_("onDisconnect "+n,a),this.sendRequest(n,a,function(l){r&&setTimeout(function(){r(l.s,l.d)},Math.floor(0))})},e.prototype.put=function(n,o,i,r){this.putInternal("p",n,o,i,r)},e.prototype.merge=function(n,o,i,r){this.putInternal("m",n,o,i,r)},e.prototype.putInternal=function(n,o,i,r,a){this.initConnection_();var l={p:o,d:i};a!==void 0&&(l.h=a),this.outstandingPuts_.push({action:n,request:l,onComplete:r}),this.outstandingPutCount_++;var s=this.outstandingPuts_.length-1;this.connected_?this.sendPut_(s):this.log_("Buffering put: "+o)},e.prototype.sendPut_=function(n){var o=this,i=this.outstandingPuts_[n].action,r=this.outstandingPuts_[n].request,a=this.outstandingPuts_[n].onComplete;this.outstandingPuts_[n].queued=this.connected_,this.sendRequest(i,r,function(l){o.log_(i+" response",l),delete o.outstandingPuts_[n],o.outstandingPutCount_--,o.outstandingPutCount_===0&&(o.outstandingPuts_=[]),a&&a(l.s,l.d)})},e.prototype.reportStats=function(n){var o=this;if(this.connected_){var i={c:n};this.log_("reportStats",i),this.sendRequest("s",i,function(r){var a=r.s;if(a!=="ok"){var l=r.d;o.log_("reportStats","Error sending stats: "+l)}})}},e.prototype.onDataMessage_=function(n){if("r"in n){this.log_("from server: "+Du(n));var o=n.r,i=this.requestCBHash_[o];i&&(delete this.requestCBHash_[o],i(n.b))}else{if("error"in n)throw"A server-side error has occurred: "+n.error;"a"in n&&this.onDataPush_(n.a,n.b)}},e.prototype.onDataPush_=function(n,o){this.log_("handleServerMessage",n,o),n==="d"?this.onDataUpdate_(o.p,o.d,!1,o.t):n==="m"?this.onDataUpdate_(o.p,o.d,!0,o.t):n==="c"?this.onListenRevoked_(o.p,o.q):n==="ac"?this.onAuthRevoked_(o.s,o.d):n==="apc"?this.onAppCheckRevoked_(o.s,o.d):n==="sd"?this.onSecurityDebugPacket_(o):Jde("Unrecognized action received from server: "+Du(n)+` -Are you using the latest client?`)},e.prototype.onReady_=function(n,o){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=new Date().getTime(),this.handleTimestamp_(n),this.lastSessionId=o,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)},e.prototype.scheduleConnect_=function(n){var o=this;ei(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(function(){o.establishConnectionTimer_=null,o.establishConnection_()},Math.floor(n))},e.prototype.initConnection_=function(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)},e.prototype.onVisible_=function(n){n&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)),this.visible_=n},e.prototype.onOnline_=function(n){n?(this.log_("Browser went online."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())},e.prototype.onRealtimeDisconnect_=function(){if(this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()){if(!this.visible_)this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=new Date().getTime();else if(this.lastConnectionEstablishedTime_){var n=new Date().getTime()-this.lastConnectionEstablishedTime_;n>G1o&&(this.reconnectDelay_=Vz),this.lastConnectionEstablishedTime_=null}var o=new Date().getTime()-this.lastConnectionAttemptTime_,i=Math.max(0,this.reconnectDelay_-o);i=Math.random()*i,this.log_("Trying to reconnect in "+i+"ms"),this.scheduleConnect_(i),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,this.reconnectDelay_*V1o)}this.onConnectStatus_(!1)},e.prototype.establishConnection_=function(){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l,s,c,u,d,f,p,g,A,w=this;return ho(this,function(b){switch(b.label){case 0:if(!this.shouldReconnect_())return[3,4];this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=new Date().getTime(),this.lastConnectionEstablishedTime_=null,n=this.onDataMessage_.bind(this),o=this.onReady_.bind(this),i=this.onRealtimeDisconnect_.bind(this),r=this.id+":"+e.nextConnectionId_++,a=this.lastSessionId,l=!1,s=null,c=function(){s?s.close():(l=!0,i())},u=function(C){ei(s,"sendRequest call when we're not connected not allowed."),s.sendRequest(C)},this.realtime_={close:c,sendRequest:u},d=this.forceTokenRefresh_,this.forceTokenRefresh_=!1,b.label=1;case 1:return b.trys.push([1,3,,4]),[4,Promise.all([this.authTokenProvider_.getToken(d),this.appCheckTokenProvider_.getToken(d)])];case 2:return f=tp.apply(void 0,[b.sent(),2]),p=f[0],g=f[1],l?vd("getToken() completed but was canceled"):(vd("getToken() completed. Creating connection."),this.authToken_=p&&p.accessToken,this.appCheckToken_=g&&g.token,s=new rit(r,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,n,o,i,function(C){ff(C+" ("+w.repoInfo_.toString()+")"),w.interrupt(X1o)},a)),[3,4];case 3:return A=b.sent(),this.log_("Failed to get token: "+A),l||(this.repoInfo_.nodeAdmin&&ff(A),c()),[3,4];case 4:return[2]}})})},e.prototype.interrupt=function(n){vd("Interrupting connection for reason: "+n),this.interruptReasons_[n]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())},e.prototype.resume=function(n){vd("Resuming connection for reason: "+n),delete this.interruptReasons_[n],Jue(this.interruptReasons_)&&(this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0))},e.prototype.handleTimestamp_=function(n){var o=n-new Date().getTime();this.onServerInfoUpdate_({serverTimeOffset:o})},e.prototype.cancelSentTransactions_=function(){for(var n=0;n=zMe&&(this.reconnectDelay_=IMe,this.authTokenProvider_.notifyForInvalidToken()))},e.prototype.onAppCheckRevoked_=function(n,o){vd("App check token revoked: "+n+"/"+o),this.appCheckToken_=null,this.forceTokenRefresh_=!0,(n==="invalid_token"||n==="permission_denied")&&(this.invalidAppCheckTokenCount_++,this.invalidAppCheckTokenCount_>=zMe&&this.appCheckTokenProvider_.notifyForInvalidToken())},e.prototype.onSecurityDebugPacket_=function(n){this.securityDebugCallback_?this.securityDebugCallback_(n):"msg"in n&&console.log("FIREBASE: "+n.msg.replace(` + */var Vz=1e3,j1o=60*5*1e3,Y1o=3*1e3,HMe=30*1e3,O1o=1.3,_1o=3e4,V1o="server_kill",MMe=3,Tx=function(t){Ti(e,t);function e(n,o,i,r,a,l,s,c){var u=t.call(this)||this;if(u.repoInfo_=n,u.applicationId_=o,u.onDataUpdate_=i,u.onConnectStatus_=r,u.onServerInfoUpdate_=a,u.authTokenProvider_=l,u.appCheckTokenProvider_=s,u.authOverride_=c,u.id=e.nextPersistentConnectionId_++,u.log_=NN("p:"+u.id+":"),u.interruptReasons_={},u.listens=new Map,u.outstandingPuts_=[],u.outstandingGets_=[],u.outstandingPutCount_=0,u.outstandingGetCount_=0,u.onDisconnectRequestQueue_=[],u.connected_=!1,u.reconnectDelay_=Vz,u.maxReconnectDelay_=j1o,u.securityDebugCallback_=null,u.lastSessionId=null,u.establishConnectionTimer_=null,u.visible_=!1,u.requestCBHash_={},u.requestNumber_=0,u.realtime_=null,u.authToken_=null,u.appCheckToken_=null,u.forceTokenRefresh_=!1,u.invalidAuthTokenCount_=0,u.invalidAppCheckTokenCount_=0,u.firstConnection_=!0,u.lastConnectionAttemptTime_=null,u.lastConnectionEstablishedTime_=null,c&&!aQe())throw new Error("Auth override specified in options, but not supported on non Node.js platforms");return B1o.getInstance().on("visible",u.onVisible_,u),n.host.indexOf("fblocal")===-1&&PMe.getInstance().on("online",u.onOnline_,u),u}return e.prototype.sendRequest=function(n,o,i){var r=++this.requestNumber_,a={r,a:n,b:o};this.log_(Du(a)),ei(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(a),i&&(this.requestCBHash_[r]=i)},e.prototype.get=function(n){var o=this;this.initConnection_();var i=new Lp,r={p:n._path.toString(),q:n._queryObject},a={action:"g",request:r,onComplete:function(s){var c=s.d;s.s==="ok"?(o.onDataUpdate_(r.p,c,!1,null),i.resolve(c)):i.reject(c)}};this.outstandingGets_.push(a),this.outstandingGetCount_++;var l=this.outstandingGets_.length-1;return this.connected_||setTimeout(function(){var s=o.outstandingGets_[l];s===void 0||a!==s||(delete o.outstandingGets_[l],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),o.log_("get "+l+" timed out on connection"),i.reject(new Error("Client is offline.")))},Y1o),this.connected_&&this.sendGet_(l),i.promise},e.prototype.listen=function(n,o,i,r){this.initConnection_();var a=n._queryIdentifier,l=n._path.toString();this.log_("Listen called for "+l+" "+a),this.listens.has(l)||this.listens.set(l,new Map),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"listen() called for non-default but complete query"),ei(!this.listens.get(l).has(a),"listen() called twice for same path/queryId.");var s={onComplete:r,hashFn:o,query:n,tag:i};this.listens.get(l).set(a,s),this.connected_&&this.sendListen_(s)},e.prototype.sendGet_=function(n){var o=this,i=this.outstandingGets_[n];this.sendRequest("g",i.request,function(r){delete o.outstandingGets_[n],o.outstandingGetCount_--,o.outstandingGetCount_===0&&(o.outstandingGets_=[]),i.onComplete&&i.onComplete(r)})},e.prototype.sendListen_=function(n){var o=this,i=n.query,r=i._path.toString(),a=i._queryIdentifier;this.log_("Listen on "+r+" for "+a);var l={p:r},s="q";n.tag&&(l.q=i._queryObject,l.t=n.tag),l.h=n.hashFn(),this.sendRequest(s,l,function(c){var u=c.d,d=c.s;e.warnOnListenWarnings_(u,i);var f=o.listens.get(r)&&o.listens.get(r).get(a);f===n&&(o.log_("listen response",c),d!=="ok"&&o.removeListen_(r,a),n.onComplete&&n.onComplete(d,u))})},e.warnOnListenWarnings_=function(n,o){if(n&&typeof n=="object"&&Mg(n,"w")){var i=qx(n,"w");if(Array.isArray(i)&&~i.indexOf("no_index")){var r='".indexOn": "'+o._queryParams.getIndex().toString()+'"',a=o._path.toString();ff("Using an unspecified index. Your data will be downloaded and "+("filtered on the client. Consider adding "+r+" at ")+(a+" to your security rules for better performance."))}}},e.prototype.refreshAuthToken=function(n){this.authToken_=n,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},function(){}),this.reduceReconnectDelayIfAdminCredential_(n)},e.prototype.reduceReconnectDelayIfAdminCredential_=function(n){var o=n&&n.length===40;(o||HLn(n))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=HMe)},e.prototype.refreshAppCheckToken=function(n){this.appCheckToken_=n,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},function(){})},e.prototype.tryAuth=function(){var n=this;if(this.connected_&&this.authToken_){var o=this.authToken_,i=RLn(o)?"auth":"gauth",r={cred:o};this.authOverride_===null?r.noauth=!0:typeof this.authOverride_=="object"&&(r.authvar=this.authOverride_),this.sendRequest(i,r,function(a){var l=a.s,s=a.d||"error";n.authToken_===o&&(l==="ok"?n.invalidAuthTokenCount_=0:n.onAuthRevoked_(l,s))})}},e.prototype.tryAppCheck=function(){var n=this;this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},function(o){var i=o.s,r=o.d||"error";i==="ok"?n.invalidAppCheckTokenCount_=0:n.onAppCheckRevoked_(i,r)})},e.prototype.unlisten=function(n,o){var i=n._path.toString(),r=n._queryIdentifier;this.log_("Unlisten called for "+i+" "+r),ei(n._queryParams.isDefault()||!n._queryParams.loadsAllData(),"unlisten() called for non-default but complete query");var a=this.removeListen_(i,r);a&&this.connected_&&this.sendUnlisten_(i,r,n._queryObject,o)},e.prototype.sendUnlisten_=function(n,o,i,r){this.log_("Unlisten on "+n+" for "+o);var a={p:n},l="n";r&&(a.q=i,a.t=r),this.sendRequest(l,a)},e.prototype.onDisconnectPut=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"o",data:o,onComplete:i})},e.prototype.onDisconnectMerge=function(n,o,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",n,o,i):this.onDisconnectRequestQueue_.push({pathString:n,action:"om",data:o,onComplete:i})},e.prototype.onDisconnectCancel=function(n,o){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",n,null,o):this.onDisconnectRequestQueue_.push({pathString:n,action:"oc",data:null,onComplete:o})},e.prototype.sendOnDisconnect_=function(n,o,i,r){var a={p:o,d:i};this.log_("onDisconnect "+n,a),this.sendRequest(n,a,function(l){r&&setTimeout(function(){r(l.s,l.d)},Math.floor(0))})},e.prototype.put=function(n,o,i,r){this.putInternal("p",n,o,i,r)},e.prototype.merge=function(n,o,i,r){this.putInternal("m",n,o,i,r)},e.prototype.putInternal=function(n,o,i,r,a){this.initConnection_();var l={p:o,d:i};a!==void 0&&(l.h=a),this.outstandingPuts_.push({action:n,request:l,onComplete:r}),this.outstandingPutCount_++;var s=this.outstandingPuts_.length-1;this.connected_?this.sendPut_(s):this.log_("Buffering put: "+o)},e.prototype.sendPut_=function(n){var o=this,i=this.outstandingPuts_[n].action,r=this.outstandingPuts_[n].request,a=this.outstandingPuts_[n].onComplete;this.outstandingPuts_[n].queued=this.connected_,this.sendRequest(i,r,function(l){o.log_(i+" response",l),delete o.outstandingPuts_[n],o.outstandingPutCount_--,o.outstandingPutCount_===0&&(o.outstandingPuts_=[]),a&&a(l.s,l.d)})},e.prototype.reportStats=function(n){var o=this;if(this.connected_){var i={c:n};this.log_("reportStats",i),this.sendRequest("s",i,function(r){var a=r.s;if(a!=="ok"){var l=r.d;o.log_("reportStats","Error sending stats: "+l)}})}},e.prototype.onDataMessage_=function(n){if("r"in n){this.log_("from server: "+Du(n));var o=n.r,i=this.requestCBHash_[o];i&&(delete this.requestCBHash_[o],i(n.b))}else{if("error"in n)throw"A server-side error has occurred: "+n.error;"a"in n&&this.onDataPush_(n.a,n.b)}},e.prototype.onDataPush_=function(n,o){this.log_("handleServerMessage",n,o),n==="d"?this.onDataUpdate_(o.p,o.d,!1,o.t):n==="m"?this.onDataUpdate_(o.p,o.d,!0,o.t):n==="c"?this.onListenRevoked_(o.p,o.q):n==="ac"?this.onAuthRevoked_(o.s,o.d):n==="apc"?this.onAppCheckRevoked_(o.s,o.d):n==="sd"?this.onSecurityDebugPacket_(o):Jde("Unrecognized action received from server: "+Du(n)+` +Are you using the latest client?`)},e.prototype.onReady_=function(n,o){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=new Date().getTime(),this.handleTimestamp_(n),this.lastSessionId=o,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)},e.prototype.scheduleConnect_=function(n){var o=this;ei(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(function(){o.establishConnectionTimer_=null,o.establishConnection_()},Math.floor(n))},e.prototype.initConnection_=function(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)},e.prototype.onVisible_=function(n){n&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)),this.visible_=n},e.prototype.onOnline_=function(n){n?(this.log_("Browser went online."),this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())},e.prototype.onRealtimeDisconnect_=function(){if(this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()){if(!this.visible_)this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=new Date().getTime();else if(this.lastConnectionEstablishedTime_){var n=new Date().getTime()-this.lastConnectionEstablishedTime_;n>_1o&&(this.reconnectDelay_=Vz),this.lastConnectionEstablishedTime_=null}var o=new Date().getTime()-this.lastConnectionAttemptTime_,i=Math.max(0,this.reconnectDelay_-o);i=Math.random()*i,this.log_("Trying to reconnect in "+i+"ms"),this.scheduleConnect_(i),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,this.reconnectDelay_*O1o)}this.onConnectStatus_(!1)},e.prototype.establishConnection_=function(){return Ao(this,void 0,void 0,function(){var n,o,i,r,a,l,s,c,u,d,f,p,g,A,w=this;return ho(this,function(b){switch(b.label){case 0:if(!this.shouldReconnect_())return[3,4];this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=new Date().getTime(),this.lastConnectionEstablishedTime_=null,n=this.onDataMessage_.bind(this),o=this.onReady_.bind(this),i=this.onRealtimeDisconnect_.bind(this),r=this.id+":"+e.nextConnectionId_++,a=this.lastSessionId,l=!1,s=null,c=function(){s?s.close():(l=!0,i())},u=function(C){ei(s,"sendRequest call when we're not connected not allowed."),s.sendRequest(C)},this.realtime_={close:c,sendRequest:u},d=this.forceTokenRefresh_,this.forceTokenRefresh_=!1,b.label=1;case 1:return b.trys.push([1,3,,4]),[4,Promise.all([this.authTokenProvider_.getToken(d),this.appCheckTokenProvider_.getToken(d)])];case 2:return f=tp.apply(void 0,[b.sent(),2]),p=f[0],g=f[1],l?vd("getToken() completed but was canceled"):(vd("getToken() completed. Creating connection."),this.authToken_=p&&p.accessToken,this.appCheckToken_=g&&g.token,s=new oit(r,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,n,o,i,function(C){ff(C+" ("+w.repoInfo_.toString()+")"),w.interrupt(V1o)},a)),[3,4];case 3:return A=b.sent(),this.log_("Failed to get token: "+A),l||(this.repoInfo_.nodeAdmin&&ff(A),c()),[3,4];case 4:return[2]}})})},e.prototype.interrupt=function(n){vd("Interrupting connection for reason: "+n),this.interruptReasons_[n]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())},e.prototype.resume=function(n){vd("Resuming connection for reason: "+n),delete this.interruptReasons_[n],Jue(this.interruptReasons_)&&(this.reconnectDelay_=Vz,this.realtime_||this.scheduleConnect_(0))},e.prototype.handleTimestamp_=function(n){var o=n-new Date().getTime();this.onServerInfoUpdate_({serverTimeOffset:o})},e.prototype.cancelSentTransactions_=function(){for(var n=0;n=MMe&&(this.reconnectDelay_=HMe,this.authTokenProvider_.notifyForInvalidToken()))},e.prototype.onAppCheckRevoked_=function(n,o){vd("App check token revoked: "+n+"/"+o),this.appCheckToken_=null,this.forceTokenRefresh_=!0,(n==="invalid_token"||n==="permission_denied")&&(this.invalidAppCheckTokenCount_++,this.invalidAppCheckTokenCount_>=MMe&&this.appCheckTokenProvider_.notifyForInvalidToken())},e.prototype.onSecurityDebugPacket_=function(n){this.securityDebugCallback_?this.securityDebugCallback_(n):"msg"in n&&console.log("FIREBASE: "+n.msg.replace(` `,` -FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),this.tryAppCheck();try{for(var a=vg(this.listens.values()),l=a.next();!l.done;l=a.next()){var s=l.value;try{for(var c=(i=void 0,vg(s.values())),u=c.next();!u.done;u=c.next()){var d=u.value;this.sendListen_(d)}}catch(g){i={error:g}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}}catch(g){n={error:g}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}for(var f=0;f0},t.prototype.peek=function(){if(this.nodeStack_.length===0)return null;var e=this.nodeStack_[this.nodeStack_.length-1];return this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value}},t}(),n2=function(){function t(e,n,o,i,r){this.key=e,this.value=n,this.color=o??t.RED,this.left=i??A6.EMPTY_NODE,this.right=r??A6.EMPTY_NODE}return t.prototype.copy=function(e,n,o,i,r){return new t(e??this.key,n??this.value,o??this.color,i??this.left,r??this.right)},t.prototype.count=function(){return this.left.count()+1+this.right.count()},t.prototype.isEmpty=function(){return!1},t.prototype.inorderTraversal=function(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)},t.prototype.min_=function(){return this.left.isEmpty()?this:this.left.min_()},t.prototype.minKey=function(){return this.min_().key},t.prototype.maxKey=function(){return this.right.isEmpty()?this.key:this.right.maxKey()},t.prototype.insert=function(e,n,o){var i=this,r=o(e,i.key);return r<0?i=i.copy(null,null,null,i.left.insert(e,n,o),null):r===0?i=i.copy(null,n,null,null,null):i=i.copy(null,null,null,null,i.right.insert(e,n,o)),i.fixUp_()},t.prototype.removeMin_=function(){if(this.left.isEmpty())return A6.EMPTY_NODE;var e=this;return!e.left.isRed_()&&!e.left.left.isRed_()&&(e=e.moveRedLeft_()),e=e.copy(null,null,null,e.left.removeMin_(),null),e.fixUp_()},t.prototype.remove=function(e,n){var o,i;if(o=this,n(e,o.key)<0)!o.left.isEmpty()&&!o.left.isRed_()&&!o.left.left.isRed_()&&(o=o.moveRedLeft_()),o=o.copy(null,null,null,o.left.remove(e,n),null);else{if(o.left.isRed_()&&(o=o.rotateRight_()),!o.right.isEmpty()&&!o.right.isRed_()&&!o.right.left.isRed_()&&(o=o.moveRedRight_()),n(e,o.key)===0){if(o.right.isEmpty())return A6.EMPTY_NODE;i=o.right.min_(),o=o.copy(i.key,i.value,null,null,o.right.removeMin_())}o=o.copy(null,null,null,null,o.right.remove(e,n))}return o.fixUp_()},t.prototype.isRed_=function(){return this.color},t.prototype.fixUp_=function(){var e=this;return e.right.isRed_()&&!e.left.isRed_()&&(e=e.rotateLeft_()),e.left.isRed_()&&e.left.left.isRed_()&&(e=e.rotateRight_()),e.left.isRed_()&&e.right.isRed_()&&(e=e.colorFlip_()),e},t.prototype.moveRedLeft_=function(){var e=this.colorFlip_();return e.right.left.isRed_()&&(e=e.copy(null,null,null,null,e.right.rotateRight_()),e=e.rotateLeft_(),e=e.colorFlip_()),e},t.prototype.moveRedRight_=function(){var e=this.colorFlip_();return e.left.left.isRed_()&&(e=e.rotateRight_(),e=e.colorFlip_()),e},t.prototype.rotateLeft_=function(){var e=this.copy(null,null,t.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)},t.prototype.rotateRight_=function(){var e=this.copy(null,null,t.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)},t.prototype.colorFlip_=function(){var e=this.left.copy(null,null,!this.left.color,null,null),n=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,n)},t.prototype.checkMaxDepth_=function(){var e=this.check_();return Math.pow(2,e)<=this.count()+1},t.prototype.check_=function(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");var e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)},t.RED=!0,t.BLACK=!1,t}(),J1o=function(){function t(){}return t.prototype.copy=function(e,n,o,i,r){return this},t.prototype.insert=function(e,n,o){return new n2(e,n,null)},t.prototype.remove=function(e,n){return this},t.prototype.count=function(){return 0},t.prototype.isEmpty=function(){return!0},t.prototype.inorderTraversal=function(e){return!1},t.prototype.reverseTraversal=function(e){return!1},t.prototype.minKey=function(){return null},t.prototype.maxKey=function(){return null},t.prototype.check_=function(){return 0},t.prototype.isRed_=function(){return!1},t}(),A6=function(){function t(e,n){n===void 0&&(n=t.EMPTY_NODE),this.comparator_=e,this.root_=n}return t.prototype.insert=function(e,n){return new t(this.comparator_,this.root_.insert(e,n,this.comparator_).copy(null,null,n2.BLACK,null,null))},t.prototype.remove=function(e){return new t(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,n2.BLACK,null,null))},t.prototype.get=function(e){for(var n,o=this.root_;!o.isEmpty();){if(n=this.comparator_(e,o.key),n===0)return o.value;n<0?o=o.left:n>0&&(o=o.right)}return null},t.prototype.getPredecessorKey=function(e){for(var n,o=this.root_,i=null;!o.isEmpty();)if(n=this.comparator_(e,o.key),n===0){if(o.left.isEmpty())return i?i.key:null;for(o=o.left;!o.right.isEmpty();)o=o.right;return o.key}else n<0?o=o.left:n>0&&(i=o,o=o.right);throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")},t.prototype.isEmpty=function(){return this.root_.isEmpty()},t.prototype.count=function(){return this.root_.count()},t.prototype.minKey=function(){return this.root_.minKey()},t.prototype.maxKey=function(){return this.root_.maxKey()},t.prototype.inorderTraversal=function(e){return this.root_.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.root_.reverseTraversal(e)},t.prototype.getIterator=function(e){return new DO(this.root_,null,this.comparator_,!1,e)},t.prototype.getIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!1,n)},t.prototype.getReverseIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!0,n)},t.prototype.getReverseIterator=function(e){return new DO(this.root_,null,this.comparator_,!0,e)},t.EMPTY_NODE=new J1o,t}();/** + */var DO=function(){function t(e,n,o,i,r){r===void 0&&(r=null),this.isReverse_=i,this.resultGenerator_=r,this.nodeStack_=[];for(var a=1;!e.isEmpty();)if(e=e,a=n?o(e.key,n):1,i&&(a*=-1),a<0)this.isReverse_?e=e.left:e=e.right;else if(a===0){this.nodeStack_.push(e);break}else this.nodeStack_.push(e),this.isReverse_?e=e.right:e=e.left}return t.prototype.getNext=function(){if(this.nodeStack_.length===0)return null;var e=this.nodeStack_.pop(),n;if(this.resultGenerator_?n=this.resultGenerator_(e.key,e.value):n={key:e.key,value:e.value},this.isReverse_)for(e=e.left;!e.isEmpty();)this.nodeStack_.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack_.push(e),e=e.left;return n},t.prototype.hasNext=function(){return this.nodeStack_.length>0},t.prototype.peek=function(){if(this.nodeStack_.length===0)return null;var e=this.nodeStack_[this.nodeStack_.length-1];return this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value}},t}(),n2=function(){function t(e,n,o,i,r){this.key=e,this.value=n,this.color=o??t.RED,this.left=i??A6.EMPTY_NODE,this.right=r??A6.EMPTY_NODE}return t.prototype.copy=function(e,n,o,i,r){return new t(e??this.key,n??this.value,o??this.color,i??this.left,r??this.right)},t.prototype.count=function(){return this.left.count()+1+this.right.count()},t.prototype.isEmpty=function(){return!1},t.prototype.inorderTraversal=function(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)},t.prototype.min_=function(){return this.left.isEmpty()?this:this.left.min_()},t.prototype.minKey=function(){return this.min_().key},t.prototype.maxKey=function(){return this.right.isEmpty()?this.key:this.right.maxKey()},t.prototype.insert=function(e,n,o){var i=this,r=o(e,i.key);return r<0?i=i.copy(null,null,null,i.left.insert(e,n,o),null):r===0?i=i.copy(null,n,null,null,null):i=i.copy(null,null,null,null,i.right.insert(e,n,o)),i.fixUp_()},t.prototype.removeMin_=function(){if(this.left.isEmpty())return A6.EMPTY_NODE;var e=this;return!e.left.isRed_()&&!e.left.left.isRed_()&&(e=e.moveRedLeft_()),e=e.copy(null,null,null,e.left.removeMin_(),null),e.fixUp_()},t.prototype.remove=function(e,n){var o,i;if(o=this,n(e,o.key)<0)!o.left.isEmpty()&&!o.left.isRed_()&&!o.left.left.isRed_()&&(o=o.moveRedLeft_()),o=o.copy(null,null,null,o.left.remove(e,n),null);else{if(o.left.isRed_()&&(o=o.rotateRight_()),!o.right.isEmpty()&&!o.right.isRed_()&&!o.right.left.isRed_()&&(o=o.moveRedRight_()),n(e,o.key)===0){if(o.right.isEmpty())return A6.EMPTY_NODE;i=o.right.min_(),o=o.copy(i.key,i.value,null,null,o.right.removeMin_())}o=o.copy(null,null,null,null,o.right.remove(e,n))}return o.fixUp_()},t.prototype.isRed_=function(){return this.color},t.prototype.fixUp_=function(){var e=this;return e.right.isRed_()&&!e.left.isRed_()&&(e=e.rotateLeft_()),e.left.isRed_()&&e.left.left.isRed_()&&(e=e.rotateRight_()),e.left.isRed_()&&e.right.isRed_()&&(e=e.colorFlip_()),e},t.prototype.moveRedLeft_=function(){var e=this.colorFlip_();return e.right.left.isRed_()&&(e=e.copy(null,null,null,null,e.right.rotateRight_()),e=e.rotateLeft_(),e=e.colorFlip_()),e},t.prototype.moveRedRight_=function(){var e=this.colorFlip_();return e.left.left.isRed_()&&(e=e.rotateRight_(),e=e.colorFlip_()),e},t.prototype.rotateLeft_=function(){var e=this.copy(null,null,t.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)},t.prototype.rotateRight_=function(){var e=this.copy(null,null,t.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)},t.prototype.colorFlip_=function(){var e=this.left.copy(null,null,!this.left.color,null,null),n=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,n)},t.prototype.checkMaxDepth_=function(){var e=this.check_();return Math.pow(2,e)<=this.count()+1},t.prototype.check_=function(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");var e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)},t.RED=!0,t.BLACK=!1,t}(),G1o=function(){function t(){}return t.prototype.copy=function(e,n,o,i,r){return this},t.prototype.insert=function(e,n,o){return new n2(e,n,null)},t.prototype.remove=function(e,n){return this},t.prototype.count=function(){return 0},t.prototype.isEmpty=function(){return!0},t.prototype.inorderTraversal=function(e){return!1},t.prototype.reverseTraversal=function(e){return!1},t.prototype.minKey=function(){return null},t.prototype.maxKey=function(){return null},t.prototype.check_=function(){return 0},t.prototype.isRed_=function(){return!1},t}(),A6=function(){function t(e,n){n===void 0&&(n=t.EMPTY_NODE),this.comparator_=e,this.root_=n}return t.prototype.insert=function(e,n){return new t(this.comparator_,this.root_.insert(e,n,this.comparator_).copy(null,null,n2.BLACK,null,null))},t.prototype.remove=function(e){return new t(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,n2.BLACK,null,null))},t.prototype.get=function(e){for(var n,o=this.root_;!o.isEmpty();){if(n=this.comparator_(e,o.key),n===0)return o.value;n<0?o=o.left:n>0&&(o=o.right)}return null},t.prototype.getPredecessorKey=function(e){for(var n,o=this.root_,i=null;!o.isEmpty();)if(n=this.comparator_(e,o.key),n===0){if(o.left.isEmpty())return i?i.key:null;for(o=o.left;!o.right.isEmpty();)o=o.right;return o.key}else n<0?o=o.left:n>0&&(i=o,o=o.right);throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")},t.prototype.isEmpty=function(){return this.root_.isEmpty()},t.prototype.count=function(){return this.root_.count()},t.prototype.minKey=function(){return this.root_.minKey()},t.prototype.maxKey=function(){return this.root_.maxKey()},t.prototype.inorderTraversal=function(e){return this.root_.inorderTraversal(e)},t.prototype.reverseTraversal=function(e){return this.root_.reverseTraversal(e)},t.prototype.getIterator=function(e){return new DO(this.root_,null,this.comparator_,!1,e)},t.prototype.getIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!1,n)},t.prototype.getReverseIteratorFrom=function(e,n){return new DO(this.root_,e,this.comparator_,!0,n)},t.prototype.getReverseIterator=function(e){return new DO(this.root_,null,this.comparator_,!0,e)},t.EMPTY_NODE=new G1o,t}();/** * @license * Copyright 2017 Google LLC * @@ -7647,7 +7647,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function K1o(t,e){return Qb(t.name,e.name)}function m9e(t,e){return Qb(t,e)}/** + */function X1o(t,e){return Qb(t.name,e.name)}function m9e(t,e){return Qb(t,e)}/** * @license * Copyright 2017 Google LLC * @@ -7662,7 +7662,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var qde;function q1o(t){qde=t}var dit=function(t){return typeof t=="number"?"number:"+Oot(t):"string:"+t},fit=function(t){if(t.isLeafNode()){var e=t.val();ei(typeof e=="string"||typeof e=="number"||typeof e=="object"&&Mg(e,".sv"),"Priority must be a string or number.")}else ei(t===qde||t.isEmpty(),"priority of unexpected type.");ei(t===qde||t.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")};/** + */var qde;function J1o(t){qde=t}var cit=function(t){return typeof t=="number"?"number:"+jot(t):"string:"+t},uit=function(t){if(t.isLeafNode()){var e=t.val();ei(typeof e=="string"||typeof e=="number"||typeof e=="object"&&Mg(e,".sv"),"Priority must be a string or number.")}else ei(t===qde||t.isEmpty(),"priority of unexpected type.");ei(t===qde||t.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")};/** * @license * Copyright 2017 Google LLC * @@ -7677,7 +7677,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var DMe,WR=function(){function t(e,n){n===void 0&&(n=t.__childrenNodeConstructor.EMPTY_NODE),this.value_=e,this.priorityNode_=n,this.lazyHash_=null,ei(this.value_!==void 0&&this.value_!==null,"LeafNode shouldn't be created with null/undefined value."),fit(this.priorityNode_)}return Object.defineProperty(t,"__childrenNodeConstructor",{get:function(){return DMe},set:function(e){DMe=e},enumerable:!1,configurable:!0}),t.prototype.isLeafNode=function(){return!0},t.prototype.getPriority=function(){return this.priorityNode_},t.prototype.updatePriority=function(e){return new t(this.value_,e)},t.prototype.getImmediateChild=function(e){return e===".priority"?this.priorityNode_:t.__childrenNodeConstructor.EMPTY_NODE},t.prototype.getChild=function(e){return Ha(e)?this:Ra(e)===".priority"?this.priorityNode_:t.__childrenNodeConstructor.EMPTY_NODE},t.prototype.hasChild=function(){return!1},t.prototype.getPredecessorChildName=function(e,n){return null},t.prototype.updateImmediateChild=function(e,n){return e===".priority"?this.updatePriority(n):n.isEmpty()&&e!==".priority"?this:t.__childrenNodeConstructor.EMPTY_NODE.updateImmediateChild(e,n).updatePriority(this.priorityNode_)},t.prototype.updateChild=function(e,n){var o=Ra(e);return o===null?n:n.isEmpty()&&o!==".priority"?this:(ei(o!==".priority"||p7(e)===1,".priority must be the last token in a path"),this.updateImmediateChild(o,t.__childrenNodeConstructor.EMPTY_NODE.updateChild(bs(e),n)))},t.prototype.isEmpty=function(){return!1},t.prototype.numChildren=function(){return 0},t.prototype.forEachChild=function(e,n){return!1},t.prototype.val=function(e){return e&&!this.getPriority().isEmpty()?{".value":this.getValue(),".priority":this.getPriority().val()}:this.getValue()},t.prototype.hash=function(){if(this.lazyHash_===null){var e="";this.priorityNode_.isEmpty()||(e+="priority:"+dit(this.priorityNode_.val())+":");var n=typeof this.value_;e+=n+":",n==="number"?e+=Oot(this.value_):e+=this.value_,this.lazyHash_=Bot(e)}return this.lazyHash_},t.prototype.getValue=function(){return this.value_},t.prototype.compareTo=function(e){return e===t.__childrenNodeConstructor.EMPTY_NODE?1:e instanceof t.__childrenNodeConstructor?-1:(ei(e.isLeafNode(),"Unknown node type"),this.compareToLeafNode_(e))},t.prototype.compareToLeafNode_=function(e){var n=typeof e.value_,o=typeof this.value_,i=t.VALUE_TYPE_ORDER.indexOf(n),r=t.VALUE_TYPE_ORDER.indexOf(o);return ei(i>=0,"Unknown leaf type: "+n),ei(r>=0,"Unknown leaf type: "+o),i===r?o==="object"?0:this.value_=0,"Unknown leaf type: "+n),ei(r>=0,"Unknown leaf type: "+o),i===r?o==="object"?0:this.value_0;)i.getNext(),r=i.peek();return i},t.prototype.compareTo=function(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===UN?-1:0},t.prototype.withIndex=function(e){if(e===S9||this.indexMap_.hasIndex(e))return this;var n=this.indexMap_.addIndex(e,this.children_);return new t(this.children_,this.priorityNode_,n)},t.prototype.isIndexed=function(e){return e===S9||this.indexMap_.hasIndex(e)},t.prototype.equals=function(e){if(e===this)return!0;if(e.isLeafNode())return!1;var n=e;if(this.getPriority().equals(n.getPriority()))if(this.children_.count()===n.children_.count()){for(var o=this.getIterator(Vs),i=n.getIterator(Vs),r=o.getNext(),a=i.getNext();r&&a;){if(r.name!==a.name||!r.node.equals(a.node))return!1;r=o.getNext(),a=i.getNext()}return r===null&&a===null}else return!1;else return!1},t.prototype.resolveIndex_=function(e){return e===S9?null:this.indexMap_.get(e.toString())},t.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/,t}(),ngo=function(t){Ti(e,t);function e(){return t.call(this,new A6(m9e),la.EMPTY_NODE,JX.Default)||this}return e.prototype.compareTo=function(n){return n===this?0:1},e.prototype.equals=function(n){return n===this},e.prototype.getPriority=function(){return this},e.prototype.getImmediateChild=function(n){return la.EMPTY_NODE},e.prototype.isEmpty=function(){return!1},e}(la),UN=new ngo;Object.defineProperties(Ja,{MIN:{value:new Ja(Z6,la.EMPTY_NODE)},MAX:{value:new Ja(B9,UN)}});uit.__EMPTY_NODE=la.EMPTY_NODE;WR.__childrenNodeConstructor=la;q1o(UN);Q1o(UN);/** + */var Gz,la=function(){function t(e,n,o){this.children_=e,this.priorityNode_=n,this.indexMap_=o,this.lazyHash_=null,this.priorityNode_&&uit(this.priorityNode_),this.children_.isEmpty()&&ei(!this.priorityNode_||this.priorityNode_.isEmpty(),"An empty node cannot have a priority")}return Object.defineProperty(t,"EMPTY_NODE",{get:function(){return Gz||(Gz=new t(new A6(m9e),null,JX.Default))},enumerable:!1,configurable:!0}),t.prototype.isLeafNode=function(){return!1},t.prototype.getPriority=function(){return this.priorityNode_||Gz},t.prototype.updatePriority=function(e){return this.children_.isEmpty()?this:new t(this.children_,e,this.indexMap_)},t.prototype.getImmediateChild=function(e){if(e===".priority")return this.getPriority();var n=this.children_.get(e);return n===null?Gz:n},t.prototype.getChild=function(e){var n=Ra(e);return n===null?this:this.getImmediateChild(n).getChild(bs(e))},t.prototype.hasChild=function(e){return this.children_.get(e)!==null},t.prototype.updateImmediateChild=function(e,n){if(ei(n,"We should always be passing snapshot nodes"),e===".priority")return this.updatePriority(n);var o=new Ja(e,n),i=void 0,r=void 0;n.isEmpty()?(i=this.children_.remove(e),r=this.indexMap_.removeFromIndexes(o,this.children_)):(i=this.children_.insert(e,n),r=this.indexMap_.addToIndexes(o,this.children_));var a=i.isEmpty()?Gz:this.priorityNode_;return new t(i,a,r)},t.prototype.updateChild=function(e,n){var o=Ra(e);if(o===null)return n;ei(Ra(e)!==".priority"||p7(e)===1,".priority must be the last token in a path");var i=this.getImmediateChild(o).updateChild(bs(e),n);return this.updateImmediateChild(o,i)},t.prototype.isEmpty=function(){return this.children_.isEmpty()},t.prototype.numChildren=function(){return this.children_.count()},t.prototype.val=function(e){if(this.isEmpty())return null;var n={},o=0,i=0,r=!0;if(this.forEachChild(Vs,function(s,c){n[s]=c.val(e),o++,r&&t.INTEGER_REGEXP_.test(s)?i=Math.max(i,Number(s)):r=!1}),!e&&r&&i<2*o){var a=[];for(var l in n)a[l]=n[l];return a}else return e&&!this.getPriority().isEmpty()&&(n[".priority"]=this.getPriority().val()),n},t.prototype.hash=function(){if(this.lazyHash_===null){var e="";this.getPriority().isEmpty()||(e+="priority:"+cit(this.getPriority().val())+":"),this.forEachChild(Vs,function(n,o){var i=o.hash();i!==""&&(e+=":"+n+":"+i)}),this.lazyHash_=e===""?"":Not(e)}return this.lazyHash_},t.prototype.getPredecessorChildName=function(e,n,o){var i=this.resolveIndex_(o);if(i){var r=i.getPredecessorKey(new Ja(e,n));return r?r.name:null}else return this.children_.getPredecessorKey(e)},t.prototype.getFirstChildName=function(e){var n=this.resolveIndex_(e);if(n){var o=n.minKey();return o&&o.name}else return this.children_.minKey()},t.prototype.getFirstChild=function(e){var n=this.getFirstChildName(e);return n?new Ja(n,this.children_.get(n)):null},t.prototype.getLastChildName=function(e){var n=this.resolveIndex_(e);if(n){var o=n.maxKey();return o&&o.name}else return this.children_.maxKey()},t.prototype.getLastChild=function(e){var n=this.getLastChildName(e);return n?new Ja(n,this.children_.get(n)):null},t.prototype.forEachChild=function(e,n){var o=this.resolveIndex_(e);return o?o.inorderTraversal(function(i){return n(i.name,i.node)}):this.children_.inorderTraversal(n)},t.prototype.getIterator=function(e){return this.getIteratorFrom(e.minPost(),e)},t.prototype.getIteratorFrom=function(e,n){var o=this.resolveIndex_(n);if(o)return o.getIteratorFrom(e,function(a){return a});for(var i=this.children_.getIteratorFrom(e.name,Ja.Wrap),r=i.peek();r!=null&&n.compare(r,e)<0;)i.getNext(),r=i.peek();return i},t.prototype.getReverseIterator=function(e){return this.getReverseIteratorFrom(e.maxPost(),e)},t.prototype.getReverseIteratorFrom=function(e,n){var o=this.resolveIndex_(n);if(o)return o.getReverseIteratorFrom(e,function(a){return a});for(var i=this.children_.getReverseIteratorFrom(e.name,Ja.Wrap),r=i.peek();r!=null&&n.compare(r,e)>0;)i.getNext(),r=i.peek();return i},t.prototype.compareTo=function(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===UN?-1:0},t.prototype.withIndex=function(e){if(e===S9||this.indexMap_.hasIndex(e))return this;var n=this.indexMap_.addIndex(e,this.children_);return new t(this.children_,this.priorityNode_,n)},t.prototype.isIndexed=function(e){return e===S9||this.indexMap_.hasIndex(e)},t.prototype.equals=function(e){if(e===this)return!0;if(e.isLeafNode())return!1;var n=e;if(this.getPriority().equals(n.getPriority()))if(this.children_.count()===n.children_.count()){for(var o=this.getIterator(Vs),i=n.getIterator(Vs),r=o.getNext(),a=i.getNext();r&&a;){if(r.name!==a.name||!r.node.equals(a.node))return!1;r=o.getNext(),a=i.getNext()}return r===null&&a===null}else return!1;else return!1},t.prototype.resolveIndex_=function(e){return e===S9?null:this.indexMap_.get(e.toString())},t.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/,t}(),ego=function(t){Ti(e,t);function e(){return t.call(this,new A6(m9e),la.EMPTY_NODE,JX.Default)||this}return e.prototype.compareTo=function(n){return n===this?0:1},e.prototype.equals=function(n){return n===this},e.prototype.getPriority=function(){return this},e.prototype.getImmediateChild=function(n){return la.EMPTY_NODE},e.prototype.isEmpty=function(){return!1},e}(la),UN=new ego;Object.defineProperties(Ja,{MIN:{value:new Ja(Z6,la.EMPTY_NODE)},MAX:{value:new Ja(B9,UN)}});sit.__EMPTY_NODE=la.EMPTY_NODE;WR.__childrenNodeConstructor=la;J1o(UN);q1o(UN);/** * @license * Copyright 2017 Google LLC * @@ -7752,7 +7752,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ogo=!0;function t0(t,e){if(e===void 0&&(e=null),t===null)return la.EMPTY_NODE;if(typeof t=="object"&&".priority"in t&&(e=t[".priority"]),ei(e===null||typeof e=="string"||typeof e=="number"||typeof e=="object"&&".sv"in e,"Invalid priority type found: "+typeof e),typeof t=="object"&&".value"in t&&t[".value"]!==null&&(t=t[".value"]),typeof t!="object"||".sv"in t){var n=t;return new WR(n,t0(e))}if(!(t instanceof Array)&&ogo){var o=[],i=!1,r=t;if(Vu(r,function(c,u){if(c.substring(0,1)!=="."){var d=t0(u);d.isEmpty()||(i=i||!d.getPriority().isEmpty(),o.push(new Ja(c,d)))}}),o.length===0)return la.EMPTY_NODE;var a=XX(o,K1o,function(c){return c.name},m9e);if(i){var l=XX(o,Vs.getCompare());return new la(a,t0(e),new JX({".priority":l},{".priority":Vs}))}else return new la(a,t0(e),JX.Default)}else{var s=la.EMPTY_NODE;return Vu(t,function(c,u){if(Mg(t,c)&&c.substring(0,1)!=="."){var d=t0(u);(d.isLeafNode()||!d.isEmpty())&&(s=s.updateImmediateChild(c,d))}}),s.updatePriority(t0(e))}}$1o(t0);/** + */var tgo=!0;function t0(t,e){if(e===void 0&&(e=null),t===null)return la.EMPTY_NODE;if(typeof t=="object"&&".priority"in t&&(e=t[".priority"]),ei(e===null||typeof e=="string"||typeof e=="number"||typeof e=="object"&&".sv"in e,"Invalid priority type found: "+typeof e),typeof t=="object"&&".value"in t&&t[".value"]!==null&&(t=t[".value"]),typeof t!="object"||".sv"in t){var n=t;return new WR(n,t0(e))}if(!(t instanceof Array)&&tgo){var o=[],i=!1,r=t;if(Vu(r,function(c,u){if(c.substring(0,1)!=="."){var d=t0(u);d.isEmpty()||(i=i||!d.getPriority().isEmpty(),o.push(new Ja(c,d)))}}),o.length===0)return la.EMPTY_NODE;var a=XX(o,X1o,function(c){return c.name},m9e);if(i){var l=XX(o,Vs.getCompare());return new la(a,t0(e),new JX({".priority":l},{".priority":Vs}))}else return new la(a,t0(e),JX.Default)}else{var s=la.EMPTY_NODE;return Vu(t,function(c,u){if(Mg(t,c)&&c.substring(0,1)!=="."){var d=t0(u);(d.isLeafNode()||!d.isEmpty())&&(s=s.updateImmediateChild(c,d))}}),s.updatePriority(t0(e))}}K1o(t0);/** * @license * Copyright 2017 Google LLC * @@ -7782,7 +7782,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var igo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.compare=function(n,o){var i=n.node.compareTo(o.node);return i===0?Qb(n.name,o.name):i},e.prototype.isDefinedOn=function(n){return!0},e.prototype.indexedValueChanged=function(n,o){return!n.equals(o)},e.prototype.minPost=function(){return Ja.MIN},e.prototype.maxPost=function(){return Ja.MAX},e.prototype.makePost=function(n,o){var i=t0(n);return new Ja(o,i)},e.prototype.toString=function(){return".value"},e}(OZ),A9e=new igo;/** + */var ngo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.compare=function(n,o){var i=n.node.compareTo(o.node);return i===0?Qb(n.name,o.name):i},e.prototype.isDefinedOn=function(n){return!0},e.prototype.indexedValueChanged=function(n,o){return!n.equals(o)},e.prototype.minPost=function(){return Ja.MIN},e.prototype.maxPost=function(){return Ja.MAX},e.prototype.makePost=function(n,o){var i=t0(n);return new Ja(o,i)},e.prototype.toString=function(){return".value"},e}(OZ),A9e=new ngo;/** * @license * Copyright 2017 Google LLC * @@ -7797,7 +7797,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var NR="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz",$de="-",git="z",mit=786,rgo=function(){var t=0,e=[];return function(n){var o=n===t;t=n;var i,r=new Array(8);for(i=7;i>=0;i--)r[i]=NR.charAt(n%64),n=Math.floor(n/64);ei(n===0,"Cannot push at time == 0");var a=r.join("");if(o){for(i=11;i>=0&&e[i]===63;i--)e[i]=0;e[i]++}else for(i=0;i<12;i++)e[i]=Math.floor(Math.random()*64);for(i=0;i<12;i++)a+=NR.charAt(e[i]);return ei(a.length===20,"nextPushId: Length should be 20."),a}}(),EMe=function(t){if(t===""+c9e)return $de;var e=VX(t);if(e!=null)return""+(e+1);for(var n=new Array(t.length),o=0;o=0&&n[i]===git;)i--;if(i===-1)return B9;var r=n[i],a=NR.charAt(NR.indexOf(r)+1);return n[i]=a,n.slice(0,i+1).join("")},kMe=function(t){if(t===""+_ot)return Z6;var e=VX(t);if(e!=null)return""+(e-1);for(var n=new Array(t.length),o=0;o=0;i--)r[i]=NR.charAt(n%64),n=Math.floor(n/64);ei(n===0,"Cannot push at time == 0");var a=r.join("");if(o){for(i=11;i>=0&&e[i]===63;i--)e[i]=0;e[i]++}else for(i=0;i<12;i++)e[i]=Math.floor(Math.random()*64);for(i=0;i<12;i++)a+=NR.charAt(e[i]);return ei(a.length===20,"nextPushId: Length should be 20."),a}}(),zMe=function(t){if(t===""+c9e)return $de;var e=VX(t);if(e!=null)return""+(e+1);for(var n=new Array(t.length),o=0;o=0&&n[i]===hit;)i--;if(i===-1)return B9;var r=n[i],a=NR.charAt(NR.indexOf(r)+1);return n[i]=a,n.slice(0,i+1).join("")},DMe=function(t){if(t===""+Yot)return Z6;var e=VX(t);if(e!=null)return""+(e-1);for(var n=new Array(t.length),o=0;o=0;if(A)return r!=null&&r.trackChildChange(MF(n,o,f)),s.updateImmediateChild(n,o);r!=null&&r.trackChildChange(HF(n,f));var w=s.updateImmediateChild(n,la.EMPTY_NODE),b=p!=null&&this.rangedFilter_.matches(p);return b?(r!=null&&r.trackChildChange(UR(p.name,p.node)),w.updateImmediateChild(p.name,p.node)):w}else return o.isEmpty()?e:d&&a(u,c)>=0?(r!=null&&(r.trackChildChange(HF(u.name,u.node)),r.trackChildChange(UR(n,o))),s.updateImmediateChild(n,o).updateImmediateChild(u.name,la.EMPTY_NODE)):e},t}();/** + */var rgo=function(){function t(e){this.rangedFilter_=new mit(e),this.index_=e.getIndex(),this.limit_=e.getLimit(),this.reverse_=!e.isViewFromLeft()}return t.prototype.updateChild=function(e,n,o,i,r,a){return this.rangedFilter_.matches(new Ja(n,o))||(o=la.EMPTY_NODE),e.getImmediateChild(n).equals(o)?e:e.numChildren()=0;if(A)return r!=null&&r.trackChildChange(MF(n,o,f)),s.updateImmediateChild(n,o);r!=null&&r.trackChildChange(HF(n,f));var w=s.updateImmediateChild(n,la.EMPTY_NODE),b=p!=null&&this.rangedFilter_.matches(p);return b?(r!=null&&r.trackChildChange(UR(p.name,p.node)),w.updateImmediateChild(p.name,p.node)):w}else return o.isEmpty()?e:d&&a(u,c)>=0?(r!=null&&(r.trackChildChange(HF(u.name,u.node)),r.trackChildChange(UR(n,o))),s.updateImmediateChild(n,o).updateImmediateChild(u.name,la.EMPTY_NODE)):e},t}();/** * @license * Copyright 2017 Google LLC * @@ -7872,7 +7872,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var wit=function(){function t(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=Vs}return t.prototype.hasStart=function(){return this.startSet_},t.prototype.hasStartAfter=function(){return this.startAfterSet_},t.prototype.hasEndBefore=function(){return this.endBeforeSet_},t.prototype.isViewFromLeft=function(){return this.viewFrom_===""?this.startSet_:this.viewFrom_==="l"},t.prototype.getIndexStartValue=function(){return ei(this.startSet_,"Only valid if start has been set"),this.indexStartValue_},t.prototype.getIndexStartName=function(){return ei(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:Z6},t.prototype.hasEnd=function(){return this.endSet_},t.prototype.getIndexEndValue=function(){return ei(this.endSet_,"Only valid if end has been set"),this.indexEndValue_},t.prototype.getIndexEndName=function(){return ei(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:B9},t.prototype.hasLimit=function(){return this.limitSet_},t.prototype.hasAnchoredLimit=function(){return this.limitSet_&&this.viewFrom_!==""},t.prototype.getLimit=function(){return ei(this.limitSet_,"Only valid if limit has been set"),this.limit_},t.prototype.getIndex=function(){return this.index_},t.prototype.loadsAllData=function(){return!(this.startSet_||this.endSet_||this.limitSet_)},t.prototype.isDefault=function(){return this.loadsAllData()&&this.index_===Vs},t.prototype.copy=function(){var e=new t;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e},t}();function sgo(t){return t.loadsAllData()?new w9e(t.getIndex()):t.hasLimit()?new lgo(t):new Ait(t)}function cgo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="l",n}function ugo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="r",n}function Qde(t,e,n){var o=t.copy();return o.startSet_=!0,e===void 0&&(e=null),o.indexStartValue_=e,n!=null?(o.startNameSet_=!0,o.indexStartName_=n):(o.startNameSet_=!1,o.indexStartName_=""),o}function dgo(t,e,n){var o;if(t.index_===S9)typeof e=="string"&&(e=EMe(e)),o=Qde(t,e,n);else{var i=void 0;n==null?i=B9:i=EMe(n),o=Qde(t,e,i)}return o.startAfterSet_=!0,o}function Zde(t,e,n){var o=t.copy();return o.endSet_=!0,e===void 0&&(e=null),o.indexEndValue_=e,n!==void 0?(o.endNameSet_=!0,o.indexEndName_=n):(o.endNameSet_=!1,o.indexEndName_=""),o}function fgo(t,e,n){var o,i;return t.index_===S9?(typeof e=="string"&&(e=kMe(e)),i=Zde(t,e,n)):(n==null?o=Z6:o=kMe(n),i=Zde(t,e,o)),i.endBeforeSet_=!0,i}function _Z(t,e){var n=t.copy();return n.index_=e,n}function FMe(t){var e={};if(t.isDefault())return e;var n;return t.index_===Vs?n="$priority":t.index_===A9e?n="$value":t.index_===S9?n="$key":(ei(t.index_ instanceof y9e,"Unrecognized index type!"),n=t.index_.toString()),e.orderBy=Du(n),t.startSet_&&(e.startAt=Du(t.indexStartValue_),t.startNameSet_&&(e.startAt+=","+Du(t.indexStartName_))),t.endSet_&&(e.endAt=Du(t.indexEndValue_),t.endNameSet_&&(e.endAt+=","+Du(t.indexEndName_))),t.limitSet_&&(t.isViewFromLeft()?e.limitToFirst=t.limit_:e.limitToLast=t.limit_),e}function LMe(t){var e={};if(t.startSet_&&(e.sp=t.indexStartValue_,t.startNameSet_&&(e.sn=t.indexStartName_)),t.endSet_&&(e.ep=t.indexEndValue_,t.endNameSet_&&(e.en=t.indexEndName_)),t.limitSet_){e.l=t.limit_;var n=t.viewFrom_;n===""&&(t.isViewFromLeft()?n="l":n="r"),e.vf=n}return t.index_!==Vs&&(e.i=t.index_.toString()),e}/** + */var yit=function(){function t(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=Vs}return t.prototype.hasStart=function(){return this.startSet_},t.prototype.hasStartAfter=function(){return this.startAfterSet_},t.prototype.hasEndBefore=function(){return this.endBeforeSet_},t.prototype.isViewFromLeft=function(){return this.viewFrom_===""?this.startSet_:this.viewFrom_==="l"},t.prototype.getIndexStartValue=function(){return ei(this.startSet_,"Only valid if start has been set"),this.indexStartValue_},t.prototype.getIndexStartName=function(){return ei(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:Z6},t.prototype.hasEnd=function(){return this.endSet_},t.prototype.getIndexEndValue=function(){return ei(this.endSet_,"Only valid if end has been set"),this.indexEndValue_},t.prototype.getIndexEndName=function(){return ei(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:B9},t.prototype.hasLimit=function(){return this.limitSet_},t.prototype.hasAnchoredLimit=function(){return this.limitSet_&&this.viewFrom_!==""},t.prototype.getLimit=function(){return ei(this.limitSet_,"Only valid if limit has been set"),this.limit_},t.prototype.getIndex=function(){return this.index_},t.prototype.loadsAllData=function(){return!(this.startSet_||this.endSet_||this.limitSet_)},t.prototype.isDefault=function(){return this.loadsAllData()&&this.index_===Vs},t.prototype.copy=function(){var e=new t;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e},t}();function ago(t){return t.loadsAllData()?new w9e(t.getIndex()):t.hasLimit()?new rgo(t):new mit(t)}function lgo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="l",n}function sgo(t,e){var n=t.copy();return n.limitSet_=!0,n.limit_=e,n.viewFrom_="r",n}function Qde(t,e,n){var o=t.copy();return o.startSet_=!0,e===void 0&&(e=null),o.indexStartValue_=e,n!=null?(o.startNameSet_=!0,o.indexStartName_=n):(o.startNameSet_=!1,o.indexStartName_=""),o}function cgo(t,e,n){var o;if(t.index_===S9)typeof e=="string"&&(e=zMe(e)),o=Qde(t,e,n);else{var i=void 0;n==null?i=B9:i=zMe(n),o=Qde(t,e,i)}return o.startAfterSet_=!0,o}function Zde(t,e,n){var o=t.copy();return o.endSet_=!0,e===void 0&&(e=null),o.indexEndValue_=e,n!==void 0?(o.endNameSet_=!0,o.indexEndName_=n):(o.endNameSet_=!1,o.indexEndName_=""),o}function ugo(t,e,n){var o,i;return t.index_===S9?(typeof e=="string"&&(e=DMe(e)),i=Zde(t,e,n)):(n==null?o=Z6:o=DMe(n),i=Zde(t,e,o)),i.endBeforeSet_=!0,i}function _Z(t,e){var n=t.copy();return n.index_=e,n}function EMe(t){var e={};if(t.isDefault())return e;var n;return t.index_===Vs?n="$priority":t.index_===A9e?n="$value":t.index_===S9?n="$key":(ei(t.index_ instanceof y9e,"Unrecognized index type!"),n=t.index_.toString()),e.orderBy=Du(n),t.startSet_&&(e.startAt=Du(t.indexStartValue_),t.startNameSet_&&(e.startAt+=","+Du(t.indexStartName_))),t.endSet_&&(e.endAt=Du(t.indexEndValue_),t.endNameSet_&&(e.endAt+=","+Du(t.indexEndName_))),t.limitSet_&&(t.isViewFromLeft()?e.limitToFirst=t.limit_:e.limitToLast=t.limit_),e}function kMe(t){var e={};if(t.startSet_&&(e.sp=t.indexStartValue_,t.startNameSet_&&(e.sn=t.indexStartName_)),t.endSet_&&(e.ep=t.indexEndValue_,t.endNameSet_&&(e.en=t.indexEndName_)),t.limitSet_){e.l=t.limit_;var n=t.viewFrom_;n===""&&(t.isViewFromLeft()?n="l":n="r"),e.vf=n}return t.index_!==Vs&&(e.i=t.index_.toString()),e}/** * @license * Copyright 2017 Google LLC * @@ -7887,7 +7887,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var hgo=function(t){Ti(e,t);function e(n,o,i,r){var a=t.call(this)||this;return a.repoInfo_=n,a.onDataUpdate_=o,a.authTokenProvider_=i,a.appCheckTokenProvider_=r,a.log_=NN("p:rest:"),a.listens_={},a}return e.prototype.reportStats=function(n){throw new Error("Method not implemented.")},e.getListenId_=function(n,o){return o!==void 0?"tag$"+o:(ei(n._queryParams.isDefault(),"should have a tag if it's not a default query."),n._path.toString())},e.prototype.listen=function(n,o,i,r){var a=this,l=n._path.toString();this.log_("Listen called for "+l+" "+n._queryIdentifier);var s=e.getListenId_(n,i),c={};this.listens_[s]=c;var u=FMe(n._queryParams);this.restRequest_(l+".json",u,function(d,f){var p=f;if(d===404&&(p=null,d=null),d===null&&a.onDataUpdate_(l,p,!1,i),qx(a.listens_,s)===c){var g;d?d===401?g="permission_denied":g="rest_error:"+d:g="ok",r(g,null)}})},e.prototype.unlisten=function(n,o){var i=e.getListenId_(n,o);delete this.listens_[i]},e.prototype.get=function(n){var o=this,i=FMe(n._queryParams),r=n._path.toString(),a=new Lp;return this.restRequest_(r+".json",i,function(l,s){var c=s;l===404&&(c=null,l=null),l===null?(o.onDataUpdate_(r,c,!1,null),a.resolve(c)):a.reject(new Error(c))}),a.promise},e.prototype.refreshAuthToken=function(n){},e.prototype.restRequest_=function(n,o,i){var r=this;return o===void 0&&(o={}),o.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(function(a){var l=tp(a,2),s=l[0],c=l[1];s&&s.accessToken&&(o.auth=s.accessToken),c&&c.token&&(o.ac=c.token);var u=(r.repoInfo_.secure?"https://":"http://")+r.repoInfo_.host+n+"?ns="+r.repoInfo_.namespace+zLn(o);r.log_("Sending REST request for "+u);var d=new XMLHttpRequest;d.onreadystatechange=function(){if(i&&d.readyState===4){r.log_("REST Response for "+u+" received. status:",d.status,"response:",d.responseText);var f=null;if(d.status>=200&&d.status<300){try{f=rF(d.responseText)}catch{ff("Failed to parse JSON response for "+u+": "+d.responseText)}i(null,f)}else d.status!==401&&d.status!==404&&ff("Got unsuccessful REST response for "+u+" Status: "+d.status),i(d.status);i=null}},d.open("GET",u,!0),d.send()})},e}(ait);/** + */var dgo=function(t){Ti(e,t);function e(n,o,i,r){var a=t.call(this)||this;return a.repoInfo_=n,a.onDataUpdate_=o,a.authTokenProvider_=i,a.appCheckTokenProvider_=r,a.log_=NN("p:rest:"),a.listens_={},a}return e.prototype.reportStats=function(n){throw new Error("Method not implemented.")},e.getListenId_=function(n,o){return o!==void 0?"tag$"+o:(ei(n._queryParams.isDefault(),"should have a tag if it's not a default query."),n._path.toString())},e.prototype.listen=function(n,o,i,r){var a=this,l=n._path.toString();this.log_("Listen called for "+l+" "+n._queryIdentifier);var s=e.getListenId_(n,i),c={};this.listens_[s]=c;var u=EMe(n._queryParams);this.restRequest_(l+".json",u,function(d,f){var p=f;if(d===404&&(p=null,d=null),d===null&&a.onDataUpdate_(l,p,!1,i),qx(a.listens_,s)===c){var g;d?d===401?g="permission_denied":g="rest_error:"+d:g="ok",r(g,null)}})},e.prototype.unlisten=function(n,o){var i=e.getListenId_(n,o);delete this.listens_[i]},e.prototype.get=function(n){var o=this,i=EMe(n._queryParams),r=n._path.toString(),a=new Lp;return this.restRequest_(r+".json",i,function(l,s){var c=s;l===404&&(c=null,l=null),l===null?(o.onDataUpdate_(r,c,!1,null),a.resolve(c)):a.reject(new Error(c))}),a.promise},e.prototype.refreshAuthToken=function(n){},e.prototype.restRequest_=function(n,o,i){var r=this;return o===void 0&&(o={}),o.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(function(a){var l=tp(a,2),s=l[0],c=l[1];s&&s.accessToken&&(o.auth=s.accessToken),c&&c.token&&(o.ac=c.token);var u=(r.repoInfo_.secure?"https://":"http://")+r.repoInfo_.host+n+"?ns="+r.repoInfo_.namespace+MLn(o);r.log_("Sending REST request for "+u);var d=new XMLHttpRequest;d.onreadystatechange=function(){if(i&&d.readyState===4){r.log_("REST Response for "+u+" received. status:",d.status,"response:",d.responseText);var f=null;if(d.status>=200&&d.status<300){try{f=rF(d.responseText)}catch{ff("Failed to parse JSON response for "+u+": "+d.responseText)}i(null,f)}else d.status!==401&&d.status!==404&&ff("Got unsuccessful REST response for "+u+" Status: "+d.status),i(d.status);i=null}},d.open("GET",u,!0),d.send()})},e}(iit);/** * @license * Copyright 2017 Google LLC * @@ -7902,7 +7902,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var pgo=function(){function t(){this.rootNode_=la.EMPTY_NODE}return t.prototype.getNode=function(e){return this.rootNode_.getChild(e)},t.prototype.updateSnapshot=function(e,n){this.rootNode_=this.rootNode_.updateChild(e,n)},t}();/** + */var fgo=function(){function t(){this.rootNode_=la.EMPTY_NODE}return t.prototype.getNode=function(e){return this.rootNode_.getChild(e)},t.prototype.updateSnapshot=function(e,n){this.rootNode_=this.rootNode_.updateChild(e,n)},t}();/** * @license * Copyright 2017 Google LLC * @@ -7917,7 +7917,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function KX(){return{value:null,children:new Map}}function gM(t,e,n){if(Ha(e))t.value=n,t.children.clear();else if(t.value!==null)t.value=t.value.updateChild(e,n);else{var o=Ra(e);t.children.has(o)||t.children.set(o,KX());var i=t.children.get(o);e=bs(e),gM(i,e,n)}}function efe(t,e){if(Ha(e))return t.value=null,t.children.clear(),!0;if(t.value!==null){if(t.value.isLeafNode())return!1;var n=t.value;return t.value=null,n.forEachChild(Vs,function(r,a){gM(t,new os(r),a)}),efe(t,e)}else if(t.children.size>0){var o=Ra(e);if(e=bs(e),t.children.has(o)){var i=efe(t.children.get(o),e);i&&t.children.delete(o)}return t.children.size===0}else return!0}function tfe(t,e,n){t.value!==null?n(e,t.value):ggo(t,function(o,i){var r=new os(e.toString()+"/"+o);tfe(i,r,n)})}function ggo(t,e){t.children.forEach(function(n,o){e(o,n)})}/** + */function KX(){return{value:null,children:new Map}}function gM(t,e,n){if(Ha(e))t.value=n,t.children.clear();else if(t.value!==null)t.value=t.value.updateChild(e,n);else{var o=Ra(e);t.children.has(o)||t.children.set(o,KX());var i=t.children.get(o);e=bs(e),gM(i,e,n)}}function efe(t,e){if(Ha(e))return t.value=null,t.children.clear(),!0;if(t.value!==null){if(t.value.isLeafNode())return!1;var n=t.value;return t.value=null,n.forEachChild(Vs,function(r,a){gM(t,new os(r),a)}),efe(t,e)}else if(t.children.size>0){var o=Ra(e);if(e=bs(e),t.children.has(o)){var i=efe(t.children.get(o),e);i&&t.children.delete(o)}return t.children.size===0}else return!0}function tfe(t,e,n){t.value!==null?n(e,t.value):hgo(t,function(o,i){var r=new os(e.toString()+"/"+o);tfe(i,r,n)})}function hgo(t,e){t.children.forEach(function(n,o){e(o,n)})}/** * @license * Copyright 2017 Google LLC * @@ -7932,7 +7932,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vit=function(){function t(e){this.collection_=e,this.last_=null}return t.prototype.get=function(){var e=this.collection_.get(),n=N0({},e);return this.last_&&Vu(this.last_,function(o,i){n[o]=n[o]-i}),this.last_=e,n},t}();/** + */var Ait=function(){function t(e){this.collection_=e,this.last_=null}return t.prototype.get=function(){var e=this.collection_.get(),n=N0({},e);return this.last_&&Vu(this.last_,function(o,i){n[o]=n[o]-i}),this.last_=e,n},t}();/** * @license * Copyright 2017 Google LLC * @@ -7947,7 +7947,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var WMe=10*1e3,mgo=30*1e3,ygo=5*60*1e3,Ago=function(){function t(e,n){this.server_=n,this.statsToReport_={},this.statsListener_=new vit(e);var o=WMe+(mgo-WMe)*Math.random();HE(this.reportStats_.bind(this),Math.floor(o))}return t.prototype.reportStats_=function(){var e=this,n=this.statsListener_.get(),o={},i=!1;Vu(n,function(r,a){a>0&&Mg(e.statsToReport_,r)&&(o[r]=a,i=!0)}),i&&this.server_.reportStats(o),HE(this.reportStats_.bind(this),Math.floor(Math.random()*2*ygo))},t}();function wgo(t,e){t.statsToReport_[e]=!0}/** + */var FMe=10*1e3,pgo=30*1e3,ggo=5*60*1e3,mgo=function(){function t(e,n){this.server_=n,this.statsToReport_={},this.statsListener_=new Ait(e);var o=FMe+(pgo-FMe)*Math.random();HE(this.reportStats_.bind(this),Math.floor(o))}return t.prototype.reportStats_=function(){var e=this,n=this.statsListener_.get(),o={},i=!1;Vu(n,function(r,a){a>0&&Mg(e.statsToReport_,r)&&(o[r]=a,i=!0)}),i&&this.server_.reportStats(o),HE(this.reportStats_.bind(this),Math.floor(Math.random()*2*ggo))},t}();function ygo(t,e){t.statsToReport_[e]=!0}/** * @license * Copyright 2017 Google LLC * @@ -7977,7 +7977,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var vgo=function(){function t(e,n,o){this.path=e,this.affectedTree=n,this.revert=o,this.type=v2.ACK_USER_WRITE,this.source=v9e()}return t.prototype.operationForChild=function(e){if(Ha(this.path)){if(this.affectedTree.value!=null)return ei(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this;var n=this.affectedTree.subtree(new os(e));return new t(zl(),n,this.revert)}else return ei(Ra(this.path)===e,"operationForChild called for unrelated child."),new t(bs(this.path),this.affectedTree,this.revert)},t}();/** + */var Ago=function(){function t(e,n,o){this.path=e,this.affectedTree=n,this.revert=o,this.type=v2.ACK_USER_WRITE,this.source=v9e()}return t.prototype.operationForChild=function(e){if(Ha(this.path)){if(this.affectedTree.value!=null)return ei(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this;var n=this.affectedTree.subtree(new os(e));return new t(zl(),n,this.revert)}else return ei(Ra(this.path)===e,"operationForChild called for unrelated child."),new t(bs(this.path),this.affectedTree,this.revert)},t}();/** * @license * Copyright 2017 Google LLC * @@ -7992,7 +7992,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var xit=function(){function t(e,n){this.source=e,this.path=n,this.type=v2.LISTEN_COMPLETE}return t.prototype.operationForChild=function(e){return Ha(this.path)?new t(this.source,zl()):new t(this.source,bs(this.path))},t}();/** + */var wit=function(){function t(e,n){this.source=e,this.path=n,this.type=v2.LISTEN_COMPLETE}return t.prototype.operationForChild=function(e){return Ha(this.path)?new t(this.source,zl()):new t(this.source,bs(this.path))},t}();/** * @license * Copyright 2017 Google LLC * @@ -8052,7 +8052,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var xgo=function(){function t(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}return t}();function bgo(t,e,n,o){var i=[],r=[];return e.forEach(function(a){a.type==="child_changed"&&t.index_.indexedValueChanged(a.oldSnap,a.snapshotNode)&&r.push(ago(a.childName,a.snapshotNode))}),Xz(t,i,"child_removed",e,o,n),Xz(t,i,"child_added",e,o,n),Xz(t,i,"child_moved",r,o,n),Xz(t,i,"child_changed",e,o,n),Xz(t,i,"value",e,o,n),i}function Xz(t,e,n,o,i,r){var a=o.filter(function(l){return l.type===n});a.sort(function(l,s){return Tgo(t,l,s)}),a.forEach(function(l){var s=Sgo(t,l,r);i.forEach(function(c){c.respondsTo(l.type)&&e.push(c.createEvent(s,t.query_))})})}function Sgo(t,e,n){return e.type==="value"||e.type==="child_removed"||(e.prevName=n.getPredecessorChildName(e.childName,e.snapshotNode,t.index_)),e}function Tgo(t,e,n){if(e.childName==null||n.childName==null)throw _H("Should only compare child_ events.");var o=new Ja(e.childName,e.snapshotNode),i=new Ja(n.childName,n.snapshotNode);return t.index_.compare(o,i)}/** + */var wgo=function(){function t(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}return t}();function vgo(t,e,n,o){var i=[],r=[];return e.forEach(function(a){a.type==="child_changed"&&t.index_.indexedValueChanged(a.oldSnap,a.snapshotNode)&&r.push(igo(a.childName,a.snapshotNode))}),Xz(t,i,"child_removed",e,o,n),Xz(t,i,"child_added",e,o,n),Xz(t,i,"child_moved",r,o,n),Xz(t,i,"child_changed",e,o,n),Xz(t,i,"value",e,o,n),i}function Xz(t,e,n,o,i,r){var a=o.filter(function(l){return l.type===n});a.sort(function(l,s){return bgo(t,l,s)}),a.forEach(function(l){var s=xgo(t,l,r);i.forEach(function(c){c.respondsTo(l.type)&&e.push(c.createEvent(s,t.query_))})})}function xgo(t,e,n){return e.type==="value"||e.type==="child_removed"||(e.prevName=n.getPredecessorChildName(e.childName,e.snapshotNode,t.index_)),e}function bgo(t,e,n){if(e.childName==null||n.childName==null)throw _H("Should only compare child_ events.");var o=new Ja(e.childName,e.snapshotNode),i=new Ja(n.childName,n.snapshotNode);return t.index_.compare(o,i)}/** * @license * Copyright 2017 Google LLC * @@ -8067,7 +8067,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function GZ(t,e){return{eventCache:t,serverCache:e}}function IE(t,e,n,o){return GZ(new g7(e,n,o),t.serverCache)}function bit(t,e,n,o){return GZ(t.eventCache,new g7(e,n,o))}function qX(t){return t.eventCache.isFullyInitialized()?t.eventCache.getNode():null}function ib(t){return t.serverCache.isFullyInitialized()?t.serverCache.getNode():null}/** + */function GZ(t,e){return{eventCache:t,serverCache:e}}function IE(t,e,n,o){return GZ(new g7(e,n,o),t.serverCache)}function vit(t,e,n,o){return GZ(t.eventCache,new g7(e,n,o))}function qX(t){return t.eventCache.isFullyInitialized()?t.eventCache.getNode():null}function ib(t){return t.serverCache.isFullyInitialized()?t.serverCache.getNode():null}/** * @license * Copyright 2017 Google LLC * @@ -8082,7 +8082,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Dae,Pgo=function(){return Dae||(Dae=new A6(n1o)),Dae},Dg=function(){function t(e,n){n===void 0&&(n=Pgo()),this.value=e,this.children=n}return t.fromObject=function(e){var n=new t(null);return Vu(e,function(o,i){n=n.set(new os(o),i)}),n},t.prototype.isEmpty=function(){return this.value===null&&this.children.isEmpty()},t.prototype.findRootMostMatchingPathAndValue=function(e,n){if(this.value!=null&&n(this.value))return{path:zl(),value:this.value};if(Ha(e))return null;var o=Ra(e),i=this.children.get(o);if(i!==null){var r=i.findRootMostMatchingPathAndValue(bs(e),n);if(r!=null){var a=jc(new os(o),r.path);return{path:a,value:r.value}}else return null}else return null},t.prototype.findRootMostValueAndPath=function(e){return this.findRootMostMatchingPathAndValue(e,function(){return!0})},t.prototype.subtree=function(e){if(Ha(e))return this;var n=Ra(e),o=this.children.get(n);return o!==null?o.subtree(bs(e)):new t(null)},t.prototype.set=function(e,n){if(Ha(e))return new t(n,this.children);var o=Ra(e),i=this.children.get(o)||new t(null),r=i.set(bs(e),n),a=this.children.insert(o,r);return new t(this.value,a)},t.prototype.remove=function(e){if(Ha(e))return this.children.isEmpty()?new t(null):new t(null,this.children);var n=Ra(e),o=this.children.get(n);if(o){var i=o.remove(bs(e)),r=void 0;return i.isEmpty()?r=this.children.remove(n):r=this.children.insert(n,i),this.value===null&&r.isEmpty()?new t(null):new t(this.value,r)}else return this},t.prototype.get=function(e){if(Ha(e))return this.value;var n=Ra(e),o=this.children.get(n);return o?o.get(bs(e)):null},t.prototype.setTree=function(e,n){if(Ha(e))return n;var o=Ra(e),i=this.children.get(o)||new t(null),r=i.setTree(bs(e),n),a=void 0;return r.isEmpty()?a=this.children.remove(o):a=this.children.insert(o,r),new t(this.value,a)},t.prototype.fold=function(e){return this.fold_(zl(),e)},t.prototype.fold_=function(e,n){var o={};return this.children.inorderTraversal(function(i,r){o[i]=r.fold_(jc(e,i),n)}),n(e,this.value,o)},t.prototype.findOnPath=function(e,n){return this.findOnPath_(e,zl(),n)},t.prototype.findOnPath_=function(e,n,o){var i=this.value?o(n,this.value):!1;if(i)return i;if(Ha(e))return null;var r=Ra(e),a=this.children.get(r);return a?a.findOnPath_(bs(e),jc(n,r),o):null},t.prototype.foreachOnPath=function(e,n){return this.foreachOnPath_(e,zl(),n)},t.prototype.foreachOnPath_=function(e,n,o){if(Ha(e))return this;this.value&&o(n,this.value);var i=Ra(e),r=this.children.get(i);return r?r.foreachOnPath_(bs(e),jc(n,i),o):new t(null)},t.prototype.foreach=function(e){this.foreach_(zl(),e)},t.prototype.foreach_=function(e,n){this.children.inorderTraversal(function(o,i){i.foreach_(jc(e,o),n)}),this.value&&n(e,this.value)},t.prototype.foreachChild=function(e){this.children.inorderTraversal(function(n,o){o.value&&e(n,o.value)})},t}();/** + */var Dae,Sgo=function(){return Dae||(Dae=new A6(e1o)),Dae},Dg=function(){function t(e,n){n===void 0&&(n=Sgo()),this.value=e,this.children=n}return t.fromObject=function(e){var n=new t(null);return Vu(e,function(o,i){n=n.set(new os(o),i)}),n},t.prototype.isEmpty=function(){return this.value===null&&this.children.isEmpty()},t.prototype.findRootMostMatchingPathAndValue=function(e,n){if(this.value!=null&&n(this.value))return{path:zl(),value:this.value};if(Ha(e))return null;var o=Ra(e),i=this.children.get(o);if(i!==null){var r=i.findRootMostMatchingPathAndValue(bs(e),n);if(r!=null){var a=jc(new os(o),r.path);return{path:a,value:r.value}}else return null}else return null},t.prototype.findRootMostValueAndPath=function(e){return this.findRootMostMatchingPathAndValue(e,function(){return!0})},t.prototype.subtree=function(e){if(Ha(e))return this;var n=Ra(e),o=this.children.get(n);return o!==null?o.subtree(bs(e)):new t(null)},t.prototype.set=function(e,n){if(Ha(e))return new t(n,this.children);var o=Ra(e),i=this.children.get(o)||new t(null),r=i.set(bs(e),n),a=this.children.insert(o,r);return new t(this.value,a)},t.prototype.remove=function(e){if(Ha(e))return this.children.isEmpty()?new t(null):new t(null,this.children);var n=Ra(e),o=this.children.get(n);if(o){var i=o.remove(bs(e)),r=void 0;return i.isEmpty()?r=this.children.remove(n):r=this.children.insert(n,i),this.value===null&&r.isEmpty()?new t(null):new t(this.value,r)}else return this},t.prototype.get=function(e){if(Ha(e))return this.value;var n=Ra(e),o=this.children.get(n);return o?o.get(bs(e)):null},t.prototype.setTree=function(e,n){if(Ha(e))return n;var o=Ra(e),i=this.children.get(o)||new t(null),r=i.setTree(bs(e),n),a=void 0;return r.isEmpty()?a=this.children.remove(o):a=this.children.insert(o,r),new t(this.value,a)},t.prototype.fold=function(e){return this.fold_(zl(),e)},t.prototype.fold_=function(e,n){var o={};return this.children.inorderTraversal(function(i,r){o[i]=r.fold_(jc(e,i),n)}),n(e,this.value,o)},t.prototype.findOnPath=function(e,n){return this.findOnPath_(e,zl(),n)},t.prototype.findOnPath_=function(e,n,o){var i=this.value?o(n,this.value):!1;if(i)return i;if(Ha(e))return null;var r=Ra(e),a=this.children.get(r);return a?a.findOnPath_(bs(e),jc(n,r),o):null},t.prototype.foreachOnPath=function(e,n){return this.foreachOnPath_(e,zl(),n)},t.prototype.foreachOnPath_=function(e,n,o){if(Ha(e))return this;this.value&&o(n,this.value);var i=Ra(e),r=this.children.get(i);return r?r.foreachOnPath_(bs(e),jc(n,i),o):new t(null)},t.prototype.foreach=function(e){this.foreach_(zl(),e)},t.prototype.foreach_=function(e,n){this.children.inorderTraversal(function(o,i){i.foreach_(jc(e,o),n)}),this.value&&n(e,this.value)},t.prototype.foreachChild=function(e){this.children.inorderTraversal(function(n,o){o.value&&e(n,o.value)})},t}();/** * @license * Copyright 2017 Google LLC * @@ -8097,7 +8097,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var z6=function(){function t(e){this.writeTree_=e}return t.empty=function(){return new t(new Dg(null))},t}();function zE(t,e,n){if(Ha(e))return new z6(new Dg(n));var o=t.writeTree_.findRootMostValueAndPath(e);if(o!=null){var i=o.path,r=o.value,a=ip(i,e);return r=r.updateChild(a,n),new z6(t.writeTree_.set(i,r))}else{var l=new Dg(n),s=t.writeTree_.setTree(e,l);return new z6(s)}}function nfe(t,e,n){var o=t;return Vu(n,function(i,r){o=zE(o,jc(e,i),r)}),o}function NMe(t,e){if(Ha(e))return z6.empty();var n=t.writeTree_.setTree(e,new Dg(null));return new z6(n)}function ofe(t,e){return Zb(t,e)!=null}function Zb(t,e){var n=t.writeTree_.findRootMostValueAndPath(e);return n!=null?t.writeTree_.get(n.path).getChild(ip(n.path,e)):null}function UMe(t){var e=[],n=t.writeTree_.value;return n!=null?n.isLeafNode()||n.forEachChild(Vs,function(o,i){e.push(new Ja(o,i))}):t.writeTree_.children.inorderTraversal(function(o,i){i.value!=null&&e.push(new Ja(o,i.value))}),e}function Bw(t,e){if(Ha(e))return t;var n=Zb(t,e);return n!=null?new z6(new Dg(n)):new z6(t.writeTree_.subtree(e))}function ife(t){return t.writeTree_.isEmpty()}function BR(t,e){return Sit(zl(),t.writeTree_,e)}function Sit(t,e,n){if(e.value!=null)return n.updateChild(t,e.value);var o=null;return e.children.inorderTraversal(function(i,r){i===".priority"?(ei(r.value!==null,"Priority writes must always be leaf nodes"),o=r.value):n=Sit(jc(t,i),r,n)}),!n.getChild(t).isEmpty()&&o!==null&&(n=n.updateChild(jc(t,".priority"),o)),n}/** + */var z6=function(){function t(e){this.writeTree_=e}return t.empty=function(){return new t(new Dg(null))},t}();function zE(t,e,n){if(Ha(e))return new z6(new Dg(n));var o=t.writeTree_.findRootMostValueAndPath(e);if(o!=null){var i=o.path,r=o.value,a=ip(i,e);return r=r.updateChild(a,n),new z6(t.writeTree_.set(i,r))}else{var l=new Dg(n),s=t.writeTree_.setTree(e,l);return new z6(s)}}function nfe(t,e,n){var o=t;return Vu(n,function(i,r){o=zE(o,jc(e,i),r)}),o}function LMe(t,e){if(Ha(e))return z6.empty();var n=t.writeTree_.setTree(e,new Dg(null));return new z6(n)}function ofe(t,e){return Zb(t,e)!=null}function Zb(t,e){var n=t.writeTree_.findRootMostValueAndPath(e);return n!=null?t.writeTree_.get(n.path).getChild(ip(n.path,e)):null}function WMe(t){var e=[],n=t.writeTree_.value;return n!=null?n.isLeafNode()||n.forEachChild(Vs,function(o,i){e.push(new Ja(o,i))}):t.writeTree_.children.inorderTraversal(function(o,i){i.value!=null&&e.push(new Ja(o,i.value))}),e}function Bw(t,e){if(Ha(e))return t;var n=Zb(t,e);return n!=null?new z6(new Dg(n)):new z6(t.writeTree_.subtree(e))}function ife(t){return t.writeTree_.isEmpty()}function BR(t,e){return xit(zl(),t.writeTree_,e)}function xit(t,e,n){if(e.value!=null)return n.updateChild(t,e.value);var o=null;return e.children.inorderTraversal(function(i,r){i===".priority"?(ei(r.value!==null,"Priority writes must always be leaf nodes"),o=r.value):n=xit(jc(t,i),r,n)}),!n.getChild(t).isEmpty()&&o!==null&&(n=n.updateChild(jc(t,".priority"),o)),n}/** * @license * Copyright 2017 Google LLC * @@ -8112,7 +8112,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */function XZ(t,e){return Rit(e,t)}function Cgo(t,e,n,o,i){ei(o>t.lastWriteId,"Stacking an older write on top of newer ones"),i===void 0&&(i=!0),t.allWrites.push({path:e,snap:n,writeId:o,visible:i}),i&&(t.visibleWrites=zE(t.visibleWrites,e,n)),t.lastWriteId=o}function Rgo(t,e,n,o){ei(o>t.lastWriteId,"Stacking an older merge on top of newer ones"),t.allWrites.push({path:e,children:n,writeId:o,visible:!0}),t.visibleWrites=nfe(t.visibleWrites,e,n),t.lastWriteId=o}function Hgo(t,e){for(var n=0;n=0,"removeWrite called with nonexistent writeId.");var o=t.allWrites[n];t.allWrites.splice(n,1);for(var i=o.visible,r=!1,a=t.allWrites.length-1;i&&a>=0;){var l=t.allWrites[a];l.visible&&(a>=n&&Igo(l,o.path)?i=!1:Wm(o.path,l.path)&&(r=!0)),a--}if(i){if(r)return zgo(t),!0;if(o.snap)t.visibleWrites=NMe(t.visibleWrites,o.path);else{var s=o.children;Vu(s,function(c){t.visibleWrites=NMe(t.visibleWrites,jc(o.path,c))})}return!0}else return!1}function Igo(t,e){if(t.snap)return Wm(t.path,e);for(var n in t.children)if(t.children.hasOwnProperty(n)&&Wm(jc(t.path,n),e))return!0;return!1}function zgo(t){t.visibleWrites=Tit(t.allWrites,Dgo,zl()),t.allWrites.length>0?t.lastWriteId=t.allWrites[t.allWrites.length-1].writeId:t.lastWriteId=-1}function Dgo(t){return t.visible}function Tit(t,e,n){for(var o=z6.empty(),i=0;it.lastWriteId,"Stacking an older write on top of newer ones"),i===void 0&&(i=!0),t.allWrites.push({path:e,snap:n,writeId:o,visible:i}),i&&(t.visibleWrites=zE(t.visibleWrites,e,n)),t.lastWriteId=o}function Pgo(t,e,n,o){ei(o>t.lastWriteId,"Stacking an older merge on top of newer ones"),t.allWrites.push({path:e,children:n,writeId:o,visible:!0}),t.visibleWrites=nfe(t.visibleWrites,e,n),t.lastWriteId=o}function Cgo(t,e){for(var n=0;n=0,"removeWrite called with nonexistent writeId.");var o=t.allWrites[n];t.allWrites.splice(n,1);for(var i=o.visible,r=!1,a=t.allWrites.length-1;i&&a>=0;){var l=t.allWrites[a];l.visible&&(a>=n&&Hgo(l,o.path)?i=!1:Wm(o.path,l.path)&&(r=!0)),a--}if(i){if(r)return Mgo(t),!0;if(o.snap)t.visibleWrites=LMe(t.visibleWrites,o.path);else{var s=o.children;Vu(s,function(c){t.visibleWrites=LMe(t.visibleWrites,jc(o.path,c))})}return!0}else return!1}function Hgo(t,e){if(t.snap)return Wm(t.path,e);for(var n in t.children)if(t.children.hasOwnProperty(n)&&Wm(jc(t.path,n),e))return!0;return!1}function Mgo(t){t.visibleWrites=bit(t.allWrites,Igo,zl()),t.allWrites.length>0?t.lastWriteId=t.allWrites[t.allWrites.length-1].writeId:t.lastWriteId=-1}function Igo(t){return t.visible}function bit(t,e,n){for(var o=z6.empty(),i=0;i0||!t.eventCache.isFullyInitialized()||i&&!o.getNode().equals(r)||!o.getNode().getPriority().equals(r.getPriority()))&&n.push(yit(qX(e)))}}function Mit(t,e,n,o,i,r){var a=e.eventCache;if(QX(o,n)!=null)return e;var l=void 0,s=void 0;if(Ha(n))if(ei(e.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),e.serverCache.isFiltered()){var c=ib(e),u=c instanceof la?c:la.EMPTY_NODE,d=T9e(o,u);l=t.filter.updateFullNode(e.eventCache.getNode(),d,r)}else{var f=$X(o,ib(e));l=t.filter.updateFullNode(e.eventCache.getNode(),f,r)}else{var p=Ra(n);if(p===".priority"){ei(p7(n)===1,"Can't have a priority with additional path components");var g=a.getNode();s=e.serverCache.getNode();var A=BMe(o,n,g,s);A!=null?l=t.filter.updatePriority(g,A):l=a.getNode()}else{var w=bs(n),b=void 0;if(a.isCompleteForChild(p)){s=e.serverCache.getNode();var C=BMe(o,n,a.getNode(),s);C!=null?b=a.getNode().getImmediateChild(p).updateChild(w,C):b=a.getNode().getImmediateChild(p)}else b=P9e(o,p,e.serverCache);b!=null?l=t.filter.updateChild(a.getNode(),p,b,w,i,r):l=a.getNode()}}return IE(e,l,a.isFullyInitialized()||Ha(n),t.filter.filtersNodes())}function ZX(t,e,n,o,i,r,a,l){var s=e.serverCache,c,u=a?t.filter:t.filter.getIndexedFilter();if(Ha(n))c=u.updateFullNode(s.getNode(),o,null);else if(u.filtersNodes()&&!s.isFiltered()){var d=s.getNode().updateChild(n,o);c=u.updateFullNode(s.getNode(),d,null)}else{var f=Ra(n);if(!s.isCompleteForPath(n)&&p7(n)>1)return e;var p=bs(n),g=s.getNode().getImmediateChild(f),A=g.updateChild(p,o);f===".priority"?c=u.updatePriority(s.getNode(),A):c=u.updateChild(s.getNode(),f,A,p,Hit,null)}var w=bit(e,c,s.isFullyInitialized()||Ha(n),u.filtersNodes()),b=new C9e(i,w,r);return Mit(t,w,n,i,b,l)}function rfe(t,e,n,o,i,r,a){var l=e.eventCache,s,c,u=new C9e(i,e,r);if(Ha(n))c=t.filter.updateFullNode(e.eventCache.getNode(),o,a),s=IE(e,c,!0,t.filter.filtersNodes());else{var d=Ra(n);if(d===".priority")c=t.filter.updatePriority(e.eventCache.getNode(),o),s=IE(e,c,l.isFullyInitialized(),l.isFiltered());else{var f=bs(n),p=l.getNode().getImmediateChild(d),g=void 0;if(Ha(f))g=o;else{var A=u.getCompleteChild(d);A!=null?p9e(f)===".priority"&&A.getChild(sit(f)).isEmpty()?g=A:g=A.updateChild(f,o):g=la.EMPTY_NODE}if(p.equals(g))s=e;else{var w=t.filter.updateChild(l.getNode(),d,g,f,u,a);s=IE(e,w,l.isFullyInitialized(),t.filter.filtersNodes())}}}return s}function jMe(t,e){return t.eventCache.isCompleteForChild(e)}function Ggo(t,e,n,o,i,r,a){var l=e;return o.foreach(function(s,c){var u=jc(n,s);jMe(e,Ra(u))&&(l=rfe(t,l,u,c,i,r,a))}),o.foreach(function(s,c){var u=jc(n,s);jMe(e,Ra(u))||(l=rfe(t,l,u,c,i,r,a))}),l}function YMe(t,e,n){return n.foreach(function(o,i){e=e.updateChild(o,i)}),e}function afe(t,e,n,o,i,r,a,l){if(e.serverCache.getNode().isEmpty()&&!e.serverCache.isFullyInitialized())return e;var s=e,c;Ha(n)?c=o:c=new Dg(null).setTree(n,o);var u=e.serverCache.getNode();return c.children.inorderTraversal(function(d,f){if(u.hasChild(d)){var p=e.serverCache.getNode().getImmediateChild(d),g=YMe(t,p,f);s=ZX(t,s,new os(d),g,i,r,a,l)}}),c.children.inorderTraversal(function(d,f){var p=!e.serverCache.isCompleteForChild(d)&&f.value===void 0;if(!u.hasChild(d)&&!p){var g=e.serverCache.getNode().getImmediateChild(d),A=YMe(t,g,f);s=ZX(t,s,new os(d),A,i,r,a,l)}}),s}function Xgo(t,e,n,o,i,r,a){if(QX(i,n)!=null)return e;var l=e.serverCache.isFiltered(),s=e.serverCache;if(o.value!=null){if(Ha(n)&&s.isFullyInitialized()||s.isCompleteForPath(n))return ZX(t,e,n,s.getNode().getChild(n),i,r,l,a);if(Ha(n)){var c=new Dg(null);return s.getNode().forEachChild(S9,function(d,f){c=c.set(new os(d),f)}),afe(t,e,n,c,i,r,l,a)}else return e}else{var u=new Dg(null);return o.foreach(function(d,f){var p=jc(n,d);s.isCompleteForPath(p)&&(u=u.set(d,s.getNode().getChild(p)))}),afe(t,e,n,u,i,r,l,a)}}function Jgo(t,e,n,o,i){var r=e.serverCache,a=bit(e,r.getNode(),r.isFullyInitialized()||Ha(n),r.isFiltered());return Mit(t,a,n,o,Hit,i)}function Kgo(t,e,n,o,i,r){var a;if(QX(o,n)!=null)return e;var l=new C9e(o,e,i),s=e.eventCache.getNode(),c=void 0;if(Ha(n)||Ra(n)===".priority"){var u=void 0;if(e.serverCache.isFullyInitialized())u=$X(o,ib(e));else{var d=e.serverCache.getNode();ei(d instanceof la,"serverChildren would be complete if leaf node"),u=T9e(o,d)}u=u,c=t.filter.updateFullNode(s,u,r)}else{var f=Ra(n),p=P9e(o,f,e.serverCache);p==null&&e.serverCache.isCompleteForChild(f)&&(p=s.getImmediateChild(f)),p!=null?c=t.filter.updateChild(s,f,p,bs(n),l,r):e.eventCache.getNode().hasChild(f)?c=t.filter.updateChild(s,f,la.EMPTY_NODE,bs(n),l,r):c=s,c.isEmpty()&&e.serverCache.isFullyInitialized()&&(a=$X(o,ib(e)),a.isLeafNode()&&(c=t.filter.updateFullNode(c,a,r)))}return a=e.serverCache.isFullyInitialized()||QX(o,zl())!=null,IE(e,c,a,t.filter.filtersNodes())}/** + */function Bgo(t){return{filter:t}}function jgo(t,e){ei(e.eventCache.getNode().isIndexed(t.filter.getIndex()),"Event snap not indexed"),ei(e.serverCache.getNode().isIndexed(t.filter.getIndex()),"Server snap not indexed")}function Ygo(t,e,n,o,i){var r=new Ngo,a,l;if(n.type===v2.OVERWRITE){var s=n;s.source.fromUser?a=rfe(t,e,s.path,s.snap,o,i,r):(ei(s.source.fromServer,"Unknown source."),l=s.source.tagged||e.serverCache.isFiltered()&&!Ha(s.path),a=ZX(t,e,s.path,s.snap,o,i,l,r))}else if(n.type===v2.MERGE){var c=n;c.source.fromUser?a=_go(t,e,c.path,c.children,o,i,r):(ei(c.source.fromServer,"Unknown source."),l=c.source.tagged||e.serverCache.isFiltered(),a=afe(t,e,c.path,c.children,o,i,l,r))}else if(n.type===v2.ACK_USER_WRITE){var u=n;u.revert?a=Xgo(t,e,u.path,o,i,r):a=Vgo(t,e,u.path,u.affectedTree,o,i,r)}else if(n.type===v2.LISTEN_COMPLETE)a=Ggo(t,e,n.path,o,r);else throw _H("Unknown operation type: "+n.type);var d=r.getChanges();return Ogo(e,a,d),{viewCache:a,changes:d}}function Ogo(t,e,n){var o=e.eventCache;if(o.isFullyInitialized()){var i=o.getNode().isLeafNode()||o.getNode().isEmpty(),r=qX(t);(n.length>0||!t.eventCache.isFullyInitialized()||i&&!o.getNode().equals(r)||!o.getNode().getPriority().equals(r.getPriority()))&&n.push(git(qX(e)))}}function Rit(t,e,n,o,i,r){var a=e.eventCache;if(QX(o,n)!=null)return e;var l=void 0,s=void 0;if(Ha(n))if(ei(e.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),e.serverCache.isFiltered()){var c=ib(e),u=c instanceof la?c:la.EMPTY_NODE,d=T9e(o,u);l=t.filter.updateFullNode(e.eventCache.getNode(),d,r)}else{var f=$X(o,ib(e));l=t.filter.updateFullNode(e.eventCache.getNode(),f,r)}else{var p=Ra(n);if(p===".priority"){ei(p7(n)===1,"Can't have a priority with additional path components");var g=a.getNode();s=e.serverCache.getNode();var A=NMe(o,n,g,s);A!=null?l=t.filter.updatePriority(g,A):l=a.getNode()}else{var w=bs(n),b=void 0;if(a.isCompleteForChild(p)){s=e.serverCache.getNode();var C=NMe(o,n,a.getNode(),s);C!=null?b=a.getNode().getImmediateChild(p).updateChild(w,C):b=a.getNode().getImmediateChild(p)}else b=P9e(o,p,e.serverCache);b!=null?l=t.filter.updateChild(a.getNode(),p,b,w,i,r):l=a.getNode()}}return IE(e,l,a.isFullyInitialized()||Ha(n),t.filter.filtersNodes())}function ZX(t,e,n,o,i,r,a,l){var s=e.serverCache,c,u=a?t.filter:t.filter.getIndexedFilter();if(Ha(n))c=u.updateFullNode(s.getNode(),o,null);else if(u.filtersNodes()&&!s.isFiltered()){var d=s.getNode().updateChild(n,o);c=u.updateFullNode(s.getNode(),d,null)}else{var f=Ra(n);if(!s.isCompleteForPath(n)&&p7(n)>1)return e;var p=bs(n),g=s.getNode().getImmediateChild(f),A=g.updateChild(p,o);f===".priority"?c=u.updatePriority(s.getNode(),A):c=u.updateChild(s.getNode(),f,A,p,Cit,null)}var w=vit(e,c,s.isFullyInitialized()||Ha(n),u.filtersNodes()),b=new C9e(i,w,r);return Rit(t,w,n,i,b,l)}function rfe(t,e,n,o,i,r,a){var l=e.eventCache,s,c,u=new C9e(i,e,r);if(Ha(n))c=t.filter.updateFullNode(e.eventCache.getNode(),o,a),s=IE(e,c,!0,t.filter.filtersNodes());else{var d=Ra(n);if(d===".priority")c=t.filter.updatePriority(e.eventCache.getNode(),o),s=IE(e,c,l.isFullyInitialized(),l.isFiltered());else{var f=bs(n),p=l.getNode().getImmediateChild(d),g=void 0;if(Ha(f))g=o;else{var A=u.getCompleteChild(d);A!=null?p9e(f)===".priority"&&A.getChild(ait(f)).isEmpty()?g=A:g=A.updateChild(f,o):g=la.EMPTY_NODE}if(p.equals(g))s=e;else{var w=t.filter.updateChild(l.getNode(),d,g,f,u,a);s=IE(e,w,l.isFullyInitialized(),t.filter.filtersNodes())}}}return s}function UMe(t,e){return t.eventCache.isCompleteForChild(e)}function _go(t,e,n,o,i,r,a){var l=e;return o.foreach(function(s,c){var u=jc(n,s);UMe(e,Ra(u))&&(l=rfe(t,l,u,c,i,r,a))}),o.foreach(function(s,c){var u=jc(n,s);UMe(e,Ra(u))||(l=rfe(t,l,u,c,i,r,a))}),l}function BMe(t,e,n){return n.foreach(function(o,i){e=e.updateChild(o,i)}),e}function afe(t,e,n,o,i,r,a,l){if(e.serverCache.getNode().isEmpty()&&!e.serverCache.isFullyInitialized())return e;var s=e,c;Ha(n)?c=o:c=new Dg(null).setTree(n,o);var u=e.serverCache.getNode();return c.children.inorderTraversal(function(d,f){if(u.hasChild(d)){var p=e.serverCache.getNode().getImmediateChild(d),g=BMe(t,p,f);s=ZX(t,s,new os(d),g,i,r,a,l)}}),c.children.inorderTraversal(function(d,f){var p=!e.serverCache.isCompleteForChild(d)&&f.value===void 0;if(!u.hasChild(d)&&!p){var g=e.serverCache.getNode().getImmediateChild(d),A=BMe(t,g,f);s=ZX(t,s,new os(d),A,i,r,a,l)}}),s}function Vgo(t,e,n,o,i,r,a){if(QX(i,n)!=null)return e;var l=e.serverCache.isFiltered(),s=e.serverCache;if(o.value!=null){if(Ha(n)&&s.isFullyInitialized()||s.isCompleteForPath(n))return ZX(t,e,n,s.getNode().getChild(n),i,r,l,a);if(Ha(n)){var c=new Dg(null);return s.getNode().forEachChild(S9,function(d,f){c=c.set(new os(d),f)}),afe(t,e,n,c,i,r,l,a)}else return e}else{var u=new Dg(null);return o.foreach(function(d,f){var p=jc(n,d);s.isCompleteForPath(p)&&(u=u.set(d,s.getNode().getChild(p)))}),afe(t,e,n,u,i,r,l,a)}}function Ggo(t,e,n,o,i){var r=e.serverCache,a=vit(e,r.getNode(),r.isFullyInitialized()||Ha(n),r.isFiltered());return Rit(t,a,n,o,Cit,i)}function Xgo(t,e,n,o,i,r){var a;if(QX(o,n)!=null)return e;var l=new C9e(o,e,i),s=e.eventCache.getNode(),c=void 0;if(Ha(n)||Ra(n)===".priority"){var u=void 0;if(e.serverCache.isFullyInitialized())u=$X(o,ib(e));else{var d=e.serverCache.getNode();ei(d instanceof la,"serverChildren would be complete if leaf node"),u=T9e(o,d)}u=u,c=t.filter.updateFullNode(s,u,r)}else{var f=Ra(n),p=P9e(o,f,e.serverCache);p==null&&e.serverCache.isCompleteForChild(f)&&(p=s.getImmediateChild(f)),p!=null?c=t.filter.updateChild(s,f,p,bs(n),l,r):e.eventCache.getNode().hasChild(f)?c=t.filter.updateChild(s,f,la.EMPTY_NODE,bs(n),l,r):c=s,c.isEmpty()&&e.serverCache.isFullyInitialized()&&(a=$X(o,ib(e)),a.isLeafNode()&&(c=t.filter.updateFullNode(c,a,r)))}return a=e.serverCache.isFullyInitialized()||QX(o,zl())!=null,IE(e,c,a,t.filter.filtersNodes())}/** * @license * Copyright 2017 Google LLC * @@ -8172,7 +8172,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var qgo=function(){function t(e,n){this.query_=e,this.eventRegistrations_=[];var o=this.query_._queryParams,i=new w9e(o.getIndex()),r=sgo(o);this.processor_=Ygo(r);var a=n.serverCache,l=n.eventCache,s=i.updateFullNode(la.EMPTY_NODE,a.getNode(),null),c=r.updateFullNode(la.EMPTY_NODE,l.getNode(),null),u=new g7(s,a.isFullyInitialized(),i.filtersNodes()),d=new g7(c,l.isFullyInitialized(),r.filtersNodes());this.viewCache_=GZ(d,u),this.eventGenerator_=new xgo(this.query_)}return Object.defineProperty(t.prototype,"query",{get:function(){return this.query_},enumerable:!1,configurable:!0}),t}();function $go(t){return t.viewCache_.serverCache.getNode()}function Qgo(t){return qX(t.viewCache_)}function Zgo(t,e){var n=ib(t.viewCache_);return n&&(t.query._queryParams.loadsAllData()||!Ha(e)&&!n.getImmediateChild(Ra(e)).isEmpty())?n.getChild(e):null}function OMe(t){return t.eventRegistrations_.length===0}function emo(t,e){t.eventRegistrations_.push(e)}function _Me(t,e,n){var o=[];if(n){ei(e==null,"A cancel should cancel all event registrations.");var i=t.query._path;t.eventRegistrations_.forEach(function(s){var c=s.createCancelEvent(n,i);c&&o.push(c)})}if(e){for(var r=[],a=0;a0&&!o)if(c){var b=null;t.listenProvider_.stopListening(DE(e),b)}else s.forEach(function(C){var P=t.queryToTagMap.get(qZ(C));t.listenProvider_.stopListening(DE(C),P)});Amo(t,s)}return a}function pmo(t,e,n,o){var i=M9e(t,o);if(i!=null){var r=I9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=new VZ(b9e(l),s,n);return z9e(t,a,c)}else return[]}function gmo(t,e,n,o){var i=M9e(t,o);if(i){var r=I9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=Dg.fromObject(n),u=new S9e(b9e(l),s,c);return z9e(t,a,u)}else return[]}function XMe(t,e,n){var o=e._path,i=null,r=!1;t.syncPointTree_.foreachOnPath(o,function(A,w){var b=ip(A,o);i=i||jw(w,b),r=r||m7(w)});var a=t.syncPointTree_.get(o);a?(r=r||m7(a),i=i||jw(a,zl())):(a=new zit,t.syncPointTree_=t.syncPointTree_.set(o,a));var l;if(i!=null)l=!0;else{l=!1,i=la.EMPTY_NODE;var s=t.syncPointTree_.subtree(o);s.foreachChild(function(A,w){var b=jw(w,zl());b&&(i=i.updateImmediateChild(A,b))})}var c=Fit(a,e);if(!c&&!e._queryParams.loadsAllData()){var u=qZ(e);ei(!t.queryToTagMap.has(u),"View does not exist, but we have a tag");var d=wmo();t.queryToTagMap.set(u,d),t.tagToQueryMap.set(d,u)}var f=XZ(t.pendingWriteTree_,o),p=rmo(a,e,n,f,i,l);if(!c&&!r){var g=kit(a,e);p=p.concat(vmo(t,e,g))}return p}function KZ(t,e,n){var o=!0,i=t.pendingWriteTree_,r=t.syncPointTree_.findOnPath(e,function(a,l){var s=ip(a,e),c=jw(l,s);if(c)return c});return Pit(i,e,r,n,o)}function mmo(t,e){var n=e._path,o=null;t.syncPointTree_.foreachOnPath(n,function(c,u){var d=ip(c,n);o=o||jw(u,d)});var i=t.syncPointTree_.get(n);i?o=o||jw(i,zl()):(i=new zit,t.syncPointTree_=t.syncPointTree_.set(n,i));var r=o!=null,a=r?new g7(o,!0,!1):null,l=XZ(t.pendingWriteTree_,e._path),s=Dit(i,e,l,r?a.getNode():la.EMPTY_NODE,r);return Qgo(s)}function mM(t,e){return Lit(e,t.syncPointTree_,null,XZ(t.pendingWriteTree_,zl()))}function Lit(t,e,n,o){if(Ha(t.path))return Wit(t,e,n,o);var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[],a=Ra(t.path),l=t.operationForChild(a),s=e.children.get(a);if(s&&l){var c=n?n.getImmediateChild(a):null,u=Cit(o,a);r=r.concat(Lit(l,s,c,u))}return i&&(r=r.concat(R9e(i,t,o,n))),r}function Wit(t,e,n,o){var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[];return e.children.inorderTraversal(function(a,l){var s=n?n.getImmediateChild(a):null,c=Cit(o,a),u=t.operationForChild(a);u&&(r=r.concat(Wit(u,l,s,c)))}),i&&(r=r.concat(R9e(i,t,o,n))),r}function Nit(t,e){var n=e.query,o=nJ(t,n);return{hashFn:function(){var i=$go(e)||la.EMPTY_NODE;return i.hash()},onComplete:function(i){if(i==="ok")return o?hmo(t,n._path,o):fmo(t,n._path);var r=r1o(i,n);return lfe(t,n,null,r)}}}function nJ(t,e){var n=qZ(e);return t.queryToTagMap.get(n)}function qZ(t){return t._path.toString()+"$"+t._queryIdentifier}function M9e(t,e){return t.tagToQueryMap.get(e)}function I9e(t){var e=t.indexOf("$");return ei(e!==-1&&e0&&!o)if(c){var b=null;t.listenProvider_.stopListening(DE(e),b)}else s.forEach(function(C){var P=t.queryToTagMap.get(qZ(C));t.listenProvider_.stopListening(DE(C),P)});mmo(t,s)}return a}function fmo(t,e,n,o){var i=M9e(t,o);if(i!=null){var r=I9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=new VZ(b9e(l),s,n);return z9e(t,a,c)}else return[]}function hmo(t,e,n,o){var i=M9e(t,o);if(i){var r=I9e(i),a=r.path,l=r.queryId,s=ip(a,e),c=Dg.fromObject(n),u=new S9e(b9e(l),s,c);return z9e(t,a,u)}else return[]}function VMe(t,e,n){var o=e._path,i=null,r=!1;t.syncPointTree_.foreachOnPath(o,function(A,w){var b=ip(A,o);i=i||jw(w,b),r=r||m7(w)});var a=t.syncPointTree_.get(o);a?(r=r||m7(a),i=i||jw(a,zl())):(a=new Mit,t.syncPointTree_=t.syncPointTree_.set(o,a));var l;if(i!=null)l=!0;else{l=!1,i=la.EMPTY_NODE;var s=t.syncPointTree_.subtree(o);s.foreachChild(function(A,w){var b=jw(w,zl());b&&(i=i.updateImmediateChild(A,b))})}var c=Eit(a,e);if(!c&&!e._queryParams.loadsAllData()){var u=qZ(e);ei(!t.queryToTagMap.has(u),"View does not exist, but we have a tag");var d=ymo();t.queryToTagMap.set(u,d),t.tagToQueryMap.set(d,u)}var f=XZ(t.pendingWriteTree_,o),p=omo(a,e,n,f,i,l);if(!c&&!r){var g=Dit(a,e);p=p.concat(Amo(t,e,g))}return p}function KZ(t,e,n){var o=!0,i=t.pendingWriteTree_,r=t.syncPointTree_.findOnPath(e,function(a,l){var s=ip(a,e),c=jw(l,s);if(c)return c});return Sit(i,e,r,n,o)}function pmo(t,e){var n=e._path,o=null;t.syncPointTree_.foreachOnPath(n,function(c,u){var d=ip(c,n);o=o||jw(u,d)});var i=t.syncPointTree_.get(n);i?o=o||jw(i,zl()):(i=new Mit,t.syncPointTree_=t.syncPointTree_.set(n,i));var r=o!=null,a=r?new g7(o,!0,!1):null,l=XZ(t.pendingWriteTree_,e._path),s=Iit(i,e,l,r?a.getNode():la.EMPTY_NODE,r);return qgo(s)}function mM(t,e){return kit(e,t.syncPointTree_,null,XZ(t.pendingWriteTree_,zl()))}function kit(t,e,n,o){if(Ha(t.path))return Fit(t,e,n,o);var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[],a=Ra(t.path),l=t.operationForChild(a),s=e.children.get(a);if(s&&l){var c=n?n.getImmediateChild(a):null,u=Tit(o,a);r=r.concat(kit(l,s,c,u))}return i&&(r=r.concat(R9e(i,t,o,n))),r}function Fit(t,e,n,o){var i=e.get(zl());n==null&&i!=null&&(n=jw(i,zl()));var r=[];return e.children.inorderTraversal(function(a,l){var s=n?n.getImmediateChild(a):null,c=Tit(o,a),u=t.operationForChild(a);u&&(r=r.concat(Fit(u,l,s,c)))}),i&&(r=r.concat(R9e(i,t,o,n))),r}function Lit(t,e){var n=e.query,o=nJ(t,n);return{hashFn:function(){var i=Kgo(e)||la.EMPTY_NODE;return i.hash()},onComplete:function(i){if(i==="ok")return o?dmo(t,n._path,o):umo(t,n._path);var r=o1o(i,n);return lfe(t,n,null,r)}}}function nJ(t,e){var n=qZ(e);return t.queryToTagMap.get(n)}function qZ(t){return t._path.toString()+"$"+t._queryIdentifier}function M9e(t,e){return t.tagToQueryMap.get(e)}function I9e(t){var e=t.indexOf("$");return ei(e!==-1&&e0}function Cmo(t){return eS(t)===void 0&&!Bit(t)}function QZ(t,e){Vu(t.node.children,function(n,o){e(new k9e(n,t,o))})}function jit(t,e,n,o){n&&!o&&e(t),QZ(t,function(i){jit(i,e,!0,o)}),n&&o&&e(t)}function Rmo(t,e,n){for(var o=t.parent;o!==null;){if(e(o))return!0;o=o.parent}return!1}function jN(t){return new os(t.parent===null?t.name:jN(t.parent)+"/"+t.name)}function sfe(t){t.parent!==null&&Hmo(t.parent,t.name,t)}function Hmo(t,e,n){var o=Cmo(n),i=Mg(t.node.children,e);o&&i?(delete t.node.children[e],t.node.childCount--,sfe(t)):!o&&!i&&(t.node.children[e]=n.node,t.node.childCount++,sfe(t))}/** + */var k9e=function(){function t(e,n,o){e===void 0&&(e=""),n===void 0&&(n=null),o===void 0&&(o={children:{},childCount:0}),this.name=e,this.parent=n,this.node=o}return t}();function $Z(t,e){for(var n=e instanceof os?e:new os(e),o=t,i=Ra(n);i!==null;){var r=qx(o.node.children,i)||{children:{},childCount:0};o=new k9e(i,o,r),n=bs(n),i=Ra(n)}return o}function eS(t){return t.node.value}function F9e(t,e){t.node.value=e,sfe(t)}function Nit(t){return t.node.childCount>0}function Tmo(t){return eS(t)===void 0&&!Nit(t)}function QZ(t,e){Vu(t.node.children,function(n,o){e(new k9e(n,t,o))})}function Uit(t,e,n,o){n&&!o&&e(t),QZ(t,function(i){Uit(i,e,!0,o)}),n&&o&&e(t)}function Pmo(t,e,n){for(var o=t.parent;o!==null;){if(e(o))return!0;o=o.parent}return!1}function jN(t){return new os(t.parent===null?t.name:jN(t.parent)+"/"+t.name)}function sfe(t){t.parent!==null&&Cmo(t.parent,t.name,t)}function Cmo(t,e,n){var o=Tmo(n),i=Mg(t.node.children,e);o&&i?(delete t.node.children[e],t.node.childCount--,sfe(t)):!o&&!i&&(t.node.children[e]=n.node,t.node.childCount++,sfe(t))}/** * @license * Copyright 2017 Google LLC * @@ -8247,7 +8247,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Mmo=/[\[\].#$\/\u0000-\u001F\u007F]/,Imo=/[\[\].#$\u0000-\u001F\u007F]/,Eae=10*1024*1024,ZZ=function(t){return typeof t=="string"&&t.length!==0&&!Mmo.test(t)},Yit=function(t){return typeof t=="string"&&t.length!==0&&!Imo.test(t)},zmo=function(t){return t&&(t=t.replace(/^\/*\.info(\/|$)/,"/")),Yit(t)},IF=function(t){return t===null||typeof t=="string"||typeof t=="number"&&!YZ(t)||t&&typeof t=="object"&&Mg(t,".sv")},j9=function(t,e,n,o){o&&e===void 0||YN(Xp(t,"value"),e,n)},YN=function(t,e,n){var o=n instanceof os?new U1o(n,t):n;if(e===void 0)throw new Error(t+"contains undefined "+fv(o));if(typeof e=="function")throw new Error(t+"contains a function "+fv(o)+" with contents = "+e.toString());if(YZ(e))throw new Error(t+"contains "+e.toString()+" "+fv(o));if(typeof e=="string"&&e.length>Eae/3&&UQ(e)>Eae)throw new Error(t+"contains a string greater than "+Eae+" utf8 bytes "+fv(o)+" ('"+e.substring(0,50)+"...')");if(e&&typeof e=="object"){var i=!1,r=!1;if(Vu(e,function(a,l){if(a===".value")i=!0;else if(a!==".priority"&&a!==".sv"&&(r=!0,!ZZ(a)))throw new Error(t+" contains an invalid key ("+a+") "+fv(o)+`. Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"`);B1o(o,a),YN(t,l,o),j1o(o)}),i&&r)throw new Error(t+' contains ".value" child '+fv(o)+" in addition to actual children.")}},Dmo=function(t,e){var n,o;for(n=0;nEae/3&&UQ(e)>Eae)throw new Error(t+"contains a string greater than "+Eae+" utf8 bytes "+fv(o)+" ('"+e.substring(0,50)+"...')");if(e&&typeof e=="object"){var i=!1,r=!1;if(Vu(e,function(a,l){if(a===".value")i=!0;else if(a!==".priority"&&a!==".sv"&&(r=!0,!ZZ(a)))throw new Error(t+" contains an invalid key ("+a+") "+fv(o)+`. Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"`);N1o(o,a),YN(t,l,o),U1o(o)}),i&&r)throw new Error(t+' contains ".value" child '+fv(o)+" in addition to actual children.")}},Imo=function(t,e){var n,o;for(n=0;n0&&(d=jR(t,r)),Zm(t.eventQueue_,d,a)}function jmo(t,e){t.interceptServerDataCallback_=e}function qMe(t,e){N9e(t,"connected",e),e===!1&&Vmo(t)}function Ymo(t,e){Vu(e,function(n,o){N9e(t,n,o)})}function N9e(t,e,n){var o=new os("/.info/"+e),i=t0(n);t.infoData_.updateSnapshot(o,i);var r=BN(t.infoSyncTree_,o,i);Zm(t.eventQueue_,o,r)}function tee(t){return t.nextWriteId_++}function Omo(t,e){var n=mmo(t.serverSyncTree_,e);return n!=null?Promise.resolve(n):t.server_.get(e).then(function(o){var i=t0(o).withIndex(e._queryParams.getIndex()),r=BN(t.serverSyncTree_,e._path,i);return W9e(t.eventQueue_,e._path,r),Promise.resolve(i)},function(o){return yM(t,"get for query "+Du(e)+" failed: "+o),Promise.reject(new Error(o))})}function U9e(t,e,n,o,i){yM(t,"set",{path:e.toString(),value:n,priority:o});var r=_N(t),a=t0(n,o),l=KZ(t.serverSyncTree_,e),s=D9e(a,l,r),c=tee(t),u=H9e(t.serverSyncTree_,e,s,c,!0);eee(t.eventQueue_,u),t.server_.put(e.toString(),a.val(!0),function(f,p){var g=f==="ok";g||ff("set at "+e+" failed: "+f);var A=Aw(t.serverSyncTree_,c,!g);Zm(t.eventQueue_,e,A),y7(t,i,f,p)});var d=j9e(t,e);jR(t,d),Zm(t.eventQueue_,d,[])}function _mo(t,e,n,o){yM(t,"update",{path:e.toString(),value:n});var i=!0,r=_N(t),a={};if(Vu(n,function(c,u){i=!1,a[c]=Uit(jc(e,c),t0(u),t.serverSyncTree_,r)}),i)vd("update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);else{var l=tee(t),s=umo(t.serverSyncTree_,e,a,l);eee(t.eventQueue_,s),t.server_.merge(e.toString(),n,function(c,u){var d=c==="ok";d||ff("update at "+e+" failed: "+c);var f=Aw(t.serverSyncTree_,l,!d),p=f.length>0?jR(t,e):e;Zm(t.eventQueue_,p,f),y7(t,o,c,u)}),Vu(n,function(c){var u=j9e(t,jc(e,c));jR(t,u)}),Zm(t.eventQueue_,e,[])}}function Vmo(t){yM(t,"onDisconnectEvents");var e=_N(t),n=KX();tfe(t.onDisconnect_,zl(),function(i,r){var a=Uit(i,r,t.serverSyncTree_,e);gM(n,i,a)});var o=[];tfe(n,zl(),function(i,r){o=o.concat(BN(t.serverSyncTree_,i,r));var a=j9e(t,i);jR(t,a)}),t.onDisconnect_=KX(),Zm(t.eventQueue_,zl(),o)}function Gmo(t,e,n){t.server_.onDisconnectCancel(e.toString(),function(o,i){o==="ok"&&efe(t.onDisconnect_,e),y7(t,n,o,i)})}function $Me(t,e,n,o){var i=t0(n);t.server_.onDisconnectPut(e.toString(),i.val(!0),function(r,a){r==="ok"&&gM(t.onDisconnect_,e,i),y7(t,o,r,a)})}function Xmo(t,e,n,o,i){var r=t0(n,o);t.server_.onDisconnectPut(e.toString(),r.val(!0),function(a,l){a==="ok"&&gM(t.onDisconnect_,e,r),y7(t,i,a,l)})}function Jmo(t,e,n,o){if(Jue(n)){vd("onDisconnect().update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);return}t.server_.onDisconnectMerge(e.toString(),n,function(i,r){i==="ok"&&Vu(n,function(a,l){var s=t0(l);gM(t.onDisconnect_,jc(e,a),s)}),y7(t,o,i,r)})}function Kmo(t,e,n){var o;Ra(e._path)===".info"?o=XMe(t.infoSyncTree_,e,n):o=XMe(t.serverSyncTree_,e,n),W9e(t.eventQueue_,e._path,o)}function cfe(t,e,n){var o;Ra(e._path)===".info"?o=lfe(t.infoSyncTree_,e,n):o=lfe(t.serverSyncTree_,e,n),W9e(t.eventQueue_,e._path,o)}function Jit(t){t.persistentConnection_&&t.persistentConnection_.interrupt(Git)}function qmo(t){t.persistentConnection_&&t.persistentConnection_.resume(Git)}function $mo(t,e){if(e===void 0&&(e=!1),!(typeof console>"u")){var n;e?(t.statsListener_||(t.statsListener_=new vit(t.stats_)),n=t.statsListener_.get()):n=t.stats_.get();var o=Object.keys(n).reduce(function(i,r){return Math.max(r.length,i)},0);Vu(n,function(i,r){for(var a=i,l=i.length;l0,"Sending zero length transaction queue");var o=n.every(function(i){return i.status===0});o&&eyo(t,jN(e),n)}else Bit(e)&&QZ(e,function(i){nee(t,i)})}function eyo(t,e,n){for(var o=n.map(function(f){return f.currentWriteId}),i=B9e(t,e,o),r=i,a=i.hash(),l=0;l=Nmo)f=!0,p="maxretry",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0));else{var g=B9e(t,u.path,a);u.currentInputSnapshot=g;var A=e[c].update(g.val());if(A!==void 0){YN("transaction failed: Data returned ",A,u.path);var w=t0(A),b=typeof A=="object"&&A!=null&&Mg(A,".priority");b||(w=w.updatePriority(g.getPriority()));var C=u.currentWriteId,P=_N(t),v=D9e(w,g,P);u.currentOutputSnapshotRaw=w,u.currentOutputSnapshotResolved=v,u.currentWriteId=tee(t),a.splice(a.indexOf(C),1),i=i.concat(H9e(t.serverSyncTree_,u.path,v,u.currentWriteId,u.applyLocally)),i=i.concat(Aw(t.serverSyncTree_,C,!0))}else f=!0,p="nodata",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0))}Zm(t.eventQueue_,n,i),i=[],f&&(e[c].status=2,function(T){setTimeout(T,Math.floor(0))}(e[c].unwatcher),e[c].onComplete&&(p==="nodata"?o.push(function(){return e[c].onComplete(null,!1,e[c].currentInputSnapshot)}):o.push(function(){return e[c].onComplete(new Error(p),!1,null)})))},s=0;s0?n:void 0)}QZ(e,function(r){oee(t,r)})}function j9e(t,e){var n=jN(Kit(t,e)),o=$Z(t.transactionQueueTree_,e);return Rmo(o,function(i){kae(t,i)}),kae(t,o),jit(o,function(i){kae(t,i)}),n}function kae(t,e){var n=eS(e);if(n){for(var o=[],i=[],r=-1,a=0;a0&&(d=jR(t,r)),Zm(t.eventQueue_,d,a)}function Umo(t,e){t.interceptServerDataCallback_=e}function JMe(t,e){N9e(t,"connected",e),e===!1&&Omo(t)}function Bmo(t,e){Vu(e,function(n,o){N9e(t,n,o)})}function N9e(t,e,n){var o=new os("/.info/"+e),i=t0(n);t.infoData_.updateSnapshot(o,i);var r=BN(t.infoSyncTree_,o,i);Zm(t.eventQueue_,o,r)}function tee(t){return t.nextWriteId_++}function jmo(t,e){var n=pmo(t.serverSyncTree_,e);return n!=null?Promise.resolve(n):t.server_.get(e).then(function(o){var i=t0(o).withIndex(e._queryParams.getIndex()),r=BN(t.serverSyncTree_,e._path,i);return W9e(t.eventQueue_,e._path,r),Promise.resolve(i)},function(o){return yM(t,"get for query "+Du(e)+" failed: "+o),Promise.reject(new Error(o))})}function U9e(t,e,n,o,i){yM(t,"set",{path:e.toString(),value:n,priority:o});var r=_N(t),a=t0(n,o),l=KZ(t.serverSyncTree_,e),s=D9e(a,l,r),c=tee(t),u=H9e(t.serverSyncTree_,e,s,c,!0);eee(t.eventQueue_,u),t.server_.put(e.toString(),a.val(!0),function(f,p){var g=f==="ok";g||ff("set at "+e+" failed: "+f);var A=Aw(t.serverSyncTree_,c,!g);Zm(t.eventQueue_,e,A),y7(t,i,f,p)});var d=j9e(t,e);jR(t,d),Zm(t.eventQueue_,d,[])}function Ymo(t,e,n,o){yM(t,"update",{path:e.toString(),value:n});var i=!0,r=_N(t),a={};if(Vu(n,function(c,u){i=!1,a[c]=Wit(jc(e,c),t0(u),t.serverSyncTree_,r)}),i)vd("update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);else{var l=tee(t),s=smo(t.serverSyncTree_,e,a,l);eee(t.eventQueue_,s),t.server_.merge(e.toString(),n,function(c,u){var d=c==="ok";d||ff("update at "+e+" failed: "+c);var f=Aw(t.serverSyncTree_,l,!d),p=f.length>0?jR(t,e):e;Zm(t.eventQueue_,p,f),y7(t,o,c,u)}),Vu(n,function(c){var u=j9e(t,jc(e,c));jR(t,u)}),Zm(t.eventQueue_,e,[])}}function Omo(t){yM(t,"onDisconnectEvents");var e=_N(t),n=KX();tfe(t.onDisconnect_,zl(),function(i,r){var a=Wit(i,r,t.serverSyncTree_,e);gM(n,i,a)});var o=[];tfe(n,zl(),function(i,r){o=o.concat(BN(t.serverSyncTree_,i,r));var a=j9e(t,i);jR(t,a)}),t.onDisconnect_=KX(),Zm(t.eventQueue_,zl(),o)}function _mo(t,e,n){t.server_.onDisconnectCancel(e.toString(),function(o,i){o==="ok"&&efe(t.onDisconnect_,e),y7(t,n,o,i)})}function KMe(t,e,n,o){var i=t0(n);t.server_.onDisconnectPut(e.toString(),i.val(!0),function(r,a){r==="ok"&&gM(t.onDisconnect_,e,i),y7(t,o,r,a)})}function Vmo(t,e,n,o,i){var r=t0(n,o);t.server_.onDisconnectPut(e.toString(),r.val(!0),function(a,l){a==="ok"&&gM(t.onDisconnect_,e,r),y7(t,i,a,l)})}function Gmo(t,e,n,o){if(Jue(n)){vd("onDisconnect().update() called with empty data. Don't do anything."),y7(t,o,"ok",void 0);return}t.server_.onDisconnectMerge(e.toString(),n,function(i,r){i==="ok"&&Vu(n,function(a,l){var s=t0(l);gM(t.onDisconnect_,jc(e,a),s)}),y7(t,o,i,r)})}function Xmo(t,e,n){var o;Ra(e._path)===".info"?o=VMe(t.infoSyncTree_,e,n):o=VMe(t.serverSyncTree_,e,n),W9e(t.eventQueue_,e._path,o)}function cfe(t,e,n){var o;Ra(e._path)===".info"?o=lfe(t.infoSyncTree_,e,n):o=lfe(t.serverSyncTree_,e,n),W9e(t.eventQueue_,e._path,o)}function Git(t){t.persistentConnection_&&t.persistentConnection_.interrupt(_it)}function Jmo(t){t.persistentConnection_&&t.persistentConnection_.resume(_it)}function Kmo(t,e){if(e===void 0&&(e=!1),!(typeof console>"u")){var n;e?(t.statsListener_||(t.statsListener_=new Ait(t.stats_)),n=t.statsListener_.get()):n=t.stats_.get();var o=Object.keys(n).reduce(function(i,r){return Math.max(r.length,i)},0);Vu(n,function(i,r){for(var a=i,l=i.length;l0,"Sending zero length transaction queue");var o=n.every(function(i){return i.status===0});o&&Qmo(t,jN(e),n)}else Nit(e)&&QZ(e,function(i){nee(t,i)})}function Qmo(t,e,n){for(var o=n.map(function(f){return f.currentWriteId}),i=B9e(t,e,o),r=i,a=i.hash(),l=0;l=Lmo)f=!0,p="maxretry",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0));else{var g=B9e(t,u.path,a);u.currentInputSnapshot=g;var A=e[c].update(g.val());if(A!==void 0){YN("transaction failed: Data returned ",A,u.path);var w=t0(A),b=typeof A=="object"&&A!=null&&Mg(A,".priority");b||(w=w.updatePriority(g.getPriority()));var C=u.currentWriteId,P=_N(t),v=D9e(w,g,P);u.currentOutputSnapshotRaw=w,u.currentOutputSnapshotResolved=v,u.currentWriteId=tee(t),a.splice(a.indexOf(C),1),i=i.concat(H9e(t.serverSyncTree_,u.path,v,u.currentWriteId,u.applyLocally)),i=i.concat(Aw(t.serverSyncTree_,C,!0))}else f=!0,p="nodata",i=i.concat(Aw(t.serverSyncTree_,u.currentWriteId,!0))}Zm(t.eventQueue_,n,i),i=[],f&&(e[c].status=2,function(T){setTimeout(T,Math.floor(0))}(e[c].unwatcher),e[c].onComplete&&(p==="nodata"?o.push(function(){return e[c].onComplete(null,!1,e[c].currentInputSnapshot)}):o.push(function(){return e[c].onComplete(new Error(p),!1,null)})))},s=0;s0?n:void 0)}QZ(e,function(r){oee(t,r)})}function j9e(t,e){var n=jN(Xit(t,e)),o=$Z(t.transactionQueueTree_,e);return Pmo(o,function(i){kae(t,i)}),kae(t,o),Uit(o,function(i){kae(t,i)}),n}function kae(t,e){var n=eS(e);if(n){for(var o=[],i=[],r=-1,a=0;a0){var i=n[o];try{i=decodeURIComponent(i.replace(/\+/g," "))}catch{}e+="/"+i}return e}function oyo(t){var e,n,o={};t.charAt(0)==="?"&&(t=t.substring(1));try{for(var i=vg(t.split("&")),r=i.next();!r.done;r=i.next()){var a=r.value;if(a.length!==0){var l=a.split("=");l.length===2?o[decodeURIComponent(l[0])]=decodeURIComponent(l[1]):ff("Invalid query segment '"+a+"' in query '"+t+"'")}}}catch(s){e={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}var ufe=function(t,e){var n=iyo(t),o=n.namespace;n.domain==="firebase.com"&&U9(n.host+" is no longer supported. Please use .firebaseio.com instead"),(!o||o==="undefined")&&n.domain!=="localhost"&&U9("Cannot parse Firebase url. Please use https://.firebaseio.com"),n.secure||e1o();var i=n.scheme==="ws"||n.scheme==="wss";return{repoInfo:new d9e(n.host,n.secure,o,e,i,"",o!==n.subdomain),path:new os(n.pathString)}},iyo=function(t){var e="",n="",o="",i="",r="",a=!0,l="https",s=443;if(typeof t=="string"){var c=t.indexOf("//");c>=0&&(l=t.substring(0,c-1),t=t.substring(c+2));var u=t.indexOf("/");u===-1&&(u=t.length);var d=t.indexOf("?");d===-1&&(d=t.length),e=t.substring(0,Math.min(u,d)),u=0?(a=l==="https"||l==="wss",s=parseInt(e.substring(c+1),10)):c=e.length;var p=e.slice(0,c);if(p.toLowerCase()==="localhost")n="localhost";else if(p.split(".").length<=2)n=p;else{var g=e.indexOf(".");o=e.substring(0,g).toLowerCase(),n=e.substring(g+1),r=o}"ns"in f&&(r=f.ns)}return{host:e,port:s,domain:n,subdomain:o,secure:a,scheme:l,pathString:i,namespace:r}};/** + */function eyo(t){for(var e="",n=t.split("/"),o=0;o0){var i=n[o];try{i=decodeURIComponent(i.replace(/\+/g," "))}catch{}e+="/"+i}return e}function tyo(t){var e,n,o={};t.charAt(0)==="?"&&(t=t.substring(1));try{for(var i=vg(t.split("&")),r=i.next();!r.done;r=i.next()){var a=r.value;if(a.length!==0){var l=a.split("=");l.length===2?o[decodeURIComponent(l[0])]=decodeURIComponent(l[1]):ff("Invalid query segment '"+a+"' in query '"+t+"'")}}}catch(s){e={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o}var ufe=function(t,e){var n=nyo(t),o=n.namespace;n.domain==="firebase.com"&&U9(n.host+" is no longer supported. Please use .firebaseio.com instead"),(!o||o==="undefined")&&n.domain!=="localhost"&&U9("Cannot parse Firebase url. Please use https://.firebaseio.com"),n.secure||Qpo();var i=n.scheme==="ws"||n.scheme==="wss";return{repoInfo:new d9e(n.host,n.secure,o,e,i,"",o!==n.subdomain),path:new os(n.pathString)}},nyo=function(t){var e="",n="",o="",i="",r="",a=!0,l="https",s=443;if(typeof t=="string"){var c=t.indexOf("//");c>=0&&(l=t.substring(0,c-1),t=t.substring(c+2));var u=t.indexOf("/");u===-1&&(u=t.length);var d=t.indexOf("?");d===-1&&(d=t.length),e=t.substring(0,Math.min(u,d)),u=0?(a=l==="https"||l==="wss",s=parseInt(e.substring(c+1),10)):c=e.length;var p=e.slice(0,c);if(p.toLowerCase()==="localhost")n="localhost";else if(p.split(".").length<=2)n=p;else{var g=e.indexOf(".");o=e.substring(0,g).toLowerCase(),n=e.substring(g+1),r=o}"ns"in f&&(r=f.ns)}return{host:e,port:s,domain:n,subdomain:o,secure:a,scheme:l,pathString:i,namespace:r}};/** * @license * Copyright 2017 Google LLC * @@ -8307,7 +8307,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var Qit=function(){function t(e,n,o,i){this.eventType=e,this.eventRegistration=n,this.snapshot=o,this.prevName=i}return t.prototype.getPath=function(){var e=this.snapshot.ref;return this.eventType==="value"?e._path:e.parent._path},t.prototype.getEventType=function(){return this.eventType},t.prototype.getEventRunner=function(){return this.eventRegistration.getEventRunner(this)},t.prototype.toString=function(){return this.getPath().toString()+":"+this.eventType+":"+Du(this.snapshot.exportVal())},t}(),Zit=function(){function t(e,n,o){this.eventRegistration=e,this.error=n,this.path=o}return t.prototype.getPath=function(){return this.path},t.prototype.getEventType=function(){return"cancel"},t.prototype.getEventRunner=function(){return this.eventRegistration.getEventRunner(this)},t.prototype.toString=function(){return this.path.toString()+":cancel"},t}();/** + */var qit=function(){function t(e,n,o,i){this.eventType=e,this.eventRegistration=n,this.snapshot=o,this.prevName=i}return t.prototype.getPath=function(){var e=this.snapshot.ref;return this.eventType==="value"?e._path:e.parent._path},t.prototype.getEventType=function(){return this.eventType},t.prototype.getEventRunner=function(){return this.eventRegistration.getEventRunner(this)},t.prototype.toString=function(){return this.getPath().toString()+":"+this.eventType+":"+Du(this.snapshot.exportVal())},t}(),$it=function(){function t(e,n,o){this.eventRegistration=e,this.error=n,this.path=o}return t.prototype.getPath=function(){return this.path},t.prototype.getEventType=function(){return"cancel"},t.prototype.getEventRunner=function(){return this.eventRegistration.getEventRunner(this)},t.prototype.toString=function(){return this.path.toString()+":cancel"},t}();/** * @license * Copyright 2017 Google LLC * @@ -8322,7 +8322,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ert=function(){function t(e,n){this.snapshotCallback=e,this.cancelCallback=n}return t.prototype.onValue=function(e,n){this.snapshotCallback.call(null,e,n)},t.prototype.onCancel=function(e){return ei(this.hasCancelCallback,"Raising a cancel event on a listener with no cancel callback"),this.cancelCallback.call(null,e)},Object.defineProperty(t.prototype,"hasCancelCallback",{get:function(){return!!this.cancelCallback},enumerable:!1,configurable:!0}),t.prototype.matches=function(e){return this.snapshotCallback===e.snapshotCallback||this.snapshotCallback.userCallback!==void 0&&this.snapshotCallback.userCallback===e.snapshotCallback.userCallback&&this.snapshotCallback.context===e.snapshotCallback.context},t}();/** + */var Qit=function(){function t(e,n){this.snapshotCallback=e,this.cancelCallback=n}return t.prototype.onValue=function(e,n){this.snapshotCallback.call(null,e,n)},t.prototype.onCancel=function(e){return ei(this.hasCancelCallback,"Raising a cancel event on a listener with no cancel callback"),this.cancelCallback.call(null,e)},Object.defineProperty(t.prototype,"hasCancelCallback",{get:function(){return!!this.cancelCallback},enumerable:!1,configurable:!0}),t.prototype.matches=function(e){return this.snapshotCallback===e.snapshotCallback||this.snapshotCallback.userCallback!==void 0&&this.snapshotCallback.userCallback===e.snapshotCallback.userCallback&&this.snapshotCallback.context===e.snapshotCallback.context},t}();/** * @license * Copyright 2021 Google LLC * @@ -8337,7 +8337,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ryo=function(){function t(e,n){this._repo=e,this._path=n}return t.prototype.cancel=function(){var e=new Lp;return Gmo(this._repo,this._path,e.wrapCallback(function(){})),e.promise},t.prototype.remove=function(){Nm("OnDisconnect.remove",this._path);var e=new Lp;return $Me(this._repo,this._path,null,e.wrapCallback(function(){})),e.promise},t.prototype.set=function(e){Nm("OnDisconnect.set",this._path),j9("OnDisconnect.set",e,this._path,!1);var n=new Lp;return $Me(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t.prototype.setWithPriority=function(e,n){Nm("OnDisconnect.setWithPriority",this._path),j9("OnDisconnect.setWithPriority",e,this._path,!1),L9e("OnDisconnect.setWithPriority",n);var o=new Lp;return Xmo(this._repo,this._path,e,n,o.wrapCallback(function(){})),o.promise},t.prototype.update=function(e){Nm("OnDisconnect.update",this._path),Oit("OnDisconnect.update",e,this._path);var n=new Lp;return Jmo(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t}();/** + */var oyo=function(){function t(e,n){this._repo=e,this._path=n}return t.prototype.cancel=function(){var e=new Lp;return _mo(this._repo,this._path,e.wrapCallback(function(){})),e.promise},t.prototype.remove=function(){Nm("OnDisconnect.remove",this._path);var e=new Lp;return KMe(this._repo,this._path,null,e.wrapCallback(function(){})),e.promise},t.prototype.set=function(e){Nm("OnDisconnect.set",this._path),j9("OnDisconnect.set",e,this._path,!1);var n=new Lp;return KMe(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t.prototype.setWithPriority=function(e,n){Nm("OnDisconnect.setWithPriority",this._path),j9("OnDisconnect.setWithPriority",e,this._path,!1),L9e("OnDisconnect.setWithPriority",n);var o=new Lp;return Vmo(this._repo,this._path,e,n,o.wrapCallback(function(){})),o.promise},t.prototype.update=function(e){Nm("OnDisconnect.update",this._path),jit("OnDisconnect.update",e,this._path);var n=new Lp;return Gmo(this._repo,this._path,e,n.wrapCallback(function(){})),n.promise},t}();/** * @license * Copyright 2020 Google LLC * @@ -8352,7 +8352,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */var ly=function(){function t(e,n,o,i){this._repo=e,this._path=n,this._queryParams=o,this._orderByCalled=i}return Object.defineProperty(t.prototype,"key",{get:function(){return Ha(this._path)?null:p9e(this._path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ref",{get:function(){return new d3(this._repo,this._path)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_queryIdentifier",{get:function(){var e=LMe(this._queryParams),n=s9e(e);return n==="{}"?"default":n},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_queryObject",{get:function(){return LMe(this._queryParams)},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(e){if(e=va(e),!(e instanceof t))return!1;var n=this._repo===e._repo,o=g9e(this._path,e._path),i=this._queryIdentifier===e._queryIdentifier;return n&&o&&i},t.prototype.toJSON=function(){return this.toString()},t.prototype.toString=function(){return this._repo.toString()+W1o(this._path)},t}();function iee(t,e){if(t._orderByCalled===!0)throw new Error(e+": You can't combine multiple orderBy calls.")}function G7(t){var e=null,n=null;if(t.hasStart()&&(e=t.getIndexStartValue()),t.hasEnd()&&(n=t.getIndexEndValue()),t.getIndex()===S9){var o="Query: When ordering by key, you may only pass one argument to startAt(), endAt(), or equalTo().",i="Query: When ordering by key, the argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() must be a string.";if(t.hasStart()){var r=t.getIndexStartName();if(r!==Z6)throw new Error(o);if(typeof e!="string")throw new Error(i)}if(t.hasEnd()){var a=t.getIndexEndName();if(a!==B9)throw new Error(o);if(typeof n!="string")throw new Error(i)}}else if(t.getIndex()===Vs){if(e!=null&&!IF(e)||n!=null&&!IF(n))throw new Error("Query: When ordering by priority, the first argument passed to startAt(), startAfter() endAt(), endBefore(), or equalTo() must be a valid priority value (null, a number, or a string).")}else if(ei(t.getIndex()instanceof y9e||t.getIndex()===A9e,"unknown index type."),e!=null&&typeof e=="object"||n!=null&&typeof n=="object")throw new Error("Query: First argument passed to startAt(), startAfter(), endAt(), endBefore(), or equalTo() cannot be an object.")}function ree(t){if(t.hasStart()&&t.hasEnd()&&t.hasLimit()&&!t.hasAnchoredLimit())throw new Error("Query: Can't combine startAt(), startAfter(), endAt(), endBefore(), and limit(). Use limitToFirst() or limitToLast() instead.")}var d3=function(t){Ti(e,t);function e(n,o){return t.call(this,n,o,new wit,!1)||this}return Object.defineProperty(e.prototype,"parent",{get:function(){var n=sit(this._path);return n===null?null:new e(this._repo,n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){for(var n=this;n.parent!==null;)n=n.parent;return n},enumerable:!1,configurable:!0}),e}(ly),aee=function(){function t(e,n,o){this._node=e,this.ref=n,this._index=o}return Object.defineProperty(t.prototype,"priority",{get:function(){return this._node.getPriority().val()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"key",{get:function(){return this.ref.key},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this._node.numChildren()},enumerable:!1,configurable:!0}),t.prototype.child=function(e){var n=new os(e),o=rb(this.ref,e);return new t(this._node.getChild(n),o,Vs)},t.prototype.exists=function(){return!this._node.isEmpty()},t.prototype.exportVal=function(){return this._node.val(!0)},t.prototype.forEach=function(e){var n=this;if(this._node.isLeafNode())return!1;var o=this._node;return!!o.forEachChild(this._index,function(i,r){return e(new t(r,rb(n.ref,i),Vs))})},t.prototype.hasChild=function(e){var n=new os(e);return!this._node.getChild(n).isEmpty()},t.prototype.hasChildren=function(){return this._node.isLeafNode()?!1:!this._node.isEmpty()},t.prototype.toJSON=function(){return this.exportVal()},t.prototype.val=function(){return this._node.val()},t}();function trt(t,e){return t=va(t),t._checkNotDeleted("ref"),e!==void 0?rb(t._root,e):t._root}function QMe(t,e){t=va(t),t._checkNotDeleted("refFromURL");var n=ufe(e,t._repo.repoInfo_.nodeAdmin);_it("refFromURL",n);var o=n.repoInfo;return!t._repo.repoInfo_.isCustomHost()&&o.host!==t._repo.repoInfo_.host&&U9("refFromURL: Host name does not match the current database: (found "+o.host+" but expected "+t._repo.repoInfo_.host+")"),trt(t,n.path.toString())}function rb(t,e){return t=va(t),Ra(t._path)===null?kmo("child","path",e):zF("child","path",e),new d3(t._repo,jc(t._path,e))}function ayo(t,e){t=va(t),Nm("push",t._path),j9("push",e,t._path,!0);var n=Xit(t._repo),o=rgo(n),i=rb(t,o),r=rb(t,o),a;return e!=null?a=Y9e(r,e).then(function(){return r}):a=Promise.resolve(r),i.then=a.then.bind(a),i.catch=a.then.bind(a,void 0),i}function lyo(t){return Nm("remove",t._path),Y9e(t,null)}function Y9e(t,e){t=va(t),Nm("set",t._path),j9("set",e,t._path,!1);var n=new Lp;return U9e(t._repo,t._path,e,null,n.wrapCallback(function(){})),n.promise}function syo(t,e){t=va(t),Nm("setPriority",t._path),L9e("setPriority",e);var n=new Lp;return U9e(t._repo,jc(t._path,".priority"),e,null,n.wrapCallback(function(){})),n.promise}function cyo(t,e,n){if(Nm("setWithPriority",t._path),j9("setWithPriority",e,t._path,!1),L9e("setWithPriority",n),t.key===".length"||t.key===".keys")throw"setWithPriority failed: "+t.key+" is a read-only object.";var o=new Lp;return U9e(t._repo,t._path,e,n,o.wrapCallback(function(){})),o.promise}function uyo(t,e){Oit("update",e,t._path);var n=new Lp;return _mo(t._repo,t._path,e,n.wrapCallback(function(){})),n.promise}function dyo(t){return t=va(t),Omo(t._repo,t).then(function(e){return new aee(e,new d3(t._repo,t._path),t._queryParams.getIndex())})}var nrt=function(){function t(e){this.callbackContext=e}return t.prototype.respondsTo=function(e){return e==="value"},t.prototype.createEvent=function(e,n){var o=n._queryParams.getIndex();return new Qit("value",this,new aee(e.snapshotNode,new d3(n._repo,n._path),o))},t.prototype.getEventRunner=function(e){var n=this;return e.getEventType()==="cancel"?function(){return n.callbackContext.onCancel(e.error)}:function(){return n.callbackContext.onValue(e.snapshot,null)}},t.prototype.createCancelEvent=function(e,n){return this.callbackContext.hasCancelCallback?new Zit(this,e,n):null},t.prototype.matches=function(e){return e instanceof t?!e.callbackContext||!this.callbackContext?!0:e.callbackContext.matches(this.callbackContext):!1},t.prototype.hasAnyCallback=function(){return this.callbackContext!==null},t}(),ort=function(){function t(e,n){this.eventType=e,this.callbackContext=n}return t.prototype.respondsTo=function(e){var n=e==="children_added"?"child_added":e;return n=n==="children_removed"?"child_removed":n,this.eventType===n},t.prototype.createCancelEvent=function(e,n){return this.callbackContext.hasCancelCallback?new Zit(this,e,n):null},t.prototype.createEvent=function(e,n){ei(e.childName!=null,"Child events should have a childName.");var o=rb(new d3(n._repo,n._path),e.childName),i=n._queryParams.getIndex();return new Qit(e.type,this,new aee(e.snapshotNode,o,i),e.prevName)},t.prototype.getEventRunner=function(e){var n=this;return e.getEventType()==="cancel"?function(){return n.callbackContext.onCancel(e.error)}:function(){return n.callbackContext.onValue(e.snapshot,e.prevName)}},t.prototype.matches=function(e){return e instanceof t?this.eventType===e.eventType&&(!this.callbackContext||!e.callbackContext||this.callbackContext.matches(e.callbackContext)):!1},t.prototype.hasAnyCallback=function(){return!!this.callbackContext},t}();function VN(t,e,n,o,i){var r;if(typeof o=="object"&&(r=void 0,i=o),typeof o=="function"&&(r=o),i&&i.onlyOnce){var a=n,l=function(u,d){cfe(t._repo,t,c),a(u,d)};l.userCallback=n.userCallback,l.context=n.context,n=l}var s=new ert(n,r||void 0),c=e==="value"?new nrt(s):new ort(e,s);return Kmo(t._repo,t,c),function(){return cfe(t._repo,t,c)}}function dfe(t,e,n,o){return VN(t,"value",e,n,o)}function ZMe(t,e,n,o){return VN(t,"child_added",e,n,o)}function eIe(t,e,n,o){return VN(t,"child_changed",e,n,o)}function tIe(t,e,n,o){return VN(t,"child_moved",e,n,o)}function nIe(t,e,n,o){return VN(t,"child_removed",e,n,o)}function oIe(t,e,n){var o=null,i=n?new ert(n):null;e==="value"?o=new nrt(i):e&&(o=new ort(e,i)),cfe(t._repo,t,o)}var o5=function(){function t(){}return t}(),irt=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("endAt",this._value,n._path,!0);var o=Zde(n._queryParams,this._value,this._key);if(ree(o),G7(o),n._queryParams.hasEnd())throw new Error("endAt: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new ly(n._repo,n._path,o,n._orderByCalled)},e}(o5);function fyo(t,e){return ON("endAt","key",e),new irt(t,e)}var hyo=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("endBefore",this._value,n._path,!1);var o=fgo(n._queryParams,this._value,this._key);if(ree(o),G7(o),n._queryParams.hasEnd())throw new Error("endBefore: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new ly(n._repo,n._path,o,n._orderByCalled)},e}(o5);function pyo(t,e){return ON("endBefore","key",e),new hyo(t,e)}var rrt=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("startAt",this._value,n._path,!0);var o=Qde(n._queryParams,this._value,this._key);if(ree(o),G7(o),n._queryParams.hasStart())throw new Error("startAt: Starting point was already set (by another call to startAt, startBefore or equalTo).");return new ly(n._repo,n._path,o,n._orderByCalled)},e}(o5);function gyo(t,e){return t===void 0&&(t=null),ON("startAt","key",e),new rrt(t,e)}var myo=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){j9("startAfter",this._value,n._path,!1);var o=dgo(n._queryParams,this._value,this._key);if(ree(o),G7(o),n._queryParams.hasStart())throw new Error("startAfter: Starting point was already set (by another call to startAt, startAfter, or equalTo).");return new ly(n._repo,n._path,o,n._orderByCalled)},e}(o5);function yyo(t,e){return ON("startAfter","key",e),new myo(t,e)}var Ayo=function(t){Ti(e,t);function e(n){var o=t.call(this)||this;return o._limit=n,o}return e.prototype._apply=function(n){if(n._queryParams.hasLimit())throw new Error("limitToFirst: Limit was already set (by another call to limitToFirst or limitToLast).");return new ly(n._repo,n._path,cgo(n._queryParams,this._limit),n._orderByCalled)},e}(o5);function wyo(t){if(typeof t!="number"||Math.floor(t)!==t||t<=0)throw new Error("limitToFirst: First argument must be a positive integer.");return new Ayo(t)}var vyo=function(t){Ti(e,t);function e(n){var o=t.call(this)||this;return o._limit=n,o}return e.prototype._apply=function(n){if(n._queryParams.hasLimit())throw new Error("limitToLast: Limit was already set (by another call to limitToFirst or limitToLast).");return new ly(n._repo,n._path,ugo(n._queryParams,this._limit),n._orderByCalled)},e}(o5);function xyo(t){if(typeof t!="number"||Math.floor(t)!==t||t<=0)throw new Error("limitToLast: First argument must be a positive integer.");return new vyo(t)}var byo=function(t){Ti(e,t);function e(n){var o=t.call(this)||this;return o._path=n,o}return e.prototype._apply=function(n){iee(n,"orderByChild");var o=new os(this._path);if(Ha(o))throw new Error("orderByChild: cannot pass in empty path. Use orderByValue() instead.");var i=new y9e(o),r=_Z(n._queryParams,i);return G7(r),new ly(n._repo,n._path,r,!0)},e}(o5);function Syo(t){if(t==="$key")throw new Error('orderByChild: "$key" is invalid. Use orderByKey() instead.');if(t==="$priority")throw new Error('orderByChild: "$priority" is invalid. Use orderByPriority() instead.');if(t==="$value")throw new Error('orderByChild: "$value" is invalid. Use orderByValue() instead.');return zF("orderByChild","path",t),new byo(t)}var Tyo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype._apply=function(n){iee(n,"orderByKey");var o=_Z(n._queryParams,S9);return G7(o),new ly(n._repo,n._path,o,!0)},e}(o5);function Pyo(){return new Tyo}var Cyo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype._apply=function(n){iee(n,"orderByPriority");var o=_Z(n._queryParams,Vs);return G7(o),new ly(n._repo,n._path,o,!0)},e}(o5);function Ryo(){return new Cyo}var Hyo=function(t){Ti(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype._apply=function(n){iee(n,"orderByValue");var o=_Z(n._queryParams,A9e);return G7(o),new ly(n._repo,n._path,o,!0)},e}(o5);function Myo(){return new Hyo}var Iyo=function(t){Ti(e,t);function e(n,o){var i=t.call(this)||this;return i._value=n,i._key=o,i}return e.prototype._apply=function(n){if(j9("equalTo",this._value,n._path,!1),n._queryParams.hasStart())throw new Error("equalTo: Starting point was already set (by another call to startAt/startAfter or equalTo).");if(n._queryParams.hasEnd())throw new Error("equalTo: Ending point was already set (by another call to endAt/endBefore or equalTo).");return new irt(this._value,this._key)._apply(new rrt(this._value,this._key)._apply(n))},e}(o5);function zyo(t,e){return ON("equalTo","key",e),new Iyo(t,e)}function Oy(t){for(var e,n,o=[],i=1;i{const t=M(z4t),e=M(D4t),n=M(o1),o=M(yH),i=m.useRef(),r=n.schoolID??rc.UNKNOWN,a=n.classID??Ua.UNKNOWN;return m.useEffect(()=>{const l={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:"https://aladdin-2023.firebaseio.com",messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let s;for(const c of qn.apps)if(c.name===KV.LOG_DATA){s=c;break}s||(s=qn.initializeApp(l,KV.LOG_DATA)),s&&(i.current=qn.database(s))},[]),m.useEffect(()=>{e&&(async()=>{if(i.current){const s=e.timestamp+" ("+gc(new Date(e.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(e)})}})().catch(s=>{uR("Data logger error: "+e+" - "+s)})},[e,n.uid,a,r,o]),m.useEffect(()=>{t&&(async()=>{if(i.current){const s=t.timestamp+" ("+gc(new Date(t.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(t)})}})().catch(s=>{uR("Data logger error: "+t+" - "+s)})},[t,n.uid,a,r,o]),h.jsx(h.Fragment,{})}),p2o=be.memo(()=>{const t=M(gBe)??3.5,e=M(pBe)??.2,n=M(pq)??kk,o=xe.getShadowMapSize(),i=M(M7),r=M(mh),a=2*r,l=r+100,s=M(ss),c=m.useRef(null);c.current&&(c.current.shadow.camera.left=-l,c.current.shadow.camera.bottom=-l,c.current.shadow.camera.right=l,c.current.shadow.camera.top=l,c.current.shadow.camera.updateProjectionMatrix());const u=i.z>0,d=u?i.normalize().dot(Po):0;return h.jsxs(h.Fragment,{children:[h.jsx("ambientLight",{intensity:F3t+(u?e*d:0),name:"Ambient Light"}),h.jsx("directionalLight",{ref:c,name:"Directional Light",color:"white",position:i.normalize().multiplyScalar(a),intensity:u?t*d:0,castShadow:s,"shadow-bias":0,"shadow-mapSize-height":o,"shadow-mapSize-width":o,"shadow-camera-near":1,"shadow-camera-far":n})]})}),g2o=be.memo(({element:t})=>{const e=M(dwt),n=M(yh),o=M(ty),i=M(hge),r=t.type===z.Roof,a="lightGray",l=aA(sq,oQ),s={font:l,height:0,size:.2},c={font:l,height:0,size:.35},u=m.useMemo(()=>i(t,n??o),[n,o]),d=m.useMemo(()=>{const P=-Math.atan2(e.x,e.y)+Math.PI;return new Qt(Vt,0,P,"ZXY")},[e.x,e.y]),f=()=>{let P=t.lz;return r&&(P=M.getState().selectedElementHeight),Math.ceil(P)+1},p=()=>{let P=t.lz;return r&&(P=t.rise),P.toFixed(1)+" m"},g=()=>r?M.getState().selectedElementHeight+1:t.lz-.175;if(!n&&!o)return null;const A=f(),w=p(),b=g(),C=new Array(A+1).fill(0);return h.jsxs("group",{position:u,rotation:d,name:"Vertical Ruler",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[0,A,0]],color:a}),h.jsxs("mesh",{position:[-1.5,b,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[w,c]}),h.jsx("meshBasicMaterial",{attach:"material",color:"white"})]}),C.map((P,v)=>{const T=.2+(v%5===0?.05:0),y=h.jsx("textGeometry",{args:[`${v}`,s]});return h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-T,v,0],[T,v,0]],lineWidth:.5,color:a}),!r&&h.jsxs("mesh",{position:[.4,v-.125,0],userData:{unintersectable:!0},children:[y,h.jsx("meshBasicMaterial",{attach:"material",color:a})]})]},v)})]})}),m2o=be.memo(()=>{const t=M(Cb),e=M(sW),n=M(yh),o=M(ty),i=M(sA),r=M(mh),a=M(Iq),l=M(Mq),s=M(v=>{if(v.selectedElement){const T=v.selectedElement.id;return v.elements.find(y=>y.id===T)}}),[c,u]=m.useState(!1),[d,f]=m.useState(2*r),[p,g]=m.useState(2*r);m.useEffect(()=>{const v=Math.floor(r/50)+1,T=Math.round(r/v)*2;f(T*v),g(T)},[r]),m.useEffect(()=>{if(n){const v=xe.isTopResizeHandle(n)||n===gt.UpperLeft&&(s==null?void 0:s.type)===z.Wall||n===gt.UpperRight&&(s==null?void 0:s.type)===z.Wall;u(!v)}else u(!1)},[n,s==null?void 0:s.type]);const A=()=>{if(!s)return!1;const v=s.type;return v===z.Foundation||v===z.Cuboid||v===z.Tree&&s.parentId===z.Ground||v===z.Human&&s.parentId===z.Ground},w=o===wi.Lower||o===wi.Upper,P=(v=>xe.isTopResizeHandle(v)||(s==null?void 0:s.type)===z.Wall&&xe.isTopResizeHandleOfWall(v)||(s==null?void 0:s.type)===z.Roof&&xe.isRiseHandleOfRoof(v))(n??o);return s?h.jsxs(h.Fragment,{children:[((c||t||xe.isMoveHandle(o))&&!i&&A()||a||l)&&h.jsx("gridHelper",{rotation:[Vt,0,0],name:"Grid",args:[d,p,"gray","#444444"]}),(e||w)&&s&&A()&&h.jsx(fye,{element:s}),P&&h.jsx(g2o,{element:s})]}):null}),Fae=120,Q8="DarkSlateGray",Jz="white",y2o=be.memo(({visible:t=!0})=>{const e=m.useRef(null),n=Kt(),o=window.devicePixelRatio,i=Fae*o,r=i/150,l=20*r+"px serif";return m.useEffect(()=>{e.current&&Ln.setState({compassRef:e})},[]),m.useEffect(()=>{if(!e.current||!t)return;const s=e.current.getContext("2d");if(!s)return;const c=55*r,u=10*r,d=40*r,f=5*r,p=30*r,g=r,A=r,w=15*r,b=i/2;s.clearRect(0,0,i,i),s.beginPath(),s.arc(b,b,d,0,Math.PI*2),s.lineWidth=f,s.strokeStyle=Q8,s.stroke(),s.beginPath(),s.arc(b,b,p,0,Math.PI*2),s.lineWidth=g,s.strokeStyle=Q8,s.stroke(),s.lineWidth=A,s.beginPath(),s.moveTo(b,b-c),s.lineTo(b-u,b-u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b,b-c),s.lineTo(b+u,b-u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b,b+c),s.lineTo(b-u,b+u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b,b+c),s.lineTo(b+u,b+u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b-c,b),s.lineTo(b-u,b-u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b-c,b),s.lineTo(b-u,b+u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b+c,b),s.lineTo(b+u,b-u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b+c,b),s.lineTo(b+u,b+u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.font=l,s.fillStyle=Jz,s.textAlign="center",s.fillText(`${j.t("compass.N",n)}`,b,w),s.save(),s.translate(i,i),s.rotate(Math.PI),s.fillText(`${j.t("compass.S",n)}`,b,w),s.restore(),s.fillStyle=Q8,s.save(),s.translate(0,i),s.rotate(-Math.PI/2),s.fillText(`${j.t("compass.W",n)}`,b,w),s.restore(),s.save(),s.translate(i,0),s.rotate(Math.PI/2),s.fillText(`${j.t("compass.E",n)}`,b,w),s.restore()},[n,t]),t?h.jsx("canvas",{ref:e,id:"compassCanvas",width:i,height:i,style:{position:"absolute",bottom:"0",right:"0",height:`${Fae}px`,width:`${Fae}px`,margin:"5px",pointerEvents:"none"}}):null});var crt={exports:{}};(function(t,e){(function(n,o){t.exports=o(m,fq)})(window,function(n,o){return function(i){var r={};function a(l){if(r[l])return r[l].exports;var s=r[l]={i:l,l:!1,exports:{}};return i[l].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=i,a.c=r,a.d=function(l,s,c){a.o(l,s)||Object.defineProperty(l,s,{enumerable:!0,get:c})},a.r=function(l){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},a.t=function(l,s){if(1&s&&(l=a(l)),8&s||4&s&&typeof l=="object"&&l&&l.__esModule)return l;var c=Object.create(null);if(a.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:l}),2&s&&typeof l!="string")for(var u in l)a.d(c,u,(function(d){return l[d]}).bind(null,u));return c},a.n=function(l){var s=l&&l.__esModule?function(){return l.default}:function(){return l};return a.d(s,"a",s),s},a.o=function(l,s){return Object.prototype.hasOwnProperty.call(l,s)},a.p="",a(a.s=0)}([function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=a(1);Object.defineProperty(r,"default",{enumerable:!0,get:function(){return function(s){return s&&s.__esModule?s:{default:s}}(l).default}}),i.exports=r.default},function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=Object.assign||function(A){for(var w=1;w0&&p[0]!==this)return!1;var R=b.target===document.body||x,H=this.childrenContainer&&this.childrenContainer.contains(b.target);if(!(S?H:R))return!1;var D=(0,d.findMatchedKey)(b,v);return!!D&&(T(D,b),!0)}},{key:"render",value:function(){var b=this,C=this.props.children,P=Object.assign({},this.props),v=!0,T=!1,y=void 0;try{for(var S,x=Object.keys(w.propTypes)[Symbol.iterator]();!(v=(S=x.next()).done);v=!0)delete P[S.value]}catch(R){T=!0,y=R}finally{try{!v&&x.return&&x.return()}finally{if(T)throw y}}return C?c.default.createElement("span",l({ref:function(R){b.childrenContainer=R}},P),C):null}}]),w}();r.default=g,g.propTypes={handleKeys:u.default.array,handleEventType:u.default.oneOf(["keydown","keyup","keypress"]),handleFocusableElements:u.default.bool,onKeyEvent:u.default.func,isDisabled:u.default.bool,isExclusive:u.default.bool,children:u.default.any},g.defaultProps={handleKeys:[],handleFocusableElements:!1,handleEventType:"keydown",onKeyEvent:function(){return null}},i.exports=r.default},function(i,r){i.exports=n},function(i,r){i.exports=o},function(i,r,a){function l(C,P,v){return P in C?Object.defineProperty(C,P,{value:v,enumerable:!0,configurable:!0,writable:!0}):C[P]=v,C}Object.defineProperty(r,"__esModule",{value:!0}),r.matchKeyEvent=b,r.findMatchedKey=function(C,P){var v=P.map(function(T){var y=T.toLowerCase(),S=w[y];return S||[T]}).reduce(function(T,y){return T.concat(y)},[]).find(function(T){return b(C,T)});return!v&&P.includes("all")&&(v="other"),v};var s={backspace:[8],del:[46],delete:[46],ins:[45],insert:[45],tab:[9],enter:[13],return:[13],esc:[27],space:[32],pageup:[33],pagedown:[34],end:[35],home:[36],left:[37],up:[38],right:[39],down:[40],shift:[16],ctrl:[17],alt:[18],cap:[20],num:[144],clear:[12],meta:[91],";":[186,59],"=":[187,61],",":[188,44],"-":[189,45,173,109],minus:[189,45,173,109],".":[190,110],"/":[191,111],"`":[192],"[":[219],"\\":[220],"]":[221],"*":[106],"+":[107],plus:[107],"'":[222],quote:[222]},c=Object.keys(s).reduce(function(C,P){return Object.assign(C,l({},P.toUpperCase(),s[P]))},{}),u="0123456789".split("").reduce(function(C,P,v){return Object.assign(C,l({},P,[v+48,v+96]))},{}),d="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").reduce(function(C,P,v){return Object.assign(C,l({},P.toLowerCase(),[v+65]),l({},P,[v+65]))},{}),f="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19".split(",").reduce(function(C,P,v){return Object.assign(C,l({},"f"+P,[v+112]))},{}),p={control:"ctrl",ctrl:"ctrl",shift:"shift",meta:"meta",cmd:"meta",command:"meta",option:"alt",alt:"alt"},g=r.AllKeys=Object.assign({},s,c,u,d,f),A=Object.assign({},u,d),w={all:Object.keys(g),alphanumeric:Object.keys(A),numeric:Object.keys(u),alphabetic:Object.keys(d),function:Object.keys(f)};function b(C,P){var v=C.which||C.keyCode,T=C.type,y=Object.keys(p).filter(function(N){return C[N+"Key"]}).sort(),S=P.toLowerCase().trim(),x=S==="+"?["+"]:S.split(/\s?\+\s?/),R=x.pop(),H=g[R],D=x;if(T==="keypress")return P==String.fromCharCode(v).toLowerCase();if(D.length===0&&y.length===0)return H.indexOf(v)>=0;if(D.length>0&&y.length>0){var k=D.map(function(N){return p[N]}).sort(),W=k.length===y.length&&k.every(function(N,L){return y[L]===N});return H.indexOf(v)>=0&&W}return D.length==0&&y.length===1&&R===y[0]}}])})})(crt);var A2o=crt.exports;const iIe=kr(A2o),w2o=be.memo(()=>{var s,c;const t=M(dn),e=M(yge),n=M(mge),o=M(En),i=m.useRef(!1),r=m.useRef(!1);M(fYe),M(hYe),ht(u=>u.selectedElementId),m.useEffect(()=>{Ln.setState({listenToAutoDeletionByDeleteRef:i,listenToAutoDeletionByCutRef:r})},[]);const a=M2.debounce(()=>{var v,T;const u=ht.getState().selectedElementId,d=M.getState().selectedElementIdSet;if(!u||d.size===0)return;const f=M.getState().getAutoDeletedElements();if(!f)return;const p=M.getState().deletedElements,g=M.getState().elementsToPaste,A=(v=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:v.current,w=(T=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:T.current;let b=[],C="";A?(Ln.getState().setListenToAutoDeletionByCut(!1),b=[...g,...f],C="Cut"):w&&(Ln.getState().setListenToAutoDeletionByDelete(!1),b=[...p,...f],C="Delete");const P={name:C,timestamp:Date.now(),deletedElements:[...b],selectedElementId:u,selectedElementIdSet:new Set(d),undo(){const y=P.deletedElements;if(!y||y.length===0)return;for(const x of this.deletedElements)if(x.type===z.Wall){const R=x;R.leftJoints.length>0&&e(R.leftJoints[0],[R.id]),R.rightJoints.length>0&&n(R.rightJoints[0],[R.id])}else x.type===z.Roof&&t(R=>{R.addedRoofIdSet.add(x.id)});const S=y.find(x=>x.id===this.selectedElementId)??null;t(x=>{x.elements.push(...y),x.selectedElement=S,x.selectedElementIdSet=new Set(this.selectedElementIdSet),x.updateWallMapOnFoundationFlag=!x.updateWallMapOnFoundationFlag,x.deletedRoofId=null,x.autoDeletedRoofs=null,x.deletedRoofIdSet.clear(),x.autoDeletedRoofIdSet.clear(),x.autoDeletedChild=null})},redo(){P.deletedElements.length!==0&&(t(y=>{y.selectedElement=y.elements.find(S=>S.id===this.selectedElementId)??null,y.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements())}};o(P),t(y=>{y.selectedElement=null,y.selectedElementIdSet.clear(),y.deletedRoofId=null,y.deletedRoofIdSet.clear(),y.autoDeletedRoofs=null,y.autoDeletedRoofIdSet.clear(),y.autoDeletedChild=null}),ht.getState().setPrimitiveStore("selectedElementId",null)},50);return(((s=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:s.current)||((c=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:c.current))&&M.getState().getAutoDeletedElements()&&a(),null}),rIe=["left","up","right","down","shift+left","shift+up","shift+right","shift+down","ctrl+shift+left","ctrl+shift+up","ctrl+shift+right","ctrl+shift+down","meta+shift+left","meta+shift+up","meta+shift+right","meta+shift+down","ctrl+f","meta+f","ctrl+o","meta+o","ctrl+s","meta+s","ctrl+c","meta+c","ctrl+x","meta+x","ctrl+v","meta+v","ctrl+[","meta+[","ctrl+]","meta+]","ctrl+z","meta+z","ctrl+y","meta+y","ctrl+m","meta+m","ctrl+u","meta+u","ctrl+b","meta+b","shift","esc","ctrl+home","ctrl+alt+h","ctrl+shift+o","meta+shift+o","ctrl+shift+s","meta+shift+s","delete","backspace","alt+backspace","f2","f4","ctrl"],v2o=be.memo(({canvas:t})=>{const e=M(dn),n=M(ha),o=M(lW),i=M(Sc),r=M(twt),a=M(En),l=M(hu)??!1,s=M(xb),c=M(Vn),u=M(Hje),d=M(hp),f=M(Vwt),p=M(rr),g=M(mge),A=M(yge),w=M(Zwt),b=M(oge),C=.1,P=m.useMemo(()=>({lng:i}),[i]),v=(O,J)=>(t&&(t.style.cursor="default"),d(O,J)),T=()=>{if(M.getState().viewState.navigationView)return;const O=M.getState().set2DView,J={name:"Set 2D View",timestamp:Date.now(),checked:!l,undo:()=>{O(!J.checked)},redo:()=>{O(J.checked)}};a(J),O(!l),e(Z=>{Z.viewState.autoRotate=!1})},y=()=>{if(l)return;const O=M.getState().setNavigationView,J={name:"Set Navigation View",timestamp:Date.now(),checked:!M.getState().viewState.navigationView,undo:()=>{O(!J.checked)},redo:()=>{O(J.checked)}};a(J),O(!M.getState().viewState.navigationView),e(Z=>{Z.viewState.autoRotate=!1})},S=()=>{if(l)return;const O={name:"Auto Rotate",timestamp:Date.now(),checked:!M.getState().viewState.autoRotate,undo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!O.checked})},redo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=O.checked})}};a(O),e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!J.viewState.autoRotate})},x=(O,J,Z)=>{const ie=JSON.parse(JSON.stringify(O));if(ie.cx=J,ie.cy=Z,O.type===z.SolarPanel&&O.parentType===z.Roof){if(O.parentId&&O.foundationId){const ee=c(O.parentId),q=c(O.foundationId);if(ee&&q){const ae=In.getRoofBoundaryVertices(ee),ne=In.getSolarPanelVerticesOnRoof(ie,q);if(!rye(ne,ae)||!aye(ie,q,ne))return!1}}return!0}if(b(ie))return Do(j.t("message.MoveCancelledBecauseOfOverlap",P)),!1;if(ie.type===z.SolarPanel){const ee=p(O);if(ee&&!xe.isSolarCollectorWithinHorizontalSurface(ie,ee))return Do(j.t("message.MoveOutsideBoundaryCancelled",P)),!1}return!0},R=O=>{switch(O.type){case z.Roof:case z.Door:case z.Window:return!1;case z.SolarPanel:case z.Sensor:case z.Light:{const J=O;return J.parentType===z.Wall||J.parentType===z.Roof?!1:J.parentType===z.Cuboid?J.rotation[2]===1:!0}case z.Wall:{const J=O;return!(J.leftJoints.length!==0||J.rightJoints.length!==0)}default:return!0}},H=(O,J)=>{switch(O){case z.Foundation:case z.Cuboid:return J===z.Foundation||J===z.Cuboid;default:return J!==z.Foundation&&J!==z.Cuboid}},D=O=>{const J=M.getState().elements.filter(q=>hd(q)&&q.parentId===Zo),Z=new Set(O.map(q=>q.id)),ie=new Map;for(const q of J){const ae=xe.fetchFoundationVertexCoordinates(q);ie.set(q.id,ae)}const ee=q=>{for(const ae of J)!Z.has(ae.id)&&xe.areBasesOverlapped(q.id,ae.id,ie)&&(Z.add(ae.id),O.push(ae),ae.enableGroupMaster&&ee(ae))};for(const q of O)q.enableGroupMaster&&ee(q)},k=()=>{const O=[],J=M.getState().selectedElementIdSet,Z=s();if(!Z||J.size===0)return O;if(Z){const ie=Z.type,ee=Z.parentId,q=M.getState().elements.filter(ae=>H(ie,ae.type)&&R(ae)&&ae.parentId===ee&&J.has(ae.id));O.push(...q),hd(Z)&&O.length>0&&ee===Zo&&D(O)}return O},W=(O,J,Z,ie)=>{switch(ie){case wl.Left:return[O-Z,J];case wl.Right:return[O+Z,J];case wl.Up:return[O,J+Z];case wl.Down:return[O,J-Z]}},N=(O,J)=>{e(Z=>{var ee,q;let ie=!1;for(const ae of Z.elements)if(O.has(ae.id)){const ne=O.get(ae.id);if(ne!==void 0){const[se,le]=W(ae.cx,ae.cy,ne,J);if(ae.type===z.Wall){const te=ae,he=new re(se-te.cx,le-te.cy),pe=new re().fromArray(te.leftPoint).setZ(0).add(he),fe=new re().fromArray(te.rightPoint).setZ(0).add(he);te.leftPoint=pe.toArray(),te.rightPoint=fe.toArray(),ie=!0}ae.cx=se,ae.cy=le}}else Z.selectedElementIdSet.has(ae.id)&&Z.selectedElementIdSet.delete(ae.id);((ee=Z.selectedElement)==null?void 0:ee.type)===z.Cuboid||((q=Z.selectedElement)==null?void 0:q.type)===z.Foundation?Z.groupActionUpdateFlag=!Z.groupActionUpdateFlag:ie&&(Z.updateWallMapOnFoundationFlag=!Z.updateWallMapOnFoundationFlag)})},L=(O,J)=>{e(Z=>{for(const ie of Z.elements)(xe.isFoundationOrCuboid(ie)||xe.isPlantOrHuman(ie)&&ie.parentId===Zo)&&([ie.cx,ie.cy]=W(ie.cx,ie.cy,O,J))})},E=O=>O===wl.Left?wl.Right:O===wl.Right?wl.Left:O===wl.Up?wl.Down:O===wl.Down?wl.Up:(console.error("Undo direction is possibly incorrect:",O),O),U=(O,J)=>{if(!l)return;const Z=k(),ie=s(),ee=J*C;if(ie&&Z.length>0){const q=new Map;for(const ne of Z)switch(ne.type){case z.Foundation:case z.Cuboid:case z.Wall:case z.Tree:case z.Flower:case z.Human:{q.set(ne.id,ee);break}case z.Light:case z.Sensor:{const se=p(ie);if(se){let le=ee/se.lx;const[te,he]=W(ne.cx,ne.cy,le,O),pe=ne.lx/(2*se.lx),fe=ne.lx/(2*se.ly);switch(O){case wl.Left:case wl.Right:{const $=xe.clamp(te,-.5+pe,.5-pe);le=Math.abs($-ie.cx);break}case wl.Up:case wl.Down:{const $=xe.clamp(he,-.5+fe,.5-fe);le=Math.abs($-ie.cy);break}}q.set(ne.id,le)}break}case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:{const se=p(ne);if(se){let le=!0,te=ee;switch(O){case wl.Left:case wl.Right:{te=ee/se.lx;break}case wl.Up:case wl.Down:{te=ee/se.ly;break}}if(ne.type===z.SolarPanel){const[he,pe]=W(ne.cx,ne.cy,te,O);le=x(ne,he,pe)}if(le)q.set(ne.id,te);else return}break}}N(q,O);const ae={name:`Move Selected Elements ${O} By Key`,timestamp:Date.now(),direction:O,movedElementsDisplacementMap:new Map(q),undo:()=>{const ne=E(ae.direction);N(ae.movedElementsDisplacementMap,ne)},redo:()=>{N(ae.movedElementsDisplacementMap,ae.direction)}};a(ae)}else{L(ee,O);const q={name:`Move All ${O} By Key`,timestamp:Date.now(),direction:O,displacement:ee,undo:()=>{const ae=E(q.direction);L(q.displacement,ae)},redo:()=>{L(q.displacement,q.direction)}};a(q)}},F=O=>{M.getState().set(J=>{J.multiSelectionsMode=O})},B=O=>{const J=s(),Z=1;switch(O){case"left":U(wl.Left,Z);break;case"shift+left":U(wl.Left,Z/V5);break;case"ctrl+shift+left":case"meta+shift+left":U(wl.Left,Z*V5);break;case"right":U(wl.Right,Z);break;case"shift+right":U(wl.Right,Z/V5);break;case"ctrl+shift+right":case"meta+shift+right":U(wl.Right,Z*V5);break;case"down":U(wl.Down,Z);break;case"shift+down":U(wl.Down,Z/V5);break;case"ctrl+shift+down":case"meta+shift+down":U(wl.Down,Z*V5);break;case"up":U(wl.Up,Z);break;case"shift+up":U(wl.Up,Z/V5);break;case"ctrl+shift+up":case"meta+shift+up":U(wl.Up,Z*V5);break;case"ctrl+[":case"meta+[":ZG(.9);break;case"ctrl+]":case"meta+]":ZG(1.1);break;case"ctrl+c":case"meta+c":J&&J.type!==z.Roof&&(u(J.id),e(ie=>{ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(J.id)}),n&&e(ie=>{ie.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:J.id,elementType:J.type}}));break;case"ctrl+x":case"meta+x":if(!J||J.type===z.Roof)break;if(J.locked)hn(j.t("message.ThisElementIsLocked",P));else{const ie=v(J.id,!0);if(ie.length===0)break;if(xe.isElementTriggerAutoDeletion(J))Ln.getState().setListenToAutoDeletionByCut(!0),ht.getState().setPrimitiveStore("selectedElementId",J.id);else{const ee={name:"Cut",timestamp:Date.now(),deletedElements:ie,selectedElementId:J.id,undo:()=>{const q=ee.deletedElements;if(q.length===0)return;const ae=q.find(ne=>ne.id===ee.selectedElementId);ae&&e(ne=>{if(ne.elements.push(...q),ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(ae.id),ne.selectedElement=ae,ae.type===z.Wall){const se=ae;let le=null,te=null;if(se.leftJoints.length>0&&(le=se.leftJoints[0]),se.rightJoints.length>0&&(te=se.rightJoints[0]),le||te)for(const he of ne.elements)he.id===le&&he.type===z.Wall&&(he.rightJoints[0]=se.id),he.id===te&&he.type===z.Wall&&(he.leftJoints[0]=se.id)}})},redo:()=>{ee.deletedElements&&ee.deletedElements.length>0&&v(ee.deletedElements[0].id,!0)}};a(ee)}}break;case"ctrl+v":case"meta+v":{const ie=f();if(ie.length>0){const ee={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(ie)),undo:()=>{for(const q of ee.pastedElements)d(q.id,!1)},redo:()=>{e(q=>{q.elements.push(...ee.pastedElements),q.selectedElement=ee.pastedElements[0]})}};a(ee)}break}case"ctrl+alt+h":case"ctrl+home":{if(!l){const ie=M.getState().viewState.cameraPosition,ee=M.getState().viewState.panCenter;if(ie[0]!==ie[1]||ie[1]!==ie[2]||ie[0]!==ie[2]||ee[0]!==0||ee[1]!==0||ee[2]!==0){const q={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...ie],oldPanCenter:[...ee],undo:()=>{const ae=Ln.getState().orbitControlsRef;ae!=null&&ae.current&&(ae.current.object.position.set(q.oldCameraPosition[0],q.oldCameraPosition[1],q.oldCameraPosition[2]),ae.current.target.set(q.oldPanCenter[0],q.oldPanCenter[1],q.oldPanCenter[2]),ae.current.update(),e(ne=>{const se=ne.viewState;se.cameraPosition=[...q.oldCameraPosition],se.panCenter=[...q.oldPanCenter]}))},redo:()=>{QG()}};a(q),e(ae=>{ae.objectTypeToAdd=z.None,ae.groupActionMode=!1,ae.viewState.orthographic=!1}),QG()}}break}case"f2":case"ctrl+b":case"meta+b":T();break;case"ctrl+u":case"meta+u":y();break;case"f4":case"ctrl+m":case"meta+m":S();break;case"ctrl+f":case"meta+f":ht.getState().set(ie=>{ie.createNewFileFlag=!0,ie.openModelsMap=!1}),e(ie=>{ie.objectTypeToAdd=z.None,ie.groupActionMode=!1,window.history.pushState({},document.title,qp),n&&(ie.actionInfo={name:"Create New File",timestamp:new Date().getTime()})});break;case"ctrl+s":case"meta+s":ht.getState().set(ie=>{ie.saveLocalFileDialogVisible=!0}),n&&e(ie=>{ie.actionInfo={name:"Save Local File",timestamp:new Date().getTime()}});break;case"ctrl+shift+o":case"meta+shift+o":ht.getState().set(ie=>{ie.listCloudFilesFlag=!0,ie.openModelsMap=!1}),n&&e(ie=>{ie.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}});break;case"ctrl+shift+s":case"meta+shift+s":ht.getState().setSaveCloudFileFlag(!0),n&&e(ie=>{ie.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}});break;case"alt+backspace":case"backspace":case"delete":{const ie=M.getState().selectedElementIdSet;if(!J||ie.size===0)break;const ee=M.getState().removeSelectedElements();if(ee.length===0)break;if((()=>{const ae=ee.filter(le=>le.type===z.Foundation),ne=new Set(ae.map(le=>le.id));return!!ee.find(le=>!ne.has(le.parentId)&&xe.isElementTriggerAutoDeletion(le))})())Ln.getState().setListenToAutoDeletionByDelete(!0),ht.getState().setPrimitiveStore("selectedElementId",J.id);else{if(ee.length===1){const ae={name:"Delete",timestamp:Date.now(),deletedElements:[...ee],selectedElementId:J.id,undo:()=>{const ne=ae.deletedElements;if(!ne||ne.length===0)return;const se=ne.find(le=>le.id===ae.selectedElementId);if(se&&(e(le=>{le.elements.push(...ne),le.selectedElementIdSet.clear(),le.selectedElementIdSet.add(se.id),le.selectedElement=se,le.updateWallMapOnFoundationFlag=!le.updateWallMapOnFoundationFlag,le.deletedRoofId=null,le.deletedRoofIdSet.clear()}),se.type===z.Wall)){const le=se;le.leftJoints.length>0&&A(le.leftJoints[0],[le.id]),le.rightJoints.length>0&&g(le.rightJoints[0],[le.id])}},redo:()=>{const ne=ae.deletedElements;if(!ne||ne.length===0)return;const se=ne.find(le=>le.id===ae.selectedElementId);se&&v(se.id,!1)}};a(ae)}else{const ae={name:"Delete Multiple",timestamp:Date.now(),deletedElements:[...ee],selectedElementId:J.id,selectedElementIdSet:new Set(ie),undo(){const ne=this.deletedElements;if(!ne||ne.length===0)return;const se=ne.find(le=>le.id===this.selectedElementId);if(se){e(le=>{le.elements.push(...ne),le.selectedElement=se,le.selectedElementIdSet=new Set(this.selectedElementIdSet),le.updateWallMapOnFoundationFlag=!le.updateWallMapOnFoundationFlag,le.deletedRoofId=null,le.deletedRoofIdSet.clear()});for(const le of this.deletedElements)if(le.type===z.Wall){const te=le;te.leftJoints.length>0&&A(te.leftJoints[0],[te.id]),te.rightJoints.length>0&&g(te.rightJoints[0],[te.id])}}},redo(){e(ne=>{ne.selectedElement=ne.elements.find(se=>se.id===this.selectedElementId)??null,ne.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements()}};a(ae)}e(ae=>{ae.selectedElement=null,ae.selectedElementIdSet.clear()})}break}case"ctrl+z":case"meta+z":if(r.hasUndo()){const ie=r.undo();M.getState().groupActionMode&&e(ee=>{ee.groupActionUpdateFlag=!ee.groupActionUpdateFlag}),ie&&hn(j.t("menu.edit.Undo",P)+": "+ie,QV),n&&e(ee=>{ee.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}break;case"ctrl+y":case"meta+y":if(r.hasRedo()){const ie=r.redo();ie&&hn(j.t("menu.edit.Redo",P)+": "+ie,QV),M.getState().groupActionMode&&e(ee=>{ee.groupActionUpdateFlag=!ee.groupActionUpdateFlag}),n&&e(ee=>{ee.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}break;case"shift":M.getState().viewState.navigationView&&ht.getState().set(ie=>{ie.navigationMoveSpeed=5*M.getState().minimumNavigationMoveSpeed,ie.navigationTurnSpeed=5*M.getState().minimumNavigationTurnSpeed}),w(!0);break;case"esc":{const ie=M.getState().addedFoundationId,ee=M.getState().addedCuboidId,q=M.getState().addedWallId,ae=M.getState().addedWindowId,ne=M.getState().addedDoorId;ie?d(ie,!1):ee?d(ee,!1):q?d(q,!1):ae?(d(ae,!1),ht.getState().setPrimitiveStore("elementBeingCanceledId",ae)):ne&&(d(ne,!1),ht.getState().setPrimitiveStore("elementBeingCanceledId",ne)),e(se=>{se.objectTypeToAdd=z.None,se.actionModeLock=!1,se.moveHandleType=null,se.resizeHandleType=null,se.groupActionMode=!1}),Ln.getState().setEnableOrbitController(!0),o();break}case"ctrl":{F(!0);break}}},_=O=>{switch(O){case"shift":M.getState().viewState.navigationView&&ht.getState().set(J=>{J.navigationMoveSpeed=M.getState().minimumNavigationMoveSpeed,J.navigationTurnSpeed=M.getState().minimumNavigationTurnSpeed}),w(!1);break;case"ctrl+o":case"meta+o":M.getState().localFileDialogRequested||(ht.getState().set(J=>{J.openLocalFileFlag=!0}),e(J=>{J.localFileDialogRequested=!0,n&&(J.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})}));break;case"ctrl":{F(!1);break}}};m.useEffect(()=>()=>{Y.current=null},[]);const Y=m.useRef(null);return h.jsxs(h.Fragment,{children:[h.jsx(iIe,{handleKeys:rIe,handleEventType:"keydown",onKeyEvent:(O,J)=>{J.preventDefault(),Y.current!==O&&(Y.current=O,B(O))}}),h.jsx(iIe,{handleKeys:rIe,handleEventType:"keyup",onKeyEvent:(O,J)=>{J.preventDefault(),Y.current=null,_(O)}}),h.jsx(w2o,{})]})}),x2o="/aladdin/assets/cloud-B68yt6QG.png",b2o=be.memo(()=>{const t=M(dn),e=M(uwt),{scene:n}=Xi();m.useEffect(()=>{const i=n.children.filter(l=>l.name==="Content"),r=[];if(i.length>0){const l=i[0].children;for(const s of l)o(s,r)}const a=[];for(const l of r)a.push(new pf().setFromObject(l));if(a.length>0){const l=new re,s=new re;for(const u of a)l.min(u.min),s.max(u.max);let c=Math.abs(l.x);c{u.aabb=new pf(l,s),!isNaN(c)&&isFinite(c)&&(u.sceneRadius=Math.round(Math.max(10,c*1.25)))})}},[e]);const o=(i,r)=>{if(i.userData.aabb&&r.push(i),i.children.length>0)for(const a of i.children)o(a,r)};return h.jsx(h.Fragment,{})}),hfe=t=>{const e=new re().subVectors(t.localToWorld(new re(0,0,1e3)),t.position);return e.x===0&&e.y===0&&t.getWorldDirection(e),e},OT=t=>{const e=document.getElementById("compassCanvas"),n=o=>{ht.getState().set(i=>{i.isCameraUnderGround=o})};if(e){const o=hfe(t).normalize(),r=(Math.atan2(o.y,o.x)+Math.PI/2)/Math.PI*180;e.style.transform=`rotate(${r}deg)`;const a=t.position.z<.001;a&&!ht.getState().isCameraUnderGround?n(!0):!a&&ht.getState().isCameraUnderGround&&n(!1)}},S2o=be.memo(()=>{const t=M(dn),e=M(hu),n=M(cAt),o=M(vBe),i=M(AH),r=M(mh),a=M(uAt),l=M(dAt),s=M(pq)??kk,c=M(hq),u=ht(w4t),d=ht(v4t),f=M(_Be),p=ht(XBe),g=c&&!e,A=Math.hypot(a[0],a[1],a[2]),w=(e?l*50:A*10)*r,b=m.useMemo(()=>new re(-w,-w,0),[w]),C=m.useMemo(()=>new re(w,w,w/2),[w]),{gl:P,invalidate:v,get:T,set:y,camera:S}=Xi(),x=m.useMemo(()=>{const F=T().camera;return F.up.set(0,0,1),F},[]),R=m.useMemo(()=>P.domElement,[]),H=m.useRef(null),D=m.useRef(null),k=m.useRef(null);m.useEffect(()=>{Ln.setState({canvas:{gl:P,camera:S}}),!e&&D.current&&Ln.setState({canvas:{gl:P,camera:D.current}})},[e]),m.useEffect(()=>{M.getState().viewState.cameraPosition2D[2]<100&&t(F=>{F.viewState.cameraPosition2D[2]=150})},[]),m.useEffect(()=>{H&&H.current&&Ln.setState({orbitControlsRef:H})},[]),m.useEffect(()=>{H.current&&(H.current.addEventListener("change",W),H.current.addEventListener("start",N),H.current.addEventListener("end",L));const F=H.current;return()=>{F&&(F.removeEventListener("change",W),F.removeEventListener("start",N),F.removeEventListener("end",L))}},[g]),m.useEffect(()=>{const F=M.getState().viewState;if(H.current){if(D.current){if(g){const B=T().camera,_=F.cameraPositionNav??[5,-30,1],Y=F.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];B.position.fromArray(_),B.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"])}else{const B=E(F.cameraPosition??[0,0,20]),_=E(F.panCenter??[0,0,0]);D.current.position.copy(B),D.current.lookAt(_),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(_))}S.updateMatrixWorld(),OT(T().camera)}if(k.current){const B=E(F.cameraPosition2D??[0,0,1e3]).setZ(1e3),_=E(F.panCenter2D??[0,0,0]);k.current.position.copy(B),k.current.rotation.set(0,0,0),k.current.lookAt(_),k.current.zoom=F.cameraZoom,e&&(H.current.object=k.current,H.current.target.copy(_))}}},[i]),m.useEffect(()=>{if(!k.current||!D.current||!H.current)return;const F=M.getState().viewState,B=H.current,_=k.current,Y=D.current;e?(_.rotation.set(0,0,0),B.object=_,B.target.copy(E(F.panCenter2D??[0,0,0])),y({camera:_})):(B.object=Y,B.target.copy(E(F.panCenter??[0,0,0])),y({camera:Y}),OT(T().camera))},[e]),m.useEffect(()=>{e&&H.current&&(k.current&&(k.current.zoom=l,H.current.object=k.current),W(),H.current.update())},[l]);const W=()=>{v(),M.getState().viewState.orthographic||(OT(T().camera),H.current&&H.current.target.clamp(b,C))},N=()=>{ht.getState().set(F=>{F.duringCameraInteraction=!0})},L=()=>{ht.getState().set(F=>{F.duringCameraInteraction=!1}),t(F=>{if(!H.current)return;const B=F.viewState,_=T().camera,Y=_.position,O=H.current.target;B.orthographic?(_.zoom&&!isNaN(_.zoom)?B.cameraZoom=_.zoom:B.cameraZoom=20,B.cameraPosition2D=[Y.x,Y.y,150],B.panCenter2D=[O.x,O.y,O.z]):g?(B.cameraPositionNav=[Y.x,Y.y,Y.z],B.cameraRotationNav=[_.rotation.x,_.rotation.y,_.rotation.z],F.cameraDirection=hfe(_)):(B.cameraPosition=[Y.x,Y.y,Y.z],B.panCenter=[O.x,O.y,O.z],F.cameraDirection=hfe(_))})},E=F=>F&&Array.isArray(F)?new re(F[0],F[1],F[2]):F&&F.x!==null?new re(F.x,F.y,F.z):new re(0,0,5);rA(()=>{o&&H.current&&H.current.update()});const U=Ln(F=>F.compassRef);return m.useEffect(()=>{OT(T().camera)},[U]),m.useEffect(()=>{H.current&&(g&&!p&&!f?H.current.listenToKeyEvents(window):H.current.removeKeyEvents())},[g,p,f]),m.useEffect(()=>{if(!H.current)return;const F=M.getState().viewState;if(g){const B=T().camera,_=F.cameraPositionNav??[5,-30,1],Y=F.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];B.position.fromArray(_),B.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"]),B.updateMatrixWorld(),OT(T().camera)}else if(H.current&&D.current){const B=E(F.cameraPosition??[0,0,20]),_=E(F.panCenter??[0,0,0]);D.current.position.copy(B),D.current.lookAt(_),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(_)),D.current.updateMatrixWorld(),OT(D.current)}v()},[g]),h.jsxs(h.Fragment,{children:[h.jsx(_6t,{ref:D,fov:eUe,far:s,up:[0,0,1]}),h.jsx(Y6t,{ref:k,up:[0,0,1]}),h.jsx("myOrbitControls",{ref:H,args:[x,R],autoRotate:o,enableRotate:n,enablePan:!0,enableZoom:!0,enableDamping:!1,maxAzimuthAngle:1/0,minAzimuthAngle:-1/0,maxPolarAngle:Vt,minPolarAngle:0,moveSpeed:u??3,turnSpeed:d??3})]})});var pfe={exports:{}},gfe={exports:{}},DF=1e3,EF=DF*60,kF=EF*60,FF=kF*24,T2o=FF*365.25,P2o=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return C2o(t);if(n==="number"&&isNaN(t)===!1)return e.long?H2o(t):R2o(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function C2o(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),o=(e[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return n*T2o;case"days":case"day":case"d":return n*FF;case"hours":case"hour":case"hrs":case"hr":case"h":return n*kF;case"minutes":case"minute":case"mins":case"min":case"m":return n*EF;case"seconds":case"second":case"secs":case"sec":case"s":return n*DF;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function R2o(t){return t>=FF?Math.round(t/FF)+"d":t>=kF?Math.round(t/kF)+"h":t>=EF?Math.round(t/EF)+"m":t>=DF?Math.round(t/DF)+"s":t+"ms"}function H2o(t){return EO(t,FF,"day")||EO(t,kF,"hour")||EO(t,EF,"minute")||EO(t,DF,"second")||t+" ms"}function EO(t,e,n){if(!(t=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}e.formatters.j=function(c){try{return JSON.stringify(c)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}};function i(c){var u=this.useColors;if(c[0]=(u?"%c":"")+this.namespace+(u?" %c":" ")+c[0]+(u?"%c ":" ")+"+"+e.humanize(this.diff),!!u){var d="color: "+this.color;c.splice(1,0,d,"color: inherit");var f=0,p=0;c[0].replace(/%[a-zA-Z%]/g,function(g){g!=="%%"&&(f++,g==="%c"&&(p=f))}),c.splice(p,0,d)}}function r(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(c){try{c==null?e.storage.removeItem("debug"):e.storage.debug=c}catch{}}function l(){var c;try{c=e.storage.debug}catch{}return!c&&typeof process<"u"&&"env"in process&&(c=n.DEBUG),c}e.enable(l());function s(){try{return window.localStorage}catch{}}})(pfe,pfe.exports);var I2o=pfe.exports,aIe=I2o("jsonp"),z2o=k2o,D2o=0;function E2o(){}function k2o(t,e,n){typeof e=="function"&&(n=e,e={}),e||(e={});var o=e.prefix||"__jp",i=e.name||o+D2o++,r=e.param||"callback",a=e.timeout!=null?e.timeout:6e4,l=encodeURIComponent,s=document.getElementsByTagName("script")[0]||document.head,c,u;a&&(u=setTimeout(function(){d(),n&&n(new Error("Timeout"))},a));function d(){c.parentNode&&c.parentNode.removeChild(c),window[i]=E2o,u&&clearTimeout(u)}function f(){window[i]&&d()}return window[i]=function(p){aIe("jsonp got",p),d(),n&&n(null,p)},t+=(~t.indexOf("?")?"&":"?")+r+"="+l(i),t=t.replace("?&","?"),aIe('jsonp req "%s"',t),c=document.createElement("script"),c.src=t,s.parentNode.insertBefore(c,s),f}const tS=kr(z2o);var F2o=Object.defineProperty,L2o=Object.defineProperties,W2o=Object.getOwnPropertyDescriptors,iJ=Object.getOwnPropertySymbols,urt=Object.prototype.hasOwnProperty,drt=Object.prototype.propertyIsEnumerable,lIe=(t,e,n)=>e in t?F2o(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ig=(t,e)=>{for(var n in e||(e={}))urt.call(e,n)&&lIe(t,n,e[n]);if(iJ)for(var n of iJ(e))drt.call(e,n)&&lIe(t,n,e[n]);return t},lee=(t,e)=>L2o(t,W2o(e)),see=(t,e)=>{var n={};for(var o in t)urt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&iJ)for(var o of iJ(t))e.indexOf(o)<0&&drt.call(t,o)&&(n[o]=t[o]);return n};function X7(t){return n=>{var o=n,{bgStyle:i={},borderRadius:r=0,iconFillColor:a="white",round:l=!1,size:s=64}=o,c=see(o,["bgStyle","borderRadius","iconFillColor","round","size"]);return h.jsxs("svg",lee(ig({viewBox:"0 0 64 64",width:s,height:s},c),{children:[l?h.jsx("circle",{cx:"32",cy:"32",r:"32",fill:t.color,style:i}):h.jsx("rect",{width:"64",height:"64",rx:r,ry:r,fill:t.color,style:i}),h.jsx("path",{d:t.path,fill:a})]}))}}const N2o=X7({color:"#7f7f7f",networkName:"email",path:"M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z"}),U2o=N2o;function Ks(t){const e=Object.entries(t).filter(([,n])=>n!=null).map(([n,o])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(o))}`);return e.length>0?`?${e.join("&")}`:""}const B2o=t=>!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function",j2o=(t,e)=>({left:window.outerWidth/2+(window.screenX||window.screenLeft||0)-t/2,top:window.outerHeight/2+(window.screenY||window.screenTop||0)-e/2}),Y2o=(t,e)=>({top:(window.screen.height-e)/2,left:(window.screen.width-t)/2});function O2o(t,e,n){var o=e,{height:i,width:r}=o,a=see(o,["height","width"]);const l=ig({height:i,width:r,location:"no",toolbar:"no",status:"no",directories:"no",menubar:"no",scrollbars:"yes",resizable:"no",centerscreen:"yes",chrome:"yes"},a),s=window.open(t,"",Object.keys(l).map(c=>`${c}=${l[c]}`).join(", "));if(n){const c=window.setInterval(()=>{try{(s===null||s.closed)&&(window.clearInterval(c),n(s))}catch(u){console.error(u)}},1e3)}return s}function _2o(t){var e=t,{beforeOnClick:n,children:o,className:i,disabled:r,disabledStyle:a={opacity:.6},forwardedRef:l,networkLink:s,networkName:c,onClick:u,onShareWindowClose:d,openShareDialogOnClick:f=!0,opts:p,resetButtonStyle:g=!0,style:A,url:w,windowHeight:b=400,windowPosition:C="windowCenter",windowWidth:P=550}=e,v=see(e,["beforeOnClick","children","className","disabled","disabledStyle","forwardedRef","networkLink","networkName","onClick","onShareWindowClose","openShareDialogOnClick","opts","resetButtonStyle","style","url","windowHeight","windowPosition","windowWidth"]);const T=async x=>{const R=s(w,p);if(!r){if(x.preventDefault(),n){const H=n();B2o(H)&&await H}if(f){const H=ig({height:b,width:P},C==="windowCenter"?j2o(P,b):Y2o(P,b));O2o(R,H,d)}u&&u(x,R)}},y=_n("react-share__ShareButton",{"react-share__ShareButton--disabled":!!r,disabled:!!r},i),S=ig(ig(g?{backgroundColor:"transparent",border:"none",padding:0,font:"inherit",color:"inherit",cursor:"pointer"}:{},A),r&&a);return h.jsx("button",lee(ig({},v),{className:y,onClick:T,ref:l,style:S,children:o}))}function A0(t,e,n,o){function i(r,a){const l=n(r),s=ig({},r);return Object.keys(l).forEach(u=>{delete s[u]}),h.jsx(_2o,lee(ig(ig({},o),s),{forwardedRef:a,networkName:t,networkLink:e,opts:n(r)}))}return i.displayName=`ShareButton-${t}`,m.forwardRef(i)}function V2o(t,{subject:e,body:n,separator:o}){return"mailto:"+Ks({subject:e,body:n?n+o+t:t})}const G2o=A0("email",V2o,t=>({subject:t.subject,body:t.body,separator:t.separator||" "}),{openShareDialogOnClick:!1,onClick:(t,e)=>{window.location.href=e}}),X2o=G2o,J2o=X7({color:"#0965FE",networkName:"facebook",path:"M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z"}),K2o=J2o;function q2o(t,{appId:e,redirectUri:n,to:o}){return"https://www.facebook.com/dialog/send"+Ks({link:t,redirect_uri:n||t,app_id:e,to:o})}A0("facebookmessenger",q2o,t=>({appId:t.appId,redirectUri:t.redirectUri,to:t.to}),{windowWidth:1e3,windowHeight:820});class $2o extends Error{constructor(e){super(e),this.name="AssertionError"}}function r0(t,e){if(!t)throw new $2o(e)}function Q2o(t,{hashtag:e}){return r0(t,"facebook.url"),"https://www.facebook.com/sharer/sharer.php"+Ks({u:t,hashtag:e})}const Z2o=A0("facebook",Q2o,t=>({hashtag:t.hashtag}),{windowWidth:550,windowHeight:400}),e5o=Z2o;function t5o(){const t=m.useRef(!1);return m.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),m.useCallback(()=>t.current,[])}function n5o(t){var e=t,{children:n=f=>f,className:o,getCount:i,url:r}=e,a=see(e,["children","className","getCount","url"]);const l=t5o(),[s,c]=m.useState(void 0),[u,d]=m.useState(!1);return m.useEffect(()=>{d(!0),i(r,f=>{l()&&(c(f),d(!1))})},[r]),h.jsx("span",lee(ig({className:_n("react-share__ShareCount",o)},a),{children:!u&&s!==void 0&&n(s)}))}function nS(t){const e=n=>h.jsx(n5o,ig({getCount:t},n));return e.displayName=`ShareCount(${t.name})`,e}function o5o(t,e){const n=`https://graph.facebook.com/?id=${t}&fields=og_object{engagement}`;tS(n,(o,i)=>{e(!o&&i&&i.og_object&&i.og_object.engagement?i.og_object.engagement.count:void 0)})}nS(o5o);function i5o(t,{title:e}){return r0(t,"hatena.url"),`http://b.hatena.ne.jp/add?mode=confirm&url=${t}&title=${e}`}A0("hatena",i5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"});function r5o(t,e){tS("https://bookmark.hatenaapis.com/count/entry"+Ks({url:t}),(o,i)=>{e(i??void 0)})}nS(r5o);function a5o(t,{title:e,description:n}){return r0(t,"instapaper.url"),"http://www.instapaper.com/hello2"+Ks({url:t,title:e,description:n})}A0("instapaper",a5o,t=>({title:t.title,description:t.description}),{windowWidth:500,windowHeight:500,windowPosition:"windowCenter"});const l5o=X7({color:"#00b800",networkName:"line",path:"M52.62 30.138c0 3.693-1.432 7.019-4.42 10.296h.001c-4.326 4.979-14 11.044-16.201 11.972-2.2.927-1.876-.591-1.786-1.112l.294-1.765c.069-.527.142-1.343-.066-1.865-.232-.574-1.146-.872-1.817-1.016-9.909-1.31-17.245-8.238-17.245-16.51 0-9.226 9.251-16.733 20.62-16.733 11.37 0 20.62 7.507 20.62 16.733zM27.81 25.68h-1.446a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-8.985a.402.402 0 0 0-.402-.401zm9.956 0H36.32a.402.402 0 0 0-.402.401v5.338L31.8 25.858a.39.39 0 0 0-.031-.04l-.002-.003-.024-.025-.008-.007a.313.313 0 0 0-.032-.026.255.255 0 0 1-.021-.014l-.012-.007-.021-.012-.013-.006-.023-.01-.013-.005-.024-.008-.014-.003-.023-.005-.017-.002-.021-.003-.021-.002h-1.46a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-5.337l4.123 5.568c.028.04.063.072.101.099l.004.003a.236.236 0 0 0 .025.015l.012.006.019.01a.154.154 0 0 1 .019.008l.012.004.028.01.005.001a.442.442 0 0 0 .104.013h1.446a.4.4 0 0 0 .401-.4v-8.985a.402.402 0 0 0-.401-.401zm-13.442 7.537h-3.93v-7.136a.401.401 0 0 0-.401-.401h-1.447a.4.4 0 0 0-.401.401v8.984a.392.392 0 0 0 .123.29c.072.068.17.111.278.111h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401zm21.429-5.287c.222 0 .401-.18.401-.402v-1.446a.401.401 0 0 0-.401-.402h-5.778a.398.398 0 0 0-.279.113l-.005.004-.006.008a.397.397 0 0 0-.111.276v8.984c0 .108.043.206.112.278l.005.006a.401.401 0 0 0 .284.117h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401h-3.93v-1.519h3.93c.222 0 .401-.18.401-.402V29.85a.401.401 0 0 0-.401-.402h-3.93V27.93h3.93z"}),s5o=l5o;function c5o(t,{title:e}){return r0(t,"line.url"),"https://social-plugins.line.me/lineit/share"+Ks({url:t,text:e})}const u5o=A0("line",c5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500}),d5o=u5o,f5o=X7({color:"#0077B5",networkName:"linkedin",path:"M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z"}),h5o=f5o;function p5o(t,{title:e,summary:n,source:o}){return r0(t,"linkedin.url"),"https://linkedin.com/shareArticle"+Ks({url:t,mini:"true",title:e,summary:n,source:o})}const g5o=A0("linkedin",p5o,({title:t,summary:e,source:n})=>({title:t,summary:e,source:n}),{windowWidth:750,windowHeight:600}),m5o=g5o;function y5o(t,{title:e,description:n}){return r0(t,"livejournal.url"),"https://www.livejournal.com/update.bml"+Ks({subject:e,event:n})}A0("livejournal",y5o,t=>({title:t.title,description:t.description}),{windowWidth:660,windowHeight:460});function A5o(t,{title:e,description:n,imageUrl:o}){return r0(t,"mailru.url"),"https://connect.mail.ru/share"+Ks({url:t,title:e,description:n,image_url:o})}A0("mailru",A5o,t=>({title:t.title,description:t.description,imageUrl:t.imageUrl}),{windowWidth:660,windowHeight:460});function w5o(t,{title:e,description:n,image:o}){return r0(t,"ok.url"),"https://connect.ok.ru/offer"+Ks({url:t,title:e,description:n,imageUrl:o})}A0("ok",w5o,t=>({title:t.title,description:t.description,image:t.image}),{windowWidth:588,windowHeight:480,windowPosition:"screenCenter"});function v5o(t,e){window.OK||(window.OK={Share:{count:function(r,a){var l,s;(s=(l=window.OK.callbacks)[r])==null||s.call(l,a)}},callbacks:[]});const n="https://connect.ok.ru/dk",o=window.OK.callbacks.length;return window.ODKL={updateCount(i,r){var a,l;const s=i===""?0:parseInt(i.replace("react-share-",""),10);(l=(a=window.OK.callbacks)[s])==null||l.call(a,r===""?void 0:parseInt(r,10))}},window.OK.callbacks.push(e),tS(n+Ks({"st.cmd":"extLike",uid:`react-share-${o}`,ref:t}))}nS(v5o);function x5o(t,{media:e,description:n,pinId:o}){return o?`https://pinterest.com/pin/${o}/repin/x/`:(r0(t,"pinterest.url"),r0(e,"pinterest.media"),"https://pinterest.com/pin/create/button/"+Ks({url:t,media:e,description:n}))}A0("pinterest",x5o,t=>({media:t.media,description:t.description,pinId:t.pinId}),{windowWidth:1e3,windowHeight:730});function b5o(t,e){tS("https://api.pinterest.com/v1/urls/count.json"+Ks({url:t}),(o,i)=>{e(i?i.count:void 0)})}nS(b5o);function S5o(t,{title:e}){return r0(t,"pocket.url"),"https://getpocket.com/save"+Ks({url:t,title:e})}A0("pocket",S5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500});const T5o=X7({color:"#FF5700",networkName:"reddit",path:"M 53.34375 32 C 53.277344 30.160156 52.136719 28.53125 50.429688 27.839844 C 48.722656 27.148438 46.769531 27.523438 45.441406 28.800781 C 41.800781 26.324219 37.519531 24.957031 33.121094 24.863281 L 35.199219 14.878906 L 42.046875 16.320312 C 42.214844 17.882812 43.496094 19.09375 45.066406 19.171875 C 46.636719 19.253906 48.03125 18.183594 48.359375 16.644531 C 48.6875 15.105469 47.847656 13.558594 46.382812 12.992188 C 44.914062 12.425781 43.253906 13.007812 42.464844 14.367188 L 34.625 12.800781 C 34.363281 12.742188 34.09375 12.792969 33.871094 12.9375 C 33.648438 13.082031 33.492188 13.308594 33.441406 13.566406 L 31.070312 24.671875 C 26.617188 24.738281 22.277344 26.105469 18.59375 28.609375 C 17.242188 27.339844 15.273438 26.988281 13.570312 27.707031 C 11.863281 28.429688 10.746094 30.089844 10.71875 31.941406 C 10.691406 33.789062 11.757812 35.484375 13.441406 36.257812 C 13.402344 36.726562 13.402344 37.195312 13.441406 37.664062 C 13.441406 44.832031 21.792969 50.65625 32.097656 50.65625 C 42.398438 50.65625 50.753906 44.832031 50.753906 37.664062 C 50.789062 37.195312 50.789062 36.726562 50.753906 36.257812 C 52.363281 35.453125 53.371094 33.800781 53.34375 32 Z M 21.34375 35.199219 C 21.34375 33.433594 22.777344 32 24.542969 32 C 26.3125 32 27.742188 33.433594 27.742188 35.199219 C 27.742188 36.96875 26.3125 38.398438 24.542969 38.398438 C 22.777344 38.398438 21.34375 36.96875 21.34375 35.199219 Z M 39.9375 44 C 37.664062 45.710938 34.871094 46.582031 32.03125 46.464844 C 29.191406 46.582031 26.398438 45.710938 24.128906 44 C 23.847656 43.65625 23.871094 43.15625 24.183594 42.839844 C 24.5 42.527344 25 42.503906 25.34375 42.785156 C 27.269531 44.195312 29.617188 44.90625 32 44.800781 C 34.386719 44.929688 36.746094 44.242188 38.6875 42.847656 C 39.042969 42.503906 39.605469 42.511719 39.953125 42.863281 C 40.296875 43.21875 40.289062 43.785156 39.9375 44.128906 Z M 39.359375 38.527344 C 37.59375 38.527344 36.160156 37.09375 36.160156 35.328125 C 36.160156 33.5625 37.59375 32.128906 39.359375 32.128906 C 41.128906 32.128906 42.558594 33.5625 42.558594 35.328125 C 42.59375 36.203125 42.269531 37.054688 41.65625 37.6875 C 41.046875 38.316406 40.203125 38.664062 39.328125 38.65625 Z M 39.359375 38.527344"}),P5o=T5o;function C5o(t,{title:e}){return r0(t,"reddit.url"),"https://www.reddit.com/submit"+Ks({url:t,title:e})}const R5o=A0("reddit",C5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"}),H5o=R5o;function M5o(t,{title:e}){return r0(t,"gab.url"),"https://gab.com/compose"+Ks({url:t,text:e})}A0("gab",M5o,t=>({title:t.title}),{windowWidth:660,windowHeight:640,windowPosition:"windowCenter"});function I5o(t,e){const n=`https://www.reddit.com/api/info.json?limit=1&url=${t}`;tS(n,{param:"jsonp"},(o,i)=>{e(!o&&i&&i.data&&i.data.children.length>0&&i.data.children[0].data.score?i.data.children[0].data.score:void 0)})}nS(I5o);const z5o=X7({color:"#25A3E3",networkName:"telegram",path:"m45.90873,15.44335c-0.6901,-0.0281 -1.37668,0.14048 -1.96142,0.41265c-0.84989,0.32661 -8.63939,3.33986 -16.5237,6.39174c-3.9685,1.53296 -7.93349,3.06593 -10.98537,4.24067c-3.05012,1.1765 -5.34694,2.05098 -5.4681,2.09312c-0.80775,0.28096 -1.89996,0.63566 -2.82712,1.72788c-0.23354,0.27218 -0.46884,0.62161 -0.58825,1.10275c-0.11941,0.48114 -0.06673,1.09222 0.16682,1.5716c0.46533,0.96052 1.25376,1.35737 2.18443,1.71383c3.09051,0.99037 6.28638,1.93508 8.93263,2.8236c0.97632,3.44171 1.91401,6.89571 2.84116,10.34268c0.30554,0.69185 0.97105,0.94823 1.65764,0.95525l-0.00351,0.03512c0,0 0.53908,0.05268 1.06412,-0.07375c0.52679,-0.12292 1.18879,-0.42846 1.79109,-0.99212c0.662,-0.62161 2.45836,-2.38812 3.47683,-3.38552l7.6736,5.66477l0.06146,0.03512c0,0 0.84989,0.59703 2.09312,0.68132c0.62161,0.04214 1.4399,-0.07726 2.14229,-0.59176c0.70766,-0.51626 1.1765,-1.34683 1.396,-2.29506c0.65673,-2.86224 5.00979,-23.57745 5.75257,-27.00686l-0.02107,0.08077c0.51977,-1.93157 0.32837,-3.70159 -0.87096,-4.74991c-0.60054,-0.52152 -1.2924,-0.7498 -1.98425,-0.77965l0,0.00176zm-0.2072,3.29069c0.04741,0.0439 0.0439,0.0439 0.00351,0.04741c-0.01229,-0.00351 0.14048,0.2072 -0.15804,1.32576l-0.01229,0.04214l-0.00878,0.03863c-0.75858,3.50668 -5.15554,24.40802 -5.74203,26.96472c-0.08077,0.34417 -0.11414,0.31959 -0.09482,0.29852c-0.1756,-0.02634 -0.50045,-0.16506 -0.52679,-0.1756l-13.13468,-9.70175c4.4988,-4.33199 9.09945,-8.25307 13.744,-12.43229c0.8218,-0.41265 0.68483,-1.68573 -0.29852,-1.70681c-1.04305,0.24584 -1.92279,0.99564 -2.8798,1.47502c-5.49971,3.2626 -11.11882,6.13186 -16.55882,9.49279c-2.792,-0.97105 -5.57873,-1.77704 -8.15298,-2.57601c2.2336,-0.89555 4.00889,-1.55579 5.75608,-2.23009c3.05188,-1.1765 7.01687,-2.7042 10.98537,-4.24067c7.94051,-3.06944 15.92667,-6.16346 16.62028,-6.43037l0.05619,-0.02283l0.05268,-0.02283c0.19316,-0.0878 0.30378,-0.09658 0.35471,-0.10009c0,0 -0.01756,-0.05795 -0.00351,-0.04566l-0.00176,0zm-20.91715,22.0638l2.16687,1.60145c-0.93418,0.91311 -1.81743,1.77353 -2.45485,2.38812l0.28798,-3.98957"}),D5o=z5o;function E5o(t,{title:e}){return r0(t,"telegram.url"),"https://telegram.me/share/url"+Ks({url:t,text:e})}const k5o=A0("telegram",E5o,t=>({title:t.title}),{windowWidth:550,windowHeight:400}),F5o=k5o;function L5o(t,{title:e,caption:n,tags:o,posttype:i}){return r0(t,"tumblr.url"),"https://www.tumblr.com/widgets/share/tool"+Ks({canonicalUrl:t,title:e,caption:n,tags:o,posttype:i})}A0("tumblr",L5o,t=>({title:t.title,tags:(t.tags||[]).join(","),caption:t.caption,posttype:t.posttype||"link"}),{windowWidth:660,windowHeight:460});function W5o(t,e){return tS("https://api.tumblr.com/v2/share/stats"+Ks({url:t}),(o,i)=>{e(!o&&i&&i.response?i.response.note_count:void 0)})}nS(W5o);function N5o(t,{title:e,via:n,hashtags:o=[],related:i=[]}){return r0(t,"twitter.url"),r0(Array.isArray(o),"twitter.hashtags is not an array"),r0(Array.isArray(i),"twitter.related is not an array"),"https://twitter.com/intent/tweet"+Ks({url:t,text:e,via:n,hashtags:o.length>0?o.join(","):void 0,related:i.length>0?i.join(","):void 0})}const U5o=A0("twitter",N5o,t=>({hashtags:t.hashtags,title:t.title,via:t.via,related:t.related}),{windowWidth:550,windowHeight:400}),B5o=U5o;function j5o(t,{title:e,separator:n}){return r0(t,"viber.url"),"viber://forward"+Ks({text:e?e+n+t:t})}A0("viber",j5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:660,windowHeight:460});function Y5o(t,{title:e,image:n,noParse:o,noVkLinks:i}){return r0(t,"vk.url"),"https://vk.com/share.php"+Ks({url:t,title:e,image:n,noparse:o?1:0,no_vk_links:i?1:0})}A0("vk",Y5o,t=>({title:t.title,image:t.image,noParse:t.noParse,noVkLinks:t.noVkLinks}),{windowWidth:660,windowHeight:460});function O5o(t,e){window.VK||(window.VK={}),window.VK.Share={count:(i,r)=>{var a,l;return(l=(a=window.VK.callbacks)==null?void 0:a[i])==null?void 0:l.call(a,r)}},window.VK.callbacks=[];const n="https://vk.com/share.php",o=window.VK.callbacks.length;return window.VK.callbacks.push(e),tS(n+Ks({act:"count",index:o,url:t}))}nS(O5o);function _5o(t,{title:e,image:n}){return r0(t,"weibo.url"),"http://service.weibo.com/share/share.php"+Ks({url:t,title:e,pic:n})}A0("weibo",_5o,t=>({title:t.title,image:t.image}),{windowWidth:660,windowHeight:550,windowPosition:"screenCenter"});const V5o=X7({color:"#25D366",networkName:"whatsapp",path:"m42.32286,33.93287c-0.5178,-0.2589 -3.04726,-1.49644 -3.52105,-1.66732c-0.4712,-0.17346 -0.81554,-0.2589 -1.15987,0.2589c-0.34175,0.51004 -1.33075,1.66474 -1.63108,2.00648c-0.30032,0.33658 -0.60064,0.36247 -1.11327,0.12945c-0.5178,-0.2589 -2.17994,-0.80259 -4.14759,-2.56312c-1.53269,-1.37217 -2.56312,-3.05503 -2.86603,-3.57283c-0.30033,-0.5178 -0.03366,-0.80259 0.22524,-1.06149c0.23301,-0.23301 0.5178,-0.59547 0.7767,-0.90616c0.25372,-0.31068 0.33657,-0.5178 0.51262,-0.85437c0.17088,-0.36246 0.08544,-0.64725 -0.04402,-0.90615c-0.12945,-0.2589 -1.15987,-2.79613 -1.58964,-3.80584c-0.41424,-1.00971 -0.84142,-0.88027 -1.15987,-0.88027c-0.29773,-0.02588 -0.64208,-0.02588 -0.98382,-0.02588c-0.34693,0 -0.90616,0.12945 -1.37736,0.62136c-0.4712,0.5178 -1.80194,1.76053 -1.80194,4.27186c0,2.51134 1.84596,4.945 2.10227,5.30747c0.2589,0.33657 3.63497,5.51458 8.80262,7.74113c1.23237,0.5178 2.1903,0.82848 2.94111,1.08738c1.23237,0.38836 2.35599,0.33657 3.24402,0.20712c0.99159,-0.15534 3.04985,-1.24272 3.47963,-2.45956c0.44013,-1.21683 0.44013,-2.22654 0.31068,-2.45955c-0.12945,-0.23301 -0.46601,-0.36247 -0.98382,-0.59548m-9.40068,12.84407l-0.02589,0c-3.05503,0 -6.08417,-0.82849 -8.72495,-2.38189l-0.62136,-0.37023l-6.47252,1.68286l1.73463,-6.29129l-0.41424,-0.64725c-1.70875,-2.71846 -2.6149,-5.85116 -2.6149,-9.07706c0,-9.39809 7.68934,-17.06155 17.15993,-17.06155c4.58253,0 8.88029,1.78642 12.11655,5.02268c3.23625,3.21036 5.02267,7.50812 5.02267,12.06476c-0.0078,9.3981 -7.69712,17.06155 -17.14699,17.06155m14.58906,-31.58846c-3.93529,-3.80584 -9.1133,-5.95471 -14.62789,-5.95471c-11.36055,0 -20.60848,9.2065 -20.61625,20.52564c0,3.61684 0.94757,7.14565 2.75211,10.26282l-2.92557,10.63564l10.93337,-2.85309c3.0136,1.63108 6.4052,2.4958 9.85634,2.49839l0.01037,0c11.36574,0 20.61884,-9.2091 20.62403,-20.53082c0,-5.48093 -2.14111,-10.64081 -6.03239,-14.51915"}),G5o=V5o;function X5o(){return/(android|iphone|ipad|mobile)/i.test(navigator.userAgent)}function J5o(t,{title:e,separator:n}){return r0(t,"whatsapp.url"),"https://"+(X5o()?"api":"web")+".whatsapp.com/send"+Ks({text:e?e+n+t:t})}const K5o=A0("whatsapp",J5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:550,windowHeight:400}),q5o=K5o;function $5o(t,{quote:e,hashtag:n}){return r0(t,"workplace.url"),"https://work.facebook.com/sharer.php"+Ks({u:t,quote:e,hashtag:n})}A0("workplace",$5o,t=>({quote:t.quote,hashtag:t.hashtag}),{windowWidth:550,windowHeight:400});const Q5o=X7({color:"#000000",networkName:"X",path:"M 41.116 18.375 h 4.962 l -10.8405 12.39 l 12.753 16.86 H 38.005 l -7.821 -10.2255 L 21.235 47.625 H 16.27 l 11.595 -13.2525 L 15.631 18.375 H 25.87 l 7.0695 9.3465 z m -1.7415 26.28 h 2.7495 L 24.376 21.189 H 21.4255 z"}),Z5o=Q5o,e9o=Ho.div` + */var c2o=oJ.ServerValue;function u2o(t){Fot(t.SDK_VERSION),t.INTERNAL.registerComponent(new Lb("database",function(e,n){var o=n.instanceIdentifier,i=e.getProvider("app").getImmediate(),r=e.getProvider("auth-internal"),a=e.getProvider("app-check-internal");return new oJ(rrt(i,r,a,o),i)},"PUBLIC").setServiceProps({Reference:Gv,Query:art,Database:oJ,DataSnapshot:EE,enableLogging:Uot,INTERNAL:t2o,ServerValue:c2o,TEST_ACCESS:s2o}).setMultipleInstances(!0)),t.registerVersion(Jpo,Kpo)}u2o(ro);var d2o={VITE_MAPS_API_KEY:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",VITE_FIREBASE_API_KEY:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",VITE_FIREBASE_AUTH_DOMAIN:"aladdin-316017.firebaseapp.com",VITE_FIREBASE_DATABASE_URL:"https://aladdin-316017.firebaseio.com",VITE_FIREBASE_PROJECT_ID:"aladdin-316017",VITE_FIREBASE_STORAGE_BUCKET:"aladdin-316017.appspot.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"169516488625",VITE_FIREBASE_APP_ID:"1:169516488625:web:bb0ae3c3f7c6e813250f90",VITE_FIREBASE_MEASUREMENT_ID:"G-G0XPQ7JNYJ",VITE_EMAIL_HOST:"smtp.gmail.com",VITE_EMAIL_USERNAME:"service@intofuture.org",VITE_EMAIL_PASSWORD:"CustServ@Ifi1027",VITE_EXAMPLE_PROJECT_OWNER:"QWecNcxhyvP6j6sBN11hBsfZDau1",BASE_URL:"/aladdin",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const f2o=be.memo(()=>{const t=M(M4t),e=M(I4t),n=M(o1),o=M(yH),i=m.useRef(),r=n.schoolID??rc.UNKNOWN,a=n.classID??Ua.UNKNOWN;return m.useEffect(()=>{const l={apiKey:"AIzaSyD-236qE4ix9TkH2AW_wjKSz8jgK0ukjW0",authDomain:"aladdin-316017.firebaseapp.com",projectId:"aladdin-316017",storageBucket:"aladdin-316017.appspot.com",databaseURL:d2o.VITE_FIREBASE_LOGGER_DATABASE_URL,messagingSenderId:"169516488625",appId:"1:169516488625:web:bb0ae3c3f7c6e813250f90"};let s;for(const c of ro.apps)if(c.name===KV.LOG_DATA){s=c;break}s||(s=ro.initializeApp(l,KV.LOG_DATA)),s&&(i.current=ro.database(s))},[]),m.useEffect(()=>{e&&(async()=>{if(i.current){const s=e.timestamp+" ("+gc(new Date(e.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(e)})}})().catch(s=>{uR("Data logger error: "+e+" - "+s)})},[e,n.uid,a,r,o]),m.useEffect(()=>{t&&(async()=>{if(i.current){const s=t.timestamp+" ("+gc(new Date(t.timestamp)).format("MM-DD-YYYY hh:mm A")+")";await i.current.ref(r+"/"+a+"/"+n.uid+"/"+s).set({file:o??"Untitled",action:JSON.stringify(t)})}})().catch(s=>{uR("Data logger error: "+t+" - "+s)})},[t,n.uid,a,r,o]),h.jsx(h.Fragment,{})}),h2o=be.memo(()=>{const t=M(hBe)??3.5,e=M(fBe)??.2,n=M(pq)??kk,o=xe.getShadowMapSize(),i=M(M7),r=M(mh),a=2*r,l=r+100,s=M(ss),c=m.useRef(null);c.current&&(c.current.shadow.camera.left=-l,c.current.shadow.camera.bottom=-l,c.current.shadow.camera.right=l,c.current.shadow.camera.top=l,c.current.shadow.camera.updateProjectionMatrix());const u=i.z>0,d=u?i.normalize().dot(Po):0;return h.jsxs(h.Fragment,{children:[h.jsx("ambientLight",{intensity:E3t+(u?e*d:0),name:"Ambient Light"}),h.jsx("directionalLight",{ref:c,name:"Directional Light",color:"white",position:i.normalize().multiplyScalar(a),intensity:u?t*d:0,castShadow:s,"shadow-bias":0,"shadow-mapSize-height":o,"shadow-mapSize-width":o,"shadow-camera-near":1,"shadow-camera-far":n})]})}),p2o=be.memo(({element:t})=>{const e=M(cwt),n=M(yh),o=M(ty),i=M(hge),r=t.type===z.Roof,a="lightGray",l=aA(sq,oQ),s={font:l,height:0,size:.2},c={font:l,height:0,size:.35},u=m.useMemo(()=>i(t,n??o),[n,o]),d=m.useMemo(()=>{const P=-Math.atan2(e.x,e.y)+Math.PI;return new Qt(Vt,0,P,"ZXY")},[e.x,e.y]),f=()=>{let P=t.lz;return r&&(P=M.getState().selectedElementHeight),Math.ceil(P)+1},p=()=>{let P=t.lz;return r&&(P=t.rise),P.toFixed(1)+" m"},g=()=>r?M.getState().selectedElementHeight+1:t.lz-.175;if(!n&&!o)return null;const A=f(),w=p(),b=g(),C=new Array(A+1).fill(0);return h.jsxs("group",{position:u,rotation:d,name:"Vertical Ruler",children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[0,0,0],[0,A,0]],color:a}),h.jsxs("mesh",{position:[-1.5,b,0],userData:{unintersectable:!0},children:[h.jsx("textGeometry",{args:[w,c]}),h.jsx("meshBasicMaterial",{attach:"material",color:"white"})]}),C.map((P,v)=>{const T=.2+(v%5===0?.05:0),y=h.jsx("textGeometry",{args:[`${v}`,s]});return h.jsxs("group",{children:[h.jsx(Fn,{userData:{unintersectable:!0},points:[[-T,v,0],[T,v,0]],lineWidth:.5,color:a}),!r&&h.jsxs("mesh",{position:[.4,v-.125,0],userData:{unintersectable:!0},children:[y,h.jsx("meshBasicMaterial",{attach:"material",color:a})]})]},v)})]})}),g2o=be.memo(()=>{const t=M(Cb),e=M(sW),n=M(yh),o=M(ty),i=M(sA),r=M(mh),a=M(Iq),l=M(Mq),s=M(v=>{if(v.selectedElement){const T=v.selectedElement.id;return v.elements.find(y=>y.id===T)}}),[c,u]=m.useState(!1),[d,f]=m.useState(2*r),[p,g]=m.useState(2*r);m.useEffect(()=>{const v=Math.floor(r/50)+1,T=Math.round(r/v)*2;f(T*v),g(T)},[r]),m.useEffect(()=>{if(n){const v=xe.isTopResizeHandle(n)||n===gt.UpperLeft&&(s==null?void 0:s.type)===z.Wall||n===gt.UpperRight&&(s==null?void 0:s.type)===z.Wall;u(!v)}else u(!1)},[n,s==null?void 0:s.type]);const A=()=>{if(!s)return!1;const v=s.type;return v===z.Foundation||v===z.Cuboid||v===z.Tree&&s.parentId===z.Ground||v===z.Human&&s.parentId===z.Ground},w=o===wi.Lower||o===wi.Upper,P=(v=>xe.isTopResizeHandle(v)||(s==null?void 0:s.type)===z.Wall&&xe.isTopResizeHandleOfWall(v)||(s==null?void 0:s.type)===z.Roof&&xe.isRiseHandleOfRoof(v))(n??o);return s?h.jsxs(h.Fragment,{children:[((c||t||xe.isMoveHandle(o))&&!i&&A()||a||l)&&h.jsx("gridHelper",{rotation:[Vt,0,0],name:"Grid",args:[d,p,"gray","#444444"]}),(e||w)&&s&&A()&&h.jsx(fye,{element:s}),P&&h.jsx(p2o,{element:s})]}):null}),Fae=120,Q8="DarkSlateGray",Jz="white",m2o=be.memo(({visible:t=!0})=>{const e=m.useRef(null),n=Kt(),o=window.devicePixelRatio,i=Fae*o,r=i/150,l=20*r+"px serif";return m.useEffect(()=>{e.current&&Ln.setState({compassRef:e})},[]),m.useEffect(()=>{if(!e.current||!t)return;const s=e.current.getContext("2d");if(!s)return;const c=55*r,u=10*r,d=40*r,f=5*r,p=30*r,g=r,A=r,w=15*r,b=i/2;s.clearRect(0,0,i,i),s.beginPath(),s.arc(b,b,d,0,Math.PI*2),s.lineWidth=f,s.strokeStyle=Q8,s.stroke(),s.beginPath(),s.arc(b,b,p,0,Math.PI*2),s.lineWidth=g,s.strokeStyle=Q8,s.stroke(),s.lineWidth=A,s.beginPath(),s.moveTo(b,b-c),s.lineTo(b-u,b-u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b,b-c),s.lineTo(b+u,b-u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b,b+c),s.lineTo(b-u,b+u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b,b+c),s.lineTo(b+u,b+u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b-c,b),s.lineTo(b-u,b-u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b-c,b),s.lineTo(b-u,b+u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b+c,b),s.lineTo(b+u,b-u),s.lineTo(b,b),s.fillStyle=Jz,s.stroke(),s.fill(),s.beginPath(),s.moveTo(b+c,b),s.lineTo(b+u,b+u),s.lineTo(b,b),s.fillStyle=Q8,s.stroke(),s.fill(),s.font=l,s.fillStyle=Jz,s.textAlign="center",s.fillText(`${j.t("compass.N",n)}`,b,w),s.save(),s.translate(i,i),s.rotate(Math.PI),s.fillText(`${j.t("compass.S",n)}`,b,w),s.restore(),s.fillStyle=Q8,s.save(),s.translate(0,i),s.rotate(-Math.PI/2),s.fillText(`${j.t("compass.W",n)}`,b,w),s.restore(),s.save(),s.translate(i,0),s.rotate(Math.PI/2),s.fillText(`${j.t("compass.E",n)}`,b,w),s.restore()},[n,t]),t?h.jsx("canvas",{ref:e,id:"compassCanvas",width:i,height:i,style:{position:"absolute",bottom:"0",right:"0",height:`${Fae}px`,width:`${Fae}px`,margin:"5px",pointerEvents:"none"}}):null});var lrt={exports:{}};(function(t,e){(function(n,o){t.exports=o(m,fq)})(window,function(n,o){return function(i){var r={};function a(l){if(r[l])return r[l].exports;var s=r[l]={i:l,l:!1,exports:{}};return i[l].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=i,a.c=r,a.d=function(l,s,c){a.o(l,s)||Object.defineProperty(l,s,{enumerable:!0,get:c})},a.r=function(l){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},a.t=function(l,s){if(1&s&&(l=a(l)),8&s||4&s&&typeof l=="object"&&l&&l.__esModule)return l;var c=Object.create(null);if(a.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:l}),2&s&&typeof l!="string")for(var u in l)a.d(c,u,(function(d){return l[d]}).bind(null,u));return c},a.n=function(l){var s=l&&l.__esModule?function(){return l.default}:function(){return l};return a.d(s,"a",s),s},a.o=function(l,s){return Object.prototype.hasOwnProperty.call(l,s)},a.p="",a(a.s=0)}([function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=a(1);Object.defineProperty(r,"default",{enumerable:!0,get:function(){return function(s){return s&&s.__esModule?s:{default:s}}(l).default}}),i.exports=r.default},function(i,r,a){Object.defineProperty(r,"__esModule",{value:!0});var l=Object.assign||function(A){for(var w=1;w0&&p[0]!==this)return!1;var R=b.target===document.body||x,H=this.childrenContainer&&this.childrenContainer.contains(b.target);if(!(S?H:R))return!1;var D=(0,d.findMatchedKey)(b,v);return!!D&&(T(D,b),!0)}},{key:"render",value:function(){var b=this,C=this.props.children,P=Object.assign({},this.props),v=!0,T=!1,y=void 0;try{for(var S,x=Object.keys(w.propTypes)[Symbol.iterator]();!(v=(S=x.next()).done);v=!0)delete P[S.value]}catch(R){T=!0,y=R}finally{try{!v&&x.return&&x.return()}finally{if(T)throw y}}return C?c.default.createElement("span",l({ref:function(R){b.childrenContainer=R}},P),C):null}}]),w}();r.default=g,g.propTypes={handleKeys:u.default.array,handleEventType:u.default.oneOf(["keydown","keyup","keypress"]),handleFocusableElements:u.default.bool,onKeyEvent:u.default.func,isDisabled:u.default.bool,isExclusive:u.default.bool,children:u.default.any},g.defaultProps={handleKeys:[],handleFocusableElements:!1,handleEventType:"keydown",onKeyEvent:function(){return null}},i.exports=r.default},function(i,r){i.exports=n},function(i,r){i.exports=o},function(i,r,a){function l(C,P,v){return P in C?Object.defineProperty(C,P,{value:v,enumerable:!0,configurable:!0,writable:!0}):C[P]=v,C}Object.defineProperty(r,"__esModule",{value:!0}),r.matchKeyEvent=b,r.findMatchedKey=function(C,P){var v=P.map(function(T){var y=T.toLowerCase(),S=w[y];return S||[T]}).reduce(function(T,y){return T.concat(y)},[]).find(function(T){return b(C,T)});return!v&&P.includes("all")&&(v="other"),v};var s={backspace:[8],del:[46],delete:[46],ins:[45],insert:[45],tab:[9],enter:[13],return:[13],esc:[27],space:[32],pageup:[33],pagedown:[34],end:[35],home:[36],left:[37],up:[38],right:[39],down:[40],shift:[16],ctrl:[17],alt:[18],cap:[20],num:[144],clear:[12],meta:[91],";":[186,59],"=":[187,61],",":[188,44],"-":[189,45,173,109],minus:[189,45,173,109],".":[190,110],"/":[191,111],"`":[192],"[":[219],"\\":[220],"]":[221],"*":[106],"+":[107],plus:[107],"'":[222],quote:[222]},c=Object.keys(s).reduce(function(C,P){return Object.assign(C,l({},P.toUpperCase(),s[P]))},{}),u="0123456789".split("").reduce(function(C,P,v){return Object.assign(C,l({},P,[v+48,v+96]))},{}),d="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").reduce(function(C,P,v){return Object.assign(C,l({},P.toLowerCase(),[v+65]),l({},P,[v+65]))},{}),f="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19".split(",").reduce(function(C,P,v){return Object.assign(C,l({},"f"+P,[v+112]))},{}),p={control:"ctrl",ctrl:"ctrl",shift:"shift",meta:"meta",cmd:"meta",command:"meta",option:"alt",alt:"alt"},g=r.AllKeys=Object.assign({},s,c,u,d,f),A=Object.assign({},u,d),w={all:Object.keys(g),alphanumeric:Object.keys(A),numeric:Object.keys(u),alphabetic:Object.keys(d),function:Object.keys(f)};function b(C,P){var v=C.which||C.keyCode,T=C.type,y=Object.keys(p).filter(function(N){return C[N+"Key"]}).sort(),S=P.toLowerCase().trim(),x=S==="+"?["+"]:S.split(/\s?\+\s?/),R=x.pop(),H=g[R],D=x;if(T==="keypress")return P==String.fromCharCode(v).toLowerCase();if(D.length===0&&y.length===0)return H.indexOf(v)>=0;if(D.length>0&&y.length>0){var k=D.map(function(N){return p[N]}).sort(),W=k.length===y.length&&k.every(function(N,L){return y[L]===N});return H.indexOf(v)>=0&&W}return D.length==0&&y.length===1&&R===y[0]}}])})})(lrt);var y2o=lrt.exports;const nIe=kr(y2o),A2o=be.memo(()=>{var s,c;const t=M(dn),e=M(yge),n=M(mge),o=M(En),i=m.useRef(!1),r=m.useRef(!1);M(uYe),M(dYe),ht(u=>u.selectedElementId),m.useEffect(()=>{Ln.setState({listenToAutoDeletionByDeleteRef:i,listenToAutoDeletionByCutRef:r})},[]);const a=M2.debounce(()=>{var v,T;const u=ht.getState().selectedElementId,d=M.getState().selectedElementIdSet;if(!u||d.size===0)return;const f=M.getState().getAutoDeletedElements();if(!f)return;const p=M.getState().deletedElements,g=M.getState().elementsToPaste,A=(v=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:v.current,w=(T=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:T.current;let b=[],C="";A?(Ln.getState().setListenToAutoDeletionByCut(!1),b=[...g,...f],C="Cut"):w&&(Ln.getState().setListenToAutoDeletionByDelete(!1),b=[...p,...f],C="Delete");const P={name:C,timestamp:Date.now(),deletedElements:[...b],selectedElementId:u,selectedElementIdSet:new Set(d),undo(){const y=P.deletedElements;if(!y||y.length===0)return;for(const x of this.deletedElements)if(x.type===z.Wall){const R=x;R.leftJoints.length>0&&e(R.leftJoints[0],[R.id]),R.rightJoints.length>0&&n(R.rightJoints[0],[R.id])}else x.type===z.Roof&&t(R=>{R.addedRoofIdSet.add(x.id)});const S=y.find(x=>x.id===this.selectedElementId)??null;t(x=>{x.elements.push(...y),x.selectedElement=S,x.selectedElementIdSet=new Set(this.selectedElementIdSet),x.updateWallMapOnFoundationFlag=!x.updateWallMapOnFoundationFlag,x.deletedRoofId=null,x.autoDeletedRoofs=null,x.deletedRoofIdSet.clear(),x.autoDeletedRoofIdSet.clear(),x.autoDeletedChild=null})},redo(){P.deletedElements.length!==0&&(t(y=>{y.selectedElement=y.elements.find(S=>S.id===this.selectedElementId)??null,y.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements())}};o(P),t(y=>{y.selectedElement=null,y.selectedElementIdSet.clear(),y.deletedRoofId=null,y.deletedRoofIdSet.clear(),y.autoDeletedRoofs=null,y.autoDeletedRoofIdSet.clear(),y.autoDeletedChild=null}),ht.getState().setPrimitiveStore("selectedElementId",null)},50);return(((s=Ln.getState().listenToAutoDeletionByCutRef)==null?void 0:s.current)||((c=Ln.getState().listenToAutoDeletionByDeleteRef)==null?void 0:c.current))&&M.getState().getAutoDeletedElements()&&a(),null}),oIe=["left","up","right","down","shift+left","shift+up","shift+right","shift+down","ctrl+shift+left","ctrl+shift+up","ctrl+shift+right","ctrl+shift+down","meta+shift+left","meta+shift+up","meta+shift+right","meta+shift+down","ctrl+f","meta+f","ctrl+o","meta+o","ctrl+s","meta+s","ctrl+c","meta+c","ctrl+x","meta+x","ctrl+v","meta+v","ctrl+[","meta+[","ctrl+]","meta+]","ctrl+z","meta+z","ctrl+y","meta+y","ctrl+m","meta+m","ctrl+u","meta+u","ctrl+b","meta+b","shift","esc","ctrl+home","ctrl+alt+h","ctrl+shift+o","meta+shift+o","ctrl+shift+s","meta+shift+s","delete","backspace","alt+backspace","f2","f4","ctrl"],w2o=be.memo(({canvas:t})=>{const e=M(dn),n=M(ha),o=M(lW),i=M(Sc),r=M(Z4t),a=M(En),l=M(hu)??!1,s=M(xb),c=M(Vn),u=M(Cje),d=M(hp),f=M(Owt),p=M(rr),g=M(mge),A=M(yge),w=M($wt),b=M(oge),C=.1,P=m.useMemo(()=>({lng:i}),[i]),v=(O,J)=>(t&&(t.style.cursor="default"),d(O,J)),T=()=>{if(M.getState().viewState.navigationView)return;const O=M.getState().set2DView,J={name:"Set 2D View",timestamp:Date.now(),checked:!l,undo:()=>{O(!J.checked)},redo:()=>{O(J.checked)}};a(J),O(!l),e(Z=>{Z.viewState.autoRotate=!1})},y=()=>{if(l)return;const O=M.getState().setNavigationView,J={name:"Set Navigation View",timestamp:Date.now(),checked:!M.getState().viewState.navigationView,undo:()=>{O(!J.checked)},redo:()=>{O(J.checked)}};a(J),O(!M.getState().viewState.navigationView),e(Z=>{Z.viewState.autoRotate=!1})},S=()=>{if(l)return;const O={name:"Auto Rotate",timestamp:Date.now(),checked:!M.getState().viewState.autoRotate,undo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!O.checked})},redo:()=>{e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=O.checked})}};a(O),e(J=>{J.objectTypeToAdd=z.None,J.groupActionMode=!1,J.viewState.autoRotate=!J.viewState.autoRotate})},x=(O,J,Z)=>{const ie=JSON.parse(JSON.stringify(O));if(ie.cx=J,ie.cy=Z,O.type===z.SolarPanel&&O.parentType===z.Roof){if(O.parentId&&O.foundationId){const ee=c(O.parentId),q=c(O.foundationId);if(ee&&q){const ae=In.getRoofBoundaryVertices(ee),ne=In.getSolarPanelVerticesOnRoof(ie,q);if(!rye(ne,ae)||!aye(ie,q,ne))return!1}}return!0}if(b(ie))return Do(j.t("message.MoveCancelledBecauseOfOverlap",P)),!1;if(ie.type===z.SolarPanel){const ee=p(O);if(ee&&!xe.isSolarCollectorWithinHorizontalSurface(ie,ee))return Do(j.t("message.MoveOutsideBoundaryCancelled",P)),!1}return!0},R=O=>{switch(O.type){case z.Roof:case z.Door:case z.Window:return!1;case z.SolarPanel:case z.Sensor:case z.Light:{const J=O;return J.parentType===z.Wall||J.parentType===z.Roof?!1:J.parentType===z.Cuboid?J.rotation[2]===1:!0}case z.Wall:{const J=O;return!(J.leftJoints.length!==0||J.rightJoints.length!==0)}default:return!0}},H=(O,J)=>{switch(O){case z.Foundation:case z.Cuboid:return J===z.Foundation||J===z.Cuboid;default:return J!==z.Foundation&&J!==z.Cuboid}},D=O=>{const J=M.getState().elements.filter(q=>hd(q)&&q.parentId===Zo),Z=new Set(O.map(q=>q.id)),ie=new Map;for(const q of J){const ae=xe.fetchFoundationVertexCoordinates(q);ie.set(q.id,ae)}const ee=q=>{for(const ae of J)!Z.has(ae.id)&&xe.areBasesOverlapped(q.id,ae.id,ie)&&(Z.add(ae.id),O.push(ae),ae.enableGroupMaster&&ee(ae))};for(const q of O)q.enableGroupMaster&&ee(q)},k=()=>{const O=[],J=M.getState().selectedElementIdSet,Z=s();if(!Z||J.size===0)return O;if(Z){const ie=Z.type,ee=Z.parentId,q=M.getState().elements.filter(ae=>H(ie,ae.type)&&R(ae)&&ae.parentId===ee&&J.has(ae.id));O.push(...q),hd(Z)&&O.length>0&&ee===Zo&&D(O)}return O},W=(O,J,Z,ie)=>{switch(ie){case wl.Left:return[O-Z,J];case wl.Right:return[O+Z,J];case wl.Up:return[O,J+Z];case wl.Down:return[O,J-Z]}},N=(O,J)=>{e(Z=>{var ee,q;let ie=!1;for(const ae of Z.elements)if(O.has(ae.id)){const ne=O.get(ae.id);if(ne!==void 0){const[se,le]=W(ae.cx,ae.cy,ne,J);if(ae.type===z.Wall){const te=ae,he=new re(se-te.cx,le-te.cy),pe=new re().fromArray(te.leftPoint).setZ(0).add(he),fe=new re().fromArray(te.rightPoint).setZ(0).add(he);te.leftPoint=pe.toArray(),te.rightPoint=fe.toArray(),ie=!0}ae.cx=se,ae.cy=le}}else Z.selectedElementIdSet.has(ae.id)&&Z.selectedElementIdSet.delete(ae.id);((ee=Z.selectedElement)==null?void 0:ee.type)===z.Cuboid||((q=Z.selectedElement)==null?void 0:q.type)===z.Foundation?Z.groupActionUpdateFlag=!Z.groupActionUpdateFlag:ie&&(Z.updateWallMapOnFoundationFlag=!Z.updateWallMapOnFoundationFlag)})},L=(O,J)=>{e(Z=>{for(const ie of Z.elements)(xe.isFoundationOrCuboid(ie)||xe.isPlantOrHuman(ie)&&ie.parentId===Zo)&&([ie.cx,ie.cy]=W(ie.cx,ie.cy,O,J))})},E=O=>O===wl.Left?wl.Right:O===wl.Right?wl.Left:O===wl.Up?wl.Down:O===wl.Down?wl.Up:(console.error("Undo direction is possibly incorrect:",O),O),U=(O,J)=>{if(!l)return;const Z=k(),ie=s(),ee=J*C;if(ie&&Z.length>0){const q=new Map;for(const ne of Z)switch(ne.type){case z.Foundation:case z.Cuboid:case z.Wall:case z.Tree:case z.Flower:case z.Human:{q.set(ne.id,ee);break}case z.Light:case z.Sensor:{const se=p(ie);if(se){let le=ee/se.lx;const[te,he]=W(ne.cx,ne.cy,le,O),pe=ne.lx/(2*se.lx),fe=ne.lx/(2*se.ly);switch(O){case wl.Left:case wl.Right:{const $=xe.clamp(te,-.5+pe,.5-pe);le=Math.abs($-ie.cx);break}case wl.Up:case wl.Down:{const $=xe.clamp(he,-.5+fe,.5-fe);le=Math.abs($-ie.cy);break}}q.set(ne.id,le)}break}case z.SolarPanel:case z.ParabolicDish:case z.ParabolicTrough:case z.FresnelReflector:case z.Heliostat:{const se=p(ne);if(se){let le=!0,te=ee;switch(O){case wl.Left:case wl.Right:{te=ee/se.lx;break}case wl.Up:case wl.Down:{te=ee/se.ly;break}}if(ne.type===z.SolarPanel){const[he,pe]=W(ne.cx,ne.cy,te,O);le=x(ne,he,pe)}if(le)q.set(ne.id,te);else return}break}}N(q,O);const ae={name:`Move Selected Elements ${O} By Key`,timestamp:Date.now(),direction:O,movedElementsDisplacementMap:new Map(q),undo:()=>{const ne=E(ae.direction);N(ae.movedElementsDisplacementMap,ne)},redo:()=>{N(ae.movedElementsDisplacementMap,ae.direction)}};a(ae)}else{L(ee,O);const q={name:`Move All ${O} By Key`,timestamp:Date.now(),direction:O,displacement:ee,undo:()=>{const ae=E(q.direction);L(q.displacement,ae)},redo:()=>{L(q.displacement,q.direction)}};a(q)}},F=O=>{M.getState().set(J=>{J.multiSelectionsMode=O})},B=O=>{const J=s(),Z=1;switch(O){case"left":U(wl.Left,Z);break;case"shift+left":U(wl.Left,Z/V5);break;case"ctrl+shift+left":case"meta+shift+left":U(wl.Left,Z*V5);break;case"right":U(wl.Right,Z);break;case"shift+right":U(wl.Right,Z/V5);break;case"ctrl+shift+right":case"meta+shift+right":U(wl.Right,Z*V5);break;case"down":U(wl.Down,Z);break;case"shift+down":U(wl.Down,Z/V5);break;case"ctrl+shift+down":case"meta+shift+down":U(wl.Down,Z*V5);break;case"up":U(wl.Up,Z);break;case"shift+up":U(wl.Up,Z/V5);break;case"ctrl+shift+up":case"meta+shift+up":U(wl.Up,Z*V5);break;case"ctrl+[":case"meta+[":ZG(.9);break;case"ctrl+]":case"meta+]":ZG(1.1);break;case"ctrl+c":case"meta+c":J&&J.type!==z.Roof&&(u(J.id),e(ie=>{ie.selectedElementIdSet.clear(),ie.selectedElementIdSet.add(J.id)}),n&&e(ie=>{ie.actionInfo={name:"Copy",timestamp:new Date().getTime(),elementId:J.id,elementType:J.type}}));break;case"ctrl+x":case"meta+x":if(!J||J.type===z.Roof)break;if(J.locked)hn(j.t("message.ThisElementIsLocked",P));else{const ie=v(J.id,!0);if(ie.length===0)break;if(xe.isElementTriggerAutoDeletion(J))Ln.getState().setListenToAutoDeletionByCut(!0),ht.getState().setPrimitiveStore("selectedElementId",J.id);else{const ee={name:"Cut",timestamp:Date.now(),deletedElements:ie,selectedElementId:J.id,undo:()=>{const q=ee.deletedElements;if(q.length===0)return;const ae=q.find(ne=>ne.id===ee.selectedElementId);ae&&e(ne=>{if(ne.elements.push(...q),ne.selectedElementIdSet.clear(),ne.selectedElementIdSet.add(ae.id),ne.selectedElement=ae,ae.type===z.Wall){const se=ae;let le=null,te=null;if(se.leftJoints.length>0&&(le=se.leftJoints[0]),se.rightJoints.length>0&&(te=se.rightJoints[0]),le||te)for(const he of ne.elements)he.id===le&&he.type===z.Wall&&(he.rightJoints[0]=se.id),he.id===te&&he.type===z.Wall&&(he.leftJoints[0]=se.id)}})},redo:()=>{ee.deletedElements&&ee.deletedElements.length>0&&v(ee.deletedElements[0].id,!0)}};a(ee)}}break;case"ctrl+v":case"meta+v":{const ie=f();if(ie.length>0){const ee={name:"Paste by Key",timestamp:Date.now(),pastedElements:JSON.parse(JSON.stringify(ie)),undo:()=>{for(const q of ee.pastedElements)d(q.id,!1)},redo:()=>{e(q=>{q.elements.push(...ee.pastedElements),q.selectedElement=ee.pastedElements[0]})}};a(ee)}break}case"ctrl+alt+h":case"ctrl+home":{if(!l){const ie=M.getState().viewState.cameraPosition,ee=M.getState().viewState.panCenter;if(ie[0]!==ie[1]||ie[1]!==ie[2]||ie[0]!==ie[2]||ee[0]!==0||ee[1]!==0||ee[2]!==0){const q={name:"Reset View",timestamp:Date.now(),oldCameraPosition:[...ie],oldPanCenter:[...ee],undo:()=>{const ae=Ln.getState().orbitControlsRef;ae!=null&&ae.current&&(ae.current.object.position.set(q.oldCameraPosition[0],q.oldCameraPosition[1],q.oldCameraPosition[2]),ae.current.target.set(q.oldPanCenter[0],q.oldPanCenter[1],q.oldPanCenter[2]),ae.current.update(),e(ne=>{const se=ne.viewState;se.cameraPosition=[...q.oldCameraPosition],se.panCenter=[...q.oldPanCenter]}))},redo:()=>{QG()}};a(q),e(ae=>{ae.objectTypeToAdd=z.None,ae.groupActionMode=!1,ae.viewState.orthographic=!1}),QG()}}break}case"f2":case"ctrl+b":case"meta+b":T();break;case"ctrl+u":case"meta+u":y();break;case"f4":case"ctrl+m":case"meta+m":S();break;case"ctrl+f":case"meta+f":ht.getState().set(ie=>{ie.createNewFileFlag=!0,ie.openModelsMap=!1}),e(ie=>{ie.objectTypeToAdd=z.None,ie.groupActionMode=!1,window.history.pushState({},document.title,qp),n&&(ie.actionInfo={name:"Create New File",timestamp:new Date().getTime()})});break;case"ctrl+s":case"meta+s":ht.getState().set(ie=>{ie.saveLocalFileDialogVisible=!0}),n&&e(ie=>{ie.actionInfo={name:"Save Local File",timestamp:new Date().getTime()}});break;case"ctrl+shift+o":case"meta+shift+o":ht.getState().set(ie=>{ie.listCloudFilesFlag=!0,ie.openModelsMap=!1}),n&&e(ie=>{ie.actionInfo={name:"List Cloud Files",timestamp:new Date().getTime()}});break;case"ctrl+shift+s":case"meta+shift+s":ht.getState().setSaveCloudFileFlag(!0),n&&e(ie=>{ie.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}});break;case"alt+backspace":case"backspace":case"delete":{const ie=M.getState().selectedElementIdSet;if(!J||ie.size===0)break;const ee=M.getState().removeSelectedElements();if(ee.length===0)break;if((()=>{const ae=ee.filter(le=>le.type===z.Foundation),ne=new Set(ae.map(le=>le.id));return!!ee.find(le=>!ne.has(le.parentId)&&xe.isElementTriggerAutoDeletion(le))})())Ln.getState().setListenToAutoDeletionByDelete(!0),ht.getState().setPrimitiveStore("selectedElementId",J.id);else{if(ee.length===1){const ae={name:"Delete",timestamp:Date.now(),deletedElements:[...ee],selectedElementId:J.id,undo:()=>{const ne=ae.deletedElements;if(!ne||ne.length===0)return;const se=ne.find(le=>le.id===ae.selectedElementId);if(se&&(e(le=>{le.elements.push(...ne),le.selectedElementIdSet.clear(),le.selectedElementIdSet.add(se.id),le.selectedElement=se,le.updateWallMapOnFoundationFlag=!le.updateWallMapOnFoundationFlag,le.deletedRoofId=null,le.deletedRoofIdSet.clear()}),se.type===z.Wall)){const le=se;le.leftJoints.length>0&&A(le.leftJoints[0],[le.id]),le.rightJoints.length>0&&g(le.rightJoints[0],[le.id])}},redo:()=>{const ne=ae.deletedElements;if(!ne||ne.length===0)return;const se=ne.find(le=>le.id===ae.selectedElementId);se&&v(se.id,!1)}};a(ae)}else{const ae={name:"Delete Multiple",timestamp:Date.now(),deletedElements:[...ee],selectedElementId:J.id,selectedElementIdSet:new Set(ie),undo(){const ne=this.deletedElements;if(!ne||ne.length===0)return;const se=ne.find(le=>le.id===this.selectedElementId);if(se){e(le=>{le.elements.push(...ne),le.selectedElement=se,le.selectedElementIdSet=new Set(this.selectedElementIdSet),le.updateWallMapOnFoundationFlag=!le.updateWallMapOnFoundationFlag,le.deletedRoofId=null,le.deletedRoofIdSet.clear()});for(const le of this.deletedElements)if(le.type===z.Wall){const te=le;te.leftJoints.length>0&&A(te.leftJoints[0],[te.id]),te.rightJoints.length>0&&g(te.rightJoints[0],[te.id])}}},redo(){e(ne=>{ne.selectedElement=ne.elements.find(se=>se.id===this.selectedElementId)??null,ne.selectedElementIdSet=new Set(this.selectedElementIdSet)}),M.getState().removeSelectedElements()}};a(ae)}e(ae=>{ae.selectedElement=null,ae.selectedElementIdSet.clear()})}break}case"ctrl+z":case"meta+z":if(r.hasUndo()){const ie=r.undo();M.getState().groupActionMode&&e(ee=>{ee.groupActionUpdateFlag=!ee.groupActionUpdateFlag}),ie&&hn(j.t("menu.edit.Undo",P)+": "+ie,QV),n&&e(ee=>{ee.actionInfo={name:"Undo",timestamp:new Date().getTime()}})}break;case"ctrl+y":case"meta+y":if(r.hasRedo()){const ie=r.redo();ie&&hn(j.t("menu.edit.Redo",P)+": "+ie,QV),M.getState().groupActionMode&&e(ee=>{ee.groupActionUpdateFlag=!ee.groupActionUpdateFlag}),n&&e(ee=>{ee.actionInfo={name:"Redo",timestamp:new Date().getTime()}})}break;case"shift":M.getState().viewState.navigationView&&ht.getState().set(ie=>{ie.navigationMoveSpeed=5*M.getState().minimumNavigationMoveSpeed,ie.navigationTurnSpeed=5*M.getState().minimumNavigationTurnSpeed}),w(!0);break;case"esc":{const ie=M.getState().addedFoundationId,ee=M.getState().addedCuboidId,q=M.getState().addedWallId,ae=M.getState().addedWindowId,ne=M.getState().addedDoorId;ie?d(ie,!1):ee?d(ee,!1):q?d(q,!1):ae?(d(ae,!1),ht.getState().setPrimitiveStore("elementBeingCanceledId",ae)):ne&&(d(ne,!1),ht.getState().setPrimitiveStore("elementBeingCanceledId",ne)),e(se=>{se.objectTypeToAdd=z.None,se.actionModeLock=!1,se.moveHandleType=null,se.resizeHandleType=null,se.groupActionMode=!1}),Ln.getState().setEnableOrbitController(!0),o();break}case"ctrl":{F(!0);break}}},_=O=>{switch(O){case"shift":M.getState().viewState.navigationView&&ht.getState().set(J=>{J.navigationMoveSpeed=M.getState().minimumNavigationMoveSpeed,J.navigationTurnSpeed=M.getState().minimumNavigationTurnSpeed}),w(!1);break;case"ctrl+o":case"meta+o":M.getState().localFileDialogRequested||(ht.getState().set(J=>{J.openLocalFileFlag=!0}),e(J=>{J.localFileDialogRequested=!0,n&&(J.actionInfo={name:"Open Local File",timestamp:new Date().getTime()})}));break;case"ctrl":{F(!1);break}}};m.useEffect(()=>()=>{Y.current=null},[]);const Y=m.useRef(null);return h.jsxs(h.Fragment,{children:[h.jsx(nIe,{handleKeys:oIe,handleEventType:"keydown",onKeyEvent:(O,J)=>{J.preventDefault(),Y.current!==O&&(Y.current=O,B(O))}}),h.jsx(nIe,{handleKeys:oIe,handleEventType:"keyup",onKeyEvent:(O,J)=>{J.preventDefault(),Y.current=null,_(O)}}),h.jsx(A2o,{})]})}),v2o="/aladdin/assets/cloud-B68yt6QG.png",x2o=be.memo(()=>{const t=M(dn),e=M(swt),{scene:n}=Xi();m.useEffect(()=>{const i=n.children.filter(l=>l.name==="Content"),r=[];if(i.length>0){const l=i[0].children;for(const s of l)o(s,r)}const a=[];for(const l of r)a.push(new pf().setFromObject(l));if(a.length>0){const l=new re,s=new re;for(const u of a)l.min(u.min),s.max(u.max);let c=Math.abs(l.x);c{u.aabb=new pf(l,s),!isNaN(c)&&isFinite(c)&&(u.sceneRadius=Math.round(Math.max(10,c*1.25)))})}},[e]);const o=(i,r)=>{if(i.userData.aabb&&r.push(i),i.children.length>0)for(const a of i.children)o(a,r)};return h.jsx(h.Fragment,{})}),hfe=t=>{const e=new re().subVectors(t.localToWorld(new re(0,0,1e3)),t.position);return e.x===0&&e.y===0&&t.getWorldDirection(e),e},OT=t=>{const e=document.getElementById("compassCanvas"),n=o=>{ht.getState().set(i=>{i.isCameraUnderGround=o})};if(e){const o=hfe(t).normalize(),r=(Math.atan2(o.y,o.x)+Math.PI/2)/Math.PI*180;e.style.transform=`rotate(${r}deg)`;const a=t.position.z<.001;a&&!ht.getState().isCameraUnderGround?n(!0):!a&&ht.getState().isCameraUnderGround&&n(!1)}},b2o=be.memo(()=>{const t=M(dn),e=M(hu),n=M(lAt),o=M(ABe),i=M(AH),r=M(mh),a=M(sAt),l=M(cAt),s=M(pq)??kk,c=M(hq),u=ht(y4t),d=ht(A4t),f=M(YBe),p=ht(VBe),g=c&&!e,A=Math.hypot(a[0],a[1],a[2]),w=(e?l*50:A*10)*r,b=m.useMemo(()=>new re(-w,-w,0),[w]),C=m.useMemo(()=>new re(w,w,w/2),[w]),{gl:P,invalidate:v,get:T,set:y,camera:S}=Xi(),x=m.useMemo(()=>{const F=T().camera;return F.up.set(0,0,1),F},[]),R=m.useMemo(()=>P.domElement,[]),H=m.useRef(null),D=m.useRef(null),k=m.useRef(null);m.useEffect(()=>{Ln.setState({canvas:{gl:P,camera:S}}),!e&&D.current&&Ln.setState({canvas:{gl:P,camera:D.current}})},[e]),m.useEffect(()=>{M.getState().viewState.cameraPosition2D[2]<100&&t(F=>{F.viewState.cameraPosition2D[2]=150})},[]),m.useEffect(()=>{H&&H.current&&Ln.setState({orbitControlsRef:H})},[]),m.useEffect(()=>{H.current&&(H.current.addEventListener("change",W),H.current.addEventListener("start",N),H.current.addEventListener("end",L));const F=H.current;return()=>{F&&(F.removeEventListener("change",W),F.removeEventListener("start",N),F.removeEventListener("end",L))}},[g]),m.useEffect(()=>{const F=M.getState().viewState;if(H.current){if(D.current){if(g){const B=T().camera,_=F.cameraPositionNav??[5,-30,1],Y=F.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];B.position.fromArray(_),B.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"])}else{const B=E(F.cameraPosition??[0,0,20]),_=E(F.panCenter??[0,0,0]);D.current.position.copy(B),D.current.lookAt(_),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(_))}S.updateMatrixWorld(),OT(T().camera)}if(k.current){const B=E(F.cameraPosition2D??[0,0,1e3]).setZ(1e3),_=E(F.panCenter2D??[0,0,0]);k.current.position.copy(B),k.current.rotation.set(0,0,0),k.current.lookAt(_),k.current.zoom=F.cameraZoom,e&&(H.current.object=k.current,H.current.target.copy(_))}}},[i]),m.useEffect(()=>{if(!k.current||!D.current||!H.current)return;const F=M.getState().viewState,B=H.current,_=k.current,Y=D.current;e?(_.rotation.set(0,0,0),B.object=_,B.target.copy(E(F.panCenter2D??[0,0,0])),y({camera:_})):(B.object=Y,B.target.copy(E(F.panCenter??[0,0,0])),y({camera:Y}),OT(T().camera))},[e]),m.useEffect(()=>{e&&H.current&&(k.current&&(k.current.zoom=l,H.current.object=k.current),W(),H.current.update())},[l]);const W=()=>{v(),M.getState().viewState.orthographic||(OT(T().camera),H.current&&H.current.target.clamp(b,C))},N=()=>{ht.getState().set(F=>{F.duringCameraInteraction=!0})},L=()=>{ht.getState().set(F=>{F.duringCameraInteraction=!1}),t(F=>{if(!H.current)return;const B=F.viewState,_=T().camera,Y=_.position,O=H.current.target;B.orthographic?(_.zoom&&!isNaN(_.zoom)?B.cameraZoom=_.zoom:B.cameraZoom=20,B.cameraPosition2D=[Y.x,Y.y,150],B.panCenter2D=[O.x,O.y,O.z]):g?(B.cameraPositionNav=[Y.x,Y.y,Y.z],B.cameraRotationNav=[_.rotation.x,_.rotation.y,_.rotation.z],F.cameraDirection=hfe(_)):(B.cameraPosition=[Y.x,Y.y,Y.z],B.panCenter=[O.x,O.y,O.z],F.cameraDirection=hfe(_))})},E=F=>F&&Array.isArray(F)?new re(F[0],F[1],F[2]):F&&F.x!==null?new re(F.x,F.y,F.z):new re(0,0,5);rA(()=>{o&&H.current&&H.current.update()});const U=Ln(F=>F.compassRef);return m.useEffect(()=>{OT(T().camera)},[U]),m.useEffect(()=>{H.current&&(g&&!p&&!f?H.current.listenToKeyEvents(window):H.current.removeKeyEvents())},[g,p,f]),m.useEffect(()=>{if(!H.current)return;const F=M.getState().viewState;if(g){const B=T().camera,_=F.cameraPositionNav??[5,-30,1],Y=F.cameraRotationNav??[1.5374753309166491,.16505866097993566,.005476951734475092];B.position.fromArray(_),B.rotation.fromArray([Y[0],Y[1],Y[2],"XYZ"]),B.updateMatrixWorld(),OT(T().camera)}else if(H.current&&D.current){const B=E(F.cameraPosition??[0,0,20]),_=E(F.panCenter??[0,0,0]);D.current.position.copy(B),D.current.lookAt(_),D.current.zoom=1,e||(H.current.object=D.current,H.current.target.copy(_)),D.current.updateMatrixWorld(),OT(D.current)}v()},[g]),h.jsxs(h.Fragment,{children:[h.jsx(Y6t,{ref:D,fov:QNe,far:s,up:[0,0,1]}),h.jsx(B6t,{ref:k,up:[0,0,1]}),h.jsx("myOrbitControls",{ref:H,args:[x,R],autoRotate:o,enableRotate:n,enablePan:!0,enableZoom:!0,enableDamping:!1,maxAzimuthAngle:1/0,minAzimuthAngle:-1/0,maxPolarAngle:Vt,minPolarAngle:0,moveSpeed:u??3,turnSpeed:d??3})]})});var pfe={exports:{}},gfe={exports:{}},DF=1e3,EF=DF*60,kF=EF*60,FF=kF*24,S2o=FF*365.25,T2o=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return P2o(t);if(n==="number"&&isNaN(t)===!1)return e.long?R2o(t):C2o(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function P2o(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),o=(e[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return n*S2o;case"days":case"day":case"d":return n*FF;case"hours":case"hour":case"hrs":case"hr":case"h":return n*kF;case"minutes":case"minute":case"mins":case"min":case"m":return n*EF;case"seconds":case"second":case"secs":case"sec":case"s":return n*DF;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function C2o(t){return t>=FF?Math.round(t/FF)+"d":t>=kF?Math.round(t/kF)+"h":t>=EF?Math.round(t/EF)+"m":t>=DF?Math.round(t/DF)+"s":t+"ms"}function R2o(t){return EO(t,FF,"day")||EO(t,kF,"hour")||EO(t,EF,"minute")||EO(t,DF,"second")||t+" ms"}function EO(t,e,n){if(!(t=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}e.formatters.j=function(c){try{return JSON.stringify(c)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}};function i(c){var u=this.useColors;if(c[0]=(u?"%c":"")+this.namespace+(u?" %c":" ")+c[0]+(u?"%c ":" ")+"+"+e.humanize(this.diff),!!u){var d="color: "+this.color;c.splice(1,0,d,"color: inherit");var f=0,p=0;c[0].replace(/%[a-zA-Z%]/g,function(g){g!=="%%"&&(f++,g==="%c"&&(p=f))}),c.splice(p,0,d)}}function r(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(c){try{c==null?e.storage.removeItem("debug"):e.storage.debug=c}catch{}}function l(){var c;try{c=e.storage.debug}catch{}return!c&&typeof process<"u"&&"env"in process&&(c=n.DEBUG),c}e.enable(l());function s(){try{return window.localStorage}catch{}}})(pfe,pfe.exports);var M2o=pfe.exports,iIe=M2o("jsonp"),I2o=E2o,z2o=0;function D2o(){}function E2o(t,e,n){typeof e=="function"&&(n=e,e={}),e||(e={});var o=e.prefix||"__jp",i=e.name||o+z2o++,r=e.param||"callback",a=e.timeout!=null?e.timeout:6e4,l=encodeURIComponent,s=document.getElementsByTagName("script")[0]||document.head,c,u;a&&(u=setTimeout(function(){d(),n&&n(new Error("Timeout"))},a));function d(){c.parentNode&&c.parentNode.removeChild(c),window[i]=D2o,u&&clearTimeout(u)}function f(){window[i]&&d()}return window[i]=function(p){iIe("jsonp got",p),d(),n&&n(null,p)},t+=(~t.indexOf("?")?"&":"?")+r+"="+l(i),t=t.replace("?&","?"),iIe('jsonp req "%s"',t),c=document.createElement("script"),c.src=t,s.parentNode.insertBefore(c,s),f}const tS=kr(I2o);var k2o=Object.defineProperty,F2o=Object.defineProperties,L2o=Object.getOwnPropertyDescriptors,iJ=Object.getOwnPropertySymbols,srt=Object.prototype.hasOwnProperty,crt=Object.prototype.propertyIsEnumerable,rIe=(t,e,n)=>e in t?k2o(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ig=(t,e)=>{for(var n in e||(e={}))srt.call(e,n)&&rIe(t,n,e[n]);if(iJ)for(var n of iJ(e))crt.call(e,n)&&rIe(t,n,e[n]);return t},lee=(t,e)=>F2o(t,L2o(e)),see=(t,e)=>{var n={};for(var o in t)srt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&iJ)for(var o of iJ(t))e.indexOf(o)<0&&crt.call(t,o)&&(n[o]=t[o]);return n};function X7(t){return n=>{var o=n,{bgStyle:i={},borderRadius:r=0,iconFillColor:a="white",round:l=!1,size:s=64}=o,c=see(o,["bgStyle","borderRadius","iconFillColor","round","size"]);return h.jsxs("svg",lee(ig({viewBox:"0 0 64 64",width:s,height:s},c),{children:[l?h.jsx("circle",{cx:"32",cy:"32",r:"32",fill:t.color,style:i}):h.jsx("rect",{width:"64",height:"64",rx:r,ry:r,fill:t.color,style:i}),h.jsx("path",{d:t.path,fill:a})]}))}}const W2o=X7({color:"#7f7f7f",networkName:"email",path:"M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z"}),N2o=W2o;function Ks(t){const e=Object.entries(t).filter(([,n])=>n!=null).map(([n,o])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(o))}`);return e.length>0?`?${e.join("&")}`:""}const U2o=t=>!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function",B2o=(t,e)=>({left:window.outerWidth/2+(window.screenX||window.screenLeft||0)-t/2,top:window.outerHeight/2+(window.screenY||window.screenTop||0)-e/2}),j2o=(t,e)=>({top:(window.screen.height-e)/2,left:(window.screen.width-t)/2});function Y2o(t,e,n){var o=e,{height:i,width:r}=o,a=see(o,["height","width"]);const l=ig({height:i,width:r,location:"no",toolbar:"no",status:"no",directories:"no",menubar:"no",scrollbars:"yes",resizable:"no",centerscreen:"yes",chrome:"yes"},a),s=window.open(t,"",Object.keys(l).map(c=>`${c}=${l[c]}`).join(", "));if(n){const c=window.setInterval(()=>{try{(s===null||s.closed)&&(window.clearInterval(c),n(s))}catch(u){console.error(u)}},1e3)}return s}function O2o(t){var e=t,{beforeOnClick:n,children:o,className:i,disabled:r,disabledStyle:a={opacity:.6},forwardedRef:l,networkLink:s,networkName:c,onClick:u,onShareWindowClose:d,openShareDialogOnClick:f=!0,opts:p,resetButtonStyle:g=!0,style:A,url:w,windowHeight:b=400,windowPosition:C="windowCenter",windowWidth:P=550}=e,v=see(e,["beforeOnClick","children","className","disabled","disabledStyle","forwardedRef","networkLink","networkName","onClick","onShareWindowClose","openShareDialogOnClick","opts","resetButtonStyle","style","url","windowHeight","windowPosition","windowWidth"]);const T=async x=>{const R=s(w,p);if(!r){if(x.preventDefault(),n){const H=n();U2o(H)&&await H}if(f){const H=ig({height:b,width:P},C==="windowCenter"?B2o(P,b):j2o(P,b));Y2o(R,H,d)}u&&u(x,R)}},y=_n("react-share__ShareButton",{"react-share__ShareButton--disabled":!!r,disabled:!!r},i),S=ig(ig(g?{backgroundColor:"transparent",border:"none",padding:0,font:"inherit",color:"inherit",cursor:"pointer"}:{},A),r&&a);return h.jsx("button",lee(ig({},v),{className:y,onClick:T,ref:l,style:S,children:o}))}function A0(t,e,n,o){function i(r,a){const l=n(r),s=ig({},r);return Object.keys(l).forEach(u=>{delete s[u]}),h.jsx(O2o,lee(ig(ig({},o),s),{forwardedRef:a,networkName:t,networkLink:e,opts:n(r)}))}return i.displayName=`ShareButton-${t}`,m.forwardRef(i)}function _2o(t,{subject:e,body:n,separator:o}){return"mailto:"+Ks({subject:e,body:n?n+o+t:t})}const V2o=A0("email",_2o,t=>({subject:t.subject,body:t.body,separator:t.separator||" "}),{openShareDialogOnClick:!1,onClick:(t,e)=>{window.location.href=e}}),G2o=V2o,X2o=X7({color:"#0965FE",networkName:"facebook",path:"M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z"}),J2o=X2o;function K2o(t,{appId:e,redirectUri:n,to:o}){return"https://www.facebook.com/dialog/send"+Ks({link:t,redirect_uri:n||t,app_id:e,to:o})}A0("facebookmessenger",K2o,t=>({appId:t.appId,redirectUri:t.redirectUri,to:t.to}),{windowWidth:1e3,windowHeight:820});class q2o extends Error{constructor(e){super(e),this.name="AssertionError"}}function r0(t,e){if(!t)throw new q2o(e)}function $2o(t,{hashtag:e}){return r0(t,"facebook.url"),"https://www.facebook.com/sharer/sharer.php"+Ks({u:t,hashtag:e})}const Q2o=A0("facebook",$2o,t=>({hashtag:t.hashtag}),{windowWidth:550,windowHeight:400}),Z2o=Q2o;function e5o(){const t=m.useRef(!1);return m.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),m.useCallback(()=>t.current,[])}function t5o(t){var e=t,{children:n=f=>f,className:o,getCount:i,url:r}=e,a=see(e,["children","className","getCount","url"]);const l=e5o(),[s,c]=m.useState(void 0),[u,d]=m.useState(!1);return m.useEffect(()=>{d(!0),i(r,f=>{l()&&(c(f),d(!1))})},[r]),h.jsx("span",lee(ig({className:_n("react-share__ShareCount",o)},a),{children:!u&&s!==void 0&&n(s)}))}function nS(t){const e=n=>h.jsx(t5o,ig({getCount:t},n));return e.displayName=`ShareCount(${t.name})`,e}function n5o(t,e){const n=`https://graph.facebook.com/?id=${t}&fields=og_object{engagement}`;tS(n,(o,i)=>{e(!o&&i&&i.og_object&&i.og_object.engagement?i.og_object.engagement.count:void 0)})}nS(n5o);function o5o(t,{title:e}){return r0(t,"hatena.url"),`http://b.hatena.ne.jp/add?mode=confirm&url=${t}&title=${e}`}A0("hatena",o5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"});function i5o(t,e){tS("https://bookmark.hatenaapis.com/count/entry"+Ks({url:t}),(o,i)=>{e(i??void 0)})}nS(i5o);function r5o(t,{title:e,description:n}){return r0(t,"instapaper.url"),"http://www.instapaper.com/hello2"+Ks({url:t,title:e,description:n})}A0("instapaper",r5o,t=>({title:t.title,description:t.description}),{windowWidth:500,windowHeight:500,windowPosition:"windowCenter"});const a5o=X7({color:"#00b800",networkName:"line",path:"M52.62 30.138c0 3.693-1.432 7.019-4.42 10.296h.001c-4.326 4.979-14 11.044-16.201 11.972-2.2.927-1.876-.591-1.786-1.112l.294-1.765c.069-.527.142-1.343-.066-1.865-.232-.574-1.146-.872-1.817-1.016-9.909-1.31-17.245-8.238-17.245-16.51 0-9.226 9.251-16.733 20.62-16.733 11.37 0 20.62 7.507 20.62 16.733zM27.81 25.68h-1.446a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-8.985a.402.402 0 0 0-.402-.401zm9.956 0H36.32a.402.402 0 0 0-.402.401v5.338L31.8 25.858a.39.39 0 0 0-.031-.04l-.002-.003-.024-.025-.008-.007a.313.313 0 0 0-.032-.026.255.255 0 0 1-.021-.014l-.012-.007-.021-.012-.013-.006-.023-.01-.013-.005-.024-.008-.014-.003-.023-.005-.017-.002-.021-.003-.021-.002h-1.46a.402.402 0 0 0-.402.401v8.985c0 .221.18.4.402.4h1.446a.401.401 0 0 0 .402-.4v-5.337l4.123 5.568c.028.04.063.072.101.099l.004.003a.236.236 0 0 0 .025.015l.012.006.019.01a.154.154 0 0 1 .019.008l.012.004.028.01.005.001a.442.442 0 0 0 .104.013h1.446a.4.4 0 0 0 .401-.4v-8.985a.402.402 0 0 0-.401-.401zm-13.442 7.537h-3.93v-7.136a.401.401 0 0 0-.401-.401h-1.447a.4.4 0 0 0-.401.401v8.984a.392.392 0 0 0 .123.29c.072.068.17.111.278.111h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401zm21.429-5.287c.222 0 .401-.18.401-.402v-1.446a.401.401 0 0 0-.401-.402h-5.778a.398.398 0 0 0-.279.113l-.005.004-.006.008a.397.397 0 0 0-.111.276v8.984c0 .108.043.206.112.278l.005.006a.401.401 0 0 0 .284.117h5.778a.4.4 0 0 0 .401-.401v-1.447a.401.401 0 0 0-.401-.401h-3.93v-1.519h3.93c.222 0 .401-.18.401-.402V29.85a.401.401 0 0 0-.401-.402h-3.93V27.93h3.93z"}),l5o=a5o;function s5o(t,{title:e}){return r0(t,"line.url"),"https://social-plugins.line.me/lineit/share"+Ks({url:t,text:e})}const c5o=A0("line",s5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500}),u5o=c5o,d5o=X7({color:"#0077B5",networkName:"linkedin",path:"M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z"}),f5o=d5o;function h5o(t,{title:e,summary:n,source:o}){return r0(t,"linkedin.url"),"https://linkedin.com/shareArticle"+Ks({url:t,mini:"true",title:e,summary:n,source:o})}const p5o=A0("linkedin",h5o,({title:t,summary:e,source:n})=>({title:t,summary:e,source:n}),{windowWidth:750,windowHeight:600}),g5o=p5o;function m5o(t,{title:e,description:n}){return r0(t,"livejournal.url"),"https://www.livejournal.com/update.bml"+Ks({subject:e,event:n})}A0("livejournal",m5o,t=>({title:t.title,description:t.description}),{windowWidth:660,windowHeight:460});function y5o(t,{title:e,description:n,imageUrl:o}){return r0(t,"mailru.url"),"https://connect.mail.ru/share"+Ks({url:t,title:e,description:n,image_url:o})}A0("mailru",y5o,t=>({title:t.title,description:t.description,imageUrl:t.imageUrl}),{windowWidth:660,windowHeight:460});function A5o(t,{title:e,description:n,image:o}){return r0(t,"ok.url"),"https://connect.ok.ru/offer"+Ks({url:t,title:e,description:n,imageUrl:o})}A0("ok",A5o,t=>({title:t.title,description:t.description,image:t.image}),{windowWidth:588,windowHeight:480,windowPosition:"screenCenter"});function w5o(t,e){window.OK||(window.OK={Share:{count:function(r,a){var l,s;(s=(l=window.OK.callbacks)[r])==null||s.call(l,a)}},callbacks:[]});const n="https://connect.ok.ru/dk",o=window.OK.callbacks.length;return window.ODKL={updateCount(i,r){var a,l;const s=i===""?0:parseInt(i.replace("react-share-",""),10);(l=(a=window.OK.callbacks)[s])==null||l.call(a,r===""?void 0:parseInt(r,10))}},window.OK.callbacks.push(e),tS(n+Ks({"st.cmd":"extLike",uid:`react-share-${o}`,ref:t}))}nS(w5o);function v5o(t,{media:e,description:n,pinId:o}){return o?`https://pinterest.com/pin/${o}/repin/x/`:(r0(t,"pinterest.url"),r0(e,"pinterest.media"),"https://pinterest.com/pin/create/button/"+Ks({url:t,media:e,description:n}))}A0("pinterest",v5o,t=>({media:t.media,description:t.description,pinId:t.pinId}),{windowWidth:1e3,windowHeight:730});function x5o(t,e){tS("https://api.pinterest.com/v1/urls/count.json"+Ks({url:t}),(o,i)=>{e(i?i.count:void 0)})}nS(x5o);function b5o(t,{title:e}){return r0(t,"pocket.url"),"https://getpocket.com/save"+Ks({url:t,title:e})}A0("pocket",b5o,t=>({title:t.title}),{windowWidth:500,windowHeight:500});const S5o=X7({color:"#FF5700",networkName:"reddit",path:"M 53.34375 32 C 53.277344 30.160156 52.136719 28.53125 50.429688 27.839844 C 48.722656 27.148438 46.769531 27.523438 45.441406 28.800781 C 41.800781 26.324219 37.519531 24.957031 33.121094 24.863281 L 35.199219 14.878906 L 42.046875 16.320312 C 42.214844 17.882812 43.496094 19.09375 45.066406 19.171875 C 46.636719 19.253906 48.03125 18.183594 48.359375 16.644531 C 48.6875 15.105469 47.847656 13.558594 46.382812 12.992188 C 44.914062 12.425781 43.253906 13.007812 42.464844 14.367188 L 34.625 12.800781 C 34.363281 12.742188 34.09375 12.792969 33.871094 12.9375 C 33.648438 13.082031 33.492188 13.308594 33.441406 13.566406 L 31.070312 24.671875 C 26.617188 24.738281 22.277344 26.105469 18.59375 28.609375 C 17.242188 27.339844 15.273438 26.988281 13.570312 27.707031 C 11.863281 28.429688 10.746094 30.089844 10.71875 31.941406 C 10.691406 33.789062 11.757812 35.484375 13.441406 36.257812 C 13.402344 36.726562 13.402344 37.195312 13.441406 37.664062 C 13.441406 44.832031 21.792969 50.65625 32.097656 50.65625 C 42.398438 50.65625 50.753906 44.832031 50.753906 37.664062 C 50.789062 37.195312 50.789062 36.726562 50.753906 36.257812 C 52.363281 35.453125 53.371094 33.800781 53.34375 32 Z M 21.34375 35.199219 C 21.34375 33.433594 22.777344 32 24.542969 32 C 26.3125 32 27.742188 33.433594 27.742188 35.199219 C 27.742188 36.96875 26.3125 38.398438 24.542969 38.398438 C 22.777344 38.398438 21.34375 36.96875 21.34375 35.199219 Z M 39.9375 44 C 37.664062 45.710938 34.871094 46.582031 32.03125 46.464844 C 29.191406 46.582031 26.398438 45.710938 24.128906 44 C 23.847656 43.65625 23.871094 43.15625 24.183594 42.839844 C 24.5 42.527344 25 42.503906 25.34375 42.785156 C 27.269531 44.195312 29.617188 44.90625 32 44.800781 C 34.386719 44.929688 36.746094 44.242188 38.6875 42.847656 C 39.042969 42.503906 39.605469 42.511719 39.953125 42.863281 C 40.296875 43.21875 40.289062 43.785156 39.9375 44.128906 Z M 39.359375 38.527344 C 37.59375 38.527344 36.160156 37.09375 36.160156 35.328125 C 36.160156 33.5625 37.59375 32.128906 39.359375 32.128906 C 41.128906 32.128906 42.558594 33.5625 42.558594 35.328125 C 42.59375 36.203125 42.269531 37.054688 41.65625 37.6875 C 41.046875 38.316406 40.203125 38.664062 39.328125 38.65625 Z M 39.359375 38.527344"}),T5o=S5o;function P5o(t,{title:e}){return r0(t,"reddit.url"),"https://www.reddit.com/submit"+Ks({url:t,title:e})}const C5o=A0("reddit",P5o,t=>({title:t.title}),{windowWidth:660,windowHeight:460,windowPosition:"windowCenter"}),R5o=C5o;function H5o(t,{title:e}){return r0(t,"gab.url"),"https://gab.com/compose"+Ks({url:t,text:e})}A0("gab",H5o,t=>({title:t.title}),{windowWidth:660,windowHeight:640,windowPosition:"windowCenter"});function M5o(t,e){const n=`https://www.reddit.com/api/info.json?limit=1&url=${t}`;tS(n,{param:"jsonp"},(o,i)=>{e(!o&&i&&i.data&&i.data.children.length>0&&i.data.children[0].data.score?i.data.children[0].data.score:void 0)})}nS(M5o);const I5o=X7({color:"#25A3E3",networkName:"telegram",path:"m45.90873,15.44335c-0.6901,-0.0281 -1.37668,0.14048 -1.96142,0.41265c-0.84989,0.32661 -8.63939,3.33986 -16.5237,6.39174c-3.9685,1.53296 -7.93349,3.06593 -10.98537,4.24067c-3.05012,1.1765 -5.34694,2.05098 -5.4681,2.09312c-0.80775,0.28096 -1.89996,0.63566 -2.82712,1.72788c-0.23354,0.27218 -0.46884,0.62161 -0.58825,1.10275c-0.11941,0.48114 -0.06673,1.09222 0.16682,1.5716c0.46533,0.96052 1.25376,1.35737 2.18443,1.71383c3.09051,0.99037 6.28638,1.93508 8.93263,2.8236c0.97632,3.44171 1.91401,6.89571 2.84116,10.34268c0.30554,0.69185 0.97105,0.94823 1.65764,0.95525l-0.00351,0.03512c0,0 0.53908,0.05268 1.06412,-0.07375c0.52679,-0.12292 1.18879,-0.42846 1.79109,-0.99212c0.662,-0.62161 2.45836,-2.38812 3.47683,-3.38552l7.6736,5.66477l0.06146,0.03512c0,0 0.84989,0.59703 2.09312,0.68132c0.62161,0.04214 1.4399,-0.07726 2.14229,-0.59176c0.70766,-0.51626 1.1765,-1.34683 1.396,-2.29506c0.65673,-2.86224 5.00979,-23.57745 5.75257,-27.00686l-0.02107,0.08077c0.51977,-1.93157 0.32837,-3.70159 -0.87096,-4.74991c-0.60054,-0.52152 -1.2924,-0.7498 -1.98425,-0.77965l0,0.00176zm-0.2072,3.29069c0.04741,0.0439 0.0439,0.0439 0.00351,0.04741c-0.01229,-0.00351 0.14048,0.2072 -0.15804,1.32576l-0.01229,0.04214l-0.00878,0.03863c-0.75858,3.50668 -5.15554,24.40802 -5.74203,26.96472c-0.08077,0.34417 -0.11414,0.31959 -0.09482,0.29852c-0.1756,-0.02634 -0.50045,-0.16506 -0.52679,-0.1756l-13.13468,-9.70175c4.4988,-4.33199 9.09945,-8.25307 13.744,-12.43229c0.8218,-0.41265 0.68483,-1.68573 -0.29852,-1.70681c-1.04305,0.24584 -1.92279,0.99564 -2.8798,1.47502c-5.49971,3.2626 -11.11882,6.13186 -16.55882,9.49279c-2.792,-0.97105 -5.57873,-1.77704 -8.15298,-2.57601c2.2336,-0.89555 4.00889,-1.55579 5.75608,-2.23009c3.05188,-1.1765 7.01687,-2.7042 10.98537,-4.24067c7.94051,-3.06944 15.92667,-6.16346 16.62028,-6.43037l0.05619,-0.02283l0.05268,-0.02283c0.19316,-0.0878 0.30378,-0.09658 0.35471,-0.10009c0,0 -0.01756,-0.05795 -0.00351,-0.04566l-0.00176,0zm-20.91715,22.0638l2.16687,1.60145c-0.93418,0.91311 -1.81743,1.77353 -2.45485,2.38812l0.28798,-3.98957"}),z5o=I5o;function D5o(t,{title:e}){return r0(t,"telegram.url"),"https://telegram.me/share/url"+Ks({url:t,text:e})}const E5o=A0("telegram",D5o,t=>({title:t.title}),{windowWidth:550,windowHeight:400}),k5o=E5o;function F5o(t,{title:e,caption:n,tags:o,posttype:i}){return r0(t,"tumblr.url"),"https://www.tumblr.com/widgets/share/tool"+Ks({canonicalUrl:t,title:e,caption:n,tags:o,posttype:i})}A0("tumblr",F5o,t=>({title:t.title,tags:(t.tags||[]).join(","),caption:t.caption,posttype:t.posttype||"link"}),{windowWidth:660,windowHeight:460});function L5o(t,e){return tS("https://api.tumblr.com/v2/share/stats"+Ks({url:t}),(o,i)=>{e(!o&&i&&i.response?i.response.note_count:void 0)})}nS(L5o);function W5o(t,{title:e,via:n,hashtags:o=[],related:i=[]}){return r0(t,"twitter.url"),r0(Array.isArray(o),"twitter.hashtags is not an array"),r0(Array.isArray(i),"twitter.related is not an array"),"https://twitter.com/intent/tweet"+Ks({url:t,text:e,via:n,hashtags:o.length>0?o.join(","):void 0,related:i.length>0?i.join(","):void 0})}const N5o=A0("twitter",W5o,t=>({hashtags:t.hashtags,title:t.title,via:t.via,related:t.related}),{windowWidth:550,windowHeight:400}),U5o=N5o;function B5o(t,{title:e,separator:n}){return r0(t,"viber.url"),"viber://forward"+Ks({text:e?e+n+t:t})}A0("viber",B5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:660,windowHeight:460});function j5o(t,{title:e,image:n,noParse:o,noVkLinks:i}){return r0(t,"vk.url"),"https://vk.com/share.php"+Ks({url:t,title:e,image:n,noparse:o?1:0,no_vk_links:i?1:0})}A0("vk",j5o,t=>({title:t.title,image:t.image,noParse:t.noParse,noVkLinks:t.noVkLinks}),{windowWidth:660,windowHeight:460});function Y5o(t,e){window.VK||(window.VK={}),window.VK.Share={count:(i,r)=>{var a,l;return(l=(a=window.VK.callbacks)==null?void 0:a[i])==null?void 0:l.call(a,r)}},window.VK.callbacks=[];const n="https://vk.com/share.php",o=window.VK.callbacks.length;return window.VK.callbacks.push(e),tS(n+Ks({act:"count",index:o,url:t}))}nS(Y5o);function O5o(t,{title:e,image:n}){return r0(t,"weibo.url"),"http://service.weibo.com/share/share.php"+Ks({url:t,title:e,pic:n})}A0("weibo",O5o,t=>({title:t.title,image:t.image}),{windowWidth:660,windowHeight:550,windowPosition:"screenCenter"});const _5o=X7({color:"#25D366",networkName:"whatsapp",path:"m42.32286,33.93287c-0.5178,-0.2589 -3.04726,-1.49644 -3.52105,-1.66732c-0.4712,-0.17346 -0.81554,-0.2589 -1.15987,0.2589c-0.34175,0.51004 -1.33075,1.66474 -1.63108,2.00648c-0.30032,0.33658 -0.60064,0.36247 -1.11327,0.12945c-0.5178,-0.2589 -2.17994,-0.80259 -4.14759,-2.56312c-1.53269,-1.37217 -2.56312,-3.05503 -2.86603,-3.57283c-0.30033,-0.5178 -0.03366,-0.80259 0.22524,-1.06149c0.23301,-0.23301 0.5178,-0.59547 0.7767,-0.90616c0.25372,-0.31068 0.33657,-0.5178 0.51262,-0.85437c0.17088,-0.36246 0.08544,-0.64725 -0.04402,-0.90615c-0.12945,-0.2589 -1.15987,-2.79613 -1.58964,-3.80584c-0.41424,-1.00971 -0.84142,-0.88027 -1.15987,-0.88027c-0.29773,-0.02588 -0.64208,-0.02588 -0.98382,-0.02588c-0.34693,0 -0.90616,0.12945 -1.37736,0.62136c-0.4712,0.5178 -1.80194,1.76053 -1.80194,4.27186c0,2.51134 1.84596,4.945 2.10227,5.30747c0.2589,0.33657 3.63497,5.51458 8.80262,7.74113c1.23237,0.5178 2.1903,0.82848 2.94111,1.08738c1.23237,0.38836 2.35599,0.33657 3.24402,0.20712c0.99159,-0.15534 3.04985,-1.24272 3.47963,-2.45956c0.44013,-1.21683 0.44013,-2.22654 0.31068,-2.45955c-0.12945,-0.23301 -0.46601,-0.36247 -0.98382,-0.59548m-9.40068,12.84407l-0.02589,0c-3.05503,0 -6.08417,-0.82849 -8.72495,-2.38189l-0.62136,-0.37023l-6.47252,1.68286l1.73463,-6.29129l-0.41424,-0.64725c-1.70875,-2.71846 -2.6149,-5.85116 -2.6149,-9.07706c0,-9.39809 7.68934,-17.06155 17.15993,-17.06155c4.58253,0 8.88029,1.78642 12.11655,5.02268c3.23625,3.21036 5.02267,7.50812 5.02267,12.06476c-0.0078,9.3981 -7.69712,17.06155 -17.14699,17.06155m14.58906,-31.58846c-3.93529,-3.80584 -9.1133,-5.95471 -14.62789,-5.95471c-11.36055,0 -20.60848,9.2065 -20.61625,20.52564c0,3.61684 0.94757,7.14565 2.75211,10.26282l-2.92557,10.63564l10.93337,-2.85309c3.0136,1.63108 6.4052,2.4958 9.85634,2.49839l0.01037,0c11.36574,0 20.61884,-9.2091 20.62403,-20.53082c0,-5.48093 -2.14111,-10.64081 -6.03239,-14.51915"}),V5o=_5o;function G5o(){return/(android|iphone|ipad|mobile)/i.test(navigator.userAgent)}function X5o(t,{title:e,separator:n}){return r0(t,"whatsapp.url"),"https://"+(G5o()?"api":"web")+".whatsapp.com/send"+Ks({text:e?e+n+t:t})}const J5o=A0("whatsapp",X5o,t=>({title:t.title,separator:t.separator||" "}),{windowWidth:550,windowHeight:400}),K5o=J5o;function q5o(t,{quote:e,hashtag:n}){return r0(t,"workplace.url"),"https://work.facebook.com/sharer.php"+Ks({u:t,quote:e,hashtag:n})}A0("workplace",q5o,t=>({quote:t.quote,hashtag:t.hashtag}),{windowWidth:550,windowHeight:400});const $5o=X7({color:"#000000",networkName:"X",path:"M 41.116 18.375 h 4.962 l -10.8405 12.39 l 12.753 16.86 H 38.005 l -7.821 -10.2255 L 21.235 47.625 H 16.27 l 11.595 -13.2525 L 15.631 18.375 H 25.87 l 7.0695 9.3465 z m -1.7415 26.28 h 2.7495 L 24.376 21.189 H 21.4255 z"}),Q5o=$5o,Z5o=Ho.div` display: flex; flex-direction: column; z-index: 999; -`,t9o=be.memo(({style:t,size:e,margin:n,round:o,handleShareWindowClose:i})=>{const r=M(o1),a=M(yH),s=new URLSearchParams(window.location.search).get("userid"),c=Kt(),u=a??j.t("name.Tagline",c),d="aladdinIFI "+(a?j.t("name.Tagline",c):"");let f=qp;return a&&(s?f+="?client=web&userid="+s+"&title="+encodeURIComponent(a):r.uid&&(f+="?client=web&userid="+r.uid+"&title="+encodeURIComponent(a))),h.jsxs(e9o,{style:t,children:[h.jsx(X2o,{url:f,subject:u,children:h.jsx(U2o,{size:e,round:o})}),h.jsx(B5o,{url:f,title:u,via:d,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(Z5o,{size:e,round:o})}),h.jsx(e5o,{url:f,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(K2o,{size:e,round:o})}),h.jsx(H5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(P5o,{size:e,round:o})}),h.jsx(F5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(D5o,{size:e,round:o})}),h.jsx(d5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(s5o,{size:e,round:o})}),h.jsx(m5o,{url:f,title:u,summary:d,source:j.t("name.IFI",c),style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(h5o,{size:e,round:o})}),h.jsx(q5o,{url:f,title:u,separator:":: ",onShareWindowClose:i,children:h.jsx(G5o,{size:e,round:o})})]})});class nC{constructor(e,n,o){if(this.fitness=Number.NaN,this.chromosome=new Array(e),this.discretizationSteps=o,n)if(o)for(let i=0;ie.fitness?1:this.fitness=this.chromosome.length)throw new Error("Gene index out of bound: "+e);this.chromosome[e]=n}getGene(e){if(e<0||e>=this.chromosome.length)throw new Error("Gene index out of bound: "+e);return this.chromosome[e]}copyGenes(e){const n=Math.min(this.chromosome.length,e.chromosome.length);for(let o=0;on.compare(e))}getNicheCount(e,n){let o=0;for(const i of this.individuals){const r=e.distance(i);let a=0;re&&(e=o.fitness,n=o);return n}evolve(e,n){this.selectSurvivors(e),this.crossover(n)}selectSurvivors(e){this.survivors=[],this.sort();const n=Math.floor(e*this.individuals.length);for(let o=0;o=i){o=l;break}let a=null;do{i=Math.random()*n,r=0;for(const l of this.survivors)if(r+=l.fitness-e,r>=i){l!==o&&(a=l);break}}while(a===null);return o&&a?new sIe(o,a):null}selectParentsByTournament(){const e=this.survivors.length;if(e<=1)throw new Error("Must have at least two survivors to be used as parents");const n=e-1;let o=Math.floor(Math.random()*n),i;do i=Math.floor(Math.random()*n);while(i===o);const r=this.survivors[o].fitness>this.survivors[i].fitness?o:i;o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);let a=this.survivors[o].fitness>this.survivors[i].fitness?o:i;for(;a===r;){o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);a=this.survivors[o].fitness>this.survivors[i].fitness?o:i}return new sIe(this.survivors[r],this.survivors[a])}mutate(e){if(xe.isZero(e))return;let n=Math.floor(e*(this.individuals.length-1));for(n===0?n=1:n===this.individuals.length-1&&(n=this.individuals.length-2),this.mutants=[];this.mutants.lengthe)return!1}return!0}}class frt{constructor(e,n,o,i,r,a,l,s,c,u){this.fitnessSharingRadius=.1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.constraints=[],this.stopped=!0,this.mutationRate=.1,this.crossoverRate=.5,this.selectionRate=.5,this.maximumGenerations=5,this.fittestOfGenerations=[],this.populationOfGenerations=[],this.outsideGenerationCounter=0,this.computeCounter=0,this.converged=!1,this.population=new cIe(o,r,a,u),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.maximumGenerations=i,this.searchMethod=s,this.localSearchRadius=c,this.geneNames=new Array(r),this.foundation=e;const d=e.cx,f=e.cy,p=e.lx,g=e.ly;this.minima=new Array(r),this.maxima=new Array(r);for(let A=0;A=this.maximumGenerations}}class LF{static gaussian(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();return Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*n)}static twoGaussians(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();const o=new Array(2),i=Math.sqrt(-2*Math.log(e)),r=2*Math.PI*n;return o[0]=i*Math.cos(r),o[1]=i*Math.sin(r),o}static poisson(e){let n=0,o=Math.exp(-e),i=o;const r=Math.random();for(;r>i;)n++,o*=e/n,i+=o;return n}}class WF extends frt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,e.length,a,l,s,c),this.solarPanels=e;const u=this.population.individuals[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.setGene(d,p),this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)w=LF.gaussian()*this.localSearchRadius+p;A.setGene(d,w)}this.geneNames[d]="Tilt Angle ("+f.id+")"}}applyFittest(){const e=this.population.getFittest();if(e){for(let n=0;n{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(Z9),l=M(Q9),s=M(Dq),c=ht(xq),u=M(uW),d=M(Eq),f=M(pA).geneticAlgorithmParams,p=Kt(),g=m.useRef(0),A=m.useRef(!1),w=m.useRef(!1),b=m.useRef(),C=m.useRef(),P=m.useRef(0),v=m.useRef(!1),T=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.GENETIC_ALGORITHM&&i){y(),g.current=requestAnimationFrame(x);const D=[...T.current];return()=>{cancelAnimationFrame(g.current),A.current||(hn(j.t("message.EvolutionAborted",p)),ht.getState().set(k=>{k.evolutionInProgress=!1}),D.length>0&&(b.current=D,R(!0)))}}},[i]),m.useEffect(()=>{w.current=r,r?(cancelAnimationFrame(g.current),ht.getState().set(D=>{D.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",p))):(ht.getState().set(D=>{D.evolutionPaused=!1}),x())},[r]);const y=()=>{if(!a)return;ht.getState().set(W=>{W.evolutionInProgress=!0,W.objectiveEvaluationIndex=0}),A.current=!1;const D=l(z.SolarPanel,a.id);T.current.length=0;for(const W of D)T.current.push(JSON.parse(JSON.stringify(W)));b.current=[];const k=[];for(const W of D)b.current.push(JSON.parse(JSON.stringify(W))),k.push(W.label);b.current.length>0?(C.current=new WF(b.current,a,f.objectiveFunctionType,f.populationSize,f.maximumGenerations,f.selectionMethod,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.selectionRate=f.selectionRate,C.current.crossoverRate=f.crossoverRate,C.current.mutationRate=f.mutationRate,P.current=0,v.current=!1,d(k),C.current.startEvolving(),t(W=>{W.viewState.showEvolutionPanel=!0,W.selectedFloatingWindow="solarPanelOptimizationResult"})):Do(j.t("message.EncounterEvolutionError",p))},S=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const k=Sn.getState().dailyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);break}case xo.YEARLY_TOTAL_OUTPUT:{const k=Sn.getState().yearlyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.evolveIndividual(P.current%f.populationSize,S()),H(),P.current++,C.current.outsideGenerationCounter=Math.floor(P.current/f.populationSize),g.current=requestAnimationFrame(x))},[c]);const x=()=>{if(C.current&&o===Bs.GENETIC_ALGORITHM&&i&&!w.current){if(v.current||C.current.outsideGenerationCounter>=f.maximumGenerations){if(cancelAnimationFrame(g.current),A.current=!0,C.current.applyFittest(),H(),R(!0),hn(j.t("message.EvolutionCompleted",p)+` -`+(v.current?j.t("message.ConvergenceThresholdHasBeenReached",p):j.t("message.MaximumNumberOfGenerationsHasBeenReached",p))),e&&C.current){const D=C.current.population.getFittest();D&&t(k=>{var W;k.actionInfo={name:"Genetic Algorithm for Solar Panel Tilt Angle Completed",result:WF.individualToString(D),steps:(W=C.current)==null?void 0:W.outsideGenerationCounter,timestamp:new Date().getTime()}})}return}C.current.translateIndividual(P.current%f.populationSize),R(!1)}},R=D=>{ht.getState().set(k=>{if(b.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?k.runDailySimulationForSolarPanelsLastStep=!0:k.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?k.runYearlySimulationForSolarPanelsLastStep=!0:k.runYearlySimulationForSolarPanels=!0;break;default:Do(j.t("message.ObjectiveFunctionTypeError",p),60)}}),t(k=>{if(b.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:k.graphState&&(k.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:k.graphState&&(k.graphState.yearlyPvIndividualOutputs=!1);break;default:Do(j.t("message.ObjectiveFunctionTypeError",p),60)}for(const W of k.elements)if(W.type===z.SolarPanel){const N=W;for(const L of b.current)if(N.id===L.id){N.tiltAngle=L.tiltAngle;break}}}}),D&&ht.getState().set(k=>{k.runEvolution=!1,k.evolutionInProgress=!1,k.objectiveEvaluationIndex=0})},H=()=>{var k;if(!C.current)return;const D=[];for(let W=0;W0){const U=C.current.populationOfGenerations[W-1];if(U){let F=0;for(let B=0;B0&&D.push(N)}s(D)};return h.jsx(h.Fragment,{})});class o9o extends frt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,S){if(super(c,u,d,f,3,p,g,A,w),this.orientation=ui.landscape,this.rowAxis=Rl.leftRight,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=b,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=P,this.maximumRowsPerRack=v,this.minimumTiltAngle=T,this.maximumTiltAngle=y,this.margin=S,this.setInterRowSpacingBounds(),this.geneNames[0]="Tilt Angle",this.geneNames[1]="Inter-Row Spacing",this.geneNames[2]="Rack Width",a&&a.length>0){const x=a[0];if(a.length>1){const R=this.population.individuals[0],H=this.maximumTiltAngle===this.minimumTiltAngle?0:(x.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);R.setGene(0,H);const D=a[1],k=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(x.cx-D.cx)*this.foundation.lx:Math.abs(x.cy-D.cy)*this.foundation.ly;let W=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(k-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);W<0?W=0:W>1&&(W=1),R.setGene(1,W);const N=l?l.rowsPerRack:Math.max(1,Math.round(x.ly/(x.orientation===ui.portrait?e.length:e.width)));let L=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(N-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);L<0?L=0:L>1&&(L=1),R.setGene(2,L)}}}setInterRowSpacingBounds(){this.bounds=xe.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){const e=this.population.getFittest();e&&console.log("Fittest: "+this.individualToString(e)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}individualToString(e){let n="F("+xe.toDegrees(e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return n+=(e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",n+=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",n+" = "+e.fitness.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideGenerationCounter=0,this.computeCounter=0,this.fittestOfGenerations.fill(null),this.setInterRowSpacingBounds()}translateIndividualByIndex(e){return this.translateIndividual(this.population.individuals[e])}translateBest(){const e=this.population.getFittest();return e?this.translateIndividual(e):[]}translateIndividual(e){if(!this.bounds)return[];const n=e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=xe.countSolarPanelsOnRack(a,this.pvModel);return r}evolveIndividual(e,n){var i;const o=this.population.individuals.length;if(!this.converged){const r=this.population.individuals[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.fittestOfGenerations[0]=r.getCopy());const a=Math.floor(this.computeCounter/o);console.log("Generation "+(a+1)+", individual "+e+" : "+this.individualToString(r)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.populationOfGenerations[a])==null?void 0:i.individuals[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(rr),l=M(Z9),s=M(Q9),c=M(Dq),u=ht(xq),d=M(uW),f=M(Eq),p=M(J2),g=M(cge),A=M(pA).geneticAlgorithmParams,w=M.getState().solarPanelArrayLayoutConstraints,b=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,P=m.useRef(0),v=m.useRef(!1),T=m.useRef(!1),y=m.useRef(),S=m.useRef(0),x=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),k=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.GENETIC_ALGORITHM&&A.problem===Tr.SOLAR_PANEL_ARRAY&&i){W(),P.current=requestAnimationFrame(L);const F=[...H.current];return()=>{cancelAnimationFrame(P.current),v.current||(hn(j.t("message.EvolutionAborted",D)),ht.getState().set(B=>{B.evolutionInProgress=!1,B.runDailySimulationForSolarPanels=!1,B.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&g(l.id,!1),F.length>0&&(R.current=F,E(!0))},100))}}},[i]),m.useEffect(()=>{T.current=r,r?(cancelAnimationFrame(P.current),ht.getState().set(F=>{F.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",D))):(ht.getState().set(F=>{F.evolutionPaused=!1}),L())},[r]);const W=()=>{if(!l||!k)return;ht.getState().set(B=>{B.evolutionInProgress=!0,B.objectiveEvaluationIndex=0}),v.current=!1;const F=s(z.SolarPanel,k.id);H.current.length=0;for(const B of F)H.current.push(JSON.parse(JSON.stringify(B)));y.current=new o9o(p(w.pvModelName??"CS6X-355P-FG"),w.rowAxis??Rl.leftRight,w.orientation??ui.landscape,w.poleHeight??1,w.poleSpacing??3,H.current,C,l,k,A.objectiveFunctionType,A.populationSize,A.maximumGenerations,A.selectionMethod,A.convergenceThreshold,A.searchMethod,A.localSearchRadius,w.minimumInterRowSpacing,w.maximumInterRowSpacing,w.minimumRowsPerRack,w.maximumRowsPerRack,w.minimumTiltAngle,w.maximumTiltAngle,w.margin??0),y.current.selectionRate=A.selectionRate,y.current.crossoverRate=A.crossoverRate,y.current.mutationRate=A.mutationRate,S.current=0,x.current=!1,f([...y.current.geneNames]),y.current.startEvolving(),t(B=>{B.viewState.showEvolutionPanel=!0,B.selectedFloatingWindow="solarPanelOptimizationResult"})},N=()=>{var _;let F=0;switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=Sn.getState().dailyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=Sn.getState().yearlyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);F*=12/n;break}}const B=(_=y.current)==null?void 0:_.solarPanelCount;switch(A.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:B&&(F/=B);break;case xo.DAILY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit*365);break}return F};m.useEffect(()=>{!y.current||!u||(x.current=y.current.evolveIndividual(S.current%A.populationSize,N()),U(),S.current++,y.current.outsideGenerationCounter=Math.floor(S.current/A.populationSize),P.current=requestAnimationFrame(L))},[u]);const L=()=>{if(y.current&&o===Bs.GENETIC_ALGORITHM&&i&&!T.current){if(x.current||y.current.outsideGenerationCounter>=A.maximumGenerations){if(cancelAnimationFrame(P.current),v.current=!0,R.current.length>0&&g(l.id,!1),R.current=y.current.translateBest(),y.current.applyFittest(),U(),E(!0),hn(j.t("message.EvolutionCompleted",D)+` -`+(x.current?j.t("message.ConvergenceThresholdHasBeenReached",D):j.t("message.MaximumNumberOfGenerationsHasBeenReached",D))),y.current){const F=y.current.population.getFittest();if(F){const B=F.getGene(0)*(w.maximumTiltAngle-w.minimumTiltAngle)+w.minimumTiltAngle,_=F.getGene(1)*(w.maximumInterRowSpacing-w.minimumInterRowSpacing)+w.minimumInterRowSpacing,Y=Math.floor(F.getGene(2)*(w.maximumRowsPerRack-w.minimumRowsPerRack)+w.minimumRowsPerRack);t(O=>{O.solarPanelArrayLayoutParams.tiltAngle=B,O.solarPanelArrayLayoutParams.interRowSpacing=_,O.solarPanelArrayLayoutParams.rowsPerRack=Y,O.solarPanelArrayLayoutParams.orientation=w.orientation,O.solarPanelArrayLayoutParams.poleHeight=w.poleHeight}),e&&t(O=>{var J,Z;O.actionInfo={name:"Genetic Algorithm for Solar Panel Array Layout Completed",result:(J=y.current)==null?void 0:J.individualToString(F),steps:(Z=y.current)==null?void 0:Z.outsideGenerationCounter,timestamp:new Date().getTime()}})}}return}g(l.id,!1),setTimeout(()=>{y.current&&(R.current=y.current.translateIndividualByIndex(S.current%A.populationSize)),E(!1)},100)}},E=F=>{ht.getState().set(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:F?B.runDailySimulationForSolarPanelsLastStep=!0:B.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:F?B.runYearlySimulationForSolarPanelsLastStep=!0:B.runYearlySimulationForSolarPanels=!0;break}}),t(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:B.graphState&&(B.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:B.graphState&&(B.graphState.yearlyPvIndividualOutputs=!1);break}B.elements.push(...R.current)}),F&&ht.getState().set(B=>{B.runEvolution=!1,B.evolutionInProgress=!1,B.objectiveEvaluationIndex=0})},U=()=>{if(!y.current)return;const F=[];for(let B=0;B0){const J=y.current.populationOfGenerations[B-1];if(J){let Z=0;for(let ie=0;ie0&&F.push(_)}c(F)};return h.jsx(h.Fragment,{})});class r9o{constructor(e,n){this.fitness=Number.NaN,this.position=new Array,this.velocity=new Array,this.bestPositionOfParticle=new Array;for(let o=0;oe.fitness?1:this.fitnessn.compare(e)),Number.isNaN(this.bestFitness)||this.bestFitnesse)return!1}return!0}}class hrt{constructor(e,n,o,i,r,a,l,s,c){this.stopped=!0,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.maximumSteps=5,this.bestPositionOfSteps=[],this.bestFitnessOfSteps=[],this.swarmOfSteps=[],this.outsideStepCounter=0,this.computeCounter=0,this.convergenceThreshold=.1,this.converged=!1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.swarm=new uIe(o,a,i),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.searchMethod=s,this.localSearchRadius=c,this.maximumSteps=r,this.foundation=e,this.bestPositionOfSteps=new Array(this.maximumSteps+1),this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps=new Array(this.maximumSteps+1),this.bestFitnessOfSteps.fill(0),this.swarmOfSteps=new Array(this.maximumSteps);for(let u=0;u=this.maximumSteps}}class NF extends hrt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,a,e.length,l,s,c),this.solarPanels=e;const u=this.swarm.particles[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.position[d]=p,this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)w=LF.gaussian()*this.localSearchRadius+p;A.position[d]=w}}}applyFittest(){const e=this.swarm.bestPositionOfSwarm;if(e){for(let n=0;nr.fitness&&r.updateBestPosition(),r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+NF.particleToString(r.position,n));const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(Z9),l=M(Q9),s=M(Dq),c=ht(xq),u=M(uW),d=M(Eq),f=M(pA).particleSwarmOptimizationParams,p=Kt(),g=m.useRef(0),A=m.useRef(!1),w=m.useRef(!1),b=m.useRef(),C=m.useRef(),P=m.useRef(0),v=m.useRef(!1),T=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i){y(),g.current=requestAnimationFrame(x);const D=[...T.current];return()=>{cancelAnimationFrame(g.current),A.current||(hn(j.t("message.EvolutionAborted",p)),ht.getState().set(k=>{k.evolutionInProgress=!1}),D.length>0&&(b.current=D,R(!0)))}}},[i]),m.useEffect(()=>{w.current=r,r?(cancelAnimationFrame(g.current),ht.getState().set(D=>{D.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",p))):(ht.getState().set(D=>{D.evolutionPaused=!1}),x())},[r]);const y=()=>{if(!a)return;ht.getState().set(W=>{W.evolutionInProgress=!0,W.objectiveEvaluationIndex=0}),A.current=!1;const D=l(z.SolarPanel,a.id);T.current.length=0;for(const W of D)T.current.push(JSON.parse(JSON.stringify(W)));b.current=[];const k=[];for(const W of D)b.current.push(JSON.parse(JSON.stringify(W))),k.push(W.label);b.current.length>0?(C.current=new NF(b.current,a,f.objectiveFunctionType,f.swarmSize,f.vmax,f.maximumSteps,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.inertia=f.inertia,C.current.cognitiveCoefficient=f.cognitiveCoefficient,C.current.socialCoefficient=f.socialCoefficient,P.current=0,v.current=!1,d(k),C.current.startEvolving(),t(W=>{W.viewState.showEvolutionPanel=!0,W.selectedFloatingWindow="solarPanelOptimizationResult"})):Do(j.t("message.EncounterEvolutionError",p))},S=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const k=Sn.getState().dailyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);break}case xo.YEARLY_TOTAL_OUTPUT:{const k=Sn.getState().yearlyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.updateParticle(P.current%f.swarmSize,S()),H(),P.current++,C.current.outsideStepCounter=Math.floor(P.current/f.swarmSize),g.current=requestAnimationFrame(x))},[c]);const x=()=>{if(C.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!w.current){if(v.current||C.current.outsideStepCounter>=f.maximumSteps){if(cancelAnimationFrame(g.current),A.current=!0,C.current.applyFittest(),H(),R(!0),hn(j.t("message.EvolutionCompleted",p)+` -`+(v.current?j.t("message.ConvergenceThresholdHasBeenReached",p):j.t("message.MaximumNumberOfStepsHasBeenReached",p))),e&&C.current){const D=C.current.swarm.bestPositionOfSwarm,k=C.current.swarm.bestFitness;D&&k&&t(W=>{var N;W.actionInfo={name:"Particle Swarm Optimization for Solar Panel Tilt Angle Completed",result:NF.particleToString(D,k),steps:(N=C.current)==null?void 0:N.outsideStepCounter,timestamp:new Date().getTime()}})}return}C.current.translateParticle(P.current%f.swarmSize),R(!1)}},R=D=>{ht.getState().set(k=>{if(b.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?k.runDailySimulationForSolarPanelsLastStep=!0:k.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?k.runYearlySimulationForSolarPanelsLastStep=!0:k.runYearlySimulationForSolarPanels=!0;break}}),t(k=>{if(b.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:k.graphState&&(k.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:k.graphState&&(k.graphState.yearlyPvIndividualOutputs=!1);break}for(const W of k.elements)if(W.type===z.SolarPanel){const N=W;for(const L of b.current)if(N.id===L.id){N.tiltAngle=L.tiltAngle;break}}}}),D&&ht.getState().set(k=>{k.runEvolution=!1,k.evolutionInProgress=!1,k.objectiveEvaluationIndex=0})},H=()=>{var k;if(!C.current)return;const D=[];for(let W=0;W0){const U=C.current.swarmOfSteps[W-1];if(U){let F=0;for(let B=0;B0&&D.push(N)}s(D)};return h.jsx(h.Fragment,{})});class l9o extends hrt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,S){if(super(c,u,d,f,p,3,g,A,w),this.orientation=ui.landscape,this.rowAxis=Rl.leftRight,this.relativeMargin=.01,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=b,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=P,this.maximumRowsPerRack=v,this.minimumTiltAngle=T,this.maximumTiltAngle=y,this.margin=S,this.setInterRowSpacingBounds(),a&&a.length>0){const x=a[0];if(a.length>1){const R=this.swarm.particles[0];R.position[0]=this.maximumTiltAngle===this.minimumTiltAngle?0:(x.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);const H=a[1],D=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(x.cx-H.cx)*this.foundation.lx:Math.abs(x.cy-H.cy)*this.foundation.ly;let k=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(D-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);k<0?k=0:k>1&&(k=1),R.position[1]=k;const W=l?l.rowsPerRack:Math.max(1,Math.round(x.ly/(x.orientation===ui.portrait?e.length:e.width)));let N=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(W-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);N<0?N=0:N>1&&(N=1),R.position[2]=N}}}setInterRowSpacingBounds(){this.bounds=xe.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){this.swarm.bestPositionOfSwarm&&console.log("Best: "+this.particleToString(this.swarm.bestPositionOfSwarm,this.swarm.bestFitness)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}particleToString(e,n){let o="F("+xe.toDegrees(e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return o+=(e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",o+=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",o+" = "+n.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideStepCounter=0,this.computeCounter=0,this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps.fill(0),this.setInterRowSpacingBounds()}translateParticleByIndex(e){return this.translatePosition(this.swarm.particles[e].position)}translateBest(){return this.swarm.bestPositionOfSwarm?this.translatePosition(this.swarm.bestPositionOfSwarm):[]}translatePosition(e){if(!this.bounds)return[];const n=e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=xe.countSolarPanelsOnRack(a,this.pvModel);return r}updateParticle(e,n){var i;const o=this.swarm.particles.length;if(!this.converged){const r=this.swarm.particles[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+this.particleToString(r.position,n)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(rr),l=M(Z9),s=M(Q9),c=M(J2),u=M(cge),d=M(Dq),f=ht(xq),p=M(uW),g=M(Eq),A=M(pA).particleSwarmOptimizationParams,w=M.getState().solarPanelArrayLayoutConstraints,b=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,P=m.useRef(0),v=m.useRef(!1),T=m.useRef(!1),y=m.useRef(),S=m.useRef(0),x=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),k=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.PARTICLE_SWARM_OPTIMIZATION&&A.problem===Tr.SOLAR_PANEL_ARRAY&&i){W(),P.current=requestAnimationFrame(L);const F=[...H.current];return()=>{cancelAnimationFrame(P.current),v.current||(hn(j.t("message.EvolutionAborted",D)),ht.getState().set(B=>{B.evolutionInProgress=!1,B.runDailySimulationForSolarPanels=!1,B.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&u(l.id,!1),F.length>0&&(R.current=F,E(!0))},100))}}},[i]),m.useEffect(()=>{T.current=r,r?(cancelAnimationFrame(P.current),ht.getState().set(F=>{F.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",D))):(ht.getState().set(F=>{F.evolutionPaused=!1}),L())},[r]);const W=()=>{if(!l||!k)return;ht.getState().set(B=>{B.evolutionInProgress=!0,B.objectiveEvaluationIndex=0}),v.current=!1;const F=s(z.SolarPanel,k.id);H.current.length=0;for(const B of F)H.current.push(JSON.parse(JSON.stringify(B)));y.current=new l9o(c(w.pvModelName??"CS6X-355P-FG"),w.rowAxis??Rl.leftRight,w.orientation??ui.landscape,w.poleHeight??1,w.poleSpacing??3,H.current,C,l,k,A.objectiveFunctionType,A.swarmSize,A.vmax,A.maximumSteps,A.convergenceThreshold,A.searchMethod,A.localSearchRadius,w.minimumInterRowSpacing,w.maximumInterRowSpacing,w.minimumRowsPerRack,w.maximumRowsPerRack,w.minimumTiltAngle,w.maximumTiltAngle,w.margin??0),y.current.inertia=A.inertia,y.current.cognitiveCoefficient=A.cognitiveCoefficient,y.current.socialCoefficient=A.socialCoefficient,S.current=0,x.current=!1,g(["Tilt Angle","Inter-Row Spacing","Rack Width"]),y.current.startEvolving(),t(B=>{B.viewState.showEvolutionPanel=!0,B.selectedFloatingWindow="solarPanelOptimizationResult"})},N=()=>{var _;let F=0;switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=Sn.getState().dailyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=Sn.getState().yearlyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);F*=12/n;break}}const B=(_=y.current)==null?void 0:_.solarPanelCount;switch(A.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:B&&(F/=B);break;case xo.DAILY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit*365);break}return F};m.useEffect(()=>{!y.current||!f||(x.current=y.current.updateParticle(S.current%A.swarmSize,N()),U(),S.current++,y.current.outsideStepCounter=Math.floor(S.current/A.swarmSize),P.current=requestAnimationFrame(L))},[f]);const L=()=>{if(y.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!T.current){if(x.current||y.current.outsideStepCounter>=A.maximumSteps){if(cancelAnimationFrame(P.current),v.current=!0,R.current.length>0&&u(l.id,!1),R.current=y.current.translateBest(),y.current.applyFittest(),U(),E(!0),hn(j.t("message.EvolutionCompleted",D)+` -`+(x.current?j.t("message.ConvergenceThresholdHasBeenReached",D):j.t("message.MaximumNumberOfStepsHasBeenReached",D))),y.current){const F=y.current.swarm.bestPositionOfSwarm,B=y.current.swarm.bestFitness;if(F&&B){const _=F[0]*(w.maximumTiltAngle-w.minimumTiltAngle)+w.minimumTiltAngle,Y=F[1]*(w.maximumInterRowSpacing-w.minimumInterRowSpacing)+w.minimumInterRowSpacing,O=Math.floor(F[2]*(w.maximumRowsPerRack-w.minimumRowsPerRack)+w.minimumRowsPerRack);t(J=>{J.solarPanelArrayLayoutParams.tiltAngle=_,J.solarPanelArrayLayoutParams.interRowSpacing=Y,J.solarPanelArrayLayoutParams.rowsPerRack=O,J.solarPanelArrayLayoutParams.orientation=w.orientation,J.solarPanelArrayLayoutParams.poleHeight=w.poleHeight}),e&&t(J=>{var Z,ie;J.actionInfo={name:"Particle Swarm Optimization for Solar Panel Array Layout Completed",result:(Z=y.current)==null?void 0:Z.particleToString(F,B),steps:(ie=y.current)==null?void 0:ie.outsideStepCounter,timestamp:new Date().getTime()}})}}return}u(l.id,!1),setTimeout(()=>{y.current&&(R.current=y.current.translateParticleByIndex(S.current%A.swarmSize)),E(!1)},100)}},E=F=>{ht.getState().set(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:F?B.runDailySimulationForSolarPanelsLastStep=!0:B.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:F?B.runYearlySimulationForSolarPanelsLastStep=!0:B.runYearlySimulationForSolarPanels=!0;break}}),t(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:B.graphState&&(B.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:B.graphState&&(B.graphState.yearlyPvIndividualOutputs=!1);break}B.elements.push(...R.current)}),F&&ht.getState().set(B=>{B.runEvolution=!1,B.evolutionInProgress=!1,B.objectiveEvaluationIndex=0})},U=()=>{if(!y.current)return;const F=[];for(let B=0;B0){const J=y.current.swarmOfSteps[B-1];if(J){let Z=0;for(let ie=0;ie0&&F.push(_)}d(F)};return h.jsx(h.Fragment,{})}),c9o=be.memo(()=>{const t=M(Rq),e=M(Mq),n=M(Iq),{gl:o}=Xi();return o.domElement.style.cursor=t!==z.None||n||e?"crosshair":"default",null}),Tm=()=>{ht.getState().set(t=>{t.showSolarRadiationHeatmap=!1,t.showHeatFluxes=!1})},u9o=be.memo(({width:t=400,height:e=400})=>{const n=M(dn),o=M(En),i=M(Xs),r=M(wb),a=M(O1e),l=M(fAt),s=M(CBe),[c,u]=m.useState(null),d=100,f=m.useCallback(P=>{u(P)},[]),p=m.useCallback(function(){u(null)},[]),g=()=>{const P=new google.maps.LatLng(i,r);new google.maps.Geocoder().geocode({location:P},function(v,T){if(T===google.maps.GeocoderStatus.OK&&v&&v[0].address_components){n(y=>{y.world.address=v[0].formatted_address});for(const y of v[0].address_components)if(y.types[0]==="country"){n(S=>{S.world.countryCode=y.short_name});break}}}).then(()=>{})},A=M2.throttle(()=>{if(c){const P=c.getCenter();if(P){const v=P.lat(),T=P.lng();if(v!==i||T!==r){g();const y={name:"Set Location",timestamp:Date.now(),oldLatitude:i,newLatitude:v,oldLongitude:r,newLongitude:T,undo:()=>{Tm(),n(S=>{S.world.latitude=y.oldLatitude,S.world.longitude=y.oldLongitude})},redo:()=>{Tm(),n(S=>{S.world.latitude=y.newLatitude,S.world.longitude=y.newLongitude})}};o(y),Tm(),n(S=>{S.world.latitude=v,S.world.longitude=T})}}}},d,{leading:!1,trailing:!0}),w=M2.throttle(()=>{if(c){const P=c.getZoom();if(P!==void 0&&P!==a){g();const v={name:"Zoom Map",timestamp:Date.now(),oldValue:a,newValue:P,undo:()=>{n(T=>{T.viewState.mapZoom=v.oldValue})},redo:()=>{n(T=>{T.viewState.mapZoom=v.newValue})}};o(v),n(T=>{T.viewState.mapZoom=P})}}},d,{leading:!1,trailing:!0}),b=()=>{if(c){const P=c.getTilt();if(P!==void 0&&P!==l){const v={name:"Tilt Map",timestamp:Date.now(),oldValue:l,newValue:P,undo:()=>{n(T=>{T.viewState.mapTilt=v.oldValue})},redo:()=>{n(T=>{T.viewState.mapTilt=v.newValue})}};o(v),n(T=>{T.viewState.mapTilt=P})}}},C=()=>{if(c){const P=c.getMapTypeId();if(P!==void 0&&P!==s){const v={name:"Change Map Type",timestamp:Date.now(),oldValue:s,newValue:P,undo:()=>{n(T=>{T.viewState.mapType=v.oldValue,T.viewState.groundImageType=T.viewState.mapType})},redo:()=>{n(T=>{T.viewState.mapType=v.newValue,T.viewState.groundImageType=T.viewState.mapType})}};o(v),n(T=>{T.viewState.mapType=P,T.viewState.groundImageType=P})}}};return h.jsx(vot,{mapContainerStyle:{border:"1px solid",width:t+"px",height:e+"px"},mapTypeId:s,center:{lat:i,lng:r},zoom:a,tilt:l,onLoad:f,onUnmount:p,onCenterChanged:A,onZoomChanged:w,onTiltChanged:b,onMapTypeIdChanged:C})}),d9o=["places"],f9o=Ho.div` +`,e9o=be.memo(({style:t,size:e,margin:n,round:o,handleShareWindowClose:i})=>{const r=M(o1),a=M(yH),s=new URLSearchParams(window.location.search).get("userid"),c=Kt(),u=a??j.t("name.Tagline",c),d="aladdinIFI "+(a?j.t("name.Tagline",c):"");let f=qp;return a&&(s?f+="?client=web&userid="+s+"&title="+encodeURIComponent(a):r.uid&&(f+="?client=web&userid="+r.uid+"&title="+encodeURIComponent(a))),h.jsxs(Z5o,{style:t,children:[h.jsx(G2o,{url:f,subject:u,children:h.jsx(N2o,{size:e,round:o})}),h.jsx(U5o,{url:f,title:u,via:d,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(Q5o,{size:e,round:o})}),h.jsx(Z2o,{url:f,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(J2o,{size:e,round:o})}),h.jsx(R5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(T5o,{size:e,round:o})}),h.jsx(k5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(z5o,{size:e,round:o})}),h.jsx(u5o,{url:f,title:u,style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(l5o,{size:e,round:o})}),h.jsx(g5o,{url:f,title:u,summary:d,source:j.t("name.IFI",c),style:{paddingRight:n},onShareWindowClose:i,children:h.jsx(f5o,{size:e,round:o})}),h.jsx(K5o,{url:f,title:u,separator:":: ",onShareWindowClose:i,children:h.jsx(V5o,{size:e,round:o})})]})});class nC{constructor(e,n,o){if(this.fitness=Number.NaN,this.chromosome=new Array(e),this.discretizationSteps=o,n)if(o)for(let i=0;ie.fitness?1:this.fitness=this.chromosome.length)throw new Error("Gene index out of bound: "+e);this.chromosome[e]=n}getGene(e){if(e<0||e>=this.chromosome.length)throw new Error("Gene index out of bound: "+e);return this.chromosome[e]}copyGenes(e){const n=Math.min(this.chromosome.length,e.chromosome.length);for(let o=0;on.compare(e))}getNicheCount(e,n){let o=0;for(const i of this.individuals){const r=e.distance(i);let a=0;re&&(e=o.fitness,n=o);return n}evolve(e,n){this.selectSurvivors(e),this.crossover(n)}selectSurvivors(e){this.survivors=[],this.sort();const n=Math.floor(e*this.individuals.length);for(let o=0;o=i){o=l;break}let a=null;do{i=Math.random()*n,r=0;for(const l of this.survivors)if(r+=l.fitness-e,r>=i){l!==o&&(a=l);break}}while(a===null);return o&&a?new aIe(o,a):null}selectParentsByTournament(){const e=this.survivors.length;if(e<=1)throw new Error("Must have at least two survivors to be used as parents");const n=e-1;let o=Math.floor(Math.random()*n),i;do i=Math.floor(Math.random()*n);while(i===o);const r=this.survivors[o].fitness>this.survivors[i].fitness?o:i;o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);let a=this.survivors[o].fitness>this.survivors[i].fitness?o:i;for(;a===r;){o=Math.floor(Math.random()*n);do i=Math.floor(Math.random()*n);while(i===o);a=this.survivors[o].fitness>this.survivors[i].fitness?o:i}return new aIe(this.survivors[r],this.survivors[a])}mutate(e){if(xe.isZero(e))return;let n=Math.floor(e*(this.individuals.length-1));for(n===0?n=1:n===this.individuals.length-1&&(n=this.individuals.length-2),this.mutants=[];this.mutants.lengthe)return!1}return!0}}class urt{constructor(e,n,o,i,r,a,l,s,c,u){this.fitnessSharingRadius=.1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.constraints=[],this.stopped=!0,this.mutationRate=.1,this.crossoverRate=.5,this.selectionRate=.5,this.maximumGenerations=5,this.fittestOfGenerations=[],this.populationOfGenerations=[],this.outsideGenerationCounter=0,this.computeCounter=0,this.converged=!1,this.population=new lIe(o,r,a,u),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.maximumGenerations=i,this.searchMethod=s,this.localSearchRadius=c,this.geneNames=new Array(r),this.foundation=e;const d=e.cx,f=e.cy,p=e.lx,g=e.ly;this.minima=new Array(r),this.maxima=new Array(r);for(let A=0;A=this.maximumGenerations}}class LF{static gaussian(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();return Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*n)}static twoGaussians(){let e=0,n=0;for(;e===0;)e=Math.random();for(;n===0;)n=Math.random();const o=new Array(2),i=Math.sqrt(-2*Math.log(e)),r=2*Math.PI*n;return o[0]=i*Math.cos(r),o[1]=i*Math.sin(r),o}static poisson(e){let n=0,o=Math.exp(-e),i=o;const r=Math.random();for(;r>i;)n++,o*=e/n,i+=o;return n}}class WF extends urt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,e.length,a,l,s,c),this.solarPanels=e;const u=this.population.individuals[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.setGene(d,p),this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)w=LF.gaussian()*this.localSearchRadius+p;A.setGene(d,w)}this.geneNames[d]="Tilt Angle ("+f.id+")"}}applyFittest(){const e=this.population.getFittest();if(e){for(let n=0;n{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(Z9),l=M(Q9),s=M(Dq),c=ht(xq),u=M(uW),d=M(Eq),f=M(pA).geneticAlgorithmParams,p=Kt(),g=m.useRef(0),A=m.useRef(!1),w=m.useRef(!1),b=m.useRef(),C=m.useRef(),P=m.useRef(0),v=m.useRef(!1),T=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.GENETIC_ALGORITHM&&i){y(),g.current=requestAnimationFrame(x);const D=[...T.current];return()=>{cancelAnimationFrame(g.current),A.current||(hn(j.t("message.EvolutionAborted",p)),ht.getState().set(k=>{k.evolutionInProgress=!1}),D.length>0&&(b.current=D,R(!0)))}}},[i]),m.useEffect(()=>{w.current=r,r?(cancelAnimationFrame(g.current),ht.getState().set(D=>{D.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",p))):(ht.getState().set(D=>{D.evolutionPaused=!1}),x())},[r]);const y=()=>{if(!a)return;ht.getState().set(W=>{W.evolutionInProgress=!0,W.objectiveEvaluationIndex=0}),A.current=!1;const D=l(z.SolarPanel,a.id);T.current.length=0;for(const W of D)T.current.push(JSON.parse(JSON.stringify(W)));b.current=[];const k=[];for(const W of D)b.current.push(JSON.parse(JSON.stringify(W))),k.push(W.label);b.current.length>0?(C.current=new WF(b.current,a,f.objectiveFunctionType,f.populationSize,f.maximumGenerations,f.selectionMethod,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.selectionRate=f.selectionRate,C.current.crossoverRate=f.crossoverRate,C.current.mutationRate=f.mutationRate,P.current=0,v.current=!1,d(k),C.current.startEvolving(),t(W=>{W.viewState.showEvolutionPanel=!0,W.selectedFloatingWindow="solarPanelOptimizationResult"})):Do(j.t("message.EncounterEvolutionError",p))},S=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const k=Sn.getState().dailyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);break}case xo.YEARLY_TOTAL_OUTPUT:{const k=Sn.getState().yearlyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.evolveIndividual(P.current%f.populationSize,S()),H(),P.current++,C.current.outsideGenerationCounter=Math.floor(P.current/f.populationSize),g.current=requestAnimationFrame(x))},[c]);const x=()=>{if(C.current&&o===Bs.GENETIC_ALGORITHM&&i&&!w.current){if(v.current||C.current.outsideGenerationCounter>=f.maximumGenerations){if(cancelAnimationFrame(g.current),A.current=!0,C.current.applyFittest(),H(),R(!0),hn(j.t("message.EvolutionCompleted",p)+` +`+(v.current?j.t("message.ConvergenceThresholdHasBeenReached",p):j.t("message.MaximumNumberOfGenerationsHasBeenReached",p))),e&&C.current){const D=C.current.population.getFittest();D&&t(k=>{var W;k.actionInfo={name:"Genetic Algorithm for Solar Panel Tilt Angle Completed",result:WF.individualToString(D),steps:(W=C.current)==null?void 0:W.outsideGenerationCounter,timestamp:new Date().getTime()}})}return}C.current.translateIndividual(P.current%f.populationSize),R(!1)}},R=D=>{ht.getState().set(k=>{if(b.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?k.runDailySimulationForSolarPanelsLastStep=!0:k.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?k.runYearlySimulationForSolarPanelsLastStep=!0:k.runYearlySimulationForSolarPanels=!0;break;default:Do(j.t("message.ObjectiveFunctionTypeError",p),60)}}),t(k=>{if(b.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:k.graphState&&(k.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:k.graphState&&(k.graphState.yearlyPvIndividualOutputs=!1);break;default:Do(j.t("message.ObjectiveFunctionTypeError",p),60)}for(const W of k.elements)if(W.type===z.SolarPanel){const N=W;for(const L of b.current)if(N.id===L.id){N.tiltAngle=L.tiltAngle;break}}}}),D&&ht.getState().set(k=>{k.runEvolution=!1,k.evolutionInProgress=!1,k.objectiveEvaluationIndex=0})},H=()=>{var k;if(!C.current)return;const D=[];for(let W=0;W0){const U=C.current.populationOfGenerations[W-1];if(U){let F=0;for(let B=0;B0&&D.push(N)}s(D)};return h.jsx(h.Fragment,{})});class n9o extends urt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,S){if(super(c,u,d,f,3,p,g,A,w),this.orientation=ui.landscape,this.rowAxis=Rl.leftRight,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=b,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=P,this.maximumRowsPerRack=v,this.minimumTiltAngle=T,this.maximumTiltAngle=y,this.margin=S,this.setInterRowSpacingBounds(),this.geneNames[0]="Tilt Angle",this.geneNames[1]="Inter-Row Spacing",this.geneNames[2]="Rack Width",a&&a.length>0){const x=a[0];if(a.length>1){const R=this.population.individuals[0],H=this.maximumTiltAngle===this.minimumTiltAngle?0:(x.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);R.setGene(0,H);const D=a[1],k=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(x.cx-D.cx)*this.foundation.lx:Math.abs(x.cy-D.cy)*this.foundation.ly;let W=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(k-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);W<0?W=0:W>1&&(W=1),R.setGene(1,W);const N=l?l.rowsPerRack:Math.max(1,Math.round(x.ly/(x.orientation===ui.portrait?e.length:e.width)));let L=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(N-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);L<0?L=0:L>1&&(L=1),R.setGene(2,L)}}}setInterRowSpacingBounds(){this.bounds=xe.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){const e=this.population.getFittest();e&&console.log("Fittest: "+this.individualToString(e)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}individualToString(e){let n="F("+xe.toDegrees(e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return n+=(e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",n+=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",n+" = "+e.fitness.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideGenerationCounter=0,this.computeCounter=0,this.fittestOfGenerations.fill(null),this.setInterRowSpacingBounds()}translateIndividualByIndex(e){return this.translateIndividual(this.population.individuals[e])}translateBest(){const e=this.population.getFittest();return e?this.translateIndividual(e):[]}translateIndividual(e){if(!this.bounds)return[];const n=e.getGene(0)*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e.getGene(1)*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e.getGene(2)*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=xe.countSolarPanelsOnRack(a,this.pvModel);return r}evolveIndividual(e,n){var i;const o=this.population.individuals.length;if(!this.converged){const r=this.population.individuals[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.fittestOfGenerations[0]=r.getCopy());const a=Math.floor(this.computeCounter/o);console.log("Generation "+(a+1)+", individual "+e+" : "+this.individualToString(r)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.populationOfGenerations[a])==null?void 0:i.individuals[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(rr),l=M(Z9),s=M(Q9),c=M(Dq),u=ht(xq),d=M(uW),f=M(Eq),p=M(J2),g=M(cge),A=M(pA).geneticAlgorithmParams,w=M.getState().solarPanelArrayLayoutConstraints,b=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,P=m.useRef(0),v=m.useRef(!1),T=m.useRef(!1),y=m.useRef(),S=m.useRef(0),x=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),k=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.GENETIC_ALGORITHM&&A.problem===Tr.SOLAR_PANEL_ARRAY&&i){W(),P.current=requestAnimationFrame(L);const F=[...H.current];return()=>{cancelAnimationFrame(P.current),v.current||(hn(j.t("message.EvolutionAborted",D)),ht.getState().set(B=>{B.evolutionInProgress=!1,B.runDailySimulationForSolarPanels=!1,B.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&g(l.id,!1),F.length>0&&(R.current=F,E(!0))},100))}}},[i]),m.useEffect(()=>{T.current=r,r?(cancelAnimationFrame(P.current),ht.getState().set(F=>{F.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",D))):(ht.getState().set(F=>{F.evolutionPaused=!1}),L())},[r]);const W=()=>{if(!l||!k)return;ht.getState().set(B=>{B.evolutionInProgress=!0,B.objectiveEvaluationIndex=0}),v.current=!1;const F=s(z.SolarPanel,k.id);H.current.length=0;for(const B of F)H.current.push(JSON.parse(JSON.stringify(B)));y.current=new n9o(p(w.pvModelName??"CS6X-355P-FG"),w.rowAxis??Rl.leftRight,w.orientation??ui.landscape,w.poleHeight??1,w.poleSpacing??3,H.current,C,l,k,A.objectiveFunctionType,A.populationSize,A.maximumGenerations,A.selectionMethod,A.convergenceThreshold,A.searchMethod,A.localSearchRadius,w.minimumInterRowSpacing,w.maximumInterRowSpacing,w.minimumRowsPerRack,w.maximumRowsPerRack,w.minimumTiltAngle,w.maximumTiltAngle,w.margin??0),y.current.selectionRate=A.selectionRate,y.current.crossoverRate=A.crossoverRate,y.current.mutationRate=A.mutationRate,S.current=0,x.current=!1,f([...y.current.geneNames]),y.current.startEvolving(),t(B=>{B.viewState.showEvolutionPanel=!0,B.selectedFloatingWindow="solarPanelOptimizationResult"})},N=()=>{var _;let F=0;switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=Sn.getState().dailyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=Sn.getState().yearlyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);F*=12/n;break}}const B=(_=y.current)==null?void 0:_.solarPanelCount;switch(A.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:B&&(F/=B);break;case xo.DAILY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit*365);break}return F};m.useEffect(()=>{!y.current||!u||(x.current=y.current.evolveIndividual(S.current%A.populationSize,N()),U(),S.current++,y.current.outsideGenerationCounter=Math.floor(S.current/A.populationSize),P.current=requestAnimationFrame(L))},[u]);const L=()=>{if(y.current&&o===Bs.GENETIC_ALGORITHM&&i&&!T.current){if(x.current||y.current.outsideGenerationCounter>=A.maximumGenerations){if(cancelAnimationFrame(P.current),v.current=!0,R.current.length>0&&g(l.id,!1),R.current=y.current.translateBest(),y.current.applyFittest(),U(),E(!0),hn(j.t("message.EvolutionCompleted",D)+` +`+(x.current?j.t("message.ConvergenceThresholdHasBeenReached",D):j.t("message.MaximumNumberOfGenerationsHasBeenReached",D))),y.current){const F=y.current.population.getFittest();if(F){const B=F.getGene(0)*(w.maximumTiltAngle-w.minimumTiltAngle)+w.minimumTiltAngle,_=F.getGene(1)*(w.maximumInterRowSpacing-w.minimumInterRowSpacing)+w.minimumInterRowSpacing,Y=Math.floor(F.getGene(2)*(w.maximumRowsPerRack-w.minimumRowsPerRack)+w.minimumRowsPerRack);t(O=>{O.solarPanelArrayLayoutParams.tiltAngle=B,O.solarPanelArrayLayoutParams.interRowSpacing=_,O.solarPanelArrayLayoutParams.rowsPerRack=Y,O.solarPanelArrayLayoutParams.orientation=w.orientation,O.solarPanelArrayLayoutParams.poleHeight=w.poleHeight}),e&&t(O=>{var J,Z;O.actionInfo={name:"Genetic Algorithm for Solar Panel Array Layout Completed",result:(J=y.current)==null?void 0:J.individualToString(F),steps:(Z=y.current)==null?void 0:Z.outsideGenerationCounter,timestamp:new Date().getTime()}})}}return}g(l.id,!1),setTimeout(()=>{y.current&&(R.current=y.current.translateIndividualByIndex(S.current%A.populationSize)),E(!1)},100)}},E=F=>{ht.getState().set(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:F?B.runDailySimulationForSolarPanelsLastStep=!0:B.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:F?B.runYearlySimulationForSolarPanelsLastStep=!0:B.runYearlySimulationForSolarPanels=!0;break}}),t(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:B.graphState&&(B.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:B.graphState&&(B.graphState.yearlyPvIndividualOutputs=!1);break}B.elements.push(...R.current)}),F&&ht.getState().set(B=>{B.runEvolution=!1,B.evolutionInProgress=!1,B.objectiveEvaluationIndex=0})},U=()=>{if(!y.current)return;const F=[];for(let B=0;B0){const J=y.current.populationOfGenerations[B-1];if(J){let Z=0;for(let ie=0;ie0&&F.push(_)}c(F)};return h.jsx(h.Fragment,{})});class i9o{constructor(e,n){this.fitness=Number.NaN,this.position=new Array,this.velocity=new Array,this.bestPositionOfParticle=new Array;for(let o=0;oe.fitness?1:this.fitnessn.compare(e)),Number.isNaN(this.bestFitness)||this.bestFitnesse)return!1}return!0}}class drt{constructor(e,n,o,i,r,a,l,s,c){this.stopped=!0,this.inertia=.8,this.cognitiveCoefficient=.1,this.socialCoefficient=.1,this.maximumSteps=5,this.bestPositionOfSteps=[],this.bestFitnessOfSteps=[],this.swarmOfSteps=[],this.outsideStepCounter=0,this.computeCounter=0,this.convergenceThreshold=.1,this.converged=!1,this.searchMethod=as.GLOBAL_SEARCH_UNIFORM_SELECTION,this.localSearchRadius=.1,this.swarm=new sIe(o,a,i),this.objectiveFunctionType=n,this.convergenceThreshold=l,this.searchMethod=s,this.localSearchRadius=c,this.maximumSteps=r,this.foundation=e,this.bestPositionOfSteps=new Array(this.maximumSteps+1),this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps=new Array(this.maximumSteps+1),this.bestFitnessOfSteps.fill(0),this.swarmOfSteps=new Array(this.maximumSteps);for(let u=0;u=this.maximumSteps}}class NF extends drt{constructor(e,n,o,i,r,a,l,s,c){super(n,o,i,r,a,e.length,l,s,c),this.solarPanels=e;const u=this.swarm.particles[0];for(const[d,f]of e.entries()){const p=.5*(1+f.tiltAngle/Vt);if(u.position[d]=p,this.searchMethod===as.LOCAL_SEARCH_RANDOM_OPTIMIZATION)for(let g=1;g1;)w=LF.gaussian()*this.localSearchRadius+p;A.position[d]=w}}}applyFittest(){const e=this.swarm.bestPositionOfSwarm;if(e){for(let n=0;nr.fitness&&r.updateBestPosition(),r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+NF.particleToString(r.position,n));const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(Z9),l=M(Q9),s=M(Dq),c=ht(xq),u=M(uW),d=M(Eq),f=M(pA).particleSwarmOptimizationParams,p=Kt(),g=m.useRef(0),A=m.useRef(!1),w=m.useRef(!1),b=m.useRef(),C=m.useRef(),P=m.useRef(0),v=m.useRef(!1),T=m.useRef([]);m.useEffect(()=>{if(f.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i){y(),g.current=requestAnimationFrame(x);const D=[...T.current];return()=>{cancelAnimationFrame(g.current),A.current||(hn(j.t("message.EvolutionAborted",p)),ht.getState().set(k=>{k.evolutionInProgress=!1}),D.length>0&&(b.current=D,R(!0)))}}},[i]),m.useEffect(()=>{w.current=r,r?(cancelAnimationFrame(g.current),ht.getState().set(D=>{D.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",p))):(ht.getState().set(D=>{D.evolutionPaused=!1}),x())},[r]);const y=()=>{if(!a)return;ht.getState().set(W=>{W.evolutionInProgress=!0,W.objectiveEvaluationIndex=0}),A.current=!1;const D=l(z.SolarPanel,a.id);T.current.length=0;for(const W of D)T.current.push(JSON.parse(JSON.stringify(W)));b.current=[];const k=[];for(const W of D)b.current.push(JSON.parse(JSON.stringify(W))),k.push(W.label);b.current.length>0?(C.current=new NF(b.current,a,f.objectiveFunctionType,f.swarmSize,f.vmax,f.maximumSteps,f.convergenceThreshold,f.searchMethod,f.localSearchRadius),C.current.inertia=f.inertia,C.current.cognitiveCoefficient=f.cognitiveCoefficient,C.current.socialCoefficient=f.socialCoefficient,P.current=0,v.current=!1,d(k),C.current.startEvolving(),t(W=>{W.viewState.showEvolutionPanel=!0,W.selectedFloatingWindow="solarPanelOptimizationResult"})):Do(j.t("message.EncounterEvolutionError",p))},S=()=>{let D=0;switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:{const k=Sn.getState().dailyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);break}case xo.YEARLY_TOTAL_OUTPUT:{const k=Sn.getState().yearlyPvYield;for(const W of k)for(const N in W)Object.hasOwn(W,N)&&N==="Total"&&(D+=W[N]);D*=12/n;break}}return D};m.useEffect(()=>{!C.current||!c||(v.current=C.current.updateParticle(P.current%f.swarmSize,S()),H(),P.current++,C.current.outsideStepCounter=Math.floor(P.current/f.swarmSize),g.current=requestAnimationFrame(x))},[c]);const x=()=>{if(C.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!w.current){if(v.current||C.current.outsideStepCounter>=f.maximumSteps){if(cancelAnimationFrame(g.current),A.current=!0,C.current.applyFittest(),H(),R(!0),hn(j.t("message.EvolutionCompleted",p)+` +`+(v.current?j.t("message.ConvergenceThresholdHasBeenReached",p):j.t("message.MaximumNumberOfStepsHasBeenReached",p))),e&&C.current){const D=C.current.swarm.bestPositionOfSwarm,k=C.current.swarm.bestFitness;D&&k&&t(W=>{var N;W.actionInfo={name:"Particle Swarm Optimization for Solar Panel Tilt Angle Completed",result:NF.particleToString(D,k),steps:(N=C.current)==null?void 0:N.outsideStepCounter,timestamp:new Date().getTime()}})}return}C.current.translateParticle(P.current%f.swarmSize),R(!1)}},R=D=>{ht.getState().set(k=>{if(b.current)switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:D?k.runDailySimulationForSolarPanelsLastStep=!0:k.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:D?k.runYearlySimulationForSolarPanelsLastStep=!0:k.runYearlySimulationForSolarPanels=!0;break}}),t(k=>{if(b.current){switch(f.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:k.graphState&&(k.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:k.graphState&&(k.graphState.yearlyPvIndividualOutputs=!1);break}for(const W of k.elements)if(W.type===z.SolarPanel){const N=W;for(const L of b.current)if(N.id===L.id){N.tiltAngle=L.tiltAngle;break}}}}),D&&ht.getState().set(k=>{k.runEvolution=!1,k.evolutionInProgress=!1,k.objectiveEvaluationIndex=0})},H=()=>{var k;if(!C.current)return;const D=[];for(let W=0;W0){const U=C.current.swarmOfSteps[W-1];if(U){let F=0;for(let B=0;B0&&D.push(N)}s(D)};return h.jsx(h.Fragment,{})});class a9o extends drt{constructor(e,n,o,i,r,a,l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,S){if(super(c,u,d,f,p,3,g,A,w),this.orientation=ui.landscape,this.rowAxis=Rl.leftRight,this.relativeMargin=.01,this.poleHeight=2,this.poleSpacing=5,this.solarPanelCount=0,this.solarRackCount=0,this.minimumInterRowSpacing=2,this.maximumInterRowSpacing=10,this.minimumRowsPerRack=1,this.maximumRowsPerRack=6,this.minimumTiltAngle=-Vt,this.maximumTiltAngle=Vt,this.margin=0,this.polygon=s,this.pvModel=e,this.rowAxis=n,this.orientation=o,this.poleHeight=i,this.poleSpacing=r,this.minimumInterRowSpacing=b,this.maximumInterRowSpacing=C,this.minimumRowsPerRack=P,this.maximumRowsPerRack=v,this.minimumTiltAngle=T,this.maximumTiltAngle=y,this.margin=S,this.setInterRowSpacingBounds(),a&&a.length>0){const x=a[0];if(a.length>1){const R=this.swarm.particles[0];R.position[0]=this.maximumTiltAngle===this.minimumTiltAngle?0:(x.tiltAngle-this.minimumTiltAngle)/(this.maximumTiltAngle-this.minimumTiltAngle);const H=a[1],D=l?l.interRowSpacing:this.rowAxis===Rl.upDown?Math.abs(x.cx-H.cx)*this.foundation.lx:Math.abs(x.cy-H.cy)*this.foundation.ly;let k=this.maximumInterRowSpacing===this.minimumInterRowSpacing?0:(D-this.minimumInterRowSpacing)/(this.maximumInterRowSpacing-this.minimumInterRowSpacing);k<0?k=0:k>1&&(k=1),R.position[1]=k;const W=l?l.rowsPerRack:Math.max(1,Math.round(x.ly/(x.orientation===ui.portrait?e.length:e.width)));let N=this.maximumRowsPerRack===this.minimumRowsPerRack?0:(W-this.minimumRowsPerRack)/(this.maximumRowsPerRack-this.minimumRowsPerRack);N<0?N=0:N>1&&(N=1),R.position[2]=N}}}setInterRowSpacingBounds(){this.bounds=xe.calculatePolygonBounds(this.polygon.vertices)}applyFittest(){this.swarm.bestPositionOfSwarm&&console.log("Best: "+this.particleToString(this.swarm.bestPositionOfSwarm,this.swarm.bestFitness)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount)}getObjectiveUnit(){switch(this.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:return"kWh";case xo.YEARLY_PROFIT:case xo.DAILY_PROFIT:return"dollars"}return null}particleToString(e,n){let o="F("+xe.toDegrees(e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle).toFixed(3)+"°, ";return o+=(e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing).toFixed(3)+"m, ",o+=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack)+")",o+" = "+n.toFixed(5)+" "+this.getObjectiveUnit()}startEvolving(){this.outsideStepCounter=0,this.computeCounter=0,this.bestPositionOfSteps.fill(null),this.bestFitnessOfSteps.fill(0),this.setInterRowSpacingBounds()}translateParticleByIndex(e){return this.translatePosition(this.swarm.particles[e].position)}translateBest(){return this.swarm.bestPositionOfSwarm?this.translatePosition(this.swarm.bestPositionOfSwarm):[]}translatePosition(e){if(!this.bounds)return[];const n=e[0]*(this.maximumTiltAngle-this.minimumTiltAngle)+this.minimumTiltAngle,o=e[1]*(this.maximumInterRowSpacing-this.minimumInterRowSpacing)+this.minimumInterRowSpacing,i=Math.floor(e[2]*(this.maximumRowsPerRack-this.minimumRowsPerRack)+this.minimumRowsPerRack),r=FR.create(this.polygon,this.foundation,this.pvModel,this.orientation,n,i,o,this.rowAxis,this.poleHeight,this.poleSpacing,this.margin);if(this.solarPanelCount=0,this.solarRackCount=r.length,r.length>0)for(const a of r)this.solarPanelCount+=xe.countSolarPanelsOnRack(a,this.pvModel);return r}updateParticle(e,n){var i;const o=this.swarm.particles.length;if(!this.converged){const r=this.swarm.particles[e];r.fitness=n,this.computeCounter===0&&e===0&&(this.bestPositionOfSteps[0]=[...r.position],this.bestFitnessOfSteps[0]=n);const a=Math.floor(this.computeCounter/o);console.log("Step "+(a+1)+", particle "+e+" : "+this.particleToString(r.position,n)+", rack count: "+this.solarRackCount+", panel count: "+this.solarPanelCount);const l=(i=this.swarmOfSteps[a])==null?void 0:i.particles[e];if(l){for(let c=0;c{const t=M(dn),e=M(ha),n=M(mH)??6,o=M(wH),i=ht(K2),r=ht(vq),a=M(rr),l=M(Z9),s=M(Q9),c=M(J2),u=M(cge),d=M(Dq),f=ht(xq),p=M(uW),g=M(Eq),A=M(pA).particleSwarmOptimizationParams,w=M.getState().solarPanelArrayLayoutConstraints,b=M.getState().economicsParams,C=M.getState().solarPanelArrayLayoutParams,P=m.useRef(0),v=m.useRef(!1),T=m.useRef(!1),y=m.useRef(),S=m.useRef(0),x=m.useRef(!1),R=m.useRef([]),H=m.useRef([]),D=Kt(),k=l?a(l):void 0;m.useEffect(()=>{if(o===Bs.PARTICLE_SWARM_OPTIMIZATION&&A.problem===Tr.SOLAR_PANEL_ARRAY&&i){W(),P.current=requestAnimationFrame(L);const F=[...H.current];return()=>{cancelAnimationFrame(P.current),v.current||(hn(j.t("message.EvolutionAborted",D)),ht.getState().set(B=>{B.evolutionInProgress=!1,B.runDailySimulationForSolarPanels=!1,B.runYearlySimulationForSolarPanels=!1}),setTimeout(()=>{R.current.length>0&&u(l.id,!1),F.length>0&&(R.current=F,E(!0))},100))}}},[i]),m.useEffect(()=>{T.current=r,r?(cancelAnimationFrame(P.current),ht.getState().set(F=>{F.evolutionPaused=!0}),hn(j.t("message.EvolutionPaused",D))):(ht.getState().set(F=>{F.evolutionPaused=!1}),L())},[r]);const W=()=>{if(!l||!k)return;ht.getState().set(B=>{B.evolutionInProgress=!0,B.objectiveEvaluationIndex=0}),v.current=!1;const F=s(z.SolarPanel,k.id);H.current.length=0;for(const B of F)H.current.push(JSON.parse(JSON.stringify(B)));y.current=new a9o(c(w.pvModelName??"CS6X-355P-FG"),w.rowAxis??Rl.leftRight,w.orientation??ui.landscape,w.poleHeight??1,w.poleSpacing??3,H.current,C,l,k,A.objectiveFunctionType,A.swarmSize,A.vmax,A.maximumSteps,A.convergenceThreshold,A.searchMethod,A.localSearchRadius,w.minimumInterRowSpacing,w.maximumInterRowSpacing,w.minimumRowsPerRack,w.maximumRowsPerRack,w.minimumTiltAngle,w.maximumTiltAngle,w.margin??0),y.current.inertia=A.inertia,y.current.cognitiveCoefficient=A.cognitiveCoefficient,y.current.socialCoefficient=A.socialCoefficient,S.current=0,x.current=!1,g(["Tilt Angle","Inter-Row Spacing","Rack Width"]),y.current.startEvolving(),t(B=>{B.viewState.showEvolutionPanel=!0,B.selectedFloatingWindow="solarPanelOptimizationResult"})},N=()=>{var _;let F=0;switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:{const Y=Sn.getState().dailyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);break}case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:{const Y=Sn.getState().yearlyPvYield;for(const O of Y)for(const J in O)Object.hasOwn(O,J)&&J==="Total"&&(F+=O[J]);F*=12/n;break}}const B=(_=y.current)==null?void 0:_.solarPanelCount;switch(A.objectiveFunctionType){case xo.DAILY_AVERAGE_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:B&&(F/=B);break;case xo.DAILY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit);break;case xo.YEARLY_PROFIT:F=F*b.electricitySellingPrice,B&&(F-=B*b.operationalCostPerUnit*365);break}return F};m.useEffect(()=>{!y.current||!f||(x.current=y.current.updateParticle(S.current%A.swarmSize,N()),U(),S.current++,y.current.outsideStepCounter=Math.floor(S.current/A.swarmSize),P.current=requestAnimationFrame(L))},[f]);const L=()=>{if(y.current&&o===Bs.PARTICLE_SWARM_OPTIMIZATION&&i&&!T.current){if(x.current||y.current.outsideStepCounter>=A.maximumSteps){if(cancelAnimationFrame(P.current),v.current=!0,R.current.length>0&&u(l.id,!1),R.current=y.current.translateBest(),y.current.applyFittest(),U(),E(!0),hn(j.t("message.EvolutionCompleted",D)+` +`+(x.current?j.t("message.ConvergenceThresholdHasBeenReached",D):j.t("message.MaximumNumberOfStepsHasBeenReached",D))),y.current){const F=y.current.swarm.bestPositionOfSwarm,B=y.current.swarm.bestFitness;if(F&&B){const _=F[0]*(w.maximumTiltAngle-w.minimumTiltAngle)+w.minimumTiltAngle,Y=F[1]*(w.maximumInterRowSpacing-w.minimumInterRowSpacing)+w.minimumInterRowSpacing,O=Math.floor(F[2]*(w.maximumRowsPerRack-w.minimumRowsPerRack)+w.minimumRowsPerRack);t(J=>{J.solarPanelArrayLayoutParams.tiltAngle=_,J.solarPanelArrayLayoutParams.interRowSpacing=Y,J.solarPanelArrayLayoutParams.rowsPerRack=O,J.solarPanelArrayLayoutParams.orientation=w.orientation,J.solarPanelArrayLayoutParams.poleHeight=w.poleHeight}),e&&t(J=>{var Z,ie;J.actionInfo={name:"Particle Swarm Optimization for Solar Panel Array Layout Completed",result:(Z=y.current)==null?void 0:Z.particleToString(F,B),steps:(ie=y.current)==null?void 0:ie.outsideStepCounter,timestamp:new Date().getTime()}})}}return}u(l.id,!1),setTimeout(()=>{y.current&&(R.current=y.current.translateParticleByIndex(S.current%A.swarmSize)),E(!1)},100)}},E=F=>{ht.getState().set(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:F?B.runDailySimulationForSolarPanelsLastStep=!0:B.runDailySimulationForSolarPanels=!0;break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:F?B.runYearlySimulationForSolarPanelsLastStep=!0:B.runYearlySimulationForSolarPanels=!0;break}}),t(B=>{switch(A.objectiveFunctionType){case xo.DAILY_TOTAL_OUTPUT:case xo.DAILY_AVERAGE_OUTPUT:case xo.DAILY_PROFIT:B.graphState&&(B.graphState.dailyPvIndividualOutputs=!1);break;case xo.YEARLY_TOTAL_OUTPUT:case xo.YEARLY_AVERAGE_OUTPUT:case xo.YEARLY_PROFIT:B.graphState&&(B.graphState.yearlyPvIndividualOutputs=!1);break}B.elements.push(...R.current)}),F&&ht.getState().set(B=>{B.runEvolution=!1,B.evolutionInProgress=!1,B.objectiveEvaluationIndex=0})},U=()=>{if(!y.current)return;const F=[];for(let B=0;B0){const J=y.current.swarmOfSteps[B-1];if(J){let Z=0;for(let ie=0;ie0&&F.push(_)}d(F)};return h.jsx(h.Fragment,{})}),s9o=be.memo(()=>{const t=M(Rq),e=M(Mq),n=M(Iq),{gl:o}=Xi();return o.domElement.style.cursor=t!==z.None||n||e?"crosshair":"default",null}),Tm=()=>{ht.getState().set(t=>{t.showSolarRadiationHeatmap=!1,t.showHeatFluxes=!1})},c9o=be.memo(({width:t=400,height:e=400})=>{const n=M(dn),o=M(En),i=M(Xs),r=M(wb),a=M(O1e),l=M(uAt),s=M(TBe),[c,u]=m.useState(null),d=100,f=m.useCallback(P=>{u(P)},[]),p=m.useCallback(function(){u(null)},[]),g=()=>{const P=new google.maps.LatLng(i,r);new google.maps.Geocoder().geocode({location:P},function(v,T){if(T===google.maps.GeocoderStatus.OK&&v&&v[0].address_components){n(y=>{y.world.address=v[0].formatted_address});for(const y of v[0].address_components)if(y.types[0]==="country"){n(S=>{S.world.countryCode=y.short_name});break}}}).then(()=>{})},A=M2.throttle(()=>{if(c){const P=c.getCenter();if(P){const v=P.lat(),T=P.lng();if(v!==i||T!==r){g();const y={name:"Set Location",timestamp:Date.now(),oldLatitude:i,newLatitude:v,oldLongitude:r,newLongitude:T,undo:()=>{Tm(),n(S=>{S.world.latitude=y.oldLatitude,S.world.longitude=y.oldLongitude})},redo:()=>{Tm(),n(S=>{S.world.latitude=y.newLatitude,S.world.longitude=y.newLongitude})}};o(y),Tm(),n(S=>{S.world.latitude=v,S.world.longitude=T})}}}},d,{leading:!1,trailing:!0}),w=M2.throttle(()=>{if(c){const P=c.getZoom();if(P!==void 0&&P!==a){g();const v={name:"Zoom Map",timestamp:Date.now(),oldValue:a,newValue:P,undo:()=>{n(T=>{T.viewState.mapZoom=v.oldValue})},redo:()=>{n(T=>{T.viewState.mapZoom=v.newValue})}};o(v),n(T=>{T.viewState.mapZoom=P})}}},d,{leading:!1,trailing:!0}),b=()=>{if(c){const P=c.getTilt();if(P!==void 0&&P!==l){const v={name:"Tilt Map",timestamp:Date.now(),oldValue:l,newValue:P,undo:()=>{n(T=>{T.viewState.mapTilt=v.oldValue})},redo:()=>{n(T=>{T.viewState.mapTilt=v.newValue})}};o(v),n(T=>{T.viewState.mapTilt=P})}}},C=()=>{if(c){const P=c.getMapTypeId();if(P!==void 0&&P!==s){const v={name:"Change Map Type",timestamp:Date.now(),oldValue:s,newValue:P,undo:()=>{n(T=>{T.viewState.mapType=v.oldValue,T.viewState.groundImageType=T.viewState.mapType})},redo:()=>{n(T=>{T.viewState.mapType=v.newValue,T.viewState.groundImageType=T.viewState.mapType})}};o(v),n(T=>{T.viewState.mapType=P,T.viewState.groundImageType=P})}}};return h.jsx(Aot,{mapContainerStyle:{border:"1px solid",width:t+"px",height:e+"px"},mapTypeId:s,center:{lat:i,lng:r},zoom:a,tilt:l,onLoad:f,onUnmount:p,onCenterChanged:A,onZoomChanged:w,onTiltChanged:b,onMapTypeIdChanged:C})}),u9o=["places"],d9o=Ho.div` position: fixed; top: 40px; left: 10px; @@ -8519,7 +8519,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t align-items: center; padding: 16px; z-index: 10; -`,h9o=Ho.div` +`,f9o=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -8537,7 +8537,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t overflow-x: auto; overflow-y: auto; resize: both; -`,p9o=Ho.div` +`,h9o=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8555,7 +8555,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t padding: 8px; fill: #666; } -`,g9o=be.memo(()=>{const t=M(dn),e=M(En),n=M(yq),o=M(Xs),i=M(wb),r=M(mAt),a=M(yAt),l=M(sA),s=M(xBe),c=M(O1e),u=M(bc),d=be.useRef(null),f=m.useRef(),p=m.useRef(null),g=p.current?p.current.clientWidth+40:460,A=p.current?p.current.clientHeight+40:600,[w,b]=m.useState({x:isNaN(r)?0:Math.min(r,window.innerWidth-g),y:isNaN(a)?0:Math.min(a,window.innerHeight-A)}),[C,P]=m.useState(!1),v=Kt();m.useEffect(()=>{const k=()=>{b({x:Math.min(r,window.innerWidth-g),y:Math.min(a,window.innerHeight-A)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[]);const{isLoaded:T,loadError:y}=Tot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:d9o}),S=()=>{var W;const k=(W=f.current)==null?void 0:W.getPlaces();if(k&&k.length>0){const N=k[0].geometry;if(N&&N.location){const L={name:"Set Location",timestamp:Date.now(),oldLatitude:o,newLatitude:N.location.lat(),oldLongitude:i,newLongitude:N.location.lng(),oldAddress:n,newAddress:k[0].formatted_address,undo:()=>{t(E=>{E.world.latitude=L.oldLatitude,E.world.longitude=L.oldLongitude,E.world.address=L.oldAddress}),Tm(),P(!C)},redo:()=>{t(E=>{E.world.latitude=L.newLatitude,E.world.longitude=L.newLongitude,E.world.address=L.newAddress}),Tm(),P(!C)}};e(L),Tm(),t(E=>{if(N.location&&(E.world.latitude=N.location.lat(),E.world.longitude=N.location.lng()),k[0]&&(E.world.address=k[0].formatted_address,k[0].address_components)){for(const U of k[0].address_components)if(U.types[0]==="country"){E.world.countryCode=U.short_name;break}}})}}},x=k=>{f.current=k},R=(k,W)=>{b({x:Math.min(W.x,window.innerWidth-g),y:Math.min(W.y,window.innerHeight-A)})},H=(k,W)=>{t(N=>{N.viewState.mapPanelX=Math.min(W.x,window.innerWidth-g),N.viewState.mapPanelY=Math.min(W.y,window.innerHeight-A)})},D=()=>{const k={name:"Close Maps",timestamp:Date.now(),undo:()=>{t(W=>{W.viewState.showMapPanel=!0})},redo:()=>{t(W=>{W.viewState.showMapPanel=!1})}};e(k),t(W=>{W.viewState.showMapPanel=!1})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:w,onDrag:R,onStop:H,onMouseDown:()=>{t(k=>{k.selectedFloatingWindow="mapPanel"})},children:h.jsx(f9o,{ref:d,style:{zIndex:u==="mapPanel"?xc:10},children:h.jsxs(h9o,{ref:p,children:[h.jsxs(p9o,{className:"handle",children:[h.jsx("span",{children:j.t("word.Location",v)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:j.t("word.Close",v)})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx(en,{style:{paddingTop:"10px"},align:"center",size:20,children:h.jsxs(en,{direction:"horizontal",children:[h.jsx(en,{style:{fontSize:"12px"},children:j.t("mapPanel.ImageOnGround",v)+":"}),h.jsx(wc,{title:"Show ground image",checked:l,onChange:k=>{const W={name:"Show Ground Image",timestamp:Date.now(),checked:k,undo:()=>{t(N=>{N.viewState.groundImage=!W.checked})},redo:()=>{t(N=>{N.viewState.groundImage=W.checked})}};e(W),t(N=>{N.viewState.groundImage=k})}}),h.jsx(en,{style:{fontSize:"12px"},children:j.t("mapPanel.HideAddress",v)+":"}),h.jsx(wc,{title:"Hide address",checked:s,onChange:k=>{const W={name:"Hide Address",timestamp:Date.now(),checked:k,undo:()=>{t(N=>{N.viewState.hideAddress=!W.checked})},redo:()=>{t(N=>{N.viewState.hideAddress=W.checked})}};e(W),t(N=>{N.viewState.hideAddress=k})}})]})}),T&&h.jsx(en,{children:h.jsx("div",{children:h.jsx(Dot,{onLoad:x,onPlacesChanged:S,children:h.jsx("input",{type:"text",placeholder:n,style:{boxSizing:"border-box",border:"1px solid transparent",width:"400px",height:"32px",padding:"0 12px",borderRadius:"3px",boxShadow:"0 2px 6px rgba(0, 0, 0, 0.3)",fontSize:"14px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),T?h.jsx(en,{children:h.jsxs("div",{children:[h.jsx(u9o,{width:400,height:400}),h.jsxs("p",{style:{paddingTop:"10px",fontSize:"12px"},children:[j.t("mapPanel.Coordinates",v)+":"," (",Math.abs(o).toFixed(sw)+(o>0?"°N":"°S"),","," ",Math.abs(i).toFixed(sw)+(i>0?"°E":"°W"),"),  ",j.t("mapPanel.Zoom",v)+":"," ",c]})]})}):h.jsx(fQ,{}),y&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})})]})]})})})}),m9o=Ho.div` +`,p9o=be.memo(()=>{const t=M(dn),e=M(En),n=M(yq),o=M(Xs),i=M(wb),r=M(pAt),a=M(gAt),l=M(sA),s=M(wBe),c=M(O1e),u=M(bc),d=be.useRef(null),f=m.useRef(),p=m.useRef(null),g=p.current?p.current.clientWidth+40:460,A=p.current?p.current.clientHeight+40:600,[w,b]=m.useState({x:isNaN(r)?0:Math.min(r,window.innerWidth-g),y:isNaN(a)?0:Math.min(a,window.innerHeight-A)}),[C,P]=m.useState(!1),v=Kt();m.useEffect(()=>{const k=()=>{b({x:Math.min(r,window.innerWidth-g),y:Math.min(a,window.innerHeight-A)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[]);const{isLoaded:T,loadError:y}=bot({id:"google-map-script",googleMapsApiKey:"AIzaSyCX6AmhM9d6R1ne9E7redd86YEahX_2Scs",libraries:u9o}),S=()=>{var W;const k=(W=f.current)==null?void 0:W.getPlaces();if(k&&k.length>0){const N=k[0].geometry;if(N&&N.location){const L={name:"Set Location",timestamp:Date.now(),oldLatitude:o,newLatitude:N.location.lat(),oldLongitude:i,newLongitude:N.location.lng(),oldAddress:n,newAddress:k[0].formatted_address,undo:()=>{t(E=>{E.world.latitude=L.oldLatitude,E.world.longitude=L.oldLongitude,E.world.address=L.oldAddress}),Tm(),P(!C)},redo:()=>{t(E=>{E.world.latitude=L.newLatitude,E.world.longitude=L.newLongitude,E.world.address=L.newAddress}),Tm(),P(!C)}};e(L),Tm(),t(E=>{if(N.location&&(E.world.latitude=N.location.lat(),E.world.longitude=N.location.lng()),k[0]&&(E.world.address=k[0].formatted_address,k[0].address_components)){for(const U of k[0].address_components)if(U.types[0]==="country"){E.world.countryCode=U.short_name;break}}})}}},x=k=>{f.current=k},R=(k,W)=>{b({x:Math.min(W.x,window.innerWidth-g),y:Math.min(W.y,window.innerHeight-A)})},H=(k,W)=>{t(N=>{N.viewState.mapPanelX=Math.min(W.x,window.innerWidth-g),N.viewState.mapPanelY=Math.min(W.y,window.innerHeight-A)})},D=()=>{const k={name:"Close Maps",timestamp:Date.now(),undo:()=>{t(W=>{W.viewState.showMapPanel=!0})},redo:()=>{t(W=>{W.viewState.showMapPanel=!1})}};e(k),t(W=>{W.viewState.showMapPanel=!1})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:w,onDrag:R,onStop:H,onMouseDown:()=>{t(k=>{k.selectedFloatingWindow="mapPanel"})},children:h.jsx(d9o,{ref:d,style:{zIndex:u==="mapPanel"?xc:10},children:h.jsxs(f9o,{ref:p,children:[h.jsxs(h9o,{className:"handle",children:[h.jsx("span",{children:j.t("word.Location",v)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:j.t("word.Close",v)})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx(en,{style:{paddingTop:"10px"},align:"center",size:20,children:h.jsxs(en,{direction:"horizontal",children:[h.jsx(en,{style:{fontSize:"12px"},children:j.t("mapPanel.ImageOnGround",v)+":"}),h.jsx(wc,{title:"Show ground image",checked:l,onChange:k=>{const W={name:"Show Ground Image",timestamp:Date.now(),checked:k,undo:()=>{t(N=>{N.viewState.groundImage=!W.checked})},redo:()=>{t(N=>{N.viewState.groundImage=W.checked})}};e(W),t(N=>{N.viewState.groundImage=k})}}),h.jsx(en,{style:{fontSize:"12px"},children:j.t("mapPanel.HideAddress",v)+":"}),h.jsx(wc,{title:"Hide address",checked:s,onChange:k=>{const W={name:"Hide Address",timestamp:Date.now(),checked:k,undo:()=>{t(N=>{N.viewState.hideAddress=!W.checked})},redo:()=>{t(N=>{N.viewState.hideAddress=W.checked})}};e(W),t(N=>{N.viewState.hideAddress=k})}})]})}),T&&h.jsx(en,{children:h.jsx("div",{children:h.jsx(Iot,{onLoad:x,onPlacesChanged:S,children:h.jsx("input",{type:"text",placeholder:n,style:{boxSizing:"border-box",border:"1px solid transparent",width:"400px",height:"32px",padding:"0 12px",borderRadius:"3px",boxShadow:"0 2px 6px rgba(0, 0, 0, 0.3)",fontSize:"14px",outline:"none",textOverflow:"ellipses",position:"relative"}})})})}),T?h.jsx(en,{children:h.jsxs("div",{children:[h.jsx(c9o,{width:400,height:400}),h.jsxs("p",{style:{paddingTop:"10px",fontSize:"12px"},children:[j.t("mapPanel.Coordinates",v)+":"," (",Math.abs(o).toFixed(sw)+(o>0?"°N":"°S"),","," ",Math.abs(i).toFixed(sw)+(i>0?"°E":"°W"),"),  ",j.t("mapPanel.Zoom",v)+":"," ",c]})]})}):h.jsx(fQ,{}),y&&h.jsx(en,{children:h.jsx("div",{children:"Map cannot be loaded right now, sorry."})})]})]})})})}),g9o=Ho.div` position: absolute; top: 80px; right: 24px; @@ -8564,7 +8564,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t align-items: center; padding: 16px; z-index: 11; -`,y9o=Ho.div` +`,m9o=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8575,7 +8575,7 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t border-radius: 10px 10px 10px 10px; display: flex; flex-direction: column; -`,A9o=Ho.div` +`,y9o=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8586,58 +8586,58 @@ FIREBASE: `))},e.prototype.restoreState_=function(){var n,o,i,r;this.tryAuth(),t justify-content: space-between; align-items: center; cursor: move; -`,w9o=be.memo(()=>{const t=M(dn),e=M(En),n=M(Ya),o=M(Xs),i=M(yq),r=ht(qBe),a=M(iwt),l=ht(ZL),s=M(PBe),c=M(TBe),u=M(hAt),d=M(pAt),f=M(bc),p=be.useRef(null),g=m.useRef(0),A=m.useRef(-1),w=m.useRef(null),b=w.current?w.current.clientWidth+40:680,C=w.current?w.current.clientHeight+100:250,[P,v]=m.useState({x:isNaN(u)?0:Math.max(u,b-window.innerWidth),y:isNaN(d)?0:Math.min(d,window.innerHeight-C)}),[T,y]=m.useState(!1),S=m.useMemo(()=>new Date(n),[n]),x=m.useMemo(()=>sl(S,o),[S,o]),{t:R}=jl(),H=Kt();m.useEffect(()=>{const U=()=>{v({x:Math.max(u,b-window.innerWidth),y:Math.min(d,window.innerHeight-C)})};return window.addEventListener("resize",U),()=>{window.removeEventListener("resize",U)}},[C,b,u,d]),m.useEffect(()=>(g.current=requestAnimationFrame(D),()=>{cancelAnimationFrame(g.current)}),[r]),m.useEffect(()=>{r&&x.sunset===0&&(cancelAnimationFrame(g.current),ht.getState().set(U=>{U.animateSun=!1}))},[x.sunset]);const D=()=>{const U=M.getState().animate24Hours;if(r){g.current=requestAnimationFrame(D);const F=Date.now();if(F-A.current>100){const B=S.getDate(),_=S.getMinutes()+S.getHours()*60,Y=sl(S,M.getState().world.latitude);!U&&_>Y.sunset&&S.setHours(Y.sunrise/60,S.getMinutes()+15),S.setHours(S.getHours(),S.getMinutes()+15),S.setDate(B),k(S,!1),A.current=F}}else cancelAnimationFrame(g.current)},k=(U,F)=>{const B=new Date(S);if(B.setHours(U.getHours(),U.getMinutes()),F){const _={name:"Set Time",timestamp:Date.now(),oldValue:n,newValue:B.toLocaleString(),undo:()=>{t(Y=>{Y.world.date=_.oldValue})},redo:()=>{t(Y=>{Y.world.date=_.newValue})}};e(_)}t(_=>{_.world.date=B.toLocaleString("en-US")})},W=(U,F)=>{v({x:Math.max(F.x,b-window.innerWidth),y:Math.min(F.y,window.innerHeight-C)})},N=(U,F)=>{t(B=>{B.viewState.heliodonPanelX=Math.max(F.x,b-window.innerWidth),B.viewState.heliodonPanelY=Math.min(F.y,window.innerHeight-C)})},L=()=>{const U={name:"Close Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{t(F=>{F.viewState.showHeliodonPanel=!0})},redo:()=>{t(F=>{F.viewState.showHeliodonPanel=!1})}};e(U),t(F=>{F.viewState.showHeliodonPanel=!1})},E=m.useRef(M2.throttle(U=>{const F={name:"Set Latitude",timestamp:Date.now(),oldLatitude:o,newLatitude:U,oldAddress:i,newAddress:"",undo:()=>{t(B=>{B.world.latitude=F.oldLatitude,B.world.address=F.oldAddress}),Tm(),y(!T)},redo:()=>{t(B=>{B.world.latitude=F.newLatitude,B.world.address=F.newAddress}),Tm(),y(!T)}};e(F),t(B=>{B.world.latitude=U,B.world.address=""}),Tm()},500,{leading:!1,trailing:!0}));return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:P,onDrag:W,onStop:N,onMouseDown:()=>{t(U=>{U.selectedFloatingWindow="heliodonPanel"})},children:h.jsx(m9o,{ref:p,style:{zIndex:f==="heliodonPanel"?xc:11},children:h.jsxs(y9o,{ref:w,children:[h.jsxs(A9o,{className:"handle",children:[h.jsx("span",{children:R("heliodonPanel.SunAndTimeSettings",H)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{L()},onMouseDown:()=>{L()},children:R("word.Close",H)})]}),h.jsxs(en,{style:{padding:"20px"},align:"baseline",size:20,children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("menu.settings.Heliodon",H)}),h.jsx(wc,{checked:c,onChange:U=>{const F={name:"Show Heliodon",timestamp:Date.now(),checked:!c,undo:()=>{t(B=>{B.viewState.heliodon=!F.checked,B.viewState.heliodon&&B.updateSceneRadius()})},redo:()=>{t(B=>{B.viewState.heliodon=F.checked,B.viewState.heliodon&&B.updateSceneRadius()})}};e(F),t(B=>{B.viewState.heliodon=U,B.viewState.heliodon&&B.updateSceneRadius()})}})]}),c&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.SunAngles",H)}),h.jsx(wc,{checked:s,onChange:U=>{const F={name:"Show Sun Angles",timestamp:Date.now(),checked:!s,undo:()=>{t(B=>{B.viewState.showSunAngles=!F.checked})},redo:()=>{t(B=>{B.viewState.showSunAngles=F.checked})}};e(F),t(B=>{B.viewState.showSunAngles=U})}})]}),x.sunset>0&&!l&&h.jsxs(h.Fragment,{children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Animate",H)}),h.jsx(wc,{checked:r,onChange:U=>{const F={name:"Animate Heliodon",timestamp:Date.now(),checked:!r,undo:()=>{ht.getState().set(B=>{B.animateSun=!F.checked})},redo:()=>{ht.getState().set(B=>{B.animateSun=F.checked})}};e(F),ht.getState().set(B=>{B.animateSun=U})}})]}),r&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.TwentyFourHours",H)}),h.jsx(wc,{checked:a,onChange:U=>{const F={name:"Animate 24 Hours",timestamp:Date.now(),checked:!a,undo:()=>{t(B=>{B.animate24Hours=!F.checked})},redo:()=>{t(B=>{B.animate24Hours=F.checked})}};e(F),t(B=>{B.animate24Hours=U})}})]})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Date",H)}),h.jsx(Db,{disabled:l,value:gc(S),onChange:U=>{if(U){const F=new Date(S),B=U.toDate();F.setFullYear(B.getFullYear()),F.setMonth(B.getMonth()),F.setDate(B.getDate());const _={name:"Set Date",timestamp:Date.now(),oldValue:n,newValue:F.toString(),undo:()=>{t(Y=>{Y.world.date=_.oldValue}),Tm()},redo:()=>{t(Y=>{Y.world.date=_.newValue}),Tm()}};e(_),t(Y=>{Y.world.date=F.toLocaleString("en-US")}),Tm()}}})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Time",H)}),h.jsx(jW,{disabled:l,value:gc(S),format:"HH:mm",onChange:U=>{U&&(k==null||k(U.toDate(),!0))}})]}),!l&&h.jsxs(en,{direction:"vertical",children:[h.jsxs("span",{children:[R("word.Latitude",H),": ",o.toFixed(2),"°"]}),h.jsx(Mu,{disabled:l,style:{width:"110px"},marks:{"-90":"-90°",0:"0°",90:"90°"},min:-90,max:90,value:o,tooltip:{open:!1},onChange:E.current})]})]})]})})})});function prt(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e{const t=M(dn),e=M(En),n=M(Ya),o=M(Xs),i=M(yq),r=ht(JBe),a=M(nwt),l=ht(ZL),s=M(SBe),c=M(bBe),u=M(dAt),d=M(fAt),f=M(bc),p=be.useRef(null),g=m.useRef(0),A=m.useRef(-1),w=m.useRef(null),b=w.current?w.current.clientWidth+40:680,C=w.current?w.current.clientHeight+100:250,[P,v]=m.useState({x:isNaN(u)?0:Math.max(u,b-window.innerWidth),y:isNaN(d)?0:Math.min(d,window.innerHeight-C)}),[T,y]=m.useState(!1),S=m.useMemo(()=>new Date(n),[n]),x=m.useMemo(()=>sl(S,o),[S,o]),{t:R}=jl(),H=Kt();m.useEffect(()=>{const U=()=>{v({x:Math.max(u,b-window.innerWidth),y:Math.min(d,window.innerHeight-C)})};return window.addEventListener("resize",U),()=>{window.removeEventListener("resize",U)}},[C,b,u,d]),m.useEffect(()=>(g.current=requestAnimationFrame(D),()=>{cancelAnimationFrame(g.current)}),[r]),m.useEffect(()=>{r&&x.sunset===0&&(cancelAnimationFrame(g.current),ht.getState().set(U=>{U.animateSun=!1}))},[x.sunset]);const D=()=>{const U=M.getState().animate24Hours;if(r){g.current=requestAnimationFrame(D);const F=Date.now();if(F-A.current>100){const B=S.getDate(),_=S.getMinutes()+S.getHours()*60,Y=sl(S,M.getState().world.latitude);!U&&_>Y.sunset&&S.setHours(Y.sunrise/60,S.getMinutes()+15),S.setHours(S.getHours(),S.getMinutes()+15),S.setDate(B),k(S,!1),A.current=F}}else cancelAnimationFrame(g.current)},k=(U,F)=>{const B=new Date(S);if(B.setHours(U.getHours(),U.getMinutes()),F){const _={name:"Set Time",timestamp:Date.now(),oldValue:n,newValue:B.toLocaleString(),undo:()=>{t(Y=>{Y.world.date=_.oldValue})},redo:()=>{t(Y=>{Y.world.date=_.newValue})}};e(_)}t(_=>{_.world.date=B.toLocaleString("en-US")})},W=(U,F)=>{v({x:Math.max(F.x,b-window.innerWidth),y:Math.min(F.y,window.innerHeight-C)})},N=(U,F)=>{t(B=>{B.viewState.heliodonPanelX=Math.max(F.x,b-window.innerWidth),B.viewState.heliodonPanelY=Math.min(F.y,window.innerHeight-C)})},L=()=>{const U={name:"Close Sun and Time Settings Panel",timestamp:Date.now(),undo:()=>{t(F=>{F.viewState.showHeliodonPanel=!0})},redo:()=>{t(F=>{F.viewState.showHeliodonPanel=!1})}};e(U),t(F=>{F.viewState.showHeliodonPanel=!1})},E=m.useRef(M2.throttle(U=>{const F={name:"Set Latitude",timestamp:Date.now(),oldLatitude:o,newLatitude:U,oldAddress:i,newAddress:"",undo:()=>{t(B=>{B.world.latitude=F.oldLatitude,B.world.address=F.oldAddress}),Tm(),y(!T)},redo:()=>{t(B=>{B.world.latitude=F.newLatitude,B.world.address=F.newAddress}),Tm(),y(!T)}};e(F),t(B=>{B.world.latitude=U,B.world.address=""}),Tm()},500,{leading:!1,trailing:!0}));return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:P,onDrag:W,onStop:N,onMouseDown:()=>{t(U=>{U.selectedFloatingWindow="heliodonPanel"})},children:h.jsx(g9o,{ref:p,style:{zIndex:f==="heliodonPanel"?xc:11},children:h.jsxs(m9o,{ref:w,children:[h.jsxs(y9o,{className:"handle",children:[h.jsx("span",{children:R("heliodonPanel.SunAndTimeSettings",H)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{L()},onMouseDown:()=>{L()},children:R("word.Close",H)})]}),h.jsxs(en,{style:{padding:"20px"},align:"baseline",size:20,children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("menu.settings.Heliodon",H)}),h.jsx(wc,{checked:c,onChange:U=>{const F={name:"Show Heliodon",timestamp:Date.now(),checked:!c,undo:()=>{t(B=>{B.viewState.heliodon=!F.checked,B.viewState.heliodon&&B.updateSceneRadius()})},redo:()=>{t(B=>{B.viewState.heliodon=F.checked,B.viewState.heliodon&&B.updateSceneRadius()})}};e(F),t(B=>{B.viewState.heliodon=U,B.viewState.heliodon&&B.updateSceneRadius()})}})]}),c&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.SunAngles",H)}),h.jsx(wc,{checked:s,onChange:U=>{const F={name:"Show Sun Angles",timestamp:Date.now(),checked:!s,undo:()=>{t(B=>{B.viewState.showSunAngles=!F.checked})},redo:()=>{t(B=>{B.viewState.showSunAngles=F.checked})}};e(F),t(B=>{B.viewState.showSunAngles=U})}})]}),x.sunset>0&&!l&&h.jsxs(h.Fragment,{children:[h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Animate",H)}),h.jsx(wc,{checked:r,onChange:U=>{const F={name:"Animate Heliodon",timestamp:Date.now(),checked:!r,undo:()=>{ht.getState().set(B=>{B.animateSun=!F.checked})},redo:()=>{ht.getState().set(B=>{B.animateSun=F.checked})}};e(F),ht.getState().set(B=>{B.animateSun=U})}})]}),r&&h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{style:{fontSize:"10px"},children:R("heliodonPanel.TwentyFourHours",H)}),h.jsx(wc,{checked:a,onChange:U=>{const F={name:"Animate 24 Hours",timestamp:Date.now(),checked:!a,undo:()=>{t(B=>{B.animate24Hours=!F.checked})},redo:()=>{t(B=>{B.animate24Hours=F.checked})}};e(F),t(B=>{B.animate24Hours=U})}})]})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Date",H)}),h.jsx(Db,{disabled:l,value:gc(S),onChange:U=>{if(U){const F=new Date(S),B=U.toDate();F.setFullYear(B.getFullYear()),F.setMonth(B.getMonth()),F.setDate(B.getDate());const _={name:"Set Date",timestamp:Date.now(),oldValue:n,newValue:F.toString(),undo:()=>{t(Y=>{Y.world.date=_.oldValue}),Tm()},redo:()=>{t(Y=>{Y.world.date=_.newValue}),Tm()}};e(_),t(Y=>{Y.world.date=F.toLocaleString("en-US")}),Tm()}}})]}),h.jsxs(en,{direction:"vertical",children:[h.jsx("span",{children:R("word.Time",H)}),h.jsx(jW,{disabled:l,value:gc(S),format:"HH:mm",onChange:U=>{U&&(k==null||k(U.toDate(),!0))}})]}),!l&&h.jsxs(en,{direction:"vertical",children:[h.jsxs("span",{children:[R("word.Latitude",H),": ",o.toFixed(2),"°"]}),h.jsx(Mu,{disabled:l,style:{width:"110px"},marks:{"-90":"-90°",0:"0°",90:"90°"},min:-90,max:90,value:o,tooltip:{open:!1},onChange:E.current})]})]})]})})})});function frt(t){var e,n,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(e=0;e0?1:-1},Xv=function(e){return MN(e)&&e.indexOf("%")===e.length-1},ci=function(e){return z9o(e)&&!AM(e)},Lu=function(e){return ci(e)||MN(e)},F9o=0,oS=function(e){var n=++F9o;return"".concat(e||"").concat(n)},ab=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ci(e)&&!MN(e))return o;var r;if(Xv(e)){var a=e.indexOf("%");r=n*parseFloat(e.slice(0,a))/100}else r=+e;return AM(r)&&(r=o),i&&r>n&&(r=n),r},iw=function(e){if(!e)return null;var n=Object.keys(e);return n&&n.length?e[n[0]]:null},L9o=function(e){if(!Array.isArray(e))return!1;for(var n=e.length,o={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function O9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function Afe(t){"@babel/helpers - typeof";return Afe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Afe(t)}var hIe={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},D6=function(e){return typeof e=="string"?e:e?e.displayName||e.name||"Component":""},pIe=null,Wae=null,X9e=function t(e){if(e===pIe&&Array.isArray(Wae))return Wae;var n=[];return m.Children.forEach(e,function(o){ra(o)||(mfe.isFragment(o)?n=n.concat(t(o.props.children)):n.push(o))}),Wae=n,pIe=e,n};function Kp(t,e){var n=[],o=[];return Array.isArray(e)?o=e.map(function(i){return D6(i)}):o=[D6(e)],X9e(t).forEach(function(i){var r=jm(i,"type.displayName")||jm(i,"type.name");o.indexOf(r)!==-1&&n.push(i)}),n}function Q1(t,e){var n=Kp(t,e);return n&&n[0]}var gIe=function(e){if(!e||!e.props)return!1;var n=e.props,o=n.width,i=n.height;return!(!ci(o)||o<=0||!ci(i)||i<=0)},_9o=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],V9o=function(e){return e&&e.type&&MN(e.type)&&_9o.indexOf(e.type)>=0},Art=function(e){return e&&Afe(e)==="object"&&"cx"in e&&"cy"in e&&"r"in e},G9o=function(e,n,o,i){var r,a=(r=Lae==null?void 0:Lae[i])!==null&&r!==void 0?r:[];return!Aa(e)&&(i&&a.includes(n)||U9o.includes(n))||o&&G9e.includes(n)},oa=function(e,n,o){if(!e||typeof e=="function"||typeof e=="boolean")return null;var i=e;if(m.isValidElement(e)&&(i=e.props),!tM(i))return null;var r={};return Object.keys(i).forEach(function(a){var l;G9o((l=i)===null||l===void 0?void 0:l[a],a,n,o)&&(r[a]=i[a])}),r},wfe=function t(e,n){if(e===n)return!0;var o=m.Children.count(e);if(o!==m.Children.count(n))return!1;if(o===0)return!0;if(o===1)return mIe(Array.isArray(e)?e[0]:e,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function $9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function xfe(t){var e=t.children,n=t.width,o=t.height,i=t.viewBox,r=t.className,a=t.style,l=t.title,s=t.desc,c=q9o(t,K9o),u=i||{width:n,height:o,x:0,y:0},d=cl("recharts-surface",r);return be.createElement("svg",vfe({},oa(c,!0,"svg"),{className:d,width:n,height:o,style:a,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),be.createElement("title",null,l),be.createElement("desc",null,s),e)}var Q9o=["children","className"];function bfe(){return bfe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function e3o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Bl=be.forwardRef(function(t,e){var n=t.children,o=t.className,i=Z9o(t,Q9o),r=cl("recharts-layer",o);return be.createElement("g",bfe({className:r},oa(i,!0),{ref:e}),n)}),E6=function(e,n){for(var o=arguments.length,i=new Array(o>2?o-2:0),r=2;ri?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o=o?t:o3o(t,e,n)}var r3o=i3o,a3o="\\ud800-\\udfff",l3o="\\u0300-\\u036f",s3o="\\ufe20-\\ufe2f",c3o="\\u20d0-\\u20ff",u3o=l3o+s3o+c3o,d3o="\\ufe0e\\ufe0f",f3o="\\u200d",h3o=RegExp("["+f3o+a3o+u3o+d3o+"]");function p3o(t){return h3o.test(t)}var wrt=p3o;function g3o(t){return t.split("")}var m3o=g3o,vrt="\\ud800-\\udfff",y3o="\\u0300-\\u036f",A3o="\\ufe20-\\ufe2f",w3o="\\u20d0-\\u20ff",v3o=y3o+A3o+w3o,x3o="\\ufe0e\\ufe0f",b3o="["+vrt+"]",Sfe="["+v3o+"]",Tfe="\\ud83c[\\udffb-\\udfff]",S3o="(?:"+Sfe+"|"+Tfe+")",xrt="[^"+vrt+"]",brt="(?:\\ud83c[\\udde6-\\uddff]){2}",Srt="[\\ud800-\\udbff][\\udc00-\\udfff]",T3o="\\u200d",Trt=S3o+"?",Prt="["+x3o+"]?",P3o="(?:"+T3o+"(?:"+[xrt,brt,Srt].join("|")+")"+Prt+Trt+")*",C3o=Prt+Trt+P3o,R3o="(?:"+[xrt+Sfe+"?",Sfe,brt,Srt,b3o].join("|")+")",H3o=RegExp(Tfe+"(?="+Tfe+")|"+R3o+C3o,"g");function M3o(t){return t.match(H3o)||[]}var I3o=M3o,z3o=m3o,D3o=wrt,E3o=I3o;function k3o(t){return D3o(t)?E3o(t):z3o(t)}var F3o=k3o,L3o=r3o,W3o=wrt,N3o=F3o,U3o=mnt;function B3o(t){return function(e){e=U3o(e);var n=W3o(e)?N3o(e):void 0,o=n?n[0]:e.charAt(0),i=n?L3o(n,1).join(""):e.slice(1);return o[t]()+i}}var j3o=B3o,Y3o=j3o,O3o=Y3o("toUpperCase"),_3o=O3o;const wee=kr(_3o);function Us(t){return function(){return t}}const Crt=Math.cos,lJ=Math.sin,i5=Math.sqrt,sJ=Math.PI,vee=2*sJ,Pfe=Math.PI,Cfe=2*Pfe,hv=1e-6,V3o=Cfe-hv;function Rrt(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Rrt;const n=10**e;return function(o){this._+=o[0];for(let i=1,r=o.length;ihv)if(!(Math.abs(d*s-c*u)>hv)||!r)this._append`L${this._x1=e},${this._y1=n}`;else{let p=o-a,g=i-l,A=s*s+c*c,w=p*p+g*g,b=Math.sqrt(A),C=Math.sqrt(f),P=r*Math.tan((Pfe-Math.acos((A+f-w)/(2*b*C)))/2),v=P/C,T=P/b;Math.abs(v-1)>hv&&this._append`L${e+v*u},${n+v*d}`,this._append`A${r},${r},0,0,${+(d*p>u*g)},${this._x1=e+T*s},${this._y1=n+T*c}`}}arc(e,n,o,i,r,a){if(e=+e,n=+n,o=+o,a=!!a,o<0)throw new Error(`negative radius: ${o}`);let l=o*Math.cos(i),s=o*Math.sin(i),c=e+l,u=n+s,d=1^a,f=a?i-r:r-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>hv||Math.abs(this._y1-u)>hv)&&this._append`L${c},${u}`,o&&(f<0&&(f=f%Cfe+Cfe),f>V3o?this._append`A${o},${o},0,1,${d},${e-l},${n-s}A${o},${o},0,1,${d},${this._x1=c},${this._y1=u}`:f>hv&&this._append`A${o},${o},0,${+(f>=Pfe)},${d},${this._x1=e+o*Math.cos(r)},${this._y1=n+o*Math.sin(r)}`)}rect(e,n,o,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${o=+o}v${+i}h${-o}Z`}toString(){return this._}}function J9e(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const o=Math.floor(n);if(!(o>=0))throw new RangeError(`invalid digits: ${n}`);e=o}return t},()=>new X3o(e)}function K9e(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Hrt(t){this._context=t}Hrt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function xee(t){return new Hrt(t)}function Mrt(t){return t[0]}function Irt(t){return t[1]}function q9e(t,e){var n=Us(!0),o=null,i=xee,r=null,a=J9e(l);t=typeof t=="function"?t:t===void 0?Mrt:Us(t),e=typeof e=="function"?e:e===void 0?Irt:Us(e);function l(s){var c,u=(s=K9e(s)).length,d,f=!1,p;for(o==null&&(r=i(p=a())),c=0;c<=u;++c)!(c=p;--g)l.point(P[g],v[g]);l.lineEnd(),l.areaEnd()}b&&(P[f]=+t(w,f,d),v[f]=+e(w,f,d),l.point(o?+o(w,f,d):P[f],n?+n(w,f,d):v[f]))}if(C)return l=null,C+""||null}function u(){return q9e().defined(i).curve(a).context(r)}return c.x=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),o=null,c):t},c.x0=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),c):t},c.x1=function(d){return arguments.length?(o=d==null?null:typeof d=="function"?d:Us(+d),c):o},c.y=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),n=null,c):e},c.y0=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),c):e},c.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Us(+d),c):n},c.lineX0=c.lineY0=function(){return u().x(t).y(e)},c.lineY1=function(){return u().x(t).y(n)},c.lineX1=function(){return u().x(o).y(e)},c.defined=function(d){return arguments.length?(i=typeof d=="function"?d:Us(!!d),c):i},c.curve=function(d){return arguments.length?(a=d,r!=null&&(l=a(r)),c):a},c.context=function(d){return arguments.length?(d==null?r=l=null:l=a(r=d),c):r},c}class zrt{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function J3o(t){return new zrt(t,!0)}function K3o(t){return new zrt(t,!1)}const $9e={draw(t,e){const n=i5(e/sJ);t.moveTo(n,0),t.arc(0,0,n,0,vee)}},q3o={draw(t,e){const n=i5(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},Drt=i5(1/3),$3o=Drt*2,Q3o={draw(t,e){const n=i5(e/$3o),o=n*Drt;t.moveTo(0,-n),t.lineTo(o,0),t.lineTo(0,n),t.lineTo(-o,0),t.closePath()}},Z3o={draw(t,e){const n=i5(e),o=-n/2;t.rect(o,o,n,n)}},e6o=.8908130915292852,Ert=lJ(sJ/10)/lJ(7*sJ/10),t6o=lJ(vee/10)*Ert,n6o=-Crt(vee/10)*Ert,o6o={draw(t,e){const n=i5(e*e6o),o=t6o*n,i=n6o*n;t.moveTo(0,-n),t.lineTo(o,i);for(let r=1;r<5;++r){const a=vee*r/5,l=Crt(a),s=lJ(a);t.lineTo(s*n,-l*n),t.lineTo(l*o-s*i,s*o+l*i)}t.closePath()}},Nae=i5(3),i6o={draw(t,e){const n=-i5(e/(Nae*3));t.moveTo(0,n*2),t.lineTo(-Nae*n,-n),t.lineTo(Nae*n,-n),t.closePath()}},hm=-.5,pm=i5(3)/2,Rfe=1/i5(12),r6o=(Rfe/2+1)*3,a6o={draw(t,e){const n=i5(e/r6o),o=n/2,i=n*Rfe,r=o,a=n*Rfe+n,l=-r,s=a;t.moveTo(o,i),t.lineTo(r,a),t.lineTo(l,s),t.lineTo(hm*o-pm*i,pm*o+hm*i),t.lineTo(hm*r-pm*a,pm*r+hm*a),t.lineTo(hm*l-pm*s,pm*l+hm*s),t.lineTo(hm*o+pm*i,hm*i-pm*o),t.lineTo(hm*r+pm*a,hm*a-pm*r),t.lineTo(hm*l+pm*s,hm*s-pm*l),t.closePath()}};function l6o(t,e){let n=null,o=J9e(i);t=typeof t=="function"?t:Us(t||$9e),e=typeof e=="function"?e:Us(e===void 0?64:+e);function i(){let r;if(n||(n=r=o()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return i.type=function(r){return arguments.length?(t=typeof r=="function"?r:Us(r),i):t},i.size=function(r){return arguments.length?(e=typeof r=="function"?r:Us(+r),i):e},i.context=function(r){return arguments.length?(n=r??null,i):n},i}function cJ(){}function uJ(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function krt(t){this._context=t}krt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uJ(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:uJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function s6o(t){return new krt(t)}function Frt(t){this._context=t}Frt.prototype={areaStart:cJ,areaEnd:cJ,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:uJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function c6o(t){return new Frt(t)}function Lrt(t){this._context=t}Lrt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,o=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,o):this._context.moveTo(n,o);break;case 3:this._point=4;default:uJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function u6o(t){return new Lrt(t)}function Wrt(t){this._context=t}Wrt.prototype={areaStart:cJ,areaEnd:cJ,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function d6o(t){return new Wrt(t)}function AIe(t){return t<0?-1:1}function wIe(t,e,n){var o=t._x1-t._x0,i=e-t._x1,r=(t._y1-t._y0)/(o||i<0&&-0),a=(n-t._y1)/(i||o<0&&-0),l=(r*i+a*o)/(o+i);return(AIe(r)+AIe(a))*Math.min(Math.abs(r),Math.abs(a),.5*Math.abs(l))||0}function vIe(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Uae(t,e,n){var o=t._x0,i=t._y0,r=t._x1,a=t._y1,l=(r-o)/3;t._context.bezierCurveTo(o+l,i+l*e,r-l,a-l*n,r,a)}function dJ(t){this._context=t}dJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Uae(this,this._t0,vIe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Uae(this,vIe(this,n=wIe(this,t,e)),n);break;default:Uae(this,this._t0,n=wIe(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function Nrt(t){this._context=new Urt(t)}(Nrt.prototype=Object.create(dJ.prototype)).point=function(t,e){dJ.prototype.point.call(this,e,t)};function Urt(t){this._context=t}Urt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,o,i,r){this._context.bezierCurveTo(e,t,o,n,r,i)}};function f6o(t){return new dJ(t)}function h6o(t){return new Nrt(t)}function Brt(t){this._context=t}Brt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var o=xIe(t),i=xIe(e),r=0,a=1;a=0;--e)i[e]=(a[e]-i[e+1])/r[e];for(r[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function g6o(t){return new bee(t,.5)}function m6o(t){return new bee(t,0)}function y6o(t){return new bee(t,1)}function YR(t,e){if((a=t.length)>1)for(var n=1,o,i,r=t[e[0]],a,l=r.length;n=0;)n[e]=e;return n}function A6o(t,e){return t[e]}function w6o(t){const e=[];return e.key=t,e}function v6o(){var t=Us([]),e=Hfe,n=YR,o=A6o;function i(r){var a=Array.from(t.apply(this,arguments),w6o),l,s=a.length,c=-1,u;for(const d of r)for(l=0,++c;l0){for(var n,o,i=0,r=t[0].length,a;i0){for(var n=0,o=t[e[0]],i,r=o.length;n0)||!((r=(i=t[e[0]]).length)>0))){for(var n=0,o=1,i,r,a;o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function M6o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var jrt={symbolCircle:$9e,symbolCross:q3o,symbolDiamond:Q3o,symbolSquare:Z3o,symbolStar:o6o,symbolTriangle:i6o,symbolWye:a6o},I6o=Math.PI/180,z6o=function(e){var n="symbol".concat(wee(e));return jrt[n]||$9e},D6o=function(e,n,o){if(n==="area")return e;switch(o){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var i=18*I6o;return 1.25*e*e*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},E6o=function(e,n){jrt["symbol".concat(wee(e))]=n},See=function(e){var n=e.type,o=n===void 0?"circle":n,i=e.size,r=i===void 0?64:i,a=e.sizeType,l=a===void 0?"area":a,s=H6o(e,T6o),c=SIe(SIe({},s),{},{type:o,size:r,sizeType:l}),u=function(){var w=z6o(o),b=l6o().type(w).size(D6o(r,l,o));return b()},d=c.className,f=c.cx,p=c.cy,g=oa(c,!0);return f===+f&&p===+p&&r===+r?be.createElement("path",Mfe({},g,{className:cl("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:u()})):null};See.registerSymbol=E6o;function OR(t){"@babel/helpers - typeof";return OR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},OR(t)}function Ife(){return Ife=Object.assign?Object.assign.bind():function(t){for(var e=1;e0?1:-1},Xv=function(e){return MN(e)&&e.indexOf("%")===e.length-1},ci=function(e){return I9o(e)&&!AM(e)},Lu=function(e){return ci(e)||MN(e)},k9o=0,oS=function(e){var n=++k9o;return"".concat(e||"").concat(n)},ab=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ci(e)&&!MN(e))return o;var r;if(Xv(e)){var a=e.indexOf("%");r=n*parseFloat(e.slice(0,a))/100}else r=+e;return AM(r)&&(r=o),i&&r>n&&(r=n),r},iw=function(e){if(!e)return null;var n=Object.keys(e);return n&&n.length?e[n[0]]:null},F9o=function(e){if(!Array.isArray(e))return!1;for(var n=e.length,o={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function Y9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function Afe(t){"@babel/helpers - typeof";return Afe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Afe(t)}var dIe={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},D6=function(e){return typeof e=="string"?e:e?e.displayName||e.name||"Component":""},fIe=null,Wae=null,X9e=function t(e){if(e===fIe&&Array.isArray(Wae))return Wae;var n=[];return m.Children.forEach(e,function(o){ra(o)||(mfe.isFragment(o)?n=n.concat(t(o.props.children)):n.push(o))}),Wae=n,fIe=e,n};function Kp(t,e){var n=[],o=[];return Array.isArray(e)?o=e.map(function(i){return D6(i)}):o=[D6(e)],X9e(t).forEach(function(i){var r=jm(i,"type.displayName")||jm(i,"type.name");o.indexOf(r)!==-1&&n.push(i)}),n}function Q1(t,e){var n=Kp(t,e);return n&&n[0]}var hIe=function(e){if(!e||!e.props)return!1;var n=e.props,o=n.width,i=n.height;return!(!ci(o)||o<=0||!ci(i)||i<=0)},O9o=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],_9o=function(e){return e&&e.type&&MN(e.type)&&O9o.indexOf(e.type)>=0},mrt=function(e){return e&&Afe(e)==="object"&&"cx"in e&&"cy"in e&&"r"in e},V9o=function(e,n,o,i){var r,a=(r=Lae==null?void 0:Lae[i])!==null&&r!==void 0?r:[];return!Aa(e)&&(i&&a.includes(n)||N9o.includes(n))||o&&G9e.includes(n)},oa=function(e,n,o){if(!e||typeof e=="function"||typeof e=="boolean")return null;var i=e;if(m.isValidElement(e)&&(i=e.props),!tM(i))return null;var r={};return Object.keys(i).forEach(function(a){var l;V9o((l=i)===null||l===void 0?void 0:l[a],a,n,o)&&(r[a]=i[a])}),r},wfe=function t(e,n){if(e===n)return!0;var o=m.Children.count(e);if(o!==m.Children.count(n))return!1;if(o===0)return!0;if(o===1)return pIe(Array.isArray(e)?e[0]:e,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function q9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function xfe(t){var e=t.children,n=t.width,o=t.height,i=t.viewBox,r=t.className,a=t.style,l=t.title,s=t.desc,c=K9o(t,J9o),u=i||{width:n,height:o,x:0,y:0},d=cl("recharts-surface",r);return be.createElement("svg",vfe({},oa(c,!0,"svg"),{className:d,width:n,height:o,style:a,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),be.createElement("title",null,l),be.createElement("desc",null,s),e)}var $9o=["children","className"];function bfe(){return bfe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function Z9o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Bl=be.forwardRef(function(t,e){var n=t.children,o=t.className,i=Q9o(t,$9o),r=cl("recharts-layer",o);return be.createElement("g",bfe({className:r},oa(i,!0),{ref:e}),n)}),E6=function(e,n){for(var o=arguments.length,i=new Array(o>2?o-2:0),r=2;ri?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o=o?t:n3o(t,e,n)}var i3o=o3o,r3o="\\ud800-\\udfff",a3o="\\u0300-\\u036f",l3o="\\ufe20-\\ufe2f",s3o="\\u20d0-\\u20ff",c3o=a3o+l3o+s3o,u3o="\\ufe0e\\ufe0f",d3o="\\u200d",f3o=RegExp("["+d3o+r3o+c3o+u3o+"]");function h3o(t){return f3o.test(t)}var yrt=h3o;function p3o(t){return t.split("")}var g3o=p3o,Art="\\ud800-\\udfff",m3o="\\u0300-\\u036f",y3o="\\ufe20-\\ufe2f",A3o="\\u20d0-\\u20ff",w3o=m3o+y3o+A3o,v3o="\\ufe0e\\ufe0f",x3o="["+Art+"]",Sfe="["+w3o+"]",Tfe="\\ud83c[\\udffb-\\udfff]",b3o="(?:"+Sfe+"|"+Tfe+")",wrt="[^"+Art+"]",vrt="(?:\\ud83c[\\udde6-\\uddff]){2}",xrt="[\\ud800-\\udbff][\\udc00-\\udfff]",S3o="\\u200d",brt=b3o+"?",Srt="["+v3o+"]?",T3o="(?:"+S3o+"(?:"+[wrt,vrt,xrt].join("|")+")"+Srt+brt+")*",P3o=Srt+brt+T3o,C3o="(?:"+[wrt+Sfe+"?",Sfe,vrt,xrt,x3o].join("|")+")",R3o=RegExp(Tfe+"(?="+Tfe+")|"+C3o+P3o,"g");function H3o(t){return t.match(R3o)||[]}var M3o=H3o,I3o=g3o,z3o=yrt,D3o=M3o;function E3o(t){return z3o(t)?D3o(t):I3o(t)}var k3o=E3o,F3o=i3o,L3o=yrt,W3o=k3o,N3o=pnt;function U3o(t){return function(e){e=N3o(e);var n=L3o(e)?W3o(e):void 0,o=n?n[0]:e.charAt(0),i=n?F3o(n,1).join(""):e.slice(1);return o[t]()+i}}var B3o=U3o,j3o=B3o,Y3o=j3o("toUpperCase"),O3o=Y3o;const wee=kr(O3o);function Us(t){return function(){return t}}const Trt=Math.cos,lJ=Math.sin,i5=Math.sqrt,sJ=Math.PI,vee=2*sJ,Pfe=Math.PI,Cfe=2*Pfe,hv=1e-6,_3o=Cfe-hv;function Prt(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Prt;const n=10**e;return function(o){this._+=o[0];for(let i=1,r=o.length;ihv)if(!(Math.abs(d*s-c*u)>hv)||!r)this._append`L${this._x1=e},${this._y1=n}`;else{let p=o-a,g=i-l,A=s*s+c*c,w=p*p+g*g,b=Math.sqrt(A),C=Math.sqrt(f),P=r*Math.tan((Pfe-Math.acos((A+f-w)/(2*b*C)))/2),v=P/C,T=P/b;Math.abs(v-1)>hv&&this._append`L${e+v*u},${n+v*d}`,this._append`A${r},${r},0,0,${+(d*p>u*g)},${this._x1=e+T*s},${this._y1=n+T*c}`}}arc(e,n,o,i,r,a){if(e=+e,n=+n,o=+o,a=!!a,o<0)throw new Error(`negative radius: ${o}`);let l=o*Math.cos(i),s=o*Math.sin(i),c=e+l,u=n+s,d=1^a,f=a?i-r:r-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>hv||Math.abs(this._y1-u)>hv)&&this._append`L${c},${u}`,o&&(f<0&&(f=f%Cfe+Cfe),f>_3o?this._append`A${o},${o},0,1,${d},${e-l},${n-s}A${o},${o},0,1,${d},${this._x1=c},${this._y1=u}`:f>hv&&this._append`A${o},${o},0,${+(f>=Pfe)},${d},${this._x1=e+o*Math.cos(r)},${this._y1=n+o*Math.sin(r)}`)}rect(e,n,o,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${o=+o}v${+i}h${-o}Z`}toString(){return this._}}function J9e(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const o=Math.floor(n);if(!(o>=0))throw new RangeError(`invalid digits: ${n}`);e=o}return t},()=>new G3o(e)}function K9e(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Crt(t){this._context=t}Crt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function xee(t){return new Crt(t)}function Rrt(t){return t[0]}function Hrt(t){return t[1]}function q9e(t,e){var n=Us(!0),o=null,i=xee,r=null,a=J9e(l);t=typeof t=="function"?t:t===void 0?Rrt:Us(t),e=typeof e=="function"?e:e===void 0?Hrt:Us(e);function l(s){var c,u=(s=K9e(s)).length,d,f=!1,p;for(o==null&&(r=i(p=a())),c=0;c<=u;++c)!(c=p;--g)l.point(P[g],v[g]);l.lineEnd(),l.areaEnd()}b&&(P[f]=+t(w,f,d),v[f]=+e(w,f,d),l.point(o?+o(w,f,d):P[f],n?+n(w,f,d):v[f]))}if(C)return l=null,C+""||null}function u(){return q9e().defined(i).curve(a).context(r)}return c.x=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),o=null,c):t},c.x0=function(d){return arguments.length?(t=typeof d=="function"?d:Us(+d),c):t},c.x1=function(d){return arguments.length?(o=d==null?null:typeof d=="function"?d:Us(+d),c):o},c.y=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),n=null,c):e},c.y0=function(d){return arguments.length?(e=typeof d=="function"?d:Us(+d),c):e},c.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Us(+d),c):n},c.lineX0=c.lineY0=function(){return u().x(t).y(e)},c.lineY1=function(){return u().x(t).y(n)},c.lineX1=function(){return u().x(o).y(e)},c.defined=function(d){return arguments.length?(i=typeof d=="function"?d:Us(!!d),c):i},c.curve=function(d){return arguments.length?(a=d,r!=null&&(l=a(r)),c):a},c.context=function(d){return arguments.length?(d==null?r=l=null:l=a(r=d),c):r},c}class Mrt{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function X3o(t){return new Mrt(t,!0)}function J3o(t){return new Mrt(t,!1)}const $9e={draw(t,e){const n=i5(e/sJ);t.moveTo(n,0),t.arc(0,0,n,0,vee)}},K3o={draw(t,e){const n=i5(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},Irt=i5(1/3),q3o=Irt*2,$3o={draw(t,e){const n=i5(e/q3o),o=n*Irt;t.moveTo(0,-n),t.lineTo(o,0),t.lineTo(0,n),t.lineTo(-o,0),t.closePath()}},Q3o={draw(t,e){const n=i5(e),o=-n/2;t.rect(o,o,n,n)}},Z3o=.8908130915292852,zrt=lJ(sJ/10)/lJ(7*sJ/10),e6o=lJ(vee/10)*zrt,t6o=-Trt(vee/10)*zrt,n6o={draw(t,e){const n=i5(e*Z3o),o=e6o*n,i=t6o*n;t.moveTo(0,-n),t.lineTo(o,i);for(let r=1;r<5;++r){const a=vee*r/5,l=Trt(a),s=lJ(a);t.lineTo(s*n,-l*n),t.lineTo(l*o-s*i,s*o+l*i)}t.closePath()}},Nae=i5(3),o6o={draw(t,e){const n=-i5(e/(Nae*3));t.moveTo(0,n*2),t.lineTo(-Nae*n,-n),t.lineTo(Nae*n,-n),t.closePath()}},hm=-.5,pm=i5(3)/2,Rfe=1/i5(12),i6o=(Rfe/2+1)*3,r6o={draw(t,e){const n=i5(e/i6o),o=n/2,i=n*Rfe,r=o,a=n*Rfe+n,l=-r,s=a;t.moveTo(o,i),t.lineTo(r,a),t.lineTo(l,s),t.lineTo(hm*o-pm*i,pm*o+hm*i),t.lineTo(hm*r-pm*a,pm*r+hm*a),t.lineTo(hm*l-pm*s,pm*l+hm*s),t.lineTo(hm*o+pm*i,hm*i-pm*o),t.lineTo(hm*r+pm*a,hm*a-pm*r),t.lineTo(hm*l+pm*s,hm*s-pm*l),t.closePath()}};function a6o(t,e){let n=null,o=J9e(i);t=typeof t=="function"?t:Us(t||$9e),e=typeof e=="function"?e:Us(e===void 0?64:+e);function i(){let r;if(n||(n=r=o()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return i.type=function(r){return arguments.length?(t=typeof r=="function"?r:Us(r),i):t},i.size=function(r){return arguments.length?(e=typeof r=="function"?r:Us(+r),i):e},i.context=function(r){return arguments.length?(n=r??null,i):n},i}function cJ(){}function uJ(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Drt(t){this._context=t}Drt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uJ(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:uJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function l6o(t){return new Drt(t)}function Ert(t){this._context=t}Ert.prototype={areaStart:cJ,areaEnd:cJ,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:uJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function s6o(t){return new Ert(t)}function krt(t){this._context=t}krt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,o=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,o):this._context.moveTo(n,o);break;case 3:this._point=4;default:uJ(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function c6o(t){return new krt(t)}function Frt(t){this._context=t}Frt.prototype={areaStart:cJ,areaEnd:cJ,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function u6o(t){return new Frt(t)}function mIe(t){return t<0?-1:1}function yIe(t,e,n){var o=t._x1-t._x0,i=e-t._x1,r=(t._y1-t._y0)/(o||i<0&&-0),a=(n-t._y1)/(i||o<0&&-0),l=(r*i+a*o)/(o+i);return(mIe(r)+mIe(a))*Math.min(Math.abs(r),Math.abs(a),.5*Math.abs(l))||0}function AIe(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Uae(t,e,n){var o=t._x0,i=t._y0,r=t._x1,a=t._y1,l=(r-o)/3;t._context.bezierCurveTo(o+l,i+l*e,r-l,a-l*n,r,a)}function dJ(t){this._context=t}dJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Uae(this,this._t0,AIe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Uae(this,AIe(this,n=yIe(this,t,e)),n);break;default:Uae(this,this._t0,n=yIe(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function Lrt(t){this._context=new Wrt(t)}(Lrt.prototype=Object.create(dJ.prototype)).point=function(t,e){dJ.prototype.point.call(this,e,t)};function Wrt(t){this._context=t}Wrt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,o,i,r){this._context.bezierCurveTo(e,t,o,n,r,i)}};function d6o(t){return new dJ(t)}function f6o(t){return new Lrt(t)}function Nrt(t){this._context=t}Nrt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var o=wIe(t),i=wIe(e),r=0,a=1;a=0;--e)i[e]=(a[e]-i[e+1])/r[e];for(r[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function p6o(t){return new bee(t,.5)}function g6o(t){return new bee(t,0)}function m6o(t){return new bee(t,1)}function YR(t,e){if((a=t.length)>1)for(var n=1,o,i,r=t[e[0]],a,l=r.length;n=0;)n[e]=e;return n}function y6o(t,e){return t[e]}function A6o(t){const e=[];return e.key=t,e}function w6o(){var t=Us([]),e=Hfe,n=YR,o=y6o;function i(r){var a=Array.from(t.apply(this,arguments),A6o),l,s=a.length,c=-1,u;for(const d of r)for(l=0,++c;l0){for(var n,o,i=0,r=t[0].length,a;i0){for(var n=0,o=t[e[0]],i,r=o.length;n0)||!((r=(i=t[e[0]]).length)>0))){for(var n=0,o=1,i,r,a;o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function H6o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var Urt={symbolCircle:$9e,symbolCross:K3o,symbolDiamond:$3o,symbolSquare:Q3o,symbolStar:n6o,symbolTriangle:o6o,symbolWye:r6o},M6o=Math.PI/180,I6o=function(e){var n="symbol".concat(wee(e));return Urt[n]||$9e},z6o=function(e,n,o){if(n==="area")return e;switch(o){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var i=18*M6o;return 1.25*e*e*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},D6o=function(e,n){Urt["symbol".concat(wee(e))]=n},See=function(e){var n=e.type,o=n===void 0?"circle":n,i=e.size,r=i===void 0?64:i,a=e.sizeType,l=a===void 0?"area":a,s=R6o(e,S6o),c=xIe(xIe({},s),{},{type:o,size:r,sizeType:l}),u=function(){var w=I6o(o),b=a6o().type(w).size(z6o(r,l,o));return b()},d=c.className,f=c.cx,p=c.cy,g=oa(c,!0);return f===+f&&p===+p&&r===+r?be.createElement("path",Mfe({},g,{className:cl("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:u()})):null};See.registerSymbol=D6o;function OR(t){"@babel/helpers - typeof";return OR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},OR(t)}function Ife(){return Ife=Object.assign?Object.assign.bind():function(t){for(var e=1;e`);var C=p.inactive?c:p.color;return be.createElement("li",Ife({className:w,style:d,key:"legend-item-".concat(g)},UF(o.props,p,g)),be.createElement(xfe,{width:a,height:a,viewBox:u,style:f},o.renderIcon(p)),be.createElement("span",{className:"recharts-legend-item-text",style:{color:C}},A?A(b,p,g):b))})}},{key:"render",value:function(){var o=this.props,i=o.payload,r=o.layout,a=o.align;if(!i||!i.length)return null;var l={padding:0,margin:0,textAlign:r==="horizontal"?a:"left"};return be.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}]),e}(m.PureComponent);jF(Q9e,"displayName","Legend");jF(Q9e,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});function O6o(t,e,n,o){for(var i=t.length,r=n+(o?1:-1);o?r--:++r-1}var tAo=eAo;function nAo(t,e,n){for(var o=-1,i=t==null?0:t.length;++o=yAo){var c=e?null:gAo(t);if(c)return mAo(c);a=!1,i=pAo,s=new dAo}else s=e?[]:l;e:for(;++o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function DAo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function EAo(t){return t.value}function kAo(t,e){if(be.isValidElement(t))return be.cloneElement(t,e);if(typeof t=="function")return be.createElement(t,e);e.ref;var n=zAo(e,TAo);return be.createElement(Q9e,n)}var HIe=1,j2=function(t){MAo(e,t);function e(){var n;PAo(this,e);for(var o=arguments.length,i=new Array(o),r=0;rHIe||Math.abs(i.height-this.lastBoundingBox.height)>HIe)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,o&&o(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,o&&o(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Z8({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(o){var i=this.props,r=i.layout,a=i.align,l=i.verticalAlign,s=i.margin,c=i.chartWidth,u=i.chartHeight,d,f;if(!o||(o.left===void 0||o.left===null)&&(o.right===void 0||o.right===null))if(a==="center"&&r==="vertical"){var p=this.getBBoxSnapshot();d={left:((c||0)-p.width)/2}}else d=a==="right"?{right:s&&s.right||0}:{left:s&&s.left||0};if(!o||(o.top===void 0||o.top===null)&&(o.bottom===void 0||o.bottom===null))if(l==="middle"){var g=this.getBBoxSnapshot();f={top:((u||0)-g.height)/2}}else f=l==="bottom"?{bottom:s&&s.bottom||0}:{top:s&&s.top||0};return Z8(Z8({},d),f)}},{key:"render",value:function(){var o=this,i=this.props,r=i.content,a=i.width,l=i.height,s=i.wrapperStyle,c=i.payloadUniqBy,u=i.payload,d=Z8(Z8({position:"absolute",width:a||"auto",height:l||"auto"},this.getDefaultPosition(s)),s);return be.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(p){o.wrapperNode=p}},kAo(r,Z8(Z8({},this.props),{},{payload:Vrt(u,c,EAo)})))}}],[{key:"getWithHeight",value:function(o,i){var r=o.props.layout;return r==="vertical"&&ci(o.props.height)?{height:o.props.height}:r==="horizontal"?{width:o.props.width||i}:null}}]),e}(m.PureComponent);Tee(j2,"displayName","Legend");Tee(j2,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var MIe=eM,FAo=i5e,LAo=mp,IIe=MIe?MIe.isConcatSpreadable:void 0;function WAo(t){return LAo(t)||FAo(t)||!!(IIe&&t&&t[IIe])}var NAo=WAo,UAo=w5e,BAo=NAo;function Krt(t,e,n,o,i){var r=-1,a=t.length;for(n||(n=BAo),i||(i=[]);++r0&&n(l)?e>1?Krt(l,e-1,n,o,i):UAo(i,l):o||(i[i.length]=l)}return i}var qrt=Krt;function jAo(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}var YAo=jAo,zIe=cM;function OAo(t,e){if(t!==e){var n=t!==void 0,o=t===null,i=t===t,r=zIe(t),a=e!==void 0,l=e===null,s=e===e,c=zIe(e);if(!l&&!c&&!r&&t>e||r&&a&&s&&!l&&!c||o&&a&&s||!n&&s||!i)return 1;if(!o&&!r&&!c&&t=l)return s;var c=n[o];return s*(c=="desc"?-1:1)}}return t.index-e.index}var XAo=GAo,jae=p5e,JAo=T5e,KAo=_7,qAo=wnt,$Ao=YAo,QAo=TZ,ZAo=XAo,e4o=Vb,t4o=mp;function n4o(t,e,n){e.length?e=jae(e,function(r){return t4o(r)?function(a){return JAo(a,r.length===1?r[0]:r)}:r}):e=[e4o];var o=-1;e=jae(e,QAo(KAo));var i=qAo(t,function(r,a,l){var s=jae(e,function(c){return c(r)});return{criteria:s,index:++o,value:r}});return $Ao(i,function(r,a){return ZAo(r,a,n)})}var o4o=n4o;function i4o(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var r4o=i4o,a4o=r4o,DIe=Math.max;function l4o(t,e,n){return e=DIe(e===void 0?t.length-1:e,0),function(){for(var o=arguments,i=-1,r=DIe(o.length-e,0),a=Array(r);++i0){if(++e>=g4o)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var w4o=A4o,v4o=p4o,x4o=w4o,b4o=x4o(v4o),S4o=b4o,T4o=Vb,P4o=s4o,C4o=S4o;function R4o(t,e){return C4o(P4o(t,e,T4o),t+"")}var H4o=R4o,M4o=PZ,I4o=nM,z4o=a5e,D4o=t5;function E4o(t,e,n){if(!D4o(n))return!1;var o=typeof e;return(o=="number"?I4o(n)&&z4o(e,n.length):o=="string"&&e in n)?M4o(n[e],t):!1}var Pee=E4o,k4o=qrt,F4o=o4o,L4o=H4o,kIe=Pee,W4o=L4o(function(t,e){if(t==null)return[];var n=e.length;return n>1&&kIe(t,e[0],e[1])?e=[]:n>2&&kIe(e[0],e[1],e[2])&&(e=[e[0]]),F4o(t,k4o(e,1),[])}),N4o=W4o;const Z9e=kr(N4o);function YF(t){"@babel/helpers - typeof";return YF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},YF(t)}function Efe(){return Efe=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e.x),"".concat(Kz,"-left"),ci(n)&&e&&ci(e.x)&&n=e.y),"".concat(Kz,"-top"),ci(o)&&e&&ci(e.y)&&oA?Math.max(u,s[o]):Math.max(d,s[o])}function Z4o(t){var e=t.translateX,n=t.translateY,o=t.useTranslate3d;return{transform:o?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function ewo(t){var e=t.allowEscapeViewBox,n=t.coordinate,o=t.offsetTopLeft,i=t.position,r=t.reverseDirection,a=t.tooltipBox,l=t.useTranslate3d,s=t.viewBox,c,u,d;return a.height>0&&a.width>0&&n?(u=WIe({allowEscapeViewBox:e,coordinate:n,key:"x",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.width,viewBox:s,viewBoxDimension:s.width}),d=WIe({allowEscapeViewBox:e,coordinate:n,key:"y",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.height,viewBox:s,viewBoxDimension:s.height}),c=Z4o({translateX:u,translateY:d,useTranslate3d:l})):c=$4o,{cssProperties:c,cssClasses:Q4o({translateX:u,translateY:d,coordinate:n})}}function VR(t){"@babel/helpers - typeof";return VR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VR(t)}function NIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function UIe(t){for(var e=1;eBIe||Math.abs(o.height-this.state.lastBoundingBox.height)>BIe)&&this.setState({lastBoundingBox:{width:o.width,height:o.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var o,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((o=this.props.coordinate)===null||o===void 0?void 0:o.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var o=this,i=this.props,r=i.active,a=i.allowEscapeViewBox,l=i.animationDuration,s=i.animationEasing,c=i.children,u=i.coordinate,d=i.hasPayload,f=i.isAnimationActive,p=i.offset,g=i.position,A=i.reverseDirection,w=i.useTranslate3d,b=i.viewBox,C=i.wrapperStyle,P=ewo({allowEscapeViewBox:a,coordinate:u,offsetTopLeft:p,position:g,reverseDirection:A,tooltipBox:this.state.lastBoundingBox,useTranslate3d:w,viewBox:b}),v=P.cssClasses,T=P.cssProperties,y=UIe(UIe({transition:f&&r?"transform ".concat(l,"ms ").concat(s):void 0},T),{},{pointerEvents:"none",visibility:!this.state.dismissed&&r&&d?"visible":"hidden",position:"absolute",top:0,left:0},C);return be.createElement("div",{tabIndex:-1,className:v,style:y,ref:function(x){o.wrapperNode=x}},c)}}]),e}(m.PureComponent),cwo=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},k2={isSsr:cwo(),get:function(e){return k2[e]},set:function(e,n){if(typeof e=="string")k2[e]=n;else{var o=Object.keys(e);o&&o.length&&o.forEach(function(i){k2[i]=e[i]})}}};function GR(t){"@babel/helpers - typeof";return GR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GR(t)}function jIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function YIe(t){for(var e=1;e0;return be.createElement(swo,{allowEscapeViewBox:a,animationDuration:l,animationEasing:s,isAnimationActive:f,active:r,coordinate:u,hasPayload:y,offset:p,position:w,reverseDirection:b,useTranslate3d:C,viewBox:P,wrapperStyle:v},wwo(c,YIe(YIe({},this.props),{},{payload:T})))}}]),e}(m.PureComponent);e3e(Zf,"displayName","Tooltip");e3e(Zf,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!k2.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var vwo=Z2,xwo=function(){return vwo.Date.now()},bwo=xwo,Swo=/\s/;function Two(t){for(var e=t.length;e--&&Swo.test(t.charAt(e)););return e}var Pwo=Two,Cwo=Pwo,Rwo=/^\s+/;function Hwo(t){return t&&t.slice(0,Cwo(t)+1).replace(Rwo,"")}var Mwo=Hwo,Iwo=Mwo,OIe=t5,zwo=cM,_Ie=NaN,Dwo=/^[-+]0x[0-9a-f]+$/i,Ewo=/^0b[01]+$/i,kwo=/^0o[0-7]+$/i,Fwo=parseInt;function Lwo(t){if(typeof t=="number")return t;if(zwo(t))return _Ie;if(OIe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=OIe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Iwo(t);var n=Ewo.test(t);return n||kwo.test(t)?Fwo(t.slice(2),n?2:8):Dwo.test(t)?_Ie:+t}var tat=Lwo,Wwo=t5,Oae=bwo,VIe=tat,Nwo="Expected a function",Uwo=Math.max,Bwo=Math.min;function jwo(t,e,n){var o,i,r,a,l,s,c=0,u=!1,d=!1,f=!0;if(typeof t!="function")throw new TypeError(Nwo);e=VIe(e)||0,Wwo(n)&&(u=!!n.leading,d="maxWait"in n,r=d?Uwo(VIe(n.maxWait)||0,e):r,f="trailing"in n?!!n.trailing:f);function p(y){var S=o,x=i;return o=i=void 0,c=y,a=t.apply(x,S),a}function g(y){return c=y,l=setTimeout(b,e),u?p(y):a}function A(y){var S=y-s,x=y-c,R=e-S;return d?Bwo(R,r-x):R}function w(y){var S=y-s,x=y-c;return s===void 0||S>=e||S<0||d&&x>=r}function b(){var y=Oae();if(w(y))return C(y);l=setTimeout(b,A(y))}function C(y){return l=void 0,f&&o?p(y):(o=i=void 0,a)}function P(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(Oae())}function T(){var y=Oae(),S=w(y);if(o=arguments,i=this,s=y,S){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(b,e),p(s)}return l===void 0&&(l=setTimeout(b,e)),a}return T.cancel=P,T.flush=v,T}var Ywo=jwo,Owo=Ywo,_wo=t5,Vwo="Expected a function";function Gwo(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(Vwo);return _wo(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Owo(t,e,{leading:o,maxWait:e,trailing:i})}var Xwo=Gwo;const nat=kr(Xwo);function _F(t){"@babel/helpers - typeof";return _F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_F(t)}function GIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function LO(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&(W=nat(W,A,{trailing:!0,leading:!1}));var N=new ResizeObserver(W),L=T.current.getBoundingClientRect(),E=L.width,U=L.height;return D(E,U),N.observe(T.current),function(){N.disconnect()}},[D,A]);var k=m.useMemo(function(){var W=R.containerWidth,N=R.containerHeight;if(W<0||N<0)return null;E6(Xv(a)||Xv(s),`The width(%s) and height(%s) are both fixed numbers, + A`).concat(a,",").concat(a,",0,1,1,").concat(l,",").concat(r),className:"recharts-legend-icon"});if(o.type==="rect")return be.createElement("path",{stroke:"none",fill:s,d:"M0,".concat(gm/8,"h").concat(gm,"v").concat(gm*3/4,"h").concat(-gm,"z"),className:"recharts-legend-icon"});if(be.isValidElement(o.legendIcon)){var c=E6o({},o);return delete c.legendIcon,be.cloneElement(o.legendIcon,c)}return be.createElement(See,{fill:s,cx:r,cy:r,size:gm,sizeType:"diameter",type:o.type})}},{key:"renderItems",value:function(){var o=this,i=this.props,r=i.payload,a=i.iconSize,l=i.layout,s=i.formatter,c=i.inactiveColor,u={x:0,y:0,width:gm,height:gm},d={display:l==="horizontal"?"inline-block":"block",marginRight:10},f={display:"inline-block",verticalAlign:"middle",marginRight:4};return r.map(function(p,g){var A=p.formatter||s,w=cl(jF(jF({"recharts-legend-item":!0},"legend-item-".concat(g),!0),"inactive",p.inactive));if(p.type==="none")return null;var b=Aa(p.value)?null:p.value;E6(!Aa(p.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: `);var C=p.inactive?c:p.color;return be.createElement("li",Ife({className:w,style:d,key:"legend-item-".concat(g)},UF(o.props,p,g)),be.createElement(xfe,{width:a,height:a,viewBox:u,style:f},o.renderIcon(p)),be.createElement("span",{className:"recharts-legend-item-text",style:{color:C}},A?A(b,p,g):b))})}},{key:"render",value:function(){var o=this.props,i=o.payload,r=o.layout,a=o.align;if(!i||!i.length)return null;var l={padding:0,margin:0,textAlign:r==="horizontal"?a:"left"};return be.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}]),e}(m.PureComponent);jF(Q9e,"displayName","Legend");jF(Q9e,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});function Y6o(t,e,n,o){for(var i=t.length,r=n+(o?1:-1);o?r--:++r-1}var eAo=Z6o;function tAo(t,e,n){for(var o=-1,i=t==null?0:t.length;++o=mAo){var c=e?null:pAo(t);if(c)return gAo(c);a=!1,i=hAo,s=new uAo}else s=e?[]:l;e:for(;++o=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function zAo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function DAo(t){return t.value}function EAo(t,e){if(be.isValidElement(t))return be.cloneElement(t,e);if(typeof t=="function")return be.createElement(t,e);e.ref;var n=IAo(e,SAo);return be.createElement(Q9e,n)}var CIe=1,j2=function(t){HAo(e,t);function e(){var n;TAo(this,e);for(var o=arguments.length,i=new Array(o),r=0;rCIe||Math.abs(i.height-this.lastBoundingBox.height)>CIe)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,o&&o(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,o&&o(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Z8({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(o){var i=this.props,r=i.layout,a=i.align,l=i.verticalAlign,s=i.margin,c=i.chartWidth,u=i.chartHeight,d,f;if(!o||(o.left===void 0||o.left===null)&&(o.right===void 0||o.right===null))if(a==="center"&&r==="vertical"){var p=this.getBBoxSnapshot();d={left:((c||0)-p.width)/2}}else d=a==="right"?{right:s&&s.right||0}:{left:s&&s.left||0};if(!o||(o.top===void 0||o.top===null)&&(o.bottom===void 0||o.bottom===null))if(l==="middle"){var g=this.getBBoxSnapshot();f={top:((u||0)-g.height)/2}}else f=l==="bottom"?{bottom:s&&s.bottom||0}:{top:s&&s.top||0};return Z8(Z8({},d),f)}},{key:"render",value:function(){var o=this,i=this.props,r=i.content,a=i.width,l=i.height,s=i.wrapperStyle,c=i.payloadUniqBy,u=i.payload,d=Z8(Z8({position:"absolute",width:a||"auto",height:l||"auto"},this.getDefaultPosition(s)),s);return be.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(p){o.wrapperNode=p}},EAo(r,Z8(Z8({},this.props),{},{payload:Ort(u,c,DAo)})))}}],[{key:"getWithHeight",value:function(o,i){var r=o.props.layout;return r==="vertical"&&ci(o.props.height)?{height:o.props.height}:r==="horizontal"?{width:o.props.width||i}:null}}]),e}(m.PureComponent);Tee(j2,"displayName","Legend");Tee(j2,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var RIe=eM,kAo=i5e,FAo=mp,HIe=RIe?RIe.isConcatSpreadable:void 0;function LAo(t){return FAo(t)||kAo(t)||!!(HIe&&t&&t[HIe])}var WAo=LAo,NAo=w5e,UAo=WAo;function Xrt(t,e,n,o,i){var r=-1,a=t.length;for(n||(n=UAo),i||(i=[]);++r0&&n(l)?e>1?Xrt(l,e-1,n,o,i):NAo(i,l):o||(i[i.length]=l)}return i}var Jrt=Xrt;function BAo(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}var jAo=BAo,MIe=cM;function YAo(t,e){if(t!==e){var n=t!==void 0,o=t===null,i=t===t,r=MIe(t),a=e!==void 0,l=e===null,s=e===e,c=MIe(e);if(!l&&!c&&!r&&t>e||r&&a&&s&&!l&&!c||o&&a&&s||!n&&s||!i)return 1;if(!o&&!r&&!c&&t=l)return s;var c=n[o];return s*(c=="desc"?-1:1)}}return t.index-e.index}var GAo=VAo,jae=p5e,XAo=T5e,JAo=_7,KAo=ynt,qAo=jAo,$Ao=TZ,QAo=GAo,ZAo=Vb,e4o=mp;function t4o(t,e,n){e.length?e=jae(e,function(r){return e4o(r)?function(a){return XAo(a,r.length===1?r[0]:r)}:r}):e=[ZAo];var o=-1;e=jae(e,$Ao(JAo));var i=KAo(t,function(r,a,l){var s=jae(e,function(c){return c(r)});return{criteria:s,index:++o,value:r}});return qAo(i,function(r,a){return QAo(r,a,n)})}var n4o=t4o;function o4o(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var i4o=o4o,r4o=i4o,IIe=Math.max;function a4o(t,e,n){return e=IIe(e===void 0?t.length-1:e,0),function(){for(var o=arguments,i=-1,r=IIe(o.length-e,0),a=Array(r);++i0){if(++e>=p4o)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var A4o=y4o,w4o=h4o,v4o=A4o,x4o=v4o(w4o),b4o=x4o,S4o=Vb,T4o=l4o,P4o=b4o;function C4o(t,e){return P4o(T4o(t,e,S4o),t+"")}var R4o=C4o,H4o=PZ,M4o=nM,I4o=a5e,z4o=t5;function D4o(t,e,n){if(!z4o(n))return!1;var o=typeof e;return(o=="number"?M4o(n)&&I4o(e,n.length):o=="string"&&e in n)?H4o(n[e],t):!1}var Pee=D4o,E4o=Jrt,k4o=n4o,F4o=R4o,DIe=Pee,L4o=F4o(function(t,e){if(t==null)return[];var n=e.length;return n>1&&DIe(t,e[0],e[1])?e=[]:n>2&&DIe(e[0],e[1],e[2])&&(e=[e[0]]),k4o(t,E4o(e,1),[])}),W4o=L4o;const Z9e=kr(W4o);function YF(t){"@babel/helpers - typeof";return YF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},YF(t)}function Efe(){return Efe=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e.x),"".concat(Kz,"-left"),ci(n)&&e&&ci(e.x)&&n=e.y),"".concat(Kz,"-top"),ci(o)&&e&&ci(e.y)&&oA?Math.max(u,s[o]):Math.max(d,s[o])}function Q4o(t){var e=t.translateX,n=t.translateY,o=t.useTranslate3d;return{transform:o?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function Z4o(t){var e=t.allowEscapeViewBox,n=t.coordinate,o=t.offsetTopLeft,i=t.position,r=t.reverseDirection,a=t.tooltipBox,l=t.useTranslate3d,s=t.viewBox,c,u,d;return a.height>0&&a.width>0&&n?(u=FIe({allowEscapeViewBox:e,coordinate:n,key:"x",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.width,viewBox:s,viewBoxDimension:s.width}),d=FIe({allowEscapeViewBox:e,coordinate:n,key:"y",offsetTopLeft:o,position:i,reverseDirection:r,tooltipDimension:a.height,viewBox:s,viewBoxDimension:s.height}),c=Q4o({translateX:u,translateY:d,useTranslate3d:l})):c=q4o,{cssProperties:c,cssClasses:$4o({translateX:u,translateY:d,coordinate:n})}}function VR(t){"@babel/helpers - typeof";return VR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VR(t)}function LIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function WIe(t){for(var e=1;eNIe||Math.abs(o.height-this.state.lastBoundingBox.height)>NIe)&&this.setState({lastBoundingBox:{width:o.width,height:o.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var o,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((o=this.props.coordinate)===null||o===void 0?void 0:o.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var o=this,i=this.props,r=i.active,a=i.allowEscapeViewBox,l=i.animationDuration,s=i.animationEasing,c=i.children,u=i.coordinate,d=i.hasPayload,f=i.isAnimationActive,p=i.offset,g=i.position,A=i.reverseDirection,w=i.useTranslate3d,b=i.viewBox,C=i.wrapperStyle,P=Z4o({allowEscapeViewBox:a,coordinate:u,offsetTopLeft:p,position:g,reverseDirection:A,tooltipBox:this.state.lastBoundingBox,useTranslate3d:w,viewBox:b}),v=P.cssClasses,T=P.cssProperties,y=WIe(WIe({transition:f&&r?"transform ".concat(l,"ms ").concat(s):void 0},T),{},{pointerEvents:"none",visibility:!this.state.dismissed&&r&&d?"visible":"hidden",position:"absolute",top:0,left:0},C);return be.createElement("div",{tabIndex:-1,className:v,style:y,ref:function(x){o.wrapperNode=x}},c)}}]),e}(m.PureComponent),swo=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},k2={isSsr:swo(),get:function(e){return k2[e]},set:function(e,n){if(typeof e=="string")k2[e]=n;else{var o=Object.keys(e);o&&o.length&&o.forEach(function(i){k2[i]=e[i]})}}};function GR(t){"@babel/helpers - typeof";return GR=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GR(t)}function UIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function BIe(t){for(var e=1;e0;return be.createElement(lwo,{allowEscapeViewBox:a,animationDuration:l,animationEasing:s,isAnimationActive:f,active:r,coordinate:u,hasPayload:y,offset:p,position:w,reverseDirection:b,useTranslate3d:C,viewBox:P,wrapperStyle:v},Awo(c,BIe(BIe({},this.props),{},{payload:T})))}}]),e}(m.PureComponent);e3e(Zf,"displayName","Tooltip");e3e(Zf,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!k2.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var wwo=Z2,vwo=function(){return wwo.Date.now()},xwo=vwo,bwo=/\s/;function Swo(t){for(var e=t.length;e--&&bwo.test(t.charAt(e)););return e}var Two=Swo,Pwo=Two,Cwo=/^\s+/;function Rwo(t){return t&&t.slice(0,Pwo(t)+1).replace(Cwo,"")}var Hwo=Rwo,Mwo=Hwo,jIe=t5,Iwo=cM,YIe=NaN,zwo=/^[-+]0x[0-9a-f]+$/i,Dwo=/^0b[01]+$/i,Ewo=/^0o[0-7]+$/i,kwo=parseInt;function Fwo(t){if(typeof t=="number")return t;if(Iwo(t))return YIe;if(jIe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=jIe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Mwo(t);var n=Dwo.test(t);return n||Ewo.test(t)?kwo(t.slice(2),n?2:8):zwo.test(t)?YIe:+t}var Zrt=Fwo,Lwo=t5,Oae=xwo,OIe=Zrt,Wwo="Expected a function",Nwo=Math.max,Uwo=Math.min;function Bwo(t,e,n){var o,i,r,a,l,s,c=0,u=!1,d=!1,f=!0;if(typeof t!="function")throw new TypeError(Wwo);e=OIe(e)||0,Lwo(n)&&(u=!!n.leading,d="maxWait"in n,r=d?Nwo(OIe(n.maxWait)||0,e):r,f="trailing"in n?!!n.trailing:f);function p(y){var S=o,x=i;return o=i=void 0,c=y,a=t.apply(x,S),a}function g(y){return c=y,l=setTimeout(b,e),u?p(y):a}function A(y){var S=y-s,x=y-c,R=e-S;return d?Uwo(R,r-x):R}function w(y){var S=y-s,x=y-c;return s===void 0||S>=e||S<0||d&&x>=r}function b(){var y=Oae();if(w(y))return C(y);l=setTimeout(b,A(y))}function C(y){return l=void 0,f&&o?p(y):(o=i=void 0,a)}function P(){l!==void 0&&clearTimeout(l),c=0,o=s=i=l=void 0}function v(){return l===void 0?a:C(Oae())}function T(){var y=Oae(),S=w(y);if(o=arguments,i=this,s=y,S){if(l===void 0)return g(s);if(d)return clearTimeout(l),l=setTimeout(b,e),p(s)}return l===void 0&&(l=setTimeout(b,e)),a}return T.cancel=P,T.flush=v,T}var jwo=Bwo,Ywo=jwo,Owo=t5,_wo="Expected a function";function Vwo(t,e,n){var o=!0,i=!0;if(typeof t!="function")throw new TypeError(_wo);return Owo(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Ywo(t,e,{leading:o,maxWait:e,trailing:i})}var Gwo=Vwo;const eat=kr(Gwo);function _F(t){"@babel/helpers - typeof";return _F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_F(t)}function _Ie(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function LO(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&(W=eat(W,A,{trailing:!0,leading:!1}));var N=new ResizeObserver(W),L=T.current.getBoundingClientRect(),E=L.width,U=L.height;return D(E,U),N.observe(T.current),function(){N.disconnect()}},[D,A]);var k=m.useMemo(function(){var W=R.containerWidth,N=R.containerHeight;if(W<0||N<0)return null;E6(Xv(a)||Xv(s),`The width(%s) and height(%s) are both fixed numbers, maybe you don't need to use a ResponsiveContainer.`,a,s),E6(!n||n>0,"The aspect(%s) must be greater than zero.",n);var L=Xv(a)?W:a,E=Xv(s)?N:s;n&&n>0&&(L?E=L/n:E&&(L=E*n),f&&E>f&&(E=f)),E6(L>0||E>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,L,E,a,s,u,d,n);var U=!Array.isArray(p)&&mfe.isElement(p)&&D6(p.type).endsWith("Chart");return be.Children.map(p,function(F){return mfe.isElement(F)?m.cloneElement(F,LO({width:L,height:E},U?{style:LO({height:"100%",width:"100%",maxHeight:E,maxWidth:L},F.props.style)}:{})):F})},[n,p,s,f,d,u,R,a]);return be.createElement("div",{id:w?"".concat(w):void 0,className:cl("recharts-responsive-container",b),style:LO(LO({},v),{},{width:a,height:s,minWidth:u,minHeight:d,maxHeight:f}),ref:T},k)}),t3e=function(e){return null};t3e.displayName="Cell";function VF(t){"@babel/helpers - typeof";return VF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VF(t)}function JIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Nfe(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||k2.isSsr)return{width:0,height:0};var o=l7o(n),i=JSON.stringify({text:e,copyStyle:o});if(_T.widthCache[i])return _T.widthCache[i];try{var r=document.getElementById(KIe);r||(r=document.createElement("span"),r.setAttribute("id",KIe),r.setAttribute("aria-hidden","true"),document.body.appendChild(r));var a=Nfe(Nfe({},a7o),o);Object.assign(r.style,a),r.textContent="".concat(e);var l=r.getBoundingClientRect(),s={width:l.width,height:l.height};return _T.widthCache[i]=s,++_T.cacheCount>r7o&&(_T.cacheCount=0,_T.widthCache={}),s}catch{return{width:0,height:0}}},s7o=function(e){return{top:e.top+window.scrollY-document.documentElement.clientTop,left:e.left+window.scrollX-document.documentElement.clientLeft}};function GF(t){"@babel/helpers - typeof";return GF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GF(t)}function mJ(t,e){return f7o(t)||d7o(t,e)||u7o(t,e)||c7o()}function c7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u7o(t,e){if(t){if(typeof t=="string")return qIe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qIe(t,e)}}function qIe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function C7o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function nze(t,e){return I7o(t)||M7o(t,e)||H7o(t,e)||R7o()}function R7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function H7o(t,e){if(t){if(typeof t=="string")return oze(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oze(t,e)}}function oze(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:[];return L.reduce(function(E,U){var F=U.word,B=U.width,_=E[E.length-1];if(_&&(i==null||r||_.width+B+oU.width?E:U})};if(!u)return p;for(var A="…",w=function(L){var E=d.slice(0,L),U=aat({breakAll:c,style:s,children:E+A}).wordsWithComputedWidth,F=f(U),B=F.length>a||g(F).width>Number(i);return[B,F]},b=0,C=d.length-1,P=0,v;b<=C&&P<=d.length-1;){var T=Math.floor((b+C)/2),y=T-1,S=w(y),x=nze(S,2),R=x[0],H=x[1],D=w(T),k=nze(D,1),W=k[0];if(!R&&!W&&(b=T+1),R&&W&&(C=T-1),!R&&W){v=H;break}P++}return v||p},ize=function(e){var n=ra(e)?[]:e.toString().split(rat);return[{words:n}]},D7o=function(e){var n=e.width,o=e.scaleToFit,i=e.children,r=e.style,a=e.breakAll,l=e.maxLines;if((n||o)&&!k2.isSsr){var s,c,u=aat({breakAll:a,children:i,style:r});if(u){var d=u.wordsWithComputedWidth,f=u.spaceWidth;s=d,c=f}else return ize(i);return z7o({breakAll:a,children:i,maxLines:l,style:r},s,c,n,o)}return ize(i)},rze="#808080",yJ=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.lineHeight,l=a===void 0?"1em":a,s=e.capHeight,c=s===void 0?"0.71em":s,u=e.scaleToFit,d=u===void 0?!1:u,f=e.textAnchor,p=f===void 0?"start":f,g=e.verticalAnchor,A=g===void 0?"end":g,w=e.fill,b=w===void 0?rze:w,C=tze(e,T7o),P=m.useMemo(function(){return D7o({breakAll:C.breakAll,children:C.children,maxLines:C.maxLines,scaleToFit:d,style:C.style,width:C.width})},[C.breakAll,C.children,C.maxLines,d,C.style,C.width]),v=C.dx,T=C.dy,y=C.angle,S=C.className,x=C.breakAll,R=tze(C,P7o);if(!Lu(o)||!Lu(r))return null;var H=o+(ci(v)?v:0),D=r+(ci(T)?T:0),k;switch(A){case"start":k=_ae("calc(".concat(c,")"));break;case"middle":k=_ae("calc(".concat((P.length-1)/2," * -").concat(l," + (").concat(c," / 2))"));break;default:k=_ae("calc(".concat(P.length-1," * -").concat(l,")"));break}var W=[];if(d){var N=P[0].width,L=C.width;W.push("scale(".concat((ci(L)?L/N:1)/N,")"))}return y&&W.push("rotate(".concat(y,", ").concat(H,", ").concat(D,")")),W.length&&(R.transform=W.join(" ")),be.createElement("text",Ufe({},oa(R,!0),{x:H,y:D,className:cl("recharts-text",S),textAnchor:p,fill:b.includes("url")?rze:b}),P.map(function(E,U){var F=E.words.join(x?"":" ");return be.createElement("tspan",{x:H,dy:U===0?k:l,key:F},F)}))};function Yw(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function E7o(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function n3e(t){let e,n,o;t.length!==2?(e=Yw,n=(l,s)=>Yw(t(l),s),o=(l,s)=>t(l)-s):(e=t===Yw||t===E7o?t:k7o,n=t,o=t);function i(l,s,c=0,u=l.length){if(c>>1;n(l[d],s)<0?c=d+1:u=d}while(c>>1;n(l[d],s)<=0?c=d+1:u=d}while(cc&&o(l[d-1],s)>-o(l[d],s)?d-1:d}return{left:i,center:a,right:r}}function k7o(){return 0}function lat(t){return t===null?NaN:+t}function*F7o(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const L7o=n3e(Yw),XN=L7o.right;n3e(lat).center;class aze extends Map{constructor(e,n=U7o){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[o,i]of e)this.set(o,i)}get(e){return super.get(lze(this,e))}has(e){return super.has(lze(this,e))}set(e,n){return super.set(W7o(this,e),n)}delete(e){return super.delete(N7o(this,e))}}function lze({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):n}function W7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):(t.set(o,n),n)}function N7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)&&(n=t.get(o),t.delete(o)),n}function U7o(t){return t!==null&&typeof t=="object"?t.valueOf():t}function B7o(t=Yw){if(t===Yw)return sat;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const o=t(e,n);return o||o===0?o:(t(n,n)===0)-(t(e,e)===0)}}function sat(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const j7o=Math.sqrt(50),Y7o=Math.sqrt(10),O7o=Math.sqrt(2);function AJ(t,e,n){const o=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(o)),r=o/Math.pow(10,i),a=r>=j7o?10:r>=Y7o?5:r>=O7o?2:1;let l,s,c;return i<0?(c=Math.pow(10,-i)/a,l=Math.round(t*c),s=Math.round(e*c),l/ce&&--s,c=-c):(c=Math.pow(10,i)*a,l=Math.round(t/c),s=Math.round(e/c),l*ce&&--s),s0))return[];if(t===e)return[t];const o=e=i))return[];const l=r-i+1,s=new Array(l);if(o)if(a<0)for(let c=0;c=o)&&(n=o);return n}function cze(t,e){let n;for(const o of t)o!=null&&(n>o||n===void 0&&o>=o)&&(n=o);return n}function cat(t,e,n=0,o=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),o=Math.floor(Math.min(t.length-1,o)),!(n<=e&&e<=o))return t;for(i=i===void 0?sat:B7o(i);o>n;){if(o-n>600){const s=o-n+1,c=e-n+1,u=Math.log(s),d=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*d*(s-d)/s)*(c-s/2<0?-1:1),p=Math.max(n,Math.floor(e-c*d/s+f)),g=Math.min(o,Math.floor(e+(s-c)*d/s+f));cat(t,e,p,g,i)}const r=t[e];let a=n,l=o;for(qz(t,n,e),i(t[o],r)>0&&qz(t,n,o);a0;)--l}i(t[n],r)===0?qz(t,n,l):(++l,qz(t,l,o)),l<=e&&(n=l+1),e<=l&&(o=l-1)}return t}function qz(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function _7o(t,e,n){if(t=Float64Array.from(F7o(t)),!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return cze(t);if(e>=1)return sze(t);var o,i=(o-1)*e,r=Math.floor(i),a=sze(cat(t,r).subarray(0,r+1)),l=cze(t.subarray(r+1));return a+(l-a)*(i-r)}}function V7o(t,e,n=lat){if(!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return+n(t[0],0,t);if(e>=1)return+n(t[o-1],o-1,t);var o,i=(o-1)*e,r=Math.floor(i),a=+n(t[r],r,t),l=+n(t[r+1],r+1,t);return a+(l-a)*(i-r)}}function G7o(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var o=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,r=new Array(i);++o>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?NO(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?NO(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=J7o.exec(t))?new Op(e[1],e[2],e[3],1):(e=K7o.exec(t))?new Op(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=q7o.exec(t))?NO(e[1],e[2],e[3],e[4]):(e=$7o.exec(t))?NO(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Q7o.exec(t))?mze(e[1],e[2]/100,e[3]/100,1):(e=Z7o.exec(t))?mze(e[1],e[2]/100,e[3]/100,e[4]):uze.hasOwnProperty(t)?hze(uze[t]):t==="transparent"?new Op(NaN,NaN,NaN,0):null}function hze(t){return new Op(t>>16&255,t>>8&255,t&255,1)}function NO(t,e,n,o){return o<=0&&(t=e=n=NaN),new Op(t,e,n,o)}function n8o(t){return t instanceof JN||(t=qF(t)),t?(t=t.rgb(),new Op(t.r,t.g,t.b,t.opacity)):new Op}function _fe(t,e,n,o){return arguments.length===1?n8o(t):new Op(t,e,n,o??1)}function Op(t,e,n,o){this.r=+t,this.g=+e,this.b=+n,this.opacity=+o}o3e(Op,_fe,dat(JN,{brighter(t){return t=t==null?wJ:Math.pow(wJ,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Op(Px(this.r),Px(this.g),Px(this.b),vJ(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:pze,formatHex:pze,formatHex8:o8o,formatRgb:gze,toString:gze}));function pze(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}`}function o8o(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}${Jv((isNaN(this.opacity)?1:this.opacity)*255)}`}function gze(){const t=vJ(this.opacity);return`${t===1?"rgb(":"rgba("}${Px(this.r)}, ${Px(this.g)}, ${Px(this.b)}${t===1?")":`, ${t})`}`}function vJ(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Px(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Jv(t){return t=Px(t),(t<16?"0":"")+t.toString(16)}function mze(t,e,n,o){return o<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new h2(t,e,n,o)}function fat(t){if(t instanceof h2)return new h2(t.h,t.s,t.l,t.opacity);if(t instanceof JN||(t=qF(t)),!t)return new h2;if(t instanceof h2)return t;t=t.rgb();var e=t.r/255,n=t.g/255,o=t.b/255,i=Math.min(e,n,o),r=Math.max(e,n,o),a=NaN,l=r-i,s=(r+i)/2;return l?(e===r?a=(n-o)/l+(n0&&s<1?0:a,new h2(a,l,s,t.opacity)}function i8o(t,e,n,o){return arguments.length===1?fat(t):new h2(t,e,n,o??1)}function h2(t,e,n,o){this.h=+t,this.s=+e,this.l=+n,this.opacity=+o}o3e(h2,i8o,dat(JN,{brighter(t){return t=t==null?wJ:Math.pow(wJ,t),new h2(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new h2(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*e,i=2*n-o;return new Op(Vae(t>=240?t-240:t+120,i,o),Vae(t,i,o),Vae(t<120?t+240:t-120,i,o),this.opacity)},clamp(){return new h2(yze(this.h),UO(this.s),UO(this.l),vJ(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=vJ(this.opacity);return`${t===1?"hsl(":"hsla("}${yze(this.h)}, ${UO(this.s)*100}%, ${UO(this.l)*100}%${t===1?")":`, ${t})`}`}}));function yze(t){return t=(t||0)%360,t<0?t+360:t}function UO(t){return Math.max(0,Math.min(1,t||0))}function Vae(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const i3e=t=>()=>t;function r8o(t,e){return function(n){return t+n*e}}function a8o(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(o){return Math.pow(t+o*e,n)}}function l8o(t){return(t=+t)==1?hat:function(e,n){return n-e?a8o(e,n,t):i3e(isNaN(e)?n:e)}}function hat(t,e){var n=e-t;return n?r8o(t,n):i3e(isNaN(t)?e:t)}const Aze=function t(e){var n=l8o(e);function o(i,r){var a=n((i=_fe(i)).r,(r=_fe(r)).r),l=n(i.g,r.g),s=n(i.b,r.b),c=hat(i.opacity,r.opacity);return function(u){return i.r=a(u),i.g=l(u),i.b=s(u),i.opacity=c(u),i+""}}return o.gamma=t,o}(1);function s8o(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,o=e.slice(),i;return function(r){for(i=0;in&&(r=e.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(o=o[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,s.push({i:a,x:xJ(o,i)})),n=Gae.lastIndex;return ne&&(n=t,t=e,e=n),function(o){return Math.max(t,Math.min(e,o))}}function w8o(t,e,n){var o=t[0],i=t[1],r=e[0],a=e[1];return i2?v8o:w8o,s=c=null,d}function d(f){return f==null||isNaN(f=+f)?r:(s||(s=l(t.map(o),e,n)))(o(a(f)))}return d.invert=function(f){return a(i((c||(c=l(e,t.map(o),xJ)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,bJ),u()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),u()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=r3e,u()},d.clamp=function(f){return arguments.length?(a=f?!0:rp,u()):a!==rp},d.interpolate=function(f){return arguments.length?(n=f,u()):n},d.unknown=function(f){return arguments.length?(r=f,d):r},function(f,p){return o=f,i=p,u()}}function a3e(){return Ree()(rp,rp)}function x8o(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function SJ(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,o=t.slice(0,n);return[o.length>1?o[0]+o.slice(2):o,+t.slice(n+1)]}function XR(t){return t=SJ(Math.abs(t)),t?t[1]:NaN}function b8o(t,e){return function(n,o){for(var i=n.length,r=[],a=0,l=t[0],s=0;i>0&&l>0&&(s+l+1>o&&(l=Math.max(1,o-s)),r.push(n.substring(i-=l,i+l)),!((s+=l+1)>o));)l=t[a=(a+1)%t.length];return r.reverse().join(e)}}function S8o(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var T8o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $F(t){if(!(e=T8o.exec(t)))throw new Error("invalid format: "+t);var e;return new l3e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}$F.prototype=l3e.prototype;function l3e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}l3e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function P8o(t){e:for(var e=t.length,n=1,o=-1,i;n0&&(o=0);break}return o>0?t.slice(0,o)+t.slice(i+1):t}var pat;function C8o(t,e){var n=SJ(t,e);if(!n)return t+"";var o=n[0],i=n[1],r=i-(pat=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=o.length;return r===a?o:r>a?o+new Array(r-a+1).join("0"):r>0?o.slice(0,r)+"."+o.slice(r):"0."+new Array(1-r).join("0")+SJ(t,Math.max(0,e+r-1))[0]}function vze(t,e){var n=SJ(t,e);if(!n)return t+"";var o=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+o:o.length>i+1?o.slice(0,i+1)+"."+o.slice(i+1):o+new Array(i-o.length+2).join("0")}const xze={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:x8o,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>vze(t*100,e),r:vze,s:C8o,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function bze(t){return t}var Sze=Array.prototype.map,Tze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function R8o(t){var e=t.grouping===void 0||t.thousands===void 0?bze:b8o(Sze.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",o=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",r=t.numerals===void 0?bze:S8o(Sze.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",s=t.nan===void 0?"NaN":t.nan+"";function c(d){d=$F(d);var f=d.fill,p=d.align,g=d.sign,A=d.symbol,w=d.zero,b=d.width,C=d.comma,P=d.precision,v=d.trim,T=d.type;T==="n"?(C=!0,T="g"):xze[T]||(P===void 0&&(P=12),v=!0,T="g"),(w||f==="0"&&p==="=")&&(w=!0,f="0",p="=");var y=A==="$"?n:A==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",S=A==="$"?o:/[%p]/.test(T)?a:"",x=xze[T],R=/[defgprs%]/.test(T);P=P===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,P)):Math.max(0,Math.min(20,P));function H(D){var k=y,W=S,N,L,E;if(T==="c")W=x(D)+W,D="";else{D=+D;var U=D<0||1/D<0;if(D=isNaN(D)?s:x(Math.abs(D),P),v&&(D=P8o(D)),U&&+D==0&&g!=="+"&&(U=!1),k=(U?g==="("?g:l:g==="-"||g==="("?"":g)+k,W=(T==="s"?Tze[8+pat/3]:"")+W+(U&&g==="("?")":""),R){for(N=-1,L=D.length;++NE||E>57){W=(E===46?i+D.slice(N+1):D.slice(N))+W,D=D.slice(0,N);break}}}C&&!w&&(D=e(D,1/0));var F=k.length+D.length+W.length,B=F>1)+k+D+W+B.slice(F);break;default:D=B+k+D+W;break}return r(D)}return H.toString=function(){return d+""},H}function u(d,f){var p=c((d=$F(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(XR(f)/3)))*3,A=Math.pow(10,-g),w=Tze[8+g/3];return function(b){return p(A*b)+w}}return{format:c,formatPrefix:u}}var BO,s3e,gat;H8o({thousands:",",grouping:[3],currency:["$",""]});function H8o(t){return BO=R8o(t),s3e=BO.format,gat=BO.formatPrefix,BO}function M8o(t){return Math.max(0,-XR(Math.abs(t)))}function I8o(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(XR(e)/3)))*3-XR(Math.abs(t)))}function z8o(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,XR(e)-XR(t))+1}function mat(t,e,n,o){var i=Yfe(t,e,n),r;switch(o=$F(o??",f"),o.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return o.precision==null&&!isNaN(r=I8o(i,a))&&(o.precision=r),gat(o,a)}case"":case"e":case"g":case"p":case"r":{o.precision==null&&!isNaN(r=z8o(i,Math.max(Math.abs(t),Math.abs(e))))&&(o.precision=r-(o.type==="e"));break}case"f":case"%":{o.precision==null&&!isNaN(r=M8o(i))&&(o.precision=r-(o.type==="%")*2);break}}return s3e(o)}function J7(t){var e=t.domain;return t.ticks=function(n){var o=e();return Bfe(o[0],o[o.length-1],n??10)},t.tickFormat=function(n,o){var i=e();return mat(i[0],i[i.length-1],n??10,o)},t.nice=function(n){n==null&&(n=10);var o=e(),i=0,r=o.length-1,a=o[i],l=o[r],s,c,u=10;for(l0;){if(c=jfe(a,l,n),c===s)return o[i]=a,o[r]=l,e(o);if(c>0)a=Math.floor(a/c)*c,l=Math.ceil(l/c)*c;else if(c<0)a=Math.ceil(a*c)/c,l=Math.floor(l*c)/c;else break;s=c}return t},t}function QF(){var t=a3e();return t.copy=function(){return KN(t,QF())},sy.apply(t,arguments),J7(t)}function yat(t){var e;function n(o){return o==null||isNaN(o=+o)?e:o}return n.invert=n,n.domain=n.range=function(o){return arguments.length?(t=Array.from(o,bJ),n):t.slice()},n.unknown=function(o){return arguments.length?(e=o,n):e},n.copy=function(){return yat(t).unknown(e)},t=arguments.length?Array.from(t,bJ):[0,1],J7(n)}function Aat(t,e){t=t.slice();var n=0,o=t.length-1,i=t[n],r=t[o],a;return rMath.pow(t,e)}function L8o(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Rze(t){return(e,n)=>-t(-e,n)}function c3e(t){const e=t(Pze,Cze),n=e.domain;let o=10,i,r;function a(){return i=L8o(o),r=F8o(o),n()[0]<0?(i=Rze(i),r=Rze(r),t(D8o,E8o)):t(Pze,Cze),e}return e.base=function(l){return arguments.length?(o=+l,a()):o},e.domain=function(l){return arguments.length?(n(l),a()):n()},e.ticks=l=>{const s=n();let c=s[0],u=s[s.length-1];const d=u0){for(;f<=p;++f)for(g=1;gu)break;b.push(A)}}else for(;f<=p;++f)for(g=o-1;g>=1;--g)if(A=f>0?g/r(-f):g*r(f),!(Au)break;b.push(A)}b.length*2{if(l==null&&(l=10),s==null&&(s=o===10?"s":","),typeof s!="function"&&(!(o%1)&&(s=$F(s)).precision==null&&(s.trim=!0),s=s3e(s)),l===1/0)return s;const c=Math.max(1,o*l/e.ticks().length);return u=>{let d=u/r(Math.round(i(u)));return d*on(Aat(n(),{floor:l=>r(Math.floor(i(l))),ceil:l=>r(Math.ceil(i(l)))})),e}function wat(){const t=c3e(Ree()).domain([1,10]);return t.copy=()=>KN(t,wat()).base(t.base()),sy.apply(t,arguments),t}function Hze(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Mze(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function u3e(t){var e=1,n=t(Hze(e),Mze(e));return n.constant=function(o){return arguments.length?t(Hze(e=+o),Mze(e)):e},J7(n)}function vat(){var t=u3e(Ree());return t.copy=function(){return KN(t,vat()).constant(t.constant())},sy.apply(t,arguments)}function Ize(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function W8o(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function N8o(t){return t<0?-t*t:t*t}function d3e(t){var e=t(rp,rp),n=1;function o(){return n===1?t(rp,rp):n===.5?t(W8o,N8o):t(Ize(n),Ize(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,o()):n},J7(e)}function f3e(){var t=d3e(Ree());return t.copy=function(){return KN(t,f3e()).exponent(t.exponent())},sy.apply(t,arguments),t}function U8o(){return f3e.apply(null,arguments).exponent(.5)}function zze(t){return Math.sign(t)*t*t}function B8o(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function xat(){var t=a3e(),e=[0,1],n=!1,o;function i(r){var a=B8o(t(r));return isNaN(a)?o:n?Math.round(a):a}return i.invert=function(r){return t.invert(zze(r))},i.domain=function(r){return arguments.length?(t.domain(r),i):t.domain()},i.range=function(r){return arguments.length?(t.range((e=Array.from(r,bJ)).map(zze)),i):e.slice()},i.rangeRound=function(r){return i.range(r).round(!0)},i.round=function(r){return arguments.length?(n=!!r,i):n},i.clamp=function(r){return arguments.length?(t.clamp(r),i):t.clamp()},i.unknown=function(r){return arguments.length?(o=r,i):o},i.copy=function(){return xat(t.domain(),e).round(n).clamp(t.clamp()).unknown(o)},sy.apply(i,arguments),J7(i)}function bat(){var t=[],e=[],n=[],o;function i(){var a=0,l=Math.max(1,e.length);for(n=new Array(l-1);++a0?n[l-1]:t[0],l=n?[o[n-1],e]:[o[c-1],o[c]]},a.unknown=function(s){return arguments.length&&(r=s),a},a.thresholds=function(){return o.slice()},a.copy=function(){return Sat().domain([t,e]).range(i).unknown(r)},sy.apply(J7(a),arguments)}function Tat(){var t=[.5],e=[0,1],n,o=1;function i(r){return r!=null&&r<=r?e[XN(t,r,0,o)]:n}return i.domain=function(r){return arguments.length?(t=Array.from(r),o=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(r){return arguments.length?(e=Array.from(r),o=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(r){var a=e.indexOf(r);return[t[a-1],t[a]]},i.unknown=function(r){return arguments.length?(n=r,i):n},i.copy=function(){return Tat().domain(t).range(e).unknown(n)},sy.apply(i,arguments)}const Xae=new Date,Jae=new Date;function Gu(t,e,n,o){function i(r){return t(r=arguments.length===0?new Date:new Date(+r)),r}return i.floor=r=>(t(r=new Date(+r)),r),i.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),i.round=r=>{const a=i(r),l=i.ceil(r);return r-a(e(r=new Date(+r),a==null?1:Math.floor(a)),r),i.range=(r,a,l)=>{const s=[];if(r=i.ceil(r),l=l==null?1:Math.floor(l),!(r0))return s;let c;do s.push(c=new Date(+r)),e(r,l),t(r);while(cGu(a=>{if(a>=a)for(;t(a),!r(a);)a.setTime(a-1)},(a,l)=>{if(a>=a)if(l<0)for(;++l<=0;)for(;e(a,-1),!r(a););else for(;--l>=0;)for(;e(a,1),!r(a););}),n&&(i.count=(r,a)=>(Xae.setTime(+r),Jae.setTime(+a),t(Xae),t(Jae),Math.floor(n(Xae,Jae))),i.every=r=>(r=Math.floor(r),!isFinite(r)||!(r>0)?null:r>1?i.filter(o?a=>o(a)%r===0:a=>i.count(0,a)%r===0):i)),i}const TJ=Gu(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);TJ.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Gu(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):TJ);TJ.range;const w6=1e3,Um=w6*60,v6=Um*60,eA=v6*24,h3e=eA*7,Dze=eA*30,Kae=eA*365,Kv=Gu(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*w6)},(t,e)=>(e-t)/w6,t=>t.getUTCSeconds());Kv.range;const p3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6)},(t,e)=>{t.setTime(+t+e*Um)},(t,e)=>(e-t)/Um,t=>t.getMinutes());p3e.range;const g3e=Gu(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Um)},(t,e)=>(e-t)/Um,t=>t.getUTCMinutes());g3e.range;const m3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6-t.getMinutes()*Um)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getHours());m3e.range;const y3e=Gu(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getUTCHours());y3e.range;const qN=Gu(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Um)/eA,t=>t.getDate()-1);qN.range;const Hee=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>t.getUTCDate()-1);Hee.range;const Pat=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>Math.floor(t/eA));Pat.range;function iS(t){return Gu(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Um)/h3e)}const Mee=iS(0),PJ=iS(1),j8o=iS(2),Y8o=iS(3),JR=iS(4),O8o=iS(5),_8o=iS(6);Mee.range;PJ.range;j8o.range;Y8o.range;JR.range;O8o.range;_8o.range;function rS(t){return Gu(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/h3e)}const Iee=rS(0),CJ=rS(1),V8o=rS(2),G8o=rS(3),KR=rS(4),X8o=rS(5),J8o=rS(6);Iee.range;CJ.range;V8o.range;G8o.range;KR.range;X8o.range;J8o.range;const A3e=Gu(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());A3e.range;const w3e=Gu(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());w3e.range;const tA=Gu(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());tA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});tA.range;const nA=Gu(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());nA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});nA.range;function Cat(t,e,n,o,i,r){const a=[[Kv,1,w6],[Kv,5,5*w6],[Kv,15,15*w6],[Kv,30,30*w6],[r,1,Um],[r,5,5*Um],[r,15,15*Um],[r,30,30*Um],[i,1,v6],[i,3,3*v6],[i,6,6*v6],[i,12,12*v6],[o,1,eA],[o,2,2*eA],[n,1,h3e],[e,1,Dze],[e,3,3*Dze],[t,1,Kae]];function l(c,u,d){const f=uw).right(a,f);if(p===a.length)return t.every(Yfe(c/Kae,u/Kae,d));if(p===0)return TJ.every(Math.max(Yfe(c,u,d),1));const[g,A]=a[f/a[p-1][2]53)return null;"w"in te||(te.w=1),"Z"in te?(pe=$ae($z(te.y,0,1)),fe=pe.getUTCDay(),pe=fe>4||fe===0?CJ.ceil(pe):CJ(pe),pe=Hee.offset(pe,(te.V-1)*7),te.y=pe.getUTCFullYear(),te.m=pe.getUTCMonth(),te.d=pe.getUTCDate()+(te.w+6)%7):(pe=qae($z(te.y,0,1)),fe=pe.getDay(),pe=fe>4||fe===0?PJ.ceil(pe):PJ(pe),pe=qN.offset(pe,(te.V-1)*7),te.y=pe.getFullYear(),te.m=pe.getMonth(),te.d=pe.getDate()+(te.w+6)%7)}else("W"in te||"U"in te)&&("w"in te||(te.w="u"in te?te.u%7:"W"in te?1:0),fe="Z"in te?$ae($z(te.y,0,1)).getUTCDay():qae($z(te.y,0,1)).getDay(),te.m=0,te.d="W"in te?(te.w+6)%7+te.W*7-(fe+5)%7:te.w+te.U*7-(fe+6)%7);return"Z"in te?(te.H+=te.Z/100|0,te.M+=te.Z%100,$ae(te)):qae(te)}}function x(ne,se,le,te){for(var he=0,pe=se.length,fe=le.length,$,de;he=fe)return-1;if($=se.charCodeAt(he++),$===37){if($=se.charAt(he++),de=T[$ in Eze?se.charAt(he++):$],!de||(te=de(ne,le,te))<0)return-1}else if($!=le.charCodeAt(te++))return-1}return te}function R(ne,se,le){var te=c.exec(se.slice(le));return te?(ne.p=u.get(te[0].toLowerCase()),le+te[0].length):-1}function H(ne,se,le){var te=p.exec(se.slice(le));return te?(ne.w=g.get(te[0].toLowerCase()),le+te[0].length):-1}function D(ne,se,le){var te=d.exec(se.slice(le));return te?(ne.w=f.get(te[0].toLowerCase()),le+te[0].length):-1}function k(ne,se,le){var te=b.exec(se.slice(le));return te?(ne.m=C.get(te[0].toLowerCase()),le+te[0].length):-1}function W(ne,se,le){var te=A.exec(se.slice(le));return te?(ne.m=w.get(te[0].toLowerCase()),le+te[0].length):-1}function N(ne,se,le){return x(ne,e,se,le)}function L(ne,se,le){return x(ne,n,se,le)}function E(ne,se,le){return x(ne,o,se,le)}function U(ne){return a[ne.getDay()]}function F(ne){return r[ne.getDay()]}function B(ne){return s[ne.getMonth()]}function _(ne){return l[ne.getMonth()]}function Y(ne){return i[+(ne.getHours()>=12)]}function O(ne){return 1+~~(ne.getMonth()/3)}function J(ne){return a[ne.getUTCDay()]}function Z(ne){return r[ne.getUTCDay()]}function ie(ne){return s[ne.getUTCMonth()]}function ee(ne){return l[ne.getUTCMonth()]}function q(ne){return i[+(ne.getUTCHours()>=12)]}function ae(ne){return 1+~~(ne.getUTCMonth()/3)}return{format:function(ne){var se=y(ne+="",P);return se.toString=function(){return ne},se},parse:function(ne){var se=S(ne+="",!1);return se.toString=function(){return ne},se},utcFormat:function(ne){var se=y(ne+="",v);return se.toString=function(){return ne},se},utcParse:function(ne){var se=S(ne+="",!0);return se.toString=function(){return ne},se}}}var Eze={"-":"",_:" ",0:"0"},Dd=/^\s*\d+/,evo=/^%/,tvo=/[\\^$*+?|[\]().{}]/g;function kl(t,e,n){var o=t<0?"-":"",i=(o?-t:t)+"",r=i.length;return o+(r[e.toLowerCase(),n]))}function ovo(t,e,n){var o=Dd.exec(e.slice(n,n+1));return o?(t.w=+o[0],n+o[0].length):-1}function ivo(t,e,n){var o=Dd.exec(e.slice(n,n+1));return o?(t.u=+o[0],n+o[0].length):-1}function rvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.U=+o[0],n+o[0].length):-1}function avo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.V=+o[0],n+o[0].length):-1}function lvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.W=+o[0],n+o[0].length):-1}function kze(t,e,n){var o=Dd.exec(e.slice(n,n+4));return o?(t.y=+o[0],n+o[0].length):-1}function Fze(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.y=+o[0]+(+o[0]>68?1900:2e3),n+o[0].length):-1}function svo(t,e,n){var o=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return o?(t.Z=o[1]?0:-(o[2]+(o[3]||"00")),n+o[0].length):-1}function cvo(t,e,n){var o=Dd.exec(e.slice(n,n+1));return o?(t.q=o[0]*3-3,n+o[0].length):-1}function uvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.m=o[0]-1,n+o[0].length):-1}function Lze(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.d=+o[0],n+o[0].length):-1}function dvo(t,e,n){var o=Dd.exec(e.slice(n,n+3));return o?(t.m=0,t.d=+o[0],n+o[0].length):-1}function Wze(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.H=+o[0],n+o[0].length):-1}function fvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.M=+o[0],n+o[0].length):-1}function hvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.S=+o[0],n+o[0].length):-1}function pvo(t,e,n){var o=Dd.exec(e.slice(n,n+3));return o?(t.L=+o[0],n+o[0].length):-1}function gvo(t,e,n){var o=Dd.exec(e.slice(n,n+6));return o?(t.L=Math.floor(o[0]/1e3),n+o[0].length):-1}function mvo(t,e,n){var o=evo.exec(e.slice(n,n+1));return o?n+o[0].length:-1}function yvo(t,e,n){var o=Dd.exec(e.slice(n));return o?(t.Q=+o[0],n+o[0].length):-1}function Avo(t,e,n){var o=Dd.exec(e.slice(n));return o?(t.s=+o[0],n+o[0].length):-1}function Nze(t,e){return kl(t.getDate(),e,2)}function wvo(t,e){return kl(t.getHours(),e,2)}function vvo(t,e){return kl(t.getHours()%12||12,e,2)}function xvo(t,e){return kl(1+qN.count(tA(t),t),e,3)}function Rat(t,e){return kl(t.getMilliseconds(),e,3)}function bvo(t,e){return Rat(t,e)+"000"}function Svo(t,e){return kl(t.getMonth()+1,e,2)}function Tvo(t,e){return kl(t.getMinutes(),e,2)}function Pvo(t,e){return kl(t.getSeconds(),e,2)}function Cvo(t){var e=t.getDay();return e===0?7:e}function Rvo(t,e){return kl(Mee.count(tA(t)-1,t),e,2)}function Hat(t){var e=t.getDay();return e>=4||e===0?JR(t):JR.ceil(t)}function Hvo(t,e){return t=Hat(t),kl(JR.count(tA(t),t)+(tA(t).getDay()===4),e,2)}function Mvo(t){return t.getDay()}function Ivo(t,e){return kl(PJ.count(tA(t)-1,t),e,2)}function zvo(t,e){return kl(t.getFullYear()%100,e,2)}function Dvo(t,e){return t=Hat(t),kl(t.getFullYear()%100,e,2)}function Evo(t,e){return kl(t.getFullYear()%1e4,e,4)}function kvo(t,e){var n=t.getDay();return t=n>=4||n===0?JR(t):JR.ceil(t),kl(t.getFullYear()%1e4,e,4)}function Fvo(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+kl(e/60|0,"0",2)+kl(e%60,"0",2)}function Uze(t,e){return kl(t.getUTCDate(),e,2)}function Lvo(t,e){return kl(t.getUTCHours(),e,2)}function Wvo(t,e){return kl(t.getUTCHours()%12||12,e,2)}function Nvo(t,e){return kl(1+Hee.count(nA(t),t),e,3)}function Mat(t,e){return kl(t.getUTCMilliseconds(),e,3)}function Uvo(t,e){return Mat(t,e)+"000"}function Bvo(t,e){return kl(t.getUTCMonth()+1,e,2)}function jvo(t,e){return kl(t.getUTCMinutes(),e,2)}function Yvo(t,e){return kl(t.getUTCSeconds(),e,2)}function Ovo(t){var e=t.getUTCDay();return e===0?7:e}function _vo(t,e){return kl(Iee.count(nA(t)-1,t),e,2)}function Iat(t){var e=t.getUTCDay();return e>=4||e===0?KR(t):KR.ceil(t)}function Vvo(t,e){return t=Iat(t),kl(KR.count(nA(t),t)+(nA(t).getUTCDay()===4),e,2)}function Gvo(t){return t.getUTCDay()}function Xvo(t,e){return kl(CJ.count(nA(t)-1,t),e,2)}function Jvo(t,e){return kl(t.getUTCFullYear()%100,e,2)}function Kvo(t,e){return t=Iat(t),kl(t.getUTCFullYear()%100,e,2)}function qvo(t,e){return kl(t.getUTCFullYear()%1e4,e,4)}function $vo(t,e){var n=t.getUTCDay();return t=n>=4||n===0?KR(t):KR.ceil(t),kl(t.getUTCFullYear()%1e4,e,4)}function Qvo(){return"+0000"}function Bze(){return"%"}function jze(t){return+t}function Yze(t){return Math.floor(+t/1e3)}var VT,zat,Dat;Zvo({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Zvo(t){return VT=Z8o(t),zat=VT.format,VT.parse,Dat=VT.utcFormat,VT.utcParse,VT}function exo(t){return new Date(t)}function txo(t){return t instanceof Date?+t:+new Date(+t)}function v3e(t,e,n,o,i,r,a,l,s,c){var u=a3e(),d=u.invert,f=u.domain,p=c(".%L"),g=c(":%S"),A=c("%I:%M"),w=c("%I %p"),b=c("%a %d"),C=c("%b %d"),P=c("%B"),v=c("%Y");function T(y){return(s(y)e(i/(t.length-1)))},n.quantiles=function(o){return Array.from({length:o+1},(i,r)=>_7o(t,r/o))},n.copy=function(){return Lat(e).domain(t)},xA.apply(n,arguments)}function Dee(){var t=0,e=.5,n=1,o=1,i,r,a,l,s,c=rp,u,d=!1,f;function p(A){return isNaN(A=+A)?f:(A=.5+((A=+u(A))-r)*(o*Ae}var cxo=sxo,uxo=Bat,dxo=cxo,fxo=Vb;function hxo(t){return t&&t.length?uxo(t,fxo,dxo):void 0}var pxo=hxo;const ww=kr(pxo);function gxo(t,e){return tt.e^r.s<0?1:-1;for(o=r.d.length,i=t.d.length,e=0,n=ot.d[e]^r.s<0?1:-1;return o===i?0:o>i^r.s<0?1:-1};Yi.decimalPlaces=Yi.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*pc;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Yi.dividedBy=Yi.div=function(t){return k6(this,new this.constructor(t))};Yi.dividedToIntegerBy=Yi.idiv=function(t){var e=this,n=e.constructor;return Cs(k6(e,new n(t),0,1),n.precision)};Yi.equals=Yi.eq=function(t){return!this.cmp(t)};Yi.exponent=function(){return su(this)};Yi.greaterThan=Yi.gt=function(t){return this.cmp(t)>0};Yi.greaterThanOrEqualTo=Yi.gte=function(t){return this.cmp(t)>=0};Yi.isInteger=Yi.isint=function(){return this.e>this.d.length-2};Yi.isNegative=Yi.isneg=function(){return this.s<0};Yi.isPositive=Yi.ispos=function(){return this.s>0};Yi.isZero=function(){return this.s===0};Yi.lessThan=Yi.lt=function(t){return this.cmp(t)<0};Yi.lessThanOrEqualTo=Yi.lte=function(t){return this.cmp(t)<1};Yi.logarithm=Yi.log=function(t){var e,n=this,o=n.constructor,i=o.precision,r=i+5;if(t===void 0)t=new o(10);else if(t=new o(t),t.s<1||t.eq(cg))throw Error(ey+"NaN");if(n.s<1)throw Error(ey+(n.s?"NaN":"-Infinity"));return n.eq(cg)?new o(0):(Oc=!1,e=k6(ZF(n,r),ZF(t,r),r),Oc=!0,Cs(e,i))};Yi.minus=Yi.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?_at(e,t):Yat(e,(t.s=-t.s,t))};Yi.modulo=Yi.mod=function(t){var e,n=this,o=n.constructor,i=o.precision;if(t=new o(t),!t.s)throw Error(ey+"NaN");return n.s?(Oc=!1,e=k6(n,t,0,1).times(t),Oc=!0,n.minus(e)):Cs(new o(n),i)};Yi.naturalExponential=Yi.exp=function(){return Oat(this)};Yi.naturalLogarithm=Yi.ln=function(){return ZF(this)};Yi.negated=Yi.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Yi.plus=Yi.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?Yat(e,t):_at(e,(t.s=-t.s,t))};Yi.precision=Yi.sd=function(t){var e,n,o,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Cx+t);if(e=su(i)+1,o=i.d.length-1,n=o*pc+1,o=i.d[o],o){for(;o%10==0;o/=10)n--;for(o=i.d[0];o>=10;o/=10)n++}return t&&e>n?e:n};Yi.squareRoot=Yi.sqrt=function(){var t,e,n,o,i,r,a,l=this,s=l.constructor;if(l.s<1){if(!l.s)return new s(0);throw Error(ey+"NaN")}for(t=su(l),Oc=!1,i=Math.sqrt(+l),i==0||i==1/0?(e=u9(l.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=xM((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),o=new s(e)):o=new s(i.toString()),n=s.precision,i=a=n+3;;)if(r=o,o=r.plus(k6(l,r,a+2)).times(.5),u9(r.d).slice(0,a)===(e=u9(o.d)).slice(0,a)){if(e=e.slice(a-3,a+1),i==a&&e=="4999"){if(Cs(r,n+1,0),r.times(r).eq(l)){o=r;break}}else if(e!="9999")break;a+=4}return Oc=!0,Cs(o,n)};Yi.times=Yi.mul=function(t){var e,n,o,i,r,a,l,s,c,u=this,d=u.constructor,f=u.d,p=(t=new d(t)).d;if(!u.s||!t.s)return new d(0);for(t.s*=u.s,n=u.e+t.e,s=f.length,c=p.length,s=0;){for(e=0,i=s+o;i>o;)l=r[i]+p[o]*f[i-o-1]+e,r[i--]=l%gd|0,e=l/gd|0;r[i]=(r[i]+e)%gd|0}for(;!r[--a];)r.pop();return e?++n:r.shift(),t.d=r,t.e=n,Oc?Cs(t,d.precision):t};Yi.toDecimalPlaces=Yi.todp=function(t,e){var n=this,o=n.constructor;return n=new o(n),t===void 0?n:(Y9(t,0,vM),e===void 0?e=o.rounding:Y9(e,0,8),Cs(n,t+su(n)+1,e))};Yi.toExponential=function(t,e){var n,o=this,i=o.constructor;return t===void 0?n=sb(o,!0):(Y9(t,0,vM),e===void 0?e=i.rounding:Y9(e,0,8),o=Cs(new i(o),t+1,e),n=sb(o,!0,t+1)),n};Yi.toFixed=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?sb(i):(Y9(t,0,vM),e===void 0?e=r.rounding:Y9(e,0,8),o=Cs(new r(i),t+su(i)+1,e),n=sb(o.abs(),!1,t+su(o)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Yi.toInteger=Yi.toint=function(){var t=this,e=t.constructor;return Cs(new e(t),su(t)+1,e.rounding)};Yi.toNumber=function(){return+this};Yi.toPower=Yi.pow=function(t){var e,n,o,i,r,a,l=this,s=l.constructor,c=12,u=+(t=new s(t));if(!t.s)return new s(cg);if(l=new s(l),!l.s){if(t.s<1)throw Error(ey+"Infinity");return l}if(l.eq(cg))return l;if(o=s.precision,t.eq(cg))return Cs(l,o);if(e=t.e,n=t.d.length-1,a=e>=n,r=l.s,a){if((n=u<0?-u:u)<=jat){for(i=new s(cg),e=Math.ceil(o/pc+4),Oc=!1;n%2&&(i=i.times(l),Vze(i.d,e)),n=xM(n/2),n!==0;)l=l.times(l),Vze(l.d,e);return Oc=!0,t.s<0?new s(cg).div(i):Cs(i,o)}}else if(r<0)throw Error(ey+"NaN");return r=r<0&&t.d[Math.max(e,n)]&1?-1:1,l.s=1,Oc=!1,i=t.times(ZF(l,o+c)),Oc=!0,i=Oat(i),i.s=r,i};Yi.toPrecision=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?(n=su(i),o=sb(i,n<=r.toExpNeg||n>=r.toExpPos)):(Y9(t,1,vM),e===void 0?e=r.rounding:Y9(e,0,8),i=Cs(new r(i),t,e),n=su(i),o=sb(i,t<=n||n<=r.toExpNeg,t)),o};Yi.toSignificantDigits=Yi.tosd=function(t,e){var n=this,o=n.constructor;return t===void 0?(t=o.precision,e=o.rounding):(Y9(t,1,vM),e===void 0?e=o.rounding:Y9(e,0,8)),Cs(new o(n),t,e)};Yi.toString=Yi.valueOf=Yi.val=Yi.toJSON=Yi[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=su(t),n=t.constructor;return sb(t,e<=n.toExpNeg||e>=n.toExpPos)};function Yat(t,e){var n,o,i,r,a,l,s,c,u=t.constructor,d=u.precision;if(!t.s||!e.s)return e.s||(e=new u(t)),Oc?Cs(e,d):e;if(s=t.d,c=e.d,a=t.e,i=e.e,s=s.slice(),r=a-i,r){for(r<0?(o=s,r=-r,l=c.length):(o=c,i=a,l=s.length),a=Math.ceil(d/pc),l=a>l?a+1:l+1,r>l&&(r=l,o.length=1),o.reverse();r--;)o.push(0);o.reverse()}for(l=s.length,r=c.length,l-r<0&&(r=l,o=c,c=s,s=o),n=0;r;)n=(s[--r]=s[r]+c[r]+n)/gd|0,s[r]%=gd;for(n&&(s.unshift(n),++i),l=s.length;s[--l]==0;)s.pop();return e.d=s,e.e=i,Oc?Cs(e,d):e}function Y9(t,e,n){if(t!==~~t||tn)throw Error(Cx+t)}function u9(t){var e,n,o,i=t.length-1,r="",a=t[0];if(i>0){for(r+=a,e=1;ea?1:-1;else for(l=s=0;li[l]?1:-1;break}return s}function n(o,i,r){for(var a=0;r--;)o[r]-=a,a=o[r]1;)o.shift()}return function(o,i,r,a){var l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,S,x,R=o.constructor,H=o.s==i.s?1:-1,D=o.d,k=i.d;if(!o.s)return new R(o);if(!i.s)throw Error(ey+"Division by zero");for(s=o.e-i.e,S=k.length,T=D.length,p=new R(H),g=p.d=[],c=0;k[c]==(D[c]||0);)++c;if(k[c]>(D[c]||0)&&--s,r==null?C=r=R.precision:a?C=r+(su(o)-su(i))+1:C=r,C<0)return new R(0);if(C=C/pc+2|0,c=0,S==1)for(u=0,k=k[0],C++;(c1&&(k=t(k,u),D=t(D,u),S=k.length,T=D.length),v=S,A=D.slice(0,S),w=A.length;w=gd/2&&++y;do u=0,l=e(k,A,S,w),l<0?(b=A[0],S!=w&&(b=b*gd+(A[1]||0)),u=b/y|0,u>1?(u>=gd&&(u=gd-1),d=t(k,u),f=d.length,w=A.length,l=e(d,A,f,w),l==1&&(u--,n(d,S16)throw Error(S3e+su(t));if(!t.s)return new u(cg);for(e==null?(Oc=!1,l=d):l=e,a=new u(.03125);t.abs().gte(.1);)t=t.times(a),c+=5;for(o=Math.log(pv(2,c))/Math.LN10*2+5|0,l+=o,n=i=r=new u(cg),u.precision=l;;){if(i=Cs(i.times(t),l),n=n.times(++s),a=r.plus(k6(i,n,l)),u9(a.d).slice(0,l)===u9(r.d).slice(0,l)){for(;c--;)r=Cs(r.times(r),l);return u.precision=d,e==null?(Oc=!0,Cs(r,d)):r}r=a}}function su(t){for(var e=t.e*pc,n=t.d[0];n>=10;n/=10)e++;return e}function Qae(t,e,n){if(e>t.LN10.sd())throw Oc=!0,n&&(t.precision=n),Error(ey+"LN10 precision limit exceeded");return Cs(new t(t.LN10),e)}function J4(t){for(var e="";t--;)e+="0";return e}function ZF(t,e){var n,o,i,r,a,l,s,c,u,d=1,f=10,p=t,g=p.d,A=p.constructor,w=A.precision;if(p.s<1)throw Error(ey+(p.s?"NaN":"-Infinity"));if(p.eq(cg))return new A(0);if(e==null?(Oc=!1,c=w):c=e,p.eq(10))return e==null&&(Oc=!0),Qae(A,c);if(c+=f,A.precision=c,n=u9(g),o=n.charAt(0),r=su(p),Math.abs(r)<15e14){for(;o<7&&o!=1||o==1&&n.charAt(1)>3;)p=p.times(t),n=u9(p.d),o=n.charAt(0),d++;r=su(p),o>1?(p=new A("0."+n),r++):p=new A(o+"."+n.slice(1))}else return s=Qae(A,c+2,w).times(r+""),p=ZF(new A(o+"."+n.slice(1)),c-f).plus(s),A.precision=w,e==null?(Oc=!0,Cs(p,w)):p;for(l=a=p=k6(p.minus(cg),p.plus(cg),c),u=Cs(p.times(p),c),i=3;;){if(a=Cs(a.times(u),c),s=l.plus(k6(a,new A(i),c)),u9(s.d).slice(0,c)===u9(l.d).slice(0,c))return l=l.times(2),r!==0&&(l=l.plus(Qae(A,c+2,w).times(r+""))),l=k6(l,new A(d),c),A.precision=w,e==null?(Oc=!0,Cs(l,w)):l;l=s,i+=2}}function _ze(t,e){var n,o,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(o=e.search(/e/i))>0?(n<0&&(n=o),n+=+e.slice(o+1),e=e.substring(0,o)):n<0&&(n=e.length),o=0;e.charCodeAt(o)===48;)++o;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(o,i),e){if(i-=o,n=n-o-1,t.e=xM(n/pc),t.d=[],o=(n+1)%pc,n<0&&(o+=pc),oRJ||t.e<-RJ))throw Error(S3e+n)}else t.s=0,t.e=0,t.d=[0];return t}function Cs(t,e,n){var o,i,r,a,l,s,c,u,d=t.d;for(a=1,r=d[0];r>=10;r/=10)a++;if(o=e-a,o<0)o+=pc,i=e,c=d[u=0];else{if(u=Math.ceil((o+1)/pc),r=d.length,u>=r)return t;for(c=r=d[u],a=1;r>=10;r/=10)a++;o%=pc,i=o-pc+a}if(n!==void 0&&(r=pv(10,a-i-1),l=c/r%10|0,s=e<0||d[u+1]!==void 0||c%r,s=n<4?(l||s)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||s||n==6&&(o>0?i>0?c/pv(10,a-i):0:d[u-1])%10&1||n==(t.s<0?8:7))),e<1||!d[0])return s?(r=su(t),d.length=1,e=e-r-1,d[0]=pv(10,(pc-e%pc)%pc),t.e=xM(-e/pc)||0):(d.length=1,d[0]=t.e=t.s=0),t;if(o==0?(d.length=u,r=1,u--):(d.length=u+1,r=pv(10,pc-o),d[u]=i>0?(c/pv(10,a-i)%pv(10,i)|0)*r:0),s)for(;;)if(u==0){(d[0]+=r)==gd&&(d[0]=1,++t.e);break}else{if(d[u]+=r,d[u]!=gd)break;d[u--]=0,r=1}for(o=d.length;d[--o]===0;)d.pop();if(Oc&&(t.e>RJ||t.e<-RJ))throw Error(S3e+su(t));return t}function _at(t,e){var n,o,i,r,a,l,s,c,u,d,f=t.constructor,p=f.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new f(t),Oc?Cs(e,p):e;if(s=t.d,d=e.d,o=e.e,c=t.e,s=s.slice(),a=c-o,a){for(u=a<0,u?(n=s,a=-a,l=d.length):(n=d,o=c,l=s.length),i=Math.max(Math.ceil(p/pc),l)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=s.length,l=d.length,u=i0;--i)s[l++]=0;for(i=d.length;i>a;){if(s[--i]0?r=r.charAt(0)+"."+r.slice(1)+J4(o):a>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(i<0?"e":"e+")+i):i<0?(r="0."+J4(-i-1)+r,n&&(o=n-a)>0&&(r+=J4(o))):i>=a?(r+=J4(i+1-a),n&&(o=n-i-1)>0&&(r=r+"."+J4(o))):((o=i+1)0&&(i+1===a&&(r+="."),r+=J4(o))),t.s<0?"-"+r:r}function Vze(t,e){if(t.length>e)return t.length=e,!0}function Vat(t){var e,n,o;function i(r){var a=this;if(!(a instanceof i))return new i(r);if(a.constructor=i,r instanceof i){a.s=r.s,a.e=r.e,a.d=(r=r.d)?r.slice():r;return}if(typeof r=="number"){if(r*0!==0)throw Error(Cx+r);if(r>0)a.s=1;else if(r<0)r=-r,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(r===~~r&&r<1e7){a.e=0,a.d=[r];return}return _ze(a,r.toString())}else if(typeof r!="string")throw Error(Cx+r);if(r.charCodeAt(0)===45?(r=r.slice(1),a.s=-1):a.s=1,zxo.test(r))_ze(a,r);else throw Error(Cx+r)}if(i.prototype=Yi,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Vat,i.config=i.set=Dxo,t===void 0&&(t={}),t)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&o<=i[e+2])this[n]=o;else throw Error(Cx+n+": "+o);if((o=t[n="LN10"])!==void 0)if(o==Math.LN10)this[n]=new this(o);else throw Error(Cx+n+": "+o);return this}var T3e=Vat(Ixo);cg=new T3e(1);const ys=T3e;function Exo(t){return Wxo(t)||Lxo(t)||Fxo(t)||kxo()}function kxo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fxo(t,e){if(t){if(typeof t=="string")return Xfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xfe(t,e)}}function Lxo(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function Wxo(t){if(Array.isArray(t))return Xfe(t)}function Xfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e?n.apply(void 0,i):t(e-a,Gze(function(){for(var l=arguments.length,s=new Array(l),c=0;ct.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!(Symbol.iterator in Object(t)))){var n=[],o=!0,i=!1,r=void 0;try{for(var a=t[Symbol.iterator](),l;!(o=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));o=!0);}catch(s){i=!0,r=s}finally{try{!o&&a.return!=null&&a.return()}finally{if(i)throw r}}return n}}function Qxo(t){if(Array.isArray(t))return t}function qat(t){var e=eL(t,2),n=e[0],o=e[1],i=n,r=o;return n>o&&(i=o,r=n),[i,r]}function $at(t,e,n){if(t.lte(0))return new ys(0);var o=Fee.getDigitCount(t.toNumber()),i=new ys(10).pow(o),r=t.div(i),a=o!==1?.05:.1,l=new ys(Math.ceil(r.div(a).toNumber())).add(n).mul(a),s=l.mul(i);return e?s:new ys(Math.ceil(s))}function Zxo(t,e,n){var o=1,i=new ys(t);if(!i.isint()&&n){var r=Math.abs(t);r<1?(o=new ys(10).pow(Fee.getDigitCount(t)-1),i=new ys(Math.floor(i.div(o).toNumber())).mul(o)):r>1&&(i=new ys(Math.floor(t)))}else t===0?i=new ys(Math.floor((e-1)/2)):n||(i=new ys(Math.floor(t)));var a=Math.floor((e-1)/2),l=jxo(Bxo(function(s){return i.add(new ys(s-a).mul(o)).toNumber()}),Jfe);return l(0,e)}function Qat(t,e,n,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new ys(0),tickMin:new ys(0),tickMax:new ys(0)};var r=$at(new ys(e).sub(t).div(n-1),o,i),a;t<=0&&e>=0?a=new ys(0):(a=new ys(t).add(e).div(2),a=a.sub(new ys(a).mod(r)));var l=Math.ceil(a.sub(t).div(r).toNumber()),s=Math.ceil(new ys(e).sub(a).div(r).toNumber()),c=l+s+1;return c>n?Qat(t,e,n,o,i+1):(c0?s+(n-c):s,l=e>0?l:l+(n-c)),{step:r,tickMin:a.sub(new ys(l).mul(r)),tickMax:a.add(new ys(s).mul(r))})}function ebo(t){var e=eL(t,2),n=e[0],o=e[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),l=qat([n,o]),s=eL(l,2),c=s[0],u=s[1];if(c===-1/0||u===1/0){var d=u===1/0?[c].concat(qfe(Jfe(0,i-1).map(function(){return 1/0}))):[].concat(qfe(Jfe(0,i-1).map(function(){return-1/0})),[u]);return n>o?Kfe(d):d}if(c===u)return Zxo(c,i,r);var f=Qat(c,u,a,r),p=f.step,g=f.tickMin,A=f.tickMax,w=Fee.rangeStep(g,A.add(new ys(.1).mul(p)),p);return n>o?Kfe(w):w}function tbo(t,e){var n=eL(t,2),o=n[0],i=n[1],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=qat([o,i]),l=eL(a,2),s=l[0],c=l[1];if(s===-1/0||c===1/0)return[o,i];if(s===c)return[s];var u=Math.max(e,2),d=$at(new ys(c).sub(s).div(u-1),r,0),f=[].concat(qfe(Fee.rangeStep(new ys(s),new ys(c).sub(new ys(.99).mul(d)),d)),[c]);return o>i?Kfe(f):f}var nbo=Jat(ebo),obo=Jat(tbo),ibo="Invariant failed";function cb(t,e){throw new Error(ibo)}var rbo=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function HJ(){return HJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function fbo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function bM(t){var e=t.offset,n=t.layout,o=t.width,i=t.dataKey,r=t.data,a=t.dataPointFormatter,l=t.xAxis,s=t.yAxis,c=dbo(t,rbo),u=oa(c,!1);t.direction==="x"&&l.type!=="number"&&cb();var d=r.map(function(f){var p=a(f,i),g=p.x,A=p.y,w=p.value,b=p.errorVal;if(!b)return null;var C=[],P,v;if(Array.isArray(b)){var T=abo(b,2);P=T[0],v=T[1]}else P=v=b;if(n==="vertical"){var y=l.scale,S=A+e,x=S+o,R=S-o,H=y(w-P),D=y(w+v);C.push({x1:D,y1:x,x2:D,y2:R}),C.push({x1:H,y1:S,x2:D,y2:S}),C.push({x1:H,y1:x,x2:H,y2:R})}else if(n==="horizontal"){var k=s.scale,W=g+e,N=W-o,L=W+o,E=k(w-P),U=k(w+v);C.push({x1:N,y1:U,x2:L,y2:U}),C.push({x1:W,y1:E,x2:W,y2:U}),C.push({x1:N,y1:E,x2:L,y2:E})}return be.createElement(Bl,HJ({className:"recharts-errorBar",key:"bar-".concat(C.map(function(F){return"".concat(F.x1,"-").concat(F.x2,"-").concat(F.y1,"-").concat(F.y2)}))},u),C.map(function(F){return be.createElement("line",HJ({},F,{key:"line-".concat(F.x1,"-").concat(F.x2,"-").concat(F.y1,"-").concat(F.y2)}))}))});return be.createElement(Bl,{className:"recharts-errorBars"},d)}bM.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"};bM.displayName="ErrorBar";function tL(t){"@babel/helpers - typeof";return tL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tL(t)}function Jze(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Zae(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,a=-1,l=(n=o==null?void 0:o.length)!==null&&n!==void 0?n:0;if(l<=1)return 0;if(r&&r.axisType==="angleAxis"&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var s=r.range,c=0;c0?i[c-1].coordinate:i[l-1].coordinate,d=i[c].coordinate,f=c>=l-1?i[0].coordinate:i[c+1].coordinate,p=void 0;if(x2(d-u)!==x2(f-d)){var g=[];if(x2(f-d)===x2(s[1]-s[0])){p=f;var A=d+s[1]-s[0];g[0]=Math.min(A,(A+u)/2),g[1]=Math.max(A,(A+u)/2)}else{p=u;var w=f+s[1]-s[0];g[0]=Math.min(d,(w+d)/2),g[1]=Math.max(d,(w+d)/2)}var b=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(e>b[0]&&e<=b[1]||e>=g[0]&&e<=g[1]){a=i[c].index;break}}else{var C=Math.min(u,f),P=Math.max(u,f);if(e>(C+d)/2&&e<=(P+d)/2){a=i[c].index;break}}}else for(var v=0;v0&&v(o[v].coordinate+o[v-1].coordinate)/2&&e<=(o[v].coordinate+o[v+1].coordinate)/2||v===l-1&&e>(o[v].coordinate+o[v-1].coordinate)/2){a=o[v].index;break}return a},P3e=function(e){var n=e,o=n.type.displayName,i=e.props,r=i.stroke,a=i.fill,l;switch(o){case"Line":l=r;break;case"Area":case"Radar":l=r&&r!=="none"?r:a;break;default:l=a;break}return l},Sbo=function(e){var n=e.barSize,o=e.totalSize,i=e.stackGroups,r=i===void 0?{}:i;if(!r)return{};for(var a={},l=Object.keys(r),s=0,c=l.length;s=0});if(b&&b.length){var C=b[0].props.barSize,P=b[0].props[w];a[P]||(a[P]=[]);var v=ra(C)?n:C;a[P].push({item:b[0],stackList:b.slice(1),barSize:ra(v)?void 0:ab(v,o,0)})}}return a},Tbo=function(e){var n=e.barGap,o=e.barCategoryGap,i=e.bandSize,r=e.sizeList,a=r===void 0?[]:r,l=e.maxBarSize,s=a.length;if(s<1)return null;var c=ab(n,i,0,!0),u,d=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=i/s,g=a.reduce(function(v,T){return v+T.barSize||0},0);g+=(s-1)*c,g>=i&&(g-=(s-1)*c,c=0),g>=i&&p>0&&(f=!0,p*=.9,g=s*p);var A=(i-g)/2>>0,w={offset:A-c,size:0};u=a.reduce(function(v,T){var y={item:T.item,position:{offset:w.offset+w.size+c,size:f?p:T.barSize}},S=[].concat(qze(v),[y]);return w=S[S.length-1].position,T.stackList&&T.stackList.length&&T.stackList.forEach(function(x){S.push({item:x,position:w})}),S},d)}else{var b=ab(o,i,0,!0);i-2*b-(s-1)*c<=0&&(c=0);var C=(i-2*b-(s-1)*c)/s;C>1&&(C>>=0);var P=l===+l?Math.min(C,l):C;u=a.reduce(function(v,T,y){var S=[].concat(qze(v),[{item:T.item,position:{offset:b+(C+c)*y+(C-P)/2,size:P}}]);return T.stackList&&T.stackList.length&&T.stackList.forEach(function(x){S.push({item:x,position:S[S.length-1].position})}),S},d)}return u},Pbo=function(e,n,o,i){var r=o.children,a=o.width,l=o.margin,s=a-(l.left||0)-(l.right||0),c=Zat({children:r,legendWidth:s});if(c){var u=i||{},d=u.width,f=u.height,p=c.align,g=c.verticalAlign,A=c.layout;if((A==="vertical"||A==="horizontal"&&g==="middle")&&p!=="center"&&ci(e[p]))return Pm(Pm({},e),{},IC({},p,e[p]+(d||0)));if((A==="horizontal"||A==="vertical"&&p==="center")&&g!=="middle"&&ci(e[g]))return Pm(Pm({},e),{},IC({},g,e[g]+(f||0)))}return e},Cbo=function(e,n,o){return ra(n)?!0:e==="horizontal"?n==="yAxis":e==="vertical"||o==="x"?n==="xAxis":o==="y"?n==="yAxis":!0},elt=function(e,n,o,i,r){var a=n.props.children,l=Kp(a,bM).filter(function(c){return Cbo(i,r,c.props.direction)});if(l&&l.length){var s=l.map(function(c){return c.props.dataKey});return e.reduce(function(c,u){var d=Uu(u,o);if(ra(d))return c;var f=Array.isArray(d)?[Eee(d),ww(d)]:[d,d],p=s.reduce(function(g,A){var w=Uu(u,A,0),b=f[0]-Math.abs(Array.isArray(w)?w[0]:w),C=f[1]+Math.abs(Array.isArray(w)?w[1]:w);return[Math.min(b,g[0]),Math.max(C,g[1])]},[1/0,-1/0]);return[Math.min(p[0],c[0]),Math.max(p[1],c[1])]},[1/0,-1/0])}return null},Rbo=function(e,n,o,i,r){var a=n.map(function(l){return elt(e,l,o,r,i)}).filter(function(l){return!ra(l)});return a&&a.length?a.reduce(function(l,s){return[Math.min(l[0],s[0]),Math.max(l[1],s[1])]},[1/0,-1/0]):null},tlt=function(e,n,o,i,r){var a=n.map(function(s){var c=s.props.dataKey;return o==="number"&&c&&elt(e,s,c,i)||FE(e,c,o,r)});if(o==="number")return a.reduce(function(s,c){return[Math.min(s[0],c[0]),Math.max(s[1],c[1])]},[1/0,-1/0]);var l={};return a.reduce(function(s,c){for(var u=0,d=c.length;u=2?x2(l[0]-l[1])*2*c:c,n&&(e.ticks||e.niceTicks)){var u=(e.ticks||e.niceTicks).map(function(d){var f=r?r.indexOf(d):d;return{coordinate:i(f)+c,value:d,offset:c}});return u.filter(function(d){return!AM(d.coordinate)})}return e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(d,f){return{coordinate:i(d)+c,value:d,index:f,offset:c}}):i.ticks&&!o?i.ticks(e.tickCount).map(function(d){return{coordinate:i(d)+c,value:d,offset:c}}):i.domain().map(function(d,f){return{coordinate:i(d)+c,value:r?r[d]:d,index:f,offset:c}})},ele=new WeakMap,jO=function(e,n){if(typeof n!="function")return e;ele.has(e)||ele.set(e,new WeakMap);var o=ele.get(e);if(o.has(n))return o.get(n);var i=function(){e.apply(void 0,arguments),n.apply(void 0,arguments)};return o.set(n,i),i},Hbo=function(e,n,o){var i=e.scale,r=e.type,a=e.layout,l=e.axisType;if(i==="auto")return a==="radial"&&l==="radiusAxis"?{scale:XF(),realScaleType:"band"}:a==="radial"&&l==="angleAxis"?{scale:QF(),realScaleType:"linear"}:r==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!o)?{scale:HC(),realScaleType:"point"}:r==="category"?{scale:XF(),realScaleType:"band"}:{scale:QF(),realScaleType:"linear"};if(MN(i)){var s="scale".concat(wee(i));return{scale:(Oze[s]||HC)(),realScaleType:Oze[s]?s:"point"}}return Aa(i)?{scale:i}:{scale:HC(),realScaleType:"point"}},$ze=1e-4,Mbo=function(e){var n=e.domain();if(!(!n||n.length<=2)){var o=n.length,i=e.range(),r=Math.min(i[0],i[1])-$ze,a=Math.max(i[0],i[1])+$ze,l=e(n[0]),s=e(n[o-1]);(la||sa)&&e.domain([n[0],n[o-1]])}},Ibo=function(e,n){if(!e)return null;for(var o=0,i=e.length;oi)&&(r[1]=i),r[0]>i&&(r[0]=i),r[1]=0?(e[l][o][0]=r,e[l][o][1]=r+s,r=e[l][o][1]):(e[l][o][0]=a,e[l][o][1]=a+s,a=e[l][o][1])}},Ebo=function(e){var n=e.length;if(!(n<=0))for(var o=0,i=e[0].length;o=0?(e[a][o][0]=r,e[a][o][1]=r+l,r=e[a][o][1]):(e[a][o][0]=0,e[a][o][1]=0)}},kbo={sign:Dbo,expand:x6o,none:YR,silhouette:b6o,wiggle:S6o,positive:Ebo},Fbo=function(e,n,o){var i=n.map(function(l){return l.props.dataKey}),r=kbo[o],a=v6o().keys(i).value(function(l,s){return+Uu(l,s,0)}).order(Hfe).offset(r);return a(e)},Lbo=function(e,n,o,i,r,a){if(!e)return null;var l=a?n.reverse():n,s={},c=l.reduce(function(d,f){var p=f.props,g=p.stackId,A=p.hide;if(A)return d;var w=f.props[o],b=d[w]||{hasStack:!1,stackGroups:{}};if(Lu(g)){var C=b.stackGroups[g]||{numericAxisId:o,cateAxisId:i,items:[]};C.items.push(f),b.hasStack=!0,b.stackGroups[g]=C}else b.stackGroups[oS("_stackId_")]={numericAxisId:o,cateAxisId:i,items:[f]};return Pm(Pm({},d),{},IC({},w,b))},s),u={};return Object.keys(c).reduce(function(d,f){var p=c[f];if(p.hasStack){var g={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(A,w){var b=p.stackGroups[w];return Pm(Pm({},A),{},IC({},w,{numericAxisId:o,cateAxisId:i,items:b.items,stackedData:Fbo(e,b.items,r)}))},g)}return Pm(Pm({},d),{},IC({},f,p))},u)},Wbo=function(e,n){var o=n.realScaleType,i=n.type,r=n.tickCount,a=n.originalDomain,l=n.allowDecimals,s=o||n.scale;if(s!=="auto"&&s!=="linear")return null;if(r&&i==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var c=e.domain();if(!c.length)return null;var u=nbo(c,r,l);return e.domain([Eee(u),ww(u)]),{niceTicks:u}}if(r&&i==="number"){var d=e.domain(),f=obo(d,r,l);return{niceTicks:f}}return null};function qR(t){var e=t.axis,n=t.ticks,o=t.bandSize,i=t.entry,r=t.index,a=t.dataKey;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!ra(i[e.dataKey])){var l=rJ(n,"value",i[e.dataKey]);if(l)return l.coordinate+o/2}return n[r]?n[r].coordinate+o/2:null}var s=Uu(i,ra(a)?e.dataKey:a);return ra(s)?null:e.scale(s)}var Qze=function(e){var n=e.axis,o=e.ticks,i=e.offset,r=e.bandSize,a=e.entry,l=e.index;if(n.type==="category")return o[l]?o[l].coordinate+i:null;var s=Uu(a,n.dataKey,n.domain[l]);return ra(s)?null:n.scale(s)-r/2+i},Nbo=function(e){var n=e.numericAxis,o=n.scale.domain();if(n.type==="number"){var i=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);return i<=0&&r>=0?0:r<0?r:i}return o[0]},Ubo=function(e,n){var o=e.props.stackId;if(Lu(o)){var i=n[o];if(i){var r=i.items.indexOf(e);return r>=0?i.stackedData[r]:null}}return null},Bbo=function(e){return e.reduce(function(n,o){return[Eee(o.concat([n[0]]).filter(ci)),ww(o.concat([n[1]]).filter(ci))]},[1/0,-1/0])},ilt=function(e,n,o){return Object.keys(e).reduce(function(i,r){var a=e[r],l=a.stackedData,s=l.reduce(function(c,u){var d=Bbo(u.slice(n,o+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(s[0],i[0]),Math.max(s[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},Zze=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,eDe=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Zfe=function(e,n,o){if(Aa(e))return e(n,o);if(!Array.isArray(e))return n;var i=[];if(ci(e[0]))i[0]=o?e[0]:Math.min(e[0],n[0]);else if(Zze.test(e[0])){var r=+Zze.exec(e[0])[1];i[0]=n[0]-r}else Aa(e[0])?i[0]=e[0](n[0]):i[0]=n[0];if(ci(e[1]))i[1]=o?e[1]:Math.max(e[1],n[1]);else if(eDe.test(e[1])){var a=+eDe.exec(e[1])[1];i[1]=n[1]+a}else Aa(e[1])?i[1]=e[1](n[1]):i[1]=n[1];return i},MJ=function(e,n,o){if(e&&e.scale&&e.scale.bandwidth){var i=e.scale.bandwidth();if(!o||i>0)return i}if(e&&n&&n.length>=2){for(var r=Z9e(n,function(d){return d.coordinate}),a=1/0,l=1,s=r.length;la&&(c=2*Math.PI-c),{radius:l,angle:_bo(c),angleInRadian:c}},Xbo=function(e){var n=e.startAngle,o=e.endAngle,i=Math.floor(n/360),r=Math.floor(o/360),a=Math.min(i,r);return{startAngle:n-a*360,endAngle:o-a*360}},Jbo=function(e,n){var o=n.startAngle,i=n.endAngle,r=Math.floor(o/360),a=Math.floor(i/360),l=Math.min(r,a);return e+l*360},iDe=function(e,n){var o=e.x,i=e.y,r=Gbo({x:o,y:i},n),a=r.radius,l=r.angle,s=n.innerRadius,c=n.outerRadius;if(ac)return!1;if(a===0)return!0;var u=Xbo(n),d=u.startAngle,f=u.endAngle,p=l,g;if(d<=f){for(;p>f;)p-=360;for(;p=d&&p<=f}else{for(;p>d;)p-=360;for(;p=f&&p<=d}return g?oDe(oDe({},n),{},{radius:a,angle:Jbo(p,n)}):null};function iL(t){"@babel/helpers - typeof";return iL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iL(t)}var Kbo=["offset"];function qbo(t){return eSo(t)||Zbo(t)||Qbo(t)||$bo()}function $bo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qbo(t,e){if(t){if(typeof t=="string")return ehe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ehe(t,e)}}function Zbo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function eSo(t){if(Array.isArray(t))return ehe(t)}function ehe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function nSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function rDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Cu(t){for(var e=1;e=0?1:-1,P,v;i==="insideStart"?(P=p+C*a,v=A):i==="insideEnd"?(P=g-C*a,v=!A):i==="end"&&(P=g+C*a,v=A),v=b<=0?v:!v;var T=af(c,u,w,P),y=af(c,u,w,P+(v?1:-1)*359),S="M".concat(T.x,",").concat(T.y,` + height and width.`,L,E,a,s,u,d,n);var U=!Array.isArray(p)&&mfe.isElement(p)&&D6(p.type).endsWith("Chart");return be.Children.map(p,function(F){return mfe.isElement(F)?m.cloneElement(F,LO({width:L,height:E},U?{style:LO({height:"100%",width:"100%",maxHeight:E,maxWidth:L},F.props.style)}:{})):F})},[n,p,s,f,d,u,R,a]);return be.createElement("div",{id:w?"".concat(w):void 0,className:cl("recharts-responsive-container",b),style:LO(LO({},v),{},{width:a,height:s,minWidth:u,minHeight:d,maxHeight:f}),ref:T},k)}),t3e=function(e){return null};t3e.displayName="Cell";function VF(t){"@babel/helpers - typeof";return VF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VF(t)}function GIe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Nfe(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||k2.isSsr)return{width:0,height:0};var o=a7o(n),i=JSON.stringify({text:e,copyStyle:o});if(_T.widthCache[i])return _T.widthCache[i];try{var r=document.getElementById(XIe);r||(r=document.createElement("span"),r.setAttribute("id",XIe),r.setAttribute("aria-hidden","true"),document.body.appendChild(r));var a=Nfe(Nfe({},r7o),o);Object.assign(r.style,a),r.textContent="".concat(e);var l=r.getBoundingClientRect(),s={width:l.width,height:l.height};return _T.widthCache[i]=s,++_T.cacheCount>i7o&&(_T.cacheCount=0,_T.widthCache={}),s}catch{return{width:0,height:0}}},l7o=function(e){return{top:e.top+window.scrollY-document.documentElement.clientTop,left:e.left+window.scrollX-document.documentElement.clientLeft}};function GF(t){"@babel/helpers - typeof";return GF=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},GF(t)}function mJ(t,e){return d7o(t)||u7o(t,e)||c7o(t,e)||s7o()}function s7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c7o(t,e){if(t){if(typeof t=="string")return JIe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return JIe(t,e)}}function JIe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function P7o(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function eze(t,e){return M7o(t)||H7o(t,e)||R7o(t,e)||C7o()}function C7o(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R7o(t,e){if(t){if(typeof t=="string")return tze(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tze(t,e)}}function tze(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:[];return L.reduce(function(E,U){var F=U.word,B=U.width,_=E[E.length-1];if(_&&(i==null||r||_.width+B+oU.width?E:U})};if(!u)return p;for(var A="…",w=function(L){var E=d.slice(0,L),U=iat({breakAll:c,style:s,children:E+A}).wordsWithComputedWidth,F=f(U),B=F.length>a||g(F).width>Number(i);return[B,F]},b=0,C=d.length-1,P=0,v;b<=C&&P<=d.length-1;){var T=Math.floor((b+C)/2),y=T-1,S=w(y),x=eze(S,2),R=x[0],H=x[1],D=w(T),k=eze(D,1),W=k[0];if(!R&&!W&&(b=T+1),R&&W&&(C=T-1),!R&&W){v=H;break}P++}return v||p},nze=function(e){var n=ra(e)?[]:e.toString().split(oat);return[{words:n}]},z7o=function(e){var n=e.width,o=e.scaleToFit,i=e.children,r=e.style,a=e.breakAll,l=e.maxLines;if((n||o)&&!k2.isSsr){var s,c,u=iat({breakAll:a,children:i,style:r});if(u){var d=u.wordsWithComputedWidth,f=u.spaceWidth;s=d,c=f}else return nze(i);return I7o({breakAll:a,children:i,maxLines:l,style:r},s,c,n,o)}return nze(i)},oze="#808080",yJ=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.lineHeight,l=a===void 0?"1em":a,s=e.capHeight,c=s===void 0?"0.71em":s,u=e.scaleToFit,d=u===void 0?!1:u,f=e.textAnchor,p=f===void 0?"start":f,g=e.verticalAnchor,A=g===void 0?"end":g,w=e.fill,b=w===void 0?oze:w,C=ZIe(e,S7o),P=m.useMemo(function(){return z7o({breakAll:C.breakAll,children:C.children,maxLines:C.maxLines,scaleToFit:d,style:C.style,width:C.width})},[C.breakAll,C.children,C.maxLines,d,C.style,C.width]),v=C.dx,T=C.dy,y=C.angle,S=C.className,x=C.breakAll,R=ZIe(C,T7o);if(!Lu(o)||!Lu(r))return null;var H=o+(ci(v)?v:0),D=r+(ci(T)?T:0),k;switch(A){case"start":k=_ae("calc(".concat(c,")"));break;case"middle":k=_ae("calc(".concat((P.length-1)/2," * -").concat(l," + (").concat(c," / 2))"));break;default:k=_ae("calc(".concat(P.length-1," * -").concat(l,")"));break}var W=[];if(d){var N=P[0].width,L=C.width;W.push("scale(".concat((ci(L)?L/N:1)/N,")"))}return y&&W.push("rotate(".concat(y,", ").concat(H,", ").concat(D,")")),W.length&&(R.transform=W.join(" ")),be.createElement("text",Ufe({},oa(R,!0),{x:H,y:D,className:cl("recharts-text",S),textAnchor:p,fill:b.includes("url")?oze:b}),P.map(function(E,U){var F=E.words.join(x?"":" ");return be.createElement("tspan",{x:H,dy:U===0?k:l,key:F},F)}))};function Yw(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function D7o(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function n3e(t){let e,n,o;t.length!==2?(e=Yw,n=(l,s)=>Yw(t(l),s),o=(l,s)=>t(l)-s):(e=t===Yw||t===D7o?t:E7o,n=t,o=t);function i(l,s,c=0,u=l.length){if(c>>1;n(l[d],s)<0?c=d+1:u=d}while(c>>1;n(l[d],s)<=0?c=d+1:u=d}while(cc&&o(l[d-1],s)>-o(l[d],s)?d-1:d}return{left:i,center:a,right:r}}function E7o(){return 0}function rat(t){return t===null?NaN:+t}function*k7o(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const F7o=n3e(Yw),XN=F7o.right;n3e(rat).center;class ize extends Map{constructor(e,n=N7o){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[o,i]of e)this.set(o,i)}get(e){return super.get(rze(this,e))}has(e){return super.has(rze(this,e))}set(e,n){return super.set(L7o(this,e),n)}delete(e){return super.delete(W7o(this,e))}}function rze({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):n}function L7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)?t.get(o):(t.set(o,n),n)}function W7o({_intern:t,_key:e},n){const o=e(n);return t.has(o)&&(n=t.get(o),t.delete(o)),n}function N7o(t){return t!==null&&typeof t=="object"?t.valueOf():t}function U7o(t=Yw){if(t===Yw)return aat;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const o=t(e,n);return o||o===0?o:(t(n,n)===0)-(t(e,e)===0)}}function aat(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const B7o=Math.sqrt(50),j7o=Math.sqrt(10),Y7o=Math.sqrt(2);function AJ(t,e,n){const o=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(o)),r=o/Math.pow(10,i),a=r>=B7o?10:r>=j7o?5:r>=Y7o?2:1;let l,s,c;return i<0?(c=Math.pow(10,-i)/a,l=Math.round(t*c),s=Math.round(e*c),l/ce&&--s,c=-c):(c=Math.pow(10,i)*a,l=Math.round(t/c),s=Math.round(e/c),l*ce&&--s),s0))return[];if(t===e)return[t];const o=e=i))return[];const l=r-i+1,s=new Array(l);if(o)if(a<0)for(let c=0;c=o)&&(n=o);return n}function lze(t,e){let n;for(const o of t)o!=null&&(n>o||n===void 0&&o>=o)&&(n=o);return n}function lat(t,e,n=0,o=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),o=Math.floor(Math.min(t.length-1,o)),!(n<=e&&e<=o))return t;for(i=i===void 0?aat:U7o(i);o>n;){if(o-n>600){const s=o-n+1,c=e-n+1,u=Math.log(s),d=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*d*(s-d)/s)*(c-s/2<0?-1:1),p=Math.max(n,Math.floor(e-c*d/s+f)),g=Math.min(o,Math.floor(e+(s-c)*d/s+f));lat(t,e,p,g,i)}const r=t[e];let a=n,l=o;for(qz(t,n,e),i(t[o],r)>0&&qz(t,n,o);a0;)--l}i(t[n],r)===0?qz(t,n,l):(++l,qz(t,l,o)),l<=e&&(n=l+1),e<=l&&(o=l-1)}return t}function qz(t,e,n){const o=t[e];t[e]=t[n],t[n]=o}function O7o(t,e,n){if(t=Float64Array.from(k7o(t)),!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return lze(t);if(e>=1)return aze(t);var o,i=(o-1)*e,r=Math.floor(i),a=aze(lat(t,r).subarray(0,r+1)),l=lze(t.subarray(r+1));return a+(l-a)*(i-r)}}function _7o(t,e,n=rat){if(!(!(o=t.length)||isNaN(e=+e))){if(e<=0||o<2)return+n(t[0],0,t);if(e>=1)return+n(t[o-1],o-1,t);var o,i=(o-1)*e,r=Math.floor(i),a=+n(t[r],r,t),l=+n(t[r+1],r+1,t);return a+(l-a)*(i-r)}}function V7o(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var o=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,r=new Array(i);++o>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?NO(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?NO(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=X7o.exec(t))?new Op(e[1],e[2],e[3],1):(e=J7o.exec(t))?new Op(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=K7o.exec(t))?NO(e[1],e[2],e[3],e[4]):(e=q7o.exec(t))?NO(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=$7o.exec(t))?pze(e[1],e[2]/100,e[3]/100,1):(e=Q7o.exec(t))?pze(e[1],e[2]/100,e[3]/100,e[4]):sze.hasOwnProperty(t)?dze(sze[t]):t==="transparent"?new Op(NaN,NaN,NaN,0):null}function dze(t){return new Op(t>>16&255,t>>8&255,t&255,1)}function NO(t,e,n,o){return o<=0&&(t=e=n=NaN),new Op(t,e,n,o)}function t8o(t){return t instanceof JN||(t=qF(t)),t?(t=t.rgb(),new Op(t.r,t.g,t.b,t.opacity)):new Op}function _fe(t,e,n,o){return arguments.length===1?t8o(t):new Op(t,e,n,o??1)}function Op(t,e,n,o){this.r=+t,this.g=+e,this.b=+n,this.opacity=+o}o3e(Op,_fe,cat(JN,{brighter(t){return t=t==null?wJ:Math.pow(wJ,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new Op(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Op(Px(this.r),Px(this.g),Px(this.b),vJ(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:fze,formatHex:fze,formatHex8:n8o,formatRgb:hze,toString:hze}));function fze(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}`}function n8o(){return`#${Jv(this.r)}${Jv(this.g)}${Jv(this.b)}${Jv((isNaN(this.opacity)?1:this.opacity)*255)}`}function hze(){const t=vJ(this.opacity);return`${t===1?"rgb(":"rgba("}${Px(this.r)}, ${Px(this.g)}, ${Px(this.b)}${t===1?")":`, ${t})`}`}function vJ(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Px(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Jv(t){return t=Px(t),(t<16?"0":"")+t.toString(16)}function pze(t,e,n,o){return o<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new h2(t,e,n,o)}function uat(t){if(t instanceof h2)return new h2(t.h,t.s,t.l,t.opacity);if(t instanceof JN||(t=qF(t)),!t)return new h2;if(t instanceof h2)return t;t=t.rgb();var e=t.r/255,n=t.g/255,o=t.b/255,i=Math.min(e,n,o),r=Math.max(e,n,o),a=NaN,l=r-i,s=(r+i)/2;return l?(e===r?a=(n-o)/l+(n0&&s<1?0:a,new h2(a,l,s,t.opacity)}function o8o(t,e,n,o){return arguments.length===1?uat(t):new h2(t,e,n,o??1)}function h2(t,e,n,o){this.h=+t,this.s=+e,this.l=+n,this.opacity=+o}o3e(h2,o8o,cat(JN,{brighter(t){return t=t==null?wJ:Math.pow(wJ,t),new h2(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?JF:Math.pow(JF,t),new h2(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*e,i=2*n-o;return new Op(Vae(t>=240?t-240:t+120,i,o),Vae(t,i,o),Vae(t<120?t+240:t-120,i,o),this.opacity)},clamp(){return new h2(gze(this.h),UO(this.s),UO(this.l),vJ(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=vJ(this.opacity);return`${t===1?"hsl(":"hsla("}${gze(this.h)}, ${UO(this.s)*100}%, ${UO(this.l)*100}%${t===1?")":`, ${t})`}`}}));function gze(t){return t=(t||0)%360,t<0?t+360:t}function UO(t){return Math.max(0,Math.min(1,t||0))}function Vae(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const i3e=t=>()=>t;function i8o(t,e){return function(n){return t+n*e}}function r8o(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(o){return Math.pow(t+o*e,n)}}function a8o(t){return(t=+t)==1?dat:function(e,n){return n-e?r8o(e,n,t):i3e(isNaN(e)?n:e)}}function dat(t,e){var n=e-t;return n?i8o(t,n):i3e(isNaN(t)?e:t)}const mze=function t(e){var n=a8o(e);function o(i,r){var a=n((i=_fe(i)).r,(r=_fe(r)).r),l=n(i.g,r.g),s=n(i.b,r.b),c=dat(i.opacity,r.opacity);return function(u){return i.r=a(u),i.g=l(u),i.b=s(u),i.opacity=c(u),i+""}}return o.gamma=t,o}(1);function l8o(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,o=e.slice(),i;return function(r){for(i=0;in&&(r=e.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(o=o[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,s.push({i:a,x:xJ(o,i)})),n=Gae.lastIndex;return ne&&(n=t,t=e,e=n),function(o){return Math.max(t,Math.min(e,o))}}function A8o(t,e,n){var o=t[0],i=t[1],r=e[0],a=e[1];return i2?w8o:A8o,s=c=null,d}function d(f){return f==null||isNaN(f=+f)?r:(s||(s=l(t.map(o),e,n)))(o(a(f)))}return d.invert=function(f){return a(i((c||(c=l(e,t.map(o),xJ)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,bJ),u()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),u()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=r3e,u()},d.clamp=function(f){return arguments.length?(a=f?!0:rp,u()):a!==rp},d.interpolate=function(f){return arguments.length?(n=f,u()):n},d.unknown=function(f){return arguments.length?(r=f,d):r},function(f,p){return o=f,i=p,u()}}function a3e(){return Ree()(rp,rp)}function v8o(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function SJ(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,o=t.slice(0,n);return[o.length>1?o[0]+o.slice(2):o,+t.slice(n+1)]}function XR(t){return t=SJ(Math.abs(t)),t?t[1]:NaN}function x8o(t,e){return function(n,o){for(var i=n.length,r=[],a=0,l=t[0],s=0;i>0&&l>0&&(s+l+1>o&&(l=Math.max(1,o-s)),r.push(n.substring(i-=l,i+l)),!((s+=l+1)>o));)l=t[a=(a+1)%t.length];return r.reverse().join(e)}}function b8o(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var S8o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $F(t){if(!(e=S8o.exec(t)))throw new Error("invalid format: "+t);var e;return new l3e({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}$F.prototype=l3e.prototype;function l3e(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}l3e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function T8o(t){e:for(var e=t.length,n=1,o=-1,i;n0&&(o=0);break}return o>0?t.slice(0,o)+t.slice(i+1):t}var fat;function P8o(t,e){var n=SJ(t,e);if(!n)return t+"";var o=n[0],i=n[1],r=i-(fat=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=o.length;return r===a?o:r>a?o+new Array(r-a+1).join("0"):r>0?o.slice(0,r)+"."+o.slice(r):"0."+new Array(1-r).join("0")+SJ(t,Math.max(0,e+r-1))[0]}function Aze(t,e){var n=SJ(t,e);if(!n)return t+"";var o=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+o:o.length>i+1?o.slice(0,i+1)+"."+o.slice(i+1):o+new Array(i-o.length+2).join("0")}const wze={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:v8o,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Aze(t*100,e),r:Aze,s:P8o,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function vze(t){return t}var xze=Array.prototype.map,bze=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function C8o(t){var e=t.grouping===void 0||t.thousands===void 0?vze:x8o(xze.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",o=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",r=t.numerals===void 0?vze:b8o(xze.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",s=t.nan===void 0?"NaN":t.nan+"";function c(d){d=$F(d);var f=d.fill,p=d.align,g=d.sign,A=d.symbol,w=d.zero,b=d.width,C=d.comma,P=d.precision,v=d.trim,T=d.type;T==="n"?(C=!0,T="g"):wze[T]||(P===void 0&&(P=12),v=!0,T="g"),(w||f==="0"&&p==="=")&&(w=!0,f="0",p="=");var y=A==="$"?n:A==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",S=A==="$"?o:/[%p]/.test(T)?a:"",x=wze[T],R=/[defgprs%]/.test(T);P=P===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,P)):Math.max(0,Math.min(20,P));function H(D){var k=y,W=S,N,L,E;if(T==="c")W=x(D)+W,D="";else{D=+D;var U=D<0||1/D<0;if(D=isNaN(D)?s:x(Math.abs(D),P),v&&(D=T8o(D)),U&&+D==0&&g!=="+"&&(U=!1),k=(U?g==="("?g:l:g==="-"||g==="("?"":g)+k,W=(T==="s"?bze[8+fat/3]:"")+W+(U&&g==="("?")":""),R){for(N=-1,L=D.length;++NE||E>57){W=(E===46?i+D.slice(N+1):D.slice(N))+W,D=D.slice(0,N);break}}}C&&!w&&(D=e(D,1/0));var F=k.length+D.length+W.length,B=F>1)+k+D+W+B.slice(F);break;default:D=B+k+D+W;break}return r(D)}return H.toString=function(){return d+""},H}function u(d,f){var p=c((d=$F(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(XR(f)/3)))*3,A=Math.pow(10,-g),w=bze[8+g/3];return function(b){return p(A*b)+w}}return{format:c,formatPrefix:u}}var BO,s3e,hat;R8o({thousands:",",grouping:[3],currency:["$",""]});function R8o(t){return BO=C8o(t),s3e=BO.format,hat=BO.formatPrefix,BO}function H8o(t){return Math.max(0,-XR(Math.abs(t)))}function M8o(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(XR(e)/3)))*3-XR(Math.abs(t)))}function I8o(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,XR(e)-XR(t))+1}function pat(t,e,n,o){var i=Yfe(t,e,n),r;switch(o=$F(o??",f"),o.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return o.precision==null&&!isNaN(r=M8o(i,a))&&(o.precision=r),hat(o,a)}case"":case"e":case"g":case"p":case"r":{o.precision==null&&!isNaN(r=I8o(i,Math.max(Math.abs(t),Math.abs(e))))&&(o.precision=r-(o.type==="e"));break}case"f":case"%":{o.precision==null&&!isNaN(r=H8o(i))&&(o.precision=r-(o.type==="%")*2);break}}return s3e(o)}function J7(t){var e=t.domain;return t.ticks=function(n){var o=e();return Bfe(o[0],o[o.length-1],n??10)},t.tickFormat=function(n,o){var i=e();return pat(i[0],i[i.length-1],n??10,o)},t.nice=function(n){n==null&&(n=10);var o=e(),i=0,r=o.length-1,a=o[i],l=o[r],s,c,u=10;for(l0;){if(c=jfe(a,l,n),c===s)return o[i]=a,o[r]=l,e(o);if(c>0)a=Math.floor(a/c)*c,l=Math.ceil(l/c)*c;else if(c<0)a=Math.ceil(a*c)/c,l=Math.floor(l*c)/c;else break;s=c}return t},t}function QF(){var t=a3e();return t.copy=function(){return KN(t,QF())},sy.apply(t,arguments),J7(t)}function gat(t){var e;function n(o){return o==null||isNaN(o=+o)?e:o}return n.invert=n,n.domain=n.range=function(o){return arguments.length?(t=Array.from(o,bJ),n):t.slice()},n.unknown=function(o){return arguments.length?(e=o,n):e},n.copy=function(){return gat(t).unknown(e)},t=arguments.length?Array.from(t,bJ):[0,1],J7(n)}function mat(t,e){t=t.slice();var n=0,o=t.length-1,i=t[n],r=t[o],a;return rMath.pow(t,e)}function F8o(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Pze(t){return(e,n)=>-t(-e,n)}function c3e(t){const e=t(Sze,Tze),n=e.domain;let o=10,i,r;function a(){return i=F8o(o),r=k8o(o),n()[0]<0?(i=Pze(i),r=Pze(r),t(z8o,D8o)):t(Sze,Tze),e}return e.base=function(l){return arguments.length?(o=+l,a()):o},e.domain=function(l){return arguments.length?(n(l),a()):n()},e.ticks=l=>{const s=n();let c=s[0],u=s[s.length-1];const d=u0){for(;f<=p;++f)for(g=1;gu)break;b.push(A)}}else for(;f<=p;++f)for(g=o-1;g>=1;--g)if(A=f>0?g/r(-f):g*r(f),!(Au)break;b.push(A)}b.length*2{if(l==null&&(l=10),s==null&&(s=o===10?"s":","),typeof s!="function"&&(!(o%1)&&(s=$F(s)).precision==null&&(s.trim=!0),s=s3e(s)),l===1/0)return s;const c=Math.max(1,o*l/e.ticks().length);return u=>{let d=u/r(Math.round(i(u)));return d*on(mat(n(),{floor:l=>r(Math.floor(i(l))),ceil:l=>r(Math.ceil(i(l)))})),e}function yat(){const t=c3e(Ree()).domain([1,10]);return t.copy=()=>KN(t,yat()).base(t.base()),sy.apply(t,arguments),t}function Cze(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Rze(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function u3e(t){var e=1,n=t(Cze(e),Rze(e));return n.constant=function(o){return arguments.length?t(Cze(e=+o),Rze(e)):e},J7(n)}function Aat(){var t=u3e(Ree());return t.copy=function(){return KN(t,Aat()).constant(t.constant())},sy.apply(t,arguments)}function Hze(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function L8o(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function W8o(t){return t<0?-t*t:t*t}function d3e(t){var e=t(rp,rp),n=1;function o(){return n===1?t(rp,rp):n===.5?t(L8o,W8o):t(Hze(n),Hze(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,o()):n},J7(e)}function f3e(){var t=d3e(Ree());return t.copy=function(){return KN(t,f3e()).exponent(t.exponent())},sy.apply(t,arguments),t}function N8o(){return f3e.apply(null,arguments).exponent(.5)}function Mze(t){return Math.sign(t)*t*t}function U8o(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function wat(){var t=a3e(),e=[0,1],n=!1,o;function i(r){var a=U8o(t(r));return isNaN(a)?o:n?Math.round(a):a}return i.invert=function(r){return t.invert(Mze(r))},i.domain=function(r){return arguments.length?(t.domain(r),i):t.domain()},i.range=function(r){return arguments.length?(t.range((e=Array.from(r,bJ)).map(Mze)),i):e.slice()},i.rangeRound=function(r){return i.range(r).round(!0)},i.round=function(r){return arguments.length?(n=!!r,i):n},i.clamp=function(r){return arguments.length?(t.clamp(r),i):t.clamp()},i.unknown=function(r){return arguments.length?(o=r,i):o},i.copy=function(){return wat(t.domain(),e).round(n).clamp(t.clamp()).unknown(o)},sy.apply(i,arguments),J7(i)}function vat(){var t=[],e=[],n=[],o;function i(){var a=0,l=Math.max(1,e.length);for(n=new Array(l-1);++a0?n[l-1]:t[0],l=n?[o[n-1],e]:[o[c-1],o[c]]},a.unknown=function(s){return arguments.length&&(r=s),a},a.thresholds=function(){return o.slice()},a.copy=function(){return xat().domain([t,e]).range(i).unknown(r)},sy.apply(J7(a),arguments)}function bat(){var t=[.5],e=[0,1],n,o=1;function i(r){return r!=null&&r<=r?e[XN(t,r,0,o)]:n}return i.domain=function(r){return arguments.length?(t=Array.from(r),o=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(r){return arguments.length?(e=Array.from(r),o=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(r){var a=e.indexOf(r);return[t[a-1],t[a]]},i.unknown=function(r){return arguments.length?(n=r,i):n},i.copy=function(){return bat().domain(t).range(e).unknown(n)},sy.apply(i,arguments)}const Xae=new Date,Jae=new Date;function Gu(t,e,n,o){function i(r){return t(r=arguments.length===0?new Date:new Date(+r)),r}return i.floor=r=>(t(r=new Date(+r)),r),i.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),i.round=r=>{const a=i(r),l=i.ceil(r);return r-a(e(r=new Date(+r),a==null?1:Math.floor(a)),r),i.range=(r,a,l)=>{const s=[];if(r=i.ceil(r),l=l==null?1:Math.floor(l),!(r0))return s;let c;do s.push(c=new Date(+r)),e(r,l),t(r);while(cGu(a=>{if(a>=a)for(;t(a),!r(a);)a.setTime(a-1)},(a,l)=>{if(a>=a)if(l<0)for(;++l<=0;)for(;e(a,-1),!r(a););else for(;--l>=0;)for(;e(a,1),!r(a););}),n&&(i.count=(r,a)=>(Xae.setTime(+r),Jae.setTime(+a),t(Xae),t(Jae),Math.floor(n(Xae,Jae))),i.every=r=>(r=Math.floor(r),!isFinite(r)||!(r>0)?null:r>1?i.filter(o?a=>o(a)%r===0:a=>i.count(0,a)%r===0):i)),i}const TJ=Gu(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);TJ.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Gu(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):TJ);TJ.range;const w6=1e3,Um=w6*60,v6=Um*60,eA=v6*24,h3e=eA*7,Ize=eA*30,Kae=eA*365,Kv=Gu(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*w6)},(t,e)=>(e-t)/w6,t=>t.getUTCSeconds());Kv.range;const p3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6)},(t,e)=>{t.setTime(+t+e*Um)},(t,e)=>(e-t)/Um,t=>t.getMinutes());p3e.range;const g3e=Gu(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Um)},(t,e)=>(e-t)/Um,t=>t.getUTCMinutes());g3e.range;const m3e=Gu(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*w6-t.getMinutes()*Um)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getHours());m3e.range;const y3e=Gu(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*v6)},(t,e)=>(e-t)/v6,t=>t.getUTCHours());y3e.range;const qN=Gu(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Um)/eA,t=>t.getDate()-1);qN.range;const Hee=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>t.getUTCDate()-1);Hee.range;const Sat=Gu(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eA,t=>Math.floor(t/eA));Sat.range;function iS(t){return Gu(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Um)/h3e)}const Mee=iS(0),PJ=iS(1),B8o=iS(2),j8o=iS(3),JR=iS(4),Y8o=iS(5),O8o=iS(6);Mee.range;PJ.range;B8o.range;j8o.range;JR.range;Y8o.range;O8o.range;function rS(t){return Gu(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/h3e)}const Iee=rS(0),CJ=rS(1),_8o=rS(2),V8o=rS(3),KR=rS(4),G8o=rS(5),X8o=rS(6);Iee.range;CJ.range;_8o.range;V8o.range;KR.range;G8o.range;X8o.range;const A3e=Gu(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());A3e.range;const w3e=Gu(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());w3e.range;const tA=Gu(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());tA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});tA.range;const nA=Gu(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());nA.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Gu(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});nA.range;function Tat(t,e,n,o,i,r){const a=[[Kv,1,w6],[Kv,5,5*w6],[Kv,15,15*w6],[Kv,30,30*w6],[r,1,Um],[r,5,5*Um],[r,15,15*Um],[r,30,30*Um],[i,1,v6],[i,3,3*v6],[i,6,6*v6],[i,12,12*v6],[o,1,eA],[o,2,2*eA],[n,1,h3e],[e,1,Ize],[e,3,3*Ize],[t,1,Kae]];function l(c,u,d){const f=uw).right(a,f);if(p===a.length)return t.every(Yfe(c/Kae,u/Kae,d));if(p===0)return TJ.every(Math.max(Yfe(c,u,d),1));const[g,A]=a[f/a[p-1][2]53)return null;"w"in te||(te.w=1),"Z"in te?(pe=$ae($z(te.y,0,1)),fe=pe.getUTCDay(),pe=fe>4||fe===0?CJ.ceil(pe):CJ(pe),pe=Hee.offset(pe,(te.V-1)*7),te.y=pe.getUTCFullYear(),te.m=pe.getUTCMonth(),te.d=pe.getUTCDate()+(te.w+6)%7):(pe=qae($z(te.y,0,1)),fe=pe.getDay(),pe=fe>4||fe===0?PJ.ceil(pe):PJ(pe),pe=qN.offset(pe,(te.V-1)*7),te.y=pe.getFullYear(),te.m=pe.getMonth(),te.d=pe.getDate()+(te.w+6)%7)}else("W"in te||"U"in te)&&("w"in te||(te.w="u"in te?te.u%7:"W"in te?1:0),fe="Z"in te?$ae($z(te.y,0,1)).getUTCDay():qae($z(te.y,0,1)).getDay(),te.m=0,te.d="W"in te?(te.w+6)%7+te.W*7-(fe+5)%7:te.w+te.U*7-(fe+6)%7);return"Z"in te?(te.H+=te.Z/100|0,te.M+=te.Z%100,$ae(te)):qae(te)}}function x(ne,se,le,te){for(var he=0,pe=se.length,fe=le.length,$,de;he=fe)return-1;if($=se.charCodeAt(he++),$===37){if($=se.charAt(he++),de=T[$ in zze?se.charAt(he++):$],!de||(te=de(ne,le,te))<0)return-1}else if($!=le.charCodeAt(te++))return-1}return te}function R(ne,se,le){var te=c.exec(se.slice(le));return te?(ne.p=u.get(te[0].toLowerCase()),le+te[0].length):-1}function H(ne,se,le){var te=p.exec(se.slice(le));return te?(ne.w=g.get(te[0].toLowerCase()),le+te[0].length):-1}function D(ne,se,le){var te=d.exec(se.slice(le));return te?(ne.w=f.get(te[0].toLowerCase()),le+te[0].length):-1}function k(ne,se,le){var te=b.exec(se.slice(le));return te?(ne.m=C.get(te[0].toLowerCase()),le+te[0].length):-1}function W(ne,se,le){var te=A.exec(se.slice(le));return te?(ne.m=w.get(te[0].toLowerCase()),le+te[0].length):-1}function N(ne,se,le){return x(ne,e,se,le)}function L(ne,se,le){return x(ne,n,se,le)}function E(ne,se,le){return x(ne,o,se,le)}function U(ne){return a[ne.getDay()]}function F(ne){return r[ne.getDay()]}function B(ne){return s[ne.getMonth()]}function _(ne){return l[ne.getMonth()]}function Y(ne){return i[+(ne.getHours()>=12)]}function O(ne){return 1+~~(ne.getMonth()/3)}function J(ne){return a[ne.getUTCDay()]}function Z(ne){return r[ne.getUTCDay()]}function ie(ne){return s[ne.getUTCMonth()]}function ee(ne){return l[ne.getUTCMonth()]}function q(ne){return i[+(ne.getUTCHours()>=12)]}function ae(ne){return 1+~~(ne.getUTCMonth()/3)}return{format:function(ne){var se=y(ne+="",P);return se.toString=function(){return ne},se},parse:function(ne){var se=S(ne+="",!1);return se.toString=function(){return ne},se},utcFormat:function(ne){var se=y(ne+="",v);return se.toString=function(){return ne},se},utcParse:function(ne){var se=S(ne+="",!0);return se.toString=function(){return ne},se}}}var zze={"-":"",_:" ",0:"0"},Dd=/^\s*\d+/,Z8o=/^%/,evo=/[\\^$*+?|[\]().{}]/g;function kl(t,e,n){var o=t<0?"-":"",i=(o?-t:t)+"",r=i.length;return o+(r[e.toLowerCase(),n]))}function nvo(t,e,n){var o=Dd.exec(e.slice(n,n+1));return o?(t.w=+o[0],n+o[0].length):-1}function ovo(t,e,n){var o=Dd.exec(e.slice(n,n+1));return o?(t.u=+o[0],n+o[0].length):-1}function ivo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.U=+o[0],n+o[0].length):-1}function rvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.V=+o[0],n+o[0].length):-1}function avo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.W=+o[0],n+o[0].length):-1}function Dze(t,e,n){var o=Dd.exec(e.slice(n,n+4));return o?(t.y=+o[0],n+o[0].length):-1}function Eze(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.y=+o[0]+(+o[0]>68?1900:2e3),n+o[0].length):-1}function lvo(t,e,n){var o=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return o?(t.Z=o[1]?0:-(o[2]+(o[3]||"00")),n+o[0].length):-1}function svo(t,e,n){var o=Dd.exec(e.slice(n,n+1));return o?(t.q=o[0]*3-3,n+o[0].length):-1}function cvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.m=o[0]-1,n+o[0].length):-1}function kze(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.d=+o[0],n+o[0].length):-1}function uvo(t,e,n){var o=Dd.exec(e.slice(n,n+3));return o?(t.m=0,t.d=+o[0],n+o[0].length):-1}function Fze(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.H=+o[0],n+o[0].length):-1}function dvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.M=+o[0],n+o[0].length):-1}function fvo(t,e,n){var o=Dd.exec(e.slice(n,n+2));return o?(t.S=+o[0],n+o[0].length):-1}function hvo(t,e,n){var o=Dd.exec(e.slice(n,n+3));return o?(t.L=+o[0],n+o[0].length):-1}function pvo(t,e,n){var o=Dd.exec(e.slice(n,n+6));return o?(t.L=Math.floor(o[0]/1e3),n+o[0].length):-1}function gvo(t,e,n){var o=Z8o.exec(e.slice(n,n+1));return o?n+o[0].length:-1}function mvo(t,e,n){var o=Dd.exec(e.slice(n));return o?(t.Q=+o[0],n+o[0].length):-1}function yvo(t,e,n){var o=Dd.exec(e.slice(n));return o?(t.s=+o[0],n+o[0].length):-1}function Lze(t,e){return kl(t.getDate(),e,2)}function Avo(t,e){return kl(t.getHours(),e,2)}function wvo(t,e){return kl(t.getHours()%12||12,e,2)}function vvo(t,e){return kl(1+qN.count(tA(t),t),e,3)}function Pat(t,e){return kl(t.getMilliseconds(),e,3)}function xvo(t,e){return Pat(t,e)+"000"}function bvo(t,e){return kl(t.getMonth()+1,e,2)}function Svo(t,e){return kl(t.getMinutes(),e,2)}function Tvo(t,e){return kl(t.getSeconds(),e,2)}function Pvo(t){var e=t.getDay();return e===0?7:e}function Cvo(t,e){return kl(Mee.count(tA(t)-1,t),e,2)}function Cat(t){var e=t.getDay();return e>=4||e===0?JR(t):JR.ceil(t)}function Rvo(t,e){return t=Cat(t),kl(JR.count(tA(t),t)+(tA(t).getDay()===4),e,2)}function Hvo(t){return t.getDay()}function Mvo(t,e){return kl(PJ.count(tA(t)-1,t),e,2)}function Ivo(t,e){return kl(t.getFullYear()%100,e,2)}function zvo(t,e){return t=Cat(t),kl(t.getFullYear()%100,e,2)}function Dvo(t,e){return kl(t.getFullYear()%1e4,e,4)}function Evo(t,e){var n=t.getDay();return t=n>=4||n===0?JR(t):JR.ceil(t),kl(t.getFullYear()%1e4,e,4)}function kvo(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+kl(e/60|0,"0",2)+kl(e%60,"0",2)}function Wze(t,e){return kl(t.getUTCDate(),e,2)}function Fvo(t,e){return kl(t.getUTCHours(),e,2)}function Lvo(t,e){return kl(t.getUTCHours()%12||12,e,2)}function Wvo(t,e){return kl(1+Hee.count(nA(t),t),e,3)}function Rat(t,e){return kl(t.getUTCMilliseconds(),e,3)}function Nvo(t,e){return Rat(t,e)+"000"}function Uvo(t,e){return kl(t.getUTCMonth()+1,e,2)}function Bvo(t,e){return kl(t.getUTCMinutes(),e,2)}function jvo(t,e){return kl(t.getUTCSeconds(),e,2)}function Yvo(t){var e=t.getUTCDay();return e===0?7:e}function Ovo(t,e){return kl(Iee.count(nA(t)-1,t),e,2)}function Hat(t){var e=t.getUTCDay();return e>=4||e===0?KR(t):KR.ceil(t)}function _vo(t,e){return t=Hat(t),kl(KR.count(nA(t),t)+(nA(t).getUTCDay()===4),e,2)}function Vvo(t){return t.getUTCDay()}function Gvo(t,e){return kl(CJ.count(nA(t)-1,t),e,2)}function Xvo(t,e){return kl(t.getUTCFullYear()%100,e,2)}function Jvo(t,e){return t=Hat(t),kl(t.getUTCFullYear()%100,e,2)}function Kvo(t,e){return kl(t.getUTCFullYear()%1e4,e,4)}function qvo(t,e){var n=t.getUTCDay();return t=n>=4||n===0?KR(t):KR.ceil(t),kl(t.getUTCFullYear()%1e4,e,4)}function $vo(){return"+0000"}function Nze(){return"%"}function Uze(t){return+t}function Bze(t){return Math.floor(+t/1e3)}var VT,Mat,Iat;Qvo({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Qvo(t){return VT=Q8o(t),Mat=VT.format,VT.parse,Iat=VT.utcFormat,VT.utcParse,VT}function Zvo(t){return new Date(t)}function exo(t){return t instanceof Date?+t:+new Date(+t)}function v3e(t,e,n,o,i,r,a,l,s,c){var u=a3e(),d=u.invert,f=u.domain,p=c(".%L"),g=c(":%S"),A=c("%I:%M"),w=c("%I %p"),b=c("%a %d"),C=c("%b %d"),P=c("%B"),v=c("%Y");function T(y){return(s(y)e(i/(t.length-1)))},n.quantiles=function(o){return Array.from({length:o+1},(i,r)=>O7o(t,r/o))},n.copy=function(){return kat(e).domain(t)},xA.apply(n,arguments)}function Dee(){var t=0,e=.5,n=1,o=1,i,r,a,l,s,c=rp,u,d=!1,f;function p(A){return isNaN(A=+A)?f:(A=.5+((A=+u(A))-r)*(o*Ae}var sxo=lxo,cxo=Nat,uxo=sxo,dxo=Vb;function fxo(t){return t&&t.length?cxo(t,dxo,uxo):void 0}var hxo=fxo;const ww=kr(hxo);function pxo(t,e){return tt.e^r.s<0?1:-1;for(o=r.d.length,i=t.d.length,e=0,n=ot.d[e]^r.s<0?1:-1;return o===i?0:o>i^r.s<0?1:-1};Yi.decimalPlaces=Yi.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*pc;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Yi.dividedBy=Yi.div=function(t){return k6(this,new this.constructor(t))};Yi.dividedToIntegerBy=Yi.idiv=function(t){var e=this,n=e.constructor;return Cs(k6(e,new n(t),0,1),n.precision)};Yi.equals=Yi.eq=function(t){return!this.cmp(t)};Yi.exponent=function(){return su(this)};Yi.greaterThan=Yi.gt=function(t){return this.cmp(t)>0};Yi.greaterThanOrEqualTo=Yi.gte=function(t){return this.cmp(t)>=0};Yi.isInteger=Yi.isint=function(){return this.e>this.d.length-2};Yi.isNegative=Yi.isneg=function(){return this.s<0};Yi.isPositive=Yi.ispos=function(){return this.s>0};Yi.isZero=function(){return this.s===0};Yi.lessThan=Yi.lt=function(t){return this.cmp(t)<0};Yi.lessThanOrEqualTo=Yi.lte=function(t){return this.cmp(t)<1};Yi.logarithm=Yi.log=function(t){var e,n=this,o=n.constructor,i=o.precision,r=i+5;if(t===void 0)t=new o(10);else if(t=new o(t),t.s<1||t.eq(cg))throw Error(ey+"NaN");if(n.s<1)throw Error(ey+(n.s?"NaN":"-Infinity"));return n.eq(cg)?new o(0):(Oc=!1,e=k6(ZF(n,r),ZF(t,r),r),Oc=!0,Cs(e,i))};Yi.minus=Yi.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?Yat(e,t):Bat(e,(t.s=-t.s,t))};Yi.modulo=Yi.mod=function(t){var e,n=this,o=n.constructor,i=o.precision;if(t=new o(t),!t.s)throw Error(ey+"NaN");return n.s?(Oc=!1,e=k6(n,t,0,1).times(t),Oc=!0,n.minus(e)):Cs(new o(n),i)};Yi.naturalExponential=Yi.exp=function(){return jat(this)};Yi.naturalLogarithm=Yi.ln=function(){return ZF(this)};Yi.negated=Yi.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Yi.plus=Yi.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?Bat(e,t):Yat(e,(t.s=-t.s,t))};Yi.precision=Yi.sd=function(t){var e,n,o,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Cx+t);if(e=su(i)+1,o=i.d.length-1,n=o*pc+1,o=i.d[o],o){for(;o%10==0;o/=10)n--;for(o=i.d[0];o>=10;o/=10)n++}return t&&e>n?e:n};Yi.squareRoot=Yi.sqrt=function(){var t,e,n,o,i,r,a,l=this,s=l.constructor;if(l.s<1){if(!l.s)return new s(0);throw Error(ey+"NaN")}for(t=su(l),Oc=!1,i=Math.sqrt(+l),i==0||i==1/0?(e=u9(l.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=xM((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),o=new s(e)):o=new s(i.toString()),n=s.precision,i=a=n+3;;)if(r=o,o=r.plus(k6(l,r,a+2)).times(.5),u9(r.d).slice(0,a)===(e=u9(o.d)).slice(0,a)){if(e=e.slice(a-3,a+1),i==a&&e=="4999"){if(Cs(r,n+1,0),r.times(r).eq(l)){o=r;break}}else if(e!="9999")break;a+=4}return Oc=!0,Cs(o,n)};Yi.times=Yi.mul=function(t){var e,n,o,i,r,a,l,s,c,u=this,d=u.constructor,f=u.d,p=(t=new d(t)).d;if(!u.s||!t.s)return new d(0);for(t.s*=u.s,n=u.e+t.e,s=f.length,c=p.length,s=0;){for(e=0,i=s+o;i>o;)l=r[i]+p[o]*f[i-o-1]+e,r[i--]=l%gd|0,e=l/gd|0;r[i]=(r[i]+e)%gd|0}for(;!r[--a];)r.pop();return e?++n:r.shift(),t.d=r,t.e=n,Oc?Cs(t,d.precision):t};Yi.toDecimalPlaces=Yi.todp=function(t,e){var n=this,o=n.constructor;return n=new o(n),t===void 0?n:(Y9(t,0,vM),e===void 0?e=o.rounding:Y9(e,0,8),Cs(n,t+su(n)+1,e))};Yi.toExponential=function(t,e){var n,o=this,i=o.constructor;return t===void 0?n=sb(o,!0):(Y9(t,0,vM),e===void 0?e=i.rounding:Y9(e,0,8),o=Cs(new i(o),t+1,e),n=sb(o,!0,t+1)),n};Yi.toFixed=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?sb(i):(Y9(t,0,vM),e===void 0?e=r.rounding:Y9(e,0,8),o=Cs(new r(i),t+su(i)+1,e),n=sb(o.abs(),!1,t+su(o)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Yi.toInteger=Yi.toint=function(){var t=this,e=t.constructor;return Cs(new e(t),su(t)+1,e.rounding)};Yi.toNumber=function(){return+this};Yi.toPower=Yi.pow=function(t){var e,n,o,i,r,a,l=this,s=l.constructor,c=12,u=+(t=new s(t));if(!t.s)return new s(cg);if(l=new s(l),!l.s){if(t.s<1)throw Error(ey+"Infinity");return l}if(l.eq(cg))return l;if(o=s.precision,t.eq(cg))return Cs(l,o);if(e=t.e,n=t.d.length-1,a=e>=n,r=l.s,a){if((n=u<0?-u:u)<=Uat){for(i=new s(cg),e=Math.ceil(o/pc+4),Oc=!1;n%2&&(i=i.times(l),Oze(i.d,e)),n=xM(n/2),n!==0;)l=l.times(l),Oze(l.d,e);return Oc=!0,t.s<0?new s(cg).div(i):Cs(i,o)}}else if(r<0)throw Error(ey+"NaN");return r=r<0&&t.d[Math.max(e,n)]&1?-1:1,l.s=1,Oc=!1,i=t.times(ZF(l,o+c)),Oc=!0,i=jat(i),i.s=r,i};Yi.toPrecision=function(t,e){var n,o,i=this,r=i.constructor;return t===void 0?(n=su(i),o=sb(i,n<=r.toExpNeg||n>=r.toExpPos)):(Y9(t,1,vM),e===void 0?e=r.rounding:Y9(e,0,8),i=Cs(new r(i),t,e),n=su(i),o=sb(i,t<=n||n<=r.toExpNeg,t)),o};Yi.toSignificantDigits=Yi.tosd=function(t,e){var n=this,o=n.constructor;return t===void 0?(t=o.precision,e=o.rounding):(Y9(t,1,vM),e===void 0?e=o.rounding:Y9(e,0,8)),Cs(new o(n),t,e)};Yi.toString=Yi.valueOf=Yi.val=Yi.toJSON=Yi[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=su(t),n=t.constructor;return sb(t,e<=n.toExpNeg||e>=n.toExpPos)};function Bat(t,e){var n,o,i,r,a,l,s,c,u=t.constructor,d=u.precision;if(!t.s||!e.s)return e.s||(e=new u(t)),Oc?Cs(e,d):e;if(s=t.d,c=e.d,a=t.e,i=e.e,s=s.slice(),r=a-i,r){for(r<0?(o=s,r=-r,l=c.length):(o=c,i=a,l=s.length),a=Math.ceil(d/pc),l=a>l?a+1:l+1,r>l&&(r=l,o.length=1),o.reverse();r--;)o.push(0);o.reverse()}for(l=s.length,r=c.length,l-r<0&&(r=l,o=c,c=s,s=o),n=0;r;)n=(s[--r]=s[r]+c[r]+n)/gd|0,s[r]%=gd;for(n&&(s.unshift(n),++i),l=s.length;s[--l]==0;)s.pop();return e.d=s,e.e=i,Oc?Cs(e,d):e}function Y9(t,e,n){if(t!==~~t||tn)throw Error(Cx+t)}function u9(t){var e,n,o,i=t.length-1,r="",a=t[0];if(i>0){for(r+=a,e=1;ea?1:-1;else for(l=s=0;li[l]?1:-1;break}return s}function n(o,i,r){for(var a=0;r--;)o[r]-=a,a=o[r]1;)o.shift()}return function(o,i,r,a){var l,s,c,u,d,f,p,g,A,w,b,C,P,v,T,y,S,x,R=o.constructor,H=o.s==i.s?1:-1,D=o.d,k=i.d;if(!o.s)return new R(o);if(!i.s)throw Error(ey+"Division by zero");for(s=o.e-i.e,S=k.length,T=D.length,p=new R(H),g=p.d=[],c=0;k[c]==(D[c]||0);)++c;if(k[c]>(D[c]||0)&&--s,r==null?C=r=R.precision:a?C=r+(su(o)-su(i))+1:C=r,C<0)return new R(0);if(C=C/pc+2|0,c=0,S==1)for(u=0,k=k[0],C++;(c1&&(k=t(k,u),D=t(D,u),S=k.length,T=D.length),v=S,A=D.slice(0,S),w=A.length;w=gd/2&&++y;do u=0,l=e(k,A,S,w),l<0?(b=A[0],S!=w&&(b=b*gd+(A[1]||0)),u=b/y|0,u>1?(u>=gd&&(u=gd-1),d=t(k,u),f=d.length,w=A.length,l=e(d,A,f,w),l==1&&(u--,n(d,S16)throw Error(S3e+su(t));if(!t.s)return new u(cg);for(e==null?(Oc=!1,l=d):l=e,a=new u(.03125);t.abs().gte(.1);)t=t.times(a),c+=5;for(o=Math.log(pv(2,c))/Math.LN10*2+5|0,l+=o,n=i=r=new u(cg),u.precision=l;;){if(i=Cs(i.times(t),l),n=n.times(++s),a=r.plus(k6(i,n,l)),u9(a.d).slice(0,l)===u9(r.d).slice(0,l)){for(;c--;)r=Cs(r.times(r),l);return u.precision=d,e==null?(Oc=!0,Cs(r,d)):r}r=a}}function su(t){for(var e=t.e*pc,n=t.d[0];n>=10;n/=10)e++;return e}function Qae(t,e,n){if(e>t.LN10.sd())throw Oc=!0,n&&(t.precision=n),Error(ey+"LN10 precision limit exceeded");return Cs(new t(t.LN10),e)}function J4(t){for(var e="";t--;)e+="0";return e}function ZF(t,e){var n,o,i,r,a,l,s,c,u,d=1,f=10,p=t,g=p.d,A=p.constructor,w=A.precision;if(p.s<1)throw Error(ey+(p.s?"NaN":"-Infinity"));if(p.eq(cg))return new A(0);if(e==null?(Oc=!1,c=w):c=e,p.eq(10))return e==null&&(Oc=!0),Qae(A,c);if(c+=f,A.precision=c,n=u9(g),o=n.charAt(0),r=su(p),Math.abs(r)<15e14){for(;o<7&&o!=1||o==1&&n.charAt(1)>3;)p=p.times(t),n=u9(p.d),o=n.charAt(0),d++;r=su(p),o>1?(p=new A("0."+n),r++):p=new A(o+"."+n.slice(1))}else return s=Qae(A,c+2,w).times(r+""),p=ZF(new A(o+"."+n.slice(1)),c-f).plus(s),A.precision=w,e==null?(Oc=!0,Cs(p,w)):p;for(l=a=p=k6(p.minus(cg),p.plus(cg),c),u=Cs(p.times(p),c),i=3;;){if(a=Cs(a.times(u),c),s=l.plus(k6(a,new A(i),c)),u9(s.d).slice(0,c)===u9(l.d).slice(0,c))return l=l.times(2),r!==0&&(l=l.plus(Qae(A,c+2,w).times(r+""))),l=k6(l,new A(d),c),A.precision=w,e==null?(Oc=!0,Cs(l,w)):l;l=s,i+=2}}function Yze(t,e){var n,o,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(o=e.search(/e/i))>0?(n<0&&(n=o),n+=+e.slice(o+1),e=e.substring(0,o)):n<0&&(n=e.length),o=0;e.charCodeAt(o)===48;)++o;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(o,i),e){if(i-=o,n=n-o-1,t.e=xM(n/pc),t.d=[],o=(n+1)%pc,n<0&&(o+=pc),oRJ||t.e<-RJ))throw Error(S3e+n)}else t.s=0,t.e=0,t.d=[0];return t}function Cs(t,e,n){var o,i,r,a,l,s,c,u,d=t.d;for(a=1,r=d[0];r>=10;r/=10)a++;if(o=e-a,o<0)o+=pc,i=e,c=d[u=0];else{if(u=Math.ceil((o+1)/pc),r=d.length,u>=r)return t;for(c=r=d[u],a=1;r>=10;r/=10)a++;o%=pc,i=o-pc+a}if(n!==void 0&&(r=pv(10,a-i-1),l=c/r%10|0,s=e<0||d[u+1]!==void 0||c%r,s=n<4?(l||s)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||s||n==6&&(o>0?i>0?c/pv(10,a-i):0:d[u-1])%10&1||n==(t.s<0?8:7))),e<1||!d[0])return s?(r=su(t),d.length=1,e=e-r-1,d[0]=pv(10,(pc-e%pc)%pc),t.e=xM(-e/pc)||0):(d.length=1,d[0]=t.e=t.s=0),t;if(o==0?(d.length=u,r=1,u--):(d.length=u+1,r=pv(10,pc-o),d[u]=i>0?(c/pv(10,a-i)%pv(10,i)|0)*r:0),s)for(;;)if(u==0){(d[0]+=r)==gd&&(d[0]=1,++t.e);break}else{if(d[u]+=r,d[u]!=gd)break;d[u--]=0,r=1}for(o=d.length;d[--o]===0;)d.pop();if(Oc&&(t.e>RJ||t.e<-RJ))throw Error(S3e+su(t));return t}function Yat(t,e){var n,o,i,r,a,l,s,c,u,d,f=t.constructor,p=f.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new f(t),Oc?Cs(e,p):e;if(s=t.d,d=e.d,o=e.e,c=t.e,s=s.slice(),a=c-o,a){for(u=a<0,u?(n=s,a=-a,l=d.length):(n=d,o=c,l=s.length),i=Math.max(Math.ceil(p/pc),l)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=s.length,l=d.length,u=i0;--i)s[l++]=0;for(i=d.length;i>a;){if(s[--i]0?r=r.charAt(0)+"."+r.slice(1)+J4(o):a>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(i<0?"e":"e+")+i):i<0?(r="0."+J4(-i-1)+r,n&&(o=n-a)>0&&(r+=J4(o))):i>=a?(r+=J4(i+1-a),n&&(o=n-i-1)>0&&(r=r+"."+J4(o))):((o=i+1)0&&(i+1===a&&(r+="."),r+=J4(o))),t.s<0?"-"+r:r}function Oze(t,e){if(t.length>e)return t.length=e,!0}function Oat(t){var e,n,o;function i(r){var a=this;if(!(a instanceof i))return new i(r);if(a.constructor=i,r instanceof i){a.s=r.s,a.e=r.e,a.d=(r=r.d)?r.slice():r;return}if(typeof r=="number"){if(r*0!==0)throw Error(Cx+r);if(r>0)a.s=1;else if(r<0)r=-r,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(r===~~r&&r<1e7){a.e=0,a.d=[r];return}return Yze(a,r.toString())}else if(typeof r!="string")throw Error(Cx+r);if(r.charCodeAt(0)===45?(r=r.slice(1),a.s=-1):a.s=1,Ixo.test(r))Yze(a,r);else throw Error(Cx+r)}if(i.prototype=Yi,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Oat,i.config=i.set=zxo,t===void 0&&(t={}),t)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&o<=i[e+2])this[n]=o;else throw Error(Cx+n+": "+o);if((o=t[n="LN10"])!==void 0)if(o==Math.LN10)this[n]=new this(o);else throw Error(Cx+n+": "+o);return this}var T3e=Oat(Mxo);cg=new T3e(1);const ys=T3e;function Dxo(t){return Lxo(t)||Fxo(t)||kxo(t)||Exo()}function Exo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kxo(t,e){if(t){if(typeof t=="string")return Xfe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xfe(t,e)}}function Fxo(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function Lxo(t){if(Array.isArray(t))return Xfe(t)}function Xfe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=e?n.apply(void 0,i):t(e-a,_ze(function(){for(var l=arguments.length,s=new Array(l),c=0;ct.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!(Symbol.iterator in Object(t)))){var n=[],o=!0,i=!1,r=void 0;try{for(var a=t[Symbol.iterator](),l;!(o=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));o=!0);}catch(s){i=!0,r=s}finally{try{!o&&a.return!=null&&a.return()}finally{if(i)throw r}}return n}}function $xo(t){if(Array.isArray(t))return t}function Jat(t){var e=eL(t,2),n=e[0],o=e[1],i=n,r=o;return n>o&&(i=o,r=n),[i,r]}function Kat(t,e,n){if(t.lte(0))return new ys(0);var o=Fee.getDigitCount(t.toNumber()),i=new ys(10).pow(o),r=t.div(i),a=o!==1?.05:.1,l=new ys(Math.ceil(r.div(a).toNumber())).add(n).mul(a),s=l.mul(i);return e?s:new ys(Math.ceil(s))}function Qxo(t,e,n){var o=1,i=new ys(t);if(!i.isint()&&n){var r=Math.abs(t);r<1?(o=new ys(10).pow(Fee.getDigitCount(t)-1),i=new ys(Math.floor(i.div(o).toNumber())).mul(o)):r>1&&(i=new ys(Math.floor(t)))}else t===0?i=new ys(Math.floor((e-1)/2)):n||(i=new ys(Math.floor(t)));var a=Math.floor((e-1)/2),l=Bxo(Uxo(function(s){return i.add(new ys(s-a).mul(o)).toNumber()}),Jfe);return l(0,e)}function qat(t,e,n,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new ys(0),tickMin:new ys(0),tickMax:new ys(0)};var r=Kat(new ys(e).sub(t).div(n-1),o,i),a;t<=0&&e>=0?a=new ys(0):(a=new ys(t).add(e).div(2),a=a.sub(new ys(a).mod(r)));var l=Math.ceil(a.sub(t).div(r).toNumber()),s=Math.ceil(new ys(e).sub(a).div(r).toNumber()),c=l+s+1;return c>n?qat(t,e,n,o,i+1):(c0?s+(n-c):s,l=e>0?l:l+(n-c)),{step:r,tickMin:a.sub(new ys(l).mul(r)),tickMax:a.add(new ys(s).mul(r))})}function Zxo(t){var e=eL(t,2),n=e[0],o=e[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),l=Jat([n,o]),s=eL(l,2),c=s[0],u=s[1];if(c===-1/0||u===1/0){var d=u===1/0?[c].concat(qfe(Jfe(0,i-1).map(function(){return 1/0}))):[].concat(qfe(Jfe(0,i-1).map(function(){return-1/0})),[u]);return n>o?Kfe(d):d}if(c===u)return Qxo(c,i,r);var f=qat(c,u,a,r),p=f.step,g=f.tickMin,A=f.tickMax,w=Fee.rangeStep(g,A.add(new ys(.1).mul(p)),p);return n>o?Kfe(w):w}function ebo(t,e){var n=eL(t,2),o=n[0],i=n[1],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Jat([o,i]),l=eL(a,2),s=l[0],c=l[1];if(s===-1/0||c===1/0)return[o,i];if(s===c)return[s];var u=Math.max(e,2),d=Kat(new ys(c).sub(s).div(u-1),r,0),f=[].concat(qfe(Fee.rangeStep(new ys(s),new ys(c).sub(new ys(.99).mul(d)),d)),[c]);return o>i?Kfe(f):f}var tbo=Gat(Zxo),nbo=Gat(ebo),obo="Invariant failed";function cb(t,e){throw new Error(obo)}var ibo=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function HJ(){return HJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function dbo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function bM(t){var e=t.offset,n=t.layout,o=t.width,i=t.dataKey,r=t.data,a=t.dataPointFormatter,l=t.xAxis,s=t.yAxis,c=ubo(t,ibo),u=oa(c,!1);t.direction==="x"&&l.type!=="number"&&cb();var d=r.map(function(f){var p=a(f,i),g=p.x,A=p.y,w=p.value,b=p.errorVal;if(!b)return null;var C=[],P,v;if(Array.isArray(b)){var T=rbo(b,2);P=T[0],v=T[1]}else P=v=b;if(n==="vertical"){var y=l.scale,S=A+e,x=S+o,R=S-o,H=y(w-P),D=y(w+v);C.push({x1:D,y1:x,x2:D,y2:R}),C.push({x1:H,y1:S,x2:D,y2:S}),C.push({x1:H,y1:x,x2:H,y2:R})}else if(n==="horizontal"){var k=s.scale,W=g+e,N=W-o,L=W+o,E=k(w-P),U=k(w+v);C.push({x1:N,y1:U,x2:L,y2:U}),C.push({x1:W,y1:E,x2:W,y2:U}),C.push({x1:N,y1:E,x2:L,y2:E})}return be.createElement(Bl,HJ({className:"recharts-errorBar",key:"bar-".concat(C.map(function(F){return"".concat(F.x1,"-").concat(F.x2,"-").concat(F.y1,"-").concat(F.y2)}))},u),C.map(function(F){return be.createElement("line",HJ({},F,{key:"line-".concat(F.x1,"-").concat(F.x2,"-").concat(F.y1,"-").concat(F.y2)}))}))});return be.createElement(Bl,{className:"recharts-errorBars"},d)}bM.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"};bM.displayName="ErrorBar";function tL(t){"@babel/helpers - typeof";return tL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tL(t)}function Gze(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Zae(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,a=-1,l=(n=o==null?void 0:o.length)!==null&&n!==void 0?n:0;if(l<=1)return 0;if(r&&r.axisType==="angleAxis"&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var s=r.range,c=0;c0?i[c-1].coordinate:i[l-1].coordinate,d=i[c].coordinate,f=c>=l-1?i[0].coordinate:i[c+1].coordinate,p=void 0;if(x2(d-u)!==x2(f-d)){var g=[];if(x2(f-d)===x2(s[1]-s[0])){p=f;var A=d+s[1]-s[0];g[0]=Math.min(A,(A+u)/2),g[1]=Math.max(A,(A+u)/2)}else{p=u;var w=f+s[1]-s[0];g[0]=Math.min(d,(w+d)/2),g[1]=Math.max(d,(w+d)/2)}var b=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(e>b[0]&&e<=b[1]||e>=g[0]&&e<=g[1]){a=i[c].index;break}}else{var C=Math.min(u,f),P=Math.max(u,f);if(e>(C+d)/2&&e<=(P+d)/2){a=i[c].index;break}}}else for(var v=0;v0&&v(o[v].coordinate+o[v-1].coordinate)/2&&e<=(o[v].coordinate+o[v+1].coordinate)/2||v===l-1&&e>(o[v].coordinate+o[v-1].coordinate)/2){a=o[v].index;break}return a},P3e=function(e){var n=e,o=n.type.displayName,i=e.props,r=i.stroke,a=i.fill,l;switch(o){case"Line":l=r;break;case"Area":case"Radar":l=r&&r!=="none"?r:a;break;default:l=a;break}return l},bbo=function(e){var n=e.barSize,o=e.totalSize,i=e.stackGroups,r=i===void 0?{}:i;if(!r)return{};for(var a={},l=Object.keys(r),s=0,c=l.length;s=0});if(b&&b.length){var C=b[0].props.barSize,P=b[0].props[w];a[P]||(a[P]=[]);var v=ra(C)?n:C;a[P].push({item:b[0],stackList:b.slice(1),barSize:ra(v)?void 0:ab(v,o,0)})}}return a},Sbo=function(e){var n=e.barGap,o=e.barCategoryGap,i=e.bandSize,r=e.sizeList,a=r===void 0?[]:r,l=e.maxBarSize,s=a.length;if(s<1)return null;var c=ab(n,i,0,!0),u,d=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=i/s,g=a.reduce(function(v,T){return v+T.barSize||0},0);g+=(s-1)*c,g>=i&&(g-=(s-1)*c,c=0),g>=i&&p>0&&(f=!0,p*=.9,g=s*p);var A=(i-g)/2>>0,w={offset:A-c,size:0};u=a.reduce(function(v,T){var y={item:T.item,position:{offset:w.offset+w.size+c,size:f?p:T.barSize}},S=[].concat(Jze(v),[y]);return w=S[S.length-1].position,T.stackList&&T.stackList.length&&T.stackList.forEach(function(x){S.push({item:x,position:w})}),S},d)}else{var b=ab(o,i,0,!0);i-2*b-(s-1)*c<=0&&(c=0);var C=(i-2*b-(s-1)*c)/s;C>1&&(C>>=0);var P=l===+l?Math.min(C,l):C;u=a.reduce(function(v,T,y){var S=[].concat(Jze(v),[{item:T.item,position:{offset:b+(C+c)*y+(C-P)/2,size:P}}]);return T.stackList&&T.stackList.length&&T.stackList.forEach(function(x){S.push({item:x,position:S[S.length-1].position})}),S},d)}return u},Tbo=function(e,n,o,i){var r=o.children,a=o.width,l=o.margin,s=a-(l.left||0)-(l.right||0),c=$at({children:r,legendWidth:s});if(c){var u=i||{},d=u.width,f=u.height,p=c.align,g=c.verticalAlign,A=c.layout;if((A==="vertical"||A==="horizontal"&&g==="middle")&&p!=="center"&&ci(e[p]))return Pm(Pm({},e),{},IC({},p,e[p]+(d||0)));if((A==="horizontal"||A==="vertical"&&p==="center")&&g!=="middle"&&ci(e[g]))return Pm(Pm({},e),{},IC({},g,e[g]+(f||0)))}return e},Pbo=function(e,n,o){return ra(n)?!0:e==="horizontal"?n==="yAxis":e==="vertical"||o==="x"?n==="xAxis":o==="y"?n==="yAxis":!0},Qat=function(e,n,o,i,r){var a=n.props.children,l=Kp(a,bM).filter(function(c){return Pbo(i,r,c.props.direction)});if(l&&l.length){var s=l.map(function(c){return c.props.dataKey});return e.reduce(function(c,u){var d=Uu(u,o);if(ra(d))return c;var f=Array.isArray(d)?[Eee(d),ww(d)]:[d,d],p=s.reduce(function(g,A){var w=Uu(u,A,0),b=f[0]-Math.abs(Array.isArray(w)?w[0]:w),C=f[1]+Math.abs(Array.isArray(w)?w[1]:w);return[Math.min(b,g[0]),Math.max(C,g[1])]},[1/0,-1/0]);return[Math.min(p[0],c[0]),Math.max(p[1],c[1])]},[1/0,-1/0])}return null},Cbo=function(e,n,o,i,r){var a=n.map(function(l){return Qat(e,l,o,r,i)}).filter(function(l){return!ra(l)});return a&&a.length?a.reduce(function(l,s){return[Math.min(l[0],s[0]),Math.max(l[1],s[1])]},[1/0,-1/0]):null},Zat=function(e,n,o,i,r){var a=n.map(function(s){var c=s.props.dataKey;return o==="number"&&c&&Qat(e,s,c,i)||FE(e,c,o,r)});if(o==="number")return a.reduce(function(s,c){return[Math.min(s[0],c[0]),Math.max(s[1],c[1])]},[1/0,-1/0]);var l={};return a.reduce(function(s,c){for(var u=0,d=c.length;u=2?x2(l[0]-l[1])*2*c:c,n&&(e.ticks||e.niceTicks)){var u=(e.ticks||e.niceTicks).map(function(d){var f=r?r.indexOf(d):d;return{coordinate:i(f)+c,value:d,offset:c}});return u.filter(function(d){return!AM(d.coordinate)})}return e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(d,f){return{coordinate:i(d)+c,value:d,index:f,offset:c}}):i.ticks&&!o?i.ticks(e.tickCount).map(function(d){return{coordinate:i(d)+c,value:d,offset:c}}):i.domain().map(function(d,f){return{coordinate:i(d)+c,value:r?r[d]:d,index:f,offset:c}})},ele=new WeakMap,jO=function(e,n){if(typeof n!="function")return e;ele.has(e)||ele.set(e,new WeakMap);var o=ele.get(e);if(o.has(n))return o.get(n);var i=function(){e.apply(void 0,arguments),n.apply(void 0,arguments)};return o.set(n,i),i},Rbo=function(e,n,o){var i=e.scale,r=e.type,a=e.layout,l=e.axisType;if(i==="auto")return a==="radial"&&l==="radiusAxis"?{scale:XF(),realScaleType:"band"}:a==="radial"&&l==="angleAxis"?{scale:QF(),realScaleType:"linear"}:r==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!o)?{scale:HC(),realScaleType:"point"}:r==="category"?{scale:XF(),realScaleType:"band"}:{scale:QF(),realScaleType:"linear"};if(MN(i)){var s="scale".concat(wee(i));return{scale:(jze[s]||HC)(),realScaleType:jze[s]?s:"point"}}return Aa(i)?{scale:i}:{scale:HC(),realScaleType:"point"}},Kze=1e-4,Hbo=function(e){var n=e.domain();if(!(!n||n.length<=2)){var o=n.length,i=e.range(),r=Math.min(i[0],i[1])-Kze,a=Math.max(i[0],i[1])+Kze,l=e(n[0]),s=e(n[o-1]);(la||sa)&&e.domain([n[0],n[o-1]])}},Mbo=function(e,n){if(!e)return null;for(var o=0,i=e.length;oi)&&(r[1]=i),r[0]>i&&(r[0]=i),r[1]=0?(e[l][o][0]=r,e[l][o][1]=r+s,r=e[l][o][1]):(e[l][o][0]=a,e[l][o][1]=a+s,a=e[l][o][1])}},Dbo=function(e){var n=e.length;if(!(n<=0))for(var o=0,i=e[0].length;o=0?(e[a][o][0]=r,e[a][o][1]=r+l,r=e[a][o][1]):(e[a][o][0]=0,e[a][o][1]=0)}},Ebo={sign:zbo,expand:v6o,none:YR,silhouette:x6o,wiggle:b6o,positive:Dbo},kbo=function(e,n,o){var i=n.map(function(l){return l.props.dataKey}),r=Ebo[o],a=w6o().keys(i).value(function(l,s){return+Uu(l,s,0)}).order(Hfe).offset(r);return a(e)},Fbo=function(e,n,o,i,r,a){if(!e)return null;var l=a?n.reverse():n,s={},c=l.reduce(function(d,f){var p=f.props,g=p.stackId,A=p.hide;if(A)return d;var w=f.props[o],b=d[w]||{hasStack:!1,stackGroups:{}};if(Lu(g)){var C=b.stackGroups[g]||{numericAxisId:o,cateAxisId:i,items:[]};C.items.push(f),b.hasStack=!0,b.stackGroups[g]=C}else b.stackGroups[oS("_stackId_")]={numericAxisId:o,cateAxisId:i,items:[f]};return Pm(Pm({},d),{},IC({},w,b))},s),u={};return Object.keys(c).reduce(function(d,f){var p=c[f];if(p.hasStack){var g={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(A,w){var b=p.stackGroups[w];return Pm(Pm({},A),{},IC({},w,{numericAxisId:o,cateAxisId:i,items:b.items,stackedData:kbo(e,b.items,r)}))},g)}return Pm(Pm({},d),{},IC({},f,p))},u)},Lbo=function(e,n){var o=n.realScaleType,i=n.type,r=n.tickCount,a=n.originalDomain,l=n.allowDecimals,s=o||n.scale;if(s!=="auto"&&s!=="linear")return null;if(r&&i==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var c=e.domain();if(!c.length)return null;var u=tbo(c,r,l);return e.domain([Eee(u),ww(u)]),{niceTicks:u}}if(r&&i==="number"){var d=e.domain(),f=nbo(d,r,l);return{niceTicks:f}}return null};function qR(t){var e=t.axis,n=t.ticks,o=t.bandSize,i=t.entry,r=t.index,a=t.dataKey;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!ra(i[e.dataKey])){var l=rJ(n,"value",i[e.dataKey]);if(l)return l.coordinate+o/2}return n[r]?n[r].coordinate+o/2:null}var s=Uu(i,ra(a)?e.dataKey:a);return ra(s)?null:e.scale(s)}var qze=function(e){var n=e.axis,o=e.ticks,i=e.offset,r=e.bandSize,a=e.entry,l=e.index;if(n.type==="category")return o[l]?o[l].coordinate+i:null;var s=Uu(a,n.dataKey,n.domain[l]);return ra(s)?null:n.scale(s)-r/2+i},Wbo=function(e){var n=e.numericAxis,o=n.scale.domain();if(n.type==="number"){var i=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);return i<=0&&r>=0?0:r<0?r:i}return o[0]},Nbo=function(e,n){var o=e.props.stackId;if(Lu(o)){var i=n[o];if(i){var r=i.items.indexOf(e);return r>=0?i.stackedData[r]:null}}return null},Ubo=function(e){return e.reduce(function(n,o){return[Eee(o.concat([n[0]]).filter(ci)),ww(o.concat([n[1]]).filter(ci))]},[1/0,-1/0])},nlt=function(e,n,o){return Object.keys(e).reduce(function(i,r){var a=e[r],l=a.stackedData,s=l.reduce(function(c,u){var d=Ubo(u.slice(n,o+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(s[0],i[0]),Math.max(s[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},$ze=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Qze=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Zfe=function(e,n,o){if(Aa(e))return e(n,o);if(!Array.isArray(e))return n;var i=[];if(ci(e[0]))i[0]=o?e[0]:Math.min(e[0],n[0]);else if($ze.test(e[0])){var r=+$ze.exec(e[0])[1];i[0]=n[0]-r}else Aa(e[0])?i[0]=e[0](n[0]):i[0]=n[0];if(ci(e[1]))i[1]=o?e[1]:Math.max(e[1],n[1]);else if(Qze.test(e[1])){var a=+Qze.exec(e[1])[1];i[1]=n[1]+a}else Aa(e[1])?i[1]=e[1](n[1]):i[1]=n[1];return i},MJ=function(e,n,o){if(e&&e.scale&&e.scale.bandwidth){var i=e.scale.bandwidth();if(!o||i>0)return i}if(e&&n&&n.length>=2){for(var r=Z9e(n,function(d){return d.coordinate}),a=1/0,l=1,s=r.length;la&&(c=2*Math.PI-c),{radius:l,angle:Obo(c),angleInRadian:c}},Gbo=function(e){var n=e.startAngle,o=e.endAngle,i=Math.floor(n/360),r=Math.floor(o/360),a=Math.min(i,r);return{startAngle:n-a*360,endAngle:o-a*360}},Xbo=function(e,n){var o=n.startAngle,i=n.endAngle,r=Math.floor(o/360),a=Math.floor(i/360),l=Math.min(r,a);return e+l*360},nDe=function(e,n){var o=e.x,i=e.y,r=Vbo({x:o,y:i},n),a=r.radius,l=r.angle,s=n.innerRadius,c=n.outerRadius;if(ac)return!1;if(a===0)return!0;var u=Gbo(n),d=u.startAngle,f=u.endAngle,p=l,g;if(d<=f){for(;p>f;)p-=360;for(;p=d&&p<=f}else{for(;p>d;)p-=360;for(;p=f&&p<=d}return g?tDe(tDe({},n),{},{radius:a,angle:Xbo(p,n)}):null};function iL(t){"@babel/helpers - typeof";return iL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iL(t)}var Jbo=["offset"];function Kbo(t){return Zbo(t)||Qbo(t)||$bo(t)||qbo()}function qbo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $bo(t,e){if(t){if(typeof t=="string")return ehe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ehe(t,e)}}function Qbo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Zbo(t){if(Array.isArray(t))return ehe(t)}function ehe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function tSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function oDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Cu(t){for(var e=1;e=0?1:-1,P,v;i==="insideStart"?(P=p+C*a,v=A):i==="insideEnd"?(P=g-C*a,v=!A):i==="end"&&(P=g+C*a,v=A),v=b<=0?v:!v;var T=af(c,u,w,P),y=af(c,u,w,P+(v?1:-1)*359),S="M".concat(T.x,",").concat(T.y,` A`).concat(w,",").concat(w,",0,1,").concat(v?0:1,`, - `).concat(y.x,",").concat(y.y),x=ra(e.id)?oS("recharts-radial-line-"):e.id;return be.createElement("text",rL({},o,{dominantBaseline:"central",className:cl("recharts-radial-bar-label",l)}),be.createElement("defs",null,be.createElement("path",{id:x,d:S})),be.createElement("textPath",{xlinkHref:"#".concat(x)},n))},cSo=function(e){var n=e.viewBox,o=e.offset,i=e.position,r=n,a=r.cx,l=r.cy,s=r.innerRadius,c=r.outerRadius,u=r.startAngle,d=r.endAngle,f=(u+d)/2;if(i==="outside"){var p=af(a,l,c+o,f),g=p.x,A=p.y;return{x:g,y:A,textAnchor:g>=a?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"end"};var w=(s+c)/2,b=af(a,l,w,f),C=b.x,P=b.y;return{x:C,y:P,textAnchor:"middle",verticalAnchor:"middle"}},uSo=function(e){var n=e.viewBox,o=e.parentViewBox,i=e.offset,r=e.position,a=n,l=a.x,s=a.y,c=a.width,u=a.height,d=u>=0?1:-1,f=d*i,p=d>0?"end":"start",g=d>0?"start":"end",A=c>=0?1:-1,w=A*i,b=A>0?"end":"start",C=A>0?"start":"end";if(r==="top"){var P={x:l+c/2,y:s-d*i,textAnchor:"middle",verticalAnchor:p};return Cu(Cu({},P),o?{height:Math.max(s-o.y,0),width:c}:{})}if(r==="bottom"){var v={x:l+c/2,y:s+u+f,textAnchor:"middle",verticalAnchor:g};return Cu(Cu({},v),o?{height:Math.max(o.y+o.height-(s+u),0),width:c}:{})}if(r==="left"){var T={x:l-w,y:s+u/2,textAnchor:b,verticalAnchor:"middle"};return Cu(Cu({},T),o?{width:Math.max(T.x-o.x,0),height:u}:{})}if(r==="right"){var y={x:l+c+w,y:s+u/2,textAnchor:C,verticalAnchor:"middle"};return Cu(Cu({},y),o?{width:Math.max(o.x+o.width-y.x,0),height:u}:{})}var S=o?{width:c,height:u}:{};return r==="insideLeft"?Cu({x:l+w,y:s+u/2,textAnchor:C,verticalAnchor:"middle"},S):r==="insideRight"?Cu({x:l+c-w,y:s+u/2,textAnchor:b,verticalAnchor:"middle"},S):r==="insideTop"?Cu({x:l+c/2,y:s+f,textAnchor:"middle",verticalAnchor:g},S):r==="insideBottom"?Cu({x:l+c/2,y:s+u-f,textAnchor:"middle",verticalAnchor:p},S):r==="insideTopLeft"?Cu({x:l+w,y:s+f,textAnchor:C,verticalAnchor:g},S):r==="insideTopRight"?Cu({x:l+c-w,y:s+f,textAnchor:b,verticalAnchor:g},S):r==="insideBottomLeft"?Cu({x:l+w,y:s+u-f,textAnchor:C,verticalAnchor:p},S):r==="insideBottomRight"?Cu({x:l+c-w,y:s+u-f,textAnchor:b,verticalAnchor:p},S):tM(r)&&(ci(r.x)||Xv(r.x))&&(ci(r.y)||Xv(r.y))?Cu({x:l+ab(r.x,c),y:s+ab(r.y,u),textAnchor:"end",verticalAnchor:"end"},S):Cu({x:l+c/2,y:s+u/2,textAnchor:"middle",verticalAnchor:"middle"},S)},dSo=function(e){return"cx"in e&&ci(e.cx)};function Zl(t){var e=t.offset,n=e===void 0?5:e,o=tSo(t,Kbo),i=Cu({offset:n},o),r=i.viewBox,a=i.position,l=i.value,s=i.children,c=i.content,u=i.className,d=u===void 0?"":u,f=i.textBreakAll;if(!r||ra(l)&&ra(s)&&!m.isValidElement(c)&&!Aa(c))return null;if(m.isValidElement(c))return m.cloneElement(c,i);var p;if(Aa(c)){if(p=m.createElement(c,i),m.isValidElement(p))return p}else p=aSo(i);var g=dSo(r),A=oa(i,!0);if(g&&(a==="insideStart"||a==="insideEnd"||a==="end"))return sSo(i,p,A);var w=g?cSo(i):uSo(i);return be.createElement(yJ,rL({className:cl("recharts-label",d)},A,w,{breakAll:f}),p)}Zl.displayName="Label";var alt=function(e){var n=e.cx,o=e.cy,i=e.angle,r=e.startAngle,a=e.endAngle,l=e.r,s=e.radius,c=e.innerRadius,u=e.outerRadius,d=e.x,f=e.y,p=e.top,g=e.left,A=e.width,w=e.height,b=e.clockWise,C=e.labelViewBox;if(C)return C;if(ci(A)&&ci(w)){if(ci(d)&&ci(f))return{x:d,y:f,width:A,height:w};if(ci(p)&&ci(g))return{x:p,y:g,width:A,height:w}}return ci(d)&&ci(f)?{x:d,y:f,width:0,height:0}:ci(n)&&ci(o)?{cx:n,cy:o,startAngle:r||i||0,endAngle:a||i||0,innerRadius:c||0,outerRadius:u||s||l||0,clockWise:b}:e.viewBox?e.viewBox:{}},fSo=function(e,n){return e?e===!0?be.createElement(Zl,{key:"label-implicit",viewBox:n}):Lu(e)?be.createElement(Zl,{key:"label-implicit",viewBox:n,value:e}):m.isValidElement(e)?e.type===Zl?m.cloneElement(e,{key:"label-implicit",viewBox:n}):be.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):Aa(e)?be.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):tM(e)?be.createElement(Zl,rL({viewBox:n},e,{key:"label-implicit"})):null:null},hSo=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&o&&!e.label)return null;var i=e.children,r=alt(e),a=Kp(i,Zl).map(function(s,c){return m.cloneElement(s,{viewBox:n||r,key:"label-".concat(c)})});if(!o)return a;var l=fSo(e.label,n||r);return[l].concat(qbo(a))};Zl.parseViewBox=alt;Zl.renderCallByParent=hSo;function pSo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var gSo=pSo;const mSo=kr(gSo);function aL(t){"@babel/helpers - typeof";return aL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},aL(t)}var ySo=["valueAccessor"],ASo=["data","dataKey","clockWise","id","textBreakAll"];function wSo(t){return SSo(t)||bSo(t)||xSo(t)||vSo()}function vSo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xSo(t,e){if(t){if(typeof t=="string")return the(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return the(t,e)}}function bSo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function SSo(t){if(Array.isArray(t))return the(t)}function the(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function RSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var HSo=function(e){return Array.isArray(e.value)?mSo(e.value):e.value};function P9(t){var e=t.valueAccessor,n=e===void 0?HSo:e,o=sDe(t,ySo),i=o.data,r=o.dataKey,a=o.clockWise,l=o.id,s=o.textBreakAll,c=sDe(o,ASo);return!i||!i.length?null:be.createElement(Bl,{className:"recharts-label-list"},i.map(function(u,d){var f=ra(r)?n(u,d):Uu(u&&u.payload,r),p=ra(l)?{}:{id:"".concat(l,"-").concat(d)};return be.createElement(Zl,zJ({},oa(u,!0),c,p,{parentViewBox:u.parentViewBox,value:f,textBreakAll:s,viewBox:Zl.parseViewBox(ra(a)?u:lDe(lDe({},u),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}P9.displayName="LabelList";function MSo(t,e){return t?t===!0?be.createElement(P9,{key:"labelList-implicit",data:e}):be.isValidElement(t)||Aa(t)?be.createElement(P9,{key:"labelList-implicit",data:e,content:t}):tM(t)?be.createElement(P9,zJ({data:e},t,{key:"labelList-implicit"})):null:null}function ISo(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var o=t.children,i=Kp(o,P9).map(function(a,l){return m.cloneElement(a,{data:e,key:"labelList-".concat(l)})});if(!n)return i;var r=MSo(t.label,e);return[r].concat(wSo(i))}P9.renderCallByParent=ISo;function lL(t){"@babel/helpers - typeof";return lL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lL(t)}function nhe(){return nhe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=a?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:a,y:l,textAnchor:"middle",verticalAnchor:"end"};var w=(s+c)/2,b=af(a,l,w,f),C=b.x,P=b.y;return{x:C,y:P,textAnchor:"middle",verticalAnchor:"middle"}},cSo=function(e){var n=e.viewBox,o=e.parentViewBox,i=e.offset,r=e.position,a=n,l=a.x,s=a.y,c=a.width,u=a.height,d=u>=0?1:-1,f=d*i,p=d>0?"end":"start",g=d>0?"start":"end",A=c>=0?1:-1,w=A*i,b=A>0?"end":"start",C=A>0?"start":"end";if(r==="top"){var P={x:l+c/2,y:s-d*i,textAnchor:"middle",verticalAnchor:p};return Cu(Cu({},P),o?{height:Math.max(s-o.y,0),width:c}:{})}if(r==="bottom"){var v={x:l+c/2,y:s+u+f,textAnchor:"middle",verticalAnchor:g};return Cu(Cu({},v),o?{height:Math.max(o.y+o.height-(s+u),0),width:c}:{})}if(r==="left"){var T={x:l-w,y:s+u/2,textAnchor:b,verticalAnchor:"middle"};return Cu(Cu({},T),o?{width:Math.max(T.x-o.x,0),height:u}:{})}if(r==="right"){var y={x:l+c+w,y:s+u/2,textAnchor:C,verticalAnchor:"middle"};return Cu(Cu({},y),o?{width:Math.max(o.x+o.width-y.x,0),height:u}:{})}var S=o?{width:c,height:u}:{};return r==="insideLeft"?Cu({x:l+w,y:s+u/2,textAnchor:C,verticalAnchor:"middle"},S):r==="insideRight"?Cu({x:l+c-w,y:s+u/2,textAnchor:b,verticalAnchor:"middle"},S):r==="insideTop"?Cu({x:l+c/2,y:s+f,textAnchor:"middle",verticalAnchor:g},S):r==="insideBottom"?Cu({x:l+c/2,y:s+u-f,textAnchor:"middle",verticalAnchor:p},S):r==="insideTopLeft"?Cu({x:l+w,y:s+f,textAnchor:C,verticalAnchor:g},S):r==="insideTopRight"?Cu({x:l+c-w,y:s+f,textAnchor:b,verticalAnchor:g},S):r==="insideBottomLeft"?Cu({x:l+w,y:s+u-f,textAnchor:C,verticalAnchor:p},S):r==="insideBottomRight"?Cu({x:l+c-w,y:s+u-f,textAnchor:b,verticalAnchor:p},S):tM(r)&&(ci(r.x)||Xv(r.x))&&(ci(r.y)||Xv(r.y))?Cu({x:l+ab(r.x,c),y:s+ab(r.y,u),textAnchor:"end",verticalAnchor:"end"},S):Cu({x:l+c/2,y:s+u/2,textAnchor:"middle",verticalAnchor:"middle"},S)},uSo=function(e){return"cx"in e&&ci(e.cx)};function Zl(t){var e=t.offset,n=e===void 0?5:e,o=eSo(t,Jbo),i=Cu({offset:n},o),r=i.viewBox,a=i.position,l=i.value,s=i.children,c=i.content,u=i.className,d=u===void 0?"":u,f=i.textBreakAll;if(!r||ra(l)&&ra(s)&&!m.isValidElement(c)&&!Aa(c))return null;if(m.isValidElement(c))return m.cloneElement(c,i);var p;if(Aa(c)){if(p=m.createElement(c,i),m.isValidElement(p))return p}else p=rSo(i);var g=uSo(r),A=oa(i,!0);if(g&&(a==="insideStart"||a==="insideEnd"||a==="end"))return lSo(i,p,A);var w=g?sSo(i):cSo(i);return be.createElement(yJ,rL({className:cl("recharts-label",d)},A,w,{breakAll:f}),p)}Zl.displayName="Label";var ilt=function(e){var n=e.cx,o=e.cy,i=e.angle,r=e.startAngle,a=e.endAngle,l=e.r,s=e.radius,c=e.innerRadius,u=e.outerRadius,d=e.x,f=e.y,p=e.top,g=e.left,A=e.width,w=e.height,b=e.clockWise,C=e.labelViewBox;if(C)return C;if(ci(A)&&ci(w)){if(ci(d)&&ci(f))return{x:d,y:f,width:A,height:w};if(ci(p)&&ci(g))return{x:p,y:g,width:A,height:w}}return ci(d)&&ci(f)?{x:d,y:f,width:0,height:0}:ci(n)&&ci(o)?{cx:n,cy:o,startAngle:r||i||0,endAngle:a||i||0,innerRadius:c||0,outerRadius:u||s||l||0,clockWise:b}:e.viewBox?e.viewBox:{}},dSo=function(e,n){return e?e===!0?be.createElement(Zl,{key:"label-implicit",viewBox:n}):Lu(e)?be.createElement(Zl,{key:"label-implicit",viewBox:n,value:e}):m.isValidElement(e)?e.type===Zl?m.cloneElement(e,{key:"label-implicit",viewBox:n}):be.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):Aa(e)?be.createElement(Zl,{key:"label-implicit",content:e,viewBox:n}):tM(e)?be.createElement(Zl,rL({viewBox:n},e,{key:"label-implicit"})):null:null},fSo=function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&o&&!e.label)return null;var i=e.children,r=ilt(e),a=Kp(i,Zl).map(function(s,c){return m.cloneElement(s,{viewBox:n||r,key:"label-".concat(c)})});if(!o)return a;var l=dSo(e.label,n||r);return[l].concat(Kbo(a))};Zl.parseViewBox=ilt;Zl.renderCallByParent=fSo;function hSo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var pSo=hSo;const gSo=kr(pSo);function aL(t){"@babel/helpers - typeof";return aL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},aL(t)}var mSo=["valueAccessor"],ySo=["data","dataKey","clockWise","id","textBreakAll"];function ASo(t){return bSo(t)||xSo(t)||vSo(t)||wSo()}function wSo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vSo(t,e){if(t){if(typeof t=="string")return the(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return the(t,e)}}function xSo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function bSo(t){if(Array.isArray(t))return the(t)}function the(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function CSo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var RSo=function(e){return Array.isArray(e.value)?gSo(e.value):e.value};function P9(t){var e=t.valueAccessor,n=e===void 0?RSo:e,o=aDe(t,mSo),i=o.data,r=o.dataKey,a=o.clockWise,l=o.id,s=o.textBreakAll,c=aDe(o,ySo);return!i||!i.length?null:be.createElement(Bl,{className:"recharts-label-list"},i.map(function(u,d){var f=ra(r)?n(u,d):Uu(u&&u.payload,r),p=ra(l)?{}:{id:"".concat(l,"-").concat(d)};return be.createElement(Zl,zJ({},oa(u,!0),c,p,{parentViewBox:u.parentViewBox,value:f,textBreakAll:s,viewBox:Zl.parseViewBox(ra(a)?u:rDe(rDe({},u),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}P9.displayName="LabelList";function HSo(t,e){return t?t===!0?be.createElement(P9,{key:"labelList-implicit",data:e}):be.isValidElement(t)||Aa(t)?be.createElement(P9,{key:"labelList-implicit",data:e,content:t}):tM(t)?be.createElement(P9,zJ({data:e},t,{key:"labelList-implicit"})):null:null}function MSo(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var o=t.children,i=Kp(o,P9).map(function(a,l){return m.cloneElement(a,{data:e,key:"labelList-".concat(l)})});if(!n)return i;var r=HSo(t.label,e);return[r].concat(ASo(i))}P9.renderCallByParent=MSo;function lL(t){"@babel/helpers - typeof";return lL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lL(t)}function nhe(){return nhe=Object.assign?Object.assign.bind():function(t){for(var e=1;e180),",").concat(+(a>c),`, `).concat(d.x,",").concat(d.y,` `);if(i>0){var p=af(n,o,i,a),g=af(n,o,i,c);f+="L ".concat(g.x,",").concat(g.y,` A `).concat(i,",").concat(i,`,0, `).concat(+(Math.abs(s)>180),",").concat(+(a<=c),`, - `).concat(p.x,",").concat(p.y," Z")}else f+="L ".concat(n,",").concat(o," Z");return f},FSo=function(e){var n=e.cx,o=e.cy,i=e.innerRadius,r=e.outerRadius,a=e.cornerRadius,l=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,u=e.endAngle,d=x2(u-c),f=YO({cx:n,cy:o,radius:r,angle:c,sign:d,cornerRadius:a,cornerIsExternal:s}),p=f.circleTangency,g=f.lineTangency,A=f.theta,w=YO({cx:n,cy:o,radius:r,angle:u,sign:-d,cornerRadius:a,cornerIsExternal:s}),b=w.circleTangency,C=w.lineTangency,P=w.theta,v=s?Math.abs(c-u):Math.abs(c-u)-A-P;if(v<0)return l?"M ".concat(g.x,",").concat(g.y,` + `).concat(p.x,",").concat(p.y," Z")}else f+="L ".concat(n,",").concat(o," Z");return f},kSo=function(e){var n=e.cx,o=e.cy,i=e.innerRadius,r=e.outerRadius,a=e.cornerRadius,l=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,u=e.endAngle,d=x2(u-c),f=YO({cx:n,cy:o,radius:r,angle:c,sign:d,cornerRadius:a,cornerIsExternal:s}),p=f.circleTangency,g=f.lineTangency,A=f.theta,w=YO({cx:n,cy:o,radius:r,angle:u,sign:-d,cornerRadius:a,cornerIsExternal:s}),b=w.circleTangency,C=w.lineTangency,P=w.theta,v=s?Math.abs(c-u):Math.abs(c-u)-A-P;if(v<0)return l?"M ".concat(g.x,",").concat(g.y,` a`).concat(a,",").concat(a,",0,0,1,").concat(a*2,`,0 a`).concat(a,",").concat(a,",0,0,1,").concat(-a*2,`,0 - `):llt({cx:n,cy:o,innerRadius:i,outerRadius:r,startAngle:c,endAngle:u});var T="M ".concat(g.x,",").concat(g.y,` + `):rlt({cx:n,cy:o,innerRadius:i,outerRadius:r,startAngle:c,endAngle:u});var T="M ".concat(g.x,",").concat(g.y,` A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(p.x,",").concat(p.y,` A`).concat(r,",").concat(r,",0,").concat(+(v>180),",").concat(+(d<0),",").concat(b.x,",").concat(b.y,` A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(C.x,",").concat(C.y,` `);if(i>0){var y=YO({cx:n,cy:o,radius:i,angle:c,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=y.circleTangency,x=y.lineTangency,R=y.theta,H=YO({cx:n,cy:o,radius:i,angle:u,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),D=H.circleTangency,k=H.lineTangency,W=H.theta,N=s?Math.abs(c-u):Math.abs(c-u)-R-W;if(N<0&&a===0)return"".concat(T,"L").concat(n,",").concat(o,"Z");T+="L".concat(k.x,",").concat(k.y,` A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(D.x,",").concat(D.y,` A`).concat(i,",").concat(i,",0,").concat(+(N>180),",").concat(+(d>0),",").concat(S.x,",").concat(S.y,` - A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(x.x,",").concat(x.y,"Z")}else T+="L".concat(n,",").concat(o,"Z");return T},LSo={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},slt=function(e){var n=uDe(uDe({},LSo),e),o=n.cx,i=n.cy,r=n.innerRadius,a=n.outerRadius,l=n.cornerRadius,s=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,f=n.className;if(a0&&Math.abs(u-d)<360?w=FSo({cx:o,cy:i,innerRadius:r,outerRadius:a,cornerRadius:Math.min(A,g/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:u,endAngle:d}):w=llt({cx:o,cy:i,innerRadius:r,outerRadius:a,startAngle:u,endAngle:d}),be.createElement("path",nhe({},oa(n,!0),{className:p,d:w,role:"img"}))};function sL(t){"@babel/helpers - typeof";return sL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sL(t)}function ohe(){return ohe=Object.assign?Object.assign.bind():function(t){for(var e=1;e0;)if(!n.equals(t[o],e[o],o,o,t,e,n))return!1;return!0}function GSo(t,e){return SM(t.getTime(),e.getTime())}function ADe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.entries(),r=0,a,l;(a=i.next())&&!a.done;){for(var s=e.entries(),c=!1,u=0;(l=s.next())&&!l.done;){var d=a.value,f=d[0],p=d[1],g=l.value,A=g[0],w=g[1];!c&&!o[u]&&(c=n.equals(f,A,r,u,t,e,n)&&n.equals(p,w,f,A,t,e,n))&&(o[u]=!0),u++}if(!c)return!1;r++}return!0}function XSo(t,e,n){var o=yDe(t),i=o.length;if(yDe(e).length!==i)return!1;for(var r;i-- >0;)if(r=o[i],r===ult&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!clt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function nD(t,e,n){var o=gDe(t),i=o.length;if(gDe(e).length!==i)return!1;for(var r,a,l;i-- >0;)if(r=o[i],r===ult&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!clt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n)||(a=mDe(t,r),l=mDe(e,r),(a||l)&&(!a||!l||a.configurable!==l.configurable||a.enumerable!==l.enumerable||a.writable!==l.writable)))return!1;return!0}function JSo(t,e){return SM(t.valueOf(),e.valueOf())}function KSo(t,e){return t.source===e.source&&t.flags===e.flags}function wDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.values(),r,a;(r=i.next())&&!r.done;){for(var l=e.values(),s=!1,c=0;(a=l.next())&&!a.done;)!s&&!o[c]&&(s=n.equals(r.value,a.value,r.value,a.value,t,e,n))&&(o[c]=!0),c++;if(!s)return!1}return!0}function qSo(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var $So="[object Arguments]",QSo="[object Boolean]",ZSo="[object Date]",eTo="[object Map]",tTo="[object Number]",nTo="[object Object]",oTo="[object RegExp]",iTo="[object Set]",rTo="[object String]",aTo=Array.isArray,vDe=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,xDe=Object.assign,lTo=Object.prototype.toString.call.bind(Object.prototype.toString);function sTo(t){var e=t.areArraysEqual,n=t.areDatesEqual,o=t.areMapsEqual,i=t.areObjectsEqual,r=t.arePrimitiveWrappersEqual,a=t.areRegExpsEqual,l=t.areSetsEqual,s=t.areTypedArraysEqual;return function(u,d,f){if(u===d)return!0;if(u==null||d==null||typeof u!="object"||typeof d!="object")return u!==u&&d!==d;var p=u.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(u,d,f);if(aTo(u))return e(u,d,f);if(vDe!=null&&vDe(u))return s(u,d,f);if(p===Date)return n(u,d,f);if(p===RegExp)return a(u,d,f);if(p===Map)return o(u,d,f);if(p===Set)return l(u,d,f);var g=lTo(u);return g===ZSo?n(u,d,f):g===oTo?a(u,d,f):g===eTo?o(u,d,f):g===iTo?l(u,d,f):g===nTo?typeof u.then!="function"&&typeof d.then!="function"&&i(u,d,f):g===$So?i(u,d,f):g===QSo||g===tTo||g===rTo?r(u,d,f):!1}}function cTo(t){var e=t.circular,n=t.createCustomConfig,o=t.strict,i={areArraysEqual:o?nD:VSo,areDatesEqual:GSo,areMapsEqual:o?pDe(ADe,nD):ADe,areObjectsEqual:o?nD:XSo,arePrimitiveWrappersEqual:JSo,areRegExpsEqual:KSo,areSetsEqual:o?pDe(wDe,nD):wDe,areTypedArraysEqual:o?nD:qSo};if(n&&(i=xDe({},i,n(i))),e){var r=_O(i.areArraysEqual),a=_O(i.areMapsEqual),l=_O(i.areObjectsEqual),s=_O(i.areSetsEqual);i=xDe({},i,{areArraysEqual:r,areMapsEqual:a,areObjectsEqual:l,areSetsEqual:s})}return i}function uTo(t){return function(e,n,o,i,r,a,l){return t(e,n,l)}}function dTo(t){var e=t.circular,n=t.comparator,o=t.createState,i=t.equals,r=t.strict;if(o)return function(s,c){var u=o(),d=u.cache,f=d===void 0?e?new WeakMap:void 0:d,p=u.meta;return n(s,c,{cache:f,equals:i,meta:p,strict:r})};if(e)return function(s,c){return n(s,c,{cache:new WeakMap,equals:i,meta:void 0,strict:r})};var a={cache:void 0,equals:i,meta:void 0,strict:r};return function(s,c){return n(s,c,a)}}var fTo=q7();q7({strict:!0});q7({circular:!0});q7({circular:!0,strict:!0});q7({createInternalComparator:function(){return SM}});q7({strict:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM},strict:!0});function q7(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,o=t.createInternalComparator,i=t.createState,r=t.strict,a=r===void 0?!1:r,l=cTo(t),s=sTo(l),c=o?o(s):uTo(s);return dTo({circular:n,comparator:s,createState:i,equals:c,strict:a})}function hTo(t){typeof requestAnimationFrame<"u"&&requestAnimationFrame(t)}function bDe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,o=function i(r){n<0&&(n=r),r-n>e?(t(r),n=-1):hTo(i)};requestAnimationFrame(o)}function ihe(t){"@babel/helpers - typeof";return ihe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ihe(t)}function pTo(t){return ATo(t)||yTo(t)||mTo(t)||gTo()}function gTo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mTo(t,e){if(t){if(typeof t=="string")return SDe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return SDe(t,e)}}function SDe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?1:b<0?0:b},A=function(b){for(var C=b>1?1:b,P=C,v=0;v<8;++v){var T=d(P)-C,y=p(P);if(Math.abs(T-C)0&&arguments[0]!==void 0?arguments[0]:{},n=e.stiff,o=n===void 0?100:n,i=e.damping,r=i===void 0?8:i,a=e.dt,l=a===void 0?17:a,s=function(u,d,f){var p=-(u-d)*o,g=f*r,A=f+(p-g)*l/1e3,w=f*l/1e3+u;return Math.abs(w-d)t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function KTo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function tle(t){return ZTo(t)||QTo(t)||$To(t)||qTo()}function qTo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $To(t,e){if(t){if(typeof t=="string")return che(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return che(t,e)}}function QTo(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ZTo(t){if(Array.isArray(t))return che(t)}function che(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function kJ(t){return kJ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},kJ(t)}var Y2=function(t){iPo(n,t);var e=rPo(n);function n(o,i){var r;ePo(this,n),r=e.call(this,o,i);var a=r.props,l=a.isActive,s=a.attributeName,c=a.from,u=a.to,d=a.steps,f=a.children,p=a.duration;if(r.handleStyleChange=r.handleStyleChange.bind(fhe(r)),r.changeStyle=r.changeStyle.bind(fhe(r)),!l||p<=0)return r.state={style:{}},typeof f=="function"&&(r.state={style:u}),dhe(r);if(d&&d.length)r.state={style:d[0].style};else if(c){if(typeof f=="function")return r.state={style:c},dhe(r);r.state={style:s?LD({},s,c):c}}else r.state={style:{}};return r}return nPo(n,[{key:"componentDidMount",value:function(){var i=this.props,r=i.isActive,a=i.canBegin;this.mounted=!0,!(!r||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var r=this.props,a=r.isActive,l=r.canBegin,s=r.attributeName,c=r.shouldReAnimate,u=r.to,d=r.from,f=this.state.style;if(l){if(!a){var p={style:s?LD({},s,u):u};this.state&&f&&(s&&f[s]!==u||!s&&f!==u)&&this.setState(p);return}if(!(fTo(i.to,u)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var A=g||c?d:i.to;if(this.state&&f){var w={style:s?LD({},s,A):A};(s&&f[s]!==A||!s&&f!==A)&&this.setState(w)}this.runAnimation(_y(_y({},this.props),{},{from:A,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var r=this,a=i.from,l=i.to,s=i.duration,c=i.easing,u=i.begin,d=i.onAnimationEnd,f=i.onAnimationStart,p=GTo(a,l,FTo(c),s,this.changeStyle),g=function(){r.stopJSAnimation=p()};this.manager.start([f,u,g,s,d])}},{key:"runStepAnimation",value:function(i){var r=this,a=i.steps,l=i.begin,s=i.onAnimationStart,c=a[0],u=c.style,d=c.duration,f=d===void 0?0:d,p=function(A,w,b){if(b===0)return A;var C=w.duration,P=w.easing,v=P===void 0?"ease":P,T=w.style,y=w.properties,S=w.onAnimationEnd,x=b>0?a[b-1]:w,R=y||Object.keys(T);if(typeof v=="function"||v==="spring")return[].concat(tle(A),[r.runJSAnimation.bind(r,{from:x.style,to:T,duration:C,easing:v}),C]);var H=CDe(R,C,v),D=_y(_y(_y({},x.style),T),{},{transition:H});return[].concat(tle(A),[D,C,S]).filter(STo)};return this.manager.start([s].concat(tle(a.reduce(p,[u,Math.max(f,l)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=wTo());var r=i.begin,a=i.duration,l=i.attributeName,s=i.to,c=i.easing,u=i.onAnimationStart,d=i.onAnimationEnd,f=i.steps,p=i.children,g=this.manager;if(this.unSubscribe=g.subscribe(this.handleStyleChange),typeof c=="function"||typeof p=="function"||c==="spring"){this.runJSAnimation(i);return}if(f.length>1){this.runStepAnimation(i);return}var A=l?LD({},l,s):s,w=CDe(Object.keys(A),a,c);g.start([u,r,_y(_y({},A),{},{transition:w}),a,d])}},{key:"render",value:function(){var i=this.props,r=i.children;i.begin;var a=i.duration;i.attributeName,i.easing;var l=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var s=JTo(i,XTo),c=m.Children.count(r),u=this.state.style;if(typeof r=="function")return r(u);if(!l||c===0||a<=0)return r;var d=function(p){var g=p.props,A=g.style,w=A===void 0?{}:A,b=g.className,C=m.cloneElement(p,_y(_y({},s),{},{style:_y(_y({},w),u),className:b}));return C};return c===1?d(m.Children.only(r)):be.createElement("div",null,m.Children.map(r,function(f){return d(f)}))}}]),n}(m.PureComponent);Y2.displayName="Animate";Y2.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Y2.propTypes={from:fo.oneOfType([fo.object,fo.string]),to:fo.oneOfType([fo.object,fo.string]),attributeName:fo.string,duration:fo.number,begin:fo.number,easing:fo.oneOfType([fo.string,fo.func]),steps:fo.arrayOf(fo.shape({duration:fo.number.isRequired,style:fo.object.isRequired,easing:fo.oneOfType([fo.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),fo.func]),properties:fo.arrayOf("string"),onAnimationEnd:fo.func})),children:fo.oneOfType([fo.node,fo.func]),isActive:fo.bool,canBegin:fo.bool,onAnimationEnd:fo.func,shouldReAnimate:fo.bool,onAnimationStart:fo.func,onAnimationReStart:fo.func};fo.object,fo.object,fo.object,fo.element;fo.object,fo.object,fo.object,fo.oneOfType([fo.array,fo.element]),fo.any;function dL(t){"@babel/helpers - typeof";return dL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dL(t)}function FJ(){return FJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0?1:-1,s=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,u;if(a>0&&r instanceof Array){for(var d=[0,0,0,0],f=0,p=4;fa?a:r[f];u="M".concat(e,",").concat(n+l*d[0]),d[0]>0&&(u+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(e+s*d[0],",").concat(n)),u+="L ".concat(e+o-s*d[1],",").concat(n),d[1]>0&&(u+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(x.x,",").concat(x.y,"Z")}else T+="L".concat(n,",").concat(o,"Z");return T},FSo={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},alt=function(e){var n=sDe(sDe({},FSo),e),o=n.cx,i=n.cy,r=n.innerRadius,a=n.outerRadius,l=n.cornerRadius,s=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,f=n.className;if(a0&&Math.abs(u-d)<360?w=kSo({cx:o,cy:i,innerRadius:r,outerRadius:a,cornerRadius:Math.min(A,g/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:u,endAngle:d}):w=rlt({cx:o,cy:i,innerRadius:r,outerRadius:a,startAngle:u,endAngle:d}),be.createElement("path",nhe({},oa(n,!0),{className:p,d:w,role:"img"}))};function sL(t){"@babel/helpers - typeof";return sL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sL(t)}function ohe(){return ohe=Object.assign?Object.assign.bind():function(t){for(var e=1;e0;)if(!n.equals(t[o],e[o],o,o,t,e,n))return!1;return!0}function VSo(t,e){return SM(t.getTime(),e.getTime())}function mDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.entries(),r=0,a,l;(a=i.next())&&!a.done;){for(var s=e.entries(),c=!1,u=0;(l=s.next())&&!l.done;){var d=a.value,f=d[0],p=d[1],g=l.value,A=g[0],w=g[1];!c&&!o[u]&&(c=n.equals(f,A,r,u,t,e,n)&&n.equals(p,w,f,A,t,e,n))&&(o[u]=!0),u++}if(!c)return!1;r++}return!0}function GSo(t,e,n){var o=gDe(t),i=o.length;if(gDe(e).length!==i)return!1;for(var r;i-- >0;)if(r=o[i],r===slt&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!llt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function nD(t,e,n){var o=hDe(t),i=o.length;if(hDe(e).length!==i)return!1;for(var r,a,l;i-- >0;)if(r=o[i],r===slt&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!llt(e,r)||!n.equals(t[r],e[r],r,r,t,e,n)||(a=pDe(t,r),l=pDe(e,r),(a||l)&&(!a||!l||a.configurable!==l.configurable||a.enumerable!==l.enumerable||a.writable!==l.writable)))return!1;return!0}function XSo(t,e){return SM(t.valueOf(),e.valueOf())}function JSo(t,e){return t.source===e.source&&t.flags===e.flags}function yDe(t,e,n){if(t.size!==e.size)return!1;for(var o={},i=t.values(),r,a;(r=i.next())&&!r.done;){for(var l=e.values(),s=!1,c=0;(a=l.next())&&!a.done;)!s&&!o[c]&&(s=n.equals(r.value,a.value,r.value,a.value,t,e,n))&&(o[c]=!0),c++;if(!s)return!1}return!0}function KSo(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var qSo="[object Arguments]",$So="[object Boolean]",QSo="[object Date]",ZSo="[object Map]",eTo="[object Number]",tTo="[object Object]",nTo="[object RegExp]",oTo="[object Set]",iTo="[object String]",rTo=Array.isArray,ADe=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,wDe=Object.assign,aTo=Object.prototype.toString.call.bind(Object.prototype.toString);function lTo(t){var e=t.areArraysEqual,n=t.areDatesEqual,o=t.areMapsEqual,i=t.areObjectsEqual,r=t.arePrimitiveWrappersEqual,a=t.areRegExpsEqual,l=t.areSetsEqual,s=t.areTypedArraysEqual;return function(u,d,f){if(u===d)return!0;if(u==null||d==null||typeof u!="object"||typeof d!="object")return u!==u&&d!==d;var p=u.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(u,d,f);if(rTo(u))return e(u,d,f);if(ADe!=null&&ADe(u))return s(u,d,f);if(p===Date)return n(u,d,f);if(p===RegExp)return a(u,d,f);if(p===Map)return o(u,d,f);if(p===Set)return l(u,d,f);var g=aTo(u);return g===QSo?n(u,d,f):g===nTo?a(u,d,f):g===ZSo?o(u,d,f):g===oTo?l(u,d,f):g===tTo?typeof u.then!="function"&&typeof d.then!="function"&&i(u,d,f):g===qSo?i(u,d,f):g===$So||g===eTo||g===iTo?r(u,d,f):!1}}function sTo(t){var e=t.circular,n=t.createCustomConfig,o=t.strict,i={areArraysEqual:o?nD:_So,areDatesEqual:VSo,areMapsEqual:o?fDe(mDe,nD):mDe,areObjectsEqual:o?nD:GSo,arePrimitiveWrappersEqual:XSo,areRegExpsEqual:JSo,areSetsEqual:o?fDe(yDe,nD):yDe,areTypedArraysEqual:o?nD:KSo};if(n&&(i=wDe({},i,n(i))),e){var r=_O(i.areArraysEqual),a=_O(i.areMapsEqual),l=_O(i.areObjectsEqual),s=_O(i.areSetsEqual);i=wDe({},i,{areArraysEqual:r,areMapsEqual:a,areObjectsEqual:l,areSetsEqual:s})}return i}function cTo(t){return function(e,n,o,i,r,a,l){return t(e,n,l)}}function uTo(t){var e=t.circular,n=t.comparator,o=t.createState,i=t.equals,r=t.strict;if(o)return function(s,c){var u=o(),d=u.cache,f=d===void 0?e?new WeakMap:void 0:d,p=u.meta;return n(s,c,{cache:f,equals:i,meta:p,strict:r})};if(e)return function(s,c){return n(s,c,{cache:new WeakMap,equals:i,meta:void 0,strict:r})};var a={cache:void 0,equals:i,meta:void 0,strict:r};return function(s,c){return n(s,c,a)}}var dTo=q7();q7({strict:!0});q7({circular:!0});q7({circular:!0,strict:!0});q7({createInternalComparator:function(){return SM}});q7({strict:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM}});q7({circular:!0,createInternalComparator:function(){return SM},strict:!0});function q7(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,o=t.createInternalComparator,i=t.createState,r=t.strict,a=r===void 0?!1:r,l=sTo(t),s=lTo(l),c=o?o(s):cTo(s);return uTo({circular:n,comparator:s,createState:i,equals:c,strict:a})}function fTo(t){typeof requestAnimationFrame<"u"&&requestAnimationFrame(t)}function vDe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,o=function i(r){n<0&&(n=r),r-n>e?(t(r),n=-1):fTo(i)};requestAnimationFrame(o)}function ihe(t){"@babel/helpers - typeof";return ihe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ihe(t)}function hTo(t){return yTo(t)||mTo(t)||gTo(t)||pTo()}function pTo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gTo(t,e){if(t){if(typeof t=="string")return xDe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xDe(t,e)}}function xDe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n1?1:b<0?0:b},A=function(b){for(var C=b>1?1:b,P=C,v=0;v<8;++v){var T=d(P)-C,y=p(P);if(Math.abs(T-C)0&&arguments[0]!==void 0?arguments[0]:{},n=e.stiff,o=n===void 0?100:n,i=e.damping,r=i===void 0?8:i,a=e.dt,l=a===void 0?17:a,s=function(u,d,f){var p=-(u-d)*o,g=f*r,A=f+(p-g)*l/1e3,w=f*l/1e3+u;return Math.abs(w-d)t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function JTo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function tle(t){return QTo(t)||$To(t)||qTo(t)||KTo()}function KTo(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qTo(t,e){if(t){if(typeof t=="string")return che(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return che(t,e)}}function $To(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function QTo(t){if(Array.isArray(t))return che(t)}function che(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function kJ(t){return kJ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},kJ(t)}var Y2=function(t){oPo(n,t);var e=iPo(n);function n(o,i){var r;ZTo(this,n),r=e.call(this,o,i);var a=r.props,l=a.isActive,s=a.attributeName,c=a.from,u=a.to,d=a.steps,f=a.children,p=a.duration;if(r.handleStyleChange=r.handleStyleChange.bind(fhe(r)),r.changeStyle=r.changeStyle.bind(fhe(r)),!l||p<=0)return r.state={style:{}},typeof f=="function"&&(r.state={style:u}),dhe(r);if(d&&d.length)r.state={style:d[0].style};else if(c){if(typeof f=="function")return r.state={style:c},dhe(r);r.state={style:s?LD({},s,c):c}}else r.state={style:{}};return r}return tPo(n,[{key:"componentDidMount",value:function(){var i=this.props,r=i.isActive,a=i.canBegin;this.mounted=!0,!(!r||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var r=this.props,a=r.isActive,l=r.canBegin,s=r.attributeName,c=r.shouldReAnimate,u=r.to,d=r.from,f=this.state.style;if(l){if(!a){var p={style:s?LD({},s,u):u};this.state&&f&&(s&&f[s]!==u||!s&&f!==u)&&this.setState(p);return}if(!(dTo(i.to,u)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var A=g||c?d:i.to;if(this.state&&f){var w={style:s?LD({},s,A):A};(s&&f[s]!==A||!s&&f!==A)&&this.setState(w)}this.runAnimation(_y(_y({},this.props),{},{from:A,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var r=this,a=i.from,l=i.to,s=i.duration,c=i.easing,u=i.begin,d=i.onAnimationEnd,f=i.onAnimationStart,p=VTo(a,l,kTo(c),s,this.changeStyle),g=function(){r.stopJSAnimation=p()};this.manager.start([f,u,g,s,d])}},{key:"runStepAnimation",value:function(i){var r=this,a=i.steps,l=i.begin,s=i.onAnimationStart,c=a[0],u=c.style,d=c.duration,f=d===void 0?0:d,p=function(A,w,b){if(b===0)return A;var C=w.duration,P=w.easing,v=P===void 0?"ease":P,T=w.style,y=w.properties,S=w.onAnimationEnd,x=b>0?a[b-1]:w,R=y||Object.keys(T);if(typeof v=="function"||v==="spring")return[].concat(tle(A),[r.runJSAnimation.bind(r,{from:x.style,to:T,duration:C,easing:v}),C]);var H=TDe(R,C,v),D=_y(_y(_y({},x.style),T),{},{transition:H});return[].concat(tle(A),[D,C,S]).filter(bTo)};return this.manager.start([s].concat(tle(a.reduce(p,[u,Math.max(f,l)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=ATo());var r=i.begin,a=i.duration,l=i.attributeName,s=i.to,c=i.easing,u=i.onAnimationStart,d=i.onAnimationEnd,f=i.steps,p=i.children,g=this.manager;if(this.unSubscribe=g.subscribe(this.handleStyleChange),typeof c=="function"||typeof p=="function"||c==="spring"){this.runJSAnimation(i);return}if(f.length>1){this.runStepAnimation(i);return}var A=l?LD({},l,s):s,w=TDe(Object.keys(A),a,c);g.start([u,r,_y(_y({},A),{},{transition:w}),a,d])}},{key:"render",value:function(){var i=this.props,r=i.children;i.begin;var a=i.duration;i.attributeName,i.easing;var l=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var s=XTo(i,GTo),c=m.Children.count(r),u=this.state.style;if(typeof r=="function")return r(u);if(!l||c===0||a<=0)return r;var d=function(p){var g=p.props,A=g.style,w=A===void 0?{}:A,b=g.className,C=m.cloneElement(p,_y(_y({},s),{},{style:_y(_y({},w),u),className:b}));return C};return c===1?d(m.Children.only(r)):be.createElement("div",null,m.Children.map(r,function(f){return d(f)}))}}]),n}(m.PureComponent);Y2.displayName="Animate";Y2.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Y2.propTypes={from:fo.oneOfType([fo.object,fo.string]),to:fo.oneOfType([fo.object,fo.string]),attributeName:fo.string,duration:fo.number,begin:fo.number,easing:fo.oneOfType([fo.string,fo.func]),steps:fo.arrayOf(fo.shape({duration:fo.number.isRequired,style:fo.object.isRequired,easing:fo.oneOfType([fo.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),fo.func]),properties:fo.arrayOf("string"),onAnimationEnd:fo.func})),children:fo.oneOfType([fo.node,fo.func]),isActive:fo.bool,canBegin:fo.bool,onAnimationEnd:fo.func,shouldReAnimate:fo.bool,onAnimationStart:fo.func,onAnimationReStart:fo.func};fo.object,fo.object,fo.object,fo.element;fo.object,fo.object,fo.object,fo.oneOfType([fo.array,fo.element]),fo.any;function dL(t){"@babel/helpers - typeof";return dL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dL(t)}function FJ(){return FJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0?1:-1,s=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,u;if(a>0&&r instanceof Array){for(var d=[0,0,0,0],f=0,p=4;fa?a:r[f];u="M".concat(e,",").concat(n+l*d[0]),d[0]>0&&(u+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(e+s*d[0],",").concat(n)),u+="L ".concat(e+o-s*d[1],",").concat(n),d[1]>0&&(u+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, `).concat(e+o,",").concat(n+l*d[1])),u+="L ".concat(e+o,",").concat(n+i-l*d[2]),d[2]>0&&(u+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(c,`, `).concat(e+o-s*d[2],",").concat(n+i)),u+="L ".concat(e+s*d[3],",").concat(n+i),d[3]>0&&(u+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(c,`, `).concat(e,",").concat(n+i-l*d[3])),u+="Z"}else if(a>0&&r===+r&&r>0){var g=Math.min(a,r);u="M ".concat(e,",").concat(n+l*g,` @@ -8647,13 +8647,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L `).concat(e+o,",").concat(n+i-l*g,` A `).concat(g,",").concat(g,",0,0,").concat(c,",").concat(e+o-s*g,",").concat(n+i,` L `).concat(e+s*g,",").concat(n+i,` - A `).concat(g,",").concat(g,",0,0,").concat(c,",").concat(e,",").concat(n+i-l*g," Z")}else u="M ".concat(e,",").concat(n," h ").concat(o," v ").concat(i," h ").concat(-o," Z");return u},gPo=function(e,n){if(!e||!n)return!1;var o=e.x,i=e.y,r=n.x,a=n.y,l=n.width,s=n.height;if(Math.abs(l)>0&&Math.abs(s)>0){var c=Math.min(r,r+l),u=Math.max(r,r+l),d=Math.min(a,a+s),f=Math.max(a,a+s);return o>=c&&o<=u&&i>=d&&i<=f}return!1},mPo={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},C3e=function(e){var n=kDe(kDe({},mPo),e),o=m.useRef(),i=m.useState(-1),r=lPo(i,2),a=r[0],l=r[1];m.useEffect(function(){if(o.current&&o.current.getTotalLength)try{var v=o.current.getTotalLength();v&&l(v)}catch{}},[]);var s=n.x,c=n.y,u=n.width,d=n.height,f=n.radius,p=n.className,g=n.animationEasing,A=n.animationDuration,w=n.animationBegin,b=n.isAnimationActive,C=n.isUpdateAnimationActive;if(s!==+s||c!==+c||u!==+u||d!==+d||u===0||d===0)return null;var P=cl("recharts-rectangle",p);return C?be.createElement(Y2,{canBegin:a>0,from:{width:u,height:d,x:s,y:c},to:{width:u,height:d,x:s,y:c},duration:A,animationEasing:g,isActive:C},function(v){var T=v.width,y=v.height,S=v.x,x=v.y;return be.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:w,duration:A,isActive:b,easing:g},be.createElement("path",FJ({},oa(n,!0),{className:P,d:FDe(S,x,T,y,f),ref:o})))}):be.createElement("path",FJ({},oa(n,!0),{className:P,d:FDe(s,c,u,d,f)}))};function hhe(){return hhe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function SPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var TPo=function(e,n,o,i,r,a){return"M".concat(e,",").concat(r,"v").concat(i,"M").concat(a,",").concat(n,"h").concat(o)},PPo=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.top,l=a===void 0?0:a,s=e.left,c=s===void 0?0:s,u=e.width,d=u===void 0?0:u,f=e.height,p=f===void 0?0:f,g=e.className,A=bPo(e,yPo),w=APo({x:o,y:r,top:l,left:c,width:d,height:p},A);return!ci(o)||!ci(r)||!ci(d)||!ci(p)||!ci(l)||!ci(c)?null:be.createElement("path",phe({},oa(w,!0),{className:cl("recharts-cross",g),d:TPo(o,r,d,p,l,c)}))},CPo=yA,RPo=e5,HPo="[object Boolean]";function MPo(t){return t===!0||t===!1||RPo(t)&&CPo(t)==HPo}var IPo=MPo;const zPo=kr(IPo);function hL(t){"@babel/helpers - typeof";return hL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hL(t)}function LJ(){return LJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:s,y:c},to:{upperWidth:u,lowerWidth:d,height:f,x:s,y:c},duration:A,animationEasing:g,isActive:b},function(P){var v=P.upperWidth,T=P.lowerWidth,y=P.height,S=P.x,x=P.y;return be.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:w,duration:A,easing:g},be.createElement("path",LJ({},oa(n,!0),{className:C,d:BDe(S,x,v,T,y),ref:o})))}):be.createElement("g",null,be.createElement("path",LJ({},oa(n,!0),{className:C,d:BDe(s,c,u,d,f)})))},YPo=["option","shapeType","propTransformer","activeClassName","isActive"];function pL(t){"@babel/helpers - typeof";return pL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pL(t)}function OPo(t,e){if(t==null)return{};var n=_Po(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function _Po(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function jDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function WJ(t){for(var e=1;e0&&o.handleDrag(i.changedTouches[0])}),J1(O5(o),"handleDragEnd",function(){o.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=o.props,r=i.endIndex,a=i.onDragEnd,l=i.startIndex;a==null||a({endIndex:r,startIndex:l})}),o.detachDragEndListener()}),J1(O5(o),"handleLeaveWrapper",function(){(o.state.isTravellerMoving||o.state.isSlideMoving)&&(o.leaveTimer=window.setTimeout(o.handleDragEnd,o.props.leaveTimeOut))}),J1(O5(o),"handleEnterSlideOrTraveller",function(){o.setState({isTextActive:!0})}),J1(O5(o),"handleLeaveSlideOrTraveller",function(){o.setState({isTextActive:!1})}),J1(O5(o),"handleSlideDragStart",function(i){var r=JDe(i)?i.changedTouches[0]:i;o.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:r.pageX}),o.attachDragEndListener()}),o.travellerDragStartHandlers={startX:o.handleTravellerDragStart.bind(O5(o),"startX"),endX:o.handleTravellerDragStart.bind(O5(o),"endX")},o.state={},o}return SCo(e,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(o){var i=o.startX,r=o.endX,a=this.state.scaleValues,l=this.props,s=l.gap,c=l.data,u=c.length-1,d=Math.min(i,r),f=Math.max(i,r),p=e.getIndexInRange(a,d),g=e.getIndexInRange(a,f);return{startIndex:p-p%s,endIndex:g===u?u:g-g%s}}},{key:"getTextOfTick",value:function(o){var i=this.props,r=i.data,a=i.tickFormatter,l=i.dataKey,s=Uu(r[o],l,o);return Aa(a)?a(s,o):s}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(o){var i=this.state,r=i.slideMoveStartX,a=i.startX,l=i.endX,s=this.props,c=s.x,u=s.width,d=s.travellerWidth,f=s.startIndex,p=s.endIndex,g=s.onChange,A=o.pageX-r;A>0?A=Math.min(A,c+u-d-l,c+u-d-a):A<0&&(A=Math.max(A,c-a,c-l));var w=this.getIndex({startX:a+A,endX:l+A});(w.startIndex!==f||w.endIndex!==p)&&g&&g(w),this.setState({startX:a+A,endX:l+A,slideMoveStartX:o.pageX})}},{key:"handleTravellerDragStart",value:function(o,i){var r=JDe(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:o,brushMoveStartX:r.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(o){var i=this.state,r=i.brushMoveStartX,a=i.movingTravellerId,l=i.endX,s=i.startX,c=this.state[a],u=this.props,d=u.x,f=u.width,p=u.travellerWidth,g=u.onChange,A=u.gap,w=u.data,b={startX:this.state.startX,endX:this.state.endX},C=o.pageX-r;C>0?C=Math.min(C,d+f-p-c):C<0&&(C=Math.max(C,d-c)),b[a]=c+C;var P=this.getIndex(b),v=P.startIndex,T=P.endIndex,y=function(){var x=w.length-1;return a==="startX"&&(l>s?v%A===0:T%A===0)||ls?T%A===0:v%A===0)||l>s&&T===x};this.setState(J1(J1({},a,c+C),"brushMoveStartX",o.pageX),function(){g&&y()&&g(P)})}},{key:"handleTravellerMoveKeyboard",value:function(o,i){var r=this,a=this.state,l=a.scaleValues,s=a.startX,c=a.endX,u=this.state[i],d=l.indexOf(u);if(d!==-1){var f=d+o;if(!(f===-1||f>=l.length)){var p=l[f];i==="startX"&&p>=c||i==="endX"&&p<=s||this.setState(J1({},i,p),function(){r.props.onChange(r.getIndex({startX:r.state.startX,endX:r.state.endX}))})}}}},{key:"renderBackground",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.fill,c=o.stroke;return be.createElement("rect",{stroke:c,fill:s,x:i,y:r,width:a,height:l})}},{key:"renderPanorama",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.data,c=o.children,u=o.padding,d=m.Children.only(c);return d?be.cloneElement(d,{x:i,y:r,width:a,height:l,margin:u,compact:!0,data:s}):null}},{key:"renderTravellerLayer",value:function(o,i){var r,a,l=this,s=this.props,c=s.y,u=s.travellerWidth,d=s.height,f=s.traveller,p=s.ariaLabel,g=s.data,A=s.startIndex,w=s.endIndex,b=Math.max(o,this.props.x),C=ole(ole({},oa(this.props,!1)),{},{x:b,y:c,width:u,height:d}),P=p||"Min value: ".concat((r=g[A])===null||r===void 0?void 0:r.name,", Max value: ").concat((a=g[w])===null||a===void 0?void 0:a.name);return be.createElement(Bl,{tabIndex:0,role:"slider","aria-label":P,"aria-valuenow":o,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(T){["ArrowLeft","ArrowRight"].includes(T.key)&&(T.preventDefault(),T.stopPropagation(),l.handleTravellerMoveKeyboard(T.key==="ArrowRight"?1:-1,i))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},e.renderTraveller(f,C))}},{key:"renderSlide",value:function(o,i){var r=this.props,a=r.y,l=r.height,s=r.stroke,c=r.travellerWidth,u=Math.min(o,i)+c,d=Math.max(Math.abs(i-o)-c,0);return be.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:s,fillOpacity:.2,x:u,y:a,width:d,height:l})}},{key:"renderText",value:function(){var o=this.props,i=o.startIndex,r=o.endIndex,a=o.y,l=o.height,s=o.travellerWidth,c=o.stroke,u=this.state,d=u.startX,f=u.endX,p=5,g={pointerEvents:"none",fill:c};return be.createElement(Bl,{className:"recharts-brush-texts"},be.createElement(yJ,UJ({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,f)-p,y:a+l/2},g),this.getTextOfTick(i)),be.createElement(yJ,UJ({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,f)+s+p,y:a+l/2},g),this.getTextOfTick(r)))}},{key:"render",value:function(){var o=this.props,i=o.data,r=o.className,a=o.children,l=o.x,s=o.y,c=o.width,u=o.height,d=o.alwaysShowText,f=this.state,p=f.startX,g=f.endX,A=f.isTextActive,w=f.isSlideMoving,b=f.isTravellerMoving,C=f.isTravellerFocused;if(!i||!i.length||!ci(l)||!ci(s)||!ci(c)||!ci(u)||c<=0||u<=0)return null;var P=cl("recharts-brush",r),v=be.Children.count(a)===1,T=xCo("userSelect","none");return be.createElement(Bl,{className:P,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:T},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(p,g),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(g,"endX"),(A||w||b||C||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(o){var i=o.x,r=o.y,a=o.width,l=o.height,s=o.stroke,c=Math.floor(r+l/2)-1;return be.createElement(be.Fragment,null,be.createElement("rect",{x:i,y:r,width:a,height:l,fill:s,stroke:"none"}),be.createElement("line",{x1:i+1,y1:c,x2:i+a-1,y2:c,fill:"none",stroke:"#fff"}),be.createElement("line",{x1:i+1,y1:c+2,x2:i+a-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(o,i){var r;return be.isValidElement(o)?r=be.cloneElement(o,i):Aa(o)?r=o(i):r=e.renderDefaultTraveller(i),r}},{key:"getDerivedStateFromProps",value:function(o,i){var r=o.data,a=o.width,l=o.x,s=o.travellerWidth,c=o.updateId,u=o.startIndex,d=o.endIndex;if(r!==i.prevData||c!==i.prevUpdateId)return ole({prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a},r&&r.length?HCo({data:r,width:a,x:l,travellerWidth:s,startIndex:u,endIndex:d}):{scale:null,scaleValues:null});if(i.scale&&(a!==i.prevWidth||l!==i.prevX||s!==i.prevTravellerWidth)){i.scale.range([l,l+a-s]);var f=i.scale.domain().map(function(p){return i.scale(p)});return{prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a,startX:i.scale(o.startIndex),endX:i.scale(o.endIndex),scaleValues:f}}return null}},{key:"getIndexInRange",value:function(o,i){for(var r=o.length,a=0,l=r-1;l-a>1;){var s=Math.floor((a+l)/2);o[s]>i?l=s:a=s}return i>=o[l]?l:a}}]),e}(m.PureComponent);J1(ZR,"displayName","Brush");J1(ZR,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var MCo=P5e;function ICo(t,e){var n;return MCo(t,function(o,i,r){return n=e(o,i,r),!n}),!!n}var zCo=ICo,DCo=tnt,ECo=_7,kCo=zCo,FCo=mp,LCo=Pee;function WCo(t,e,n){var o=FCo(t)?DCo:kCo;return n&&LCo(t,e,n)&&(e=void 0),o(t,ECo(e))}var NCo=WCo;const UCo=kr(NCo);var C9=function(e,n){var o=e.alwaysShow,i=e.ifOverflow;return o&&(i="extendDomain"),i===n},BCo=C5e,jCo=d5e,YCo=_7;function OCo(t,e){var n={};return e=YCo(e),jCo(t,function(o,i,r){BCo(n,i,e(o,i,r))}),n}var _Co=OCo;const VCo=kr(_Co);function GCo(t,e){for(var n=-1,o=t==null?0:t.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function cRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function uRo(t,e){var n=t.x,o=t.y,i=sRo(t,iRo),r="".concat(n),a=parseInt(r,10),l="".concat(o),s=parseInt(l,10),c="".concat(e.height||i.height),u=parseInt(c,10),d="".concat(e.width||i.width),f=parseInt(d,10);return oD(oD(oD(oD(oD({},e),i),a?{x:a}:{}),s?{y:s}:{}),{},{height:u,width:f,name:e.name,radius:e.radius})}function qDe(t){return be.createElement(ghe,yhe({shapeType:"rectangle",propTransformer:uRo,activeClassName:"recharts-active-bar"},t))}var dRo=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(o,i){if(typeof e=="number")return e;var r=typeof o=="number";return r?e(o,i):(r||cb(),n)}},fRo=["value","background"],blt;function eH(t){"@babel/helpers - typeof";return eH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},eH(t)}function hRo(t,e){if(t==null)return{};var n=pRo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function pRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function jJ(){return jJ=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&Math.abs(N)0&&Math.abs(W)0&&(W=Math.min((Z||0)-(N[ie-1]||0),W))}),Number.isFinite(W)){var L=W/k,E=A.layout==="vertical"?o.height:o.width;if(A.padding==="gap"&&(S=L*E/2),A.padding==="no-gap"){var U=ab(e.barCategoryGap,L*E),F=L*E/2;S=F-U-(F-U)/E*U}}}i==="xAxis"?x=[o.left+(P.left||0)+(S||0),o.left+o.width-(P.right||0)-(S||0)]:i==="yAxis"?x=s==="horizontal"?[o.top+o.height-(P.bottom||0),o.top+(P.top||0)]:[o.top+(P.top||0)+(S||0),o.top+o.height-(P.bottom||0)-(S||0)]:x=A.range,T&&(x=[x[1],x[0]]);var B=Hbo(A,r,f),_=B.scale,Y=B.realScaleType;_.domain(b).range(x),Mbo(_);var O=Wbo(_,l2(l2({},A),{},{realScaleType:Y}));i==="xAxis"?(D=w==="top"&&!v||w==="bottom"&&v,R=o.left,H=d[y]-D*A.height):i==="yAxis"&&(D=w==="left"&&!v||w==="right"&&v,R=d[y]-D*A.width,H=o.top);var J=l2(l2(l2({},A),O),{},{realScaleType:Y,x:R,y:H,scale:_,width:i==="xAxis"?o.width:A.width,height:i==="yAxis"?o.height:A.height});return J.bandSize=MJ(J,O),!A.hide&&i==="xAxis"?d[y]+=(D?-1:1)*J.height:A.hide||(d[y]+=(D?-1:1)*J.width),l2(l2({},p),{},Nee({},g,J))},{})},Clt=function(e,n){var o=e.x,i=e.y,r=n.x,a=n.y;return{x:Math.min(o,r),y:Math.min(i,a),width:Math.abs(r-o),height:Math.abs(a-i)}},TRo=function(e){var n=e.x1,o=e.y1,i=e.x2,r=e.y2;return Clt({x:n,y:o},{x:i,y:r})},Rlt=function(){function t(e){xRo(this,t),this.scale=e}return bRo(t,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=o.bandAware,r=o.position;if(n!==void 0){if(r)switch(r){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(n)+l}default:return this.scale(n)}if(i){var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+s}return this.scale(n)}}},{key:"isInRange",value:function(n){var o=this.range(),i=o[0],r=o[o.length-1];return i<=r?n>=i&&n<=r:n>=r&&n<=i}}],[{key:"create",value:function(n){return new t(n)}}]),t}();Nee(Rlt,"EPS",1e-4);var R3e=function(e){var n=Object.keys(e).reduce(function(o,i){return l2(l2({},o),{},Nee({},i,Rlt.create(e[i])))},{});return l2(l2({},n),{},{apply:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,l=r.position;return VCo(i,function(s,c){return n[c].apply(s,{bandAware:a,position:l})})},isInRange:function(i){return xlt(i,function(r,a){return n[a].isInRange(r)})}})};function PRo(t){return(t%180+180)%180}var CRo=function(e){var n=e.width,o=e.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=PRo(i),a=r*Math.PI/180,l=Math.atan(o/n),s=a>l&&a-1?i[r?e[a]:a]:void 0}}var zRo=IRo,DRo=ylt;function ERo(t){var e=DRo(t),n=e%1;return e===e?n?e-n:e:0}var kRo=ERo,FRo=_rt,LRo=_7,WRo=kRo,NRo=Math.max;function URo(t,e,n){var o=t==null?0:t.length;if(!o)return-1;var i=n==null?0:WRo(n);return i<0&&(i=NRo(o+i,0)),FRo(t,LRo(e),i)}var BRo=URo,jRo=zRo,YRo=BRo,ORo=jRo(YRo),_Ro=ORo;const VRo=kr(_Ro);var GRo=zqn(function(t){return{x:t.left,y:t.top,width:t.width,height:t.height}},function(t){return["l",t.left,"t",t.top,"w",t.width,"h",t.height].join("")}),H3e=m.createContext(void 0),M3e=m.createContext(void 0),Hlt=m.createContext(void 0),Mlt=m.createContext({}),Ilt=m.createContext(void 0),zlt=m.createContext(0),Dlt=m.createContext(0),tEe=function(e){var n=e.state,o=n.xAxisMap,i=n.yAxisMap,r=n.offset,a=e.clipPathId,l=e.children,s=e.width,c=e.height,u=GRo(r);return be.createElement(H3e.Provider,{value:o},be.createElement(M3e.Provider,{value:i},be.createElement(Mlt.Provider,{value:r},be.createElement(Hlt.Provider,{value:u},be.createElement(Ilt.Provider,{value:a},be.createElement(zlt.Provider,{value:c},be.createElement(Dlt.Provider,{value:s},l)))))))},XRo=function(){return m.useContext(Ilt)},Elt=function(e){var n=m.useContext(H3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},JRo=function(){var e=m.useContext(H3e);return iw(e)},KRo=function(){var e=m.useContext(M3e),n=VRo(e,function(o){return xlt(o.domain,Number.isFinite)});return n||iw(e)},klt=function(e){var n=m.useContext(M3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},qRo=function(){var e=m.useContext(Hlt);return e},$Ro=function(){return m.useContext(Mlt)},I3e=function(){return m.useContext(Dlt)},z3e=function(){return m.useContext(zlt)};function wL(t){"@babel/helpers - typeof";return wL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wL(t)}function nEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function oEe(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nt*i)return!1;var r=n();return t*(e-t*r/2-o)>=0&&t*(e+t*r/2-i)<=0}function AHo(t,e){return Flt(t,e+1)}function wHo(t,e,n,o,i){for(var r=(o||[]).slice(),a=e.start,l=e.end,s=0,c=1,u=a,d=function(){var g=o==null?void 0:o[s];if(g===void 0)return{v:Flt(o,c)};var A=s,w,b=function(){return w===void 0&&(w=n(g,A)),w},C=g.coordinate,P=s===0||OJ(t,C,b,u,l);P||(s=0,u=a,c+=1),P&&(u=C+t*(b()/2+i),s+=c)},f;c<=r.length;)if(f=d(),f)return f.v;return[]}function bL(t){"@babel/helpers - typeof";return bL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bL(t)}function cEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Jf(t){for(var e=1;e0?p.coordinate-w*t:p.coordinate})}else r[f]=p=Jf(Jf({},p),{},{tickCoord:p.coordinate});var b=OJ(t,p.tickCoord,A,l,s);b&&(s=p.tickCoord-t*(A()/2+i),r[f]=Jf(Jf({},p),{},{isShow:!0}))},u=a-1;u>=0;u--)c(u);return r}function THo(t,e,n,o,i,r){var a=(o||[]).slice(),l=a.length,s=e.start,c=e.end;if(r){var u=o[l-1],d=n(u,l-1),f=t*(u.coordinate+t*d/2-c);a[l-1]=u=Jf(Jf({},u),{},{tickCoord:f>0?u.coordinate-f*t:u.coordinate});var p=OJ(t,u.tickCoord,function(){return d},s,c);p&&(c=u.tickCoord-t*(d/2+i),a[l-1]=Jf(Jf({},u),{},{isShow:!0}))}for(var g=r?l-1:l,A=function(C){var P=a[C],v,T=function(){return v===void 0&&(v=n(P,C)),v};if(C===0){var y=t*(P.coordinate-t*T()/2-s);a[C]=P=Jf(Jf({},P),{},{tickCoord:y<0?P.coordinate-y*t:P.coordinate})}else a[C]=P=Jf(Jf({},P),{},{tickCoord:P.coordinate});var S=OJ(t,P.tickCoord,T,s,c);S&&(s=P.tickCoord+t*(T()/2+i),a[C]=Jf(Jf({},P),{},{isShow:!0}))},w=0;w=2?x2(i[1].coordinate-i[0].coordinate):1,b=yHo(r,w,p);return s==="equidistantPreserveStart"?wHo(w,b,A,i,a):(s==="preserveStart"||s==="preserveStartEnd"?f=THo(w,b,A,i,a,s==="preserveStartEnd"):f=SHo(w,b,A,i,a),f.filter(function(C){return C.isShow}))}var PHo=["viewBox"],CHo=["viewBox"],RHo=["ticks"];function tH(t){"@babel/helpers - typeof";return tH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tH(t)}function iC(){return iC=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function HHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function MHo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function dEe(t,e){for(var n=0;n0?s(this.props):s(p)),a<=0||l<=0||!g||!g.length?null:be.createElement(Bl,{className:cl("recharts-cartesian-axis",c),ref:function(w){o.layerReference=w}},r&&this.renderAxisLine(),this.renderTicks(g,this.state.fontSize,this.state.letterSpacing),Zl.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(o,i,r){var a;return be.isValidElement(o)?a=be.cloneElement(o,i):Aa(o)?a=o(i):a=be.createElement(yJ,iC({},i,{className:"recharts-cartesian-axis-tick-value"}),r),a}}]),e}(m.Component);E3e(TM,"displayName","CartesianAxis");E3e(TM,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var LHo=["x1","y1","x2","y2","key"],WHo=["offset"];function ub(t){"@babel/helpers - typeof";return ub=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ub(t)}function fEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function rh(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function jHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var YHo=function(e){var n=e.fill;if(!n||n==="none")return null;var o=e.fillOpacity,i=e.x,r=e.y,a=e.width,l=e.height;return be.createElement("rect",{x:i,y:r,width:a,height:l,stroke:"none",fill:n,fillOpacity:o,className:"recharts-cartesian-grid-bg"})};function Nlt(t,e){var n;if(be.isValidElement(t))n=be.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=e.x1,i=e.y1,r=e.x2,a=e.y2,l=e.key,s=hEe(e,LHo),c=oa(s,!1);c.offset;var u=hEe(c,WHo);n=be.createElement("line",qv({},u,{x1:o,y1:i,x2:r,y2:a,fill:"none",key:l}))}return n}function OHo(t){var e=t.x,n=t.width,o=t.horizontal,i=o===void 0?!0:o,r=t.horizontalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:e,y1:l,x2:e+n,y2:l,key:"line-".concat(s),index:s});return Nlt(i,c)});return be.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function _Ho(t){var e=t.y,n=t.height,o=t.vertical,i=o===void 0?!0:o,r=t.verticalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:l,y1:e,x2:l,y2:e+n,key:"line-".concat(s),index:s});return Nlt(i,c)});return be.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function VHo(t){var e=t.horizontalFill,n=t.fillOpacity,o=t.x,i=t.y,r=t.width,a=t.height,l=t.horizontalPoints,s=t.horizontal,c=s===void 0?!0:s;if(!c||!e||!e.length)return null;var u=l.map(function(f){return Math.round(f+i-i)}).sort(function(f,p){return f-p});i!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],A=g?i+a-f:u[p+1]-f;if(A<=0)return null;var w=p%e.length;return be.createElement("rect",{key:"react-".concat(p),y:f,x:o,height:A,width:r,stroke:"none",fill:e[w],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return be.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function GHo(t){var e=t.vertical,n=e===void 0?!0:e,o=t.verticalFill,i=t.fillOpacity,r=t.x,a=t.y,l=t.width,s=t.height,c=t.verticalPoints;if(!n||!o||!o.length)return null;var u=c.map(function(f){return Math.round(f+r-r)}).sort(function(f,p){return f-p});r!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],A=g?r+l-f:u[p+1]-f;if(A<=0)return null;var w=p%o.length;return be.createElement("rect",{key:"react-".concat(p),x:f,y:a,width:A,height:s,stroke:"none",fill:o[w],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return be.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var XHo=function(e,n){var o=e.xAxis,i=e.width,r=e.height,a=e.offset;return olt(D3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.left,a.left+a.width,n)},JHo=function(e,n){var o=e.yAxis,i=e.width,r=e.height,a=e.offset;return olt(D3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.top,a.top+a.height,n)},GT={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function A7(t){var e,n,o,i,r,a,l=I3e(),s=z3e(),c=$Ro(),u=rh(rh({},t),{},{stroke:(e=t.stroke)!==null&&e!==void 0?e:GT.stroke,fill:(n=t.fill)!==null&&n!==void 0?n:GT.fill,horizontal:(o=t.horizontal)!==null&&o!==void 0?o:GT.horizontal,horizontalFill:(i=t.horizontalFill)!==null&&i!==void 0?i:GT.horizontalFill,vertical:(r=t.vertical)!==null&&r!==void 0?r:GT.vertical,verticalFill:(a=t.verticalFill)!==null&&a!==void 0?a:GT.verticalFill,x:ci(t.x)?t.x:c.left,y:ci(t.y)?t.y:c.top,width:ci(t.width)?t.width:c.width,height:ci(t.height)?t.height:c.height}),d=u.x,f=u.y,p=u.width,g=u.height,A=u.syncWithTicks,w=u.horizontalValues,b=u.verticalValues,C=JRo(),P=KRo();if(!ci(p)||p<=0||!ci(g)||g<=0||!ci(d)||d!==+d||!ci(f)||f!==+f)return null;var v=u.verticalCoordinatesGenerator||XHo,T=u.horizontalCoordinatesGenerator||JHo,y=u.horizontalPoints,S=u.verticalPoints;if((!y||!y.length)&&Aa(T)){var x=w&&w.length,R=T({yAxis:P?rh(rh({},P),{},{ticks:x?w:P.ticks}):void 0,width:l,height:s,offset:c},x?!0:A);E6(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(ub(R),"]")),Array.isArray(R)&&(y=R)}if((!S||!S.length)&&Aa(v)){var H=b&&b.length,D=v({xAxis:C?rh(rh({},C),{},{ticks:H?b:C.ticks}):void 0,width:l,height:s,offset:c},H?!0:A);E6(Array.isArray(D),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(ub(D),"]")),Array.isArray(D)&&(S=D)}return be.createElement("g",{className:"recharts-cartesian-grid"},be.createElement(YHo,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height}),be.createElement(OHo,qv({},u,{offset:c,horizontalPoints:y,xAxis:C,yAxis:P})),be.createElement(_Ho,qv({},u,{offset:c,verticalPoints:S,xAxis:C,yAxis:P})),be.createElement(VHo,qv({},u,{horizontalPoints:y})),be.createElement(GHo,qv({},u,{verticalPoints:S})))}A7.displayName="CartesianGrid";var KHo=["type","layout","connectNulls","ref"];function nH(t){"@babel/helpers - typeof";return nH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nH(t)}function qHo(t,e){if(t==null)return{};var n=$Ho(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function $Ho(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function WE(){return WE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nd){p=[].concat(XT(s.slice(0,g)),[d-A]);break}var w=p.length%2===0?[0,f]:[f];return[].concat(XT(e.repeat(s,u)),XT(p),w).map(function(b){return"".concat(b,"px")}).join(", ")}),s2(L4(n),"id",oS("recharts-line-")),s2(L4(n),"pathRef",function(a){n.mainCurve=a}),s2(L4(n),"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),s2(L4(n),"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return oMo(e,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();this.setState({totalLength:o})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();o!==this.state.totalLength&&this.setState({totalLength:o})}}},{key:"getTotalLength",value:function(){var o=this.mainCurve;try{return o&&o.getTotalLength&&o.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(o,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var r=this.props,a=r.points,l=r.xAxis,s=r.yAxis,c=r.layout,u=r.children,d=Kp(u,bM);if(!d)return null;var f=function(A,w){return{x:A.x,y:A.y,value:A.value,errorVal:Uu(A.payload,w)}},p={clipPath:o?"url(#clipPath-".concat(i,")"):null};return be.createElement(Bl,p,d.map(function(g){return be.cloneElement(g,{key:"bar-".concat(g.props.dataKey),data:a,xAxis:l,yAxis:s,layout:c,dataPointFormatter:f})}))}},{key:"renderDots",value:function(o,i,r){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var l=this.props,s=l.dot,c=l.points,u=l.dataKey,d=oa(this.props,!1),f=oa(s,!0),p=c.map(function(A,w){var b=G1(G1(G1({key:"dot-".concat(w),r:3},d),f),{},{value:A.value,dataKey:u,cx:A.x,cy:A.y,index:w,payload:A.payload});return e.renderDotItem(s,b)}),g={clipPath:o?"url(#clipPath-".concat(i?"":"dots-").concat(r,")"):null};return be.createElement(Bl,WE({className:"recharts-line-dots",key:"dots"},g),p)}},{key:"renderCurveStatically",value:function(o,i,r,a){var l=this.props,s=l.type,c=l.layout,u=l.connectNulls;l.ref;var d=qHo(l,KHo),f=G1(G1(G1({},oa(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(r,")"):null,points:o},a),{},{type:s,layout:c,connectNulls:u});return be.createElement(Rx,WE({},f,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(o,i){var r=this,a=this.props,l=a.points,s=a.strokeDasharray,c=a.isAnimationActive,u=a.animationBegin,d=a.animationDuration,f=a.animationEasing,p=a.animationId,g=a.animateNewValues,A=a.width,w=a.height,b=this.state,C=b.prevPoints,P=b.totalLength;return be.createElement(Y2,{begin:u,duration:d,isActive:c,easing:f,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(v){var T=v.t;if(C){var y=C.length/l.length,S=l.map(function(k,W){var N=Math.floor(W*y);if(C[N]){var L=C[N],E=W0(L.x,k.x),U=W0(L.y,k.y);return G1(G1({},k),{},{x:E(T),y:U(T)})}if(g){var F=W0(A*2,k.x),B=W0(w/2,k.y);return G1(G1({},k),{},{x:F(T),y:B(T)})}return G1(G1({},k),{},{x:k.x,y:k.y})});return r.renderCurveStatically(S,o,i)}var x=W0(0,P),R=x(T),H;if(s){var D="".concat(s).split(/[,\s]+/gim).map(function(k){return parseFloat(k)});H=r.getStrokeDasharray(R,P,D)}else H=r.generateSimpleStrokeDasharray(P,R);return r.renderCurveStatically(l,o,i,{strokeDasharray:H})})}},{key:"renderCurve",value:function(o,i){var r=this.props,a=r.points,l=r.isAnimationActive,s=this.state,c=s.prevPoints,u=s.totalLength;return l&&a&&a.length&&(!c&&u>0||!lb(c,a))?this.renderCurveWithAnimation(o,i):this.renderCurveStatically(a,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.xAxis,u=i.yAxis,d=i.top,f=i.left,p=i.width,g=i.height,A=i.isAnimationActive,w=i.id;if(r||!l||!l.length)return null;var b=this.state.isAnimationFinished,C=l.length===1,P=cl("recharts-line",s),v=c&&c.allowDataOverflow,T=u&&u.allowDataOverflow,y=v||T,S=ra(w)?this.id:w,x=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=x.r,H=R===void 0?3:R,D=x.strokeWidth,k=D===void 0?2:D,W=Art(a)?a:{},N=W.clipDot,L=N===void 0?!0:N,E=H*2+k;return be.createElement(Bl,{className:P},v||T?be.createElement("defs",null,be.createElement("clipPath",{id:"clipPath-".concat(S)},be.createElement("rect",{x:v?f:f-p/2,y:T?d:d-g/2,width:v?p:p*2,height:T?g:g*2})),!L&&be.createElement("clipPath",{id:"clipPath-dots-".concat(S)},be.createElement("rect",{x:f-E/2,y:d-E/2,width:p+E,height:g+E}))):null,!C&&this.renderCurve(y,S),this.renderErrorBar(y,S),(C||a)&&this.renderDots(y,L,S),(!A||b)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,prevPoints:i.curPoints}:o.points!==i.curPoints?{curPoints:o.points}:null}},{key:"repeat",value:function(o,i){for(var r=o.length%2!==0?[].concat(XT(o),[0]):o,a=[],l=0;l=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function uMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function $v(){return $v=Object.assign?Object.assign.bind():function(t){for(var e=1;e0||!lb(u,a)||!lb(d,l))?this.renderAreaWithAnimation(o,i):this.renderAreaStatically(a,l,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.top,u=i.left,d=i.xAxis,f=i.yAxis,p=i.width,g=i.height,A=i.isAnimationActive,w=i.id;if(r||!l||!l.length)return null;var b=this.state.isAnimationFinished,C=l.length===1,P=cl("recharts-area",s),v=d&&d.allowDataOverflow,T=f&&f.allowDataOverflow,y=v||T,S=ra(w)?this.id:w,x=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=x.r,H=R===void 0?3:R,D=x.strokeWidth,k=D===void 0?2:D,W=Art(a)?a:{},N=W.clipDot,L=N===void 0?!0:N,E=H*2+k;return be.createElement(Bl,{className:P},v||T?be.createElement("defs",null,be.createElement("clipPath",{id:"clipPath-".concat(S)},be.createElement("rect",{x:v?u:u-p/2,y:T?c:c-g/2,width:v?p:p*2,height:T?g:g*2})),!L&&be.createElement("clipPath",{id:"clipPath-dots-".concat(S)},be.createElement("rect",{x:u-E/2,y:c-E/2,width:p+E,height:g+E}))):null,C?null:this.renderArea(y,S),(a||C)&&this.renderDots(y,L,S),(!A||b)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,curBaseLine:o.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:o.points!==i.curPoints||o.baseLine!==i.curBaseLine?{curPoints:o.points,curBaseLine:o.baseLine}:null}}]),e}(m.PureComponent);jlt=bA;d9(bA,"displayName","Area");d9(bA,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!k2.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});d9(bA,"getBaseValue",function(t,e,n,o){var i=t.layout,r=t.baseValue,a=e.props.baseValue,l=a??r;if(ci(l)&&typeof l=="number")return l;var s=i==="horizontal"?o:n,c=s.scale.domain();if(s.type==="number"){var u=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return l==="dataMin"?d:l==="dataMax"||u<0?u:Math.max(Math.min(c[0],c[1]),0)}return l==="dataMin"?c[0]:l==="dataMax"?c[1]:c[0]});d9(bA,"getComposedData",function(t){var e=t.props,n=t.item,o=t.xAxis,i=t.yAxis,r=t.xAxisTicks,a=t.yAxisTicks,l=t.bandSize,s=t.dataKey,c=t.stackedData,u=t.dataStartIndex,d=t.displayedData,f=t.offset,p=e.layout,g=c&&c.length,A=jlt.getBaseValue(e,n,o,i),w=p==="horizontal",b=!1,C=d.map(function(v,T){var y;g?y=c[u+T]:(y=Uu(v,s),Array.isArray(y)?b=!0:y=[A,y]);var S=y[1]==null||g&&Uu(v,s)==null;return w?{x:qR({axis:o,ticks:r,bandSize:l,entry:v,index:T}),y:S?null:i.scale(y[1]),value:y,payload:v}:{x:S?null:o.scale(y[1]),y:qR({axis:i,ticks:a,bandSize:l,entry:v,index:T}),value:y,payload:v}}),P;return g||b?P=C.map(function(v){var T=Array.isArray(v.value)?v.value[0]:null;return w?{x:v.x,y:T!=null&&v.y!=null?i.scale(T):null}:{x:T!=null?o.scale(T):null,y:v.y}}):P=w?i.scale(A):o.scale(A),W4({points:C,baseLine:P,layout:p,isRange:b},f)});d9(bA,"renderDotItem",function(t,e){var n;if(be.isValidElement(t))n=be.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=cl("recharts-area-dot",typeof t!="boolean"?t.className:"");n=be.createElement($N,$v({},e,{className:o}))}return n});var tU=function(){return null};tU.displayName="ZAxis";tU.defaultProps={zAxisId:0,range:[64,64],scale:"auto",type:"number"};var yMo=["option","isActive"];function NE(){return NE=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function wMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function vMo(t){var e=t.option,n=t.isActive,o=AMo(t,yMo);return typeof e=="string"?be.createElement(ghe,NE({option:be.createElement(See,NE({type:e},o)),isActive:n,shapeType:"symbols"},o)):be.createElement(ghe,NE({option:e,isActive:n,shapeType:"symbols"},o))}function iH(t){"@babel/helpers - typeof";return iH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iH(t)}function UE(){return UE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function qMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function $Mo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function QMo(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n0?a:e&&e.length&&ci(i)&&ci(r)?e.slice(i,r+1):[]};function Zlt(t){return t==="number"?[0,"auto"]:void 0}var Ehe=function(e,n,o,i){var r=e.graphicalItems,a=e.tooltipAxis,l=Uee(n,e);return o<0||!r||!r.length||o>=l.length?null:r.reduce(function(s,c){var u,d=(u=c.props.data)!==null&&u!==void 0?u:n;d&&e.dataStartIndex+e.dataEndIndex!==0&&(d=d.slice(e.dataStartIndex,e.dataEndIndex+1));var f;if(a.dataKey&&!a.allowDuplicatedCategory){var p=d===void 0?l:d;f=rJ(p,a.dataKey,i)}else f=d&&d[o]||l[o];return f?[].concat(aH(s),[rlt(c,f)]):s},[])},PEe=function(e,n,o,i){var r=i||{x:e.chartX,y:e.chartY},a=cIo(r,o),l=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,u=bbo(a,l,c,s);if(u>=0&&c){var d=c[u]&&c[u].value,f=Ehe(e,n,u,d),p=uIo(o,l,u,r);return{activeTooltipIndex:u,activeLabel:d,activePayload:f,activeCoordinate:p}}return null},dIo=function(e,n){var o=n.axes,i=n.graphicalItems,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=e.stackOffset,p=nlt(u,r);return o.reduce(function(g,A){var w,b=A.props,C=b.type,P=b.dataKey,v=b.allowDataOverflow,T=b.allowDuplicatedCategory,y=b.scale,S=b.ticks,x=b.includeHidden,R=A.props[a];if(g[R])return g;var H=Uee(e.data,{graphicalItems:i.filter(function(O){return O.props[a]===R}),dataStartIndex:s,dataEndIndex:c}),D=H.length,k,W,N;NMo(A.props.domain,v,C)&&(k=Zfe(A.props.domain,null,v),p&&(C==="number"||y!=="auto")&&(N=FE(H,P,"category")));var L=Zlt(C);if(!k||k.length===0){var E,U=(E=A.props.domain)!==null&&E!==void 0?E:L;if(P){if(k=FE(H,P,C),C==="category"&&p){var F=L9o(k);T&&F?(W=k,k=NJ(0,D)):T||(k=tDe(U,k,A).reduce(function(O,J){return O.indexOf(J)>=0?O:[].concat(aH(O),[J])},[]))}else if(C==="category")T?k=k.filter(function(O){return O!==""&&!ra(O)}):k=tDe(U,k,A).reduce(function(O,J){return O.indexOf(J)>=0||J===""||ra(J)?O:[].concat(aH(O),[J])},[]);else if(C==="number"){var B=Rbo(H,i.filter(function(O){return O.props[a]===R&&(x||!O.props.hide)}),P,r,u);B&&(k=B)}p&&(C==="number"||y!=="auto")&&(N=FE(H,P,"category"))}else p?k=NJ(0,D):l&&l[R]&&l[R].hasStack&&C==="number"?k=f==="expand"?[0,1]:ilt(l[R].stackGroups,s,c):k=tlt(H,i.filter(function(O){return O.props[a]===R&&(x||!O.props.hide)}),C,u,!0);if(C==="number")k=Ihe(d,k,R,r,S),U&&(k=Zfe(U,k,v));else if(C==="category"&&U){var _=U,Y=k.every(function(O){return _.indexOf(O)>=0});Y&&(k=_)}}return To(To({},g),{},Lr({},R,To(To({},A.props),{},{axisType:r,domain:k,categoricalDomain:N,duplicateDomain:W,originalDomain:(w=A.props.domain)!==null&&w!==void 0?w:L,isCategorical:p,layout:u})))},{})},fIo=function(e,n){var o=n.graphicalItems,i=n.Axis,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=Uee(e.data,{graphicalItems:o,dataStartIndex:s,dataEndIndex:c}),p=f.length,g=nlt(u,r),A=-1;return o.reduce(function(w,b){var C=b.props[a],P=Zlt("number");if(!w[C]){A++;var v;return g?v=NJ(0,p):l&&l[C]&&l[C].hasStack?(v=ilt(l[C].stackGroups,s,c),v=Ihe(d,v,C,r)):(v=Zfe(P,tlt(f,o.filter(function(T){return T.props[a]===C&&!T.props.hide}),"number",u),i.defaultProps.allowDataOverflow),v=Ihe(d,v,C,r)),To(To({},w),{},Lr({},C,To(To({axisType:r},i.defaultProps),{},{hide:!0,orientation:jm(lIo,"".concat(r,".").concat(A%2),null),domain:v,originalDomain:P,isCategorical:g,layout:u})))}return w},{})},hIo=function(e,n){var o=n.axisType,i=o===void 0?"xAxis":o,r=n.AxisComp,a=n.graphicalItems,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.children,d="".concat(i,"Id"),f=Kp(u,r),p={};return f&&f.length?p=dIo(e,{axes:f,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(p=fIo(e,{Axis:r,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c})),p},pIo=function(e){var n=iw(e),o=x6(n,!1,!0);return{tooltipTicks:o,orderedTooltipTicks:Z9e(o,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:MJ(n,o)}},CEe=function(e){var n=e.children,o=e.defaultShowTooltip,i=Q1(n,ZR),r=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(r=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:r,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!o}},gIo=function(e){return!e||!e.length?!1:e.some(function(n){var o=D6(n&&n.type);return o&&o.indexOf("Bar")>=0})},REe=function(e){return e==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:e==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:e==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},mIo=function(e,n){var o=e.props,i=e.graphicalItems,r=e.xAxisMap,a=r===void 0?{}:r,l=e.yAxisMap,s=l===void 0?{}:l,c=o.width,u=o.height,d=o.children,f=o.margin||{},p=Q1(d,ZR),g=Q1(d,j2),A=Object.keys(s).reduce(function(T,y){var S=s[y],x=S.orientation;return!S.mirror&&!S.hide?To(To({},T),{},Lr({},x,T[x]+S.width)):T},{left:f.left||0,right:f.right||0}),w=Object.keys(a).reduce(function(T,y){var S=a[y],x=S.orientation;return!S.mirror&&!S.hide?To(To({},T),{},Lr({},x,jm(T,"".concat(x))+S.height)):T},{top:f.top||0,bottom:f.bottom||0}),b=To(To({},w),A),C=b.bottom;p&&(b.bottom+=p.props.height||ZR.defaultProps.height),g&&n&&(b=Pbo(b,i,o,n));var P=c-b.left-b.right,v=u-b.top-b.bottom;return To(To({brushBottom:C},b),{},{width:Math.max(P,0),height:Math.max(v,0)})},yIo=function(e,n){if(n==="xAxis")return e[n].width;if(n==="yAxis")return e[n].height},nU=function(e){var n,o=e.chartName,i=e.GraphicalChild,r=e.defaultTooltipEventType,a=r===void 0?"axis":r,l=e.validateTooltipEventTypes,s=l===void 0?["axis"]:l,c=e.axisComponents,u=e.legendContent,d=e.formatAxisMap,f=e.defaultProps,p=function(w,b){var C=b.graphicalItems,P=b.stackGroups,v=b.offset,T=b.updateId,y=b.dataStartIndex,S=b.dataEndIndex,x=w.barSize,R=w.layout,H=w.barGap,D=w.barCategoryGap,k=w.maxBarSize,W=REe(R),N=W.numericAxisName,L=W.cateAxisName,E=gIo(C),U=[];return C.forEach(function(F,B){var _=Uee(w.data,{graphicalItems:[F],dataStartIndex:y,dataEndIndex:S}),Y=F.props,O=Y.dataKey,J=Y.maxBarSize,Z=F.props["".concat(N,"Id")],ie=F.props["".concat(L,"Id")],ee={},q=c.reduce(function(ve,Ie){var ze=b["".concat(Ie.axisType,"Map")],ye=F.props["".concat(Ie.axisType,"Id")];ze&&ze[ye]||Ie.axisType==="zAxis"||cb();var oe=ze[ye];return To(To({},ve),{},Lr(Lr({},Ie.axisType,oe),"".concat(Ie.axisType,"Ticks"),x6(oe)))},ee),ae=q[L],ne=q["".concat(L,"Ticks")],se=P&&P[Z]&&P[Z].hasStack&&Ubo(F,P[Z].stackGroups),le=D6(F.type).indexOf("Bar")>=0,te=MJ(ae,ne),he=[],pe=E&&Sbo({barSize:x,stackGroups:P,totalSize:yIo(q,L)});if(le){var fe,$,de=ra(J)?k:J,Se=(fe=($=MJ(ae,ne,!0))!==null&&$!==void 0?$:de)!==null&&fe!==void 0?fe:0;he=Tbo({barGap:H,barCategoryGap:D,bandSize:Se!==te?Se:te,sizeList:pe[ie],maxBarSize:de}),Se!==te&&(he=he.map(function(ve){return To(To({},ve),{},{position:To(To({},ve.position),{},{offset:ve.position.offset-Se/2})})}))}var Ce=F&&F.type&&F.type.getComposedData;Ce&&U.push({props:To(To({},Ce(To(To({},q),{},{displayedData:_,props:w,dataKey:O,item:F,bandSize:te,barPosition:he,offset:v,stackedData:se,layout:R,dataStartIndex:y,dataEndIndex:S}))),{},Lr(Lr(Lr({key:F.key||"item-".concat(B)},N,q[N]),L,q[L]),"animationId",T)),childIndex:J9o(F,w.children),item:F})}),U},g=function(w,b){var C=w.props,P=w.dataStartIndex,v=w.dataEndIndex,T=w.updateId;if(!gIe({props:C}))return null;var y=C.children,S=C.layout,x=C.stackOffset,R=C.data,H=C.reverseStackOrder,D=REe(S),k=D.numericAxisName,W=D.cateAxisName,N=Kp(y,i),L=Lbo(R,N,"".concat(k,"Id"),"".concat(W,"Id"),x,H),E=c.reduce(function(Y,O){var J="".concat(O.axisType,"Map");return To(To({},Y),{},Lr({},J,hIo(C,To(To({},O),{},{graphicalItems:N,stackGroups:O.axisType===k&&L,dataStartIndex:P,dataEndIndex:v}))))},{}),U=mIo(To(To({},E),{},{props:C,graphicalItems:N}),b==null?void 0:b.legendBBox);Object.keys(E).forEach(function(Y){E[Y]=d(C,E[Y],U,Y.replace("Map",""),o)});var F=E["".concat(W,"Map")],B=pIo(F),_=p(C,To(To({},E),{},{dataStartIndex:P,dataEndIndex:v,updateId:T,graphicalItems:N,stackGroups:L,offset:U}));return To(To({formattedGraphicalItems:_,graphicalItems:N,offset:U,stackGroups:L},B),E)};return n=function(A){nIo(w,A);function w(b){var C,P,v;return $Mo(this,w),v=eIo(this,w,[b]),Lr(vl(v),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Lr(vl(v),"accessibilityManager",new WMo),Lr(vl(v),"handleLegendBBoxUpdate",function(T){if(T){var y=v.state,S=y.dataStartIndex,x=y.dataEndIndex,R=y.updateId;v.setState(To({legendBBox:T},g({props:v.props,dataStartIndex:S,dataEndIndex:x,updateId:R},To(To({},v.state),{},{legendBBox:T}))))}}),Lr(vl(v),"handleReceiveSyncEvent",function(T,y,S){if(v.props.syncId===T){if(S===v.eventEmitterSymbol&&typeof v.props.syncMethod!="function")return;v.applySyncEvent(y)}}),Lr(vl(v),"handleBrushChange",function(T){var y=T.startIndex,S=T.endIndex;if(y!==v.state.dataStartIndex||S!==v.state.dataEndIndex){var x=v.state.updateId;v.setState(function(){return To({dataStartIndex:y,dataEndIndex:S},g({props:v.props,dataStartIndex:y,dataEndIndex:S,updateId:x},v.state))}),v.triggerSyncEvent({dataStartIndex:y,dataEndIndex:S})}}),Lr(vl(v),"handleMouseEnter",function(T){var y=v.getMouseInfo(T);if(y){var S=To(To({},y),{},{isTooltipActive:!0});v.setState(S),v.triggerSyncEvent(S);var x=v.props.onMouseEnter;Aa(x)&&x(S,T)}}),Lr(vl(v),"triggeredAfterMouseMove",function(T){var y=v.getMouseInfo(T),S=y?To(To({},y),{},{isTooltipActive:!0}):{isTooltipActive:!1};v.setState(S),v.triggerSyncEvent(S);var x=v.props.onMouseMove;Aa(x)&&x(S,T)}),Lr(vl(v),"handleItemMouseEnter",function(T){v.setState(function(){return{isTooltipActive:!0,activeItem:T,activePayload:T.tooltipPayload,activeCoordinate:T.tooltipPosition||{x:T.cx,y:T.cy}}})}),Lr(vl(v),"handleItemMouseLeave",function(){v.setState(function(){return{isTooltipActive:!1}})}),Lr(vl(v),"handleMouseMove",function(T){T.persist(),v.throttleTriggeredAfterMouseMove(T)}),Lr(vl(v),"handleMouseLeave",function(T){v.throttleTriggeredAfterMouseMove.cancel();var y={isTooltipActive:!1};v.setState(y),v.triggerSyncEvent(y);var S=v.props.onMouseLeave;Aa(S)&&S(y,T)}),Lr(vl(v),"handleOuterEvent",function(T){var y=X9o(T),S=jm(v.props,"".concat(y));if(y&&Aa(S)){var x,R;/.*touch.*/i.test(y)?R=v.getMouseInfo(T.changedTouches[0]):R=v.getMouseInfo(T),S((x=R)!==null&&x!==void 0?x:{},T)}}),Lr(vl(v),"handleClick",function(T){var y=v.getMouseInfo(T);if(y){var S=To(To({},y),{},{isTooltipActive:!0});v.setState(S),v.triggerSyncEvent(S);var x=v.props.onClick;Aa(x)&&x(S,T)}}),Lr(vl(v),"handleMouseDown",function(T){var y=v.props.onMouseDown;if(Aa(y)){var S=v.getMouseInfo(T);y(S,T)}}),Lr(vl(v),"handleMouseUp",function(T){var y=v.props.onMouseUp;if(Aa(y)){var S=v.getMouseInfo(T);y(S,T)}}),Lr(vl(v),"handleTouchMove",function(T){T.changedTouches!=null&&T.changedTouches.length>0&&v.throttleTriggeredAfterMouseMove(T.changedTouches[0])}),Lr(vl(v),"handleTouchStart",function(T){T.changedTouches!=null&&T.changedTouches.length>0&&v.handleMouseDown(T.changedTouches[0])}),Lr(vl(v),"handleTouchEnd",function(T){T.changedTouches!=null&&T.changedTouches.length>0&&v.handleMouseUp(T.changedTouches[0])}),Lr(vl(v),"triggerSyncEvent",function(T){v.props.syncId!==void 0&&rle.emit(ale,v.props.syncId,T,v.eventEmitterSymbol)}),Lr(vl(v),"applySyncEvent",function(T){var y=v.props,S=y.layout,x=y.syncMethod,R=v.state.updateId,H=T.dataStartIndex,D=T.dataEndIndex;if(T.dataStartIndex!==void 0||T.dataEndIndex!==void 0)v.setState(To({dataStartIndex:H,dataEndIndex:D},g({props:v.props,dataStartIndex:H,dataEndIndex:D,updateId:R},v.state)));else if(T.activeTooltipIndex!==void 0){var k=T.chartX,W=T.chartY,N=T.activeTooltipIndex,L=v.state,E=L.offset,U=L.tooltipTicks;if(!E)return;if(typeof x=="function")N=x(U,T);else if(x==="value"){N=-1;for(var F=0;F=0){var se,le;if(k.dataKey&&!k.allowDuplicatedCategory){var te=typeof k.dataKey=="function"?ne:"payload.".concat(k.dataKey.toString());se=rJ(F,te,N),le=B&&_&&rJ(_,te,N)}else se=F==null?void 0:F[W],le=B&&_&&_[W];if(ie||Z){var he=T.props.activeIndex!==void 0?T.props.activeIndex:W;return[m.cloneElement(T,To(To(To({},x.props),q),{},{activeIndex:he})),null,null]}if(!ra(se))return[ae].concat(aH(v.renderActivePoints({item:x,activePoint:se,basePoint:le,childIndex:W,isRange:B})))}else{var pe,fe=(pe=v.getItemByXY(v.state.activeCoordinate))!==null&&pe!==void 0?pe:{graphicalItem:ae},$=fe.graphicalItem,de=$.item,Se=de===void 0?T:de,Ce=$.childIndex,ve=To(To(To({},x.props),q),{},{activeIndex:Ce});return[m.cloneElement(Se,ve),null,null]}return B?[ae,null,null]:[ae,null]}),Lr(vl(v),"renderCustomized",function(T,y,S){return m.cloneElement(T,To(To({key:"recharts-customized-".concat(S)},v.props),v.state))}),Lr(vl(v),"renderMap",{CartesianGrid:{handler:GO,once:!0},ReferenceArea:{handler:v.renderReferenceElement},ReferenceLine:{handler:GO},ReferenceDot:{handler:v.renderReferenceElement},XAxis:{handler:GO},YAxis:{handler:GO},Brush:{handler:v.renderBrush,once:!0},Bar:{handler:v.renderGraphicChild},Line:{handler:v.renderGraphicChild},Area:{handler:v.renderGraphicChild},Radar:{handler:v.renderGraphicChild},RadialBar:{handler:v.renderGraphicChild},Scatter:{handler:v.renderGraphicChild},Pie:{handler:v.renderGraphicChild},Funnel:{handler:v.renderGraphicChild},Tooltip:{handler:v.renderCursor,once:!0},PolarGrid:{handler:v.renderPolarGrid,once:!0},PolarAngleAxis:{handler:v.renderPolarAxis},PolarRadiusAxis:{handler:v.renderPolarAxis},Customized:{handler:v.renderCustomized}}),v.clipPathId="".concat((C=b.id)!==null&&C!==void 0?C:oS("recharts"),"-clip"),v.throttleTriggeredAfterMouseMove=nat(v.triggeredAfterMouseMove,(P=b.throttleDelay)!==null&&P!==void 0?P:1e3/60),v.state={},v}return ZMo(w,[{key:"componentDidMount",value:function(){var C,P;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(P=this.props.margin.top)!==null&&P!==void 0?P:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var C=this.props,P=C.children,v=C.data,T=C.height,y=C.layout,S=Q1(P,Zf);if(S){var x=S.props.defaultIndex;if(!(typeof x!="number"||x<0||x>this.state.tooltipTicks.length)){var R=this.state.tooltipTicks[x]&&this.state.tooltipTicks[x].value,H=Ehe(this.state,v,x,R),D=this.state.tooltipTicks[x].coordinate,k=(this.state.offset.top+T)/2,W=y==="horizontal",N=W?{x:D,y:k}:{y:D,x:k},L=this.state.formattedGraphicalItems.find(function(U){var F=U.item;return F.type.name==="Scatter"});L&&(N=To(To({},N),L.props.points[x].tooltipPosition),H=L.props.points[x].tooltipPayload);var E={activeTooltipIndex:x,isTooltipActive:!0,activeLabel:R,activePayload:H,activeCoordinate:N};this.setState(E),this.renderCursor(S),this.accessibilityManager.setIndex(x)}}}},{key:"getSnapshotBeforeUpdate",value:function(C,P){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==P.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==C.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==C.margin){var v,T;this.accessibilityManager.setDetails({offset:{left:(v=this.props.margin.left)!==null&&v!==void 0?v:0,top:(T=this.props.margin.top)!==null&&T!==void 0?T:0}})}return null}},{key:"componentDidUpdate",value:function(C){wfe([Q1(C.children,Zf)],[Q1(this.props.children,Zf)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var C=Q1(this.props.children,Zf);if(C&&typeof C.props.shared=="boolean"){var P=C.props.shared?"axis":"item";return s.indexOf(P)>=0?P:a}return a}},{key:"getMouseInfo",value:function(C){if(!this.container)return null;var P=this.container,v=P.getBoundingClientRect(),T=s7o(v),y={chartX:Math.round(C.pageX-T.left),chartY:Math.round(C.pageY-T.top)},S=v.width/P.offsetWidth||1,x=this.inRange(y.chartX,y.chartY,S);if(!x)return null;var R=this.state,H=R.xAxisMap,D=R.yAxisMap,k=this.getTooltipEventType();if(k!=="axis"&&H&&D){var W=iw(H).scale,N=iw(D).scale,L=W&&W.invert?W.invert(y.chartX):null,E=N&&N.invert?N.invert(y.chartY):null;return To(To({},y),{},{xValue:L,yValue:E})}var U=PEe(this.state,this.props.data,this.props.layout,x);return U?To(To({},y),U):null}},{key:"inRange",value:function(C,P){var v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,T=this.props.layout,y=C/v,S=P/v;if(T==="horizontal"||T==="vertical"){var x=this.state.offset,R=y>=x.left&&y<=x.left+x.width&&S>=x.top&&S<=x.top+x.height;return R?{x:y,y:S}:null}var H=this.state,D=H.angleAxisMap,k=H.radiusAxisMap;if(D&&k){var W=iw(D);return iDe({x:y,y:S},W)}return null}},{key:"parseEventsOfWrapper",value:function(){var C=this.props.children,P=this.getTooltipEventType(),v=Q1(C,Zf),T={};v&&P==="axis"&&(v.props.trigger==="click"?T={onClick:this.handleClick}:T={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var y=aJ(this.props,this.handleOuterEvent);return To(To({},y),T)}},{key:"addListener",value:function(){rle.on(ale,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){rle.removeListener(ale,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(C,P,v){for(var T=this.state.formattedGraphicalItems,y=0,S=T.length;y{const i=Kt(),[r,a]=m.useState(!1),l=()=>{n==null||n(!t)},s=()=>{o==null||o(!e)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(c7,{checked:t,onClick:l,children:j.t("menu.graph.ShowHorizontalGridLines",i)}),h.jsx(c7,{checked:e,onClick:s,children:j.t("menu.graph.ShowHorizontalGridLines",i)})]}),children:h.jsx(gme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:r?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{a(!0)},onMouseOut:()=>{a(!1)}})})}),est=be.memo(({type:t,dataSource:e,height:n,dataKeyAxisX:o,labelX:i,labelY:r,unitX:a,unitY:l,yMin:s="auto",yMax:c="auto",fractionDigits:u=2,referenceX:d,color:f})=>{const[p,g]=m.useState(0),[A,w]=m.useState(!0),[b,C]=m.useState(!0),[P,v]=m.useState(null);m.useEffect(()=>{if(!e||e.length===0)return;const R=Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1;p!==R&&g(R)},[e]);const T=m.useMemo(()=>{const R=[];for(let H=0;H{},S=R=>{v(R.dataKey)},x=()=>{v(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"bar-graph-"+i+"-"+r,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(AIo,{data:e,onMouseDown:y,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:R=>R.toFixed(u)+" "+l}),h.jsx(A7,{vertical:b,horizontal:A,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:d,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:o??i,fontSize:"10px",children:h.jsx(Zl,{value:i+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[s,c],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:r+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),T,p>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:x,onMouseEnter:S})]})}),h.jsx(bIo,{horizontalGrid:A,verticalGrid:b,changeHorizontalGrid:R=>{w(R)},changeVerticalGrid:R=>{C(R)}})]})})})}),PM=1,SIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,numberOfPoints:a,numberOfSymbols:l,scale:s,fillColor:c}=t,u=a?Math.round(a/l):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*s,y:n-10*s,width:20*s,height:20*s,viewBox:"-10 -10 20 20",children:h.jsx("circle",{cx:"0",cy:"0",r:"3",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},TIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("rect",{x:"-3",y:"-3",width:"6",height:"6",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},XO=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,direction:c,fillColor:u}=t,d=l?Math.round(l/s):1;if(e&&n&&r>0&&r%d===0){let f;switch(c){case 1:f="-4,2.5,4,2.5,0,-3.5";break;case 2:f="2.5,4,2.5,-4,-3.5,0";break;case 3:f="-2.5,4,-2.5,-4,3.5,0";break;default:f="-4,-2.5,4,-2.5,0,3.5"}return h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:f,style:{opacity:o,stroke:i,fill:u??"white",strokeWidth:PM}})})}return null},PIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:"-3,0,0,5,3,0,0,-5",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},CIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.05*a;return h.jsx("svg",{x:e-100*d,y:n-100*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{points:"100,10 40,180 190,60 10,60 160,180",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},RIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.02*a;return h.jsx("svg",{x:e-150*d,y:n-150*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{className:"hex",points:"300,150 225,280 75,280 0,150 75,20 225,20",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},Hx=(t,e,n,o,i,r)=>{switch(t){case"circle":return h.jsx(SIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"square":return h.jsx(TIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"triangle up":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:1,opacity:i,fillColor:r});case"triangle down":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:0,opacity:i,fillColor:r});case"triangle right":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:3,opacity:i,fillColor:r});case"triangle left":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:2,opacity:i,fillColor:r});case"star":return h.jsx(CIo,{scale:1.25*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"diamond":return h.jsx(PIo,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"hexagon":return h.jsx(RIo,{scale:1.3*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r})}},HIo=be.memo(({horizontalGrid:t,verticalGrid:e,lineCount:n,lineWidth:o,symbolSize:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s})=>{const c=Kt(),[u,d]=m.useState(!1),f=()=>{r==null||r(!t)},p=()=>{a==null||a(!e)},g=w=>{l==null||l(w/2)},A=w=>{s==null||s(w/5)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:o*2,onChange:g,children:j.t("menu.graph.LineWidth",c)+":"}),h.jsx(bC,{min:2,max:12,value:i*5,onChange:A,children:j.t("menu.graph.SymbolSize",c)+":"}),h.jsx(c7,{checked:t,onClick:f,children:j.t("menu.graph.ShowHorizontalGridLines",c)}),h.jsx(c7,{checked:e,onClick:p,children:j.t("menu.graph.ShowHorizontalGridLines",c)})]}),children:h.jsx(gme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:u?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{d(!0)},onMouseOut:()=>{d(!1)}})})}),Mx=["circle","square","triangle up","triangle down","triangle right","triangle left","star","diamond","hexagon"],mf=({type:t,chartType:e=Pl.Line,selectedIndex:n,dataSource:o,labels:i,height:r,dataKeyAxisX:a,labelX:l,labelY:s,unitX:c,unitY:u,yMin:d="auto",yMax:f="auto",curveType:p="linear",referenceX:g,fractionDigits:A=2,symbolCount:w=12})=>{const[b,C]=m.useState(0),[P,v]=m.useState(!0),[T,y]=m.useState(!0),[S,x]=m.useState(null),[R,H]=m.useState(2),[D,k]=m.useState(1);m.useEffect(()=>{if(!o||o.length===0){C(0);return}const U=Array.isArray(o)?Object.keys(o[0]).length-1:Object.keys(o).length-1;b!==U&&C(U)},[b,o]);const W=m.useMemo(()=>{const U=[];let F;for(let B=0;B0?O||F:!1,isAnimationActive:!1},B))}return U},[t,e,n,p,i,b,R,w,D,S]),N=()=>{},L=U=>{x(U.dataKey)},E=()=>{x(null)};return h.jsx(h.Fragment,{children:o&&h.jsx("div",{id:"line-graph-"+l+"-"+s,style:{width:"100%",height:`${r}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:e===Pl.Area?h.jsxs(vIo,{data:o,onMouseDown:N,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:U=>U.toFixed(A)+" "+u}),h.jsx(A7,{vertical:T,horizontal:P,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),W,b>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:L})]}):h.jsxs(k3e,{data:o,onMouseDown:N,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:U=>U.toFixed(A)+" "+u}),h.jsx(A7,{vertical:T,horizontal:P,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),W,b>1&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:L})]})}),h.jsx(HIo,{lineCount:b,symbolSize:D,lineWidth:R,horizontalGrid:P,verticalGrid:T,changeHorizontalGrid:U=>{v(U)},changeVerticalGrid:U=>{y(U)},changeLineWidth:U=>{H(U)},changeSymbolSize:U=>{k(U)}})]})})})},MIo=Ho.div` + A `).concat(g,",").concat(g,",0,0,").concat(c,",").concat(e,",").concat(n+i-l*g," Z")}else u="M ".concat(e,",").concat(n," h ").concat(o," v ").concat(i," h ").concat(-o," Z");return u},pPo=function(e,n){if(!e||!n)return!1;var o=e.x,i=e.y,r=n.x,a=n.y,l=n.width,s=n.height;if(Math.abs(l)>0&&Math.abs(s)>0){var c=Math.min(r,r+l),u=Math.max(r,r+l),d=Math.min(a,a+s),f=Math.max(a,a+s);return o>=c&&o<=u&&i>=d&&i<=f}return!1},gPo={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},C3e=function(e){var n=DDe(DDe({},gPo),e),o=m.useRef(),i=m.useState(-1),r=aPo(i,2),a=r[0],l=r[1];m.useEffect(function(){if(o.current&&o.current.getTotalLength)try{var v=o.current.getTotalLength();v&&l(v)}catch{}},[]);var s=n.x,c=n.y,u=n.width,d=n.height,f=n.radius,p=n.className,g=n.animationEasing,A=n.animationDuration,w=n.animationBegin,b=n.isAnimationActive,C=n.isUpdateAnimationActive;if(s!==+s||c!==+c||u!==+u||d!==+d||u===0||d===0)return null;var P=cl("recharts-rectangle",p);return C?be.createElement(Y2,{canBegin:a>0,from:{width:u,height:d,x:s,y:c},to:{width:u,height:d,x:s,y:c},duration:A,animationEasing:g,isActive:C},function(v){var T=v.width,y=v.height,S=v.x,x=v.y;return be.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:w,duration:A,isActive:b,easing:g},be.createElement("path",FJ({},oa(n,!0),{className:P,d:EDe(S,x,T,y,f),ref:o})))}):be.createElement("path",FJ({},oa(n,!0),{className:P,d:EDe(s,c,u,d,f)}))};function hhe(){return hhe=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function bPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var SPo=function(e,n,o,i,r,a){return"M".concat(e,",").concat(r,"v").concat(i,"M").concat(a,",").concat(n,"h").concat(o)},TPo=function(e){var n=e.x,o=n===void 0?0:n,i=e.y,r=i===void 0?0:i,a=e.top,l=a===void 0?0:a,s=e.left,c=s===void 0?0:s,u=e.width,d=u===void 0?0:u,f=e.height,p=f===void 0?0:f,g=e.className,A=xPo(e,mPo),w=yPo({x:o,y:r,top:l,left:c,width:d,height:p},A);return!ci(o)||!ci(r)||!ci(d)||!ci(p)||!ci(l)||!ci(c)?null:be.createElement("path",phe({},oa(w,!0),{className:cl("recharts-cross",g),d:SPo(o,r,d,p,l,c)}))},PPo=yA,CPo=e5,RPo="[object Boolean]";function HPo(t){return t===!0||t===!1||CPo(t)&&PPo(t)==RPo}var MPo=HPo;const IPo=kr(MPo);function hL(t){"@babel/helpers - typeof";return hL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hL(t)}function LJ(){return LJ=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:s,y:c},to:{upperWidth:u,lowerWidth:d,height:f,x:s,y:c},duration:A,animationEasing:g,isActive:b},function(P){var v=P.upperWidth,T=P.lowerWidth,y=P.height,S=P.x,x=P.y;return be.createElement(Y2,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:w,duration:A,easing:g},be.createElement("path",LJ({},oa(n,!0),{className:C,d:NDe(S,x,v,T,y),ref:o})))}):be.createElement("g",null,be.createElement("path",LJ({},oa(n,!0),{className:C,d:NDe(s,c,u,d,f)})))},jPo=["option","shapeType","propTransformer","activeClassName","isActive"];function pL(t){"@babel/helpers - typeof";return pL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pL(t)}function YPo(t,e){if(t==null)return{};var n=OPo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function OPo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function UDe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function WJ(t){for(var e=1;e0&&o.handleDrag(i.changedTouches[0])}),J1(O5(o),"handleDragEnd",function(){o.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=o.props,r=i.endIndex,a=i.onDragEnd,l=i.startIndex;a==null||a({endIndex:r,startIndex:l})}),o.detachDragEndListener()}),J1(O5(o),"handleLeaveWrapper",function(){(o.state.isTravellerMoving||o.state.isSlideMoving)&&(o.leaveTimer=window.setTimeout(o.handleDragEnd,o.props.leaveTimeOut))}),J1(O5(o),"handleEnterSlideOrTraveller",function(){o.setState({isTextActive:!0})}),J1(O5(o),"handleLeaveSlideOrTraveller",function(){o.setState({isTextActive:!1})}),J1(O5(o),"handleSlideDragStart",function(i){var r=GDe(i)?i.changedTouches[0]:i;o.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:r.pageX}),o.attachDragEndListener()}),o.travellerDragStartHandlers={startX:o.handleTravellerDragStart.bind(O5(o),"startX"),endX:o.handleTravellerDragStart.bind(O5(o),"endX")},o.state={},o}return bCo(e,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(o){var i=o.startX,r=o.endX,a=this.state.scaleValues,l=this.props,s=l.gap,c=l.data,u=c.length-1,d=Math.min(i,r),f=Math.max(i,r),p=e.getIndexInRange(a,d),g=e.getIndexInRange(a,f);return{startIndex:p-p%s,endIndex:g===u?u:g-g%s}}},{key:"getTextOfTick",value:function(o){var i=this.props,r=i.data,a=i.tickFormatter,l=i.dataKey,s=Uu(r[o],l,o);return Aa(a)?a(s,o):s}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(o){var i=this.state,r=i.slideMoveStartX,a=i.startX,l=i.endX,s=this.props,c=s.x,u=s.width,d=s.travellerWidth,f=s.startIndex,p=s.endIndex,g=s.onChange,A=o.pageX-r;A>0?A=Math.min(A,c+u-d-l,c+u-d-a):A<0&&(A=Math.max(A,c-a,c-l));var w=this.getIndex({startX:a+A,endX:l+A});(w.startIndex!==f||w.endIndex!==p)&&g&&g(w),this.setState({startX:a+A,endX:l+A,slideMoveStartX:o.pageX})}},{key:"handleTravellerDragStart",value:function(o,i){var r=GDe(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:o,brushMoveStartX:r.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(o){var i=this.state,r=i.brushMoveStartX,a=i.movingTravellerId,l=i.endX,s=i.startX,c=this.state[a],u=this.props,d=u.x,f=u.width,p=u.travellerWidth,g=u.onChange,A=u.gap,w=u.data,b={startX:this.state.startX,endX:this.state.endX},C=o.pageX-r;C>0?C=Math.min(C,d+f-p-c):C<0&&(C=Math.max(C,d-c)),b[a]=c+C;var P=this.getIndex(b),v=P.startIndex,T=P.endIndex,y=function(){var x=w.length-1;return a==="startX"&&(l>s?v%A===0:T%A===0)||ls?T%A===0:v%A===0)||l>s&&T===x};this.setState(J1(J1({},a,c+C),"brushMoveStartX",o.pageX),function(){g&&y()&&g(P)})}},{key:"handleTravellerMoveKeyboard",value:function(o,i){var r=this,a=this.state,l=a.scaleValues,s=a.startX,c=a.endX,u=this.state[i],d=l.indexOf(u);if(d!==-1){var f=d+o;if(!(f===-1||f>=l.length)){var p=l[f];i==="startX"&&p>=c||i==="endX"&&p<=s||this.setState(J1({},i,p),function(){r.props.onChange(r.getIndex({startX:r.state.startX,endX:r.state.endX}))})}}}},{key:"renderBackground",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.fill,c=o.stroke;return be.createElement("rect",{stroke:c,fill:s,x:i,y:r,width:a,height:l})}},{key:"renderPanorama",value:function(){var o=this.props,i=o.x,r=o.y,a=o.width,l=o.height,s=o.data,c=o.children,u=o.padding,d=m.Children.only(c);return d?be.cloneElement(d,{x:i,y:r,width:a,height:l,margin:u,compact:!0,data:s}):null}},{key:"renderTravellerLayer",value:function(o,i){var r,a,l=this,s=this.props,c=s.y,u=s.travellerWidth,d=s.height,f=s.traveller,p=s.ariaLabel,g=s.data,A=s.startIndex,w=s.endIndex,b=Math.max(o,this.props.x),C=ole(ole({},oa(this.props,!1)),{},{x:b,y:c,width:u,height:d}),P=p||"Min value: ".concat((r=g[A])===null||r===void 0?void 0:r.name,", Max value: ").concat((a=g[w])===null||a===void 0?void 0:a.name);return be.createElement(Bl,{tabIndex:0,role:"slider","aria-label":P,"aria-valuenow":o,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(T){["ArrowLeft","ArrowRight"].includes(T.key)&&(T.preventDefault(),T.stopPropagation(),l.handleTravellerMoveKeyboard(T.key==="ArrowRight"?1:-1,i))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},e.renderTraveller(f,C))}},{key:"renderSlide",value:function(o,i){var r=this.props,a=r.y,l=r.height,s=r.stroke,c=r.travellerWidth,u=Math.min(o,i)+c,d=Math.max(Math.abs(i-o)-c,0);return be.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:s,fillOpacity:.2,x:u,y:a,width:d,height:l})}},{key:"renderText",value:function(){var o=this.props,i=o.startIndex,r=o.endIndex,a=o.y,l=o.height,s=o.travellerWidth,c=o.stroke,u=this.state,d=u.startX,f=u.endX,p=5,g={pointerEvents:"none",fill:c};return be.createElement(Bl,{className:"recharts-brush-texts"},be.createElement(yJ,UJ({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,f)-p,y:a+l/2},g),this.getTextOfTick(i)),be.createElement(yJ,UJ({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,f)+s+p,y:a+l/2},g),this.getTextOfTick(r)))}},{key:"render",value:function(){var o=this.props,i=o.data,r=o.className,a=o.children,l=o.x,s=o.y,c=o.width,u=o.height,d=o.alwaysShowText,f=this.state,p=f.startX,g=f.endX,A=f.isTextActive,w=f.isSlideMoving,b=f.isTravellerMoving,C=f.isTravellerFocused;if(!i||!i.length||!ci(l)||!ci(s)||!ci(c)||!ci(u)||c<=0||u<=0)return null;var P=cl("recharts-brush",r),v=be.Children.count(a)===1,T=vCo("userSelect","none");return be.createElement(Bl,{className:P,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:T},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(p,g),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(g,"endX"),(A||w||b||C||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(o){var i=o.x,r=o.y,a=o.width,l=o.height,s=o.stroke,c=Math.floor(r+l/2)-1;return be.createElement(be.Fragment,null,be.createElement("rect",{x:i,y:r,width:a,height:l,fill:s,stroke:"none"}),be.createElement("line",{x1:i+1,y1:c,x2:i+a-1,y2:c,fill:"none",stroke:"#fff"}),be.createElement("line",{x1:i+1,y1:c+2,x2:i+a-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(o,i){var r;return be.isValidElement(o)?r=be.cloneElement(o,i):Aa(o)?r=o(i):r=e.renderDefaultTraveller(i),r}},{key:"getDerivedStateFromProps",value:function(o,i){var r=o.data,a=o.width,l=o.x,s=o.travellerWidth,c=o.updateId,u=o.startIndex,d=o.endIndex;if(r!==i.prevData||c!==i.prevUpdateId)return ole({prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a},r&&r.length?RCo({data:r,width:a,x:l,travellerWidth:s,startIndex:u,endIndex:d}):{scale:null,scaleValues:null});if(i.scale&&(a!==i.prevWidth||l!==i.prevX||s!==i.prevTravellerWidth)){i.scale.range([l,l+a-s]);var f=i.scale.domain().map(function(p){return i.scale(p)});return{prevData:r,prevTravellerWidth:s,prevUpdateId:c,prevX:l,prevWidth:a,startX:i.scale(o.startIndex),endX:i.scale(o.endIndex),scaleValues:f}}return null}},{key:"getIndexInRange",value:function(o,i){for(var r=o.length,a=0,l=r-1;l-a>1;){var s=Math.floor((a+l)/2);o[s]>i?l=s:a=s}return i>=o[l]?l:a}}]),e}(m.PureComponent);J1(ZR,"displayName","Brush");J1(ZR,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var HCo=P5e;function MCo(t,e){var n;return HCo(t,function(o,i,r){return n=e(o,i,r),!n}),!!n}var ICo=MCo,zCo=Ztt,DCo=_7,ECo=ICo,kCo=mp,FCo=Pee;function LCo(t,e,n){var o=kCo(t)?zCo:ECo;return n&&FCo(t,e,n)&&(e=void 0),o(t,DCo(e))}var WCo=LCo;const NCo=kr(WCo);var C9=function(e,n){var o=e.alwaysShow,i=e.ifOverflow;return o&&(i="extendDomain"),i===n},UCo=C5e,BCo=d5e,jCo=_7;function YCo(t,e){var n={};return e=jCo(e),BCo(t,function(o,i,r){UCo(n,i,e(o,i,r))}),n}var OCo=YCo;const _Co=kr(OCo);function VCo(t,e){for(var n=-1,o=t==null?0:t.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function sRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function cRo(t,e){var n=t.x,o=t.y,i=lRo(t,oRo),r="".concat(n),a=parseInt(r,10),l="".concat(o),s=parseInt(l,10),c="".concat(e.height||i.height),u=parseInt(c,10),d="".concat(e.width||i.width),f=parseInt(d,10);return oD(oD(oD(oD(oD({},e),i),a?{x:a}:{}),s?{y:s}:{}),{},{height:u,width:f,name:e.name,radius:e.radius})}function JDe(t){return be.createElement(ghe,yhe({shapeType:"rectangle",propTransformer:cRo,activeClassName:"recharts-active-bar"},t))}var uRo=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(o,i){if(typeof e=="number")return e;var r=typeof o=="number";return r?e(o,i):(r||cb(),n)}},dRo=["value","background"],vlt;function eH(t){"@babel/helpers - typeof";return eH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},eH(t)}function fRo(t,e){if(t==null)return{};var n=hRo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function hRo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function jJ(){return jJ=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&Math.abs(N)0&&Math.abs(W)0&&(W=Math.min((Z||0)-(N[ie-1]||0),W))}),Number.isFinite(W)){var L=W/k,E=A.layout==="vertical"?o.height:o.width;if(A.padding==="gap"&&(S=L*E/2),A.padding==="no-gap"){var U=ab(e.barCategoryGap,L*E),F=L*E/2;S=F-U-(F-U)/E*U}}}i==="xAxis"?x=[o.left+(P.left||0)+(S||0),o.left+o.width-(P.right||0)-(S||0)]:i==="yAxis"?x=s==="horizontal"?[o.top+o.height-(P.bottom||0),o.top+(P.top||0)]:[o.top+(P.top||0)+(S||0),o.top+o.height-(P.bottom||0)-(S||0)]:x=A.range,T&&(x=[x[1],x[0]]);var B=Rbo(A,r,f),_=B.scale,Y=B.realScaleType;_.domain(b).range(x),Hbo(_);var O=Lbo(_,l2(l2({},A),{},{realScaleType:Y}));i==="xAxis"?(D=w==="top"&&!v||w==="bottom"&&v,R=o.left,H=d[y]-D*A.height):i==="yAxis"&&(D=w==="left"&&!v||w==="right"&&v,R=d[y]-D*A.width,H=o.top);var J=l2(l2(l2({},A),O),{},{realScaleType:Y,x:R,y:H,scale:_,width:i==="xAxis"?o.width:A.width,height:i==="yAxis"?o.height:A.height});return J.bandSize=MJ(J,O),!A.hide&&i==="xAxis"?d[y]+=(D?-1:1)*J.height:A.hide||(d[y]+=(D?-1:1)*J.width),l2(l2({},p),{},Nee({},g,J))},{})},Tlt=function(e,n){var o=e.x,i=e.y,r=n.x,a=n.y;return{x:Math.min(o,r),y:Math.min(i,a),width:Math.abs(r-o),height:Math.abs(a-i)}},SRo=function(e){var n=e.x1,o=e.y1,i=e.x2,r=e.y2;return Tlt({x:n,y:o},{x:i,y:r})},Plt=function(){function t(e){vRo(this,t),this.scale=e}return xRo(t,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=o.bandAware,r=o.position;if(n!==void 0){if(r)switch(r){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(n)+l}default:return this.scale(n)}if(i){var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+s}return this.scale(n)}}},{key:"isInRange",value:function(n){var o=this.range(),i=o[0],r=o[o.length-1];return i<=r?n>=i&&n<=r:n>=r&&n<=i}}],[{key:"create",value:function(n){return new t(n)}}]),t}();Nee(Plt,"EPS",1e-4);var R3e=function(e){var n=Object.keys(e).reduce(function(o,i){return l2(l2({},o),{},Nee({},i,Plt.create(e[i])))},{});return l2(l2({},n),{},{apply:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,l=r.position;return _Co(i,function(s,c){return n[c].apply(s,{bandAware:a,position:l})})},isInRange:function(i){return wlt(i,function(r,a){return n[a].isInRange(r)})}})};function TRo(t){return(t%180+180)%180}var PRo=function(e){var n=e.width,o=e.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=TRo(i),a=r*Math.PI/180,l=Math.atan(o/n),s=a>l&&a-1?i[r?e[a]:a]:void 0}}var IRo=MRo,zRo=glt;function DRo(t){var e=zRo(t),n=e%1;return e===e?n?e-n:e:0}var ERo=DRo,kRo=Yrt,FRo=_7,LRo=ERo,WRo=Math.max;function NRo(t,e,n){var o=t==null?0:t.length;if(!o)return-1;var i=n==null?0:LRo(n);return i<0&&(i=WRo(o+i,0)),kRo(t,FRo(e),i)}var URo=NRo,BRo=IRo,jRo=URo,YRo=BRo(jRo),ORo=YRo;const _Ro=kr(ORo);var VRo=Mqn(function(t){return{x:t.left,y:t.top,width:t.width,height:t.height}},function(t){return["l",t.left,"t",t.top,"w",t.width,"h",t.height].join("")}),H3e=m.createContext(void 0),M3e=m.createContext(void 0),Clt=m.createContext(void 0),Rlt=m.createContext({}),Hlt=m.createContext(void 0),Mlt=m.createContext(0),Ilt=m.createContext(0),ZDe=function(e){var n=e.state,o=n.xAxisMap,i=n.yAxisMap,r=n.offset,a=e.clipPathId,l=e.children,s=e.width,c=e.height,u=VRo(r);return be.createElement(H3e.Provider,{value:o},be.createElement(M3e.Provider,{value:i},be.createElement(Rlt.Provider,{value:r},be.createElement(Clt.Provider,{value:u},be.createElement(Hlt.Provider,{value:a},be.createElement(Mlt.Provider,{value:c},be.createElement(Ilt.Provider,{value:s},l)))))))},GRo=function(){return m.useContext(Hlt)},zlt=function(e){var n=m.useContext(H3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},XRo=function(){var e=m.useContext(H3e);return iw(e)},JRo=function(){var e=m.useContext(M3e),n=_Ro(e,function(o){return wlt(o.domain,Number.isFinite)});return n||iw(e)},Dlt=function(e){var n=m.useContext(M3e);n==null&&cb();var o=n[e];return o==null&&cb(),o},KRo=function(){var e=m.useContext(Clt);return e},qRo=function(){return m.useContext(Rlt)},I3e=function(){return m.useContext(Ilt)},z3e=function(){return m.useContext(Mlt)};function wL(t){"@babel/helpers - typeof";return wL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wL(t)}function eEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function tEe(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nt*i)return!1;var r=n();return t*(e-t*r/2-o)>=0&&t*(e+t*r/2-i)<=0}function yHo(t,e){return Elt(t,e+1)}function AHo(t,e,n,o,i){for(var r=(o||[]).slice(),a=e.start,l=e.end,s=0,c=1,u=a,d=function(){var g=o==null?void 0:o[s];if(g===void 0)return{v:Elt(o,c)};var A=s,w,b=function(){return w===void 0&&(w=n(g,A)),w},C=g.coordinate,P=s===0||OJ(t,C,b,u,l);P||(s=0,u=a,c+=1),P&&(u=C+t*(b()/2+i),s+=c)},f;c<=r.length;)if(f=d(),f)return f.v;return[]}function bL(t){"@babel/helpers - typeof";return bL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bL(t)}function lEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Jf(t){for(var e=1;e0?p.coordinate-w*t:p.coordinate})}else r[f]=p=Jf(Jf({},p),{},{tickCoord:p.coordinate});var b=OJ(t,p.tickCoord,A,l,s);b&&(s=p.tickCoord-t*(A()/2+i),r[f]=Jf(Jf({},p),{},{isShow:!0}))},u=a-1;u>=0;u--)c(u);return r}function SHo(t,e,n,o,i,r){var a=(o||[]).slice(),l=a.length,s=e.start,c=e.end;if(r){var u=o[l-1],d=n(u,l-1),f=t*(u.coordinate+t*d/2-c);a[l-1]=u=Jf(Jf({},u),{},{tickCoord:f>0?u.coordinate-f*t:u.coordinate});var p=OJ(t,u.tickCoord,function(){return d},s,c);p&&(c=u.tickCoord-t*(d/2+i),a[l-1]=Jf(Jf({},u),{},{isShow:!0}))}for(var g=r?l-1:l,A=function(C){var P=a[C],v,T=function(){return v===void 0&&(v=n(P,C)),v};if(C===0){var y=t*(P.coordinate-t*T()/2-s);a[C]=P=Jf(Jf({},P),{},{tickCoord:y<0?P.coordinate-y*t:P.coordinate})}else a[C]=P=Jf(Jf({},P),{},{tickCoord:P.coordinate});var S=OJ(t,P.tickCoord,T,s,c);S&&(s=P.tickCoord+t*(T()/2+i),a[C]=Jf(Jf({},P),{},{isShow:!0}))},w=0;w=2?x2(i[1].coordinate-i[0].coordinate):1,b=mHo(r,w,p);return s==="equidistantPreserveStart"?AHo(w,b,A,i,a):(s==="preserveStart"||s==="preserveStartEnd"?f=SHo(w,b,A,i,a,s==="preserveStartEnd"):f=bHo(w,b,A,i,a),f.filter(function(C){return C.isShow}))}var THo=["viewBox"],PHo=["viewBox"],CHo=["ticks"];function tH(t){"@babel/helpers - typeof";return tH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tH(t)}function iC(){return iC=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function RHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function HHo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function cEe(t,e){for(var n=0;n0?s(this.props):s(p)),a<=0||l<=0||!g||!g.length?null:be.createElement(Bl,{className:cl("recharts-cartesian-axis",c),ref:function(w){o.layerReference=w}},r&&this.renderAxisLine(),this.renderTicks(g,this.state.fontSize,this.state.letterSpacing),Zl.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(o,i,r){var a;return be.isValidElement(o)?a=be.cloneElement(o,i):Aa(o)?a=o(i):a=be.createElement(yJ,iC({},i,{className:"recharts-cartesian-axis-tick-value"}),r),a}}]),e}(m.Component);E3e(TM,"displayName","CartesianAxis");E3e(TM,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var FHo=["x1","y1","x2","y2","key"],LHo=["offset"];function ub(t){"@babel/helpers - typeof";return ub=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ub(t)}function uEe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function rh(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function BHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}var jHo=function(e){var n=e.fill;if(!n||n==="none")return null;var o=e.fillOpacity,i=e.x,r=e.y,a=e.width,l=e.height;return be.createElement("rect",{x:i,y:r,width:a,height:l,stroke:"none",fill:n,fillOpacity:o,className:"recharts-cartesian-grid-bg"})};function Llt(t,e){var n;if(be.isValidElement(t))n=be.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=e.x1,i=e.y1,r=e.x2,a=e.y2,l=e.key,s=dEe(e,FHo),c=oa(s,!1);c.offset;var u=dEe(c,LHo);n=be.createElement("line",qv({},u,{x1:o,y1:i,x2:r,y2:a,fill:"none",key:l}))}return n}function YHo(t){var e=t.x,n=t.width,o=t.horizontal,i=o===void 0?!0:o,r=t.horizontalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:e,y1:l,x2:e+n,y2:l,key:"line-".concat(s),index:s});return Llt(i,c)});return be.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function OHo(t){var e=t.y,n=t.height,o=t.vertical,i=o===void 0?!0:o,r=t.verticalPoints;if(!i||!r||!r.length)return null;var a=r.map(function(l,s){var c=rh(rh({},t),{},{x1:l,y1:e,x2:l,y2:e+n,key:"line-".concat(s),index:s});return Llt(i,c)});return be.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function _Ho(t){var e=t.horizontalFill,n=t.fillOpacity,o=t.x,i=t.y,r=t.width,a=t.height,l=t.horizontalPoints,s=t.horizontal,c=s===void 0?!0:s;if(!c||!e||!e.length)return null;var u=l.map(function(f){return Math.round(f+i-i)}).sort(function(f,p){return f-p});i!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],A=g?i+a-f:u[p+1]-f;if(A<=0)return null;var w=p%e.length;return be.createElement("rect",{key:"react-".concat(p),y:f,x:o,height:A,width:r,stroke:"none",fill:e[w],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return be.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function VHo(t){var e=t.vertical,n=e===void 0?!0:e,o=t.verticalFill,i=t.fillOpacity,r=t.x,a=t.y,l=t.width,s=t.height,c=t.verticalPoints;if(!n||!o||!o.length)return null;var u=c.map(function(f){return Math.round(f+r-r)}).sort(function(f,p){return f-p});r!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var g=!u[p+1],A=g?r+l-f:u[p+1]-f;if(A<=0)return null;var w=p%o.length;return be.createElement("rect",{key:"react-".concat(p),x:f,y:a,width:A,height:s,stroke:"none",fill:o[w],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return be.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var GHo=function(e,n){var o=e.xAxis,i=e.width,r=e.height,a=e.offset;return tlt(D3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.left,a.left+a.width,n)},XHo=function(e,n){var o=e.yAxis,i=e.width,r=e.height,a=e.offset;return tlt(D3e(rh(rh(rh({},TM.defaultProps),o),{},{ticks:x6(o,!0),viewBox:{x:0,y:0,width:i,height:r}})),a.top,a.top+a.height,n)},GT={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function A7(t){var e,n,o,i,r,a,l=I3e(),s=z3e(),c=qRo(),u=rh(rh({},t),{},{stroke:(e=t.stroke)!==null&&e!==void 0?e:GT.stroke,fill:(n=t.fill)!==null&&n!==void 0?n:GT.fill,horizontal:(o=t.horizontal)!==null&&o!==void 0?o:GT.horizontal,horizontalFill:(i=t.horizontalFill)!==null&&i!==void 0?i:GT.horizontalFill,vertical:(r=t.vertical)!==null&&r!==void 0?r:GT.vertical,verticalFill:(a=t.verticalFill)!==null&&a!==void 0?a:GT.verticalFill,x:ci(t.x)?t.x:c.left,y:ci(t.y)?t.y:c.top,width:ci(t.width)?t.width:c.width,height:ci(t.height)?t.height:c.height}),d=u.x,f=u.y,p=u.width,g=u.height,A=u.syncWithTicks,w=u.horizontalValues,b=u.verticalValues,C=XRo(),P=JRo();if(!ci(p)||p<=0||!ci(g)||g<=0||!ci(d)||d!==+d||!ci(f)||f!==+f)return null;var v=u.verticalCoordinatesGenerator||GHo,T=u.horizontalCoordinatesGenerator||XHo,y=u.horizontalPoints,S=u.verticalPoints;if((!y||!y.length)&&Aa(T)){var x=w&&w.length,R=T({yAxis:P?rh(rh({},P),{},{ticks:x?w:P.ticks}):void 0,width:l,height:s,offset:c},x?!0:A);E6(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(ub(R),"]")),Array.isArray(R)&&(y=R)}if((!S||!S.length)&&Aa(v)){var H=b&&b.length,D=v({xAxis:C?rh(rh({},C),{},{ticks:H?b:C.ticks}):void 0,width:l,height:s,offset:c},H?!0:A);E6(Array.isArray(D),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(ub(D),"]")),Array.isArray(D)&&(S=D)}return be.createElement("g",{className:"recharts-cartesian-grid"},be.createElement(jHo,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height}),be.createElement(YHo,qv({},u,{offset:c,horizontalPoints:y,xAxis:C,yAxis:P})),be.createElement(OHo,qv({},u,{offset:c,verticalPoints:S,xAxis:C,yAxis:P})),be.createElement(_Ho,qv({},u,{horizontalPoints:y})),be.createElement(VHo,qv({},u,{verticalPoints:S})))}A7.displayName="CartesianGrid";var JHo=["type","layout","connectNulls","ref"];function nH(t){"@babel/helpers - typeof";return nH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nH(t)}function KHo(t,e){if(t==null)return{};var n=qHo(t,e),o,i;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function qHo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function WE(){return WE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nd){p=[].concat(XT(s.slice(0,g)),[d-A]);break}var w=p.length%2===0?[0,f]:[f];return[].concat(XT(e.repeat(s,u)),XT(p),w).map(function(b){return"".concat(b,"px")}).join(", ")}),s2(L4(n),"id",oS("recharts-line-")),s2(L4(n),"pathRef",function(a){n.mainCurve=a}),s2(L4(n),"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),s2(L4(n),"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return nMo(e,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();this.setState({totalLength:o})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var o=this.getTotalLength();o!==this.state.totalLength&&this.setState({totalLength:o})}}},{key:"getTotalLength",value:function(){var o=this.mainCurve;try{return o&&o.getTotalLength&&o.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(o,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var r=this.props,a=r.points,l=r.xAxis,s=r.yAxis,c=r.layout,u=r.children,d=Kp(u,bM);if(!d)return null;var f=function(A,w){return{x:A.x,y:A.y,value:A.value,errorVal:Uu(A.payload,w)}},p={clipPath:o?"url(#clipPath-".concat(i,")"):null};return be.createElement(Bl,p,d.map(function(g){return be.cloneElement(g,{key:"bar-".concat(g.props.dataKey),data:a,xAxis:l,yAxis:s,layout:c,dataPointFormatter:f})}))}},{key:"renderDots",value:function(o,i,r){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var l=this.props,s=l.dot,c=l.points,u=l.dataKey,d=oa(this.props,!1),f=oa(s,!0),p=c.map(function(A,w){var b=G1(G1(G1({key:"dot-".concat(w),r:3},d),f),{},{value:A.value,dataKey:u,cx:A.x,cy:A.y,index:w,payload:A.payload});return e.renderDotItem(s,b)}),g={clipPath:o?"url(#clipPath-".concat(i?"":"dots-").concat(r,")"):null};return be.createElement(Bl,WE({className:"recharts-line-dots",key:"dots"},g),p)}},{key:"renderCurveStatically",value:function(o,i,r,a){var l=this.props,s=l.type,c=l.layout,u=l.connectNulls;l.ref;var d=KHo(l,JHo),f=G1(G1(G1({},oa(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(r,")"):null,points:o},a),{},{type:s,layout:c,connectNulls:u});return be.createElement(Rx,WE({},f,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(o,i){var r=this,a=this.props,l=a.points,s=a.strokeDasharray,c=a.isAnimationActive,u=a.animationBegin,d=a.animationDuration,f=a.animationEasing,p=a.animationId,g=a.animateNewValues,A=a.width,w=a.height,b=this.state,C=b.prevPoints,P=b.totalLength;return be.createElement(Y2,{begin:u,duration:d,isActive:c,easing:f,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(v){var T=v.t;if(C){var y=C.length/l.length,S=l.map(function(k,W){var N=Math.floor(W*y);if(C[N]){var L=C[N],E=W0(L.x,k.x),U=W0(L.y,k.y);return G1(G1({},k),{},{x:E(T),y:U(T)})}if(g){var F=W0(A*2,k.x),B=W0(w/2,k.y);return G1(G1({},k),{},{x:F(T),y:B(T)})}return G1(G1({},k),{},{x:k.x,y:k.y})});return r.renderCurveStatically(S,o,i)}var x=W0(0,P),R=x(T),H;if(s){var D="".concat(s).split(/[,\s]+/gim).map(function(k){return parseFloat(k)});H=r.getStrokeDasharray(R,P,D)}else H=r.generateSimpleStrokeDasharray(P,R);return r.renderCurveStatically(l,o,i,{strokeDasharray:H})})}},{key:"renderCurve",value:function(o,i){var r=this.props,a=r.points,l=r.isAnimationActive,s=this.state,c=s.prevPoints,u=s.totalLength;return l&&a&&a.length&&(!c&&u>0||!lb(c,a))?this.renderCurveWithAnimation(o,i):this.renderCurveStatically(a,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.xAxis,u=i.yAxis,d=i.top,f=i.left,p=i.width,g=i.height,A=i.isAnimationActive,w=i.id;if(r||!l||!l.length)return null;var b=this.state.isAnimationFinished,C=l.length===1,P=cl("recharts-line",s),v=c&&c.allowDataOverflow,T=u&&u.allowDataOverflow,y=v||T,S=ra(w)?this.id:w,x=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=x.r,H=R===void 0?3:R,D=x.strokeWidth,k=D===void 0?2:D,W=mrt(a)?a:{},N=W.clipDot,L=N===void 0?!0:N,E=H*2+k;return be.createElement(Bl,{className:P},v||T?be.createElement("defs",null,be.createElement("clipPath",{id:"clipPath-".concat(S)},be.createElement("rect",{x:v?f:f-p/2,y:T?d:d-g/2,width:v?p:p*2,height:T?g:g*2})),!L&&be.createElement("clipPath",{id:"clipPath-dots-".concat(S)},be.createElement("rect",{x:f-E/2,y:d-E/2,width:p+E,height:g+E}))):null,!C&&this.renderCurve(y,S),this.renderErrorBar(y,S),(C||a)&&this.renderDots(y,L,S),(!A||b)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,prevPoints:i.curPoints}:o.points!==i.curPoints?{curPoints:o.points}:null}},{key:"repeat",value:function(o,i){for(var r=o.length%2!==0?[].concat(XT(o),[0]):o,a=[],l=0;l=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function cMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function $v(){return $v=Object.assign?Object.assign.bind():function(t){for(var e=1;e0||!lb(u,a)||!lb(d,l))?this.renderAreaWithAnimation(o,i):this.renderAreaStatically(a,l,o,i)}},{key:"render",value:function(){var o,i=this.props,r=i.hide,a=i.dot,l=i.points,s=i.className,c=i.top,u=i.left,d=i.xAxis,f=i.yAxis,p=i.width,g=i.height,A=i.isAnimationActive,w=i.id;if(r||!l||!l.length)return null;var b=this.state.isAnimationFinished,C=l.length===1,P=cl("recharts-area",s),v=d&&d.allowDataOverflow,T=f&&f.allowDataOverflow,y=v||T,S=ra(w)?this.id:w,x=(o=oa(a,!1))!==null&&o!==void 0?o:{r:3,strokeWidth:2},R=x.r,H=R===void 0?3:R,D=x.strokeWidth,k=D===void 0?2:D,W=mrt(a)?a:{},N=W.clipDot,L=N===void 0?!0:N,E=H*2+k;return be.createElement(Bl,{className:P},v||T?be.createElement("defs",null,be.createElement("clipPath",{id:"clipPath-".concat(S)},be.createElement("rect",{x:v?u:u-p/2,y:T?c:c-g/2,width:v?p:p*2,height:T?g:g*2})),!L&&be.createElement("clipPath",{id:"clipPath-dots-".concat(S)},be.createElement("rect",{x:u-E/2,y:c-E/2,width:p+E,height:g+E}))):null,C?null:this.renderArea(y,S),(a||C)&&this.renderDots(y,L,S),(!A||b)&&P9.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(o,i){return o.animationId!==i.prevAnimationId?{prevAnimationId:o.animationId,curPoints:o.points,curBaseLine:o.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:o.points!==i.curPoints||o.baseLine!==i.curBaseLine?{curPoints:o.points,curBaseLine:o.baseLine}:null}}]),e}(m.PureComponent);Ult=bA;d9(bA,"displayName","Area");d9(bA,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!k2.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});d9(bA,"getBaseValue",function(t,e,n,o){var i=t.layout,r=t.baseValue,a=e.props.baseValue,l=a??r;if(ci(l)&&typeof l=="number")return l;var s=i==="horizontal"?o:n,c=s.scale.domain();if(s.type==="number"){var u=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return l==="dataMin"?d:l==="dataMax"||u<0?u:Math.max(Math.min(c[0],c[1]),0)}return l==="dataMin"?c[0]:l==="dataMax"?c[1]:c[0]});d9(bA,"getComposedData",function(t){var e=t.props,n=t.item,o=t.xAxis,i=t.yAxis,r=t.xAxisTicks,a=t.yAxisTicks,l=t.bandSize,s=t.dataKey,c=t.stackedData,u=t.dataStartIndex,d=t.displayedData,f=t.offset,p=e.layout,g=c&&c.length,A=Ult.getBaseValue(e,n,o,i),w=p==="horizontal",b=!1,C=d.map(function(v,T){var y;g?y=c[u+T]:(y=Uu(v,s),Array.isArray(y)?b=!0:y=[A,y]);var S=y[1]==null||g&&Uu(v,s)==null;return w?{x:qR({axis:o,ticks:r,bandSize:l,entry:v,index:T}),y:S?null:i.scale(y[1]),value:y,payload:v}:{x:S?null:o.scale(y[1]),y:qR({axis:i,ticks:a,bandSize:l,entry:v,index:T}),value:y,payload:v}}),P;return g||b?P=C.map(function(v){var T=Array.isArray(v.value)?v.value[0]:null;return w?{x:v.x,y:T!=null&&v.y!=null?i.scale(T):null}:{x:T!=null?o.scale(T):null,y:v.y}}):P=w?i.scale(A):o.scale(A),W4({points:C,baseLine:P,layout:p,isRange:b},f)});d9(bA,"renderDotItem",function(t,e){var n;if(be.isValidElement(t))n=be.cloneElement(t,e);else if(Aa(t))n=t(e);else{var o=cl("recharts-area-dot",typeof t!="boolean"?t.className:"");n=be.createElement($N,$v({},e,{className:o}))}return n});var tU=function(){return null};tU.displayName="ZAxis";tU.defaultProps={zAxisId:0,range:[64,64],scale:"auto",type:"number"};var mMo=["option","isActive"];function NE(){return NE=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function AMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function wMo(t){var e=t.option,n=t.isActive,o=yMo(t,mMo);return typeof e=="string"?be.createElement(ghe,NE({option:be.createElement(See,NE({type:e},o)),isActive:n,shapeType:"symbols"},o)):be.createElement(ghe,NE({option:e,isActive:n,shapeType:"symbols"},o))}function iH(t){"@babel/helpers - typeof";return iH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iH(t)}function UE(){return UE=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}function KMo(t,e){if(t==null)return{};var n={},o=Object.keys(t),i,r;for(r=0;r=0)&&(n[i]=t[i]);return n}function qMo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function $Mo(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);n0?a:e&&e.length&&ci(i)&&ci(r)?e.slice(i,r+1):[]};function $lt(t){return t==="number"?[0,"auto"]:void 0}var Ehe=function(e,n,o,i){var r=e.graphicalItems,a=e.tooltipAxis,l=Uee(n,e);return o<0||!r||!r.length||o>=l.length?null:r.reduce(function(s,c){var u,d=(u=c.props.data)!==null&&u!==void 0?u:n;d&&e.dataStartIndex+e.dataEndIndex!==0&&(d=d.slice(e.dataStartIndex,e.dataEndIndex+1));var f;if(a.dataKey&&!a.allowDuplicatedCategory){var p=d===void 0?l:d;f=rJ(p,a.dataKey,i)}else f=d&&d[o]||l[o];return f?[].concat(aH(s),[olt(c,f)]):s},[])},SEe=function(e,n,o,i){var r=i||{x:e.chartX,y:e.chartY},a=sIo(r,o),l=e.orderedTooltipTicks,s=e.tooltipAxis,c=e.tooltipTicks,u=xbo(a,l,c,s);if(u>=0&&c){var d=c[u]&&c[u].value,f=Ehe(e,n,u,d),p=cIo(o,l,u,r);return{activeTooltipIndex:u,activeLabel:d,activePayload:f,activeCoordinate:p}}return null},uIo=function(e,n){var o=n.axes,i=n.graphicalItems,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=e.stackOffset,p=elt(u,r);return o.reduce(function(g,A){var w,b=A.props,C=b.type,P=b.dataKey,v=b.allowDataOverflow,T=b.allowDuplicatedCategory,y=b.scale,S=b.ticks,x=b.includeHidden,R=A.props[a];if(g[R])return g;var H=Uee(e.data,{graphicalItems:i.filter(function(O){return O.props[a]===R}),dataStartIndex:s,dataEndIndex:c}),D=H.length,k,W,N;WMo(A.props.domain,v,C)&&(k=Zfe(A.props.domain,null,v),p&&(C==="number"||y!=="auto")&&(N=FE(H,P,"category")));var L=$lt(C);if(!k||k.length===0){var E,U=(E=A.props.domain)!==null&&E!==void 0?E:L;if(P){if(k=FE(H,P,C),C==="category"&&p){var F=F9o(k);T&&F?(W=k,k=NJ(0,D)):T||(k=Zze(U,k,A).reduce(function(O,J){return O.indexOf(J)>=0?O:[].concat(aH(O),[J])},[]))}else if(C==="category")T?k=k.filter(function(O){return O!==""&&!ra(O)}):k=Zze(U,k,A).reduce(function(O,J){return O.indexOf(J)>=0||J===""||ra(J)?O:[].concat(aH(O),[J])},[]);else if(C==="number"){var B=Cbo(H,i.filter(function(O){return O.props[a]===R&&(x||!O.props.hide)}),P,r,u);B&&(k=B)}p&&(C==="number"||y!=="auto")&&(N=FE(H,P,"category"))}else p?k=NJ(0,D):l&&l[R]&&l[R].hasStack&&C==="number"?k=f==="expand"?[0,1]:nlt(l[R].stackGroups,s,c):k=Zat(H,i.filter(function(O){return O.props[a]===R&&(x||!O.props.hide)}),C,u,!0);if(C==="number")k=Ihe(d,k,R,r,S),U&&(k=Zfe(U,k,v));else if(C==="category"&&U){var _=U,Y=k.every(function(O){return _.indexOf(O)>=0});Y&&(k=_)}}return To(To({},g),{},Lr({},R,To(To({},A.props),{},{axisType:r,domain:k,categoricalDomain:N,duplicateDomain:W,originalDomain:(w=A.props.domain)!==null&&w!==void 0?w:L,isCategorical:p,layout:u})))},{})},dIo=function(e,n){var o=n.graphicalItems,i=n.Axis,r=n.axisType,a=n.axisIdKey,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.layout,d=e.children,f=Uee(e.data,{graphicalItems:o,dataStartIndex:s,dataEndIndex:c}),p=f.length,g=elt(u,r),A=-1;return o.reduce(function(w,b){var C=b.props[a],P=$lt("number");if(!w[C]){A++;var v;return g?v=NJ(0,p):l&&l[C]&&l[C].hasStack?(v=nlt(l[C].stackGroups,s,c),v=Ihe(d,v,C,r)):(v=Zfe(P,Zat(f,o.filter(function(T){return T.props[a]===C&&!T.props.hide}),"number",u),i.defaultProps.allowDataOverflow),v=Ihe(d,v,C,r)),To(To({},w),{},Lr({},C,To(To({axisType:r},i.defaultProps),{},{hide:!0,orientation:jm(aIo,"".concat(r,".").concat(A%2),null),domain:v,originalDomain:P,isCategorical:g,layout:u})))}return w},{})},fIo=function(e,n){var o=n.axisType,i=o===void 0?"xAxis":o,r=n.AxisComp,a=n.graphicalItems,l=n.stackGroups,s=n.dataStartIndex,c=n.dataEndIndex,u=e.children,d="".concat(i,"Id"),f=Kp(u,r),p={};return f&&f.length?p=uIo(e,{axes:f,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c}):a&&a.length&&(p=dIo(e,{Axis:r,graphicalItems:a,axisType:i,axisIdKey:d,stackGroups:l,dataStartIndex:s,dataEndIndex:c})),p},hIo=function(e){var n=iw(e),o=x6(n,!1,!0);return{tooltipTicks:o,orderedTooltipTicks:Z9e(o,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:MJ(n,o)}},TEe=function(e){var n=e.children,o=e.defaultShowTooltip,i=Q1(n,ZR),r=0,a=0;return e.data&&e.data.length!==0&&(a=e.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(r=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:r,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!o}},pIo=function(e){return!e||!e.length?!1:e.some(function(n){var o=D6(n&&n.type);return o&&o.indexOf("Bar")>=0})},PEe=function(e){return e==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:e==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:e==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},gIo=function(e,n){var o=e.props,i=e.graphicalItems,r=e.xAxisMap,a=r===void 0?{}:r,l=e.yAxisMap,s=l===void 0?{}:l,c=o.width,u=o.height,d=o.children,f=o.margin||{},p=Q1(d,ZR),g=Q1(d,j2),A=Object.keys(s).reduce(function(T,y){var S=s[y],x=S.orientation;return!S.mirror&&!S.hide?To(To({},T),{},Lr({},x,T[x]+S.width)):T},{left:f.left||0,right:f.right||0}),w=Object.keys(a).reduce(function(T,y){var S=a[y],x=S.orientation;return!S.mirror&&!S.hide?To(To({},T),{},Lr({},x,jm(T,"".concat(x))+S.height)):T},{top:f.top||0,bottom:f.bottom||0}),b=To(To({},w),A),C=b.bottom;p&&(b.bottom+=p.props.height||ZR.defaultProps.height),g&&n&&(b=Tbo(b,i,o,n));var P=c-b.left-b.right,v=u-b.top-b.bottom;return To(To({brushBottom:C},b),{},{width:Math.max(P,0),height:Math.max(v,0)})},mIo=function(e,n){if(n==="xAxis")return e[n].width;if(n==="yAxis")return e[n].height},nU=function(e){var n,o=e.chartName,i=e.GraphicalChild,r=e.defaultTooltipEventType,a=r===void 0?"axis":r,l=e.validateTooltipEventTypes,s=l===void 0?["axis"]:l,c=e.axisComponents,u=e.legendContent,d=e.formatAxisMap,f=e.defaultProps,p=function(w,b){var C=b.graphicalItems,P=b.stackGroups,v=b.offset,T=b.updateId,y=b.dataStartIndex,S=b.dataEndIndex,x=w.barSize,R=w.layout,H=w.barGap,D=w.barCategoryGap,k=w.maxBarSize,W=PEe(R),N=W.numericAxisName,L=W.cateAxisName,E=pIo(C),U=[];return C.forEach(function(F,B){var _=Uee(w.data,{graphicalItems:[F],dataStartIndex:y,dataEndIndex:S}),Y=F.props,O=Y.dataKey,J=Y.maxBarSize,Z=F.props["".concat(N,"Id")],ie=F.props["".concat(L,"Id")],ee={},q=c.reduce(function(ve,Ie){var ze=b["".concat(Ie.axisType,"Map")],ye=F.props["".concat(Ie.axisType,"Id")];ze&&ze[ye]||Ie.axisType==="zAxis"||cb();var oe=ze[ye];return To(To({},ve),{},Lr(Lr({},Ie.axisType,oe),"".concat(Ie.axisType,"Ticks"),x6(oe)))},ee),ae=q[L],ne=q["".concat(L,"Ticks")],se=P&&P[Z]&&P[Z].hasStack&&Nbo(F,P[Z].stackGroups),le=D6(F.type).indexOf("Bar")>=0,te=MJ(ae,ne),he=[],pe=E&&bbo({barSize:x,stackGroups:P,totalSize:mIo(q,L)});if(le){var fe,$,de=ra(J)?k:J,Se=(fe=($=MJ(ae,ne,!0))!==null&&$!==void 0?$:de)!==null&&fe!==void 0?fe:0;he=Sbo({barGap:H,barCategoryGap:D,bandSize:Se!==te?Se:te,sizeList:pe[ie],maxBarSize:de}),Se!==te&&(he=he.map(function(ve){return To(To({},ve),{},{position:To(To({},ve.position),{},{offset:ve.position.offset-Se/2})})}))}var Ce=F&&F.type&&F.type.getComposedData;Ce&&U.push({props:To(To({},Ce(To(To({},q),{},{displayedData:_,props:w,dataKey:O,item:F,bandSize:te,barPosition:he,offset:v,stackedData:se,layout:R,dataStartIndex:y,dataEndIndex:S}))),{},Lr(Lr(Lr({key:F.key||"item-".concat(B)},N,q[N]),L,q[L]),"animationId",T)),childIndex:X9o(F,w.children),item:F})}),U},g=function(w,b){var C=w.props,P=w.dataStartIndex,v=w.dataEndIndex,T=w.updateId;if(!hIe({props:C}))return null;var y=C.children,S=C.layout,x=C.stackOffset,R=C.data,H=C.reverseStackOrder,D=PEe(S),k=D.numericAxisName,W=D.cateAxisName,N=Kp(y,i),L=Fbo(R,N,"".concat(k,"Id"),"".concat(W,"Id"),x,H),E=c.reduce(function(Y,O){var J="".concat(O.axisType,"Map");return To(To({},Y),{},Lr({},J,fIo(C,To(To({},O),{},{graphicalItems:N,stackGroups:O.axisType===k&&L,dataStartIndex:P,dataEndIndex:v}))))},{}),U=gIo(To(To({},E),{},{props:C,graphicalItems:N}),b==null?void 0:b.legendBBox);Object.keys(E).forEach(function(Y){E[Y]=d(C,E[Y],U,Y.replace("Map",""),o)});var F=E["".concat(W,"Map")],B=hIo(F),_=p(C,To(To({},E),{},{dataStartIndex:P,dataEndIndex:v,updateId:T,graphicalItems:N,stackGroups:L,offset:U}));return To(To({formattedGraphicalItems:_,graphicalItems:N,offset:U,stackGroups:L},B),E)};return n=function(A){tIo(w,A);function w(b){var C,P,v;return qMo(this,w),v=ZMo(this,w,[b]),Lr(vl(v),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Lr(vl(v),"accessibilityManager",new LMo),Lr(vl(v),"handleLegendBBoxUpdate",function(T){if(T){var y=v.state,S=y.dataStartIndex,x=y.dataEndIndex,R=y.updateId;v.setState(To({legendBBox:T},g({props:v.props,dataStartIndex:S,dataEndIndex:x,updateId:R},To(To({},v.state),{},{legendBBox:T}))))}}),Lr(vl(v),"handleReceiveSyncEvent",function(T,y,S){if(v.props.syncId===T){if(S===v.eventEmitterSymbol&&typeof v.props.syncMethod!="function")return;v.applySyncEvent(y)}}),Lr(vl(v),"handleBrushChange",function(T){var y=T.startIndex,S=T.endIndex;if(y!==v.state.dataStartIndex||S!==v.state.dataEndIndex){var x=v.state.updateId;v.setState(function(){return To({dataStartIndex:y,dataEndIndex:S},g({props:v.props,dataStartIndex:y,dataEndIndex:S,updateId:x},v.state))}),v.triggerSyncEvent({dataStartIndex:y,dataEndIndex:S})}}),Lr(vl(v),"handleMouseEnter",function(T){var y=v.getMouseInfo(T);if(y){var S=To(To({},y),{},{isTooltipActive:!0});v.setState(S),v.triggerSyncEvent(S);var x=v.props.onMouseEnter;Aa(x)&&x(S,T)}}),Lr(vl(v),"triggeredAfterMouseMove",function(T){var y=v.getMouseInfo(T),S=y?To(To({},y),{},{isTooltipActive:!0}):{isTooltipActive:!1};v.setState(S),v.triggerSyncEvent(S);var x=v.props.onMouseMove;Aa(x)&&x(S,T)}),Lr(vl(v),"handleItemMouseEnter",function(T){v.setState(function(){return{isTooltipActive:!0,activeItem:T,activePayload:T.tooltipPayload,activeCoordinate:T.tooltipPosition||{x:T.cx,y:T.cy}}})}),Lr(vl(v),"handleItemMouseLeave",function(){v.setState(function(){return{isTooltipActive:!1}})}),Lr(vl(v),"handleMouseMove",function(T){T.persist(),v.throttleTriggeredAfterMouseMove(T)}),Lr(vl(v),"handleMouseLeave",function(T){v.throttleTriggeredAfterMouseMove.cancel();var y={isTooltipActive:!1};v.setState(y),v.triggerSyncEvent(y);var S=v.props.onMouseLeave;Aa(S)&&S(y,T)}),Lr(vl(v),"handleOuterEvent",function(T){var y=G9o(T),S=jm(v.props,"".concat(y));if(y&&Aa(S)){var x,R;/.*touch.*/i.test(y)?R=v.getMouseInfo(T.changedTouches[0]):R=v.getMouseInfo(T),S((x=R)!==null&&x!==void 0?x:{},T)}}),Lr(vl(v),"handleClick",function(T){var y=v.getMouseInfo(T);if(y){var S=To(To({},y),{},{isTooltipActive:!0});v.setState(S),v.triggerSyncEvent(S);var x=v.props.onClick;Aa(x)&&x(S,T)}}),Lr(vl(v),"handleMouseDown",function(T){var y=v.props.onMouseDown;if(Aa(y)){var S=v.getMouseInfo(T);y(S,T)}}),Lr(vl(v),"handleMouseUp",function(T){var y=v.props.onMouseUp;if(Aa(y)){var S=v.getMouseInfo(T);y(S,T)}}),Lr(vl(v),"handleTouchMove",function(T){T.changedTouches!=null&&T.changedTouches.length>0&&v.throttleTriggeredAfterMouseMove(T.changedTouches[0])}),Lr(vl(v),"handleTouchStart",function(T){T.changedTouches!=null&&T.changedTouches.length>0&&v.handleMouseDown(T.changedTouches[0])}),Lr(vl(v),"handleTouchEnd",function(T){T.changedTouches!=null&&T.changedTouches.length>0&&v.handleMouseUp(T.changedTouches[0])}),Lr(vl(v),"triggerSyncEvent",function(T){v.props.syncId!==void 0&&rle.emit(ale,v.props.syncId,T,v.eventEmitterSymbol)}),Lr(vl(v),"applySyncEvent",function(T){var y=v.props,S=y.layout,x=y.syncMethod,R=v.state.updateId,H=T.dataStartIndex,D=T.dataEndIndex;if(T.dataStartIndex!==void 0||T.dataEndIndex!==void 0)v.setState(To({dataStartIndex:H,dataEndIndex:D},g({props:v.props,dataStartIndex:H,dataEndIndex:D,updateId:R},v.state)));else if(T.activeTooltipIndex!==void 0){var k=T.chartX,W=T.chartY,N=T.activeTooltipIndex,L=v.state,E=L.offset,U=L.tooltipTicks;if(!E)return;if(typeof x=="function")N=x(U,T);else if(x==="value"){N=-1;for(var F=0;F=0){var se,le;if(k.dataKey&&!k.allowDuplicatedCategory){var te=typeof k.dataKey=="function"?ne:"payload.".concat(k.dataKey.toString());se=rJ(F,te,N),le=B&&_&&rJ(_,te,N)}else se=F==null?void 0:F[W],le=B&&_&&_[W];if(ie||Z){var he=T.props.activeIndex!==void 0?T.props.activeIndex:W;return[m.cloneElement(T,To(To(To({},x.props),q),{},{activeIndex:he})),null,null]}if(!ra(se))return[ae].concat(aH(v.renderActivePoints({item:x,activePoint:se,basePoint:le,childIndex:W,isRange:B})))}else{var pe,fe=(pe=v.getItemByXY(v.state.activeCoordinate))!==null&&pe!==void 0?pe:{graphicalItem:ae},$=fe.graphicalItem,de=$.item,Se=de===void 0?T:de,Ce=$.childIndex,ve=To(To(To({},x.props),q),{},{activeIndex:Ce});return[m.cloneElement(Se,ve),null,null]}return B?[ae,null,null]:[ae,null]}),Lr(vl(v),"renderCustomized",function(T,y,S){return m.cloneElement(T,To(To({key:"recharts-customized-".concat(S)},v.props),v.state))}),Lr(vl(v),"renderMap",{CartesianGrid:{handler:GO,once:!0},ReferenceArea:{handler:v.renderReferenceElement},ReferenceLine:{handler:GO},ReferenceDot:{handler:v.renderReferenceElement},XAxis:{handler:GO},YAxis:{handler:GO},Brush:{handler:v.renderBrush,once:!0},Bar:{handler:v.renderGraphicChild},Line:{handler:v.renderGraphicChild},Area:{handler:v.renderGraphicChild},Radar:{handler:v.renderGraphicChild},RadialBar:{handler:v.renderGraphicChild},Scatter:{handler:v.renderGraphicChild},Pie:{handler:v.renderGraphicChild},Funnel:{handler:v.renderGraphicChild},Tooltip:{handler:v.renderCursor,once:!0},PolarGrid:{handler:v.renderPolarGrid,once:!0},PolarAngleAxis:{handler:v.renderPolarAxis},PolarRadiusAxis:{handler:v.renderPolarAxis},Customized:{handler:v.renderCustomized}}),v.clipPathId="".concat((C=b.id)!==null&&C!==void 0?C:oS("recharts"),"-clip"),v.throttleTriggeredAfterMouseMove=eat(v.triggeredAfterMouseMove,(P=b.throttleDelay)!==null&&P!==void 0?P:1e3/60),v.state={},v}return QMo(w,[{key:"componentDidMount",value:function(){var C,P;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(P=this.props.margin.top)!==null&&P!==void 0?P:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var C=this.props,P=C.children,v=C.data,T=C.height,y=C.layout,S=Q1(P,Zf);if(S){var x=S.props.defaultIndex;if(!(typeof x!="number"||x<0||x>this.state.tooltipTicks.length)){var R=this.state.tooltipTicks[x]&&this.state.tooltipTicks[x].value,H=Ehe(this.state,v,x,R),D=this.state.tooltipTicks[x].coordinate,k=(this.state.offset.top+T)/2,W=y==="horizontal",N=W?{x:D,y:k}:{y:D,x:k},L=this.state.formattedGraphicalItems.find(function(U){var F=U.item;return F.type.name==="Scatter"});L&&(N=To(To({},N),L.props.points[x].tooltipPosition),H=L.props.points[x].tooltipPayload);var E={activeTooltipIndex:x,isTooltipActive:!0,activeLabel:R,activePayload:H,activeCoordinate:N};this.setState(E),this.renderCursor(S),this.accessibilityManager.setIndex(x)}}}},{key:"getSnapshotBeforeUpdate",value:function(C,P){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==P.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==C.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==C.margin){var v,T;this.accessibilityManager.setDetails({offset:{left:(v=this.props.margin.left)!==null&&v!==void 0?v:0,top:(T=this.props.margin.top)!==null&&T!==void 0?T:0}})}return null}},{key:"componentDidUpdate",value:function(C){wfe([Q1(C.children,Zf)],[Q1(this.props.children,Zf)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var C=Q1(this.props.children,Zf);if(C&&typeof C.props.shared=="boolean"){var P=C.props.shared?"axis":"item";return s.indexOf(P)>=0?P:a}return a}},{key:"getMouseInfo",value:function(C){if(!this.container)return null;var P=this.container,v=P.getBoundingClientRect(),T=l7o(v),y={chartX:Math.round(C.pageX-T.left),chartY:Math.round(C.pageY-T.top)},S=v.width/P.offsetWidth||1,x=this.inRange(y.chartX,y.chartY,S);if(!x)return null;var R=this.state,H=R.xAxisMap,D=R.yAxisMap,k=this.getTooltipEventType();if(k!=="axis"&&H&&D){var W=iw(H).scale,N=iw(D).scale,L=W&&W.invert?W.invert(y.chartX):null,E=N&&N.invert?N.invert(y.chartY):null;return To(To({},y),{},{xValue:L,yValue:E})}var U=SEe(this.state,this.props.data,this.props.layout,x);return U?To(To({},y),U):null}},{key:"inRange",value:function(C,P){var v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,T=this.props.layout,y=C/v,S=P/v;if(T==="horizontal"||T==="vertical"){var x=this.state.offset,R=y>=x.left&&y<=x.left+x.width&&S>=x.top&&S<=x.top+x.height;return R?{x:y,y:S}:null}var H=this.state,D=H.angleAxisMap,k=H.radiusAxisMap;if(D&&k){var W=iw(D);return nDe({x:y,y:S},W)}return null}},{key:"parseEventsOfWrapper",value:function(){var C=this.props.children,P=this.getTooltipEventType(),v=Q1(C,Zf),T={};v&&P==="axis"&&(v.props.trigger==="click"?T={onClick:this.handleClick}:T={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var y=aJ(this.props,this.handleOuterEvent);return To(To({},y),T)}},{key:"addListener",value:function(){rle.on(ale,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){rle.removeListener(ale,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(C,P,v){for(var T=this.state.formattedGraphicalItems,y=0,S=T.length;y{const i=Kt(),[r,a]=m.useState(!1),l=()=>{n==null||n(!t)},s=()=>{o==null||o(!e)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(c7,{checked:t,onClick:l,children:j.t("menu.graph.ShowHorizontalGridLines",i)}),h.jsx(c7,{checked:e,onClick:s,children:j.t("menu.graph.ShowHorizontalGridLines",i)})]}),children:h.jsx(gme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:r?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{a(!0)},onMouseOut:()=>{a(!1)}})})}),Qlt=be.memo(({type:t,dataSource:e,height:n,dataKeyAxisX:o,labelX:i,labelY:r,unitX:a,unitY:l,yMin:s="auto",yMax:c="auto",fractionDigits:u=2,referenceX:d,color:f})=>{const[p,g]=m.useState(0),[A,w]=m.useState(!0),[b,C]=m.useState(!0),[P,v]=m.useState(null);m.useEffect(()=>{if(!e||e.length===0)return;const R=Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1;p!==R&&g(R)},[e]);const T=m.useMemo(()=>{const R=[];for(let H=0;H{},S=R=>{v(R.dataKey)},x=()=>{v(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"bar-graph-"+i+"-"+r,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(yIo,{data:e,onMouseDown:y,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:R=>R.toFixed(u)+" "+l}),h.jsx(A7,{vertical:b,horizontal:A,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:d,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:o??i,fontSize:"10px",children:h.jsx(Zl,{value:i+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[s,c],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:r+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),T,p>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:x,onMouseEnter:S})]})}),h.jsx(xIo,{horizontalGrid:A,verticalGrid:b,changeHorizontalGrid:R=>{w(R)},changeVerticalGrid:R=>{C(R)}})]})})})}),PM=1,bIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,numberOfPoints:a,numberOfSymbols:l,scale:s,fillColor:c}=t,u=a?Math.round(a/l):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*s,y:n-10*s,width:20*s,height:20*s,viewBox:"-10 -10 20 20",children:h.jsx("circle",{cx:"0",cy:"0",r:"3",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},SIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("rect",{x:"-3",y:"-3",width:"6",height:"6",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},XO=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,direction:c,fillColor:u}=t,d=l?Math.round(l/s):1;if(e&&n&&r>0&&r%d===0){let f;switch(c){case 1:f="-4,2.5,4,2.5,0,-3.5";break;case 2:f="2.5,4,2.5,-4,-3.5,0";break;case 3:f="-2.5,4,-2.5,-4,3.5,0";break;default:f="-4,-2.5,4,-2.5,0,3.5"}return h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:f,style:{opacity:o,stroke:i,fill:u??"white",strokeWidth:PM}})})}return null},TIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;return e&&n&&r>0&&r%u===0?h.jsx("svg",{x:e-10*a,y:n-10*a,width:20*a,height:20*a,viewBox:"-10 -10 20 20",children:h.jsx("polygon",{points:"-3,0,0,5,3,0,0,-5",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})}):null},PIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.05*a;return h.jsx("svg",{x:e-100*d,y:n-100*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{points:"100,10 40,180 190,60 10,60 160,180",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},CIo=t=>{const{cx:e,cy:n,opacity:o,stroke:i,index:r,scale:a,numberOfPoints:l,numberOfSymbols:s,fillColor:c}=t,u=l?Math.round(l/s):1;if(e&&n&&r>0&&r%u===0){const d=.02*a;return h.jsx("svg",{x:e-150*d,y:n-150*d,width:300*d,height:300*d,viewBox:"0 0 300 300",children:h.jsx("polygon",{className:"hex",points:"300,150 225,280 75,280 0,150 75,20 225,20",style:{opacity:o,stroke:i,fill:c??"white",strokeWidth:PM}})})}return null},Hx=(t,e,n,o,i,r)=>{switch(t){case"circle":return h.jsx(bIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"square":return h.jsx(SIo,{scale:e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"triangle up":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:1,opacity:i,fillColor:r});case"triangle down":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:0,opacity:i,fillColor:r});case"triangle right":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:3,opacity:i,fillColor:r});case"triangle left":return h.jsx(XO,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,direction:2,opacity:i,fillColor:r});case"star":return h.jsx(PIo,{scale:1.25*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"diamond":return h.jsx(TIo,{scale:1.1*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r});case"hexagon":return h.jsx(CIo,{scale:1.3*e,numberOfPoints:n,numberOfSymbols:o,opacity:i,fillColor:r})}},RIo=be.memo(({horizontalGrid:t,verticalGrid:e,lineCount:n,lineWidth:o,symbolSize:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s})=>{const c=Kt(),[u,d]=m.useState(!1),f=()=>{r==null||r(!t)},p=()=>{a==null||a(!e)},g=w=>{l==null||l(w/2)},A=w=>{s==null||s(w/5)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:o*2,onChange:g,children:j.t("menu.graph.LineWidth",c)+":"}),h.jsx(bC,{min:2,max:12,value:i*5,onChange:A,children:j.t("menu.graph.SymbolSize",c)+":"}),h.jsx(c7,{checked:t,onClick:f,children:j.t("menu.graph.ShowHorizontalGridLines",c)}),h.jsx(c7,{checked:e,onClick:p,children:j.t("menu.graph.ShowHorizontalGridLines",c)})]}),children:h.jsx(gme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:u?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{d(!0)},onMouseOut:()=>{d(!1)}})})}),Mx=["circle","square","triangle up","triangle down","triangle right","triangle left","star","diamond","hexagon"],mf=({type:t,chartType:e=Pl.Line,selectedIndex:n,dataSource:o,labels:i,height:r,dataKeyAxisX:a,labelX:l,labelY:s,unitX:c,unitY:u,yMin:d="auto",yMax:f="auto",curveType:p="linear",referenceX:g,fractionDigits:A=2,symbolCount:w=12})=>{const[b,C]=m.useState(0),[P,v]=m.useState(!0),[T,y]=m.useState(!0),[S,x]=m.useState(null),[R,H]=m.useState(2),[D,k]=m.useState(1);m.useEffect(()=>{if(!o||o.length===0){C(0);return}const U=Array.isArray(o)?Object.keys(o[0]).length-1:Object.keys(o).length-1;b!==U&&C(U)},[b,o]);const W=m.useMemo(()=>{const U=[];let F;for(let B=0;B0?O||F:!1,isAnimationActive:!1},B))}return U},[t,e,n,p,i,b,R,w,D,S]),N=()=>{},L=U=>{x(U.dataKey)},E=()=>{x(null)};return h.jsx(h.Fragment,{children:o&&h.jsx("div",{id:"line-graph-"+l+"-"+s,style:{width:"100%",height:`${r}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:e===Pl.Area?h.jsxs(wIo,{data:o,onMouseDown:N,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:U=>U.toFixed(A)+" "+u}),h.jsx(A7,{vertical:T,horizontal:P,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),W,b>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:L})]}):h.jsxs(k3e,{data:o,onMouseDown:N,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:U=>U.toFixed(A)+" "+u}),h.jsx(A7,{vertical:T,horizontal:P,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:a??l,fontSize:"10px",children:h.jsx(Zl,{value:l+(c?" ("+c+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[d,f],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:s+(u?" ("+u+")":""),offset:0,angle:-90,position:"center"})}),W,b>1&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:E,onMouseEnter:L})]})}),h.jsx(RIo,{lineCount:b,symbolSize:D,lineWidth:R,horizontalGrid:P,verticalGrid:T,changeHorizontalGrid:U=>{v(U)},changeVerticalGrid:U=>{y(U)},changeLineWidth:U=>{H(U)},changeSymbolSize:U=>{k(U)}})]})})})},HIo=Ho.div` position: fixed; top: 80px; left: 50px; @@ -8662,7 +8662,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho align-items: center; padding: 16px; z-index: 10; -`,IIo=Ho.div` +`,MIo=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -8679,7 +8679,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho overflow-x: auto; overflow-y: auto; resize: both; -`,zIo=Ho.div` +`,IIo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8690,7 +8690,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho justify-content: space-between; align-items: center; cursor: move; -`,DIo=be.memo(({city:t,graphs:e})=>{const n=M(pu)??m0,o=M(dn),i=M(En),r=new Date(M(Ya)),a=M(wAt),l=M(bc),s=be.useRef(null),c=m.useRef(null),u=m.useRef(),d=c.current?c.current.clientWidth+40:a?a.width+40:540,f=c.current?c.current.clientHeight+100:a?a.height+100:600,[p,g]=m.useState({x:a?Math.min(a.x,window.innerWidth-d):0,y:a?Math.min(a.y,window.innerHeight-f):0}),A=Kt(),w=l1(t);m.useEffect(()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})},[a,d,f]),m.useEffect(()=>{const R=()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[a,d,f]),m.useEffect(()=>(c.current&&(u.current||(u.current=new ResizeObserver(()=>{o(R=>{c.current&&(R.viewState.weatherPanelRect||(R.viewState.weatherPanelRect=new ai(0,0,500,500)),R.viewState.weatherPanelRect.width=c.current.offsetWidth,R.viewState.weatherPanelRect.height=c.current.offsetHeight)})})),u.current.observe(c.current)),()=>{var R;(R=u.current)==null||R.disconnect()}),[]);const b=m.useMemo(()=>e?Math.floor(100/e.length):100,[e]),C=m.useMemo(()=>{if(!e)return;const R={};return w&&e.forEach(H=>{switch(R[H]=[],H){case xr.MonthlyTemperatures:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Low:w.lowestTemperatures[D],High:w.highestTemperatures[D]});break;case xr.SunshineHours:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Sunshine:w.sunshineHours[D]});break}}),R},[e,w]),P=["NA",j.t("word.Temperature",A),j.t("word.Temperature",A),j.t("weatherPanel.SunshineHours",A)],v=["NA","°C","°C",j.t("word.Hour",A)],T=Ps[r.getMonth()],y=(R,H)=>{g({x:Math.min(H.x,window.innerWidth-d),y:Math.min(H.y,window.innerHeight-f)})},S=(R,H)=>{o(D=>{D.viewState.weatherPanelRect||(D.viewState.weatherPanelRect=new ai(0,0,500,500)),D.viewState.weatherPanelRect.x=Math.min(H.x,window.innerWidth-d),D.viewState.weatherPanelRect.y=Math.min(H.y,window.innerHeight-f)})},x=()=>{const R={name:"Close Weather Panel",timestamp:Date.now(),undo:()=>{o(H=>{H.viewState.showWeatherPanel=!0})},redo:()=>{o(H=>{H.viewState.showWeatherPanel=!1})}};i(R),o(H=>{H.viewState.showWeatherPanel=!1})};return h.jsx(Vr,{nodeRef:s,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:y,onStop:S,onMouseDown:()=>{o(R=>{R.selectedFloatingWindow="weatherPanel"})},children:h.jsx(MIo,{ref:s,style:{zIndex:l==="weatherPanel"?xc:10},children:h.jsxs(IIo,{ref:c,style:{opacity:n,width:(a?a.width:500)+"px",height:(a?a.height:500)+"px"},children:[h.jsxs(zIo,{className:"handle",children:[h.jsx("span",{children:j.t("word.Weather",A)+": "+(t!=null&&t.trim().endsWith(",")?t==null?void 0:t.trim().substring(0,(t==null?void 0:t.length)-2):t)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{x()},onMouseDown:()=>{x()},children:j.t("word.Close",A)})]}),h.jsx(h.Fragment,{children:e.map(R=>R===xr.SunshineHours?h.jsx(est,{type:R,dataSource:C[R],height:b,dataKeyAxisX:"Month",labelX:j.t("word.Month",A),labelY:P[R],unitY:v[R],yMin:0,fractionDigits:1,referenceX:T,color:"#FFD700"},R):h.jsx(mf,{chartType:Pl.Line,type:R,dataSource:C[R],height:b,dataKeyAxisX:"Month",labelX:j.t("word.Month",A),labelY:P[R],unitY:v[R],fractionDigits:1,referenceX:T},R))})]})})})}),EIo=Ho.div` +`,zIo=be.memo(({city:t,graphs:e})=>{const n=M(pu)??m0,o=M(dn),i=M(En),r=new Date(M(Ya)),a=M(yAt),l=M(bc),s=be.useRef(null),c=m.useRef(null),u=m.useRef(),d=c.current?c.current.clientWidth+40:a?a.width+40:540,f=c.current?c.current.clientHeight+100:a?a.height+100:600,[p,g]=m.useState({x:a?Math.min(a.x,window.innerWidth-d):0,y:a?Math.min(a.y,window.innerHeight-f):0}),A=Kt(),w=l1(t);m.useEffect(()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})},[a,d,f]),m.useEffect(()=>{const R=()=>{g({x:Math.min(a==null?void 0:a.x,window.innerWidth-d),y:Math.min(a==null?void 0:a.y,window.innerHeight-f)})};return window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}},[a,d,f]),m.useEffect(()=>(c.current&&(u.current||(u.current=new ResizeObserver(()=>{o(R=>{c.current&&(R.viewState.weatherPanelRect||(R.viewState.weatherPanelRect=new ai(0,0,500,500)),R.viewState.weatherPanelRect.width=c.current.offsetWidth,R.viewState.weatherPanelRect.height=c.current.offsetHeight)})})),u.current.observe(c.current)),()=>{var R;(R=u.current)==null||R.disconnect()}),[]);const b=m.useMemo(()=>e?Math.floor(100/e.length):100,[e]),C=m.useMemo(()=>{if(!e)return;const R={};return w&&e.forEach(H=>{switch(R[H]=[],H){case xr.MonthlyTemperatures:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Low:w.lowestTemperatures[D],High:w.highestTemperatures[D]});break;case xr.SunshineHours:for(let D=0;D<12;D++)R[H].push({Month:Ps[D],Sunshine:w.sunshineHours[D]});break}}),R},[e,w]),P=["NA",j.t("word.Temperature",A),j.t("word.Temperature",A),j.t("weatherPanel.SunshineHours",A)],v=["NA","°C","°C",j.t("word.Hour",A)],T=Ps[r.getMonth()],y=(R,H)=>{g({x:Math.min(H.x,window.innerWidth-d),y:Math.min(H.y,window.innerHeight-f)})},S=(R,H)=>{o(D=>{D.viewState.weatherPanelRect||(D.viewState.weatherPanelRect=new ai(0,0,500,500)),D.viewState.weatherPanelRect.x=Math.min(H.x,window.innerWidth-d),D.viewState.weatherPanelRect.y=Math.min(H.y,window.innerHeight-f)})},x=()=>{const R={name:"Close Weather Panel",timestamp:Date.now(),undo:()=>{o(H=>{H.viewState.showWeatherPanel=!0})},redo:()=>{o(H=>{H.viewState.showWeatherPanel=!1})}};i(R),o(H=>{H.viewState.showWeatherPanel=!1})};return h.jsx(Vr,{nodeRef:s,handle:".handle",bounds:"parent",axis:"both",position:p,onDrag:y,onStop:S,onMouseDown:()=>{o(R=>{R.selectedFloatingWindow="weatherPanel"})},children:h.jsx(HIo,{ref:s,style:{zIndex:l==="weatherPanel"?xc:10},children:h.jsxs(MIo,{ref:c,style:{opacity:n,width:(a?a.width:500)+"px",height:(a?a.height:500)+"px"},children:[h.jsxs(IIo,{className:"handle",children:[h.jsx("span",{children:j.t("word.Weather",A)+": "+(t!=null&&t.trim().endsWith(",")?t==null?void 0:t.trim().substring(0,(t==null?void 0:t.length)-2):t)}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{x()},onMouseDown:()=>{x()},children:j.t("word.Close",A)})]}),h.jsx(h.Fragment,{children:e.map(R=>R===xr.SunshineHours?h.jsx(Qlt,{type:R,dataSource:C[R],height:b,dataKeyAxisX:"Month",labelX:j.t("word.Month",A),labelY:P[R],unitY:v[R],yMin:0,fractionDigits:1,referenceX:T,color:"#FFD700"},R):h.jsx(mf,{chartType:Pl.Line,type:R,dataSource:C[R],height:b,dataKeyAxisX:"Month",labelX:j.t("word.Month",A),labelY:P[R],unitY:v[R],fractionDigits:1,referenceX:T},R))})]})})})}),DIo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -8699,7 +8699,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho align-items: center; padding: 16px; z-index: 9; -`,kIo=Ho.div` +`,EIo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8717,7 +8717,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho overflow-y: auto; resize: both; direction: rtl; -`,FIo=Ho.div` +`,kIo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8728,16 +8728,16 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho justify-content: space-between; align-items: center; cursor: move; -`,LIo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=Sn(E8t),a=Sn(uYe),l=M(MAt),s=M(Fg),c=M(IAt),u=M(zAt),d=M(bc),[f,p]=m.useState(!0),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:l?l.width+40:640,b=g.current?g.current.clientHeight+100:l?l.height+100:600,[C,P]=m.useState({x:l?Math.max(l.x,w-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-b):0}),v=be.useRef(null),T=Kt(),y=Ps[i.getMonth()];m.useEffect(()=>{P({x:Math.max(l==null?void 0:l.x,w-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-b)})},[l,w,b]),m.useEffect(()=>{const N=()=>{P({x:Math.max(l==null?void 0:l.x,w-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-b)})};return window.addEventListener("resize",N),()=>{window.removeEventListener("resize",N)}},[l,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(N=>{g.current&&(N.viewState.yearlyLightSensorPanelRect||(N.viewState.yearlyLightSensorPanelRect=new ai(0,0,600,500)),N.viewState.yearlyLightSensorPanelRect.width=g.current.offsetWidth,N.viewState.yearlyLightSensorPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var N;(N=A.current)==null||N.disconnect()}),[]);const S=(N,L)=>{P({x:Math.max(L.x,w-window.innerWidth),y:Math.min(L.y,window.innerHeight-b)})},x=(N,L)=>{o(E=>{E.viewState.yearlyLightSensorPanelRect||(E.viewState.yearlyLightSensorPanelRect=new ai(0,0,600,500)),E.viewState.yearlyLightSensorPanelRect.x=Math.max(L.x,w-window.innerWidth),E.viewState.yearlyLightSensorPanelRect.y=Math.min(L.y,window.innerHeight-b)})},R=()=>{o(N=>{N.viewState.showYearlyLightSensorPanel=!1,e&&(N.actionInfo={name:"Close Yearly Light Sensor Graph",timestamp:new Date().getTime()})})},{t:H}=jl(),D=H("word.Month",T),k=H("word.Radiation",T),W=r&&r[0]?Object.keys(r[0]).length===0:!0;return h.jsx(Vr,{nodeRef:v,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:S,onStop:x,onMouseDown:()=>{o(N=>{N.selectedFloatingWindow="yearlyLightSensorPanel"})},children:h.jsx(EIo,{ref:v,style:{zIndex:d==="yearlyLightSensorPanel"?xc:9},children:h.jsxs(kIo,{ref:g,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:500)+"px"},children:[h.jsxs(FIo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[H("sensorPanel.LightSensor",T)+": ",h.jsx("span",{style:{fontSize:"10px"},children:H("sensorPanel.WeatherDataFrom",T)+" "+t+" | "+i.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:H("word.Close",T)})]}),c&&h.jsx(mf,{type:xr.DaylightData,chartType:Pl.Area,dataSource:r.map(N=>({Month:N.Month,Daylight:N.Daylight})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("word.Daylight",T),unitY:H("word.Hour",T),yMin:0,curveType:"linear",fractionDigits:1,referenceX:y}),u&&h.jsx(est,{type:xr.ClearnessData,dataSource:r.map(N=>({Month:N.Month,Clearness:N.Clearness})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("yearlyLightSensorPanel.SkyClearness",T),unitY:"%",yMin:0,yMax:100,fractionDigits:1,referenceX:y,color:"#66CDAA"}),f&&h.jsx(mf,{type:xr.YearlyRadiationSensorData,chartType:Pl.Line,dataSource:r.map(({Daylight:N,Clearness:L,...E})=>E),labels:a,height:100,dataKeyAxisX:"Month",labelX:D,labelY:k,unitY:"kWh/m²/"+H("word.Day",T),yMin:0,curveType:"linear",fractionDigits:2,referenceX:y}),h.jsxs(en,{style:{alignSelf:"center",padding:"10px",direction:"ltr"},children:[h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowDaylightResults",T),checked:c,onChange:N=>{o(L=>{L.viewState.yearlyLightSensorPanelShowDaylight=N})}}),H("word.Daylight",T)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowSkyClearnessResults",T),checked:u,onChange:N=>{o(L=>{L.viewState.yearlyLightSensorPanelShowClearness=N})}}),H("yearlyLightSensorPanel.SkyClearness",T)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowAverageDailySolarRadiation",T),checked:f,onChange:N=>{p(N)}}),H("word.Radiation",T)]}),h.jsxs(en,{children:[h.jsx(oo,{type:"default",icon:W?h.jsx(vh,{}):h.jsx(xf,{}),title:H(W?"word.Run":"word.Update",T),onClick:()=>{if(s(z.Sensor)===0){hn(H("analysisManager.NoSensorForCollectingData",T));return}hn(H("message.SimulationStarted",T)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runYearlyLightSensor=!0,L.pauseYearlyLightSensor=!1,L.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:H("word.SaveAsImage",T),onClick:()=>{Md("line-graph-"+D+"-"+k,"yearly-light-sensor").then(()=>{hn(H("message.ScreenshotSaved",T)),e&&o(N=>{N.actionInfo={name:"Take Screenshot of Yearly Light Sensor Graph",timestamp:new Date().getTime()}})})}}),r&&r.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:H("word.SaveAsCsv",T),onClick:()=>{wh(r,"yearly-light-sensor.csv"),hn(H("message.CsvFileSaved",T)),e&&o(N=>{N.actionInfo={name:"Export Yearly Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})});//! moment.js +`,FIo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=Sn(z8t),a=Sn(sYe),l=M(RAt),s=M(Fg),c=M(HAt),u=M(MAt),d=M(bc),[f,p]=m.useState(!0),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:l?l.width+40:640,b=g.current?g.current.clientHeight+100:l?l.height+100:600,[C,P]=m.useState({x:l?Math.max(l.x,w-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-b):0}),v=be.useRef(null),T=Kt(),y=Ps[i.getMonth()];m.useEffect(()=>{P({x:Math.max(l==null?void 0:l.x,w-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-b)})},[l,w,b]),m.useEffect(()=>{const N=()=>{P({x:Math.max(l==null?void 0:l.x,w-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-b)})};return window.addEventListener("resize",N),()=>{window.removeEventListener("resize",N)}},[l,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(N=>{g.current&&(N.viewState.yearlyLightSensorPanelRect||(N.viewState.yearlyLightSensorPanelRect=new ai(0,0,600,500)),N.viewState.yearlyLightSensorPanelRect.width=g.current.offsetWidth,N.viewState.yearlyLightSensorPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var N;(N=A.current)==null||N.disconnect()}),[]);const S=(N,L)=>{P({x:Math.max(L.x,w-window.innerWidth),y:Math.min(L.y,window.innerHeight-b)})},x=(N,L)=>{o(E=>{E.viewState.yearlyLightSensorPanelRect||(E.viewState.yearlyLightSensorPanelRect=new ai(0,0,600,500)),E.viewState.yearlyLightSensorPanelRect.x=Math.max(L.x,w-window.innerWidth),E.viewState.yearlyLightSensorPanelRect.y=Math.min(L.y,window.innerHeight-b)})},R=()=>{o(N=>{N.viewState.showYearlyLightSensorPanel=!1,e&&(N.actionInfo={name:"Close Yearly Light Sensor Graph",timestamp:new Date().getTime()})})},{t:H}=jl(),D=H("word.Month",T),k=H("word.Radiation",T),W=r&&r[0]?Object.keys(r[0]).length===0:!0;return h.jsx(Vr,{nodeRef:v,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:S,onStop:x,onMouseDown:()=>{o(N=>{N.selectedFloatingWindow="yearlyLightSensorPanel"})},children:h.jsx(DIo,{ref:v,style:{zIndex:d==="yearlyLightSensorPanel"?xc:9},children:h.jsxs(EIo,{ref:g,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:500)+"px"},children:[h.jsxs(kIo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[H("sensorPanel.LightSensor",T)+": ",h.jsx("span",{style:{fontSize:"10px"},children:H("sensorPanel.WeatherDataFrom",T)+" "+t+" | "+i.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:H("word.Close",T)})]}),c&&h.jsx(mf,{type:xr.DaylightData,chartType:Pl.Area,dataSource:r.map(N=>({Month:N.Month,Daylight:N.Daylight})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("word.Daylight",T),unitY:H("word.Hour",T),yMin:0,curveType:"linear",fractionDigits:1,referenceX:y}),u&&h.jsx(Qlt,{type:xr.ClearnessData,dataSource:r.map(N=>({Month:N.Month,Clearness:N.Clearness})),height:100,dataKeyAxisX:"Month",labelX:D,labelY:H("yearlyLightSensorPanel.SkyClearness",T),unitY:"%",yMin:0,yMax:100,fractionDigits:1,referenceX:y,color:"#66CDAA"}),f&&h.jsx(mf,{type:xr.YearlyRadiationSensorData,chartType:Pl.Line,dataSource:r.map(({Daylight:N,Clearness:L,...E})=>E),labels:a,height:100,dataKeyAxisX:"Month",labelX:D,labelY:k,unitY:"kWh/m²/"+H("word.Day",T),yMin:0,curveType:"linear",fractionDigits:2,referenceX:y}),h.jsxs(en,{style:{alignSelf:"center",padding:"10px",direction:"ltr"},children:[h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowDaylightResults",T),checked:c,onChange:N=>{o(L=>{L.viewState.yearlyLightSensorPanelShowDaylight=N})}}),H("word.Daylight",T)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowSkyClearnessResults",T),checked:u,onChange:N=>{o(L=>{L.viewState.yearlyLightSensorPanelShowClearness=N})}}),H("yearlyLightSensorPanel.SkyClearness",T)]}),h.jsxs(en,{children:[h.jsx(wc,{title:H("yearlyLightSensorPanel.ShowAverageDailySolarRadiation",T),checked:f,onChange:N=>{p(N)}}),H("word.Radiation",T)]}),h.jsxs(en,{children:[h.jsx(no,{type:"default",icon:W?h.jsx(vh,{}):h.jsx(xf,{}),title:H(W?"word.Run":"word.Update",T),onClick:()=>{if(s(z.Sensor)===0){hn(H("analysisManager.NoSensorForCollectingData",T));return}hn(H("message.SimulationStarted",T)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Collect Yearly Data for Sensors",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runYearlyLightSensor=!0,L.pauseYearlyLightSensor=!1,L.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:H("word.SaveAsImage",T),onClick:()=>{Md("line-graph-"+D+"-"+k,"yearly-light-sensor").then(()=>{hn(H("message.ScreenshotSaved",T)),e&&o(N=>{N.actionInfo={name:"Take Screenshot of Yearly Light Sensor Graph",timestamp:new Date().getTime()}})})}}),r&&r.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:H("word.SaveAsCsv",T),onClick:()=>{wh(r,"yearly-light-sensor.csv"),hn(H("message.CsvFileSaved",T)),e&&o(N=>{N.actionInfo={name:"Export Yearly Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})});//! moment.js //! version : 2.29.4 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com -var tst;function gi(){return tst.apply(null,arguments)}function WIo(t){tst=t}function O2(t){return t instanceof Array||Object.prototype.toString.call(t)==="[object Array]"}function Ix(t){return t!=null&&Object.prototype.toString.call(t)==="[object Object]"}function El(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function F3e(t){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(t).length===0;var e;for(e in t)if(El(t,e))return!1;return!0}function Mp(t){return t===void 0}function oA(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function oU(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function nst(t,e){var n=[],o,i=t.length;for(o=0;o>>0,o;for(o=0;o0)for(n=0;n>>0,o;for(o=0;o0)for(n=0;n=0;return(r?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+o}var U3e=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,JO=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,cle={},zC={};function mr(t,e,n,o){var i=o;typeof o=="string"&&(i=function(){return this[o]()}),t&&(zC[t]=i),e&&(zC[e[0]]=function(){return _9(i.apply(this,arguments),e[1],e[2])}),n&&(zC[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function YIo(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function OIo(t){var e=t.match(U3e),n,o;for(n=0,o=e.length;n=0&&JO.test(t);)t=t.replace(JO,o),JO.lastIndex=0,n-=1;return t}var _Io={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function VIo(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.match(U3e).map(function(o){return o==="MMMM"||o==="MM"||o==="DD"||o==="dddd"?o.slice(1):o}).join(""),this._longDateFormat[t])}var GIo="Invalid date";function XIo(){return this._invalidDate}var JIo="%d",KIo=/\d{1,2}/;function qIo(t){return this._ordinal.replace("%d",t)}var $Io={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function QIo(t,e,n,o){var i=this._relativeTime[n];return h3(i)?i(t,e,n,o):i.replace(/%d/i,t)}function ZIo(t,e){var n=this._relativeTime[t>0?"future":"past"];return h3(n)?n(e):n.replace(/%s/i,e)}var jE={};function bh(t,e){var n=t.toLowerCase();jE[n]=jE[n+"s"]=jE[e]=t}function uy(t){return typeof t=="string"?jE[t]||jE[t.toLowerCase()]:void 0}function B3e(t){var e={},n,o;for(o in t)El(t,o)&&(n=uy(o),n&&(e[n]=t[o]));return e}var ast={};function Sh(t,e){ast[t]=e}function ezo(t){var e=[],n;for(n in t)El(t,n)&&e.push({unit:n,priority:ast[n]});return e.sort(function(o,i){return o.priority-i.priority}),e}function jee(t){return t%4===0&&t%100!==0||t%400===0}function Cm(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ka(t){var e=+t,n=0;return e!==0&&isFinite(e)&&(n=Cm(e)),n}function CM(t,e){return function(n){return n!=null?(lst(this,t,n),gi.updateOffset(this,e),this):KJ(this,t)}}function KJ(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function lst(t,e,n){t.isValid()&&!isNaN(n)&&(e==="FullYear"&&jee(t.year())&&t.month()===1&&t.date()===29?(n=ka(n),t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Xee(n,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function tzo(t){return t=uy(t),h3(this[t])?this[t]():this}function nzo(t,e){if(typeof t=="object"){t=B3e(t);var n=ezo(t),o,i=n.length;for(o=0;o68?1900:2e3)};var yst=CM("FullYear",!0);function xzo(){return jee(this.year())}function bzo(t,e,n,o,i,r,a){var l;return t<100&&t>=0?(l=new Date(t+400,e,n,o,i,r,a),isFinite(l.getFullYear())&&l.setFullYear(t)):l=new Date(t,e,n,o,i,r,a),l}function PL(t){var e,n;return t<100&&t>=0?(n=Array.prototype.slice.call(arguments),n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function $J(t,e,n){var o=7+e-n,i=(7+PL(t,0,o).getUTCDay()-e)%7;return-i+o-1}function Ast(t,e,n,o,i){var r=(7+n-o)%7,a=$J(t,o,i),l=1+7*(e-1)+r+a,s,c;return l<=0?(s=t-1,c=YE(s)+l):l>YE(t)?(s=t+1,c=l-YE(t)):(s=t,c=l),{year:s,dayOfYear:c}}function CL(t,e,n){var o=$J(t.year(),e,n),i=Math.floor((t.dayOfYear()-o-1)/7)+1,r,a;return i<1?(a=t.year()-1,r=i+F6(a,e,n)):i>F6(t.year(),e,n)?(r=i-F6(t.year(),e,n),a=t.year()+1):(a=t.year(),r=i),{week:r,year:a}}function F6(t,e,n){var o=$J(t,e,n),i=$J(t+1,e,n);return(YE(t)-o+i)/7}mr("w",["ww",2],"wo","week");mr("W",["WW",2],"Wo","isoWeek");bh("week","w");bh("isoWeek","W");Sh("week",5);Sh("isoWeek",5);Wi("w",Tc);Wi("ww",Tc,Wg);Wi("W",Tc);Wi("WW",Tc,Wg);aU(["w","ww","W","WW"],function(t,e,n,o){e[o.substr(0,1)]=ka(t)});function Szo(t){return CL(t,this._week.dow,this._week.doy).week}var Tzo={dow:0,doy:6};function Pzo(){return this._week.dow}function Czo(){return this._week.doy}function Rzo(t){var e=this.localeData().week(this);return t==null?e:this.add((t-e)*7,"d")}function Hzo(t){var e=CL(this,1,4).week;return t==null?e:this.add((t-e)*7,"d")}mr("d",0,"do","day");mr("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)});mr("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)});mr("dddd",0,0,function(t){return this.localeData().weekdays(this,t)});mr("e",0,0,"weekday");mr("E",0,0,"isoWeekday");bh("day","d");bh("weekday","e");bh("isoWeekday","E");Sh("day",11);Sh("weekday",11);Sh("isoWeekday",11);Wi("d",Tc);Wi("e",Tc);Wi("E",Tc);Wi("dd",function(t,e){return e.weekdaysMinRegex(t)});Wi("ddd",function(t,e){return e.weekdaysShortRegex(t)});Wi("dddd",function(t,e){return e.weekdaysRegex(t)});aU(["dd","ddd","dddd"],function(t,e,n,o){var i=n._locale.weekdaysParse(t,o,n._strict);i!=null?e.d=i:ya(n).invalidWeekday=t});aU(["d","e","E"],function(t,e,n,o){e[o]=ka(t)});function Mzo(t,e){return typeof t!="string"?t:isNaN(t)?(t=e.weekdaysParse(t),typeof t=="number"?t:null):parseInt(t,10)}function Izo(t,e){return typeof t=="string"?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function O3e(t,e){return t.slice(e,7).concat(t.slice(0,e))}var zzo="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wst="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Dzo="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ezo=rU,kzo=rU,Fzo=rU;function Lzo(t,e){var n=O2(this._weekdays)?this._weekdays:this._weekdays[t&&t!==!0&&this._weekdays.isFormat.test(e)?"format":"standalone"];return t===!0?O3e(n,this._week.dow):t?n[t.day()]:n}function Wzo(t){return t===!0?O3e(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nzo(t){return t===!0?O3e(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Uzo(t,e,n){var o,i,r,a=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)r=f3([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(r,"").toLocaleLowerCase();return n?e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1?i:null):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null):(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null):e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1||(i=k0.call(this._shortWeekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):(i=k0.call(this._minWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null))}function Bzo(t,e,n){var o,i,r;if(this._weekdaysParseExact)return Uzo.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(i=f3([2e3,1]).day(o),n&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[o]=new RegExp(r.replace(".",""),"i")),n&&e==="dddd"&&this._fullWeekdaysParse[o].test(t))return o;if(n&&e==="ddd"&&this._shortWeekdaysParse[o].test(t))return o;if(n&&e==="dd"&&this._minWeekdaysParse[o].test(t))return o;if(!n&&this._weekdaysParse[o].test(t))return o}}function jzo(t){if(!this.isValid())return t!=null?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return t!=null?(t=Mzo(t,this.localeData()),this.add(t-e,"d")):e}function Yzo(t){if(!this.isValid())return t!=null?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return t==null?e:this.add(t-e,"d")}function Ozo(t){if(!this.isValid())return t!=null?this:NaN;if(t!=null){var e=Izo(t,this.localeData());return this.day(this.day()%7?e:e-7)}else return this.day()||7}function _zo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||_3e.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(El(this,"_weekdaysRegex")||(this._weekdaysRegex=Ezo),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Vzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||_3e.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(El(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=kzo),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Gzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||_3e.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(El(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Fzo),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function _3e(){function t(u,d){return d.length-u.length}var e=[],n=[],o=[],i=[],r,a,l,s,c;for(r=0;r<7;r++)a=f3([2e3,1]).day(r),l=rg(this.weekdaysMin(a,"")),s=rg(this.weekdaysShort(a,"")),c=rg(this.weekdays(a,"")),e.push(l),n.push(s),o.push(c),i.push(l),i.push(s),i.push(c);e.sort(t),n.sort(t),o.sort(t),i.sort(t),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+e.join("|")+")","i")}function V3e(){return this.hours()%12||12}function Xzo(){return this.hours()||24}mr("H",["HH",2],0,"hour");mr("h",["hh",2],0,V3e);mr("k",["kk",2],0,Xzo);mr("hmm",0,0,function(){return""+V3e.apply(this)+_9(this.minutes(),2)});mr("hmmss",0,0,function(){return""+V3e.apply(this)+_9(this.minutes(),2)+_9(this.seconds(),2)});mr("Hmm",0,0,function(){return""+this.hours()+_9(this.minutes(),2)});mr("Hmmss",0,0,function(){return""+this.hours()+_9(this.minutes(),2)+_9(this.seconds(),2)});function vst(t,e){mr(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}vst("a",!0);vst("A",!1);bh("hour","h");Sh("hour",13);function xst(t,e){return e._meridiemParse}Wi("a",xst);Wi("A",xst);Wi("H",Tc);Wi("h",Tc);Wi("k",Tc);Wi("HH",Tc,Wg);Wi("hh",Tc,Wg);Wi("kk",Tc,Wg);Wi("hmm",ust);Wi("hmmss",dst);Wi("Hmm",ust);Wi("Hmmss",dst);ws(["H","HH"],Wu);ws(["k","kk"],function(t,e,n){var o=ka(t);e[Wu]=o===24?0:o});ws(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t});ws(["h","hh"],function(t,e,n){e[Wu]=ka(t),ya(n).bigHour=!0});ws("hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o)),ya(n).bigHour=!0});ws("hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i)),ya(n).bigHour=!0});ws("Hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o))});ws("Hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i))});function Jzo(t){return(t+"").toLowerCase().charAt(0)==="p"}var Kzo=/[ap]\.?m?\.?/i,qzo=CM("Hours",!0);function $zo(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}var bst={calendar:BIo,longDateFormat:_Io,invalidDate:GIo,ordinal:JIo,dayOfMonthOrdinalParse:KIo,relativeTime:$Io,months:dzo,monthsShort:fst,week:Tzo,weekdays:zzo,weekdaysMin:Dzo,weekdaysShort:wst,meridiemParse:Kzo},Fc={},iD={},RL;function Qzo(t,e){var n,o=Math.min(t.length,e.length);for(n=0;n0;){if(i=Jee(r.slice(0,n).join("-")),i)return i;if(o&&o.length>=n&&Qzo(r,o)>=n-1)break;n--}e++}return RL}function eDo(t){return t.match("^[^/\\\\]*$")!=null}function Jee(t){var e=null,n;if(Fc[t]===void 0&&typeof ch<"u"&&ch&&ch.exports&&eDo(t))try{e=RL._abbr,n=require,n("./locale/"+t),Ow(e)}catch{Fc[t]=null}return Fc[t]}function Ow(t,e){var n;return t&&(Mp(e)?n=SA(t):n=G3e(t,e),n?RL=n:typeof console<"u"&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),RL._abbr}function G3e(t,e){if(e!==null){var n,o=bst;if(e.abbr=t,Fc[t]!=null)ist("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=Fc[t]._config;else if(e.parentLocale!=null)if(Fc[e.parentLocale]!=null)o=Fc[e.parentLocale]._config;else if(n=Jee(e.parentLocale),n!=null)o=n._config;else return iD[e.parentLocale]||(iD[e.parentLocale]=[]),iD[e.parentLocale].push({name:t,config:e}),null;return Fc[t]=new N3e(Fhe(o,e)),iD[t]&&iD[t].forEach(function(i){G3e(i.name,i.config)}),Ow(t),Fc[t]}else return delete Fc[t],null}function tDo(t,e){if(e!=null){var n,o,i=bst;Fc[t]!=null&&Fc[t].parentLocale!=null?Fc[t].set(Fhe(Fc[t]._config,e)):(o=Jee(t),o!=null&&(i=o._config),e=Fhe(i,e),o==null&&(e.abbr=t),n=new N3e(e),n.parentLocale=Fc[t],Fc[t]=n),Ow(t)}else Fc[t]!=null&&(Fc[t].parentLocale!=null?(Fc[t]=Fc[t].parentLocale,t===Ow()&&Ow(t)):Fc[t]!=null&&delete Fc[t]);return Fc[t]}function SA(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return RL;if(!O2(t)){if(e=Jee(t),e)return e;t=[t]}return Zzo(t)}function nDo(){return Lhe(Fc)}function X3e(t){var e,n=t._a;return n&&ya(t).overflow===-2&&(e=n[b6]<0||n[b6]>11?b6:n[i9]<1||n[i9]>Xee(n[dh],n[b6])?i9:n[Wu]<0||n[Wu]>24||n[Wu]===24&&(n[b2]!==0||n[S6]!==0||n[Qv]!==0)?Wu:n[b2]<0||n[b2]>59?b2:n[S6]<0||n[S6]>59?S6:n[Qv]<0||n[Qv]>999?Qv:-1,ya(t)._overflowDayOfYear&&(ei9)&&(e=i9),ya(t)._overflowWeeks&&e===-1&&(e=szo),ya(t)._overflowWeekday&&e===-1&&(e=czo),ya(t).overflow=e),t}var oDo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,iDo=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,rDo=/Z|[+-]\d\d(?::?\d\d)?/,KO=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],ule=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aDo=/^\/?Date\((-?\d+)/i,lDo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,sDo={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Sst(t){var e,n,o=t._i,i=oDo.exec(o)||iDo.exec(o),r,a,l,s,c=KO.length,u=ule.length;if(i){for(ya(t).iso=!0,e=0,n=c;eYE(a)||t._dayOfYear===0)&&(ya(t)._overflowDayOfYear=!0),n=PL(a,0,t._dayOfYear),t._a[b6]=n.getUTCMonth(),t._a[i9]=n.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[Wu]===24&&t._a[b2]===0&&t._a[S6]===0&&t._a[Qv]===0&&(t._nextDay=!0,t._a[Wu]=0),t._d=(t._useUTC?PL:bzo).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wu]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==r&&(ya(t).weekdayMismatch=!0)}}function mDo(t){var e,n,o,i,r,a,l,s,c;e=t._w,e.GG!=null||e.W!=null||e.E!=null?(r=1,a=4,n=SP(e.GG,t._a[dh],CL(vc(),1,4).year),o=SP(e.W,1),i=SP(e.E,1),(i<1||i>7)&&(s=!0)):(r=t._locale._week.dow,a=t._locale._week.doy,c=CL(vc(),r,a),n=SP(e.gg,t._a[dh],c.year),o=SP(e.w,c.week),e.d!=null?(i=e.d,(i<0||i>6)&&(s=!0)):e.e!=null?(i=e.e+r,(e.e<0||e.e>6)&&(s=!0)):i=r),o<1||o>F6(n,r,a)?ya(t)._overflowWeeks=!0:s!=null?ya(t)._overflowWeekday=!0:(l=Ast(n,o,i,r,a),t._a[dh]=l.year,t._dayOfYear=l.dayOfYear)}gi.ISO_8601=function(){};gi.RFC_2822=function(){};function K3e(t){if(t._f===gi.ISO_8601){Sst(t);return}if(t._f===gi.RFC_2822){Tst(t);return}t._a=[],ya(t).empty=!0;var e=""+t._i,n,o,i,r,a,l=e.length,s=0,c,u;for(i=rst(t._f,t._locale).match(U3e)||[],u=i.length,n=0;n0&&ya(t).unusedInput.push(a),e=e.slice(e.indexOf(o)+o.length),s+=o.length),zC[r]?(o?ya(t).empty=!1:ya(t).unusedTokens.push(r),lzo(r,o,t)):t._strict&&!o&&ya(t).unusedTokens.push(r);ya(t).charsLeftOver=l-s,e.length>0&&ya(t).unusedInput.push(e),t._a[Wu]<=12&&ya(t).bigHour===!0&&t._a[Wu]>0&&(ya(t).bigHour=void 0),ya(t).parsedDateParts=t._a.slice(0),ya(t).meridiem=t._meridiem,t._a[Wu]=yDo(t._locale,t._a[Wu],t._meridiem),c=ya(t).era,c!==null&&(t._a[dh]=t._locale.erasConvertYear(c,t._a[dh])),J3e(t),X3e(t)}function yDo(t,e,n){var o;return n==null?e:t.meridiemHour!=null?t.meridiemHour(e,n):(t.isPM!=null&&(o=t.isPM(n),o&&e<12&&(e+=12),!o&&e===12&&(e=0)),e)}function ADo(t){var e,n,o,i,r,a,l=!1,s=t._f.length;if(s===0){ya(t).invalidFormat=!0,t._d=new Date(NaN);return}for(i=0;ithis?this:t:Bee()});function Rst(t,e){var n,o;if(e.length===1&&O2(e[0])&&(e=e[0]),!e.length)return vc();for(n=e[0],o=1;othis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function UDo(){if(!Mp(this._isDSTShifted))return this._isDSTShifted;var t={},e;return W3e(t,this),t=Pst(t),t._a?(e=t._isUTC?f3(t._a):vc(t._a),this._isDSTShifted=this.isValid()&&IDo(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function BDo(){return this.isValid()?!this._isUTC:!1}function jDo(){return this.isValid()?this._isUTC:!1}function Mst(){return this.isValid()?this._isUTC&&this._offset===0:!1}var YDo=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,ODo=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function r5(t,e){var n=t,o=null,i,r,a;return iV(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:oA(t)||!isNaN(+t)?(n={},e?n[e]=+t:n.milliseconds=+t):(o=YDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:0,d:ka(o[i9])*i,h:ka(o[Wu])*i,m:ka(o[b2])*i,s:ka(o[S6])*i,ms:ka(Nhe(o[Qv]*1e3))*i}):(o=ODo.exec(t))?(i=o[1]==="-"?-1:1,n={y:ev(o[2],i),M:ev(o[3],i),w:ev(o[4],i),d:ev(o[5],i),h:ev(o[6],i),m:ev(o[7],i),s:ev(o[8],i)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(a=_Do(vc(n.from),vc(n.to)),n={},n.ms=a.milliseconds,n.M=a.months),r=new Kee(n),iV(t)&&El(t,"_locale")&&(r._locale=t._locale),iV(t)&&El(t,"_isValid")&&(r._isValid=t._isValid),r}r5.fn=Kee.prototype;r5.invalid=MDo;function ev(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function zEe(t,e){var n={};return n.months=e.month()-t.month()+(e.year()-t.year())*12,t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function _Do(t,e){var n;return t.isValid()&&e.isValid()?(e=$3e(e,t),t.isBefore(e)?n=zEe(t,e):(n=zEe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Ist(t,e){return function(n,o){var i,r;return o!==null&&!isNaN(+o)&&(ist(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=o,o=r),i=r5(n,o),zst(this,i,t),this}}function zst(t,e,n,o){var i=e._milliseconds,r=Nhe(e._days),a=Nhe(e._months);t.isValid()&&(o=o??!0,a&&pst(t,KJ(t,"Month")+a*n),r&&lst(t,"Date",KJ(t,"Date")+r*n),i&&t._d.setTime(t._d.valueOf()+i*n),o&&gi.updateOffset(t,r||a))}var VDo=Ist(1,"add"),GDo=Ist(-1,"subtract");function Dst(t){return typeof t=="string"||t instanceof String}function XDo(t){return _2(t)||oU(t)||Dst(t)||oA(t)||KDo(t)||JDo(t)||t===null||t===void 0}function JDo(t){var e=Ix(t)&&!F3e(t),n=!1,o=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],i,r,a=o.length;for(i=0;in.valueOf():n.valueOf()9999?oV(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):h3(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",oV(n,"Z")):oV(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function cEo(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="",n,o,i,r;return this.isLocal()||(t=this.utcOffset()===0?"moment.utc":"moment.parseZone",e="Z"),n="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",r=e+'[")]',this.format(n+o+i+r)}function uEo(t){t||(t=this.isUtc()?gi.defaultFormatUtc:gi.defaultFormat);var e=oV(this,t);return this.localeData().postformat(e)}function dEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function fEo(t){return this.from(vc(),t)}function hEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function pEo(t){return this.to(vc(),t)}function Est(t){var e;return t===void 0?this._locale._abbr:(e=SA(t),e!=null&&(this._locale=e),this)}var kst=cy("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===void 0?this.localeData():this.locale(t)});function Fst(){return this._locale}var QJ=1e3,DC=60*QJ,ZJ=60*DC,Lst=(365*400+97)*24*ZJ;function EC(t,e){return(t%e+e)%e}function Wst(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-Lst:new Date(t,e,n).valueOf()}function Nst(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-Lst:Date.UTC(t,e,n)}function gEo(t){var e,n;if(t=uy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Nst:Wst,t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=EC(e+(this._isUTC?0:this.utcOffset()*DC),ZJ);break;case"minute":e=this._d.valueOf(),e-=EC(e,DC);break;case"second":e=this._d.valueOf(),e-=EC(e,QJ);break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function mEo(t){var e,n;if(t=uy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Nst:Wst,t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=ZJ-EC(e+(this._isUTC?0:this.utcOffset()*DC),ZJ)-1;break;case"minute":e=this._d.valueOf(),e+=DC-EC(e,DC)-1;break;case"second":e=this._d.valueOf(),e+=QJ-EC(e,QJ)-1;break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function yEo(){return this._d.valueOf()-(this._offset||0)*6e4}function AEo(){return Math.floor(this.valueOf()/1e3)}function wEo(){return new Date(this.valueOf())}function vEo(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function xEo(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function bEo(){return this.isValid()?this.toISOString():null}function SEo(){return L3e(this)}function TEo(){return bw({},ya(this))}function PEo(){return ya(this).overflow}function CEo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}mr("N",0,0,"eraAbbr");mr("NN",0,0,"eraAbbr");mr("NNN",0,0,"eraAbbr");mr("NNNN",0,0,"eraName");mr("NNNNN",0,0,"eraNarrow");mr("y",["y",1],"yo","eraYear");mr("y",["yy",2],0,"eraYear");mr("y",["yyy",3],0,"eraYear");mr("y",["yyyy",4],0,"eraYear");Wi("N",Q3e);Wi("NN",Q3e);Wi("NNN",Q3e);Wi("NNNN",WEo);Wi("NNNNN",NEo);ws(["N","NN","NNN","NNNN","NNNNN"],function(t,e,n,o){var i=n._locale.erasParse(t,o,n._strict);i?ya(n).era=i:ya(n).invalidEra=t});Wi("y",RM);Wi("yy",RM);Wi("yyy",RM);Wi("yyyy",RM);Wi("yo",UEo);ws(["y","yy","yyy","yyyy"],dh);ws(["yo"],function(t,e,n,o){var i;n._locale._eraYearOrdinalRegex&&(i=t.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?e[dh]=n._locale.eraYearOrdinalParse(t,i):e[dh]=parseInt(t,10)});function REo(t,e){var n,o,i,r=this._eras||SA("en")._eras;for(n=0,o=r.length;n=0)return r[o]}function MEo(t,e){var n=t.since<=t.until?1:-1;return e===void 0?gi(t.since).year():gi(t.since).year()+(e-t.offset)*n}function IEo(){var t,e,n,o=this.localeData().eras();for(t=0,e=o.length;tr&&(e=r),GEo.call(this,t,e,n,o,i))}function GEo(t,e,n,o,i){var r=Ast(t,e,n,o,i),a=PL(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}mr("Q",0,"Qo","quarter");bh("quarter","Q");Sh("quarter",7);Wi("Q",sst);ws("Q",function(t,e){e[b6]=(ka(t)-1)*3});function XEo(t){return t==null?Math.ceil((this.month()+1)/3):this.month((t-1)*3+this.month()%3)}mr("D",["DD",2],"Do","date");bh("date","D");Sh("date",9);Wi("D",Tc);Wi("DD",Tc,Wg);Wi("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient});ws(["D","DD"],i9);ws("Do",function(t,e){e[i9]=ka(t.match(Tc)[0])});var Bst=CM("Date",!0);mr("DDD",["DDDD",3],"DDDo","dayOfYear");bh("dayOfYear","DDD");Sh("dayOfYear",4);Wi("DDD",Oee);Wi("DDDD",cst);ws(["DDD","DDDD"],function(t,e,n){n._dayOfYear=ka(t)});function JEo(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return t==null?e:this.add(t-e,"d")}mr("m",["mm",2],0,"minute");bh("minute","m");Sh("minute",14);Wi("m",Tc);Wi("mm",Tc,Wg);ws(["m","mm"],b2);var KEo=CM("Minutes",!1);mr("s",["ss",2],0,"second");bh("second","s");Sh("second",15);Wi("s",Tc);Wi("ss",Tc,Wg);ws(["s","ss"],S6);var qEo=CM("Seconds",!1);mr("S",0,0,function(){return~~(this.millisecond()/100)});mr(0,["SS",2],0,function(){return~~(this.millisecond()/10)});mr(0,["SSS",3],0,"millisecond");mr(0,["SSSS",4],0,function(){return this.millisecond()*10});mr(0,["SSSSS",5],0,function(){return this.millisecond()*100});mr(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});mr(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});mr(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});mr(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});bh("millisecond","ms");Sh("millisecond",16);Wi("S",Oee,sst);Wi("SS",Oee,Wg);Wi("SSS",Oee,cst);var Sw,jst;for(Sw="SSSS";Sw.length<=9;Sw+="S")Wi(Sw,RM);function $Eo(t,e){e[Qv]=ka(("0."+t)*1e3)}for(Sw="S";Sw.length<=9;Sw+="S")ws(Sw,$Eo);jst=CM("Milliseconds",!1);mr("z",0,0,"zoneAbbr");mr("zz",0,0,"zoneName");function QEo(){return this._isUTC?"UTC":""}function ZEo(){return this._isUTC?"Coordinated Universal Time":""}var Ko=iU.prototype;Ko.add=VDo;Ko.calendar=QDo;Ko.clone=ZDo;Ko.diff=aEo;Ko.endOf=mEo;Ko.format=uEo;Ko.from=dEo;Ko.fromNow=fEo;Ko.to=hEo;Ko.toNow=pEo;Ko.get=tzo;Ko.invalidAt=PEo;Ko.isAfter=eEo;Ko.isBefore=tEo;Ko.isBetween=nEo;Ko.isSame=oEo;Ko.isSameOrAfter=iEo;Ko.isSameOrBefore=rEo;Ko.isValid=SEo;Ko.lang=kst;Ko.locale=Est;Ko.localeData=Fst;Ko.max=SDo;Ko.min=bDo;Ko.parsingFlags=TEo;Ko.set=nzo;Ko.startOf=gEo;Ko.subtract=GDo;Ko.toArray=vEo;Ko.toObject=xEo;Ko.toDate=wEo;Ko.toISOString=sEo;Ko.inspect=cEo;typeof Symbol<"u"&&Symbol.for!=null&&(Ko[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});Ko.toJSON=bEo;Ko.toString=lEo;Ko.unix=AEo;Ko.valueOf=yEo;Ko.creationData=CEo;Ko.eraName=IEo;Ko.eraNarrow=zEo;Ko.eraAbbr=DEo;Ko.eraYear=EEo;Ko.year=yst;Ko.isLeapYear=xzo;Ko.weekYear=BEo;Ko.isoWeekYear=jEo;Ko.quarter=Ko.quarters=XEo;Ko.month=gst;Ko.daysInMonth=Azo;Ko.week=Ko.weeks=Rzo;Ko.isoWeek=Ko.isoWeeks=Hzo;Ko.weeksInYear=_Eo;Ko.weeksInWeekYear=VEo;Ko.isoWeeksInYear=YEo;Ko.isoWeeksInISOWeekYear=OEo;Ko.date=Bst;Ko.day=Ko.days=jzo;Ko.weekday=Yzo;Ko.isoWeekday=Ozo;Ko.dayOfYear=JEo;Ko.hour=Ko.hours=qzo;Ko.minute=Ko.minutes=KEo;Ko.second=Ko.seconds=qEo;Ko.millisecond=Ko.milliseconds=jst;Ko.utcOffset=DDo;Ko.utc=kDo;Ko.local=FDo;Ko.parseZone=LDo;Ko.hasAlignedHourOffset=WDo;Ko.isDST=NDo;Ko.isLocal=BDo;Ko.isUtcOffset=jDo;Ko.isUtc=Mst;Ko.isUTC=Mst;Ko.zoneAbbr=QEo;Ko.zoneName=ZEo;Ko.dates=cy("dates accessor is deprecated. Use date instead.",Bst);Ko.months=cy("months accessor is deprecated. Use month instead",gst);Ko.years=cy("years accessor is deprecated. Use year instead",yst);Ko.zone=cy("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",EDo);Ko.isDSTShifted=cy("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",UDo);function eko(t){return vc(t*1e3)}function tko(){return vc.apply(null,arguments).parseZone()}function Yst(t){return t}var Ll=N3e.prototype;Ll.calendar=jIo;Ll.longDateFormat=VIo;Ll.invalidDate=XIo;Ll.ordinal=qIo;Ll.preparse=Yst;Ll.postformat=Yst;Ll.relativeTime=QIo;Ll.pastFuture=ZIo;Ll.set=UIo;Ll.eras=REo;Ll.erasParse=HEo;Ll.erasConvertYear=MEo;Ll.erasAbbrRegex=FEo;Ll.erasNameRegex=kEo;Ll.erasNarrowRegex=LEo;Ll.months=pzo;Ll.monthsShort=gzo;Ll.monthsParse=yzo;Ll.monthsRegex=vzo;Ll.monthsShortRegex=wzo;Ll.week=Szo;Ll.firstDayOfYear=Czo;Ll.firstDayOfWeek=Pzo;Ll.weekdays=Lzo;Ll.weekdaysMin=Nzo;Ll.weekdaysShort=Wzo;Ll.weekdaysParse=Bzo;Ll.weekdaysRegex=_zo;Ll.weekdaysShortRegex=Vzo;Ll.weekdaysMinRegex=Gzo;Ll.isPM=Jzo;Ll.meridiem=$zo;function eK(t,e,n,o){var i=SA(),r=f3().set(o,e);return i[n](r,t)}function Ost(t,e,n){if(oA(t)&&(e=t,t=void 0),t=t||"",e!=null)return eK(t,e,n,"month");var o,i=[];for(o=0;o<12;o++)i[o]=eK(t,o,n,"month");return i}function e6e(t,e,n,o){typeof t=="boolean"?(oA(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,oA(e)&&(n=e,e=void 0),e=e||"");var i=SA(),r=t?i._week.dow:0,a,l=[];if(n!=null)return eK(e,(n+r)%7,o,"day");for(a=0;a<7;a++)l[a]=eK(e,(a+r)%7,o,"day");return l}function nko(t,e){return Ost(t,e,"months")}function oko(t,e){return Ost(t,e,"monthsShort")}function iko(t,e,n){return e6e(t,e,n,"weekdays")}function rko(t,e,n){return e6e(t,e,n,"weekdaysShort")}function ako(t,e,n){return e6e(t,e,n,"weekdaysMin")}Ow("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=ka(t%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return t+n}});gi.lang=cy("moment.lang is deprecated. Use moment.locale instead.",Ow);gi.langData=cy("moment.langData is deprecated. Use moment.localeData instead.",SA);var t6=Math.abs;function lko(){var t=this._data;return this._milliseconds=t6(this._milliseconds),this._days=t6(this._days),this._months=t6(this._months),t.milliseconds=t6(t.milliseconds),t.seconds=t6(t.seconds),t.minutes=t6(t.minutes),t.hours=t6(t.hours),t.months=t6(t.months),t.years=t6(t.years),this}function _st(t,e,n,o){var i=r5(e,n);return t._milliseconds+=o*i._milliseconds,t._days+=o*i._days,t._months+=o*i._months,t._bubble()}function sko(t,e){return _st(this,t,e,1)}function cko(t,e){return _st(this,t,e,-1)}function DEe(t){return t<0?Math.floor(t):Math.ceil(t)}function uko(){var t=this._milliseconds,e=this._days,n=this._months,o=this._data,i,r,a,l,s;return t>=0&&e>=0&&n>=0||t<=0&&e<=0&&n<=0||(t+=DEe(Bhe(n)+e)*864e5,e=0,n=0),o.milliseconds=t%1e3,i=Cm(t/1e3),o.seconds=i%60,r=Cm(i/60),o.minutes=r%60,a=Cm(r/60),o.hours=a%24,e+=Cm(a/24),s=Cm(Vst(e)),n+=s,e-=DEe(Bhe(s)),l=Cm(n/12),n%=12,o.days=e,o.months=n,o.years=l,this}function Vst(t){return t*4800/146097}function Bhe(t){return t*146097/4800}function dko(t){if(!this.isValid())return NaN;var e,n,o=this._milliseconds;if(t=uy(t),t==="month"||t==="quarter"||t==="year")switch(e=this._days+o/864e5,n=this._months+Vst(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(Bhe(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return e*24+o/36e5;case"minute":return e*1440+o/6e4;case"second":return e*86400+o/1e3;case"millisecond":return Math.floor(e*864e5)+o;default:throw new Error("Unknown unit "+t)}}function fko(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+ka(this._months/12)*31536e6:NaN}function TA(t){return function(){return this.as(t)}}var hko=TA("ms"),pko=TA("s"),gko=TA("m"),mko=TA("h"),yko=TA("d"),Ako=TA("w"),wko=TA("M"),vko=TA("Q"),xko=TA("y");function bko(){return r5(this)}function Sko(t){return t=uy(t),this.isValid()?this[t+"s"]():NaN}function aS(t){return function(){return this.isValid()?this._data[t]:NaN}}var Tko=aS("milliseconds"),Pko=aS("seconds"),Cko=aS("minutes"),Rko=aS("hours"),Hko=aS("days"),Mko=aS("months"),Iko=aS("years");function zko(){return Cm(this.days()/7)}var a6=Math.round,rC={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Dko(t,e,n,o,i){return i.relativeTime(e||1,!!n,t,o)}function Eko(t,e,n,o){var i=r5(t).abs(),r=a6(i.as("s")),a=a6(i.as("m")),l=a6(i.as("h")),s=a6(i.as("d")),c=a6(i.as("M")),u=a6(i.as("w")),d=a6(i.as("y")),f=r<=n.ss&&["s",r]||r0,f[4]=o,Dko.apply(null,f)}function kko(t){return t===void 0?a6:typeof t=="function"?(a6=t,!0):!1}function Fko(t,e){return rC[t]===void 0?!1:e===void 0?rC[t]:(rC[t]=e,t==="s"&&(rC.ss=e-1),!0)}function Lko(t,e){if(!this.isValid())return this.localeData().invalidDate();var n=!1,o=rC,i,r;return typeof t=="object"&&(e=t,t=!1),typeof t=="boolean"&&(n=t),typeof e=="object"&&(o=Object.assign({},rC,e),e.s!=null&&e.ss==null&&(o.ss=e.s-1)),i=this.localeData(),r=Eko(this,!n,o,i),n&&(r=i.pastFuture(+this,r)),i.postformat(r)}var dle=Math.abs;function JT(t){return(t>0)-(t<0)||+t}function $ee(){if(!this.isValid())return this.localeData().invalidDate();var t=dle(this._milliseconds)/1e3,e=dle(this._days),n=dle(this._months),o,i,r,a,l=this.asSeconds(),s,c,u,d;return l?(o=Cm(t/60),i=Cm(o/60),t%=60,o%=60,r=Cm(n/12),n%=12,a=t?t.toFixed(3).replace(/\.?0+$/,""):"",s=l<0?"-":"",c=JT(this._months)!==JT(l)?"-":"",u=JT(this._days)!==JT(l)?"-":"",d=JT(this._milliseconds)!==JT(l)?"-":"",s+"P"+(r?c+r+"Y":"")+(n?c+n+"M":"")+(e?u+e+"D":"")+(i||o||t?"T":"")+(i?d+i+"H":"")+(o?d+o+"M":"")+(t?d+a+"S":"")):"P0D"}var ml=Kee.prototype;ml.isValid=HDo;ml.abs=lko;ml.add=sko;ml.subtract=cko;ml.as=dko;ml.asMilliseconds=hko;ml.asSeconds=pko;ml.asMinutes=gko;ml.asHours=mko;ml.asDays=yko;ml.asWeeks=Ako;ml.asMonths=wko;ml.asQuarters=vko;ml.asYears=xko;ml.valueOf=fko;ml._bubble=uko;ml.clone=bko;ml.get=Sko;ml.milliseconds=Tko;ml.seconds=Pko;ml.minutes=Cko;ml.hours=Rko;ml.days=Hko;ml.weeks=zko;ml.months=Mko;ml.years=Iko;ml.humanize=Lko;ml.toISOString=$ee;ml.toString=$ee;ml.toJSON=$ee;ml.locale=Est;ml.localeData=Fst;ml.toIsoString=cy("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$ee);ml.lang=kst;mr("X",0,0,"unix");mr("x",0,0,"valueOf");Wi("x",Vee);Wi("X",izo);ws("X",function(t,e,n){n._d=new Date(parseFloat(t)*1e3)});ws("x",function(t,e,n){n._d=new Date(ka(t))});//! moment.js -gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3;gi.unix=eko;gi.months=nko;gi.isDate=oU;gi.locale=Ow;gi.invalid=Bee;gi.duration=r5;gi.isMoment=_2;gi.weekdays=iko;gi.parseZone=tko;gi.localeData=SA;gi.isDuration=iV;gi.monthsShort=oko;gi.weekdaysMin=ako;gi.defineLocale=G3e;gi.updateLocale=tDo;gi.locales=nDo;gi.weekdaysShort=rko;gi.normalizeUnits=uy;gi.relativeTimeRounding=kko;gi.relativeTimeThreshold=Fko;gi.calendarFormat=$Do;gi.prototype=Ko;gi.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const Wko=Ho.div` +`+new Error().stack),n=!1}return e.apply(this,arguments)},e)}var REe={};function nst(t,e){gi.deprecationHandler!=null&&gi.deprecationHandler(t,e),REe[t]||(tst(e),REe[t]=!0)}gi.suppressDeprecationWarnings=!1;gi.deprecationHandler=null;function h3(t){return typeof Function<"u"&&t instanceof Function||Object.prototype.toString.call(t)==="[object Function]"}function NIo(t){var e,n;for(n in t)El(t,n)&&(e=t[n],h3(e)?this[n]=e:this["_"+n]=e);this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function Fhe(t,e){var n=bw({},t),o;for(o in e)El(e,o)&&(Ix(t[o])&&Ix(e[o])?(n[o]={},bw(n[o],t[o]),bw(n[o],e[o])):e[o]!=null?n[o]=e[o]:delete n[o]);for(o in t)El(t,o)&&!El(e,o)&&Ix(t[o])&&(n[o]=bw({},n[o]));return n}function N3e(t){t!=null&&this.set(t)}var Lhe;Object.keys?Lhe=Object.keys:Lhe=function(t){var e,n=[];for(e in t)El(t,e)&&n.push(e);return n};var UIo={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function BIo(t,e,n){var o=this._calendar[t]||this._calendar.sameElse;return h3(o)?o.call(e,n):o}function _9(t,e,n){var o=""+Math.abs(t),i=e-o.length,r=t>=0;return(r?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+o}var U3e=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,JO=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,cle={},zC={};function mr(t,e,n,o){var i=o;typeof o=="string"&&(i=function(){return this[o]()}),t&&(zC[t]=i),e&&(zC[e[0]]=function(){return _9(i.apply(this,arguments),e[1],e[2])}),n&&(zC[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function jIo(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function YIo(t){var e=t.match(U3e),n,o;for(n=0,o=e.length;n=0&&JO.test(t);)t=t.replace(JO,o),JO.lastIndex=0,n-=1;return t}var OIo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function _Io(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.match(U3e).map(function(o){return o==="MMMM"||o==="MM"||o==="DD"||o==="dddd"?o.slice(1):o}).join(""),this._longDateFormat[t])}var VIo="Invalid date";function GIo(){return this._invalidDate}var XIo="%d",JIo=/\d{1,2}/;function KIo(t){return this._ordinal.replace("%d",t)}var qIo={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function $Io(t,e,n,o){var i=this._relativeTime[n];return h3(i)?i(t,e,n,o):i.replace(/%d/i,t)}function QIo(t,e){var n=this._relativeTime[t>0?"future":"past"];return h3(n)?n(e):n.replace(/%s/i,e)}var jE={};function bh(t,e){var n=t.toLowerCase();jE[n]=jE[n+"s"]=jE[e]=t}function uy(t){return typeof t=="string"?jE[t]||jE[t.toLowerCase()]:void 0}function B3e(t){var e={},n,o;for(o in t)El(t,o)&&(n=uy(o),n&&(e[n]=t[o]));return e}var ist={};function Sh(t,e){ist[t]=e}function ZIo(t){var e=[],n;for(n in t)El(t,n)&&e.push({unit:n,priority:ist[n]});return e.sort(function(o,i){return o.priority-i.priority}),e}function jee(t){return t%4===0&&t%100!==0||t%400===0}function Cm(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ka(t){var e=+t,n=0;return e!==0&&isFinite(e)&&(n=Cm(e)),n}function CM(t,e){return function(n){return n!=null?(rst(this,t,n),gi.updateOffset(this,e),this):KJ(this,t)}}function KJ(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function rst(t,e,n){t.isValid()&&!isNaN(n)&&(e==="FullYear"&&jee(t.year())&&t.month()===1&&t.date()===29?(n=ka(n),t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Xee(n,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function ezo(t){return t=uy(t),h3(this[t])?this[t]():this}function tzo(t,e){if(typeof t=="object"){t=B3e(t);var n=ZIo(t),o,i=n.length;for(o=0;o68?1900:2e3)};var gst=CM("FullYear",!0);function vzo(){return jee(this.year())}function xzo(t,e,n,o,i,r,a){var l;return t<100&&t>=0?(l=new Date(t+400,e,n,o,i,r,a),isFinite(l.getFullYear())&&l.setFullYear(t)):l=new Date(t,e,n,o,i,r,a),l}function PL(t){var e,n;return t<100&&t>=0?(n=Array.prototype.slice.call(arguments),n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function $J(t,e,n){var o=7+e-n,i=(7+PL(t,0,o).getUTCDay()-e)%7;return-i+o-1}function mst(t,e,n,o,i){var r=(7+n-o)%7,a=$J(t,o,i),l=1+7*(e-1)+r+a,s,c;return l<=0?(s=t-1,c=YE(s)+l):l>YE(t)?(s=t+1,c=l-YE(t)):(s=t,c=l),{year:s,dayOfYear:c}}function CL(t,e,n){var o=$J(t.year(),e,n),i=Math.floor((t.dayOfYear()-o-1)/7)+1,r,a;return i<1?(a=t.year()-1,r=i+F6(a,e,n)):i>F6(t.year(),e,n)?(r=i-F6(t.year(),e,n),a=t.year()+1):(a=t.year(),r=i),{week:r,year:a}}function F6(t,e,n){var o=$J(t,e,n),i=$J(t+1,e,n);return(YE(t)-o+i)/7}mr("w",["ww",2],"wo","week");mr("W",["WW",2],"Wo","isoWeek");bh("week","w");bh("isoWeek","W");Sh("week",5);Sh("isoWeek",5);Wi("w",Tc);Wi("ww",Tc,Wg);Wi("W",Tc);Wi("WW",Tc,Wg);aU(["w","ww","W","WW"],function(t,e,n,o){e[o.substr(0,1)]=ka(t)});function bzo(t){return CL(t,this._week.dow,this._week.doy).week}var Szo={dow:0,doy:6};function Tzo(){return this._week.dow}function Pzo(){return this._week.doy}function Czo(t){var e=this.localeData().week(this);return t==null?e:this.add((t-e)*7,"d")}function Rzo(t){var e=CL(this,1,4).week;return t==null?e:this.add((t-e)*7,"d")}mr("d",0,"do","day");mr("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)});mr("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)});mr("dddd",0,0,function(t){return this.localeData().weekdays(this,t)});mr("e",0,0,"weekday");mr("E",0,0,"isoWeekday");bh("day","d");bh("weekday","e");bh("isoWeekday","E");Sh("day",11);Sh("weekday",11);Sh("isoWeekday",11);Wi("d",Tc);Wi("e",Tc);Wi("E",Tc);Wi("dd",function(t,e){return e.weekdaysMinRegex(t)});Wi("ddd",function(t,e){return e.weekdaysShortRegex(t)});Wi("dddd",function(t,e){return e.weekdaysRegex(t)});aU(["dd","ddd","dddd"],function(t,e,n,o){var i=n._locale.weekdaysParse(t,o,n._strict);i!=null?e.d=i:ya(n).invalidWeekday=t});aU(["d","e","E"],function(t,e,n,o){e[o]=ka(t)});function Hzo(t,e){return typeof t!="string"?t:isNaN(t)?(t=e.weekdaysParse(t),typeof t=="number"?t:null):parseInt(t,10)}function Mzo(t,e){return typeof t=="string"?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function O3e(t,e){return t.slice(e,7).concat(t.slice(0,e))}var Izo="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),yst="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),zzo="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Dzo=rU,Ezo=rU,kzo=rU;function Fzo(t,e){var n=O2(this._weekdays)?this._weekdays:this._weekdays[t&&t!==!0&&this._weekdays.isFormat.test(e)?"format":"standalone"];return t===!0?O3e(n,this._week.dow):t?n[t.day()]:n}function Lzo(t){return t===!0?O3e(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Wzo(t){return t===!0?O3e(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Nzo(t,e,n){var o,i,r,a=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)r=f3([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(r,"").toLocaleLowerCase();return n?e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1?i:null):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null):(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null):e==="dddd"?(i=k0.call(this._weekdaysParse,a),i!==-1||(i=k0.call(this._shortWeekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):e==="ddd"?(i=k0.call(this._shortWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._minWeekdaysParse,a),i!==-1?i:null)):(i=k0.call(this._minWeekdaysParse,a),i!==-1||(i=k0.call(this._weekdaysParse,a),i!==-1)?i:(i=k0.call(this._shortWeekdaysParse,a),i!==-1?i:null))}function Uzo(t,e,n){var o,i,r;if(this._weekdaysParseExact)return Nzo.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(i=f3([2e3,1]).day(o),n&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[o]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[o]=new RegExp(r.replace(".",""),"i")),n&&e==="dddd"&&this._fullWeekdaysParse[o].test(t))return o;if(n&&e==="ddd"&&this._shortWeekdaysParse[o].test(t))return o;if(n&&e==="dd"&&this._minWeekdaysParse[o].test(t))return o;if(!n&&this._weekdaysParse[o].test(t))return o}}function Bzo(t){if(!this.isValid())return t!=null?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return t!=null?(t=Hzo(t,this.localeData()),this.add(t-e,"d")):e}function jzo(t){if(!this.isValid())return t!=null?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return t==null?e:this.add(t-e,"d")}function Yzo(t){if(!this.isValid())return t!=null?this:NaN;if(t!=null){var e=Mzo(t,this.localeData());return this.day(this.day()%7?e:e-7)}else return this.day()||7}function Ozo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||_3e.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(El(this,"_weekdaysRegex")||(this._weekdaysRegex=Dzo),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function _zo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||_3e.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(El(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ezo),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Vzo(t){return this._weekdaysParseExact?(El(this,"_weekdaysRegex")||_3e.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(El(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=kzo),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function _3e(){function t(u,d){return d.length-u.length}var e=[],n=[],o=[],i=[],r,a,l,s,c;for(r=0;r<7;r++)a=f3([2e3,1]).day(r),l=rg(this.weekdaysMin(a,"")),s=rg(this.weekdaysShort(a,"")),c=rg(this.weekdays(a,"")),e.push(l),n.push(s),o.push(c),i.push(l),i.push(s),i.push(c);e.sort(t),n.sort(t),o.sort(t),i.sort(t),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+e.join("|")+")","i")}function V3e(){return this.hours()%12||12}function Gzo(){return this.hours()||24}mr("H",["HH",2],0,"hour");mr("h",["hh",2],0,V3e);mr("k",["kk",2],0,Gzo);mr("hmm",0,0,function(){return""+V3e.apply(this)+_9(this.minutes(),2)});mr("hmmss",0,0,function(){return""+V3e.apply(this)+_9(this.minutes(),2)+_9(this.seconds(),2)});mr("Hmm",0,0,function(){return""+this.hours()+_9(this.minutes(),2)});mr("Hmmss",0,0,function(){return""+this.hours()+_9(this.minutes(),2)+_9(this.seconds(),2)});function Ast(t,e){mr(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}Ast("a",!0);Ast("A",!1);bh("hour","h");Sh("hour",13);function wst(t,e){return e._meridiemParse}Wi("a",wst);Wi("A",wst);Wi("H",Tc);Wi("h",Tc);Wi("k",Tc);Wi("HH",Tc,Wg);Wi("hh",Tc,Wg);Wi("kk",Tc,Wg);Wi("hmm",sst);Wi("hmmss",cst);Wi("Hmm",sst);Wi("Hmmss",cst);ws(["H","HH"],Wu);ws(["k","kk"],function(t,e,n){var o=ka(t);e[Wu]=o===24?0:o});ws(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t});ws(["h","hh"],function(t,e,n){e[Wu]=ka(t),ya(n).bigHour=!0});ws("hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o)),ya(n).bigHour=!0});ws("hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i)),ya(n).bigHour=!0});ws("Hmm",function(t,e,n){var o=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o))});ws("Hmmss",function(t,e,n){var o=t.length-4,i=t.length-2;e[Wu]=ka(t.substr(0,o)),e[b2]=ka(t.substr(o,2)),e[S6]=ka(t.substr(i))});function Xzo(t){return(t+"").toLowerCase().charAt(0)==="p"}var Jzo=/[ap]\.?m?\.?/i,Kzo=CM("Hours",!0);function qzo(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}var vst={calendar:UIo,longDateFormat:OIo,invalidDate:VIo,ordinal:XIo,dayOfMonthOrdinalParse:JIo,relativeTime:qIo,months:uzo,monthsShort:ust,week:Szo,weekdays:Izo,weekdaysMin:zzo,weekdaysShort:yst,meridiemParse:Jzo},Fc={},iD={},RL;function $zo(t,e){var n,o=Math.min(t.length,e.length);for(n=0;n0;){if(i=Jee(r.slice(0,n).join("-")),i)return i;if(o&&o.length>=n&&$zo(r,o)>=n-1)break;n--}e++}return RL}function Zzo(t){return t.match("^[^/\\\\]*$")!=null}function Jee(t){var e=null,n;if(Fc[t]===void 0&&typeof ch<"u"&&ch&&ch.exports&&Zzo(t))try{e=RL._abbr,n=require,n("./locale/"+t),Ow(e)}catch{Fc[t]=null}return Fc[t]}function Ow(t,e){var n;return t&&(Mp(e)?n=SA(t):n=G3e(t,e),n?RL=n:typeof console<"u"&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),RL._abbr}function G3e(t,e){if(e!==null){var n,o=vst;if(e.abbr=t,Fc[t]!=null)nst("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),o=Fc[t]._config;else if(e.parentLocale!=null)if(Fc[e.parentLocale]!=null)o=Fc[e.parentLocale]._config;else if(n=Jee(e.parentLocale),n!=null)o=n._config;else return iD[e.parentLocale]||(iD[e.parentLocale]=[]),iD[e.parentLocale].push({name:t,config:e}),null;return Fc[t]=new N3e(Fhe(o,e)),iD[t]&&iD[t].forEach(function(i){G3e(i.name,i.config)}),Ow(t),Fc[t]}else return delete Fc[t],null}function eDo(t,e){if(e!=null){var n,o,i=vst;Fc[t]!=null&&Fc[t].parentLocale!=null?Fc[t].set(Fhe(Fc[t]._config,e)):(o=Jee(t),o!=null&&(i=o._config),e=Fhe(i,e),o==null&&(e.abbr=t),n=new N3e(e),n.parentLocale=Fc[t],Fc[t]=n),Ow(t)}else Fc[t]!=null&&(Fc[t].parentLocale!=null?(Fc[t]=Fc[t].parentLocale,t===Ow()&&Ow(t)):Fc[t]!=null&&delete Fc[t]);return Fc[t]}function SA(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return RL;if(!O2(t)){if(e=Jee(t),e)return e;t=[t]}return Qzo(t)}function tDo(){return Lhe(Fc)}function X3e(t){var e,n=t._a;return n&&ya(t).overflow===-2&&(e=n[b6]<0||n[b6]>11?b6:n[i9]<1||n[i9]>Xee(n[dh],n[b6])?i9:n[Wu]<0||n[Wu]>24||n[Wu]===24&&(n[b2]!==0||n[S6]!==0||n[Qv]!==0)?Wu:n[b2]<0||n[b2]>59?b2:n[S6]<0||n[S6]>59?S6:n[Qv]<0||n[Qv]>999?Qv:-1,ya(t)._overflowDayOfYear&&(ei9)&&(e=i9),ya(t)._overflowWeeks&&e===-1&&(e=lzo),ya(t)._overflowWeekday&&e===-1&&(e=szo),ya(t).overflow=e),t}var nDo=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,oDo=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,iDo=/Z|[+-]\d\d(?::?\d\d)?/,KO=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],ule=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],rDo=/^\/?Date\((-?\d+)/i,aDo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,lDo={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function xst(t){var e,n,o=t._i,i=nDo.exec(o)||oDo.exec(o),r,a,l,s,c=KO.length,u=ule.length;if(i){for(ya(t).iso=!0,e=0,n=c;eYE(a)||t._dayOfYear===0)&&(ya(t)._overflowDayOfYear=!0),n=PL(a,0,t._dayOfYear),t._a[b6]=n.getUTCMonth(),t._a[i9]=n.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[Wu]===24&&t._a[b2]===0&&t._a[S6]===0&&t._a[Qv]===0&&(t._nextDay=!0,t._a[Wu]=0),t._d=(t._useUTC?PL:xzo).apply(null,o),r=t._useUTC?t._d.getUTCDay():t._d.getDay(),t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wu]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==r&&(ya(t).weekdayMismatch=!0)}}function gDo(t){var e,n,o,i,r,a,l,s,c;e=t._w,e.GG!=null||e.W!=null||e.E!=null?(r=1,a=4,n=SP(e.GG,t._a[dh],CL(vc(),1,4).year),o=SP(e.W,1),i=SP(e.E,1),(i<1||i>7)&&(s=!0)):(r=t._locale._week.dow,a=t._locale._week.doy,c=CL(vc(),r,a),n=SP(e.gg,t._a[dh],c.year),o=SP(e.w,c.week),e.d!=null?(i=e.d,(i<0||i>6)&&(s=!0)):e.e!=null?(i=e.e+r,(e.e<0||e.e>6)&&(s=!0)):i=r),o<1||o>F6(n,r,a)?ya(t)._overflowWeeks=!0:s!=null?ya(t)._overflowWeekday=!0:(l=mst(n,o,i,r,a),t._a[dh]=l.year,t._dayOfYear=l.dayOfYear)}gi.ISO_8601=function(){};gi.RFC_2822=function(){};function K3e(t){if(t._f===gi.ISO_8601){xst(t);return}if(t._f===gi.RFC_2822){bst(t);return}t._a=[],ya(t).empty=!0;var e=""+t._i,n,o,i,r,a,l=e.length,s=0,c,u;for(i=ost(t._f,t._locale).match(U3e)||[],u=i.length,n=0;n0&&ya(t).unusedInput.push(a),e=e.slice(e.indexOf(o)+o.length),s+=o.length),zC[r]?(o?ya(t).empty=!1:ya(t).unusedTokens.push(r),azo(r,o,t)):t._strict&&!o&&ya(t).unusedTokens.push(r);ya(t).charsLeftOver=l-s,e.length>0&&ya(t).unusedInput.push(e),t._a[Wu]<=12&&ya(t).bigHour===!0&&t._a[Wu]>0&&(ya(t).bigHour=void 0),ya(t).parsedDateParts=t._a.slice(0),ya(t).meridiem=t._meridiem,t._a[Wu]=mDo(t._locale,t._a[Wu],t._meridiem),c=ya(t).era,c!==null&&(t._a[dh]=t._locale.erasConvertYear(c,t._a[dh])),J3e(t),X3e(t)}function mDo(t,e,n){var o;return n==null?e:t.meridiemHour!=null?t.meridiemHour(e,n):(t.isPM!=null&&(o=t.isPM(n),o&&e<12&&(e+=12),!o&&e===12&&(e=0)),e)}function yDo(t){var e,n,o,i,r,a,l=!1,s=t._f.length;if(s===0){ya(t).invalidFormat=!0,t._d=new Date(NaN);return}for(i=0;ithis?this:t:Bee()});function Pst(t,e){var n,o;if(e.length===1&&O2(e[0])&&(e=e[0]),!e.length)return vc();for(n=e[0],o=1;othis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function NDo(){if(!Mp(this._isDSTShifted))return this._isDSTShifted;var t={},e;return W3e(t,this),t=Sst(t),t._a?(e=t._isUTC?f3(t._a):vc(t._a),this._isDSTShifted=this.isValid()&&MDo(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function UDo(){return this.isValid()?!this._isUTC:!1}function BDo(){return this.isValid()?this._isUTC:!1}function Rst(){return this.isValid()?this._isUTC&&this._offset===0:!1}var jDo=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,YDo=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function r5(t,e){var n=t,o=null,i,r,a;return iV(t)?n={ms:t._milliseconds,d:t._days,M:t._months}:oA(t)||!isNaN(+t)?(n={},e?n[e]=+t:n.milliseconds=+t):(o=jDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:0,d:ka(o[i9])*i,h:ka(o[Wu])*i,m:ka(o[b2])*i,s:ka(o[S6])*i,ms:ka(Nhe(o[Qv]*1e3))*i}):(o=YDo.exec(t))?(i=o[1]==="-"?-1:1,n={y:ev(o[2],i),M:ev(o[3],i),w:ev(o[4],i),d:ev(o[5],i),h:ev(o[6],i),m:ev(o[7],i),s:ev(o[8],i)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(a=ODo(vc(n.from),vc(n.to)),n={},n.ms=a.milliseconds,n.M=a.months),r=new Kee(n),iV(t)&&El(t,"_locale")&&(r._locale=t._locale),iV(t)&&El(t,"_isValid")&&(r._isValid=t._isValid),r}r5.fn=Kee.prototype;r5.invalid=HDo;function ev(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function MEe(t,e){var n={};return n.months=e.month()-t.month()+(e.year()-t.year())*12,t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function ODo(t,e){var n;return t.isValid()&&e.isValid()?(e=$3e(e,t),t.isBefore(e)?n=MEe(t,e):(n=MEe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Hst(t,e){return function(n,o){var i,r;return o!==null&&!isNaN(+o)&&(nst(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=o,o=r),i=r5(n,o),Mst(this,i,t),this}}function Mst(t,e,n,o){var i=e._milliseconds,r=Nhe(e._days),a=Nhe(e._months);t.isValid()&&(o=o??!0,a&&fst(t,KJ(t,"Month")+a*n),r&&rst(t,"Date",KJ(t,"Date")+r*n),i&&t._d.setTime(t._d.valueOf()+i*n),o&&gi.updateOffset(t,r||a))}var _Do=Hst(1,"add"),VDo=Hst(-1,"subtract");function Ist(t){return typeof t=="string"||t instanceof String}function GDo(t){return _2(t)||oU(t)||Ist(t)||oA(t)||JDo(t)||XDo(t)||t===null||t===void 0}function XDo(t){var e=Ix(t)&&!F3e(t),n=!1,o=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],i,r,a=o.length;for(i=0;in.valueOf():n.valueOf()9999?oV(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):h3(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",oV(n,"Z")):oV(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function sEo(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="",n,o,i,r;return this.isLocal()||(t=this.utcOffset()===0?"moment.utc":"moment.parseZone",e="Z"),n="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",r=e+'[")]',this.format(n+o+i+r)}function cEo(t){t||(t=this.isUtc()?gi.defaultFormatUtc:gi.defaultFormat);var e=oV(this,t);return this.localeData().postformat(e)}function uEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function dEo(t){return this.from(vc(),t)}function fEo(t,e){return this.isValid()&&(_2(t)&&t.isValid()||vc(t).isValid())?r5({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function hEo(t){return this.to(vc(),t)}function zst(t){var e;return t===void 0?this._locale._abbr:(e=SA(t),e!=null&&(this._locale=e),this)}var Dst=cy("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===void 0?this.localeData():this.locale(t)});function Est(){return this._locale}var QJ=1e3,DC=60*QJ,ZJ=60*DC,kst=(365*400+97)*24*ZJ;function EC(t,e){return(t%e+e)%e}function Fst(t,e,n){return t<100&&t>=0?new Date(t+400,e,n)-kst:new Date(t,e,n).valueOf()}function Lst(t,e,n){return t<100&&t>=0?Date.UTC(t+400,e,n)-kst:Date.UTC(t,e,n)}function pEo(t){var e,n;if(t=uy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Lst:Fst,t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=EC(e+(this._isUTC?0:this.utcOffset()*DC),ZJ);break;case"minute":e=this._d.valueOf(),e-=EC(e,DC);break;case"second":e=this._d.valueOf(),e-=EC(e,QJ);break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function gEo(t){var e,n;if(t=uy(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?Lst:Fst,t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=ZJ-EC(e+(this._isUTC?0:this.utcOffset()*DC),ZJ)-1;break;case"minute":e=this._d.valueOf(),e+=DC-EC(e,DC)-1;break;case"second":e=this._d.valueOf(),e+=QJ-EC(e,QJ)-1;break}return this._d.setTime(e),gi.updateOffset(this,!0),this}function mEo(){return this._d.valueOf()-(this._offset||0)*6e4}function yEo(){return Math.floor(this.valueOf()/1e3)}function AEo(){return new Date(this.valueOf())}function wEo(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function vEo(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function xEo(){return this.isValid()?this.toISOString():null}function bEo(){return L3e(this)}function SEo(){return bw({},ya(this))}function TEo(){return ya(this).overflow}function PEo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}mr("N",0,0,"eraAbbr");mr("NN",0,0,"eraAbbr");mr("NNN",0,0,"eraAbbr");mr("NNNN",0,0,"eraName");mr("NNNNN",0,0,"eraNarrow");mr("y",["y",1],"yo","eraYear");mr("y",["yy",2],0,"eraYear");mr("y",["yyy",3],0,"eraYear");mr("y",["yyyy",4],0,"eraYear");Wi("N",Q3e);Wi("NN",Q3e);Wi("NNN",Q3e);Wi("NNNN",LEo);Wi("NNNNN",WEo);ws(["N","NN","NNN","NNNN","NNNNN"],function(t,e,n,o){var i=n._locale.erasParse(t,o,n._strict);i?ya(n).era=i:ya(n).invalidEra=t});Wi("y",RM);Wi("yy",RM);Wi("yyy",RM);Wi("yyyy",RM);Wi("yo",NEo);ws(["y","yy","yyy","yyyy"],dh);ws(["yo"],function(t,e,n,o){var i;n._locale._eraYearOrdinalRegex&&(i=t.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?e[dh]=n._locale.eraYearOrdinalParse(t,i):e[dh]=parseInt(t,10)});function CEo(t,e){var n,o,i,r=this._eras||SA("en")._eras;for(n=0,o=r.length;n=0)return r[o]}function HEo(t,e){var n=t.since<=t.until?1:-1;return e===void 0?gi(t.since).year():gi(t.since).year()+(e-t.offset)*n}function MEo(){var t,e,n,o=this.localeData().eras();for(t=0,e=o.length;tr&&(e=r),VEo.call(this,t,e,n,o,i))}function VEo(t,e,n,o,i){var r=mst(t,e,n,o,i),a=PL(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}mr("Q",0,"Qo","quarter");bh("quarter","Q");Sh("quarter",7);Wi("Q",ast);ws("Q",function(t,e){e[b6]=(ka(t)-1)*3});function GEo(t){return t==null?Math.ceil((this.month()+1)/3):this.month((t-1)*3+this.month()%3)}mr("D",["DD",2],"Do","date");bh("date","D");Sh("date",9);Wi("D",Tc);Wi("DD",Tc,Wg);Wi("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient});ws(["D","DD"],i9);ws("Do",function(t,e){e[i9]=ka(t.match(Tc)[0])});var Nst=CM("Date",!0);mr("DDD",["DDDD",3],"DDDo","dayOfYear");bh("dayOfYear","DDD");Sh("dayOfYear",4);Wi("DDD",Oee);Wi("DDDD",lst);ws(["DDD","DDDD"],function(t,e,n){n._dayOfYear=ka(t)});function XEo(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return t==null?e:this.add(t-e,"d")}mr("m",["mm",2],0,"minute");bh("minute","m");Sh("minute",14);Wi("m",Tc);Wi("mm",Tc,Wg);ws(["m","mm"],b2);var JEo=CM("Minutes",!1);mr("s",["ss",2],0,"second");bh("second","s");Sh("second",15);Wi("s",Tc);Wi("ss",Tc,Wg);ws(["s","ss"],S6);var KEo=CM("Seconds",!1);mr("S",0,0,function(){return~~(this.millisecond()/100)});mr(0,["SS",2],0,function(){return~~(this.millisecond()/10)});mr(0,["SSS",3],0,"millisecond");mr(0,["SSSS",4],0,function(){return this.millisecond()*10});mr(0,["SSSSS",5],0,function(){return this.millisecond()*100});mr(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});mr(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});mr(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});mr(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});bh("millisecond","ms");Sh("millisecond",16);Wi("S",Oee,ast);Wi("SS",Oee,Wg);Wi("SSS",Oee,lst);var Sw,Ust;for(Sw="SSSS";Sw.length<=9;Sw+="S")Wi(Sw,RM);function qEo(t,e){e[Qv]=ka(("0."+t)*1e3)}for(Sw="S";Sw.length<=9;Sw+="S")ws(Sw,qEo);Ust=CM("Milliseconds",!1);mr("z",0,0,"zoneAbbr");mr("zz",0,0,"zoneName");function $Eo(){return this._isUTC?"UTC":""}function QEo(){return this._isUTC?"Coordinated Universal Time":""}var Ko=iU.prototype;Ko.add=_Do;Ko.calendar=$Do;Ko.clone=QDo;Ko.diff=rEo;Ko.endOf=gEo;Ko.format=cEo;Ko.from=uEo;Ko.fromNow=dEo;Ko.to=fEo;Ko.toNow=hEo;Ko.get=ezo;Ko.invalidAt=TEo;Ko.isAfter=ZDo;Ko.isBefore=eEo;Ko.isBetween=tEo;Ko.isSame=nEo;Ko.isSameOrAfter=oEo;Ko.isSameOrBefore=iEo;Ko.isValid=bEo;Ko.lang=Dst;Ko.locale=zst;Ko.localeData=Est;Ko.max=bDo;Ko.min=xDo;Ko.parsingFlags=SEo;Ko.set=tzo;Ko.startOf=pEo;Ko.subtract=VDo;Ko.toArray=wEo;Ko.toObject=vEo;Ko.toDate=AEo;Ko.toISOString=lEo;Ko.inspect=sEo;typeof Symbol<"u"&&Symbol.for!=null&&(Ko[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});Ko.toJSON=xEo;Ko.toString=aEo;Ko.unix=yEo;Ko.valueOf=mEo;Ko.creationData=PEo;Ko.eraName=MEo;Ko.eraNarrow=IEo;Ko.eraAbbr=zEo;Ko.eraYear=DEo;Ko.year=gst;Ko.isLeapYear=vzo;Ko.weekYear=UEo;Ko.isoWeekYear=BEo;Ko.quarter=Ko.quarters=GEo;Ko.month=hst;Ko.daysInMonth=yzo;Ko.week=Ko.weeks=Czo;Ko.isoWeek=Ko.isoWeeks=Rzo;Ko.weeksInYear=OEo;Ko.weeksInWeekYear=_Eo;Ko.isoWeeksInYear=jEo;Ko.isoWeeksInISOWeekYear=YEo;Ko.date=Nst;Ko.day=Ko.days=Bzo;Ko.weekday=jzo;Ko.isoWeekday=Yzo;Ko.dayOfYear=XEo;Ko.hour=Ko.hours=Kzo;Ko.minute=Ko.minutes=JEo;Ko.second=Ko.seconds=KEo;Ko.millisecond=Ko.milliseconds=Ust;Ko.utcOffset=zDo;Ko.utc=EDo;Ko.local=kDo;Ko.parseZone=FDo;Ko.hasAlignedHourOffset=LDo;Ko.isDST=WDo;Ko.isLocal=UDo;Ko.isUtcOffset=BDo;Ko.isUtc=Rst;Ko.isUTC=Rst;Ko.zoneAbbr=$Eo;Ko.zoneName=QEo;Ko.dates=cy("dates accessor is deprecated. Use date instead.",Nst);Ko.months=cy("months accessor is deprecated. Use month instead",hst);Ko.years=cy("years accessor is deprecated. Use year instead",gst);Ko.zone=cy("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",DDo);Ko.isDSTShifted=cy("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",NDo);function ZEo(t){return vc(t*1e3)}function eko(){return vc.apply(null,arguments).parseZone()}function Bst(t){return t}var Ll=N3e.prototype;Ll.calendar=BIo;Ll.longDateFormat=_Io;Ll.invalidDate=GIo;Ll.ordinal=KIo;Ll.preparse=Bst;Ll.postformat=Bst;Ll.relativeTime=$Io;Ll.pastFuture=QIo;Ll.set=NIo;Ll.eras=CEo;Ll.erasParse=REo;Ll.erasConvertYear=HEo;Ll.erasAbbrRegex=kEo;Ll.erasNameRegex=EEo;Ll.erasNarrowRegex=FEo;Ll.months=hzo;Ll.monthsShort=pzo;Ll.monthsParse=mzo;Ll.monthsRegex=wzo;Ll.monthsShortRegex=Azo;Ll.week=bzo;Ll.firstDayOfYear=Pzo;Ll.firstDayOfWeek=Tzo;Ll.weekdays=Fzo;Ll.weekdaysMin=Wzo;Ll.weekdaysShort=Lzo;Ll.weekdaysParse=Uzo;Ll.weekdaysRegex=Ozo;Ll.weekdaysShortRegex=_zo;Ll.weekdaysMinRegex=Vzo;Ll.isPM=Xzo;Ll.meridiem=qzo;function eK(t,e,n,o){var i=SA(),r=f3().set(o,e);return i[n](r,t)}function jst(t,e,n){if(oA(t)&&(e=t,t=void 0),t=t||"",e!=null)return eK(t,e,n,"month");var o,i=[];for(o=0;o<12;o++)i[o]=eK(t,o,n,"month");return i}function e6e(t,e,n,o){typeof t=="boolean"?(oA(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,oA(e)&&(n=e,e=void 0),e=e||"");var i=SA(),r=t?i._week.dow:0,a,l=[];if(n!=null)return eK(e,(n+r)%7,o,"day");for(a=0;a<7;a++)l[a]=eK(e,(a+r)%7,o,"day");return l}function tko(t,e){return jst(t,e,"months")}function nko(t,e){return jst(t,e,"monthsShort")}function oko(t,e,n){return e6e(t,e,n,"weekdays")}function iko(t,e,n){return e6e(t,e,n,"weekdaysShort")}function rko(t,e,n){return e6e(t,e,n,"weekdaysMin")}Ow("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=ka(t%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return t+n}});gi.lang=cy("moment.lang is deprecated. Use moment.locale instead.",Ow);gi.langData=cy("moment.langData is deprecated. Use moment.localeData instead.",SA);var t6=Math.abs;function ako(){var t=this._data;return this._milliseconds=t6(this._milliseconds),this._days=t6(this._days),this._months=t6(this._months),t.milliseconds=t6(t.milliseconds),t.seconds=t6(t.seconds),t.minutes=t6(t.minutes),t.hours=t6(t.hours),t.months=t6(t.months),t.years=t6(t.years),this}function Yst(t,e,n,o){var i=r5(e,n);return t._milliseconds+=o*i._milliseconds,t._days+=o*i._days,t._months+=o*i._months,t._bubble()}function lko(t,e){return Yst(this,t,e,1)}function sko(t,e){return Yst(this,t,e,-1)}function IEe(t){return t<0?Math.floor(t):Math.ceil(t)}function cko(){var t=this._milliseconds,e=this._days,n=this._months,o=this._data,i,r,a,l,s;return t>=0&&e>=0&&n>=0||t<=0&&e<=0&&n<=0||(t+=IEe(Bhe(n)+e)*864e5,e=0,n=0),o.milliseconds=t%1e3,i=Cm(t/1e3),o.seconds=i%60,r=Cm(i/60),o.minutes=r%60,a=Cm(r/60),o.hours=a%24,e+=Cm(a/24),s=Cm(Ost(e)),n+=s,e-=IEe(Bhe(s)),l=Cm(n/12),n%=12,o.days=e,o.months=n,o.years=l,this}function Ost(t){return t*4800/146097}function Bhe(t){return t*146097/4800}function uko(t){if(!this.isValid())return NaN;var e,n,o=this._milliseconds;if(t=uy(t),t==="month"||t==="quarter"||t==="year")switch(e=this._days+o/864e5,n=this._months+Ost(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(Bhe(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return e*24+o/36e5;case"minute":return e*1440+o/6e4;case"second":return e*86400+o/1e3;case"millisecond":return Math.floor(e*864e5)+o;default:throw new Error("Unknown unit "+t)}}function dko(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+ka(this._months/12)*31536e6:NaN}function TA(t){return function(){return this.as(t)}}var fko=TA("ms"),hko=TA("s"),pko=TA("m"),gko=TA("h"),mko=TA("d"),yko=TA("w"),Ako=TA("M"),wko=TA("Q"),vko=TA("y");function xko(){return r5(this)}function bko(t){return t=uy(t),this.isValid()?this[t+"s"]():NaN}function aS(t){return function(){return this.isValid()?this._data[t]:NaN}}var Sko=aS("milliseconds"),Tko=aS("seconds"),Pko=aS("minutes"),Cko=aS("hours"),Rko=aS("days"),Hko=aS("months"),Mko=aS("years");function Iko(){return Cm(this.days()/7)}var a6=Math.round,rC={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function zko(t,e,n,o,i){return i.relativeTime(e||1,!!n,t,o)}function Dko(t,e,n,o){var i=r5(t).abs(),r=a6(i.as("s")),a=a6(i.as("m")),l=a6(i.as("h")),s=a6(i.as("d")),c=a6(i.as("M")),u=a6(i.as("w")),d=a6(i.as("y")),f=r<=n.ss&&["s",r]||r0,f[4]=o,zko.apply(null,f)}function Eko(t){return t===void 0?a6:typeof t=="function"?(a6=t,!0):!1}function kko(t,e){return rC[t]===void 0?!1:e===void 0?rC[t]:(rC[t]=e,t==="s"&&(rC.ss=e-1),!0)}function Fko(t,e){if(!this.isValid())return this.localeData().invalidDate();var n=!1,o=rC,i,r;return typeof t=="object"&&(e=t,t=!1),typeof t=="boolean"&&(n=t),typeof e=="object"&&(o=Object.assign({},rC,e),e.s!=null&&e.ss==null&&(o.ss=e.s-1)),i=this.localeData(),r=Dko(this,!n,o,i),n&&(r=i.pastFuture(+this,r)),i.postformat(r)}var dle=Math.abs;function JT(t){return(t>0)-(t<0)||+t}function $ee(){if(!this.isValid())return this.localeData().invalidDate();var t=dle(this._milliseconds)/1e3,e=dle(this._days),n=dle(this._months),o,i,r,a,l=this.asSeconds(),s,c,u,d;return l?(o=Cm(t/60),i=Cm(o/60),t%=60,o%=60,r=Cm(n/12),n%=12,a=t?t.toFixed(3).replace(/\.?0+$/,""):"",s=l<0?"-":"",c=JT(this._months)!==JT(l)?"-":"",u=JT(this._days)!==JT(l)?"-":"",d=JT(this._milliseconds)!==JT(l)?"-":"",s+"P"+(r?c+r+"Y":"")+(n?c+n+"M":"")+(e?u+e+"D":"")+(i||o||t?"T":"")+(i?d+i+"H":"")+(o?d+o+"M":"")+(t?d+a+"S":"")):"P0D"}var ml=Kee.prototype;ml.isValid=RDo;ml.abs=ako;ml.add=lko;ml.subtract=sko;ml.as=uko;ml.asMilliseconds=fko;ml.asSeconds=hko;ml.asMinutes=pko;ml.asHours=gko;ml.asDays=mko;ml.asWeeks=yko;ml.asMonths=Ako;ml.asQuarters=wko;ml.asYears=vko;ml.valueOf=dko;ml._bubble=cko;ml.clone=xko;ml.get=bko;ml.milliseconds=Sko;ml.seconds=Tko;ml.minutes=Pko;ml.hours=Cko;ml.days=Rko;ml.weeks=Iko;ml.months=Hko;ml.years=Mko;ml.humanize=Fko;ml.toISOString=$ee;ml.toString=$ee;ml.toJSON=$ee;ml.locale=zst;ml.localeData=Est;ml.toIsoString=cy("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$ee);ml.lang=Dst;mr("X",0,0,"unix");mr("x",0,0,"valueOf");Wi("x",Vee);Wi("X",ozo);ws("X",function(t,e,n){n._d=new Date(parseFloat(t)*1e3)});ws("x",function(t,e,n){n._d=new Date(ka(t))});//! moment.js +gi.version="2.29.4";LIo(vc);gi.fn=Ko;gi.min=SDo;gi.max=TDo;gi.now=PDo;gi.utc=f3;gi.unix=ZEo;gi.months=tko;gi.isDate=oU;gi.locale=Ow;gi.invalid=Bee;gi.duration=r5;gi.isMoment=_2;gi.weekdays=oko;gi.parseZone=eko;gi.localeData=SA;gi.isDuration=iV;gi.monthsShort=nko;gi.weekdaysMin=rko;gi.defineLocale=G3e;gi.updateLocale=eDo;gi.locales=tDo;gi.weekdaysShort=iko;gi.normalizeUnits=uy;gi.relativeTimeRounding=Eko;gi.relativeTimeThreshold=kko;gi.calendarFormat=qDo;gi.prototype=Ko;gi.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const Lko=Ho.div` position: fixed; top: 80px; right: 24px; @@ -8746,7 +8746,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,Nko=Ho.div` +`,Wko=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8764,7 +8764,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,Uko=Ho.div` +`,Nko=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8775,7 +8775,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,Bko=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=Sn(uYe),a=Sn(z8t),l=M(RAt),s=M(Fg),c=M(bc),u=be.useRef(null),d=m.useRef(null),f=m.useRef(),p=d.current?d.current.clientWidth+40:l?l.width+40:640,g=d.current?d.current.clientHeight+100:l?l.height+100:460,[A,w]=m.useState({x:l?Math.max(l.x,p-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-g):0}),b=Kt();m.useEffect(()=>{w({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})},[l,p,g]),m.useEffect(()=>{const x=()=>{w({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})};return window.addEventListener("resize",x),()=>{window.removeEventListener("resize",x)}},[l,p,g]),m.useEffect(()=>(d.current&&(f.current||(f.current=new ResizeObserver(()=>{o(x=>{d.current&&(x.viewState.dailyLightSensorPanelRect||(x.viewState.dailyLightSensorPanelRect=new ai(0,0,600,360)),x.viewState.dailyLightSensorPanelRect.width=d.current.offsetWidth,x.viewState.dailyLightSensorPanelRect.height=d.current.offsetHeight)})})),f.current.observe(d.current)),()=>{var x;(x=f.current)==null||x.disconnect()}),[]);const C=(x,R)=>{w({x:Math.max(R.x,p-window.innerWidth),y:Math.min(R.y,window.innerHeight-g)})},P=(x,R)=>{o(H=>{H.viewState.dailyLightSensorPanelRect||(H.viewState.dailyLightSensorPanelRect=new ai(0,0,600,360)),H.viewState.dailyLightSensorPanelRect.x=Math.max(R.x,p-window.innerWidth),H.viewState.dailyLightSensorPanelRect.y=Math.min(R.y,window.innerHeight-g)})},v=()=>{o(x=>{x.viewState.showDailyLightSensorPanel=!1,e&&(x.actionInfo={name:"Close Daily Light Sensor Graph",timestamp:new Date().getTime()})})},T=j.t("word.Hour",b),y=j.t("word.Radiation",b),S=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:u,handle:".handle",bounds:"parent",axis:"both",position:A,onDrag:C,onStop:P,onMouseDown:()=>{o(x=>{x.selectedFloatingWindow="dailyLightSensorPanel"})},children:h.jsx(Wko,{ref:u,style:{zIndex:c==="dailyLightSensorPanel"?xc:9},children:h.jsxs(Nko,{ref:d,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:360)+"px"},children:[h.jsxs(Uko,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[j.t("sensorPanel.LightSensor",b)+": ",h.jsx("span",{style:{fontSize:"10px"},children:j.t("sensorPanel.WeatherDataFrom",b)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{v()},onMouseDown:()=>{v()},children:`${j.t("word.Close",b)}`})]}),h.jsx(mf,{type:xr.DailyRadiationSensorData,chartType:Pl.Line,dataSource:a,labels:r,height:100,dataKeyAxisX:"Hour",labelX:T,labelY:y,unitY:"kWh/m²",yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(oo,{type:"default",icon:S?h.jsx(vh,{}):h.jsx(xf,{}),title:j.t(S?"word.Run":"word.Update",b),onClick:()=>{if(s(z.Sensor)===0){hn(j.t("analysisManager.NoSensorForCollectingData",b));return}hn(j.t("message.SimulationStarted",b)),setTimeout(()=>{o(R=>{e&&(R.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()})}),ht.getState().set(R=>{R.runDailyLightSensor=!0,R.pauseDailyLightSensor=!1,R.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",b),onClick:()=>{Md("line-graph-"+T+"-"+y,"daily-light-sensor").then(()=>{hn(j.t("message.ScreenshotSaved",b)),e&&o(x=>{x.actionInfo={name:"Take Screenshot of Daily Light Sensor Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:j.t("word.SaveAsCsv",b),onClick:()=>{wh(a,"daily-light-sensor.csv"),hn(j.t("message.CsvFileSaved",b)),e&&o(x=>{x.actionInfo={name:"Export Daily Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),jko=Ho.div` +`,Uko=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=Sn(sYe),a=Sn(M8t),l=M(PAt),s=M(Fg),c=M(bc),u=be.useRef(null),d=m.useRef(null),f=m.useRef(),p=d.current?d.current.clientWidth+40:l?l.width+40:640,g=d.current?d.current.clientHeight+100:l?l.height+100:460,[A,w]=m.useState({x:l?Math.max(l.x,p-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-g):0}),b=Kt();m.useEffect(()=>{w({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})},[l,p,g]),m.useEffect(()=>{const x=()=>{w({x:Math.max(l==null?void 0:l.x,p-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-g)})};return window.addEventListener("resize",x),()=>{window.removeEventListener("resize",x)}},[l,p,g]),m.useEffect(()=>(d.current&&(f.current||(f.current=new ResizeObserver(()=>{o(x=>{d.current&&(x.viewState.dailyLightSensorPanelRect||(x.viewState.dailyLightSensorPanelRect=new ai(0,0,600,360)),x.viewState.dailyLightSensorPanelRect.width=d.current.offsetWidth,x.viewState.dailyLightSensorPanelRect.height=d.current.offsetHeight)})})),f.current.observe(d.current)),()=>{var x;(x=f.current)==null||x.disconnect()}),[]);const C=(x,R)=>{w({x:Math.max(R.x,p-window.innerWidth),y:Math.min(R.y,window.innerHeight-g)})},P=(x,R)=>{o(H=>{H.viewState.dailyLightSensorPanelRect||(H.viewState.dailyLightSensorPanelRect=new ai(0,0,600,360)),H.viewState.dailyLightSensorPanelRect.x=Math.max(R.x,p-window.innerWidth),H.viewState.dailyLightSensorPanelRect.y=Math.min(R.y,window.innerHeight-g)})},v=()=>{o(x=>{x.viewState.showDailyLightSensorPanel=!1,e&&(x.actionInfo={name:"Close Daily Light Sensor Graph",timestamp:new Date().getTime()})})},T=j.t("word.Hour",b),y=j.t("word.Radiation",b),S=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:u,handle:".handle",bounds:"parent",axis:"both",position:A,onDrag:C,onStop:P,onMouseDown:()=>{o(x=>{x.selectedFloatingWindow="dailyLightSensorPanel"})},children:h.jsx(Lko,{ref:u,style:{zIndex:c==="dailyLightSensorPanel"?xc:9},children:h.jsxs(Wko,{ref:d,style:{opacity:n,width:(l?l.width:600)+"px",height:(l?l.height:360)+"px"},children:[h.jsxs(Nko,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[j.t("sensorPanel.LightSensor",b)+": ",h.jsx("span",{style:{fontSize:"10px"},children:j.t("sensorPanel.WeatherDataFrom",b)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{v()},onMouseDown:()=>{v()},children:`${j.t("word.Close",b)}`})]}),h.jsx(mf,{type:xr.DailyRadiationSensorData,chartType:Pl.Line,dataSource:a,labels:r,height:100,dataKeyAxisX:"Hour",labelX:T,labelY:y,unitY:"kWh/m²",yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(no,{type:"default",icon:S?h.jsx(vh,{}):h.jsx(xf,{}),title:j.t(S?"word.Run":"word.Update",b),onClick:()=>{if(s(z.Sensor)===0){hn(j.t("analysisManager.NoSensorForCollectingData",b));return}hn(j.t("message.SimulationStarted",b)),setTimeout(()=>{o(R=>{e&&(R.actionInfo={name:"Collect Daily Data for Sensors",timestamp:new Date().getTime()})}),ht.getState().set(R=>{R.runDailyLightSensor=!0,R.pauseDailyLightSensor=!1,R.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",b),onClick:()=>{Md("line-graph-"+T+"-"+y,"daily-light-sensor").then(()=>{hn(j.t("message.ScreenshotSaved",b)),e&&o(x=>{x.actionInfo={name:"Take Screenshot of Daily Light Sensor Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:j.t("word.SaveAsCsv",b),onClick:()=>{wh(a,"daily-light-sensor.csv"),hn(j.t("message.CsvFileSaved",b)),e&&o(x=>{x.actionInfo={name:"Export Daily Light Sensor Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),Bko=Ho.div` position: fixed; top: 80px; left: 10px; @@ -8784,7 +8784,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 12; -`,Yko=Ho.div` +`,jko=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -8800,7 +8800,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-x: auto; overflow-y: auto; resize: both; -`,Oko=Ho.div` +`,Yko=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8811,7 +8811,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,{TextArea:_ko}=ns,Vko=be.memo(()=>{const t=M(En),e=M(pu)??m0,n=M(dn),o=M(H4t),i=M(bAt),r=M(bc),a=be.useRef(null),l=m.useRef(null),s=m.useRef(),c=l.current?l.current.clientWidth+40:i?i.width+40:440,u=l.current?l.current.clientHeight+100:i?i.height+100:400,[d,f]=m.useState({x:i?Math.min(i.x,window.innerWidth-c):0,y:i?Math.min(i.y,window.innerHeight-u):0}),[p,g]=m.useState(o.length>0?o[0]:""),A=Kt();m.useEffect(()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})},[i,c,u]),m.useEffect(()=>{const P=()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}},[i,c,u]),m.useEffect(()=>(l.current&&(s.current||(s.current=new ResizeObserver(()=>{n(P=>{l.current&&(P.viewState.stickyNotePanelRect||(P.viewState.stickyNotePanelRect=new ai(0,0,400,300)),P.viewState.stickyNotePanelRect.width=l.current.offsetWidth,P.viewState.stickyNotePanelRect.height=l.current.offsetHeight)})})),s.current.observe(l.current)),()=>{var P;(P=s.current)==null||P.disconnect()}),[]),m.useEffect(()=>{g(o.length>0?o[0]:"")},[o]);const w=(P,v)=>{f({x:Math.min(v.x,window.innerWidth-c),y:Math.min(v.y,window.innerHeight-u)})},b=(P,v)=>{n(T=>{T.viewState.stickyNotePanelRect||(T.viewState.stickyNotePanelRect=new ai(0,0,400,300)),T.viewState.stickyNotePanelRect.x=Math.min(v.x,window.innerWidth-c),T.viewState.stickyNotePanelRect.y=Math.min(v.y,window.innerHeight-u)})},C=()=>{const P={name:"Close Sticky Note",timestamp:Date.now(),undo:()=>{n(v=>{v.viewState.showStickyNotePanel=!0})},redo:()=>{n(v=>{v.viewState.showStickyNotePanel=!1})}};t(P),n(v=>{v.viewState.showStickyNotePanel=!1,v.notes[0]=p})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:a,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:w,onStop:b,onMouseDown:()=>{n(P=>{P.selectedFloatingWindow="stickyNotePanel"})},children:h.jsx(jko,{ref:a,style:{zIndex:r==="stickyNotePanel"?xc:12},children:h.jsxs(Yko,{ref:l,style:{opacity:e,width:(i?i.width:400)+"px",height:(i?i.height:300)+"px"},children:[h.jsxs(Oko,{className:"handle",children:[h.jsx("span",{children:j.t("menu.view.accessories.Note",A)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:j.t("word.Close",A)})]}),h.jsx(_ko,{style:{resize:"none"},rows:100,value:p,onChange:P=>{g(P.target.value)},onBlur:()=>{n(P=>{P.notes[0]=p})},onPointerOut:()=>{n(P=>{P.notes[0]=p})}})]})})})})}),Gko=Ho.div` +`,{TextArea:Oko}=ns,_ko=be.memo(()=>{const t=M(En),e=M(pu)??m0,n=M(dn),o=M(C4t),i=M(vAt),r=M(bc),a=be.useRef(null),l=m.useRef(null),s=m.useRef(),c=l.current?l.current.clientWidth+40:i?i.width+40:440,u=l.current?l.current.clientHeight+100:i?i.height+100:400,[d,f]=m.useState({x:i?Math.min(i.x,window.innerWidth-c):0,y:i?Math.min(i.y,window.innerHeight-u):0}),[p,g]=m.useState(o.length>0?o[0]:""),A=Kt();m.useEffect(()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})},[i,c,u]),m.useEffect(()=>{const P=()=>{f({x:Math.min(i==null?void 0:i.x,window.innerWidth-c),y:Math.min(i==null?void 0:i.y,window.innerHeight-u)})};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}},[i,c,u]),m.useEffect(()=>(l.current&&(s.current||(s.current=new ResizeObserver(()=>{n(P=>{l.current&&(P.viewState.stickyNotePanelRect||(P.viewState.stickyNotePanelRect=new ai(0,0,400,300)),P.viewState.stickyNotePanelRect.width=l.current.offsetWidth,P.viewState.stickyNotePanelRect.height=l.current.offsetHeight)})})),s.current.observe(l.current)),()=>{var P;(P=s.current)==null||P.disconnect()}),[]),m.useEffect(()=>{g(o.length>0?o[0]:"")},[o]);const w=(P,v)=>{f({x:Math.min(v.x,window.innerWidth-c),y:Math.min(v.y,window.innerHeight-u)})},b=(P,v)=>{n(T=>{T.viewState.stickyNotePanelRect||(T.viewState.stickyNotePanelRect=new ai(0,0,400,300)),T.viewState.stickyNotePanelRect.x=Math.min(v.x,window.innerWidth-c),T.viewState.stickyNotePanelRect.y=Math.min(v.y,window.innerHeight-u)})},C=()=>{const P={name:"Close Sticky Note",timestamp:Date.now(),undo:()=>{n(v=>{v.viewState.showStickyNotePanel=!0})},redo:()=>{n(v=>{v.viewState.showStickyNotePanel=!1})}};t(P),n(v=>{v.viewState.showStickyNotePanel=!1,v.notes[0]=p})};return h.jsx(h.Fragment,{children:h.jsx(Vr,{nodeRef:a,handle:".handle",bounds:"parent",axis:"both",position:d,onDrag:w,onStop:b,onMouseDown:()=>{n(P=>{P.selectedFloatingWindow="stickyNotePanel"})},children:h.jsx(Bko,{ref:a,style:{zIndex:r==="stickyNotePanel"?xc:12},children:h.jsxs(jko,{ref:l,style:{opacity:e,width:(i?i.width:400)+"px",height:(i?i.height:300)+"px"},children:[h.jsxs(Yko,{className:"handle",children:[h.jsx("span",{children:j.t("menu.view.accessories.Note",A)}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{C()},onTouchStart:()=>{C()},children:j.t("word.Close",A)})]}),h.jsx(Oko,{style:{resize:"none"},rows:100,value:p,onChange:P=>{g(P.target.value)},onBlur:()=>{n(P=>{P.notes[0]=p})},onPointerOut:()=>{n(P=>{P.notes[0]=p})}})]})})})})}),Vko=Ho.div` position: absolute; top: 80px; left: 10px; @@ -8826,7 +8826,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; user-select: none; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels -`,Xko=Ho.div` +`,Gko=Ho.div` position: absolute; top: 0; left: 0; @@ -8840,7 +8840,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,Jko=be.memo(()=>{const t=M(dn),e=M(En),n=M(M7),o=M(hu)??!1,i=M(hq)??!1,r=Kt(),a=n.y>0?"navajowhite":"antiquewhite",l=xe.isMac(),s=c=>{t(u=>{u.viewState.navigationView=c,u.viewState.enableRotate=!c})};return h.jsx(Gko,{children:h.jsxs(Xko,{style:{color:a,fontSize:i?"10px":"9px"},children:[i&&h.jsxs("span",{style:{fontSize:"12px",paddingLeft:"6px",paddingRight:"6px",paddingTop:"2px",paddingBottom:"2px",marginBottom:"6px",background:"tomato",border:"1px solid"},children:[h.jsx("b",{children:j.t("instructionPanel.NavigationMode",r)}),h.jsx(E7,{style:{paddingLeft:"6px",cursor:"pointer"},onClick:()=>{const c={name:"Close Navigation Mode",timestamp:Date.now(),undo:()=>{s(!0)},redo:()=>{s(!1)}};e(c),s(!1)}})]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t(i?"instructionPanel.DisableNavigation":"instructionPanel.EnableNavigation",r)}),": ",j.t("word.Press",r)," ",l?"⌘":"Ctrl","+U"]}),i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.MoveForwardBack",r)}),":"," ",j.t("instructionPanel.MoveForwardBackInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.MoveLeftRight",r)}),":"," ",j.t("instructionPanel.MoveLeftRightInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.MoveUpDown",r)}),":"," ",j.t("instructionPanel.MoveUpDownInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Turn",r)}),": ",j.t("instructionPanel.TurnInstruction",r)]})]}),!o&&!i&&h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Rotate",r)}),": ",j.t("instructionPanel.DragMouse",r)]}),!i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Zoom",r)}),":"," ",j.t(l?"instructionPanel.MouseWheelOrKeysMac":"instructionPanel.MouseWheelOrKeys",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Pan",r)}),":"," ",j.t(l?"instructionPanel.HoldMetaDragMouse":"instructionPanel.HoldCtrlDragMouse",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t(o?"instructionPanel.Exit2DMode":"instructionPanel.Enter2DMode",r)}),":"," ",j.t("word.Press",r)," ",l?"⌘":"Ctrl","+B"]})]})]})})}),Kko=Ho.div` +`,Xko=be.memo(()=>{const t=M(dn),e=M(En),n=M(M7),o=M(hu)??!1,i=M(hq)??!1,r=Kt(),a=n.y>0?"navajowhite":"antiquewhite",l=xe.isMac(),s=c=>{t(u=>{u.viewState.navigationView=c,u.viewState.enableRotate=!c})};return h.jsx(Vko,{children:h.jsxs(Gko,{style:{color:a,fontSize:i?"10px":"9px"},children:[i&&h.jsxs("span",{style:{fontSize:"12px",paddingLeft:"6px",paddingRight:"6px",paddingTop:"2px",paddingBottom:"2px",marginBottom:"6px",background:"tomato",border:"1px solid"},children:[h.jsx("b",{children:j.t("instructionPanel.NavigationMode",r)}),h.jsx(E7,{style:{paddingLeft:"6px",cursor:"pointer"},onClick:()=>{const c={name:"Close Navigation Mode",timestamp:Date.now(),undo:()=>{s(!0)},redo:()=>{s(!1)}};e(c),s(!1)}})]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t(i?"instructionPanel.DisableNavigation":"instructionPanel.EnableNavigation",r)}),": ",j.t("word.Press",r)," ",l?"⌘":"Ctrl","+U"]}),i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.MoveForwardBack",r)}),":"," ",j.t("instructionPanel.MoveForwardBackInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.MoveLeftRight",r)}),":"," ",j.t("instructionPanel.MoveLeftRightInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.MoveUpDown",r)}),":"," ",j.t("instructionPanel.MoveUpDownInstruction",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Turn",r)}),": ",j.t("instructionPanel.TurnInstruction",r)]})]}),!o&&!i&&h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Rotate",r)}),": ",j.t("instructionPanel.DragMouse",r)]}),!i&&h.jsxs(h.Fragment,{children:[h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Zoom",r)}),":"," ",j.t(l?"instructionPanel.MouseWheelOrKeysMac":"instructionPanel.MouseWheelOrKeys",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t("instructionPanel.Pan",r)}),":"," ",j.t(l?"instructionPanel.HoldMetaDragMouse":"instructionPanel.HoldCtrlDragMouse",r)]}),h.jsxs("span",{children:[h.jsx("b",{children:j.t(o?"instructionPanel.Exit2DMode":"instructionPanel.Enter2DMode",r)}),":"," ",j.t("word.Press",r)," ",l?"⌘":"Ctrl","+B"]})]})]})})}),Jko=Ho.div` position: fixed; top: 85px; right: 36px; @@ -8849,7 +8849,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,qko=Ho.div` +`,Kko=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8867,7 +8867,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,$ko=Ho.div` +`,qko=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8878,7 +8878,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,Qko=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(mH)??6,r=new Date(M(Ya)),a=Sn(E7t),l=M(Yje),s=Sn(Oje),c=M(Fg),u=M(kAt),d=ht(K2),f=M.getState().economicsParams,p=ht(vf),g=M(bc),A=be.useRef(null),w=m.useRef(null),b=w.current?w.current.clientWidth+40:640,C=w.current?w.current.clientHeight+100:500,[P,v]=m.useState({x:u?Math.max(u.x,b-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-C):0}),[T,y]=m.useState(0),S=m.useRef(new Map),x=m.useRef(),R=Ps[r.getMonth()],H=Kt(),D=c(z.SolarPanel);m.useEffect(()=>{let ie=0;S.current.clear();for(const ee of a)for(const q in ee)Object.hasOwn(ee,q)&&q!=="Month"&&(ie+=ee[q],S.current.set(q,(S.current.get(q)??0)+ee[q]));y(ie)},[a]),m.useEffect(()=>{v({x:Math.max(u==null?void 0:u.x,b-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})},[u,b,C]),m.useEffect(()=>{const ie=()=>{v({x:Math.max(u==null?void 0:u.x,b-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})};return window.addEventListener("resize",ie),()=>{window.removeEventListener("resize",ie)}},[u,b,C]),m.useEffect(()=>(w.current&&(x.current||(x.current=new ResizeObserver(()=>{o(ie=>{w.current&&(ie.viewState.yearlyPvYieldPanelRect||(ie.viewState.yearlyPvYieldPanelRect=new ai(0,0,600,400)),ie.viewState.yearlyPvYieldPanelRect.width=w.current.offsetWidth,ie.viewState.yearlyPvYieldPanelRect.height=w.current.offsetHeight)})})),x.current.observe(w.current)),()=>{var ie;(ie=x.current)==null||ie.disconnect()}),[]);const k=(ie,ee)=>{v({x:Math.max(ee.x,b-window.innerWidth),y:Math.min(ee.y,window.innerHeight-C)})},W=(ie,ee)=>{o(q=>{q.viewState.yearlyPvYieldPanelRect||(q.viewState.yearlyPvYieldPanelRect=new ai(0,0,600,400)),q.viewState.yearlyPvYieldPanelRect.x=Math.max(ee.x,b-window.innerWidth),q.viewState.yearlyPvYieldPanelRect.y=Math.min(ee.y,window.innerHeight-C)})},N=()=>{o(ie=>{ie.viewState.showYearlyPvYieldPanel=!1,e&&(ie.actionInfo={name:"Close Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()})})};m.useEffect(()=>{D<2&&l&&o(ie=>{ie.graphState&&(ie.graphState.yearlyPvIndividualOutputs=!1)})},[D,l]);const{t:L}=jl(),E=L("word.Month",H),U=L("solarPanelYieldPanel.Yield",H),F=xe.countAllSolarPanels(),B=12/i,_=T*B,Y=F*f.operationalCostPerUnit*365,O=_*f.electricitySellingPrice,J=O-Y,Z=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:A,handle:".handle",bounds:"parent",axis:"both",position:P,onDrag:k,onStop:W,onMouseDown:()=>{o(ie=>{ie.selectedFloatingWindow="yearlyPvYieldPanel"})},children:h.jsx(Kko,{ref:A,style:{zIndex:g==="yearlyPvYieldPanel"?xc:9},children:h.jsxs(qko,{ref:w,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs($ko,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("solarPanelYieldPanel.SolarPanelYearlyYield",H)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",H)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{N()},onMouseDown:()=>{N()},children:L("word.Close",H)})]}),h.jsx(mf,{type:xr.YearlyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:ie,Clearness:ee,...q})=>q),labels:s,height:100,dataKeyAxisX:"Month",labelX:E,labelY:U,unitY:L("word.kWh",H),yMin:0,curveType:"linear",fractionDigits:2,referenceX:R}),!p&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&D>1&&S.current.size>0?h.jsx(gl,{title:L("shared.OutputBreakdown",H),content:[...S.current.entries()].map((ie,ee)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:ie[0]+": "}),h.jsx(it,{span:8,children:(ie[1]*B).toFixed(2)})]}),ee===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",H)+": "+_.toFixed(2)+" "+L("word.kWh",H)})]})]},ee)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",H)})}):h.jsxs(h.Fragment,{children:[_>0&&h.jsx(en,{children:L("solarPanelYieldPanel.YearlyTotal",H)+": "+_.toFixed(2)+" "+L("word.kWh",H)}),_>0&&h.jsx(gl,{title:L("shared.MoreResults",H),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.ModuleCount",H)+": "}),h.jsx(it,{span:10,children:F})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.MeanYield",H)+": "}),h.jsxs(it,{span:10,children:[(_/F).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.TotalCost",H)+": "}),h.jsxs(it,{span:10,children:["$",Y.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.TotalRevenue",H)+": "}),h.jsxs(it,{span:10,children:["$",O.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.Profit",H)+": "}),h.jsx(it,{span:10,children:(J>0?"$":"-$")+Math.abs(J).toFixed(2)})]})]}),children:h.jsx(oo,{type:"default",children:L("shared.MoreResults",H)})})]}),!d&&h.jsxs(h.Fragment,{children:[D>1&&h.jsx(wc,{title:L("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",H),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:ie=>{if(D===0){hn(L("analysisManager.NoSolarPanelForAnalysis",H));return}hn(L("message.SimulationStarted",H)),setTimeout(()=>{o(ee=>{ee.graphState&&(ee.graphState.yearlyPvIndividualOutputs=ie),e&&(ee.actionInfo={name:"Run Yearly Simulation For Solar Panels: "+(ie?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(ee=>{ee.simulationInProgress=!0,ee.runYearlySimulationForSolarPanels=!0,ee.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(oo,{type:"default",icon:Z?h.jsx(vh,{}):h.jsx(xf,{}),title:L(Z?"word.Run":"word.Update",H),onClick:()=>{if(D===0){hn(L("analysisManager.NoSolarPanelForAnalysis",H));return}hn(L("message.SimulationStarted",H)),setTimeout(()=>{o(ie=>{e&&(ie.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(ie=>{ie.simulationInProgress=!0,ie.runYearlySimulationForSolarPanels=!0,ie.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",H),onClick:()=>{Md("line-graph-"+E+"-"+U,"yearly-pv-yield").then(()=>{hn(L("message.ScreenshotSaved",H)),e&&o(ie=>{ie.actionInfo={name:"Take Screenshot of Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",H),onClick:()=>{wh(a,"yearly-pv-yield.csv"),hn(L("message.CsvFileSaved",H)),e&&o(ie=>{ie.actionInfo={name:"Export Solar Panel Yearly Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),Zko=Ho.div` +`,$ko=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(mH)??6,r=new Date(M(Ya)),a=Sn(z7t),l=M(Bje),s=Sn(jje),c=M(Fg),u=M(DAt),d=ht(K2),f=M.getState().economicsParams,p=ht(vf),g=M(bc),A=be.useRef(null),w=m.useRef(null),b=w.current?w.current.clientWidth+40:640,C=w.current?w.current.clientHeight+100:500,[P,v]=m.useState({x:u?Math.max(u.x,b-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-C):0}),[T,y]=m.useState(0),S=m.useRef(new Map),x=m.useRef(),R=Ps[r.getMonth()],H=Kt(),D=c(z.SolarPanel);m.useEffect(()=>{let ie=0;S.current.clear();for(const ee of a)for(const q in ee)Object.hasOwn(ee,q)&&q!=="Month"&&(ie+=ee[q],S.current.set(q,(S.current.get(q)??0)+ee[q]));y(ie)},[a]),m.useEffect(()=>{v({x:Math.max(u==null?void 0:u.x,b-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})},[u,b,C]),m.useEffect(()=>{const ie=()=>{v({x:Math.max(u==null?void 0:u.x,b-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-C)})};return window.addEventListener("resize",ie),()=>{window.removeEventListener("resize",ie)}},[u,b,C]),m.useEffect(()=>(w.current&&(x.current||(x.current=new ResizeObserver(()=>{o(ie=>{w.current&&(ie.viewState.yearlyPvYieldPanelRect||(ie.viewState.yearlyPvYieldPanelRect=new ai(0,0,600,400)),ie.viewState.yearlyPvYieldPanelRect.width=w.current.offsetWidth,ie.viewState.yearlyPvYieldPanelRect.height=w.current.offsetHeight)})})),x.current.observe(w.current)),()=>{var ie;(ie=x.current)==null||ie.disconnect()}),[]);const k=(ie,ee)=>{v({x:Math.max(ee.x,b-window.innerWidth),y:Math.min(ee.y,window.innerHeight-C)})},W=(ie,ee)=>{o(q=>{q.viewState.yearlyPvYieldPanelRect||(q.viewState.yearlyPvYieldPanelRect=new ai(0,0,600,400)),q.viewState.yearlyPvYieldPanelRect.x=Math.max(ee.x,b-window.innerWidth),q.viewState.yearlyPvYieldPanelRect.y=Math.min(ee.y,window.innerHeight-C)})},N=()=>{o(ie=>{ie.viewState.showYearlyPvYieldPanel=!1,e&&(ie.actionInfo={name:"Close Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()})})};m.useEffect(()=>{D<2&&l&&o(ie=>{ie.graphState&&(ie.graphState.yearlyPvIndividualOutputs=!1)})},[D,l]);const{t:L}=jl(),E=L("word.Month",H),U=L("solarPanelYieldPanel.Yield",H),F=xe.countAllSolarPanels(),B=12/i,_=T*B,Y=F*f.operationalCostPerUnit*365,O=_*f.electricitySellingPrice,J=O-Y,Z=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:A,handle:".handle",bounds:"parent",axis:"both",position:P,onDrag:k,onStop:W,onMouseDown:()=>{o(ie=>{ie.selectedFloatingWindow="yearlyPvYieldPanel"})},children:h.jsx(Jko,{ref:A,style:{zIndex:g==="yearlyPvYieldPanel"?xc:9},children:h.jsxs(Kko,{ref:w,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(qko,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[L("solarPanelYieldPanel.SolarPanelYearlyYield",H)+": ",h.jsx("span",{style:{fontSize:"10px"},children:L("sensorPanel.WeatherDataFrom",H)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{N()},onMouseDown:()=>{N()},children:L("word.Close",H)})]}),h.jsx(mf,{type:xr.YearlyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:ie,Clearness:ee,...q})=>q),labels:s,height:100,dataKeyAxisX:"Month",labelX:E,labelY:U,unitY:L("word.kWh",H),yMin:0,curveType:"linear",fractionDigits:2,referenceX:R}),!p&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&D>1&&S.current.size>0?h.jsx(gl,{title:L("shared.OutputBreakdown",H),content:[...S.current.entries()].map((ie,ee)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:ie[0]+": "}),h.jsx(it,{span:8,children:(ie[1]*B).toFixed(2)})]}),ee===S.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:L("word.Total",H)+": "+_.toFixed(2)+" "+L("word.kWh",H)})]})]},ee)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:L("shared.OutputBreakdown",H)})}):h.jsxs(h.Fragment,{children:[_>0&&h.jsx(en,{children:L("solarPanelYieldPanel.YearlyTotal",H)+": "+_.toFixed(2)+" "+L("word.kWh",H)}),_>0&&h.jsx(gl,{title:L("shared.MoreResults",H),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.ModuleCount",H)+": "}),h.jsx(it,{span:10,children:F})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.MeanYield",H)+": "}),h.jsxs(it,{span:10,children:[(_/F).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.TotalCost",H)+": "}),h.jsxs(it,{span:10,children:["$",Y.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.TotalRevenue",H)+": "}),h.jsxs(it,{span:10,children:["$",O.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:L("solarPanelYieldPanel.Profit",H)+": "}),h.jsx(it,{span:10,children:(J>0?"$":"-$")+Math.abs(J).toFixed(2)})]})]}),children:h.jsx(no,{type:"default",children:L("shared.MoreResults",H)})})]}),!d&&h.jsxs(h.Fragment,{children:[D>1&&h.jsx(wc,{title:L("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",H),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:ie=>{if(D===0){hn(L("analysisManager.NoSolarPanelForAnalysis",H));return}hn(L("message.SimulationStarted",H)),setTimeout(()=>{o(ee=>{ee.graphState&&(ee.graphState.yearlyPvIndividualOutputs=ie),e&&(ee.actionInfo={name:"Run Yearly Simulation For Solar Panels: "+(ie?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(ee=>{ee.simulationInProgress=!0,ee.runYearlySimulationForSolarPanels=!0,ee.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:Z?h.jsx(vh,{}):h.jsx(xf,{}),title:L(Z?"word.Run":"word.Update",H),onClick:()=>{if(D===0){hn(L("analysisManager.NoSolarPanelForAnalysis",H));return}hn(L("message.SimulationStarted",H)),setTimeout(()=>{o(ie=>{e&&(ie.actionInfo={name:"Run Yearly Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(ie=>{ie.simulationInProgress=!0,ie.runYearlySimulationForSolarPanels=!0,ie.pauseYearlySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:L("word.SaveAsImage",H),onClick:()=>{Md("line-graph-"+E+"-"+U,"yearly-pv-yield").then(()=>{hn(L("message.ScreenshotSaved",H)),e&&o(ie=>{ie.actionInfo={name:"Take Screenshot of Solar Panel Yearly Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:L("word.SaveAsCsv",H),onClick:()=>{wh(a,"yearly-pv-yield.csv"),hn(L("message.CsvFileSaved",H)),e&&o(ie=>{ie.actionInfo={name:"Export Solar Panel Yearly Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),Qko=Ho.div` position: fixed; top: 80px; right: 24px; @@ -8887,7 +8887,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,eFo=Ho.div` +`,Zko=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -8905,7 +8905,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,tFo=Ho.div` +`,eFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -8916,7 +8916,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,nFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(z7t),l=M(jje),s=M(DAt),c=Sn(Oje),u=ht(K2),d=M.getState().economicsParams,f=ht(vf),p=M(bc),g=be.useRef(null),A=m.useRef(null),w=A.current?A.current.offsetWidth+40:s?s.width+40:640,b=A.current?A.current.offsetHeight+100:s?s.height+100:500,[C,P]=m.useState({x:s?Math.max(s.x,w-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=m.useRef(),x=Kt();m.useEffect(()=>{let Y=0;y.current.clear();for(const O of a)for(const J in O)Object.hasOwn(O,J)&&J!=="Hour"&&(Y+=O[J],y.current.set(J,(y.current.get(J)??0)+O[J]));T(Y)},[a]),m.useEffect(()=>{P({x:Math.max(s==null?void 0:s.x,w-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-b)})},[s,w,b]),m.useEffect(()=>{const Y=()=>{P({x:Math.max(s==null?void 0:s.x,w-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-b)})};return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[s,w,b]),m.useEffect(()=>(A.current&&(S.current||(S.current=new ResizeObserver(()=>{o(Y=>{A.current&&(Y.viewState.dailyPvYieldPanelRect||(Y.viewState.dailyPvYieldPanelRect=new ai(0,0,600,400)),Y.viewState.dailyPvYieldPanelRect.width=A.current.offsetWidth,Y.viewState.dailyPvYieldPanelRect.height=A.current.offsetHeight)})})),S.current.observe(A.current)),()=>{var Y;(Y=S.current)==null||Y.disconnect()}),[]);const R=(Y,O)=>{P({x:Math.max(O.x,w-window.innerWidth),y:Math.min(O.y,window.innerHeight-b)})},H=(Y,O)=>{o(J=>{J.viewState.dailyPvYieldPanelRect||(J.viewState.dailyPvYieldPanelRect=new ai(0,0,600,400)),J.viewState.dailyPvYieldPanelRect.x=Math.max(O.x,w-window.innerWidth),J.viewState.dailyPvYieldPanelRect.y=Math.min(O.y,window.innerHeight-b)})},D=()=>{o(Y=>{Y.viewState.showDailyPvYieldPanel=!1,e&&(Y.actionInfo={name:"Close Solar Panel Daily Yield Graph",timestamp:new Date().getTime()})})},k=r(z.SolarPanel);m.useEffect(()=>{k<2&&l&&o(Y=>{Y.graphState&&(Y.graphState.dailyPvIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Hour",x),L=W("solarPanelYieldPanel.YieldPerHour",x),E=xe.countAllSolarPanels(),U=E*d.operationalCostPerUnit,F=v*d.electricitySellingPrice,B=F-U,_=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:g,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(Y=>{Y.selectedFloatingWindow="dailyPvYieldPanel"})},children:h.jsx(Zko,{ref:g,style:{zIndex:p==="dailyPvYieldPanel"?xc:9},children:h.jsxs(eFo,{ref:A,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(tFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("solarPanelYieldPanel.SolarPanelDailyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.DailyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!f&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:W("shared.OutputBreakdown",x),content:[...y.current.entries()].map((Y,O)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:Y[0]+": "}),h.jsx(it,{span:8,children:Y[1].toFixed(3)})]}),O===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+v.toFixed(3)+" "+W("word.kWh",x)})]})]},O)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(h.Fragment,{children:[v>0&&h.jsx(en,{style:{cursor:"default"},children:W("solarPanelYieldPanel.DailyTotal",x)+": "+v.toFixed(3)+" "+W("word.kWh",x)}),v>0&&h.jsx(gl,{title:W("shared.MoreResults",x),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.ModuleCount",x)+": "}),h.jsx(it,{span:10,children:E})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.MeanYield",x)+": "}),h.jsxs(it,{span:10,children:[(v/E).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.TotalCost",x)+": "}),h.jsxs(it,{span:10,children:["$",U.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.TotalRevenue",x)+": "}),h.jsxs(it,{span:10,children:["$",F.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.Profit",x)+": "}),h.jsx(it,{span:10,children:(B>0?"$":"-$")+Math.abs(B).toFixed(2)})]})]}),children:h.jsx(oo,{type:"default",children:W("shared.MoreResults",x)})})]}),!u&&h.jsxs(h.Fragment,{children:[k>1&&h.jsx(wc,{title:W("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:Y=>{if(k===0){hn(W("analysisManager.NoSolarPanelForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyPvIndividualOutputs=Y),e&&(O.actionInfo={name:"Run Daily Simulation For Solar Panels: "+(Y?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForSolarPanels=!0,O.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(oo,{type:"default",icon:_?h.jsx(vh,{}):h.jsx(xf,{}),title:W(_?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoSolarPanelForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(Y=>{e&&(Y.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(Y=>{Y.simulationInProgress=!0,Y.runDailySimulationForSolarPanels=!0,Y.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"daily-pv-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(Y=>{Y.actionInfo={name:"Take Screenshot of Solar Panel Daily Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"daily-pv-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(Y=>{Y.actionInfo={name:"Export Solar Panel Daily Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),oFo="/aladdin/assets/light_bulb-D1RiLhYG.png",iFo="/aladdin/assets/diameter-CQ4-OfKR.png",rFo="/aladdin/assets/area-C8e5STKh.png",aFo=Ho.div` +`,tFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(M7t),l=M(Uje),s=M(IAt),c=Sn(jje),u=ht(K2),d=M.getState().economicsParams,f=ht(vf),p=M(bc),g=be.useRef(null),A=m.useRef(null),w=A.current?A.current.offsetWidth+40:s?s.width+40:640,b=A.current?A.current.offsetHeight+100:s?s.height+100:500,[C,P]=m.useState({x:s?Math.max(s.x,w-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=m.useRef(),x=Kt();m.useEffect(()=>{let Y=0;y.current.clear();for(const O of a)for(const J in O)Object.hasOwn(O,J)&&J!=="Hour"&&(Y+=O[J],y.current.set(J,(y.current.get(J)??0)+O[J]));T(Y)},[a]),m.useEffect(()=>{P({x:Math.max(s==null?void 0:s.x,w-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-b)})},[s,w,b]),m.useEffect(()=>{const Y=()=>{P({x:Math.max(s==null?void 0:s.x,w-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-b)})};return window.addEventListener("resize",Y),()=>{window.removeEventListener("resize",Y)}},[s,w,b]),m.useEffect(()=>(A.current&&(S.current||(S.current=new ResizeObserver(()=>{o(Y=>{A.current&&(Y.viewState.dailyPvYieldPanelRect||(Y.viewState.dailyPvYieldPanelRect=new ai(0,0,600,400)),Y.viewState.dailyPvYieldPanelRect.width=A.current.offsetWidth,Y.viewState.dailyPvYieldPanelRect.height=A.current.offsetHeight)})})),S.current.observe(A.current)),()=>{var Y;(Y=S.current)==null||Y.disconnect()}),[]);const R=(Y,O)=>{P({x:Math.max(O.x,w-window.innerWidth),y:Math.min(O.y,window.innerHeight-b)})},H=(Y,O)=>{o(J=>{J.viewState.dailyPvYieldPanelRect||(J.viewState.dailyPvYieldPanelRect=new ai(0,0,600,400)),J.viewState.dailyPvYieldPanelRect.x=Math.max(O.x,w-window.innerWidth),J.viewState.dailyPvYieldPanelRect.y=Math.min(O.y,window.innerHeight-b)})},D=()=>{o(Y=>{Y.viewState.showDailyPvYieldPanel=!1,e&&(Y.actionInfo={name:"Close Solar Panel Daily Yield Graph",timestamp:new Date().getTime()})})},k=r(z.SolarPanel);m.useEffect(()=>{k<2&&l&&o(Y=>{Y.graphState&&(Y.graphState.dailyPvIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Hour",x),L=W("solarPanelYieldPanel.YieldPerHour",x),E=xe.countAllSolarPanels(),U=E*d.operationalCostPerUnit,F=v*d.electricitySellingPrice,B=F-U,_=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:g,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(Y=>{Y.selectedFloatingWindow="dailyPvYieldPanel"})},children:h.jsx(Qko,{ref:g,style:{zIndex:p==="dailyPvYieldPanel"?xc:9},children:h.jsxs(Zko,{ref:A,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(eFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("solarPanelYieldPanel.SolarPanelDailyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.DailyPvYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!f&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:W("shared.OutputBreakdown",x),content:[...y.current.entries()].map((Y,O)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:Y[0]+": "}),h.jsx(it,{span:8,children:Y[1].toFixed(3)})]}),O===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+v.toFixed(3)+" "+W("word.kWh",x)})]})]},O)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(h.Fragment,{children:[v>0&&h.jsx(en,{style:{cursor:"default"},children:W("solarPanelYieldPanel.DailyTotal",x)+": "+v.toFixed(3)+" "+W("word.kWh",x)}),v>0&&h.jsx(gl,{title:W("shared.MoreResults",x),content:h.jsxs(h.Fragment,{children:[h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.ModuleCount",x)+": "}),h.jsx(it,{span:10,children:E})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.MeanYield",x)+": "}),h.jsxs(it,{span:10,children:[(v/E).toFixed(2)," kWh"]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.TotalCost",x)+": "}),h.jsxs(it,{span:10,children:["$",U.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.TotalRevenue",x)+": "}),h.jsxs(it,{span:10,children:["$",F.toFixed(2)]})]}),h.jsxs(nn,{style:{width:"200px"},children:[h.jsx(it,{span:14,children:W("solarPanelYieldPanel.Profit",x)+": "}),h.jsx(it,{span:10,children:(B>0?"$":"-$")+Math.abs(B).toFixed(2)})]})]}),children:h.jsx(no,{type:"default",children:W("shared.MoreResults",x)})})]}),!u&&h.jsxs(h.Fragment,{children:[k>1&&h.jsx(wc,{title:W("solarPanelYieldPanel.ShowOutputsOfIndividualSolarPanels",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:Y=>{if(k===0){hn(W("analysisManager.NoSolarPanelForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(O=>{O.graphState&&(O.graphState.dailyPvIndividualOutputs=Y),e&&(O.actionInfo={name:"Run Daily Simulation For Solar Panels: "+(Y?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(O=>{O.simulationInProgress=!0,O.runDailySimulationForSolarPanels=!0,O.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:_?h.jsx(vh,{}):h.jsx(xf,{}),title:W(_?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoSolarPanelForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(Y=>{e&&(Y.actionInfo={name:"Run Daily Simulation For Solar Panels",timestamp:new Date().getTime()})}),ht.getState().set(Y=>{Y.simulationInProgress=!0,Y.runDailySimulationForSolarPanels=!0,Y.pauseDailySimulationForSolarPanels=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"daily-pv-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(Y=>{Y.actionInfo={name:"Take Screenshot of Solar Panel Daily Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"daily-pv-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(Y=>{Y.actionInfo={name:"Export Solar Panel Daily Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})]})})})}),nFo="/aladdin/assets/light_bulb-D1RiLhYG.png",oFo="/aladdin/assets/diameter-CQ4-OfKR.png",iFo="/aladdin/assets/area-C8e5STKh.png",rFo=Ho.div` position: absolute; bottom: 40px; left: 0; @@ -8931,7 +8931,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; user-select: none; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels -`,lFo=Ho.div` +`,aFo=Ho.div` background: #282c34; position: absolute; top: 0; @@ -8945,7 +8945,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,sFo=be.memo(()=>{const t=M(Jn),e=M(Fg),n=M(Jwt),o=M(rr),i=M(M7),r=M(mh),a=M(Hq),l=M(w=>w.selectedElement===null?null:w.elements.find(b=>{var C;return b.id===((C=w.selectedElement)==null?void 0:C.id)}));let s=0,c=0,u=0;if(l)if(l.type===z.SolarPanel)s=n(l.id),c=l.dailyYield??0;else if(l.type===z.Polygon){const w=o(l);w&&(s=xe.countAllChildSolarPanels(w.id),c=xe.countAllChildSolarPanelDailyYields(w.id))}else s=xe.countAllChildSolarPanels(l.id),c=xe.countAllChildSolarPanelDailyYields(l.id),u=xe.countAllChildElementsByType(l.id,z.Heliostat);else s=xe.countAllSolarPanels(),c=xe.countAllSolarPanelDailyYields(),u=e(z.Heliostat);const d=Kt(),f=i.y>0,p=f?"navajowhite":"antiquewhite",g=f?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)",A=l&&l.type===z.Foundation&&!l.notBuilding&&xe.getBuildingCompletionStatus(l,t)===Uc.COMPLETE;return h.jsx(aFo,{children:h.jsx(lFo,{$projectView:a,children:h.jsxs(en,{direction:"horizontal",style:{color:p,fontSize:"10px"},children:[s>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Solar panel count",title:j.t("designInfoPanel.NumberOfSelectedSolarPanels",d),src:Vde,height:24,width:36,style:{paddingLeft:"10px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:s})]}),u>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Heliostat count",title:j.t("designInfoPanel.NumberOfSelectedHeliostats",d),src:Gde,height:24,width:36,style:{paddingLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:u})]}),c>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t("designInfoPanel.ElectricityGeneratedDailyBySolarPanels",d),alt:"Electricity",src:oFo,height:24,width:24,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:c.toFixed(1)+" "+j.t("word.kWh",d)})]}),!l&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t("designInfoPanel.SceneDiameter",d),alt:"Diameter",src:iFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:r*2+" "+j.t("word.MeterAbbreviation",d)})]}),A&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t("designInfoPanel.BuildingArea",d),alt:"Area",src:rFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsxs("span",{children:[xe.getBuildingArea(l,t).toFixed(2)+" "+j.t("word.MeterAbbreviation",d),h.jsx("sup",{children:"2"})]})]})]})})})}),cFo="/aladdin/assets/location-_zTaloy5.png",uFo="/aladdin/assets/date-Dqo8FDne.png",dFo="/aladdin/assets/thermometer-B30VcfuL.png",fFo=Ho.div` +`,lFo=be.memo(()=>{const t=M(Jn),e=M(Fg),n=M(Gwt),o=M(rr),i=M(M7),r=M(mh),a=M(Hq),l=M(w=>w.selectedElement===null?null:w.elements.find(b=>{var C;return b.id===((C=w.selectedElement)==null?void 0:C.id)}));let s=0,c=0,u=0;if(l)if(l.type===z.SolarPanel)s=n(l.id),c=l.dailyYield??0;else if(l.type===z.Polygon){const w=o(l);w&&(s=xe.countAllChildSolarPanels(w.id),c=xe.countAllChildSolarPanelDailyYields(w.id))}else s=xe.countAllChildSolarPanels(l.id),c=xe.countAllChildSolarPanelDailyYields(l.id),u=xe.countAllChildElementsByType(l.id,z.Heliostat);else s=xe.countAllSolarPanels(),c=xe.countAllSolarPanelDailyYields(),u=e(z.Heliostat);const d=Kt(),f=i.y>0,p=f?"navajowhite":"antiquewhite",g=f?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)",A=l&&l.type===z.Foundation&&!l.notBuilding&&xe.getBuildingCompletionStatus(l,t)===Uc.COMPLETE;return h.jsx(rFo,{children:h.jsx(aFo,{$projectView:a,children:h.jsxs(en,{direction:"horizontal",style:{color:p,fontSize:"10px"},children:[s>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Solar panel count",title:j.t("designInfoPanel.NumberOfSelectedSolarPanels",d),src:Vde,height:24,width:36,style:{paddingLeft:"10px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:s})]}),u>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"Heliostat count",title:j.t("designInfoPanel.NumberOfSelectedHeliostats",d),src:Gde,height:24,width:36,style:{paddingLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",filter:"invert(100%) "}}),h.jsx("span",{children:u})]}),c>0&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t("designInfoPanel.ElectricityGeneratedDailyBySolarPanels",d),alt:"Electricity",src:nFo,height:24,width:24,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:c.toFixed(1)+" "+j.t("word.kWh",d)})]}),!l&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t("designInfoPanel.SceneDiameter",d),alt:"Diameter",src:oFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsx("span",{children:r*2+" "+j.t("word.MeterAbbreviation",d)})]}),A&&h.jsxs(h.Fragment,{children:[h.jsx("img",{title:j.t("designInfoPanel.BuildingArea",d),alt:"Area",src:iFo,height:20,width:20,style:{filter:g,marginLeft:"10px",marginTop:"4px",marginBottom:"4px",cursor:"pointer",verticalAlign:"middle"}}),h.jsxs("span",{children:[xe.getBuildingArea(l,t).toFixed(2)+" "+j.t("word.MeterAbbreviation",d),h.jsx("sup",{children:"2"})]})]})]})})})}),sFo="/aladdin/assets/location-_zTaloy5.png",cFo="/aladdin/assets/date-Dqo8FDne.png",uFo="/aladdin/assets/thermometer-B30VcfuL.png",dFo=Ho.div` position: absolute; top: 75px; left: 0; @@ -8960,7 +8960,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; user-select: none; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels -`,hFo=Ho.div` +`,fFo=Ho.div` position: absolute; top: 0; left: ${t=>t.$projectView?"calc(100vw / 2)":"calc(100vw / 4)"}; @@ -8973,7 +8973,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,pFo=be.memo(()=>{const t=M(Ya),e=M(yq),n=M(Xs),o=M(wb),i=M(NBe),r=M(A7t),a=M(M7),l=M(KL)??900,s=M(Hq),c=M(xBe),[u,d]=m.useState({low:0,high:20}),[f,p]=m.useState(10),g=new Date(t),A=a.y>0,w=Kt();m.useEffect(()=>{if(r){const v=Jx(g,r.lowestTemperatures,r.highestTemperatures);d(v);const T=Xx(v.high,v.low,i,l,b,xe.minutesIntoDay(g));p(T)}},[t,r]);const b=m.useMemo(()=>sl(g,n),[t,n]),C=A?"navajowhite":"antiquewhite",P=A?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)";return h.jsx(fFo,{children:h.jsx(hFo,{$projectView:s,children:h.jsxs(en,{direction:"horizontal",style:{color:C,fontSize:"10px"},children:[h.jsx("img",{title:j.t("word.Location",w),alt:"Location",src:cFo,height:20,width:20,style:{filter:P,cursor:"pointer",verticalAlign:"middle"}}),(c?"":e??"")+" ("+Math.abs(n).toFixed(2)+"°"+(n>0?"N":"S")+", "+Math.abs(o).toFixed(2)+"°"+(o>0?"E":"W")+")",h.jsx("img",{title:j.t("word.Date",w),alt:"Date",src:uFo,height:20,width:20,style:{filter:P,cursor:"pointer",verticalAlign:"middle"}}),gc(g).format("MM/DD hh:mm A"),h.jsx("img",{title:j.t("word.Temperature",w),alt:"Temperature",src:dFo,height:20,width:20,style:{filter:P,cursor:"pointer",verticalAlign:"middle"}}),u?f.toFixed(1)+"°C ("+j.t("siteInfoPanel.Low",w)+":"+u.low.toFixed(1)+"°C, "+j.t("siteInfoPanel.High",w)+": "+u.high.toFixed(1)+"°C)":""]})})})}),gFo=Ho.div` +`,hFo=be.memo(()=>{const t=M(Ya),e=M(yq),n=M(Xs),o=M(wb),i=M(LBe),r=M(m7t),a=M(M7),l=M(KL)??900,s=M(Hq),c=M(wBe),[u,d]=m.useState({low:0,high:20}),[f,p]=m.useState(10),g=new Date(t),A=a.y>0,w=Kt();m.useEffect(()=>{if(r){const v=Jx(g,r.lowestTemperatures,r.highestTemperatures);d(v);const T=Xx(v.high,v.low,i,l,b,xe.minutesIntoDay(g));p(T)}},[t,r]);const b=m.useMemo(()=>sl(g,n),[t,n]),C=A?"navajowhite":"antiquewhite",P=A?"invert(85%) sepia(45%) saturate(335%) hue-rotate(329deg) brightness(100%) contrast(101%)":"invert(95%) sepia(7%) saturate(1598%) hue-rotate(312deg) brightness(106%) contrast(96%)";return h.jsx(dFo,{children:h.jsx(fFo,{$projectView:s,children:h.jsxs(en,{direction:"horizontal",style:{color:C,fontSize:"10px"},children:[h.jsx("img",{title:j.t("word.Location",w),alt:"Location",src:sFo,height:20,width:20,style:{filter:P,cursor:"pointer",verticalAlign:"middle"}}),(c?"":e??"")+" ("+Math.abs(n).toFixed(2)+"°"+(n>0?"N":"S")+", "+Math.abs(o).toFixed(2)+"°"+(o>0?"E":"W")+")",h.jsx("img",{title:j.t("word.Date",w),alt:"Date",src:cFo,height:20,width:20,style:{filter:P,cursor:"pointer",verticalAlign:"middle"}}),gc(g).format("MM/DD hh:mm A"),h.jsx("img",{title:j.t("word.Temperature",w),alt:"Temperature",src:uFo,height:20,width:20,style:{filter:P,cursor:"pointer",verticalAlign:"middle"}}),u?f.toFixed(1)+"°C ("+j.t("siteInfoPanel.Low",w)+":"+u.low.toFixed(1)+"°C, "+j.t("siteInfoPanel.High",w)+": "+u.high.toFixed(1)+"°C)":""]})})})}),pFo=Ho.div` position: absolute; left: 0; margin: 0; @@ -8986,7 +8986,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; opacity: 100%; user-select: none; z-index: 7; // must be less than other panels -`,mFo=Ho.div` +`,gFo=Ho.div` background: #282c34; position: absolute; top: 0; @@ -9000,7 +9000,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; font-size: 12px; flex-direction: column; opacity: 100%; -`,yFo=be.memo(()=>{const t=M(dn),e=M(wf),n=M(_1e),o=M(X2),i=ht(i3),r=Kt();return h.jsx(gFo,{style:{top:n?"110px":"80px"},children:h.jsx(mFo,{style:{width:i?"320px":"170px",left:i?"calc(100vw / 2 - 150px)":"calc(100vw / 2 - 80px)"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[j.t("visualizationControlPanel.ColorContrast",r)+":",h.jsx(Hn,{title:j.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:.5,max:50,step:.5,style:{width:70},precision:1,value:e??5,onChange:a=>{a!==null&&t(l=>{l.viewState.solarRadiationHeatMapMaxValue=a})}}),i&&h.jsxs(h.Fragment,{children:[j.t("visualizationControlPanel.FluxScale",r)+":",h.jsx(Hn,{title:j.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:1,max:50,step:5,style:{width:65},precision:0,value:o??20,onChange:a=>{a!==null&&t(l=>{l.viewState.heatFluxScaleFactor=a})}})]})]})})})}),{Column:qO}=Hd,AFo=Ho.div` +`,mFo=be.memo(()=>{const t=M(dn),e=M(wf),n=M(_1e),o=M(X2),i=ht(i3),r=Kt();return h.jsx(pFo,{style:{top:n?"110px":"80px"},children:h.jsx(gFo,{style:{width:i?"320px":"170px",left:i?"calc(100vw / 2 - 150px)":"calc(100vw / 2 - 80px)"},children:h.jsxs(en,{direction:"horizontal",style:{color:"antiquewhite",fontSize:"10px"},children:[j.t("visualizationControlPanel.ColorContrast",r)+":",h.jsx(Hn,{title:j.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:.5,max:50,step:.5,style:{width:70},precision:1,value:e??5,onChange:a=>{a!==null&&t(l=>{l.viewState.solarRadiationHeatMapMaxValue=a})}}),i&&h.jsxs(h.Fragment,{children:[j.t("visualizationControlPanel.FluxScale",r)+":",h.jsx(Hn,{title:j.t("visualizationControlPanel.ClickUpOrDownArrowButtonsToChange",r),min:1,max:50,step:5,style:{width:65},precision:0,value:o??20,onChange:a=>{a!==null&&t(l=>{l.viewState.heatFluxScaleFactor=a})}})]})]})})})}),{Column:qO}=Hd,yFo=Ho.div` position: fixed; top: 90px; right: 36px; @@ -9009,7 +9009,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 8; -`,wFo=Ho.div` +`,AFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9027,7 +9027,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,vFo=Ho.div` +`,wFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9038,7 +9038,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,xFo=be.memo(()=>{const t=M(ha),e=M(dn),n=new Date(M(Ya)),o=M(LAt),i=Sn(C7t),r=M(Xwt),a=M(bc),l=be.useRef(null),s=m.useRef(null),c=m.useRef(),u=s.current?s.current.clientWidth+40:o?o.width+40:640,d=s.current?s.current.clientHeight+100:o?o.height+100:570,[f,p]=m.useState({x:o?Math.max(o.x,u-window.innerWidth):0,y:o?Math.min(o.y,window.innerHeight-d):0}),[g,A]=m.useState([]),w=Kt();m.useEffect(()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})},[o,u,d]),m.useEffect(()=>{const T=()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})};return window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}},[d,o==null?void 0:o.x,o==null?void 0:o.y,u]),m.useEffect(()=>(s.current&&(c.current||(c.current=new ResizeObserver(()=>{e(T=>{s.current&&(T.viewState.visibilityResultsPanelRect||(T.viewState.visibilityResultsPanelRect=new ai(0,0,600,470)),T.viewState.visibilityResultsPanelRect.width=s.current.offsetWidth,T.viewState.visibilityResultsPanelRect.height=s.current.offsetHeight)})})),c.current.observe(s.current)),()=>{var T;(T=c.current)==null||T.disconnect()}),[]),m.useEffect(()=>{if(i){const T=[];i.forEach((y,S)=>{let x=0,R="",H=0;y.forEach((D,k)=>{H++,x+=D,R+=D.toFixed(2)+", "}),T.push({key:S.observer.id,observer:Ip.fetchLabel(S.observer.name,w),vantage:"("+S.position.x.toFixed(1)+", "+S.position.y.toFixed(1)+", "+S.position.z.toFixed(1)+") "+v("word.MeterAbbreviation",w),total:x.toFixed(2),itemized:H>1?R.substring(0,R.length-2):"---"})}),A(T)}},[i,w]);const b=(T,y)=>{p({x:Math.max(y.x,u-window.innerWidth),y:Math.min(y.y,window.innerHeight-d)})},C=(T,y)=>{e(S=>{S.viewState.visibilityResultsPanelRect||(S.viewState.visibilityResultsPanelRect=new ai(0,0,600,470)),S.viewState.visibilityResultsPanelRect.x=Math.max(y.x,u-window.innerWidth),S.viewState.visibilityResultsPanelRect.y=Math.min(y.y,window.innerHeight-d)})},P=()=>{e(T=>{T.viewState.showSolarPanelVisibilityResultsPanel=!1,t&&(T.actionInfo={name:"Close Visibility Results Panel",timestamp:new Date().getTime()})})},{t:v}=jl();return h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:f,onDrag:b,onStop:C,onMouseDown:()=>{e(T=>{T.selectedFloatingWindow="visibilityResultsPanel"})},children:h.jsx(AFo,{ref:l,style:{zIndex:a==="visibilityResultsPanel"?xc:8},children:h.jsxs(wFo,{ref:s,style:{width:(o?o.width:600)+"px",height:(o?o.height:470)+"px"},children:[h.jsxs(vFo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:v("visibilityPanel.SolarPanelVisibility",w)+" — "+gi(n).format("h:mm A MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{P()},onMouseDown:()=>{P()},children:v("word.Close",w)})]}),h.jsxs(Hd,{id:"visibility-results-table",style:{width:"100%",direction:"ltr"},dataSource:g,pagination:{defaultPageSize:5,showSizeChanger:!0,pageSizeOptions:["5","10","50"]},children:[h.jsx(qO,{title:`${v("visibilityPanel.Observer",w)}`,dataIndex:"observer"},"observer"),h.jsx(qO,{title:`${v("visibilityPanel.VantagePoint",w)}`,dataIndex:"vantage"},"vantage"),h.jsx(qO,{title:`${v("visibilityPanel.TotalVisibility",w)}`,dataIndex:"total"},"total"),h.jsx(qO,{title:`${v("visibilityPanel.ItemizedVisibilityByFields",w)}`,dataIndex:"itemized"},"itemized")]}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(oo,{type:"default",icon:h.jsx(xf,{}),title:v("word.Update",w),onClick:()=>{if(r()===0){hn(v("analysisManager.NoObserverForVisibilityAnalysis",w));return}hn(v("message.SimulationStarted",w)),setTimeout(()=>{ht.getState().set(y=>{y.simulationInProgress=!0,y.runSolarPanelVisibilityAnalysis=!0}),e(y=>{t&&(y.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()})})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:v("word.SaveAsImage",w),onClick:()=>{Md("visibility-results-table","visibility-results").then(()=>{hn(v("message.ScreenshotSaved",w))})}})]})]})})})}),bFo=Ho.div` +`,vFo=be.memo(()=>{const t=M(ha),e=M(dn),n=new Date(M(Ya)),o=M(kAt),i=Sn(T7t),r=M(Vwt),a=M(bc),l=be.useRef(null),s=m.useRef(null),c=m.useRef(),u=s.current?s.current.clientWidth+40:o?o.width+40:640,d=s.current?s.current.clientHeight+100:o?o.height+100:570,[f,p]=m.useState({x:o?Math.max(o.x,u-window.innerWidth):0,y:o?Math.min(o.y,window.innerHeight-d):0}),[g,A]=m.useState([]),w=Kt();m.useEffect(()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})},[o,u,d]),m.useEffect(()=>{const T=()=>{p({x:Math.max(o==null?void 0:o.x,u-window.innerWidth),y:Math.min(o==null?void 0:o.y,window.innerHeight-d)})};return window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}},[d,o==null?void 0:o.x,o==null?void 0:o.y,u]),m.useEffect(()=>(s.current&&(c.current||(c.current=new ResizeObserver(()=>{e(T=>{s.current&&(T.viewState.visibilityResultsPanelRect||(T.viewState.visibilityResultsPanelRect=new ai(0,0,600,470)),T.viewState.visibilityResultsPanelRect.width=s.current.offsetWidth,T.viewState.visibilityResultsPanelRect.height=s.current.offsetHeight)})})),c.current.observe(s.current)),()=>{var T;(T=c.current)==null||T.disconnect()}),[]),m.useEffect(()=>{if(i){const T=[];i.forEach((y,S)=>{let x=0,R="",H=0;y.forEach((D,k)=>{H++,x+=D,R+=D.toFixed(2)+", "}),T.push({key:S.observer.id,observer:Ip.fetchLabel(S.observer.name,w),vantage:"("+S.position.x.toFixed(1)+", "+S.position.y.toFixed(1)+", "+S.position.z.toFixed(1)+") "+v("word.MeterAbbreviation",w),total:x.toFixed(2),itemized:H>1?R.substring(0,R.length-2):"---"})}),A(T)}},[i,w]);const b=(T,y)=>{p({x:Math.max(y.x,u-window.innerWidth),y:Math.min(y.y,window.innerHeight-d)})},C=(T,y)=>{e(S=>{S.viewState.visibilityResultsPanelRect||(S.viewState.visibilityResultsPanelRect=new ai(0,0,600,470)),S.viewState.visibilityResultsPanelRect.x=Math.max(y.x,u-window.innerWidth),S.viewState.visibilityResultsPanelRect.y=Math.min(y.y,window.innerHeight-d)})},P=()=>{e(T=>{T.viewState.showSolarPanelVisibilityResultsPanel=!1,t&&(T.actionInfo={name:"Close Visibility Results Panel",timestamp:new Date().getTime()})})},{t:v}=jl();return h.jsx(Vr,{nodeRef:l,handle:".handle",bounds:"parent",axis:"both",position:f,onDrag:b,onStop:C,onMouseDown:()=>{e(T=>{T.selectedFloatingWindow="visibilityResultsPanel"})},children:h.jsx(yFo,{ref:l,style:{zIndex:a==="visibilityResultsPanel"?xc:8},children:h.jsxs(AFo,{ref:s,style:{width:(o?o.width:600)+"px",height:(o?o.height:470)+"px"},children:[h.jsxs(wFo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:v("visibilityPanel.SolarPanelVisibility",w)+" — "+gi(n).format("h:mm A MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{P()},onMouseDown:()=>{P()},children:v("word.Close",w)})]}),h.jsxs(Hd,{id:"visibility-results-table",style:{width:"100%",direction:"ltr"},dataSource:g,pagination:{defaultPageSize:5,showSizeChanger:!0,pageSizeOptions:["5","10","50"]},children:[h.jsx(qO,{title:`${v("visibilityPanel.Observer",w)}`,dataIndex:"observer"},"observer"),h.jsx(qO,{title:`${v("visibilityPanel.VantagePoint",w)}`,dataIndex:"vantage"},"vantage"),h.jsx(qO,{title:`${v("visibilityPanel.TotalVisibility",w)}`,dataIndex:"total"},"total"),h.jsx(qO,{title:`${v("visibilityPanel.ItemizedVisibilityByFields",w)}`,dataIndex:"itemized"},"itemized")]}),h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[h.jsx(no,{type:"default",icon:h.jsx(xf,{}),title:v("word.Update",w),onClick:()=>{if(r()===0){hn(v("analysisManager.NoObserverForVisibilityAnalysis",w));return}hn(v("message.SimulationStarted",w)),setTimeout(()=>{ht.getState().set(y=>{y.simulationInProgress=!0,y.runSolarPanelVisibilityAnalysis=!0}),e(y=>{t&&(y.actionInfo={name:"Run Visibility Analysis For Solar Panels",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:v("word.SaveAsImage",w),onClick:()=>{Md("visibility-results-table","visibility-results").then(()=>{hn(v("message.ScreenshotSaved",w))})}})]})]})})})}),xFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9047,7 +9047,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,SFo=Ho.div` +`,bFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9065,7 +9065,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,TFo=Ho.div` +`,SFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9076,7 +9076,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,PFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(Y7t),l=M(Jje),s=Sn(Kje),c=M(Fg),u=M(UAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyParabolicTroughYieldPanelRect||(F.viewState.yearlyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyParabolicTroughYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyParabolicTroughYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyParabolicTroughYieldPanelRect||(_.viewState.yearlyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyParabolicTroughYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyParabolicTroughYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyParabolicTroughYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Trough Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.ParabolicTrough);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyParabolicTroughIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("parabolicTroughYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"})},children:h.jsx(bFo,{ref:p,style:{zIndex:f==="yearlyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(SFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(TFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("parabolicTroughYieldPanel.ParabolicTroughYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("parabolicTroughYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoParabolicTroughForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyParabolicTroughIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForParabolicTroughs=!0,B.pauseYearlySimulationForParabolicTroughs=!1,B.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoParabolicTroughForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForParabolicTroughs=!0,F.pauseYearlySimulationForParabolicTroughs=!1,F.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-parabolic-trough-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-parabolic-trough-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),CFo=Ho.div` +`,TFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(B7t),l=M(Gje),s=Sn(Xje),c=M(Fg),u=M(WAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyParabolicTroughYieldPanelRect||(F.viewState.yearlyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyParabolicTroughYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyParabolicTroughYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyParabolicTroughYieldPanelRect||(_.viewState.yearlyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyParabolicTroughYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyParabolicTroughYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyParabolicTroughYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Trough Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.ParabolicTrough);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyParabolicTroughIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("parabolicTroughYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"})},children:h.jsx(xFo,{ref:p,style:{zIndex:f==="yearlyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(bFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(SFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("parabolicTroughYieldPanel.ParabolicTroughYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("parabolicTroughYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoParabolicTroughForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyParabolicTroughIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForParabolicTroughs=!0,B.pauseYearlySimulationForParabolicTroughs=!1,B.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoParabolicTroughForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForParabolicTroughs=!0,F.pauseYearlySimulationForParabolicTroughs=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-parabolic-trough-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-parabolic-trough-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),PFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9085,7 +9085,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,RFo=Ho.div` +`,CFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9103,7 +9103,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,HFo=Ho.div` +`,RFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9114,7 +9114,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,MFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(B7t),l=M(Xje),s=M(WAt),c=Sn(Kje),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyParabolicTroughYieldPanelRect||(L.viewState.dailyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyParabolicTroughYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyParabolicTroughYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyParabolicTroughYieldPanelRect||(U.viewState.dailyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyParabolicTroughYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyParabolicTroughYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyParabolicTroughYieldPanel=!1,e&&(L.actionInfo={name:"Close Parabolic Trough Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicTrough);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyParabolicTroughIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("parabolicTroughYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyParabolicTroughYieldPanel"})},children:h.jsx(CFo,{ref:f,style:{zIndex:d==="dailyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(RFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(HFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicTroughYieldPanel.ParabolicTroughDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicTroughYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoParabolicTroughForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyParabolicTroughIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Parabolic Troughs: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForParabolicTroughs=!0,E.pauseDailySimulationForParabolicTroughs=!1,E.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoParabolicTroughForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForParabolicTroughs=!0,L.pauseDailySimulationForParabolicTroughs=!1,L.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-parabolic-trough-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-parabolic-trough-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),IFo=Ho.div` +`,HFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(N7t),l=M(Vje),s=M(FAt),c=Sn(Xje),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyParabolicTroughYieldPanelRect||(L.viewState.dailyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyParabolicTroughYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyParabolicTroughYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyParabolicTroughYieldPanelRect||(U.viewState.dailyParabolicTroughYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyParabolicTroughYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyParabolicTroughYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyParabolicTroughYieldPanel=!1,e&&(L.actionInfo={name:"Close Parabolic Trough Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicTrough);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyParabolicTroughIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("parabolicTroughYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyParabolicTroughYieldPanel"})},children:h.jsx(PFo,{ref:f,style:{zIndex:d==="dailyParabolicTroughYieldPanel"?xc:9},children:h.jsxs(CFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(RFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicTroughYieldPanel.ParabolicTroughDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyParabolicTroughYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicTroughYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("parabolicTroughYieldPanel.ShowOutputsOfIndividualParabolicTroughs",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoParabolicTroughForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyParabolicTroughIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Parabolic Troughs: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForParabolicTroughs=!0,E.pauseDailySimulationForParabolicTroughs=!1,E.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoParabolicTroughForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Parabolic Troughs",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForParabolicTroughs=!0,L.pauseDailySimulationForParabolicTroughs=!1,L.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-parabolic-trough-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Parabolic Trough Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-parabolic-trough-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Parabolic Trough Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),MFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9123,7 +9123,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,zFo=Ho.div` +`,IFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9141,7 +9141,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,DFo=Ho.div` +`,zFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9152,7 +9152,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,EFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(T8t),l=M(rYe),s=M(BAt),c=Sn(lYe),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyParabolicDishYieldPanelRect||(L.viewState.dailyParabolicDishYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyParabolicDishYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyParabolicDishYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyParabolicDishYieldPanelRect||(U.viewState.dailyParabolicDishYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyParabolicDishYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyParabolicDishYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyParabolicDishYieldPanel=!1,e&&(L.actionInfo={name:"Close Parabolic Dish Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicDish);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyParabolicDishIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("parabolicDishYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyParabolicDishYieldPanel"})},children:h.jsx(IFo,{ref:f,style:{zIndex:d==="dailyParabolicDishYieldPanel"?xc:9},children:h.jsxs(zFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(DFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicDishYieldPanel.ParabolicDishDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicDishYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoParabolicDishForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyParabolicDishIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Parabolic Dishes: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForParabolicDishes=!0,E.pauseDailySimulationForParabolicDishes=!1,E.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoParabolicDishForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForParabolicDishes=!0,L.pauseDailySimulationForParabolicDishes=!1,L.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-parabolic-dish-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-parabolic-dish-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),kFo=Ho.div` +`,DFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(b8t),l=M(oYe),s=M(NAt),c=Sn(rYe),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyParabolicDishYieldPanelRect||(L.viewState.dailyParabolicDishYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyParabolicDishYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyParabolicDishYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyParabolicDishYieldPanelRect||(U.viewState.dailyParabolicDishYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyParabolicDishYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyParabolicDishYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyParabolicDishYieldPanel=!1,e&&(L.actionInfo={name:"Close Parabolic Dish Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.ParabolicDish);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyParabolicDishIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("parabolicDishYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyParabolicDishYieldPanel"})},children:h.jsx(MFo,{ref:f,style:{zIndex:d==="dailyParabolicDishYieldPanel"?xc:9},children:h.jsxs(IFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(zFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("parabolicDishYieldPanel.ParabolicDishDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("parabolicDishYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoParabolicDishForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyParabolicDishIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Parabolic Dishes: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForParabolicDishes=!0,E.pauseDailySimulationForParabolicDishes=!1,E.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoParabolicDishForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForParabolicDishes=!0,L.pauseDailySimulationForParabolicDishes=!1,L.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-parabolic-dish-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-parabolic-dish-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),EFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9161,7 +9161,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,FFo=Ho.div` +`,kFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9179,7 +9179,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,LFo=Ho.div` +`,FFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9190,7 +9190,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,WFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(C8t),l=M(aYe),s=Sn(lYe),c=M(Fg),u=M(YAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyParabolicDishYieldPanelRect||(F.viewState.yearlyParabolicDishYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyParabolicDishYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyParabolicDishYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyParabolicDishYieldPanelRect||(_.viewState.yearlyParabolicDishYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyParabolicDishYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyParabolicDishYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyParabolicDishYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Dish Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.ParabolicDish);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyParabolicDishIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("parabolicDishYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyParabolicDishYieldPanel"})},children:h.jsx(kFo,{ref:p,style:{zIndex:f==="yearlyParabolicDishYieldPanel"?xc:9},children:h.jsxs(FFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(LFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("parabolicDishYieldPanel.ParabolicDishYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("parabolicDishYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoParabolicDishForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyParabolicDishIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForParabolicDishes=!0,B.pauseYearlySimulationForParabolicDishes=!1,B.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoParabolicDishForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForParabolicDishes=!0,F.pauseYearlySimulationForParabolicDishes=!1,F.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-parabolic-dish-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-parabolic-dish-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),NFo=Ho.div` +`,LFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(T8t),l=M(iYe),s=Sn(rYe),c=M(Fg),u=M(BAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyParabolicDishYieldPanelRect||(F.viewState.yearlyParabolicDishYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyParabolicDishYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyParabolicDishYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyParabolicDishYieldPanelRect||(_.viewState.yearlyParabolicDishYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyParabolicDishYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyParabolicDishYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyParabolicDishYieldPanel=!1,e&&(F.actionInfo={name:"Close Parabolic Dish Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.ParabolicDish);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyParabolicDishIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("parabolicDishYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyParabolicDishYieldPanel"})},children:h.jsx(EFo,{ref:p,style:{zIndex:f==="yearlyParabolicDishYieldPanel"?xc:9},children:h.jsxs(kFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(FFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("parabolicDishYieldPanel.ParabolicDishYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyParabolicDishYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("parabolicDishYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("parabolicDishYieldPanel.ShowOutputsOfIndividualParabolicDishes",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoParabolicDishForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyParabolicDishIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForParabolicDishes=!0,B.pauseYearlySimulationForParabolicDishes=!1,B.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoParabolicDishForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Parabolic Dishes",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForParabolicDishes=!0,F.pauseYearlySimulationForParabolicDishes=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-parabolic-dish-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Parabolic Dish Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-parabolic-dish-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Parabolic Dish Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),WFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9199,7 +9199,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,UFo=Ho.div` +`,NFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9217,7 +9217,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,BFo=Ho.div` +`,UFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9228,7 +9228,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,jFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(K7t),l=M(qje),s=M(OAt),c=Sn(Qje),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyFresnelReflectorYieldPanelRect||(L.viewState.dailyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyFresnelReflectorYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyFresnelReflectorYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyFresnelReflectorYieldPanelRect||(U.viewState.dailyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyFresnelReflectorYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyFresnelReflectorYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyFresnelReflectorYieldPanel=!1,e&&(L.actionInfo={name:"Close Fresnel Reflector Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.FresnelReflector);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyFresnelReflectorIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("fresnelReflectorYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"})},children:h.jsx(NFo,{ref:f,style:{zIndex:d==="dailyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(UFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(BFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("fresnelReflectorYieldPanel.FresnelReflectorDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("fresnelReflectorYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoFresnelReflectorForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyFresnelReflectorIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForFresnelReflectors=!0,E.pauseDailySimulationForFresnelReflectors=!1,E.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoFresnelReflectorForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForFresnelReflectors=!0,L.pauseDailySimulationForFresnelReflectors=!1,L.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-fresnel-reflector-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-fresnel-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),YFo=Ho.div` +`,BFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(X7t),l=M(Jje),s=M(jAt),c=Sn(qje),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyFresnelReflectorYieldPanelRect||(L.viewState.dailyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyFresnelReflectorYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyFresnelReflectorYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyFresnelReflectorYieldPanelRect||(U.viewState.dailyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyFresnelReflectorYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyFresnelReflectorYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyFresnelReflectorYieldPanel=!1,e&&(L.actionInfo={name:"Close Fresnel Reflector Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.FresnelReflector);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyFresnelReflectorIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("fresnelReflectorYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"})},children:h.jsx(WFo,{ref:f,style:{zIndex:d==="dailyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(NFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(UFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("fresnelReflectorYieldPanel.FresnelReflectorDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("fresnelReflectorYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoFresnelReflectorForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyFresnelReflectorIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForFresnelReflectors=!0,E.pauseDailySimulationForFresnelReflectors=!1,E.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoFresnelReflectorForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForFresnelReflectors=!0,L.pauseDailySimulationForFresnelReflectors=!1,L.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-fresnel-reflector-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-fresnel-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),jFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9237,7 +9237,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,OFo=Ho.div` +`,YFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9255,7 +9255,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,_Fo=Ho.div` +`,OFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9266,7 +9266,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,VFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn($7t),l=M($je),s=Sn(Qje),c=M(Fg),u=M(VAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyFresnelReflectorYieldPanelRect||(F.viewState.yearlyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyFresnelReflectorYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyFresnelReflectorYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyFresnelReflectorYieldPanelRect||(_.viewState.yearlyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyFresnelReflectorYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyFresnelReflectorYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyFresnelReflectorYieldPanel=!1,e&&(F.actionInfo={name:"Close Fresnel Reflector Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.FresnelReflector);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyFresnelReflectorIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("fresnelReflectorYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"})},children:h.jsx(YFo,{ref:p,style:{zIndex:f==="yearlyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(OFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(_Fo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("fresnelReflectorYieldPanel.FresnelReflectorYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("fresnelReflectorYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoFresnelReflectorForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyFresnelReflectorIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForFresnelReflectors=!0,B.pauseYearlySimulationForFresnelReflectors=!1,B.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoFresnelReflectorForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForFresnelReflectors=!0,F.pauseYearlySimulationForFresnelReflectors=!1,F.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-fresnel-reflector-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-fresnel-reflector-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),GFo=Ho.div` +`,_Fo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(K7t),l=M(Kje),s=Sn(qje),c=M(Fg),u=M(OAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyFresnelReflectorYieldPanelRect||(F.viewState.yearlyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyFresnelReflectorYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyFresnelReflectorYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyFresnelReflectorYieldPanelRect||(_.viewState.yearlyFresnelReflectorYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyFresnelReflectorYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyFresnelReflectorYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyFresnelReflectorYieldPanel=!1,e&&(F.actionInfo={name:"Close Fresnel Reflector Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.FresnelReflector);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyFresnelReflectorIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("fresnelReflectorYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"})},children:h.jsx(jFo,{ref:p,style:{zIndex:f==="yearlyFresnelReflectorYieldPanel"?xc:9},children:h.jsxs(YFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(OFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("fresnelReflectorYieldPanel.FresnelReflectorYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyFresnelReflectorYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("fresnelReflectorYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("fresnelReflectorYieldPanel.ShowOutputsOfIndividualFresnelReflectors",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoFresnelReflectorForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyFresnelReflectorIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForFresnelReflectors=!0,B.pauseYearlySimulationForFresnelReflectors=!1,B.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoFresnelReflectorForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Fresnel Reflectors",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForFresnelReflectors=!0,F.pauseYearlySimulationForFresnelReflectors=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-fresnel-reflector-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Fresnel Reflector Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-fresnel-reflector-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Fresnel Reflector Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),VFo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9275,7 +9275,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,XFo=Ho.div` +`,GFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9293,7 +9293,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,JFo=Ho.div` +`,XFo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9304,7 +9304,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,KFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(i8t),l=M(Zje),s=M(GAt),c=Sn(tYe),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyHeliostatYieldPanelRect||(L.viewState.dailyHeliostatYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyHeliostatYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyHeliostatYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyHeliostatYieldPanelRect||(U.viewState.dailyHeliostatYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyHeliostatYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyHeliostatYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyHeliostatYieldPanel=!1,e&&(L.actionInfo={name:"Close Heliostat Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.Heliostat);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyHeliostatIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("heliostatYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyHeliostatYieldPanel"})},children:h.jsx(GFo,{ref:f,style:{zIndex:d==="dailyHeliostatYieldPanel"?xc:9},children:h.jsxs(XFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(JFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("heliostatYieldPanel.HeliostatDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("heliostatYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoHeliostatForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyHeliostatIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Heliostats: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForHeliostats=!0,E.pauseDailySimulationForHeliostats=!1,E.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoHeliostatForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForHeliostats=!0,L.pauseDailySimulationForHeliostats=!1,L.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-heliostat-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-heliostat-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),qFo=Ho.div` +`,JFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Fg),a=Sn(n8t),l=M($je),s=M(_At),c=Sn(Zje),u=ht(vf),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:s?s.width+40:640,w=p.current?p.current.clientHeight+100:s?s.height+100:500,[b,C]=m.useState({x:s?Math.max(s.x,A-window.innerWidth):0,y:s?Math.min(s.y,window.innerHeight-w):0}),[P,v]=m.useState(0),T=m.useRef(new Map),y=Kt();m.useEffect(()=>{let L=0;T.current.clear();for(const E of a)for(const U in E)Object.hasOwn(E,U)&&U!=="Hour"&&(L+=E[U],T.current.set(U,(T.current.get(U)??0)+E[U]));v(L)},[a]),m.useEffect(()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})},[s,A,w]),m.useEffect(()=>{const L=()=>{C({x:Math.max(s==null?void 0:s.x,A-window.innerWidth),y:Math.min(s==null?void 0:s.y,window.innerHeight-w)})};return window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}},[s,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{o(L=>{p.current&&(L.viewState.dailyHeliostatYieldPanelRect||(L.viewState.dailyHeliostatYieldPanelRect=new ai(0,0,600,400)),L.viewState.dailyHeliostatYieldPanelRect.width=p.current.offsetWidth,L.viewState.dailyHeliostatYieldPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var L;(L=g.current)==null||L.disconnect()}),[]);const S=(L,E)=>{C({x:Math.max(E.x,A-window.innerWidth),y:Math.min(E.y,window.innerHeight-w)})},x=(L,E)=>{o(U=>{U.viewState.dailyHeliostatYieldPanelRect||(U.viewState.dailyHeliostatYieldPanelRect=new ai(0,0,600,400)),U.viewState.dailyHeliostatYieldPanelRect.x=Math.max(E.x,A-window.innerWidth),U.viewState.dailyHeliostatYieldPanelRect.y=Math.min(E.y,window.innerHeight-w)})},R=()=>{o(L=>{L.viewState.showDailyHeliostatYieldPanel=!1,e&&(L.actionInfo={name:"Close Heliostat Daily Yield Graph",timestamp:new Date().getTime()})})},H=r(z.Heliostat);m.useEffect(()=>{H<2&&l&&o(L=>{L.graphState&&(L.graphState.dailyHeliostatIndividualOutputs=!1)})},[H,l]);const{t:D}=jl(),k=D("word.Hour",y),W=D("heliostatYieldPanel.YieldPerHour",y),N=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:S,onStop:x,onMouseDown:()=>{o(L=>{L.selectedFloatingWindow="dailyHeliostatYieldPanel"})},children:h.jsx(VFo,{ref:f,style:{zIndex:d==="dailyHeliostatYieldPanel"?xc:9},children:h.jsxs(GFo,{ref:p,style:{opacity:n,width:(s?s.width:600)+"px",height:(s?s.height:400)+"px"},children:[h.jsxs(XFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[D("heliostatYieldPanel.HeliostatDailyYield",y)+": ",h.jsx("span",{style:{fontSize:"10px"},children:D("sensorPanel.WeatherDataFrom",y)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{R()},onMouseDown:()=>{R()},children:D("word.Close",y)})]}),h.jsx(mf,{type:xr.DailyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a,labels:c,height:100,dataKeyAxisX:"Hour",labelX:k,labelY:W,unitY:D("word.kWh",y),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&H>1&&T.current.size>0?h.jsx(gl,{title:[...T.current.entries()].map((L,E)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:L[0]+": "}),h.jsx(it,{span:8,children:L[1].toFixed(3)})]}),E===T.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:D("word.Total",y)+": "+P.toFixed(3)+" "+D("word.kWh",y)})]})]},E)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:D("shared.OutputBreakdown",y)})}):h.jsxs(en,{style:{cursor:"default"},children:[D("heliostatYieldPanel.DailyTotal",y),":",P.toFixed(2)," ",D("word.kWh",y)]}),H>1&&h.jsx(wc,{title:D("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",y),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:L=>{if(H===0){hn(D("analysisManager.NoHeliostatForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(E=>{E.graphState&&(E.graphState.dailyHeliostatIndividualOutputs=L),e&&(E.actionInfo={name:"Run Daily Simulation For Heliostats: "+(L?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(E=>{E.runDailySimulationForHeliostats=!0,E.pauseDailySimulationForHeliostats=!1,E.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:N?h.jsx(vh,{}):h.jsx(xf,{}),title:D(N?"word.Run":"word.Update",y),onClick:()=>{if(H===0){hn(D("analysisManager.NoHeliostatForAnalysis",y));return}hn(D("message.SimulationStarted",y)),setTimeout(()=>{o(L=>{e&&(L.actionInfo={name:"Run Daily Simulation For Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(L=>{L.runDailySimulationForHeliostats=!0,L.pauseDailySimulationForHeliostats=!1,L.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:D("word.SaveAsImage",y),onClick:()=>{Md("line-graph-"+k+"-"+W,"daily-heliostat-yield").then(()=>{hn(D("message.ScreenshotSaved",y)),e&&o(L=>{L.actionInfo={name:"Take Screenshot of Daily Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:D("word.SaveAsCsv",y),onClick:()=>{wh(a,"daily-heliostat-yield.csv"),hn(D("message.CsvFileSaved",y)),e&&o(L=>{L.actionInfo={name:"Export Daily Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),KFo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9313,7 +9313,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,$Fo=Ho.div` +`,qFo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9331,7 +9331,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,QFo=Ho.div` +`,$Fo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9342,7 +9342,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,ZFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(a8t),l=M(eYe),s=Sn(tYe),c=M(Fg),u=M(JAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyHeliostatYieldPanelRect||(F.viewState.yearlyHeliostatYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyHeliostatYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyHeliostatYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyHeliostatYieldPanelRect||(_.viewState.yearlyHeliostatYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyHeliostatYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyHeliostatYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyHeliostatYieldPanel=!1,e&&(F.actionInfo={name:"Close Heliostat Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.Heliostat);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyHeliostatIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("heliostatYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyHeliostatYieldPanel"})},children:h.jsx(qFo,{ref:p,style:{zIndex:f==="yearlyHeliostatYieldPanel"?xc:9},children:h.jsxs($Fo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(QFo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("heliostatYieldPanel.HeliostatYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("heliostatYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoHeliostatForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyHeliostatIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Heliostats: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForHeliostats=!0,B.pauseYearlySimulationForHeliostats=!1,B.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoHeliostatForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForHeliostats=!0,F.pauseYearlySimulationForHeliostats=!1,F.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-heliostat-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-heliostat-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),eLo=be.memo(({dataSource:t,height:e,dataKeyAxisX:n,labelX:o,labelY1:i,labelY2:r,unitX:a,unitY1:l,unitY2:s,yMin1:c="auto",yMax1:u="auto",yMin2:d="auto",yMax2:f="auto",curveType:p="linear",referenceX:g,fractionDigits:A=2,symbolCount:w=12})=>{const[b,C]=m.useState(0),[P,v]=m.useState(null),T=!0,y=!0,S=2,x=1;m.useEffect(()=>{if(!t||t.length===0)return;let W=Array.isArray(t)?Object.keys(t[0]).length-1:Object.keys(t).length-1;W--,b!==W/2&&C(W/2)},[t]);const R=m.useMemo(()=>{const W=[];let N;W.push(h.jsx(Sg,{yAxisId:"left",type:p,name:"T_Ambient",dataKey:"T_Ambient",stroke:Z1[0],strokeDasharray:"5 5",opacity:.5,strokeWidth:S,dot:!1,isAnimationActive:!1},"ambient-temperature"));for(let L=0;L0?F||N:!1,isAnimationActive:!1},"left-"+L)),E="V_Tower"+(L+1),U=P===null||P===E?1:.25,F=Hx(Mx[2*L+1],x,t.length,w,U),W.push(h.jsx(Sg,{yAxisId:"right",type:p,name:E,dataKey:E,stroke:Z1[2*L+1],opacity:U,strokeWidth:S,dot:w>0?F||N:!1,isAnimationActive:!1},"right-"+L))}return W},[p,b,S,w,x,P]),H=()=>{},D=W=>{v(W.dataKey)},k=()=>{v(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+o+"-"+i+"-"+r,style:{width:"100%",height:`${e}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(k3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:W=>W.toFixed(A)}),h.jsx(A7,{vertical:y,horizontal:T,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:n??o,fontSize:"10px",children:h.jsx(Zl,{value:o+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[c,u],yAxisId:"left",fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:i+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[d,f],yAxisId:"right",orientation:"right",fontSize:"10px",children:h.jsx(Zl,{dx:15,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),R,b>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:k,onMouseEnter:D})]})})})})})}),tLo=Ho.div` +`,QFo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(qL)??6,r=new Date(M(Ya)),a=Sn(i8t),l=M(Qje),s=Sn(Zje),c=M(Fg),u=M(GAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyHeliostatYieldPanelRect||(F.viewState.yearlyHeliostatYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyHeliostatYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyHeliostatYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyHeliostatYieldPanelRect||(_.viewState.yearlyHeliostatYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyHeliostatYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyHeliostatYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyHeliostatYieldPanel=!1,e&&(F.actionInfo={name:"Close Heliostat Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(z.Heliostat);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyHeliostatIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("heliostatYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlyHeliostatYieldPanel"})},children:h.jsx(KFo,{ref:p,style:{zIndex:f==="yearlyHeliostatYieldPanel"?xc:9},children:h.jsxs(qFo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs($Fo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("heliostatYieldPanel.HeliostatYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyHeliostatYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[l&&k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("heliostatYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),k>1&&h.jsx(wc,{title:W("heliostatYieldPanel.ShowOutputsOfIndividualHeliostats",x),checkedChildren:h.jsx(du,{}),unCheckedChildren:h.jsx(du,{}),checked:l,onChange:F=>{if(k===0){hn(W("analysisManager.NoHeliostatForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(B=>{B.graphState&&(B.graphState.yearlyHeliostatIndividualOutputs=F),e&&(B.actionInfo={name:"Run Yearly Simulation For Heliostats: "+(F?"Individual":"Total"),timestamp:new Date().getTime()})}),ht.getState().set(B=>{B.runYearlySimulationForHeliostats=!0,B.pauseYearlySimulationForHeliostats=!1,B.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoHeliostatForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Heliostats",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runYearlySimulationForHeliostats=!0,F.pauseYearlySimulationForHeliostats=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-heliostat-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Heliostat Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-heliostat-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Heliostat Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),ZFo=be.memo(({dataSource:t,height:e,dataKeyAxisX:n,labelX:o,labelY1:i,labelY2:r,unitX:a,unitY1:l,unitY2:s,yMin1:c="auto",yMax1:u="auto",yMin2:d="auto",yMax2:f="auto",curveType:p="linear",referenceX:g,fractionDigits:A=2,symbolCount:w=12})=>{const[b,C]=m.useState(0),[P,v]=m.useState(null),T=!0,y=!0,S=2,x=1;m.useEffect(()=>{if(!t||t.length===0)return;let W=Array.isArray(t)?Object.keys(t[0]).length-1:Object.keys(t).length-1;W--,b!==W/2&&C(W/2)},[t]);const R=m.useMemo(()=>{const W=[];let N;W.push(h.jsx(Sg,{yAxisId:"left",type:p,name:"T_Ambient",dataKey:"T_Ambient",stroke:Z1[0],strokeDasharray:"5 5",opacity:.5,strokeWidth:S,dot:!1,isAnimationActive:!1},"ambient-temperature"));for(let L=0;L0?F||N:!1,isAnimationActive:!1},"left-"+L)),E="V_Tower"+(L+1),U=P===null||P===E?1:.25,F=Hx(Mx[2*L+1],x,t.length,w,U),W.push(h.jsx(Sg,{yAxisId:"right",type:p,name:E,dataKey:E,stroke:Z1[2*L+1],opacity:U,strokeWidth:S,dot:w>0?F||N:!1,isAnimationActive:!1},"right-"+L))}return W},[p,b,S,w,x,P]),H=()=>{},D=W=>{v(W.dataKey)},k=()=>{v(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+o+"-"+i+"-"+r,style:{width:"100%",height:`${e}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(k3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:W=>W.toFixed(A)}),h.jsx(A7,{vertical:y,horizontal:T,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:g,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:n??o,fontSize:"10px",children:h.jsx(Zl,{value:o+(a?" ("+a+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[c,u],yAxisId:"left",fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:i+(l?" ("+l+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[d,f],yAxisId:"right",orientation:"right",fontSize:"10px",children:h.jsx(Zl,{dx:15,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),R,b>1&&h.jsx(j2,{iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:k,onMouseEnter:D})]})})})})})}),eLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9351,7 +9351,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,nLo=Ho.div` +`,tLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9369,7 +9369,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,oLo=Ho.div` +`,nLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9380,7 +9380,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,iLo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(zje),a=Sn(f8t),l=Sn(d8t),s=M(h8t),c=M(KAt),u=Sn(iYe),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:c?c.width+40:680,b=g.current?g.current.clientHeight+100:c?c.height+100:650,[C,P]=m.useState({x:c?Math.max(c.x,w-window.innerWidth):0,y:c?Math.min(c.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Hour"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(c==null?void 0:c.x,w-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-b)})},[c,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(c==null?void 0:c.x,w-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[c,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.dailyUpdraftTowerYieldPanelRect||(F.viewState.dailyUpdraftTowerYieldPanelRect=new ai(0,0,640,550)),F.viewState.dailyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,F.viewState.dailyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const x=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},R=(F,B)=>{o(_=>{_.viewState.dailyUpdraftTowerYieldPanelRect||(_.viewState.dailyUpdraftTowerYieldPanelRect=new ai(0,0,640,550)),_.viewState.dailyUpdraftTowerYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.dailyUpdraftTowerYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},H=()=>{o(F=>{F.viewState.showDailyUpdraftTowerYieldPanel=!1,e&&(F.actionInfo={name:"Close Solar Updraft Tower Daily Yield Graph",timestamp:new Date().getTime()})})},D=r(zn.UpdraftTower);m.useEffect(()=>{D<2&&s&&o(F=>{F.graphState&&(F.graphState.dailyUpdraftTowerIndividualOutputs=!1)})},[D,s]);const{t:k}=jl(),W=k("word.Hour",S),N=k("updraftTowerYieldPanel.YieldPerHour",S),L=k("updraftTowerYieldPanel.ChimneyAirTemperature",S),E=k("updraftTowerYieldPanel.ChimneyWindSpeed",S),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:x,onStop:R,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"})},children:h.jsx(tLo,{ref:p,style:{zIndex:f==="dailySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(nLo,{ref:g,style:{opacity:n,width:(c?c.width:640)+"px",height:(c?c.height:550)+"px"},children:[h.jsxs(oLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[k("updraftTowerYieldPanel.UpdraftTowerDailyYield",S)+": ",h.jsx("span",{style:{fontSize:"10px"},children:k("sensorPanel.WeatherDataFrom",S)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:k("word.Close",S)})]}),h.jsx(mf,{type:xr.DailyUpdraftTowerYield,chartType:s?Pl.Line:Pl.Area,dataSource:a,labels:u,height:100,dataKeyAxisX:"Hour",labelX:W,labelY:N,unitY:k("word.kWh",S),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsx(eLo,{dataSource:l,height:100,dataKeyAxisX:"Hour",labelX:W,labelY1:L,labelY2:E,unitY1:"°C",unitY2:k("word.MeterPerSecond",S),yMin1:0,yMin2:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[D>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:F[1].toFixed(3)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:k("word.Total",S)+": "+v.toFixed(3)+" "+k("word.kWh",S)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:k("shared.OutputBreakdown",S)})}):h.jsxs(en,{style:{cursor:"default"},children:[k("updraftTowerYieldPanel.DailyTotal",S),":",v.toFixed(2)," ",k("word.kWh",S)]}),h.jsx(oo,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:k(U?"word.Run":"word.Update",S),onClick:()=>{if(D===0){hn(k("analysisManager.NoSolarUpdraftTowerForAnalysis",S));return}hn(k("message.SimulationStarted",S)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runDailySimulationForUpdraftTower=!0,F.pauseDailySimulationForUpdraftTower=!1,F.simulationInProgress=!0})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:k("word.SaveAsImage",S),onClick:()=>{Md("line-graph-"+W+"-"+N,"daily-updraft-tower-yield").then(()=>{hn(k("message.ScreenshotSaved",S)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:k("word.SaveAsCsv",S),onClick:()=>{wh(a,"daily-updraft-tower-yield.csv"),hn(k("message.CsvFileSaved",S)),e&&o(F=>{F.actionInfo={name:"Export Daily Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),rLo=Ho.div` +`,oLo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=new Date(M(Ya)),r=M(Mje),a=Sn(u8t),l=Sn(c8t),s=M(d8t),c=M(XAt),u=Sn(nYe),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:c?c.width+40:680,b=g.current?g.current.clientHeight+100:c?c.height+100:650,[C,P]=m.useState({x:c?Math.max(c.x,w-window.innerWidth):0,y:c?Math.min(c.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Hour"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(c==null?void 0:c.x,w-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-b)})},[c,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(c==null?void 0:c.x,w-window.innerWidth),y:Math.min(c==null?void 0:c.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[c,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.dailyUpdraftTowerYieldPanelRect||(F.viewState.dailyUpdraftTowerYieldPanelRect=new ai(0,0,640,550)),F.viewState.dailyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,F.viewState.dailyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const x=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},R=(F,B)=>{o(_=>{_.viewState.dailyUpdraftTowerYieldPanelRect||(_.viewState.dailyUpdraftTowerYieldPanelRect=new ai(0,0,640,550)),_.viewState.dailyUpdraftTowerYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.dailyUpdraftTowerYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},H=()=>{o(F=>{F.viewState.showDailyUpdraftTowerYieldPanel=!1,e&&(F.actionInfo={name:"Close Solar Updraft Tower Daily Yield Graph",timestamp:new Date().getTime()})})},D=r(zn.UpdraftTower);m.useEffect(()=>{D<2&&s&&o(F=>{F.graphState&&(F.graphState.dailyUpdraftTowerIndividualOutputs=!1)})},[D,s]);const{t:k}=jl(),W=k("word.Hour",S),N=k("updraftTowerYieldPanel.YieldPerHour",S),L=k("updraftTowerYieldPanel.ChimneyAirTemperature",S),E=k("updraftTowerYieldPanel.ChimneyWindSpeed",S),U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:x,onStop:R,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"})},children:h.jsx(eLo,{ref:p,style:{zIndex:f==="dailySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(tLo,{ref:g,style:{opacity:n,width:(c?c.width:640)+"px",height:(c?c.height:550)+"px"},children:[h.jsxs(nLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[k("updraftTowerYieldPanel.UpdraftTowerDailyYield",S)+": ",h.jsx("span",{style:{fontSize:"10px"},children:k("sensorPanel.WeatherDataFrom",S)+" "+t+" | "+gi(i).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:k("word.Close",S)})]}),h.jsx(mf,{type:xr.DailyUpdraftTowerYield,chartType:s?Pl.Line:Pl.Area,dataSource:a,labels:u,height:100,dataKeyAxisX:"Hour",labelX:W,labelY:N,unitY:k("word.kWh",S),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),h.jsx(ZFo,{dataSource:l,height:100,dataKeyAxisX:"Hour",labelX:W,labelY1:L,labelY2:E,unitY1:"°C",unitY2:k("word.MeterPerSecond",S),yMin1:0,yMin2:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:i.getHours()}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[D>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:F[1].toFixed(3)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:k("word.Total",S)+": "+v.toFixed(3)+" "+k("word.kWh",S)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:k("shared.OutputBreakdown",S)})}):h.jsxs(en,{style:{cursor:"default"},children:[k("updraftTowerYieldPanel.DailyTotal",S),":",v.toFixed(2)," ",k("word.kWh",S)]}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:k(U?"word.Run":"word.Update",S),onClick:()=>{if(D===0){hn(k("analysisManager.NoSolarUpdraftTowerForAnalysis",S));return}hn(k("message.SimulationStarted",S)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Daily Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.runDailySimulationForUpdraftTower=!0,F.pauseDailySimulationForUpdraftTower=!1,F.simulationInProgress=!0})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:k("word.SaveAsImage",S),onClick:()=>{Md("line-graph-"+W+"-"+N,"daily-updraft-tower-yield").then(()=>{hn(k("message.ScreenshotSaved",S)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Daily Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:k("word.SaveAsCsv",S),onClick:()=>{wh(a,"daily-updraft-tower-yield.csv"),hn(k("message.CsvFileSaved",S)),e&&o(F=>{F.actionInfo={name:"Export Daily Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),iLo=Ho.div` position: fixed; top: 80px; left: 10px; @@ -9389,7 +9389,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 10; -`,aLo=Ho.div` +`,rLo=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -9406,7 +9406,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-x: auto; overflow-y: auto; resize: both; -`,lLo=Ho.div` +`,aLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9417,7 +9417,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,sLo=be.memo(({city:t})=>{const e=M(En),n=M(pu)??m0,o=M(dn),i=M(Ya),r=M(Xs),a=M(e4t),l=M(NBe)??d2.Sinusoidal,s=M(KL)??900,c=M(xAt),u=M(bc),d=be.useRef(null),f=m.useRef(null),p=m.useRef(),g=f.current?f.current.clientWidth+40:c?c.width+40:640,A=f.current?f.current.clientHeight+100:c?c.height+100:500,[w,b]=m.useState({x:c?Math.min(c.x,window.innerWidth-g):0,y:c?Math.min(c.y,window.innerHeight-A):0}),[C,P]=m.useState(l),v=new Date(i),T=Kt(),y=l1(t);m.useEffect(()=>{b({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-A)})},[c,g,A]),m.useEffect(()=>{const k=()=>{b({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-A)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[c,g,A]),m.useEffect(()=>(f.current&&(p.current||(p.current=new ResizeObserver(()=>{o(k=>{f.current&&(k.viewState.diurnalTemperaturePanelRect||(k.viewState.diurnalTemperaturePanelRect=new ai(0,0,600,400)),k.viewState.diurnalTemperaturePanelRect.width=f.current.offsetWidth,k.viewState.diurnalTemperaturePanelRect.height=f.current.offsetHeight)})})),p.current.observe(f.current)),()=>{var k;(k=p.current)==null||k.disconnect()}),[]);const S=m.useMemo(()=>{const k=[];if(y){const W=sl(v,r);for(let N=0;N<24;N++){v.setHours(N);const L=Jx(v,y.lowestTemperatures,y.highestTemperatures),E=xe.minutesIntoDay(v);k.push({Hour:N,Sinusoidal:Xx(L.high,L.low,d2.Sinusoidal,s,W,E),PartonLogan:Xx(L.high,L.low,d2.PartonLogan,s,W,E),Ground:tQe(r,xe.dayOfYear(v),E,y.lowestTemperatures,y.highestTemperatures,s,.5*(L.high-L.low),a.thermalDiffusivity??.05,QNe)})}}return k},[y,s,i,r,a.thermalDiffusivity]),x=(k,W)=>{b({x:Math.min(W.x,window.innerWidth-g),y:Math.min(W.y,window.innerHeight-A)})},R=(k,W)=>{o(N=>{N.viewState.diurnalTemperaturePanelRect||(N.viewState.diurnalTemperaturePanelRect=new ai(0,0,600,400)),N.viewState.diurnalTemperaturePanelRect.x=Math.min(W.x,window.innerWidth-g),N.viewState.diurnalTemperaturePanelRect.y=Math.min(W.y,window.innerHeight-A)})},H=()=>{const k={name:"Close Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{o(W=>{W.viewState.showDiurnalTemperaturePanel=!0})},redo:()=>{o(W=>{W.viewState.showDiurnalTemperaturePanel=!1})}};e(k),o(W=>{W.viewState.showDiurnalTemperaturePanel=!1})},D=k=>{const W=C,N=k.target.value,L={name:"Change Diurnal Temperature Model",timestamp:Date.now(),oldValue:W,newValue:N,undo:()=>{P(L.oldValue),o(E=>{E.world.diurnalTemperatureModel=L.oldValue})},redo:()=>{P(L.newValue),o(E=>{E.world.diurnalTemperatureModel=L.newValue})}};e(L),P(N),o(E=>{E.world.diurnalTemperatureModel=N})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:w,onDrag:x,onStop:R,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="diurnalTemperaturePanel"})},children:h.jsx(rLo,{ref:d,style:{zIndex:u==="diurnalTemperaturePanel"?xc:10},children:h.jsxs(aLo,{ref:f,style:{opacity:n,width:(c?c.width:600)+"px",height:(c?c.height:400)+"px"},children:[h.jsxs(lLo,{className:"handle",children:[h.jsx("span",{children:j.t("menu.settings.DiurnalTemperature",T)+": "+t+" | "+gc(v).format("MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:j.t("word.Close",T)})]}),h.jsx(mf,{chartType:Pl.Line,type:xr.HourlyTemperatures,selectedIndex:C-d2.Sinusoidal,dataSource:S,height:100,dataKeyAxisX:"Hour",labelX:j.t("word.Hour",T),labelY:j.t("word.Temperature",T),unitY:"°C",fractionDigits:1,referenceX:v.getHours()}),h.jsxs(en,{style:{alignSelf:"center"},children:[h.jsx(en,{children:j.t("diurnalTemperaturePanel.SelectAirTemperatureModel",T)}),h.jsxs(Be.Group,{onChange:D,value:C,style:{display:"flex"},children:[h.jsx(Be,{style:{width:"auto"},value:d2.Sinusoidal,children:j.t("diurnalTemperaturePanel.Sinusoidal",T)}),h.jsx(Be,{style:{width:"auto"},value:d2.PartonLogan,children:"Parton-Logan"})]})]})]})})})}),cLo=Ho.div` +`,lLo=be.memo(({city:t})=>{const e=M(En),n=M(pu)??m0,o=M(dn),i=M(Ya),r=M(Xs),a=M(QAt),l=M(LBe)??d2.Sinusoidal,s=M(KL)??900,c=M(wAt),u=M(bc),d=be.useRef(null),f=m.useRef(null),p=m.useRef(),g=f.current?f.current.clientWidth+40:c?c.width+40:640,A=f.current?f.current.clientHeight+100:c?c.height+100:500,[w,b]=m.useState({x:c?Math.min(c.x,window.innerWidth-g):0,y:c?Math.min(c.y,window.innerHeight-A):0}),[C,P]=m.useState(l),v=new Date(i),T=Kt(),y=l1(t);m.useEffect(()=>{b({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-A)})},[c,g,A]),m.useEffect(()=>{const k=()=>{b({x:Math.min(c==null?void 0:c.x,window.innerWidth-g),y:Math.min(c==null?void 0:c.y,window.innerHeight-A)})};return window.addEventListener("resize",k),()=>{window.removeEventListener("resize",k)}},[c,g,A]),m.useEffect(()=>(f.current&&(p.current||(p.current=new ResizeObserver(()=>{o(k=>{f.current&&(k.viewState.diurnalTemperaturePanelRect||(k.viewState.diurnalTemperaturePanelRect=new ai(0,0,600,400)),k.viewState.diurnalTemperaturePanelRect.width=f.current.offsetWidth,k.viewState.diurnalTemperaturePanelRect.height=f.current.offsetHeight)})})),p.current.observe(f.current)),()=>{var k;(k=p.current)==null||k.disconnect()}),[]);const S=m.useMemo(()=>{const k=[];if(y){const W=sl(v,r);for(let N=0;N<24;N++){v.setHours(N);const L=Jx(v,y.lowestTemperatures,y.highestTemperatures),E=xe.minutesIntoDay(v);k.push({Hour:N,Sinusoidal:Xx(L.high,L.low,d2.Sinusoidal,s,W,E),PartonLogan:Xx(L.high,L.low,d2.PartonLogan,s,W,E),Ground:Z$e(r,xe.dayOfYear(v),E,y.lowestTemperatures,y.highestTemperatures,s,.5*(L.high-L.low),a.thermalDiffusivity??.05,qNe)})}}return k},[y,s,i,r,a.thermalDiffusivity]),x=(k,W)=>{b({x:Math.min(W.x,window.innerWidth-g),y:Math.min(W.y,window.innerHeight-A)})},R=(k,W)=>{o(N=>{N.viewState.diurnalTemperaturePanelRect||(N.viewState.diurnalTemperaturePanelRect=new ai(0,0,600,400)),N.viewState.diurnalTemperaturePanelRect.x=Math.min(W.x,window.innerWidth-g),N.viewState.diurnalTemperaturePanelRect.y=Math.min(W.y,window.innerHeight-A)})},H=()=>{const k={name:"Close Diurnal Temperature Panel",timestamp:Date.now(),undo:()=>{o(W=>{W.viewState.showDiurnalTemperaturePanel=!0})},redo:()=>{o(W=>{W.viewState.showDiurnalTemperaturePanel=!1})}};e(k),o(W=>{W.viewState.showDiurnalTemperaturePanel=!1})},D=k=>{const W=C,N=k.target.value,L={name:"Change Diurnal Temperature Model",timestamp:Date.now(),oldValue:W,newValue:N,undo:()=>{P(L.oldValue),o(E=>{E.world.diurnalTemperatureModel=L.oldValue})},redo:()=>{P(L.newValue),o(E=>{E.world.diurnalTemperatureModel=L.newValue})}};e(L),P(N),o(E=>{E.world.diurnalTemperatureModel=N})};return h.jsx(Vr,{nodeRef:d,handle:".handle",bounds:"parent",axis:"both",position:w,onDrag:x,onStop:R,onMouseDown:()=>{o(k=>{k.selectedFloatingWindow="diurnalTemperaturePanel"})},children:h.jsx(iLo,{ref:d,style:{zIndex:u==="diurnalTemperaturePanel"?xc:10},children:h.jsxs(rLo,{ref:f,style:{opacity:n,width:(c?c.width:600)+"px",height:(c?c.height:400)+"px"},children:[h.jsxs(aLo,{className:"handle",children:[h.jsx("span",{children:j.t("menu.settings.DiurnalTemperature",T)+": "+t+" | "+gc(v).format("MM/DD")}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{H()},onMouseDown:()=>{H()},children:j.t("word.Close",T)})]}),h.jsx(mf,{chartType:Pl.Line,type:xr.HourlyTemperatures,selectedIndex:C-d2.Sinusoidal,dataSource:S,height:100,dataKeyAxisX:"Hour",labelX:j.t("word.Hour",T),labelY:j.t("word.Temperature",T),unitY:"°C",fractionDigits:1,referenceX:v.getHours()}),h.jsxs(en,{style:{alignSelf:"center"},children:[h.jsx(en,{children:j.t("diurnalTemperaturePanel.SelectAirTemperatureModel",T)}),h.jsxs(Be.Group,{onChange:D,value:C,style:{display:"flex"},children:[h.jsx(Be,{style:{width:"auto"},value:d2.Sinusoidal,children:j.t("diurnalTemperaturePanel.Sinusoidal",T)}),h.jsx(Be,{style:{width:"auto"},value:d2.PartonLogan,children:"Parton-Logan"})]})]})]})})})}),sLo=Ho.div` position: fixed; top: 85px; right: 36px; @@ -9426,7 +9426,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,uLo=Ho.div` +`,cLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9444,7 +9444,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,dLo=Ho.div` +`,uLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9455,7 +9455,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,fLo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(UBe)??6,r=new Date(M(Ya)),a=Sn(m8t),l=M(y8t),s=Sn(iYe),c=M(zje),u=M($At),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyUpdraftTowerYieldPanelRect||(F.viewState.yearlyUpdraftTowerYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyUpdraftTowerYieldPanelRect||(_.viewState.yearlyUpdraftTowerYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyUpdraftTowerYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyUpdraftTowerYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyUpdraftTowerYieldPanel=!1,e&&(F.actionInfo={name:"Close Solar Updraft Tower Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(zn.UpdraftTower);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyUpdraftTowerIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("updraftTowerYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"})},children:h.jsx(cLo,{ref:p,style:{zIndex:f==="yearlySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(uLo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(dLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("updraftTowerYieldPanel.UpdraftTowerYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyUpdraftTowerYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("updraftTowerYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),h.jsx(oo,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoSolarUpdraftTowerForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.simulationInProgress=!0,F.runYearlySimulationForUpdraftTower=!0,F.pauseYearlySimulationForUpdraftTower=!1})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-updraft-tower-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-updraft-tower-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),hLo=({dataSource:t,labels:e,height:n,dataKeyAxisX:o,labelX:i,labelY1:r,labelY2:a,unitX:l,unitY1:s,unitY2:c,yMin1:u="auto",yMax1:d="auto",yMin2:f="auto",yMax2:p="auto",curveType:g="linear",referenceX:A,fractionDigits:w=2})=>{const b=M(kq),[C,P]=m.useState(null),v=!0,T=!0,y=2,S=1,x=m.useRef([]),R=m.useMemo(()=>{if(!t||t.length===0)return[];const W=Object.keys(t[0]).length-1,N=t[1]?Object.keys(t[1]).length-1:W,L=t.length,E=[],U=W-1,F=(N-W)/U;let B;x.current.length=0;for(let _=0;_0?J||B:!1,isAnimationActive:!1},"left-"+_)),x.current.push({id:Y,type:"line",value:Y,color:Z1[_]})}else if(_===U){const Y="Objective",O=C===null||C===Y?1:.25,J=Hx(Mx[_],S,t.length,L,O);E.push(h.jsx(Sg,{yAxisId:"right",type:g,name:Y,dataKey:Y,stroke:Z1[_],opacity:O,strokeWidth:y,dot:L>0?J||B:!1,isAnimationActive:!1},"right")),x.current.push({id:Y,type:"line",value:Y,color:Z1[U]})}else{const Y=Math.floor((_-W)/F),O="Individual"+(_+1),J=.5,Z=Hx(Mx[Y],S*.5,t.length,L,J,Z1[Y]);E.push(h.jsx(Sg,{yAxisId:"left",type:g,name:O,dataKey:O,opacity:J,stroke:Z1[Y],strokeWidth:0,dot:Z||B,isAnimationActive:!1},"left-"+_))}return E},[t,g,y,S,C]),H=()=>{},D=W=>{P(W.id)},k=()=>{P(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+i+"-"+r+"-"+a,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(k3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:W=>W.toFixed(w),content:({active:W,payload:N})=>!W||!N?null:N.map(L=>{var E;if(!((E=L.name)!=null&&E.toString().startsWith("Individual"))){let U;return L.name==="Tilt Angle"?U=xe.toDegrees(L.value*(b.maximumTiltAngle-b.minimumTiltAngle)+b.minimumTiltAngle).toFixed(w)+"°":L.name==="Inter-Row Spacing"?U=(L.value*(b.maximumInterRowSpacing-b.minimumInterRowSpacing)+b.minimumInterRowSpacing).toFixed(w)+"m":L.name==="Rack Width"?U=Math.floor(L.value*(b.maximumRowsPerRack-b.minimumRowsPerRack)+b.minimumRowsPerRack)+" panels":L.name==="Objective"?U=L.value.toFixed(w)+" "+c:U=L.value.toFixed(w),h.jsxs("div",{children:[L.name,": ",U]},L.name)}return null})}),h.jsx(A7,{vertical:T,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:A,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:o??i,style:{fontSize:"10px"},children:h.jsx(Zl,{value:i+(l?" ("+l+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],yAxisId:"left",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:-20,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[f,p],yAxisId:"right",orientation:"right",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:30,value:a+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),R,h.jsx(j2,{payload:x.current,iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:k,onMouseEnter:D})]})})})})})},pLo=Ho.div` +`,dLo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(WBe)??6,r=new Date(M(Ya)),a=Sn(p8t),l=M(g8t),s=Sn(nYe),c=M(Mje),u=M(KAt),d=ht(vf),f=M(bc),p=be.useRef(null),g=m.useRef(null),A=m.useRef(),w=g.current?g.current.clientWidth+40:u?u.width+40:640,b=g.current?g.current.clientHeight+100:u?u.height+100:500,[C,P]=m.useState({x:u?Math.max(u.x,w-window.innerWidth):0,y:u?Math.min(u.y,window.innerHeight-b):0}),[v,T]=m.useState(0),y=m.useRef(new Map),S=Ps[r.getMonth()],x=Kt();m.useEffect(()=>{let F=0;y.current.clear();for(const B of a)for(const _ in B)Object.hasOwn(B,_)&&_!=="Month"&&(F+=B[_],y.current.set(_,(y.current.get(_)??0)+B[_]));T(F)},[a]),m.useEffect(()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})},[u,w,b]),m.useEffect(()=>{const F=()=>{P({x:Math.max(u==null?void 0:u.x,w-window.innerWidth),y:Math.min(u==null?void 0:u.y,window.innerHeight-b)})};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[u,w,b]),m.useEffect(()=>(g.current&&(A.current||(A.current=new ResizeObserver(()=>{o(F=>{g.current&&(F.viewState.yearlyUpdraftTowerYieldPanelRect||(F.viewState.yearlyUpdraftTowerYieldPanelRect=new ai(0,0,600,400)),F.viewState.yearlyUpdraftTowerYieldPanelRect.width=g.current.offsetWidth,F.viewState.yearlyUpdraftTowerYieldPanelRect.height=g.current.offsetHeight)})})),A.current.observe(g.current)),()=>{var F;(F=A.current)==null||F.disconnect()}),[]);const R=(F,B)=>{P({x:Math.max(B.x,w-window.innerWidth),y:Math.min(B.y,window.innerHeight-b)})},H=(F,B)=>{o(_=>{_.viewState.yearlyUpdraftTowerYieldPanelRect||(_.viewState.yearlyUpdraftTowerYieldPanelRect=new ai(0,0,600,400)),_.viewState.yearlyUpdraftTowerYieldPanelRect.x=Math.max(B.x,w-window.innerWidth),_.viewState.yearlyUpdraftTowerYieldPanelRect.y=Math.min(B.y,window.innerHeight-b)})},D=()=>{o(F=>{F.viewState.showYearlyUpdraftTowerYieldPanel=!1,e&&(F.actionInfo={name:"Close Solar Updraft Tower Yearly Yield Graph",timestamp:new Date().getTime()})})},k=c(zn.UpdraftTower);m.useEffect(()=>{k<2&&l&&o(F=>{F.graphState&&(F.graphState.yearlyUpdraftTowerIndividualOutputs=!1)})},[k,l]);const{t:W}=jl(),N=W("word.Month",x),L=W("updraftTowerYieldPanel.Yield",x),E=12/i,U=a&&a[0]?Object.keys(a[0]).length===0:!0;return h.jsx(Vr,{nodeRef:p,handle:".handle",bounds:"parent",axis:"both",position:C,onDrag:R,onStop:H,onMouseDown:()=>{o(F=>{F.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"})},children:h.jsx(sLo,{ref:p,style:{zIndex:f==="yearlySolarUpdraftTowerYieldPanel"?xc:9},children:h.jsxs(cLo,{ref:g,style:{opacity:n,width:(u?u.width:600)+"px",height:(u?u.height:400)+"px"},children:[h.jsxs(uLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[W("updraftTowerYieldPanel.UpdraftTowerYearlyYield",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:W("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+r.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{D()},onMouseDown:()=>{D()},children:W("word.Close",x)})]}),h.jsx(mf,{type:xr.YearlyUpdraftTowerYield,chartType:l?Pl.Line:Pl.Area,dataSource:a.map(({Daylight:F,Clearness:B,..._})=>_),labels:s,height:100,dataKeyAxisX:"Month",labelX:N,labelY:L,unitY:W("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:S}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[k>1&&y.current.size>0?h.jsx(gl,{title:[...y.current.entries()].map((F,B)=>h.jsxs(be.Fragment,{children:[h.jsxs(nn,{style:{textAlign:"right"},children:[h.jsx(it,{span:16,style:{textAlign:"right",paddingRight:"8px"},children:F[0]+": "}),h.jsx(it,{span:8,children:(F[1]*E).toFixed(2)})]}),B===y.current.size-1&&h.jsxs(h.Fragment,{children:[h.jsx("hr",{}),h.jsx("div",{style:{textAlign:"right"},children:W("word.Total",x)+": "+(v*E).toFixed(2)+" "+W("word.kWh",x)})]})]},B)),children:h.jsx(en,{style:{cursor:"pointer",border:"2px solid #ccc",padding:"4px"},children:W("shared.OutputBreakdown",x)})}):h.jsxs(en,{children:[W("updraftTowerYieldPanel.YearlyTotal",x),":",(v*E).toFixed(2)," ",W("word.kWh",x)]}),h.jsx(no,{type:"default",icon:U?h.jsx(vh,{}):h.jsx(xf,{}),title:W(U?"word.Run":"word.Update",x),onClick:()=>{if(k===0){hn(W("analysisManager.NoSolarUpdraftTowerForAnalysis",x));return}hn(W("message.SimulationStarted",x)),setTimeout(()=>{o(F=>{e&&(F.actionInfo={name:"Run Yearly Simulation For Solar Updraft Tower",timestamp:new Date().getTime()})}),ht.getState().set(F=>{F.simulationInProgress=!0,F.runYearlySimulationForUpdraftTower=!0,F.pauseYearlySimulationForUpdraftTower=!1})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:W("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+N+"-"+L,"yearly-updraft-tower-yield").then(()=>{hn(W("message.ScreenshotSaved",x)),e&&o(F=>{F.actionInfo={name:"Take Screenshot of Yearly Updraft Tower Yield Graph",timestamp:new Date().getTime()}})})}}),a&&a.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:W("word.SaveAsCsv",x),onClick:()=>{wh(a,"yearly-updraft-tower-yield.csv"),hn(W("message.CsvFileSaved",x)),e&&o(F=>{F.actionInfo={name:"Export Yearly Updraft Tower Yield Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),fLo=({dataSource:t,labels:e,height:n,dataKeyAxisX:o,labelX:i,labelY1:r,labelY2:a,unitX:l,unitY1:s,unitY2:c,yMin1:u="auto",yMax1:d="auto",yMin2:f="auto",yMax2:p="auto",curveType:g="linear",referenceX:A,fractionDigits:w=2})=>{const b=M(kq),[C,P]=m.useState(null),v=!0,T=!0,y=2,S=1,x=m.useRef([]),R=m.useMemo(()=>{if(!t||t.length===0)return[];const W=Object.keys(t[0]).length-1,N=t[1]?Object.keys(t[1]).length-1:W,L=t.length,E=[],U=W-1,F=(N-W)/U;let B;x.current.length=0;for(let _=0;_0?J||B:!1,isAnimationActive:!1},"left-"+_)),x.current.push({id:Y,type:"line",value:Y,color:Z1[_]})}else if(_===U){const Y="Objective",O=C===null||C===Y?1:.25,J=Hx(Mx[_],S,t.length,L,O);E.push(h.jsx(Sg,{yAxisId:"right",type:g,name:Y,dataKey:Y,stroke:Z1[_],opacity:O,strokeWidth:y,dot:L>0?J||B:!1,isAnimationActive:!1},"right")),x.current.push({id:Y,type:"line",value:Y,color:Z1[U]})}else{const Y=Math.floor((_-W)/F),O="Individual"+(_+1),J=.5,Z=Hx(Mx[Y],S*.5,t.length,L,J,Z1[Y]);E.push(h.jsx(Sg,{yAxisId:"left",type:g,name:O,dataKey:O,opacity:J,stroke:Z1[Y],strokeWidth:0,dot:Z||B,isAnimationActive:!1},"left-"+_))}return E},[t,g,y,S,C]),H=()=>{},D=W=>{P(W.id)},k=()=>{P(null)};return h.jsx(h.Fragment,{children:t&&h.jsx("div",{id:"biaxial-line-graph-"+i+"-"+r+"-"+a,style:{width:"100%",height:`${n}%`,position:"relative",direction:"ltr"},children:h.jsx("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(k3e,{data:t,onMouseDown:H,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:W=>W.toFixed(w),content:({active:W,payload:N})=>!W||!N?null:N.map(L=>{var E;if(!((E=L.name)!=null&&E.toString().startsWith("Individual"))){let U;return L.name==="Tilt Angle"?U=xe.toDegrees(L.value*(b.maximumTiltAngle-b.minimumTiltAngle)+b.minimumTiltAngle).toFixed(w)+"°":L.name==="Inter-Row Spacing"?U=(L.value*(b.maximumInterRowSpacing-b.minimumInterRowSpacing)+b.minimumInterRowSpacing).toFixed(w)+"m":L.name==="Rack Width"?U=Math.floor(L.value*(b.maximumRowsPerRack-b.minimumRowsPerRack)+b.minimumRowsPerRack)+" panels":L.name==="Objective"?U=L.value.toFixed(w)+" "+c:U=L.value.toFixed(w),h.jsxs("div",{children:[L.name,": ",U]},L.name)}return null})}),h.jsx(A7,{vertical:T,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{yAxisId:"left",x:A,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:o??i,style:{fontSize:"10px"},children:h.jsx(Zl,{value:i+(l?" ("+l+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],yAxisId:"left",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:-20,value:r+(s?" ("+s+")":""),offset:0,angle:-90,position:"center"})}),h.jsx(gh,{domain:[f,p],yAxisId:"right",orientation:"right",style:{fontSize:"10px"},children:h.jsx(Zl,{dx:30,value:a+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),R,h.jsx(j2,{payload:x.current,iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:k,onMouseEnter:D})]})})})})})},hLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9464,7 +9464,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 8; -`,gLo=Ho.div` +`,pLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9482,7 +9482,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,mLo=Ho.div` +`,gLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9493,7 +9493,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,yLo=be.memo(()=>{const t=M(ha),e=M(pu)??m0,n=M(dn),o=M(X8t),i=M(uW),r=M(ZAt),a=M(Z9),l=M(wH),s=M.getState().evolutionaryAlgorithmState,c=ht(vf),u=ht(Dje),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:r?r.width+40:680,w=p.current?p.current.clientHeight+100:r?r.height+100:500,[b,C]=m.useState({x:r?Math.max(r.x,A-window.innerWidth):0,y:r?Math.min(r.y,window.innerHeight-w):0}),P=Kt();m.useEffect(()=>{C({x:Math.max(r==null?void 0:r.x,A-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-w)})},[r,A,w]),m.useEffect(()=>{const E=()=>{C({x:Math.max(r==null?void 0:r.x,A-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-w)})};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[r,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{n(E=>{p.current&&(E.viewState.evolutionPanelRect||(E.viewState.evolutionPanelRect=new ai(0,0,640,400)),E.viewState.evolutionPanelRect.width=p.current.offsetWidth,E.viewState.evolutionPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var E;(E=g.current)==null||E.disconnect()}),[]);const v=(E,U)=>{C({x:Math.max(U.x,A-window.innerWidth),y:Math.min(U.y,window.innerHeight-w)})},T=(E,U)=>{n(F=>{F.viewState.evolutionPanelRect||(F.viewState.evolutionPanelRect=new ai(0,0,640,400)),F.viewState.evolutionPanelRect.x=Math.max(U.x,A-window.innerWidth),F.viewState.evolutionPanelRect.y=Math.min(U.y,window.innerHeight-w)})},y=()=>{n(E=>{E.viewState.showEvolutionPanel=!1,t&&(E.actionInfo={name:"Close Solar Panel Optimization Graph",timestamp:new Date().getTime()})})},S=m.useMemo(()=>!l||l===Bs.GENETIC_ALGORITHM?s.geneticAlgorithmParams:s.particleSwarmOptimizationParams,[l,s]),x=m.useMemo(()=>j.t(l===Bs.GENETIC_ALGORITHM?"optimizationMenu.Generation":"optimizationMenu.Step",P),[l,P]),R=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_TILT_ANGLE?j.t("solarPanelMenu.TiltAngle",P):j.t("optimizationMenu.NormalizedVariables",P),[S.problem,P]),H=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_TILT_ANGLE?"°":"",[S.problem]),D=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_ARRAY&&(S.objectiveFunctionType===xo.DAILY_PROFIT||S.objectiveFunctionType===xo.YEARLY_PROFIT)?j.t("word.dollar",P):j.t("word.kWh",P),[S.problem,S.objectiveFunctionType,P]),k=m.useMemo(()=>{switch(S.objectiveFunctionType){case xo.DAILY_PROFIT:return j.t("optimizationMenu.ObjectiveFunctionDailyProfit",P);case xo.YEARLY_PROFIT:return j.t("optimizationMenu.ObjectiveFunctionYearlyProfit",P);case xo.DAILY_AVERAGE_OUTPUT:return j.t("optimizationMenu.ObjectiveFunctionDailyMeanYield",P);case xo.YEARLY_AVERAGE_OUTPUT:return j.t("optimizationMenu.ObjectiveFunctionYearlyMeanYield",P);case xo.DAILY_TOTAL_OUTPUT:return j.t("optimizationMenu.ObjectiveFunctionDailyTotalYield",P)}return j.t("optimizationMenu.ObjectiveFunctionYearlyTotalYield",P)},[S.objectiveFunctionType,P]),W=m.useMemo(()=>a?S.problem===Tr.SOLAR_PANEL_TILT_ANGLE?a.type===z.Foundation:S.problem===Tr.SOLAR_PANEL_ARRAY?a.type===z.Polygon:!1:!1,[S.problem,a]),N=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_ARRAY?j.t("optimizationMenu.ClickTargetPolygonToActivate",P):j.t("optimizationMenu.ClickTargetFoundationToActivate",P),[S.problem,P]),L=m.useMemo(()=>{let E="";return S.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(E+=j.t("optimizationMenu.SolarPanelTiltAngleOptimization",P)),S.problem===Tr.SOLAR_PANEL_ARRAY&&(E+=j.t("optimizationMenu.SolarPanelArrayLayout",P)),E+=": ",E+=l===Bs.GENETIC_ALGORITHM?j.t("optimizationMenu.GeneticAlgorithm",P):j.t("optimizationMenu.ParticleSwarmOptimization",P),E},[S.problem,l,P]);return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:v,onStop:T,onMouseDown:()=>{n(E=>{E.selectedFloatingWindow="solarPanelOptimizationResult"})},children:h.jsx(pLo,{ref:f,style:{zIndex:d==="solarPanelOptimizationResult"?xc:9},children:h.jsxs(gLo,{ref:p,style:{opacity:e,width:(r?r.width:640)+"px",height:(r?r.height:400)+"px"},children:[h.jsxs(mLo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:L}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{y()},onMouseDown:()=>{y()},children:`${j.t("word.Close",P)}`})]}),h.jsx(hLo,{dataSource:o,labels:i,height:100,dataKeyAxisX:"Step",labelX:x,labelY1:R,labelY2:k,unitY1:H,unitY2:D,curveType:"linear",fractionDigits:2}),!c&&!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[W&&h.jsx(oo,{type:"default",icon:h.jsx(y$e,{}),title:j.t("word.Run",P),onClick:()=>{hn(j.t("message.EvolutionStarted",P)),setTimeout(()=>{ht.getState().set(E=>{E.runEvolution=!0,E.pauseEvolution=!1,E.evolutionInProgress=!0}),t&&n(E=>{let U;S.problem===Tr.SOLAR_PANEL_ARRAY?l===Bs.GENETIC_ALGORITHM?U="Run Genetic Algorithm for Solar Panel Array Layout":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(U="Run Particle Swarm Optimization for Solar Panel Array Layout"):S.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(l===Bs.GENETIC_ALGORITHM?U="Run Genetic Algorithm for Solar Panel Tilt Angle":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(U="Run Particle Swarm Optimization for Solar Panel Tilt Angle")),U&&(E.actionInfo={name:U,timestamp:new Date().getTime()})})},100)}}),!W&&h.jsx("span",{children:N}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",P),onClick:()=>{Md("biaxial-line-graph-"+x+"-"+R+"-"+k,"solar-panel-tilt-angle-evolution").then(()=>{hn(j.t("message.ScreenshotSaved",P))})}})]})]})})})}),ALo=be.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(zq),o=M(En),[i,r]=m.useState(!1),[a,l]=m.useState(!1),[s,c]=m.useState({left:0,top:0,bottom:0,right:0}),u=m.useRef(null),d=m.useRef(null),f=m.useRef(n.electricitySellingPrice),p=m.useRef(n.operationalCostPerUnit),g=Kt();m.useEffect(()=>{var P;(P=d.current)==null||P.focus()},[]);const A=(P,v)=>{if(u.current){const{clientWidth:T,clientHeight:y}=window.document.documentElement,S=u.current.getBoundingClientRect();c({left:-S.left+v.x,right:T-(S.right-v.x),top:-S.top+v.y,bottom:y-((S==null?void 0:S.bottom)-v.y)})}},w=()=>{const P=n.electricitySellingPrice,v=f.current;if(P!==v){const S={name:"Electricity Selling Price",timestamp:Date.now(),oldValue:P,newValue:v,undo:()=>{e(x=>{x.economicsParams.electricitySellingPrice=S.oldValue})},redo:()=>{e(x=>{x.economicsParams.electricitySellingPrice=S.newValue})}};o(S),e(x=>{x.economicsParams.electricitySellingPrice=v})}const T=n.operationalCostPerUnit,y=p.current;if(T!==y){const S={name:"Operational Cost per Unit",timestamp:Date.now(),oldValue:T,newValue:y,undo:()=>{e(x=>{x.economicsParams.operationalCostPerUnit=S.oldValue})},redo:()=>{e(x=>{x.economicsParams.operationalCostPerUnit=S.newValue})}};o(S),e(x=>{x.economicsParams.operationalCostPerUnit=y})}},b=()=>{t(!1)},C=()=>{w(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>l(!0),onMouseOut:()=>l(!1),children:j.t("economicsPanel.EconomicsParameters",g)}),footer:[h.jsx(oo,{onClick:b,children:j.t("word.Cancel",g)},"Cancel"),h.jsx(oo,{type:"primary",ref:d,onClick:C,children:j.t("word.OK",g)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:P=>h.jsx(Vr,{disabled:!a,bounds:s,onStart:(v,T)=>A(v,T),children:h.jsx("div",{ref:u,children:P})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("economicsPanel.ElectricitySellingPrice",g)+" ([0.1, 1]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:f.current,step:.01,formatter:P=>`$${P}/kWh`,onChange:P=>{P!==null&&(f.current=P,r(!i))},onBlur:P=>{const v=P.target.value.replace("$","").replace("/kWh",""),T=parseFloat(v);f.current=Number.isNaN(T)?.1:T,r(!i)},onPressEnter:P=>{const v=P.target.value.replace("$","").replace("/kWh",""),T=parseFloat(v);f.current=Number.isNaN(T)?.1:T,r(!i)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("economicsPanel.OperationalCostPerUnit",g)+" ([0.1, 1]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:p.current,step:.01,formatter:P=>`$${P}/day`,onChange:P=>{P!==null&&(p.current=P,r(!i))},onBlur:P=>{const v=P.target.value.replace("$","").replace("/day",""),T=parseFloat(v);p.current=Number.isNaN(T)?.1:T,r(!i)},onPressEnter:P=>{const v=P.target.value.replace("$","").replace("/day",""),T=parseFloat(v);p.current=Number.isNaN(T)?.1:T,r(!i)}})})]})]})}),Gst=(t,e,n)=>{const o=M.getState().elements,i=M(cA),r=M(Vn),a=ht($1e),l=Sn(vb),s=Sn(b4t),c=Sn(T4t),u=[],d=[],f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map);return m.useEffect(()=>{var w,b,C,P,v,T,y,S;if(!e)return;const A=Jx(t,e.lowestTemperatures,e.highestTemperatures);f.current.clear(),p.current.clear(),g.current.clear();for(let x=0;x<24;x++){const R={},H=new Map;for(const D of o)if(xe.onBuildingEnvelope(D)){const k=l.get(D.id);if(k){const W=D.type===z.Foundation?D:i(D);if(W&&!W.notBuilding&&xe.getBuildingCompletionStatus(W,o)===Uc.COMPLETE){let N=H.get(W.id);N||(N=n?{heater:0,ac:0,geothermal:0,solarPanel:0,label:(w=W.label)==null?void 0:w.trim()}:{heater:0,ac:0,geothermal:0,label:(b=W.label)==null?void 0:b.trim()},H.set(W.id,N),(C=W.hvacSystem)!=null&&C.id?W.hvacSystem.id&&W.hvacSystem.id.length>0&&!d.includes(W.hvacSystem.id)&&d.push(W.hvacSystem.id):W.label&&W.label.length>0&&!d.includes(W.label)&&d.push(W.label)),D.type===z.Foundation?N.geothermal+=k[x]:k[x]<0?N.heater+=k[x]:N.ac+=k[x]}}}for(const D of o)if(D.type===z.Foundation){const k=D;if(!k.notBuilding&&xe.getBuildingCompletionStatus(k,o)!==Uc.COMPLETE)continue;const W=H.get(D.id);if(W){const N=s.get(D.id);if(N&&(W.heater<0?(W.heater+=N[x],W.heater>0&&(W.heater=0)):W.ac>0&&(W.ac+=N[x])),W.solarPanel!==void 0){const L=c.get(D.id);L&&(W.solarPanel+=L[x])}}}if(H.size>1){let D=1;for(const k of H.keys()){R.Hour=x;const W=H.get(k);if(W){const N=r(k);if(N&&N.type===z.Foundation){const L=N;if(!L.notBuilding&&xe.getBuildingCompletionStatus(L,o)===Uc.COMPLETE){const E=((P=L.hvacSystem)==null?void 0:P.thermostatSetpoint)??20,U=((v=L.hvacSystem)==null?void 0:v.temperatureThreshold)??3,F=((T=L.hvacSystem)==null?void 0:T.id)??(W.label&&W.label!==""?W.label:D.toString());F===D.toString()&&D++;let B=Math.abs(lO(A,W.heater,E,U)),_=lO(A,W.ac,E,U);B>0?(B-=W.geothermal,B<0&&(B=0)):_>0&&(_+=W.geothermal,_<0&&(_=0));const Y="Heater "+F;R[Y]?R[Y]=R[Y]+B:R[Y]=B;const O="AC "+F;if(R[O]?R[O]=R[O]+_:R[O]=_,W.solarPanel!==void 0){const ie="Solar "+F;R[ie]?R[ie]=R[ie]-W.solarPanel:R[ie]=-W.solarPanel}const J="Net "+F;R[J]?R[J]=R[J]+B+_-(W.solarPanel??0):R[J]=B+_-(W.solarPanel??0);let Z=f.current.get(F);Z===void 0&&(Z=0),Z+=B,f.current.set(F,Z),Z=p.current.get(F),Z===void 0&&(Z=0),Z+=_,p.current.set(F,Z),n&&(Z=g.current.get(F),Z===void 0&&(Z=0),Z+=W.solarPanel,g.current.set(F,Z))}}}}}else for(const D of H.keys()){R.Hour=x;const k=H.get(D);if(k){const W=r(D);if(W&&W.type===z.Foundation){const N=W;if(!N.notBuilding&&xe.getBuildingCompletionStatus(N,o)===Uc.COMPLETE){const L=((y=N.hvacSystem)==null?void 0:y.thermostatSetpoint)??20,E=((S=N.hvacSystem)==null?void 0:S.temperatureThreshold)??3;let U=Math.abs(lO(A,k.heater,L,E)),F=lO(A,k.ac,L,E);U>0?(U-=k.geothermal,U<0&&(U=0)):F>0&&(F+=k.geothermal,F<0&&(F=0)),R.Heater=U,R.AC=F,k.solarPanel!==void 0&&(R.Solar=-k.solarPanel),R.Net=U+F-(k.solarPanel??0);const B="default";let _=f.current.get(B);_===void 0&&(_=0),_+=U,f.current.set(B,_),_=p.current.get(B),_===void 0&&(_=0),_+=F,p.current.set(B,_),n&&(_=g.current.get(B),_===void 0&&(_=0),_+=k.solarPanel,g.current.set(B,_))}}}}u.push(R)}},[a,e]),{sum:u,sumHeaterMap:f.current,sumAcMap:p.current,sumSolarPanelMap:g.current,dataLabels:d}},wLo=be.memo(({horizontalGrid:t,verticalGrid:e,lineWidth:n,symbolSize:o,barCategoryGap:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s,changeBarCategoryGap:c})=>{const u=Kt(),[d,f]=m.useState(!1),p=()=>{r==null||r(!t)},g=()=>{a==null||a(!e)},A=C=>{l==null||l(C/2)},w=C=>{s==null||s(C/5)},b=C=>{c==null||c(C)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:n*2,onChange:A,children:j.t("menu.graph.LineWidth",u)+":"}),h.jsx(bC,{min:2,max:12,value:o*5,onChange:w,children:j.t("menu.graph.SymbolSize",u)+":"}),h.jsx(bC,{min:0,max:20,value:i,onChange:b,children:j.t("menu.graph.BarCategoryGap",u)+":"}),h.jsx(c7,{checked:t,onClick:p,children:j.t("menu.graph.ShowHorizontalGridLines",u)}),h.jsx(c7,{checked:e,onClick:g,children:j.t("menu.graph.ShowHorizontalGridLines",u)})]}),children:h.jsx(gme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:d?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{f(!0)},onMouseOut:()=>{f(!1)}})})}),Xst=({type:t,dataSource:e,hasSolarPanels:n,labels:o,height:i,dataKeyAxisX:r,labelX:a,labelY:l,unitX:s,unitY:c,yMin:u="auto",yMax:d="auto",curveType:f="linear",referenceX:p,fractionDigits:g=2,symbolCount:A=12})=>{const[w,b]=m.useState(0),[C,P]=m.useState(),[v,T]=m.useState(!0),[y,S]=m.useState(!0),[x,R]=m.useState(null),[H,D]=m.useState(2),[k,W]=m.useState(1),[N,L]=m.useState(2);m.useEffect(()=>{if(!e||e.length===0)return;const _=n?4:3,Y=(Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1)/_;if(w!==Y&&b(Y),Y===1&&e[0]){for(const O in e[0])if(O.startsWith("Heater")){P(O.length>6?O.substring(6).trim():void 0);break}}},[e]);const E=m.useMemo(()=>{const _=[],Y=n?4:3;let O;const J="gray",Z=1;for(let ee=0;ee1?o[ee*Y]:C?"Heater "+C:"Heater";_.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#FA8072",opacity:x===null||x===q?1:.25,strokeWidth:Z,isAnimationActive:!1,stackId:"stack"+ee},ee*Y)),q=w>1?o[ee*Y+1]:C?"AC "+C:"AC",_.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#00BFFF",opacity:x===null||x===q?1:.25,strokeWidth:Z,isAnimationActive:!1,stackId:"stack"+ee},ee*Y+1)),n&&(q=w>1?o[ee*Y+2]:C?"Solar "+C:"Solar",_.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#3CB371",opacity:x===null||x===q?1:.25,strokeWidth:Z,isAnimationActive:!1,stackId:"stack"+ee},ee*Y+2)))}const ie=Y-1;for(let ee=0;ee1?o[ee*Y+ie]:C?"Net "+C:"Net",ae=x===null||x===q?1:.25,ne=Hx(Mx[ee],k,e.length,A,ae);ee===0&&(O=ne),_.push(h.jsx(Sg,{type:f,name:q,dataKey:q,stroke:Z1[ee],opacity:x===null||x===q?1:.25,strokeWidth:H,dot:A>0?ne||O:!1,isAnimationActive:!1},ee*Y+ie))}return _},[t,f,o,w,C,H,A,k,x]),U=()=>{},F=_=>{R(_.dataKey)},B=()=>{R(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"line-graph-"+a+"-"+l,style:{width:"100%",height:`${i}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(xIo,{data:e,stackOffset:"sign",barGap:0,barCategoryGap:N,onMouseDown:U,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:_=>_.toFixed(g)+" "+c}),h.jsx(A7,{vertical:y,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:p,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:r??a,fontSize:"10px",children:h.jsx(Zl,{value:a+(s?" ("+s+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:l+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),E,h.jsx(O9,{y:0,stroke:"#888"}),w>0&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:B,onMouseEnter:F})]})}),h.jsx(wLo,{symbolSize:k,lineWidth:H,barCategoryGap:N,horizontalGrid:v,verticalGrid:y,changeHorizontalGrid:_=>{T(_)},changeVerticalGrid:_=>{S(_)},changeLineWidth:_=>{D(_)},changeSymbolSize:_=>{W(_)},changeBarCategoryGap:_=>{L(_)}})]})})})},vLo=Ho.div` +`,mLo=be.memo(()=>{const t=M(ha),e=M(pu)??m0,n=M(dn),o=M(V8t),i=M(uW),r=M($At),a=M(Z9),l=M(wH),s=M.getState().evolutionaryAlgorithmState,c=ht(vf),u=ht(Ije),d=M(bc),f=be.useRef(null),p=m.useRef(null),g=m.useRef(),A=p.current?p.current.clientWidth+40:r?r.width+40:680,w=p.current?p.current.clientHeight+100:r?r.height+100:500,[b,C]=m.useState({x:r?Math.max(r.x,A-window.innerWidth):0,y:r?Math.min(r.y,window.innerHeight-w):0}),P=Kt();m.useEffect(()=>{C({x:Math.max(r==null?void 0:r.x,A-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-w)})},[r,A,w]),m.useEffect(()=>{const E=()=>{C({x:Math.max(r==null?void 0:r.x,A-window.innerWidth),y:Math.min(r==null?void 0:r.y,window.innerHeight-w)})};return window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}},[r,A,w]),m.useEffect(()=>(p.current&&(g.current||(g.current=new ResizeObserver(()=>{n(E=>{p.current&&(E.viewState.evolutionPanelRect||(E.viewState.evolutionPanelRect=new ai(0,0,640,400)),E.viewState.evolutionPanelRect.width=p.current.offsetWidth,E.viewState.evolutionPanelRect.height=p.current.offsetHeight)})})),g.current.observe(p.current)),()=>{var E;(E=g.current)==null||E.disconnect()}),[]);const v=(E,U)=>{C({x:Math.max(U.x,A-window.innerWidth),y:Math.min(U.y,window.innerHeight-w)})},T=(E,U)=>{n(F=>{F.viewState.evolutionPanelRect||(F.viewState.evolutionPanelRect=new ai(0,0,640,400)),F.viewState.evolutionPanelRect.x=Math.max(U.x,A-window.innerWidth),F.viewState.evolutionPanelRect.y=Math.min(U.y,window.innerHeight-w)})},y=()=>{n(E=>{E.viewState.showEvolutionPanel=!1,t&&(E.actionInfo={name:"Close Solar Panel Optimization Graph",timestamp:new Date().getTime()})})},S=m.useMemo(()=>!l||l===Bs.GENETIC_ALGORITHM?s.geneticAlgorithmParams:s.particleSwarmOptimizationParams,[l,s]),x=m.useMemo(()=>j.t(l===Bs.GENETIC_ALGORITHM?"optimizationMenu.Generation":"optimizationMenu.Step",P),[l,P]),R=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_TILT_ANGLE?j.t("solarPanelMenu.TiltAngle",P):j.t("optimizationMenu.NormalizedVariables",P),[S.problem,P]),H=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_TILT_ANGLE?"°":"",[S.problem]),D=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_ARRAY&&(S.objectiveFunctionType===xo.DAILY_PROFIT||S.objectiveFunctionType===xo.YEARLY_PROFIT)?j.t("word.dollar",P):j.t("word.kWh",P),[S.problem,S.objectiveFunctionType,P]),k=m.useMemo(()=>{switch(S.objectiveFunctionType){case xo.DAILY_PROFIT:return j.t("optimizationMenu.ObjectiveFunctionDailyProfit",P);case xo.YEARLY_PROFIT:return j.t("optimizationMenu.ObjectiveFunctionYearlyProfit",P);case xo.DAILY_AVERAGE_OUTPUT:return j.t("optimizationMenu.ObjectiveFunctionDailyMeanYield",P);case xo.YEARLY_AVERAGE_OUTPUT:return j.t("optimizationMenu.ObjectiveFunctionYearlyMeanYield",P);case xo.DAILY_TOTAL_OUTPUT:return j.t("optimizationMenu.ObjectiveFunctionDailyTotalYield",P)}return j.t("optimizationMenu.ObjectiveFunctionYearlyTotalYield",P)},[S.objectiveFunctionType,P]),W=m.useMemo(()=>a?S.problem===Tr.SOLAR_PANEL_TILT_ANGLE?a.type===z.Foundation:S.problem===Tr.SOLAR_PANEL_ARRAY?a.type===z.Polygon:!1:!1,[S.problem,a]),N=m.useMemo(()=>S.problem===Tr.SOLAR_PANEL_ARRAY?j.t("optimizationMenu.ClickTargetPolygonToActivate",P):j.t("optimizationMenu.ClickTargetFoundationToActivate",P),[S.problem,P]),L=m.useMemo(()=>{let E="";return S.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(E+=j.t("optimizationMenu.SolarPanelTiltAngleOptimization",P)),S.problem===Tr.SOLAR_PANEL_ARRAY&&(E+=j.t("optimizationMenu.SolarPanelArrayLayout",P)),E+=": ",E+=l===Bs.GENETIC_ALGORITHM?j.t("optimizationMenu.GeneticAlgorithm",P):j.t("optimizationMenu.ParticleSwarmOptimization",P),E},[S.problem,l,P]);return h.jsx(Vr,{nodeRef:f,handle:".handle",bounds:"parent",axis:"both",position:b,onDrag:v,onStop:T,onMouseDown:()=>{n(E=>{E.selectedFloatingWindow="solarPanelOptimizationResult"})},children:h.jsx(hLo,{ref:f,style:{zIndex:d==="solarPanelOptimizationResult"?xc:9},children:h.jsxs(pLo,{ref:p,style:{opacity:e,width:(r?r.width:640)+"px",height:(r?r.height:400)+"px"},children:[h.jsxs(gLo,{className:"handle",style:{direction:"ltr"},children:[h.jsx("span",{children:L}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{y()},onMouseDown:()=>{y()},children:`${j.t("word.Close",P)}`})]}),h.jsx(fLo,{dataSource:o,labels:i,height:100,dataKeyAxisX:"Step",labelX:x,labelY1:R,labelY2:k,unitY1:H,unitY2:D,curveType:"linear",fractionDigits:2}),!c&&!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[W&&h.jsx(no,{type:"default",icon:h.jsx(g$e,{}),title:j.t("word.Run",P),onClick:()=>{hn(j.t("message.EvolutionStarted",P)),setTimeout(()=>{ht.getState().set(E=>{E.runEvolution=!0,E.pauseEvolution=!1,E.evolutionInProgress=!0}),t&&n(E=>{let U;S.problem===Tr.SOLAR_PANEL_ARRAY?l===Bs.GENETIC_ALGORITHM?U="Run Genetic Algorithm for Solar Panel Array Layout":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(U="Run Particle Swarm Optimization for Solar Panel Array Layout"):S.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&(l===Bs.GENETIC_ALGORITHM?U="Run Genetic Algorithm for Solar Panel Tilt Angle":l===Bs.PARTICLE_SWARM_OPTIMIZATION&&(U="Run Particle Swarm Optimization for Solar Panel Tilt Angle")),U&&(E.actionInfo={name:U,timestamp:new Date().getTime()})})},100)}}),!W&&h.jsx("span",{children:N}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",P),onClick:()=>{Md("biaxial-line-graph-"+x+"-"+R+"-"+k,"solar-panel-tilt-angle-evolution").then(()=>{hn(j.t("message.ScreenshotSaved",P))})}})]})]})})})}),yLo=be.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(zq),o=M(En),[i,r]=m.useState(!1),[a,l]=m.useState(!1),[s,c]=m.useState({left:0,top:0,bottom:0,right:0}),u=m.useRef(null),d=m.useRef(null),f=m.useRef(n.electricitySellingPrice),p=m.useRef(n.operationalCostPerUnit),g=Kt();m.useEffect(()=>{var P;(P=d.current)==null||P.focus()},[]);const A=(P,v)=>{if(u.current){const{clientWidth:T,clientHeight:y}=window.document.documentElement,S=u.current.getBoundingClientRect();c({left:-S.left+v.x,right:T-(S.right-v.x),top:-S.top+v.y,bottom:y-((S==null?void 0:S.bottom)-v.y)})}},w=()=>{const P=n.electricitySellingPrice,v=f.current;if(P!==v){const S={name:"Electricity Selling Price",timestamp:Date.now(),oldValue:P,newValue:v,undo:()=>{e(x=>{x.economicsParams.electricitySellingPrice=S.oldValue})},redo:()=>{e(x=>{x.economicsParams.electricitySellingPrice=S.newValue})}};o(S),e(x=>{x.economicsParams.electricitySellingPrice=v})}const T=n.operationalCostPerUnit,y=p.current;if(T!==y){const S={name:"Operational Cost per Unit",timestamp:Date.now(),oldValue:T,newValue:y,undo:()=>{e(x=>{x.economicsParams.operationalCostPerUnit=S.oldValue})},redo:()=>{e(x=>{x.economicsParams.operationalCostPerUnit=S.newValue})}};o(S),e(x=>{x.economicsParams.operationalCostPerUnit=y})}},b=()=>{t(!1)},C=()=>{w(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>l(!0),onMouseOut:()=>l(!1),children:j.t("economicsPanel.EconomicsParameters",g)}),footer:[h.jsx(no,{onClick:b,children:j.t("word.Cancel",g)},"Cancel"),h.jsx(no,{type:"primary",ref:d,onClick:C,children:j.t("word.OK",g)},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:P=>h.jsx(Vr,{disabled:!a,bounds:s,onStart:(v,T)=>A(v,T),children:h.jsx("div",{ref:u,children:P})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("economicsPanel.ElectricitySellingPrice",g)+" ([0.1, 1]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:f.current,step:.01,formatter:P=>`$${P}/kWh`,onChange:P=>{P!==null&&(f.current=P,r(!i))},onBlur:P=>{const v=P.target.value.replace("$","").replace("/kWh",""),T=parseFloat(v);f.current=Number.isNaN(T)?.1:T,r(!i)},onPressEnter:P=>{const v=P.target.value.replace("$","").replace("/kWh",""),T=parseFloat(v);f.current=Number.isNaN(T)?.1:T,r(!i)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("economicsPanel.OperationalCostPerUnit",g)+" ([0.1, 1]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:.1,max:1,style:{width:"100%"},precision:2,value:p.current,step:.01,formatter:P=>`$${P}/day`,onChange:P=>{P!==null&&(p.current=P,r(!i))},onBlur:P=>{const v=P.target.value.replace("$","").replace("/day",""),T=parseFloat(v);p.current=Number.isNaN(T)?.1:T,r(!i)},onPressEnter:P=>{const v=P.target.value.replace("$","").replace("/day",""),T=parseFloat(v);p.current=Number.isNaN(T)?.1:T,r(!i)}})})]})]})}),_st=(t,e,n)=>{const o=M.getState().elements,i=M(cA),r=M(Vn),a=ht($1e),l=Sn(vb),s=Sn(v4t),c=Sn(b4t),u=[],d=[],f=m.useRef(new Map),p=m.useRef(new Map),g=m.useRef(new Map);return m.useEffect(()=>{var w,b,C,P,v,T,y,S;if(!e)return;const A=Jx(t,e.lowestTemperatures,e.highestTemperatures);f.current.clear(),p.current.clear(),g.current.clear();for(let x=0;x<24;x++){const R={},H=new Map;for(const D of o)if(xe.onBuildingEnvelope(D)){const k=l.get(D.id);if(k){const W=D.type===z.Foundation?D:i(D);if(W&&!W.notBuilding&&xe.getBuildingCompletionStatus(W,o)===Uc.COMPLETE){let N=H.get(W.id);N||(N=n?{heater:0,ac:0,geothermal:0,solarPanel:0,label:(w=W.label)==null?void 0:w.trim()}:{heater:0,ac:0,geothermal:0,label:(b=W.label)==null?void 0:b.trim()},H.set(W.id,N),(C=W.hvacSystem)!=null&&C.id?W.hvacSystem.id&&W.hvacSystem.id.length>0&&!d.includes(W.hvacSystem.id)&&d.push(W.hvacSystem.id):W.label&&W.label.length>0&&!d.includes(W.label)&&d.push(W.label)),D.type===z.Foundation?N.geothermal+=k[x]:k[x]<0?N.heater+=k[x]:N.ac+=k[x]}}}for(const D of o)if(D.type===z.Foundation){const k=D;if(!k.notBuilding&&xe.getBuildingCompletionStatus(k,o)!==Uc.COMPLETE)continue;const W=H.get(D.id);if(W){const N=s.get(D.id);if(N&&(W.heater<0?(W.heater+=N[x],W.heater>0&&(W.heater=0)):W.ac>0&&(W.ac+=N[x])),W.solarPanel!==void 0){const L=c.get(D.id);L&&(W.solarPanel+=L[x])}}}if(H.size>1){let D=1;for(const k of H.keys()){R.Hour=x;const W=H.get(k);if(W){const N=r(k);if(N&&N.type===z.Foundation){const L=N;if(!L.notBuilding&&xe.getBuildingCompletionStatus(L,o)===Uc.COMPLETE){const E=((P=L.hvacSystem)==null?void 0:P.thermostatSetpoint)??20,U=((v=L.hvacSystem)==null?void 0:v.temperatureThreshold)??3,F=((T=L.hvacSystem)==null?void 0:T.id)??(W.label&&W.label!==""?W.label:D.toString());F===D.toString()&&D++;let B=Math.abs(lO(A,W.heater,E,U)),_=lO(A,W.ac,E,U);B>0?(B-=W.geothermal,B<0&&(B=0)):_>0&&(_+=W.geothermal,_<0&&(_=0));const Y="Heater "+F;R[Y]?R[Y]=R[Y]+B:R[Y]=B;const O="AC "+F;if(R[O]?R[O]=R[O]+_:R[O]=_,W.solarPanel!==void 0){const ie="Solar "+F;R[ie]?R[ie]=R[ie]-W.solarPanel:R[ie]=-W.solarPanel}const J="Net "+F;R[J]?R[J]=R[J]+B+_-(W.solarPanel??0):R[J]=B+_-(W.solarPanel??0);let Z=f.current.get(F);Z===void 0&&(Z=0),Z+=B,f.current.set(F,Z),Z=p.current.get(F),Z===void 0&&(Z=0),Z+=_,p.current.set(F,Z),n&&(Z=g.current.get(F),Z===void 0&&(Z=0),Z+=W.solarPanel,g.current.set(F,Z))}}}}}else for(const D of H.keys()){R.Hour=x;const k=H.get(D);if(k){const W=r(D);if(W&&W.type===z.Foundation){const N=W;if(!N.notBuilding&&xe.getBuildingCompletionStatus(N,o)===Uc.COMPLETE){const L=((y=N.hvacSystem)==null?void 0:y.thermostatSetpoint)??20,E=((S=N.hvacSystem)==null?void 0:S.temperatureThreshold)??3;let U=Math.abs(lO(A,k.heater,L,E)),F=lO(A,k.ac,L,E);U>0?(U-=k.geothermal,U<0&&(U=0)):F>0&&(F+=k.geothermal,F<0&&(F=0)),R.Heater=U,R.AC=F,k.solarPanel!==void 0&&(R.Solar=-k.solarPanel),R.Net=U+F-(k.solarPanel??0);const B="default";let _=f.current.get(B);_===void 0&&(_=0),_+=U,f.current.set(B,_),_=p.current.get(B),_===void 0&&(_=0),_+=F,p.current.set(B,_),n&&(_=g.current.get(B),_===void 0&&(_=0),_+=k.solarPanel,g.current.set(B,_))}}}}u.push(R)}},[a,e]),{sum:u,sumHeaterMap:f.current,sumAcMap:p.current,sumSolarPanelMap:g.current,dataLabels:d}},ALo=be.memo(({horizontalGrid:t,verticalGrid:e,lineWidth:n,symbolSize:o,barCategoryGap:i,changeHorizontalGrid:r,changeVerticalGrid:a,changeLineWidth:l,changeSymbolSize:s,changeBarCategoryGap:c})=>{const u=Kt(),[d,f]=m.useState(!1),p=()=>{r==null||r(!t)},g=()=>{a==null||a(!e)},A=C=>{l==null||l(C/2)},w=C=>{s==null||s(C/5)},b=C=>{c==null||c(C)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:0,max:10,value:n*2,onChange:A,children:j.t("menu.graph.LineWidth",u)+":"}),h.jsx(bC,{min:2,max:12,value:o*5,onChange:w,children:j.t("menu.graph.SymbolSize",u)+":"}),h.jsx(bC,{min:0,max:20,value:i,onChange:b,children:j.t("menu.graph.BarCategoryGap",u)+":"}),h.jsx(c7,{checked:t,onClick:p,children:j.t("menu.graph.ShowHorizontalGridLines",u)}),h.jsx(c7,{checked:e,onClick:g,children:j.t("menu.graph.ShowHorizontalGridLines",u)})]}),children:h.jsx(gme,{style:{position:"absolute",fontSize:"30px",top:"4px",right:"30px",transition:"0.5s",color:d?"darkgray":"lightblue",cursor:"pointer"},onMouseOver:()=>{f(!0)},onMouseOut:()=>{f(!1)}})})}),Vst=({type:t,dataSource:e,hasSolarPanels:n,labels:o,height:i,dataKeyAxisX:r,labelX:a,labelY:l,unitX:s,unitY:c,yMin:u="auto",yMax:d="auto",curveType:f="linear",referenceX:p,fractionDigits:g=2,symbolCount:A=12})=>{const[w,b]=m.useState(0),[C,P]=m.useState(),[v,T]=m.useState(!0),[y,S]=m.useState(!0),[x,R]=m.useState(null),[H,D]=m.useState(2),[k,W]=m.useState(1),[N,L]=m.useState(2);m.useEffect(()=>{if(!e||e.length===0)return;const _=n?4:3,Y=(Array.isArray(e)?Object.keys(e[0]).length-1:Object.keys(e).length-1)/_;if(w!==Y&&b(Y),Y===1&&e[0]){for(const O in e[0])if(O.startsWith("Heater")){P(O.length>6?O.substring(6).trim():void 0);break}}},[e]);const E=m.useMemo(()=>{const _=[],Y=n?4:3;let O;const J="gray",Z=1;for(let ee=0;ee1?o[ee*Y]:C?"Heater "+C:"Heater";_.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#FA8072",opacity:x===null||x===q?1:.25,strokeWidth:Z,isAnimationActive:!1,stackId:"stack"+ee},ee*Y)),q=w>1?o[ee*Y+1]:C?"AC "+C:"AC",_.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#00BFFF",opacity:x===null||x===q?1:.25,strokeWidth:Z,isAnimationActive:!1,stackId:"stack"+ee},ee*Y+1)),n&&(q=w>1?o[ee*Y+2]:C?"Solar "+C:"Solar",_.push(h.jsx(F2,{name:q,dataKey:q,stroke:J,fill:"#3CB371",opacity:x===null||x===q?1:.25,strokeWidth:Z,isAnimationActive:!1,stackId:"stack"+ee},ee*Y+2)))}const ie=Y-1;for(let ee=0;ee1?o[ee*Y+ie]:C?"Net "+C:"Net",ae=x===null||x===q?1:.25,ne=Hx(Mx[ee],k,e.length,A,ae);ee===0&&(O=ne),_.push(h.jsx(Sg,{type:f,name:q,dataKey:q,stroke:Z1[ee],opacity:x===null||x===q?1:.25,strokeWidth:H,dot:A>0?ne||O:!1,isAnimationActive:!1},ee*Y+ie))}return _},[t,f,o,w,C,H,A,k,x]),U=()=>{},F=_=>{R(_.dataKey)},B=()=>{R(null)};return h.jsx(h.Fragment,{children:e&&h.jsx("div",{id:"line-graph-"+a+"-"+l,style:{width:"100%",height:`${i}%`,position:"relative",direction:"ltr"},children:h.jsxs("div",{style:{userSelect:"none",width:"100%",height:"100%",position:"absolute",top:0,left:0},children:[h.jsx(GN,{width:"100%",height:"100%",children:h.jsxs(vIo,{data:e,stackOffset:"sign",barGap:0,barCategoryGap:N,onMouseDown:U,margin:{top:5,right:30,left:20,bottom:30},children:[h.jsx(Zf,{formatter:_=>_.toFixed(g)+" "+c}),h.jsx(A7,{vertical:y,horizontal:v,stroke:"rgba(128, 128, 128, 0.3)"}),h.jsx(O9,{x:p,stroke:"orange",strokeWidth:2}),h.jsx(t1,{dataKey:r??a,fontSize:"10px",children:h.jsx(Zl,{value:a+(s?" ("+s+")":""),offset:0,position:"bottom"})}),h.jsx(gh,{domain:[u,d],fontSize:"10px",children:h.jsx(Zl,{dx:-15,value:l+(c?" ("+c+")":""),offset:0,angle:-90,position:"center"})}),E,h.jsx(O9,{y:0,stroke:"#888"}),w>0&&h.jsx(j2,{wrapperStyle:{fontSize:"11px"},iconType:"plainline",verticalAlign:"top",height:36,onMouseLeave:B,onMouseEnter:F})]})}),h.jsx(ALo,{symbolSize:k,lineWidth:H,barCategoryGap:N,horizontalGrid:v,verticalGrid:y,changeHorizontalGrid:_=>{T(_)},changeVerticalGrid:_=>{S(_)},changeLineWidth:_=>{D(_)},changeSymbolSize:_=>{W(_)},changeBarCategoryGap:_=>{L(_)}})]})})})},wLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9502,7 +9502,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,xLo=Ho.div` +`,vLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9520,7 +9520,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,bLo=Ho.div` +`,xLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9531,7 +9531,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,SLo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(lW),r=new Date(M(Ya)),a=M(TAt),l=ht($1e),s=ht(QL),c=ht(lwt),u=ht(vf),d=xe.hasSolarPanels(M.getState().elements),f=Sn(_je),p=Sn(Vje),g=Sn(Gje),A=M(bc),w=be.useRef(null),b=m.useRef(null),C=m.useRef(),P=b.current?b.current.clientWidth+40:a?a.width+40:640,v=b.current?b.current.clientHeight+100:a?a.height+100:460,[T,y]=m.useState({x:a?Math.max(a.x,P-window.innerWidth):0,y:a?Math.min(a.y,window.innerHeight-v):0}),[S,x]=m.useState([]),[R,H]=m.useState(0),[D,k]=m.useState(0),[W,N]=m.useState(0),[L,E]=m.useState(0),[U,F]=m.useState(["Heater","AC","Net"]),B=Kt(),_=l1(t),Y=m.useRef([]),O=m.useRef([]),J=m.useRef([]),Z=m.useRef([]);m.useEffect(()=>{s&&ie()},[s]),m.useEffect(()=>{ie()},[c]);const ie=()=>{x([]),H(0),k(0),N(0),E(0),F([])},{sum:ee,sumHeaterMap:q,sumAcMap:ae,sumSolarPanelMap:ne,dataLabels:se}=Gst(r,_,d);m.useEffect(()=>{x(ee);let de=0,Se=0,Ce=0;const ve=q.size>1;if(q){Y.current=[];for(const ze of q.keys()){const ye=q.get(ze);ye&&(de+=ye,ve&&Y.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B)))}}if(ae){O.current=[];for(const ze of ae.keys()){const ye=ae.get(ze);ye&&(Se+=ye,ve&&O.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B)))}}if(ne&&ne.size>0){J.current=[];for(const ze of ne.keys()){const ye=ne.get(ze);ye&&(Ce+=ye,ve&&J.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B)))}}if(q&&ae&&ne){Z.current=[];for(const ze of q.keys()){let ye=0;const oe=q.get(ze),ge=ae.get(ze),Ae=ne.get(ze);oe&&(ye+=oe),ge&&(ye+=ge),Ae&&(ye-=Ae),ve&&Z.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B))}}H(de),k(Se),N(Ce),E(de+Se-Ce),f(de),p(Se),g(Ce);const Ie=(Object.keys(ee[0]).length-1)/(d?4:3);if(Ie>1){const ze=[];let ye=0;for(let oe=0;oe{y({x:Math.max(a==null?void 0:a.x,P-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})},[a,P,v]),m.useEffect(()=>{const de=()=>{y({x:Math.max(a==null?void 0:a.x,P-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})};return window.addEventListener("resize",de),()=>{window.removeEventListener("resize",de)}},[a,P,v]),m.useEffect(()=>(b.current&&(C.current||(C.current=new ResizeObserver(()=>{o(de=>{b.current&&(de.viewState.dailyBuildingEnergyPanelRect||(de.viewState.dailyBuildingEnergyPanelRect=new ai(0,0,600,360)),de.viewState.dailyBuildingEnergyPanelRect.width=b.current.offsetWidth,de.viewState.dailyBuildingEnergyPanelRect.height=b.current.offsetHeight)})})),C.current.observe(b.current)),()=>{var de;(de=C.current)==null||de.disconnect()}),[]);const le=(de,Se)=>{y({x:Math.max(Se.x,P-window.innerWidth),y:Math.min(Se.y,window.innerHeight-v)})},te=(de,Se)=>{o(Ce=>{Ce.viewState.dailyBuildingEnergyPanelRect||(Ce.viewState.dailyBuildingEnergyPanelRect=new ai(0,0,600,360)),Ce.viewState.dailyBuildingEnergyPanelRect.x=Math.max(Se.x,P-window.innerWidth),Ce.viewState.dailyBuildingEnergyPanelRect.y=Math.min(Se.y,window.innerHeight-v)})},he=()=>{o(de=>{de.viewState.showDailyBuildingEnergyPanel=!1,e&&(de.actionInfo={name:"Close Daily Building Energy Graph",timestamp:new Date().getTime()})})},pe=j.t("word.Hour",B),fe=j.t("word.Energy",B),$=S&&S[0]?Object.keys(S[0]).length===0:!0;return h.jsx(Vr,{nodeRef:w,handle:".handle",bounds:"parent",axis:"both",position:T,onDrag:le,onStop:te,onMouseDown:()=>{o(de=>{de.selectedFloatingWindow="dailyBuildingEnergyPanel"})},children:h.jsx(vLo,{ref:w,style:{zIndex:A==="dailyBuildingEnergyPanel"?xc:9},children:h.jsxs(xLo,{ref:b,style:{opacity:n,width:(a?a.width:600)+"px",height:(a?a.height:360)+"px"},children:[h.jsxs(bLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[j.t("buildingEnergyPanel.DailyBuildingEnergy",B)+": ",h.jsx("span",{style:{fontSize:"10px"},children:j.t("sensorPanel.WeatherDataFrom",B)+" "+t+" | "+gi(r).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{he()},onMouseDown:()=>{he()},children:`${j.t("word.Close",B)}`})]}),h.jsx(Xst,{type:xr.DailyBuildingEnergy,dataSource:S,hasSolarPanels:d,labels:U,height:100,dataKeyAxisX:"Hour",labelX:pe,labelY:fe,unitY:j.t("word.kWh",B),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:r.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[Y.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Heater",B)+": "+R.toFixed(1)}):h.jsx(gl,{content:Y.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Heater",B)+": "+R.toFixed(1)})}),O.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.AC",B)+": "+D.toFixed(1)}):h.jsx(gl,{content:O.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.AC",B)+": "+D.toFixed(1)})}),W!==0&&h.jsx(h.Fragment,{children:J.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.SolarPanel",B)+": "+W.toFixed(1)}):h.jsx(gl,{content:J.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.SolarPanel",B)+": "+W.toFixed(1)})})}),Z.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Net",B)+": "+L.toFixed(1)}):h.jsx(gl,{content:Z.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Net",B)+": "+L.toFixed(1)})}),h.jsx(oo,{type:"default",icon:$?h.jsx(vh,{}):h.jsx(xf,{}),title:j.t($?"word.Run":"word.Update",B),onClick:()=>{const de=M.getState().elements,Se=M.getState().countElementsByType,Ce=M.getState().getChildrenOfType,ve=eX(de,Se,Ce);if(ve.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",B));return}if(ve.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let Ie;switch(ve.buildingCompletion){case Uc.WALL_DISJOINED:Ie=j.t("message.WallsAreNotConnected",B);break;case Uc.WALL_EMPTY:Ie=j.t("message.BuildingContainsEmptyWall",B);break;case Uc.ROOF_MISSING:Ie=j.t("message.BuildingRoofMissing",B);break;default:Ie=j.t("message.UnknownErrors",B)}Do(j.t("message.SimulationWillNotStartDueToErrors",B)+": "+Ie);return}ve.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",B)),hn(j.t("message.SimulationStarted",B)),setTimeout(()=>{i(),ht.getState().set(Ie=>{Ie.runDailyThermalSimulation=!0,Ie.pauseDailyThermalSimulation=!1,Ie.simulationInProgress=!0}),o(Ie=>{e&&(Ie.actionInfo={name:"Run Daily Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",B),onClick:()=>{Md("line-graph-"+pe+"-"+fe,"daily-building-energy").then(()=>{hn(j.t("message.ScreenshotSaved",B)),e&&o(de=>{de.actionInfo={name:"Take Screenshot of Daily Building Energy Graph",timestamp:new Date().getTime()}})})}}),S&&S.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:j.t("word.SaveAsCsv",B),onClick:()=>{wh(S,"daily-building-energy.csv"),hn(j.t("message.CsvFileSaved",B)),e&&o(de=>{de.actionInfo={name:"Export Daily Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),TLo=Ho.div` +`,bLo=be.memo(({city:t})=>{const e=M(ha),n=M(pu)??m0,o=M(dn),i=M(lW),r=new Date(M(Ya)),a=M(bAt),l=ht($1e),s=ht(QL),c=ht(rwt),u=ht(vf),d=xe.hasSolarPanels(M.getState().elements),f=Sn(Yje),p=Sn(Oje),g=Sn(_je),A=M(bc),w=be.useRef(null),b=m.useRef(null),C=m.useRef(),P=b.current?b.current.clientWidth+40:a?a.width+40:640,v=b.current?b.current.clientHeight+100:a?a.height+100:460,[T,y]=m.useState({x:a?Math.max(a.x,P-window.innerWidth):0,y:a?Math.min(a.y,window.innerHeight-v):0}),[S,x]=m.useState([]),[R,H]=m.useState(0),[D,k]=m.useState(0),[W,N]=m.useState(0),[L,E]=m.useState(0),[U,F]=m.useState(["Heater","AC","Net"]),B=Kt(),_=l1(t),Y=m.useRef([]),O=m.useRef([]),J=m.useRef([]),Z=m.useRef([]);m.useEffect(()=>{s&&ie()},[s]),m.useEffect(()=>{ie()},[c]);const ie=()=>{x([]),H(0),k(0),N(0),E(0),F([])},{sum:ee,sumHeaterMap:q,sumAcMap:ae,sumSolarPanelMap:ne,dataLabels:se}=_st(r,_,d);m.useEffect(()=>{x(ee);let de=0,Se=0,Ce=0;const ve=q.size>1;if(q){Y.current=[];for(const ze of q.keys()){const ye=q.get(ze);ye&&(de+=ye,ve&&Y.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B)))}}if(ae){O.current=[];for(const ze of ae.keys()){const ye=ae.get(ze);ye&&(Se+=ye,ve&&O.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B)))}}if(ne&&ne.size>0){J.current=[];for(const ze of ne.keys()){const ye=ne.get(ze);ye&&(Ce+=ye,ve&&J.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B)))}}if(q&&ae&&ne){Z.current=[];for(const ze of q.keys()){let ye=0;const oe=q.get(ze),ge=ae.get(ze),Ae=ne.get(ze);oe&&(ye+=oe),ge&&(ye+=ge),Ae&&(ye-=Ae),ve&&Z.current.push(ze+": "+ye.toFixed(2)+" "+j.t("word.kWh",B))}}H(de),k(Se),N(Ce),E(de+Se-Ce),f(de),p(Se),g(Ce);const Ie=(Object.keys(ee[0]).length-1)/(d?4:3);if(Ie>1){const ze=[];let ye=0;for(let oe=0;oe{y({x:Math.max(a==null?void 0:a.x,P-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})},[a,P,v]),m.useEffect(()=>{const de=()=>{y({x:Math.max(a==null?void 0:a.x,P-window.innerWidth),y:Math.min(a==null?void 0:a.y,window.innerHeight-v)})};return window.addEventListener("resize",de),()=>{window.removeEventListener("resize",de)}},[a,P,v]),m.useEffect(()=>(b.current&&(C.current||(C.current=new ResizeObserver(()=>{o(de=>{b.current&&(de.viewState.dailyBuildingEnergyPanelRect||(de.viewState.dailyBuildingEnergyPanelRect=new ai(0,0,600,360)),de.viewState.dailyBuildingEnergyPanelRect.width=b.current.offsetWidth,de.viewState.dailyBuildingEnergyPanelRect.height=b.current.offsetHeight)})})),C.current.observe(b.current)),()=>{var de;(de=C.current)==null||de.disconnect()}),[]);const le=(de,Se)=>{y({x:Math.max(Se.x,P-window.innerWidth),y:Math.min(Se.y,window.innerHeight-v)})},te=(de,Se)=>{o(Ce=>{Ce.viewState.dailyBuildingEnergyPanelRect||(Ce.viewState.dailyBuildingEnergyPanelRect=new ai(0,0,600,360)),Ce.viewState.dailyBuildingEnergyPanelRect.x=Math.max(Se.x,P-window.innerWidth),Ce.viewState.dailyBuildingEnergyPanelRect.y=Math.min(Se.y,window.innerHeight-v)})},he=()=>{o(de=>{de.viewState.showDailyBuildingEnergyPanel=!1,e&&(de.actionInfo={name:"Close Daily Building Energy Graph",timestamp:new Date().getTime()})})},pe=j.t("word.Hour",B),fe=j.t("word.Energy",B),$=S&&S[0]?Object.keys(S[0]).length===0:!0;return h.jsx(Vr,{nodeRef:w,handle:".handle",bounds:"parent",axis:"both",position:T,onDrag:le,onStop:te,onMouseDown:()=>{o(de=>{de.selectedFloatingWindow="dailyBuildingEnergyPanel"})},children:h.jsx(wLo,{ref:w,style:{zIndex:A==="dailyBuildingEnergyPanel"?xc:9},children:h.jsxs(vLo,{ref:b,style:{opacity:n,width:(a?a.width:600)+"px",height:(a?a.height:360)+"px"},children:[h.jsxs(xLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[j.t("buildingEnergyPanel.DailyBuildingEnergy",B)+": ",h.jsx("span",{style:{fontSize:"10px"},children:j.t("sensorPanel.WeatherDataFrom",B)+" "+t+" | "+gi(r).format("MM/DD")})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{he()},onMouseDown:()=>{he()},children:`${j.t("word.Close",B)}`})]}),h.jsx(Vst,{type:xr.DailyBuildingEnergy,dataSource:S,hasSolarPanels:d,labels:U,height:100,dataKeyAxisX:"Hour",labelX:pe,labelY:fe,unitY:j.t("word.kWh",B),yMin:0,curveType:"linear",fractionDigits:2,symbolCount:24,referenceX:r.getHours()}),!u&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[Y.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Heater",B)+": "+R.toFixed(1)}):h.jsx(gl,{content:Y.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Heater",B)+": "+R.toFixed(1)})}),O.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.AC",B)+": "+D.toFixed(1)}):h.jsx(gl,{content:O.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.AC",B)+": "+D.toFixed(1)})}),W!==0&&h.jsx(h.Fragment,{children:J.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.SolarPanel",B)+": "+W.toFixed(1)}):h.jsx(gl,{content:J.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.SolarPanel",B)+": "+W.toFixed(1)})})}),Z.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Net",B)+": "+L.toFixed(1)}):h.jsx(gl,{content:Z.current.map((de,Se)=>h.jsx("div",{children:de},Se)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Net",B)+": "+L.toFixed(1)})}),h.jsx(no,{type:"default",icon:$?h.jsx(vh,{}):h.jsx(xf,{}),title:j.t($?"word.Run":"word.Update",B),onClick:()=>{const de=M.getState().elements,Se=M.getState().countElementsByType,Ce=M.getState().getChildrenOfType,ve=eX(de,Se,Ce);if(ve.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",B));return}if(ve.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let Ie;switch(ve.buildingCompletion){case Uc.WALL_DISJOINED:Ie=j.t("message.WallsAreNotConnected",B);break;case Uc.WALL_EMPTY:Ie=j.t("message.BuildingContainsEmptyWall",B);break;case Uc.ROOF_MISSING:Ie=j.t("message.BuildingRoofMissing",B);break;default:Ie=j.t("message.UnknownErrors",B)}Do(j.t("message.SimulationWillNotStartDueToErrors",B)+": "+Ie);return}ve.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",B)),hn(j.t("message.SimulationStarted",B)),setTimeout(()=>{i(),ht.getState().set(Ie=>{Ie.runDailyThermalSimulation=!0,Ie.pauseDailyThermalSimulation=!1,Ie.simulationInProgress=!0}),o(Ie=>{e&&(Ie.actionInfo={name:"Run Daily Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",B),onClick:()=>{Md("line-graph-"+pe+"-"+fe,"daily-building-energy").then(()=>{hn(j.t("message.ScreenshotSaved",B)),e&&o(de=>{de.actionInfo={name:"Take Screenshot of Daily Building Energy Graph",timestamp:new Date().getTime()}})})}}),S&&S.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:j.t("word.SaveAsCsv",B),onClick:()=>{wh(S,"daily-building-energy.csv"),hn(j.t("message.CsvFileSaved",B)),e&&o(de=>{de.actionInfo={name:"Export Daily Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),SLo=Ho.div` position: fixed; top: 80px; right: 24px; @@ -9540,7 +9540,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; align-items: center; padding: 16px; z-index: 9; -`,PLo=Ho.div` +`,TLo=Ho.div` background-color: #f8f8f8; position: absolute; right: 0; @@ -9558,7 +9558,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; overflow-y: auto; resize: both; direction: rtl; -`,CLo=Ho.div` +`,PLo=Ho.div` border-radius: 10px 10px 0 0; width: 100%; height: 24px; @@ -9569,14 +9569,14 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; justify-content: space-between; align-items: center; cursor: move; -`,RLo=be.memo(({city:t})=>{const e=M.getState().world,n=M(ha),o=M(pu)??m0,i=M(dn),r=M(lW),a=new Date(M(Ya)),l=M(CAt),s=ht($1e),c=ht(wq),u=ht(swt),d=ht(vf),f=xe.hasSolarPanels(M.getState().elements),p=Sn(_je),g=Sn(Vje),A=Sn(Gje),w=M(bc),b=m.useRef(null),C=m.useRef(),P=b.current?b.current.clientWidth+40:l?l.width+40:640,v=b.current?b.current.clientHeight+100:l?l.height+100:600,[T,y]=m.useState({x:l?Math.max(l.x,P-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-v):0}),S=be.useRef(null),x=Kt(),R=l1(t),H=Ps[a.getMonth()],D=e.daysPerYear??6,k=12/D,[W,N]=m.useState(0),[L,E]=m.useState(0),[U,F]=m.useState(0),[B,_]=m.useState(0),[Y,O]=m.useState(["Heater","AC","Solar","Net"]),[J,Z]=m.useState([]),{sum:ie,sumHeaterMap:ee,sumAcMap:q,sumSolarPanelMap:ae,dataLabels:ne}=Gst(a,R,f),se=m.useRef(new Array(D).fill({})),le=m.useRef(new Array(D).fill(0)),te=m.useRef(new Array(D).fill(0)),he=m.useRef(new Array(D).fill(0)),pe=m.useRef(new Array(D).fill(0)),fe=m.useRef([]),$=m.useRef([]),de=m.useRef([]),Se=m.useRef([]);m.useEffect(()=>{Ce()},[D,u]),m.useEffect(()=>{c&&Ce()},[c]);const Ce=()=>{se.current=new Array(D).fill({}),le.current=new Array(D).fill(0),te.current=new Array(D).fill(0),he.current=new Array(D).fill(0),pe.current=new Array(D).fill(0),Z([]),N(0),E(0),F(0),_(0),O([])};m.useEffect(()=>{const Ae=Math.floor(a.getMonth()/k),me=(Object.keys(ie[0]).length-1)/(f?4:3);if(fe.current=[],$.current=[],Se.current=[],de.current=[],me>1){const Le=new Map,$e=new Map,We=new Map,Ee=new Map;for(const Ve of ie){let xt=0;for(let dt=0;dt6&&(Ee=" "+Ve.substring(6).trim());break}const Fe="Heater"+Ee,Ge="AC"+Ee,rt="Net"+Ee;if(f){const Ve="Solar"+Ee;let xt=0;O([Fe,Ge,Ve,rt]);for(const Qe of ie)Le+=Qe[Fe],$e+=Qe[Ge],xt+=Qe[Ve],We+=Qe[rt];const dt={};dt.Month=Ps[a.getMonth()],dt[Fe]=30*Le,dt[Ge]=30*$e,dt[Ve]=30*xt,dt[rt]=30*We,se.current[Ae]=dt}else{O([Fe,Ge,rt]);for(const xt of ie)Le+=xt[Fe],$e+=xt[Ge],We+=xt[rt];const Ve={};Ve.Month=Ps[a.getMonth()],Ve[Fe]=30*Le,Ve[Ge]=30*$e,Ve[rt]=30*We,se.current[Ae]=Ve}}Z([...se.current]);let Pe=0;if(ee)for(const Le of ee.keys())Pe+=ee.get(Le)??0;let Me=0;if(q)for(const Le of q.keys())Me+=q.get(Le)??0;let Te=0;if(ae&&f)for(const Le of ae.keys())Te+=ae.get(Le)??0;le.current[Ae]=Pe*k*30,te.current[Ae]=Me*k*30,he.current[Ae]=Te*k*30,pe.current[Ae]=le.current[Ae]+te.current[Ae]-he.current[Ae];const De=le.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0);N(De);const Ue=te.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0);E(Ue);const Oe=he.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0);F(Oe),_(pe.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0)),p(De),g(Ue),A(Oe),ht.getState().showSolarRadiationHeatmap||Sn.getState().clearDataStore()},[s]),m.useEffect(()=>{y({x:Math.max(l==null?void 0:l.x,P-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})},[l,P,v]),m.useEffect(()=>{const Ae=()=>{y({x:Math.max(l==null?void 0:l.x,P-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})};return window.addEventListener("resize",Ae),()=>{window.removeEventListener("resize",Ae)}},[l,P,v]),m.useEffect(()=>(b.current&&(C.current||(C.current=new ResizeObserver(()=>{i(Ae=>{b.current&&(Ae.viewState.yearlyBuildingEnergyPanelRect||(Ae.viewState.yearlyBuildingEnergyPanelRect=new ai(0,0,600,500)),Ae.viewState.yearlyBuildingEnergyPanelRect.width=b.current.offsetWidth,Ae.viewState.yearlyBuildingEnergyPanelRect.height=b.current.offsetHeight)})})),C.current.observe(b.current)),()=>{var Ae;(Ae=C.current)==null||Ae.disconnect()}),[]);const ve=(Ae,me)=>{y({x:Math.max(me.x,P-window.innerWidth),y:Math.min(me.y,window.innerHeight-v)})},Ie=(Ae,me)=>{i(Pe=>{Pe.viewState.yearlyBuildingEnergyPanelRect||(Pe.viewState.yearlyBuildingEnergyPanelRect=new ai(0,0,600,360)),Pe.viewState.yearlyBuildingEnergyPanelRect.x=Math.max(me.x,P-window.innerWidth),Pe.viewState.yearlyBuildingEnergyPanelRect.y=Math.min(me.y,window.innerHeight-v)})},ze=()=>{i(Ae=>{Ae.viewState.showYearlyBuildingEnergyPanel=!1,n&&(Ae.actionInfo={name:"Close Yearly Building Energy Graph",timestamp:new Date().getTime()})})},ye=j.t("word.Month",x),oe=j.t("word.Energy",x),ge=J&&J[0]?Object.keys(J[0]).length===0:!0;return h.jsx(Vr,{nodeRef:S,handle:".handle",bounds:"parent",axis:"both",position:T,onDrag:ve,onStop:Ie,onMouseDown:()=>{i(Ae=>{Ae.selectedFloatingWindow="yearlyBuildingEnergyPanel"})},children:h.jsx(TLo,{ref:S,style:{zIndex:w==="yearlyBuildingEnergyPanel"?xc:9},children:h.jsxs(PLo,{ref:b,style:{opacity:o,width:(l?l.width:600)+"px",height:(l?l.height:400)+"px"},children:[h.jsxs(CLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[j.t("buildingEnergyPanel.YearlyBuildingEnergy",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:j.t("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+a.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{ze()},onMouseDown:()=>{ze()},children:`${j.t("word.Close",x)}`})]}),h.jsx(Xst,{type:xr.YearlyBuildingEnergy,dataSource:J,hasSolarPanels:f,labels:Y,height:100,dataKeyAxisX:"Month",labelX:ye,labelY:oe,unitY:j.t("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:H}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[fe.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Heater",x)+": "+W.toFixed(0)}):h.jsx(gl,{content:fe.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Heater",x)+": "+W.toFixed(0)})}),$.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.AC",x)+": "+L.toFixed(0)}):h.jsx(gl,{content:$.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.AC",x)+": "+L.toFixed(0)})}),U!==0&&h.jsx(h.Fragment,{children:de.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.SolarPanel",x)+": "+U.toFixed(0)}):h.jsx(gl,{content:de.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.SolarPanel",x)+": "+U.toFixed(0)})})}),Se.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Net",x)+": "+B.toFixed(0)}):h.jsx(gl,{content:Se.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Net",x)+": "+B.toFixed(0)})}),h.jsx(oo,{type:"default",icon:ge?h.jsx(vh,{}):h.jsx(xf,{}),title:j.t(ge?"word.Run":"word.Update",x),onClick:()=>{const Ae=M.getState().elements,me=M.getState().countElementsByType,Pe=M.getState().getChildrenOfType,Me=eX(Ae,me,Pe);if(Me.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",x));return}if(Me.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let Te;switch(Me.buildingCompletion){case Uc.WALL_DISJOINED:Te=j.t("message.WallsAreNotConnected",x);break;case Uc.WALL_EMPTY:Te=j.t("message.BuildingContainsEmptyWall",x);break;case Uc.ROOF_MISSING:Te=j.t("message.BuildingRoofMissing",x);break;default:Te=j.t("message.UnknownErrors",x)}Do(j.t("message.SimulationWillNotStartDueToErrors",x)+": "+Te);return}Me.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",x)),hn(j.t("message.SimulationStarted",x)),setTimeout(()=>{r(),ht.getState().set(Te=>{Te.runYearlyThermalSimulation=!0,Te.pauseYearlyThermalSimulation=!1,Te.simulationInProgress=!0}),i(Te=>{n&&(Te.actionInfo={name:"Run Yearly Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(oo,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+ye+"-"+oe,"yearly-building-energy").then(()=>{hn(j.t("message.ScreenshotSaved",x)),n&&i(Ae=>{Ae.actionInfo={name:"Take Screenshot of Yearly Building Energy Graph",timestamp:new Date().getTime()}})})}}),se.current&&se.current.length>0&&h.jsx(oo,{type:"default",icon:h.jsx(bf,{}),title:j.t("word.SaveAsCsv",x),onClick:()=>{wh(se.current,"yearly-building-energy.csv"),hn(j.t("message.CsvFileSaved",x)),n&&i(Ae=>{Ae.actionInfo={name:"Export Yearly Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),HLo=be.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(y4t),i=M(A4t),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=m.useRef(null),p=m.useRef(o),g=m.useRef(i),A=Kt();m.useEffect(()=>{var y;(y=f.current)==null||y.focus()},[]);const w=(y,S)=>{if(d.current){const{clientWidth:x,clientHeight:R}=window.document.documentElement,H=d.current.getBoundingClientRect();u({left:-H.left+S.x,right:x-(H.right-S.x),top:-H.top+S.y,bottom:R-((H==null?void 0:H.bottom)-S.y)})}},b=y=>{e(S=>{S.minimumNavigationMoveSpeed=y}),ht.getState().set(S=>{S.navigationMoveSpeed=y})},C=y=>{e(S=>{S.minimumNavigationTurnSpeed=y}),ht.getState().set(S=>{S.navigationTurnSpeed=y})},P=()=>{const y=o,S=p.current;if(y!==S){const H={name:"Minimum Navigation Move Speed",timestamp:Date.now(),oldValue:y,newValue:S,undo:()=>{b(H.oldValue)},redo:()=>{b(H.newValue)}};n(H),b(S)}const x=i,R=g.current;if(x!==R){const H={name:"Minimum Navigation Turn Speed",timestamp:Date.now(),oldValue:x,newValue:R,undo:()=>{C(H.oldValue)},redo:()=>{C(H.newValue)}};n(H),C(R)}},v=()=>{t(!1)},T=()=>{P(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:`${j.t("navigationPanel.NavigationParameters",A)}`}),footer:[h.jsx(oo,{onClick:v,children:`${j.t("word.Cancel",A)}`},"Cancel"),h.jsx(oo,{type:"primary",ref:f,onClick:T,children:`${j.t("word.OK",A)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:y=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(S,x)=>w(S,x),children:h.jsx("div",{ref:d,children:y})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("navigationPanel.MinimumMoveSpeed",A)+" ([1, 10]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:10,style:{width:"100%"},precision:0,value:p.current,step:1,onChange:y=>{p.current=Number(y),a(!r)},onBlur:y=>{const S=y.target.value,x=parseFloat(S);p.current=Number.isNaN(x)?3:x,a(!r)},onPressEnter:y=>{const S=y.target.value,x=parseFloat(S);p.current=Number.isNaN(x)?3:x,a(!r)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("navigationPanel.MinimumTurnSpeed",A)+" ([1, 5]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:5,style:{width:"100%"},precision:0,value:g.current,step:1,onChange:y=>{g.current=Number(y),a(!r)},onBlur:y=>{const S=y.target.value,x=parseFloat(S);g.current=Number.isNaN(x)?3:x,a(!r)},onPressEnter:y=>{const S=y.target.value,x=parseFloat(S);g.current=Number.isNaN(x)?3:x,a(!r)}})})]})]})}),MLo=be.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(pq),i=xe.getShadowMapSize(),r=4096,a=1e4,[l,s]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState({left:0,top:0,bottom:0,right:0}),p=m.useRef(null),g=m.useRef(null),A=m.useRef(o?Math.round(o)/a:1),w=m.useRef(i?Math.round(i/r):1),b=Kt();m.useEffect(()=>{var x;(x=g.current)==null||x.focus()},[]);const C=(x,R)=>{if(p.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,k=p.current.getBoundingClientRect();f({left:-k.left+R.x,right:H-(k.right-R.x),top:-k.top+R.y,bottom:D-((k==null?void 0:k.bottom)-R.y)})}},P=x=>{e(R=>{R.viewState.shadowCameraFar=x})},v=x=>{localStorage.setItem("aladdin-shadow-map-size",x.toString())},T=()=>{const x=o,R=A.current*a;if(x!==R){const k={name:"Shadow Camera Far Distance",timestamp:Date.now(),oldValue:x,newValue:R,undo:()=>{P(k.oldValue)},redo:()=>{P(k.newValue)}};n(k),P(R)}const H=i,D=w.current*r;if(H!==D){const k={name:"Shadow Map Size",timestamp:Date.now(),oldValue:H,newValue:D,undo:()=>{v(k.oldValue)},redo:()=>{v(k.newValue)}};n(k),v(D)}},y=()=>{t(!1)},S=()=>{T(),t(!1),window.location.reload()};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>u(!0),onMouseOut:()=>u(!1),children:`${j.t("shadowSettingsPanel.ShadowSettings",b)}`}),footer:[h.jsx(oo,{onClick:y,children:`${j.t("word.Cancel",b)}`},"Cancel"),h.jsx(oo,{type:"primary",ref:g,onClick:S,children:`${j.t("word.OK",b)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:x=>h.jsx(Vr,{disabled:!c,bounds:d,onStart:(R,H)=>C(R,H),children:h.jsx("div",{ref:p,children:x})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:18,children:j.t("shadowSettingsPanel.ShadowCameraFarDistance",b)+" ([1, 1000]×"+a+"): "}),h.jsx(it,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:1e3,style:{width:"100%"},precision:0,value:A.current,step:1,onChange:x=>{A.current=Number(x),s(!l)},onBlur:x=>{const R=x.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:x=>{const R=x.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"10px"},children:[h.jsx(it,{className:"gutter-row",span:18,children:j.t("shadowSettingsPanel.ShadowMapSize",b)+" ([1, 4]×"+r+"): "}),h.jsx(it,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:4,style:{width:"100%"},precision:0,value:w.current,step:1,onChange:x=>{w.current=Number(x),s(!l)},onBlur:x=>{const R=x.target.value,H=parseFloat(R);w.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:x=>{const R=x.target.value,H=parseFloat(R);w.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsx(nn,{style:{fontSize:"10px"},children:h.jsxs(it,{span:24,children:[j.t("shadowSettingsPanel.Notes",b),":",h.jsx("br",{}),h.jsxs("ul",{children:[h.jsx("li",{children:j.t("shadowSettingsPanel.RefreshPageNote",b)}),h.jsx("li",{children:j.t("shadowSettingsPanel.MapSizeWarning",b)})]})]})})]})}),ILo=be.memo(()=>{const t=M(_1e),e=M(mq),n=M(RBe),o=M(gAt),i=M(HBe),r=M(MBe),a=M(AAt),l=M(vAt),s=ht(p4t),c=ht(g4t),u=ht(m4t),d=ht(cs),f=M(IBe),p=M(HAt),g=M(zBe),A=M(EAt),w=M(FAt),b=M(DBe),C=M(NAt),P=M(EBe),v=M(jAt),T=M(kBe),y=M(_At),S=M(FBe),x=M(XAt),R=M(LBe),H=M(qAt),D=M(SAt),k=M(PAt),W=M(QAt),N=M(Hq),L=M(Xs),E=M(wb),U=M(Nje),F=M(Wje),B=M(fge),_=M(hq)??!1,[Y,O]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(B).length===0)return;const J=U(L,E)??"Boston MA, USA";O(J),F(J)},[L,E,B]),h.jsxs(h.Fragment,{children:[o&&h.jsx(g9o,{}),i&&h.jsx(w9o,{}),r&&h.jsx(Vko,{}),t&&h.jsx(pFo,{}),e&&h.jsx(sFo,{}),(n||_)&&!N&&h.jsx(Jko,{}),a&&h.jsx(DIo,{city:Y,graphs:[xr.MonthlyTemperatures,xr.SunshineHours]}),l&&h.jsx(sLo,{city:Y}),s&&h.jsx(ALo,{setDialogVisible:J=>{ht.getState().set(Z=>{Z.showEconomicsPanel=J})}}),c&&h.jsx(HLo,{setDialogVisible:J=>{ht.getState().set(Z=>{Z.showNavigationPanel=J})}}),u&&h.jsx(MLo,{setDialogVisible:J=>{ht.getState().set(Z=>{Z.showShadowSettings=J})}}),p&&h.jsx(LIo,{city:Y}),f&&h.jsx(Bko,{city:Y}),A&&h.jsx(Qko,{city:Y}),g&&h.jsx(nFo,{city:Y}),w&&h.jsx(xFo,{}),C&&h.jsx(PFo,{city:Y}),b&&h.jsx(MFo,{city:Y}),v&&h.jsx(WFo,{city:Y}),P&&h.jsx(EFo,{city:Y}),T&&h.jsx(jFo,{city:Y}),y&&h.jsx(VFo,{city:Y}),S&&h.jsx(KFo,{city:Y}),x&&h.jsx(ZFo,{city:Y}),R&&h.jsx(iLo,{city:Y}),H&&h.jsx(fLo,{city:Y}),D&&h.jsx(SLo,{city:Y}),k&&h.jsx(RLo,{city:Y}),d&&h.jsx(yFo,{}),W&&h.jsx(yLo,{})]})});class il{static computeSolarPanelOutput(e,n,o,i,r,a,l,s,c){const u=r.parentType===z.Roof,d=r.parentType===z.Wall;u&&(a=l);const f=d?xe.absoluteCoordinates(r.cx,r.cy,r.cz,a,l,r.lz):xe.absoluteCoordinates(r.cx,r.cy,r.cz,a),p=a.rotation[2];let g=r.tiltAngle,A=p+r.relativeAzimuth,w=!0;if(u&&(f.z=r.cz+r.lz+.02+a.cz+a.lz/2,xe.isZero(r.rotation[0])?f.z+=r.poleHeight:(g=r.rotation[0],A=p,w=!1)),d&&!xe.isZero(r.tiltAngle)){const ie=a,q=(l?l.rotation[2]+ie.relativeAngle:ie.relativeAngle)-Vt,ae=r.ly*Math.abs(Math.sin(r.tiltAngle))/2;f.x+=ae*Math.cos(q),f.y+=ae*Math.sin(q)}const b=new re().fromArray(r.normal),C=e.getMonth(),P=xe.dayOfYear(e),v=n.solarRadiationHeatmapGridCellSize??.5;let T,y,S,x,R;n.discretization===Hm.EXACT?(T=r.lx,y=r.ly,r.orientation===ui.portrait?(S=Math.max(1,Math.round(r.lx/i.width)),x=Math.max(1,Math.round(r.ly/i.length)),S*=i.n,x*=i.m):(S=Math.max(1,Math.round(r.lx/i.length)),x=Math.max(1,Math.round(r.ly/i.width)),S*=i.m,x*=i.n),R=r.lx/S):(T=r.lx,y=r.ly,S=Math.max(2,Math.round(r.lx/v)),x=Math.max(2,Math.round(r.ly/v)),S%2!==0&&(S+=1),x%2!==0&&(x+=1),R=v);const H=T/S,D=y/x,k=f.x-(T-R)/2,W=f.y-(y-R)/2,N=u||d?f.z:a.lz+r.poleHeight+r.lz,L=new Gt(f.x,f.y),E=new re,U=Array.from(Array(S),()=>new Array(x));let F=new Qt(u&&!w?0:g,0,A,"ZYX");if(r.trackerType!==Ma.NO_TRACKER){const ie=p?o.clone().applyAxisAngle(Po,-p):o.clone();switch(r.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const ee=new Ts().setFromUnitVectors(Po,ie);F=new Qt().setFromQuaternion(ee),F.z+=A;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const ee=new Ts().setFromUnitVectors(Po,new re(ie.x,0,ie.z).normalize());F=new Qt().setFromQuaternion(ee),F.z+=A;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const ee=new re(ie.x,-ie.y,0).normalize(),q=Math.acos(Yc.dot(ee))*Math.sign(ee.x);F=new Qt(r.tiltAngle,0,q+p,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}b.applyEuler(F),u&&!w&&(F.x=r.rotation[0],F.z=r.rotation[2]+p),d&&(F.x=Vt+r.tiltAngle,F.z=a.relativeAngle+p);const B=Rr(o,P,s,vr.SPHERE_MODEL),_=tr(n.ground,C,b,B),Y=b.dot(o),O=new Gt,J=new re;for(let ie=0;ie0&&(O.set(k+ie*H,W+ee*D),J.set(O.x-L.x,O.y-L.y,0),J.applyEuler(F),E.set(f.x+J.x,f.y+J.y,N+J.z),c(r.id,E,o)<0&&(U[ie][ee]+=Y*B));let Z=0;switch(i.shadeTolerance){case zv.NONE:{let ie=Number.MAX_VALUE;for(let ee=0;eeArray(b).fill(0)),U=Array(w).fill(0).map(()=>Array(b).fill(0));let F;for(let B=0;B0)for(const ie of a){if(ie.type!==z.Window)continue;const ee=ie.cx*i.lx,q=ie.cz*i.lz,ae=ie.lx*i.lx/2,ne=ie.lz*i.lz/2,se=ie;if(se.windowType===Sr.Arched){const le=T.clone().add(new re(se.cx*i.lx,0,se.cz*i.lz));il.pointWithinArch(R,se.lx,se.lz,se.archHeight,le)&&(F=!1)}else if(J.x>=ee-ae&&J.x=q-ne&&J.y0)for(const ie of l){if(ie.type!==z.Door)continue;const ee=ie.cx*i.lx,q=ie.cz*i.lz,ae=ie.lx*i.lx/2,ne=ie.lz*i.lz/2,se=ie;if(se.doorType===Sd.Arched){const le=T.clone().add(new re(se.cx*i.lx,0,se.cz*i.lz));il.pointWithinArch(R,se.lx,se.lz,se.archHeight,le)&&(F=!1)}else if(J.x>=ee-ae&&J.x=q-ne&&J.y0)for(const ie of s){const ee=ie.cx*i.lx,q=ie.cz*i.lz,ae=ie.lx/2,ne=ie.ly/2;if(J.x>=ee-ae&&J.x=q-ne&&J.yZ3||ee<0)&&ie&&(E[B][_]+=N),L>0&&ee<0&&(U[B][_]+=L*W,ie&&(E[B][_]+=L*W))}}}return{intensity:E,unitArea:C*P,heatmap:U}}static computeDoorSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=xe.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx*r.lx,f=i.lz*r.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),A=d/p,w=f/g,b=a.rotation[2]+r.relativeAngle,P=xe.wallAbsolutePosition(new re(r.cx,r.cy,r.cz),a).setZ(r.lz/2+a.lz).clone().add(new re(i.cx*r.lx,0,i.cz*r.lz)),v=new re(Math.cos(b-Vt),Math.sin(b-Vt),0),T=A*Math.cos(b),y=A*Math.sin(b),S=new re,x=Rr(o,c,l,vr.SPHERE_MODEL),R=tr(n.ground,e.getMonth(),v,x),H=v.dot(o),D=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.doorType===Sd.Arched)for(let k=0;k0&&s(i.id,S,o)<0&&(D[k][W]+=H*x))}else for(let k=0;k0){const N=k-p/2+.5,L=W-g/2+.5;S.set(P.x+N*T,P.y+N*y,P.z+L*w),s(i.id,S,o)<0&&(D[k][W]+=H*x)}return{intensity:D,unitArea:A*w}}static pointWithinArch(e,n,o,i,r){if(i>0){const a=.5*n,l=Math.min(i,o,a),s=.5*(l+a*a/l),c=e.x-r.x,u=e.y-r.y,d=c*c+u*u;let f=e.z-r.z;return d-o/2?!0:(f=e.z-(o-s),d+f*fArray(g).fill(0));if(i.windowType===Sr.Arched)for(let k=0;k0&&s(i.id,S,o)<0&&(D[k][W]+=H*x))}else for(let k=0;k0){const N=k-p/2+.5,L=W-g/2+.5;S.set(P.x+N*T,P.y+N*y,P.z+L*w),s(i.id,S,o)<0&&(D[k][W]+=H*x)}return{intensity:D,unitArea:A*w}}static computeRoofWindowSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=xe.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx,f=i.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),A=d/p,w=f/g,b=new re(i.cx,i.cy,i.cz).applyEuler(new Qt(0,0,a.rotation[2]));b.x+=a.cx,b.y+=a.cy,b.z+=a.lz;const C=new Qt(i.rotation[0],i.rotation[1],i.rotation[2]+a.rotation[2],"ZXY"),P=new re(0,0,1).applyEuler(C),v=new re,T=Rr(o,c,l,vr.SPHERE_MODEL),y=tr(n.ground,e.getMonth(),P,T),S=P.dot(o),x=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.windowType===Sr.Arched)for(let R=0;R0&&s(i.id,v,o)<0&&(x[R][H]+=S*T))}else for(let R=0;R0){const D=R-p/2+.5,k=H-g/2+.5,W=new re(D,k,0);W.applyEuler(C),v.set(b.x+W.x,b.y+W.y,b.z+W.z),s(i.id,v,o)<0&&(x[R][H]+=S*T)}return{intensity:x,unitArea:A*w}}static computePyramidRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=n.solarRadiationHeatmapGridCellSize??.5,g=xe.dayOfYear(e),A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,g,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P,y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/p)),L=Math.max(2,Math.round(W/p)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize();const U=N*H.dot(R)/k;H.normalize(),D.normalize();const F=new re().crossVectors(H,D).normalize(),B=R.multiplyScalar(.5*k/N),_=new re().crossVectors(F,R).normalize().multiplyScalar(.5*W/L),Y=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));Y.add(B).add(_),B.multiplyScalar(2),_.multiplyScalar(2),C.push(B.length()*_.length());const O=new re,J=[],Z=.01;J.push({x:-Z,y:-Z}),J.push({x:N+Z,y:-Z}),J.push({x:U,y:L+Z});const ie=tr(n.ground,e.getMonth(),F,w),ee=F.dot(o);for(let q=0;qZ3||le<0)&&(E[q][ne]+=ie),ee>0&&le<0&&(E[q][ne]+=ee*w)}}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeHipRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=xe.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,p,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P,y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/g)),L=Math.max(2,Math.round(W/g)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize();const U=N*H.dot(R)/k;H.normalize(),D.normalize();const F=new re().crossVectors(H,D).normalize(),B=R.multiplyScalar(.5*k/N),_=new re().crossVectors(F,R).normalize().multiplyScalar(.5*W/L),Y=new re,O=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));O.add(B).add(_),B.multiplyScalar(2),_.multiplyScalar(2),C.push(B.length()*_.length());const J=tr(n.ground,e.getMonth(),F,w),Z=F.dot(o),ie=[];for(const ee of v)ie.push({x:ee.x,y:ee.y});if(P%2===0)for(let ee=0;eeZ3||se<0)&&(E[ee][ae]+=J),Z>0&&se<0&&(E[ee][ae]+=Z*w)}}}else{const ee=[];ee.push({x:-.01,y:-.01}),ee.push({x:N+.01,y:-.01}),ee.push({x:U,y:L+.01});for(let ae=0;aeZ3||te<0)&&(E[ae][se]+=J),Z>0&&te<0&&(E[ae][se]+=Z*w)}}}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeGambrelRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=xe.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,p,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P,y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/g)),L=Math.max(2,Math.round(W/g)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize(),H.normalize(),D.normalize();const U=new re().crossVectors(H,D).normalize(),F=R.multiplyScalar(.5*k/N),B=new re().crossVectors(U,R).normalize().multiplyScalar(.5*W/L),_=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));_.add(F).add(B),F.multiplyScalar(2),B.multiplyScalar(2),C.push(F.length()*B.length());const Y=new re,O=tr(n.ground,e.getMonth(),U,w),J=U.dot(o);for(let Z=0;ZZ3||q<0)&&(E[Z][ee]+=O),J>0&&q<0&&(E[Z][ee]+=J*w)}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeMansardRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=xe.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,p,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P;if(P===l.length-1){let y=Number.MAX_VALUE,S=Number.MAX_VALUE,x=-Number.MAX_VALUE,R=-Number.MAX_VALUE;for(const _ of v){const Y=_.clone().applyEuler(A);Y.x>x&&(x=Y.x),Y.xR&&(R=Y.y),Y.yArray(k).fill(0));b.push(L);const E=new re(y+g/2,S+g/2,s.lz+H+f0+(a?i.thickness:0)),U=new re(0,0,E.z),F=tr(n.ground,e.getMonth(),Po,w),B=Po.dot(o);for(let _=0;_Z3||O<0)&&(L[_][Y]+=F),B>0&&O<0&&(L[_][Y]+=B*w)}}}else{const y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/g)),L=Math.max(2,Math.round(W/g)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize(),H.normalize(),D.normalize();const U=new re().crossVectors(H,D).normalize(),F=R.multiplyScalar(.5*k/N),B=new re().crossVectors(U,R).normalize().multiplyScalar(.5*W/L),_=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));_.add(F).add(B),F.multiplyScalar(2),B.multiplyScalar(2),C.push(F.length()*B.length());const Y=new re,O=tr(n.ground,e.getMonth(),U,w),J=U.dot(o);for(let Z=0;ZZ3||q<0)&&(E[Z][ee]+=O),J>0&&q<0&&(E[Z][ee]+=J*w)}}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeFlatRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=xe.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),A=Rr(o,f,u,vr.SPHERE_MODEL),w=[],b=[];let C=Number.MAX_VALUE,P=Number.MAX_VALUE,v=-Number.MAX_VALUE,T=-Number.MAX_VALUE;for(const E of a)for(const U of E){const F=U.clone().applyEuler(g);F.x>v&&(v=F.x),F.xT&&(T=F.y),F.yArray(S).fill(0));w.push(H),b.push(x*R);const D=a[0][0].z,k=new re(C+p/2,P+p/2,l.lz+D+f0+(r?i.thickness:0)),W=new re(0,0,k.z),N=tr(n.ground,e.getMonth(),Po,A),L=Po.dot(o);for(let E=0;EZ3||F<0)&&(H[E][U]+=N),L>0&&F<0&&(H[E][U]+=L*A)}}return{segmentIntensities:w,segmentUnitArea:b}}static computeGableRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=xe.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),A=Rr(o,f,u,vr.SPHERE_MODEL),w=[],b=[];for(const[C,P]of a.entries()){const v=i.id+"-"+C,T=P[0].clone().applyEuler(g),y=P[1].clone().applyEuler(g),S=P[2].clone().applyEuler(g),x=new re().subVectors(y,T),R=new re().subVectors(S,T),H=new re().subVectors(S,y),D=x.length(),k=new re().crossVectors(R,H).length()/D,W=Math.max(2,Math.round(D/p)),N=Math.max(2,Math.round(k/p)),L=Array(W).fill(0).map(()=>Array(N).fill(0));w.push(L),x.normalize(),R.normalize(),H.normalize();const E=new re().crossVectors(R,H).normalize(),U=x.multiplyScalar(.5*D/W),F=new re().crossVectors(E,x).normalize().multiplyScalar(.5*k/N),B=new re(l.cx+T.x,l.cy+T.y,l.lz+T.z+f0+(r?i.thickness:0));B.add(U).add(F),U.multiplyScalar(2),F.multiplyScalar(2),b.push(U.length()*F.length());const _=new re,Y=tr(n.ground,e.getMonth(),E,A),O=E.dot(o);for(let J=0;JZ3||ee<0)&&(L[J][ie]+=Y),O>0&&ee<0&&(L[J][ie]+=O*A)}}}return{segmentIntensities:w,segmentUnitArea:b}}static isPointRoof(e,n,o,i){if(n&&n.length>0)for(const r of n){const a=In.getAbsoluteWindowVerticesOnRoof(r,i),l=xe.getPoints(a);if(xe.isPointInside(e.x,e.y,l))return!1}if(o&&o.length>0)for(const r of o){const a=In.getAbsoluteSolarPanelVerticesOnRoof(r,i),l=xe.getPoints(a);if(xe.isPointInside(e.x,e.y,l))return!1}return!0}}const zLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(cA),i=M(rr),r=M(Q9),a=M(J2),l=Sn(q1e),s=Sn($L),c=Sn(Q1e),u=Sn(x4t),d=Sn(S4t),f=Sn(P4t),p=M(ha),g=ht(QL),A=ht(rwt),w=ht(wq),b=ht(awt),C=M.getState().world,P=M.getState().elements,v=C.noAnimationForThermalSimulation,T=C.highestTemperatureTimeInMinutes??900,y=m.useRef(0),S=m.useRef(!1),x=m.useRef(new Date(C.date)),R=m.useRef(0),H=m.useRef(!1),D=m.useRef(new Date(C.date)),k=m.useRef(0),W=m.useRef({high:20,low:0}),N=m.useRef(20),L=m.useRef(20),E=m.useRef(new Map),U=m.useRef(new Map),F=m.useRef(new Map),B=m.useRef([]),_=m.useRef([]),Y=m.useRef(),O=m.useRef(),J=m.useRef(0),Z=m.useRef(new Map),ie=Kt(),ee=l1(t),q=new Date(C.date),ae=t?ee==null?void 0:ee.elevation:0,ne=C.monthlyIrradianceLosses??new Array(12).fill(.05),se=C.timesPerHour??4,le=60/se,te=C.daysPerYear??6,he=12/te,{scene:pe}=Xi(),fe=m.useMemo(()=>new Gs,[]),$=()=>$5(1,pye(q),QW(q),xe.toRadians(C.latitude)).normalize(),de=(_e,nt,yt)=>{if(B.current.length>1){_.current.length=0,fe.set(nt,yt);const Tt=B.current.filter(Rt=>Rt.uuid!==_e);if(fe.intersectObjects(Tt,!1,_.current),_.current.length>0)return _.current[0].distance}return-1},Se=()=>{const _e=pe.children.filter(nt=>nt.name==="Content");if(_e.length>0){const nt=_e[0].children;B.current.length=0;for(const yt of nt)xe.fetchSimulationElements(yt,B.current)}},Ce=_e=>{if(ee){W.current=Jx(q,ee.lowestTemperatures,ee.highestTemperatures);const nt=xe.minutesIntoDay(_e);N.current=Xx(W.current.high,W.current.low,C.diurnalTemperatureModel??d2.Sinusoidal,T,sl(_e,C.latitude),nt),L.current=tQe(C.latitude,xe.dayOfYear(q),nt,ee.lowestTemperatures,ee.highestTemperatures,T,.5*(W.current.high-W.current.low),C.ground.thermalDiffusivity??.05,QNe)}},ve=(_e,nt)=>{let yt=E.current.get(_e);yt||(yt=new Array(24).fill(0),E.current.set(_e,yt)),yt[q.getHours()]+=nt},Ie=(_e,nt)=>{let yt=U.current.get(_e);yt||(yt=new Array(24).fill(0),U.current.set(_e,yt)),yt[q.getHours()]+=nt},ze=(_e,nt)=>{let yt=F.current.get(_e);yt||(yt=new Array(24).fill(0),F.current.set(_e,yt)),yt[q.getHours()]+=nt},ye=()=>{var _e,nt,yt,Tt;for(const Rt of P){if(xe.onBuildingEnvelope(Rt)&&((_e=E.current.get(Rt.id))==null||_e.fill(0)),Rt.type===z.Roof)for(const Wt of E.current.keys())Wt!==Rt.id&&Wt.startsWith(Rt.id)&&((nt=E.current.get(Wt))==null||nt.fill(0));Rt.type===z.Foundation&&((yt=U.current.get(Rt.id))==null||yt.fill(0),(Tt=F.current.get(Rt.id))==null||Tt.fill(0))}},oe=()=>{Z.current.clear()};m.useEffect(()=>{if(g)if(v&&!xe.hasMovingParts(P))ge();else return Se(),Ae(),y.current=requestAnimationFrame(Pe),()=>{cancelAnimationFrame(y.current),S.current||(hn(j.t("message.SimulationAborted",ie)),e(_e=>{_e.world.date=x.current.toLocaleString("en-US")}),ht.getState().set(_e=>{_e.simulationInProgress=!1,_e.simulationPaused=!1})),H.current=!1}},[g]),m.useEffect(()=>{H.current=A,A?(D.current=new Date(q.getTime()),cancelAnimationFrame(y.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",ie))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+le),Pe())},[A]);const ge=()=>{Oe()},Ae=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(x.current=new Date(C.date),k.current=xe.dayOfYear(q),q.setHours(0,le/2)),S.current=!1,ye(),oe()},me=()=>{for(const _e of P){if(xe.onBuildingEnvelope(_e)||_e.type===z.SolarPanel){const nt=E.current.get(_e.id);nt&&u(_e.id,[...nt]);const yt=Z.current.get(_e.id);yt&&l(_e.id,yt.map(Tt=>[...Tt]))}if(_e.type===z.Roof){for(const nt of E.current.keys())if(nt!==_e.id&&nt.startsWith(_e.id)){const yt=E.current.get(nt);yt&&u(nt,[...yt]);const Tt=Z.current.get(nt);Tt&&l(nt,Tt.map(Rt=>[...Rt]))}}if(_e.type===z.Foundation){let nt=U.current.get(_e.id);nt&&d(_e.id,[...nt]),nt=F.current.get(_e.id),nt&&f(_e.id,[...nt])}}ht.getState().set(_e=>{_e.flagOfDailySimulation=!_e.flagOfDailySimulation,_e.runYearlyThermalSimulation||(_e.showSolarRadiationHeatmap=!0,_e.showHeatFluxes=!0)}),p&&!w&&setTimeout(()=>{e(_e=>{const nt=Sn.getState().totalBuildingHeater,yt=Sn.getState().totalBuildingAc,Tt=Sn.getState().totalBuildingSolarPanel;_e.actionInfo={name:"Daily Building Energy Analysis Completed",result:{Heater:nt.toFixed(2),AC:yt.toFixed(2),SolarPanel:Tt.toFixed(2),Net:(nt+yt-Tt).toFixed(2)},timestamp:new Date().getTime()}})},10)},Pe=()=>{if(g&&!H.current){if(q.getMinutes()+q.getHours()*60+(xe.dayOfYear(q)-k.current)*A2+le>A2){Oe(),cancelAnimationFrame(y.current),e(nt=>{nt.world.date=x.current.toLocaleString("en-US"),nt.viewState.showDailyBuildingEnergyPanel=!0,nt.selectedFloatingWindow="dailyBuildingEnergyPanel"}),ht.getState().set(nt=>{nt.runDailyThermalSimulation=!1,nt.simulationPaused=!1,nt.simulationInProgress=!1}),hn(j.t("message.SimulationCompleted",ie)),S.current=!0,me();return}e(nt=>{nt.world.date=q.toLocaleString("en-US")}),Oe(),y.current=requestAnimationFrame(Pe),q.setHours(q.getHours(),q.getMinutes()+le)}},[Me,Te]=m.useState(q.getMonth());m.useEffect(()=>{setTimeout(()=>{Se()},200)},[Me]),m.useEffect(()=>{if(w)if(ht.getState().set(_e=>{_e.showSolarRadiationHeatmap=!1,_e.showHeatFluxes=!1}),v&&!xe.hasMovingParts(P))setTimeout(()=>{},50);else return De(),Te(q.getMonth()),Se(),y.current=requestAnimationFrame(Ue),()=>{cancelAnimationFrame(y.current),S.current||(hn(j.t("message.SimulationAborted",ie)),e(_e=>{_e.world.date=x.current.toLocaleString("en-US")}),ht.getState().set(_e=>{_e.simulationInProgress=!1,_e.simulationPaused=!1})),H.current=!1}},[w]),m.useEffect(()=>{H.current=b,b?(D.current=new Date(q.getTime()),cancelAnimationFrame(y.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",ie))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+le),Ue())},[b]);const De=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(x.current=new Date(C.date),R.current=0,q.setMonth(0,22),k.current=xe.dayOfYear(q),q.setHours(0,le/2),e(_e=>{_e.viewState.showYearlyBuildingEnergyPanel=!0,_e.selectedFloatingWindow="yearlyBuildingEnergyPanel",_e.world.date=q.toLocaleString("en-US")})),ye(),oe(),S.current=!1},Ue=()=>{w&&!H.current&&(q.getMinutes()+q.getHours()*60+(xe.dayOfYear(q)-k.current)*A2{nt.world.date=q.toLocaleString("en-US")}),Oe(),q.setHours(q.getHours(),q.getMinutes()+le),y.current=requestAnimationFrame(Ue)):(me(),R.current++,R.current===te?(cancelAnimationFrame(y.current),setTimeout(()=>{e(nt=>{nt.world.date=x.current.toLocaleString("en-US")})},10),ht.getState().set(nt=>{nt.runYearlyThermalSimulation=!1,nt.simulationInProgress=!1,nt.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",ie)),S.current=!0,p&&setTimeout(()=>{e(nt=>{const yt=Sn.getState().totalBuildingHeater,Tt=Sn.getState().totalBuildingAc,Rt=Sn.getState().totalBuildingSolarPanel;nt.actionInfo={name:"Yearly Building Energy Analysis Completed",result:{Heater:yt.toFixed(2),AC:Tt.toFixed(2),SolarPanel:Rt.toFixed(2),Net:(yt+Tt-Rt).toFixed(2)},timestamp:new Date().getTime()}})},10)):(q.setMonth(R.current*he,22),q.setHours(0,le/2),Te(q.getMonth()),k.current=xe.dayOfYear(q),ye(),oe(),y.current=requestAnimationFrame(Ue))))},Oe=()=>{Ce(q),O.current=sl(q,C.latitude);const _e=O.current.daylight()/60;J.current=_e>Dt?ee.sunshineHours[q.getMonth()]/(30*_e*se):0,Y.current=$();for(const nt of P)switch(nt.type){case z.Door:{rt(nt);break}case z.Window:{Fe(nt),Ge(nt);break}case z.Wall:{Ve(nt);break}case z.Roof:{const yt=nt;Qe(yt),xt(yt);break}case z.SolarPanel:{Ee(nt);break}}},Le=(_e,nt)=>{let yt=nt.efficiency;return nt.cellType==="Monocrystalline"&&(yt*=.95),yt*(1+nt.pmaxTC*(_e-25))},$e=()=>{if(!O.current)throw new Error("sun minutes not set");const _e=O.current.daylight()/60;return _e>Dt?ee.sunshineHours[q.getMonth()]/(30*_e*se):0},We=_e=>{if(!a(_e.pvModelName))throw new Error("PV model not found");return _e.lx*_e.ly*(_e.inverterEfficiency??.95)*(1-ne[q.getMonth()])},Ee=_e=>{const nt=o(_e);if(nt){const yt=i(_e);if(yt){const Tt=a(_e.pvModelName);if(Y.current&&Y.current.z>0){const Rt=il.computeSolarPanelOutput(q,C,Y.current,Tt,_e,yt,nt,ae,de),Wt=Le(N.current,Tt)*$e()*We(_e);if(ze(nt.id,Rt.average*Wt),g){for(let At=0;At{var yt;if(_e.interior)return;const nt=o(_e);if(nt){const Tt=i(_e);if(Tt){const Rt=((yt=nt.hvacSystem)==null?void 0:yt.thermostatSetpoint)??20,Wt=xe.getWindowArea(_e,_e.parentType===z.Roof?void 0:Tt),Ct=N.current-Rt;_e.empty?ve(_e.id,Ct*Wt*aO*.001/se):ve(_e.id,Ct*Wt*(_e.uValue??B4)*.001/se)}}},Ge=_e=>{if(_e.interior)return;const nt=o(_e);if(nt){const yt=i(_e);if(yt){let Tt=0;if(_e.parentType===z.Roof){const Rt=s(yt.id);if(!Rt)return;for(let Wt=0;Wt0){const Ct=il.computeRoofWindowSolarRadiationEnergy(q,C,Y.current,_e,yt,nt,ae,de);for(let At=0;At0){const Rt=il.computeWallWindowSolarRadiationEnergy(q,C,Y.current,_e,yt,nt,ae,de);for(let Wt=0;Wt{var yt;if(_e.interior)return;const nt=o(_e);if(nt){const Tt=i(_e);if(Tt){const Rt=((yt=nt.hvacSystem)==null?void 0:yt.thermostatSetpoint)??20,Wt=xe.getDoorArea(_e,Tt);if(_e.filled){const Ct=G8(_e);let At=0;if(Y.current&&Y.current.z>0){const Je=il.computeDoorSolarRadiationEnergy(q,C,Y.current,_e,Tt,nt,ae,de);for(let ct=0;ct{var yt;const nt=o(_e);if(nt){const Tt=_e.fill!==Hl.Empty&&_e.wallStructure===hc.Default,Rt=((yt=nt.hvacSystem)==null?void 0:yt.thermostatSetpoint)??20;if(Tt){const Wt=_e.fill===Hl.Partial&&!xe.isPartialWallFull(_e),Ct=xe.getWallVertices(_e,0),At=Wt?xe.getPartialWallVertices(_e,0):Ct,Ft=xe.getPolygonArea(Ct);let Ke=Wt?xe.getPolygonArea(At):Ft;const Je=r(z.Window,_e.id),ct=r(z.Door,_e.id),Pt=G8(_e);let Ne=0;if(Y.current&&Y.current.z>0){const je=(Wt?At.length:Ct.length)===4,mt=r(z.SolarPanel,_e.id),Ht=il.computeWallSolarRadiationEnergy(q,C,Y.current,_e,nt,Je,ct,mt,je?0:1,ae,de);for(let wt=0;wt0)for(const je of Je)Ke-=xe.getWindowArea(je,_e);if(ct&&ct.length>0)for(const je of ct)Ke-=je.lx*je.lz*_e.lx*_e.lz;const lt=xe.isZero(Ne)||xe.isZero(Pt)?0:Ne*Pt/((_e.volumetricHeatCapacity??.5)*Ke*_e.ly);let st=(N.current+lt-Rt)*Ke/(_e.rValue??i6)*.001/se;Wt&&_e.openToOutside&&(st+=(N.current-Rt)*(Ft-Ke)*aO*.001/se),ve(_e.id,st)}else if(_e.openToOutside){const Wt=xe.getWallVertices(_e,0),Ct=xe.getPolygonArea(Wt),At=N.current-Rt;ve(_e.id,At*Ct*aO*.001/se)}}},xt=_e=>{var Wt;const nt=o(_e);if(!nt)return;const yt=((Wt=nt.hvacSystem)==null?void 0:Wt.thermostatSetpoint)??20,Tt=xe.calculateBuildingArea(_e),Rt=L.current-yt;ve(nt.id,Rt*Tt/(nt.rValue??Q4)*.001/se)},dt=(_e,nt,yt)=>{const Tt=1/(_e.rValue??Z4),Rt=1/(_e.ceilingRValue??c6);return(Tt*nt+Rt*yt)/(Tt+Rt)},Qe=_e=>{var Rt;const nt=o(_e);if(!nt)return;const yt=s(_e.id);if(!yt)return;let Tt;switch(_e.roofType){case Vo.Pyramid:Tt=ut(_e,yt,nt);break;case Vo.Hip:Tt=ft(_e,yt,nt);break;case Vo.Gable:Tt=et(_e,yt,nt);break;case Vo.Gambrel:Tt=at(_e,yt,nt);break;case Vo.Mansard:Tt=ot(_e,yt,nt);break}if(Tt){const Wt=((Rt=nt.hvacSystem)==null?void 0:Rt.thermostatSetpoint)??20;let Ct=0;for(const[At,Ft]of Tt.entries()){const Je=(Ft.surfaceTemperature-(_e.ceiling?dt(_e,Ft.surfaceTemperature,Wt):Wt))*Ft.totalArea/(_e.rValue??Z4)*.001/se;ve(_e.id+"-"+At,Je),Ct+=Je}ve(_e.id,Ct)}},ut=(_e,nt,yt)=>{if(_e.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const Ne of nt)for(const lt of Ne)if(Math.abs(lt.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,At=r(z.Window,_e.id),Ft=[];if(Rt){let Ne=0;for(const lt of nt){const Ye=[];for(const st of lt)Ye.push(xe.mapVector3ToPoint2(st));Ne+=xe.getPolygonArea(Ye)}if(At.length>0){for(const lt of At)Ne-=lt.lx*lt.lz;Ne<0&&(Ne=0)}Ft.push(Ne)}else for(const Ne of nt){let lt=xe.getTriangleArea(Ne[0],Ne[1],Ne[2]);if(At.length>0){for(const Ye of At)In.onSegment(Ne,Ye.cx,Ye.cy)&&(lt-=Ye.lx*Ye.lz);lt<0&&(lt=0)}Ft.push(lt)}const Ke=G8(_e),Je=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const Ne=r(z.SolarPanel,_e.id),lt=il.computePyramidRoofSolarRadiationEnergy(q,C,Y.current,_e,Rt,!0,nt,yt,At,Ne,ae,de);for(let Ye=0;Ye{if(_e.roofType!==Vo.Hip)throw new Error("roof is not hip");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const lt of nt)for(const Ye of lt)if(Math.abs(Ye.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,At=[],Ft=r(z.Window,_e.id);for(const lt of nt){let Ye=0;if(lt.length===3?Ye=xe.getTriangleArea(lt[0],lt[1],lt[2]):lt.length===4&&(Ye=xe.getTriangleArea(lt[0],lt[1],lt[2])+xe.getTriangleArea(lt[2],lt[3],lt[0])),Ft.length>0){for(const st of Ft)In.onSegment(lt,st.cx,st.cy)&&(Ye-=st.lx*st.lz);Ye<0&&(Ye=0)}At.push(Ye)}const Ke=Rt?[At.reduce((lt,Ye)=>lt+Ye,0)]:At,Je=G8(_e),ct=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const lt=r(z.SolarPanel,_e.id),Ye=il.computeHipRoofSolarRadiationEnergy(q,C,Y.current,_e,Rt,!0,nt,yt,Ft,lt,ae,de);for(let st=0;st{if(_e.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const lt of nt)for(const Ye of lt)if(Math.abs(Ye.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,At=[],Ft=r(z.Window,_e.id);for(const lt of nt){let Ye=xe.getTriangleArea(lt[0],lt[1],lt[2])+xe.getTriangleArea(lt[2],lt[3],lt[0]);if(Ft.length>0){for(const st of Ft)In.onSegment(lt,st.cx,st.cy)&&(Ye-=st.lx*st.lz);Ye<0&&(Ye=0)}At.push(Ye)}const Ke=Rt?[At.reduce((lt,Ye)=>lt+Ye,0)]:At,Je=G8(_e),ct=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const lt=r(z.SolarPanel,_e.id),Ye=il.computeGambrelRoofSolarRadiationEnergy(q,C,Y.current,_e,Rt,!0,nt,yt,Ft,lt,ae,de);for(let st=0;st{if(_e.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const je of nt)for(const mt of je)if(Math.abs(mt.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,At=[],Ft=r(z.Window,_e.id);for(let je=0;je0){for(const wt of Ft)In.onSegment(mt,wt.cx,wt.cy)&&(Ht-=wt.lx*wt.lz);Ht<0&&(Ht=0)}At.push(Ht)}const Ke=nt[Tt-1],Je=new Array;for(const je of Ke)Je.push({x:je.x,y:je.y});let ct=xe.getPolygonArea(Je);if(Ft.length>0){for(let je=Ft.length-1;je>=0;je--){const mt=Ft[je];In.onSegment(Ke,mt.cx,mt.cy)&&(ct-=mt.lx*mt.lz,Ft.splice(je,1))}ct<0&&(ct=0)}At.push(ct);const Pt=Rt?[At.reduce((je,mt)=>je+mt,0)]:At,Ne=G8(_e),lt=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const je=r(z.SolarPanel,_e.id),mt=il.computeMansardRoofSolarRadiationEnergy(q,C,Y.current,_e,Rt,!0,nt,yt,Ft,je,ae,de);for(let Ht=0;Ht{if(_e.roofType!==Vo.Gable)throw new Error("roof is not gable");const Tt=nt.length;if(Tt===0)return;const Rt=r(z.Window,_e.id),Wt=[];for(const Je of nt){let ct=xe.getTriangleArea(Je[0],Je[1],Je[2])+xe.getTriangleArea(Je[2],Je[3],Je[0]);if(Rt.length>0){for(const Pt of Rt)In.onSegment(Je,Pt.cx,Pt.cy)&&(ct-=Pt.lx*Pt.lz);ct<0&&(ct=0)}Wt.push(ct)}const Ct=G8(_e),At=Array(Tt).fill(0);if(Y.current&&Y.current.z>0){const Je=r(z.SolarPanel,_e.id),ct=il.computeGableRoofSolarRadiationEnergy(q,C,Y.current,_e,!0,nt,yt,Rt,Je,ae,de);for(let Pt=0;Pt{const e=M.getState().world,n=M.getState().elements,o=M(rr),i=M(cA),r=Sn(q1e),a=Sn(jBe),l=ht(tge),s=Sn(Q1e),{scene:c}=Xi(),u=Kt(),d=l1(t),f=new Date(e.date),p=t?d==null?void 0:d.elevation:0,g=60/e.timesPerHour,A=m.useMemo(()=>new Gs,[]),w=e.solarRadiationHeatmapGridCellSize??.5,b=m.useRef([]),C=m.useRef([]);m.useEffect(()=>{l&&n&&n.length>0&&(a(),T(),ht.getState().set(B=>{B.runStaticSimulation=!1,B.simulationInProgress=!1,B.showSolarRadiationHeatmap=!0}),hn(j.t("message.SimulationCompleted",u)))},[l]);const P=(B,_,Y)=>{if(b.current.length>1){C.current.length=0,A.set(_,Y);const O=b.current.filter(J=>J.uuid!==B);return A.intersectObjects(O,!1,C.current),C.current.length>0}return!1},v=()=>{const B=c.children.filter(_=>_.name==="Content");if(B.length>0){const _=B[0].children;b.current.length=0;for(const Y of _)xe.fetchSimulationElements(Y,b.current)}},T=()=>{v();for(const B of n)switch(B.type){case z.Foundation:{const _=B;S(_),_.solarStructure===zn.UpdraftTower&&x(_);break}case z.Cuboid:{y(B);break}case z.SolarPanel:{R(B);break}case z.Wall:{H(B);break}case z.Door:{D(B);break}case z.Roof:{const _=B;switch(_.roofType){case Vo.Pyramid:k(_);break;case Vo.Gable:U(_);break;case Vo.Gambrel:N(_);break;case Vo.Mansard:W(_);break;case Vo.Hip:L(_);break}break}}},y=B=>{const _=f.getFullYear(),Y=f.getMonth(),O=f.getDate(),J=xe.dayOfYear(f),Z=B.lx,ie=B.ly,ee=B.lz,q=Math.max(2,Math.round(Z/w)),ae=Math.max(2,Math.round(ie/w)),ne=Math.max(2,Math.round(ee/w)),se=Z/q,le=ie/ae,te=ee/ne,he=o(B);let pe=B.cx,fe=B.cy,$=B.cz;if(he&&he.type===z.Cuboid){const Ee=xe.getWorldDataById(B.id);pe=Ee.pos.x,fe=Ee.pos.y,$=Ee.pos.z}const de=Array(q).fill(0).map(()=>Array(ae).fill(0)),Se=Array(q).fill(0).map(()=>Array(ne).fill(0)),Ce=Array(q).fill(0).map(()=>Array(ne).fill(0));let ve=Array(ae).fill(0).map(()=>Array(ne).fill(0)),Ie=Array(ae).fill(0).map(()=>Array(ne).fill(0));const ze=Po,ye=Bp.clone().applyAxisAngle(Po,B.rotation[2]),oe=Yc.clone().applyAxisAngle(Po,B.rotation[2]),ge=Up.clone().applyAxisAngle(Po,B.rotation[2]),Ae=Np.clone().applyAxisAngle(Po,B.rotation[2]),me=new re;let Pe=0;const Me=new Gt(pe,fe),Te=new Gt,De=fe-ie/2,Ue=fe+ie/2,Oe=pe-Z/2,Le=pe+Z/2;for(let Ee=0;Ee<24;Ee++)for(let Fe=0;Fe0){Pe++;const Ve=Rr(rt,J,p,vr.SPHERE_MODEL);let xt=tr(e.ground,Y,ze,Ve),dt=ze.dot(rt),Qe=pe-Z/2,ut=fe-ie/2;const ft=$+ee/2;for(let at=0;at0&&(Te.set(Qe+(at+.5)*se,ut+(ot+.5)*le),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ft),P(B.id,me,rt)||(de[at][ot]+=dt*Ve));Qe=pe-Z/2,ut=$-ee/2,xt=tr(e.ground,Y,ye,Ve),dt=ye.dot(rt);for(let at=0;at0&&(Te.set(Qe+(at+.5)*se,De),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ut+(ot+.5)*te),P(B.id,me,rt)||(Se[at][ot]+=dt*Ve));xt=tr(e.ground,Y,oe,Ve),dt=oe.dot(rt);for(let at=0;at0&&(Te.set(Qe+(at+.5)*se,Ue),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ut+(ne-(ot+.5))*te),P(B.id,me,rt)||(Ce[at][ot]+=dt*Ve));Qe=fe-ie/2,ut=$-ee/2,xt=tr(e.ground,Y,ge,Ve),dt=ge.dot(rt);for(let at=0;at0&&(Te.set(Oe,Qe+(at+.5)*le),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ut+(ot+.5)*te),P(B.id,me,rt)||(ve[at][ot]+=dt*Ve));xt=tr(e.ground,Y,Ae,Ve),dt=Ae.dot(rt);for(let at=0;at0&&(Te.set(Le,Qe+(at+.5)*le),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ut+(ot+.5)*te),P(B.id,me,rt)||(Ie[at][ot]+=dt*Ve))}}ve=xe.transpose(ve),Ie=xe.transpose(Ie);const $e=Pe*g/60,We=$e>Dt?d.sunshineHours[Y]/(30*$e*e.timesPerHour):0;F(de,We),F(Se,We),F(Ce,We),F(ve,We),F(Ie,We),r(B.id+"-top",de),r(B.id+"-south",Se),r(B.id+"-north",Ce),r(B.id+"-west",ve),r(B.id+"-east",Ie)},S=B=>{const _=f.getFullYear(),Y=f.getMonth(),O=f.getDate(),J=xe.dayOfYear(f),Z=B.lx,ie=B.ly,ee=B.lz,q=Math.max(2,Math.round(Z/w)),ae=Math.max(2,Math.round(ie/w)),ne=Z/q,se=ie/ae,le=B.cx-Z/2,te=B.cy-ie/2,he=new Gt(B.cx,B.cy),pe=new re,fe=Array(q).fill(0).map(()=>Array(ae).fill(0));let $=0;for(let Ce=0;Ce<24;Ce++)for(let ve=0;ve0){$++;const ye=Rr(ze,J,p,vr.SPHERE_MODEL),oe=tr(e.ground,Y,Po,ye),ge=Po.dot(ze),Ae=new Gt;for(let me=0;me0&&(Ae.set(le+(me+.5)*ne,te+(Pe+.5)*se),Ae.rotateAround(he,B.rotation[2]),pe.set(Ae.x,Ae.y,ee),P(B.id,pe,ze)||(fe[me][Pe]+=ge*ye))}}const de=$*g/60,Se=de>Dt?d.sunshineHours[Y]/(30*de*e.timesPerHour):0;F(fe,Se),r(B.id,fe)},x=B=>{const _=B.solarUpdraftTower;if(!_)return;const Y=f.getFullYear(),O=f.getMonth(),J=f.getDate(),Z=xe.dayOfYear(f),ie=_.collectorRadius,ee=Math.max(2,Math.round(ie*2/w)),q=B.cx-ie+w/2,ae=B.cy-ie+w/2,ne=B.lz+_.collectorHeight,se=Array(ee).fill(0).map(()=>Array(ee).fill(0)),le=new re(0,0,ne),te=ie*ie;let he=0,pe,fe;for(let Se=0;Se<24;Se++)for(let Ce=0;Ce0){he++;const ze=Rr(Ie,Z,p,vr.SPHERE_MODEL),ye=tr(e.ground,O,Po,ze),oe=Po.dot(Ie);for(let ge=0;gete)&&(se[ge][Ae]+=ye,oe>0&&(P(B.id+"-sut",le,Ie)||(se[ge][Ae]+=oe*ze)))}}}const $=he*g/60,de=$>Dt?d.sunshineHours[O]/(30*$*e.timesPerHour):0;F(se,de),r(B.id+"-sut",se)},R=B=>{if(B.trackerType!==Ma.NO_TRACKER)throw new Error("trackers cannot use static simulation");let _=o(B);if(!_)throw new Error("parent of solar panel does not exist");const Y=B.parentType===z.Roof,O=B.parentType===z.Wall;if(Y&&(_=i(_),!_))throw new Error("foundation of solar panel does not exist");const J=O?xe.absoluteCoordinates(B.cx,B.cy,B.cz,_,i(B),B.lz):xe.absoluteCoordinates(B.cx,B.cy,B.cz,_),Z=new re().fromArray(B.normal),ie=_.rotation[2];let ee=ie+B.relativeAzimuth,q=B.tiltAngle,ae=!0;if(Y&&(J.z=B.cz+B.lz+.02+_.cz+_.lz/2,xe.isZero(B.rotation[0])?J.z+=B.poleHeight:(q=B.rotation[0],ee=ie,ae=!1)),O&&!xe.isZero(B.tiltAngle)){const Me=_,Te=i(_),Ue=(Te?Te.rotation[2]+Me.relativeAngle:Me.relativeAngle)-Vt,Oe=B.ly*Math.abs(Math.sin(B.tiltAngle))/2;J.x+=Oe*Math.cos(Ue),J.y+=Oe*Math.sin(Ue)}const ne=new Qt(Y&&!ae?0:q,0,ee,"ZYX");Z.applyEuler(ne);const se=f.getFullYear(),le=f.getMonth(),te=f.getDate(),he=xe.dayOfYear(f),pe=B.lx,fe=B.ly,$=Math.max(2,Math.round(B.lx/w)),de=Math.max(2,Math.round(B.ly/w)),Se=pe/$,Ce=fe/de,ve=J.x-(pe-w)/2,Ie=J.y-(fe-w)/2,ze=Y||O?J.z:_.lz+B.poleHeight+B.lz,ye=new Gt(J.x,J.y),oe=new re,ge=Array($).fill(0).map(()=>Array(de).fill(0));let Ae=0;Y&&!ae&&(ne.x=B.rotation[0],ne.z=B.rotation[2]+ie),O&&(ne.x=Vt+B.tiltAngle,ne.z=_.relativeAngle+ie);for(let Me=0;Me<24;Me++)for(let Te=0;Te0){Ae++;const Oe=Rr(Ue,he,p,vr.SPHERE_MODEL),Le=tr(e.ground,le,Z,Oe),$e=Z.dot(Ue),We=new Gt,Ee=new re;for(let Fe=0;Fe<$;Fe++)for(let Ge=0;Ge0&&(We.set(ve+Fe*Se,Ie+Ge*Ce),Ee.set(We.x-ye.x,We.y-ye.y,0),Ee.applyEuler(ne),oe.set(J.x+Ee.x,J.y+Ee.y,ze+Ee.z),P(B.id,oe,Ue)||(ge[Fe][Ge]+=$e*Oe))}}const me=Ae*g/60,Pe=me>Dt?d.sunshineHours[le]/(30*me*e.timesPerHour):0;F(ge,Pe),r(B.id,ge)},H=B=>{const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=f.getFullYear(),O=f.getMonth(),J=f.getDate(),Z=xe.dayOfYear(f),ie=B.lx,ee=xe.getHighestPointOfWall(B),q=Math.max(2,Math.round(ie/w)),ae=Math.max(2,Math.round(ee/w)),ne=ie/q,se=ee/ae,le=_.rotation[2]+B.relativeAngle,te=xe.wallAbsolutePosition(new re(B.cx,B.cy,ee/2),_).setZ(ee/2+_.lz),he=new re(Math.cos(le-Vt),Math.sin(le-Vt),0),pe=new re,fe=Array(q).fill(0).map(()=>Array(ae).fill(0));let $=0;const de=ne*Math.cos(le),Se=ne*Math.sin(le),Ce=xe.getWallVertices(B,2),ve=(ee-B.lz)/2;for(let ye=0;ye<24;ye++)for(let oe=0;oe0){$++;const me=Rr(Ae,Z,p,vr.SPHERE_MODEL),Pe=tr(e.ground,O,he,me),Me=he.dot(Ae);for(let Te=0;Te0&&(pe.set(te.x+Ue*de,te.y+Ue*Se,te.z+Oe*se),P(B.id,pe,Ae)||(fe[Te][De]+=Me*me)))}}}const Ie=$*g/60,ze=Ie>Dt?d.sunshineHours[O]/(30*Ie*e.timesPerHour):0;F(fe,ze),r(B.id,fe)},D=B=>{const _=i(B);if(!_)throw new Error("foundation of door not found");const Y=o(B);if(!Y)throw new Error("parent of door not found");const O=Y,J=f.getFullYear(),Z=f.getMonth(),ie=f.getDate(),ee=xe.dayOfYear(f),q=B.lx*O.lx,ae=B.lz*O.lz,ne=Math.max(2,Math.round(q/w)),se=Math.max(2,Math.round(ae/w)),le=q/ne,te=ae/se,he=_.rotation[2]+O.relativeAngle,fe=xe.wallAbsolutePosition(new re(O.cx,O.cy,O.cz),_).setZ(O.lz/2+_.lz).clone().add(new re(B.cx*O.lx,0,B.cz*O.lz)),$=new re(Math.cos(he-Vt),Math.sin(he-Vt),0),de=new re,Se=Array(ne).fill(0).map(()=>Array(se).fill(0));let Ce=0;const ve=le*Math.cos(he),Ie=le*Math.sin(he);for(let oe=0;oe<24;oe++)for(let ge=0;ge0){Ce++;const Pe=Rr(me,ee,p,vr.SPHERE_MODEL),Me=tr(e.ground,Z,$,Pe),Te=$.dot(me);if(B.doorType===Sd.Arched)for(let De=0;De0&&(P(B.id,de,me)||(Se[De][Ue]+=Te*Pe)))}else for(let De=0;De0&&(de.set(fe.x+Oe*ve,fe.y+Oe*Ie,fe.z+Le*te),P(B.id,de,me)||(Se[De][Ue]+=Te*Pe))}}}const ze=Ce*g/60,ye=ze>Dt?d.sunshineHours[Z]/(30*ze*e.timesPerHour):0;F(Se,ye),r(B.id,Se)},k=B=>{if(B.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne,te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie),Ae=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);Ae.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2);let me=0;const Pe=new re;for(let De=0;De<24;De++)for(let Ue=0;Ue0){me++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(Pe.copy(Ae).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,Pe,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=me*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}},W=B=>{if(B.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne;if(ne===Y.length-1){let te=Number.MAX_VALUE,he=Number.MAX_VALUE,pe=-Number.MAX_VALUE,fe=-Number.MAX_VALUE;for(const me of se){const Pe=me.clone().applyEuler(ae);Pe.x>pe&&(pe=Pe.x),Pe.xfe&&(fe=Pe.y),Pe.yArray(Se).fill(0)),ze=new re(te+w/2,he+w/2,_.lz+$+f0);let ye=0;const oe=new re(0,0,ze.z);for(let me=0;me<24;me++)for(let Pe=0;Pe0){ye++;const De=Rr(Te,q,p,vr.SPHERE_MODEL),Ue=tr(e.ground,ie,Po,De),Oe=Po.dot(Te);for(let Le=0;Le0&&(oe.y=ze.y+$e*ve,P(le,oe,Te)||(Ie[Le][$e]+=Oe*De))}}}const ge=ye*g/60,Ae=ge>Dt?d.sunshineHours[ie]/(30*ge*e.timesPerHour):0;F(Ie,Ae),r(le,Ie)}else{const te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie),Ae=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);Ae.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2);let me=0;const Pe=new re;for(let De=0;De<24;De++)for(let Ue=0;Ue0){me++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(Pe.copy(Ae).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,Pe,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=me*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}}},N=B=>{if(B.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne,te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie),Ae=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);Ae.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2);let me=0;const Pe=new re;for(let De=0;De<24;De++)for(let Ue=0;Ue0){me++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(Pe.copy(Ae).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,Pe,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=me*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}},L=B=>{if(B.roofType!==Vo.Hip)throw new Error("roof is not hip");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne,te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie);let Ae=0;const me=new re,Pe=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);if(Pe.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2),ne%2===0)for(let De=0;De<24;De++)for(let Ue=0;Ue0){Ae++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(me.copy(Pe).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,me,Le)||(ze[Fe][rt]+=Ee*$e))}}}else for(let De=0;De<24;De++)for(let Ue=0;Ue0){Ae++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(me.copy(Pe).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,me,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=Ae*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}},E=(B,_,Y)=>{const O=f.getFullYear(),J=f.getMonth(),Z=f.getDate(),ie=xe.dayOfYear(f),ee=new Qt(0,0,_.rotation[2],"ZYX"),q=Y[0][0].z;let ae=Number.MAX_VALUE,ne=Number.MAX_VALUE,se=-Number.MAX_VALUE,le=-Number.MAX_VALUE;for(const ze of Y)for(const ye of ze){const oe=ye.clone().applyEuler(ee);oe.x>se&&(se=oe.x),oe.xle&&(le=oe.y),oe.yArray(he).fill(0)),de=new re(ae+w/2,ne+w/2,_.lz+q+f0);let Se=0;const Ce=new re(0,0,de.z);for(let ze=0;ze<24;ze++)for(let ye=0;ye0){Se++;const Ae=Rr(ge,ie,p,vr.SPHERE_MODEL),me=tr(e.ground,J,Po,Ae),Pe=Po.dot(ge);for(let Me=0;Me0&&(Ce.y=de.y+Te*fe,P(B.id,Ce,ge)||($[Me][Te]+=Pe*Ae))}}}const ve=Se*g/60,Ie=ve>Dt?d.sunshineHours[J]/(30*ve*e.timesPerHour):0;F($,Ie),r(B.id,$)},U=B=>{if(B.roofType!==Vo.Gable)throw new Error("roof is not gable");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;const O=f.getFullYear(),J=f.getMonth(),Z=f.getDate(),ie=xe.dayOfYear(f),ee=new Qt(0,0,_.rotation[2],"ZYX");for(const[q,ae]of Y.entries()){const ne=B.id+"-"+q,se=ae[0].clone().applyEuler(ee),le=ae[1].clone().applyEuler(ee),te=ae[2].clone().applyEuler(ee),he=new re().subVectors(le,se),pe=new re().subVectors(te,se),fe=new re().subVectors(te,le),$=he.length(),de=new re().crossVectors(pe,fe).length()/$,Se=Math.max(2,Math.round($/w)),Ce=Math.max(2,Math.round(de/w)),ve=Array(Se).fill(0).map(()=>Array(Ce).fill(0));he.normalize(),pe.normalize(),fe.normalize();const Ie=new re().crossVectors(pe,fe).normalize(),ze=he.multiplyScalar(.5*$/Se),ye=new re().crossVectors(Ie,he).normalize().multiplyScalar(.5*de/Ce),oe=new re(_.cx+se.x,_.cy+se.y,_.lz+se.z+f0);oe.add(ze).add(ye),ze.multiplyScalar(2),ye.multiplyScalar(2);let ge=0;const Ae=new re;for(let Me=0;Me<24;Me++)for(let Te=0;Te0){ge++;const Oe=Rr(Ue,ie,p,vr.SPHERE_MODEL),Le=tr(e.ground,J,Ie,Oe),$e=Ie.dot(Ue);for(let We=0;We0&&(Ae.copy(oe).add(Ee).add(ye.clone().multiplyScalar(Fe)),P(ne,Ae,Ue)||(ve[We][Fe]+=$e*Oe))}}}const me=ge*g/60,Pe=me>Dt?d.sunshineHours[J]/(30*me*e.timesPerHour):0;F(ve,Pe),r(ne,ve)}},F=(B,_)=>{for(let Y=0;Y{const e=M(dn),n=ht(Ah),o=M.getState().world,i=M.getState().elements,r=M(rr),a=M(cA),l=Sn(q1e),s=Sn(jBe),c=ht(ZL),u=ht(cwt),d=M(j1e),f=Sn(Q1e),{scene:p}=Xi(),g=Kt(),A=l1(t),w=new Date(o.date),b=t?A==null?void 0:A.elevation:0,C=60/o.timesPerHour,P=m.useMemo(()=>new Gs,[]),v=o.solarRadiationHeatmapGridCellSize??.5,T=m.useRef([]),y=m.useRef([]),S=m.useRef(0),x=m.useRef(!1),R=m.useRef(new Date(o.date)),H=m.useRef(new Map),D=m.useRef(!1),k=m.useRef(new Date(o.date)),W=m.useMemo(()=>sl(w,o.latitude),[o.date,o.latitude]);m.useEffect(()=>{if(c)return N(),S.current=requestAnimationFrame(U),()=>{cancelAnimationFrame(S.current),x.current||(hn(j.t("message.SimulationAborted",g)),e($=>{$.world.date=R.current.toLocaleString("en-US")}),n("simulationInProgress",!1))}},[c]),m.useEffect(()=>{D.current=u,u?(k.current=new Date(w.getTime()),cancelAnimationFrame(S.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",g))):(n("simulationPaused",!1),U())},[u]);const N=()=>{n("simulationInProgress",!0),w.setHours(Math.floor(W.sunrise/60),W.sunrise%60),R.current=new Date(o.date),x.current=!1,B();for(const $ of i)switch($.type){case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{H.current.delete($.id);break}case z.Cuboid:{H.current.delete($.id+"-top"),H.current.delete($.id+"-north"),H.current.delete($.id+"-south"),H.current.delete($.id+"-west"),H.current.delete($.id+"-east");break}case z.Roof:{const de=$,Se=f(de.id);if(Se){const Ce=Se.length;for(let ve=0;ve{s();const $=W.daylight()/60,de=$>Dt?A.sunshineHours[w.getMonth()]/(30*$*o.timesPerHour):0;for(const Se of i){switch(Se.type){case z.Foundation:case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{const Ce=H.current.get(Se.id);if(Ce){for(let ve=0;ve[...ve]))}break}case z.Cuboid:{E(Se.id,"top",de),E(Se.id,"south",de),E(Se.id,"north",de),E(Se.id,"west",de),E(Se.id,"east",de);break}case z.Roof:{const Ce=Se,ve=f(Ce.id);if(ve&&ve.length>0){if(Ce.roofType===Vo.Pyramid||Ce.roofType===Vo.Mansard||Ce.roofType===Vo.Gambrel||Ce.roofType===Vo.Hip){let Ie=!0;const ze=ve[0][0].z;for(const ye of ve)for(const oe of ye)if(Math.abs(oe.z-ze)>.01){Ie=!1;break}if(Ie){const ye=H.current.get(Ce.id);if(ye){for(let oe=0;oe[...oe]))}break}}for(let Ie=0;Ie[...oe]))}}}break}}if(Se.type===z.Foundation){const Ce=Se;if(Ce.solarStructure===zn.UpdraftTower&&Ce.solarUpdraftTower){const ve=Se.id+"-sut",Ie=H.current.get(ve);if(Ie){for(let ze=0;ze[...ze]))}}}}},E=($,de,Se)=>{const Ce=H.current.get($+"-"+de);if(Ce){for(let ve=0;ve{if(c&&!D.current){if(w.getMinutes()+w.getHours()*60>=W.sunset){cancelAnimationFrame(S.current),ht.getState().set(de=>{de.runDynamicSimulation=!1}),e(de=>{de.world.date=R.current.toLocaleString("en-US")}),hn(j.t("message.SimulationCompleted",g)),x.current=!0,L(),setTimeout(()=>{n("simulationInProgress",!1),n("showSolarRadiationHeatmap",!0)},10);return}if(w.setHours(w.getHours(),w.getMinutes()+C),e(de=>{de.world.date=w.toLocaleString("en-US")}),d)for(const de of i)switch(de.type){case z.FresnelReflector:he(de);break;case z.Heliostat:pe(de);break}else for(const de of i)switch(de.type){case z.Foundation:{const Se=de;Y(Se),Se.solarStructure===zn.UpdraftTower&&fe(Se);break}case z.Cuboid:{_(de);break}case z.SolarPanel:{se(de);break}case z.ParabolicTrough:{le(de);break}case z.ParabolicDish:{te(de);break}case z.FresnelReflector:{he(de);break}case z.Heliostat:{pe(de);break}case z.Wall:{O(de);break}case z.Door:{J(de);break}case z.Roof:{const Se=de;switch(Se.roofType){case Vo.Pyramid:ie(Se);break;case Vo.Gable:ne(Se);break;case Vo.Gambrel:q(Se);break;case Vo.Mansard:ee(Se);break;case Vo.Hip:ae(Se);break}break}}S.current=requestAnimationFrame(U)}},F=($,de,Se)=>{if(T.current.length>1){y.current.length=0,P.set(de,Se);const Ce=T.current.filter(ve=>ve.uuid!==$);return P.intersectObjects(Ce,!1,y.current),y.current.length>0}return!1},B=()=>{const $=p.children.filter(de=>de.name==="Content");if($.length>0){const de=$[0].children;T.current.length=0;for(const Se of de)xe.fetchSimulationElements(Se,T.current)}},_=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=xe.dayOfYear(w),Ce=$.lx,ve=$.ly,Ie=$.lz,ze=Math.max(2,Math.round(Ce/v)),ye=Math.max(2,Math.round(ve/v)),oe=Math.max(2,Math.round(Ie/v)),ge=Ce/ze,Ae=ve/ye,me=Ie/oe;let Pe=H.current.get($.id+"-top");(!Pe||Pe.length!==ze||Pe[0].length!==ye)&&(Pe=Array(ze).fill(0).map(()=>Array(ye).fill(0)),H.current.set($.id+"-top",Pe));let Me=H.current.get($.id+"-south");(!Me||Me.length!==ze||Me[0].length!==oe)&&(Me=Array(ze).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-south",Me));let Te=H.current.get($.id+"-north");(!Te||Te.length!==ze||Te[0].length!==oe)&&(Te=Array(ze).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-north",Te));let De=H.current.get($.id+"-west");(!De||De.length!==ye||De[0].length!==oe)&&(De=Array(ye).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-west",De));let Ue=H.current.get($.id+"-east");(!Ue||Ue.length!==ye||Ue[0].length!==oe)&&(Ue=Array(ye).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-east",Ue));const Oe=Po,Le=Bp.clone().applyAxisAngle(Po,$.rotation[2]),$e=Yc.clone().applyAxisAngle(Po,$.rotation[2]),We=Up.clone().applyAxisAngle(Po,$.rotation[2]),Ee=Np.clone().applyAxisAngle(Po,$.rotation[2]),Fe=r($);let Ge=$.cx,rt=$.cy,Ve=$.cz;if(Fe&&Fe.type===z.Cuboid){const Wt=xe.getWorldDataById($.id);Ge=Wt.pos.x,rt=Wt.pos.y,Ve=Wt.pos.z}const xt=new re,dt=new Gt(Ge,rt),Qe=new Gt,ut=rt-ve/2,ft=rt+ve/2,at=Ge-Ce/2,ot=Ge+Ce/2,et=Rr(de,Se,b,vr.SPHERE_MODEL);let _e=tr(o.ground,w.getMonth(),Oe,et),nt=Oe.dot(de),yt=Ge-Ce/2,Tt=rt-ve/2;const Rt=Ve+Ie/2;for(let Wt=0;Wt0&&(Qe.set(yt+(Wt+.5)*ge,Tt+(Ct+.5)*Ae),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Rt),F($.id,xt,de)||(Pe[Wt][Ct]+=nt*et));yt=Ge-Ce/2,Tt=Ve-Ie/2,_e=tr(o.ground,w.getMonth(),Le,et),nt=Le.dot(de);for(let Wt=0;Wt0&&(Qe.set(yt+(Wt+.5)*ge,ut),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(Ct+.5)*me),F($.id,xt,de)||(Me[Wt][Ct]+=nt*et));_e=tr(o.ground,w.getMonth(),$e,et),nt=$e.dot(de);for(let Wt=0;Wt0&&(Qe.set(yt+(Wt+.5)*ge,ft),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(oe-(Ct+.5))*me),F($.id,xt,de)||(Te[Wt][Ct]+=nt*et));yt=rt-ve/2,Tt=Ve-Ie/2,_e=tr(o.ground,w.getMonth(),We,et),nt=We.dot(de);for(let Wt=0;Wt0&&(Qe.set(at,yt+(Wt+.5)*Ae),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(Ct+.5)*me),F($.id,xt,de)||(De[Wt][Ct]+=nt*et));_e=tr(o.ground,w.getMonth(),Ee,et),nt=Ee.dot(de);for(let Wt=0;Wt0&&(Qe.set(ot,yt+(Wt+.5)*Ae),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(Ct+.5)*me),F($.id,xt,de)||(Ue[Wt][Ct]+=nt*et))},Y=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=xe.dayOfYear(w),Ce=$.lx,ve=$.ly,Ie=$.lz,ze=Math.max(2,Math.round(Ce/v)),ye=Math.max(2,Math.round(ve/v)),oe=Ce/ze,ge=ve/ye,Ae=$.cx-Ce/2,me=$.cy-ve/2,Pe=new Gt($.cx,$.cy),Me=new re;let Te=H.current.get($.id);(!Te||Te.length!==ze||Te[0].length!==ye)&&(Te=Array(ze).fill(0).map(()=>Array(ye).fill(0)),H.current.set($.id,Te));const De=Rr(de,Se,b,vr.SPHERE_MODEL),Ue=tr(o.ground,w.getMonth(),Po,De),Oe=Po.dot(de),Le=new Gt;for(let $e=0;$e0&&(Le.set(Ae+($e+.5)*oe,me+(We+.5)*ge),Le.rotateAround(Pe,$.rotation[2]),Me.set(Le.x,Le.y,Ie),F($.id,Me,de)||(Te[$e][We]+=Oe*De))},O=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=xe.dayOfYear(w),ve=$.lx,Ie=xe.getHighestPointOfWall($),ze=Math.max(2,Math.round(ve/v)),ye=Math.max(2,Math.round(Ie/v)),oe=ve/ze,ge=Ie/ye,Ae=Se.rotation[2]+$.relativeAngle,me=xe.wallAbsolutePosition(new re($.cx,$.cy,$.cz),Se).setZ(Ie/2+Se.lz),Pe=new re(Math.cos(Ae-Vt),Math.sin(Ae-Vt),0),Me=oe*Math.cos(Ae),Te=oe*Math.sin(Ae),De=new re;let Ue=H.current.get($.id);(!Ue||Ue.length!==ze||Ue[0].length!==ye)&&(Ue=Array(ze).fill(0).map(()=>Array(ye).fill(0)),H.current.set($.id,Ue));const Oe=xe.getWallVertices($,1),Le=(Ie-$.lz)/2,$e=Rr(de,Ce,b,vr.SPHERE_MODEL),We=tr(o.ground,w.getMonth(),Pe,$e),Ee=Pe.dot(de);for(let Fe=0;Fe0&&(De.set(me.x+rt*Me,me.y+rt*Te,me.z+Ve*ge),F($.id,De,de)||(Ue[Fe][Ge]+=Ee*$e)))}},J=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of door not found");const Ce=r($);if(!Ce)throw new Error("parent of door not found");const ve=xe.dayOfYear(w),Ie=Ce,ze=$.lx*Ie.lx,ye=$.lz*Ie.lz,oe=Math.max(2,Math.round(ze/v)),ge=Math.max(2,Math.round(ye/v)),Ae=ze/oe,me=ye/ge,Pe=Se.rotation[2]+Ie.relativeAngle,Te=xe.wallAbsolutePosition(new re(Ie.cx,Ie.cy,Ie.cz),Se).setZ(Ie.lz/2+Se.lz).clone().add(new re($.cx*Ie.lx,0,$.cz*Ie.lz)),De=new re(Math.cos(Pe-Vt),Math.sin(Pe-Vt),0),Ue=Ae*Math.cos(Pe),Oe=Ae*Math.sin(Pe),Le=new re;let $e=H.current.get($.id);(!$e||$e.length!==oe||$e[0].length!==ge)&&($e=Array(oe).fill(0).map(()=>Array(ge).fill(0)),H.current.set($.id,$e));const We=Rr(de,ve,b,vr.SPHERE_MODEL),Ee=tr(o.ground,w.getMonth(),De,We),Fe=De.dot(de);if($.doorType===Sd.Arched)for(let Ge=0;Ge0&&(F($.id,Le,de)||($e[Ge][rt]+=Fe*We)))}else for(let Ge=0;Ge0){const Ve=Ge-oe/2+.5,xt=rt-ge/2+.5;Le.set(Te.x+Ve*Ue,Te.y+Ve*Oe,Te.z+xt*me),F($.id,Le,de)||($e[Ge][rt]+=Fe*We)}},Z=($,de,Se,Ce)=>{const ve=Ce[0][0].z,Ie=xe.dayOfYear(w),ze=Rr($,Ie,b,vr.SPHERE_MODEL),ye=new Qt(0,0,Se.rotation[2],"ZYX");let oe=Number.MAX_VALUE,ge=Number.MAX_VALUE,Ae=-Number.MAX_VALUE,me=-Number.MAX_VALUE;for(const Ee of Ce)for(const Fe of Ee){const Ge=Fe.clone().applyEuler(ye);Ge.x>Ae&&(Ae=Ge.x),Ge.xme&&(me=Ge.y),Ge.yArray(Me).fill(0)),H.current.set(de.id,Ue));const Oe=new re(oe+v/2,ge+v/2,Se.lz+ve+f0),Le=new re(0,0,Oe.z),$e=tr(o.ground,w.getMonth(),Po,ze),We=Po.dot($);for(let Ee=0;Ee0&&(Le.y=Oe.y+Fe*De,F(de.id,Le,$)||(Ue[Ee][Fe]+=We*ze))}},ie=$=>{if($.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge,Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ue=new re().subVectors(Te,Pe),Oe=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ue,Oe).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ue.normalize(),Oe.normalize();const Ge=new re().crossVectors(Ue,Oe).normalize(),rt=De.multiplyScalar(.5*Le/We),Ve=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);xt.add(rt).add(Ve),rt.multiplyScalar(2),Ve.multiplyScalar(2);const dt=new re,Qe=tr(o.ground,w.getMonth(),Ge,oe),ut=Ge.dot(de);for(let ft=0;ft0&&(dt.copy(xt).add(at).add(Ve.clone().multiplyScalar(ot)),F(me,dt,de)||(Fe[ft][ot]+=ut*oe))}}}},ee=$=>{if($.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge;if(ge===Ce.length-1){let Pe=Number.MAX_VALUE,Me=Number.MAX_VALUE,Te=-Number.MAX_VALUE,De=-Number.MAX_VALUE;for(const xt of Ae){const dt=xt.clone().applyEuler(ye);dt.x>Te&&(Te=dt.x),dt.xDe&&(De=dt.y),dt.yArray(Le).fill(0)),H.current.set(me,Ee));const Fe=new re(Pe+v/2,Me+v/2,Se.lz+Ue+f0),Ge=new re(0,0,Fe.z),rt=tr(o.ground,w.getMonth(),Po,oe),Ve=Po.dot(de);for(let xt=0;xt0&&(Ge.y=Fe.y+dt*We,F(me,Ge,de)||(Ee[xt][dt]+=Ve*oe))}}else{const Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ue=new re().subVectors(Te,Pe),Oe=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ue,Oe).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ue.normalize(),Oe.normalize();const Ge=new re().crossVectors(Ue,Oe).normalize(),rt=De.multiplyScalar(.5*Le/We),Ve=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);xt.add(rt).add(Ve),rt.multiplyScalar(2),Ve.multiplyScalar(2);const dt=new re,Qe=tr(o.ground,w.getMonth(),Ge,oe),ut=Ge.dot(de);for(let ft=0;ft0&&(dt.copy(xt).add(at).add(Ve.clone().multiplyScalar(ot)),F(me,dt,de)||(Fe[ft][ot]+=ut*oe))}}}}},q=$=>{if($.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge,Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ue=new re().subVectors(Te,Pe),Oe=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ue,Oe).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ue.normalize(),Oe.normalize();const Ge=new re().crossVectors(Ue,Oe).normalize(),rt=De.multiplyScalar(.5*Le/We),Ve=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);xt.add(rt).add(Ve),rt.multiplyScalar(2),Ve.multiplyScalar(2);const dt=new re,Qe=tr(o.ground,w.getMonth(),Ge,oe),ut=Ge.dot(de);for(let ft=0;ft0&&(dt.copy(xt).add(at).add(Ve.clone().multiplyScalar(ot)),F(me,dt,de)||(Fe[ft][ot]+=ut*oe))}}}},ae=$=>{if($.roofType!==Vo.Hip)throw new Error("roof is not hip");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge,Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ue=new re().subVectors(Te,Pe),Oe=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ue,Oe).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ue.normalize(),Oe.normalize();const Ge=new re().crossVectors(Ue,Oe).normalize(),rt=De.multiplyScalar(.5*Le/We),Ve=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re,dt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);dt.add(rt).add(Ve),rt.multiplyScalar(2),Ve.multiplyScalar(2);const Qe=tr(o.ground,w.getMonth(),Ge,oe),ut=Ge.dot(de);for(let ft=0;ft0&&(xt.copy(dt).add(at).add(Ve.clone().multiplyScalar(ot)),F(me,xt,de)||(Fe[ft][ot]+=ut*oe))}}}},ne=$=>{if($.roofType!==Vo.Gable)throw new Error("roof is not gable");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;const ve=xe.dayOfYear(w),Ie=new Qt(0,0,Se.rotation[2],"ZYX"),ze=Rr(de,ve,b,vr.SPHERE_MODEL);for(const[ye,oe]of Ce.entries()){const ge=$.id+"-"+ye,Ae=oe[0].clone().applyEuler(Ie),me=oe[1].clone().applyEuler(Ie),Pe=oe[2].clone().applyEuler(Ie),Me=new re().subVectors(me,Ae),Te=new re().subVectors(Pe,Ae),De=new re().subVectors(Pe,me),Ue=Me.length(),Oe=new re().crossVectors(Te,De).length()/Ue,Le=Math.max(2,Math.round(Ue/v)),$e=Math.max(2,Math.round(Oe/v));let We=H.current.get(ge);(!We||We.length!==Le||We[0].length!==$e)&&(We=Array(Le).fill(0).map(()=>Array($e).fill(0)),H.current.set(ge,We)),Me.normalize(),Te.normalize(),De.normalize();const Ee=new re().crossVectors(Te,De).normalize(),Fe=Me.multiplyScalar(.5*Ue/Le),Ge=new re().crossVectors(Ee,Me).normalize().multiplyScalar(.5*Oe/$e),rt=new re(Se.cx+Ae.x,Se.cy+Ae.y,Se.lz+Ae.z+f0);rt.add(Fe).add(Ge),Fe.multiplyScalar(2),Ge.multiplyScalar(2);const Ve=new re,xt=tr(o.ground,w.getMonth(),Ee,ze),dt=Ee.dot(de);for(let Qe=0;Qe0&&(Ve.copy(rt).add(ut).add(Ge.clone().multiplyScalar(ft)),F(ge,Ve,de)||(We[Qe][ft]+=dt*ze))}}},se=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;let Se=r($);if(!Se)throw new Error("parent of solar panel does not exist");const Ce=$.parentType===z.Roof,ve=$.parentType===z.Wall;if(Ce&&(Se=a(Se),!Se))throw new Error("foundation of solar panel does not exist");const Ie=xe.dayOfYear(w),ze=ve?xe.absoluteCoordinates($.cx,$.cy,$.cz,Se,a($),$.lz):xe.absoluteCoordinates($.cx,$.cy,$.cz,Se),ye=Se.rotation[2];let oe=ye+$.relativeAzimuth,ge=$.tiltAngle,Ae=!0;if(Ce&&(ze.z=$.cz+$.lz+.02+Se.cz+Se.lz/2,xe.isZero($.rotation[0])?ze.z+=$.poleHeight:(ge=$.rotation[0],oe=ye,Ae=!1)),ve&&!xe.isZero($.tiltAngle)){const ft=Se,at=a(Se),et=(at?at.rotation[2]+ft.relativeAngle:ft.relativeAngle)-Vt,_e=$.ly*Math.abs(Math.sin($.tiltAngle))/2;ze.x+=_e*Math.cos(et),ze.y+=_e*Math.sin(et)}const me=new re().fromArray($.normal),Pe=$.lx,Me=$.ly,Te=Math.max(2,Math.round($.lx/v)),De=Math.max(2,Math.round($.ly/v)),Ue=Pe/Te,Oe=Me/De,Le=ze.x-(Pe-v)/2,$e=ze.y-(Me-v)/2,We=Ce||ve?ze.z:Se.lz+$.poleHeight+$.lz,Ee=new Gt(ze.x,ze.y),Fe=new re;let Ge=H.current.get($.id);(!Ge||Ge.length!==Te||Ge[0].length!==De)&&(Ge=Array(Te).fill(0).map(()=>Array(De).fill(0)),H.current.set($.id,Ge));let rt=new Qt(Ce&&!Ae?0:ge,0,oe,"ZYX");if($.trackerType!==Ma.NO_TRACKER){const ft=ye?de.clone().applyAxisAngle(Po,-ye):de.clone();switch($.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const at=new Ts().setFromUnitVectors(Po,ft);rt=new Qt().setFromQuaternion(at),rt.z+=oe;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const at=new Ts().setFromUnitVectors(Po,new re(ft.x,0,ft.z).normalize());rt=new Qt().setFromQuaternion(at),rt.z+=oe;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{if(Math.abs($.tiltAngle)>.001){const at=new re(ft.x,-ft.y,0).normalize(),ot=Math.acos(Yc.dot(at))*Math.sign(at.x);rt=new Qt($.tiltAngle,0,ot+ye,"ZYX")}break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}me.applyEuler(rt),Ce&&!Ae&&(rt.x=$.rotation[0],rt.z=$.rotation[2]+ye),ve&&(rt.x=Vt+$.tiltAngle,rt.z=Se.relativeAngle+ye);const Ve=Rr(de,Ie,b,vr.SPHERE_MODEL),xt=tr(o.ground,w.getMonth(),me,Ve),dt=me.dot(de),Qe=new Gt,ut=new re;for(let ft=0;ft0&&(Qe.set(Le+ft*Ue,$e+at*Oe),ut.set(Qe.x-Ee.x,Qe.y-Ee.y,0),ut.applyEuler(rt),Fe.set(ze.x+ut.x,ze.y+ut.y,We+ut.z),F($.id,Fe,de)||(Ge[ft][at]+=dt*Ve))},le=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=r($);if(!Se)throw new Error("parent of parabolic trough does not exist");const Ce=xe.dayOfYear(w),ve=xe.absoluteCoordinates($.cx,$.cy,$.cz,Se),Ie=new re().fromArray($.normal),ze=Ie.clone(),ye=$.lx,oe=$.ly,ge=ye*ye/(4*$.latusRectum),Ae=$.poleHeight+ye/2,me=Math.max(2,Math.round($.lx/v)),Pe=Math.max(2,Math.round($.ly/v)),Me=ye/me,Te=oe/Pe,De=ve.x-(ye-v)/2,Ue=ve.y-(oe-v)/2,Oe=Se.lz+Ae+$.lz+ge,Le=new Gt(ve.x,ve.y),$e=new re;let We=H.current.get($.id);(!We||We.length!==me||We[0].length!==Pe)&&(We=Array(me).fill(0).map(()=>Array(Pe).fill(0)),H.current.set($.id,We));const Ee=Se.rotation[2],Fe=Ee+$.relativeAzimuth,Ge=xe.isZero(Fe),rt=Ge?1:Math.cos(Fe),Ve=Ge?0:Math.sin(Fe),xt=Ee?de.clone().applyAxisAngle(Po,-Ee):de.clone(),dt=new Ts().setFromUnitVectors(Po,new re(xt.x*rt,xt.x*Ve,xt.z).normalize()),Qe=new Qt().setFromQuaternion(dt);Ie.copy(ze.clone().applyEuler(Qe));const ut=Rr(de,Ce,b,vr.SPHERE_MODEL),ft=tr(o.ground,w.getMonth(),Ie,ut),at=Ie.dot(de),ot=new Gt,et=new re;let _e=0,nt=0,yt=1;const Tt=4/($.latusRectum*$.latusRectum);for(let Rt=0;Rt0&&(ot.set(_e,Ue+Wt*Te),Ge||ot.rotateAround(Le,Fe),et.set(ot.x-Le.x,ot.y-Le.y,0),et.applyEuler(Qe),$e.set(ve.x+et.x,ve.y+et.y,Oe+et.z),F($.id,$e,de)||(We[Rt][Wt]+=at*ut*yt))}},te=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=r($);if(!Se)throw new Error("parent of parabolic dish does not exist");const Ce=xe.dayOfYear(w),ve=xe.absoluteCoordinates($.cx,$.cy,$.cz,Se),Ie=new re().fromArray($.normal),ze=Ie.clone(),ye=$.lx,oe=$.ly,ge=ye*ye/(4*$.latusRectum),Ae=$.poleHeight+ye/2,me=Math.max(2,Math.round($.lx/v)),Pe=Math.max(2,Math.round($.ly/v)),Me=ye/me,Te=oe/Pe,De=ve.x-(ye-v)/2,Ue=ve.y-(oe-v)/2,Oe=Se.lz+Ae+$.lz+ge,Le=new Gt(ve.x,ve.y),$e=new re;let We=H.current.get($.id);(!We||We.length!==me||We[0].length!==Pe)&&(We=Array(me).fill(0).map(()=>Array(Pe).fill(0)),H.current.set($.id,We));const Ee=Se.rotation[2],Fe=Ee+$.relativeAzimuth,Ge=xe.isZero(Fe),rt=Ee?de.clone().applyAxisAngle(Po,-Ee):de.clone(),Ve=new Ts().setFromUnitVectors(Po,rt),xt=new Qt().setFromQuaternion(Ve);Ie.copy(ze.clone().applyEuler(xt));const dt=Rr(de,Ce,b,vr.SPHERE_MODEL),Qe=tr(o.ground,w.getMonth(),Ie,dt),ut=Ie.dot(de),ft=new Gt,at=new re;let ot=0,et=0,_e=0,nt=0,yt=1;const Tt=4/($.latusRectum*$.latusRectum);for(let Rt=0;Rtye/2))for(let Wt=0;Wtoe/2)&&(We[Rt][Wt]+=Qe,ut>0&&(ft.set(ot,et),Ge||ft.rotateAround(Le,Fe),at.set(ft.x-Le.x,ft.y-Le.y,0),at.applyEuler(xt),$e.set(ve.x+at.x,ve.y+at.y,Oe+at.z),F($.id,$e,de)||(yt=1/Math.sqrt(1+(_e*_e+nt*nt)*Tt),We[Rt][Wt]+=ut*dt*yt)))},he=$=>{const de=zr(w,o.latitude);if(de.zArray(Me).fill(0)),H.current.set($.id,Ee));const Ge=Se.rotation[2]+$.relativeAzimuth,rt=xe.isZero(Ge),Ve=rt?1:Math.cos(Ge),xt=rt?0:Math.sin(Ge),dt=Ce.solarStructure===zn.FocusPipe?new re((Ce.cx-ze.x)*Ve,(Ce.cy-ze.y)*xt,Ce.cz-ze.z+Ce.lz/2+(ve.absorberHeight??10)):void 0,Qe=new re(xt,Ve,0),ut=new re;let ft,at;if(dt){ut.set(dt.x,dt.y,dt.z);const Rt=-dt.z*(de.y*Qe.y+de.x*Qe.x)/de.z;ut.x+=Rt*Qe.x,ut.y-=Rt*Qe.y,at=ut.clone().normalize();let Wt=at.add(de).normalize();xe.isSame(Wt,Po)&&(Wt=new re(-.001,0,1).normalize()),rt||Wt.applyAxisAngle(Po,-Ge),ft=new Qt(0,Math.atan2(Wt.x,Wt.z),Ge,"ZXY"),ye.copy(oe.clone().applyEuler(ft))}else at=new re(0,0,1),ft=new Qt;const ot=Rr(de,Ie,b,vr.SPHERE_MODEL),et=tr(o.ground,w.getMonth(),ye,ot),_e=ye.dot(de),nt=new Gt,yt=new re;let Tt=0;if(d)for(let Rt=0;Rt0&&(nt.set(Tt,Oe+Wt*De),yt.set(nt.x-$e.x,nt.y-$e.y,0),yt.applyEuler(ft),We.set(ze.x+yt.x,ze.y+yt.y,Le+yt.z),!F($.id,We,de)&&!F($.id,We,at)&&(Ee[Rt][Wt]+=_e*ot))}else for(let Rt=0;Rt0&&(nt.set(Tt,Oe+Wt*De),yt.set(nt.x-$e.x,nt.y-$e.y,0),yt.applyEuler(ft),We.set(ze.x+yt.x,ze.y+yt.y,Le+yt.z),F($.id,We,de)||(Ee[Rt][Wt]+=_e*ot))}},pe=$=>{const de=zr(w,o.latitude);if(de.zArray(Me).fill(0)),H.current.set($.id,Ee));const Fe=Se.rotation[2],Ge=Ce.solarStructure===zn.FocusTower?new re(Ce.cx-ze.x,Ce.cy-ze.y,Ce.cz-ze.z+(ve.towerHeight??20)):void 0;let rt,Ve;if(Ge){rt=Ge.clone().normalize();let ot=rt.clone().add(de).normalize();xe.isSame(ot,Po)&&(ot=new re(-.001,0,1).normalize()),Fe&&ot.applyAxisAngle(Po,-Fe);const et=Math.hypot(ot.x,ot.y);Ve=new Qt(Math.atan2(et,ot.z),0,Math.atan2(ot.y,ot.x)+Vt,"ZXY"),ye.copy(oe.clone().applyEuler(Ve))}else rt=new re(0,0,1),Ve=new Qt;const xt=Rr(de,Ie,b,vr.SPHERE_MODEL),dt=tr(o.ground,w.getMonth(),ye,xt),Qe=ye.dot(de),ut=new Gt,ft=new re;let at=0;if(d)for(let ot=0;ot0&&(ut.set(at,Oe+et*De),ft.set(ut.x-$e.x,ut.y-$e.y,0),ft.applyEuler(Ve),We.set(ze.x+ft.x,ze.y+ft.y,Le+ft.z),!F($.id,We,de)&&!F($.id,We,rt)&&(Ee[ot][et]+=Qe*xt))}else for(let ot=0;ot0&&(ut.set(at,Oe+et*De),ft.set(ut.x-$e.x,ut.y-$e.y,0),ft.applyEuler(Ve),We.set(ze.x+ft.x,ze.y+ft.y,Le+ft.z),F($.id,We,de)||(Ee[ot][et]+=Qe*xt))}},fe=$=>{const de=$.solarUpdraftTower;if(!de)return;const Se=zr(w,o.latitude);if(Se.z<=0)return;const Ce=xe.dayOfYear(w),ve=new re().fromArray($.normal),Ie=de.collectorRadius,ze=Math.max(2,Math.round(Ie*2/v)),ye=$.cx-Ie+v/2,oe=$.cy-Ie+v/2,ge=$.lz+de.collectorHeight,Ae=$.id+"-sut";let me=H.current.get(Ae);(!me||me.length!==ze||me[0].length!==ze)&&(me=Array(ze).fill(0).map(()=>Array(ze).fill(0)),H.current.set(Ae,me));const Pe=Rr(Se,Ce,b,vr.SPHERE_MODEL),Me=tr(o.ground,w.getMonth(),ve,Pe),Te=new re(0,0,ge),De=ve.dot(Se),Ue=Ie*Ie;let Oe,Le;for(let $e=0;$eUe)&&(me[$e][We]+=Me,De>0&&(F(Ae,Te,Se)||(me[$e][We]+=De*Pe)))}};return h.jsx(h.Fragment,{})}),kLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(j7t),s=M(nW),c=Sn(O7t),u=M(oW),d=M(Xje),f=M(Jje),p=Sn(_7t),g=ht(L7t),A=ht(W7t),w=ht(N7t),b=ht(U7t),C=M(DBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicTroughYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyParabolicTroughYield();ge.actionInfo={name:"Daily Simulation for Parabolic Troughs Completed",result:{totalYield:Ae},details:Sn.getState().dailyParabolicTroughYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.ParabolicTrough){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(d){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.ParabolicTrough){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ue,Oe)=>Ue+Oe,0)),me++,Ae.set("Trough"+me,De),Pe.push(Te.label??"Trough"+me);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=De[Ue]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ue=1;Ue<=me;Ue++){const Oe="Trough"+Ue;De[Pe[Ue-1]]=(oe=Ae.get(Oe))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.ParabolicTrough){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyParabolicTroughYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Troughs Completed",result:{totalYield:Ae},details:Sn.getState().yearlyParabolicTroughYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.ParabolicTrough){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.ParabolicTrough){const Me=Y.current.get(Pe.id);Me&&(u(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Trough"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}c(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.ParabolicTrough){const me=Y.current.get(Ae.id);me&&(u(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}c(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(Rt.set(Ve+Ft*Ee,xt+Ke*Fe),Ue||Rt.rotateAround(Qe,De),Wt.set(Rt.x-Qe.x,Rt.y-Qe.y,0),Wt.applyEuler(nt),ut.set(Pe.x+Wt.x,Pe.y+Wt.y,dt+Wt.z),ve(oe.id,ut,ge)||(Ct+=Tt*yt));const At=_.current.get(oe.id);if(At){const Ft=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();At[Ft]+=Ct/($e*We)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>oe.lx*oe.ly*oe.opticalEfficiency*oe.thermalEfficiency*oe.absorptance*oe.reflectance*(1-W[y.getMonth()]),ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.ParabolicTrough){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.ParabolicTrough){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),FLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(P8t),s=M(nW),c=Sn(R8t),u=M(oW),d=M(rYe),f=M(aYe),p=Sn(H8t),g=ht(v8t),A=ht(x8t),w=ht(b8t),b=ht(S8t),C=M(EBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicDishYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyParabolicDishYield();ge.actionInfo={name:"Daily Simulation for Parabolic Dishes Completed",result:{totalYield:Ae},details:Sn.getState().dailyParabolicDishYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.ParabolicDish){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(d){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.ParabolicDish){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ue,Oe)=>Ue+Oe,0)),me++,Ae.set("Dish"+me,De),Pe.push(Te.label??"Dish"+me);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=De[Ue]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ue=1;Ue<=me;Ue++){const Oe="Dish"+Ue;De[Pe[Ue-1]]=(oe=Ae.get(Oe))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.ParabolicDish){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicDishYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyParabolicDishYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Dishes Completed",result:{totalYield:Ae},details:Sn.getState().yearlyParabolicDishYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.ParabolicDish){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.ParabolicDish){const Me=Y.current.get(Pe.id);Me&&(u(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Dish"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}c(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.ParabolicDish){const me=Y.current.get(Ae.id);me&&(u(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}c(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(yt.set(Ge+Ct*$e,rt+At*We),ft||yt.rotateAround(xt,ut),Tt.set(yt.x-xt.x,yt.y-xt.y,0),Tt.applyEuler(et),dt.set(Pe.x+Tt.x,Pe.y+Tt.y,Ve+Tt.z),ve(oe.id,dt,ge)||(Rt+=nt*_e));const Wt=_.current.get(oe.id);if(Wt){const Ct=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();Wt[Ct]+=Rt/(Oe*Le)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>oe.lx*oe.ly*oe.opticalEfficiency*oe.thermalEfficiency*oe.absorptance*oe.reflectance*(1-W[y.getMonth()]),ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.ParabolicDish){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.ParabolicDish){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),LLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(q7t),s=M(nW),c=M(qje),u=Sn(Q7t),d=M(oW),f=M($je),p=Sn(Z7t),g=ht(V7t),A=ht(G7t),w=ht(X7t),b=ht(J7t),C=M(kBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyFresnelReflectorYield();ge.actionInfo={name:"Daily Simulation for Fresnel Reflectors Completed",result:{totalYield:Ae},details:Sn.getState().dailyFresnelReflectorYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.FresnelReflector){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(c){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.FresnelReflector){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ue,Oe)=>Ue+Oe,0)),me++,Ae.set("Reflector"+me,De),Pe.push(Te.label??"Reflector"+me);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=De[Ue]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ue=1;Ue<=me;Ue++){const Oe="Reflector"+Ue;De[Pe[Ue-1]]=(oe=Ae.get(Oe))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.FresnelReflector){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyFresnelReflectorYield();ge.actionInfo={name:"Yearly Simulation for Fresnel Reflectors Completed",result:{totalYield:Ae},details:Sn.getState().yearlyFresnelReflectorYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.FresnelReflector){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.FresnelReflector){const Me=Y.current.get(Pe.id);Me&&(d(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Reflector"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}u(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.FresnelReflector){const me=Y.current.get(Ae.id);me&&(d(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}u(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(At.set(Je,Ve+Ne*Ge),Ft.set(At.x-dt.x,At.y-dt.y,0),Ft.applyEuler(Tt),Qe.set(Te.x+Ft.x,Te.y+Ft.y,xt+Ft.z),!ve(oe.id,Qe,ge)&&!ve(oe.id,Qe,Rt)&&(Ke+=Ct*Wt))}const ct=_.current.get(oe.id);if(ct){const Pt=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();ct[Pt]+=Ke/(We*Ee)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>{const ge=a(oe);if(!ge)throw new Error("parent of Fresnel reflector does not exist");let Ae=1;if(ge.type===z.Foundation){const Pe=ge.solarAbsorberPipe;Ae*=((Pe==null?void 0:Pe.absorberOpticalEfficiency)??.7)*((Pe==null?void 0:Pe.absorberThermalEfficiency)??.3)*((Pe==null?void 0:Pe.absorberAbsorptance)??.95)}return oe.lx*oe.ly*oe.reflectance*Ae*(1-W[y.getMonth()])},ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.FresnelReflector){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.FresnelReflector){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),WLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(r8t),s=M(nW),c=M(Zje),u=Sn(l8t),d=M(oW),f=M(eYe),p=Sn(s8t),g=ht(e8t),A=ht(t8t),w=ht(n8t),b=ht(o8t),C=M(FBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="dailyHeliostatYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyHeliostatYield();ge.actionInfo={name:"Daily Simulation for Heliostats Completed",result:{totalYield:Ae},details:Sn.getState().dailyHeliostatYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.Heliostat){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(c){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.Heliostat){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ue,Oe)=>Ue+Oe,0)),me++,Ae.set("Heliostat"+me,De),Pe.push(Te.label??"Heliostat"+me);for(let Ue=0;Ue<24;Ue++)ge[Ue]+=De[Ue]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ue=1;Ue<=me;Ue++){const Oe="Heliostat"+Ue;De[Pe[Ue-1]]=(oe=Ae.get(Oe))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.Heliostat){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="yearlyHeliostatYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyHeliostatYield();ge.actionInfo={name:"Yearly Simulation for Heliostats Completed",result:{totalYield:Ae},details:Sn.getState().yearlyHeliostatYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.Heliostat){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.Heliostat){const Me=Y.current.get(Pe.id);Me&&(d(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Heliostat"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}u(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.Heliostat){const me=Y.current.get(Ae.id);me&&(d(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}u(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(nt.set(Rt,Ve+At*Ge),yt.set(nt.x-dt.x,nt.y-dt.y,0),yt.applyEuler(ot),Qe.set(Te.x+yt.x,Te.y+yt.y,xt+yt.z),!ve(oe.id,Qe,ge)&&!ve(oe.id,Qe,at)&&(Tt+=_e*et))}const Wt=_.current.get(oe.id);if(Wt){const Ct=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();Wt[Ct]+=Tt/(We*Ee)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>{const ge=a(oe);if(!ge)throw new Error("parent of heliostat does not exist");let Ae=1;if(ge.type===z.Foundation){const Pe=ge.solarPowerTower;Ae*=((Pe==null?void 0:Pe.receiverOpticalEfficiency)??.7)*((Pe==null?void 0:Pe.receiverThermalEfficiency)??.3)*((Pe==null?void 0:Pe.receiverAbsorptance)??.95)}return oe.lx*oe.ly*oe.reflectance*Ae*(1-W[y.getMonth()])},ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.Heliostat){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.Heliostat){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),NLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=Sn(w8t),l=Sn(p8t),s=Sn(g8t),c=Sn(A8t),u=ht(nYe),d=ht(c8t),f=ht(oYe),p=ht(u8t),g=M(LBe),A=M(BBe),w=M(KL)??900,b=i.sutGridCellSize??1,{scene:C}=Xi(),P=Kt(),v=l1(t),T=new Date(i.date),y=v?v.elevation:0,S=i.sutTimesPerHour??4,x=60/S,R=i.sutDaysPerYear??6,H=12/R,D=m.useMemo(()=>new Gs,[]),k=m.useRef([]),W=m.useRef([]),N=m.useRef(0),L=m.useRef(!1),E=m.useRef(new Date(i.date)),U=m.useRef(new Array(24).fill(0)),F=m.useRef(new Map),B=m.useRef(new Map),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useRef(0),ee=m.useMemo(()=>sl(T,i.latitude),[i.date,i.latitude]),q=m.useRef(ee),ae=xe.daysInYear(T)/12;m.useEffect(()=>{if(u)if(A&&!xe.hasMovingParts(r))ne();else return se(),N.current=requestAnimationFrame(le),()=>{cancelAnimationFrame(N.current),L.current||(hn(j.t("message.SimulationAborted",P)),e(me=>{me.world.date=E.current.toLocaleString("en-US")}),ht.getState().set(me=>{me.simulationInProgress=!1,me.simulationPaused=!1})),J.current=!1}},[u]),m.useEffect(()=>{J.current=d,d?(Z.current=new Date(T.getTime()),cancelAnimationFrame(N.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",P))):(n("simulationPaused",!1),le())},[d]);const ne=()=>{ge(),Ce();for(const me of r)if(me.type===z.Foundation){const Pe=me;Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower&&ze(Pe)}e(me=>{me.viewState.showDailyUpdraftTowerYieldPanel=!0,me.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),ht.getState().set(me=>{me.runDailySimulationForUpdraftTower=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,te(),o&&e(me=>{const Pe=Sn.getState().sumDailyUpdraftTowerYield();me.actionInfo={name:"Static Daily Simulation for Updraft Tower Completed",result:{totalYield:Pe},details:Sn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}})},se=()=>{J.current?(T.setTime(Z.current.getTime()),J.current=!1):(E.current=new Date(i.date),ie.current=T.getDay(),T.setHours(Math.floor(ee.sunrise/60),-x/2)),L.current=!1,ge(),Ce()},le=()=>{if(u&&!J.current){if(T.getMinutes()+T.getHours()*60+(T.getDay()-ie.current)*A2+x>=ee.sunset){cancelAnimationFrame(N.current),e(Pe=>{Pe.world.date=E.current.toLocaleString("en-US"),Pe.viewState.showDailyUpdraftTowerYieldPanel=!0,Pe.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),ht.getState().set(Pe=>{Pe.runDailySimulationForUpdraftTower=!1,Pe.simulationInProgress=!1,Pe.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,te(),o&&e(Pe=>{const Me=Sn.getState().sumDailyUpdraftTowerYield();Pe.actionInfo={name:"Dynamic Daily Simulation for Updraft Tower Completed",result:{totalYield:Me},details:Sn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}});return}T.setHours(T.getHours(),T.getMinutes()+x),e(Pe=>{Pe.world.date=T.toLocaleString("en-US")});for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower&&Ie(Me)}N.current=requestAnimationFrame(le)}},te=()=>{const me=ye();for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;if(Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower){const Te=Me.solarUpdraftTower.collectorTransmissivity??.9,De=Me.solarUpdraftTower.turbineEfficiency??.3,Ue=Me.solarUpdraftTower.dischargeCoefficient??.65,Oe=Math.PI*Me.solarUpdraftTower.chimneyRadius*Me.solarUpdraftTower.chimneyRadius,Le=Math.PI*Me.solarUpdraftTower.collectorRadius*Me.solarUpdraftTower.collectorRadius,$e=QY*$be*Oe,We=2*qbe*Me.solarUpdraftTower.chimneyHeight,Ee=F.current.get(Pe.id+"-sut"),Fe=B.current.get(Pe.id+"-sut"),Ge=_.current.get(Pe.id+"-sut");if(Ge&&Ee&&Fe){const rt=.5*Ue*De*QY*Oe,Ve=new Date(i.date);let xt;v&&(xt=Jx(Ve,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt0&&dt>0&&Ee[dt-1]>Qe){const et=(Ee[dt-1]+Qe)/2,_e=(i.airConvectiveCoefficient??5)*Le*(et-Qe),nt=et+x4,yt=nt*nt*nt*nt,Tt=ut*ut*ut*ut,Rt=(Me.solarUpdraftTower.collectorEmissivity??.95)*Qbe*Le*(yt-Tt);Ge[dt]-=_e+Rt,Ge[dt]<0&&(Ge[dt]=0)}const ft=Ge[dt]/($e*ut),at=ut*(1+Math.cbrt(ft*ft/We))-x4,ot=at>Qe?Math.sqrt(We*((at+x4)/ut-1)):0;Ge[dt]=rt*ot*ot*ot*.001,Ee[dt]=at,Fe[dt]=ot}}}}he()},he=()=>{var Ue,Oe,Le;const me=new Map;let Pe=0;const Me=[];for(const $e of r)if($e.type===z.Foundation){const We=$e;if(We.solarStructure===zn.UpdraftTower&&We.solarUpdraftTower){Pe++;const Ee=F.current.get($e.id+"-sut");Ee&&me.set("Temperature Tower"+Pe,Ee);const Fe=B.current.get($e.id+"-sut");Fe&&me.set("Wind Speed Tower"+Pe,Fe);const Ge=_.current.get($e.id+"-sut");Ge&&(me.set("Tower"+Pe,Ge),Me.push($e.label?$e.label:"Tower"+Pe))}}const Te=[];for(let $e=0;$e<24;$e++){const We={};We.Hour=$e;for(let Ee=1;Ee<=Pe;Ee++){const Fe="Tower"+Ee;We[Me[Ee-1]]=(Ue=me.get(Fe))==null?void 0:Ue[$e]}Te.push(We)}s(Te);const De=[];for(let $e=0;$e<24;$e++){const We={};We.Hour=$e,We.T_Ambient=U.current[$e];for(let Ee=1;Ee<=Pe;Ee++){let Fe="Temperature Tower"+Ee;We["T_"+Me[Ee-1]]=(Oe=me.get(Fe))==null?void 0:Oe[$e],Fe="Wind Speed Tower"+Ee,We["V_"+Me[Ee-1]]=(Le=me.get(Fe))==null?void 0:Le[$e]}De.push(We)}l(De),a(Me)};m.useEffect(()=>{if(f)if(A&&!xe.hasMovingParts(r))fe();else return pe(),N.current=requestAnimationFrame($),()=>{cancelAnimationFrame(N.current),L.current||(hn(j.t("message.SimulationAborted",P)),e(me=>{me.world.date=E.current.toLocaleString("en-US")}),ht.getState().set(me=>{me.simulationInProgress=!1,me.simulationPaused=!1})),J.current=!1}},[f]),m.useEffect(()=>{J.current=p,p?(Z.current=new Date(T.getTime()),cancelAnimationFrame(N.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",P))):(n("simulationPaused",!1),$())},[p]);const pe=()=>{J.current?(T.setTime(Z.current.getTime()),J.current=!1):(E.current=new Date(i.date),O.current=0,T.setMonth(0,22),ie.current=T.getDay(),q.current=sl(T,i.latitude),T.setHours(Math.floor(q.current.sunrise/60),-x/2),e(me=>{me.world.date=T.toLocaleString("en-US")})),L.current=!1,ge(),Ce(),ve()},fe=()=>{ge(),Ce(),ve(),E.current=new Date(i.date),O.current=0;for(let me=0;me<12;me+=H){T.setMonth(me,22),q.current=sl(T,i.latitude),Ce();for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower&&ze(Me)}de(),O.current++}e(me=>{me.world.date=E.current.toLocaleString("en-US"),me.viewState.showYearlyUpdraftTowerYieldPanel=!0,me.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),ht.getState().set(me=>{me.runYearlySimulationForUpdraftTower=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,Se(),o&&e(me=>{const Pe=Sn.getState().sumYearlyUpdraftTowerYield();me.actionInfo={name:"Static Yearly Simulation for Updraft Tower Completed",result:{totalYield:Pe},details:Sn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}})},$=()=>{if(f&&!J.current)if(T.getMinutes()+T.getHours()*60+(T.getDay()-ie.current)*A2+x{Pe.world.date=T.toLocaleString("en-US")});for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower&&Ie(Me)}N.current=requestAnimationFrame($)}else{if(de(),O.current++,O.current===R){cancelAnimationFrame(N.current),e(Pe=>{Pe.world.date=E.current.toLocaleString("en-US"),Pe.viewState.showYearlyUpdraftTowerYieldPanel=!0,Pe.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),ht.getState().set(Pe=>{Pe.runYearlySimulationForUpdraftTower=!1,Pe.simulationInProgress=!1,Pe.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,Se(),o&&e(Pe=>{const Me=Sn.getState().sumYearlyUpdraftTowerYield();Pe.actionInfo={name:"Dynamic Yearly Simulation for Updraft Tower Completed",result:{totalYield:Me},details:Sn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}});return}T.setMonth(O.current*H,22),ie.current=T.getDay(),q.current=sl(T,i.latitude),T.setHours(Math.floor(q.current.sunrise/60),-x/2),Ce(),N.current=requestAnimationFrame($)}},de=()=>{const me=oe();for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;if(Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower){const Te=_.current.get(Me.id+"-sut"),De=F.current.get(Pe.id+"-sut"),Ue=B.current.get(Pe.id+"-sut");if(Te&&De&&Ue){const Oe=Me.solarUpdraftTower.collectorTransmissivity??.9,Le=Me.solarUpdraftTower.turbineEfficiency??.3,$e=Me.solarUpdraftTower.dischargeCoefficient??.65,We=Math.PI*Me.solarUpdraftTower.chimneyRadius*Me.solarUpdraftTower.chimneyRadius,Ee=Math.PI*Me.solarUpdraftTower.collectorRadius*Me.solarUpdraftTower.collectorRadius,Fe=QY*$be*We,Ge=2*qbe*Me.solarUpdraftTower.chimneyHeight,rt=.5*$e*Le*QY*We;let Ve;v&&(Ve=Jx(T,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt0&&dt>0&&De[dt-1]>Qe){const et=(De[dt-1]+Qe)/2,_e=(i.airConvectiveCoefficient??5)*Ee*(et-Qe),nt=et+x4,yt=nt*nt*nt*nt,Tt=ut*ut*ut*ut,Rt=(Me.solarUpdraftTower.collectorEmissivity??.95)*Qbe*Ee*(yt-Tt);Te[dt]-=_e+Rt,Te[dt]<0&&(Te[dt]=0)}const ft=Te[dt]/(Fe*ut),at=ut*(1+Math.cbrt(ft*ft/Ge))-x4,ot=at>Qe?Math.sqrt(Ge*((at+x4)/ut-1)):0;Te[dt]=rt*ot*ot*ot*.001,De[dt]=at,Ue[dt]=ot}const xt=Y.current.get(Me.id+"-sut");if(xt){const dt=Te.reduce((Qe,ut)=>Qe+ut,0);xt[O.current]+=dt}}}}g&&he()},Se=()=>{const me=[],Pe=[];let Me=0;for(const De of r)if(De.type===z.Foundation){const Ue=De;if(Ue.solarStructure===zn.UpdraftTower&&Ue.solarUpdraftTower){const Oe=Y.current.get(De.id+"-sut");Oe&&(me.push(Oe),Pe.push(De.label?De.label:"Tower"+ ++Me))}}const Te=[];for(let De=0;De<12;De+=H){const Ue={};Ue.Month=Ps[De];for(const[Oe,Le]of me.entries())Ue[Pe[Oe]]=Le[De/H]*ae;Te.push(Ue)}c(Te),a(Pe)},Ce=()=>{for(const me of r)if(me.type===z.Foundation){const Pe=me;if(Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower){const Me=F.current.get(me.id+"-sut");Me?Me.fill(0):F.current.set(me.id+"-sut",new Array(24).fill(0));const Te=B.current.get(me.id+"-sut");Te?Te.fill(0):B.current.set(me.id+"-sut",new Array(24).fill(0));const De=_.current.get(me.id+"-sut");De?De.fill(0):_.current.set(me.id+"-sut",new Array(24).fill(0))}}},ve=()=>{for(const me of r)if(me.type===z.Foundation){const Pe=me;if(Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower){const Me=Y.current.get(me.id+"-sut");Me&&Me.length===R?Me.fill(0):Y.current.set(me.id+"-sut",new Array(R).fill(0))}}},Ie=me=>{const Pe=me.solarUpdraftTower;if(!Pe)return;const Me=zr(T,i.latitude);if(Me.zxt)&&(Qe++,dt+=Ge,Ve>0&&(Ae(me.id+"-sut",rt,Me)||(dt+=Ve*Fe)))}Qe&&(dt/=Qe);const at=T.getMinutes()>=30?T.getHours()+1===24?0:T.getHours()+1:T.getHours(),ot=Math.PI*Pe.collectorRadius*Pe.collectorRadius;Te[at]+=dt*ot}},ze=me=>{const Pe=me.solarUpdraftTower;if(!Pe)return;const Me=_.current.get(me.id+"-sut");if(!Me)return;const Te=new re().fromArray(me.normal),De=T.getFullYear(),Ue=T.getMonth(),Oe=T.getDate(),Le=xe.dayOfYear(T),$e=Pe.collectorRadius,We=Math.max(2,Math.round($e*2/b)),Ee=me.cx-$e+b/2,Fe=me.cy-$e+b/2,Ge=me.lz+Pe.collectorHeight,rt=new re(0,0,Ge),Ve=$e*$e;let xt=0,dt,Qe;const ut=Math.PI*Pe.collectorRadius*Pe.collectorRadius;for(let ft=0;ft<24;ft++){for(let at=0;at0){const _e=Rr(et,Le,y,vr.SPHERE_MODEL),nt=tr(i.ground,Ue,Po,_e),yt=Te.dot(et);xt=0;for(let Tt=0;TtVe)&&(xt++,Me[ft]+=nt,yt>0&&(Ae(me.id+"-sut",rt,et)||(Me[ft]+=yt*_e)))}}}xt&&(Me[ft]/=xt),Me[ft]*=ut}},ye=()=>{const me=ee.daylight()/60;return me>Dt?v.sunshineHours[T.getMonth()]/(30*me*S):0},oe=()=>{const me=T.getMonth(),Pe=q.current.daylight()/60;return Pe>Dt?v.sunshineHours[me]/(30*Pe*S):0},ge=()=>{const me=C.children.filter(Pe=>Pe.name==="Content");if(me.length>0){const Pe=me[0].children;k.current.length=0;for(const Me of Pe)xe.fetchSimulationElements(Me,k.current)}},Ae=(me,Pe,Me)=>{if(k.current.length>1){W.current.length=0,D.set(Pe,Me);const Te=k.current.filter(De=>De.uuid!==me);return D.intersectObjects(Te,!1,W.current),W.current.length>0}return!1};return h.jsx(h.Fragment,{})});class ULo{constructor(e,n){this.position=e,this.observer=n}}const BLo=be.memo(()=>{const t=M.getState().world,e=M.getState().elements,n=M(dn),o=ht(Ah),i=M(rr),r=M(cA),a=ht(P7t),{scene:l}=Xi(),s=Kt(),c=m.useMemo(()=>new Gs,[]),u=t.solarPanelVisibilityGridCellSize??.2,d=m.useRef([]),f=m.useRef([]),p=m.useRef([]);m.useEffect(()=>{a&&e&&e.length>0&&(w(),o("runSolarPanelVisibilityAnalysis",!1),n(P=>{P.viewState.showSolarPanelVisibilityResultsPanel=!0,P.selectedFloatingWindow="visibilityResultsPanel"}),hn(j.t("message.SimulationCompleted",s))),o("simulationInProgress",!1)},[a]);const g=()=>{const P=l.children.filter(v=>v.name==="Content");if(P.length>0){const v=P[0].children;f.current.length=0;for(const T of v)xe.fetchSimulationElements(T,f.current)}},A=()=>{d.current=[];for(const P of e)if(P.type===z.Human){const v=P;if(v.observer){const T=i(v),y=T?xe.absoluteHumanOrTreeCoordinates(v.cx,v.cy,v.cz,T):new re(v.cx,v.cy,v.cz);y.z+=v.lz,d.current.push(new ULo(y,v))}}},w=()=>{if(Sn.getState().clearSolarPanelVisibilityResults(),A(),d.current.length!==0){g();for(const P of d.current){const v=new Map;for(const T of e)if(T.type===z.SolarPanel){const y=T;v.set(y.parentId,0)}for(const T of e)if(T.type===z.SolarPanel){const y=T;let S=v.get(y.parentId)??0;S+=b(y,P.position)*100,v.set(y.parentId,S)}Sn.getState().setSolarPanelVisibilityResult(P,v)}}},b=(P,v)=>{let T=i(P);if(!T)throw new Error("parent of solar panel does not exist");let y=!1;if(T.type===z.Roof){if(T=r(T),!T)throw new Error("foundation of solar panel does not exist");y=!0}const S=xe.absoluteCoordinates(P.cx,P.cy,P.cz,T);y&&(S.z=P.cz+T.cz+T.lz/2);const x=new re().fromArray(P.normal),R=T.rotation[2]+P.relativeAzimuth;Math.abs(P.tiltAngle)>.001&&x.applyEuler(new Qt(P.tiltAngle,0,R,"ZYX"));const H=P.lx,D=P.ly*Math.cos(P.tiltAngle),k=P.ly*Math.abs(Math.sin(P.tiltAngle)),W=Math.max(2,Math.round(P.lx/u)),N=Math.max(2,Math.round(P.ly/u)),L=H/W,E=D/N,U=k/N,F=S.x-H/2,B=S.y-D/2,_=(y?S.z:P.poleHeight+S.z)-k/2,Y=new Gt(S.x,S.y);let O=0;const J=new re,Z=new re;let ie;const ee=new Gt,q=xe.isZero(R);for(let ae=0;ae0&&(Z.normalize(),C(P.id,J,Z)&&(O+=Math.abs(Z.dot(x))/(ie*ie)));return O*u*u/(4*Math.PI)},C=(P,v,T)=>{if(f.current.length>1){p.current.length=0,c.set(v,T);const y=f.current.filter(S=>S.uuid!==P);if(c.intersectObjects(y,!1,p.current),p.current.length===0)return!0;for(const[S,x]of p.current.entries())if(x.object.name.endsWith("eyeball")&&S===0)return!0;return!1}return!0};return h.jsx(h.Fragment,{})}),jLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=M(cA),s=M(x7t),c=M(S7t),u=Sn(F8t),d=Sn(D8t),f=Sn(k8t),p=ht(sYe),g=ht(M8t),A=ht(cYe),w=ht(I8t),b=M(IBe),C=M(J1e),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=m.useMemo(()=>s(t??"Boston MA, USA"),[t]),x=m.useMemo(()=>c(t??"Boston MA, USA"),[t]),R=t?T==null?void 0:T.elevation:0,H=i.timesPerHour??4,D=60/H,k=m.useMemo(()=>new Gs,[]),W=m.useRef([]),N=m.useRef([]),L=m.useRef(0),E=m.useRef(!1),U=m.useRef(new Date(i.date)),F=m.useRef(new Map),B=m.useRef(new Map),_=m.useRef(new Array(12).fill(0)),Y=m.useRef(new Array(12).fill(0)),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useRef(0),ee=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),q=m.useRef(ee);m.useEffect(()=>{if(p)if(C&&!xe.hasMovingParts(r))ae();else return ne(),L.current=requestAnimationFrame(se),()=>{cancelAnimationFrame(L.current),E.current||(hn(j.t("message.SimulationAborted",v)),e(Ae=>{Ae.world.date=U.current.toLocaleString("en-US")}),ht.getState().set(Ae=>{Ae.simulationInProgress=!1,Ae.simulationPaused=!1})),J.current=!1}},[p]),m.useEffect(()=>{J.current=g,g?(Z.current=new Date(y.getTime()),cancelAnimationFrame(L.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),se())},[g]);const ae=()=>{oe(),Se();for(const Ae of r)Ae.type===z.Sensor&&Ie(Ae);e(Ae=>{Ae.viewState.showDailyLightSensorPanel=!0,Ae.selectedFloatingWindow="dailyLightSensorPanel"}),ht.getState().set(Ae=>{Ae.runDailyLightSensor=!1,Ae.simulationInProgress=!1,Ae.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,le(),o&&e(Ae=>{Ae.actionInfo={name:"Static Daily Simulation for Sensors Completed",details:Sn.getState().dailyLightSensorData,timestamp:new Date().getTime()}})},ne=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(U.current=new Date(i.date),ie.current=y.getDay(),y.setHours(Math.floor(ee.sunrise/60),-D/2)),E.current=!1,oe(),Se()},se=()=>{if(p&&!J.current){if(y.getMinutes()+y.getHours()*60+(y.getDay()-ie.current)*A2+D>=ee.sunset){cancelAnimationFrame(L.current),e(me=>{me.world.date=U.current.toLocaleString("en-US"),me.viewState.showDailyLightSensorPanel=!0,me.selectedFloatingWindow="dailyLightSensorPanel"}),ht.getState().set(me=>{me.runDailyLightSensor=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,le(),o&&e(me=>{me.actionInfo={name:"Dynamic Daily Simulation for Sensors Completed",details:Sn.getState().dailyLightSensorData,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+D),e(me=>{me.world.date=y.toLocaleString("en-US")});for(const me of r)me.type===z.Sensor&&ve(me);L.current=requestAnimationFrame(se)}},le=()=>{const Ae=ze();for(const me of r)if(me.type===z.Sensor){const Pe=F.current.get(me.id);if(Pe)for(let Me=0;Me{var Te;const Ae=new Map;let me=0;const Pe=[];for(const De of r)if(De.type===z.Sensor){const Ue=F.current.get(De.id);Ue&&(Ae.set("Radiation"+ ++me,Ue),Pe.push(De.label?De.label:"Radiation"+me))}const Me=[];for(let De=0;De<24;De++){const Ue={};Ue.Hour=De;for(let Oe=1;Oe<=me;Oe++){const Le="Radiation"+Oe;Ue[Pe[Oe-1]]=(Te=Ae.get(Le))==null?void 0:Te[De]}Me.push(Ue)}d(Me),u(Pe)};m.useEffect(()=>{if(A)if(C&&!xe.hasMovingParts(r))pe();else return he(),L.current=requestAnimationFrame(fe),()=>{cancelAnimationFrame(L.current),E.current||(hn(j.t("message.SimulationAborted",v)),e(Ae=>{Ae.world.date=U.current.toLocaleString("en-US")}),ht.getState().set(Ae=>{Ae.simulationInProgress=!1,Ae.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(L.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),fe())},[w]);const he=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(U.current=new Date(i.date),O.current=0,y.setMonth(0,22),ie.current=y.getDay(),q.current=sl(y,i.latitude),y.setHours(Math.floor(q.current.sunrise/60),-D/2),e(Ae=>{Ae.world.date=y.toLocaleString("en-US")})),E.current=!1,oe(),Se(),Ce()},pe=()=>{oe(),Se(),Ce(),U.current=new Date(i.date),O.current=0;for(let Ae=0;Ae<12;Ae++){y.setMonth(Ae,22),q.current=sl(y,i.latitude),Se();for(const me of r)me.type===z.Sensor&&Ie(me);$(),O.current++}e(Ae=>{Ae.world.date=U.current.toLocaleString("en-US"),Ae.viewState.showYearlyLightSensorPanel=!0,Ae.selectedFloatingWindow="yearlyLightSensorPanel"}),ht.getState().set(Ae=>{Ae.runYearlyLightSensor=!1,Ae.simulationInProgress=!1,Ae.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,de(),o&&e(Ae=>{Ae.actionInfo={name:"Static Yearly Simulation for Sensors Completed",details:Sn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}})},fe=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60+(y.getDay()-ie.current)*A2+D{me.world.date=y.toLocaleString("en-US")});for(const me of r)me.type===z.Sensor&&ve(me);L.current=requestAnimationFrame(fe)}else{if($(),O.current++,O.current===12){cancelAnimationFrame(L.current),e(me=>{me.world.date=U.current.toLocaleString("en-US"),me.viewState.showYearlyLightSensorPanel=!0,me.selectedFloatingWindow="yearlyLightSensorPanel"}),ht.getState().set(me=>{me.runYearlyLightSensor=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,de(),o&&e(me=>{me.actionInfo={name:"Dynamic Yearly Simulation for Sensors Completed",details:Sn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}});return}y.setMonth(O.current,22),ie.current=y.getDay(),q.current=sl(y,i.latitude),y.setHours(Math.floor(q.current.sunrise/60),-D/2),Se(),L.current=requestAnimationFrame(fe)}},$=()=>{const Ae=ye();for(const me of r)if(me.type===z.Sensor){const Pe=F.current.get(me.id);if(Pe){const Me=B.current.get(me.id);if(Me){const Te=Pe.reduce((De,Ue)=>De+Ue,0);Me[O.current]+=Te*Ae}}}b&&le()},de=()=>{const Ae=[],me=[];let Pe=0,Me=!1,Te=!1;for(const Le of r)if(Le.type===z.Sensor){const $e=B.current.get(Le.id);$e&&(Ae.push($e),me.push(Le.label?Le.label:"Radiation"+ ++Pe),!Me&&xe.isIdentical(Le.normal,o0)&&(Me=!0),!Te&&xe.isIdentical(Le.normal,j3t)&&(Te=!0))}const De=Me&&S;De&&me.push("Measured (Hor.)");const Ue=Te&&x;Ue&&me.push("Measured (Ver.)");const Oe=[];for(let Le=0;Le<12;Le++){const $e={};$e.Month=Ps[Le];for(const[We,Ee]of Ae.entries())$e.Daylight=_.current[Le],$e.Clearness=Y.current[Le]*100,De&&($e["Measured (Hor.)"]=S.data[Le]),Ue&&($e["Measured (Ver.)"]=x.data[Le]),$e[me[We]]=Ee[Le];Oe.push($e)}f(Oe),u(me)},Se=()=>{for(const Ae of r)if(Ae.type===z.Sensor){const me=F.current.get(Ae.id);me?me.fill(0):F.current.set(Ae.id,new Array(24).fill(0))}},Ce=()=>{for(const Ae of r)if(Ae.type===z.Sensor){const me=B.current.get(Ae.id);me?me.fill(0):B.current.set(Ae.id,new Array(12).fill(0))}},ve=Ae=>{const me=zr(y,i.latitude);if(me.z0&&(ge(Ae.id,Te,me)||($e+=Le*Oe));const We=F.current.get(Ae.id);if(We){const Ee=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();We[Ee]+=$e}},Ie=Ae=>{const me=a(Ae);if(!me)throw new Error("parent of sensor does not exist");const Pe=F.current.get(Ae.id);if(!Pe)return;let Me=null;me.type===z.Wall&&(Me=l(Ae));const Te=xe.absoluteCoordinates(Ae.cx,Ae.cy,Ae.cz,me,Me||void 0),De=new re().fromArray(Ae.normal);De.applyAxisAngle(Po,me.rotation[2]);const Ue=y.getFullYear(),Oe=y.getMonth(),Le=y.getDate(),$e=xe.dayOfYear(y);for(let We=0;We<24;We++)for(let Ee=0;Ee0){const rt=Rr(Ge,$e,R,vr.SPHERE_MODEL),Ve=De.dot(Ge);Ve>0&&(ge(Ae.id,Te,Ge)||(Pe[We]+=Ve*rt)),Pe[We]+=tr(i.ground,Oe,De,rt)}}},ze=()=>{const Ae=ee.daylight()/60;return Ae>Dt?T.sunshineHours[y.getMonth()]/(30*Ae*H):0},ye=()=>{const Ae=y.getMonth(),me=q.current.daylight()/60;return me>Dt?(_.current[Ae]=me,Y.current[Ae]=T.sunshineHours[Ae]/(30*me),Y.current[Ae]/H):(_.current[Ae]=0,Y.current[Ae]=0,0)},oe=()=>{const Ae=P.children.filter(me=>me.name==="Content");if(Ae.length>0){const me=Ae[0].children;W.current.length=0;for(const Pe of me)xe.fetchSimulationElements(Pe,W.current)}},ge=(Ae,me,Pe)=>{if(W.current.length>1){N.current.length=0,k.set(me,Pe);const Me=W.current.filter(Te=>Te.uuid!==Ae);return k.intersectObjects(Me,!1,N.current),N.current.length>0}return!1};return h.jsx(h.Fragment,{})}),EEe=(t,e)=>{let n=e.efficiency;return e.cellType==="Monocrystalline"&&(n*=.95),n*(1+e.pmaxTC*(t-25))},YLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(J2),l=M(rr),s=M(cA),c=Sn(D7t),u=M(nW),d=Sn(k7t),f=M(oW),p=M(jje),g=M(Yje),A=Sn(F7t),w=ht(Uje),b=ht(R7t),C=ht(M7t),P=ht(Bje),v=ht(H7t),T=ht(I7t),y=M(zBe),S=M(K1e),x=M(KL)??900,R=ht(K2),{scene:H}=Xi(),D=Kt(),k=l1(t),W=new Date(i.date),N=t?k==null?void 0:k.elevation:0,L=i.timesPerHour??4,E=60/L,U=i.daysPerYear??6,F=12/U,B=m.useMemo(()=>new Gs,[]),_=i.monthlyIrradianceLosses??new Array(12).fill(.05),Y=i.pvGridCellSize??.25,O=m.useRef([]),J=m.useRef([]),Z=m.useRef(0),ie=m.useRef(!1),ee=m.useRef(new Date(i.date)),q=m.useRef(new Map),ae=m.useRef(new Map),ne=m.useRef(0),se=m.useRef(!1),le=m.useRef(new Date(i.date)),te=m.useRef(0),he=m.useRef(20),pe=m.useMemo(()=>sl(W,i.latitude),[i.date,i.latitude]),fe=m.useRef(pe),$=xe.daysInYear(W)/12;m.useEffect(()=>{if(w)if(S&&!xe.hasMovingParts(r))setTimeout(()=>{de(!1)},50);else return Se(),Z.current=requestAnimationFrame(Ce),()=>{cancelAnimationFrame(Z.current),ie.current||(hn(j.t("message.SimulationAborted",D)),e(Ee=>{Ee.world.date=ee.current.toLocaleString("en-US")}),ht.getState().set(Ee=>{Ee.simulationInProgress=!1,Ee.simulationPaused=!1})),se.current=!1}},[w]),m.useEffect(()=>{b&&S&&!xe.hasMovingParts(r)&&setTimeout(()=>{de(!0)},50)},[b]),m.useEffect(()=>{se.current=C,C?(le.current=new Date(W.getTime()),cancelAnimationFrame(Z.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",D))):(n("simulationPaused",!1),Ce())},[C]);const de=Ee=>{We(),Me();for(const Fe of r)Fe.type===z.SolarPanel&&me(Fe);if(e(Fe=>{!R&&!Ee&&(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),ht.getState().set(Fe=>{Ee?Fe.runDailySimulationForSolarPanelsLastStep=!1:Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,ve(),!R&&!Ee&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumDailyPvYield(),Ge=Sn.getState().getDailyPvProfit(),rt=Sn.getState().dailyPvYield;e(Ve=>{Ve.actionInfo={name:"Static Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}},Se=()=>{se.current?(W.setTime(le.current.getTime()),se.current=!1):(ee.current=new Date(i.date),te.current=W.getDay(),W.setHours(Math.floor(pe.sunrise/60),-E/2)),ie.current=!1,We(),Me()},Ce=()=>{if(w&&!se.current){if(W.getMinutes()+W.getHours()*60+(W.getDay()-te.current)*A2+E>=pe.sunset){if(cancelAnimationFrame(Z.current),e(Fe=>{Fe.world.date=ee.current.toLocaleString("en-US"),R||(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),ht.getState().set(Fe=>{Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,ve(),!R&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumDailyPvYield(),Ge=Sn.getState().getDailyPvProfit(),rt=Sn.getState().dailyPvYield;e(Ve=>{Ve.actionInfo={name:"Dynamic Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}return}W.setHours(W.getHours(),W.getMinutes()+E),e(Fe=>{Fe.world.date=W.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Pe(Fe);Z.current=requestAnimationFrame(Ce)}},ve=()=>{const Ee=De();for(const Fe of r)if(Fe.type===z.SolarPanel){const Ge=Fe,rt=q.current.get(Fe.id);if(rt){const Ve=Oe(Ge)*Ee;for(let xt=0;xt{var Ee;if(p){const Fe=new Array(24).fill(0),Ge=new Map;let rt=0;const Ve=[];for(const dt of r)if(dt.type===z.SolarPanel){const Qe=q.current.get(dt.id);if(Qe){u(dt.id,Qe.reduce((ut,ft)=>ut+ft,0)),rt++,Ge.set("Panel"+rt,Qe),Ve.push(dt.label?dt.label:"Panel"+rt);for(let ut=0;ut<24;ut++)Fe[ut]+=Qe[ut]}}const xt=[];for(let dt=0;dt<24;dt++){const Qe={};Qe.Hour=dt;for(let ut=1;ut<=rt;ut++){const ft="Panel"+ut;Qe[Ve[ut-1]]=(Ee=Ge.get(ft))==null?void 0:Ee[dt]}xt.push(Qe)}c(xt),A(Ve)}else{const Fe=new Array(24).fill(0);for(const rt of r)if(rt.type===z.SolarPanel){const Ve=q.current.get(rt.id);if(Ve){u(rt.id,Ve.reduce((xt,dt)=>xt+dt,0));for(let xt=0;xt<24;xt++)Fe[xt]+=Ve[xt]}}const Ge=[];for(let rt=0;rt<24;rt++)Ge.push({Hour:rt,Total:Fe[rt]});c(Ge)}};m.useEffect(()=>{if(P)if(S&&!xe.hasMovingParts(r))setTimeout(()=>{ye(!1)},50);else return ze(),Z.current=requestAnimationFrame(oe),()=>{cancelAnimationFrame(Z.current),ie.current||(hn(j.t("message.SimulationAborted",D)),e(Ee=>{Ee.world.date=ee.current.toLocaleString("en-US")}),ht.getState().set(Ee=>{Ee.simulationInProgress=!1,Ee.simulationPaused=!1})),se.current=!1}},[P]),m.useEffect(()=>{v&&S&&!xe.hasMovingParts(r)&&setTimeout(()=>{ye(!0)},50)},[v]),m.useEffect(()=>{se.current=T,T?(le.current=new Date(W.getTime()),cancelAnimationFrame(Z.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",D))):(n("simulationPaused",!1),oe())},[T]);const ze=()=>{se.current?(W.setTime(le.current.getTime()),se.current=!1):(ee.current=new Date(i.date),ne.current=0,W.setMonth(0,22),te.current=W.getDay(),fe.current=sl(W,i.latitude),W.setHours(Math.floor(fe.current.sunrise/60),-E/2),e(Ee=>{Ee.world.date=W.toLocaleString("en-US")})),ie.current=!1,We(),Me(),Te()},ye=Ee=>{We(),Me(),Te(),ee.current=new Date(i.date),ne.current=0;for(let Fe=0;Fe<12;Fe+=F){W.setMonth(Fe,22),fe.current=sl(W,i.latitude),Me();for(const Ge of r)Ge.type===z.SolarPanel&&me(Ge);ge(),ne.current++}if(e(Fe=>{Fe.world.date=ee.current.toLocaleString("en-US"),!R&&!Ee&&(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),ht.getState().set(Fe=>{Ee?Fe.runYearlySimulationForSolarPanelsLastStep=!1:Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,Ae(),!R&&!Ee&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumYearlyPvYield(),Ge=Sn.getState().getYearlyPvProfit(),rt=Sn.getState().yearlyPvYield;e(Ve=>{Ve.actionInfo={name:"Static Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}},oe=()=>{if(P&&!se.current)if(W.getMinutes()+W.getHours()*60+(W.getDay()-te.current)*A2+E{Fe.world.date=W.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Pe(Fe);Z.current=requestAnimationFrame(oe)}else{if(ge(),ne.current++,ne.current===U){if(cancelAnimationFrame(Z.current),e(Fe=>{Fe.world.date=ee.current.toLocaleString("en-US"),R||(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),ht.getState().set(Fe=>{Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,Ae(),!R&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumYearlyPvYield(),Ge=Sn.getState().getYearlyPvProfit(),rt=Sn.getState().yearlyPvYield;e(Ve=>{Ve.actionInfo={name:"Dynamic Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}return}W.setMonth(ne.current*F,22),te.current=W.getDay(),fe.current=sl(W,i.latitude),W.setHours(Math.floor(fe.current.sunrise/60),-E/2),Me(),Z.current=requestAnimationFrame(oe)}},ge=()=>{const Ee=Ue();for(const Fe of r)if(Fe.type===z.SolarPanel){const Ge=Fe,rt=q.current.get(Fe.id);if(rt){const Ve=ae.current.get(Fe.id);if(Ve){const xt=rt.reduce((dt,Qe)=>dt+Qe,0);Ve[ne.current]+=xt*Ee*Oe(Ge)}}}!R&&y&&ve()},Ae=()=>{if(g){const Ee=[],Fe=[];let Ge=0;for(const Ve of r)if(Ve.type===z.SolarPanel){const xt=ae.current.get(Ve.id);xt&&(f(Ve.id,xt.reduce((dt,Qe)=>dt+Qe,0)*F*$),Ee.push(xt),Ge++,Fe.push(Ve.label??"Panel"+Ge))}const rt=[];for(let Ve=0;Ve<12;Ve+=F){const xt={};xt.Month=Ps[Ve];for(const[dt,Qe]of Ee.entries())xt[Fe[dt]]=Qe[Ve/F]*$;rt.push(xt)}d(rt),A(Fe)}else{const Ee=[];for(const Ge of r)if(Ge.type===z.SolarPanel){const rt=ae.current.get(Ge.id);rt&&(f(Ge.id,rt.reduce((Ve,xt)=>Ve+xt,0)*F*$),Ee.push(rt))}const Fe=[];for(let Ge=0;Ge<12;Ge+=F){let rt=0;for(const Ve of Ee)rt+=Ve[Ge/F];Fe.push({Month:Ps[Ge],Total:rt*$})}d(Fe)}},me=Ee=>{if(Ee.trackerType!==Ma.NO_TRACKER)throw new Error("static simulation is not for solar panel with tracker");let Fe=l(Ee);if(!Fe)throw new Error("parent of solar panel does not exist");const Ge=Ee.parentType===z.Roof,rt=Ee.parentType===z.Wall;if(Ge&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const Ve=a(Ee.pvModelName);if(!Ve)throw new Error("PV model not found");const xt=q.current.get(Ee.id);if(!xt)return;const dt=rt?xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe,s(Ee),Ee.lz):xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe),Qe=Fe.rotation[2];let ut=Qe+Ee.relativeAzimuth,ft=Ee.tiltAngle,at=!0;if(Ge&&(dt.z=Ee.cz+Ee.lz+.02+Fe.cz+Fe.lz/2,xe.isZero(Ee.rotation[0])?dt.z+=Ee.poleHeight:(ft=Ee.rotation[0],ut=Qe,at=!1)),rt&&!xe.isZero(Ee.tiltAngle)){const je=Fe,mt=s(Fe),wt=(mt?mt.rotation[2]+je.relativeAngle:je.relativeAngle)-Vt,It=Ee.ly*Math.abs(Math.sin(Ee.tiltAngle))/2;dt.x+=It*Math.cos(wt),dt.y+=It*Math.sin(wt)}const ot=new re().fromArray(Ee.normal),et=new Qt(Ge&&!at?0:ft,0,ut,"ZYX");ot.applyEuler(et);const _e=W.getFullYear(),nt=W.getMonth(),yt=W.getDate(),Tt=xe.dayOfYear(W);let Rt,Wt,Ct,At,Ft;i.discretization===Hm.EXACT?(Rt=Ee.lx,Wt=Ee.ly,Ee.orientation===ui.portrait?(Ct=Math.max(1,Math.round(Ee.lx/Ve.width)),At=Math.max(1,Math.round(Ee.ly/Ve.length)),Ct*=Ve.n,At*=Ve.m):(Ct=Math.max(1,Math.round(Ee.lx/Ve.length)),At=Math.max(1,Math.round(Ee.ly/Ve.width)),Ct*=Ve.m,At*=Ve.n),Ft=Ee.lx/Ct):(Rt=Ee.lx,Wt=Ee.ly,Ct=Math.max(2,Math.round(Ee.lx/Y)),At=Math.max(2,Math.round(Ee.ly/Y)),Ct%2!==0&&(Ct+=1),At%2!==0&&(At+=1),Ft=Y);const Ke=Rt/Ct,Je=Wt/At,ct=dt.x-(Rt-Ft)/2,Pt=dt.y-(Wt-Ft)/2,Ne=Ge||rt?dt.z:Fe.lz+Ee.poleHeight+Ee.lz,lt=new Gt(dt.x,dt.y),Ye=new re,st=Array.from(Array(Ct),()=>new Array(At));Ge&&!at&&(et.x=Ee.rotation[0],et.z=Ee.rotation[2]+Qe),rt&&(et.x=Vt+Ee.tiltAngle,et.z=Fe.relativeAngle+Qe);for(let je=0;je<24;je++)for(let mt=0;mt0){const It=Rr(wt,Tt,N,vr.SPHERE_MODEL),Et=tr(i.ground,nt,ot,It),zt=ot.dot(wt),ln=new Gt,Xt=new re;if(Ve.bifacialityFactor>0){const bn=ot.clone().negate(),Tn=tr(i.ground,nt,bn,It),Un=Et+Tn*Ve.bifacialityFactor;for(let Ai=0;Ai0?zt:-zt*Ve.bifacialityFactor)*It)}else for(let bn=0;bn0&&(ln.set(ct+bn*Ke,Pt+Tn*Je),Xt.set(ln.x-lt.x,ln.y-lt.y,0),Xt.applyEuler(et),Ye.set(dt.x+Xt.x,dt.y+Xt.y,Ne+Xt.z),$e(Ee.id,Ye,wt)||(st[bn][Tn]+=zt*It));let fn=0;Le(Ht);const rn=EEe(he.current,Ve);switch(Ve.shadeTolerance){case zv.NONE:{let bn=Number.MAX_VALUE;for(let Tn=0;Tn{let Fe=l(Ee);if(!Fe)throw new Error("parent of solar panel does not exist");const Ge=Ee.parentType===z.Roof,rt=Ee.parentType===z.Wall;if(Ge&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const Ve=a(Ee.pvModelName);if(!Ve)throw new Error("PV model not found");const xt=zr(W,i.latitude);if(xt.z<=0)return;const dt=rt?xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe,s(Ee),Ee.lz):xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe),Qe=Fe.rotation[2];let ut=Ee.tiltAngle,ft=Qe+Ee.relativeAzimuth,at=!0;if(Ge&&(dt.z=Ee.cz+Ee.lz+.02+Fe.cz+Fe.lz/2,xe.isZero(Ee.rotation[0])?dt.z+=Ee.poleHeight:(ut=Ee.rotation[0],ft=Qe,at=!1)),rt&&!xe.isZero(Ee.tiltAngle)){const Et=Fe,zt=s(Fe),Xt=(zt?zt.rotation[2]+Et.relativeAngle:Et.relativeAngle)-Vt,fn=Ee.ly*Math.abs(Math.sin(Ee.tiltAngle))/2;dt.x+=fn*Math.cos(Xt),dt.y+=fn*Math.sin(Xt)}const ot=new re().fromArray(Ee.normal),et=W.getMonth(),_e=xe.dayOfYear(W);let nt,yt,Tt,Rt,Wt;i.discretization===Hm.EXACT?(nt=Ee.lx,yt=Ee.ly,Ee.orientation===ui.portrait?(Tt=Math.max(1,Math.round(Ee.lx/Ve.width)),Rt=Math.max(1,Math.round(Ee.ly/Ve.length)),Tt*=Ve.n,Rt*=Ve.m):(Tt=Math.max(1,Math.round(Ee.lx/Ve.length)),Rt=Math.max(1,Math.round(Ee.ly/Ve.width)),Tt*=Ve.m,Rt*=Ve.n),Wt=Ee.lx/Tt):(nt=Ee.lx,yt=Ee.ly,Tt=Math.max(2,Math.round(Ee.lx/Y)),Rt=Math.max(2,Math.round(Ee.ly/Y)),Tt%2!==0&&(Tt+=1),Rt%2!==0&&(Rt+=1),Wt=Y);const Ct=nt/Tt,At=yt/Rt,Ft=dt.x-(nt-Wt)/2,Ke=dt.y-(yt-Wt)/2,Je=Ge||rt?dt.z:Fe.lz+Ee.poleHeight+Ee.lz,ct=new Gt(dt.x,dt.y),Pt=new re,Ne=Array.from(Array(Tt),()=>new Array(Rt));let lt=new Qt(Ge&&!at?0:ut,0,ft,"ZYX");if(Ee.trackerType!==Ma.NO_TRACKER){const Et=Qe?xt.clone().applyAxisAngle(Po,-Qe):xt.clone();switch(Ee.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const zt=new Ts().setFromUnitVectors(Po,Et);lt=new Qt().setFromQuaternion(zt),lt.z+=ft;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const zt=new Ts().setFromUnitVectors(Po,new re(Et.x,0,Et.z).normalize());lt=new Qt().setFromQuaternion(zt),lt.z+=ft;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const zt=new re(Et.x,-Et.y,0).normalize(),ln=Math.acos(Yc.dot(zt))*Math.sign(zt.x);lt=new Qt(Ee.tiltAngle,0,ln+Qe,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}ot.applyEuler(lt),Ge&&!at&&(lt.x=Ee.rotation[0],lt.z=Ee.rotation[2]+Qe),rt&&(lt.x=Vt+Ee.tiltAngle,lt.z=Fe.relativeAngle+Qe);const Ye=Rr(xt,_e,N,vr.SPHERE_MODEL),st=tr(i.ground,et,ot,Ye),je=ot.dot(xt),mt=new Gt,Ht=new re;if(Ve.bifacialityFactor>0){const Et=ot.clone().negate(),zt=tr(i.ground,et,Et,Ye),ln=st+zt*Ve.bifacialityFactor;for(let Xt=0;Xt0?je:-je*Ve.bifacialityFactor)*Ye)}else for(let Et=0;Et0&&(mt.set(Ft+Et*Ct,Ke+zt*At),Ht.set(mt.x-ct.x,mt.y-ct.y,0),Ht.applyEuler(lt),Pt.set(dt.x+Ht.x,dt.y+Ht.y,Je+Ht.z),$e(Ee.id,Pt,xt)||(Ne[Et][zt]+=je*Ye));let wt=0;switch(Ve.shadeTolerance){case zv.NONE:{let Et=Number.MAX_VALUE;for(let zt=0;zt=30?W.getHours()+1===24?0:W.getHours()+1:W.getHours();It[zt]+=Et*wt/(Tt*Rt)}},Me=()=>{for(const Ee of r)if(Ee.type===z.SolarPanel){const Fe=q.current.get(Ee.id);Fe?Fe.fill(0):q.current.set(Ee.id,new Array(24).fill(0))}},Te=()=>{for(const Ee of r)if(Ee.type===z.SolarPanel){const Fe=ae.current.get(Ee.id);Fe&&Fe.length===U?Fe.fill(0):ae.current.set(Ee.id,new Array(U).fill(0))}},De=()=>{const Ee=pe.daylight()/60;return Ee>Dt?k.sunshineHours[W.getMonth()]/(30*Ee*L):0},Ue=()=>{const Ee=fe.current.daylight()/60;return Ee>Dt?k.sunshineHours[W.getMonth()]/(30*Ee*L):0},Oe=Ee=>{if(!a(Ee.pvModelName))throw new Error("PV model not found");return Ee.lx*Ee.ly*(Ee.inverterEfficiency??.95)*(1-_[W.getMonth()])},Le=Ee=>{if(k){const Fe=Jx(Ee,k.lowestTemperatures,k.highestTemperatures);he.current=Xx(Fe.high,Fe.low,i.diurnalTemperatureModel,x,sl(Ee,i.latitude),xe.minutesIntoDay(Ee))}},$e=(Ee,Fe,Ge)=>{if(O.current.length>1){J.current.length=0,B.set(Fe,Ge);const rt=O.current.filter(Ve=>Ve.uuid!==Ee);return B.intersectObjects(rt,!1,J.current),J.current.length>0}return!1},We=()=>{const Ee=H.children.filter(Fe=>Fe.name==="Content");if(Ee.length>0){const Fe=Ee[0].children;O.current.length=0;for(const Ge of Fe)xe.fetchSimulationElements(Ge,O.current)}};return h.jsx(h.Fragment,{})}),OLo=be.memo(()=>{const t=M(Xs),e=M(wb),n=M(Nje),o=M(Wje),i=M(fge),[r,a]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(i).length===0)return;const l=n(t,e)??"Boston MA, USA";a(l),o(l)},[t,e,i]),h.jsxs(h.Fragment,{children:[h.jsx(zLo,{city:r}),h.jsx(DLo,{city:r}),h.jsx(ELo,{city:r}),h.jsx(jLo,{city:r}),h.jsx(YLo,{city:r}),h.jsx(BLo,{}),h.jsx(kLo,{city:r}),h.jsx(FLo,{city:r}),h.jsx(LLo,{city:r}),h.jsx(WLo,{city:r}),h.jsx(NLo,{city:r})]})}),$O="/aladdin/assets/image_fail_try_again-CaxVXMjm.png";var HL=(t=>(t[t.None=0]="None",t[t.Equal=1]="Equal",t[t.LessThan=2]="LessThan",t[t.GreaterThan=3]="GreaterThan",t[t.Between=4]="Between",t))(HL||{});const _Lo=5,VLo=be.memo(({yScale:t,tickLength:e,tickIntegers:n,variable:o,name:i,unit:r,type:a,digits:l,min:s,max:c,step:u,value:d,filter:f,hover:p})=>{const g=M(dn),A=M(o1),w=M(Sc),b=M(Fje),C=M(kje),P=M(Lje),[v,T]=m.useState(!1),y=m.useRef(s),S=m.useRef(c);m.useEffect(()=>{y.current=s},[s]),m.useEffect(()=>{S.current=c},[c]);const x={lng:w},R=A.uid===b,H=t.range(),D=t(s)-t(c),k=40,W=m.useMemo(()=>{const Y=H[0]-H[1],O=a==="number"?Math.floor(Y/e):1;return(n?t.ticks(O).filter(Z=>Number.isInteger(Z)):t.ticks(O)).map(Z=>({value:Z,yOffset:t(Z)}))},[t,e,a,n,H]),N=()=>{g(Y=>{Y.projectState.selectedProperty=Y.projectState.selectedProperty!==o?o:null}),ht.getState().set(Y=>{Y.updateProjectsFlag=!0})},L=()=>{R&&b&&C?NYn(b,C,P!==o?o:null).then(()=>{N()}):N()},E=(Y,O)=>h.jsx("span",{style:{display:"block",width:O+"px"},children:Y}),U=()=>h.jsx("text",{onClick:L,x:0,y:-20,style:{fontSize:"10px",textAnchor:"middle",fill:"dimgray",cursor:"pointer",fontWeight:P===o?"bold":"normal"},children:i}),F=m.useMemo(()=>o==="yearlyProfit"||o==="unitCost"||o==="sellingPrice"||o==="totalYearlyCost",[o]),B=()=>o==="totalYearlyCost"||o==="totalYearlyYield"||o==="meanYearlyYield"||o==="unitCost"||o==="poleHeight"||o==="interRowSpacing"?0:o==="tiltAngle"||o==="latitude"?-90:o==="rowWidth"?1:Number.MIN_SAFE_INTEGER,_=()=>o==="tiltAngle"||o==="latitude"?90:Number.MAX_SAFE_INTEGER;return h.jsxs(h.Fragment,{children:[o!=="orientation"?h.jsx(gl,{content:h.jsxs("div",{children:[h.jsx(Hn,{style:{width:"240px"},addonBefore:E(j.t("word.Minimum",x)+(F?" $":""),80),addonAfter:r,min:B(),max:S.current-u,step:u,value:y.current,onChange:Y=>{Y!==null&&(g(O=>{if(O.projectState.ranges){let J=-1,Z=null;for(const[ie,ee]of O.projectState.ranges.entries())if(ee.variable===o){J=ie,Z=ee;break}if(J>=0&&Z)O.projectState.ranges[J]={variable:Z.variable,minimum:Y,maximum:Z.maximum},A.uid&&O.projectState.title&&rCe(A.uid,O.projectState.title,O.projectState.ranges);else{const ie={variable:o,minimum:Y,maximum:c};O.projectState.ranges.push(ie),A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,ie)}}else{const J={variable:o,minimum:Y,maximum:c};O.projectState.ranges=[J],A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,J)}}),y.current=Number(Y),T(!v))}}),h.jsx("br",{}),h.jsx(Hn,{style:{width:"240px"},addonBefore:E(j.t("word.Maximum",x)+(F?" $":""),80),addonAfter:r,min:y.current+u,max:_(),step:u,value:S.current,onChange:Y=>{Y!==null&&(g(O=>{if(O.projectState.ranges){let J=-1,Z=null;for(const[ie,ee]of O.projectState.ranges.entries())if(ee.variable===o){J=ie,Z=ee;break}if(J>=0&&Z)O.projectState.ranges[J]={variable:Z.variable,minimum:Z.minimum,maximum:Y},A.uid&&O.projectState.title&&rCe(A.uid,O.projectState.title,O.projectState.ranges);else{const ie={variable:o,minimum:s,maximum:Y};O.projectState.ranges.push(ie),A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,ie)}}else{const J={variable:o,minimum:s,maximum:Y};O.projectState.ranges=[J],A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,J)}}),S.current=Number(Y),T(!v))}})]}),children:U()}):h.jsx(h.Fragment,{children:U()}),d!==void 0&&h.jsx("text",{x:0,y:-8,style:{fontSize:"9px",textAnchor:"middle",fill:"dimgray"},children:F?d.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:l})+(o==="yearlyProfit"||o==="totalYearlyCost"?"K":""):(o==="orientation"?j.t(d===0?"solarPanelMenu.Landscape":"solarPanelMenu.Portrait",x)+(d===0?" (▭)":" (▯)"):d.toFixed(l))+(r!==""?r:"")}),f&&f.type===HL.Between&&h.jsx("rect",{x:-5,y:t(f.upperBound??c),width:10,height:t((f==null?void 0:f.lowerBound)??s)-t((f==null?void 0:f.upperBound)??c),fill:"lightgray"}),h.jsx("rect",{x:-k/2,y:0,width:k,height:D,fill:"gold",fillOpacity:P===o?.25:0}),W.map(({value:Y,yOffset:O})=>h.jsxs("g",{transform:`translate(0, ${O})`,shapeRendering:"crispEdges",children:[h.jsx("line",{x1:-_Lo,x2:0,stroke:"black",strokeWidth:1}),h.jsx("text",{style:{fontSize:"10px",textAnchor:"start",alignmentBaseline:"central",transform:"translateX(-25px)"},children:o==="orientation"?Y===0?"▭":"▯":Y},Y)]},Y)),h.jsx("line",{x1:0,x2:0,y1:t(s),y2:t(c),stroke:"black",strokeWidth:2}),f&&f.type===HL.Between&&h.jsx("foreignObject",{x:-k/2,y:4,width:k,height:D-3,children:h.jsx(ry,{theme:{components:{Slider:{railBg:"black",railSize:0,handleSize:8}}},children:h.jsx(Mu,{style:{marginLeft:k/2+"px"},min:s,max:c,step:(c-s)/100,value:[f.lowerBound??s,f.upperBound??c],onChange:Y=>{f&&(f.lowerBound=Y[0],f.upperBound=Y[1],p&&p(-1),g(O=>{if(O.projectState.filters){let J=-1;for(const[Z,ie]of O.projectState.filters.entries())if(ie.variable===o){J=Z;break}if(J>=0)O.projectState.filters[J]={variable:f.variable,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};else{const Z={variable:o,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};O.projectState.filters.push(Z)}}}),T(!v))},range:!0,vertical:!0})})})]})}),KT={top:30,right:55,bottom:36,left:55},GLo=["#e0ac2b","#e85252","#6689c6","#9a6fb0","#a53253","#69b3a2","#556b2f","#8b008b","#ff1493","#d2691e","#2f4f4f","#dc143c"],XLo=be.memo(({id:t,width:e,height:n,data:o,types:i,minima:r,maxima:a,filters:l,steps:s,variables:c,titles:u,units:d,digits:f,tickIntegers:p,hover:g,hoveredIndex:A,selectedIndex:w})=>{const b=e-KT.right-KT.left,C=n-KT.top-KT.bottom,P=m.useMemo(()=>[...new Set(o.map(H=>H.group))],[o]),v=m.useMemo(()=>HC().range([0,b]).domain(c).padding(0),[c,b]),T=m.useMemo(()=>{const H={};return c.forEach((D,k)=>{H[D]=QF().range([C,0]).domain([r[k]??0,a[k]??1])}),H},[c,r,a,C]),y=m.useMemo(()=>Cee().domain(P).range(GLo),[P]),S=q9e(),x=m.useMemo(()=>o.map((H,D)=>{if(H.invisible)return null;const k=c.map(N=>{const L=T[N],E=v(N)??0,U=L(H[N]);return[E,U]}),W=S(k);if(W)return h.jsx("path",{onMouseOver:()=>{g(D)},d:W,stroke:H.hovered?"red":y(H.group),fill:"none",strokeWidth:H.excluded?.25:H.selected?3:1,strokeDasharray:H.hovered?"3,3":"none"},D)}),[o,c,v,T,y]),R=m.useMemo(()=>c.map((H,D)=>{const k=T[H];return h.jsx("g",{transform:"translate("+v(H)+",0)",children:h.jsx(VLo,{yScale:k,tickLength:40,tickIntegers:p[D],type:i[D]??"number",variable:c[D],name:u[D],unit:d[D],digits:f[D],min:r[D],max:a[D],step:s[D],value:A>=0&&!o[A].invisible?o[A][H]:w>=0&&!o[w].invisible?o[w][H]:void 0,filter:l[D],hover:g})},D)}),[c,o,v,T,p,i,u,d,f,r,a,s,l,w,A]);return h.jsx("svg",{id:t,width:e,height:n,onMouseLeave:()=>{g&&g(-1)},onContextMenu:H=>{H.stopPropagation()},children:h.jsxs("g",{width:b,height:C,transform:`translate(${[KT.left,KT.top].join(",")})`,children:[x,R]})})});var jhe={};(function(t){(function(){var e=t||!1||this||window;e.default=e;var n="http://www.w3.org/2000/xmlns/",o="http://www.w3.org/1999/xhtml",i="http://www.w3.org/2000/svg",r=']>',a=/url\(["']?(.+?)["']?\)/,l={woff2:"font/woff2",woff:"font/woff",otf:"application/x-font-opentype",ttf:"application/x-font-ttf",eot:"application/vnd.ms-fontobject",sfnt:"application/font-sfnt",svg:"image/svg+xml"},s=function(k){return k instanceof HTMLElement||k instanceof SVGElement},c=function(k){if(!s(k))throw new Error("an HTMLElement or SVGElement is required; got "+k)},u=function(k){return new Promise(function(W,N){s(k)?W(k):N(new Error("an HTMLElement or SVGElement is required; got "+k))})},d=function(k){return k&&k.lastIndexOf("http",0)===0&&k.lastIndexOf(window.location.host)===-1},f=function(k){var W=Object.keys(l).filter(function(N){return k.indexOf("."+N)>0}).map(function(N){return l[N]});return W?W[0]:(console.error("Unknown font format for "+k+". Fonts may not be working correctly."),"application/octet-stream")},p=function(k){for(var W="",N=new Uint8Array(k),L=0;L"u"||L===null||isNaN(parseFloat(L))?0:L},A=function(k,W,N,L){if(k.tagName==="svg")return{width:N||g(k,W,"width"),height:L||g(k,W,"height")};if(k.getBBox){var E=k.getBBox(),U=E.x,F=E.y,B=E.width,_=E.height;return{width:U+B,height:F+_}}},w=function(k){return decodeURIComponent(encodeURIComponent(k).replace(/%([0-9A-F]{2})/g,function(W,N){var L=String.fromCharCode("0x"+N);return L==="%"?"%25":L}))},b=function(k){for(var W=window.atob(k.split(",")[1]),N=k.split(",")[0].split(":")[1].split(";")[0],L=new ArrayBuffer(W.length),E=new Uint8Array(L),U=0;U{const e=M.getState().world,n=M(ha),o=M(pu)??m0,i=M(dn),r=M(lW),a=new Date(M(Ya)),l=M(TAt),s=ht($1e),c=ht(wq),u=ht(awt),d=ht(vf),f=xe.hasSolarPanels(M.getState().elements),p=Sn(Yje),g=Sn(Oje),A=Sn(_je),w=M(bc),b=m.useRef(null),C=m.useRef(),P=b.current?b.current.clientWidth+40:l?l.width+40:640,v=b.current?b.current.clientHeight+100:l?l.height+100:600,[T,y]=m.useState({x:l?Math.max(l.x,P-window.innerWidth):0,y:l?Math.min(l.y,window.innerHeight-v):0}),S=be.useRef(null),x=Kt(),R=l1(t),H=Ps[a.getMonth()],D=e.daysPerYear??6,k=12/D,[W,N]=m.useState(0),[L,E]=m.useState(0),[U,F]=m.useState(0),[B,_]=m.useState(0),[Y,O]=m.useState(["Heater","AC","Solar","Net"]),[J,Z]=m.useState([]),{sum:ie,sumHeaterMap:ee,sumAcMap:q,sumSolarPanelMap:ae,dataLabels:ne}=_st(a,R,f),se=m.useRef(new Array(D).fill({})),le=m.useRef(new Array(D).fill(0)),te=m.useRef(new Array(D).fill(0)),he=m.useRef(new Array(D).fill(0)),pe=m.useRef(new Array(D).fill(0)),fe=m.useRef([]),$=m.useRef([]),de=m.useRef([]),Se=m.useRef([]);m.useEffect(()=>{Ce()},[D,u]),m.useEffect(()=>{c&&Ce()},[c]);const Ce=()=>{se.current=new Array(D).fill({}),le.current=new Array(D).fill(0),te.current=new Array(D).fill(0),he.current=new Array(D).fill(0),pe.current=new Array(D).fill(0),Z([]),N(0),E(0),F(0),_(0),O([])};m.useEffect(()=>{const Ae=Math.floor(a.getMonth()/k),me=(Object.keys(ie[0]).length-1)/(f?4:3);if(fe.current=[],$.current=[],Se.current=[],de.current=[],me>1){const Le=new Map,$e=new Map,We=new Map,Ee=new Map;for(const _e of ie){let xt=0;for(let dt=0;dt6&&(Ee=" "+_e.substring(6).trim());break}const Fe="Heater"+Ee,Ge="AC"+Ee,rt="Net"+Ee;if(f){const _e="Solar"+Ee;let xt=0;O([Fe,Ge,_e,rt]);for(const Qe of ie)Le+=Qe[Fe],$e+=Qe[Ge],xt+=Qe[_e],We+=Qe[rt];const dt={};dt.Month=Ps[a.getMonth()],dt[Fe]=30*Le,dt[Ge]=30*$e,dt[_e]=30*xt,dt[rt]=30*We,se.current[Ae]=dt}else{O([Fe,Ge,rt]);for(const xt of ie)Le+=xt[Fe],$e+=xt[Ge],We+=xt[rt];const _e={};_e.Month=Ps[a.getMonth()],_e[Fe]=30*Le,_e[Ge]=30*$e,_e[rt]=30*We,se.current[Ae]=_e}}Z([...se.current]);let Pe=0;if(ee)for(const Le of ee.keys())Pe+=ee.get(Le)??0;let Me=0;if(q)for(const Le of q.keys())Me+=q.get(Le)??0;let Te=0;if(ae&&f)for(const Le of ae.keys())Te+=ae.get(Le)??0;le.current[Ae]=Pe*k*30,te.current[Ae]=Me*k*30,he.current[Ae]=Te*k*30,pe.current[Ae]=le.current[Ae]+te.current[Ae]-he.current[Ae];const De=le.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0);N(De);const Ne=te.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0);E(Ne);const Ye=he.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0);F(Ye),_(pe.current.slice(0,Ae+1).reduce((Le,$e)=>Le+$e,0)),p(De),g(Ne),A(Ye),ht.getState().showSolarRadiationHeatmap||Sn.getState().clearDataStore()},[s]),m.useEffect(()=>{y({x:Math.max(l==null?void 0:l.x,P-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})},[l,P,v]),m.useEffect(()=>{const Ae=()=>{y({x:Math.max(l==null?void 0:l.x,P-window.innerWidth),y:Math.min(l==null?void 0:l.y,window.innerHeight-v)})};return window.addEventListener("resize",Ae),()=>{window.removeEventListener("resize",Ae)}},[l,P,v]),m.useEffect(()=>(b.current&&(C.current||(C.current=new ResizeObserver(()=>{i(Ae=>{b.current&&(Ae.viewState.yearlyBuildingEnergyPanelRect||(Ae.viewState.yearlyBuildingEnergyPanelRect=new ai(0,0,600,500)),Ae.viewState.yearlyBuildingEnergyPanelRect.width=b.current.offsetWidth,Ae.viewState.yearlyBuildingEnergyPanelRect.height=b.current.offsetHeight)})})),C.current.observe(b.current)),()=>{var Ae;(Ae=C.current)==null||Ae.disconnect()}),[]);const ve=(Ae,me)=>{y({x:Math.max(me.x,P-window.innerWidth),y:Math.min(me.y,window.innerHeight-v)})},Ie=(Ae,me)=>{i(Pe=>{Pe.viewState.yearlyBuildingEnergyPanelRect||(Pe.viewState.yearlyBuildingEnergyPanelRect=new ai(0,0,600,360)),Pe.viewState.yearlyBuildingEnergyPanelRect.x=Math.max(me.x,P-window.innerWidth),Pe.viewState.yearlyBuildingEnergyPanelRect.y=Math.min(me.y,window.innerHeight-v)})},ze=()=>{i(Ae=>{Ae.viewState.showYearlyBuildingEnergyPanel=!1,n&&(Ae.actionInfo={name:"Close Yearly Building Energy Graph",timestamp:new Date().getTime()})})},ye=j.t("word.Month",x),oe=j.t("word.Energy",x),ge=J&&J[0]?Object.keys(J[0]).length===0:!0;return h.jsx(Vr,{nodeRef:S,handle:".handle",bounds:"parent",axis:"both",position:T,onDrag:ve,onStop:Ie,onMouseDown:()=>{i(Ae=>{Ae.selectedFloatingWindow="yearlyBuildingEnergyPanel"})},children:h.jsx(SLo,{ref:S,style:{zIndex:w==="yearlyBuildingEnergyPanel"?xc:9},children:h.jsxs(TLo,{ref:b,style:{opacity:o,width:(l?l.width:600)+"px",height:(l?l.height:400)+"px"},children:[h.jsxs(PLo,{className:"handle",style:{direction:"ltr"},children:[h.jsxs("span",{children:[j.t("buildingEnergyPanel.YearlyBuildingEnergy",x)+": ",h.jsx("span",{style:{fontSize:"10px"},children:j.t("sensorPanel.WeatherDataFrom",x)+" "+t+" | "+a.getFullYear()})]}),h.jsx("span",{style:{cursor:"pointer"},onTouchStart:()=>{ze()},onMouseDown:()=>{ze()},children:`${j.t("word.Close",x)}`})]}),h.jsx(Vst,{type:xr.YearlyBuildingEnergy,dataSource:J,hasSolarPanels:f,labels:Y,height:100,dataKeyAxisX:"Month",labelX:ye,labelY:oe,unitY:j.t("word.kWh",x),yMin:0,curveType:"linear",fractionDigits:2,referenceX:H}),!d&&h.jsxs(en,{style:{alignSelf:"center",direction:"ltr"},children:[fe.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Heater",x)+": "+W.toFixed(0)}):h.jsx(gl,{content:fe.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Heater",x)+": "+W.toFixed(0)})}),$.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.AC",x)+": "+L.toFixed(0)}):h.jsx(gl,{content:$.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.AC",x)+": "+L.toFixed(0)})}),U!==0&&h.jsx(h.Fragment,{children:de.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.SolarPanel",x)+": "+U.toFixed(0)}):h.jsx(gl,{content:de.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.SolarPanel",x)+": "+U.toFixed(0)})})}),Se.current.length===0?h.jsx(en,{style:{cursor:"default"},children:j.t("buildingEnergyPanel.Net",x)+": "+B.toFixed(0)}):h.jsx(gl,{content:Se.current.map((Ae,me)=>h.jsx("div",{children:Ae},me)),children:h.jsx(en,{style:{cursor:"help"},children:j.t("buildingEnergyPanel.Net",x)+": "+B.toFixed(0)})}),h.jsx(no,{type:"default",icon:ge?h.jsx(vh,{}):h.jsx(xf,{}),title:j.t(ge?"word.Run":"word.Update",x),onClick:()=>{const Ae=M.getState().elements,me=M.getState().countElementsByType,Pe=M.getState().getChildrenOfType,Me=eX(Ae,me,Pe);if(Me.status===tg.NO_BUILDING){hn(j.t("analysisManager.NoBuildingForAnalysis",x));return}if(Me.status===tg.AT_LEAST_ONE_BAD_NO_GOOD){let Te;switch(Me.buildingCompletion){case Uc.WALL_DISJOINED:Te=j.t("message.WallsAreNotConnected",x);break;case Uc.WALL_EMPTY:Te=j.t("message.BuildingContainsEmptyWall",x);break;case Uc.ROOF_MISSING:Te=j.t("message.BuildingRoofMissing",x);break;default:Te=j.t("message.UnknownErrors",x)}Do(j.t("message.SimulationWillNotStartDueToErrors",x)+": "+Te);return}Me.status===tg.AT_LEAST_ONE_BAD_AT_LEAST_ONE_GOOD&&uR(j.t("message.SimulationWillStartDespiteWarnings",x)),hn(j.t("message.SimulationStarted",x)),setTimeout(()=>{r(),ht.getState().set(Te=>{Te.runYearlyThermalSimulation=!0,Te.pauseYearlyThermalSimulation=!1,Te.simulationInProgress=!0}),i(Te=>{n&&(Te.actionInfo={name:"Run Yearly Building Energy Analysis",timestamp:new Date().getTime()})})},100)}}),h.jsx(no,{type:"default",icon:h.jsx(_u,{}),title:j.t("word.SaveAsImage",x),onClick:()=>{Md("line-graph-"+ye+"-"+oe,"yearly-building-energy").then(()=>{hn(j.t("message.ScreenshotSaved",x)),n&&i(Ae=>{Ae.actionInfo={name:"Take Screenshot of Yearly Building Energy Graph",timestamp:new Date().getTime()}})})}}),se.current&&se.current.length>0&&h.jsx(no,{type:"default",icon:h.jsx(bf,{}),title:j.t("word.SaveAsCsv",x),onClick:()=>{wh(se.current,"yearly-building-energy.csv"),hn(j.t("message.CsvFileSaved",x)),n&&i(Ae=>{Ae.actionInfo={name:"Export Yearly Building Energy Result as CSV",timestamp:new Date().getTime()}})}})]})]})})})}),RLo=be.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(g4t),i=M(m4t),[r,a]=m.useState(!1),[l,s]=m.useState(!1),[c,u]=m.useState({left:0,top:0,bottom:0,right:0}),d=m.useRef(null),f=m.useRef(null),p=m.useRef(o),g=m.useRef(i),A=Kt();m.useEffect(()=>{var y;(y=f.current)==null||y.focus()},[]);const w=(y,S)=>{if(d.current){const{clientWidth:x,clientHeight:R}=window.document.documentElement,H=d.current.getBoundingClientRect();u({left:-H.left+S.x,right:x-(H.right-S.x),top:-H.top+S.y,bottom:R-((H==null?void 0:H.bottom)-S.y)})}},b=y=>{e(S=>{S.minimumNavigationMoveSpeed=y}),ht.getState().set(S=>{S.navigationMoveSpeed=y})},C=y=>{e(S=>{S.minimumNavigationTurnSpeed=y}),ht.getState().set(S=>{S.navigationTurnSpeed=y})},P=()=>{const y=o,S=p.current;if(y!==S){const H={name:"Minimum Navigation Move Speed",timestamp:Date.now(),oldValue:y,newValue:S,undo:()=>{b(H.oldValue)},redo:()=>{b(H.newValue)}};n(H),b(S)}const x=i,R=g.current;if(x!==R){const H={name:"Minimum Navigation Turn Speed",timestamp:Date.now(),oldValue:x,newValue:R,undo:()=>{C(H.oldValue)},redo:()=>{C(H.newValue)}};n(H),C(R)}},v=()=>{t(!1)},T=()=>{P(),t(!1)};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>s(!0),onMouseOut:()=>s(!1),children:`${j.t("navigationPanel.NavigationParameters",A)}`}),footer:[h.jsx(no,{onClick:v,children:`${j.t("word.Cancel",A)}`},"Cancel"),h.jsx(no,{type:"primary",ref:f,onClick:T,children:`${j.t("word.OK",A)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:y=>h.jsx(Vr,{disabled:!l,bounds:c,onStart:(S,x)=>w(S,x),children:h.jsx("div",{ref:d,children:y})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("navigationPanel.MinimumMoveSpeed",A)+" ([1, 10]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:10,style:{width:"100%"},precision:0,value:p.current,step:1,onChange:y=>{p.current=Number(y),a(!r)},onBlur:y=>{const S=y.target.value,x=parseFloat(S);p.current=Number.isNaN(x)?3:x,a(!r)},onPressEnter:y=>{const S=y.target.value,x=parseFloat(S);p.current=Number.isNaN(x)?3:x,a(!r)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:16,children:j.t("navigationPanel.MinimumTurnSpeed",A)+" ([1, 5]): "}),h.jsx(it,{className:"gutter-row",span:8,children:h.jsx(Hn,{min:1,max:5,style:{width:"100%"},precision:0,value:g.current,step:1,onChange:y=>{g.current=Number(y),a(!r)},onBlur:y=>{const S=y.target.value,x=parseFloat(S);g.current=Number.isNaN(x)?3:x,a(!r)},onPressEnter:y=>{const S=y.target.value,x=parseFloat(S);g.current=Number.isNaN(x)?3:x,a(!r)}})})]})]})}),HLo=be.memo(({setDialogVisible:t})=>{const e=M(dn),n=M(En),o=M(pq),i=xe.getShadowMapSize(),r=4096,a=1e4,[l,s]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState({left:0,top:0,bottom:0,right:0}),p=m.useRef(null),g=m.useRef(null),A=m.useRef(o?Math.round(o)/a:1),w=m.useRef(i?Math.round(i/r):1),b=Kt();m.useEffect(()=>{var x;(x=g.current)==null||x.focus()},[]);const C=(x,R)=>{if(p.current){const{clientWidth:H,clientHeight:D}=window.document.documentElement,k=p.current.getBoundingClientRect();f({left:-k.left+R.x,right:H-(k.right-R.x),top:-k.top+R.y,bottom:D-((k==null?void 0:k.bottom)-R.y)})}},P=x=>{e(R=>{R.viewState.shadowCameraFar=x})},v=x=>{localStorage.setItem("aladdin-shadow-map-size",x.toString())},T=()=>{const x=o,R=A.current*a;if(x!==R){const k={name:"Shadow Camera Far Distance",timestamp:Date.now(),oldValue:x,newValue:R,undo:()=>{P(k.oldValue)},redo:()=>{P(k.newValue)}};n(k),P(R)}const H=i,D=w.current*r;if(H!==D){const k={name:"Shadow Map Size",timestamp:Date.now(),oldValue:H,newValue:D,undo:()=>{v(k.oldValue)},redo:()=>{v(k.newValue)}};n(k),v(D)}},y=()=>{t(!1)},S=()=>{T(),t(!1),window.location.reload()};return h.jsxs(_r,{width:500,open:!0,title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>u(!0),onMouseOut:()=>u(!1),children:`${j.t("shadowSettingsPanel.ShadowSettings",b)}`}),footer:[h.jsx(no,{onClick:y,children:`${j.t("word.Cancel",b)}`},"Cancel"),h.jsx(no,{type:"primary",ref:g,onClick:S,children:`${j.t("word.OK",b)}`},"OK")],onCancel:()=>{t(!1)},maskClosable:!1,destroyOnClose:!1,modalRender:x=>h.jsx(Vr,{disabled:!c,bounds:d,onStart:(R,H)=>C(R,H),children:h.jsx("div",{ref:p,children:x})}),children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{className:"gutter-row",span:18,children:j.t("shadowSettingsPanel.ShadowCameraFarDistance",b)+" ([1, 1000]×"+a+"): "}),h.jsx(it,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:1e3,style:{width:"100%"},precision:0,value:A.current,step:1,onChange:x=>{A.current=Number(x),s(!l)},onBlur:x=>{const R=x.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:x=>{const R=x.target.value,H=parseFloat(R);A.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"10px"},children:[h.jsx(it,{className:"gutter-row",span:18,children:j.t("shadowSettingsPanel.ShadowMapSize",b)+" ([1, 4]×"+r+"): "}),h.jsx(it,{className:"gutter-row",span:6,children:h.jsx(Hn,{min:1,max:4,style:{width:"100%"},precision:0,value:w.current,step:1,onChange:x=>{w.current=Number(x),s(!l)},onBlur:x=>{const R=x.target.value,H=parseFloat(R);w.current=Number.isNaN(H)?1:H,s(!l)},onPressEnter:x=>{const R=x.target.value,H=parseFloat(R);w.current=Number.isNaN(H)?1:H,s(!l)}})})]}),h.jsx(nn,{style:{fontSize:"10px"},children:h.jsxs(it,{span:24,children:[j.t("shadowSettingsPanel.Notes",b),":",h.jsx("br",{}),h.jsxs("ul",{children:[h.jsx("li",{children:j.t("shadowSettingsPanel.RefreshPageNote",b)}),h.jsx("li",{children:j.t("shadowSettingsPanel.MapSizeWarning",b)})]})]})})]})}),MLo=be.memo(()=>{const t=M(_1e),e=M(mq),n=M(PBe),o=M(hAt),i=M(CBe),r=M(RBe),a=M(mAt),l=M(AAt),s=ht(f4t),c=ht(h4t),u=ht(p4t),d=ht(cs),f=M(HBe),p=M(CAt),g=M(MBe),A=M(zAt),w=M(EAt),b=M(IBe),C=M(LAt),P=M(zBe),v=M(UAt),T=M(DBe),y=M(YAt),S=M(EBe),x=M(VAt),R=M(kBe),H=M(JAt),D=M(xAt),k=M(SAt),W=M(qAt),N=M(Hq),L=M(Xs),E=M(wb),U=M(Lje),F=M(Fje),B=M(fge),_=M(hq)??!1,[Y,O]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(B).length===0)return;const J=U(L,E)??"Boston MA, USA";O(J),F(J)},[L,E,B]),h.jsxs(h.Fragment,{children:[o&&h.jsx(p9o,{}),i&&h.jsx(A9o,{}),r&&h.jsx(_ko,{}),t&&h.jsx(hFo,{}),e&&h.jsx(lFo,{}),(n||_)&&!N&&h.jsx(Xko,{}),a&&h.jsx(zIo,{city:Y,graphs:[xr.MonthlyTemperatures,xr.SunshineHours]}),l&&h.jsx(lLo,{city:Y}),s&&h.jsx(yLo,{setDialogVisible:J=>{ht.getState().set(Z=>{Z.showEconomicsPanel=J})}}),c&&h.jsx(RLo,{setDialogVisible:J=>{ht.getState().set(Z=>{Z.showNavigationPanel=J})}}),u&&h.jsx(HLo,{setDialogVisible:J=>{ht.getState().set(Z=>{Z.showShadowSettings=J})}}),p&&h.jsx(FIo,{city:Y}),f&&h.jsx(Uko,{city:Y}),A&&h.jsx($ko,{city:Y}),g&&h.jsx(tFo,{city:Y}),w&&h.jsx(vFo,{}),C&&h.jsx(TFo,{city:Y}),b&&h.jsx(HFo,{city:Y}),v&&h.jsx(LFo,{city:Y}),P&&h.jsx(DFo,{city:Y}),T&&h.jsx(BFo,{city:Y}),y&&h.jsx(_Fo,{city:Y}),S&&h.jsx(JFo,{city:Y}),x&&h.jsx(QFo,{city:Y}),R&&h.jsx(oLo,{city:Y}),H&&h.jsx(dLo,{city:Y}),D&&h.jsx(bLo,{city:Y}),k&&h.jsx(CLo,{city:Y}),d&&h.jsx(mFo,{}),W&&h.jsx(mLo,{})]})});class il{static computeSolarPanelOutput(e,n,o,i,r,a,l,s,c){const u=r.parentType===z.Roof,d=r.parentType===z.Wall;u&&(a=l);const f=d?xe.absoluteCoordinates(r.cx,r.cy,r.cz,a,l,r.lz):xe.absoluteCoordinates(r.cx,r.cy,r.cz,a),p=a.rotation[2];let g=r.tiltAngle,A=p+r.relativeAzimuth,w=!0;if(u&&(f.z=r.cz+r.lz+.02+a.cz+a.lz/2,xe.isZero(r.rotation[0])?f.z+=r.poleHeight:(g=r.rotation[0],A=p,w=!1)),d&&!xe.isZero(r.tiltAngle)){const ie=a,q=(l?l.rotation[2]+ie.relativeAngle:ie.relativeAngle)-Vt,ae=r.ly*Math.abs(Math.sin(r.tiltAngle))/2;f.x+=ae*Math.cos(q),f.y+=ae*Math.sin(q)}const b=new re().fromArray(r.normal),C=e.getMonth(),P=xe.dayOfYear(e),v=n.solarRadiationHeatmapGridCellSize??.5;let T,y,S,x,R;n.discretization===Hm.EXACT?(T=r.lx,y=r.ly,r.orientation===ui.portrait?(S=Math.max(1,Math.round(r.lx/i.width)),x=Math.max(1,Math.round(r.ly/i.length)),S*=i.n,x*=i.m):(S=Math.max(1,Math.round(r.lx/i.length)),x=Math.max(1,Math.round(r.ly/i.width)),S*=i.m,x*=i.n),R=r.lx/S):(T=r.lx,y=r.ly,S=Math.max(2,Math.round(r.lx/v)),x=Math.max(2,Math.round(r.ly/v)),S%2!==0&&(S+=1),x%2!==0&&(x+=1),R=v);const H=T/S,D=y/x,k=f.x-(T-R)/2,W=f.y-(y-R)/2,N=u||d?f.z:a.lz+r.poleHeight+r.lz,L=new Gt(f.x,f.y),E=new re,U=Array.from(Array(S),()=>new Array(x));let F=new Qt(u&&!w?0:g,0,A,"ZYX");if(r.trackerType!==Ma.NO_TRACKER){const ie=p?o.clone().applyAxisAngle(Po,-p):o.clone();switch(r.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const ee=new Ts().setFromUnitVectors(Po,ie);F=new Qt().setFromQuaternion(ee),F.z+=A;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const ee=new Ts().setFromUnitVectors(Po,new re(ie.x,0,ie.z).normalize());F=new Qt().setFromQuaternion(ee),F.z+=A;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const ee=new re(ie.x,-ie.y,0).normalize(),q=Math.acos(Yc.dot(ee))*Math.sign(ee.x);F=new Qt(r.tiltAngle,0,q+p,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}b.applyEuler(F),u&&!w&&(F.x=r.rotation[0],F.z=r.rotation[2]+p),d&&(F.x=Vt+r.tiltAngle,F.z=a.relativeAngle+p);const B=Rr(o,P,s,vr.SPHERE_MODEL),_=tr(n.ground,C,b,B),Y=b.dot(o),O=new Gt,J=new re;for(let ie=0;ie0&&(O.set(k+ie*H,W+ee*D),J.set(O.x-L.x,O.y-L.y,0),J.applyEuler(F),E.set(f.x+J.x,f.y+J.y,N+J.z),c(r.id,E,o)<0&&(U[ie][ee]+=Y*B));let Z=0;switch(i.shadeTolerance){case zv.NONE:{let ie=Number.MAX_VALUE;for(let ee=0;eeArray(b).fill(0)),U=Array(w).fill(0).map(()=>Array(b).fill(0));let F;for(let B=0;B0)for(const ie of a){if(ie.type!==z.Window)continue;const ee=ie.cx*i.lx,q=ie.cz*i.lz,ae=ie.lx*i.lx/2,ne=ie.lz*i.lz/2,se=ie;if(se.windowType===Sr.Arched){const le=T.clone().add(new re(se.cx*i.lx,0,se.cz*i.lz));il.pointWithinArch(R,se.lx,se.lz,se.archHeight,le)&&(F=!1)}else if(J.x>=ee-ae&&J.x=q-ne&&J.y0)for(const ie of l){if(ie.type!==z.Door)continue;const ee=ie.cx*i.lx,q=ie.cz*i.lz,ae=ie.lx*i.lx/2,ne=ie.lz*i.lz/2,se=ie;if(se.doorType===Sd.Arched){const le=T.clone().add(new re(se.cx*i.lx,0,se.cz*i.lz));il.pointWithinArch(R,se.lx,se.lz,se.archHeight,le)&&(F=!1)}else if(J.x>=ee-ae&&J.x=q-ne&&J.y0)for(const ie of s){const ee=ie.cx*i.lx,q=ie.cz*i.lz,ae=ie.lx/2,ne=ie.ly/2;if(J.x>=ee-ae&&J.x=q-ne&&J.yZ3||ee<0)&&ie&&(E[B][_]+=N),L>0&&ee<0&&(U[B][_]+=L*W,ie&&(E[B][_]+=L*W))}}}return{intensity:E,unitArea:C*P,heatmap:U}}static computeDoorSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=xe.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx*r.lx,f=i.lz*r.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),A=d/p,w=f/g,b=a.rotation[2]+r.relativeAngle,P=xe.wallAbsolutePosition(new re(r.cx,r.cy,r.cz),a).setZ(r.lz/2+a.lz).clone().add(new re(i.cx*r.lx,0,i.cz*r.lz)),v=new re(Math.cos(b-Vt),Math.sin(b-Vt),0),T=A*Math.cos(b),y=A*Math.sin(b),S=new re,x=Rr(o,c,l,vr.SPHERE_MODEL),R=tr(n.ground,e.getMonth(),v,x),H=v.dot(o),D=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.doorType===Sd.Arched)for(let k=0;k0&&s(i.id,S,o)<0&&(D[k][W]+=H*x))}else for(let k=0;k0){const N=k-p/2+.5,L=W-g/2+.5;S.set(P.x+N*T,P.y+N*y,P.z+L*w),s(i.id,S,o)<0&&(D[k][W]+=H*x)}return{intensity:D,unitArea:A*w}}static pointWithinArch(e,n,o,i,r){if(i>0){const a=.5*n,l=Math.min(i,o,a),s=.5*(l+a*a/l),c=e.x-r.x,u=e.y-r.y,d=c*c+u*u;let f=e.z-r.z;return d-o/2?!0:(f=e.z-(o-s),d+f*fArray(g).fill(0));if(i.windowType===Sr.Arched)for(let k=0;k0&&s(i.id,S,o)<0&&(D[k][W]+=H*x))}else for(let k=0;k0){const N=k-p/2+.5,L=W-g/2+.5;S.set(P.x+N*T,P.y+N*y,P.z+L*w),s(i.id,S,o)<0&&(D[k][W]+=H*x)}return{intensity:D,unitArea:A*w}}static computeRoofWindowSolarRadiationEnergy(e,n,o,i,r,a,l,s){const c=xe.dayOfYear(e),u=n.solarRadiationHeatmapGridCellSize??.5,d=i.lx,f=i.lz,p=Math.max(2,Math.round(d/u)),g=Math.max(2,Math.round(f/u)),A=d/p,w=f/g,b=new re(i.cx,i.cy,i.cz).applyEuler(new Qt(0,0,a.rotation[2]));b.x+=a.cx,b.y+=a.cy,b.z+=a.lz;const C=new Qt(i.rotation[0],i.rotation[1],i.rotation[2]+a.rotation[2],"ZXY"),P=new re(0,0,1).applyEuler(C),v=new re,T=Rr(o,c,l,vr.SPHERE_MODEL),y=tr(n.ground,e.getMonth(),P,T),S=P.dot(o),x=Array(p).fill(0).map(()=>Array(g).fill(0));if(i.windowType===Sr.Arched)for(let R=0;R0&&s(i.id,v,o)<0&&(x[R][H]+=S*T))}else for(let R=0;R0){const D=R-p/2+.5,k=H-g/2+.5,W=new re(D,k,0);W.applyEuler(C),v.set(b.x+W.x,b.y+W.y,b.z+W.z),s(i.id,v,o)<0&&(x[R][H]+=S*T)}return{intensity:x,unitArea:A*w}}static computePyramidRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=n.solarRadiationHeatmapGridCellSize??.5,g=xe.dayOfYear(e),A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,g,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P,y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/p)),L=Math.max(2,Math.round(W/p)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize();const U=N*H.dot(R)/k;H.normalize(),D.normalize();const F=new re().crossVectors(H,D).normalize(),B=R.multiplyScalar(.5*k/N),_=new re().crossVectors(F,R).normalize().multiplyScalar(.5*W/L),Y=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));Y.add(B).add(_),B.multiplyScalar(2),_.multiplyScalar(2),C.push(B.length()*_.length());const O=new re,J=[],Z=.01;J.push({x:-Z,y:-Z}),J.push({x:N+Z,y:-Z}),J.push({x:U,y:L+Z});const ie=tr(n.ground,e.getMonth(),F,w),ee=F.dot(o);for(let q=0;qZ3||le<0)&&(E[q][ne]+=ie),ee>0&&le<0&&(E[q][ne]+=ee*w)}}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeHipRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=xe.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,p,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P,y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/g)),L=Math.max(2,Math.round(W/g)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize();const U=N*H.dot(R)/k;H.normalize(),D.normalize();const F=new re().crossVectors(H,D).normalize(),B=R.multiplyScalar(.5*k/N),_=new re().crossVectors(F,R).normalize().multiplyScalar(.5*W/L),Y=new re,O=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));O.add(B).add(_),B.multiplyScalar(2),_.multiplyScalar(2),C.push(B.length()*_.length());const J=tr(n.ground,e.getMonth(),F,w),Z=F.dot(o),ie=[];for(const ee of v)ie.push({x:ee.x,y:ee.y});if(P%2===0)for(let ee=0;eeZ3||se<0)&&(E[ee][ae]+=J),Z>0&&se<0&&(E[ee][ae]+=Z*w)}}}else{const ee=[];ee.push({x:-.01,y:-.01}),ee.push({x:N+.01,y:-.01}),ee.push({x:U,y:L+.01});for(let ae=0;aeZ3||te<0)&&(E[ae][se]+=J),Z>0&&te<0&&(E[ae][se]+=Z*w)}}}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeGambrelRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=xe.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,p,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P,y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/g)),L=Math.max(2,Math.round(W/g)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize(),H.normalize(),D.normalize();const U=new re().crossVectors(H,D).normalize(),F=R.multiplyScalar(.5*k/N),B=new re().crossVectors(U,R).normalize().multiplyScalar(.5*W/L),_=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));_.add(F).add(B),F.multiplyScalar(2),B.multiplyScalar(2),C.push(F.length()*B.length());const Y=new re,O=tr(n.ground,e.getMonth(),U,w),J=U.dot(o);for(let Z=0;ZZ3||q<0)&&(E[Z][ee]+=O),J>0&&q<0&&(E[Z][ee]+=J*w)}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeMansardRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d,f){if(r)return il.computeFlatRoofSolarRadiationEnergy(e,n,o,i,a,l,s,c,u,d,f);const p=xe.dayOfYear(e),g=n.solarRadiationHeatmapGridCellSize??.5,A=new Qt(0,0,s.rotation[2],"ZYX"),w=Rr(o,p,d,vr.SPHERE_MODEL),b=[],C=[];for(const[P,v]of l.entries()){const T=i.id+"-"+P;if(P===l.length-1){let y=Number.MAX_VALUE,S=Number.MAX_VALUE,x=-Number.MAX_VALUE,R=-Number.MAX_VALUE;for(const _ of v){const Y=_.clone().applyEuler(A);Y.x>x&&(x=Y.x),Y.xR&&(R=Y.y),Y.yArray(k).fill(0));b.push(L);const E=new re(y+g/2,S+g/2,s.lz+H+f0+(a?i.thickness:0)),U=new re(0,0,E.z),F=tr(n.ground,e.getMonth(),Po,w),B=Po.dot(o);for(let _=0;_Z3||O<0)&&(L[_][Y]+=F),B>0&&O<0&&(L[_][Y]+=B*w)}}}else{const y=v[0].clone().applyEuler(A),S=v[1].clone().applyEuler(A),x=v[2].clone().applyEuler(A),R=new re().subVectors(S,y),H=new re().subVectors(x,y),D=new re().subVectors(x,S),k=R.length(),W=new re().crossVectors(H,D).length()/k,N=Math.max(2,Math.round(k/g)),L=Math.max(2,Math.round(W/g)),E=Array(N).fill(0).map(()=>Array(L).fill(0));b.push(E),R.normalize(),H.normalize(),D.normalize();const U=new re().crossVectors(H,D).normalize(),F=R.multiplyScalar(.5*k/N),B=new re().crossVectors(U,R).normalize().multiplyScalar(.5*W/L),_=new re(s.cx+y.x,s.cy+y.y,s.lz+y.z+f0+(a?i.thickness:0));_.add(F).add(B),F.multiplyScalar(2),B.multiplyScalar(2),C.push(F.length()*B.length());const Y=new re,O=tr(n.ground,e.getMonth(),U,w),J=U.dot(o);for(let Z=0;ZZ3||q<0)&&(E[Z][ee]+=O),J>0&&q<0&&(E[Z][ee]+=J*w)}}}}return{segmentIntensities:b,segmentUnitArea:C}}static computeFlatRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=xe.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),A=Rr(o,f,u,vr.SPHERE_MODEL),w=[],b=[];let C=Number.MAX_VALUE,P=Number.MAX_VALUE,v=-Number.MAX_VALUE,T=-Number.MAX_VALUE;for(const E of a)for(const U of E){const F=U.clone().applyEuler(g);F.x>v&&(v=F.x),F.xT&&(T=F.y),F.yArray(S).fill(0));w.push(H),b.push(x*R);const D=a[0][0].z,k=new re(C+p/2,P+p/2,l.lz+D+f0+(r?i.thickness:0)),W=new re(0,0,k.z),N=tr(n.ground,e.getMonth(),Po,A),L=Po.dot(o);for(let E=0;EZ3||F<0)&&(H[E][U]+=N),L>0&&F<0&&(H[E][U]+=L*A)}}return{segmentIntensities:w,segmentUnitArea:b}}static computeGableRoofSolarRadiationEnergy(e,n,o,i,r,a,l,s,c,u,d){const f=xe.dayOfYear(e),p=n.solarRadiationHeatmapGridCellSize??.5,g=new Qt(0,0,l.rotation[2],"ZYX"),A=Rr(o,f,u,vr.SPHERE_MODEL),w=[],b=[];for(const[C,P]of a.entries()){const v=i.id+"-"+C,T=P[0].clone().applyEuler(g),y=P[1].clone().applyEuler(g),S=P[2].clone().applyEuler(g),x=new re().subVectors(y,T),R=new re().subVectors(S,T),H=new re().subVectors(S,y),D=x.length(),k=new re().crossVectors(R,H).length()/D,W=Math.max(2,Math.round(D/p)),N=Math.max(2,Math.round(k/p)),L=Array(W).fill(0).map(()=>Array(N).fill(0));w.push(L),x.normalize(),R.normalize(),H.normalize();const E=new re().crossVectors(R,H).normalize(),U=x.multiplyScalar(.5*D/W),F=new re().crossVectors(E,x).normalize().multiplyScalar(.5*k/N),B=new re(l.cx+T.x,l.cy+T.y,l.lz+T.z+f0+(r?i.thickness:0));B.add(U).add(F),U.multiplyScalar(2),F.multiplyScalar(2),b.push(U.length()*F.length());const _=new re,Y=tr(n.ground,e.getMonth(),E,A),O=E.dot(o);for(let J=0;JZ3||ee<0)&&(L[J][ie]+=Y),O>0&&ee<0&&(L[J][ie]+=O*A)}}}return{segmentIntensities:w,segmentUnitArea:b}}static isPointRoof(e,n,o,i){if(n&&n.length>0)for(const r of n){const a=In.getAbsoluteWindowVerticesOnRoof(r,i),l=xe.getPoints(a);if(xe.isPointInside(e.x,e.y,l))return!1}if(o&&o.length>0)for(const r of o){const a=In.getAbsoluteSolarPanelVerticesOnRoof(r,i),l=xe.getPoints(a);if(xe.isPointInside(e.x,e.y,l))return!1}return!0}}const ILo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(cA),i=M(rr),r=M(Q9),a=M(J2),l=Sn(q1e),s=Sn($L),c=Sn(Q1e),u=Sn(w4t),d=Sn(x4t),f=Sn(S4t),p=M(ha),g=ht(QL),A=ht(owt),w=ht(wq),b=ht(iwt),C=M.getState().world,P=M.getState().elements,v=C.noAnimationForThermalSimulation,T=C.highestTemperatureTimeInMinutes??900,y=m.useRef(0),S=m.useRef(!1),x=m.useRef(new Date(C.date)),R=m.useRef(0),H=m.useRef(!1),D=m.useRef(new Date(C.date)),k=m.useRef(0),W=m.useRef({high:20,low:0}),N=m.useRef(20),L=m.useRef(20),E=m.useRef(new Map),U=m.useRef(new Map),F=m.useRef(new Map),B=m.useRef([]),_=m.useRef([]),Y=m.useRef(),O=m.useRef(),J=m.useRef(0),Z=m.useRef(new Map),ie=Kt(),ee=l1(t),q=new Date(C.date),ae=t?ee==null?void 0:ee.elevation:0,ne=C.monthlyIrradianceLosses??new Array(12).fill(.05),se=C.timesPerHour??4,le=60/se,te=C.daysPerYear??6,he=12/te,{scene:pe}=Xi(),fe=m.useMemo(()=>new Gs,[]),$=()=>$5(1,pye(q),QW(q),xe.toRadians(C.latitude)).normalize(),de=(Oe,nt,mt)=>{if(B.current.length>1){_.current.length=0,fe.set(nt,mt);const Tt=B.current.filter(Rt=>Rt.uuid!==Oe);if(fe.intersectObjects(Tt,!1,_.current),_.current.length>0)return _.current[0].distance}return-1},Se=()=>{const Oe=pe.children.filter(nt=>nt.name==="Content");if(Oe.length>0){const nt=Oe[0].children;B.current.length=0;for(const mt of nt)xe.fetchSimulationElements(mt,B.current)}},Ce=Oe=>{if(ee){W.current=Jx(q,ee.lowestTemperatures,ee.highestTemperatures);const nt=xe.minutesIntoDay(Oe);N.current=Xx(W.current.high,W.current.low,C.diurnalTemperatureModel??d2.Sinusoidal,T,sl(Oe,C.latitude),nt),L.current=Z$e(C.latitude,xe.dayOfYear(q),nt,ee.lowestTemperatures,ee.highestTemperatures,T,.5*(W.current.high-W.current.low),C.ground.thermalDiffusivity??.05,qNe)}},ve=(Oe,nt)=>{let mt=E.current.get(Oe);mt||(mt=new Array(24).fill(0),E.current.set(Oe,mt)),mt[q.getHours()]+=nt},Ie=(Oe,nt)=>{let mt=U.current.get(Oe);mt||(mt=new Array(24).fill(0),U.current.set(Oe,mt)),mt[q.getHours()]+=nt},ze=(Oe,nt)=>{let mt=F.current.get(Oe);mt||(mt=new Array(24).fill(0),F.current.set(Oe,mt)),mt[q.getHours()]+=nt},ye=()=>{var Oe,nt,mt,Tt;for(const Rt of P){if(xe.onBuildingEnvelope(Rt)&&((Oe=E.current.get(Rt.id))==null||Oe.fill(0)),Rt.type===z.Roof)for(const Wt of E.current.keys())Wt!==Rt.id&&Wt.startsWith(Rt.id)&&((nt=E.current.get(Wt))==null||nt.fill(0));Rt.type===z.Foundation&&((mt=U.current.get(Rt.id))==null||mt.fill(0),(Tt=F.current.get(Rt.id))==null||Tt.fill(0))}},oe=()=>{Z.current.clear()};m.useEffect(()=>{if(g)if(v&&!xe.hasMovingParts(P))ge();else return Se(),Ae(),y.current=requestAnimationFrame(Pe),()=>{cancelAnimationFrame(y.current),S.current||(hn(j.t("message.SimulationAborted",ie)),e(Oe=>{Oe.world.date=x.current.toLocaleString("en-US")}),ht.getState().set(Oe=>{Oe.simulationInProgress=!1,Oe.simulationPaused=!1})),H.current=!1}},[g]),m.useEffect(()=>{H.current=A,A?(D.current=new Date(q.getTime()),cancelAnimationFrame(y.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",ie))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+le),Pe())},[A]);const ge=()=>{Ye()},Ae=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(x.current=new Date(C.date),k.current=xe.dayOfYear(q),q.setHours(0,le/2)),S.current=!1,ye(),oe()},me=()=>{for(const Oe of P){if(xe.onBuildingEnvelope(Oe)||Oe.type===z.SolarPanel){const nt=E.current.get(Oe.id);nt&&u(Oe.id,[...nt]);const mt=Z.current.get(Oe.id);mt&&l(Oe.id,mt.map(Tt=>[...Tt]))}if(Oe.type===z.Roof){for(const nt of E.current.keys())if(nt!==Oe.id&&nt.startsWith(Oe.id)){const mt=E.current.get(nt);mt&&u(nt,[...mt]);const Tt=Z.current.get(nt);Tt&&l(nt,Tt.map(Rt=>[...Rt]))}}if(Oe.type===z.Foundation){let nt=U.current.get(Oe.id);nt&&d(Oe.id,[...nt]),nt=F.current.get(Oe.id),nt&&f(Oe.id,[...nt])}}ht.getState().set(Oe=>{Oe.flagOfDailySimulation=!Oe.flagOfDailySimulation,Oe.runYearlyThermalSimulation||(Oe.showSolarRadiationHeatmap=!0,Oe.showHeatFluxes=!0)}),p&&!w&&setTimeout(()=>{e(Oe=>{const nt=Sn.getState().totalBuildingHeater,mt=Sn.getState().totalBuildingAc,Tt=Sn.getState().totalBuildingSolarPanel;Oe.actionInfo={name:"Daily Building Energy Analysis Completed",result:{Heater:nt.toFixed(2),AC:mt.toFixed(2),SolarPanel:Tt.toFixed(2),Net:(nt+mt-Tt).toFixed(2)},timestamp:new Date().getTime()}})},10)},Pe=()=>{if(g&&!H.current){if(q.getMinutes()+q.getHours()*60+(xe.dayOfYear(q)-k.current)*A2+le>A2){Ye(),cancelAnimationFrame(y.current),e(nt=>{nt.world.date=x.current.toLocaleString("en-US"),nt.viewState.showDailyBuildingEnergyPanel=!0,nt.selectedFloatingWindow="dailyBuildingEnergyPanel"}),ht.getState().set(nt=>{nt.runDailyThermalSimulation=!1,nt.simulationPaused=!1,nt.simulationInProgress=!1}),hn(j.t("message.SimulationCompleted",ie)),S.current=!0,me();return}e(nt=>{nt.world.date=q.toLocaleString("en-US")}),Ye(),y.current=requestAnimationFrame(Pe),q.setHours(q.getHours(),q.getMinutes()+le)}},[Me,Te]=m.useState(q.getMonth());m.useEffect(()=>{setTimeout(()=>{Se()},200)},[Me]),m.useEffect(()=>{if(w)if(ht.getState().set(Oe=>{Oe.showSolarRadiationHeatmap=!1,Oe.showHeatFluxes=!1}),v&&!xe.hasMovingParts(P))setTimeout(()=>{},50);else return De(),Te(q.getMonth()),Se(),y.current=requestAnimationFrame(Ne),()=>{cancelAnimationFrame(y.current),S.current||(hn(j.t("message.SimulationAborted",ie)),e(Oe=>{Oe.world.date=x.current.toLocaleString("en-US")}),ht.getState().set(Oe=>{Oe.simulationInProgress=!1,Oe.simulationPaused=!1})),H.current=!1}},[w]),m.useEffect(()=>{H.current=b,b?(D.current=new Date(q.getTime()),cancelAnimationFrame(y.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",ie))):(n("simulationPaused",!1),q.setHours(q.getHours(),q.getMinutes()+le),Ne())},[b]);const De=()=>{H.current?(q.setTime(D.current.getTime()),H.current=!1):(x.current=new Date(C.date),R.current=0,q.setMonth(0,22),k.current=xe.dayOfYear(q),q.setHours(0,le/2),e(Oe=>{Oe.viewState.showYearlyBuildingEnergyPanel=!0,Oe.selectedFloatingWindow="yearlyBuildingEnergyPanel",Oe.world.date=q.toLocaleString("en-US")})),ye(),oe(),S.current=!1},Ne=()=>{w&&!H.current&&(q.getMinutes()+q.getHours()*60+(xe.dayOfYear(q)-k.current)*A2{nt.world.date=q.toLocaleString("en-US")}),Ye(),q.setHours(q.getHours(),q.getMinutes()+le),y.current=requestAnimationFrame(Ne)):(me(),R.current++,R.current===te?(cancelAnimationFrame(y.current),setTimeout(()=>{e(nt=>{nt.world.date=x.current.toLocaleString("en-US")})},10),ht.getState().set(nt=>{nt.runYearlyThermalSimulation=!1,nt.simulationInProgress=!1,nt.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",ie)),S.current=!0,p&&setTimeout(()=>{e(nt=>{const mt=Sn.getState().totalBuildingHeater,Tt=Sn.getState().totalBuildingAc,Rt=Sn.getState().totalBuildingSolarPanel;nt.actionInfo={name:"Yearly Building Energy Analysis Completed",result:{Heater:mt.toFixed(2),AC:Tt.toFixed(2),SolarPanel:Rt.toFixed(2),Net:(mt+Tt-Rt).toFixed(2)},timestamp:new Date().getTime()}})},10)):(q.setMonth(R.current*he,22),q.setHours(0,le/2),Te(q.getMonth()),k.current=xe.dayOfYear(q),ye(),oe(),y.current=requestAnimationFrame(Ne))))},Ye=()=>{Ce(q),O.current=sl(q,C.latitude);const Oe=O.current.daylight()/60;J.current=Oe>Dt?ee.sunshineHours[q.getMonth()]/(30*Oe*se):0,Y.current=$();for(const nt of P)switch(nt.type){case z.Door:{rt(nt);break}case z.Window:{Fe(nt),Ge(nt);break}case z.Wall:{_e(nt);break}case z.Roof:{const mt=nt;Qe(mt),xt(mt);break}case z.SolarPanel:{Ee(nt);break}}},Le=(Oe,nt)=>{let mt=nt.efficiency;return nt.cellType==="Monocrystalline"&&(mt*=.95),mt*(1+nt.pmaxTC*(Oe-25))},$e=()=>{if(!O.current)throw new Error("sun minutes not set");const Oe=O.current.daylight()/60;return Oe>Dt?ee.sunshineHours[q.getMonth()]/(30*Oe*se):0},We=Oe=>{if(!a(Oe.pvModelName))throw new Error("PV model not found");return Oe.lx*Oe.ly*(Oe.inverterEfficiency??.95)*(1-ne[q.getMonth()])},Ee=Oe=>{const nt=o(Oe);if(nt){const mt=i(Oe);if(mt){const Tt=a(Oe.pvModelName);if(Y.current&&Y.current.z>0){const Rt=il.computeSolarPanelOutput(q,C,Y.current,Tt,Oe,mt,nt,ae,de),Wt=Le(N.current,Tt)*$e()*We(Oe);if(ze(nt.id,Rt.average*Wt),g){for(let wt=0;wt{var mt;if(Oe.interior)return;const nt=o(Oe);if(nt){const Tt=i(Oe);if(Tt){const Rt=((mt=nt.hvacSystem)==null?void 0:mt.thermostatSetpoint)??20,Wt=xe.getWindowArea(Oe,Oe.parentType===z.Roof?void 0:Tt),Ct=N.current-Rt;Oe.empty?ve(Oe.id,Ct*Wt*aO*.001/se):ve(Oe.id,Ct*Wt*(Oe.uValue??B4)*.001/se)}}},Ge=Oe=>{if(Oe.interior)return;const nt=o(Oe);if(nt){const mt=i(Oe);if(mt){let Tt=0;if(Oe.parentType===z.Roof){const Rt=s(mt.id);if(!Rt)return;for(let Wt=0;Wt0){const Ct=il.computeRoofWindowSolarRadiationEnergy(q,C,Y.current,Oe,mt,nt,ae,de);for(let wt=0;wt0){const Rt=il.computeWallWindowSolarRadiationEnergy(q,C,Y.current,Oe,mt,nt,ae,de);for(let Wt=0;Wt{var mt;if(Oe.interior)return;const nt=o(Oe);if(nt){const Tt=i(Oe);if(Tt){const Rt=((mt=nt.hvacSystem)==null?void 0:mt.thermostatSetpoint)??20,Wt=xe.getDoorArea(Oe,Tt);if(Oe.filled){const Ct=G8(Oe);let wt=0;if(Y.current&&Y.current.z>0){const Je=il.computeDoorSolarRadiationEnergy(q,C,Y.current,Oe,Tt,nt,ae,de);for(let st=0;st{var mt;const nt=o(Oe);if(nt){const Tt=Oe.fill!==Hl.Empty&&Oe.wallStructure===hc.Default,Rt=((mt=nt.hvacSystem)==null?void 0:mt.thermostatSetpoint)??20;if(Tt){const Wt=Oe.fill===Hl.Partial&&!xe.isPartialWallFull(Oe),Ct=xe.getWallVertices(Oe,0),wt=Wt?xe.getPartialWallVertices(Oe,0):Ct,kt=xe.getPolygonArea(Ct);let qe=Wt?xe.getPolygonArea(wt):kt;const Je=r(z.Window,Oe.id),st=r(z.Door,Oe.id),Pt=G8(Oe);let Ue=0;if(Y.current&&Y.current.z>0){const je=(Wt?wt.length:Ct.length)===4,yt=r(z.SolarPanel,Oe.id),Ht=il.computeWallSolarRadiationEnergy(q,C,Y.current,Oe,nt,Je,st,yt,je?0:1,ae,de);for(let At=0;At0)for(const je of Je)qe-=xe.getWindowArea(je,Oe);if(st&&st.length>0)for(const je of st)qe-=je.lx*je.lz*Oe.lx*Oe.lz;const lt=xe.isZero(Ue)||xe.isZero(Pt)?0:Ue*Pt/((Oe.volumetricHeatCapacity??.5)*qe*Oe.ly);let ut=(N.current+lt-Rt)*qe/(Oe.rValue??i6)*.001/se;Wt&&Oe.openToOutside&&(ut+=(N.current-Rt)*(kt-qe)*aO*.001/se),ve(Oe.id,ut)}else if(Oe.openToOutside){const Wt=xe.getWallVertices(Oe,0),Ct=xe.getPolygonArea(Wt),wt=N.current-Rt;ve(Oe.id,wt*Ct*aO*.001/se)}}},xt=Oe=>{var Wt;const nt=o(Oe);if(!nt)return;const mt=((Wt=nt.hvacSystem)==null?void 0:Wt.thermostatSetpoint)??20,Tt=xe.calculateBuildingArea(Oe),Rt=L.current-mt;ve(nt.id,Rt*Tt/(nt.rValue??Q4)*.001/se)},dt=(Oe,nt,mt)=>{const Tt=1/(Oe.rValue??Z4),Rt=1/(Oe.ceilingRValue??c6);return(Tt*nt+Rt*mt)/(Tt+Rt)},Qe=Oe=>{var Rt;const nt=o(Oe);if(!nt)return;const mt=s(Oe.id);if(!mt)return;let Tt;switch(Oe.roofType){case Vo.Pyramid:Tt=ct(Oe,mt,nt);break;case Vo.Hip:Tt=ft(Oe,mt,nt);break;case Vo.Gable:Tt=et(Oe,mt,nt);break;case Vo.Gambrel:Tt=at(Oe,mt,nt);break;case Vo.Mansard:Tt=ot(Oe,mt,nt);break}if(Tt){const Wt=((Rt=nt.hvacSystem)==null?void 0:Rt.thermostatSetpoint)??20;let Ct=0;for(const[wt,kt]of Tt.entries()){const Je=(kt.surfaceTemperature-(Oe.ceiling?dt(Oe,kt.surfaceTemperature,Wt):Wt))*kt.totalArea/(Oe.rValue??Z4)*.001/se;ve(Oe.id+"-"+wt,Je),Ct+=Je}ve(Oe.id,Ct)}},ct=(Oe,nt,mt)=>{if(Oe.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const Ue of nt)for(const lt of Ue)if(Math.abs(lt.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,wt=r(z.Window,Oe.id),kt=[];if(Rt){let Ue=0;for(const lt of nt){const Ve=[];for(const ut of lt)Ve.push(xe.mapVector3ToPoint2(ut));Ue+=xe.getPolygonArea(Ve)}if(wt.length>0){for(const lt of wt)Ue-=lt.lx*lt.lz;Ue<0&&(Ue=0)}kt.push(Ue)}else for(const Ue of nt){let lt=xe.getTriangleArea(Ue[0],Ue[1],Ue[2]);if(wt.length>0){for(const Ve of wt)In.onSegment(Ue,Ve.cx,Ve.cy)&&(lt-=Ve.lx*Ve.lz);lt<0&&(lt=0)}kt.push(lt)}const qe=G8(Oe),Je=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const Ue=r(z.SolarPanel,Oe.id),lt=il.computePyramidRoofSolarRadiationEnergy(q,C,Y.current,Oe,Rt,!0,nt,mt,wt,Ue,ae,de);for(let Ve=0;Ve{if(Oe.roofType!==Vo.Hip)throw new Error("roof is not hip");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const lt of nt)for(const Ve of lt)if(Math.abs(Ve.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,wt=[],kt=r(z.Window,Oe.id);for(const lt of nt){let Ve=0;if(lt.length===3?Ve=xe.getTriangleArea(lt[0],lt[1],lt[2]):lt.length===4&&(Ve=xe.getTriangleArea(lt[0],lt[1],lt[2])+xe.getTriangleArea(lt[2],lt[3],lt[0])),kt.length>0){for(const ut of kt)In.onSegment(lt,ut.cx,ut.cy)&&(Ve-=ut.lx*ut.lz);Ve<0&&(Ve=0)}wt.push(Ve)}const qe=Rt?[wt.reduce((lt,Ve)=>lt+Ve,0)]:wt,Je=G8(Oe),st=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const lt=r(z.SolarPanel,Oe.id),Ve=il.computeHipRoofSolarRadiationEnergy(q,C,Y.current,Oe,Rt,!0,nt,mt,kt,lt,ae,de);for(let ut=0;ut{if(Oe.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const lt of nt)for(const Ve of lt)if(Math.abs(Ve.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,wt=[],kt=r(z.Window,Oe.id);for(const lt of nt){let Ve=xe.getTriangleArea(lt[0],lt[1],lt[2])+xe.getTriangleArea(lt[2],lt[3],lt[0]);if(kt.length>0){for(const ut of kt)In.onSegment(lt,ut.cx,ut.cy)&&(Ve-=ut.lx*ut.lz);Ve<0&&(Ve=0)}wt.push(Ve)}const qe=Rt?[wt.reduce((lt,Ve)=>lt+Ve,0)]:wt,Je=G8(Oe),st=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const lt=r(z.SolarPanel,Oe.id),Ve=il.computeGambrelRoofSolarRadiationEnergy(q,C,Y.current,Oe,Rt,!0,nt,mt,kt,lt,ae,de);for(let ut=0;ut{if(Oe.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const Tt=nt.length;if(Tt===0)return;let Rt=!0;const Wt=nt[0][0].z;for(const je of nt)for(const yt of je)if(Math.abs(yt.z-Wt)>.01){Rt=!1;break}const Ct=Rt?1:Tt,wt=[],kt=r(z.Window,Oe.id);for(let je=0;je0){for(const At of kt)In.onSegment(yt,At.cx,At.cy)&&(Ht-=At.lx*At.lz);Ht<0&&(Ht=0)}wt.push(Ht)}const qe=nt[Tt-1],Je=new Array;for(const je of qe)Je.push({x:je.x,y:je.y});let st=xe.getPolygonArea(Je);if(kt.length>0){for(let je=kt.length-1;je>=0;je--){const yt=kt[je];In.onSegment(qe,yt.cx,yt.cy)&&(st-=yt.lx*yt.lz,kt.splice(je,1))}st<0&&(st=0)}wt.push(st);const Pt=Rt?[wt.reduce((je,yt)=>je+yt,0)]:wt,Ue=G8(Oe),lt=Array(Ct).fill(0);if(Y.current&&Y.current.z>0){const je=r(z.SolarPanel,Oe.id),yt=il.computeMansardRoofSolarRadiationEnergy(q,C,Y.current,Oe,Rt,!0,nt,mt,kt,je,ae,de);for(let Ht=0;Ht{if(Oe.roofType!==Vo.Gable)throw new Error("roof is not gable");const Tt=nt.length;if(Tt===0)return;const Rt=r(z.Window,Oe.id),Wt=[];for(const Je of nt){let st=xe.getTriangleArea(Je[0],Je[1],Je[2])+xe.getTriangleArea(Je[2],Je[3],Je[0]);if(Rt.length>0){for(const Pt of Rt)In.onSegment(Je,Pt.cx,Pt.cy)&&(st-=Pt.lx*Pt.lz);st<0&&(st=0)}Wt.push(st)}const Ct=G8(Oe),wt=Array(Tt).fill(0);if(Y.current&&Y.current.z>0){const Je=r(z.SolarPanel,Oe.id),st=il.computeGableRoofSolarRadiationEnergy(q,C,Y.current,Oe,!0,nt,mt,Rt,Je,ae,de);for(let Pt=0;Pt{const e=M.getState().world,n=M.getState().elements,o=M(rr),i=M(cA),r=Sn(q1e),a=Sn(UBe),l=ht(tge),s=Sn(Q1e),{scene:c}=Xi(),u=Kt(),d=l1(t),f=new Date(e.date),p=t?d==null?void 0:d.elevation:0,g=60/e.timesPerHour,A=m.useMemo(()=>new Gs,[]),w=e.solarRadiationHeatmapGridCellSize??.5,b=m.useRef([]),C=m.useRef([]);m.useEffect(()=>{l&&n&&n.length>0&&(a(),T(),ht.getState().set(B=>{B.runStaticSimulation=!1,B.simulationInProgress=!1,B.showSolarRadiationHeatmap=!0}),hn(j.t("message.SimulationCompleted",u)))},[l]);const P=(B,_,Y)=>{if(b.current.length>1){C.current.length=0,A.set(_,Y);const O=b.current.filter(J=>J.uuid!==B);return A.intersectObjects(O,!1,C.current),C.current.length>0}return!1},v=()=>{const B=c.children.filter(_=>_.name==="Content");if(B.length>0){const _=B[0].children;b.current.length=0;for(const Y of _)xe.fetchSimulationElements(Y,b.current)}},T=()=>{v();for(const B of n)switch(B.type){case z.Foundation:{const _=B;S(_),_.solarStructure===zn.UpdraftTower&&x(_);break}case z.Cuboid:{y(B);break}case z.SolarPanel:{R(B);break}case z.Wall:{H(B);break}case z.Door:{D(B);break}case z.Roof:{const _=B;switch(_.roofType){case Vo.Pyramid:k(_);break;case Vo.Gable:U(_);break;case Vo.Gambrel:N(_);break;case Vo.Mansard:W(_);break;case Vo.Hip:L(_);break}break}}},y=B=>{const _=f.getFullYear(),Y=f.getMonth(),O=f.getDate(),J=xe.dayOfYear(f),Z=B.lx,ie=B.ly,ee=B.lz,q=Math.max(2,Math.round(Z/w)),ae=Math.max(2,Math.round(ie/w)),ne=Math.max(2,Math.round(ee/w)),se=Z/q,le=ie/ae,te=ee/ne,he=o(B);let pe=B.cx,fe=B.cy,$=B.cz;if(he&&he.type===z.Cuboid){const Ee=xe.getWorldDataById(B.id);pe=Ee.pos.x,fe=Ee.pos.y,$=Ee.pos.z}const de=Array(q).fill(0).map(()=>Array(ae).fill(0)),Se=Array(q).fill(0).map(()=>Array(ne).fill(0)),Ce=Array(q).fill(0).map(()=>Array(ne).fill(0));let ve=Array(ae).fill(0).map(()=>Array(ne).fill(0)),Ie=Array(ae).fill(0).map(()=>Array(ne).fill(0));const ze=Po,ye=Bp.clone().applyAxisAngle(Po,B.rotation[2]),oe=Yc.clone().applyAxisAngle(Po,B.rotation[2]),ge=Up.clone().applyAxisAngle(Po,B.rotation[2]),Ae=Np.clone().applyAxisAngle(Po,B.rotation[2]),me=new re;let Pe=0;const Me=new Gt(pe,fe),Te=new Gt,De=fe-ie/2,Ne=fe+ie/2,Ye=pe-Z/2,Le=pe+Z/2;for(let Ee=0;Ee<24;Ee++)for(let Fe=0;Fe0){Pe++;const _e=Rr(rt,J,p,vr.SPHERE_MODEL);let xt=tr(e.ground,Y,ze,_e),dt=ze.dot(rt),Qe=pe-Z/2,ct=fe-ie/2;const ft=$+ee/2;for(let at=0;at0&&(Te.set(Qe+(at+.5)*se,ct+(ot+.5)*le),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ft),P(B.id,me,rt)||(de[at][ot]+=dt*_e));Qe=pe-Z/2,ct=$-ee/2,xt=tr(e.ground,Y,ye,_e),dt=ye.dot(rt);for(let at=0;at0&&(Te.set(Qe+(at+.5)*se,De),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ct+(ot+.5)*te),P(B.id,me,rt)||(Se[at][ot]+=dt*_e));xt=tr(e.ground,Y,oe,_e),dt=oe.dot(rt);for(let at=0;at0&&(Te.set(Qe+(at+.5)*se,Ne),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ct+(ne-(ot+.5))*te),P(B.id,me,rt)||(Ce[at][ot]+=dt*_e));Qe=fe-ie/2,ct=$-ee/2,xt=tr(e.ground,Y,ge,_e),dt=ge.dot(rt);for(let at=0;at0&&(Te.set(Ye,Qe+(at+.5)*le),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ct+(ot+.5)*te),P(B.id,me,rt)||(ve[at][ot]+=dt*_e));xt=tr(e.ground,Y,Ae,_e),dt=Ae.dot(rt);for(let at=0;at0&&(Te.set(Le,Qe+(at+.5)*le),Te.rotateAround(Me,B.rotation[2]),me.set(Te.x,Te.y,ct+(ot+.5)*te),P(B.id,me,rt)||(Ie[at][ot]+=dt*_e))}}ve=xe.transpose(ve),Ie=xe.transpose(Ie);const $e=Pe*g/60,We=$e>Dt?d.sunshineHours[Y]/(30*$e*e.timesPerHour):0;F(de,We),F(Se,We),F(Ce,We),F(ve,We),F(Ie,We),r(B.id+"-top",de),r(B.id+"-south",Se),r(B.id+"-north",Ce),r(B.id+"-west",ve),r(B.id+"-east",Ie)},S=B=>{const _=f.getFullYear(),Y=f.getMonth(),O=f.getDate(),J=xe.dayOfYear(f),Z=B.lx,ie=B.ly,ee=B.lz,q=Math.max(2,Math.round(Z/w)),ae=Math.max(2,Math.round(ie/w)),ne=Z/q,se=ie/ae,le=B.cx-Z/2,te=B.cy-ie/2,he=new Gt(B.cx,B.cy),pe=new re,fe=Array(q).fill(0).map(()=>Array(ae).fill(0));let $=0;for(let Ce=0;Ce<24;Ce++)for(let ve=0;ve0){$++;const ye=Rr(ze,J,p,vr.SPHERE_MODEL),oe=tr(e.ground,Y,Po,ye),ge=Po.dot(ze),Ae=new Gt;for(let me=0;me0&&(Ae.set(le+(me+.5)*ne,te+(Pe+.5)*se),Ae.rotateAround(he,B.rotation[2]),pe.set(Ae.x,Ae.y,ee),P(B.id,pe,ze)||(fe[me][Pe]+=ge*ye))}}const de=$*g/60,Se=de>Dt?d.sunshineHours[Y]/(30*de*e.timesPerHour):0;F(fe,Se),r(B.id,fe)},x=B=>{const _=B.solarUpdraftTower;if(!_)return;const Y=f.getFullYear(),O=f.getMonth(),J=f.getDate(),Z=xe.dayOfYear(f),ie=_.collectorRadius,ee=Math.max(2,Math.round(ie*2/w)),q=B.cx-ie+w/2,ae=B.cy-ie+w/2,ne=B.lz+_.collectorHeight,se=Array(ee).fill(0).map(()=>Array(ee).fill(0)),le=new re(0,0,ne),te=ie*ie;let he=0,pe,fe;for(let Se=0;Se<24;Se++)for(let Ce=0;Ce0){he++;const ze=Rr(Ie,Z,p,vr.SPHERE_MODEL),ye=tr(e.ground,O,Po,ze),oe=Po.dot(Ie);for(let ge=0;gete)&&(se[ge][Ae]+=ye,oe>0&&(P(B.id+"-sut",le,Ie)||(se[ge][Ae]+=oe*ze)))}}}const $=he*g/60,de=$>Dt?d.sunshineHours[O]/(30*$*e.timesPerHour):0;F(se,de),r(B.id+"-sut",se)},R=B=>{if(B.trackerType!==Ma.NO_TRACKER)throw new Error("trackers cannot use static simulation");let _=o(B);if(!_)throw new Error("parent of solar panel does not exist");const Y=B.parentType===z.Roof,O=B.parentType===z.Wall;if(Y&&(_=i(_),!_))throw new Error("foundation of solar panel does not exist");const J=O?xe.absoluteCoordinates(B.cx,B.cy,B.cz,_,i(B),B.lz):xe.absoluteCoordinates(B.cx,B.cy,B.cz,_),Z=new re().fromArray(B.normal),ie=_.rotation[2];let ee=ie+B.relativeAzimuth,q=B.tiltAngle,ae=!0;if(Y&&(J.z=B.cz+B.lz+.02+_.cz+_.lz/2,xe.isZero(B.rotation[0])?J.z+=B.poleHeight:(q=B.rotation[0],ee=ie,ae=!1)),O&&!xe.isZero(B.tiltAngle)){const Me=_,Te=i(_),Ne=(Te?Te.rotation[2]+Me.relativeAngle:Me.relativeAngle)-Vt,Ye=B.ly*Math.abs(Math.sin(B.tiltAngle))/2;J.x+=Ye*Math.cos(Ne),J.y+=Ye*Math.sin(Ne)}const ne=new Qt(Y&&!ae?0:q,0,ee,"ZYX");Z.applyEuler(ne);const se=f.getFullYear(),le=f.getMonth(),te=f.getDate(),he=xe.dayOfYear(f),pe=B.lx,fe=B.ly,$=Math.max(2,Math.round(B.lx/w)),de=Math.max(2,Math.round(B.ly/w)),Se=pe/$,Ce=fe/de,ve=J.x-(pe-w)/2,Ie=J.y-(fe-w)/2,ze=Y||O?J.z:_.lz+B.poleHeight+B.lz,ye=new Gt(J.x,J.y),oe=new re,ge=Array($).fill(0).map(()=>Array(de).fill(0));let Ae=0;Y&&!ae&&(ne.x=B.rotation[0],ne.z=B.rotation[2]+ie),O&&(ne.x=Vt+B.tiltAngle,ne.z=_.relativeAngle+ie);for(let Me=0;Me<24;Me++)for(let Te=0;Te0){Ae++;const Ye=Rr(Ne,he,p,vr.SPHERE_MODEL),Le=tr(e.ground,le,Z,Ye),$e=Z.dot(Ne),We=new Gt,Ee=new re;for(let Fe=0;Fe<$;Fe++)for(let Ge=0;Ge0&&(We.set(ve+Fe*Se,Ie+Ge*Ce),Ee.set(We.x-ye.x,We.y-ye.y,0),Ee.applyEuler(ne),oe.set(J.x+Ee.x,J.y+Ee.y,ze+Ee.z),P(B.id,oe,Ne)||(ge[Fe][Ge]+=$e*Ye))}}const me=Ae*g/60,Pe=me>Dt?d.sunshineHours[le]/(30*me*e.timesPerHour):0;F(ge,Pe),r(B.id,ge)},H=B=>{const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=f.getFullYear(),O=f.getMonth(),J=f.getDate(),Z=xe.dayOfYear(f),ie=B.lx,ee=xe.getHighestPointOfWall(B),q=Math.max(2,Math.round(ie/w)),ae=Math.max(2,Math.round(ee/w)),ne=ie/q,se=ee/ae,le=_.rotation[2]+B.relativeAngle,te=xe.wallAbsolutePosition(new re(B.cx,B.cy,ee/2),_).setZ(ee/2+_.lz),he=new re(Math.cos(le-Vt),Math.sin(le-Vt),0),pe=new re,fe=Array(q).fill(0).map(()=>Array(ae).fill(0));let $=0;const de=ne*Math.cos(le),Se=ne*Math.sin(le),Ce=xe.getWallVertices(B,2),ve=(ee-B.lz)/2;for(let ye=0;ye<24;ye++)for(let oe=0;oe0){$++;const me=Rr(Ae,Z,p,vr.SPHERE_MODEL),Pe=tr(e.ground,O,he,me),Me=he.dot(Ae);for(let Te=0;Te0&&(pe.set(te.x+Ne*de,te.y+Ne*Se,te.z+Ye*se),P(B.id,pe,Ae)||(fe[Te][De]+=Me*me)))}}}const Ie=$*g/60,ze=Ie>Dt?d.sunshineHours[O]/(30*Ie*e.timesPerHour):0;F(fe,ze),r(B.id,fe)},D=B=>{const _=i(B);if(!_)throw new Error("foundation of door not found");const Y=o(B);if(!Y)throw new Error("parent of door not found");const O=Y,J=f.getFullYear(),Z=f.getMonth(),ie=f.getDate(),ee=xe.dayOfYear(f),q=B.lx*O.lx,ae=B.lz*O.lz,ne=Math.max(2,Math.round(q/w)),se=Math.max(2,Math.round(ae/w)),le=q/ne,te=ae/se,he=_.rotation[2]+O.relativeAngle,fe=xe.wallAbsolutePosition(new re(O.cx,O.cy,O.cz),_).setZ(O.lz/2+_.lz).clone().add(new re(B.cx*O.lx,0,B.cz*O.lz)),$=new re(Math.cos(he-Vt),Math.sin(he-Vt),0),de=new re,Se=Array(ne).fill(0).map(()=>Array(se).fill(0));let Ce=0;const ve=le*Math.cos(he),Ie=le*Math.sin(he);for(let oe=0;oe<24;oe++)for(let ge=0;ge0){Ce++;const Pe=Rr(me,ee,p,vr.SPHERE_MODEL),Me=tr(e.ground,Z,$,Pe),Te=$.dot(me);if(B.doorType===Sd.Arched)for(let De=0;De0&&(P(B.id,de,me)||(Se[De][Ne]+=Te*Pe)))}else for(let De=0;De0&&(de.set(fe.x+Ye*ve,fe.y+Ye*Ie,fe.z+Le*te),P(B.id,de,me)||(Se[De][Ne]+=Te*Pe))}}}const ze=Ce*g/60,ye=ze>Dt?d.sunshineHours[Z]/(30*ze*e.timesPerHour):0;F(Se,ye),r(B.id,Se)},k=B=>{if(B.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne,te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie),Ae=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);Ae.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2);let me=0;const Pe=new re;for(let De=0;De<24;De++)for(let Ne=0;Ne0){me++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(Pe.copy(Ae).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,Pe,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=me*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}},W=B=>{if(B.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne;if(ne===Y.length-1){let te=Number.MAX_VALUE,he=Number.MAX_VALUE,pe=-Number.MAX_VALUE,fe=-Number.MAX_VALUE;for(const me of se){const Pe=me.clone().applyEuler(ae);Pe.x>pe&&(pe=Pe.x),Pe.xfe&&(fe=Pe.y),Pe.yArray(Se).fill(0)),ze=new re(te+w/2,he+w/2,_.lz+$+f0);let ye=0;const oe=new re(0,0,ze.z);for(let me=0;me<24;me++)for(let Pe=0;Pe0){ye++;const De=Rr(Te,q,p,vr.SPHERE_MODEL),Ne=tr(e.ground,ie,Po,De),Ye=Po.dot(Te);for(let Le=0;Le0&&(oe.y=ze.y+$e*ve,P(le,oe,Te)||(Ie[Le][$e]+=Ye*De))}}}const ge=ye*g/60,Ae=ge>Dt?d.sunshineHours[ie]/(30*ge*e.timesPerHour):0;F(Ie,Ae),r(le,Ie)}else{const te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie),Ae=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);Ae.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2);let me=0;const Pe=new re;for(let De=0;De<24;De++)for(let Ne=0;Ne0){me++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(Pe.copy(Ae).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,Pe,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=me*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}}},N=B=>{if(B.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne,te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie),Ae=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);Ae.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2);let me=0;const Pe=new re;for(let De=0;De<24;De++)for(let Ne=0;Ne0){me++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(Pe.copy(Ae).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,Pe,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=me*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}},L=B=>{if(B.roofType!==Vo.Hip)throw new Error("roof is not hip");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;let O=!0;const J=Y[0][0].z;for(const Z of Y)for(const ie of Z)if(Math.abs(ie.z-J)>.01){O=!1;break}if(O)E(B,_,Y);else{const Z=f.getFullYear(),ie=f.getMonth(),ee=f.getDate(),q=xe.dayOfYear(f),ae=new Qt(0,0,_.rotation[2],"ZYX");for(const[ne,se]of Y.entries()){const le=B.id+"-"+ne,te=se[0].clone().applyEuler(ae),he=se[1].clone().applyEuler(ae),pe=se[2].clone().applyEuler(ae),fe=new re().subVectors(he,te),$=new re().subVectors(pe,te),de=new re().subVectors(pe,he),Se=fe.length(),Ce=new re().crossVectors($,de).length()/Se,ve=Math.max(2,Math.round(Se/w)),Ie=Math.max(2,Math.round(Ce/w)),ze=Array(ve).fill(0).map(()=>Array(Ie).fill(0));fe.normalize(),$.normalize(),de.normalize();const ye=new re().crossVectors($,de).normalize(),oe=fe.multiplyScalar(.5*Se/ve),ge=new re().crossVectors(ye,fe).normalize().multiplyScalar(.5*Ce/Ie);let Ae=0;const me=new re,Pe=new re(_.cx+te.x,_.cy+te.y,_.lz+te.z+f0);if(Pe.add(oe).add(ge),oe.multiplyScalar(2),ge.multiplyScalar(2),ne%2===0)for(let De=0;De<24;De++)for(let Ne=0;Ne0){Ae++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(me.copy(Pe).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,me,Le)||(ze[Fe][rt]+=Ee*$e))}}}else for(let De=0;De<24;De++)for(let Ne=0;Ne0){Ae++;const $e=Rr(Le,q,p,vr.SPHERE_MODEL),We=tr(e.ground,ie,ye,$e),Ee=ye.dot(Le);for(let Fe=0;Fe0&&(me.copy(Pe).add(Ge).add(ge.clone().multiplyScalar(rt)),P(le,me,Le)||(ze[Fe][rt]+=Ee*$e))}}}const Me=Ae*g/60,Te=Me>Dt?d.sunshineHours[ie]/(30*Me*e.timesPerHour):0;F(ze,Te),r(le,ze)}}},E=(B,_,Y)=>{const O=f.getFullYear(),J=f.getMonth(),Z=f.getDate(),ie=xe.dayOfYear(f),ee=new Qt(0,0,_.rotation[2],"ZYX"),q=Y[0][0].z;let ae=Number.MAX_VALUE,ne=Number.MAX_VALUE,se=-Number.MAX_VALUE,le=-Number.MAX_VALUE;for(const ze of Y)for(const ye of ze){const oe=ye.clone().applyEuler(ee);oe.x>se&&(se=oe.x),oe.xle&&(le=oe.y),oe.yArray(he).fill(0)),de=new re(ae+w/2,ne+w/2,_.lz+q+f0);let Se=0;const Ce=new re(0,0,de.z);for(let ze=0;ze<24;ze++)for(let ye=0;ye0){Se++;const Ae=Rr(ge,ie,p,vr.SPHERE_MODEL),me=tr(e.ground,J,Po,Ae),Pe=Po.dot(ge);for(let Me=0;Me0&&(Ce.y=de.y+Te*fe,P(B.id,Ce,ge)||($[Me][Te]+=Pe*Ae))}}}const ve=Se*g/60,Ie=ve>Dt?d.sunshineHours[J]/(30*ve*e.timesPerHour):0;F($,Ie),r(B.id,$)},U=B=>{if(B.roofType!==Vo.Gable)throw new Error("roof is not gable");const _=i(B);if(!_)throw new Error("foundation of wall not found");const Y=s(B.id);if(!Y||Y.length===0)return;const O=f.getFullYear(),J=f.getMonth(),Z=f.getDate(),ie=xe.dayOfYear(f),ee=new Qt(0,0,_.rotation[2],"ZYX");for(const[q,ae]of Y.entries()){const ne=B.id+"-"+q,se=ae[0].clone().applyEuler(ee),le=ae[1].clone().applyEuler(ee),te=ae[2].clone().applyEuler(ee),he=new re().subVectors(le,se),pe=new re().subVectors(te,se),fe=new re().subVectors(te,le),$=he.length(),de=new re().crossVectors(pe,fe).length()/$,Se=Math.max(2,Math.round($/w)),Ce=Math.max(2,Math.round(de/w)),ve=Array(Se).fill(0).map(()=>Array(Ce).fill(0));he.normalize(),pe.normalize(),fe.normalize();const Ie=new re().crossVectors(pe,fe).normalize(),ze=he.multiplyScalar(.5*$/Se),ye=new re().crossVectors(Ie,he).normalize().multiplyScalar(.5*de/Ce),oe=new re(_.cx+se.x,_.cy+se.y,_.lz+se.z+f0);oe.add(ze).add(ye),ze.multiplyScalar(2),ye.multiplyScalar(2);let ge=0;const Ae=new re;for(let Me=0;Me<24;Me++)for(let Te=0;Te0){ge++;const Ye=Rr(Ne,ie,p,vr.SPHERE_MODEL),Le=tr(e.ground,J,Ie,Ye),$e=Ie.dot(Ne);for(let We=0;We0&&(Ae.copy(oe).add(Ee).add(ye.clone().multiplyScalar(Fe)),P(ne,Ae,Ne)||(ve[We][Fe]+=$e*Ye))}}}const me=ge*g/60,Pe=me>Dt?d.sunshineHours[J]/(30*me*e.timesPerHour):0;F(ve,Pe),r(ne,ve)}},F=(B,_)=>{for(let Y=0;Y{const e=M(dn),n=ht(Ah),o=M.getState().world,i=M.getState().elements,r=M(rr),a=M(cA),l=Sn(q1e),s=Sn(UBe),c=ht(ZL),u=ht(lwt),d=M(j1e),f=Sn(Q1e),{scene:p}=Xi(),g=Kt(),A=l1(t),w=new Date(o.date),b=t?A==null?void 0:A.elevation:0,C=60/o.timesPerHour,P=m.useMemo(()=>new Gs,[]),v=o.solarRadiationHeatmapGridCellSize??.5,T=m.useRef([]),y=m.useRef([]),S=m.useRef(0),x=m.useRef(!1),R=m.useRef(new Date(o.date)),H=m.useRef(new Map),D=m.useRef(!1),k=m.useRef(new Date(o.date)),W=m.useMemo(()=>sl(w,o.latitude),[o.date,o.latitude]);m.useEffect(()=>{if(c)return N(),S.current=requestAnimationFrame(U),()=>{cancelAnimationFrame(S.current),x.current||(hn(j.t("message.SimulationAborted",g)),e($=>{$.world.date=R.current.toLocaleString("en-US")}),n("simulationInProgress",!1))}},[c]),m.useEffect(()=>{D.current=u,u?(k.current=new Date(w.getTime()),cancelAnimationFrame(S.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",g))):(n("simulationPaused",!1),U())},[u]);const N=()=>{n("simulationInProgress",!0),w.setHours(Math.floor(W.sunrise/60),W.sunrise%60),R.current=new Date(o.date),x.current=!1,B();for(const $ of i)switch($.type){case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{H.current.delete($.id);break}case z.Cuboid:{H.current.delete($.id+"-top"),H.current.delete($.id+"-north"),H.current.delete($.id+"-south"),H.current.delete($.id+"-west"),H.current.delete($.id+"-east");break}case z.Roof:{const de=$,Se=f(de.id);if(Se){const Ce=Se.length;for(let ve=0;ve{s();const $=W.daylight()/60,de=$>Dt?A.sunshineHours[w.getMonth()]/(30*$*o.timesPerHour):0;for(const Se of i){switch(Se.type){case z.Foundation:case z.Wall:case z.Door:case z.SolarPanel:case z.ParabolicTrough:case z.ParabolicDish:case z.FresnelReflector:case z.Heliostat:{const Ce=H.current.get(Se.id);if(Ce){for(let ve=0;ve[...ve]))}break}case z.Cuboid:{E(Se.id,"top",de),E(Se.id,"south",de),E(Se.id,"north",de),E(Se.id,"west",de),E(Se.id,"east",de);break}case z.Roof:{const Ce=Se,ve=f(Ce.id);if(ve&&ve.length>0){if(Ce.roofType===Vo.Pyramid||Ce.roofType===Vo.Mansard||Ce.roofType===Vo.Gambrel||Ce.roofType===Vo.Hip){let Ie=!0;const ze=ve[0][0].z;for(const ye of ve)for(const oe of ye)if(Math.abs(oe.z-ze)>.01){Ie=!1;break}if(Ie){const ye=H.current.get(Ce.id);if(ye){for(let oe=0;oe[...oe]))}break}}for(let Ie=0;Ie[...oe]))}}}break}}if(Se.type===z.Foundation){const Ce=Se;if(Ce.solarStructure===zn.UpdraftTower&&Ce.solarUpdraftTower){const ve=Se.id+"-sut",Ie=H.current.get(ve);if(Ie){for(let ze=0;ze[...ze]))}}}}},E=($,de,Se)=>{const Ce=H.current.get($+"-"+de);if(Ce){for(let ve=0;ve{if(c&&!D.current){if(w.getMinutes()+w.getHours()*60>=W.sunset){cancelAnimationFrame(S.current),ht.getState().set(de=>{de.runDynamicSimulation=!1}),e(de=>{de.world.date=R.current.toLocaleString("en-US")}),hn(j.t("message.SimulationCompleted",g)),x.current=!0,L(),setTimeout(()=>{n("simulationInProgress",!1),n("showSolarRadiationHeatmap",!0)},10);return}if(w.setHours(w.getHours(),w.getMinutes()+C),e(de=>{de.world.date=w.toLocaleString("en-US")}),d)for(const de of i)switch(de.type){case z.FresnelReflector:he(de);break;case z.Heliostat:pe(de);break}else for(const de of i)switch(de.type){case z.Foundation:{const Se=de;Y(Se),Se.solarStructure===zn.UpdraftTower&&fe(Se);break}case z.Cuboid:{_(de);break}case z.SolarPanel:{se(de);break}case z.ParabolicTrough:{le(de);break}case z.ParabolicDish:{te(de);break}case z.FresnelReflector:{he(de);break}case z.Heliostat:{pe(de);break}case z.Wall:{O(de);break}case z.Door:{J(de);break}case z.Roof:{const Se=de;switch(Se.roofType){case Vo.Pyramid:ie(Se);break;case Vo.Gable:ne(Se);break;case Vo.Gambrel:q(Se);break;case Vo.Mansard:ee(Se);break;case Vo.Hip:ae(Se);break}break}}S.current=requestAnimationFrame(U)}},F=($,de,Se)=>{if(T.current.length>1){y.current.length=0,P.set(de,Se);const Ce=T.current.filter(ve=>ve.uuid!==$);return P.intersectObjects(Ce,!1,y.current),y.current.length>0}return!1},B=()=>{const $=p.children.filter(de=>de.name==="Content");if($.length>0){const de=$[0].children;T.current.length=0;for(const Se of de)xe.fetchSimulationElements(Se,T.current)}},_=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=xe.dayOfYear(w),Ce=$.lx,ve=$.ly,Ie=$.lz,ze=Math.max(2,Math.round(Ce/v)),ye=Math.max(2,Math.round(ve/v)),oe=Math.max(2,Math.round(Ie/v)),ge=Ce/ze,Ae=ve/ye,me=Ie/oe;let Pe=H.current.get($.id+"-top");(!Pe||Pe.length!==ze||Pe[0].length!==ye)&&(Pe=Array(ze).fill(0).map(()=>Array(ye).fill(0)),H.current.set($.id+"-top",Pe));let Me=H.current.get($.id+"-south");(!Me||Me.length!==ze||Me[0].length!==oe)&&(Me=Array(ze).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-south",Me));let Te=H.current.get($.id+"-north");(!Te||Te.length!==ze||Te[0].length!==oe)&&(Te=Array(ze).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-north",Te));let De=H.current.get($.id+"-west");(!De||De.length!==ye||De[0].length!==oe)&&(De=Array(ye).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-west",De));let Ne=H.current.get($.id+"-east");(!Ne||Ne.length!==ye||Ne[0].length!==oe)&&(Ne=Array(ye).fill(0).map(()=>Array(oe).fill(0)),H.current.set($.id+"-east",Ne));const Ye=Po,Le=Bp.clone().applyAxisAngle(Po,$.rotation[2]),$e=Yc.clone().applyAxisAngle(Po,$.rotation[2]),We=Up.clone().applyAxisAngle(Po,$.rotation[2]),Ee=Np.clone().applyAxisAngle(Po,$.rotation[2]),Fe=r($);let Ge=$.cx,rt=$.cy,_e=$.cz;if(Fe&&Fe.type===z.Cuboid){const Wt=xe.getWorldDataById($.id);Ge=Wt.pos.x,rt=Wt.pos.y,_e=Wt.pos.z}const xt=new re,dt=new Gt(Ge,rt),Qe=new Gt,ct=rt-ve/2,ft=rt+ve/2,at=Ge-Ce/2,ot=Ge+Ce/2,et=Rr(de,Se,b,vr.SPHERE_MODEL);let Oe=tr(o.ground,w.getMonth(),Ye,et),nt=Ye.dot(de),mt=Ge-Ce/2,Tt=rt-ve/2;const Rt=_e+Ie/2;for(let Wt=0;Wt0&&(Qe.set(mt+(Wt+.5)*ge,Tt+(Ct+.5)*Ae),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Rt),F($.id,xt,de)||(Pe[Wt][Ct]+=nt*et));mt=Ge-Ce/2,Tt=_e-Ie/2,Oe=tr(o.ground,w.getMonth(),Le,et),nt=Le.dot(de);for(let Wt=0;Wt0&&(Qe.set(mt+(Wt+.5)*ge,ct),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(Ct+.5)*me),F($.id,xt,de)||(Me[Wt][Ct]+=nt*et));Oe=tr(o.ground,w.getMonth(),$e,et),nt=$e.dot(de);for(let Wt=0;Wt0&&(Qe.set(mt+(Wt+.5)*ge,ft),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(oe-(Ct+.5))*me),F($.id,xt,de)||(Te[Wt][Ct]+=nt*et));mt=rt-ve/2,Tt=_e-Ie/2,Oe=tr(o.ground,w.getMonth(),We,et),nt=We.dot(de);for(let Wt=0;Wt0&&(Qe.set(at,mt+(Wt+.5)*Ae),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(Ct+.5)*me),F($.id,xt,de)||(De[Wt][Ct]+=nt*et));Oe=tr(o.ground,w.getMonth(),Ee,et),nt=Ee.dot(de);for(let Wt=0;Wt0&&(Qe.set(ot,mt+(Wt+.5)*Ae),Qe.rotateAround(dt,$.rotation[2]),xt.set(Qe.x,Qe.y,Tt+(Ct+.5)*me),F($.id,xt,de)||(Ne[Wt][Ct]+=nt*et))},Y=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=xe.dayOfYear(w),Ce=$.lx,ve=$.ly,Ie=$.lz,ze=Math.max(2,Math.round(Ce/v)),ye=Math.max(2,Math.round(ve/v)),oe=Ce/ze,ge=ve/ye,Ae=$.cx-Ce/2,me=$.cy-ve/2,Pe=new Gt($.cx,$.cy),Me=new re;let Te=H.current.get($.id);(!Te||Te.length!==ze||Te[0].length!==ye)&&(Te=Array(ze).fill(0).map(()=>Array(ye).fill(0)),H.current.set($.id,Te));const De=Rr(de,Se,b,vr.SPHERE_MODEL),Ne=tr(o.ground,w.getMonth(),Po,De),Ye=Po.dot(de),Le=new Gt;for(let $e=0;$e0&&(Le.set(Ae+($e+.5)*oe,me+(We+.5)*ge),Le.rotateAround(Pe,$.rotation[2]),Me.set(Le.x,Le.y,Ie),F($.id,Me,de)||(Te[$e][We]+=Ye*De))},O=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=xe.dayOfYear(w),ve=$.lx,Ie=xe.getHighestPointOfWall($),ze=Math.max(2,Math.round(ve/v)),ye=Math.max(2,Math.round(Ie/v)),oe=ve/ze,ge=Ie/ye,Ae=Se.rotation[2]+$.relativeAngle,me=xe.wallAbsolutePosition(new re($.cx,$.cy,$.cz),Se).setZ(Ie/2+Se.lz),Pe=new re(Math.cos(Ae-Vt),Math.sin(Ae-Vt),0),Me=oe*Math.cos(Ae),Te=oe*Math.sin(Ae),De=new re;let Ne=H.current.get($.id);(!Ne||Ne.length!==ze||Ne[0].length!==ye)&&(Ne=Array(ze).fill(0).map(()=>Array(ye).fill(0)),H.current.set($.id,Ne));const Ye=xe.getWallVertices($,1),Le=(Ie-$.lz)/2,$e=Rr(de,Ce,b,vr.SPHERE_MODEL),We=tr(o.ground,w.getMonth(),Pe,$e),Ee=Pe.dot(de);for(let Fe=0;Fe0&&(De.set(me.x+rt*Me,me.y+rt*Te,me.z+_e*ge),F($.id,De,de)||(Ne[Fe][Ge]+=Ee*$e)))}},J=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of door not found");const Ce=r($);if(!Ce)throw new Error("parent of door not found");const ve=xe.dayOfYear(w),Ie=Ce,ze=$.lx*Ie.lx,ye=$.lz*Ie.lz,oe=Math.max(2,Math.round(ze/v)),ge=Math.max(2,Math.round(ye/v)),Ae=ze/oe,me=ye/ge,Pe=Se.rotation[2]+Ie.relativeAngle,Te=xe.wallAbsolutePosition(new re(Ie.cx,Ie.cy,Ie.cz),Se).setZ(Ie.lz/2+Se.lz).clone().add(new re($.cx*Ie.lx,0,$.cz*Ie.lz)),De=new re(Math.cos(Pe-Vt),Math.sin(Pe-Vt),0),Ne=Ae*Math.cos(Pe),Ye=Ae*Math.sin(Pe),Le=new re;let $e=H.current.get($.id);(!$e||$e.length!==oe||$e[0].length!==ge)&&($e=Array(oe).fill(0).map(()=>Array(ge).fill(0)),H.current.set($.id,$e));const We=Rr(de,ve,b,vr.SPHERE_MODEL),Ee=tr(o.ground,w.getMonth(),De,We),Fe=De.dot(de);if($.doorType===Sd.Arched)for(let Ge=0;Ge0&&(F($.id,Le,de)||($e[Ge][rt]+=Fe*We)))}else for(let Ge=0;Ge0){const _e=Ge-oe/2+.5,xt=rt-ge/2+.5;Le.set(Te.x+_e*Ne,Te.y+_e*Ye,Te.z+xt*me),F($.id,Le,de)||($e[Ge][rt]+=Fe*We)}},Z=($,de,Se,Ce)=>{const ve=Ce[0][0].z,Ie=xe.dayOfYear(w),ze=Rr($,Ie,b,vr.SPHERE_MODEL),ye=new Qt(0,0,Se.rotation[2],"ZYX");let oe=Number.MAX_VALUE,ge=Number.MAX_VALUE,Ae=-Number.MAX_VALUE,me=-Number.MAX_VALUE;for(const Ee of Ce)for(const Fe of Ee){const Ge=Fe.clone().applyEuler(ye);Ge.x>Ae&&(Ae=Ge.x),Ge.xme&&(me=Ge.y),Ge.yArray(Me).fill(0)),H.current.set(de.id,Ne));const Ye=new re(oe+v/2,ge+v/2,Se.lz+ve+f0),Le=new re(0,0,Ye.z),$e=tr(o.ground,w.getMonth(),Po,ze),We=Po.dot($);for(let Ee=0;Ee0&&(Le.y=Ye.y+Fe*De,F(de.id,Le,$)||(Ne[Ee][Fe]+=We*ze))}},ie=$=>{if($.roofType!==Vo.Pyramid)throw new Error("roof is not pyramid");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge,Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ne=new re().subVectors(Te,Pe),Ye=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ne,Ye).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ne.normalize(),Ye.normalize();const Ge=new re().crossVectors(Ne,Ye).normalize(),rt=De.multiplyScalar(.5*Le/We),_e=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);xt.add(rt).add(_e),rt.multiplyScalar(2),_e.multiplyScalar(2);const dt=new re,Qe=tr(o.ground,w.getMonth(),Ge,oe),ct=Ge.dot(de);for(let ft=0;ft0&&(dt.copy(xt).add(at).add(_e.clone().multiplyScalar(ot)),F(me,dt,de)||(Fe[ft][ot]+=ct*oe))}}}},ee=$=>{if($.roofType!==Vo.Mansard)throw new Error("roof is not mansard");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge;if(ge===Ce.length-1){let Pe=Number.MAX_VALUE,Me=Number.MAX_VALUE,Te=-Number.MAX_VALUE,De=-Number.MAX_VALUE;for(const xt of Ae){const dt=xt.clone().applyEuler(ye);dt.x>Te&&(Te=dt.x),dt.xDe&&(De=dt.y),dt.yArray(Le).fill(0)),H.current.set(me,Ee));const Fe=new re(Pe+v/2,Me+v/2,Se.lz+Ne+f0),Ge=new re(0,0,Fe.z),rt=tr(o.ground,w.getMonth(),Po,oe),_e=Po.dot(de);for(let xt=0;xt0&&(Ge.y=Fe.y+dt*We,F(me,Ge,de)||(Ee[xt][dt]+=_e*oe))}}else{const Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ne=new re().subVectors(Te,Pe),Ye=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ne,Ye).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ne.normalize(),Ye.normalize();const Ge=new re().crossVectors(Ne,Ye).normalize(),rt=De.multiplyScalar(.5*Le/We),_e=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);xt.add(rt).add(_e),rt.multiplyScalar(2),_e.multiplyScalar(2);const dt=new re,Qe=tr(o.ground,w.getMonth(),Ge,oe),ct=Ge.dot(de);for(let ft=0;ft0&&(dt.copy(xt).add(at).add(_e.clone().multiplyScalar(ot)),F(me,dt,de)||(Fe[ft][ot]+=ct*oe))}}}}},q=$=>{if($.roofType!==Vo.Gambrel)throw new Error("roof is not gambrel");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge,Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ne=new re().subVectors(Te,Pe),Ye=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ne,Ye).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ne.normalize(),Ye.normalize();const Ge=new re().crossVectors(Ne,Ye).normalize(),rt=De.multiplyScalar(.5*Le/We),_e=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);xt.add(rt).add(_e),rt.multiplyScalar(2),_e.multiplyScalar(2);const dt=new re,Qe=tr(o.ground,w.getMonth(),Ge,oe),ct=Ge.dot(de);for(let ft=0;ft0&&(dt.copy(xt).add(at).add(_e.clone().multiplyScalar(ot)),F(me,dt,de)||(Fe[ft][ot]+=ct*oe))}}}},ae=$=>{if($.roofType!==Vo.Hip)throw new Error("roof is not hip");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;let ve=!0;const Ie=Ce[0][0].z;for(const ze of Ce)for(const ye of ze)if(Math.abs(ye.z-Ie)>.01){ve=!1;break}if(ve)Z(de,$,Se,Ce);else{const ze=xe.dayOfYear(w),ye=new Qt(0,0,Se.rotation[2],"ZYX"),oe=Rr(de,ze,b,vr.SPHERE_MODEL);for(const[ge,Ae]of Ce.entries()){const me=$.id+"-"+ge,Pe=Ae[0].clone().applyEuler(ye),Me=Ae[1].clone().applyEuler(ye),Te=Ae[2].clone().applyEuler(ye),De=new re().subVectors(Me,Pe),Ne=new re().subVectors(Te,Pe),Ye=new re().subVectors(Te,Me),Le=De.length(),$e=new re().crossVectors(Ne,Ye).length()/Le,We=Math.max(2,Math.round(Le/v)),Ee=Math.max(2,Math.round($e/v));let Fe=H.current.get(me);(!Fe||Fe.length!==We||Fe[0].length!==Ee)&&(Fe=Array(We).fill(0).map(()=>Array(Ee).fill(0)),H.current.set(me,Fe)),De.normalize(),Ne.normalize(),Ye.normalize();const Ge=new re().crossVectors(Ne,Ye).normalize(),rt=De.multiplyScalar(.5*Le/We),_e=new re().crossVectors(Ge,De).normalize().multiplyScalar(.5*$e/Ee),xt=new re,dt=new re(Se.cx+Pe.x,Se.cy+Pe.y,Se.lz+Pe.z+f0);dt.add(rt).add(_e),rt.multiplyScalar(2),_e.multiplyScalar(2);const Qe=tr(o.ground,w.getMonth(),Ge,oe),ct=Ge.dot(de);for(let ft=0;ft0&&(xt.copy(dt).add(at).add(_e.clone().multiplyScalar(ot)),F(me,xt,de)||(Fe[ft][ot]+=ct*oe))}}}},ne=$=>{if($.roofType!==Vo.Gable)throw new Error("roof is not gable");const de=zr(w,o.latitude);if(de.z<=0)return;const Se=a($);if(!Se)throw new Error("foundation of wall not found");const Ce=f($.id);if(!Ce||Ce.length===0)return;const ve=xe.dayOfYear(w),Ie=new Qt(0,0,Se.rotation[2],"ZYX"),ze=Rr(de,ve,b,vr.SPHERE_MODEL);for(const[ye,oe]of Ce.entries()){const ge=$.id+"-"+ye,Ae=oe[0].clone().applyEuler(Ie),me=oe[1].clone().applyEuler(Ie),Pe=oe[2].clone().applyEuler(Ie),Me=new re().subVectors(me,Ae),Te=new re().subVectors(Pe,Ae),De=new re().subVectors(Pe,me),Ne=Me.length(),Ye=new re().crossVectors(Te,De).length()/Ne,Le=Math.max(2,Math.round(Ne/v)),$e=Math.max(2,Math.round(Ye/v));let We=H.current.get(ge);(!We||We.length!==Le||We[0].length!==$e)&&(We=Array(Le).fill(0).map(()=>Array($e).fill(0)),H.current.set(ge,We)),Me.normalize(),Te.normalize(),De.normalize();const Ee=new re().crossVectors(Te,De).normalize(),Fe=Me.multiplyScalar(.5*Ne/Le),Ge=new re().crossVectors(Ee,Me).normalize().multiplyScalar(.5*Ye/$e),rt=new re(Se.cx+Ae.x,Se.cy+Ae.y,Se.lz+Ae.z+f0);rt.add(Fe).add(Ge),Fe.multiplyScalar(2),Ge.multiplyScalar(2);const _e=new re,xt=tr(o.ground,w.getMonth(),Ee,ze),dt=Ee.dot(de);for(let Qe=0;Qe0&&(_e.copy(rt).add(ct).add(Ge.clone().multiplyScalar(ft)),F(ge,_e,de)||(We[Qe][ft]+=dt*ze))}}},se=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;let Se=r($);if(!Se)throw new Error("parent of solar panel does not exist");const Ce=$.parentType===z.Roof,ve=$.parentType===z.Wall;if(Ce&&(Se=a(Se),!Se))throw new Error("foundation of solar panel does not exist");const Ie=xe.dayOfYear(w),ze=ve?xe.absoluteCoordinates($.cx,$.cy,$.cz,Se,a($),$.lz):xe.absoluteCoordinates($.cx,$.cy,$.cz,Se),ye=Se.rotation[2];let oe=ye+$.relativeAzimuth,ge=$.tiltAngle,Ae=!0;if(Ce&&(ze.z=$.cz+$.lz+.02+Se.cz+Se.lz/2,xe.isZero($.rotation[0])?ze.z+=$.poleHeight:(ge=$.rotation[0],oe=ye,Ae=!1)),ve&&!xe.isZero($.tiltAngle)){const ft=Se,at=a(Se),et=(at?at.rotation[2]+ft.relativeAngle:ft.relativeAngle)-Vt,Oe=$.ly*Math.abs(Math.sin($.tiltAngle))/2;ze.x+=Oe*Math.cos(et),ze.y+=Oe*Math.sin(et)}const me=new re().fromArray($.normal),Pe=$.lx,Me=$.ly,Te=Math.max(2,Math.round($.lx/v)),De=Math.max(2,Math.round($.ly/v)),Ne=Pe/Te,Ye=Me/De,Le=ze.x-(Pe-v)/2,$e=ze.y-(Me-v)/2,We=Ce||ve?ze.z:Se.lz+$.poleHeight+$.lz,Ee=new Gt(ze.x,ze.y),Fe=new re;let Ge=H.current.get($.id);(!Ge||Ge.length!==Te||Ge[0].length!==De)&&(Ge=Array(Te).fill(0).map(()=>Array(De).fill(0)),H.current.set($.id,Ge));let rt=new Qt(Ce&&!Ae?0:ge,0,oe,"ZYX");if($.trackerType!==Ma.NO_TRACKER){const ft=ye?de.clone().applyAxisAngle(Po,-ye):de.clone();switch($.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const at=new Ts().setFromUnitVectors(Po,ft);rt=new Qt().setFromQuaternion(at),rt.z+=oe;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const at=new Ts().setFromUnitVectors(Po,new re(ft.x,0,ft.z).normalize());rt=new Qt().setFromQuaternion(at),rt.z+=oe;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{if(Math.abs($.tiltAngle)>.001){const at=new re(ft.x,-ft.y,0).normalize(),ot=Math.acos(Yc.dot(at))*Math.sign(at.x);rt=new Qt($.tiltAngle,0,ot+ye,"ZYX")}break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}me.applyEuler(rt),Ce&&!Ae&&(rt.x=$.rotation[0],rt.z=$.rotation[2]+ye),ve&&(rt.x=Vt+$.tiltAngle,rt.z=Se.relativeAngle+ye);const _e=Rr(de,Ie,b,vr.SPHERE_MODEL),xt=tr(o.ground,w.getMonth(),me,_e),dt=me.dot(de),Qe=new Gt,ct=new re;for(let ft=0;ft0&&(Qe.set(Le+ft*Ne,$e+at*Ye),ct.set(Qe.x-Ee.x,Qe.y-Ee.y,0),ct.applyEuler(rt),Fe.set(ze.x+ct.x,ze.y+ct.y,We+ct.z),F($.id,Fe,de)||(Ge[ft][at]+=dt*_e))},le=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=r($);if(!Se)throw new Error("parent of parabolic trough does not exist");const Ce=xe.dayOfYear(w),ve=xe.absoluteCoordinates($.cx,$.cy,$.cz,Se),Ie=new re().fromArray($.normal),ze=Ie.clone(),ye=$.lx,oe=$.ly,ge=ye*ye/(4*$.latusRectum),Ae=$.poleHeight+ye/2,me=Math.max(2,Math.round($.lx/v)),Pe=Math.max(2,Math.round($.ly/v)),Me=ye/me,Te=oe/Pe,De=ve.x-(ye-v)/2,Ne=ve.y-(oe-v)/2,Ye=Se.lz+Ae+$.lz+ge,Le=new Gt(ve.x,ve.y),$e=new re;let We=H.current.get($.id);(!We||We.length!==me||We[0].length!==Pe)&&(We=Array(me).fill(0).map(()=>Array(Pe).fill(0)),H.current.set($.id,We));const Ee=Se.rotation[2],Fe=Ee+$.relativeAzimuth,Ge=xe.isZero(Fe),rt=Ge?1:Math.cos(Fe),_e=Ge?0:Math.sin(Fe),xt=Ee?de.clone().applyAxisAngle(Po,-Ee):de.clone(),dt=new Ts().setFromUnitVectors(Po,new re(xt.x*rt,xt.x*_e,xt.z).normalize()),Qe=new Qt().setFromQuaternion(dt);Ie.copy(ze.clone().applyEuler(Qe));const ct=Rr(de,Ce,b,vr.SPHERE_MODEL),ft=tr(o.ground,w.getMonth(),Ie,ct),at=Ie.dot(de),ot=new Gt,et=new re;let Oe=0,nt=0,mt=1;const Tt=4/($.latusRectum*$.latusRectum);for(let Rt=0;Rt0&&(ot.set(Oe,Ne+Wt*Te),Ge||ot.rotateAround(Le,Fe),et.set(ot.x-Le.x,ot.y-Le.y,0),et.applyEuler(Qe),$e.set(ve.x+et.x,ve.y+et.y,Ye+et.z),F($.id,$e,de)||(We[Rt][Wt]+=at*ct*mt))}},te=$=>{const de=zr(w,o.latitude);if(de.z<=0)return;const Se=r($);if(!Se)throw new Error("parent of parabolic dish does not exist");const Ce=xe.dayOfYear(w),ve=xe.absoluteCoordinates($.cx,$.cy,$.cz,Se),Ie=new re().fromArray($.normal),ze=Ie.clone(),ye=$.lx,oe=$.ly,ge=ye*ye/(4*$.latusRectum),Ae=$.poleHeight+ye/2,me=Math.max(2,Math.round($.lx/v)),Pe=Math.max(2,Math.round($.ly/v)),Me=ye/me,Te=oe/Pe,De=ve.x-(ye-v)/2,Ne=ve.y-(oe-v)/2,Ye=Se.lz+Ae+$.lz+ge,Le=new Gt(ve.x,ve.y),$e=new re;let We=H.current.get($.id);(!We||We.length!==me||We[0].length!==Pe)&&(We=Array(me).fill(0).map(()=>Array(Pe).fill(0)),H.current.set($.id,We));const Ee=Se.rotation[2],Fe=Ee+$.relativeAzimuth,Ge=xe.isZero(Fe),rt=Ee?de.clone().applyAxisAngle(Po,-Ee):de.clone(),_e=new Ts().setFromUnitVectors(Po,rt),xt=new Qt().setFromQuaternion(_e);Ie.copy(ze.clone().applyEuler(xt));const dt=Rr(de,Ce,b,vr.SPHERE_MODEL),Qe=tr(o.ground,w.getMonth(),Ie,dt),ct=Ie.dot(de),ft=new Gt,at=new re;let ot=0,et=0,Oe=0,nt=0,mt=1;const Tt=4/($.latusRectum*$.latusRectum);for(let Rt=0;Rtye/2))for(let Wt=0;Wtoe/2)&&(We[Rt][Wt]+=Qe,ct>0&&(ft.set(ot,et),Ge||ft.rotateAround(Le,Fe),at.set(ft.x-Le.x,ft.y-Le.y,0),at.applyEuler(xt),$e.set(ve.x+at.x,ve.y+at.y,Ye+at.z),F($.id,$e,de)||(mt=1/Math.sqrt(1+(Oe*Oe+nt*nt)*Tt),We[Rt][Wt]+=ct*dt*mt)))},he=$=>{const de=zr(w,o.latitude);if(de.zArray(Me).fill(0)),H.current.set($.id,Ee));const Ge=Se.rotation[2]+$.relativeAzimuth,rt=xe.isZero(Ge),_e=rt?1:Math.cos(Ge),xt=rt?0:Math.sin(Ge),dt=Ce.solarStructure===zn.FocusPipe?new re((Ce.cx-ze.x)*_e,(Ce.cy-ze.y)*xt,Ce.cz-ze.z+Ce.lz/2+(ve.absorberHeight??10)):void 0,Qe=new re(xt,_e,0),ct=new re;let ft,at;if(dt){ct.set(dt.x,dt.y,dt.z);const Rt=-dt.z*(de.y*Qe.y+de.x*Qe.x)/de.z;ct.x+=Rt*Qe.x,ct.y-=Rt*Qe.y,at=ct.clone().normalize();let Wt=at.add(de).normalize();xe.isSame(Wt,Po)&&(Wt=new re(-.001,0,1).normalize()),rt||Wt.applyAxisAngle(Po,-Ge),ft=new Qt(0,Math.atan2(Wt.x,Wt.z),Ge,"ZXY"),ye.copy(oe.clone().applyEuler(ft))}else at=new re(0,0,1),ft=new Qt;const ot=Rr(de,Ie,b,vr.SPHERE_MODEL),et=tr(o.ground,w.getMonth(),ye,ot),Oe=ye.dot(de),nt=new Gt,mt=new re;let Tt=0;if(d)for(let Rt=0;Rt0&&(nt.set(Tt,Ye+Wt*De),mt.set(nt.x-$e.x,nt.y-$e.y,0),mt.applyEuler(ft),We.set(ze.x+mt.x,ze.y+mt.y,Le+mt.z),!F($.id,We,de)&&!F($.id,We,at)&&(Ee[Rt][Wt]+=Oe*ot))}else for(let Rt=0;Rt0&&(nt.set(Tt,Ye+Wt*De),mt.set(nt.x-$e.x,nt.y-$e.y,0),mt.applyEuler(ft),We.set(ze.x+mt.x,ze.y+mt.y,Le+mt.z),F($.id,We,de)||(Ee[Rt][Wt]+=Oe*ot))}},pe=$=>{const de=zr(w,o.latitude);if(de.zArray(Me).fill(0)),H.current.set($.id,Ee));const Fe=Se.rotation[2],Ge=Ce.solarStructure===zn.FocusTower?new re(Ce.cx-ze.x,Ce.cy-ze.y,Ce.cz-ze.z+(ve.towerHeight??20)):void 0;let rt,_e;if(Ge){rt=Ge.clone().normalize();let ot=rt.clone().add(de).normalize();xe.isSame(ot,Po)&&(ot=new re(-.001,0,1).normalize()),Fe&&ot.applyAxisAngle(Po,-Fe);const et=Math.hypot(ot.x,ot.y);_e=new Qt(Math.atan2(et,ot.z),0,Math.atan2(ot.y,ot.x)+Vt,"ZXY"),ye.copy(oe.clone().applyEuler(_e))}else rt=new re(0,0,1),_e=new Qt;const xt=Rr(de,Ie,b,vr.SPHERE_MODEL),dt=tr(o.ground,w.getMonth(),ye,xt),Qe=ye.dot(de),ct=new Gt,ft=new re;let at=0;if(d)for(let ot=0;ot0&&(ct.set(at,Ye+et*De),ft.set(ct.x-$e.x,ct.y-$e.y,0),ft.applyEuler(_e),We.set(ze.x+ft.x,ze.y+ft.y,Le+ft.z),!F($.id,We,de)&&!F($.id,We,rt)&&(Ee[ot][et]+=Qe*xt))}else for(let ot=0;ot0&&(ct.set(at,Ye+et*De),ft.set(ct.x-$e.x,ct.y-$e.y,0),ft.applyEuler(_e),We.set(ze.x+ft.x,ze.y+ft.y,Le+ft.z),F($.id,We,de)||(Ee[ot][et]+=Qe*xt))}},fe=$=>{const de=$.solarUpdraftTower;if(!de)return;const Se=zr(w,o.latitude);if(Se.z<=0)return;const Ce=xe.dayOfYear(w),ve=new re().fromArray($.normal),Ie=de.collectorRadius,ze=Math.max(2,Math.round(Ie*2/v)),ye=$.cx-Ie+v/2,oe=$.cy-Ie+v/2,ge=$.lz+de.collectorHeight,Ae=$.id+"-sut";let me=H.current.get(Ae);(!me||me.length!==ze||me[0].length!==ze)&&(me=Array(ze).fill(0).map(()=>Array(ze).fill(0)),H.current.set(Ae,me));const Pe=Rr(Se,Ce,b,vr.SPHERE_MODEL),Me=tr(o.ground,w.getMonth(),ve,Pe),Te=new re(0,0,ge),De=ve.dot(Se),Ne=Ie*Ie;let Ye,Le;for(let $e=0;$eNe)&&(me[$e][We]+=Me,De>0&&(F(Ae,Te,Se)||(me[$e][We]+=De*Pe)))}};return h.jsx(h.Fragment,{})}),ELo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(U7t),s=M(nW),c=Sn(j7t),u=M(oW),d=M(Vje),f=M(Gje),p=Sn(Y7t),g=ht(k7t),A=ht(F7t),w=ht(L7t),b=ht(W7t),C=M(IBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicTroughYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyParabolicTroughYield();ge.actionInfo={name:"Daily Simulation for Parabolic Troughs Completed",result:{totalYield:Ae},details:Sn.getState().dailyParabolicTroughYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.ParabolicTrough){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(d){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.ParabolicTrough){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ne,Ye)=>Ne+Ye,0)),me++,Ae.set("Trough"+me,De),Pe.push(Te.label??"Trough"+me);for(let Ne=0;Ne<24;Ne++)ge[Ne]+=De[Ne]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ne=1;Ne<=me;Ne++){const Ye="Trough"+Ne;De[Pe[Ne-1]]=(oe=Ae.get(Ye))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.ParabolicTrough){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicTrough&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicTroughYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicTroughYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForParabolicTroughs=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyParabolicTroughYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Troughs Completed",result:{totalYield:Ae},details:Sn.getState().yearlyParabolicTroughYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.ParabolicTrough){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.ParabolicTrough){const Me=Y.current.get(Pe.id);Me&&(u(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Trough"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}c(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.ParabolicTrough){const me=Y.current.get(Ae.id);me&&(u(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}c(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(Rt.set(_e+kt*Ee,xt+qe*Fe),Ne||Rt.rotateAround(Qe,De),Wt.set(Rt.x-Qe.x,Rt.y-Qe.y,0),Wt.applyEuler(nt),ct.set(Pe.x+Wt.x,Pe.y+Wt.y,dt+Wt.z),ve(oe.id,ct,ge)||(Ct+=Tt*mt));const wt=_.current.get(oe.id);if(wt){const kt=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();wt[kt]+=Ct/($e*We)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>oe.lx*oe.ly*oe.opticalEfficiency*oe.thermalEfficiency*oe.absorptance*oe.reflectance*(1-W[y.getMonth()]),ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.ParabolicTrough){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.ParabolicTrough){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),kLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(S8t),s=M(nW),c=Sn(P8t),u=M(oW),d=M(oYe),f=M(iYe),p=Sn(C8t),g=ht(A8t),A=ht(w8t),w=ht(v8t),b=ht(x8t),C=M(zBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="dailyParabolicDishYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyParabolicDishYield();ge.actionInfo={name:"Daily Simulation for Parabolic Dishes Completed",result:{totalYield:Ae},details:Sn.getState().dailyParabolicDishYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.ParabolicDish){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(d){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.ParabolicDish){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ne,Ye)=>Ne+Ye,0)),me++,Ae.set("Dish"+me,De),Pe.push(Te.label??"Dish"+me);for(let Ne=0;Ne<24;Ne++)ge[Ne]+=De[Ne]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ne=1;Ne<=me;Ne++){const Ye="Dish"+Ne;De[Pe[Ne-1]]=(oe=Ae.get(Ye))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.ParabolicDish){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.ParabolicDish&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyParabolicDishYieldPanel=!0,ge.selectedFloatingWindow="yearlyParabolicDishYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForParabolicDishes=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyParabolicDishYield();ge.actionInfo={name:"Yearly Simulation for Parabolic Dishes Completed",result:{totalYield:Ae},details:Sn.getState().yearlyParabolicDishYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.ParabolicDish){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.ParabolicDish){const Me=Y.current.get(Pe.id);Me&&(u(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Dish"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}c(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.ParabolicDish){const me=Y.current.get(Ae.id);me&&(u(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}c(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(mt.set(Ge+Ct*$e,rt+wt*We),ft||mt.rotateAround(xt,ct),Tt.set(mt.x-xt.x,mt.y-xt.y,0),Tt.applyEuler(et),dt.set(Pe.x+Tt.x,Pe.y+Tt.y,_e+Tt.z),ve(oe.id,dt,ge)||(Rt+=nt*Oe));const Wt=_.current.get(oe.id);if(Wt){const Ct=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();Wt[Ct]+=Rt/(Ye*Le)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>oe.lx*oe.ly*oe.opticalEfficiency*oe.thermalEfficiency*oe.absorptance*oe.reflectance*(1-W[y.getMonth()]),ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.ParabolicDish){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.ParabolicDish){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),FLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(J7t),s=M(nW),c=M(Jje),u=Sn(q7t),d=M(oW),f=M(Kje),p=Sn($7t),g=ht(O7t),A=ht(_7t),w=ht(V7t),b=ht(G7t),C=M(DBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="dailyFresnelReflectorYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyFresnelReflectorYield();ge.actionInfo={name:"Daily Simulation for Fresnel Reflectors Completed",result:{totalYield:Ae},details:Sn.getState().dailyFresnelReflectorYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.FresnelReflector){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(c){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.FresnelReflector){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ne,Ye)=>Ne+Ye,0)),me++,Ae.set("Reflector"+me,De),Pe.push(Te.label??"Reflector"+me);for(let Ne=0;Ne<24;Ne++)ge[Ne]+=De[Ne]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ne=1;Ne<=me;Ne++){const Ye="Reflector"+Ne;De[Pe[Ne-1]]=(oe=Ae.get(Ye))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.FresnelReflector){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.FresnelReflector&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyFresnelReflectorYieldPanel=!0,ge.selectedFloatingWindow="yearlyFresnelReflectorYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForFresnelReflectors=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyFresnelReflectorYield();ge.actionInfo={name:"Yearly Simulation for Fresnel Reflectors Completed",result:{totalYield:Ae},details:Sn.getState().yearlyFresnelReflectorYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.FresnelReflector){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.FresnelReflector){const Me=Y.current.get(Pe.id);Me&&(d(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Reflector"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}u(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.FresnelReflector){const me=Y.current.get(Ae.id);me&&(d(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}u(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(wt.set(Je,_e+Ue*Ge),kt.set(wt.x-dt.x,wt.y-dt.y,0),kt.applyEuler(Tt),Qe.set(Te.x+kt.x,Te.y+kt.y,xt+kt.z),!ve(oe.id,Qe,ge)&&!ve(oe.id,Qe,Rt)&&(qe+=Ct*Wt))}const st=_.current.get(oe.id);if(st){const Pt=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();st[Pt]+=qe/(We*Ee)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>{const ge=a(oe);if(!ge)throw new Error("parent of Fresnel reflector does not exist");let Ae=1;if(ge.type===z.Foundation){const Pe=ge.solarAbsorberPipe;Ae*=((Pe==null?void 0:Pe.absorberOpticalEfficiency)??.7)*((Pe==null?void 0:Pe.absorberThermalEfficiency)??.3)*((Pe==null?void 0:Pe.absorberAbsorptance)??.95)}return oe.lx*oe.ly*oe.reflectance*Ae*(1-W[y.getMonth()])},ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.FresnelReflector){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.FresnelReflector){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),LLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=Sn(o8t),s=M(nW),c=M($je),u=Sn(r8t),d=M(oW),f=M(Qje),p=Sn(a8t),g=ht(Q7t),A=ht(Z7t),w=ht(e8t),b=ht(t8t),C=M(EBe),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=t?T==null?void 0:T.elevation:0,x=i.cspTimesPerHour??4,R=60/x,H=i.cspDaysPerYear??6,D=12/H,k=m.useMemo(()=>new Gs,[]),W=i.monthlyIrradianceLosses??new Array(12).fill(.05),N=i.cspGridCellSize??.5,L=m.useRef([]),E=m.useRef([]),U=m.useRef(0),F=m.useRef(!1),B=m.useRef(new Date(i.date)),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),ee=m.useRef(ie),q=xe.daysInYear(y)/12;m.useEffect(()=>{if(g)return ae(),U.current=requestAnimationFrame(ne),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[g]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),ne())},[w]);const ae=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),y.setHours(Math.floor(ie.sunrise/60),R/2-30)),F.current=!1,Ie(),ze()},ne=()=>{if(g&&!J.current){if(y.getMinutes()+y.getHours()*60>=ie.sunset){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showDailyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="dailyHeliostatYieldPanel"}),ht.getState().set(ge=>{ge.runDailySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,se(),o&&e(ge=>{const Ae=Sn.getState().sumDailyHeliostatYield();ge.actionInfo={name:"Daily Simulation for Heliostats Completed",result:{totalYield:Ae},details:Sn.getState().dailyHeliostatYield,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+R),e(ge=>{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&$(ge);U.current=requestAnimationFrame(ne)}},se=()=>{const oe=de();for(const ge of r)if(ge.type===z.Heliostat){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Ce(Ae)*oe;for(let Me=0;Me{var oe;if(c){const ge=new Array(24).fill(0),Ae=new Map;let me=0;const Pe=[];for(const Te of r)if(Te.type===z.Heliostat){const De=_.current.get(Te.id);if(De){s(Te.id,De.reduce((Ne,Ye)=>Ne+Ye,0)),me++,Ae.set("Heliostat"+me,De),Pe.push(Te.label??"Heliostat"+me);for(let Ne=0;Ne<24;Ne++)ge[Ne]+=De[Ne]}}const Me=[];for(let Te=0;Te<24;Te++){const De={};De.Hour=Te;for(let Ne=1;Ne<=me;Ne++){const Ye="Heliostat"+Ne;De[Pe[Ne-1]]=(oe=Ae.get(Ye))==null?void 0:oe[Te]}Me.push(De)}l(Me),p(Pe)}else{const ge=new Array(24).fill(0);for(const me of r)if(me.type===z.Heliostat){const Pe=_.current.get(me.id);if(Pe){s(me.id,Pe.reduce((Me,Te)=>Me+Te,0));for(let Me=0;Me<24;Me++)ge[Me]+=Pe[Me]}}const Ae=[];for(let me=0;me<24;me++)Ae.push({Hour:me,Total:ge[me]});l(Ae)}};m.useEffect(()=>{if(A)return te(),U.current=requestAnimationFrame(he),()=>{cancelAnimationFrame(U.current),F.current||(hn(j.t("message.SimulationAborted",v)),e(oe=>{oe.world.date=B.current.toLocaleString("en-US")}),ht.getState().set(oe=>{oe.simulationInProgress=!1,oe.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=b,b?(Z.current=new Date(y.getTime()),cancelAnimationFrame(U.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),he())},[b]);const te=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(B.current=new Date(i.date),O.current=0,y.setMonth(0,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),e(oe=>{oe.world.date=y.toLocaleString("en-US")})),F.current=!1,Ie(),ze(),ye()},he=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60{ge.world.date=y.toLocaleString("en-US")});for(const ge of r)ge.type===z.Heliostat&&$(ge);U.current=requestAnimationFrame(he)}else{if(pe(),O.current++,O.current===H){cancelAnimationFrame(U.current),e(ge=>{ge.world.date=B.current.toLocaleString("en-US"),ge.viewState.showYearlyHeliostatYieldPanel=!0,ge.selectedFloatingWindow="yearlyHeliostatYieldPanel"}),ht.getState().set(ge=>{ge.runYearlySimulationForHeliostats=!1,ge.simulationInProgress=!1,ge.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),F.current=!0,fe(),o&&e(ge=>{const Ae=Sn.getState().sumYearlyHeliostatYield();ge.actionInfo={name:"Yearly Simulation for Heliostats Completed",result:{totalYield:Ae},details:Sn.getState().yearlyHeliostatYield,timestamp:new Date().getTime()}});return}y.setMonth(O.current*D,22),ee.current=sl(y,i.latitude),y.setHours(Math.floor(ee.current.sunrise/60),R/2-30),ze(),U.current=requestAnimationFrame(he)}},pe=()=>{const oe=Se();for(const ge of r)if(ge.type===z.Heliostat){const Ae=ge,me=_.current.get(Ae.id);if(me){const Pe=Y.current.get(Ae.id);if(Pe){const Me=me.reduce((Te,De)=>Te+De,0);Pe[O.current]+=Me*oe*Ce(Ae)}}}C&&se()},fe=()=>{if(f){const oe=[],ge=[];let Ae=0;for(const Pe of r)if(Pe.type===z.Heliostat){const Me=Y.current.get(Pe.id);Me&&(d(Pe.id,Me.reduce((Te,De)=>Te+De,0)*D*q),oe.push(Me),Ae++,ge.push(Pe.label??"Heliostat"+Ae))}const me=[];for(let Pe=0;Pe<12;Pe+=D){const Me={};Me.Month=Ps[Pe];for(const[Te,De]of oe.entries())Me[ge[Te]]=De[Pe/D]*q;me.push(Me)}u(me),p(ge)}else{const oe=[];for(const Ae of r)if(Ae.type===z.Heliostat){const me=Y.current.get(Ae.id);me&&(d(Ae.id,me.reduce((Pe,Me)=>Pe+Me,0)*D*q),oe.push(me))}const ge=[];for(let Ae=0;Ae<12;Ae+=D){let me=0;for(const Pe of oe)me+=Pe[Ae/D];ge.push({Month:Ps[Ae],Total:me*q})}u(ge)}},$=oe=>{const ge=zr(y,i.latitude);if(ge.z0&&(nt.set(Rt,_e+wt*Ge),mt.set(nt.x-dt.x,nt.y-dt.y,0),mt.applyEuler(ot),Qe.set(Te.x+mt.x,Te.y+mt.y,xt+mt.z),!ve(oe.id,Qe,ge)&&!ve(oe.id,Qe,at)&&(Tt+=Oe*et))}const Wt=_.current.get(oe.id);if(Wt){const Ct=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();Wt[Ct]+=Tt/(We*Ee)}},de=()=>{const oe=ie.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Se=()=>{const oe=ee.current.daylight()/60;return oe>Dt?T.sunshineHours[y.getMonth()]/(30*oe*x):0},Ce=oe=>{const ge=a(oe);if(!ge)throw new Error("parent of heliostat does not exist");let Ae=1;if(ge.type===z.Foundation){const Pe=ge.solarPowerTower;Ae*=((Pe==null?void 0:Pe.receiverOpticalEfficiency)??.7)*((Pe==null?void 0:Pe.receiverThermalEfficiency)??.3)*((Pe==null?void 0:Pe.receiverAbsorptance)??.95)}return oe.lx*oe.ly*oe.reflectance*Ae*(1-W[y.getMonth()])},ve=(oe,ge,Ae)=>{if(L.current.length>1){E.current.length=0,k.set(ge,Ae);const me=L.current.filter(Pe=>Pe.uuid!==oe);return k.intersectObjects(me,!1,E.current),E.current.length>0}return!1},Ie=()=>{const oe=P.children.filter(ge=>ge.name==="Content");if(oe.length>0){const ge=oe[0].children;L.current.length=0;for(const Ae of ge)xe.fetchSimulationElements(Ae,L.current)}},ze=()=>{for(const oe of r)if(oe.type===z.Heliostat){const ge=_.current.get(oe.id);ge?ge.fill(0):_.current.set(oe.id,new Array(24).fill(0))}},ye=()=>{for(const oe of r)if(oe.type===z.Heliostat){const ge=Y.current.get(oe.id);ge&&ge.length===H?ge.fill(0):Y.current.set(oe.id,new Array(H).fill(0))}};return h.jsx(h.Fragment,{})}),WLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=Sn(y8t),l=Sn(f8t),s=Sn(h8t),c=Sn(m8t),u=ht(eYe),d=ht(l8t),f=ht(tYe),p=ht(s8t),g=M(kBe),A=M(NBe),w=M(KL)??900,b=i.sutGridCellSize??1,{scene:C}=Xi(),P=Kt(),v=l1(t),T=new Date(i.date),y=v?v.elevation:0,S=i.sutTimesPerHour??4,x=60/S,R=i.sutDaysPerYear??6,H=12/R,D=m.useMemo(()=>new Gs,[]),k=m.useRef([]),W=m.useRef([]),N=m.useRef(0),L=m.useRef(!1),E=m.useRef(new Date(i.date)),U=m.useRef(new Array(24).fill(0)),F=m.useRef(new Map),B=m.useRef(new Map),_=m.useRef(new Map),Y=m.useRef(new Map),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useRef(0),ee=m.useMemo(()=>sl(T,i.latitude),[i.date,i.latitude]),q=m.useRef(ee),ae=xe.daysInYear(T)/12;m.useEffect(()=>{if(u)if(A&&!xe.hasMovingParts(r))ne();else return se(),N.current=requestAnimationFrame(le),()=>{cancelAnimationFrame(N.current),L.current||(hn(j.t("message.SimulationAborted",P)),e(me=>{me.world.date=E.current.toLocaleString("en-US")}),ht.getState().set(me=>{me.simulationInProgress=!1,me.simulationPaused=!1})),J.current=!1}},[u]),m.useEffect(()=>{J.current=d,d?(Z.current=new Date(T.getTime()),cancelAnimationFrame(N.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",P))):(n("simulationPaused",!1),le())},[d]);const ne=()=>{ge(),Ce();for(const me of r)if(me.type===z.Foundation){const Pe=me;Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower&&ze(Pe)}e(me=>{me.viewState.showDailyUpdraftTowerYieldPanel=!0,me.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),ht.getState().set(me=>{me.runDailySimulationForUpdraftTower=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,te(),o&&e(me=>{const Pe=Sn.getState().sumDailyUpdraftTowerYield();me.actionInfo={name:"Static Daily Simulation for Updraft Tower Completed",result:{totalYield:Pe},details:Sn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}})},se=()=>{J.current?(T.setTime(Z.current.getTime()),J.current=!1):(E.current=new Date(i.date),ie.current=T.getDay(),T.setHours(Math.floor(ee.sunrise/60),-x/2)),L.current=!1,ge(),Ce()},le=()=>{if(u&&!J.current){if(T.getMinutes()+T.getHours()*60+(T.getDay()-ie.current)*A2+x>=ee.sunset){cancelAnimationFrame(N.current),e(Pe=>{Pe.world.date=E.current.toLocaleString("en-US"),Pe.viewState.showDailyUpdraftTowerYieldPanel=!0,Pe.selectedFloatingWindow="dailySolarUpdraftTowerYieldPanel"}),ht.getState().set(Pe=>{Pe.runDailySimulationForUpdraftTower=!1,Pe.simulationInProgress=!1,Pe.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,te(),o&&e(Pe=>{const Me=Sn.getState().sumDailyUpdraftTowerYield();Pe.actionInfo={name:"Dynamic Daily Simulation for Updraft Tower Completed",result:{totalYield:Me},details:Sn.getState().dailyUpdraftTowerYield,timestamp:new Date().getTime()}});return}T.setHours(T.getHours(),T.getMinutes()+x),e(Pe=>{Pe.world.date=T.toLocaleString("en-US")});for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower&&Ie(Me)}N.current=requestAnimationFrame(le)}},te=()=>{const me=ye();for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;if(Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower){const Te=Me.solarUpdraftTower.collectorTransmissivity??.9,De=Me.solarUpdraftTower.turbineEfficiency??.3,Ne=Me.solarUpdraftTower.dischargeCoefficient??.65,Ye=Math.PI*Me.solarUpdraftTower.chimneyRadius*Me.solarUpdraftTower.chimneyRadius,Le=Math.PI*Me.solarUpdraftTower.collectorRadius*Me.solarUpdraftTower.collectorRadius,$e=QY*$be*Ye,We=2*qbe*Me.solarUpdraftTower.chimneyHeight,Ee=F.current.get(Pe.id+"-sut"),Fe=B.current.get(Pe.id+"-sut"),Ge=_.current.get(Pe.id+"-sut");if(Ge&&Ee&&Fe){const rt=.5*Ne*De*QY*Ye,_e=new Date(i.date);let xt;v&&(xt=Jx(_e,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt0&&dt>0&&Ee[dt-1]>Qe){const et=(Ee[dt-1]+Qe)/2,Oe=(i.airConvectiveCoefficient??5)*Le*(et-Qe),nt=et+x4,mt=nt*nt*nt*nt,Tt=ct*ct*ct*ct,Rt=(Me.solarUpdraftTower.collectorEmissivity??.95)*Qbe*Le*(mt-Tt);Ge[dt]-=Oe+Rt,Ge[dt]<0&&(Ge[dt]=0)}const ft=Ge[dt]/($e*ct),at=ct*(1+Math.cbrt(ft*ft/We))-x4,ot=at>Qe?Math.sqrt(We*((at+x4)/ct-1)):0;Ge[dt]=rt*ot*ot*ot*.001,Ee[dt]=at,Fe[dt]=ot}}}}he()},he=()=>{var Ne,Ye,Le;const me=new Map;let Pe=0;const Me=[];for(const $e of r)if($e.type===z.Foundation){const We=$e;if(We.solarStructure===zn.UpdraftTower&&We.solarUpdraftTower){Pe++;const Ee=F.current.get($e.id+"-sut");Ee&&me.set("Temperature Tower"+Pe,Ee);const Fe=B.current.get($e.id+"-sut");Fe&&me.set("Wind Speed Tower"+Pe,Fe);const Ge=_.current.get($e.id+"-sut");Ge&&(me.set("Tower"+Pe,Ge),Me.push($e.label?$e.label:"Tower"+Pe))}}const Te=[];for(let $e=0;$e<24;$e++){const We={};We.Hour=$e;for(let Ee=1;Ee<=Pe;Ee++){const Fe="Tower"+Ee;We[Me[Ee-1]]=(Ne=me.get(Fe))==null?void 0:Ne[$e]}Te.push(We)}s(Te);const De=[];for(let $e=0;$e<24;$e++){const We={};We.Hour=$e,We.T_Ambient=U.current[$e];for(let Ee=1;Ee<=Pe;Ee++){let Fe="Temperature Tower"+Ee;We["T_"+Me[Ee-1]]=(Ye=me.get(Fe))==null?void 0:Ye[$e],Fe="Wind Speed Tower"+Ee,We["V_"+Me[Ee-1]]=(Le=me.get(Fe))==null?void 0:Le[$e]}De.push(We)}l(De),a(Me)};m.useEffect(()=>{if(f)if(A&&!xe.hasMovingParts(r))fe();else return pe(),N.current=requestAnimationFrame($),()=>{cancelAnimationFrame(N.current),L.current||(hn(j.t("message.SimulationAborted",P)),e(me=>{me.world.date=E.current.toLocaleString("en-US")}),ht.getState().set(me=>{me.simulationInProgress=!1,me.simulationPaused=!1})),J.current=!1}},[f]),m.useEffect(()=>{J.current=p,p?(Z.current=new Date(T.getTime()),cancelAnimationFrame(N.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",P))):(n("simulationPaused",!1),$())},[p]);const pe=()=>{J.current?(T.setTime(Z.current.getTime()),J.current=!1):(E.current=new Date(i.date),O.current=0,T.setMonth(0,22),ie.current=T.getDay(),q.current=sl(T,i.latitude),T.setHours(Math.floor(q.current.sunrise/60),-x/2),e(me=>{me.world.date=T.toLocaleString("en-US")})),L.current=!1,ge(),Ce(),ve()},fe=()=>{ge(),Ce(),ve(),E.current=new Date(i.date),O.current=0;for(let me=0;me<12;me+=H){T.setMonth(me,22),q.current=sl(T,i.latitude),Ce();for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower&&ze(Me)}de(),O.current++}e(me=>{me.world.date=E.current.toLocaleString("en-US"),me.viewState.showYearlyUpdraftTowerYieldPanel=!0,me.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),ht.getState().set(me=>{me.runYearlySimulationForUpdraftTower=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,Se(),o&&e(me=>{const Pe=Sn.getState().sumYearlyUpdraftTowerYield();me.actionInfo={name:"Static Yearly Simulation for Updraft Tower Completed",result:{totalYield:Pe},details:Sn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}})},$=()=>{if(f&&!J.current)if(T.getMinutes()+T.getHours()*60+(T.getDay()-ie.current)*A2+x{Pe.world.date=T.toLocaleString("en-US")});for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower&&Ie(Me)}N.current=requestAnimationFrame($)}else{if(de(),O.current++,O.current===R){cancelAnimationFrame(N.current),e(Pe=>{Pe.world.date=E.current.toLocaleString("en-US"),Pe.viewState.showYearlyUpdraftTowerYieldPanel=!0,Pe.selectedFloatingWindow="yearlySolarUpdraftTowerYieldPanel"}),ht.getState().set(Pe=>{Pe.runYearlySimulationForUpdraftTower=!1,Pe.simulationInProgress=!1,Pe.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",P)),L.current=!0,Se(),o&&e(Pe=>{const Me=Sn.getState().sumYearlyUpdraftTowerYield();Pe.actionInfo={name:"Dynamic Yearly Simulation for Updraft Tower Completed",result:{totalYield:Me},details:Sn.getState().yearlyUpdraftTowerYield,timestamp:new Date().getTime()}});return}T.setMonth(O.current*H,22),ie.current=T.getDay(),q.current=sl(T,i.latitude),T.setHours(Math.floor(q.current.sunrise/60),-x/2),Ce(),N.current=requestAnimationFrame($)}},de=()=>{const me=oe();for(const Pe of r)if(Pe.type===z.Foundation){const Me=Pe;if(Me.solarStructure===zn.UpdraftTower&&Me.solarUpdraftTower){const Te=_.current.get(Me.id+"-sut"),De=F.current.get(Pe.id+"-sut"),Ne=B.current.get(Pe.id+"-sut");if(Te&&De&&Ne){const Ye=Me.solarUpdraftTower.collectorTransmissivity??.9,Le=Me.solarUpdraftTower.turbineEfficiency??.3,$e=Me.solarUpdraftTower.dischargeCoefficient??.65,We=Math.PI*Me.solarUpdraftTower.chimneyRadius*Me.solarUpdraftTower.chimneyRadius,Ee=Math.PI*Me.solarUpdraftTower.collectorRadius*Me.solarUpdraftTower.collectorRadius,Fe=QY*$be*We,Ge=2*qbe*Me.solarUpdraftTower.chimneyHeight,rt=.5*$e*Le*QY*We;let _e;v&&(_e=Jx(T,v.lowestTemperatures,v.highestTemperatures));for(let dt=0;dt0&&dt>0&&De[dt-1]>Qe){const et=(De[dt-1]+Qe)/2,Oe=(i.airConvectiveCoefficient??5)*Ee*(et-Qe),nt=et+x4,mt=nt*nt*nt*nt,Tt=ct*ct*ct*ct,Rt=(Me.solarUpdraftTower.collectorEmissivity??.95)*Qbe*Ee*(mt-Tt);Te[dt]-=Oe+Rt,Te[dt]<0&&(Te[dt]=0)}const ft=Te[dt]/(Fe*ct),at=ct*(1+Math.cbrt(ft*ft/Ge))-x4,ot=at>Qe?Math.sqrt(Ge*((at+x4)/ct-1)):0;Te[dt]=rt*ot*ot*ot*.001,De[dt]=at,Ne[dt]=ot}const xt=Y.current.get(Me.id+"-sut");if(xt){const dt=Te.reduce((Qe,ct)=>Qe+ct,0);xt[O.current]+=dt}}}}g&&he()},Se=()=>{const me=[],Pe=[];let Me=0;for(const De of r)if(De.type===z.Foundation){const Ne=De;if(Ne.solarStructure===zn.UpdraftTower&&Ne.solarUpdraftTower){const Ye=Y.current.get(De.id+"-sut");Ye&&(me.push(Ye),Pe.push(De.label?De.label:"Tower"+ ++Me))}}const Te=[];for(let De=0;De<12;De+=H){const Ne={};Ne.Month=Ps[De];for(const[Ye,Le]of me.entries())Ne[Pe[Ye]]=Le[De/H]*ae;Te.push(Ne)}c(Te),a(Pe)},Ce=()=>{for(const me of r)if(me.type===z.Foundation){const Pe=me;if(Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower){const Me=F.current.get(me.id+"-sut");Me?Me.fill(0):F.current.set(me.id+"-sut",new Array(24).fill(0));const Te=B.current.get(me.id+"-sut");Te?Te.fill(0):B.current.set(me.id+"-sut",new Array(24).fill(0));const De=_.current.get(me.id+"-sut");De?De.fill(0):_.current.set(me.id+"-sut",new Array(24).fill(0))}}},ve=()=>{for(const me of r)if(me.type===z.Foundation){const Pe=me;if(Pe.solarStructure===zn.UpdraftTower&&Pe.solarUpdraftTower){const Me=Y.current.get(me.id+"-sut");Me&&Me.length===R?Me.fill(0):Y.current.set(me.id+"-sut",new Array(R).fill(0))}}},Ie=me=>{const Pe=me.solarUpdraftTower;if(!Pe)return;const Me=zr(T,i.latitude);if(Me.zxt)&&(Qe++,dt+=Ge,_e>0&&(Ae(me.id+"-sut",rt,Me)||(dt+=_e*Fe)))}Qe&&(dt/=Qe);const at=T.getMinutes()>=30?T.getHours()+1===24?0:T.getHours()+1:T.getHours(),ot=Math.PI*Pe.collectorRadius*Pe.collectorRadius;Te[at]+=dt*ot}},ze=me=>{const Pe=me.solarUpdraftTower;if(!Pe)return;const Me=_.current.get(me.id+"-sut");if(!Me)return;const Te=new re().fromArray(me.normal),De=T.getFullYear(),Ne=T.getMonth(),Ye=T.getDate(),Le=xe.dayOfYear(T),$e=Pe.collectorRadius,We=Math.max(2,Math.round($e*2/b)),Ee=me.cx-$e+b/2,Fe=me.cy-$e+b/2,Ge=me.lz+Pe.collectorHeight,rt=new re(0,0,Ge),_e=$e*$e;let xt=0,dt,Qe;const ct=Math.PI*Pe.collectorRadius*Pe.collectorRadius;for(let ft=0;ft<24;ft++){for(let at=0;at0){const Oe=Rr(et,Le,y,vr.SPHERE_MODEL),nt=tr(i.ground,Ne,Po,Oe),mt=Te.dot(et);xt=0;for(let Tt=0;Tt_e)&&(xt++,Me[ft]+=nt,mt>0&&(Ae(me.id+"-sut",rt,et)||(Me[ft]+=mt*Oe)))}}}xt&&(Me[ft]/=xt),Me[ft]*=ct}},ye=()=>{const me=ee.daylight()/60;return me>Dt?v.sunshineHours[T.getMonth()]/(30*me*S):0},oe=()=>{const me=T.getMonth(),Pe=q.current.daylight()/60;return Pe>Dt?v.sunshineHours[me]/(30*Pe*S):0},ge=()=>{const me=C.children.filter(Pe=>Pe.name==="Content");if(me.length>0){const Pe=me[0].children;k.current.length=0;for(const Me of Pe)xe.fetchSimulationElements(Me,k.current)}},Ae=(me,Pe,Me)=>{if(k.current.length>1){W.current.length=0,D.set(Pe,Me);const Te=k.current.filter(De=>De.uuid!==me);return D.intersectObjects(Te,!1,W.current),W.current.length>0}return!1};return h.jsx(h.Fragment,{})});class NLo{constructor(e,n){this.position=e,this.observer=n}}const ULo=be.memo(()=>{const t=M.getState().world,e=M.getState().elements,n=M(dn),o=ht(Ah),i=M(rr),r=M(cA),a=ht(S7t),{scene:l}=Xi(),s=Kt(),c=m.useMemo(()=>new Gs,[]),u=t.solarPanelVisibilityGridCellSize??.2,d=m.useRef([]),f=m.useRef([]),p=m.useRef([]);m.useEffect(()=>{a&&e&&e.length>0&&(w(),o("runSolarPanelVisibilityAnalysis",!1),n(P=>{P.viewState.showSolarPanelVisibilityResultsPanel=!0,P.selectedFloatingWindow="visibilityResultsPanel"}),hn(j.t("message.SimulationCompleted",s))),o("simulationInProgress",!1)},[a]);const g=()=>{const P=l.children.filter(v=>v.name==="Content");if(P.length>0){const v=P[0].children;f.current.length=0;for(const T of v)xe.fetchSimulationElements(T,f.current)}},A=()=>{d.current=[];for(const P of e)if(P.type===z.Human){const v=P;if(v.observer){const T=i(v),y=T?xe.absoluteHumanOrTreeCoordinates(v.cx,v.cy,v.cz,T):new re(v.cx,v.cy,v.cz);y.z+=v.lz,d.current.push(new NLo(y,v))}}},w=()=>{if(Sn.getState().clearSolarPanelVisibilityResults(),A(),d.current.length!==0){g();for(const P of d.current){const v=new Map;for(const T of e)if(T.type===z.SolarPanel){const y=T;v.set(y.parentId,0)}for(const T of e)if(T.type===z.SolarPanel){const y=T;let S=v.get(y.parentId)??0;S+=b(y,P.position)*100,v.set(y.parentId,S)}Sn.getState().setSolarPanelVisibilityResult(P,v)}}},b=(P,v)=>{let T=i(P);if(!T)throw new Error("parent of solar panel does not exist");let y=!1;if(T.type===z.Roof){if(T=r(T),!T)throw new Error("foundation of solar panel does not exist");y=!0}const S=xe.absoluteCoordinates(P.cx,P.cy,P.cz,T);y&&(S.z=P.cz+T.cz+T.lz/2);const x=new re().fromArray(P.normal),R=T.rotation[2]+P.relativeAzimuth;Math.abs(P.tiltAngle)>.001&&x.applyEuler(new Qt(P.tiltAngle,0,R,"ZYX"));const H=P.lx,D=P.ly*Math.cos(P.tiltAngle),k=P.ly*Math.abs(Math.sin(P.tiltAngle)),W=Math.max(2,Math.round(P.lx/u)),N=Math.max(2,Math.round(P.ly/u)),L=H/W,E=D/N,U=k/N,F=S.x-H/2,B=S.y-D/2,_=(y?S.z:P.poleHeight+S.z)-k/2,Y=new Gt(S.x,S.y);let O=0;const J=new re,Z=new re;let ie;const ee=new Gt,q=xe.isZero(R);for(let ae=0;ae0&&(Z.normalize(),C(P.id,J,Z)&&(O+=Math.abs(Z.dot(x))/(ie*ie)));return O*u*u/(4*Math.PI)},C=(P,v,T)=>{if(f.current.length>1){p.current.length=0,c.set(v,T);const y=f.current.filter(S=>S.uuid!==P);if(c.intersectObjects(y,!1,p.current),p.current.length===0)return!0;for(const[S,x]of p.current.entries())if(x.object.name.endsWith("eyeball")&&S===0)return!0;return!1}return!0};return h.jsx(h.Fragment,{})}),BLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(rr),l=M(cA),s=M(w7t),c=M(x7t),u=Sn(E8t),d=Sn(I8t),f=Sn(D8t),p=ht(aYe),g=ht(R8t),A=ht(lYe),w=ht(H8t),b=M(HBe),C=M(J1e),{scene:P}=Xi(),v=Kt(),T=l1(t),y=new Date(i.date),S=m.useMemo(()=>s(t??"Boston MA, USA"),[t]),x=m.useMemo(()=>c(t??"Boston MA, USA"),[t]),R=t?T==null?void 0:T.elevation:0,H=i.timesPerHour??4,D=60/H,k=m.useMemo(()=>new Gs,[]),W=m.useRef([]),N=m.useRef([]),L=m.useRef(0),E=m.useRef(!1),U=m.useRef(new Date(i.date)),F=m.useRef(new Map),B=m.useRef(new Map),_=m.useRef(new Array(12).fill(0)),Y=m.useRef(new Array(12).fill(0)),O=m.useRef(0),J=m.useRef(!1),Z=m.useRef(new Date(i.date)),ie=m.useRef(0),ee=m.useMemo(()=>sl(y,i.latitude),[i.date,i.latitude]),q=m.useRef(ee);m.useEffect(()=>{if(p)if(C&&!xe.hasMovingParts(r))ae();else return ne(),L.current=requestAnimationFrame(se),()=>{cancelAnimationFrame(L.current),E.current||(hn(j.t("message.SimulationAborted",v)),e(Ae=>{Ae.world.date=U.current.toLocaleString("en-US")}),ht.getState().set(Ae=>{Ae.simulationInProgress=!1,Ae.simulationPaused=!1})),J.current=!1}},[p]),m.useEffect(()=>{J.current=g,g?(Z.current=new Date(y.getTime()),cancelAnimationFrame(L.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),se())},[g]);const ae=()=>{oe(),Se();for(const Ae of r)Ae.type===z.Sensor&&Ie(Ae);e(Ae=>{Ae.viewState.showDailyLightSensorPanel=!0,Ae.selectedFloatingWindow="dailyLightSensorPanel"}),ht.getState().set(Ae=>{Ae.runDailyLightSensor=!1,Ae.simulationInProgress=!1,Ae.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,le(),o&&e(Ae=>{Ae.actionInfo={name:"Static Daily Simulation for Sensors Completed",details:Sn.getState().dailyLightSensorData,timestamp:new Date().getTime()}})},ne=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(U.current=new Date(i.date),ie.current=y.getDay(),y.setHours(Math.floor(ee.sunrise/60),-D/2)),E.current=!1,oe(),Se()},se=()=>{if(p&&!J.current){if(y.getMinutes()+y.getHours()*60+(y.getDay()-ie.current)*A2+D>=ee.sunset){cancelAnimationFrame(L.current),e(me=>{me.world.date=U.current.toLocaleString("en-US"),me.viewState.showDailyLightSensorPanel=!0,me.selectedFloatingWindow="dailyLightSensorPanel"}),ht.getState().set(me=>{me.runDailyLightSensor=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,le(),o&&e(me=>{me.actionInfo={name:"Dynamic Daily Simulation for Sensors Completed",details:Sn.getState().dailyLightSensorData,timestamp:new Date().getTime()}});return}y.setHours(y.getHours(),y.getMinutes()+D),e(me=>{me.world.date=y.toLocaleString("en-US")});for(const me of r)me.type===z.Sensor&&ve(me);L.current=requestAnimationFrame(se)}},le=()=>{const Ae=ze();for(const me of r)if(me.type===z.Sensor){const Pe=F.current.get(me.id);if(Pe)for(let Me=0;Me{var Te;const Ae=new Map;let me=0;const Pe=[];for(const De of r)if(De.type===z.Sensor){const Ne=F.current.get(De.id);Ne&&(Ae.set("Radiation"+ ++me,Ne),Pe.push(De.label?De.label:"Radiation"+me))}const Me=[];for(let De=0;De<24;De++){const Ne={};Ne.Hour=De;for(let Ye=1;Ye<=me;Ye++){const Le="Radiation"+Ye;Ne[Pe[Ye-1]]=(Te=Ae.get(Le))==null?void 0:Te[De]}Me.push(Ne)}d(Me),u(Pe)};m.useEffect(()=>{if(A)if(C&&!xe.hasMovingParts(r))pe();else return he(),L.current=requestAnimationFrame(fe),()=>{cancelAnimationFrame(L.current),E.current||(hn(j.t("message.SimulationAborted",v)),e(Ae=>{Ae.world.date=U.current.toLocaleString("en-US")}),ht.getState().set(Ae=>{Ae.simulationInProgress=!1,Ae.simulationPaused=!1})),J.current=!1}},[A]),m.useEffect(()=>{J.current=w,w?(Z.current=new Date(y.getTime()),cancelAnimationFrame(L.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",v))):(n("simulationPaused",!1),fe())},[w]);const he=()=>{J.current?(y.setTime(Z.current.getTime()),J.current=!1):(U.current=new Date(i.date),O.current=0,y.setMonth(0,22),ie.current=y.getDay(),q.current=sl(y,i.latitude),y.setHours(Math.floor(q.current.sunrise/60),-D/2),e(Ae=>{Ae.world.date=y.toLocaleString("en-US")})),E.current=!1,oe(),Se(),Ce()},pe=()=>{oe(),Se(),Ce(),U.current=new Date(i.date),O.current=0;for(let Ae=0;Ae<12;Ae++){y.setMonth(Ae,22),q.current=sl(y,i.latitude),Se();for(const me of r)me.type===z.Sensor&&Ie(me);$(),O.current++}e(Ae=>{Ae.world.date=U.current.toLocaleString("en-US"),Ae.viewState.showYearlyLightSensorPanel=!0,Ae.selectedFloatingWindow="yearlyLightSensorPanel"}),ht.getState().set(Ae=>{Ae.runYearlyLightSensor=!1,Ae.simulationInProgress=!1,Ae.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,de(),o&&e(Ae=>{Ae.actionInfo={name:"Static Yearly Simulation for Sensors Completed",details:Sn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}})},fe=()=>{if(A&&!J.current)if(y.getMinutes()+y.getHours()*60+(y.getDay()-ie.current)*A2+D{me.world.date=y.toLocaleString("en-US")});for(const me of r)me.type===z.Sensor&&ve(me);L.current=requestAnimationFrame(fe)}else{if($(),O.current++,O.current===12){cancelAnimationFrame(L.current),e(me=>{me.world.date=U.current.toLocaleString("en-US"),me.viewState.showYearlyLightSensorPanel=!0,me.selectedFloatingWindow="yearlyLightSensorPanel"}),ht.getState().set(me=>{me.runYearlyLightSensor=!1,me.simulationInProgress=!1,me.simulationPaused=!1}),hn(j.t("message.SimulationCompleted",v)),E.current=!0,de(),o&&e(me=>{me.actionInfo={name:"Dynamic Yearly Simulation for Sensors Completed",details:Sn.getState().yearlyLightSensorData,timestamp:new Date().getTime()}});return}y.setMonth(O.current,22),ie.current=y.getDay(),q.current=sl(y,i.latitude),y.setHours(Math.floor(q.current.sunrise/60),-D/2),Se(),L.current=requestAnimationFrame(fe)}},$=()=>{const Ae=ye();for(const me of r)if(me.type===z.Sensor){const Pe=F.current.get(me.id);if(Pe){const Me=B.current.get(me.id);if(Me){const Te=Pe.reduce((De,Ne)=>De+Ne,0);Me[O.current]+=Te*Ae}}}b&&le()},de=()=>{const Ae=[],me=[];let Pe=0,Me=!1,Te=!1;for(const Le of r)if(Le.type===z.Sensor){const $e=B.current.get(Le.id);$e&&(Ae.push($e),me.push(Le.label?Le.label:"Radiation"+ ++Pe),!Me&&xe.isIdentical(Le.normal,o0)&&(Me=!0),!Te&&xe.isIdentical(Le.normal,U3t)&&(Te=!0))}const De=Me&&S;De&&me.push("Measured (Hor.)");const Ne=Te&&x;Ne&&me.push("Measured (Ver.)");const Ye=[];for(let Le=0;Le<12;Le++){const $e={};$e.Month=Ps[Le];for(const[We,Ee]of Ae.entries())$e.Daylight=_.current[Le],$e.Clearness=Y.current[Le]*100,De&&($e["Measured (Hor.)"]=S.data[Le]),Ne&&($e["Measured (Ver.)"]=x.data[Le]),$e[me[We]]=Ee[Le];Ye.push($e)}f(Ye),u(me)},Se=()=>{for(const Ae of r)if(Ae.type===z.Sensor){const me=F.current.get(Ae.id);me?me.fill(0):F.current.set(Ae.id,new Array(24).fill(0))}},Ce=()=>{for(const Ae of r)if(Ae.type===z.Sensor){const me=B.current.get(Ae.id);me?me.fill(0):B.current.set(Ae.id,new Array(12).fill(0))}},ve=Ae=>{const me=zr(y,i.latitude);if(me.z0&&(ge(Ae.id,Te,me)||($e+=Le*Ye));const We=F.current.get(Ae.id);if(We){const Ee=y.getMinutes()>=30?y.getHours()+1===24?0:y.getHours()+1:y.getHours();We[Ee]+=$e}},Ie=Ae=>{const me=a(Ae);if(!me)throw new Error("parent of sensor does not exist");const Pe=F.current.get(Ae.id);if(!Pe)return;let Me=null;me.type===z.Wall&&(Me=l(Ae));const Te=xe.absoluteCoordinates(Ae.cx,Ae.cy,Ae.cz,me,Me||void 0),De=new re().fromArray(Ae.normal);De.applyAxisAngle(Po,me.rotation[2]);const Ne=y.getFullYear(),Ye=y.getMonth(),Le=y.getDate(),$e=xe.dayOfYear(y);for(let We=0;We<24;We++)for(let Ee=0;Ee0){const rt=Rr(Ge,$e,R,vr.SPHERE_MODEL),_e=De.dot(Ge);_e>0&&(ge(Ae.id,Te,Ge)||(Pe[We]+=_e*rt)),Pe[We]+=tr(i.ground,Ye,De,rt)}}},ze=()=>{const Ae=ee.daylight()/60;return Ae>Dt?T.sunshineHours[y.getMonth()]/(30*Ae*H):0},ye=()=>{const Ae=y.getMonth(),me=q.current.daylight()/60;return me>Dt?(_.current[Ae]=me,Y.current[Ae]=T.sunshineHours[Ae]/(30*me),Y.current[Ae]/H):(_.current[Ae]=0,Y.current[Ae]=0,0)},oe=()=>{const Ae=P.children.filter(me=>me.name==="Content");if(Ae.length>0){const me=Ae[0].children;W.current.length=0;for(const Pe of me)xe.fetchSimulationElements(Pe,W.current)}},ge=(Ae,me,Pe)=>{if(W.current.length>1){N.current.length=0,k.set(me,Pe);const Me=W.current.filter(Te=>Te.uuid!==Ae);return k.intersectObjects(Me,!1,N.current),N.current.length>0}return!1};return h.jsx(h.Fragment,{})}),zEe=(t,e)=>{let n=e.efficiency;return e.cellType==="Monocrystalline"&&(n*=.95),n*(1+e.pmaxTC*(t-25))},jLo=be.memo(({city:t})=>{const e=M(dn),n=ht(Ah),o=M(ha),i=M.getState().world,r=M.getState().elements,a=M(J2),l=M(rr),s=M(cA),c=Sn(I7t),u=M(nW),d=Sn(D7t),f=M(oW),p=M(Uje),g=M(Bje),A=Sn(E7t),w=ht(Wje),b=ht(P7t),C=ht(R7t),P=ht(Nje),v=ht(C7t),T=ht(H7t),y=M(MBe),S=M(K1e),x=M(KL)??900,R=ht(K2),{scene:H}=Xi(),D=Kt(),k=l1(t),W=new Date(i.date),N=t?k==null?void 0:k.elevation:0,L=i.timesPerHour??4,E=60/L,U=i.daysPerYear??6,F=12/U,B=m.useMemo(()=>new Gs,[]),_=i.monthlyIrradianceLosses??new Array(12).fill(.05),Y=i.pvGridCellSize??.25,O=m.useRef([]),J=m.useRef([]),Z=m.useRef(0),ie=m.useRef(!1),ee=m.useRef(new Date(i.date)),q=m.useRef(new Map),ae=m.useRef(new Map),ne=m.useRef(0),se=m.useRef(!1),le=m.useRef(new Date(i.date)),te=m.useRef(0),he=m.useRef(20),pe=m.useMemo(()=>sl(W,i.latitude),[i.date,i.latitude]),fe=m.useRef(pe),$=xe.daysInYear(W)/12;m.useEffect(()=>{if(w)if(S&&!xe.hasMovingParts(r))setTimeout(()=>{de(!1)},50);else return Se(),Z.current=requestAnimationFrame(Ce),()=>{cancelAnimationFrame(Z.current),ie.current||(hn(j.t("message.SimulationAborted",D)),e(Ee=>{Ee.world.date=ee.current.toLocaleString("en-US")}),ht.getState().set(Ee=>{Ee.simulationInProgress=!1,Ee.simulationPaused=!1})),se.current=!1}},[w]),m.useEffect(()=>{b&&S&&!xe.hasMovingParts(r)&&setTimeout(()=>{de(!0)},50)},[b]),m.useEffect(()=>{se.current=C,C?(le.current=new Date(W.getTime()),cancelAnimationFrame(Z.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",D))):(n("simulationPaused",!1),Ce())},[C]);const de=Ee=>{We(),Me();for(const Fe of r)Fe.type===z.SolarPanel&&me(Fe);if(e(Fe=>{!R&&!Ee&&(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),ht.getState().set(Fe=>{Ee?Fe.runDailySimulationForSolarPanelsLastStep=!1:Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,ve(),!R&&!Ee&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumDailyPvYield(),Ge=Sn.getState().getDailyPvProfit(),rt=Sn.getState().dailyPvYield;e(_e=>{_e.actionInfo={name:"Static Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}},Se=()=>{se.current?(W.setTime(le.current.getTime()),se.current=!1):(ee.current=new Date(i.date),te.current=W.getDay(),W.setHours(Math.floor(pe.sunrise/60),-E/2)),ie.current=!1,We(),Me()},Ce=()=>{if(w&&!se.current){if(W.getMinutes()+W.getHours()*60+(W.getDay()-te.current)*A2+E>=pe.sunset){if(cancelAnimationFrame(Z.current),e(Fe=>{Fe.world.date=ee.current.toLocaleString("en-US"),R||(Fe.viewState.showDailyPvYieldPanel=!0,Fe.selectedFloatingWindow="dailyPvYieldPanel")}),ht.getState().set(Fe=>{Fe.runDailySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,ve(),!R&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumDailyPvYield(),Ge=Sn.getState().getDailyPvProfit(),rt=Sn.getState().dailyPvYield;e(_e=>{_e.actionInfo={name:"Dynamic Daily Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}return}W.setHours(W.getHours(),W.getMinutes()+E),e(Fe=>{Fe.world.date=W.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Pe(Fe);Z.current=requestAnimationFrame(Ce)}},ve=()=>{const Ee=De();for(const Fe of r)if(Fe.type===z.SolarPanel){const Ge=Fe,rt=q.current.get(Fe.id);if(rt){const _e=Ye(Ge)*Ee;for(let xt=0;xt{var Ee;if(p){const Fe=new Array(24).fill(0),Ge=new Map;let rt=0;const _e=[];for(const dt of r)if(dt.type===z.SolarPanel){const Qe=q.current.get(dt.id);if(Qe){u(dt.id,Qe.reduce((ct,ft)=>ct+ft,0)),rt++,Ge.set("Panel"+rt,Qe),_e.push(dt.label?dt.label:"Panel"+rt);for(let ct=0;ct<24;ct++)Fe[ct]+=Qe[ct]}}const xt=[];for(let dt=0;dt<24;dt++){const Qe={};Qe.Hour=dt;for(let ct=1;ct<=rt;ct++){const ft="Panel"+ct;Qe[_e[ct-1]]=(Ee=Ge.get(ft))==null?void 0:Ee[dt]}xt.push(Qe)}c(xt),A(_e)}else{const Fe=new Array(24).fill(0);for(const rt of r)if(rt.type===z.SolarPanel){const _e=q.current.get(rt.id);if(_e){u(rt.id,_e.reduce((xt,dt)=>xt+dt,0));for(let xt=0;xt<24;xt++)Fe[xt]+=_e[xt]}}const Ge=[];for(let rt=0;rt<24;rt++)Ge.push({Hour:rt,Total:Fe[rt]});c(Ge)}};m.useEffect(()=>{if(P)if(S&&!xe.hasMovingParts(r))setTimeout(()=>{ye(!1)},50);else return ze(),Z.current=requestAnimationFrame(oe),()=>{cancelAnimationFrame(Z.current),ie.current||(hn(j.t("message.SimulationAborted",D)),e(Ee=>{Ee.world.date=ee.current.toLocaleString("en-US")}),ht.getState().set(Ee=>{Ee.simulationInProgress=!1,Ee.simulationPaused=!1})),se.current=!1}},[P]),m.useEffect(()=>{v&&S&&!xe.hasMovingParts(r)&&setTimeout(()=>{ye(!0)},50)},[v]),m.useEffect(()=>{se.current=T,T?(le.current=new Date(W.getTime()),cancelAnimationFrame(Z.current),n("simulationPaused",!0),hn(j.t("message.SimulationPaused",D))):(n("simulationPaused",!1),oe())},[T]);const ze=()=>{se.current?(W.setTime(le.current.getTime()),se.current=!1):(ee.current=new Date(i.date),ne.current=0,W.setMonth(0,22),te.current=W.getDay(),fe.current=sl(W,i.latitude),W.setHours(Math.floor(fe.current.sunrise/60),-E/2),e(Ee=>{Ee.world.date=W.toLocaleString("en-US")})),ie.current=!1,We(),Me(),Te()},ye=Ee=>{We(),Me(),Te(),ee.current=new Date(i.date),ne.current=0;for(let Fe=0;Fe<12;Fe+=F){W.setMonth(Fe,22),fe.current=sl(W,i.latitude),Me();for(const Ge of r)Ge.type===z.SolarPanel&&me(Ge);ge(),ne.current++}if(e(Fe=>{Fe.world.date=ee.current.toLocaleString("en-US"),!R&&!Ee&&(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),ht.getState().set(Fe=>{Ee?Fe.runYearlySimulationForSolarPanelsLastStep=!1:Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,Ae(),!R&&!Ee&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumYearlyPvYield(),Ge=Sn.getState().getYearlyPvProfit(),rt=Sn.getState().yearlyPvYield;e(_e=>{_e.actionInfo={name:"Static Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}},oe=()=>{if(P&&!se.current)if(W.getMinutes()+W.getHours()*60+(W.getDay()-te.current)*A2+E{Fe.world.date=W.toLocaleString("en-US")});for(const Fe of r)Fe.type===z.SolarPanel&&Pe(Fe);Z.current=requestAnimationFrame(oe)}else{if(ge(),ne.current++,ne.current===U){if(cancelAnimationFrame(Z.current),e(Fe=>{Fe.world.date=ee.current.toLocaleString("en-US"),R||(Fe.viewState.showYearlyPvYieldPanel=!0,Fe.selectedFloatingWindow="yearlyPvYieldPanel")}),ht.getState().set(Fe=>{Fe.runYearlySimulationForSolarPanels=!1,Fe.simulationInProgress=!1,Fe.simulationPaused=!1}),ie.current=!0,Ae(),!R&&(hn(j.t("message.SimulationCompleted",D)),o)){const Fe=Sn.getState().sumYearlyPvYield(),Ge=Sn.getState().getYearlyPvProfit(),rt=Sn.getState().yearlyPvYield;e(_e=>{_e.actionInfo={name:"Dynamic Yearly Simulation for Solar Panels Completed",result:{totalYield:Fe.toFixed(2),profit:Ge.toFixed(2)},details:rt,timestamp:new Date().getTime()}})}return}W.setMonth(ne.current*F,22),te.current=W.getDay(),fe.current=sl(W,i.latitude),W.setHours(Math.floor(fe.current.sunrise/60),-E/2),Me(),Z.current=requestAnimationFrame(oe)}},ge=()=>{const Ee=Ne();for(const Fe of r)if(Fe.type===z.SolarPanel){const Ge=Fe,rt=q.current.get(Fe.id);if(rt){const _e=ae.current.get(Fe.id);if(_e){const xt=rt.reduce((dt,Qe)=>dt+Qe,0);_e[ne.current]+=xt*Ee*Ye(Ge)}}}!R&&y&&ve()},Ae=()=>{if(g){const Ee=[],Fe=[];let Ge=0;for(const _e of r)if(_e.type===z.SolarPanel){const xt=ae.current.get(_e.id);xt&&(f(_e.id,xt.reduce((dt,Qe)=>dt+Qe,0)*F*$),Ee.push(xt),Ge++,Fe.push(_e.label??"Panel"+Ge))}const rt=[];for(let _e=0;_e<12;_e+=F){const xt={};xt.Month=Ps[_e];for(const[dt,Qe]of Ee.entries())xt[Fe[dt]]=Qe[_e/F]*$;rt.push(xt)}d(rt),A(Fe)}else{const Ee=[];for(const Ge of r)if(Ge.type===z.SolarPanel){const rt=ae.current.get(Ge.id);rt&&(f(Ge.id,rt.reduce((_e,xt)=>_e+xt,0)*F*$),Ee.push(rt))}const Fe=[];for(let Ge=0;Ge<12;Ge+=F){let rt=0;for(const _e of Ee)rt+=_e[Ge/F];Fe.push({Month:Ps[Ge],Total:rt*$})}d(Fe)}},me=Ee=>{if(Ee.trackerType!==Ma.NO_TRACKER)throw new Error("static simulation is not for solar panel with tracker");let Fe=l(Ee);if(!Fe)throw new Error("parent of solar panel does not exist");const Ge=Ee.parentType===z.Roof,rt=Ee.parentType===z.Wall;if(Ge&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const _e=a(Ee.pvModelName);if(!_e)throw new Error("PV model not found");const xt=q.current.get(Ee.id);if(!xt)return;const dt=rt?xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe,s(Ee),Ee.lz):xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe),Qe=Fe.rotation[2];let ct=Qe+Ee.relativeAzimuth,ft=Ee.tiltAngle,at=!0;if(Ge&&(dt.z=Ee.cz+Ee.lz+.02+Fe.cz+Fe.lz/2,xe.isZero(Ee.rotation[0])?dt.z+=Ee.poleHeight:(ft=Ee.rotation[0],ct=Qe,at=!1)),rt&&!xe.isZero(Ee.tiltAngle)){const je=Fe,yt=s(Fe),At=(yt?yt.rotation[2]+je.relativeAngle:je.relativeAngle)-Vt,It=Ee.ly*Math.abs(Math.sin(Ee.tiltAngle))/2;dt.x+=It*Math.cos(At),dt.y+=It*Math.sin(At)}const ot=new re().fromArray(Ee.normal),et=new Qt(Ge&&!at?0:ft,0,ct,"ZYX");ot.applyEuler(et);const Oe=W.getFullYear(),nt=W.getMonth(),mt=W.getDate(),Tt=xe.dayOfYear(W);let Rt,Wt,Ct,wt,kt;i.discretization===Hm.EXACT?(Rt=Ee.lx,Wt=Ee.ly,Ee.orientation===ui.portrait?(Ct=Math.max(1,Math.round(Ee.lx/_e.width)),wt=Math.max(1,Math.round(Ee.ly/_e.length)),Ct*=_e.n,wt*=_e.m):(Ct=Math.max(1,Math.round(Ee.lx/_e.length)),wt=Math.max(1,Math.round(Ee.ly/_e.width)),Ct*=_e.m,wt*=_e.n),kt=Ee.lx/Ct):(Rt=Ee.lx,Wt=Ee.ly,Ct=Math.max(2,Math.round(Ee.lx/Y)),wt=Math.max(2,Math.round(Ee.ly/Y)),Ct%2!==0&&(Ct+=1),wt%2!==0&&(wt+=1),kt=Y);const qe=Rt/Ct,Je=Wt/wt,st=dt.x-(Rt-kt)/2,Pt=dt.y-(Wt-kt)/2,Ue=Ge||rt?dt.z:Fe.lz+Ee.poleHeight+Ee.lz,lt=new Gt(dt.x,dt.y),Ve=new re,ut=Array.from(Array(Ct),()=>new Array(wt));Ge&&!at&&(et.x=Ee.rotation[0],et.z=Ee.rotation[2]+Qe),rt&&(et.x=Vt+Ee.tiltAngle,et.z=Fe.relativeAngle+Qe);for(let je=0;je<24;je++)for(let yt=0;yt0){const It=Rr(At,Tt,N,vr.SPHERE_MODEL),zt=tr(i.ground,nt,ot,It),Ft=ot.dot(At),ln=new Gt,Xt=new re;if(_e.bifacialityFactor>0){const bn=ot.clone().negate(),Tn=tr(i.ground,nt,bn,It),Un=zt+Tn*_e.bifacialityFactor;for(let Ai=0;Ai0?Ft:-Ft*_e.bifacialityFactor)*It)}else for(let bn=0;bn0&&(ln.set(st+bn*qe,Pt+Tn*Je),Xt.set(ln.x-lt.x,ln.y-lt.y,0),Xt.applyEuler(et),Ve.set(dt.x+Xt.x,dt.y+Xt.y,Ue+Xt.z),$e(Ee.id,Ve,At)||(ut[bn][Tn]+=Ft*It));let fn=0;Le(Ht);const rn=zEe(he.current,_e);switch(_e.shadeTolerance){case zv.NONE:{let bn=Number.MAX_VALUE;for(let Tn=0;Tn{let Fe=l(Ee);if(!Fe)throw new Error("parent of solar panel does not exist");const Ge=Ee.parentType===z.Roof,rt=Ee.parentType===z.Wall;if(Ge&&(Fe=s(Fe),!Fe))throw new Error("foundation of solar panel does not exist");const _e=a(Ee.pvModelName);if(!_e)throw new Error("PV model not found");const xt=zr(W,i.latitude);if(xt.z<=0)return;const dt=rt?xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe,s(Ee),Ee.lz):xe.absoluteCoordinates(Ee.cx,Ee.cy,Ee.cz,Fe),Qe=Fe.rotation[2];let ct=Ee.tiltAngle,ft=Qe+Ee.relativeAzimuth,at=!0;if(Ge&&(dt.z=Ee.cz+Ee.lz+.02+Fe.cz+Fe.lz/2,xe.isZero(Ee.rotation[0])?dt.z+=Ee.poleHeight:(ct=Ee.rotation[0],ft=Qe,at=!1)),rt&&!xe.isZero(Ee.tiltAngle)){const zt=Fe,Ft=s(Fe),Xt=(Ft?Ft.rotation[2]+zt.relativeAngle:zt.relativeAngle)-Vt,fn=Ee.ly*Math.abs(Math.sin(Ee.tiltAngle))/2;dt.x+=fn*Math.cos(Xt),dt.y+=fn*Math.sin(Xt)}const ot=new re().fromArray(Ee.normal),et=W.getMonth(),Oe=xe.dayOfYear(W);let nt,mt,Tt,Rt,Wt;i.discretization===Hm.EXACT?(nt=Ee.lx,mt=Ee.ly,Ee.orientation===ui.portrait?(Tt=Math.max(1,Math.round(Ee.lx/_e.width)),Rt=Math.max(1,Math.round(Ee.ly/_e.length)),Tt*=_e.n,Rt*=_e.m):(Tt=Math.max(1,Math.round(Ee.lx/_e.length)),Rt=Math.max(1,Math.round(Ee.ly/_e.width)),Tt*=_e.m,Rt*=_e.n),Wt=Ee.lx/Tt):(nt=Ee.lx,mt=Ee.ly,Tt=Math.max(2,Math.round(Ee.lx/Y)),Rt=Math.max(2,Math.round(Ee.ly/Y)),Tt%2!==0&&(Tt+=1),Rt%2!==0&&(Rt+=1),Wt=Y);const Ct=nt/Tt,wt=mt/Rt,kt=dt.x-(nt-Wt)/2,qe=dt.y-(mt-Wt)/2,Je=Ge||rt?dt.z:Fe.lz+Ee.poleHeight+Ee.lz,st=new Gt(dt.x,dt.y),Pt=new re,Ue=Array.from(Array(Tt),()=>new Array(Rt));let lt=new Qt(Ge&&!at?0:ct,0,ft,"ZYX");if(Ee.trackerType!==Ma.NO_TRACKER){const zt=Qe?xt.clone().applyAxisAngle(Po,-Qe):xt.clone();switch(Ee.trackerType){case Ma.ALTAZIMUTH_DUAL_AXIS_TRACKER:{const Ft=new Ts().setFromUnitVectors(Po,zt);lt=new Qt().setFromQuaternion(Ft),lt.z+=ft;break}case Ma.HORIZONTAL_SINGLE_AXIS_TRACKER:{const Ft=new Ts().setFromUnitVectors(Po,new re(zt.x,0,zt.z).normalize());lt=new Qt().setFromQuaternion(Ft),lt.z+=ft;break}case Ma.VERTICAL_SINGLE_AXIS_TRACKER:{const Ft=new re(zt.x,-zt.y,0).normalize(),ln=Math.acos(Yc.dot(Ft))*Math.sign(Ft.x);lt=new Qt(Ee.tiltAngle,0,ln+Qe,"ZYX");break}case Ma.TILTED_SINGLE_AXIS_TRACKER:break}}ot.applyEuler(lt),Ge&&!at&&(lt.x=Ee.rotation[0],lt.z=Ee.rotation[2]+Qe),rt&&(lt.x=Vt+Ee.tiltAngle,lt.z=Fe.relativeAngle+Qe);const Ve=Rr(xt,Oe,N,vr.SPHERE_MODEL),ut=tr(i.ground,et,ot,Ve),je=ot.dot(xt),yt=new Gt,Ht=new re;if(_e.bifacialityFactor>0){const zt=ot.clone().negate(),Ft=tr(i.ground,et,zt,Ve),ln=ut+Ft*_e.bifacialityFactor;for(let Xt=0;Xt0?je:-je*_e.bifacialityFactor)*Ve)}else for(let zt=0;zt0&&(yt.set(kt+zt*Ct,qe+Ft*wt),Ht.set(yt.x-st.x,yt.y-st.y,0),Ht.applyEuler(lt),Pt.set(dt.x+Ht.x,dt.y+Ht.y,Je+Ht.z),$e(Ee.id,Pt,xt)||(Ue[zt][Ft]+=je*Ve));let At=0;switch(_e.shadeTolerance){case zv.NONE:{let zt=Number.MAX_VALUE;for(let Ft=0;Ft=30?W.getHours()+1===24?0:W.getHours()+1:W.getHours();It[Ft]+=zt*At/(Tt*Rt)}},Me=()=>{for(const Ee of r)if(Ee.type===z.SolarPanel){const Fe=q.current.get(Ee.id);Fe?Fe.fill(0):q.current.set(Ee.id,new Array(24).fill(0))}},Te=()=>{for(const Ee of r)if(Ee.type===z.SolarPanel){const Fe=ae.current.get(Ee.id);Fe&&Fe.length===U?Fe.fill(0):ae.current.set(Ee.id,new Array(U).fill(0))}},De=()=>{const Ee=pe.daylight()/60;return Ee>Dt?k.sunshineHours[W.getMonth()]/(30*Ee*L):0},Ne=()=>{const Ee=fe.current.daylight()/60;return Ee>Dt?k.sunshineHours[W.getMonth()]/(30*Ee*L):0},Ye=Ee=>{if(!a(Ee.pvModelName))throw new Error("PV model not found");return Ee.lx*Ee.ly*(Ee.inverterEfficiency??.95)*(1-_[W.getMonth()])},Le=Ee=>{if(k){const Fe=Jx(Ee,k.lowestTemperatures,k.highestTemperatures);he.current=Xx(Fe.high,Fe.low,i.diurnalTemperatureModel,x,sl(Ee,i.latitude),xe.minutesIntoDay(Ee))}},$e=(Ee,Fe,Ge)=>{if(O.current.length>1){J.current.length=0,B.set(Fe,Ge);const rt=O.current.filter(_e=>_e.uuid!==Ee);return B.intersectObjects(rt,!1,J.current),J.current.length>0}return!1},We=()=>{const Ee=H.children.filter(Fe=>Fe.name==="Content");if(Ee.length>0){const Fe=Ee[0].children;O.current.length=0;for(const Ge of Fe)xe.fetchSimulationElements(Ge,O.current)}};return h.jsx(h.Fragment,{})}),YLo=be.memo(()=>{const t=M(Xs),e=M(wb),n=M(Lje),o=M(Fje),i=M(fge),[r,a]=m.useState("Boston MA, USA");return m.useEffect(()=>{if(Object.keys(i).length===0)return;const l=n(t,e)??"Boston MA, USA";a(l),o(l)},[t,e,i]),h.jsxs(h.Fragment,{children:[h.jsx(ILo,{city:r}),h.jsx(zLo,{city:r}),h.jsx(DLo,{city:r}),h.jsx(BLo,{city:r}),h.jsx(jLo,{city:r}),h.jsx(ULo,{}),h.jsx(ELo,{city:r}),h.jsx(kLo,{city:r}),h.jsx(FLo,{city:r}),h.jsx(LLo,{city:r}),h.jsx(WLo,{city:r})]})}),$O="/aladdin/assets/image_fail_try_again-CaxVXMjm.png";var HL=(t=>(t[t.None=0]="None",t[t.Equal=1]="Equal",t[t.LessThan=2]="LessThan",t[t.GreaterThan=3]="GreaterThan",t[t.Between=4]="Between",t))(HL||{});const OLo=5,_Lo=be.memo(({yScale:t,tickLength:e,tickIntegers:n,variable:o,name:i,unit:r,type:a,digits:l,min:s,max:c,step:u,value:d,filter:f,hover:p})=>{const g=M(dn),A=M(o1),w=M(Sc),b=M(Eje),C=M(Dje),P=M(kje),[v,T]=m.useState(!1),y=m.useRef(s),S=m.useRef(c);m.useEffect(()=>{y.current=s},[s]),m.useEffect(()=>{S.current=c},[c]);const x={lng:w},R=A.uid===b,H=t.range(),D=t(s)-t(c),k=40,W=m.useMemo(()=>{const Y=H[0]-H[1],O=a==="number"?Math.floor(Y/e):1;return(n?t.ticks(O).filter(Z=>Number.isInteger(Z)):t.ticks(O)).map(Z=>({value:Z,yOffset:t(Z)}))},[t,e,a,n,H]),N=()=>{g(Y=>{Y.projectState.selectedProperty=Y.projectState.selectedProperty!==o?o:null}),ht.getState().set(Y=>{Y.updateProjectsFlag=!0})},L=()=>{R&&b&&C?LYn(b,C,P!==o?o:null).then(()=>{N()}):N()},E=(Y,O)=>h.jsx("span",{style:{display:"block",width:O+"px"},children:Y}),U=()=>h.jsx("text",{onClick:L,x:0,y:-20,style:{fontSize:"10px",textAnchor:"middle",fill:"dimgray",cursor:"pointer",fontWeight:P===o?"bold":"normal"},children:i}),F=m.useMemo(()=>o==="yearlyProfit"||o==="unitCost"||o==="sellingPrice"||o==="totalYearlyCost",[o]),B=()=>o==="totalYearlyCost"||o==="totalYearlyYield"||o==="meanYearlyYield"||o==="unitCost"||o==="poleHeight"||o==="interRowSpacing"?0:o==="tiltAngle"||o==="latitude"?-90:o==="rowWidth"?1:Number.MIN_SAFE_INTEGER,_=()=>o==="tiltAngle"||o==="latitude"?90:Number.MAX_SAFE_INTEGER;return h.jsxs(h.Fragment,{children:[o!=="orientation"?h.jsx(gl,{content:h.jsxs("div",{children:[h.jsx(Hn,{style:{width:"240px"},addonBefore:E(j.t("word.Minimum",x)+(F?" $":""),80),addonAfter:r,min:B(),max:S.current-u,step:u,value:y.current,onChange:Y=>{Y!==null&&(g(O=>{if(O.projectState.ranges){let J=-1,Z=null;for(const[ie,ee]of O.projectState.ranges.entries())if(ee.variable===o){J=ie,Z=ee;break}if(J>=0&&Z)O.projectState.ranges[J]={variable:Z.variable,minimum:Y,maximum:Z.maximum},A.uid&&O.projectState.title&&rCe(A.uid,O.projectState.title,O.projectState.ranges);else{const ie={variable:o,minimum:Y,maximum:c};O.projectState.ranges.push(ie),A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,ie)}}else{const J={variable:o,minimum:Y,maximum:c};O.projectState.ranges=[J],A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,J)}}),y.current=Number(Y),T(!v))}}),h.jsx("br",{}),h.jsx(Hn,{style:{width:"240px"},addonBefore:E(j.t("word.Maximum",x)+(F?" $":""),80),addonAfter:r,min:y.current+u,max:_(),step:u,value:S.current,onChange:Y=>{Y!==null&&(g(O=>{if(O.projectState.ranges){let J=-1,Z=null;for(const[ie,ee]of O.projectState.ranges.entries())if(ee.variable===o){J=ie,Z=ee;break}if(J>=0&&Z)O.projectState.ranges[J]={variable:Z.variable,minimum:Z.minimum,maximum:Y},A.uid&&O.projectState.title&&rCe(A.uid,O.projectState.title,O.projectState.ranges);else{const ie={variable:o,minimum:s,maximum:Y};O.projectState.ranges.push(ie),A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,ie)}}else{const J={variable:o,minimum:s,maximum:Y};O.projectState.ranges=[J],A.uid&&O.projectState.title&&xO(A.uid,O.projectState.title,J)}}),S.current=Number(Y),T(!v))}})]}),children:U()}):h.jsx(h.Fragment,{children:U()}),d!==void 0&&h.jsx("text",{x:0,y:-8,style:{fontSize:"9px",textAnchor:"middle",fill:"dimgray"},children:F?d.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:l})+(o==="yearlyProfit"||o==="totalYearlyCost"?"K":""):(o==="orientation"?j.t(d===0?"solarPanelMenu.Landscape":"solarPanelMenu.Portrait",x)+(d===0?" (▭)":" (▯)"):d.toFixed(l))+(r!==""?r:"")}),f&&f.type===HL.Between&&h.jsx("rect",{x:-5,y:t(f.upperBound??c),width:10,height:t((f==null?void 0:f.lowerBound)??s)-t((f==null?void 0:f.upperBound)??c),fill:"lightgray"}),h.jsx("rect",{x:-k/2,y:0,width:k,height:D,fill:"gold",fillOpacity:P===o?.25:0}),W.map(({value:Y,yOffset:O})=>h.jsxs("g",{transform:`translate(0, ${O})`,shapeRendering:"crispEdges",children:[h.jsx("line",{x1:-OLo,x2:0,stroke:"black",strokeWidth:1}),h.jsx("text",{style:{fontSize:"10px",textAnchor:"start",alignmentBaseline:"central",transform:"translateX(-25px)"},children:o==="orientation"?Y===0?"▭":"▯":Y},Y)]},Y)),h.jsx("line",{x1:0,x2:0,y1:t(s),y2:t(c),stroke:"black",strokeWidth:2}),f&&f.type===HL.Between&&h.jsx("foreignObject",{x:-k/2,y:4,width:k,height:D-3,children:h.jsx(ry,{theme:{components:{Slider:{railBg:"black",railSize:0,handleSize:8}}},children:h.jsx(Mu,{style:{marginLeft:k/2+"px"},min:s,max:c,step:(c-s)/100,value:[f.lowerBound??s,f.upperBound??c],onChange:Y=>{f&&(f.lowerBound=Y[0],f.upperBound=Y[1],p&&p(-1),g(O=>{if(O.projectState.filters){let J=-1;for(const[Z,ie]of O.projectState.filters.entries())if(ie.variable===o){J=Z;break}if(J>=0)O.projectState.filters[J]={variable:f.variable,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};else{const Z={variable:o,type:f.type,lowerBound:f.lowerBound,upperBound:f.upperBound};O.projectState.filters.push(Z)}}}),T(!v))},range:!0,vertical:!0})})})]})}),KT={top:30,right:55,bottom:36,left:55},VLo=["#e0ac2b","#e85252","#6689c6","#9a6fb0","#a53253","#69b3a2","#556b2f","#8b008b","#ff1493","#d2691e","#2f4f4f","#dc143c"],GLo=be.memo(({id:t,width:e,height:n,data:o,types:i,minima:r,maxima:a,filters:l,steps:s,variables:c,titles:u,units:d,digits:f,tickIntegers:p,hover:g,hoveredIndex:A,selectedIndex:w})=>{const b=e-KT.right-KT.left,C=n-KT.top-KT.bottom,P=m.useMemo(()=>[...new Set(o.map(H=>H.group))],[o]),v=m.useMemo(()=>HC().range([0,b]).domain(c).padding(0),[c,b]),T=m.useMemo(()=>{const H={};return c.forEach((D,k)=>{H[D]=QF().range([C,0]).domain([r[k]??0,a[k]??1])}),H},[c,r,a,C]),y=m.useMemo(()=>Cee().domain(P).range(VLo),[P]),S=q9e(),x=m.useMemo(()=>o.map((H,D)=>{if(H.invisible)return null;const k=c.map(N=>{const L=T[N],E=v(N)??0,U=L(H[N]);return[E,U]}),W=S(k);if(W)return h.jsx("path",{onMouseOver:()=>{g(D)},d:W,stroke:H.hovered?"red":y(H.group),fill:"none",strokeWidth:H.excluded?.25:H.selected?3:1,strokeDasharray:H.hovered?"3,3":"none"},D)}),[o,c,v,T,y]),R=m.useMemo(()=>c.map((H,D)=>{const k=T[H];return h.jsx("g",{transform:"translate("+v(H)+",0)",children:h.jsx(_Lo,{yScale:k,tickLength:40,tickIntegers:p[D],type:i[D]??"number",variable:c[D],name:u[D],unit:d[D],digits:f[D],min:r[D],max:a[D],step:s[D],value:A>=0&&!o[A].invisible?o[A][H]:w>=0&&!o[w].invisible?o[w][H]:void 0,filter:l[D],hover:g})},D)}),[c,o,v,T,p,i,u,d,f,r,a,s,l,w,A]);return h.jsx("svg",{id:t,width:e,height:n,onMouseLeave:()=>{g&&g(-1)},onContextMenu:H=>{H.stopPropagation()},children:h.jsxs("g",{width:b,height:C,transform:`translate(${[KT.left,KT.top].join(",")})`,children:[x,R]})})});var jhe={};(function(t){(function(){var e=t||!1||this||window;e.default=e;var n="http://www.w3.org/2000/xmlns/",o="http://www.w3.org/1999/xhtml",i="http://www.w3.org/2000/svg",r=']>',a=/url\(["']?(.+?)["']?\)/,l={woff2:"font/woff2",woff:"font/woff",otf:"application/x-font-opentype",ttf:"application/x-font-ttf",eot:"application/vnd.ms-fontobject",sfnt:"application/font-sfnt",svg:"image/svg+xml"},s=function(k){return k instanceof HTMLElement||k instanceof SVGElement},c=function(k){if(!s(k))throw new Error("an HTMLElement or SVGElement is required; got "+k)},u=function(k){return new Promise(function(W,N){s(k)?W(k):N(new Error("an HTMLElement or SVGElement is required; got "+k))})},d=function(k){return k&&k.lastIndexOf("http",0)===0&&k.lastIndexOf(window.location.host)===-1},f=function(k){var W=Object.keys(l).filter(function(N){return k.indexOf("."+N)>0}).map(function(N){return l[N]});return W?W[0]:(console.error("Unknown font format for "+k+". Fonts may not be working correctly."),"application/octet-stream")},p=function(k){for(var W="",N=new Uint8Array(k),L=0;L"u"||L===null||isNaN(parseFloat(L))?0:L},A=function(k,W,N,L){if(k.tagName==="svg")return{width:N||g(k,W,"width"),height:L||g(k,W,"height")};if(k.getBBox){var E=k.getBBox(),U=E.x,F=E.y,B=E.width,_=E.height;return{width:U+B,height:F+_}}},w=function(k){return decodeURIComponent(encodeURIComponent(k).replace(/%([0-9A-F]{2})/g,function(W,N){var L=String.fromCharCode("0x"+N);return L==="%"?"%25":L}))},b=function(k){for(var W=window.atob(k.split(",")[1]),N=k.split(",")[0].split(":")[1].split(";")[0],L=new ArrayBuffer(W.length),E=new Uint8Array(L),U=0;U"u",J=F||[];return x().forEach(function(Z){var ie=Z.rules,ee=Z.href;ie&&Array.from(ie).forEach(function(q){if(typeof q.style<"u")if(C(k,q.selectorText))Y.push(_(q.selectorText,q.style.cssText));else if(O&&q.cssText.match(/^@font-face/)){var ae=P(q,ee);ae&&J.push(ae)}else B||Y.push(q.cssText)})}),y(J).then(function(Z){return Y.join(` `)+Z})},H=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};e.prepareSvg=function(D,k,W){c(D);var N=k||{},L=N.left,E=L===void 0?0:L,U=N.top,F=U===void 0?0:U,B=N.width,_=N.height,Y=N.scale,O=Y===void 0?1:Y,J=N.responsive,Z=J===void 0?!1:J,ie=N.excludeCss,ee=ie===void 0?!1:ie;return v(D).then(function(){var q=D.cloneNode(!0);q.style.backgroundColor=(k||{}).backgroundColor||D.style.backgroundColor;var ae=A(D,q,B,_),ne=ae.width,se=ae.height;if(D.tagName!=="svg")if(D.getBBox){q.getAttribute("transform")!=null&&q.setAttribute("transform",q.getAttribute("transform").replace(/translate\(.*?\)/,""));var le=document.createElementNS("http://www.w3.org/2000/svg","svg");le.appendChild(q),q=le}else{console.error("Attempted to render non-SVG element",D);return}if(q.setAttribute("version","1.1"),q.setAttribute("viewBox",[E,F,ne,se].join(" ")),q.getAttribute("xmlns")||q.setAttributeNS(n,"xmlns",i),q.getAttribute("xmlns:xlink")||q.setAttributeNS(n,"xmlns:xlink","http://www.w3.org/1999/xlink"),Z?(q.removeAttribute("width"),q.removeAttribute("height"),q.setAttribute("preserveAspectRatio","xMinYMin meet")):(q.setAttribute("width",ne*O),q.setAttribute("height",se*O)),Array.from(q.querySelectorAll("foreignObject > *")).forEach(function(pe){pe.setAttributeNS(n,"xmlns",pe.tagName==="svg"?i:o)}),ee){var te=document.createElement("div");te.appendChild(q);var he=te.innerHTML;if(typeof W=="function")W(he,ne,se);else return{src:he,width:ne,height:se}}else return R(D,k).then(function(pe){var fe=document.createElement("style");fe.setAttribute("type","text/css"),fe.innerHTML=``;var $=document.createElement("defs");$.appendChild(fe),q.insertBefore($,q.firstChild);var de=document.createElement("div");de.appendChild(q);var Se=de.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if(typeof W=="function")W(Se,ne,se);else return{src:Se,width:ne,height:se}})})},e.svgAsDataUri=function(D,k,W){return c(D),e.prepareSvg(D,k).then(function(N){var L=N.src,E=N.width,U=N.height,F="data:image/svg+xml;base64,"+window.btoa(w(r+L));return typeof W=="function"&&W(F,E,U),F})},e.svgAsPngUri=function(D,k,W){c(D);var N=k||{},L=N.encoderType,E=L===void 0?"image/png":L,U=N.encoderOptions,F=U===void 0?.8:U,B=N.canvg,_=function(O){var J=O.src,Z=O.width,ie=O.height,ee=document.createElement("canvas"),q=ee.getContext("2d"),ae=window.devicePixelRatio||1;ee.width=Z*ae,ee.height=ie*ae,ee.style.width=ee.width+"px",ee.style.height=ee.height+"px",q.setTransform(ae,0,0,ae,0,0),B?B(ee,J):q.drawImage(J,0,0);var ne=void 0;try{ne=ee.toDataURL(E,F)}catch(se){if(typeof SecurityError<"u"&&se instanceof SecurityError||se.name==="SecurityError"){console.error("Rendered SVG images cannot be downloaded in this browser.");return}else throw se}return typeof W=="function"&&W(ne,ee.width,ee.height),Promise.resolve(ne)};return B?e.prepareSvg(D,k).then(_):e.svgAsDataUri(D,k).then(function(Y){return new Promise(function(O,J){var Z=new Image;Z.onload=function(){return O(_({src:Z,width:Z.width,height:Z.height}))},Z.onerror=function(){J(`There was an error loading the data URI as an image on the following SVG `+window.atob(Y.slice(26))+`Open the following link to see browser's diagnosis -`+Y)},Z.src=Y})})},e.download=function(D,k,W){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(b(k),D);else{var N=document.createElement("a");if("download"in N){N.download=D,N.style.display="none",document.body.appendChild(N);try{var L=b(k),E=URL.createObjectURL(L);N.href=E,N.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(E)})}}catch(U){console.error(U),console.warn("Error while getting object URL. Falling back to string URL."),N.href=k}N.click(),document.body.removeChild(N)}else W&&W.popup&&(W.popup.document.title=D,W.popup.location.replace(k))}},e.saveSvg=function(D,k,W){var N=H();return u(D).then(function(L){return e.svgAsDataUri(L,W||{})}).then(function(L){return e.download(k,L,N)})},e.saveSvgAsPng=function(D,k,W){var N=H();return u(D).then(function(L){return e.svgAsPngUri(L,W||{})}).then(function(L){return e.download(k,L,N)})}})()})(jhe);const JLo=be.memo(({horizontalGrid:t,verticalGrid:e,symbolSize:n,changeHorizontalGrid:o,changeVerticalGrid:i,changeSymbolSize:r})=>{const a=Kt(),[l,s]=m.useState(!1),c=()=>{o==null||o(!t)},u=()=>{i==null||i(!e)},d=f=>{r==null||r(f)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:1,max:8,value:n,onChange:d,children:j.t("menu.graph.SymbolSize",a)+":"}),h.jsx(c7,{checked:t,onClick:c,children:j.t("menu.graph.ShowHorizontalGridLines",a)}),h.jsx(c7,{checked:e,onClick:u,children:j.t("menu.graph.ShowHorizontalGridLines",a)})]}),children:h.jsx(wtn,{style:{position:"absolute",fontSize:"20px",top:"10px",right:"10px",transition:"0.5s",color:l?"black":"darkgray",cursor:"pointer"},onMouseOver:()=>{s(!0)},onMouseOut:()=>{s(!1)}})})}),{TextArea:KLo}=ns,{Option:Bh}=Yo,qLo=Ho.div` +`+Y)},Z.src=Y})})},e.download=function(D,k,W){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(b(k),D);else{var N=document.createElement("a");if("download"in N){N.download=D,N.style.display="none",document.body.appendChild(N);try{var L=b(k),E=URL.createObjectURL(L);N.href=E,N.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(E)})}}catch(U){console.error(U),console.warn("Error while getting object URL. Falling back to string URL."),N.href=k}N.click(),document.body.removeChild(N)}else W&&W.popup&&(W.popup.document.title=D,W.popup.location.replace(k))}},e.saveSvg=function(D,k,W){var N=H();return u(D).then(function(L){return e.svgAsDataUri(L,W||{})}).then(function(L){return e.download(k,L,N)})},e.saveSvgAsPng=function(D,k,W){var N=H();return u(D).then(function(L){return e.svgAsPngUri(L,W||{})}).then(function(L){return e.download(k,L,N)})}})()})(jhe);const XLo=be.memo(({horizontalGrid:t,verticalGrid:e,symbolSize:n,changeHorizontalGrid:o,changeVerticalGrid:i,changeSymbolSize:r})=>{const a=Kt(),[l,s]=m.useState(!1),c=()=>{o==null||o(!t)},u=()=>{i==null||i(!e)},d=f=>{r==null||r(f)};return h.jsx(gl,{content:h.jsxs("div",{style:{width:"200px"},children:[h.jsx(bC,{min:1,max:8,value:n,onChange:d,children:j.t("menu.graph.SymbolSize",a)+":"}),h.jsx(c7,{checked:t,onClick:c,children:j.t("menu.graph.ShowHorizontalGridLines",a)}),h.jsx(c7,{checked:e,onClick:u,children:j.t("menu.graph.ShowHorizontalGridLines",a)})]}),children:h.jsx(ytn,{style:{position:"absolute",fontSize:"20px",top:"10px",right:"10px",transition:"0.5s",color:l?"black":"darkgray",cursor:"pointer"},onMouseOver:()=>{s(!0)},onMouseOut:()=>{s(!1)}})})}),{TextArea:JLo}=ns,{Option:Bh}=Yo,KLo=Ho.div` position: relative; top: 0; left: 0; @@ -9594,7 +9594,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; tab-index: -1; // set to be not focusable z-index: 7; // must be less than other panels background: white; -`,$Lo=Ho.div` +`,qLo=Ho.div` background-color: #f8f8f8; position: absolute; left: 0; @@ -9606,7 +9606,7 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; flex-direction: column; overflow-x: hidden; overflow-y: hidden; -`,QLo=Ho.div` +`,$Lo=Ho.div` width: 100%; height: 24px; padding: 10px; @@ -9615,12 +9615,12 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; display: flex; justify-content: space-between; align-items: center; -`,ZLo=Ho.div` +`,QLo=Ho.div` width: 100%; display: flex; justify-content: space-between; align-items: center; -`,eWo=Ho.div` +`,ZLo=Ho.div` width: 100%; display: flex; justify-content: space-between; @@ -9628,12 +9628,12 @@ gi.version="2.29.4";WIo(vc);gi.fn=Ko;gi.min=TDo;gi.max=PDo;gi.now=CDo;gi.utc=f3; padding-top: 6px; padding-bottom: 6px; background: white; -`,tWo=Ho.div` +`,eWo=Ho.div` height: 100%; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; background: white; -`,nWo=be.memo(({relativeWidth:t,canvas:e})=>{const n=M(dn),o=M(o1),i=M(yH),r=M(kje),a=M(Fje),l=M(n7t),s=M(o7t),c=M(Lje),u=M(t7t),d=M(i7t),f=M(r7t),p=M(f7t),g=M(c7t),A=M(d7t),w=M(u7t),b=M(a7t),C=M(l7t),P=M(s7t),v=M(kq),T=M(zq),[y,S]=m.useState(),[x,R]=m.useState(),[H,D]=m.useState(!1),[k,W]=m.useState(!1),N=m.useRef(!1),L=m.useRef(u??null),E=m.useRef(!1),U=m.useRef(!1),F=m.useRef(d??n9.ALL),B=m.useRef(!1),_=m.useRef(l??[]),Y=m.useRef(f??200),O=m.useRef(b??"rowWidth"),J=m.useRef(C??"rowWidth"),Z=m.useRef(P??5),ie=m.useRef(!0),ee=m.useRef(!0);m.useEffect(()=>{O.current=b??"rowWidth"},[b]),m.useEffect(()=>{J.current=C??"rowWidth"},[C]),m.useEffect(()=>{Z.current=P??5},[P]),m.useEffect(()=>{Y.current=f??200},[f]);const{t:q}=jl(),ae=Kt(),ne=o.uid===a;m.useEffect(()=>{if(_.current=[],l){for(const st of l)_.current.push(st);const Ye=c;if(Ye){const st=g?1:-1;_.current.sort((je,mt)=>Ye?Ye==="rowWidth"&&"rowsPerRack"in je&&"rowsPerRack"in mt?st*(je.rowsPerRack-mt.rowsPerRack):Ye==="orientation"?st*((je[Ye]==="Landscape"?0:1)-(mt[Ye]==="Landscape"?0:1)):Ye==="totalYearlyYield"&&"yearlyYield"in je&&"yearlyYield"in mt?st*(je.yearlyYield-mt.yearlyYield):Ye==="meanYearlyYield"&&"yearlyYield"in je&&"yearlyYield"in mt?st*(je.yearlyYield/je.panelCount-mt.yearlyYield/mt.panelCount):Ye==="totalYearlyCost"?st*(xe.calculateCost(je)-xe.calculateCost(mt)):Ye==="yearlyProfit"?st*(xe.calculateProfit(je)-xe.calculateProfit(mt)):Ye in je&&Ye in mt?st*(je[Ye]-mt[Ye]):0:0)}D(!H)}},[l,g,c]),m.useEffect(()=>{if(S(void 0),l){for(const Ye of l)if(Ye.title===i){S(Ye);break}}},[i,l]),m.useEffect(()=>{const Ye=()=>{D(!H)};return window.addEventListener("resize",Ye),()=>{window.removeEventListener("resize",Ye)}},[H]);const se=()=>{n(Ye=>{Ye.projectView=!1,Ye.projectState.title=null,Ye.projectState.description=null,Ye.projectState.owner=null,Ye.projectImages.clear()}),S(void 0),ht.getState().set(Ye=>{Ye.projectImagesUpdateFlag=!Ye.projectImagesUpdateFlag})},le=()=>{ht.getState().set(Ye=>{Ye.curateDesignToProjectFlag=!0})},te=()=>{o.uid&&r&&y&&kYn(o.uid,r,y).then(()=>{n(Ye=>{if(Ye.projectState.designs){let st=-1;for(const[je,mt]of Ye.projectState.designs.entries())if(mt.title===y.title){st=je;break}st>=0&&Ye.projectState.designs.splice(st,1)}})})},he=window.innerHeight,pe=Math.round(800/Y.current),fe=48/pe,$=Math.round(t*window.innerWidth/pe-fe),[de,Se,Ce,ve,Ie,ze]=m.useMemo(()=>[dd.getVariables(s,p??[]),dd.getTitles(s,ae,p??[]),dd.getUnits(s,ae,p??[]),dd.getDigits(s,p??[]),dd.getTickIntegers(s,p??[]),dd.getTypes(s,p??[])],[s,p,k,ae]),ye=m.useMemo(()=>{const Ye=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const st of l){const je={};if(p!=null&&p.includes("rowWidth")||(je.rowWidth=st.rowsPerRack),p!=null&&p.includes("tiltAngle")||(je.tiltAngle=xe.toDegrees(st.tiltAngle)),p!=null&&p.includes("interRowSpacing")||(je.interRowSpacing=st.interRowSpacing),p!=null&&p.includes("latitude")||(je.latitude=st.latitude??42),p!=null&&p.includes("orientation")||(je.orientation=st.orientation===ui.landscape?0:1),p!=null&&p.includes("poleHeight")||(je.poleHeight=st.poleHeight),p!=null&&p.includes("unitCost")||(je.unitCost=st.unitCost),p!=null&&p.includes("sellingPrice")||(je.sellingPrice=st.sellingPrice),p!=null&&p.includes("")||(je.totalYearlyCost=xe.calculateCost(st)),p!=null&&p.includes("totalYearlyYield")||(je.totalYearlyYield=st.yearlyYield*.001),p!=null&&p.includes("meanYearlyYield")||(je.meanYearlyYield=st.yearlyYield/st.panelCount),p!=null&&p.includes("yearlyProfit")||(je.yearlyProfit=xe.calculateProfit(st)),je.group=d===n9.INDIVIDUALS?st.title:"default",je.selected=y===st,je.hovered=x===st,je.invisible=st.invisible,je.excluded=!1,w){for(const mt of w)if(mt.type===HL.Between&&mt.upperBound!==void 0&&mt.lowerBound!==void 0){const Ht=je[mt.variable];if(typeof Ht=="number"&&(Ht>mt.upperBound||Ht{n(Ye=>{if(Ye.projectState.designs)for(const[st,je]of Ye.projectState.designs.entries())je.excluded=ye[st].excluded})},[ye]);const oe=(Ye,st)=>{let je=st;if(A){for(const mt of A)if(mt.variable===Ye){je=mt.minimum??st;break}}return je},ge=(Ye,st)=>{let je=st;if(A){for(const mt of A)if(mt.variable===Ye){je=mt.maximum??st;break}}return je},Ae=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Ye=[];return p!=null&&p.includes("rowWidth")||Ye.push(oe("rowWidth",v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Ye.push(oe("tiltAngle",xe.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Ye.push(oe("interRowSpacing",v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Ye.push(oe("latitude",-90)),p!=null&&p.includes("orientation")||Ye.push(0),p!=null&&p.includes("poleHeight")||Ye.push(oe("poleHeight",0)),p!=null&&p.includes("unitCost")||Ye.push(oe("unitCost",.1)),p!=null&&p.includes("sellingPrice")||Ye.push(oe("sellingPrice",.1)),p!=null&&p.includes("totalYearlyCost")||Ye.push(oe("totalYearlyCost",0)),p!=null&&p.includes("totalYearlyYield")||Ye.push(oe("totalYearlyYield",0)),p!=null&&p.includes("meanYearlyYield")||Ye.push(oe("meanYearlyYield",0)),p!=null&&p.includes("yearlyProfit")||Ye.push(oe("yearlyProfit",-10)),Ye}return[]},[v,s,A,p,k]),me=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Ye=[];return p!=null&&p.includes("rowWidth")||Ye.push(ge("rowWidth",v.maximumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Ye.push(ge("tiltAngle",xe.toDegrees(v.maximumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Ye.push(ge("interRowSpacing",v.maximumInterRowSpacing)),p!=null&&p.includes("latitude")||Ye.push(ge("latitude",90)),p!=null&&p.includes("orientation")||Ye.push(1),p!=null&&p.includes("poleHeight")||Ye.push(ge("poleHeight",5)),p!=null&&p.includes("unitCost")||Ye.push(ge("unitCost",1)),p!=null&&p.includes("sellingPrice")||Ye.push(ge("sellingPrice",.5)),p!=null&&p.includes("totalYearlyCost")||Ye.push(ge("totalYearlyCost",100)),p!=null&&p.includes("totalYearlyYield")||Ye.push(ge("totalYearlyYield",100)),p!=null&&p.includes("meanYearlyYield")||Ye.push(ge("meanYearlyYield",1e3)),p!=null&&p.includes("yearlyProfit")||Ye.push(ge("yearlyProfit",10)),Ye}return[]},[v,s,A,p,k]),Pe=(Ye,st)=>{let je=st;if(w){for(const mt of w)if(mt.variable===Ye){je=mt.lowerBound??st;break}}return je},Me=(Ye,st)=>{let je=st;if(w){for(const mt of w)if(mt.variable===Ye){je=mt.upperBound??st;break}}return je},Te=(Ye,st,je)=>({variable:Ye,type:HL.Between,upperBound:Me(Ye,st),lowerBound:Pe(Ye,je)}),De=m.useMemo(()=>{const Ye=[];return p!=null&&p.includes("rowWidth")||Ye.push(Te("rowWidth",v.maximumRowsPerRack,v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Ye.push(Te("tiltAngle",xe.toDegrees(v.maximumTiltAngle),xe.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Ye.push(Te("interRowSpacing",v.maximumInterRowSpacing,v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Ye.push(Te("latitude",90,-90)),p!=null&&p.includes("orientation")||Ye.push(Te("orientation",1,0)),p!=null&&p.includes("poleHeight")||Ye.push(Te("poleHeight",5,0)),p!=null&&p.includes("unitCost")||Ye.push(Te("unitCost",1,.1)),p!=null&&p.includes("sellingPrice")||Ye.push(Te("sellingPrice",.5,.1)),p!=null&&p.includes("totalYearlyCost")||Ye.push(Te("totalYearlyCost",100,0)),p!=null&&p.includes("totalYearlyYield")||Ye.push(Te("totalYearlyYield",100,0)),p!=null&&p.includes("meanYearlyYield")||Ye.push(Te("meanYearlyYield",1e3,0)),p!=null&&p.includes("yearlyProfit")||Ye.push(Te("yearlyProfit",10,-10)),Ye},[k,w,p]),Ue=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Ye=[];return p!=null&&p.includes("rowWidth")||Ye.push(1),p!=null&&p.includes("tiltAngle")||Ye.push(.1),p!=null&&p.includes("interRowSpacing")||Ye.push(.1),p!=null&&p.includes("latitude")||Ye.push(.1),p!=null&&p.includes("orientation")||Ye.push(1),p!=null&&p.includes("poleHeight")||Ye.push(.1),p!=null&&p.includes("unitCost")||Ye.push(.01),p!=null&&p.includes("sellingPrice")||Ye.push(.01),p!=null&&p.includes("totalYearlyCost")||Ye.push(.1),p!=null&&p.includes("totalYearlyYield")||Ye.push(1),p!=null&&p.includes("meanYearlyYield")||Ye.push(1),p!=null&&p.includes("yearlyProfit")||Ye.push(.1),Ye}return[]},[s,p,k]),Oe=m.useRef(!(p!=null&&p.includes("rowWidth"))),Le=m.useRef(!(p!=null&&p.includes("tiltAngle"))),$e=m.useRef(!(p!=null&&p.includes("interRowSpacing"))),We=m.useRef(!(p!=null&&p.includes("latitude"))),Ee=m.useRef(!(p!=null&&p.includes("orientation"))),Fe=m.useRef(!(p!=null&&p.includes("poleHeight"))),Ge=m.useRef(!(p!=null&&p.includes("unitCost"))),rt=m.useRef(!(p!=null&&p.includes("sellingPrice"))),Ve=m.useRef(!(p!=null&&p.includes("totalYearlyCost"))),xt=m.useRef(!(p!=null&&p.includes("totalYearlyYield"))),dt=m.useRef(!(p!=null&&p.includes("meanYearlyYield"))),Qe=m.useRef(!(p!=null&&p.includes("yearlyProfit")));m.useEffect(()=>{Oe.current=!(p!=null&&p.includes("rowWidth")),Le.current=!(p!=null&&p.includes("tiltAngle")),$e.current=!(p!=null&&p.includes("interRowSpacing")),We.current=!(p!=null&&p.includes("latitude")),Ee.current=!(p!=null&&p.includes("orientation")),Fe.current=!(p!=null&&p.includes("poleHeight")),Ge.current=!(p!=null&&p.includes("unitCost")),rt.current=!(p!=null&&p.includes("sellingPrice")),Ve.current=!(p!=null&&p.includes("totalYearlyCost")),xt.current=!(p!=null&&p.includes("totalYearlyYield")),dt.current=!(p!=null&&p.includes("meanYearlyYield")),Qe.current=!(p!=null&&p.includes("yearlyProfit")),D(!H)},[p]),m.useEffect(()=>{L.current=u},[u]);const ut=Ye=>{l&&(Ye>=0&&Ye{n(st=>{if(st.projectState.designs){for(const je of st.projectState.designs)if(je.title===Ye){je.invisible=!je.invisible;break}}})},at=Ye=>{ft(Ye.title),ne&&o.uid&&r&&VYn(o.uid,r,Ye)},ot=(Ye,st)=>{n(je=>{je.projectState.hiddenParameters&&(Ye?je.projectState.hiddenParameters.includes(st)&&je.projectState.hiddenParameters.splice(je.projectState.hiddenParameters.indexOf(st),1):je.projectState.hiddenParameters.includes(st)||je.projectState.hiddenParameters.push(st))})},et=(Ye,st)=>{B.current=!0,ne?o.uid&&r&&FYn(o.uid,r,st,!Ye).then(()=>{ot(Ye,st)}):ot(Ye,st)},_e=()=>{n(Ye=>{Ye.projectState.dataColoring=F.current}),ht.getState().set(Ye=>{Ye.updateProjectsFlag=!0}),D(!H)},nt=Ye=>{F.current=Ye,ne?o.uid&&r&&WYn(o.uid,r,F.current).then(()=>{_e()}):_e()},yt=()=>h.jsxs("div",{children:[h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Oe.current=Ye.target.checked,et(Oe.current,"rowWidth"),W(!k)},checked:Oe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Le.current=Ye.target.checked,et(Le.current,"tiltAngle"),W(!k)},checked:Le.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{$e.current=Ye.target.checked,et($e.current,"interRowSpacing"),W(!k)},checked:$e.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{We.current=Ye.target.checked,et(We.current,"latitude"),W(!k)},checked:We.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Ee.current=Ye.target.checked,et(Ee.current,"orientation"),W(!k)},checked:Ee.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Fe.current=Ye.target.checked,et(Fe.current,"poleHeight"),W(!k)},checked:Fe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Ge.current=Ye.target.checked,et(Ge.current,"unitCost"),W(!k)},checked:Ge.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{rt.current=Ye.target.checked,et(rt.current,"sellingPrice"),W(!k)},checked:rt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Ve.current=Ye.target.checked,et(Ve.current,"totalYearlyCost"),W(!k)},checked:Ve.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{xt.current=Ye.target.checked,et(xt.current,"totalYearlyYield"),W(!k)},checked:xt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{dt.current=Ye.target.checked,et(dt.current,"meanYearlyYield"),W(!k)},checked:dt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ye=>{Qe.current=Ye.target.checked,et(Qe.current,"yearlyProfit"),W(!k)},checked:Qe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",ae)})})]}),Tt=()=>h.jsxs(h.Fragment,{children:[h.jsx(Bh,{value:"rowWidth",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",ae)})},"rowWidth"),h.jsx(Bh,{value:"tiltAngle",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",ae)})},"tiltAngle"),h.jsx(Bh,{value:"interRowSpacing",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",ae)})},"interRowSpacing"),h.jsx(Bh,{value:"latitude",children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",ae)})},"latitude"),h.jsx(Bh,{value:"orientation",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",ae)})},"orientation"),h.jsx(Bh,{value:"poleHeight",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",ae)})},"poleHeight"),h.jsx(Bh,{value:"unitCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",ae)})},"unitCost"),h.jsx(Bh,{value:"sellingPrice",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",ae)})},"sellingPrice"),h.jsx(Bh,{value:"totalYearlyCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",ae)})},"totalYearlyCost"),h.jsx(Bh,{value:"totalYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",ae)})},"totalYearlyYield"),h.jsx(Bh,{value:"meanYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",ae)})},"meanYearlyYield"),h.jsx(Bh,{value:"yearlyProfit",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",ae)})},"yearlyProfit")]}),Rt=m.useMemo(()=>{const Ye=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const st of l){if(st.invisible||st===y)continue;const je={};dd.setScatterData(O.current,"x",je,st),dd.setScatterData(J.current,"y",je,st),Ye.push(je)}return Ye},[O.current,J.current,l,s,y]),Wt=m.useMemo(()=>{const Ye=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const st of l){if(st!==y)continue;const je={};dd.setScatterData(O.current,"x",je,st),dd.setScatterData(J.current,"y",je,st),Ye.push(je)}return Ye},[O.current,J.current,l,s,y]),Ct=Ye=>{const st={min:0,max:1};if(s===Tr.SOLAR_PANEL_ARRAY&&v)switch(Ye){case"rowWidth":st.min=oe("rowWidth",v.minimumRowsPerRack),st.max=ge("rowWidth",v.maximumRowsPerRack);break;case"tiltAngle":st.min=oe("tiltAngle",xe.toDegrees(v.minimumTiltAngle)),st.max=ge("tiltAngle",xe.toDegrees(v.maximumTiltAngle));break;case"interRowSpacing":st.min=oe("interRowSpacing",v.minimumInterRowSpacing),st.max=ge("interRowSpacing",v.maximumInterRowSpacing);break;case"latitude":st.min=oe("latitude",-90),st.max=ge("latitude",90);break;case"orientation":st.min=0,st.max=1;break;case"poleHeight":st.min=oe("poleHeight",0),st.max=ge("poleHeight",5);break;case"unitCost":st.min=oe("unitCost",.1),st.max=ge("unitCost",1);break;case"sellingPrice":st.min=oe("sellingPrice",.1),st.max=ge("sellingPrice",.5);break;case"totalYearlyCost":st.min=oe("totalYearlyCost",0),st.max=ge("totalYearlyCost",100);break;case"totalYearlyYield":st.min=oe("totalYearlyYield",0),st.max=ge("totalYearlyYield",100);break;case"meanYearlyYield":st.min=oe("meanYearlyYield",0),st.max=ge("meanYearlyYield",1e3);break;case"yearlyProfit":st.min=oe("yearlyProfit",-10),st.max=ge("yearlyProfit",10);break}return st},At=m.useMemo(()=>Ct(O.current),[O.current,A]),Ft=m.useMemo(()=>Ct(J.current),[J.current,A]),Ke=m.useMemo(()=>dd.getUnit(O.current,ae),[O.current,ae]),Je=m.useMemo(()=>dd.getUnit(J.current,ae),[J.current,ae]),ct=()=>h.jsxs("div",{style:{width:"280px"},children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectXAxis",ae),": "]})}),h.jsx(it,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:O.current,onChange:Ye=>{O.current=Ye,ne&&o.uid&&r&&UYn(o.uid,r,Ye).then(()=>{}),D(!H)},children:Tt()})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(it,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectYAxis",ae),": "]})}),h.jsx(it,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:J.current,onChange:Ye=>{J.current=Ye,ne&&o.uid&&r&&BYn(o.uid,r,Ye).then(()=>{}),D(!H)},children:Tt()})})]}),h.jsx(nn,{style:{paddingBottom:"8px"},children:h.jsxs("div",{children:[h.jsxs(wIo,{id:"scatter-chart",width:280,height:240,margin:{top:0,right:0,bottom:-10,left:-10},children:[h.jsx(A7,{strokeWidth:"1",stroke:"gray",horizontal:ie.current,vertical:ee.current}),h.jsx(t1,{dataKey:"x",fontSize:10,type:"number",domain:[At.min,At.max],name:"x",unit:Ke,strokeWidth:1,stroke:"gray",tickFormatter:(Ye,st)=>O.current==="yearlyProfit"||O.current==="unitCost"||O.current==="sellingPrice"?"$"+Ye:Ye}),h.jsx(gh,{dataKey:"y",fontSize:10,type:"number",domain:[Ft.min,Ft.max],name:"y",unit:Je,strokeWidth:1,stroke:"gray",tickFormatter:(Ye,st)=>J.current==="yearlyProfit"||J.current==="unitCost"||J.current==="sellingPrice"?"$"+Ye:Ye}),h.jsx(Zf,{cursor:{strokeDasharray:"3 3"},formatter:Ye=>Ye.toFixed(2)}),h.jsx(db,{name:"All",data:Rt,fill:"#8884d8",shape:h.jsx($N,{fill:"#8884d8",r:Z.current})}),y&&h.jsx(db,{name:"Selected",data:Wt,fill:"red",shape:"star"})]}),h.jsx(JLo,{symbolSize:Z.current,horizontalGrid:ie.current,verticalGrid:ee.current,changeHorizontalGrid:Ye=>{ie.current=Ye,D(!H)},changeVerticalGrid:Ye=>{ee.current=Ye,D(!H)},changeSymbolSize:Ye=>{Z.current=Ye,ne&&o.uid&&r&&jYn(o.uid,r,Ye).then(()=>{}),D(!H)}})]})}),h.jsx(nn,{children:h.jsx("span",{style:{width:"100%",textAlign:"center"},children:h.jsx(_u,{style:{fontSize:"18px",color:"gray",paddingRight:"8px"},title:q("projectPanel.ScatterPlotScreenshot",ae),onClick:()=>{const Ye=document.getElementById("scatter-chart");Ye&&jhe.saveSvgAsPng(Ye,"scatter-chart-"+r+".png").then(()=>{hn(q("message.ScreenshotSaved",ae))})}})})})]}),Pt=()=>h.jsx("div",{children:h.jsxs(Be.Group,{onChange:Ye=>{nt(Ye.target.value)},value:d??n9.ALL,children:[h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.ALL,children:q("projectPanel.SameColorForAllDesigns",ae)}),h.jsx("br",{}),h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.INDIVIDUALS,children:q("projectPanel.OneColorForEachDesign",ae)})]})}),Ne=()=>h.jsx("div",{style:{width:"250px"},onClick:Ye=>Ye.stopPropagation(),children:h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{span:14,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.ThumbnailImageSize",ae),": "]})}),h.jsx(it,{span:10,children:h.jsxs(Yo,{style:{width:"100%"},value:Y.current,onChange:Ye=>{Y.current=Ye,ne?o.uid&&r&&YYn(o.uid,r,Ye).then(()=>{n(st=>{st.projectState.thumbnailWidth=Y.current})}):n(st=>{st.projectState.thumbnailWidth=Y.current}),D(!H)},children:[h.jsx(Bh,{value:100,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Small",ae)})},"small-thumbnail"),h.jsx(Bh,{value:125,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Medium",ae)})},"medium-thumbnail"),h.jsx(Bh,{value:200,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Large",ae)})},"large-thumbnail")]})})]})}),lt=[{key:"1",label:h.jsxs(ZLo,{children:[h.jsx("span",{children:q("projectPanel.ProjectDescription",ae)+" | "+q("projectPanel.ProjectType",ae)+": "+s}),h.jsxs("span",{children:[ne&&h.jsxs(h.Fragment,{children:[U.current&&h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>{Ye.stopPropagation(),N.current=!N.current,D(!H)},children:N.current?h.jsx(rtn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionNonEditable",ae)}):h.jsx(YJe,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionEditable",ae)})}),h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>{Ye.stopPropagation(),le()},children:h.jsx(utn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.CurateCurrentDesign",ae)})}),y&&y.title===i&&h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>{Ye.stopPropagation(),e&&o.uid&&r&&i&&GYn(o.uid,s,r,f??200,i,e).then(()=>{D(!H)})},children:h.jsx(Zen,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.UpdateSelectedDesign",ae)})}),y&&h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>{Ye.stopPropagation(),te(),S(void 0)},children:h.jsx(C_t,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.RemoveSelectedDesign",ae)})}),y&&h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>{if(Ye.stopPropagation(),r){let st=qp+"?client=web&userid="+o.uid+"&project="+encodeURIComponent(r);y&&(st+="&title="+encodeURIComponent(y.title)),navigator.clipboard.writeText(st).then(()=>y2(q("projectListPanel.ProjectLinkGeneratedInClipBoard",ae)+"."))}},children:h.jsx(mtn,{style:{fontSize:"24px",color:"gray"},title:q("projectListPanel.GenerateProjectLink",ae)})})]}),l&&l.length>1&&c&&h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>{Ye.stopPropagation(),n(st=>{st.projectState.sortDescending=!st.projectState.sortDescending})},children:g?h.jsx(ktn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",ae)}):h.jsx(Wtn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",ae)})}),h.jsx(gl,{title:h.jsx("div",{onClick:Ye=>Ye.stopPropagation(),children:q("projectPanel.ProjectSettings",ae)}),content:Ne,children:h.jsx(oo,{style:{border:"none",padding:"4px"},onClick:Ye=>Ye.stopPropagation(),children:h.jsx(ztn,{style:{fontSize:"24px",color:"gray"}})})})]})]}),children:h.jsx(KLo,{title:N.current?void 0:q("projectPanel.DoubleClickToMakeDescriptionEditable",ae),readOnly:!N.current,value:L.current??void 0,onDoubleClick:()=>{N.current=!N.current,D(!H)},onChange:Ye=>{L.current=Ye.target.value,E.current=!0,n(st=>{st.projectState.description=Ye.target.value}),D(!H)},onBlur:()=>{N.current=!1,E.current&&o.uid&&ne&&r&&LYn(o.uid,r,L.current).then(()=>{E.current=!1,D(!H)})},style:{paddingLeft:"10px",textAlign:"left",resize:N.current?"vertical":"none",border:N.current?"1px solid gray":"none"}})}];return h.jsx(qLo,{onContextMenu:Ye=>{Ye.stopPropagation()},children:h.jsxs($Lo,{children:[h.jsxs(QLo,{children:[h.jsx("span",{children:q(ne?"projectPanel.Project":"projectPanel.ProjectByOtherPeople",ae)+": "+r+(ne?"":" ("+q("word.Owner",ae)+": "+(a==null?void 0:a.substring(0,4))+"***)")+" ("+_.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{se()},onTouchStart:()=>{se()},children:h.jsx(E7,{title:q("word.Close",ae)})})]}),h.jsx(zme,{items:lt,style:{backgroundColor:"white",border:"none"},onChange:Ye=>{U.current=Ye.length>0,D(!H)}}),_.current.length>0&&h.jsxs(tWo,{children:[h.jsx(O0e,{style:{width:"100%",height:he/2-(U.current?160:80),paddingLeft:"4px",paddingRight:"4px",overflowX:"hidden",overflowY:"auto"},grid:{column:pe,gutter:1},dataSource:_.current,renderItem:Ye=>{var mt;const st=Ye.title.lastIndexOf(" "),je=f===100?8:f===125?12:30;return h.jsxs(O0e.Item,{style:{marginBottom:"-28px"},onMouseOver:()=>{R(Ye)},onMouseLeave:()=>{R(void 0)},children:[h.jsx("img",{loading:"eager",width:$+"px",height:"auto",onError:Ht=>{Ht.target.src=$O},onLoad:Ht=>{n(wt=>{wt.projectImages.set(Ye.title,Ht.target)}),ht.getState().set(wt=>{wt.projectImagesUpdateFlag=!wt.projectImagesUpdateFlag})},alt:Ye.title,title:(Ye.timestamp?q("word.LastUpdate",ae)+": "+gc(new Date(Ye.timestamp)).format("MM-DD-YYYY hh:mm A")+` -`:"")+q(y===Ye?"projectPanel.SingleClickToDeselectDoubleClickToOpen":"projectPanel.SingleClickToSelectDoubleClickToOpen",ae),src:(mt=Ye.thumbnail)!=null&&mt.startsWith("data:image/png;base64")?Ye.thumbnail:$O,style:{transition:".5s ease",opacity:Ye.excluded?.25:x===Ye?.5:1,padding:"1px",cursor:"pointer",borderRadius:y===Ye?"0":"10px",border:y===Ye?"2px solid red":"none"},onDoubleClick:Ht=>{const wt=Ht.target;wt.src===$O&&(wt.src=Ye.thumbnailUrl),S(Ye),a&&IX(a,Ye.title,!0,!0).then(()=>{})},onClick:Ht=>{const wt=Ht.target;wt.src===$O&&(wt.src=Ye.thumbnailUrl),S(Ye!==y?Ye:void 0)}}),h.jsx("div",{style:{position:"relative",left:"10px",textAlign:"left",bottom:"18px",color:"white",fontSize:"8px",fontWeight:Ye.title===i?"bold":"normal"},children:Ye.title?Ye.title.length>je?Ye.title.substring(0,Math.min(je,st))+"..."+Ye.title.substring(st):Ye.title:"Unknown"}),h.jsxs("div",{style:{position:"relative",right:"10px",textAlign:"right",bottom:"36px",color:"white"},children:[Ye.title===i&&h.jsx(HJe,{style:{paddingRight:"4px",fontSize:"16px"}}),Ye.invisible?h.jsx(qen,{onClick:()=>{at(Ye)},style:{fontSize:"16px"},title:q("projectPanel.DesignNotShownInSolutionSpaceClickToShow",ae)}):h.jsx(Yge,{onClick:()=>{at(Ye)},style:{fontSize:"16px"},title:q("projectPanel.DesignShownInSolutionSpaceClickToHide",ae)})]})]})}}),h.jsxs(eWo,{children:[h.jsx("span",{style:{paddingLeft:"20px"},children:q("projectPanel.SolutionSpace",ae)}),h.jsxs("span",{children:[s===Tr.SOLAR_PANEL_ARRAY&&h.jsx(gl,{title:q("projectPanel.ChooseSolutionSpace",ae),onOpenChange:Ye=>{B.current&&(Ye||ht.getState().set(st=>{st.updateProjectsFlag=!0}),B.current=!1)},content:yt(),children:h.jsx(oo,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Xen,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.ChooseDataColoring",ae),content:Pt(),children:h.jsx(oo,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Ben,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.GenerateScatterPlot",ae),content:ct(),children:h.jsx(oo,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(BFt,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(oo,{style:{border:"none",paddingRight:"20px",background:"white"},onClick:()=>{const Ye=document.getElementById("design-space");Ye&&jhe.saveSvgAsPng(Ye,"design-space-"+r+".png").then(()=>{hn(q("message.ScreenshotSaved",ae))})},children:h.jsx(_u,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.SolutionSpaceScreenshot",ae)})})]})]}),h.jsx(XLo,{id:"design-space",width:t*window.innerWidth,height:he/2-120,data:ye,types:ze,minima:Ae,maxima:me,filters:De,steps:Ue,variables:de,titles:Se,units:Ce,digits:ve,tickIntegers:Ie,hover:ut,hoveredIndex:l&&x?l.indexOf(x):-1,selectedIndex:l&&y?l.indexOf(y):-1})]})]})})}),oWo=new Gt,I4=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(Ei,{name:e,args:[r,r,r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},QO=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(ts,{name:e,args:[r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},kEe=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr),s=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]);return h.jsxs("group",{name:e,position:[n,o,i],rotation:[Vt,0,0],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),scale:r*4,children:[h.jsxs("group",{children:[h.jsx(B1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:s}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:s}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:s})]}),h.jsx(sa,{name:e,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1})]})},iWo=be.memo(({groupedElementsIdSet:t,childCuboidSet:e,initialPosition:n,initialDimension:o,initialRotation:i})=>{const[r,a,l]=n,[s,c,u]=o,d=s===0?1:c/s,f=t.size>1||e.size>0,p=m.useRef(null),g=m.useRef(new re),A=m.useRef(new Qt),w=m.useRef(new Gt),b=m.useRef(new Map),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new re),H=m.useRef(!1),D=m.useRef(new Map),k=m.useRef(new Map),W=m.useRef(new Map),N=m.useRef(new Map),L=m.useRef(new Map),[E,U]=m.useState(new re(r,a,l)),[F,B]=m.useState(i),[_,Y]=m.useState(s/2),[O,J]=m.useState(c/2),[Z,ie]=m.useState(u),[ee,q]=m.useState(!1),[ae,ne]=m.useState("Null"),{get:se}=Xi(),le=m.useMemo(()=>new Gs,[]),te=m.useMemo(()=>new Gt,[]),he=M(hu),pe=M(Vn),fe=M(nge),$=M(dn),de=M(En);m.useEffect(()=>{ie(u)},[u]),m.useEffect(()=>{U(new re(r,a,l)),Ce(s,c),B(i)},[n,o,i]);const Se=Qe=>{te.x=Qe.offsetX/se().gl.domElement.clientWidth*2-1,te.y=-(Qe.offsetY/se().gl.domElement.clientHeight)*2+1,le.setFromCamera(te,se().camera)},Ce=(Qe,ut)=>{Y(Qe/2),J(ut/2)},ve=Qe=>{q(!0),Ln.getState().setEnableOrbitController(!1),H.current=!0,g.current.set(0,0,0),A.current.set(0,0,0),me(yo.Default),Qe.stopPropagation()},Ie=(Qe,ut,ft)=>{$(at=>{for(const ot of at.elements)if(hd(ot)&&Qe.has(ot.id))[ot.cx,ot.cy,ot.lx,ot.ly]=Qe.get(ot.id);else if(Qe.has(ot.parentId))switch(ot.type){case z.Wall:{const et=ut.get(ot.id);if(!et)continue;const _e=ot,nt=et.slice(0,3),yt=et.slice(3);_e.cx=(nt[0]+yt[0])/2,_e.cy=(nt[1]+yt[1])/2,_e.lx=Math.hypot(nt[0]-yt[0]+(nt[1]-yt[1])),_e.relativeAngle=Math.atan2(yt[1]-nt[1],yt[0]-nt[0]),_e.leftPoint=[...nt],_e.rightPoint=[...yt];break}case z.Window:{const et=ot;if(et.parentType!==z.Roof)continue;const _e=ft.get(ot.id);if(!_e)continue;[et.cx,et.cy]=_e;break}}at.groupActionUpdateFlag=!at.groupActionUpdateFlag,at.updateElementOnRoofFlag=!0})},ze=(Qe,ut)=>{$(ft=>{for(const at of ft.elements){if(Qe.has(at.id)){const ot=Qe.get(at.id);ot!==void 0&&(at.type===z.Roof?at.rise=ot:at.lz=ot)}if(at.type===z.Wall&&ut.has(at.id)){const ot=at,et=ut.get(ot.id);et&&(ot.leftTopPartialHeight=et.upperLeft,ot.rightTopPartialHeight=et.upperRight,ot.leftUnfilledHeight=et.lowerLeft,ot.rightUnfilledHeight=et.lowerRight)}}ft.groupActionUpdateFlag=!ft.groupActionUpdateFlag,ft.updateElementOnRoofFlag=!0})},ye=Qe=>{$(ut=>{for(const ft of ut.elements)if(Qe.has(ft.id)){const at=Qe.get(ft.id);at&&(ft.cx=at[0],ft.cy=at[1],ft.cz=at[2],ft.rotation[2]=at[3])}ut.groupActionUpdateFlag=!ut.groupActionUpdateFlag})},oe=()=>{const Qe=new Map;for(const at of M.getState().elements)(hd(at)&&t.has(at.id)||t.has(at.parentId))&&Qe.set(at.id,[at.cx,at.cy,at.cz,at.rotation[2]]);const ft={name:`${ae==="Move"?"Move":"Rotate"} Foundation Group`,timestamp:Date.now(),oldPositionMap:new Map(D.current),newPositionMap:new Map(Qe),undo:()=>{ye(ft.oldPositionMap)},redo:()=>{ye(ft.newPositionMap)}};de(ft)},ge=()=>{const Qe=new Map,ut=new Map,ft=new Map;for(const ot of M.getState().elements)if(hd(ot)&&D.current.has(ot.id))Qe.set(ot.id,[ot.cx,ot.cy,ot.lx,ot.ly]);else if(k.current.has(ot.id)){const et=ot;ut.set(ot.id,[...et.leftPoint,...et.rightPoint])}else if(L.current.has(ot.id)){const et=ot;if(et.parentType!==z.Roof)continue;ft.set(et.id,[et.cx,et.cy])}const at={name:"Resize Building XY",timestamp:Date.now(),oldFoundationDataMap:new Map(D.current),newFoundationDataMap:new Map(Qe),oldWallPointsMap:new Map(k.current),newWallPointsMap:new Map(ut),oldSkylightPosMap:new Map(L.current),newSkylightPosMap:new Map(ft),undo:()=>{Ie(at.oldFoundationDataMap,at.oldWallPointsMap,at.oldSkylightPosMap)},redo:()=>{Ie(at.newFoundationDataMap,at.newWallPointsMap,at.newSkylightPosMap)}};de(at)},Ae=()=>{const Qe=new Map,ut=new Map;for(const at of M.getState().elements)if(W.current.has(at.id)&&(at.type===z.Roof?Qe.set(at.id,at.rise):Qe.set(at.id,at.lz)),at.type===z.Wall&&N.current.has(at.id)){const ot=at;ut.set(ot.id,{lowerLeft:ot.leftUnfilledHeight,lowerRight:ot.rightUnfilledHeight,upperLeft:ot.leftTopPartialHeight,upperRight:ot.rightTopPartialHeight})}const ft={name:"Resize Building Z",timestamp:Date.now(),oldElementHeightMap:new Map(W.current),newElementHeightMap:new Map(Qe),oldPartialWallHeightMap:new Map(N.current),newPartialWallHeightMap:new Map(ut),undo:()=>{ze(ft.oldElementHeightMap,ft.oldPartialWallHeightMap)},redo:()=>{ze(ft.newElementHeightMap,ft.newPartialWallHeightMap)}};de(ft)},me=Qe=>{$(ut=>{ut.moveHandleType=Qe})},Pe=Qe=>{const ut=new Gt(Qe.x,Qe.y),ft=w.current.clone();if(f){const at=new Gt().subVectors(ut,ft),ot=Math.max(1,at.length()),et=Math.sqrt(Math.pow(ot,2)/(Math.pow(d,2)+1)),_e=et*d,nt=new Gt(et*Math.sign(at.x),_e*Math.sign(at.y)).normalize().multiplyScalar(ot/2).add(ft);U(new re(nt.x,nt.y)),Ce(et,_e),$(yt=>{const Tt=new Map;for(const Rt of yt.elements)if(hd(Rt)&&(t.has(Rt.id)||e.has(Rt.id))){const Wt=S.current.get(Rt.id),Ct=x.current.get(Rt.id);if(Wt&&Ct){const At=Ct[0]*et,Ft=Ct[1]*_e;if(Rt.lx=At,Rt.ly=Ft,Rt.parentId!==Zo){const Ke=Tt.get(Rt.parentId);if(Ke){const{pos:Je,rot:ct}=Ke,Pt=new re(Wt[0]*et+nt.x,Wt[1]*_e+nt.y),Ne=Pt.clone().sub(Je).applyEuler(new Qt(0,0,-ct));Rt.cx=Ne.x,Rt.cy=Ne.y,Tt.set(Rt.id,{pos:Pt.clone(),rot:Rt.rotation[2]+ct})}}else{const Ke=Wt[0]*et+nt.x,Je=Wt[1]*_e+nt.y;Rt.cx=Ke,Rt.cy=Je,Tt.set(Rt.id,{pos:new re(Ke,Je),rot:Rt.rotation[2]})}for(const Ke of yt.elements)if(Ke.foundationId===Rt.id)switch(Ke.type){case z.Wall:{const Je=Ke,ct=C.current.get(Je.id);if(!ct)continue;const[Pt,Ne]=ct,lt=[Pt.x*At,Pt.y*Ft,Rt.lz],Ye=[Ne.x*At,Ne.y*Ft,Rt.lz];Je.cx=(lt[0]+Ye[0])/2,Je.cy=(lt[1]+Ye[1])/2,Je.lx=Math.hypot(lt[0]-Ye[0]+(lt[1]-Ye[1])),Je.relativeAngle=Math.atan2(Ye[1]-lt[1],Ye[0]-lt[0]),Je.leftPoint=[...lt],Je.rightPoint=[...Ye];break}case z.Window:{const Je=Ke;if(Je.parentType!==z.Roof)continue;const ct=v.current.get(Je.id);if(!ct)continue;Je.cx=ct[0]*At,Je.cy=ct[1]*Ft;break}}}}})}else{const at=ft.distanceTo(ut),ot=Math.atan2(ut.x-ft.x,ut.y-ft.y)+F,et=Math.abs(at*Math.sin(ot)),_e=Math.abs(at*Math.cos(ot)),nt=new Gt().addVectors(ut,ft).multiplyScalar(.5);U(new re(nt.x,nt.y)),Ce(et,_e),$(yt=>{for(const Tt of yt.elements)if(t.has(Tt.id))Tt.lx=et,Tt.ly=_e,Tt.cx=nt.x,Tt.cy=nt.y;else if(Tt.foundationId&&t.has(Tt.foundationId))switch(Tt.type){case z.Wall:{const Rt=Tt,Wt=C.current.get(Rt.id);if(!Wt)continue;const[Ct,At]=Wt,Ft=[Ct.x*et,Ct.y*_e,0],Ke=[At.x*et,At.y*_e,0];Rt.cx=(Ft[0]+Ke[0])/2,Rt.cy=(Ft[1]+Ke[1])/2,Rt.lx=Math.hypot(Ft[0]-Ke[0],Ft[1]-Ke[1]),Rt.relativeAngle=Math.atan2(Ke[1]-Ft[1],Ke[0]-Ft[0]),Rt.leftPoint=[...Ft],Rt.rightPoint=[...Ke];break}case z.Window:{const Rt=Tt;if(Rt.parentType!==z.Roof)continue;const Wt=v.current.get(Rt.id);if(!Wt)continue;Rt.cx=Wt[0]*et,Rt.cy=Wt[1]*_e}}})}M.getState().updateElementOnRoofFn()},Me=Qe=>{if(Qe.z<.1)return;const ut=Qe.z;ie(ut),$(ft=>{for(const at of ft.elements)if(b.current.has(at.id)){if(at.type===z.Wall){at.lz=ut*b.current.get(at.id);const ot=at;if(ot.fill===Hl.Partial){const et=P.current.get(ot.id);et&&(ot.leftTopPartialHeight=ut*et.upperLeft,ot.rightTopPartialHeight=ut*et.upperRight,ot.leftUnfilledHeight=ut*et.lowerLeft,ot.rightUnfilledHeight=ut*et.lowerRight)}}else if(at.type===z.Roof)at.rise=ut*b.current.get(at.id);else if(at.type===z.Cuboid){const ot=b.current.get(at.id);if(ot){const et=ot*ut;at.lz=et,at.cz=et/2}}}ft.updateElementOnRoofFlag=!0})},Te=Qe=>{const ut=new re(E.x,E.y),ft=Math.atan2(ut.x-Qe.x,Qe.y-ut.y)+(ae==="Rotate Upper"?0:Math.PI),at=Math.abs(ft)>Math.PI?-na:0,ot=ft+at,et=new Qt(0,0,ot),_e=y.current.size;$(nt=>{for(const yt of nt.elements){if(hd(yt)&&t.has(yt.id)&&!e.has(yt.id)){const Tt=T.current.get(yt.id),Rt=_e!==1?y.current.get(yt.id):0;if(Tt&&Rt!==void 0){const Wt=Tt.clone().applyEuler(et);yt.cx=ut.x+Wt.x,yt.cy=ut.y+Wt.y,yt.rotation=[0,0,Rt+ot]}}if(yt.type!==z.Cuboid&&t.has(yt.parentId)){const Tt=_e!==1?y.current.get(yt.parentId):0;Tt!==void 0&&(yt.rotation=[0,0,Tt+ot])}}}),B(ot)},De=(Qe,ut)=>{const ft=new Gt(E.x,E.y);w.current.set(Qe,ut).rotateAround(oWo,F).add(ft),ne("Resize XY"),S.current.clear(),x.current.clear(),C.current.clear(),D.current.clear(),k.current.clear(),v.current.clear(),L.current.clear();const[at,ot]=[_*2,O*2];for(const et of M.getState().elements)if(hd(et)&&(t.has(et.id)||e.has(et.id))){const{pos:_e}=xe.getWorldDataById(et.id);S.current.set(et.id,[(_e.x-E.x)/at,(_e.y-E.y)/ot]),x.current.set(et.id,[et.lx/at,et.ly/ot]),D.current.set(et.id,[et.cx,et.cy,et.lx,et.ly])}else if(et.foundationId&&t.has(et.foundationId)){const _e=pe(et.foundationId);if(!_e)continue;switch(et.type){case z.Wall:{const nt=et,yt=new Gt(nt.leftPoint[0]/_e.lx,nt.leftPoint[1]/_e.ly),Tt=new Gt(nt.rightPoint[0]/_e.lx,nt.rightPoint[1]/_e.ly);C.current.set(nt.id,[yt,Tt]),k.current.set(nt.id,[...nt.leftPoint,...nt.rightPoint]);break}case z.Window:{const nt=et;if(nt.parentType!==z.Roof)continue;v.current.set(nt.id,[nt.cx/_e.lx,nt.cy/_e.ly]),L.current.set(nt.id,[nt.cx,nt.cy]);break}}}},Ue=(Qe,ut,ft)=>{const{x:at,y:ot}=fe();g.current.set(Qe,ut,ft),A.current.set(-Vt,0,-Math.atan2(at,ot)-F,"ZXY"),ne("Resize Z"),b.current.clear(),W.current.clear(),P.current.clear(),N.current.clear();for(const et of M.getState().elements)if(et.foundationId&&t.has(et.foundationId))if(et.type===z.Wall){b.current.set(et.id,et.lz/Z),W.current.set(et.id,et.lz);const _e=et;_e.fill===Hl.Partial&&(N.current.set(_e.id,{upperLeft:_e.leftTopPartialHeight,upperRight:_e.rightTopPartialHeight,lowerLeft:_e.leftUnfilledHeight,lowerRight:_e.rightUnfilledHeight}),P.current.set(_e.id,{upperLeft:_e.leftTopPartialHeight/Z,upperRight:_e.rightTopPartialHeight/Z,lowerLeft:_e.leftUnfilledHeight/Z,lowerRight:_e.rightUnfilledHeight/Z}))}else et.type===z.Roof&&(b.current.set(et.id,et.rise/Z),W.current.set(et.id,et.rise));else(t.has(et.id)||e.has(et.id))&&(b.current.set(et.id,et.lz/Z),W.current.set(et.id,et.lz))},Oe=Qe=>{switch(ve(Qe),Qe.object.name){case gt.UpperLeft:{De(_,-O);break}case gt.UpperRight:{De(-_,-O);break}case gt.LowerLeft:{De(_,O);break}case gt.LowerRight:{De(-_,O);break}case gt.UpperLeftTop:{Ue(-_,O,Z);break}case gt.UpperRightTop:{Ue(_,O,Z);break}case gt.LowerLeftTop:{Ue(-_,-O,Z);break}case gt.LowerRightTop:{Ue(_,-O,Z);break}}},Le=Qe=>{if(ve(Qe),ne("Move"),Qe.intersections.length>0){const ut=Qe.intersections[0].point.clone().setZ(0);R.current.subVectors(E,ut);for(const ft of M.getState().elements)if(hd(ft)&&t.has(ft.id)){const at=new re(ft.cx,ft.cy),ot=new re().subVectors(at,ut);T.current.set(ft.id,ot),D.current.set(ft.id,[ft.cx,ft.cy,ft.cz,ft.rotation[2]])}}},$e=Qe=>{if(ve(Qe),Qe.object.name===wi.Lower?ne("Rotate Lower"):Qe.object.name===wi.Upper&&ne("Rotate Upper"),Qe.intersections.length>0){const ut=new re(E.x,E.y);for(const ft of M.getState().elements){if(hd(ft)&&t.has(ft.id)){const at=new re(ft.cx,ft.cy),ot=new re().subVectors(at,ut);T.current.set(ft.id,ot),y.current.set(ft.id,ft.rotation[2]),D.current.set(ft.id,[ft.cx,ft.cy,ft.cz,ft.rotation[2]])}t.has(ft.parentId)&&D.current.set(ft.id,[ft.cx,ft.cy,ft.cz,ft.rotation[2]])}}},We=()=>{switch(ae){case"Move":case"Rotate Lower":case"Rotate Upper":oe();break;case"Resize XY":ge();break;case"Resize Z":Ae();break}q(!1),Ln.getState().setEnableOrbitController(!0),H.current=!1,ne("Null"),me(null),$(Qe=>{Qe.groupActionUpdateFlag=!Qe.groupActionUpdateFlag,Qe.updateWallMapOnFoundationFlag=!Qe.updateWallMapOnFoundationFlag,Qe.updateElementOnRoofFlag=!0})},Ee=Qe=>{if(!p.current||!H.current)return;Se(Qe);const ut=le.intersectObjects([p.current]);if(ut.length>0){const ft=ut[0].point;switch(ae){case"Resize XY":Pe(ft);break;case"Resize Z":Me(ft);break;case"Rotate Lower":case"Rotate Upper":Te(ft);break;case"Move":U(new re().addVectors(ft.clone().setZ(0),R.current)),$(at=>{for(const ot of at.elements)if(hd(ot)&&t.has(ot.id)&&!e.has(ot.id)){const et=T.current.get(ot.id);et&&(ot.cx=ft.x+et.x,ot.cy=ft.y+et.y)}});break}}},Fe=UH(),Ge=Fe/2,rt=Z+Ge-Fe/2,Ve=_+Fe,xt=O+Fe,dt=O+Fe*4;return h.jsxs("group",{name:"Group Master",position:E,rotation:[0,0,F],children:[h.jsxs("group",{name:"Resize Handle Group",onPointerDown:Oe,children:[h.jsx(I4,{args:[_,O,Ge,Fe],handleType:gt.UpperRight}),h.jsx(I4,{args:[-_,O,Ge,Fe],handleType:gt.UpperLeft}),h.jsx(I4,{args:[_,-O,Ge,Fe],handleType:gt.LowerRight}),h.jsx(I4,{args:[-_,-O,Ge,Fe],handleType:gt.LowerLeft}),!he&&h.jsxs(h.Fragment,{children:[h.jsx(I4,{args:[_,O,rt,Fe],handleType:gt.UpperRightTop}),h.jsx(I4,{args:[-_,O,rt,Fe],handleType:gt.UpperLeftTop}),h.jsx(I4,{args:[_,-O,rt,Fe],handleType:gt.LowerRightTop}),h.jsx(I4,{args:[-_,-O,rt,Fe],handleType:gt.LowerLeftTop})]})]}),h.jsxs("group",{name:"Move Handle Group",onPointerDown:Le,children:[h.jsx(QO,{args:[0,xt,Ge,Fe],handleType:yo.Upper}),h.jsx(QO,{args:[0,-xt,Ge,Fe],handleType:yo.Lower}),h.jsx(QO,{args:[Ve,0,Ge,Fe],handleType:yo.Right}),h.jsx(QO,{args:[-Ve,0,Ge,Fe],handleType:yo.Left})]}),h.jsxs("group",{name:"Rotate Handle Group",onPointerDown:$e,children:[h.jsx(kEe,{args:[0,dt,Ge,Fe],handleType:wi.Upper}),h.jsx(kEe,{args:[0,-dt,Ge,Fe],handleType:wi.Lower})]}),ee&&h.jsx(sa,{name:"Intersection Plane",ref:p,args:[Math.max(_*2.4,1e3),Math.max(_*2.4,1e3)],visible:!1,position:g.current,rotation:A.current,onPointerMove:Ee,onPointerUp:We}),h.jsx("group",{name:"Wireframe Group",position:[0,0,Z/2],children:h.jsx(s7,{hx:_,hy:O,hz:Z/2,lineColor:"white"})})]})}),rWo=t=>t.parentId===Zo&&(t.type===z.Foundation||t.type===z.Cuboid),aWo=be.memo(()=>{M(Y8t);const t=M(fwt),e=d();if(e.length===0)return null;const{allBaseElements:n,allBaseElementsVerticesMap:o,cuboidParentIdMap:i}=f(),r=new Set(e.map(w=>w.id)),a=[...e];for(const w of e)w.enableGroupMaster&&p(w);const{position:l,dimension:s,rotation:c,childCuboidIdSet:u}=g();function d(){const w=new Set;for(const b of M.getState().elements)t.has(b.id)&&(b.parentId===Zo&&hd(b)?w.add(b.id):b.foundationId&&w.add(b.foundationId));return w.size===0?[]:M.getState().elements.filter(b=>w.has(b.id))}function f(){const w=[],b=new Map,C=new Map;for(const P of M.getState().elements){if(rWo(P)){const v=xe.fetchFoundationVertexCoordinates(P);w.push(P),b.set(P.id,v)}P.type===z.Cuboid&&P.parentId!==Zo&&C.set(P.id,P.parentId)}return{allBaseElements:w,allBaseElementsVerticesMap:b,cuboidParentIdMap:C}}function p(w){for(const b of n)!r.has(b.id)&&xe.areBasesOverlapped(w.id,b.id,o)&&(r.add(b.id),a.push(b),b.enableGroupMaster&&p(b))}function g(){const w=a.map(R=>xe.fetchFoundationVertexCoordinates(R)).flat(),b=new Set,C=xe.calculatePolygonBounds(w);let P=1,v=1;const T=new Map;for(const R of M.getState().elements)if(R.foundationId&&r.has(R.foundationId))if(R.type===z.Wall){const H=R;P=Math.max(P,H.lz),H.roofId&&(T.get(H.roofId)??0)M(pYe)?h.jsx(aWo,{}):null),sWo=be.memo(({showGallery:t,defaultSize:e=50,minWidth:n=25,maxWidth:o=75,children:i,wait:r=50,onChange:a})=>{const[l,s]=i,c=m.useRef(!1),u=p=>{const g=document.querySelector(".split-pane");g&&g.style.setProperty("--percentWidth",p+"%")},d=()=>{c.current=!0},f=m.useCallback(M2.throttle(p=>{if(!c.current)return;const g=Math.max(n,Math.min(o,p.clientX/window.innerWidth*100));u(g),a&&a(g)},r),[]);return m.useEffect(()=>{u(e)},[e]),m.useEffect(()=>{const p=()=>{c.current=!1};return window.addEventListener("pointerup",p),()=>window.removeEventListener("pointerup",p)},[]),m.useEffect(()=>{u(t?e:0)},[t,e]),h.jsxs("div",{className:"split-pane",onPointerMove:f,children:[h.jsx("div",{className:"left-child",children:l}),t&&h.jsx("div",{className:"sash",onPointerDown:d}),h.jsx("div",{className:"right-child",children:s})]})},(t,e)=>t.showGallery===e.showGallery&&t.onChange===e.onChange),FEe=be.memo(({viewOnly:t=!1})=>{const e=M(o1),n=M(ha),o=M(dn),i=ht(YBe),r=M(hu)??!1,a=M(pq)??kk,l=M(yH),s=M(Hq),c=M(Y1e),u=M(mBe),d=M(sA),f=M(sAt)??"roadmap",p=ht(Aq),g=M(wH),A=M(pA),[w,b]=m.useState(!0),[C,P]=m.useState(50),v=m.useRef(null),T=Kt();m.useEffect(()=>{b(!1)},[]),m.useEffect(()=>{o(R=>{var H;R.loggable=e&&e.uid?!((H=e.email)!=null&&H.endsWith("@intofuture.org")):!1,e&&(e.noLogging||!e.schoolID||e.schoolID==="UNKNOWN SCHOOL"||!e.classID||e.classID==="UNKNOWN CLASS")&&(R.loggable=!1)})},[e]),console.log("x");const y=e.uid&&new URLSearchParams(window.location.search).get("userid")===e.uid,S=()=>h.jsxs(J9t,{ref:v,shadows:!0,gl:{preserveDrawingBuffer:!0,logarithmicDepthBuffer:!0},frameloop:"demand",style:{height:"100%",width:"100%",backgroundColor:"black"},camera:{fov:eUe,far:a,up:[0,0,1]},children:[h.jsx(c9o,{}),h.jsx(S2o,{}),h.jsx(p2o,{}),h.jsx(Men,{}),h.jsx(m2o,{}),h.jsxs(m.Suspense,{fallback:null,children:[h.jsx(Ren,{}),h.jsx(lWo,{})]}),h.jsxs(m.Suspense,{fallback:null,children:[c&&h.jsx(uZt,{}),h.jsx(cZt,{theme:u}),h.jsx(Een,{}),d&&h.jsx(dOn,{})]}),h.jsx(b2o,{}),h.jsx(OLo,{}),g===Bs.GENETIC_ALGORITHM&&A.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(n9o,{}),g===Bs.GENETIC_ALGORITHM&&A.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(i9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&A.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(a9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&A.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(s9o,{})]}),x=m.useMemo(()=>new Gt,[]);return h.jsxs("div",{className:"App",style:{position:"relative",overflow:"hidden"},onContextMenu:R=>R.preventDefault(),children:[h.jsx(Ten,{initializing:w}),h.jsxs("div",{style:{backgroundColor:"lightblue",height:"72px",paddingTop:"10px",textAlign:"start",userSelect:"none",fontSize:"30px"},children:[h.jsx("span",{style:{marginLeft:"120px",verticalAlign:"middle",cursor:"pointer",userSelect:"none"},title:j.t("tooltip.visitAladdinHomePage",T),onClick:Vqt,children:`${j.t("name.Aladdin",T)}`}),l&&!p&&h.jsxs("span",{style:{marginLeft:"20px",fontSize:"14px",verticalAlign:"center",userSelect:"text",color:y?"black":"gray"},children:[h.jsx("img",{title:j.t("toolbar.CloudFile",T),alt:"Cloud",src:x2o,height:32,width:32,style:{paddingRight:"8px"}}),l+(y&&i?" *":""),!t&&y&&i&&h.jsx(oo,{type:"primary",size:"small",style:{marginLeft:"10px"},title:j.t("menu.file.SaveCloudFile",T),onClick:()=>{ht.getState().setSaveCloudFileFlag(!0),n&&o(R=>{R.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},children:`${j.t("word.Save",T)}`})]})]}),t?h.jsxs("div",{style:{position:"absolute",bottom:"6px",left:"6px",zIndex:999,fontSize:"8px",userSelect:"none",color:d||s?f!=="roadmap"?"antiquewhite":"darkslategrey":"antiquewhite"},children:[h.jsx("img",{alt:"IFI Logo",src:ATe,height:"30px",style:{verticalAlign:"bottom",cursor:"pointer"},title:j.t("tooltip.gotoIFI",T),onClick:Jbe})," V "+nE]}):h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"IFI Logo",src:ATe,height:s?"24px":"40px",style:{position:"absolute",cursor:"pointer",bottom:"6px",left:"6px",zIndex:999,userSelect:"none"},title:j.t("tooltip.gotoIFI",T),onClick:Jbe}),h.jsxs("div",{style:{position:"absolute",bottom:"4px",left:s?"24px":"44px",zIndex:999,fontSize:"10px",userSelect:"none",color:d?f!=="roadmap"?"antiquewhite":"darkslategrey":s?"darkslategrey":"antiquewhite"},children:["   ©",new Date().getFullYear()," ",`${j.t("name.IFI",T)}`," ",j.t("word.VersionInitial",T)+nE+". "+j.t("word.AllRightsReserved",T)+". "]})]}),!t&&h.jsx(t9o,{size:16,round:!0,margin:"2px",style:{position:"absolute",right:"0",top:"80px"}}),h.jsx(QYn,{viewOnly:t,canvas:v.current}),h.jsx(Jpo,{viewOnly:t,canvas:v.current}),h.jsx(ILo,{}),h.jsx(zfo,{children:h.jsxs("div",{style:{height:"calc(100vh - 72px)"},children:[h.jsxs(sWo,{showGallery:s,defaultSize:s?50:0,onChange:R=>{P(Math.round(100-R));const H=Ln.getState().canvas;if(H){const{gl:D,camera:k}=H,W=(100-R)*window.innerWidth/100;D.getSize(x),D.setSize(W,x.y),k instanceof Iu&&(k.aspect=W/x.y,k.updateProjectionMatrix(),Zh())}},children:[s?h.jsx(nWo,{canvas:v.current,relativeWidth:1-C*.01}):h.jsx(h.Fragment,{}),S()]}),h.jsx(v2o,{canvas:v.current})]})}),h.jsx(y2o,{visible:!r}),!t&&h.jsx(lOn,{}),!t&&n&&h.jsx(h2o,{})]})}),cWo=be.memo(({viewOnly:t=!1})=>{const e=M(dn),n=M(JBe),o=M(ege),i=M(KBe),r=ht(XBe),a=ht(Z4t),l=ht(ewt),s=M(yH),c=ht(Q4t),u=M(o1),d=M(Sc),[f,p]=m.useState(!1),[g,A]=m.useState(!1),[w,b]=m.useState({left:0,top:0,bottom:0,right:0}),C=m.useRef(null),{t:P}=jl(),v=m.useMemo(()=>({lng:d}),[d]);m.useEffect(()=>{a&&(T(),ht.getState().setCreateNewFileFlag(!1))},[a]),m.useEffect(()=>{l&&(y(),ht.getState().setOpenLocalFileFlag(!1))},[l]);const T=()=>{_r.confirm({title:`${P("message.DoYouWantToSaveChanges",v)}`,icon:h.jsx($m,{}),okText:`${P("word.Yes",v)}`,cancelText:`${P("word.No",v)}`,onOk:()=>{u.uid?s?(e(W=>{W.localContentToImportAfterCloudFileUpdate="CREATE_NEW_FILE"}),ht.getState().setSaveCloudFileFlag(!0)):e(W=>{W.showCloudFileTitleDialogFlag=!W.showCloudFileTitleDialogFlag,W.showCloudFileTitleDialog=!0}):hn(P("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>{i()}})},y=()=>{!t&&ht.getState().changed?_r.confirm({title:P("message.DoYouWantToSaveChanges",v),icon:h.jsx($m,{}),onOk:()=>{u.uid?s?S(!0):e(W=>{W.showCloudFileTitleDialogFlag=!W.showCloudFileTitleDialogFlag,W.showCloudFileTitleDialog=!0}):hn(P("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>S(!1),okText:P("word.Yes",v),cancelText:P("word.No",v)}):S(!1)},S=W=>{document.body.onfocus=()=>{e(L=>{L.localFileDialogRequested=!1})};const N=document.getElementById("file-dialog");N.onchange=()=>{if(N.files&&N.files.length>0){ht.getState().set(U=>{U.waiting=!0});const L=new FileReader;L.readAsText(N.files[0]);const E=N.files[0].name;ht.getState().set(U=>{U.localFileName=E}),L.onload=()=>{if(L.result){const U=JSON.parse(L.result.toString());W?s&&(e(F=>{F.localContentToImportAfterCloudFileUpdate=U}),ht.getState().setSaveCloudFileFlag(!0)):o(U)}N.value=""}}},N.click()},x=()=>{let W=c.trim();if(W.length>0){W.endsWith(".ala")||(W+=".ala");const N=new Blob([JSON.stringify(n())],{type:"application/json"});return $Ke.saveAs(N,W),ht.getState().set(L=>{L.localFileName=W}),e(L=>{L.cloudFile=void 0}),!0}else return Do(P("menu.file.SavingAbortedMustHaveValidFileName",v)+"."),!1},R=(W,N)=>{if(C.current){const{clientWidth:L,clientHeight:E}=window.document.documentElement,U=C.current.getBoundingClientRect();b({left:-U.left+N.x,right:L-(U.right-N.x),top:-U.top+N.y,bottom:E-((U==null?void 0:U.bottom)-N.y)})}},H=()=>{p(!0),x()&&ht.getState().set(W=>{W.saveLocalFileDialogVisible=!1}),p(!1)},D=()=>{ht.getState().set(W=>{W.saveLocalFileDialogVisible=!1})},k=()=>{s&&ht.getState().set(W=>{W.localFileName=s,W.localFileName.endsWith(".ala")||(W.localFileName+=".ala")})};return h.jsx(h.Fragment,{children:h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:P("menu.file.SaveAsLocalFile",v)}),footer:s?[h.jsx(oo,{onClick:k,children:P("menu.file.UseCloudFileName",v)},"Apply"),h.jsx(oo,{onClick:D,children:P("word.Cancel",v)},"Cancel"),h.jsx(oo,{type:"primary",onClick:H,disabled:!c,children:P("word.OK",v)},"OK")]:[h.jsx(oo,{onClick:D,children:P("word.Cancel",v)},"Cancel"),h.jsx(oo,{type:"primary",onClick:H,disabled:!c,children:P("word.OK",v)},"OK")],open:r,confirmLoading:f,onCancel:D,modalRender:W=>h.jsx(Vr,{disabled:!g,bounds:w,onStart:(N,L)=>R(N,L),children:h.jsx("div",{ref:C,children:W})}),children:h.jsx(ns,{placeholder:"File name",value:c,onPressEnter:H,onChange:W=>{ht.getState().set(N=>{N.localFileName=W.target.value})}})})})}),uWo=()=>{const t=M(I4t),e=M(w=>w.world),n=M(w=>w.elements),o=M(w=>w.viewState),i=M(w=>w.notes),r=ht(cs),a=ht(i3),l=ht(C4t),s=ht(R4t),c=M(w7t),u=M(v7t),d=M(b7t),f=M(M4t),p=new URLSearchParams(window.location.search),g=p.get("viewonly")==="true",A=p.get("map")==="true";return m.useEffect(()=>{c(),u(),d(),f(),ht.getState().set(w=>{w.openModelsMap=A,A&&(w.modelsMapFlag=!0,w.modelsMapWeatherStations=!1,w.leaderboardFlag=!0,w.showLeaderboard=!0)})},[]),m.useEffect(()=>{ht.getState().skipChange?s(!1):ht.getState().changed||l(!0)},[e,o,n,i]),m.useEffect(()=>{r&&ht.getState().set(w=>{w.showSolarRadiationHeatmap=!1}),a&&ht.getState().set(w=>{w.showHeatFluxes=!1})},[n]),h.jsx(ry,{locale:t,children:h.jsxs(QQt,{children:[g?h.jsx(FEe,{viewOnly:!0}):h.jsx(dWo,{children:h.jsx(FEe,{viewOnly:!1})}),h.jsx(cWo,{viewOnly:g})]})})},dWo=be.memo(({children:t})=>(["iir3sv1kW1Vzbj9sOA46RfLWKCU2"].find(n=>n===M.getState().user.uid),h.jsx(eZt,{onBeforeunload:()=>"",children:t}))),fWo=$Fe(document.getElementById("root"));fWo.render(h.jsx(uWo,{}))});export default hWo(); +`,tWo=be.memo(({relativeWidth:t,canvas:e})=>{const n=M(dn),o=M(o1),i=M(yH),r=M(Dje),a=M(Eje),l=M(e7t),s=M(t7t),c=M(kje),u=M(Zwt),d=M(n7t),f=M(o7t),p=M(u7t),g=M(l7t),A=M(c7t),w=M(s7t),b=M(i7t),C=M(r7t),P=M(a7t),v=M(kq),T=M(zq),[y,S]=m.useState(),[x,R]=m.useState(),[H,D]=m.useState(!1),[k,W]=m.useState(!1),N=m.useRef(!1),L=m.useRef(u??null),E=m.useRef(!1),U=m.useRef(!1),F=m.useRef(d??n9.ALL),B=m.useRef(!1),_=m.useRef(l??[]),Y=m.useRef(f??200),O=m.useRef(b??"rowWidth"),J=m.useRef(C??"rowWidth"),Z=m.useRef(P??5),ie=m.useRef(!0),ee=m.useRef(!0);m.useEffect(()=>{O.current=b??"rowWidth"},[b]),m.useEffect(()=>{J.current=C??"rowWidth"},[C]),m.useEffect(()=>{Z.current=P??5},[P]),m.useEffect(()=>{Y.current=f??200},[f]);const{t:q}=jl(),ae=Kt(),ne=o.uid===a;m.useEffect(()=>{if(_.current=[],l){for(const ut of l)_.current.push(ut);const Ve=c;if(Ve){const ut=g?1:-1;_.current.sort((je,yt)=>Ve?Ve==="rowWidth"&&"rowsPerRack"in je&&"rowsPerRack"in yt?ut*(je.rowsPerRack-yt.rowsPerRack):Ve==="orientation"?ut*((je[Ve]==="Landscape"?0:1)-(yt[Ve]==="Landscape"?0:1)):Ve==="totalYearlyYield"&&"yearlyYield"in je&&"yearlyYield"in yt?ut*(je.yearlyYield-yt.yearlyYield):Ve==="meanYearlyYield"&&"yearlyYield"in je&&"yearlyYield"in yt?ut*(je.yearlyYield/je.panelCount-yt.yearlyYield/yt.panelCount):Ve==="totalYearlyCost"?ut*(xe.calculateCost(je)-xe.calculateCost(yt)):Ve==="yearlyProfit"?ut*(xe.calculateProfit(je)-xe.calculateProfit(yt)):Ve in je&&Ve in yt?ut*(je[Ve]-yt[Ve]):0:0)}D(!H)}},[l,g,c]),m.useEffect(()=>{if(S(void 0),l){for(const Ve of l)if(Ve.title===i){S(Ve);break}}},[i,l]),m.useEffect(()=>{const Ve=()=>{D(!H)};return window.addEventListener("resize",Ve),()=>{window.removeEventListener("resize",Ve)}},[H]);const se=()=>{n(Ve=>{Ve.projectView=!1,Ve.projectState.title=null,Ve.projectState.description=null,Ve.projectState.owner=null,Ve.projectImages.clear()}),S(void 0),ht.getState().set(Ve=>{Ve.projectImagesUpdateFlag=!Ve.projectImagesUpdateFlag})},le=()=>{ht.getState().set(Ve=>{Ve.curateDesignToProjectFlag=!0})},te=()=>{o.uid&&r&&y&&DYn(o.uid,r,y).then(()=>{n(Ve=>{if(Ve.projectState.designs){let ut=-1;for(const[je,yt]of Ve.projectState.designs.entries())if(yt.title===y.title){ut=je;break}ut>=0&&Ve.projectState.designs.splice(ut,1)}})})},he=window.innerHeight,pe=Math.round(800/Y.current),fe=48/pe,$=Math.round(t*window.innerWidth/pe-fe),[de,Se,Ce,ve,Ie,ze]=m.useMemo(()=>[dd.getVariables(s,p??[]),dd.getTitles(s,ae,p??[]),dd.getUnits(s,ae,p??[]),dd.getDigits(s,p??[]),dd.getTickIntegers(s,p??[]),dd.getTypes(s,p??[])],[s,p,k,ae]),ye=m.useMemo(()=>{const Ve=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const ut of l){const je={};if(p!=null&&p.includes("rowWidth")||(je.rowWidth=ut.rowsPerRack),p!=null&&p.includes("tiltAngle")||(je.tiltAngle=xe.toDegrees(ut.tiltAngle)),p!=null&&p.includes("interRowSpacing")||(je.interRowSpacing=ut.interRowSpacing),p!=null&&p.includes("latitude")||(je.latitude=ut.latitude??42),p!=null&&p.includes("orientation")||(je.orientation=ut.orientation===ui.landscape?0:1),p!=null&&p.includes("poleHeight")||(je.poleHeight=ut.poleHeight),p!=null&&p.includes("unitCost")||(je.unitCost=ut.unitCost),p!=null&&p.includes("sellingPrice")||(je.sellingPrice=ut.sellingPrice),p!=null&&p.includes("")||(je.totalYearlyCost=xe.calculateCost(ut)),p!=null&&p.includes("totalYearlyYield")||(je.totalYearlyYield=ut.yearlyYield*.001),p!=null&&p.includes("meanYearlyYield")||(je.meanYearlyYield=ut.yearlyYield/ut.panelCount),p!=null&&p.includes("yearlyProfit")||(je.yearlyProfit=xe.calculateProfit(ut)),je.group=d===n9.INDIVIDUALS?ut.title:"default",je.selected=y===ut,je.hovered=x===ut,je.invisible=ut.invisible,je.excluded=!1,w){for(const yt of w)if(yt.type===HL.Between&&yt.upperBound!==void 0&&yt.lowerBound!==void 0){const Ht=je[yt.variable];if(typeof Ht=="number"&&(Ht>yt.upperBound||Ht{n(Ve=>{if(Ve.projectState.designs)for(const[ut,je]of Ve.projectState.designs.entries())je.excluded=ye[ut].excluded})},[ye]);const oe=(Ve,ut)=>{let je=ut;if(A){for(const yt of A)if(yt.variable===Ve){je=yt.minimum??ut;break}}return je},ge=(Ve,ut)=>{let je=ut;if(A){for(const yt of A)if(yt.variable===Ve){je=yt.maximum??ut;break}}return je},Ae=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Ve=[];return p!=null&&p.includes("rowWidth")||Ve.push(oe("rowWidth",v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Ve.push(oe("tiltAngle",xe.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Ve.push(oe("interRowSpacing",v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Ve.push(oe("latitude",-90)),p!=null&&p.includes("orientation")||Ve.push(0),p!=null&&p.includes("poleHeight")||Ve.push(oe("poleHeight",0)),p!=null&&p.includes("unitCost")||Ve.push(oe("unitCost",.1)),p!=null&&p.includes("sellingPrice")||Ve.push(oe("sellingPrice",.1)),p!=null&&p.includes("totalYearlyCost")||Ve.push(oe("totalYearlyCost",0)),p!=null&&p.includes("totalYearlyYield")||Ve.push(oe("totalYearlyYield",0)),p!=null&&p.includes("meanYearlyYield")||Ve.push(oe("meanYearlyYield",0)),p!=null&&p.includes("yearlyProfit")||Ve.push(oe("yearlyProfit",-10)),Ve}return[]},[v,s,A,p,k]),me=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Ve=[];return p!=null&&p.includes("rowWidth")||Ve.push(ge("rowWidth",v.maximumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Ve.push(ge("tiltAngle",xe.toDegrees(v.maximumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Ve.push(ge("interRowSpacing",v.maximumInterRowSpacing)),p!=null&&p.includes("latitude")||Ve.push(ge("latitude",90)),p!=null&&p.includes("orientation")||Ve.push(1),p!=null&&p.includes("poleHeight")||Ve.push(ge("poleHeight",5)),p!=null&&p.includes("unitCost")||Ve.push(ge("unitCost",1)),p!=null&&p.includes("sellingPrice")||Ve.push(ge("sellingPrice",.5)),p!=null&&p.includes("totalYearlyCost")||Ve.push(ge("totalYearlyCost",100)),p!=null&&p.includes("totalYearlyYield")||Ve.push(ge("totalYearlyYield",100)),p!=null&&p.includes("meanYearlyYield")||Ve.push(ge("meanYearlyYield",1e3)),p!=null&&p.includes("yearlyProfit")||Ve.push(ge("yearlyProfit",10)),Ve}return[]},[v,s,A,p,k]),Pe=(Ve,ut)=>{let je=ut;if(w){for(const yt of w)if(yt.variable===Ve){je=yt.lowerBound??ut;break}}return je},Me=(Ve,ut)=>{let je=ut;if(w){for(const yt of w)if(yt.variable===Ve){je=yt.upperBound??ut;break}}return je},Te=(Ve,ut,je)=>({variable:Ve,type:HL.Between,upperBound:Me(Ve,ut),lowerBound:Pe(Ve,je)}),De=m.useMemo(()=>{const Ve=[];return p!=null&&p.includes("rowWidth")||Ve.push(Te("rowWidth",v.maximumRowsPerRack,v.minimumRowsPerRack)),p!=null&&p.includes("tiltAngle")||Ve.push(Te("tiltAngle",xe.toDegrees(v.maximumTiltAngle),xe.toDegrees(v.minimumTiltAngle))),p!=null&&p.includes("interRowSpacing")||Ve.push(Te("interRowSpacing",v.maximumInterRowSpacing,v.minimumInterRowSpacing)),p!=null&&p.includes("latitude")||Ve.push(Te("latitude",90,-90)),p!=null&&p.includes("orientation")||Ve.push(Te("orientation",1,0)),p!=null&&p.includes("poleHeight")||Ve.push(Te("poleHeight",5,0)),p!=null&&p.includes("unitCost")||Ve.push(Te("unitCost",1,.1)),p!=null&&p.includes("sellingPrice")||Ve.push(Te("sellingPrice",.5,.1)),p!=null&&p.includes("totalYearlyCost")||Ve.push(Te("totalYearlyCost",100,0)),p!=null&&p.includes("totalYearlyYield")||Ve.push(Te("totalYearlyYield",100,0)),p!=null&&p.includes("meanYearlyYield")||Ve.push(Te("meanYearlyYield",1e3,0)),p!=null&&p.includes("yearlyProfit")||Ve.push(Te("yearlyProfit",10,-10)),Ve},[k,w,p]),Ne=m.useMemo(()=>{if(s===Tr.SOLAR_PANEL_ARRAY&&v){const Ve=[];return p!=null&&p.includes("rowWidth")||Ve.push(1),p!=null&&p.includes("tiltAngle")||Ve.push(.1),p!=null&&p.includes("interRowSpacing")||Ve.push(.1),p!=null&&p.includes("latitude")||Ve.push(.1),p!=null&&p.includes("orientation")||Ve.push(1),p!=null&&p.includes("poleHeight")||Ve.push(.1),p!=null&&p.includes("unitCost")||Ve.push(.01),p!=null&&p.includes("sellingPrice")||Ve.push(.01),p!=null&&p.includes("totalYearlyCost")||Ve.push(.1),p!=null&&p.includes("totalYearlyYield")||Ve.push(1),p!=null&&p.includes("meanYearlyYield")||Ve.push(1),p!=null&&p.includes("yearlyProfit")||Ve.push(.1),Ve}return[]},[s,p,k]),Ye=m.useRef(!(p!=null&&p.includes("rowWidth"))),Le=m.useRef(!(p!=null&&p.includes("tiltAngle"))),$e=m.useRef(!(p!=null&&p.includes("interRowSpacing"))),We=m.useRef(!(p!=null&&p.includes("latitude"))),Ee=m.useRef(!(p!=null&&p.includes("orientation"))),Fe=m.useRef(!(p!=null&&p.includes("poleHeight"))),Ge=m.useRef(!(p!=null&&p.includes("unitCost"))),rt=m.useRef(!(p!=null&&p.includes("sellingPrice"))),_e=m.useRef(!(p!=null&&p.includes("totalYearlyCost"))),xt=m.useRef(!(p!=null&&p.includes("totalYearlyYield"))),dt=m.useRef(!(p!=null&&p.includes("meanYearlyYield"))),Qe=m.useRef(!(p!=null&&p.includes("yearlyProfit")));m.useEffect(()=>{Ye.current=!(p!=null&&p.includes("rowWidth")),Le.current=!(p!=null&&p.includes("tiltAngle")),$e.current=!(p!=null&&p.includes("interRowSpacing")),We.current=!(p!=null&&p.includes("latitude")),Ee.current=!(p!=null&&p.includes("orientation")),Fe.current=!(p!=null&&p.includes("poleHeight")),Ge.current=!(p!=null&&p.includes("unitCost")),rt.current=!(p!=null&&p.includes("sellingPrice")),_e.current=!(p!=null&&p.includes("totalYearlyCost")),xt.current=!(p!=null&&p.includes("totalYearlyYield")),dt.current=!(p!=null&&p.includes("meanYearlyYield")),Qe.current=!(p!=null&&p.includes("yearlyProfit")),D(!H)},[p]),m.useEffect(()=>{L.current=u},[u]);const ct=Ve=>{l&&(Ve>=0&&Ve{n(ut=>{if(ut.projectState.designs){for(const je of ut.projectState.designs)if(je.title===Ve){je.invisible=!je.invisible;break}}})},at=Ve=>{ft(Ve.title),ne&&o.uid&&r&&OYn(o.uid,r,Ve)},ot=(Ve,ut)=>{n(je=>{je.projectState.hiddenParameters&&(Ve?je.projectState.hiddenParameters.includes(ut)&&je.projectState.hiddenParameters.splice(je.projectState.hiddenParameters.indexOf(ut),1):je.projectState.hiddenParameters.includes(ut)||je.projectState.hiddenParameters.push(ut))})},et=(Ve,ut)=>{B.current=!0,ne?o.uid&&r&&EYn(o.uid,r,ut,!Ve).then(()=>{ot(Ve,ut)}):ot(Ve,ut)},Oe=()=>{n(Ve=>{Ve.projectState.dataColoring=F.current}),ht.getState().set(Ve=>{Ve.updateProjectsFlag=!0}),D(!H)},nt=Ve=>{F.current=Ve,ne?o.uid&&r&&FYn(o.uid,r,F.current).then(()=>{Oe()}):Oe()},mt=()=>h.jsxs("div",{children:[h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{Ye.current=Ve.target.checked,et(Ye.current,"rowWidth"),W(!k)},checked:Ye.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{Le.current=Ve.target.checked,et(Le.current,"tiltAngle"),W(!k)},checked:Le.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{$e.current=Ve.target.checked,et($e.current,"interRowSpacing"),W(!k)},checked:$e.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{We.current=Ve.target.checked,et(We.current,"latitude"),W(!k)},checked:We.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{Ee.current=Ve.target.checked,et(Ee.current,"orientation"),W(!k)},checked:Ee.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{Fe.current=Ve.target.checked,et(Fe.current,"poleHeight"),W(!k)},checked:Fe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{Ge.current=Ve.target.checked,et(Ge.current,"unitCost"),W(!k)},checked:Ge.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{rt.current=Ve.target.checked,et(rt.current,"sellingPrice"),W(!k)},checked:rt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{_e.current=Ve.target.checked,et(_e.current,"totalYearlyCost"),W(!k)},checked:_e.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{xt.current=Ve.target.checked,et(xt.current,"totalYearlyYield"),W(!k)},checked:xt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{dt.current=Ve.target.checked,et(dt.current,"meanYearlyYield"),W(!k)},checked:dt.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",ae)})}),h.jsx("br",{}),h.jsx(Wr,{style:{width:"100%"},onChange:Ve=>{Qe.current=Ve.target.checked,et(Qe.current,"yearlyProfit"),W(!k)},checked:Qe.current,children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",ae)})})]}),Tt=()=>h.jsxs(h.Fragment,{children:[h.jsx(Bh,{value:"rowWidth",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowWidth",ae)})},"rowWidth"),h.jsx(Bh,{value:"tiltAngle",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTiltAngle",ae)})},"tiltAngle"),h.jsx(Bh,{value:"interRowSpacing",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayRowSpacing",ae)})},"interRowSpacing"),h.jsx(Bh,{value:"latitude",children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Latitude",ae)})},"latitude"),h.jsx(Bh,{value:"orientation",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayOrientation",ae)})},"orientation"),h.jsx(Bh,{value:"poleHeight",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayPoleHeight",ae)})},"poleHeight"),h.jsx(Bh,{value:"unitCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.UnitCost",ae)})},"unitCost"),h.jsx(Bh,{value:"sellingPrice",children:h.jsx("span",{style:{fontSize:"12px"},children:q("economicsPanel.SellingPrice",ae)})},"sellingPrice"),h.jsx(Bh,{value:"totalYearlyCost",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyCost",ae)})},"totalYearlyCost"),h.jsx(Bh,{value:"totalYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayTotalYearlyYield",ae)})},"totalYearlyYield"),h.jsx(Bh,{value:"meanYearlyYield",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayMeanYearlyYield",ae)})},"meanYearlyYield"),h.jsx(Bh,{value:"yearlyProfit",children:h.jsx("span",{style:{fontSize:"12px"},children:q("polygonMenu.SolarPanelArrayYearlyProfit",ae)})},"yearlyProfit")]}),Rt=m.useMemo(()=>{const Ve=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const ut of l){if(ut.invisible||ut===y)continue;const je={};dd.setScatterData(O.current,"x",je,ut),dd.setScatterData(J.current,"y",je,ut),Ve.push(je)}return Ve},[O.current,J.current,l,s,y]),Wt=m.useMemo(()=>{const Ve=[];if(l&&s===Tr.SOLAR_PANEL_ARRAY)for(const ut of l){if(ut!==y)continue;const je={};dd.setScatterData(O.current,"x",je,ut),dd.setScatterData(J.current,"y",je,ut),Ve.push(je)}return Ve},[O.current,J.current,l,s,y]),Ct=Ve=>{const ut={min:0,max:1};if(s===Tr.SOLAR_PANEL_ARRAY&&v)switch(Ve){case"rowWidth":ut.min=oe("rowWidth",v.minimumRowsPerRack),ut.max=ge("rowWidth",v.maximumRowsPerRack);break;case"tiltAngle":ut.min=oe("tiltAngle",xe.toDegrees(v.minimumTiltAngle)),ut.max=ge("tiltAngle",xe.toDegrees(v.maximumTiltAngle));break;case"interRowSpacing":ut.min=oe("interRowSpacing",v.minimumInterRowSpacing),ut.max=ge("interRowSpacing",v.maximumInterRowSpacing);break;case"latitude":ut.min=oe("latitude",-90),ut.max=ge("latitude",90);break;case"orientation":ut.min=0,ut.max=1;break;case"poleHeight":ut.min=oe("poleHeight",0),ut.max=ge("poleHeight",5);break;case"unitCost":ut.min=oe("unitCost",.1),ut.max=ge("unitCost",1);break;case"sellingPrice":ut.min=oe("sellingPrice",.1),ut.max=ge("sellingPrice",.5);break;case"totalYearlyCost":ut.min=oe("totalYearlyCost",0),ut.max=ge("totalYearlyCost",100);break;case"totalYearlyYield":ut.min=oe("totalYearlyYield",0),ut.max=ge("totalYearlyYield",100);break;case"meanYearlyYield":ut.min=oe("meanYearlyYield",0),ut.max=ge("meanYearlyYield",1e3);break;case"yearlyProfit":ut.min=oe("yearlyProfit",-10),ut.max=ge("yearlyProfit",10);break}return ut},wt=m.useMemo(()=>Ct(O.current),[O.current,A]),kt=m.useMemo(()=>Ct(J.current),[J.current,A]),qe=m.useMemo(()=>dd.getUnit(O.current,ae),[O.current,ae]),Je=m.useMemo(()=>dd.getUnit(J.current,ae),[J.current,ae]),st=()=>h.jsxs("div",{style:{width:"280px"},children:[h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectXAxis",ae),": "]})}),h.jsx(it,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:O.current,onChange:Ve=>{O.current=Ve,ne&&o.uid&&r&&WYn(o.uid,r,Ve).then(()=>{}),D(!H)},children:Tt()})})]}),h.jsxs(nn,{gutter:6,style:{paddingBottom:"8px"},children:[h.jsx(it,{span:8,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.SelectYAxis",ae),": "]})}),h.jsx(it,{span:16,children:h.jsx(Yo,{style:{width:"100%"},value:J.current,onChange:Ve=>{J.current=Ve,ne&&o.uid&&r&&NYn(o.uid,r,Ve).then(()=>{}),D(!H)},children:Tt()})})]}),h.jsx(nn,{style:{paddingBottom:"8px"},children:h.jsxs("div",{children:[h.jsxs(AIo,{id:"scatter-chart",width:280,height:240,margin:{top:0,right:0,bottom:-10,left:-10},children:[h.jsx(A7,{strokeWidth:"1",stroke:"gray",horizontal:ie.current,vertical:ee.current}),h.jsx(t1,{dataKey:"x",fontSize:10,type:"number",domain:[wt.min,wt.max],name:"x",unit:qe,strokeWidth:1,stroke:"gray",tickFormatter:(Ve,ut)=>O.current==="yearlyProfit"||O.current==="unitCost"||O.current==="sellingPrice"?"$"+Ve:Ve}),h.jsx(gh,{dataKey:"y",fontSize:10,type:"number",domain:[kt.min,kt.max],name:"y",unit:Je,strokeWidth:1,stroke:"gray",tickFormatter:(Ve,ut)=>J.current==="yearlyProfit"||J.current==="unitCost"||J.current==="sellingPrice"?"$"+Ve:Ve}),h.jsx(Zf,{cursor:{strokeDasharray:"3 3"},formatter:Ve=>Ve.toFixed(2)}),h.jsx(db,{name:"All",data:Rt,fill:"#8884d8",shape:h.jsx($N,{fill:"#8884d8",r:Z.current})}),y&&h.jsx(db,{name:"Selected",data:Wt,fill:"red",shape:"star"})]}),h.jsx(XLo,{symbolSize:Z.current,horizontalGrid:ie.current,verticalGrid:ee.current,changeHorizontalGrid:Ve=>{ie.current=Ve,D(!H)},changeVerticalGrid:Ve=>{ee.current=Ve,D(!H)},changeSymbolSize:Ve=>{Z.current=Ve,ne&&o.uid&&r&&UYn(o.uid,r,Ve).then(()=>{}),D(!H)}})]})}),h.jsx(nn,{children:h.jsx("span",{style:{width:"100%",textAlign:"center"},children:h.jsx(_u,{style:{fontSize:"18px",color:"gray",paddingRight:"8px"},title:q("projectPanel.ScatterPlotScreenshot",ae),onClick:()=>{const Ve=document.getElementById("scatter-chart");Ve&&jhe.saveSvgAsPng(Ve,"scatter-chart-"+r+".png").then(()=>{hn(q("message.ScreenshotSaved",ae))})}})})})]}),Pt=()=>h.jsx("div",{children:h.jsxs(Be.Group,{onChange:Ve=>{nt(Ve.target.value)},value:d??n9.ALL,children:[h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.ALL,children:q("projectPanel.SameColorForAllDesigns",ae)}),h.jsx("br",{}),h.jsx(Be,{style:{fontSize:"12px",width:"100%"},value:n9.INDIVIDUALS,children:q("projectPanel.OneColorForEachDesign",ae)})]})}),Ue=()=>h.jsx("div",{style:{width:"250px"},onClick:Ve=>Ve.stopPropagation(),children:h.jsxs(nn,{gutter:6,style:{paddingBottom:"4px"},children:[h.jsx(it,{span:14,style:{paddingTop:"5px"},children:h.jsxs("span",{style:{fontSize:"12px"},children:[q("projectPanel.ThumbnailImageSize",ae),": "]})}),h.jsx(it,{span:10,children:h.jsxs(Yo,{style:{width:"100%"},value:Y.current,onChange:Ve=>{Y.current=Ve,ne?o.uid&&r&&BYn(o.uid,r,Ve).then(()=>{n(ut=>{ut.projectState.thumbnailWidth=Y.current})}):n(ut=>{ut.projectState.thumbnailWidth=Y.current}),D(!H)},children:[h.jsx(Bh,{value:100,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Small",ae)})},"small-thumbnail"),h.jsx(Bh,{value:125,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Medium",ae)})},"medium-thumbnail"),h.jsx(Bh,{value:200,children:h.jsx("span",{style:{fontSize:"12px"},children:q("word.Large",ae)})},"large-thumbnail")]})})]})}),lt=[{key:"1",label:h.jsxs(QLo,{children:[h.jsx("span",{children:q("projectPanel.ProjectDescription",ae)+" | "+q("projectPanel.ProjectType",ae)+": "+s}),h.jsxs("span",{children:[ne&&h.jsxs(h.Fragment,{children:[U.current&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>{Ve.stopPropagation(),N.current=!N.current,D(!H)},children:N.current?h.jsx(otn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionNonEditable",ae)}):h.jsx(BJe,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.MakeDescriptionEditable",ae)})}),h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>{Ve.stopPropagation(),le()},children:h.jsx(stn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.CurateCurrentDesign",ae)})}),y&&y.title===i&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>{Ve.stopPropagation(),e&&o.uid&&r&&i&&_Yn(o.uid,s,r,f??200,i,e).then(()=>{D(!H)})},children:h.jsx($en,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.UpdateSelectedDesign",ae)})}),y&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>{Ve.stopPropagation(),te(),S(void 0)},children:h.jsx(T_t,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.RemoveSelectedDesign",ae)})}),y&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>{if(Ve.stopPropagation(),r){let ut=qp+"?client=web&userid="+o.uid+"&project="+encodeURIComponent(r);y&&(ut+="&title="+encodeURIComponent(y.title)),navigator.clipboard.writeText(ut).then(()=>y2(q("projectListPanel.ProjectLinkGeneratedInClipBoard",ae)+"."))}},children:h.jsx(ptn,{style:{fontSize:"24px",color:"gray"},title:q("projectListPanel.GenerateProjectLink",ae)})})]}),l&&l.length>1&&c&&h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>{Ve.stopPropagation(),n(ut=>{ut.projectState.sortDescending=!ut.projectState.sortDescending})},children:g?h.jsx(Dtn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",ae)}):h.jsx(Ftn,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.ClickToFlipSortingOrder",ae)})}),h.jsx(gl,{title:h.jsx("div",{onClick:Ve=>Ve.stopPropagation(),children:q("projectPanel.ProjectSettings",ae)}),content:Ue,children:h.jsx(no,{style:{border:"none",padding:"4px"},onClick:Ve=>Ve.stopPropagation(),children:h.jsx(Mtn,{style:{fontSize:"24px",color:"gray"}})})})]})]}),children:h.jsx(JLo,{title:N.current?void 0:q("projectPanel.DoubleClickToMakeDescriptionEditable",ae),readOnly:!N.current,value:L.current??void 0,onDoubleClick:()=>{N.current=!N.current,D(!H)},onChange:Ve=>{L.current=Ve.target.value,E.current=!0,n(ut=>{ut.projectState.description=Ve.target.value}),D(!H)},onBlur:()=>{N.current=!1,E.current&&o.uid&&ne&&r&&kYn(o.uid,r,L.current).then(()=>{E.current=!1,D(!H)})},style:{paddingLeft:"10px",textAlign:"left",resize:N.current?"vertical":"none",border:N.current?"1px solid gray":"none"}})}];return h.jsx(KLo,{onContextMenu:Ve=>{Ve.stopPropagation()},children:h.jsxs(qLo,{children:[h.jsxs($Lo,{children:[h.jsx("span",{children:q(ne?"projectPanel.Project":"projectPanel.ProjectByOtherPeople",ae)+": "+r+(ne?"":" ("+q("word.Owner",ae)+": "+(a==null?void 0:a.substring(0,4))+"***)")+" ("+_.current.length+")"}),h.jsx("span",{style:{cursor:"pointer"},onMouseDown:()=>{se()},onTouchStart:()=>{se()},children:h.jsx(E7,{title:q("word.Close",ae)})})]}),h.jsx(zme,{items:lt,style:{backgroundColor:"white",border:"none"},onChange:Ve=>{U.current=Ve.length>0,D(!H)}}),_.current.length>0&&h.jsxs(eWo,{children:[h.jsx(O0e,{style:{width:"100%",height:he/2-(U.current?160:80),paddingLeft:"4px",paddingRight:"4px",overflowX:"hidden",overflowY:"auto"},grid:{column:pe,gutter:1},dataSource:_.current,renderItem:Ve=>{var yt;const ut=Ve.title.lastIndexOf(" "),je=f===100?8:f===125?12:30;return h.jsxs(O0e.Item,{style:{marginBottom:"-28px"},onMouseOver:()=>{R(Ve)},onMouseLeave:()=>{R(void 0)},children:[h.jsx("img",{loading:"eager",width:$+"px",height:"auto",onError:Ht=>{Ht.target.src=$O},onLoad:Ht=>{n(At=>{At.projectImages.set(Ve.title,Ht.target)}),ht.getState().set(At=>{At.projectImagesUpdateFlag=!At.projectImagesUpdateFlag})},alt:Ve.title,title:(Ve.timestamp?q("word.LastUpdate",ae)+": "+gc(new Date(Ve.timestamp)).format("MM-DD-YYYY hh:mm A")+` +`:"")+q(y===Ve?"projectPanel.SingleClickToDeselectDoubleClickToOpen":"projectPanel.SingleClickToSelectDoubleClickToOpen",ae),src:(yt=Ve.thumbnail)!=null&&yt.startsWith("data:image/png;base64")?Ve.thumbnail:$O,style:{transition:".5s ease",opacity:Ve.excluded?.25:x===Ve?.5:1,padding:"1px",cursor:"pointer",borderRadius:y===Ve?"0":"10px",border:y===Ve?"2px solid red":"none"},onDoubleClick:Ht=>{const At=Ht.target;At.src===$O&&(At.src=Ve.thumbnailUrl),S(Ve),a&&IX(a,Ve.title,!0,!0).then(()=>{})},onClick:Ht=>{const At=Ht.target;At.src===$O&&(At.src=Ve.thumbnailUrl),S(Ve!==y?Ve:void 0)}}),h.jsx("div",{style:{position:"relative",left:"10px",textAlign:"left",bottom:"18px",color:"white",fontSize:"8px",fontWeight:Ve.title===i?"bold":"normal"},children:Ve.title?Ve.title.length>je?Ve.title.substring(0,Math.min(je,ut))+"..."+Ve.title.substring(ut):Ve.title:"Unknown"}),h.jsxs("div",{style:{position:"relative",right:"10px",textAlign:"right",bottom:"36px",color:"white"},children:[Ve.title===i&&h.jsx(CJe,{style:{paddingRight:"4px",fontSize:"16px"}}),Ve.invisible?h.jsx(Jen,{onClick:()=>{at(Ve)},style:{fontSize:"16px"},title:q("projectPanel.DesignNotShownInSolutionSpaceClickToShow",ae)}):h.jsx(Yge,{onClick:()=>{at(Ve)},style:{fontSize:"16px"},title:q("projectPanel.DesignShownInSolutionSpaceClickToHide",ae)})]})]})}}),h.jsxs(ZLo,{children:[h.jsx("span",{style:{paddingLeft:"20px"},children:q("projectPanel.SolutionSpace",ae)}),h.jsxs("span",{children:[s===Tr.SOLAR_PANEL_ARRAY&&h.jsx(gl,{title:q("projectPanel.ChooseSolutionSpace",ae),onOpenChange:Ve=>{B.current&&(Ve||ht.getState().set(ut=>{ut.updateProjectsFlag=!0}),B.current=!1)},content:mt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Ven,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.ChooseDataColoring",ae),content:Pt(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(Nen,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(gl,{title:q("projectPanel.GenerateScatterPlot",ae),content:st(),children:h.jsx(no,{style:{border:"none",paddingRight:0,background:"white"},children:h.jsx(NFt,{style:{fontSize:"24px",color:"gray"}})})}),h.jsx(no,{style:{border:"none",paddingRight:"20px",background:"white"},onClick:()=>{const Ve=document.getElementById("design-space");Ve&&jhe.saveSvgAsPng(Ve,"design-space-"+r+".png").then(()=>{hn(q("message.ScreenshotSaved",ae))})},children:h.jsx(_u,{style:{fontSize:"24px",color:"gray"},title:q("projectPanel.SolutionSpaceScreenshot",ae)})})]})]}),h.jsx(GLo,{id:"design-space",width:t*window.innerWidth,height:he/2-120,data:ye,types:ze,minima:Ae,maxima:me,filters:De,steps:Ne,variables:de,titles:Se,units:Ce,digits:ve,tickIntegers:Ie,hover:ct,hoveredIndex:l&&x?l.indexOf(x):-1,selectedIndex:l&&y?l.indexOf(y):-1})]})]})})}),nWo=new Gt,I4=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(Ei,{name:e,args:[r,r,r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},QO=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr);return h.jsx(ts,{name:e,args:[r],position:[n,o,i],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),children:h.jsx("meshStandardMaterial",{color:a})})},DEe=({args:t,handleType:e})=>{const[n,o,i,r]=t,[a,l]=m.useState(pr),s=m.useMemo(()=>h.jsx("meshStandardMaterial",{color:a}),[a]);return h.jsxs("group",{name:e,position:[n,o,i],rotation:[Vt,0,0],onPointerOver:()=>l(nr),onPointerOut:()=>l(pr),scale:r*4,children:[h.jsxs("group",{children:[h.jsx(B1e,{args:[.15,.05,6,8,3/2*Math.PI],rotation:[Vt,0,Vt],children:s}),h.jsx(cu,{args:[.1,.1,6],rotation:[Vt,0,0],position:[.15,0,.05],children:s}),h.jsx(KC,{args:[.05,6],rotation:[0,Vt,0],position:[0,0,.15],children:s})]}),h.jsx(sa,{name:e,args:[.35,.35],position:[0,.05,0],rotation:[-Vt,0,0],visible:!1})]})},oWo=be.memo(({groupedElementsIdSet:t,childCuboidSet:e,initialPosition:n,initialDimension:o,initialRotation:i})=>{const[r,a,l]=n,[s,c,u]=o,d=s===0?1:c/s,f=t.size>1||e.size>0,p=m.useRef(null),g=m.useRef(new re),A=m.useRef(new Qt),w=m.useRef(new Gt),b=m.useRef(new Map),C=m.useRef(new Map),P=m.useRef(new Map),v=m.useRef(new Map),T=m.useRef(new Map),y=m.useRef(new Map),S=m.useRef(new Map),x=m.useRef(new Map),R=m.useRef(new re),H=m.useRef(!1),D=m.useRef(new Map),k=m.useRef(new Map),W=m.useRef(new Map),N=m.useRef(new Map),L=m.useRef(new Map),[E,U]=m.useState(new re(r,a,l)),[F,B]=m.useState(i),[_,Y]=m.useState(s/2),[O,J]=m.useState(c/2),[Z,ie]=m.useState(u),[ee,q]=m.useState(!1),[ae,ne]=m.useState("Null"),{get:se}=Xi(),le=m.useMemo(()=>new Gs,[]),te=m.useMemo(()=>new Gt,[]),he=M(hu),pe=M(Vn),fe=M(nge),$=M(dn),de=M(En);m.useEffect(()=>{ie(u)},[u]),m.useEffect(()=>{U(new re(r,a,l)),Ce(s,c),B(i)},[n,o,i]);const Se=Qe=>{te.x=Qe.offsetX/se().gl.domElement.clientWidth*2-1,te.y=-(Qe.offsetY/se().gl.domElement.clientHeight)*2+1,le.setFromCamera(te,se().camera)},Ce=(Qe,ct)=>{Y(Qe/2),J(ct/2)},ve=Qe=>{q(!0),Ln.getState().setEnableOrbitController(!1),H.current=!0,g.current.set(0,0,0),A.current.set(0,0,0),me(yo.Default),Qe.stopPropagation()},Ie=(Qe,ct,ft)=>{$(at=>{for(const ot of at.elements)if(hd(ot)&&Qe.has(ot.id))[ot.cx,ot.cy,ot.lx,ot.ly]=Qe.get(ot.id);else if(Qe.has(ot.parentId))switch(ot.type){case z.Wall:{const et=ct.get(ot.id);if(!et)continue;const Oe=ot,nt=et.slice(0,3),mt=et.slice(3);Oe.cx=(nt[0]+mt[0])/2,Oe.cy=(nt[1]+mt[1])/2,Oe.lx=Math.hypot(nt[0]-mt[0]+(nt[1]-mt[1])),Oe.relativeAngle=Math.atan2(mt[1]-nt[1],mt[0]-nt[0]),Oe.leftPoint=[...nt],Oe.rightPoint=[...mt];break}case z.Window:{const et=ot;if(et.parentType!==z.Roof)continue;const Oe=ft.get(ot.id);if(!Oe)continue;[et.cx,et.cy]=Oe;break}}at.groupActionUpdateFlag=!at.groupActionUpdateFlag,at.updateElementOnRoofFlag=!0})},ze=(Qe,ct)=>{$(ft=>{for(const at of ft.elements){if(Qe.has(at.id)){const ot=Qe.get(at.id);ot!==void 0&&(at.type===z.Roof?at.rise=ot:at.lz=ot)}if(at.type===z.Wall&&ct.has(at.id)){const ot=at,et=ct.get(ot.id);et&&(ot.leftTopPartialHeight=et.upperLeft,ot.rightTopPartialHeight=et.upperRight,ot.leftUnfilledHeight=et.lowerLeft,ot.rightUnfilledHeight=et.lowerRight)}}ft.groupActionUpdateFlag=!ft.groupActionUpdateFlag,ft.updateElementOnRoofFlag=!0})},ye=Qe=>{$(ct=>{for(const ft of ct.elements)if(Qe.has(ft.id)){const at=Qe.get(ft.id);at&&(ft.cx=at[0],ft.cy=at[1],ft.cz=at[2],ft.rotation[2]=at[3])}ct.groupActionUpdateFlag=!ct.groupActionUpdateFlag})},oe=()=>{const Qe=new Map;for(const at of M.getState().elements)(hd(at)&&t.has(at.id)||t.has(at.parentId))&&Qe.set(at.id,[at.cx,at.cy,at.cz,at.rotation[2]]);const ft={name:`${ae==="Move"?"Move":"Rotate"} Foundation Group`,timestamp:Date.now(),oldPositionMap:new Map(D.current),newPositionMap:new Map(Qe),undo:()=>{ye(ft.oldPositionMap)},redo:()=>{ye(ft.newPositionMap)}};de(ft)},ge=()=>{const Qe=new Map,ct=new Map,ft=new Map;for(const ot of M.getState().elements)if(hd(ot)&&D.current.has(ot.id))Qe.set(ot.id,[ot.cx,ot.cy,ot.lx,ot.ly]);else if(k.current.has(ot.id)){const et=ot;ct.set(ot.id,[...et.leftPoint,...et.rightPoint])}else if(L.current.has(ot.id)){const et=ot;if(et.parentType!==z.Roof)continue;ft.set(et.id,[et.cx,et.cy])}const at={name:"Resize Building XY",timestamp:Date.now(),oldFoundationDataMap:new Map(D.current),newFoundationDataMap:new Map(Qe),oldWallPointsMap:new Map(k.current),newWallPointsMap:new Map(ct),oldSkylightPosMap:new Map(L.current),newSkylightPosMap:new Map(ft),undo:()=>{Ie(at.oldFoundationDataMap,at.oldWallPointsMap,at.oldSkylightPosMap)},redo:()=>{Ie(at.newFoundationDataMap,at.newWallPointsMap,at.newSkylightPosMap)}};de(at)},Ae=()=>{const Qe=new Map,ct=new Map;for(const at of M.getState().elements)if(W.current.has(at.id)&&(at.type===z.Roof?Qe.set(at.id,at.rise):Qe.set(at.id,at.lz)),at.type===z.Wall&&N.current.has(at.id)){const ot=at;ct.set(ot.id,{lowerLeft:ot.leftUnfilledHeight,lowerRight:ot.rightUnfilledHeight,upperLeft:ot.leftTopPartialHeight,upperRight:ot.rightTopPartialHeight})}const ft={name:"Resize Building Z",timestamp:Date.now(),oldElementHeightMap:new Map(W.current),newElementHeightMap:new Map(Qe),oldPartialWallHeightMap:new Map(N.current),newPartialWallHeightMap:new Map(ct),undo:()=>{ze(ft.oldElementHeightMap,ft.oldPartialWallHeightMap)},redo:()=>{ze(ft.newElementHeightMap,ft.newPartialWallHeightMap)}};de(ft)},me=Qe=>{$(ct=>{ct.moveHandleType=Qe})},Pe=Qe=>{const ct=new Gt(Qe.x,Qe.y),ft=w.current.clone();if(f){const at=new Gt().subVectors(ct,ft),ot=Math.max(1,at.length()),et=Math.sqrt(Math.pow(ot,2)/(Math.pow(d,2)+1)),Oe=et*d,nt=new Gt(et*Math.sign(at.x),Oe*Math.sign(at.y)).normalize().multiplyScalar(ot/2).add(ft);U(new re(nt.x,nt.y)),Ce(et,Oe),$(mt=>{const Tt=new Map;for(const Rt of mt.elements)if(hd(Rt)&&(t.has(Rt.id)||e.has(Rt.id))){const Wt=S.current.get(Rt.id),Ct=x.current.get(Rt.id);if(Wt&&Ct){const wt=Ct[0]*et,kt=Ct[1]*Oe;if(Rt.lx=wt,Rt.ly=kt,Rt.parentId!==Zo){const qe=Tt.get(Rt.parentId);if(qe){const{pos:Je,rot:st}=qe,Pt=new re(Wt[0]*et+nt.x,Wt[1]*Oe+nt.y),Ue=Pt.clone().sub(Je).applyEuler(new Qt(0,0,-st));Rt.cx=Ue.x,Rt.cy=Ue.y,Tt.set(Rt.id,{pos:Pt.clone(),rot:Rt.rotation[2]+st})}}else{const qe=Wt[0]*et+nt.x,Je=Wt[1]*Oe+nt.y;Rt.cx=qe,Rt.cy=Je,Tt.set(Rt.id,{pos:new re(qe,Je),rot:Rt.rotation[2]})}for(const qe of mt.elements)if(qe.foundationId===Rt.id)switch(qe.type){case z.Wall:{const Je=qe,st=C.current.get(Je.id);if(!st)continue;const[Pt,Ue]=st,lt=[Pt.x*wt,Pt.y*kt,Rt.lz],Ve=[Ue.x*wt,Ue.y*kt,Rt.lz];Je.cx=(lt[0]+Ve[0])/2,Je.cy=(lt[1]+Ve[1])/2,Je.lx=Math.hypot(lt[0]-Ve[0]+(lt[1]-Ve[1])),Je.relativeAngle=Math.atan2(Ve[1]-lt[1],Ve[0]-lt[0]),Je.leftPoint=[...lt],Je.rightPoint=[...Ve];break}case z.Window:{const Je=qe;if(Je.parentType!==z.Roof)continue;const st=v.current.get(Je.id);if(!st)continue;Je.cx=st[0]*wt,Je.cy=st[1]*kt;break}}}}})}else{const at=ft.distanceTo(ct),ot=Math.atan2(ct.x-ft.x,ct.y-ft.y)+F,et=Math.abs(at*Math.sin(ot)),Oe=Math.abs(at*Math.cos(ot)),nt=new Gt().addVectors(ct,ft).multiplyScalar(.5);U(new re(nt.x,nt.y)),Ce(et,Oe),$(mt=>{for(const Tt of mt.elements)if(t.has(Tt.id))Tt.lx=et,Tt.ly=Oe,Tt.cx=nt.x,Tt.cy=nt.y;else if(Tt.foundationId&&t.has(Tt.foundationId))switch(Tt.type){case z.Wall:{const Rt=Tt,Wt=C.current.get(Rt.id);if(!Wt)continue;const[Ct,wt]=Wt,kt=[Ct.x*et,Ct.y*Oe,0],qe=[wt.x*et,wt.y*Oe,0];Rt.cx=(kt[0]+qe[0])/2,Rt.cy=(kt[1]+qe[1])/2,Rt.lx=Math.hypot(kt[0]-qe[0],kt[1]-qe[1]),Rt.relativeAngle=Math.atan2(qe[1]-kt[1],qe[0]-kt[0]),Rt.leftPoint=[...kt],Rt.rightPoint=[...qe];break}case z.Window:{const Rt=Tt;if(Rt.parentType!==z.Roof)continue;const Wt=v.current.get(Rt.id);if(!Wt)continue;Rt.cx=Wt[0]*et,Rt.cy=Wt[1]*Oe}}})}M.getState().updateElementOnRoofFn()},Me=Qe=>{if(Qe.z<.1)return;const ct=Qe.z;ie(ct),$(ft=>{for(const at of ft.elements)if(b.current.has(at.id)){if(at.type===z.Wall){at.lz=ct*b.current.get(at.id);const ot=at;if(ot.fill===Hl.Partial){const et=P.current.get(ot.id);et&&(ot.leftTopPartialHeight=ct*et.upperLeft,ot.rightTopPartialHeight=ct*et.upperRight,ot.leftUnfilledHeight=ct*et.lowerLeft,ot.rightUnfilledHeight=ct*et.lowerRight)}}else if(at.type===z.Roof)at.rise=ct*b.current.get(at.id);else if(at.type===z.Cuboid){const ot=b.current.get(at.id);if(ot){const et=ot*ct;at.lz=et,at.cz=et/2}}}ft.updateElementOnRoofFlag=!0})},Te=Qe=>{const ct=new re(E.x,E.y),ft=Math.atan2(ct.x-Qe.x,Qe.y-ct.y)+(ae==="Rotate Upper"?0:Math.PI),at=Math.abs(ft)>Math.PI?-na:0,ot=ft+at,et=new Qt(0,0,ot),Oe=y.current.size;$(nt=>{for(const mt of nt.elements){if(hd(mt)&&t.has(mt.id)&&!e.has(mt.id)){const Tt=T.current.get(mt.id),Rt=Oe!==1?y.current.get(mt.id):0;if(Tt&&Rt!==void 0){const Wt=Tt.clone().applyEuler(et);mt.cx=ct.x+Wt.x,mt.cy=ct.y+Wt.y,mt.rotation=[0,0,Rt+ot]}}if(mt.type!==z.Cuboid&&t.has(mt.parentId)){const Tt=Oe!==1?y.current.get(mt.parentId):0;Tt!==void 0&&(mt.rotation=[0,0,Tt+ot])}}}),B(ot)},De=(Qe,ct)=>{const ft=new Gt(E.x,E.y);w.current.set(Qe,ct).rotateAround(nWo,F).add(ft),ne("Resize XY"),S.current.clear(),x.current.clear(),C.current.clear(),D.current.clear(),k.current.clear(),v.current.clear(),L.current.clear();const[at,ot]=[_*2,O*2];for(const et of M.getState().elements)if(hd(et)&&(t.has(et.id)||e.has(et.id))){const{pos:Oe}=xe.getWorldDataById(et.id);S.current.set(et.id,[(Oe.x-E.x)/at,(Oe.y-E.y)/ot]),x.current.set(et.id,[et.lx/at,et.ly/ot]),D.current.set(et.id,[et.cx,et.cy,et.lx,et.ly])}else if(et.foundationId&&t.has(et.foundationId)){const Oe=pe(et.foundationId);if(!Oe)continue;switch(et.type){case z.Wall:{const nt=et,mt=new Gt(nt.leftPoint[0]/Oe.lx,nt.leftPoint[1]/Oe.ly),Tt=new Gt(nt.rightPoint[0]/Oe.lx,nt.rightPoint[1]/Oe.ly);C.current.set(nt.id,[mt,Tt]),k.current.set(nt.id,[...nt.leftPoint,...nt.rightPoint]);break}case z.Window:{const nt=et;if(nt.parentType!==z.Roof)continue;v.current.set(nt.id,[nt.cx/Oe.lx,nt.cy/Oe.ly]),L.current.set(nt.id,[nt.cx,nt.cy]);break}}}},Ne=(Qe,ct,ft)=>{const{x:at,y:ot}=fe();g.current.set(Qe,ct,ft),A.current.set(-Vt,0,-Math.atan2(at,ot)-F,"ZXY"),ne("Resize Z"),b.current.clear(),W.current.clear(),P.current.clear(),N.current.clear();for(const et of M.getState().elements)if(et.foundationId&&t.has(et.foundationId))if(et.type===z.Wall){b.current.set(et.id,et.lz/Z),W.current.set(et.id,et.lz);const Oe=et;Oe.fill===Hl.Partial&&(N.current.set(Oe.id,{upperLeft:Oe.leftTopPartialHeight,upperRight:Oe.rightTopPartialHeight,lowerLeft:Oe.leftUnfilledHeight,lowerRight:Oe.rightUnfilledHeight}),P.current.set(Oe.id,{upperLeft:Oe.leftTopPartialHeight/Z,upperRight:Oe.rightTopPartialHeight/Z,lowerLeft:Oe.leftUnfilledHeight/Z,lowerRight:Oe.rightUnfilledHeight/Z}))}else et.type===z.Roof&&(b.current.set(et.id,et.rise/Z),W.current.set(et.id,et.rise));else(t.has(et.id)||e.has(et.id))&&(b.current.set(et.id,et.lz/Z),W.current.set(et.id,et.lz))},Ye=Qe=>{switch(ve(Qe),Qe.object.name){case gt.UpperLeft:{De(_,-O);break}case gt.UpperRight:{De(-_,-O);break}case gt.LowerLeft:{De(_,O);break}case gt.LowerRight:{De(-_,O);break}case gt.UpperLeftTop:{Ne(-_,O,Z);break}case gt.UpperRightTop:{Ne(_,O,Z);break}case gt.LowerLeftTop:{Ne(-_,-O,Z);break}case gt.LowerRightTop:{Ne(_,-O,Z);break}}},Le=Qe=>{if(ve(Qe),ne("Move"),Qe.intersections.length>0){const ct=Qe.intersections[0].point.clone().setZ(0);R.current.subVectors(E,ct);for(const ft of M.getState().elements)if(hd(ft)&&t.has(ft.id)){const at=new re(ft.cx,ft.cy),ot=new re().subVectors(at,ct);T.current.set(ft.id,ot),D.current.set(ft.id,[ft.cx,ft.cy,ft.cz,ft.rotation[2]])}}},$e=Qe=>{if(ve(Qe),Qe.object.name===wi.Lower?ne("Rotate Lower"):Qe.object.name===wi.Upper&&ne("Rotate Upper"),Qe.intersections.length>0){const ct=new re(E.x,E.y);for(const ft of M.getState().elements){if(hd(ft)&&t.has(ft.id)){const at=new re(ft.cx,ft.cy),ot=new re().subVectors(at,ct);T.current.set(ft.id,ot),y.current.set(ft.id,ft.rotation[2]),D.current.set(ft.id,[ft.cx,ft.cy,ft.cz,ft.rotation[2]])}t.has(ft.parentId)&&D.current.set(ft.id,[ft.cx,ft.cy,ft.cz,ft.rotation[2]])}}},We=()=>{switch(ae){case"Move":case"Rotate Lower":case"Rotate Upper":oe();break;case"Resize XY":ge();break;case"Resize Z":Ae();break}q(!1),Ln.getState().setEnableOrbitController(!0),H.current=!1,ne("Null"),me(null),$(Qe=>{Qe.groupActionUpdateFlag=!Qe.groupActionUpdateFlag,Qe.updateWallMapOnFoundationFlag=!Qe.updateWallMapOnFoundationFlag,Qe.updateElementOnRoofFlag=!0})},Ee=Qe=>{if(!p.current||!H.current)return;Se(Qe);const ct=le.intersectObjects([p.current]);if(ct.length>0){const ft=ct[0].point;switch(ae){case"Resize XY":Pe(ft);break;case"Resize Z":Me(ft);break;case"Rotate Lower":case"Rotate Upper":Te(ft);break;case"Move":U(new re().addVectors(ft.clone().setZ(0),R.current)),$(at=>{for(const ot of at.elements)if(hd(ot)&&t.has(ot.id)&&!e.has(ot.id)){const et=T.current.get(ot.id);et&&(ot.cx=ft.x+et.x,ot.cy=ft.y+et.y)}});break}}},Fe=UH(),Ge=Fe/2,rt=Z+Ge-Fe/2,_e=_+Fe,xt=O+Fe,dt=O+Fe*4;return h.jsxs("group",{name:"Group Master",position:E,rotation:[0,0,F],children:[h.jsxs("group",{name:"Resize Handle Group",onPointerDown:Ye,children:[h.jsx(I4,{args:[_,O,Ge,Fe],handleType:gt.UpperRight}),h.jsx(I4,{args:[-_,O,Ge,Fe],handleType:gt.UpperLeft}),h.jsx(I4,{args:[_,-O,Ge,Fe],handleType:gt.LowerRight}),h.jsx(I4,{args:[-_,-O,Ge,Fe],handleType:gt.LowerLeft}),!he&&h.jsxs(h.Fragment,{children:[h.jsx(I4,{args:[_,O,rt,Fe],handleType:gt.UpperRightTop}),h.jsx(I4,{args:[-_,O,rt,Fe],handleType:gt.UpperLeftTop}),h.jsx(I4,{args:[_,-O,rt,Fe],handleType:gt.LowerRightTop}),h.jsx(I4,{args:[-_,-O,rt,Fe],handleType:gt.LowerLeftTop})]})]}),h.jsxs("group",{name:"Move Handle Group",onPointerDown:Le,children:[h.jsx(QO,{args:[0,xt,Ge,Fe],handleType:yo.Upper}),h.jsx(QO,{args:[0,-xt,Ge,Fe],handleType:yo.Lower}),h.jsx(QO,{args:[_e,0,Ge,Fe],handleType:yo.Right}),h.jsx(QO,{args:[-_e,0,Ge,Fe],handleType:yo.Left})]}),h.jsxs("group",{name:"Rotate Handle Group",onPointerDown:$e,children:[h.jsx(DEe,{args:[0,dt,Ge,Fe],handleType:wi.Upper}),h.jsx(DEe,{args:[0,-dt,Ge,Fe],handleType:wi.Lower})]}),ee&&h.jsx(sa,{name:"Intersection Plane",ref:p,args:[Math.max(_*2.4,1e3),Math.max(_*2.4,1e3)],visible:!1,position:g.current,rotation:A.current,onPointerMove:Ee,onPointerUp:We}),h.jsx("group",{name:"Wireframe Group",position:[0,0,Z/2],children:h.jsx(s7,{hx:_,hy:O,hz:Z/2,lineColor:"white"})})]})}),iWo=t=>t.parentId===Zo&&(t.type===z.Foundation||t.type===z.Cuboid),rWo=be.memo(()=>{M(B8t);const t=M(uwt),e=d();if(e.length===0)return null;const{allBaseElements:n,allBaseElementsVerticesMap:o,cuboidParentIdMap:i}=f(),r=new Set(e.map(w=>w.id)),a=[...e];for(const w of e)w.enableGroupMaster&&p(w);const{position:l,dimension:s,rotation:c,childCuboidIdSet:u}=g();function d(){const w=new Set;for(const b of M.getState().elements)t.has(b.id)&&(b.parentId===Zo&&hd(b)?w.add(b.id):b.foundationId&&w.add(b.foundationId));return w.size===0?[]:M.getState().elements.filter(b=>w.has(b.id))}function f(){const w=[],b=new Map,C=new Map;for(const P of M.getState().elements){if(iWo(P)){const v=xe.fetchFoundationVertexCoordinates(P);w.push(P),b.set(P.id,v)}P.type===z.Cuboid&&P.parentId!==Zo&&C.set(P.id,P.parentId)}return{allBaseElements:w,allBaseElementsVerticesMap:b,cuboidParentIdMap:C}}function p(w){for(const b of n)!r.has(b.id)&&xe.areBasesOverlapped(w.id,b.id,o)&&(r.add(b.id),a.push(b),b.enableGroupMaster&&p(b))}function g(){const w=a.map(R=>xe.fetchFoundationVertexCoordinates(R)).flat(),b=new Set,C=xe.calculatePolygonBounds(w);let P=1,v=1;const T=new Map;for(const R of M.getState().elements)if(R.foundationId&&r.has(R.foundationId))if(R.type===z.Wall){const H=R;P=Math.max(P,H.lz),H.roofId&&(T.get(H.roofId)??0)M(fYe)?h.jsx(rWo,{}):null),lWo=be.memo(({showGallery:t,defaultSize:e=50,minWidth:n=25,maxWidth:o=75,children:i,wait:r=50,onChange:a})=>{const[l,s]=i,c=m.useRef(!1),u=p=>{const g=document.querySelector(".split-pane");g&&g.style.setProperty("--percentWidth",p+"%")},d=()=>{c.current=!0},f=m.useCallback(M2.throttle(p=>{if(!c.current)return;const g=Math.max(n,Math.min(o,p.clientX/window.innerWidth*100));u(g),a&&a(g)},r),[]);return m.useEffect(()=>{u(e)},[e]),m.useEffect(()=>{const p=()=>{c.current=!1};return window.addEventListener("pointerup",p),()=>window.removeEventListener("pointerup",p)},[]),m.useEffect(()=>{u(t?e:0)},[t,e]),h.jsxs("div",{className:"split-pane",onPointerMove:f,children:[h.jsx("div",{className:"left-child",children:l}),t&&h.jsx("div",{className:"sash",onPointerDown:d}),h.jsx("div",{className:"right-child",children:s})]})},(t,e)=>t.showGallery===e.showGallery&&t.onChange===e.onChange),EEe=be.memo(({viewOnly:t=!1})=>{const e=M(o1),n=M(ha),o=M(dn),i=ht(BBe),r=M(hu)??!1,a=M(pq)??kk,l=M(yH),s=M(Hq),c=M(Y1e),u=M(pBe),d=M(sA),f=M(aAt)??"roadmap",p=ht(Aq),g=M(wH),A=M(pA),[w,b]=m.useState(!0),[C,P]=m.useState(50),v=m.useRef(null),T=Kt();m.useEffect(()=>{b(!1)},[]),m.useEffect(()=>{o(R=>{var H;R.loggable=e&&e.uid?!((H=e.email)!=null&&H.endsWith("@intofuture.org")):!1,e&&(e.noLogging||!e.schoolID||e.schoolID==="UNKNOWN SCHOOL"||!e.classID||e.classID==="UNKNOWN CLASS")&&(R.loggable=!1)})},[e]),console.log("x");const y=e.uid&&new URLSearchParams(window.location.search).get("userid")===e.uid,S=()=>h.jsxs(G9t,{ref:v,shadows:!0,gl:{preserveDrawingBuffer:!0,logarithmicDepthBuffer:!0},frameloop:"demand",style:{height:"100%",width:"100%",backgroundColor:"black"},camera:{fov:QNe,far:a,up:[0,0,1]},children:[h.jsx(s9o,{}),h.jsx(b2o,{}),h.jsx(h2o,{}),h.jsx(Ren,{}),h.jsx(g2o,{}),h.jsxs(m.Suspense,{fallback:null,children:[h.jsx(Pen,{}),h.jsx(aWo,{})]}),h.jsxs(m.Suspense,{fallback:null,children:[c&&h.jsx(sZt,{}),h.jsx(lZt,{theme:u}),h.jsx(zen,{}),d&&h.jsx(cOn,{})]}),h.jsx(x2o,{}),h.jsx(YLo,{}),g===Bs.GENETIC_ALGORITHM&&A.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(t9o,{}),g===Bs.GENETIC_ALGORITHM&&A.geneticAlgorithmParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(o9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&A.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_TILT_ANGLE&&h.jsx(r9o,{}),g===Bs.PARTICLE_SWARM_OPTIMIZATION&&A.particleSwarmOptimizationParams.problem===Tr.SOLAR_PANEL_ARRAY&&h.jsx(l9o,{})]}),x=m.useMemo(()=>new Gt,[]);return h.jsxs("div",{className:"App",style:{position:"relative",overflow:"hidden"},onContextMenu:R=>R.preventDefault(),children:[h.jsx(ben,{initializing:w}),h.jsxs("div",{style:{backgroundColor:"lightblue",height:"72px",paddingTop:"10px",textAlign:"start",userSelect:"none",fontSize:"30px"},children:[h.jsx("span",{style:{marginLeft:"120px",verticalAlign:"middle",cursor:"pointer",userSelect:"none"},title:j.t("tooltip.visitAladdinHomePage",T),onClick:Oqt,children:`${j.t("name.Aladdin",T)}`}),l&&!p&&h.jsxs("span",{style:{marginLeft:"20px",fontSize:"14px",verticalAlign:"center",userSelect:"text",color:y?"black":"gray"},children:[h.jsx("img",{title:j.t("toolbar.CloudFile",T),alt:"Cloud",src:v2o,height:32,width:32,style:{paddingRight:"8px"}}),l+(y&&i?" *":""),!t&&y&&i&&h.jsx(no,{type:"primary",size:"small",style:{marginLeft:"10px"},title:j.t("menu.file.SaveCloudFile",T),onClick:()=>{ht.getState().setSaveCloudFileFlag(!0),n&&o(R=>{R.actionInfo={name:"Save Cloud File",timestamp:new Date().getTime()}})},children:`${j.t("word.Save",T)}`})]})]}),t?h.jsxs("div",{style:{position:"absolute",bottom:"6px",left:"6px",zIndex:999,fontSize:"8px",userSelect:"none",color:d||s?f!=="roadmap"?"antiquewhite":"darkslategrey":"antiquewhite"},children:[h.jsx("img",{alt:"IFI Logo",src:ATe,height:"30px",style:{verticalAlign:"bottom",cursor:"pointer"},title:j.t("tooltip.gotoIFI",T),onClick:Jbe})," V "+nE]}):h.jsxs(h.Fragment,{children:[h.jsx("img",{alt:"IFI Logo",src:ATe,height:s?"24px":"40px",style:{position:"absolute",cursor:"pointer",bottom:"6px",left:"6px",zIndex:999,userSelect:"none"},title:j.t("tooltip.gotoIFI",T),onClick:Jbe}),h.jsxs("div",{style:{position:"absolute",bottom:"4px",left:s?"24px":"44px",zIndex:999,fontSize:"10px",userSelect:"none",color:d?f!=="roadmap"?"antiquewhite":"darkslategrey":s?"darkslategrey":"antiquewhite"},children:["   ©",new Date().getFullYear()," ",`${j.t("name.IFI",T)}`," ",j.t("word.VersionInitial",T)+nE+". "+j.t("word.AllRightsReserved",T)+". "]})]}),!t&&h.jsx(e9o,{size:16,round:!0,margin:"2px",style:{position:"absolute",right:"0",top:"80px"}}),h.jsx(qYn,{viewOnly:t,canvas:v.current}),h.jsx(Gpo,{viewOnly:t,canvas:v.current}),h.jsx(MLo,{}),h.jsx(Mfo,{children:h.jsxs("div",{style:{height:"calc(100vh - 72px)"},children:[h.jsxs(lWo,{showGallery:s,defaultSize:s?50:0,onChange:R=>{P(Math.round(100-R));const H=Ln.getState().canvas;if(H){const{gl:D,camera:k}=H,W=(100-R)*window.innerWidth/100;D.getSize(x),D.setSize(W,x.y),k instanceof Iu&&(k.aspect=W/x.y,k.updateProjectionMatrix(),Zh())}},children:[s?h.jsx(tWo,{canvas:v.current,relativeWidth:1-C*.01}):h.jsx(h.Fragment,{}),S()]}),h.jsx(w2o,{canvas:v.current})]})}),h.jsx(m2o,{visible:!r}),!t&&h.jsx(rOn,{}),!t&&n&&h.jsx(f2o,{})]})}),sWo=be.memo(({viewOnly:t=!1})=>{const e=M(dn),n=M(GBe),o=M(ege),i=M(XBe),r=ht(VBe),a=ht($4t),l=ht(Q4t),s=M(yH),c=ht(q4t),u=M(o1),d=M(Sc),[f,p]=m.useState(!1),[g,A]=m.useState(!1),[w,b]=m.useState({left:0,top:0,bottom:0,right:0}),C=m.useRef(null),{t:P}=jl(),v=m.useMemo(()=>({lng:d}),[d]);m.useEffect(()=>{a&&(T(),ht.getState().setCreateNewFileFlag(!1))},[a]),m.useEffect(()=>{l&&(y(),ht.getState().setOpenLocalFileFlag(!1))},[l]);const T=()=>{_r.confirm({title:`${P("message.DoYouWantToSaveChanges",v)}`,icon:h.jsx($m,{}),okText:`${P("word.Yes",v)}`,cancelText:`${P("word.No",v)}`,onOk:()=>{u.uid?s?(e(W=>{W.localContentToImportAfterCloudFileUpdate="CREATE_NEW_FILE"}),ht.getState().setSaveCloudFileFlag(!0)):e(W=>{W.showCloudFileTitleDialogFlag=!W.showCloudFileTitleDialogFlag,W.showCloudFileTitleDialog=!0}):hn(P("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>{i()}})},y=()=>{!t&&ht.getState().changed?_r.confirm({title:P("message.DoYouWantToSaveChanges",v),icon:h.jsx($m,{}),onOk:()=>{u.uid?s?S(!0):e(W=>{W.showCloudFileTitleDialogFlag=!W.showCloudFileTitleDialogFlag,W.showCloudFileTitleDialog=!0}):hn(P("menu.file.ToSaveYourWorkPleaseSignIn",v))},onCancel:()=>S(!1),okText:P("word.Yes",v),cancelText:P("word.No",v)}):S(!1)},S=W=>{document.body.onfocus=()=>{e(L=>{L.localFileDialogRequested=!1})};const N=document.getElementById("file-dialog");N.onchange=()=>{if(N.files&&N.files.length>0){ht.getState().set(U=>{U.waiting=!0});const L=new FileReader;L.readAsText(N.files[0]);const E=N.files[0].name;ht.getState().set(U=>{U.localFileName=E}),L.onload=()=>{if(L.result){const U=JSON.parse(L.result.toString());W?s&&(e(F=>{F.localContentToImportAfterCloudFileUpdate=U}),ht.getState().setSaveCloudFileFlag(!0)):o(U)}N.value=""}}},N.click()},x=()=>{let W=c.trim();if(W.length>0){W.endsWith(".ala")||(W+=".ala");const N=new Blob([JSON.stringify(n())],{type:"application/json"});return KKe.saveAs(N,W),ht.getState().set(L=>{L.localFileName=W}),e(L=>{L.cloudFile=void 0}),!0}else return Do(P("menu.file.SavingAbortedMustHaveValidFileName",v)+"."),!1},R=(W,N)=>{if(C.current){const{clientWidth:L,clientHeight:E}=window.document.documentElement,U=C.current.getBoundingClientRect();b({left:-U.left+N.x,right:L-(U.right-N.x),top:-U.top+N.y,bottom:E-((U==null?void 0:U.bottom)-N.y)})}},H=()=>{p(!0),x()&&ht.getState().set(W=>{W.saveLocalFileDialogVisible=!1}),p(!1)},D=()=>{ht.getState().set(W=>{W.saveLocalFileDialogVisible=!1})},k=()=>{s&&ht.getState().set(W=>{W.localFileName=s,W.localFileName.endsWith(".ala")||(W.localFileName+=".ala")})};return h.jsx(h.Fragment,{children:h.jsx(_r,{title:h.jsx("div",{style:{width:"100%",cursor:"move"},onMouseOver:()=>A(!0),onMouseOut:()=>A(!1),children:P("menu.file.SaveAsLocalFile",v)}),footer:s?[h.jsx(no,{onClick:k,children:P("menu.file.UseCloudFileName",v)},"Apply"),h.jsx(no,{onClick:D,children:P("word.Cancel",v)},"Cancel"),h.jsx(no,{type:"primary",onClick:H,disabled:!c,children:P("word.OK",v)},"OK")]:[h.jsx(no,{onClick:D,children:P("word.Cancel",v)},"Cancel"),h.jsx(no,{type:"primary",onClick:H,disabled:!c,children:P("word.OK",v)},"OK")],open:r,confirmLoading:f,onCancel:D,modalRender:W=>h.jsx(Vr,{disabled:!g,bounds:w,onStart:(N,L)=>R(N,L),children:h.jsx("div",{ref:C,children:W})}),children:h.jsx(ns,{placeholder:"File name",value:c,onPressEnter:H,onChange:W=>{ht.getState().set(N=>{N.localFileName=W.target.value})}})})})}),cWo=()=>{const t=M(H4t),e=M(w=>w.world),n=M(w=>w.elements),o=M(w=>w.viewState),i=M(w=>w.notes),r=ht(cs),a=ht(i3),l=ht(T4t),s=ht(P4t),c=M(y7t),u=M(A7t),d=M(v7t),f=M(R4t),p=new URLSearchParams(window.location.search),g=p.get("viewonly")==="true",A=p.get("map")==="true";return m.useEffect(()=>{c(),u(),d(),f(),ht.getState().set(w=>{w.openModelsMap=A,A&&(w.modelsMapFlag=!0,w.modelsMapWeatherStations=!1,w.leaderboardFlag=!0,w.showLeaderboard=!0)})},[]),m.useEffect(()=>{ht.getState().skipChange?s(!1):ht.getState().changed||l(!0)},[e,o,n,i]),m.useEffect(()=>{r&&ht.getState().set(w=>{w.showSolarRadiationHeatmap=!1}),a&&ht.getState().set(w=>{w.showHeatFluxes=!1})},[n]),h.jsx(ry,{locale:t,children:h.jsxs(qQt,{children:[g?h.jsx(EEe,{viewOnly:!0}):h.jsx(uWo,{children:h.jsx(EEe,{viewOnly:!1})}),h.jsx(sWo,{viewOnly:g})]})})},uWo=be.memo(({children:t})=>(["iir3sv1kW1Vzbj9sOA46RfLWKCU2"].find(n=>n===M.getState().user.uid),h.jsx(QQt,{onBeforeunload:()=>"",children:t}))),dWo=KFe(document.getElementById("root"));dWo.render(h.jsx(cWo,{}))});export default fWo(); diff --git a/assets/solar_radiation_horizontal-D4I5HnbU.csv b/assets/solar_radiation_horizontal-XbDP6xhD.csv similarity index 100% rename from assets/solar_radiation_horizontal-D4I5HnbU.csv rename to assets/solar_radiation_horizontal-XbDP6xhD.csv diff --git a/assets/solar_radiation_vertical-ChWgQAyS.csv b/assets/solar_radiation_vertical-CITm3vMC.csv similarity index 100% rename from assets/solar_radiation_vertical-ChWgQAyS.csv rename to assets/solar_radiation_vertical-CITm3vMC.csv diff --git a/index.html b/index.html index 50e6c9e30..86281c469 100644 --- a/index.html +++ b/index.html @@ -61,7 +61,7 @@ } Aladdin - +